From a487823496d97f04b41281eca11db9db282dcf7f Mon Sep 17 00:00:00 2001 From: M Starch Date: Thu, 20 Apr 2023 13:39:58 -0700 Subject: [PATCH 01/55] Update/streamlined int tests (#1974) * initial streamlining of integration tests * formatting * Adding CMD example component integration test * Run int tests from deployment area --- Ref/test/int/ref_integration_test.py | 571 +++++++++--------- .../test/int/test_cmd_dispatcher.py | 12 + ci/tests/fputil.bash | 2 +- 3 files changed, 282 insertions(+), 303 deletions(-) create mode 100644 Svc/CmdDispatcher/test/int/test_cmd_dispatcher.py diff --git a/Ref/test/int/ref_integration_test.py b/Ref/test/int/ref_integration_test.py index 472126eca6..6682fa2882 100644 --- a/Ref/test/int/ref_integration_test.py +++ b/Ref/test/int/ref_integration_test.py @@ -1,319 +1,286 @@ -import os -import platform +""" ref_integration_test.py: + +A set of integration tests to apply to the Ref app. This is intended to be a reference of integration testing. +""" import subprocess import time from enum import Enum +from pathlib import Path -from fprime_gds.common.pipeline.standard import StandardPipeline from fprime_gds.common.testing_fw import predicates -from fprime_gds.common.testing_fw.api import IntegrationTestAPI -from fprime_gds.common.utils.config_manager import ConfigManager from fprime_gds.common.utils.event_severity import EventSeverity -class TestRefAppClass(object): - @classmethod - def setup_class(cls): - try: - cls.pipeline = StandardPipeline() - config = ConfigManager() - filename = os.path.dirname(__file__) - path = os.path.join( - filename, - "../../build-artifacts/{}/dict/RefTopologyAppDictionary.xml".format( - platform.system() - ), - ) - logpath = os.path.join(filename, "./logs") - cls.pipeline.setup(config, path, "/tmp") - cls.api = IntegrationTestAPI(cls.pipeline, logpath) - cls.case_list = [] # TODO find a better way to do this. - cls.dictionary = path - cls.pipeline.connect("tcp://127.0.0.1:50050") - except Exception as exc: - print(f"[WARNING] Exception in setup: {exc}") - cls.teardown_class() - raise - - @classmethod - def teardown_class(cls): - try: - cls.api.teardown() - except Exception as exc: - print(f"[WARNING] Exception in API teardown: {exc}") - try: - cls.pipeline.disconnect() - except Exception as exc: - print(f"[WARNING] Exception in pipeline teardown: {exc}") - - def setup_method(self, method): - self.case_list.append(method.__name__) - self.api.start_test_case(method.__name__, len(self.case_list)) - - def test_is_streaming(self): - results = self.api.assert_telemetry_count(5, timeout=10) - for result in results: - msg = "received channel {} update: {}".format( - result.get_id(), result.get_str() - ) - print(msg) - self.api.assert_telemetry( - "sendBuffComp.SendState", value="SEND_IDLE", timeout=3 - ) +""" +This enum is includes the values of EventSeverity that can be filtered by the ActiveLogger Component +""" +FilterSeverity = Enum( + "FilterSeverity", + "WARNING_HI WARNING_LO COMMAND ACTIVITY_HI ACTIVITY_LO DIAGNOSTIC", +) - def assert_command(self, command, args=[], max_delay=None, timeout=5, events=None): - """ - This helper will send a command and verify that the command was dispatched and completed - within the F' deployment. This helper can retroactively check that the delay between - dispatch and completion is less than a maximum allowable delay. - - Args: - command: the mnemonic (str) or ID (int) of the command to send - args: a list of command arguments. - max_delay: the maximum allowable delay between dispatch and completion (int/float) - timeout: the number of seconds to wait before terminating the search (int) - Return: - returns a list of the EventData objects found by the search - """ - cmd_id = self.api.translate_command_name(command) - self.api.log( - "Starting assert_command helper for {}({})".format(command, cmd_id) - ) - dispatch = [self.api.get_event_pred("cmdDisp.OpCodeDispatched", [cmd_id, None])] - complete = [self.api.get_event_pred("cmdDisp.OpCodeCompleted", [cmd_id])] - events = dispatch + (events if events else []) + complete - results = self.api.send_and_assert_event(command, args, events, timeout=timeout) - if max_delay is not None: - delay = results[1].get_time() - results[0].get_time() - msg = "The delay, {}, between the two events should be < {}".format( - delay, max_delay - ) - assert delay < max_delay, msg - self.api.log("assert_command helper completed successfully") - return results +def test_is_streaming(fprime_test_api): + """Test flight software is streaming + + Tests that the flight software is streaming by looking for 5 telemetry items in 10 seconds. Additionally, + "sendBuffComp.SendState" is verified to be SEND_IDLE. """ - This enum is includes the values of EventSeverity that can be filtered by the ActiveLogger Component - """ - FilterSeverity = Enum( - "FilterSeverity", - "WARNING_HI WARNING_LO COMMAND ACTIVITY_HI ACTIVITY_LO DIAGNOSTIC", + results = fprime_test_api.assert_telemetry_count(5, timeout=10) + for result in results: + msg = "received channel {} update: {}".format(result.get_id(), result.get_str()) + print(msg) + fprime_test_api.assert_telemetry( + "sendBuffComp.SendState", value="SEND_IDLE", timeout=3 ) - def set_event_filter(self, severity, enabled): - """ - This helper will send a command that updates the given severity filter on the ActiveLogger - Component in the Ref App. - Args: - severity: A valid FilterSeverity Enum Value (str) or an instance of FilterSeverity - enabled: a boolean of whether or not to enable the given severity - Return: - boolean of whether the report filter was set successfully. - """ - enabled = "ENABLED" if enabled else "DISABLED" - if isinstance(severity, self.FilterSeverity): - severity = severity.name - else: - severity = self.FilterSeverity[severity].name - try: - self.api.send_command( - "eventLogger.SET_EVENT_FILTER", - [severity, enabled], - ) - return True - except AssertionError: - return False - - def set_default_filters(self): - """ - Sets the default send filters on the ref aps ActiveLogger - """ - self.set_event_filter("COMMAND", True) - self.set_event_filter("ACTIVITY_LO", True) - self.set_event_filter("ACTIVITY_HI", True) - self.set_event_filter("WARNING_LO", True) - self.set_event_filter("WARNING_HI", True) - self.set_event_filter("DIAGNOSTIC", False) - - def test_send_command(self): - self.assert_command("cmdDisp.CMD_NO_OP", max_delay=0.1) - assert self.api.get_command_test_history().size() == 1 - self.assert_command("cmdDisp.CMD_NO_OP", max_delay=0.1) - assert self.api.get_command_test_history().size() == 2 - - def test_send_command_args(self): - for count, value in enumerate(["Test String 1", "Some other string"], 1): - events = [self.api.get_event_pred("cmdDisp.NoOpStringReceived", [value])] - self.assert_command( - "cmdDisp.CMD_NO_OP_STRING", - [ - value, - ], - max_delay=0.1, - events=events, - ) - assert self.api.get_command_test_history().size() == count - - def test_send_and_assert_no_op(self): - length = 100 - failed = 0 - evr_seq = [ - "cmdDisp.OpCodeDispatched", - "cmdDisp.NoOpReceived", - "cmdDisp.OpCodeCompleted", - ] - any_reordered = False - dropped = False - for i in range(0, length): - results = self.api.send_and_await_event( - "cmdDisp.CMD_NO_OP", events=evr_seq, timeout=25 - ) - msg = "Send and assert NO_OP Trial #{}".format(i) - if not self.api.test_assert(len(results) == 3, msg, True): - items = self.api.get_event_test_history().retrieve() - last = None - reordered = False - for item in items: - if last is not None: - if item.get_time() < last.get_time(): - self.api.log( - "during iteration #{}, a reordered event was detected: {}".format( - i, item - ) - ) - any_reordered = True - reordered = True - break - last = item - if not reordered: - self.api.log( - "during iteration #{}, a dropped event was detected".format(i) - ) - dropped = True - failed += 1 - self.api.clear_histories() - - case = True - case &= self.api.test_assert( - not any_reordered, "Expected no events to be reordered.", True - ) - case &= self.api.test_assert( - not dropped, "Expected no events to be dropped.", True - ) - msg = "{} sequences failed out of {}".format(failed, length) - case &= self.api.test_assert(failed == 0, msg, True) - - assert ( - case - ), "Expected all checks to pass (reordering, dropped events, all passed). See log." - - def test_bd_cycles_ascending(self): - length = 60 - count_pred = predicates.greater_than(length - 1) - results = self.api.await_telemetry_count( - count_pred, "blockDrv.BD_Cycles", timeout=length + +def set_event_filter(fprime_test_api, severity, enabled): + """Send command to set event filter + + This helper will send a command that updates the given severity filter on the ActiveLogger + Component in the Ref App. + + Args: + fprime_test_api: test api to use + severity: A valid FilterSeverity Enum Value (str) or an instance of FilterSeverity + enabled: a boolean of whether or not to enable the given severity + + Return: + boolean of whether the report filter was set successfully. + """ + enabled = "ENABLED" if enabled else "DISABLED" + if isinstance(severity, FilterSeverity): + severity = severity.name + else: + severity = FilterSeverity[severity].name + try: + fprime_test_api.send_command( + "eventLogger.SET_EVENT_FILTER", + [severity, enabled], ) - last = None - reordered = False - ascending = True - for result in results: - if last is not None: - last_time = last.get_time() - result_time = result.get_time() - if result_time - last_time > 1.5: - msg = "FSW didn't send an update between {} and {}".format( - last_time.to_readable(), result_time.to_readable() - ) - self.api.log(msg) - elif result_time < last_time: - msg = "There is potential reorder error between {} and {}".format( - last_time, result_time - ) - self.api.log(msg) - reordered = True - - if not result.get_val() > last.get_val(): - msg = "Not all updates ascended: First ({}) Second ({})".format( - last.get_val(), result.get_val() - ) - self.api.log(msg) - ascending = False - - last = result - - case = True - case &= self.api.test_assert(ascending, "Expected all updates to ascend.", True) - case &= self.api.test_assert( - not reordered, "Expected no updates to be dropped.", True + return True + except AssertionError: + return False + + +def set_default_filters(fprime_test_api): + """Set the default (initial) event filters""" + set_event_filter(fprime_test_api, "COMMAND", True) + set_event_filter(fprime_test_api, "ACTIVITY_LO", True) + set_event_filter(fprime_test_api, "ACTIVITY_HI", True) + set_event_filter(fprime_test_api, "WARNING_LO", True) + set_event_filter(fprime_test_api, "WARNING_HI", True) + set_event_filter(fprime_test_api, "DIAGNOSTIC", False) + + +def test_send_command(fprime_test_api): + """Test that commands may be sent + + Tests command send, dispatch, and receipt using send_and_assert command with a pair of NO-OP commands. + """ + fprime_test_api.send_and_assert_command("cmdDisp.CMD_NO_OP", max_delay=0.1) + assert fprime_test_api.get_command_test_history().size() == 1 + fprime_test_api.send_and_assert_command("cmdDisp.CMD_NO_OP", max_delay=0.1) + assert fprime_test_api.get_command_test_history().size() == 2 + + +def test_send_command_args(fprime_test_api): + """Test that commands may be sent with arguments + + Tests command send, dispatch, and receipt using send_and_assert command with a pair of NO-OP string commands. + """ + for count, value in enumerate(["Test String 1", "Some other string"], 1): + events = [fprime_test_api.get_event_pred("cmdDisp.NoOpStringReceived", [value])] + fprime_test_api.send_and_assert_command( + "cmdDisp.CMD_NO_OP_STRING", + [ + value, + ], + max_delay=0.1, + events=events, ) - self.api.predicate_assert( - count_pred, - len(results) - 1, - "Expected >= {} updates".format(length - 1), - True, + assert fprime_test_api.get_command_test_history().size() == count + + +def test_send_and_assert_no_op(fprime_test_api): + """Test that commands may be sent in-order + + Tests command send, dispatch, and receipt using send_and_assert command with NO-OP commands. Repeats the series of + commands 100 times and looks for no re-ordering nor drops. + """ + length = 100 + failed = 0 + evr_seq = [ + "cmdDisp.OpCodeDispatched", + "cmdDisp.NoOpReceived", + "cmdDisp.OpCodeCompleted", + ] + any_reordered = False + dropped = False + for i in range(0, length): + results = fprime_test_api.send_and_await_event( + "cmdDisp.CMD_NO_OP", events=evr_seq, timeout=25 ) - self.api.assert_telemetry_count(0, "rateGroup1Comp.RgCycleSlips") - assert case, "Expected all checks to pass (ascending, reordering). See log." - - def test_active_logger_filter(self): - self.set_default_filters() - try: - cmd_events = self.api.get_event_pred(severity=EventSeverity.COMMAND) - actHI_events = self.api.get_event_pred(severity=EventSeverity.ACTIVITY_HI) - pred = predicates.greater_than(0) - zero = predicates.equal_to(0) - # Drain time for dispatch events - time.sleep(10) - - self.assert_command("cmdDisp.CMD_NO_OP") - self.assert_command("cmdDisp.CMD_NO_OP") - - time.sleep(0.5) - - self.api.assert_event_count(pred, cmd_events) - self.api.assert_event_count(pred, actHI_events) - - self.set_event_filter(self.FilterSeverity.COMMAND, False) - # Drain time for dispatch events - time.sleep(10) - self.api.clear_histories() - self.api.send_command("cmdDisp.CMD_NO_OP") - self.api.send_command("cmdDisp.CMD_NO_OP") - - time.sleep(0.5) - - self.api.assert_event_count(zero, cmd_events) - self.api.assert_event_count(pred, actHI_events) - finally: - self.set_default_filters() - - def test_signal_generation(self): - self.assert_command("SG4.SignalGen_Settings", [1, 5, 0, "SQUARE"]) - # First telemetry item should fill only the first slot of the history - history = [0, 0, 0, 5] - pair_history = [{"time": 0, "value": value} for value in history] - info = {"type": "SQUARE", "history": history, "pairHistory": pair_history} - self.assert_command("SG4.SignalGen_Toggle") - self.api.assert_telemetry("SG4.History", history, timeout=6) - self.api.assert_telemetry("SG4.PairHistory", pair_history, timeout=1) - self.api.assert_telemetry("SG4.Info", info, timeout=1) - self.assert_command("SG4.SignalGen_Toggle") - - def test_seqgen(self): - """Tests the seqgen code""" - sequence = os.path.join(os.path.dirname(__file__), "test_seq.seq") - assert ( - subprocess.run( - [ - "fprime-seqgen", - "-d", - self.dictionary, - sequence, - "/tmp/ref_test_int.bin", - ] - ).returncode - == 0 - ), "Failed to run fprime-seqgen" - self.assert_command( - "cmdSeq.CS_RUN", args=["/tmp/ref_test_int.bin", "BLOCK"], max_delay=5 + msg = "Send and assert NO_OP Trial #{}".format(i) + if not fprime_test_api.test_assert(len(results) == 3, msg, True): + items = fprime_test_api.get_event_test_history().retrieve() + last = None + reordered = False + for item in items: + if last is not None: + if item.get_time() < last.get_time(): + fprime_test_api.log( + "during iteration #{}, a reordered event was detected: {}".format( + i, item + ) + ) + any_reordered = True + reordered = True + break + last = item + if not reordered: + fprime_test_api.log( + "during iteration #{}, a dropped event was detected".format(i) + ) + dropped = True + failed += 1 + fprime_test_api.clear_histories() + + case = True + case &= fprime_test_api.test_assert( + not any_reordered, "Expected no events to be reordered.", True + ) + case &= fprime_test_api.test_assert( + not dropped, "Expected no events to be dropped.", True + ) + msg = "{} sequences failed out of {}".format(failed, length) + case &= fprime_test_api.test_assert(failed == 0, msg, True) + + assert ( + case + ), "Expected all checks to pass (reordering, dropped events, all passed). See log." + + +def test_bd_cycles_ascending(fprime_test_api): + """Test in-order block driver updates""" + length = 60 + count_pred = predicates.greater_than(length - 1) + results = fprime_test_api.await_telemetry_count( + count_pred, "blockDrv.BD_Cycles", timeout=length + ) + last = None + reordered = False + ascending = True + for result in results: + if last is not None: + last_time = last.get_time() + result_time = result.get_time() + if result_time - last_time > 1.5: + msg = "FSW didn't send an update between {} and {}".format( + last_time.to_readable(), result_time.to_readable() + ) + fprime_test_api.log(msg) + elif result_time < last_time: + msg = "There is potential reorder error between {} and {}".format( + last_time, result_time + ) + fprime_test_api.log(msg) + reordered = True + + if not result.get_val() > last.get_val(): + msg = "Not all updates ascended: First ({}) Second ({})".format( + last.get_val(), result.get_val() + ) + fprime_test_api.log(msg) + ascending = False + + last = result + + case = True + case &= fprime_test_api.test_assert( + ascending, "Expected all updates to ascend.", True + ) + case &= fprime_test_api.test_assert( + not reordered, "Expected no updates to be dropped.", True + ) + fprime_test_api.predicate_assert( + count_pred, + len(results) - 1, + "Expected >= {} updates".format(length - 1), + True, + ) + fprime_test_api.assert_telemetry_count(0, "rateGroup1Comp.RgCycleSlips") + assert case, "Expected all checks to pass (ascending, reordering). See log." + + +def test_active_logger_filter(fprime_test_api): + """Test active logger event filtering""" + set_default_filters(fprime_test_api) + try: + cmd_events = fprime_test_api.get_event_pred(severity=EventSeverity.COMMAND) + actHI_events = fprime_test_api.get_event_pred( + severity=EventSeverity.ACTIVITY_HI ) + pred = predicates.greater_than(0) + zero = predicates.equal_to(0) + # Drain time for dispatch events + time.sleep(10) + + fprime_test_api.send_and_assert_command("cmdDisp.CMD_NO_OP") + fprime_test_api.send_and_assert_command("cmdDisp.CMD_NO_OP") + + time.sleep(0.5) + + fprime_test_api.assert_event_count(pred, cmd_events) + fprime_test_api.assert_event_count(pred, actHI_events) + + set_event_filter(fprime_test_api, FilterSeverity.COMMAND, False) + # Drain time for dispatch events + time.sleep(10) + fprime_test_api.clear_histories() + fprime_test_api.send_command("cmdDisp.CMD_NO_OP") + fprime_test_api.send_command("cmdDisp.CMD_NO_OP") + + time.sleep(0.5) + + fprime_test_api.assert_event_count(zero, cmd_events) + fprime_test_api.assert_event_count(pred, actHI_events) + finally: + set_default_filters(fprime_test_api) + + +def test_signal_generation(fprime_test_api): + """Tests the behavior of signal gen component""" + fprime_test_api.send_and_assert_command( + "SG4.SignalGen_Settings", [1, 5, 0, "SQUARE"] + ) + # First telemetry item should fill only the first slot of the history + history = [0, 0, 0, 5] + pair_history = [{"time": 0, "value": value} for value in history] + info = {"type": "SQUARE", "history": history, "pairHistory": pair_history} + fprime_test_api.send_and_assert_command("SG4.SignalGen_Toggle") + fprime_test_api.assert_telemetry("SG4.History", history, timeout=6) + fprime_test_api.assert_telemetry("SG4.PairHistory", pair_history, timeout=1) + fprime_test_api.assert_telemetry("SG4.Info", info, timeout=1) + fprime_test_api.send_and_assert_command("SG4.SignalGen_Toggle") + + +def test_seqgen(fprime_test_api): + """Tests the seqgen can be dispatched (requires localhost testing)""" + sequence = Path(__file__).parent / "test_seq.seq" + assert ( + subprocess.run( + [ + "fprime-seqgen", + "-d", + str(fprime_test_api.pipeline.dictionary_path), + str(sequence), + "/tmp/ref_test_int.bin", + ] + ).returncode + == 0 + ), "Failed to run fprime-seqgen" + fprime_test_api.send_and_assert_command( + "cmdSeq.CS_RUN", args=["/tmp/ref_test_int.bin", "BLOCK"], max_delay=5 + ) diff --git a/Svc/CmdDispatcher/test/int/test_cmd_dispatcher.py b/Svc/CmdDispatcher/test/int/test_cmd_dispatcher.py new file mode 100644 index 0000000000..035f9fb9b4 --- /dev/null +++ b/Svc/CmdDispatcher/test/int/test_cmd_dispatcher.py @@ -0,0 +1,12 @@ +""" test_cmd_dispatcher.py: + +Test the command dispatcher with basic integration tests. +""" + + +def test_send_command(fprime_test_api): + """Test that commands may be sent + + Tests command send, dispatch, and receipt using send_and_assert command with a pair of NO-OP commands. + """ + fprime_test_api.send_and_assert_command("cmdDisp.CMD_NO_OP", max_delay=0.1) diff --git a/ci/tests/fputil.bash b/ci/tests/fputil.bash index 58afee3a4c..e0366ac831 100755 --- a/ci/tests/fputil.bash +++ b/ci/tests/fputil.bash @@ -95,7 +95,7 @@ function integration_test_run { ps -p ${VALGRIND_PID} 2> /dev/null 1> /dev/null || fail_and_stop "Failed to start ${BINARY} with Valgrind" # Run integration tests ( - cd "${WORKDIR}/test" + cd "${WORKDIR}" if [[ "${DICTIONARY_PATH}" != "" ]] then DICTIONARY_ARGS="--dictionary ${WORKDIR}/${DICTIONARY_PATH}" From 8f4ec6138d95bbad28aa50fe12e4e4c5744f9ebf Mon Sep 17 00:00:00 2001 From: Thibault <70470823+ThibFrgsGmz@users.noreply.github.com> Date: Sun, 23 Apr 2023 15:29:48 +1200 Subject: [PATCH 02/55] Remove unneeded f-string formatting (#1978) * (fix) rm useless f-string fmt * (feat) swap negation in if statement * (fix) rm unused imports --- RPI/test/int/rpi_integration_test.py | 5 ----- cmake/autocoder/ai-parser/ai_parser.py | 2 +- cmake/autocoder/fpp-locs-differ/fpp-locs-differ.py | 4 ++-- cmake/settings/ini-to-stdio.py | 2 +- cmake/test/src/test_feature.py | 4 ++-- cmake/test/src/test_ref_shared.py | 6 +++--- cmake/test/src/test_unittests.py | 6 +++--- 7 files changed, 12 insertions(+), 17 deletions(-) diff --git a/RPI/test/int/rpi_integration_test.py b/RPI/test/int/rpi_integration_test.py index 8ceb43148e..dec78dfe13 100644 --- a/RPI/test/int/rpi_integration_test.py +++ b/RPI/test/int/rpi_integration_test.py @@ -1,14 +1,9 @@ import os -import platform import subprocess -import sys import time from enum import Enum -from fprime_gds.common.pipeline.standard import StandardPipeline from fprime_gds.common.testing_fw import predicates -from fprime_gds.common.testing_fw.api import IntegrationTestAPI -from fprime_gds.common.utils.config_manager import ConfigManager from fprime_gds.common.utils.event_severity import EventSeverity diff --git a/cmake/autocoder/ai-parser/ai_parser.py b/cmake/autocoder/ai-parser/ai_parser.py index badfbdd50b..fe8c89e751 100755 --- a/cmake/autocoder/ai-parser/ai_parser.py +++ b/cmake/autocoder/ai-parser/ai_parser.py @@ -141,7 +141,7 @@ def print_fprime_dependencies(root, current_library, import_base): gcc_order.append(dep) # Find module dependencies, and anything else left over goes last for dep in dependencies: - if not dep in gcc_order: + if dep not in gcc_order: gcc_order.append(dep) # Write out CMake style list sys.stdout.write(";".join(gcc_order)) diff --git a/cmake/autocoder/fpp-locs-differ/fpp-locs-differ.py b/cmake/autocoder/fpp-locs-differ/fpp-locs-differ.py index 64984c4fb7..1a6569ec8f 100644 --- a/cmake/autocoder/fpp-locs-differ/fpp-locs-differ.py +++ b/cmake/autocoder/fpp-locs-differ/fpp-locs-differ.py @@ -3,7 +3,7 @@ import os import sys -from fprime_ac.utils.buildroot import build_root_relative_path, set_build_roots +from fprime_ac.utils.buildroot import set_build_roots def main(): @@ -23,7 +23,7 @@ def main(): sys.exit(1) # Previous files not generated if not os.path.exists(args_ns.prev_locs): - print(f"No pervious locations") + print("No pervious locations") sys.exit(1) with open(args_ns.prev_locs, "r") as prev_locs_fh: diff --git a/cmake/settings/ini-to-stdio.py b/cmake/settings/ini-to-stdio.py index 226b99e77d..ae8e2fb077 100644 --- a/cmake/settings/ini-to-stdio.py +++ b/cmake/settings/ini-to-stdio.py @@ -75,7 +75,7 @@ def main(): assert ( setting_value == ut_setting_value - ), f"CMake can only parse unittest independent settings" + ), "CMake can only parse unittest independent settings" output = loaded_settings[setting] handler(output) except KeyError as key_error: diff --git a/cmake/test/src/test_feature.py b/cmake/test/src/test_feature.py index fb700f0c1e..abd3363547 100644 --- a/cmake/test/src/test_feature.py +++ b/cmake/test/src/test_feature.py @@ -59,7 +59,7 @@ def test_feature_library(FEATURE_BUILD): def test_feature_deployment(FEATURE_BUILD): """Feature build check deployment properly detected""" cmake.assert_process_success(FEATURE_BUILD) - library_name = f"TestDeployment" + library_name = "TestDeployment" output_path = FEATURE_BUILD["build"] / "bin" / platform.system() / library_name assert output_path.exists(), f"Failed to locate {library_name} in build output" @@ -104,4 +104,4 @@ def test_feature_installation(FEATURE_BUILD): output_path = ( FEATURE_BUILD["install"] / platform.system() / "bin" / "TestDeployment" ) - assert output_path.exists(), f"Failed to locate TestDeployment in build output" + assert output_path.exists(), "Failed to locate TestDeployment in build output" diff --git a/cmake/test/src/test_ref_shared.py b/cmake/test/src/test_ref_shared.py index ab7a8357d6..97f401c808 100644 --- a/cmake/test/src/test_ref_shared.py +++ b/cmake/test/src/test_ref_shared.py @@ -36,7 +36,7 @@ def test_ref_targets(REF_BUILD): output_path = REF_BUILD["build"] / "lib" / platform.system() / library_name assert output_path.exists(), f"Failed to locate {library_name} in build output" output_path = REF_BUILD["build"] / "bin" / platform.system() / "Ref" - assert output_path.exists(), f"Failed to locate Ref in build output" + assert output_path.exists(), "Failed to locate Ref in build output" def test_ref_installation(REF_BUILD): @@ -49,7 +49,7 @@ def test_ref_installation(REF_BUILD): output_path = REF_BUILD["install"] / platform.system() / "lib" / library_name assert output_path.exists(), f"Failed to locate {library_name} in build output" output_path = REF_BUILD["install"] / platform.system() / "bin" / "Ref" - assert output_path.exists(), f"Failed to locate Ref in build output" + assert output_path.exists(), "Failed to locate Ref in build output" def test_ref_dictionary(REF_BUILD): @@ -61,4 +61,4 @@ def test_ref_dictionary(REF_BUILD): / "dict" / "RefTopologyAppDictionary.xml" ) - assert output_path.exists(), f"Failed to locate Ref in build output" + assert output_path.exists(), "Failed to locate Ref in build output" diff --git a/cmake/test/src/test_unittests.py b/cmake/test/src/test_unittests.py index 8dd9f0f3ea..fbb0592939 100644 --- a/cmake/test/src/test_unittests.py +++ b/cmake/test/src/test_unittests.py @@ -78,7 +78,7 @@ def test_unittest_targets(UT_BUILD): assert output_path.exists(), f"Failed to locate {library_name} in build output" for executable in ["Ref"] + UNIT_TESTS: output_path = UT_BUILD["build"] / "bin" / platform.system() / executable - assert output_path.exists(), f"Failed to locate Ref in build output" + assert output_path.exists(), "Failed to locate Ref in build output" def test_unittest_installation(UT_BUILD): @@ -91,7 +91,7 @@ def test_unittest_installation(UT_BUILD): ) assert output_path.exists(), f"Failed to locate {library_name} in build output" output_path = UT_BUILD["install"] / platform.system() / "bin" / "Ref" - assert output_path.exists(), f"Failed to locate Ref in build output" + assert output_path.exists(), "Failed to locate Ref in build output" def test_unittest_dictionary(UT_BUILD): @@ -103,4 +103,4 @@ def test_unittest_dictionary(UT_BUILD): / "dict" / "RefTopologyAppDictionary.xml" ) - assert output_path.exists(), f"Failed to locate Ref in build output" + assert output_path.exists(), "Failed to locate Ref in build output" From bcaa558c7aedcd47f20bab13fdd9eb13af4a733f Mon Sep 17 00:00:00 2001 From: Roman Sobkuliak Date: Wed, 26 Apr 2023 04:09:06 +0200 Subject: [PATCH 03/55] Fix post annotations in HelloWorld docs (#1985) --- docs/Tutorials/HelloWorld/HelloWorld.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/Tutorials/HelloWorld/HelloWorld.md b/docs/Tutorials/HelloWorld/HelloWorld.md index 527d08413e..9f09859c1a 100644 --- a/docs/Tutorials/HelloWorld/HelloWorld.md +++ b/docs/Tutorials/HelloWorld/HelloWorld.md @@ -113,12 +113,12 @@ with the following: ``` @ Command to issue greeting with maximum length of 20 characters async command SAY_HELLO( - greeting: string size 20 @ Greeting to repeat in the Hello event + greeting: string size 20 @< Greeting to repeat in the Hello event ) @ Greeting event with maximum greeting length of 20 characters event Hello( - greeting: string size 20 @ Greeting supplied from the SAY_HELLO command + greeting: string size 20 @< Greeting supplied from the SAY_HELLO command ) severity activity high format "I say: {}" @ A count of the number of greetings issued From 0bb6171634bc1d4d70faaefb33920f5b7ddf6f0b Mon Sep 17 00:00:00 2001 From: Justine West <35715959+jwest115@users.noreply.github.com> Date: Tue, 25 Apr 2023 19:09:17 -0700 Subject: [PATCH 04/55] Update fprime-gds doc screenshots (#1987) * updated screenshots for commanding, events, channels, and logs * more screenshots --------- Co-authored-by: Justine West --- docs/UsersGuide/gds/gds-introduction.md | 14 +++++++------- docs/UsersGuide/media/dashboard_header.png | Bin 57991 -> 158661 bytes .../media/gds_cli_user_guide_cover.png | Bin 176641 -> 515113 bytes docs/UsersGuide/media/gds_gui_channels.png | Bin 67360 -> 447870 bytes .../media/gds_gui_channels_edit.png | Bin 60298 -> 416229 bytes docs/UsersGuide/media/gds_gui_commanding.png | Bin 66407 -> 355879 bytes docs/UsersGuide/media/gds_gui_downlink.png | Bin 31084 -> 183277 bytes docs/UsersGuide/media/gds_gui_events.png | Bin 93570 -> 324907 bytes docs/UsersGuide/media/gds_gui_logs.png | Bin 91923 -> 182292 bytes docs/UsersGuide/media/gds_gui_uplink.png | Bin 51190 -> 209731 bytes 10 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/UsersGuide/gds/gds-introduction.md b/docs/UsersGuide/gds/gds-introduction.md index 863b0e5566..fcff4eb5a3 100644 --- a/docs/UsersGuide/gds/gds-introduction.md +++ b/docs/UsersGuide/gds/gds-introduction.md @@ -5,16 +5,17 @@ systems. It was designed for projects that have not already chosen a GDS, for de project's GDS is fully online, and for integration testers who wish to automate tests against F´ software. This guide will give you a quick introduction to what the F´ GDS is and how you can use it. -- [What is the GDS?](#what-is-the-gds) -- [Getting Started](#getting-started) +- [A Brief Guide to the F´ Ground Data System](#a-brief-guide-to-the-f-ground-data-system) + - [What is the GDS?](#what-is-the-gds) + - [Getting Started](#getting-started) - [Running the GDS](#running-the-gds) -- [GDS Options](#gds-options) + - [GDS Options](#gds-options) - [Specify the Deployment or Dictionary](#specify-the-deployment-or-dictionary) - [Disable Automatic Flight Software Execution](#disable-automatic-flight-software-execution) - [Specify GDS Addresses and Ports](#specify-gds-addresses-and-ports) - [Run the GDS Without a UI](#run-the-gds-without-a-ui) - [Help and Other Options](#help-and-other-options) -- [Navigating the GDS GUI](#navigating-the-gds-gui) + - [Navigating the GDS GUI](#navigating-the-gds-gui) - [Commanding](#commanding) - [Events](#events) - [Channels](#channels) @@ -22,7 +23,7 @@ will give you a quick introduction to what the F´ GDS is and how you can use it - [Downlink](#downlink) - [Logs](#logs) - [Dashboard](#dashboard) -- [Conclusion](#conclusion) + - [Conclusion](#conclusion) ![GDS Image](../media/gds_gui_events.png) @@ -208,8 +209,7 @@ disconnected and not sending/receiving any data. This is reset to an X via timeo timeout in the `config.js` file. This widget is fondly referred to as "the orb" as it quickly shows if there is data flow from the embedded F´ system. -There's also a NASA logo on the far left. It doesn't do anything right now, but hopefully, the meatball continues to -inspire our users. This logo is also configurable in `config.js`. +There's also an F´ logo on the far left, which is configurable in `config.js`. The tabs across the top perform most of the functionality of the GDS. What do the tabs contain? Do they contain things? Let's find out! diff --git a/docs/UsersGuide/media/dashboard_header.png b/docs/UsersGuide/media/dashboard_header.png index bc3335e5fb41b979d9277e470b58cb419e0c56d7..fdbf17d5577b87081df7c496665dcc893bbb2b59 100644 GIT binary patch literal 158661 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 F{|C30E!F@4 literal 57991 zcmdSAbyQT{`!+5p($Xm*C|%Os4blu<(v7s#fYL~}ATUVB&^eTfbhj{c%g_zOFfaN% zpU?OE_iwG=TJO8oIWyBBE$vkgKIUnrj1iZYL?MyY;3+&r<9R+E18s5Sxn?k(EGJ?1+lL(fN#o^}5@QTp6U ztsgyFr&5-a)_rfbj|g~AJeRYRu#<3fb`9SLUY!7g+u#?65^b=H!}r8^_1dJ079U=# zSQivNMiItIjtg~WAbeZ%)xaWZ_;p=v$d-W5zMO@nf^94sjcYVJnrbh>>Zh>Kq=+XU zTrfW?NiAlohFTeMkHUQ=ykX^sdlisyBmXWtvs#F&sdqU3x`1S*;%D?Yg8-V_QH76%P z&EhV@K)Rf+tV?R#6S#hECq~j;9Zd&k*jFQ=n`qakg~C-ZfjyHWjRxsIsPXmG&0~&*E{GWEH0d>W@FxXp z=a(KSwWgaXs3JVAilUOKnlilt-JGBYi{@imCdr84GHlS6fOgKsC>|A@1IMefbnxg~xhuF_ zLEeqT#Ur1dAvayWWiTP)VDMiAH-WyV8Qd?K=Da2TG_?Zy;SX5_de@x#REQj`u} zCOo9~>B}m52SRnemnYR8dA%+vgC;9F_%~v?@Qh!4H*8gBm=CY=_`f5f=HYP{4Gv5E zmFcx&dc8dr{6QEUDXvm|XU?oIVn<(n6nwPecxEHqeBs8|O%Foac*sYI#k?aGt5fZk z80mad*`mDrIE8WTsx|n-;Xp72Pr@G$DZmq)pnFNwe5QyI9gDFQq=uZJ`!bQZrI-~} zY$D~B$0sO9e&l~`!|rzpnqAUkE(emVl>XXc1=T8*HH0m5{}!DMsLJM}$?!m;bMD-0 zsL36`Wgl8DaUwcQ$_4X3h6(IqyLupCKdT~ zs7R^QB9D}fN2O|~s@mx)z%0)rTj8cKX@39BpQJW77)7kD*M06W=nex*ggf=d-YGei zLN6n;Q?Yh~Gusydq-q0vXwy{h`@b-Lq*NU$83@j;BW=_<>*>F*?XFU2$ts`W$i(9|%5Tjgz@4*PHwOJuF32@I)*vJN(n$ zg?LKW4n*>A5=;M0LMa4u%7dtLhnKR>biNY`e}>LNFkZb$ylTEBK|~+V$g`UW^%C4C z%;McTs_~BLOIFtrLn^DmhDUlIEW(3R+ROs>KS6;>x~HbPbK;RP@XaH)wfx30E5Lm7 z$8G&x*w$z@royQ$i5<&#y{jNL|A?eY9O8oTcWV{5HjE8T^OTP7`T6uA|~ z5frXxN>~OF0!Xxdqg?@wq^noUmwB?XpNHDtZi;%BtOdJ0#xmKScPGlxQZ{}b80vD} z32irczX5n(-4!10dKQ8C$Ad6mTMY&KruA9VL45;O)?P56-bym2MMM=+6AT(K=o*RU z`881}rdd4wv}4tZ=ODw1$~yEJ7U(xgHHV-SC?;9UFRG~B`@D0qh<#Dcb3v7BU=)4y z#?#PedNnm$c?w%Ak*t0Awa#6k-u+lx9SR<9-;L(nkH=TI3C?dIM**b-$l@Cj$SOgm?wOlXQDC&w~TiSl2ZzI`tJ7y>J4{ODeqr6?0Cmw@8&l* z@EnR8ei#P%)yL0|FZ7cRYdkKb~Q+W9-vEarj?3(fJr4`j|E0PU3k9k9MLOkr+ za%n>YkCqUrdTlp|$KQHqIb#`kIe8{jai4Vk6@t_CB{|_EOM(M9-z{k4`SlJ*7uN4d zxH%IN3QG#0wRhJJ4|o&g=pMluzt8Ax%tWPGZL$_0l6*OP&fNMMZ*>>y)s!9GoK>0NGos1a7t@) zTN6!?C~LNTzVn-|`E1j}d7)`!mKl(rj>z=NQ_2_7`&>2XG;@lU$vvIEE|x?GSjNUS z-2t$hN1!)YaTk^usHL3h!9h8q*3-PLwa(-5J${ES z@V(uS&ky|PcF=$Bn+4jHwI6*fC4oiRquzcQvfDNr)`SM%Q#{NPJ$$W<=VP5`RK#Cp z(tN#ZTdP=8iuT~&TYN4Yt{sMwcwz~eWR@IY4dqsdZD5;yo0~+$G0>rGmOl$gPVwO6DU`h zB0>(e^M3c@ahBeMwwzA96>A>9-1sPBhkH=szFb|X9B`DgCxVq~`ZFk-5h@uMQDWAc zr15m(N`oi9yJO)#SGO9W&$+q@+gquoW+B#Gajm@7q=w&!D1Nev3ONM#Zr{`31Qrjv zAEWw@9rntoQL!Dbm*}6|(&^xcU*DHie6x5?+G$w{SK-e>AA1{6ak3znEfLjC?OEyY z*~R79ERX~`R^ieqK9rSPa6!JpwnFR)LTm~-29cplWyK)dTbH;Y& zZM#6DIxR!!p^CoiM3V$I_t1e_-P%LuxXLf8K3(U^?vyoVG8|1AL>|I?2-2+pB_|t= zA7nCPTZ^CsQ#XZtg27(yr0>-(Q|LH&-?^xkg zfA7Hyh+_zmL~ihA1;$uh`s7X*^V952gaM31irT+r+EmNxKO@&-JRxJQCn=>tM=Dn1$;ZjnA9 zwQ$m@QgTC!K~;}oW-%9>Jr{I)yL}&I*IL`z)ZX9NpI)9BfniStO%D2O+h5uUro#^n z0ebrvC98Rwdlk-1rfP%N?{uYpoa!>@uqj%tyrj)G8~s44>FuojJ@1M`)&uM0n+L$1 z))BkR{mXVMZh}&ZZtj*y5=>^a%~ahB#jxnIZ&5NSY9~DlUQ+Fr!2qtTd>BB2Ri6~Q zoOH9~4Q zxUk+(-X`F$J<+9;EH%h0kx8xatO1rCP(?ke22aQ9bPCR9uhY$S8!<$wa9&vH*sr|Q ze(FwBk_u)3ISM;~1*>^ojGJJ?oFG4s<*h#6?EP0td?;~uIh8-5m-Cs0g)K(bQ+Gh+ zi3>_SDH1;o>e+3M$!!)o@rq5Cgxksin8Ql9=aFeo+8pgvg75Os?isCOhgQ7bo@jym zfIU>(j{~*b`mz~5eP2Ge=V@NML-o#wi6+sT9|bUZ^C74+`MbttzDdB*QNG#0@n_o& zkx?C+naZCB1sN9?1qa5t?MT3vV7C&8LJ^v|+SKJ06=j@LtwnzF6kDj&;1e%V+k^66 z8iw@9m7wvg9b(Pj_x>auw6m))dZTKwsBqeHk8#LA%saDhAzpDa={X5xK_wF~(MU42 zHNIB|aJuB}?>~SH5dsq&+B{;%YxKm_lDJ1@j#d!P#{2q4$hGj3hNsnR?&m>wA35V3 z7X;h+>W=f>4cT)RXBq-SeMjA@pBtm+xmp zg&Hh5?k|-Q%Ubir!@(D7re-6gdTT4JC_d2YR4b)iQ`^NPy|C56XtSF+HY5M=VNS-B z?XsBif_3MLM|~abo$&?qwz?ox8MZXtHuB#v7>UV^F$Dhkj5uD!wI<{tSp zipC(pVu!S#>_XKmwKF&QToc7-(y0i%;f#yNU@5I_r#!riW}i3;`*rIk0hmpRX#sa| z`ua-=6kJv|+0*l}L>F_}Cw!Cq1TCF%sIyQsS7tdv%`><{d=ImJUjoTqy%WvctDE7> z9php)x`5RQ+}R!3l;f=xfDJL+eXt!L1$O}*+#F(fSscPTku+v2r5mYWjS_d7vtKuM z+8VIz?!tuhk9!3&=YU4@-s9CS3++rEh>SHY#y0k?Ay@r^kb}VJvwQVQU&P@A+WA4r z@R3x{kDwOI&T2Z4Vs70_@z0+6bY_25>pU6H|v3O&5^^zcfC6))}rCH!Bet5+lX>Hoz;xWvRo-{rc9ydAX!n{dPD&Kz=f? z`s?_QBi=EMhFR??s*Ha(Hk}4?g7P*S^k=xozoUuN1^NfY@OOU;!@)RY{D~ zQ|o&n2MOuCZvs0VKKIAoDX3Eex4Do3ouOBYzHRI%GuHgO64U$5aY5SaaML7M3dCf{ z>qv3T0&z3-UJF(yhAk-}YENw^_ICmweTTWbh<8sr_kf;~3$b^R*~U%-AdJ$*9fu=M zHt-j856=@_S8jD0q`1Hlf()EC6^jtgzY=eta0BS(U(g2Uj}U#}Z-y_j<-}hM!`~oH zUE^TDqAvz)bVlK0m0sDUSW6x{dgp^ntj1(aU`zWW1-t4$4*6q0q686BeRhYfj?(C+ z@ql}JActMGLG`B;uR!iDsxWOwS0@a6RMwsDmZPb7Fi#=o7enru%RZsV(`K(UZ)rD% z7!T*YMja`Dys;BNYihQt_p9O-a3ml3a^Kk|HcYiOOWVGEw5?hjM(W@rI}KSk@_6oo zU_NU+BQQ#zlsDw!vI;sdN=z5_HgTlY6Tf)HI@sy-{0)oyI+3QQ`I|S&m{~{kptWjD z)8SdJV8V)NK13vrXDc1PmXwQRV81YiFc9kQ0G%+N+7gv};+cFGWua7Zu2+M+COi=8 z#7&#s^7gfz!CVAD}b8+d*vecfM)`J&plOC0-Esd`K!ia%ZBosid^8pGkp;Vqk zJC}TOFRJ~=gO6qX%`|G2LTR}XF zb-~&7B6I4wZDoDv5&KP%k6T&g%S`UMHk(uJIfRO^(UuzE+dhYsYgom;QqMFeNMTDY zN?FRv%nWHGIgYEbHi_!El3U>M8-nb;92vB$31Msp(}4g@IV7g~(-N6|RgK4`D&;e% z)@h%gYsIT|JR{YNYj=CAaDuAKK6fO@Yn(x-AgXQ$ixuVEawL-jQ{~EDw0}di8map8 zpz+1t{U(P&hXRb~I(05H-OU}3y^|jiTuLAMP8(lsHV$?EdIMwS!%1ELmbN*X_Bx4G&!A5JJ`L7cLW!E1TFx}w{p1^6XLgo9-nQHj+5=B zo$p=gKD#-4o0u3q$?ppQOg@=Nze&2WZ&2e z{cIY0(^OL3c?}rNjL?I3jCf(#8}Fk!4qgVmXO^gkR2iyNx4&TI_*5ax`?aqlke1hcnEoX+`3C7^2CiUuunZ{_iPS4iBU z*;!#7iBYR+c?d+esbMSBSgKo()5dtut<63=&E#QLstCz~*6DwdH%gvC6Kwgo8`IfE zZ>H_=tU-lhhov;lF`56PYl9Uw$@n)&uT$hIL)0P@(@QQ@d132Zk*BiE=XK9m=a@g1 zE~$Qbn4|BX0q^31q>=en7N)TINyd^depWPEH_+(7BEbb=}}!ug%PNTn)xaR%IYDYD70usBLfCl`rI$plDYv>4hn zInZLEk4nNf1hyAr$mml$Aj(AIlgl)4Q2gP;PW{!XVc^SU}T%TOGAWvN}^v@0$CV8ociO ze37Nv0Puq&I>yJD{#|eFfIwVKCr(2?mlMt-q9$!B(FH`KTcI6SB zIr(sJwSl^5ddVkcJV~5Umt!R+o{mORug}N&JvGoI3T~xLrET(qatTQ^FO1-w7>J~o zu6!tfqqh=+1bH1m}93MT9g*Xbt(ER;GPyTc&Fg7)*d2zG&+Y)=UCb6<9$cpzAZ6yrh-20el5W>Bzp(|{6PE$ zP}RjvKgatc1AN`^+vYL}=brDkZ*x7$b4+Fh!I3`_QIQ7XSew+xaM9+-^E{$ z$Lt)3#p*f5ZkMTAHvHk7>?L25!%N3=Gn}Zq5S09brX9^+*baED<8noHr<=$IH=;NF zGh8aH(#A?Q#K_@1V=V$jZ#EYiBnp~>sAED{ts4Mf>p53xsUTh#6G$1Gx(iGo~gyJ^AeozZeL`P*m)bP;@3OmUc zAgm2;_GOr3*QProZC4Df;QZ73d4>d8_o@Q#V8G7Ey%34MnPJ#L-T;dL`b!?}61MpU zjRZxh8Q7v=(?(6Qd}~DeL+;J;@8hIn8g6c_4DJ@J4AeJ{BO9-a4-h;>Lsdpl$|nQl zX=J+!aR`cH_tihri-?X&=N@b9fWmU$Kje?;yKto7m9i>%0o~X|s&w?GnZ|DwHgLY{ z5GH-zN8#1PXciE1Wz(h#E<1?<=C^x17^zLiWUcheCKI15miFc=CIN-nqFiL`n?LjT zE2(mH`s9PQj-z*pJSd2~6j~3Aug{5W=Nujr57@VC^ChXaX7Fm085?ddha>mjyWHn+ zm;Le%?pN9}JCIO@8D{%UCciMHj$Gb~PyG3yd5Yd5K&MLNV1TC)!C;>M@+`yWSmOW5 z?pwnGS6hr#UE+VTd{E<#g-CVq)yh)mgmvzp<+RRoFR|@K%%jb5<{@2AasBVGC@B5p z-z&k=4c)wkOwzyDy(CP2O{}?YJ$Zigy8x=vZ2BA0KHY-8Y-8xL@n6LbpQ(&8cK7@9 z^E-`{RLs)jEoD!3Vd6I^{B4W(J1kBGO!*ul9p@)a&GGLRQkR z<_?1XN{&ANQvqK&naBk~5keygwFr5sE#UY?%F)aryy278u~Jj5r3$QTFo+TvGIg{uipPQo~5FZ+?EzAZ_}M`V9AZ7V;zenYqbqz*w@(YRiZXZ zkj3Pyx!*sKnddbZndt^M$SsNJt}k9)u*(Pi5uc~2wZLq1I~RYR?qzg9!`bGa;b0Y- zie=BPq+0AXf~ZcR{T`foCv@*}sKStq1P%N~W*CEukzmFg^UpuI*#7iG7?ac5+{xBc ztlcPu99m(Ge^lU>wSScNWOg~%^K?y~$;306n^$3)Qh(au&uci?51PlHLOgtQqyAUb z@2`#!}kEqm`Lm-@IPVfg{qJZ|xc^RKQEtsU&T4U{RLe@@m@&}=L&3b@iy zPTkVd{VBL|7fyD_ZQG3G?M7_yc^}zZ`N+AEMfrGlF(2LV;vR#rx0$u%4;}st zE%i^eUF~I_oZGu}0^C(HPiBNHoHafjy-p_~KRYG0w9`1f?>TZ~#%gz4W~JgUE)fyW z#(I1d0DtnHRX@K9$kyb%kU(Qa5kb*btE%&!r*KXx9zD0!rnGb^HV3_JO)Y>96cWFy zDMj&6xa|mA@+Z@g>4Pi_=fe~g?_Lbx<_RiD1^qIl6k6VAh@5O=bH{Nocl{#kU0ER6 zVPJJqlM@ttMqkk&%$R74VMFMO0Z+O3{lM^ruZdWr+->`T{gfj3ScXmo0wS z=)DXCV>iMj>d8tSSgs@QdofDuWeg_y7Mxyx*q|mt-CGK^ENBx#w7$%smm>doLu-CCJE*=n{#wgX@ncB*Empo8o(hgM zIX3E^q=5}?x;%;+pE}Bj>72_OJTh8;kxL6To3|Dqo;Vg}SEc6fga13F{1C>}S^(WS zZDmuT1v|#BJJc=&HOqdTWLzpRM^rPH%;2gCdRBXFA(Dgszx${+EacXhY%f7s%UU-J zbxSe0?^&gRrgcE93MtPSmR6lLuaUnDTby{d*oP~u$nx>bg4HIj&lYNe^1aYn5|a8j z&d818(wIi$gFZYrJKnu?F1eG~K=GOZjFkgQN6OFZ* zW&WX4Q`wzKB@kKjzP+^_-HHA-_6tnj{r306FdNri)V|jF2a#zNMp3Zte`&yD)LL5&H6~j$swoViX@ZP=(v>gs3&@|^V z5&#tZoZT`IRjenol<$6<;WYUsF@$EiB?JQ~XjJ;QEMTD71|)!U_v(j=Bkevq7R6 zz%U;Qp^=PtW5p7Q_xqLZh;l)rU|Po6{^1Ij!Bc^slDcv4IXkFRoLOLJC(0Su!p>n8 z9VhN1?rg`5?Vb3Df!IrXVf|u|bqeAx!d4EmG^VS7QPXy>UVCx%PRxjcJCB0b2L+IK z!YFySB&xZ7`HS)S=X$}_(h8jUA&-xQnv%EK<%v#%Ic$dgrZwmU=v4Z123D1QS-cu) z#_#3RuLCYYUtcWvMyPMcQZ|Ia`xx@aKHhdZFv~Utea2@5)#yb7$Mmq6|IEgV-(m?+ zaJ}d{z+UJJ4{T~huxz?-Me4!=IQTx2(zA5f=3+|O#J^mb0Kd~+6*;`7&iU4BaD7xqY>k0 z**f8*PQih@zf-LopNa7(X&JPw2Lh zr;wl{#YTAvGHIJlBOV3!VtI?Z>Z}OYfs;{747NBWsakp~pJ4751A2MWX6}WX^ubL# z#8OuW%5rm&;c$E9n@sBv1D5+Je|mt0FK9Lr5INo zH*GbxJ|N3X!&XUM)p=8^o>R*#b^(7+pgCYo6knI~aswk6uhdkk1k|EC5KH(i zCV~?{?WA%%f<8km4u$As+@T`8?xyjo<(uc0I6nI`M2!3r4~PC zf)ni@W^-$}FY%Z5C>u;4*9(G{y!Aszt0AQ6-YsrgkVr0Lvx536zo@Z#wTO`NdPp1l zivVd!3}uCFyIvO1ys!#SW4eCxfgiX}x7AH`oqY(WRlRpi*0cm#`wTR389L$8Oa>YB z3GNm%ZuOt8jc_o%^tJkAdfe?5E@9>bqfRa;Q%64n!nYxz}Qr z>MRzT$QVcLE7yfwy2Te;SzoeinlTnyBIWP>CWL9QwF&t= zMQefTR#xgu9vZxKra8`&%#|(PDrt-5FACsYqzFYVXLU0 z1~Zdlf1&TaTQqhkoYMO|dsx6z%#;}RWV(@|FLx8mKDgsRB(vk?pf@y*;}mCb(2>0Y zaJpJr6OV&35_N4AjwkAJwX^LO^XgV%KbeSrsZ1&P$+Q;dEg}`u?w16wbY6Ir}Zbnbq^wh9_c!)azn zh)VcuW^U@AN>#`$i(hKRTzqiW&VGeiDsuF}sxgi^TPfmzccVSxD{Vma!D0)}8&ci$Q;OIo z<4#87xh)WFDAm=iLYkF$eAT!tg3}3%<*XWHr${s&m4~J{hx{c0_h8>X{Rbye+{=-U zKT&S4qX=Fn9XDXrxWr0!(r;FVD!)FdU>oR!>pYW;p2|=8<3j(KT_7|z+ zs12NHO$IKOx2+isQ6aP>0u-155(?9Hy?(gzq|DK0@K;$OyYzKfmI<_$ zUdx1rO6eqD-Q}IeZDb`D220@F)rshJab$MiZkHtC326)M%_SD<)3)eA#UhgNF8yw4yfX2%K_G1RQ0ssZw< zBUk8!UjW@+B}^IOmOXVOb$Qy|d(QlOp2{}Bw%y)bpLA>DHK!cOICCDF16^}^TWv)18y>i-+*ZH29<2CxltglL5138)tTaa&m~z zLLM4r;IiVL9b+S^5zWxW0eQP}?vT@)jG$~M^@I%(j5hIT+JnZ?9acM1_Mb7g;`YCH zf1H5MUW~yS(&Jb`S`yg5+>8Z!$2t)P|0#KX2xLnEqZIj?6l&zoW9Qa8p>#28e^uYw zi)TLew&0TqT^%?kd*BK2oNuIV>6Ek-H3vwRqLh*P$@ByS5a#moR5ptW#akkq&)%Yf z0RCCIHe@-GRCDK&%4X+%HTx!)WTDCnnf;Y&SyIiWzhLYQBph`w{rL+}yrSGsZDF59 zbaE#f5oRD)e6y=U_{Q7oe3DKAIuH=v5%L{%uN~dX{z|Y|N$TJ#2NxhkUC(Z~_o(ID&HiZ8L#9O`y^|fL4A;48ed3_YzBfJZ@k*^WO?ISQFOMRjSSC+Nuwrl$ ztvMvEQ5u62em*=!K=S{AhBcA@mS#iqh@y71h<@xt!zK5`U;{-LVGG5Fs)$@rpMRm5 z6qAMf!=9PzO1T~8mU&f6=NWf3dQ>CQMnV`>npYHR)->sguFWp$!piG0pE!;0>mazK z;^Cj3$})c50j-qW^%u2xlObf3hHXiWHg{=XP6fBJxU)C0fbYw@XkCcXX7gC1P=6ye zo(~f{n`Vet6wvy+Y_t6(i{d?mi?69z^xCnt0_)HO-r=yuIt9FLpJ46szlA+M%A7jn5A6-yjUCqdU>=NV?X;5!-aZMR(@VFvZo&vSA7=spMQ#~ zfVoJo-lnDRexng-J69l)S^=g)M`7b=(+Q7No%6t@1#tn?W8+2twC(YK+SYDL*oa(a zsyZFlOPu&4n?uL1rf&r+)dHhiAK;wAuA)cZIoL-xFqlM7^dLDyI|`IIJ=NATvputo z&@x#Jrc#x_uq$7jQbH3H-$Q-(mW_A1$xNkAFJw6MmdA|rxUEqDbE;Dh`*eQn4t2Mo zGnB9Aebx^Z?yKMq(wb?<iL=Qq50F`M{02PVuX;!Etz@v-9|v*S6Hd-Ee$mDmF&!0x0Z=jI&9h1JM(B zH*NGYmnv92@X=pa{D$ZEjJ!lem*c?(we3%bh}mXw0oo6X7|C1FY%P65@>el82K%>$ zniREppNSt(1Uk9A8NZRql}6CBbo5SNx#EMX;H(poFq1){;h?F`ZUbJZ&seD{tYU5% zV6?e(@Z$szWYa2U<&7GXp)U%ljug}3djL^Ki3jcFLApDmF0WaGkwA7%&Ad=|!zRSP zF7ocLi_n2o?0pv6Fye<4l@FdZP>ID}#v|;Ve}%-%E1($yB=D|v8RnV-dt)7)r_v8* zwtlp&XtAUmkm$`?s3D&1J3A_D9E$(a>p~eK6;iw$W?v%m7|jXou%`2^S{N-JG0-s% zg@oFwaRE_qT`0~$)_<2Zp*gt5wYE1h?;BKrq*$=4g3$$FC;XdeIX&dpY~9P`HI@e; z-&k!dP-X>Y_mC)gtq71XW!huHY?8X09b@|X|=4*LP# z{*=#o))!UJnM|es1(h{{y{xnn%SM_a#*U1B4oJng@kzH;zUJGX3AQO@0ewE}V~jUH z;T>(1uQq+_!C#tn}rmMy-8~BpT1(F|?rdf@;1y3oA=W6?vEEv%hmS(IPZtpgN+fbl3f{G@yG*(AhJ-yfv==ZV2{>k~-}@S?Vi$uqx2FD8K}u{X}>D zXrAaycr>>S3!VPjgcXgCvp4$u=-Y(Sp@Xd)&^DP1^ntV9<3P3IP-X`Yn~wP=_EL!0 z8__gP8lE1By|B{*j{Hbqt{8XLSBPJiYJV8giTOL``7K4G!lv48{iPYI<-r6z&mtvhgCTy5Vnap$iJQ) z(@ahjZNqUA8NMJS&=g-D6?a5#)0tC8njISU51)WqJV<_R@XRHSUz4~wgAYos$reNM${Fx z4m(D(GZ6imL2>{FiLFzzafRwf)N;kq+6JG|P$st+5y5TvF8qPtdhFwavzrFTXyry_ zooj}qTT9N|EKhooi=SY9kAe@sGL|}cseoRE8$1SdHspkp3++(sdFr%SkTiL}FUWP{ z?aY<^rB^ZN79le0zRmw7e7{}hfVZV+#-1*oFu3bB-axy!>ihWENz*E9Y$eV`b@+&= z@r!@;>C=t59J)Z#%{FVbW8Y{Wsy$wdpoi`GN%03j^S@Maat8kYqKPwg!~Q{!e<@!a z)qh~lAAaNYaLxaNk5X)J>c5kHyxoA@c8{*^1V`i6YRP4_>)*ZKL7crm(WIU2^hb3fW(%H(BMC^@h+gWFJ>ZJB0&HMfzSyGMqThPC z^=gY@>vH{rMEltq)A8+{QR~0Nd>P(DY@2*VuUt(d9;)VczB-a(hGTO5QljIM$pk*N zbBz2gQWboHc7L}cnetlcMoAbm?^bed@JNl}G}}m0u7FivhH~J$!*YKYVxhk^!AVJe;Hw#NPs7*Aj&i;S z1d*{vLx2bo3i{$$8ewmgE+HOJ8t=cRkiVw%mJM6qSONoYD7SbAl>C5!zj@n_6}bM1 z&*Y3f4@mC~rQD%LB@{`=X>#E-d498#m-32k%kN}L8qg`;j`x>||F0zt_33%%RikvI zT-N=0iDc3r%ZqwxaA47wKSX-O+sx@dYZM23f&%2(C)aDqIb+EsxtLcGsXHLnxtTbo z|9BmX`W@fY4lyGRT{#wWbhuynnC11jQrm&-MH1?gepjakD7)@Kb8Qcj9rC115G7( zRIa|+wRa}{p5K)2U8Fvyto~a@<)bHRko}K5>`uE_cN>yf zXwz+vdp3$K+#^r?<$59u+Opjj-P&=8-1?revvJ5>z6a!Yh+}{D3ui7{3f)kyP`;h0 zlXB4qsKXnBPQI4ZL$Beza`CN2eeaVd5x?b^a4uR~mT>WA`z5aZ-5cult6P|~q!7Wk zs1-mz6C#Er#;z4w-Y&O0Q8A$s{HYQRePYYeP`r%^CP7PNG+WhB0)L@ck%|7jwozvH z;uF>t+&wY7;bknCHm_$5zt|-x+nU=L19eB==}& zjM|9((V@JC2AR=b#TrF0x<|(T9NSCc@#jQHpl)nlqzi%LTSOZfJ^T{$n0-Em6cByz z`*-ie>jBv5!!(NAY>h4;rqx>MGPbE+e^Y@n-A+PU2Ikj@bs3NYYJbfBc?y`ya z&y=NJ2IVSz26kk|4CQ@~L<0EYYcPb)>tl*etU?D92cf z8(PqKJOJq#%AO#a6~EhcD3^Bsu)jlnd)f$p3kBGH#j+1OxJh*`9dziChL2uPbXv!h z_wzfEv_|zU85I=+V5Wj`25C|ZJX;%a=>m(oSC~#5^MjpwmmU>FCjj z&&T5UZfe#MS@RHsKoy?)ni2fyGd{YlyEf(6CixvQ2Z?+gKTO*l@X|*#ZNvg1^_n^l zsSU)S&S@Elr4S#mfJlhT_I*FRtnT#bk;ad{J<=fL8Gs^Et&p>&+jk=64#b*l_Q z=qVW_Zf=`LV;!V{2r5L;kT`vTRidG|_9e2mkgjI2v0ib!W=~73a@jolDh08t1v5C) ziApU=b@D>t_>pxRzSmZQ6L+cl%0TL+sb{<#Tnr7fG*EChy$q&nDmf`?(9vyZR5-o_!&x{N!)CG&OLj!T$oD$wmgKqa1D4beBdnFy|VN^^r|>Qfnv z7Xt_{vh-~>yE&oh&6+1lY+L;0^UhzOyMWb`MD6iHVDK1CYDJ9Nz~O7aXM0pi_W)pn zuDVn)Ax4Gewq$INiol@pOsf4B;lpm%@XO^jW5PQ%Y(P;1jwo0VFT=HxrGL_>q0tri zKxHWn`F?*&l`(&hV9rq4UK~lMx^iZfQ&?sV>RfmZ?&(c^tr$N4saG5D)N!f6QSuHE z5xXpbHe^YtS8_by_4$jt^+dJL(s8SOGyqve=oEBLYsrjf=GnYDiC)2#qlFOPEVhZc6=Gbc^eI(hk27p9DE#CIJe2cqo( zk56Y#xCDStPJNs;huD-${$T@3qv=5Y49q$Mn$uAs%Vwplmc34C8!%mY|0Xl(an@t$ zG!Ao}&kXw9BYFATPK^Y1x3HP^7s{6vgBr!<`(d#A?W-Fct)yM>oB8s(jjU1*P*QVA zBR%w$W8{07^4&o2Q^_LaODNuKfM6SO3bd}NJ}*aX+im`a5>BX z6tp|vvoNxGc^{a7LuA9*YrPK6C-p%HsC!c{d&9> z!dDV={qXmZrRsYiXcUq$TSyA@aS%fyEl(STN z>9D&ugz6UJ@7rkcqw&sf!puDU$48can(CDsW0J9mOYiM4(eUw!5$W^DYZ+CAVlw=q4#o0D-Y!Y;vwSI0iT?JoyD444m#+sO{_hE+0g{h-mD!Blp{imHot$ml`XAi~=KGHc zGY7BR*#oa)n>wA(LNmx9797k=bPp$&Q#*M`9jERJmtj9=W@O9)*gna%)~GOTHpsY{;`DC^IyYbD>|DQr z{?l)Z2Lamf4=MkwZ3-AaaJHzV4-YE-Y{8L9)kT?EkNiKZy>(cW-`+R+W27XcL0XWZ zLs}YX$)Otrq`PA%DFI38bO7m+8X82pySp2tC4Fyn@8>*wzvsHnKj&XAW@g>@s_**L zs&y8DmljKfE!d~zGrANxjg^&JqiSQE93}Rx2u={|cfW7sSbLuhBI&>Ms-AkMPUyP} zGS{HN!ylQOL7G@*)OTnf=H)y96}{C$M3_XJWTq1bAlEvpZWjHdNLDDLfh9t-5s0x= z=yr7cWuVLK&eh&F&u9PCalBA{QHATf^Km7UHTSe!^dqyoA@*jh-*+!@dNuUa%GsqkL~EN@w&TM0GuRN5X7_0$yHyS@tfuHBqM=UCW8a8c4aVMuI{}Oy9?Az| z{!&+w&hA$0_I@Tw33TO$0o`9(3Q$8tmmxe0-`_q>_BrMDqR{B?P&!IgF#yH-bx{UC zH3{>pL!3yZkoIo2u%8PjKo6gA6?)@yxlxsS+~{gwD3=Z*vDEhQEdh}n3M>GAhL*q5 z7_*5EK%Ts$UYX5({>8Hu7pycSb`Y-`z%msx>#GI~t1;_h8Mz5zD6=D3fWOrb?zUM4$kOm$Kr!Ql z?24dU+r-j*iPlH70`08nKABI9MD>Pz$Oz;&70A*=BS8%-Zv8Fz*+VDj(O63kMD`G% z(!tSHxNh>gu#&%B=52pUy+J$s+Bi6s3>i;m;GC-;G)5D00Vt$@7*=?1j zB!RVVUXi36t9Uxt!~1Obo5PW8lj|zu!^kP(7V{l3kBBe|mXHtEx3b8G=IFvJC>e_% z00a3}63iY%#|@a3~>TeOjK!jX=+O*U$QuipfI{Bsr! z4(ve=;`ki6Tscf4{doN7s@LG1aIK1t7_aq}E=wF*3Xgv$BEB6*rrh4)kHj&CIiWx= z(;ni&frUiPoSID8+=5&;Dzse58a2uU9vU66Gl((OOPr#LN`-9x(j}}9a=VLPO23({ zJ|S4NRyf^pC#0*K-O+~&5ubP;Z~PH9KekK*G;6!aiBpGvgPpk4AvwYMMigs# zEY$2wtJr12izx-+#K#7QT|*q%hh&!JFpAX}+)f7PUI-b+=T9y(k_ zQfpm8Q{U8I(#urUEp_d#LFQv`5Q6d)IwidMM0U$LVS+h?jX0sjtD6w%W_#NVa8^O` zu0l1W#{~T^B&cQcybbD|z_d|9h9SGM&kTKzg_@>EKkypP2YwNLz(&g-?wsQtw(R#l zO{IcGxr)5$R-*iI&L{F?yu77w>Yf`e#2Sb_xl*${pXjNhkS0v-tnondrKj4toWU`H zwHj+R|2U)FJ$d!ror^y1<3OTP(1SEUg4Gi z!!KMwN{L~)H>z`=Z}`=F&y>qv=r79@+=ZIfE}vVQfo z{>EI1^tDWB;{i-~dAb>e!1IIj0KkdfR2p0~$MLnGT2DZ)y*W^08_EWU&3|5LR3AGW zq7-{G+a+9$MOQ$i`fCu?63lHe;VxEkoR6a~E(BofB^ZAdLpa*KH-a%P3_}RELW4hB zfQpPUe~Tze4B(v>#D|_GR8O$bs~uBaAu*(khTLH_wekeDUee>;v(pDB2vp-}>aVMU zxHQ$jPTX3|D;w_$(I@bLL3U$|3G&moaTssI9HDb7VpIu}7Mp9T1iYSi1Na++1$}k= zWrXUnRhmuj@#Q=R-q_hD6Y3GzcWW@mNsIRM#7bQ!l+Pd2`<=1l%&otR_xB{U`Hpa} zpcX<6E6SX&Lito9EmCmBsujvYE|5O23K$`i)<2lT8{j&V)~*9L-b4uM2|p7z$9y1t z10DwoepN;P6i<5=tK}N15AYVEmGdj9^omeai--#V1(KwwdJ{0NH?%gY5{f14@?DLo zMM5^u*!=0P$fl1pxi(dG>Ws6@uhx@`g$yKHYbzaw#DC3qPp#yN3r%rsb0d^?lEN=s zyc~9}yOnt~{V@8)qlF?hmD1f=oe%OoEN;jqT8tD$K22LqoSF`=2h|VEivQY;-ZGAY zV+AMQ)^dBa+`GIZ&7VI}IgI`pbMicy59=OPM95`oZi%#}!JmT9p4smqloeKEzfw{k ziPxCmKh(C~_@tWvQ&kLr8vv9=W2nrL079_q8I#lUk{Llg%wrIVP6I(5C#94{yyawe zh&5(7nw^b?L)H#6yhb{w;6Co2esRU)Ao?!ZM3^7^G9P<0?HTDZw<1C$yo9WM)a!nf zVa|8(6-9eC_#Db~>RxAKo#h(=xR8bDujWaj--Di6v$Wm#T>e4szM2Fe#=n)4=y_7= zZNfH&Z7Eq?2mRL7eEl(ueLCTJ>768R*@H3>BsRZ4i7k$bdb6M=pvXyo(L;>M{0|oO zoYoZ(HFEnN*1HC;Khd}B*6`LLn#Wkz4)*Fr__bc`(_f=iYXdgTb z`fCjRd1U~o2q=S-xq65U?}+{C4x}e9msjt=_c+vBq7q}_=EmU!Pdg11RqVFt>xftl zJ9FlJKP_j}7yai?Do|h1@l=0l%VDGJK5IQ{&pHyZ(3kf6{qfUl=LZhq76)P?Rt5&{ zj_@5BPnr5hjPtGMMUhk7>HM7(rSGpXM;p(oFIRql5mO9t0P>5YjfL~Yetr1lD_HxR zi(>f}fx>d9D{z>yz2u9V@s?63X|TxtkAukH0omKXk*@3?h~n?=-02rj1tty--NTP4G$Y*~V5i7VXtu>H?zYMluaUDd(FZ|lw8ztAs+(!bG0 z;N|@PgK_^r+rd*3{7~+_$@FV1sYOESxs$=h-M^4#V3?@tA;qtyQ1o~j|695JHYo_z zLO~(2_y9=vN@x2!Faey@MJCk0@`AJZ9n)Vp7--_|XKV!5I5LjPe`&q}(ey_^x01&3 z%Gpxr()Dt6tj5~vh+B_;It+f3o1Eep=RAuuTv~9T_Ho1@Ojmz<|9$Dvcpug4Y1WG@ z=jCzw-iBG%W~0q5+ym9yiCTU+=-|Iw8u#oe8?2Vl2>OLJ!^d|1f#nyLJ&0fu~|+IqGHTJnV@7Zy$$9&QY^{z2;5BjA5uY{ zgf_z8%*Zmoa=@A{{{0dOHYJ{d;^dE{%dCw=nCIKIsXn)wdr~kgLo0Qap}kgqD@+&a!~%2>)HZ1 zr_s((0M5qptvB_v=w`z7Wx~o-Si;Pbry@(Pf#II`Z5Q?X1)Bbah|fH;aiV31EGoA+ zTD-*;0*VD!b#R}&3P0Y}sg&Z1TKxvJezc^K>3X7KbF-OCk*6T5qcq%gkn@}ZF};@; zCI2leakta645+5bRw-O#EbY@br9qqW0WpoYLUV(r!-c0QlzLsfCTn+*76MsGn0mF+ z|3kXa-mg)^c(dL$?wHdt+Shzi#<$Ce=Bb&h8S+vaN)HdiLx)s*QC2@IB}I3rf-kTn zm($?-(2Xp?aU`{CSGLmZ-%Q;#1Jb{eff2atS*dn1TbG+9+m^X0)w)Lg@t9U^6{f8$ zYf|Ds$3U3Z{sD{R&5aK?B*6kyvdUV?@zeXH+YpVGBYjg ze$&e9EfyZS&ySz6tCIImq{vPv_4GlNfy@fkKXQ!6q5ZbK4z*xuEVS;ZRc%a%je08T z`k7_(Q`MSX+vM`zII38x0A3uWPgjRb>=GApvH_Ck2e76s693Hk9efk8;|(n)UlqG!&P+B#>&erdy)fSOtuzI@wo+{*tp=s7 z4ApL2)1SEkUNUs^he%!4;-YMmM6Z)L8@5t!eN{&dN-vz(C(<0o72G(!O|%@p0nLq% z10jDjlHTW|(y#p<1RvRi$TcepDeJ;Te2LLe@;5Bp@UEk+a3$Jm9y=c@Dx(S7Wy5EkE7%I%>HaX-IS_TWFXjl}x5 zBy=KH`mETa>N#u)twS%$ucUeYeed49ISY9!I{)%%fg9Ngss-hqT%PgX#6Ngdb~Ozs zx(nG7kR#~f{HI*WN_k`s4ty|2sA@K-XsOYHnpP15EO!{F(ej94s< zPla_Ev9E0=)v;ddI3o^$*nFeM7ZZ&GbNS19)k@^fcOa_-^$*Tasy~O<5TP+# z{&=s`IVlTeOuzAn&#T#K#mstss#X2#= zbGbN`FvmYN5IbXDm{aDC6H@8;k};p8wCT^|lj2^xbHqXfU%uRYd;t-W09ez>!l}#_ z{TspuEIy=~Y?7v%DuT_;m_8iWDx`^u@!dJk`P)xX4t;>*)aeecCr1BRvkwQ-1=5x zN%<8!Iv%?0PZwRfOJV);YBhy&wlRu&+$umGZWP!(BP^lKEAshB@YAwy9NTzq^X=zRpgmia6HLH*t@}QiL;b=9=kqz zmCA`Q=eZx#4o4ECd)rFYHCvsmFvC9jHiJQzNho|!bG#kBAauSI30Q!ul$M9Bfd#mQ zTyBt1JQ5#uC&^AqW7Ewglk>8w9FtV;Yv(VGcneTTAFSmc-cDxN4G-Orrm3%3ybcfa z8Qom`giAtzmHv(WgF|(nO5Ur{dJIfCbnKZyj39H0O zF6^Ff1o@_vY-+x}ePZHvC6acZ^N-lJxXtc8{sy$0xw_G&`r05S>-0Z+@2q z1_tq}95pC4OGJ-UNeScOSt~KvIGHg?kHW<48S2hua)p|sTpQ4Z4fH$Oi|r^tKXcyT zQNwWI0eL7+nUCb?JM4?S?^WF=_zlFav;A~60l9PZay>m^pT}tAB z3H3D`TNZPlCKe_X*b5-o&L9w*ym+6EB(B3YX<|0zeX!pcV(ml9uB(k<39x2r(%;I6wz}Y%^~tzUyUjTlx>kO*KH>w1^2*5-c+8bfHL)#n zP|n5W@hVOlnzKme&voQp=Ck{mA>4K&4XmYgb?M-mghpm>5^0;~ zTt*izeYEsrKIq!D5Z5Z|hw~6O`x=IUyQn}U>t5Q$0yRFn3t9mIg{tgTl@u91hZdS? z=%KYIGu184S~_2&-XyA?mSUdUVZ7@3)84>W#j~Rx2wr~L+75N zP{$9+$GL}7|GYf{k(f58D2T zGqyhdt)19u;eK=?>fTBx%lIJ{i#mn9Nf$FLp6OHEI0Ezqyo;^HtsjK<;mVO{gnr+YIryB=t+`v>Yc3V! zrTSrN404i=^v>fV_L04^VYp8l^1(pz5G>VqONvQT@$#> zi*-bYJ`FNo=5@ciF4rWHK4$O!;Kf&BIRE#!kofJcq9bCciTJR}-MODvc=7t9^^5?g z9O>$%iqD6`*)O~~GRTZ7m5Eu4Y*v&6(@oQyS{s$siDRU!u-Jx`J_Q)nt?jm%`~>o= zu`h8}Y`l+;hh+Kmei;o=L_Ti%VeGNLGw!OW)v}pqRm9+$Pqhtwn%#bHFHxI+T4gyi zRm*Okp`Y6FU@chU_p&X=(8AYx*a|q5wNSUK_D{WXgCj|G64)`!?LQCN0jlH43YN|Z zn61xSyfe9iFS3BsHD**!RN!w3^yf_yzY&cbwaeN#o8#UMw~l*7Wx~DD#^?my&ON-G z8r6-s;IF8#psuXUGu|3I+_6~>%?BzrEq?ANwe*%vRG^#Ov{$YLq|Occ5Y$CE#HIp7U`EPU1!0jaX;*-On;5}}2N!i4#X zTHlr`_37t>nxwPS!a^7-ifyJqQ26_5(ZBYVy0}n(w47#w^QmjwIvSHJyYh|!(0p@7 z(j3HCc%KWTB5Vh!#{c*K7x<%%{owVIJU5e1H;jhkWoI!?53P2zMAG-7`SKLtF<`;H zam9MH{QuQ*fLMJ@7mv{Y*GvHXo`7>%hWcN_^XQLzIYt6_zji0QIo=E8b%&P%F|CEu z$vt&>IV7`1>2{4iXo;@R$EzPrxdtJ`=&7r`c^nv={9=Dh(73=mstX2@K!G3Nq!s`B zH!2*23oMw=l^L@xBV<`FK>1J9*m5D#Wk&B`V;>2H*re>B09A$RB zDkdu|^-Ra|;5_fD23JGW=k?q-V(TeeQGF(GrjeBHznb0whWU~$>thak=u>CM3N<3L z+)s>D4?vJ6rXyLb}oj!7OR`;)f*8I>KqfCwcKY9kh#i&%xm zw08xoxWJynq7aiCe>TBlh^iD-A7OkaXtSFal&2p;1A8)~&EM95TxqVEV|PVGc1Ynr zy|0b|%fEd^vTqGZPa@DNa}x3HA{=7`W+HLi->mmA>>U5g2_mEoPIHPq{-!Rnq+ci_ zD!QTa&eu&O)#Go*nZ&Une$tUt@7-T$zBLVELi*`yG>D-pCZsiPE3cFf^o*H&$e&)L z5n~3;wLa+#iIDlU1y8<_y%}j)FbS0eRJ14&yF(rVSMMY@1vj?kUm^0Mr|?nWvuXv~ zt{%O#E#*ke_?R*FervyLNXOE1vNo1on3AH#H^)}QXK_%g0)|?@F6lM_-5|(*e@#K= zZtWy@aT)mw`pl^RG?<<_IY2(gdvmGhZq`&w!w+@Ui;YrWSW@>APMnsN0k$WCv#8G4VgR?gQ@7P@3=YOIYD10 zeXZF1<9S;oQip})zE|=G|L&SVe+ok)?A|qG_gI(6->={kc2XwN<#L+_4d;X;2@Y}J zUvO{j-+@_KEKrIgrzWXwcKIR*G|+Xh*ZaR!8TPKWk!+B15Xg5Ol)fQwPEfNq%xx`1 zt2dfr?@g{iJ7m>xspc^>l}gCPLCFh%_y&q%;g_P^{56 z`MpL6+4oZ3%P=DFde z`J}pA$PLUWal~6Br>-RdbUP%KL#uTFgibEH4l*$`KlVRUdmKIm|9)I`(Z-6r?*#=> zkkN)X$kk$;~zw15c4C6olbqYM=M7+K&$< zsD!b>O-o%$f`P!I=NQG{*5{TX!B*@075ew1XJ`okh=jJ=KF)S_9WSaGyYqZmA8 z`%PJed=qHTTE`-Np4nr{_2Yq`-pPE!4kNn(yb=9gxcHkxwIu=C;F}7)1~06dk{i;4 z>0OQLw81f7K<3K}(<)8VUtu581On8&BO}>5)&NUbWgDMZqYY9#^o5e=Ufiv@ip(oDO&<7dOMg zdyt;@E0u|x!?Y-8(W&q}esr)!#dK>aYcz*F1w6RAvd~q*a%!nP7wK(Of6VuVIaZVG zSbY1|)}@1N#vf}M*}`0`uQp85`7dFTAeOQ4CMz-rOYlVvD;FXiI=Jx={g)$b3_ne5 zqMo4T_!VKAQ+6m6oBFpAbJf(Bf0Q;g4pBlRjGwO5iIqI%OipNZPN15|(r^B#p~3T3 z)d@PWd3Z0oCA4+9jt|)c>O;Yyu(=_l0$>;Y`-Bw^ zn|+Q=zaJ3D_{QYN{^8Sf8d?}KeUNV#p4YEB^CC)YWm?-VOusk=~A2{|4~f?o@lHz!|~I|yl@uG%Z@Op zhi!Mh{QYK#wfgi)@b$X9dJh)9SySWSa7qBM6}|LX&YjxPcdqw@_*rpz^4R+}Py0pOSsHghR*S`MC}{2KE9>%&e6J$7|B*{R2mGQZ zOHmpU#iy+Lc#GD{2q*MEc%~OAz9-J!!0po-yBYo|T=K;@(LK$GCU~<%>2dr6^-7CE zEO^u_v3Wtm4bBnyD=^^x<3~h9wNK?lENMk6?8rS&jl5fgXX0J#c{Ch5NU_@;0<}^q z`e+K$enI;B9>jZ%KWg!h8ydcEk_P;13wu`4J*6!z&e&ACwZCMH3p*M*Ub6zKWEv45 ztVD+ED|h5+if<2Jobxu%@K@gB`S@X(g38_dIr-_zPpq(_Y@4SR_)kMw;IgiYm~)YZ zM^8iFbOqdhKx#47uVGFH`#jg`b&;?*=ms4l8n?eo&9dD(=i#pGmJ+~jTjD+aR-cqbcv;87*(I;QfcT-7) z*~1yzUp);5_QJ3bmtB`MMJeIfp+%wxti{|vo=0AA)3bexeBdubb-lb5ob(JWjW~F1>PTyN;2T1y-8HuqNtNEA*Yr!cp<$`BEfD1`ZY)Pa zr7P2!2f%Tm)IJWB%MXw)zDC|I{4c|_hM!+ItlV6oG^}WZ>;|OSff!%@lh%#DbsdG< z>iXO0GZNPnYuzPOQk4;gtFE#2Ld*#(pM6po6_UN!`cXxL-My{mXqucBL2|`8ww^|X zXu-g(%`_PwC~{;Nfy!Fq=v05_SmdAss&7~`aO5L7M?-DOXqtxcH1}^)--sR(I5v~o1-Vth&W-yInBQ+C7)e@}*JS!&XNQWB z+I>%VA%x8PM0VonT!2dL-vXXp6skScP%CfHo_MQEx$Vq{OPSJ;H+`(Jy+9Y+dNy zKHKq{Y$Gbkw(xLcu&pwWcd~V}atOsjFQ)Lp*8Y{j$8H5>(-;IvM z#aEZ0FAqYqU#ZVH)rv7iY5%19Lb!U`D*~-a@C*A3_R|H)Dr3r1e;-{?bSwnqFrwk3 zWR6e+CqK6!hLR1B%2)c|JQ;r}6asemZ34W6+J>C2Gn3AL;K`*2Q5ufG<15yfxXiD3 z2&9gV@nN6(iZe3J-w&@+wj1xO2tO*phw8haQah5^*cOlOyw4QCcrT<;Mo93y{U#sw z9)_d_zfj*`vlneOY}U9aN!+}mHtEv2urF@16TPl0r-qglS)c!Y=35g{YxIl*jd0ap z6MlklgT)$Pen)1*`L!nBm1R$7nF~%y!5bD^mTk8t@%iKbetH{F(OCKW5fW^(bQFL; zUDY+XYqroc?#q|cR9&W0OUC`mIMuz_@xz|9O_g!>(sWE)6bk5LZ3WUN=p7Bq`s~uF zC|CnHXbM&4?X}-MyHgG2zI@|1;E|?mT*A~b3A~b;AqLMf3$$wQ#_o^nX&_%RSksU<<-JtogC{bIxup)D~Eu|40C6l=Hf1dTCRkuyJfLG$g#FVBK~RI)TOcYVv2 z&%@Lc+(<`$16WpX$x_t{ap59MH02nsK&sKj_39PoipRc2Jkfiq92hD^&aK%)!)rvf z&glxYYqM!3aMWy7@wdDzVif)cho*cYp~c15a}|`47sU|acEREB^k54NI1P?YjmQlL z9z<(CBF7+y>&~F2HBC9wd_Z%vo~2;^7}75*F?>e_h8`hTyI_6azG~k-?EDa7b*M9( zp^q;`t4ar(GjST=(CBX7g3Ym+B$hW4_nXN>HnsEmrnP7#L~W;y-c*kk5QjJdxNVFY zfQjA-5JY_LCB$h5a&?!_-@&9~0_D}n;x{El>5Lpd-r24!=030_95tva*S*8pbK~7B z&EL9v9wsTeti9WoQ8l$1YCE^tpZ`;3SHI4ANQ%r^UL+*a`KUvP`xr6LbNNl=w&H^4 z6;_4&_m+~i2|4;^)j{;NGN@Tr^%eoy338$k#5p?E9jizeC4Iim8&{X22|brBW6Y3J z_oKG^U|W|-*Igdv8f(p53&&GUbbJjlMG*$-aBv^Zjkb%;%9;k7}Q&7$(yl)6HY4MVt8?A~`@q@b%;4Qa`FI>YT(|Fg%y0 zcoSXZr#i`Tf?B{mjHxf0G>fFR{=`Fo^qZ|dk}O($#FqMse=`9$vauC{5F`+Kv5I+4FUsORsob*F4}uDcbYN{SkjHeuHi-^}!c_AWiPJk` zr&xYveV&36avOcu(m*^fYdr4K&mJah2 zTuiI5d4qF$Chw_|uzaE#BhrZRX}b3xE~CM59Q$pGlEQS9Xj_3tpO1DWapYo_SQdB? zNp0hb>bG0Mx`uaf%pu#WGKTt3Cb%@J+0Ty z7+-up*)JdE2lx=TvWyog$T02rxIf2NsvP^g18k|2>^ozbxl6S&&Bwm?D1_GU@|o3o zt}+rP&Q!|@mt{6 z0ZZnCluw$%7Jmg!oWGZDg-oy6E)#<1#8)RpOe=~eQjrBxi&(N5rphaEF71HV{>>tF zq*YVRfpNMN9r|r7d8z(OfqPHjmdHY)qnxWm=~BIXx?_Md;yg_Z+UA#+kk zk_k|i$fULkU@x!bd9a(nXqN!;?qbw9@Dc9+k>+J+i>G{NUef89VkQ^@hU(GUkzT29 z4Cx1D2;u06Hb)kWCnotx1NpPTS_`nCshI}|MLRAdOv-v=anfS){ZG`X!3NS#I?X?2 zuk@5KmqrugphC9P1+TLa)pf{~tjaH@MxgO^IxG=Jh!fDtr`%OXKNdwWdP-1t7G*^x zU9jj8TIQ_=Ba}ram-8yTAFe%~`nnDGV*6IQezhJ~2JRZ(RL)ArHmCxU83hdciPBzV3Fr4!k zjV?-|=TrGkHD@n9p%UXCsYZ2QZbnrwW6H77M5buiXI(I*dV;eUsV%Y);BHeIi-4eB zj-pc`qr+(!J2fzaq=u~IB}p?=S3AJ~b9P8F&lMMK9?PA1{`@Uz4E_5NFx}XxB@x8) z5Ke~VvazD!_PC#S&rrJO2odhS@`}iVwAPZcr1h12C=;Uy?06-w@(7Mfyfi}~=#7K2 zO_R43YRWol?#jK+RiK23xf4+=IH|ODtA=GVSQx|(V%NvVnjZha8n}JSU6Jr6G-`F@ zZ4G9p04Zh1;uZbd8Z5i74yXlU)`LybI-Kh`kYL&o3N^~-Bf1ut2p4@$?g?uIx3^wO zmQQe=qD<8RIeNqg)v6G<1JXipE5cDuF|( zrs^HLfmx4%RMs_MQ-i+Vc5nl&a9AHbkXKtZC4M}xzR>)yNh+( zAEB7NlTU%`6xKA~*GsY)nOKs6ibiw<%qLfJ6A%!Z1z(ibA4OZ^C^moX5Qy+Ur5HKy zEIj}Kmbjr4*BnQEf^hQ<-5la&9y>HA^CTnfW_DS&_E!vmbO#$Z(gX4QRDfxRv zkd&sL^9>Hz+r4<#eL0Xsm8PccBaq-<#cAqEoGgQkgXWC2vuRTKu=wl4RHw!lLPpq! z&7)XluXSvQC(kZ_efK%V_KIx&C2PR8B6#K#9JWi|tbREoQ0ig2h&9RHx6_CMdcr*W ztv_#e%`$21e@!odo0bPX0%_SeN&bC88CMHo0;O%C@&mh{N_KUuEx(;>@93M=w1xh7 zTCkSvvRfkr9ak46kp9YjHYBi)2MNZ2ZN%R4+kzO=y|%#WX+py&qZ z23*uXpa$Abq>&5yPT*@l8|(*6tcC$n&$@*F>tCockgDw;IP2~dv4mSW3YN^Vr-#p1 zqA{&cZp%~p|Iz_}ap$m*vPvXn@>;Q3{<93U{mjGAwPM z{kXk;esH~Gcn1NP6U>vM@~N(<4?Jn(CiLGa#lL>|5qxR=O(>iq zLig=xns7A^F8XP2`?z-XuDvSa`UWlxwPRszEuRv(#1Q6~mcz9(<-Gwaz6huF>(J{o zugEZlaCemOO}>cmAHY&V{YascJQ5TVFVj0hU%X|?a3KKqiuZ95pE6+7`dcg>HqZAO}tpK`4qZ|zB3IMKzV{G^lNRv z?%aAl^~o{L?$&J?ZD~GjKhMC`+dr$Bg4rM1#f0|Hgv)-5L0k{~Ql_tBn9;J^-I8f0 zUYfsRSyuuR(Ms{RPbLh)o_^TV8lDLrxj~ohUg3=|as~s@ShlY6q7P%GtZ+$A;%)#)D1y zK3rXu>`TepdwxSpnd6t78MBv1C#CdycJw_JY)a1z9Jk^9MBInO-ps0Aoc0iVT?2h4M%& z0n#nb2abLrp3l41sUs3v^*LeY4*V0*ozViavFx`IM*U6Dd z0L{Vyi5GWWsGvZEj9Maxc1gT|X^>YFu?+lD_8u#-8f%YF-dV3V!tWwuzhI zLQu4O$|IT-Lf)DJC%G7lM?`0paAc`-3~3s_T?X)h|0ZJ7nOSYY>gNDx%&ESk(iJ5ELCOX@Ru0&9AuOqcevQtBai1s;d1^% zl(d>Djp)N>=Oi)`idC~@*q?O^=AXyb&H@uMEN)9+`u@d@1h^h@YM;+i+W<`(SvQrB7)HQ=BiO=GnEqy%z180cpQ~g zefJSFwqN?>fZ>LR8f{00&mIBcB0lxUYXtCU6koXi%`*)YoxpBSAb-wXV)T@M=o5eR zeuMEo8kv359;fNkD@6RMqv#p5-K4~^`mSrW_kcmZ)}BaCw3|i3q?-JS;s-}@v73<% z%MeD~#{cu^tg!HCilpvu^i(#U2UA71HF z2JPf@mK%>O2P&Brn?}aEismln0vRAB+K?c24Qp zmhwK?LIiNekdpi4TW);vdGPfM-VX3v(VAb4%DnS7xhejqd9c7Jz?anu;L%nk(9P<@ zdCemeHa47(DEe zHDp&`*+`#Z?a)LSI`C)z@CaRw-L}f8=U1~-AA|q!p*r5O_zGFWVyk)2kKNU$AK>*L zE&}|jV*nPIv1KY)>bh`PR|w_aIOH$`5Dx82rCO+* z$~NMSbRnFfvl*xG0L<5O&6BgH!%|%~IBFtMWlT;kDHt)qcRICGWRD!5b^^p%+nRL! z6J)xc&J)DAyBsc7MTSuU2hir*Nnb57oG5Rw^w7m!(dSai=+E(rmKW@jjPVC!LS-y+ zIP2C@VV;7rz7|{WFFFt zd6GJTKt*9OpU;ffn=46#; zv0A`B3(##=%Si{Dr{66@h?o9n2=mH{N|OTUbR3Ya&D(CGM#gEbW}++2)+9{ny<|{* zT=r}s8k``j+j;VfKU!G7*YY}o87xB@ALFrlb-TJBi(o%s=ZOa~U|Ph?hiU1kCXD>L z7e04CK$V%V<7h@2p^&pvGp&Q6&GS#fYlwY41kx&uFA?8wc$U~jyv2c}(Fe<@Yav`1 zn-?nAYp67dNttn%N(c-IY2{t2r-|56z-OaXdxKc1f&B!s3En>zj##&PqC?EkW?<&Z zJ{aBz?wNj%c0~S@rjVeQaoSN<^uD=ZykWKI)Q~8PPch7)-i`b*3WO3xp7?E|zZAc{ zcvLBRnPcRI4Tqn6Z+B(XD;@$sc3{C(p7d(b`DH#S)4=fHFGlJ8bI2qAa-c~lyJq)R zW7{?CIwk4MMxKX*3*nH1mSf=OAC3YUiOc6-`1u=A+tc`*pdYzI3@ofSKK4V*)BHZV(xPy>h0E| zZS^k#o9~Vn{MR6o)h0~7ED+`(>!E zfOf?e7pU=vS;Qs9VQ^CHk&;(ei?fWoZ7hCfHl<|2QL=fT<#Il=zKjYf_Pw0mzj}ez ziwlAF7w4$6rTfq2Nte(!syEnzQk5I%4jd_Jj@BdcU57tr%cJuYYDZ0_j$t?UTjR z_}H6+8rt0s>XB3*-9KEHW3D-;U{?i_ds?KNsE_Q};WD{nEiUK4$e*e(5R?k|RO145 zXC(+fM8s-(c_ihqZkrrj%WCi74$3;|QG@#0PnHrX-)LThfvlj%deG@s z2auKhXrFGV?V@9K%Pb<7%GI1`zX~CvF<}&f4ST z*P{dOPo73bt zwX!QmgJHG9?TJHnWXI1oExLUV7Stle&dz9@z7&o664T25yF4L6vv6`?YAgVe)NM08 z+-@-=V9qztvKUH9a_BMTmEIQRI4x_N2vM>dBh729D&+a6mcHf?jY#+gD$^~*FN ztTboqs8kRb0cZf<7?QAi6#u|3uG$$1fy<*%MFgRD^5j-xNNT^S#N$|qlj(Q-p*+Md zH|KObRKc(^;JJVy%qTT&m6Ak!XEUOO=<=2WkxP3q()KDbPfgUs6eL*laiNv>x!LnS z$L0U%04S4LQ(zWgAbdeR1SpiF8$*NfAZM}UvRksL)YX17I*>S87|*pU#sVG?KpF*W zbtMRQ)?=JqKUD@Y$s_GpauWR&+bUsibjfy~y0At1yrPye{Rcjvx6HO#n5vwAea5P&UO8gO$L1 zIQXaIvpa(0s}CKc9HbK}l*cb5Fr0J#uOU7nO0@7x`mI8tf7cw+^i&2rABgeRMk9Wk zj}j9v&Yyq%_*hJ?`92fQARA=^HnK*Dtc!l?+D1V23M|vg#?j){N-1o(LjugY&+q4( zGxOqQHC1mDffzWP$Gu%aRNZUB)k3ekehWx+qErq*nt13*mXM-@KP|x^jF(7>tDG+H z{zZBHvYP;VW@J6vpJVqCS^VFtOp*UhsYa>?a_uN^8aXf9Rs~y zC4sc<1r(XKm zl-4VA`rGE3?dPBQ8gk-8Xczx`8WKU&@0Tqx)p8j7Sbr}e>m*e|Z1BqC(F$}LOy8{d zR&y`1a%yvt<}s>q8bQoq?SVZVA7x7h=6j_PU>H4;w&m`Kis_*I8-Wy3;7lCCaWvK zXco6wZ{aJ8Hi%^W@%iu}1eV-9B21Y`=#jT>i+)@&+o4-&EFned{rip7eVJ!kbg*y2 zr!6#OuFXh6!syotPzS-WC{L`MvWX_Ti)ZiIEZpwfLP33BA0>r<4s!omDW4;%sRuRk zemBtwa_;+wGX8ZSHq0IUC?=8rr^hA@e z1{0_G)9wOQK?Qn&?;Qg1xFg$>w|=SwPJ_dl)GzHR2+QZgGxpM}-O1qO#ocZtvUUj; z(oR3Jx|XZjFJA^3H%XJGxB+?nWHI-9uY(d7bt|$fdn$gXIPlduX7cfhjveH0uO zUMCPM)pqf25Qq*U0h#NH)H=0V_p8W*7*AXoa4v(`lt_uG@5qlxKQY7h;@#AAuju)u zI%>c?2$8WC!2S~^4H&0^2!*rJ28COGcUboKyI3kTK1r=9{F@w6+3XsdIlq|D?{(hs zB?9;-DF2|*$JzbYA`TF*VbyS3Z53ptCB)`2zQ-&_fJ4!*vL$<(AjoI$qA1jGt5K@MlY(!TgCRuCYDD;NcaU+yY5}rL_3{q zNlmb2Xs3>6p7qbjU}ZFWYSAKWRZvbUV0|H7m%RPLU5Xe`S3YCX0+g#bhCt+FVd-BW z2jx;VvsJ4JhOC>~pr1P`&xJr>G=3aB;M7b6;h;f?yaM{y5v@SB)sw9RxSn}(U3|EW zTq{S|Z)l%Rj=b2{U@x^{r5RyuD~|APWnVI5ejxo%o~GpeLyx{oBt$gD1z=MF#T1&w zjTnLg0A>*-`E&5T;6c#GxmthyXg^W=ubMZuv!_}on5QPv9J znEx)5|35y$WqQ)r)4``2lkqB8Yt+)lMxr}95q!;hONrt+`TF~Z56`=B{&UNS0`ZTD zBPeL!kcO+(%g)mF;WHn-;^E0&mj*nTE^~;hJ=GX^K!oG}-e&#-W9_;$hn)r|3t_Ta6dGJiX}wG$Nm>wTj#X-x}iabKFc!bQBdY|w6K--f5>~w zsHnT|Z(L@qT|C>}pi%u(@U%eApMUt1Aa3&zu7hO(N$5Tkm^B19=#D7&F(1w2uD-xBWiEQ_xoBDMYP5Re51&M*PaDTyjGkjH~ z=I1Fb-Jd8k$y=6blTh0H`}E;Y`0{r8 ziWeJZYIR0dMlB^r-%thkFE#*xj~k-wg$6Afo7+kt(_Km6zuqkWF>CZy{DIrD`03vM z_bt3T7oLQhr>8ai6C5eoLA;<1!uo!#ip$ zs0?-R9C6vdJtf3UMqAaF+D&g}pL;UeukkGojn%$C;y>0+N6=J2E2+-$wYJnKv*-ut z3YGYq5*JfDN*%yuf)dh-U#}jBm#a+i$$9_=`oQGG^-s|a?WUaK5VUo_iIUIQwt{4P zQ&jBJcEcK)+UQ)aWz8U_^xs9l8W=j(T619X?+Jy{Rf6z%)c42FNX2+-V|MHY=c1R< zTWEAZ`Qa%UV3gUAZf7pcyy5ZYxL50=t4~DUkmlI5*e+90;mR>YjdSXh$ z9JEVz=8-Q*L~Znvaf`SEitv@ zts8lEO{hspnDf$B`yEYl9B3#zkZHW9cleclXW=YA8w?p_)apb-J{wOOxZAGO+o%&_U^E#m7X*qpxj*Azp4^>eeg zwG+GKa{;!h4lVJuIe@{NtJ1ESn$p!Bw|MMX$*%=Kvzai|8q4Ko)!xUjy+dth&!bs) z`3C;kjv!vcD$BJ%bM_0big914{;w6i@efA>?q3Ee`$H@)$hDgWY2K>KjjrCI-o~Jv zM-97LMrs1456?qODJ9`_s;tcHg7yQSV_YOK1mV zHJnVjd^dV;r-gA2BtLp5uwNFP;EdgHuY7`_`J@#D^l{TC zX39u-Guvx#bK{exkYU*l?BV4H?;iueTHW^)Xo&>2se|{J+bM z579PT``Ruyl~L)o5VC>4<6D5G`I%t1Dg`~AVAz@LvWw|D?p3c7pzusQ^_vfN0i!J0 z-7si!nADs8JuAhD?5XMc{h{O5avni*f($bFX9!pvvQKg*`FZcOexl_mzVy)y-18z_ zvHNVn>W5LQ1pald-g8GZL%?mRvusx*!(m9GNfxV-~AtgunE)A zZ#(KWaf+8L8jkn6lJ2jR3f}Wx`j@w2eYWJZysXp-1=0_3CeEO zTIYzouLw4;!-c;)0i>(dCmf9qOwD;DT&9BemJ_t9OSHRM{Q-o81)A)0)#Ex6+7e@r(mK$IgFHMuLz=Qvu%5Tp8U zoOx>qcbZVTnLD9x!3#lgN9Y`PjqjA&SYwyrc=%eiMcaIodoUvNgb{RVWGdQXSVKbpfSFJvp#NkX2G~n?CYlq)+z8mT+MC>~SAsO#>UaaG&RsRU3-7vW9oG2$ofq z{Ww88z}1qg#zLHfl3nv#j@9#a?Hses4~$%;H*_9d(oQ`ccbTbh8o9|gT7cr7KJW8o z2d_3|Uo-Ro@FFHA%SR*2>fqk%b6|@Z(7AUmz|I2NsT6xjzOUA=48F_pD0xhPZHx}C3D>LQ?%4f2X(s_GP{wqTT^iz#=(=y94jO!d}Z z&>-wW-yh`tj8A1U8GKIlkjs|&_P%LoX_{TZCtj*WZCUA$P?1K=wziQ|UnW%{4+`c8 zF0Ajlb<0G#NE3^O*Ta7{@l8h>$UZ|vF_d%?a@t2wOq zs9?6~TruPE;Q=?$W`2Uf#8Aw4i)W|a$2%FAf)8wG5g?6_tOe$i=K(AF^}9T-;&OT* z+;^WEz}<5DP&wkY)9pfWGazIiOE~S~6p#uZK3Yf?IhE>$B={C6niZ)A^tmKR2iz^a zUUla2v_a=O^Gn@^{ruNimrdBGTUimtE6qJE4X+oGqNmjgmYEhF7X`6qu~w!7tM2LS zvezO%7d91QltMv0pvQmeoM&mZfau{xmPzE)ufuDu;!Xzfz1jMX1-_4(KBJCWoeZwM z;s-^Fa%uTRVy2}7T~;8n^uw0Lx^e@@Apn^5PJMR-Bo@LrVz9Tm)0Ed_t@gZv)%2xz zbA(#&g1Oru7L?C(YzotoKpR%oaf>J+IqiUef83(K&3v1FTB zuc5lx{pGR`tHt-VR<%=AL}vHLtSE9BDM#PjTlgt?~@j zw3{+|g`7fC;A;U?d#P|L*$j7AmfL#IY^?7Sm~MNKmrMy9cgf}qh2q7-8t9XJ3{rdx ze2vzWXFz(>1*`Dj1uLNmm(c>Q@|IXdIik(0_ZFzUa&|G9@|qd8(6*2QjZ8*Yt3+RJ zpsaTIlKw;4%#msCT;)^A1kCf%O-$cx1Lfb&&d*yzDswb%j%CG4csMGBye?wTTn(3q z2k9p)`$9By`D<*hJ@fdX8sA&5A*k%5Q5cp19sumF1RV9ekO@;f2knWMD{LNKwHo&1 z7`|p+!2A5$L|V>hY7(#WNFXaHlWNHL$Z9QW=)+9Xa;lT=`Mv}NzA$VqlCrHKmA^0a z%O#<^IBx7k_=83ZpsARHf}6acsIUx+2dfNv-i+rYVaFF6!ZTn{LsL6SNkr))ut>cKehP z!>;Z3HJp{X8|L&^Y45AoktBXJ_$)KbMd-D#IDgDVrp^IP00#Ps znV0$65x(LxCIc$52aHY$4{{`xo6`(T_X{we`=jhG>_WK-oEx$r6fI!#;6~#h9x9ap z9?U^oEr;W%()+M$qUbwh)H**eU-#V;LQ>qq7v@?UG0;opH>@-S6|;#nY}ElBp>v-z=hvmy@@}35d(k1O2gJ-*lLvdK$R`6+`FKjnRfe&`Bn zsgNpmSjcWn-#gn_rH+7Rm!J5^kZjZb{`#X-(aXaWz@18`QI#tsQnKtjD*VJv<>qaY zwAi~AYb4?XuJvaBd729zEXF4#Ww+dZs?R}B#-=*i4lo<8 zv=Xn*8wT)<`tO`W>a$1&Sw@Kt&fzaqi;;W>?m&hg;Ap&!l>Dt5-p4>HurlJ9W$sH( zO!1iDf>k+ALtW2?I6PYQRg2U#LqU@T`jg*06Ts6p)OV$LpF!Y5M4fr}{j#O@B( zUiy8!KyMQaRQE{v&XwUKtBFX~yjMP?$p`mtK8TZiSe$tYz+f@oDeJ1g);MeQU>!!! zW=MQ`)l&9m{wY8#oktA0&vw(gBS~7B<17*$MXUrQd*v2H*Kp0r*$q)2D8G7fNk3k> zx!bebZv}k=qJ|>pdIhMp&lf7z^NbI=*a=4`8!4SGY$$Xfje5ji0L4lDO+78tg~x^2 zjtl;>Zcz2KFOJYlQ>DBVYA2amqp?l?R*?IENIfL5;NzF)(GpEjX z{xm7^bP&6gTtN1ZkcN_sfPBTfjCXA_XT~ZQ2O59s^#47i0Lj`4qH~$RLVerHqE`?N z=0Fp0oMUJIACV2OgqP8_4|z6=c#fYn^H6gAzZ5O`onm*JD%$J-|;`z1caVG-2dPFjb^~0jZpyEZaGrW zvg<=*Ilr&7@VtnnfG98SH2#w~gx4HfisT*|0g@Xr;h5DFe6 zw8yqF<91Ra?L~Uy6Dz$~Op)gJ5r@N;PqMyjRD(=g_3QW5;8ExKx2|OrZC)#-Tepio zc5<&7$MKjBBIP05dOdx>?P+v*=sT@839CR<>sKnZmtvd>?y72x`v?Y;bHoWPO(_>~1#q?Z z6+P-{)ygib?`R-uo=p+a?~!72)WX;NRvj6}8IWDpVAYC<<{wsx4?}BD+0YgP`YZ86k) z<)mg@ptzlYhW~p0Ic!b;XZ@m~zy-f%Xi@t9(#9(;jFIbh?)=D6H@b0LQWdQO0+FfZ z7!a8F%I@l6#9XJbCG)-`h2y$j#La4Bttm)>iNK}@>`!=RHK|v!??vityC%OfMV#)>l_K17{H}A8K(1&NtFkV z!3wIIRd5|a9%6h0PkOVu+XU!+TDFd@5c(x&nxWRfS93COkCuekTr*YOIsYr-s_BqoJ#a>dbt4bDPd zVCox(iz|x3=Q3>8sFy($ih*85Hc&Qy<}mRu7j{nJqs=oC4Tbtnt96r?ZmH21b4`tl z*wGBxaHVvlF56+S>4rY|*`}^-+IsG^K1mOzCVVt^qu~jku5Q$d1r$-N>ZvC$-WgTA zkz(8CcdpV;uqD>uSba$!8={1j_6^MAs$GwiQ(Abf3QGa2 zbf)nh1GC6lmiIo=GRQO>bR*a@TCKLUxUR<-z@wl6=msTI;86qzyh36kS7^s|na#Ri zg>uL%(@~{7&&ezQX8aL;m$$fSE&bC-wua0;mjI&+f!#i;6zI z^7*ldZ)wijgiuN3(=39rhGWxleS~yDihl-s3*hSSOnw5u(Ktg;Y~AUt3;-BC8NLBv z!oIDCvR*IY)N2lNCL~uiav`OCcmMJzV*s_XV=jPc_~_5tSRcvdLith%%C0}-Cg6PL zU#wEhZt4fT9?5!>xblIOeNTPrV=#La_O{lS^mmfV!<@ZD#|`S_0hI7S_syaTEKgX9qQUJ3E)D!x^ycPORsut)COR{L*jYApj*FmY`mgth^k`gqPKXyGYn>_yaK~nghYQ|Wx5lyqm}N=CxOccKOp!oGNMY0KDT*fNi^%UTsOGxVijzzF?mIqy z>mg>UrX&^~;F8tkMGd2df&s59C5%Q@lSV^kti{f2>k~vqG$O^x8N*s-KU2n1; z*^K+JnRGgWMeyHP*&fIM(yI2$MJq}T&dPty@mIB?`sc8+lbEXSsAlJf19x7lq#;Y= zzL1uz7$u6`_1Cg0ZOrPtLF=JL%yf;R(x@u`fO%03J-|%rPYyiTXf)x{^Z^O>EuKjK zG?s*0sQwa+K|EhUo0y5SUEll0r!SZEc`j;5p6b6*g1j69S-O^+GrsP26dz?BI4Vgz za6o%hXfhalD)`l!@{+>Xl^`(GNW5s?C|qQ!=)E8KqiZ=S%FCr}ZU1V#tTa>E*G z0J3SND#dup(PavegyBr7o3{$LaDAzqCS_JtpypaUEG5z$R@QyLdbB7iFGCN&u1vLw zqNc&8+6--0VxY|Ln7OIrTgNee`XM7y2pMcvbCP(OL>vJy2epq{k*=eXi8;Zs4xkGzC;b5rx@xPXB@Jek?%z&r+}mdfJbuEHQP6{Z#V-Cq0voDd2_o$@+q&9xS)YN> zJGTLZ_UkihB@WSG25tgcX=f@8y==7|XYEOrW77#*a~(5EbD0@q*kPWj2%znJ+7<}# zT8O|M_dKd03ppF$?&83vT|2DnEi%K@&K#y+#o9@zmF4_!sR|cS>`9SnIeKoem>?=X zx(ETuY%Rzv-BFI?6 z8GJZ<={Jwc;cIf?OCNZN7n#QKUbWl8Ht@EoMv+_+9!Ft)iau@C{|b4H!_SKD{9C#m z0LcduEwKO&-#^E&)6M$%C3Y}JIx5XF@G4{Qub2F6LIAdA(DAOKw|DK4D4-8?aBqk= zYjplpzO;W$37l6{3r1D1~0Pn!J9KKZLFS<1_e+0Lk zOROeYe@Onr<^Um7J>MQkTuasI1$0#@&?^k5sxASK=u0HWzN|N$8Ix5U-Q7jk0Kxvd z=IHMwd9zfpKrTj;bs(34XJPiKe~=L%0iEyN$k#Qvd44}I|3z?B&lh+3|5R`Mz5D;7 z9=)aVzmOOx(|Ny5 zzi{U-^aqpa_qP9USPt`*4Ggj^PCbp6R_`|Zc{hp$N4$Q=zfF=W1c9r)R6f4GPvp~I zGs9!dWxaqy`X1fzhsodF%e$Fy*{MCzE%|jvxVdPuHgFg&e>h8l;?;VIl(Vh0Xb_52-_Zt7@ z|AUDYD2Dnj4q;-#sF{tP*0eA8?7W>2WR(@HW?E;0yR)aR!9YNUl|)xYR+i$vAg~A@ zT%8ooyaQ+nu@((%4UCJ83Z{7TL?+E@{!JwksnmHClx%x-cVF>!P@Pxc9@e6Byc4*f zp?@}WP?uD8qumk3tl9kD@}V!&z)nZ_{!r=LRmbD2{!`3V zJ`1btCaibhRhSsASm6Fa|A+ymtgteW@ti``>n_dDDga2R^@#94D6IPZf5&G^pTo}2 ze|VoPW!Hly)&KP}!LQ#3Okl}LitU*)2QR$mtr zM1pnq?ghpGB|9Q_%B#=wc@F`Yyxe<$E!)ejRvTILr%dNXtP&<8nl<{ zNb;p9LFCdBWz;XsRG}DFPPnDHX-}MYF-}{mghv@)I6ZEl_0bF1#7~T-cRaS2+g8+Y zahN=4v2FfMhEk(%;_pm~e~yZWkHtn6zto=p#(3@3dcZFXsr%1Sn)2adp7mQpdgSn* zz15>9XYUi?Tq{3J8dFuABh=h5l8xUi)ap>Uv4jGK>Jo< z?yV5ZeGkftf+6FGK}2zNfYq-S-Qc!-YQ>-!I5>G}I0^X)Gg_{u0sa=W$5R2aiLKra zH}(y^5z*}Yc`KjS2Q%1?nG&bpDwAt~K%wI=_LjYWSunmvj`Fsg`2DUSWY_pZ7n0_% z!LA=Ni`t}Aya!ogK#i8mUV36Lmv%qgiiZ2!4;!PsVvDFl-sW1Xum$j%Y?c4doopy| zZm7UJSs8xih50k1J;+V%HWdWi-efK~DKhgZ+Z&^@>h;=3B*AsmwSJI(_^-T;$82%y zjmynJ($ffczdGxuL(iGA!!zRWFC5%I7OAc+MD>eW{`iV=s~A~>eapuh{lt7BtF?Rr zPU$~C8FM;$gbUc_{K2!!0Wn_i`Q?@=_Dhfk~OUcC<^`xfL(AyDb-Tu(hH&HMqZ;y+XFC}V5Zwn^mk z8`RwVkI1o}Bm!WuhfDx6P7)pVmorg?-8#UweV4GZ)A-v z{F34TQqe(8J;FEb>}uh$zN~BI zc->Lrnxor{pAg763LMd&`387aJIpSdXj4D50*>%I*BI{G%2h(!;F~(7epkj2b?YBmv>2hfdcO!l0J-@ z1Qu;$SXD0-9=da`{R1d_U81OO0m?#QKHraDJV0|={>Tf&LR6eH{M!fS8>wetM^B&X zL^j`oqpojYzmOtk7)ZDsq}~=9nc3g4Txfo=7cVZG5ypAPZ;T3-Z4K19r?8(Rgli(VsCd4F7Lq!w zAbaXh@-KvVrT0jx=n?IU97cPm81T~e_O%ygO^e9pFhs7;vhELh7c8KlO6|0l54gfl zmU_j58_KDRHJ_xqf<|7&F)qZ&n$Ea9>B?_|7aK*({~}+S_AYcbeQ^G{{5nW?hJe@; zt3ksnYx&-C8LBaRNxeHbpU5)n`;n;qoBqB~8%awf`0+3o8Zj$s`4vIK_tif{2Z|N< z$uW&G>1^R^tp9p!ay@i*kCV(wiWIqMa2Q&!COZBM(+bmG5h6c^QzAsbYnsG zoHtN*G;Z|RN%Y7knOQH>pU?iTEGg(h@FWy&wxK^mcLIp2aTk}1F?3wc)?1?^Z0)F6 zfo%{jbMnKJ-(oUa<5gQwj|z($KI-YB0b8)EuvnqxF;XG|fgE!NAr98R1}U%tM=Ss$ z)6z8bk}y#)P*wfTd{~OYFc=C1D%l?LWW}h;x%?_kY=0 z{7_IHP`mG&Hhoksrgsmy+OA9m{>H~sz+5qnmT-H;7JNKLv>1H1byooPXjyQhB@`dr zW>!}J&VIMDGm7T&PibJ>ucDR)%t2JyU0jFMqn#43TUMx|EJg zw|?r$AMe5Y?R>0XUnyycWzU;x3JYzTeC`BP+4tRR{Tu~$J&hB&Pb+O$T;Gy0gRqz_ zst+XVc5wxb$;>oO0=D6(sf%lF3)xK_O}B*w22_rYX!}hH%ASJ2Kehk{8g%XK+H)g<$kIv?n#KCO~=D4-}sLu`_ zH^7V|#UZuoJc!9Q@e*;_ck{~!sJ3xWvS4HD{!#eCIW2Cl!|4i_^mjGA%DE{3JDv=D zz%V3qPYZwClu$N+iZC_02b&lEOWnv|r+z-ekuj^}c+Y=a;_X@byN8`@c{CmYp-<1# zjli5em1NvtRlCdv>Gbs+f8VPUslujK00Lo;P@%AjT+p>L)NY5-;7`+;@{^TF#glGD zrMXL7_wvR86C(Ix%z!Pt-Z0H5W@7I4LpEK?-p0>ETl=OjX=JfLSCXUlCs_f{jzDLd zW$L`lTTZ9JheV(l7ALTiRnE8!A zYv!G-?kOUfoh~l>-fkUr%X0Zg^K0(6oOBRsR-5>06Kni^-YX<+E$*QH!)Q~%QLxfJ z30BG=t}i2p7S)1$I2zYf%+YXJ*F|wDZ61%*11l#_0}@(U#l;TLuaFuO@`*heG9 zp;^N?W5*>YS%Ep~bQRLMs)P3ekN>KUf`S6ctvm@4)W`#f|4e?X<2Db()}rg`kYoIL zdbBZq*(c#Z*-MWn_*)Qer!dp4#}SuTw-CzPu$tJr3H&ey zi%P4fPG+Irnk(f-1)UD*@H#@FCaD2DO$6F^JsKMH>@+qU(sIA{E%$ttYvYSLiFSG`9@2A*_ni?tx=>nc5pd zUl#J{FugFT>bdZemE5!_A~>+YLR6_fq+Gz(ZxhgqgCmofTZy{_=$Nqs0F8zNYZA3+Y#P*Ctkx0as4)iQ74H<>Cf2t)jPPqS>Z zeD_cJsa|&-ItYXi)X5XA3_O6K0@Lb^baOu*A)feJ4PV)=d9^zcmo=mBW5PiyK&pdb zRY>webXgoV8T$9QYn#`~q&e?UX;S5BLkkEF-=jk$q;|Uejwi`i1-bHelJ0LN(FcT^ zAZUymd`FJxsN5IK6OLun&hDf>fIMvZPSy!}@hDW-S94x+${K6_i#(*};_dsUpH-8p z@7B2Gc3>Ws&_hD5hbZK^dzy^CC;d!$x|H0w*WDqBB9v-0nTSfCGUpOX^_>i}9R6ZE zi*MMugI(bWlJqui$LDmbAcJXEavj9V) zzHT;u^5{!Z5bW|CUo+-<=_JdA{4ns_{r+2wHH2~ zSIQybEj&EDvk%|##v?jf?}@^;zME1tf_rvY_gv#aj| zvAFMu{_Q)*s$Hy)9p8OCJlmTDKB;ITYIYjDdq#lRXe;Rx{;%H?JO12#vR=%ZwVR?M ze_|H}Y#{v=UUp&V%Qrnlc-;o}GiVChWW$m-|Tz*55Flc6kTF`F~y6ACs*`= zI*+E;W%X=?b74|G&N=$fnCH}~@_kvEQ^K22Lz879U~~Q2VZ6yXGUW1#{FL7L&o>j3<`;}0 zhnN(5B!sYLrC9q^nZ|T$F92o!ydMwGD`ARwV|O*Kn>flb2W$S0>Eb}mALk+Af4(v=9 zt6nTJRJpBPfk_Tv+7Z@q%nG(xv>W=WYiT~r_iK6xv5;|CXgs%E<$~lWRzjvlrbBnbMbz@H zhxeU4RkC&-f3o&D#~lkziabjig#zW=bjN3H`h54~C@6-_p&Whs6?PYl+~skUl$$OH&eeDS9O>TV*S~qQg&DcM8y_2+{yh0xK@g|IeE6x#&iMxX z^O%Iy_Yp~R|lAYv(uFk{W4EkV*ZaM{9 z&U?C-Ybyu^n!e3(PwpnbNc=tGfI?gQAM!oBnMZVSm@D=%Ei)B6>|Z3!uAtCyuT1pT zdQ2i7z?Ld>NqBcp8bNnxd>}=Z7ad)%-@Uu7fO@;s^5o`k`rF*hn>L@jUIw2*?%iW% zCVm1f6?0GiizXk4OAL{!{V6xb5j{ED3JU$nTLV7=@>zd#fxQU+dtfX>z!Jj4BfJ7w zLLH00ha~=Oi?p-heno;iGKz5ZFakWh+j3#dzyxWyWjzc7&Om{L7k7eB@qQ0vP5?;k zuXqHv0HS@t%^!w;={_L%J^mj}@JzxIQ|@-^s2p)t)=cUxCv6lsc(x`m>_R8n-JNUL zcWMWE%Ygc@QN2ee$n%fcOUIZFKtaZ8QxLB7fwRODwJM0B49 zh1%bnc*cpE7g`cL9`i0*A9PPgyh$|Za1a=u+~D7*ll;dn^h$v|u4ek$1%2;zItww) zwrZBYDbi*)!&Ugyvyi_2yp8kd!em8*LhyWPp?mYYdmjvResI|mD~4J|(M3E@#T$qY zwNd_i=E1_9n&K1w0H1_hbvwA=mIQXk%gd}e8iC-rv@tmmC|&`kgtoaWx4j$YKRU-C z`+h{xtfEl}@)oq`R#&DAum^jke_6=7?%lkAnomWFN`7vUjg6zRT3}E7=?9n94hmhp zwaGjMO&5zCbN&(MSFFlKjF9C)gwL79M*vcDIg51!+66YG3QUW2?c3 zbWO0J`ccCyYsDOOy|Cta3jO@%tTrg=`8)2E_Ee5S{)N+Q!W{v9Jx(ra1V;B*PoFa+ zbJ}hMJtr-opTLpu-hO>O9Tjyu#JJ3=Kzd`VD_e|uiW@(J7TX#7Hy358YZB`7xunQY zC00x4p*hPYi5f=vvY)M9tH6IFe)tJicRxlJA@ z2cbd^yHzl1r6%T_m@LP;^X6PZB8`&AvbC2SH3)>V&@p%aW)iV9`-gIkm5EddUbI{O zZpAyU@txheQ{$DO34HVip#~qNG;%PP;Y)Nu)^PjQe5V|N5Ig=It$$mpZy0+{aQBlR zE7o`4IuUQI6mhUF`O8M_7t~rgX zvE3gmkp{_0NuyIM*oEj_O>W@pPSWgmsci|s_REn8}vLuT8;?;&JQW9C-SE?ZLGHf zuT_i%atr3CGQQ=u>309%^`-$tO5i4RU?!xzup`LIdCG462(C=ln_5G>xogQ|CpjN$ z;g%j6c8-R(r5afVC@Lu{FZ04>5q&5xhV(!+ z0|Eai5ha_D@Vajq%Kg}^SN~p4{7)lzd3UhMAle++VO5T2aZyHs;jVQnPR*7^WsRk{ zCWN!huWnv0iS4Jc3g+jPpF8p4({3Tf&zRQE4YAtoEtr)#ObkBvi7>A~#;Z$OC4iNS zSLQd&yh`=0;&5Dgh3(S)C3A^pyt~}JNg2MboXoxtr;qC^Dl7*#q(2a5d$lwuTzhZW z>&YcRNm!>&X0*~*^PU)kp2!(8buvHua_CwMPTEYmQAm~d9o&n)x$ZHY5I$0NegW2I zGglV(4$Dbg-%`txF7|s~1@fJ&mBQj_Mr-=VIX+7cWRue~-XlCk7hUUvORmT-)oeY2 zgf4vuJ`KTo%ZH^l^wPLzCC}I-c_D$i2JA`*Ezl|T&vnOd4M|(Mj3}!_^};Me z{B_FI8oD2?*XB>m4>hf?=pRb7%MfnG=)lvL^wh)HkL52gocFYQ(}o|rI*icem9LIu z8m(m3VphFS&WQCW7(q_&wJRtJ1=H;=||>#@h&Lk)ZRu=!SIN^OjV_6!@Pjh@%~P+suXE>U*FWqqQJ zI5X+So{E2Ar)QjkH}fWXBF;I%$*S3tnkBzN{Ulv%XtuqS+p zydCQ4trmJ*v0m`F&#+I$H#IaGtvF zd=gQ>-BcrZT1R&DeSSG`>kNkh8)B8?`~1w0I;0h-Fp5kEwyrHb0i|aI?=rwTq_f># zqeG~Z@icdev1k`#{TmDciZaL{z<_iHk@ig{2YVk;oj#w2f1c!EY7+I+Xf0{fmOtDa zd@SILX^DoHBP1Lqu-IKgE*0h6P*u0B@18$mbbl|*0kEq0Q#OemZ?npcde<$p0eAY@ zp^IKCEylPtG(?A2Nt<m_iv~FUyATu>0#7|(FpP$z_KzH1X0mnXxGdSoO!Xdb1_^Y2=| zL%-<#?S9LvL;V|~e*Z8If%Ohp{O4!;`FHPn)wlKe)7par2M=dYdAw0kJXux$y0Tsu z&^S-=`S&&sd2bb*iHQ4||9|}~R>JmhUMNI`!@e!BO7}EFKujLsW*J^D8JUES{6SN^t>J3Pt>`=%+kXr3||#`S3ImHuTZKfF4W z0FzM$tm2qRWVq>HcH}6YW(!H%-Sq2%w2j-Tr&l8&GO$0}cXaDB|IqWruCZTR?6*ZO ze+55dMu5g%zzrxgq9nta&0#m>!`2%5-=s&I`SqQ>e*BwzUf;-r@OWFZFQ?84$o`D~ zt)iGN{hu)$alPJAiVS-kZ=gAG<0((B)puzc3$Hv4nBvDnSCpAd?IkUM5W!}HNCX|u zu)86@#wLd|#uMgC_8P04qAqsUzN$ib6LhEGh}xD$%R3p0}shz_LtSpMk57A7;Ugw{D{Fi{aalRK>J%R9S`VfrShhKZ6Tq?doFz*wT7w z4kl?NDXXP@>b6KN7^-$?(Yi+Qh*~>0tt6^^r3AUN_RVi9f5OgWKq=R*%4}t$NzKVz zw`5HhY?E{A7FFL{VNC(4MStvRjRP8C<{tk1-3D9+i4w5kZ3}h!%RyQbmZK>rt$6R{ z6jiJ1S05yrxIV%lZfa2?qHjO>0=aNMsB9L+nL;)3*1A~+WOWB$Xx1Kdj{b{x zX{w#Ken%((#`(FENv&Tw~yj8UzsvnF!%z3;PwO=zv7 zoeAp{+`pE_ASwq0jL~0il^||$KQJ0DS^hfDW$l_QIY=)uZMa!0awWMx7qqpzKPr851W}T2W<0*WvuV%-H>`G{%YR27tR6Y|>DmkIta81<#j^ z979%A#q&j4BShi7#9W+dY7Tly^gCJ&aLzeA)R`p}Wpf5xt+?Lv^n+>KGpCBuv=HGR zIjEsVCq1T*qDu^EBJ~UrW`?SB&!E964(@SX9@B)svs zHhJ0eU@C35tS|h=&*N0fPzy~X=+og~DsQTKuRKMf_ri>WKL??eUU^NEcamO>7(#Yk)|O-E!@VIB4BLB*M(WOTIg)bwEe7b!9Z0n%&9*! zV>cT)@T$x{Xb^QU9T=h_wIW#$IYa|sPj!E(l!H5Yp<8W>X71?S&ZK7lB4sk8jTp1~ zN2M2u(u>b;ZAhzPr8%Dk+RmO{Z-w$NxrqhH#EA|)bAQUmnL;>WNpS4XDjv-5JcKup z)JYwrJ@KNCa?8Otoi58+y1@*w_ZrGD_%^rxBbXr~l>6wdK~0PUNKWJQN!uLmpA?=L5+eI7MMF-y9NoI!z*W{!*v+Z~fIG^rju;oa$^6^60bUaw?%HZxv zz+Jy10)(^&dQX$AZYIbVl_LksY0}TQT++ss^_14XGha^eL;X2S3?$@{gLwd#z2j=& zHG66^tdev$tIyfAGM6J;R)Q5nvSE8{N>$}I>BMrXURdp1xII@v0E1|i`SwiOROiI) zHnFv~x*BTUAu*?`XzTOTsba zfwzH6eh_w>lpVl3<6M~~b@zXaOgAmvb9??GT3@J?^z-Cfz1-TLLef{(1mtY!o}>4+ zNQYG3G)LS!Ki-lK2#tGe2B+V)6)B?g2+jStRpEQAyV+GB8k^m<+mX-U0F^?ayX4nC zW17d6K2l}5C0{1fabPiWz16wKqAo+2;R>_X4%_%a%07W`*9Y;cp$&4yn=3uADV*8O8NvB&B$n zW2IWOx@>X|S~P92bB=m@OK+D7u03+$Ykcp8Ss%l979V=xFimF*%ix^KBM*hOT)C(sUJ*r09Ah z6FTJyrp!SBm*o&o$o9+xCx>*-6S|33rV}3GlF*ifGW&IrbNo9GDr17^IU4JGerZH3 z59DnUo7X&^tg{(7`dNiO2tRV5vk79*1B0Fu@&>Lwff~urv9JG@<(~LuuN-I8TnJn8 zDlCsoBV4DCS9c#p-2x|npP9BhNe{%-y362i4cZ9FWka!h2X~@!GK6_N7D52;kDC><$?nU>??l8;>sYg6f>5-fGx<$f>t{$r7(^uS>tn z#Z52z%gnOk_vZeOuV3|Tz9mp*pZ-jaYlbi5EZ*}ETNt+5|6ZZIC?HJaDAN_$`0p*I z7aguKS{=4g;}0m;pYy%^`-zU?8TmRzLDuDrtLClNlKA=~By9Z@tG_b+bU2BwacI~YH@4g%}y4-*Cy`=2>&*eYOyfp2=?bRoB{jt08i`;V#A}c_xu!Yd_^&*`Zz#C|$O6bxQo{sOLw_ z`mNKgebOJ_we8NBcO_)~ROaZphd6L@|z2$HAxy_lp^@Z&McC)LezfDS7x#gRY zz24ljYmJfw7F_GhUvpb0H2IRk@2t~r56j;@|9t7n%7$O{yx!4Mt9srQ=Nz#7ImuM) zU1#Q;)Roul=Q4yoesAYrZfgE}4&x0=ov8cy`>O0hS9+|{n|@67*Ukn1bJ-+L^Vo~+ zf4;!_IqOpG)c4D-y#N+zF0Tu<9?#2W1SOPm**);^JGbP!vB$eOiPSsSBQw5+N35wl zWL3KF-VLn_>0EcOyvvDLviak>Yqh~kLtgQ2^VoM~t@pR^FFSbxQuDjttkRg4dacb5 zShcO3RO@;E)a&&x+3xs+?W#UJWh3vILp#=+Z1CCjFO%iP=GdYV-;JeW(SN@R)Y`Sb zS7lq#*K_#V^;<7)>rCZ+9rdK4bjHGer&@p9UiPW6j_)_?imv-N?pS{}y`WaT)|m6T z=aLmiqWU+U4ZZgLzS}45ryKtDBp$Na_1!SJLF@STwOjY!a*dbMoHA?GR?g~QLD_N( zj9>m$Znd+y+PC+}dc%uqvHwk&zMOMd{YG=^{=St9Jo*|S8`=zcsZwwtGM)bZWAAOfI&33Ey(u=pWqcrBeJ=lMz09<0B z^wB0C&D(l@)t?uSj;9{pbtB!$ceERav(Gw%4Kx=N;Zq}j1(KL&fG3A;KEvd{CHg&6%w!Cxw-Wjp5(rd-PoJseO2`MS19aH}Q z_x-ZHaK#BiptXF7nDgWgtG=K7&HX>%-L}82?`P|S7Desdz0>oZ{jb>Pb0M?+v!^iL zx~KL1-_^zY@(+Ma`EqY@y#{c>#o@~3kZF6hxj;ki|Lwc;dveE}yO$pQcIyGo;EONq+@*JNZS?jz^MSJ&2VD2tzxwV8 zWErUIIqd)SO8e)Z&*$fYrBZWpeALv`AnICnFkF4H|6Se3qvA%UrcYylBh>7SnY|j9v0S}E-b9unfP~r zJ7O^tby!%0mG(+XPt}x^n4Y@1*xEbVU|~H8PfW%$(BGiwUYk9RC1bjEi~Ezfg4C_t zpa=2_Qeo;(u!ATpnF@bXyW&m+gyARQno{e&e)z70n#hQX;S~3o@-NQ{bEOs2c`~oF z%(Gda_@m6d!-KwLt|N2 zLPA5aZLKcncG^wlL(X1|w?D^RU&0?5e&SNadKYAs!8br|Z2`l1fyOT4qs6KtI${_c zOe8r{iFzhnA|C}JcHiVWBXvK-UpinF(j`aIIbg@y!;pN`?`)$kCVc`7G(%TIE50go zC7DP0;SHCRI5KxZ%mlkFbLmL8+!2_Zc$D~{budSE_Lupe-=gRybuw57mxnQ6P&cNw zMDqedqVM=~#9D#;cl22Bbbk+tZaJIJ^WSul!K??Y862b$53CfTUE1h~F8rAzs!~T4 zyCqcaf7f4MKFsNYBrJg>yDGQwRZ6K+1-zp!Di4|tqh1DswL0|I*9ufRqg}HkZ2!=$ zSu2M`b)WNG3Ht=)_{XvRu#<6lx48RE65ddjQXr9@PD7nrFAZ<y+Ib!fQzQ8nbIE=0W1wf)$Z9Zy>%ksjF`yJXi+JuH|Bx-Zu?k9SQL;rE-2m}DOR z)Euv3KASg9{3<%YrPc$fnUR*%ziMg9VR^)cov!BS`@$FR-9i?lAN#CI)G8z+IC9<=fms!L*H@hvBl>} zWP-HU-zWbd1(}m6kWnbAri9Vt#H278g~_%l$dJR?sKVtJ9h*CpvwQToBuYHihcU{x0ZyugigKEIx~!kBK)4RNDh%u7@dwLCqGjuvoq^Br4Hp(_)Nzw zitt>ON*15kwkI$>{-W6G;OcCT2#@$*N+@L`maX`m-doE!l|fAzCXZ)T<TT z23#Ce;_7rNPf~TBsZOfc=bIE9KfP1*#X#f>-lK>#ZPUjO3&wSa^+CFG+}zysJPkZr z#uU5{4S9^E3O#g-G&V%EKG>=q<*|<}SJza_R*zO+R(pF$%_Qt<>3m!pnHX_cx7*NJ z&rV3~6YG<)`E*FJqP}uxCB3hVo+^YOus@}<$1XvLM5I*2tmvtMrXkGmoF~$d$1u9c zqwsE_u;GqDyFrz~MB%P}b1ur{L$2+Y)iMqP-ltPVUPfQj!>#TK`K4m760Y*E`q+|2 z_6S=YKsHJ&$8Q-i6hlq5W^`pA`(?e&LlK;46K8}J-O*vyx615d{_yP{lw)0cUYkq{ zBKyg?ZIA%;i1XE3hX~O~(XB^&Fa3X7I$Su|ymb2U>et(n4->V&vPxx*eZQUh>=;u% zqnzO+7+(UBQrH<}Fj%8F|y9U7DGy#Owq^ zUI}fAkBeu$YWh(>e*T`IGsp^ITRE9Kw*0v$)xKndXY}#tnr)h`Ocku^d6nv_hr7U$ zTMIAWnapz9RNPtc;UEM?0m-!fk7LuU5M@wf37M=ugok?$pCNhgx3;7kh#7vg(!{ zd2jsJki{R%`&~c#beHRA4zegm?Z1rj6wnm74Dk;MuSu=R(OM<5C4c2-yidcKQ5E9; zGjV=%sj=gve#=hWuFj-R$r;}G;+tLlo;zHw(=p;@Un%#@gOCTX7@inyomxA@nod@x z*&Q=j*{iaG*~hbrdo#1mCPdCs-r%#En6EJdYlXwAQ1LkxWC8lM|9gKGf2ZqL*FUeR zuXV8R-qySQ>Ne_jCN?cj76}VZFpd-c=KRJXPSZUzc)7-Y&b&Kwb!<;;L~OyQq)(MU zR*Tku%@;8g$fel|YYBf9y4&`~f}#CEXnOE40mf6x_3im_-^MV@HVe(;>c_&YcB;FP zS7a-cHT;_v)jriSjqD-h@pSr>M?&KQwQRK_&Ti8=^}Gjv4i?Yzar6{5+jfKA(_f2- z4X&$ssPkzyNsl_NHl-%p+7I_-cv^~CiNQ}7*c9~~N07N?SAzbJ;7qB>O^+I&^Srq*0~L0dlF zKK26aOzHfsVaC^YhGd4ZQyO{2cD-R{Xl|%fWA8bsy*SjAIqcQB{R*9WF4 zWhZWXW16Aj%;bZH)}UOb-`1<2&wZTct~=1;BtWy*(n>@~K7WYef||vIq^?uSl{zTm9Vf=c;k7zV)Dwa+7mB zGdGJ*Lehf=^Xt3)#)h$--mpjAfV0mVvEA(*_tD{+Oj1esf#Ubzs;|@I`n0nA4_cPJ zHh$X-t#t7Y8Q&|FGL?Nhxbf$w*jjDK7XL)LbN%c~=j;*x!~BUsk-95q)B3@0ek()O z(mURt_hz@AY_B(QHl1DhucF0C4GeL#z7p_3o4#oqt7+HXJD@Lnp=x z;&eb>M2*nvtfR|`tN^=XJDX-y^P}ONY|tLj`nLniuE?z9k>tQKLd;XN)t1B2gzEM2 z_0cQ134EAgGW}DX!>oPt)Y0sLU%&kM_juB0pgUk1zY$dRnaG;^R`PFw=0Nur1TqQe zbo@$o`SSCpl26Rs&@K=??(5%*`g&NiySF}e-xhSidTJLn^ounl>Y9{}`CLav$~z`S zI|F;u8F>c5cQM%W{P?SVBlA-Lh_$qVsM%_1VetUh_*mGtD6nn=SGRz_SfTb< zIRCoF!r}lv0o;oS!NLPRDS&@ZKVtv&^iJ2u+kai(&b;}eg1(ZP8t|!awVs9`-KI06wynvaodV^pIs?x#{TdKmUGDn>Y6V-IKHXe+>&5puo)&0U>@tf&bLZ z!`}A))9mKSznlGQT>tJ)=H|zwp4z{$aeSt1?*z;$@M?0B!jEMB)y+Si{P&CgyQQJK zjhm8-6VT8@?!TAizZ(C~hySA-rgOrY&JcQ(1^bLvu7Q(Q8c+b;Y$2cHW&;vLJ!|Md~8 z@X`NkaH_kkE)LZ#6?yWf|LX(dNmkgnX`tfpAKJ{jrwA1W9#|xn_Ef3psqPF*11_+%i{fKN_%Je~sFrWy|i1 z?d{ved|(h4(@GO9Du4Rb5yrzO_$B4vFZ!M5gZznMqt|oEf4tmN9KxvY*Oz-PtApvr z^Cm~b&I2hz`Mzhnwq?zy!o#v>CYyH!n)Ve{sbmg&SXT$d=R7vv97s?7MD5uqfd-QEZT66jz@LUU62XC zQJcK(GoBNv7e{M$ZD%vyP^FB=AMT~<$X#^ETy9s{9xnItH|b={*-n^xd!9fVJ&IDL zy-OP|R?|)85VwNb!a1{EN*H~8K9=bB$G$+V{986vRydv1!NS=d93!2Ovu)EJLOjTx zY_jNl4UA2Dt-`81Eu4}w=|f64b^Yn~q)2?bv12gL@x$fiiAcg74%p#&R9rNo}0+YV1pDYam`(0_u`*@D2!ScCYj=+cBWQ z`DIyBS)H(1^w+JwjfS|xBIA;xDB6o?VP`_`-mDR z{Sy|BG4V-jN?Lx@eb)~1)mSAGA&A&OhUBOt@?v%M>S$OzQ`*~0_YTSZ^%2GDhtDcI z@>&2pV{fpZZEAS`^fxd;gQVcA`LMx{olycZ@wy%1q%C1=HqK*Z&^ZhBnRCZ)JGHCR z?!%8_je`-=drhOqJ5v)f*XK*YeU;Nkw-`{ZS-!ie#*?v@P}qTrnGY4KYZ^)+OriX~ z&vIOd9mk7}xt5kKhuC?$OwXkEY<$)GS4N_+stpXaE=I9VSE9vnpP*pO;V*0cSjjSv z!PS4}kpGtVpS$y^InL>_hq_z6Q7mD=;?qG-|dR-yEKk)U@LSjT81)u2^M6%{ZbY1 z7BKn28SgpMu2;mC_QhXoh4C0YVtv*>g%0SdGTJch^Ea-u*tt^u3U-ISk?=p4B4~L% zUBAVxpPy1(+SrFX=hpwwcI#`MmnZ&<=nK?v(hKK}p3aYtvJx)Vvf+L9%j6DHa^`7~ zjuo9WA#deBDjvgt9m;FHGzu=oOcWaruiy%0#;`q$@Ld1VO0Kild}cPJa=wXoK=7W? z-ygAw$6@Jdkf%;v)zAN}9vNfEmXu>3EZ6DYAwtWkhUQEOc?&z8w6iIZBG9R%;#J1r zZ<2W;7eW}M>VoHqh7=A?;ENm^paI@pnIhOo$B9eZ$Z<>VG4hH)XEWP=KYXiY`Rm`V z(0~Icfv#BdYhEMI|6RH7>MHMg9j4E5aRb(ZD76LKLrDd!;@Wc`jT@p-C+PeKA9`!}Wu@Ie+(yhh|N`838wAs!F98;ncX1A5F!IML}YDmo`vA5oeJsE_|WjXv(c6$G7^XVVk)&SgHpa1;-*{--_j8Kx9~yRW*7bmovU! zpk?~mGVY9I|Zw^J02=ba6C70n=Cde^9)!ViN!8w?|7%`oJm z$LkjB*@0b#)&+=RFH1_OVK@hYaXLB!8(y^6>O?2;_v6FF7&FMd&~EQTolSTUr!2_6 zEqrM!yF(38f1RH2xc#pX`931*U87z}&)3h5-2Zp&<%1QlG_W`>Cow!+5Xbokv9hHB zZPr%>+5Vf(3IXyFLaoub`Wj`;Q7UmY{)H?opG)IL<V<~3$#m1L{Z%*@F%pW4x41t)x$;l#Wd3KclJSc zMkDg5kl<6FjlATH%RVCh`tQ#g6-p|hAm7EBS7SUG9i|hdrc>lANR&k!z8cB<8yA$O zA;bL~`H6_oh_H zgg6%rne6B2dKKB#6su_wCCR8_9oZ8DqYk7FrqFH0EbVX!CGNv^0_JArmUTt6`Jwgu z!lXG)=ITY?LjQt5h3oi*oe&il<}sbWZv738cyO?{eS`5Ys0;{MikzluQ(r&=n1*GJ zqNFQHsmB>1^-K`QYL~fLeAjvBKX3>M6B#Ask9;&U^2#)K1WqRZ;oc*{S#{57mC=K4 z(B7gYeej9OJ&U&N#twoc@$IePNHG)Lh`WqZzcL9oux{OoyRFdPA&bKjgoSPYv)R{s zw9-c7Y~caqaSbjGdoJa;AjtpR;*L^zhPX?X5Bg-n)C@AFI}1d66)%1>gLCxR++LeK zrK=8|%1ibIy!Y?Sj&C3TvCH<$@Emg=mR&oHM&Y$St#dY|O{m2PHjoxQ@j0%@^!n2q zcCBmEBm26OP^X8pWbikf5Sy|%oeiy``b3@MoOxLyRKE2Kfm$)#1k-Jk4Uy3WmsU}$ z-TrhhY09NV);;nXzX-cwq|wtsmClMg*j!g_iqY%01%2_Ou=c89Iq8E7ntqim+#Wu; zcut+6gpFd5k>z?jxgHI|@X4Ge2Lb1?15UpNzHuu{24Ik%z+o%7GSbVeJ_vZi@*nU> zltBHf;Oft1ktZ)}FEcKVW4^>sYrOC`!Dw&7TZLHoo7c%{vraGKVQs2V3~~3we}`OQ zrjH#Eo0sfky8l>MBPnbEdNhyTicBdNj3W^edp$3I^!+xe#91hrfo2+!Mc4A;qX`pz z4*S;#vuPp<1-{yjL<_xZ8{ukN%?u@B8{W^4KL|stK2aJ;+J{#Fk#Z&u*L7u~FRIsL z^E=)I3=*x-_NhSAeCZ1rFMAj-N0BQd-p_#f5z;MgzUJ~**mkbE^wsy;9?rOSGp?P! zw?cr(>mtdt>YJ39{=5#wZ+++d#NUUI2y#3igEFLy=Ckf>LV z3FZ8;!DQI=SM4lnCig5&JC;l9y#wdtd(BS22b5UoaN>**A?`+U0n?iDnqF19XV$5M z`tX)`Aj@_jF8RBfcmb1k~{^e=@3S_{E=V%H)_m z7Ni5k`SqFtoD#E~t%D(5HI8zBB9!$AC5)!53xEu~CrEl0`rvKhBoKQ{zA41Ilh{87 ztLuYLMFZt!7QY)nzz}5Qbo{>)A*GE(Vywb{iQk64j{p=)H zk^Nw@&IbRb=hFeW?IRgFX`;QFnNp9mehIrWwJgfnuq2t8=LLl^$T5FsVvT)R`@4-C zCSo@vx;+;te;%wdQdT$ncIZo#nmPXMu#AuLNouKXphG3TE!YBLwe;JrFs%GK9Km)~ z-uQ0Y63(rR-&_dm5O!({A}G2fJ^6$Qm!A%+$(W`@P2_!5{z&A;OX9*CMAKbgSPALR0OJUElWU@=&X-mqu%9x zx%W{b9pz8NP6C?(6CB1%QrU(tQ}Qv(rcadb*rQaZf3u*U9h&RZv&EgaUT0H*ogjY> zKOY{Qv=oX?PWR`-QTu9}EtBiHuGIgPL%)xB_wIR=VUW>N#=kJb-`Vv?J*Mw$thrhV z=B+puZMjlGk@fv7yLcejyvgDM1(|mMnd7(Z%E&6c);_KeY%2mAsdTo7S@qN^Ksvp7 zO4P2xqKtj{$YLXS+IO#cH>|k+f$Up4KJcqwg$q5mu^&g#E$|t9kAyKrRC9{XOwP0)2Vrtrl>}aB-Y0oD*$-5~I%06l!>P7&LASnO{JVE%JaqF|I=) zt_N4nwUf3(V>W_1eQm+a$`8?WM4*yhCPi{6T3hBo`OGBXQP7gul;hHf-(fH3E*EBT z6OZ|Q-aQ+o!k;1aG{n0H>^{rx$0ynKO&g<%BcDLNx4S;X>-wDUN2*gch30`SA642h z;cTz}{H&GCZ>k9Z@Ihkn>Dcgl6PWm8yQTxRo3&IM#pI0GxC=Z)x}N9m{O`3){P2## ziuW6CHSDjf?Qfo>P!#_rOi%k??u3N50c=4-)NHIA7;{yX9u@qNpbwYU#5~2rd8V;O z@@PQBl*~wKTO&B^8?QI{kpMSbZ6sfdK^3RhGtEkGa-p2d_$5*}WxM;WeYW3euQEF{ zjE2LJ{B>tUAo}$=*^qTry;I=R4r0bj4}t^SXYWr)^oorhdRv!eeKh}YOQ>sEqT}BA zz5PhX{E(o)nJPgJnps*KS=pot1_0;RZHP(ga&`F^1%s+MR9jtUH??~ zv;X2-;rKY&_fbKRHd&?}f@kh0W5&{v(x)Sff%1({FdpLDEnMiOO@TA+_JWp*cWQVCO%N$X zZjv29Krx2bAmEgh4<`ewy^KkBZtNxRk0KR*th^ISGX|_ zu}5@vGW^j@_hvO)VaFzag?a$i89b{}3$>v(Rr?Rfj_UoP@(m+a(P?3LyOrJOQ3bgb zHk0i&z$|3UFm_oxL`$yH*?Ho=4@$3z;DFea*U>m{FgY#aSZd-|6-q!(mlt<+4-Z%N zh>~G$lEOZu3cz?TR}j;A;hSJhTP1lCdf|?f!9C=qGp;wnp0I<51kDtXlM6wqCK{Ib z)=LEQH7`c+8gXGeRtOKM=KN7TWWB5LeX`1~|7%H1?EBa^!3l~d*^284LC~}-=9G$j zjeANX%kd5wus#80%+W?BDKdDyMGh_c_lUU!Zn&DJ*m1XixFYjJ`S~^?0Z{-ddJcK^ zdN0bBnwPMaw|xoArIQ-Y2G98|9w%QS33gylg!=Y@LD9-qNk&9!l|&s5&P~7r_+_eo z#?{xeN4aT1vQT!#?rG;TWn@+L0st|xlGtM{=g3MK?98zeM@7?Tn`gQ@3Mc&JfutKu z7a!h#_6(tOaWO8dm3hR?nq6)0F)HyFJ1OtO0w6S>oUb$5%5z`>3eR*EGVYPO2GDNsfOBwD#8(U5B(iuG1fT05*NV@CpEkOXcSA0t(7kJ$QbJ9$uZc9 z2g;CyPI8jUotr-nhNHKjs{p0bV`AJD55R&s*u_e6qV9=-l<_Ib&(gQsqUWBd^YriS zhPA9{k9%PMrc^13Nh zQ2&NWuPLX&t+E#98`ewd!NTzkOXUL$&om8vIyIaDJM6Xn{_d9T4Iu^i$kb=`uPr#h zr{&L`YR0BXk0;E02M4mjV9KP^<&vr);aI=z&V>GD8I%CP16~1Sfqi7u2XBBGP62?U zbTRrP;WPgP%isZUGD>A5VX#>g1-{yE&j(n@)x2c0hyfHpPYJ2scMY1fijmd4Jlz=t zf(Yx|AyrkX7-0;*%gaDtT7%PKY&qX6rO5{&se8DaUw1G;bel$pmEi@mb7+c;xh6+@yf)D7x8_yAWhjd0C!x#;ZTEE)=S#N@gywi$U{ zC^Y9{PIqUfZfMIZz-y%j%gMeyem!?4<+Z(z#NdvqWM=!LHf-m=zjwa7aJd%3;QSJx zPSXQm!-UDk0|(;ir`%Nj#0+A5sB`I;KbYKq>8hrhdQEovy&*mFYpGP@-)TRGEqxHb zH|qpsyqdFy(f2TJt>Wo>6Tr^dvmL$r4=*#H9fAdhg%UF)6?p-f@7?U0@#p>I`eX(s z#${$R)sB-Rxhj^|$b= zY}PKu03L$T!RgKSTX-p+6Q&a~0Oh~BT{SGGX-2I+vT0m+NSLX^d|dXt=F8R*(tp_f z4)-ZQz<+xs=;c`1%VG1Sqn;9J%+aRaguewcz~%k<;c#q3px{+u8Mv8ke-2 zXpph?G&<4L|7n>y#%VPF!zHrITY{WM@*p#|T(r$wrQ*pK({Httz)LgIw_1Kt)Trp1 zbNo{fd!E>R?z@)heecgPpepoiN;`a-;?KTva{~48EqhNE9tZ&2_NQ8S1?+8fzTrQ& z?01%TDp*MmDjOLc1WPNXDOyqX{SWIB`g@iPjZIfZ;*w%CVZa2*t(LW13zuYAD^e4Y zKM^nKCS)(6S?OjQH>-~tFamb;8sgU%LtZiN3q@pS?`pcsu8~rAuzU6~WH*>y>q2dV z9c*MJ;xnkM@RTqPo`%Bhznkq1u(#!XG9RAe8EHi3j$sn?wZqw)zGwOOe3{h&qkq8w zni5>IgWO+3gqeb=1miN-zXeswIH{l1PmH0*%W`Ko92f}l?4shx+3OY=!UU8R)HJq+x8 z6@`9&M%Vu(T(t5Zaf}Olk`-$*sD_r;LPugDs6_bP)8ZF(&h!%@^<`EFoMfwD3XW$f zC9U`HWuGO=y!yqJj5hV2vH4;&N8 zm%~cnn9Dhvo_s){n2^U|xq`H8SN3ZTrahYR{B^AeY{BLm9foKPl;nORD71e!mOEG) zp$wTPydzA}ri&w<1Pmjo&c8#a53GgG9VlewKW+5ddCu{2u_OFWu>!fExuyAZJ&?PY zdHhrY9&&Dzb$}rw*Is9`o}&}r9`&1_BUuHd7)`5SOET>Z!9Hd4dAfR33gtfD3g@>fGA-$(4XyA39{a53b8 zDMJ*tl&0&md{$EtY!z@J5}~AdDPg`F1iWh-1HL}*Sc~^?McGXubx(-4Iu#=TN`L5h zZ*Hz3LTeL>5Zk?I0D_m+$az%1Da}*CTB|txPk%lt+&<&O>yFJmUAwSrz3tP3^QBss z4m6E9RIt8UlOch&1yBTMyIi$8(HQ;trPJk7LZTzRQ>{6Uyk-!;{-lFEw@G*+5zd>< zrgpCJX5?HmBNsJlhCI_SxeT5HZ=&~jL9{dEDmdUMX7 zP(lB>a&tl*TKuF?nTaQ9YXbIH?x}27{b!dahb~tH!7pR~gM~)O@8VwpKyLMe`0VQ- z@^O9<+kvowsAjg`pEZ`pjG>;s;jV+rkDrEh$NW?z;PsoVTLknY?|7l@WTp;?9=+y0 zp^7ThX0bFPNNuzGf$spjg&xf(GYGf2ZYcE(bLf3bAm?PLt4wPSdfne`4PNmB5*}Vi zn?hR6%b#sp?^@0mBW(d6-f30)A`UP357GN-OG~-{O5^O~%$?e)p|Rdj(v4y1JsELb?^aye z*Uui;t3q$Pl>B&&8!FfveSX|e3&qzkkfESc*$ETf8+rknrZh9TqrKe|5uD(>T97WGEQe0n~d`n zD`PfnpB0|nk*Fipr_(kU8naApjLBV#JP<2FkH~@KuHpfb1Y_T?(+51;yTD&%9D_3_ z_^e)NclsuvS$#s8A?QQX=sgAn%c#9@NYb6NIO3$yLS5D~=j6R$wR2P#?cDiRF`Rj- z05CnF_@jN`f1uyM?Oy54^>%O(nmb)bZi#dwzKeA3oUugT;F4_U%)93gfFS0MH%7Y~ zVnM>zVXP;C8%slg1Fsi#1JCVEs7DbX-WvQfI(`hpHz&Vk-)d&1TMXe&8%wJ1A-7L71w#UWRG$BP8;R~q^M`&}Dr@oVi3=W6P zY^!1mg&5wC7pV_ZhFCDL$pLJJ$l4+~5e^P-96++#ad`QyT#hLH67u;T^OiXcQ1CbU z7NN+C%gtnNu2r03GV(twMFm-Ieqq!rIb}g28xJWROY&*eUV#>$qzi@9Cixt#HoVaM zNWt&Qo~6?QJLqh~{R9`j7_wkFnab9agJVB}I10OaX ziPJ1n@Z1skfCM3UGXBSeoEl0an=l%#=d6dZL{PTjStyd!RRwH#riEatj&FC%4;L=o~fv81y*6an~ z65W5#y%)wL2f0*#5g{iBV>i1G7?kRWRkQj9P-c|nZNnfP=>M7 z_cyq1_0>h?`N=J!1TK^u%^M>2{X-n7KD8i{&LoX~$CAR%d;yro7Ex8$9&y)_m?dIg z$g0b_ZG}x8K6kG8d;_kF{$-3&tkDrVpoA^c-G}>~#EaT@(S|d~p!RiM!F^PhrLJ*K z!Wh6Ka$vO`CCPaa_%%%YdePAQa;Hv5D@qL$$p8;L!O!OOYta_DF7>c1xwxY>DE7j| z;!mA}li1`NrOS6^cK5`ePnC+5tUb8uj7&}e(eMi&t@=60WlK&qVOsAV?RIe6j`)It zDt`PeUi{5GJ;mV>#n!xErFxr^K{vobhU0NSfDIXo^Bwl6aB{w%gv=0gW*~j5mCm^h zewF$oUCb%%Tk;l|FN!I1bs#mq7rXy92M3db^&HNHg=Q`RC5LrbMXl3RqX#6{6!3| zn2$8mBwTRA@5jftJQWY*iyJ$fTz}BjJpuMxm`uoYF)>lK91H8uabyEL7lt^QvMXjk z_bPD19grd57QqqHTpXa(daI1@Gn6z+QKXe0nSeM_3@_)`U7P$BbHJeS9)NXoYj~#2 zQCy@84RJ@+I|332v#^ByH_DKN+)iA&5G&+ZGsv}rS5Q-gkB!p*ib##3%9&83UZ4=3do?aDg?LMb8X_Fc)Ei(&Di zCjthSRJXyiw{=;TT+&c+ay#b~{Jg~1YCAC}yojxHRuq-x)st5sWU_ojxZpKm5$9Qi z>+!!Wh04;=O5@#5-QI(IS8>dSXi1=4|WSKk-jL!D}#do9&+*fx7Iq<@vF z5kX(>toR%F9qpX0UeI=@bU%Q%Hiq`4u|AYP>#oK9@_0z6$1wr(r=nppAm0+VI+s zXk<7ZaUgR)jFP$u@wK9Y+jB~pJImLtSfU7oo{TU!*E5f5Bkq_oG4{WJp$Hx~Y9wYYS zQJp7q<`%l=7l+Bma%gt5UqVIj1%HZ(oO)s#&-1f6_}&wPC*&r6`9)9)IbD?UOnL;Dc|Tp1LR5 z{{dK0Q{S4tTfuop*1p=wLe6U0siBB%3(Y=#X{}gfAa6et##rf4lsgvz+){e>5 z{3;%H4E0BdB~wWfaVfGJ*Ai05z`}pYcE9e$l_1IUURQofO3OG7=jJDPK3s6 zBMnY9lMDNis${&jEK^s61Avn{6FJYG9cW&ftDFHejI?-wX`@Hn{I6~aw7wk~rO*e! zcQEiJX-zXHw!T+m44Z;=-uMhX|BC&@D^lrgL2(kC8A5fs?tTBjc~&C@3IW0v(c#eC zGse${$)Y!AalXC zu&L0)e#(~l^YncGbpRx{GD?iJH5OB=MZ!yW1b)-{UY*vEwx}|Bs%%b_Wz)lte6HER z(YojP7ygXmr*7E?WhQ)GY2q%ghGdW4R6(<4@8fmFu*eDKzc%B0Jh0Z-@0B@lI^`wG z3iTf}@#=&RM(HG729O36uKj~g{D@C=`_^fd{dmct9KUPP>WSFSqb7;` zw%RStHb!rkv2b+;6ca4)^Y~vKQKvdu&hZ!xMm#Oh5}WLJyAK&gGucod0Z`->P=B~! za!0LcKF+WRax~u;1VeQ6k?y`s5`}gmhMG>v4U;^&8$V*0#p7BEAy8_t0dQ-YUzV%Zr^tw5OUUZvf$Kqbz(35 z0YmqnT?tyG*us+D2F1w1+76aV+t2r5mc$F~;>7;0Hh1=_@J4|mr0EA*(;#UtM?r~G z8T+e9Eh_vT+Lqiyza4;k8{GEn4cd_en-PRlBKj}nSGIf3_rOJUG!gxv1B!<^zV z6zN{Re%p-}5$DC7aNb1=l|-V}rsP)MLq`B8oISt90R7Fo4R9$!Hx+$vJifD}?D5&} z4;P?EHw8|@qyeJCerjz*L%{R$O`l7I>rz)k4s00u=RkmD4%Pyt&7@&%zLzCoTWMv#31AN_N)NjM%Oo)!y|uSnPD; zbq_kf007}MPSLc<^;F?;Hv%W&!KC*hz^c0Lw*7VpSA(9mBf|Hd9+&Vl2XTR)M8w_7 zeb50J&XOIJJ)2&_{|wZNwC=}&78e3SNI|=&y%Oj1fu>n8a;U;7Qi8+HKHf49-=uH{ z1&)i(P6A4jdiu>jHO2iDQQ!5abIa?foF4$hhSQMD(ST+J!pyk?NaKb{&u+w{azwpq z%!8X^VUneNf5wK@z2fY3kT*^@pkI9-%dE|o^J{ef#&+J3M>H2R3K9?g#lVc|`oNG5 zRASDVewMzJU=P0m+BO2LVd|$A3gx!#`$Pabwnv3OxuMl!V1!Qq&Fy%!0rnUaL0=QrqV1pRTF^LX3N;`ZsagOn{ zHfnQi6zUP-05Cs+zk{y2BSIZm0Nc;UrUj5ywH&_lUKxN#|nScb}{Z>47iGvi;Yuy4aa?O!>+C;fG0!6ScC^v6P ze(V}@t$)HlN24CyD?aES22dbPe&{)4qyStEr`%%xzkt;LWGv>`zB?IErzaZx9>}~YpSqp0H)ekj^9u7C zq(G~@TR;zIb5`p+$G8r==v{{K&$r8ES$+tuspY%cmxUt_1kTYSgf}K>e52H@L(L8# zc_aQ}b5y{!zSuA;a06;Bh6QE9H+bn=od<9CMCSX?w-KkrOnSzs1o{vl0`kr!db)eNGK>M8t#p(8- z_6A!JNf^1&!YT{$xW33b;1S`H=nDHvHV{~BV#R}0RT2S?DG*39#D>!z6?2i@xSS?B zbp5T-zZoNk2)b*Ngt#-DE=|eR%g9OMxJR9_OQXA^#NWz68qO7kW$_cnPI$vn+mE z=(+v-X9EpeOGK{mr_F*3E^Lf4&g)y9S#A*WdEvrJwR>oK{Z!EoS)TY8kWlRmi3&Y~ zM_One6%``{BKW(2gljY6%cst3C2}rhOeYam(m6z>iV2S>|1cp@^4jRmRfH_EWcyTS z(;@g}cJ39gBBV83=t;#wyR+z&Q&ryAxxSo^q~y!-b2Z!V%$(ekM&xhPH~+6DXF!32 z2&+)n!!^{u(Tm@!zsKTFzM;7J#%BF5o!r}r#SI9X4SOSi`;T2|LpoC;Se{OjeP3|` zple1RU`!zB?xykSLEZ0jYF`+4?e)s+C!S~TaXGt~I=wb(O@jk05^C;CpZ|#GP0;=l z^$$O4U~*GaT<`Qb?H?2RjwO~9d+gQ3i?tk>Fn+#`PQ|QmqGJdzL$YCzRX@#EI>!fw zG~>t3?HpmodSZS{L15xuRi?(!}f2je!P9=l^!lB zJaAq7r2GACREh%L8MlGwBhWvpAO5a~qK=-X~%@iX99$$;MFH@n^GhE+g+5QF-i z7~Xk*Q^2_0g1OFD2)wg0ivSEj6o6Rs7YAwAb7YrOE(VD7t8Uzlo+`W_v>ZE-TEifU6 z_FF*cOba<(u6%);G_3fw0J>JG6Y}b?KY+#$PyuZZU(~<;ME~ej0=?{8kJYTKT&4LN z>FMk98n??azUS3FHwO$>0b=tJP$t}HKUtaAAJm+ZuamvoMQh*v!nvU{3Iv{=hGWpF z0j2eegi0?=ZgO;AHBRI~H*Hpew_ucz*KE_eWM=M~10akFnSS$n1W0XeR&#)tv*Xao z%IHM_fmvkdPmRdf7ejYn^o_{43h=-ELH%me=NlSe+X1>!ptiIM5K-y-h75Byvj@+q z6CaqucJ%Sl@qY^JNAp*2YT54>8-3lJ^*eqMmwS3N1|B@$<^>aE0|M!IbDgqrG#Gsx z4;)Z&pMD6f&(&yCUF=}=L&fv+!$AP$(<@!%2fK(zlA$AEi&?{L=qJfW5t;DkvOJbe zmVV&EFi*owBSsuTOChgQ`fe%ZjNla6V*KtF_*K_H%ii6i_SI)ZiJ&^O9SHqIA+1fb}C zs#*m9I1q{4JIGa20B}?F@t&wXaKbYs#X z0Sm3}bLUG$q^pS@(KY&jncejyj@Y}90@UrnPoWPsQKNu%v+yM9rj+1c$1x`5vAs4% zI?06r0X&eEHgL%sfW!w6wNL=o>LLHIo>ts32HrWRPL|WUT>jir<_BaY&X6ZKNLmVaIG~pon|ln|0GYYJ;MaN7DQzM*RxD7bv>$xA--|`=zBoFU+(HThA(5vC zD>^lY8&CyEPL@u#f9o;w$Z~Cuw`f_SVL3g z0ijMOD1qQgTuWWBS6O$xNPRvwTUlUX^GmMTHwEv(+rB8c-9_I=O}76;eK29a2kd=H z26J_k8haD`9c#vnR)OMPQO$V}Y`>L%8vv_fK()@-20)RYVFOXdL7dJq$P|iZk{^c70T(q%A zM7l@RDPnF1EThV!waUEn~*t!Ok8m|Zo ze99P>yX3Q?=1Fy`UkJHVNqUvKOsXM=3OzzNbP@dttyl$WNfM@Pj|RnuGcbTtyyIkB&(;B=O-8f=($iR%OeKsk+WWi*igZ9Xw8 zac3r>ho{J^-XXqcU5;#ofEpG2xFyU3S?)FYNa(0Cb(HVg&JS&?Y=vVD-6i9RTIHu+%;= zA&0!mGix{%Py?O8P{;AdNUMsY0@$oCS-a~jHf)cyNU360hcD%PB^f$>X2Kn5^=A*S zRrGBsz5x!-AxBrV%+>c1zs{soo_=+DAzu?)jM4Z>;g9EVJ1Yu%sC51Qy*CE@g} z3Q!t_75$rI<-ZEX{*FB|_&91pIRG;GNp4lIrCeVBeTOEOEb(UdK zg8c<55duVBpl4hWszi>&bnJi!kcI95pRc#2v8DblGjn)jL`k0ZID$gVP|563^uqzLU~2z(C&ARXF=l|DJoTk{c;@0?5u?wu=E3W z7!`h(&Hm>S!2s#ERRm;%MzEhhV&xKtZKYR|?oF3vF@A#j185C@_YoL%N*A;h*bjho zxaYm@3*R0-&Sqxf8mFiCa;SW<@g~wG;~Ka+K~a$@MGA%}LfT@jio{Lxa{%wDIp{yT_L$5v+_>5GZR=EEzcuSYD+CEy zrRj;d3Gj(-t`SIbQ#pKj=F5Nwd_Od?gt%MJ00zp-gS zR0l1vLAKTRf1aq{P6rV%a*Tuxlm`0{}QmHQNRQkW(hWS`F)!{=E(AVUE9i z*>)+*Z`NUuJ1^0Gs(O+b`I=4wHHM40dbuJ(IY3nPUh-d4a zzqoIEY^zDhHlJo|uZCt9?SaQ~*W|+KCf^n}>T|7L)25DRg;E`5(ZzJDs+MwW1f=?^o0U&Q@{X97N~e2uF8sr7qOj4R;DtQQkPu+-oI`)HX1$( zxiuqi2OGD$kkrBBK+PaWI${>d$V7F{de}o|A^^Ofn`;&WH-qV=p?DEv0Dbh>G}uzB z_(RUi2wvxzD*)VWu2sC=7#C0k^L>7Vr*YVNxy%pXzL|`yy54cj51R@|=BG?q%ixC2q8rA{l`a>P_Ico?m=A}IQ@BE$`CiY62cx58?xHpLw zXLwcLuD2X_;uL|=C?E}2&WryUKSFm{0%&Apa9AWf7Os3P6S(2Ic-3pH5zZ~{Y@ybW zm-P--oM5+4C+N?7|43f%=6;gLbPc})BL4l2FAMDH2htDa$7@Y^&_8cjV@BH$6RTbP zY#ZzwN5IR%f&QPY-x?wJUO2776>@t*@|7Caec9B{8||2Rp_l}gK(fQGWp)H^6qnXx zdq#3m0KZ2nT$x@F0#Y+;{M#1Sb{V#-f@bTzjkr6Q{I$``eIs~d`X=*-Eoz?V zlK2`88|&1}OdYx7`XY;4Q47Xsqpr}I+O@hv^~tcPjZRvy?}2)ao#Fs?-fMTt^tT2_ zHGvRc_*B>3P7#T)Yw96zDE{B7jQG)gw4IT}2^lIY2NaTqwf6;hqrdqhT9@YyPKP^0 zsZKsvR_1f!pTCCf$7)XMx5mGWSPNCHjuDlFSy)_)55!jh0E;a zCbt)`Ul6cAc9u+*A(Yvpo8;tLOamLL_HrvX*#j8xdv?^4$YA6SB(Yj0uGZV% z6WXL^X9hPENx$O10>4bI$364dFJlh!K6^iV|LrM7U>ymFbX_@|R{@hHI^%dF8%ykh zh$!IxDZMq6loi%4;NJ@cKEY5mbSkI8+e@`HBM*vyIVJKJ@n&Y+RA$k&-Dz0I4a=|R z+SXc5M_dbVlhVzMI*henUhi{X%h2?!E0^Z|Sa-sU64?(HWPAGGE`ZS|tliJa<0$x9 zxP10++fGKwAocWBohbvSwR_=VPjxS0OG_49L`|3=Ekx(=OVE=81ya2517V8xq+Vgf zaiQnaR8-J|z~mwA@o7niyGZ3+``h62(F-I&c|$EmA22M=0FpRMbtKcnPz}&(07lCZ z*${s@%6X%v!jF`cUJ9( z{O`NK|0Hqo10E0+t0Y#A;wF(}?qE73R!W(g#YH?~`N8lgkTAu#GuLPTRTsvk5!5Z8 znx)w}iI{1Ksf`-A2PWEHWeiDGu-W32`X(a!NV4NG)PeGZOnh*I&6lkwg`^P7 zQ_d~+3JtyJqA}4|{44niFP!BD*8%CI8KU+4h-LbnuGzcjDpp$OudXboAzp|=wb#u6 zJ;+7wf*qBe_vErV$S`H+Ve6*hIzI#U_lR?n;3ugz3Ym9FXMHq`?0Y*ydN5wO{^tz0 zGGPMp9USCjI=12QW*wD4$*@i0&Sf9XUe5IJF+^)VSm10BxIi#7E0Szeq5al=VOJ%z zp;5kM?lFSX3Rz4w@HJ9`lJ}Ttz<1yc$1G#w&f|mU&REan#OTic32Yc>+(Z)= zvg+QxtF~ab-p>^PD!9>lQ0I-+DJuMT4Sv%qCzrqX%4!=fg4(Qa#y`+J%u+oeJ7Wkx^S1B6c0q@TIt4DcLvjrMf?Kc6(W8UwQ8An z{}>nBp=nIkkWm3(SfqYW_I+ieS>}^u9oB1^< z#^9~z2zUF9&;Abo@8_*LeorU`emYW?x2D?m^+XL4QuS~fDFf6%H3+>HxesKBJ#V#E zwdG}4imLog5#L(r@mahAldzoknCaeBOXY|;6ND+h34d-_(-To~2e2-0%pR-$J(? zOOCv3N4qDXH?dxYFh6G>t>XD{RK-PfQkdqYF3-^Jq)whqp932;esR&jabv&sImmp-Nrfp+^=u$lGN*q_#rIy%CDgakzLtRDP*NMB2xm1hD!jW_gV2AY|Hk&`FU3h6owMIL z>kC5KT<`Xm&RbFbZI{i11!r{SxAeW_R{7mzv?(kw$Szqi*suwDYwEX&ObG_Q`w573 z1gqF@uwoO`JadPi3fZ|uEDF?LYX<^wJVnjYOQLJ}R-CKWk{_6#Jf66)^uBed@*W`j zB*NQf(n~!m4pK1lGHkMgH3$5tz4K{3#GA~M5IpGJpR*pU-;#^2`?@@Iw%D5Ge)5rf z!fNa`2TPNhAi41xPc-1O{dmE5#@;5o_LLkBI|o)ul)$J29lEQ%g+YIX@aN+fi>&pt zw&m?zAn(|ikE;)Oq>EH?j90UhYHTOJ+Mn(o8>nPWmvOw(=5reh>ucwqJ8WIS7ws@W zFnW%4fK)DxJb>J&k8~kJ?=zakncDfEvW@uW(NBRGgJn@Gy2|^cu!{Yg|JCYamHbfK zjFR$J`;bZ~)j^rn61!ftO9vhf4R5_`!%=Be@_f-&Xl}ZiWEM$U=@9bbXns~J*_Jql zJm^VU8~anV>7_urqvG+e35j|yKc)tqd1tLI-ZWnKGQk<1tUBwh8{pppyV)lw1D?9> z$fCH(I)|nCq80zv#nZvyu>Qr0HlZ#$e-{22GU4RKg!FzT>40&yqH| z;jz(er03(^%`#MZO*feJWjHhC)gv-b6|qPyU<}QKoY*ueI(}*V+49?>_fC$(qfe1a zDfm3saSC*Imh~c5W22EB@dDR&A&x-vp?Mk!p`@>gJL1OLra?l=}=0-OxjXU!@ zY^CHLTOKhlhyV(Il#F(WeJ|U?EK!sy!2{1~iFMGm8#;zJwMRt7?QkT+d7S9IDMzkXC87(WES76M&ux!nc6_BgF9|q2 z3VP%bVNSAv7Ae8bXCW9H&qgWe;*W2Kfq7e;z>cY3;<4(4#2R1MwX&BXI`Q~tKKxc* zAGzK;Beg|W=zC0yq$!bEBz~zI;FMh!Bo1cx~ z_y74;ZV0eKu=Tyhr8F=~? zJ5hhi%vsm7vg}12t@r1-^SGm_HA~moRog0}&8p3-yqEN0pO_LNcv;MTaLiHj8pL8t z`_OMGMxQXQ=gj2RN|Ne$5@~R^3H08bomPCIYt~uu00IF-EB@1VbB#K0eth(fN<=aB zIjR1ZE49GwJ28?xT`akfcg8uL+o=Jm4{{prH?M}#l^w*dsFdjo(gaj4H>p0S<5-Z$ zMkzM#B^BlUjWy>ow<*yc#_c95*lH$H3a>ImC0f6$Gv~M^ zB^G{(Yqz4DG2O4w23S+f@b{n#{u$KHhzlb%JBC@$SaoEV7ffdbYK7AY39yA zHGD3#8h3w0WtT{^=*-zhv@*xv4=HIt=-H%~<$fH@-TLnk-arnYy0K4!z?w-Byr1ic zisuAcroZg2P;%F^cH*1uhnC-Iuy1G@!G84v#VwOIK-it;dt_N_rVURgbzJ#oT4I+^z=UWe>6%YOnD{ zUDCru8FYfFNyW#h85q;;tkBuGWrbffPyhv1=h~6_2^@~eA@P+Jl7d3siV9l93I6SD z+L+W-bCv$kUaOZ+fJvl|m#pznuF*dcDH(JWH= z&*=J`h^z{~pMy62em-u5!+TMTl;GH`a`ZbbBm+@w>=x^mY`p~fef<9F#`i}wsRY$_ z(eXOMbJ@}ZPi(%xai#4Atl@QErE~9Z<;4P^k$&`kYr8^PNRlG?_ zrj~3YeGLSo_xj04JbQse|BP(D8Ut|oh)O=@Ub)ninzjsFZ=*|&C?Jb`_f(qR%ItYb znB`zMZlHO;-PEQ6=bN;H<0=3tFl!dG;6BigZG^os8F4L%DO4$ydLdeyYu$WZv|Xsv zOEOtVXkwOxnf3Gdr|%DTc@r-l2d*7SgCAQxX~t2i`iBT}94_4S>z=gjMl!kUA0!-N zGdJ6rT#6^BBNEFAW>KU_J0a`l8f3!9b&ZW|u#r7WD>B;JVJQe!eR}cbEIo0!I0=Cr z_P*(4Bk!e>>@+79x8X~~uW-IEhYQm`EZ&&*DS;Ms&-WXn7$NO7<@AHn<6^8SH1aFy znWQ^Xn;TsVWU=LhtR^6)+}d+BBFAEyx1t))OMYZIGz#+sAMD&z$ zPgv-%e4qqPbSJ3PM6g@G-mfBepZg(ArDN0<7tVZe;P`>(_VQ@2bY66p*A_8JI2dl{ z^eVJmaVyQ!Td`@A@FL3ST|fv#fwMXC;<)PtPsvP$)eEsa&kUXjOla?qfl7D*0noNXC`1A!+x)<3 z!CgnffDOS#$$BP8h`!fvtw8w(xdC)cA<2?S@7pd0b-*3Wuzr*VJ}(q5l|I?0p~CT* zX=!sHiN;#U=j?0aR;={|5LjM3(i8$P^|V-|8@(A9boG(^P~|!rkRA4uhD_!I`n>sxSA{vUwyHiA+by_PqdfUDWpdI$!K+{qqy# za^P6YW}@;Uf1ikqJ|^FVrxN3T26;u#*W>Y+=u_i_SNvRAGT_%gj-2_GniUq_9V#Iy zg&htTrvU}r#8i$mMm2p|fodH4gkSF<^ro1i{ipK(oHtWCF3jX%p@pGF-$L~JritnB z3S{Db?ly8CnAFiJuyW+R5Lx{;berY*Xxa$>uFYwGrz=cEakO0xU2y08>%bSxyrvBP zU_(dx>k3iquTYLGVRF9%Dh(zr!Zt!ySUL+DS_=ppUX)nQS;e8a%S}LVya7g7I{fw( zr;zgs-ul`2ZR9)IcX@v^Ro`OTrld$z#QArZL+n3wg0!j>2SW104a4F{*zP7qtui33 zctkOg9%37l`G?9w4*l0F&HTZE#J#~z&Gq&}{b^}xf9%?gSc6KGO8;IZ93M5D4x4+x z8TGDPO>!YcvZqA=B*L0W(`2`${RD*=tk@0+g9sTNDxC};p`=uHx%Cju6eqK;_rqP` zb35ZcYQZrT^p)nsP+myJ&s)=Vfzy9|xs6zKe>ZSWtw_^YbN%%`xxs?x9oiz; z!;T%>kjttHcjq%JgQv({qUO%>s)eX7|FEhoIj-vRe29>WUHIWNNdDl5t+~~!K*7$z ziWY~9c~`R2bK#W?Q#>(KqmDY>?f}0Vuil;QEAwY_Z_%*DF8k_}(2TdHTf(*%h6B^8 zziVF8;SeK0dt1)1<-sm+1h2qfDVjP zp?%{fJXcyhYfOBmg#~RVE4BHfh6@JZqMkZW9Hy#r_NLuM7s`na{nd|h*u{+B;k!VK zI}uLD49G*J4ni^`D3=AA(#aSI6+8UEtWK#%0}ZyEtnvZP>fDyW2UH>y=o_L?kh2d= ze75Bjmi#W9SNzc53~vdXbkwym^rwS0OFk4m)2JbKu*g2#Xhj2O39iDwfsdJ5E9IM*KO45CLSm?Vkbv;^@{1tovttPXylpHAbr<3{ydj2e210>cj!pTp{%}#5oCk- z=9>c$H)ws%$$-k~BtNsc8fZZqbg{G~;LvTX%Ipr|vCb@6>Gcr%qfemYMsy_p#O%lE zv_ZO#e0xGw(V}}A*O$Q;Sq4bDI`c0z-8)fYz$LxQ{I$ECbswFRUX9y?%MD>Ve=5&h zOUI4sQB5yiMIu(RDV~JswDtJUp;;9P>lMvIipGuDoTc=>^z-cnB7Sq)>(%m+OaC>{ zSn1r`qK^IZrCBuaELY^=op*+?!-bYL59|6M0ns%IRecJjJ=68&3Uq$EuWqS98-J6* zRCSAg4ri>?E*(JYzY?aG)*&M)>m~WimA5t?9&j!eZf}njFWVnXgIH7-Lgp&6e*!!M zTEIS+`wpD5LT)9)*A6Eq(HT|n+GxU8YKaiXftPz3sUj^@w@2;8dY(BfutxMi)98k; zQbSI?p!w02P?ej>pxN{m=D|q)cTn20&jNDW>eerOvchC0h86$zFedUd@9=ETC2Jel z&va#mFI2H<)srqcBxZOej-I~mysw_i?jyBe6K(ix}MUqd}`3O`s;;!&GQ zXkW}jV4xt!-HU%?W_YdWT?#~A9G-VZGU=SeNVYkdG#*N0JY?4fw_U9{U94oib+@^y zuj&7OlrBT+`Gs9Z2^t`)rr}c>&Y;S$>kkB!g0mBY5M}M$Aj4Z?CG_SzMFW)S7reJF zmwTml!_^SUjD{ZHceBkNUq-lY4<+noj z>n_&;wDAGO13vfucm@Z%u0S%|Yc@q6uuKo$%HR%?ctp8^BtYw7KqAEjwas|mdvVdd z>LHH08Y||$LS}hb<89##iAc6$sTmFth013?G%}C`P)&T1MNG{srRt?TXQ(z$D_e@J z;@Bg^^N&Sf$~n7DEUROS>nU$h=Gro_zIN4Sf4JQnn}6VGiTB-IQa_Yfd?Q4 z8GiPSwzDKBDrY=-{BIh8MuQRU-9ksxwwVT9Yla`X>%)upkxwn_rflBQoRmf7f%D~T z=OS8CJ;pCYcR~|=RoEij8g6*64VI?yqFPqc?o53QaK!&UEJh?&9Llf}`K)qRZ&TuO zu#_0^6>chXmkj?JH1QaJX7r1j$ZR)mvf4f9L7q{_S)lzF4fhRg&Y^W?WxKcYWftR^ zr+S6c7(p0Ej_LSMSq&u<@RFRN$FGCqM+rsW6S4I4-;#(nE;zNu#uDSCx^Hb+H4bjpJAZLIE>ac}npHMILk#Fy1?TkMHOp@rzNli%Rnqnk;_IB~ebJmoI%&I0f{6W@ZEsw)oIHqwLqP@bn@8c-eZM%D}i)8UzPXs{NH)k|Lp|6 zmwjW^Nfq$z{cP8ZYHuUa_XC@3GLJ!Dt(2)xTZXF43C@FfNKE0Pu(~>&$1?hJ;yA## z$ZViBWO+w<{7GC2P2X|){49*9{|TSNK-;Z<8&y{N;f~(7*&UicHQ`Pc(Ry}E=+M)F zZSlG&5X8S0NlKPki)RjjK2*B(?>ORxYxI}v)ohpN;YB_BIYa3&WN8LL?23lXg*-tl zb6k)|kl&#+$tlz(>syN&<4YAlKng9AyO@CLKFng$`)sF^$Do z!s+2ISn{1f=!4^2wMAf@tu~!zg(!^D0hr{IIW%I0trjE!)o&ch6(0e!d*GsZV8KS} z5p{%HiILV_R?Z*U7qu3jU2WBMzFJTCFv@E@J?+VShLhF6>HPSlAtWc7U`9DU7E}9y z%A$h>>t0nsmp+!M)J-}go=1{@V(9ImxyNN|oYOuFrgdDbhwM#p?l2#|U~#rvFwO>b z$M6G(CQ{^CO^x=dvAJ^M(W1M7&a;_o%rB=Zi@a-@F=D7q1=mUE9Vk3(7x3I(und=lAsvPXgjZY|RC2E!U`)0o;~{y`Og*NFgi*v7 z^ZSd1!9yXlId`zrZA6rsFkW(b_o&4ewP!Rf70qI9{d*KM@o95V-52F5Yu@0R$;>B& zU*WAyS&&rf+m$7}VvWJeXeE~TN?r4JGRvs;H5i*|&s#H4WZl!zCyx?F_yI0tbf{*u zeILfF=v_cF@f8dqgLty=CL~&Yc9*9#S7hsSefWwrxnPH#oEz4{w?s^v)!Gvn0%OEyXM!GHv7xE;BGkU*d4ygQ1mQRB!!F ztDc&-=&BCRzHUl^vX`%O*fM;_Csp|TebISvc(~wFf^DCCp!0e73(P1xrrGwYKj!K{ z&z-8dN=V0!E!XoI+@-YSDZin7%}=R|H$mBpo^aYNgkQd9rj^fQWw*-DudX06qeQXd z-3e-&LB!2mx;fSKPpgT{f>9XW5k0R-FJ8u{ahN5*>BJ2BsNE|K`a3->ddGgkCGg*H zc>R^z1x#*p2FaeRowv9Lt4p2>zoHE~3aq$>$yZCrv`6FB;NY)i5EJSRH|rS>%^L44 z)kWIRa}pR_K^&;}QV0+>Aw}Zz!8fqhyZr+$vSku^+&BGpHtidTktf9hH`Tg_7ouTS zVl>$v2>gc6^f*%jzh8b_Blsh(Nz>dQ*p1zDG$_fpe68$v_$g(EuSt8fM2Ekrqw8;an;UeETSYS^4p;6_REa2VJC)k#Inhmw+ zG19sIu?6_3O#5il-)_OR-syFm#;aseBsN(P^}bfhzQo2-WB zdzMhFuC(9H9NCD`&w?&6KQeK^ZjtM$<&Auybbg27yy3X>*gEOqaAc?GJ4^^$s}n=iyLIVM27HQM z%8hl(#J8lb(WUB5S2D|G9|DNcEV|<#E%s~oV#y6`%bvlszgH&QRTXteMR;xmM`#`? zb&Zym3{;ca5jK$b35=e}72-rJ`&(UKQuBm7pZCb(u$#wnC9G4BQQ&s<*3@>1y8Lelx`IN8@pNXPsu4``;#CAz^`{F5Si4D+WQZ zcEy=V{U5*B9+eP2dW`YHFy(i?`z!e;l{^~%d)ousi$_o$E#MCUDM9Z>0Pu(i8WEMO zA@%$vgAxqv6s*UC_C4K;##4=AvCZ<)O0$%3FX0e8|2=2xTY3QF78JDMs>v-ZYNEEC zJD|L16Gtr-@l76TK$H7ZNM!Sf*Z9=`35BiLf zx;pyr2|Q&xeAiATQEbZkcN#Xb7!38=zu1T9BNTiVhe@PocS4b)>lX91af|-ED$}EN zT&3yR9U54Aj;(~ADu=h-tQ;{^+^lV#$i#^EELTaJ5yi%Q00{vBnv{XUcfLCAkChxbOZ9S z(4{Op*7Lx?!J4u%l3^|nwd$Htk!esmz36uLX}0Va9tVk?z#eRGnc6y)C(kxeHo0${ zzmv4kc|y*jl`=p3a@24+4{FkH%tgIeTk587E?Xk4@3l-4s_J;w2o9z5I&g2)8*S786Np9s8Z^Fs;vK*H2~YD9MpR&oGA< zjkmeh6(?cv#Z*!8uoJMzs7Tw;n?~gyi?)jGcU}=O#Z;AANQ$^wv@0!sdKsOej*LZ? zcb7T(NX;2YIQu`iuekpD1yd}}h98?{UHdhR69R5fySg+=eD3SrPt zajvTFSraX^(BNTJQ>(G|g1?QPOWp;a<}htcYq^H)uU|HCV8OZSNyMOuzpi9PDH&&! zbGHpnAdiCIlfjN9^;?fD{h7~n2DageT2Nf6U`A2`1urS#bhWCH+u7kMXUpz=e-`QV z{(}`qZd>vCFZ(a&FmMwTxfR2;E#0)9H`mTv=Tp4&OL{gYubiU@}y7pN5(E$b}io*B;^)ywlanH+Uir^ z9_~DxKC~w!W)b6V-2K#mCU@YT=m&Y4>|EeCA3zAUt5{9krX|&)p~HLGETDN2=tEhq zmQBfN)y2pH7HxU;amPO=BTa#*(Z8tJR6B3CtFj{Jnh)y#YMO*sn*Pdk<9-%7*`H42 zRM9rqB2Rr=XDd2bevI_1VED$6{p`i;%%ax*IRAmBKerTcjk7 z5KmY2og7a+qGdyZ0FgML7mkQ2wS1}V$U%#lh$kVAO<_#n^n3<`V^8>6fnh~6#H;-y z8H8*f=*GmAe-va$i4vC^hkNx^kx`O%zYjQDDqQezK=Ur2TNiwsRnUuP)(tRwHF(-9 zp%MKaYSeOC?grBZBKfh_kiEKg{jSE=F0EXAwd6X}s4Y@GL$YQrXp*HL7K{u-F*Hj4 zqPh!ro$0`al40bOJJw^T1Kf^mnr$T6G`?z9TMT?wHJRr3`_r%2#Un3soaSw;zy8y_ z0wpLCJFincuI!di+?N$09fBghFuYiKLmpODlx0;Wy0KhRFsMV{+%4r;v zYG_QkZGbkMAX7rOysn7Q(R)%0E~{28Aps�{7(%RA~Ndexf-0?@t6X;cJXA>?%UN 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

r! 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 z zD7~cikCM$d8cGCEovz$EfZhZ zD*lh+U!E z?~x>(8Y0OQ5>l?iq?UO5HUI`fZo`H_nUSE0cS3lragSuc+9=vDbtQ+N!%1e~fIAJJ zi&WX>EhDDDEXWacK~joLMyvO3dJxc97F!O98rX32BUCcUqra5xEYj=1bi*ru#E_a` zmR&eI$#%(+IEXb{4;a(hqc6@4wu0`F%hpK42cSJV_z=grmIKLVOCj@SSC&iYoPy!Z z8tGdq91FaNi61Rey9@CwzPzwWF=!~IJM69K)7c3*ucNbs`LD*umkHaPdv*^myEhSW zy$as;8qau>zQ=Vt@SYIvjN6af7$DAU@V?voU|4V8&(CS-e>3;eBxb z_-dDHW@x;eeLQ?DYi46UEJ(L@%^4$bRomh9h|C?B&$?dY-iooU$ch!T9)jPYeCIT_ z4;oD<#0v9gWe>q>9Emrs;pTuM=;Aj{iL#;n5%zBdCDxw_)Ui-(8g=U>=?(PJr8mac z?A`z@$25S;x77ITb-DHPbKVuWc)j|DeQnAq1D2T<q^YW65Oz1^X_e!aIBdT zpwG@fyk$D6b}j4zFOl`eeXKEGu|ffD(+2}T5oDpROD~obYj|8gwzSCmKSqh`m#j>& zH+@9|e^i%-C6W|~!01>Di~wI+*T6J_Pa>q5k(niB60u}(f=dL_!U7!a;##D1KJ@iqFYy#BqD0mRI-ucFXbHAFNY< zumsN%3ehe6`@qR%_rujD(E$bQHU3aY$=Swrltns>%^xT|-0`B~T-yIGp`}TUK4qua zc$oa)kfJ#`!ro;!KV_t-oCxrfqizgDUtxu-KXi$L8~()Om4 zG~s)niuDbQ>4)A|<%W)+Exx&knDz%6uq&_^jd8qmB)HB+bxHuLRz=R2#9x{pFf3yZ zQE2m-Q(>sF?VoLoAjf5#=n+o<4BLjHzs$@jmepULkMdp@(Pa zti2dXU8s@Nq zzeq)>q_VwOQ69z_MGNJ6iX1NL__h03YP<*jzZo7=-CTA{&`plybj=?DH#)O8E=o*e zfvkuy_M0lh+QKMl>TFR+pG*{tE_gh`d~=)a;7`@H)LP_69GVcZ@rWu>5#U3;TDCe) z-iH5lP8Z#_zHSvQ#Hvhxw8>Gdkl8N=-HKdq*=h)V%hX<0R|B3sNToP>(!uXnjoT}N z|DZQhOp{6Q@%@w{|BkV6f$(s3%~UT?!Jhm!R0 zfY;E25_?1v&DiiqhTg14u3aiMm>+Pwl&y|W;;RSUtAS82({-Cz4bw%^8UomRq=6xf zgYw&3(9ByszZmX#VKD)ps!gT8|{65dhW|MpVubwEq>kC%SDsC zZllC_7d*$`cY4}gO%9uEA~StnJOWwnag?}g6 z4??S7B+iFGZMxQzMG&6+MVCCqRLm35|9AoTaR&*cxk*09+6Fa=;pGyYb`P z>eI=(msy5wuNNV)uO95L23ihhchf&RyZ5WR=NFVjM@nCLBy=T_`x5(%s;l@_AjWq7 z?%Fe92Jw>ZcH38O4lg^^ie^t_O;%0}Y`ER*vZO&G-d|qcXEW@Vns_Qg)5TKOTz{Kb zb#v)-NU2AcR%cjM2@jT83@a`nFL*%3A+lbsIeCW>jrlCG;9OOAh75sowmaQQQv#dw z>N_1n_cC#G;G>(vWz!rNHv+_5@!T@-HR8A)!nO9eV()Q_)o!t}mx)9T6HcLc;7J7k zXx%HhMK*Tw%`4PiW>-qn%?bNLqC8g3+VH+vRBvA6DytjNj0N94&MVN6pAuRg+NlC| zQ`cLl>9WD1$%9rEmK2=p2d^RK6B^vmCKMuZ03$sH`r#?Bh4^}2n~>J}*AK=DJlvAQ z2Q4?=o*o%;MDXvEe;$kOz6y37Rj!!O@*cIrUF}p}DMV)7g5}`+jp}?<7=#AO{Vxn$ zKEJ}=yH>6q4MOi*z+gw;H+j`XPR_X;%{!JJ3|r-%+ep38dxJ!=2B(6dxIB<^bA{T& z;mZ-Wj%d0#>8A-yA)jq6KFEcsGC)^bIlox=OHVTL^p5fRFb7QwDR#QJ-rR}4&qca# zzuCXPKNUw+<{6cYWiK&aef-bY#1^E)p($E|4FBY9LZn^Prq=5G_1w-C-Eb8aZO!fw zifrll6XQZGOS8PPk^LYHdSyl@zcI;~&-kpr6tv!Df8*P)+%)3zrfwm5uO45;|Bl&|cLFi( zMGVIS;=yMS@L4Hp3i`KBroAY82qkfrYO@k^6^;eo10t)_lIKdGH#6Z?5^J{L=ft}N zks@dqAjkl7mFTzgsetiMeZR8M2PID(sGT@#49F%=J-F@et^4dQl6BPWY1y zBi*~=Q2Y471 zOJbNOsc`AJIA_4y-q?xj^$` z{2cnwM#7^>mI3G&qWUISaZ6+a%{d4HymFwmbf5uz7(DI9fPYz0vWI5L;kb)+p$T4! z41M}*@%;stGcf!k-et=`;hX~4U$fxvYaD6d%AC9k1Vhj09;uFwZSm%h7qRy5+9b62 zf4W>r!h~TX3#KnU0H+hOywS#BfabVynHx^vy#uc&62#*PB|h6?%Hk=f45x0CEz_td zRgfQU2w1PqAIAdj%(O*<%{v(Zd)5XsrkmhNj3Npa|F3w>jN$(ouPHXY{0wtT*EIR_ z^k7=mOD$FH28hc4N4n2HJ8}M6u*|o8`e)h##2=ar4z-8iL-E}DXXmmg)}JE zo$30^A0|NL;=oodD7_oZFN!LJ!#Zv?64ZdAhK>#zAiw zYvkrT?pv*ijdUJ50m|w7Q)|cfe~E;feD+S<0Gzq0$dB3%QVb%f*;A^=PWA`FPdJ)` zF7c;Z(rh;iarLkauzU%2Npx`p+BHULYs!4v4uGbPntNsG?bF&a?vc8A} z!UWq8(~ts~dX2SnYH-I*T3S?XTA7DyX?VtYiP)2Y-IUq@iYuW~}K4w=kMs9%AZ2Me4# zlY-%T>ub3b%D>;j>j5R1K}CLrZ4KDdZ&9{FYbv?Tuxj*`gVo* z{)WY1Sk0aT<()=s`v^NZQ|10GpnJoQD*@2oS(lA>+bf7bT;@(e)R^ief(CssnNHF zESErhiWFU5D>0Kd}wp{`EgBCR-L&va{o_p8|9W z_G~GmD_l=x{?wxYj=_#=xBJZsRH9lB*;H-V4EfTg*&ps32^WT~CRRE3zYp9o^{vhd z)pZr&`>ER6TmU#|%iY3P{@RE%cz=*QVuMNJ(kajgevbP@h0&KEmRL~mKh&m)k306c z!%~FP@PravsTO2uk%wox5H_@C@Y?M& z6wwu>$XDqk*)rQ}nWgJbmZmcFzq2%YhpEYb`!aT`Ro&CxW#BH(#X0iY;_qS*@Mt)$ zZb3CqRX9rdX=yA18he-&paeu4auat%L2t8V_r!SUL}y3@zo7aehDx>&_P5xq&) zF?4I}Ufeyixz=enA{doD;tGu?bs;xYJGck}r9dtzEDGF8ym{nkZ>5RdjL*Lv6C|-D z^f!0g`??~LWt8|hRWS-kbcLELKLzj`q$E#3uJSK`49`hYYUBg0_#f;I0!-^3eID@ON= zW5L@%b~KJT<*e{y;ImFU)PH|O}8aVH$d{Lxwx*ya%FGOp|VGIbl;?I>jv$8!1U=k8?kG+`s|u6b82O^$|2h< zg#2fUPYbr_D5|O~=I&ho_;YOPZ*I)>H#f$0(=3NC?w+15Fj`k`?MhXvb`tA<0t8!R zNj2VZ+~doC6KtF$f(>~2CrG)O+SOz@l%F_PPA_%fy9~}K;T>_@If~TpYX%jl>pYgm!uFkt_Sg%Qg1li(lqnWx2S{*8H~nu>G<7Ji~*}E?1{) z^iB~xiT@R<=?}1PPCZ~|_?+*W_an^}^X&L7CEwA8xFm%y(nZ~VeOFQ&@{yoaIRXVorQdm^*Am*|QL}`>s<6rxCf1vwmBM z4QM&|`Y)}U!u1Wgs*8_Y2UXhE%7uW9_RJJ;B)yqj)eXQlRuz@OLy@KNKd> z5VMOF+nAjOjki^5bXK)DW`5$j{h{+Eqk!$JgtVvmDguewD*6wv@%PH&=-#GcXfMgl zFn+Il1V9|4frHHm5Q?{X_uJFMc$-_x?k@6=2}Tu`Jfy&lH{IZ7cIJNvZp2a9kY{LM z)P*TN_IO`4QiybPD(?qNpE3etRc+on!}7|#R~Fj2>n1py%&*Cgt=Dl{Cg9>L_Wvt@ zv!wL&^|gm`^|~En0sGp(9!*o_iKa<;R^O#)9o*mj8Kj1mUeXF*_iDqZOzRf6H#-R5 z_mMAlLK+MG>xFzEUvGmbpyE`qs{2p*h1=iqi!0jQ%hN*z=CN_eG%62o51+E$ktt-R zdm}Y^D6UTpB5w`$|6CB_^6QXlVX~T2MqF%7;%^|v-|kD5ZozvnGHcC^4D#W|((CzC z(sk9<9y3=yscCh5WUKS5B4J`$$WT6HZA-;Kt{0$&16TKR zfd@npLKU~r9Q4s!f7Orm52jpdkKU1P+dNVH^tZW$pL120g}s`I7#lQ6=-^(G`V>2ld*N)!>EBR_peMq89{_F^=I1=7VbpIqh&QiXbgeeb}_er$$LYq zIHU5nDySwA953Z{>Q5DfeXSYH*yrZ>(NI@SbM6g2Jz68BmCzE8j1I>h`Zt&Ec%r`5 zF^EEO1PYS(Zmm!KE7~zh#JYoqw*I3y{XX4`rHBJZE z4&l7~p`^wbrM#&XB@4Gh(At6O8!y|EY9NAq+GRM>anOF&!c9J$=k&?)T~PWKf3Z&_ zVRd_qyCm`QhKOrS-ZDDp(8C1|Bl~4Y7M?j zfwst+uDs?Rxsi(H3@tj49(}KeXlEabD@uS&2%x`?C`8fY^AKjuh>}vmA1fjf+Sh**5 zrG%r`yt*k!X1H3cMx32TuJ4LtgU{~COW=GtAv@IcdBD3AM+)mydpHl_=i+ANL`+RS z_Hd}dp4BCJac`!5V)Q!DHzg!GTsf{!F1TAI#TFfPE>zxyI2hLpGu@?wT3=61 z`7gztExO_LG@J;+akq23`96onfy?5joz87 zgqIb5|A2e6*?h8Z6YXxv({K{WUbRmcI@5IRkypGCrIbU=dL9X`-m1f2s%@sV*%5?xGA$7QavQI^*; zt@cj}^M=2CMd)%5{Q%;Ilz=H^NVrejUk+)R5Bf?FQ>>d&+^-EcC<^p+B+v4yt@dEe zrFVa%Rul;Q5~+*?US}|FqS*RoqrfXYy&y)BzREyky8Vg4#CqRK=j zEZfFpc!63HrC3SU-FaER6#-=Jl|muD>{df}HG*Z1>r8uNyk>=#0u$mA}g3-#OnxC#DFNMRwzW4nh}p3W)UO@yLkpMThPZLYtD z^$ubuo{Cvme?0`nf8=BsW84tx!390a#GgKba(|ZZQ7^pnE%z}pD9X~sh-G5zpJc5+ zj=0s-CObUJKNxU{lUdk{_OU7BOS6I zdWHC2&tGMFKls4{_Ds#NjNv-Z=X068WXX((E;=DGkQe>Mn_p`xq$bRzMkt8%#_mt_ zijVX4mg9N$ysOh^zBZ0}j#i|ibjwqv`?$`TBj$&0yiC8?T6klPf#GwX+Jy=#yb1qD z7mxv#_$#iI?($Vir>nklMLvW5vwNE^QXvmFpTeVirJG&7!UhhR(x1}3P@4?QgNh&S zia`^0wL@2L=Ppqj1Mawx)fjBXid46ob94zm9=itDR&RON^GaG@t~scA)_Lvc-gU0Q zYri-Xjki=@xA%%ha4S4?^_fyWbNSro>wiiv~rm`%D1MbpNjE|nm zBL8SZ`O2~_yh`e74fgBehU7-#E%ng2(lDyl>+(8`9cAldu>;(!@}~#9CtPHbGf$_o z1>-HX<(rL^l(dy{o7Q8Nf0aWQ>ZtDxNK$w4`tUVPX8L)UvoHTi98-!uWG zqf(>`2qGQnC7>Wk5s=`_$QXgFdu7gfUGq2BItG4-*I}~>U`2E&ZrRzGuZX&*RI~no$t`R_YG53p zGl=K&mS<$@PYC-6TR~YYxZRnr*wyHf7a)~AC~zt4N0kWme=Z6m2mXC&13ZrPYsw?J z2R^;~>^uZIYiyoHH{;ZJCIi^!odl7AD9*uWNQjENiL7Y`3-9LyzKT1n;jr5G)d)2w zP(lWa+7`}i^FZ0ZBXMMs?vQoH`-QuY;0@LA&^cD)!K`b(nKlFo$5esypf&VDKb*gK z=MKhw_Dx;zH^E+}1P#%9aa7Lwf{Z+3?@k9E@ITR zIpP;V++;Jud3`9qSw5rsTjJ{{DenGL7P#_w{YoyRM8R zPfG?X5g9Ju{&WF)(so~4jW^CrD7oaCcuDeRMMS-VdIrBcKkRq09Rq%IcG(q=f3E{( zz_ZN4n6KV7LWDm=t<=U|U8POQ5Pn~r%h>L){k;+`qXVOjz@Tx zIein`b|{${>=`Py0)NH?r8vSZ1oA&f;iMML@7;XpC@{n&C9yRJ$}s2syW;=6PzN(B zLC-+9unv4CvXMR@Td5uBO$VZ%Hw*`VEJBf(iZBD%kx_X<@&xM zXViTGj)QyDpP8^L^5_R?2~d-M z3aK{&MZLxDofsz!cW%w1ytG1G+^Tg8CnZf?hPFcnv=0{CNb?OJOU9l2*{V(c;Q5A} zH2!72t1R)Y&5G4|c?FtNuon}eqhlNdeSFuOdhiidvT?G`y=052f=MZN%=+0i(b-aHSRMk8I`hQDmZzgnBGAGf7?U;MQIx_Tbj%!w3WPy4 zkz*2vIU&x2Gmf==ETX*eie6Pc?+NN6fz_us_*|FyKQ8y^?DFHL#EbnnyXy2Vf4nmpr8!LnHM)NHjcT)P;*5Gu*1;bWFfa}8Nw>@@rpBm+g_&*D`F za=>-FOnFpKac&IIZheVBeYXBG{=z1i({Ta`Ha&+0Kpljl30npawh#^Q*FO=ic#E)Y zQ^Q9{o2bEqVh#qptBXkdk9%hw$Svq16dz*-L0{DMUVxDyy9gxe{=#0`5+2{}jXm39 z^kZYXs`v>Ogm+BC$2;qm>P1e_vPp0kJaD8w`*IK-3{P{&!C8l2RL){CB22g?&!=>s zLn1$RsQ$gf0dtB&$3m|7)~bs)@qr`Swogq`!sZ7F(KlqMvBo;Ih0Vapx`e6S4yDJ* zv39=wzPGiJvSj%fLZ~nosD)LoY`pxcaDJHj7+#Hb!&LWy7+_0!X7Y@LxSqEE84&~zl-qpw^@iBuKJ z*_UMvwU})U>PQB;VU&;4Z1&&ueXQRhw2ZZDL#|n0S&nsJkIZm!w;wt;&iHbX_c#^RIcC;- z3IZz-8lV^d=$E3(nDt#Cz{O$1AlF11cP=?OZM8aT6*HFl3lZ(tKMi0wf5gkWYt(h? zs&v(i8&**q*OH#KhK=1;$8>ObJk+o-C;BAPKb%5M)WP?fCCFZ|5zQWWvBoss$*^qk zq51Ht1b2nj9KP~%F!vnRT?-!m6?#&&dTHe*I=HS>60FcWqeJ(VAZ%U{bj%-2#4#g?we!2pMpkw6B8xn+6MGf}PI5PW zl)HN0yg2Tj4jeCU720F{X0>{r=xmGZm0b$-1eSKAO@`xD*x!u)5(c5$LO+xm;7Pfh zc|E#XU)L%xm(EQd`DbbOw_aaT3++L-sQbE-z!`{~~6`7qL}_TF6UA`Wk0Qkm zXYR9X49J9tOeuvo&#O71+4}Ww$n8I1p|Dxq3UNg#9}ij(MrL&sHHyDCy<~McVDOqA ztj_#$=+!9lrpC!)=P+YQnDhn$M&&nVfNaa4XAA&8 z`<9}(yl$D*zod@&B&Zt6iC&Qb-*n8L9u*c%)sx^B2oeQTOZHwr@4Ar9FZlYxZa?~Q zQ*`Qv{~kL*Lya-`9ScH``2)1;($!NxXrhO=`7vJE&V{VfqMK&*9Ne>eBy!YIM4zr~ zQPMqMk?KuEz~TT+a#8t~hBlqih4lp6IWBHm@wOf2K@V5R$c~IRMJ0|UT?WA4qiFg& z4_>Z|A3pkN@9cEoX1r+30(aW-0@y@W%&M4DOW4lO2P?~wt^p%Y=0d1)IhKhAvMY5{ zw&skX;@;_;=a+#`?Bt_P)_j9ngDD=%yXa|9w0Qj8+e-lqMWtX1`HP(P%yXA&ZEn;m zD?{L>=)@@Xlte5c!5YOE+*IYfG=XSDirHhS?M=#~75lCeZi8pTC$0ChFn zK*K3j>E7^pOD{go?nx{7g1*rc{75^kda2pP!@S>9%kL1ukh10K5Uypw_mIg&syX914 zDWJzYbP1$C+|T)gd{H&rdDc8wJ*C|E?E`#tb;E)8f#u*{Iwe|a$9yJm!O>E@BjoKF zn_b>oQjizYwQ(ro1apAih9--R3|BH%?0=Q}C(-V9Td+0{GpkNT$!~+|HEy$%z`y(6 zw*NF=oqo4&oBmFn+bd`cF1xWqhdv8W`n%O6am_dMPG3900#wi3{xrM87H2+@APjR$ zS#kj5c5lLOFzFnsn5qz|>&PMSY}{?T-Hv;ZoY&w}E; z8osQjN8NQ0dg}&J9J=)@{!2Om@FGX1*f}zJ4D5ui3M6PpuBg$^0{MEaHj9E=E;@5eL@85*w zVf*5s>M^6slNW0wHNOfUKJe8Ho=ofVO@d2;+WW>oN6TNS%C{7<9TN*(wfm9|aQ>F7 zW*uE1VkWSLKYL+6JwI*rA*!n@hPVB~ixp9o-`z{0H@!b+9R903$vfrX*~(_x#`uGe zRy)j^wC8h~F2tJ3I`?6+;aca-UXyqBT*(%uUYr4&d*p3)3y?8)lPFk&^hjN(+&%9M zks&~ZNw*uK|K!Pj|0jJ>DAzpiECCT69W%D)PB{zuyWDriuJ~LNxnpth414vXNW#?c zth3gOl`(61EmgmSdVSecPiui%Ijhu7=*(H@DHZ=5Qh9`b*zvlA-tv78!Olrjr3N5M z&eGh)1=;-R>6AQXkO1Wy?0w?>jo!YVFk)@wUp}j0%Ue8Obc`MTY|LPCi5uNCh73Ik z>9Ctj?Jz&|bE+cNodlB!m51yrt}Xops*>+pL+eONJ&n7y0#O+3!?%~rpJz^^T7#-0 zN0Q^*>Z08f?i!77Lojw2uc65gx?~=3Kd;SS)*iP~G;blH1L~Vy$yPYLZU){YoY;8l z<`~Zg?Eun;y*26Sy73&^B=X5)+CDkXme4nADY@-M2%5?S! z;>m;;pRRfp6}x*_Jzi%+YzPr&Fv@M!t#!EZb8uq#+2=42W+vX1XX zdm3ZbTM%uDo;G-h^j8=ItLqovhqv`Tclp*@lq!#78bv(uPOl?^+C_LY9vf(!7%@Vs z$c7t_1d6#wAXlHTp)0t7n+0bFAW-DRt(8Y$YsZV=sI$>nFHn6b-QF6SFd+N!b6(wyeH@9e~b5M=YA|0JNivpM^c@WMI-=f)&adeB5u zr2DfRzwEL5ap7-@w&kx45tWhbAQ;I!w4{0~e(;`HvEkvfp+C^iz?o7vVJ&o z|B--}yD*0wkV2ghSJ958nCX6I!DWL1W*HzciOwz%+)H&jL`T`z0*tT+5!)eZTi4!zQ*>rXTPd)i!7~ zGgo5XXga@|QhX7TnD^b(kLGupQMOj&AlD{*uG7BqB^KT_24QiKi(Qdn zFTejWS-a?T9P3+D&P+~wWWUq_^(+5v@$z}5Nv$>6o5X~GV*Ilik+Q1~?oOWzr~TyDmDU38LuWOKCf~W{%UP;F(gNEEi9M(?UtH+sM_iWe9j=ccfJ8_E)>s24n>S*?8yk56(Bl^S=U|na{#8(>6+; z_=6dxILLKwPzByUa0D>={8}^iTIBB5##d$Zo=tM}UI?PkPw=Z)>AbLS?}1By(@aQ| zN96E@N!8%lbKMqf_a?sG`DJix{4AdJ>}&tRv@Q?nFnwT*^|>x>Y+A3?bb;bwOE4q% zRgw(K;~jFj{z#+{&-Ii7?#XU4R3k>(k(kJDmmNvaE|$C@eeYxXVEfyXY2xY3xZQRw zuR`A6a-awrgj=xFJ|%h3#hw8B)!34<{_f8QoWcE)dh_Nv{e5h{wB0}YdsJg%|9sm| zZ(Ey{Xx8p7ASBFj^*lO$U&ZG8qMKV;f^#Kgp`buh`F0iI3>e4@r0nuo;!a17Y+>#h2^Ey|TY z8p&-o1$z(@^&F6#8x6U+WKBIqLV{_iCdoj*5u1#t-yS8Vpd!HsxOS}sH{NZe(Bekv zQohklW;Q^V+=^m~$uO2r4#a()3DL4TpD=Io4?GuQowf;q$j(!;uYEeg`d-!^+zIeM zzi783kW90f@aC5UR$!mi`h)T2>=|f`3#fCIyamae)9m6tT}N7UJTxJR>g{;t$@Ky= zK6&fYnM2kHVP>0tI}N=o_>RFi$gcI&WJ5G^O@W5Op*7;Az?NC(`?ZN|Is)(7Xe6}> zd^;Rggp;>|35(|DMvMt^rf4+45@N?R-&Ek*$8IIV6rFdtb8~vErQ%iZMgS(D$vvwD zJ_`RptdGLImvoae720*K5fwhx$|U;sLk8j4TW9 z-r%|6uR~)NmuicZ;mkFvFL{U^`J7Gk!2F|p?)`VIjNXTCD}dKmPpNw z40JKpHjTuvnsxz@C--4`PsLtjH{Gt8&xn8x>-AK~uD|gFXW>V%A!lJQJcaC|;%3l98yX3`)MS{YOpn+*ewfi}*FI!fvWe7YIAMnx( zk)1srXpek2BnKfcqq188R9R{INXOVgSrM1=gj7>=(4`|&P80vZQR$rRVhd_k@446& z&1?1Y=`UOC&X_dJ5X?=GRlR!vG13Cee~?`a#$(jK={I{q?uzXY* z&s|qaKaG%CHl4zBM%oAxvAk=J$4q-FA?i#E59VxHzwhBu+j@>4U;&h(&MkaT>FYBe zYpvN9?ny_7X-gIr%_euZ<~u$h`*Z!46*?~D$BZ|g5}iaIY}jCP#I}EUoQBBy!}Qy7 zD!_DcG+T_x@+>~Cy!|*BY4e^rYJnq9d5=6Ou~+JzJCZFHo~}RGAa9_ByPV)JN#=JU z+lex5TISk3$@jgXz*K90Mc}fTC>j&5fA-Oa{^;|Kl{k{gEd6=X=b}!1F2(j=kt~!` zj3&O<4cBDTCE3jOAMBo?Ws>kVBPCP7`$>e_SXFaN^aXw2k^p6fXEBUqy0ldt^MW?@ zMzgreTpff0cbf4J1I~GPSt=WTT0R-qRVuP57@5PuJVS~gDIEwJ+jS>7f1e2(f3`Di zQoFRSoiEmP44dqO634;5!623hk@@aR&gkwf z4W7;0A#b-PF-*Q?;*~VRxb5$q?N`v%Ymu6~6S&ro)*5$BBvCefH@$C2l9w4nah3Es67@f z-=Hv|!uh{R4t!0aE#_eJ!|yVEGO*j*61c$mGH)4A;dyxyul&BEwbHSNZN1_ydf7k| zV@;F0B~#%OQO z#B`;26ihCs>%Fw^#k44hH~C=A3455@hOD=ow%@<+p@7!RFuRX*8Dd8W-VfYKFk#oAhXfgHN zfJr@D@tx_W_oYsn{jpAX_LG^^o5sGco0g7WEE~Iw2e=Ge4E(ZGhy_$e-*cx{evf1S zVh9J;)y%deq59<)*J5&(zVy_-QU~HY{-D<+kK>eoWSu?F4<@9eTqW1)>HkAV$t>=% zSXMC?92BlpglDgw%;-X=2b6FR zPtc~=B$IM0r%SnPC}FeUE}(UMNcnlvH11I-m$=OntDq350moMcClC0xcktMGn!3wC z>B}$#2PLjg2U6Gm_OddrFrlt<aTd7+u+3cgmvh-2&pru)kDx5APqQ!Bqc|cgGh&fML_n0yyh1nUb zf*wucR1%u4@*!_FYik>X^v?GYyKb_KzBnrIIan!gl@wgg?;@{OXtn+679`;`JQkHH zDb2Y8T*fKtgO+h5;En4~rur>^&-@~Ii*i(#Ox_HlC=d8DC$RfrG%NfgCo&sPx3fu4-WyD%|bmYj6jbl2cBLRdn1!_MELfEuU5V>GcPiABCo;7mOBb z7Ow@lye5=U1pb7n#L8W#GYMiMcBv;`vCaF~ilFgB^CUvcZ!l7(tK_LFz<+*Gt1ymY zk^Z3A_g)>8+s16uReS86U@0}LLI4x@vb`?9cDD+ult?$c-12#6udUzUw%le)yk8BMB{JJ7mJ4?^)VEV8c-JM)^ii|0Yj) zpY#?#{Cy=;H{=so9pTcl7%_MF_L9>PqH4DkXDQkl&Uik$(wI4|bioUjnq8XsttC<^OI|7oJb*3ffjo-ClE^lz?ygGviIQ7+Eon$()c zgDCZfT!oH}3r$ue9ImH7Xu}m}wia9^H6q1fNNZ1RttUxqXw}MZ?ENoPdzOW1zp(Q_ zNFH0>+=Wni-{Px&sT4xe7pgtjvIl%o24*Cr3TVhPD9b?vFG=HH5)+i#8|pac8KK+` zoFFQC;(9;jpWH7HR2gx}shPj}+fYxmdyRyR|K%wZ4Vyluh2Fzol11UynHKOmXCjvm z-$KMLvQ(}&0?qZ}Jz>})|J@A!0Po?PGbbeU-4hdb$UgeAIq4+p|pzCsgIg|4ht!hZga6@;?{z#ex0 zwjd=@a0^nr`Dhfb)Eq&f<;bz|o5OOW>Brii6YY?`FQp705G0BB$QI8$PqO$93!XMp z`%c?C%ry)9N-cc$*LJ8XRdAn$Prr^^kiVCpErsX(b8_1F56mIj+vkfeEZ(Sm3a|l| zjLA8g5!K7;k2A%B)s#P5zv7tBnU`nH-9c(4A{8MSj&8sfG}ml@lLP6+L?^BVeJ=T= zTu*!G^^4a3VLnCWCcSCnkLMre>odMh5P1+S4xh>n&itvtf7}Hw>97{fqI5_{%&@PM zPP@=Ys~|B(l`|4QEOS)Fn(wstA|)q3E0jDhG8K|Cw212xE7quQ1S<9CRBc}rIP$_j zJ|UG=djIm?4ULz9i60v-9o}jj>|oyMZi&`PC8er?yYxJ~Sqh1g=Fzz`B8dwdl%L9q zUI;Pneu6e4u~r;wt*s%~)lLe6SQ!W0W6ykD5l2_rQb^i=*bfpw@9R%~V(N{GYq5{` zhJ>Nq0CE5o(8dQ%!k@cxOv0j5Kx1uP>JUqXQb)K^Z)0H4ekllc)G=S*X%mU@l)^M5 zfjpTw2->IdCItAHGc=4-!oMDS5^Fri+4l1zG#pdPg4$Szn3gNiiTOKF>X={*_sdSN zE}!my$1$V%$bah{u{`cbQwlYkmGZWSqFB}*n4I`6HO(ZPm)o66MOzTv=o;i|Kp3)WkR5K z?R>VNw4V7by5Wkz{HJ&8V&sl9<#F193g-LD2K%QI`z>FJl5dMiPIM@K%hh@zZS`om z1_tmrhL1_dln)h53@z{Avmu4o`A(UWNSm;s0 zoV#hJiI@%3#DP<<2rb23o?&!bb;Q}bpyTu!|yt` zLPsZkxrl|yDld89W3bD^e-|Zl5gSr^ynyv=MMC`X`&A%=kf*9r&ioELMS#e{p?%qH z=F&AW+3F#?n7*r6$#0=P{CK1X^!|BBG8;k!n83p|ohO|_-*oYo?x+V?a=@??R2y8%k+@PC{V7MuGoG9Srltkh7qYZOW}wX9tTb{@H0LFozNGtJ zidisZL??&*BI6qt$1)Qhnbl&>ZA7oy5UF=H&M|Pn7`{4m*mBUNXE4Mc2jpSaPc+Q@E9?3(|mJ!qG^RfBjMPB@v zJiv&Rpk4>QfR}3hpb;j!5f@;f1V`23#r*{ETk(t6n!O-|`>)D6Thvd@M;x zE~@^iolNKob$$zpcibv^g;8#yVd|2oe<*le=}p_hltEn(b#URf`P~MNO;FHW{nole;hpY>~vhYMK>t1l2E-GluZuIYIaMrU1Pug z&+h~lg#1(WDTY(E>HU4Ol=t-wABh2T^z*B%nEdgBw%xa-f5Xrl)?qD_L1zuJjThvd zjTr2(IPZ0_L3gwX?_4+CpKGFQn2L)!a$FpME`aFZn#IQPa4G?Pjc0HZSr?K}9>uSn?j^1E&K14=?xo=Ep3u*U-1tS1D1ba)-yM zL-FA3I_(h2kwo55!)GpgX>7xo8g+D|NJm1ve0Kl9*~g@si9$sUR++VZJ{8=JaJ&3A zRy|N%QmEyMH~-;Z!}7mgtj7{WiM0}Pb31dtnTKmrbK}A2>p8c2a0d;t#4yM@f&0@A zvLmwSuw+S%CZlHjr$#!$+B#s;r{za8+Ve$=I*-j)~;jc>+- zzwDP$^1C+O$ba0!^lHoYU2&k9mHta1$2jTF8TwkCw9@bh%hq0g--ie5$OVw@%I)sBr2@zASP7o7IqeovwPmp{jU!JJOBvH#n*dL z*ok%{-KL!v2qU$&Xl;POy!Qpn9si?5>(!6C)(*7Rx4@9O=?~YMkN#!@Yvu3roLx-c zuDsF_51WRst_D{ASFh~e9JXGn@)-LoGif4;TgJ!)?}3C#U>CL+t<`OvZy9LZ${;WX z*T6#t25~#rczi0t=Gz=QB#=q8$KFS*L!{iho9O*5^xT!QwQ_y3-y+K>W?~;i@HZU2 ze2kjI5BUN-Rl}mHEQE!_D)cemG3HV_^D+d9_xN$J!{IO`939u!vFlrdBzzZ!X*@qb zSU|vQ61#}LPPwycLDZm9=Lu$5M=A5X9vZreeCL}2iZz<+jh)8#ZgO;>L@Fp9BO8j9 z@2U7Dd02j#KY>1xJ7fvqUrYIKpl4S4o~KjzBYHsB3<6%8M9E&{zuGb4@%G{rbVSF^ zd~Ea3$Kq{7yc(CIsKfXcyr{AsgSt5@VmY-Li@e4v-4fc@t{MC&hqFBjgh;} z0ul$hyqtv%6MjW4$%YoNeT>Zvv_1E+G3%py;WqXe2srGr5va2Z027XbHwye7r$#~E z=VF!?W+9QjG+(c9{)=Pyum60EFSsyaz?`xnoWk1IPeMTTLo*LBFU>#1&lW=H8p1Fqx?ikv zV7JYz`(Cp#$%zk5N(0@09l{va8JAy z-Q6@+6L|EJKdnbksi5tHHy0EhUGz!X^7pyB( z-cr8IcE<0vdAFUip8aw7e7Q0ZZGBvSA>E8pxjF#)0RB&4?318xZ86us-~G0z8DPnl zGOId6g#UoHV}h#T_fb>jkh3OT*pb&!5Q1zpSa#FK(EV|lajvrtanQsO0{Ehejyr{`Dqq+vgRL7%HU#;bY zBD+_u8=7fru&-QhjHBzmCRqNtv`D%gN_4AfjpV;xH~20mokH&* zzMWQI<2>X1yaCn#JOi>pNlP&j@HYs;;$e}~BoBoS`Q<{>N?}pIAhVF>lb^KWYFbZn zd5hq!w~Ea@s?C(|rua0A#jZS3{lU#qao^0YzmhK&p7`uLZHkNO0(BK%;+h!UyN{jw zbV29WtMa5L=_m`SXZ9D@rT0{fvES(6M#(BF@NAb{iTx)A5<9tn%!~w8XeS=>y^Ncj zvC`sfL+S$C>8AdphX$&-Tk{*5TuR+v?v$M@;QKqLcN2E$l>xqZb6zPNPsI(P#meY9 zjam2m2ExU>rqa&sR*sP9^SbJ1*a~PEdZGCoO_BjegB??vT`;PUz_G2<-%kR%0 z2PkT$07yYONh%UI6=jx43{I&T4%r3~*?L)tobS*wou(m@UUQX`rG42gvm@7jTAG=_ zqx>^p%>GIzQH|^J4+qn9RHE&^=fmZ^CM=y!l=ZYr>iu5Fy9_E}va@XYd{Wv-s`pQP)X{j8KVnSgz!GJ{HhTb%*N zkZ0krScnsD3a(_f3{t9CdjOrm$o{}>e+#>22^t=K?8N*|e9eR-g&0gnGCuI0DG`zU z=)Y^2IP4qUtmJr2+WO3o>Z;00A}S;IGLGM}CK;}vU}Z>1W8+NytA~FfkFyo#wTq(i z`>Mrv>M|Rs5ICLV1C^0^8c!47t&cHzK&>YrJ57*&PRPRuzkgo(GgiYh>XKcvEfnwY z2WBhRUc+wZWli6F23c0aXZ~seK8%Ec<_j-a^=npkRaM~fhR=2H6rcW_UEK7xCx2BH zvJ1Lv^QVoJpqyE>|GX00Y%xG?(n8*fY5OVHG)?A&FW5Micd^{Cj7WUj%6)IF=L zst6}ykj*4y%W^YLCA#EZqTNLGgCcd&X!1{&;w0~WI-~x&%xc#!eVCcmm9)*NUzrD}%)&uE)*s?~aG54Rlz&G*oC)L)dxj779 zcBsd}7AIz4uv0FW3;^u+e<91*W{SYqBV|l4u=-I;WLJ*o2e9PjI5>4($p6r%QN({~ z8iJS8p;;^e=bVJE?i>WM{IzHbn-&UCK1FfqN9!}EJq|23uy>>2vi&(2^orVWX7`6S z8zJ1A(#*MTOQn0=^i~|fWu0tgstCoVAdKM8aahD^ZT39=+C+qE=M`Baq`ByZQMCt} zN5;Igr!Evy_D(vXJC4LIawZvmzmvx?1s8P9f%opJJ9lnaRc+>) zRo`pHsM@C=->USd=IpxxVD~ACBNIP*8m@%tamcr%AoLTXw}$1)Q8}04NA{!KYSPiWEJmLi3hN>}{6>BwSQjMFHX;D@;Q0cN5JXvlVwLufOq6J>PmV@4xYZCLuRg?-dz?Slgj$mQZP9DHo%zch&R zI)hd1s)HEmzi(;rolCM;`c%M}0s7imF&_SQ35F;7&j)~m!B`<3iCdJhpE7LTwT9SnDV;YFE($cu<{qKWS+eV^#Rr+kwEim?$+HpF8W{X>&;=A05Qj&affz&uIw|k8 znxsJ7z}Y_x>_6gWn*og(Twqq+y~bl2DfgEL2-YrsQv2mjv+=%Y+t)0)+tCl=vfArw z)~8tO)HQ#EkZ?5051Aq@ioRK^JG#-QG5HAI9s$UHpq6#`!7#BOx9H!H^y1iArBAyg z?zBqDNvWXs`+O({vvZTq;F5VnLr1W*nF={~wkwOvczTPOC?0u48kJDkSgWpkh2k3s zQ@u&_@@5gg)MOLjP%!PQQT7~iS_~Q*1J5VVB*YlM5PuaB+PI0>xweIoS(D|TlKYP# zhl&mue&(v83a^awUszBwLx4Il6Y5Gc=O+O**a=09PcF+=4ft6j0rhje2;U3q{byNq z1A4d8d8viOdzE$^5e07F_LYl`|0j}#MF6yTK|B#bbSU#94C4#MF8u=dZw;|(Cp9Kb z=J^F~y%2`0d4On>5S~ly-tx?Zz181Pp7GjF19mjIS8U#M&1ZNe17Yr)pBF!tUbU+! zF{fs$d}={@cNIDc$YI-h2@^{2kic=6dsqX8vMnf%{^zUW!%CD>0p$OjVNh2KH&Ze? zZ+c#^b4PwjVjAbxnb7@+{-lk7)@a7?rbxW%m|xD$%{YT#d(L@HI@0MRTkw!ez&(VE zaKuuBxKno-haIiM{~lkk`Dc8grg>(QV^4&(39uoK?c#i=ltZ42OuecR(V(s04gghR zY}(*;3_S#k>rO{-@QKqI!gk~QS5gJu%0;F*OVvK@&GQm!lhtod{COKnN3uRviwgxO*O)o}Td1kfuC9i5qO|C-5Tv$NV$lVPumArssv!NWnAPcK z%;iq!AmS;;>2f(y7VS+{;yuS(Z7p7 zpafKM9tpl>eyCqUJc2b(LUp7Fi>9k?0#j!((i??T3(4sMZsmA(I=Rh(j+rc*dJ(lx|xoS>PP=M)#KCyw)xV>RtE-|un;<^(tmea%W`%hp<{0*h}}DM zIcud!{UY;#MKRfdlqmyokoN|4`?&jxver z-waiRtJFAT8=_KnKu6p30vT_QGu{PSy#ch}^W4(DKXe_|FlAJKslGsQx34ACy*>IN z9NBio3Sw&k7-c^4x@wOHv?b@o#{<_4pN4ay>n{^9!aug!$Q%^t|NEC=&MU+i0YHyb zzmYNv`0ffwX+z_;1b(PadGgTB`CX?nlWO(^H8pJsB2BcBW?n4NwF&;sYpRu0g5u&o z5o+Lx*~AmOaj_&rF&eJt>Rhr(Mr5t?zSlWJXfJzE2v;m-XY`Oa4`*}WGz}H4$0%e1>BF-r3v9(F^>2n4M{05=SM7+YU6;`hS=ep4!W! z1Tg@8LXv7mN9(9PcMafbbGYc{?CA&X8Sav-d+G*!?clIRZakqYS0%dMYf?!4@iImB z&jugfWuKM)`o@Etk)r$SRLnuvWRydUjPOFs4}>oMGrGR4Ns|fTjveelSYu!GV%lJ2 z5r94dYZYadRy9v7GnzUzt_zfjMwq9LT+|MF+rHD59WR&=O)$B%B*3E?r34Dg1=set z2TQ}s^UePCmnv+b9Zdr9^~(Yo=mhh0qlnW47h3175*D0 zp8{0_rK-TCW?)d9X}{ArEHBJ|$Hr`L;sCpX2k-4+ zdp|*~=S-TXJ@K`;;KaSdgZ#@F7n3(9K>HVPQ#vAu{&VE5HdpIU?9cz9?Bf4L+3`O9 z54qh8$Zeb^d(HnXxC1_S{XYcvKK8TLZA5rVUZ^eRAQP9fp5<_owH@te=xkH|@wxuc zzFCr?ED}-@WzaioE(_PB_I^icso)f}Z*6XLFx+}-V*yHGdU*5q1aJDU_VUkV(;&dn zs5{*_^{o8iL+mO!c+zU51j7cZ#eK9Eb<&W0D|?GYy#7iXeU|N^;A9HQdv89|+;bR9 zm|1xFu;i1!U{(|HKHQe_N%*FE#}dk%>bX5_FChv<;FguC?{xZ31;`nm9>}OYKy#3d zC!O?Yb25x?7}u@s#C^Z_jp5?_-#i_B6}`3zQ?N{;uH6%Y?|t-5@|KExmvTF>1GKb&E*}2sUQ)M%&&-vBHtw~+v+F@7eX-vF>c$I+mo+;Ca69>nD?+NFKay zC&}wNk}bJ*I5+-J+s2hEA!02^`}^Ip>JXCUDAo^2?A^3GUdT}$a1>R|j>%;W_JNX( z3h6b)wF>9a7Qj0xbN%FGE$blk`kC+DHyU9}jU;soxRifWTD(kEnE<6lQsMG()DzEw zF|UrLa0wcO|3+9Ykj>(4*J(a+Y;9A{4=3;M&k?ywVO}olDWNIkI-_t=7h50y%C;yN zM1@JuUx2%2V(kW)p|uLU$8Cuo}U4HF&T627zRR>X$#J zFX399iI{^(9CqDAz9v0rjUb2E{^JMTyXQ78ZNNY{Q>5hfyb4va{Ii|E+_C zc3nnjeQt!-Z8Ijm8{|r?g&0e;8>W>h-RA1+r^WZ^SxZYf4!?9zOEa5aplSpG=)@gL zks?duA@MgI#2$gVH}b!3@%;@6?i^i^*c50?Tyo%O(ATP>ME?GJXRV(d_X6+E&qHj5 ze=dS?Um}OXdVN7yvBZO7;Ev73c*t43?(`85LEFY5@PF3%5IDPf0oM{`=l}4OSX|}Q z#U>a0mMUrweE{Ry_&eJqC`j~DK0$JIx<^FVB@wddwJq~Qtte&*~2^j zw^C2gtGxfCj_pZ&@%bGP&}Ct|#YB(J(c%L`A1-3O>7uxxXRRRj&U(rl^`RL}p;p_l z$JkgCYS!wqmujTpt14H<^Sz1NgTkoKvFfp7;M8(W|r0&s1k?ZKN4y^s4 z9kZmlKM2q#T#>IjDZ3kRsq{e}{1F*~nm@9JfA9~HH%b@OWt*aO|M9sOi_H3XJhFz% z5@OP9F?KiOVkB#kUbv-c>oz{&SzKTmVg`m8`%8o6o)w5ZqFVn~`<*!>;U(ismFRS4 zdpD6hs4wc@qL|}5DE15x#mx4hsB^oP^CW0kz&8*pf{v{UsOP?`#Qx`I@9Y7ZM-<`N zl8B8rONtrH?|03bi+}*f7$i7FG&pF zl1U=gXyTvym-u~wJ`Xh$y_OdFBHgoP0@u5Ps95medDbw&LPgAc5Ib2XLFsUE$_llm zRO8u0?i`J93B7d~*%3VziZ}ZVvQ{yR*9dYtc!f5z6B=lHd-fW@%am_NCGbit%>hm& zeY&h?puk`5EaC3L&X?vZgPTRBk15N9=22=Eun4{rIvtHNhY5a$T0rbn;ULH+p`NW*+!G7qy!8?3#^N0 zkKB39mXpv~`W5SY#7dH+Xzva`UetmJ0z>^yXL#!aX_53_rGV&7@eXCcY_DT`=OKKU z-YI-Q4LCN9+PZ7HQvF63y=pjz`8l6!cJ1U&$l_{}ohrsW$TN7k=Ohn(vim^jWFo`4 zLkRSKOGxYFXWN^tz}jw}G)(s95v7f^S_9FkGbU8)yFa5MfJz3kPuMB}-NJW?f@sOm zrMc7Tp8m+0_Q}iHX$oN<`O5bW`{3hjKhKomhnYr>X;j$`{~Af1Y0qAe{UhxLiyjwN z+>;_fbu2F7azc}Sva|FoW?XWR!9{xkUV{z~53p9}w6&NW9sXRlFN9 zY>4U#nj0PG)o1->!u0rd_}@+dNp!o9P40<8hWzAR!h_bzsu?=AyzlF?$#(bE65nx~ z0BL^kGV_)ZAhvrw7}pIV-va%(((Y2a`GHi@+nUDhBbv3w*;D1??Pd zOAt8n!OGu?lGQI;9Ps#WvxYRs6c8%QYJBKA%aBxP7bPH=HO=lC`C+iP2qNT-lZue% zwz$~mA!r|fDuuo;=uiDM2Xv0}JKq((w~)EUPX^BltiAA{$RbUTI-J#^Ys3(dD%c<2 z@m=Ym4-n3F4BwLGJ6vTsP^vZSiS=x%@wH)DlX*$OJ)0w6czV3amk()xVjOT zI+R_y*;FIp#Hy7CqbvSNOyG3DjK`96y1K2(rwIm%9rtEktUaxcq05Bp2{B#48#6>o9#7*1x7%viDhxX#&UpS{;!YaQRNUxs~_;YYdEA?n06 ztsC~pn_>7cd;wuouE2jTzunKYYAUtu(`a?LgDwa3OevFAXYq7Ux6W!n3{{=Rd-ZDf zBucRJ^eho8@Q7asxh*S}Wz>@&gy#9O+vZaj5VApt3w10x9J_r*1N4^btN*oJc-29a zgQ9Ns5pMfGLWRok#0n$P{z*{Hr?!6lgtFLF()ov+$J%@)OZ!$$rvTgc&8? zNEUnYr@J~16NUjD=2z$Hn2w@lX?{I+G56~$%@;G)|KJo{c>sSxj+$3zJde4K^4-%s zYmVvS-&Ou3Up+{u269y8II_l)`E=fx1yEz<{{CvS&hqKb*J3??9OtKTM13mxHi`(o zQRVrujG@LGent7HF7NLFuRERXVP7A=wB}y4TafPz*u}@1hN$mVs*P{o#r^Hdiq!sP zJPjVx<41`N!8M9tPW0?IwSL4_et|sGXU0;X?PVD>7f>>N+v&xu|X!$PFze4R(tk9|J(Pt1m zvBjRN8g)_LQ&SLzrDDB1c4|ov5TO%;WCHOozjCE)3BUkVNG*7cjS<)38QyfF#f?_` zl8TT~#1u3V2cV9@YcN#O)rr8oRGg!McHs-lYE-YH%JL!px&LyUyK`+g!MLEqTEdj8 zmZ%2U6TQN1ISg0m=vmahFgJP)J6D^#cz9E_oNoWa(>OQwX*NRPj0#^Lw;MaXyMq!j z-s%55i0?jp zVuF@sjja0W&Pc}44|Sr`cYn;}$4HXy`3CLo2pNa$RMg)nN7%xX(1V?6p5NcP*5DogVz0)2Q1+M0IK>Tj&y!=6Q2;Aqp*Jlf(3uG9CS(I9+7Nu3oOQ z`FrA~h?)$2kjl7qmYaBXQI%2L!{q zoxxOxN5?m$Xu$`Iz$c(PPqQhOGv65;Yh}zAj%hf24M<^N>%EN4GRv`vYS{&!>k5wJ z51j|}l04Vii_^c=pVk(a9V(L1F%8Fj9jRXV9;T=E(*QC1$1%;5&qclOBovD!7*HHH zN41Fgm|{nz^fq#ELA~ckUi$86AF=eGHFx|V;H^BU%xZ4qv)wsR&Wdpv{AUYEUqgvS zeeO`N?gnnK|7J>+s-y*mxG$U326D#qiK_yM{?B{ESS3H*e5(GnHF)#zo4?>Dm}0^R z1_CU9&fRGO%A622?fBvX1aLK~jE51KZRvn)6}F*VJ7dBm3h2-6C3`c??yXnLe}scm zKA0CEhb@B+eLq+C-e>cV69tmE7j%oCiwrhSyn!cA^<|9|W8pHAYximYGAIym%x9Yn+T z3g8>Zc6%xFEtkK&ssBSjF8Ic;d9=E(n!<6d#1+JE;g=u)$j`XB$q@vwXXWy9Z{htA zXRBX?x&w5vEK0t2P0%{hAO_ZILW?=pTdR242#CMM-+u&>BXTq@jx< zYL~t!K=P&h9Kga00-?Q(+o;S-#i}@ttyhqa#;|ZE9PlthaIe?ow((5p=dEf=C$U~b zor2XlfY}M_VRBtGxu)ErE`V3>H5(Udou^)hP=f2cCZ4^jLa zk@)TT&c;4&BUZEVX8&=b4vA+_?*PMvz$q57feJHz)_FS!aGe|Z3B}S>DqSz&Pz?l; zY%+}*_}bi2BU$|+sLglMt6#_6bot3Ptm|}$f@**@f%6CUi>dRKuZ*V;NdKVPwIg&B z&^{hGk7|b@Ft3LE%Hpp(*F8?MD}hf2{?B;8h1&XxZ~V!u8|?rJgSFnhwc%xw5?+6+ z1bt0JwRkah`(@hU4_^ZUeWU4YnEFs@*Q4!J7$DFI0v)*$3ccu(s642ERY;(R$Ti06 z$Mi?9orvqh5E6AOjS4qA9RACxL>n~`#JrOm{$#dzxOcFdmYY^AQ2yyi=^%>;hyL76 zXT$hR^jL@RhM_Wj=x&`omoF)r2v$Hk3`4T*!_fuiS=T>V9gI&I0p1p=c!>Ch^9i@i zCCGVinQBqoui$>ZTtPOKmznUUm`HB4Dfj#BFFB?hQ3ysJkl}alT~o+N%9$zq^4xvr z4DEx*Ct~zBZ1#Cg*M2=}>vnIvlp0PhsCL0k@`JUObpukt?dUFbS6iJvdURd!_QCj$ z35z21L2c#jTkjTFTyM^I*LoeFPHmucTaVs|ZX*m<`!24Yzm1A`5EUNwxfmCxqq8xJ zc7RjeaS{BYae6#`F_rF!{kt3%*6q%|d8bxF@ZomH_r;{y1zJxMZn|N2pG0Fu()i|r zgw<(35?^-9P&#Pzxl_-X_dX*pKi&8Rk-_ByK}P@YS_g?1TuY~9CPs$(oq!4#meD&h zg)O%bAd~WJN4cO%sA8VupT^ob`%^o}d*G4KQy$sBo%WHglT*OB`H0sNaO6Q9ugjfB z7)j}_@84)>pG*YI_?!?_%64dVYS-X{{c5-3?+OIwJ?a|CpmI{PEnh131SDnS33q4v z9TgN02pA3I*=W5AOvh+L?DYV$J^F5H|BQr1AYfi`dmKjh#|us6b)p6RtR8t(S#^0} z>*sX~%h+`D)6otfDr@;jE%{7efI}|qGoSihtQGnJ-0VFI?XZOXZETqz{>YFIq&lkaIj06tc;u+x=8>&8Z9AXY3*5m9vFu? zplgR<))!F$``2s#rxRlnI9xr9PM0(K{{7h351$$~#RB9_KtmAZs6AeVVv2|)zdV@N zj5g?qGQS{(9V07@7dtx#7*?2E5w)+qXVnB={9V#MrhXd3y;Fs^gc8Fuv3ET)+)bBn zkb2bFP=nIoTk>!ezSKeBscAUV#w2`P5_mAmOw@M51^*kAA*!%o%rlm68GA>tU|8m= zn%!$_p#Sr1#(OR?V_r*|c0iCcBl=ME^*w8bdXJkh&FVi%Qu|$>A^gqqov9yCPXAkx zB==s5Yx_ns+xE4)-g`EI?5AF8?@O2MVQ}XX>%5}; zvq#mD=KC?P0J$B!#8Wc&vc?JWZ)Z3JAz93uX+h;52%;Wy&wET zO;HLGT*2lWb^Z$;>2>c89g^H2%73F*lAfjskUOg_ATwJ@EvNw&pjv*g_U~ELbH^6K zD8Q6JE>U}5luG`6Ce@=oM2JD2e->SqOr(W_Bx2L+n>@=mZwJ^G;Z#T3G5M`|ZPsBN z!`U~anP8_u!|l9QUf9uP*Vn5sz-{61Q1nG(*!MJY8dV5)yXhFO_lE?p4$+?is3eCCU8}auSHb$G8?QuM--`n}U z_EQN8Ebb_6%(b%o71H>T^i!*}W<$=e>noj{WosiDbC(@yjx!~=vJqY1KrCO>YUk;o znd|*|Ad+bI%ZjY;h3;k?S@f)qrto>gXzPG7@_#nQFbo(91GZtq*jV^)N0~M4QY6R$ z>QiJ1tK#PfyOxkJ&a_1--@O^eSYS|O3sBc6PH^lX2Mq{FgPe8r>pTaX-oO}mJ=#8lW=10wN^xHEJ|VuQGR^|^;jhh!GphWY z5}G4c54Rx+I3GJd$S;#!uSIi>nqefLJ*4%k;{;x7i1^Eo_}i&aINx!D>7{BN3=sMA zWP<^FGF73OEim&#L_fSGU~}Lm`ShayTG$nycMiB#@-}3?u6X)k1MmnKP^o2Hx(5(w z56$WFhMDx$!Ra62PvwxB`wyqe{fDaCVLVW~eXgwVMc4786Qkoaz0&Y>HnuD)5w!^T z%`}N3jr5k#ZN~cEk#0+d$sEh=>4t(X;Ii0?-w*mb1e2hhY^9Ev0Z7MI5bGtjQ!}n1p$yxT; zsO!pPv;xA|rl}&lSlo(g$kD&;)QSQ6-j51}e}s{|7L4*o#K4A-$?kqh7oI7o?sZHX zV)_^1-6AdZzYQu5)5Khv+i8oD2E{0F z3Xg6qaDHa0Qsw-DweiDxmd?^g+Odi83E4wkO6p15&)=<67ML1$BCH>%l;p0(3Eoa& zbz!i5i?bOk*7uw;mW3l<4D-1!0CIW=YozPC7R!1{A-w2+D1NczdYI9S4>vH2J4QTe z8dJF2<~!f!L?3=>D-QB~YViR4cZ%-uRFTPwq329%LQ5^>>swpMxr?rX6~&vVg`6)X z9!%VFD$iUkZE7S(!pR!juFz_>Y^aOt$V!3g1?+y-9}4ckByyczWhD7w1%78T_jn%G zUHQ_E`oN6}nYVt}HC|%R6?4=j5~~9qEvN6jH5KMW;ZH+LdOx$JvA?m<4U2c5`9x_4 zwYR6S2(_aM)?G={;^7#KH=dA)k$du|O;)p2=RJqg{O@NWx@qGQ>@Ov>aUg-_B7$oE z5+44H9N#926IBk2E%jy`mR&@A&K^CqJq2^Tq>}sPDo^s2Sm%s<^l`u1OGrC4Vn(H3 z7P8_Lav0JGO@2LCLv{2;MDN9bjzot03`7s(nT#Gi2IGHoD1YTJxF9?D>@04+|LXp) zXAGQC?Qc-$S_>*_<|)z5;}?AvZZxxo9srsO%|0GK!_#xySa+4!B@EBJBoav#Raqwq zd;z@5j-YGfg_=Cg9~r}b+CrMO^YAQ^_K>D^O4&tf4zjo38!^87@P$P^G#68J2EIa! zS!S8;lQdxZ(?F(3&zh_526X7uz_AOs3VMK&HAu+*R>1qEe}dK>)g6ZK>KJv#6v5ET z>p~jWUodp^1|TJ@oyn$;H;c~Dvj=%{;Kxb)YWbpx+-v^X?(239ocue%RhY?LkvC}> zGPnI{z@&L2$2SbTJQbC~Qxs3NyZyaA+;ZgXP#fMxWtuXQ3i7S{NSl)fEGSd=NHakT6fo!u;9sR9Toc^SfB6lKj zjfd>xMbEE^p^cWd}&$|fBSK{eB$yi870%oBPTkV zImgV?jg3x6o|;K3ju{V6Egxr8n~$p1kEy1OCwi-XoA+f&UDzT-=L@^4M0RkkKrk|xxbR3c9}1iCN(`(5|V#C-^osb=7s8VK7SBj zST1ZL)VP1Bz58ds^Vd&BfqvDU$GtPqiR0*9`S|OZ%VIPVzZY@8tn-PI_7j!L2gYJ5 z52v|bvd8fyY1hN!q@zjTmEh?{|Dnl%6!bzpzQ*T@vA0b;e|0M}%pzL^@tB3VXZYb5# z-X51AFrYl7g$$LD*{vZLBpw)A-u7GHXn#hvE^Bnbl#OKWu;+wP&*p4a3iE~}0TzA} zZ^B&6wi88Z^E*WGI3@R57uVq`_7wMJ@6BzcotA@qP_ntZpkQ=(5Uudw5!*~@Jf1av zM!WlIPBsIt!`q4=Ipt{FxjTL<`tPOKt&53q@Ic4_~yOQhk;$ZQyWp*|ZqaG zHig%ibzTRbr}oE3ETa|_Zzy{|S)Mu)vvh1NTH4lsaM7)WR%9I@N+W+2W%)VJD8p{H zBjtJqA(8GrP!5KpbLM549`D(YVLEajknc#{JdvdVM%W(6~e&a+(QV*gDlLDA zkyU7y6u4f0zy*JBRM)d(jFID^MJxW(wrg{pgQAAxry<&lA8m5)}CQ>Vv`u+@rS1Lph&4MHql#!rKI9K=Aa#=oD$G~6H4_Ks=$hKwv{}+mFFNSuMLjtMqc3(@(S(*(nav-9^%L z)5m2PChSDEJm1?mGWa(g=%>+34SVq99wI1KY0~KBCFgbIpTpI#laFP}vrM;iXQ>6Q zgl{c7e-~jAKCq#H7vP)?0QqqE<-Xg9XLR1_;f2@?+T1Zq5>vJdSw9o)kOLHSI8xH6JQ{6DN*go#pS}O_DI>Ur(u5YSk z+NKxoYz^CNRC^cl*e{zWUkY1_beUXvC;QphT{Wm`~avDsq7_@kibP!#AA+P>>0(xg4Jl`K{J2EQ1piQ8x zL@~WWQU9WrwwTj!1Edi!flfWEtjoDvB785cGT%>4@J;TnqUKo!Nb&^M6jzh+klH2Q zk8>BIowb1EUH)y+~?oD_PVUPa00xP^I{A<`@f2l!O{0)Y}oRgOzWJHuv{y zcfdBptcJjy;rbJK=m8~}IUDfD&t=wBIbF>2<*<&^Rt>}%dRn$v#wUI}>Ph6gZ#?_O zJeKcg)>EN8t!4jr`!MT($a=cRC^h9htlQ1xF1OTQYreN6MMl+o!g@DlD<4b8AKVT8 zb^iuUvYSGmt!1GjP*61#SQYZvwE|p%k5Cs{B{}&WOZ{a6`=UYnp zLGUJl8U|Wa1lb%lU)zi4{jXP-t_I%UClmdi-MpXq28(U_=|5m0@L6q(PAQPem?Rfe zG|^!A@a^H_l%H*eQ_g|#5@SJy6JE8N&+T^8HS;2dQk^QH@eCam^=?W2vLDBrh@Qe8 zZiO>Jp6NFvuK5A>lLs*ter)H`(Z4*iBfLw0Tr+J`_g0C=s+IqbVtN`bBDtq|a^~AX ziJu=$mKp?ah_&W)AjE^=nuF98Ef)r_m@jAk{GhVEScu^-?4(chdpklRkKX4eet|xh zQH|FZeAW81Lx?*nRE9Q4kYGUJqAl-2IWa)_afFvDQfrth6eek&v3V>0askkcQ#AZ(*7btsTg3ku|GMY%<+3=l*x;0Q~fv&w4=Q z3hLvI@20`o{zrgf^X9rNoWp}pc$+pY15@kRpS&SY8qSob=)Q!_$fEi>65e3g@p!AgnlAR**Av^- z|4t2$*`1ScyWs30=kE)xho2ZD{PE|-Z#d8YEC%saZNi9Ij;f3dSV8L>!N;?Tjf}E~ zdFhi7mB$)#%q=CqIUOY|*&*Yc&{rx*dgE8^dM}3!yI3BnV{kV;>lh|Fw*|Z?b~P!~ z7=9iXPM&@m*^?)l-xy4;L#ysWtf2SImpm+Cep??b%s&h}#yS>;rBBq2B@5e$>AY$$ zeHD7)H5)B>6e3+xy$N&QwXP2g;5sZ_th%CZkSMaDUUvb-{KlEVpOC*f%AOjSp7U_i zK~Mn*r~`gKe<%wQ6R@ncNIIT83*Y4_@wY@F=b&uo;Fm!flfML_P{hoT_}E-GYluYM zRrg%yL)6WIJ91=Da5Ut*n&fz^-Pd8ZzkKo1Lm3c)fBi=Yeuhj2)e>4{C&^Y=(07dG z)tNDrS>VxbIp0lei(vc#)C5J`WohAsmRAK2@~&HBduMrj7PMR4DO}wTkvdi$MAAbr z3K!nT)5J`rq%$X^U+vCZb+KcPg&r5?GP#0=1BQ(fIIhWtc;ZkH@b zx2H(?zdobGU+%|lT1JQ89{9ugGC$+%ixpi-ndWM&P36276jzjN8?J0e#X7~=&4ih)5hs3XFsK;n|T{Y&; z9!ky{D@xcKxDK{5#{8EH;32!~N5(-6*RMj=%qbV4c8NPXjKXF6BjCL$Aj#wE-+;rm z*=_(?G=BcSUNC8hDTuF4*J!7#OQa~U{IQVLY(O)-b)P@JJL_Tu@l|yX3`pclh8|vh zo&j^BSQQiBCy>|Z-l-wdO=21uuk-PH`x9dr#`(@XS&wuKD&NiVBc=F&eM980$=c3*9 z6`s%^wrPtywdtw8iD`h==T{Am5viOI_pp~_lCwzK_xHN}ggiQ^M#MK%oIX0JUwax> zj2~ACyF|wL7iAm+#hr)_l`kWMB;JpUvAk?K9Ry_cjrmBB?2$)y5{Klq`mMsIt-zJ$ z8$d$Q@``4*GyB+iCOnhIIAG?C-^(F=RW2~ZDQn(2?P2p&sEIoHtdbF()OiG7reezkakqzcl;IL{n5?N*iu zR6k}POxR^RN>5dy{_(l^#0x1ac6CqoJ>7s^EMzwdR}~u02kwDe)dc{kO#^F{;P1rphb}?lv&aTvZ%wS?yYL<8hZ3+*U(a^PwCD%SEuV&t*KjCip^U0mL=d3r_z)Bc$_PU`(WfZaGt*_MuALRZExc|_1A1=kW%ANbSPzO2o@j(mA8 zdn0P}d8_)g`NcxYQ##v7xMw!npap2+&183_hp6k((n)dE9ju?S@OnEe<|(IV^`!A> z6`*?l?Bl+NuZcLJmtraq8Kf@p#QtO@iWdcCA29xnT256zv zK8w>`{x^%RMhJ#mtk ztDZTf#&yA*>4~2P;ye!B37@<7+8|zm)R*4nUmBuC0^|FtTv%%Po7cZE3%4n-{Pkad z@^DPVX?3)WKelO%%|*SNB{oOO5DY1e`C2pTK@zSd>a;}Jpzp~vm$4s#tP1&G5)=s# z#6l{854KJrpi`%>Lo;ndw!Z-wiG)`8&gy6a6J2Jd(!J)uh@_d%Ad1IjU=>8wPor+s|6y7yc+*N!GfiiIL`XnCDnOWXb#Q=ehZPK0&)@OYXwHeP zTr*e~V*KtySra%HiwCBoIlor2H9C0h$~h{dI|IJyx}{RCId@(6&MM3D)%FoTp%!=) zuYP5>ijAD`qN?kl$>a0Gt^2GWY&O_Td^?|l>i5FsJJ2@8&6Ge-KWQr@2Ul6w*RiUD zWus;1F*{UPkGLF7NKJp9Y@R$)>!>#?3JA+kOQ&JkGuB~>XutLU+@JTjIYJn}a(f1j zrn?ue>{a8aHTZtJ%>}w`>&>;$o5t)uf%aY50;-H>v3KevtqFt&mR+v&WaV2^Jw;dm z>DXH$*U4*ROz^?tD1miC(87*Z z&9Ma3d>umgzkCNP+?MPUw13hwa%?}@he^}6dhhaXI z0=kwlNVjx{B-y_*>iPB1utl}XI2IPc^zE`kl>W|vULi+Hk#>0zmj2V8&8_(i9@BkX zy`TMUtP4^W2wZVFG}TRg$2P~k1%Rn0uhT(#B?7x}m%JdCQMcgkjR6u)nDr^xK&)6O z)bb_fY*3)zEwyB!@AGr3{P|mc$nA-No8ZG9u#~=|n5B_XrIxlpAo;a4m+1YX`ee(N z75{ToCs6qel(M}H`Ua50wCmX9xN@sL=t=i1wJBc-1t?7qbO^t^M`LXD`0;>PN5F|} zt0RA=Yg6NoFtrSsBwJzlbLwn-{qxSQv$Y6U|B3V>f`z+8Y;Poz&P3}VM7zD&$KmB! zoV&GoZOl2J8}o5ubijF8vb#KO{sO2pnS&DxY*$oyzcHj-qe^qoas%j@Bi}oIWC8D@ z%{mX0)~pU9~tlm+>p-sinAu5BgDs@z+S(O7=TnJ*l_D7>x7@3tO&}G zx%zdkGQ#FJH%f1hBv8H^wbxK7yO_g&YjMbGOrgr4PwY`7o35&N%z{+w$=!rY<3^>FQFFopl9(IG;Ml{O!$k zo{=QKp=hi4V?B}a0F#gEWIdR)$A4{N$%N<}C{hq79!m2!%*8Y5UU%5t6Ny2X5XtXF!iz zkV){FkTg0!05$qav@1_Yup-|xM3oia>8WpfRenr5Pq5>?_#}Qy?|q{_XF26&bE_c- zO}9LTr6U z?rVm!3ZdA6Y}ePsc9cJcn7i%pon5p`qQ9sxtZizAx2a6Lo9AyByC(t~q>5N}*j(HC zPv?712)iN%4trJeU3wv`>*Y>D1qJIY5R&f)$$#*J$4oooCI|2mq~x1-IgaPUcVvn1 zMRuPwqzcKP)lBllDVwWif2A%WTYvz5})#%W5)& z_VQ2oTfi{tFYALWWNpJloG#Xdig~s9w|bz|>s~&!h7u;QE8p%D*gdil;%oX)`i)it zoFEM%s^(snbk`-)gtz22vhxjcQg8Oc@%)6gNaEFQ;>3)kwu5-dL%(W@49mz1TgZnZ zB^A2^?H*WD^^X`SaKkI%HSH^bOJ1Nnh_}#1-kHxCiKl!Q!IF8~{B_@h&X?f^L>jXL zM&ic7Y)M_N=`$2?MAe<#+kQBRUWQfG`_c)Q-6#DETd%L5*Fbru7zwTgjrEMp~P6G^Gf*sxGXu%Hb>vbL+5-`y<;IMhU->E2aV~8X3 z&+&Pb2NK{=!~5B zQB72CaV-+3f*t*{rJaQLjnC>aRaccjTQ}nWyo6BaqU_$@nh5>HTTYEQn`5bZ!{ySE zLYXoW36xbTX6=}yL*f{KuYz4e8!x)~@eNLRO8neVYe*>#Bq!2*4gtKe_`oPL$`1Cx zclrs0#{{D)j@poSH|(VEy)0%#RnKc*iXAN^vpD{|yt?QlG!uoqXQ3p$#Su*wM}5Q# z;UcEZ;-@x*3LcI6&z$&j+lgcu2{|Ng#ciZ2Y9Gyls>LC2svz1N!LWw}uc5+t3B6``}^A!qW3aaL`l4;!I#O=q+@y;YtJ z_VZc7{jk#3uA_Go(5i^M48g3@&tMb$IPpXtZmM;07mU zAkk4EB-3A0@5Q`r8mM=008|o@jj)+q8r_Uo4@RFm7#IdcyV?qSF>4KO@AT-uI_&T@ zjef!Z-v7Ymj=mM{xyVgqBU22494mIyMp52n8x_qZtO<@jZVHi;i1X{fxr?VkZ5gg5 z@v-Wr?lR*JPv2MH#oDgq7oEx7bR^JPzVf?=diCNt4%Ag9iE_ev6n9_gk0`(b@WVza zv7TR64+_3PnIdM1?MG;mpB4~(C5Vd5tMC8;z)uTmlOw)=BpyFPMEkR=rf z#=6*PuN5;ZhoO&I4MFYx>fi7`jckp@{kmN5a@Nk%sWdGq7l*<@A+tCF4Ati|=+Cke z80k~O7yb~wOjxkN0aZJu-?h*mZ)di&6JH!LwYU2`&)?gg)ebGaNP>fa1in}D0rxeK z`LbEJoi~2kV@RQoOQU{ga5BtdaA4H4bwEJH1KSayN$Fo9>Y6HShbf&6k7ADaewn#(F-n$^?b;?&NF7+!d(D#sM)kG)1GRkWs zpmeD=T*-9!7uKBLjv_tZ*`MbJ{>MtSW4(n2_8Ec!5|O=CZZ~J4K&frd=2Ap#GydW} zcUC81(+-h@zyDm=*Iinv2$G$bjYl(&~y`?y;Oy3w+NB1=Sh$A zlE+o_)o9M*u5wHN?)}Vmx~3~TvT*-_llu!+j<*g19*`Jz;?-`R$@03J-G|}ptlZK3?$qc%IihLT1WXhuZL+@`-;8BKLTgb4*k;|OW!!A4}f zQXkX}ANwyXh3NhdDn*42P$vFCrM$gFtgj}_15>ufE|T@6b~@=a?ak_Oqm{qS$MOOF zf^c>ckE8)f0FPn1EcX2*tq;5GkuKk)INo%8JCogo+&5>>?sSmuI{k-mqVNzB5mt8$ zfK;)`9#Ff*H*j{s!IpQcHNpGdPBxmQ+z?s?)VBhY6jI~+Oi5m{a;kX&u{@G)(_0sg zWdJhDVb5~ftlv>|e8xHvUO7%g=+Fd-3z{xA!doYmI%=5F%) ziSBB_go3qc2M#r1M|83N_bkEA7Z6~H*Y0DY?kU6$e2`UMAl@NfKSv(+M8zb#<4;SA zVK!rQ#2kbaDtZf{D-i>9)MHto8d3EM9XRf~Q*cx_%6R-*_KMikM3{|;VR z2qT+J{m!~O*-3=cI(F9?D?@Bq?*Mf57b_QjpgPIy+Te1RXtJ)d1kbuDT4}ZImjJt2ZCpl=rYDS2ZQ#K{JF-9iLAtr?p8|cS6M4s6M=hqD^G!pqbAyoHq_t%< z9nZ$E>zH4)y;rS)BgrU+Q6IytJbc_m#9riEu~uoNme~i&sY)u~)`;~IDbt0tK20~Q zjuT<8N3lz%&sOG4cxt@8?+LjL3V@!=p1d$`5cYv(c)|BR4y^fICM-*~XV|T0jC8eo zxBB5bBPVyy-y&NR9H^Vlv{rxQckhZo7`;wOoK8pr$Yc)!2pR#$c5y#BjM<2JZ{#L} zhd)pt^(pnbPY8>~5FvO2>eK`acm;$%9&?)|-7pb$I7#AvP5DmjUVZ^@2Es@*_j8RX zUQLm>_}x9hd#Oh;N#}HWy-8PuzJn^YA(#Igtk4{LADX)JfQgGmu9@a_fx-8=8panI z0N!HwM~KA#Z0%#wBy&K&YDFvakKv8@r{1s#R!_swfP2jbd~^MN>4e3vD5r}Xs9spc z`5b!-it~pi{OFg%F$Z2m;#X&P(~_b;BpY{!hkWf465%a%&2q&Xa!mX12@xX%9wB%( zT%=1j=5N(!*dkOJ7fGqQ6}u3%_v?nXGu=fo`0Kj*3P%$QRHW!9-H6!`3&%B}dR32g z(9BYo{VJ3XL*^}1B>dvKUz*`f02Co$X$*Uw`h!2~Wyy)GwT;X>{~B-{QDe|qV|`Y0 zX=tl~{uxhDsLf#KsR=S{|*Q!sxn6Ervw54Ml_zG2^9Y>S4`X8e2H%O4QbodN| z{v-)5VluW-Og5OPR`BgzW!I%e_^8QwKJoVevkS+nWqOJik&}k4vfV{}5^FC%zly~@ zo3#)NnBq#Q7FH%+ag&cQ?+>`_h)nDssgT;*b=o{gKDw4?B5v2QuMs}-oA)B;Svhr% zMm}Zg5&k6^W%KUigsZ5WAj{H5?7>7{u|x(5O&(z(FJznl^7O?)3+S$b6>`D65G(D2 z{YgGGJve;fbzf`viRYTMe%+{TOd);jAg{34hW9!}g-EAnEbZ8k|K^j{>g9+>Ehm0J z63?ou?$>#*^d&wr#MAoTM_x{=VRcy>L)ni;$mQMzE0gJH*SZYcG6DG~zafQ*97y$ux@)6d8TX8ii4xdefL{ zC5L-GA6U@8|KX1$4<^TUyz5$s0DWOz&^7o-6m$42V9ixom>IP}iuUb3pS{sF?9p3N z4-c~4r^o&ZNCMcMw&Qqy;XTOr8H2BgwxPG0};xucEu=0_M>7>u+K?EJ-_PUX-v4&lkB;eGD@$ z^Q`G1%t3BsZwL-v-wCZosUBeZl)~D+^c}DUZ5%NN9EL3F4vzl{-#ZKz9 zN`G~5#_D_}_8cD@!eujCCbUp9!uV@qn!ZFo!7MT8gDj{Qs9)ACGWweF?I9-0iY57i5@wByq9*yT#KAjn$*(UNp2emV`x-Zh!}|Cy##XP|5<9A| z``N`}FSBBjx5W2ZBr9?w#nx z0JAI~NbFX4v5C<1(bw zPc-#)x>Tc4&2l9z@%H3&@>vq z!L!Dc2Nk3r;IF)d#ZjIg-27E>dsan#AvYLTYy;LKm*eP8DNpqtD`l*x%DuAZQQ>h} z*bbyeL^IFRnpXylu*6^O3Yly}`7374eoJ_{)xf;r$4{J4l325Af6ivwIgDzEp$IFE({Qalyv~e)E+xEzGVc*+O*qbtsjHFktr9d_W=6G~%v;`USy zmVY@eDh^B}Nt9ZR_9WYj=9W$qqAhHs zp_@@*jwYD86Z6lAK`{{C^m@|Q1IXn6n=y>Db<+GZW4ME|ErtV#$dnJo8}dR9@*?dU z+#dH^8^isEI`5gRwJ$XC>{a+)?>#;6Al?c9uc;g)m8XZFYu7gcC9oA)d7>q1p#a6< zismaAB`UZ9aVHQV-{2o zuBroRNZ6n}=d^>*rak=woN&%~thZ*#_efNcpsACP4Y-x@htGonVRabtTh-*M)vg(% zrgsb67yioyu#N2;-6M;u1P4o9Cp(XEB+n7kF? zG3+~0UI~44&?}>jkdgh}sd)F|55Lz2T0YZvmY$w-HS#7c^4t@2F#~Fvz(9&`fxoI+ z_iOea!oJ&DS>Bhu#VAo9EWJG`DRSO=??s`c(}Sf|PoDJ)r7jOvR;NFJ8*z_+GW?0w z1E+!)^@|gc>Rt2vqJ6X`t)+)1*m0SLy?z=AJ7=s%b`faeET6Ay0aK_x$)x}XJlO~Q z72YNJRsKhP(f0N!-PiKbp1jYbAG9K7B zg9``6SSE{B>SwXnoTJk*M)aEd9nT>s zThF3=vladYz5R#$;!*QE&afi6*pXLvB4_IJmdSQvj}@L|{n7~WmQBYtzE2NsOsezc zfEOZS>lzqQ{i8ZoOS@V^0wb3lGe%|RVp1|$^5)_vg}=XoqtBra%AN~n2IrPF6W{Mu zN9i6zMjM&z{nhQ2WZ`T1B^{xOq-AYeZFD+mNQ>QTgadH;4;6>zW|{|=G1WQ0ZADWbOOY!pbOFrm?I& zUYOkUH<74Xa*3-xWRgvsA?}>f|rmgOCmQXzV8!5h+bp9Lx~)MS5_ z%5&Bxz5(VTUJ83Elz|_{M-Z3rGkUF3;)v&_446nB+DT>)@n1MD-0jh+JPMa9+3&I( zsnVK8U&2mU4DP9#SuPhcZ237W-zLqB>PP5?`4XBciUrvFJ-*st4e*0l&)ps@;~pNa zj@NP}jwifEMb0f4k>`^Z2~v z$&>Nw!)8TIR77=7T-O|4T~YM4zeWF>+hr-;*7-5Fop|Ptv8C=*%B5wu)qhzqFg9he zKd1TO(tsr2{#bof0O9<&cyD*=rKyG|z+_n#T^fEKBpm4DE+V>hzJw9zaHSmqP>FGI zNOg#k7NUVaMZ#W zsvgyUiz{WHPna(n#W8a_XB$?cy}!(h{+NYmvqed}mdOBWrvrsC@55rz8L~!0gX@o5 z=OQI&wY|!AP7M@gP94kP-*=Kk3 zEJD4h=ejUujYEr>0VJs_WcWB03b z-`c#Q*VaQf=26|@zSp*ww(^j3=OxLKbN54GW0jwOnx6A5np&haxMLlW5){3UqTbzc(VGjN|kK|00Ba4?yj zP~V@A#0E*n!^sJwDPFe%Ea((T(>kot5y?;Rto2FU&ZwmKD6m-fjFQ2bRkfyC3+(ySYR!(cCz5E5msLqg0tbD2qW)Ig#GO;1vos7VN&Tx!hOyBmRF zz`y4fGZJ?0f_zsuM&C~cDgW)3UDy!pD7Wb9v5m-Er|%b{z1WBr^?iJHA-UMzm=S&Q zZZ&mins#P7WDn8*tZyzmf8U3i_-uN1!F%Z_y1&qY2L0Xn2iU%J9q~!nv@Aj>qqElB zz9+)Ir?Gr!F-)&}!M=iO^YJJ2Qn zlEcq2Ab4@Fk4d`X%=``mtf`0Gb*nR0>v>~P6(~-@u%|1?H_fj|QxbaoDN?i#hwSA?bDG35&%0dAXT&vv6eTU57s6ae?3I@~dIWjRV*6 z`?eFko@9*K6Lamp78w;rEo#A4l2UL>jD<4)-E!Z_=(lVXWR`ls0!R0GAyNQ&l?CyD8Py=abnenCo`)GL)6 z`Tp0#%v5v8A}Hhd`6N7`_nYu{G5tS%0di{Alis0*!})=Vct0!q zwn1=?%9{lEF#6u03Twu!>!2!?t^LE+$D*LHMN4yU&5wBy<5F^?iyFYmb3wO(U|u}3 zA2?|$^*j(bQ0_knbE!MCM-d($cRx5dQr5!7*$-#axH~wSU=P2oJI>R}I9G`WX z4sHb2G4jYB#!*jwtOvvK*_P&gXb>9Ol63qiisfH&xtik75K(!o*i~fSXgbOsMWs%a z@M@P}oR(@Qn*Y6B&zgqWASd-}b)GkmsQ+;z&1&fb{~;!h+Kq;S`;fNqY1Yq^i}?=F zjU2z=e+cVpFs~0m`Z|P@;oDG39Ha_kClPZbxy290Deq{puA(W>cMMNh!B&K2sbjk*a`4( zIkCH0iJ+*07=1Ia@c_Nt9XApK8y7-)-U-7O_-+sWue`IZ5n7_fJcZ%G#(E7Fwct}l zK0LSKD;!gr%_a`=5}d!*p3BW7{E&q`ysXzH-&K!F-k*U#wmwR_wfI0$MPDVzQ@I|3 zU??)10UQE2I`J_N^%$gX>_;F|uh4kk!1X(FbvykYS-Wm(^393vrNnA`Dj%-5Z@Mo- zi!K6(oJlU8XrdYVmY1dX<3B@=#b^2l>IeloQQbR8Zw_q;pmR1li*ZF$o1z!`mJboE zv~M1H2W^Wn{YNh0#ta~r3tsHMj*i}6XZny{rNOct|M@!2+_DKKPX{)g2DF}K@f?M5 z4FK5pI_b-6@jLx1nd+xxI^AowuEBqXS6ZhAm2&JX*r*Q=<#UKe)$S<#PO_3s;$hcR z<}YhPZ{hxB`Mi!r&2enK58|G*sHdV2Gpv4%Kbg2_$h*$5kG!F5M$lVeZ(7VmN z7D)C14x3zYqT+8t2R0=A7y9=m_NA!S)p4XWK4(Hxk=C08ix!IV!NdJL0YnnSclZS}rR*N~rv+sS!uOvG$r1{H2K=VbCHRgY}G~9Ct>8bW=W5E!OAV zUd$xK3s<92{NCS$AYU$UCKJUel-fE8g+`oV3{4cGTuvcD}o!7@hWrD(f4LEW` z9X~}rg_--#|C$kMg~xHPy0wd&4^5MsBbAsTd44%Hqr4TM+&KoFIrBeYtONEs6n24= z@S)ZB9txl78HZcbMTVSA8k78-uTxq9Cr~A^zTrl3^S$NfOan;|gsd?*@}heZO^3b7 z!4lRUv3v7YI{NP3fjkC&R85DXckFA^nR1pYhTl$-Kjexy0Csul4@Q0*p}Jl?`c@IP zTGfEN;6~%HGclU zmnZVHvKhC@AwXS)H1MPlf{!?Z5Ft(&j)**$eUthkfy0yXC7{hPC3_I<|K>Bc^$zn} z9obv}h0e!%N2TNmrW~>!*9m)aFz^gi7FHUv_sfk<6a-ibdR5Jf-TYIfE3_|_m}u?< z>7hHYf5`}ezSoNHlEPm=HlR55ZJY0{%5wr8d2ljXm~}BEochR5gv2reNV6FXC!9oC zfT(LfZf!vOnP#9l7fxklB1)9BzQ~mLLa6S<-h!{swGGF89&WfKP;qge3DnP;=7&6q z_@9{+VO!c2-m|Y{WS==b{3IL0yi{CoT``EZ!(}#LvvS$fucf)L!Na+1ZtX{WRSnra z(bKP7Dr~k-olmBPR6N~zf^AVl^)FoL%U*kp!7`qm*2cd4P#!kz{QMYCxExtoT@H#q zl~kKi8^b>DZ$bs{fLwg(J$yHRl~bH^TMt<9*VR=Q)>NY^t$fuT;5zyl=Kxjr zJFr*%YG{U58Od~`HTADjT#zvd6Yx{TXMOK?3sF;v2AsDYJLp=kQT7Y2BmMd?SCEGCM)25kYz5cU?OPZJ`9MvYJ>w6EF+j*fPjSW zaGrSb@os_w#!l78{na}{v4B`JPO4z;b?0?|&X&g^)}j~5ldvK|YBuXZ`3>5O2q!`K z7(8%u3^*#O4(Lb7&8mM{yv|f+k+yFqe*avc+F-lcboPdP5>kXw!I53A;xD{0CDQRvH@;S>!2V+3zHvg|fW&yD+*O42;(h5ETA@El4K)(jjS26Ki z4+IJ1F4-&hxtf=K;`^fSmJ>d3*4AUlKY@R;)1LRo%Cd*8b4mmjfB$kZ=kU)de-RHB zi#*VCANM4llHQB?_ODyL`N1)55}Vi9=)McCJmyr$?{alpvUD{+-l`!X5ewvlz8HW` zxtCYI;ACTYRtDo>;Z0PpGOC3-c1JwkFj>mf8FWB zKV*JJGMM^KsY6>1&TVHTYb1gjYs%{M6pUbYK#A|f8LrO*s8uuG)y<4M zbf3Eo!{--oDe<_tSw6BtcnjEt_!>GJfO$J-vVFaRH?9@FlYsWNe;`k&S#P z3^s`?7M&{a55GrNGUw}ux|umtRqSmuudAPXW9CI(`+NOI@fQ)Uhi?EYn^a!<99`TY z+nDL8rLs)2J0vyeI(OGn%?Q08gn?xm5__<8>vgU=i>`&f%4s{z>ezkdP0L_IsApTDO{f$I51@9Ni;KgTYg=BX{91<5j|EAaqxS zXtJvmC{qS$XB%2ll>-ZWJ9qdUwu}d8ADh1GBOozjB4d|ubBXCdvG$`=pJTmQa` zdpR)GIvk3jTO#&feScu*=^4{0VJI6??4}Sfg7;?2=3(5>g?zr6g|?zU4>DPRVpYWfSh|I!Hfx!uN(5a|l8n4@*k>%Q38 z|CRjrrp9ZQ$fo(e3Hb0L<-BSXvMxE~mJcVia^MztnRaJG`GD4$v5y`yzJZg~C3#gq z8uucMe7|!dgDPRE1~m`)1~nS0LCiU&Vo!3X`?ulaHxKpD+UH|!kRE+-_rYUKZ_38} z+n7I~sY1w01YC{)Xg@Xg!L1vOZ}!Csb+nU25-$gS%13swA#K>Nldy$9e*CHa)%VU# zY;>Bdb$35&6ws5avJn(k=n{IYU{ZT@K|!~#Ms}|7AXV$-77eVfb;{^A|ouOIhQDZBUi`cLUOpY>=`nVpjTT-bCC=15?? zkJa%6aza4~JJ57kM#N`NT`!eZu2xE(lBjd7uJpq$;a4e-q1`b*$Bxn@(VIKVeV2AW zS1Z}@lYt=|{7*w0LI{|bGOWay-?;;U5dc6!VAH*5YZfl&O{V|8KlcTif@(wS>CJLD zoa%1^$aDuTwJ}FJQY$DmvugVZKE(teGiUvtjV>ZiBhSU2HB9it+sV?(h?CwDhkHC* z#5OU8NjJO(AcGhP#WNs=W8a=Y zPJ?9|C*=FU-FXs=74luwW8SqZNfnAm-uNq^L?&VsJEB4i!$g!`=^E6}2%{cHuX}mA zVq8--`fn)9&p&*3$(8U)`Sg`d%o%T-FG;I2!d<FR6GTzH4Bi9Yk>wYw4k!Apm{X&jP_nZBN!&| zfT!L)_JxG^laKt1O7?Px`kN)6CL}rghG9GpMv8Cj0y2uQo;w?U*kb=Bj99-VPlS8P zPtSRqU~oMqMtKR39%IQnrq331HUlB_L7jCZ{dn6_^$J9cxT(axn=S8Pq`QY3_QL($ zGv_AT+NYzdL3QpK^Ja_j&KzC-xct;yef>r}m<+~vT%uy%8CzH7wR#SN?mF&$dekKv z7xf!5aTs!ohsL;KMclZ(8MC8q`R{PizgyE_Yt$B-> ztHj)_aSL6*>^ss##GrY-u8&|0O$UN4dycS^Tn06;o^F{Wp2CMuIqv=c^f2_q zN<`ny~h~nSY3FZ2ats=B@?%rimqp zeIR*Wp6hqk=K5UNV#C7T<9{I}tD|GUg&;LpkI<7GWvnK@zuW@!lRSj6;M6>?+_ z?TW4H>nFETqaFL{G=cLPH-iDSr;=icP`b7io%t&g8l~`nIecl^-Z(l&4{{;u1A#cr zYiYhVv3u$;_WQ>DbCxeaz_B-JrD3g@`KQU-PlMb}=j?kU7$|GTtjrH56u*vKVyR<<{5Vbt)gj5KDCwDEH=Jg#8H5f;`9X1Dzp~Qr!f{Y5 z@>N_WAP?2H>xER%?PIAww|5qNz;;q75qhf^<&C)1yX`gz?avSIJ}Em_xxGwZjN=9O zgpZIsa{W~)i1UHvE#Pw)e}9$l|0kHQ4_cZvt4{YuvQ~=fD#se>Grs3>y2mht>Ustv z!F}L?6$@Z!eb}pe_F1*jjzGI=AJ4jfz5hiCVhKk*o<%v9B8!mhHb@2+q*=X6bgQTf z`oTQ34jEN@U@zbd(P(837a2FgyFh|ee~kUv(0ID9c>YSz8x8X>b`$YIK5!*}soHlZ z8^PRb-sBMKlOtzMh9Qg*evc5FUpseW4wvmDRZd4g7d}v}d&>J>nkGs~tpvCYqMINH z!E}6tqD%WdKAIbY6-sO!_W^XHcI=JbgJ3Eu>itf-J;M8ew59%y?9%#y<#Y2pFH{)# z>B0bHx%5cpz1ZMj{b-M4`#iWfrS5{2C#ly(HlVJEPO2EF>70AdUzryi()`cp*Vu{w z|2O)i~sN0k8TqNKUNT;jRsZnGl0s%ZJaI?NT*_bj zPB^FT9mSFMxIcdXy6@cf!);}*FOlka@Kt23FOVEsfyS;}wz;6HN57RYUxYMc>%3Qa z5u0hZ^Maq1SFleI@@<5;;hZ~NGBN2k0Os6u$>6B=ZaW^{tuOevv6Mg0dvAbnn(+>a_#XI%b7c;JM)rl2k6YBflV^b^C-xCpOUTe>cb)0hS zwffNm^T_l7$x@X7fN?R>VH%>maP^M`zI-Jiq#&fd?nvu^Q` z7|r4L5-EWggFzmEeE!-WcXOi!{H|_A7H(36j$6?)M{5)9M=NOz5Q=5crPftvGaB07 z7-PRHeuM_~KN`@O7oW6z+InbXEKtSudS-AFuV-&sSH@URhR6CUnk4*fZNUeH77x`J zoyg{6=lPGise;luLDgO10l(|x_)2dN_0CjhZVtty{b=%>Od6woP8S!%`T19WZX-~_ zq7x!=a5WXbmL<=fCpH~Ir1o56=LSw-tgQNl$NTknKCnkGJ8>|O(qepb zx|P-eMSJd?|NV%1~I~LCt&4BQaYykQ& z=i~-15G`$l|KzXED3iKB5f%g3G{RK@7{5rQKH&_O8rQU~(BW1Ey!E^#_RM@1O-Po( zs#LG^#)7FXv(L7{A>dHzZ7z|-wL%401^pHC8Pc!J0{iCXlBn|6Xm^+q*@6`38NA{qAahBtc*o3@xUu{lc3@Lp$|-OoIF^2U#Gi znC75EzM#r|N8ZRHWul33N9AL)2%0MbFCwOF8^(i|q=< zU%f6vc@(4GAKJ^_jJ1y`E@_cey@pU9EDsT^ol>wkA{#57o}u2E9=7A6M&BJbA|$?C zd9O6))ziPGz~IMtO)QCrq1bbIv0969?6-3^wlapXBDr(KQpErZMPeL#e*>%V3A>*Y zA6HwKR&RpEX9cgh(r;zhMM0zfI-Y4cQg7ehT3<&k~_-dX1M{OL+ zuVa&0;=7bR_wmhMM~3@1E}-AuqI3h3`QhOSW;N9{cs{~+Y^HSv0xcW!P8nho#=M)u zHk^rcEMb4+H^qgT^k6 z+_Ny_Vl9%_J3@3EP%SkhLmzq~Fmmqq8XseyMl5dOPIlwUU8su?hlZGS{OYZ3#ypod z=~xljkttcE7}@Ng&fJxm*T$m}B5HnTPPU%@E@q9d^Acxu_px);_1R7F#Fa(8eP5Gi z69@y)mD36BLWAq#bq%J!j6eTcH6L|v4hXDe`oRpteY@W9_geK{36dhRr8lZtP550q z@|Bi>WsecYB=A|;FDMA%F{{=5D{OX<83)`Kli;KekiOfrIMm1G81m?tR8-#WUL1FO zG;}$o$Nd$!hj`bZOOX>Tan3-!b+!Uu#(>PnIADNC{oF$lagZ*#6Yiv~^<8uml@M}6 z;Ack!eEG5l9zQ{s(CC7)%0SER$vOM-{1P%y++v0D%tAiE2$+tJ9O@``UT63*H6Xd-Gm#$&Y5Xwh(cS>SVxJt%_AVEN}E@ zKo;Hjdapg`+&e)Y6*^`rJ&W%+LJ;j_)9Sapy(^J0k&s0SnE~u7OiwP6$ml@q*u<@5 zYde{UsKCj9{O_keFR>~WyD3IZZ?E+|f|Hh7&S`#Depw-T?qQm*@YlyiZxzGlH5-eN zUXXESPCIVisX(GGgk-&6IPf?bf5;*;9d0OCXCZ!nHOJY5z|w(olCsg5IYU5b5}R_y z2hs$2lrDF_UfZ!dw`={Kt51y)!RhUi8#S4h2l)oPQsSwQ~t?Cc>+0R9)FvnwAE-L9Hy`}0$dR~+I!JL%kU6Sb8 ztd>h=s`FC+fIbeTEi9jJ2-U(Ul*xKQGV>VNe+i$R1ivB3=C=eaGC9F!Sl zhoIA%2LyTRv$N#W_V4u>kWWN?Uw%Tn^bItaOgyqhuuw6Zvx+M`OtL!tRl{%j;x5qh zcYMbuOJ^PR0FjX^Cdq-KANBQD7q_UhtStmfeXdtrtvvKu^+pJP%> zqL#|96$vg)Vx6-V=Q&aywsa~5`?%_GOJ}MWaS#e?-amNd#=s2ZnNFKYh9<}6zVA7F zh!0}l!0T~{3S_%j(xwDA8wDGs-&b%}q286Vfb90kEur=A_hS9o6nQ|^_mwN*X7O_QJSWc@zbB?#^_0Qdsm2MS#7|&>`*+Z zB8z+jckDK?&l{xfZJG|Uw7qhY;b?f}2BhD&2}P171wL;2aXLa}>+;>{iPrIAi{T-H z*ISY*1C|Ph^`2`C-^7kGlq35&zCPvH)hc`BT{;0_lFKj86QA~i+7Et&O_`SbJ_&TZ zzIbw$prJgFLL9S8nK)9(c?!hf8dD!8h&x<4e4f7=)bcmaOlgsHbH#-GmFvKhe7!F5 z`+7$OGe+)s;_09?i?k>JTqHl0=bn?OaR|6}aQ(W7$^TZ$v+|w{QKR}`T4#~C$z`^5 z_k8sviuD(P{j+<;<$>`Yaw%_8q4*exYD$FeDh6i^wB7VtVG33T0nT_{g zO8;#ovD+zGNyw|3qXVDBaIEy7XBWCiwx~re3b^ z8wy!pwV-Eb@g~^E1s)hL-ufC%_D(tvr?mHR3>aBD`C0|PNZ0{#$W01-F({)i{B2*P zcZ)BFF0MYgM#LJkDfM1iCvew8ns09LI*T`ghrLzb^-<8y`V;$#+gl}FD1V3-Q>8REAIEp#hr-Ou|jhB+^p(4hOZT`fP zr}Qg^N;;!L?Ptpt$nT=CWHaa67(P7ae%zIhV!5HWyxI(3@Mve#PrBkVYS&I3(nfjp zh0(QMvE{sv&*#ORDnEQ?czAQ!=r)D?RjB4Ww%fyfrVWr690OQ0tcH-dYL1&Io^xxYO?SpJVQ*Y*@L7B?Kgo9%yAqj z4v$+v$%S~@Yz6(gT}$!iJzh@)vSn$l>xOi*n<_HbS6sFFp?52HxaueS@#a~Dgv!a& z{6XR@#3kbW&iT@;FWn5t^?}fCiaWOOgiZv~d2vj}cuKOVEa6kG2T4oN)^ zc49tfMWMGitSQ&cZ?l20kYqo^9&9wq&+ow6v?}#y+bMpP=c_2A=h{{Nce}zrpwvg^ zYO%;V)}X9f1bFySmuG>1bdaX>5B0$$X}@gd4=h-wB(95BrF%^XhRW4JI7Fl{G8&^} zS)@H@PdgRt6-QRTm6(4m8&X6iT53dV7GHSsyd?Tv_qykPHTRqNt6j-T4+vI&B2ZIe)j!A|arx_=q_;ARRg~f| z>i0+nPZe!$_Au=y7`8wEgK?d^&S6=DfaZ z(^1ie5SQ3Pwe)GcUmA`?$4Pm4Q`4tC-wo6Gz>H?|4O_PJtf>M6J*kvH4Elwn8E7Jh zlFDLbWhn6dm+kiyPc80_Wz0tu5QYYfTuYJ-Jf)(MSR{7k?vxJo=j^X@6`pLrM;ui& zlvCEK+BpBq>4cY1WNIs~9-gmFR9})@tMEtBXl+BVZeJMNP{U7Y*!ca9pTnc8Z8`X~ zBq|AT9eYrzU>#d%wv+OUAc|1>Lgc z9}fzR&1*7Q;U^2(AGiOoP#Yz#jr*25@VH4{o^cfin59riloGEum(7g!?7$tZ&PSue>~$w`grH=^ZZJi;Ns-OQP4ec~v<0fL!I!qUS3gC2E+5Oe_-b z($g82bhC{uF`f6qMuqW{j}H0vJdW9M&`f~JG)r* z_AE{>1r^z50ag7TeK&dJ+H=LFujUv&p?#erX;t~uUEpS{dx54dWzX2PzK#Dk zRX42pod}G^1iJ#={aGJ%agT~l<~({B`o}p}oyq$n4O78$ACU`UK2g%m%3-C%@!{=v}QN$A2oj z@JocqQLyhVl~RqmSwL7Bd8;=6Hs(H#Xz;GqwpUK~Gsw5e+&okgu78?p?at<=Z5H+( zENiAgK*C z$*~~;oV@p{ZOUDs{i^OpO|vrd4Bd&+D(qdw%2^=Xzc$W0GcR-?vU{5GKi}yu*BILc zV`bt?Uhqx;*#5u!xN{QUtPkHjV9f=Cd+P=4{b4VpMREM!;hrfEKb4S&r&KUG7f>@K zIEI;rG1b#rQhVlhYI=u7j=X|08{2CIFcZYUPlk!|tAB|D7nzHPT9d4HDLVMu+LeaW zdh$NAAKr07cu*g|37bTW1dZ%?t;#wTJAD9Ycc=5=L!4DG4)&IsbfD$U8Wo4tnrR=Q z4p+-(FW}1;f4Zt*f(EqhSS=`f!8RXV~0q-Kc1nUQOPU1x7 zaTz)+zohjkS-560r=sA-XCj9)+7csJWDTy|(=B%2DmF%6UhF7o1IfuX+yUDM6c?c< z6F>YSH@4Q;=+!CliS5EnYWYG#am57NtJaYIA%FK1u zwM^t@rTgdG=H)b`6!RGu{-O*d5Vmsbj<;!!8q%skGjMaIK6oKGMub|4$BQbSrwC6qBJXPbdqnWrmAY__`wY z!+SpLH&4@#fek@=L949LnNlwU1L^AS*&5`R-isjdC^{uM-W&q3#|qXowhnjCb8VM> zDbFaw$L7bhEhkSbGwSKZ(@r;TCpjZKD|9i|U)CHwlH%sV!;jJ*ax;FGkMJ~aSbA>Z zrSL6Rjo+{!v1IB)M<=0Uy8NdOE;SH)<7yMXJG{5w$@T%g+;w`)kQldNp2j{_gq$W< zCw;yhtG0ME_O?i?i!Nu*=6p*)f*Ngq5s!J|yDdd?zlDD`EwLcghK?< zprMsjuQ5;W6h=hv69a8BcR1PD&=7n{@FiM8$Mcm%{n)H;SdciIJau;L_y@GWMpAwG zIA~pP|5#S)c=p@q2 zAvj^WLYQmU8K!^AJIZMM?VaW@b#nB&RuyrOxP0hhiL;h9lI@b%ADiZw>D!u8Im2Cd zo+isN8O$5io=tW=vOgw^oY7m}j0LNJ0Dy%lMya|TeyduAOLjJ2)MkVf5WO*ZcJOc~ z{$!3F*#4}@Q(7y3hdz9QGFswYprIQcVah!#oj5CU=CZ`i ztn}36!0`*)!z~H=u>+ZSq$SW)Za*mu=XhJZ@`8;zb67t$BKuxwOa3Y*q15V=AQ_1m zIMHT%;OW|Z*=`mc?KeB#K#zgMlKm@=Yc1h%F+x9nV;9zq=vPNmFGd2{#$?>-$M*f7v9hYRR?tZN8ram?>(s(` za>K{{xW6}jsZc^~++?V>q~=oOnW7-ARwi!4 zBXZ;D;ntp8Yqz|&R13WaPLdK(57k75JjKX6n5;X{h0oFxF+8B9fRsH=68-TC`mF14 zAK{4CF?~x?Su>;0$6*P3jn4mReknt8HWNtL>X8aBhRqDY^9bhAfg? zN<>Yli+pWlXJ+^Ye*5Kq)%kH!m0jJ2(A;w5V4BWy{(!wKDE%#rE2*?&dzOzfcEmnE zv_{kO)zRLL$}~!pLh|GWx&lG0Vo=cu6nTDTia!5i3a?E$D^))$)ju=eWu$1S>C`HG zz$ZFtR$$(w?;O(a?ER6u9TUU#a=r8S7mBX~cYV@J_i;`S;u4xutLmZ$9+q#tY`Hcj zA9H6Xxf=`wpVE-b3)yIV7mE%|`xG2ft4o}z^ltabW~$-Iz#zq{%BSQU)l8`hJ{`%< zFPCHYnTUFa{t|}Pg6z9bzMgp;KJu3)hI7s9xuyR^wP`(t7fdJjJ3a!ow48v3Cv=6i zpwb|XGH_eT{#-1zB#W|J4)z@G%wV>0R*G;STv^Ci&DL*JvNo4Q@2!b^XUosg+S)~r zST`x#3CopWime8syNp2>GVXVN0+XCUESe*DEyKZ_g#rXuYi@;>>2-$tuj+lH1~#Uj z?TuW;+Aye5zX{e))a6*7ChQqqX|giVt=&^GS$x@azOQ3=psNd=TKmfCe|`3j_zriE z{E@{D`6Ip%^JX+8QFAqdjbOb89}llV?pS%{nk+|xLs-uH@U$LCXoK|WaX`IM@;Mwx z?k3^2Tb|f^yEMbTYN1B^#|_vokpj zdok3u+~i2x$BiQPYDruL86^_Ag%&{fM>RubAMP<=gaFRK)CG$20edsZ@0a$U(VVh= z>^Eu*$(nVur%n%-9N*3A>JFJ*%}jwCkhviAi;8ql>>0^x^s4RF=Nr}R&aR`fDGBKL z=uG%<<;!7c4qKHnZx#8TyC_c}L5@$t;Hj0#OW*kS@o$T*D;#2Yj6C=UM3T=Xe}b9W zonBLKXzTwdr67QipIqGI6}gHA7$)Axtr zF?tOeOUfk-5~a0Fq+-FpO8XnRI-mY|csn;`ZMq)z0O;dOYh)+$wMz#`SSd++9Wy&l z;+-mgv%1R@R2hd&`DVVjucjMuKEFw?D}5{G_|p6r@QiX|?0z?6Ew~!Tx6#kRg@1sR z^>bY`gNf~je6TsnDs zZtcNA>^`(vLeXUTi0o7zpU+&nRiV9qOlI6s*IuV$_$SoqzgmDUU6&kbIiY{fQHAS0 zElBkIbXm5D4kx__##Ili{695J-z(!ak1re>a%Cdvl1u0smB3cnVSH_7FGl;*ASEs@ z552ufJHmmiYFoOj*(ICpCX5nDg$izYmv4{p}Rf zYGyCz_WqRqos~gE%c6~K0H;V66_$=Q^4NzVx{8(-b>GL0g`$FNpXBdnLRZ;6u$wXFZVU4BYnQ zQpHF1(q~!>%+3cZk%asW!ugY7Ch(^-AHYo7FH?PwS3;i0;=R!i&a^@O*vvp~|CtLf z*iY(fU~@jpID8w?u3@mcmHP#=bUM&Hrai16LGc&nec3wfK3tY=LEeBQSxut@L2IGC z32{?qsl|Hjd!8Wrg&BLU{W6`qd1-`8T(5k*vXz0mT>neK0=MAmTdTr)gd;Q1E_#!D zyrq@3nzeq~JIgi<{b!6(zdYcePo8VNZso}V^H z*jVVfm^e^jaP(G~L|N!I6AHI7?A^`67op=WY+_(Rd*&E93H291b(;E*Aulg6eRyso zx;+N`v{8|!(6UdB3{Ojg+lrLJ>#OPic&3PkOSt`9GIN4XeRdTh?@!FK3^Y{{YG(kJ znn~KPIwKl#D1dJKL5erR>?BK4)_Gf34Urd0+ZIlihg$Wbdn)dW;h#LNldk@rh5B13 zStx5psNQc{C;A77qb)2SBF5`yW)$FeSf{kTV5UCpz$LO_#Bd2x)e1N*N#@}8FvqlE zR9iwxXNHEGU~jL#Vw(}VnZK8fL(CU7ue^#i6&xl@7kqm1xg0im@}k)9e)e1EzPuic zZzwl@er%qb$Fi&ASf&!@;s+MC(aZ^0bDF{(pU-oZp0<&|3|C&VKyvwy){ZGBEPn3f zLt+C9^PgO7^Ms6ZP!f5UZw|OznS|Xs4}K}FeBYR6MR6AH7KQi`DtGVqe^V7f>1n#QQ2fZTFdOJf3}bFUxwDvRz8*8{?wNf`3aKTt9k3GZ*2D~ z6t7*xs~-0udM+>uss#cz+sg3KO1=>WDd!EiTcal%8uNT3?w*>+drEp7?$+~O$yys$ zS#`1VG@i4_&&^iVs183x0j{Gq|G3e$<)p#SlcTk|UaGHhro4`A26M|>u|+4!=40Zp zKBX1SRDoaK2oX%}^gR=Ui`jYm{?UbZ>%J0$LPr{0gV9Cd`7);P3F7JtrQN z>ESKdJ4I1fd`@UCsx_agnCD*3<-bVLEEgz`m2(}7FMqNr3I%q{4rcfAiyyjGV4#2| z{g9FoHM&glJGV-|l$JH@$|1@*L|AVspP#1K8 z4-CTFE#BU>`fzRrrH18w+t5Iox35<@jI?2Kh(}!qU$O&AwTzqx`%Szr`R=t3S}IKVB>8iyQM6yZ%^cjJEg+l@_RqY`Jr_0zKN z%=doFX`f=}qZX_vj1U>=;$E}75FG#<_Nc?e1nQ03J5mXEIGL{!~+=&;oCJ+dop~_ zgiS+%b%+?e;ceDeU4&)&i)HZPb9H8b388HekCl(5&qEw6V=Z6ds%pG~w{V5{N;(?i zQ$x-_uGB(t{7xUI22QQfEMrKXQT@A!`wt_SH!x@Y#gk}c`#Uk^6`k7z8gqL4-t01J zDE!lA=dV6AuR;27wR8==Uc8Cg&|>0^4T7~}x`n*BUaPhZ1_;aSZTyXpZnU1V)`q(!f& z_%za1QEwdRv&Xvg2MdqyPsGF8>#2|yn7H2f(=zQZE%ZQL}42XFL*pk zB!pP;QJ0S`<{H$A3I9VnQvV->y>(QTefRDQ(hY*rjevA_r+`w5q%_jqxoD7XkS+xQ z>8=IRxj>~m7u~gp#lCr--}|0@_Ss_`2Y)-({q1?p&ow8{{8}9oo3FP3*2nq6s~6&w zS#v8NM)VCG@G0X)l9E}Ou+sFi+~IOfYLjEcOYkMRpm z?^p4vxfzA?-0jqSpti5~WnCZH&+lJj$&=GsMx8o;A1dRO&1DQmkO()iG?Npyfu$JT4;uwY({*y-hil+bi0_9WfqT7*^Ci>QP z8aWDSKdup9oY&vURQ zbm$s|z!*{O%^py#%z57K$o*FQ=!Y0vZ;Yy6bAjHqT{zr{@QUOOsOmIz3>=)8fc4 zxAcq5GI$gGoY1jE5|q#r0HSS2pRJ!qD}95G)>SXB1%LWw13_84PO@^X0U~&;(35Szq;-1TWqm6$8D{^gT z-k{m|!A81HH@e0I)i_(QWyJL5SyP;~T3k?O8?c1@GPXZ8-0W!w4NxI%kI_Fto}(rt z{a-5WTwcYqWt&J)7@B$_;3TRq?<+nZuKs)WnTrKbD0U`JJlGl@G5C7OVIpEla-J0A zfvicvb1J;na2AA<0n-zGY{61?@aoz(4kK@_B;X3;mzBotS-gLLwG!{OnCBY~eII%I zt2Ejgy2FA#^>wO1TRx)2QkMH~*wU;xCPG|=s@&<~v@089T%bK(H(n#nhiZ$5H|I)) zZm`>6j+om}3E$$|M6%rQJMKa6Ri*2fqt@aNWU+Z}4+E~0qY%Uf80W>xydXXRQ+J0| zK);Me*rbedIvFE%8i;?M0cSv5sv|M-UxB|q%#}WVp7E?X+uv231zlbX>Uzh?cjXu@ zDBKmD-g!SfT&uuFjRx!&@3&;$dMtBHx-z6b0eW=PJzXGSm){ph*+uS{0Q{~xNYZ3Y=KZA+ zlA4&b0Tq(#{2OC0JjUOp3*6k#nY+I55`4{$$cpmD7S=Z;jAC*7u?s zJgmJka7~H|6niS}eNe*9~8cv`a) zqLA~m+16Ay4UEo5|1K!K_=o69j@2QipezTvrv>`oHJU+<`xEVL=xD=TA-cC6zKo~B zNYb@i*ypg+gYx=ZJ^-3oR)-{da0IarF6l^k{?Il6O`2-C2y4U+V6SPjnsUYnIz%d)h@4g z3-k^aUz1P~bNquvPgqK0HrQZbHYfx5gZAnIPxEsh%CEkai98kA2ae+d?E1?%+lpFZ zeD!jGiorVq=egw%{82-?5KlaFKBYSuQcI#LlczyA zn3w<0r~?C!!-Hq(1k-g@~P z^YZUhB5ur0H(sC@g-%nPn+7&eTEWc?p@w9)kWB0XA0HF(*oXKZ z!^Q+ae(XfS)&>m)Tbid16M<+e2zi8Jb!z(1p*^eC^y`FUBi zD2ae;*A?+5O0Yq~OCrq5k*r3YxL;XER1dhW^I~tSnjV3~x%k5@z)FY-^j+m1%XX8g zk2)5e0guatrUx?6DLDu=ZfFASSu~rEKWm{NoQVI_yX;&=`?38LX5k(1V{_(DmXX4_ z;^9}9BarI}VTn*}G3IY94V1wrAIxqyr6+=e;BGfMm^veaMqFp>)_rxv2o;xt=FuCy0@$*wf|B=*ya8c&QA}!3x>5W9dZ56O{hf6ecn$h$2N_K&Df9!h)o_|395_$ zSwad^{;~2VfcGJ5iGjew5*jax(6}7$mD;hLWTJG3vR}>z1I|8ExKA~rr$g?g@kY$G z)B6Rqy*Y$n|MuO>*CY&~E`<)E?7dlks=i(VC?0|F{#sKtXJ+b(6^NI`@$(~xd;st5 z8pEx7ivfzlKw5X8T>z_iO2aTx*Q*(MzsA!)s~PFLJ%Lj-ZJHt4BDp>DYVgh@SkVtq z|KihFDrFB|Y^Q&P^#J;PuT1H_d-*tZ;m#a=9LMMEns*T2bnSa1d(G!^FKBz7fGV`~ zXg6ay5gfm}g<>>TbDl0<2zt0;;aPsk6(&jZP(ot3pcDvein zg_D!9FESqSKP*kKYdw^sN`<{DV(P2~8qYBN8}tgmV1gLbS0?Pr8~})F0XK9>LT;cw z&-Tir3+bgIYW@DH{6;t`Jv%JwCorCM54^14xbV=kQ=xTdTN6rG`{*^X4QZhlJY3`X zoBoFrWw6%27K3AI`dGcM%>n)Qa?XNQzVDW_4NpV`3sN#6Ik?+dl>)JPu)mm1 zz#b95(M+VFd%awL|M{{!jF*{IGF6y`dZqarCu$^5lW5XTEUvymUTkR{;%<#!%hSWQ zQG`!VhZ=#4;!ytgW~UV}5qDW1y;<)ZxzF?`<8Qm_3;WX2^-tndeogk`&**$P!(>Z^P9A*1Q#>P~`+zb)xD>O+k;v} z3}Jz=&*@8138T?#fJSuu4%+HkgZO4Q_gH%YlykqVmOrzY9&&uW&ka3hJYSe%o)7b| zU2}&U2}ip2=g8y&)5RKZ8T1BhOhYrxD&ADfEPZ|B4b(}aUUT3m)zi0ogS$hrj1#lZ zlS!@~&%jsyCrNTH>rcGygUuRt|C*xE@nm+I?;^jiXsub&b#|={1HL)c1a?qGLx5K& zo}vyeE(lpdG#N`9^9ud8He94`UzTe=gMt_fI9yivM)YSv(TU*AhoYKFuFTRGxuxBv;5#lUIU-(m z5gjxzi6aNig{6aU-A~S6YgJKs=8A`iQUzoXY2Ym18Qy!|Shs7{A>@mv0S^-9r2q2d zUH=!J9QqiTcArH)V0Hd6_3TWardt%t80pK|6?Gu*jUNZzivd)1RVdnI5na-Hx7A`A z7V!m#9Oec6Fmc36_nXZPl~V9CZMs*}dDv~||C<0)YxG)7FR%g{Q$qQ3Oruy+Y5^0i zxgwz6I#h6-7~7z4(=lcH69ttl8M|=D1)j@EJwS6)_H$*T^q5pNP-Npi!RM;FPN}xR zWuzWN8)S#?e*LLTkpu^h?rP^`59F9jGsab0;r$FuR@#KN$ez}H6F@d&7ZlR_d;1ok z)#FhJu=-Yq#cGv$d2VZ)w`#F`VO3CY>p<6fKbQ_=#{EF$vhXJ9@>A?;16kZiF~?XI*x8 zdyVN$WyYnX$Ev}vMPbb*;?3xzrd%HUPMRgDoz8&_QrQQCAVU^5r@5xAPI<}6#BMryn zX^(*w?QiOuC~+O|5yR?2+XGN##@l|W$d187q>Uy}CKorKDDRinftqDYq(o;Wha6)w z+?>?($yElI5FLQx+~}tj{1IcCO(@owVIoSl7jzNW8DK{xDYn{mMP&UqZIfaPCV~73 z)23-(fk{(1 zXF-Q$cU5WkVRvn}@bZ735Hp_4!4;=vcx^~Hk)d)uqG$r6!RIqS(v8sBjzG`A&G9jD zeVXSAgv-2VToX$=Nh1Uub#6OGxDyJ5$n~Wgc3A1#N6Yaqk)x(!I?bSMaU); zLcC}08_VYAYl@)s=)=c%F4dj>y38(CQ$Wz{Fn`o;r?+D78MiNuHYpHNPI^NS0Cy58 z)!5l)a$pbQqBGjA%+MhE$%HI0vCiArQvWmu}q(tI=(sx@-{1HJusmXZ!Dr(etq*U1-#Wh48R6_-X~K*SBdLY*c3ZeA7L_yV^J zHPqClPMLW-(HHhLT+!4RAAWV+JbzvR%RdRovB%oW zy=~^6$)jJtKM*93Yr;cP>fUDz5=o}zZ6H0OMurmHiW!voVaD@_!xr?jCgWckSC<%n z`kUpVrnNsx@_UubD&KXonKry97R_Ytq=d0(@^(>tPrfY#i5wrtx{$U4;J1I(rd!q- ze`B{Xn*3Aq_2FGZ`_O~78vNHo2j6qR{qX?f|5=gejJl?wFYAe@?aR5ga^#zYdvE&H z-08eC-WcAR6(vEPx?%avulwEuuht1Y^xaZe6D_9gyEy(j*0(OPdKkD6aSLO3=qVl;cOAP$gy;YMJKCqvCyUW zr~^dyaDXZW!P!TT`eF+c`=2}7ZT{q9lIO{Ec##Y3zC|TmnKma*geKW_lBII2X z@g!!fyMWV1kwx-TZbW-|5B@3U{^K=)V;j=M@W3uM-8R~%WJ%)^4U-Lhmyx?%W*RfgZSeD z*{Z<1Bl=GWUHXm~x%rZ}1VG^7ciq;N$^XO;q8D2IUo;kcnHu-GrZba?iqvbO6u}S; z@BSm%i0~$}9}jBzq|0y6sgw#u<8ZoOa36QP8Z$ycfa_ofM6aPXY&GofLFV^kYn4esAq#wQ}td-X0|GDcX3EJ;`N3OiTJ)+djAaWRknL z@lcVBJS3ZQqaARABMtU7UNDv}gm4Hdp}3khmlZ0#yCyjerxmyUNp%P7+}$;4+@s>^37797F{}BrJK7vzbOYlyE-Tk*1##$Smn(l z=&V$F+Bh#Iv6cg_eTzY9pE-|W##3x^gxi&bqhRlS1hTX4DfU>o3Gs2z-8*;%{i=9L z6z`f_yIaVf;;=oR=y6K@viomooLcax6WrB3yyf0aw3R}6y=VN3GK=e-SY9nDb!Cxa z0ZDY!>RCoH^M<`dAG=GV8GR(qbS;a>NvZr8^#cb+qosz`bk}x&f6=95{Q6}Z)sIxN z$reKTBr^0~Yd1|X`*lQnvNm*rjb@d^K7Br{x|QuO)F>H~km zdY|Ge{NV9DQ0L2E1>dm%^jZV{gkHmI&w-yQ`H8N`?1$_5p?9-4l=5Y4oQ(+*dnjRw z9G3;cUq2T?nf-nOcscdwp6{QHu#>S;Svq^2%J}(BnYD7t{TLnn%t`uOW7Z$*$avfc zcCLrh!sse?^y z|HGh>9n59O=;O<0+H)!yet|9`X+8!V_uHS0P5GIJg!*>wl`lKmUnBt0q(kYzHPtn3 zK|+v8eY{tvQ!w#;+**ODGm#3fi^-6HBEB3<67fSP3NXr}{LFuWvYrpqKZDW8O>#Lw zx?GrJ{BX!4qQt!k*`rOhJ^9IH6;ji(a_f^OrhLmLsHR1^ppOVGac+h9?Oh8O-BN}e#umSO^3ysY7Iq`6nBWoVv_4asOZf!?IZFx?@3EEypxN;oIOyFf7Zd<4ZOz$H{(=Je+-~- zlfFL{C5nJueoYlB6<)O?H7O-v6MmBGf@wZ9Uv(G(3j})*V>M<8Mdc29md#MtEX^Yd<+flJ(gYcMGL@J_PT{(Kix-aPxp~Dx0^d+IwvHyv-7qL-_YGWw7=tbg&~gLdDeg2 zdXc2Kj_VeUamphKPeLA1WnVz-K6Q&+6mz2VCYSerSb)qKs9De>rS|~%AX-C*3M=Ld zzfZW*W%_m^(2SHHCmyw=Vf#)jerVLspwk)4u;b8UvBzn!JwVJ@^m-qKjIVMb{%(I?+VlR2FV}XSwUvx6} z^>unx#@XjBu*bc1it+f>?I?iD*Xx~-(I?R5Q8w17tEwKwA)C(phiEjWQqNjP)z0gZUBcj*2ko0)i8Upq(5`vNXGB)h&>psZ{G54Qu1$k$}XRFq?)9m8H zp7_F(tJCQfPgH_rY!`0V>P(Tc?|z@>JyAETs5uS4YmVsW(Eo1vwwU*?!lmrh|CDO0 zdEE$ZuMo?VsTYjZDaA5-Rq?Lw%=$=@Z0qvMv+m4D(v5Tm1cWUa=|L-^KE$YaWACwZ z_awCj@`#~OHSa&rco!TMXu>qCzr3E41Y0Eon+o^TGslRC%nU_Ic~6~WvdmgmR-d3g?#(o=+= z6ISU;0_$N~qSAYt^iZ;HBP4M6_~J|=>02hVcW^2m575Y*+aCrrqDAWi+TH>pqY(^K zofnI80goCLe#U8?T`tXrDt3af8wBjhQs#eozH+s8ii5x^Nl?upFeg=(1WwdlT$#W~ z*@{g_Pj7;h(4Dl>g+a_l>rLM12dq7G=3^BW|N3T(-pwr- z?7zK79HVe)Jjbv)>GdT4tVxS}4gI-1e`7tOoeLx=1^LNW;s-w?{Gf1V06pBP<8j2<CNq68|mfRPccnBvh z^ik%6UVXO??Kr9IxgNHNH9+%5xo_wWa9@4`J3peERu(illu`c(dNOiw`~N6M zqVf*CP{#%=?0_4muF42-C4YrX+K-c zN@54rcmxX6O7O+4+OmYBj>PqSq8#b15s6hS^k3F4^WD@K7w{|(s$PiL$+&VITgLV3 zS|1Gb5bv~F^Xr>-WB|{>zor^BRWM*%PrR<`Ax&xLw3cNfcM~BPP36R1U}mRg zb;3*B6AXh(S4s)|5Zl5=8Rk;8`$wk35&rRp>)N#-AlNDD0obW{w=RJ1jb^9oNyL!L z!FdypvoE35aysd_0&GqyVzB_bTy?|n{P+42U*J(JMxzu>cN0f%3I#>%N>~1);$^G! zOd2x0J8IkB`XebBGps+iGPRkv=!v5(*sc)aMVfI9TGHWfG^m~1ikCQi(9g)@jK_ge zsa@ikE`E$yNyyHA`cSWziUBdf31#+pz6b)wd(mQH&@A}vM3zyW@8eG|D1*~RzZP5j z70Wo4FXm%|6_Nxz(bKehYQJ>NQ7RINRdw1fK#|eR`|%G`?DDc(cjlxB=m~Dr$I{Ch zkwjzpBw0}IuWoEq`262A#+WQ#B5srgAO&jIF>j8*&IA7_ZRp{2Ub1&>(Ebxhy$@Wc z`)Q9t@kaKZn>uqOytQ9BMccT>4-g*W%z+oa@h$NeAL0|66F*D>M|Ht=TEH#YgH$c9 zft@boV{?|O34j})Z?##TKJK?kvq9yeijNYzSM&A?UWqs$jSuZP-7IiZIrVJ0&;oF8 ztbOLz(pqt20O`L%Uk0yTba=TAP$hu^$gT2hq)pxxG8KPx<%!R#xJPWHf=3EE(l~jk z&+ID*z22imNK3Awj*#4MVB9O|u^skeBzr~y*9qcoCfhLk8^E&uV*V|rVNi=O!|8a< zU7-&5>i9^y+vbJk_x7)F((%*jm$OMoDEpDnJEzdC)f2_qa8p`?*R%9#Guip9S+9{I zbYY`Md6`@62gk}V$Ai|ma(%-rOtd6jwDT*m#alOW8=jagVfWCjiS>BntQ={a4LPn& z#2zZ?U}Bk^y&TCx6Q_g~X6}1SuvflmghsAo_`WP~O8cHxoq`-YqfnYg2ZHy(y=|2- z>!Oli!aM_S!Iz7JfhLR^J?F+ZWDT)17jVm{UWDJdu`QfpJB22ToaCvMdFqU;uRb3l zly{W306f{7c2lFQ-M-p%-=KhJ=O|yEr4bOk7p&n`TdwMG( z#Ec+;Or+U4M!=T<$J-bQO#mN3M5eS{%3JF#5GwZ|2qZ8&KGH&xduxJf$>!&g3&OHL zkoD_ycR^+3JZcJ1NufPyHKIHs?@z-#1={_doxdIeD?+)bn+X zbCD?MOM6dkKXCUxvy>9+!8&Th@~!0syFg2Ux6pia z@sq?j7ab7SmxvsQiu>k@P6XSF_B!f?>=4UH$y+(jL#);WCsYDL_u@hAkGrRnwkroD zD6b@$P?JuYvRG~Zf+gMye?~DA5ELqVo#)FIsl$w_=24Ndrfd%YTI-%K-CYvm;#{j6 zo+L^EN`=Wc5=9Sxs@ucPrBfaS9l()~_lxCSVrRH4{;sGFu<1|60RgTWcTJP`qdAg2 zdeC^B+*ZS8gI_G>+0wLmC9GiLy&Nzwsb&F7SX8S)cY5z@m_2YLW&vwx; z!K%eT{07=&aYxwtHFX5_=^`TCiep_HYFzc<&WQj$K~9kCU^S=?zkgM{Gdp%dLa;=@ zTqXJ4{#QS7M!+**7VnRd*{gl+-FHVQ)XDz{r)Of?JkDKAU}6&QWaL<&=Fv9_nyme zB0=B6j>umyN%6aHm_co03eU)Ppux+rQ$AX?mWloJIqxz9V%epsWRQaEaYrCT(T6#W zDHkC;{QHN{f2^Jw8qo{MM(%~Bh>Cdci|Guzqtz}@Q}#Olksb-7wq%{d#i|Raz89_u2<98E z6BNnwWM4;O#Wba}r`QbfO?UUl$~yce?Gv*6UDRx#ZQ&2JTArj-_`L?%FHznon(O?^ zUph;DA#+$ZqAl~tVCAhV8sgl0FE#t*I6%GUo+HEW;IW`eCvcCSTB~uJG_xa8)pUIP z%kJm`BHjXRR5qQ|al)TBf8p2|>HY=kL^_ABtoxf@Y+H82iuNvgg2Y*BJ}{vse5j!A zIG?fdw;HSR7DLEY+(zx<;veKnCJ}yoe}c6fwtpUg!U)77Xf|C%sHA@pO4pzT;Z=x5 z&BKC=prm=KyOtKpL;2QkFL-}LCgdK`cSD1M*b@!tzMPrZc;*R_4y@M^b7^9sr^o&D z+BBEU{iKbBK(gl`ulPqJhC&B$x=u%lzay@;B}K>{;3cN+d1C|q$Ly-tLL99rT0?=4 zt@mUhx_UM}gNd4(_LJ>@%&vx64f|JS<~bE;LY)mSh@19jzPM@_ECwLbqxA};<$r6# zpwCeW(^CaUHdu15&gq#i_>uT7%4Gd(a+*(@1-<^)63g`Ppn0GSIHJC?`A%N^eeiPo zy4+QbPW`M}uT7G&1d-2L%ZUoI#;l+@2hUjyPoreh({hun2NRYcu>Gb?e&uCVOdj&% z0cDFx)nTNQ>F=lfg+vYG^T|bsCguPy>we$B2R8%6@k9BMI0eAJJK*wS?s7)8#5{L< z;4m>YSfZ)fnvf@K07;InIKp)I0NKYkXu%<&}P)uwLzgXqGTL1po zs=A?L!UMXAXx>D&=bmp2Owat9Uz zO%v^&IZ!{I*X#s8P(?7V zHA+%fWye{FzPP7!xGH?0r_gzHxUi@_yd%fQz&cdqht3EEbS*_KIJO33LpJ)&QO|9+ zi%c}cE93mB(<>K4y%Bhf6A+Prtr22JWt)o#G5;_o^YNP6VlK#yf_&i@D!H+T|3$go z#MVjupYps?8gnZKmXO!+1M}{pH4>IeWqr4YSxzh-jQf}FR1iwNuw45>6N}eWOHG() zW>8nj<0LYxH1El}Tdv#@AD<_;Rf&LPS~=Kb$!yl;*85`Lr-!8B$EpDl<<7Jq&}6$d zhevk$%znx1L|qJ8!#vZYS+RuO&SyGpugE2`K8un)Yj<&g94F~cqK}RJ4R9XRSe-NG zh$z%poU`PRZJNDr^TDAKd!WPY3=!z26RXA0|G58U^vQ9cYDE(BhZwRdeOnQ!kKavCafqfD+#Ev3?Wbot0XwLMFy~~>IQ|+l^0KtPYwEuL zAPG{XTlJuwO-F=0@}efS+ub+N5trsTW*(kf$9%hh&Pe9n@!#x|E@o(ly#0=P&U1bW zmv?Wzb-{Er1Y?}r08n$+Ie&0XqM)b4k3-4NN)#pk1i&bznwcBX%L*npsv`+yxBX zsnmF!lZL9P89#{N)Mb4Wkf&cp@pn|@|JUHX!CIz_k8KZ6nbSk5Qa~Vy0(#u>r{Hpo zG`%7zzk=fAL9Z~WLKlpByGuUwiq3tB`#!+cd}B?~&ivDtGgAP8>4TVV_!VFSzQwxy z$L)P>cKSZTS;H1^d{fQN{M_xRU+lmr5s>4qSG59c-z0dgcdlkhfVW=9&gRMc-DZ67 zTI(e;{q=m^@1aIaTW!zv7FSUX$yyxt8h&rQC0F0cdJ`gX%eElOpTU;+dXx2LFMP(2 z25z4$Y~G;(6L2%Jd8VdyH(dtr;ILfb~-nkV@6{fe=+5Lm(k1G&h@+tD61gmhHmjy^hq5Y zRq&ZS8rpvI{0&|9m|*%WrIai~s5%=t>MPQ4)(nI$^N}X=kpcc;$x7X2Y=tdAcB0G` zVdz1lSxo(LOGh;Ii2S65&@{L^*&$R$!t~{>1O5d}RW9Do-^}rEsuUQkj|2j?qHkAY z=vl7z+?97HURw|A8EmdA2&Zn9XroH2^DlgB@0c37B#D^kSo#&I5x|^ET%5Ld-*P^+ zxD>)ht62|Aq*Vc~$nRydJ zU%n+W-g%%+;A21sj9NjYqmD~g-TUKJnciKoqYOOhRi-Z8;x|*lzNfq2F|x&OjWY5~ z5`KKeI}x+-3Pi&TC$`vTKLpL;d~B2i2GKB;KWZ%idpcqj5lz5INR+Yg#^I2n$J7|r zaQ}XMPpPqA!qfmfMt`lRbv0@Ch#t%}pYu+_5?;sObN*5C3sn5tgIyN>OwY$!sCzvz zmGf7X>0+kPYyQ8b5w9rs41-VB{d78?Rn-5us(6h&m+Pvsl`&}4YipRY7pBMmM>6#c zC42y=m;xe;h5$>~+5gjDR?fiGCnM)%3O|LN@JD7>__Mk13snV2ue`?DxeZEzRi{Gc zp~05d7CN0E&!Kj@90vd+!Tr}uwkDmH?w`sf6kw;Jdt0ryI^>Y#xk&z{=zeB&g{sFJ zqpo8(M-I}rlU+3=h(z?4*{fjx=8bx*7$R92XlyJH2Atr>v0Nqg)Se8YKz0tihb_0D z!Rn7g4G`m{8P!ZUS)CsY^Yc z$h7yJg(G03=G*%!F7L+$KBeK_u}3Fj2OrZlqMY9LJ>9+!x>0Y(a7Hb8nlZZen-(L` z1jT~Dc2Oohd41fvbqLA)SY3cxbwY|D=yKJLjdU{FZnraKeRJCH(mb`>cnnE$jbzHf z|6>+BrBklcoDg7b1k&h#-W@qnN*Z_mXnDMhv`~6fe=148lAM60G~6%H5~M{_5Y|{@ zMuWp{Oengf5Qq_4D^>lBo$oo$jiNG*YG633=H`VASv0~32g+M+@GDIlq_%gmGdgqE z_H739^RI(eBR?gj7*HB9jNJ|F@FXexenU3YDwbE-82jz3@OcierNa4?Fw+aTakRMk z4;iIzXs52A7iTB#B9*?kNPe@|h!TF-&1xV-DtJ*pio}J0M>sB)=u)8N-Lo%Ml43se z@T=LPS~;CJbH^YAXgh_;QGN9Ex~#X$Rbj(#_=SJqw?-_k>#OmulM-iK>)X*w54Ow7 z{hk%cDDWpRW)%e{#a&Ay>SH6-0Fv}V>rD{e{jt&rOYfCB(@`6BEv*M{PhU9|%2Ct$ zi(|hySjwBXSS#wIfRJmJSV3%rZ0N7${APdQ-aec!hRM;k`LVmgw8XyPP@F}~zA~M8 zkB^$=@5IQ++P!FxLQcBE(W#CC93)gMz5VxGf1UkV*}@U)?RTi^&VCq4G#^rVpE4xJ zk+IDC_Gi4JM10*x0?(^y&ca8m!A8mbAq4#$eKN~mcY0!0wdNKSNzjd>;f8e5MIWhI zOVC+NkI+|ahPq^XBB-eA=crQ5e)(lU(&3lE1H>7AEE%~-sNpc_U3&4jfp6II@azYg zTwW_$I&>80BIZ=QBDWlmq1M!qFd=-Xom54ZP&z`yx!kaES@DtREcY)jy-ii?E~?nw z*_hXMNsdtQ8lrH$B{5AF7Wct}w)WaQ9(CUaL0mUA)u(Kyv;B264>Mk>u0~1a8sD4W zH&lEhQ0ZPbq_<7&u{plDh&P0dVGP(MM(4}|^uG*p|KNCu*^R62b_>!m8vHrr$u^?p zJPxQYc3vK8=d*rZZGyCsQ1OB_@PQ*6ykmb4%Rf_Ofq>sWWS7IwJvhd{%u5`k1?ZeS z{WKqM%@NW2#$!Jbpn?|snwA3kPHniM0ddBFFo3ygF3xD>Ol;mzJmtb&ep24{bZw-o z!KQLw?&)8O%kS#MoYIsr#S#>2!**r2%w+Ogp}Dg!>yFjk_be<~4iS8xtPiNa#7Kb1 ziujpyg!wd2tTB|2GrFV@CcFb>oW(FtQT)yskqoU{o}nyxb7vxJy01Go$09 zAl5{T%u>r&a zk8qBAm@q;!foone_)cJ3!n1C@JuWf66zW8vl zQ|Fy2v|?}0Dkab98nJ}@Q|-p48dnHK#=Sg@uyIKet!e3LuXr2Xg z=|pIfRIOU__P*@>yD=z-UbNAQ3u2{zz4UaP7ogT1Qr#7N=k1inr0fB}DexF3Wpdc6iR~NC{`N_rXD6_@v?`K~! z5AqPYE;rE?(kRTnO+<1P%g%))2dQyg3CBznNDl<+YsY9%gfLU|s5C7-izHm7I+i)L zB3Kl`6AP1FR@+0+AWl&w;#n1(FPsgV4zH9`?Rjhe;Fa`TUL5baEt}SbmsqHF0GUPe z?_Jak2XCsGTVEVF#=;SZyovvI`&nJ#E4LkWQtOOiG;>)OI0b}FFSu`#N~(YU`wX=m zWMIk`inlL1IR5Mi@e)q zB|EEj6s^pHTZqjP-v=C?!pM~*iX&F%h97!WJK5s?Md#hx zCxMgWv3SycW1-I7=A*lA@p^dm1LFNr8mgnXaHzHen83@Moyu=jTS$=#>GyK_cPXMM zk_hvLN38K%FTD#7fi&^X<;msq)d1bQUB^1Q`a8UP%qDTqqNaz$a1Z~}k}A{U4oa^x zC8|6k@*iy7DxMWcQPB_f2R&88xYN{vYkInOl;^F_=WWJwkOsq-QY+cdY{$M!Ek#bg zPm7FXp5ttv14DwNB9Q!y735&5*!StfjNHvt3agSw)U8}@f1ubu!Xp5yv!%?V{G5xg(M7j&{x?5;K-jJ_OSCE2LIuxyX^7`(FdJJ9lv`vvQG z&k9Eeg6jk5P2u&h8&d9rxKsJD(C}V_Tf0P86?I1!sJ+;JD6Z~ML3eR$L>VJ?1@R^a zv{W#_*yr48#qL9`A4c|o((O*XOpAWX?8EsikaMFu9cs+sdt5x;97gg`60HuD#_Ok3 z!dd~LI#r?$6TaQ#@F9XOaC9y1TiCbmU7d`0oor=sU*Bp8Jzg(3FCn$noDWBdp5>?jvWGebbX_{GsNH?0f>fmwn{iv`nDpKOln#bcu)XvcsK7JDcB*0Nf z^s>Jx+wtbGgnuvWzC;p{_*3sjqK#!Xq7X%wH` zscIkWR_NF{<*YHcwwe@J!3dGj^4NNKJ-kDG%2kQK{4JQ<{CK#sv(n3Y$MJSugK;Nz zkwNaBZE{{>1S~F%2AaL~>?s&1keZDIG-uk_z2N-TN+KR7xfHE&N$Tbc&DCqLC0mk3 z4T81-BHJes4+|%eAkZxnRkU06T!tG1U11CZ`lXH|Z^8VX{Pdi)f~&95gyo+8A(z(O z5p^&%94$>zW~7|J+FRODuB|Vy8be}zR-xhy&0h2uyl**N&{^|HN`C{@?RClsnA5pm z(H{2v6FBp%d=7jdCg^vUs(Q-IY~QZ|rq zO-z@PELcH}>dzI4?u-vf0>^5p(2^omiqC#ngHh(r&=$xhIisZCPen9Bt_QEx4toA9 zpMjqLysr!VlLqJAB+0)3AXeQGpq9`>}m3gu&v2nZ}T(`Q;E-b(4ylaY~4 zSREl_vvchs;RXFOj-8mUX7ps_V>_XUX_xNs>;36+-A>;1vl`?yM=7(S*H+#&Rg_~m zI93TA^ArfExTUJteJmhtTjQnJSbGvKoe90F&V@+z70j%kC_C*Jwl}T*XC2 z^>?r&T~Ni-Xs67W*5DnE;aFKYs42-z%voRc3&L-+aB&?UQujdoZyPU5(=Ec2Siywj z!{75=>6W(CE>EXqmV5|VM8~WSpKpkOr?MqYwOL1VQn_Af90w0GDL6bL%VK@p4eMHr zUVhY=v60!b{ao*%qNKQTr`}v3TBzyffLp6gsRuW~K8xF#Hux0!Pr;#K<_f^imsGQe(kUab3a`X>Kvj52p=k z1tWJ!0sI}cSLMHv%QdJw0*09Iv^s529#x3-BxoxSp{TSy!@o2bBI~<)=?N_IMmWr{ z>(Ayaf#!J6ii-BqTdde6-g;zcrDM(3V|c+Vs6sy6O~wa)XY3D(jO6*KZ7aKK;teRH zA|o1g&6t6I$qO6jzl@J*;-P39gt)shWlsgk$<>Z17Pa4(JAE`l+nviJxp*Eb^7kXP z92Dyl?eVL|#{#(;EOFd?m(QtXvzWnDWACK&iwLHX5+${#7M~%BoXV(eUXuLunElzG zkM_%EBz@=BEY;``{(~J=3)zqRNu2y5 zGpW;T^j<-Rm&+S$f17?S+guC?I#E;*KprQ~N^WmhI;bIdSbhWbKjwpQZ9xW5&x>Do#|@{YliP4}$R z@O(EZu|r>Q15zCNA$%}8gd_(PMQnzX+9`t4YLCJ_zam`9jE0JfyeI$Y=)0D!5hTn~ zMeWXtEfpHt22`utL?JHvE~f7IZ8;V_f6jo;YY18cAf7ZI)xhZ z2wYr_Mu`qS94!3ed-*Bmluj9!FkUXje|r?M5}XTc$42`u@Pocj6Kv5{b3IXW#42U` zjE&it4YJ!2vHa%dQK1TJcy~wY+?78Wbq0G$zO=O%X%{^(XT-C*LavGStC!wzTU&dZhv= zJ{DnDgS)nlSMViL3m78>-$Zr=RD zA_9Bd6=$xZKR?dy)p|~U+BlqokA3A;3YmZC8HBhfs`b*Q(C2^>A=KOzEzc*zayzz4 zTiRJO`Nv||-;Zcj?6NJgPQYDDaRA;30r zj!8GfdGX-i2Qjx_m<@gptHwN2B4$+>vS6xSr^lY4yqEiGA8YqL>-le!r5~nog@$eMA?Fr~`o`n6a3mx+6(~4=U{twl^3NeB z^vIBDShkjN3pJX^C@Tda74Mafwmyz!DA2YMdPqx;?!#93I--c)JWd|gZux-5m0<3# zscfgf0v1{FDyVz@ZcOWxc+gkkP;v*Eg7Rdmm;RFMBMYc3p0muBo=MBhP3DyHJ+%8_ zZ`_eUTAVc1XjmS$lTY}9Kl)T&T51*)+Erb8mY)A-oLI&?JhWbFG%Uc*^AJOVPE{L*l~>cj$lu?YJ#8!7o!E~V<~`f6RC42*zxgwZk>TN= zqs_X48@w1_M5w=j`I>&&+%ZN!K7S*! zsZ&G8zc1A@#h&r1BZ?@Y=VT}e^@M)rL566^F39DGED_V%4-e3^MNy?euy zl(2CP$|KjPDKGNnS#(6ZpQ~myoLifpFqK3qKCR`i4dH=D@&%aE-YRl}z8biR_;lY| z{XE8v%K7W7=1ppiE=6dwAL#Hwjv|Sd)F$4d_^g~Z>eCKswVC{`N{ELXmOow!Lr-XEOhe(%zG}0yAAl;&rbhmU#H+V>q?(VKb z^Scl4&-a;m?r|LdkY)FZ*VVh~FlvF6*+Sg)nQ2&6)OG8`BAHWJ$J<~#GJ)w~`o zV<(>9zN@PBL(gbQ>JrCz_Rd8Nj`u~c85xbP3Y+o0B6IC{d|%?1%8E96EM4ps-1Om~ z2jNnwUO&xv%41VJ=5R2~0jk5q?VCkydo(9yy^nLlGFmd zo(EyaGA7yS&9C_9Tp_cOfVt&OaW{Li0~=->;y1dO2Y-nRn=17bcQu4tjP|50?Cp*H zaz)+%!AiP1H)mX6b1^@5i1*YC|3sta_W3pWIMOM|n^}?<3^*!6qB36FOV#8t%Ou2q z=l1+~xJ|7W4Uxu_m;TK~%s6mVEY*CrP1DFV9h&+^Td{{sZm5lPPf0oTwmv}8QwfAe zza7)$m#v|OUhE0JWlckQoXCIDGt&7Y<$LV-0*y*(ZrCS)#|R!`Jj@f%Ic&7aokNvrjV^f%4cAL&G?xy^)#+Sz^rSeIQG z3jZNpE9+&!QgFVu3v3ki*_1}t&2fx`gB9?zx8kxz_b=%5pEXaiRT};v7=`z(-4nFDtYk$q9i}q6uZND& z>)P?AZaGSSG(6z3>WUI%)@yB(a_b?kN4G2%@Fed)A()sq4?@mlk3TN~N_6q>0S8uF z&o~e#Q{wRQn$Rt0bSbh3|JOqC6uFVaM7~!meAvar9dB#FsVc}e^l`ln%6Rp}(ATE4 ze_GNbXN*~-GX*1_X<$}VUf~Oax0WU)hxw1ER-bj>TKwyai?x8gIi$S6E`G;-t`6h?Td)p z@$J}lRZWY{d{`z^m**xol4F6Dcst8)^8pwC+c9hj#68zZbWpgS*3!P+Z`=rLBlh7F z=zp5^6I4~b`r9n!x{1%A{L$atx!RG8t$vs3F%nD_2FPtM{uhT{FMjl7|JEnp7p}x9 z31S1OM~iqs<}sf1rOz zW)l%*D`K5BxoC)J_;w`(+~d>oy%HED!Q)OSG$p0YW3H$Q_N(WN0KvI z08xW4m`7?AFW?S)SxjPLbLP|+nl;H|Q#v6$HZDxj{exsT&fSyl$MVbI2u6lQdGrRw zyD+I=JH|&wet69{dI}uwPktEkoEji40;F)6yKv%TdHKtl45xtyoE4$SM0S~ z6A>YQPyM~?ec=R^GQ2p_Q~V@h$@)u7fN>pvblUI9Y#HJe=kE$~vHNlOxvtmJ2wx*2 z@|czYRf&PwCYyO!iuUWzT$MU+G-B^6y}kE8{B?VkG|MjR*HSjF;&=E#>9HGwuo;)6 zeHm$Y`u)0zk1V7Dad(YI$EuGd`I0p9tz>@1mP15h=H_8?#w3PCxSP=S4_%JkB`(rS zN;~+Ue^$iZ1ZH)R(i6{*-FKy=JrdDe4`=JW!sTzPNGV9W`<(kxrQ`ZLt~#GlHmf?) zB$Tl{T)5&yE|B_q_FVWAAGg_3o#ri2b)&rAy&%Mi*@yZ}(jo*y%2bBmq<&olsqkXK ziKH#Emh4$c+ooKc&yxJACIl4*6c`)!+-nP^p{M;_S{a1RJD0MC4qUl)UAsMw^?jUl z-hrsLe&DF=@s5?I&LHrwKjX|yY%fOrX96rTj^m?UF)Bgkl~Cfhc~~?2U@`SOkyW?N zse37LXbLZz(yM+hwX3J^+`K(MozNzB9+B*aH;8St9(LHI(ycgBJRDG?N#C9i-6Vk3 z^|%`o4%MiFKS=*J_I&n@>0EbMyVF)XV8zYH4#W1|{~pzYbc?-F%3 z1xk~tGi@_l(eHTF$_h+R$vo+M!Z_WDODon(!GugTD0A~$cQ-sA4ei%*#BNYAB#Tt> zoz4~g_Bmjvu0hn6i?||alOe`J$cn=lFnQ-o(XResGXY(Z$}UddX&3HjqWr4eQM*2W zjEBWq2r~y!SgjUrMO|ufIjlbGz||(K^kQ4QpI zOZ!V;)E=QGMlT)%+#6W zsM|R`xTB6`^os*3JyxRc2(v)^cVZ$?)`h{?DoBmO^U-M4CcLy3XJXz*GAzsC zA-BG0vej_3-?5d0m3Z*c^bQoellZk%x9;|-4O&Gj;MKp@QKyULLhiL8etQ+og(V=h z`ly6X{2QYF3Bv@baw?c*6HB$IuyKY-7+mJVGga|=&${Qset^^E4etCKGp2}hq)l@r zS=(tC&x>Jt_7K;Iz|GAP>E!=5sp_NK9gxwnD*}pvBv03NT-vws&c>B}UBc0dY)FzL zzwvt&3%s#q?H9U1%5|pW3-Y_giS^%-FZ*Q$;bG3TT%Myp{bKjf?y2ukuDd`v&&W32 zdeZslkC+qy!(P8lD2(%|t=Xnzt#($WL5Js>OYceB#ZSw{&lS|TIx&Hn1N6&EP#Y-I@YH=-l#Q%)P(WooQwOGwQZe zy@E)AFWo^?W6uJcB)DIz`ox=ffbHOM{I9DwO;)3RjUwBvSXH@W|2rUa_i1vtMX`$d z5GlX`@I>7oaSyD{&Km}=d!dX*(#y#9s&59p{Kq6@1lXM@s|{XG4Ecwd*%{(4DWD*E zuM#_g&9|Lpms~v;=k=W(7e;qW*3COvJE2-qJ=N%iBt=l|J{xvM?bnw-{9goSURn+L znVHz-R0I4}ef(m<_k`m&I09m(SpiznY8vDvVD(c)M35~$vtcpz?@r2#8S;Yb6z)Ws zYwD!ySO_Pn^0_Q~>P+Eb6F|e0m7h{EzZ;Xj?4&b#pGhDv^e?SGy;FW?GzQV4I25mM zhC0zUs9oUkt_id4lGGnSPk7&NUo97$GBPrS5qP{Td88JC=!6_3fP_|#4zYs58GuU+ z1fdR%d18O^i#0pUXR3-G&->Wars=J-2E)P-xEq1=#7Bx`Va*sh`FQ-&K@~csV=9qJ zN$;z-=vs#)m5w=RXlSDehpCcZikFOo3X60Oc<4{viq7WC`gs^VZcIHofgW+O3S2l5 z{Mp3bzc}07o-teAs^c0WSKKMSwQL9flmq!nF^ZeQidOxn4>fua z>HZ^D|GTz{ed&f$GTHVuib~u}HhHPI0q19Vh4i68y1y6Y0%A1pDC8cPfiPEey=Sb7 zV$(v?tZ-a8=)~gF(y?vDJ<;hk)yy@|%AuL?qRQ4|gxB+EDH27I-;2Zx24a0@CndEa z8ze{Ofdms))f(q4Uz6u{sJcTIRo2Tp{2N?GrK60FuH|;EY*A@{wD_!v(`mYuA@Bc%@$?xR z@_wA2*6t;u5$(zlpX5lmBiVNOdQH(4$nvh$C-a${_qop`9M3Ngk)!U5;WT}^>!ZCo z5neb7njdm5o6#4n=TgE@0lX5VkIK&&Sbo(V8{&68{S${FYkkE{b8aZ*>%ML-k{E|c z-h^(Q6Udfs_D&lDSF6tUQcQK1YtJEL;~h7j9XXc}(mxQ-aQ_uh22;4o9@!^Z-E9|F zPu>x^cqJWI?FwS}`^cXsegFr8_&B$)u!0IMP>6xY!rJBrf(eZVoXpR*XT8H;U|H}P z1V>{houYvn0r5MEJ(u4$rep4*GWDSB&4z6OD?Xh4a<u>goZzP%-_yUlU2p z@S?8*$QmsR;(#k^^Nd6X^G@YaVBkL8t|l=vCT4s5!En^UAT3X?zBORJuOZ~w3t?0G zn)9v$OKVh`4y0yZ(~Wr*rlBYdR*1yos;Hi`V^`>w-&@i=kSW@EtZ;1T)npybpN|!+ zXqq>!`cQ%TgoqHBCS9)E*>baN9;zP4uyJ9t0Qd+0NJPVnZv(ujrd7Kc3K>80h?d?o zKwPHSFHbSM_c;6a#E18Dvnw%SH)|KV3($3cqn=x?oj<*N7ZAg(vN9#$O|{HjHVyXU zS#u`qtI9qK`KL)V`;3EC+8Utk)A@@GqE^M8WBjoB;FajS23w*S&HFW2CEd1EXZhfN z+RU;$BPNtUXj!};tF4PFUOZ2@bZPt|!4HjEPqcnYtJXlsv#oq}67S)q=KNZ#yI}b7 zg((?v%jIvVSR$HXC+6xi^WKSb*AzF7w}iZ4w>FSEPK3qRchc(zQfS}{AYk@&(X28` z?3bOYe2(Fnul5QO6?IWnI|*qE)+uC*#tW+Zhq@VrSFNBjl7E_C<$t0rMrs=08?qpn zLxPtOK5~VI#tiqO@C*~^*Lm1qJgaGn4tMk;U?8A+gVD$XgOnb}rV6H|B`>AZ+8NJ1 zA7O8q)ZMTz%266fRYNg&oAoWFES;f++d9fDMT!-24hV|z9XZOr%IYcxQA>5VFwSu@ zJ>m7Tb2f^WdNOaWJDpz4wJbBsaG*|pA8_oXEJJyotI%#3)XGdaQpGmE zq%hG~12K$}Hc{!;jsYLPBY+O(-xsz7oDCriqHgS5d4N@e6Ml!aq4kSBq`v$7=q1%G zeDkU=v0cGh35iMN7I>v^iV15wBiGUYheS>W`$ZoPp+S8_5G8fq(lfFCD)D)4(cEkt zI-=?_ZYoZdL#RYr@94w4c}l$O@rAl$$Qjk%_vM%B@i*Swd|HUt#_wf;GT+3KYpgxG zwQd?+9o+x*0*no;g;##f3I9ths`RPi!n*xgdNXC@UTXRmUum{wc>tex=CqYffU(x9$x+OUQ&QlfKrVhqt4-+T^>!#>*n;nzJ*xm5rQsjA9a)IsZPz zqP4o4%vPe6%+7L(q6;E zh_K8if2rL#g$jpeOQPb7XLgb~J6fHmyuDj^+~0)eNQ6fp8|(FaMbQN%xs#a=yktM$ z7IB{Xno#2hQQSS^YOz)oJ&`?aW6E{{H_)h~eZY%$x*)KW+?%AE?HDM@wyDCfsj8}} zjDH5VM~VQ@2Y7p6z0X|G_9S0DxPLyNQ0LY3kprbQ7ulV$(A}299G`7Ggy7m_pJ}Fy zwtad?@cAVT63~RaV`h)h^BpGXN!FpMe&p=mhHuAW zMZS@Z(0X>z%>DhOKxqC$Q~;8p9S zf5R2#(n<|?&XQ!eqz)RPOw*Gb(KAkUPCW5-JMi6!K>`utMOBl!E{8KjM)p-|+^~bI z0afcP(HBcrUd?(Q(_Vk5lAD1(oipt}WtKGE~~W z<_`>hypngCxN1-n%L{?=F_WT3H1YAm$djEU?aHvIuw*8K!g{`DWMX%Bj^I<{9CXI% z0PB~{Va%)3lhA+a(cZa2m4eJ@)BHHc_#dCX0&t%nAOhM|xxHIYAFt&Lsv)IG607&q z-w_#=sUfhBC3(s|2GVGj>Gi%IL(g)yog%9)CVPu=0N~C2IXP#1cFrw3EHAsC$N%j= zU5#A8jm=}_10^S z@`s-F-f*uQRYL(${;!dnQA81>@lVaG&-fOzp9XU@+*fAa8AO=9JdQhMd(kg)0FFbc zPq%>OI24pps(12{ere7{^to<4Yhk~Rr3q>yGwp8?lNi$^P^$XKCcUSRkaxHuo`qwy z4Z3s8QeLv$Xo_*kp1hssnv&|Ojod$p?GP71pfse*B#50Q#A|ccj;Me2+$fIQUrp?E zjUbek@tIKTq*IsG^enXZOzF#c{j}qi_U zzaec+h4A8t6||+MBzg82m&?Yg#naRkctjpm?IT5kfQnx~Q!G|TjaDpx$=hdU17c&+ zth@yW>@f@i4J4^2o>YpnN|U_%sjxs`8WC}U6|P5@2Rwhr4xLYr69rtc+nrOvdG&Zn zD0(Uk(TRvjrIC#eOh$Bz8@MPWh373(4<^H3nE?T;(){(`U(mYdczyX zl#+VX22fS!f{3cTn?Wdxu)7}W`*cuojOp16wy@fb^jTJ#x)+?p8F~V8L|)f=9pj0H zXRM}B!s%6)6qI6eVN~2|)>(DyU0mE{wY0P%Uc@lH4>I~Ax!QI63-3Pb zUvG$T#F~&H(UN;r$x92^nx7bWIy46bEe6Wc+Ai6R) zJ$Dv|DdBOQ#Nzi(0@uf0Gd`Nhb4@IYUwt^R+hrDm2jM~C8=uCE#8xCT%Py&#AS-`= zPQp5@!c8ZeV4l*?Ua#_n-@Nk9sfuS6wW#R6agWi~E^a-VOB0D@-SGJNZ$O{lthN~@-PlL7}JSzj}Zf@)n zv~O0lS#(?Q>iiTE0pjrb$Ar6|0MzuxLHq18(x+T+uWY;YwLSJi<-Ns;ZCt{Y*QwFp z*)~KU)((4?9_(S3m)`l_)1zK3A+YhGW*0cneK={7myP?h+px}8UlGF&7Q@YU_Rotb zhOPIF@dwq9jiy1@220q-xu;k{3q~-iI9>s~H!!JW*6^qKB#YHegRKFLJh~UvWDU80 zdg5nHb;grZk?X9oMeOu9{Z#ZkRPA=F23E4BO%8$1bA>V*lR>U;-xPpc)@cq^FE&q)y;&`>e4z=dz+Nl{E?r=kAva_D-Htl&n3VwPq zq*0j|=|skucFlPZ+0PDN^+FLD*14Y*`{hjMu;+&&BA1uMIKwN|2CkZmX!!fX6N){+ zO_lnvCw(^Wrm*R((v);3*FoUyd{9m^OixiT&kw_$1$eH8#&dZgh{Tjuan;Ws=QFEg zRBc?mbMM6gqb-ss?>~IQpoJB`+o{es0L5*3(0SUgOnq;Fbdyb0*?FhOdeVn3ISQY{ zZx<~wu^KcEwwnMMr7SksKAv{W2Q9eq-T9D&%|w?B>*1TwHJUj3Xe=!P+z6&~Gzj`6 zG@F;qYOEgC@$7~W#CiGt3Y5hEGt5gq-)OM#5P7D3fEZ$v96tc*X6kRIsl!IH zVFepk^_cEEaa3JZ6t*ysh&v(}+dWUz!sM;u274(2P)D-1$>=Xx+jL#vZ7c-xtWl~W zzNg+%TwQBRiNQj}r>djEK>WtKPgjqaU$RnXS%O|Nc-GTDvLS zfS}{`V>jI1wz|s>1Gt8HF$%ucjP5!l_B*8?07_HuE;_!(pVtqt&ZSRGRQ%qpw*Nq> zoD7~0XmrQYUW_xYZzDaKE+>))Rj~af_!RPkl@&-7Oa>_bsoM0USa$w2{wkGx4)Sj2 z?Q0K?c~^wq8*saBfbpv{P4st!ftC2_E&&rjDVu0En|@2+MKLadoyMYhT5T_ogoL&p;Q!wkUD`Sb}-LQh6Imy=S3L;z?9;?F07u|#oH;>AC1ls|w(BwSql7f!n> zKE4FA*3yn8gA;XdF6%CJ%p8TPCm#%bw9bTcE^6i8?Tz}YCZaa+&5e4&~JcUs9O-Ayw5 zS(1NQ_NmuHoOWIqg!h91<}7dXQJ=RMoIa35XXA$$495G$#M_R+Zz=e2Ekf)PH8rtN zekWnr;iCp>NLUCK8HiUITGZTwk(xS+?)P7_4JBd4-cbLHH7C300&!v==k|xs)a_)2 zcU8P&EBN0@)1w?ewjswN2F0pjJ0lBCM)OJH6l#!EH!yq~@t*y{AZiHiMf&rLPz0v^ z@~t7^m7{g`!3t`?++*H3>(t$Mexcb7Gc)<|_el^`3Wj$yTwk4$x=q*!J}wbqh@Y!D z#~KQo8$~5pX~Xy2GCKFpQ20ARWx(-5FC3!Vi@KY;eR0X|8zJwteCpL3MDq2(-=pXxrLPwf?o?aZv-C4^u-)jPe;&*H>Zudf*@PVu)YMj}Od}Oa5~J=CnI<%Q@BHRZ<(} z=j+KxxiHCqEgDUO_r2mk$HQCS%ljQe5i0-&cZ6#UCl?0vs#R@vi;Qmm90r>Iflr>R zF6f_ayd=w3b+jInza{mXS$r-`B1Su#5xa_eQ;?{VG;(%gjbVabuBTq*&>O8^yY0Vp zjYSAry|u#``aWkwLl6@8tkdH*vuT3Mrx3iVe%jr!BQi&ljG7)bUl+tDDhe|K7CB4Y znfkZN^7KB9hV8$3ng`al=EpY`$cuKcjW^sOr@H__*_IK_#40!Qdm>d2u`DQZbPnar*FcPbk0hxCkZ+%D>iitJ(9?I(C!? zPbUZwYfn$q*BwbE6KWUF#+7@x{6c~zRDnY(pr|o(J0@=Pm*$-+4>0Va&-u*ier*SM9%H>}S!-aAU*!nNjwn~$ulVVZZr14l+;{oHTk7%yE)Q0`dSzL%W|F$Z?O&rfUiRJZ)^|7?C- zKfgk&xi`KK+e^~og_vhH;--6_=eCDO`YV>s9(|R#HMh%5@duj<4#!>=FI3a!Gtk<# zIvm^aw|-5*)5OL6(vtQvLE55~ai2v5aF47nX9C|Mx4W{)GyjrCQGr)^%?^52cuS70 zjg^ob#C?-a^sbD}CoC1{7PpcooXkDS{R1U83&K1)PPrSD+j6E>4@io$Na zGNJV-9UpdAX281X?f(O&b@;{(6IukBxuV&RX&WS!4Wr0PD4=dE|A0OvD|0 z%A~|Tf28$XTxwyBLZN549^PhD(V7S!JQ5}xG_|z+3&U4y)ToDgOlUP+Dke=)lf1xx zFXsYFb>W0;Xn3btA>WIfQKe zoQh7Q4|o}9KWg?bTC51|eo6m+3#OxrbfLO&_XGkkFU!3JTOv5cRaRgof!_jNr8ScTWaylNfU?}=&c;8o60 zE?zzqppDxQ$R5OTU=m{^pr|&wV|OLkM%M22!Q(VPk|%0FdQBf~K`1C3t`EnkaD_`} z|5VIw+b#)#i5}{_3M$$&P?V#DaDAfJPBbAe8N6#nwqDkO#bS~8-VV*`Nc(_!0NMMa zCRWnl)Cb353#nWoiB2+;8(F#{hM^IRY-rO{P`equ;;NwL(-xHCk{~z~<(D56BMrIv7P55wjbF#0S?6tL6lq*TnFf5w2ls{$7KCI!fmx zb6rUoTg`uEBbFk5oyV3CNfFt(8zzH2U7(5vVm&P|MQe*j*8N>^E32~1DY-Ro)rg{E zGiEu`BYs!I9)+f44L2>c;l?9c$jcaSBt%@yOz?GdQ>rRvct1Kf7b`(h&X7+sLMM{2 zBNPYIMuGoh;N*)Vc9(%eGKG9H$LKGt+IJc$s$iYxGsgI;X2S9s?^lLwr-_o~AI@@N z7L=|VJ;L-}?s8$if`+u>>Q8b}pu@3O+)4%xAGv=zXKbWt z%I6;!M5lH!>)CPcZ)wSC{toX7mDYmd+Z1^&Ek0=kpz5d^e({2djdQI zA<{2TxI~9cn02vvzeHewCY>^h`f^iRT9mB=$*Ds$YP+mFFb>^#l6C+{i7`S0^Kd|C z-oaB)#e&hn1@qCIx}dTtaU;!VYddv?m^xHbgTJ_KyG2mYUn#{ykoI4s(X(Z0Y&Vu$N}h@KC8(0}K7<>1Nm=}gH(g5?^jkUS!k zIs^xPg6yrdiOSnIP596P$@wJr$IdZhLjB%33D}F~xT^zRWG>M?s^tz?)raU_z-}=YF71AxdRcY?t2{`_gu=cuG1_GqXzqEER@IyHdbV* zFpvNVk9xCqJ{a_HV#b05%ydDjb`a$Oc|{7Zk4F~w;i_=&MmntuztOp7H_!@Jj~{^Z zq;Fxj5{%iXQkIT1@pT{EN~aFfCbig}ke_IaqfYgu-8h!J-SxCCPEC@JG5g37XW#eC z;vj`~IbqG9nS3vNvrfF} zRTNe8m>7JG{NkqJ5*HTTOKSU{!GDev!9YsaPO^Rti{0TLH?HoRAGT?XQoxUe;R~jh zYo46a6yB0zYPM0V-u2aRL_|>k@EpN&OZ@*t57$#TC+{g zvU&-hCKX11#6hvE`;g`zOMN7wnNM4M|yY$GUy!~Mp$C0dFCBNFEm;@q0jGB?Y+MNpp|C97QVX8444jZzbQZTy7*+ckx8L^Th!%s;pDKPnPSt{Buv8*%F6kH{KwTQ_F zdg$H+CdO3r91bhO%~Fq_h7zGm{P=b#7mwyK+Q`yL+0kxULq;~D1aUwIOP;PnTLQ-r zUs6)n{k6C=2V`6bFbkV~%rdARs2fv`qP-JMV&Rsxwj-d8cNAf^|Kzp%Mz1%qn#VRV z%NH~yfp<1FDBDKYDc?pjb6_P90M<;pW+W5EZfS^r>ql`m0uvMAtG4Em?))AL&Rxyu z`V(+x6l37eV&;8^I>r)ih`m%_ z3)koDpiPg4d%`Alew;Cz(AB03`kF>VbeBqFTsz2(jNGRFj~&1=>4Jd_fv%ztF;bQK z)llr|&}3}DNr3P7fJ-@vRHsOshKhgKU$$&G*PjoR-dCUzvYx31XWaZtl^RKFael49 z$%p)rLwRZ3D3SEHC})3|uoCq6miq{|T7KyVm1_Ktk)+f!KI~I|FvYw9VSl}fYx6WB zY)`B`D=*CrS;}QlmmdX~ljytQKv{w~J)J0TKk|i}(tSAic7XA3jsk}~e5t6YDG#v1 zGlEkFRz0uVo|(4gGEW8tss z<#7@$pfSYSd?Ufkj~sqZxcLN`=G&9v-9hTOeDP+KjCFmPy{0|UR(7SC#cJipC9C8R zX*e$_`4+ZWumrdkT_MP?P0d(pjp@*+otzQfZsBV`In$rcSSs^Oh{)BC zuk{CL`YEuMLK!Bt7eGfnoW68aYIX8jt%v(wU{F=9t+JDxAGkQ3N(b_Qgd_QX@}RcW zV{ZL>m070Epl_|R)6D$5Cc_Ki(1vg<;tQ&yApE#AK{^at;>Tj~Jy4HaZA}p@P2SXs zH)j8bL%95V(9rA3V}dAFwq~SXx<~n7`BsKr$)IM4)$^Qxr3-qTZMrU`GXhvGWa+9eFKiLGq-9RknG^akM#pQLqnUHQg+&h-dBb?F zb%V%G7Kp0Tna*<>pBM~KrDr-L0N19ds`o%_6P6mB*W(&zwELnlfA#VAi{UK9S^12``?~Rc#e@;$h^N{M?X|;^yhSn0N^=q39uMgYI(^l z(D*FIq_uxDJz!Sv@&BiB{e8pIs1El+eaGLRM^fExHD{#$Uu8ecm3vK})2bqQGezY&2Zsfw&pX=C=>-M^H@6|5FNE!Cx23O|^>us%q+`#L^|j#^Pt0r{+# zf)jmy15pgBvLo%)Zc>9j*9GO0#P3YMYsD{eY}PtoBuC{VH4}ONoxMzIKL1BhJRu5T zUgyin5;-?tSyWzx02zTFas>uySXsp-p#O)u5vcpRoZhGGedi}_Z`u#r{&gi@+1c(r zZ(>FZSDY#^d3kZVvYkB?cODzF$%3Y%vDFqxGC+(U=LFPpST4o0ufx1*Nek5QZYii8m zQi3Y4#u~M*xB{|UYm*gW<0tO{Dve+I45NdLIg#s0YOPb{g;R17>S~m6G8F8_vEikZFHHA+d1xtA0vTN zPaP*-@xrjeo|pZMOGsw%pY^THc!=)xYCYZX1djMy9cQ*7pYZ8ILA#nZX^vj1DfUuOot}?Y zRe6E4R3<{-^WN5dEHyDUC;iXr0fd(OPYNUYw?tSNXnuywc6$Y zo^isvi3f~GA!?uQQ0X1TTTvK~=!^Q5@_k}v#x`m{?N`sh+WNx$RsWP+4}Wz9!Tz8A z4TE#VKV2dQ?Jrcic>c5Yq<0BPHAiAVQC;9n2pUQagHaNft*B5PlR&chn)XMiUr{Ad z0TQZAF5v0Ni%`6+%ixE$TYzge_)jZjzBw*`-dG%0iiprX_;X6Ew-ffzx# z>rLV7AHuP(Mr2XR-`pIB4}W-omR%)r=a7I|(Bib+s@^dAypq|^Efiu{f8i0pf>*}@ zirOzirN{m!HR^9C#SOXL>q#Bl_7DeyV95WPCq6#V;@Z74r{vV)9ADPBsxZWzPo)n~ zmBLVuo7Px`*NxCl_~|=(+>*KXN&oXB62xlfX*S=QuAQ_Jg)7zD;IXrJy~1f?fJDYf zG~+*u7b(T=ewR_V=eH4;-^Jqc?R%ZZNjIz$LcXdfsy!|PshoE_p>G}N`<3F5t4x-} zKsBfQHXSck?f%FR+foX=ta5fS93w@4f5f#mD7N#h{8c{ZherGIb!mGnNEIB&QX&X> zNzMEeze27Rx>xAhje%E-(ihp1lZ+EH&tK{Wz%F41og&$L+V6(QETPo@hAXH1Rd+!8 zzSUB9%F9v)R67&{P(H#iP_hJQ^bL5d@xF>nwYf1hD91R%n@x*V?8`HvnS>XW zHZ92iRZaUhp&K3G7Z!=4?bz9&gwNsDc76c3llRz*D1eK+do$vBbiT*uy}5r&kOqy) zLt%0DJx9nOM*W{B0=1DN*_12in@`Hi6kb&Y2gIX`YI$}gp0Dd}&vqgJ-5SnA^eUpr zZRZI8GXr#RW59Cv4L`aB&P9Yty&k!R|H%@yN&kjReDdU+81$Bx-tU0ogi928m10Rp zHm9fS7%ASC!*^=|&*2am1HI21V53$PxbZ}-H!dWPNt2rjc-F%RtKuK%qRYK%_%k7* z-zC1a`Af1*vRHk%?`EN$LoBXz(lK9j{_k=yvm)mt%;*kq2Z*RYIn{ zuq>cWBI0YeWGjV{6H6YBREM2&zRib8<2}2PMs?_e#8nd!-XvtdSdNyaAd3}6UG-K9 zTX#xx^sLVL?<&BHzk94s@UWGZ{&V~2QaZR4PQi&kf5adL?SDxEiGzW7q8FKAeo<+R z%O0-Mt;R>Bg`6S?aO4nJ{(5`lVHUFD02vfwp%Ec=D*cmB#E}uZqMk_ z6Ie2*F~hs#;Y8xa(F`wgko{Mo%6<*oqk_%Pse(Gu(#YZDp$0+BaZ#*-U6fN@4A}H1Ra!q*X4cCz`AEK%j5MfPq4J#Au4WHdD%L~JZ>0I;MbJ9Id0FEo0J;)ncjmepfuALiuj<5S4MO}Z3i zU{8WCY?Ro|cd~Hc7gCPo$15UIuq=B})ReU5$0q~u@cLuqRu!gYS_Q*1Jlwl|GLvR~ zFapjEtAXF`b+XXD+xYpsM=c{vK6l3Bz2IGW`0fc8NC{9c`!>Y&xSP&sijXU?-I%1SwcVqKkLu>m7vHX&MuLWdyWJotOk$3NeQBXvnw9a$JYu++_#s{g>ef$ZraS z;W;q}wyc>#PW1OS>JAQuQE8d8s%TE*^Y_3C<4hIXM8}NlEupg1J{q7gbC=w@X*mM+ z>#}#b>&{R0av2uL8eiu;J~YO?W2N0Hh*V)qcuFMq>k3Z(WIh{su*QT2RrJe{mCQ2- zu+lZ+%{VHFKw{vPTJSa%JEHOOpC1QgY_eoTV4}2|Ld??gmsO1v4pchL-q~?ilAQT; zxepGx%-bOopNL!2nxk6yFSxMTQA8RpH@2KkuKkF@>gJGGB4r zTa*`)eMUn?qbggIFbYfP_|q5Qc{rMnA6h*?QKtLog2#3iizA{h0 zyZ%g5t$3SEA^WHDDbJ7u;SG~!%1`A zJcZh1N&5wjPo^%m?2X_N)vG#x5e})!3w6ZG(#f^uenT#PyyRV8KWo?ry$_M%_3;1B z^<&3RsUfPH7$esD@tYSM3_Qq8y5-Pci0zw1x)vg#Yit*s-!&6Lq#V@smzSqWpVjxI z-#YXilSJYr#agWmW5s+4dRPNEcEz|v`5Ew1lFBpMF09uvA4^pIPSA08Z ziPohgVaTNQ+a!5~m?4SHgD^YRPx?rF&!aLnz8wmbYd-_o9QjcKQ1K=>T1IJqeqaT? z@QyN?_^5S6^-L25dRsLVaE*PdZ2qcCsqb_0_6Z#DDi@TthXp%Nn|;thX)j#4HBY;k zNS+}h*n!>v)Z~y?cIXM-=xzia{rX5l<`Q$Y_2X3@hjcFuvEx%mvuv!!vA??B^yp6A)LH^+G3cjY{f?0+N~WfKw+bW5PwLmL9imv=Gi8;^BC?Mr@IbFg8KQ##=D4NSo?(ER|LGW7h zf6Rg+vVKnfYj2g_Y!!LbN-GKl)lsq=E2sc4sz~1<0i8dPKgW|ZX6z{F;Ve-bBJu)C@9j&b3dHAM!sdH+$sj)yAS1$U<0tfcdIQ8@afyMmYh z+obrVJ`G&%4sm>p)uYrU5}azpmk-cC$qsSS<5q=Slq67?oP?!C49k2*z5zRCRS~8l za}IG`_3MN2|5zibR~H7stQ?rf1ID^T5*uO3i<+@%=Zy@yTB8ZGc&7TyciBx6+Li^P zp_1L2m#OYq6^s1_wg0cFuMUXnd){6U1wlYs8l+pgQ@XoD32Bg6x)qS_PNlnBLO_;| zr9nb!X;4b~y~{^`-*^91?(Cd1^~`hT?3DuS6};d@m*v~&I&aa7c-L~i;CAb3Xayvp zuFx?RqVc1RR=+=$o<~R)`Wj{{M#Wp!)Y)o{PnvzoFf6$ln@Hk$zHfxZ4myns+Hn^@ zM@Dx-XF7I952FE`NdWjMrk#GOutzuGVRq=*?0@cO0Zg0Yd?d2D@l;$VHxJkPV%2s*D}( zpLzU8e988{T&_0vC67@)rzhW&W#>znisdY^NU)jD&*ZnishX~P&jb1@Ts;vCxUlmz zaHg)}6U3M6gTXJ^x{3dQRYd1hF+D9dLd_D*NbO!JWwy%dE77Z(Ds%39-#&0H+dDIQ zD&`!RR6@|TT2@_5MIF&LOAq9r&9liIXA_yk#rtc2DEZxgYDI>F-}7_|z4Q*RtSlwI zkCC!5?8YsVUHFsa%c!U`5<((I^Pc-jZYG(ZuE4R_T7Yxg9_vo?dOjG4d0<(!>k`S< zfhHkM2r=H<;w6`Yg$5P1TepfpWgz-SkDjkEUVP3|J>#y$>h}AUIk};+Tz{)F6XBV$ z@6%Fxd1&&VMkS|(ub=ESBmkU}I2M8q9iUTKxhAU-yY#&~fzqTr)FRxxrm+$g@}$Q? zEMqj`aVC)(g<2J*drCNTY{@f7Lfb->iPk6Jwy&G&9`-*zn(LwwjRRD`fz-kGsqIn6 zkwI`v&|s?klU_%iHEIwtP2&*Q2W~16lgn_|-I88}>6)VsXhqY5J9!lC@tDpWK1bWb z8S@JJ;yFnltgW_gVp86>8MQjN>QbPXQMI^P!G+3yx5slgTSv>8Hm~?-Pj(HV*mP(w zGY|Yol}z+Ht$u_DkXv^)14ZYR9rJin160)I8ztVo8{LHoIeABh*mS;jVf>AeXNV7%UqT0KZ#Rhgj03{{SE&TK#1)^>?boJTpTfn)lg-j^*6?MdIK z(inJEFa((j7a$SVLH3NhOcJb7SqF94mY2AZwhixiYb*ZV(vfdFkS0;Z1TbU!)ijVoRrM4bP|Yb0mPyeJTJV~b)L3G(|7_-LZYis? z$yZ*A;-t?xuxpfm5%5YMKc6Z+crwXf@{`DBM4qcrz<5-%?0b%GnhoC5$|&qANP#9@ zosu@-GOL{?Hxgb03ZEYBnw3@LJNg@Vo!5mu2Ia^A+TC{q%nzjPj zZQUcE46!HAGftfMn*8x0o3*WWLSrmT=8O$$^vK2INQlm(0k<))?_F>)JI-tD7%kBn z?5*9IxO$wJ%CXM%OqcMoH|UJWpeg{7vY057sImdDkQAJF+Kcm0hQHUw`g=QU%s35J zZuE6@6btTbTS(Q5C}baH^_@!_LFb~coQ3bdD?e+tYf|p9!+96Vwi|?MNUirIiGFtl zS*vRes2!_S19Cf48jDn&0j({k>N`JNEd6^(Kmm+?#>lawHHmU7I{cW>t?zlYXI!r= zrf+VWr7<&eKakPjcm5{2Tnx|A4ZND-1Pa*=c!V1&M~8(xH5-lxZR(JE$a|TiY~A3q z&)(VStui*tf}y{e^3V%wk|OdOgu{sAW7?66Zu*Bg>Y4N-yBVDvGxh7p_Q)uoI^wY( z6XKPL;Vlp!{zBza%AZ$8=q0c;#2hV1N~>F<1nJ)J!{4#aPo z($hOL@&;IP@f3FQK+LckEvDF!inm_Amk#H+!{D-wb(QI7;lzjyg;X%sIRkDb7U9|Qpe){H8;6q6x^HVoi=G^a-A@he?4Rw6)Merai)?mK^hQV z?Ke^b9@7;}@W}L&U=4$`HifaSJ*|22le_ez34sM3f0f2K=xen@)@fW!tSi!!dH0ob zUvfAWD7Nc@mR-zvk@~yW9Vu^JRIWG>wOC?+yDXK7L@nb^ubmydzZ7iSlf5IKT)6m} z{L+-z%!S!Xf4bUD=pahc?H79z?Alcm*&J?7QA6i2*9oa!gclo)i}_|TNi&r+_<%e0 zPxmF7wRkbebjqwv?EP*52NGFE;_B6ej&bXD(+u!nG96xr+SetS4`_6i2V>|S={;BmN zuqf!!A_y=QzNxPF0Z589cXtqtMN)6GyC_~Y673(b+eMHY>`y_T3ii*!X&RabP098U7CX9Zx>rT1^Som8_= zk7AP(RFXSRX&&@F)vU$=pGp@RoQa=YtP}Ak)`ASjRPueXi4*atZBfkO=z~+OY9b~y&q1N-5vs-#pHaFmph%C^2>;2PUsDMOZ zYr~gsEX6|y?Q+!!{g`kqT5sKUx*mmnU}Nnx^tv1>c#T1cuT>2pgZf@P*qx$Zz`Q0({j_(l_ zMhEa_lO6uCr+)h*j>*e^q)jy+Ba=`py?+E`5)jBM(ol$12|AENV6ZaY%YcRgTJVP+wV={>w6;9#%vwGZ9;NIzdd}4g( zyz_ya+E}alos##)y2+gc0Fk&YO;I^PS<;TCtGEJ zi)1WRxSmS((X#4O3(JxO?6Zes28aR;QGXwfimVKo9Enf$o50f@6@>@_8UGP{16f#> z%zo)wrc1v6tYv-Nl)mvo<-f*WT(?bVWUu-6sCPNI~cPLuzZmAoj_sM z@HL6gvEx0h@crd4lZ#Pz`9%kXo6dg(qSd zHU(+48CrllAVzjY#qTAl2Zht|H$qF(a|EzVB&)zcL60E3Gxl`#|%Cqf^zFXZve$dqNavw#*olDh_DDb+x|(#n%0YI2^eIFyuA8TC!On@+X~`b8HISnsWo1YVGq8Zphyo-hDXu9lRJQRY z;u8WWx6d%>u^3)drXa0%_+brK)cxYioyu&sE{aZx{D)KMDKw?9sbf+lMdXk8nm!(;C^L(m1fXSbTIbF?(j56B?>w_} zd4rs>Ly-DgT0O`!#w;UQ?azwPg*~##tCWh*T^i$G{UuyXTB(~y+zteAXK<|Fh0*RK z40a7P?0K23gB5I{0}ZAX`LG~JGX+sCSGWg*YUp6EPAe#XeL_Y~@p3Jk392L@53pEF z?W>P_8yOGVQ(gdhjApdL!^ZcT>`+JYX5E2~+Irun@UhZRFAV>qh_tBi^G&Pj)gt#z zLjLrS2>#c&fnNd485?~v`j7{452(oF+~#R+&m3yQfY|SCVmxe%0mOo)um}1mqE6Cn zMEH~`u!(Nxg}6mHB`81(Rv@D*nvSx|;8#FBh`;`ZnNJl%jUnYdWRQ>PD{I43r*}`h zOwoS5)Z2ne=9l^)D_ZKtKsahyD29T%<{OvamCqXJbn^*MPyHZ`K*5Y#2>P1`VS4TQ z0vpc(n-(Y(aE>M7vko68{3&)lo#<^vz57jI3aABg_4{$TpK8alWZpw`{S9%xp%?Q7 z>Hs4MuLlny;3xkBb+TyR`^5_2_Jxl;fwz9l7%1di;r?Q61A1oop~d))PT_>$iyGc% z28-i!11?XIVi92z`iwK`3{B72!px&r$FB&qG0WUn)PNO+Tr3^QLr7&v!rg$Jt1P&A z;pcs{q%8L3>((&k6F{6;%mmxm=T1KqvlV^%Yf9k*&|tu&YFtC^HQ$rzo>7<%ynOV) zmv*WOEY0^k?tD?DmIQb?;QU9m7z+SL06fu*;jBNZp}F#CVfNdFKa-^yX|{$F!p`IA5)Vk}_kYuDe|@~NUJFr=<;U>k$ap6^8(Po+t-GfEY{ziLw|;9@L1HW_(5M>l*4`NiclCV z(U|N|M?uw@R<;F^eu@-;O}QBQwfA;LjJxw~7anfFcE_!~scL>%WqjlELJz0hYrrwA zchm=qpSdlB!8Zi-XpT+MtcjWWdApNmZAsYrC$s=)qp5smfGed!yjrZ-cepkq09kVh z!wLP8>G9=M<$mMnT=*mn$`4ajwx|Zk54fC9Z(M2e$lCa<*ScwHiFcHcp{A7+4P5%@ zX?3eo_>^hif0X}pB6Pl6;417mP?Y2dc9@Q_`935B@w}_nJGdEJG!#bov=xY)FL($z z!JMZha0s|Sh30!c(4+<8seik}dVR&PJZ?SB6i-&eQMt?_9?hU%JE`oIQJ0yRO%lrxj1CT`xiE#qo`nNd z(DiEPAg6a z89_(n2SzT?X8#)?0G^NRPWR@b=onH0Ibd^snV?hmYTuH9m;9h6wBC*ojy~u~1?14c zRn|9U5jLbj6N~s(YxXB4XksO!#Igq@gT07ib^s?Pxt@wi;ZB#s-2N+SbMdhKJRUI8 z?~@Ur!$w(|g2(?F5xEf6Vz^86{J*UT@OHA%ZNachL>NQBvd_I9XKHCY6(k@fxUf2Sh> zMoZ(pGzvB~RU^m{Zujq#+`m7wqmt2+a=h`&x*7%;){(?k z5Cmk|MZ4FY_}23rJDDzj;J`y{XZ-a}UR+)u*RN@sq=VU}GxR8vCS4bkwlJa;9)|ZI z8rW|ma3T^_k^2-9knARe)(H=&pVWc@ENN@35#>8?jm~~n;AF?V@B!TK zu@^QGY~wIT(IVGCq|9PFpv0oyb!sYCR9lOr@H1qd&#UnU68ou^aLHfdB-*4j&YRJ7 zOolFMncw7O`NB1--7@;ra*z;YnloDGBcjRyx7MWH0}oYOe|>nsz+NGtLoT>aLF)3% zBBKdMIhM6ubHRoQPBw$`%bk=pT#RdUPofP<<5q@Qj!^pLCbwg@Y?lKwtk=%a%LW?H08yx%a!mokQSV_AcnHje_efwhAik zFu98RP{>A~!Lp;{`cJheKmTlLw#-;xh_j&3Lf&jvx7W*&a`ly-$B2t)E}Un+tx;Ka zN~PTM=>nQWoJEJrjjaA5So0_uZziw(X-{O5lTMs>0!C5UzW(3ip3vpi#Wo z5%s=%20-1@a=)+aH1_HtriU>D?sm{(=^ehD^7Z3KDo`%2tPt&vBK=axEJ_$;!8>p= z)TW-cOQi6aOU7kP}L_?y>#YOC?}>BT$6iCRBj#->FU9=%Y?FaG`5gPNsF@ zzHW18sz}8fIoL5ne{*cLQa2mSqd-lj7SR~kYgTC~$hHEgWTWZ{4>ik?^z;4(c*ATx zXV1ISjaJa&Qr21Jf0b}Ls3U)|B-4Vq{=;SQ0tC>Ih_XT$XTRFZiH)hK$*@e(tbZR6 zb6rBu(tiLyzRlw;UlB|kU*!&+(w)=8&uC(d#&~pUwiog5juVZ4Pw5P$)Vw97@mYb3OH1HLt4f;~VF`h+N;~+%o{VDe?9d zaJ*xR3@VQ7#*QhtJ5^Y#5wK7f!j2(J{MM*^xXIFx&CSqMPs2Ml5XEop%E-=ZT`MO? ztf+5U3n@yLQ96f&>{o{DUvD{)5+{0Oo;|~kDTdVK$gN?$HoD$O^4P$x2ss)8lSF-*d ze(sBkHCC6S^b7>To4RZC7kF*R{3Z;_9{c;wypejo@NFaSh{wk5!q>rPpnzt}ENO2i zbUoW$O9=FRyb=q#r4d?D_A@qwpymLY%KR#s0oDFVz@jfkf#xa&pmRfNPDX*GTzWvl zkzqg6VM6)Epu;eoH---cD!u&qqeS?g3`l-wRX#kdSxXW=MFk%p)Bjc!LwP`jg}e<# zXi~0d__9S=v?DntM|}Iud9F9Vrb3I2Plz6{5lHOu{FMKvh;nkD(ugUDGLWFC>j1{! zpsDHT`qQ_L8;c#s`((aUIeBg+qs|G(^I*;h#9p2%WhwQD~Ya zcBtRoWlljH7Lfdlkzu&!Hjti4IGF^WR z7l*tMP%VYluI}7}KnzBh0}WN7FHNxZ4qi@?W@c7We%Z(}30=N!QC%8f8|GSfz>Z!BEgVOLag61*B=b z|B8H-DQZhvZOZmp)yXh{7Rbb1@BQvvc5Y6>UW>wV*z6k#oj%!^OI{s^7T7mZ;>Xud zDl1N)fr^ughTa?;o&cYUZp64J2b20+T^p*o%E56Bdx z%0tQdDZ}e->C%TId6Q8Edqm6x@atapNhRRB0A{hpCG0ge&>GPQ*%<>Z9R9{P>>>OgP7bC+o?=*k_7ldO%Y z#MK{2K}BOJ?Cz+Q2@GfrdYl)EOPGsE(81-%vsx1=)6!B5`Ir}X>~LZz4Q3nN?N=3#AApXKg>L=%r*C^GbI8_5Ez|2-uM9OT|HQP=My?DR#Qlk*cE0z#AQ? zQCgK?MbL6xB?MIrT~e48`6}DA_yF{Thq}kOa|RgzHotB*=z1yo8yDqeNGPKspGR=D z?`lC?U^ABfO$+i1E-HhhAl1B>Bi9ZDP{0)1tFH%pP1!m9X&UF8R;?%zV~d#i03RLT z0ZcT#K)M{ZY^E~-eqhN!U^T#NpXtI4V81}B7L@b&SL1;KL+lwdX^~{7$>IYNw0gz! zPnq_KpE)r}+}3`F1Dz(fiifUdcBe>T(O!n6mP3R!%i~MET^jk~$&g9ok!V`u=1>9e z*TCQKjH2pAjjiVK*j)3)6{RPNIUJX6!#nD6TUb_s?*$Epo&iu(e!#+4qSs?mjBiYL ziu2$d3O=)}W&5K2tntM*y#+cTC|7@bRYv=)lreAY$1ApCdF^R*`Zwh3Dj7PMw_6a> zcg=R~53Q0}4Auu@U>4(K3oBH}t}e>;Z2G%HkN3*r-MpRr{l&e!`!d5plSwVOWA!n> zFLHcm1cZY?lc`Yb0G$`|r10&YP*TSJpbYf!?b}kllq!Np%vsLz>_@)e9z&B2-0tmx z6TmS)?W#iUaZZub&gpp*PUw#@ee|8&55IGk-GH$^;frT}<@1SdbKzKb@pfAVx|N|p7yf(v^+D^O14qkyV*sfdIR&5c z`s3Vk+s?{&UK@FPt|C}ZGw%F?6a=Fcur$Udvm|6+8xCTDR1HpemlWeqd*@z`m^A6L zB z^tSG#VI5k)tXzQZe`s)*^n;_%Yp=Pm=?y2n; zl=JOQQQBsV(UlS`QenLF&C=^@8IDgv-j-^Ce(hI(0BYZq`+W>wP;VJq_Px)Jt;vwX z?e)QIwn$Pw)q^vA^U0YP=*BJf3}H;eKdaboMWVol6AEdmvC*O(+1DLFrVbUE>L?<= zskTdVU60zSx&U$(z&yd(4FGhg5= zX)Q5Q74jnh(rj(Z2A6Ems3@?Rcy(~m0*n9jd&1V3$`>ZMQ*N7KpMT`5BCwt77EcPO zhPQq_p83TL=XMOF`bi{@zzFtI9r2TDOuPu)s0A`iV+sXu&>nsuEhx2I)xVQ z04qMpQCM^kyb(|qkZawc-ASsV&W10PG(R^;OYla7K)km^t&JR2h25*6t&*~2;*PL> zoNPm*srCl|Ys9uP*U`v$Mk>A2p+TRvf#_hAC*!huVSAULcGQ?e0JudTxX+X#_b#5> zZfnfJ>xJ3{)>9-Nm6^$Rg0Kwc4s*HnIgu5#3?gltydw%dWPywBRYy-45+!qIl8UXc` z8#%OlcfCmEa(@Fm|9-jl9SB;5F<;h;_eh{zF={f-z9OG|wLrz%5Oe7@tR7x*YO?EM zkGp;?51oYIuwFA3R{dstCQtE=IFEXHolGo7@_=5qmG-PT{?l=rgINqg+3O>f%jEg3 zj3xpQXq5(-MVjKs*paPE%S2vE3`1m^*a_YMqsS5;sJFzh6P&%BJ#io1T?!UG;buy+ z^`9RsG@Y?Z%hWfTm85@b@UA{^n!hFANkdhq4UHM_$9P+={70CHWS)`&KR@p7&lZW$ zu;@!(B7#8Xf7r9{2tdWjxq{|eZZaQ~?QY31y*k(eoj=?S6ACVs<&;o;SFBCmO-%)r zdPiPlqr@*G*ZRP5BV^mkTOKMy7B|Y5cXRCm44TwhBr-h&9M~dTSQMRgqNk2WV9-1; zANopB$?QVa?$MDcuABa3l&0lE{1d!qVm4dDaUxf0)<^9_?c|I0bO%l3n*dA%X55|+ zL(oz6p9ptG{s^!*uQFmgAi&K?=K!msV$-AkavDP=b15o?#_vdNz{bvr|s16VaIX)7PNajhvCrryJ&+c6mFm z5wwf2;li%)S>lxil?1M~f7@R}L}-CC??g(ttk@7STEo*_0lJ#a~MO_`6#4BGCE;LTHHFdc@ZrfhgErxs3o= zo7huk!op&dzI>(3FQwlc+YF>CkeH(D(B|+H;Igi6z0GVVJtqmqXj{CiWMp^J@AG(B>2EINiuVsG9P6YnA9~E;OBdBft(`aV~or<`l_vbEz+3T^O7gi+!w!; z3zW;}gF^}3jL68&B?tLjT(2mMc`E-t`{ABbznR>N13+C00Atx*QCZ74)_`wO{yer2 zXZz5}EX@y8t4US;p4P)(e4OGm7Q)SG&QDEjX&jKf8khL#X4Cz0xtZ{Jz{)Qit~4Ta zL76&ybQZ4VGE=qMI;6bZ8~T;LK771jtL9^+;vY(GMqr-l!4?COKOa!1(C7J@Q}KEk zwLD({ixJAcwcD99OQ={6LX#DMZv|-ZTaz`}>vvTd%IU+*>30`>2JD4RxAJ@X!YX*4Q$gk#HO>6eH!s}!hL(qThlDnaK zXdjy}?}ejC^5Y9F^T1vZA#ZrI>xcAxCISi>ebJIz0*0X7@rm1#mcaTm>u-pr4Z!s}@%Ly8FWl)|2Gz--1CAmJ9}y8Bd#^>Ac~|I!xlawE*kA{zEd-nlFj^N+s?1<+3#T2VUX#gg^^}5`Xh0H;WVZL zME8c~E-px_1IXfhN(1VD6ADaHTW1?m?$0_?jqw1#e+_rvU7V7UJ5|RI zA~%m7pEM9ysCLekWBi&4m|XV!u_~RubYRR1_)zFj zlf{K`dGRtAT?_=F&y51d0i3omUo+%H;yo1A*%Bg6>$@4JUI`L&{+i3xPWpmj&CKbbA*HIpH+q#;wl%dhUuD?4IGR6(V7@U2IBY^NDc1`NN!zX7DmEv|7>&^Iv6 zf4RLTTtRm$4dtO=M0yOiqjJ`j>l3s%6Zo_gU_>{o`G!(5reYTW1^B>aadAyy7+((N zl{~=Jz{SwN5FRZS1B1!PM4n<+q?NEKaacNUJvl5YTfjPuZ|_C5zBUX=3g;ou)|})x zD$`=%(_TJ^(O^Zm*nRf3$dYu=y@V*4L&aW=74T2EKu~3hyM@fTE*kI7;@smTp5h?^I*SqZRDb0Go4 z85p44iDHDmUjwo*^K4hT7EO5vGfBVwM5>YBs@RmB}ojT{gXVr_M=abKP1{`e}BaV z;eME+B=xSoSdpJd{gG*3D29<^#48)HI|+tt*_Y{9tWwh;qRmSr5yyW!{Cs2z^dYxW zc=ne}#(ByCb&s^Q4iRPl@^U`PZR|jHsZGT%(ml zZ3u6y{%uofKlrX^?duyG%{+yhEr)kTl*0{8!%CfB#%`&Q4K=|MrjP40C6df!T&#tZ0d)+q4Q-8PI~-r4@I28 z%X%5N#b{oAQ~iU>lyR&_tjEoypIKK|G;>XL5gsWpWGu|`E9+0QDtC;lb~(Ks_XP&Z z9(ExYCG8?c54CEn3}-Apn2mySo?E(V%&_8n0jN8~{G8Zm8+BP5;J)vG@Ud4>=Xc>vwN&IGr`@)-4yzk{ORy?qQv!suKH;ShzD)%OE z5-Fgc?&Mi^1T#>2A0D5^ZAzI{*N?dnFL?{ee2iNgq2Je@N6XSY%16MV51l%)c*B<97uv%kRq8fTFP<2GHR4;UMP( z!hNe{WW{*uCMJ_>wG8QGEUD=#7m{aTJr+)5oW~m#=(0%u?o{?Y|(dOkt)esvC#7sR1h=QJf*Tyg>!V1#U|vxum;Jd?4`VVIvk&9 z4Wl<9kDwm3tC4evNz(~x+w*;iQQ-PEMt|E|_b9>}I|2WXv)8D#DCikDd$lo}p+4JD6R$(~YNv8*UwRiyaAXlhoyItcW3@+8V)fdMHB^ZyS$?$Ag(msE@Q0A<7G^gP zSR?0*tY-f4<5`Wfk$ z-m=Wsyr^#Zn}_avMx`0a&)bcURFeWnRrBYvn{j7$cFB5==P+=HVAKf-d!8mkdp}k= zP_xS9=M7K;HziFD*Ry-geHQ{sr%ZxO%(sE7eGdx+(I@UT*KD|UJDsBpMYU&WhX`rU z@w7(HltnI&T=@;` z>)G@8Yes>K7pl-$i%+^ITSxAix<2wG9b&-I-)Eo8O<{}%#TT_Ge@6yMaoO$EuT-iS zSl3oIfqf5;QiT|-9~tjm#Uw{8%%uGGS-raP9Um9t?KRLn&%o$Pus!pG2qC{GdJ7yz z!}oc0(us9%jFHpor@vcA9|{PXXpCG-%!gWYYy1u?K0dkI4_#i7*6}zmxc1YeK_!en zMQwcJ7j9|h-cN&!EX!N4g^-oPhriX5s(rH9qQ(y-CTz|QvGO)Lur{o?&hnCxKW`Uy zTnLjReqT!b4wpi`D*QG`c^^SD-rXN$lJTD&yb2SA}oCCeCPNQWWIbi|J?ra zxxH<_%e$4A95=$2(h9A)74^7BbcCleDRwD!9xNOktgj@3(x=z+d#bI+u%#_%C8fB3HJoVGGb2u=0gvP zJ#Rtjr6<7obZXJjj>P?;L=IHgv_{x|FBdl2fo$>n1^=#W>Cu5Yxf3erU+xn#{{cb+ zh4Mf-h7%W;#=w>CMp+3@kybu9zZ0@x)M#|O+wIQz`J|jNX1!mJ{b=u7<=9;i0Xl)b zNN~XZzf24YP~Vf~Xg!WJ6`bJqa9w&oAQ$mRbvR!fR=z)q?pGPn>`S=8IxIJ;zwkmt zW5^J)t`}2YFAGKr!(cbZ*G1z`je3>z>~EwZZ>zpw5%%u=clog5;9oN4G`I#n*By#K!{0SZ`f zCcYWnkY>5hM>hejkzj4|3nG0~7R~*B&8PMTAwJjo7Nnfmv^-thLP{sP2t;n|9 zFP=;EAO)CVbHC%)(w~J@&2VBnUy-w#OIpCJvLc15Ak82 zFN$4nd)|&-DSuz^^EvjV6~xKrse@JWzE~nok{|7rq8H7z`x9h3|98uCt>lXQ0G34S zgR+oA*UCG~3Bxg8nj)O=(U!Z6pF9p@xmXeHR3w&BU+cexy&n3NzsJEq9MH%VMTOq; zH%I`TKD`}R?G`7!RsMF_Hy`$zZlK)X8CqCq#;teJ-@RPKqlm8OQOnsaOjaagh#_px z`Si+D{;KWu4Y_ zk`bsJdER8SbJLbbAp{)u!1rS{MqsHs*bf^dR-&x!q%xkoCO3ZOJKv`k4cL^Eio#NO zjGsRvD|WwiEI;@l3QWU0f*u{J*S|ej8A-JxQ#lZenK$n8uWo`s&nX6)0y> z_wBRz)6kl8)?NKLHjWMmF4984SL|pQO1j-HSL~b_o($HQAg#ZO1PDz`qJWB*1{}uw z2e@QplsgB5W8_`yas*ETT12XxIP+*e#77oJn_G^HL9##6q#zxy|EZ6+uLIw>K0PPa z`y10@#@k20FSQW=q?Ti2aw1{wnbi+J;=eilB<}9&>U;lcHQQ-)gqo{JM$1juuF|&4 z9EMx@PCI93L#>-9a4_s&6jNYQlOlkOvm%3(74c6R)DrOcX}ImW-es6qEQflZmr=RQ zf!SnTNSo4KmoB{bJ&ccpsV(DUCO^~xzw&xeKs7M{mH_J!Ry{U)0y(OtVlkTjV8s8| zqx*?`fw>JfUGXZGL!ZSoT`tSOJc=Hj+53h`Dl$v#*vZbJk?hCLv=dgOG2qD9jlP&o zkw|($Otdfw2GoBY8-*hN2N4jX4^7WjITbfy;)#`#@HjvHkcFDt@p<*{ps_r}yn1mx zWpssZ4)lKw2xux`^E91<-WK9T)t#+pMc9g9vG9K8LO4_Jo?bw%LK{*gOhsL^vN)p8 z9!eLgBDc`{vWas*a{_F?7Xe)VcyO2$=FVP2+zui1#3tdjIq3sNH#v8UE$wi8PhOU8 zleXn$&ek2CwMw{%AFAsv711Bjr3gXu5A{l12et#JQsYG#q#_X zr6DoeYUBTl(;zc~5d8`TCxhCryhc)kFHnU0nfn4?z*1M6p=UfCGa(tC*uxhe2DH;5q!EHZKoTl~-M)v;(Y zwn7Y5U}o0TskISkjbVC!zimZ-$lk z$On;*iT)WDBqrAqe(*udm0Y85I0KKR|80nHkuWI}#6bQ3%t(Q!R`j@B9MZ`2E!+t8 zJOBGlC!DY>jh%RqxDkz<*q8t7I6;g z{E2D4RL&06#r1bndZq4Pf))@d^31*^?Y}6X%pH9x)SQ)vaq^X&ju(Li&Kv&sp*OUY zX@Tj*G5+XuDo)bv+dRUa${@0U8Y)W#;bQQm{JPd7Lq{n-lnnohmI%}e-uzISLRB_M(vzk$TY%EJq}N=6YOP&33Q!n`xe?k zXLiea^?%q`Obea+jD96rJox?IHxlABMlI}T5&x?+Q4u#Xplzx>hOi3QN_$UMsHZ~sN zSuj_dk?ZRy`t6(Z&#tD_R5!vK1EeX%BZ>>Dl7v~-n$fs_jX|Mwss$?6G}CSvj!SCe zdy*V?;@HMgjRw9{ZQ@MYg|Ki$;oAsK$hDrAD zsZ5G^JCj_w_ynHY^XvB_&X3N&ZR&~_TmAFF`1PSNvD@fN>mvnvcQphgSZUL}**o!*Q(n`IrvKl%Cw_E^PVwP`ZhD)JUJ?J#rx6GGDA#d6 zPBe?L{}wtI2o*QTfjr!?{LklOd3pE9L8=9PN|&?`(!1lEz$f+4ZLSIA&fh8$trX zL{QDWa{DUEw+EymX7AaicSzUr*aT#lvigvCqh(D}E8fZ57maaXqx~R?D%*DLa)!X3 zuKPa^dWgqV`6I&9{bPRCSkz`8o3={r`kIeVuP_!~2JRzKPfmn)dr_R!{iamW}n+UlHx_?Ls4O45x7y zmAws_Ie#_n`R&g}+JCD3G1R+3IwK-XU0B$K_;_@j-%TX}7jhryR|my+I(X^0R$7Kr zhgc8)mYe8_9)LFE@||?*(cmQ*;o`6OnBG5h4*a6s zB$h>p4}1b*bd}O?A(ECtB^1|^Ce(iju@RRlV-0O$@1RL5{D7va>OuUZbrjnuO$Zs0ZE@kJQhmI_r;K?dyqkVQE2d&k1Nz3kT-NIn1P@V zVAt-BjumPzY-3Ye^!=}7dk6dHD9b$*51^(M-&=(e z6VQDkh9MMe-VaG;?O!?@<%u#gNYwL^ok7;ef)x5WVwR}{yWgU5i3?_!h++73L=mG* zUcx3{kr~56V?UsEGEF+u!`uEiSAVwQ47W3dnLhkB;+=d(J~y1bM=jOByWZ`K{?=w@ zWo0Enzz71TWC%uqg!P<#Bt?OwK3M2NFP2K;UjBkqd?JPle~YE=_jusJ&u`=tC>RU( zh2Qf1#-N5g`tJAR?L##&^dS#6ZOk!02^H*We~Pq6BX7MI!2DQY0goNf^-amW+!qY@7pLk+;`>AqZX16AmQoq6Eeoaq~BHQ|5!OWd034{2X z-U3!FuE>49HsXb?-_TlOADr-X6a{o?$<4GLRcykCME;?&bm`x7M{{Y^1@du6L#!oT z(s$E5RiEbeTe2kjXMgP-WU~}?CQSTb7;5-w?qjhOl?2~cp+UC+?+w)>H*Auxew=Om zrW5hnFSzK5UxhHWlYdKU)o-0?!+tGdQl?Eh2HFZaZu@Ecs*JhxOIbsi(uC_9ylN_; zptePIM{|BHeNb3H_fMiF*Tt}fzGb^*bcfX6T<*4wICB_O;lxXa`>TK2{y6=a{v&>g zDxUIM%z-`->>jup_^8!Kf^3oA_$`OHI)oJ8;C;k*^(8?Qw6X~I_kW`Q7|O`VX#JF@ ze<1^@(9D)ti|-*y5J~8#m5yY3FRd#V`MLTtZse4FxZGZ+SvmD&0J(A>y*>4K6nkW9 zlxU}#8LQc3x$q=UxkhxQRz8|?obsL`hAF|axr{ub z;9n1HR~?C5i13Jz3K0rXUCD#A;^X$?(X~(I}zS?oeZ{K!)`2!GOZ(vthv;oavpU%CZ@+3Wkfg(`_=zvc8l|XI{Jr&ut%29AX~c8Xy}T zAHy3m%9~HSnRxs98;2a{gw+6y!_Ly|iD~U%=?{kvxgR06(H0}Gk4EC(Y}+-C)b{-; z#vBVYjx;ZyUWsLTV{M;kq6_mJ#^!b6Ac)`L-AV{fSbwg}Ut%}+z$sE-Sh&5hrLo`N z9N#j+e$Zt9r`kN%9Q+F`Zq`_1@7 z^%Sy-yJC5Irwn1KT!vRZZ#i##)7vsAzCEzPv7NgYzo5PI=dCy_kc*eQnBO=_IC+de z+3|dPdm(AZYvxRu*eULLTpOF@;it93^}W>jz5J~%$0C;5qtKN-I<7=3LaU}G!!6n^>(q(LAk{1t zJyq2RF;9ft@p;mW(roL4H<9>;tsw>aYj2~utC{;PAsAnUI)gF*GD zYGiJhW!=WR!Q;VYPD9Qt&Ze^1vI3Km_PigMOS;RB`-A%!OYM){*(b_gzfQkuZGCr2 zOv0*Lz46PW>c{4Xezpj`RvkFay(n;$1OFm3L*T1+5=AoxO@=VI&P?*mxG81dK)%lf*6vhT;jXrroW!%IZ+(N69o9T}~+fSrJbKq~yJ zlQPRIZF+rI)4I(ArEZKvuLB=lKf@M-!7??A)%qCkg7^Y!Ey)4`Ew{o!y;r5?uZ#Ak zB)3AghQ_WE?PH7*Z;ZWr&a3bD`d6V{k$LewC+vD0`jG04^Q89SgL8})yxA{r_;#j_ znnJXkizf1G8~<#X@2=U1>fUJYFR#RAvd+@s(jlr%YOreN=GTxrDtQuChE_KxX*<2J zqw=yhN1b2_|$Z;$q4iq4BtIy5e$E=w)T2SknL zFy@3NrmwB`er081Z7Omsg63Q)yH(azCZGRUiVLuC?o&_J5Y&T*xfd_YteiC-n(kzr zL_F*yJ{O907Os1O*tfILwm8jttEk0xp^u#Su`THPXf ztLCX2&;051hO_MD-Z8zGHB+8zr%4SvJ{PSNB|>p~<$H$B#9k%qJ|kDbc#lOkygLy5 zM~qj4)9nJ`3@L@)p&q(NFRpdYoIb6)G$&k+jcg4ds{0G}etrlcRz9!0D)H?sP)$nae})6!pfr}w&JKd?>~3yuY;N3a_HYY!P5}V{b`CCfE-qH! z4pt`*J7;5eRy(Jsf1l)k=aGUrnZm6coUQEbAh+`xo7lTJLuqJk7y8HR@B4(gTm5q- zJE#8v3jmP)_6j>E8wdM8<_3le-~KA7V&x8dqa$Ty3*Zb`Lxhu;hfDZx1O9)P{<-8| zhHC$FC^siJ|6hmx<+93?QozZ4EwOXVssDX`k{3LP1M(K-KIm>A z#t^VHm%-X>rW_}uE!z=w&?PjerPY-5WqfJEB z{lPzcuqN)rWWVWtkKhnxD%bEEeTWZ6x&MQf!|NBdhxN*}$yB{f1uAuDOzNknci^G7 z?Dr(VNcH$&F-s7k+Y^6?l%+n#HribfX@-?FTmJE*7Y9BbDi~z!M`k$lbe{DEQ!JDg zq{_1WhVU+sUt(hK7^$*BzZN$C=#fS71B3q@Izoh{+FHF>prw!X(Rm4?+kiLY5=+F03ME zh6N4`={f9Dl}-T!u0tq?9RDtSvLg8wA|*1QjpkS(!T+0>1?SIiO;ODryyNU^iHbv7UEf zAV}e@E*;%8u~00%-Iv#afb(6kLZHE4Ov4S1(Xk2rDqq zB^_f-W+rH$Gzzb$suvZE=KPrjH!g(jEQfKn8%%B0?rgEwwC5bJTF7xpI zPRL)x32J=JN^s26>rKj)AO}eh(y(dVNj3Zdp>l&9_X+f1qx4Zy9Bttxqo2Dlk$N>Y z0mrddymb*sUml%&&F8Gs-q^BAD(OEcip%$5UsuL!tj`(gG*On5FseJoW{cI^LNE#x zw&=@5x&IGlLZqZG4pfa|zRL*|w#KOS7IJ*?#%8kb`ycT`vCnPr)9^n!=^&m!A`#Y(6} zP3MqHJMHJM#r5OQcd3qN#Ys3#o5_Wju$bMoCiATdg0*OAVf&i&>E`lqgr2TMgU!eg88=B>+u&ce7TXe^qI$#pZ+!DS9& zX1uOqPEk2L3W3l(Ld*(vuURBPq z@X#JYqD zJ;3feyZ)KlR2O-~|CG7(b=+aG#X-fWQa`320`$kY6MvKMJ5iwf`A@0MNls?rMQn+q z=i(tbSE$s^7gH!VXL`bt_fC8SsMrynUs#N&_(5fMHu*CrKVMFk&JtNV7Vp_y3RKK? z_naIG@&|we&ebD7Os(m+hc#IZof&HJXMSP2iPY&AAan(r%#{y71^1KFI5imZJKXlQIWh3 z&!+mU^>e4HOT@-gX=8DNr^UdJ!~?!UNg}$Q<`jE*?W)8?Mz+e?k7y-%UHcV*CJ#S) z;mE=&$-DO=D)m}qY4E|fEPJUqyCYNR^)cV#MK#*Xul@e#!caf0(4e zt$5fKcdpDld3 z;+jC^cg{^xQSk993X`>imhlYSZxXvU4d>2%Cc5_1lY()G+HdX z?+I;9BMDwuW+Y%L^JCyZlHk)aHnHfC=b%NK_>*bly1gcYu?!3QV%l)u73;M5{mk-% z-JASBx<8=(B(HxH2M)B75^h}m!gW&yy-F=$BYj+o0boVgn;ho(&T^1(OrRS|*#imG z%x}Nwd;9Fs>Qj}B?gwbp$eZPmnX|Q*tn{SOf2IPTB{i99KWx1A@SXDUxOxbP)cg;k zmA(&7^UPBGXw;1Xyod9J)T`YdhT{s{`|FYi6T!tcdtAd#ole;pQLk}Psr~ch4elgc z)%RO)C9wHEEzftnAusuKAe5{>)@FWiDS0s9pk=x*#4i6i-KdUqXxRIOwWv5`0ElyWuF4#8Z63zqN@_Mf0#Y@Ucli=YPJEzIcC+`iXeRhpG0? zj2Ky1+lhL?IYY5>bb(+y!oDjJmoU)%TT)cs+RO$x7q>ucO*B}IYo!Ol*WL1zWNg3J z`)knmpJt*j*9A}99Z{*Pw_ipjXRiklY+c}HPh6~B{h4lNf)95K6;A%IL18md5_&*@ z^u*b(Q=>G06xi|LvGiS}4+2N?rwG(8U(3}$ymWn7c#1}}lF|)DV7h;w;k+s6`P^D! zKN@{VHA&NOlBIY-(A9BqO6wu!d$4nl%{A`Y=Rx5HQgCrl6#5PhipLUc^n(aCqYHu-Uc_ z2ZAwy*+ADz96aw*J^Fs9U|R z+HLmm2vY&ZLQFh_>PC>pt#NTmxyX2Kfix1FO4I`wRPm5}qOY*(P5h-|K7*}|YbCPy z?ZIIQKqZr2Z}3O#gCuMZ*> z_o}<={jsUj%*wUo=0O=Ia$}&#HmPwWC$e48V0WHI&n-v(SYeQBYt<|q_S8J_TaUKZ zYx;rXl`^%p@5yWAQ%#5$KGpTl3m2Q?Fm?na5T6GYkC8E1HU;p6D#A-Yh*S$s-o5`G z?e|b=#L_tY!31lRk8sd8ek1FceJ*+$mVC`f%bFu65p74r`HDOFobUyQdcZPQXq;ph zudZG*GwUvQk5g56atyq`j-%_?nH45G-tw|2UHVnAw7PHjUT~W9agpG&@ut#QQn#@$ zbrV+$*c`&%rWvClbB6K8o~09w%t}5+KI++hZnLXKamNk(;=7F#PQFRU6M(ke+TNFt zM7N*Skj~%|vId!hC2Fc%74w}DZwkV6+bpvA!q&3gKnOq;#Gh{&d%T`tE6_F~NU7}( zWNgIP*)$znYRjO%Mu+wzJ$HU<%#j5Ct`g4i@W7GSxVDKmZbv>B=no`#)NS!j8$LDW z!fqEQ&8&YfYW_tDonx4xV&nK#tNw+unc;=<>}N(m*`BgR?pgVR&$3OW?-DhJ(E7E4 zB;L$K&>K)qnQ#h_jm;l);U?TDhmHW=MP9##8~5D#6mCMzh|_ia9$r_)*As1+h<9dw z(iBI5cyrT|BE32%O-1lq{OtCSvFvpaLXHpTq~GJ)sN~y|pT8?MTd3&;x&2-fbA|Vz z1ejLO4^mPrt;i35dFN)(=b0oP5+KW!**-jNc59Jd;^-Z1Z&;I40n%o-a43MWx*5U7 zhm-iiD?hPe5!np+-t#Va)z`kkAM9q72yt^h#rCjlLf~e0liWC=X*y4hbNobQf9Z2xTxJ9u>R&wjGVXy&eeg`i<4!1(yG0q}hzFj1 z73ob4$6}x=eWn8=o#e{~rzqIOg+CU&e^sXm*XwU4$h@R#dpa&MOJ>!w?sV4Rpx3`G zgF47V(psT%9Ov@YFxSe_y)V)M=z=}m;=yWJ!U4De47)M?<`k8&&D?3B&VqG?JiC|e zB(EL%PASK)p13MU_KO9@x{NJjOKgAI zHte%gDBdQwN8@vzF#@+vR{Vs~Z|u(~#Z=a|fBpjbZb=ZxPe&yl;@8A1e_HKGIeo}e zW@?}4TsKct+G!IGM*iyFX>6FEvhr+m@bEcy=CRT*sGQfBkFQk@Ql7PE_5ErD6R3d+ zG{X+-fpnAM561AjTnWrf2@$qfQzN{9O-gP(4;knv>AP?6a=CbSO z`SL33Vp*?fbKNeFHm*86s@l!ITmpB!ijARUR&~-~jB+sO+8d+cSH(J-r||s9VSczL zpg!Ghw4@`Mr5g$+%h(OU|2^P? zlLT&f*$-k+Q(m~&yhuWHOkJJ!@C+?xZu^m5Oi(^S>H%6P=4t^+Yvrat=3*Dux%X5& zQqoe9LR9=Qe_ej$;~mUm z;KgCVXFp8C21CE9 z38Y6i)c65PrIT)Fx!mKb@wxPQV|81ieO!qFk4$#+=O)K1{^8mirr{2w;J=&bXWGli z>&a56Mjv8=NW^lGR#OJ5J^D5NZagq|INXLo!Io)(Av{fY813r1MzS2j$|tq9-+ z64<14MAUaEr-<=CBs2$`OpE~Rx+H=}=}YbRG`q}$S=Q9aU=xTU4mPSL$)b!dT3ydf zM^y{vN>WSMj`I;GPZrC>ix|W_EZzdXumqxJ1Ag;(@UnJvNDs+r)eP0+jsk@ z%iE?tXy5TN;cy)vp|Mp4_)NO{OQW(`<6>I&=qKpjXw=S=!`Z}P{Yom57&u?C>ncJk zEeUOugl^;&i3y}8SpgRd-hX1T&bGj#HX;t%kv1D~!+>=ctJm#r9}E?~JTZhex(=Gc zJK`=@nwW|?K9(3NRqwux`an7V3n@bnePuv8itT0K`36EvfJzPblfu7~VfFHB#g@1% z146wEFU_Zy1ixZp9mBN_KX{(%3Bkse3g3RybJL2bNJOCHj@c^3Jfw0t{_UU^piOd- zYk`M{d`5M6CGO!GU4ZfaHoo>Dh8;r|u{lt!dv5YJ&t5NB6bt@hXz$Qc){2VXU_4z* zI!48k*ua`T&6ekL!gei{SSQj1OKedJTBSBZJ4Zu|a;^Z(HCJN1H@J8)MD0|Y@v1S& zq!q06;_J07VhFaMPndAw7J93{*l2FuF#YXP#Le*R$DSKKR?!8P?{4Wd2< z8T#Jln#;ZxP#|mPEc^U-dJ7(cu?He$ts8ViS}A$Wg>&L^o5O(#DS?(2@m#x=eJ#+` zoRQ7O-(Z+S>#bOiVuDrt#x#In4ly@NH%v_KO7(NkemuIo%wu{}nmN47C7|3Ny4ywm zv{%V;B>)kbsh`j|x|7?w$0!bJe$H~Ix<(}JEnZxldBvz~J?;5_94#%_Pt-nDsux+o zVyU!z#Qc@AXKq@uroFmriZxG@=ljB%BQ+15Aa~AU;d=YHwcILdKT2?kVDjSo+gum4FT{y> z8VD}>JifskVe9T52j^0$-Nm9gjl#|@(x+U$Ppz|E1vikJBIjg4NG{XE51ESk8MMP@ zvsX@`{ERtVUr+Uy=7)X5=z`6>p9g*~y5sB%Sct2c;+8$9m?eX6rr*RgwBs@6Bw!5jL>X~XZXX;_cP#G8Hm%8H;tdO*|SvN2z z)7U1|$Aw1108#}vL5lSXWXh8qBnYgAYW<$)8p&FZ=TnasXvI8>A)up9Z#)w%=q8!n zMtWcL-e8!mvklvJRPU4xGKh zS&(VDxlKN~Lg!~Qf)p!#X8Q4T^1XAokP?`tMopZ}?b1;x^HnhK5YkrBYPP;^M6USp z2NU62n8v~!DivpG_3u%?D9IiWPGa4m8hBK2@!x+@ifYQ-of-OS#;ik{x zB;0VkZz$KeiDss}BY$+u?EE8@S=ab{=jHrkqRr~bCwCC}MF>#FB=3845%Lx!9wLFn z%BR3bPrj{ah2<@ayKxEyhd4C-fubMa-M|GHy3!RjmKs-1~um>LUIk zLwwtZCqQ}do%1tgVPxKnXZI-FyQKS})x(xN*OgrMm4NV{9rN9>7&#Kw;{Scl1@Zzw zTHxk;(;CIw3N$1Yjw3cRx<|h`xhx^ut7vg zKxh5SR~#b%5OF~_jb~bs7`si9c6FQ2-iL-pe#9p5;s`gVEzGWR3yCxG)^gpQqM#+o zzY9FVx0UO54-@v=VsD^LS`DVC@WH~YTDnAIL3IyGpu9x*hM(;4+PG zwGH2NwxI`f2Zo4X0~lhcpQD|a>9*YNK>vl;j!@_+9*s&kQH5_jL%8S} zV7}_=Q4|XA(19W54s-^A!VkY2(g4e)j(@{xVv7^+7iAgb94z*s+76?7;hk_L<}MPn zd0^VEwz}Ak-r1qt+>t|Aa0fREObLL}x-4842dvuB&hxt~t$pQui><~V_v9D-I(TsS zsjN5kDfB4GyH@xPT`yoqV1An2Xt)^uGXNYshHBSdQZDC?ilJg##rH=G0VT^{M19j| zCT|=kORbzJM;QN~Q5H8YR`8giyR-&FerJjYUMFMrSg+Z*VrFiS`pkPUHNxX9InjSj zeX;jIr-rJDG8BW-9DoS!*xI)}V)*l;Co?gf;>(DFk_JU&DtE~WIfv|j4*+=o7D?BH zPH*vVX&y}AVHX#6(AjRkqLOdMhP=+c>Fm)FjqM3o&;9R{{WLEDmH9nc4VO^@kbYGD zG7Hx?3|}`fY2JSB;F;q79^Q<~(k5{SUEC@TOw6A|cY=Qp-yiH#>>rzx!t$#5yrW;u zTnMe+03OAne;McWc=^Bgwm^Z&fPN|!f^9os0(f6s{ytu;AxZBg^5RI9R+9EvmvFo+ zXZQcwvk>UC*YHWNoc3;VEv7zC zKt6+(#zN~*ZK>y^|phGIb2!RmkCdp zYd|qt{y&lnQjTgUz#zkB^_W5jV|CpUdCsS_d%-&j(B@xj91#oyLM}=x6oj&YVyIYN z;NdjwuxI)3gU;*^?*>SVn@`{*N0*WbEf^K{nkfG5jr_uYev6Utc$!!yYoDP1M@t8a z6qCmipD+sq9xJ2#EAyt&0t$x_(;~t2BPsxLf<>85R1nwUm;OxkJT(uiQ})C)2)nW1 z#|~#XC8a2*zGh9$LK+-mOl2_nga0JGW|&FixzUX-KAVLkbe7x2_Ftb{_w+5eVK3V6>Dkpf8=8^ zF~8ILm{_)BMKl(IyoVM=N^#RUlpjXgmTUjQnT(G2SD(ekb{#L%mTBt9=Nextvpsc; zF{R7?xYsXi)jqU3P;6T6s~EaH>m_w!C(P0?MiCp(5GIpEAs!MUltr!*2=sk%Fr37a zl|<&GHU_6qe3UNrrwWIjg?e3f)`G4o7EAxK-oN$h(`d0+YO6k~v%Go~u5V@^Dz|mo zD~kPB2*K6&VO{NV$IIP{$L2(tx)leHwDMj<=O`xQo=smvA=9x`pNqOry3?T%_$l-t z{OUM8I_)j5}suq)g>*S3Ji(4l}Lo`Ug6Lq!h zPC97wUezh{vQ9EIj8m~i+Y)MI0ezbai8~M#4!=iKflvPQJOCUkO0-uj)HYPQ4N_y? zm!zz;b*?neGowxWgo;6#dwO}y{b zYFy~@vc|AHA&5-E zjnl7(eyd-8;zTz2-fWy^6bx^XFwJMi1Y3+hM0A$>YMmPdqy3d!|2BgnR(tD9^vk?h zgnO5z{^fSmS7|T1L)DrMVDcjA5*!7+E(SuHl+iqguANh74Ngrja|vld_|Gi-uf!mw zV()P!8qdy$;hoY3pTOcFN&XO7w@ZeC;FDt~9%=crpR8Hcm=f;e-1`OgX5X5W&ve2k z|FYJdQ_JD!+k8jAcNhRI0CbG4j`v*E(eFrvAHykJv@*051Iz=d(l3=}OEA z>4Zz^XpyPa9%rU@&n&Juz3_y?qE+2KUD3Au`H%J0%PD(0;Rel2=C=JlBRg?6mi`ad z2B+Smgj>ntcKp)vl=t*ZEKae_b0SFnes2iBFE1qW@>vhM8)Uh&)0Maab}&C`>Hf{uYSW^O9=3EsUpvG>>#v>JIV%{N@5 zqYm@PNB2?hd7+^NVN=ja&QZWhcKQgu$D2tw1KoyOUr%pNE-kg<#k;L@smCsjrf46V z^xkACNwh$1d-;aPykrHE?W;EgM4hHsn3r=Iy51uiYXyxRMY+jfb`-6qn zeb|J|KRHtsoXXAW8OFk^!cQpzJ6LA&ZTTk4oZ?RNU;I<*{yndu+&2cER{;9VC-e*d z(y%Y~{*jyr(m%;T+$C>_gDo>0v6ua{{AjDF+<1TP^PI9jnA+QOLI8EpLMUw7$t_j(}&$581Nz6@{RDs5CU<#Zc}gT}eEz^z1Y8DmI7LO7?#AyPZ~=+tA4 zK3~a&7KFZkb}(U(M_yi&KOka9URF19voP~7A@7s?tMBmdRDG)y@OXoG2uGdzq|!f3 zp5G(d&m$a$FOjr5k)%I@f2i(FI!Ik7Rq9l;%um|0EsCF##2|L=i{44Pk<4SOK zSf}K++9c)Hv4>>Wh-EZUV5y?}XpPsI_2$%$Ac86UKkJhTAn*kAi7PRy(8qsdMSyNR z%ud*9v|?1&PkBsZm!w-QM`vUgn{0#kZpDWn5Y#!``jYyyQrdSkYTX)P>7U^qvX#k5 zX#BQVN=|TNk$4DaWNhs2U_~G^C}MIsAa7#wFu+FGDTOF7q&!v#5m@T!RVsn20~N0I z^yC0|ngGtRr3;maPkSd)Ki-KgR_hNgo}+FAZfqr{2jgosh@#Q8`jcF=gRpnKGVN7m42l_o3uEXrjSkB_3=Oa zF-QiQg0!ss2WD%9He8L?1O9RLiKica+D1kPztYVffzktJ?@4HegTuZBU@~e$#p8)7#=p*T2W}18hl3MZ z(D%|L3pZ6WDkn{<&(_4sk3s28FE?C^WJ@Ti?WmUK>=8G~;lY}0pFe#~-S=4B=s9<5 zq{}K8bHSj7!@X|WI1er%vh0LDHs=2qn%VPy`jfzrJg5BV;(6VSj2^rmk)X<1GTPO> zO`1(Bk=Qj`&8T$1G|xuX}NYb5z^1 z1X90~`t(x-<|m&9HjD!e2rY&7?cgPQS$2;C&*wNZ^YYB)8&{o<9GHerA^I;0BkeaD zApG4{4CF?W$yY z>NFeR*NlE8=zDGN+x1N=2qt7PwH(mNrwtXA`tsWUtpBLvb@uTfOGT`O$gkQyc3Vo* zqruD6;|(m4KdF8C{o8&vP%S)s-MQmtn=8hOd$Y*7%eE=J9g@}_=2tZd>J1xq;gA5G zQK+}sp@Pm$OVeane~Ri}-zjaiT6sfb1p_8fSU&9E^9i_YFsU-Y`M*&Kpg>))gu)NG zAJejm&N1iraKd{?*n-#0ZoGvS6ht0B3jFQY%JLUp2^CK}uBysv*^K#M+}$$25+sdS ztx+CR{55#Apq0{33bX|igpGn3P5d4a1=en!Gq1dty&zi>Q#x+?vK!a4Y5Qs}+S}J_ z>k$4zc!x&**OZV^Sii8Sw#che&aJYL z6@PG0vARS#?ac3#XobQ};z&rK5$WTe2|#%j-#WovXv* z&jL>XYv=TA0w480R&*}p`?O?A)L}!)CdPMM;XgXtyBCmyxE#ufon;8r+oVhD;MsEB zj7@riGixgE6{61Ro9QI6>;$=OrbdG%PM&5}sJcR-C6DF!PYIjx;y8*1uQQn^D8b8G zVkIAJN{}PEKHC$V9^M@nyXC5?s&KdYFNHEb=fvDjYvekWEB2>w8L$}S^nO`c*=;6S zVDr2AP^J6>n;%tMydD1YaUJ2JSBa+5an5_s_L@&4HSA7PyoZjyzZ58z^lQX?oy1qt z`pjEz&oDAR{INFEVFV=2Au6QIbnTUF>=H_i9_cp<4`RlM5-+qdW5Jeu>@rPZ1ZZEYBC43N6WB;lqB*Z9+3f#Kkxvn~&N$r7ng zE7pMk?QD|egs*%GQ|ovvO-(kRfp6)Ss4K3*B2@1?3`BN|37LL)hM%{YJY-NtrqbC+a5 z*2Ki5kVw{t%g`OSm+L!yH;sC`#6CG1Hwb^aHXzz+Tv1`%K6#mm|ME~yKzK{3dG$HA z>V8<+BOi|sg_%Ge=}Kc(8pg9+!PUlC^V=D0`i~EgE9oy zK~H7X%y#>mJNG_ZA87@i;j;|nibHR+%Uhu1lI<+5c}J?9yqqM+dh+xn)FA%T%ULqa z!w4X6M7y3e%V{LLKeb>SnV1+`;-bUkjCSPVzEFYJ;X(f=7suQShepOch=98X= z-9$>RKUFz}qg7tLo&qcal56DZ%3+0A>sRF}YnRXG4bD(13g4`8C7=EHZdDFH);&FV z{Ylu}-pEa(O_ZFq!FA73Ik+tZ{q^3io6|RgUXD-Z;fW|Ki)~Ehux?)F&qUAMM(}Ev zr5itQl`Sm1bAehnT~UnJA;Z1Ts@#fDUbUPG?(zIa3Y6;PCYO9ekO?XtH<g zDU4-6lkE&=(+Qvb+_Pl{AKR4S@INeHx!bO)diVUK2k!5!cjJkYwtZrj*uIQqB48%{ zrNBF1cGi%ZfNVau8&fV{DS=T}pKjycKO?R!*i(8$tkq|aMha0@QmPWs+ven(JA++I z=v>UBH?K-swJtS$l%oLQ$NK`dqrMGH>^YJ@JP8Ma_Mmjktf&hoet(TXpk z)dq{dSg)+jP)ycn4fVL4Tn7!UF46L`z3if=?U?&SMt5u(+Mltn5$V;}-`gX0k#-#W zKAeyGO90$qJ#0pu;RHzzb(RaG5Q#2u!73PdPwX1^lR`)_1|0|1?|H~~u*F{PFcaT8 zr9UyMX99H9aCq--v$yV|N-yEM@o&K=-;lnQo^k+^utViPCz2qg^oG<6-6by{_eZ%|u1T;5O%Inxgz^uJg|a zOrvgBr(j3)IFxbImXg5MddlOfV?!qloeLgb9#$noZ&U3Sw+UICI76=#+IS(KEsoQi zd9&lGoAQ_?ZztYI;Uv-?NMT;`p9E7vLrUXDOt2Swcy%OU3Fx_|qNyxoeD?b~!bwKc z&rv<3!*{c5=!a`^Jf3pdwGs}J2}(^ZTzLuj3z-IwFcllJcK%WtHe&2VSj4gEQAagj zk0E%6L4jG{pjQ_myw`o*pW#RGJ(sRwmrZXx3^kb#%KQ53J+6|rn<^GBb+@Kod5He+ ze*t*2Nb^vH;&eI*o(xY{MTS{aIuZ}3)ERQ7Ne1s%SB$e0_~Z-Bpd0 zSnBhIjOQ#)g&a| z*RIuC^R8v%lYZFr0$@h$sYX2o*a=%A*@lsf7bC$g*+R|6gF|9PwKkct10vC$*hMIN zpJuh|;p3rsul|Jj#df#($j)%lB->;3otJUQsEVmxsFTD~fl{c$#p=23lzej@cTs(H zkv3aN(%dt>CTY&Ei<=ZH^{29OXZe%%Jt^>ow;#y{lw)5cY7;g*8k%P06c6DRs){+Vlm_odmU;IMp79VXR&V97>$yJuMM(JIf+gSe7{!)*M#cUTBdVyE%V=NIIKG zE=L+T?9E+qEe-GA+oQFLTjk_Jy^ltH1ZpsHsD5rcrGiV&PivGwyiha^j}!Zdo!m$z zE$$C4!69L54|^x0W$ht)kTlLH_jEhS2CwN+&HPmN5$gWyYKrMPn{b!Yk6Vh7h zNnW_oJum5D{D#pdc0sX=quofRhAybN2lMo?=(!Ys%&zmRDOc*H6ZG+ACGpzvME;LX zdb3HH%HXKI^-DENw|V5AZ;hgJi}}?Oy@98cnvJ_JBd9uwPtS38ZJu5;#1_L-@pc53BBtcW_WE`c z%rj5&ShJd~L?h;ncS~zvLtiJS!;VQrevn)Z2!FaBEWeJ&e}Zsbp^U`IFWdQXvFCaiYG5V(y-ihFHN(7$)sWM<*mR`G#u3EBL9N z&elSF1Nu%MpFgew;(2Ko??5M0Ri3UqYFM<#yw;EB&x&-bLZ6GSqUPz<#J0DCiB!=Mc(6xpJp`K65jlr!Toe-3i!jWFA1Yt{!Z_@4ZW16 z=7-t^y0Mfj-CG5|YZcRIVS51Ip*}N{>-C7-KkE%7ktvC5hUVdymo12Luj=(rCeNif z9NKW-vn3Oe3sxd(ghwljn-crmmvALEd_-$pE27!f>+4zuC4I?*(dpe(GCa!I8dg+`jls_-`{(n?`cQo7o`}U`;8nvlvsa3VA_THt6)-1JGQG3-M zA!=)D6t!njo75hOD5`32L6Dk3NUR8n@#OP;p5J)RdH<1ra?bm_&+A;*eO>o`-LDkl z+OH(r`i?7MfH>Ttwj+AGOhoz1w1rHN2*K$$?G)-aczHT?MGFyL+%L=UU#QAO{yLG_ zRamCLh^`l$Yj%8t(CH4)nk}oXf7L=ik%tL;EFe%weF1?boe-l8w^jO5-zzc1@Sg=d zqwZkd_T75mYf)pgB=}IYOCEZ?y6r(-zkGW{3z@uMW}SBrZ5~gxj9z8Nm zExirwx%gw+M>m72t6i7Ehm*{c&gSajoDRC=y$FK_``aCtbEqXQqkZ~=%M=ZQ;8++* zuNo&Ysf1Itn!xJFZEmb9Ii;}4n9p6c^*Gq@>&U90h_8c}U?7tFEdi@wAhX>0FDDcF zE}Ol=4<~>$uIDOWxyvhx-%_tSG1jirRD=>0PwXqYM`#FH*`BNEJB0#)?&Q>H37eL! ztXEo@ce+--8Zx;LUFl=K&R{<`WsIY!qUb`HN)`W?CEmm6;%CiP1*BEwuIr?8C8e4vgVj=~+QUZP1D`31(K4Im z#S+2~r_qSU(EW&oY8L}gazOk$&%5moNH24{Q`hw^p@pII+;7x(P}vH-usS27>iebE zV4MZ~+`EtWrS@>)RTIj^th@fJ0HeEZy;+Nfp+tI=MV556Fb9W-Wt(RfmQ{K<0wuFp zb31GXtc*$t4NYcb7_uZZ0xx+d@hyTS`B8M(r1WqZ!vJ6D1f6;l<0r`r^|&hyTcW41kFF4i6afIpVf;W&1=iOw01uYPm!|b?#Lye z&slYr$G}^bw?7>gy(QtQ&h3sa8~I%s>Jge4Ns2^d6mr&hzTbOFJL)@|q!E zgHS}^J|M`Hp=42kSEIX9->|bFQ_E(bIVV5O5#t)zplbT*343mKci;VET=3M(ftP*w zfZG0@t;IZXtYy%oCp;(@`DGdH3Qz|jLId1hMw147f3>N84Edpbg1_|c)4(C(t)<_v z>nk71o?pSom%&Yw`Q1hq0Rj31)=5ryXGXWy1IAAis(@India#}k}Y?5I1RKN-Z3@1 z6yjeYS7D^f{7&WK?6XVC`xnFG$W)Ne?9SceBSgD-{zBCWs4Zzai8z)j~LA7Kw1U?M(esjp_G0$cBEVvUF_TL zz+1st`WNxo(bjMp{vEcu}Zn;9C;-$ zf_jaR;B|!BE_Hgw6S_)3Y{?%#W~S@Qj_p#sKro`5$-^;?V~~ndETk@|xDC^Y=z`0k z*-uPB)*=y(r|7bzqD+w0{)$yGZWOJS!##JEjiU;s>QuqA>mg9WGD_#?1n`9MK2nk` z2>81JiQMeaL;WCA(#M}y2JW-WIVX>9bzQn0TUA9wT#*9uI+r>`EV6(r)eg#(JA|A; z+X(k?(xKt=sc|E|JY4dkU(!_)M&-T1iJZe=(eOs)POh}fb6IH0%z7v0+AC{&1pN-H zbZp5xLANc@>gh8~ZE9h2dNNRyC{e@~G@q_)3!l+aA;zI_%i}+_PFtuUo+GM`Fq+lJXT4hdps-hR1gH3zS^A{j~E@r-NDNlcN;CV zdRAaNrdwgZucgv!ENd{*hzJicgyk7)?>?m21z6&*RFO`2uMwdvFo1CgwGPh-Nm;|A zQQ7CJTP;0(%P2q!3F=%=C4QH{M*tLEU%_3%F{SWhTv*-kNk}nqzGSWxhsqVkvFA#A zxkz2iV$!dy8y4|4gWyCZYp@fwYh}@;{G{&d44lL(ii<1ba?SFJxFQwRHm3v1mldUpKirgv5zl9)j}=C*iS5K z9ScD%ZJistvl|Dg+>K)-DJKf`5J}-3Tu zs;rqQ4%)%9RRG7PkgqP$Z@T&LfCb-(*|U6a>u#x4lv2g=zx-M+HO-rv+{#aGuD_Qd|k9ipZ=_sg>LJ2W7Xe zWnPRk-PEU#A>ZpW{9m5?9c|8X9RWGy6|W)J0`|P=N2}2iw)~-12FAw1l?BL*Ng^TY zCq?qt6^?=(06cDvr^Ru>@MUG;Q=be$OT?ush$2W&{aIxA!jj(VV}g1?RxeY0^0WTEH;x$}V^G0MQ#7_GBzKo9-d6 zZ5O2JOJ!h;$(HrX&JR|b9x=M>$X;MuB4PcNJwn8qE6aM4kLud05p%>AUZ4Jnf~oel zYdQTMt2eX=^}AOlFOG3m=Q$%=b5H*;sLMS`;d+w8L%91yEk%J;Aq!<(OI}|K_+2|oqW1U9n7Dj> z(*3wRFe*gGY2x5#i>b9e6YO$oebT{yWq;nnMP;|%$ZDsLj_C^ea^Qk&3 z?aGYpX&1-kJ2!g^?ZaCefn|a9HR}Sr55*m}Xy<65N&qVtA(M(M8|>cLUvVS( zPlQm@(5^}w7VQXpruU=#+NRU$N|ZXiem5j_e19k9+BT1L@%kxlnbSgWlC&O{tC5Xg z&jzVREagZ#mM{5E87=|c>P69zrI;#{TN0Sfm53&eqzfyrt{peQe>Sa6Kt;9@ zmQNAmImm`T=g)r(+#L87u{8jnEQ;97=JtJwt2Zfqnv#?Jk*Az~t$C-3%}>qYq)w(V z!(F@x;GaSqV=Tq4yLg?VKWbj{-9mTv6L(?P2XSA@Q^Wt@BnHgCapUgfaO3+fOw*mU zFmMdcW}|TKcP>#+$|SM7cOd07o0DlZ!-Q!SFCc!cQa}yxoVe>+{9JpccJ;#2?&MnH zwEnP(iL=YIznytxW_D!Gk#A?$Ynz61Dn1w9q7FD?Y0W|Y1zvKbFQ{DPdp5NBjE2@V zWlY93*y^)z1>Smyxw-iF7)nMQKJ{jVFf$SSiR=oor3L168wi6>!j8kxuR;}QZHfd< z>a7GB`NG$m=wBAcA;%nKJ)+1$2VMXUfXgsglY2en7hC?1;e`~G&iW4uTfO6j`RQ|r z)Y4KcoMvqSwY$#4oP*?_F79Vg0O+zDogKHEP+Q0%*w-Zhzgg!`E$y9mYY%7!cVA4K0u+L;7ifp96TMA=(GMc-<&G;cO|8eEGzK|NmyQb~~oX<~4r zr=g4Y(T$(S(>2N)+JL(_BIjHTZYhC4q8_3}D1SK1m#$7^ze%5>Eumz5;WP8~K8=$6 za4_aGl&q@`*Mi3F1TJuSN4#6u!iVJ`Vdabbu=<~em4v1xNysctE|TR@9EzajSsCa! zjz)7|g|8MJ?eBGn1^6E8>Wn2=ep<8?}TEEGdsUG

d!c)p;nZM6Ov~QtGETF@JHc*zS~FaD`aNWB-+h7(LV6Y+ zo6u!zdFQBbWu+Bckl-_g>x9N}^Cq6fp3`{sm5)O2Ssvf<)d~E*ivO1oi-?4Xyr?&? zP!Ww#fkFrNf46) zfLid@1*GR;;T*&a^EQqFAIj#kJ#i)JI=%I#C}2C3#byR$1(cB~IglYC5Zod_@NOsI zz3Iz|2?reIcp$=Rpu-yv?jyDg%?2=G`Uk}3#>i-dwA|;onf8^+&0Rr}K+N>pTISpo6P+z8o@0QHo7sGPhqSMBM_d=#{ zYg;%CF}(hqqrxgIXM{saEtzc$*yLafpAG3m=wE`zEb^V8>0xDoY46TDR6$K`Np?z| z!$TYq2d19t<03?5ig8ZP$ek-Vlo(;odd*Av&GtKL{F4rIOT2Ww{Bgcu-xaNPH~DqZ z`J*LvNi9*J{a^6eq9gWo1V0SCv|XI^3KEe}lH*d zy>40QcpaghBxC!Bz}l>uE}c1}P(a3V62FNXq1_)-hzYq4?pzGswuW3#FCOejOn*4c z%mW2pXaB9Kz4{K6#t(a_d~tKo_gq@X#2Y(XhqkTJDzmRQbayVDuaDbCTnq9!2Da>5 z!Q|MtX}*QFo#xNMI!_c)Y%~EA4t`gh^~X1*wtcVuexqK%CdY^B-J)jkngl0?(stT( z!|QPiKUd66SdF)7FH#@IOn_xqCQ!aOJN>h%>>PH*3+geyvaTwZb$dYjjAZjPSYb=j z<%2yjrqd`jad4G48@i|9O{g(?E@o67jmP#eV#ME1ZAbt_tF999bby-fJoByK+woYKGYdqp*& zwW8&V$Zsg}I6f@p)5xzGP$b)aO^plc{=rr1RxX|dfeAo+ zig40HYO9Q|c&HsQ>C!%sqYjnXq}51l2+e<=NsYs$F8*CQ&%q|isQft;?jBo*eJHeX zmUp4m3ZzYx-w*Sgj&mE;C4V$gTm+V^-C~m!*bXR#`zvd@iwFjSe8w&Zz3EEgJH%Ae ze`5=b&mY2YYAlV@2I`emw?m-*?9WwgDhjaM?Gj~}u93ny*iOrq;v%dbL`+{4F?ZSZ zS%-T!)53P;ctj8_9j5+?BlvOow(AnHIo(lTlYAxtHlr&Dwv-!C6GM#aww- zFaAYz1ZT`CX@!hL0~rSMxq0=tPR4c}7sr1Zimx1(Djf*hY-(GHI+Ir^+IEjVePboq zB;$ZQEm*(u8d(jivwqu~SZ7(dXElm!KYj8S#C+ot{TneV2oXGn3Htx&2GN{!dXjPJ z5yNl(5?l%SD-OHZ_fZ|Mv#o_^qUpw1h33BjG2>-dy~?NOcjA(Oq;vbbe=!Qw0KnKd z4zDO9d)(zHdUcwQxW#l56d4uf)s$k)L5WvtpQBIoE5qJ}8H5qXG^5)8stUlLpk%1w zfB$%|Z%mwI?G37h6ITXTLf$0*_we9{54Mq^o=;xpvF@H(v%jRg%Kl-VIevuT_I>?O zP&FZnm`R>*H!2y$q%D52Wj*104Eqw#-05ZJ`<5UbvK3RyYELR(aZaJ;57?F42}Ax< zvv|8ya}aq+ctz|1eh20S&OyX3@qc=K9KyU>i&e>&4XhZV` z90nzf3{$AX$#$e zRZNDPu50fg*O)#ac#3AOhj z@i_j4bp&Xq@lt=9@#9=YlKTn1g*ABRs6*wNS7p?)xRgt5Z~i16%mr1ZMfk$QRTo5@ zxx<}f@k{5!Aj;9>Lp|4pwa0RG0e(pPjs~2P_$JC*X{*jsOn)e=4H2CXAk3TtR&qbk z0m#c0e1bv6t=`&R>h0 zDtS1s&Hc5x02#;KAd}};l!-ag!cW$N3%y~hX&<IlG<>50V79F6s_QgeuAWbEf_|N6B_vl#{Q z$;+sw<)E;cj3X9B?7RV&Zm^8Yur^&UAvslB$6>)$0vd!N4z@7vE^A>Pyw4*%3_IE( z3F`9$aEF?{0yh*Y=>w*HrMG9#*~UdTby76tx81Xw;=jD@s#ptc4yHWOx3ftZ!=*r3 zc8MBa^}hoTbaXfI}2$_dsF-W{zMbRFqn1 z7k>2vp&-{+1r3dvC_KpTn%=qEll~?euKyi#EJcN)GDi7&>U@VclSLHy935NXA}+nL z!6KEIj+3U(K$>bRp4YjO)tJL`uiqnbjV>?etUq7wf0jotw;`%EZJAq;U2l#HCqtCO z3P32(z8yBfnFDp*6vY1C@UA6u_dB{lIn5g%qZ0TN81AZ5k-UEW%wR;Ws{*Lpcl@Am z=NmtHR7qNCf)?Ffb&|(ghQ17sx#eD-?VfmG=Vnev#`aG4(0hez1A+QM0Rh-?7ZT=(tC9e>x!Ni%GAu^R}9dXPkkpg!nK^nbSeT%N^% zIPma2VAyHQ_agG=jwuiO?*Qu3xmQCHL1M;*daI9Ub`)LZbVrX3VG=DES8JMbCpdk# zPcn@l{f-IGKQ90`#;hSFfJL>0U= zsOwBn=*dsCHC&Dt=pmdphc=^2sCsYEKo0T*TEcX>V$6jfdjI^^H(5GRfckY0pm*k$ zTWj4tx%7BjVan=;L%_-Yw`KEIovPwf_M@JUv1}Bzn;BW!j5QHtxEoYsewF0FZHMT? z_ME?edXuT>Yp&ctIO&q=XNsrA3@JI|Hxjw_7F%FG&?o>T;S-5RJ#64DA|f$J5S7bSeA5E5Kb@J zaXMTvD^*_I6@ga&z)Z^!o}mcfNi-oK*}q`QAy-)~LG)3=3y0158JTIS+p%=6ak&bQ zZZL5E_Y=u^vjv`!CeM~8KXhm4>q}s5QI~#Z^2=timnnTEbdLhm5;Uy6(=AmVZs&K_ zeP({y9Vk?Aj?4n3syPnHA7fhE-vnN<@BJD;SyiZ$AA%4vL+Ab4vi)6??S*@YM)Tdk zcGb`@mTj43sC~|fXU6^Si%Z^av2;N|u~%+w?wETY|1c+fpnti0F-Gv3NgSm_4r>mD zxKz$yFR!M~S{3qVS&^d|H-W_AsRvptJ zD7b!tyb8`Z!%$r*;m2uS0E1}N%O9zXY5$<6S#2N;)Rb@iMfbrAUdr%Fmfz^2aAn>< zluBx}K|5jA6CcP)b(GoU<^PaZwjYK0JCE1b^Z!%$P=#Qh2o?eLOh1r_c=J11a9Q#G zK^HhkW-whL3rrBviq=82=45NGi>Gay#IRzq{zJf>P6HycB<38cP!Vz z)GG_5Ty$2PzA@7EY9aSGdY?s0%l>5i_3)PlJ6zUrZ0YvVaTJf)Chz^|(+|jypqEoO zd}{AFPdL&B|C}HpEiD)OhxC)^wiC_$~ zBhSyHe^Lv0OhM`;N;k2yYho&^v456?y7mlE0erXYv;rxDvVu%=YcKHl=sM5a z`$r2dA@~K;WyS1BX9=;VU}3^E1s)ofI#$GHx2 zl>L&;Zx1AV2Y>1;MMSiU(TL~$E-9z$O>S)t9VIGI>j{2xC-$bx0e@wz^x}-ccWJ*5!N2y@d~9Q{ zO0cFZJ&4?0aQzf+a3$sW1^`mE2hff)JOt|{I0asJDJ^-MSalZx)X$qxF_&F6_ym7~ zfC+IO>5j!CaQAMNezBPY|rXUaTKM-(rqI;Ena|Cd(VU0FwZo%KO>wt zgnubwE<{AXBnLPheNN&YGPtx{nV z|4k|X{>b~;-MxQLRN#_SK%3_?`%rmQup!EUS<9*xU7xkeVKF+}Y4baACo1hpW4#83;wXapyrtC#*+XHeC zK-L9VFCd5m;o z%(gbFx;G;@9<%H$YRuY392Z=)h89>S`eWwIL;k!v8M^nRvp)%D%iZEe(o1jmb3~H7 zl}sO24}Z+atE<}xa>|m*+!}K4&`T(Zyj-9l^j!IicM0{NrZkXh{0>MAY-QhlF|9f9X?4*I+pjkxJyjfd0V@_Dw3Cp&BPkl>Y%jQ-=>V3QC{wH5qMy3bviR^5~-eLNx;Wlyq zd=)!#55FDes?`5?Ip5r2d3mMw*R7_n2|rWbvFwy8T8VVw6?e=}aMKzu!ajyXucz(`T%aq3d^w_OKl z5M+gkNF}hj$_87&J?Cz~+lRNg1qv?26>*_7JK@)t_gG$v8ffwlRCU`#t`oK0_o^C6?6AFbG<-m^(wNrVvH&63NvyqIY}ZQJfx=X`AS)kq1UUJXl2*11NYBr#531Y`5g^zYbS)$*ypQ_r_Ab;^5hxL6n!1 zKUsmN{w2}xlVgB_FM;FPnAZ1`ydxO$``vlH`YQFT4=c_SHHvPOOofEw9*G#1sgXBZ z2i*N_;7K2L{g=Se%kua>c+sAMNCX%E5`po5h(M=@9GHTm>vNDZG`s=h(%fb-qm0xK zD`F0R=wxXjB2f|C+Bg3|gAiOEilyM{<``E1Bgoj-G!ykM*u_zfpN$Rlo4O~UXu~Hl z{N;EsS{e`DtE_V>@alxt&D6f0HIKnVDi+r)?z?nb8sZC^x^@5$T2b=L#fqlZW`d%B zWAJ}-VopEU4t#xpjwA|~#Wwfvk7Vck-@}uY=_qKz2esZ?HC=;ljX^F4!cGWRv zzY?-Nwq$mUJKpwQ>8=!nGL622x;H#j^K3STq%D~AYo^_yvp{JdYV^7>KgzSzV{yvNREWkOWp9)JP`}+TGzfS_@oOB>1P5IqaT=)->7&b zU;TAIkpe+~RyZ+;D%g=>ofb=<8BuA2%LLKz(M@nJePlg zMcm=+Q=z%7YUDgoF4wgio-<;DcIENpH#3Uq9t~Fgz4^an!wm*4#+#$~H<^vpcghE$ zQvg1KG+VkkrdA*3W$WGEhwp#x709fUrVUscEP;U?hA~200 zC#M(*FE=5NY-B-%f@i>2yg3R7+~zU_;#Srl$G95)O5czs`RVz(51v=D%S%x_zS8q!mqNA9oU8}Bg$lGPv>Evsh>Gs} z8!5CU7?3W=M|=L2ofkb4qee^!P?z2jNeS8F)N2nrSh*uoul2{7W@|CJqBSzVDHZSV znGr%N_=WkFUy71{*2>fVXo;=jY^9$LEHU%!rps(K4}w`EjwaO|4i6bChB~S9@}J81 z8{BG_VkCP{|B`d&A4O@==kMTD4J(otjY{y`TkNfNcUz^VOKG31$3sH$UzEcn^W58e zd_6phK#33Odlj!Xwmi8=j`D2wAtXWxg}zOn3Zr8Da98oqNsu>oR>0m_y|12r*x1}( zGEY4ipow3B@ee?pQVzYsrAb5v!=?|F~RVXO^7MNWPI5wU5F1TTVo@zCS6 zBQw?mMJL$ovUx96A(y+!Xdtu7@t(Wh2HR872XHlV%Z;c%{6Pp@qNSeVh@n=5MR-d8%e2cb?BQQK-@iY`j0jc>m+O^9A!B=g#LX}=tO-Wm-9nS}Q)HLv8tvkQi$hPPz}~xWc&hKBS0o6L zhVsI1yP1vf%UhZ%?Fc0QlL=)fJq0cjb-Hl@diAw{O4{{bYd*evaG6>CX7VZN*W{_K zkPeyu4>Ko7>ciTrzt)C8uX3s?;sf))xL#AJTj_vqeW!cmtiBxtvgY=dp-etmI$dBc z!!q7b;7Is~G~lKGlh0~J<_9%*K`ied$0yJwP|*t$D}rE8IQw7@AINB9xTX5fWH?}X zt;S}>3ax$LNVeH89%2EC1M7{SaS<1qzEF6vY@k`@3c9v*f_~=zvQlM|*E$7IFZTYb zM((ZAV3k|vvJ>jMD0oabGXI#$IU}ph&qeYi*5`gb?%t=f{tA;WlLiQMs%+0>=pS6# zXOsfrX4Y4#ry<5OCza9IgWOuBmXOUhYQB-48`G8e$|I^3{eUR|&vXrx&A4~OJMN#h zlm&LhOK^9L~}|;`aUJ$P9k5=$O5E zU983>WOh=M2P>RhNo!c5^7Ld8S&UN+d~mjWUVduWWx?Z|F-k|N8%=s_WnUooH#MKk z%pNcZc?LZ&~DdT(WPQOxL@1=%7`2G94 z!8OBImm=l$9|K`l0;73SK8=fOH!Xh}XumLCYziu}u03WYF@V7VifbeBc!{-PAi7#VJ~^}E>cLw_@zz+n`M1b99tbSCMTbQC{HCKjyCSSGZHUY> zbjWdm`VGdTTn$dq`;{hA2Zg`n)t{XM$Hucqe++uT)dgcjlgLMKpNl-zn!*or#NWjB z&`c$U@=wG&clsN#5=%85^QW<^AO?HP7}h;wp4{@B;sqv9Y-^7 zR^2?(OaZz3$Dz6(=}NR#)vA}5MwbI*OZ5r{CAVd$v-bW2qbJalyX;3;93|B5ZKXw* zg=3Z3x7zf6;1xU|vXTO`Y9KIkE*`5pe+qN#mZPsz%b0%i;_b8=xq`i_VjH&)q+BMV zIlLl3lCD$Q zEX*Az0c|@uUCo@D#sj?b)adslmX1kKx`k(+xO4||4XrJyxMP}%=lG6#RQxt?=Qzjs z&!8(AQGN!Er}Nn*{pXZfq;lE~{j7snin5LWLeI8CL;SMSiiE&ESxUd$6im}XZ(4&q zRrkmim%rh<%@cJWq)z8u`TTdmm(!1G3C+%9N@@R4eEFY;yg3Y#dl!_cqWx305&1QY zaJ1{MWO9egS3X=~nD6!@ni%;9d0XS@Aw`en->E~dEgMYkWD2i)h#&O;-u0yrSD|;W zLCL=N-?{-P{eM<=^c-BJgkFu4f#i`IC))y86VEGqB|UtBEMZFH<|;YQ(`ESs)ny%> zO)FGOU@xN1>V#QiW}J8CUyH9@funbwu3XNy8GZM!yY`+g9>QORjQ@BkdF*(4{*;m4 zeiiaEIW=;cBZgk$g!22UfB#WNnh-$Ryv6tX#vkFd=ljYPixD(fL{9ac%@eEoIfda_ zeDOu3XNI4saeab<@vZv{Z&uw*(UM?1wU1_COViIc`;hiKk%krz#LC6U_Gk+eL^>4T zmsaQg@@(W5ixIy_IsHe$3U0AGLsK~dfmnxRII~EPN+k4je4ASZ_;d2!Fl zBZr3`ZcCvajuwMLtZbqsL?1z4g^>OF3rYsQMGqIY4T}!bGWDos+0kU?L>rWoJ)!FC zYZtW=HwXBLlcn@gaG6}Tn(#&_NNm)H3W5%JUXiH1%26W^HpfgrTfo-7YOL?5kV!*A z`~^-rg`y-9T~?ZwJXC6{ip~SkhCGB^@*uAfcY(!Ay&QZOYd_}{;2xp9y5Di=^V*9s zG=%CKw^XmNReSNzQrr4`Ii(sJ`dLg3Y#4I>ndBDafk2PTdldfMD}z0Jjpy9=S1>Nf z%_&V{N@f^60ZpP}yQpvC|4LVKtP30J3P*ogWVZPmY$-$37{vG9+YinZ#OJ^Yrv7{FTN+_TLyO(OIM%2UHfoOg zIc;X0Qu&&{55H?HsEtg9b!M>32Dks@4fYaH^*K7!WZza~mEnZ|n3`V&k)P4x;ODDfyRA9(%zkKi{PI;gC0r za~uQ1_Wp=-Wft8dDWbJ&mszwV!E)}&-C=-@ZwpPZ`*cqrW;E?FIoQrXJ_xP00KNu2 zMoj}$-HNh+(27x%BR=TK(407i-!eBx;9YYp-67ECL@X|M4a`Pg$1(#F$`H)TTI%q< z?I;Bo0V-ii_HnNMua!DFTY@Bw37wSA?GJ??#hkC)xk=ZPVi2W5=yG6Ys@L^ab{+w~ z1Sh`lzLYN?c~4uWL2f61c;Gu9rPW~C)~WV{f0ZX+k|gw}TG0bb@>C1xR$IN$RGYh9 zXrjIzd8$>})32U34o(1(MU+ejGQt9D%4bTO$M=wo%c4v#P^H7BaAjJPeS7mXkL&2h z%ICnLI?~Ej1NDjpzpdd5+sxe}21@BwyvOKO(R%e*!XuB0nH7MOiovUa+ZT8*3Csh6 zY&xNi(Bt5foCXhiI#&@(_b8|?(-)X^&0BT#k%w_({wr+O7t)hnz9d!u^;n?>E9X17 z<0-f~;oOzx^lFpg4woUtm%Q}e>=vOZHm0EDm%#XjHWD9$Dm^1E= z>(i{>j7=+e+w`3m6F|E9_5e6MDzkr`7Q8OY5FMqJ+@w8lTF>`RWZelQt|OvY?%ejC z?Zip0Tr31a&c&(jI@@U8cq?$rXYrPzQ$@HhQsnDop`2_Ju!G%&HK=!y{bqu$g^Ik!MZY=qcWf5}gUcBH>oBfn2Ub#*2b zX*!{0q`|CKYb~YuiAm_;&ML`fUQJA>OkfAx{2qnFeHX|nCPHhrnkjlnEaF+%(R{i{ z2Pu53^CVw}tT+Ammn*Ev?o!@&bXF+8-v)Dsh+f!S>Z93>oj`ikZqMfKrLZH!9S=bD}GMQ5v@xyib5$ zZKlRZdy$p>`J<|oo!HQ8TQbLqFROa9rSu#z5_GYv!cfC9O5Grs|q;Je-o7$r0ZA#8_?uCu9_JcXskwI7xjVO)*nh+?xwiLyXtWU@!Q9I>=u~1>iB5`9 zkKAr-nwcjGvY6eaa#4RT{E4{8WPz9#W6lg5g6ASr{+KH-z{gD1Y_$}1xm_Gs98PbgSD(t(F`E0*^h?U#|a}f1Oc>B zvi=>Wr+?o78akc3o6zPeXr(3&{*J2!1DdpdK?+prGM<6{w?6ySDh%Avr{q$vAIj2- zR8YQCjV3}=2Kky)3zZNx<}2otavEj`u#`ct?fO-KbB|La@78L3`2XqMgyd&UfG64u z_}is$emy@7B232#+NEsmuFs`D6hqfWeg7%7LQvA~lJ4dBusAB>+kOtwp4b>kH@#{K z$nq5iCDwB5RJ{3md|h+*{nIL$m&E@~D`3*}yf4SAh9W&9{_p_gO?MbjIS-In- z*Mc`t+$Z^nDu657u4w;;kB7tm#U)xRqTvP66{g+yoMI2gvHU|FQ0v;T1PSEs zuuZEm+WfR>tv_GxEI(b!4#`bsmyxUFKemYC8d?ls{kQCWdlq^$Bj9`p`gDDxh1#$T z_w)!a5c4cVOKw*C&WfPBl|lbUexd=ZUZ|B=pDI!}6*uem{Re|D=f25nb77B(p)6}n z`!Z0_T|Hu7Fy@{LmkNnw!n+SB7vj*>&C(xAfYXlC2)XJ{ck}iRTRI5*)d4u)K>uKRKS%TQP`OZ1$*E`~vec zfp0ph_xauD%3JwPKYK@my8IuZnTGNK-~Tk^)u(xrHiiU+18S6frXdXbjdO4 z|2nr#9G;x>Wrr`O#JQf9JlO1!EQ~uuBZm6=ZsGicT4RH}@9!-PhS8Qc>&A+QC@sD# zy=EioR4FkK^)vwLs{S#oPoq*xI0F6C<5SuKyWU5-Udd-KZpQ)TOuGDVF?GYwaoD@+ zxoT1GuRpJ@=Z756?;$JFd(Ir%nsg^~cDmT|ifeB@aU)$!(wtFXKnS1NLd@u^Y%yvT zZ~jx7-HsuaW&q~%OwgJ2-wx?FQCiZbXe(c0r{$*iQ@z5nDV&Fq8#NDwd|I5a$t&P%)U3&H%SpJBB>@F3&?d3QLs8eM({2(&MsCNg@`` zOpoK57Z883U9Ns&Mdmid)^-G>fVl~sI@ab5d$n8TuFn@fevXBFZbb}S(EKRcJPlwb z)=Wbf%-*5kkHS-)g z%1e1(@L4c~jM#{IcKuj(_uVO?I0D(Ai4MFy|Hp4_Ltvr%`osTW?Jc0<+Lm?UKnOI1 zKts@=ja%^G+BhV*1q~hu?oNOPIs|toI0Oss?j8b!;K7~73I4B~eeXScpL_0o`;GUH z!C(`syoEA%JU&Ld~bB@1akTR$Xf+&I+ZHT%--R*@|q$57bY?V*nBU98=SLAZ|Ryroil)13?aP#(5vi#8UKR`b; zTamChQ9~JUU=a^+NO6z@K(ulF@kBUOO@kkWHo-V6DPJ)@YdfY0Tlml4AD&dqOQpnz z+kay}lb^9lD%N)*Laueb+wC^Z)-^*P5SC`e; z6l@=;Zz>cQdF)GbZV}40kZV2c(s}Ty{4v+g;1`^yaSltPpRzODt0Qr9ib9IzNqB6d zE1u?~lt!M)0BUsbV-UErj2?A7^@R*0Y26@JtuiWZ(Nc({?`qRkJ^D z3?x=GG)r{$@345)Hanjk_gMHWuv~~7DqWf#ac;VCOJ6O+!1>B1O^vq7ZMS}8_7_DK z!?$M6knU5v;0Ecl>$q{rZ~_1RM_1ZZ=_!4fM#?kt(II(Fr!m3DH&xgQRYSOSGnFn) z+>NKRvThV7-iKlH1NA%>!)eS4zWO-hzOU>83=jlP4@i5NeXgHi=^pIYxyBu@%L{sd zjh4yqr=$zQ%-zevGn(9XS;uu*9FqF@YfU`UlK`NEv%|Wn>x-RpTdSoJ#0G1 z$y4==UUQn734id*;^HPy_tg*7y~`gtB<&mBzC2_a9=51WeT>JqgpYXBL}7l<@|Ylq z7wn^hK2%lgg=@KR^@{VZ_~!loV%dtX*iXR$exa47PGAXt#ajVxpN4d$vbjW_*>VSTqg zA_UwSxr>S)x*Ut&ppA&9;!9htuO?9FcT_KTWK{pi*<7oS^i zrBojUFkQ?2GPos`MvX{M60r4bV0zB78(T6(XVU9qOR-1%sIvB}o0 z>eam>zqfX+JP-v;z7;X=W^oJo9=5$c`#ZC;@LnmHvHTXP52VSVs`H`4%N4Q0$`b@O z*S)NFL`CkJi_85(r{*u;MWi>S`!>GaU7h9#nzIv{e^}Tyz?A|Ao5!ie1)c{Vu-W_& zlOnT@{k1P*vJts+?Mz!qD`%c6l;Ybi`zytUYywFxM!xXThSzLF^ZOehG|1m&zs5V~ zWv*^mrDQjEo<1O;y*1I4$~-Un8CG(uz9g)wbD@!UERaIf>+qFM4C1#7*Fp%-aDWo3_{{CnD%fS21LHxvtf@ZQ7;U?2~ydvdsM&lLH z%s7w0r~4**j)E-%NcU*1lkj&k%MwPBFLdvclQ78+Njee$)+Pii{31fdUm3Y@EpFftiO5Vml zv6bD3%w{ey^H6A<2$n?tj9w|3vDnve7w?_nLpr|}L#L~)z!qA&MWInDFEP@`BS;hz zpC0et5FLu~yD=jSd*TS$(}!2bhuDKS#4`=*8Vr7ZVM#$!UW;_$EY}A%$oaejBZF#G zLd>rF-#Ym5P7Gc|?%VbhX^(e~Qn?G#h+dJszz{AIeBX{8b(xZyDI%z>t;%q8su#J{!al3%TvmJ22S&eU=p?gv_1tRow2K?nM5x5{vQe<# zew;<{u*-NoLZ5yt)CG0_i1&Hqr%Wow`iUn>&}824c%cSEmuCsr+~5GQSi*CCd3`^5 za2dI?-@a%e6()-qjxFb0*X+dSrf*3cCo}sS1@VW3$Zu$_7db=i%@y$2=vus7T?of+ z?&x1vn>L)xMOvi$C^k#hcy8t+rQeo-C|_kr?bQ86bFCMu8N>SGEwPsC_}#P(vWZXqHeOwCGAUyaeER zR~lNb?>Va^h3vdC4O$&*yao5K;dPN_(y0!)2s?dx(WMFVQ`R^;PlxI2E<9vXkojY# zjzq@kcuf=H`gfrRjc9*=jr$NB4NkH+c z@B%avOuIbRoV;$EB)p&5N_Bah{8FLtVqN{LZfTcvmmf0n>G+Z-w&?V*t*M;iI2M)R zBJ6G|gb#RD1(Q_i6N0+QDkOv7M>>D>SI385Kq)u0cMhAbc|DloK?KSMforLsHia+k zCy+eaBpJA)b0(m>sc4xi$faN>H9YY>Qv*31{xs?k#$}3UdOdGRvVE4X{C$tUreXWW zGt`S{Q|4kjb?MS_!O%uf2B4_bd)@3DRAv=ZM7&SHyzhHVLy~)hESN1#Gmhc8INtL? zGU#)P$+HUMKwk{Lq4C=n;Hin}@%`)Go&s5em5nL9DLyh2qaZt7Ue+>ZG`E{=^PzZz(B-rp3C-B0KSvI2j!b_)8p2`P zq9z$|X6w~FzIt8_Tu)y19D*B}Zqu=dxK%|it;49f`-}FTH=}?f#GvRnj>TuTlAsrv z(>JA`H*Pd>sKA#UBNi-Un`^vOPzEH}PM}LSHn6q5+J{4MQHZ1^K`l3W%kqxrJ9R#r zVD#y_#Y=6E+-Jq-WcTQS671h5q$kLxC<}8woaEsV!wXjq zrpxaL=I1l<+{C7Zz4sTRFe}u}wTIM2m=kNiO~?cq(eul`d4@DAO?7xE@aAh`#^Q0g z-4b2@)~q>PAc$-0_+5LKP~;E#og;vx+w^j9X+8ItC1SThGu+BC{8`dytgf(FSX>N} zvWe4@#mKv9HV8`dG}R>k~ErgwfvS z)08mk=w7`mdiYp;A)2biBAS;U(v6?U9BG=UA67ET&x6pi$hrayg=ZNOVe^kC6facB zPKaA()1iEU{zmC^-Y;H#FIy_~%fEIW2(Vj_WiG_T#H8?8>G^UN5OM?1vCfQC*<52; ze&th{AqkK6Wq?S=58|7RkHs$dRPTOW2?im};F(}{1qnhLQJ%Ps9sMv@>lgGy*w1MB$1;wFg~4a`+64` zo>&~T6?jEu>F@;_s6VCxxhGDJ=YQGrS|9MvS|6DArl3^fMv%|Vxk$ed>T_5o!x|4i z{}ypE1y?Z~pqRrIJ&0m!iCw6b8;!!XiAxpKr`Nz;d|oJea2+XfNA=-TPdN|dTm`6C zXjtEPuZ%h7O-5!6Kwdd*SL*s#=&J3O!-W z|H?hsl@MrLBSSLlxXA}i05!RvWSbZ3IG7XMQ?&E=gGwg7;Q9M1zLz=p6Uw^51KXSLl zsZVU_0Se7i`d6{SUKd6uGy^vYSZ+%6Gwi*OvwaLaHTnQ3(^UfHr;!h%EijbvejsbO z@D|BEza!P_!%D}Z_e+SRIUn0b)nf(`a-o+1Id5)-yW%TqbJMM2DyuZ*=oe9c*n};w zF1KbaN$rUW2e+~?U7WJ2 zbZ8}!X8{N_7X=Xfo%F(bG!r2UF11@rk{bogzWEy3>4)ZvJIc+L-98SpV6O+w+4xXB z*P>9?`Q{Jr(!x0p^$e<5E0%h>i7t+HB5k6EeHm|fu90qkk}v~>Bp4MJdkr1Px-4~b zUfSnv*r?21mug8Gx5k8WLom4euiH7q?%FQnk`a$wWsYqULbmEjDo{4CA##)+Y_X9g zA=d}Cjz+>7KA=}}{9@VM-YnfhW#XxU7HuF{ZMR?c%)Hvtqz5&+p(f`+n#DfN<1sF8 zwmAgqNxiBkV)?;{FQpgDz@sSkr%Y5Rn%74Q8(O07C8N@!@j#ND+FH^qlm& z<&wB37TNL|zr(LDH^o-%SszXZ;%V&)0bYI5G z?-7~Dt9=v#9xov%*-D?9*S^885eb2Qwr-U*K>FMAS}(g)P1KCJ-sLEJEfl14k9Z}h zm({f$OK&>J%r=;kJdw9Tn>hHSyp{11T*b;TGUQ=C_11tnCB|`I6}iNY@g84gtDgDe2il9Gg{F?CAt)RgO? zM?)MLn%3X5cY-DPI^plNsX{`v{o!DXG9GH^uRiJrFPuFtL{FQCkBH*f6{Yn?W&>&Y zj`I|>21{m60x%)=%ItK(NGX;-x7J;7d+8GO(%v?Es!O^5f)byT3nlUWdc6Aaz|Gk; z9Io8De>p(f91u-|YSj{B`H~zP3Ud027rc|{E248wOwMFf;%0GCW}D>bGkpF)i5nG? ze-sRaeP<5)wF}=MwUG4f?sb zIp%wIs3gn&07lQ_^Z@grGg$m>27EDq(v}GukT_#!JHHsJ9 z(iPImHlnfR$+hs~(l%MpE~|+FNTH=N8qvjpk&EkW^cdK!p#d^G1f@-&jBSCe11<=j zY=7W7pA79Ft@PEALi!ybc5aO@Tqg>=88?gjAIq}mmjYy5CZDU=)9<-U z3}rqH>Yz*^KU@dMvgi-vtmue@T-Ab`*as)j5%q3y;$@el9ReplpH5b;Dwl*4nF1r2 zb-AZrqdYvJD7@Ap2{w|F<`I&)r5tWLx_ZaHOT#YiMW=^?na*39A5Em%`3p6hp6J6= z$?I1&a~iAjvT6lm31-a58R%g>D_W__iI$!s0E$8g$F07$X0k|M!onfn0CiU&(9nj- zATs6cU_nJQ`K#5*@YLGDq@$&J{O6_FlxNDLXs3icvr4h88LY+Aw)Q8Kv;8CK0L^&G5_7kYonwxda$72(5NXd{L}j&NoEO zRuY=+Ye8Ta+BGU^(8#G_M%W1+a%Da_uY+>CbR5A14e^=dV&}pxSQf{-WPH~pslKut zJ_)q=U5I>|P04naoJaOyRdS6+?Lh?3l~!#2P_1Zes029r2p2zE#c=n1m88%8yR3rX zcpV7J;L&QMIREdUH^s{g59A0*WFV1!tEkRgbsKpx`!tfyQ?mCg45YE)5?*Sfbj4*p z8c*96e6E@PWr#aj^0@hB85Mw6z%j~h3dOQA(ETAgE3y+;zZ5mf=`yxsrv!v+iANRw zsFAbLKXoS?w+9Hc6+ zSrV;LBF)W=IkIqNj%kZ_gknU~yV86VoOqda6xaZ})fpj`2htBt9i_HDytQALL@XZA^?GMFdb_^$e#b*fx*x>W8J z_y1vJSYn<+e|iRrq4n+)7RmPL{4C+O{ZTK~tC*DSConOT%2WXx$2PvOp^Ba6eLsV} zg|?)P0kOy2O4Y8gs=0m=-bz5^o4PM7IEz^}CqvOZgrAe0HY3VvPvyB|=OBqJM)K1* zN8cH`AXA^|EFXDirRyDZm(Ldeb_y>_9PC#W>Re2Qxpg&ryXNWP`O*PvxIbyRo5B3n zo=qr^ihIjflM7d`g=p~1^A!7Wdi^#_{u4d0$Vz}JM=@IWq%HzXNHt1$paRDqHDbe>$#n(LJbN*4U zf7RSyR91VRqFamuV6gQOI;72Npwx4i!gjI5tIj`jP>QUnex^_KHfi{tr9yOEAICgj zeMIN@$HfT>a;!4CPg0=WHp9ENOkyU51nmqU_>-p)ABD)r;#K@S^Xfwn<8{m10j7rQ zEW)Xc&A6`+U9r7SdvB(azMPN*pjeO(O=>IGeAZa|roe{tOFf8O+>$Wuoq%c3<`Z2R5%v)+#d)ckY17S`0AEs=ubLQAN@CVbcVEM3OfKg*-ma{3j} z3_LdJ#na)Aq$<4`RdE?)lbALvQfEvNj&_4W`wq%+WX>*1G*oDQ2&+CwDArhztE2E| zf3%6}C$T$9YT~t-CInlbQ(m&DYL3-Jk`OrzoTxW1rlarD;87URQP6UIuCNS!M26k# z2~3eG_MxN+7*`SG-%r}oxb(Z=uNbGRT8jErARt%IsBQ=0?p&jQ5r_=;06cUA{7lHgDG`FP;vYK1)g(I`eK3sF|0=_9Wg3 ze9Ky(c)PEMmhX>$9CmN@xkR^3&I0?mnNYDA_5=`pJoR46i;L}pgm7a0OpW62gK3$_ z2FK(+U+UV~Rp|AquBT2+fd)sTPQ@>aV#EVG=4uhn!brO|oSmmL1r%`w8TGt{OnhVP z$}{=ReVZCM==RSEpQ|#+vimU5nc_&c3B%EkOP?+OR7$C5$X&2K^lf0RTTMK;b&%_^iR0aGcr9r<*|)^c3t{q>%!?k0@W#4Bv_tkdgVX5;kn z#z?6U8=+(P%&F(gKA_T?$9B<*)p274$$ozNiYzeR06}g+eP&UH3%WgZ`qC)`pgeL8 ze#4@ky(lThrnW}G912SJZ_A$9Hk|&FG>=g5Z*^hf&1eX1i zAZHQxdRT!1SJ1IlsE}_>k-Kn8w;B({(C#?*JOJh@EZu)iF?6UH7~%uMIU(MEQWB{0 zqC4J|v&C)Kgt54&u7CR=T*-T>L4w98$1;oS)vpx3Bi#!(+4e_ z>K|OHvvLg%{s{J;eb^u_-L-qRykiE2?`dSiRZQAk2|DU$!)#&i&ZBViq42P`Z}QYd z(>yYl7X#32Q{!1hOADff*jjdASE~y}u>g!jcew1rND=b#(y5QtQW*iYsJKmkhS+?B zW+rpi!8s3Hsk5GNl*C?X<+bf%T|H_DGdACqrZsy~ySf1rZ zRtS@_Zyf{eEeF2+EP|Hgnq2BuIxK@m_sMuoS(V{M#te4c@5=dgK>Jew+FwW} z#jm8G0vFnyy?AZ->SKR*TKm@sdDT{x_NU&>>6-&oUlNtcZn-=i);aI}+XE-Z;7WXV>R%q6O8{Vg_FMW?L;kCQMj%kxt zWcE=FR)eO*vnRDQb1l`b#c5i(@G8SvwF4 zYn9bgB1`ssBpH%m>U8AZ&e<(X09Y*qQ}IgGUuUReX*sS7DxrJ24iukR_47~p;oC4R zeaiY>`o^f5WgPP=a&Li}nxbCj17$PyJlzcCQ?`CifZCz!_24QeYT3<8A98OMg6I0{ z&e`-IKv|ODAdL0I*uKbteI^tDSDMoKQ1l&+sM)@zG;--IosV+Q7!ItAu^GSXokK3V zG`?#bnv6ey+l(kFMOsih@pTZG=zRchxjg=mB}&EwfZ-m@8=OcZ zFRVl>%;o?AG0yf;j;QIfeT{?GW+qri5&+wXMmbjmM<+eL*r1QmT062n7M?w4v~b5SiiBfm2n~$N@M8lAXaoUU=$# zl*3>#W!ZXIlIO)9)4k8_CFSZb`?GGYs%d?tesvetJ-kubrBM<9qY`+>&(#OB@q6>W zwwx2gYcIMfJ-dT92k6NzRo~C2CqJHT>@OYz?tCDuVQ=#vp;zMAF=2y@y^n zoWq$oDPU>${#JQWC2)b5!|2Tgj|*Gp7ol&k&BHLnM*lanVj*6RCA7Bk*KF)RCk+gQ zd6ggg8MZ7Qf!~!!qIEebEUeM{ zTKJL4AVflDdrDlbYCjNPLWG3YD{gC&`En|M02v*#fnAE$qyc@yyvR&yFxWUc%&Mj-1WUs$C2b4!W>*AM3gJoO}ZWaeU?# zeCEW#xJ=74ZEreo3v42U{&2w02h!ONf7her8V6POlkilI(p4&^@QT1dtyN)fmNY%^vcSY_Ybz9XV$w3 zBY{-kw$`)q>*?Dvge1Q5)W!m3ym7>GZP>@Rxm4QRP0bwUu|h-XK|5nltk~B&b(V#V zAf0PHPoCx+|A2zx*4;g|mQH?c$g*~z4|U5;1XN0$*vbLENC1hxy3%a5ExGeP>OT8& z-!_+p>Eu?qFf}6g{C73QPczf~o^ickx3l?%$7XkI3L`z@C$$z=pW@L)f8sr)$_W@O zdK|NWoutzWXe7$c9+!RHke2hqG$PSu-PdgnTv*TLpcJe4Oey6DGKw(}Bc#D(fqk^s zt;ZLiShmLv!!dp?N}5)z&9cK2jL!AvZr8-oVtYl0`*fAWgm=^L*T zD*l`G+g9o$4w~CR)X0fn!iy?%Q)yF1fqWKPm^-4BaPrMC z{vai?v=b7W_*T8*Hljz78=g2HKnb&_5-Y5rC&S4uIL2MNjY##Gp%7SBQ(FrAavPQ` zI=HHIFDOO$PRJS-wMN7~zIf8I6XsNJzK@!mi~826nV8k+!6SpH-S0))mTyD-4-Mm^ zO&L}{zSF6T3TBcN_$I!dj1!n|Fu?8jzHX}ZHrUBcjq{R=amg!M^xj?esRMc3rTwomFi(@NuYtK@7LMplgFueBFH_G`$RPtso*+pb%>=A%M-fVyu~ubS`e8w2qd>)zZ^}n~6nJ5^OEy8$mwt-w8phoYvd{ZlhYnu;Cw$fl8=mflQ z&x%6rRfQlqs2Kk`H#%3XWXs+{udMXzaoc|&T<-(xhMc|^RGzK^DOmJ z)q#eL5or6fMSHJ>+uW08-f6S$%iyzJ*(&oy6!ft@&lTUfylnGV>f_m1OxTlIF~Sc- zT!J~@)?YCd={HH^<~(Vh-n={g*d8^=yqsQ=iS61Aa#AKCZy$k^M7Lg4C=to7kmbi( z3c=0tE4CisXZ7sPC4wT zI!8BYHY1(MKA8$+NjzP?RyT2iSas>ZM|+5gg7t;gz<}?mqBmA*N1oh8`PL!{(8we0@qJ0cQ%If2%vM!@w-3A6X*^4fXE;V%7rxGI(Yf*dp4IYbSsVz}#5Qvs zl?GerWC%4#_%chX5t7R0ZVur{GauC_%0Be|YW_QcX!gL537vwa|K+}{dw4IeIRM~{ zNuxgbd8C+jIK{2>&>)>H#w~U9o$p0wN5|;G2OMrSuZ1@hK!n95ojs_6X?8OIE0PZw zz!LFP4d5s8M)!vAdSMhhjFrExg6!43Q#P{vMIEzgR=D%ShPZ8U;`~loM(-g!%v^-) zl?*Aom&g7KF%qw`d~*h2ERrOIm!W{#W2%Zn{oDQ~dThP`78!KC>v&QGp)6hRO92NQ zyxt!(PNr^YxRjzhgrEH|gR9}VZv|<^PCxQH5%OgxTBx_hE5Zj&q?Nu7;YcAZA;&Yt zV|!ZcoPjBzrY%Mj1TFpP(tt@QdsY7Uxo%^e-oge3JyX~vR-Y$`68zeH_?KM(73Q|h z8TX66+#&d;*H4FanvPc1Q-^KF#c}sua?MRQpoX;4cxva` z$|JEzMAW-!$!mIlut5#UVnSJES#_{(H0Xu8`p9?1nE@Y@B-8`G#X9x2wB$WE8`iVt z=A+P`TK+v>M}18lC5O`0lxfDv7X{N^uQI*&$hANLzS(TS zk#1Ez0C%8}UfI=l+mi{U$idw6#g9Gp?FvKaEXui15z8ZGje&GgneMr6-ClkQ>p1;)-g8Xk;j+u8iy;OvhU(lP8fTaw4#d$kHccMjihbj|J=@Si z9bg|sz&NjDK6@8_f9}@&K;SFq5d~3`R+(PM(N8qQ`+De4B!}zs^h%u%l*34SvK)Af zdi}((fmGgdQbAuma3d)y*GnpPZSev@p`SKt(i;Y-ah3zUHO1lnjRH z@})H*V;F9uRLjE}@uC>oHJ~o`an~onOYa9TUuvo^8|~Cy*5FuuFZ_(DfFUn(rYIwb z_?gvJX@@YZT&bHvhP-qfAb`HSbIor;7t*1|MaPtC2VDrNZBVuI7;Ok-CSSh&dd^Uq zv9QV9#p3S2bli6im&~JkT8$V_5b(l+W~*i3&3r}yX9%os`D{b* z`4wJS$z)mJ5gtq$OlUpVO0CfsKijyq55enbB3NPv2i+7&Zn39*q%%u!1@JNN43sr| z{0I}XdoTp|EkH9^g?3HxZKZN`h{IDL9-<$(i+nM-Of3Vg)o6brJtg&#z*SrPFp>O1 zi+kFd2Lf6JjNdL>v zOV$FQSC_z2aXo#`zTMHPhsF7|SRrx;wD14j7+PNLV!Y??CuVEnRX^}Px1|7;Z>8u8P(JoE}R zOH4jvhB%sSmKw~x#j_Qm-;~pOu8ca1RPXCR25qnMLM%oh#LAsw$Zx0W5%P&l+try$ zMXno~XRN_a*mN&k6UBf0azR{rDBk`7!N^I=dHVyvg5 zrnQ^NXg5r(8VXNR4+#1%gkN{s`z7F%){jjxWzaI0GJ(uLgTTP=s^At*=EAwRRUm_< zE7aHJCiihJqOi!lWK9_;L{cYu!&jEl1*H;51r^dM5oJSz5*2F1jK)_q9LK2H1fwZ| z-txwh00GW>%4~!nn|#+ts{&8aWI5Ri4UY%=_G*Yp{fhY%VBk|IVB4!ZFR%KnZ_5=v zN8j)V1Fy|z%7oge;#oDIWtJ1r!8q3K1H_Mt)noDdvH7L6KM2xfDUk7?x!7(8@&9~W z#!^4W(YypzE|o<{2}<;8q`xz6G6SuEU7EL71zUfEqn@u%KDdpN9pL8yt*tCo(}@8? zdAfP`A6`AB4@ep0!0FTORQ~6g1&*=&^*o&V*L|4e22wUHn5fY1_*hR+ZK89omCWF) z0KKO~8meXhN(^n(It;8N>>GJnpQBd!CT8f1`v8;2aYNnu*JTr?wZOqrX$q&Jw_v8v z)j(bI=&;HFe)Rfxzq@sJkLwoy*9Y|;?KDw1==0y!J&W{;ykkChL_tY3l9=yBd~|{% z(-;KZ_BjZhGX61SN;2SXqp`j=DEt#o1c&$oU9S{?9iPy}&$ILhGp^QDYK6qo`c096?vuSHS?j5RJf9lqs zg5Zp>c?MV?$Mr86uhYd6o}IMo6n$(VCb4U z4#aAzkSb8rSK|421r^^TL`F;I+JjQ3nnP@KQ%qzV9iBw#@Es2fis5JELe7#vaffsS zg{TqhhR`3PE`S42CZ)GK)&2ASz!Jzc@AN76=W0|HHPttblbo-HiHZ5GVo1h0UTT)f zqy3hPht3Bv{~;IO{DENur@GAg^#4ovf7cO+f&J4ODivY{ndKW$9|b1#?M4c}i|h}` z^6Nhe^s`8k0508?hM@^V>BQ{^VkcjTc&*;6mut$6Eguo$L$FnG)vTH>6xk)^FN_=D@$|S z*n7>N+l}3%ej4&zw{9p@qj-IuzrW@87k+;S+5h(r4Fi8rK;w0@X~Rw9OFnJ9IGXuC*504?)&KqsWzN%2VBlh5zTuU={}cx? zoGtjFy8fTbNQNLvC%cgO9Ifx?ZYFouS=sfGL{8|{CB zL6BiMm3O>Adx0q0h8aYbq0%H#d202<{g{0xRW(CIJHJ4lI-11)f}>iqzUrcRyD%NAD#Wevc?G7n3ek7utxJm&kW z!v6E6|K-?0_B|AY0a-b$G>ez}(?oM}_~T9;D+G?3<;nJVJGjKjxMs!~_U%WJ6=Rw8 zdje@$h|*(bDP%d2>1&82ke@Z3Jj9ND@WHu*k`@R_K;bcBrbBd&2We~SQ~*SSs#{+; z9-J*m4SkzX=j^2nAkuRE9OeJsG>RcR$o+Ab$DL+*f4R#S{>Oy)F^$uS3CMZJ-8~NE zqQB}&ZafpMGulMEz9$0n=w+qNfeWIFG7AEKI?PPWOgNve#YD#4#s)!9pOB#u!x)HR zTrN~lQ^M_qs*ku(=ZNaUm+5wcbyaJZgiE87ef@#de<;QO)BpZwC=4(_F}%~;7Lxy` z-UUMC)XGJ2I7I+nK23{TE4b{c$i%{QeJ#DxXtWhmUkL-kdAe=1F56BUl@|ntV{kZX zw@K0lY62~QpMW5}Xn0`sOTama2IFLJlF5T`#QDYLLtiG{C)i>S2uKIo+wqP5rS|DR zSM7g4+0BN80bzi_mx>c#(En*T{d*`(2CCYu&H1@_EU~;2>i+5p-FG=2-1Ykxip`Y#)$nlDI0XjsJbnLuHIfYC`e z9Gw0L3b&u5*YY*j7WLdS^;j*vdxlf+FY@<4z64LB5GJ`Cib=(y3Jf5%L#9jW-O3l74O z^KiX9y1PD%HgQzj6gi&u4^+{M035sj@z(#8G6z0GoY>wsy&j_(Uu7|m(fh@`iYN2+ zUajnZaskA9wOtAZd%YR|m!ICITmB~j`Ag~tIPX6U{bW_s({i!>(>y8_rp$XL@3U1usb9fr1kb0JDz^)6D~|wv zfR)4TQ>5t57FAF*)P6n;W`q;l zziw_Vj^y2E|7DiARvjnlj4Rew%*4vC+sj#h^$lc^dx|#_L&F~{^eA8`lzCg8kU5>7 z^3ODGy|=zyXPc?nknL|YTf@hLnyyuKHAah30jmyITfIn6T>8mw0Sq%*cuVw>1&jmD zfq5eXc{2V=x$*-YP}a10`t~*u!1^vop71L5zFz=sgqrq$c?y4et6vqRGKMIC3eMtU zdGh8jDw5IvTg_wH%a0gx4X8mhZg>5Ara4j$S8J~?oh~6W=ey!Ft$S~(Q!NT_fEzBH z=opL=lLgE@(OZFqABq{*n}MS--5{_(<~ia$7%Bx5L-}CM%h= zsXLH^Rj8u&_PKTu(~G~9d;MN$Q1JZi#U90oUR|1?FEBL-Axs=#4LUY0lMr%OH9d-` z;`BWuPOe?H-Vop;fAS~a;{m#<5pvJxH2OR%{3z8IV~HzMC)ZHp`wf#yT`AumHCOOG z1Hw!kN^8Ku`yu%&6@`-ycnl>c$Md4(af-Y(RS9&rmjf27W`~=rkU;x2EL%zV-ijn_ z%R#0fm&ELtc9mW+etPkSJ(hwNJM!;}(SH}Ll|->~(wSWC^^@E}Txq;g_Y6FiR4t5z zh?mPgrekvazc$e?-|ag1gN&E*O&qV(H*l5JKsasFJnu4U04ILgp%u;dw2`~HFrqJ| zTPiRfyb{Z%E(wxAk5-Th?9aNp*jZHZoX@C%fffApX)lBht*IzS|I2gx?>6B7c*fKn zd8X1L_9S%8@otk}v|w#8QKE8lc*7k-6oC8O_}ql033y6J+@954`N@A_;i3oZ*U8L! zg&7?nHSTF6-}2=9+waPMhg*feqY^wJ4~2u}LD5lwSLNo4$c2H)&OW~sU8r!1oOikx zHQOu`PQKIjc>gcz@Biv$aw4EJk}u|u`#A}LhYU>{Ypi+KA0=)Vq|Lkng0v>Rm4pGl zxJKcp-=2uqy^rRz$tL!-+GHCkgox76;L>;V+OCzO|KrsBFCQ@F07h?G@pQB+To*Wk z@w)(A$#DR>egJ)+S`#m`LxR3Pij9u%qsAeH#cY9$%y!-#y_|qV3_kkf757`}$Tpf2 zLe?iPrh1Bh*RcHCDRPi_4~5tBYm~etpaHu;kIR9zC9^9Eck0 z9s0@k5C?Lgx)QP|Y>S~|w>cKpmg#+^0hAqNn}Qr){AHp2FT?(~Z*`*q4`F3hs3HN_ zMM|PfKcJF0^|_Fub+(TOS31uiDo>}UzBLu#iits%LA1EjXvUI6ZCo=~GQ{Xq0n8z< z|NA2P`)5`@0HSc@T&q1@@)DQ{(3tPS?2EN2t&A8zE>Tc$YQKoz*A`?`$t6KQ@ENu_ zZQ5S8`L#S}_R}SS@SFclPw!vN;U9|F{}&}NT<j9<;LVC(Qcf*`%f} zEr_)8t8;Q_z|jgbVqjF?EBjM#$-jMqfA=Jq;`db|Pr7wtfFU#1qh|PAAvG)q7vpR~ zhWaU6Q@AAz{C0EjzOK;y-Jkrc95{sK4ta@Y4e z-+S$`yWr2cTx@xz%=b6V*8eb(F9CNS{?bFoLpeDL7+Vovkp{C?oD9VQ?JHKxC`M|D zo8uwQ?dy($N{5s0>dGtm|33~;MDL-#pdtOm;>4@bp~SK0uVmhTeY~=LQL##I+TL!& zX+F=}c$M}SkKliHxc}|)h!V^Hy)^ShdxY9wLV=AKAn-r7GlKWehUq*w&Tn@^>V5O+a{GVOD8Gg z@77iX5Qy{O`?i9yUn;?ozvO>!(B2LF5mo%Z9p8U`-jwmTP6T3^f#D{=QTNuGzH(`$ z^MQM*-cpuJ*!fSTided_xFdk7Spb9b25C_B@2~U!{>haDKvW#OcC?RJq=DfQWgcb+ zJ(jyZFU{SbdY)?)kKy044b(iVPxly<`CV80PHc#p?o{)0uFt)$yl)rRXZqXT%D-JE zQF*{#KRQoI6k8O3WJ!>^wzApT3g=W;%D`g>sF&R0Gg<+EV!*TBKVLjK^jm zIfc>*N{?fw!f(6So1riE)ukUwxM%&CSP}(*(RTv)|DP5u67C_O{$OZ$tW^G(Ku`gW z>8L87z(6ooS_PO^7}X2kr)7$^t%-_eezwe3Ug?j{aXj4u*i;U` z?9E*y?#8iN$XzaB{)O@35u(4PS+YQTubXp8G4o zBG;byQB4x{1?a?oHxY_NW#e8Ux? zTtr%f>GiRp*`?O1*;w!yBg^>x2m|aelTm@@PY(RQ*M$G;2jCLO#8Lncyc_xUjiO;g z;lxM`wVSO{Oo38*TxJMnOu3=^cPC*25n;cgIA!EeuPs z2FP?ML*MrHZIsi3*-*k(H_)2xAmsJ&Hd$RiQ0jA$S(k~NhNbN zYTJw;||ZYeIZV492Vp8dJUHjZKQjcT*~(W9ej3O~tf zt|qC}hgcCS`cxu7=csHlQ6_?5IVJ58`T+10rj@|oosIvPx(y|NC>kWfd+kWu2dG$W zHsuX6)e5ri^Yq$(igvc0>dSu{U(6P%Rn}M{IX$c_j?k|iYnRob2F{TC)n=AOnYCIl?!TrX-rw@Chl{jpB=2ayrt^R5^vd0V#N>tWNy%Qe>Ct z2a?)3P8Wmdd#1{b(BT}Vo<}k7NAhy|@-p{-USIXDS~x%F=+NxT#A`Bi^!WUICMaj~ z8FP2FT&(_(XNC}|@lwvL0Gj$J6rvbP3CFPem8yE%-H~r6v`BEE8LaoIUa8B= zbnc2@mED`!3bkP;qPI-=-(+2r_}Vl+Ch^~n;rcl0tDBF^Y-qp93d&KbGB5fTm+2?J z9~0fY)i%hppFMR&(!B) zgy99=KAgRD*ha_Z2VH`}yY#nTei(BYtxXrbA3!|yWt}LmH(Hh=3=ewt9JeYInXczH z#-*&uqEEZpZ0HwI31G5PmlN7lAR2p3(`0>PG0A&0qHEWksg|GnZpx#wN2RaVKua$* zg|neAh?zCr<;rRCp0DMpobgF_^8ErC&F=eW)_AZ&aXq!C|23C?>wx_pgvSYT5JQMm z7!^EJ)Be5K^lI;(;Roz;7(0)DydP2Xp%A$%{B?NbyX_GF1mAk`a%;rIbYL8ucJg4#_kXT!@AyP_}Bl~o-JXa{6{Lg&^j^Ysp%gYV{S zNkzkdar!J|>0bQU=#HHbq|bdUMK4FW(n^iRG~QP4yC`EQIboLYN}moAsAlNLoASKQ z+kqe7T`quaVEmKi1mE2@Vb1!qcX@8t3ZN@>=wDY)knEOFLb&h#8B^U?S;P$ZodnpLND!&a9~Ko zKJ#s&m4|Q0+T|cEEUj??gN`F=r5e4BGbEV3^<6Y<;`@_){QF;Z+FqfGgOB6%qf*w& z))+*~qJ`~MjN5{@K1n61m~HTLA32;XF^rlHhtHjk}CV0i` zcBBSZC4bzxh@@*v8Y!PnqCcUCwuo;#xhT?Q^a4hE8Ye&{l;(U1Xr*EuuP}|ne1m)Q zknNQu%glVgOFNBwJLV3bKIgeZ(L369ZF;qtLv|gOzBI0yjk~*3F~=MBiV9N!@`B(f zKNLK_kQ<$yARIWgb8#XxwAXhcOfsV}?8JljzJS-#hRVG@zUT4WMsA_5&=;X@n3Y`p zo4YT!YZ#4M`}0aSgacZ=xR6?Wx^!sI-V^`+)$5jPH4=qo-Ia^4zOJ1lK;mqxoDa9# zK02OsQHg$kY}S*sI~g5es1muR4?Vv1CDr|o$;+nlBP0LrV`P!x=uG>DV{gxu38EtR zij~R;*=zhXTGrq0aLgCpVxOv0lg@0ylYCOYzdgN436gv5P{|L|0OX|f<6P`#xTteR*v8GJTUEqg|j1X>zKCr2H>N5C+bJe6F#76?CRj9*pe!P`(ON!b{^I+Te@U;t8}`}6{A zN7B|WNxv4i{HhmKoBCbY8?Nt0y~+=!@Hx#$%ybe)P!1PAN@P(0e1E2TXT%-0yHoEX z)fK5jXYiV?{|yd3fO`CDPq6_ZGNIFTby32)#p`9BYw{|r?C}yanqF^I@6_+KEUUx9etI%O6;zIDrd92Q=>|rhn zwzXImtE5}vzkY1;Db4&_rex4gSBRvMcpEQf{FW`kOWJM7r^~GY-NiAFQr7_uKDE<9 z<#J37pHglKJgwjLt#7r0IyNHdP8~VVJSP_+*b>G+R za80hBOG;+DWIN&H&gZ$Rxfly(jubXd0>><;6vqhMyC%~0j+M4YH`{g5erZ3xEhR{` za)jAQV7XUfDv}_geU#;So#FUQZtbVDdHY#n-a!*yw^MoGUM zlu#FnOPAPoySk#Q2Qt#CR>9=J74`j0xRrzHdFoXpbd6+VlyRhH;AJ9}Xc$55nN#`; zw6D;6ABfY^U>GBGpF`~J^7$7%Q6nzece(I-Pg<%lZ{(gY0n#Vt3$ecT_%RkB`^f~M z95lrv_8D6qBXUs{B_BqJN_TABo8OT;hquIP3oP~LMXzc_a(_<_kz*V3Ko#>g$G_im zDScYU76B#+5WBF?nCqy_F@*R8xXF=*_ z)n=Bk>{=N=vf03dUxKYwJA}HKDdflA@_U+My~sf<|G{-WBV$^1h*&>cFh};?TYHih zh?ot;g(rP015Wk>evK|E@$6=DNqvUBb$xm~b2%Cx48EwOdb|&>i&lA}2uZ&Ukrh5g z3<1FK(;*91qiEvxeD?eqnFyfAJKDFt(W_~36ItkNifymRaq|z3Si@B&B2wM>DEQ_A zx2k@h!wXxh1f{Vne37BNJge_gN@y5lW3_mqbZ=@E)@aon0K>i6D8I|?nY@;H z-?AsEq{bJLz)Lk=qa8rPzl-P^i+L=#vh8A+S1~AA!S6U8xzS4yk=?_1+wUn4gYa8j zmb%A8n(1N|R*NUua_>lBYo*F`wbm*_k$x|tgrx0_SB)dBkEhn3Ds^r|mE=p_=LFO@EUy9T_$V|&VId<3i(4<5tQhOK>q-gsYSJ|_~y4Efz`Rskt z`{wRl7fahr)U)Q^0WGw+%APGJt7{8bu7+noveG;j0zFQ8KlHm6pG4_WtBsh}s_Y$I zSPN;BTZt;L4BF`^u5SL39

zgbcBkr{Pq)q72(xXm6W(Z^RqdV6xBSVCJ7vPy$hA zIA%~Skb=UqKzm#dDKQKbuAA6 zh_kwR)aT%BezxMR17ZfDBIG_0|0oyzQ-+ZiF+$Y7kjpGJ<~k}LLqs-0R?ijJ-rv{v zlGIB@fYUxId5$wxQmvrx8$nn#%Y~$qdzlU0KQ0 z`hJ<>l&aJ3<}Grb8b7J)gRnh+;l!7Xr*THneQa%j3En29bTqH={Bd=tHKd+dN}qv& z@FF2LKyiHPOnUbccYmHT1BZZX@5y&3HQ6=uH;=Gx)6IjM2Ql9w?cV%}v_yKFn0XVgXlkMm<&8N z`t~MQ8D^7TztwYt@S=#-*!IWaS)UN)X)K~{vXH-iJmu|GIu{O|I0!>>wW5igsiTO2hTl1J&c~o+_%>^L0KD(Y;%RuJ&Yu4 zFR!wnb~4&2)XYQ8Gy;7k(lDQ_a@?wN{4oXFm<~RB@o1_%E+wKR)|xPp(pBao(ztvp ziMXU%=}=&Derr3+$SW9^lv76cXy(@jb zMpyBvQ8EG}HH3t&H@sZ#XI?~!B;kqN6hZKxGL4q&bk-ld9o1z{i<@l%$2t#&vJF|v z5rt}X5;6`cX%Rnme$%Ijl|20BpPThn&>o4zB6%_%6$r5H@|cCc1k(FLtBtea;xXgbDhQ&qUsKG zp)SNQMX~nADd|y#W*R3Bb+9Kk%Y~(bdF#S<+H><=xB8~D^oZLMVaT^5I#Y*TE&_o> z1%+DaOlWK-jCDFf(6DJpzvWY6NysFeKU%ZLwPD(oxRq14rWGX4-d4c%p)w)fT)LDc zdJbZPZVj!QgF0?jo8&c26&f{rue8@fuVQ$qoQ@XmF|@u3Sd|}=O4Y&UFV;WxOA=(v zTNFvhb?Pt}1n!t6lU^l0SUZZ6bC~P8H%d6|`|`)am#Mh5w%A)P$beLdzI0vkDB6qG zbdzB^ZJVUF_yIefAC~3F#W3-kX!(tArO8J9yuKY*1lM9~_n5kao3aG+t5KPgxE zK;;^Q(W=I^KTn;d^@^upgDWa**J(VWMfcLq2nZlGoW@p^Ev1RD$y3@9+$jJXmnySe z?WXTYvk*v^R5LkawCZqIpqx|ad4t2XPJAQ_Aww;hhf?U28_YyOv(s zmD~8c5*H8gx2HF7W0}6X6!#U*@;F?wH{+r|-LPH>5qYne9+5HjB)rQ?5Bkk}l;&Z+ zTn33oiI{LKEuJF8`LuVWiW4dr=}Z5zoN6CaK|rN&8Aq?U);P3i>;o0!4Zpj1wTY+1 zq&M=<`ZS{rSGXJJQ0d~YguHQH4?V~CMR72GL(l^46klsSC3Br2fV}>ilOdk=5V(F} zx(O{v`a?KU_mrxg`wIJ_hO^v_66M_N>CX>Uy>HY&s1y)q8%2-eRm?tyTFD;+G|-(iC@?`QFsonm5RP~N}c#Q%$rg`O%*m*rB5^1 zKOUr_1+M*WeE#p5=dYvl$A|dceOq^MN-g<$lNci4Hy$ONIi)^ehbinCyh~m8c<%Fe{PwqA@h=)AbOx(guU2FK^83F720{bi+Wa}woBxjS z{|1czY+5b-zjG}IxHiA~me{{x{5OSw@&C49b4o7#b2?OH!L=4P;-_@*KaC$3(AB%Y z)oA}az@bV2fa6`F;=d!J|A_bRX!8FD;*GcUg)|=STZU2!3bcliQVJd&I`kJQbH!>H zZfJOH%#}7zg-D?1x--0v_Hn74r2h?LP0PlaOQdT4cKvlr;{iVr=y!e|O13BK&&R0& ztsgduK%_r8Sjhk_O@z0jOZss6-C9e;&V*V?%+p?rnDM%HwnFuX_XWyuOu&`)nz~AD zn_I~{V+@wEw5K&ei)f)DP)l9J7V zR6%hcw~vLrXzPL#)$1_mygQ9rx`RP0QP-WHwX^i8vM}5W~Sj zO}ow_Seq;trr5c_x)OQcZD)a^NUI`$YupDCbB8^R=pvp-e|mtyy;B;Fie}m%F80tq zsU)}kgpJljTh%>jRpV!{a(HM)I3LZ@V3Bs@YMy`(gfRPiDbXeHl%@bf$UlEfh0k^d7<9T^G7sTxW;{jeJINM#uRwt0`7rjBh$obV zV<8KfLSW9f*)b&DRL+qr>L-pL>ydC0py}boEMJlZB>MmI{$dcr@v4o|Y35q>`#8P% zss$RZS%gOZgj#KE(k$fLsG$hS=sPVD)2%J9hR(M(2Swk%(mUHcJ-ww|8#|^CN!Otv zw*M zyaOo0!93HLHFh;kM+o4fN? zqw~zppr~Rnl+jHW-?F$`+)mkFAmIARgC1^}y9c+SDDoIpT<%O~5Ln}cnpbb9`G%$P8;3;Y~Zy(ZOV?}-@%ToqrAcO)>W^i1*&CF}$2drT( z`hrQqDGg?Z@U8~LaC4@;v^QIOPFJThmT7w6n5D}JFMaopemKdE+ErxfE*ol|U0#65 zvZ%szaCH1U_3($2Nea1T{o6?W0zER!gu(;{8)Zad6ol;#>6j3=gvjR?XQXSGEcG;?Cod4j^!$TX+KbKp$-Ep2e>c>xiKk5bkdN9@YTJ~$J}CQ2L%**wGqvJ^46|*x6;pw_ZCOY`YTKVJYTXZ;Xw8V= zzwzYtm9VweaHjHNwIZ#SL2YZzE!%?h`9`O#v!sonTF1B1-*>}7YMjkUF~=r(*fzD^ zXwv_rw)Sf%=#`04ztG$V=OfMtPU(eZNW_uElURQ^b}Lowb#q?+@T8+aG@!cfX-Z!R zOFh}zRSF&B4bM# zcqAg8M0<-*nv(IO4LM_RmB`152Hho$YY;sV3!>$;Sv#Ej4-`I7iOy$)%hn4eTV{>H z#+diVk-X~F9Vgoo!}sQQWw{V^6g4Nv!tLPmU>Aj%z6Ga|n2paL3^eE42VV;1 z98DFL%SB|%zB6W2uVNbM{t>Hf8{)oyT+n31#_K$88S%LG?v?L`LG)~i=oCtKk2sR` z(NBe*QG3PJOTj8DiHaFhQ_{>K!nTdk6}FYFGxYmtIB!mqcl_iR!4Q57l4VRKuks8_ zBT11q3)pX!#AU+4c6|Jx68}t0(z%ny7sKx_wB6H{e}|giLi=6ZSc3}Qc0nRwN*MWA zJLCB;)1S`qv;;F2Dj@Bp`wQ6dSYNIm^rC_brpn<0EOrsWI&_oStMg9M`~ksRLjixA zTKy4fC!EE-C_=|eU{&Ti*5&k;d+lV(p>$J$_-o&5{ORT}Ka7Li_F@~Q=$G?X zJNg;%{azmX6KA0E%--J8j(ly*;OD-!sys{Foa(keQnj8Q!gyrpxmZD8OXbLW(AD3$ z11$EQF0+GfBvrHJIsFKLfTdl-!JJ867DJCW{HD|EwpHlxN_VHar$ftYv0Oy0cPwrp zjxXn6A4%BBG?XvuF2)i?P9?YGW+7HPzdTglhHLlr^M$#>IA#?I2+hS&$Hos5b?cye zxletc$2Gf+(nTiA`7n1&_R4AVc2K!ADv-_=+}B8QIrisfjn@55&vVZ|X}g-~3h9nP zugz6T(_~YCFTqc)bKgZ>#?0bUo5E8F=k;GG4!Saq#`{5zkJitXwk{Q@IzG*xAopAi zE-0=pRx;{9c{JIzwI-OoJ!$fC6%KSBvnFOpwbycmF~X43K4{vJNa_hiJ;>CaSt^)^ zWc{qL#O}H6$&?BF5bRK>g#i^Oy~Rr_CC<6Kb%V*Vx7fQf}HEd~}_UPT+81x(<^o z#R}S%3)$xc?kdN)lb$+n&YOh&9k1?yqmbx`R+x!@~ikc zH;)+CNZ99U&0$~UW}OlX_EG2dB?{Dv?0X_v@FE=)2rpkCuY&4)FPG@)1v+7Wt@Mbs;Cki?io3D#`vpwc-h!g1DLb0%g3*?l{N-l^@f6_+GQU$?A2u8~@l& z3CTf7oa#Q;F16;P#5c%rO7?T|z}p8$*u+Hi&%FSsD-m98B)ra6a*HJmyN{Lz3gXK3 zaz#u)M-%7x!^#oU0`qF)klpQ}iK)&T`Yj&}C|d#Ut1mEKakW)=WEty@@imSr&Pkzw zH?Auo_o5(QCIcwQ3W{r_K57^S#j_fThaMdt?CwU(XTXzP=E)Op@>1GqI0}|%_jtuz z6`@0o7-4jcMoeNQySd%E;&+z{N{oJ>Y-j2uOsOZN(W)0kmTNlYN|A0TakOc-Q4{o- zK%aQ!*~amk_pVU!kfHL<9^Te&E1oEVJ6xx+!u?6+FLI*h>H7u}5RM6vMP5z%fup!lo{n@x7;|V2P(@8vWtfwX3H>@PYxS}2V;pz`8`j)1gd5Mcb8Ch_+t*jYm)NoCk*Un zJ)vVZYXn^5j?#-t2`Gan$dEg-L`;2p<1a+wiZ?bHONjJi_hfWz8n@?$4bj~l{lTPB zFIrjKT-r&+&1+|gHcA>?2(RBmYYtE~&!<9f)UH*?C+r224r*C;SJh*>OSisD6LQ7u zB|Unsv|K;o?K*VQlQv}3PQ=s^I`C^A_g_;_Zy9e_5M1y$SrpcOZcVVfYuB)6n%H^{ zv(412rpbI9hShoO9RO57ak1%U@2m9NTT)%bBf{$LAUL zgy}jAhFr!n@?>WOdus%x{H>g-qQ>2extPmD=Ow!4%!2rfX0I{yOCM-7KGUy5m2^BZFuAIEozy>aKn^()NYC5oRH4m9{85PEd&anD!0j~ z<&!7Cds`OQ(D1BQNchL?59vc&uJNuA8MTFXbDMtZWSJXhO2b&YG)Kz|Bs(pSm?cw? zJDaCg#1`32HA|MZ&smqpC|U36DY3BNDaM$&{b6WxI`BZaU=S{mMw(20U78Tvk9ycd zD1EF(UDvSA)!CJ$7p;pqtwC*++NQfn+z#n0oMZFj&olDhr&92<1YMx;sOmb3dTl%( zrmpWrZCM1SNZW0KXlUZ4!ytEbtIPR%3h7Go$nq4;mmn@qhwEaDIkVsqd{gVgmT*Mh zklZP2tW(MluDI_ja07RxQ;2>FVZVjPvLxBsyr|y$a%O)&??G8cSFa%!1St5c6#3 zd4%V5Fk=aGU&^CL7X5bx$oBR63)ERG`Sqs@HOmcs!#F!{X;l|tWHnvR7=x*p zsxpcQ2S!@|y_0l%1y=ecympREeSjE58}W)y^>R;+FnM{zOHlCluq%w8J)d5_;I`lJ zv!m@P0Ml_vg=f|EJ-BI{$1;q1Qh=);cUeP}&JrcgCvmAy`Z4QH&#LQnYxNNNEjaDP z*vU^oO~}hvc`S)nWb7;lwZv{mugeraYi%LcCAmQ9D3tI#|F$2N&RBh1jOF$vPT*Sl z@Z@0F2!k-}ljRIH?S5wxn{>+cUqWeGICHKL!=5DW(oGA?S)IeBf+8Zg;DK?E8}(&C zqluHCHe`0Y?_>0kTZ?^0-A)~=RtkKIz#p{NrF!u2At~7&HJltD#6NPiKiuyuVXeL! z$X31J0dS-Rmix^Ne6e=9&S>0YdYiCD!Ze4{YnQbWS?p=59E8pXNr=><8MDH&wmpP< zGwl&YH_rogNIEJnrwz?g_tr^9meZNPTAB`Cu%$RaCCUZ|S=(^ZkYm+3jrUHdbfM-} zFbR!)lRh}f?gg8Ep%7IZgT|73y?)ss4cX5 z2nTk$>*9l?caD^F7niMx4}`Yy7U4O4C@s=;9sy{Nu&S1Hu`m#?BM8K+=JFZsWfRNm zvwa}v^t@QLV0r@co(_ch_CQQx727(2qPZ6iZzIA=TvZ;4g9G`jY_O_kqishBZ>ANwj zY1y?X75O)I5o_Evh8TX&l(hRI3v2eh&aY(j6y(1rZqVre$Z4fe>23aBTTM9T=mo zcaM45OAjPSIhiX|IyLP42|Hwz$$3TIrZ@s6*qD@{Y(tea-m+~(%lShoq~XzEk>PT5 zM+P3 zk9R-xXbx$P$JeQNE!|@ft6ixKbK71b5zNM9Ov>|bY@>tVjcT$4Yc;N!;`Zkx8OS^0RP)coEg}Q!1dGV=30@1W* z!hvIJRqVwLJNtF=??L#LeQfWAl#6+QbUE?uMMvpzgWAf}hXpS^SmE~QO~1!0q2<#F zW~rSuJ(+e92p2}Tyu;vJZJ14uK-T3%DJIeC+;$@qWKDWfp*!tQo!RV8+mZun5ud>-S)ZMSDqD}8k@@Pu zSc^619!UlZ@w9AxbtR5*Q#$%csM9H z3hWQ-%z{F@2V^RM(krwGW|`WzRR%hbj}KN7%Tr3$vCz=*_MT>KVf~I)=?|aFv3aWW zc#$~90>``4Y!38Sw}~{UI042CY8AH{2ZS2ugzB`_gGGSa6$mzUP2N+Y7fyPbaNy^) z>p{NPxa-E-UTjJ-wC3r`--qcJUn@6*hj*6L@vJT$l<4RxtprdyKh+sNs!Q_R^uLa^ z1IJO@)FdM`;byn{pN!3Lw=03&sDfjNsW;a3&k~#|XNRk#2-;;9kR1m_Z1aHZz3krmg{ zxaywP)g;A5=KS@u-LdO@^I0*de*>GuCh-bO!$AOgKl_Z@>gkcyMixh$f>gl9K#bX^=S z?H2Q)tM2i$6S-bgR0vyQ2S1$H{Ha%Xz%{ShQD;AFj?1d{D4cspW#n78=k=SeI!R;G z{_`op18TY)^G7#Ni;@cKRLvg+j{|j`#~7oCi#vI>Dy?pT)Ux9;Aob?MX~M|Wc4i1m zL%-lQ{yr$8Ztlni6K^k21WUbqP&NjD+M~4 zRd*DX4w_VbAk%FT5lpb2diN)W?(4!AGM#DevCN=BE~T}*-Zlh_Y`0>!zY@!QB~HUe zYSW_yC0#u8cM@S?9*s}r`F7ScY!Oan;oVj;B3$k86^7Jna4Tjzfx~Ho-n7q6^rJeb zHeltnAHX}Xu3f)%8-$e_b2XbO4AAZ4Pw9=BjZ;#L&1IbrqW9zKLsUa;Z%^t(HP&}U8H8L8rt_%l$CTlD@noj7U zDo3a4q8 zi`e@_^pvl`m$Jd=R;M9N-V~2I{hpe$r^Nt#Z><|Zd%qu4@=n#DY-Qx;7fUxg7+bzv zKV-zFPgXrGl|k@3`NgQDo;Rj;Ziaq)Wz1UrCXpr&k(T-UUDqZ*lEdRSB;1>c_HCxl z0N&gnhI3sBr5LXZ&1R{dDU$ED>pw=h0}0)f+AUIkR# z6%;xA8~RUNq|Oq69*1sjKmeA6197%NdNw@SWsE&%ZJa0yL4vK;Ee(~VI^<*Hm5a8E zp4vLl>2B`%l(D8((uyDniW;a*4r|KkIGi{1l~55F3X;NHAF1Ul3>Mc7J2^zev63|D<17nihsk>Sh? zsai~MMl^L%ZO`b&k0T5=t-+qynFN>pz30UlhMvmHNo8VR8|S2J48b7WT`Y)$s*^ik zo|3p9V{k2WAvDyKAXZBHmSu^hl(${aBH$>Z0CKk%AZ#yDLJxs~m+iVBJz1{tAAXhc zjQF0+@<%2aON@OWS$4-K`-iIzlzvaMZ-da9{+6JIE>S<~~fP`>R#YcM0BdSik0}MY|o{p4mmXAhxe~>!X*tVL3=&-2jYEH? zMqQPg^`S?E5&Xx-e0%-u*l5-D0A@A9*28zyKkNW{#cU8Yiw)$M#kUT`;WlQex7x^( zJ?De^dLHwpxb9SM@g*<>ka;}YTDB85Rrc>;klB^Ds+=9baE1oim9@t_g+oA{ydo2KjJoS!&yX-+6gB_(~8q z0;x%HG^E26E{EU2^7w6Z=;Y>D7_9@vt<*BpvT<&?>Mb* zOIK>p#A-~fK~aU}YQ0V&QxZY>5yI4_Rb4ZGL-C*)TFancyAs;Gne z-JoX{mOH=p+%;HovHzag&YE}khhn4G(e4pu!f2y~IAX3lQ7j~VqWvnT#spli$lZ-d z^i<7K&yES=OTbP}lqH0xO)O!bGjIIKIVBKa zxs#9+=q6Oj$*w*vfdq2#z71A0Yp_DUAF9)m=kjH$q5e z(D$1yK6uW;3YkIa!wNO8w)C=GX4)^p+vPZ;O)i*5b@#BW&AT$ROCF_+j7=u#aN|+E z`t9sre)Qg?!n+|W8}9#4|MQnG{=fc{l@Q!PS?^l-zkP@QjNx~w{BNI!_h$nl$YSab zu7h2o+h)FkQ+PJ}^S&9*-4Oci3=ZVK{h<2o>|!6o)7Y+ru9MDW_5kDVDDIJhV{}Q@ z=B)Ze$5a-haqrY@+5AL(yN$fT(hc+PAH0^T<5gbJpRDpe(-WKTSyB2t@Z#d1IxDn{ ztLNpK>l(#ZZQp!se1`i=j=s$0uQB!sc%u4LwkhLEi<_JFuKv<9-~hA84t2G_V@aCF zG{S*+ABJ!KIy5lS9^GdL#r$PX2gMG8zq!-=)ux27j%>-wUug_o#!ZV*uFIQZhlQ#p*&M%+)f16(upoL*zpb9K9GhF z4obfW6uj<~gir*|dy(ta4#sgH{oVracF0jA_?8S_K3%-S`@f6-H}71$W!@JGoVJL2 z_sMSXur(_f(FGz~pF$SDXGMc_uEeYkS+n~YABeL9_;WpW9M@5sNEpwBR_f<%e5kRr zD*wl5MR5&*r zwjQ~iMYzg9Xu{MU!hQirZz2VdyCJQN$Goshh$=H|vB=YI)J$6o3K66Q&pwu=!ZW}; zYu6QmncVPu!Ih4KRU#^qvtUTuqL8NNO}BC0ehPg~khvK{$kzfku(-#?@Z_&X(125E zHF1yE`G|3(%rtVG+o5@=+X1FX`1_o7bbS8HoL#gUt$E_SGQx<9o{wQQLdH$fB7;Ut zx!*v+bC-9(ABqRnmlrA@_&`?0-~RLkI8T61mZ#u}JeJk)eT8p6wtr)>cUx1Q6;I@4 zM|b-#4*;(a$l^VK;%fKy4e;-!nkqmV*}-bi@l>J@9J%lO;#h#Lxv2z_jg)tUu0QnsV#Od$h(LU-qIf^UgZRA|BoM~Sxo8Pd0B1kyu%yb6 zt=u~=j3-~see0K-1B2V3|6tr=!R@;F_9pWid3=2QDb!r`Snj2T9wQ%!qRH&DUj!`F zj}xByn7UJ~IA&{+AX74$sLT?Rl1rX=ZjS*-%SIm3wE8)!_LWU14c?@U=tb<)gdXC6 zSwRI+`Stm6;NA5;+}rF3rg!*12w2a{;zll z!K-`a^_$PN#!u>5Yg}nqvF+*+>il=X;!*v$pEh;|PoxSTw-~%(eaBDd@gK4Ms+3g! z5!-*P?N6ls-)n8t$wH+x{#nOG6|=!ov$LDQaZ(AFr8|}eP$s=mvt{NR6Pw!~6UwX) z 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�PHR#XjWD|pje4Dd>s$} zDpu@PzuDDkO)`FJv($GniuH;yia~}s6p#VDYx4gvXYRHPlHZ!&>fa>vpU(>9e+w2} zy2TnNW>qrtr-lUyOt!`$VgoG8U8TgZ^HrK&npf(^{)72{!MBh2%wzAih21%$Njwy@ zeAlTvx} zR}TS`?HxsJ`05X?mqP)0eR5aP{>I;#rTIG&D7?|_dnN;$7%d2jmeHY^h7`3wO!7Z> zS)9gz0JNr7$p1n9Uoj5;MRCUeR=22+xu>Y=sACK(^?QpXast2vViWoP(SZv%M3^7| z>&0#C|0e#Y56NmjbAvB9!HS>EPl2{FV|3t({fIoyHZ@?a^`emfK+OhhfP5j}sb2pp zmZwh(uEMOo_~ZQ-&xmOc!3M>;+)<*x>2-AdqwOGPQ*_TmRl@)GqA;>(gSkBW@MXK% zCBQERwX>WN`309LG1g7FuhiyZIOW97AWM-aMCViuJ^aaG&ERBMkVQ(XcDgf5h)!Eu?z-?+DpL zYIVd5v)tgX7>{$aan>FSd!8LYH>&pbc|ct7920iV$XX};@j?HN^^@NUHxmAW@a&iD z^%#ZwvO%bHKWiIsWI7q<&57qI>Bs_9(7F3+?czE9|Aw}V&+pKCTP*uF?U}q>!I+#U z_H=Q~>XiTu9)Oodod2*bOB18X@!`)R|E|deH-8(Q*fcDAJPZmldzhF`U9xI)bp^vS zP?R9*8@ju?Sa{P{FcKpnWPpMG!0z(AOFKv#@Ul65s&jUrFpi_%q7Qs0dNpFz53^}ul@{^(#(W*l>TGg|BVRo z`e(StBYQvn&VIHrQPP_e8UZ%!1QWnOZZqAeCjTQtfSv#`t$XE&?jHvJtDOjbMRR7& zsQusT{|*PD0K#HfQ!PEnY9|DQtL|Pq={asM0U=P1&rCS?n*W2OXK%G#e|xhZYL|q` zFeqi&Vlt(Iv7$AQ2jF>&;MQ2Eb8Wh;3rMV)q(0qWDJwJh+wtnGN<48o<;ts5!p7YB zR7Ws(^Rq_+6)n|2h*?l%`6c7N`1!9Go|Aac;I|B{_D7|k`shc%C)hH5sIEf_b~S)o z+XI%Pe_+V$Q2|jRI!YA$`i}sgL;CX@%opS)XHdUN%PXIWx=izF2IBYdF*A0;BY<0! z43~s)|8T1S8)FMT%UaO>BW?fos{MCnA3uKGviaZ{ zpaD?UQi9W->hGkr{O!{c<}aCwpFX%K7o%RbFS}Ir=m8?wx)qFS{E?(AIZPf#Ai(wa zyoO!#w-mf*yOeqwzpD#joUb;CoY}fy zoKqiL+wp-8$QuC#@Oq+qo^fh(0akEu#kr#5KehAx>vP=|{T+T?BfA`TrabD8Fa?um z6ZnbGWGtxwi)H^X?5viCiLYN7Vj>MD>1xJ58vIYx{U5Kg{C@iaB%@y9?@EL`2JTgn zS1|;a>wvI6hDk=4=?{F@2>%?b9h}jFntU4zSH)bG7H_~f$`!J&U2iL4Cm_)oq;|cxW=q3ZH8MI_gNVx z1QWOvF|$I$WSD_yNWJ$|EKXOZjs55kvb=&kA+y@PYln zhAv>oEopX!e*x%25aN_jb-3*Sgtjz+cf zVS3D@cbdZkMKb;O>yW@bHo&%-P^U2%ZdMKR9RDh^(NWgO&*VG4pMZc^MQ-&Zi%kk? zR&TvC9>g^6S)noCi z0T?S^HVSNbDLXhB)&NHpo~^m_8r8Wbc=hPpNS!>X@@hgxjM|k+c2$qt$02M34w2SV zKB3a+A8U;$N2^d0;qPGmL6>g;S4)Ku_Ifv}PJkm)0!+LnaFf)jlby`GAyVx_Eh!@zWr|SK3DqKmDaC zAz&L-Y3C&Z8dSO*DKhzWU=++-(XT3gYn%SpVrH3eu@tHk#bD8i)(~9ct~Gone%_|-SF|^`E!(%FBz`&PG*vtB2nB9qCv;SB zy;mFXJlIE@0DgT{;;HFoW4&*N$wA0+Kf-sXU+rXH&&3DjxsXlF z`@I%|%A0h8L%{VXrlJxvz=X1sWT^&l^0&owD#m&IuOd#PMFX2g`0mT@xi&+U3WcMW zcPCDsUyxrk)%H?sfLMJdL3aZCSqwsu0Y2_B>$1s!k00e3k84_h`!iY;Rg!vwm;#S} zPI&jrU=BuvjM8$aWo|)wLywy8J$(C+(f{__wsq01u-UH2VZ=^o!NiQ^dQaQTVrJl- zIC!$XBLn67AaJHC&mSsmsro`)uDjnY^Ul5SXu*y|e{EYm>aPQH^*hRos(NqthE19V z4mPoHpR2v~j`l(Ci73HZ_DA!hMCYIgjqPis^I^_JJ!_y(Bsa%3kmTtgZZpgvbF z3v~9H-3ak`O%Dzqb(-=IMI`$g2ck*(8}GH5#u`hOy+VuM=hG@!to~V(3eKBYC36@o ze^!^>V)>4vuPI&30diIN$$RPMtNH0xhsML=>tFk=I|a?*wOrfa605PFO3#-@-Zh9K z(kl9S?k)DGIyEGC`avjWHefDMx$wonEy~7(_b%-mY^k9Q8@Ci+=ike^jjfQtON@pt z^yO~6ow?y8u#=H$^6DO9kSa=gXm{PsVKZ6BHoG^-FQDS57dP6tdK&rc7$K>1$xPh8 zn!&v{cwr8hrW?rH;l9rKY5Kc)R87Sr}^&H0@RS5Q@ssM zc;ooWq|efId_eXy%t@t>oIDfLO!lCCTWo_Q3*e)e@N&kcPm@jw=53K=3pPLNla~iR z-P@c@1g&8)Bsu4oZy%%9t@rl=E{=^Wy%$|r$|<;V`aI&ju!qfN3?(aF<_D;XkPx2Uf7ykB6P2>xPi42e6cZ5XCR0i&w)p{FJ^0HSP z^JS_CXW_2+)RiaFC&*|fiPG>e$6;hUmvS3dAHECMM|6~U8>Hg?{zFy<_K#4r9Jd?! zJ(i|DjIbk|D_$9h$&=4%Qy+3&m;|A-4o!^TRWk&6?9_j*iIOG5^*|2RJ0>2bDp!_w zIse=R0CjS0|L8Yazqd~boWDe9UJ%)6+R+`GzK=`Cr7th5n=B?d&E(x58NjTYxBM%r zqfM5Zqw=ZGJEqqeHj;`XDUxo!-`9Q2bB1Dlt!#5HwKYd!%DIbxH8^)utN>Mn*?ggvqOHuA!y-><-Al~YP|g$ zvca381*TiF7xCxnAK3m_uf(&??WE#)MV;j4JhtHZKVq8gJqX#uyJ(zo(AE9XUgWCk1YZX@-Td$IgL$gV?ZF}<_|Pt zd{~0d-}c*0hmw2qTLSdyv^U9Dp}LJPS>eKDo18XRfTLg1OR*8Wf(>BHlgQ@o4ZJ$x zyR+^BPex3|IlTwHW{yQBEb?H|l2;N7^KIh3EkLA(?^h2{NM-VKw=vKjPp0>LiuX!V zW$4nk7Ivmpk;WD!ys6Q6dv_xR(c}Hus2>ISfGXM8u8C%}*+t3Z@nlZf$KUE^6`^pMj?H@Yl``fAxnu;O@}L4ey4KmhK_ZXAMO96H2zOM^ZQlSA;HZp2^ENrFohf$@t*qPyKpAL?rcmva?O7?1{0hd zR6XrRgxsGnb!O#de|fz~i%-6Pp|I*i#Kx}_Sv(wHm*SM^-V+}``kbs`P|)64zMT(c zwcUV74nR9qI-!Bf+ND<5weq_st)30vKXfCe!3m~Lc|^uY{ibo|IX&LaNJep4-B72u zX`;W~u8dmql|b|={FvVujNXe6a>mt`zPoxs3kcmpeTaT)J<4<+&zWA0;NbwRf_-ku zExoe@TE08QH{wa_N$@R3)^%OmKO5pD75O|SqZ!ov(#FJ#u$y%2k;Ju<*x$6T_;D-s zAObnvLe{lRLO1$g0qwgkq?a1OYfIf(X7Gp?Qt8m{Qzp|EN+$KaAQ3`qY!qK!=6fJ% zKIU(=nC?ZCXa*h-dpLD0^4`eY)2Mp-mN*Ea2Ws+)PJJWX%y#X)Wm3*;?&^R_NUzj@ zIMSkGUe}N={oahZ&rT5i>(Y5Ys2_uNN0#ja4?8pMV*dQ0GV7ro1B=JgRYUJq+db(- z%n$vo;vz+=L!UJ5FON@^IsEL-LWNNhX}iH`O#*CaxDC>_O^vN~GSlg=+Vi;$*}Dx6 z7FM;cWN789GUUh<)+F8L82t6sU+Wffu@ThdPlDe%I+JYNBMObF+e=Km$pXc;M&0CTwGY8Zr=b)(m3GHEfvBJ zfTPG-26)8yrCfD;??%aLi+je(Hsozdo{W~q(){4}*YiGzd5GRHnZaEZpHdZHUt+r# zc(~lIDfGh5w<>!m$I!hMcg9>j5fx3An)o#!r0d=fPBP}?Fbkg+vUQRD5zJ;{KmzMWl7wCfOG8(N* z)o@s@rk7Z**OwOsvxY)|!rp)`TBo?IKPiQlrCvGGfCTOT=Y_1g5PIFdxABm$S7%e>#`4`Z2W zCAHJ$a3Qr-U90c5dS`BE8N7Zvnw`8nCF0=^hrj|Prz^+bC1PK;k1gqU5i6XuX-1ar zJQhkGp7a=w*KhMBB)I5QCv=5I$Gn7+Qw(TPxOP!xZOnqm(V+goa_930(aDy5m~z~$ zMI>2JXo8QVSgEbqlb=cvq0R7eA--#yxn{uBoe0t6_mF1MY_pmPiO*?X@X-|#NP)#m zAGgfii^U-?kC%Q_msq+G)I4`yZlz5w_H`!->A5VJ_nre`1c6wS^)K{Aw4^3)p_MYs zBXn7JmZV(noiuU??JoOiPuCdS`IO%MAU)18e>qBG;o$S*;He^3em~N#bkqkMFC=yI z2jAYZ6xSA5!T7f;u*?CD-ra-QC=xYIo{g4FGOwt*u7bVv_mEdSSlVADp&t@$Ilczq zK@ec>ntH11+QN5N-cp5t)G5c8Vp=reGeou;9b(n}b;WLXClclvDU4}0+^7ncRyk`* ziqo``Sl?E=!Zm*A)&(1Jr-%p*BcP=gb4>mxM~h^}o3Mvg154vwA&azlvk7k`{Kw*_ zB_#>wZcJx{dLA3u1?Vc_pcuRh(j~n~k|JRD32<*nAv)ulE9>^}u zJwZg<_I;Ie0$MHo{(6rWa6bc`BEji{fezyfn$n-ZsVPEQ&pT!>@X8KzbJ<~61w95% z_i^;EM1n67xiC3*a2}RsZ%`cuP!B%qpedU18+jwE5w{@m;Wh$p|B`%WO)*S#OJ)vW!>;CME<{DaGS?rkfM!t%733X6=c~$D_yFQ5+?_FmMl!+gFP4eC4Ed zm5KW=M5cVl)5dFUKHk;2^4=9bWSDe()b3d}D5w4Il|d!L47xhU+)P|YIJ<{f?7s)? zjBj`kuhdubthxB=bdDCwIAS})Sc#O=2^{51P5DPKpNiW9>og6Rcf4B4zDlQY9uf%JvOscjq zu@&>uH>UhXw;^j-XtRdJ`-$bTZj1clSTn8<_j@%6$+m6JrD_u%H%7m^-WyevF^<*s z;m~R^UQ+R2OF|Je4V8Hhd+b8?Y*U;OsEwvF(UlRZ5Sw~kh9N%$%xmVy5kkxu9$+JB z;Wm|Xi~RL!I@B_jiJlK2JL!cRz||E|WIJDvBs2U;_44|_V)ra||H<~JLC zABt8Gvc#Eqo0e_}-kPxWcw%8coGfop0+^B2qq(|gP(+ZY57|xE zob53GoX@3~cMXiZ1>;6Y(eLSLfF4X#bd>X|Ng%bIjh7~TkO_KPlS!7NE(;_k_{LpX zF%>>SMS1o~dWNp;?v`~A-`{>A;zOvt>ya=luUnox;bwx?DTI1#ew_9lv{tL`Mz0O} zKm8G#J8ESnfqfNs!mT$kcNf&lZEkH8B+{qUN7`);z0~l$!)|9$nn^j|BR<#8U3Jz} z-!px9w~;6R!3wlCeYjEHUr$}Xb_>a^nK$UwXrE3ykgQp);7jVZFgk(nX_gRuG@BBwwVK?!yMbKiQPLJ59+ zy=FZpTAH+)Yg}?MKQlnJ?&035$swZ9UVLjdS~~9o?@G-Bhd5|7gx5D=?>)$!2Vvm< zT*S`DtX=p$i0{V#3eNv=(ZFF9Oh*Q>zNKN9vt4J8?l>aZI@5a6XAvYVdb3FP7`Qg> zpeox2doaWs0jj}&d2=Qs)sfKxXw_OGiz*7P0FuIQ#M`@VCazo00=lecEJqME6JlQr z66HN+EPe2Muelv5$VMKSZ(K8172CoI94iPU>r8V1M#`*5YeptGHEk&lSon}&ifVWT z^6TGJ3~_R_i3<&e-sD2IpHgHas{Ffvs>#uOao$0&v5J-L&zYiPaB8w~SI$bd?Rzbi zr^eYYrHxO@2VFNLZwrElMy202D&_;qQk`h0Mr63?Q9*1XC2$j?JzbiMFP~E$BX4bU zn%g9@`R3>XdL}$DdDZEfse7QtaDyFf1w8ZQ^F#jiXHTj?ph_F_#>8^DNQmDO!Q{Bb=Idgz>5vGIi*{RbOBtCs_ce& zJerWpiFX{eLLXy;u zp+w)}F^~9${lu83Py?8IDqs<`@TqNh=vrCNWXD*-z+A&>DKv4+6Dq~)((AW*9B!3R z!{Z_DJ$wMv_h*to>w+_SAUh_%&3Dq?Kz*HWOv(e(7v!_kRnyt$H3i&mJkM)Y*03)K z^>Lhmo0sVb^0N2%L0l6?KMj!vtnV5)L3mUntKs!C1|F!rh9RTg>^gA;#iquGw@p5M z`LJ(LH8#Mdgek`_1YO)$1D7c!BcnxJdXfu#gp~7)(ME_A~1KY92$>(n02OR zRSmR5y=!@rRwJ<2D%Bxnt9JPSm|QSsqhmGZvzR{d;41Iu?xVwwvg41E4Q?`vsqGLY zNhSt8SOmSd&}S#0l+UrV97(I~IO)G3xr1C8oLp?B%R%ZicDnbF^4_lkHKB(ncSaX8 zQ<)lu=Bju0O)~dv)43fNS*hPzc1Uek&-*tenx_YfN$W7W8q&OmN{FX}Nyp558?1lb zb=%c=2np@mhh~bx@6Wip_|y=*^JqG5SNaqcDHU&U_kvD5CX8@p{bD?v9;vqo~qrqjy{q5|N0a0u4Ldm2Od}#-={d6J%d+>hJcsIgofLc3og|i!Fm+&q%*7Wj%a@n?onjW242k zPR??~4jZa7V$Om+AvC&h#ncO`Y zjhA^+_TU1r$z^x3$=7}LNtEQmlIfUpbV@M7HgOj}oa(xuy2{YWqI45-wn`=Nus`$Y zxFFDxB`hSEF$FC%U?EDzRjKBE@$&1r!L$whB%3sc72_W_sbdJqoZRJGRk#9oD_EU4oXx`+t`7>uIv4nMVc;pXBw;D}0-u!&0o(}g4 zr}|e<_&sg(>%f>9e&DDJ z<@JeazIDTzQdY9g^?=&48H+FugfiblMi*~Bg;UFWKp6KrByoV_`^L}k;akHvTx5Gd zepu|Y`-$!7ol6MK+M1(t9Cml!Bv{RvXWYisM<*!P-#Gw~L%bh%G&&CE;?%kn_Ebsa zAK-S@HLEk#qdW^uCruZy_g+IBUS9>2#MFkYC)s9YU{u^YQ(Nr;4Hl6{&oMAYSOun~ zN*3}Xo-c1Yt)RQX#O?^KmH+l0ndn_x&3>qww7~jtm4dP&sjumw_Rf0ERI(A}^~;~f za;$lG_G5EnR@K$l3SwG1Cyj$VYKf<4jg2e$%#kyVg$VjGU7Nr=Gd;`Y6F0t$x1uI+ zIkzFMHQjd2U)`67Zq({QW(Ufc2OU9TxWP#?VO7YT3{ol7mz|XcY0d^I-elXjfq$pUD$AsU0-MV&GM7RA5>j4;Ym29HY^F$^(jvx_3WJIBp|%IYd^aN z_G8(&9iD!_Wv+y~XqRGi zu}(1BXfCHaQ5r4MEsdK-#waZDsK8Sm*#KN!FvGN=9PCt=Au!{y)F`!;@#9$BugMv3!;+@5T#y_oCRUwIMy9GN> zzxPteX4mGqh{Gz%HUiT{SH9nvXy!m0+v!<-E%^DZm{82J)<4H#eKNN~6kgkR0qIHS zAGm8fL?#uw=8P)Zu>&%-g{+H8*b3{lcgx_S1vu1(8DhD{AUD)fj6Utm;8Ul1-NvKk z-G(7CJDCTpa<${>+@jy%y(2DEou3UIxvO9riw0$r{;!8uo=KMs?R9EJ<0BNI^~z;% zucCtOD)6N*Q?h;BBIEut!&9TiriCTiva9}2yD!RSIUYbibTa`R&T)&emq_o(zkZ7B!ypc91R4n>j)?>7MF4ilxoxL2-q&n z@0!%j=BfC@r33yVYJ0tdIa ziAtCTHRRG&v5D7pvpj)%c`%XDr5)DH(%$if#N1s0t zzw*miDAN6LpTG-$b{9%ESGM5=^xB54C-V5WrFp0-L`DMF1nt>Ds%Be&V(H0n!#)X~ zb#budTfXeYq3bQ33|>)tZF4)!ouK!_@BPRHhpM}B158uIrKXOz_kUhgksQ&^$9mt! zK4l1MXGXSW+jijOCc%QDq6s8@_h{H2qJk%`x;;(5EMBDizpIzf0zzq_u*qQj>}Dv6jB=`tGL@C}SA zFja_D*L;nAfx0(8$ZedXK)HFt(4oq*Irhc?QCO+axMlJ3l&T&@8MQtZ`|- zoGfAESNPcg_a`U0Zh8ox$zwj=t_eGQXmBCjuUpcI^NcYrxvyWds>ci`z?emTbdg5* z>a1@Q;pr(UL1;4{BeW}A=M@9{?8@rKjQli;3r3I3Fnh{5Z4)yH=sXi{$KLWd@1r#p zD3()Ldwfec>Atiz>~pR1P8ij7_Xgv!JpVVB5*&>auHTA+7Hg9%!xtfW%igW?vLD?C z%A=&=kKIqw%3YK?$_}#tOq0G^)6;kTascfV7P3pE%j^-I<+;!Oihaup*hhgi$Do&^9snw6G}utA z;m|kJtrF(#@>3}fJ82gRd zBb%|)84=)esU`1}I!*F>cr7gt)!4 zTjWv+?-&<1jBOYuc{@1JBZa=N_#_^D>DMhe3n83QUo?%#%-`8qOTFo_o^EOwa@jBMDF5a4PZAfQ3N?Bc8NW*6mhWYO9(#FBP zpA9$vW&4-Bz~HoZV*e#MaN|^l&B)Tkw0+8*^~reC66Y-IG=mNurTuMct|Lp&#%&_$ zTCT^kof(+{hde}#CWXA*eZ!ZjD)bc+{0KAY6}4^{`yr->e_djJxdJ%JGuiUF zf34^>eWk(VOY&yLdy+u(bNR&(e48tzZqm=eMKLQ7h%HAQqQ$zQeX`;lH%`1~@z8A! zz?Cp5d*BBV-2 z_f|6NCrDm9@LD*PYN^TgoAKhS^(~g`*)-Ibz-wDn(wqT6w!Yu+fj(mTlZ zCmh>Ukp7Y3!^jpqt&3jNBYasv|9;SSFu+@1W)G^jQ6jC;C(?tCU4NO}( z;C?^)URtG?rWkLcx2JodX@Ty0F8c0L?~M@udYjLC3rF8rxm{`ra}0v3m*aieQi1L8 zw+Q{6XZo8*U$TS zNurgVuL-FfKr^0m5UTxKR3@%C-y|^lUVt z;cOuz%fI}jKlLwcuap{=kQU;m*QTcyyh}89e?8G%VgqXN2we7pRav3dYuwl(U>kV0 zYzYMKEaX_Ji~1$|RlY?v+)#e(fZ3e8N-K6WE`LzbU2>&0QFbt;#6Zh;eo#+K%5Jaj zXT1$olSCDAA+;5TL&YC$z1~epI4dM@Ag0j-^Ib?M`*=)sLxpD(c1+rT-R{ zfleE$Rskm?k~aKapPczJ_3qM;En~jt)AVe3Xf3f}mEbT4tkP{=YTI!QjPMSWlH@bo zoG_}Gr!llJiV7LM?3W8SIXV1E<{khfxXt%uNtnQkSKRtuvK7=YgM5(eBO4*ayo8L# z&qD{e>{#v}T-XhRZt%A;cqtp$rH6vo8cf;`!mXsIYvg12`F6jNIP_7+InIDsA0p_^sP@!=>}zrKQpoFSgfQ7N(~b;uQPEe$TY7K8EGLhPmZi6 z15YmUUfEK~Nz|}U;#pGqL5R=f877?!Z#da0^)cM3P9OHy$?EG|)HtP%2%Zyb0;59@2G|uV( zPJ-XRqEiWG@T!;ZN+0%q&|HkLMN2iv<}kB+9#(QJ02wr?a2p9_ zUzIbk?;ql#Avps+csnlt_Aq}SB1P~D%_1X(va;GFHnk7P<_2u+sfQ{|+$V&vrc%K1 z%hxPnkMtbghT6|%?}V?BO9f8$V@_ejk0G3|n*T^GOHmOX{hHZb{V_*G_;VL12)kW- zr!jVB-~p@XHN_omn~?O|M;Bhs9iQy*Ss<_ z?Jgea-z7vL_v7h3{HfSjXRD<7>Zn{Z;B3q?YurFp4q8ut6`G>*f{@KbIb9fLggNfR zSaml`w{=2wczASCh)^ouJwRe>>7K0SD=FG2=}&Ww4sl@ne>)a z`+AplLC0xGDHkilsDtS2t`=~PD%TMGk=VIop(x!*fwLMrWV3D|!!YHf1(7(H@OIVF zsi|=|g}DBv$#~tV^~ys9f%5!ym{&2yhi(DZ9Q1Yvuk4dLIF*_-@-c^rc%Z)V>?Aa2 zD2AIt4zaS+?L@Pd1bQAdb=5k}id1xoxoNKyIIKAp)qb$T$W*24r3f3ald@eP5gy6X zj^L7=E0@7#98?Ugur$MKdEEdln`vlK^xhU1Z;%#@oNnD?k0=- z{5pugKUA>1_R)Ei=V;U-zu(C}Zli%WH|_r+?5pFNZoj`31rbD41Vp4nq(f3VL{N~D zl18Pw2Mm~ijf7It-NKNrF);wC0Ru*CgfttQqSSS?B)>8C0^TR(t%u9b^>r4Hwe%+Fpw7ZUx;JMj-5uG!A zsopnIVpe)}b!4x=T$^zzU7NY$*}XO`8uPA^#_%&U&Wy#moRTur5(+v>gzoN+@>fh!F1OlYleX(7BkI(OPXX?-Ce`c&7iD8x8>9ZFhzt8uVw}ao7(5zgO*f|*7(SCC zCll8STwgRUo&Yk2^Ue+cPEKu$q;eQfu(b@LBDMz=D*=2ph0Uh%nX8-A#`Ly%a*9Tt zgEjV*S*h2r#4$?Qq(2;XmSiDtU$e)War*C2M5M*zUpy308FxUds)r zJoJKDLXW-0$j8}>>V>wgt9AQPYzbTb3m?Wbgd0ckeG{5#O}tr7QzoxbuZ4~!bSPS! z1~FR=UaxHN?7HUrQ}t9Tm1D-^Bw>q*CQUMAjgd`+w$K}FgsqP_CxM+a1Tm zl^|BrRrcyW1_-j7t!$u0`bjv#KzWowRm`e+u+-kf_^sxE)h3>vN!>fe|b;vXoJRE0ot+A=@X`0AT9c>VlS1<1>`D6MgRPpD?`9dZ@iDrLrU; zs})f-`${?g?YgL_t(DA3t*82pJ#;j&S|%2sPP^RQrlt9#_>rMDIV&EoN## zyAOfvd9)kKMN8%*i{}QtB9hI&TQvF@kE>G?n=|?rLtK|Z3~qAP-i-#XtaZMzs%C@} z0V#Ma83O8JELv(9CFW9+uh4Xpi1)+#LzG{-kO@2W>+e=G@rO6f%sWqQ!q$L5YS(+* zOs3w9eLfhvkDKspc_%K1|9CHDIaX$dz$pr=%r?3TD0QB>r9wtFyvbufd=tB8g>+Xm zguiWQTQh$VhCMjg7;bZnwt}`M>!phIeRXEJYFP&$avmm^Go2g6kYVXEf8hO@yxZ~PHlI{)_t9 z0&A&zFCvc^8=&Je-Q)JYJ1F>}{aJ~iL1f5f!as%wM;*Exap}nhR((UvJ-YR!BMI3+~>x2$Fmji zV?I6%$Nb;)xdlF-qIlKL|HPr4M5H|4e|aImLr`mG1R`k#WP;K54l7x>VU=;{QS{-p znXQrlJZLfq#Q{P-!S?P(Bf4w&An6ugT$+vrfVjr+=kYb0i=yQCR^1?sYO_(N7$g~VXSeGm*LX9+n|+OdzUF7)eY($;f$H9a%<~SCLL6d z5uV(N7;ZX!c?PjnoUPcq6AKB!o+A#kBhZ zKt$@xpx3(YBCfQ)G#j~``|fzeTl*z%gevfiwI+642~9Z45N)C15iLnn@E5S)XEAwI zdKXyi!-YDBL70Uj`~&kO9w4hrdpnuc1W1zZp04w_uYGfQ;gE&?y=$<|q8`+LDKk!Q z(K>79atY?K{>Z*cle;g&4V+{hBmI7BKhztKSsqzF42u&1OpX9w;9T*IHkc@8UD9%X zwG6!d^4`m0fX`woWP{#!$AIT9zjtet{kToLv1s^f5gP|&^nSC0QPq)GYXaJ` zd^^$l-_N<&Bg!$#A#mM#otY}DLUroU=Vi5dUTPXcRl}FRKC=#b1n@!%OUWI`zq+pf z4*a5foU**I%n~(OLMd|x)c0B?&kYKg%C?+ zML*-{-I>&701-OZY}0o3dGL>GYEDctqoX2f^wLKGqYoFzP!$SyDc$g8n$PAy-I#Jo z%x>5|-qkTGL>Q>Sh+wn`QZzgP)&!ZbK3yY@EuhA3!<^)F z-YqKP6i1ksNjvG4x$f;VWt|i%LFj7WUh4$#-;~4~C}HI8%4D~Hg#rLEbikI^2RMoX zd6PQr@0ugM^+IxhOFbEO3e7K>Eb9d|Q317bVtl-fHOiaW7d z7Mn|tW7B}LC|YUV#f`>A$@O@B`cVj+^OE3u&LM`g)~U(_XG7N)Y!M~sV~;QrcrhU!bhM+02A zbnaeW`J9D?Kp@U`vI@BM$w8S&Tg7I}{gtF>z&wvGSHns}Mi8!60+t)_37YUX7B)WK z8ted$$J@KXcJIVQ>cTjZQGhpq<&j+ zWjWK;8*cNAxH=YuNReLEy6`UXS_=O(e#Nzd4o`Av)D+$s?b8t-6f*-&$N5-as=ZsEr#qb-y?oR&(u%Z$Cmv<2(8!va&^kM>R}mJX&Lm&Dqu|3K4d7Zx5fUc1)pE6 zeZ{N38N!_?>-QY;YsxPBmrP(}9^aI^GRad?UtXPS0tu=Pmw)(Dq5VAxw!bL_lzG)e z_MAW#?Umo9I&n4lvwgE4@GUAQ4<0c9zHES>CgR{2%X$hc70GmD~nl_5i?#=UgyZxB7 zg+fh?S~c{zIS!E?e7{s@$RoQKEv5Up1`HiO*n8tGPpT^z$xI4@A0L~NSl!VUZSAxK zus-`qrvC=$y#C8*1pr1X)yy~zA1Epom=`@Va*0D}3O!ER^1?r(-1r=y5IohiYVR=V zyFr>MJ#8$N>wsSuMbj+34<_U% zWH;o+%HMbZs@n?PoM~>m_H5fg2VMGhB0ze&y|o_d@zbr4iEAAr+MM~*6|GL)3qtlr z_B5Pk_!4y|2>K!$Kr0IuEF60MwC*|sY4MIEIUv&Us0MZ^tMrF7CN7{cMu)?Q#mMiB z4L(0k^VH5#af@#z{5D|Y3OpC3fHYcH@+)k z=9Z@v9c%hq?*UIyGnb1u?V6LVAH>xbu6YTMr!0~R}2OK=DIRszYgP&X3J7$3VCR4SfFenzgqTqZ(14k_|D%|h!ORz9O(tX`!fb{9XSmLMH*HbjBD zmaK{{4YIX|{3#AMyz%E*m_Kzs_!WkVG~!;ZMQv%HzU(Vwq^hYEqe!YT)QP?f3DBe@ zd9ZM!n>xKj!ySj*A0IdmUrsb%^=>BT0+gpG>zsbX7{cF?`sAv^L3+wJ+|?eW+m4H1 zD#QU+@H>HPA1ATC^}PkI@l=XJJ?AZ6-;jDtKySSZM9}8vrFrWia*@vf#ZO&v{ zRdELD-dyEtDjKwO8X|#le>INx`+{aVIj9rw(cmJ;4k2c=IZ-ajxDN>IR9t-XGk7!O z9!f7yf;IIP%=Yum^3BGLi7?`onpfv8FD98Lq~~5^oCsa!DdF(Pz1l7hA|)obeEQx? zB6>4$ZCc&G`+PS5h#7(JVPsl_3fOgpyQ)(iji4fnhZVqio97#I9mxGQ zNubl)KMu$5cvVHUH+DDz@PUOlNbP#-MG{y8IFm|r ze>x-kgXxmHukuDs1-VcR?Z3Em|2uCLyMkZCK;4)KYCm;>HaSJA=XytDIg{(oH|E-P z3q4~8y5SOVMW;o8m*^KJlh;N@o6Jfk~X4L}!1xNl(-k7J8&|(ebWc1yuP(i;g@N>%(eS4bDt z{7(lQW;WX8s%d?5vP!;fiy!7HAq+LxI91|+_F8?myrATfWIyphSiX8?2WOs8Ttgc)>*Bj-cUmVkr%+7<@MyB z25I&(ouT!dNC02osSTuJP~ZI8sHxu5o_&QJ`l(7Qzk4mq4TqJPdwsD2jD@y&y@baPyFiwdNx`67 zcdx9V5nHcypWbX9NGa4K41Joj2_t=zRKTWx5=L$jsInc$r;5FaI+;!hPu-hC5Gh_i zQdm13li9-jEjGL?)bCsc-fEXY40fL<(w9kpp?-QL?~Z#L93R&b8Q7AT4L5UMG!$Q6 zGT@G|OR8bec;gj$8YndxRtmijGbG9S2{)8`HkOa` z8nWyKESg{Ocwn{gL>d`B$&fRjzbm@TJSM|kah~byi6^!dv-9l}fH!NB2M*7gMX1;qpoqZX3%TORd`%3LL2EsCm`+ zPJ{Pqz@(9?P5IcapR_iCH{J`z6zn&$$jIga71pYc$benvA%Tnk3%-a<4Vb3>60lq1 zi-A(H%QJCuigAsgF7@gH)Rmw@ktsPA{D?>(h13DOsM9+0d+IyhHY-@i@bc#g7bZ*7l)ivP6o?3ijaM}2P30Nxr z2<0jlhOz>!xpvkw{Hd!toM>pf^z6>l{>E{_9&0pv!?=i5G%g^d&{T#~;0k)Kj|d>d zWqjF#M-PT+9h7UsNC}ro=wIk!+)LI;0w@&ePP`R0LjedO!l)YuW3rF1p~S@ zQp}&;VeVu+`$QWhm$W}t3huni%kC+|wLUC$^T*3C$S`8(e7bk!V(p-tu#)rTL@DEi z&HW6!$MpvpB?pDO)8p?vDCD zGAYjZE~9PL0GXw3ukL4c3Z<)xAu?^%3?p>Cz?|Qi6=MHb$ zp{#DBV%;HNz-Bv^w7fqT;yLrK37d`MzjtulXeO9UwCXsY&;39Qx6L`P$e2MrlWFk~ z^|Du+Wv;I8f(S#wy-OR>-~*{Bb1y?}kGe7-NQ0LyW`w#C&o-~NT;&YU?@n%NU*EMt zlF-9pUw5rk$^}b@uln!xARTQA`-CT)n~KHLEMknz9<=R@$&su}rznQzQ*n&eb>=5A z;HeXlZF&lO`ufLp$VqdCEy6@cjhn%{C+FRsAQ^NQSbZm`$+Y}^7gNAr>>c(S-42M=>8%Zo^!LY)bFca}zTwM9%<3ty zxMeAtG`8YF(>aZ9VSUK$r68TkXzMso--c%I^soxM&<5aHN2lfwiLDmZuDP5Pl2Yn> z@{n7Dvb(A#X=M%6e@Pu8z$;4V@ zXxrr#|M^m5{-_=hU^)Qq9m`6*#-gOIndeX%P>@H3>`>IKxni{#z@g{a&*w5w@Vt@O zb((>2y8UPqiD*;opvBWYcU%ctn$e8ddI9YP%F4~ibTx-ru>B`#shvkRl^jvklV*Bu zFX<-6z?udL)tnDh42+CacMz4uWFMf;YjQ9*n?dbY=aXxigzgl% z2ZxJ&bS^`FeWb)e8-xg;o5xKi|n>Z$T%W{q;bn6eBSTLRNcu^78g*S6PKS1mg!fDI79f$zXM~&%JKF z?Dr_+y7VB%5YqbNFNT*X7o+;B0S)g0A-SIm77>zp8dIwXP!`HsPm{mfE-iawl=kp+ z;xm6JN)gGnd9Q8}(zLjtL!vtA+y~DtXb!ZV#rrDmg?O260zlD|6NZ!Giboi5+z8<; zX^);}B+thbJx!@6f|{ZpQJJ;2-%QBIdtV9aC{EaY_C9VkeHSQ|j0h2cH!39i$5!n- zAcW`r$7`4)m&dwjtf6YE=CbOi>d&mryr9jkjwImMURvnIiG6w5buIw1$pZQyE|j?; zlt}N{YJbPcLLhlwzF}YC;SX5OH%#cqc{NgoBN1vaD{*Ui>suevakI%Q*11XCu!{zH zPd^M-m)kLfwZHbhh=iP;)bvyKJw@tuK`|2R)jImDB6pW7ltG~bYbNgF&yr&MK(VU! zgcAe)%~LRy4Nea6(v>z^7y3G0o5WW>ESqP%pk^71`0S}0El=c*rrz;zG**kpaDYDF zRSkQ7mgBq@HdC)D%gC>D{y}@W#r|W2YN*ooPQ3T`_s><#!>@HGC+=GLeul-XEw-Wp zRmMYWB+yf>=GNomy1M(zNvnRLx3hH2^%2*=bd!n>mgD}75}VCwR_#jMt09;ooF@$} zlSoZGGHk`#0ac(!tdCGzSOr$&j5{xC%5BT7X15wKTqDnra$Zf7NO!06kC?HHQSMk@Y!pV&KN=NQ(R__qBM zwW*A+`x6Yj5vBCZLT3g?yR1FFeE@`El#+G66?zL=2y!$nHb+{7%Ua3axICSty^F*= zX9HznQ@SVyw5+@nS8#HeDude;Ts7>9MD*i}<&_nZ9=6_faN2}c@mqzy?TVt$&om3q zI^?!xlu|pMqP#vH+UF;fFj@ZQ67#2NlhPQI)cOhJV!WOro15XpA-=ii_=642H;_VX2cgLMOZw#@cXzmb0`?Q}1U6p=D zoD$T82)~EWk$GHg9V&eDx;bPMbWBEg_Wz=S`+tv#ei+4FnBIOAU(~>u#sw>D!1F{D zmY|}WOqV}Tee0E(>On&YC#%0Pr7hNWPihAvD{d{?ro6a5d- zy7*LlMN4j)>`{wvB;j%i*(UrHh)Lb!m6VK17Fw$hLVw)q`I%F{Gdpm!x6R?y!h|Dz z2jVFgHq<^6lA?ha+sCfNa#IXZtQ>@~~+^hp^YedRX#?=F$6{3Ue9Y2NhY!5=n zg7M2C8v^(-W4nWcy)@4rM#YM=gXkMRfns6P$4|YlMOk+%?4vgd=XuIW%fTaXNzyK7 zw0xD*+9O{#5<}$OXkBs&A1S|6aUS~aMWf?q*r8-O_LU}wG>{~==8JAsIQlH<`>;C^ zu>)?$xSs_QLJ58YryJ4Sx!pe%A>og#O|9o8eGTD^L>a|2xf)MbX^dU`=slEtg{l_; zrKm+LUGj3tyKWr>sOy>`o@-mwZ*{~%A?Yl^*w_1o&2O0RxL(JA;L6TO9T};Nmc_l& zvWk`KYaKAHE(iDtdb&d8?aqtU8@lq8Q=T{^A`n)xGsT*&KZTYH)E7g<9PG^MIS@!D zNv5J6K{?Cgjd>Ytdk6kw;>g)9*Ee0Wmz%66zYUGG)+ytaP+MmL7kg0$%L7N7Jq9Tq zXT1>+d4w>lqVg7h_11{RnAzcm27--F2cd+toba7jivE=M~dhm}W?KK>-4`Q+5T-Q z(PuLPGcnq3aUEK9D6bu%8NtQ`!WiC@vo2Zr>qULubPU&ZX}W%#!olIrA$!h;n@bSu zpU<5`&A<>Jv@F)RP?8Xgof?*>0yHikS)H2fX{f4O9GGfZ5th|R7p~RTq3;HS*BVTBZ5Nq2&_kv)-nrY|1 zJbx<93xVdAC=25~DOoZ@TxO>Ud^|%p6ajfiHSDV}1KE#e8yk_ndJYK1jr_5|S@?^0 zrD(I_eHEu~Z$+&+Q&=PdT9j+&Z!^E|ZuWbf&xbQ@3}QTp1OS-#ATP$S*F0RURo*&} z<65SJ@+Cc6l?06@Q}%Eh3qQ0?6Urr(lcxl8?R!qocDx4|)=Z=JBf&}-pN(U_k0Kdx zA6k@r6_WxA_L}=#2PT&?-Ckg!tIj}5Kn%zS`mdWEQhXD#G4E9)RgCrQyALH%8XY31 zLB_b-1?H`@%n$lE zStjxo)}pt;2%}NH&GMRUIVWis;WE;~DQr-ZC{{mg91Q`ab-C&bv>}$0J8ufxwudek z7Jj4ih{|>0!aj3G&c3tHV8ST-gE(Z0jqlX^>qeJ7t5TzTw*8&Q#+oPUlezF$Mpu38 zjGV(BGitDS{ru|Kqt5=BoTP<>g;?do2TD6hTy0G?t!~1xuCnqC9THjWTrFLnbKK8f z4k@#;FHrV%pSLWhw;rkZ;!`W)XtC8>=M7!g;+yg=rwtbM1Ee$WsLDly8T0O&l#l3P zux90ZrCYFuoU1{-!)@-y79BRihb8m3L0*Urzr}QO#~}q$lxv$s$7mnQ5n+uga??ar znp5~8ON@_}&bcea=YRJ<7%%x!8q(wwyWv^Zc;7Z@$GusOa?tXx6ELj4FR zomHDKBrpJ}hlT2<5Yg?8k8wn|+Mi3AGIEZq=iGxf@i%74TWL78pgFqX*;b1`vUs?6 zX=~27lUk8BQE8m}=?L2@Y3`j#azVOYQ+)$*rXi_(cD=;8aguvb7_o^y`8vpIIn{?? zC_vw?Sk$8OwLhqo$#9lR^c-(OU*^QhE}zFsYgYkBjZ^cQM7L&=mP!6% zWHY;H;Ac@(!-P@n0}s6$>jSXyvv^-C)cq!|@h125GOH2T_1Z8{XVGm7MJSrIA<*Ak zwjNuaDdBN>tMVLdu{dNQNoI&4k&VW?Pn}@wvK;dLT`cbU0RnQgS2ksllx8X#cr`)8 z2E87ScU+0?VjH?pI}sm0!i-XD0kheyoL9qcQ>d#wmzf+AE$|Q6iu=KCiiyR{0EL0H z<+l|5meRdXWh{EchITcBJv70H`w0F4GFLJ!DWeG9hF0CJ*{?t}gn|%l4M{onICft7 zik1$#fL5hE)a{SKPxV{1HU;2< z+);|_F$VkqTT~G^mAQefE3z(U8L!{N&b0~dz{yORvxho3+q4|Ze84ILeZzf@SHEYy zpbm-^+iSMDZ7~|VosKMCOX-G9KS{v6NxEg6^vb%MpEigAU6oN$4Lnx6ms;%zyn90= z3&e*8u5oa}AT|hlwksK|jNEhROP>dBysb0d5a@7IF8m9VoM&)A<9=zCNlkiTk28nS zh##`_9`j;y)#JXWPARfhvFFUyVGGK?kqAu*oiLHzu-2%!glp2xjtn;f%DA6c%Y2&6p!@>$`Rf z_tsB^y0&yZRuz1sm7nA={KL)f5(J^{>yL1~74Q2!nd#Dvkm50H7MQBL?`ZmjukHp@ z&T6TYRKZy5c7TSkVqYf7q}W(T_=5>zXwQu6h1%|1Y7qd6_*~--&-K@-y(+)g$5?)_ z&=hhTX^#cAkuj~ShwD*lArmp?<_|IWGbgA|ia}YG3#RYvJ`PsTBI97x738?6sf;m+ zMb@HOt$=z;Q1AC5sk1tLTj=J^A4&X**Poiqg_d-g^!Ykl>F*9mL0zZVbQR}q9A3!z z_mq~EyD070s`lr-&@o)Xa+#jW;B}O8XRlHFa6r~B)_~nQm=}fI0P;yRTYcHC7O;Va za_N=J$~*nss}(z00PsPuLHI3Lw4XG2(G77^D}Oc&ccbHd259ViPYO`G@o>DRKU5tx zRLNDpBfQ!yXiCqpa`%h-j9xjOeW`XEzR@S2G6mVkw2=DbRR!Av#zx9TZm_|a2J<3= zoAhIu1Nxi%Jnsv}bcb0uIP`@K2Qo_I+>U$?-VZE%IzdmZ6IJ)RJf$&nBH;E)BacPY z7isq#<@lFRg}y3UEP5e*`)Fh8gL&=~)bZIPUH&1s>AE@hBK!S=l`?2cQjDomHB;D6 zYur^Ax}ojLypwXLRyaT(re4>X_kf_snzjfQdz z?9vt7%glYE?j`ILA@UU@Mrf<+^ga&amL&7a+RP?*_`<{C$aFO(eQnvfC!PpW<`zRdLH<5P;DqRfAw%7>*BcT3s}}yt=RZ5>EA|u@vB($86haOj)9w!gG`8~XWjMwV z)XSL0%ok+AUen1Pu?CrO^;qS-Y>+}gjg1ahUy4&yuX$q(X%bAZZ(R#UdLv|eksm`g zbH4M#T&JTQYU5-z#B?>lHx_o<9O1Q)uUv6it{$Lu3UsBVfD@c-O{S2dxbEH(rJj z%1)J?pqIT`12I3$jy(HwBWJQ1pWz2_I(*-ZKeMF*THTVlBswbE84=84NHE4v*OjJM z%-e5`7G_SMX8@;7cX>^F!*}((nzO%xFUuzA=jLM3^WX(9i=VN;S+fr(C)n*iI4)G{ zDYKi$)@7AzQm1Kd6=qvAqE(5nW@8lFJ!R2lXwTN|u1|9Cyv3Kn3N44@u8#=i_#2%= z5^pdbb^A|rm`OqbvFFBHV&#S%>BhaSz2h z$5h+nj_MHC5}C@a5$)C0?z`=L6dx(R0m{pJAf2uC?5arlrPQ09`}^ar#h(J(p5$ac z8j{Zpe*bD)VOhkp1IQy5e%qqXS-$lG<1nNhFF!hUqZS6pVSnD&d8n(k%UOXd^$!fE z57YaE-}55?ocNGE*u~N_?7|(zGSyKq>)za3TpNWxy8F5rq)cthYVkq-l>AWS@Q-iW zZw_^%lRj!p-59(Qw$o*eM$aRoUD-TDU6zBNR(6+x&TU|8JCSgx4c_?fl-tv~TU&9}<#>5KcJsf(K5v?bsU=JD zvkyq4-TcrAX%?ih{rse*O{ric5bXwdRbZO!E#oON^f<@MnSQw>^EgDv6{D1z?`Ar; z5)Eg?b6knXp%L!{s2jfAhek{(?X%74ihH(fYjt%maD?r&Ss@VF$p2|NA)dAHUOmIQtTjV>?2UawJ=98a#|@QJy%v0x zy4BQ9eLp0GG%HZ$RFDj4;p&fp>nM&v;W>JhN8X82kRuYv5Z(rlcrDa4RZ@ik+|0{D z$?n%sD%4QM`$#nH&@NCmFj#RvJc3U5=HzDU+I3|e;4-k%PZVmloK!4OE6pH;wHt5x zE^2mc0JwqVc`%;hTWdv_Rb9^}9@DYZ)Fqwn_vi#X*Q0PTtmcQshHqL5U~I3hmikYE zRt6P|*0Z~cnXSFTy8Meb4si~>kGn;PZ(!ZfemjZjS|``O=4|_RY;PfKp_F|A?VCCd zJuKR{gvJ1&F*|*pPU#^o#7!*whEl6!}jwVr6@OjXcgqBKg;fPacA-Dz;vTY za*bq$TpcL>sQ^PE?NfcRtcX2a_ViUsTsz(FNwu%SSsvy!KT0jU6@hRdmPP52-O?4@ z0LcgW<6wb5tyAip8m&NJH}*DS=R(gtNuW^3ixCWywl8(l&p~inA9Zw8kqmk5S5tM6KH1xABB<#r>L1M?- z05{IOPR|N%9!rsU(Xa1`%I%Y{t$uM^TN6$=jQ%{YaXfB}3d4L|=aOd~dYxnJ-QETn zW1ybJi`O!GJ~;K$n{f%_7oadfFd+1#U@6_L-fhWNZ21#LzFCewvOo3&^PD7PH)&M2 z9gMqs`k->+b=ZoMRR2CH-x`*eS6vl`kU6I&_(s}1+o!|*i-%O%hpN|b*lVnVC^=eR#UDJDDznG@;1E*S;KYM(BKGOy0`X zXB0DP6UKD=*J~bkjF*kp5X>2SW^}_$xD0-CcD{yj+UR_aVMoBn#4KDe&6=56mgPn^ zJEOTxU2eo%0gtk)E;pzsKaXm~luqZr)?KDD7GU+;C=Z*@ZjcQAKGyEa4>v7;+93kuzBG zE?YpT0XEvu-8@_RWE9ph>@4`8WPQO{v8kwr!X0Iha!jH*1_(PC6@L!5Y8B4{1RxR? zUr$!UN!#)O+m@hUghQ$R1@{6&M&~q1j|7P^nW+$L?MP@~oD%TF*2>1-70xK-Av%4# zY^5m&;F}M=bMoPOu1D(-uwY7TfTodw(+?PN7nY=sD)1{+C?@sI1075wD1Np|S_9OD znkxM8C7Bgw$-C*l#}1G-BY~TP#nNOTVR5)jZ&2Ea?I}?pNJqI5odt-I_=6fuCDWE{==8)_&KLJ> z*RJMIBSR|$M+w8G4ktIz=P7A%t&2)+`S%cz`l@X6T96>VQSnrXPf~l5> z5q2v#Jh0_oj=!RzW?5Z5Y5?l){Q}e%7NwLs(g~yqr@Uy~TmnKZT>=WfF+s@Cou6IG z=Imlx%yLalpX~Guy(u>phMHnHL3MT;{OCcYZB7ObQmST6tgw0$EF};7ZgwcCnC5TY z^o8pM2V+ftmMgu=%3D>Ud17R)aMuJ=E)XY9`zYm-u}`nOUJMdyZ{I%5b0t(sCp+MF z?=Jctg-0HYRL-t{Bq)J*?elx3wadj0pP{f?Wzz026M(|6@eIu0tN7G;mc~WfEY=D= zFh}uJ_CqgHX>x&6|Ff-tBc_+u%%ZS^*RsSGTDQR#r97+;*g^|*kMUSo9IEU&+hpLD zJ>2o)J|=7>)929_#>83QU5lA`J!L5%Otub%HY`?JLAx%l2y{DWF-x%SqYLsOZw@jP`biYu5|*d@zGH#YcK$802bPU3EPZF6T2|+w;xu z4>E+h?)93$!C&bFXt5v;Qqo2}e10U#&`)tde4{71Fbyc%zL_etX*JKgC9t^AEu1&! z10ALruI>jgiz`H>nl#kx?LxSe8p|~8ztsIFWc;#hpQ`AdR?0tM%nCM>bi_AnBxbc9 z9fGS5_poWJbrbD4^LmeV8V%#O$xCvH^*kJ*b0Ak}5K!&>vBV18oV!pax33O+y=KME z5qj`3=!g_FxyWlR)^*+b*_(1$@>BVJ;cg~wdMSU_(*6=HQ+3gQk zC}-S0eq(X~(iq?6IXfyIFdkzTHG7mm4{MkLoRRy%1(nXo(9$0x0D#j`$+EIvXiLC+ zWgp;DTrmwUHgw$gi%R^q35X~$K`jYmSz+5L2Isy_wa|3dy11tp-d1+~5q1caT^}}< z_=W%>;R70;rWd#$m@i05#inkF%r`27sKiX!tkAyAZmX2{=U6K(-rg!E9kt8HUVK`aigML2H?QrXV*QXsEFGdv z>f(WeJM8l4WHwJ+7tD~w7A2yl)th2VKvZlf z(bk>M$|9wbrR!x~FIhb*Rq00V!m)ehkHSqWOtQP6-CXp?ga{=aHv9;yZ`)(tvEL4D;cR|{793oRk)<|*sSM6{s}aa@L=P7L_&f8twUQf< z8r($W;SM`2y8`rgD_a4sS9n$eI&QeEjf76^4a`^8SR2CULhit@k216$;V4TKbJ zb2!#7Nb5GM*iGEL+}2s|X1>(I?_{IsNTy>}3dg6=nCP2j!38nZ5#Ik&tiWd+oUO0KKQ$&Adz8eR=^B?8pf9A^<5Q!Vwm!#kl2zCT9 zU%T0His1*@Mo_^m6>*nMjKk0JTPHAM(BAySU6si5#a)$Z+20dmNgl8V`z6h6^hvGNrY2I1 z!NRUHvKO#b&(GejugK`V&0I&VGyBV~s4UY6J!t40Ql80=z#R)eNBPi>hk8y(-(|i# z9rWhu|8$)Gi{$d6%3r@eJ^k^oIT8>ci)QEU+RL8QQq3N!DC@IoPT{9lx{~W2G(cJC z+p+C1Y-~!Wv-tPV+q9yEteR>#_Ct}s z?*f%DK&NnH?<@LobJ)lfo)I_WadoY058I*>;tHb9}{s{GY0< z8OxtG^k)GnK^Y>YjQaN- zSHS)IxN9w5;VSy|ReQ3gV)hySF`knYK%-A0$S3=^4-!s6t=}qi>}uJ6ulAq+{(F)v z{<2(kMHl6tlSi*lLms?V+jE7h`UXIwue&~8`7`z>D(Qe|_f5vazh$BSxyO}izxR|E z)o&bRTsC>}Pl8f(xb^3O2{qR3q59JkU=IT#r5bD=0Ze~7^^aZV)cf7jw~OId|I)I5 z_Df#8Gt}0K+DHcI>Pmom=ij`z`s3tv+TQ_o@t>dir}o230i8KnfdJUH_*I6=PaJ0Mq5+$iK=Na_V>eJ^{H2h|BB0WM%c&f2|gK44VpPBya$z zt~mT>ZRP;^S8-2qrhlBzzg^X0)xR30%CN)z+U9`RHCb4hbglC|#WO$xS0J6o^*`dw zV$auk9FPCKCI0FBAEN+-xqj{by~m%g{GR_(z|K&pBoZ#Ms&J|TvwCuEO!7}7`p?oKOnEwT$W*yO12-MRI9c4;H}}G1<$?+2(>1C zHnaKj!AdZvoOzS|EJCL z_h&#~evf}SoqO&g`Qz*}wtwwkJJlst(Diq_oOxu+@+RfcbqXF4pxGa%;&6XI zU54)g%}U90+Wi~t53n@mf878s{+Hue$g>chdYx=o3uUX}Qrf^AIIwwc|81R$UC8&U zaL?ZVaQnpZpU!mC}B_YRN5ikwukR*o^{C|GnG)X=i2I z{py!dAp*Er?%&j!`}c#z$^X|aFm&Fr z`S&;j$rJENGdrEKp`vSdsmk-u@Kx4;Ic1tk7ykFnnh^7Q{CpX{Pt$*WH6e%GQSp4c zE*~Qqn5j(lA3vD2jyA-CZNyASxm;3_bKHUBgHW zBMkBG(W5@U?{l8>{&#zShV8!hUVGJE>$(cLxNWBkKQjI}r!i5-5FPhL4d$w~3F>?P z&Kr$ihay9OpuRsjUyc8>Q2+GQNzh=W))KPUs)IV|)oXsrl(gdsaVA&St5hd;iJutH zXDb-|8uwU$J(zIiS>E49{U1+A#tneULvXi~d`8MKKmOyFgmZDnr=#=O2_0}Qbe`3f z(EgHxf&eh6-4_|F_z@aEgs zH-9h7uP^z})d;Y?`cst`b)JKff1K~{gX|SdH zPXR-I(c#P(#fh^(vaUbvz42?u1Nbgw_~?H+6L0*-4FBh9{u;NS>Zi&n*v>Q~`Z*)* zAMR1RYfluhwm-p_^$+`e<=27IR0b=cvTXh4-x`&H*?Ro9#6D)SsrgCR{*(n6vUi;) zvWa6-fe4H--1qqDIDx6$(FU44Yu}#!*R=j=s?r%re-CQw_xQC0L0CY*N^lRSi`IOV~g|0l)r`<-U?-%2-J5BI@v)oza>6^j{?ZR=`(MP z|8Y5gtKI^>pOSUYA|!_Dr_1u%m~aSoQr?^h7@z`f_mr7Z?{CpsVFP+Vl#y!lXN>y$ ztN+jXY8wCTdAf_7{CtM6g3{qX!X%dRv1M8optQ`$1jT-v-HQrfyY3~75&vH6e;OE| z;rvvE=OrF}7Wy%$_YZSMF0peWzzc}07j@nrE2~ZLyV@roko>z~S^o4qUnDvEmH$-n z!`g%e5S(W=B)%vQ{4VCOl2gCO_@V*!D~05rw&*|Jc0vCcB)M+uZ zKNfHbSl;s=tp|}9b#eWPntp5EUq1pXa#8iC!n(LdQE~OB!rY`L_{sk2 z`e3tw(q>OJQ&9iCS@#JtK%(?g{LiBN)3DdB|5UC~qBHi?KR;9htiZAF#4(lNw2Ckp z?~wlbezq3iAk8FK{{N&M1}J}if39o9>mPwo0N;=8e;%`T{zL#6RJ!fYUP~Vb7WUGy zH#+|`xj*k>O8@qdCbU8serPr}BEp*HK9pmmEFffa6y_iN$z3t4gY8ct8T=>B{~zxj zT>1I&w@?0DwmX`H%@1ts$)hZA0V2iDYI*Y47D$Jm2Md}_CM@>qpXBrRyVv3@-{pV!Z}~5hC@W$3u_FOt z1lz)A8Jb8OQwN59$s}FzTM26OgJFl)p1x-IDJ%c+)&Hp!0&M@@|Ds_VY0Do!vQ7G7 zTo-x{M>q+_)xBxV@Yfg_MZllct>#(%8T$OzB>y=im>ZkL--@Nniq!kZPuaW)yLFws zgN*sL%+po&lVp{DX0!=RR-!P?xj)OZhVp0(lTH(XQ7~#+2=|%g`EGMXdRVgZ<@BTee;*V!FTf(#+(f(SEf0`$F$MN&yPgybl z{NY)`p}O-V9;9$|2x0g9NBiHKU2qR9sNK+4ORHb%@Rthve+6~(BG6O@;b()tqmB-( z76948?#wIh9&#y8K|1@l0fjntDwTFq#-PZvENSs8A3%ze6jG7g`%JjUBG6L{O*l4& z6WI9Js{k4?bs{K9AN4ta3tN^7BKg3LVB#2n!sr>dgT;EbRK3HY{GBdw8Q6pSvm=-MG_~fr4?)2>QJ94T0FBlY{$F?}!jBia4oj?jrK#xWY ziXS6&uWZIRG8`S^TEo|gRN{Qh4>90_YsMgUS`*!?&!?Mh>8(gdmFTiM;+;wZYuv&OuEEFIhz)l{`qtCe^P<}?}q*qNj86i zrik@r{^$bpz=6^bJ{G6eL2#djyJe{A0aOuvK|0R^rta6iF!rsIe zEx47dw>-f>Ci?AIw*M{ehIb|FI@)DjnXe_CclSXFhT1GYVkc1FkJysQZ!|Lxu&%V> zifFx^KdCGf*_8>l9_~5$Unu3OA5B5-r-UUpg6=8HIfm?}(8cte9Q>;3k!{&Z|CE5_ zK~;=5WZB1~(p4*OQ7lugu?C%BA>4F4lOu zImA@|!KxVGr|2mSI@4Y%im@S(1lAuumt3e{G$oGnwfIyOhJ4n9C#Sb(^j+I{NaHzI zz!J%WG@Te++T)(nq&%Y&+z9P?Fz6)RgakKeJn?`VC->yli?6qOhOFT4lAU(p|||FP>iqZG!gZ)ym`FEik3zKKn3SUwUb0i7M^&@XF7~q z>pD^Gfa>o_!P;62!dm!PwwsGumXf?T3$0W!bod-`y=piF8zE#Y<|#0NEHnPf396&% zUHjYPpT}uT=q{eA-*4$^DJj=f1& z&c~#_V@>z7{e8__9V@6RqI6+_LHd&Pm? z&oC#7Vl$1P5u5&tMo65ylB2=cQC+0|kxBRH$7lPg_g70kJ6#jv_W5^rE+$U;JZA8k z_DBGQ?e6~gsuR!bCymb#A-C-lWCl2K$;*@t(_bXWrE3N>c+$;98wX1z1*I%1YH#+5)rW8=4N#b6f^KseAkdBcQHgci`l`*MCUpGQ; z7qC9dgD2r*`}rLn9H-M_Oo#!u%!8W^)Et#VGgta1I+q0JlUz)LEXtkcih4yabvF}z6a1C z#Hb7e<`arV!=N4(ZwDk;sX`rkNgZP@p^Y0pZw-S zNP;`kxYp?MXk;)EqxUxNV2fFNifiW6Wj7flNgyaejuU~YoOM@6@w(LMTcNA9;#Sc_ zdy%xhwNlOPyKuG0^|2%MYL0$XmN1s?i@(mh_AfFAXiiCBCj%>}sPg*#_IXASnW=-_&h~=u8zCqnttMG|?E-i9&ph>Ir)aZW;qh|A|D6jMz0iZrd zvmFJl!jnUoyajF#OgJ=_ip;$ZQZ2nzyUoss*f98zPFeK1_zMvc??+Nw_pP4F52Z)K zpm}ypGe2T?yAsiKX{zJdrAF_EQiI=eF31h8#h1@wcqO35POY>$mn7%D1gU|x$b{>! z;uEOzG{~zZOG7)0UbieH*`4kleFG|vZPpw8D-LY6>!FcTp8R5KnjNMcbd^>i?7_vd zSh;A7FrCvr?qQ;A*u?=>V?XWPy{1crr7e0E%)tiDde1-^m0GD+GN?aoyXot=l0LBc zmYu0EKUm?_CAwx#x093?-2le37NN*-7IU~yF3CfxE_$6op?47Wv#&T-LZv6|AP?!{ z*WFj6)9;LF#_>rV?N@p)&+EzJi(I!_Ug8oQYQ{t@l2=k^lT47$%6O9tDgr1P{4jN{ zZsW(&-2x~?O&Zjvn2FIJ$~)-IgeI-!vR&CAoP?6x{%WKC%q%inhZaI_u4|j4VRIL~ z>CuDAA|%TPH&`uM?II1l(P==UJQlgOxhx55$cw*+x#rR5D|?)X#ATPjNyGu`A<_91 zH&(Tn_v!RQ2_Emz`0uO%I{eQILe38G-O}$`Ml{Ui8l?KLjCoM%3k+8(bLD1l^iFxhmoeqW~=F! z8}!DoR4f#-0ZzVqWhI{rUFX&+d%vZp0=6r^rIvi}XiTy-Ag7$RxVE5%W@2dHun$sIfI=2oDpqH~=h=|vl)ZlW&4Y}TWa>{UhSCyI zlcV{j)~s%fj4p3+wKk=<;2kDTmVn4ux8Sehk1N&R8cZa#y4d=qUl<{5V*B0ICt5}9 zpR>CjTp)f#wJU!tz=fJ{AQ(3pLB(d1_3#%tBSdzh?)}fGn;d&|ck}jnVGt7SynRgx z+zX>W{_KCnF47i+qmZ{B=fM0iJ5pl3_L>uU*Rxx_!c$xrdxEPrdRLL^7UK45il*Hb z=vXyZ&UMmx;OOPT!tZqGkox%uqQ>-lXK zkpycZF02H+XK*ueu&4);Y4#~xxVa3?z?nDl4a4XTEjXXbzDM4)8>bmbXFhJwgJf2<$uGcqQm9m2k)C&H#hk5@kR+yB|3dM5Rkaz#X!f?n^uywaS3DA|b`16tWgULF5vAqeMjI zq|FwZON@tmbd?8b?)Fzx8%0B087{uY!n8EVqZ;vdnC0KyFMRXZR4=y6UQoX-g@dm? zfZ}K8`PRxsEGXmaxsidk6rvD_Rwe493NmT*Rzj4J*uXlDE2w^TV<&=G%a;nY@1 zI>7I|l!)u6_M2*S=Osyc5@MY@?N*x1t-tw3WTEatpu#Nstwt*U1CwKnzC1P0Jc;B| z+%|1wx>szgk0RcD2y(akXpH1lVzN;Di|Kq(-^>k1(BN@z-juW`;pkfoerhb1mODqI zAKLc$F`A}OeeGec)c+{%xi zuxAMMXnUOaq1?O(LyXN;i>IvCiFH}#pe2mRDScgGQ-r(_FG42>L@NQ_ zX4oo?&(YTqrlyC_X9JnZ;hIjQi)n*BDci8vu}!{>>AQIyIubz^R;@yV_HWzv+C0OJ zrnU_D57S;A3QR@2ITfw^D0pTS5*NI^V>@peaOEypJJ+#`vuVaOi2O9aPgS;qTo0a| zsM%JnmD4#RD-R0-Jg00m)VbEu@RKGmila$a@?>~b`q2T#A2eVJk)2?5Cu2Wm+cUax z$ahLMC%4;95p)MO5get)MZZ^D$;pgU+^{?mxRfDi_NcRSPj5~-?3=^)I5whJZakt7 zNIB((km~37!1drQ&mDinXk%C)wtU|sv_`iZDJT?dmlkq5=9yO~C6qul>HabsIS@W|(k zYXT@76*lZkeT#K0t9whXl<6GC#a9U-BymkrQe4b!=^Kmw!jq%ONs&FSBSWLrlu~Xx zr!=1x8-KqVWlP|#J=89jmvb{N>T_A5R60Yo?!?5~Ll3$D{l@E#*8Lxb);HlpL#K=0 z?e`|b+OHS)Rmtvsw2;2lB`8^G!?W7f869@wfq7vj`-v+MBk%CU+sl&v2evm`G%&0C zBky$jrL>qo0@!sY+O&bsrs_u)cJn5&*&aoW6*KlB9`T7nrQD=(8p1PasQMk^%xNOX zPQ$cmZs6TC$o?C*Vqrup58PBHYLHY$0(}*(aH?!dA>38iXRRvY`z;ho8Y6D2~GdSYM{PfhsUu&3QjC^xZ zHhu0ztHWdsH>%Xceu(r!PpX}|Na@R|m~^CDGo(Neb&||vOzS;xW#J(FB94O#Y=X{= z9-I7h%4?l9YZ_7q_GQg2wM;qL&qO`f9@dOL-g@YbYp7d#e+iJ)^tLrE-4WnfbLL*^ zMk^>SPnj*Gnf1F6}A&AR<_woh$Y@nv_VcQB%um)z%y7^mPb zN!5AIFuK&KMY%>&5I}eIzf`Z6`4G}Fpr%;#O!je+w$NtER2H%I3MkKV=(=$@#O|&z zTfwKDOR;vE;f9a2k1G+lEl_e40TjzI974^bNF9Or6@BwG&uRaRmY7Usj-{M!f#J!PUTCu`@xFrz7ys0qXibJJSt4=w0Fa)LrugMclEZ6U*#jo>o zAG;^PxLn_g7Me(~ewPZpMb5-KAb$8URCgY`)(qOBJz^~z(SRMGF}3hm8yn7h>9=B#EOm6!f0Nd((@w*tVXIbRXNAqUzi+-`c5tv|_DU>mnVHvsUeqil7sc2pdSvLDFVnE6XKNEZ_1C zQf+|bP$A@&5+s`66+5uSA(+|aMGRxpT71ZvyPQ%5l%uk~oBQObc8L*KWXSFvt{Q0maZ z%|tgrAx3=|YEz%()JjY;qV@ZGs0pXAfysQgDsHXsQ!}@U|9*ed)(-s^AU#PoZ8EES zR(k{)S-fDq3&{C8$PN0iTU!Vz{9<|;Q*6j&8d3IyI_}^lYx)k<>+KemPvN3Mjf~82 z2Uf`i9m2WfvL+Xf4bxp z_-y;u5GE#eH~iYf;ZoxMOTG2MxBZHAM6Fs&V=$M5uIKDh1@sM|7t@LpFJGJc+!_?O z$LT%a8#)4gZrQ`*E-F$F`y4J`Z7{Ovk|5-UOdYj$7dz7Z_}pt?4lC;wuJ$xH8;tSI zuXjg8vA7_5LW>1#t+f=jWmQ#@@Am9FUIsKN|IWVt*Hggeg*!98Nf*2MC}gQ5dL2E= z^u{a|a=ZII!?q1&H9W@)sJyFhz%rM|tdi`YCJfiYbwlX^5I~`4PnYsdnfFpklHb3` zxxT;4dM4UR70Tr$lmF6~tMz@)(L;rH7+0!j!Ur;mYj@}v>M@6%c@tE6d(pEd5cb=% zQb)TV(qZBj5Shi(vKK3qUdZC*NwsMT+wSInkL?z~%*0VAm8FX9wOwlmz;f-imR9Lh z+CE*EhJ3t4XS z$Ra(d&l*Mm3hjzMexz_VR66lt=I1*Cmmf`n*8B|6nt$JdV80c^TPBxr6(jiC;8PR-~5J)zAn&@Z@U%h}5dz3Qfnch4bwb%TjK$w!0gsj1T;1ulY zCvtBhSAwOo^}@!|&~%gIRO^rh^IoLRh~=fd zY~(WtAxqHY`r%@xy_B?&|iWv1%el~Nt2?0;Hq zgOIu)j?d~|X=I1oe2OINXXX=L>d$kQa%w2A6>0A8VvKV$l>(h(j!~lX~V*fN_)Hy{Xo+ z7#8PzW(tX+B2FTf6lym6?zapwh&gCv}-zhm^ONp zAr~ah_QhlT75DQ%_3AI6A73DZ-siP(uBo&0yLW9e8D7AuP)=3C(C*bD-!o2TR|aB= z=taJdWM(pw2PRIx*c`8ygSvkI8qyFgH@k=5*rVIKjQ@)SzTL94Pb-iCBVcMMT3PH* z7k1Atw1w!NVzM($gUq~%d79(K@dWx&OY;?Er6LGA>EeB8EplMIe0Ymzdn6gXvhPyZ zl}}qiw0h>;fyhjp@Y&!OE8oEVW7l2KO4bb;SccaQ5x%~%2fCRk&Z5U`zci6weXH=Y z{vZfF4_!@3KYt_z_Q9zvvFjlTBcrfiAPt|rm!_XHGWY2Vp;9ivMFBCf9nYB17^t>o zy~Sr9v-JA)9f2~3qRFwDriJne?IhVnJmBdOnt~cp*)gvY`k}Xloh=UiG!JS1$2}C` z$|u8zDD*%Qt{exFIaBpUQd3=ZB!Qaq_F_G$_%e~*s!uz`iHG|`VYhl$o(++SVJ_t$ zMovIq^H}Dfp2{rLP}bsIhxjmrym?NS!+-@^^i=F80~5CZQ{G#(*ZK2{Y||grh6|iL zT~?5jtt<)PdtaljmK&DWumg}87=oVe*qwoeln6)w0y|3o9kPge26F{OU@kTxQ}P$SIeqY%i9CnRdpGm#)N=jgly~~rYMfjN|T?_o)JPIo3)7O!ZzKXSy(i+wrtw2Xf?t)8ux(I1g-;{Za{Se zP%z;BM>tcdj4N8qI&U=@S!OYb)@AG7rLFQt7I)#ADjg&xecgUKw`+sg-HSHyAQk%H z?H6L~iA*~<*_gpz?Q-abe$NT%E10oJ$(=eIWTvZh4oPf39zaaoJ2$kFDiZ|Jd+j^< z4P>el_z{w<3Ay-YgT|wUWG7d$;3p@EgQ#+8KsvY}CbSy(=(Bpk!&m#2^PP(U(U+%c z_9u?+zxux@dD0lWE>_pE)!jH6{&ubPe(3-O@mFOk%ccZmEWDg<&N9EbS7K)f;ZulP&~sZ2|vD?e47Ou2O6rNRwGnj3#>!P5%{p z(}{5u<=?AYbv3#SNr3buey&_A5qo95!8He!RhIk-bj-pn91MsMBEqQ*QXtAF&Z*l^Y^+_jWVTQR3bzWgoH+GnhICTXPD|@nRavC(l}hGfKvoA zbf?fPyQwc0K)5zvTT1OvkHoJ5SU^9Ff4}z%JVz(l!{(&H z29XoKpRlQn!H3^K3hK zfnvSclUD%litpgJ7{!qflfuqE1ppQ)%ZjTst~hoLoc9h@0~02tdgIz3KA1#o;tgEnUIX`sb4gv;H1>s(2Vt8U8^ciSERb=hDqJ* z``}j`;n;pmXWh{oRS2QMuVt`LoE#1%Djvm zS816a7K>c?A{V(mxY}B$yM6D*M3+|o)XF&Mc<@t&P(y%Hz`7YWw|&cW@; z*fz@snDM~oRqiENoav1ek=1HVl`Ti|lOzzGTt3p3vkC}o-4$8^=dE{s(-Kexj9NdV z(?#no*mG9M;wTDE4+BIArU{@8f3+HM%2*g+zXVF{ww%d3MRi1e`=S5f=(31x0I@%Q z0=4fZiW#m;-`L6lLo3b*!)X%AQfJ4PClllE}BGCwq|7LPJI0 zns&F)oJWv*nz1AK2fF%%P=*guHkKiET{lvPkP+g{f8zrU?(Xaj&%)#30P;21V5hW4B-`C~$-NYr95(ps`8t$9 zcWC;^q}gie_GnssjL9yTRDPgYp^f9SJ^T4uAAlI_NIISec?VFE8Wun%5C^?>FC!F9 zWUo*}byUphQWbxMwsW!?3hD(nsAv4o-E4pAC!DCI?s%CqYc_|GUHb}x%pjx}sU|!z z)U<%@+uY_yobI@1ljXl^lN9*v;-nb>A}8A}J05$%#DA7_YbjeJxVIf?*-K0_KA)8i z0IT`18n@R)LdJJVDIX}lc!&qx{^2*S7WvKuyX$33ARdS!GtDwS=ip^seASCLJ z-IJO3jAU4hzv+-sPxibkbwy-z?m4O1(Fps{@!};+O#QxM)UC*M(aEYkx~;m|l|+Un zX)|m^u1luf1>fm0i>aq%YJ-*A4`9NTsh;EgO;S!R_ncrtn)+L_e$nnHuf!-ZS z)K`(+dQhDMBe_qTls?geQJg%A>hSm7+Ytuc#a*Vd+yi;7Jj3>NZKr9F8S(dud~yjb z%Nrb`0No>(nLEi3|KbsWU3SP?=6TWPJ&RV?q*@-B7u7jId5%IoB#2z*_dt{;5W?hV zP2jpGWFxE(KWMGvOwB`XD7Ms5O`c;Q-bm5AvYGYDkjOB_3-O?};t|gk_zV1FQA33W zf#N%2A_kB6xG1ELv(+ffsZ!lVgLnfaSek|#fPQ>?#lz#7l&kZTNYkqOrjyU7NGOt| zR_CeVpXiPxxNLaTxW_$<8kN2slq=@aSFrcu)=|HG}2 z#6_LUUR$NLfyy39Z@AbL+Rj2To*Atr>&-`t##=S>4*rklq*`M!cQ5Rdki5~?Z*7Rh zx=Z;k6n5;#jaG6!$T`){dF|o>rUH)-L5&-_EItn(jDY$f7YUkTr%$7pw6ZS9fb-$zu zIH%kz9`$$v)d(&2dOSFWSd#D=echIK=-e?r)|Q__CRJhb)|kk6x!&>&fN7EcDhcAB zn@C3@vsA6wjtHUtG>>(9-}w5kpIQ#pSLjoBH{B|G$L;d9iPLxX`3ZG4c@O2gFS|}d zrU=(=J_|K07OWYuL^}K$F>kF+vhq zty#OXg2cu>`trC$txF)GMG<- z+cy5{cO_|#L)mXmANYRzauSyaKpjSbqz`8&LWC;iwhuKET@_cuYCaWziRI14+_5Pg zC4E2OLLzjp_>;#Ijv*_K)_IWLc~}*2;6y@{GKOwwHnSNAFw0(T*RTMdPHSY(5Pte& zK~{dmGlmPFZYGh>Fl$$B1 zK4{o`DL?6%WtVGMM%S^Mrwwl#;fH;`9i}LsNgj`_@3;j5a+Dt)PR>)i=&&vMW)7QhE{mNqQL>#g6?J{?J8zvLg_D9#lsh& z`|5?_3!8Lz-AuDkQ|_bQMF}vHJ%H{n(+e*0`<%|rc7zF?fe3kM*3W!=&T(`}i=wdW ziX$v%uXMKQoWb*vt%2>u1DAAT4FQU)TJ@~s=N|k_YU`cqoWL%7YGR9QPHqWKk+zf+ z`K&s9UxhW_V575XWDhd#+l+d6goTDpyviT2E>PWl)K2^T-#SSM!5U`pgcwFa<=*pl zfR})5T@mo2B9BK-KZ^f?3Sr{9(>eY6Q7zFHKyMYd@S6-yYc3;?TOO^qGl~iuYzpma z+w4k5x>$YM_Q*qS$ytkdqMEu=yPGemISd5)>c%2iA|)@ab*~>ydhUWUH>R$w3mRnt zqOf*_OmCgt-0pe3Q@aiGBbhgoH%%J2q`tpp2@>d_hrV}#op(|eRr|)iehX*fa@q#H z0hy0YEMJ~_$ydIN^0SH%E51Mb13I;A!me3-5v!KA`S3L>%zZi~zWaJ6lKshBM|3Uj zzNkfcrxqhg?uLP~>RmHdptDV^rK)>n=S7l(dMTl6+ajyONc)-rKfm2!y-W+YlnPRi zbTzh4j^{Lw(T{kFDX1BV9X#JeTE!+n9qsU4Z6AKabmBsCKY2kZ%VVM9-d(bq6k}nOw zAs^97tOrL2E}Ph4Z9EaH2dsDUXG`X%z5;CQvvAMF`dO3QFY^$OCDX~R$vpS;gAY!0 zHmvw`HG~NF=*a8L4{}=rzRrkYDC-nca!+vqU5Vbr3lmcbn6bWNUu8<>=85*EvY3g! z`q@~9+0zm@ck+tGLOiEyJdRzt{Z`B5x$U#P+1-se;sN<|4wL!ShiPIJZp)F~I-iDi z^3|aIsq>Mh{&MLL4`?IlvJi2ELJh7&DK*3+C=-%@5fn8N4=ARunml>TgJ9TTKX!Vx zuc7G}k*5dG;WU0rcDac;^kJIf9+v5150am2>Kovc;MCjgT`)`+6@cxu=%-%sRp&{SdVWfCIY=15P5Xkx;484 z`6D)GJktdb5*iM)zAO3`Fk??|VKo5cpRB&9eB}(Tj=_1`SziyWV?s((@Yf<)z0r{) z#B=h1uF3(gzRvmSXDJNuChoTqH6Xaf%B(`u#@1bty<$g!aoqs_4Hwwhh!Ak#K%#EO zzOiq8GZ&@r$uQpHcScpO_Zx)!+?ZSAOjq9x2Y%{1)r8t_gr7SnJy(@#ysU?3X~gVgL4vaxhi@lB$qApt3?Us@7+b>DCy z-N)VfNunL+?S((NvZBHhFaWHZ@cH296&<9>RM*W8r=P!(vF@4)@wvT48o z{MGt#q4d2JeycJuF%O@Ond<<&cXJ#;F8RHW{9}J0-@S(~0?F-ZeLoTH$qQffh*-FkXi!kjd+UId@ar8Sth@>Nq3f zqUnwmm`yt#Rj*(-AjK7ErqkS3Q3Je+WW71NtoU8 ze>CoPlujBEak_sQnkVCbZp@(}fR%l9e0fh>q(w6*jm2ZCLGheOU56U(d7X@fx<<`me_IXDC)w!oluk)X7Y(VBop*MJkusFc0X}5$oNe9uO5wm zsCCzr`~gx7$c5izKwq%a-!18WmEa4R>C6vD%G&WPemvcgoP1_S7+~uu^S~qiV(>`b zF!9+n9ft4UhN)ofgY;{z5wH%k6b;? z98fw0rNpI6;MMqjKdJZ`aDQndG{jo=PU3n1ox^!f)BN6@g`J7#iKVsE>>$Qg zP0AgaHqNFa2CldGy)=&=>gs&216O5@k%>Hhss*n+9QFxJ-=*A!&VP|ht!eV_^}dlw zn|u?x9^Xjj+4PHr<1TulhBv<2X1zv1b%4(3IS%WNOLR@HR7 z0w@Z_I**2`8>bEFb6Wa0YFu)D%<~&k4N^RK91kQ}%@k z8qYxh|gApFLM+7U_&!?pbwGjb?0yOss;M z*wdTu=d8@Zm1+2$SzTB4h2;r;6OIlW3Z!m%5T$&dwn|2!ntoz{l!dTpRJ$?sN5IIXHg4NH0_b{f3W=@u5J-yJ`g%UY*y@aEBy3~-y) zGk70w>a9~k_RjGU7UDSA5Gx=tZw}HJ2f3E;r1hEy{Np==2oI~I-5mj&p|_cpY^Hv@ zu@4v!XbWFN%2u!HO*XbCwT3LJogZ0m)OU|Rw}*PziS*jCpqp_flr~fHX^F`pq|_V< z9VQdiDy%f3UKy;W_-0K`P`m}O?b;(S<=P`U4?J9;*N_#S)xUETqnRFoL|6i=bX)&R})CY z=meFmaf1@2>S#m~Ho|RLche-kzf{``TC30>26zM2JY z2gjiFD9=<}D(RQ~NOId#uT>P=o`8HE{SHD~g`Y;1IndE~Y=!sU5IM}Tq)a!p9c#cQ z4t#&XvbM^`&5ckqjH6jy9(x?#WrfMYb?=K{Vk~gMHgL#ba8j!X6;)}t^_J*FRYZrx zzVr|@N}qLO-Jg{lvl>JmPQ}qTU@|qcy+G;D0U4|a1NzduQo3OxUU<^&)dPk#2fl-* zAsprbn)x6(Tch>3E_7Qk9yt-`CLH6Omxa<=`5NV`G?RbFk}>IU0w$?4+9Ei?ndH|t z>ABX*kA+4Ck&E5e8yiH|PTBe%)xat*V@2oZ^*++x>@$I(mYc;^9fZSC9*FH_r_Oc> zNIm|#Eu!J2IDf3pddH{8*c(cMJM^V)<(=iMpE0fRK6>=4jUAy?Ov;h(|G@wJw~7x| zV4iBt7jYB;6FhQdzh7%Xr z=zqaP3TLW~VnD0~C)qNQQrw;`8BouGwel$lczqB{Otrc|BpZWkYU*%}I{+BDdxp=a zZkRFAVAg22bP(tOC?+mCDQ&?K=P~Une3{?Us`Y`CBJJJiUfYn3SKR3903+UGP;&o^ zugm+5j{0st%O0k@X!o40==8)-6OZ^zn1k1|rH0a>heVD_;`~gmetqwbKbGJ%RGi`+ zH$em5h`d|fO-yGh57+4hWesX>OMJZ|@b*iI5PDL;6_t7&l-B1q(%UHp$!v#syACj+ zvA&$sIjPmvLHYa=+wYnIMSO?Ys}|GJd&+a79Ccl1U-Xf+4Vw7t6Z(XNBSFk;Je|zn zVKNPcHD`$?HJlYjJjg!%xn%4*1F?qWt~|bFBab&;DXdAZr2pEaj+RM6%JyZ)839C2 z$m7}v8k0hLoz=RmGZ75qN+qtBbYUhA?vf5G)5YUAb;R-^`4y*S2{bv6 zC1eKIudTX`e_L4QgkqrRw?zzk?xMI950|ZQdn{6LCZV}RCV^JlOuajfyLO`1G9$O%IOss&>DtE& z>M!Uh7V=rN(*5+hRJ8Jv^zms(#MC-<+$qw8^wm9@jb){Cj~8Z1gYRtbI{DQ=Chl91 z2G@Pha^%Y}O)ro(x|QRdlJHFZt;;5V^jyYCmB1?;E^y9@K(gf2k@peMYYR|RitiA9S>pQcTnXvxOcMpc@aVx9P!{S8w4?~_#r689Xt#&2BWOw*R6Esu2Kd5lQw3)xCd``f)HA) zzaiTGJNh9ue2{$`aa?1s82>P24=^wvObvIY ziRPV!GlfD-N3^(V4>bgC88>K;rwvZ~W>t9*4>G@)@~}OC4$>8t8pl3 ze2UBFT}Q@w(#v;pBRz=48mGJ+7j4kN9u`L}jx_K@d*a}}HeI)>0Ov^Y1xb-nkuzut z=wUrtKD}=5L!^}AJ_Y`3VEz4CM+R1#9=*y7CM8TPX6qNta+7dqDa|Uz)VoUiefjlq z?tK0U>LYK;O1zU9Zn&f58LqfD=J|U~vQTPtj9^7=7Hb3acA_P4qaPr)k8MKKefcUR zuheHnGo9J${4n0X8TG1>RlLNz+3r2J6#h<;9xUw%69W~vN;#r_^Xae0p`&lTWndvk z43L}&%5M#Ju&8t6=}a6p1McJAfUeb`K6SEt&+QTB`1aYky=yM19+f9vRAtLF*+gLd zkZoSAgZW9T8~pCdRwtQbF=OT8f)6{+KJ77Ue;Pj;OrN&w}zv8CT#L@^xsRkWA0k&zxAE{eyUYZ75-gcOo23TuK{fX3Gb#qZWr zI>k`=-e3D**74GV0v8cx&IqoK%i>)pss;7Nw){l-+|eG+@?XrgZ=BUlV95e!bD1po zcJVNc3%2hH<@H+zhSzQ(?9mO^8;(4u%+g=@c2|7+I6JEl^ftAy2^l8*t!FJ}aSrV( zsIJ$Sfm==#b~A&s}cJ)Owox+>91i%BzU@2U@FgU;Gw<>De= z@Ac=G>V%*5Je5F{s@TwTPDm$4gR&tt5V*G5rdg|!$ z<9lR_P81KWE&*cBv)c+7z z*5+7&Nk_3x1i~{~*lzm%cC$?Wgj1tVm1~YjY<`I!eGeJQV!CIX(Q!ZA9IdZ(y46X}!v@w0Pz8>G-j&`CY3XW87!!RsU4CYf1U6 zYHS)pJCc@XzRIUsR)2UtQapI}fl?TaUHG2a2(e%NkLb(%a(=Iz!(E2ick1-(bh(FfO1$~)8}t60yBUn{ACyL@nenf@7e zT>06v>)B=K@{aY2?q0D8d{X-A%jrQ5GkIcC`IkEDcQvF~8;YWn*3FRSW2Y}z5Jmu^GUm)6o3AsmbyE6qWwo!wE_n<2iNf}#kb{Shw4Lqg9n$I zjshfB;(7sx1aYN=!)Xia7QcKeRw<`Quf-gVkt;4i!>5sVkK)E$x^K;cJ97_@aIaxI z$AuD4^8j~Duiv7vu;!F%P5@N2OQquOs$c6#l}J}?U)w82h^$)@z;=_*bFc*__kg&UqPF?AP*TZU^?Pb78jysVZOMrrNsMqJYs>2bGY z>|_kfz%N^0+IvTB1=$MMLu2?_j}Aj#Q0hB1Vi#Uu7E`u+i?P*-SmR{_JMGpLkG{iB z*3_jM6kO<07Uh+miuidveg0p2wDR@XIzo%Xg@0+<|4v1`f~!g)4*otLZ#rL6IZ@Bh zUFABbrJ?>-tdF&r8GWZ2*^4E&N7v9@Hg-=WYg6n4*p*uBnG;St)pTuXME0PrcK~*R7l_MA^wB zKG1K-2DO@`Z8o_=oK4|OTW~Vycp_#Be*FA1!E?Et_rhlvzS<}7VJ+&jFvp<%P$$2g z-Nj8D>S%NVkYFC=U^@0<{F{&5LXlrJf}oJ?m0M1#$&UGhX6n!bi!sa9QuMs)0c$Gh zQ|%V3K;aOZ0n1hnZ@@PZ+0@97=)zuzF&ZvU(KiQR9xZ}n}LW`CuED?-i^iT{D17d zWmuKV_dl!%NC<*}N|%6wfRfTFA>9os-AZ>TN-5o~bW3*%(jd8|RZ1FZ*u*m%Q1Kj( z$Mbu>FaOuYi<^7zJ+b1m)~uOXi=%CvdDkz0NytHrBz8-IVFld&^G39MS*cw(Y}4z! zzTbj;;n8ZT_PU0}7T4CG?=H5Mb5!n*eYU$L9saIA4dg7k-{h`im{V@rjzj5 zw_E_j*-fi{dLLu7Dj_-NV8IBw zn%D75im!N)3VNNh+)$urL=Ws8--&kzQpB`$r8!Fu}ZrA3&SXJ}@Ze=(rz)EQ8#v7}f-Lc3wcoUXzm=)pEg<0z=5%s)T-{%4H(uB}+2mwxclC z8s5dLcN&O70@+ zxiYg{jzgoUns`5~_*G0G*@%a3#O)dmQEa3KE_%kBk}9o_t|Px5QRRjsZIu;EI!?Ow z%Y)eNR)=xZUY^{*Q67qO?%dgIKI70cBr};#MNBW(^nvb*=CuO7aL!~NmDGm7#HA2$ zdiee3hK-Na`wfNo0mr-J2WCxIHCSi8o9=Q1KqJ=;D~H%rK~c(*l&YvgxtD{F#e~&L zr!z=h&_kIdGMwr$kY2?$g8Qp4u+oiG@K-p}IEQH!T!zB+*=}!ko+#a09O84k%I+Aw z<4(g4s~b*^CBPvT=rpqoi@e)cxwF2lyk&HxqQiqjv+aZmBF2pj^M>1=1d4c80VW~1 zj2D;LoNgU*L0h)<@GQsho2|#Ww3B9UP}GsJm$!bUVzvzKa&RnXGAWG(>*RL}w=xOu zrPh4)i57oa8zZB!j(oTe)%axQ%gkudte~i0JF_4$gghCT2M&hosiLj-xY6r7tQgTAxPtVjy zQr;?%Q*`c^i71pSmmK3oGEeZbA?lG7{7OlPR*&1=f}bQvBFI^^o+Y*AJT;S5D3L+< zJl1ggO>`o6=4IzC*PeyK%Qly&q$S54H@K8jw`QtnHs&EEGi|&6B@?Aeo-nT&b$S9WlP%w{RSGs3;G<$%uX zLmmODcMk4a`Iq6;lJ&~<&!xgEh_;eW3z*&AH>`SU8x*s}I&aHp7^tEp^w$!^K18^+ zy@;{Bi{HCYdzXWJJ|4kx{IT%XZi7xaZZ+gUGrf6l!G0>=eVak#zf z6Ag4L)HfS5p_M^l-LciKX?2ZIw9+|tLyxFjQaHLVaQ(9co^saNckK3u+)TsL?Dr!4 zE-S{htV?1eecB&p9ZS=e#9fEJhTQ|v?5oM#0>`aD1=y*9r(s|_WNiGR&8MC3>7D*| z8R9Iw1wTn_O=@JqD|C@=_$CSz5|wY(rq@M8~pXGxRE% zC5$d#es_;3FNe$>gTC_4-CeY+U#7#e)?%V>wY=DQYgNhX1!{B2NODfev!)K{7X@Ly zHGdpF(GfvN$t=;%>va+fRH@ut70ZV%Rg|?&zbGjP-_g;b(ts&5AIDWDj_hP;pCKB{ z`-G>;!Gm8VIj(oceNE}hR-+f>58OOw__>Qd+?W93a?6%GL!y|C%ZEE6&1*Ca&KI&Z`6+0PZI!NapY7!|E1&KiJtNZZ zSUizJ~!&=)0VtZj8;BJ(ERRn+0KKkUV&6@&Y1 z#e~H}&fVC;lB$%tR^8Jn@m4sbvPL0WRbf~CaoMO0hay5mtoLVxp@_3AyMrIC+9Bv4 zw?-6Js|}~QfJ?qwh+~k}J21f9+ck$xJnvm67Iri6t>4W>-Wjxde4BYBdpmVe;dwj4 zJ!>oPrx$5VbB)e(EE<5_)+)W17pmq|yEjWE*&XW5DwZC0MFY2+eLR%|gP&)9NcC*r z&{+v8+F{3n@i1_KZV(1mXkXu-+iC^g_p%wQ{(8ae!0^4?mlaJT4oKwM1*1;=GO=+W za_kuDVl%&0**VFI!QUHQx4nxCT@|BmR#Y>c)tRbxs8M1$m-_U2$xew_7R&4S8sd>) zZNy(E&pJA>$WI@zG~TN&J>Qg5C=L!5(G48-GG}X6rEFKC$NJa~I-74D61(oEt9zEX z+`7rV)R1Dv&2G;1jEO84?512P;YzKF)&rHvX$P$HQb3XW^4UTsM!im-(3`XD%R5{< zeZ9B0@}4026mj}J>&#WoBhwpN%@Qy2k7rOOv>#o|i_@Ib4-ZMgz4ge;apbn`C>CRv zl9uDBMB?;7@E4!{=9sKhzbjxD%vP|xiHh?9rRW{=ffsS+@h6Ys2kqs>#S` z8Yc7oI}6j!o%V#Er8&UGo3efCNw-3&EFu2krf>zfZKe%{wT z?PHCjlp!(9`JU1K8}Pec`__E(%3Ib4HA}nEul*7ssW=1^Dcyxi8kQRJnhs7>#LoSd z>s13B`ylH>V~1LykBG5#-%F7c!}dz1sx4;)+wG;pgIwkLW{|mI`ek!wTH5u`c2uzz zs_hnc7ee?@XAhjjryPr2a-ysgAz6&HyGs>brXYt|-JpC5WZd@`SIMohU%S%4NkfA{MHXvmDiwX8*uFmIC@~y4Cfb&` zJSeHTJLi1pqO+%sIb5^5Yi!Q4neW0Kv7=mv)i{)MJ9YeUJ8`>yDZF&HPk1~twq;Kp z;&@|B2VuR;{>yFcGInUxR?@V&ZNMv5c^>$=5u0&|sYnwyr5Rs9JHq~-z zcaF<86U(^a_PT1nO@ik6vDtXngBt^Dw{q#L#wsBP?U4neOb)Th4||H!?A5uhRQXjw ziiyOA^~aze%kj4h9*@Fv!5Ea}eQcfaWvTOUpwgdhKhT8ugcF=h&p`#LGq9 zQW%#jKhLbU=OX-Y;S#g)^d~1p4J*U0G#20DXN3}zN!?1zTl`V)Msng4clSNmX7%H@ zpb<@!;!MG%@%vHXTLnC1uZj{DQP(1d!d6^}i>+pRyq5Eds_wfe;Ru#>bnPmSbM5X! z>*nhieiIAukUQF=^La&xSwCk$yE{o|*^_EU5xp*2Z7$`iVWo4{GK$T(*lN)xudJ15 z@s-Tm=c`*huD%-+{!n-c32bw_4R0y&Ah3idB_rmU>LDa5T_)NY=R02xby-_1vEWP1 z!EEYJeQg+}VLPa@ej^sR9C;k_LqsTr|0j6+}CFZd4_cBwI^QZ zaOhWT6>*aD18?ezh2DHIrpiv$CSBDw*=$dlc0=_T!Wy#kS0Rs;r3u?XCyT-*EMq|= zjohuuG3d0FVkV=`)~HSJ6KaIj#S&kgRm-mEXo~)=r&{N$Bs-1ATbxnyF3)|T6!!K* zeokj5zpM03Gz;TKj!@U0X5U9oC5aF!NePP$S1xaW^c(! zvWspGIZA-Gy%?&raQ6E`r46 z7aL?dt?bihU+>R3Qy1r~JDPIf&NkCF5sWsdh|e2i1O}wrbqyGo?jyvG?s6}E&=wS? zVgOBM8|>c+-nnM3uaOVoIoN*daL;;Hf53L!1=lj%X2!;=G=3e=U|=0PU9+nE3)WhP zV{Hq`fEPx2htp6B-Tb~SpXXYVP4>`gEOXD(wLYiOl;ADzObX-u!^}lEQ{pd7k9c{? z(xA@{Y$s9OEPHhOzK=Aq%Wyr^@!R6B74a-BY{Po|F zAJh@O)}UagZn%-k;=eueeq;Bbs)I$X4P;<3^zV5+A2SP1 z{G=Qm>^-)H@o9Lw>I3i*l&T}v+XV|-`ZmXhS z*txOxMzhL6(NX&qbnMGD2i-YTMdyW2H}3&=C{q9g65e*0#jz(^yROt72G?YDTeTZY zmKbVCI)7#BuCZ-5T-Vt0!ddu|(_`5!Lsz`l6}AdCrkdMTmP^U`?s!u(ka~@my?J`QJ;{5sEONeF!z%qt8s>D;79`Gb$xI`&Eqk+X&&#+UTAfR- zOgK1M>b2IpkI%|oPuKJr?An7=A1n`{+7nGeFL-U=N|b=EXD;&%x3fEhvdvysX2%Ny z7}Ew4vrssg?t|oy12cU}nDN?Cio%q5(D(bBRR&AZbC{rN_`W)%#x^$9pQEYQQJxEy zq-~yYrQ*7rMCvjQNPM6pKiu8&6qbyf7-)N3L6{4X49aDh=1~ zmTMg5^wi{51|M*xCgMf}_kz1f&{Ge*3PMG-aepLqfxXtnaGnsRFTdav7QjIH*U<^F!Z_cSVM#=EXQXqO}yz!K2?q5z@nnEvcr-V(YGeJ6fp-ZM7>Svzapro8*w5aw=v8&t?T z$~&)Ol+SqYgQrfs^QK=>S^d21r->4bNCKo+Gb^e6I}590&WY@GjqEj`2&hz{nK4L8 zV{F-OJ%#LHH$6C`^FAQ+;dHpklx~$nGfw!{y@>X`2kdF!%Jav9;P`O&r=FBIGYh_U z%8)1N`u4^)hE#?%@^J(gbL2V;&h#lidynoNoZYEAlwKDTrb4)f&X$!|c8^>6mhfDE zHhx~GLw>@Ays?V02o|n~&RGbHZgyQ7wnMQ^+NO|N6k}|Zyf|edW6M5vv|9$&dTnVN zoj&<}kYGhmKiI~>V88R?XljkJl(AKK8)M>(lTks+)L>CP6u$pV+84)S#51Z=c(z@x z@6^njH(%nFwXql2EUFp~>|NLaCrlSMc3n~lDNs>R$a*MLSMZS@aGlj;S8-?W%zHSM z?*61hibKJSh-GAKVG(0~L7VHWJmLj{n*&&Tu?mm1h+S5=yP+v$Sne1&-M&@k<;$7< z#skeAtmD)US`^W$F=Ogx<)4N;;-O=1W0Hg%&CE(@-qGM3^FHE*&3>Xj7NZi>3c*oN zhtc@)S90yeZCL*P;pAD82c0@xfr{)}b~5$Q4pGO&eu3l(gvHpqQ0Crqq)Y*y3NI(S z}Q|{_LA*^N>1$++y2Y0}>Ct*Y4;8&7?AX!(*$4o=wmtTr5ndk4fEr0nWP`xR|A% zP1dU8#`fgPv?smNj9oiN?0YJtYP{T#m#fROrb><1uXoq-Sgs<1J8_d_vyd$mMsKde z?FOpJ@_BO~RbunT7OME`C1@2CWJm*|YPjwgQ6(ZZc7yU&$e(%H63=xwW|KiDoX+yh;x zQfd&uiLsi_EFL$jnxagXP4+1pii5C(Fgq9vzITy--9gi*P~-c-D3g{vC}NzW=Aadu z<0BK9yFT9`3z5S{kxU&%oX+Owk9_AQ>*-<>pQQ9^Ea|vo= zBExaVP&m~t*oL}dqO;<4+`(KDq*J~si)soMEAGou=~Y>r@4w&?v0AUARYyC0v8fvU z;k6zTB(&!uOjX-G@|jqpp*BJ92C$%1%2G>G{p(=i*P2Hav!J)t5gz|;@Ak0hNrQive z9=TbSu$R1x4niQbTI>-;T%X6<@}AJE9^zAfdT||`V(z^f%QPe^4g6nheEsMx1r8E) zA_s{P^r9jAwYgVM6XW0(C*=bD@Fj^ZjyRSWc)le`Nx(bfkTd1n1rlPqPI@KY<9K2u z{L)NATg%Zhd)IV4&nns`$rMuj(tHkN#~pT1-O4lDwF6EXTvhx!NE&g?cG)_8D^PQS zzGgKFAKS*PqS#_h0#acg%{Vk`&?DFNfzYJV-jIE9JAGzx29I^^C39|UG?Amz>ng+M zk2H&t^m#pboi)7DTcMhcTcd~f8=Bc9(>J0F!68JbtG-615}JBNq5iB0dzX~Ukjq1p z%Jp*1VM6Vum*Fj4H5mPp{Vbk{L53A~g;Bj&vz7CDT+AU<=UhSRXR~}NN=|BF0+)!2 zEJnO`)~_w13>}2mj9OQGBg;qzGHQHu0&kUh$G+SaF9F*A3tAe_F zre+Y=bYQqQ`N7-8k^T0-r%cxco-zhW41GGB)u*gzv1%wKwDGzi(&rW+oV6Bz>#Hbh zEMwwyEQbb(M%LjxBzHN>&q1P*c@3OE97^mpgnr;K#L$J%5hjlgnkEUo#2f2a%0J+` zZP91ocnxt4xjBlLhxoh}8?TjoLBVjW{&He`hl56xT(Gv(BjLv@9B=`C%?ZmzL+GH^ z+bdnj)`x0mI)9WxM*mF60XX=iYW>x&uQ!A_cFZw+qnznevy=nZIQJYnxSo%DyY2B8 z(!+vbkztd9m-YsZ2du_@pMI$t%f2A`Lg< z-m}Piu66lBS*K3+K?-eq(W83D)0BDB?41^M(ibb6h~n?Z2bXokKqhP!K4=cb+nUKg z@{aU_mE0h?3CCAN-)~;Ify+7v;?k}YcZ%8bCpRD(gtys~3TOvs8*8&YV&%h$fm1Ux94ZY?v8?9RFA9b%z)=F6 zB8_2E8*cqL%r%an)k4R0#?5}nSiob&iW!ii!uw82uO_5M#ox$Dr-5aezr1xc%U*12 z*~f02D{N}{{IdNU*tyHUWr;j__vsRB*YrIizx?#nt5{QR=pJf!rxYyY#%?{=+{v+g z9lBH?RgW$dszOO+PCLBCvqu85iTYLn{3{93uo+~_o@&)0Zn_bhJNFehdaX)Y&Zbod zItYm-y4FdY26PdGYdOyeey zi-VRlv{^IU8t1rhnHfbeYr)sYXQAJl{SG^HcBAxz!}9L#eC{HqZt>naM1X^iPbXVX6A z3gT9|tr<6%&z*+oHi0#;wGi*RbC=2MwR`{BGMU8ZQ%gx@Ag~J^>N9rgh$4fEChQXB zmuz77*zx)M(dO16!#iuu>UYxD98lviB|$!J4zmX75Q3|Zi`TMad#rjo)pZvqD_!;- zDq=I-;qgRDHWbw&2cc0AzfX;g(F=}L-DwKDL|{kOwat8>cYlMRXtAuQf8a)2GkrBm zNS!y67q4)xO1@R(e)aoil=}BwZ}Y`*s`S>C@#I&Amuq~BT{Bdrcm^b)YGym}3^huI zqsER&szn+3Py3PIR4zWvk2};FuuiJOP{@*bil;(;p+8$K^`^=PLu>4trr}vdb4e~$ z4mP~}Ao|`K;*VHEtGQR@%w@bH1_~cLE#{iJwC#2Ah-LXb^PPl@y96gk=i)o}Sfw~u ze;Kdv%_@%cvng@tFoHffyX%q@zAV1m*0VI=v|gY!oKK^a zQz(oy5Qt6#g|ef4J{&bFnH`T9R$1Iot_$mAd*_JudgN>C>-i$Oy}kW_>lcfEmk4ze z1%AU36uKOA?2xvArOa~&)y?|PAe|*lb>mfcH>t_(H0teizEt7ol}L_y>qk@YQ~`^N zZ67D8T_y#AAJ!F1@SFS6z>v$5V)QM8;=oC-H;*DEpeG9y(9?DO$Af6@Ss2X&(0lPq z97}=1x?p)!+DS|oF%P}5wj_C6C-X=-ljKR%hQn{%MY_%iM+*03=FLCqER5E;@K1KR zK&37Q`AecF#YBpDrNIVZ{P`Wy08zL>8!fK&l{@y1(>Eho&0XLp5@?`eAlnN0K;Dmo zjR7w1CdOJRT4}3(!0DJ83}XCepa5lpsofJ?V8v(^m_@jc2Nxnhl7`63=F>`tr1O%u zcvNXWm*84g&5EqY^4(GTkOSx3fG1C$cx~ML0Y6DvB*R1DvsW@I$uA+v*cVU!4xNya z?vbR8!z%SDpaq@OIi12l$~Y_S_c|XHPK7+cbgSRA#6O62EP}4c7!u^XIVkMMmEz50 z>~L?uPEH!ebXYi<1D zy%h^aEqi^zP9%8xT4x+5Lh0`{@kqqs3hCd6RF>Zv^?F#HXHk%T73Dp@hqEoGV@WF^p3<^lWS-0cBvUk!q|V7rsrkSqL;csB9d9 z`|ZsywvU1GXq-@>+$dt=Sd%f16#vERHz@A!ksfJ1OQB}_UWl259Ns`nPmoy}=?77M z@#KC1c3=yr0K@u|1mz=gm65`j#cIXYrjGNmy0t%Qrt%oufWow5COE6G*`&YuBOEBOz|c#z?bGy3xslhAL$5Af^%erbywu~s;s}1g=<%irym4CyKy|CG$t6Y zLT&hUUhpCUs_ODmNW*^{8i^oKRss3Q7?j_OK>XVxXNic2zteUO6^nI?pjXQ5pTIA+- zV%@KX*4{iG(CiUXEv-%3AtlLy>BkNcpne+$QVoE=707M<-?u95axAH@_pIN=9TQ(( z88*~ssFH|CI&aQwDIhAL-~FCyDjx<`mlg5u{uuqQlvO197*zv{si%35n-xR_o`@G6 zvM~mdKWNo%E{O4ajU@&?&?;pgobIpM`thz={zR?ha*q#N7EV zXupzww~NQE)(cMs99QRa2NivRT~(P8s7BIx0;u{E4eQByp$weXEs>{?=@d+V>mo_> z#JO?S2qHfoKsC&=Y}1h-V>a^xvfj*M^7&y`-vGh7kVD|}d%eOaJ+Z5H{c>ku=;5w@ zB&}`JF^=0XyQToE({gDRpQ@~gy?-g?aj_B+X z%|#^NA3w&q1fcpSJ^LX^Kc0}vPR6;4>f3uH=FKKBOo`0qpT$Uv05omf`+)yVt9VId zfuts#|Ce&~2*(|WnyUOps_%UGsrln|k0CxLSsIr3-Kl`1>YHcaLMduzv~^p8 z%;``cX-!!yS}uK~D(@VEfmX^`2*JO=IQa>T&)|I)KN>>5Gz=Rr%gX4$JAp=bQpmo` zu$$XOAjI4OBEQRA0i5=N6MNICX>qLYyp*ujV6%s1>IEeEFu*r3WcqJF5D*RQt!2R& zoAEab{L{?8)5Y~f;A(bBagKi*N(NLTL00m)IA${jP~r>eNIpld2n+%|1c4ZfPzUw? zP=sGSrD2~~2ic5Z@nc%8P=RJ^wPr=0@!FsO=Rm(o#^~G7NaO%n^^7{C>At=B&boP#NYT-Q+!7N z)~)-6BM_^*hK=Tq0t7%IBH+TeZ=Z#~02)O^Echm6|Da@c$7^OJskepI4Hn(FaL3xmjW-z?@E?!%2MDqO5Cj|kvBAIhjaF_Px4NB0 z5_GbT#f43udP2P!%Uv8`U~5QJ0>QVT@!kP0=kr7&Hq>9r{dbPGp7=4;soX6`bwbaa z)q*wagyScOq>~QF8m36l_nO_#Pc6=V59^YwC`{Chhqz3)G*ueH9MhWk=kHJB}LP)lQ3r4tiIo zS4f-YCoK+OhTB1qmCk*IyWd(GFRuVyK!_ ze$b7?&5c%CH~gLK%-(Hx0}LcgB#!gHxhnCqdXdDyy@1E;bePII)s+{BYcylP^EYIm z4V>=hCwl&k3cQgBEPJbwS$0Xrkz3m5PfKyLraQaFJJHbR(9{ih5MHBUJ^vl}PWAgM z)5J?s3HJgKbF6%-{nR(Ts4yDRU?a>#8~E;=eAA?V942oheAxJ~5DVQ-o;Wn%>S;>k zt0g4Vq05#uO%}$%yJHwmP2d05=Dzjgp>)56R@ld6=;|2O9=|be^dBF-2KWnM#fLRB8V^8R7XoO3c_8 zPch~aG6qthh^OfvPn9Gf4-TGR$E08S)~RNw72J5e?oClxo_cqRS-)ay+Rd|Yq|~5R z>nZtfHUaM#DqODr?uzbT$ku>KfWcYHz+`D{^Ea% z+~g$@d`MjU!%aZW`y4bA_zFiL?^I`LIRo~b(2+C(C5uy9 z41$2b=UK;l?eyoo!jJ=OiMW~d9ku}^uLJgZRQs^;{V}WRZvZ;nnGgL5$07lVTRcAe zF(jUW!-X{?q=@?L6dWe>fJvoUJw!hRo`2DTzx^9Z3fj?43!*x9evYUSNe|vlLog{$ z&Gc8cPj&yZWRjeNF}L>KE0I&pB=G_6F_BpQKCJmuLn2jxE$OTjrweW8!yg z4;B|z&9^qh5z;?I5NLk4k-tz~pxc|THM$tdE%%``7(1@7ms&5* zMD?rZO>p$F*H?T8=&pOrWiZ>+%=qA=;N$OyaQrEWBaDS(<%yFZuj*}gJkR3LsE*xm zn&9NO{(+y-=39%FFYAwy^l$NWjM+}~#Ov&EWsf=;#j^@!EDe3o(1Z>euP*y4RkWo? zr9+@NEx8-S92ICa&J;B7tm)(iia17S6l^&g#!^cSLT?h<2XSfDj7JA4DK~W(_sco! zj@Az@F)$u00|k&`z5esb-=l7)(C8ng5)W9l?Lh{Tk$6ZZyb--}gY%VeS*P)=X_M&J z^8TqIRv8k(j$TC3mjXkjJC{3Lloh+2YBdHTRZX9Zxr~}FSQ}@V&eud^<&AdnXBP;I z6jk|+#}q1ujoDNluC=s{+@t`=I`IdBtpdiB5c8q4Oquv41pdkX zH1eV@VseDx1v-4!{dge0nqDi;km1b>e_2$yu|Gcwl5h`^4UUq?5NM+Q9&SGkA^PG~ob?@z? zHD`c5Af%3FtTfpl!z;!L05p$_*Mfj|d>w%dj+DhTfTDy+vdx|n#bZUz4czAb@_25; zUSqYy;6AYhkX_xuQT<)E%D&kH5BWSeW~&~V+g4T=D355jfDLHJG5=EbkDa1`H8AAK zJ&H4D;Miya=G`%#QEi3QlXH}A)R@T24Hi12gUh0nxkhN|JdeVPZgh=RZU(2XE{Du( zQ|KPqY2M37!0I7{3S$1bg(Fb~pk#nG0Oo9lB(F#!sM+BlJK+`FR3okS3MtV?@P-I-tc%(YTx32xv9|PY#z1yC6o^i6SoUTs1D; z1S-&3Y)8#38QKBoeVdj_f7dmX`Fr~=y;&g?d}zkgk^#)U!c-##Zyrr4O^#s-(jY-@nA@ zT;weI7?KN>Z6o5EQb?y%*!sYEukpEc{?c${w|5q^J@cGMzlPtN5}aHWy7?zQ$c*O>9Njsd3d@vKz-Ufh5g0~$#0rJY}~P$>-Iwk?z&UA%7VTp5{MLP*s( zuh=w9P*lA{AthE9#xXq4n!PI=HfnDqk7s#zG_Fe&6iycF$=wzRdujN*CjI;VR3mA;be zhIX~iL7sC&k3iUC-`xvcy!a>_Qn{6uWj}9bI~bYXYx+cfkhAsO?(&u9R%EUiiKCOC zY~%ojJLQ?F{%Hr%c^i52TP}dVAsufiFoj6RF&D6*7V3^sq8> z&pNpk{ro-6q9~bXYxqbqrX`8Vtwc>jP{^Iq&<$0F&kgTtuC(nE^U$@}_6n)&?;-_$ zmXK-kuBgXrd|mf(OK=r+;hHgzi|9eDgLeDmGpfy?`b2iqF~yr=p2Reb^S)#~l&Bup zO?nhiq)Pifq$;z}LL~+cS6)p*MinzmN^CuXxiT8kQkK{v`LOX1cQnJsAp^~sI>iSG zwiLPdm~E@@XlrU>D;C-#W}~}G3bDx)GNftpur(+ zU-3fnc=P1EBDa~%d;fTUo2+pFQqc(s2b;1bGdjj)*Y4EK717hYvk3zBb1J1f(rdzW z>@zDyeS6x${mjG~X1HgPC#cWJ8g5^0L4i4|_%AoZDpjqGQyJj|@69cgbeL7G)!Xo*@m*{dd=IL>(qom~{4;x%$hG?mV(ppoHg_AN_Pcee~$eop84d3p(bcDfnfVF2K)fdPQZ~c9tf)TW0a^#hV9|O% zUh?a)DLF8GLKW@7*wio+2J3Lax9Px#GRIsPY^J{Hd$Xn@v_P%T_*38&kxwn*74z01D1_Pkspa9E zvaxN21oj=sA97ApZ_FheVAYI(Ag^EaLUhWI}|@DPDvzXD|{*lN(dv;wkQHJ@`y zDO#gyiQ0NsAv%B2MQIf!W3UYvnBY(>$Fkvv9ewj_<&);!wPPVS+%eP&OI0(7t)6S7 zeBQX5Z?%0J^KS0=vP26_mUgb%)}pw|hSj0hVkiG=Ua#G!H&dx8B!MZpW}Fqs2vP)m zxsS-7Wmi~XvOTNKVgC)fT_&`~TUO6^7R?l)&s}tBit55b6Y1tf)i1N_uux%N)!~Re zkaPWLVqEBjx0!D%kIagB#B6k!&YufyzwzhH7J})#a%K!jII@iibpAsjU)V^`hb}W2 zLp*inan*4BT>2<3Ma8a49_p86uO(+5%O-apY-WgqietHJTIses*d-A(@ulJehvVvw zWvwiZBC$(Yqoy=OOCi}E_d5(0y?F4e3552(2(D@*< zX|k~&-F8`D)4VHp-_B=`V*@cAGJm%vwnc{P%u&L1IJg`kueMl zn2c)H#SooZp#I+4KfnP_TNZPhJ*gWngL@ySG5F}BuFVHqB?mpDA|lHE%^SF}Byyly zjTat40v{rKwif3&-r(z0F7vPwyA1{v_Bm`v=PcJt=lMg}8;4lC%lpk=gpe6uL)Xu6 zof2=!RP5DMKlr$l|F!FxY{mYlto01}f;F&mVQ4ijq-soyRQ(s}ac@8D7~X1)vL((F z3jRX7k1hY(!h(bVh`h&fNc(yPZz~+> z^UeZ9kLD88Hv@B7hq?WRJl#o&G+(Zxvg^u{2zq$l?&05eFMuJ4##qr>)>`!C!@Wz0 z{8uF%#^$Tz9?ak_$5$GuiF_@0UF?|Wj<^YYvCov*&SO{8%Z*!*h>WK>>5Rt+$R!_n zu(b-*x!MGkhjVK$mwejF)opxx#fy!sY0l7Aq`Q)8#3>TCJhG4g3Z|a03Sw z14|Io)RrV(Breb0bNUs0gooU&p(d&u{(aRSxwo9Gn2-o@$i_mhWALwaW~#m&vj(fV zd;p+d^F_<6cdJudFYAvQ0B$t#t89q70s(9cnu_NR#qrntGW`i&q18gNS83oqGWr`Cq-!~XfMJ@ggG%&~^g++ zAh^>;F;lBT!e@*g7lB`?k9(PJp1`lLBs+>z*{BFtugiSb*865fVkB1=56p<zTlaHtr?{X7s{L3Mfl8nn(lYcp&MoPWMAks#ef$RQpTDGR%q)@3QX;I_ti?}^7j2d5~ zCLz22u~J`mne!i-P=OWtXD=t3eCctd!bfX^g)(6mI9j=gZL5yF2H=Lu){I*PKFL_p z%pAW;aThhtr@3VJphFiG?a2oMH%#+&FWM-yfH}`1%e9_J37Ug9PbgIdv#@B+B-aJ7 zDN;-dXKAtJrDkby@;oGj-6Z7Afw>39%$+-bZZR&wpjS391`!S^M1=$-K-?PWzPKme z*qFawtetH4mYvo56*HOOD`p142A!$Y*zF>L8m!X$=8y@Kr4X$+Uau4X-iuSd8|4O_ zDg_W-nnrxFHk`ob8UAdRx5-0eR6UEP(0qR_g^$1Rf~CSI++t4>jTLS z1FoZ(<_0ZUajt`&TNYGLsDWMM`UfMWbjPnrUK@9bx#=^t$|xSj()BIgRzbmAkS^Ce z$6>|>PT{kG#2Y+d=1L^g7_Tqj(pD|r>Gp$87v9ap zPX;#xqcUGlgEgKS%!ijBFG;V;=5)sZZp}?=`aB_-fXcKz?NAzOnIN1zxC@GsUr6U` zv;uUb0(HQJH@;7|N3#ENy3P!TL8>|BWxnAe^$pDe&W)zD272 z)oaw(DyCUs-#+UZ@T ze{l;$!og2wgQoACB7ja9co(Ta9P+ztEPrX&2|)iREFYay&3K3dybDmcp8Dei$iK{t zHwQK;8s-lBQ!s-8+pGBZ!(XR(6+i(qDx!B~#81U9WMMl)A)u=ThO_;U4D*x^`U>X0St+z4|M8A)06u7CQi#hk>=cRZ064Aq z{PvR9sc*wbqypQqQIyAec53T@1ZISjVnQyQ5~Y8LO@AXONZbp4A`q#4n(Y6-;;rBP zAPjz(;ZRPG`EdaF`)B_kKV`7JBDy|?nN!;;yoErByD78&oKNmIVcROG)ZS#Lq)!?d zOjI6@TIJNce;CC#O7l(uu$0+(M{xGkmW?4b&|4qnUjxP+&-QEhHNw#L!r=x3?bWj#7kw(Lpe z;u_y%om0@Y#Xf)FbZ}@X;s*cMKax?b1X98BL%}Q(gsPc5M9AN?hy88xe<#P!Z#tRagl9Gb z53?ejQ<$R{Db8LZ`Tpn57*$(lpV``Y(V9E`f&tQF*~bO9PJRCUi@$xi1b$E|KMmx)3{@*)!i?pKX#klaapzJg+^_kq| z9^=Ei^Z|X!YLyzS8Pe9kHO_VeI?8$iHx)R+Q|KqEL(7AX?CEwXe?a!rEcoT~Hc)8~o-4aS|BJ?w1mJ-BcoIKT zAp5N(|Im!zer<({R{+VCZv7`+`t2`%)3Asqya7@mIuA;w;D48azst!-DYxes2kKwM z{uhk}pd$l)C3L}7^gboIe4ip{{>*~NFc{p33$<0E0Z?49C9H@UdPdN*_pEF=vNY(Zik4xdx0z0@R%#A z#DD_zGF^{mrlJd7xQ0z6ehlRjs7pUC`=+_dV&TK>GR7`K2K|9`rW-R>9ac>xs zVEFL)ny7X?C^pvZjR{% zKd`Od#;rwnxYOl2`Pr8~to|9wyBOh8cwv8{P#l_?KAHRxyTr-%$hSha(BzE^6U`wv zg0XJ~@Q7dN-Y3}MuT9*pYLtx3FB;x_6KVsuOruh7JNEqZHYB8D}Cdm_~TIY~F zXQ{1ERgPP&v?U{1y;o#g7a$t8*{lvD%hF-v)!M=hP6;nG3PnEE+I_XKWIO;RnkR#k z<5lV3bcNAoI{UwKx4#p2;Qe?PWU+Jd<#(;w&B&aLGR_Ii%qj0-_4~@HFuwxPG7s~l zQR?kC7%TKHG>5#C_wJI%s4X2SH4Ju}fBq7mLg0D9HL1AaDZi1jsZNfyYa_~^!eYv- zX)CN}uc6IB#O}U~Y`~~3flf!8>pb0c;n`bBoNSKM=$bFHn0jICAC|^Es!;=~e;NvK zc8ylpW>$6E#5Ts-uX?pEG^c?l69=ULZ3(R8=|?R*vlW^zqJpj zP_9|Mgl|@=iN6Cyr0x=2LPICmRv9q=aNn0&Il)b*)yf+XCopbTpJ_vv;J-+{d#``3 zD67YHtxpdItGOzJzJw}il3E)fD_`=4XFd_cviQgYd$P{b$Km-6LcO!$ zka#(W&AcXaB3u0+QWma)>|sfSd<@QJ7$05 zb!tC5f#H4=yT=BS?Cb3+2EBDJZ0kf}D|p4U;YvJKW6V2rxmBC0xNIhmKI9Qw0AXYwI3B)xf5sBtsZAM+B4z!d7~{?QM6;oU+v;miT1;fTu_&MLhldw_i5d3 zLo@m_oinu(9Ta8<_u0mGh>?$kcC4gF#!k_-Fs$|}Sx{f5ns7N!yu}L&2lIfCkZT+9 zCMH|mX^{7I=aSS183Hp5-u9{;7UCp6{Vy)`#}{M)bZDgQSKMTALO!8n4xg)JSbmGZ zV6Y;sd**S8Vnp4`OJ7@C>1%>it%Iac;y542EF-T;Tg2Aff7O?}Rm#%mRnpFQgG&;g zUb-|w(WOE33s#dq^6(zWeJrp#5~|g7LoTK80x`pNlfD11v$u?jGVc0?RV1YZq&uWU zx=TW&Q$iZ)8oIk{Xpk;x>FzG+2FanjYp8*9dEd{o*7@+Rb(Sxm<^yXO=K9C})!r)a zZbyGG-Af>)pRMlZ>&AV{uy|6yo!5sy_U(2Cj<}&{;S)5a4U4J997oT3of)~6_DwDG zm4Xc4B*rR2QO~P$EbBbqv~OVQAS~LH0{vQ52)V644$q=}!W`Mww|#=&9R|AM zm-(TgrkTiQq;ELCqT6#iT9(Upw3tfz%3TH=3B^K!qzwu9$ZUa^45b@8u|zhlBDRJB ztl1)@I{YpPv_t|1)e#S2-hNMSr5!%qO9IC^YZW)1SmPK+C~~v^mg%Nzckyq2)RaV`FIg z0i0x(K9qsMnCB|J%{-2`$Z+JI4IjRNW*UyI)cYMIzQaIa8q>KtEpjA=UK_YzU_4Ds z(}6RkdTTId`FS}J^KX(d%vT=zBP;#n*lxFFL?Uj5LBcn7=SOI^jM^FQXjf$jMPxTG z+%8v{e0~YSfnSfbqxW;fzX!)UjPcUu5uBf(ZOD-+r{L>_C(>Cjk$j}Tq56~57>DZ- zV9stLom4*F(${N*6ifPGDrtBt`Y#C6wjYznI2iLC=?7-G2WU;U9pR-Pobd1gr=`(R zBQgcbyn~6{e7HTAJt41J>7%m6yqsDn8e5=b?$7aLD?QJBV*+;PR?z8gmN&60p#Y^P zi%om26$~6jbV#4i_x3p=$A=$<;qXhtSD>&Sa;Y5ufOFcHyEri zG@bdsq5Q$_bdS2fSk@AWxEX%xd@^%7Nhtd1?GZ4spn?1Kr>3XJ%kk;(nlP5YKP^yN z^Fn#g0rPFlhA3SzBoc~l9~NSIZwQP}t??>C_+BHGL#CY`UOGx5=jtn=sJK}wdhmw% z9U|Er`At326)S#K8!!1nWwBgIVgB~C z!hYk9FkL?vDD^1h2{GvQ@AdpTWCRV0+w!G9lEAoU?T^ozFAkHM@^<5YB}^L+Y^|Eu}3iM8ra86!~KjHnGE(G4bmRp1oI` z<`ET#$>0$suIyjXPwwC=|@b9mf%wHDK>V=^bJot8-Ja);296YHM*)5{A> z3nAj%8W!VB3o)dQ8&_EOF>qE> zIjnD*uZccv+HKMXGnGgI*E%S(_Dc}92T4Md^|2dq7N$=_Nl$K%tH({r#Y9hf2L91KIv;xh@RH+u{ zQ+ef~i^bFRq1ji{pNSNo2m85voTNchRS=(s(~8y`_u7R&t}B_R2GhV}XP$#N5es?p zAj`6h&$^b%PaW}|ipy>mC`9rr!A{$tyNk^q?~KePRSCI31wAYfMC2W(+NIN_VwFnk zRsMF^9QPY1M&HO9yUl_ao}sm&;L*%WXUSwYr3TSIJbTe$Sha}9%0ro~rUcB~Hhw2O zT0qSy1;t^`Kb$LZA+z}kfr{TKfM42nL3*WBJck1cl_zSi#g}hL_z?T$j9$z?i%(sR z59_??j*J!&3tnii_U=J=9{GO7>BX#MD5!L41|H=xp8OK!J?tIt^#FaC%N=;byvT!y zL3$Cn=?>h|3RjEAb4v8rOI$e^ky$+S$X-)dg=ROOK;AyE>!c^SfUCrkIZ2d*FDJTp z*WR%BX2-+wVbq3#=IwN8mxHL^+oF}zN#s|OwQ_e}W1tv(IH*t4as-v0~OzD2~AB zh|DuPT|l?6ezb?j7V9pdczQN$n`|+D#V*dWSeYgtbgUW2q@{*EEA%CrfH6W?lahPY zHo!uLIR%&x;d#H$rWBsShc2&G0d>uYiI2DbzTLTBB6+!Bnl=31X^L0=UOctsv{?oi zI8vl=>a^Lja z^~d*t=C&WTZoJ(@tGcB&bi-y$65y0Jza?DMdRAYle5-RW+jbiuX^`nbxZW;Es}3@1 zbH66sU#jRxceq(#TN~xxnv!7;3fzP*oRH7p5}Pa6Dzstgw0^_uuoXi%TO!pLLYe?3 zU=Pl_yPntE-k-CsgRqxr4bdcNf0#BMi8Ib(o`<2(HsS&})pp|%m>x(PH`lsWYrLGS zFTcpqKPr;U+b@Mt#LtXv># z?$+eOtfRM#;=d$9KDmm->UfK^|8Spnp9lNFlxk_xDD|=sG2~DNq|@D$Wi}x>&TST- zVmU&;u?})P8+Mp4UpX*|+`9YqZMy%$s%0xpuGOvudPE~lukFE{F09UFeXp4niW)7x zisa{p%zgYpqf#_`X)YifU8Zw zC#>ZsyRE&qoE-@bAKJdH*W;ywBb&3!B-&vo{PbE+6tMfRHSec@iSXDs7rjiP(&ow! zI(B{UD7fWu+6x;=P46zZRcPa*lWNBJ7^%zLy2?oKPw{j-W3`?4^ZS>Csz_y%S-$;X zdKPVXcPahk=_2Fzc$Z(G`Q@?yOU_T|L3Ick0iE$MH3aE9J9sTLB#qnBGwtC-;UoY* zcW<6&lH^dVmRpp%+9$Z>ZMT-omEVvm+3Y1>cWVRUXU&l5?=avhk9_ixky_#^`%3nE zx2)dk$s_`t#iI1Xr%D-$x9skFy|EsSF_>#n4%H%Bb}Ehw=LU6CEA@ZB*j6vO;tLj( z87@p4E^D&Sr^6uCVEhv0E;CoARblhwOD2CbkRDpc;;=JvR=uI46;)Ct;J`K4lHUwz z=Ql0LqIhWnZ0OZLcwr*fm#Xn861veBQS4Tz9e!)_@pLXfew9`q19_~G3En}& zpe}RH{b;hYo>FYtoyB0oXaPX*CP8=ElI#A;&tU^J<0LM5bki$KZCBqFL>`ig+&AYa zj?{rsg;Y#h0{OcijWOwZB)~Hs@JHV!GXV-jI+vD6Qmt=Zp}x3n{LeY|HUO;a8`|~9 zhLfNmH__vz#~s?O0GJa8H*b^icUWhnb;GiKL@g-AGa!}-ox2@T{xL*fu;otgdFmwl z`ELPW4-^2Z1PqcTuze%}>%c_rhBeobpmz54bJJZeqK|sNhGYOpEtT_B&Uj2V<@9*UNhO_B2kGvKK;c z-){aT5LU~qN-xI&+NnfvI)E>Nx#L#0(lqQdRui|a4fRXC5%!&%YBNwEPYR43R|5P` z5{vB)mSjUP<}G#khGbK<@oN-93Eks|U{o?zh9E4a?%BaY+p&^N?nMfq#O@>+0=^^p*4m&Y=`u-+W&9rONOZ z71eFzN-Z@_*G#R2xhr3-#%V58h@X2HkLQLM4Ylriv>+!w%zXrBs$u$6i&JFru&1KGfC^agVo zo2;Vgr8*+%E3x3nO6e|;_*F6d<*JOq?Mp*qCn`U+RU&?qJg#cH>Aua(U#K+M3GjZR zr1#c5cTW#GuMBhf>MS*L!87=xYaV)W`&ebQ#zQiB6t5G$<~Vxvpv|Wp_0f&@TOj!f z1qz`eE4v50l#5Iq?B_mSs*Bx`OAFJ_8NzankU=HEuiwJG6SyjJaG|4Q*WcvxFcwZIA{B{lc|1u{Fb*w5Yu7OH1fs5bd zbd+xO0#S^|uqe3F_Rv^TI3EVdOMCD*kq{SA$dx_+Z#&CO=HdMMG*4S@d=0os_Q z7g8z{Jy-Oe-`TSee5w`_n1&~uZ=SFqS{9^#Nc-ndHk0L}QIzvME*%vHz|c_B-_YR| z^ZlqetGqeAwcAsaP`GqCJPBnl&2l`nZcu}V-+aE?l);LXfu3|VljWCNx=;Qlka{S?C z9bt}8XDAN+Pc(Tk$|5}cGE~9|1*mz)X(()@mL6NVbp5|PunOVJw8scs`VZdy#Uy-A ziQj5=&EOwndqR2zX;UuFJPULX-JosIx^*B2%XsX5+HbcKra6t>p(%z zn5&anv7`uFsEeYa=j}iX_aA`PpnulCxR1QBWZ0yp`Y%v9cx(RgEX@Zj!gBHFW>lgj z#ILJ*U;X{_j6m)Rk^bt(hfnYiOX!C~t8K!4Mo4zm_ofy+ENK5CNp_}4k?RnNetNlI z?ip13iYI}0zT$4mJD*$(iLQEHsW45f3(-H`Po`uE-vLd0C)xH-s$D zsJNOhVz=3Ou8=bAv0E_5(ZObLicfmUR8uBmM@~h&LaV}$FUL8Ei{aLFGK2!f$xGLJ zlrW-GGPjja^$rj@Cb`Yl5`YtQGTEw0w(v-)kG_rZ5_m#hXY9%I!sUX|4XgoiwG95$+AB94n^%(InRIn!gY7 za|UC2-_cHCb~F3r3J?KX*yDf&Owg?pz3V76;E|BS*7C99SQ7i{JVBm}5bv$`;8KgMo{xtWZWZpB~5uBzS) zgh4OyJ|qkt)RX3}q2AmgsFD^_1GBKJw2Z`Es6ilv({b1*P2p)>kERCt&z4BBxUgyC zOVQ}vI)el)(~6}ww;hT)(v5l&DiPq!Dt}%_rKkt36htz!{+Q7FMGx0Q`59&ZG|CHc z4hiXgCDb6`T7%pAyj+HptSsk#N6`IPv-Z}o>=E4fhu^c-Hd8nH482d?f$_~M>zA%Z zY>!x)tPgb_Bo(ngU93ekOP%g!6*+7!A;-CSIg+knw6Uw#&K7WzF0>ZuPYcIiJ=s>;&JoaD?i?* z&G#GuJb#wa{s1ZjA)*?Qvz!DPl)S~K`SJ0=*X>=dk&WPn?OK1RZrj5iv2DaV5Rr5w zwS^ovg#Sk!|KdGpIk}mLLf`k57>;Dj%k^>{T2Q=wq|vCZuu?E)BU-V29ig+ezY@n> z!RA183FJeTWdK6b7Y=}%JVC2$?=Hgc=$oj3c$hl>UdB9KC11T-i(R}!ynF+mV>Oja z;gLTz*XMX8q6H{n%FiaAMcn}u9WIW6NY8!M+^*#w3U#zV@XiReVG{3W+uIGJ>v1GG z6PABD=3XENVk!0`(5emzYOwC_5I4{WuKbewx;^JpT@@A0;q!D?D3^<)Rp--1*;h(N z+)s86A!ebYMrD>h@7*Z`=^`Pkhj($If`r`~?Kw%lWPByTTHZ~Zw^{^-<^>0?f2QYI zIxEZskzkeMs90l%UNRxuRoPGl=XQ>TS2R`!Ho&=zaK#dUtlc*@GdNw&f#uGww1 zo@UZ~RFc#foZ7bfliejI);$uTEKzMYvws7?8zns3en>m)q0EOP%Ke(?z!93{#q!xP zU*GzYgwIM`vXSkq(!hFAC@l{M0r*q?(P(6BR<4p79MXF6r+^*}=(G)6rQRmvK$n3YpTX{a)Khc$o9FU`wE z{ox0maYD{gSaW_*@>8T6ji&ihdw_AY&>HOl7ZH)^=%N!>IG^0oy~jgDBu;=Bf&RiH zi*74SoZfNKwstl{&p$kc%d0?cGb$kacFE;v!b_4sjfT^Fm6CpZ1>VX%zcPz5WxwUN zpaObmvzcnME)-j+zRatClkU=8pf2IyPV9bZ`@pwDTv0?MY}G!bF^XWbP(6F!vN>JG zzKkyn2+k`7mkzx{qg!@oYZSwc2Ad}RTEbPj*`E28#2cqxQV~yKPgXp#=^TApM&T~` zUoAHcb)EY>$xivwe;f+$(5v`dF{&@ylqF28kRSKoTTOkJck0tgYW2YC?P*{$=eGJ| z7XLlk-wEDFLP*J=SbIy>~c0$zkZv%v+Y0vPdV zKH+7^sVm3bGoUr$aPMt9=Nlxsx( zcw9F_&nADH@7+}uc6}>LIT(%pFrr2MsT=S8cicQu^xR9Fq_E+4V1>NT5IZPZXh54E z!S1Rfz6vO1wZ73f&>`TE$Oe7l()|HF!%0w*~bY;pqA2+bjA@onNy>1j%_KJ@1B=b5tO5&QvC~6M*fod<+*#_wMS_%rkCES z={t^_lNHMnQykJ9mQ55KaJI&)KB)>3zp(j==T2%m#a}A>01oOmL^2o(VvAN^_=EEu z2RkQwH@xIS!{(9=@T?`gCEV~)_9szrtRv&l7LUS}+OIAgHao3xI?_o=8Z zF{?!ZLEk)+KoKO{U6OLSZmp~gVPMZZ<{bo=I%z+qp#jgd$!mHW17zj8*&DI@)#iu zXj*z#^U)2E99`rhu7!VNb{{jZwwoQG<~!Fsbt(?M+a#;S6`NeSq8Enu=4PI6yBMyp z;+sz%(9vprT)rx&Aj3J;@q5))9ABb%*pIv$EbE*$g8ZM|M{nIm@q41OQFPAWF&Ajq|o8bQ6uQ9_uA&4Wj zQBhh$hSXg(>TMtt|D&u$XlRV)Kk+d-~(38)2u7j+yd@z$hWN4IX;!BK`0@fMLMPr>5onrJk6i=dKjevMn^- zoG-BQ(=FWbOmWC(s$Gnhq~2=(i~VukyhQ^W2-8WkNZWDpbG7p<%3pg?ZO20veZz*> zyF8zcc2JBHV*oO*{ZLy%mpL`bVndzXX-h}z(Q2F4FV!;2 ziuPsTIwAQloQq$&n+-R%zuQhaq?5LjkWOI8UAc|A&8+%;+VT8RTIw6^`P^u2o$b2l zUp*+sD$8o-tI)UmViRtsi`y8M%b)UJ6XDq;jR%_=z__GPQsye^h-Z z^bGSlNsnb#CQ+N4G+C0l?*}2CgBy2oG%~m(;ZI@SD0l8XguDRQsa<-|0~km^B7bD4 zvlM&}%)puNdbl~p&d1MR5o~seA2^)3d5_(&3~*Ak3pJ29O8HjOqUW4|kS$>gE3aqR zM}UW}8?6Rd*{ODGqQMx7fa{349I%df260(##hpbEpg&91N{MZ7n$L;i`dn2#shy6c z5MUt)9XQ@#3ZKeM_ecKasomO+ADDO@EE^i47m-N6lyF&prf0O&b7^gyl+9pGVoDWe z&O4SCQJon@<7?)Jq+C_i4~{fIlRnZ=1*35-1OjW6iZo9vNq#EZyDi2R`kDSRLiuD? z7m&^7413U^4i&m>5+YsDmt(*kQLI&{Cdp=eOMW0hF6jIg zvv!R9gBnP(#=A$NSov6qCtqd2G#{X;7pGoSX8vd(*mLz>Vp z0AP_Xf1LWB?(7?&B;0{^CN-MIM~`Uz8QqCL zu1E_(d}SsV`ZBG3^#dI?n?zxY;1+JK}jJRD5Za=n@_z=?apKbkMLJAsbYUpfi?kbjXOg0Q}EQ@hB-61MX zwk2_+eub7|Z1nj)>4y6O`RKZG_cEMK@tqTudU#uSSRr^O&tqKo-sx}$$Ojlo0Mz~0 zV6KCu5<$o_)H_!q`km8KR2263J)v?au%G&q<{^6(UX}C9#XE*a5fpz0zS|HVW-8LE zJ*V6uJ}{rAf;Pl2IUq|mPwEZTMQ*lw`dld=o5U+Skg<%dsG`4?s@-n@MoGO2irCLvpYu!z zv8Om4$)s>uwrg>IfF-52b(JmvlQeuR(}i>^Y&wk$@^4WI@|@R{-=wMe1m=h+M#3g|Xr=|brcMEG%!Z}>@}upO ze{xCYA`!(hc3Mwj3!ryu3Fo(3ADYUep}S0#@JeaZFDyFt`%Qb<{VL&wEwk8Wt!;<% z2JtNqu7&!nb&l7MNrz3FtgkMv3EKUU2w!6ksl8w;Js^(rS^Lj;6f zuhUSm0+w|A(I6idIL{MEAxT$FcMSxe99Z~G*aA~TQu+bp3IRd zQ2A5+b+0=CbuNU^aueo!mK}*}uG1}bXi_Sh!Z%tF0B5k*5i|1QSFt}(%0z+WEA7=%JO#ebjs(+;@!_0x zF~i)*Gydjz==yqtv&Tbnm}O=%Z4WZ&3yU4FSrYm)sFs($E#Ed?|K2J_g)NgGM>$f7 zf3Q|YkgPAYwM=BAt~>8uL5eMEdwHQ046c_wwKglT@l~<7`EOO;B@o=cF=o0N4Yr*| zv{ezW#WJ^98@uyf{@L`Fa`lP8S_?n=Ukqiwua(64>oK#u+Fc+#RibJ%nibVNyNKw7Iemlez`DJ~ z25Kv;LFg2GF?g0DT!iD3ioinR}(|R zZ%96$&p*7R_(tT-QotTJcjyyC(F;`j)`D%8KZ=Pm59VlzfF^hJzcF9A-O>vijsVaX zjY`MZ+NBk-jHzICkNrKFQ%~%TGw&^dLrQJ2*Y^x{ZWawSv5?5hZ=6=kvJWj10bDHp zJy-eJydQygaR`t)Y=HP?rI@bk*4|QS#n-Y0YBYEUFip>(Da^oGX?M8JsV~LQku24p zRvPz6QgLE|rWP;l=w4;+xb5R?94^}vgm7h%DE$3s=qGS z1AQ-o!-S3goF%*E&tY!-sWPnBrkg|~Qb~Ru|n{qV7 zH8#9>O^@8e^P5f_k=`NoCo5tO#`-wjLK+Kne~c<1Br~~Ug@~Y=Ub7|qy4)_#gZ%~0 zi=Hq7k7RXl56rL*e_H;%E=8w_ty;FqqXp@5?xzlK_}Xow7_uBp4G80lj{EqZWiO z4}(D=T$bt!ynqDr8}*Q8(e(b8hb7uhkjCr7?7KHf=ys?obp1s86+3F1WQWa$Q}Cm9 zADN*NNYfZ?kkJ|XW%jAnv7@*C7w7=R()RLouwHpJ&%q|)Ob(=Q4qebJ!m3G-Nre;}gzk4@e=4na z8UgPDY&v0>_TNZOaT)Rzz!Y0!9HBbnH-!MwvF#hje6_yAp`E@=K+OoC5oB(*wO(^| z!1GETL?a9@yJY}s?%aP8xv+q6m&Qeu;FAF>^X`s76dzvjjCH6KwD8xS&oo~0n*=y! zM-ju5C1Mf6)pxGc=~|n@lR&9vE3kWv87J|l6XZ1!+A-+Stk%Gng(~R});GgTs@@KX z1OBKK*{zm1Q2;r=la#N9!fw|OCb8K}XAna&G{ce#o1|m>c>>a_M+;r!SwW>3k?LAI zU+M~IFH^Am?9d?^f<|WkKra901|4FO5DPDuNSixt3ugVzzt1sX)7RZ+aYVbtl z^A`Q|vPE#?=yG_Pp>|m9M|c8J;6lGowXDR9rU>MhuNr6Jh5%aksI|mbP>sSbRcKh{ zxlS%F^oC{L>`epZEi!1ctFf1?J>~6Xr2kGMxmYO1E^{RW&*PT{_0;M|K$l42G znYfAvD7GcO7SzWLiOt;`7~pk-fA1F?nBuXb<@^f!_H}X_e7~!}_x1*tQzC`T_hl`3 zjsriCxfSrI2uasbkraY{HhD}VgAv;{2yy(4|GOHY+%i0dNWk|7JI4DD8-G3`+`q?f zHsasm(LxU90{6CXvv^H_!^|={0$Hx^sQ-m}lRSNGtKrhj5$G$Lszm759SkX61-9#7 zU*WsXY}x%pPRsd)vsLCcEUY7jjh65xP#!tFEFC=IHWuBmYoF@-D~6OW%0I+(y#YZL zi_6#>K*Kh%Qo(OGTobz}>Gj;%*$cmkx%~oe|7PuUNsq0B@u|rHYN}G}05v zU`+f77Kv~pvv|6EDI3^Gi+Q2TW3sJ)&NgQ{J~6ev|8!&ztcjLo^MRt=!$VeaRpelJ)`7lu-ok);IfHm- zwcJSmIhI9@Mfx-}gsW*I^HIS1UY1+3MG5HDi#Nhpp4{}x&1R{+2W<+ZuH>-(Guo=L zgzoNX8Kbo05TDN~kVLqA!?Sf+aopDHjloXKS^*~Z{IYKB9E=@66BDOhE01>sXRph8 z%$uHChSq>J-p&MmtEhL@mwXw{U*Z04P)_enb1@yj%i+HxZ*u{!YjywWWN}Qa%l)R+ zdd+QF(^A+O`L!zCBjR)87501idM6hsfd}-Y?#ZkJDuGg3+^+~{9a0tlwx`=BN-Q0? zr%KJ=GtCh(TjuqRawZduuf}HTTlBw9?>2oFqyRi(Kidoq7X0jfSboO=>0tjaw;W4z&crsdO8T- z4=D!BJ@G;S3S3z_UTj;kj&nAIaX)-JbB-(od_PuCJ48#SvJkth6Exxg1dLg`bFGEn z#d}!=Rzm-X_XuAVj$pnDhbfM+`|zv~NjED_aDa2oj(>Y`oZv_7KBy zl>oalBGXo#F4i$3HxS?lecn1&m9Vo>^tGqJ`4)>lO);){|0T%lGrg|eqe?EFr2QmukbgL+#gVL#mR)A#o1lC$0Z z$XRRodak>TnLp%y{)Mc)pFDemDEaP@`%r7cP!h_DfZ_;#T{ z%su@k!W;GT2QVHTU#fSMZF;y(Z`(O}T(>6=U_B5@Yi^OQEFgxO;|y#F3NDULJEgh1 zKEx3f>cWDX+t)U@)tl_7nsW55hs1@Y0<$Yp1z?#c$>%Cqq-<7=avcKQ)|dtD<*~T^ zjQ8XTra6t^^MfcFI>BZyGPlNluC@EF*1J@ugl;>B=#-GjOdz<#-M2`4Uy`zkiFnuv zKuNP6LOS^R(}{(8WR%%tb!|HZeF-5A{_NLbya;XtQAiGl=!Uc|p1!pGIIk~hP>q*s zc~({uU7MQR?wUsVaPk~allreC3VoUZQaEd5F`5>{>^oJ--w=QeIe!Eo%5D%E z*dEk0xB~5*7<#8t4j~S4#m{;lHP13kl9b$n8P)c3r`Rtb_>beN6WxDrpQ4ie=c3aq zf||JOqE?${Z|gv_{zmf%OC&!cqGj9D$AH#=-s8>RaN(DK@C?d>y7Dcz{Hs@%*a6et zKwPxBPh%Z_QCaL`E^FWmtr}eMMU2l380*Q06Yocu!?2cJjd<<^bqqy>#gJS;5zaPi zguMF467Bd8EZv>W5jQE#`pa%K|0$AG_@DJN*^fm#d?|*i3TrZ4h3(@|fxBBUp=xr`u)}_^{M)8v3gj zaVRN1N$&vg?Al9(-&Wjsi6w00X}fK|tG2&0rC0|H)07y3+BCi64^uS{4$2MkWtcYk zw)E0n;y`8)f8%*|sfOC+WT{p!pJDbheUEhHfvW0?E^1hV!KOs9_Vpyd&<_7z7t3=j zeh_U<+{pTyS*SMc_`KtDrVDuF-D*vA{u01nJ&XMRy5BsW&j+%UTR?3%*PP}jOwQ4C za0p66TvN4DRQnU{Wyo<4C(O((E~h^bt`DUeK4z5q#K5iOS>1(fwPf%+CHxO(7VvXm zOW63pQ3(aiH5%doNhId2UUI1rqbHY6Jm7SKwHfTR{bk18ds&*+{4XQbzgnx&u7|Tx zR+>K&&;C-Igk6-@j7@csG2e+3a+;T~$l#7AefU=W$7oOGIP;iVdUF2WjRY_iBC;rr(fD=J@7*g_>d5 z7R!SBaOEw+W-_ve76+WZKL9Hp+ETR5Xrjz@MZ?y`Ftb9e_uLWhRL*qR(@~`Dm-n`!pT;+97WI~?e7r1n#C6mzEqX6rf+VaeSHp$Hgsd zEI`pGolw78rdb~|cfic~6UX{9L92u;if#`AMuO*E+!6>&pLwdvfxGJ#6{{5SkEL<@ z4k1zB$o4Aln7AUhu;hL<#@_sY{gAZxznZ%wj^8Xsu>EG6R1r{u5U9|~)LVVC*2rtq z>3D+soYDC)S!ND!r4_KFAH9i1G#Z{i+&-!qpF8Jyx5)8%rWLC~6tu0K29JLx{hMYbf6iTLT(Cm;&5pU8 zWJXo!%ZI5{E%)+H{@7m<3K%8RiQye{x^-)GY2roG^?XZVb#VRzK`tKj*(z!<%037< z5%9P9ldtk+(0h2aKI4BmW+uuy4>;pL)T5fUGab2BCPGocXa_O_=*OP(H-DwRJcZ-O zfcNqlLSoI%hbPmE*t&lXF9tj`-#FD5L5x0m_CIchT4(qUXB#hr!Bq zDlaq&Oqb*4>nR0#3a|R3%a}YxO>3xZ$)|j3x_vMKx9$uRx*97I%A8_pz}MoNA})b5 z_P|fK2eX#77uX3iIwJ0L=&O2s-{To+83g)DoDL&DOBUlWjuLq;Hnm44yh)&=2CnCL5>dk@$UR(^}ki ze|16w*i3g23KzZ3)B_(RIE_yZg;Y%nwMsHp98YM^D=7 z#ZXt0<9?rmUbB55E_d&B(QBvNs3<~&8woeG&TcX$ZBQCi<@gNC&&y})J!5!my6bK{ zN~tGN#(Ru;p(j3blDfvd9v9VmNJhNZ#Gf zeU8BWvD@Mt3q~%onZ%{|spH(klG3<^FVT&i z>FNsSFew2EZtSu^=mgtg7Rbxc=1c#Gkxpa?-o`d3k&n23-kZ#|S8q2mHUVmdTKJ(m zfNMnEXFmI)XE|R`2Xt6~tDwL#*HPwXmMmX(IpElI(WBw2|V?*~uIna5*krb$)DBe9jM=S)aIjui7*yLXVnnDW())*m8mhwE7`Az}dKu=xA3zP@474baWY;xa5K zQn_45Wex0nD9mD-?hn+kiR{F`xC7}J0hzM7?6H=1At1KQ72_AX-pHEUJ(l%e4~i@% zRmm+;{~q1kwm!*U$6biy{1Tu*O9@+D#c2_^()Xc zqdBYd#Vf#(hk~=0BS|)<&sS%hZDVMY4KkiEJn1L0nULUSX%BwO)e9pDgu31!+^+aT zOb-fDaU5t+KazRWHs6 z&_QoAh)?GA=@7}3!&i1QTr$<{Zz8bA6p~tOI_N6xXI0gMRqN4`6lx6=?Vm&l5Fgd) zkyc%M(EMo6zocd9wE|{xhTH-0tVl`6BPA%`ri1PKb%5yX6YQa`s%v&$J41174-QC$ z=bEH$_Y?InSbb5k*+PWx6AQuE7ji1&Lla8Ja^-Lfj)2?d+9I>g!WcRP<}$yfbJokp zsRMl_?jC)YER+3uk5d$Ri2pZPX^c8gP-S-Qm9U6@79o)^tX9EeYb2H`$e!hu{;f)t za<#n^rF^-N(mnD#(BnjJ;rzJa0(cddHcLOv(iy5YfpK#JlOmdcoez-NZ@*LDi!Www zzuhpa!K7RF$z5~9QRDNAA~SKpX~UjQLS?rUgCbH?6A(KH3wh(a2-&5yRB z+cn(T6XJ!M0S?m5^&RVhlv{6xIiH3OBLV*06XvQb=!_>V{*pmdzxOs@ehlep`e_;5 z4IYNDvRrf*|K&0Tkh_LTNX_!^++{#~m?7Q|8AgiF_FKQp!8f3*Hu&C(7c~W>LiQTv zqn^i73-Q?_UKTbXYLj-2Nc{qq57-Ze z@2?MO#0upz;_t8A_8qNgml8g`;^}H~TtIY;QkW?zQ6Q1mzZnUCElG}sw1!KNzJ=~q z)D3sBLj>RkXABa)4?wex*+LJhv3a67Gh>TJ`o9q6#jDdcVfDWqG z)t>bC4_M@Wwd9J$(oPGt`<5A;AQ8H+mA-#3L#OatU7#+iXR5Z#rOj6fxw*+e2Y#77 z=><3smr3`-;cW4?#Qu*Lk+ylMj$j%_szHMlq<|tI0ITQRO-< zW`?18dDMjB=|jv3V?*uiHX>y&%zw@PPi?%Dr~rI$M|pk76KtwZ%jM2>kk*g$c(N@G z2){b(^S}Z9n#Ml70^niH#XHja$abLNjM33vY#cw-dM^6!Kkf6;ukLV8=E0PI(1qXS zo@?W0#K*Wvst~EJS9e}L`~N5?0V{+yqVs%n;QD1dl>~S~0<(WkghFG1L_NOVdTGdMUZ;?q&F=P}c=7+QMty&m4cp6H#b*Uj&%UyY;iK=((L&9a`oEvkontvGD-+3*blUv%Gk@sJ{RI0aB=|ivR!s literal 67360 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 diff --git a/docs/UsersGuide/media/gds_gui_channels_edit.png b/docs/UsersGuide/media/gds_gui_channels_edit.png index 795235cc790ea14b5f21bd802e30d4285ef07716..4036425a3f1812c913f640d6a9bbd799e233e892 100644 GIT binary patch literal 416229 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 z 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%0DC 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%0A5+)yleXpC;;0?o+e= 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 Y+2{nl$bU2@eGK@R7+C1n=-yBGA3tS!<^TWy literal 60298 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�ODSpr&12$n>u3D3dDIJ! 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¨s|SO#%r0{byK7 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�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 literal 66407 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 z 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

    W*OAHbFHCZCSC5YT|S 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
    !l#eXZ9~eXwOvY7qX7h8I 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 aI5rt;`lgh&S6T%4=Z?l*^&(Y^7ykuk{;}%- literal 31084 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 diff --git a/docs/UsersGuide/media/gds_gui_events.png b/docs/UsersGuide/media/gds_gui_events.png index 750c5f9a7388cd6f944faa4b885e44dca652c6b5..3a2b485bdd57ba5660b810f4e7215bcfdd6c8bb6 100644 GIT binary patch literal 324907 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

    bf6OaV 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 nnVyxly7<|#Dl&gz0v>l( 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

    #|$}lpJw>-whb{?mx`!4ntak|v*qMA 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

    p|YDeW9^G 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 E2UzOoWB>pF literal 93570 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

    } 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�(;H9(WHuSq+@OSIh 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%0DMD-tQS~3%TJ+4j2ih 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

    vf`6cUou8e#<>j~h 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 diff --git a/docs/UsersGuide/media/gds_gui_uplink.png b/docs/UsersGuide/media/gds_gui_uplink.png index 4f86b9fadd5400c84b4e9b085770e28403857118..a9250f17eb2f3adfadcc754b1df4d7ebb280f48d 100644 GIT binary patch literal 209731 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

    &Xx!aGf4DerpfYZ+AtG zgZ>yH02R*ux`s-)RD4%_shVlZ8}Tefa!AHAyqI6>am9jq|LJXu7u^LYiYsxI*n9Cl z`WUv~-f4h>xo`9;NdX}NPrDYg=!y0_O-Ss-c@GIbR7`=hgdR!w_jAiu1knvLfedM@ z;7lI{pEm0~$ZWfuJlC(z_5uI|gx+M3s-fyL9L0gZ^ydm}s&k2w-bnuRQB5)DDy@=I zH=R&D({5f08{0;OHtqRB`YGbBeM#^>C_ovnevA(PPX3ozXu;o6E^3&T|5eEQ$FrA$ z5A6`-n2c4!&k=}(pPR`*&Tl!BkjUx%>z&wKH-d58RFbUkDi7(r{PD)6n}_j`R%dQq zjDD3Y%0AJ{p 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

    T?6=O^UIR%gicODvFkWr#)SV0wf%loUe0`g1HD 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 Fe*u6#-Ua{w literal 51190 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 g|CgqoN%_gQ2>PgHmrC#p Date: Thu, 27 Apr 2023 16:32:59 -0700 Subject: [PATCH 05/55] Update BufferAccumulator to FPv3 (#1944) * Adding updated BufferAccumulator files to public repo * Ported BufferAccumulator to FPv3 * Cleanup notes and todos * Cleanup old build system files * Updated format of code after a clang-format pass * Style changes in BufferAccumulator * Replace NULL with nullptr in BufferAccumulator * Removed unnecessary cast and void arguments * Construct initial version of the Fw::Buffer objects to prevent UBSAN error * Fixing incorrect variable in asser message * Removing superfluous parenthesis on the placement new * Adding header for placement new * Adding explicit operator to appease CPPlint * Added DRAINBUFFERS and NOBLOCK * Fixed Tester.cpp void arguments * Remove void * Remove void * remove void * Remove void * string header fix * Update comments in BufferAccumulator fdd * Update BufferAccumulator.fpp Fixed spelling error --------- Co-authored-by: M Starch Co-authored-by: Timothy Canham --- .github/actions/spelling/expect.txt | 2 + Svc/BufferAccumulator/ArrayFIFOBuffer.cpp | 135 ++++--- Svc/BufferAccumulator/BufferAccumulator.cpp | 313 +++++++++------- Svc/BufferAccumulator/BufferAccumulator.fpp | 52 +++ Svc/BufferAccumulator/BufferAccumulator.hpp | 342 +++++++++--------- Svc/BufferAccumulator/CMakeLists.txt | 28 ++ Svc/BufferAccumulator/Commands.fppi | 22 ++ Svc/BufferAccumulator/Commands.xml | 24 -- Svc/BufferAccumulator/Events.fppi | 52 +++ Svc/BufferAccumulator/Events.xml | 20 - Svc/BufferAccumulator/Telemetry.fppi | 2 + Svc/BufferAccumulator/Telemetry.xml | 21 -- .../docs/BufferAccumulator.md | 38 ++ Svc/BufferAccumulator/test/ut/Accumulate.cpp | 109 +++--- Svc/BufferAccumulator/test/ut/Accumulate.hpp | 27 +- Svc/BufferAccumulator/test/ut/Drain.cpp | 196 ++++++++-- Svc/BufferAccumulator/test/ut/Drain.hpp | 28 +- Svc/BufferAccumulator/test/ut/Errors.cpp | 181 +++++---- Svc/BufferAccumulator/test/ut/Errors.hpp | 28 +- Svc/BufferAccumulator/test/ut/Health.cpp | 26 +- Svc/BufferAccumulator/test/ut/Health.hpp | 27 +- Svc/BufferAccumulator/test/ut/Main.cpp | 33 +- Svc/BufferAccumulator/test/ut/Tester.cpp | 257 +++++-------- Svc/BufferAccumulator/test/ut/Tester.hpp | 153 ++++---- Svc/CMakeLists.txt | 1 + 25 files changed, 1202 insertions(+), 915 deletions(-) create mode 100644 Svc/BufferAccumulator/BufferAccumulator.fpp create mode 100644 Svc/BufferAccumulator/CMakeLists.txt create mode 100644 Svc/BufferAccumulator/Commands.fppi delete mode 100644 Svc/BufferAccumulator/Commands.xml create mode 100644 Svc/BufferAccumulator/Events.fppi delete mode 100644 Svc/BufferAccumulator/Events.xml create mode 100644 Svc/BufferAccumulator/Telemetry.fppi delete mode 100644 Svc/BufferAccumulator/Telemetry.xml create mode 100644 Svc/BufferAccumulator/docs/BufferAccumulator.md diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index 951b41dfaa..63f2458ef2 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -371,6 +371,7 @@ Doxywizard dpi DPRIVATE DPROTECTED +DRAINBUFFERS drv drvipsocket drvsocketreadtask @@ -928,6 +929,7 @@ ninjaaron NMEA nmsgs noargport +NOBLOCK NOCOLOR NOCTTY nodemon diff --git a/Svc/BufferAccumulator/ArrayFIFOBuffer.cpp b/Svc/BufferAccumulator/ArrayFIFOBuffer.cpp index 6df0c1a493..5de5b7ca56 100644 --- a/Svc/BufferAccumulator/ArrayFIFOBuffer.cpp +++ b/Svc/BufferAccumulator/ArrayFIFOBuffer.cpp @@ -10,98 +10,93 @@ // // ====================================================================== -#include "Svc/BufferAccumulator/BufferAccumulator.hpp" -#include - #include "Fw/Types/Assert.hpp" +#include "Fw/Types/BasicTypes.hpp" +#include "Svc/BufferAccumulator/BufferAccumulator.hpp" +#include // For placement new namespace Svc { - // ---------------------------------------------------------------------- - // Constructors - // ---------------------------------------------------------------------- +// ---------------------------------------------------------------------- +// Constructors +// ---------------------------------------------------------------------- - BufferAccumulator::ArrayFIFOBuffer :: - ArrayFIFOBuffer() : - elements(nullptr), +BufferAccumulator::ArrayFIFOBuffer ::ArrayFIFOBuffer() + : elements(nullptr), capacity(0), enqueueIndex(0), dequeueIndex(0), size(0) - { +{ +} - } +BufferAccumulator::ArrayFIFOBuffer ::~ArrayFIFOBuffer() {} + +// ---------------------------------------------------------------------- +// Public functions +// ---------------------------------------------------------------------- - BufferAccumulator::ArrayFIFOBuffer :: - ~ArrayFIFOBuffer() - { +void BufferAccumulator::ArrayFIFOBuffer ::init(Fw::Buffer* const elements, + NATIVE_UINT_TYPE capacity) { + this->elements = elements; + this->capacity = capacity; + // Construct all elements + for (NATIVE_UINT_TYPE idx = 0; idx < capacity; idx++) { + new (&this->elements[idx]) Fw::Buffer; } +} - // ---------------------------------------------------------------------- - // Public functions - // ---------------------------------------------------------------------- +bool BufferAccumulator::ArrayFIFOBuffer ::enqueue(const Fw::Buffer& e) { - void BufferAccumulator::ArrayFIFOBuffer :: - init(Fw::Buffer *const elements, NATIVE_UINT_TYPE capacity) - { - this->elements = elements; - this->capacity = capacity; + if (this->elements == nullptr) { + return false; } - bool BufferAccumulator::ArrayFIFOBuffer :: - enqueue(const Fw::Buffer& e) - { - if (this->elements == nullptr) { - return false; - } - bool status; - if (this->size < this->capacity) { - // NOTE(mereweth) enqueueIndex is unsigned, no need to compare with 0 - FW_ASSERT(enqueueIndex < this->capacity, enqueueIndex); - this->elements[this->enqueueIndex] = e; - this->enqueueIndex = (this->enqueueIndex + 1) % this->capacity; - status = true; - ++this->size; - } - else { - status = false; - } - return status; + bool status; + if (this->size < this->capacity) { + // enqueueIndex is unsigned, no need to compare with 0 + FW_ASSERT(enqueueIndex < this->capacity, enqueueIndex); + this->elements[this->enqueueIndex] = e; + this->enqueueIndex = (this->enqueueIndex + 1) % this->capacity; + status = true; + this->size++; + } else { + status = false; } - bool BufferAccumulator::ArrayFIFOBuffer :: - dequeue(Fw::Buffer& e) - { - if (this->elements == nullptr) { - return false; - } - FW_ASSERT(this->elements); - bool status; - if (this->size > 0) { - // NOTE(mereweth) dequeueIndex is unsigned, no need to compare with 0 - FW_ASSERT(dequeueIndex < this->capacity, enqueueIndex); - e = this->elements[this->dequeueIndex]; - this->dequeueIndex = (this->dequeueIndex + 1) % this->capacity; - --this->size; - status = true; - } - else { - status = false; - } - return status; - } + return status; +} + +bool BufferAccumulator::ArrayFIFOBuffer ::dequeue(Fw::Buffer& e) { - U32 BufferAccumulator::ArrayFIFOBuffer :: - getSize() const - { - return this->size; + if (this->elements == nullptr) { + return false; } - U32 BufferAccumulator::ArrayFIFOBuffer :: - getCapacity() const - { - return this->capacity; + FW_ASSERT(this->elements); + bool status; + + if (this->size > 0) { + // dequeueIndex is unsigned, no need to compare with 0 + FW_ASSERT(dequeueIndex < this->capacity, dequeueIndex); + e = this->elements[this->dequeueIndex]; + this->dequeueIndex = (this->dequeueIndex + 1) % this->capacity; + this->size--; + status = true; + } else { + status = false; } + return status; +} + +U32 BufferAccumulator::ArrayFIFOBuffer ::getSize() const { + return this->size; +} + +U32 BufferAccumulator::ArrayFIFOBuffer ::getCapacity() const { + return this->capacity; } + +} // namespace Svc diff --git a/Svc/BufferAccumulator/BufferAccumulator.cpp b/Svc/BufferAccumulator/BufferAccumulator.cpp index ea997b025a..1396f3f6f1 100644 --- a/Svc/BufferAccumulator/BufferAccumulator.cpp +++ b/Svc/BufferAccumulator/BufferAccumulator.cpp @@ -11,161 +11,226 @@ // ====================================================================== #include "Svc/BufferAccumulator/BufferAccumulator.hpp" -#include + +#include + +#include "Fw/Types/BasicTypes.hpp" + namespace Svc { - // ---------------------------------------------------------------------- - // Construction, initialization, and destruction - // ---------------------------------------------------------------------- - - BufferAccumulator :: - BufferAccumulator(const char *const compName) : - BufferAccumulatorComponentBase(compName), - mode(DRAIN), - bufferMemory(nullptr), - bufferQueue(), - send(true), - numWarnings(0), - allocatorId(0) - { +// ---------------------------------------------------------------------- +// Construction, initialization, and destruction +// ---------------------------------------------------------------------- + +BufferAccumulator :: + BufferAccumulator(const char* const compName) + : BufferAccumulatorComponentBase(compName), //!< The component name + mode(BufferAccumulator_OpState::ACCUMULATE), + bufferMemory(nullptr), + bufferQueue(), + send(false), + waitForBuffer(false), + numWarnings(0u), + numDrained(0u), + numToDrain(0u), + opCode(), + cmdSeq(0u), + allocatorId(0) { +} - } +void BufferAccumulator ::init(const NATIVE_INT_TYPE queueDepth, + const NATIVE_INT_TYPE instance) { + BufferAccumulatorComponentBase::init(queueDepth, instance); +} - void BufferAccumulator :: - init( - const NATIVE_INT_TYPE queueDepth, - const NATIVE_INT_TYPE instance - ) - { - BufferAccumulatorComponentBase::init(queueDepth, instance); - } +BufferAccumulator ::~BufferAccumulator() {} - BufferAccumulator :: - ~BufferAccumulator() - { - } +// ---------------------------------------------------------------------- +// Public methods +// ---------------------------------------------------------------------- - // ---------------------------------------------------------------------- - // Public methods - // ---------------------------------------------------------------------- - - void BufferAccumulator :: - allocateQueue( - NATIVE_INT_TYPE identifier, - Fw::MemAllocator& allocator, - NATIVE_UINT_TYPE maxNumBuffers //!< The maximum number of buffers - ) - { - this->allocatorId = identifier; - bool recoverable; // don't need to recover - NATIVE_UINT_TYPE actualSize = sizeof(Fw::Buffer) * maxNumBuffers; - this->bufferMemory = static_cast( - allocator.allocate(identifier, actualSize, recoverable)); - NATIVE_UINT_TYPE actualBuffers = actualSize/sizeof(Fw::Buffer); - - bufferQueue.init(this->bufferMemory, actualBuffers); - } +void BufferAccumulator ::allocateQueue( + NATIVE_INT_TYPE identifier, Fw::MemAllocator& allocator, + NATIVE_UINT_TYPE maxNumBuffers //!< The maximum number of buffers +) { - void BufferAccumulator :: - deallocateQueue(Fw::MemAllocator& allocator) - { - allocator.deallocate(this->allocatorId, (void*)this->bufferMemory); - } + this->allocatorId = identifier; + NATIVE_UINT_TYPE memSize = sizeof(Fw::Buffer) * maxNumBuffers; + bool recoverable = false; + this->bufferMemory = static_cast( + allocator.allocate(identifier, memSize, recoverable)); + //TODO: Fail gracefully here + bufferQueue.init(this->bufferMemory, maxNumBuffers); +} - // ---------------------------------------------------------------------- - // Handler implementations for user-defined typed input ports - // ---------------------------------------------------------------------- - - void BufferAccumulator :: - bufferSendInFill_handler( - const NATIVE_INT_TYPE portNum, - Fw::Buffer& buffer - ) - { - const bool status = this->bufferQueue.enqueue(buffer); - if (status) { - if (this->numWarnings > 0) { - this->log_ACTIVITY_HI_BA_BufferAccepted(); - } - this->numWarnings = 0; - } - else { - if (this->numWarnings == 0) { - this->log_WARNING_HI_BA_QueueFull(); - } - ++numWarnings; +void BufferAccumulator ::deallocateQueue(Fw::MemAllocator& allocator) { + allocator.deallocate(this->allocatorId, this->bufferMemory); +} + +// ---------------------------------------------------------------------- +// Handler implementations for user-defined typed input ports +// ---------------------------------------------------------------------- + +void BufferAccumulator ::bufferSendInFill_handler(const NATIVE_INT_TYPE portNum, + Fw::Buffer& buffer) { + + const bool status = this->bufferQueue.enqueue(buffer); + if (status) { + if (this->numWarnings > 0) { + this->log_ACTIVITY_HI_BA_BufferAccepted(); } - if (this->send) { - this->sendStoredBuffer(); + this->numWarnings = 0; + } else { + if (this->numWarnings == 0) { + this->log_WARNING_HI_BA_QueueFull(); } + numWarnings++; + } + if (this->send) { + this->sendStoredBuffer(); } - void BufferAccumulator :: - bufferSendInReturn_handler( - const NATIVE_INT_TYPE portNum, - Fw::Buffer& buffer - ) - { - this->bufferSendOutReturn_out(0, buffer); + this->tlmWrite_BA_NumQueuedBuffers(this->bufferQueue.getSize()); +} + +void BufferAccumulator ::bufferSendInReturn_handler( + const NATIVE_INT_TYPE portNum, Fw::Buffer& buffer) { + + this->bufferSendOutReturn_out(0, buffer); + this->waitForBuffer = false; + if ((this->mode == BufferAccumulator_OpState::DRAIN) || // we are draining ALL buffers + (this->numDrained < this->numToDrain)) { // OR we aren't done draining some buffers + // in a partial drain this->send = true; this->sendStoredBuffer(); } +} - void BufferAccumulator :: - pingIn_handler( - const NATIVE_INT_TYPE portNum, - U32 key - ) - { - this->pingOut_out(0, key); - } +void BufferAccumulator ::pingIn_handler(const NATIVE_INT_TYPE portNum, + U32 key) { + this->pingOut_out(0, key); +} - void BufferAccumulator :: - schedIn_handler( - const NATIVE_INT_TYPE portNum, - NATIVE_UINT_TYPE context - ) - { - // TODO +// ---------------------------------------------------------------------- +// Command handler implementations +// ---------------------------------------------------------------------- + +void BufferAccumulator ::BA_SetMode_cmdHandler(const FwOpcodeType opCode, + const U32 cmdSeq, + BufferAccumulator_OpState mode) { + + // cancel an in-progress partial drain + if (this->numToDrain > 0) { + // reset counters for partial buffer drain + this->numToDrain = 0; + this->numDrained = 0; + // respond to the original command + this->cmdResponse_out(this->opCode, this->cmdSeq, Fw::CmdResponse::OK); } - // ---------------------------------------------------------------------- - // Command handler implementations - // ---------------------------------------------------------------------- - - void BufferAccumulator :: - BA_SetMode_cmdHandler( - const FwOpcodeType opCode, - const U32 cmdSeq, - OpState mode - ) - { - this->mode = mode; - if (mode == DRAIN) { + this->mode = mode; + if (mode == BufferAccumulator_OpState::DRAIN) { + if (!this->waitForBuffer) { this->send = true; this->sendStoredBuffer(); } - else { - this->send = false; - } + } else { + this->send = false; + } + this->cmdResponse_out(opCode, cmdSeq, Fw::CmdResponse::OK); +} + +void BufferAccumulator ::BA_DrainBuffers_cmdHandler( + const FwOpcodeType opCode, const U32 cmdSeq, U32 numToDrain, + BufferAccumulator_BlockMode blockMode) { + + if (this->numDrained < this->numToDrain) { + this->log_WARNING_HI_BA_StillDraining(this->numDrained, this->numToDrain); + this->cmdResponse_out(opCode, cmdSeq, Fw::CmdResponse::BUSY); + return; + } + + if (this->mode == BufferAccumulator_OpState::DRAIN) { + this->log_WARNING_HI_BA_AlreadyDraining(); + this->cmdResponse_out(opCode, cmdSeq, Fw::CmdResponse::VALIDATION_ERROR); + return; + } + + if (numToDrain == 0) { + this->log_ACTIVITY_HI_BA_PartialDrainDone(0); this->cmdResponse_out(opCode, cmdSeq, Fw::CmdResponse::OK); + return; } - // ---------------------------------------------------------------------- - // Private helper methods - // ---------------------------------------------------------------------- + this->opCode = opCode; + this->cmdSeq = cmdSeq; + this->numDrained = 0; + this->numToDrain = numToDrain; + + if (blockMode == BufferAccumulator_BlockMode::NOBLOCK) { + U32 numBuffers = this->bufferQueue.getSize(); + + if (numBuffers < numToDrain) { + this->numToDrain = numBuffers; + this->log_WARNING_LO_BA_NonBlockDrain(this->numToDrain, numToDrain); + } - void BufferAccumulator :: - sendStoredBuffer() - { - FW_ASSERT(this->send); - Fw::Buffer buffer; + /* OK if there were 0 buffers queued, and we + * end up setting numToDrain to 0 + */ + if (0 == this->numToDrain) { + this->log_ACTIVITY_HI_BA_PartialDrainDone(0); + this->cmdResponse_out(opCode, cmdSeq, Fw::CmdResponse::OK); + return; + } + } + + // We are still waiting for a buffer from last time + if (!this->waitForBuffer) { + this->send = true; + this->sendStoredBuffer(); // kick off the draining; + } +} + +// ---------------------------------------------------------------------- +// Private helper methods +// ---------------------------------------------------------------------- + +void BufferAccumulator ::sendStoredBuffer() { + + FW_ASSERT(this->send); + Fw::Buffer buffer; + if ((this->numToDrain == 0) || // we are draining ALL buffers + (this->numDrained < this->numToDrain)) { // OR we aren't done draining some buffers in a + // partial drain const bool status = this->bufferQueue.dequeue(buffer); - if (status) { + if (status) { // a buffer was dequeued + this->numDrained++; this->bufferSendOutDrain_out(0, buffer); + this->waitForBuffer = true; this->send = false; + } else if (this->numToDrain > 0) { + this->log_WARNING_HI_BA_DrainStalled(this->numDrained, this->numToDrain); } } + /* This used to be "else if", but then you wait for all + * drained buffers in a partial drain to be RETURNED before returning OK. + * Correct thing is to return OK once they are SENT + */ + if ((this->numToDrain > 0) && // we are doing a partial drain + (this->numDrained == this->numToDrain)) { // AND we just finished draining + // + this->log_ACTIVITY_HI_BA_PartialDrainDone(this->numDrained); + // reset counters for partial buffer drain + this->numToDrain = 0; + this->numDrained = 0; + this->send = false; + this->cmdResponse_out(this->opCode, this->cmdSeq, Fw::CmdResponse::OK); + } + + this->tlmWrite_BA_NumQueuedBuffers(this->bufferQueue.getSize()); } + +} // namespace Svc diff --git a/Svc/BufferAccumulator/BufferAccumulator.fpp b/Svc/BufferAccumulator/BufferAccumulator.fpp new file mode 100644 index 0000000000..aa918be36c --- /dev/null +++ b/Svc/BufferAccumulator/BufferAccumulator.fpp @@ -0,0 +1,52 @@ +module Svc { + + active component BufferAccumulator { + + include "Commands.fppi" + + include "Events.fppi" + + include "Telemetry.fppi" + + @ Receive a Buffer from an upstream component to enqueue + async input port bufferSendInFill: [1] Fw.BufferSend + + @ Receive a Buffer back from a downstream component + async input port bufferSendInReturn: [1] Fw.BufferSend + + @ Pass a Buffer onwards to a downstream component + output port bufferSendOutDrain: [1] Fw.BufferSend + + @ Return a Buffer to the original upstream component + output port bufferSendOutReturn: [1] Fw.BufferSend + + @ Port for receiving commands + command recv port cmdIn + + @ Port for sending command registration requests + command reg port cmdRegOut + + @ Port for sending command response + command resp port cmdResponseOut + + @ Event port for emitting events + event port eventOut + + @ Event port for emitting text events + text event port eventOutText + + @ Ping input port for health + async input port pingIn: [1] Svc.Ping + + @ Ping output port for health + output port pingOut: [1] Svc.Ping + + @ A port for getting the time + time get port timeCaller + + @ A port for emitting telemetry + telemetry port tlmOut + + } + +} diff --git a/Svc/BufferAccumulator/BufferAccumulator.hpp b/Svc/BufferAccumulator/BufferAccumulator.hpp index 0d0fe83c1d..14e7da9d36 100644 --- a/Svc/BufferAccumulator/BufferAccumulator.hpp +++ b/Svc/BufferAccumulator/BufferAccumulator.hpp @@ -13,200 +13,206 @@ #ifndef Svc_BufferAccumulator_HPP #define Svc_BufferAccumulator_HPP -#include "Svc/BufferAccumulator/BufferAccumulatorComponentAc.hpp" -#include "Os/Queue.hpp" #include +#include "Os/Queue.hpp" +#include "Svc/BufferAccumulator/BufferAccumulatorComponentAc.hpp" + namespace Svc { - class BufferAccumulator : - public BufferAccumulatorComponentBase - { + class BufferAccumulator : public BufferAccumulatorComponentBase { + PRIVATE: - PRIVATE: + // ---------------------------------------------------------------------- + // Types + // ---------------------------------------------------------------------- - // ---------------------------------------------------------------------- - // Types - // ---------------------------------------------------------------------- + //! A BufferLogger file + class ArrayFIFOBuffer { + public: + //! Construct an ArrayFIFOBuffer object + ArrayFIFOBuffer(); - //! A BufferLogger file - class ArrayFIFOBuffer { + //! Destroy an ArrayFIFOBuffer File object + ~ArrayFIFOBuffer(); - public: - //! Construct an ArrayFIFOBuffer object - ArrayFIFOBuffer(); + void init(Fw::Buffer* const elements, //!< The array elements + NATIVE_UINT_TYPE capacity //!< The capacity + ); + + //! Enqueue an index. + //! Fails if the queue is full. + //! \return Whether the operation succeeded + bool enqueue(const Fw::Buffer& e //!< The element to enqueue + ); + + //! Dequeue an index. + //! Fails if the queue is empty. + bool dequeue(Fw::Buffer& e //!< The dequeued element + ); - //! Destroy an ArrayFIFOBuffer File object - ~ArrayFIFOBuffer(); + //! Get the size of the queue + //! \return The size + U32 getSize() const; - void init(Fw::Buffer *const elements, //!< The array elements - NATIVE_UINT_TYPE capacity //!< The capacity - ); - - //! Enqueue an index. - //! Fails if the queue is full. - //! \return Whether the operation succeeded - bool enqueue( - const Fw::Buffer& e //!< The element to enqueue - ); - - //! Dequeue an index. - //! Fails if the queue is empty. - bool dequeue( - Fw::Buffer& e //!< The dequeued element - ); - - //! Get the size of the queue - //! \return The size - U32 getSize() const; - - //! Get the capacity of the queue - //! \return The capacity - U32 getCapacity() const; - - PRIVATE: - - // ---------------------------------------------------------------------- - // Private member variables - // ---------------------------------------------------------------------- - - //! The memory for the elements - Fw::Buffer * elements; - - //! The capacity of the queue - NATIVE_UINT_TYPE capacity; - - //! The enqueue index - NATIVE_UINT_TYPE enqueueIndex; - - //! The dequeue index - NATIVE_UINT_TYPE dequeueIndex; - - //! The size of the queue - NATIVE_UINT_TYPE size; - }; //class ArrayFIFOBuffer - - public: - - // ---------------------------------------------------------------------- - // Construction, initialization, and destruction - // ---------------------------------------------------------------------- - - //! Construct BufferAccumulator instance - //! - BufferAccumulator( - const char *const compName /*!< The component name*/ - ); - - //! Initialize BufferAccumulator instance - //! - void init( - const NATIVE_INT_TYPE queueDepth, //!< The queue depth - const NATIVE_INT_TYPE instance = 0 //!< The instance number - ); - - //! Destroy BufferAccumulator instance - //! - ~BufferAccumulator(); + //! Get the capacity of the queue + //! \return The capacity + U32 getCapacity() const; - // ---------------------------------------------------------------------- - // Public methods - // ---------------------------------------------------------------------- + PRIVATE: - //! Give the class a memory buffer. Should be called after constructor - //! and init, but before task is spawned. - void allocateQueue( - NATIVE_INT_TYPE identifier, //!< Identifier for queue allocation and saved for deallocation - Fw::MemAllocator& allocator, //!< Memory allocator used to allocate memory - NATIVE_UINT_TYPE maxNumBuffers //!< The maximum number of buffers - ); + // ---------------------------------------------------------------------- + // Private member variables + // ---------------------------------------------------------------------- - //! Return allocated queue. Should be done during shutdown - void deallocateQueue(Fw::MemAllocator& allocator); + //! The memory for the elements + Fw::Buffer* elements; + //! The capacity of the queue + NATIVE_UINT_TYPE capacity; - PRIVATE: + //! The enqueue index + NATIVE_UINT_TYPE enqueueIndex; - // ---------------------------------------------------------------------- - // Handler implementations for user-defined typed input ports - // ---------------------------------------------------------------------- + //! The dequeue index + NATIVE_UINT_TYPE dequeueIndex; - //! Handler implementation for bufferSendInFill - //! - void bufferSendInFill_handler( - const NATIVE_INT_TYPE portNum, //!< The port number - Fw::Buffer& buffer - ); + //! The size of the queue + NATIVE_UINT_TYPE size; + }; // class ArrayFIFOBuffer + + public: + // ---------------------------------------------------------------------- + // Construction, initialization, and destruction + // ---------------------------------------------------------------------- + + //! Construct BufferAccumulator instance + //! + BufferAccumulator( + const char* const compName /*!< The component name*/ + ); + + //! Initialize BufferAccumulator instance + //! + void init(const NATIVE_INT_TYPE queueDepth, //!< The queue depth + const NATIVE_INT_TYPE instance = 0 //!< The instance number + ); + + //! Destroy BufferAccumulator instance + //! + ~BufferAccumulator(); + + // ---------------------------------------------------------------------- + // Public methods + // ---------------------------------------------------------------------- + + //! Give the class a memory buffer. Should be called after constructor + //! and init, but before task is spawned. + void allocateQueue( + NATIVE_INT_TYPE identifier, Fw::MemAllocator& allocator, + NATIVE_UINT_TYPE maxNumBuffers //!< The maximum number of buffers + ); - //! Handler implementation for bufferSendInReturn - //! - void bufferSendInReturn_handler( - const NATIVE_INT_TYPE portNum, //!< The port number - Fw::Buffer& buffer - ); - - //! Handler implementation for pingIn - //! - void pingIn_handler( - const NATIVE_INT_TYPE portNum, //!< The port number - U32 key //!< Value to return to pinger - ); + //! Return allocated queue. Should be done during shutdown + void deallocateQueue(Fw::MemAllocator& allocator); + + PRIVATE: + + // ---------------------------------------------------------------------- + // Handler implementations for user-defined typed input ports + // ---------------------------------------------------------------------- + + //! Handler implementation for bufferSendInFill + //! + void + bufferSendInFill_handler( + const NATIVE_INT_TYPE portNum, //!< The port number + Fw::Buffer& buffer); + + //! Handler implementation for bufferSendInReturn + //! + void bufferSendInReturn_handler( + const NATIVE_INT_TYPE portNum, //!< The port number + Fw::Buffer& buffer); + + //! Handler implementation for pingIn + //! + void pingIn_handler(const NATIVE_INT_TYPE portNum, //!< The port number + U32 key //!< Value to return to pinger + ); + + PRIVATE: + + // ---------------------------------------------------------------------- + // Command handler implementations + // ---------------------------------------------------------------------- + + //! Implementation for SetMode command handler + //! Set the mode + void BA_SetMode_cmdHandler(const FwOpcodeType opCode, //!< The opcode + const U32 cmdSeq, //!< The command sequence number + BufferAccumulator_OpState mode //!< The mode + ); + + //! Implementation for BA_DrainBuffers command handler + //! Drain the commanded number of buffers + void BA_DrainBuffers_cmdHandler(const FwOpcodeType opCode, /*!< The opcode*/ + const U32 cmdSeq, /*!< The command sequence number*/ + U32 numToDrain, + BufferAccumulator_BlockMode blockMode + ); + + PRIVATE: + + // ---------------------------------------------------------------------- + // Private helper methods + // ---------------------------------------------------------------------- + + //! Send a stored buffer + void sendStoredBuffer(); + + PRIVATE: + + // ---------------------------------------------------------------------- + // Private member variables + // ---------------------------------------------------------------------- + + //! The mode + BufferAccumulator_OpState mode; + + //! Memory for the buffer array + Fw::Buffer* bufferMemory; + + //! The FIFO queue of buffers + ArrayFIFOBuffer bufferQueue; - //! Handler implementation for schedIn - //! - void schedIn_handler( - const NATIVE_INT_TYPE portNum, /*!< The port number*/ - NATIVE_UINT_TYPE context /*!< The call order*/ - ); + //! Whether to send a buffer to the downstream client + bool send; - PRIVATE: + //! If we are switched to ACCUMULATE then back to DRAIN, whether we were + //! waiting on a buffer + bool waitForBuffer; - // ---------------------------------------------------------------------- - // Command handler implementations - // ---------------------------------------------------------------------- + //! The number of QueueFull warnings sent since the last successful enqueue + //! operation + U32 numWarnings; - //! Implementation for SetMode command handler - //! Set the mode - void BA_SetMode_cmdHandler( - const FwOpcodeType opCode, //!< The opcode - const U32 cmdSeq, //!< The command sequence number - OpState mode //!< The mode - ); - PRIVATE: + //! The number of buffers drained in a partial drain command + U32 numDrained; - // ---------------------------------------------------------------------- - // Private helper methods - // ---------------------------------------------------------------------- + //! The number of buffers TO drain in a partial drain command + U32 numToDrain; - //! Send a stored buffer - void sendStoredBuffer(); - - PRIVATE: - - // ---------------------------------------------------------------------- - // Private member variables - // ---------------------------------------------------------------------- - - //! The mode - OpState mode; - - //! Memory for the buffer array - Fw::Buffer * bufferMemory; - - //! The FIFO queue of buffers - ArrayFIFOBuffer bufferQueue; - - //! Whether to send a buffer to the downstream client - bool send; - - //! The number of QueueFull warnings sent since the last successful enqueue operation - U32 numWarnings; + //! The DrainBuffers opcode to respond to + FwOpcodeType opCode; - //! The allocator ID - NATIVE_INT_TYPE allocatorId; + //! The DrainBuffers cmdSeq to respond to + U32 cmdSeq; - }; + //! The allocator ID + NATIVE_INT_TYPE allocatorId; + }; -} +} // namespace Svc #endif diff --git a/Svc/BufferAccumulator/CMakeLists.txt b/Svc/BufferAccumulator/CMakeLists.txt new file mode 100644 index 0000000000..1535f68239 --- /dev/null +++ b/Svc/BufferAccumulator/CMakeLists.txt @@ -0,0 +1,28 @@ +#### +# F prime CMakeLists.txt: +# +# SOURCE_FILES: combined list of source and autocoding diles +# MOD_DEPS: (optional) module dependencies +# +# Note: using PROJECT_NAME as EXECUTABLE_NAME +#### +set(SOURCE_FILES + "${CMAKE_CURRENT_LIST_DIR}/BufferAccumulator.fpp" + "${CMAKE_CURRENT_LIST_DIR}/BufferAccumulator.cpp" + "${CMAKE_CURRENT_LIST_DIR}/ArrayFIFOBuffer.cpp" +) + +register_fprime_module() + +### UTS ### +set(UT_SOURCE_FILES + "${CMAKE_CURRENT_LIST_DIR}/BufferAccumulator.fpp" + "${CMAKE_CURRENT_LIST_DIR}/test/ut/Tester.cpp" + "${CMAKE_CURRENT_LIST_DIR}/test/ut/Accumulate.cpp" + "${CMAKE_CURRENT_LIST_DIR}/test/ut/Drain.cpp" + "${CMAKE_CURRENT_LIST_DIR}/test/ut/Errors.cpp" + "${CMAKE_CURRENT_LIST_DIR}/test/ut/Health.cpp" + "${CMAKE_CURRENT_LIST_DIR}/test/ut/Main.cpp" +) +register_fprime_ut() + diff --git a/Svc/BufferAccumulator/Commands.fppi b/Svc/BufferAccumulator/Commands.fppi new file mode 100644 index 0000000000..029ec1c7b3 --- /dev/null +++ b/Svc/BufferAccumulator/Commands.fppi @@ -0,0 +1,22 @@ +enum OpState { + ACCUMULATE = 0 + DRAIN = 1 +} + +@ Set the mode +async command BA_SetMode( + mode: OpState + ) \ + opcode 0x00 + +enum BlockMode { + NOBLOCK = 0 + BLOCK = 1 +} + +@ Drain the commanded number of buffers +async command BA_DrainBuffers( + numToDrain: U32 + blockMode: BlockMode + ) \ + opcode 0x01 diff --git a/Svc/BufferAccumulator/Commands.xml b/Svc/BufferAccumulator/Commands.xml deleted file mode 100644 index c80fb438dd..0000000000 --- a/Svc/BufferAccumulator/Commands.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - Set the mode - - - - - - - - - - - diff --git a/Svc/BufferAccumulator/Events.fppi b/Svc/BufferAccumulator/Events.fppi new file mode 100644 index 0000000000..4f156995aa --- /dev/null +++ b/Svc/BufferAccumulator/Events.fppi @@ -0,0 +1,52 @@ +@ The Buffer Accumulator instance accepted and enqueued a buffer. To avoid uncontrolled sending of events, this event occurs only when the previous buffer received caused a QueueFull error. +event BA_BufferAccepted \ + severity activity high \ + id 0x00 \ + format "Buffer accepted" + +@ The Buffer Accumulator instance received a buffer when its queue was full. To avoid uncontrolled sending of events, this event occurs only when the previous buffer received did not cause a QueueFull error. +event BA_QueueFull \ + severity warning high \ + id 0x01 \ + format "Queue full" + +@ Got DrainBuffers command while executing DrainBuffers command +event BA_StillDraining( + numDrained: U32 + numToDrain: U32 + ) \ + severity warning high \ + id 0x02 \ + format "Still draining {} of {}" + +@ Got DrainBuffers command while in DRAIN mode +event BA_AlreadyDraining \ + severity warning high \ + id 0x03 \ + format "Already in DRAIN mode" + +@ Ran out of buffers while executing DrainBuffers command +event BA_DrainStalled( + numDrained: U32 + numToDrain: U32 + ) \ + severity warning high \ + id 0x04 \ + format "Drain stalling - only drained {} of {}" + +@ Finished DrainBuffers command +event BA_PartialDrainDone( + numDrained: U32 + ) \ + severity activity high \ + id 0x05 \ + format "Partial drain of {} finished" + +@ Not enough buffers to complete requested drain, and NOBLOCK was set; will only drain what we have +event BA_NonBlockDrain( + numWillDrain: U32 + numReqDrain: U32 + ) \ + severity warning low \ + id 0x06 \ + format "Only have {}; requested drain of {}" diff --git a/Svc/BufferAccumulator/Events.xml b/Svc/BufferAccumulator/Events.xml deleted file mode 100644 index 65922d03a2..0000000000 --- a/Svc/BufferAccumulator/Events.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - The Buffer Accumulator instance accepted and enqueued a buffer. To avoid uncontrolled sending of events, this event occurs only when the previous buffer received caused a QueueFull error. - - - - The Buffer Accumulator instance received a buffer when its queue was full. To avoid uncontrolled sending of events, this event occurs only when the previous buffer received did not cause a QueueFull error. - - - diff --git a/Svc/BufferAccumulator/Telemetry.fppi b/Svc/BufferAccumulator/Telemetry.fppi new file mode 100644 index 0000000000..481fe2c08c --- /dev/null +++ b/Svc/BufferAccumulator/Telemetry.fppi @@ -0,0 +1,2 @@ +@ The number of buffers queued +telemetry BA_NumQueuedBuffers: U32 id 0 diff --git a/Svc/BufferAccumulator/Telemetry.xml b/Svc/BufferAccumulator/Telemetry.xml deleted file mode 100644 index 7710ea33cf..0000000000 --- a/Svc/BufferAccumulator/Telemetry.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - The number of buffers queued - - - diff --git a/Svc/BufferAccumulator/docs/BufferAccumulator.md b/Svc/BufferAccumulator/docs/BufferAccumulator.md new file mode 100644 index 0000000000..2e1e695c55 --- /dev/null +++ b/Svc/BufferAccumulator/docs/BufferAccumulator.md @@ -0,0 +1,38 @@ +BufferAccumulator Component Dictionary +# BufferAccumulator Component Dictionary + + +## Command List + +|Mnemonic|ID|Description|Arg Name|Arg Type|Comment +|---|---|---|---|---|---| +|BA_SetMode|0 (0x0)|Set the mode| | | +| | | |mode|OpState|| +|BA_DrainBuffers|1 (0x1)|Drain the commanded number of buffers| | | +| | | |numToDrain|U32|| +| | | |blockMode|BlockMode|| + +## Telemetry Channel List + +|Channel Name|ID|Type|Description| +|---|---|---|---| +|BA_NumQueuedBuffers|0 (0x0)|U32|The number of buffers queued| + +## Event List + +|Event Name|ID|Description|Arg Name|Arg Type|Arg Size|Description +|---|---|---|---|---|---|---| +|BA_BufferAccepted|0 (0x0)|The Buffer Accumulator instance accepted and enqueued a buffer. To avoid uncontrolled sending of events, this event occurs only when the previous buffer received caused a QueueFull error.| | | | | +|BA_QueueFull|1 (0x1)|The Buffer Accumulator instance received a buffer when its queue was full. To avoid uncontrolled sending of events, this event occurs only when the previous buffer received did not cause a QueueFull error.| | | | | +|BA_StillDraining|2 (0x2)|Got DrainBuffers command while executing DrainBuffers command| | | | | +| | | |numDrained|U32||| +| | | |numToDrain|U32||| +|BA_AlreadyDraining|3 (0x3)|Got DrainBuffers command while in DRAIN mode| | | | | +|BA_DrainStalled|4 (0x4)|Ran out of buffers while executing DrainBuffers command| | | | | +| | | |numDrained|U32||| +| | | |numToDrain|U32||| +|BA_PartialDrainDone|5 (0x5)|Finished DrainBuffers command| | | | | +| | | |numDrained|U32||| +|BA_NonBlockDrain|6 (0x6)|Not enough buffers to complete requested drain, and NOBLOCK was set; will only drain what we have| | | | | +| | | |numWillDrain|U32||| +| | | |numReqDrain|U32||| diff --git a/Svc/BufferAccumulator/test/ut/Accumulate.cpp b/Svc/BufferAccumulator/test/ut/Accumulate.cpp index 90fdef2aa5..716a22147a 100644 --- a/Svc/BufferAccumulator/test/ut/Accumulate.cpp +++ b/Svc/BufferAccumulator/test/ut/Accumulate.cpp @@ -14,69 +14,66 @@ namespace Svc { - namespace Accumulate { +namespace Accumulate { - // ---------------------------------------------------------------------- - // Tests - // ---------------------------------------------------------------------- +// ---------------------------------------------------------------------- +// Tests +// ---------------------------------------------------------------------- - void Tester :: - OK() - { +void Tester ::OK() { + ASSERT_EQ(BufferAccumulator_OpState::DRAIN, this->component.mode.e); + this->sendCmd_BA_SetMode(0, 0, BufferAccumulator_OpState::ACCUMULATE); + this->component.doDispatch(); + ASSERT_EQ(BufferAccumulator_OpState::ACCUMULATE, this->component.mode.e); + ASSERT_FROM_PORT_HISTORY_SIZE(0); - ASSERT_EQ(BufferAccumulator::DRAIN, this->component.mode); - this->sendCmd_BA_SetMode(0, 0, BufferAccumulator::ACCUMULATE); - this->component.doDispatch(); - ASSERT_EQ(BufferAccumulator::ACCUMULATE, this->component.mode); - ASSERT_FROM_PORT_HISTORY_SIZE(0); - - Fw::Buffer buffers[MAX_NUM_BUFFERS]; - const U32 managerID = 42; - const U64 data = 0; - const U32 size = 10; - for (U32 i = 0; i < MAX_NUM_BUFFERS; ++i) { - const U32 bufferID = i; - Fw::Buffer b(managerID, bufferID, data, size); - buffers[i] = b; - this->invoke_to_bufferSendInFill(0, buffers[i]); - this->component.doDispatch(); - ASSERT_FROM_PORT_HISTORY_SIZE(0); - } - - this->sendCmd_BA_SetMode(0, 0, BufferAccumulator::DRAIN); - this->component.doDispatch(); - ASSERT_EQ(BufferAccumulator::DRAIN, this->component.mode); - ASSERT_FROM_PORT_HISTORY_SIZE(1); - ASSERT_from_bufferSendOutDrain_SIZE(1); - ASSERT_from_bufferSendOutDrain(0, buffers[0]); - - U32 expectedNumBuffers = 1; - for (U32 i = 0; i < MAX_NUM_BUFFERS; ++i) { - this->invoke_to_bufferSendInReturn(0, buffers[i]); - this->component.doDispatch(); - ++expectedNumBuffers; - if (i + 1 < MAX_NUM_BUFFERS) { - ++expectedNumBuffers; - ASSERT_from_bufferSendOutDrain_SIZE(i + 2); - ASSERT_from_bufferSendOutDrain(i + 1, buffers[i + 1]); - } - ASSERT_FROM_PORT_HISTORY_SIZE(expectedNumBuffers); - ASSERT_from_bufferSendOutReturn_SIZE(i + 1); - ASSERT_from_bufferSendOutReturn(i, buffers[i]); - } - - ASSERT_EQ(2U * MAX_NUM_BUFFERS, expectedNumBuffers); - ASSERT_FROM_PORT_HISTORY_SIZE(expectedNumBuffers); - ASSERT_from_bufferSendOutDrain_SIZE(MAX_NUM_BUFFERS); - ASSERT_from_bufferSendOutReturn_SIZE(MAX_NUM_BUFFERS); + Fw::Buffer buffers[MAX_NUM_BUFFERS]; + U8* data = new U8[10]; + const U32 size = 10; + for (U32 i = 0; i < MAX_NUM_BUFFERS; ++i) { + const U32 bufferID = i; + Fw::Buffer b(data, size, bufferID); + buffers[i] = b; + this->invoke_to_bufferSendInFill(0, buffers[i]); + this->component.doDispatch(); + ASSERT_FROM_PORT_HISTORY_SIZE(0); + } - for (U32 i = 0; i < MAX_NUM_BUFFERS; ++i) { - ASSERT_from_bufferSendOutDrain(i, buffers[i]); - ASSERT_from_bufferSendOutReturn(i, buffers[i]); - } + this->sendCmd_BA_SetMode(0, 0, BufferAccumulator_OpState::DRAIN); + this->component.doDispatch(); + ASSERT_EQ(BufferAccumulator_OpState::DRAIN, this->component.mode.e); + ASSERT_FROM_PORT_HISTORY_SIZE(1); + ASSERT_from_bufferSendOutDrain_SIZE(1); + ASSERT_from_bufferSendOutDrain(0, buffers[0]); + U32 expectedNumBuffers = 1; + for (U32 i = 0; i < MAX_NUM_BUFFERS; ++i) { + this->invoke_to_bufferSendInReturn(0, buffers[i]); + this->component.doDispatch(); + ++expectedNumBuffers; + if (i + 1 < MAX_NUM_BUFFERS) { + ++expectedNumBuffers; + ASSERT_from_bufferSendOutDrain_SIZE(i + 2); + ASSERT_from_bufferSendOutDrain(i + 1, buffers[i + 1]); } + ASSERT_FROM_PORT_HISTORY_SIZE(expectedNumBuffers); + ASSERT_from_bufferSendOutReturn_SIZE(i + 1); + ASSERT_from_bufferSendOutReturn(i, buffers[i]); + } + + ASSERT_EQ(2U * MAX_NUM_BUFFERS, expectedNumBuffers); + ASSERT_FROM_PORT_HISTORY_SIZE(expectedNumBuffers); + ASSERT_from_bufferSendOutDrain_SIZE(MAX_NUM_BUFFERS); + ASSERT_from_bufferSendOutReturn_SIZE(MAX_NUM_BUFFERS); + for (U32 i = 0; i < MAX_NUM_BUFFERS; ++i) { + ASSERT_from_bufferSendOutDrain(i, buffers[i]); + ASSERT_from_bufferSendOutReturn(i, buffers[i]); } + delete[] data; } + +} // namespace Accumulate + +} // namespace Svc diff --git a/Svc/BufferAccumulator/test/ut/Accumulate.hpp b/Svc/BufferAccumulator/test/ut/Accumulate.hpp index 60b26c9e51..77302f51ca 100644 --- a/Svc/BufferAccumulator/test/ut/Accumulate.hpp +++ b/Svc/BufferAccumulator/test/ut/Accumulate.hpp @@ -17,25 +17,20 @@ namespace Svc { - namespace Accumulate { +namespace Accumulate { - class Tester : - public Svc::Tester - { +class Tester : public Svc::Tester { + public: + // ---------------------------------------------------------------------- + // Tests + // ---------------------------------------------------------------------- - public: + //! Send some buffers + void OK(void); +}; - // ---------------------------------------------------------------------- - // Tests - // ---------------------------------------------------------------------- +} // namespace Accumulate - //! Send some buffers - void OK(); - - }; - - } - -} +} // namespace Svc #endif diff --git a/Svc/BufferAccumulator/test/ut/Drain.cpp b/Svc/BufferAccumulator/test/ut/Drain.cpp index fbeb47ad94..525a6a7b72 100644 --- a/Svc/BufferAccumulator/test/ut/Drain.cpp +++ b/Svc/BufferAccumulator/test/ut/Drain.cpp @@ -10,41 +10,179 @@ // // ====================================================================== -#include - #include "Drain.hpp" +#include +#include + namespace Svc { - namespace Drain { - - // ---------------------------------------------------------------------- - // Tests - // ---------------------------------------------------------------------- - - void Tester :: - OK() - { - ASSERT_EQ(BufferAccumulator::DRAIN, this->component.mode); - Fw::Buffer buffers[MAX_NUM_BUFFERS]; - const U32 managerID = 42; - const U64 data = 0; - const U32 size = 10; - for (U32 i = 0; i < MAX_NUM_BUFFERS; ++i) { - ASSERT_from_bufferSendOutDrain_SIZE(i); - const U32 bufferID = i; - Fw::Buffer b(managerID, bufferID, data, size); - buffers[i] = b; - this->invoke_to_bufferSendInFill(0, buffers[i]); - this->component.doDispatch(); - ASSERT_from_bufferSendOutDrain_SIZE(i + 1); - ASSERT_from_bufferSendOutDrain(i, buffers[i]); - this->invoke_to_bufferSendInReturn(0, buffers[i]); - this->component.doDispatch(); - ASSERT_from_bufferSendOutReturn(i, buffers[i]); - } +namespace Drain { + +// ---------------------------------------------------------------------- +// Tests +// ---------------------------------------------------------------------- + +void Tester ::OK() { + ASSERT_EQ(BufferAccumulator_OpState::DRAIN, this->component.mode.e); + Fw::Buffer buffers[MAX_NUM_BUFFERS]; + // Buffer needs a valid pointer + U8* data = new U8[10]; + const U32 size = 10; + for (U32 i = 0; i < MAX_NUM_BUFFERS; ++i) { + ASSERT_from_bufferSendOutDrain_SIZE(i); + const U32 bufferID = i; + Fw::Buffer b(data, size, bufferID); + buffers[i] = b; + this->invoke_to_bufferSendInFill(0, buffers[i]); + this->component.doDispatch(); + ASSERT_from_bufferSendOutDrain_SIZE(i + 1); + ASSERT_from_bufferSendOutDrain(i, buffers[i]); + this->invoke_to_bufferSendInReturn(0, buffers[i]); + this->component.doDispatch(); + ASSERT_from_bufferSendOutReturn(i, buffers[i]); + } + + delete[] data; +} + +void Tester ::PartialDrainOK() { + this->sendCmd_BA_SetMode(0, 0, BufferAccumulator_OpState::ACCUMULATE); + this->component.doDispatch(); + ASSERT_CMD_RESPONSE_SIZE(1); + ASSERT_CMD_RESPONSE(0, BufferAccumulator::OPCODE_BA_SETMODE, 0, + Fw::CmdResponse::OK); + ASSERT_EQ(BufferAccumulator_OpState::ACCUMULATE, this->component.mode.e); + ASSERT_FROM_PORT_HISTORY_SIZE(0); + + Fw::Buffer buffers[MAX_NUM_BUFFERS]; + U8* data = new U8[10]; + const U32 size = 10; + for (U32 i = 0; i < MAX_NUM_BUFFERS; ++i) { + const U32 bufferID = i; + Fw::Buffer b(data, size, bufferID); + buffers[i] = b; + this->invoke_to_bufferSendInFill(0, buffers[i]); + this->component.doDispatch(); + + this->sendCmd_BA_DrainBuffers(0, 0, 1, BufferAccumulator_BlockMode::BLOCK); + this->component.doDispatch(); + ASSERT_EVENTS_BA_PartialDrainDone_SIZE(i + 1); + ASSERT_EVENTS_BA_PartialDrainDone(i, 1u); + // + 1 for first BufferAccumulator_OpState::ACCUMULATE command; + 1 for + // buffer drained immediately + ASSERT_CMD_RESPONSE_SIZE(i + 2); + ASSERT_CMD_RESPONSE(i + 1, BufferAccumulator::OPCODE_BA_DRAINBUFFERS, 0, + Fw::CmdResponse::OK); + // check that one buffer drained + ASSERT_from_bufferSendOutDrain_SIZE(i + 1); + ASSERT_from_bufferSendOutDrain(i, buffers[i]); + + this->invoke_to_bufferSendInReturn(0, buffers[i]); + this->component.doDispatch(); + ASSERT_from_bufferSendOutReturn(i, buffers[i]); + + ASSERT_EVENTS_BA_PartialDrainDone_SIZE(i + 1); + ASSERT_EVENTS_BA_PartialDrainDone(i, 1u); + // + 1 for first BufferAccumulator_OpState::ACCUMULATE command; + 1 for + // buffer drained immediately + ASSERT_CMD_RESPONSE_SIZE(i + 2); + // check that ONLY one buffer drained + ASSERT_from_bufferSendOutDrain_SIZE(i + 1); + ASSERT_from_bufferSendOutDrain(i, buffers[i]); + } + + this->clearHistory(); + // refill buffers + for (U32 i = 0; i < MAX_NUM_BUFFERS; ++i) { + const U32 bufferID = i; + Fw::Buffer b(data, size, bufferID); + buffers[i] = b; + this->invoke_to_bufferSendInFill(0, buffers[i]); + this->component.doDispatch(); + ASSERT_FROM_PORT_HISTORY_SIZE(0); + } + + ASSERT_CMD_RESPONSE_SIZE(0); + for (U32 i = 0; i < MAX_NUM_BUFFERS; ++i) { + ASSERT_from_bufferSendOutDrain_SIZE(i); + + this->sendCmd_BA_DrainBuffers(0, 0, 1, BufferAccumulator_BlockMode::BLOCK); + this->component.doDispatch(); + ASSERT_CMD_RESPONSE_SIZE(i + 1); + ASSERT_CMD_RESPONSE(i, BufferAccumulator::OPCODE_BA_DRAINBUFFERS, 0, + Fw::CmdResponse::OK); + + const U32 bufferID = i; + Fw::Buffer b(data, size, bufferID); + buffers[i] = b; + + // check that one buffer drained + ASSERT_from_bufferSendOutDrain_SIZE(i + 1); + ASSERT_from_bufferSendOutDrain(i, buffers[i]); + this->invoke_to_bufferSendInReturn(0, buffers[i]); + this->component.doDispatch(); + ASSERT_from_bufferSendOutReturn(i, buffers[i]); + + ASSERT_EVENTS_BA_PartialDrainDone_SIZE(i + 1); + ASSERT_EVENTS_BA_PartialDrainDone(i, 1u); + + // check that ONLY one buffer drained + ASSERT_from_bufferSendOutDrain_SIZE(i + 1); + ASSERT_from_bufferSendOutDrain(i, buffers[i]); + ASSERT_CMD_RESPONSE_SIZE(i + 1); + } + + this->clearHistory(); + // refill buffers + for (U32 i = 0; i < MAX_NUM_BUFFERS; ++i) { + const U32 bufferID = i; + Fw::Buffer b(data, size, bufferID); + buffers[i] = b; + this->invoke_to_bufferSendInFill(0, buffers[i]); + this->component.doDispatch(); + ASSERT_FROM_PORT_HISTORY_SIZE(0); + } + + ASSERT_EQ(BufferAccumulator_OpState::ACCUMULATE, this->component.mode.e); + ASSERT_FROM_PORT_HISTORY_SIZE(0); + ASSERT_EQ(0u, this->component.numDrained); + ASSERT_EQ(0u, this->component.numToDrain); + + ASSERT_EVENTS_BA_PartialDrainDone_SIZE(0); + this->sendCmd_BA_DrainBuffers(0, 0, MAX_NUM_BUFFERS, + BufferAccumulator_BlockMode::BLOCK); + this->component.doDispatch(); + ASSERT_CMD_RESPONSE_SIZE(0); + + for (U32 i = 0; i < MAX_NUM_BUFFERS; ++i) { + const U32 bufferID = i; + Fw::Buffer b(data, size, bufferID); + buffers[i] = b; + + if (i + 1 < MAX_NUM_BUFFERS) { + ASSERT_EQ(i + 1, this->component.numDrained); + ASSERT_EQ(MAX_NUM_BUFFERS, this->component.numToDrain); + ASSERT_EVENTS_BA_PartialDrainDone_SIZE(0); } + // check that one buffer drained + ASSERT_from_bufferSendOutDrain_SIZE(i + 1); + ASSERT_from_bufferSendOutDrain(i, buffers[i]); + this->invoke_to_bufferSendInReturn(0, buffers[i]); + this->component.doDispatch(); + ASSERT_from_bufferSendOutReturn(i, buffers[i]); } + ASSERT_CMD_RESPONSE_SIZE(1); + ASSERT_CMD_RESPONSE(0, BufferAccumulator::OPCODE_BA_DRAINBUFFERS, 0, + Fw::CmdResponse::OK); + ASSERT_EVENTS_BA_PartialDrainDone_SIZE(1); + ASSERT_EVENTS_BA_PartialDrainDone(0, MAX_NUM_BUFFERS); + + delete[] data; } + +} // namespace Drain + +} // namespace Svc diff --git a/Svc/BufferAccumulator/test/ut/Drain.hpp b/Svc/BufferAccumulator/test/ut/Drain.hpp index 4cd938c3b2..d732470782 100644 --- a/Svc/BufferAccumulator/test/ut/Drain.hpp +++ b/Svc/BufferAccumulator/test/ut/Drain.hpp @@ -17,25 +17,23 @@ namespace Svc { - namespace Drain { +namespace Drain { - class Tester : - public Svc::Tester - { +class Tester : public Svc::Tester { + public: + // ---------------------------------------------------------------------- + // Tests + // ---------------------------------------------------------------------- - public: + //! Send some buffers + void OK(void); - // ---------------------------------------------------------------------- - // Tests - // ---------------------------------------------------------------------- + //! Run PartialDrain command in nominal way + void PartialDrainOK(void); +}; - //! Send some buffers - void OK(); +} // namespace Drain - }; - - } - -} +} // namespace Svc #endif diff --git a/Svc/BufferAccumulator/test/ut/Errors.cpp b/Svc/BufferAccumulator/test/ut/Errors.cpp index 01edae7ca2..9c0ffe07f9 100644 --- a/Svc/BufferAccumulator/test/ut/Errors.cpp +++ b/Svc/BufferAccumulator/test/ut/Errors.cpp @@ -14,77 +14,118 @@ namespace Svc { - namespace Errors { - - // ---------------------------------------------------------------------- - // Tests - // ---------------------------------------------------------------------- - - void Tester :: - QueueFull() - { - - Fw::Buffer buffer; - - // Go to Accumulate mode - ASSERT_EQ(BufferAccumulator::DRAIN, this->component.mode); - this->sendCmd_BA_SetMode(0, 0, BufferAccumulator::ACCUMULATE); - this->component.doDispatch(); - ASSERT_EQ(BufferAccumulator::ACCUMULATE, this->component.mode); - ASSERT_FROM_PORT_HISTORY_SIZE(0); - - // Fill up the buffer queue - for (U32 i = 0; i < MAX_NUM_BUFFERS; ++i) { - this->invoke_to_bufferSendInFill(0, buffer); - this->component.doDispatch(); - ASSERT_FROM_PORT_HISTORY_SIZE(0); - } - - // Send another buffer and expect an event - this->invoke_to_bufferSendInFill(0, buffer); - this->component.doDispatch(); - ASSERT_EVENTS_SIZE(1); - ASSERT_EVENTS_BA_QueueFull_SIZE(1); - - // Send another buffer and expect no new event - this->invoke_to_bufferSendInFill(0, buffer); - this->component.doDispatch(); - ASSERT_EVENTS_SIZE(1); - - // Drain one buffer - this->sendCmd_BA_SetMode(0, 0, BufferAccumulator::DRAIN); - this->component.doDispatch(); - ASSERT_FROM_PORT_HISTORY_SIZE(1); - ASSERT_from_bufferSendOutDrain_SIZE(1); - ASSERT_from_bufferSendOutDrain(0, buffer); - - // Send another buffer and expect an event - this->invoke_to_bufferSendInFill(0, buffer); - this->component.doDispatch(); - ASSERT_EVENTS_SIZE(2); - ASSERT_EVENTS_BA_BufferAccepted_SIZE(1); - - // Drain one buffer - this->sendCmd_BA_SetMode(0, 0, BufferAccumulator::DRAIN); - this->component.doDispatch(); - ASSERT_FROM_PORT_HISTORY_SIZE(2); - ASSERT_from_bufferSendOutDrain_SIZE(2); - ASSERT_from_bufferSendOutDrain(1, buffer); - - // Send another buffer and expect no new event - this->invoke_to_bufferSendInFill(0, buffer); - this->component.doDispatch(); - ASSERT_EVENTS_SIZE(2); - ASSERT_EVENTS_BA_BufferAccepted_SIZE(1); - - // Send another buffer and expect an event - this->invoke_to_bufferSendInFill(0, buffer); - this->component.doDispatch(); - ASSERT_EVENTS_SIZE(3); - ASSERT_EVENTS_BA_QueueFull_SIZE(2); - - } +namespace Errors { + +// ---------------------------------------------------------------------- +// Tests +// ---------------------------------------------------------------------- + +void Tester ::PartialDrain() { + ASSERT_EQ(BufferAccumulator_OpState::DRAIN, this->component.mode.e); + this->sendCmd_BA_DrainBuffers(0, 0, 1, BufferAccumulator_BlockMode::BLOCK); + this->component.doDispatch(); // will fail - we are still in + // BufferAccumulator_OpState::DRAIN mode + ASSERT_EQ(BufferAccumulator_OpState::DRAIN, this->component.mode.e); + ASSERT_FROM_PORT_HISTORY_SIZE(0); + ASSERT_EVENTS_BA_AlreadyDraining_SIZE(1); + ASSERT_EQ(0u, this->component.numDrained); + ASSERT_EQ(0u, this->component.numToDrain); + + this->sendCmd_BA_SetMode(0, 0, BufferAccumulator_OpState::ACCUMULATE); + this->component.doDispatch(); + ASSERT_EQ(BufferAccumulator_OpState::ACCUMULATE, this->component.mode.e); + ASSERT_FROM_PORT_HISTORY_SIZE(0); + + this->sendCmd_BA_DrainBuffers(0, 0, 10, BufferAccumulator_BlockMode::BLOCK); + this->component.doDispatch(); // will succeed - now we are in ACCUMULATE + ASSERT_EQ(BufferAccumulator_OpState::ACCUMULATE, this->component.mode.e); + ASSERT_FROM_PORT_HISTORY_SIZE( + 0); // would be first buffer out, but we are empty + ASSERT_EVENTS_BA_DrainStalled_SIZE(1); + ASSERT_EVENTS_BA_DrainStalled(0, 0u, 10u); + ASSERT_EVENTS_BA_PartialDrainDone_SIZE(0); // partial drain not done + ASSERT_EQ(true, this->component.send); + ASSERT_EQ(0u, this->component.numDrained); + ASSERT_EQ(10u, this->component.numToDrain); + + this->sendCmd_BA_DrainBuffers(0, 0, 1, BufferAccumulator_BlockMode::BLOCK); + this->component + .doDispatch(); // will fail - we are still doing a partial drain + ASSERT_EVENTS_BA_StillDraining_SIZE(1); + ASSERT_EVENTS_BA_StillDraining(0, 0u, 10u); + ASSERT_EVENTS_BA_PartialDrainDone_SIZE(0); // partial drain not done + ASSERT_EQ(BufferAccumulator_OpState::ACCUMULATE, this->component.mode.e); + ASSERT_FROM_PORT_HISTORY_SIZE(0); + ASSERT_EQ(true, this->component.send); + ASSERT_EQ(0u, this->component.numDrained); + ASSERT_EQ(10u, this->component.numToDrain); +} +void Tester ::QueueFull() { + U8* data = new U8[10]; + const U32 size = 10; + Fw::Buffer buffer(data, size); + + // Go to Accumulate mode + ASSERT_EQ(BufferAccumulator_OpState::DRAIN, this->component.mode.e); + this->sendCmd_BA_SetMode(0, 0, BufferAccumulator_OpState::ACCUMULATE); + this->component.doDispatch(); + ASSERT_EQ(BufferAccumulator_OpState::ACCUMULATE, this->component.mode.e); + ASSERT_FROM_PORT_HISTORY_SIZE(0); + + // Fill up the buffer queue + for (U32 i = 0; i < MAX_NUM_BUFFERS; ++i) { + this->invoke_to_bufferSendInFill(0, buffer); + this->component.doDispatch(); + ASSERT_FROM_PORT_HISTORY_SIZE(0); } + // Send another buffer and expect an event + this->invoke_to_bufferSendInFill(0, buffer); + this->component.doDispatch(); + ASSERT_EVENTS_SIZE(1); + ASSERT_EVENTS_BA_QueueFull_SIZE(1); + + // Send another buffer and expect no new event + this->invoke_to_bufferSendInFill(0, buffer); + this->component.doDispatch(); + ASSERT_EVENTS_SIZE(1); + + // Drain one buffer + this->sendCmd_BA_SetMode(0, 0, BufferAccumulator_OpState::DRAIN); + this->component.doDispatch(); + ASSERT_FROM_PORT_HISTORY_SIZE(1); + ASSERT_from_bufferSendOutDrain_SIZE(1); + ASSERT_from_bufferSendOutDrain(0, buffer); + + // Send another buffer and expect an event + this->invoke_to_bufferSendInFill(0, buffer); + this->component.doDispatch(); + ASSERT_EVENTS_SIZE(2); + ASSERT_EVENTS_BA_BufferAccepted_SIZE(1); + + // Return the original buffer in order to drain one buffer + this->invoke_to_bufferSendInReturn(0, buffer); + this->component.doDispatch(); + ASSERT_FROM_PORT_HISTORY_SIZE(3); + ASSERT_from_bufferSendOutDrain_SIZE(2); + ASSERT_from_bufferSendOutDrain(1, buffer); + + // Send another buffer and expect no new event + this->invoke_to_bufferSendInFill(0, buffer); + this->component.doDispatch(); + ASSERT_EVENTS_SIZE(2); + ASSERT_EVENTS_BA_BufferAccepted_SIZE(1); + + // Send another buffer and expect an event + this->invoke_to_bufferSendInFill(0, buffer); + this->component.doDispatch(); + ASSERT_EVENTS_SIZE(3); + ASSERT_EVENTS_BA_QueueFull_SIZE(2); + + delete[] data; } + +} // namespace Errors + +} // namespace Svc diff --git a/Svc/BufferAccumulator/test/ut/Errors.hpp b/Svc/BufferAccumulator/test/ut/Errors.hpp index 720e4c3b4c..d901db3997 100644 --- a/Svc/BufferAccumulator/test/ut/Errors.hpp +++ b/Svc/BufferAccumulator/test/ut/Errors.hpp @@ -17,25 +17,23 @@ namespace Svc { - namespace Errors { +namespace Errors { - class Tester : - public Svc::Tester - { +class Tester : public Svc::Tester { + public: + // ---------------------------------------------------------------------- + // Tests + // ---------------------------------------------------------------------- - public: + //! Queue full + void QueueFull(void); - // ---------------------------------------------------------------------- - // Tests - // ---------------------------------------------------------------------- + //! Run PartialDrain command in off-nominal ways + void PartialDrain(void); +}; - //! Queue full - void QueueFull(); +} // namespace Errors - }; - - } - -} +} // namespace Svc #endif diff --git a/Svc/BufferAccumulator/test/ut/Health.cpp b/Svc/BufferAccumulator/test/ut/Health.cpp index 2f0e9acf79..4e0aaaf1b0 100644 --- a/Svc/BufferAccumulator/test/ut/Health.cpp +++ b/Svc/BufferAccumulator/test/ut/Health.cpp @@ -14,23 +14,19 @@ namespace Svc { - namespace Health { +namespace Health { - void Tester :: - Ping() - { +void Tester ::Ping() { + U32 key = 42; - U32 key = 42; + this->invoke_to_pingIn(0, key); + this->component.doDispatch(); - this->invoke_to_pingIn(0, key); - this->component.doDispatch(); - - ASSERT_EVENTS_SIZE(0); - ASSERT_from_pingOut_SIZE(1); - ASSERT_from_pingOut(0, key); - - } + ASSERT_EVENTS_SIZE(0); + ASSERT_from_pingOut_SIZE(1); + ASSERT_from_pingOut(0, key); +} - } +} // namespace Health -} +} // namespace Svc diff --git a/Svc/BufferAccumulator/test/ut/Health.hpp b/Svc/BufferAccumulator/test/ut/Health.hpp index 66f3dc6cf7..2c9dcf38ef 100644 --- a/Svc/BufferAccumulator/test/ut/Health.hpp +++ b/Svc/BufferAccumulator/test/ut/Health.hpp @@ -17,25 +17,20 @@ namespace Svc { - namespace Health { +namespace Health { - class Tester : - public Svc::Tester - { +class Tester : public Svc::Tester { + public: + // ---------------------------------------------------------------------- + // Tests + // ---------------------------------------------------------------------- - public: + //! Health ping test + void Ping(void); +}; - // ---------------------------------------------------------------------- - // Tests - // ---------------------------------------------------------------------- +} // namespace Health - //! Health ping test - void Ping(); - - }; - - } - -} +} // namespace Svc #endif diff --git a/Svc/BufferAccumulator/test/ut/Main.cpp b/Svc/BufferAccumulator/test/ut/Main.cpp index 6bb64c2e3a..138e6f53e5 100644 --- a/Svc/BufferAccumulator/test/ut/Main.cpp +++ b/Svc/BufferAccumulator/test/ut/Main.cpp @@ -1,17 +1,20 @@ -// ---------------------------------------------------------------------- -// Main.cpp -// ---------------------------------------------------------------------- +// ====================================================================== +// \title Main.cpp +// \author bocchino, mereweth +// \brief Test drain mode +// +// \copyright +// Copyright (c) 2017 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== -#include "Tester.hpp" -#include "Errors.hpp" #include "Accumulate.hpp" #include "Drain.hpp" +#include "Errors.hpp" #include "Health.hpp" - -TEST(Test, AccumNoAllocate) { - Svc::Tester tester(false); // don't call allocateQueue for the user - tester.AccumNoAllocate(); -} +#include "Tester.hpp" // ---------------------------------------------------------------------- // Test Errors @@ -22,6 +25,11 @@ TEST(TestErrors, QueueFull) { tester.QueueFull(); } +TEST(TestErrors, PartialDrain) { + Svc::Errors::Tester tester; + tester.PartialDrain(); +} + // ---------------------------------------------------------------------- // Test Accumulate // ---------------------------------------------------------------------- @@ -40,6 +48,11 @@ TEST(TestDrain, OK) { tester.OK(); } +TEST(TestPartialDrain, OK) { + Svc::Drain::Tester tester; + tester.PartialDrainOK(); +} + // ---------------------------------------------------------------------- // Test Health // ---------------------------------------------------------------------- diff --git a/Svc/BufferAccumulator/test/ut/Tester.cpp b/Svc/BufferAccumulator/test/ut/Tester.cpp index da253ea686..c75488f6de 100644 --- a/Svc/BufferAccumulator/test/ut/Tester.cpp +++ b/Svc/BufferAccumulator/test/ut/Tester.cpp @@ -11,184 +11,123 @@ // ====================================================================== #include "Tester.hpp" -#include + +#include "Fw/Types/BasicTypes.hpp" + #include "Fw/Types/MallocAllocator.hpp" #define INSTANCE 0 -#define MAX_HISTORY_SIZE 10 -#define QUEUE_DEPTH 10 +#define MAX_HISTORY_SIZE 30 +#define QUEUE_DEPTH 30 namespace Svc { - // ---------------------------------------------------------------------- - // Construction and destruction - // ---------------------------------------------------------------------- +// ---------------------------------------------------------------------- +// Construction and destruction +// ---------------------------------------------------------------------- - Tester :: - Tester(bool doAllocateQueue) : +Tester ::Tester(bool doAllocateQueue) + : +#if FW_OBJECT_NAMES == 1 BufferAccumulatorGTestBase("Tester", MAX_HISTORY_SIZE), component("BufferAccumulator"), - doAllocateQueue(doAllocateQueue) - { - this->initComponents(); - this->connectPorts(); - - if (this->doAllocateQueue) { - Fw::MallocAllocator buffAccumMallocator; - this->component.allocateQueue(0,buffAccumMallocator,MAX_NUM_BUFFERS); - } +#else + BufferAccumulatorGTestBase(MAX_HISTORY_SIZE), + component(), +#endif + doAllocateQueue(doAllocateQueue) { + this->initComponents(); + this->connectPorts(); + + // Witch to BufferAccumulator_OpState::DRAIN at start so we don't have to + // change ut + component.mode = BufferAccumulator_OpState::DRAIN; + component.send = true; + + if (this->doAllocateQueue) { + Fw::MallocAllocator buffAccumMallocator; + this->component.allocateQueue(0, buffAccumMallocator, MAX_NUM_BUFFERS); } +} - Tester :: - ~Tester() - { - if (this->doAllocateQueue) { - Fw::MallocAllocator buffAccumMallocator; - this->component.deallocateQueue(buffAccumMallocator); - } +Tester ::~Tester() { + if (this->doAllocateQueue) { + Fw::MallocAllocator buffAccumMallocator; + this->component.deallocateQueue(buffAccumMallocator); } +} - // ---------------------------------------------------------------------- - // Tests - // ---------------------------------------------------------------------- +// ---------------------------------------------------------------------- +// Handlers for typed from ports +// ---------------------------------------------------------------------- - void Tester :: - AccumNoAllocate() - { - // TODO (mereweth) - make something sensible happen when no-one sets us up - } +void Tester ::from_bufferSendOutDrain_handler(const NATIVE_INT_TYPE portNum, + Fw::Buffer& fwBuffer) { + this->pushFromPortEntry_bufferSendOutDrain(fwBuffer); +} - // ---------------------------------------------------------------------- - // Handlers for typed from ports - // ---------------------------------------------------------------------- - - void Tester :: - from_bufferSendOutDrain_handler( - const NATIVE_INT_TYPE portNum, - Fw::Buffer& fwBuffer - ) - { - this->pushFromPortEntry_bufferSendOutDrain(fwBuffer); - } +void Tester ::from_bufferSendOutReturn_handler(const NATIVE_INT_TYPE portNum, + Fw::Buffer& fwBuffer) { + this->pushFromPortEntry_bufferSendOutReturn(fwBuffer); +} - void Tester :: - from_bufferSendOutReturn_handler( - const NATIVE_INT_TYPE portNum, - Fw::Buffer& fwBuffer - ) - { - this->pushFromPortEntry_bufferSendOutReturn(fwBuffer); - } +void Tester ::from_pingOut_handler(const NATIVE_INT_TYPE portNum, U32 key) { + this->pushFromPortEntry_pingOut(key); +} - void Tester :: - from_pingOut_handler( - const NATIVE_INT_TYPE portNum, - U32 key - ) - { - this->pushFromPortEntry_pingOut(key); - } +// ---------------------------------------------------------------------- +// Helper methods +// ---------------------------------------------------------------------- - // ---------------------------------------------------------------------- - // Helper methods - // ---------------------------------------------------------------------- - - void Tester :: - connectPorts() - { - - // bufferSendInFill - this->connect_to_bufferSendInFill( - 0, - this->component.get_bufferSendInFill_InputPort(0) - ); - - // bufferSendInReturn - this->connect_to_bufferSendInReturn( - 0, - this->component.get_bufferSendInReturn_InputPort(0) - ); - - // cmdIn - this->connect_to_cmdIn( - 0, - this->component.get_cmdIn_InputPort(0) - ); - - // pingIn - this->connect_to_pingIn( - 0, - this->component.get_pingIn_InputPort(0) - ); - - // schedIn - this->connect_to_schedIn( - 0, - this->component.get_schedIn_InputPort(0) - ); - // bufferSendOutDrain - this->component.set_bufferSendOutDrain_OutputPort( - 0, - this->get_from_bufferSendOutDrain(0) - ); - - // bufferSendOutReturn - this->component.set_bufferSendOutReturn_OutputPort( - 0, - this->get_from_bufferSendOutReturn(0) - ); - - // cmdRegOut - this->component.set_cmdRegOut_OutputPort( - 0, - this->get_from_cmdRegOut(0) - ); - - // cmdResponseOut - this->component.set_cmdResponseOut_OutputPort( - 0, - this->get_from_cmdResponseOut(0) - ); - - // eventOut - this->component.set_eventOut_OutputPort( - 0, - this->get_from_eventOut(0) - ); - - // eventOutText - this->component.set_eventOutText_OutputPort( - 0, - this->get_from_eventOutText(0) - ); - // pingOut - this->component.set_pingOut_OutputPort( - 0, - this->get_from_pingOut(0) - ); - - // timeCaller - this->component.set_timeCaller_OutputPort( - 0, - this->get_from_timeCaller(0) - ); - - // tlmOut - this->component.set_tlmOut_OutputPort( - 0, - this->get_from_tlmOut(0) - ); +void Tester ::connectPorts() { + // bufferSendInFill + this->connect_to_bufferSendInFill( + 0, this->component.get_bufferSendInFill_InputPort(0)); + // bufferSendInReturn + this->connect_to_bufferSendInReturn( + 0, this->component.get_bufferSendInReturn_InputPort(0)); - } + // cmdIn + this->connect_to_cmdIn(0, this->component.get_cmdIn_InputPort(0)); - void Tester :: - initComponents() - { - this->init(); - this->component.init( - QUEUE_DEPTH, INSTANCE - ); - } + // pingIn + this->connect_to_pingIn(0, this->component.get_pingIn_InputPort(0)); + + // bufferSendOutDrain + this->component.set_bufferSendOutDrain_OutputPort( + 0, this->get_from_bufferSendOutDrain(0)); + + // bufferSendOutReturn + this->component.set_bufferSendOutReturn_OutputPort( + 0, this->get_from_bufferSendOutReturn(0)); + + // cmdRegOut + this->component.set_cmdRegOut_OutputPort(0, this->get_from_cmdRegOut(0)); + + // cmdResponseOut + this->component.set_cmdResponseOut_OutputPort( + 0, this->get_from_cmdResponseOut(0)); + + // eventOut + this->component.set_eventOut_OutputPort(0, this->get_from_eventOut(0)); + + // eventOutText + this->component.set_eventOutText_OutputPort(0, + this->get_from_eventOutText(0)); + // pingOut + this->component.set_pingOut_OutputPort(0, this->get_from_pingOut(0)); + + // timeCaller + this->component.set_timeCaller_OutputPort(0, this->get_from_timeCaller(0)); + + // tlmOut + this->component.set_tlmOut_OutputPort(0, this->get_from_tlmOut(0)); +} + +void Tester ::initComponents() { + this->init(); + this->component.init(QUEUE_DEPTH, INSTANCE); +} -} // end namespace Svc +} // end namespace Svc diff --git a/Svc/BufferAccumulator/test/ut/Tester.hpp b/Svc/BufferAccumulator/test/ut/Tester.hpp index d785cb8841..e301949c12 100644 --- a/Svc/BufferAccumulator/test/ut/Tester.hpp +++ b/Svc/BufferAccumulator/test/ut/Tester.hpp @@ -20,90 +20,69 @@ namespace Svc { - class Tester : - public BufferAccumulatorGTestBase - { - - // ---------------------------------------------------------------------- - // Construction and destruction - // ---------------------------------------------------------------------- - - public: - - //! Construct object Tester - //! - Tester( - bool doAllocateQueue = true - ); - - //! Destroy object Tester - //! - ~Tester(); - - public: - - // ---------------------------------------------------------------------- - // Tests - // ---------------------------------------------------------------------- - - //! Try to accumulate without calling allocateQueue - void AccumNoAllocate(); - private: - - // ---------------------------------------------------------------------- - // Handlers for typed from ports - // ---------------------------------------------------------------------- - - //! Handler for from_bufferSendOutDrain - //! - void from_bufferSendOutDrain_handler( - const NATIVE_INT_TYPE portNum, //!< The port number - Fw::Buffer& fwBuffer - ); - - //! Handler for from_bufferSendOutReturn - //! - void from_bufferSendOutReturn_handler( - const NATIVE_INT_TYPE portNum, //!< The port number - Fw::Buffer& fwBuffer - ); - - //! Handler for from_pingOut - //! - void from_pingOut_handler( - const NATIVE_INT_TYPE portNum, //!< The port number - U32 key //!< Value to return to pinger - ); - - private: - - // ---------------------------------------------------------------------- - // Helper methods - // ---------------------------------------------------------------------- - - //! Connect ports - //! - void connectPorts(); - - //! Initialize components - //! - void initComponents(); - - protected: - - // ---------------------------------------------------------------------- - // Variables - // ---------------------------------------------------------------------- - - //! The component under test - //! - BufferAccumulator component; - - //! Whether to allocate/deallocate a queue for the user - bool doAllocateQueue; - - }; - -} // end namespace Svc - -#endif //#ifndef TESTER_HPP +class Tester : public BufferAccumulatorGTestBase { + // ---------------------------------------------------------------------- + // Construction and destruction + // ---------------------------------------------------------------------- + + public: + //! Construct object Tester + //! + explicit Tester(bool doAllocateQueue = true); + + //! Destroy object Tester + //! + ~Tester(void); + + private: + // ---------------------------------------------------------------------- + // Handlers for typed from ports + // ---------------------------------------------------------------------- + + //! Handler for from_bufferSendOutDrain + //! + void from_bufferSendOutDrain_handler( + const NATIVE_INT_TYPE portNum, //!< The port number + Fw::Buffer& fwBuffer); + + //! Handler for from_bufferSendOutReturn + //! + void from_bufferSendOutReturn_handler( + const NATIVE_INT_TYPE portNum, //!< The port number + Fw::Buffer& fwBuffer); + + //! Handler for from_pingOut + //! + void from_pingOut_handler(const NATIVE_INT_TYPE portNum, //!< The port number + U32 key //!< Value to return to pinger + ); + + private: + // ---------------------------------------------------------------------- + // Helper methods + // ---------------------------------------------------------------------- + + //! Connect ports + //! + void connectPorts(void); + + //! Initialize components + //! + void initComponents(void); + + protected: + // ---------------------------------------------------------------------- + // Variables + // ---------------------------------------------------------------------- + + //! The component under test + //! + BufferAccumulator component; + + //! Whether to allocate/deallocate a queue for the user + bool doAllocateQueue; +}; + +} // end namespace Svc + +#endif //#ifndef TESTER_HPP diff --git a/Svc/CMakeLists.txt b/Svc/CMakeLists.txt index d06bcca1ce..9384e5aece 100644 --- a/Svc/CMakeLists.txt +++ b/Svc/CMakeLists.txt @@ -13,6 +13,7 @@ add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/WatchDog/") add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/ActiveLogger/") add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/ActiveRateGroup/") add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/AssertFatalAdapter/") +add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/BufferAccumulator/") add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/BufferManager/") add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/BufferLogger/") add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/BufferRepeater/") From 0701b6af6648eebc28c03d261fc544e7cbf2d3f2 Mon Sep 17 00:00:00 2001 From: M Starch Date: Fri, 28 Apr 2023 13:59:35 -0700 Subject: [PATCH 06/55] Add sourcing the virtual environment to the right spot (#1993) * Add sourcing the virtual environment to the right spot * Update HelloWorld.md for minor fixes * Fixing regressions * Update Deployments.md with minor fixes * Update HelloWorld.md to add In: to the instructions * sp --- docs/Tutorials/HelloWorld/Deployments.md | 26 +++++++++++++-------- docs/Tutorials/HelloWorld/HelloWorld.md | 29 ++++++++++++++++-------- docs/Tutorials/HelloWorld/NewProject.md | 13 ++++++++--- 3 files changed, 45 insertions(+), 23 deletions(-) diff --git a/docs/Tutorials/HelloWorld/Deployments.md b/docs/Tutorials/HelloWorld/Deployments.md index b3193d53e7..96ee274801 100644 --- a/docs/Tutorials/HelloWorld/Deployments.md +++ b/docs/Tutorials/HelloWorld/Deployments.md @@ -22,7 +22,7 @@ ground control and data collection of the deployment. To create a deployment, run the following commands: ```bash -cd MyProject +# In: MyProject fprime-util new --deployment ``` This command will ask for some input. Respond with the following answers: @@ -30,7 +30,6 @@ This command will ask for some input. Respond with the following answers: ``` deployment_name [MyDeployment]: MyDeployment path_to_fprime [./fprime]: -author_name []: LeStarch ``` > For any other questions, select the default response. @@ -50,6 +49,13 @@ to `MyDeployment/CMakeLists.txt`. include("${FPRIME_PROJECT_ROOT}/project.cmake") ... ``` +> To build this new deployment generate a build cache and then build. +> ```bash +> # In: MyProject/MyDeployment +> fprime-util generate +> fprime-util build +> ``` +> > Notice `fprime-util generate` was used again. This is because this new deployment builds in a separate environment. In this section the `HelloWorld` component will be added to the `MyDeployment` deployment. This can be done by adding the component to the topology defined in `MyDeployment/Top`. @@ -62,12 +68,13 @@ specific configuration. In order to add a component to the topology, it must be added to the topology model. An instance definition and an instance initializer must both be added. -To add an instance definition, add `instance helloWorld` to the instance definition list in the `topology Ref` section +To add an instance definition, add `instance helloWorld` to the instance definition list in the `topology MyDeployment` section of `MyDeployment/Top/topology.fpp`. This is shown below. +Edit `MyDeployment/Top/topology.fpp`: ``` ... - topology Ref { + topology MyDeployment { # ---------------------------------------------------------------------- # Instances used in the topology # ---------------------------------------------------------------------- @@ -85,6 +92,7 @@ Next, an instance initializer must be added to topology instances defined in `My Since the `HelloWorld` component is an `active` component it should be added to the active components section and should define a priority and queue depth options. This is shown below. +Add to `MyDeploymment/Top/instances.fpp`: ``` ... # ---------------------------------------------------------------------- @@ -112,6 +120,7 @@ Finally, our new telemetry channel should be added to our telemetry packet speci channel can be ignored as the deployment will not use the telemetry packetizer. Add the following to the `ignore` section of `MyDeployment/Top/MyDeploymentPackets.xml`. +Update `MyDeployment/Top/MyDeploymentPackets.xml`: ``` ... @@ -123,15 +132,12 @@ Since this component has no custom ports nor does it require special configurati completed. The deployment can now be set up and built using the following commands: ``` -cd MyDeployment -fprime-util generate +# In: MyProject/MyDeployment fprime-util build -j4 ``` -Resolve any errors that occur before continuing to the testing section. +> Resolve any errors that occur before continuing to the running section. -> Notice `fprime-util generate` was used again. This is because this new deployment builds in a separate environment. - -## Testing With `fprime-gds` +## Running With `fprime-gds` It is now time to test the `HelloWorld` component by running the deployment created in this section. This can be accomplished by running the `fprime-gds` command in the deployment, verifying connection, sending the new SEND_HELLO diff --git a/docs/Tutorials/HelloWorld/HelloWorld.md b/docs/Tutorials/HelloWorld/HelloWorld.md index 9f09859c1a..b034509fdb 100644 --- a/docs/Tutorials/HelloWorld/HelloWorld.md +++ b/docs/Tutorials/HelloWorld/HelloWorld.md @@ -36,20 +36,22 @@ The next step is to create the new component. First, create a directory called ` components and change into that directory. ```bash -mkdir MyComponents +# In: MyProject +mkdir -p MyComponents cd MyComponents ``` Creating a new component is accomplished with the following command: ```bash +# In: MyProject/MyComponents fprime-util new --component ``` This command will ask for some input. You should respond with the following answers: ``` [INFO] Cookiecutter source: using builtin -component_name [MyComponent]: HelloWorld +component_name [MyComponent]: HelloWorld component_short_description [Example Component for F Prime FSW framework.]: Hello World Tutorial Component component_namespace [HelloWorld]: MyComponents Select component_kind: @@ -72,20 +74,21 @@ Choose from 1, 2 [1]: 1 Select enable_parameters: 1 - yes 2 - no -Choose from 1, 2 [1]: 2 +Choose from 1, 2 [1]: 1 [INFO] Found CMake file at 'MyProject/project.cmake' Add component MyComponents/HelloWorld to MyProject/project.cmake at end of file (yes/no)? yes -Generate implementation files (yes/no)? no +Generate implementation files (yes/no)? yes ``` > For any other questions, select the default response. This will create a new component called "HelloWorld" in the "MyProject" namespace. This new component will be able to -define commands, events, and telemetry channels. +define commands, events, telemetry channels, and parameters. We should navigate to the component's directory and look around: ```bash +# In: MyProject/MyComponents cd HelloWorld ls ``` @@ -104,9 +107,11 @@ To build this component run `fprime-util build` in the current folder. A component model defines the interface of the component with the rest of the F´ system and with the ground system F´ communicates with. In this case we intend to define a command, an event, and a telemetry channel as specified above. -Open the model file `HelloWorld.fpp` and add replace the line +Open the model file `HelloWorld.fpp` and add replace the line: -`async command TODO opcode 0` +``` +async command TODO opcode 0 +``` with the following: @@ -130,6 +135,7 @@ telemetry GreetingCount: U32 With this step completed you can generate a basic implementation with the following command: ```bash +# In: MyProject/MyComponents/HelloWorld fprime-util impl ``` @@ -171,12 +177,15 @@ void HelloWorld:: SAY_HELLO_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw > private: > U32 m_greetingCount; > ``` +> Should be added inside the `class` definition in `HelloWorld.hpp`. +> > **HelloWorld.cpp: Updating Constructor** > ```c++ -> HelloWorld:: HelloWorld() : -> m_greetingCount(0), -> HelloWorldComponentBase(compName) { +> HelloWorld:: HelloWorld(const char *const compName) : HelloWorldComponentBase(compName), +> m_greetingCount(0) +> { > ``` +> Should be added to the `HelloWorld` constructor at the top of the file. The component should build without errors by running `fprime-util build`. Resolve any errors that occur before proceeding to the next section. diff --git a/docs/Tutorials/HelloWorld/NewProject.md b/docs/Tutorials/HelloWorld/NewProject.md index ba45857cd9..817bd81e24 100644 --- a/docs/Tutorials/HelloWorld/NewProject.md +++ b/docs/Tutorials/HelloWorld/NewProject.md @@ -42,9 +42,16 @@ Choose from 1, 2 [1]: 1 Use the default for anything not specified. This command will take a moment to run. The above command creates a new F´ project structure in a folder called `MyProject`, use the `devel` branch of F´ as -the basis for the project, and set up the matching tools in a new Virtual Environment. - -> Experienced F´ users may note that we have not yet created a deployment, but rather just the base project structure. +the basis for the project, and sets up the matching tools in a new Virtual Environment. + +> Load the tools for this project via the virtual environment. +> +> ```bash +> cd MyProject +> . venv/bin/activate +>``` +> +> Make sure to load these tools any time you are working with the this project. ## Building the New F´ Project From 08a2c68ef8a0325b50d214bd35cf80ba717b4f91 Mon Sep 17 00:00:00 2001 From: kubiak-jpl <99773472+kubiak-jpl@users.noreply.github.com> Date: Tue, 16 May 2023 09:38:17 -0700 Subject: [PATCH 07/55] Added a name only constructor to ComLogger (#1983) * Added a name only constructor to ComLogger * Minor fixup of CodeQL warnings * Fixing ctor warnings, checking arg * Reusing init_log_file in constructor * sp * NULL -> nullptr * Adding throttle --------- Co-authored-by: M Starch --- Svc/ComLogger/ComLogger.cpp | 54 ++++++++--- Svc/ComLogger/ComLogger.hpp | 13 +++ Svc/ComLogger/Events.fppi | 6 ++ Svc/ComLogger/test/ut/Main.cpp | 10 ++ Svc/ComLogger/test/ut/Tester.cpp | 155 +++++++++++++++++++++++++++++++ Svc/ComLogger/test/ut/Tester.hpp | 6 ++ 6 files changed, 233 insertions(+), 11 deletions(-) diff --git a/Svc/ComLogger/ComLogger.cpp b/Svc/ComLogger/ComLogger.cpp index af1d27f621..a82d283937 100644 --- a/Svc/ComLogger/ComLogger.cpp +++ b/Svc/ComLogger/ComLogger.cpp @@ -25,21 +25,29 @@ namespace Svc { byteCount(0), writeErrorOccurred(false), openErrorOccurred(false), - storeBufferLength(storeBufferLength) + storeBufferLength(storeBufferLength), + initialized(true) { - if( this->storeBufferLength ) { - FW_ASSERT(maxFileSize > sizeof(U16), maxFileSize); // must be a positive integer greater than buffer length size - } - else { - FW_ASSERT(maxFileSize > 0, maxFileSize); // must be a positive integer - } - FW_ASSERT(Fw::StringUtils::string_length(incomingFilePrefix, sizeof(this->filePrefix)) < sizeof(this->filePrefix), - Fw::StringUtils::string_length(incomingFilePrefix, sizeof(this->filePrefix)), sizeof(this->filePrefix)); // ensure that file prefix is not too big + this->init_log_file(incomingFilePrefix, maxFileSize, storeBufferLength); + } - // Set the file prefix: - Fw::StringUtils::string_copy(this->filePrefix, incomingFilePrefix, sizeof(this->filePrefix)); + ComLogger :: + ComLogger(const char* compName) : + ComLoggerComponentBase(compName), + filePrefix(), + maxFileSize(0), + fileMode(CLOSED), + fileName(), + hashFileName(), + byteCount(0), + writeErrorOccurred(false), + openErrorOccurred(false), + storeBufferLength(), + initialized(false) + { } + void ComLogger :: init( NATIVE_INT_TYPE queueDepth, //!< The queue depth @@ -49,6 +57,25 @@ namespace Svc { ComLoggerComponentBase::init(queueDepth, instance); } + void ComLogger :: + init_log_file(const char* incomingFilePrefix, U32 maxFileSize, bool storeBufferLength) + { + FW_ASSERT(incomingFilePrefix != nullptr); + this->maxFileSize = maxFileSize; + this->storeBufferLength = storeBufferLength; + if( this->storeBufferLength ) { + FW_ASSERT(maxFileSize > sizeof(U16), maxFileSize); + } + + FW_ASSERT(Fw::StringUtils::string_length(incomingFilePrefix, sizeof(this->filePrefix)) < sizeof(this->filePrefix), + Fw::StringUtils::string_length(incomingFilePrefix, sizeof(this->filePrefix)), sizeof(this->filePrefix)); // ensure that file prefix is not too big + + (void)Fw::StringUtils::string_copy(this->filePrefix, incomingFilePrefix, sizeof(this->filePrefix)); + + this->initialized = true; + } + + ComLogger :: ~ComLogger() { @@ -142,6 +169,11 @@ namespace Svc { { FW_ASSERT( CLOSED == this->fileMode ); + if( !this->initialized ){ + this->log_WARNING_LO_FileNotInitialized(); + return; + } + U32 bytesCopied; // Create filename: diff --git a/Svc/ComLogger/ComLogger.hpp b/Svc/ComLogger/ComLogger.hpp index 248efebd47..1a8cbf53dc 100644 --- a/Svc/ComLogger/ComLogger.hpp +++ b/Svc/ComLogger/ComLogger.hpp @@ -52,11 +52,23 @@ namespace Svc { // match to an expected size on the ground during post processing. ComLogger(const char* compName, const char* filePrefix, U32 maxFileSize, bool storeBufferLength=true); + // CONSTRUCTOR: + ComLogger(const char* compName); + void init( NATIVE_INT_TYPE queueDepth, //!< The queue depth NATIVE_INT_TYPE instance //!< The instance number ); + // filePrefix: string to prepend the file name with, ie. "thermal_telemetry" + // maxFileSize: the maximum size a file should reach before being closed and a new one opened + // storeBufferLength: if true, store the length of each com buffer before storing the buffer itself, + // otherwise just store the com buffer. false might be advantageous in a system + // where you can ensure that all buffers given to the ComLogger are the same size + // in which case you do not need the overhead. Or you store an id which you can + // match to an expected size on the ground during post processing. + void init_log_file(const char* filePrefix, U32 maxFileSize, bool storeBufferLength=true); + ~ComLogger(); // ---------------------------------------------------------------------- @@ -112,6 +124,7 @@ namespace Svc { bool writeErrorOccurred; bool openErrorOccurred; bool storeBufferLength; + bool initialized; // ---------------------------------------------------------------------- // File functions: diff --git a/Svc/ComLogger/Events.fppi b/Svc/ComLogger/Events.fppi index e55a4dff74..6931201443 100644 --- a/Svc/ComLogger/Events.fppi +++ b/Svc/ComLogger/Events.fppi @@ -35,3 +35,9 @@ event FileClosed( severity diagnostic \ id 0x03 \ format "File {} closed successfully." + +event FileNotInitialized \ + severity warning low \ + id 0x04 \ + format "Could not open ComLogger file. File not initialized" \ + throttle 5 diff --git a/Svc/ComLogger/test/ut/Main.cpp b/Svc/ComLogger/test/ut/Main.cpp index 5fd18b9425..0f8a88e32b 100644 --- a/Svc/ComLogger/test/ut/Main.cpp +++ b/Svc/ComLogger/test/ut/Main.cpp @@ -31,6 +31,16 @@ TEST(Test, closeFileCommand) { tester.closeFileCommand(); } +TEST(Test, testLoggingWithInit) { + Svc::Tester tester("Tester", true); + tester.testLoggingWithInit(); +} + +TEST(Test, noInitError) { + Svc::Tester tester("Tester", true); + tester.noInitError(); +} + int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); diff --git a/Svc/ComLogger/test/ut/Tester.cpp b/Svc/ComLogger/test/ut/Tester.cpp index 18020874ee..b5929f7a9d 100644 --- a/Svc/ComLogger/test/ut/Tester.cpp +++ b/Svc/ComLogger/test/ut/Tester.cpp @@ -25,6 +25,20 @@ namespace Svc { this->initComponents(); } + Tester :: + Tester( + const char *const compName, + bool standardCLInit + ) : + ComLoggerGTestBase(compName, 30), + comLogger("ComLogger") + { + this->connectPorts(); + this->initComponents(); + + (void)standardCLInit; + } + Tester :: ~Tester() { @@ -553,6 +567,147 @@ namespace Svc { file.close(); } + void Tester :: + testLoggingWithInit() + { + CHAR fileName[2048]; + CHAR prevFileName[2048]; + CHAR hashFileName[2048]; + CHAR prevHashFileName[2048]; + U8 buf[1024]; + NATIVE_INT_TYPE length; + U16 bufferSize = 0; + Os::File::Status ret; + Os::File file; + + this->comLogger.init_log_file(FILE_STR, MAX_BYTES_PER_FILE); + + ASSERT_TRUE(comLogger.fileMode == ComLogger::CLOSED); + ASSERT_EVENTS_SIZE(0); + + U8 data[COM_BUFFER_LENGTH] = {0xde,0xad,0xbe,0xef}; + Fw::ComBuffer buffer(&data[0], sizeof(data)); + + Fw::SerializeStatus stat; + + for(int j = 0; j < 3; j++) + { + // Test times for the different iterations: + Fw::Time testTime(TB_NONE, j, 9876543); + Fw::Time testTimePrev(TB_NONE, j-1, 9876543); + Fw::Time testTimeNext(TB_NONE, j+1, 9876543); + + // File names for the different iterations: + memset(fileName, 0, sizeof(fileName)); + snprintf(fileName, sizeof(fileName), "%s_%d_%d_%06d.com", FILE_STR, testTime.getTimeBase(), testTime.getSeconds(), testTime.getUSeconds()); + memset(hashFileName, 0, sizeof(hashFileName)); + snprintf(hashFileName, sizeof(hashFileName), "%s_%d_%d_%06d.com%s", FILE_STR, testTime.getTimeBase(), testTime.getSeconds(), testTime.getUSeconds(), Utils::Hash::getFileExtensionString()); + memset(prevFileName, 0, sizeof(prevFileName)); + snprintf(prevFileName, sizeof(prevFileName), "%s_%d_%d_%06d.com", FILE_STR, testTime.getTimeBase(), testTimePrev.getSeconds(), testTimePrev.getUSeconds()); + memset(prevHashFileName, 0, sizeof(prevHashFileName)); + snprintf(prevHashFileName, sizeof(prevHashFileName), "%s_%d_%d_%06d.com%s", FILE_STR, testTime.getTimeBase(), testTimePrev.getSeconds(), testTimePrev.getUSeconds(), Utils::Hash::getFileExtensionString()); + + // Set the test time to the current time: + setTestTime(testTime); + + // Write to file: + for(int i = 0; i < MAX_ENTRIES_PER_FILE-1; i++) + { + invoke_to_comIn(0, buffer, 0); + dispatchAll(); + ASSERT_TRUE(comLogger.fileMode == ComLogger::OPEN); + } + + // OK a new file should be opened after this final invoke, set a new test time so that a file + // with a new name gets opened: + setTestTime(testTimeNext); + invoke_to_comIn(0, buffer, 0); + dispatchAll(); + ASSERT_TRUE(comLogger.fileMode == ComLogger::OPEN); + + // A new file should have been opened from the previous loop iteration: + if( j > 0 ) { + ASSERT_TRUE(comLogger.fileMode == ComLogger::OPEN); + ASSERT_TRUE(strcmp(static_cast(comLogger.fileName), fileName) == 0 ); + } + + // Make sure we got a closed file event: + ASSERT_EVENTS_SIZE(j); + ASSERT_EVENTS_FileClosed_SIZE(j); + if( j > 0 ) { + ASSERT_EVENTS_FileClosed(j-1, prevFileName); + } + + // Make sure the file size is smaller or equal to the limit: + Os::FileSystem::Status fsStat; + FwSizeType fileSize = 0; + fsStat = Os::FileSystem::getFileSize(fileName, fileSize); //!< gets the size of the file (in bytes) at location path + ASSERT_EQ(fsStat, Os::FileSystem::OP_OK); + ASSERT_LE(fileSize, MAX_BYTES_PER_FILE); + + // Open file: + ret = file.open(fileName, Os::File::OPEN_READ); + ASSERT_EQ(Os::File::OP_OK,ret); + + // Check data: + for(int i = 0; i < 5; i++) + { + // Get length of buffer to read + NATIVE_INT_TYPE length = sizeof(U16); + ret = file.read(&buf, length); + ASSERT_EQ(Os::File::OP_OK, ret); + ASSERT_EQ(length, static_cast(sizeof(U16))); + Fw::SerialBuffer comBuffLength(buf, length); + comBuffLength.fill(); + stat = comBuffLength.deserialize(bufferSize); + ASSERT_EQ(stat, Fw::FW_SERIALIZE_OK); + ASSERT_EQ(COM_BUFFER_LENGTH, bufferSize); + + // Read and check buffer: + length = bufferSize; + ret = file.read(&buf, length); + ASSERT_EQ(Os::File::OP_OK,ret); + ASSERT_EQ(length, static_cast(bufferSize)); + ASSERT_EQ(memcmp(buf, data, COM_BUFFER_LENGTH), 0); + } + + // Make sure we reached the end of the file: + length = sizeof(NATIVE_INT_TYPE); + ret = file.read(&buf, length); + ASSERT_EQ(Os::File::OP_OK,ret); + ASSERT_EQ(length, 0); + file.close(); + + // Assert that the hashes match: + if( j > 0 ) { + Os::ValidateFile::Status status; + status = Os::ValidateFile::validate(prevFileName, prevHashFileName); + ASSERT_EQ(Os::ValidateFile::VALIDATION_OK, status); + } + } + } + + void Tester :: + noInitError() + { + U8 data[COM_BUFFER_LENGTH] = {0xde,0xad,0xbe,0xef}; + Fw::ComBuffer buffer(&data[0], sizeof(data)); + + this->invoke_to_comIn(0, buffer, 0); + dispatchAll(); + ASSERT_TRUE(comLogger.fileMode == ComLogger::CLOSED); + ASSERT_EVENTS_FileNotInitialized_SIZE(1); + + this->comLogger.init_log_file(FILE_STR, MAX_BYTES_PER_FILE); + + this->clearHistory(); + this->invoke_to_comIn(0, buffer, 0); + dispatchAll(); + ASSERT_TRUE(comLogger.fileMode == ComLogger::OPEN); + ASSERT_EVENTS_FileNotInitialized_SIZE(0); + + } + void Tester :: from_pingOut_handler( const NATIVE_INT_TYPE portNum, diff --git a/Svc/ComLogger/test/ut/Tester.hpp b/Svc/ComLogger/test/ut/Tester.hpp index ac6d6467c1..cbb1fc40fa 100644 --- a/Svc/ComLogger/test/ut/Tester.hpp +++ b/Svc/ComLogger/test/ut/Tester.hpp @@ -24,6 +24,10 @@ namespace Svc { public: Tester(const char *const compName); + + // This constructor will construct comLogger with its + // standard constructor + Tester(const char *const compName, bool standardCLInit); ~Tester(); void testLogging(); @@ -31,6 +35,8 @@ namespace Svc { void openError(); void writeError(); void closeFileCommand(); + void testLoggingWithInit(); + void noInitError(); private: void connectPorts(); void initComponents(); From 0c13ee82193e189393e803b983af219117982723 Mon Sep 17 00:00:00 2001 From: Simone Morettini Date: Wed, 17 May 2023 21:12:43 +0200 Subject: [PATCH 08/55] Update fprime cli documentation (#2025) * Update help messages of fprime-cli * Added zmq to admissible words * Adding non-existent in spelling exception * Substituting non-existent with nonexistent --- .github/actions/spelling/expect.txt | 1 + docs/UsersGuide/gds/gds-cli.md | 321 ++++++++++++++++++---------- 2 files changed, 209 insertions(+), 113 deletions(-) diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index 63f2458ef2..0e9966608a 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -1669,3 +1669,4 @@ XYZZY yacc yacgen yyyymmdd +zmq diff --git a/docs/UsersGuide/gds/gds-cli.md b/docs/UsersGuide/gds/gds-cli.md index 97a2ad9fda..82591934d9 100644 --- a/docs/UsersGuide/gds/gds-cli.md +++ b/docs/UsersGuide/gds/gds-cli.md @@ -84,44 +84,68 @@ learn more about each one, you can include the `-h` or `--help` flag after the c ```bash $ fprime-cli events --help -usage: fprime-cli events [-h] [-d DICTIONARY] [-ip IP] [-p PORT] [-t SECONDS] - [-l] [-i ID [ID ...]] [-c COMP [COMP ...]] - [-s STRING] [-j] +usage: fprime-cli events [-h] [--zmq] [--zmq-server] + [--zmq-transport serverInUrl serverOutUrl] [--tts-port TTS_PORT] + [--tts-addr TTS_ADDR] [-r ROOT_INPUT] [--dictionary DICTIONARY] + [--packet-spec PACKET_SPEC] [-l LOGS] [--log-directly] + [--log-to-stdout] [--file-storage-directory FILES_DIRECTORY] + [--list] [-i ID] [-c COMP [COMP ...]] [-s SEARCH] [-t SECONDS] [-j] print out new events that have occurred on the F Prime instance, sorted by timestamp -optional arguments: +options: -h, --help show this help message and exit - -d DICTIONARY, --dictionary DICTIONARY - path from the current working directory to the - "Dictionary.xml" file for the project - you're using the API with; if unused, tries to search - the current working directory for such a file - -ip IP, --ip-address IP - connect to the GDS server using the given IP or - hostname (default=127.0.0.1 (i.e. localhost)) - -p PORT, --port PORT connect to the GDS server using the given port number - (default=50050) - -t SECONDS, --timeout SECONDS - wait at most SECONDS seconds for a single new message, - then exit (defaults to listening until the user exits - via CTRL+C, and logging all messages) - -l, --list list all possible event types the current F Prime + +GDS Options: + --zmq Switch to using the ZMQ transportation layer + --zmq-server Sets the ZMQ connection to be a server. + Default: false (client) + --zmq-transport serverInUrl serverOutUrl + Pair of URls used with --zmq to setup ZeroMQ transportation + [default: ['ipc:///tmp/fprime-server-in', + 'ipc:///tmp/fprime-server-out']] + --tts-port TTS_PORT Set the threaded TCP socket server port [default: 50050] + --tts-addr TTS_ADDR Set the threaded TCP socket server address + [default: 0.0.0.0] + -r ROOT_INPUT, --root ROOT_INPUT + Root directory of build artifacts, used to automatically + find app and dictionary. + [default: install_dest field in settings.ini] + --dictionary DICTIONARY + Path to dictionary. Overrides automatic dictionary + detection. + --packet-spec PACKET_SPEC + Path to packet specification. + -l LOGS, --logs LOGS Logging directory. Created if nonexistent. + [default: /workspaces/macos/DefaultMission/logs] + --log-directly Logging directory is used directly, no extra dated + directories created. + --log-to-stdout Log to standard out along with log output files + --file-storage-directory FILES_DIRECTORY + File to store uplink and downlink files. + Default: /tmp/fprime-downlink/ + +Search/Filtering Options: + --list list all possible event types the current F Prime instance could produce, based on the events dictionary, sorted by event type ID - -i ID [ID ...], --ids ID [ID ...] - only show events matching the given type ID(s) "ID"; + -i ID, --ids ID only show events matching the given type ID(s) 'ID'; can provide multiple IDs to show all given types -c COMP [COMP ...], --components COMP [COMP ...] - only show events from the given component name "COMP"; - can provide multiple components to show events from - all components given - -s STRING, --search STRING + only show events from the given component name 'COMP'; + can provide multiple components to show events from all + components given + -s SEARCH, --search SEARCH only show events whose name or output string exactly matches or contains the entire given string "STRING" - -j, --json return the JSON response of the API call, with events - filtered based on other flags provided + +Retrieval Options: + -t SECONDS, --timeout SECONDS + wait at most SECONDS seconds for a single new event, + then exit (defaults to listening until the user exits + via CTRL+C, and logging all events) + -j, --json returns response in JSON format ``` ### Supplying F´ Dictionary @@ -216,44 +240,68 @@ directly. Help Message: ``` -usage: fprime-cli channels [-h] [-d DICTIONARY] [-ip IP] [-p PORT] - [-t SECONDS] [-l] [-i ID [ID ...]] - [-c COMP [COMP ...]] [-s STRING] [-j] - -print out new telemetry data that has been received from the F Prime instance, +usage: fprime-cli channels [-h] [--zmq] [--zmq-server] + [--zmq-transport serverInUrl serverOutUrl] [--tts-port TTS_PORT] + [--tts-addr TTS_ADDR] [-r ROOT_INPUT] [--dictionary DICTIONARY] + [--packet-spec PACKET_SPEC] [-l LOGS] [--log-directly] + [--log-to-stdout] [--file-storage-directory FILES_DIRECTORY] + [--list] [-i ID] [-c COMP [COMP ...]] [-s SEARCH] [-t SECONDS] [-j] + +print out new telemetry data that has been received from the F Prime instance, sorted by timestamp -optional arguments: +options: -h, --help show this help message and exit - -d DICTIONARY, --dictionary DICTIONARY - path from the current working directory to the - "Dictionary.xml" file for the project - you're using the API with; if unused, tries to search - the current working directory for such a file - -ip IP, --ip-address IP - connect to the GDS server using the given IP or - hostname (default=127.0.0.1 (i.e. localhost)) - -p PORT, --port PORT connect to the GDS server using the given port number - (default=50050) - -t SECONDS, --timeout SECONDS - wait at most SECONDS seconds for a single new message, - then exit (defaults to listening until the user exits - via CTRL+C, and logging all messages) - -l, --list list all possible channel types the current F Prime + +GDS Options: + --zmq Switch to using the ZMQ transportation layer + --zmq-server Sets the ZMQ connection to be a server. + Default: false (client) + --zmq-transport serverInUrl serverOutUrl + Pair of URls used with --zmq to setup ZeroMQ transportation + [default: ['ipc:///tmp/fprime-server-in', + 'ipc:///tmp/fprime-server-out']] + --tts-port TTS_PORT Set the threaded TCP socket server port [default: 50050] + --tts-addr TTS_ADDR Set the threaded TCP socket server address + [default: 0.0.0.0] + -r ROOT_INPUT, --root ROOT_INPUT + Root directory of build artifacts, used to automatically + find app and dictionary. + [default: install_dest field in settings.ini] + --dictionary DICTIONARY + Path to dictionary. Overrides automatic dictionary + detection. + --packet-spec PACKET_SPEC + Path to packet specification. + -l LOGS, --logs LOGS Logging directory. Created if nonexistent. + [default: /workspaces/macos/DefaultMission/logs] + --log-directly Logging directory is used directly, no extra dated + directories created. + --log-to-stdout Log to standard out along with log output files + --file-storage-directory FILES_DIRECTORY + File to store uplink and downlink files. + Default: /tmp/fprime-downlink/ + +Search/Filtering Options: + --list list all possible channel types the current F Prime instance could produce, based on the channels dictionary, sorted by channel type ID - -i ID [ID ...], --ids ID [ID ...] - only show channels matching the given type ID(s) "ID"; + -i ID, --ids ID only show channels matching the given type ID(s) 'ID'; can provide multiple IDs to show all given types -c COMP [COMP ...], --components COMP [COMP ...] - only show channels from the given component name - "COMP"; can provide multiple components to show - channels from all components given - -s STRING, --search STRING + only show channels from the given component name 'COMP'; + can provide multiple components to show channels from all + components given + -s SEARCH, --search SEARCH only show channels whose name or output string exactly matches or contains the entire given string "STRING" - -j, --json return the JSON response of the API call, with - channels filtered based on other flags provided + +Retrieval Options: + -t SECONDS, --timeout SECONDS + wait at most SECONDS seconds for a single new channel, + then exit (defaults to listening until the user exits + via CTRL+C, and logging all channels) + -j, --json returns response in JSON format ``` ### `command-send` @@ -261,48 +309,71 @@ optional arguments: Help Message: ``` -usage: fprime-cli command-send [-h] [-d DICTIONARY] [-ip IP] [-p PORT] - [-args [ARGUMENTS [ARGUMENTS ...]]] [-l] - [-i ID [ID ...]] [-c COMP [COMP ...]] - [-s STRING] [-j] - [command-name] +usage: fprime-cli command-send [-h] [-r ROOT_INPUT] [--dictionary DICTIONARY] + [--packet-spec PACKET_SPEC] [-l LOGS] [--log-directly] + [--log-to-stdout] [--file-storage-directory FILES_DIRECTORY] + [--zmq] [--zmq-server] [--zmq-transport serverInUrl serverOutUrl] + [--tts-port TTS_PORT] [--tts-addr TTS_ADDR] + [--arguments [ARGUMENTS ...]] [--list] [-i ID] [-c COMP [COMP ...]] + [-s SEARCH] [-j] [command-name] sends the given command to the spacecraft via the GDS positional arguments: - command-name the full name of the command you want to execute in - "." form + command-name the full name of the command you want to execute + in "." form -optional arguments: +options: -h, --help show this help message and exit - -d DICTIONARY, --dictionary DICTIONARY - path from the current working directory to the - "Dictionary.xml" file for the project - you're using the API with; if unused, tries to search - the current working directory for such a file - -ip IP, --ip-address IP - connect to the GDS server using the given IP or - hostname (default=127.0.0.1 (i.e. localhost)) - -p PORT, --port PORT connect to the GDS server using the given port number - (default=50050) - -args [ARGUMENTS [ARGUMENTS ...]], --arguments [ARGUMENTS [ARGUMENTS ...]] - provide a space-separated set of arguments to the - command being sent - -l, --list list all possible command types the current F Prime + --arguments [ARGUMENTS ...] + provide a space-separated set of arguments to + the command being sent + +GDS Options: + -r ROOT_INPUT, --root ROOT_INPUT + Root directory of build artifacts, used to automatically + find app and dictionary. + [default: install_dest field in settings.ini] + --dictionary DICTIONARY + Path to dictionary. Overrides automatic dictionary + detection. + --packet-spec PACKET_SPEC + Path to packet specification. + -l LOGS, --logs LOGS Logging directory. Created if nonexistent. + [default: /workspaces/macos/DefaultMission/logs] + --log-directly Logging directory is used directly, no extra dated + directories created. + --log-to-stdout Log to standard out along with log output files + --file-storage-directory FILES_DIRECTORY + File to store uplink and downlink files. + Default: /tmp/fprime-downlink/ + --zmq Switch to using the ZMQ transportation layer + --zmq-server Sets the ZMQ connection to be a server. + Default: false (client) + --zmq-transport serverInUrl serverOutUrl + Pair of URls used with --zmq to setup ZeroMQ transportation + [default: ['ipc:///tmp/fprime-server-in', + 'ipc:///tmp/fprime-server-out']] + --tts-port TTS_PORT Set the threaded TCP socket server port [default: 50050] + --tts-addr TTS_ADDR Set the threaded TCP socket server address + [default: 0.0.0.0] + +Search/Filtering Options: + --list list all possible command types the current F Prime instance could produce, based on the commands dictionary, sorted by command type ID - -i ID [ID ...], --ids ID [ID ...] - only show commands matching the given type ID(s) "ID"; + -i ID, --ids ID only show commands matching the given type ID(s) 'ID'; can provide multiple IDs to show all given types -c COMP [COMP ...], --components COMP [COMP ...] - only show commands from the given component name - "COMP"; can provide multiple components to show - commands from all components given - -s STRING, --search STRING + only show commands from the given component name 'COMP'; + can provide multiple components to show commands from all + components given + -s SEARCH, --search SEARCH only show commands whose name or output string exactly matches or contains the entire given string "STRING" - -j, --json return the JSON response of the API call, with - commands filtered based on other flags provided + +Retrieval Options: + -j, --json returns response in JSON format ``` ### `events` @@ -310,44 +381,68 @@ optional arguments: Help message: ``` -usage: fprime-cli events [-h] [-d DICTIONARY] [-ip IP] [-p PORT] [-t SECONDS] - [-l] [-i ID [ID ...]] [-c COMP [COMP ...]] - [-s STRING] [-j] +usage: fprime-cli events [-h] [--zmq] [--zmq-server] + [--zmq-transport serverInUrl serverOutUrl] [--tts-port TTS_PORT] + [--tts-addr TTS_ADDR] [-r ROOT_INPUT] [--dictionary DICTIONARY] + [--packet-spec PACKET_SPEC] [-l LOGS] [--log-directly] + [--log-to-stdout] [--file-storage-directory FILES_DIRECTORY] + [--list] [-i ID] [-c COMP [COMP ...]] [-s SEARCH] [-t SECONDS] [-j] print out new events that have occurred on the F Prime instance, sorted by timestamp -optional arguments: +options: -h, --help show this help message and exit - -d DICTIONARY, --dictionary DICTIONARY - path from the current working directory to the - "Dictionary.xml" file for the project - you're using the API with; if unused, tries to search - the current working directory for such a file - -ip IP, --ip-address IP - connect to the GDS server using the given IP or - hostname (default=127.0.0.1 (i.e. localhost)) - -p PORT, --port PORT connect to the GDS server using the given port number - (default=50050) - -t SECONDS, --timeout SECONDS - wait at most SECONDS seconds for a single new message, - then exit (defaults to listening until the user exits - via CTRL+C, and logging all messages) - -l, --list list all possible event types the current F Prime + +GDS Options: + --zmq Switch to using the ZMQ transportation layer + --zmq-server Sets the ZMQ connection to be a server. + Default: false (client) + --zmq-transport serverInUrl serverOutUrl + Pair of URls used with --zmq to setup ZeroMQ transportation + [default: ['ipc:///tmp/fprime-server-in', + 'ipc:///tmp/fprime-server-out']] + --tts-port TTS_PORT Set the threaded TCP socket server port [default: 50050] + --tts-addr TTS_ADDR Set the threaded TCP socket server address + [default: 0.0.0.0] + -r ROOT_INPUT, --root ROOT_INPUT + Root directory of build artifacts, used to automatically + find app and dictionary. + [default: install_dest field in settings.ini] + --dictionary DICTIONARY + Path to dictionary. Overrides automatic dictionary + detection. + --packet-spec PACKET_SPEC + Path to packet specification. + -l LOGS, --logs LOGS Logging directory. Created if nonexistent. + [default: /workspaces/macos/DefaultMission/logs] + --log-directly Logging directory is used directly, no extra dated + directories created. + --log-to-stdout Log to standard out along with log output files + --file-storage-directory FILES_DIRECTORY + File to store uplink and downlink files. + Default: /tmp/fprime-downlink/ + +Search/Filtering Options: + --list list all possible event types the current F Prime instance could produce, based on the events dictionary, sorted by event type ID - -i ID [ID ...], --ids ID [ID ...] - only show events matching the given type ID(s) "ID"; + -i ID, --ids ID only show events matching the given type ID(s) 'ID'; can provide multiple IDs to show all given types -c COMP [COMP ...], --components COMP [COMP ...] - only show events from the given component name "COMP"; - can provide multiple components to show events from - all components given - -s STRING, --search STRING + only show events from the given component name 'COMP'; + can provide multiple components to show events from all + components given + -s SEARCH, --search SEARCH only show events whose name or output string exactly matches or contains the entire given string "STRING" - -j, --json return the JSON response of the API call, with events - filtered based on other flags provided + +Retrieval Options: + -t SECONDS, --timeout SECONDS + wait at most SECONDS seconds for a single new event, + then exit (defaults to listening until the user exits + via CTRL+C, and logging all events) + -j, --json returns response in JSON format ``` ## Conclusion From 13393f9740ca64c10d42d2bb7499c26ddd49277d Mon Sep 17 00:00:00 2001 From: Simone Morettini Date: Wed, 17 May 2023 21:15:01 +0200 Subject: [PATCH 09/55] Removed ActiveRateGroupImpl (#1920) (#2023) Co-authored-by: Simone Morettini --- Svc/ActiveRateGroup/ActiveRateGroupImpl.cpp | 113 -------------------- Svc/ActiveRateGroup/README | 2 +- 2 files changed, 1 insertion(+), 114 deletions(-) delete mode 100644 Svc/ActiveRateGroup/ActiveRateGroupImpl.cpp diff --git a/Svc/ActiveRateGroup/ActiveRateGroupImpl.cpp b/Svc/ActiveRateGroup/ActiveRateGroupImpl.cpp deleted file mode 100644 index 75d9d96eb7..0000000000 --- a/Svc/ActiveRateGroup/ActiveRateGroupImpl.cpp +++ /dev/null @@ -1,113 +0,0 @@ -/* -* \author: Tim Canham -* \file: -* \brief -* -* This file implements the ActiveRateGroup component, -* which invokes a set of components the comprise the rate group. -* -* Copyright 2014-2015, by the California Institute of Technology. -* ALL RIGHTS RESERVED. United States Government Sponsorship -* acknowledged. -* -*/ - -#include -#include -#include -#include -#include - -namespace Svc { - - ActiveRateGroupImpl::ActiveRateGroupImpl(const char* compName, NATIVE_UINT_TYPE contexts[], NATIVE_UINT_TYPE numContexts) : - ActiveRateGroupComponentBase(compName), - m_cycles(0), - m_maxTime(0), - m_cycleStarted(false), - m_overrunThrottle(0), - m_cycleSlips(0) { - FW_ASSERT(contexts); - FW_ASSERT(numContexts == static_cast(this->getNum_RateGroupMemberOut_OutputPorts()),numContexts,this->getNum_RateGroupMemberOut_OutputPorts()); - FW_ASSERT(FW_NUM_ARRAY_ELEMENTS(this->m_contexts) == this->getNum_RateGroupMemberOut_OutputPorts(), - static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_contexts)), - this->getNum_RateGroupMemberOut_OutputPorts()); - - // copy context values - for (NATIVE_INT_TYPE entry = 0; entry < this->getNum_RateGroupMemberOut_OutputPorts(); entry++) { - this->m_contexts[entry] = contexts[entry]; - } - } - - void ActiveRateGroupImpl::init(NATIVE_INT_TYPE queueDepth, NATIVE_INT_TYPE instance) { - ActiveRateGroupComponentBase::init(queueDepth,instance); - } - - ActiveRateGroupImpl::~ActiveRateGroupImpl() { - - } - - void ActiveRateGroupImpl::preamble() { - this->log_DIAGNOSTIC_RateGroupStarted(); - } - - void ActiveRateGroupImpl::CycleIn_handler(NATIVE_INT_TYPE portNum, Svc::TimerVal& cycleStart) { - - TimerVal end; - - this->m_cycleStarted = false; - - // invoke any members of the rate group - for (NATIVE_INT_TYPE port = 0; port < this->getNum_RateGroupMemberOut_OutputPorts(); port++) { - if (this->isConnected_RateGroupMemberOut_OutputPort(port)) { - this->RateGroupMemberOut_out(port,this->m_contexts[port]); - } - } - - // grab timer for end of cycle - end.take(); - - // get rate group execution time - U32 cycle_time = end.diffUSec(cycleStart); - - // check to see if the time has exceeded the previous maximum - if (cycle_time > this->m_maxTime) { - this->m_maxTime = cycle_time; - } - - // update cycle telemetry - this->tlmWrite_RgMaxTime(this->m_maxTime); - - // check for cycle slip. That will happen if new cycle message has been received - // which will cause flag will be set again. - if (this->m_cycleStarted) { - this->m_cycleSlips++; - if (this->m_overrunThrottle < ACTIVE_RATE_GROUP_OVERRUN_THROTTLE) { - this->log_WARNING_HI_RateGroupCycleSlip(this->m_cycles); - this->m_overrunThrottle++; - } - // update cycle slips - this->tlmWrite_RgCycleSlips(this->m_cycleSlips); - } else { // if cycle is okay start decrementing throttle value - if (this->m_overrunThrottle > 0) { - this->m_overrunThrottle--; - } - } - - // increment cycle - this->m_cycles++; - - } - - void ActiveRateGroupImpl::CycleIn_preMsgHook(NATIVE_INT_TYPE portNum, Svc::TimerVal& cycleStart) { - // set flag to indicate cycle has started. Check in thread for overflow. - this->m_cycleStarted = true; - } - - void ActiveRateGroupImpl::PingIn_handler(NATIVE_INT_TYPE portNum, U32 key) { - // return the key to health - this->PingOut_out(0,key); - } - - -} diff --git a/Svc/ActiveRateGroup/README b/Svc/ActiveRateGroup/README index 01776eb556..77705120b6 100644 --- a/Svc/ActiveRateGroup/README +++ b/Svc/ActiveRateGroup/README @@ -3,4 +3,4 @@ The Active Rate Group is a component that executes components assigned to the ra A call to the input run port wakes the task and causes it to call all the components connected to the output ports in order. ActiveRateGroupComponentAi.xml - The XML description of the active rate group component -ActiveRateGroupImpl.hpp(.cpp) - The implementation of the component \ No newline at end of file +ActiveRateGroup.hpp(.cpp) - The implementation of the component \ No newline at end of file From 23fe2aa758b08e7bbfc006f371652900ba8f6483 Mon Sep 17 00:00:00 2001 From: M Starch Date: Wed, 17 May 2023 12:15:19 -0700 Subject: [PATCH 10/55] Adding prevent_prescan to CMake API (#2021) --- cmake/API.cmake | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/cmake/API.cmake b/cmake/API.cmake index 9bf7a33d25..d355ccb398 100644 --- a/cmake/API.cmake +++ b/cmake/API.cmake @@ -29,11 +29,36 @@ set(FPRIME_AUTOCODER_TARGET_LIST "" CACHE INTERNAL "FPRIME_AUTOCODER_TARGET_LIST ##### macro(restrict_platforms) set(__CHECKER ${ARGN}) - if (NOT CMAKE_SYSTEM_NAME IN_LIST __CHECKER) - get_module_name("${CMAKE_CURRENT_LIST_DIR}") - message(STATUS "Platform ${CMAKE_SYSTEM_NAME} not supported for module ${MODULE_NAME}") - return() - endif() + if (NOT CMAKE_SYSTEM_NAME IN_LIST __CHECKER) + get_module_name("${CMAKE_CURRENT_LIST_DIR}") + message(STATUS "Platform ${CMAKE_SYSTEM_NAME} not supported for module ${MODULE_NAME}") + return() + endif() +endmacro() + +#### +# Macro `prevent_prescan`: +# +# Prevents a CMakeLists.txt file from being processed in the prescan phase of the project. Will generate fake targets +# for all those targets specified to ensure that dependencies may be attached to these targets in the larger system. +# +# Usage: +# prevent_prescan(target1 target2 ...) # Generate fake targets and skip prescan +# +# Args: +# ARGN: list of targets to synthesize +##### +macro(prevent_prescan) + set(__CHECKER_TARGETS ${ARGN}) + if (DEFINED FPRIME_PRESCAN) + foreach (__TARGET IN LISTS __CHECKER_TARGETS) + add_custom_target(${__TARGET}) + endforeach() + string(REPLACE ";" " " __SPACE_LIST_TARGETS "${__CHECKER_TARGETS}") + get_module_name("${CMAKE_CURRENT_LIST_DIR}") + message(STATUS "Skipping ${MODULE_NAME} during prescan, adding faux libraries: ${__SPACE_LIST_TARGETS}") + return() + endif() endmacro() #### From afacd2fe2f596291fa6871be4cd7587aa55e370a Mon Sep 17 00:00:00 2001 From: M Starch Date: Wed, 17 May 2023 14:26:17 -0700 Subject: [PATCH 11/55] Removes 1-to-1 relation of deployments and projects (#1994) * Removes 1-to-1 relation of deployments and projects * Fixing CMake UTs * Making deployment subject to toolchain * Fixing CI and minimum tools version * Python formatting and fixing integration test run * Fixing RPI CI path * Fixing RPI remote run integration test --- .github/workflows/build-test-rpi.yml | 4 +- Ref/TypeDemo/CMakeLists.txt | 4 +- ci/tests/fputil.bash | 6 +- cmake/API.cmake | 74 ++++++++++++--------- cmake/FPrime-Code.cmake | 13 ++-- cmake/FPrime.cmake | 1 - cmake/autocoder/ai_xml.cmake | 5 +- cmake/autocoder/deployment_validation.cmake | 47 ------------- cmake/target/install.cmake | 16 +++-- cmake/test/src/test_feature.py | 8 ++- cmake/test/src/test_ref_shared.py | 7 +- cmake/test/src/test_unittests.py | 10 ++- requirements.txt | 2 +- 13 files changed, 90 insertions(+), 107 deletions(-) delete mode 100644 cmake/autocoder/deployment_validation.cmake diff --git a/.github/workflows/build-test-rpi.yml b/.github/workflows/build-test-rpi.yml index dd9d1bba82..d7da1ad373 100644 --- a/.github/workflows/build-test-rpi.yml +++ b/.github/workflows/build-test-rpi.yml @@ -11,7 +11,7 @@ on: branches: [ master, devel, release/v3.0.0 ] env: RPI_TOOLCHAIN_DIR: /tmp/rpi-toolchain - DICTIONARY_PATH: build-artifacts/raspberrypi/dict/RPITopologyAppDictionary.xml + DICTIONARY_PATH: build-artifacts/raspberrypi/RPI/dict/RPITopologyAppDictionary.xml # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: RPI: @@ -53,7 +53,7 @@ jobs: with: name: rpi-build - name: RPI Integration Tests - run: chmod +x RPI/build-artifacts/raspberrypi/bin/RPI; /bin/bash ci/tests/RPI-Ints.bash + run: chmod +x RPI/build-artifacts/raspberrypi/RPI/bin/RPI; /bin/bash ci/tests/RPI-Ints.bash # Archive the outputs - name: 'Archive Logs' uses: actions/upload-artifact@v3 diff --git a/Ref/TypeDemo/CMakeLists.txt b/Ref/TypeDemo/CMakeLists.txt index 9a80610286..1cb0e71d0b 100644 --- a/Ref/TypeDemo/CMakeLists.txt +++ b/Ref/TypeDemo/CMakeLists.txt @@ -9,5 +9,7 @@ set(SOURCE_FILES "${CMAKE_CURRENT_LIST_DIR}/TypeDemo.fpp" "${CMAKE_CURRENT_LIST_DIR}/TypeDemo.cpp" ) - +set(MOD_DEPS + Os +) register_fprime_module() diff --git a/ci/tests/fputil.bash b/ci/tests/fputil.bash index e0366ac831..4e2ec64dff 100755 --- a/ci/tests/fputil.bash +++ b/ci/tests/fputil.bash @@ -69,7 +69,7 @@ function integration_test_run { mkdir -p "${LOG_DIR}/gds-logs" # Start the GDS layer and give it time to run echo "[INFO] Starting headless GDS layer" - fprime-gds -n --dictionary "${ROOTDIR}/"*"/dict/${BINARY}TopologyAppDictionary.xml" -g none -l "${LOG_DIR}/gds-logs" 1>${LOG_DIR}/gds-logs/fprime-gds.stdout.log 2>${LOG_DIR}/gds-logs/fprime-gds.stderr.log & + fprime-gds -n --dictionary "${ROOTDIR}/"*"/${BINARY}/dict/${BINARY}TopologyAppDictionary.xml" -g none -l "${LOG_DIR}/gds-logs" 1>${LOG_DIR}/gds-logs/fprime-gds.stdout.log 2>${LOG_DIR}/gds-logs/fprime-gds.stderr.log & GDS_PID=$! # run the app with valgrind in the background if command -v valgrind &> /dev/null @@ -82,9 +82,9 @@ function integration_test_run { --show-leak-kinds=all \ --track-origins=yes \ --log-file=${LOG_DIR}/gds-logs/valgrind.log \ - ${ROOTDIR}/*/bin/${BINARY} -a 127.0.0.1 -p 50000 1>${LOG_DIR}/gds-logs/${BINARY}.stdout.log 2>${LOG_DIR}/gds-logs/${BINARY}.stderr.log & + ${ROOTDIR}/*/${BINARY}/bin/${BINARY} -a 127.0.0.1 -p 50000 1>${LOG_DIR}/gds-logs/${BINARY}.stdout.log 2>${LOG_DIR}/gds-logs/${BINARY}.stderr.log & else - ${ROOTDIR}/*/bin/${BINARY} -a 127.0.0.1 -p 50000 1>${LOG_DIR}/gds-logs/${BINARY}.stdout.log 2>${LOG_DIR}/gds-logs/${BINARY}.stderr.log & + ${ROOTDIR}/*/${BINARY}/bin/${BINARY} -a 127.0.0.1 -p 50000 1>${LOG_DIR}/gds-logs/${BINARY}.stdout.log 2>${LOG_DIR}/gds-logs/${BINARY}.stderr.log & fi VALGRIND_PID=$! diff --git a/cmake/API.cmake b/cmake/API.cmake index d355ccb398..a921ad2bc9 100644 --- a/cmake/API.cmake +++ b/cmake/API.cmake @@ -89,6 +89,9 @@ endmacro() # https://cmake.org/cmake/help/latest/command/add_fprime_subdirectory.html #### function(add_fprime_subdirectory FP_SOURCE_DIR) + get_module_name("${FP_SOURCE_DIR}") + set(FPRIME_CURRENT_MODULE "${MODULE_NAME}") + # Check if the binary and source directory are in agreement. If they agree, then normally add # the directory, as no adjustments need be made. get_filename_component(CBD_NAME "${CMAKE_CURRENT_BINARY_DIR}" NAME) @@ -115,13 +118,13 @@ endfunction(add_fprime_subdirectory) # # Required variables (defined in calling scope): # -# - **SOURCE_FILES:** cmake list of input source files. Place any "*.fpp", "*Ai.xml", "*.c", "*.cpp" +# - **SOURCE_FILES:** cmake list of input source files. Place any "*.fpp", "*.c", "*.cpp" # etc files here. This list will be split into autocoder inputs, and hand-coded sources based on the name/type. # # **i.e.:** # ``` # set(SOURCE_FILES -# MyComponentAi.xml +# MyComponent.fpp # SomeFile.cpp # MyComponentImpl.cpp) # ``` @@ -148,7 +151,7 @@ endfunction(add_fprime_subdirectory) # # ``` # set(SOURCE_FILE -# MyComponentAi.xml +# MyComponent.fpp # SomeFile.cpp # MyComponentImpl.cpp) # @@ -171,7 +174,7 @@ endfunction(add_fprime_subdirectory) # # ``` # set(SOURCE_FILE -# MyComponentAi.xml) +# MyComponent.fpp) # # register_fprime_module() # ``` @@ -184,7 +187,7 @@ endfunction(add_fprime_subdirectory) # # ``` # set(SOURCE_FILE -# MyComponentAi.xml +# MyComponent.fpp # SomeFile.cpp # MyComponentImpl.cpp) # @@ -204,7 +207,12 @@ function(register_fprime_module) if (${ARGC} GREATER 0) set(MODULE_NAME ${ARGV0}) else() - get_module_name("${CMAKE_CURRENT_LIST_DIR}") + # Check to be sure before using + if (NOT DEFINED FPRIME_CURRENT_MODULE) + message(FATAL_ERROR "FPRIME_CURRENT_MODULE not defined. Please supply name to: register_fprime_module()") + endif() + + set(MODULE_NAME ${FPRIME_CURRENT_MODULE}) endif() # Explicit call to module register generate_library("${MODULE_NAME}" "${SOURCE_FILES}" "${MOD_DEPS}") @@ -227,14 +235,14 @@ endfunction(register_fprime_module) # # # - **EXECUTABLE_NAME:** (optional) executable name supplied. If not set, nor passed in, then -# PROJECT_NAME from the CMake definitions is used. +# FPRIME_CURRENT_MODULE from the CMake definitions is used. # -# - **SOURCE_FILES:** cmake list of input source files. Place any "*Ai.xml", "*.c", "*.cpp" +# - **SOURCE_FILES:** cmake list of input source files. Place any "*.fpp", "*.c", "*.cpp" # etc. files here. This list will be split into autocoder inputs and sources. # **i.e.:** # ``` # set(SOURCE_FILES -# MyComponentAi.xml +# MyComponent.fpp # SomeFile.cpp # MyComponentImpl.cpp) # ``` @@ -275,17 +283,20 @@ endfunction(register_fprime_module) # ``` #### function(register_fprime_executable) - get_module_name("${CMAKE_CURRENT_LIST_DIR}") if (NOT DEFINED SOURCE_FILES AND NOT DEFINED MOD_DEPS) message(FATAL_ERROR "SOURCE_FILES or MOD_DEPS must be defined when registering an executable") - elseif (NOT DEFINED EXECUTABLE_NAME AND ARGC LESS 1 AND TARGET "${MODULE_NAME}") + elseif (NOT DEFINED EXECUTABLE_NAME AND ARGC LESS 1 AND TARGET "${FPRIME_CURRENT_MODULE}") message(FATAL_ERROR "EXECUTABLE_NAME must be set or passed in. Use register_fprime_deployment() for deployments") endif() # MODULE_NAME is used for the executable name, unless otherwise specified. if(NOT DEFINED EXECUTABLE_NAME AND ARGC GREATER 0) set(EXECUTABLE_NAME "${ARGV0}") elseif(NOT DEFINED EXECUTABLE_NAME) - set(EXECUTABLE_NAME "${MODULE_NAME}") + # Check to be sure before using + if (NOT DEFINED FPRIME_CURRENT_MODULE) + message(FATAL_ERROR "FPRIME_CURRENT_MODULE not defined. Please supply name to: register_fprime_executable()") + endif() + set(EXECUTABLE_NAME "${FPRIME_CURRENT_MODULE}") endif() get_nearest_build_root(${CMAKE_CURRENT_LIST_DIR}) generate_executable("${EXECUTABLE_NAME}" "${SOURCE_FILES}" "${MOD_DEPS}") @@ -307,12 +318,12 @@ endfunction(register_fprime_executable) # # Required variables (defined in calling scope): # -# - **SOURCE_FILES:** cmake list of input source files. Place any "*Ai.xml", "*.c", "*.cpp" +# - **SOURCE_FILES:** cmake list of input source files. Place any "*.fpp", "*.c", "*.cpp" # etc. files here. This list will be split into autocoder inputs and sources. # **i.e.:** # ``` # set(SOURCE_FILES -# MyComponentAi.xml +# MyComponent.fpp # SomeFile.cpp # MyComponentImpl.cpp) # ``` @@ -324,7 +335,7 @@ endfunction(register_fprime_executable) # **i.e.:** # ``` # set(MOD_DEPS -# ${PROJECT_NAME}/Top +# ${FPRIME_CURRENT_MODULE}/Top # Module1 # Module2 # -lpthread) @@ -332,36 +343,34 @@ endfunction(register_fprime_executable) # # **Note:** this operates almost identically to `register_fprime_executable` and `register_fprime_module` with respect # to the variable definitions. The difference is deployment targets will be run (e.g. dictionary generation), and the -# executable binary will be named for ${PROJECT_NAME}. +# executable binary will be named after the module, or if project when defined directly in a project CMakeLists.txt # # ### Standard fprime Deployment Example ### # -# To create a standard fprime deployment, an executable needs to be created. This executable -# uses the CMake PROJECT_NAME as the executable name. Thus, it can be created with the following -# source lists. In most fprime deployments, some modules must be specified as they don't tie -# directly to an Ai.xml. +# To create a standard fprime deployment, an the user must call `register_fprime_deployment()` after defining +# SOURCE_FILES and MOD_DEPS. # # ``` # set(SOURCE_FILES # "${CMAKE_CURRENT_LIST_DIR}/Main.cpp" # ) -# # Note: supply non-explicit dependencies here. These are implementations to an XML that is -# # defined in a different module. +# # Note: supply dependencies that cannot be detected via the model here. # set(MOD_DEPS -# ${PROJECT_NAME}/Top +# ${FPRIME_CURRENT_MODULE}/Top # ) # register_fprime_deployment() # ``` #### function(register_fprime_deployment) - get_module_name("${CMAKE_CURRENT_LIST_DIR}") if (NOT DEFINED SOURCE_FILES AND NOT DEFINED MOD_DEPS) message(FATAL_ERROR "SOURCE_FILES or MOD_DEPS must be defined when registering an executable") - elseif(NOT MODULE_NAME STREQUAL PROJECT_NAME) - message(WARNING "Project name ${PROJECT_NAME} does not match expected name ${MODULE_NAME}") + endif() + # Fallback to PROJECT_NAME when it is not set + if (NOT DEFINED FPRIME_CURRENT_MODULE) + set(FPRIME_CURRENT_MODULE "${PROJECT_NAME}") endif() get_nearest_build_root(${CMAKE_CURRENT_LIST_DIR}) - generate_deployment("${PROJECT_NAME}" "${SOURCE_FILES}" "${MOD_DEPS}") + generate_deployment("${FPRIME_CURRENT_MODULE}" "${SOURCE_FILES}" "${MOD_DEPS}") endfunction(register_fprime_deployment) @@ -382,14 +391,14 @@ endfunction(register_fprime_deployment) # - **UT_NAME:** (optional) executable name supplied. If not supplied, or passed in, then # the _ut_exe will be used. # -# - **UT_SOURCE_FILES:** cmake list of UT source files. Place any "*Ai.xml", "*.c", "*.cpp" +# - **UT_SOURCE_FILES:** cmake list of UT source files. Place any "*.fpp", "*.c", "*.cpp" # etc. files here. This list will be split into autocoder inputs or sources. These sources only apply to the unit # test. # # **i.e.:** # ``` # set(UT_SOURCE_FILES -# MyComponentAi.xml +# MyComponent.fpp # SomeFile.cpp # MyComponentImpl.cpp) # ``` @@ -415,13 +424,12 @@ endfunction(register_fprime_deployment) # # ### Unit-Test Example ### # -# A standard unit test defines only UT_SOURCES. These sources have the test cpp files and the module -# Ai.xml of the module being tested. This is used to generate the GTest and TesterBase files from this -# Ai.xml. The other UT source files define the implementation of the test. +# A standard unit test defines only UT_SOURCES. These sources have the test cpp files and the model +# .fpp of the module being tested. This is used to generate the GTest harness. # # ``` # set(UT_SOURCE_FILES -# "${FPRIME_FRAMEWORK_PATH}/Svc/CmdDispatcher/CommandDispatcherComponentAi.xml" +# "${FPRIME_FRAMEWORK_PATH}/Svc/CmdDispatcher/CommandDispatcher.fpp" # "${CMAKE_CURRENT_LIST_DIR}/test/ut/CommandDispatcherTester.cpp" # "${CMAKE_CURRENT_LIST_DIR}/test/ut/CommandDispatcherImplTester.cpp" # ) diff --git a/cmake/FPrime-Code.cmake b/cmake/FPrime-Code.cmake index 39dee7a408..1a4708afb6 100644 --- a/cmake/FPrime-Code.cmake +++ b/cmake/FPrime-Code.cmake @@ -26,13 +26,14 @@ if (FPRIME_ENABLE_FRAMEWORK_UTS) endif() # Faux libraries used as interfaces to non-autocoded fpp items add_library(Fpp INTERFACE) +set(FPRIME_CURRENT_MODULE config) add_subdirectory("${FPRIME_CONFIG_DIR}" "${CMAKE_BINARY_DIR}/config") -add_subdirectory("${FPRIME_FRAMEWORK_PATH}/Fw/" "${CMAKE_BINARY_DIR}/F-Prime/Fw") -add_subdirectory("${FPRIME_FRAMEWORK_PATH}/Svc/" "${CMAKE_BINARY_DIR}/F-Prime/Svc") -add_subdirectory("${FPRIME_FRAMEWORK_PATH}/Os/" "${CMAKE_BINARY_DIR}/F-Prime/Os") -add_subdirectory("${FPRIME_FRAMEWORK_PATH}/Drv/" "${CMAKE_BINARY_DIR}/F-Prime/Drv") -add_subdirectory("${FPRIME_FRAMEWORK_PATH}/CFDP/" "${CMAKE_BINARY_DIR}/F-Prime/CFDP") -add_subdirectory("${FPRIME_FRAMEWORK_PATH}/Utils/" "${CMAKE_BINARY_DIR}/F-Prime/Utils") +set(_FP_CORE_PACKAGES Fw Svc Os Drv CFDP Utils) +foreach (_FP_PACKAGE_DIR IN LISTS _FP_CORE_PACKAGES) + set(FPRIME_CURRENT_MODULE "${_FP_PACKAGE_DIR}") + add_subdirectory("${FPRIME_FRAMEWORK_PATH}/${_FP_PACKAGE_DIR}/" "${CMAKE_BINARY_DIR}/F-Prime/${_FP_PACKAGE_DIR}") +endforeach () +unset(FPRIME_CURRENT_MODULE) # Always enable UTs for a project set(__FPRIME_NO_UT_GEN__ OFF) foreach (LIBRARY_DIR IN LISTS FPRIME_LIBRARY_LOCATIONS) diff --git a/cmake/FPrime.cmake b/cmake/FPrime.cmake index f30dd16a38..78d1716cfa 100644 --- a/cmake/FPrime.cmake +++ b/cmake/FPrime.cmake @@ -69,7 +69,6 @@ register_fprime_target(target/fpp_locs) register_fprime_target(target/build) register_fprime_build_autocoder(autocoder/fpp) register_fprime_build_autocoder(autocoder/ai_xml) -register_fprime_build_autocoder(autocoder/deployment_validation) register_fprime_build_autocoder(autocoder/packets) register_fprime_target(target/noop) register_fprime_target(target/version) diff --git a/cmake/autocoder/ai_xml.cmake b/cmake/autocoder/ai_xml.cmake index 7a8013ccdf..a2ea3d76b5 100644 --- a/cmake/autocoder/ai_xml.cmake +++ b/cmake/autocoder/ai_xml.cmake @@ -94,8 +94,9 @@ function(ai_xml_setup_autocode AC_INPUT_FILE) # Check type and respond if(XML_LOWER_TYPE STREQUAL "topologyapp") # Are we excluding the generated files or not - set_property(GLOBAL PROPERTY "${PROJECT_NAME}_FPRIME_DICTIONARY_FILE" - "${CMAKE_CURRENT_BINARY_DIR}/${OBJ_NAME}${XML_TYPE}Dictionary.xml") + set(FPRIME_CURRENT_DICTIONARY_FILE "${CMAKE_CURRENT_BINARY_DIR}/${OBJ_NAME}${XML_TYPE}Dictionary.xml" + CACHE INTERNAL "" FORCE + ) if (EXCLUDE_TOP_ACS) set(REMOVALS "${GENERATED_FILES}") set(GENERATED_FILES "${CMAKE_CURRENT_BINARY_DIR}/${OBJ_NAME}${XML_TYPE}Dictionary.xml") diff --git a/cmake/autocoder/deployment_validation.cmake b/cmake/autocoder/deployment_validation.cmake deleted file mode 100644 index 47c20ebbc8..0000000000 --- a/cmake/autocoder/deployment_validation.cmake +++ /dev/null @@ -1,47 +0,0 @@ -#### -# autocoder/deployment_validation.cmake -# -# An autocoder that performs validation steps on the deployment to ensure that it is well-formed. This will produce -# warning output when validation fails. -# -# Note: this autocoder is for validation purposes and DOES NOT produce any autocoded files. -##### -include(utilities) -include(autocoder/helpers) - -autocoder_setup_for_multiple_sources() - -#### -# `deployment_validation_is_supported`: -# -# Required function, processes .fpp files -#### -function(deployment_validation_is_supported AC_INPUT_FILE) - autocoder_support_by_suffix(".fpp" "${AC_INPUT_FILE}") # No re-scan, already done in FPP -endfunction (deployment_validation_is_supported) - -#### -# `deployment_validation_is_supported`: -# -# Required function, look for .fpp files defining a topology block and ensure the following equivalence: -# ${PROJECT_NAME} == topology name -# No files are produced by this autocoder. It runs to validate items as part of the autocoder system. -# -#### -function(deployment_validation_setup_autocode AC_INPUT_FILES) - foreach(AC_FILE IN LISTS AC_INPUT_FILES) - file(READ "${AC_FILE}" FILE_TEXT) - # Does this file match the pattern (module { topology {} }) - if (NOT FPRIME_SKIP_PROJECT_NAME_VALIDATION AND - FILE_TEXT MATCHES "^(.*\n)?[^\n#@]*topology +([a-zA-Z0-9_]+)" AND - NOT CMAKE_MATCH_2 STREQUAL "${PROJECT_NAME}") - message(WARNING - "Cmake project name '${PROJECT_NAME}' does not match topology name '${CMAKE_MATCH_2}'\n" - " Project CMakeLists.txt: ${PROJECT_SOURCE_DIR}/CMakeLists.txt\n" - " Topology FPP model: ${AC_FILE}\n" - ) - endif() - endforeach() - # This autocoder specifically does not produce any autocoder output - set(AUTOCODER_GENERATED "" PARENT_SCOPE) -endfunction(deployment_validation_setup_autocode) diff --git a/cmake/target/install.cmake b/cmake/target/install.cmake index 118b8e8c9e..c37e9592ca 100644 --- a/cmake/target/install.cmake +++ b/cmake/target/install.cmake @@ -43,12 +43,16 @@ function(install_add_deployment_target MODULE TARGET SOURCES DEPENDENCIES FULL_D set(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY TRUE) _install_real_helper(INSTALL_DEPENDENCIES "${FULL_DEPENDENCIES}") install(TARGETS ${MODULE} ${INSTALL_DEPENDENCIES} - RUNTIME DESTINATION ${TOOLCHAIN_NAME}/bin - LIBRARY DESTINATION ${TOOLCHAIN_NAME}/lib - ARCHIVE DESTINATION ${TOOLCHAIN_NAME}/lib/static) - get_property(DICTIONARY GLOBAL PROPERTY "${PROJECT_NAME}_FPRIME_DICTIONARY_FILE") - install(FILES ${DICTIONARY} DESTINATION ${TOOLCHAIN_NAME}/dict) - add_custom_command(TARGET "${MODULE}" POST_BUILD COMMAND "${CMAKE_COMMAND}" --build "${CMAKE_BINARY_DIR}" --target install) + RUNTIME DESTINATION ${TOOLCHAIN_NAME}/${MODULE}/bin + COMPONENT ${MODULE} + LIBRARY DESTINATION ${TOOLCHAIN_NAME}/${MODULE}/lib + COMPONENT ${MODULE} + ARCHIVE DESTINATION ${TOOLCHAIN_NAME}/${MODULE}/lib/static + COMPONENT ${MODULE} + ) + install(FILES ${FPRIME_CURRENT_DICTIONARY_FILE} DESTINATION ${TOOLCHAIN_NAME}/${MODULE}/dict COMPONENT ${MODULE}) + add_custom_command(TARGET "${MODULE}" POST_BUILD COMMAND "${CMAKE_COMMAND}" + -DCMAKE_INSTALL_COMPONENT=${MODULE} -P${CMAKE_BINARY_DIR}/cmake_install.cmake) endfunction() # Install is per-deployment, a module-by-module variant does not make sense diff --git a/cmake/test/src/test_feature.py b/cmake/test/src/test_feature.py index abd3363547..780269939d 100644 --- a/cmake/test/src/test_feature.py +++ b/cmake/test/src/test_feature.py @@ -87,6 +87,7 @@ def test_feature_targets(FEATURE_BUILD): def test_feature_installation(FEATURE_BUILD): """Run reference and assert reference targets exit""" cmake.assert_process_success(FEATURE_BUILD) + deployment_name = "TestDeployment" for module in settings.FRAMEWORK_MODULES + [ "Svc_CmdDispatcher", "TestLibrary_TestComponent", @@ -96,12 +97,17 @@ def test_feature_installation(FEATURE_BUILD): output_path = ( FEATURE_BUILD["install"] / platform.system() + / deployment_name / "lib" / "static" / library_name ) assert output_path.exists(), f"Failed to locate {library_name} in build output" output_path = ( - FEATURE_BUILD["install"] / platform.system() / "bin" / "TestDeployment" + FEATURE_BUILD["install"] + / platform.system() + / deployment_name + / "bin" + / deployment_name ) assert output_path.exists(), "Failed to locate TestDeployment in build output" diff --git a/cmake/test/src/test_ref_shared.py b/cmake/test/src/test_ref_shared.py index 97f401c808..2f4fa17805 100644 --- a/cmake/test/src/test_ref_shared.py +++ b/cmake/test/src/test_ref_shared.py @@ -46,9 +46,11 @@ def test_ref_installation(REF_BUILD): library_name = ( f"lib{module}{'.so' if platform.system() != 'Darwin' else '.dylib'}" ) - output_path = REF_BUILD["install"] / platform.system() / "lib" / library_name + output_path = ( + REF_BUILD["install"] / platform.system() / "Ref" / "lib" / library_name + ) assert output_path.exists(), f"Failed to locate {library_name} in build output" - output_path = REF_BUILD["install"] / platform.system() / "bin" / "Ref" + output_path = REF_BUILD["install"] / platform.system() / "Ref" / "bin" / "Ref" assert output_path.exists(), "Failed to locate Ref in build output" @@ -58,6 +60,7 @@ def test_ref_dictionary(REF_BUILD): output_path = ( REF_BUILD["install"] / platform.system() + / "Ref" / "dict" / "RefTopologyAppDictionary.xml" ) diff --git a/cmake/test/src/test_unittests.py b/cmake/test/src/test_unittests.py index fbb0592939..2adc6e6859 100644 --- a/cmake/test/src/test_unittests.py +++ b/cmake/test/src/test_unittests.py @@ -87,10 +87,15 @@ def test_unittest_installation(UT_BUILD): for module in MODULES: library_name = f"lib{module}.a" output_path = ( - UT_BUILD["install"] / platform.system() / "lib" / "static" / library_name + UT_BUILD["install"] + / platform.system() + / "Ref" + / "lib" + / "static" + / library_name ) assert output_path.exists(), f"Failed to locate {library_name} in build output" - output_path = UT_BUILD["install"] / platform.system() / "bin" / "Ref" + output_path = UT_BUILD["install"] / platform.system() / "Ref" / "bin" / "Ref" assert output_path.exists(), "Failed to locate Ref in build output" @@ -100,6 +105,7 @@ def test_unittest_dictionary(UT_BUILD): output_path = ( UT_BUILD["install"] / platform.system() + / "Ref" / "dict" / "RefTopologyAppDictionary.xml" ) diff --git a/requirements.txt b/requirements.txt index 3d4b312cbf..740ae302d8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -16,7 +16,7 @@ Flask==2.2.2 Flask-Compress==1.13 Flask-RESTful==0.3.9 fprime-fpp==1.2.0 -fprime-gds==3.2.0 +fprime-gds==3.2.1a1 fprime-tools==3.2.0 gcovr==5.2 idna==3.4 From 0565987f4b3f9863fa039874b92206d4d2abcd42 Mon Sep 17 00:00:00 2001 From: M Starch Date: Wed, 17 May 2023 18:56:22 -0700 Subject: [PATCH 12/55] Fix missing coverage compilations for unit-test files (#2013) * Fix missing coverage compilations for unit-test files * Cleaning up .gdca removal, fixing #2008 --- cmake/target/build.cmake | 10 +++++----- cmake/target/check.cmake | 23 +++++++++++++---------- requirements.txt | 2 +- 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/cmake/target/build.cmake b/cmake/target/build.cmake index 2430a2b577..ecd5fa5a2f 100644 --- a/cmake/target/build.cmake +++ b/cmake/target/build.cmake @@ -91,6 +91,11 @@ function(build_setup_build_module MODULE SOURCES GENERATED EXCLUDED_SOURCES DEPE endif() endforeach() set_property(TARGET "${MODULE}" PROPERTY FPRIME_TARGET_DEPENDENCIES ${TARGET_DEPENDENCIES}) + # Special flags applied to modules when compiling with testing enabled + if (BUILD_TESTING) + target_compile_options("${MODULE}" PRIVATE ${FPRIME_TESTING_REQUIRED_COMPILE_FLAGS}) + target_link_libraries("${MODULE}" PRIVATE ${FPRIME_TESTING_REQUIRED_LINK_FLAGS}) + endif() endfunction() #### @@ -120,11 +125,6 @@ function(build_add_module_target MODULE TARGET SOURCES DEPENDENCIES) run_ac_set("${SOURCES}" ${CUSTOM_AUTOCODERS}) resolve_dependencies(RESOLVED ${DEPENDENCIES} ${AC_DEPENDENCIES} ) build_setup_build_module("${MODULE}" "${SOURCES}" "${AC_GENERATED}" "${AC_SOURCES}" "${RESOLVED}") - # Special flags applied to modules when compiling with testing enabled - if (BUILD_TESTING) - target_compile_options("${MODULE}" PRIVATE ${FPRIME_TESTING_REQUIRED_COMPILE_FLAGS}) - target_link_libraries("${MODULE}" PRIVATE ${FPRIME_TESTING_REQUIRED_LINK_FLAGS}) - endif() if (CMAKE_DEBUG_OUTPUT) introspect("${MODULE}") diff --git a/cmake/target/check.cmake b/cmake/target/check.cmake index 4d7ddbd4c3..0bced5053b 100644 --- a/cmake/target/check.cmake +++ b/cmake/target/check.cmake @@ -11,9 +11,7 @@ # - **TARGET_NAME:** target name to be generated #### function(check_add_global_target TARGET_NAME) - add_custom_target(${TARGET_NAME} - COMMAND ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR} find . -name "*.gcda" -delete - COMMAND ${CMAKE_CTEST_COMMAND}) + add_custom_target(${TARGET_NAME} COMMAND ${CMAKE_CTEST_COMMAND}) endfunction(check_add_global_target) #### @@ -33,12 +31,18 @@ function(check_add_deployment_target MODULE TARGET SOURCES DEPENDENCIES FULL_DEP get_property(DEPENDENCY_UTS TARGET "${DEPENDENCY}" PROPERTY FPRIME_UTS) list(APPEND ALL_UTS ${DEPENDENCY_UTS}) endforeach() - string(REPLACE ";" "\\|" JOINED_UTS "${ALL_UTS}") - add_custom_target(${MODULE}_${TARGET_NAME} - COMMAND ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR} find . -name "*.gcda" -delete - COMMAND ${CMAKE_CTEST_COMMAND} -R "${JOINED_UTS}" - DEPENDS ${ALL_UTS} - ) + # Only run deployment UTs when some are defined + if (ALL_UTS) + string(REPLACE ";" "\\|" JOINED_UTS "${ALL_UTS}") + add_custom_target(${MODULE}_${TARGET_NAME} + COMMAND ${CMAKE_CTEST_COMMAND} -R "${JOINED_UTS}" + DEPENDS ${ALL_UTS} + ) + else() + add_custom_target(${MODULE}_${TARGET_NAME} + COMMAND ${CMAKE_COMMAND} -E echo "No unit tests defined for ${MODULE}" + ) + endif() endfunction() #### @@ -58,7 +62,6 @@ function(check_add_module_target MODULE_NAME TARGET_NAME SOURCE_FILES DEPENDENCI elseif (NOT TARGET ${MODULE_NAME}_${TARGET_NAME}) add_custom_target( "${MODULE_NAME}_${TARGET_NAME}" - COMMAND ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR} find . -name "*.gcda" -delete COMMAND ${CMAKE_CTEST_COMMAND} --verbose ) endif() diff --git a/requirements.txt b/requirements.txt index 740ae302d8..e9828d8cba 100644 --- a/requirements.txt +++ b/requirements.txt @@ -18,7 +18,7 @@ Flask-RESTful==0.3.9 fprime-fpp==1.2.0 fprime-gds==3.2.1a1 fprime-tools==3.2.0 -gcovr==5.2 +gcovr==6.0 idna==3.4 importlib-metadata==4.13.0 iniconfig==2.0.0 From cf414a7d4cd50d55ed008d70c5ff9c0786df0a5c Mon Sep 17 00:00:00 2001 From: Paul Rosemurgy Date: Wed, 17 May 2023 21:55:39 -0700 Subject: [PATCH 13/55] Fix CMake `-P` argument --- cmake/target/install.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/target/install.cmake b/cmake/target/install.cmake index c37e9592ca..0b3df79e49 100644 --- a/cmake/target/install.cmake +++ b/cmake/target/install.cmake @@ -52,7 +52,7 @@ function(install_add_deployment_target MODULE TARGET SOURCES DEPENDENCIES FULL_D ) install(FILES ${FPRIME_CURRENT_DICTIONARY_FILE} DESTINATION ${TOOLCHAIN_NAME}/${MODULE}/dict COMPONENT ${MODULE}) add_custom_command(TARGET "${MODULE}" POST_BUILD COMMAND "${CMAKE_COMMAND}" - -DCMAKE_INSTALL_COMPONENT=${MODULE} -P${CMAKE_BINARY_DIR}/cmake_install.cmake) + -DCMAKE_INSTALL_COMPONENT=${MODULE} -P ${CMAKE_BINARY_DIR}/cmake_install.cmake) endfunction() # Install is per-deployment, a module-by-module variant does not make sense From ccb974a2101bf2d5765f05faff78a5a0f6257c8c Mon Sep 17 00:00:00 2001 From: M Starch Date: Thu, 18 May 2023 14:19:13 -0700 Subject: [PATCH 14/55] Rework tutorial index (#2035) * Rework tutorial index * Review suggestions --- docs/Tutorials/README.md | 48 ++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/docs/Tutorials/README.md b/docs/Tutorials/README.md index a1ade489be..de4086583f 100644 --- a/docs/Tutorials/README.md +++ b/docs/Tutorials/README.md @@ -8,13 +8,14 @@ users to learn F´ and walk through the most basic steps in developing an F´ ap ## Tutorials Index -1. [HelloWorld](HelloWorld/Tutorial.md) -2. [MathComponent](MathComponent/Tutorial.md) -3. [Cross-Compilation Tutorial](CrossCompilation/Tutorial.md) +1. [HelloWorld](HelloWorld/Tutorial.md): An Introduction to F´ +2. [LedBlinker](https://github.com/fprime-community/fprime-workshop-led-blinker/blob/main/README.md): F´ and Embedded Hardware +3. [MathComponent](MathComponent/Tutorial.md) +4. [Cross-Compilation Tutorial](CrossCompilation/Tutorial.md) -## [HelloWorld](HelloWorld/Tutorial.md) +## [HelloWorld](HelloWorld/Tutorial.md): An Introduction to F´ -The getting started tutorial walks a new user through creating a new project, their first F´ component, and testing that +The HelloWorld tutorial walks a new user through creating a new project, their first F´ component, and testing that component through an F´ deployment. This tutorial has the following subsections: 1. [Introduction and F´ Terminology](./HelloWorld/Tutorial.md) @@ -22,22 +23,21 @@ component through an F´ deployment. This tutorial has the following subsections 3. [Creating an F´ Hello World Component](./HelloWorld/HelloWorld.md) 4. [Integration and Testing With F´ Deployments](./HelloWorld/Deployments.md) -## [Math Component](MathComponent/Tutorial.md) - -A tutorial to walk through the full development process of an F´ application. It does this by creating two components, -one to request the results of a math operation, and the other to compute the result. This allows users to see F´ -components communicate and run and F´ project without the need for embedded devices nor hardware. This tutorial runs entirely -on a user's *nix (Linux, Mac, BSD, Windows w/ WSL) machine. It uses the existing `Ref` application as a host for the components -allowing a quick development. Users should first review the [Getting Started Tutorial](HelloWorld/Tutorial.md) for -understanding the tools. - -## [Cross-Compilation Tutorial](CrossCompilation/Tutorial.md) - -A tutorial that walks the user through the process of cross-compiling a -complete Math Component application to the Raspberry Pi. This allows users to -gain a basic understanding of how to cross-compile an F´ application and run -the deployment on the Raspberry Pi. To get the most from this tutorial the user -should possess a Raspberry Pi. Users should first review the -[Getting Started Tutorial](HelloWorld/Tutorial.md) for understanding the -tools and complete the [Math Component Tutorial](MathComponent/Tutorial.md) to -build familiarity with F´ and to have a complete Ref application. +## [LedBlinker](https://github.com/fprime-community/fprime-workshop-led-blinker/blob/main/README.md): F´ and Embedded Hardware + +LedBlinker walks users through developing an F´ project intended for running on embedded hardware. It covers manager components, hardware drivers, and cross-compilation with the goal of blinking an LED on ARM hardware. Events, Telemetry, Commands, and Parameters are covered as well. + +> This tutorial can be run without hardware with the exception of section 6 "Running on Hardware". + +1. [Project Setup](https://github.com/fprime-community/fprime-workshop-led-blinker/blob/main/docs/project-setup.md) +2. [Component Design and Initial Implementation](https://github.com/fprime-community/fprime-workshop-led-blinker/blob/main/docs/component-implementation-1.md) +3. [Initial Component Integration](https://github.com/fprime-community/fprime-workshop-led-blinker/blob/main/docs/initial-integration.md) +4. [Continuing Component Implementation](https://github.com/fprime-community/fprime-workshop-led-blinker/blob/main/docs/component-implementation-2.md) +5. [Full System Integration](https://github.com/fprime-community/fprime-workshop-led-blinker/blob/main/docs/full-integration.md) +6. [Running on Hardware](https://github.com/fprime-community/fprime-workshop-led-blinker/blob/main/docs/running-on-hardware.md) +7. [Unit-Testing](https://github.com/fprime-community/fprime-workshop-led-blinker/blob/main/docs/unit-testing.md) +8. [System Testing](https://github.com/fprime-community/fprime-workshop-led-blinker/blob/main/docs/system-testing.md) + +## [MathComponent](MathComponent/Tutorial.md): Custom Ports and Types + +MathComponent tutorial walks users through constructing a full F´ application including custom Ports, and Enumeration data types. Events, Telemetry, Commands, and Parameters are covered as well. Unit-Testing is also covered. From a0337f338b84aef085fcde428bfde77d848f5791 Mon Sep 17 00:00:00 2001 From: Noah <91645190+NoahBraasch@users.noreply.github.com> Date: Wed, 24 May 2023 13:36:47 -0400 Subject: [PATCH 15/55] Fixes main.cpp references in MathComponent tutorial (#2042) * Adds telemetry packet definition step. * Fixes typo in sample code * Fixes some main.cpp references * Changes incorrect `main.cpp` to `TestMain.cpp` --- docs/Tutorials/MathComponent/Tutorial.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/Tutorials/MathComponent/Tutorial.md b/docs/Tutorials/MathComponent/Tutorial.md index e6c9e3004f..f254ed2fce 100644 --- a/docs/Tutorials/MathComponent/Tutorial.md +++ b/docs/Tutorials/MathComponent/Tutorial.md @@ -796,7 +796,7 @@ Open `MathSender/CMakeLists.txt` and update the definition of set(UT_SOURCE_FILES "${CMAKE_CURRENT_LIST_DIR}/MathSender.fpp" "${CMAKE_CURRENT_LIST_DIR}/test/ut/Tester.cpp" - "${CMAKE_CURRENT_LIST_DIR}/test/ut/main.cpp" + "${CMAKE_CURRENT_LIST_DIR}/test/ut/TestMain.cpp" ) set(UT_AUTO_HELPERS ON) register_fprime_ut() @@ -976,7 +976,7 @@ void Tester :: This function calls `testDoMath` to test an `ADD` command. **Write a test macro:** -Add the following code to the file `main.cpp`, +Add the following code to the file `TestMain.cpp`, before the definition of the `main` function: ```c++ @@ -1074,7 +1074,7 @@ component sends a result back to `MathSender`. The main difference is that it invokes a port directly (the `mathResultIn` port) instead of sending a command. -1. Add the following test macro to `main.cpp`: +1. Add the following test macro to `TestMain.cpp`: ```c++ TEST(Nominal, Result) { @@ -1113,9 +1113,9 @@ and 10. This line tells the build system to make the unit test build depend on the `STest` build module. -1. Add `#include "STest/Random/Random.hpp"` to `main.cpp`. +1. Add `#include "STest/Random/Random.hpp"` to `TestMain.cpp`. -1. Add the following line to the `main` function of `main.cpp`, +1. Add the following line to the `main` function of `TestMain.cpp`, just before the return statement: ```c++ @@ -1735,7 +1735,7 @@ Instead we invoke `schedIn`. For each of the tests described below, you must add the corresponding function prototype to `Tester.hpp` -and the corresponding test macro to `main.cpp`. +and the corresponding test macro to `TestMain.cpp`. If you can't remember how to do it, look back at the `MathSender` examples. After writing each test, run all the tests and make sure From f5b34f21406a443b35ea2962551ece6e388ab1ae Mon Sep 17 00:00:00 2001 From: Simone Morettini Date: Wed, 24 May 2023 22:36:12 +0200 Subject: [PATCH 16/55] Made assert clickable (#1847) (#2022) * Made assert clickable (#1847) * Update asserts with file id --------- Co-authored-by: Simone Morettini --- Fw/Logger/LogAssert.cpp | 4 ++-- Fw/Test/UnitTestAssert.cpp | 4 ++-- Fw/Types/Assert.cpp | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Fw/Logger/LogAssert.cpp b/Fw/Logger/LogAssert.cpp index 4eca41f9b0..b7ea746d97 100644 --- a/Fw/Logger/LogAssert.cpp +++ b/Fw/Logger/LogAssert.cpp @@ -15,10 +15,10 @@ #else #if FW_ASSERT_LEVEL == FW_FILEID_ASSERT -#define fileIdFs "Assert file ID %d: Line: %d " +#define fileIdFs "Assert: %d:%d" #define ASSERT_CAST static_cast #else -#define fileIdFs "Assert file \"%s\": Line: %d " +#define fileIdFs "Assert: \"%s:%d\"" #define ASSERT_CAST reinterpret_cast #endif diff --git a/Fw/Test/UnitTestAssert.cpp b/Fw/Test/UnitTestAssert.cpp index 77a0da89f4..3e651f8ad6 100644 --- a/Fw/Test/UnitTestAssert.cpp +++ b/Fw/Test/UnitTestAssert.cpp @@ -43,9 +43,9 @@ namespace Test { void UnitTestAssert::doAssert() { this->m_assertFailed = true; #if FW_ASSERT_LEVEL == FW_FILEID_ASSERT - (void)fprintf(stderr,"Assert File: 0x%" PRIx32 ", Line: %" PRI_PlatformUIntType "\n", this->m_file, this->m_lineNo); + (void)fprintf(stderr,"Assert: 0x%" PRIx32 ":%" PRI_PlatformUIntType "\n", this->m_file, this->m_lineNo); #else - (void)fprintf(stderr,"Assert File: %s, Line: %" PRI_PlatformUIntType "\n", this->m_file.toChar(), this->m_lineNo); + (void)fprintf(stderr,"Assert: %s:%" PRI_PlatformUIntType "\n", this->m_file.toChar(), this->m_lineNo); #endif } diff --git a/Fw/Types/Assert.cpp b/Fw/Types/Assert.cpp index a9133ff793..68cd74454a 100644 --- a/Fw/Types/Assert.cpp +++ b/Fw/Types/Assert.cpp @@ -10,9 +10,9 @@ #else #if FW_ASSERT_LEVEL == FW_FILEID_ASSERT -#define fileIdFs "Assert file ID 0x%08" PRIx32 ": Line: %" PRI_PlatformUIntType +#define fileIdFs "Assert: 0x%08" PRIx32 ":%" PRI_PlatformUIntType #else -#define fileIdFs "Assert file \"%s\": Line: %" PRI_PlatformUIntType +#define fileIdFs "Assert: \"%s:%" PRI_PlatformUIntType "\"" #endif namespace Fw { From 7beddcc5cb9e141798a3d4e5fde06f14a1ba3169 Mon Sep 17 00:00:00 2001 From: Roman Sobkuliak Date: Wed, 24 May 2023 22:41:16 +0200 Subject: [PATCH 17/55] Add missing dependency for XML generation (#2044) * Add codegen dependency * Remove repeated dependency --- cmake/autocoder/ai_xml.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/autocoder/ai_xml.cmake b/cmake/autocoder/ai_xml.cmake index a2ea3d76b5..e278e231f6 100644 --- a/cmake/autocoder/ai_xml.cmake +++ b/cmake/autocoder/ai_xml.cmake @@ -108,7 +108,7 @@ function(ai_xml_setup_autocode AC_INPUT_FILE) OUTPUT ${GENERATED_FILES} COMMAND ${AI_BASE_SCRIPT} --connect_only --xml_topology_dict "${AC_INPUT_FILE}" COMMAND ${CMAKE_COMMAND} -E remove ${REMOVALS} - DEPENDS "${AC_INPUT_FILE}" "${MODULE_DEPENDENCIES}" "${AC_INPUT_FILE}" "${FILE_DEPENDENCIES}" + DEPENDS "${AC_INPUT_FILE}" "${MODULE_DEPENDENCIES}" "${FILE_DEPENDENCIES}" "${CODEGEN_TARGET}" ) else() add_custom_command( From a919d8ffe85a5378c88e8f4abb28867d98f35e52 Mon Sep 17 00:00:00 2001 From: Paul Rosemurgy Date: Thu, 25 May 2023 13:02:04 -0700 Subject: [PATCH 18/55] Make `comStatusIn` port `sync`, avoid mutual exclusion locking (#2045) --- Svc/Framer/Framer.fpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Svc/Framer/Framer.fpp b/Svc/Framer/Framer.fpp index 3017d2380f..b71ea772ba 100644 --- a/Svc/Framer/Framer.fpp +++ b/Svc/Framer/Framer.fpp @@ -40,7 +40,7 @@ module Svc { @ Port receiving the general status from the downstream component @ indicating it is ready or not-ready for more input - guarded input port comStatusIn: Fw.SuccessCondition + sync input port comStatusIn: Fw.SuccessCondition @ Port receiving indicating the status of framer for receiving more data output port comStatusOut: Fw.SuccessCondition From c24c3364622f3f37bd628f74c5dce2d3a17478bc Mon Sep 17 00:00:00 2001 From: M Starch Date: Thu, 25 May 2023 13:05:23 -0700 Subject: [PATCH 19/55] Adding guard to buffer accumulator (#2046) --- Svc/BufferAccumulator/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Svc/BufferAccumulator/CMakeLists.txt b/Svc/BufferAccumulator/CMakeLists.txt index 1535f68239..50dec4d3eb 100644 --- a/Svc/BufferAccumulator/CMakeLists.txt +++ b/Svc/BufferAccumulator/CMakeLists.txt @@ -6,6 +6,8 @@ # # Note: using PROJECT_NAME as EXECUTABLE_NAME #### +restrict_platforms(Linux Darwin) # Uses sys/time + set(SOURCE_FILES "${CMAKE_CURRENT_LIST_DIR}/BufferAccumulator.fpp" "${CMAKE_CURRENT_LIST_DIR}/BufferAccumulator.cpp" From 084daa831fece0a6989577b87b9052970fc71e25 Mon Sep 17 00:00:00 2001 From: M Starch Date: Thu, 25 May 2023 15:20:38 -0700 Subject: [PATCH 20/55] Removing ITAR from expect.txt; References to ITAR should be caught (#2047) --- .github/actions/spelling/expect.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index 0e9966608a..9036f46a35 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -729,7 +729,6 @@ ISREG iss isspace isupper -ITAR itimerspec itle itr From 24178fcd4b4d69dc16f1fb64b7e6a86e355573dd Mon Sep 17 00:00:00 2001 From: M Starch Date: Tue, 30 May 2023 08:32:24 -0700 Subject: [PATCH 21/55] =?UTF-8?q?Fixes=20some=20minor=20F=C2=B4=20issues?= =?UTF-8?q?=20(#2052)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fixing template component base includes * Making CAssert match Assert * Fixing invalid template and missing header include --- .../src/fprime_ac/generators/templates/component/hpp.tmpl | 7 +++++++ Fw/Types/CAssert.h | 2 +- Svc/FatalHandler/FatalHandlerComponentLinuxImpl.cpp | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Autocoders/Python/src/fprime_ac/generators/templates/component/hpp.tmpl b/Autocoders/Python/src/fprime_ac/generators/templates/component/hpp.tmpl index 9c6ffba64f..4a9d7649b7 100644 --- a/Autocoders/Python/src/fprime_ac/generators/templates/component/hpp.tmpl +++ b/Autocoders/Python/src/fprime_ac/generators/templates/component/hpp.tmpl @@ -13,7 +13,14 @@ \#include \#include \#include + +#if $kind == "passive": +\#include +#else: \#include +#end if + + #if $has_guarded_ports or $has_parameters \#include #end if diff --git a/Fw/Types/CAssert.h b/Fw/Types/CAssert.h index 857e3ffa69..0b60953c0c 100644 --- a/Fw/Types/CAssert.h +++ b/Fw/Types/CAssert.h @@ -20,7 +20,7 @@ #define FILE_NAME_ARG NATIVE_UINT_TYPE #define FW_CASSERT(cond) ((void)((cond) ? (0) : (CAssert0(ASSERT_FILE_ID, __LINE__)))) #else -#define FILE_NAME_ARG const U8* +#define FILE_NAME_ARG const CHAR* #define FW_CASSERT(cond) ((void)((cond) ? (0) : (CAssert0((FILE_NAME_ARG)(__FILE__), __LINE__)))) #endif diff --git a/Svc/FatalHandler/FatalHandlerComponentLinuxImpl.cpp b/Svc/FatalHandler/FatalHandlerComponentLinuxImpl.cpp index 2805682255..ff72572eba 100644 --- a/Svc/FatalHandler/FatalHandlerComponentLinuxImpl.cpp +++ b/Svc/FatalHandler/FatalHandlerComponentLinuxImpl.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include namespace Svc { From 4448bd2d1f0e492d221e85dc42604c735e57315f Mon Sep 17 00:00:00 2001 From: M Starch Date: Tue, 30 May 2023 11:08:04 -0700 Subject: [PATCH 22/55] Update/passive rg (#2051) * AUTO: Svc/PassiveRateGroup transformed by copy_sources Copying fprime-open-source-review/Svc/PassiveRateGroup [revision: v3.2.0-20-gca5d909e9] to srh-fsw-base/lib/fprime/Svc/PassiveRateGroup * AUTO: Svc/PassiveRateGroup transformed by fppify Running fpp-from-xml on fprime-open-source-review/Svc/PassiveRateGroup/PassiveRateGroupComponentAi.xml to srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/PassiveRateGroup.fpp * AUTO: Svc/PassiveRateGroup transformed by fpp_formater Running fpp-format on srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/PassiveRateGroup.fpp * AUTO: Svc/PassiveRateGroup transformed by cpp_source_updater Rewriting C++ syntax of srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/PassiveRateGroupImpl.cpp Rewriting C++ syntax of srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/PassiveRateGroupImpl.hpp Rewriting C++ syntax of srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/test/ut/TesterBase.cpp Rewriting C++ syntax of srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/test/ut/GTestBase.cpp Rewriting C++ syntax of srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/test/ut/PassiveRateGroupTester.cpp Rewriting C++ syntax of srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/test/ut/PassiveRateGroupImplTester.cpp * AUTO: Svc/PassiveRateGroup transformed by cpp_format Formatting the following files: srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/PassiveRateGroupImpl.cpp srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/PassiveRateGroupImpl.hpp srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/test/ut/TesterBase.cpp srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/test/ut/GTestBase.cpp srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/test/ut/PassiveRateGroupTester.cpp srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/test/ut/PassiveRateGroupImplTester.cpp * AUTO: Svc/PassiveRateGroup transformed by cmakeify Writing fprime-open-source-review/Svc/PassiveRateGroup/mod.mk to srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/CMakeLists.txt Added srh-fsw-base/lib/fprime/Svc/PassiveRateGroup as subdirectory to: srh-fsw-base/lib/fprime/Svc/CMakeLists.txt srh-fsw-base/srh-fsw-base.cmake * AUTO: Svc/PassiveRateGroup transformed by clean_up_clean_up_everybody_clean_up Removing the following: srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/PassiveRateGroupComponentAi.xml srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/mod.mk srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/Makefile srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/ComponentReport.txt srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/test/ut/GTestBase.cpp srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/test/ut/GTestBase.hpp srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/test/ut/TesterBase.cpp srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/test/ut/TesterBase.hpp srh-fsw-base/lib/fprime/Svc/PassiveRateGroup/test/ut/output * Adding passive rate group * Fixing UT and review concerns * Fixing (void) arguments * Fixing (void) and broken links --- .github/actions/spelling/expect.txt | 2 + Svc/CMakeLists.txt | 1 + Svc/PassiveRateGroup/CMakeLists.txt | 29 ++++++ Svc/PassiveRateGroup/PassiveRateGroup.cpp | 67 ++++++++++++++ Svc/PassiveRateGroup/PassiveRateGroup.fpp | 30 +++++++ Svc/PassiveRateGroup/PassiveRateGroup.hpp | 75 ++++++++++++++++ .../docs/img/PassiveRateGroupBDD.png | Bin 0 -> 138820 bytes Svc/PassiveRateGroup/docs/sdd.md | 77 ++++++++++++++++ .../test/ut/PassiveRateGroupImplTester.cpp | 84 ++++++++++++++++++ .../test/ut/PassiveRateGroupImplTester.hpp | 53 +++++++++++ .../test/ut/PassiveRateGroupTester.cpp | 55 ++++++++++++ .../test/ut/PassiveRateGroupTester.hpp | 52 +++++++++++ config/AcConstants.fpp | 3 + 13 files changed, 528 insertions(+) create mode 100644 Svc/PassiveRateGroup/CMakeLists.txt create mode 100644 Svc/PassiveRateGroup/PassiveRateGroup.cpp create mode 100644 Svc/PassiveRateGroup/PassiveRateGroup.fpp create mode 100644 Svc/PassiveRateGroup/PassiveRateGroup.hpp create mode 100644 Svc/PassiveRateGroup/docs/img/PassiveRateGroupBDD.png create mode 100644 Svc/PassiveRateGroup/docs/sdd.md create mode 100644 Svc/PassiveRateGroup/test/ut/PassiveRateGroupImplTester.cpp create mode 100644 Svc/PassiveRateGroup/test/ut/PassiveRateGroupImplTester.hpp create mode 100644 Svc/PassiveRateGroup/test/ut/PassiveRateGroupTester.cpp create mode 100644 Svc/PassiveRateGroup/test/ut/PassiveRateGroupTester.hpp diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index 9036f46a35..05daa6095d 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -1023,6 +1023,8 @@ params PARENB PARODD parseable +PASSIVERATEGROUP +PASSIVERATEGROUPIMPLTESTER pathlib pathmaker pbuild diff --git a/Svc/CMakeLists.txt b/Svc/CMakeLists.txt index 9384e5aece..c04257bba2 100644 --- a/Svc/CMakeLists.txt +++ b/Svc/CMakeLists.txt @@ -34,6 +34,7 @@ add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/GroundInterface/") add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/Framer/") add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/FramingProtocol/") add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/Health/") +add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/PassiveRateGroup") add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/PolyDb/") add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/PrmDb/") add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/RateGroupDriver/") diff --git a/Svc/PassiveRateGroup/CMakeLists.txt b/Svc/PassiveRateGroup/CMakeLists.txt new file mode 100644 index 0000000000..83d35a7a0c --- /dev/null +++ b/Svc/PassiveRateGroup/CMakeLists.txt @@ -0,0 +1,29 @@ +#### CMakeLists.txt PassiveRateGroup #### + +# Specifies the sources for this module with optional sources included by platform +set(SOURCE_FILES + "${CMAKE_CURRENT_LIST_DIR}/PassiveRateGroup.cpp" + "${CMAKE_CURRENT_LIST_DIR}/PassiveRateGroup.hpp" + "${CMAKE_CURRENT_LIST_DIR}/PassiveRateGroup.fpp" +) + + +# Specifies any module dependencies not detectable via the model file dependency detection +#set(MOD_DEPS ...) + +# Registers this module with the fprime build system +register_fprime_module() + +# Specifies the sources specifically associated with unit tests in this module +set(UT_SOURCE_FILES + "${CMAKE_CURRENT_LIST_DIR}/test/ut/PassiveRateGroupTester.cpp" + "${CMAKE_CURRENT_LIST_DIR}/test/ut/PassiveRateGroupImplTester.cpp" + "${CMAKE_CURRENT_LIST_DIR}/PassiveRateGroup.fpp" +) + + +# Specifies any unit test modules +#set(UT_MOD_DEPS ...) + +# Registers this module with the fprime build system +register_fprime_ut() diff --git a/Svc/PassiveRateGroup/PassiveRateGroup.cpp b/Svc/PassiveRateGroup/PassiveRateGroup.cpp new file mode 100644 index 0000000000..c04212ba98 --- /dev/null +++ b/Svc/PassiveRateGroup/PassiveRateGroup.cpp @@ -0,0 +1,67 @@ +/* + * \author: Tim Canham + * \file: + * \brief + * + * This file implements the PassiveRateGroup component, + * which invokes a set of components the comprise the rate group. + * + * Copyright 2014-2015, by the California Institute of Technology. + * ALL RIGHTS RESERVED. United States Government Sponsorship + * acknowledged. + */ + +#include +#include +#include +#include + +namespace Svc { +PassiveRateGroup::PassiveRateGroup(const char* compName) + : PassiveRateGroupComponentBase(compName), m_cycles(0), m_maxTime(0), m_numContexts(0) { +} + +PassiveRateGroup::~PassiveRateGroup() {} + +void PassiveRateGroup::configure(NATIVE_INT_TYPE contexts[], NATIVE_INT_TYPE numContexts) { + FW_ASSERT(contexts); + FW_ASSERT(numContexts == this->getNum_RateGroupMemberOut_OutputPorts(),numContexts,this->getNum_RateGroupMemberOut_OutputPorts()); + FW_ASSERT(FW_NUM_ARRAY_ELEMENTS(this->m_contexts) == this->getNum_RateGroupMemberOut_OutputPorts(), + FW_NUM_ARRAY_ELEMENTS(this->m_contexts), + this->getNum_RateGroupMemberOut_OutputPorts()); + + this->m_numContexts = numContexts; + // copy context values + for (NATIVE_INT_TYPE entry = 0; entry < this->m_numContexts; entry++) { + this->m_contexts[entry] = contexts[entry]; + } +} + + +void PassiveRateGroup::CycleIn_handler(NATIVE_INT_TYPE portNum, Svc::TimerVal& cycleStart) { + TimerVal end; + FW_ASSERT(this->m_numContexts); + + // invoke any members of the rate group + for (NATIVE_INT_TYPE port = 0; port < this->getNum_RateGroupMemberOut_OutputPorts(); port++) { + if (this->isConnected_RateGroupMemberOut_OutputPort(port)) { + this->RateGroupMemberOut_out(port, this->m_contexts[port]); + } + } + + // grab timer for end of cycle + end.take(); + + // get rate group execution time + U32 cycle_time = end.diffUSec(cycleStart); + + // check to see if the time has exceeded the previous maximum + if (cycle_time > this->m_maxTime) { + this->m_maxTime = cycle_time; + } + this->tlmWrite_MaxCycleTime(this->m_maxTime); + this->tlmWrite_CycleTime(cycle_time); + this->tlmWrite_CycleCount(++this->m_cycles); +} + +} // namespace Svc diff --git a/Svc/PassiveRateGroup/PassiveRateGroup.fpp b/Svc/PassiveRateGroup/PassiveRateGroup.fpp new file mode 100644 index 0000000000..8237423871 --- /dev/null +++ b/Svc/PassiveRateGroup/PassiveRateGroup.fpp @@ -0,0 +1,30 @@ +module Svc { + + @ A rate group passive component with input and output scheduler ports + passive component PassiveRateGroup { + + @ The rate group cycle input + sync input port CycleIn: Cycle + + @ Scheduler output port to rate group members + output port RateGroupMemberOut: [PassiveRateGroupOutputPorts] Sched + + @ Max execution time of rate group cycle + telemetry MaxCycleTime: U32 update on change format "{} us" + + @ Execution time of current cycle + telemetry CycleTime: U32 format "{} us" + + @ Count of number of cycles + telemetry CycleCount: U32 + + # Standard ports + @ A port for getting the time + time get port Time + + @ A port for emitting telemetry + telemetry port Tlm + + } + +} diff --git a/Svc/PassiveRateGroup/PassiveRateGroup.hpp b/Svc/PassiveRateGroup/PassiveRateGroup.hpp new file mode 100644 index 0000000000..5849fa5760 --- /dev/null +++ b/Svc/PassiveRateGroup/PassiveRateGroup.hpp @@ -0,0 +1,75 @@ +/* + * \author: Tim Canham + * \file: + * \brief + * + * This file implements the PassiveRateGroup component, + * which invokes a set of components the comprise the rate group. + * + * Copyright 2014-2015, by the California Institute of Technology. + * ALL RIGHTS RESERVED. United States Government Sponsorship + * acknowledged. + */ + +#ifndef SVC_PASSIVERATEGROUP_IMPL_HPP +#define SVC_PASSIVERATEGROUP_IMPL_HPP + +#include + +namespace Svc { + +//! \class PassiveRateGroupImpl +//! \brief Executes a set of components as part of a rate group +//! +//! PassiveRateGroup takes an input cycle call to begin the rate group cycle. +//! It calls each output port in succession and passes the value in the context +//! array at the index corresponding to the output port number. It keeps track of the execution +//! time of the rate group and detects overruns. +//! + +class PassiveRateGroup : public PassiveRateGroupComponentBase { + public: + //! \brief PassiveRateGroupImpl constructor + //! + //! The constructor of the class clears all the flags and copies the + //! contents of the context array to private storage. + //! + //! \param compName Name of the component + explicit PassiveRateGroup(const char* compName); //! \brief PassiveRateGroupImpl initialization function + + //! \brief PassiveRateGroup configuration function + //! + //! The configuration function takes an array of context values to pass to + //! members of the rate group. + //! + //! \param contexts Array of integers that contain the context values that will be sent + //! to each member component. The index of the array corresponds to the + //! output port number. + //! \param numContexts The number of elements in the context array. + void configure(NATIVE_INT_TYPE contexts[], NATIVE_INT_TYPE numContexts); + + //! \brief PassiveRateGroupImpl destructor + //! + //! The destructor of the class is empty + ~PassiveRateGroup(); + + PRIVATE: + //! \brief Input cycle port handler + //! + //! The cycle port handler calls each component in the rate group in turn, + //! passing the context value. It computes the execution time each cycle, + //! and writes it to a telemetry value if it reaches a maximum time + //! + //! \param portNum incoming port call. For this class, should always be zero + //! \param cycleStart value stored by the cycle driver, used to compute execution time. + void CycleIn_handler(NATIVE_INT_TYPE portNum, Svc::TimerVal& cycleStart); + + U32 m_cycles; //!< cycles executed + U32 m_maxTime; //!< maximum execution time in microseconds + NATIVE_INT_TYPE m_numContexts; //!< number of contexts + NATIVE_INT_TYPE m_contexts[NUM_RATEGROUPMEMBEROUT_OUTPUT_PORTS]; //!< Must match number of output ports +}; + +} // namespace Svc + +#endif diff --git a/Svc/PassiveRateGroup/docs/img/PassiveRateGroupBDD.png b/Svc/PassiveRateGroup/docs/img/PassiveRateGroupBDD.png new file mode 100644 index 0000000000000000000000000000000000000000..b5d58d9d62c6979f6c349379ae14f959a78ab2ab GIT binary patch literal 138820 zcmeEuby!r}+cqFdgCaPDgrpKPN_R*JNOucJcf&{sNJtCP-QC?tip0=JcX#*jZ9V7w zPQK@Rzw3Mdd||j|vG-bgul=ki?&p5i%tu*iF)VZ71#6rlwusJb8+x}#?yw;O z#g8-qMb)*)i+84A z`=M}Rkl`)KN8b|VmoFEIrYH&?9Yk|Yd*l-yh)F#Pyh15%?is&tK+{QkNJ#n`gEJ7}n`~9$5rzFUpk1ik=E7hzW>m0w^^IMen!f z*$9x*=O4r%49`=mB1pcu>qY)p*fS>#nF{5ZP+S<|+k0w4Az>)X7(N0E_d$z-CbDc5 zAiDPfskS*prXSqj*QL-8NEs7A5u{$)4G^zW26=Tq$BOb)dZYCnv&wr$*Tb2)*C%3u zfdj;c5dDR9-=v1532Dw(Yys_@y1^gmDQ-YWxR^T|r#)n$|U@`WTsX@2(`gQSRq)QB6uTP!E zdJNBtV%}haB0Rg>KI?5hw}>%|k?UnKL<{T~D$P?>D8OJtCJvklVQeSus?vK`()Rt? zHU+j{M2pE{fweZrBQSonAGa@eaD5Q*7pbM$C2?oY2Ek|5jn8H2lG20?BD12Fj}Y#Sh3H&V|3Cx*N{f z?T05cDMd$_NIgR?70wqX@|EZ<4QEh-D4#$P?O7OE*qr=RJp2Gg>d)a4oB}2pnwdPA z4WJbCb<`SkYh*_>Mbrw6Ak+q2DpWd*Ni@p`y|@hcJP>CwYi)n>42pIKn6uZ@?OlDho)x&E036heZ(@ROuj@{cf*LM1O!2}?uXd&=Y5mS-*xajy@c7$j!M>+ zg1-^F5OX)YkIo<0EvB8#o9&+Ezj));;6~?~bhUY9cy)RucT;uAdck-xbp^WMN0-HT zg|Uu>hlz<{j;V=li%N$bhdPEe`@of3n2CxegBcG*M4%3;tLe5G{v$TT!>cv0F>CNRv!o(~o(v@}gK@OD|t9dZ}S?b4hv0dr{-zKH37B7S99i z$HfpiwinDc9OBH+ASM(O6c?`!k>(P0qLDJqr8iz@KH;D9WT~vM8lo949Ht+dGeR~@ zfZ_Eo8(^Ccf3NbGdL5-Ob~ZIQH8J(Be5L&Ct;}x8lw9M(Ny5@{r|89^X|3VJb!Lmd=; z9quGnMOv$7s;KVp*_mZ$T{u=uZS6&-K1!$?T_~8Wu%y_y@N?0$POWQ#o$K<4osUs; zv3Xv3p|twav&D`@mc??p&v<=!Bi%P$EZ$h$o*B-ukBN`rkGK`Bjmof`vmLX>v9Ym< zv*WY2^_le9Ww%M=B-(HcPo&Mr&q!D?a$xjlCAu95o#W`QO~X!-*tzEp(+@)%Y z9dq0?u3n1ScL^K4TCf3euhvcXN8h>exp|LI7thq}+TWNqYu&C8E3<>AD{3YjdbX9jEFz|M?sVR<;3vMF zW;15`?%s7Qy%u&Md$#YpAW6wasj|y8-RKTGncW!-PH)pk)IaNL>!jVa+lBG@d+cB8 zUbaPw)syLyuJJ#B%3ms8n)E?7n=7PaUTY@U$2@jkJ=-3{d$+k#{H)nMuHQ}CMVpI~ zeVD`S`8(Zy6U+6EEYL6{Lc6GU?MCRFEV6h+`{q1;$LbEo7mVTJi(-{IyrxKJjobcp zt-Z9f#o^2knUO2kXSjRBd@*k8w*<#FhSW`+|u zNVQ!s`Lk-er%meZzR4}J?Me%u#RPXDfEAq$RK*RYq!8$UHY&nhL|lYBKnoH0ML;A% zxcjq>fFOZL{GYZw;?rOIAR!?5nIItl+D9FD|M3$B`~jnXeMd?``mM*^fs{MHwUJtY z9tg_iH4lL|H0xJtb_fWMsDJz+ipx{&15oy^iK42#s?=*PeJcyF?prH81F*A&^^Z{q zJkDG|)55@Bm)zOH+|rKAnU~^c4=$kn<1mDR{AU+?GhPZ+DOqwMD_a9{Ht=)sa|%9m za&mGW+qZ^X^1`CO4hR0@r7*U)x8{OCoSdA%PRw8{TO-H|PEJn9b0!EA6C==r(ay!v zUe}q?(vI?%i~M#SVFNpTTN7)06Dv#dAJ^5@vvRQKrJ(q6qyPN;GEW0%li%-TY4_`6 z0S^fIaR%}N{2cO6!|Y8A|BGQi&ipd$=X3pXJDwjGyggS@_Ta6!hB?^P#6(+YBQh2q1_H3o1GzZYSPNcr0?-r95G6wh*Vg4@~5zdtA9bLFV4tQ-t`BGf)OW?ofYz18lEO)?pWCTe&W zY-v4@1hz!7eAW-Lws~kRY18yRF#f%U`szja^=;Sf)xqt1UKjcZNtso0eH4&*MmiRF zevxKAYS9%D#Ew{vw}w$ugI1Htq0`bK)xy|uF{BD!s;&3NLl!{zw-=P%lP|_|wq6F| zEe;Yn!mqE_DUpUL`oe;L8Jfa?6yvG=NcWJ#x`Unv3yVvUl-DaArE+OWA9B5AqZE{{{YX_FJO;!Nq(4Py=LXBA|49c*iM zi$U7XPqf@lM(yW4QHG#fg(_$8Z`Ktr5o6RpC zHcE2w<-1&`jCWU7W1&La44FJL3h9v(y-)+z3NbV~I}on#)aac{%LjjJXM(;2I$!_Tea%<@NP zSC~JI9y+lec&hw;71HYP2IgGWNTB;)P*~?G$F=KO`f>QLp9d2%i(W0Ys;xgV>+<32 z*RR{i8WuSKM5yL;F{+}Id7%{OiLryQ@yYI4QT;C6u7IlR#Y%L=sItZe5*OKG+O4Kt zpNQMlX=WGcyC71R19zipj4sC+Aan+?ku<0N7+>k3i*u-uUSkl z>ghC7(SEm#UreMi?!6l8*67nbTG-thVB!%)HH+v%CI=m$Y(R_y=L;0;>7jfQ^hGrk zH>Xop&_|c=_8N`8r|LdDZ@#_a?>h&UG1Tq3?9gzRH@`X8Zq1T$Ze|pEZ_VRM5s=nr z`1umfk{^G{Vkzwlq+cRHAcGJr0$1i_# zg#Yn~{lE>bHiQ5qp*IvzK9;``f>B)Q9049LKCIZT>|IXdu7 z6XRI_8v7~-1oVZ|7BSIi&k$o>^L%N-*fq%L;;@gic%tFUJ>qqPr*A#@Z?BnofhD)U zy*V>;OX?dN8xtLt;crxQsN%ocF1L3(5cIw`$WY#^w~imY1~?dMxCA!{>~abLsktbx z0tzF{+{Y5pPdSAM(sJQR_JIFb(&P#-#H>w!DyOjEV7_!-ZN$~m7L37Af`CQvT)<NfKxcI}@`Iq@B#NC1{zU8T?8P=TI&W>!>dxJl2l3u!uknQX?B6|D`;RpOB$ z$xEb;)(k&SSfkc*E?fXCn31=)3^*wc>1tt?5DOwmg-JDGmyeI#!q515SBsl2^W5*< z(aCp(GevKAN_I9Jexrx-IBS*>ul15;9H@WGFK(*iYd_d`sW|8)e%LH_Xj8SuI&~2j zXVXbo4koG#-J*uypp8pzX+y4?F+c+sjkRApC7buF^Utl$0J%s5rs$N~>`^%h`iNim z`vU*A%v_ZfKNYkVzlc}AiU-Mz@lRP)Yl$!-eyVzS;Y)0(D(Ca8r%|1` zA&s=vWIg{RmfjT2Hvk%=LZ{Lp*~T{3Z%sk8xdp3h2JE1R!?uU9+PId^p3ruJV?D*Y zA_*Fn$CnY+k&|HEiiXcR{JMt|QfXN}YXqh*D0wM@KZMDiXRIPe#$`-0rnJSq<;L1p zWxG{aO;l&Pw4E+Nfow`k*DPfJ2%hL7pFT;hI}%=y7+Bn8tFi^(sySSB>6VX z_N+Xv;xz=tohD6a3)||tA3=Fbo1kGiRWSHY(J0?X%Du|3bEC_*&AM&AE4A$}{u(UT zm5?`^?r|00c5nF|4dKxjR^U?O&^K&k#jl46Varuk6zzE9@C}&x9tFwFI%nB4>Bo&< z+}xba)qiGwSL#Rz%G^6tX)LZ?CEAHL`f}*FmguyZaFLo(J?CEU9z(%jv#oP`8J*PK z$E+8tQg*=bHpvafoT&65IVOJ-~mSQUsx`5D~JD#(u)_Hrg=OK7v zQk(NH3_AGkb~bb3Ej=|g^%2I|pKP>nRG>%7u7vtR{#jl!>uRN~3n6Zkv~xi@u?`9k zMp87b&;!pj1GS?~m+NVCn^t0#06xUKXtFW%~c#tdnu-e4A)@R0Xs*lJn+9TN< z@PM>Rs+37;F#dGW;Gy!Vvneb7M)MF@6KR)CV|ye20(9eI9HY7Th}|`u3|`+g2cOgr z`8!ILMb;z(Q89;oi}CC)r`xOFYpNhlde%R4 zhyzU9-w(o`GPj|fI4nlkf55bE=k$J{t$@y630^=ate#m6rruT*+Y6qkb<(=I0t^t*r%(P&5o zi>8_bE;Z?&{&erHXdzv@%7`CNr_3$JN%khD$J@24wx;uB)Plpq(nAV1% zpLJ<$V;&cTW+Ve)RQ0SdDLu@;V0@W3od~5TMIkJK|HS>44hjd2cAem!HU(^DPDZ}@ z7D2e){Vr)MvY7Bf`;(?jlU0U|)pd2ujp1$oxT%%lf+hY%ecbge?QK#muMqm*0GPMH z%(%cB;qnA)#OToDitEFkE!M`-GW7N>z9UTSS!b+;w+ifW&?u&Amn=ru<%-&yBE~WB zR^ZJMoBjGg0f$qv5wYR8V$?UD;iz%w>O@{cF16%35W=anVJ!8z3c&zymu6ffEb0c_ z9&AG^shffQw5=Sv($=rKw^iIcw#CqVz8IJhaACim>L+10gZqi>7J zs;rwPs@d&yLJXD%Bb{eW94!N7pnp*-on5OezB<_wgYg^%C8-q$7)43T2{v{KxseOz zm55K7mt*Bp8z0xr^Sq0N*}y+(C?^{c9to|V6BCRcXY$%DS<&uK)=nFh9n>6TMFoos zU$RD3)1hvt!F-uV=S!DPYF!ExzjSd~X|3TT(~tHWZSb3bg5$>{*Q6LzBWj*&8^!3} ztKIaR2wqdf4hBUY1N>8o?xv7>Gf%jU6_Qnoh*Li{&c{#cmf{)aCBF58hKhi0rE5H9ourveTSGxRzu4U{!G>Lya52Jm(M{3BkDc5bo`&0>bo6n z8OFe+#Ve6yEMLh`-?BGdC^Ji#G+nF?_b|N;J>c^oXsJE&7OCav?3vnEX|G-HBVLPW zIJ|?MonR{wXBcNv!EhBw*7=RUC^&G&br?nrxd^YmSX@}dwz^J{1MeO=+v+M=YL0xh zY?#L6Cs%UoX>pc)t4#aso;4!V@{>|Ejd6G0F7K-)90zC4h_@!BU{l*|&HF~R47P?R z6TV$Gg_UD@c@R5!v&AjHew)GQu1^?ky-J12`LNP$6otzDRWtgF65p=n8K=2S01PKM z$C7HN`C*8bwIsCD!N}Ze7$78{@oFQEI0vJPU)UTCNnh(?dz>#$*2EN!@yg&F@Ih)7 zEPB9_5$pShSena=TdIXq$^OAAtn@md0he5m4&uynJgn2D$@3@qnk7pVypUvt)3L8x z)XUd!QZR%F1^fip6b5k z-mE3p){1^vcnVJbTUvmCdX6^I_&%w(so%F%WZ~^ny!>pv!wgI~Y#L`$zDLeF~zI z2M!epYT86(E4Kr+>9u(MWnlzsgoU;kAN?@=dwq?xk5-9fqIwo>4hC_*)HnO-Nf)`#R-i*Toft%UBu_ToY z7$lD0b?rx$R0f-_cJs&QR$IX^RG5319Q|H9C=>*;FK#?lZ)~cA8W(`ik1nqpXx=&I zJHq$b@s=+VDtmUj+WXe1tTct4EH=M{`Nr^DzZ$b)$F^tFB$GWj>C%{Gr##m{ZLpCW zuFm!Q60RQ5mAkr`jDNu!%C7yckyOK}M!RgUzVQTV(|F4ag3AUrn|z*u_MA}M_8SrI zt1lN7&W>YTH6IU2er!f;A^Unzjvl@iU$bb_9gf7I^X`QP>(#ac-cq%a1z=xg|9$)7 z<<9334<@6FHSd1SpiSqAA>RGkJn15D?19Y4@%V%m`)H|S?$W*89ETo<1I5tC)sUE7@rY2#mH{hY#t+YZN>EqcwYT7y|NV)l(IIxpG zCC%ua8|=97)9eC7i9G-P=;qold(_M@o^pE)JML%JO5Ag`-pdJVR*CyjntnxUX8?~; zI%ae8t%=Mq^eFs6g8~2NZc?jb_g-fZ?``0wegss|LB5ViSZ6Alct|xRk&aXRZ2^iFyD{2Cd*Z1JWXiV61n2=}370 zB;}j1NHfh{L!s{z{*`tYdC@`9mGi`wV7;S)Ss(%v-L=r}_o>b}?_}R>=%fREtL30) z2V2@Mgkgx$H*etl7jH=K!9q=uO31L>I9qgA8PLqLxUDVKOXWXxLeEp+O=NF&C z`jv1(Swd{Qj}|MFYriME8tXk9m6K)h02?w1femSiL28^RC(osMqb4$)12$>-R_N{4 zPO4n0SRq$!TQ^6Omzu`CmM8Olb9f6Y=r!|gDSW@d@o?it7br= zuRJJXzc6NO7;X0gdzt0j`&p81zlg1NzlbG3W$4#g@<7Bph&^Ju;`908RY+FdC~xZq zF9N%iEL~^zaiv}RY#91x145hzkD7DbSxIZOx6hO`fglvMXbX?hJUshe$)lCjbqAY6 z;C4mMcDk^>~gZovSc5C@p6&Qo0*3^{t7x8|Cg!SAV4 zf55x$BKQ3jLZgIKD`gnx+T(QVSUQK@_DOO66LVUiM14qnxL~dMW;IjUxra~Fyn4oQ zm-7+t*(d!C)_UdISi~{QEz@X)XecB zHY1|(bW(Ef@cgTR`uRdUkk#>NdEA^RjoZpxk1SOh!!=*?0lD}_jDASz*zD>G-??By zc^{ibowl3YO~c~|KcC%_Htaft_=-#^UgsmOE$-c#^xXgqj_yj0&t%-M#^hvNsSW@K z)RX#LUt1_HaQ#}-^R3iPJH+Fix6ux5LpVHQsY!*;s`eGkMRM*s0TDj$cR@v_dT@T! zNoGk+_Q58e|MAjR$z*4bzyXTFL~yfhJM8gy^YXs3#jG6=$zIx;hujU%{ch(a=mu2u zUQu)dGtD-EN8pEMgZ7^F{c7oZm<02z%Uizus7qE>`(--Uq>9U1A1Wu`-LZeV@8|vf z?*uh6A}i(4)$ zNYLDIj5;@OWpJe=iQLd4mzD#aigOM;{$oQEen;AJ4_00vo65JE1ND;I>Odifi!&c4l;>Gv-=I5 zhE=132tFTu{dSq8NFQ|cP(hlr1GPNIz4AbR*VKh_#xHKgJV>{yEv;d+*JURH*3}?Y z_(e;uJf(6M;Kmh3)7D@BJEI~uS1{my?zZ4h88Xlm(3yyw5+#(AV`XCO;p(10v5n8l z-JHg!n3uB>C||2Cnv>SVD=T+*qg}B%ueEVZu0up9iRGNv7p8IAI3h2p$Dy4TGd0EL{Z5r*voh;)xln%bmuH=5Fg@mRyS+_a{~bhpEk-aVPkCq21ZWeWLji?n;J$9tQ1 zaCl_p$OM#5=R9r$;!Kj)aJ&AhU@0mO<_QbOlnoIRt-jW*v+Pt1XR(KCepQl`Q@tq@ z;N?&NMb_4QV^4G){wCs3DQzvni^_cRi7{ndZw)g|LA6jIa(e#}V@f_ssM3h}H493A zXkaP8rRn(uuDA~Ou}_Tu-M5APEUE=(dbFbWIS2L{SbW<@M4UN0c^n13j78 z7Nc0RO(%RazP5}-hdbR zm5L-?CTIQ%)IR#fT4-EHF^qV%lMI5bR+}C*nVaLclvQWio%OAs zdrwoYe4+Anp;%%Z)m{6O9W1S58FYJ7$NZ3Z{+h2-042XNvHwC7qV*vl0RT0J80)Vq zxqsnmB+=I=&Q6ybg?S?~TFGK|YS)s+uEcG5#kt|!eICS78kV&Im#gw3eVR^=n)!{x zx%V&OMTdUkDmrcsB7L97$)*qdd^R-ZuQwrHm8xZVs{o%As+Cg*0wWls&%?qh|?*)3lttTjjHw++Jw-2$x^rv&YM-w96-a zZd}33TA#_fly`(G)E8HAm|V#W&uf&p`^U*Vtnusc4O-nVykAx(NE?HshUw!peu4x- za#PN|fK#2%WJMtMg(Ta?n)E$V`AWvz-`D>DMzU!|&-3B#W5s0~Jg7(rbZy4j{PR+nA;aKRo(GY=5K%`OE~cr+4>^sNA| zC`WQAgm;k|3TeK!{mdIAkW!7?a;0EJ;8=w7DCZ)kOBH?YtWYn3{N!66) zaL3VLy4V&Wn^wzHpe zJKIQRKuHQNBrOm%y;&{baK5b=mQDw%DeS6b0f0%6An(J0jjhOasQb25BK%*K%svk< z_>s-7WQd$(+dt20nJj<(1PwOQR`!i{R5LH_@Q>E^pBWJ%6z5fCVO7D=kvuEC zgH-rRfLHdjbEDmfz--R(J{->nOO*Gs!1_s9FH=t#^gc9|K|d;xenc?h^U9o(J87HC zT4FZ;_UcN}mYB;vCs`dbgaA5wt1qm4QWs@_wEs(Y4EP(Tsa2ceakNIlYANf34F$O{sVJBgMrV)dCP{ zIe}}{)3z8=EQ7*73!f+b*>R?Mr11}tQ2zSdhWA@=!F?$qe7_g$Q>2lTTviDi-}d|{ zZ`t*}@Jn)Nf?sZp=d#!QO>Sc}?+Mond7Hjs|CXYpfF9HUOs4&T>+$*^%bOMiEgl`y z+)U^L#EidjaVxk2h>e;_`}ck)>9A<`cdF+$sWmKX7VcdF&GjEFympzvn3|D=GsF7* z-|q9<1_Skv0+xt3J|OKBfQGM>Z~A)o_a5p2Eyc}niM{4qzJqYa;n&PqKXy@M#al|a zU9H07$K^4@F#lYML_i%06xdC~2Z}!^#D6#?a7JD7T`y1$;6P8p8SkKAZ#Q{T{4F_H z*G0~IG(aDTe$Yp7`{vFcguUK`{7Cf;;^K-rKoDi^5>rw9@$3&%@g#kfVv5)(lgwAK zo))-SjCj`4aG&W9Q}|=S^tbki@SBFX0$t4C<@eVR_Omv{D1mVI_z{U}#@&DIC`*ip zH(<7eV)nZU{MCqmO!N`;dn9NeHp39oA0F`U9dm*KuTy#8&HAs;AQ1RN2khSbs3v%n z#3HwJEPtwKp?;#<sI`3DZi=UpHO1T3fh}{&>ox@xXAx19{(qR6fs%9|MUHS zn@9x@up}Dp{-4PIU5c1MH~pM1_kP#?KTYbFnF3Qwc|Ut76omZm&!7i5YEmIAwtv*6 z{~TnL0hB6=OpglnUzO^<5YUal^dCwpe^eP`mmeE{uJ2O{{=4oG0NuJ|y|MmX8a)pI zom%lDK>PPqZoiKTPN}Z0et3&F^Jb0a-oLxsf7)a97jpT>jw+DnJW^c`!QXttADO~( z|6rf$Nq{qATTLjB!4 z?gJdQ2!#J9aQ5#G?w`zXh8AHaK+C;1l`3}{eL+xbe443jWdz~MO=C51he@WpR`$2dEGYwCGY#5*j zR<*5*t{JXk{6vO%ax~nr{N&t(-8RW2RdGleVGGV24%Q5s0fv#XZ54S0U4ey`jDih& z(ml^Zf1Hi;eogXuPHvi7+5NFefD5 z)E>H2l{|jjBS(>kp^lCOHq2B)ScvnX9mP*LHEsf0ka*}og6gg1=ICS>QYONM36TX--XblMxeQ`%F?@Sf1O6iRh4{$>0i$6u zF+!qKx8k{c?%ALU!3!g3K^bvaph`#nn=^}8RivrT@b>SoXc74u=(O)nVk%RDuGwh;%;Q#eT3>L1dy4$}#d}K?zUsk(9BF z=MvAz$Cr51#Cg(0OFmzVw5Ac_gMxmAw<*N9KuSc6js6ly+Ks6YZ#^yzjK6m*E^=Nj zJ>6yg`qG{uP7utHiAwu`M!8xJX|U8-v^I#7Ok#tbMjiO4)475s--qK_=3H0^14;Q> z4b*$1ZP>>l<}N9YbiC~cLl_|Mp!9_4mklvDaf}95XqtT9pEZ4R3+nMO3STn_64@Hk zzIv8!wda_8Edow65!(&NV=rSg|CmoJ^vLNT4!n#;_CR!AME}^#iFmYhUu|0K*;?xB z&Y*8IxT#UNV(k~?t+J()xK2oFCLe;IKcl`ifA#%WI?EFQuy7OsFLc!R0uYKfHxb$| zcU!Zk^qb`2gVLc7*o7P!(r5=OPPD=a(p}@P(}R2XpN8ZROLPxzcbkjPP?Q zrD=X<9+CB2qTNSZip-FHK#ruyk0biUU_6^)KKruODuEKiM`DI@eH%uxVDJ4WT-NL& zVsaOfFgc!Hf!?U?6m{-ai5M1$2XnUkA}S|Y!F3-;n!4PQ)#*sdb)V&uX~mEj+D^)K z$M=aDD1HNtpv`w}(6WWhAUPm_t1VuBVa%Ldq4lvst00CKw?3NH0H4q ztDjomDwY$Qs^S%jYZ)T6D}VFpl6Cu1@O|)?oJkeE z@t|OP-1)ZrMWwLB$sPHAlqm}>D&@MU6z6JQuG_^8^+&q}XMyV6Xy{9aKc2*-R7#!b;beXL^j+)XtRie2vhK47Kl zvFC){(INZNQ`+kL5W{9e$q5alXc#$lv@YEixZ@@LL&-4Tgb6hHZ|hU_GqfI`0*xm> z)l+o@n`3A!Zgz)tXfcHUo=uGaL%hQM#>9*CvIhpMbZ20`2 zD;89>CkiMN=~BLy=;kNJJ^eM(q#yu93r33<9iVC$4@=RV*5(7VFc^7e3zey?nLI%zp6u2E z=^z!U9HpuRoI-anC;&tB*Q|Qr4nRoF-nobN1c>M?QSWcHTZ(l-Y=LX{2PAE>pFB#_ zAH+O(vn9;&@p3k~oJi$st1DKWa?+NTkhbCmZ#E)V)ET>51&J@)n_>-y;)}7?^SB^~%3lV%@UOF7 zNTyIcclkaMQu2UiCCHnZ1NB#BB98&shA%lO0D%TrN`c3akbuM@3j0D9e0o~PaP4y@+S)b*h`s!%ig$&BE;)G#lTWO=s*Vgom`XB1_aHb(T=Oyn0&RsyX=&P>3G8oxv> zuxAuJaDQhH?-;IRFzxjijf_rvmK789NXuEfr}D{D-5gAh=^Q_q{D}L40_2EvPk0Hr zPWDagW%bfYOYdD^%G13Vq$`TU6Mc4fglLX3K{&3xjWAH=7xg>#8Hf)(tGP;_ zcS?ZFytxmRMdi>T;#Pf{!XCvA1ql50&Y%7*m?_{1V&jNk+PW&s(q)h}t}ZSpz5G@3r=P3nfR@vgbhzFFO!C zLTqh&&dOSC0|(H17)_t5$*CdjV*5af z+crAmr#fo#5|-5jj@v((`$*C14`qLN!?NZ2G*hR0fLt?k(Bd%q;A6|Ot`T>uXv}A3 z?EZQ3Uny$OR%GBqaHYxSE&aSSGl`P8I=F5_*ohyt75S^kzEdMl7Y7shWh7GtWXx#6 zKqT2GGEiJMtYRR>D*O^-siz-nuvZC^^aSYz9abfzseNP&{9+a+3kH;&;CnX&BS|5LB>la;iD9!VGJaE^avGE36)~JsyTN zZ&tR?Ioq)?)}CKiY<`m*IvzfGc;mn_cQvm-bg?XXe9BEWI6mhtW7p3{$@qLOq2iRN zClCKsZ;boJ3OkX_l+f{}+1>`<>dldPMZ4b7;QLIF?d8~Iwd3aPA$=cr=#Y-)24r+@ zi0ovV`1mk?Z{YCGqf{8*ZQSg;TYYuu9Xm2x;+qAd*JdZbwbhb{B-L8iA^t(21 zzQh*_(vsDKq@D|oH&>{84BzoO*{j*I;aY3mTCaF`ntIShmW<7{_;~WIx6=AGGxnI< z+hT+Mqaoeuf!waWVVi=ZGX+?~%lbVhCL7Phz}tt%B*~rEd{H#X=D1u7IlRW@!77p` zwW=N~l}^KB8bu;EpqO}|Hp<0ye8cw>fnPPq70B*`g*i&54xF$FL{D$(95By}j;ebenVQa9pQr zz|{LRt0^zX^>)W7fAP?n#koGUow-VE*5ip3^U3E)G2mn8LwD^h3u-5s>{rFFa*-~V zkB8{@22ShA#DLG!;?G#G*qBy1cWv)ok-GX;&B9;BnRJ?Ld|o=u$c)x}-+9dzwd=NT z!nJWszaAmeoUs%#9qDLHoN-eQCgXOVvoP+FQpw)P-V>AIKO)-kSXVoqMM)l@ULz6p z9#fOsIxH@%CX+bhOF2H%zhUJ%(aF5QvDr9FO_w=WQ5TqV9uU}UK2~NaVhYiATcwM$ zANr`!tXZMs99y_y#9Dui?+_HY)Zhm1sIHi%<6if=7!Y#GC}h)#poy_Yf|@U5RGfKc z=Pk_*?64SJJ z=_Je=g!*_Gpg_K>1~peO*eD6`47KNQ>SlvmE)gfYc83067?;; zlfQC|`-h7dlNb*W+VrcSbVfeeA|WdFB58d7!%OH%q#d$rsorVx6Db&?5cpz-8-5!Y z8k_-S{a!T5h5S-%`4@d@g5F$k$L}PpVnYviL*s<*HP)fdyV}Tk77!sOKt{igi1BH= zO}EnjNI{MifbwwziqA}jMP8g5^L z3gG7p7RCOrZk|Dl)a5$!xWArkSWav^BXF&)s6l~I=a6Bic|6MGfJcKN)*)(RLtd$O zb&=Bw<1E>)pVPpD=&FnCIMgF4`qXW>5NAtm(vOVigEDaqo)qWBTb7v$g~2yU+oTN> zo9cT$(X$dK$?m60an6e$jgxuVvegWer2BSvC42H6dO|PPq)o?8nc90Q-&SXf0Uvv| z-+*ilu^$A0qocn)v_;E z)qT*qn#4#f)hzxSkwR+t>QuUeTpY%NQF2|gx}$*%>k-teAWys1pi0eXfC)@PJLPo* z6QN9osxf}DMc=7v6RlXMI0{!k5$RwPxTS)2o8>j{byrM}JAu#ljlDK#usgev*~CG8MmdoNt;lAp{?#;h=^Mld-z zCaPS$k%N%*-pc?YFJhQR4n_hbnB+Cy0C5j-Bd}l0o)QWE4iS(&132l;zhuQvlI2w0 zB{#+oiOBDh1RB1-<0tV0Jc@O_p!k)5323#8Ik}_AP`!fMn^b<`kxsf^yZ6OtQxDiQ zUY%{TL{~A6n7x%L8N%h-_4?EF@xfZH5v$M^504*|V_n0_<5h7JJjuP}DLwEF7!QYr zVNIei-dmc+gE3?1S!3wNNi|;z@Bw$k9)@oXh(4`J#dkSJ~6s_!gZ>x%yQ^vt_z-eHs`kYP~ElEMd9LwkW*&l_;lnc z&pckEeGlT5xzu{2^FcBbUWSK7cAHPdD;e=*!scW4&wmmn;gxdhH6ct zo62h5r*PQ~;VGBz1~{46X+LKz&FeQVQJcG+z4>%G1vBU4(>4(Qii!- z4R4-ptqzVp4`*By*sfgc$i5@&`l+xO!r|0k%&0nE%MkJbV3)G~`ZCwO;vcj&mYWp5 zpr*Wv^8h_5PmE}MQXj#aGh+CGbBpT?B?`d2;xUifwLj-5ziP3%Jq5%Iv&NQmDxeUZ?RcFE(rzHND;ZL~>S zFL+cWPUW%JHXL01-QuB(b`2lUBljzS6EBLN0YnI=Yt984cb*<74 z5ttAh*-fei+s|wBm)CVY;W!LKD_bN~Wzz+gi7ac@Vr{R9Q|qYHCq8VN3!Q5XZ)!M( zPblddtFLXWFwpL|%=)SljTC+&IGQ$$_wXjHNCRI3RNNNAKRD!G0H&?K+o>(<1e?HJ zs&AUsu1)TlOxzB&+7IzofV)K-O(jm+$Xq`bTQ(f;*tX=f+7W+_-e*nU6`IRJ+`N+> z*<;!58#TTDfFUXDFz=#p5n7$J{2hM@=cKUVf-pbrs-V8(lQU$3lTfC2txxp!pjbau z;Ut&j*);zbf2QM#-R03)7PbHS)hSKlKD{)Zgxb zGZswWyF>NWATvP8`1<709QC8@s~XB?uR_F2Yd|foF?Sh(D#;BLEx`eR8q?=9<`1yq zSD%ASftRJvlZYjOCoi2utn-%?b7ZScVBpc|Ihu)|GF|%CJyF|rqWgB|ye5PLym)qd zsJk5ssvH;d|6vEVgJOP8ey0mBR*tn;8prMM$pyzGgCE)^ac(tkXXSCm;59}9)a$#+ zYoFZmMl8vIO|!n<>LV7(e((mc?a+{_JI2o;#kT)xenZoykB7v(a{tD5f4$R0)eW0` zP;^sbH!1r}3VC$!+t2-Qk5~Yc8ZBu?4|#zNliWQM9d9sI+?rb2ysr1Qj%AtdwB$4v z@7kjm501WHa|;%8UisRbwZ0F>zCN;S3{D{lsgKEwHRw6xOB2Gk^N4HaAxv=Z;6)iO|v$6bM@lX7?f*cCCsZD9QDPR!C+`DFKPxl2#s&u84H;-hGV0RyT& z;C@jEr4QJ_yTKAa4A^6`IoiH~$s#bHHR)`$OupsW>pDI6l(kDco$SuiEFkP~#yjpi z$;sSNTJa7LFx0dH&bH~svYk1;9Vr_X7jXC)3l7QFS3{BCO+F2DIecMv5?35gZ5fjA z6iuNeJwiuW9&8W{2*W3r&G(FbJp3dY;VI#XRoV>S>S54$u2vR__}7)9`Y|dr?JAH{ zWZlyW&3_|>J@9aOsMJE5gc=Mem}eXhS9os$Pv=OcrQg~G;}s%%*TOR6RITf>rHf zZ=&N4X3h46Px<^M?_E0K!gO)Pm0q}{csk})rcNu$JNzN_!l!c%AU;C0OcQ}V4gc^yhb9E#D@dVw=}#AEcr{K9Dh6$kc%@uad=r3f+& z;uj@5f07!81sR4zl2mG4z4SQ=8+xu!VTCNKRvzs%HqEJ+2gaGZ9~i^uz$Xs8UkxET zS|1u}7W-;d7iZ`xTl5GejqbPoBKtNt`EHbn!@(bK`bEWu3!QSYd)TGo%JCRYu%!(b z-jJ72`(7BYCajSFhvhsGC$z61G5aRMzPf~j^8R;tf+FD^(Rpa5|JgtFr3VxaPQ=`GwE(Q}`KA4_R* z8bX<0r%UFI{Q%DT6WgF2F#lqi`}Ppi`o7yv=IT(!nR`NopnTt_GI{-#{98CI&u&1sBYx^ zFZsUKvbPO=iY4lGhad;S(elS*$}Y)$`!}1O`xP|kZ`H-5>t+)p+{rjKeCi+%ZS-Fs z%x`BV_+Mr1kezJCF5Eqk0V7P;oEi2g(rRaipzX zwR+|OckavFWf&@}h0dJK{3cKZF`Gm8m{11Ri)NJUc1Q7kTh!s@!yN9Ua;pbViC)NvnzyyoI4I(n|A$9{^-@F7Zgv z07@1pWLl!&8!mf;ye+%~*iLdLKIPE<@vVJjoZ)kDE^7==9u2pTGViZ={R0Y;(G5cCij0`!2bNtPHsv_=I;Rbzsd)m;kcM^hr8JaxT0csx@k=Y!w z?s?3o+BMINz{V{_rh0lKuO}qHh&fG(aMNAruay9Q`X-=tQdCL+IF@lNC<87#w0qT; zLg)IhG!_kiEbd2leBy(d@5hscK4(y~?-(%q=6mn`rmS!Ay1C+5W7aIF3n70840?Ez zw51!P!bn3C*k*voWV^`lJKfLJNLm)xn0%MsGo!z`@u01&gH0!&{Il!ObJd_nMO5N_7DAXoj ztvoh4+qxqa?M+#gip{jzsy!Y%~nG9?T!m=vGgFL=ubRFQl*=0m6@n$ zIeRTTqrojFT8JwT%Rx*O5G)PnfCZ>2Q9t&TX%he9(;F{DvhyBI^b;g=ALmfnXhR?8 z<-6KCyM0Up9e5oPDn3OA_0N2w)jR#&jc?QS2L02tObFb#1cO^Ex}sjwE4Wf~fh)4S z*DM`O>xERTtIS+Vo)9j$d3uuycL!?3IIhy=&*uX!@Y}a^IZH-}cs|~w=wumdh2RRi zJP#gp(`3~q;$MNYY%G{O4-MLqBSZlH!9MYY?5Lx`XIJ%=l%T8W&3hd}G5MU70wXZn zL@GM3T%iGv>!82%t#b7*@MSEex&M77CtlOm9BKNxtEsZLqemMiiLcR)_y1ok=Rd6~ zokvCA#OO7Kpmw#yqc&df!LLA)Gu86O6y@k+J1R#1zboHr_NXUbA<1skq+(jZYue_A*r?Ce%WNDV^MR<)rrTjr@y%r1 z;9De}Uyo)7Mtdt#n^`x?&vKHyZz4b(!G@9)<#@s3VraVL#K8m;LolduTA=lWwYD5g z{oMy|9HmDyFo7Um5fEmd`|M{Jh)Az#kOJy$7M-yI*j_92kL(0KkSF^$Jx(O8VGq1;n9qwLzFyS;NCnYlkrpu zZ=uNeq7riHOLpvw+bny6g%DsMuZGOHBh$|+ryeR3Gd(1|3(@!* zz-9uN@Ko)Ff87j6pCMI;gh}r&2ouG6W*?9qs*ZUZ`yV01k@~35^wTq0pIzbseetu* zpy?fCpvwtjimkx)?kTCs%dEb1@kN=F7?uIjYc}`kHB!#(iQpo1Xl|`92XF@me(S$L zT#fsFl6Nk$=Xb9MA-P<}z+b&P}JzJs;o^ zg~P2MB9eSdNoYL7ZEj^KepG@X#MvQO^ADypKwXb*sRIPpHCv>oi&ewO5FUmhO25H( z;dXg}@@gpgm#6+zJQc3|4*>y9Vg-%)YsMNa`iuVTDqMrtUorc=y*z?{h0>gvfkOIx zenjE~jH7^e2#|>ArIx2}g0ae?tmX+SzO^ z6Eq@JkCW0f+TW%U(n^tuqRD>&Nue zh!qb36E>aL(Ee)#!_9@oWw++qt2p~L8WC%f*_Nm(X9hiMtitX0iAQMKk2IJB8|^D) z2oRInT_Zjb_UQFx&rze9ys`f91N9XWW-hfgd1$2I)RS=8lj!0Ao)R?OKMrcy5do^n zdBn>Si2NoByxdAUamlz#OJI9t;cXWBAF^mDPI4RX*CJ!NWAiCHfJvLJ6N8Bue`hd3 zS4tbmAk^Y;A4e1W+o1h_Iga+=Nd$C>>l0fGB2;I4`SJio=M&ApO>JDoFj2T`ViP0n z-(^fbAp`n1JSYN6unfwl$ z5j*}bhRrlPXl}X$16_YpA)`moZp(+`3Upgr%ZGfBhghHDJ8dRYv#KX#CK!l{71lmEsM|!SxhjdbV>2ya`2y&>t)JeX214rn7pt-6m-bBW zjyuyt$geTZ<4r!PIHvH9Zr~M4hD)*d$+2!wul838jn=s*&hLk0fR|a#I)g!;2i1@_ z&VV|(<#c{JhiExcWxZ-Np`4lJ1YzLZubcNS>yrf`#}^4g6G_^x`ei%IjH?Y}^UiI! zYmCA4T`3~%K77(iS8)l^cgJP+g!&-t!9n%Y6uYQt%AFG=CQ^3>(@=o&feg0k&Zj7ce(^!JB zB+Iq;G0%*@#hum%8V|2lcX2i&MZG$L3B-8st`LuTEP26ah~|~E)@Nt@(egtOxtdf81POZ)zI%#Vp#jeFjuUqb-S4ImywAu8*J zIjhA@!i-W+uL+>R$PbT(Z0_)Xv145bX}Gy@&uM%^mK3oex5#z1HcGp_D%BvqUO9jK zWZ%6D$9Ccke0s?p0g$GTw4AnM0tnmM`r>$qVd2vC(uo3)2y_Q>&FaI?BhJ(B^i96{ zaLr}g4_$rMJ*S-7e)2nK`T^U*9g1%E6=Rs*x^osCkZ)UG3L(FLLSr%XmrPXpQQJHp zQaCi$ymBP8Gg&l>Ty#utEDdg;dyhSHEmnxeMTH^ulGD0O*DO8$0g(n~;n%$}3xJ(X zS?s9EMD}chyF26W5c&(^zVS`;E5;LNyj`uw|f%-N)CaF=3(( zv-uM#)GW&C4&7pdV|4<7koTa?lv)d()~y@hXx*$+ng$O^HoK~*dppaUGJP;B>cg;V zbIJ<+(u&i8!q6toXM&^`gHC?2Kqe)qV$Q6;EMQW@Jp_F0zB$rG&S`L^={i4O2GQ^| z9$+_+w439E@pzP7<+>@nyUdtX8;3IfE4I&^@j`D78rx46tP^sKW%Bc3rHOujuTqST zn_qtS(-J7XZSxcUjh09}&=0(wNm$nIxBdA@r*E{-S)ZrkOd3MRS=Cf}Bmk5$?3Fm7 ztWJrFhZ-1mH+l1&P(h;VmWGP?w;=J1>z5$W`?Z@aAqIuBD9F+ExN`AYc(?BS!pHld z)FfdK8p+|g-802Ky;Uk-xYUD&=0^F1Iq;5Z$`f{ zwIYoUspL}gBT}3MIrN&AioIkn5g@^Xg9-8hjq8~+{a^YXF37nHYn<& zSpVF`V&@icDC*=j#LlbT=zzWdEA3zvG%;oxFY>V<-lEEXVN=s(@8EM%dbEbC5Vhh+ z^bIW?R({QiEEC8UBufC1B#JXiMKDg9uS|DGZj1!%1Xc5ssV*#zr(3Ze%NcS9u1jxj znAX|Y@6&?|DsL%*F^p<`2%Vx18lZ6kXw1)B-I`Nk-tsAKdXz%91wKR_AJS{NTfT>- zqGh3Cw=|+~mzMZBfv}f~&t{n2XJjXrD%?&0v5yxk!J&iKD1+Hvp|>M21vqR(opw8n zI+>Sy=cBVg5Qe2`VKM%3-o>s(T}WoEv#5&cxxO*qxO*7Qpb^paTEJNwBQ3_D?O|bX ze(KaG!cU)%Gb+bR7z$143rQN+RuI!Ef%EMc)p=KV<`X~UGdEt7nWlF_^9%LCoQOc^ z1xbR{oY#3N#c=C;XHu33S)wmo_Ni|Fc$CC>Jtu%;mnSG^$lf7QYo^`nM=teI$7Z1h z>q&`@2_h=ij^Pdz0Fuo(dmC>3&A_kCDjHo#9?Zai7Q?k?CiDx|uD-mn@G z0f>eCEvNt}NoRDAJILH=i2VkRHKQH|I=5eD{$W@f_WJA^k+~X}&$=s~0qa#Elq7wm zuZW=H!)(n{np$Hm^^SGbj$lV`Fa_whhsKT-cUyI!-$EI^s`d3C!>Fw>jBDL72Ujqj zVoE&BIN{++8 z+p=_h#ux^qaqiK?1D}vM&?6amlk@Nphx{P-X&bTEB+bbx<*My6`!Qqt^KjDI9pVJc z8QsS4ZSQy@Vf|@>0o^G9{&P=ZAmSid132a*t#vPM_i7-HVD&aJ|&%izB`jv+O>b5HjL~W#=Nd z44CLc$5}{eNn@ZJiL6>(50#9IMP>0mAufX>cv~}8auH4*`KlolgDu?wf6lv5!7Pu<_Ox>l%WU@ zU-5pmpaEZNRd*!$&Q<#xUD;{028p8*S=2lG6{F56Vb;H1jCyZJMahsf0d!SK{3qC zYTKt_uw0>9kP%X!VK9R_y`5cl#Wfl@I`q{9j>U4(?UoyP`kKO7rhmuYyv~Aa@NR=B z(HuP7shRy_VeIkAq5G9c{88Z9I$Sn|~ zUohvr2rF|O_!5dCR35Hyr35Ln17wd|Plm|jTE%CWBXJs1Y!3FzE zBm)!eHX5S|hP5_}b@MK>{I+8V(N*F*w7KY}5(Mx-ME>WSz?ZA{bpB(V5ZwB%oC!Lr zrqaObJ*Ss2Y@8RQ064t`2HC^k8*$^%?H@%{-Y{S{%a?el46+O0Pn>X36)Q>|HPJ=^ z4sl!HjaVbh&rrQlmMYU^24G=%29dNO!0Rv~{v(;+;?T~_y*Pwac^Co?yx={fI)5N8 z%b4k&CdCW!7UaI=2m-C5=660`SRV^CT4<1etfSF+TaU_r@?4pjJ0gIc|^UbS;y5^jkS;*Eqr|we^~b8mhoKb`OTypTSZgNeLvZIn0I@U437@~*AL3pf)3#l244HUw7doUDZxb9FrVi?1 z?7sFypX_Kq3j(tY*$Ed8yG`-U4rk)!3x@n8l~d5rwq}OCGr+ap^;B^;I1hq5NSX}X z#JTGH;rJ%OZh`q`iq9uO;4M`pg#^1mCo9$ug6Gdqs$CAYA;Ob(MAp5YWvd4S*P8a% z`DMGo@k46k6E-2WjzLfIQ_Y7Fzju%m(u2bfuQwYAcw8O4ISUIT0Ap4qna4oc+(eaXutdb+WyZ`O;d^qM-cl$YiXwRVNYd98Sp>GJzdD}f;lH!w-w zOAhe!D^)GCPfsUFqxH9Nn|K0=ufC$^4@QiS|KJcF2>+2o*zVr#ZxR3gM+T2L;0PlP z#`kQ1(P2dJaOL17SuwyH@@wsd@S$<961Ha}g(T1A#***)CDrp|?lO`9z7YO|=%T4h zLfJASD|wcumZt zf8X$I7tbb&UL<+ z3u)GN%OOv5A;Voi8jO<1>%P*kvkQPm3C7&>V&3b$x1a|iZo->mATq^X2iv^X{?Z-R zX)VlxnBD0!%tW_B7B{O+AV`es7M{VYbd_^Lj=05D>H>tmUb$6~^ETO@`6LnP1tid~d(vH_$bUcM^E+!!(i7`vFxpI0@iw60=X;^;dgX6a($9(!@ zb+f$n+9RpX6$tBfFUM&(sg>ka(G8*^OH@QEsJ)sVFU+eAi^~{zY`dWG5tU>emC8kR zQ~G+$h~9dkq0)G04{_OWDD$h~*5&$_dqQ~5Ak(+#j$#F=calmU z#9!{IK19HnKqx_=FnxfgEExK+0_Vkaq<|+vt?rcg6XGs1Qv>ODO&>6xJi`~jc=!ko z=_?SIEb(%cIT~!tUF39-bhWFIN~p=IJ&acb-S*EFaFn~8Cmh^bC|+_`Uh9n6)^}(t zT0|>U8`K7$J0)Cuz#rUR$LT`0n)gGPHBz0g8%5RTsd4T3QK6f7mb|fm%2se~R10_W zcwc4Tq3)K5C984!alrYQCkd!&160AQJ8VV{VlHrtv`~(9D3frUx!Fj@3k0XFYqbbo zEz%byI{Gxa%HGwOBbP~XnlG1Q%y>pmkn`U5m9IMrUpg3qPgi{2bH*n^Xxyv$Yrb3I zqel@z*0M}%SPnAMh-8q7X$ZLc7b}^h?#j5XL5Gk#s;W{&vnY+b6)eNm*Z3|&Gc&to zNiHpm_9wDc?cQu=siP2+i5Nc?SKG0EA^3iH6+5@tP$`fg&DF|Z z@T`^#E;>R+kd4TUn0l)kH9F$FFy1Refk^}PbDs@X|EUo79-;Z_E#dskLXxTbH%6w! z;^SNRkOrw)tp>x>l=>vI$qulR&A~0L5zkzKfaI>$=*15VduG(nUGrGI!B)43Dz_o! z7fFG8Qs#seAPdA>o;lPSNJ4zL=FP@|57l<}5q}zUSM9p$1bIMW2MQi@$e`n{U%xCw1Z(1mX8`Q$ddFwsTKCKJSVqBl;g0AfWsJsJ|` zO+HR^>id~F#N;}Ke4O`|NYms6@)_*Kysxi~?d|Zl&X^~V*+qLj9DqP43R1PCu@&)>3K< zaT--V4EDC8a$258AR^6M^~Mi}xQ0zQR&YOH43lwTVHHuwKRLdi!uG0L)CS5&QUu{{vSFc^EdSFr2Zi~fEGCJ0#KMz>C)q;qJLdyEL4J&x%aVm<$ zdmt53C`7k?(XuqaB7iz3UbSH zYfpW8^xCd#`cjma?B>AzO3P1vWl@ z{>-`m&Hl}P;k>JXq2#Vz<2tgb*nAsso_(SZ{K8@7%=yru`J|ubEwP*l;o>f#P~~p7 zW>yM$U90`F*P`XIYjU;N?dngW>q#lr!Kv!QPR>RMhzPE<;<$cdiM-u#W`mP^AJS@% z^W%2@mKD$Wj1~hk+fD~(1^y3z*u4Vdf2Q@!Gyjl+Vta18wzvMOV z&9PMNy1dc8t;%Iw-0qqDb(DQ|Fgf>uTL2MS#>Uks_$*SLpM`4iy>E#7Mp_L~l3Hn_ zyD4O&AXGQ$x?}>3S$|2f=GYeL^jBqjfF@iC5SwBfIsg?#wx~jUZlrn~>p88$* zP(eU)NtT4iRhxoo5;oPn8Z}PS-JKtJ!@5sD8TX$H&^qea#B*}js5&Ikc(cX3i(5B#R6iv^JCn~R#pPCOUVsrYw$ylFS1_!0r-NmVH^gh% za5_)KglZoBC55^3(EX6pjz011>X!A;G`eH^$o=GWzl6Ti;pS*@eTK-(^%_`lJYww+ zayy^t$J2CoIgKH&(=s2JnL51gM74)})x2|#S6#?<+U|BQDG>dLuUfcIG|#f8d3s{V z6ykh$itGIFZj80A{uWD>uzI~{V=(E|r}(ETBUnXrH2AW=rcWQ|tT^R5Wv3?+r@vst+vn@X(Rq+{TAoby8x~gO zwTz8xHBN zI%C}J-04LEHK@`6^12+7)53ju8Q9Be^E4K-u{pQ#U2p-0=5?5E{OsaIrgnD9 z#&sc~o!)6dBX35v=`9n7IYG#-RM9A^6;H1E4yoJ2yD#=Mt*B-rsId*FXIQMLMoBJ0 zcdQM|tTNU`1+)n9b-oGkQzUOeydKI+8dwuV$%a;2ySBpEgH4J* z(ti{je|ZiE{AG6}+)mixcM(a06%s$vtUOuX=SVszEp@98UVI>62@j_!Q~eXe!Xn`h zx!Kw7D`vh*Q?IpWu5~!HsIXjI*qbUQ!97;LM>Q-gu%9n~Ozh3uIG5`0GRK=%1m&bi zoTIsZ4Isu0R&!v(d7Yys&A?S-QIWE%8G-As{Zt*)mw_p-vGjpLBXs>%qBxig{Zdk;92J+XQ!bJ_%bx%C?nbp+a(3vL8knx39WCv!V%_ zVVxyaLoq9GD}T!z?JdY0F#O^&-_pIZ9HMYJb~Zk1*FL;3MkO~PRqhJH!?Kqu9K~35 zS?#mQDS!U-pq?xrXIPd@6THJ3M*~tkYK83WcQ=!? zW+?SDm;$;#*acjMI?Yw0f3Rg`%@@vtvkm8p7B@Q)*JMpepWkwAZ*-IMg044~DxBQT z`3vhTwX_av7jOAaBMV*9swHdfT?5IPA+&7UV;gPZi$emO8zQL2iOzlewd7O0plRAN zR!J0X7F}{mz9_x~`8*=O-+e;l}0jyePe!r@wQ6yRdp`?vfRrsG^*GYsghh zUWR_Q!aSV0y5kp6ZNgCsgVAi!7kM~854>|B1$W{4fhc>>ivD%l-;)*fPC7miCBCCf zR4PU8YHZcmDplaO)J}Q@&%q*WPQlxy=RsQzPDnIw(gLlxrrxUz*$~l4X!3FgNkBw* z8eM7wpMWqDLI|(QJ|KX^%rgx{V5V}_&!3h|&%iAA*}U;$%9!26bQD*npRYm8Uzd<- z+uY$j`>CjQNB1TG1F;F7d)u}Bty;w`R{Sx@bxLHA)FL))3lB!Mkkv&O8-!AQ*4$6L z&vAVmmCIX^!Ms`MK2M@EKEpFci+mD?jt?4sPW2VR7nI^7$RZ0;62g2)XH=aR2ceqC z^LPYDLy6DOGlKi&dvG*!4{lf0Qpw1<*ja(~FN9|WC#c&LZG{u0g1QH^!dqroOqyWk zeYC1z5$U+fP<3oCsaF_s67sygvCp5E>q(TrF_c=NJ>4c@dO?Jg>ieC!8&^yAjUqdt z-jobes#*$#RBg&GEv=%X_(ylIoUkb`12V5v;AkZJD|($5p3)qF9v?B~^wX(y5K3dU zx(IUQ-nXN1==^;r*dK%Wsl3xf#U7MDMQJ^LK&O%?8&30b z0@tM}Llopo@TtwWwSnn-oYrpPZzes^B#(53P9sOZ?*#oe{B+4Tz7_zFZs-3y9{qn( zn&#d&PC=Ole&!{PI&9Grrw`~~@~M3LkaB0M6tx&j{@vNG{$4?xK7G*{^pl) zRuUVJwD`uF>Dag5*GAs!7{E=CZu&yIEc-4ho&&%D;Ql5vqG4isUzQOlxB35HF^wTP z!n&Gta3=v@FYh(%&yX$e0Agh-y@xV0Sxhgow3C*H?T|3W3R^s|^xycGa3uPPaSyZz zQ#j-6GG8GD6zi6uN)G$FMRzWRG4w!(Rr+J@%jFS+?4(H}lc*`O0CI1eX(rTXu;}Rm z!g@c6NaC-S-c@}=xY6^(s_IkZEzEg}(trGNXOm4l%oyyH*}b!AY|gC`D8r{Pj%q_b zYJgnwyBA@eS(c$XAtBDDr|BD^?{r&yhFx$@Ami2}+7 z_J68u{!5)GFi_4wDY`ZPo(@CB4{qQZCvDcFfbuCyVxXHfv;z81kU7v}0+8{XfsQk* zLXP(pTg_JKlR_wV+YbllIe;674XEd>$C`uS2>IW2A%)kseE621wiLUWo3xrO7f<$d zus35ulR_2%GjBS*EI!70rJ|=Oy$iON7yMp7r=D<=^5PlkNkrzHh_kQ+CC2Eqqz2(b zR7Y5(b&=MSp0dogXQf<%k*m)Fma|9D-{pU8wc>gZ_#$^K9nrTOj>sxUmRH9IpMIr? zRwA8j>L&Nk9~=w%g9kVbLQ(MB<}W)WHOo4}FW_U}MO?fIYB!!TbhIUCee|z#tK;9? zstjjmlQ}Mqw4!^(Z&{6{AGYnwBV#o5*qzQUG9I>PG}>Qzrk5VmoQ@Bg{`|^s!{vL! zjuNgH=bmU>a^s|;8uCI{KJ?>x>s)u4vS(hvQ=h<+GC?mc(+K8Jwr2f|U7@ot1U~Ba zf6T8AEuh)x7VXd{0L=!Xecx;-ncb;Ff7OgdCfQG3c>dOuJfbw*t7kOtJw(t;+TmL% zbfCj5M!x4`Fg%X^^B@XEik?x6t()FnOhUPFP3@nr?Nee!QYa*~Ws%$hW7=Ovpy+CS z1O~*L0Hqc)GVG7I*}8Q?eQiF*aJgfsk3EfAm}4=%JeGkcS&hJ%Shsrnr&#s_#xl9k zrov`(z#DuG022*1BEC-=4>9iS(vBJK>*p2u$G12@&6F8=@4uu6#)NB{_e;3whCO{} zKweSK(=rDJ8p3px%kL6;(DT1sLKbV2LH4dpn3DryamJhNP9lt<6F0{U)U*rlq)zu$ z?!WrXZVWEb8Zn$NM;x_eD^F|MZZ=uArWY)2k8QdK=3pBs9dar_)3w--o&q#o3g2p{ z7+2vGTMhR@Eim{`ltoR6zfkPq6~k3Z{W=5&K|VD{SqB!;kHlH} zRR4w@%(|=I>}Fe8|ELr7LWR5}J6faGgS<8t*ES=4JWIuNM1yuY3f#m z3&Jq+`n_zEO+xTj;u!!$6HL;P*U&%0PK3hRQ{rJz?hJyt^az=i^?S0=; zaN(9(d41!ajC24k@71Xa6Cf3ewT)pau}DVNO;aJj0@d8Ym%{LfzKY_Dk+`D)e`AV7 zi>_~8tagcFjBkU~%zPWGm zaimO-b&BeJU&Q(X@6eNw?lXpznchr!it5DIr?Z8GB)P;ec`Qv@$Q5u>mM;!^g860H zN|xp7OE1N}r}6J(r@rnltV5f6i#D795-?$qUS3fu6B3_<`!zPtw_}n4H>0<`m@U-} zeu2bbrIpF^pU|r{)NI?0`6gZp!idIaewh|=~4uwgIt;* ze4&IHCK*Q!nsV^_@BTRqqU$iurr2Q{)OUu7Sp=q2)~JJ zY|H?VhJNPQgr`Lzg&U=q$xP}UvrhjL-$w~aC^G7S2`0YxDvVZ{QU;m&yFBKrFJh55 zXq;=lXg;pSub7)BG=TwgZ-97w)CGR+To#hxPJmQy=r#d#vbm-Gf$s=UMll=mEmBB< z?tQ`hOZFGxZ~KddA5M&c_~{^{ zgaWUW>F%&j;M0^-0OQqj-DsEAt969}%m4dl>#&F96kBrmZVZ51B3}A{QT( zVUGe=ra(F(YkufFI{GbF=Fi3!d6B*MjN$KPezc@x-(k}S@KF$SH2nl_kL-)$Z`0y* zKbfRE9YbRLP)Csza)_S74SzFbAb)_EiXzzYhB2>qS>ccCd&dn>K8+Bu5GWKJcwqQ| z=gzasygZE9w^<;-U9^t^rZ}D^IyKy|2XmAgrykX*nSi`r0TeXiliHR-hB5^un*ZZ9BO(3g)4lWKIYcHf zGOwhJ@B2wQ1AW5&+B)&k7uF`}L?)_2aZ^zw`d(dmc9df5U`lG3F-kV1PS_@+Vo`~j zFG{9IFhBz(vF}17LAf3IVDdE|TrP;@%2H|j2U4l?IOzQ4p#s2M1lJ`L{{PF!oM;%< z9^ZcY4U zA~B$UlF^E-1QqpqUPaNx|2>my{6!8t<_x5AJ-_&u!L+&Dr2z$Et)TJ zFjs1*sT@d*Oh8vDiZFmd_cTH@y?3VgX@!wqsqE@OQ9Fv*g#RyP;5)LW3p~02-m3I`Ds}NA$3Rg%iJBG>Tu&y zIAttM6dZlypr=ky#oZdJxQA@PaH7;grKI~u8JMdz9u4=OIBjo{(Cy73qSWG|E@w5xP z^o_lu>(`3BNzr;HQAK9+u;}HEmfjDBR#SF)L1i{K^~lVwKQHj!Fqi?YJIb&QjWShD z{3OTcI`J$!L@~@sFb`1yjP?SX1=F0JoJxu+OI1<4rf|?_uufs9h-OIlOWBDb8%UDSx zb|L~>C#p016TS{T{zsLE*&nU2gWqN%c!W2&|!P0!(5!wqS5yZa$kj^7jkZBP1 zjhV&vANS=YEc{*SymYncWP!ou!F>P4{%kw}r~T6J31OxLcX7a;KV7?dX3#668b_^K zNhJdhG_3Cr$>l?7Er~smpi?f3RSoH(l`_F=IGGv;T(6H4-|(zN;uY2(H#Zq7Jz9ME zRZhCIP#MFbDT8gO34AXpJglc%eoBKphL1Yk)PXkRnmGL;tnPM^KmlL`>d&LoZ{mQUZr9185(_X~GiLAchYQ)p{sK z@})tJNczbcKBF@N&9TeOoEB%rHiM=#Y@2l(ORW_w@B}q>X#VyU=Cd7oSbr!09=J$X z7+cIrXV_2)pc{LMXhp7lvZ%@Qg*8l+=#NoMjVGC{>$zgL?JD;*`%<#1f>!O@`iF5(9$(@0XSYb zyYvO9RsCmQou8q5W}~zsL17nFhWgSkwL+`=f0=6TXqvVS8QO^bNjXA*IdnU{r3 z7*Z3w)3b1z_r~|3BXxMKD(vS&j9BuN_}KhpGDZMeKd(Y0N!hXv9A9Fj>Ifd@VG|&^ zQ77~i>!BdQN395baW>~87N6p#kp?i!c&bF~0sT>~cSypaFNnYAxCNT6c)~8DlWm0~ zYb-Hng6c9U*_b*#vy)coM1W$8g%(@+xe>kKW95&$eF@_6%w09Vd`S7OQbA={KMXa6 z8n+LqQ`WzEBNU%U0tu=c%6@NMK!f+dG<*pWY4iqQ*IJr^U+xfowoPQgukL3HSdO7Q z?{$xxU;bri=Kt0h1w0eWWLlBrS|}MJGkCx=>1jj)rF1&2-WmXD z1}WJeC|-o75k$)9(K;w*xn)28;K!Bm#vzPQHoT|Jwjw;*rwMl90l(8oQ5{468~Qe? z5SewhHXXK~Wsm+J>fSr5$u{d6S5c5IMd?ID1*sxkN@!A~7X|5EnslUth!jPN(tDGp zQdE%MOXyviv;d*k5K2N4zB~9lGqdJ5?>95QZ|0eK|8uciko(HH&e>=0ea@}%Y5p!F z`MKP74#Bkx=Ec9PY7;C9Z$&nhsfq}{qsHm^5R=oxzvF^VzIjpvqpajMF8xVC&f$=k z!u#L&t$3)p#u#35=!3Oc+omFjonD`Xa}h+FmheHe#b^9XGrs3<51a4M5ADEd4YlOy zpk8Gm?1c<99d~Y2mZTZ6NOT`0(MG2z$LwthA(E zLLpIK(0$#tH~KhLS}E+`ug>5&Q7`VWZbbsfpLo%rhd@J7Px+1+r@RSK;O$m3%P~;k z!h}Hx@v`lDPK6q-xmzt;`V25!qC1ExAnV*puhr|}|A`_M4}B3sciT7Q^<@KvX8r+P zFhsLJNR>JxQMtHL;{(udYDE#xd=wyla7*UP3&yR&w>NyNYwsV(a$kSAbVs#177>%8 zb36ZAdY$-1=3RW+?$}URysheM7HjXf91xakt(tkaUg%#6gL<8#<$heGM03TSRB~P` zFQAP~)V$5iBt=oR>__8Rc=o_Dj@LcwQC}ng2X3G2Dh8bQ#D}vqTv6_LdE{1g3LnG8S~R!qYw!>m3{QLQJnb%92pAF13cxBBw-7wSIHDcWPak`rj0 zvI>yTi-8N`VD}dp=(+xXML5ZupHa3Qv;P2P3oGRAODHz*S${zeZ_VMs*O%_CfPQd= ziUM{Hq2~51qOdx#vclY-nwOyRh6~VZ?*YCq#P*a7(8(msnh1-5mSK51T$#2^ff-j2 zdb8BY+-@cMtUstA<&uLYKV$JGQOv4&YGs!&3B159DqXp_NaKYs+sC(6tW`yd515#BysZsmsc)@b0TW#bcmnk_vS& z!Xeu2x#qBE&&ck(bAFrr{){2k=*-HCBed-9&Z}pQn+{n3)v+m{?W{cN7XC-eqPrd_FRQs4>R0~J{k(&x!^0&nVYUgRZ}@JCT$a?^Y|I0M5# z&A-6F@Hb23J6w9`yy)wN%XdvAO)EZEo`v9aABTxSV#?s~vHOz%$jWJb{|zXZ%XK4* zI6}*P+njsAVMBPA_JWLc(&p9MHyoHQ{bv}^$EW(tt#>_qME=}ITH=NQLa&1WH7=;H z|a)}2tkz4&`K%!LEwFNx-Gc)YJi3L6_hN<0bfROsthisyVo zBx318=_8~%CPguFMK;*T8b9)e6Hq44iBg%zFS1a0lEmZ0!*Bm8@$j#^IMW*d7b;0H zlyL^FuAD(D1D5|)&?*5Eqpiy<8$Ix6YD)kR1l0Eza9ZJn07+Ar^A!()-{DmkClQmO z^(6q4FITIdEAYp=EIS%s_q@J-a!*xlLJ5ZbzDw`5VWsUtSsVq7X zL32y3~useqfe#3zvD?2nv`#nF&TW=P|4QQ^crjaQna7=yFD)e*>Dl&g3hA0Q0)aqEN0{Ml-`hcHG3cWH;#}mPq^77veq@q6ffxFU@x?+PLtu z-D&YY0V1m6lQv3g{^r7ADW*jU^V^at{Car-?6h)JC0%LfxWez#(iQaX>XXH5;;Ti{ zCR0oPiNPhg3xISF*XP^QlY`(n03i^suqyT|o4#yx)H9yv7Y(mdEVcxw(4ic<@4;=? z$xaR<>4B1l`kJ@~c&V(uysW@AdX@(8_}}bz?Ei6+ojaPPphP^BdG0uY;SgnGX$N@1 zoBJd7-&iH>s_-8O@M8K@&^ zBHs%NX14Y&_tajS6}?Y+@#Uz(3v2a3X+6<)?^%@uC+UHOAs%S5jzf=wHR_t-SCJ}D zeL%R#zIazav2#AQ>clJ?BWr4N6_DVPOsu{79$U4w647L@Zt{w(`1f5}NgMy& z&G3~LFbi9JB|Za;IA(|xA5Dm$=kg)J6{RGSrl+n~o(cYA0Bu#coX-0n@s@J*-T1l0 zeRnVl;J=cPHCexuYaH9ZaA9{|?TpK4juX(c!UCB82}ycTGoj(~eddo#@lQ1~zQ-4V zvM=0aRO<#@U36B=*A<9r0844yTp1A0;_*EeBo=VZ-_dYWKfwNOO;;D-`nCJ`T%e^e z9C<;Qpi7Ov%ra6oK?VB%%UwkB{FB^;>U4#4uVwy~(*i_9RU%Lp4@VqfG#y;1ZLib30Q3L$Xx=D?MO{wv9>l7H+uk^S_cO zz2|J#*7;%A?Ds>?dI8WxG%>Jz+@%V--z25`yqFJ=8 zL%WR4ZnTVP?)Cy!IG52PRjQB`nAQd_brCSA7q=)=$s zFyS{vUI*hCF1381T$Yg}hqh-N|F;ob*Q#5J9F#UBf6x3cl7U;CTI8mHOZ=UG88eUn zOJc^95NHA$E_!dDc>$8nx32gFD>J7JL2DV(#$&$F&$Zt?PQX#l*6j zNxT7IwExAgTPOGg|boqo!#XXQE1PNf+}JLJSD^ zzu0dPlI%gpy>n4}*vdYeN08(HTdh=e39?pk zK^Cvg_PUyAUA#`KBtNRh?7v?g{gb;vr6&TgHTcz@*&2cb@InVRaa@xYH(^vEv$uJRe zGDQZsdAls6Uh2@BnFE6pO)`!E0lbl~WW{*#}J1O|qtL39a`n=T)Q($y3Ji?>)Z{kXtr5a_cts`@4^20dJK6Ps7KwCwhRoOl=4- zT+~H(N=!np#Nz4YDFDz)t2jVB^xoibtL;`!c<*jXI)J)6KX_|Z?<(zlMjATzpU|T` zcg+k^gUM#PRVx24-UiU!tm7-d>Ext^wGcPEza$dbeaRKio_gE2H%^T@gYW!ix3Z?GC)AOCXUgvb5oT{zw(q8>25 zw&^D_s}b&h@-#>RJ+`~_YfhXwV4u$v3AEop0qrjX3aAG8A6!6J_o2HwXGYT3-2bzY z^shNEjdY-Z>K2UR;U=j%%%xl^t^;vXx5S}Kebt#Zh4rf*9vSoo^}WbHL}kn+VN@pB zJTk190M@0X_+6n3Tt36<{o;TxtIX1z)l7%m4DB_do7``Ne&) zEca8&n0)wi1+B+DP$E4DfW1MO%=0}3yJr(#^02ERL3V#I`}H7`{2#EZbGwFUPre`X zKZEJGk3EFr-EBsFOaa)X_Y9v}m$*fay<7S78Eu*^dLu$`9vIkR8Tl7Er~WSkJ2=k0 zyXi~YInWh;LjQ^1dx^qs0H%BzUTenP%to`OU6z@7tuP*7;)^@%e?^5f-{xXLJgCV7 zI*l`GD8>rF>QCNG|61f@Zh9Phvb%ae82+Y3iu?bG*n;|Z{gaHT8;E?+N8rphbuspT zwoUzYdq<1QG|_5b*l+$8G{YM;IYGxDFX-+BvtQzVR_+wmCxYE=_(551T z6Tp5=2gsWNC!9ODE{)@*Tkn}3$2bD59r^#B){f6J;R@=;%%99t8aS7R$H%`x0B>j3 zkp#Men2lBxj5VDXbk3;J8!!JbYBXmctW~=UXJ)wh{eLzy{6g)uEPjUr8@aF|Pvc?6 z`@F#1T2T2|bfT^I9==bC(>ShdSzAgOYFvIG%6X<0-xW}>{DRL2SYs^d{}=-@ok#-h zJf8XOZ1OXT7I$NF?>RT|PLc9&PE~xGtoQZ&=6`Z%4T)kB+5CETqZtx{>V4Jh0k3Yo zD7=t0m3ynPJpmn)p+i>7B|q+YyNZ@kp6;C0XTYwYiQ7WK>~&RM<~-RQ3cw$(^Wrgq znoT^NG5?CZVap2%_+RX&7}e(e_{@}r=r@kzlguFmJ|-wV8> zhb98lUS|yOg}jQ6c3;^4eHVbv3-WNAz-G}Md!FOOBf;NxK@>Z90pzaA^X5OL^5z%d zAmiW%(NN%APgw9;GpB)mbM3An$-^4}vBf?kMk;ckNBRla@^Iiq^lug#*DKA#>3>b@ z2>(5hWj9-`;xg0q`*W<~*cSiZs#)L%LgaW0FJ;)ftA7cN%ap7*Y>uP=YNr3Ij)h?9 zzqzUAUp3!V3e%von%6T2&OiCppTW6G3s5uJvL|DKg45LfTLRRU{NI!S-&`T0@}K;( z%i%BkjlPzqT?iZ)rH@(yfR^}wG0=Lv-*5G1L+y8tODYN|oGY|&7aYeGNOy&XT1L~@ z_sriQkVuQO#dJmgao$mOJP0M8pH%Nn#Gj~iQ!Sj&;m%A(FA&;~L(jK{xd$t!yZ-N? zxWcQoUuh(*_B{VnW0w^JoH-5U@-mJZZM=6E{ROwaj0zB_uM^)RjgZ)D{=*E%Lo2QS zu%qfnom=ukO)OAiKF}Sv^9HqDoJv(5njI_5NUn+1=1SJkW8| z^5e>yN8PH$zU`dGLv=82C*Vcx>evs}Jx1F(ho8)jv&sDndrndtk*R$nnOH<~Olcry zqxLA+RBi{aAkFn5TfnwkroHig%J?gmJ)du>GoP!E>UU-)PiN*ZGv;Wa%4*g9r-6r0 ziM_vV0&M5E-tuwW6p=N)^@$<*Yw7YIxH+gVX8*Mlb-#)INn#H!15>=HnlNtOy4{xL z`W=6#r|$DX=pGb8&e4k_F=fQbtCb<8@${t8sl+{xlazpo7K1%%oD)Y4MLV(s>#i`{ z=apv$g&UE5C47pc?o)+pfo&8D0yOoj4^n|6^Y0T~NgJty$Co-}AbXz*4S03%r$iVo z-Kc5ev^zK`4fN+Tx%iI0ag=fEr_F2&+Ia7c?k0b#ih7@N%l=@Pr2E&jA~_RaycCZpFq62Fwm>!|@I{{mZ8RiS}6Sz zk8m17iH!Ku`$Kf=*B|von4lMy_o4&EYd*qGkE2glmv>mmy~C#p5}=+9`{_JKk4k-h zI4IU=N<-*=s0%+Z2i2ItR|2ss^?a-HEP{iLz(WbTrvbklyyn<#w0tjd?O-yK;MgPt zQ>|6n*VfdZF2;a*IE@s;`PO!T$s+x@O~6KFz$Z}*VuS`H^LdXufGyL{ zRn{}@bS)FxwJ?jE-g5NZF!$TCH{plSwz@brXhW1q8zA#`CcRK{D6lC)bLnb(!|u8S zuDZ%y`ol~-{|t?BR$Wuwa&B*)V&+c21R^YtaM@t_^S6Gx65xsn<1TKkwFl4Rbrk!t z2Htj`Q-E8%{Q@r0^l>|R_iV52w~~o{w%^vyeeXIr(l&Z7mra$|<+ZXvAgUm6iZKwq zcfKPu5R+$u$}7S5p|5hvMdq@NuI0CIILShKXsg!pdm^3u7DH23+^4nOlB4pX{WmT8 zDjP9d%Ue!?zHUdgbM?rbQ|!(%nP-*kKJO`h6HX((i-mgjBjk~4W*a(0s-B} zwBrTYR&}@_5<%_0Fv3&?JOTr;(HhxIeF5!gnQ{EHz-3?YC{Di@AK@&YFOc=!lE+yu z)k6LQ*u)Sd1ni6A{LJH7-Q%Gws6myUp;2Hjqkr4{s*t|?OZr!%BzgH$JLvu$0RkrX z!3*?T;020k8!R&OwA%hgBO;GC9ev;Ld_J5^@VRYrO7<?bhUkOWCP+p+9NLEh!{Kyrygm1QkI3?)$i8WaJb^zxk<7a}oV56XW0(VKANJ z-KA_iJm}3J^f5BQ$$O%ed8{ZjDtZ1JxN&$`sC-D+Z1uH2T49H+Var0Q{uS}eyR5Cr zfq+9vr}m7KJSBY(;|mQhBs-^&fh|-SgJ_ru*6Qf?Np0gv?aa7LiAS-$2ec*Kw`N0C zJ!tNz;po}yUX-W1MV|NPbC@r=9`)u8cR)(f9=!`!j)6>z^S`>ZP-ET8nnE2 z_MoKiM`?h^y(bO`Q(A5%Y2~kjsLgVL2Xh`1s!l#5)##W zNe)e~sd?IccbKFk_dpK{Zc=3)w{8Di7f|%Fp}XcY7?o0vK=30+QnuVxePNs?-h1WG z3_-=p>Y}S1_%0r~3^U=d8$phDHTL6t$X7CaOK90H&5&eUd7C#7F6Qz2+jcx{@@_nt zDMbQdH3qxIYy)gDK2%`x&esqo0}KA8hYhfL52^9eR!}f+c2Lj1NVaw z&jyh1=9fO?O6HuzlG5Iy)9pdglL?6AcO-fRJjZS21{9!L13XDdf|`p%f#oD4bJ(r9 z=PN8TURexOI!<=UH@DCsyVNH}J3hKc2(Vf9K27GuolpF2O}bwToUHuNiy)_x=M|rd z5_4`~xee|##8~`5kCGxZUNqjv6UAR84WBhF>O$K$9@@`<#&PACSQr&71(uNpi%SK@ ztdY-TNcdh0tfL8S$Tfd)oDT}lUiN;oqihU+-(UGg$?*d!oTrrC>q8thqZ96sG8iSMJGT%TX}?RE%f6%FGgY{!3N}|F6|#F#e^^nv zg+R1%32p+g^Ms3jb+k7hMr~7U@kUlvrKX`_G>_-U;K<@$O%H;an_E;?J>pQ%rdDp_ zRMWBLN`?TL#i-YZP!8@R8PcW~sdj|QqJz=Kl#lJmsCZBcks>uLyDc;gW!}9O%v3Fc zxXMz?fLE?UDl}N6sS^3f=UxVVWVt3D{6nnTdIL-qtf8npI5^Vk?)Cx>RA7Gw!PiBl zQax3sc=q091Rx#N^+f&0RNBN`TUPLc!S`@N1) zYYMl>!RTF)$cchfDR;kNpUGG832mf52gRv&-0RS@I~Zf(0eAi&$Ns^D``fa;$MI3T z_aEEjy730&h<_(OsjQvZsuBHQ@!qj!&}X|!vmTM#Tt$&@FoznO*`XYCkrGz6AuD>P z+*3aoi>exm9vK!%|7Mo!6_TKxohs1dST09i zTqq@Rv&QU!u*_;c{>*{thUTvhC75=T87cJ{`11<-Qn&#fR zZj)&%Ys#j1Ud3tK=t!px8lvnbM31gE7; zg**AQ)JHqjypv`mXpkjIA%^>+Mlxspd*<7y)E$g5>$;vjrh^r5V&mPHC9fZTNW+5F+;zf?0m$ zQQZ){H=$rqc`qdG({h1hR@epf54ui1DbM@1x%k4fw(=%5%Br5`t@0-7+2A_&@o4(i zs-dojCXG2@c^5pU9qQrqpVR3rBG2d2n?{+i6TGwJo;hpVTxM@~q~0?@Z>2Uc5V2en zoO_KowJQ5$n{0z)Pqku*pm_Rm@Qz`WRmXhfkio)=ij`#I<`M-w4J2=U1zT`xMX2F_OoLcPcnr2t&&JvHI)s|>`5 z)N=?O&xsc8CHIVB(&#dYH6``+40M5$iN;Py%G#d%&LzYLuj9V+sB8EK1(#+0J}2~p zVA)}0MHC?V$$nS}J2X^Zl95YzFd%Vm{|A zDkupF5ZHbXcTlec3s$!c93#NaG2EChdF14yrg>s!RYR$l(np~@%#n-fGBvHrCb>Ca zEyN>gAO7p94cya&HyLVL)dNXZBj1cA=M)sJm6%k0nxkPI3uC*m8huCNovP>cHS$aK z6hlmV)7Q4khQq$^LcBVk#vkX`9wH!t4;#X&zP#N!0d_Mp`D-wjb(2Wvn|)!s_J=7u zoG3pL@%Xa=MDw1%H-MPp$)i23#b!r25<9*Ju3640cw_7Ds9%}};Pc28uUz{_c07^* zDX3q#rk|3M1-u~7s~~rycUpct(p~jec3MKq8%oVjE13TWD(7wq5Gv@(&unT=Q8^ zLlKwXR4k;i7*1I#Zy%p_Ukpx3)v-5et&H1=IaJTc{WJ(DCvY^t(W|jqdl*fJ4Wc+j#s{k>Y*!_7d-T1Jy+>r9%R^fS7 z33~mFRMb@jwYXrl?Ln}YV3*um1f$YIJt!xwpAPZfj1qDTE4{e ztsG72Xr`3MFg=goj;Xm4F&n#jo7CU_WdhXO=EPm}U~=_#Gk_)t6Ofre*aaYv#b$j6&3-q>UW36v)ZYlW? zlSR$G5<|W1@^|O3_-*!uu&;4D)+=J|U4=D=t()+la(rKb5w5Q~fd6S&!G=qcR*r%d zSZ>wyL94`7yt6FV=4^=T`M-3CE9w^h@rxv-DoF>|;SlDsoPzc>gJwiDeF#F}j$r>9 zeSAt3Vvt5CNmj&8MLRc{c{xX(pL;-N{8cucTI6bWWXb~KBEJ!pmUasB$2X^#4kxty zQENPPa6)KyBzev8y z_10LL+B4`+G~&bYJrV7FC1i^a@)V#{k{|NALm^;WY-=UktD!e{R#OSxWg{B6Wj1`Z zWm6yXUzaG>R+~F6uz1t2?4zHCC}JQQHOXO{+B>hoA^hW8cIxADP2M-(feIcbZYye3 zvnN9yvoI!HU?Y5UB$7e@`I~_0Yr^`PL9>;s*^g10mUCmc!A=n254y{N)GhY57xb0i z3e{-SI=L%k3h761%zpMHl6^ZY7Svq26OVOXWZK^qkd&A)_9Ye%8y`MqNZ%Ru3ENyj zhR@yr=DEqFw?X{CZVSW;FI^C@uTXC4DQ*|tWTI1%#Bcj7(*9d~wdUK@EFWHvu5K95 zzNfcBM5ly|4(8n=wPA8ZS>G!jV4}Bhx$UEMe66zTL8aWq;ziYsYuZ$AGvrBoyxR_o zFuUb^u)Nzo>mVb8;T_!&wlA`H-<_1g+y*2(zr4L9m}&cLHJkf~6p8veGoXFcmp}=f z?5-^X&C}ttBD5t#$_S$MV^JjYE7p=CD2>m>azA1TI%eKe`V;+QGOWLdZQ8PGt>%bO z#U)AG3`i3lvloeS^@qD{HKq!EKXq6|zmuNG?lU^rH4fv2nt4;cRqflhh?e-C?G!gC zo9u28-p_EqVeKc8zgv)txhP}e7qTPe72b(3i*t*S{&>O64x|tTG_}OSgaf?cQlO9l z%y`F!WRQ{zp%BqvY&E$mSC8y-noSGDB4@^zR|$A*CEQT@gqY_1ilmnOYHdYN;*;;r zY%$yGLrmCFdHaqbdC%iT(3HyLdmcXtPG)jiS9QiV$tg@o#Xd4$m@I5|Kl6;{v|6z4OY}SIs|_00!jIM_L)!KEBD%q*W|_{O8vL&YwdOH zWJca!Dc5;gH&mIqMt|t&S!;k3;oQf|p-mh4dGK#ys=$ zuM3hdI@#N!1%;rt8@vE#P`?ZnZd&bnG$j)&=t0Uj_DuZ}@myI4pU=yr?_U0H<=GX* zwitIGqICLt#KrqF$Ezn$MdG<6w+HcPc0{M|E>Rt$DEEq5;_zM*r4V zcBF!rO!QG9%ddTSMXou78Y@ThqrMYJ#L-2af6J6GCtd$IpMhbtG?&2-$IgDucaFWA zHZV1D@+}?veFEG2a{O_8P_aSf^Szd-Y1!trS9ze$tkTdn2Fa_c$~l8Z(mt`#jXagT z=`!6k+ne#z&}f(Z!xOAXfrI_3kl37{h)z4s$FcZO;jBKy#QlNmzkWBewH%lMuiijV zK1R567}aXwZ6QX~cM?J_Lsx4OG7$NpqJqvvcdn+aSW+?bC=15QlKAA=E7^S?3N|js zzvnpGnJbuLiyR*GsvnAU9GymuRcC_pDL(~`~kg5h8CVBz4J!GMP;A*-;bE@DsNXY;o%`(I@_x+a{m-9tM_IvqjK@wXA z4I$=w$J;&6egw|rfv%JYRF0}=&qAPKAW0%M{nL~NBWYnSnWj0)4p`2(gJfTd0c<$*x=mRo;tvMJhMy% zMsuBbPR&*dR|n3aq*1R;NE=6;iR|%5zH*I<6hxMY+2*n-tfBa43n`crRI~TWLI_%A z-ewid9ppp?WO8ziPa)_RdnZR&;b>eXn$nd}14ZB^)H&kJkgEo;Gj zs*bL)B7R5G;gXhvylNx&pUZBf@j(bLt@w(5^_3jo&w{^s8U5+znV5U=zfjDrX5TuI zJS|%8jb2M&TO;-BY@f=0Uc3d`J@^j(a>QTHv)5Gb=yRmUH3f#gqN*uKEn-n6RnxbN zOL&!K|HvmLiJ2^SLwz{itzUFT)(kO<093R3cHyi$ERiDzTt<-Lk*rF?q?jiZ+smYrW(CS{1ZrGvzwFO3Vg3bra&rdeiYXfB&@CJ z+kGCXaMZgHlHn+^UA0(q+kAJtPV%5geQWGxLBS58z1Qm2TmF8Ve#w(fGETw6R(bUR z?fvM4;p^g~Wx1f74{WV#cRWxOkWqPIRvRT!JCR{>qhY6nA+TM4rq{yjJ2d&ZPQ@cr zE1=V3NG(1GR+5h2@lp++Mz?T>o_szsYYGeY-8te{PI&a%>Y&%F!!@3?d~HuwP-nnh zke{c9K_yzjtCu|3;Z<9OWz4Oc5jEG;6?a?kcjRtdBfDg_wcd)T@N#F8o4%JVQJ4{&1 z6 zn^bFNR|rC%m|xq~h-4$@sHyt)wlluXwZ*eIu-b5~DjrK#@UU9hI`@@qTCOD@Qt&QK zth3PP<{u$z9IkJwavWIcjf6DDy&@+%qX+3Wb22Y#(=K>?yM04BJ34g8k}K1?>J7<# z3X=8gGQr)slNxnq;b1jbYr2qz1W(h?=phd94&^a{=^DhXAan9onHsyp24?+_W)|H7 zkq4l~(sOqLFr(@io&6)F#K@_ZS})CvwVr}kJxyB>k#-r6|$RB)e zjSW_t(I|;SlaqR{Cjr;B`t64dgxq@y3VYZ_3Qoh9^u>EhUGIR~?)Zv?C{I$|3GCKI zKB|NfP{OFXtiAz4973E%wPK?ol&LQsWFD_N@46Eg_$_NXdQsv@K+*wVYQaFr-5Ri{ zjYJA7P!YQ66Ph&_2#7{6w3*%$u7<>uN_0x9y--PFMx*OM!kngwbs|U$vl@+Eb;06@ zdr)8!Uw|w2hAC7U8KxMa0F&fNMJxixZ#F}Ix=RiMH#==T;AZqbf|Zhhew-40^1`B# z(Dn!#2u%%KCf;OCsx1gU0);PV^L&A~7zC^v1`Gpl6AC=g4Lms3we42N1S|>%EW*d@ z^4+=v#k(0IzD^n&i+2~a74SM+JVSDdzzQ%h@G{KTJ7@)WDbn`ZOB|{ag|EU2hV#Co z555iS&N{>iUp>8rdDVy}`0RI~!H>ff&B2R;mBz$pW<{T7J@kg&3Ct_xdW&$*&GI1 z>KO%Y_!Rg=4Ak&BnAHwgh;uhV9j5n+0x!ej&U?9Bmz4Yrr1O-BXnuZI_uinMWV{81 zJjq13384oCt$EvZieP+!5`xWU#VhNtX`i&Tbnz*+Wt}I*=y~{Mb;L2XcT)1WLTuRM zFIIqLbt#0jloi1@$P5YN#y{~LnhFRg=HM@Iw8+~{s)0u+&GqKrT+SVny+uvNlv30z z#p8}WZbaXiL7N%6gfUjDe&G4%r`7* zR>=)}x()edW`Rpjt)+jHMIt4OnW(w}oss}2M11we7L}gnw-SVItQ0a-=RzNAtBl8p9wR+yoa**Ept2y;V3lP6Z{}C-fnk_;CA#*>2>F}jK6zxG2go zFgT{W_W^B}>V)oasuSOEB?qe~s&CS4!91lCF)s}Kj24e7(A}Yd$eCRj0ryz7e#FyB zgFAuR+2}jt7DzetdsUqQZ)X3L+HFXR@mx=ZPQZ%yq&i3Di^_)X1Ec;2$arO#Fw3sL z?Sa9D@_XJa{?;z}0T@?+tFp zP$T3s3Uo9(|FZ1ceX3RRz0ccn+Q=? zVlj~)O?SWhlBiqqRa&wV z>OUz3x?eIQ&Z}36;y6{)MJ{4Eru7GEthQJ|$j-fJ8mG^knIy&=x-kjl$?=gwJL6jF zM2^TG{5ZX_p0#Ea_Z4334nuU$-PrXjZvVDf3`7S51kB8A_-#p?hO~Gi!=*H`r(zU! z(Vw)|a1I92GuptF<^vdklD&UCMilGOY2R1#bb49}oLRqT!o&kk?UaE{+F39`26Z7M z*P+52X&sf=rH9pyJ#4yuCWnHKiz2|9sc%xYiV-)<74E%b#&Xoh1;$$uU8OszBbh$4{^g&wyh@UIoasRd^l~f zj}8Z$&Y?D@R@Mym>wnZC^0wVk?;A#$3ZEt#^1_a)5=}@S1!!nvZ+E^gg&W-LZbWKG zUJ4{PQTBV1!zMhKSQTGkMsRkLg^B368gxZ6JX$0!GbOR{#saeDkSzoj`3S*=W)7(Q z=&cfv==NMV(=hvJle&W^`kZ3ct&YfAo4X-~TM>BIgRX&Sz7erO4jHb<%G3Ac&1&8# z^QRQ?#zk$k5IIqQyUl8%9O=j-9s9baZu#~fCSPI+EJ8wVW}z9Y-q=MZP6r@juMzRS zdP<%kY#U~6t&q^pvy!>2W#cMx?P5xy)u)Z@p6Sl|ItGki=xbVD-9;(#iqEdhHu8}* z2{!p-!kGq9*_Cit5@d8D-Ua2*Z+EX$qv=XEdR)55Pd943qgq$E`+m4zXHq0!j=_Vq z<^!;iX??LVaz0)+0F32DxA1!PfE-vpkIvjp(?~ z&g_|2=0?V^HGIx%ESNJm)|w>%%^Aar*u@-hIpO48Y@L1X2NSfVeD6kR{#eYq!jW`6d|LFG1c-ki~<_R`wEyE>t*-NiR zG@4u5lJvKSKTI{tiqMxqC98Lm-+W0yZqp82d7wtvt+%wgaYqC!QM{2^0kO@ffTLiE zEXMUuHiy+$)Vh){Sw}>KB@CirsUVtfa*NzQrz82$ESRku(wftP?dX+hmbRQlS zplFCCaT(~_XDzvVxl3=fynTP@#!H5)<9-`U>#u-J50x%Wc-dfo%dDb{2~^5C$c3)9%k#5smNWLg&Z`$%As+r!=ne9bCbGqq2VgSLX@9fZrhl((=E65V&wY%irHsOj+r zdRC71I2!|bQ&$T5yg;8mPjv+0Ofg|_w#MNg_pD63IfUw*J9}UWlA{qE(6tlOXg!wU z>xSn)@O0&!>j_{t+*@p5nXh%9KHmch zKvve>=TX32NuU+p&S|E0t>7hlaZ%sTu$Lo^@u!m%37suhqL0GsrbDIqr7Z+&wB(dH zy9iBgwh5)6imqny-us_D*4gau+Ctz?{|7H?)HJDA^28I@785??`Q(Fc=!Az;q#dr$i$i4$e} zg9aa=4M3(?Vq}oq-G%eTB7+aOf37L08hLpM1#Gd#l zgS8#!k8!n@LJvjSL?2#@HNkV^BYfI=7RxsZ!a2Kzax`c84KWoR_HqRJx*PBd?nCM? z?;x}$^P@VoRu?S==z0q1N^S(JT@3bN7r<|EwXLt)Vczb`OI^u362`8aZtvQkE=7c? zH((>fcF?}3Q0QF1fj!Rvewnv%$xohf9>vaIPvt)UP9%n5HF`;|px1pKdfyr4-X-YN zpnI}JB%z@}D|YLAjFj?Q2G1c=qUtFc0;vn!l04Q|)uJT6v4p-ANKmfNl`}oL=?s4k z01wbJX6m$vp+Vl)^!c9($Gp0>tiEZ)DK5x(yUuf@jBY^BQhmHP_qRGFF#+w=i`5f- z5m)@032a21=#xHK$OaR-iOMH##I#@kkj?XBN(mEdV)n~wVRYp*G>MI`wd|rzetCS#MwaPDF!+8ofk6%mP9Xtv7oR> zL^P;jV-9oJI-U@Tcxi(5OkVU9;T-w>%PqpI4wCd>jRt-&zs<<*)NImlC#oK~z26nz z)hgxUBI$6f^7m4F_il^_h6dLZv_c4d@4{I~gyX(Bmyqz8$At3<7gs!HPN4~G?;NI0 zi=c=XYL%j?c!l84i~%WLWMv+FgJ(4QH9cT-G$d?A{~D%~l{%y!tX7j8z{q*ZvoFF-rRQPROm=4HGE(vDm>J;KYZe!iOy&Z z++7BX`(ZsBypG{zL0E%81Ppp|>U_LhdeR21J;i!5HXK%v8)sa7zTa}imH+o>|L%TW zc(BqP{ImdXt?7V_ME&AofpU&hL+R<#!)P|9GZLY2?*9|$v+IP~$rE(%I0+eoIk)w} z5rl1(!*fub*ENE7t-{%$*B99LR9>bC-Zhhgn4ZBPO@(aI!bltUNhza6L336x{nMwC zGY`Oo`OXZsCGYUA^6&pN-&LIiH=1#%b-Q5A~PT=$7ozr>DVrJt>wlLXg zdnI-ytQ0%mxc=6lY@hS&k^^^LZyCsQy!)J=fLJhnO7_;NFgJAtrs{R1UcxwsXcTzU zl1Qu^bpgocx86=w2qd*UpPPPo?&jbC^-vPwzjHCtzccWdZC-y4H%(xF zcQGy#?^l+O4j7h!hU{)O!*6d5_HK55oq(Z742e|9ATOn;DjYl{+>(pDa$e=cm7G9;DX!><*}Ki!mwxbtiC)K9^4{ z)*Ei9#Kq?S4<~#+$10=dy1JpNkM&b^7c4#0qAkxF0%n2n*6UxXQOoqI9dO&wPn}s* z%|K5d8MFd>tUY-wi9w>s1CDn)2pYF3L8s5xTrAL5s@0hg)Z&pFFyrtelS%UE=MHl> z_$De5pl8Aw4}-`VvCRx~?#Jr0sFM91DUc*A;KSeoRQuhdHL0^Gh#n7`mij;3eRWio zY4^5pB&0!vBhpByq$tuLAc(XmN=TQ8Qqp;(5d{S4M#2CAK|-WcT0l@xy1VnhcRvSV z%9(NIeShyb-#@P9SuWQT``-K7*LCgvxE75HKTd@amLmp_jW0%xHi{I8&DNdpU#B{7 zD5o;tf*e03@VT=Ei2Q*;U6uZ!E*F???M1zUc7aO=Un`(9o2Am&KN!Pq+uH@O)H-s$ ztN@OWe3YhB2qAwBd%2>GQ{W7|$PD~TXW&>tm~B#AGbi!junFZ@!fyO4b^ap$cjhfc zjeQLz(>(_b#GUd-Y6cmjMt3?kcN+W8x$eBJt6o1xvps0G6+oc1Ik6Vt9m~^PzuYn! z3I8~{x(9fMKq821UU_BI{7?#vXQtA$t)I(H;jq5{K1^tRVWDv)1$0G5Fq}!R3)BxW z4l(N-uS)eGl}>Esl~ZnZ;=LVBsobVt<>~{6^C>MIYWv8`Rsr!t;fZ+xSy)Ln7GnD*UY^xt;BP5Z3nP!e??NJ*5cZD88mbP=zo`y_y;s%Hb`>G|cp^7V7|?=S)OA;azE$4_bTF1rd~5v~G$H80=mUN^W{ z<#qPuha`yU;L=n(~CB;jQn}Fs-ZIJPrChX<5UyLC96zg%c;n7l5H@uP* zm!oJ$C+L_7!69yeY*rh-oikx#!4+AwEfQ?%HwbTxNX`s@9vkJBt+Xqkz;Z}4c)Tde zZPK1A!JS*Y-eZaP_HmeAt!oh_ky_%>4*uwLg!%fbrQp%Q&7G3@&TX$-i(6M-;(cf` zU3AKM{cLi+Ev(RcTxR34ZG3Fw&NgaQj@%Me-EJF%MAeijwyDT zw_fWo7EUFGB}u0K-JrI|zrJ;ZK}HWej4Pk;0K@@t?evYfzNHGf9z|0A9o})n4GY#1 zy!nYn-7pt^+e=NXoa!2aq{9>b_X||@$ygLjKIXa@D)iX%k=W)xX3!IQsd2SOx9n^b zbkl7kYvwChFipOlXQ7sC(Jr^^`LwRzF;Kkf%=8uM&D0?Xdk%jbiiB#N8$V~UYH^rC z25)RAAa&vm4-ccm`)iWMjcYVsRkDT?yrAiAgN4*Smbfvfv68Xee8?)}^CeerWk$ab zr6F{&9_~I#mE4C+K9qW(QMsSZFXX&&fy$F79-w!g#=p{uHl_5d-FI1V8XsA|8T`3M zcrQHPquGFB{4vNMf~6S%mNwTP8&H3{?gfhSD>P3ontw%434lq?-LQ9-UnZjZN4M;q zw_--89k#K=vq~D=R_EC+M<{^q3YBwD5`c)T3Xx3)5lO|zS#-3xV}#Gi(lZvH#S}jF z+~iE$9}=j)4?r?e03=CJ;_uL?p;}&c-;Y7qt767DMyFMxM(2bzRSlT-U}d;9c$G%e zbyeU_yWYTth1S@5ooYl1PTQ*)N0@|$WB9SMJ!+w@lW>4nB6Pst1+NUI$8tXQjR83` zlPiB9WBFCMsM9GVmHgv0b(pf39SH&bLz3p>X{xZpn0N6$^i7oCJz`Dz$?cPmWEg%s zNSHheNftIEZ8w&JwQ)udnZCUQc#tga-|!%khdBu64PbAxBEAd;12SZB@UXjrqzZTm zyJ!F^gTZu1p)}#lXI|g9_<{M_nkwy(HYoihiA-{5!o^P5G6FzMMtM0Ds(yI_#1FZ98dD<|u#5X(XQI#HH*{nrlz9|T zCe>Tl>IPmFqJMV7?qCL1BA0oG?2Xbh#{dLi--r-s3_ndB08*n~`p%{$o{)7t*H8~1 zZH@$Y=#1qIdsMeO(HGg-0(;HOwKM8lmO^_k22KSKUaRj`EJz8fhaKM1s|d#-&%H3+`cNN8T(&X*8lg7T=}ry^P!E8$fNh_!XhCTx5CT zj@(Y*snNLwO&6jw)k3``3Rxl74fnVUv~Gas@`T>`L9v$w8;qK&UtOqntUA|Q9|t#4 zz|{v|og*XaBf9i!C~NneS=K<;2$0&Qcp3S(kgQBZy{H5@@n;Eed((Bflj0>YmGO=A zdfXPMrE8Hfh~kID;^1G1#Vv3+3I}uU-c!Di!xvwWkz*5^z z+@)@sYAwjtQ2aR=qU z$crqDB{jO=v*M!IU{tEOd!&Pcqu{M6nIDO?28#lL#)V)9p&qF7N;v(}0L4L@1k;kg zu_wOAv33A|R1RikZEDP^!(KCHNtF%PzZ&3ULQajCL>S{~oK+_0Y{Ya(OTO(?PF zuP%t)5HvP=Pm~gr>e0Vms{L+_?ev(HJQs?P-plzmP`f=l<#9X)1n2dUQWuc|T|qX| z2tb|18%qDz0WBfQlHMx-m^w##U!wns{qbG==sd$)*KU8nSD-1EttHfxG=Lz^`A!nOtKpqoDk zI<8FFEsZO<7T)}zr*Tnh!br&ZV;G0+dfnsUW}FolM`Vsh9AgG)_1tb1A1_D6E~jLz zr8FG7BUV^Cx+unFs8uQo3u9FG%#uu^*Z9e2XEiMyKeCcCKFU{&1p*4wvO_)%@`}HjDHJwdT+$nxZgACc0X*%QYUh4)g1C)jp#p?qC;0?}W9&^G#CN zwIjhivqB;FH_ahcBu2cDN z67DDv(E_%#8+Adh8=EE0Yr#9iwgg&>c_kxrXK6O#(;t254Cv2unl9mP6HsXk373JS zQq|v)N`Jr7oBkE5A?WW@4eV9Uq8nE=_EIc$6zrvw!J2MsbDW4sk=^{j+)B3@O{}o< zyZWPmLj#Rc9zoG+lM%t}+r^I+QX<A+GC{+RrAuKira3 z5lA@ci{la7r`B4pfnk-k9cIiCK<1bzah$<7Y*3TBz|XKguXX3qd%NR;WS0c`;c|}+ z6>ubYugIpKrC!&GM?vyvgIX> zQ1drqgyzf?&*IJ+!>)C~a|y~GOC;Y{ZWpJ!7It0c49vND;pvB~9+{(|tG&p9eq^)j z{M;w+UjCwu4RyuEp}NC9+z_3P0(=g;gANAs)rZmCYN@Qz$ly z;4~H$dUBo)=})-;^VP0|saXIN@wzP_vT$xrgAj!pTGnf%&$R{UtsD6K1xny@57rZ{ zsy&d}m&FfB0m}`kGvMun^R^7e6r=oOOwrBW{}9=03ZxF?(q@<8J}PLb2ViD)SbqSD znFJG{g!%0O5|pOVnpZZ`luXn?p*1> z`=5)j%gCMFycSas1^hf`!a2kA?iLWJ;$=URlE}pkC|wpkgP9Te6gS)uCe;4^f{0b> zQRV8vtWaaa7t5|%4--=F@OecGV0nZZSHE<80kW~w4zEZFDlb5!D;KaB3XQ1SKy8mZ zxS`r+Z~Tt-_OwU^229BZ^1t>W`Rx#Kaatyh9S(hEq2?8=2h@cNW;A+)lGE(heS#cYT~37sd_qvqE>S@uSiF(6+VKRTN4`s(KB$PY zORH8F(m8opfWeYcN6)7>f;iz@%rdjuiG(-A7and?3iJW`@+jITd8b8fz5sK+tBPYC2z(1&ahb#i)U9g%>dfdmuwwezs zsqPHdUT;1XHXuxkJju?zpGNDz>25wnhw9D(VGmO=028BV_zz~E?upeC4bQ&D_ubM# z5a5m)?;^nuc3lK5QLZ?8pZ+a0%(tQ^J^)alUutS3AVltH4VB<7#o_PZT84i|?Ahg7 zzDw-+l2bvPdU2`Kk8A|^S&VuhKg(aDw0~K@XsJY@lQ2~S7<+P zipF??9LIoy^LoP>$L#7dZ)`y5n~36eAsMarVTG_|Q%#P%WyW(YlP*R)&?$C@EseyL zhr@nHeTPKGA4q-oHQXw!c{dDqUJ6)TblmTQIuX~3Pdjl9Esi!5a%dLu79m%9PYxc2UnM?sltG3U<*+)_M@qqn%3q1z zm7M%xD#6O|SK4Y${3)S#hhD+T6pM>v)$&$bD&86vV%ptRQ7po_$zWA@HB@dmp5-L?{Q z*xRO}*tb5wLu{Rq7#7&E02ZAni$E6K)MAZhO@{}=$}!K!81-|DA_Z59c4o*4W?i@M zdv^+NedzD#>@DmIac5SD6^%Z>{|qY-TL&Eo$qzF?QGtL>pPMJ22L;s}QAi0ai0sMJ z?iUG@_#jUrhGZHc6M%n88M99t*mcSmuB;zf5pNC2*|mGie;VQ^Max=UR7i%WYDo*v?CD|4ry z^no?(HmO>A83ORvS)C>UF-U`X4Fl*Vf@k4_D1i{0_?H6Vj|avkAv?_ET4Wm3v@sK` zeHqz&Hp2L?17dfzzkos-x5|7C(hgb$`s~yoyPdV_4}-%rph~JWsJQ|W%Qpo29LO?B z{}YWZFARKsE%v5)u@t8b8J zL1LVWvyP|;WEU#-K>{Gvw^6`yZ7jUhB8IJoen&BYscn0?V<-qCSJ<4$nSRU@i zDWDK@KoeR`+daSzr#=5+AXvONgjg!7Dj^!7X4GvGfqwf?4z1`JV6CiH{DH}|l9?<^ zK1mwn;1)`3*sX!p;Fy*?Xy#)C34Z1sVwezil8}q@{e+(6?{Z&1BJ%pVYpSnoKiw$( zFzIFqVr3l*Bd&wTJ~u~YE~FTbk03kfBMAfqxCta>fjP2WIlmfPmHiMb;Zqy4@3%Ro zI~-A-i4r8_?}B01TAyeVu0l$FTEndf6ub24cx}}kO^-fYVbKcvwo(nMV-&LC^<0G- z-mI9a9Sn(|Jf->^XenUV8rv~sUm>VX#uMWT+Wb!p&I9_4`@=>FM@@@z9;J9w3`|Vs z%wVUG3eX;sT%+T9zlzxJ5#9WKUqoG3ramTYsct-Wwyt@<%eF>!%4lg#7&E@v(h#_woy?&3LL+>QDpvtEwt-rHrQh@Td!hh=nJipvPaSj0t0~ z@K)zL{bBK4az5e35=Vx{UWLNkvJa+!ceofL~w0r#KP z1oT!Q1}_0eFs?|TP&$+y3;@K8~_oXz}<5(fGN#eEIq7^ zGsGhj`xBy!3e<;*%!)nEw|}4WZJGNu=NlL&I@_7p!@W)-6LIXo{-D{Ryk}C!~^MC}0=I`>$QAF4L`5Cy< zO>VrqO29C_c<48V@q;|kwFJk9AAm-)%nUM&yAq(Bg(ddc4d@-;p|Jj{N@|Qk@MToX z2C~S0-cNY{EYI~MvmPlL4oUU9(!Cd`ly~4E^-#{MMdduHZ{)lcCr|hfn)6(@GvcoV z>g=^cnGeAY6+e9G3;B0!`%4$R(H?uk;WwAL7`_d$Lf8q#Q5~W1N|$>OA>E2&#?fQU zy+9Mjz8zXwJD~kZ`~0~-l03&E%MXoST)Or=lu>+?Mhc=R9y<$b7GFh;+!XxT$jxsE z(!0OlTi#fe&gWx6A0IJsr_n!0EJWeeNVSY^NuQX>$;68aXx8a-9{ zW6702A*@APjO2TG`vub)GI>}d4O2gIuPgUwX%b)to9 zc^(=JR$z#0cl2^RTa~oXE(lvvt}KUW*S!(KF8B>1U1eq6?t8~CW3T;6P<)Rlh8k-v zk;80I=YJ120`pXjXaCLE;oo*>{6#?=Dt>XKHU%`;+!cFVsCEK$8e1}1Ap;lI3@S{p zzX8PmJz>%fHUD|@e5ois(&7LO3#WJlDUWDcfv14{}ShbSWM!}qFC zSYu*K)qM$06Py%JFzaEON|SuIzbwjzcYxG)TdlQRV{B{CA7YoXn``Rx{7|Dy=l*1L z=^NeJ3#g5LIe04(YNLhtwS^VKF`lXYqpm#%9{3kgOx40rKLegns%<`-hoyh zOl7z@KA4Ns?RkRBToe0}r~*z`&!|It#c|`f#Xmh@^mB@{x%Ws2&J1(W~7+wxiy zBPsiyhwhD^+z#Uh_}mCd;Y#ChfNiSZMa+W!pT~S}JZ?mQD z9d@59n`1LTYL~<;J>tb9qpR;rXj$_|Bcbl+rp+r)kRWptJpp4`a}<(+4dMb&_A%fL zzw_tL@XI|l8Cq0zvU_E=&!+G3OFS(NfhK-mIBgt z1VXn$MeDu+RKgqc0Wo*O2}#xBk7i5Y96yhroB3Y+1kNd18&4!@3Ow?ue{4#jkj}sm zoK;u$CUt;;D#>dDJPL+)EaLtex|u$7;{L;zOYAC+OI}Iyb;&R{H^TD@%)eJ~y~K^c zw0}ZAzYcUNDek8-_ z`KO;E+-OEL22`2*PnN5EH8PAFvCvgxJPvm_dE`+d@C+^|KFW%wrKrd@jIX&a+)?O9 zq@s2lZF$+vf#t!64{@Je?r4}Mi>x){vPB+&U_Y4gOHva(JBKe8z;%JP=2MO_0 zIC&U=Ma|bDm_2&Ru9(Dwny{-j@w9F(DaxRBT`uFmAaF70N@Kg_L6dXVA6flkig3Lx zX)PK5l3{$}hJH8L3nly5XWsHG!IEPA$x(!1dm5OSGjU!l026bkIBEi~SwUK~q2{gI z)({_2dExw1QOe+DS&;R1apNs058ld;42OWD8)YdLjz7ieiB{e&=R_q% zz0Q{p_4m!T*QY>I`{J3?1Vy8xA3oHG=%u^B*!1AO%Lj zQC0?Naxi15Md!sO7AjLNnzpheJ@5~Y2LD2Rjw?CEa>Pe3JJxp}49I~j?<{9~7*e5U zy3m~BOVj9Neuu+)=uLO*5Y)a^#Hyam#A2Wk+nxvwyrs{st1Xe-$O)!=Z}8j~Bj+F~ zOFI!xhK?GI40-SQ%|NmI?!n)01PZnQcndm{*<29F%77u532p{?RAgKvtl;0%RQ~QX z`u=K%GfhoSh0xSWzaS$0nlG!Tu#IGJmQ!T^$$Cp|#KOD|1)MiMgdP$5 z?M}-_$m(KhTn;%yDy&ME@v^;4DP(m_b@%zIAH8>@eOTwfwC6)csH5NPfSfgXMqqfKnr5p}t6 zF5dANb2LM%R=Qd!UW_Xx%F?2>+v|fxDBm$f2$1;HMn_P?em1-Y1<5t_@B>gbG^fNC zv;Z)ias@c`Km3oK`Y847a@Vj6ZNpE!&0}ap@v*;L7dVRfu2>q)w6|)X04kgbQd79@ zy!Q;&Yrf{A;~zNuh?D4R4gBQCtM;=-lbnlPlS-jYG1j~q7UryebB6Pi<`1>hzAO&Qon}z z3dA;!o*lv>DH{`vkBlZbhnrHBst4_Hx%_;AHls`FJ|+GYvHqhuvFUPxkO8I@rQNv_ zC|KGp20IGQizz(YuzzT;)_^WaiUiA>5+kZMjwFg@sGO;rz9^z4j+wh*Ddb3O${IJJ zae;&G`EbWja;l4{5UHhtb3yFeC5rk~{%fr=wI=pw?Z+*s;H&Ot<)^$?MRsQTW#V?q z`*R6PtnHSU^R$v4C{#8A@{@_ZJC%|7P3- zEtqtcS+%l(vRyS==b$I4ba{d|5Nt51zs}sZI*l51%yZs-dYc**a%ZH<&{wn%dQQ_y zhR%JJ1y12XgeD2i(8E83+TT!%XAC>v0kQG3q7R|ny{g6qTXApJu-fFD>Ek`B1v5DBK<=m|%ee4kN_eSuxG(Y&k zfxpiIbDYn-5-7zFuhths>rCo-&px-XoLa}>(hvC)YxzGT`=KcCU&1IM2u3;b;?_Yn zNgjX;?dUE%GM`J`OP|v9x07D69pcl_VO! z9nkgL90MbWNkk;K_jUo`bj1GzuaM9y+Ky$?h3e07tRcC=0LU@yVqvI+H;qNM& zz&?d8xQ0dNhN>)WF=|(7dphETxZoiyVkuuElJ*yfLoj~KTjthay8u7VZPA|@n_77V z7RT8)q&Yno55Cr91ltt4jsh>&CCUdq*gRuHNN&1nvBo zsz8Ej5u5n{)5zL6rFGhQzf^BOtWR+Q9&*)Dme&@?_{o+2xV=D{oO zxEW}}Ew6(1BG3FaXi~hs6mxIftTtxzD_B1y^Y>4bUA6-of4Yk8}5u>_KwSEFfKN9S5TU z&(3c)35Jg*HSwf!Sc|vq*(B<3JJ;ba74}BRfe@;ha4V7y^QZtz=>DO$p9YB(bz&u@vN^XjuB_PvZJ~LOcw^o7)>hccZZ@Ww`pZ^jjh9GoJpa&n zXp!Dg@HUb+L*kh-PKVxtXOKl4o}eeK^Z`^7Ccd##Hi;uAiO0{}1ft?1DxN&`y80HJ z&R^t1F5deTknkM)7?>8JA;yaPAMdHn)s(MLBr%~k#=^7(9d=p;G5-u!FX^*HbNz+w z(Ow~^@y-%+yXguuDotl(I+yd-_8*Y173RBnA^86WNJ(i|_)dvl{sI;i5pRL1hZna3 z9;$!vxv|k0Y(U0hZL+(7P9o`{5tw`Mllj#qMwBcZ11&P42-zE*x!Y$0own(sCTYMk zWE$-j!l@sm5W1t*LJi%NQ-UrI7i+BFyBuDHS_UdtXpX{9{>0fDB$#5ksR|^hL;9CUvF3jlR%T5X<`8)cP>{~m$n zH$^c2EyR*IHd{fkX{rv*KA8OwR`)-a!Op#*(O@F}_!BEN39(X>TlLT=;YF-=Gzahn z%@2;J!9c@(Z{H+Ll)xwM^&_o`_$?<@LsGw7GopVDJYf_W=msK&en zIOQG1Ut5;=slC{98+R>BBP`cTsr}; z_&0N%eR2Yn7Jd@0>Bc%>54c4&*oD@WYm;v0cNDemN%4Dx;-oe(k8;KRCugrI0sf^grq9GjeZLDL0_T@a{$a$ztGdmLqLPh?v;43d95VqpgfZKl_P6i1qzH!g%L@ zME0Hbtu_3LkOB#oplv$MF2dgcrc#r*Z(pVo$t_4ixhCv^k~fO~rh`2gzC6o9+$DVI z2iU9dOQRCHh3p4C-{B2Cs}GY7In7dD$zX><{1T({Qvt>1k!4GDElb$j8Cye$@>1d@ zvR9TDTGXky@IPtRZrtkhOASYDV8l54J>#7GV2!!hS(bf%sMKW_&bHZqADkUJM+q?P zIo5V1`&0$sAXxkV%0bYjoOZ9AKftDSGtPB&E?EowvF9ad`6D>|+B zKScPK{JnNO3KxF95c)sQf36T5-)@pV4I#$QeEZuFOh;ckl;=d;^aT9E%JqmhAIyBM zUhJ+#0;}Nua4+27GTq&=5y_XO&)#Dgp1>xdH4T#+QDabDA)<<3T_&w2g}BUrjo9~V zV3pYbF*+mHR3I~TlGW}C1lylmrGN$_b9?as6cR~%IAp*xz+#HUmF)qNd!WyGn1+t= ztK*WPYqWp7z~~z;O`G%^r($)hAzFd7{m+*T?sA#G;4e3!TD0nT=aDMFg{Cv20k#_` zA}TZH)5M`R!;~Xnll><>gBi6F#-=Qn-34x{|J4Os_vtsxK9#9{3v6UF~}GWo_@gDJH)DuPx1D4S;5U!b3U+H|!t3*hbS4kaUGpv^CU z34IwCfJ`Q(Hilr$T2zDzV7QF~9v9p~hVs^I?9QKqk@Nrd{JC_$;i`N6ar&rzn~AwP z#96*}>HVBz)ErCoE^g}*mLP#(*Q6&{1~8T-c?;U@7jx`gAByM3#{aQ-?(2!(+g(HI z)oc_tO>^-wvjSPS20IKI!kJ%ZPeFaT`10>#; zz&F?V_TD=Mo_C$8BFLL&^;ztj6E@SI!-9HiUHspUy54lYE5Gu9puMDbLeSqzl1#6t zbJAewX|H2Zn=SOQ8pP$%1|cCG5N(!tGuLWNXpf>TgX8-p$uk3YsZ-q5BqEE|f zd^-0*t9#Zt)~~6qxD~OnIxm>vOkK^#aGz_X>4q9jOt5njYK$vVxT~opwBu*jVo8jp zx&Cgh>cKZm3L^Aai6RB|5@gBkzOYsEw?8coi;COwssN4!uS1Rw3?el08!6uHXKqjg zG=ilF#s|5I1*pC7JamqtswBViB~FCWk@LZzO1ke>N%;gN5|n7;a1k%b>gHKKPp(~0 z!l7}ac4)FVY0=HZlD~&FoGk9)Q}9u#i|Oy&^L3@zEYE=1F{2iT*F5vko*;=g;JXC% z92LxbOP?CpGVBtVuObC&!D0k720xd*#Ry7t*G@$a**uARN$0Kx`4O;rzGE#y(NaEv z|7O`a#50x`i{?jes6~u~xgbA_ukTxK!wM}?6J>b>GyUtvw*oA;Wv~_;?8h%qewU^ptv!nuX^fIX#Su^677 z2WyxILUDRLxboW@rT=NBqsw<2zOLBmZZC}Uv^gaiJo)VQteP8fo%OeyU0u*YH5ttT zWv=V%BDBoZuZz&2p}rrEAqzEn&A(G0VJNjr^p%R+0z^l%aa7(J99GW3eMA@DYOYzB z%8Um-aG}oemp)DOx6GisoT@5;qc*4E?#2|rLb^=@6wys>Z~-DA$*{(Rz#%5zU0(%l zko>`CZFZTCn6ZGM<_r`u3{^DH&Day82v$W(sF~prT)28RviW9Zsd4dQ_Jke0u$_kx zWpjy4(nfRSyjN~R#2{n$*M=mtu2}qfNMg7|yvXS}iXyZ8u1!_D)P}LW;q%3k=$kfQ z4Wi&J0Qi&@J>DJxXyO;#tJDDQr};a}n|rlXx)_jB8{_qeLhYg#sghoSUrrJ9KD&pU5=WEK?s z4tn~t(7t+fh;)tX?n8ng)rcTsr2`z`BV3I^7=i+PSU0(}MOkF2LWgS6Y3e^qDi*?- z3ga1*Y1W@?WlETOz(NNk$aDPL%+5ZZD-{T~ ztK3(;DFb1aq69^eFn&?jT&gflK3Xj5yR>t!`$F?Eglmi(DrgHr=9YD?box-O?sWtr+;7-z z_o|iz;$cfJ&FyqpL#65#2V8>1!<8crNaqaYD}}{GJCIOg*t7m&EH*rF7g3wT^AWnzkZreMyUfl43afsu_ zyvm7*cF%!x&pnpu)=PT)dj0alDawAQ+svc1Y?yf1o=+;|{p%xqIDJ0Z$vL6rS`7E7#zVYZOGLONg&8%jilPF_`3>7qdd8M}x z&1;8vbJLC72~sZ=Oc-w22of@{8J5+UV==0hEG~er4llWDV}Fd_Zb(DU8hz@WZFSp z%L1S1>mA2Ax=ucNg~5dHdmLQ?oiRu{#SmAPJD#)a-YsnID_2l(YGy$SY&$;XMf3cq#T*O`=yN8%?)twAi7Bg%2;@U-<#1zt|pvnW-FyT zlOo|dplLV~O}B8zSG_c_UF^_A|G_2E+T|Sl(MMMfi(+wRx~s9EQ6V_z1S?ZSk9agx zvc;37Oz3TmYV8Ok!5_Wj-f=F%&O3w6n2Vp^*fObnjZ4e;ax^6F5)Qd1bky4T`*tKs zF5bVI9;MA?n)Ah8Yxtc1=H;z&`KI$~{#~XZ6yahsnWS0ML&zm{YE%#kz-J65F+vv1$ZN*?4TvC@~6zq%5K75CG+)QPeQF+r$YAU7oVfwo3Wg>23 zC=BP}e>n`F5$ql-J8P`FZrc;KZcFuOe0{t`cIxIbJ?P#Q_UjQ}I4`m@I=#I<-@c(F zOaDd2wM-?bkd5=^#pA@ZBrLwNr_ZWuN1}O_k!gsBCnSm`;3~Qshfv1fnWy5a4ePM1+#|yoYsX$OO`a=vCx*!I12dOCIO_kkDbMUN|zMChBmEFI98qAyyM{333dZTCf>N}4n(0j{c!W?MtVtxsYVKTCR z;iAYpWseH)3w8qTvi&-HMC@k|+*t3=OG&5a zU}39%;u|+I?x58pb^`-;=93*%!t%cx_tc_If(uWl@dKe@Xa6-a`rd5qmaJmU7j`B{ z7AE4^>ro9Ix81XDyL8)u_ixi)SFU4x=hLJLOP`7@UY6!X>|!iQ?g zXI`YrKozs|kiRBIHc@pKA3!gP111dh~VOlYcjr#Oj} zvvyHWEy4jLG|kzkL;wfb)e{_d8D&=Uqs$4mn!QHm?!#9fwjp|`?8EV?A&U*R0E*kh zqyn9iqb`?nK!B!KJI=6pdp_|Xv3>XIzGCZ(SdM@snjF#E2K9(-rkOt3TaW67sWovC z=bY|I&LwbJ*_)bhYOm;p^mwyWXPZcg=6XmCxE!D`%80&+8*X%1sO54ZO+ke}-{5$p z3@>*_wa6xy-Q)(B@hm!#MtMa3%+qX|B*~pKJ1ceZilPr&9oQ|1kbDahAfiz*-ZBjy z?;AE{cPMXkBDTZOR?2m|e4a-|l-4W0YCb+aMERtObM8I@)Jxsq8?`~XaP!hYciF6S zf|tD+`LYe!i`hp*j-&8!$e74y^pr#qM7};vUxdj+jAukV>OJ~pi7k$DW3%fo%sNw5aUS`;WpXX zjCdx#dmx8IyV0oP^PH7bKpclzeTBir&v)}g|74Y4>W2Vbl6lPy+}D2Xw-M6f^u7mz zM5Xl~J^hH@hR1^Ux{sn9@5m9H8*UU5Nka#$@6Y<2cVV4sawwDliOD>sbnGfEu8x09 z+Yqakk%u28|53a#M9Wb-bsJDxvNq25XO7b8lLS^}qQkh3fO3Ya&s|O6qI!#vYx9HS z3)fsV%Q&whq#v>V-@XY%E9>*M5=^&*s` zRby?{PuMZpwDyvqTlz{puc>F;G9N{6=J5oW)RQdCd-{&l2_*J~%FK9TafPINm!YFx z5~hP`!OIL%eoC`y@dqzIR@Pj_^7cH~7$UQyf-#!QxoIJn=Ze10Q%{l(2BQI#@qNZRC z#!90kO*tDMtdQ_6mQ}r$Jo^LpWO!d?=sn>jOYhV_XxcEEEADJ49bH4zJ67#xxM9)1pWzxnGO2O8 z{20o}O<%jTwG5%QW0-Zx9xusH#j1(;NmrtJw99$_hdmm)KMAr{X20fz1ArN@{^TS` zd76!g%GoUmnV{!3mNUq5T_P@{^~*FYbX}1iF@o|X!%9hP_jE@;jrAz_k{PC@b=Wmi z4QB?1C=SR&=OMCVaoA$XoeVp|{#09UB~|oIxzhzb6}RZ-ycAlnh0hqW2gu=LHn{jd z+9ayFt}>0C7CLvahfs8|;W77Zv_;cIEVWBZ47TB1MuIo24jH9w++ZL*G1zzsn_i_q@y{kp<~> z9p5f&EY>Q3j*h1Gnw;!MYYvGqzkkv7)iaKWPp$&G=a4q6F8KWucPuW7Oi=|}{e7I= zG78G|=GNt05F9W2+&0Df$=2Ba@z4+kaOlfu*fR(YO@4(#8W0>J|MB6_yx@k_M*AL2 zj&BBsZ*@J{1d8%6P-rB@^C80MXzHNW8qakkxqPLI#moF%5Qh0*V+P%fy5;jPJSkD_ z2$P*Ip~{MK5g;oeu&~bKeL}PHu&w~(&Thsy#ASQG2YuuaoA-x+DTDyK(ZD?^K5m|c z#;SadRKV2LVlEp=PP>XITcbJ@5Yx4MppA_-gCJcW8-HK1Vm?OkssBA7I*=qGvT%8y z)PVxks`#l4$i8_aq64-rptC*;b=EpRerMgBB$BFdW3LIcBp5p&G#Uk^4?8}rDO}G7 z_Y4nedO00O1;AEB7!Jg@+}mzrJJDIH0mwm?8+eCrv|I)?u+Sc~No+V?p1TBba>(3& zGYnz@G9G@qhm1=3U+BZO`a5~2fuBW>81LF%xUpUn?iYP%P@h+WINRJ!7YqauS zEA#4;+qkk6B+>_c4ql=UmTe>pHx$*$#ONdf>05COy`7eV5i3pINeXX4PsjE{8zV$f zPac$fiLQ#RHxszm)us*2_f*QT>y@kZ$+@7(9OQ4yBa zwp4{wpzz0iDRFh(nCpkJp9+O~Ex~k{mdobw(r})Zg6n!5p!+)4Ig0bLIid2CamNsy zL%dNq7$nU=vWij#w8vc@4^o&$xuwWNQ7xDoT4&1%X_N*bB-0?7_ukNwV34fg{>x5) zPXf|VY~E+gGr^1fcgl*^9PlAd&qR*8w8JJRQ4|&;Y6rV*q<*+$+s zckXm)rZ7i4wu4{h4pEeOS2ql2JuP$l7@%ZHlL)VWMupZvLhZYWW*l8$nF0hOxg}8< zUzZ^Q?h*ggTkQP}SB~vW)%2xL*2KTX6*WI(G*FoO&c&Ys*|ycq>@J4JCplSA`Fygu zAmyvXVJ8G}u?~*x5Xa>~naM%QgM${`d-w8<19!MA1Ib{RtRAmxByrion}RS%|5}Or zZ;D?dPghE`V)^$V8!JC}{ugfLfOfldl3#JInri}|;nhu`S|HOD(o3}1t*0OcC|tk* zlM#IYo$>QfUg;DQvFWa0K}tF=`thd}#*pidN?<26-<(AQ3GB@GC9tr4;y4#ngts3Q z5&(dl!=z%dJA1KE7c}=AfE4`EoBNLCQ4Qs=T^_3l;*4ECzYVhl**B7)iyY_J*<-v% z?T!vGHGsbN;(f&7Pe3P8dgGqWmwiC*KjVtm^Ey8rI3RjJTH^eb|AaRd?ATtdSN^Js z)}nQSqW6aEDd4goTC?wgUi&dg!(b>&D8;F{mS{|LL7D=W?K`|n2P-iy71o&{KFZN| z?UptcmH|ZePqd(v2^NYJR4%f)g$_tTW8Oa_1#vk+C&IB$7r(XuEob-I$t&P_esP0g zyu_3ypBn1f^sJ(#Z(2weRus!Tdq}`O+NC~8QvG06Q*LWP90?nsC!f#93cS;yJCRTs zvoJ+}<;?TZ`oS?QHlovuDk&wt0=#XJ`j!RWonn3Xaq+}X#tj4J@MiGRFm#DD7V8bcGTfd0vg4Vb>j(`lo<)QqL z)vX%}6Ev8Z&P3*MDYCWeGd%a+S8)PK=>)QtdDxp#mw_^ql({h8All{mQx7b`Zkuv8 zdSv6XVttdHX`jza-C1kaKF{BPt~t|Iwu#MLT}%)@+%M}>pgu&#sqja%;Nq3dUJeDS zJ&;xofi%;{I8Y1nhJdul!r!5y))c1>u;vrWle1wmRH%k|L_XrYuUo#T^tp95&NtEr zkL~h-7#9Q;d3+@6&?d-wiQTs@PHX$R5aH?gb>5K^B`b&H11`9@3Hu1&-P7nR{3=qokkk9;dypgC+@*a`N@BBxUJqa5c{AuAb~5T^$DL$|Ud#kc9sg34(2W zw)4@V>^}M}hPsO=avBjA!5iBX0oJ0$*F{n;7R$zV@G`+|iXK_*S z(UWkE!!+Q5%CQo*ky@9@9S4K|EOGqD$)Y=Vkgqr3b>79|9HDOm&vL}Qa}Slw;1Ni= z0&sAgO^`^-r+Sc;qN?WvHw!TlIm)p?Erl(Y_kjf-G|0(?t zP??hY|4e0KE$tE$dA~1#YcpUKZ!T_OWr;X%+}!{xSjUl@tEq%E!hPAOq5~A)IRG5x z0fJm!3Ul3B9WU7)HItN@=+Jf#Lr^}cC@wG!<~jX=_2;4PG&!7IV~^po?iDgEh(DhbF53Wg0|)< z7{{SpK_9mslO#;;%wtHTy48i{>u_%0ZxB!FKqdH_v zp{Kqfnp@%vn*}cXks8Z+p=cnf6vV#n*LY-tK6U`pMiG}Wo`DDxAVt!&dw~)8813a( zHo4H_HN=j}It|XpxgsZ*YGwgMo@;APops&%NLuW;+Ej_NhX$_j#=9ak`x7~#mdpXG z7g~$Q*RzW>g5^8onAwa+#Z5zk9|G$DT>SI!o`+(LI(gV-&T%Q98l(H9b@0$CQ zi(k8QpC4TJHj{QO35_<|FIJh*t%SX8^#iDeqfc~#*}l)9Hm~UygiYY)tOmpDn4&nB zdIsz3j~H%YU7Lbwm%7;)-xgsIP5hi2E4QvQ`pMY2C$9t5tMABF4L|dc(&vya84mIT zT@&*(@IzF+6xaC7MlkOER?qUQ1BB2>tl=|#o}0Z`eZn$>W8cI2i2OdKCjSRcR$Mdn z#Wl$Mt_E^)Q2mpg6ddf&tX3c}fV( z`elEm?s$J}C38M>Y4ui}{a$Mm2rCAUbyeuHCj@W%CPbkycvp-!M9bzSvUpj?(UerY z#kG)em?HcZm+99GaEajl<#R6?b(1cXWd`mVvO<6%%e4EqhAg_jXUI~Xb}bRyC+k?O z07NuU!MO+k>$&ODv~&LcPnYgp@O5cV{m{!1#*ZRn8e&enlb~539^F|`*R~19<}och z>v8lXj-Oq;=}*3^pigBe*A?l@&yjAxbw%-~t}AqZwj~C+eYk341Fl8jScV120Y%xc zmE_|PJ69|BgOmAR9&Nj@@ip&rwzMJl4KSDowHx4VhojOXdi zPZC|Ty)V9@GaDZLSG=2`eWe+`-G}v1agPu^K-GfA&!32bh@7_C?Z>L4#g`&ASy+fK zY^bcZZ7Ocv`!HF_R3Qas#UVdv5bAnd&Ut*}Ei@VA5= zfDMw0@V82d_iHjMABsZEUju9R+eVw?6lQx%M4Z>=(86|KSnLM`M+wq$W1;(HYRT4M z3B)6ouuZZ!R%Di}SY?vAUu-+gxS^$CCE-gEt1+yt8gLZ27);&}%34a`r{B`9`#5$g zOOh}p4Hwt6hh_GI8SzV{JZ4#s(;>zLcNoL0@Ef=`BIxIh&4<|=c;y}#$Xj5hD)zkH z@hEN9xrgbJIu{~|InpA0My=;cIiW54oT(M|k&i0I7WQ2;HX-i=6eaL*DY%x-oMgcO zF5LN@tDZ+I`=k3vn!<&R*42)k%+3UcNabFFc&u_2!Z7pdCE&#Rq!{FxOm-=JLy^di zdh3KDnog8dT5Znh4i`L_-643042!$(fdJJyAXayd2lVbZZ}g|eDfI5Fy+U(bor&>1 zvL}M1nTzhAzb(I@gZd$opuuJQ|510<0afK&mrwywNDbOm0l> zStmWO7+kR73u>88YAjs3vFCpcuVz|5a?T}KY8zEQFWCy~v5M1TvGW<{p#7V3L)_5r zv2x#_$`WY0an;U$A4-Be_B@zhyiN4S$l3$ywL)c5k?Urdpyhtruek?0>@V$Q^8FN~ zb$Hisnmt5)#onx1Dua%@P?^8_bOHYFE_DtR{CcUgF6+|23SwYEg)Wrrg2yvqRA^e} zfMci*u`iY&r`@gBdlnn>A8NVliTC_}S?0umxEG88%ucBGGjeEYN?1bU$KgLaA;&n6 zYk(Cre;jIt3410T0nk&>y^L7TTsn9{r0-|_NN~- zAU3dy<@9B#shDIxOF3h=m=b(^h1}8mj5;2%X4RJqI)hcWeHx2I2XK zm(B?(Kj@Z^V4%PE@s6-Hl;8C+zDkNiTM2JS|K4-|-{#zC;i!x*0g-+`TA4QxI^-CG zpiPykB?M)f^D8%@k-rflji#xjefHD)W~5b)VD%CY^5@oHaB!lXB|GonDXAz@tSI$ za)UcEX-3Uqu-||0HsT?6d*ST$>a$NyPf_c(9@+6HNA|mM`CSOaf<|^$e{*EV(dhRt zjO>01jC_&yEob>Or?XNOc_aS6HEo{a2b(`ayimtuko-S^ZZFTq|5#z_MoybCxBfAx zXr_5I^AbP_mz}hFdhbqpgR-{+6r`;9>|r$6?B92rp3DU$;7D5Px=h0pm zbQ-Zc0bU-ktqxw)LI9V0M-uB?b(ZV&6hUeErdjp7?muX11T|qo7B0aZWJEvK6`^Ll zdDK7znjvJ5KZjq6cBsrgf4fn+q8md3v*5}jI=?P6`)&j8nEv8BoI7%HFE3m(VjZ;- z8&o70rS9gXzvXBTZCMKHk2Y3xSQVWy`?THa-Zrv-f1~#i@d7Avha6d>}p4wZ_(X^N`>w)Aj^6OZBIQ- zle-={Q4dXy&MXiYLBX|dex-I8ED49w<&mlIAFz)91WS+0otI0K3FK--HqcVbV@R$xve11xsR*%T>00v7EYyKb zs$bW)>@W}#V=XGEh$VkcL`YbpMKz0-KiXm$nK3s;C~brPNQnW84mMnjg^!9Ii2A3YE1ll{ih zp!V(47q5b)y1Vw*-_l?s$Ik!o@~w;e)2Fqp)bNbBHZ?G0ehp1+ucH%kBrX`0Ycd0c8aq@CYG`F`zFy>4u-@b*` zDvW`R*;(1R=$d4qpcuAaP{T_CJgx3jmIs zF5bcR7O)C$zGFxuXg~+bd9yUM9(^8z!YO$R*IR_L@UR0u)#o({ER>jLxa*p8}w25xoAvn zX%^;$aUjVfsYX3zEWh2au*RXloh!_=S0(ibEXx5s=TNv*f0 zdr^rh*=JmbhNQS}J0Sy5SZqv?#h=MIORp@i9K~0_pCI_HalSSUu2n-D8o- zKcZ)zYIxSUcMa#4)dDVPzW1(B5V3`t2LxQG5_$W*Iq{>}z3hw`M2)m_{{g5gD2cU$ z$MFN~-T?bCBmJ?6t*xh3hi}^9cMH!?CH+sdVYM6nRA>&fkBpA96@M=%V~^j-MT10a z)`Ggv!m~pU5X*9a6iEh!3)U^L z1wiBK6ohDs$L5G>^gX~9ul91Id8Wk6R(e6mImnGqgH*p0`& zBe(DogQX?2fK14x1H?mL6_XU%>wKUw6zDWswBF z9WQ~f)(ZE%jAKo3vL(343eu-V0Uw$4lxm0co$~?)HyB5s&I6+fUDV<474yH>0QY+L zDp|z*SZdyf+%VugeZo*@QHT1BG)B1c9H1qk1T=0DO`2*K%J@H(d=QRLp3 z0`?;iP>>($5yp)7eoNJo#tb5)t@(MbqXmx4;t(xvVNMf#LaqHManBc^Q|ManEMXv`5XH;C68TnFctY$X_s~_)Xrug2;P-RkZip?m?>Xn?y8{JG_HSA9tWx7l zIfM5&z@MvvHCvZ$NwBi^&+ge$3=ZJ;d2AMXaYBR~3nch3wJ~}rH;fRQ35*~?)c*%n zM52$u?GIfi|G|aDrGuT7Pb`MBv%HLQaYuFeU(YsMe)_0#rsTp;GU`CCI0?^F!Yj+H zH%hnI3~xVIwb>!-lY2$5GXw72oT^j2=cODxHZn8S%pS>BllV! zLOzn(y~_^yh>QdoTtfJWsC{~L-*jV{jEMxeMkF2(yCKX)5DMBAHzj6-h$M}M*_(DB z*Xoirha;odZGqYIiw(Q~FNO0f)ME!~ z3a>M6Erc`+ClFni=KOyh^t^#;!_}c~@aDs+MUL^ZGwjVIm1wl21CX`MeV`%%nyNi? zkrQhE*}y8TK1uk=pF%~ATv+g&r4cx>-B#0Ga!g5O0K#{#7YADtTx7O!6nHnT0l>ac zos-a@{|Xt1VCJytAzY~bQdGa=`fGu}Pl*dDs=xTJit2$r;5VR;?<9y`zg!Y+gpiAq z-wZuyPU#Lr-CT{j{}`|6F@n_t;-NpzKkv8eT$K>O=kQDW-C$p=YRIHRe# zCIHz>Lpz=yT5E8?VP{5fTd(uu|8%!t;8U?JSZor0H=TCKkB_Q!8PXfBUF{726ODu> zcE#{q$~SHl4ywa4uOVs5aRn$D~YvoGfMW*XjjvoSf zEU;Rwy}Xum8KESK5k8tHzCi@Xs-@k3?*25Rn4hRx(LMUQ9mUfwKO>1V{2hnv31ia> z#5ZmlAdM3F<9%j<1KDfr-&4_lC;fj_F)W}XG%@3KKCmk}=%HME?)bs^p1)&QWOg+3 zBsQS!sxO}N1kI92(IY7rHMbUW;&Wcn{cfdvPoupM!lJ&vB`os)mxM*omXkicv;oJN zoi|khaUu463)YfALLK;9Lv1h-nANLNuIMMGA81qu`~1GzH$A{~yN8mVdfdwmpkfwY zS{0T*gALVR;)@x@(#3WK#NsySNlTF6@`~f$=KSXF#%$OA&Wa2ruVa-SqK9=!vKa?v zkdeR@a&bQEXuq&a^Ki|!Lx6AV5uEISr&PbkP(;{S4SLHrsN2%w2xVG&Uahh9b(1Tz zH@?fGufjdT*K5EAun9j42jwzSNqtMY@_p|Vs+x)D_0zZcvE0}?o))mKJpoRx#3rB( zH=f*I3s~s(3k@mi3hcNS60BNvFBW1W*}F2LFBw=pziwLurcPnbW$ynj(RBZbq$cGG z993qcOwQpIYDMPEM%cmO{=6UT(D}zIC8L>eBM$&5M zb0wDTgFjH#bfyltSA3x$NTxon29T}lCjwe1k4a%fhM+#)oluU^rFpV6HO%EzM-|t$ zt^kYicz&G#0>0mZ3|jvby6NND1d`-YUCQKBB03&jWrA|8ZVNd_TB2xv7V_=yLnnQS z(zb$@!h}+I{+|&=ical6hfF%@fnV@v$S=4i@`)QT+>8whI$w2WZT#au=zWFQCw@b@ zD6*KwE_=M8=`stgMYiWEXWr1yi~A3v;OkJZCo#=3aP z{s;4yJpqD3siiXjTti@GvvGY`xq_V#JFcO&jJGvuS5Xrhuxq%ZA1~1;qojFurBg6;_AoY20{l}&XB!a*VparPdT4K}h z0<`i#*q+RSIh>22e1HJu53|}tiXfqEp=u7CpFaIU1wIEfDsE^30mvVtap-MX<{)8+ zfrK#$)YSi@31bi>jPfP#97F;!ud1Nv$CL=EMpUV*+jkY9D%IOkN0J&DfUt>nB>;+q zD)~)1ypXTx6odIQXbPCBs{v6|CC9{rD=fV81Z{2`g2 z>Fl87(UoEG))--awU~s61LDw;%P-C%9mZc!Q_z$CVy&3)G#fHjyixb0@CszC_zE&s zT-|aHLHX_l@Vh39KX9?}M;-y1%VtS&Y#Yvbftp#ocXyi8#!#L1Y$`W*w+!-eIw);q z;SitAh=IoU8J(8Y9&%(r_R`E-wC;Mh*#oktj5pstL~$!Y<0(iGhM8`h!G8c03C`Gp z2wP5s@wjbu8VSOmwZ}iCE&%Rcj8{TdL3}wpMz0$#dy8$u%nmo6()PT^7fTlDP5$O9 z`zS0b-N0%*qhd>q?-XAX{QNhVGEp(3{prWO`2~uQ+c-MOU+zjB17n&}Nh>E=1tiZ2 zDr3LP5s66A0W)a`-_Z{2h{R-9C8?r7U35opg6%`}#N6Rd@8j8IGs_rwaUbtJt1HBE zj@|ou6BqXL__|C8g_7ABYDm0>xg-FD4nsm{alZ8WYBy(SgU|A>{hkSu!^b{@{{%RlwqyMi$o-NkEKj@uRK zSw|>3yZ!5vN#CDd5X+*xPr1e1L6@|773w2nK;+Hs7(l&PmkCY-qFU(={Neg2Aq&A~ z;^A|*1=r;PMS~!|sJ*!8F9v-7z%0N z+oU!&Sp2s=$_M@MQKku+w5Y3SWIva5%>-h;I2#s%k%jfvpym4Ex7n2>=GjWVgUyZk zeM;CJmeF#D#}l0&S;{DVw#7CoIb!ywBS=ct$vfZ^4)V&eK)pSmm<_=}A)FRiVwc&s z&^AOWRFr&OmLUPz91VUnuL?LWk~yEgaI_iJQza^+i$flJ>%e1g=ZD80(lzw03uRH6 z64~b!OB?KmIMC@g)m(__thWMoYV|Mw(Yd)J)hhu!UX*mjW9Z6(QGIlFldP;HYQ$v@ zCNw`_;|23UmvN}<$g-5!Bn9iuY0-x3Fmm%#NcG;Q|6p{UBH~%v@1&~Ka7teeQL04W z+gx;>-&pK40#@;&*QG(z|p9%u(=dwyM4Z%Tk z?Iux|1SRMnHJJ$@EgK=b>Q!mGtvJYmB$snN=V8tfFaijv>3bo3F7I^-rNoT>;n|f( zo0B-`H`Pq*!DwVams0DlH)n`>VozbzV#By-F{SIF(jsI!qObnsNj|V5<}-ivn{yGC zoYLEU7{@JOql+cPeVC@8K+`}|jIZt1q$l5+tP1)=*2C0@rBPr#EIWN{Jv@aY^J_h8YCaWsAwvAJdq8m*tj6Iyyr_o%Oh|+Uu;#oo zfDzgm*G3y@xRo)xck|o*<%XD}9?svBz#TKnufH<2ZV4!WHyj{Rt`-Y8fr_wvG_bic zUJR|;m=MbU9+Kwb&i~cxSUkw00)XP5h=?1vbY9eD9D`|v$bGX^Z3KKKa$)$CLEhRh zkndak?n^a(UIV1`c!cMMi;@O>Wsws~9}ogrYxn5^`ryt-KgrhxRz&q2ncqn2{6{+N zUt?!M=(Zaq#z427^yk|S`8xb3Z+q2Ib84f>C%NBn>Mi>V*7(AJdbnha^T~Yr<6A#2 z08ZjC#>EIMR*VmjXY*B?5Ox>*P80Rlw_YsrfeU%C{OxN9mN5L^!V-StKjTW}i1IMw zm<9NG)jfrb{#zI?P`gZ8xu{(%4LOu53Jm{a%!ZCR!GRYJFHRl0dcRTou~|iL4*Gqz zb9}!+U$!qxF4&gkQ(ZV_kD<})r$-mg`d((>Aa$Z8Mv2Yj_hY=;89l@;>Qp$ z<8#Nl_>E6u?Vl2Fv!B<;bGHI+$~t?I(@#v28>=5+)82F90!BWnJZjY!y1;_g6Cn}e zU={jD3qk_p_Nz(!Cm~G^bypLx@;Nh3t0l`6d*%un_b}MVjIKek)or@j@^baTm>BBo zjBjAWlG|w)fJRE^z1>Z?-0KUNS}SzX8&hMzW1QvpJjU;9{kF&W-^*Mv{a~0xLVArIntL_7bjz%NZ}IhA zkB42qfEM9Hy$c0ml{N{wlmM*c9sS{P3C%VN4o^dR?ZO#gK9c_0Pqpmr*Y~h<%NNcS z&LKp3EJOcZAI;;vW5yyngK<7~%ufnGHone6y4_QWry=K#S#zo_t_tCBR_6HEai(6TQ#jt4a?J{B_yfqO%d81fa8VJ3UqNoP3n?y&{6D+^wA%Pt&TObit*?=IA*`l` zG5?NJ_;EUt0HUTmAZof}ndw3vQH!v{tNm9u{r(E2X8WNZnML0W2SaZF3M?_6jb$Gm zY(!{vaWzL@pV1q;7@V2d=X3p)OC2$ne!;W4ZyR~CH+({EhMCQDOL0}t+z0P3DHLy= z(lep9Weknu;*%IwYP&1b*B2)OmmAm|s481r87d>4@M&xfcqyDsTfIU4r)=n$gTijpgiI-I!Kg4>w{Mj-V*& z$L!VFY?aKi)EnWRy>7!J>3T31YnR0cIjohnb55OvG~&<;#eV-ibwB3p1>;dMYfEgJ zV#z<&-i;B-Wrp|(0%(GFYwd6QJ5++q0){Oh?DGDpup8l$*k1L0s)zOE+Sa}{lx3C- zKMn66B|l}Wtz>`goN&6R3a^)dv-R-vs3Rq3s|_@BE2J zxStCL3Er5QmmI6K@t|P@euz9|HMIy1n6#Is+<~j2uDMZTkL^pv&MAggY@iEfh-IEB ztWqP}9G(tDE(6XWoD3xt0r!+>?-BU@|j}Mp!T6mf1ZSbR%38~!EA%DZ%>vuJPIq=-} zhSct@g|p2nB~E!zXpEXvJ2^D#oP&IQKPcy>GTwN+`aT57Hfuk?j@3rbQh?maxo1J5 zSXc#gOf^!9U+lM=}P4TulaC3ZCDEhE=^Ep@RPhhYBuI z^wWRzkBEK_SH{|5Fw;eP`&a{^hMa8?YS9Mm+q0asDXzg}$}x{U2j&z9@3lP|eqq11 zbrCo!;GM|vFB0ae{m(}JhW>@32DIafqHV;VnhE6*60Fxc-)>pR zgtXMb*2pe7o`;JO|BVsISPA^Rbq7K&p8mun19}q+2GjA&R)KXR!lnzUpt<`rWQHJF z(|>m_=_XPH3Mw0-fjxQUv>k89Rg-J9~>(sM6(ma;0eS7LjpN{u!#7f%s-SV^4wv<`&C5N^8{+Hc=PXn$T@s%P24P;vaxP3{us0aBci1YmPyc)| z{Zv>&vUn6lYDOww_!H~rn!cF#r@yr4So(?4aBEu2T0iH@!VI&9-*WIT<$m{Bde0&< z=Z%N>HQK9U3=H92nVN(Q;c-C;GkJ@CK?&;yl-KdAHOjevI0~)5WZ`H$<>{rBJCtDk3pO#PYZk{wyk+~nKE!Oqb2kz7|P}J{5 zx7Vn^nq>4Qv*@+lJaME?Q;y4E!=mG5Kc=T!{R~^)FGO-Ro&;b}D|dFkC&TiJjLL|; zNGMLHhl5WO?tgMNiAKP`YqFR58rjlTj3B|MCjD0&d&!!KDMobNpGB9k3=MccW>Rb6 zK}UvyhK`l(!i#si864#u%**Ajp*2Mx3|GvCIk?vv=PezBeeRe&l5&rT97-jSyEh?n zReSi7@`6mMoiw!ut%f^`7W|sl#omGcZP64=^i}Y(BjYjMDook0n4| z+pKd{bn8(y&pSQ!R+s>lcj!I1f9=$~mMY;nG8#@1G3Gvj^h>vr!w>N)=?MEq`3W>DHdD z-mNP>eqy_8D~v)I$Wyy;vY)@*otuf>>H!u!d#&N9V~umqprJY5k2 z(`8f1GbYAYggxIR?CJ4}Q6 zC6uqQC2Hk^v)YV*DV6&`S#cTP&~4Tm#|vk5mgrJorlvl#Wk{0Tpg5ne95KO7@%NWc zdcG8~8ia10Tu?xFtOrc-W5v~hRfmV`YNv#q~b2-g$B}`z~e_jJ)uab zh3+K6UyaYN)q1l2nLF!kRmv5XS2>HcJF(3CUC+EG2!+D+&AzVawAI%sa(9YmrgA8_ zTG#1CN)(P8%LkwB=GB;`vA6z^)}WsP#p;$yAUED8uSBM4G1;k2Mr?Kf6gG8%BV7qE|S^osDoL(RxhG+B?5~nXI6&+3NFMNtGOGMmF0* z+E;h(oQo3{djP)`eHoVxzmS&1z=#e+)7paVlcoUonRkUsl@SfsGCmr;5%&t8nvWe! z-HR{2i}7vR15bhCkm34{$L;D35eyNGZyR23#QT_YNs61ht}Z1|HeAK_3{7|t@S?Ul zj$>(0 z8-%_-nofDm#qboroeM$(TLJqWBr%3OA{Jhkq;lD|cWyqO)V>}yN2AmenJQ2+aZCEW zs`;I3&8Lhgvo`#>OZt0sa=V#N6SqFg5U23a6_E?Eyi9NTtl*WA?B#bs9Kx>+?h;2v z`<@Vy_EW7)HqYyGJuQCudc=j9xp?QW#MF1Pl9a`C39-8;93rU=~bu8SWPpcg?9_BDMgOhQn`!?rvDl+#^S4p**D0p7IvJppkbNLO! zmTl>(DcVM`l4l?OX}Ldb-r+e7QfkA<$O!AS8AT=vQ>MGg7j4?%*(FPhu`|{VemN59 zthTe+xxqfph%{ns2D1CJwE+WELX;OyY8 z$L`R(P-bl8PkdNQ80IKj^Y5Demf%w$8#_Aj0f&vFP=S^>f}gALohU<)d?lBT3;mV1 zv#us=^(I898lnaSJydM6Zm*Rp?=?%dkjEH#atPkk_AnsEca|{-FEN`RbO#L6~90C?>lQ2gmJJ;jTr>IA7DKCU%p^K=1 zwACQV%XyizD*7|_8fV%0N}*bhM846|Gj(qgsBY$K<6QXi(vF;3uv5N_!aB|4e%$f-%_4N3*AiNt6lUb_u?iL(%yN?_7a!+oLpYHa`|mEn%c58{P2+1h2|fcGWs+% z59|-0S&e74-Jy$|IJ7_fEXhn{-yw{6I<;(2d0i?>F0lYipompucB%xC+Nn#e`bU}C z#Yq`QPMe4|w2qjty4j6j-KV~s;v6O#;2z;I6o7p@9|Uou-Bu~9-Y21rwxP7KR-L!K zTC9ziMWog@Wla>|ooeyu2bRJf*KlFMZykg$e%Xz4jYB`M7immb3>okqo}LeS`q^(X z=%w(z2Uo=fv>$bXav7)9N%;OUYmz!F;qqJ2{g~}s|E-QyejUNmj~ zn4(FunPQ>vsVyeq<+}?85ZJ<`dLs!6i&{X7D+-z_)%c-6#gIdgf;M9Ym-|viG)+>o zh4P)jg_EUZMW2c@uHCHD)d-@lCl7dkXi73Fr8T;KZH-g#QK~>}Rf!qrmbZ# zjKdqsFFScm%2AP;u=ZPzQWMUe`rsQPn)kfwxtjxLb4mEo3;sl|uss^jPhB4i=&!Kf zwf1_Wk?HzSNLQ8>e#u#eKC?V)pX@MW$O&h~Ci(vdy3nEIM|DT?((@`#>>sfcUi`1c z4owPc<>7x6c0D83LN9-;l_&}xg;V%*lTP)rE7A_1obYVws3FKjh+QnS7uuzMNi)q) zO~ESl)cisV`&-kG1IY}e$xdZ$qU&?oN`9>mD(N5IUd+E@PZdBUrQYNp(>OnHF;&3d z`oRp|&A1E7=FXf1gd9Ak@VM$u4cu#&{nL&0L*xDS^ukl03NkuPMZI}7bMC9fi-ebx zUANGXflUMgTNBk!_5@x(F)B!5Bct)@1W%ks{tZQQUAJpXCiI%2t3WzSFKcT~=1e8k z8xq}HTcQMkNveb|K+pYRSJEH*c-s5sCy@ch0IV%U~+wwA-YYyh5ZNYmwhg zJ-s11?k55y#7`T^7$E?AZuzZ|0mDAZ6oKhZ-ekD3E}SW;PB3mjFR|`n&t(Y1GX+n4 zPd&rnBxZ^Ac%jN8=E6HFer9VqFJ#!g)=X6r>hXq7f3$LHxu8Zb^q8_Zbw>W|XQEJx zYa=gm?#_HOM;+&E|*o_m3ls*<&w5AOV0R# zHH5;3_e5UCms7}#Q7aF$+z_SQYQC+ogo1qgFZy(_# zLip>B{13>bB5jK^q{=5M9Wt3?oY#Z>l*2sGN>xGI>r)xM$ZM|4lJF6xvWTj(X@vjjd05B+!Mivl}TeAO$4>N(s4*6?$Q5`$WJi?3~@a?{gxnK7qMhW)C| zqwM>#vorR%!eW+O`%&T5&*n0B^5X<@QDF{)VKd`8xVKv;Husqu=BT9)(xKDD!z;2P z5{UJT1gL&0WlTJ7_wn%O?By_~lWY`Eqiu>0$ByRxW)_dOVWf|hq8~=(U7`<~ALCgx z-l#n%9VzN|*W(kRkg!|dW}@uWvebl)UGDZR>Q(CXUQe4^7N6ECd#GBVp7;#9M43Vw zfb{RERKa!juC3hvtUazDh${f32?U=|i_S)2nI?sZY+gvT|0*D7ir;U%6N`0Y8eF zlOEJ|CAUolSh4-#F06b&6IK-^*FZ;sP<=c!} z&eMi_N^(6~-wTPDjfNkxy}K#Ib~tO_-p81NARiP%UKs^F6uYe;XXh#(n1^e`x0oUJ zy%QdQI$`N1H;9WsL31h#e6u3Ge=R;_cweGmu?$LUC7G!Mn#ma}=( z_BUw<$L*9^;-k)&w}@T}ucr=x4k0zs z174-jngVeYHDn-QZ%tJsuq-=8#0R@^+%0`7x!UtcaM{wU|49?6%=ZJX!3I@?ZER#D z!xx8=m-|2=bk(cKjTwh2VtJzC!oz7E36=EHiX?K-Dny$Y*!iPdBMYVo&T+xa^Past z0iu?@W)^h1vRWf-@AgC(8lY(oz#c?!E+>j4^%=Ha@F(^sZW%5b%RWsXeMoX&--Z}(5`?ivkOz%z7o ztkjR{st3vA@$JGmAl{z&%X7ZNpOcXMk;+#n%fKtVM3(GK51)4}@a z(TybDFN7O;uCVD^BeseBfznB|Po?N+jNq2JJm*(}66>8C7`$ueYByzHzWg zV&ZPP&^KA3K2^ppv3h=KkTEBUoOX&S39s)n7x_Zt2V;X#ihVm6VSU}nkZk^hCAVq?S>nuE!=a>^zWIe!(C~A-*N~&_9%$+?Wm- zzl&784-+)f6(9CgdKc{#ePwnYXx&&Z8s@H?AFD8N-gQ4pZX5Wp(7I929eiuO-j3Y+ zqmL-{-P=Nse#Od#1oA;W#;49s9$UVi4zfchqm{Y^d$;|9&!^uH`gcZDW6ZPba12NE zM9?%~*4-K{$*BPW{RTe|;BkOs=41c>J~R%y0J=ztD!82epaY?;ujzCa0hemZaL3$% z*mZe^$;`!q+KzgCK--F^YR&{seYrAGFoh&2F0dpgQwmk%0;NQ*w2VqJ zrLnYgMP_LWNcL{wj6!^^U|dRgHEBY40tj5=*Q(^|Onukx(e;9R%_{1)z`uL>%W%p*47p6KRcH6M*RZ8+jHZ_p1NzK_Ttx;QjU z2T%dwEbf{EAnu$-W*g-y8=Io#&txlgFKT>q zq*r^;@Pf@Y1czBJE56zIHAG?DXo#b4r(Fs-&tQDV?Q;<|j$%*^uN zjl!~x?FHKnF(X>_qr|tuFQjUM_swwPE)Dja;##?wd^&-s)5(j z$H3U(odJ>oB+6_k;BI zwZ8?jX){fP9|F4CE4YTsCAaB@3Ym-qdo>E(uJKP5_|j2Q=;XWpb-lc|#GYxnlrwX# z9X8f`l7T$0FXy(o1^ZyWYQhaJiAHtl`}DTXc9%3nXRl%*=|d_J@N5yXY6FxlbYhs# zEva18Vs`G-IZvNRroL-qt3H23l>Q10_}CDc_Po-@ryO#N^oeMdpHVXtW}*z)XdSZL zaO802pgj6)7-*}nY?{pUzS3)KQaaVpCYnYDPR#~;aFbtTs;-vnRBB~ed(&85)`#Vx zrZ|UUideRn6NC1FcI2b!<*(_#DLLE8*^yso{s@{Ph&;FqKvC2^Q7SM+3g90EyuqPv zrNq~J6^^<6yZ(yF59`(YOgv+KT0xQwkgsf^`&1)UYx3!2_#nUnx@CJK;W<;W#UcL! zQhlus3zH6W)jyYWQAe{-Bxa;4o$a%CpW;@U9gb;~QWg&h)napJpXpbNTm!P1D6!L) zNpCU?`v7k&r7S7Im4A5a?ah^;R7E6nb2aYlO(O%M?}LUHq@`^_7i6|Z>XjiQh ztx9Kf+%$&kh3SkG5eqZC6LYfl39mjSutFQ4~QwcZT{B0m8g7MrW_3wq&0^4*l6?1Xkky9&0lQ>CI=tz=DiiF+ts9eNzM=@fs=WbE|L2&eV ze#CTdT|udF)R4^C5G%5sBDyei4C$P%wb#!jp6@Hx<*m8;!af_4YSNsfh7#31A+0fu zwKpkb9G10YJkPqxIISDMe*N0m1z|uJAHt&T!6$4vOkU9J5RX4beB2$j=ehgE$u{)p zFnu=c$YO6JQpT6rEQ+seCwsTI-So~5&nn%9mzAcr>9;k$h(*{Y>&DLG@~VTHF*W1E zwSCRobYwf{H*g=T>-zG{^w%jFbw>+FJFS-ubB}2{_U(}zO<$kEE`$ei>{nfw`Fc*; zOv2Ck#0#|HLIGkB!WP^AXZR$1yhFLGqTAH(OuduW(-n4_nU{MzrM41t*b)67q47PGWd*eV}8VNmYdSuJ0k4Hc!Z zuN}7A=TnMU(j%BYrN1k_>F#~FA;Y7TZ?BQjC3Ny$u@CryA-kRwfU6-AJQj5Plq!*1 z-@g#L(4nFHTVbo(Y--Nyjs*ieLkVTyvX0uwa$%LlOJhep+^ZchMWW%Oaai~Yd;&w^ z$h)nAeeaVMmuCJ3?@jd2%6zEHLtCZ#y2w0T#d&&_h-uNTrxASPGyHL`a}JO69w5FO z3!B@zdA1eT?CK%@Qsaz$@fy7LT$HTiX?SI*D$F9Hc%#r(LE&xtbW%IB*QcoGxjAp5;OQ9s*&FeyU{(w zoh2Q7eVt#66`WVkfd`bqpsV!`;6hHiyO$7jJ>r+_4`^F-HO(^aO3`@HeBRrEUNW)K zumu>a-`6Dt;^~dtXhp}JU91flyZi@x-Uyh^)vLz*;6qVAD4#~&4MspJJ9#tnzNh)+ zQ)RJ&qR*2=Oy{UO@jbgav(jGDDB!R*5YnPE8O@!=HtXGbmB)UTnM~2U~Z%L$W_h>cn+c zk!)v4tDE8bPKqM-s-K7H)^w8HPa$~PWj(NLntA`~=DPi;#wd5;tmgi~kx2zSH=@-l zdM&aoVs=|@u81Z(2W4le$?e|p=~#fGJ$d*0bQf{3TJa~p>KBht6)ttm*mKO(PU41= zM9VqbcppAdT`2alqrjZP%ig)VV}c_!gG6;GE?2;(MCi^z)cg0i)sj46S_EJ0NosGl zY?k^oa6}~9qhZ@4x7iwq=Xf$}O>R>WMv!6h@>8srH{Q?>Fnd2LJ zz3SASnzpTNAt$Hfx9t2c#duY;j-`j7N_Te)6P- zdHsfHhQ-${QO2mcz?1c5W=*Xd=T`W5Ic(98Xn|h~eqwux2sdoopGLH$GhVbcR>-}j zt<9HPiWC_3RQtRgbS_ zzauo&+wBWI{r!u7xyr{s5db3Q8QMi?EDy!j34%uiC@6Tt;=%&*zkJd0PZ7-Ey3T0o zTtf~Gk3Zw50}#X0LgzvC!8^X0zy2#Ott8;F*vPs`gs2)noy_rfU|z-qkoWmrOk^kX z^Z6qGO4STDx6y`Vg5b~Jab9A4lJcl%cTSXV(6E@)v?%uC(HC4;znWDm>&%iFtkizD zS##9TH|1>oBO|2*o@j;4z8)n_6W*QT_AuMZ{gIiM%#M%t1<|8Nx=T*!>vBLJ?!pKi zY_l0k(@)_^l~ko}JEB*y*OPTcYBx6;p6=z;`a~m;kncSeS)w)TL~*)h`Et>u??Q#s zBX!FqEmhya#pn?Ci&Or>9MS&iDy zhCRtD@8u{QwwssKG?M0=zijpKBng9U*7QxBMVkS|Vhy=WYq`bn9FAf{>N1W3c`U+K zDg`;3K!#H12^=zZt){VNKRVtuPlb(6Kj%D-=^(ja8IFeOKFxbe*Kb6g;JR%-_ng%w zHcc%HD`70OI2+Gi`FR^5m5>!7STonCW9;k2ka zc5CeDaHmy-L|wOybCF@A)y%nT`00?zOiz|`zWrRRdkabBHxW5sj*S+UR&UJ%ZL2np zS$Pk>!!^Iwkcv&(4Ohy8s>r8ZSru+VT>8Dlb zK9bA(iotB%PV{{yX^TmG@Dz^Sslc>8|LraM*|FM!8Rvo85*^kr1jNT6lJbA; zPDu%`p*)l|(Lb7IhNZN>y*UP7wr!nHiq_Z}vF?(Z$}fyR$pdvr6AO+hGnr)+ksz=ii!jVE1{0q?2{uKeAL*!8!ur^?KP($3gW zHsud3aL$D4q-L33tBgxIXnxAY{jI~;;dbGUm(1&x@-Ju2lJ~r`UJW?3=uqVDfNNsAvRt|{S_

    1~=T)_i5^Q(GagK8$lp+f>#>3hj6L+WR_zbo-SjwQV(J7s%#Td%=*pas@}!^eOX>L{!?rvS*b|`~wM2vM$ddm2jL#sI5 zJ6##6RGs7G=R8K z7?X?Mlb?+oFMI(Qwu-A7;SiX@bS%IUazEc9TTI?vX*`6hCy$e0BU|{paSaTmy%Gm|fmMQ*h#k z$M0+uS?l0CV`F!E=4Q>$!wIYH>~v*eILpHX!YY_wL~CGnR3xz5Ez z@bA85+TUJcspF$Es@Qn9VvRi-)5&h!QI|mYy?C6LkAY8KbWN<*{wW;;(oDl;(vNQx zJb}|n#lz1QGe)OydB4Tjg9~juy4z+O4rRE}U8(u1M{=2$ZN8VWst%CbaT(j5{rp)s zlB-ll*Mp79o0%(z8?y|H!L!!t&bxVOBSprkiTewdjK_>kGh<=s`VKlSHy$}xJ}L)! zqT*1&bZ**g=3k^ZvcA;b4t3i@V~4%m z@Oc?Fx@gCBmEI3VpV`x|iE)3A8Dnp#B?!JQ_3r13E$bxJY?$;;ziDjfpuf;eQ!jf7 zXUGv(mh1b!nmh4LRCrdpw6rwwptXjms%|TrQ7zqV|F!qxBh{jZSW$@hssF!;JgDzK z^lQfhAu*2cMfz zy%HzAek8O{2WEUr>QTDY42`HL1cfy8%Lm+h*mhDeqs9qrC=qfuaKh$ z+(B?C2e$j}-R`?77^aS%=QvCYi zZ3P>J-WkKze5RwjT>nYYoohj8+aE&NsKU<-Fg%`fy^R^0OBg7eBkO&^awV z-F@CN$buP|pOFLOz%kJ1MeqJ2A~?fvf)X$qx}*$o+AIxf)*p*c;=&n|9)iGTy=$)o z&h*p^YAHX~H-roZAv+M}=p~?L{USFWTxk~Q5nvhqarz8cCkY-u@Q4cn&T9AvDzo8= z>4e9?5s>>oynPyRdQ}rxLN8yD8+hj3yLFoNpB)^O5ByyenA9Wspl+j(O*YGpcoVOl zjZAm+!{66aSVU6H}x{Dfy$G8gi1B(e$pbDv_HOatPmh_W8IBkXWfd>XWn0;*+&XDJv^mb@}Q2oGJZ>+xf%K-}>(!6Or{w&&+=2-fzEdSG=v* z%~uFaY4dhi_3M$BOswXqx>h>2=ZSr*#|UuC-r3>~o|lLjL!fuNyz!`dC)? z2v~sGl#0)uKikwkeogz=hhGhZf$EOiW!L8HDcdu5z6CG|``&A3k@z2OIjpfRGhxo3C1>Gz`|JyRVJ2Xl?8-Ay9HXmNW@ZEb#2ctJI$h;+F+*o(S zFLL3D5PDD-dFX+G)`7o5s!0bXF?>HQ#MU0j_-?v}AoDa}G)yyKvv?x>f>~iRbj1K> zARqX}2~7Hk;VD>3LrQ%H4ZvDLo?)gcQWq7ToWNq&Ky%ZC%#bGJ4q(cyyWZ1--13{1dsO#OoSKcQd+TxuM;4*X|V`d6;| T)i7@p0}yz+`njxgN@xNA#efp7 literal 0 HcmV?d00001 diff --git a/Svc/PassiveRateGroup/docs/sdd.md b/Svc/PassiveRateGroup/docs/sdd.md new file mode 100644 index 0000000000..d18dd6be08 --- /dev/null +++ b/Svc/PassiveRateGroup/docs/sdd.md @@ -0,0 +1,77 @@ +PassiveRateGroup Component SDD +# RateGroupDriver Component + +## 1. Introduction + +`Svc::PassiveRateGroup` is an passive component that drives a set of components connected to `Svc::Sched` output ports. It contains an synchronous input `Svc::Cycle` port that drives all the operations. The component invokes each output port in order, passing an argument specified in the supplied context list. It tracks execution time of the cycle. + +## 2. Requirements + +The requirements for `Svc::PassiveRateGroup` are as follows: + +Requirement | Description | Verification Method +----------- | ----------- | ------------------- +FPRIME-PRG-001 | The `Svc::PassiveRateGroup` component shall be passive and will be driven by an input synchronous port call | Inspection, Unit test +FPRIME-PRG-002 | The `Svc::PassiveRateGroup` component shall invoke its output ports in order, passing the value contained in a table based on port number | Unit Test +FPRIME-PRG-003 | The `Svc::PassiveRateGroup` component shall track the time required to execute the rate group and report it as telemetry | Unit Test + + +## 3. Design + +### 3.1 Context + +#### 3.1.1 Component Diagram + +The `Svc::PassiveRateGroup` component has the following component diagram: + +![PassiveRateGroup Diagram](img/PassiveRateGroupBDD.png "PassiveRateGroup") + +#### 3.1.2 Ports + +The `Svc::PassiveRateGroup` component uses the following port types: + +Port Data Type | Name | Direction | Kind | Usage +-------------- | ---- | --------- | ---- | ----- +Svc::Cycle | CycleIn | Input | synchronous | Receive a call to run one cycle of the rate group +[`Svc::Sched`](../../Sched/docs/sdd.md) | RateGroupMemberOut | Output | n/a | Rate group ports + +#### 3.2 Functional Description + +The `Svc::PassiveRateGroup` component has one input port that is used to drive all of the processing. The component calls the output ports in order, passing the context from the context list as the port argument. + +### 3.3 Scenarios + +#### 3.3.1 Rate Group Port Call + +As described in the Functional Description section, the `Svc::PassiveRateGroup` component accepts calls to the CycleIn and invokes the RateGroupMemberOut ports: + +**Sequence Diagram** +```mermaid +sequenceDiagram + participant RateGroupDriver + participant PassiveRateGroup + participant Callee + RateGroupDriver ->> PassiveRateGroup: CycleIn + loop for each callee + PassiveRateGroup ->> Callee: RateGroupMemberOut[N] + Callee -->> PassiveRateGroup: + end + PassiveRateGroup -->> RateGroupDriver: +``` + +### 3.4 State + +`Svc::PassiveRateGroup` has no state machines. + +### 3.5 Algorithms + +`Svc::PassiveRateGroup` has no significant algorithms. + +## 4. Change Log + +Date | Description +---- | ----------- +2/9/2017 | First Draft + + + diff --git a/Svc/PassiveRateGroup/test/ut/PassiveRateGroupImplTester.cpp b/Svc/PassiveRateGroup/test/ut/PassiveRateGroupImplTester.cpp new file mode 100644 index 0000000000..8664970227 --- /dev/null +++ b/Svc/PassiveRateGroup/test/ut/PassiveRateGroupImplTester.cpp @@ -0,0 +1,84 @@ +/* + * \author Tim Canham + * \file + * \brief + * + * This file is the test component for the active rate group unit test. + * + * Code Generated Source Code Header + * + * Copyright 2014-2015, by the California Institute of Technology. + * ALL RIGHTS RESERVED. United States Government Sponsorship + * acknowledged. + */ + +#include +#include +#include + +#include +#include + +namespace Svc { + +void PassiveRateGroupTester::init(NATIVE_INT_TYPE instance) { + PassiveRateGroupGTestBase::init(); +} + +PassiveRateGroupTester::PassiveRateGroupTester(Svc::PassiveRateGroup& inst) + : PassiveRateGroupGTestBase("testerbase", 100), m_impl(inst), m_callOrder(0) { + this->clearPortCalls(); +} + +void PassiveRateGroupTester::clearPortCalls() { + memset(this->m_callLog, 0, sizeof(this->m_callLog)); + this->m_callOrder = 0; +} + +PassiveRateGroupTester::~PassiveRateGroupTester() {} + +void PassiveRateGroupTester::from_RateGroupMemberOut_handler(NATIVE_INT_TYPE portNum, NATIVE_UINT_TYPE context) { + ASSERT_TRUE(portNum < static_cast(FW_NUM_ARRAY_ELEMENTS(m_impl.m_RateGroupMemberOut_OutputPort))); + this->m_callLog[portNum].portCalled = true; + this->m_callLog[portNum].contextVal = context; + this->m_callLog[portNum].order = this->m_callOrder++; +} + +void PassiveRateGroupTester::runNominal(NATIVE_INT_TYPE contexts[], + NATIVE_UINT_TYPE numContexts, + NATIVE_INT_TYPE instance) { + TEST_CASE(101.1.1, "Run nominal rate group execution"); + + // clear events + this->clearTlm(); + + Svc::TimerVal timer; + timer.take(); + + // clear port call log + this->clearPortCalls(); + + REQUIREMENT("FPRIME-PRG-001"); + // call active rate group with timer val + this->invoke_to_CycleIn(0, timer); + + + // check calls + REQUIREMENT("FPRIME-PRG-002"); + for (NATIVE_UINT_TYPE portNum = 0; + portNum < static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_impl.m_RateGroupMemberOut_OutputPort)); portNum++) { + ASSERT_TRUE(this->m_callLog[portNum].portCalled); + ASSERT_EQ(this->m_callLog[portNum].contextVal, contexts[portNum]); + ASSERT_EQ(this->m_callLog[portNum].order, portNum); + } + // Cycle times should be non-zero + REQUIREMENT("FPRIME-PRG-003"); + ASSERT_TLM_MaxCycleTime_SIZE(1); + ASSERT_TLM_CycleTime_SIZE(1); + ASSERT_TLM_CycleCount_SIZE(1); + ASSERT_GT(this->tlmHistory_MaxCycleTime->at(0).arg, 0); + ASSERT_GT(this->tlmHistory_CycleTime->at(0).arg, 0); + ASSERT_GT(this->tlmHistory_CycleCount->at(0).arg, 0); +} + +} // namespace Svc diff --git a/Svc/PassiveRateGroup/test/ut/PassiveRateGroupImplTester.hpp b/Svc/PassiveRateGroup/test/ut/PassiveRateGroupImplTester.hpp new file mode 100644 index 0000000000..f1ae74f64b --- /dev/null +++ b/Svc/PassiveRateGroup/test/ut/PassiveRateGroupImplTester.hpp @@ -0,0 +1,53 @@ +/* +* \author Tim Canham +* \file +* \brief +* +* This file is the test component header for the active rate group unit test. +* +* Code Generated Source Code Header +* +* Copyright 2014-2015, by the California Institute of Technology. +* ALL RIGHTS RESERVED. United States Government Sponsorship +* acknowledged. +*/ + +#ifndef PASSIVERATEGROUP_TEST_UT_PASSIVERATEGROUPIMPLTESTER_HPP_ +#define PASSIVERATEGROUP_TEST_UT_PASSIVERATEGROUPIMPLTESTER_HPP_ + +#include +#include + +namespace Svc { + + class PassiveRateGroupTester: public PassiveRateGroupGTestBase { + public: + PassiveRateGroupTester(Svc::PassiveRateGroup& inst); + virtual ~PassiveRateGroupTester(); + + void init(NATIVE_INT_TYPE instance = 0); + + void runNominal(NATIVE_UINT_TYPE contexts[], NATIVE_UINT_TYPE numContexts, NATIVE_INT_TYPE instance); + + private: + + void from_RateGroupMemberOut_handler(NATIVE_INT_TYPE portNum, NATIVE_UINT_TYPE context); + + Svc::PassiveRateGroup& m_impl; + + void clearPortCalls(); + + struct { + bool portCalled; + NATIVE_UINT_TYPE contextVal; + NATIVE_UINT_TYPE order; + } m_callLog[Svc::PassiveRateGroupComponentBase::NUM_RATEGROUPMEMBEROUT_OUTPUT_PORTS]; + + bool m_causeOverrun; //!< flag to cause an overrun during a rate group member port call + NATIVE_UINT_TYPE m_callOrder; //!< tracks order of port call. + + }; + +} /* namespace Svc */ + +#endif /* PASSIVERATEGROUP_TEST_UT_PASSIVERATEGROUPIMPLTESTER_HPP_ */ diff --git a/Svc/PassiveRateGroup/test/ut/PassiveRateGroupTester.cpp b/Svc/PassiveRateGroup/test/ut/PassiveRateGroupTester.cpp new file mode 100644 index 0000000000..f7a2268c62 --- /dev/null +++ b/Svc/PassiveRateGroup/test/ut/PassiveRateGroupTester.cpp @@ -0,0 +1,55 @@ +/* + * \author Tim Canham + * \file + * \brief + * + * This file is the test driver for the active rate group unit test. + * + * Code Generated Source Code Header + * + * Copyright 2014-2015, by the California Institute of Technology. + * ALL RIGHTS RESERVED. United States Government Sponsorship + * acknowledged. + */ +#include + +#include +#include +#include + +#include + +void connectPorts(Svc::PassiveRateGroup& impl, Svc::PassiveRateGroupTester& tester) { + tester.connect_to_CycleIn(0, impl.get_CycleIn_InputPort(0)); + + for (NATIVE_INT_TYPE portNum = 0; + portNum < static_cast(FW_NUM_ARRAY_ELEMENTS(impl.m_RateGroupMemberOut_OutputPort)); portNum++) { + impl.set_RateGroupMemberOut_OutputPort(portNum, tester.get_from_RateGroupMemberOut(portNum)); + } + + impl.set_Tlm_OutputPort(0, tester.get_from_Tlm(0)); + impl.set_Time_OutputPort(0, tester.get_from_Time(0)); +} + +TEST(PassiveRateGroupTest, NominalSchedule) { + for (NATIVE_INT_TYPE inst = 0; inst < 3; inst++) { + NATIVE_INT_TYPE contexts[FppConstant_PassiveRateGroupOutputPorts::PassiveRateGroupOutputPorts] = {1, 2, 3, 4, 5}; + + Svc::PassiveRateGroup impl("PassiveRateGroup"); + impl.configure(contexts, FW_NUM_ARRAY_ELEMENTS(contexts)); + Svc::PassiveRateGroupTester tester(impl); + + tester.init(); + impl.init(inst); + + // connect ports + connectPorts(impl, tester); + + tester.runNominal(contexts, FW_NUM_ARRAY_ELEMENTS(contexts), inst); + } +} + +int main(int argc, char* argv[]) { + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} diff --git a/Svc/PassiveRateGroup/test/ut/PassiveRateGroupTester.hpp b/Svc/PassiveRateGroup/test/ut/PassiveRateGroupTester.hpp new file mode 100644 index 0000000000..9502e26980 --- /dev/null +++ b/Svc/PassiveRateGroup/test/ut/PassiveRateGroupTester.hpp @@ -0,0 +1,52 @@ +/* +* \author Tim Canham +* \file +* \brief +* +* This file is the test component header for the active rate group unit test. +* +* Code Generated Source Code Header +* +* Copyright 2014-2015, by the California Institute of Technology. +* ALL RIGHTS RESERVED. United States Government Sponsorship +* acknowledged. +*/ + +#ifndef PASSIVERATEGROUP_TEST_UT_PASSIVERATEGROUPIMPLTESTER_HPP_ +#define PASSIVERATEGROUP_TEST_UT_PASSIVERATEGROUPIMPLTESTER_HPP_ + +#include +#include + +namespace Svc { + + class PassiveRateGroupTester: public PassiveRateGroupGTestBase { + public: + PassiveRateGroupTester(Svc::PassiveRateGroup& inst); + virtual ~PassiveRateGroupTester(); + + void init(NATIVE_INT_TYPE instance = 0); + + void runNominal(NATIVE_INT_TYPE contexts[], NATIVE_UINT_TYPE numContexts, NATIVE_INT_TYPE instance); + + private: + + void from_RateGroupMemberOut_handler(NATIVE_INT_TYPE portNum, NATIVE_UINT_TYPE context); + + Svc::PassiveRateGroup& m_impl; + + void clearPortCalls(); + + struct { + bool portCalled; + NATIVE_UINT_TYPE contextVal; + NATIVE_UINT_TYPE order; + } m_callLog[Svc::PassiveRateGroupComponentBase::NUM_RATEGROUPMEMBEROUT_OUTPUT_PORTS]; + + NATIVE_UINT_TYPE m_callOrder; //!< tracks order of port call. + + }; + +} /* namespace Svc */ + +#endif /* PASSIVERATEGROUP_TEST_UT_PASSIVERATEGROUPIMPLTESTER_HPP_ */ diff --git a/config/AcConstants.fpp b/config/AcConstants.fpp index c3a2e81da2..a6d399d4a5 100644 --- a/config/AcConstants.fpp +++ b/config/AcConstants.fpp @@ -6,6 +6,9 @@ @ Number of rate group member output ports for ActiveRateGroup constant ActiveRateGroupOutputPorts = 10 +@ Number of rate group member output ports for PassiveRateGroup +constant PassiveRateGroupOutputPorts = 10 + @ Used to drive rate groups constant RateGroupDriverRateGroupPorts = 3 From d167215017f4b152b70080d2925a23201c42b178 Mon Sep 17 00:00:00 2001 From: Thomas Boyer Chammard <49786685+thomas-bc@users.noreply.github.com> Date: Wed, 31 May 2023 11:51:05 -0700 Subject: [PATCH 23/55] Add communication design to table of contents (#2057) --- docs/Design/general.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/Design/general.md b/docs/Design/general.md index 61f98d3006..4e03e2ab21 100644 --- a/docs/Design/general.md +++ b/docs/Design/general.md @@ -4,6 +4,7 @@ This section of the documentation captures the design and philosophy of F´, the viewed through F´. -| Table of Contents | -|------------------------------------------------| -| [Numerical Types Design](./numerical-types.md) | \ No newline at end of file +| Table of Contents | +|-------------------------------------------------------------------------| +| [Numerical Types Design](./numerical-types.md) | +| [Communication Adapter Interface](./communication-adapter-interface.md) | From 0aa4770b4b110f72f1b38ebc40ccb51785deb67f Mon Sep 17 00:00:00 2001 From: Thomas Boyer Chammard <49786685+thomas-bc@users.noreply.github.com> Date: Wed, 31 May 2023 12:34:20 -0700 Subject: [PATCH 24/55] Build fprime-community projects as part of CI checks (#2049) * Added reusable-builder workflow * Added build-led-blinker * On push/PR * not running integration_tests yet * fix booleans * add optional target platform * For once, spelling was nice with me * misc formatting * Review recommendations * fix usage --- .github/workflows/build-led-blinker.yml | 18 +++++ .github/workflows/reusable-builder.yml | 102 ++++++++++++++++++++++++ 2 files changed, 120 insertions(+) create mode 100644 .github/workflows/build-led-blinker.yml create mode 100644 .github/workflows/reusable-builder.yml diff --git a/.github/workflows/build-led-blinker.yml b/.github/workflows/build-led-blinker.yml new file mode 100644 index 0000000000..5cd68d85d0 --- /dev/null +++ b/.github/workflows/build-led-blinker.yml @@ -0,0 +1,18 @@ +# Builds and runs UTs on https://github.com/fprime-community/fprime-workshop-led-blinker + +name: "LedBlinker Tests" + +on: + push: + branches: [ master, devel ] + pull_request: + branches: [ master, devel ] + +jobs: + run: + name: "" + uses: ./.github/workflows/reusable-builder.yml + with: + target_repository: fprime-community/fprime-workshop-led-blinker + build_location: LedBlinker + run_unit_tests: true diff --git a/.github/workflows/reusable-builder.yml b/.github/workflows/reusable-builder.yml new file mode 100644 index 0000000000..7acbe6febf --- /dev/null +++ b/.github/workflows/reusable-builder.yml @@ -0,0 +1,102 @@ +# This workflow is intended for reuse by other workflows and will not run directly (no triggers). +# The behavior is to build an external F´ project (e.g. fprime-community/system-reference) using +# the current F´ version. +name: "F´ Project Builder - Reusable Workflow" + +on: + workflow_call: + inputs: + build_location: + description: "Path to F´ module to build. E.g. MyDeployment/" + required: true + type: string + target_repository: + description: "Additional external repository to checkout (/)" + required: true + type: string + run_unit_tests: + description: "Run an additional job in parallel to run unit tests." + required: false + type: boolean + default: true + fprime_location: + description: "Relative path from the external project root to its F´ submodule" + required: false + type: string + default: "./fprime" + runs_on: + description: "Platform to run on. Defaults to ubuntu-latest" + required: false + type: string + default: "ubuntu-latest" + target_platform: + description: "Target platform to pass to fprime-util" + required: false + type: string + default: "" + +jobs: + build: + runs-on: ${{ inputs.runs_on }} + name: "Build" + steps: + - name: "Checkout target repository" + uses: actions/checkout@v3 + with: + submodules: recursive + repository: ${{ inputs.target_repository }} + - name: "Overlay current F´ revision" + uses: actions/checkout@v3 + with: + submodules: recursive + path: ${{ inputs.fprime_location }} + - name: "Install requirements.txt" + run: | + pip3 install -r ${{ inputs.fprime_location }}/requirements.txt + shell: bash + - name: "Generate build cache" + working-directory: ${{ inputs.build_location }} + run: | + fprime-util generate ${{ runner.debug == '1' && '--verbose' || '' }} ${{ inputs.target_platform }} + shell: bash + - name: "Build" + working-directory: ${{ inputs.build_location }} + run: | + fprime-util build ${{ runner.debug == '1' && '--verbose' || '' }} ${{ inputs.target_platform }} + shell: bash + + runUT: + if: ${{ inputs.run_unit_tests }} + runs-on: ${{ inputs.runs_on }} + name: "Unit Tests" + steps: + - name: "Checkout target repository" + uses: actions/checkout@v3 + with: + submodules: recursive + repository: ${{ inputs.target_repository }} + - name: "Overlay current F´ revision" + uses: actions/checkout@v3 + with: + submodules: recursive + path: ${{ inputs.fprime_location }} + - name: "Install requirements.txt" + run: | + pip3 install -r ${{ inputs.fprime_location }}/requirements.txt + shell: bash + - name: "Generate UT build cache" + working-directory: ${{ inputs.build_location }} + run: | + fprime-util generate --ut ${{ runner.debug == '1' && '--verbose' || '' }} ${{ inputs.target_platform }} + shell: bash + - name: "Build UTs" + working-directory: ${{ inputs.build_location }} + run: | + fprime-util build --ut ${{ runner.debug == '1' && '--verbose' || '' }} ${{ inputs.target_platform }} + shell: bash + - name: "Run Unit Tests" + working-directory: ${{ inputs.build_location }} + run: | + fprime-util check ${{ runner.debug == '1' && '--verbose' || '' }} ${{ inputs.target_platform }} + shell: bash + From a17badf77badbe7d1e154eefebc15231f68e7ed3 Mon Sep 17 00:00:00 2001 From: M Starch Date: Wed, 31 May 2023 13:38:39 -0700 Subject: [PATCH 25/55] Allow prevent prescan to be re-entrant (#2058) Prevent prescan fails when the library has already been defined. This is normally not an issue, but affects some edge-cases. This allows users to avoid a nasty if-tree when using prevent-prescan. --- cmake/API.cmake | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmake/API.cmake b/cmake/API.cmake index a921ad2bc9..2e0a9dccaa 100644 --- a/cmake/API.cmake +++ b/cmake/API.cmake @@ -52,7 +52,10 @@ macro(prevent_prescan) set(__CHECKER_TARGETS ${ARGN}) if (DEFINED FPRIME_PRESCAN) foreach (__TARGET IN LISTS __CHECKER_TARGETS) - add_custom_target(${__TARGET}) + # Make prevent prescan safe in the case of multiple calls + if (NOT TARGET ${__TARGET}) + add_custom_target(${__TARGET}) + endif() endforeach() string(REPLACE ";" " " __SPACE_LIST_TARGETS "${__CHECKER_TARGETS}") get_module_name("${CMAKE_CURRENT_LIST_DIR}") From da4b1daae77f46a940733fbb20a4be8efd3a89b8 Mon Sep 17 00:00:00 2001 From: M Starch Date: Thu, 1 Jun 2023 14:04:38 -0700 Subject: [PATCH 26/55] Remove ctor and dtor from IntervalTimer implementation for Baremetal (#2067) --- Os/Baremetal/IntervalTimer.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Os/Baremetal/IntervalTimer.cpp b/Os/Baremetal/IntervalTimer.cpp index c6bb38a301..0851cd61d7 100644 --- a/Os/Baremetal/IntervalTimer.cpp +++ b/Os/Baremetal/IntervalTimer.cpp @@ -2,10 +2,6 @@ #include namespace Os { - IntervalTimer::IntervalTimer() {} - - IntervalTimer::~IntervalTimer() {} - void IntervalTimer::getRawTime(RawTime& time) { time.lower = 0; time.upper = 0; From 5096ad4d4303780f608e84d814cdfd355f5daf98 Mon Sep 17 00:00:00 2001 From: kubiak-jpl <99773472+kubiak-jpl@users.noreply.github.com> Date: Thu, 8 Jun 2023 12:53:55 -0700 Subject: [PATCH 27/55] Updated startIntTask in LinuxGpioDriver to take a stack size argument (#2068) * Updated startIntTask in LinuxGpioDriver to take an optional stack size argument * Updated LinuxGpioDriver Stubs for startIntTask update --- Drv/LinuxGpioDriver/LinuxGpioDriverComponentImpl.cpp | 4 ++-- Drv/LinuxGpioDriver/LinuxGpioDriverComponentImpl.hpp | 4 +++- Drv/LinuxGpioDriver/LinuxGpioDriverComponentImplStub.cpp | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Drv/LinuxGpioDriver/LinuxGpioDriverComponentImpl.cpp b/Drv/LinuxGpioDriver/LinuxGpioDriverComponentImpl.cpp index 8f1dbab133..d9f46b99d0 100644 --- a/Drv/LinuxGpioDriver/LinuxGpioDriverComponentImpl.cpp +++ b/Drv/LinuxGpioDriver/LinuxGpioDriverComponentImpl.cpp @@ -397,10 +397,10 @@ namespace Drv { } Os::Task::TaskStatus LinuxGpioDriverComponentImpl :: - startIntTask(NATIVE_UINT_TYPE priority, NATIVE_UINT_TYPE cpuAffinity) { + startIntTask(NATIVE_UINT_TYPE priority, NATIVE_UINT_TYPE stackSize, NATIVE_UINT_TYPE cpuAffinity) { Os::TaskString name; name.format("GPINT_%s",this->getObjName()); // The task name can only be 16 chars including null - Os::Task::TaskStatus stat = this->m_intTask.start(name, LinuxGpioDriverComponentImpl::intTaskEntry, this, priority, Os::Task::TASK_DEFAULT, cpuAffinity); + Os::Task::TaskStatus stat = this->m_intTask.start(name, LinuxGpioDriverComponentImpl::intTaskEntry, this, priority, stackSize, cpuAffinity); if (stat != Os::Task::TASK_OK) { DEBUG_PRINT("Task start error: %d\n",stat); diff --git a/Drv/LinuxGpioDriver/LinuxGpioDriverComponentImpl.hpp b/Drv/LinuxGpioDriver/LinuxGpioDriverComponentImpl.hpp index 559dfccf2b..a0c7ecad7f 100644 --- a/Drv/LinuxGpioDriver/LinuxGpioDriverComponentImpl.hpp +++ b/Drv/LinuxGpioDriver/LinuxGpioDriverComponentImpl.hpp @@ -45,7 +45,9 @@ namespace Drv { ~LinuxGpioDriverComponentImpl(); //! Start interrupt task - Os::Task::TaskStatus startIntTask(NATIVE_UINT_TYPE priority = Os::Task::TASK_DEFAULT, NATIVE_UINT_TYPE cpuAffinity = Os::Task::TASK_DEFAULT); + Os::Task::TaskStatus startIntTask(NATIVE_UINT_TYPE priority = Os::Task::TASK_DEFAULT, + NATIVE_UINT_TYPE stackSize = Os::Task::TASK_DEFAULT, + NATIVE_UINT_TYPE cpuAffinity = Os::Task::TASK_DEFAULT); //! configure GPIO enum GpioDirection { diff --git a/Drv/LinuxGpioDriver/LinuxGpioDriverComponentImplStub.cpp b/Drv/LinuxGpioDriver/LinuxGpioDriverComponentImplStub.cpp index 41663e8d67..31e9d7efe8 100644 --- a/Drv/LinuxGpioDriver/LinuxGpioDriverComponentImplStub.cpp +++ b/Drv/LinuxGpioDriver/LinuxGpioDriverComponentImplStub.cpp @@ -44,7 +44,7 @@ namespace Drv { } Os::Task::TaskStatus LinuxGpioDriverComponentImpl :: - startIntTask(NATIVE_UINT_TYPE priority, NATIVE_UINT_TYPE cpuAffinity) { + startIntTask(NATIVE_UINT_TYPE priority, NATIVE_UINT_TYPE stackSize, NATIVE_UINT_TYPE cpuAffinity) { return Os::Task::TASK_OK; } From 49d8e91bd4ce0befc27cf9d84fe3654177031fd3 Mon Sep 17 00:00:00 2001 From: Thomas Boyer Chammard <49786685+thomas-bc@users.noreply.github.com> Date: Fri, 9 Jun 2023 14:28:32 -0700 Subject: [PATCH 28/55] Disable some CI checks on docs updates (#2076) * ignore docs/ and **.md * always trigger python-format --- .github/workflows/build-led-blinker.yml | 3 +++ .github/workflows/build-test-macos.yml | 5 ++++- .github/workflows/build-test-rpi.yml | 3 +++ .github/workflows/build-test.yml | 3 +++ .github/workflows/codeql-jpl-standard.yml | 3 +++ .github/workflows/codeql-security-scan.yml | 3 +++ .github/workflows/cppcheck-scan.yml | 3 +++ .github/workflows/cpplint-scan.yml | 3 +++ .github/workflows/python-format.yml | 8 +++++++- 9 files changed, 32 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-led-blinker.yml b/.github/workflows/build-led-blinker.yml index 5cd68d85d0..7d08a05723 100644 --- a/.github/workflows/build-led-blinker.yml +++ b/.github/workflows/build-led-blinker.yml @@ -7,6 +7,9 @@ on: branches: [ master, devel ] pull_request: branches: [ master, devel ] + paths-ignore: + - 'docs/**' + - '**.md' jobs: run: diff --git a/.github/workflows/build-test-macos.yml b/.github/workflows/build-test-macos.yml index 2de9038f70..44edc18ac3 100644 --- a/.github/workflows/build-test-macos.yml +++ b/.github/workflows/build-test-macos.yml @@ -8,7 +8,10 @@ on: push: branches: [ master, devel ] pull_request: - branches: [ master, devel, release/v3.0.0 ] + branches: [ master, devel, release/v3.0.0 ] + paths-ignore: + - 'docs/**' + - '**.md' # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: diff --git a/.github/workflows/build-test-rpi.yml b/.github/workflows/build-test-rpi.yml index d7da1ad373..4083f64856 100644 --- a/.github/workflows/build-test-rpi.yml +++ b/.github/workflows/build-test-rpi.yml @@ -9,6 +9,9 @@ on: branches: [ master, devel ] pull_request: branches: [ master, devel, release/v3.0.0 ] + paths-ignore: + - 'docs/**' + - '**.md' env: RPI_TOOLCHAIN_DIR: /tmp/rpi-toolchain DICTIONARY_PATH: build-artifacts/raspberrypi/RPI/dict/RPITopologyAppDictionary.xml diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index ce0a7f1554..56110a35e6 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -9,6 +9,9 @@ on: branches: [ master, devel ] pull_request: branches: [ master, devel, release/v3.0.0 ] + paths-ignore: + - 'docs/**' + - '**.md' # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: diff --git a/.github/workflows/codeql-jpl-standard.yml b/.github/workflows/codeql-jpl-standard.yml index 150ebe1594..cc894f8500 100644 --- a/.github/workflows/codeql-jpl-standard.yml +++ b/.github/workflows/codeql-jpl-standard.yml @@ -9,6 +9,9 @@ on: pull_request: # The branches below must be a subset of the branches above branches: [ master, devel ] + paths-ignore: + - 'docs/**' + - '**.md' jobs: analyze: diff --git a/.github/workflows/codeql-security-scan.yml b/.github/workflows/codeql-security-scan.yml index 41509f86ae..af72c623d3 100644 --- a/.github/workflows/codeql-security-scan.yml +++ b/.github/workflows/codeql-security-scan.yml @@ -9,6 +9,9 @@ on: pull_request: # The branches below must be a subset of the branches above branches: [ master, devel ] + paths-ignore: + - 'docs/**' + - '**.md' jobs: analyze: diff --git a/.github/workflows/cppcheck-scan.yml b/.github/workflows/cppcheck-scan.yml index 09da2b5b33..83a7430cd7 100644 --- a/.github/workflows/cppcheck-scan.yml +++ b/.github/workflows/cppcheck-scan.yml @@ -7,6 +7,9 @@ on: pull_request: # The branches below must be a subset of the branches above branches: [ master, devel ] + paths-ignore: + - 'docs/**' + - '**.md' jobs: diff --git a/.github/workflows/cpplint-scan.yml b/.github/workflows/cpplint-scan.yml index 2a90fb54c8..ec913ceee2 100644 --- a/.github/workflows/cpplint-scan.yml +++ b/.github/workflows/cpplint-scan.yml @@ -6,6 +6,9 @@ on: pull_request: # The branches below must be a subset of the branches above branches: [master, devel] + paths-ignore: + - 'docs/**' + - '**.md' jobs: cpplint: diff --git a/.github/workflows/python-format.yml b/.github/workflows/python-format.yml index 742fb3930f..ed5c6cddef 100644 --- a/.github/workflows/python-format.yml +++ b/.github/workflows/python-format.yml @@ -1,6 +1,12 @@ name: Format Python -on: [push, pull_request] +on: + push: + branches: [master, devel] + pull_request: + # The branches below must be a subset of the branches above + branches: [master, devel] + jobs: format: name: Format From 415cb7ff8870ebd09d3cc5073c10458160e32811 Mon Sep 17 00:00:00 2001 From: Ethan Chee <61472206+ethancheez@users.noreply.github.com> Date: Fri, 9 Jun 2023 18:03:51 -0700 Subject: [PATCH 29/55] Add stream crossover component (#2070) * stream crossover component * Add StreamCrossover Documentation * Add unit tests, update expect.txt * Add coverage for send error * update test name from ToDo to TestBuffer * Check recvStatus, and deallocate on error * Check recvBuffer size, rename errorDeallocate --- .github/actions/spelling/expect.txt | 1 + Drv/CMakeLists.txt | 1 + Drv/StreamCrossover/CMakeLists.txt | 22 +++++ Drv/StreamCrossover/StreamCrossover.cpp | 57 +++++++++++++ Drv/StreamCrossover/StreamCrossover.fpp | 28 +++++++ Drv/StreamCrossover/StreamCrossover.hpp | 53 ++++++++++++ Drv/StreamCrossover/docs/sdd.md | 30 +++++++ Drv/StreamCrossover/test/ut/TestMain.cpp | 20 +++++ Drv/StreamCrossover/test/ut/Tester.cpp | 101 +++++++++++++++++++++++ Drv/StreamCrossover/test/ut/Tester.hpp | 99 ++++++++++++++++++++++ 10 files changed, 412 insertions(+) create mode 100644 Drv/StreamCrossover/CMakeLists.txt create mode 100644 Drv/StreamCrossover/StreamCrossover.cpp create mode 100644 Drv/StreamCrossover/StreamCrossover.fpp create mode 100644 Drv/StreamCrossover/StreamCrossover.hpp create mode 100644 Drv/StreamCrossover/docs/sdd.md create mode 100644 Drv/StreamCrossover/test/ut/TestMain.cpp create mode 100644 Drv/StreamCrossover/test/ut/Tester.cpp create mode 100644 Drv/StreamCrossover/test/ut/Tester.hpp diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index 05daa6095d..57dd875791 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -449,6 +449,7 @@ ERRORCHECK errorlevel errornum ert +ethanchee etime ETIMEDOUT eturn diff --git a/Drv/CMakeLists.txt b/Drv/CMakeLists.txt index a9e30b762e..287fd1f2e1 100644 --- a/Drv/CMakeLists.txt +++ b/Drv/CMakeLists.txt @@ -13,6 +13,7 @@ add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/LinuxGpioDriver/") add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/LinuxUartDriver/") add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/LinuxSpiDriver/") add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/LinuxI2cDriver/") +add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/StreamCrossover/") # IP Socket is only supported for Linux, Darwin, VxWorks if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR ${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" OR ${CMAKE_SYSTEM_NAME} STREQUAL "VxWorks") diff --git a/Drv/StreamCrossover/CMakeLists.txt b/Drv/StreamCrossover/CMakeLists.txt new file mode 100644 index 0000000000..4a6b0cf367 --- /dev/null +++ b/Drv/StreamCrossover/CMakeLists.txt @@ -0,0 +1,22 @@ +#### +# F prime CMakeLists.txt: +# +# SOURCE_FILES: combined list of source and autocoding files +# MOD_DEPS: (optional) module dependencies +# +#### +set(SOURCE_FILES + "${CMAKE_CURRENT_LIST_DIR}/StreamCrossover.fpp" + "${CMAKE_CURRENT_LIST_DIR}/StreamCrossover.cpp" +) + +register_fprime_module() + +# Register the unit test build +set(UT_SOURCE_FILES + "${CMAKE_CURRENT_LIST_DIR}/StreamCrossover.fpp" + "${CMAKE_CURRENT_LIST_DIR}/test/ut/Tester.cpp" + "${CMAKE_CURRENT_LIST_DIR}/test/ut/TestMain.cpp" +) +set(UT_AUTO_HELPERS ON) +register_fprime_ut() diff --git a/Drv/StreamCrossover/StreamCrossover.cpp b/Drv/StreamCrossover/StreamCrossover.cpp new file mode 100644 index 0000000000..751f03dafc --- /dev/null +++ b/Drv/StreamCrossover/StreamCrossover.cpp @@ -0,0 +1,57 @@ +// ====================================================================== +// \title StreamCrossover.cpp +// \author ethanchee +// \brief cpp file for StreamCrossover component implementation class +// ====================================================================== + + +#include +#include + +namespace Drv { + + // ---------------------------------------------------------------------- + // Construction, initialization, and destruction + // ---------------------------------------------------------------------- + + StreamCrossover :: + StreamCrossover( + const char *const compName + ) : StreamCrossoverComponentBase(compName) + { + + } + + StreamCrossover :: + ~StreamCrossover() + { + + } + + // ---------------------------------------------------------------------- + // Handler implementations for user-defined typed input ports + // ---------------------------------------------------------------------- + + void StreamCrossover :: + streamIn_handler( + const NATIVE_INT_TYPE portNum, + Fw::Buffer &recvBuffer, + const Drv::RecvStatus &recvStatus + ) + { + if(recvStatus == Drv::RecvStatus::RECV_ERROR || recvBuffer.getSize() == 0) + { + this->log_WARNING_HI_StreamOutError(Drv::SendStatus::SEND_ERROR); + this->errorDeallocate_out(0, recvBuffer); + return; + } + + Drv::SendStatus sendStatus = this->streamOut_out(0, recvBuffer); + + if(sendStatus != Drv::SendStatus::SEND_OK) + { + this->log_WARNING_HI_StreamOutError(sendStatus); + } + } + +} // end namespace Drv diff --git a/Drv/StreamCrossover/StreamCrossover.fpp b/Drv/StreamCrossover/StreamCrossover.fpp new file mode 100644 index 0000000000..286aaf3d09 --- /dev/null +++ b/Drv/StreamCrossover/StreamCrossover.fpp @@ -0,0 +1,28 @@ +module Drv { + + passive component StreamCrossover { + + output port streamOut: Drv.ByteStreamSend + + sync input port streamIn: Drv.ByteStreamRecv + + @ Indicates buffer failed to send to streamOut. + event StreamOutError(sendStatus: Drv.SendStatus) \ + severity warning high \ + format "StreamCrossover StreamOut Error: {}" + + @ Allows for deallocation after bad receive status + output port errorDeallocate: Fw.BufferSend + + @ Port for requesting the current time + time get port timeCaller + + @ Port for sending textual representation of events + text event port logTextOut + + @ Port for sending events to downlink + event port logOut + + } + +} diff --git a/Drv/StreamCrossover/StreamCrossover.hpp b/Drv/StreamCrossover/StreamCrossover.hpp new file mode 100644 index 0000000000..33e1b17211 --- /dev/null +++ b/Drv/StreamCrossover/StreamCrossover.hpp @@ -0,0 +1,53 @@ +// ====================================================================== +// \title StreamCrossover.hpp +// \author ethanchee +// \brief hpp file for StreamCrossover component implementation class +// ====================================================================== + +#ifndef StreamCrossover_HPP +#define StreamCrossover_HPP + +#include "Drv/StreamCrossover/StreamCrossoverComponentAc.hpp" + +namespace Drv { + + class StreamCrossover : + public StreamCrossoverComponentBase + { + + public: + + // ---------------------------------------------------------------------- + // Construction, initialization, and destruction + // ---------------------------------------------------------------------- + + //! Construct object StreamCrossover + //! + StreamCrossover( + const char *const compName /*!< The component name*/ + ); + + //! Destroy object StreamCrossover + //! + ~StreamCrossover(); + + PRIVATE: + + // ---------------------------------------------------------------------- + // Handler implementations for user-defined typed input ports + // ---------------------------------------------------------------------- + + //! Handler implementation for streamIn + //! + void streamIn_handler( + const NATIVE_INT_TYPE portNum, /*!< The port number*/ + Fw::Buffer &recvBuffer, + const Drv::RecvStatus &recvStatus + ); + + + }; + +} // end namespace Drv + +#endif diff --git a/Drv/StreamCrossover/docs/sdd.md b/Drv/StreamCrossover/docs/sdd.md new file mode 100644 index 0000000000..7333740342 --- /dev/null +++ b/Drv/StreamCrossover/docs/sdd.md @@ -0,0 +1,30 @@ +\page DrvStreamCrossover Drv::StreamCrossover Stream Crossover Component +# Drv::StreamCrossover Stream Crossover Component + +The Stream Crossover component allows a connection of byte stream driver model ports of type ByteStreamRecv and +ByteStreamSend. + +## Design + +The Drv::StreamCrossover utilizes the byte stream driver model to handle the incoming stream of bytes. Upon calling +the "streamIn" port, the `Fw::Buffer` containing the data will be forwarded to the "streamOut" port. This enables a +connection from a ByteStreamRecv port to a ByteStreamSend port. + +## Port Descriptions +| Name | Description | +|---|---| +| streamOut | A ByteStreamSend port for outgoing data stored in `Fw::Buffer` | +| streamIn | A ByteStreamRecv port for incoming data stored in `Fw::Buffer` | +| errorDeallocate | Deallocate a `Fw::Buffer` on error | + +## Requirements +Add requirements in the chart below +| Name | Description | Validation | +|---|---|---| +| STREAM-CROSSOVER-COMP-001 | The stream crossover component shall provide the capability to forward bytes | Unit Test | + +## Change Log +| Date | Description | +|---|---| +| 2023-06-05 | Initial Draft | +| 2023-06-09 | Implement Error Handling | diff --git a/Drv/StreamCrossover/test/ut/TestMain.cpp b/Drv/StreamCrossover/test/ut/TestMain.cpp new file mode 100644 index 0000000000..2b5a81a59b --- /dev/null +++ b/Drv/StreamCrossover/test/ut/TestMain.cpp @@ -0,0 +1,20 @@ +// ---------------------------------------------------------------------- +// TestMain.cpp +// ---------------------------------------------------------------------- + +#include "Tester.hpp" + +TEST(Nominal, TestBuffer) { + Drv::Tester tester; + tester.sendTestBuffer(); +} + +TEST(Nominal, TestFail) { + Drv::Tester tester; + tester.testFail(); +} + +int main(int argc, char **argv) { + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} diff --git a/Drv/StreamCrossover/test/ut/Tester.cpp b/Drv/StreamCrossover/test/ut/Tester.cpp new file mode 100644 index 0000000000..63844e4637 --- /dev/null +++ b/Drv/StreamCrossover/test/ut/Tester.cpp @@ -0,0 +1,101 @@ +// ====================================================================== +// \title StreamCrossover.hpp +// \author ethanchee +// \brief cpp file for StreamCrossover test harness implementation class +// ====================================================================== + +#include "Tester.hpp" + +namespace Drv { + + // ---------------------------------------------------------------------- + // Construction and destruction + // ---------------------------------------------------------------------- + + Tester :: + Tester() : + StreamCrossoverGTestBase("Tester", Tester::MAX_HISTORY_SIZE), + component("StreamCrossover") + { + this->initComponents(); + this->connectPorts(); + } + + Tester :: + ~Tester() + { + + } + + // ---------------------------------------------------------------------- + // Tests + // ---------------------------------------------------------------------- + + void Tester :: + sendTestBuffer() + { + U8 testStr[6] = "test\n"; + Fw::Buffer sendBuffer(testStr, sizeof(testStr)); + this->invoke_to_streamIn(0, sendBuffer, Drv::RecvStatus::RECV_OK); + + // Ensure only one buffer was sent to streamOut + ASSERT_from_streamOut_SIZE(1); + + // Ensure the sendBuffer was sent + ASSERT_from_streamOut(0, sendBuffer); + } + + void Tester :: + testFail() + { + U8 testStr[6] = "test\n"; + Fw::Buffer sendBuffer(testStr, sizeof(testStr)); + this->invoke_to_streamIn(0, sendBuffer, Drv::RecvStatus::RECV_ERROR); + + // Ensure only one buffer was sent to errorDeallocate port on RECV_ERROR + ASSERT_from_errorDeallocate_SIZE(1); + + // Ensure the sendBuffer was sent + ASSERT_from_errorDeallocate(0, sendBuffer); + + // Ensure the error event was sent + ASSERT_EVENTS_StreamOutError_SIZE(1); + + // Ensure the error is SEND_ERROR + ASSERT_EVENTS_StreamOutError(0, Drv::SendStatus::SEND_ERROR); + } + + // ---------------------------------------------------------------------- + // Handlers for typed from ports + // ---------------------------------------------------------------------- + + Drv::SendStatus Tester :: + from_streamOut_handler( + const NATIVE_INT_TYPE portNum, + Fw::Buffer &sendBuffer + ) + { + this->pushFromPortEntry_streamOut(sendBuffer); + + U8 testStr[6] = "test\n"; + Fw::Buffer cmpBuffer(testStr, sizeof(testStr)); + + if(!(cmpBuffer == sendBuffer)) + { + return Drv::SendStatus::SEND_ERROR; + } + + return Drv::SendStatus::SEND_OK; + } + + void Tester :: + from_errorDeallocate_handler( + const NATIVE_INT_TYPE portNum, + Fw::Buffer &fwBuffer + ) + { + this->pushFromPortEntry_errorDeallocate(fwBuffer); + } + + +} // end namespace Drv diff --git a/Drv/StreamCrossover/test/ut/Tester.hpp b/Drv/StreamCrossover/test/ut/Tester.hpp new file mode 100644 index 0000000000..7ef64849aa --- /dev/null +++ b/Drv/StreamCrossover/test/ut/Tester.hpp @@ -0,0 +1,99 @@ +// ====================================================================== +// \title StreamCrossover/test/ut/Tester.hpp +// \author ethanchee +// \brief hpp file for StreamCrossover test harness implementation class +// ====================================================================== + +#ifndef TESTER_HPP +#define TESTER_HPP + +#include "GTestBase.hpp" +#include "Drv/StreamCrossover/StreamCrossover.hpp" + +namespace Drv { + + class Tester : + public StreamCrossoverGTestBase + { + + // ---------------------------------------------------------------------- + // Construction and destruction + // ---------------------------------------------------------------------- + + public: + // Maximum size of histories storing events, telemetry, and port outputs + static const NATIVE_INT_TYPE MAX_HISTORY_SIZE = 10; + // Instance ID supplied to the component instance under test + static const NATIVE_INT_TYPE TEST_INSTANCE_ID = 0; + + //! Construct object Tester + //! + Tester(); + + //! Destroy object Tester + //! + ~Tester(); + + public: + + // ---------------------------------------------------------------------- + // Tests + // ---------------------------------------------------------------------- + + //! Send a test buffer to streamOut from streamIn + //! + void sendTestBuffer(); + + //! Send a fail RECV_STATUS to test error + //! + void testFail(); + + private: + + // ---------------------------------------------------------------------- + // Handlers for typed from ports + // ---------------------------------------------------------------------- + + //! Handler for from_streamOut + //! + Drv::SendStatus from_streamOut_handler( + const NATIVE_INT_TYPE portNum, /*!< The port number*/ + Fw::Buffer &sendBuffer + ); + + //! Handler for from_deallocate + //! + void from_errorDeallocate_handler( + const NATIVE_INT_TYPE portNum, /*!< The port number*/ + Fw::Buffer &fwBuffer + ); + + private: + + // ---------------------------------------------------------------------- + // Helper methods + // ---------------------------------------------------------------------- + + //! Connect ports + //! + void connectPorts(); + + //! Initialize components + //! + void initComponents(); + + private: + + // ---------------------------------------------------------------------- + // Variables + // ---------------------------------------------------------------------- + + //! The component under test + //! + StreamCrossover component; + + }; + +} // end namespace Drv + +#endif From f0e039b5bb9273cf14262e4c24937ba2afbb6a1d Mon Sep 17 00:00:00 2001 From: M Starch Date: Mon, 12 Jun 2023 09:47:44 -0700 Subject: [PATCH 30/55] Adding telemetry and event automatic processing for GenericHub (#2078) * Adding telemetry and event automatic processing for GenericHub * Fixes as suggested by review --- Svc/GenericHub/CMakeLists.txt | 1 + Svc/GenericHub/GenericHub.fpp | 20 +++- Svc/GenericHub/GenericHubComponentImpl.cpp | 78 +++++++++++++++- Svc/GenericHub/GenericHubComponentImpl.hpp | 19 ++++ Svc/GenericHub/docs/sdd.md | 14 +++ Svc/GenericHub/test/ut/TestMain.cpp | 10 ++ Svc/GenericHub/test/ut/Tester.cpp | 104 +++++++++++++++++---- Svc/GenericHub/test/ut/Tester.hpp | 30 ++++++ 8 files changed, 250 insertions(+), 26 deletions(-) diff --git a/Svc/GenericHub/CMakeLists.txt b/Svc/GenericHub/CMakeLists.txt index c540994354..d6508e1a37 100644 --- a/Svc/GenericHub/CMakeLists.txt +++ b/Svc/GenericHub/CMakeLists.txt @@ -21,4 +21,5 @@ set(UT_MOD_DEPS Fw/Com STest ) + register_fprime_ut() diff --git a/Svc/GenericHub/GenericHub.fpp b/Svc/GenericHub/GenericHub.fpp index a9ddd9fa3f..a495c4a729 100644 --- a/Svc/GenericHub/GenericHub.fpp +++ b/Svc/GenericHub/GenericHub.fpp @@ -3,18 +3,34 @@ module Svc { @ A generic hub component passive component GenericHub { + # ---------------------------------------------------------------------- + # Mimic Ports + # ---------------------------------------------------------------------- + + @ Telemetry input port for mimicking an event processor + sync input port TlmRecv: Fw.Tlm + + @ Event input port for mimicking an event processor + sync input port LogRecv: Fw.Log + + @ Cross-hub event output port + output port LogSend: Fw.Log + + @ Cross-hub telemetry output port + output port TlmSend: Fw.Tlm + # ---------------------------------------------------------------------- # General Ports # ---------------------------------------------------------------------- @ Input array of generic ports to shuttle to the other side of the hub connection - guarded input port portIn: [GenericHubInputPorts] serial + sync input port portIn: [GenericHubInputPorts] serial @ Output array of generic ports shuttled from the other side of the hub connection output port portOut: [GenericHubOutputPorts] serial @ Input array of generic ports shuttling in copy-free buffers form external sources - guarded input port buffersIn: [GenericHubInputBuffers] Fw.BufferSend + sync input port buffersIn: [GenericHubInputBuffers] Fw.BufferSend @ Output array of generic ports shuttling in copy-free buffers form external sources output port buffersOut: [GenericHubOutputBuffers] Fw.BufferSend diff --git a/Svc/GenericHub/GenericHubComponentImpl.cpp b/Svc/GenericHub/GenericHubComponentImpl.cpp index 0b6623fd12..1186378f72 100644 --- a/Svc/GenericHub/GenericHubComponentImpl.cpp +++ b/Svc/GenericHub/GenericHubComponentImpl.cpp @@ -10,10 +10,10 @@ // // ====================================================================== +#include #include #include "Fw/Logger/Logger.hpp" #include "Fw/Types/Assert.hpp" -#include // Required port serialization or the hub cannot work static_assert(FW_PORT_SERIALIZATION, "FW_PORT_SERIALIZATION must be enabled to use GenericHub"); @@ -50,7 +50,6 @@ void GenericHubComponentImpl ::send_data(const HubType type, FW_ASSERT(status == Fw::FW_SERIALIZE_OK, static_cast(status)); outgoing.setSize(serialize.getBuffLength()); dataOut_out(0, outgoing); - } // ---------------------------------------------------------------------- @@ -62,8 +61,7 @@ void GenericHubComponentImpl ::buffersIn_handler(const NATIVE_INT_TYPE portNum, bufferDeallocate_out(0, fwBuffer); } -void GenericHubComponentImpl ::dataIn_handler(const NATIVE_INT_TYPE portNum, - Fw::Buffer& fwBuffer) { +void GenericHubComponentImpl ::dataIn_handler(const NATIVE_INT_TYPE portNum, Fw::Buffer& fwBuffer) { HubType type = HUB_TYPE_MAX; U32 type_in = 0; U32 port = 0; @@ -96,13 +94,85 @@ void GenericHubComponentImpl ::dataIn_handler(const NATIVE_INT_TYPE portNum, status = wrapper.setBuffLen(rawSize); FW_ASSERT(status == Fw::FW_SERIALIZE_OK, static_cast(status)); portOut_out(port, wrapper); + // Deallocate the existing buffer dataInDeallocate_out(0, fwBuffer); } else if (type == HUB_TYPE_BUFFER) { + // Fw::Buffers can reuse the existing data buffer as the storage type! No deallocation done. fwBuffer.set(rawData, rawSize, fwBuffer.getContext()); buffersOut_out(port, fwBuffer); + } else if (type == HUB_TYPE_EVENT) { + FwEventIdType id; + Fw::Time timeTag; + Fw::LogSeverity severity; + Fw::LogBuffer args; + + // Deserialize tokens for events + status = incoming.deserialize(id); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK, static_cast(status)); + status = incoming.deserialize(timeTag); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK, static_cast(status)); + status = incoming.deserialize(severity); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK, static_cast(status)); + status = incoming.deserialize(args); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK, static_cast(status)); + + // Send it! + this->LogSend_out(port, id, timeTag, severity, args); + + // Deallocate the existing buffer + dataInDeallocate_out(0, fwBuffer); + } else if (type == HUB_TYPE_CHANNEL) { + FwChanIdType id; + Fw::Time timeTag; + Fw::TlmBuffer val; + + // Deserialize tokens for channels + status = incoming.deserialize(id); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK, static_cast(status)); + status = incoming.deserialize(timeTag); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK, static_cast(status)); + status = incoming.deserialize(val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK, static_cast(status)); + + // Send it! + this->TlmSend_out(port, id, timeTag, val); + + // Deallocate the existing buffer + dataInDeallocate_out(0, fwBuffer); } } +void GenericHubComponentImpl ::LogRecv_handler(const NATIVE_INT_TYPE portNum, + FwEventIdType id, + Fw::Time& timeTag, + const Fw::LogSeverity& severity, + Fw::LogBuffer& args) { + U8 buffer[sizeof(FwEventIdType) + Fw::Time::SERIALIZED_SIZE + Fw::LogSeverity::SERIALIZED_SIZE + FW_LOG_BUFFER_MAX_SIZE]; + Fw::ExternalSerializeBuffer serializer(buffer, sizeof(buffer)); + serializer.resetSer(); + FW_ASSERT(serializer.serialize(id) == Fw::SerializeStatus::FW_SERIALIZE_OK);; + FW_ASSERT(serializer.serialize(timeTag) == Fw::SerializeStatus::FW_SERIALIZE_OK); + FW_ASSERT(serializer.serialize(severity) == Fw::SerializeStatus::FW_SERIALIZE_OK); + FW_ASSERT(serializer.serialize(args) == Fw::SerializeStatus::FW_SERIALIZE_OK); + U32 size = serializer.getBuffLength(); + this->send_data(HubType::HUB_TYPE_EVENT, portNum, buffer, size); + +} + +void GenericHubComponentImpl ::TlmRecv_handler(const NATIVE_INT_TYPE portNum, + FwChanIdType id, + Fw::Time& timeTag, + Fw::TlmBuffer& val) { + U8 buffer[sizeof(FwChanIdType) + Fw::Time::SERIALIZED_SIZE + FW_TLM_BUFFER_MAX_SIZE]; + Fw::ExternalSerializeBuffer serializer(buffer, sizeof(buffer)); + serializer.resetSer(); + FW_ASSERT(serializer.serialize(id) == Fw::SerializeStatus::FW_SERIALIZE_OK); + FW_ASSERT(serializer.serialize(timeTag) == Fw::SerializeStatus::FW_SERIALIZE_OK); + FW_ASSERT(serializer.serialize(val) == Fw::SerializeStatus::FW_SERIALIZE_OK); + U32 size = serializer.getBuffLength(); + this->send_data(HubType::HUB_TYPE_CHANNEL, portNum, buffer, size); +} + // ---------------------------------------------------------------------- // Handler implementations for user-defined serial input ports // ---------------------------------------------------------------------- diff --git a/Svc/GenericHub/GenericHubComponentImpl.hpp b/Svc/GenericHub/GenericHubComponentImpl.hpp index 02a0ce6f54..f53057af85 100644 --- a/Svc/GenericHub/GenericHubComponentImpl.hpp +++ b/Svc/GenericHub/GenericHubComponentImpl.hpp @@ -27,6 +27,8 @@ class GenericHubComponentImpl : public GenericHubComponentBase { enum HubType { HUB_TYPE_PORT, //!< Port type transmission HUB_TYPE_BUFFER, //!< Buffer type transmission + HUB_TYPE_EVENT, //!< Event transmission + HUB_TYPE_CHANNEL, //!< Telemetry channel type HUB_TYPE_MAX }; @@ -64,6 +66,23 @@ class GenericHubComponentImpl : public GenericHubComponentBase { void dataIn_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ Fw::Buffer& fwBuffer); + //! Handler implementation for LogRecv + //! + void LogRecv_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + FwEventIdType id, /*!< Log ID */ + Fw::Time& timeTag, /*!< Time Tag */ + const Fw::LogSeverity& severity, /*!< The severity argument */ + Fw::LogBuffer& args /*!< Buffer containing serialized log entry */ + ); + + //! Handler implementation for TlmRecv + //! + void TlmRecv_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + FwChanIdType id, /*!< Telemetry Channel ID */ + Fw::Time& timeTag, /*!< Time Tag */ + Fw::TlmBuffer& val /*!< Buffer containing serialized telemetry value */ + ); + // ---------------------------------------------------------------------- // Handler implementations for user-defined serial input ports // ---------------------------------------------------------------------- diff --git a/Svc/GenericHub/docs/sdd.md b/Svc/GenericHub/docs/sdd.md index 07fe96d654..d8c1d77a46 100644 --- a/Svc/GenericHub/docs/sdd.md +++ b/Svc/GenericHub/docs/sdd.md @@ -23,6 +23,9 @@ It is also essential that users never pass a **pointer** into the generic hub, a leaves the current address space. A sample configuration is shown below. Finally, the generic hub is bidirectional, so it can operate on inputs and produce outputs as long as its remote counterpart is hooked up in parallel. +The hub also provides specific handlers for events and telemetry such that it can be used with telemetry and event +pattern specifiers in the topology. + ### Example Formations This section shows how to set up the generic hub component. It is broken into several separate views. This first shows @@ -65,12 +68,22 @@ GenericHubOutputBuffers = 10 The above configuration may be used with both deployments hubs as the input/output pairs match. +To use the hub in a pattern specifier, include this in your topology: + +``` + event connections instance hub + telemetry connections instance hub +``` + ## Idiosyncrasies Currently, the `Drv::ByteStreamDriverModel` can report errors and failures. This generic hub component drops these errors. Users who expect the driver to error should adapt this component to handle this issue. Future versions of this component may correct this issue by calling to a fault port on error. +Connections are still required from the telemetry and event output ports to the system-wide event log and telemetry +handling components as the hub is not designed to look like a telemetry nor event source. + ## Requirements | Name | Description | Validation | @@ -86,3 +99,4 @@ may correct this issue by calling to a fault port on error. |---|---| | 2020-12-21 | Initial Draft | | 2021-01-29 | Updated | +| 2023-06-09 | Added telemetry and event helpers | diff --git a/Svc/GenericHub/test/ut/TestMain.cpp b/Svc/GenericHub/test/ut/TestMain.cpp index 81c038b8b7..d2d66eec2f 100644 --- a/Svc/GenericHub/test/ut/TestMain.cpp +++ b/Svc/GenericHub/test/ut/TestMain.cpp @@ -20,6 +20,16 @@ TEST(Nominal, TestRandomIo) { tester.test_random_io(); } +TEST(Nominal, TestEvents) { + Svc::Tester tester; + tester.test_events(); +} + +TEST(Nominal, TestTelemetry) { + Svc::Tester tester; + tester.test_telemetry(); +} + int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); diff --git a/Svc/GenericHub/test/ut/Tester.cpp b/Svc/GenericHub/test/ut/Tester.cpp index cfbbdf06fd..17046dc5ae 100644 --- a/Svc/GenericHub/test/ut/Tester.cpp +++ b/Svc/GenericHub/test/ut/Tester.cpp @@ -52,7 +52,8 @@ void Tester ::test_in_out() { } void Tester ::test_buffer_io() { - U32 max = std::min(this->componentIn.getNum_buffersIn_InputPorts(), this->componentOut.getNum_buffersOut_OutputPorts()); + U32 max = + std::min(this->componentIn.getNum_buffersIn_InputPorts(), this->componentOut.getNum_buffersOut_OutputPorts()); for (U32 i = 0; i < max; i++) { send_random_buffer(i); ASSERT_from_dataInDeallocate_SIZE(1); @@ -64,24 +65,61 @@ void Tester ::test_random_io() { for (U32 i = 0; i < 10000; i++) { U32 choice = STest::Pick::lowerUpper(0, 1); if (choice) { - U32 port = STest::Pick::lowerUpper(0, std::min(this->componentIn.getNum_portIn_InputPorts(), this->componentOut.getNum_portOut_OutputPorts()) - 1); + U32 port = STest::Pick::lowerUpper(0, std::min(this->componentIn.getNum_portIn_InputPorts(), + this->componentOut.getNum_portOut_OutputPorts()) - + 1); send_random_comm(port); } else { - U32 port = STest::Pick::lowerUpper(0, std::min(this->componentIn.getNum_buffersIn_InputPorts(), this->componentOut.getNum_buffersOut_OutputPorts()) - 1); + U32 port = STest::Pick::lowerUpper(0, std::min(this->componentIn.getNum_buffersIn_InputPorts(), + this->componentOut.getNum_buffersOut_OutputPorts()) - + 1); send_random_buffer(port); } ASSERT_from_dataInDeallocate_SIZE(1); fromPortHistory_dataInDeallocate->clear(); } } -// Helpers -void Tester ::send_random_comm(U32 port) { - U32 random_size = STest::Pick::lowerUpper(0, FW_COM_BUFFER_MAX_SIZE); - m_comm.resetSer(); +void Tester ::random_fill(Fw::SerializeBufferBase& buffer, U32 max_size) { + U32 random_size = STest::Pick::lowerUpper(0, max_size); + buffer.resetSer(); for (U32 i = 0; i < random_size; i++) { - m_comm.serialize(static_cast(STest::Pick::any())); + buffer.serialize(static_cast(STest::Pick::any())); } +} + +void Tester ::test_telemetry() { + Fw::TlmBuffer buffer; + random_fill(buffer, FW_TLM_BUFFER_MAX_SIZE); + + Fw::Time time(100, 200); + invoke_to_TlmRecv(0, 123, time, buffer); + + // **must** deallocate buffer + ASSERT_from_dataInDeallocate_SIZE(1); + ASSERT_from_TlmSend_SIZE(1); + ASSERT_from_TlmSend(0, 123, time, buffer); + clearFromPortHistory(); +} + +void Tester ::test_events() { + Fw::LogSeverity severity = Fw::LogSeverity::WARNING_HI; + Fw::LogBuffer buffer; + random_fill(buffer, FW_LOG_BUFFER_MAX_SIZE); + + Fw::Time time(100, 200); + invoke_to_LogRecv(0, 123, time, severity, buffer); + + // **must** deallocate buffer + ASSERT_from_dataInDeallocate_SIZE(1); + ASSERT_from_LogSend_SIZE(1); + ASSERT_from_LogSend(0, 123, time, severity, buffer); + clearFromPortHistory(); +} +// Helpers + +void Tester ::send_random_comm(U32 port) { + random_fill(m_comm, FW_COM_BUFFER_MAX_SIZE); m_current_port = port; invoke_to_portIn(m_current_port, m_comm); // Ensure that the data out was called, and that the portOut unwrapped properly @@ -91,14 +129,11 @@ void Tester ::send_random_comm(U32 port) { } void Tester ::send_random_buffer(U32 port) { - - U32 random_size = STest::Pick::lowerUpper(0, DATA_SIZE - (sizeof(U32) + sizeof(U32) + sizeof(FwBuffSizeType))); - m_buffer.set(m_data_store, sizeof(m_data_store)) ; - ASSERT_GE(m_buffer.getSize(), random_size); - for (U32 i = 0; i < random_size; i++) { - reinterpret_cast(m_buffer.getData())[i] = static_cast(STest::Pick::any()); - } - m_buffer.setSize(random_size); + U32 max_random_size = STest::Pick::lowerUpper(0, DATA_SIZE - (sizeof(U32) + sizeof(U32) + sizeof(FwBuffSizeType))); + m_buffer.set(m_data_store, sizeof(m_data_store)); + ASSERT_GE(m_buffer.getSize(), max_random_size); + random_fill(m_buffer.getSerializeRepr(), max_random_size); + m_buffer.setSize(max_random_size); m_current_port = port; invoke_to_buffersIn(m_current_port, m_buffer); ASSERT_from_bufferDeallocate_SIZE(1); @@ -114,14 +149,29 @@ void Tester ::send_random_buffer(U32 port) { // Handlers for typed from ports // ---------------------------------------------------------------------- +void Tester ::from_LogSend_handler(const NATIVE_INT_TYPE portNum, + FwEventIdType id, + Fw::Time& timeTag, + const Fw::LogSeverity& severity, + Fw::LogBuffer& args) { + this->pushFromPortEntry_LogSend(id, timeTag, severity, args); +} + +void Tester ::from_TlmSend_handler(const NATIVE_INT_TYPE portNum, + FwChanIdType id, + Fw::Time& timeTag, + Fw::TlmBuffer& val) { + this->pushFromPortEntry_TlmSend(id, timeTag, val); +} + void Tester ::from_dataOut_handler(const NATIVE_INT_TYPE portNum, Fw::Buffer& fwBuffer) { ASSERT_NE(fwBuffer.getData(), nullptr) << "Empty buffer to deallocate"; ASSERT_GE(fwBuffer.getData(), m_data_for_allocation) << "Incorrect data pointer deallocated"; - ASSERT_LT(fwBuffer.getData(), m_data_for_allocation + sizeof(m_data_for_allocation)) << "Incorrect data pointer deallocated"; + ASSERT_LT(fwBuffer.getData(), m_data_for_allocation + sizeof(m_data_for_allocation)) + << "Incorrect data pointer deallocated"; // Reuse m_allocate to pass into the otherside of the hub this->pushFromPortEntry_dataOut(fwBuffer); invoke_to_dataIn(0, fwBuffer); - } // ---------------------------------------------------------------------- @@ -172,7 +222,8 @@ void Tester ::from_bufferDeallocate_handler(const NATIVE_INT_TYPE portNum, Fw::B void Tester ::from_dataInDeallocate_handler(const NATIVE_INT_TYPE portNum, Fw::Buffer& fwBuffer) { ASSERT_NE(fwBuffer.getData(), nullptr) << "Empty buffer to deallocate"; ASSERT_GE(fwBuffer.getData(), m_data_for_allocation) << "Incorrect data pointer deallocated"; - ASSERT_LT(fwBuffer.getData(), m_data_for_allocation + sizeof(m_data_for_allocation)) << "Incorrect data pointer deallocated"; + ASSERT_LT(fwBuffer.getData(), m_data_for_allocation + sizeof(m_data_for_allocation)) + << "Incorrect data pointer deallocated"; m_allocate.set(nullptr, 0); this->pushFromPortEntry_dataInDeallocate(fwBuffer); @@ -184,11 +235,18 @@ void Tester ::from_dataInDeallocate_handler(const NATIVE_INT_TYPE portNum, Fw::B void Tester ::connectPorts() { // buffersIn - U32 max = std::min(this->componentIn.getNum_buffersIn_InputPorts(), this->componentOut.getNum_buffersOut_OutputPorts()); + U32 max = + std::min(this->componentIn.getNum_buffersIn_InputPorts(), this->componentOut.getNum_buffersOut_OutputPorts()); for (U32 i = 0; i < max; ++i) { this->connect_to_buffersIn(i, this->componentIn.get_buffersIn_InputPort(i)); } + // LogRecv + this->connect_to_LogRecv(0, this->componentIn.get_LogRecv_InputPort(0)); + + // TlmRecv + this->connect_to_TlmRecv(0, this->componentIn.get_TlmRecv_InputPort(0)); + // dataIn this->connect_to_dataIn(0, this->componentOut.get_dataIn_InputPort(0)); @@ -197,6 +255,12 @@ void Tester ::connectPorts() { this->componentOut.set_buffersOut_OutputPort(i, this->get_from_buffersOut(i)); } + // LogSend + this->componentOut.set_LogSend_OutputPort(0, this->get_from_LogSend(0)); + + // TlmSend + this->componentOut.set_TlmSend_OutputPort(0, this->get_from_TlmSend(0)); + // dataOut this->componentIn.set_dataOut_OutputPort(0, this->get_from_dataOut(0)); diff --git a/Svc/GenericHub/test/ut/Tester.hpp b/Svc/GenericHub/test/ut/Tester.hpp index df1327be3a..4a99367c6f 100644 --- a/Svc/GenericHub/test/ut/Tester.hpp +++ b/Svc/GenericHub/test/ut/Tester.hpp @@ -52,11 +52,39 @@ class Tester : public GenericHubGTestBase { //! void test_random_io(); + //! Test of telemetry in-out + //! + void test_telemetry(); + + //! Test of event in-out + //! + void test_events(); + + + private: // ---------------------------------------------------------------------- // Handlers for typed from ports // ---------------------------------------------------------------------- + //! Handler for from_LogSend + //! + void from_LogSend_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + FwEventIdType id, /*!< Log ID */ + Fw::Time& timeTag, /*!< Time Tag */ + const Fw::LogSeverity& severity, /*!< The severity argument */ + Fw::LogBuffer& args /*!< Buffer containing serialized log entry */ + ); + + //! Handler for from_TlmSend + //! + void from_TlmSend_handler( + const NATIVE_INT_TYPE portNum, /*!< The port number*/ + FwChanIdType id, /*!< Telemetry Channel ID */ + Fw::Time &timeTag, /*!< Time Tag */ + Fw::TlmBuffer &val /*!< Buffer containing serialized telemetry value */ + ); + //! Handler for from_buffersOut //! void from_buffersOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ @@ -98,6 +126,8 @@ class Tester : public GenericHubGTestBase { void send_random_buffer(U32 port); + void random_fill(Fw::SerializeBufferBase& buffer, U32 max_size); + // ---------------------------------------------------------------------- // Helper methods // ---------------------------------------------------------------------- From 569a7d6f4e4530f3017f05f1d0b3ace82c5f995f Mon Sep 17 00:00:00 2001 From: M Starch Date: Thu, 15 Jun 2023 12:29:49 -0700 Subject: [PATCH 31/55] Initial commit for Svc::CmdSplitter (#2081) * Initial commit for Svc::CmdSplitter * sp --- .github/actions/spelling/expect.txt | 2 +- Svc/CMakeLists.txt | 1 + Svc/CmdSplitter/CMakeLists.txt | 15 ++++ Svc/CmdSplitter/CmdSplitter.cpp | 51 +++++++++++ Svc/CmdSplitter/CmdSplitter.fpp | 27 ++++++ Svc/CmdSplitter/CmdSplitter.hpp | 54 ++++++++++++ Svc/CmdSplitter/docs/sdd.md | 55 ++++++++++++ Svc/CmdSplitter/test/ut/TestMain.cpp | 33 +++++++ Svc/CmdSplitter/test/ut/Tester.cpp | 123 +++++++++++++++++++++++++++ Svc/CmdSplitter/test/ut/Tester.hpp | 111 ++++++++++++++++++++++++ config/CmdSplitterCfg.hpp | 16 ++++ 11 files changed, 487 insertions(+), 1 deletion(-) create mode 100644 Svc/CmdSplitter/CMakeLists.txt create mode 100644 Svc/CmdSplitter/CmdSplitter.cpp create mode 100644 Svc/CmdSplitter/CmdSplitter.fpp create mode 100644 Svc/CmdSplitter/CmdSplitter.hpp create mode 100644 Svc/CmdSplitter/docs/sdd.md create mode 100644 Svc/CmdSplitter/test/ut/TestMain.cpp create mode 100644 Svc/CmdSplitter/test/ut/Tester.cpp create mode 100644 Svc/CmdSplitter/test/ut/Tester.hpp create mode 100644 config/CmdSplitterCfg.hpp diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index 57dd875791..8b8c21ca72 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -1616,7 +1616,7 @@ vwong vxworks VXWORKSLOGASSERT WAITALL -Watney +watney Wconversion Wdog weakref diff --git a/Svc/CMakeLists.txt b/Svc/CMakeLists.txt index c04257bba2..fef3e7c53a 100644 --- a/Svc/CMakeLists.txt +++ b/Svc/CMakeLists.txt @@ -23,6 +23,7 @@ add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/ComSplitter/") add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/ComStub/") add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/CmdDispatcher/") add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/CmdSequencer/") +add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/CmdSplitter/") add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/Deframer/") add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/FatalHandler/") add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/FileDownlinkPorts/") diff --git a/Svc/CmdSplitter/CMakeLists.txt b/Svc/CmdSplitter/CMakeLists.txt new file mode 100644 index 0000000000..85a5c730a0 --- /dev/null +++ b/Svc/CmdSplitter/CMakeLists.txt @@ -0,0 +1,15 @@ +set(SOURCE_FILES + "${CMAKE_CURRENT_LIST_DIR}/CmdSplitter.fpp" + "${CMAKE_CURRENT_LIST_DIR}/CmdSplitter.cpp" +) +register_fprime_module() + +set(UT_SOURCE_FILES + "${CMAKE_CURRENT_LIST_DIR}/CmdSplitter.fpp" + "${CMAKE_CURRENT_LIST_DIR}/test/ut/TestMain.cpp" + "${CMAKE_CURRENT_LIST_DIR}/test/ut/Tester.cpp" + +) +set(UT_MOD_DEPS STest) +set(UT_AUTO_HELPERS ON) +register_fprime_ut() \ No newline at end of file diff --git a/Svc/CmdSplitter/CmdSplitter.cpp b/Svc/CmdSplitter/CmdSplitter.cpp new file mode 100644 index 0000000000..6d850e33d6 --- /dev/null +++ b/Svc/CmdSplitter/CmdSplitter.cpp @@ -0,0 +1,51 @@ +// ====================================================================== +// \title CmdSplitter.cpp +// \author watney +// \brief cpp file for CmdSplitter component implementation class +// ====================================================================== + +#include +#include +#include +#include + +namespace Svc { + +// ---------------------------------------------------------------------- +// Construction, initialization, and destruction +// ---------------------------------------------------------------------- + +CmdSplitter ::CmdSplitter(const char* const compName) : CmdSplitterComponentBase(compName) {} + +CmdSplitter ::~CmdSplitter() {} + +// ---------------------------------------------------------------------- +// Handler implementations for user-defined typed input ports +// ---------------------------------------------------------------------- + +void CmdSplitter ::CmdBuff_handler(const NATIVE_INT_TYPE portNum, Fw::ComBuffer& data, U32 context) { + Fw::CmdPacket cmdPkt; + Fw::SerializeStatus stat = cmdPkt.deserialize(data); + + if (stat != Fw::FW_SERIALIZE_OK) { + // Let the local command dispatcher deal with it + this->LocalCmd_out(0, data, context); + } else { + // Check if local or remote + if (cmdPkt.getOpCode() < CMD_SPLITTER_REMOTE_OPCODE_BASE) { + this->LocalCmd_out(0, data, context); + } else { + this->RemoteCmd_out(0, data, context); + } + } +} + +void CmdSplitter ::seqCmdStatus_handler(const NATIVE_INT_TYPE portNum, + FwOpcodeType opCode, + U32 cmdSeq, + const Fw::CmdResponse& response) { + // Forward the command status + this->forwardSeqCmdStatus_out(portNum, opCode, cmdSeq, response); +} + +} // end namespace Svc diff --git a/Svc/CmdSplitter/CmdSplitter.fpp b/Svc/CmdSplitter/CmdSplitter.fpp new file mode 100644 index 0000000000..6d408f05af --- /dev/null +++ b/Svc/CmdSplitter/CmdSplitter.fpp @@ -0,0 +1,27 @@ + +module Svc { + + @ A component for splitting incoming commands to local or remote + passive component CmdSplitter { + + # ---------------------------------------------------------------------- + # General ports + # ---------------------------------------------------------------------- + + @ Input port for local or remote commands + sync input port CmdBuff: Fw.Com + + @ Input port for receiving the command status + sync input port seqCmdStatus: Fw.CmdResponse + + @ Output port for forwarding the Command status + output port forwardSeqCmdStatus: Fw.CmdResponse + + @ Output port for local commands + output port LocalCmd: Fw.Com + + @ Output port for remote commands + output port RemoteCmd: Fw.Com + + } +} \ No newline at end of file diff --git a/Svc/CmdSplitter/CmdSplitter.hpp b/Svc/CmdSplitter/CmdSplitter.hpp new file mode 100644 index 0000000000..ae76cba6b6 --- /dev/null +++ b/Svc/CmdSplitter/CmdSplitter.hpp @@ -0,0 +1,54 @@ +// ====================================================================== +// \title CmdSplitter.hpp +// \author watney +// \brief hpp file for CmdSplitter component implementation class +// ====================================================================== + +#ifndef CmdSplitter_HPP +#define CmdSplitter_HPP + +#include +#include "Svc/CmdSplitter/CmdSplitterComponentAc.hpp" + +namespace Svc { + +class CmdSplitter : public CmdSplitterComponentBase { + public: + // ---------------------------------------------------------------------- + // Construction, initialization, and destruction + // ---------------------------------------------------------------------- + + //! Construct object CmdSplitter + //! + CmdSplitter(const char* const compName /*!< The component name*/ + ); + + //! Destroy object CmdSplitter + //! + ~CmdSplitter(); + + PRIVATE : + + // ---------------------------------------------------------------------- + // Handler implementations for user-defined typed input ports + // ---------------------------------------------------------------------- + + //! Handler implementation for CmdBuff + //! + void CmdBuff_handler(const NATIVE_INT_TYPE portNum, /*!< The port number */ + Fw::ComBuffer& data, /*!< Buffer containing packet data */ + U32 context /*!< Call context value; meaning chosen by user */ + ); + + //! Handler implementation for seqCmdStatus + //! + void seqCmdStatus_handler(const NATIVE_INT_TYPE portNum, /*!< The port number */ + FwOpcodeType opCode, /*!< Command Op Code */ + U32 cmdSeq, /*!< Command Sequence */ + const Fw::CmdResponse& response /*!< The command response argument */ + ); +}; + +} // end namespace Svc + +#endif diff --git a/Svc/CmdSplitter/docs/sdd.md b/Svc/CmdSplitter/docs/sdd.md new file mode 100644 index 0000000000..206b53fede --- /dev/null +++ b/Svc/CmdSplitter/docs/sdd.md @@ -0,0 +1,55 @@ +\page SvcCmdSplitter Svc::CmdSplitter Component +# Svc::CmdSplitter Component + +## 1. Introduction + +The `Svc::CmdSplitter` splits an uplinked command execution to two separate `Svc::CmdDispatcher` components: one "local" and the other "remote". This splitting is done by opcode where local commands are commands whose opcode is less than `Svc::CMD_SPLITTER_REMOTE_OPCODE_BASE` and remote commands are those opcodes equal to or larger than that configuration setting. `Svc::CmdSplitter` is intended to be used as part of the hub pattern to route command to a command dispatcher in the remote deployment. + +## 2. Requirements + +The requirements for `Svc::CmdSplitter` are as follows: + +| Requirement | Description | Verification Method | +|----------------------|------------------------------------------------------------------------------------------------------|---------------------| +| SVC-CMD-SPLITTER-001 | The `Svc::CmdSplitter` component shall accept incoming command buffers. | Unit Test | +| SVC-CMD-SPLITTER-002 | The `Svc::CmdSplitter` component shall route commands under a configured value to the "local" port. | Unit Test | +| SVC-CMD-SPLITTER-003 | The `Svc::CmdSplitter` component shall route commands under a configured value to the "remote" port. | Unit Test | +| SVC-CMD-SPLITTER-004 | The `Svc::CmdSplitter` component shall route commands to the "local" port when an error occurs. | Unit Test | +| SVC-CMD-SPLITTER-005 | The `Svc::CmdSplitter` forward command status responses. | Unit Test | + +## 3. Design + +### 3.1 Ports + +| Name | Type | Kind | Description | +|---------------------|----------------|------------|-----------------------------------------------------------------| +| CmdBuff | Fw.Com | sync input | Incoming command buffer. | +| seqCmdStatus | Fw.CmdResponse | sync input | Incoming command status from both local and remote dispatchers. | +| LocalCmd | Fw.Com | sync input | Outgoing command buffer for local command dispatcher. | +| RemoteCmd | Fw.Com | sync input | Outgoing command buffer for remote command dispatcher. | +| forwardSeqCmdStatus | Fw.CmdResponse | sync input | Outgoing forwarded command status. | + +### 3.2 Functional Description + +The `Svc::CmdSplitter` routes an incoming command buffer of type `Fw::ComBuffer` to a local or remote command dispatcher. This is done by comparing the command's opcode to the `Svc::CMD_SPLITTER_REMOTE_OPCODE_BASE` configuration value. All command responses are forwarded through. + +### 3.1 State + +`Svc::CmdSplitter` has no state machines nor internal state. + +### 3.2 Algorithms + +`Svc::CmdSplitter` has no significant algorithms. + +## 4. Unit Testing + +To see unit test coverage run `fprime-util check --coverage` in the `Svc::CmdSplitter` directory + +## 5. Change Log + +| Date | Description | +|------------|-------------| +| 2023-06-12 | Initial | + + + diff --git a/Svc/CmdSplitter/test/ut/TestMain.cpp b/Svc/CmdSplitter/test/ut/TestMain.cpp new file mode 100644 index 0000000000..15566c052e --- /dev/null +++ b/Svc/CmdSplitter/test/ut/TestMain.cpp @@ -0,0 +1,33 @@ +// ---------------------------------------------------------------------- +// TestMain.cpp +// ---------------------------------------------------------------------- + +#include "Tester.hpp" + +TEST(Nominal, Local) { + Svc::Tester tester; + tester.test_local_routing(); +} + +TEST(Nominal, Remote) { + Svc::Tester tester; + tester.test_remote_routing(); +} + +TEST(Nominal, Forwarding) { + Svc::Tester tester; + tester.test_response_forwarding(); +} + +TEST(Error, BadCommands) { + Svc::Tester tester; + tester.test_error_routing(); +} + + + + +int main(int argc, char **argv) { + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} diff --git a/Svc/CmdSplitter/test/ut/Tester.cpp b/Svc/CmdSplitter/test/ut/Tester.cpp new file mode 100644 index 0000000000..6a44e98daf --- /dev/null +++ b/Svc/CmdSplitter/test/ut/Tester.cpp @@ -0,0 +1,123 @@ +// ====================================================================== +// \title CmdSplitter.hpp +// \author mstarch +// \brief cpp file for CmdSplitter test harness implementation class +// ====================================================================== + +#include "Tester.hpp" +#include +#include +#include +#include + +namespace Svc { + +// ---------------------------------------------------------------------- +// Construction and destruction +// ---------------------------------------------------------------------- + +Tester ::Tester() : CmdSplitterGTestBase("Tester", Tester::MAX_HISTORY_SIZE), component("CmdSplitter") { + this->initComponents(); + this->connectPorts(); +} + +Tester ::~Tester() {} + +// ---------------------------------------------------------------------- +// Tests +// ---------------------------------------------------------------------- + +Fw::ComBuffer Tester ::build_command_around_opcode(FwOpcodeType opcode) { + Fw::ComBuffer comBuffer; + EXPECT_EQ(comBuffer.serialize(static_cast(Fw::ComPacket::FW_PACKET_COMMAND)), Fw::FW_SERIALIZE_OK); + EXPECT_EQ(comBuffer.serialize(opcode), Fw::FW_SERIALIZE_OK); + + Fw::CmdArgBuffer args; + + U32 random_size = STest::Pick::lowerUpper(0, args.getBuffCapacity()); + args.resetSer(); + for (FwSizeType i = 0; i < random_size; i++) { + args.serialize(static_cast(STest::Pick::any())); + } + EXPECT_EQ(comBuffer.serialize(args), Fw::FW_SERIALIZE_OK); + return comBuffer; +} + +void Tester ::test_local_routing() { + REQUIREMENT("SVC-CMD-SPLITTER-001"); + REQUIREMENT("SVC-CMD-SPLITTER-002"); + + ASSERT_GT(Svc::CMD_SPLITTER_REMOTE_OPCODE_BASE, 0); // Must leave some room for local commands + FwOpcodeType local_opcode = static_cast(STest::Pick::lowerUpper( + 0, FW_MIN(Svc::CMD_SPLITTER_REMOTE_OPCODE_BASE - 1, std::numeric_limits::max()))); + Fw::ComBuffer testBuffer = this->build_command_around_opcode(local_opcode); + + U32 context = static_cast(STest::Pick::any()); + this->invoke_to_CmdBuff(0, testBuffer, context); + ASSERT_from_RemoteCmd_SIZE(0); + ASSERT_from_LocalCmd_SIZE(1); + ASSERT_from_LocalCmd(0, testBuffer, context); +} + +void Tester ::test_remote_routing() { + REQUIREMENT("SVC-CMD-SPLITTER-001"); + REQUIREMENT("SVC-CMD-SPLITTER-003"); + + ASSERT_LT(Svc::CMD_SPLITTER_REMOTE_OPCODE_BASE, + std::numeric_limits::max()); // Must leave some room for remote commands + FwOpcodeType local_opcode = static_cast( + STest::Pick::lowerUpper(Svc::CMD_SPLITTER_REMOTE_OPCODE_BASE, std::numeric_limits::max())); + Fw::ComBuffer testBuffer = this->build_command_around_opcode(local_opcode); + + U32 context = static_cast(STest::Pick::any()); + this->invoke_to_CmdBuff(0, testBuffer, context); + ASSERT_from_LocalCmd_SIZE(0); + ASSERT_from_RemoteCmd_SIZE(1); + ASSERT_from_RemoteCmd(0, testBuffer, context); +} + +void Tester ::test_error_routing() { + REQUIREMENT("SVC-CMD-SPLITTER-001"); + REQUIREMENT("SVC-CMD-SPLITTER-004"); + Fw::ComBuffer testBuffer; // Intentionally left empty + U32 context = static_cast(STest::Pick::any()); + this->invoke_to_CmdBuff(0, testBuffer, context); + ASSERT_from_RemoteCmd_SIZE(0); + ASSERT_from_LocalCmd_SIZE(1); + ASSERT_from_LocalCmd(0, testBuffer, context); +} + +void Tester ::test_response_forwarding() { + REQUIREMENT("SVC-CMD-SPLITTER-001"); + REQUIREMENT("SVC-CMD-SPLITTER-005"); + + FwOpcodeType opcode = + static_cast(STest::Pick::lowerUpper(0, std::numeric_limits::max())); + Fw::CmdResponse response; + response.e = static_cast(STest::Pick::lowerUpper(0, Fw::CmdResponse::NUM_CONSTANTS)); + U32 cmdSeq = static_cast(STest::Pick::any()); + this->invoke_to_seqCmdStatus(0, opcode, cmdSeq, response); + ASSERT_from_forwardSeqCmdStatus_SIZE(1); + ASSERT_from_forwardSeqCmdStatus(0, opcode, cmdSeq, response); +} + +// ---------------------------------------------------------------------- +// Handlers for typed from ports +// ---------------------------------------------------------------------- + +void Tester ::from_LocalCmd_handler(const NATIVE_INT_TYPE portNum, Fw::ComBuffer& data, U32 context) { + this->pushFromPortEntry_LocalCmd(data, context); +} + +void Tester ::from_RemoteCmd_handler(const NATIVE_INT_TYPE portNum, Fw::ComBuffer& data, U32 context) { + this->pushFromPortEntry_RemoteCmd(data, context); +} + +void Tester ::from_forwardSeqCmdStatus_handler(const NATIVE_INT_TYPE portNum, + FwOpcodeType opCode, + U32 cmdSeq, + const Fw::CmdResponse& response) { + this->pushFromPortEntry_forwardSeqCmdStatus(opCode, cmdSeq, response); +} + +} // end namespace Svc diff --git a/Svc/CmdSplitter/test/ut/Tester.hpp b/Svc/CmdSplitter/test/ut/Tester.hpp new file mode 100644 index 0000000000..02ad1d07d5 --- /dev/null +++ b/Svc/CmdSplitter/test/ut/Tester.hpp @@ -0,0 +1,111 @@ +// ====================================================================== +// \title CmdSplitter/test/ut/Tester.hpp +// \author mstarch +// \brief hpp file for CmdSplitter test harness implementation class +// ====================================================================== + +#ifndef TESTER_HPP +#define TESTER_HPP + +#include "GTestBase.hpp" +#include "Svc/CmdSplitter/CmdSplitter.hpp" + +namespace Svc { + +class Tester : public CmdSplitterGTestBase { + // ---------------------------------------------------------------------- + // Construction and destruction + // ---------------------------------------------------------------------- + + public: + // Maximum size of histories storing events, telemetry, and port outputs + static const NATIVE_INT_TYPE MAX_HISTORY_SIZE = 10; + // Instance ID supplied to the component instance under test + static const NATIVE_INT_TYPE TEST_INSTANCE_ID = 0; + + //! Construct object Tester + //! + Tester(); + + //! Destroy object Tester + //! + ~Tester(); + + public: + // ---------------------------------------------------------------------- + // Tests + // ---------------------------------------------------------------------- + + //! Test that commands under a limit route locally + //! + void test_local_routing(); + + //! Test the commands above the limit route remotely + //! + void test_remote_routing(); + + //! Test that errored command route locally + //! + void test_error_routing(); + + //! Test that command response forwarding works + //! + void test_response_forwarding(); + + private: + //! Helper to build a com buffer given an opcode + //! + Fw::ComBuffer build_command_around_opcode(FwOpcodeType opcode); + + // ---------------------------------------------------------------------- + // Handlers for typed from ports + // ---------------------------------------------------------------------- + + //! Handler for from_LocalCmd + //! + void from_LocalCmd_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + Fw::ComBuffer& data, /*!< Buffer containing packet data */ + U32 context /*!< Call context value; meaning chosen by user */ + ); + + //! Handler for from_RemoteCmd + //! + void from_RemoteCmd_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + Fw::ComBuffer& data, /*!< Buffer containing packet data */ + U32 context /*!< Call context value; meaning chosen by user */ + ); + + //! Handler for from_forwardSeqCmdStatus + //! + void from_forwardSeqCmdStatus_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + FwOpcodeType opCode, /*!< Command Op Code */ + U32 cmdSeq, /*!< Command Sequence */ + const Fw::CmdResponse& response /*!< The command response argument */ + ); + + private: + // ---------------------------------------------------------------------- + // Helper methods + // ---------------------------------------------------------------------- + + //! Connect ports + //! + void connectPorts(); + + //! Initialize components + //! + void initComponents(); + + private: + // ---------------------------------------------------------------------- + // Variables + // ---------------------------------------------------------------------- + + //! The component under test + //! + CmdSplitter component; +}; + +} // end namespace Svc + +#endif diff --git a/config/CmdSplitterCfg.hpp b/config/CmdSplitterCfg.hpp new file mode 100644 index 0000000000..048d773559 --- /dev/null +++ b/config/CmdSplitterCfg.hpp @@ -0,0 +1,16 @@ +/* + * CmdSplitterCfg.hpp: + * + * Used to configure the Svc::CmdSplitter component's remote opcode base. + * + */ + +#ifndef CONFIG_CMD_SPLITTER_CFG_HPP_ +#define CONFIG_CMD_SPLITTER_CFG_HPP_ + +namespace Svc { +//!< Base value for remote opcodes used by Svc::CmdSplitter +static const FwOpcodeType CMD_SPLITTER_REMOTE_OPCODE_BASE = 0x10000000; +}; + +#endif /* CONFIG_CMD_SPLITTER_CFG_HPP_ */ From e76f7d6110c9332a706df3555afead4ba258e497 Mon Sep 17 00:00:00 2001 From: Justine West Date: Mon, 26 Jun 2023 09:57:17 -0700 Subject: [PATCH 32/55] include arm toolchain files, use helper in raspberrypi.cmake --- cmake/toolchain/aarch64-linux.cmake | 18 +++++++++ cmake/toolchain/arm-hf-linux.cmake | 20 ++++++++++ cmake/toolchain/arm-sf-linux.cmake | 20 ++++++++++ cmake/toolchain/helpers/arm-linux-base.cmake | 42 ++++++++++++++++++++ cmake/toolchain/raspberrypi.cmake | 30 ++------------ 5 files changed, 104 insertions(+), 26 deletions(-) create mode 100644 cmake/toolchain/aarch64-linux.cmake create mode 100644 cmake/toolchain/arm-hf-linux.cmake create mode 100644 cmake/toolchain/arm-sf-linux.cmake create mode 100644 cmake/toolchain/helpers/arm-linux-base.cmake diff --git a/cmake/toolchain/aarch64-linux.cmake b/cmake/toolchain/aarch64-linux.cmake new file mode 100644 index 0000000000..0c5dc4b421 --- /dev/null +++ b/cmake/toolchain/aarch64-linux.cmake @@ -0,0 +1,18 @@ +#### +# ARM 64-bit Toolchain +# +# This ARM toolchain will compile for 64-bit ARM systems running linux. It uses the arm packages installed on the system +# path for cross-compilation. To override the location of the tools use -DARM_TOOLS_PATH=... to specify the root +# directory of the tools installation. That directory should contain folders bin, lib, etc where the tools are located. +# +# These toolchains will use the linux libraries shipped with the compiler to build the final image. To override this, +# users should set -DCMAKE_SYSROOT=... to a directory containing a valid sysroot for their device. +# +# Cautions: +# 1. Care must be taken to ensure that the Linux OS running on the target is newer than the cross-compilers, or sysroot +# should be used to specify fixed library targets to compile against. +# 2. Specifying sysroot should be used with care as both libraries and headers must exist both in the sysroot +# +#### +set(CMAKE_SYSTEM_PROCESSOR "aarch64") +include("${CMAKE_CURRENT_LIST_DIR}/helpers/arm-linux-base.cmake") diff --git a/cmake/toolchain/arm-hf-linux.cmake b/cmake/toolchain/arm-hf-linux.cmake new file mode 100644 index 0000000000..47e7f098f2 --- /dev/null +++ b/cmake/toolchain/arm-hf-linux.cmake @@ -0,0 +1,20 @@ +#### +# ARM 32-bit Toolchain with Hardware Floating Point +# +# This ARM toolchain will compile for 32-bit ARM linux systems supporting hardware floating point operations. It uses +# the arm packages installed on the system path for cross-compilation. To override the location of the tools use +# -DARM_TOOLS_PATH=... to specify the root directory of the tools installation. That directory should contain folders +# bin, lib, etc where the tools are located. +# +# These toolchains will use the linux libraries shipped with the compiler to build the final image. To override this, +# users should set -DCMAKE_SYSROOT=... to a directory containing a valid sysroot for their device. +# +# Cautions: +# 1. Care must be taken to ensure that the Linux OS running on the target is newer than the cross-compilers, or sysroot +# should be used to specify fixed library targets to compile against. +# 2. Specifying sysroot should be used with care as both libraries and headers must both exist in the sysroot +# +#### +set(CMAKE_SYSTEM_PROCESSOR "arm") +set(ARM_TOOL_SUFFIX eabihf) +include("${CMAKE_CURRENT_LIST_DIR}/helpers/arm-linux-base.cmake") diff --git a/cmake/toolchain/arm-sf-linux.cmake b/cmake/toolchain/arm-sf-linux.cmake new file mode 100644 index 0000000000..52ed380e30 --- /dev/null +++ b/cmake/toolchain/arm-sf-linux.cmake @@ -0,0 +1,20 @@ +#### +# ARM 32-bit Toolchain with Software Floating Point +# +# This ARM toolchain will compile for 32-bit ARM linux systems supporting sodtware floating point operations. It uses +# the arm packages installed on the system path for cross-compilation. To override the location of the tools use +# -DARM_TOOLS_PATH=... to specify the root directory of the tools installation. That directory should contain folders +# bin, lib, etc where the tools are located. +# +# These toolchains will use the linux libraries shipped with the compiler to build the final image. To override this, +# users should set -DCMAKE_SYSROOT=... to a directory containing a valid sysroot for their device. +# +# Cautions: +# 1. Care must be taken to ensure that the Linux OS running on the target is newer than the cross-compilers, or sysroot +# should be used to specify fixed library targets to compile against. +# 2. Specifying sysroot should be used with care as both libraries and headers must both exist in the sysroot +# +#### +set(CMAKE_SYSTEM_PROCESSOR "arm") +set(ARM_TOOL_SUFFIX eabi) +include("${CMAKE_CURRENT_LIST_DIR}/helpers/arm-linux-base.cmake") diff --git a/cmake/toolchain/helpers/arm-linux-base.cmake b/cmake/toolchain/helpers/arm-linux-base.cmake new file mode 100644 index 0000000000..388e0bbf51 --- /dev/null +++ b/cmake/toolchain/helpers/arm-linux-base.cmake @@ -0,0 +1,42 @@ +#### +# ARM Linux Toolchain Base: +# +# This file provides the basic work for ARM toolchains running on Linux systems. It uses the ARM_TOOL_PREFIX variable to +# determine the names of the tools to search for. This variable must be set in the calling script. This toolchain will +# find the ARM tools under the path specified with -DARM_TOOLS_PATH=... and if -DCMAKE_SYSROOT=... is specified then +# this path will be used for searching for libraries/headers to compile against. +#### +# Set the system information +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_VERSION 0.2) + +# Check ARM tools path +set(FIND_INPUTS PATHS ENV ARM_TOOLS_PATH PATH_SUFFIXES bin REQUIRED) +set(PREFIX_1 "${CMAKE_SYSTEM_PROCESSOR}-linux-gnu${ARM_TOOL_SUFFIX}") +set(PREFIX_2 "${CMAKE_SYSTEM_PROCESSOR}-none-linux-gnu${ARM_TOOL_SUFFIX}") +# Set the GNU ARM toolchain +find_program(CMAKE_ASM_COMPILER NAMES ${PREFIX_1}-as ${PREFIX_2}-as ${FIND_INPUTS}) +find_program(CMAKE_C_COMPILER NAMES ${PREFIX_1}-gcc ${PREFIX_2}-gcc ${FIND_INPUTS}) +find_program(CMAKE_CXX_COMPILER NAMES ${PREFIX_1}-g++ ${PREFIX_2}-g++ ${FIND_INPUTS}) +find_program(CMAKE_AR NAMES ${PREFIX_1}-ar ${PREFIX_2}-ar ${FIND_INPUTS}) +find_program(CMAKE_OBJCOPY NAMES ${PREFIX_1}-objcopy ${PREFIX_2}-objcopy ${FIND_INPUTS}) +find_program(CMAKE_OBJDUMP NAMES ${PREFIX_1}-objdump ${PREFIX_2}-objdump ${FIND_INPUTS}) + +# List programs as found +if (CMAKE_DEBUG_OUTPUT) + message(STATUS "[arm-linux] Assembler: ${CMAKE_ASM_COMPILER}") + message(STATUS "[arm-linux] C Compiler: ${CMAKE_C_COMPILER}") + message(STATUS "[arm-linux] CXX Compiler: ${CMAKE_CXX_COMPILER}") +endif() + +# Force sysroot onto +if (DEFINED CMAKE_SYSROOT) + message(STATUS "sysroot set to: ${CMAKE_SYSROOT}") + set(CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH} "${CMAKE_SYSROOT}") +endif() + +# Configure the find commands for finding the toolchain +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) diff --git a/cmake/toolchain/raspberrypi.cmake b/cmake/toolchain/raspberrypi.cmake index 799ec18fa1..17b258b22f 100644 --- a/cmake/toolchain/raspberrypi.cmake +++ b/cmake/toolchain/raspberrypi.cmake @@ -1,35 +1,13 @@ #### # Raspberry PI Toolchain # -# This is a toolchain for the Raspberry Pi. This toolchain can be used ot build +# This is a toolchain for the Raspberry Pi. This toolchain can be used to build # against the Raspberry Pi embedded Linux target. In order to use this toolchain, # the Raspberry Pi cross-compiler should be installed on a Linux host. These # tools are installable as follows: # sudo apt install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf gdb-multiarch #### -# Set the system information -set(CMAKE_SYSTEM_NAME Linux) -set(CMAKE_SYSTEM_PROCESSOR arm) -set(CMAKE_SYSTEM_VERSION 1) -# Configure the find commands for cross-compiling: tools from host, libraries, includes, and packages from cross-compiler/sysroot -set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) - -# Check CMake sysroot -if (DEFINED CMAKE_SYSROOT) - set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT} ) -endif() - -# Set the GNU ARM toolchain -find_program(CMAKE_AR NAMES arm-linux-gnueabihf-ar PATHS ENV RPI_TOOLCHAIN_DIR PATH_SUFFIXES bin REQUIRED) -find_program(CMAKE_C_COMPILER NAMES arm-linux-gnueabihf-gcc PATHS ENV RPI_TOOLCHAIN_DIR PATH_SUFFIXES bin REQUIRED) -find_program(CMAKE_CXX_COMPILER NAMES arm-linux-gnueabihf-g++ PATHS ENV RPI_TOOLCHAIN_DIR PATH_SUFFIXES bin REQUIRED) -message(STATUS "[arm-linux] C Compiler: ${CMAKE_C_COMPILER}") -message(STATUS "[arm-linux] CXX Compiler: ${CMAKE_CXX_COMPILER}") -find_program(CMAKE_ASM_COMPILER NAMES arm-linux-gnueabihf-as PATHS ENV RPI_TOOLCHAIN_DIR PATH_SUFFIXES bin REQUIRED) -find_program(CMAKE_OBJCOPY NAMES arm-linux-gnueabihf-objcopy PATHS ENV RPI_TOOLCHAIN_DIR PATH_SUFFIXES bin REQUIRED) -find_program(CMAKE_OBJDUMP NAMES arm-linux-gnueabihf-objdump PATHS ENV RPI_TOOLCHAIN_DIR PATH_SUFFIXES bin REQUIRED) - +set(CMAKE_SYSTEM_PROCESSOR "arm") +set(ARM_TOOL_SUFFIX eabihf) +include("${CMAKE_CURRENT_LIST_DIR}/helpers/arm-linux-base.cmake") From ef33e76d4905674918dd277035924ef1cdac9856 Mon Sep 17 00:00:00 2001 From: Thomas Boyer Chammard <49786685+thomas-bc@users.noreply.github.com> Date: Mon, 26 Jun 2023 11:37:24 -0700 Subject: [PATCH 33/55] Referencing FPP in User Guide (#2099) --- docs/UsersGuide/guide.md | 5 +++-- docs/UsersGuide/user/fpp-user-guide.md | 9 +++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 docs/UsersGuide/user/fpp-user-guide.md diff --git a/docs/UsersGuide/guide.md b/docs/UsersGuide/guide.md index 121b89bdff..409ac152f8 100644 --- a/docs/UsersGuide/guide.md +++ b/docs/UsersGuide/guide.md @@ -66,14 +66,15 @@ This section is divided into three sub-sections: - [Sequencing in F´](./gds/seqgen.md) - Full Development Guides: technical details for full F´ implementations - [Configuring F´](./dev/configuring-fprime.md) - - [v3 Migration Guide](./user/v3-migration-guide.md) + - [F´ Modeling with FPP](./user/fpp-user-guide.md) - [A Tour of the Source Tree](./dev/source-tree.md) - - [F´ XML Specifications](./dev/xml-specification.md): + - [F´ XML Specifications](./dev/xml-specification.md) - [F´ Implementation Classes](./dev/implementation.md) - [Constructing the F´ Topology](./dev/building-topology.md) - [Asserts in F´](./dev/assert.md) - [GDS Dashboard Reference](./dev/gds-dashboard-reference.md) - [Integration Test API](./dev/testAPI/user_guide.md) + - [v3 Migration Guide](./user/v3-migration-guide.md) - Advanced F´ Topics: - [F´ Python Guidelines](./dev/py-dev.md) - [Porting F´ To a New Platform](./dev/porting-guide.md) diff --git a/docs/UsersGuide/user/fpp-user-guide.md b/docs/UsersGuide/user/fpp-user-guide.md new file mode 100644 index 0000000000..4500db24b6 --- /dev/null +++ b/docs/UsersGuide/user/fpp-user-guide.md @@ -0,0 +1,9 @@ +# F´ Modeling: FPP User Guide + +F´ v3 introduced a new way of modeling with F´, the FPP (F Prime Prime) modeling language. The [MathComponent Tutorial](https://fprime-community.github.io/fprime-tutorial-math-component/) is a good introduction to FPP. + +To go into more detail, the full FPP documentation can be found here: [FPP Wiki](https://github.com/fprime-community/fpp/wiki). + +**Quick links:** +- [FPP User Guide](https://fprime-community.github.io/fpp/fpp-users-guide.html) +- [FPP Language Specification](https://fprime-community.github.io/fpp/fpp-spec.html) From 31efbfc6dc93a554c89ccf7560c9fa8f0cec8afb Mon Sep 17 00:00:00 2001 From: Justine West Date: Mon, 26 Jun 2023 11:48:10 -0700 Subject: [PATCH 34/55] spelling --- .github/actions/spelling/expect.txt | 3 +++ cmake/toolchain/arm-sf-linux.cmake | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index 1da60d3633..1872cd830e 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -1,4 +1,5 @@ Aadil +aarch abcd ABCDE ABCDEF @@ -391,6 +392,8 @@ dumpobj DVI DWN dylib +eabi +eabihf EACCES EAGAIN eay diff --git a/cmake/toolchain/arm-sf-linux.cmake b/cmake/toolchain/arm-sf-linux.cmake index 52ed380e30..60c25d4429 100644 --- a/cmake/toolchain/arm-sf-linux.cmake +++ b/cmake/toolchain/arm-sf-linux.cmake @@ -1,7 +1,7 @@ #### # ARM 32-bit Toolchain with Software Floating Point # -# This ARM toolchain will compile for 32-bit ARM linux systems supporting sodtware floating point operations. It uses +# This ARM toolchain will compile for 32-bit ARM linux systems supporting software floating point operations. It uses # the arm packages installed on the system path for cross-compilation. To override the location of the tools use # -DARM_TOOLS_PATH=... to specify the root directory of the tools installation. That directory should contain folders # bin, lib, etc where the tools are located. From d8f0deb75e91a237ce6e81dfbefacfd39c2d191c Mon Sep 17 00:00:00 2001 From: Justine West Date: Mon, 26 Jun 2023 12:28:52 -0700 Subject: [PATCH 35/55] use RPI_TOOLCHAIN_DIR if it was specified --- cmake/toolchain/raspberrypi.cmake | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmake/toolchain/raspberrypi.cmake b/cmake/toolchain/raspberrypi.cmake index 17b258b22f..c23a5a828a 100644 --- a/cmake/toolchain/raspberrypi.cmake +++ b/cmake/toolchain/raspberrypi.cmake @@ -10,4 +10,9 @@ set(CMAKE_SYSTEM_PROCESSOR "arm") set(ARM_TOOL_SUFFIX eabihf) + +if(DEFINED ENV{RPI_TOOLCHAIN_DIR}) + set(ENV{ARM_TOOLS_PATH} "$ENV{RPI_TOOLCHAIN_DIR}") +endif() + include("${CMAKE_CURRENT_LIST_DIR}/helpers/arm-linux-base.cmake") From b3493ca03b68b2ade0ab4d3d768186c30856fe80 Mon Sep 17 00:00:00 2001 From: hAkselS <86744896+hAkselS@users.noreply.github.com> Date: Wed, 28 Jun 2023 14:17:22 -0700 Subject: [PATCH 36/55] Migrate HelloWorld tutorial to F' community (#2095) --- README.md | 2 +- docs/Tutorials/HelloWorld/Deployments.md | 185 --------------------- docs/Tutorials/HelloWorld/HelloWorld.md | 198 ----------------------- docs/Tutorials/HelloWorld/NewProject.md | 84 ---------- docs/Tutorials/HelloWorld/README.md | 3 + docs/Tutorials/HelloWorld/Tutorial.md | 78 --------- docs/Tutorials/README.md | 13 +- 7 files changed, 9 insertions(+), 554 deletions(-) delete mode 100644 docs/Tutorials/HelloWorld/Deployments.md delete mode 100644 docs/Tutorials/HelloWorld/HelloWorld.md delete mode 100644 docs/Tutorials/HelloWorld/NewProject.md create mode 100644 docs/Tutorials/HelloWorld/README.md delete mode 100644 docs/Tutorials/HelloWorld/Tutorial.md diff --git a/README.md b/README.md index 29fa2022e2..f5c57a5c9f 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ Then, create a new project with: fprime-util new --project ``` -See the [HelloWorld Tutorial](https://nasa.github.io/fprime/Tutorials/HelloWorld/Tutorial.html) to guide you through all the steps of developing an F´ project. +See the [HelloWorld Tutorial](https://fprime-community.github.io/fprime-tutorial-hello-world/) to guide you through all the steps of developing an F´ project. New users are encouraged to read through the [User Guide](https://nasa.github.io/fprime/UsersGuide/guide.html) and explore the [other tutorials](https://nasa.github.io/fprime/Tutorials/README.html). diff --git a/docs/Tutorials/HelloWorld/Deployments.md b/docs/Tutorials/HelloWorld/Deployments.md deleted file mode 100644 index 96ee274801..0000000000 --- a/docs/Tutorials/HelloWorld/Deployments.md +++ /dev/null @@ -1,185 +0,0 @@ -# Getting Started: Integration and Testing With F´ Deployments - -This section will walk new users through creating a new F´ [deployment](./Tutorial.md#deployment). This deployment will -build a [topology](./Tutorial.md#topology) containing the standard F´ stack of components and a single `HelloWorld` -component instance. The `HelloWorld` was created in the [last section](./HelloWorld.md). The tutorial will close by -testing the deployment and `HelloWorld` component through the `fprime-gds`. - -### Prerequisites: -- [Getting Started: F´ Hello World Component](./HelloWorld.md) - -### Tutorial Steps: -- [Creating A New Deployment](#creating-a-new-deployment) -- [Adding The Hello World Component](#adding-the-hello-world-component) -- [Testing With `fprime-gds`](#testing-with-fprime-gds) -- [Conclusion](#conclusion) - -## Creating A New Deployment - -F´ deployments represent one flight software executable. All the components we develop for F´ run within a deployment. -The deployment created here will contain the standard command and data handling stack. This stack enables -ground control and data collection of the deployment. - -To create a deployment, run the following commands: -```bash -# In: MyProject -fprime-util new --deployment -``` -This command will ask for some input. Respond with the following answers: - -``` -deployment_name [MyDeployment]: MyDeployment -path_to_fprime [./fprime]: -``` - -> For any other questions, select the default response. - -At this point, the `MyDeployment` has been created, but our `HelloWorld` component has not been added. - -## Adding The Hello World Component - -First, the project's components should be added to this deployment's build. This can be done by adding the following -to `MyDeployment/CMakeLists.txt`. - -```cmake -... -### -# Components and Topology -### -include("${FPRIME_PROJECT_ROOT}/project.cmake") -... -``` -> To build this new deployment generate a build cache and then build. -> ```bash -> # In: MyProject/MyDeployment -> fprime-util generate -> fprime-util build -> ``` -> > Notice `fprime-util generate` was used again. This is because this new deployment builds in a separate environment. - -In this section the `HelloWorld` component will be added to the `MyDeployment` deployment. This can be done by adding -the component to the topology defined in `MyDeployment/Top`. - -Topologies instantiate all the components in a running system and link them together. For some port types, like the -commanding, event, and telemetry ports used by `HelloWorld`, the connections are made automatically. In addition, the -topology specifies how to construct the component instance. This is also done automatically unless the component has -specific configuration. - -In order to add a component to the topology, it must be added to the topology model. An instance definition and an -instance initializer must both be added. - -To add an instance definition, add `instance helloWorld` to the instance definition list in the `topology MyDeployment` section -of `MyDeployment/Top/topology.fpp`. This is shown below. - -Edit `MyDeployment/Top/topology.fpp`: -``` -... - topology MyDeployment { - # ---------------------------------------------------------------------- - # Instances used in the topology - # ---------------------------------------------------------------------- - - instance ... - instance ... - instance helloWorld -``` -> Be careful to not remove any other instances from the list. - -`helloWorld` is the name of the component instance. Like variable names, component instance names should be descriptive -and are typically named in camel or snake case. - -Next, an instance initializer must be added to topology instances defined in `MyDeploymment/Top/instances.fpp` file. -Since the `HelloWorld` component is an `active` component it should be added to the active components section and should -define a priority and queue depth options. This is shown below. - -Add to `MyDeploymment/Top/instances.fpp`: -``` -... - # ---------------------------------------------------------------------- - # Active component instances - # ---------------------------------------------------------------------- - instance ... - ... - ... - ... - - instance ... - - instance helloWorld: MyComponents.HelloWorld base id 0x0F00 \ - queue size Default.QUEUE_SIZE \ - stack size Default.STACK_SIZE \ - priority 50 -``` -> The user must ensure that the base id (0x0F00) does not conflict with any other base ids in the topology. 0x0F00 -> should be safe for deployments created with `fprime-util new --deployment`. - -> Make sure to use the same instance name (i.e. helloWorld) as defined in the instance definition just added to -> `topology.fpp`. - -Finally, our new telemetry channel should be added to our telemetry packet specification. For this tutorial the -channel can be ignored as the deployment will not use the telemetry packetizer. Add the following to the `ignore` -section of `MyDeployment/Top/MyDeploymentPackets.xml`. - -Update `MyDeployment/Top/MyDeploymentPackets.xml`: -``` - - ... - - -``` - -Since this component has no custom ports nor does it require special configuration, our addition to the topology is -completed. The deployment can now be set up and built using the following commands: - -``` -# In: MyProject/MyDeployment -fprime-util build -j4 -``` -> Resolve any errors that occur before continuing to the running section. - -## Running With `fprime-gds` - -It is now time to test the `HelloWorld` component by running the deployment created in this section. This can be -accomplished by running the `fprime-gds` command in the deployment, verifying connection, sending the new SEND_HELLO -command and verifying that the `Hello` event and `GreetingCount` channel appears. - -To start the deployment with default settings, run: -```bash -fprime-gds -``` - -The F´ GDS control page should open up in your web browser. If it does not open up, navigate to `http://127.0.0.1:5000`. - -Once the F´ GDS page is visible, look for a green circle icon in the upper right corner. This shows that the flight -software deployment has connected to the GDS system. If a red X appears instead, navigate to the Logs tab and look for -errors in the various logs. - -Now that communication is verified, navigate to the "Commanding" tab and select `helloWorld.SAY_HELLO` from the -dropdown list. Type a greeting into the argument input box and click the button "Send Command". If the argument has -validated successfully the command will send. Resolve all errors and ensure the command has sent. - -> Notice commands are instance specific. Had several HelloWorld component instances been used, there would be multiple -> `SAY_HELLO` listings, one for each component instance. - -Now that the command has sent, navigate to the "Events" tab. Ensure that the event list contains the Hello event with -the text entered when sending the command. - -Lastly, navigate to the "Channels" tab. Look for "helloWorld.GreetingCount" in the channel list. Ensure it has recorded -the number of times a `helloWorld.SAY_HELLO` was sent. - -Congratulations, you have now set up a project, component, and deployment in F´. - -## Conclusion - -This concludes both the adding deployment section of the Getting Started tutorial and the tutorial itself. The user has -been able to perform the following actions: - -1. Create a new blank F´ projects -2. Create a new F´ components -3. Create a new F´ deployments and add components it - -To explore components more in-depth and see how components communicate with one another, see the -[Math Component Tutorial](../MathComponent/Tutorial.md). - -**Next:** [Math Component Tutorial](../MathComponent/Tutorial.md) - diff --git a/docs/Tutorials/HelloWorld/HelloWorld.md b/docs/Tutorials/HelloWorld/HelloWorld.md deleted file mode 100644 index b034509fdb..0000000000 --- a/docs/Tutorials/HelloWorld/HelloWorld.md +++ /dev/null @@ -1,198 +0,0 @@ -# Getting Started: Creating an F´ Hello World Component - -This tutorial will walk new users through creating a basic F´ component. Users should have completed the new project -tutorial and have the tools sourced as shown in the [conclusion](./NewProject.md#conclusion) portion of that tutorial. - -F´ components encapsulate the various parts of system behavior. These components can interact with the ground system -through [commands](Tutorial.md#command), [events](./Tutorial.md#event), and -[telemetry channels](./Tutorial.md#telemetry-channel). Components communicate with other components through -[ports](./Tutorial.md#port), which covered in-depth in [another tutorial](../MathComponent/Tutorial.md). - -### Prerequisites: -- [Getting Started: Creating an F´ Project](./NewProject.md) - -### Tutorial Steps: -- [Hello World Component](#hello-world-component-requirements) -- [Creating the Hello World Component](#creating-the-hello-world-component) -- [Editing the Component Model](#editing-the-component-model) -- [Implementing Component Behavior](#implementing-component-behavior) -- [Conclusion](#conclusion) - -## Hello World Component Requirements - -The first step for creating a new component is understanding what it is that we wish to implement. This is called -defining requirements. In the spirit of "Hello World" this component will encapsulate greeting behavior. The component -will define three items to implement greeting behaviour: - -1. A [command](./Tutorial.md#command) called `SAY_HELLO` that will command the component to send a greeting -2. An [event](./Tutorial.md#event) called `Hello` that is the greeting sent in response to the `SAY_HELLO` command -3. A [telemetry channel](./Tutorial.md#telemetry-channel) called `GreetingCount` that will count each `Hello` event sent - -These are a simple set of requirements for this component. - -## Creating the Hello World Component - -The next step is to create the new component. First, create a directory called `MyComponents` to contain this project's -components and change into that directory. - -```bash -# In: MyProject -mkdir -p MyComponents -cd MyComponents -``` - -Creating a new component is accomplished with the following command: - -```bash -# In: MyProject/MyComponents -fprime-util new --component -``` -This command will ask for some input. You should respond with the following answers: - -``` -[INFO] Cookiecutter source: using builtin -component_name [MyComponent]: HelloWorld -component_short_description [Example Component for F Prime FSW framework.]: Hello World Tutorial Component -component_namespace [HelloWorld]: MyComponents -Select component_kind: -1 - active -2 - passive -3 - queued -Choose from 1, 2, 3 [1]: 1 -Select enable_commands: -1 - yes -2 - no -Choose from 1, 2 [1]: 1 -Select enable_telemetry: -1 - yes -2 - no -Choose from 1, 2 [1]: 1 -Select enable_events: -1 - yes -2 - no -Choose from 1, 2 [1]: 1 -Select enable_parameters: -1 - yes -2 - no -Choose from 1, 2 [1]: 1 -[INFO] Found CMake file at 'MyProject/project.cmake' -Add component MyComponents/HelloWorld to MyProject/project.cmake at end of file (yes/no)? yes -Generate implementation files (yes/no)? yes -``` - -> For any other questions, select the default response. - -This will create a new component called "HelloWorld" in the "MyProject" namespace. This new component will be able to -define commands, events, telemetry channels, and parameters. - -We should navigate to the component's directory and look around: - -```bash -# In: MyProject/MyComponents -cd HelloWorld -ls -``` -This will show the following files: -1. `HelloWorld.fpp`: design model for the component -2. `HelloWorld.hpp` and `HelloWorld.cpp`: C++ implementation files for the component, currently empty. -3. `CMakeList.txt`: build definitions for the component. -4. `docs` folder to place component documentation - -To build this component run `fprime-util build` in the current folder. - -> Any component in F´ can be built by navigating to the component's folder and running `fprime-util build`. - -## Editing the Component Model - -A component model defines the interface of the component with the rest of the F´ system and with the ground system F´ -communicates with. In this case we intend to define a command, an event, and a telemetry channel as specified above. - -Open the model file `HelloWorld.fpp` and add replace the line: - -``` -async command TODO opcode 0 -``` - -with the following: - -``` -@ Command to issue greeting with maximum length of 20 characters -async command SAY_HELLO( - greeting: string size 20 @< Greeting to repeat in the Hello event -) - -@ Greeting event with maximum greeting length of 20 characters -event Hello( - greeting: string size 20 @< Greeting supplied from the SAY_HELLO command -) severity activity high format "I say: {}" - -@ A count of the number of greetings issued -telemetry GreetingCount: U32 -``` -> You should ensure to replace any existing command, event, and channel definitions with those supplied above but leave -> the 'Standard AC Ports' section untouched. - -With this step completed you can generate a basic implementation with the following command: - -```bash -# In: MyProject/MyComponents/HelloWorld -fprime-util impl -``` - -This creates `HelloWorld.hpp-template` and `HelloWorld.cpp-template` files that contain our new fill-in template. While -normally one would merge new templates with the existing code, we will instead overwrite the existing implementations as -we have not edited those files yet. To do this: - -```bash -mv HelloWorld.hpp-template HelloWorld.hpp -mv HelloWorld.cpp-template HelloWorld.cpp -``` -We are now ready for implementing component behavior. - -## Implementing Component Behavior - -F´ behavior is implemented in two types of methods command handler functions to implement command behavior and handler -functions to implement port behavior (as described in the next tutorial). For this tutorial we need to implement the -`SAY_HELLO` command, so we need to edit the `SAY_HELLO_cmdHandler` function in the `HelloWorld.cpp` file. Ensure its -contents look like: - -```c++ -void HelloWorld:: SAY_HELLO_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg& greeting) { - // Copy the command string input into an event string for the Hello event - Fw::LogStringArg eventGreeting(greeting.toChar()); - // Emit the Hello event with the copied string - this->log_ACTIVITY_HI_Hello(eventGreeting); - - this->tlmWrite_GreetingCount(++this->m_greetingCount); - - // Tell the fprime command system that we have completed the processing of the supplied command with OK status - this->cmdResponse_out(opCode, cmdSeq, Fw::CmdResponse::OK); -} -``` -> We must also add the m_greetingCount member variable to the class defined in `HelloWorld.hpp` and the constructor -> defined in `HelloWorld.cpp`. This looks like: -> -> **HelloWorld.hpp: Adding New Member Variable** -> ```c++ -> private: -> U32 m_greetingCount; -> ``` -> Should be added inside the `class` definition in `HelloWorld.hpp`. -> -> **HelloWorld.cpp: Updating Constructor** -> ```c++ -> HelloWorld:: HelloWorld(const char *const compName) : HelloWorldComponentBase(compName), -> m_greetingCount(0) -> { -> ``` -> Should be added to the `HelloWorld` constructor at the top of the file. - -The component should build without errors by running `fprime-util build`. Resolve any errors that occur before -proceeding to the next section. - -## Conclusion - -This tutorial has walked through the creation of component that implements a "Hello World" style greeting behavior for -our F´ system. In the next tutorial, this component will be hooked-up to an F´ deployment and tested! - -**Next:** [Getting Started: Integration and Testing With F´ Deployments](./Deployments.md) diff --git a/docs/Tutorials/HelloWorld/NewProject.md b/docs/Tutorials/HelloWorld/NewProject.md deleted file mode 100644 index 817bd81e24..0000000000 --- a/docs/Tutorials/HelloWorld/NewProject.md +++ /dev/null @@ -1,84 +0,0 @@ -# Getting Started: Creating an F´ Project - -This tutorial will walk new users through creating a new F´ project. - -### Tutorial Steps: -- [Bootstrapping F´](#bootstrapping-f) -- [Creating a New F´ Project](#creating-a-new-f-project) -- [Building the New F´ Project](#building-the-new-f-project) -- [Conclusion](#conclusion) - -## Bootstrapping F´ - -An F´ [project](./Tutorial.md#project) ties to a specific version of tools to work with F´. In order to create -this project and install the correct version of tools, an initial bootstrap version of F´ tools must be installed. This -is accomplished with the following command: - -```bash -pip install fprime-tools -``` - -## Creating a New F´ Project - -Now that to tools are installed a new F´ project should be created. An F´ project internalizes the version of F´ that -the project will build upon and provides the user the basic setup for creating, building, and testing components. - -In order to make a new project, run the following command and answer the questions as indicated below: - -```bash -fprime-util new --project -``` - -This command will ask for some input. Respond with the following answers: -``` -project_name [MyProject]: MyProject -fprime_branch_or_tag [devel]: devel -Select install_venv: -1 - yes -2 - no -Choose from 1, 2 [1]: 1 -``` - -Use the default for anything not specified. This command will take a moment to run. - -The above command creates a new F´ project structure in a folder called `MyProject`, use the `devel` branch of F´ as -the basis for the project, and sets up the matching tools in a new Virtual Environment. - -> Load the tools for this project via the virtual environment. -> -> ```bash -> cd MyProject -> . venv/bin/activate ->``` -> -> Make sure to load these tools any time you are working with the this project. - -## Building the New F´ Project - -The next step is to set up and build the newly created project. This will serve as a build environment for any newly -created components, and will build the F´ framework supplied components. - -```bash -cd MyProject -fprime-util generate -fprime-util build -j4 -``` - -> `fprime-util generate` sets up the build environment for a project/deployment. It only needs to be done once. At the -> end of this tutorial, a new deployment will be created and `fprime-util generate` will also be used then. - -## Conclusion - -A new project has been created with the name `MyProject` and has been placed in a new folder called in `MyProject` in -the current directory. It includes the initial build system setup, and F´ version. It is still empty in that the user -will still need to create components and deployments. - -For the remainder of this Getting Started tutorial we should use the tools installed for our project and issue commands -within this new project's folder. Change into the project directory and load the newly install tools with: - -```bash -cd MyProject -. venv/bin/activate -``` - -**Next:** [Getting Started: Creating an F´ Hello World Component](./HelloWorld.md) diff --git a/docs/Tutorials/HelloWorld/README.md b/docs/Tutorials/HelloWorld/README.md new file mode 100644 index 0000000000..6bf352ed4a --- /dev/null +++ b/docs/Tutorials/HelloWorld/README.md @@ -0,0 +1,3 @@ +## Welcome + +HelloWorld tutorial has been reworked and moved to [fprime-community/fprime-tutorial-hello-world](https://fprime-community.github.io/fprime-tutorial-hello-world/) \ No newline at end of file diff --git a/docs/Tutorials/HelloWorld/Tutorial.md b/docs/Tutorials/HelloWorld/Tutorial.md deleted file mode 100644 index 3c3f952a11..0000000000 --- a/docs/Tutorials/HelloWorld/Tutorial.md +++ /dev/null @@ -1,78 +0,0 @@ -# Getting Started: Introduction and F´ Terminology - -The getting started tutorial is designed to teach new users the basics of F´ usage, instruct existing users on new -command that help in F´ development, and act as the canonical "Hello World" example for F´. - -This tutorial walks through the following steps: -1. [Creating an F´ Project](./NewProject.md) -2. [Creating an F´ Hello World Component](./HelloWorld.md) -3. [Integration and Testing With F´ Deployments](./Deployments.md) - -Once finished, users should have a good understanding of the basic development mechanics for working with F´ and then -could dive deeper into concepts through the [Math Component Tutorial](../MathComponent/Tutorial.md). - -## F´ Terminology - -F´ uses specific terminology to refer to specific parts of the system. This section dives into the basic F´ terminology -used in this tutorial and an explanation of how the terminology is used. - -#### Project - -An F´ project is a collection of files and folders used to work with F´. At its core, a project is just a folder that -can be used to hold F´ code. Projects should specifically exclude the core F´ library to avoid the "clone and own" -problem. Rather projects should link-to a version of F´. - -This tutorial will create a new `MyProject` project used to contain the other things created by the tutorial. - -#### Component - -An F´ component encapsulates a unit of system behavior. Components use ports to communicate with other components and -define commands, events, telemetry channels, and parameters. - -This tutorial will create a new `HelloWorld` component that defines a `SAY_HELLO` command, `Hello` event, and -`GreetingCount` telemetry channel. The component only used built-in ports. It does not use custom ports nor parameters. - -#### Port - -A port is an interface used to communicate between components. This tutorial only uses built-in ports. - -#### Command - -Commands represent actions that a component can execute. Commands can be sent from the ground or via command sequences. -Command behavior is defined in a command handler defined in the component's implementation. - -This tutorial defines one command `SAY_HELLO` with a single argument `greeting`. This command will be sent via the -ground system and will echo the greeting back via the `Hello` event. - -#### Event - -Events represent actions that a component has performed. Events are akin to software log messages. Events are received -and displayed by the ground system. - -This tutorial defines one event `Hello` emitted in response to the `SAY_HELLO` command and containing the same greeting -that the command had. - -#### Telemetry Channel - -Telemetry channels provide the active state of the component. Each channel represents a single item of state that will -be sent to the ground system. - -This tutorial defines a single channel `GreetingCount` that contains the count of the number of `SAY_HELLO` greeting -commands received. - -#### Deployment - -Deployments are a single build of F´ software. Each deployment results in one software executable that can be run along -with other associated files. Each deployment has a topology that defines the system. - -This tutorial will create the `MyDeployment` deployment, run this deployment, and test it through the F´ GDS. - -#### Topology - -Topologies are networks of connected components that define the software. Multiple instances of a component may be added -to the topology. - -This tutorial will use a standard command and data handling topology. A single `HelloWorld` component instance called -`helloWorld` will be added to the standard topology. - -**Next:** [Getting Started: Creating an F´ Project](./NewProject.md) diff --git a/docs/Tutorials/README.md b/docs/Tutorials/README.md index de4086583f..a20aec3854 100644 --- a/docs/Tutorials/README.md +++ b/docs/Tutorials/README.md @@ -8,20 +8,17 @@ users to learn F´ and walk through the most basic steps in developing an F´ ap ## Tutorials Index -1. [HelloWorld](HelloWorld/Tutorial.md): An Introduction to F´ +1. [HelloWorld](https://fprime-community.github.io/fprime-tutorial-hello-world/): An Introduction to F´ 2. [LedBlinker](https://github.com/fprime-community/fprime-workshop-led-blinker/blob/main/README.md): F´ and Embedded Hardware 3. [MathComponent](MathComponent/Tutorial.md) 4. [Cross-Compilation Tutorial](CrossCompilation/Tutorial.md) -## [HelloWorld](HelloWorld/Tutorial.md): An Introduction to F´ +## [HelloWorld](https://fprime-community.github.io/fprime-tutorial-hello-world/): An Introduction to F´ + +The HelloWorld tutorial walks a new users through creating a new project, designing their first F´ component, and testing that +component through an F´ deployment. -The HelloWorld tutorial walks a new user through creating a new project, their first F´ component, and testing that -component through an F´ deployment. This tutorial has the following subsections: -1. [Introduction and F´ Terminology](./HelloWorld/Tutorial.md) -2. [Creating an F´ Project](./HelloWorld/NewProject.md) -3. [Creating an F´ Hello World Component](./HelloWorld/HelloWorld.md) -4. [Integration and Testing With F´ Deployments](./HelloWorld/Deployments.md) ## [LedBlinker](https://github.com/fprime-community/fprime-workshop-led-blinker/blob/main/README.md): F´ and Embedded Hardware From be4088dfa2d315a1caf5e2219b739576d4823012 Mon Sep 17 00:00:00 2001 From: mohitsingh999 <55040049+mohitsingh999@users.noreply.github.com> Date: Mon, 10 Jul 2023 11:54:11 -0700 Subject: [PATCH 37/55] Add SPI Mode Enum to LinuxSpiDriver (#2097) * Add SPI Mode Enum to LinuxSpiDriver SPI Modes specify the clock polarity for each transaction. The default Fprime LinuxSpiDriver assumed SPI Mode 0. This should be generalized to account for SPI devices with different clock polarity and phases. * Add default spiMode parameter value, assert check to ensure SPI Mode is in range * Use switch statement to set SPI Mode when opening SPI Device * Force-fail assert and print SPI Mode for invalid SPI modes * Redefined SpiMode enum variables, added missing break statements * Update SpiMode enum comments for each variable --- .../LinuxSpiDriverComponentImpl.cpp | 27 ++++++++++++++++--- .../LinuxSpiDriverComponentImpl.hpp | 22 ++++++++++++++- .../LinuxSpiDriverComponentImplStub.cpp | 3 ++- 3 files changed, 47 insertions(+), 5 deletions(-) diff --git a/Drv/LinuxSpiDriver/LinuxSpiDriverComponentImpl.cpp b/Drv/LinuxSpiDriver/LinuxSpiDriverComponentImpl.cpp index 180e0103a4..c07fc0e465 100644 --- a/Drv/LinuxSpiDriver/LinuxSpiDriverComponentImpl.cpp +++ b/Drv/LinuxSpiDriver/LinuxSpiDriverComponentImpl.cpp @@ -70,7 +70,8 @@ namespace Drv { bool LinuxSpiDriverComponentImpl::open(NATIVE_INT_TYPE device, NATIVE_INT_TYPE select, - SpiFrequency clock) { + SpiFrequency clock, + SpiMode spiMode) { this->m_device = device; this->m_select = select; @@ -97,9 +98,29 @@ namespace Drv { // Configure: /* - * SPI Mode 0 + * SPI Mode 0, 1, 2, 3 */ - U8 mode = SPI_MODE_0; // Mode 0 (CPOL = 0, CPHA = 0) + + U8 mode; // Mode Select (CPOL = 0/1, CPHA = 0/1) + switch(spiMode) { + case SpiMode::SPI_MODE_CPOL_LOW_CPHA_LOW: + mode = SPI_MODE_0; + break; + case SpiMode::SPI_MODE_CPOL_LOW_CPHA_HIGH: + mode = SPI_MODE_1; + break; + case SpiMode::SPI_MODE_CPOL_HIGH_CPHA_LOW: + mode = SPI_MODE_2; + break; + case SpiMode::SPI_MODE_CPOL_HIGH_CPHA_HIGH: + mode = SPI_MODE_3; + break; + default: + //Assert if the device SPI Mode is not in the correct range + FW_ASSERT(0, spiMode); + break; + } + ret = ioctl(fd, SPI_IOC_WR_MODE, &mode); if (ret == -1) { DEBUG_PRINT("ioctl SPI_IOC_WR_MODE fd %d failed. %d\n",fd,errno); diff --git a/Drv/LinuxSpiDriver/LinuxSpiDriverComponentImpl.hpp b/Drv/LinuxSpiDriver/LinuxSpiDriverComponentImpl.hpp index e5c1eabf87..51e2a3b163 100644 --- a/Drv/LinuxSpiDriver/LinuxSpiDriverComponentImpl.hpp +++ b/Drv/LinuxSpiDriver/LinuxSpiDriverComponentImpl.hpp @@ -33,6 +33,25 @@ namespace Drv { SPI_FREQUENCY_20MHZ = 20000000UL, }; + /** + * SPI Mode Select + * + * Defines the SPI Clock Polarity and Phase for each SPI Transaction. + * + * SPI Clock Polarity(CPOL): Defines clock polarity as idle low (CPOL = 0) or idle high(CPOL = 1) + * SPI Clock Phase(CPHA): Defines if data is shifted out on the rising clock edge and sampled + * on the falling clock edge(CPHA = 0) or if data is shifted out on the + * falling clock edge and sampled on the rising clock edge(CPHA=1) + * + */ + enum SpiMode + { + SPI_MODE_CPOL_LOW_CPHA_LOW, ///< (CPOL = 0, CPHA = 0) + SPI_MODE_CPOL_LOW_CPHA_HIGH,///< (CPOL = 0, CPHA = 1) + SPI_MODE_CPOL_HIGH_CPHA_LOW,///< (CPOL = 1, CPHA = 0) + SPI_MODE_CPOL_HIGH_CPHA_HIGH,///< (CPOL = 1, CPHA = 1) + }; + class LinuxSpiDriverComponentImpl: public LinuxSpiDriverComponentBase { public: @@ -59,7 +78,8 @@ namespace Drv { //! Open device bool open(NATIVE_INT_TYPE device, NATIVE_INT_TYPE select, - SpiFrequency clock); + SpiFrequency clock, + SpiMode spiMode = SpiMode::SPI_MODE_CPOL_LOW_CPHA_LOW); PRIVATE: diff --git a/Drv/LinuxSpiDriver/LinuxSpiDriverComponentImplStub.cpp b/Drv/LinuxSpiDriver/LinuxSpiDriverComponentImplStub.cpp index 3b3ebe0aa6..b7620dbbf5 100644 --- a/Drv/LinuxSpiDriver/LinuxSpiDriverComponentImplStub.cpp +++ b/Drv/LinuxSpiDriver/LinuxSpiDriverComponentImplStub.cpp @@ -17,7 +17,8 @@ namespace Drv { bool LinuxSpiDriverComponentImpl::open(NATIVE_INT_TYPE device, NATIVE_INT_TYPE select, - SpiFrequency clock) { + SpiFrequency clock, + SpiMode spiMode) { //TODO: fill this function out return false; } From 8498e4fee865c97d94b7f7bb32d94614b6f3ef12 Mon Sep 17 00:00:00 2001 From: M Starch Date: Mon, 17 Jul 2023 13:27:56 -0700 Subject: [PATCH 38/55] Adding NaN, Infinity, and negative Infinity (#2131) --- Ref/Top/RefPackets.xml | 4 ++++ Ref/TypeDemo/TypeDemo.cpp | 12 ++++++++++++ Ref/TypeDemo/TypeDemo.fpp | 25 +++++++++++++++++++++++++ Ref/TypeDemo/TypeDemo.hpp | 6 ++++++ 4 files changed, 47 insertions(+) diff --git a/Ref/Top/RefPackets.xml b/Ref/Top/RefPackets.xml index edd64f2fc8..e597eb95ee 100644 --- a/Ref/Top/RefPackets.xml +++ b/Ref/Top/RefPackets.xml @@ -153,6 +153,10 @@ + + + + diff --git a/Ref/TypeDemo/TypeDemo.cpp b/Ref/TypeDemo/TypeDemo.cpp index 3362a6f58b..321474ed76 100644 --- a/Ref/TypeDemo/TypeDemo.cpp +++ b/Ref/TypeDemo/TypeDemo.cpp @@ -123,4 +123,16 @@ void TypeDemo ::DUMP_TYPED_PARAMETERS_cmdHandler(const FwOpcodeType opCode, cons this->cmdResponse_out(opCode, cmdSeq, Fw::CmdResponse::OK); } +void TypeDemo ::DUMP_FLOATS_cmdHandler(const FwOpcodeType opCode, const U32 cmdSeq) { + Ref::FloatSet invalid; + invalid[0] = std::numeric_limits::infinity(); + invalid[1] = -1 * std::numeric_limits::infinity(); + invalid[2] = (std::numeric_limits::has_quiet_NaN) ? std::numeric_limits::quiet_NaN() : 0.0f; + this->log_ACTIVITY_HI_FloatEv(invalid[0], invalid[1], invalid[2], invalid); + this->tlmWrite_Float1Ch(invalid[0]); + this->tlmWrite_Float2Ch(invalid[1]); + this->tlmWrite_Float3Ch(invalid[2]); + this->tlmWrite_FloatSet(invalid); + this->cmdResponse_out(opCode, cmdSeq, Fw::CmdResponse::OK); +} } // end namespace Ref diff --git a/Ref/TypeDemo/TypeDemo.fpp b/Ref/TypeDemo/TypeDemo.fpp index 2c5a6b0c93..5dc57da482 100644 --- a/Ref/TypeDemo/TypeDemo.fpp +++ b/Ref/TypeDemo/TypeDemo.fpp @@ -33,6 +33,9 @@ module Ref { choicePair: ChoicePair } + @ Set of floating points to emit + array FloatSet = [3] F32; + @ Component to demonstrate multiple type configurations passive component TypeDemo { ##### @@ -192,6 +195,28 @@ module Ref { @ Dump the typed parameters sync command DUMP_TYPED_PARAMETERS() + ##### + # FloatSet outputs + ##### + @ A set of floats in an event + event FloatEv(float1: F32, float2: F32, float3: F32, floats: FloatSet) severity activity high \ + format "Floats: {} {} {} as a set: {}" + + @ Float output channel 1 + telemetry Float1Ch: F32 + + @ Float output channel 2 + telemetry Float2Ch: F32 + + @ Float output channel 3 + telemetry Float3Ch: F32 + + @ Float set output channel + telemetry FloatSet: FloatSet + + @ Dump the float values + sync command DUMP_FLOATS() + # ---------------------------------------------------------------------- # Special ports # ---------------------------------------------------------------------- diff --git a/Ref/TypeDemo/TypeDemo.hpp b/Ref/TypeDemo/TypeDemo.hpp index 23c251fde3..d3e05d1205 100644 --- a/Ref/TypeDemo/TypeDemo.hpp +++ b/Ref/TypeDemo/TypeDemo.hpp @@ -111,6 +111,12 @@ class TypeDemo : public TypeDemoComponentBase { void DUMP_TYPED_PARAMETERS_cmdHandler(const FwOpcodeType opCode, /*!< The opcode*/ const U32 cmdSeq /*!< The command sequence number*/ ); + + //! Implementation for DUMP_FLOATS command handler + //! + void DUMP_FLOATS_cmdHandler(const FwOpcodeType opCode, /*!< The opcode*/ + const U32 cmdSeq /*!< The command sequence number*/ + ); }; } // end namespace Ref From eabd5a585d3efa93ad04461d4b39faa0b2baabb8 Mon Sep 17 00:00:00 2001 From: Michael Boehm <130305277+Boehm-Michael@users.noreply.github.com> Date: Mon, 17 Jul 2023 14:01:10 -0700 Subject: [PATCH 39/55] Cross-Compiler Documentation Update + Minor CodeQL Alert Resolutions (#2098) * Updates to resolve "Complex multi-line /.../-style comment found. Lint may give bogus warnings. Consider replacing these with //-style comments, with #if 0...#endif, or with more clearly structured multi-line comments." alert. Fixed all - Except external libraries * Resolve "Storage-class specifier (static, extern, typedef, etc) should be at the beginning of the declaration." alert. All resolved. * Updated F Prime Cross Compilation Documentation Correct for most recent version of devel. * Spelling Fixes * Remove URL Pattern * Added `rancherdesktop` to expect.txt * cross-compile tutorial re-organization * add macos.md and add step for running executable * clean up command to run executable * change [...] to <...> --------- Co-authored-by: Justine West --- .github/actions/spelling/expect.txt | 6 + .github/actions/spelling/patterns.txt | 8 +- Ref/TypeDemo/TypeDemo.hpp | 60 ++++----- Svc/ComStub/test/ut/Tester.hpp | 10 +- Svc/TlmChan/test/ut/Tester.hpp | 16 +-- config/UdpReceiverComponentImplCfg.hpp | 2 +- docs/Tutorials/CrossCompilation/Tutorial.md | 118 ------------------ .../CrossCompilationSetup/ArmLinuxTutorial.md | 45 +++++++ .../CrossCompilationSetupTutorial.md | 59 +++++++++ .../CrossCompilationTutorial.md | 52 ++++++++ docs/Tutorials/CrossCompilationSetup/Linux.md | 10 ++ docs/Tutorials/CrossCompilationSetup/MacOS.md | 29 +++++ .../CrossCompilationSetup/Windows.md | 44 +++++++ .../CrossCompilationSetup/appendix-1.md | 42 +++++++ .../img/rancher-config.png | Bin 0 -> 56116 bytes .../img/rancher-running.png | Bin 0 -> 148236 bytes 16 files changed, 330 insertions(+), 171 deletions(-) delete mode 100644 docs/Tutorials/CrossCompilation/Tutorial.md create mode 100644 docs/Tutorials/CrossCompilationSetup/ArmLinuxTutorial.md create mode 100644 docs/Tutorials/CrossCompilationSetup/CrossCompilationSetupTutorial.md create mode 100644 docs/Tutorials/CrossCompilationSetup/CrossCompilationTutorial.md create mode 100644 docs/Tutorials/CrossCompilationSetup/Linux.md create mode 100644 docs/Tutorials/CrossCompilationSetup/MacOS.md create mode 100644 docs/Tutorials/CrossCompilationSetup/Windows.md create mode 100644 docs/Tutorials/CrossCompilationSetup/appendix-1.md create mode 100644 docs/Tutorials/CrossCompilationSetup/img/rancher-config.png create mode 100644 docs/Tutorials/CrossCompilationSetup/img/rancher-running.png diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index 690053110e..2d27bda491 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -103,6 +103,7 @@ bfree bibtex Bies bindir +binrel Bitfields bitmaps bitset @@ -602,6 +603,7 @@ Gnc Gnd gnd GNUC +gnueabi gnueabihf google googletest @@ -766,6 +768,7 @@ kislyuk kitware Kooi kthxbye +Kubernetes Lammert lammertbies LASTLOG @@ -914,6 +917,7 @@ namespaced nano nanosleep nargs +nasafprime nathan nbits ncsl @@ -1144,6 +1148,7 @@ RAbrack radd RAII Ramanan +rancherdesktop randtbl rapidscat raspberrypi @@ -1646,6 +1651,7 @@ WRONLY wrs Wshadow Wsign +wsl WSL Wundef www diff --git a/.github/actions/spelling/patterns.txt b/.github/actions/spelling/patterns.txt index edd3969da1..e65d460bfc 100644 --- a/.github/actions/spelling/patterns.txt +++ b/.github/actions/spelling/patterns.txt @@ -2,7 +2,10 @@ # hit-count: 106 file-count: 28 # Compiler flags -(?:^|[\t ,"'`=(])-[DPWXYLlf](?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,}) +(?:^|[\t ,"'`=(])-(?:[DLP](?=[A-Z]{2,})|[WXYlf](?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,})) + +# http|ftp|file URLs +#(?:\b(?:https?|ftp|file)://)[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|] # hit-count: 48 file-count: 18 # GitHub SHAs (markdown) @@ -123,3 +126,6 @@ GithubProjectProperty # ignore long runs of a single character: \b([A-Za-z])\g{-1}{3,}\b + +# ignore docker platform paths +--platform=(linux|darwin)/(amd64|arm|arm32v5|arm32v6|arm32v7|arm64v8|i386|ppc64le|s390x|x86_64) diff --git a/Ref/TypeDemo/TypeDemo.hpp b/Ref/TypeDemo/TypeDemo.hpp index d3e05d1205..9d2cd55335 100644 --- a/Ref/TypeDemo/TypeDemo.hpp +++ b/Ref/TypeDemo/TypeDemo.hpp @@ -19,12 +19,12 @@ class TypeDemo : public TypeDemoComponentBase { //! Construct object TypeDemo //! - TypeDemo(const char* const compName /*!< The component name*/ + TypeDemo(const char* const compName //!< The component name ); //! Initialize object TypeDemo //! - void init(const NATIVE_INT_TYPE instance = 0 /*!< The instance number*/ + void init(const NATIVE_INT_TYPE instance = 0 //!< The instance number ); //! Destroy object TypeDemo @@ -38,78 +38,70 @@ class TypeDemo : public TypeDemoComponentBase { //! Implementation for CHOICE command handler //! Single choice command - void CHOICE_cmdHandler(const FwOpcodeType opCode, /*!< The opcode*/ - const U32 cmdSeq, /*!< The command sequence number*/ + void CHOICE_cmdHandler(const FwOpcodeType opCode, //!< The opcode + const U32 cmdSeq, //!< The command sequence number Ref::Choice choice); //! Implementation for CHOICES command handler //! Multiple choice command via Array - void CHOICES_cmdHandler(const FwOpcodeType opCode, /*!< The opcode*/ - const U32 cmdSeq, /*!< The command sequence number*/ + void CHOICES_cmdHandler(const FwOpcodeType opCode, //!< The opcode + const U32 cmdSeq, //!< The command sequence number Ref::ManyChoices choices); //! Implementation for CHOICES_WITH_FRIENDS command handler //! Multiple choice command via Array with a preceding and following argument - void CHOICES_WITH_FRIENDS_cmdHandler(const FwOpcodeType opCode, /*!< The opcode*/ - const U32 cmdSeq, /*!< The command sequence number*/ + void CHOICES_WITH_FRIENDS_cmdHandler(const FwOpcodeType opCode, //!< The opcode + const U32 cmdSeq, //!< The command sequence number U8 repeat, Ref::ManyChoices choices, U8 repeat_max); //! Implementation for EXTRA_CHOICES command handler //! Multiple choice command via Array - void EXTRA_CHOICES_cmdHandler(const FwOpcodeType opCode, /*!< The opcode*/ - const U32 cmdSeq, /*!< The command sequence number*/ + void EXTRA_CHOICES_cmdHandler(const FwOpcodeType opCode, //!< The opcode + const U32 cmdSeq, //!< The command sequence number Ref::TooManyChoices choices); //! Implementation for EXTRA_CHOICES_WITH_FRIENDS command handler //! Too many choices command via Array with a preceding and following argument - void EXTRA_CHOICES_WITH_FRIENDS_cmdHandler(const FwOpcodeType opCode, /*!< The opcode*/ - const U32 cmdSeq, /*!< The command sequence number*/ + void EXTRA_CHOICES_WITH_FRIENDS_cmdHandler(const FwOpcodeType opCode, //!< The opcode + const U32 cmdSeq, //!< The command sequence number U8 repeat, Ref::TooManyChoices choices, U8 repeat_max); //! Implementation for CHOICE_PAIR command handler //! Multiple choice command via Structure - void CHOICE_PAIR_cmdHandler(const FwOpcodeType opCode, /*!< The opcode*/ - const U32 cmdSeq, /*!< The command sequence number*/ + void CHOICE_PAIR_cmdHandler(const FwOpcodeType opCode, //!< The opcode + const U32 cmdSeq, //!< The command sequence number Ref::ChoicePair choices); //! Implementation for CHOICE_PAIR_WITH_FRIENDS command handler //! Multiple choices command via Structure with a preceding and following argument - void CHOICE_PAIR_WITH_FRIENDS_cmdHandler(const FwOpcodeType opCode, /*!< The opcode*/ - const U32 cmdSeq, /*!< The command sequence number*/ + void CHOICE_PAIR_WITH_FRIENDS_cmdHandler(const FwOpcodeType opCode, //!< The opcode + const U32 cmdSeq, //!< The command sequence number U8 repeat, Ref::ChoicePair choices, U8 repeat_max); //! Implementation for GLUTTON_OF_CHOICE command handler //! Multiple choice command via Complex Structure - void GLUTTON_OF_CHOICE_cmdHandler(const FwOpcodeType opCode, /*!< The opcode*/ - const U32 cmdSeq, /*!< The command sequence number*/ - Ref::ChoiceSlurry choices /*!< - A phenomenal amount of choice - */ + void GLUTTON_OF_CHOICE_cmdHandler(const FwOpcodeType opCode, //!< The opcode + const U32 cmdSeq, //!< The command sequence number + Ref::ChoiceSlurry choices //!< A phenomenal amount of choice ); //! Implementation for GLUTTON_OF_CHOICE_WITH_FRIENDS command handler //! Multiple choices command via Complex Structure with a preceding and following argument - void GLUTTON_OF_CHOICE_WITH_FRIENDS_cmdHandler(const FwOpcodeType opCode, /*!< The opcode*/ - const U32 cmdSeq, /*!< The command sequence number*/ - U8 repeat, /*!< - Number of times to repeat the choices - */ - Ref::ChoiceSlurry choices, /*!< - A phenomenal amount of choice - */ - U8 repeat_max /*!< - Limit to the number of repetitions - */ + void GLUTTON_OF_CHOICE_WITH_FRIENDS_cmdHandler(const FwOpcodeType opCode, //!< The opcode + const U32 cmdSeq, //!< The command sequence number + U8 repeat, //!< Number of times to repeat the choices + Ref::ChoiceSlurry choices, //!< A phenomenal amount of choice + U8 repeat_max //!< Limit to the number of repetitions ); //! Implementation for DUMP_TYPED_PARAMETERS command handler //! Dump the typed parameters - void DUMP_TYPED_PARAMETERS_cmdHandler(const FwOpcodeType opCode, /*!< The opcode*/ - const U32 cmdSeq /*!< The command sequence number*/ + void DUMP_TYPED_PARAMETERS_cmdHandler(const FwOpcodeType opCode, //!< The opcode + const U32 cmdSeq //!< The command sequence number ); //! Implementation for DUMP_FLOATS command handler diff --git a/Svc/ComStub/test/ut/Tester.hpp b/Svc/ComStub/test/ut/Tester.hpp index 6f794d6354..e15c2479d4 100644 --- a/Svc/ComStub/test/ut/Tester.hpp +++ b/Svc/ComStub/test/ut/Tester.hpp @@ -57,21 +57,19 @@ class Tester : public ComStubGTestBase { //! Handler for from_comDataOut //! - void from_comDataOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + void from_comDataOut_handler(const NATIVE_INT_TYPE portNum, //!< The port number Fw::Buffer& recvBuffer, const Drv::RecvStatus& recvStatus); //! Handler for from_comStatus //! - void from_comStatus_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ - Fw::Success& condition /*!< - Status of communication state - */ + void from_comStatus_handler(const NATIVE_INT_TYPE portNum, //!< The port number + Fw::Success& condition //!< Status of communication state ); //! Handler for from_drvDataOut //! - Drv::SendStatus from_drvDataOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + Drv::SendStatus from_drvDataOut_handler(const NATIVE_INT_TYPE portNum, //!< The port number Fw::Buffer& sendBuffer); private: diff --git a/Svc/TlmChan/test/ut/Tester.hpp b/Svc/TlmChan/test/ut/Tester.hpp index 6b61ec2ce7..7370ed4b23 100644 --- a/Svc/TlmChan/test/ut/Tester.hpp +++ b/Svc/TlmChan/test/ut/Tester.hpp @@ -42,21 +42,15 @@ class Tester : public TlmChanGTestBase { //! Handler for from_PktSend //! - void from_PktSend_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ - Fw::ComBuffer& data, /*!< - Buffer containing packet data - */ - U32 context /*!< - Call context value; meaning chosen by user - */ + void from_PktSend_handler(const NATIVE_INT_TYPE portNum, //!< The port number + Fw::ComBuffer& data, //!< Buffer containing packet data + U32 context //!< Call context value; meaning chosen by user ); //! Handler for from_pingOut //! - void from_pingOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ - U32 key /*!< - Value to return to pinger - */ + void from_pingOut_handler(const NATIVE_INT_TYPE portNum, //!< The port number + U32 key //!< Value to return to pinger ); private: diff --git a/config/UdpReceiverComponentImplCfg.hpp b/config/UdpReceiverComponentImplCfg.hpp index f09ee10e07..4b69dd24eb 100644 --- a/config/UdpReceiverComponentImplCfg.hpp +++ b/config/UdpReceiverComponentImplCfg.hpp @@ -11,7 +11,7 @@ #include namespace Svc { - const static NATIVE_UINT_TYPE UDP_RECEIVER_MSG_SIZE = 256; + static const NATIVE_UINT_TYPE UDP_RECEIVER_MSG_SIZE = 256; } #endif /* SVC_UDPRECEIVER_UDPRECEIVERCOMPONENTIMPLCFG_HPP_ */ diff --git a/docs/Tutorials/CrossCompilation/Tutorial.md b/docs/Tutorials/CrossCompilation/Tutorial.md deleted file mode 100644 index 75890b32b8..0000000000 --- a/docs/Tutorials/CrossCompilation/Tutorial.md +++ /dev/null @@ -1,118 +0,0 @@ -# F´ Cross-Compilation Tutorial - -## Table of Contents - -* 1. Introduction - * 1.1. Cross-Compiling - * 1.2. Upload to the Raspberry Pi - * 1.3. Running Ref on the Raspberry Pi - * 1.4. Setting A Default Toolchain -* 2. Conclusion - -## 1. Introduction - -In this section, we will take our Ref topology and cross-compile it for the -Raspberry Pi. In order to fully benefit from this tutorial, the user should -acquire a Raspberry Pi and have the cross-compilation toolchain as described -in [RPI](https://github.com/nasa/fprime/blob/master/RPI/README.md). - -This part of the tutorial requires the user to have gone through the previous -sections and have a complete Ref topology. The user should also have an -understanding of the Raspberry Pi and specifically how to SSH into the Pi and -run applications. - - -### 1.1. Cross-Compiling - -In order to cross-compile for a specific architecture, the user needs to -generate a new build directory using a CMake toolchain file for that specific -architecture. F´ includes a toolchain for the Raspberry Pi (assuming that the -tools are installed correctly). This toolchain is called “raspberrypi”. The -cross-compilation build for the Raspberry Pi can be generated by running the -following commands in the Ref directory: - -```sh -fprime-util generate raspberrypi -``` - -followed by: -```sh -fprime-util build raspberrypi -``` - -This will generate the binary at `Ref/build-artifacts/raspberrypi/bin/Ref`. - - -### 1.2. Upload to the Raspberry Pi - -The user can then run the ground system as before with some additional -arguments: -```sh -fprime-gds -n --dictionary build-artifacts/raspberrypi/dict/RefTopologyAppDictionary.xml -``` - -Assuming that there is no firewall or other network limitations between the -Raspberry Pi and the host, the user can then copy the binary to the Raspberry -Pi by running the following from the Ref directory: - -```sh -scp build-artifacts/raspberrypi/bin/Ref pi@:~ -``` - -This will use the secure copy protocol (scp) to copy the executable over to -your Raspberry Pi's home directory. - - -### 1.3. Running Ref on the Raspberry Pi - -You can log into the Raspberry Pi via SSH by running: -```sh -ssh pi@ -``` - -Finally, you can run the Ref deployment on the Raspberry Pi as follows: -```sh -./Ref -a -p 50000 -``` - -Now the Raspberry Pi should be powered up and running the Ref deployment and -our host system should be running the ground system. - -> If the code worked when running natively but it isn't connecting for this -example then the cause is likely a firewall or network issue. Make sure -port 50000 is exposed to the Pi, and that the Pi can ping the ground system -machine. - - -### 1.4. Setting A Default Toolchain - -As we have seen in the previous sections, cross-compilation builds can be done -explicitly by setting the toolchain. However, some users may wish to make a -particular toolchain the default and don't want to specify it every time. - -A recommended way of setting a default toolchain in F´ is by adding a -[settings.ini file](../../UsersGuide/user/settings.md). This file provides -build-time configuration settings for F´ and can be used to set a default -toolchain as follows: - -```ini -[fprime] -; ... other options in file ... -default_toolchain: raspberrypi -``` - -Now the "raspberrypi" build can be created with a call to -`fprime-util generate` and the original native build can be made by explicitly -setting the native toolchain: `fprime-util generate native`. - -### 2. Conclusion - -The Cross-Compilation tutorial has shown us how to cross-compile our simple Ref -application to the Raspberry Pi. We have seen how to copy our deployment to the -Raspberry Pi and run the ground system on our host computer to interact with -our deployment on the Raspberry Pi. - -The user is now directed back to the [Tutorials](../README.md) for further -reading or to the [GPS Tutorial](../GpsTutorial/Tutorial.md) for a more -advanced tutorial. For information on porting F´ to a new platform please -refer to the [User's Guide](../../UsersGuide/guide.md). \ No newline at end of file diff --git a/docs/Tutorials/CrossCompilationSetup/ArmLinuxTutorial.md b/docs/Tutorials/CrossCompilationSetup/ArmLinuxTutorial.md new file mode 100644 index 0000000000..94adf9111a --- /dev/null +++ b/docs/Tutorials/CrossCompilationSetup/ArmLinuxTutorial.md @@ -0,0 +1,45 @@ +# F´ Running on ARM Linux Tutorial + +For this tutorial, the assumption is that the ARM Linux machine is available on the network, is running SSH, and the username, password, device address, and host address are known. Without this configuration, users should skip to the next section of the tutorial. + +First, in a terminal upload the software to hardware platform. This is done with: + +```sh +# For ARM 64-bit hardware +# In: Deployment Folder +scp -r build-artifacts/aarch64-linux @:deployment + +# For ARM 32-bit hardware +# In: Deployment Folder +scp -r build-artifacts/arm-hf-linux @:deployment +``` +> Users must fill in the username and device address above. + +Next run the F´ GDS without launching the native compilation (`-n`) and with the +dictionary from the build above (`--dictionary ./build-artifacts//<.xml document>`). + +```sh +# For in-person workshops and ARM 64-bit hardware +# In: Deployment Folder +fprime-gds -n --dictionary build-artifacts/aarch64-linux/dict/.xml + +# For ARM 32-bit hardware +# In: Deployment Folder +fprime-gds -n --dictionary build-artifacts/aarch64-linux/dict/.xml +``` + +In another terminal SSH into the device and run the uploaded software: +```sh +ssh @ +sudo deployment/bin/ -a -p 50000 +``` +> User should fill in the username and device address above and ensure the executable is supplied the address of the host computer (that ran the GDS). + +> If the device does not connect, ensure that the firewall port 50000 is open on the host computer. + +## Troubleshooting + +If you are getting errors for missing Libc.c files, make sure when you generate +that the logs show that it is using the `/opt/toolchains` path and not `/bin`. +You can additionally verify that the correct toolchain is being used by watching +the logs scroll by when you initially `fprime-util generate `. \ No newline at end of file diff --git a/docs/Tutorials/CrossCompilationSetup/CrossCompilationSetupTutorial.md b/docs/Tutorials/CrossCompilationSetup/CrossCompilationSetupTutorial.md new file mode 100644 index 0000000000..e6e047c315 --- /dev/null +++ b/docs/Tutorials/CrossCompilationSetup/CrossCompilationSetupTutorial.md @@ -0,0 +1,59 @@ +# F´ Cross-Compilation Setup Tutorial + +## Table of Contents + +* 1. Introduction + * Prerequisites +* 2. Installing Dependencies +* 3. Installing the Toolchain + + +## 1. Introduction + +In this section, we will learn how to install all the dependencies required for cross-compiling for different architectures. +This tutorial will use the Raspberry Pi ARM x64 as an example. In order to fully benefit from this tutorial, the user should acquire a Raspberry Pi. + + +### Prerequisites + +To run through this tutorial, you must have a computer that meets the following basic requirements. + +1. Computer running Windows 10, Mac OS X, or Ubuntu +2. Administrator access +3. 5GB of free disk space, 8 GB of RAM +4. Knowledge of the command line for your operating system (Bash, Powershell, Zsh, etc). + + +## 2. Installing Dependencies + +Choose the operating system you are using to install F Prime: + +- [Windows 10/11 WSL](./Windows.md) +- [Mac OS X](./MacOS.md) +- [Ubuntu 20.04 / 22.04 / Generic Linux](./Linux.md) + + +## 3. Installing the Toolchain + +Installing the cross-compiler will use the pre-built packages provided by ARM. Follow these +instructions to install these tools for the target hardware into the `/opt/toolchains` directory. + +```bash +sudo mkdir -p /opt/toolchains +sudo chown $USER /opt/toolchains +# For in-person workshops, and users running on 64-bit ARM +curl -Ls https://developer.arm.com/-/media/Files/downloads/gnu-a/10.2-2020.11/binrel/gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu.tar.xz | tar -JC /opt/toolchains --strip-components=1 -x +# For users running on 32-bit ARM +curl -Ls https://developer.arm.com/-/media/Files/downloads/gnu-a/10.2-2020.11/binrel/gcc-arm-10.2-2020.11-x86_64-arm-none-linux-gnueabihf.tar.xz | tar -JC /opt/toolchains --strip-components=1 -x +``` + +Next, ensure that the ARM toolchains were installed properly. To test, run the following command: +```shell +# For 64-bit ARM hardware +/opt/toolchains/bin/aarch64-none-linux-gnu-gcc -v +# For 32-bit ARM hardware +/opt/toolchains/bin/arm-linux-gnueabi-gcc -v +``` + Any output other than "file/command not found" is good. + +> Note: macOS users must run these commands from within the Docker container described in [Appendix I](./appendix-1.md). diff --git a/docs/Tutorials/CrossCompilationSetup/CrossCompilationTutorial.md b/docs/Tutorials/CrossCompilationSetup/CrossCompilationTutorial.md new file mode 100644 index 0000000000..92c4dfeb75 --- /dev/null +++ b/docs/Tutorials/CrossCompilationSetup/CrossCompilationTutorial.md @@ -0,0 +1,52 @@ +# F´ Cross-Compilation Tutorial + +## Table of Contents + +* 1. Introduction +* 2. Compiling for ARM +* 3. Troubleshooting + + + +## 1. Introduction + +In this section, we will learn how to cross-compile for different architectures. This tutorial will use the Raspberry Pi ARM x64 as an example. In order to fully benefit from this tutorial, the user should acquire a Raspberry Pi. + +The user should also have an understanding of the Raspberry Pi and specifically how to SSH into the Pi and run applications. + + +### Prerequisites +Install the dependencies required for compiling for ARM. See the steps in the [Cross-Compilation Setup Tutorial](./CrossCompilationSetupTutorial.md) for more information. + + + +## 2. Compiling for ARM + +Cross-compiling is as easy as building the deployment for a specific platform. +For users running on 64-bit arm the platform is called `aarch64-linux`, and for users +on 32-bit arm use `arm-hf-linux`. This package expects the environment variable +`ARM_TOOLS_PATH` to point to the installation directory of the ARM cross-compilers. + +> Users need to generate for each platform they wish to run on. + +Here is how to build for the 64-bit Arm Linux platform: + +```sh +export ARM_TOOLS_PATH=/opt/toolchains + +#You can check to make sure the environment variable is set by running: +echo $ARM_TOOLS_PATH + +#This should return the path /opt/toolchains + +# For in-person workshops and ARM 64-bit hardware +# In: Deployment Folder +fprime-util generate aarch64-linux +fprime-util build aarch64-linux + +# For ARM 32-bit hardware +# In: Deployment Folder +fprime-util generate arm-hf-linux +fprime-util build arm-hf-linux +``` +> Note: macOS users must run these commands from within the Docker container described in [Appendix I](./appendix-1.md). \ No newline at end of file diff --git a/docs/Tutorials/CrossCompilationSetup/Linux.md b/docs/Tutorials/CrossCompilationSetup/Linux.md new file mode 100644 index 0000000000..3ed3d1d514 --- /dev/null +++ b/docs/Tutorials/CrossCompilationSetup/Linux.md @@ -0,0 +1,10 @@ +# Ubuntu 20.04 / 22.04 / Generic Linux + +Ensure that your distribution is up to date. + +```sh +sudo apt update +sudo apt install build-essential git g++ gdb cmake python3 python3-venv python3-pip +``` + +After the steps above are completed, [return to the tutorial.](../CrossCompilationSetup/CrossCompilationSetupTutorial.md) diff --git a/docs/Tutorials/CrossCompilationSetup/MacOS.md b/docs/Tutorials/CrossCompilationSetup/MacOS.md new file mode 100644 index 0000000000..b76b78f971 --- /dev/null +++ b/docs/Tutorials/CrossCompilationSetup/MacOS.md @@ -0,0 +1,29 @@ +# Mac OS X + +MacOS like Linux is a unix system and thus may be used directly for most of this +tutorial. However, Mac users must install the following utilities +*and ensure they are available on the command line path*. + +1. [Python 3](https://www.python.org/downloads/release/python-3913/) +2. [CMake](https://cmake.org/download/) +3. GCC/CLang typically installed with xcode-select + +**Installing GCC/CLang on macOS** +```bash +xcode-select --install +``` + +Installing Python and running the above command to install gcc/CLang should ensure +that those tools are on the path. + +CMake requires one additional step to ensure it is on the path: + +```bash +sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install +``` + +In order to cross-compile, a Linux box is essential. You may choose to use a virtual +machine or may choose to follow the instructions in [Appendix I](./appendix-1.md) to +install a docker container including the necessary tools. + +After the steps above are completed, [return to the tutorial.](../CrossCompilationSetup/CrossCompilationSetupTutorial.md) \ No newline at end of file diff --git a/docs/Tutorials/CrossCompilationSetup/Windows.md b/docs/Tutorials/CrossCompilationSetup/Windows.md new file mode 100644 index 0000000000..1f6e876c5c --- /dev/null +++ b/docs/Tutorials/CrossCompilationSetup/Windows.md @@ -0,0 +1,44 @@ +# Microsoft Windows 10/11 WSL + +Windows 10 ships with a technology known as WSL. WSL allows users to run Linux virtual machines transparently within the Windows 10 operating system. + +**Powershell: Install WSL with Default Ubuntu** +```powershell +wsl --install +``` + +To start Ubuntu under WSL, search for Ubuntu in the start menu and select the "Ubuntu on Windows" app. All class commands should be run on these Ubuntu terminals. + +> Full instructions and troubleshooting help is available in the +> [Microsoft documentation](https://learn.microsoft.com/en-us/windows/wsl/install). + +Lastly, Windows users must open up a firewall port and forward that port to WSL to +ensure the hardware can call back into F' ground data system running in WSL. First we'll +need to note the IP address of the WSL machine. This is done with the following +command *in an administrator PowerShell*. + +```powershell +wsl hostname -I +``` + +> Record the output of this command for the next step. For this guide, we will use +> the value `127.0.0.1`. + +Next, we will add a firewall rule and forward it to the WSL instance. This is done with the following commands: + +> Warning: these commands work with the Windows firewall. Security and antivirus tools +> can run extra firewall rules. Users must allow the port `50000` (Or whichever port that +> is going to be used) or disable these extra firewall settings. + +**PowerShell: Add and Forward External Firewall Rule** +```PowerShell +New-NetFirewallRule -DisplayName "fprime" -Direction inbound -Profile Any -Action Allow -LocalPort 50000 -Protocol TCP +``` + +> Remember to change `127.0.0.1` to your recorded ip address as discovered with +> `wsl hostname -I`. Users are advised to remove this rule after the class has been completed. + + +**IMPORTANT:** + +Go to the [Ubuntu 20.04 / 22.04 / Generic](./Linux.md) Linux to finish setting up your WSL environment. diff --git a/docs/Tutorials/CrossCompilationSetup/appendix-1.md b/docs/Tutorials/CrossCompilationSetup/appendix-1.md new file mode 100644 index 0000000000..4f4d937a83 --- /dev/null +++ b/docs/Tutorials/CrossCompilationSetup/appendix-1.md @@ -0,0 +1,42 @@ +# Appendix I: Installing Rancher Desktop and the F´ ARM Container + +Some users may with to run cross-compilers within docker to minimize the impact of those tools on their systems. Macintosh users will be required to use docker as the ARM/Linux cross-compilers are not available natively for macOS and simple virtualization of a Linux box is no longer practical since the introduction of M1 and M2 hardware. + +## Rancher Desktop Setup + +Rancher Desktop is an alternative to Docker Desktop that allows users to run docker containers directly on their desktop computer. It does not require a license for use like Docker Desktop does and also supports both intel and ARM based Macintosh computers. + +> Non-Macintosh users are advised to run without the below Docker container + +To install [Rancher Desktop](https://rancherdesktop.io/), follow the instructions for your operating system. When presented with a "Welcome to Rancher Desktop" dialog, choose the following settings: +1. Disable Kubernetes +2. Select `dockerd` +3. Configure PATH Automatic + +![Rancher Config](./img/rancher-config.png) + +Ensure that Rancher Desktop is running and that the VM it uses has been started. You can confirm this by ensuring no pop-ups nor progress bars are visible in Rancher Desktop's main window as shown below. + +![Rancher Main Window](./img/rancher-running.png) + +Once this is done, users can install the container by running the following command in their host terminal. It should complete without errors. + +```bash +docker pull nasafprime/fprime-arm:latest +``` + +## Running The Container + +In order to run the commands provided by the docker container (i.e. the cross-compilers), users must start the container and attach to a terminal inside. This should be done **after** the user has created a project to work within. + +To run this container, users may wish to download [this script](https://github.com/fprime-community/fprime-workshop-led-blinker/blob/main/bin/macos-docker) to a `bin` directory in the root of their project. This will start the docker container with appropriate settings. + +Alternatively, the user may run the following command to start the terminal +```bash +docker run --platform=linux/amd64 --net host -e USER=$USER -u "`id -u`:`id -g`" -v "/path/to/project:/project" -it \ + docker pull nasafprime/fprime-arm:latest +``` + +> Anytime Macintosh users run cross-compilation commands, they **must** do so in a terminal inside the docker container. + +[Return to Macintosh tutorial.](./MacOS.md) \ No newline at end of file diff --git a/docs/Tutorials/CrossCompilationSetup/img/rancher-config.png b/docs/Tutorials/CrossCompilationSetup/img/rancher-config.png new file mode 100644 index 0000000000000000000000000000000000000000..1a6b761fcb75fbee0a6c7500fb81b0fe46be996f GIT binary patch literal 56116 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

    k)Jmx@3{#{^Y2N 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 M+-uoN8PlNu1q)V%<^TWy diff --git a/docs/Tutorials/MathComponent/refresh b/docs/Tutorials/MathComponent/refresh deleted file mode 100755 index 5e58a08eb1..0000000000 --- a/docs/Tutorials/MathComponent/refresh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -e - -(cd md; ./refresh) -(cd json; ./refresh) diff --git a/docs/Tutorials/README.md b/docs/Tutorials/README.md index a20aec3854..fa400b78cf 100644 --- a/docs/Tutorials/README.md +++ b/docs/Tutorials/README.md @@ -9,18 +9,18 @@ users to learn F´ and walk through the most basic steps in developing an F´ ap ## Tutorials Index 1. [HelloWorld](https://fprime-community.github.io/fprime-tutorial-hello-world/): An Introduction to F´ -2. [LedBlinker](https://github.com/fprime-community/fprime-workshop-led-blinker/blob/main/README.md): F´ and Embedded Hardware -3. [MathComponent](MathComponent/Tutorial.md) +2. [LedBlinker](https://fprime-community.github.io/fprime-workshop-led-blinker/): F´ and Embedded Hardware +3. [MathComponent](https://fprime-community.github.io/fprime-tutorial-math-component/): Custom Ports and Types 4. [Cross-Compilation Tutorial](CrossCompilation/Tutorial.md) + ## [HelloWorld](https://fprime-community.github.io/fprime-tutorial-hello-world/): An Introduction to F´ -The HelloWorld tutorial walks a new users through creating a new project, designing their first F´ component, and testing that +The HelloWorld tutorial walks new users through creating a new project, designing their first F´ component, and testing that component through an F´ deployment. - -## [LedBlinker](https://github.com/fprime-community/fprime-workshop-led-blinker/blob/main/README.md): F´ and Embedded Hardware +## [LedBlinker](https://fprime-community.github.io/fprime-workshop-led-blinker/): F´ and Embedded Hardware LedBlinker walks users through developing an F´ project intended for running on embedded hardware. It covers manager components, hardware drivers, and cross-compilation with the goal of blinking an LED on ARM hardware. Events, Telemetry, Commands, and Parameters are covered as well. @@ -35,6 +35,7 @@ LedBlinker walks users through developing an F´ project intended for running on 7. [Unit-Testing](https://github.com/fprime-community/fprime-workshop-led-blinker/blob/main/docs/unit-testing.md) 8. [System Testing](https://github.com/fprime-community/fprime-workshop-led-blinker/blob/main/docs/system-testing.md) -## [MathComponent](MathComponent/Tutorial.md): Custom Ports and Types -MathComponent tutorial walks users through constructing a full F´ application including custom Ports, and Enumeration data types. Events, Telemetry, Commands, and Parameters are covered as well. Unit-Testing is also covered. +## [MathComponent](https://fprime-community.github.io/fprime-tutorial-math-component/): Custom Ports and Types + +The MathComponent tutorial walks users through constructing a full F´ application including custom Ports, and Enumeration data types. Events, Telemetry, Commands, and Parameters are covered as well. Unit-Testing is also covered. From f91f5c2f49985299d083bc651f95a9022d139f28 Mon Sep 17 00:00:00 2001 From: Rob Bocchino Date: Tue, 18 Jul 2023 09:52:54 -0700 Subject: [PATCH 41/55] Fix bug in Fw::Buffer (#2136) * Fix bug in Fw::Buffer * Revise null pointer check in Serializable.cpp --- Fw/Buffer/Buffer.cpp | 8 ++++++-- Fw/Types/Serializable.cpp | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Fw/Buffer/Buffer.cpp b/Fw/Buffer/Buffer.cpp index 010c2dc963..d244279c97 100644 --- a/Fw/Buffer/Buffer.cpp +++ b/Fw/Buffer/Buffer.cpp @@ -28,11 +28,15 @@ Buffer::Buffer(): Serializable(), {} Buffer::Buffer(const Buffer& src) : Serializable(), - m_serialize_repr(src.m_bufferData, src.m_size), + m_serialize_repr(), m_bufferData(src.m_bufferData), m_size(src.m_size), m_context(src.m_context) -{} +{ + if(src.m_bufferData != nullptr){ + this->m_serialize_repr.setExtBuffer(src.m_bufferData, src.m_size); + } +} Buffer::Buffer(U8* data, U32 size, U32 context) : Serializable(), m_serialize_repr(), diff --git a/Fw/Types/Serializable.cpp b/Fw/Types/Serializable.cpp index ec67ea618d..940db4b508 100644 --- a/Fw/Types/Serializable.cpp +++ b/Fw/Types/Serializable.cpp @@ -707,7 +707,7 @@ namespace Fw { } void ExternalSerializeBuffer::setExtBuffer(U8* buffPtr, NATIVE_UINT_TYPE size) { - FW_ASSERT(buffPtr); + FW_ASSERT(buffPtr != nullptr); this->m_buff = buffPtr; this->m_buffSize = size; } From ed89684432bf1ecb9213f1ab7b8cd3d25e016438 Mon Sep 17 00:00:00 2001 From: Rob Bocchino Date: Tue, 18 Jul 2023 09:53:05 -0700 Subject: [PATCH 42/55] Update STest (#2137) * Update STest * Code cleanup * Revise Pick.hpp --- STest/STest/Pick/Pick.cpp | 4 +- STest/STest/Pick/Pick.hpp | 12 ++- STest/STest/Pick/Pick_default.cpp | 4 +- STest/STest/Pick/Pick_spin.cpp | 85 ------------------- STest/STest/Pick/Pick_spin.hpp | 48 ----------- STest/STest/Random/Random.cpp | 22 ++--- .../Scenario/ConditionalIteratedScenario.hpp | 2 +- STest/STest/Scenario/ConditionalScenario.hpp | 2 +- STest/STest/Scenario/InterleavedScenario.hpp | 23 +++-- STest/STest/Scenario/IteratedScenario.hpp | 6 +- .../Scenario/RandomlyBoundedScenario.hpp | 2 +- STest/STest/Scenario/RepeatedRuleScenario.hpp | 2 +- STest/STest/Scenario/RepeatedScenario.hpp | 2 +- STest/STest/Scenario/RuleScenario.hpp | 4 +- STest/STest/Scenario/Scenario.hpp | 4 +- STest/STest/Scenario/SelectedScenario.hpp | 23 +++-- STest/STest/Scenario/SequenceScenario.hpp | 2 +- STest/STest/types/basic_types.h | 8 +- 18 files changed, 64 insertions(+), 191 deletions(-) delete mode 100644 STest/STest/Pick/Pick_spin.cpp delete mode 100644 STest/STest/Pick/Pick_spin.hpp diff --git a/STest/STest/Pick/Pick.cpp b/STest/STest/Pick/Pick.cpp index 178d77cbff..0edef7a0e9 100644 --- a/STest/STest/Pick/Pick.cpp +++ b/STest/STest/Pick/Pick.cpp @@ -1,10 +1,10 @@ // ====================================================================== // \title Pick.cpp -// \author AUTO-GENERATED: DO NOT EDIT +// \author bocchino // \brief Pick implementation // // \copyright -// Copyright (C) 2019 California Institute of Technology. +// Copyright (C) 2022 California Institute of Technology. // ALL RIGHTS RESERVED. United States Government Sponsorship // acknowledged. // ====================================================================== diff --git a/STest/STest/Pick/Pick.hpp b/STest/STest/Pick/Pick.hpp index 0ad15a3521..ca8a8e161a 100644 --- a/STest/STest/Pick/Pick.hpp +++ b/STest/STest/Pick/Pick.hpp @@ -1,10 +1,10 @@ // ====================================================================== // \title Pick.hpp -// \author AUTO-GENERATED: DO NOT EDIT +// \author bocchino // \brief Pick interface // // \copyright -// Copyright (C) 2019 California Institute of Technology. +// Copyright (C) 2022 California Institute of Technology. // ALL RIGHTS RESERVED. United States Government Sponsorship // acknowledged. // ====================================================================== @@ -12,12 +12,10 @@ #ifndef STEST_PICK_HPP #define STEST_PICK_HPP -#include -#include -#include - #include "STest/types/basic_types.h" - +#ifdef STEST_MODE_spin +#include "STest/Pick/Pick_spin.hpp" +#endif namespace STest { diff --git a/STest/STest/Pick/Pick_default.cpp b/STest/STest/Pick/Pick_default.cpp index 8763c12d58..e723bad3fd 100644 --- a/STest/STest/Pick/Pick_default.cpp +++ b/STest/STest/Pick/Pick_default.cpp @@ -1,10 +1,10 @@ // ====================================================================== // \title Pick_default.cpp -// \author AUTO-GENERATED: DO NOT EDIT +// \author bocchino // \brief Pick_default implementation // // \copyright -// Copyright (C) 2019 California Institute of Technology. +// Copyright (C) 2022 California Institute of Technology. // ALL RIGHTS RESERVED. United States Government Sponsorship // acknowledged. // ====================================================================== diff --git a/STest/STest/Pick/Pick_spin.cpp b/STest/STest/Pick/Pick_spin.cpp deleted file mode 100644 index 29d883b878..0000000000 --- a/STest/STest/Pick/Pick_spin.cpp +++ /dev/null @@ -1,85 +0,0 @@ -// ====================================================================== -// \title Pick_spin.cpp -// \author AUTO-GENERATED: DO NOT EDIT -// \brief Pick_spin implementation -// -// \copyright -// Copyright (C) 2019 California Institute of Technology. -// ALL RIGHTS RESERVED. United States Government Sponsorship -// acknowledged. -// ====================================================================== - -#include "STest/Pick/Pick.hpp" -#include "STest/Pick/Pick_spin.hpp" -#include "STest/Random/Random.hpp" - -namespace STest { - - namespace Pick { - - namespace Spin { - - namespace { - - //! The array of random seeds - U32 seeds[NUM_RANDOM_SEEDS]; - - //! The array of random values - U32 values[NUM_RANDOM_VALUES]; - - //! Whether this module is initialized - bool initialized = false; - - } - - //! Pick a random U32 - U32 pickRandU32() { - assert(initialized); - const U32 randU32 = STest::Random::lowerUpper(0, 0xFFFFFFFFU); - return values[randU32 % NUM_RANDOM_VALUES]; - } - - //! Pick a double value in the interval [0, 1] - double inUnitInterval() { - const U32 randU32 = pickRandU32(); - const F64 ratio = static_cast(randU32) / 0xFFFFFFFFU; - return ratio; - } - - void init() { - for (U32 i = 0; i < NUM_RANDOM_SEEDS; ++i) { - seeds[i] = STest::Random::lowerUpper(0, 0xFFFFFFFFU); - } - for (U32 i = 0; i < NUM_RANDOM_VALUES; ++i) { - values[i] = STest::Random::lowerUpper(0, 0xFFFFFFFFU); - } - initialized = true; - } - - void initRule(const U32 seedIndex) { - assert(initialized); - assert(seedIndex < NUM_RANDOM_SEEDS); - const U32 seed = seeds[seedIndex]; - STest::Random::SeedValue::set(seed); - } - - } - - U32 startLength(const U32 start, const U32 length) { - assert(length > 0); - const F64 randFloat = Spin::inUnitInterval() * length; - const U32 offset = static_cast(randFloat); - return start + offset; - } - - U32 lowerUpper(const U32 lower, const U32 upper) { - assert(lower <= upper); - const F64 length = static_cast(upper) - lower + 1; - const F64 randFloat = Spin::inUnitInterval() * length; - const U32 offset = static_cast(randFloat); - return lower + offset; - } - - } - -} diff --git a/STest/STest/Pick/Pick_spin.hpp b/STest/STest/Pick/Pick_spin.hpp deleted file mode 100644 index b567656272..0000000000 --- a/STest/STest/Pick/Pick_spin.hpp +++ /dev/null @@ -1,48 +0,0 @@ -// ====================================================================== -// \title Pick_spin.hpp -// \author AUTO-GENERATED: DO NOT EDIT -// \brief Pick_spin interface -// -// \copyright -// Copyright (C) 2019 California Institute of Technology. -// ALL RIGHTS RESERVED. United States Government Sponsorship -// acknowledged. -// ====================================================================== - -#ifndef STEST_PICK_SPIN_HPP -#define STEST_PICK_SPIN_HPP - -#include -#include -#include - -#include "STest/types/basic_types.h" - -namespace STest { - - namespace Pick { - - namespace Spin { - - enum Constants { - //! The number of random seeds to use - NUM_RANDOM_SEEDS = 5, - //! The number of random values to use - NUM_RANDOM_VALUES = 5 - }; - - //! Initialize the module - void init(); - - //! Initialize a rule - void initRule( - const U32 seedIndex //!< The index into the random seeds - ); - - } - - } - -} - -#endif diff --git a/STest/STest/Random/Random.cpp b/STest/STest/Random/Random.cpp index 7d993f863e..130afff108 100644 --- a/STest/STest/Random/Random.cpp +++ b/STest/STest/Random/Random.cpp @@ -35,15 +35,12 @@ namespace STest { const char *const fileName, U32& value ) { - bool result = true; + bool result = false; FILE *fp = fopen(fileName, "r"); if (fp != nullptr) { result = (fscanf(fp, "%" PRIu32, &value) == 1); (void) fclose(fp); } - else { - result = false; - } return result; } @@ -55,7 +52,7 @@ namespace STest { const char *const fileName, const U32 seedValue ) { - bool result = true; + bool result = false; FILE *fp = fopen(fileName, "a"); if (fp != nullptr) { int status = fprintf( @@ -66,9 +63,6 @@ namespace STest { result = (status > 0); (void) fclose(fp); } - else { - result = false; - } return result; } @@ -79,11 +73,11 @@ namespace STest { const bool seedValueOK = SeedValue::getFromFile("seed", seedValue); if (seedValueOK) { - printf("[STest::Random] Read seed %" PRIu32 " from file\n", seedValue); + (void) printf("[STest::Random] Read seed %" PRIu32 " from file\n", seedValue); } else { seedValue = SeedValue::getFromTime(); - printf("[STest::Random] Generated seed %" PRIu32 " from system time\n", seedValue); + (void) printf("[STest::Random] Generated seed %" PRIu32 " from system time\n", seedValue); } (void) SeedValue::appendToFile("seed-history", seedValue); SeedValue::set(seedValue); @@ -94,9 +88,7 @@ namespace STest { const U32 length ) { assert(length > 0); - const F64 randFloat = inUnitInterval() * length; - const U32 offset = static_cast(randFloat); - return start + offset; + return lowerUpper(start, start + length - 1); } U32 lowerUpper( @@ -107,7 +99,9 @@ namespace STest { const F64 length = static_cast(upper) - lower + 1; const F64 randFloat = inUnitInterval() * length; const U32 offset = static_cast(randFloat); - return lower + offset; + const U32 result = lower + offset; + // Handle boundary case where inUnitInterval returns 1.0 + return (result <= upper) ? result : result - 1; } double inUnitInterval() { diff --git a/STest/STest/Scenario/ConditionalIteratedScenario.hpp b/STest/STest/Scenario/ConditionalIteratedScenario.hpp index 1be1bf1e57..e50ec7d193 100644 --- a/STest/STest/Scenario/ConditionalIteratedScenario.hpp +++ b/STest/STest/Scenario/ConditionalIteratedScenario.hpp @@ -57,7 +57,7 @@ namespace STest { } //! The virtual implementation of nextScenario required by IteratedScenario - //! \return The next scenario, assuming isDone() is false, or NULL if none + //! \return The next scenario, assuming isDone() is false, or nullptr if none Scenario* nextScenario_IteratedScenario( State& state //!< The system state ) { diff --git a/STest/STest/Scenario/ConditionalScenario.hpp b/STest/STest/Scenario/ConditionalScenario.hpp index 2cb4cd9935..5693297f0e 100644 --- a/STest/STest/Scenario/ConditionalScenario.hpp +++ b/STest/STest/Scenario/ConditionalScenario.hpp @@ -56,7 +56,7 @@ namespace STest { } //! The virtual implementation of nextRule required by Scenario - //! \return The next rule, assuming isDone() is false, or NULL if none + //! \return The next rule, assuming isDone() is false, or nullptr if none Rule* nextRule_Scenario( State& state //!< The system state ) { diff --git a/STest/STest/Scenario/InterleavedScenario.hpp b/STest/STest/Scenario/InterleavedScenario.hpp index 634f6ee727..0d96da10f0 100644 --- a/STest/STest/Scenario/InterleavedScenario.hpp +++ b/STest/STest/Scenario/InterleavedScenario.hpp @@ -38,15 +38,20 @@ namespace STest { const U32 size //!< The size of the array ) : Scenario(name), - scenarioArray(new ScenarioArray(scenarios, size)) + scenarioArray(new ScenarioArray(scenarios, size)), + seen(new bool[size]) { } //! Destroy an InterleavedScenario object ~InterleavedScenario() { - assert(this->scenarioArray != nullptr); - delete this->scenarioArray; + if (this->scenarioArray != nullptr) { + delete this->scenarioArray; + } + if (this->seen != nullptr) { + delete[] this->seen; + } } protected: @@ -62,14 +67,13 @@ namespace STest { } //! The virtual implementation of nextRule required by Scenario - //! \return The next rule, assuming isDone() is false, or NULL if none + //! \return The next rule, assuming isDone() is false, or nullptr if none Rule* nextRule_Scenario( State& state //!< The system state ) { assert(this->scenarioArray != nullptr); Rule* rule = nullptr; - bool seen[this->scenarioArray->size]; - memset(seen, 0, this->scenarioArray->size * sizeof(bool)); + memset(this->seen, 0, this->scenarioArray->size * sizeof(bool)); U32 numSeen = 0; Scenario* *const scenarios = this->scenarioArray->getScenarios(); @@ -79,14 +83,14 @@ namespace STest { assert(numIterations < maxIterations); ++numIterations; const U32 i = this->scenarioArray->getRandomIndex(); - if (seen[i]) { + if (this->seen[i]) { continue; } rule = scenarios[i]->nextRule(state); if (rule != nullptr) { break; } - seen[i] = true; + this->seen[i] = true; ++numSeen; } return rule; @@ -118,6 +122,9 @@ namespace STest { //! The scenarios to interleave ScenarioArray* scenarioArray; + //! An array to store the scenarios seen + bool* seen; + }; } diff --git a/STest/STest/Scenario/IteratedScenario.hpp b/STest/STest/Scenario/IteratedScenario.hpp index b13489d564..78235094a5 100644 --- a/STest/STest/Scenario/IteratedScenario.hpp +++ b/STest/STest/Scenario/IteratedScenario.hpp @@ -51,7 +51,7 @@ namespace STest { // ---------------------------------------------------------------------- //! Return the next scenario to run - //! \return The next scenario, assuming isDone() is false, or NULL if none + //! \return The next scenario, assuming isDone() is false, or nullptr if none Scenario* nextScenario( State& state //!< The system state ) { @@ -78,7 +78,7 @@ namespace STest { } //! The virtual implementation of nextRule required by Scenario - //! \return The next rule, assuming isDone() is false, or NULL if none + //! \return The next rule, assuming isDone() is false, or nullptr if none Rule* nextRule_Scenario( State& state //!< The system state ) { @@ -118,7 +118,7 @@ namespace STest { virtual void reset_IteratedScenario() = 0; //! The virtual implementation of nextScenario required by IteratedScenario - //! \return The next scenario, assuming isDone() is false, or NULL if none + //! \return The next scenario, assuming isDone() is false, or nullptr if none virtual Scenario* nextScenario_IteratedScenario( State& state //!< The system state ) = 0; diff --git a/STest/STest/Scenario/RandomlyBoundedScenario.hpp b/STest/STest/Scenario/RandomlyBoundedScenario.hpp index c73077728f..513809f191 100644 --- a/STest/STest/Scenario/RandomlyBoundedScenario.hpp +++ b/STest/STest/Scenario/RandomlyBoundedScenario.hpp @@ -73,7 +73,7 @@ namespace STest { } //! The virtual implementation of nextRule required by Scenario - //! \return The next rule, assuming isDone() is false, or NULL if none + //! \return The next rule, assuming isDone() is false, or nullptr if none Rule* nextRule_Scenario( State& state //!< The system state ) { diff --git a/STest/STest/Scenario/RepeatedRuleScenario.hpp b/STest/STest/Scenario/RepeatedRuleScenario.hpp index a2cbc9fb88..7ebd3404ff 100644 --- a/STest/STest/Scenario/RepeatedRuleScenario.hpp +++ b/STest/STest/Scenario/RepeatedRuleScenario.hpp @@ -49,7 +49,7 @@ namespace STest { } //! The virtual implementation of nextRule required by Scenario - //! \return The next rule, assuming isDone() is false, or NULL if none + //! \return The next rule, assuming isDone() is false, or nullptr if none Rule* nextRule_Scenario( State& state //!< The system state ) { diff --git a/STest/STest/Scenario/RepeatedScenario.hpp b/STest/STest/Scenario/RepeatedScenario.hpp index a714a0d9fa..dce19c1d24 100644 --- a/STest/STest/Scenario/RepeatedScenario.hpp +++ b/STest/STest/Scenario/RepeatedScenario.hpp @@ -52,7 +52,7 @@ namespace STest { } //! The virtual implementation of nextScenario required by IteratedScenario - //! \return The next scenario, assuming isDone() is false, or NULL if none + //! \return The next scenario, assuming isDone() is false, or nullptr if none Scenario* nextScenario_IteratedScenario( State& state //!< The system state ) { diff --git a/STest/STest/Scenario/RuleScenario.hpp b/STest/STest/Scenario/RuleScenario.hpp index e404c6d705..4b5c2ccc7b 100644 --- a/STest/STest/Scenario/RuleScenario.hpp +++ b/STest/STest/Scenario/RuleScenario.hpp @@ -50,12 +50,12 @@ namespace STest { } //! the virtual implementation of nextRule required by Scenario - //! \return The next rule, assuming isDone() is false, or NULL if none + //! \return The next rule, assuming isDone() is false, or nullptr if none Rule* nextRule_Scenario( State& state //!< The system state ) { Rule *rule = nullptr; - if (this->rule.precondition(state)) { + if (!this->isDone() && this->rule.precondition(state)) { rule = &this->rule; this->done = true; } diff --git a/STest/STest/Scenario/Scenario.hpp b/STest/STest/Scenario/Scenario.hpp index c2ab8e72c6..73883237a7 100644 --- a/STest/STest/Scenario/Scenario.hpp +++ b/STest/STest/Scenario/Scenario.hpp @@ -67,7 +67,7 @@ namespace STest { } //! Return the next rule to apply - //! \return The next rule, or NULL if none + //! \return The next rule, or nullptr if none Rule* nextRule( State& state //!< The system state ) { @@ -94,7 +94,7 @@ namespace STest { virtual void reset_Scenario() = 0; //! The virtual implementation of nextRule required by Scenario - //! \return The next rule, assuming isDone() is false, or NULL if none + //! \return The next rule, assuming isDone() is false, or nullptr if none virtual Rule* nextRule_Scenario( State& state //!< The system state ) = 0; diff --git a/STest/STest/Scenario/SelectedScenario.hpp b/STest/STest/Scenario/SelectedScenario.hpp index 69c20aa9c2..c8f38ad916 100644 --- a/STest/STest/Scenario/SelectedScenario.hpp +++ b/STest/STest/Scenario/SelectedScenario.hpp @@ -40,15 +40,20 @@ namespace STest { ) : Scenario(name), scenarioArray(new ScenarioArray(scenarios, size)), - selectedScenario(nullptr) + selectedScenario(nullptr), + seen(new bool[size]) { } //! Destroy a SelectedScenario object virtual ~SelectedScenario() { - assert(this->scenarioArray != nullptr); - delete this->scenarioArray; + if (this->scenarioArray != nullptr) { + delete this->scenarioArray; + } + if (this->seen != nullptr) { + delete[] this->seen; + } } public: @@ -65,7 +70,7 @@ namespace STest { } //! The virtual implementation of nextRule required by Scenario - //! \return The next rule, assuming isDone() is false, or NULL if none + //! \return The next rule, assuming isDone() is false, or nullptr if none Rule* nextRule_Scenario( State& state //!< The system state ) { @@ -114,8 +119,7 @@ namespace STest { ) { Rule* rule = nullptr; const U32 size = this->scenarioArray->size; - bool seen[size]; - memset(seen, 0, sizeof(seen)); + memset(this->seen, 0, size * sizeof(bool)); U32 numSeen = 0; assert(this->scenarioArray != nullptr); Scenario **const scenarios = @@ -123,7 +127,7 @@ namespace STest { assert(scenarios != nullptr); while (numSeen < size) { const U32 i = this->scenarioArray->getRandomIndex(); - if (seen[i]) { + if (this->seen[i]) { continue; } Scenario *const scenario = scenarios[i]; @@ -133,7 +137,7 @@ namespace STest { this->selectedScenario = scenario; break; } - seen[i] = true; + this->seen[i] = true; ++numSeen; } return rule; @@ -151,6 +155,9 @@ namespace STest { //! The selected scenario Scenario* selectedScenario; + //! An array to store the scenarios seen + bool* seen; + }; } diff --git a/STest/STest/Scenario/SequenceScenario.hpp b/STest/STest/Scenario/SequenceScenario.hpp index 4410ce8c83..15dc729ad0 100644 --- a/STest/STest/Scenario/SequenceScenario.hpp +++ b/STest/STest/Scenario/SequenceScenario.hpp @@ -63,7 +63,7 @@ namespace STest { } //! The virtual implementation of nextScenario required by IteratedScenario - //! \return The next scenario, assuming isDone() is false, or NULL if none + //! \return The next scenario, assuming isDone() is false, or nullptr if none Scenario* nextScenario_IteratedScenario( State& state //!< The system state ) { diff --git a/STest/STest/types/basic_types.h b/STest/STest/types/basic_types.h index 907175f1bf..0b939ff1f7 100644 --- a/STest/STest/types/basic_types.h +++ b/STest/STest/types/basic_types.h @@ -1,16 +1,16 @@ // ====================================================================== // \title basic_types.h // \author bocchino -// \brief Basic types +// \brief STest basic types // // \copyright // Copyright (C) 2017 California Institute of Technology. // ALL RIGHTS RESERVED. United States Government Sponsorship -// acknowledged. +// acknowledged. // ====================================================================== -#ifndef BASIC_TYPES_H -#define BASIC_TYPES_H +#ifndef STEST_BASIC_TYPES_H +#define STEST_BASIC_TYPES_H #ifdef __cplusplus extern "C" { From 6e799d83dc73175584495144d2231d1f6a3dff82 Mon Sep 17 00:00:00 2001 From: Rob Bocchino Date: Tue, 18 Jul 2023 09:53:16 -0700 Subject: [PATCH 43/55] Clarify valid buffers (#2138) * Clarify valid buffers * Revise Buffer SDD --- Fw/Buffer/Buffer.cpp | 4 ++++ Fw/Buffer/Buffer.hpp | 4 ++++ Fw/Buffer/docs/sdd.md | 26 ++++++++++++++++++-------- 3 files changed, 26 insertions(+), 8 deletions(-) diff --git a/Fw/Buffer/Buffer.cpp b/Fw/Buffer/Buffer.cpp index d244279c97..65ff479bfb 100644 --- a/Fw/Buffer/Buffer.cpp +++ b/Fw/Buffer/Buffer.cpp @@ -61,6 +61,10 @@ bool Buffer::operator==(const Buffer& src) const { return (this->m_bufferData == src.m_bufferData) && (this->m_size == src.m_size) && (this->m_context == src.m_context); } +bool Buffer::isValid() const { + return (this->m_bufferData != nullptr) && (this->m_size > 0); +} + U8* Buffer::getData() const { return this->m_bufferData; } diff --git a/Fw/Buffer/Buffer.hpp b/Fw/Buffer/Buffer.hpp index 50d021216b..f24e7971a5 100644 --- a/Fw/Buffer/Buffer.hpp +++ b/Fw/Buffer/Buffer.hpp @@ -118,6 +118,10 @@ class Buffer : public Fw::Serializable { // Accessor functions // ---------------------------------------------------------------------- + //! Returns true if the buffer is valid (data pointer != nullptr and size > 0) + //! + bool isValid() const; + //! Returns wrapped data pointer //! U8* getData() const; diff --git a/Fw/Buffer/docs/sdd.md b/Fw/Buffer/docs/sdd.md index 4dba905ea1..dddc1394a6 100644 --- a/Fw/Buffer/docs/sdd.md +++ b/Fw/Buffer/docs/sdd.md @@ -6,7 +6,7 @@ This module provides the following elements: * A type `Fw::Buffer` representing a wrapper around a variable-size buffer. This allows for passing a reference to the -allocated memory around without a copy. Typically the memory is allocated in a buffer manager or similar component but +allocated memory around without a copy. Typically the memory is allocated in a buffer manager or similar component but this is not required. * A port `Fw::BufferGet` for requesting a buffer of type `Fw::Buffer` from a [`BufferManager`](../../../Svc/BufferManager/docs/sdd.md) and similar components. @@ -30,8 +30,14 @@ Name | Type | Accessors | Purpose `m_context` | `U32` | `getContext()`/`setContext()` | Context of buffer's origin. Used to track buffers created by [`BufferManager`](../../../Svc/BufferManager/docs/sdd.md) `m_serialize_repr` | `Fw::ExternalSerializeBuffer` | `getSerializeRepr()` | Interface for serialization to internal buffer -If the size of the data is set to 0, the pointer returned by `getData()` and the serialization interface returned by -`getSerializeRepr()` are considered invalid and should not be used. +A value _B_ of type `Fw::Buffer` is **valid** if `m_bufferData != nullptr` and +`m_size > 0`; otherwise it is **invalid**. +The interface function `isValid` reports whether a buffer is valid. +Calling this function on a buffer _B_ returns `true` if _B_ is valid, otherwise `false`. + +If a buffer _B_ is invalid, then the pointer returned by _B_ `.getData()` and the +serialization interface returned by +_B_ `.getSerializeRepr()` are considered invalid and should not be used. The `getSerializeRepr()` function may be used to interact with the wrapped data buffer by serializing types to and from the data region. @@ -40,7 +46,7 @@ the data region. ### 2.2 The Port Fw::BufferGet As shown in the following diagram, `Fw::BufferGet` has one argument `size` of type `U32`. It returns a value of type -`Fw::Buffer`. The returned `Fw::Buffer`'s size must be checked for validity before using. +`Fw::Buffer`. The returned `Fw::Buffer` must be checked for validity before using. ![`Fw::BufferGet` Diagram](img/BufferGetBDD.jpg "Fw::BufferGet Port") @@ -53,16 +59,20 @@ As shown in the following diagram, `Fw::BufferSend` has one argument `fwBuffer` ## 3 Usage Notes Components allocating `Fw::Buffer` objects may use the `m_context` field at their discretion. This field is typically -used to track the origin of the buffer for eventual allocation. When a component fails to allocate memory, it must set -the `m_size` field to zero to indicate that the buffer is invalid. +used to track the origin of the buffer for eventual allocation. + +When a component fails to allocate memory, it must set +the `m_bufferData` field to `nullptr` and/or set the `m_size` field to zero to indicate that the buffer is invalid. -Receivers of `Fw::Buffer` objects are expected to check the `m_size` field before using the buffer. +A receiver of an `Fw::Buffer` object _B_ must check that _B_ is valid before accessing the +data stored in _B_. +To check validity, you can call the interface function `isValid()`. ### Serializing and Deserializing with `Fw::Buffer` Users can obtain a SerializeBuffer, `sb`, by calling `getSerializeRepr()`. This serialize buffer is backed by the memory of the `Fw::Buffer` and is initially empty. Users can serialize and deserialize through `sb` to copy to/from the backed -memory. +memory. The state of `sb` persists as long as the current `Fw::Buffer` object exists as it is stored as a member. However, all `Fw::Buffer` constructors initialize `sb` to an empty state including the `Fw::Buffer` copy constructor. Thus, if an From 92c9f0712358ee34789c69a4cdc013f17748ad86 Mon Sep 17 00:00:00 2001 From: Thomas Boyer Chammard <49786685+thomas-bc@users.noreply.github.com> Date: Tue, 25 Jul 2023 10:56:20 -0700 Subject: [PATCH 44/55] Reference cross-compilation in tutorial index (#2155) --- .../CrossCompilationSetup/CrossCompilationSetupTutorial.md | 2 ++ .../CrossCompilationSetup/CrossCompilationTutorial.md | 4 +++- docs/Tutorials/CrossCompilationSetup/README.md | 7 +++++++ docs/Tutorials/README.md | 2 +- 4 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 docs/Tutorials/CrossCompilationSetup/README.md diff --git a/docs/Tutorials/CrossCompilationSetup/CrossCompilationSetupTutorial.md b/docs/Tutorials/CrossCompilationSetup/CrossCompilationSetupTutorial.md index e6e047c315..2fbf66efaf 100644 --- a/docs/Tutorials/CrossCompilationSetup/CrossCompilationSetupTutorial.md +++ b/docs/Tutorials/CrossCompilationSetup/CrossCompilationSetupTutorial.md @@ -57,3 +57,5 @@ Next, ensure that the ARM toolchains were installed properly. To test, run the f Any output other than "file/command not found" is good. > Note: macOS users must run these commands from within the Docker container described in [Appendix I](./appendix-1.md). + +**Next:** [Compiling for ARM](./CrossCompilationTutorial.md) diff --git a/docs/Tutorials/CrossCompilationSetup/CrossCompilationTutorial.md b/docs/Tutorials/CrossCompilationSetup/CrossCompilationTutorial.md index 92c4dfeb75..493fece2e7 100644 --- a/docs/Tutorials/CrossCompilationSetup/CrossCompilationTutorial.md +++ b/docs/Tutorials/CrossCompilationSetup/CrossCompilationTutorial.md @@ -49,4 +49,6 @@ fprime-util build aarch64-linux fprime-util generate arm-hf-linux fprime-util build arm-hf-linux ``` -> Note: macOS users must run these commands from within the Docker container described in [Appendix I](./appendix-1.md). \ No newline at end of file +> Note: macOS users must run these commands from within the Docker container described in [Appendix I](./appendix-1.md). + +**Next:** [Running on ARM Linux](./ArmLinuxTutorial.md) \ No newline at end of file diff --git a/docs/Tutorials/CrossCompilationSetup/README.md b/docs/Tutorials/CrossCompilationSetup/README.md new file mode 100644 index 0000000000..e69a760190 --- /dev/null +++ b/docs/Tutorials/CrossCompilationSetup/README.md @@ -0,0 +1,7 @@ +# F´ Cross-Compilation Tutorial + +## Table of Contents + +1. [Cross-Compilation Setup](./CrossCompilationSetupTutorial.md) +2. [Compiling for ARM](./CrossCompilationTutorial.md) +3. [Running on ARM Linux](./ArmLinuxTutorial.md) diff --git a/docs/Tutorials/README.md b/docs/Tutorials/README.md index fa400b78cf..8413c51860 100644 --- a/docs/Tutorials/README.md +++ b/docs/Tutorials/README.md @@ -11,7 +11,7 @@ users to learn F´ and walk through the most basic steps in developing an F´ ap 1. [HelloWorld](https://fprime-community.github.io/fprime-tutorial-hello-world/): An Introduction to F´ 2. [LedBlinker](https://fprime-community.github.io/fprime-workshop-led-blinker/): F´ and Embedded Hardware 3. [MathComponent](https://fprime-community.github.io/fprime-tutorial-math-component/): Custom Ports and Types -4. [Cross-Compilation Tutorial](CrossCompilation/Tutorial.md) +4. [Cross-Compilation Tutorial](CrossCompilationSetup/README.md) ## [HelloWorld](https://fprime-community.github.io/fprime-tutorial-hello-world/): An Introduction to F´ From 15215288ee2f064bc34bdf67041fb8a89768365f Mon Sep 17 00:00:00 2001 From: Tiffany Chieu Date: Tue, 1 Aug 2023 08:38:31 -0700 Subject: [PATCH 45/55] FPP v1.3.0 integration (#2103) * Start functional tests for FPP component autocoder * Add test components and formal param template types * Create general formal param types and update test components * Fix FppTest utilities * Update test component and formal param types * Add telemetry tests for FPP components * Add macros to generate test code in FPP component autocoder tests * Add telemetry tests for queued and passive FPP components * Use formal param types in FPP port autocoder tests * Share a main test file between FPP component tests * Add empty FPP component test * Add event tests for active FPP components * Add event tests for all FPP component types * Start parameter tests for FPP components * Add parameter tests for FPP components * Update parameter tests for FPP components * Merge port tests into FPP component tests * Update port tests for FPP components * Format macros * Reorganize FPP tests * Add command tests for FPP components * Add parameter command tests for FPP components * Update FPP tests * Update FPP tests * Update FPP tests * Remove unnecessary ports * Add async FPP component tests * Revise FPP port tests * Reorganize FPP tests * Format macros * Update FPP tests * Add headers * Fix typo * Update expected words for spell checker * Update expected words for spell checker * Run clang format * Update fprime-fpp version * Update FPP version --------- Co-authored-by: bocchino --- .github/actions/spelling/expect.txt | 24 +- FppTest/CMakeLists.txt | 7 +- FppTest/array/FormatTest.cpp | 2 +- FppTest/array/main.cpp | 6 +- FppTest/component/CMakeLists.txt | 8 + FppTest/component/README.md | 9 + FppTest/component/active/ActiveTest.cpp | 698 ++++++++ FppTest/component/active/ActiveTest.hpp | 469 ++++++ FppTest/component/active/CMakeLists.txt | 57 + FppTest/component/active/active.fpp | 17 + FppTest/component/active/fpp_types.fpp | 5 + .../active}/port_index_enums.fpp | 1 - FppTest/component/active/port_types.fpp | 79 + FppTest/component/active/test/ut/Tester.cpp | 120 ++ FppTest/component/active/test/ut/Tester.hpp | 297 ++++ .../{port => component/empty}/CMakeLists.txt | 17 +- FppTest/component/empty/Empty.cpp | 37 + FppTest/component/empty/Empty.hpp | 37 + FppTest/component/empty/empty.fpp | 1 + FppTest/component/empty/test/ut/TestMain.cpp | 15 + FppTest/component/empty/test/ut/Tester.cpp | 26 + FppTest/component/empty/test/ut/Tester.hpp | 62 + .../component/empty/test/ut/TesterHelpers.cpp | 20 + FppTest/component/include/commands.fppi | 27 + FppTest/component/include/commands_async.fppi | 27 + FppTest/component/include/events.fppi | 50 + FppTest/component/include/internal_ports.fppi | 27 + FppTest/component/include/params.fppi | 17 + FppTest/component/include/serial_ports.fppi | 8 + .../component/include/serial_ports_async.fppi | 11 + FppTest/component/include/special_ports.fppi | 26 + FppTest/component/include/telemetry.fppi | 21 + FppTest/component/include/typed_ports.fppi | 97 ++ .../component/include/typed_ports_async.fppi | 11 + FppTest/component/passive/CMakeLists.txt | 46 + FppTest/component/passive/PassiveTest.cpp | 434 +++++ FppTest/component/passive/PassiveTest.hpp | 303 ++++ FppTest/component/passive/passive.fpp | 17 + FppTest/component/passive/test/ut/Tester.cpp | 119 ++ FppTest/component/passive/test/ut/Tester.hpp | 287 ++++ FppTest/component/queued/CMakeLists.txt | 51 + FppTest/component/queued/QueuedTest.cpp | 698 ++++++++ FppTest/component/queued/QueuedTest.hpp | 469 ++++++ FppTest/component/queued/queued.fpp | 17 + FppTest/component/queued/test/ut/Tester.cpp | 120 ++ FppTest/component/queued/test/ut/Tester.hpp | 297 ++++ .../queued/test/ut/TesterHelpers.cpp | 228 +++ FppTest/component/tests/AsyncCmdTests.cpp | 18 + FppTest/component/tests/AsyncPortTests.cpp | 16 + .../component/tests/AsyncTesterHelpers.cpp | 63 + FppTest/component/tests/AsyncTests.cpp | 55 + FppTest/component/tests/CmdTests.cpp | 18 + FppTest/component/tests/CmdTests.hpp | 319 ++++ FppTest/component/tests/EventTests.cpp | 137 ++ FppTest/component/tests/EventTests.hpp | 32 + .../tests/InternalInterfaceTests.cpp | 81 + .../tests/InternalInterfaceTests.hpp | 27 + FppTest/component/tests/ParamTests.cpp | 242 +++ FppTest/component/tests/ParamTests.hpp | 25 + FppTest/component/tests/PortTests.cpp | 17 + FppTest/component/tests/PortTests.hpp | 730 +++++++++ FppTest/component/tests/TestMain.cpp | 13 + FppTest/component/tests/TesterHandlers.cpp | 140 ++ FppTest/component/tests/TesterHelpers.cpp | 272 ++++ FppTest/component/tests/Tests.cpp | 115 ++ FppTest/component/tests/TimeTests.cpp | 42 + FppTest/component/tests/TlmTests.cpp | 16 + FppTest/component/tests/TlmTests.hpp | 83 + FppTest/component/types/FormalParamTypes.cpp | 193 +++ FppTest/component/types/FormalParamTypes.hpp | 266 ++++ FppTest/port/Example.cpp | 192 --- FppTest/port/Example.hpp | 188 --- FppTest/port/PortTypes.cpp | 138 -- FppTest/port/PortTypes.hpp | 154 -- FppTest/port/README.md | 33 - FppTest/port/build-exe | 37 - FppTest/port/clean | 3 - FppTest/port/example_comp.fpp | 62 - FppTest/port/fpp_types.fpp | 5 - FppTest/port/gen-cov | 12 - FppTest/port/gen-cov-all | 9 - FppTest/port/gen-cov-html | 8 - FppTest/port/no_return_ports.fpp | 38 - FppTest/port/return_ports.fpp | 40 - FppTest/port/test/ut/TestMain.cpp | 72 - FppTest/port/test/ut/Tester.cpp | 1409 ----------------- FppTest/port/test/ut/Tester.hpp | 432 ----- FppTest/struct/NonPrimitiveStructTest.cpp | 16 +- FppTest/struct/PrimitiveStructTest.cpp | 6 +- FppTest/typed_tests/ComponentTest.hpp | 123 ++ FppTest/typed_tests/PortTest.hpp | 94 +- FppTest/utils/Utils.cpp | 8 +- FppTest/utils/Utils.hpp | 4 +- requirements.txt | 2 +- 94 files changed, 8535 insertions(+), 2892 deletions(-) create mode 100644 FppTest/component/CMakeLists.txt create mode 100644 FppTest/component/README.md create mode 100644 FppTest/component/active/ActiveTest.cpp create mode 100644 FppTest/component/active/ActiveTest.hpp create mode 100644 FppTest/component/active/CMakeLists.txt create mode 100644 FppTest/component/active/active.fpp create mode 100644 FppTest/component/active/fpp_types.fpp rename FppTest/{port => component/active}/port_index_enums.fpp (93%) create mode 100644 FppTest/component/active/port_types.fpp create mode 100644 FppTest/component/active/test/ut/Tester.cpp create mode 100644 FppTest/component/active/test/ut/Tester.hpp rename FppTest/{port => component/empty}/CMakeLists.txt (53%) create mode 100644 FppTest/component/empty/Empty.cpp create mode 100644 FppTest/component/empty/Empty.hpp create mode 100644 FppTest/component/empty/empty.fpp create mode 100644 FppTest/component/empty/test/ut/TestMain.cpp create mode 100644 FppTest/component/empty/test/ut/Tester.cpp create mode 100644 FppTest/component/empty/test/ut/Tester.hpp create mode 100644 FppTest/component/empty/test/ut/TesterHelpers.cpp create mode 100644 FppTest/component/include/commands.fppi create mode 100644 FppTest/component/include/commands_async.fppi create mode 100644 FppTest/component/include/events.fppi create mode 100644 FppTest/component/include/internal_ports.fppi create mode 100644 FppTest/component/include/params.fppi create mode 100644 FppTest/component/include/serial_ports.fppi create mode 100644 FppTest/component/include/serial_ports_async.fppi create mode 100644 FppTest/component/include/special_ports.fppi create mode 100644 FppTest/component/include/telemetry.fppi create mode 100644 FppTest/component/include/typed_ports.fppi create mode 100644 FppTest/component/include/typed_ports_async.fppi create mode 100644 FppTest/component/passive/CMakeLists.txt create mode 100644 FppTest/component/passive/PassiveTest.cpp create mode 100644 FppTest/component/passive/PassiveTest.hpp create mode 100644 FppTest/component/passive/passive.fpp create mode 100644 FppTest/component/passive/test/ut/Tester.cpp create mode 100644 FppTest/component/passive/test/ut/Tester.hpp create mode 100644 FppTest/component/queued/CMakeLists.txt create mode 100644 FppTest/component/queued/QueuedTest.cpp create mode 100644 FppTest/component/queued/QueuedTest.hpp create mode 100644 FppTest/component/queued/queued.fpp create mode 100644 FppTest/component/queued/test/ut/Tester.cpp create mode 100644 FppTest/component/queued/test/ut/Tester.hpp create mode 100644 FppTest/component/queued/test/ut/TesterHelpers.cpp create mode 100644 FppTest/component/tests/AsyncCmdTests.cpp create mode 100644 FppTest/component/tests/AsyncPortTests.cpp create mode 100644 FppTest/component/tests/AsyncTesterHelpers.cpp create mode 100644 FppTest/component/tests/AsyncTests.cpp create mode 100644 FppTest/component/tests/CmdTests.cpp create mode 100644 FppTest/component/tests/CmdTests.hpp create mode 100644 FppTest/component/tests/EventTests.cpp create mode 100644 FppTest/component/tests/EventTests.hpp create mode 100644 FppTest/component/tests/InternalInterfaceTests.cpp create mode 100644 FppTest/component/tests/InternalInterfaceTests.hpp create mode 100644 FppTest/component/tests/ParamTests.cpp create mode 100644 FppTest/component/tests/ParamTests.hpp create mode 100644 FppTest/component/tests/PortTests.cpp create mode 100644 FppTest/component/tests/PortTests.hpp create mode 100644 FppTest/component/tests/TestMain.cpp create mode 100644 FppTest/component/tests/TesterHandlers.cpp create mode 100644 FppTest/component/tests/TesterHelpers.cpp create mode 100644 FppTest/component/tests/Tests.cpp create mode 100644 FppTest/component/tests/TimeTests.cpp create mode 100644 FppTest/component/tests/TlmTests.cpp create mode 100644 FppTest/component/tests/TlmTests.hpp create mode 100644 FppTest/component/types/FormalParamTypes.cpp create mode 100644 FppTest/component/types/FormalParamTypes.hpp delete mode 100644 FppTest/port/Example.cpp delete mode 100644 FppTest/port/Example.hpp delete mode 100644 FppTest/port/PortTypes.cpp delete mode 100644 FppTest/port/PortTypes.hpp delete mode 100644 FppTest/port/README.md delete mode 100755 FppTest/port/build-exe delete mode 100755 FppTest/port/clean delete mode 100644 FppTest/port/example_comp.fpp delete mode 100644 FppTest/port/fpp_types.fpp delete mode 100755 FppTest/port/gen-cov delete mode 100755 FppTest/port/gen-cov-all delete mode 100755 FppTest/port/gen-cov-html delete mode 100644 FppTest/port/no_return_ports.fpp delete mode 100644 FppTest/port/return_ports.fpp delete mode 100644 FppTest/port/test/ut/TestMain.cpp delete mode 100644 FppTest/port/test/ut/Tester.cpp delete mode 100644 FppTest/port/test/ut/Tester.hpp create mode 100644 FppTest/typed_tests/ComponentTest.hpp diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index 49dcb2d512..f6a309745b 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -206,12 +206,12 @@ coldarm colno COLORSTYLE colorwheel +COMBUFFER comlogger COMMANDDISPATCHERIMPL COMMANDDISPATCHERIMPLCFG commandline commasepitem -COMBUFFER commonpath COMPACKET COMPONENTTESTERIMPL @@ -240,9 +240,9 @@ Cpkt cplusplus CPOL cpos +cppcheck cppcheckxml cpplint -cppcheck cppreference cprogramming cpuset @@ -275,13 +275,13 @@ csum ctest ctime CTORS +ctu CTX ctype culates curdir curmsgs cuz -ctu cwd CYCLEOUT cygwin @@ -457,8 +457,11 @@ ethanchee etime ETIMEDOUT eturn +EVENTARRAY +EVENTBOOL EVENTID eventname +EVENTPRIMITIVE evr evt EXAMPLECOMPONENTIMPL @@ -901,8 +904,8 @@ mul multiarch multioptionals multirequired -multline multitool +multline munmap mutex mutexattr @@ -1026,8 +1029,14 @@ packetizer Packetizing Paetz Pandian +PARAMARRAY +PARAMBOOL PARAMDOC +PARAMENUM params +PARAMSTRING +PARAMSTRUCT +PARAMU PARENB PARODD parseable @@ -1301,8 +1310,8 @@ Sinha SIZ sizeof sloc -Smath smallsat +Smath SNDTIMEO snprintf sockaddr @@ -1334,8 +1343,8 @@ srand srandom srange src -srcs SRCS +srcs sre sscanf ssh @@ -1569,6 +1578,7 @@ UNEXP unexport unicode UNINIT +UNINSTANTIATED uniq unistd Unithem @@ -1659,8 +1669,8 @@ wxgui Xabcdefx xapian xargs -Xcode XBee +Xcode xcode xdf xdffe diff --git a/FppTest/CMakeLists.txt b/FppTest/CMakeLists.txt index 56f0f486fc..efbf5a1f96 100644 --- a/FppTest/CMakeLists.txt +++ b/FppTest/CMakeLists.txt @@ -15,7 +15,7 @@ if (BUILD_TESTING AND NOT __FPRIME_NO_UT_GEN__) add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/enum/") add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/array/") add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/struct/") - add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/port/") + add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/component/") endif() set(SOURCE_FILES "source.cpp") @@ -23,7 +23,10 @@ set(MOD_DEPS ${PROJECT_NAME}/enum ${PROJECT_NAME}/array ${PROJECT_NAME}/struct - ${PROJECT_NAME}/port + ${PROJECT_NAME}/component/empty + ${PROJECT_NAME}/component/active + ${PROJECT_NAME}/component/queued + ${PROJECT_NAME}/component/passive ) register_fprime_deployment() diff --git a/FppTest/array/FormatTest.cpp b/FppTest/array/FormatTest.cpp index 59ab523fd5..4cda42e8e9 100644 --- a/FppTest/array/FormatTest.cpp +++ b/FppTest/array/FormatTest.cpp @@ -266,7 +266,7 @@ TEST_F(FormatTest, String) { TEST_F(FormatTest, Char) { U8 testVals[FormatChar::SIZE] = - {FppTest::Utils::getU8(), FppTest::Utils::getU8(), FppTest::Utils::getU8()}; + {FppTest::Utils::getNonzeroU8(), FppTest::Utils::getNonzeroU8(), FppTest::Utils::getNonzeroU8()}; FormatChar a(testVals); buf1 << a; diff --git a/FppTest/array/main.cpp b/FppTest/array/main.cpp index 856fcc1f45..45760e5b38 100644 --- a/FppTest/array/main.cpp +++ b/FppTest/array/main.cpp @@ -71,9 +71,9 @@ void FppTest::Array::setTestVals(S (&a)[Struct::SIZE]) { U32 b[3]; for (U32 i = 0; i < Struct::SIZE; i++) { for (U32 j = 0; j < 3; j++) { - b[j] = FppTest::Utils::getU32(); + b[j] = FppTest::Utils::getNonzeroU32(); } - a[i].set(FppTest::Utils::getU32(), b); + a[i].set(FppTest::Utils::getNonzeroU32(), b); } } @@ -82,7 +82,7 @@ void FppTest::Array::setTestVals(Uint32 (&a)[Uint32Array::SIZE]) { Uint32 b; for (U32 i = 0; i < Uint32Array::SIZE; i++) { for (U32 j = 0; j < Uint32::SIZE; j++) { - b[j] = FppTest::Utils::getU32(); + b[j] = FppTest::Utils::getNonzeroU32(); } a[i] = b; } diff --git a/FppTest/component/CMakeLists.txt b/FppTest/component/CMakeLists.txt new file mode 100644 index 0000000000..9c98983e0b --- /dev/null +++ b/FppTest/component/CMakeLists.txt @@ -0,0 +1,8 @@ +# ====================================================================== +# CMakeLists.txt +# ====================================================================== + +add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/empty/") +add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/active/") +add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/queued/") +add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/passive/") diff --git a/FppTest/component/README.md b/FppTest/component/README.md new file mode 100644 index 0000000000..6d89772c69 --- /dev/null +++ b/FppTest/component/README.md @@ -0,0 +1,9 @@ +# FppTest/component + +This directory contains unit tests for the FPP component code generator. + +To use this directory, you must have installed F Prime, and you must be inside +the F Prime Python virtual environment. + +* To build the tests, run `fprime-util build --ut`. +* To run the tests, run `fprime-util check`. diff --git a/FppTest/component/active/ActiveTest.cpp b/FppTest/component/active/ActiveTest.cpp new file mode 100644 index 0000000000..1a82380e39 --- /dev/null +++ b/FppTest/component/active/ActiveTest.cpp @@ -0,0 +1,698 @@ +// ====================================================================== +// \title ActiveTest.cpp +// \author tiffany +// \brief cpp file for ActiveTest component implementation class +// ====================================================================== + + +#include "ActiveTest.hpp" +#include + +#include "FppTest/component/active/SerialPortIndexEnumAc.hpp" + + // ---------------------------------------------------------------------- + // Construction, initialization, and destruction + // ---------------------------------------------------------------------- + + ActiveTest :: + ActiveTest( + const char *const compName + ) : ActiveTestComponentBase(compName) + { + + } + + void ActiveTest :: + init( + NATIVE_INT_TYPE queueDepth, + NATIVE_INT_TYPE msgSize, + NATIVE_INT_TYPE instance + ) + { + ActiveTestComponentBase::init(queueDepth, msgSize, instance); + } + + ActiveTest :: + ~ActiveTest() + { + + } + + // ---------------------------------------------------------------------- + // Handler implementations for user-defined typed input ports + // ---------------------------------------------------------------------- + + void ActiveTest :: + arrayArgsAsync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamArray &a, + FormalParamArray &aRef + ) + { + this->arrayArgsOut_out(portNum, a, aRef); + } + + void ActiveTest :: + enumArgsAsync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamEnum &en, + FormalParamEnum &enRef + ) + { + this->enumArgsOut_out(portNum, en, enRef); + } + + void ActiveTest :: + noArgsAsync_handler( + const NATIVE_INT_TYPE portNum + ) + { + this->noArgsOut_out(portNum); + } + + void ActiveTest :: + primitiveArgsAsync_handler( + const NATIVE_INT_TYPE portNum, + U32 u32, + U32 &u32Ref, + F32 f32, + F32 &f32Ref, + bool b, + bool &bRef + ) + { + this->primitiveArgsOut_out( + portNum, + u32, + u32Ref, + f32, + f32Ref, + b, + bRef + ); + } + + void ActiveTest :: + structArgsAsync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamStruct &s, + FormalParamStruct &sRef + ) + { + this->structArgsOut_out(portNum, s, sRef); + } + void ActiveTest :: + stringArgsAsync_handler( + const NATIVE_INT_TYPE portNum, + const str80String &str80, + str80RefString &str80Ref, + const str100String &str100, + str100RefString &str100Ref + ) + { + this->stringArgsOut_out( + portNum, + str80, + str80Ref, + str100, + str100Ref + ); + } + + void ActiveTest :: + arrayArgsGuarded_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamArray &a, + FormalParamArray &aRef + ) + { + this->arrayArgsOut_out(portNum, a, aRef); + } + + void ActiveTest :: + arrayArgsSync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamArray &a, + FormalParamArray &aRef + ) + { + this->arrayArgsOut_out(portNum, a, aRef); + } + + FormalParamArray ActiveTest :: + arrayReturnGuarded_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamArray &a, + FormalParamArray &aRef + ) + { + return this->arrayReturnOut_out(portNum, a, aRef); + } + + FormalParamArray ActiveTest :: + arrayReturnSync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamArray &a, + FormalParamArray &aRef + ) + { + return this->arrayReturnOut_out(portNum, a, aRef); + } + + void ActiveTest :: + cmdOut_handler( + NATIVE_INT_TYPE portNum, + FwOpcodeType opCode, + U32 cmdSeq, + Fw::CmdArgBuffer& args + ) + { + } + + void ActiveTest :: + enumArgsGuarded_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamEnum &en, + FormalParamEnum &enRef + ) + { + this->enumArgsOut_out(portNum, en, enRef); + } + + void ActiveTest :: + enumArgsSync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamEnum &en, + FormalParamEnum &enRef + ) + { + this->enumArgsOut_out(portNum, en, enRef); + } + + FormalParamEnum ActiveTest :: + enumReturnGuarded_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamEnum &en, + FormalParamEnum &enRef + ) + { + return this->enumReturnOut_out(portNum, en, enRef); + } + + FormalParamEnum ActiveTest :: + enumReturnSync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamEnum &en, + FormalParamEnum &enRef + ) + { + return this->enumReturnOut_out(portNum, en, enRef); + } + + void ActiveTest :: + noArgsGuarded_handler( + const NATIVE_INT_TYPE portNum + ) + { + this->noArgsOut_out(portNum); + } + + bool ActiveTest :: + noArgsReturnGuarded_handler( + const NATIVE_INT_TYPE portNum + ) + { + return this->noArgsReturnOut_out(portNum); + } + + bool ActiveTest :: + noArgsReturnSync_handler( + const NATIVE_INT_TYPE portNum + ) + { + return this->noArgsReturnOut_out(portNum); + } + + void ActiveTest :: + noArgsSync_handler( + const NATIVE_INT_TYPE portNum + ) + { + this->noArgsOut_out(portNum); + } + + void ActiveTest :: + primitiveArgsGuarded_handler( + const NATIVE_INT_TYPE portNum, + U32 u32, + U32 &u32Ref, + F32 f32, + F32 &f32Ref, + bool b, + bool &bRef + ) + { + this->primitiveArgsOut_out( + portNum, + u32, + u32Ref, + f32, + f32Ref, + b, + bRef + ); + } + + void ActiveTest :: + primitiveArgsSync_handler( + const NATIVE_INT_TYPE portNum, + U32 u32, + U32 &u32Ref, + F32 f32, + F32 &f32Ref, + bool b, + bool &bRef + ) + { + this->primitiveArgsOut_out( + portNum, + u32, + u32Ref, + f32, + f32Ref, + b, + bRef + ); + } + + U32 ActiveTest :: + primitiveReturnGuarded_handler( + const NATIVE_INT_TYPE portNum, + U32 u32, + U32 &u32Ref, + F32 f32, + F32 &f32Ref, + bool b, + bool &bRef + ) + { + return this->primitiveReturnOut_out( + portNum, + u32, + u32Ref, + f32, + f32Ref, + b, + bRef + ); + } + + U32 ActiveTest :: + primitiveReturnSync_handler( + const NATIVE_INT_TYPE portNum, + U32 u32, + U32 &u32Ref, + F32 f32, + F32 &f32Ref, + bool b, + bool &bRef + ) + { + return this->primitiveReturnOut_out( + portNum, + u32, + u32Ref, + f32, + f32Ref, + b, + bRef + ); + } + + void ActiveTest :: + stringArgsGuarded_handler( + const NATIVE_INT_TYPE portNum, + const str80String &str80, + str80RefString &str80Ref, + const str100String &str100, + str100RefString &str100Ref + ) + { + this->stringArgsOut_out( + portNum, + str80, + str80Ref, + str100, + str100Ref + ); + } + + void ActiveTest :: + stringArgsSync_handler( + const NATIVE_INT_TYPE portNum, + const str80String &str80, + str80RefString &str80Ref, + const str100String &str100, + str100RefString &str100Ref + ) + { + this->stringArgsOut_out( + portNum, + str80, + str80Ref, + str100, + str100Ref + ); + } + + void ActiveTest :: + structArgsGuarded_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamStruct &s, + FormalParamStruct &sRef + ) + { + this->structArgsOut_out(portNum, s, sRef); + } + + void ActiveTest :: + structArgsSync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamStruct &s, + FormalParamStruct &sRef + ) + { + this->structArgsOut_out(portNum, s, sRef); + } + + FormalParamStruct ActiveTest :: + structReturnGuarded_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamStruct &s, + FormalParamStruct &sRef + ) + { + return this->structReturnOut_out(portNum, s, sRef); + } + + FormalParamStruct ActiveTest :: + structReturnSync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamStruct &s, + FormalParamStruct &sRef + ) + { + return this->structReturnOut_out(portNum, s, sRef); + } + + // ---------------------------------------------------------------------- + // Handler implementations for user-defined serial input ports + // ---------------------------------------------------------------------- + + void ActiveTest :: + serialAsync_handler( + NATIVE_INT_TYPE portNum, /*!< The port number*/ + Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ + ) + { + this->serializeStatus = this->serialOut_out(portNum, Buffer); + } + + void ActiveTest :: + serialAsyncAssert_handler( + NATIVE_INT_TYPE portNum, /*!< The port number*/ + Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ + ) + { + this->serializeStatus = this->serialOut_out(SerialPortIndex::ENUM, Buffer); + } + + void ActiveTest :: + serialAsyncBlockPriority_handler( + NATIVE_INT_TYPE portNum, /*!< The port number*/ + Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ + ) + { + this->serializeStatus = this->serialOut_out(SerialPortIndex::ARRAY, Buffer); + } + + void ActiveTest :: + serialAsyncDropPriority_handler( + NATIVE_INT_TYPE portNum, /*!< The port number*/ + Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ + ) + { + this->serializeStatus = this->serialOut_out(SerialPortIndex::STRUCT, Buffer); + } + + void ActiveTest :: + serialGuarded_handler( + NATIVE_INT_TYPE portNum, /*!< The port number*/ + Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ + ) + { + this->serializeStatus = this->serialOut_out(portNum, Buffer); + } + + void ActiveTest :: + serialSync_handler( + NATIVE_INT_TYPE portNum, /*!< The port number*/ + Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ + ) + { + this->serializeStatus = this->serialOut_out(portNum, Buffer); + } + + // ---------------------------------------------------------------------- + // Command handler implementations + // ---------------------------------------------------------------------- + + void ActiveTest :: + CMD_ASYNC_NO_ARGS_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq + ) + { + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void ActiveTest :: + CMD_ASYNC_PRIMITIVE_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + U32 u32_1, + U32 u32_2, + F32 f32_1, + F32 f32_2, + bool b1, + bool b2 + ) + { + this->primitiveCmd.args.val1 = u32_1; + this->primitiveCmd.args.val2 = u32_2; + this->primitiveCmd.args.val3 = f32_1; + this->primitiveCmd.args.val4 = f32_2; + this->primitiveCmd.args.val5 = b1; + this->primitiveCmd.args.val6 = b2; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void ActiveTest :: + CMD_ASYNC_STRINGS_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + const Fw::CmdStringArg& str1, + const Fw::CmdStringArg& str2 + ) + { + this->stringCmd.args.val1 = str1; + this->stringCmd.args.val2 = str2; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void ActiveTest :: + CMD_ASYNC_ENUM_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + FormalParamEnum en + ) + { + this->enumCmd.args.val = en; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void ActiveTest :: + CMD_ASYNC_ARRAY_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + FormalParamArray arr + ) + { + this->arrayCmd.args.val = arr; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void ActiveTest :: + CMD_ASYNC_STRUCT_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + FormalParamStruct str + ) + { + this->structCmd.args.val = str; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void ActiveTest :: + CMD_NO_ARGS_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq + ) + { + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void ActiveTest :: + CMD_PRIMITIVE_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + U32 u32_1, + U32 u32_2, + F32 f32_1, + F32 f32_2, + bool b1, + bool b2 + ) + { + this->primitiveCmd.args.val1 = u32_1; + this->primitiveCmd.args.val2 = u32_2; + this->primitiveCmd.args.val3 = f32_1; + this->primitiveCmd.args.val4 = f32_2; + this->primitiveCmd.args.val5 = b1; + this->primitiveCmd.args.val6 = b2; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void ActiveTest :: + CMD_STRINGS_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + const Fw::CmdStringArg& str1, + const Fw::CmdStringArg& str2 + ) + { + this->stringCmd.args.val1 = str1; + this->stringCmd.args.val2 = str2; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void ActiveTest :: + CMD_ENUM_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + FormalParamEnum en + ) + { + this->enumCmd.args.val = en; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void ActiveTest :: + CMD_ARRAY_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + FormalParamArray arr + ) + { + this->arrayCmd.args.val = arr; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void ActiveTest :: + CMD_STRUCT_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + FormalParamStruct str + ) + { + this->structCmd.args.val = str; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + // ---------------------------------------------------------------------- + // Internal interface handlers + // ---------------------------------------------------------------------- + + //! Internal interface handler for internalArray + void ActiveTest :: + internalArray_internalInterfaceHandler( + const FormalParamArray& arr //!< An array + ) + { + this->arrayInterface.args.val = arr; + } + + //! Internal interface handler for internalEnum + void ActiveTest :: + internalEnum_internalInterfaceHandler( + const FormalParamEnum& en //!< An enum + ) + { + this->enumInterface.args.val = en; + } + + //! Internal interface handler for internalNoArgs + void ActiveTest :: + internalNoArgs_internalInterfaceHandler() + { + } + + //! Internal interface handler for internalPrimitive + void ActiveTest :: + internalPrimitive_internalInterfaceHandler( + U32 u32_1, //!< A U32 + U32 u32_2, //!< A U32 + F32 f32_1, //!< An F32 + F32 f32_2, //!< An F32 + bool b1, //!< A boolean + bool b2 //!< A boolean + ) + { + this->primitiveInterface.args.val1 = u32_1; + this->primitiveInterface.args.val2 = u32_2; + this->primitiveInterface.args.val3 = f32_1; + this->primitiveInterface.args.val4 = f32_2; + this->primitiveInterface.args.val5 = b1; + this->primitiveInterface.args.val6 = b2; + } + + //! Internal interface handler for internalString + void ActiveTest :: + internalString_internalInterfaceHandler( + const Fw::InternalInterfaceString& str1, //!< A string + const Fw::InternalInterfaceString& str2 //!< Another string + ) + { + this->stringInterface.args.val1 = str1; + this->stringInterface.args.val2 = str2; + } + + //! Internal interface handler for internalStruct + void ActiveTest :: + internalStruct_internalInterfaceHandler( + const FormalParamStruct& str //!< A struct + ) + { + this->structInterface.args.val = str; + } + diff --git a/FppTest/component/active/ActiveTest.hpp b/FppTest/component/active/ActiveTest.hpp new file mode 100644 index 0000000000..91905d665f --- /dev/null +++ b/FppTest/component/active/ActiveTest.hpp @@ -0,0 +1,469 @@ +// ====================================================================== +// \title ActiveTest.hpp +// \author tiffany +// \brief hpp file for ActiveTest component implementation class +// ====================================================================== + +#ifndef ActiveTest_HPP +#define ActiveTest_HPP + +#include "FppTest/component/active/ActiveTestComponentAc.hpp" +#include "FppTest/component/types/FormalParamTypes.hpp" + + +class ActiveTest : + public ActiveTestComponentBase +{ + + public: + + // ---------------------------------------------------------------------- + // Component construction and destruction + // ---------------------------------------------------------------------- + + //! Construct ActiveTest object + ActiveTest( + const char* const compName //!< The component name + ); + + //! Initialize ActiveTest object + void init( + NATIVE_INT_TYPE queueDepth, //!< The queue depth + NATIVE_INT_TYPE msgSize, //!< The message size + NATIVE_INT_TYPE instance = 0 //!< The instance number + ); + + //! Destroy ActiveTest object + ~ActiveTest(); + + PRIVATE: + + // ---------------------------------------------------------------------- + // Handler implementations for user-defined typed input ports + // ---------------------------------------------------------------------- + + //! Handler implementation for arrayArgsAsync + void arrayArgsAsync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamArray& a, //!< An array + FormalParamArray& aRef //!< An array ref + ); + + //! Handler implementation for arrayArgsGuarded + void arrayArgsGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamArray& a, //!< An array + FormalParamArray& aRef //!< An array ref + ); + + //! Handler implementation for arrayArgsSync + void arrayArgsSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamArray& a, //!< An array + FormalParamArray& aRef //!< An array ref + ); + + //! Handler implementation for arrayReturnGuarded + FormalParamArray arrayReturnGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamArray& a, //!< An array + FormalParamArray& aRef //!< An array ref + ); + + //! Handler implementation for arrayReturnSync + FormalParamArray arrayReturnSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamArray& a, //!< An array + FormalParamArray& aRef //!< An array ref + ); + + //! Handler implementation for cmdOut + void cmdOut_handler( + NATIVE_INT_TYPE portNum, //!< The port number + FwOpcodeType opCode, //!< Command Op Code + U32 cmdSeq, //!< Command Sequence + Fw::CmdArgBuffer& args //!< Buffer containing arguments + ); + + //! Handler implementation for enumArgsAsync + void enumArgsAsync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamEnum& en, //!< An enum + FormalParamEnum& enRef //!< An enum ref + ); + + //! Handler implementation for enumArgsGuarded + void enumArgsGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamEnum& en, //!< An enum + FormalParamEnum& enRef //!< An enum ref + ); + + //! Handler implementation for enumArgsSync + void enumArgsSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamEnum& en, //!< An enum + FormalParamEnum& enRef //!< An enum ref + ); + + //! Handler implementation for enumReturnGuarded + FormalParamEnum enumReturnGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamEnum& en, //!< An enum + FormalParamEnum& enRef //!< An enum ref + ); + + //! Handler implementation for enumReturnSync + FormalParamEnum enumReturnSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamEnum& en, //!< An enum + FormalParamEnum& enRef //!< An enum ref + ); + + //! Handler implementation for noArgsAsync + void noArgsAsync_handler( + NATIVE_INT_TYPE portNum //!< The port number + ); + + //! Handler implementation for noArgsGuarded + void noArgsGuarded_handler( + NATIVE_INT_TYPE portNum //!< The port number + ); + + //! Handler implementation for noArgsReturnGuarded + bool noArgsReturnGuarded_handler( + NATIVE_INT_TYPE portNum //!< The port number + ); + + //! Handler implementation for noArgsReturnSync + bool noArgsReturnSync_handler( + NATIVE_INT_TYPE portNum //!< The port number + ); + + //! Handler implementation for noArgsSync + void noArgsSync_handler( + NATIVE_INT_TYPE portNum //!< The port number + ); + + //! Handler implementation for primitiveArgsAsync + void primitiveArgsAsync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + U32 u32, + U32& u32Ref, + F32 f32, + F32& f32Ref, + bool b, + bool& bRef + ); + + //! Handler implementation for primitiveArgsGuarded + void primitiveArgsGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + U32 u32, + U32& u32Ref, + F32 f32, + F32& f32Ref, + bool b, + bool& bRef + ); + + //! Handler implementation for primitiveArgsSync + void primitiveArgsSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + U32 u32, + U32& u32Ref, + F32 f32, + F32& f32Ref, + bool b, + bool& bRef + ); + + //! Handler implementation for primitiveReturnGuarded + U32 primitiveReturnGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + U32 u32, + U32& u32Ref, + F32 f32, + F32& f32Ref, + bool b, + bool& bRef + ); + + //! Handler implementation for primitiveReturnSync + U32 primitiveReturnSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + U32 u32, + U32& u32Ref, + F32 f32, + F32& f32Ref, + bool b, + bool& bRef + ); + + //! Handler implementation for stringArgsAsync + void stringArgsAsync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const StringArgsPortStrings::StringSize80& str80, //!< A string of size 80 + StringArgsPortStrings::StringSize80& str80Ref, + const StringArgsPortStrings::StringSize100& str100, //!< A string of size 100 + StringArgsPortStrings::StringSize100& str100Ref + ); + + //! Handler implementation for stringArgsGuarded + void stringArgsGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const StringArgsPortStrings::StringSize80& str80, //!< A string of size 80 + StringArgsPortStrings::StringSize80& str80Ref, + const StringArgsPortStrings::StringSize100& str100, //!< A string of size 100 + StringArgsPortStrings::StringSize100& str100Ref + ); + + //! Handler implementation for stringArgsSync + void stringArgsSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const StringArgsPortStrings::StringSize80& str80, //!< A string of size 80 + StringArgsPortStrings::StringSize80& str80Ref, + const StringArgsPortStrings::StringSize100& str100, //!< A string of size 100 + StringArgsPortStrings::StringSize100& str100Ref + ); + + //! Handler implementation for structArgsAsync + void structArgsAsync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamStruct& s, //!< A struct + FormalParamStruct& sRef //!< A struct ref + ); + + //! Handler implementation for structArgsGuarded + void structArgsGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamStruct& s, //!< A struct + FormalParamStruct& sRef //!< A struct ref + ); + + //! Handler implementation for structArgsSync + void structArgsSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamStruct& s, //!< A struct + FormalParamStruct& sRef //!< A struct ref + ); + + //! Handler implementation for structReturnGuarded + FormalParamStruct structReturnGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamStruct& s, //!< A struct + FormalParamStruct& sRef //!< A struct ref + ); + + //! Handler implementation for structReturnSync + FormalParamStruct structReturnSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamStruct& s, //!< A struct + FormalParamStruct& sRef //!< A struct ref + ); + + PRIVATE: + + // ---------------------------------------------------------------------- + // Handler implementations for user-defined serial input ports + // ---------------------------------------------------------------------- + + //! Handler implementation for serialAsync + void serialAsync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + Fw::SerializeBufferBase& buffer //!< The serialization buffer + ); + + //! Handler implementation for serialAsyncAssert + void serialAsyncAssert_handler( + NATIVE_INT_TYPE portNum, //!< The port number + Fw::SerializeBufferBase& buffer //!< The serialization buffer + ); + + //! Handler implementation for serialAsyncBlockPriority + void serialAsyncBlockPriority_handler( + NATIVE_INT_TYPE portNum, //!< The port number + Fw::SerializeBufferBase& buffer //!< The serialization buffer + ); + + //! Handler implementation for serialAsyncDropPriority + void serialAsyncDropPriority_handler( + NATIVE_INT_TYPE portNum, //!< The port number + Fw::SerializeBufferBase& buffer //!< The serialization buffer + ); + + //! Handler implementation for serialGuarded + void serialGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + Fw::SerializeBufferBase& buffer //!< The serialization buffer + ); + + //! Handler implementation for serialSync + void serialSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + Fw::SerializeBufferBase& buffer //!< The serialization buffer + ); + + PRIVATE: + + // ---------------------------------------------------------------------- + // Handler implementations for commands + // ---------------------------------------------------------------------- + + //! Handler implementation for command CMD_NO_ARGS + void CMD_NO_ARGS_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq //!< The command sequence number + ); + + //! Handler implementation for command CMD_PRIMITIVE + void CMD_PRIMITIVE_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + U32 u32_1, //!< A U32 + U32 u32_2, //!< A U32 + F32 f32_1, //!< An F32 + F32 f32_2, //!< An F32 + bool b1, //!< A boolean + bool b2 //!< A boolean + ); + + //! Handler implementation for command CMD_STRINGS + void CMD_STRINGS_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + const Fw::CmdStringArg& str1, //!< A string + const Fw::CmdStringArg& str2 //!< Another string + ); + + //! Handler implementation for command CMD_ENUM + void CMD_ENUM_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + FormalParamEnum en //!< An enum + ); + + //! Handler implementation for command CMD_ARRAY + void CMD_ARRAY_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + FormalParamArray arr //!< An array + ); + + //! Handler implementation for command CMD_STRUCT + void CMD_STRUCT_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + FormalParamStruct str //!< A struct + ); + + //! Handler implementation for command CMD_ASYNC_NO_ARGS + void CMD_ASYNC_NO_ARGS_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq //!< The command sequence number + ); + + //! Handler implementation for command CMD_ASYNC_PRIMITIVE + void CMD_ASYNC_PRIMITIVE_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + U32 u32_1, //!< A U32 + U32 u32_2, //!< A U32 + F32 f32_1, //!< An F32 + F32 f32_2, //!< An F32 + bool b1, //!< A boolean + bool b2 //!< A boolean + ); + + //! Handler implementation for command CMD_ASYNC_STRINGS + void CMD_ASYNC_STRINGS_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + const Fw::CmdStringArg& str1, //!< A string + const Fw::CmdStringArg& str2 //!< Another string + ); + + //! Handler implementation for command CMD_ASYNC_ENUM + void CMD_ASYNC_ENUM_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + FormalParamEnum en //!< An enum + ); + + //! Handler implementation for command CMD_ASYNC_ARRAY + void CMD_ASYNC_ARRAY_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + FormalParamArray arr //!< An array + ); + + //! Handler implementation for command CMD_ASYNC_STRUCT + void CMD_ASYNC_STRUCT_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + FormalParamStruct str //!< A struct + ); + + PRIVATE: + + // ---------------------------------------------------------------------- + // Handler implementations for user-defined internal interfaces + // ---------------------------------------------------------------------- + + //! Handler implementation for internalArray + void internalArray_internalInterfaceHandler( + const FormalParamArray& arr //!< An array + ); + + //! Handler implementation for internalEnum + void internalEnum_internalInterfaceHandler( + const FormalParamEnum& en //!< An enum + ); + + //! Handler implementation for internalNoArgs + void internalNoArgs_internalInterfaceHandler(); + + //! Handler implementation for internalPrimitive + void internalPrimitive_internalInterfaceHandler( + U32 u32_1, //!< A U32 + U32 u32_2, //!< A U32 + F32 f32_1, //!< An F32 + F32 f32_2, //!< An F32 + bool b1, //!< A boolean + bool b2 //!< A boolean + ); + + //! Handler implementation for internalString + void internalString_internalInterfaceHandler( + const Fw::InternalInterfaceString& str1, //!< A string + const Fw::InternalInterfaceString& str2 //!< Another string + ); + + //! Handler implementation for internalStruct + void internalStruct_internalInterfaceHandler( + const FormalParamStruct& str //!< A struct + ); + + public: + + //! Enables checking the serialization status of serial port invocations + Fw::SerializeStatus serializeStatus; + + // Command test values + FppTest::Types::PrimitiveParams primitiveCmd; + FppTest::Types::CmdStringParams stringCmd; + FppTest::Types::EnumParam enumCmd; + FppTest::Types::ArrayParam arrayCmd; + FppTest::Types::StructParam structCmd; + + // Internal interface test values + FppTest::Types::PrimitiveParams primitiveInterface; + FppTest::Types::InternalInterfaceStringParams stringInterface; + FppTest::Types::EnumParam enumInterface; + FppTest::Types::ArrayParam arrayInterface; + FppTest::Types::StructParam structInterface; + +}; + + +#endif diff --git a/FppTest/component/active/CMakeLists.txt b/FppTest/component/active/CMakeLists.txt new file mode 100644 index 0000000000..a88faac320 --- /dev/null +++ b/FppTest/component/active/CMakeLists.txt @@ -0,0 +1,57 @@ +# ====================================================================== +# CMakeLists.txt +# ====================================================================== + +set(SOURCE_FILES + "${CMAKE_CURRENT_LIST_DIR}/active.fpp" + "${CMAKE_CURRENT_LIST_DIR}/port_types.fpp" + "${CMAKE_CURRENT_LIST_DIR}/port_index_enums.fpp" + "${CMAKE_CURRENT_LIST_DIR}/fpp_types.fpp" + "${CMAKE_CURRENT_LIST_DIR}/ActiveTest.cpp" +) + +register_fprime_module() + +# Sets MODULE_NAME to unique name based on path +get_module_name(${CMAKE_CURRENT_LIST_DIR}) + +# Exclude test module from all build +set_target_properties( + ${MODULE_NAME} + PROPERTIES + EXCLUDE_FROM_ALL TRUE +) + +# Declare dependencies on test modules +set(UT_MOD_DEPS + Fw/Test + STest +) + +# Add unit test directory +# UT_SOURCE_FILES: Sources for unit test +set(UT_SOURCE_FILES + "${CMAKE_CURRENT_LIST_DIR}/active.fpp" + "${CMAKE_CURRENT_LIST_DIR}/port_types.fpp" + "${CMAKE_CURRENT_LIST_DIR}/port_index_enums.fpp" + "${CMAKE_CURRENT_LIST_DIR}/fpp_types.fpp" + "${CMAKE_CURRENT_LIST_DIR}/test/ut/Tester.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/TestMain.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/Tests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/TesterHandlers.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/TesterHelpers.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/PortTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/CmdTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/EventTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/TlmTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/ParamTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/TimeTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/InternalInterfaceTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/AsyncTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/AsyncTesterHelpers.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/AsyncPortTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/AsyncCmdTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../types/FormalParamTypes.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../../utils/Utils.cpp" +) +register_fprime_ut() diff --git a/FppTest/component/active/active.fpp b/FppTest/component/active/active.fpp new file mode 100644 index 0000000000..dfe555cb88 --- /dev/null +++ b/FppTest/component/active/active.fpp @@ -0,0 +1,17 @@ +@ An active component +active component ActiveTest { + + include "../include/typed_ports.fppi" + include "../include/typed_ports_async.fppi" + include "../include/serial_ports.fppi" + include "../include/serial_ports_async.fppi" + include "../include/special_ports.fppi" + include "../include/internal_ports.fppi" + + include "../include/commands.fppi" + include "../include/commands_async.fppi" + include "../include/events.fppi" + include "../include/telemetry.fppi" + include "../include/params.fppi" + +} diff --git a/FppTest/component/active/fpp_types.fpp b/FppTest/component/active/fpp_types.fpp new file mode 100644 index 0000000000..6942d38fef --- /dev/null +++ b/FppTest/component/active/fpp_types.fpp @@ -0,0 +1,5 @@ +enum FormalParamEnum { X, Y, Z } + +array FormalParamArray = [3] U32 + +struct FormalParamStruct { x: U32, y: string } diff --git a/FppTest/port/port_index_enums.fpp b/FppTest/component/active/port_index_enums.fpp similarity index 93% rename from FppTest/port/port_index_enums.fpp rename to FppTest/component/active/port_index_enums.fpp index 141eb45668..e290788142 100644 --- a/FppTest/port/port_index_enums.fpp +++ b/FppTest/component/active/port_index_enums.fpp @@ -10,5 +10,4 @@ enum SerialPortIndex { ENUM ARRAY STRUCT - SERIAL } diff --git a/FppTest/component/active/port_types.fpp b/FppTest/component/active/port_types.fpp new file mode 100644 index 0000000000..a89decb438 --- /dev/null +++ b/FppTest/component/active/port_types.fpp @@ -0,0 +1,79 @@ +@ A port with no arguments +port NoArgs + +@ A port with primitive arguments +port PrimitiveArgs( + u32: U32 + ref u32Ref: U32 + f32: F32 + ref f32Ref: F32 + b: bool + ref bRef: bool +) + +@ A port with string arguments +port StringArgs( + str80: string @< A string of size 80 + ref str80Ref: string + str100: string size 100 @< A string of size 100 + ref str100Ref: string size 100 +) + +@ A port with enum arguments +port EnumArgs( + en: FormalParamEnum @< An enum + ref enRef: FormalParamEnum @< An enum ref +) + +@ A port with array arguments +port ArrayArgs( + a: FormalParamArray @< An array + ref aRef: FormalParamArray @< An array ref +) + +@ A port with struct arguments +port StructArgs( + s: FormalParamStruct @< A struct + ref sRef: FormalParamStruct @< A struct ref +) + +@ A port with no arguments +port NoArgsReturn -> bool + +@ A port returning a primitive type +port PrimitiveReturn( + u32: U32 + ref u32Ref: U32 + f32: F32 + ref f32Ref: F32 + b: bool + ref bRef: bool +) -> U32 + +# Commented out because of bug in Python component autocoder +# Will be tested with the FPP component autocoder +# @ A port returning a string type +# port StringReturn( +# str80: string @< A string of size 80 +# ref str80Ref: string +# str100: string size 100 @< A string of size 100 +# ref str100Ref: string size 100 +# ) -> string + +@ A port returning an enum type +port EnumReturn( + en: FormalParamEnum @< An enum + ref enRef: FormalParamEnum @< An enum ref +) -> FormalParamEnum + +@ A port returning an array type +port ArrayReturn( + a: FormalParamArray @< An array + ref aRef: FormalParamArray @< An array ref +) -> FormalParamArray + +@ A port returning a struct type +port StructReturn( + s: FormalParamStruct @< A struct + ref sRef: FormalParamStruct @< A struct ref +) -> FormalParamStruct diff --git a/FppTest/component/active/test/ut/Tester.cpp b/FppTest/component/active/test/ut/Tester.cpp new file mode 100644 index 0000000000..70908d6262 --- /dev/null +++ b/FppTest/component/active/test/ut/Tester.cpp @@ -0,0 +1,120 @@ +// ====================================================================== +// \title ActiveTest/test/ut/Tester.cpp +// \author tiffany +// \brief cpp file for ActiveTest test harness implementation class +// ====================================================================== + +#include "STest/Pick/Pick.hpp" +#include "test/ut/Tester.hpp" + +// ---------------------------------------------------------------------- +// Construction and destruction +// ---------------------------------------------------------------------- + +Tester ::Tester() + : ActiveTestGTestBase("Tester", Tester::MAX_HISTORY_SIZE), + component("ActiveTest"), + primitiveBuf(primitiveData, sizeof(primitiveData)), + stringBuf(stringData, sizeof(stringData)), + enumBuf(enumData, sizeof(enumData)), + arrayBuf(arrayData, sizeof(arrayData)), + structBuf(structData, sizeof(structData)), + serialBuf(serialData, sizeof(serialData)), + time(STest::Pick::any(), STest::Pick::any()) { + this->initComponents(); + this->connectPorts(); + this->connectAsyncPorts(); +} + +Tester ::~Tester() {} + +void Tester ::initComponents() { + this->init(); + this->component.init(Tester::TEST_INSTANCE_QUEUE_DEPTH, Tester::TEST_INSTANCE_ID); +} + +Fw::ParamValid Tester ::from_prmGetIn_handler(const NATIVE_INT_TYPE portNum, FwPrmIdType id, Fw::ParamBuffer& val) { + val.resetSer(); + + Fw::SerializeStatus status; + U32 id_base = component.getIdBase(); + + FW_ASSERT(id >= id_base); + + switch (id - id_base) { + case ActiveTestComponentBase::PARAMID_PARAMBOOL: + status = val.serialize(boolPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case ActiveTestComponentBase::PARAMID_PARAMU32: + status = val.serialize(u32Prm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case ActiveTestComponentBase::PARAMID_PARAMSTRING: + status = val.serialize(stringPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case ActiveTestComponentBase::PARAMID_PARAMENUM: + status = val.serialize(enumPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case ActiveTestComponentBase::PARAMID_PARAMARRAY: + status = val.serialize(arrayPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case ActiveTestComponentBase::PARAMID_PARAMSTRUCT: + status = val.serialize(structPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + } + + this->pushFromPortEntry_prmGetIn(id, val); + + return prmValid; +} + +void Tester ::from_prmSetIn_handler(const NATIVE_INT_TYPE portNum, FwPrmIdType id, Fw::ParamBuffer& val) { + Fw::SerializeStatus status; + U32 id_base = component.getIdBase(); + + FW_ASSERT(id >= id_base); + + switch (id - id_base) { + case ActiveTestComponentBase::PARAMID_PARAMBOOL: + status = val.deserialize(boolPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case ActiveTestComponentBase::PARAMID_PARAMU32: + status = val.deserialize(u32Prm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case ActiveTestComponentBase::PARAMID_PARAMSTRING: + status = val.deserialize(stringPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case ActiveTestComponentBase::PARAMID_PARAMENUM: + status = val.deserialize(enumPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case ActiveTestComponentBase::PARAMID_PARAMARRAY: + status = val.deserialize(arrayPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case ActiveTestComponentBase::PARAMID_PARAMSTRUCT: + status = val.deserialize(structPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + } + + this->pushFromPortEntry_prmSetIn(id, val); +} diff --git a/FppTest/component/active/test/ut/Tester.hpp b/FppTest/component/active/test/ut/Tester.hpp new file mode 100644 index 0000000000..6aa58adfc6 --- /dev/null +++ b/FppTest/component/active/test/ut/Tester.hpp @@ -0,0 +1,297 @@ +// ====================================================================== +// \title ActiveTest/test/ut/Tester.hpp +// \author tiffany +// \brief hpp file for ActiveTest test harness implementation class +// ====================================================================== + +#ifndef TESTER_HPP +#define TESTER_HPP + +#include "FppTest/component/active/ActiveTest.hpp" +#include "FppTest/component/active/SerialPortIndexEnumAc.hpp" +#include "FppTest/component/active/TypedPortIndexEnumAc.hpp" +#include "FppTest/component/tests/CmdTests.hpp" +#include "FppTest/component/tests/EventTests.hpp" +#include "FppTest/component/tests/InternalInterfaceTests.hpp" +#include "FppTest/component/tests/ParamTests.hpp" +#include "FppTest/component/tests/PortTests.hpp" +#include "FppTest/component/tests/TlmTests.hpp" +#include "FppTest/component/types/FormalParamTypes.hpp" +#include "GTestBase.hpp" + +class Tester : public ActiveTestGTestBase { + // ---------------------------------------------------------------------- + // Construction and destruction + // ---------------------------------------------------------------------- + + public: + // Maximum size of histories storing events, telemetry, and port outputs + static const NATIVE_INT_TYPE MAX_HISTORY_SIZE = 100; + // Instance ID supplied to the component instance under test + static const NATIVE_INT_TYPE TEST_INSTANCE_ID = 0; + // Queue depth supplied to component instance under test + static const NATIVE_INT_TYPE TEST_INSTANCE_QUEUE_DEPTH = 10; + + //! Construct object Tester + //! + Tester(); + + //! Destroy object Tester + //! + ~Tester(); + + public: + // ---------------------------------------------------------------------- + // Tests + // ---------------------------------------------------------------------- + + PORT_TEST_DECLS + PORT_TEST_DECLS_ASYNC + + CMD_TEST_DECLS + CMD_TEST_DECLS_ASYNC + + EVENT_TEST_DECLS + + TLM_TEST_DECLS + + void testParam(); + PARAM_CMD_TEST_DECLS + + INTERNAL_INT_TEST_DECLS + + void testTime(); + + PRIVATE: + // ---------------------------------------------------------------------- + // Handlers for typed from ports + // ---------------------------------------------------------------------- + + //! Handler for from_arrayArgsOut + //! + void from_arrayArgsOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + const FormalParamArray& a, /*!< + An array + */ + FormalParamArray& aRef /*!< + An array ref + */ + ); + + //! Handler for from_arrayReturnOut + //! + FormalParamArray from_arrayReturnOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + const FormalParamArray& a, /*!< + An array + */ + FormalParamArray& aRef /*!< + An array ref + */ + ); + + //! Handler for from_enumArgsOut + //! + void from_enumArgsOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + const FormalParamEnum& en, /*!< + An enum + */ + FormalParamEnum& enRef /*!< + An enum ref + */ + ); + + //! Handler for from_enumReturnOut + //! + FormalParamEnum from_enumReturnOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + const FormalParamEnum& en, /*!< + An enum + */ + FormalParamEnum& enRef /*!< + An enum ref + */ + ); + + //! Handler for from_noArgsOut + //! + void from_noArgsOut_handler(const NATIVE_INT_TYPE portNum /*!< The port number*/ + ); + + //! Handler for from_noArgsReturnOut + //! + bool from_noArgsReturnOut_handler(const NATIVE_INT_TYPE portNum /*!< The port number*/ + ); + + //! Handler for from_primitiveArgsOut + //! + void from_primitiveArgsOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + U32 u32, + U32& u32Ref, + F32 f32, + F32& f32Ref, + bool b, + bool& bRef); + + //! Handler for from_primitiveReturnOut + //! + U32 from_primitiveReturnOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + U32 u32, + U32& u32Ref, + F32 f32, + F32& f32Ref, + bool b, + bool& bRef); + + //! Handler for from_prmGetIn + //! + Fw::ParamValid from_prmGetIn_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + FwPrmIdType id, /*!< + Parameter ID + */ + Fw::ParamBuffer& val /*!< + Buffer containing serialized parameter value + */ + ); + + //! Handler for from_prmGetIn + //! + void from_prmSetIn_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + FwPrmIdType id, /*!< + Parameter ID + */ + Fw::ParamBuffer& val /*!< + Buffer containing serialized parameter value + */ + ); + + //! Handler for from_stringArgsOut + //! + void from_stringArgsOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + const str80String& str80, /*!< + A string of size 80 + */ + str80RefString& str80Ref, + const str100String& str100, /*!< + A string of size 100 + */ + str100RefString& str100Ref); + + //! Handler for from_structArgsOut + //! + void from_structArgsOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + const FormalParamStruct& s, /*!< + A struct + */ + FormalParamStruct& sRef /*!< + A struct ref + */ + ); + + //! Handler for from_structReturnOut + //! + FormalParamStruct from_structReturnOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + const FormalParamStruct& s, /*!< + A struct + */ + FormalParamStruct& sRef /*!< + A struct ref + */ + ); + + void cmdResponseIn(const FwOpcodeType opCode, const U32 cmdSeq, const Fw::CmdResponse response); + + PRIVATE: + // ---------------------------------------------------------------------- + // Handlers for serial from ports + // ---------------------------------------------------------------------- + + //! Handler for from_serialOut + //! + void from_serialOut_handler(NATIVE_INT_TYPE portNum, /*!< The port number*/ + Fw::SerializeBufferBase& Buffer /*!< The serialization buffer*/ + ); + + public: + // ---------------------------------------------------------------------- + // Helper methods + // ---------------------------------------------------------------------- + + //! Connect ports + //! + void connectPorts(); + + //! Connect async ports + void connectAsyncPorts(); + + //! Connect prmSetIn port + void connectPrmSetIn(); + + //! Connect timeGetOut port + void connectTimeGetOut(); + + //! Connect serial ports to special ports + void connectSpecialPortsSerial(); + + //! Set prmValid + void setPrmValid(Fw::ParamValid valid); + + //! Call doDispatch() on component under test + Fw::QueuedComponentBase::MsgDispatchStatus doDispatch(); + + //! Initialize components + //! + void initComponents(); + + //! Check successful status of a serial port invocation + void checkSerializeStatusSuccess(); + + //! Check unsuccessful status of a serial port invocation + void checkSerializeStatusBufferEmpty(); + + PRIVATE: + // ---------------------------------------------------------------------- + // Variables + // ---------------------------------------------------------------------- + + //! The component under test + //! + ActiveTest component; + + // Values returned by typed output ports + FppTest::Types::BoolType noParamReturnVal; + FppTest::Types::U32Type primitiveReturnVal; + FppTest::Types::EnumType enumReturnVal; + FppTest::Types::ArrayType arrayReturnVal; + FppTest::Types::StructType structReturnVal; + + // Buffers from serial output ports; + U8 primitiveData[InputPrimitiveArgsPort::SERIALIZED_SIZE]; + U8 stringData[InputStringArgsPort::SERIALIZED_SIZE]; + U8 enumData[InputEnumArgsPort::SERIALIZED_SIZE]; + U8 arrayData[InputArrayArgsPort::SERIALIZED_SIZE]; + U8 structData[InputStructArgsPort::SERIALIZED_SIZE]; + U8 serialData[SERIAL_ARGS_BUFFER_CAPACITY]; + + Fw::SerialBuffer primitiveBuf; + Fw::SerialBuffer stringBuf; + Fw::SerialBuffer enumBuf; + Fw::SerialBuffer arrayBuf; + Fw::SerialBuffer structBuf; + Fw::SerialBuffer serialBuf; + + // Command test values + Fw::CmdResponse cmdResp; + + // Parameter test values + FppTest::Types::BoolParam boolPrm; + FppTest::Types::U32Param u32Prm; + FppTest::Types::PrmStringParam stringPrm; + FppTest::Types::EnumParam enumPrm; + FppTest::Types::ArrayParam arrayPrm; + FppTest::Types::StructParam structPrm; + Fw::ParamValid prmValid; + + // Time test values + Fw::Time time; +}; + +#endif diff --git a/FppTest/port/CMakeLists.txt b/FppTest/component/empty/CMakeLists.txt similarity index 53% rename from FppTest/port/CMakeLists.txt rename to FppTest/component/empty/CMakeLists.txt index 0c6fab1e8c..11cdeadb00 100644 --- a/FppTest/port/CMakeLists.txt +++ b/FppTest/component/empty/CMakeLists.txt @@ -3,12 +3,8 @@ # ====================================================================== set(SOURCE_FILES - "${CMAKE_CURRENT_LIST_DIR}/fpp_types.fpp" - "${CMAKE_CURRENT_LIST_DIR}/no_return_ports.fpp" - "${CMAKE_CURRENT_LIST_DIR}/return_ports.fpp" - "${CMAKE_CURRENT_LIST_DIR}/port_index_enums.fpp" - "${CMAKE_CURRENT_LIST_DIR}/example_comp.fpp" - "${CMAKE_CURRENT_LIST_DIR}/Example.cpp" + "${CMAKE_CURRENT_LIST_DIR}/empty.fpp" + "${CMAKE_CURRENT_LIST_DIR}/Empty.cpp" ) register_fprime_module() @@ -32,14 +28,9 @@ set(UT_MOD_DEPS # Add unit test directory # UT_SOURCE_FILES: Sources for unit test set(UT_SOURCE_FILES - "${CMAKE_CURRENT_LIST_DIR}/fpp_types.fpp" - "${CMAKE_CURRENT_LIST_DIR}/no_return_ports.fpp" - "${CMAKE_CURRENT_LIST_DIR}/return_ports.fpp" - "${CMAKE_CURRENT_LIST_DIR}/port_index_enums.fpp" - "${CMAKE_CURRENT_LIST_DIR}/example_comp.fpp" - "${CMAKE_CURRENT_LIST_DIR}/../utils/Utils.cpp" - "${CMAKE_CURRENT_LIST_DIR}/PortTypes.cpp" + "${CMAKE_CURRENT_LIST_DIR}/empty.fpp" "${CMAKE_CURRENT_LIST_DIR}/test/ut/Tester.cpp" + "${CMAKE_CURRENT_LIST_DIR}/test/ut/TesterHelpers.cpp" "${CMAKE_CURRENT_LIST_DIR}/test/ut/TestMain.cpp" ) register_fprime_ut() diff --git a/FppTest/component/empty/Empty.cpp b/FppTest/component/empty/Empty.cpp new file mode 100644 index 0000000000..a43b619f80 --- /dev/null +++ b/FppTest/component/empty/Empty.cpp @@ -0,0 +1,37 @@ +// ====================================================================== +// \title Empty.cpp +// \author tiffany +// \brief cpp file for Empty component implementation class +// ====================================================================== + + +#include "Empty.hpp" +#include + + +// ---------------------------------------------------------------------- +// Construction, initialization, and destruction +// ---------------------------------------------------------------------- + +Empty :: + Empty( + const char *const compName + ) : EmptyComponentBase(compName) +{ + +} + +void Empty :: + init( + NATIVE_INT_TYPE instance + ) +{ + EmptyComponentBase::init(instance); +} + +Empty :: + ~Empty() +{ + +} + diff --git a/FppTest/component/empty/Empty.hpp b/FppTest/component/empty/Empty.hpp new file mode 100644 index 0000000000..705d9b6275 --- /dev/null +++ b/FppTest/component/empty/Empty.hpp @@ -0,0 +1,37 @@ +// ====================================================================== +// \title Empty.hpp +// \author tiffany +// \brief hpp file for Empty component implementation class +// ====================================================================== + +#ifndef Empty_HPP +#define Empty_HPP + +#include "FppTest/component/empty/EmptyComponentAc.hpp" + +class Empty : + public EmptyComponentBase +{ + + public: + + // ---------------------------------------------------------------------- + // Component construction, initialization, and destruction + // ---------------------------------------------------------------------- + + //! Construct Empty object + Empty( + const char* const compName //!< The component name + ); + + //! Initialize Empty object + void init( + NATIVE_INT_TYPE instance = 0 //!< The instance number + ); + + //! Destroy Empty object + ~Empty(); + +}; + +#endif diff --git a/FppTest/component/empty/empty.fpp b/FppTest/component/empty/empty.fpp new file mode 100644 index 0000000000..89443e6095 --- /dev/null +++ b/FppTest/component/empty/empty.fpp @@ -0,0 +1 @@ +passive component Empty {} diff --git a/FppTest/component/empty/test/ut/TestMain.cpp b/FppTest/component/empty/test/ut/TestMain.cpp new file mode 100644 index 0000000000..ea9da47ce4 --- /dev/null +++ b/FppTest/component/empty/test/ut/TestMain.cpp @@ -0,0 +1,15 @@ +// ---------------------------------------------------------------------- +// TestMain.cpp +// ---------------------------------------------------------------------- + +#include "Tester.hpp" + +TEST(Nominal, ToDo) { + Tester tester; + tester.test(); +} + +int main(int argc, char** argv) { + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} diff --git a/FppTest/component/empty/test/ut/Tester.cpp b/FppTest/component/empty/test/ut/Tester.cpp new file mode 100644 index 0000000000..9d5bf24342 --- /dev/null +++ b/FppTest/component/empty/test/ut/Tester.cpp @@ -0,0 +1,26 @@ +// ====================================================================== +// \title Empty/test/ut/Tester.cpp +// \author tiffany +// \brief cpp file for Empty test harness implementation class +// ====================================================================== + +#include "Tester.hpp" + +// ---------------------------------------------------------------------- +// Construction and destruction +// ---------------------------------------------------------------------- + +Tester ::Tester() : EmptyGTestBase("Tester", Tester::MAX_HISTORY_SIZE), component("Empty") { + this->initComponents(); + this->connectPorts(); +} + +Tester ::~Tester() {} + +// ---------------------------------------------------------------------- +// Tests +// ---------------------------------------------------------------------- + +void Tester ::test() { + // Nothing else to test in an empty component +} diff --git a/FppTest/component/empty/test/ut/Tester.hpp b/FppTest/component/empty/test/ut/Tester.hpp new file mode 100644 index 0000000000..829ef7a68a --- /dev/null +++ b/FppTest/component/empty/test/ut/Tester.hpp @@ -0,0 +1,62 @@ +// ====================================================================== +// \title Empty/test/ut/Tester.hpp +// \author tiffany +// \brief hpp file for Empty test harness implementation class +// ====================================================================== + +#ifndef TESTER_HPP +#define TESTER_HPP + +#include "FppTest/component/empty/Empty.hpp" +#include "GTestBase.hpp" + +class Tester : public EmptyGTestBase { + // ---------------------------------------------------------------------- + // Construction and destruction + // ---------------------------------------------------------------------- + + public: + // Maximum size of histories storing events, telemetry, and port outputs + static const NATIVE_INT_TYPE MAX_HISTORY_SIZE = 10; + // Instance ID supplied to the component instance under test + static const NATIVE_INT_TYPE TEST_INSTANCE_ID = 0; + + //! Construct object Tester + //! + Tester(); + + //! Destroy object Tester + //! + ~Tester(); + + public: + // ---------------------------------------------------------------------- + // Tests + // ---------------------------------------------------------------------- + + void test(); + + PRIVATE: + // ---------------------------------------------------------------------- + // Helper methods + // ---------------------------------------------------------------------- + + //! Connect ports + //! + void connectPorts(); + + //! Initialize components + //! + void initComponents(); + + PRIVATE: + // ---------------------------------------------------------------------- + // Variables + // ---------------------------------------------------------------------- + + //! The component under test + //! + Empty component; +}; + +#endif diff --git a/FppTest/component/empty/test/ut/TesterHelpers.cpp b/FppTest/component/empty/test/ut/TesterHelpers.cpp new file mode 100644 index 0000000000..d39d3ffceb --- /dev/null +++ b/FppTest/component/empty/test/ut/TesterHelpers.cpp @@ -0,0 +1,20 @@ +// ====================================================================== +// \title Empty/test/ut/TesterHelpers.cpp +// \author Auto-generated +// \brief cpp file for Empty component test harness base class +// +// NOTE: this file was automatically generated +// +// ====================================================================== +#include "Tester.hpp" + +// ---------------------------------------------------------------------- +// Helper methods +// ---------------------------------------------------------------------- + +void Tester ::connectPorts() {} + +void Tester ::initComponents() { + this->init(); + this->component.init(Tester::TEST_INSTANCE_ID); +} diff --git a/FppTest/component/include/commands.fppi b/FppTest/component/include/commands.fppi new file mode 100644 index 0000000000..accd7e9cc5 --- /dev/null +++ b/FppTest/component/include/commands.fppi @@ -0,0 +1,27 @@ +sync command CMD_NO_ARGS + +sync command CMD_PRIMITIVE( + u32_1: U32, @< A U32 + u32_2: U32, @< A U32 + f32_1: F32, @< An F32 + f32_2: F32, @< An F32 + b1: bool @< A boolean + b2: bool @< A boolean +) opcode 0x10 + +sync command CMD_STRINGS( + str1: string, @< A string + str2: string size 100 @< Another string +) + +sync command CMD_ENUM( + en: FormalParamEnum @< An enum +) + +guarded command CMD_ARRAY( + arr: FormalParamArray @< An array +) + +guarded command CMD_STRUCT( + str: FormalParamStruct @< A struct +) diff --git a/FppTest/component/include/commands_async.fppi b/FppTest/component/include/commands_async.fppi new file mode 100644 index 0000000000..16e1eb2abb --- /dev/null +++ b/FppTest/component/include/commands_async.fppi @@ -0,0 +1,27 @@ +async command CMD_ASYNC_NO_ARGS + +async command CMD_ASYNC_PRIMITIVE ( + u32_1: U32, @< A U32 + u32_2: U32, @< A U32 + f32_1: F32, @< An F32 + f32_2: F32, @< An F32 + b1: bool @< A boolean + b2: bool @< A boolean +) + +async command CMD_ASYNC_STRINGS( + str1: string, @< A string + str2: string size 100 @< Another string +) opcode 0x20 priority 10 + +async command CMD_ASYNC_ENUM ( + en: FormalParamEnum @< An enum +) priority 20 + +async command CMD_ASYNC_ARRAY( + arr: FormalParamArray @< An array +) drop + +async command CMD_ASYNC_STRUCT( + str: FormalParamStruct @< A struct +) priority 30 drop diff --git a/FppTest/component/include/events.fppi b/FppTest/component/include/events.fppi new file mode 100644 index 0000000000..ce704f3bf8 --- /dev/null +++ b/FppTest/component/include/events.fppi @@ -0,0 +1,50 @@ +event EventNoArgs \ + severity activity high \ + format "Event Activity High occurred" + +event EventPrimitive( + u32_1: U32, @< A U32 + u32_2: U32, @< A U32 + f32_1: F32, @< An F32 + f32_2: F32, @< An F32 + b1: bool @< A boolean + b2: bool @< A boolean +) \ + severity activity low \ + id 0x10 \ + format "Event Activity Low occurred with arguments: {}, {}, {}, {}, {}, {}" \ + throttle 5 + +event EventString ( + str1: string, @< A string + str2: string size 100 @< Another string +) \ + severity command \ + format "Event Command occurred with arguments: {}, {}" + +event EventEnum( + en: FormalParamEnum @< An enum +) \ + severity diagnostic \ + format "Event Diagnostic occurred with argument: {}" + +event EventArray ( + arr: FormalParamArray @< An array +) \ + severity fatal \ + format "Event Fatal occurred with argument: {}" \ + throttle 10 + +event EventStruct ( + str: FormalParamStruct @< A struct +) \ + severity warning high \ + id 0x20 \ + format "Event Warning High occurred with argument: {}" + +event EventBool ( + b: bool @< A boolean +) \ + severity warning low \ + format "Event Warning Low occurred {}" \ + throttle 10 diff --git a/FppTest/component/include/internal_ports.fppi b/FppTest/component/include/internal_ports.fppi new file mode 100644 index 0000000000..1a87ba78a6 --- /dev/null +++ b/FppTest/component/include/internal_ports.fppi @@ -0,0 +1,27 @@ +internal port internalNoArgs priority 10 drop + +internal port internalPrimitive( + u32_1: U32, @< A U32 + u32_2: U32, @< A U32 + f32_1: F32, @< An F32 + f32_2: F32, @< An F32 + b1: bool @< A boolean + b2: bool @< A boolean +) priority 5 + +internal port internalString( + str1: string, @< A string + str2: string size 100 @< Another string +) + +internal port internalEnum( + en: FormalParamEnum @< An enum +) + +internal port internalArray( + arr: FormalParamArray @< An array +) + +internal port internalStruct( + str: FormalParamStruct @< A struct +) priority 20 drop diff --git a/FppTest/component/include/params.fppi b/FppTest/component/include/params.fppi new file mode 100644 index 0000000000..f02c01377d --- /dev/null +++ b/FppTest/component/include/params.fppi @@ -0,0 +1,17 @@ +param ParamBool: bool + +param ParamU32: U32 + +param ParamString: string \ + default "default" + +param ParamEnum: FormalParamEnum \ + id 0x30 + +param ParamArray: FormalParamArray \ + default [ 1.0, 2.0, 3.0 ] \ + save opcode 0x35 + +param ParamStruct: FormalParamStruct \ + set opcode 0x40 \ + save opcode 0x45 diff --git a/FppTest/component/include/serial_ports.fppi b/FppTest/component/include/serial_ports.fppi new file mode 100644 index 0000000000..24583178a2 --- /dev/null +++ b/FppTest/component/include/serial_ports.fppi @@ -0,0 +1,8 @@ +@ A serial sync input port +sync input port serialSync: [6] serial + +@ A serial guarded input +guarded input port serialGuarded: [6] serial + +@ A serial output port +output port serialOut: [6] serial diff --git a/FppTest/component/include/serial_ports_async.fppi b/FppTest/component/include/serial_ports_async.fppi new file mode 100644 index 0000000000..bfd4cc8ed2 --- /dev/null +++ b/FppTest/component/include/serial_ports_async.fppi @@ -0,0 +1,11 @@ +@ A serial async input port +async input port serialAsync: [3] serial + +@ A serial async input port with queue full behavior and priority +async input port serialAsyncAssert: serial assert + +@ A serial async input port with queue full behavior and priority +async input port serialAsyncBlockPriority: serial priority 10 block + +@ A serial async input port with queue full behavior and priority +async input port serialAsyncDropPriority: serial priority 5 drop diff --git a/FppTest/component/include/special_ports.fppi b/FppTest/component/include/special_ports.fppi new file mode 100644 index 0000000000..4a340a7f17 --- /dev/null +++ b/FppTest/component/include/special_ports.fppi @@ -0,0 +1,26 @@ +@ A port for receiving commands +command recv port cmdIn + +@ A port for sending command registration requests +command reg port cmdRegOut + +@ A port for sending command responses +command resp port cmdResponseOut + +@ A port for emitting events +event port eventOut + +@ A port for emitting text events +text event port textEventOut + +@ A port for emitting telemetry +telemetry port tlmOut + +@ A port for getting parameter values +param get port prmGetOut + +@ A port for setting parameter values +param set port prmSetOut + +@ A port for getting the time +time get port timeGetOut diff --git a/FppTest/component/include/telemetry.fppi b/FppTest/component/include/telemetry.fppi new file mode 100644 index 0000000000..95f8195805 --- /dev/null +++ b/FppTest/component/include/telemetry.fppi @@ -0,0 +1,21 @@ +telemetry ChannelEnum: FormalParamEnum + +telemetry ChannelArray: FormalParamArray \ + id 0x10 + +telemetry ChannelStruct: FormalParamStruct \ + update always + +telemetry ChannelU32: U32 \ + format "{x}" \ + low { red 0, orange 1, yellow 2 } + +telemetry ChannelF32: F32 \ + update always \ + format "{.3f}" \ + low { red -3, orange -2, yellow -1 } \ + high { red 3, orange 2, yellow 1 } + +telemetry ChannelString: string \ + update on change \ + format "{}" diff --git a/FppTest/component/include/typed_ports.fppi b/FppTest/component/include/typed_ports.fppi new file mode 100644 index 0000000000..0dfed00c2b --- /dev/null +++ b/FppTest/component/include/typed_ports.fppi @@ -0,0 +1,97 @@ +# ---------------------------------------------------------------------- +# Typed input ports with no return type +# ---------------------------------------------------------------------- + +sync input port noArgsSync: [2] NoArgs + +guarded input port noArgsGuarded: [2] NoArgs + +sync input port primitiveArgsSync: [2] PrimitiveArgs + +guarded input port primitiveArgsGuarded: [2] PrimitiveArgs + +sync input port stringArgsSync: [2] StringArgs + +guarded input port stringArgsGuarded: [2] StringArgs + +sync input port enumArgsSync: [2] EnumArgs + +guarded input port enumArgsGuarded: [2] EnumArgs + +sync input port arrayArgsSync: [2] ArrayArgs + +guarded input port arrayArgsGuarded: [2] ArrayArgs + +sync input port structArgsSync: [2] StructArgs + +guarded input port structArgsGuarded: [2] StructArgs + +# ---------------------------------------------------------------------- +# Typed output ports with no return type +# ---------------------------------------------------------------------- + +output port noArgsOut: [2] NoArgs + +output port primitiveArgsOut: [2] PrimitiveArgs + +output port stringArgsOut: [2] StringArgs + +output port enumArgsOut: [2] EnumArgs + +output port arrayArgsOut: [2] ArrayArgs + +output port structArgsOut: [2] StructArgs + +# ---------------------------------------------------------------------- +# Typed input ports with return type +# ---------------------------------------------------------------------- + +sync input port noArgsReturnSync: NoArgsReturn + +guarded input port noArgsReturnGuarded: NoArgsReturn + +sync input port primitiveReturnSync: PrimitiveReturn + +guarded input port primitiveReturnGuarded: PrimitiveReturn + +# sync input port stringReturnSync: StringReturn + +# guarded input port stringReturnGuarded: StringReturn + +sync input port enumReturnSync: EnumReturn + +guarded input port enumReturnGuarded: EnumReturn + +sync input port arrayReturnSync: ArrayReturn + +guarded input port arrayReturnGuarded: ArrayReturn + +sync input port structReturnSync: StructReturn + +guarded input port structReturnGuarded: StructReturn + +# ---------------------------------------------------------------------- +# Typed output ports with return type +# ---------------------------------------------------------------------- + +output port noArgsReturnOut: NoArgsReturn + +output port primitiveReturnOut: PrimitiveReturn + +# output port stringReturnOut: StringReturn + +output port enumReturnOut: EnumReturn + +output port arrayReturnOut: ArrayReturn + +output port structReturnOut: StructReturn + +# ---------------------------------------------------------------------- +# Ports for testing special ports +# ---------------------------------------------------------------------- + +sync input port cmdOut: Fw.Cmd + +output port prmGetIn: Fw.PrmGet + +output port prmSetIn: Fw.PrmSet diff --git a/FppTest/component/include/typed_ports_async.fppi b/FppTest/component/include/typed_ports_async.fppi new file mode 100644 index 0000000000..ed5c7380f2 --- /dev/null +++ b/FppTest/component/include/typed_ports_async.fppi @@ -0,0 +1,11 @@ +async input port noArgsAsync: [2] NoArgs + +async input port primitiveArgsAsync: [2] PrimitiveArgs + +async input port stringArgsAsync: [2] StringArgs + +async input port enumArgsAsync: [2] EnumArgs assert + +async input port arrayArgsAsync: [2] ArrayArgs priority 10 block + +async input port structArgsAsync: [2] StructArgs priority 5 drop diff --git a/FppTest/component/passive/CMakeLists.txt b/FppTest/component/passive/CMakeLists.txt new file mode 100644 index 0000000000..84667b0eec --- /dev/null +++ b/FppTest/component/passive/CMakeLists.txt @@ -0,0 +1,46 @@ +# ====================================================================== +# CMakeLists.txt +# ====================================================================== + +set(SOURCE_FILES + "${CMAKE_CURRENT_LIST_DIR}/passive.fpp" + "${CMAKE_CURRENT_LIST_DIR}/PassiveTest.cpp" +) + +register_fprime_module() + +# Sets MODULE_NAME to unique name based on path +get_module_name(${CMAKE_CURRENT_LIST_DIR}) + +# Exclude test module from all build +set_target_properties( + ${MODULE_NAME} + PROPERTIES + EXCLUDE_FROM_ALL TRUE +) + +# Declare dependencies on test modules +set(UT_MOD_DEPS + Fw/Test + STest +) + +# Add unit test directory +# UT_SOURCE_FILES: Sources for unit test +set(UT_SOURCE_FILES + "${CMAKE_CURRENT_LIST_DIR}/passive.fpp" + "${CMAKE_CURRENT_LIST_DIR}/test/ut/Tester.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/TestMain.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/Tests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/TesterHandlers.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/TesterHelpers.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/PortTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/CmdTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/EventTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/TlmTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/ParamTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/TimeTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../types/FormalParamTypes.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../../utils/Utils.cpp" +) +register_fprime_ut() diff --git a/FppTest/component/passive/PassiveTest.cpp b/FppTest/component/passive/PassiveTest.cpp new file mode 100644 index 0000000000..acd3908cf6 --- /dev/null +++ b/FppTest/component/passive/PassiveTest.cpp @@ -0,0 +1,434 @@ +// ====================================================================== +// \title PassiveTest.cpp +// \author tiffany +// \brief cpp file for PassiveTest component implementation class +// ====================================================================== + + +#include "PassiveTest.hpp" +#include + + + // ---------------------------------------------------------------------- + // Construction, initialization, and destruction + // ---------------------------------------------------------------------- + + PassiveTest :: + PassiveTest( + const char *const compName + ) : PassiveTestComponentBase(compName) + { + + } + + void PassiveTest :: + init( + NATIVE_INT_TYPE instance + ) + { + PassiveTestComponentBase::init(instance); + } + + PassiveTest :: + ~PassiveTest() + { + + } + + // ---------------------------------------------------------------------- + // Handler implementations for user-defined typed input ports + // ---------------------------------------------------------------------- + + void PassiveTest :: + arrayArgsGuarded_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamArray &a, + FormalParamArray &aRef + ) + { + this->arrayArgsOut_out(portNum, a, aRef); + } + + void PassiveTest :: + arrayArgsSync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamArray &a, + FormalParamArray &aRef + ) + { + this->arrayArgsOut_out(portNum, a, aRef); + } + + FormalParamArray PassiveTest :: + arrayReturnGuarded_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamArray &a, + FormalParamArray &aRef + ) + { + return this->arrayReturnOut_out(portNum, a, aRef); + } + + FormalParamArray PassiveTest :: + arrayReturnSync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamArray &a, + FormalParamArray &aRef + ) + { + return this->arrayReturnOut_out(portNum, a, aRef); + } + + void PassiveTest :: + cmdOut_handler( + NATIVE_INT_TYPE portNum, + FwOpcodeType opCode, + U32 cmdSeq, + Fw::CmdArgBuffer& args + ) + { + } + + void PassiveTest :: + enumArgsGuarded_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamEnum &en, + FormalParamEnum &enRef + ) + { + this->enumArgsOut_out(portNum, en, enRef); + } + + void PassiveTest :: + enumArgsSync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamEnum &en, + FormalParamEnum &enRef + ) + { + this->enumArgsOut_out(portNum, en, enRef); + } + + FormalParamEnum PassiveTest :: + enumReturnGuarded_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamEnum &en, + FormalParamEnum &enRef + ) + { + return this->enumReturnOut_out(portNum, en, enRef); + } + + FormalParamEnum PassiveTest :: + enumReturnSync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamEnum &en, + FormalParamEnum &enRef + ) + { + return this->enumReturnOut_out(portNum, en, enRef); + } + + void PassiveTest :: + noArgsGuarded_handler( + const NATIVE_INT_TYPE portNum + ) + { + this->noArgsOut_out(portNum); + } + + bool PassiveTest :: + noArgsReturnGuarded_handler( + const NATIVE_INT_TYPE portNum + ) + { + return this->noArgsReturnOut_out(portNum); + } + + bool PassiveTest :: + noArgsReturnSync_handler( + const NATIVE_INT_TYPE portNum + ) + { + return this->noArgsReturnOut_out(portNum); + } + + void PassiveTest :: + noArgsSync_handler( + const NATIVE_INT_TYPE portNum + ) + { + this->noArgsOut_out(portNum); + } + + void PassiveTest :: + primitiveArgsGuarded_handler( + const NATIVE_INT_TYPE portNum, + U32 u32, + U32 &u32Ref, + F32 f32, + F32 &f32Ref, + bool b, + bool &bRef + ) + { + this->primitiveArgsOut_out( + portNum, + u32, + u32Ref, + f32, + f32Ref, + b, + bRef + ); + } + + void PassiveTest :: + primitiveArgsSync_handler( + const NATIVE_INT_TYPE portNum, + U32 u32, + U32 &u32Ref, + F32 f32, + F32 &f32Ref, + bool b, + bool &bRef + ) + { + this->primitiveArgsOut_out( + portNum, + u32, + u32Ref, + f32, + f32Ref, + b, + bRef + ); + } + + U32 PassiveTest :: + primitiveReturnGuarded_handler( + const NATIVE_INT_TYPE portNum, + U32 u32, + U32 &u32Ref, + F32 f32, + F32 &f32Ref, + bool b, + bool &bRef + ) + { + return this->primitiveReturnOut_out( + portNum, + u32, + u32Ref, + f32, + f32Ref, + b, + bRef + ); + } + + U32 PassiveTest :: + primitiveReturnSync_handler( + const NATIVE_INT_TYPE portNum, + U32 u32, + U32 &u32Ref, + F32 f32, + F32 &f32Ref, + bool b, + bool &bRef + ) + { + return this->primitiveReturnOut_out( + portNum, + u32, + u32Ref, + f32, + f32Ref, + b, + bRef + ); + } + + void PassiveTest :: + stringArgsGuarded_handler( + const NATIVE_INT_TYPE portNum, + const str80String &str80, + str80RefString &str80Ref, + const str100String &str100, + str100RefString &str100Ref + ) + { + this->stringArgsOut_out( + portNum, + str80, + str80Ref, + str100, + str100Ref + ); + } + + void PassiveTest :: + stringArgsSync_handler( + const NATIVE_INT_TYPE portNum, + const str80String &str80, + str80RefString &str80Ref, + const str100String &str100, + str100RefString &str100Ref + ) + { + this->stringArgsOut_out( + portNum, + str80, + str80Ref, + str100, + str100Ref + ); + } + + void PassiveTest :: + structArgsGuarded_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamStruct &s, + FormalParamStruct &sRef + ) + { + this->structArgsOut_out(portNum, s, sRef); + } + + void PassiveTest :: + structArgsSync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamStruct &s, + FormalParamStruct &sRef + ) + { + this->structArgsOut_out(portNum, s, sRef); + } + + FormalParamStruct PassiveTest :: + structReturnGuarded_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamStruct &s, + FormalParamStruct &sRef + ) + { + return this->structReturnOut_out(portNum, s, sRef); + } + + FormalParamStruct PassiveTest :: + structReturnSync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamStruct &s, + FormalParamStruct &sRef + ) + { + return this->structReturnOut_out(portNum, s, sRef); + } + + // ---------------------------------------------------------------------- + // Handler implementations for user-defined serial input ports + // ---------------------------------------------------------------------- + + void PassiveTest :: + serialGuarded_handler( + NATIVE_INT_TYPE portNum, /*!< The port number*/ + Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ + ) + { + this->serializeStatus = this->serialOut_out(portNum, Buffer); + } + + void PassiveTest :: + serialSync_handler( + NATIVE_INT_TYPE portNum, /*!< The port number*/ + Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ + ) + { + this->serializeStatus = this->serialOut_out(portNum, Buffer); + } + + // ---------------------------------------------------------------------- + // Command handler implementations + // ---------------------------------------------------------------------- + + void PassiveTest :: + CMD_NO_ARGS_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq + ) + { + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void PassiveTest :: + CMD_PRIMITIVE_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + U32 u32_1, + U32 u32_2, + F32 f32_1, + F32 f32_2, + bool b1, + bool b2 + ) + { + this->primitiveCmd.args.val1 = u32_1; + this->primitiveCmd.args.val2 = u32_2; + this->primitiveCmd.args.val3 = f32_1; + this->primitiveCmd.args.val4 = f32_2; + this->primitiveCmd.args.val5 = b1; + this->primitiveCmd.args.val6 = b2; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void PassiveTest :: + CMD_STRINGS_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + const Fw::CmdStringArg& str1, + const Fw::CmdStringArg& str2 + ) + { + this->stringCmd.args.val1 = str1; + this->stringCmd.args.val2 = str2; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void PassiveTest :: + CMD_ENUM_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + FormalParamEnum en + ) + { + this->enumCmd.args.val = en; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void PassiveTest :: + CMD_ARRAY_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + FormalParamArray arr + ) + { + this->arrayCmd.args.val = arr; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void PassiveTest :: + CMD_STRUCT_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + FormalParamStruct str + ) + { + this->structCmd.args.val = str; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + diff --git a/FppTest/component/passive/PassiveTest.hpp b/FppTest/component/passive/PassiveTest.hpp new file mode 100644 index 0000000000..0eea8e98f0 --- /dev/null +++ b/FppTest/component/passive/PassiveTest.hpp @@ -0,0 +1,303 @@ +// ====================================================================== +// \title PassiveTest.hpp +// \author tiffany +// \brief hpp file for PassiveTest component implementation class +// ====================================================================== + +#ifndef PassiveTest_HPP +#define PassiveTest_HPP + +#include "FppTest/component/passive/PassiveTestComponentAc.hpp" +#include "FppTest/component/types/FormalParamTypes.hpp" + + +class PassiveTest : + public PassiveTestComponentBase +{ + + public: + + // ---------------------------------------------------------------------- + // Component construction and destruction + // ---------------------------------------------------------------------- + + //! Construct PassiveTest object + PassiveTest( + const char* const compName //!< The component name + ); + + //! Initialize PassiveTest object + void init( + NATIVE_INT_TYPE instance = 0 //!< The instance number + ); + + //! Destroy PassiveTest object + ~PassiveTest(); + + PRIVATE: + + // ---------------------------------------------------------------------- + // Handler implementations for user-defined typed input ports + // ---------------------------------------------------------------------- + + //! Handler implementation for arrayArgsGuarded + void arrayArgsGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamArray& a, //!< An array + FormalParamArray& aRef //!< An array ref + ); + + //! Handler implementation for arrayArgsSync + void arrayArgsSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamArray& a, //!< An array + FormalParamArray& aRef //!< An array ref + ); + + //! Handler implementation for arrayReturnGuarded + FormalParamArray arrayReturnGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamArray& a, //!< An array + FormalParamArray& aRef //!< An array ref + ); + + //! Handler implementation for arrayReturnSync + FormalParamArray arrayReturnSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamArray& a, //!< An array + FormalParamArray& aRef //!< An array ref + ); + + //! Handler implementation for cmdOut + void cmdOut_handler( + NATIVE_INT_TYPE portNum, //!< The port number + FwOpcodeType opCode, //!< Command Op Code + U32 cmdSeq, //!< Command Sequence + Fw::CmdArgBuffer& args //!< Buffer containing arguments + ); + + //! Handler implementation for enumArgsGuarded + void enumArgsGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamEnum& en, //!< An enum + FormalParamEnum& enRef //!< An enum ref + ); + + //! Handler implementation for enumArgsSync + void enumArgsSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamEnum& en, //!< An enum + FormalParamEnum& enRef //!< An enum ref + ); + + //! Handler implementation for enumReturnGuarded + FormalParamEnum enumReturnGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamEnum& en, //!< An enum + FormalParamEnum& enRef //!< An enum ref + ); + + //! Handler implementation for enumReturnSync + FormalParamEnum enumReturnSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamEnum& en, //!< An enum + FormalParamEnum& enRef //!< An enum ref + ); + + //! Handler implementation for noArgsGuarded + void noArgsGuarded_handler( + NATIVE_INT_TYPE portNum //!< The port number + ); + + //! Handler implementation for noArgsReturnGuarded + bool noArgsReturnGuarded_handler( + NATIVE_INT_TYPE portNum //!< The port number + ); + + //! Handler implementation for noArgsReturnSync + bool noArgsReturnSync_handler( + NATIVE_INT_TYPE portNum //!< The port number + ); + + //! Handler implementation for noArgsSync + void noArgsSync_handler( + NATIVE_INT_TYPE portNum //!< The port number + ); + + //! Handler implementation for primitiveArgsGuarded + void primitiveArgsGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + U32 u32, + U32& u32Ref, + F32 f32, + F32& f32Ref, + bool b, + bool& bRef + ); + + //! Handler implementation for primitiveArgsSync + void primitiveArgsSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + U32 u32, + U32& u32Ref, + F32 f32, + F32& f32Ref, + bool b, + bool& bRef + ); + + //! Handler implementation for primitiveReturnGuarded + U32 primitiveReturnGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + U32 u32, + U32& u32Ref, + F32 f32, + F32& f32Ref, + bool b, + bool& bRef + ); + + //! Handler implementation for primitiveReturnSync + U32 primitiveReturnSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + U32 u32, + U32& u32Ref, + F32 f32, + F32& f32Ref, + bool b, + bool& bRef + ); + + //! Handler implementation for stringArgsGuarded + void stringArgsGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const StringArgsPortStrings::StringSize80& str80, //!< A string of size 80 + StringArgsPortStrings::StringSize80& str80Ref, + const StringArgsPortStrings::StringSize100& str100, //!< A string of size 100 + StringArgsPortStrings::StringSize100& str100Ref + ); + + //! Handler implementation for stringArgsSync + void stringArgsSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const StringArgsPortStrings::StringSize80& str80, //!< A string of size 80 + StringArgsPortStrings::StringSize80& str80Ref, + const StringArgsPortStrings::StringSize100& str100, //!< A string of size 100 + StringArgsPortStrings::StringSize100& str100Ref + ); + + //! Handler implementation for structArgsGuarded + void structArgsGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamStruct& s, //!< A struct + FormalParamStruct& sRef //!< A struct ref + ); + + //! Handler implementation for structArgsSync + void structArgsSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamStruct& s, //!< A struct + FormalParamStruct& sRef //!< A struct ref + ); + + //! Handler implementation for structReturnGuarded + FormalParamStruct structReturnGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamStruct& s, //!< A struct + FormalParamStruct& sRef //!< A struct ref + ); + + //! Handler implementation for structReturnSync + FormalParamStruct structReturnSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamStruct& s, //!< A struct + FormalParamStruct& sRef //!< A struct ref + ); + + PRIVATE: + + // ---------------------------------------------------------------------- + // Handler implementations for user-defined serial input ports + // ---------------------------------------------------------------------- + + //! Handler implementation for serialGuarded + void serialGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + Fw::SerializeBufferBase& buffer //!< The serialization buffer + ); + + //! Handler implementation for serialSync + void serialSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + Fw::SerializeBufferBase& buffer //!< The serialization buffer + ); + + PRIVATE: + + // ---------------------------------------------------------------------- + // Handler implementations for commands + // ---------------------------------------------------------------------- + + //! Handler implementation for command CMD_NO_ARGS + void CMD_NO_ARGS_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq //!< The command sequence number + ); + + //! Handler implementation for command CMD_PRIMITIVE + void CMD_PRIMITIVE_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + U32 u32_1, //!< A U32 + U32 u32_2, //!< A U32 + F32 f32_1, //!< An F32 + F32 f32_2, //!< An F32 + bool b1, //!< A boolean + bool b2 //!< A boolean + ); + + //! Handler implementation for command CMD_STRINGS + void CMD_STRINGS_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + const Fw::CmdStringArg& str1, //!< A string + const Fw::CmdStringArg& str2 //!< Another string + ); + + //! Handler implementation for command CMD_ENUM + void CMD_ENUM_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + FormalParamEnum en //!< An enum + ); + + //! Handler implementation for command CMD_ARRAY + void CMD_ARRAY_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + FormalParamArray arr //!< An array + ); + + //! Handler implementation for command CMD_STRUCT + void CMD_STRUCT_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + FormalParamStruct str //!< A struct + ); + + public: + + //! Enables checking the serialization status of serial port invocations + Fw::SerializeStatus serializeStatus; + + // Command test values + FppTest::Types::PrimitiveParams primitiveCmd; + FppTest::Types::CmdStringParams stringCmd; + FppTest::Types::EnumParam enumCmd; + FppTest::Types::ArrayParam arrayCmd; + FppTest::Types::StructParam structCmd; + +}; + + +#endif diff --git a/FppTest/component/passive/passive.fpp b/FppTest/component/passive/passive.fpp new file mode 100644 index 0000000000..70e15618b8 --- /dev/null +++ b/FppTest/component/passive/passive.fpp @@ -0,0 +1,17 @@ +#include "../include/fpp_types.fppi" +#include "../include/port_types.fppi" +#include "../include/port_index_enums.fppi" + +@ A passive component +passive component PassiveTest { + + include "../include/typed_ports.fppi" + include "../include/serial_ports.fppi" + include "../include/special_ports.fppi" + + include "../include/commands.fppi" + include "../include/events.fppi" + include "../include/telemetry.fppi" + include "../include/params.fppi" + +} diff --git a/FppTest/component/passive/test/ut/Tester.cpp b/FppTest/component/passive/test/ut/Tester.cpp new file mode 100644 index 0000000000..ac62fca4b1 --- /dev/null +++ b/FppTest/component/passive/test/ut/Tester.cpp @@ -0,0 +1,119 @@ +// ====================================================================== +// \title PassiveTest/test/ut/Tester.cpp +// \author tiffany +// \brief cpp file for PassiveTest test harness implementation class +// ====================================================================== + +#include "STest/Pick/Pick.hpp" +#include "test/ut/Tester.hpp" + +// ---------------------------------------------------------------------- +// Construction and destruction +// ---------------------------------------------------------------------- + +Tester ::Tester() + : PassiveTestGTestBase("Tester", Tester::MAX_HISTORY_SIZE), + component("PassiveTest"), + primitiveBuf(primitiveData, sizeof(primitiveData)), + stringBuf(stringData, sizeof(stringData)), + enumBuf(enumData, sizeof(enumData)), + arrayBuf(arrayData, sizeof(arrayData)), + structBuf(structData, sizeof(structData)), + serialBuf(serialData, sizeof(serialData)), + time(STest::Pick::any(), STest::Pick::any()) { + this->initComponents(); + this->connectPorts(); +} + +Tester ::~Tester() {} + +void Tester ::initComponents() { + this->init(); + this->component.init(Tester::TEST_INSTANCE_ID); +} + +Fw::ParamValid Tester ::from_prmGetIn_handler(const NATIVE_INT_TYPE portNum, FwPrmIdType id, Fw::ParamBuffer& val) { + val.resetSer(); + + Fw::SerializeStatus status; + U32 id_base = component.getIdBase(); + + FW_ASSERT(id >= id_base); + + switch (id - id_base) { + case PassiveTestComponentBase::PARAMID_PARAMBOOL: + status = val.serialize(boolPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case PassiveTestComponentBase::PARAMID_PARAMU32: + status = val.serialize(u32Prm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case PassiveTestComponentBase::PARAMID_PARAMSTRING: + status = val.serialize(stringPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case PassiveTestComponentBase::PARAMID_PARAMENUM: + status = val.serialize(enumPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case PassiveTestComponentBase::PARAMID_PARAMARRAY: + status = val.serialize(arrayPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case PassiveTestComponentBase::PARAMID_PARAMSTRUCT: + status = val.serialize(structPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + } + + this->pushFromPortEntry_prmGetIn(id, val); + + return prmValid; +} + +void Tester ::from_prmSetIn_handler(const NATIVE_INT_TYPE portNum, FwPrmIdType id, Fw::ParamBuffer& val) { + Fw::SerializeStatus status; + U32 id_base = component.getIdBase(); + + FW_ASSERT(id >= id_base); + + switch (id - id_base) { + case PassiveTestComponentBase::PARAMID_PARAMBOOL: + status = val.deserialize(boolPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case PassiveTestComponentBase::PARAMID_PARAMU32: + status = val.deserialize(u32Prm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case PassiveTestComponentBase::PARAMID_PARAMSTRING: + status = val.deserialize(stringPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case PassiveTestComponentBase::PARAMID_PARAMENUM: + status = val.deserialize(enumPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case PassiveTestComponentBase::PARAMID_PARAMARRAY: + status = val.deserialize(arrayPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case PassiveTestComponentBase::PARAMID_PARAMSTRUCT: + status = val.deserialize(structPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + } + + this->pushFromPortEntry_prmSetIn(id, val); +} diff --git a/FppTest/component/passive/test/ut/Tester.hpp b/FppTest/component/passive/test/ut/Tester.hpp new file mode 100644 index 0000000000..74e3479d25 --- /dev/null +++ b/FppTest/component/passive/test/ut/Tester.hpp @@ -0,0 +1,287 @@ +// ====================================================================== +// \title PassiveTest/test/ut/Tester.hpp +// \author tiffany +// \brief hpp file for PassiveTest test harness implementation class +// ====================================================================== + +#ifndef TESTER_HPP +#define TESTER_HPP + +#include "FppTest/component/active/SerialPortIndexEnumAc.hpp" +#include "FppTest/component/active/TypedPortIndexEnumAc.hpp" +#include "FppTest/component/passive/PassiveTest.hpp" +#include "FppTest/component/tests/CmdTests.hpp" +#include "FppTest/component/tests/EventTests.hpp" +#include "FppTest/component/tests/ParamTests.hpp" +#include "FppTest/component/tests/PortTests.hpp" +#include "FppTest/component/tests/TlmTests.hpp" +#include "FppTest/component/types/FormalParamTypes.hpp" +#include "GTestBase.hpp" + +class Tester : public PassiveTestGTestBase { + // ---------------------------------------------------------------------- + // Construction and destruction + // ---------------------------------------------------------------------- + + public: + // Maximum size of histories storing events, telemetry, and port outputs + static const NATIVE_INT_TYPE MAX_HISTORY_SIZE = 100; + // Instance ID supplied to the component instance under test + static const NATIVE_INT_TYPE TEST_INSTANCE_ID = 0; + // Queue depth supplied to component instance under test + static const NATIVE_INT_TYPE TEST_INSTANCE_QUEUE_DEPTH = 10; + + //! Construct object Tester + //! + Tester(); + + //! Destroy object Tester + //! + ~Tester(); + + public: + // ---------------------------------------------------------------------- + // Tests + // ---------------------------------------------------------------------- + + PORT_TEST_DECLS + + CMD_TEST_DECLS + + EVENT_TEST_DECLS + + TLM_TEST_DECLS + + void testParam(); + + PARAM_CMD_TEST_DECLS + + void testTime(); + + PRIVATE: + // ---------------------------------------------------------------------- + // Handlers for typed from ports + // ---------------------------------------------------------------------- + + //! Handler for from_arrayArgsOut + //! + void from_arrayArgsOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + const FormalParamArray& a, /*!< + An array + */ + FormalParamArray& aRef /*!< + An array ref + */ + ); + + //! Handler for from_arrayReturnOut + //! + FormalParamArray from_arrayReturnOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + const FormalParamArray& a, /*!< + An array + */ + FormalParamArray& aRef /*!< + An array ref + */ + ); + + //! Handler for from_enumArgsOut + //! + void from_enumArgsOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + const FormalParamEnum& en, /*!< + An enum + */ + FormalParamEnum& enRef /*!< + An enum ref + */ + ); + + //! Handler for from_enumReturnOut + //! + FormalParamEnum from_enumReturnOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + const FormalParamEnum& en, /*!< + An enum + */ + FormalParamEnum& enRef /*!< + An enum ref + */ + ); + + //! Handler for from_noArgsOut + //! + void from_noArgsOut_handler(const NATIVE_INT_TYPE portNum /*!< The port number*/ + ); + + //! Handler for from_noArgsReturnOut + //! + bool from_noArgsReturnOut_handler(const NATIVE_INT_TYPE portNum /*!< The port number*/ + ); + + //! Handler for from_primitiveArgsOut + //! + void from_primitiveArgsOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + U32 u32, + U32& u32Ref, + F32 f32, + F32& f32Ref, + bool b, + bool& bRef); + + //! Handler for from_primitiveReturnOut + //! + U32 from_primitiveReturnOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + U32 u32, + U32& u32Ref, + F32 f32, + F32& f32Ref, + bool b, + bool& bRef); + + //! Handler for from_prmGetIn + //! + Fw::ParamValid from_prmGetIn_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + FwPrmIdType id, /*!< + Parameter ID + */ + Fw::ParamBuffer& val /*!< + Buffer containing serialized parameter value + */ + ); + + //! Handler for from_prmGetIn + //! + void from_prmSetIn_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + FwPrmIdType id, /*!< + Parameter ID + */ + Fw::ParamBuffer& val /*!< + Buffer containing serialized parameter value + */ + ); + + //! Handler for from_stringArgsOut + //! + void from_stringArgsOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + const str80String& str80, /*!< + A string of size 80 + */ + str80RefString& str80Ref, + const str100String& str100, /*!< + A string of size 100 + */ + str100RefString& str100Ref); + + //! Handler for from_structArgsOut + //! + void from_structArgsOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + const FormalParamStruct& s, /*!< + A struct + */ + FormalParamStruct& sRef /*!< + A struct ref + */ + ); + + //! Handler for from_structReturnOut + //! + FormalParamStruct from_structReturnOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + const FormalParamStruct& s, /*!< + A struct + */ + FormalParamStruct& sRef /*!< + A struct ref + */ + ); + + void cmdResponseIn(const FwOpcodeType opCode, const U32 cmdSeq, const Fw::CmdResponse response); + + PRIVATE: + // ---------------------------------------------------------------------- + // Handlers for serial from ports + // ---------------------------------------------------------------------- + + //! Handler for from_serialOut + //! + void from_serialOut_handler(NATIVE_INT_TYPE portNum, /*!< The port number*/ + Fw::SerializeBufferBase& Buffer /*!< The serialization buffer*/ + ); + + public: + // ---------------------------------------------------------------------- + // Helper methods + // ---------------------------------------------------------------------- + + //! Connect ports + //! + void connectPorts(); + + //! Connect prmSetIn port + void connectPrmSetIn(); + + //! Connect timeGetOut port + void connectTimeGetOut(); + + //! Connect serial ports to special ports + void connectSpecialPortsSerial(); + + //! Set prmValid + void setPrmValid(Fw::ParamValid valid); + + //! Initialize components + //! + void initComponents(); + + //! Check successful status of a serial port invocation + void checkSerializeStatusSuccess(); + + //! Check unsuccessful status of a serial port invocation + void checkSerializeStatusBufferEmpty(); + + PRIVATE: + // ---------------------------------------------------------------------- + // Variables + // ---------------------------------------------------------------------- + + //! The component under test + //! + PassiveTest component; + + // Values returned by typed output ports + FppTest::Types::BoolType noParamReturnVal; + FppTest::Types::U32Type primitiveReturnVal; + FppTest::Types::EnumType enumReturnVal; + FppTest::Types::ArrayType arrayReturnVal; + FppTest::Types::StructType structReturnVal; + + // Buffers from serial output ports; + U8 primitiveData[InputPrimitiveArgsPort::SERIALIZED_SIZE]; + U8 stringData[InputStringArgsPort::SERIALIZED_SIZE]; + U8 enumData[InputEnumArgsPort::SERIALIZED_SIZE]; + U8 arrayData[InputArrayArgsPort::SERIALIZED_SIZE]; + U8 structData[InputStructArgsPort::SERIALIZED_SIZE]; + U8 serialData[SERIAL_ARGS_BUFFER_CAPACITY]; + + Fw::SerialBuffer primitiveBuf; + Fw::SerialBuffer stringBuf; + Fw::SerialBuffer enumBuf; + Fw::SerialBuffer arrayBuf; + Fw::SerialBuffer structBuf; + Fw::SerialBuffer serialBuf; + + // Command test values + Fw::CmdResponse cmdResp; + + // Parameter test values + FppTest::Types::BoolParam boolPrm; + FppTest::Types::U32Param u32Prm; + FppTest::Types::PrmStringParam stringPrm; + FppTest::Types::EnumParam enumPrm; + FppTest::Types::ArrayParam arrayPrm; + FppTest::Types::StructParam structPrm; + Fw::ParamValid prmValid; + + // Time test values + Fw::Time time; +}; + +#endif diff --git a/FppTest/component/queued/CMakeLists.txt b/FppTest/component/queued/CMakeLists.txt new file mode 100644 index 0000000000..35e598d802 --- /dev/null +++ b/FppTest/component/queued/CMakeLists.txt @@ -0,0 +1,51 @@ +# ====================================================================== +# CMakeLists.txt +# ====================================================================== + +set(SOURCE_FILES + "${CMAKE_CURRENT_LIST_DIR}/queued.fpp" + "${CMAKE_CURRENT_LIST_DIR}/QueuedTest.cpp" +) + +register_fprime_module() + +# Sets MODULE_NAME to unique name based on path +get_module_name(${CMAKE_CURRENT_LIST_DIR}) + +# Exclude test module from all build +set_target_properties( + ${MODULE_NAME} + PROPERTIES + EXCLUDE_FROM_ALL TRUE +) + +# Declare dependencies on test modules +set(UT_MOD_DEPS + Fw/Test + STest +) + +# Add unit test directory +# UT_SOURCE_FILES: Sources for unit test +set(UT_SOURCE_FILES + "${CMAKE_CURRENT_LIST_DIR}/queued.fpp" + "${CMAKE_CURRENT_LIST_DIR}/test/ut/Tester.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/TestMain.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/Tests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/TesterHandlers.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/TesterHelpers.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/PortTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/CmdTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/EventTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/TlmTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/ParamTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/TimeTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/InternalInterfaceTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/AsyncTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/AsyncTesterHelpers.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/AsyncPortTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../tests/AsyncCmdTests.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../types/FormalParamTypes.cpp" + "${CMAKE_CURRENT_LIST_DIR}/../../utils/Utils.cpp" +) +register_fprime_ut() diff --git a/FppTest/component/queued/QueuedTest.cpp b/FppTest/component/queued/QueuedTest.cpp new file mode 100644 index 0000000000..682f200914 --- /dev/null +++ b/FppTest/component/queued/QueuedTest.cpp @@ -0,0 +1,698 @@ +// ====================================================================== +// \title QueuedTest.cpp +// \author tiffany +// \brief cpp file for QueuedTest component implementation class +// ====================================================================== + + +#include "QueuedTest.hpp" +#include + +#include "FppTest/component/active/SerialPortIndexEnumAc.hpp" + + // ---------------------------------------------------------------------- + // Construction, initialization, and destruction + // ---------------------------------------------------------------------- + + QueuedTest :: + QueuedTest( + const char *const compName + ) : QueuedTestComponentBase(compName) + { + + } + + void QueuedTest :: + init( + NATIVE_INT_TYPE queueDepth, + NATIVE_INT_TYPE msgSize, + NATIVE_INT_TYPE instance + ) + { + QueuedTestComponentBase::init(queueDepth, msgSize, instance); + } + + QueuedTest :: + ~QueuedTest() + { + + } + + // ---------------------------------------------------------------------- + // Handler implementations for user-defined typed input ports + // ---------------------------------------------------------------------- + + void QueuedTest :: + arrayArgsAsync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamArray &a, + FormalParamArray &aRef + ) + { + this->arrayArgsOut_out(portNum, a, aRef); + } + + void QueuedTest :: + enumArgsAsync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamEnum &en, + FormalParamEnum &enRef + ) + { + this->enumArgsOut_out(portNum, en, enRef); + } + + void QueuedTest :: + noArgsAsync_handler( + const NATIVE_INT_TYPE portNum + ) + { + this->noArgsOut_out(portNum); + } + + void QueuedTest :: + primitiveArgsAsync_handler( + const NATIVE_INT_TYPE portNum, + U32 u32, + U32 &u32Ref, + F32 f32, + F32 &f32Ref, + bool b, + bool &bRef + ) + { + this->primitiveArgsOut_out( + portNum, + u32, + u32Ref, + f32, + f32Ref, + b, + bRef + ); + } + + void QueuedTest :: + structArgsAsync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamStruct &s, + FormalParamStruct &sRef + ) + { + this->structArgsOut_out(portNum, s, sRef); + } + void QueuedTest :: + stringArgsAsync_handler( + const NATIVE_INT_TYPE portNum, + const str80String &str80, + str80RefString &str80Ref, + const str100String &str100, + str100RefString &str100Ref + ) + { + this->stringArgsOut_out( + portNum, + str80, + str80Ref, + str100, + str100Ref + ); + } + + void QueuedTest :: + arrayArgsGuarded_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamArray &a, + FormalParamArray &aRef + ) + { + this->arrayArgsOut_out(portNum, a, aRef); + } + + void QueuedTest :: + arrayArgsSync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamArray &a, + FormalParamArray &aRef + ) + { + this->arrayArgsOut_out(portNum, a, aRef); + } + + FormalParamArray QueuedTest :: + arrayReturnGuarded_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamArray &a, + FormalParamArray &aRef + ) + { + return this->arrayReturnOut_out(portNum, a, aRef); + } + + FormalParamArray QueuedTest :: + arrayReturnSync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamArray &a, + FormalParamArray &aRef + ) + { + return this->arrayReturnOut_out(portNum, a, aRef); + } + + void QueuedTest :: + cmdOut_handler( + NATIVE_INT_TYPE portNum, + FwOpcodeType opCode, + U32 cmdSeq, + Fw::CmdArgBuffer& args + ) + { + } + + void QueuedTest :: + enumArgsGuarded_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamEnum &en, + FormalParamEnum &enRef + ) + { + this->enumArgsOut_out(portNum, en, enRef); + } + + void QueuedTest :: + enumArgsSync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamEnum &en, + FormalParamEnum &enRef + ) + { + this->enumArgsOut_out(portNum, en, enRef); + } + + FormalParamEnum QueuedTest :: + enumReturnGuarded_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamEnum &en, + FormalParamEnum &enRef + ) + { + return this->enumReturnOut_out(portNum, en, enRef); + } + + FormalParamEnum QueuedTest :: + enumReturnSync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamEnum &en, + FormalParamEnum &enRef + ) + { + return this->enumReturnOut_out(portNum, en, enRef); + } + + void QueuedTest :: + noArgsGuarded_handler( + const NATIVE_INT_TYPE portNum + ) + { + this->noArgsOut_out(portNum); + } + + bool QueuedTest :: + noArgsReturnGuarded_handler( + const NATIVE_INT_TYPE portNum + ) + { + return this->noArgsReturnOut_out(portNum); + } + + bool QueuedTest :: + noArgsReturnSync_handler( + const NATIVE_INT_TYPE portNum + ) + { + return this->noArgsReturnOut_out(portNum); + } + + void QueuedTest :: + noArgsSync_handler( + const NATIVE_INT_TYPE portNum + ) + { + this->noArgsOut_out(portNum); + } + + void QueuedTest :: + primitiveArgsGuarded_handler( + const NATIVE_INT_TYPE portNum, + U32 u32, + U32 &u32Ref, + F32 f32, + F32 &f32Ref, + bool b, + bool &bRef + ) + { + this->primitiveArgsOut_out( + portNum, + u32, + u32Ref, + f32, + f32Ref, + b, + bRef + ); + } + + void QueuedTest :: + primitiveArgsSync_handler( + const NATIVE_INT_TYPE portNum, + U32 u32, + U32 &u32Ref, + F32 f32, + F32 &f32Ref, + bool b, + bool &bRef + ) + { + this->primitiveArgsOut_out( + portNum, + u32, + u32Ref, + f32, + f32Ref, + b, + bRef + ); + } + + U32 QueuedTest :: + primitiveReturnGuarded_handler( + const NATIVE_INT_TYPE portNum, + U32 u32, + U32 &u32Ref, + F32 f32, + F32 &f32Ref, + bool b, + bool &bRef + ) + { + return this->primitiveReturnOut_out( + portNum, + u32, + u32Ref, + f32, + f32Ref, + b, + bRef + ); + } + + U32 QueuedTest :: + primitiveReturnSync_handler( + const NATIVE_INT_TYPE portNum, + U32 u32, + U32 &u32Ref, + F32 f32, + F32 &f32Ref, + bool b, + bool &bRef + ) + { + return this->primitiveReturnOut_out( + portNum, + u32, + u32Ref, + f32, + f32Ref, + b, + bRef + ); + } + + void QueuedTest :: + stringArgsGuarded_handler( + const NATIVE_INT_TYPE portNum, + const str80String &str80, + str80RefString &str80Ref, + const str100String &str100, + str100RefString &str100Ref + ) + { + this->stringArgsOut_out( + portNum, + str80, + str80Ref, + str100, + str100Ref + ); + } + + void QueuedTest :: + stringArgsSync_handler( + const NATIVE_INT_TYPE portNum, + const str80String &str80, + str80RefString &str80Ref, + const str100String &str100, + str100RefString &str100Ref + ) + { + this->stringArgsOut_out( + portNum, + str80, + str80Ref, + str100, + str100Ref + ); + } + + void QueuedTest :: + structArgsGuarded_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamStruct &s, + FormalParamStruct &sRef + ) + { + this->structArgsOut_out(portNum, s, sRef); + } + + void QueuedTest :: + structArgsSync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamStruct &s, + FormalParamStruct &sRef + ) + { + this->structArgsOut_out(portNum, s, sRef); + } + + FormalParamStruct QueuedTest :: + structReturnGuarded_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamStruct &s, + FormalParamStruct &sRef + ) + { + return this->structReturnOut_out(portNum, s, sRef); + } + + FormalParamStruct QueuedTest :: + structReturnSync_handler( + const NATIVE_INT_TYPE portNum, + const FormalParamStruct &s, + FormalParamStruct &sRef + ) + { + return this->structReturnOut_out(portNum, s, sRef); + } + + // ---------------------------------------------------------------------- + // Handler implementations for user-defined serial input ports + // ---------------------------------------------------------------------- + + void QueuedTest :: + serialAsync_handler( + NATIVE_INT_TYPE portNum, /*!< The port number*/ + Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ + ) + { + this->serializeStatus = this->serialOut_out(portNum, Buffer); + } + + void QueuedTest :: + serialAsyncAssert_handler( + NATIVE_INT_TYPE portNum, /*!< The port number*/ + Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ + ) + { + this->serializeStatus = this->serialOut_out(SerialPortIndex::ENUM, Buffer); + } + + void QueuedTest :: + serialAsyncBlockPriority_handler( + NATIVE_INT_TYPE portNum, /*!< The port number*/ + Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ + ) + { + this->serializeStatus = this->serialOut_out(SerialPortIndex::ARRAY, Buffer); + } + + void QueuedTest :: + serialAsyncDropPriority_handler( + NATIVE_INT_TYPE portNum, /*!< The port number*/ + Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ + ) + { + this->serializeStatus = this->serialOut_out(SerialPortIndex::STRUCT, Buffer); + } + + void QueuedTest :: + serialGuarded_handler( + NATIVE_INT_TYPE portNum, /*!< The port number*/ + Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ + ) + { + this->serializeStatus = this->serialOut_out(portNum, Buffer); + } + + void QueuedTest :: + serialSync_handler( + NATIVE_INT_TYPE portNum, /*!< The port number*/ + Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ + ) + { + this->serializeStatus = this->serialOut_out(portNum, Buffer); + } + + // ---------------------------------------------------------------------- + // Command handler implementations + // ---------------------------------------------------------------------- + + void QueuedTest :: + CMD_ASYNC_NO_ARGS_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq + ) + { + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void QueuedTest :: + CMD_ASYNC_PRIMITIVE_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + U32 u32_1, + U32 u32_2, + F32 f32_1, + F32 f32_2, + bool b1, + bool b2 + ) + { + this->primitiveCmd.args.val1 = u32_1; + this->primitiveCmd.args.val2 = u32_2; + this->primitiveCmd.args.val3 = f32_1; + this->primitiveCmd.args.val4 = f32_2; + this->primitiveCmd.args.val5 = b1; + this->primitiveCmd.args.val6 = b2; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void QueuedTest :: + CMD_ASYNC_STRINGS_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + const Fw::CmdStringArg& str1, + const Fw::CmdStringArg& str2 + ) + { + this->stringCmd.args.val1 = str1; + this->stringCmd.args.val2 = str2; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void QueuedTest :: + CMD_ASYNC_ENUM_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + FormalParamEnum en + ) + { + this->enumCmd.args.val = en; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void QueuedTest :: + CMD_ASYNC_ARRAY_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + FormalParamArray arr + ) + { + this->arrayCmd.args.val = arr; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void QueuedTest :: + CMD_ASYNC_STRUCT_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + FormalParamStruct str + ) + { + this->structCmd.args.val = str; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void QueuedTest :: + CMD_NO_ARGS_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq + ) + { + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void QueuedTest :: + CMD_PRIMITIVE_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + U32 u32_1, + U32 u32_2, + F32 f32_1, + F32 f32_2, + bool b1, + bool b2 + ) + { + this->primitiveCmd.args.val1 = u32_1; + this->primitiveCmd.args.val2 = u32_2; + this->primitiveCmd.args.val3 = f32_1; + this->primitiveCmd.args.val4 = f32_2; + this->primitiveCmd.args.val5 = b1; + this->primitiveCmd.args.val6 = b2; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void QueuedTest :: + CMD_STRINGS_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + const Fw::CmdStringArg& str1, + const Fw::CmdStringArg& str2 + ) + { + this->stringCmd.args.val1 = str1; + this->stringCmd.args.val2 = str2; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void QueuedTest :: + CMD_ENUM_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + FormalParamEnum en + ) + { + this->enumCmd.args.val = en; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void QueuedTest :: + CMD_ARRAY_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + FormalParamArray arr + ) + { + this->arrayCmd.args.val = arr; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + void QueuedTest :: + CMD_STRUCT_cmdHandler( + const FwOpcodeType opCode, + const U32 cmdSeq, + FormalParamStruct str + ) + { + this->structCmd.args.val = str; + + this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); + } + + // ---------------------------------------------------------------------- + // Internal interface handlers + // ---------------------------------------------------------------------- + + //! Internal interface handler for internalArray + void QueuedTest :: + internalArray_internalInterfaceHandler( + const FormalParamArray& arr //!< An array + ) + { + this->arrayInterface.args.val = arr; + } + + //! Internal interface handler for internalEnum + void QueuedTest :: + internalEnum_internalInterfaceHandler( + const FormalParamEnum& en //!< An enum + ) + { + this->enumInterface.args.val = en; + } + + //! Internal interface handler for internalNoArgs + void QueuedTest :: + internalNoArgs_internalInterfaceHandler() + { + } + + //! Internal interface handler for internalPrimitive + void QueuedTest :: + internalPrimitive_internalInterfaceHandler( + U32 u32_1, //!< A U32 + U32 u32_2, //!< A U32 + F32 f32_1, //!< An F32 + F32 f32_2, //!< An F32 + bool b1, //!< A boolean + bool b2 //!< A boolean + ) + { + this->primitiveInterface.args.val1 = u32_1; + this->primitiveInterface.args.val2 = u32_2; + this->primitiveInterface.args.val3 = f32_1; + this->primitiveInterface.args.val4 = f32_2; + this->primitiveInterface.args.val5 = b1; + this->primitiveInterface.args.val6 = b2; + } + + //! Internal interface handler for internalString + void QueuedTest :: + internalString_internalInterfaceHandler( + const Fw::InternalInterfaceString& str1, //!< A string + const Fw::InternalInterfaceString& str2 //!< Another string + ) + { + this->stringInterface.args.val1 = str1; + this->stringInterface.args.val2 = str2; + } + + //! Internal interface handler for internalStruct + void QueuedTest :: + internalStruct_internalInterfaceHandler( + const FormalParamStruct& str //!< A struct + ) + { + this->structInterface.args.val = str; + } + diff --git a/FppTest/component/queued/QueuedTest.hpp b/FppTest/component/queued/QueuedTest.hpp new file mode 100644 index 0000000000..6b3c6ceca9 --- /dev/null +++ b/FppTest/component/queued/QueuedTest.hpp @@ -0,0 +1,469 @@ +// ====================================================================== +// \title QueuedTest.hpp +// \author tiffany +// \brief hpp file for QueuedTest component implementation class +// ====================================================================== + +#ifndef QueuedTest_HPP +#define QueuedTest_HPP + +#include "FppTest/component/queued/QueuedTestComponentAc.hpp" +#include "FppTest/component/types/FormalParamTypes.hpp" + + +class QueuedTest : + public QueuedTestComponentBase +{ + + public: + + // ---------------------------------------------------------------------- + // Component construction and destruction + // ---------------------------------------------------------------------- + + //! Construct QueuedTest object + QueuedTest( + const char* const compName //!< The component name + ); + + //! Initialize QueuedTest object + void init( + NATIVE_INT_TYPE queueDepth, //!< The queue depth + NATIVE_INT_TYPE msgSize, //!< The message size + NATIVE_INT_TYPE instance = 0 //!< The instance number + ); + + //! Destroy QueuedTest object + ~QueuedTest(); + + PRIVATE: + + // ---------------------------------------------------------------------- + // Handler implementations for user-defined typed input ports + // ---------------------------------------------------------------------- + + //! Handler implementation for arrayArgsAsync + void arrayArgsAsync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamArray& a, //!< An array + FormalParamArray& aRef //!< An array ref + ); + + //! Handler implementation for arrayArgsGuarded + void arrayArgsGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamArray& a, //!< An array + FormalParamArray& aRef //!< An array ref + ); + + //! Handler implementation for arrayArgsSync + void arrayArgsSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamArray& a, //!< An array + FormalParamArray& aRef //!< An array ref + ); + + //! Handler implementation for arrayReturnGuarded + FormalParamArray arrayReturnGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamArray& a, //!< An array + FormalParamArray& aRef //!< An array ref + ); + + //! Handler implementation for arrayReturnSync + FormalParamArray arrayReturnSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamArray& a, //!< An array + FormalParamArray& aRef //!< An array ref + ); + + //! Handler implementation for cmdOut + void cmdOut_handler( + NATIVE_INT_TYPE portNum, //!< The port number + FwOpcodeType opCode, //!< Command Op Code + U32 cmdSeq, //!< Command Sequence + Fw::CmdArgBuffer& args //!< Buffer containing arguments + ); + + //! Handler implementation for enumArgsAsync + void enumArgsAsync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamEnum& en, //!< An enum + FormalParamEnum& enRef //!< An enum ref + ); + + //! Handler implementation for enumArgsGuarded + void enumArgsGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamEnum& en, //!< An enum + FormalParamEnum& enRef //!< An enum ref + ); + + //! Handler implementation for enumArgsSync + void enumArgsSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamEnum& en, //!< An enum + FormalParamEnum& enRef //!< An enum ref + ); + + //! Handler implementation for enumReturnGuarded + FormalParamEnum enumReturnGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamEnum& en, //!< An enum + FormalParamEnum& enRef //!< An enum ref + ); + + //! Handler implementation for enumReturnSync + FormalParamEnum enumReturnSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamEnum& en, //!< An enum + FormalParamEnum& enRef //!< An enum ref + ); + + //! Handler implementation for noArgsAsync + void noArgsAsync_handler( + NATIVE_INT_TYPE portNum //!< The port number + ); + + //! Handler implementation for noArgsGuarded + void noArgsGuarded_handler( + NATIVE_INT_TYPE portNum //!< The port number + ); + + //! Handler implementation for noArgsReturnGuarded + bool noArgsReturnGuarded_handler( + NATIVE_INT_TYPE portNum //!< The port number + ); + + //! Handler implementation for noArgsReturnSync + bool noArgsReturnSync_handler( + NATIVE_INT_TYPE portNum //!< The port number + ); + + //! Handler implementation for noArgsSync + void noArgsSync_handler( + NATIVE_INT_TYPE portNum //!< The port number + ); + + //! Handler implementation for primitiveArgsAsync + void primitiveArgsAsync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + U32 u32, + U32& u32Ref, + F32 f32, + F32& f32Ref, + bool b, + bool& bRef + ); + + //! Handler implementation for primitiveArgsGuarded + void primitiveArgsGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + U32 u32, + U32& u32Ref, + F32 f32, + F32& f32Ref, + bool b, + bool& bRef + ); + + //! Handler implementation for primitiveArgsSync + void primitiveArgsSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + U32 u32, + U32& u32Ref, + F32 f32, + F32& f32Ref, + bool b, + bool& bRef + ); + + //! Handler implementation for primitiveReturnGuarded + U32 primitiveReturnGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + U32 u32, + U32& u32Ref, + F32 f32, + F32& f32Ref, + bool b, + bool& bRef + ); + + //! Handler implementation for primitiveReturnSync + U32 primitiveReturnSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + U32 u32, + U32& u32Ref, + F32 f32, + F32& f32Ref, + bool b, + bool& bRef + ); + + //! Handler implementation for stringArgsAsync + void stringArgsAsync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const StringArgsPortStrings::StringSize80& str80, //!< A string of size 80 + StringArgsPortStrings::StringSize80& str80Ref, + const StringArgsPortStrings::StringSize100& str100, //!< A string of size 100 + StringArgsPortStrings::StringSize100& str100Ref + ); + + //! Handler implementation for stringArgsGuarded + void stringArgsGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const StringArgsPortStrings::StringSize80& str80, //!< A string of size 80 + StringArgsPortStrings::StringSize80& str80Ref, + const StringArgsPortStrings::StringSize100& str100, //!< A string of size 100 + StringArgsPortStrings::StringSize100& str100Ref + ); + + //! Handler implementation for stringArgsSync + void stringArgsSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const StringArgsPortStrings::StringSize80& str80, //!< A string of size 80 + StringArgsPortStrings::StringSize80& str80Ref, + const StringArgsPortStrings::StringSize100& str100, //!< A string of size 100 + StringArgsPortStrings::StringSize100& str100Ref + ); + + //! Handler implementation for structArgsAsync + void structArgsAsync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamStruct& s, //!< A struct + FormalParamStruct& sRef //!< A struct ref + ); + + //! Handler implementation for structArgsGuarded + void structArgsGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamStruct& s, //!< A struct + FormalParamStruct& sRef //!< A struct ref + ); + + //! Handler implementation for structArgsSync + void structArgsSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamStruct& s, //!< A struct + FormalParamStruct& sRef //!< A struct ref + ); + + //! Handler implementation for structReturnGuarded + FormalParamStruct structReturnGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamStruct& s, //!< A struct + FormalParamStruct& sRef //!< A struct ref + ); + + //! Handler implementation for structReturnSync + FormalParamStruct structReturnSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + const FormalParamStruct& s, //!< A struct + FormalParamStruct& sRef //!< A struct ref + ); + + PRIVATE: + + // ---------------------------------------------------------------------- + // Handler implementations for user-defined serial input ports + // ---------------------------------------------------------------------- + + //! Handler implementation for serialAsync + void serialAsync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + Fw::SerializeBufferBase& buffer //!< The serialization buffer + ); + + //! Handler implementation for serialAsyncAssert + void serialAsyncAssert_handler( + NATIVE_INT_TYPE portNum, //!< The port number + Fw::SerializeBufferBase& buffer //!< The serialization buffer + ); + + //! Handler implementation for serialAsyncBlockPriority + void serialAsyncBlockPriority_handler( + NATIVE_INT_TYPE portNum, //!< The port number + Fw::SerializeBufferBase& buffer //!< The serialization buffer + ); + + //! Handler implementation for serialAsyncDropPriority + void serialAsyncDropPriority_handler( + NATIVE_INT_TYPE portNum, //!< The port number + Fw::SerializeBufferBase& buffer //!< The serialization buffer + ); + + //! Handler implementation for serialGuarded + void serialGuarded_handler( + NATIVE_INT_TYPE portNum, //!< The port number + Fw::SerializeBufferBase& buffer //!< The serialization buffer + ); + + //! Handler implementation for serialSync + void serialSync_handler( + NATIVE_INT_TYPE portNum, //!< The port number + Fw::SerializeBufferBase& buffer //!< The serialization buffer + ); + + PRIVATE: + + // ---------------------------------------------------------------------- + // Handler implementations for commands + // ---------------------------------------------------------------------- + + //! Handler implementation for command CMD_NO_ARGS + void CMD_NO_ARGS_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq //!< The command sequence number + ); + + //! Handler implementation for command CMD_PRIMITIVE + void CMD_PRIMITIVE_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + U32 u32_1, //!< A U32 + U32 u32_2, //!< A U32 + F32 f32_1, //!< An F32 + F32 f32_2, //!< An F32 + bool b1, //!< A boolean + bool b2 //!< A boolean + ); + + //! Handler implementation for command CMD_STRINGS + void CMD_STRINGS_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + const Fw::CmdStringArg& str1, //!< A string + const Fw::CmdStringArg& str2 //!< Another string + ); + + //! Handler implementation for command CMD_ENUM + void CMD_ENUM_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + FormalParamEnum en //!< An enum + ); + + //! Handler implementation for command CMD_ARRAY + void CMD_ARRAY_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + FormalParamArray arr //!< An array + ); + + //! Handler implementation for command CMD_STRUCT + void CMD_STRUCT_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + FormalParamStruct str //!< A struct + ); + + //! Handler implementation for command CMD_ASYNC_NO_ARGS + void CMD_ASYNC_NO_ARGS_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq //!< The command sequence number + ); + + //! Handler implementation for command CMD_ASYNC_PRIMITIVE + void CMD_ASYNC_PRIMITIVE_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + U32 u32_1, //!< A U32 + U32 u32_2, //!< A U32 + F32 f32_1, //!< An F32 + F32 f32_2, //!< An F32 + bool b1, //!< A boolean + bool b2 //!< A boolean + ); + + //! Handler implementation for command CMD_ASYNC_STRINGS + void CMD_ASYNC_STRINGS_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + const Fw::CmdStringArg& str1, //!< A string + const Fw::CmdStringArg& str2 //!< Another string + ); + + //! Handler implementation for command CMD_ASYNC_ENUM + void CMD_ASYNC_ENUM_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + FormalParamEnum en //!< An enum + ); + + //! Handler implementation for command CMD_ASYNC_ARRAY + void CMD_ASYNC_ARRAY_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + FormalParamArray arr //!< An array + ); + + //! Handler implementation for command CMD_ASYNC_STRUCT + void CMD_ASYNC_STRUCT_cmdHandler( + FwOpcodeType opCode, //!< The opcode + U32 cmdSeq, //!< The command sequence number + FormalParamStruct str //!< A struct + ); + + PRIVATE: + + // ---------------------------------------------------------------------- + // Handler implementations for user-defined internal interfaces + // ---------------------------------------------------------------------- + + //! Handler implementation for internalArray + void internalArray_internalInterfaceHandler( + const FormalParamArray& arr //!< An array + ); + + //! Handler implementation for internalEnum + void internalEnum_internalInterfaceHandler( + const FormalParamEnum& en //!< An enum + ); + + //! Handler implementation for internalNoArgs + void internalNoArgs_internalInterfaceHandler(); + + //! Handler implementation for internalPrimitive + void internalPrimitive_internalInterfaceHandler( + U32 u32_1, //!< A U32 + U32 u32_2, //!< A U32 + F32 f32_1, //!< An F32 + F32 f32_2, //!< An F32 + bool b1, //!< A boolean + bool b2 //!< A boolean + ); + + //! Handler implementation for internalString + void internalString_internalInterfaceHandler( + const Fw::InternalInterfaceString& str1, //!< A string + const Fw::InternalInterfaceString& str2 //!< Another string + ); + + //! Handler implementation for internalStruct + void internalStruct_internalInterfaceHandler( + const FormalParamStruct& str //!< A struct + ); + + public: + + //! Enables checking the serialization status of serial port invocations + Fw::SerializeStatus serializeStatus; + + // Command test values + FppTest::Types::PrimitiveParams primitiveCmd; + FppTest::Types::CmdStringParams stringCmd; + FppTest::Types::EnumParam enumCmd; + FppTest::Types::ArrayParam arrayCmd; + FppTest::Types::StructParam structCmd; + + // Internal interface test values + FppTest::Types::PrimitiveParams primitiveInterface; + FppTest::Types::InternalInterfaceStringParams stringInterface; + FppTest::Types::EnumParam enumInterface; + FppTest::Types::ArrayParam arrayInterface; + FppTest::Types::StructParam structInterface; + +}; + + +#endif diff --git a/FppTest/component/queued/queued.fpp b/FppTest/component/queued/queued.fpp new file mode 100644 index 0000000000..7cc8274a6a --- /dev/null +++ b/FppTest/component/queued/queued.fpp @@ -0,0 +1,17 @@ +@ A queued component +queued component QueuedTest { + + include "../include/typed_ports.fppi" + include "../include/typed_ports_async.fppi" + include "../include/serial_ports.fppi" + include "../include/serial_ports_async.fppi" + include "../include/special_ports.fppi" + include "../include/internal_ports.fppi" + + include "../include/commands.fppi" + include "../include/commands_async.fppi" + include "../include/events.fppi" + include "../include/telemetry.fppi" + include "../include/params.fppi" + +} diff --git a/FppTest/component/queued/test/ut/Tester.cpp b/FppTest/component/queued/test/ut/Tester.cpp new file mode 100644 index 0000000000..808b3de3e2 --- /dev/null +++ b/FppTest/component/queued/test/ut/Tester.cpp @@ -0,0 +1,120 @@ +// ====================================================================== +// \title QueuedTest/test/ut/Tester.cpp +// \author tiffany +// \brief cpp file for QueuedTest test harness implementation class +// ====================================================================== + +#include "STest/Pick/Pick.hpp" +#include "test/ut/Tester.hpp" + +// ---------------------------------------------------------------------- +// Construction and destruction +// ---------------------------------------------------------------------- + +Tester ::Tester() + : QueuedTestGTestBase("Tester", Tester::MAX_HISTORY_SIZE), + component("QueuedTest"), + primitiveBuf(primitiveData, sizeof(primitiveData)), + stringBuf(stringData, sizeof(stringData)), + enumBuf(enumData, sizeof(enumData)), + arrayBuf(arrayData, sizeof(arrayData)), + structBuf(structData, sizeof(structData)), + serialBuf(serialData, sizeof(serialData)), + time(STest::Pick::any(), STest::Pick::any()) { + this->initComponents(); + this->connectPorts(); + this->connectAsyncPorts(); +} + +Tester ::~Tester() {} + +void Tester ::initComponents() { + this->init(); + this->component.init(Tester::TEST_INSTANCE_QUEUE_DEPTH, Tester::TEST_INSTANCE_ID); +} + +Fw::ParamValid Tester ::from_prmGetIn_handler(const NATIVE_INT_TYPE portNum, FwPrmIdType id, Fw::ParamBuffer& val) { + val.resetSer(); + + Fw::SerializeStatus status; + U32 id_base = component.getIdBase(); + + FW_ASSERT(id >= id_base); + + switch (id - id_base) { + case QueuedTestComponentBase::PARAMID_PARAMBOOL: + status = val.serialize(boolPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case QueuedTestComponentBase::PARAMID_PARAMU32: + status = val.serialize(u32Prm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case QueuedTestComponentBase::PARAMID_PARAMSTRING: + status = val.serialize(stringPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case QueuedTestComponentBase::PARAMID_PARAMENUM: + status = val.serialize(enumPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case QueuedTestComponentBase::PARAMID_PARAMARRAY: + status = val.serialize(arrayPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case QueuedTestComponentBase::PARAMID_PARAMSTRUCT: + status = val.serialize(structPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + } + + this->pushFromPortEntry_prmGetIn(id, val); + + return prmValid; +} + +void Tester ::from_prmSetIn_handler(const NATIVE_INT_TYPE portNum, FwPrmIdType id, Fw::ParamBuffer& val) { + Fw::SerializeStatus status; + U32 id_base = component.getIdBase(); + + FW_ASSERT(id >= id_base); + + switch (id - id_base) { + case QueuedTestComponentBase::PARAMID_PARAMBOOL: + status = val.deserialize(boolPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case QueuedTestComponentBase::PARAMID_PARAMU32: + status = val.deserialize(u32Prm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case QueuedTestComponentBase::PARAMID_PARAMSTRING: + status = val.deserialize(stringPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case QueuedTestComponentBase::PARAMID_PARAMENUM: + status = val.deserialize(enumPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case QueuedTestComponentBase::PARAMID_PARAMARRAY: + status = val.deserialize(arrayPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + + case QueuedTestComponentBase::PARAMID_PARAMSTRUCT: + status = val.deserialize(structPrm.args.val); + FW_ASSERT(status == Fw::FW_SERIALIZE_OK); + break; + } + + this->pushFromPortEntry_prmSetIn(id, val); +} diff --git a/FppTest/component/queued/test/ut/Tester.hpp b/FppTest/component/queued/test/ut/Tester.hpp new file mode 100644 index 0000000000..169952691e --- /dev/null +++ b/FppTest/component/queued/test/ut/Tester.hpp @@ -0,0 +1,297 @@ +// ====================================================================== +// \title QueuedTest/test/ut/Tester.hpp +// \author tiffany +// \brief hpp file for QueuedTest test harness implementation class +// ====================================================================== + +#ifndef TESTER_HPP +#define TESTER_HPP + +#include "FppTest/component/active/SerialPortIndexEnumAc.hpp" +#include "FppTest/component/active/TypedPortIndexEnumAc.hpp" +#include "FppTest/component/queued/QueuedTest.hpp" +#include "FppTest/component/tests/CmdTests.hpp" +#include "FppTest/component/tests/EventTests.hpp" +#include "FppTest/component/tests/InternalInterfaceTests.hpp" +#include "FppTest/component/tests/ParamTests.hpp" +#include "FppTest/component/tests/PortTests.hpp" +#include "FppTest/component/tests/TlmTests.hpp" +#include "FppTest/component/types/FormalParamTypes.hpp" +#include "GTestBase.hpp" + +class Tester : public QueuedTestGTestBase { + // ---------------------------------------------------------------------- + // Construction and destruction + // ---------------------------------------------------------------------- + + public: + // Maximum size of histories storing events, telemetry, and port outputs + static const NATIVE_INT_TYPE MAX_HISTORY_SIZE = 100; + // Instance ID supplied to the component instance under test + static const NATIVE_INT_TYPE TEST_INSTANCE_ID = 0; + // Queue depth supplied to component instance under test + static const NATIVE_INT_TYPE TEST_INSTANCE_QUEUE_DEPTH = 10; + + //! Construct object Tester + //! + Tester(); + + //! Destroy object Tester + //! + ~Tester(); + + public: + // ---------------------------------------------------------------------- + // Tests + // ---------------------------------------------------------------------- + + PORT_TEST_DECLS + PORT_TEST_DECLS_ASYNC + + CMD_TEST_DECLS + CMD_TEST_DECLS_ASYNC + + EVENT_TEST_DECLS + + TLM_TEST_DECLS + + void testParam(); + PARAM_CMD_TEST_DECLS + + INTERNAL_INT_TEST_DECLS + + void testTime(); + + PRIVATE: + // ---------------------------------------------------------------------- + // Handlers for typed from ports + // ---------------------------------------------------------------------- + + //! Handler for from_arrayArgsOut + //! + void from_arrayArgsOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + const FormalParamArray& a, /*!< + An array + */ + FormalParamArray& aRef /*!< + An array ref + */ + ); + + //! Handler for from_arrayReturnOut + //! + FormalParamArray from_arrayReturnOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + const FormalParamArray& a, /*!< + An array + */ + FormalParamArray& aRef /*!< + An array ref + */ + ); + + //! Handler for from_enumArgsOut + //! + void from_enumArgsOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + const FormalParamEnum& en, /*!< + An enum + */ + FormalParamEnum& enRef /*!< + An enum ref + */ + ); + + //! Handler for from_enumReturnOut + //! + FormalParamEnum from_enumReturnOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + const FormalParamEnum& en, /*!< + An enum + */ + FormalParamEnum& enRef /*!< + An enum ref + */ + ); + + //! Handler for from_noArgsOut + //! + void from_noArgsOut_handler(const NATIVE_INT_TYPE portNum /*!< The port number*/ + ); + + //! Handler for from_noArgsReturnOut + //! + bool from_noArgsReturnOut_handler(const NATIVE_INT_TYPE portNum /*!< The port number*/ + ); + + //! Handler for from_primitiveArgsOut + //! + void from_primitiveArgsOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + U32 u32, + U32& u32Ref, + F32 f32, + F32& f32Ref, + bool b, + bool& bRef); + + //! Handler for from_primitiveReturnOut + //! + U32 from_primitiveReturnOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + U32 u32, + U32& u32Ref, + F32 f32, + F32& f32Ref, + bool b, + bool& bRef); + + //! Handler for from_prmGetIn + //! + Fw::ParamValid from_prmGetIn_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + FwPrmIdType id, /*!< + Parameter ID + */ + Fw::ParamBuffer& val /*!< + Buffer containing serialized parameter value + */ + ); + + //! Handler for from_prmGetIn + //! + void from_prmSetIn_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + FwPrmIdType id, /*!< + Parameter ID + */ + Fw::ParamBuffer& val /*!< + Buffer containing serialized parameter value + */ + ); + + //! Handler for from_stringArgsOut + //! + void from_stringArgsOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + const str80String& str80, /*!< + A string of size 80 + */ + str80RefString& str80Ref, + const str100String& str100, /*!< + A string of size 100 + */ + str100RefString& str100Ref); + + //! Handler for from_structArgsOut + //! + void from_structArgsOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + const FormalParamStruct& s, /*!< + A struct + */ + FormalParamStruct& sRef /*!< + A struct ref + */ + ); + + //! Handler for from_structReturnOut + //! + FormalParamStruct from_structReturnOut_handler(const NATIVE_INT_TYPE portNum, /*!< The port number*/ + const FormalParamStruct& s, /*!< + A struct + */ + FormalParamStruct& sRef /*!< + A struct ref + */ + ); + + void cmdResponseIn(const FwOpcodeType opCode, const U32 cmdSeq, const Fw::CmdResponse response); + + PRIVATE: + // ---------------------------------------------------------------------- + // Handlers for serial from ports + // ---------------------------------------------------------------------- + + //! Handler for from_serialOut + //! + void from_serialOut_handler(NATIVE_INT_TYPE portNum, /*!< The port number*/ + Fw::SerializeBufferBase& Buffer /*!< The serialization buffer*/ + ); + + public: + // ---------------------------------------------------------------------- + // Helper methods + // ---------------------------------------------------------------------- + + //! Connect ports + //! + void connectPorts(); + + //! Connect async ports + void connectAsyncPorts(); + + //! Connect prmSetIn port + void connectPrmSetIn(); + + //! Connect timeGetOut port + void connectTimeGetOut(); + + //! Connect serial ports to special ports + void connectSpecialPortsSerial(); + + //! Set prmValid + void setPrmValid(Fw::ParamValid valid); + + //! Call doDispatch() on component under test + Fw::QueuedComponentBase::MsgDispatchStatus doDispatch(); + + //! Initialize components + //! + void initComponents(); + + //! Check successful status of a serial port invocation + void checkSerializeStatusSuccess(); + + //! Check unsuccessful status of a serial port invocation + void checkSerializeStatusBufferEmpty(); + + PRIVATE: + // ---------------------------------------------------------------------- + // Variables + // ---------------------------------------------------------------------- + + //! The component under test + //! + QueuedTest component; + + // Values returned by typed output ports + FppTest::Types::BoolType noParamReturnVal; + FppTest::Types::U32Type primitiveReturnVal; + FppTest::Types::EnumType enumReturnVal; + FppTest::Types::ArrayType arrayReturnVal; + FppTest::Types::StructType structReturnVal; + + // Buffers from serial output ports; + U8 primitiveData[InputPrimitiveArgsPort::SERIALIZED_SIZE]; + U8 stringData[InputStringArgsPort::SERIALIZED_SIZE]; + U8 enumData[InputEnumArgsPort::SERIALIZED_SIZE]; + U8 arrayData[InputArrayArgsPort::SERIALIZED_SIZE]; + U8 structData[InputStructArgsPort::SERIALIZED_SIZE]; + U8 serialData[SERIAL_ARGS_BUFFER_CAPACITY]; + + Fw::SerialBuffer primitiveBuf; + Fw::SerialBuffer stringBuf; + Fw::SerialBuffer enumBuf; + Fw::SerialBuffer arrayBuf; + Fw::SerialBuffer structBuf; + Fw::SerialBuffer serialBuf; + + // Command test values + Fw::CmdResponse cmdResp; + + // Parameter test values + FppTest::Types::BoolParam boolPrm; + FppTest::Types::U32Param u32Prm; + FppTest::Types::PrmStringParam stringPrm; + FppTest::Types::EnumParam enumPrm; + FppTest::Types::ArrayParam arrayPrm; + FppTest::Types::StructParam structPrm; + Fw::ParamValid prmValid; + + // Time test values + Fw::Time time; +}; + +#endif diff --git a/FppTest/component/queued/test/ut/TesterHelpers.cpp b/FppTest/component/queued/test/ut/TesterHelpers.cpp new file mode 100644 index 0000000000..c28e39e7ad --- /dev/null +++ b/FppTest/component/queued/test/ut/TesterHelpers.cpp @@ -0,0 +1,228 @@ +// ====================================================================== +// \title QueuedTest/test/ut/TesterHelpers.cpp +// \author Auto-generated +// \brief cpp file for QueuedTest component test harness base class +// +// NOTE: this file was automatically generated +// +// ====================================================================== +#include "Tester.hpp" + +// ---------------------------------------------------------------------- +// Helper methods +// ---------------------------------------------------------------------- + +void Tester ::connectPorts() { + // arrayArgsAsyncBlockPriority + this->connect_to_arrayArgsAsyncBlockPriority(0, this->component.get_arrayArgsAsyncBlockPriority_InputPort(0)); + + // arrayArgsGuarded + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_arrayArgsGuarded(i, this->component.get_arrayArgsGuarded_InputPort(i)); + } + + // arrayArgsSync + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_arrayArgsSync(i, this->component.get_arrayArgsSync_InputPort(i)); + } + + // arrayReturnGuarded + this->connect_to_arrayReturnGuarded(0, this->component.get_arrayReturnGuarded_InputPort(0)); + + // arrayReturnSync + this->connect_to_arrayReturnSync(0, this->component.get_arrayReturnSync_InputPort(0)); + + // cmdIn + this->connect_to_cmdIn(0, this->component.get_cmdIn_InputPort(0)); + + // enumArgsAsyncAssert + this->connect_to_enumArgsAsyncAssert(0, this->component.get_enumArgsAsyncAssert_InputPort(0)); + + // enumArgsGuarded + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_enumArgsGuarded(i, this->component.get_enumArgsGuarded_InputPort(i)); + } + + // enumArgsSync + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_enumArgsSync(i, this->component.get_enumArgsSync_InputPort(i)); + } + + // enumReturnGuarded + this->connect_to_enumReturnGuarded(0, this->component.get_enumReturnGuarded_InputPort(0)); + + // enumReturnSync + this->connect_to_enumReturnSync(0, this->component.get_enumReturnSync_InputPort(0)); + + // noArgsAsync + this->connect_to_noArgsAsync(0, this->component.get_noArgsAsync_InputPort(0)); + + // noArgsGuarded + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_noArgsGuarded(i, this->component.get_noArgsGuarded_InputPort(i)); + } + + // noArgsReturnGuarded + this->connect_to_noArgsReturnGuarded(0, this->component.get_noArgsReturnGuarded_InputPort(0)); + + // noArgsReturnSync + this->connect_to_noArgsReturnSync(0, this->component.get_noArgsReturnSync_InputPort(0)); + + // noArgsSync + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_noArgsSync(i, this->component.get_noArgsSync_InputPort(i)); + } + + // primitiveArgsAsync + this->connect_to_primitiveArgsAsync(0, this->component.get_primitiveArgsAsync_InputPort(0)); + + // primitiveArgsGuarded + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_primitiveArgsGuarded(i, this->component.get_primitiveArgsGuarded_InputPort(i)); + } + + // primitiveArgsSync + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_primitiveArgsSync(i, this->component.get_primitiveArgsSync_InputPort(i)); + } + + // primitiveReturnGuarded + this->connect_to_primitiveReturnGuarded(0, this->component.get_primitiveReturnGuarded_InputPort(0)); + + // primitiveReturnSync + this->connect_to_primitiveReturnSync(0, this->component.get_primitiveReturnSync_InputPort(0)); + + // stringArgsAsync + this->connect_to_stringArgsAsync(0, this->component.get_stringArgsAsync_InputPort(0)); + + // stringArgsGuarded + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_stringArgsGuarded(i, this->component.get_stringArgsGuarded_InputPort(i)); + } + + // stringArgsSync + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_stringArgsSync(i, this->component.get_stringArgsSync_InputPort(i)); + } + + // structArgsAsyncDropPriority + this->connect_to_structArgsAsyncDropPriority(0, this->component.get_structArgsAsyncDropPriority_InputPort(0)); + + // structArgsGuarded + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_structArgsGuarded(i, this->component.get_structArgsGuarded_InputPort(i)); + } + + // structArgsSync + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_structArgsSync(i, this->component.get_structArgsSync_InputPort(i)); + } + + // structReturnGuarded + this->connect_to_structReturnGuarded(0, this->component.get_structReturnGuarded_InputPort(0)); + + // structReturnSync + this->connect_to_structReturnSync(0, this->component.get_structReturnSync_InputPort(0)); + + // arrayArgsOut + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->component.set_arrayArgsOut_OutputPort(i, this->get_from_arrayArgsOut(i)); + } + + // arrayReturnOut + this->component.set_arrayReturnOut_OutputPort(0, this->get_from_arrayReturnOut(0)); + + // cmdRegOut + this->component.set_cmdRegOut_OutputPort(0, this->get_from_cmdRegOut(0)); + + // cmdResponseOut + this->component.set_cmdResponseOut_OutputPort(0, this->get_from_cmdResponseOut(0)); + + // enumArgsOut + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->component.set_enumArgsOut_OutputPort(i, this->get_from_enumArgsOut(i)); + } + + // enumReturnOut + this->component.set_enumReturnOut_OutputPort(0, this->get_from_enumReturnOut(0)); + + // eventOut + this->component.set_eventOut_OutputPort(0, this->get_from_eventOut(0)); + + // noArgsOut + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->component.set_noArgsOut_OutputPort(i, this->get_from_noArgsOut(i)); + } + + // noArgsReturnOut + this->component.set_noArgsReturnOut_OutputPort(0, this->get_from_noArgsReturnOut(0)); + + // primitiveArgsOut + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->component.set_primitiveArgsOut_OutputPort(i, this->get_from_primitiveArgsOut(i)); + } + + // primitiveReturnOut + this->component.set_primitiveReturnOut_OutputPort(0, this->get_from_primitiveReturnOut(0)); + + // prmGetOut + this->component.set_prmGetOut_OutputPort(0, this->get_from_prmGetOut(0)); + + // prmSetOut + this->component.set_prmSetOut_OutputPort(0, this->get_from_prmSetOut(0)); + + // stringArgsOut + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->component.set_stringArgsOut_OutputPort(i, this->get_from_stringArgsOut(i)); + } + + // structArgsOut + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->component.set_structArgsOut_OutputPort(i, this->get_from_structArgsOut(i)); + } + + // structReturnOut + this->component.set_structReturnOut_OutputPort(0, this->get_from_structReturnOut(0)); + + // textEventOut + this->component.set_textEventOut_OutputPort(0, this->get_from_textEventOut(0)); + + // timeGetOut + this->component.set_timeGetOut_OutputPort(0, this->get_from_timeGetOut(0)); + + // tlmOut + this->component.set_tlmOut_OutputPort(0, this->get_from_tlmOut(0)); + + // ---------------------------------------------------------------------- + // Connect serial output ports + // ---------------------------------------------------------------------- + for (NATIVE_INT_TYPE i = 0; i < 5; ++i) { + this->component.set_serialOut_OutputPort(i, this->get_from_serialOut(i)); + } + + // ---------------------------------------------------------------------- + // Connect serial input ports + // ---------------------------------------------------------------------- + // serialAsync + this->connect_to_serialAsync(0, this->component.get_serialAsync_InputPort(0)); + + // serialAsyncAssert + this->connect_to_serialAsyncAssert(0, this->component.get_serialAsyncAssert_InputPort(0)); + + // serialAsyncBlockPriority + this->connect_to_serialAsyncBlockPriority(0, this->component.get_serialAsyncBlockPriority_InputPort(0)); + + // serialAsyncDropPriority + this->connect_to_serialAsyncDropPriority(0, this->component.get_serialAsyncDropPriority_InputPort(0)); + + // serialGuarded + this->connect_to_serialGuarded(0, this->component.get_serialGuarded_InputPort(0)); + + // serialSync + this->connect_to_serialSync(0, this->component.get_serialSync_InputPort(0)); +} + +void Tester ::initComponents() { + this->init(); + this->component.init(Tester::TEST_INSTANCE_QUEUE_DEPTH, Tester::TEST_INSTANCE_ID); +} diff --git a/FppTest/component/tests/AsyncCmdTests.cpp b/FppTest/component/tests/AsyncCmdTests.cpp new file mode 100644 index 0000000000..02902b7657 --- /dev/null +++ b/FppTest/component/tests/AsyncCmdTests.cpp @@ -0,0 +1,18 @@ +// ====================================================================== +// \title AsyncCmdTests.cpp +// \author T. Chieu +// \brief cpp file for async command tests +// +// \copyright +// Copyright (C) 2009-2023 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== + +#include "CmdTests.hpp" + +#include "Fw/Cmd/CmdArgBuffer.hpp" + +CMD_TEST_INVOKE_DEFS_ASYNC +CMD_TEST_DEFS(Async) diff --git a/FppTest/component/tests/AsyncPortTests.cpp b/FppTest/component/tests/AsyncPortTests.cpp new file mode 100644 index 0000000000..e16048c9a9 --- /dev/null +++ b/FppTest/component/tests/AsyncPortTests.cpp @@ -0,0 +1,16 @@ +// ====================================================================== +// \title AsyncPortTests.cpp +// \author T. Chieu +// \brief cpp file for async port tests +// +// \copyright +// Copyright (C) 2009-2023 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== + +#include "PortTests.hpp" +#include "test/ut/Tester.hpp" + +PORT_TEST_DEFS_ASYNC diff --git a/FppTest/component/tests/AsyncTesterHelpers.cpp b/FppTest/component/tests/AsyncTesterHelpers.cpp new file mode 100644 index 0000000000..a396537f7e --- /dev/null +++ b/FppTest/component/tests/AsyncTesterHelpers.cpp @@ -0,0 +1,63 @@ +// ====================================================================== +// \title AsyncTesterHelpers.cpp +// \author T. Chieu +// \brief cpp file for async tester helper functions +// +// \copyright +// Copyright (C) 2009-2023 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== + +#include "test/ut/Tester.hpp" + +void Tester ::connectAsyncPorts() { + // arrayArgsAsync + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_arrayArgsAsync(i, this->component.get_arrayArgsAsync_InputPort(i)); + } + + // enumArgsAsync + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_enumArgsAsync(i, this->component.get_enumArgsAsync_InputPort(i)); + } + + // noArgsAsync + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_noArgsAsync(i, this->component.get_noArgsAsync_InputPort(i)); + } + + // primitiveArgsAsync + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_primitiveArgsAsync(i, this->component.get_primitiveArgsAsync_InputPort(i)); + } + + // stringArgsAsync + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_stringArgsAsync(i, this->component.get_stringArgsAsync_InputPort(i)); + } + + // structArgsAsync + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_structArgsAsync(i, this->component.get_structArgsAsync_InputPort(i)); + } + + // serialAsync + for (NATIVE_INT_TYPE i = 0; i < 3; ++i) { + this->connect_to_serialAsync(i, this->component.get_serialAsync_InputPort(i)); + } + + // serialAsyncAssert + this->connect_to_serialAsyncAssert(0, this->component.get_serialAsyncAssert_InputPort(0)); + + // serialAsyncBlockPriority + this->connect_to_serialAsyncBlockPriority(0, this->component.get_serialAsyncBlockPriority_InputPort(0)); + + // serialAsyncDropPriority + this->connect_to_serialAsyncDropPriority(0, this->component.get_serialAsyncDropPriority_InputPort(0)); +} + +Fw::QueuedComponentBase::MsgDispatchStatus Tester ::doDispatch() { + return component.doDispatch(); +} diff --git a/FppTest/component/tests/AsyncTests.cpp b/FppTest/component/tests/AsyncTests.cpp new file mode 100644 index 0000000000..ed58ad4d5c --- /dev/null +++ b/FppTest/component/tests/AsyncTests.cpp @@ -0,0 +1,55 @@ +// ====================================================================== +// \title AsyncTests.cpp +// \author T. Chieu +// \brief cpp file for async component tests +// +// \copyright +// Copyright (C) 2009-2023 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== + +#include "FppTest/component/types/FormalParamTypes.hpp" +#include "FppTest/typed_tests/ComponentTest.hpp" +#include "FppTest/typed_tests/PortTest.hpp" + +// Typed async port tests +using TypedAsyncPortTestImplementations = ::testing::Types; + +INSTANTIATE_TYPED_TEST_SUITE_P(FppTest, TypedAsyncPortTest, TypedAsyncPortTestImplementations); + +// Serial async port tests +using SerialAsyncPortTestImplementations = ::testing::Types; + +INSTANTIATE_TYPED_TEST_SUITE_P(FppTest, SerialAsyncPortTest, SerialAsyncPortTestImplementations); + +// Async command tests +using AsyncCommandTestImplementations = ::testing::Types; + +INSTANTIATE_TYPED_TEST_SUITE_P(FppTest, ComponentAsyncCommandTest, AsyncCommandTestImplementations); + +// Internal interface tests +using InternalInterfaceTestImplementations = ::testing::Types; + +INSTANTIATE_TYPED_TEST_SUITE_P(FppTest, ComponentInternalInterfaceTest, InternalInterfaceTestImplementations); diff --git a/FppTest/component/tests/CmdTests.cpp b/FppTest/component/tests/CmdTests.cpp new file mode 100644 index 0000000000..dc3343b773 --- /dev/null +++ b/FppTest/component/tests/CmdTests.cpp @@ -0,0 +1,18 @@ +// ====================================================================== +// \title CmdTests.cpp +// \author T. Chieu +// \brief cpp file for command tests +// +// \copyright +// Copyright (C) 2009-2023 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== + +#include "CmdTests.hpp" + +#include "Fw/Cmd/CmdArgBuffer.hpp" + +CMD_TEST_INVOKE_DEFS +CMD_TEST_DEFS() diff --git a/FppTest/component/tests/CmdTests.hpp b/FppTest/component/tests/CmdTests.hpp new file mode 100644 index 0000000000..2dc191842e --- /dev/null +++ b/FppTest/component/tests/CmdTests.hpp @@ -0,0 +1,319 @@ +// ====================================================================== +// \title CmdTests.hpp +// \author T. Chieu +// \brief hpp file for command tests +// +// \copyright +// Copyright (C) 2009-2023 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== + +#include "test/ut/Tester.hpp" + +// ---------------------------------------------------------------------- +// Command test declarations +// ---------------------------------------------------------------------- + +#define CMD_TEST_INVOKE_DECL(TYPE) void invoke##TYPE##Command(NATIVE_INT_TYPE portNum, Fw::CmdArgBuffer& buf); + +#define CMD_TEST_INVOKE_DECLS \ + CMD_TEST_INVOKE_DECL(NoArgs) \ + CMD_TEST_INVOKE_DECL(Primitive) \ + CMD_TEST_INVOKE_DECL(String) \ + CMD_TEST_INVOKE_DECL(Enum) \ + CMD_TEST_INVOKE_DECL(Array) \ + CMD_TEST_INVOKE_DECL(Struct) + +#define CMD_TEST_INVOKE_DECLS_ASYNC \ + CMD_TEST_INVOKE_DECL(AsyncNoArgs) \ + CMD_TEST_INVOKE_DECL(AsyncPrimitive) \ + CMD_TEST_INVOKE_DECL(AsyncString) \ + CMD_TEST_INVOKE_DECL(AsyncEnum) \ + CMD_TEST_INVOKE_DECL(AsyncArray) \ + CMD_TEST_INVOKE_DECL(AsyncStruct) + +#define CMD_TEST_DECL(TYPE, ASYNC) void test##ASYNC##Command(NATIVE_INT_TYPE portNum, FppTest::Types::TYPE& data); + +#define CMD_TEST_DECLS \ + CMD_TEST_INVOKE_DECLS \ + CMD_TEST_DECL(NoParams, ) \ + CMD_TEST_DECL(PrimitiveParams, ) \ + CMD_TEST_DECL(CmdStringParams, ) \ + CMD_TEST_DECL(EnumParam, ) \ + CMD_TEST_DECL(ArrayParam, ) \ + CMD_TEST_DECL(StructParam, ) + +#define CMD_TEST_DECLS_ASYNC \ + CMD_TEST_INVOKE_DECLS_ASYNC \ + CMD_TEST_DECL(NoParams, Async) \ + CMD_TEST_DECL(PrimitiveParams, Async) \ + CMD_TEST_DECL(CmdStringParams, Async) \ + CMD_TEST_DECL(EnumParam, Async) \ + CMD_TEST_DECL(ArrayParam, Async) \ + CMD_TEST_DECL(StructParam, Async) + +// ---------------------------------------------------------------------- +// Command test definitions +// ---------------------------------------------------------------------- + +#define CMD_TEST_INVOKE_DEFS \ + void Tester ::invokeNoArgsCommand(NATIVE_INT_TYPE portNum, Fw::CmdArgBuffer& buf) { \ + this->invoke_to_cmdOut(portNum, component.OPCODE_CMD_NO_ARGS, 1, buf); \ + } \ + \ + void Tester ::invokePrimitiveCommand(NATIVE_INT_TYPE portNum, Fw::CmdArgBuffer& buf) { \ + this->invoke_to_cmdOut(portNum, component.OPCODE_CMD_PRIMITIVE, 1, buf); \ + } \ + \ + void Tester ::invokeStringCommand(NATIVE_INT_TYPE portNum, Fw::CmdArgBuffer& buf) { \ + this->invoke_to_cmdOut(portNum, component.OPCODE_CMD_STRINGS, 1, buf); \ + } \ + \ + void Tester ::invokeEnumCommand(NATIVE_INT_TYPE portNum, Fw::CmdArgBuffer& buf) { \ + this->invoke_to_cmdOut(portNum, component.OPCODE_CMD_ENUM, 1, buf); \ + } \ + \ + void Tester ::invokeArrayCommand(NATIVE_INT_TYPE portNum, Fw::CmdArgBuffer& buf) { \ + this->invoke_to_cmdOut(portNum, component.OPCODE_CMD_ARRAY, 1, buf); \ + } \ + \ + void Tester ::invokeStructCommand(NATIVE_INT_TYPE portNum, Fw::CmdArgBuffer& buf) { \ + this->invoke_to_cmdOut(portNum, component.OPCODE_CMD_STRUCT, 1, buf); \ + } + +#define CMD_TEST_INVOKE_DEFS_ASYNC \ + void Tester ::invokeAsyncNoArgsCommand(NATIVE_INT_TYPE portNum, Fw::CmdArgBuffer& buf) { \ + Fw::QueuedComponentBase::MsgDispatchStatus status; \ + \ + this->invoke_to_cmdOut(portNum, component.OPCODE_CMD_ASYNC_NO_ARGS, 1, buf); \ + status = this->doDispatch(); \ + \ + ASSERT_EQ(status, Fw::QueuedComponentBase::MsgDispatchStatus::MSG_DISPATCH_OK); \ + } \ + \ + void Tester ::invokeAsyncPrimitiveCommand(NATIVE_INT_TYPE portNum, Fw::CmdArgBuffer& buf) { \ + Fw::QueuedComponentBase::MsgDispatchStatus status; \ + \ + this->invoke_to_cmdOut(portNum, component.OPCODE_CMD_ASYNC_PRIMITIVE, 1, buf); \ + status = this->doDispatch(); \ + \ + ASSERT_EQ(status, Fw::QueuedComponentBase::MsgDispatchStatus::MSG_DISPATCH_OK); \ + } \ + \ + void Tester ::invokeAsyncStringCommand(NATIVE_INT_TYPE portNum, Fw::CmdArgBuffer& buf) { \ + Fw::QueuedComponentBase::MsgDispatchStatus status; \ + \ + this->invoke_to_cmdOut(portNum, component.OPCODE_CMD_ASYNC_STRINGS, 1, buf); \ + status = this->doDispatch(); \ + \ + ASSERT_EQ(status, Fw::QueuedComponentBase::MsgDispatchStatus::MSG_DISPATCH_OK); \ + } \ + \ + void Tester ::invokeAsyncEnumCommand(NATIVE_INT_TYPE portNum, Fw::CmdArgBuffer& buf) { \ + Fw::QueuedComponentBase::MsgDispatchStatus status; \ + \ + this->invoke_to_cmdOut(portNum, component.OPCODE_CMD_ASYNC_ENUM, 1, buf); \ + status = this->doDispatch(); \ + \ + ASSERT_EQ(status, Fw::QueuedComponentBase::MsgDispatchStatus::MSG_DISPATCH_OK); \ + } \ + \ + void Tester ::invokeAsyncArrayCommand(NATIVE_INT_TYPE portNum, Fw::CmdArgBuffer& buf) { \ + Fw::QueuedComponentBase::MsgDispatchStatus status; \ + \ + this->invoke_to_cmdOut(portNum, component.OPCODE_CMD_ASYNC_ARRAY, 1, buf); \ + status = this->doDispatch(); \ + \ + ASSERT_EQ(status, Fw::QueuedComponentBase::MsgDispatchStatus::MSG_DISPATCH_OK); \ + } \ + \ + void Tester ::invokeAsyncStructCommand(NATIVE_INT_TYPE portNum, Fw::CmdArgBuffer& buf) { \ + Fw::QueuedComponentBase::MsgDispatchStatus status; \ + \ + this->invoke_to_cmdOut(portNum, component.OPCODE_CMD_ASYNC_STRUCT, 1, buf); \ + status = this->doDispatch(); \ + \ + ASSERT_EQ(status, Fw::QueuedComponentBase::MsgDispatchStatus::MSG_DISPATCH_OK); \ + } + +#define CMD_TEST_DEFS(ASYNC) \ + void Tester ::test##ASYNC##Command(NATIVE_INT_TYPE portNum, FppTest::Types::NoParams& data) { \ + ASSERT_TRUE(component.isConnected_cmdRegOut_OutputPort(portNum)); \ + ASSERT_TRUE(component.isConnected_cmdResponseOut_OutputPort(portNum)); \ + \ + component.regCommands(); \ + \ + Fw::CmdArgBuffer buf; \ + \ + /* Test success */ \ + this->invoke##ASYNC##NoArgsCommand(portNum, buf); \ + ASSERT_EQ(cmdResp, Fw::CmdResponse::OK); \ + \ + /* Test too many arguments */ \ + buf.serialize(0); \ + this->invoke##ASYNC##NoArgsCommand(portNum, buf); \ + ASSERT_EQ(cmdResp, Fw::CmdResponse::FORMAT_ERROR); \ + } \ + \ + void Tester ::test##ASYNC##Command(NATIVE_INT_TYPE portNum, FppTest::Types::PrimitiveParams& data) { \ + ASSERT_TRUE(component.isConnected_cmdRegOut_OutputPort(portNum)); \ + ASSERT_TRUE(component.isConnected_cmdResponseOut_OutputPort(portNum)); \ + \ + component.regCommands(); \ + \ + Fw::CmdArgBuffer buf; \ + \ + /* Test incorrect deserialization of first argument */ \ + this->invoke##ASYNC##PrimitiveCommand(portNum, buf); \ + ASSERT_EQ(cmdResp, Fw::CmdResponse::FORMAT_ERROR); \ + \ + /* Test incorrect deserialization of second argument */ \ + buf.serialize(data.args.val1); \ + this->invoke##ASYNC##PrimitiveCommand(portNum, buf); \ + ASSERT_EQ(cmdResp, Fw::CmdResponse::FORMAT_ERROR); \ + \ + /* Test incorrect deserialization of third argument */ \ + buf.serialize(data.args.val2); \ + this->invoke##ASYNC##PrimitiveCommand(portNum, buf); \ + ASSERT_EQ(cmdResp, Fw::CmdResponse::FORMAT_ERROR); \ + \ + /* Test incorrect deserialization of fourth argument */ \ + buf.serialize(data.args.val3); \ + this->invoke##ASYNC##PrimitiveCommand(portNum, buf); \ + ASSERT_EQ(cmdResp, Fw::CmdResponse::FORMAT_ERROR); \ + \ + /* Test incorrect deserialization of fifth argument */ \ + buf.serialize(data.args.val4); \ + this->invoke##ASYNC##PrimitiveCommand(portNum, buf); \ + ASSERT_EQ(cmdResp, Fw::CmdResponse::FORMAT_ERROR); \ + \ + /* Test incorrect deserialization of sixth argument */ \ + buf.serialize(data.args.val5); \ + this->invoke##ASYNC##PrimitiveCommand(portNum, buf); \ + ASSERT_EQ(cmdResp, Fw::CmdResponse::FORMAT_ERROR); \ + \ + /* Test success */ \ + buf.serialize(data.args.val6); \ + this->invoke##ASYNC##PrimitiveCommand(portNum, buf); \ + \ + ASSERT_EQ(cmdResp, Fw::CmdResponse::OK); \ + ASSERT_EQ(component.primitiveCmd.args.val1, data.args.val1); \ + ASSERT_EQ(component.primitiveCmd.args.val2, data.args.val2); \ + ASSERT_EQ(component.primitiveCmd.args.val3, data.args.val3); \ + ASSERT_EQ(component.primitiveCmd.args.val4, data.args.val4); \ + ASSERT_EQ(component.primitiveCmd.args.val5, data.args.val5); \ + ASSERT_EQ(component.primitiveCmd.args.val6, data.args.val6); \ + \ + /* Test too many arguments */ \ + buf.serialize(data.args.val5); \ + this->invoke##ASYNC##PrimitiveCommand(portNum, buf); \ + ASSERT_EQ(cmdResp, Fw::CmdResponse::FORMAT_ERROR); \ + } \ + \ + void Tester ::test##ASYNC##Command(NATIVE_INT_TYPE portNum, FppTest::Types::CmdStringParams& data) { \ + ASSERT_TRUE(component.isConnected_cmdRegOut_OutputPort(portNum)); \ + ASSERT_TRUE(component.isConnected_cmdResponseOut_OutputPort(portNum)); \ + \ + component.regCommands(); \ + \ + Fw::CmdArgBuffer buf; \ + \ + /* Test incorrect serialization of first argument */ \ + this->invoke##ASYNC##StringCommand(portNum, buf); \ + ASSERT_EQ(cmdResp, Fw::CmdResponse::FORMAT_ERROR); \ + \ + /* Test incorrect serialization of second argument */ \ + buf.serialize(data.args.val1); \ + this->invoke##ASYNC##StringCommand(portNum, buf); \ + ASSERT_EQ(cmdResp, Fw::CmdResponse::FORMAT_ERROR); \ + \ + /* Test success */ \ + buf.serialize(data.args.val2); \ + this->invoke##ASYNC##StringCommand(portNum, buf); \ + \ + ASSERT_EQ(cmdResp, Fw::CmdResponse::OK); \ + ASSERT_EQ(component.stringCmd.args.val1, data.args.val1); \ + ASSERT_EQ(component.stringCmd.args.val2, data.args.val2); \ + \ + /* Test too many arguments */ \ + buf.serialize(data.args.val1); \ + this->invoke##ASYNC##StringCommand(portNum, buf); \ + ASSERT_EQ(cmdResp, Fw::CmdResponse::FORMAT_ERROR); \ + } \ + \ + void Tester ::test##ASYNC##Command(NATIVE_INT_TYPE portNum, FppTest::Types::EnumParam& data) { \ + ASSERT_TRUE(component.isConnected_cmdRegOut_OutputPort(portNum)); \ + ASSERT_TRUE(component.isConnected_cmdResponseOut_OutputPort(portNum)); \ + \ + component.regCommands(); \ + \ + Fw::CmdArgBuffer buf; \ + \ + /* Test incorrect serialization of first argument */ \ + this->invoke##ASYNC##EnumCommand(portNum, buf); \ + ASSERT_EQ(cmdResp, Fw::CmdResponse::FORMAT_ERROR); \ + \ + /* Test success */ \ + buf.serialize(data.args.val); \ + this->invoke##ASYNC##EnumCommand(portNum, buf); \ + \ + ASSERT_EQ(cmdResp, Fw::CmdResponse::OK); \ + ASSERT_EQ(component.enumCmd.args.val, data.args.val); \ + \ + /* Test too many arguments */ \ + buf.serialize(data.args.val); \ + this->invoke##ASYNC##EnumCommand(portNum, buf); \ + ASSERT_EQ(cmdResp, Fw::CmdResponse::FORMAT_ERROR); \ + } \ + \ + void Tester ::test##ASYNC##Command(NATIVE_INT_TYPE portNum, FppTest::Types::ArrayParam& data) { \ + ASSERT_TRUE(component.isConnected_cmdRegOut_OutputPort(portNum)); \ + ASSERT_TRUE(component.isConnected_cmdResponseOut_OutputPort(portNum)); \ + \ + component.regCommands(); \ + \ + Fw::CmdArgBuffer buf; \ + \ + /* Test incorrect serialization of first argument */ \ + this->invoke##ASYNC##ArrayCommand(portNum, buf); \ + ASSERT_EQ(cmdResp, Fw::CmdResponse::FORMAT_ERROR); \ + \ + /* Test success */ \ + buf.serialize(data.args.val); \ + this->invoke##ASYNC##ArrayCommand(portNum, buf); \ + \ + ASSERT_EQ(cmdResp, Fw::CmdResponse::OK); \ + ASSERT_EQ(component.arrayCmd.args.val, data.args.val); \ + \ + /* Test too many arguments */ \ + buf.serialize(data.args.val); \ + this->invoke##ASYNC##ArrayCommand(portNum, buf); \ + ASSERT_EQ(cmdResp, Fw::CmdResponse::FORMAT_ERROR); \ + } \ + \ + void Tester ::test##ASYNC##Command(NATIVE_INT_TYPE portNum, FppTest::Types::StructParam& data) { \ + ASSERT_TRUE(component.isConnected_cmdRegOut_OutputPort(portNum)); \ + ASSERT_TRUE(component.isConnected_cmdResponseOut_OutputPort(portNum)); \ + \ + component.regCommands(); \ + \ + Fw::CmdArgBuffer buf; \ + \ + /* Test incorrect serialization of first argument */ \ + this->invoke##ASYNC##StructCommand(portNum, buf); \ + ASSERT_EQ(cmdResp, Fw::CmdResponse::FORMAT_ERROR); \ + \ + /* Test success */ \ + buf.serialize(data.args.val); \ + this->invoke##ASYNC##StructCommand(portNum, buf); \ + \ + ASSERT_EQ(cmdResp, Fw::CmdResponse::OK); \ + ASSERT_EQ(component.structCmd.args.val, data.args.val); \ + \ + /* Test too many arguments */ \ + buf.serialize(data.args.val); \ + this->invoke##ASYNC##StructCommand(portNum, buf); \ + ASSERT_EQ(cmdResp, Fw::CmdResponse::FORMAT_ERROR); \ + } diff --git a/FppTest/component/tests/EventTests.cpp b/FppTest/component/tests/EventTests.cpp new file mode 100644 index 0000000000..b8bb367559 --- /dev/null +++ b/FppTest/component/tests/EventTests.cpp @@ -0,0 +1,137 @@ +// ====================================================================== +// \title EventTests.cpp +// \author T. Chieu +// \brief cpp file for event tests +// +// \copyright +// Copyright (C) 2009-2023 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== + +#include "test/ut/Tester.hpp" + +// ---------------------------------------------------------------------- +// Event tests +// ---------------------------------------------------------------------- + +void Tester ::testEvent(NATIVE_INT_TYPE portNum, FppTest::Types::NoParams& data) { + ASSERT_TRUE(component.isConnected_eventOut_OutputPort(portNum)); + ASSERT_TRUE(component.isConnected_textEventOut_OutputPort(portNum)); + + component.log_ACTIVITY_HI_EventNoArgs(); + + ASSERT_EVENTS_SIZE(1); + ASSERT_EVENTS_EventNoArgs_SIZE(1); +} + +void Tester ::testEventHelper(NATIVE_INT_TYPE portNum, FppTest::Types::PrimitiveParams& data, NATIVE_UINT_TYPE size) { + component.log_ACTIVITY_LO_EventPrimitive(data.args.val1, data.args.val2, data.args.val3, data.args.val4, + data.args.val5, data.args.val6); + + ASSERT_EVENTS_SIZE(size); + ASSERT_EVENTS_EventPrimitive_SIZE(size); + ASSERT_EVENTS_EventPrimitive(portNum, data.args.val1, data.args.val2, data.args.val3, data.args.val4, + data.args.val5, data.args.val6); +} + +void Tester ::testEvent(NATIVE_INT_TYPE portNum, FppTest::Types::PrimitiveParams& data) { + ASSERT_TRUE(component.isConnected_eventOut_OutputPort(portNum)); + ASSERT_TRUE(component.isConnected_textEventOut_OutputPort(portNum)); + + for (U32 i = 0; i < component.EVENTID_EVENTPRIMITIVE_THROTTLE; i++) { + testEventHelper(portNum, data, i + 1); + } + + // Test that throttling works + testEventHelper(portNum, data, component.EVENTID_EVENTPRIMITIVE_THROTTLE); + + // Test throttle reset + component.log_ACTIVITY_LO_EventPrimitive_ThrottleClear(); + testEventHelper(portNum, data, component.EVENTID_EVENTPRIMITIVE_THROTTLE + 1); +} + +void Tester ::testEvent(NATIVE_INT_TYPE portNum, FppTest::Types::LogStringParams& data) { + component.log_COMMAND_EventString(data.args.val1, data.args.val2); + + ASSERT_EVENTS_SIZE(1); + ASSERT_EVENTS_EventString_SIZE(1); + ASSERT_EVENTS_EventString(portNum, data.args.val1.toChar(), data.args.val2.toChar()); +} + +void Tester ::testEvent(NATIVE_INT_TYPE portNum, FppTest::Types::EnumParam& data) { + ASSERT_TRUE(component.isConnected_eventOut_OutputPort(portNum)); + ASSERT_TRUE(component.isConnected_textEventOut_OutputPort(portNum)); + + component.log_DIAGNOSTIC_EventEnum(data.args.val); + + ASSERT_EVENTS_SIZE(1); + ASSERT_EVENTS_EventEnum_SIZE(1); + ASSERT_EVENTS_EventEnum(portNum, data.args.val); +} + +void Tester ::testEventHelper(NATIVE_INT_TYPE portNum, FppTest::Types::ArrayParam& data, NATIVE_UINT_TYPE size) { + ASSERT_TRUE(component.isConnected_eventOut_OutputPort(portNum)); + ASSERT_TRUE(component.isConnected_textEventOut_OutputPort(portNum)); + + component.log_FATAL_EventArray(data.args.val); + + ASSERT_EVENTS_SIZE(size); + ASSERT_EVENTS_EventArray_SIZE(size); + ASSERT_EVENTS_EventArray(portNum, data.args.val); +} + +void Tester ::testEvent(NATIVE_INT_TYPE portNum, FppTest::Types::ArrayParam& data) { + ASSERT_TRUE(component.isConnected_eventOut_OutputPort(portNum)); + ASSERT_TRUE(component.isConnected_textEventOut_OutputPort(portNum)); + + for (U32 i = 0; i < component.EVENTID_EVENTARRAY_THROTTLE; i++) { + testEventHelper(portNum, data, i + 1); + } + + // Test that throttling works + testEventHelper(portNum, data, component.EVENTID_EVENTARRAY_THROTTLE); + + // Test throttle reset + component.log_FATAL_EventArray_ThrottleClear(); + testEventHelper(portNum, data, component.EVENTID_EVENTARRAY_THROTTLE + 1); +} + +void Tester ::testEvent(NATIVE_INT_TYPE portNum, FppTest::Types::StructParam& data) { + ASSERT_TRUE(component.isConnected_eventOut_OutputPort(portNum)); + ASSERT_TRUE(component.isConnected_textEventOut_OutputPort(portNum)); + + component.log_WARNING_HI_EventStruct(data.args.val); + + ASSERT_EVENTS_SIZE(1); + ASSERT_EVENTS_EventStruct_SIZE(1); + ASSERT_EVENTS_EventStruct(portNum, data.args.val); +} + +void Tester ::testEventHelper(NATIVE_INT_TYPE portNum, FppTest::Types::BoolParam& data, NATIVE_UINT_TYPE size) { + ASSERT_TRUE(component.isConnected_eventOut_OutputPort(portNum)); + ASSERT_TRUE(component.isConnected_textEventOut_OutputPort(portNum)); + + component.log_WARNING_LO_EventBool(data.args.val); + + ASSERT_EVENTS_SIZE(size); + ASSERT_EVENTS_EventBool_SIZE(size); + ASSERT_EVENTS_EventBool(portNum, data.args.val); +} + +void Tester ::testEvent(NATIVE_INT_TYPE portNum, FppTest::Types::BoolParam& data) { + ASSERT_TRUE(component.isConnected_eventOut_OutputPort(portNum)); + ASSERT_TRUE(component.isConnected_textEventOut_OutputPort(portNum)); + + for (U32 i = 0; i < component.EVENTID_EVENTBOOL_THROTTLE; i++) { + testEventHelper(portNum, data, i + 1); + } + + // Test that throttling works + testEventHelper(portNum, data, component.EVENTID_EVENTBOOL_THROTTLE); + + // Test throttle reset + component.log_WARNING_LO_EventBool_ThrottleClear(); + testEventHelper(portNum, data, component.EVENTID_EVENTBOOL_THROTTLE + 1); +} diff --git a/FppTest/component/tests/EventTests.hpp b/FppTest/component/tests/EventTests.hpp new file mode 100644 index 0000000000..f0d2e8595d --- /dev/null +++ b/FppTest/component/tests/EventTests.hpp @@ -0,0 +1,32 @@ +// ====================================================================== +// \title EventTests.hpp +// \author T. Chieu +// \brief hpp file for event tests +// +// \copyright +// Copyright (C) 2009-2023 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== + +// ---------------------------------------------------------------------- +// Event test declarations +// ---------------------------------------------------------------------- + +#define EVENT_TEST_DECL(TYPE) void testEvent(NATIVE_INT_TYPE portNum, FppTest::Types::TYPE& data); + +#define EVENT_TEST_HELPER_DECL(TYPE) \ + void testEventHelper(NATIVE_INT_TYPE portNum, FppTest::Types::TYPE& data, NATIVE_UINT_TYPE size); + +#define EVENT_TEST_DECLS \ + EVENT_TEST_DECL(NoParams) \ + EVENT_TEST_HELPER_DECL(PrimitiveParams) \ + EVENT_TEST_DECL(PrimitiveParams) \ + EVENT_TEST_DECL(LogStringParams) \ + EVENT_TEST_DECL(EnumParam) \ + EVENT_TEST_HELPER_DECL(ArrayParam) \ + EVENT_TEST_DECL(ArrayParam) \ + EVENT_TEST_DECL(StructParam) \ + EVENT_TEST_HELPER_DECL(BoolParam) \ + EVENT_TEST_DECL(BoolParam) diff --git a/FppTest/component/tests/InternalInterfaceTests.cpp b/FppTest/component/tests/InternalInterfaceTests.cpp new file mode 100644 index 0000000000..8f15b7d39f --- /dev/null +++ b/FppTest/component/tests/InternalInterfaceTests.cpp @@ -0,0 +1,81 @@ +// ====================================================================== +// \title InternalInterfaceTests.cpp +// \author T. Chieu +// \brief cpp file for internal interface tests +// +// \copyright +// Copyright (C) 2009-2023 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== + +#include "test/ut/Tester.hpp" + +#include "Fw/Comp/QueuedComponentBase.hpp" + +void Tester ::testInternalInterface(FppTest::Types::NoParams& data) { + Fw::QueuedComponentBase::MsgDispatchStatus status; + + this->component.internalNoArgs_internalInterfaceInvoke(); + status = this->doDispatch(); + + ASSERT_EQ(status, Fw::QueuedComponentBase::MsgDispatchStatus::MSG_DISPATCH_OK); +} + +void Tester ::testInternalInterface(FppTest::Types::PrimitiveParams& data) { + Fw::QueuedComponentBase::MsgDispatchStatus status; + + this->component.internalPrimitive_internalInterfaceInvoke(data.args.val1, data.args.val2, data.args.val3, + data.args.val4, data.args.val5, data.args.val6); + status = this->doDispatch(); + + ASSERT_EQ(status, Fw::QueuedComponentBase::MsgDispatchStatus::MSG_DISPATCH_OK); + ASSERT_EQ(this->component.primitiveInterface.args.val1, data.args.val1); + ASSERT_EQ(this->component.primitiveInterface.args.val2, data.args.val2); + ASSERT_EQ(this->component.primitiveInterface.args.val3, data.args.val3); + ASSERT_EQ(this->component.primitiveInterface.args.val4, data.args.val4); + ASSERT_EQ(this->component.primitiveInterface.args.val5, data.args.val5); + ASSERT_EQ(this->component.primitiveInterface.args.val6, data.args.val6); +} + +void Tester ::testInternalInterface(FppTest::Types::InternalInterfaceStringParams& data) { + Fw::QueuedComponentBase::MsgDispatchStatus status; + + this->component.internalString_internalInterfaceInvoke(data.args.val1, data.args.val2); + status = this->doDispatch(); + + ASSERT_EQ(status, Fw::QueuedComponentBase::MsgDispatchStatus::MSG_DISPATCH_OK); + ASSERT_EQ(this->component.stringInterface.args.val1, data.args.val1); + ASSERT_EQ(this->component.stringInterface.args.val2, data.args.val2); +} + +void Tester ::testInternalInterface(FppTest::Types::EnumParam& data) { + Fw::QueuedComponentBase::MsgDispatchStatus status; + + this->component.internalEnum_internalInterfaceInvoke(data.args.val); + status = this->doDispatch(); + + ASSERT_EQ(status, Fw::QueuedComponentBase::MsgDispatchStatus::MSG_DISPATCH_OK); + ASSERT_EQ(this->component.enumInterface.args.val, data.args.val); +} + +void Tester ::testInternalInterface(FppTest::Types::ArrayParam& data) { + Fw::QueuedComponentBase::MsgDispatchStatus status; + + this->component.internalArray_internalInterfaceInvoke(data.args.val); + status = this->doDispatch(); + + ASSERT_EQ(status, Fw::QueuedComponentBase::MsgDispatchStatus::MSG_DISPATCH_OK); + ASSERT_EQ(this->component.arrayInterface.args.val, data.args.val); +} + +void Tester ::testInternalInterface(FppTest::Types::StructParam& data) { + Fw::QueuedComponentBase::MsgDispatchStatus status; + + this->component.internalStruct_internalInterfaceInvoke(data.args.val); + status = this->doDispatch(); + + ASSERT_EQ(status, Fw::QueuedComponentBase::MsgDispatchStatus::MSG_DISPATCH_OK); + ASSERT_EQ(this->component.structInterface.args.val, data.args.val); +} diff --git a/FppTest/component/tests/InternalInterfaceTests.hpp b/FppTest/component/tests/InternalInterfaceTests.hpp new file mode 100644 index 0000000000..0603b0d7ac --- /dev/null +++ b/FppTest/component/tests/InternalInterfaceTests.hpp @@ -0,0 +1,27 @@ +// ====================================================================== +// \title InternalInterfaceTests.hpp +// \author T. Chieu +// \brief hpp file for internal interface tests +// +// \copyright +// Copyright (C) 2009-2023 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== + +#include "test/ut/Tester.hpp" + +// ---------------------------------------------------------------------- +// Internal interface test declarations +// ---------------------------------------------------------------------- + +#define INTERNAL_INT_TEST_DECL(TYPE) void testInternalInterface(FppTest::Types::TYPE& data); + +#define INTERNAL_INT_TEST_DECLS \ + INTERNAL_INT_TEST_DECL(NoParams) \ + INTERNAL_INT_TEST_DECL(PrimitiveParams) \ + INTERNAL_INT_TEST_DECL(InternalInterfaceStringParams) \ + INTERNAL_INT_TEST_DECL(EnumParam) \ + INTERNAL_INT_TEST_DECL(ArrayParam) \ + INTERNAL_INT_TEST_DECL(StructParam) diff --git a/FppTest/component/tests/ParamTests.cpp b/FppTest/component/tests/ParamTests.cpp new file mode 100644 index 0000000000..d783c7891f --- /dev/null +++ b/FppTest/component/tests/ParamTests.cpp @@ -0,0 +1,242 @@ +// ====================================================================== +// \title ParamTests.cpp +// \author T. Chieu +// \brief cpp file for parameter tests +// +// \copyright +// Copyright (C) 2009-2023 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== + +#include "test/ut/Tester.hpp" + +// ---------------------------------------------------------------------- +// Parameter tests +// ---------------------------------------------------------------------- + +void Tester ::testParam() { + ASSERT_TRUE(component.isConnected_prmGetOut_OutputPort(0)); + component.loadParameters(); + + Fw::ParamValid valid; + + bool boolVal = component.paramGet_ParamBool(valid); + ASSERT_EQ(valid, prmValid); + if (valid == Fw::ParamValid::VALID) { + ASSERT_EQ(boolVal, boolPrm.args.val); + } + + U32 u32Val = component.paramGet_ParamU32(valid); + ASSERT_EQ(valid, prmValid); + if (valid == Fw::ParamValid::VALID) { + ASSERT_EQ(u32Val, u32Prm.args.val); + } + + Fw::ParamString stringVal = component.paramGet_ParamString(valid); + if (valid == Fw::ParamValid::VALID) { + ASSERT_EQ(stringVal, stringPrm.args.val); + } else { + ASSERT_EQ(valid, Fw::ParamValid::DEFAULT); + } + + FormalParamEnum enumVal = component.paramGet_ParamEnum(valid); + ASSERT_EQ(valid, prmValid); + if (valid == Fw::ParamValid::VALID) { + ASSERT_EQ(enumVal, enumPrm.args.val); + } + + FormalParamArray arrayVal = component.paramGet_ParamArray(valid); + if (valid == Fw::ParamValid::VALID) { + ASSERT_EQ(arrayVal, arrayPrm.args.val); + } else { + ASSERT_EQ(valid, Fw::ParamValid::DEFAULT); + } + + FormalParamStruct structVal = component.paramGet_ParamStruct(valid); + ASSERT_EQ(valid, prmValid); + if (valid == Fw::ParamValid::VALID) { + ASSERT_EQ(structVal, structPrm.args.val); + } +} + +void Tester ::testParamCommand(NATIVE_INT_TYPE portNum, FppTest::Types::BoolParam& data) { + Fw::CmdArgBuffer buf; + + // Test unsuccessful saving of param + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMBOOL_SAVE, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::EXECUTION_ERROR); + + this->connectPrmSetIn(); + ASSERT_TRUE(component.isConnected_prmSetOut_OutputPort(portNum)); + + // Test incorrect deserialization when setting param + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMBOOL_SET, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::VALIDATION_ERROR); + + // Test successful setting of param + buf.serialize(data.args.val); + + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMBOOL_SET, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::OK); + + // Test successful saving of param + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMBOOL_SAVE, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::OK); + ASSERT_EQ(boolPrm.args.val, data.args.val); +} + +void Tester ::testParamCommand(NATIVE_INT_TYPE portNum, FppTest::Types::U32Param& data) { + Fw::CmdArgBuffer buf; + + // Test unsuccessful saving of param + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMU32_SAVE, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::EXECUTION_ERROR); + + this->connectPrmSetIn(); + ASSERT_TRUE(component.isConnected_prmSetOut_OutputPort(portNum)); + + // Test incorrect deserialization when setting param + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMU32_SET, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::VALIDATION_ERROR); + + // Test successful setting of param + buf.serialize(data.args.val); + + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMU32_SET, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::OK); + + // Test successful saving of param + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMU32_SAVE, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::OK); + ASSERT_EQ(u32Prm.args.val, data.args.val); +} + +void Tester ::testParamCommand(NATIVE_INT_TYPE portNum, FppTest::Types::PrmStringParam& data) { + Fw::CmdArgBuffer buf; + + // Test unsuccessful saving of param + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMSTRING_SAVE, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::EXECUTION_ERROR); + + this->connectPrmSetIn(); + ASSERT_TRUE(component.isConnected_prmSetOut_OutputPort(portNum)); + + // Test incorrect deserialization when setting param + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMSTRING_SET, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::VALIDATION_ERROR); + + // Test successful setting of param + buf.serialize(data.args.val); + + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMSTRING_SET, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::OK); + + // Test successful saving of param + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMSTRING_SAVE, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::OK); + ASSERT_EQ(stringPrm.args.val, data.args.val); +} + +void Tester ::testParamCommand(NATIVE_INT_TYPE portNum, FppTest::Types::EnumParam& data) { + Fw::CmdArgBuffer buf; + + // Test unsuccessful saving of param + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMENUM_SAVE, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::EXECUTION_ERROR); + + this->connectPrmSetIn(); + ASSERT_TRUE(component.isConnected_prmSetOut_OutputPort(portNum)); + + // Test incorrect deserialization when setting param + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMENUM_SET, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::VALIDATION_ERROR); + + // Test successful setting of param + buf.serialize(data.args.val); + + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMENUM_SET, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::OK); + + // Test successful saving of param + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMENUM_SAVE, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::OK); + ASSERT_EQ(enumPrm.args.val, data.args.val); +} + +void Tester ::testParamCommand(NATIVE_INT_TYPE portNum, FppTest::Types::ArrayParam& data) { + Fw::CmdArgBuffer buf; + + // Test unsuccessful saving of param + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMARRAY_SAVE, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::EXECUTION_ERROR); + + this->connectPrmSetIn(); + ASSERT_TRUE(component.isConnected_prmSetOut_OutputPort(portNum)); + + // Test incorrect deserialization when setting param + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMARRAY_SET, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::VALIDATION_ERROR); + + // Test successful setting of param + buf.serialize(data.args.val); + + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMARRAY_SET, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::OK); + + // Test successful saving of param + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMARRAY_SAVE, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::OK); + ASSERT_EQ(arrayPrm.args.val, data.args.val); +} + +void Tester ::testParamCommand(NATIVE_INT_TYPE portNum, FppTest::Types::StructParam& data) { + Fw::CmdArgBuffer buf; + + // Test unsuccessful saving of param + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMSTRUCT_SAVE, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::EXECUTION_ERROR); + + this->connectPrmSetIn(); + ASSERT_TRUE(component.isConnected_prmSetOut_OutputPort(portNum)); + + // Test incorrect deserialization when setting param + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMSTRUCT_SET, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::VALIDATION_ERROR); + + // Test successful setting of param + buf.serialize(data.args.val); + + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMSTRUCT_SET, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::OK); + + // Test successful saving of param + this->invoke_to_cmdOut(portNum, component.OPCODE_PARAMSTRUCT_SAVE, 1, buf); + + ASSERT_EQ(cmdResp, Fw::CmdResponse::OK); + ASSERT_EQ(structPrm.args.val, data.args.val); +} diff --git a/FppTest/component/tests/ParamTests.hpp b/FppTest/component/tests/ParamTests.hpp new file mode 100644 index 0000000000..46caf8efdf --- /dev/null +++ b/FppTest/component/tests/ParamTests.hpp @@ -0,0 +1,25 @@ +// ====================================================================== +// \title ParamTests.hpp +// \author T. Chieu +// \brief hpp file for parameter tests +// +// \copyright +// Copyright (C) 2009-2023 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== + +// ---------------------------------------------------------------------- +// Parameter test declarations +// ---------------------------------------------------------------------- + +#define PARAM_CMD_TEST_DECL(TYPE) void testParamCommand(NATIVE_INT_TYPE portNum, FppTest::Types::TYPE& data); + +#define PARAM_CMD_TEST_DECLS \ + PARAM_CMD_TEST_DECL(BoolParam) \ + PARAM_CMD_TEST_DECL(U32Param) \ + PARAM_CMD_TEST_DECL(PrmStringParam) \ + PARAM_CMD_TEST_DECL(EnumParam) \ + PARAM_CMD_TEST_DECL(ArrayParam) \ + PARAM_CMD_TEST_DECL(StructParam) diff --git a/FppTest/component/tests/PortTests.cpp b/FppTest/component/tests/PortTests.cpp new file mode 100644 index 0000000000..67ad504cda --- /dev/null +++ b/FppTest/component/tests/PortTests.cpp @@ -0,0 +1,17 @@ +// ====================================================================== +// \title PortTests.cpp +// \author T. Chieu +// \brief cpp file for port tests +// +// \copyright +// Copyright (C) 2009-2023 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== + +#include "PortTests.hpp" +#include "test/ut/Tester.hpp" + +PORT_TEST_DEFS(Sync) +PORT_TEST_DEFS(Guarded) diff --git a/FppTest/component/tests/PortTests.hpp b/FppTest/component/tests/PortTests.hpp new file mode 100644 index 0000000000..606a7cbb9a --- /dev/null +++ b/FppTest/component/tests/PortTests.hpp @@ -0,0 +1,730 @@ +// ====================================================================== +// \title PortTests.hpp +// \author T. Chieu +// \brief hpp file for port tests +// +// \copyright +// Copyright (C) 2009-2023 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== + +#include "FppTest/component/active/SerialPortIndexEnumAc.hpp" +#include "FppTest/component/active/TypedPortIndexEnumAc.hpp" +#include "test/ut/Tester.hpp" + +// ---------------------------------------------------------------------- +// Port test declarations +// ---------------------------------------------------------------------- + +#define PORT_TEST_INVOKE_DECL(PORT_KIND, TYPE) \ + void test##PORT_KIND##PortInvoke(NATIVE_INT_TYPE portNum, FppTest::Types::TYPE& port); + +#define PORT_TEST_INVOKE_DECLS(PORT_KIND) \ + PORT_TEST_INVOKE_DECL(PORT_KIND, NoParams) \ + PORT_TEST_INVOKE_DECL(PORT_KIND, PrimitiveParams) \ + PORT_TEST_INVOKE_DECL(PORT_KIND, PortStringParams) \ + PORT_TEST_INVOKE_DECL(PORT_KIND, EnumParams) \ + PORT_TEST_INVOKE_DECL(PORT_KIND, ArrayParams) \ + PORT_TEST_INVOKE_DECL(PORT_KIND, StructParams) \ + PORT_TEST_INVOKE_DECL(PORT_KIND, NoParamReturn) \ + PORT_TEST_INVOKE_DECL(PORT_KIND, PrimitiveReturn) \ + PORT_TEST_INVOKE_DECL(PORT_KIND, EnumReturn) \ + PORT_TEST_INVOKE_DECL(PORT_KIND, ArrayReturn) \ + PORT_TEST_INVOKE_DECL(PORT_KIND, StructReturn) + +#define PORT_TEST_INVOKE_SERIAL_HELPER_DECL(PORT_KIND) \ + void invoke##PORT_KIND##SerialPort(NATIVE_INT_TYPE portNum, Fw::SerialBuffer& buf); + +#define PORT_TEST_INVOKE_SERIAL_DECL(PORT_KIND, TYPE) \ + void test##PORT_KIND##PortInvokeSerial(NATIVE_INT_TYPE portNum, FppTest::Types::TYPE& port); + +#define PORT_TEST_INVOKE_SERIAL_DECLS(PORT_KIND) \ + PORT_TEST_INVOKE_SERIAL_DECL(PORT_KIND, NoParams) \ + PORT_TEST_INVOKE_SERIAL_DECL(PORT_KIND, PrimitiveParams) \ + PORT_TEST_INVOKE_SERIAL_DECL(PORT_KIND, PortStringParams) \ + PORT_TEST_INVOKE_SERIAL_DECL(PORT_KIND, EnumParams) \ + PORT_TEST_INVOKE_SERIAL_DECL(PORT_KIND, ArrayParams) \ + PORT_TEST_INVOKE_SERIAL_DECL(PORT_KIND, StructParams) + +#define PORT_TEST_CHECK_DECL(PORT_KIND, TYPE) void test##PORT_KIND##PortCheck(FppTest::Types::TYPE& port); + +#define PORT_TEST_CHECK_DECLS(PORT_KIND) \ + PORT_TEST_CHECK_DECL(PORT_KIND, NoParams) \ + PORT_TEST_CHECK_DECL(PORT_KIND, PrimitiveParams) \ + PORT_TEST_CHECK_DECL(PORT_KIND, PortStringParams) \ + PORT_TEST_CHECK_DECL(PORT_KIND, EnumParams) \ + PORT_TEST_CHECK_DECL(PORT_KIND, ArrayParams) \ + PORT_TEST_CHECK_DECL(PORT_KIND, StructParams) \ + PORT_TEST_CHECK_DECL(PORT_KIND, NoParamReturn) \ + PORT_TEST_CHECK_DECL(PORT_KIND, PrimitiveReturn) \ + PORT_TEST_CHECK_DECL(PORT_KIND, EnumReturn) \ + PORT_TEST_CHECK_DECL(PORT_KIND, ArrayReturn) \ + PORT_TEST_CHECK_DECL(PORT_KIND, StructReturn) + +#define PORT_TEST_CHECK_SERIAL_DECL(PORT_KIND, TYPE) void test##PORT_KIND##PortCheckSerial(FppTest::Types::TYPE& port); + +#define PORT_TEST_CHECK_SERIAL_DECLS(PORT_KIND) \ + PORT_TEST_CHECK_SERIAL_DECL(PORT_KIND, NoParams) \ + PORT_TEST_CHECK_SERIAL_DECL(PORT_KIND, PrimitiveParams) \ + PORT_TEST_CHECK_SERIAL_DECL(PORT_KIND, PortStringParams) \ + PORT_TEST_CHECK_SERIAL_DECL(PORT_KIND, EnumParams) \ + PORT_TEST_CHECK_SERIAL_DECL(PORT_KIND, ArrayParams) \ + PORT_TEST_CHECK_SERIAL_DECL(PORT_KIND, StructParams) + +#define PORT_TEST_DECLS_KIND(PORT_KIND) \ + PORT_TEST_INVOKE_DECLS(PORT_KIND) \ + PORT_TEST_INVOKE_SERIAL_HELPER_DECL(PORT_KIND) \ + PORT_TEST_INVOKE_SERIAL_DECLS(PORT_KIND) \ + PORT_TEST_CHECK_DECLS(PORT_KIND) \ + PORT_TEST_CHECK_SERIAL_DECLS(PORT_KIND) + +#define PORT_TEST_DECLS \ + PORT_TEST_DECLS_KIND(Sync) \ + PORT_TEST_DECLS_KIND(Guarded) + +#define PORT_TEST_DECLS_ASYNC PORT_TEST_DECLS_KIND(Async) + +// ---------------------------------------------------------------------- +// Invoke typed input ports +// ---------------------------------------------------------------------- + +#define PORT_TEST_INVOKE_DEFS(PORT_KIND) \ + void Tester ::test##PORT_KIND##PortInvoke(NATIVE_INT_TYPE portNum, FppTest::Types::NoParams& port) { \ + ASSERT_TRUE(component.isConnected_noArgsOut_OutputPort(portNum)); \ + \ + this->invoke_to_noArgs##PORT_KIND(portNum); \ + } \ + \ + void Tester ::test##PORT_KIND##PortInvoke(NATIVE_INT_TYPE portNum, FppTest::Types::PrimitiveParams& port) { \ + ASSERT_TRUE(component.isConnected_primitiveArgsOut_OutputPort(portNum)); \ + \ + this->invoke_to_primitiveArgs##PORT_KIND(portNum, port.args.val1, port.args.val2, port.args.val3, \ + port.args.val4, port.args.val5, port.args.val6); \ + } \ + \ + void Tester ::test##PORT_KIND##PortInvoke(NATIVE_INT_TYPE portNum, FppTest::Types::PortStringParams& port) { \ + ASSERT_TRUE(component.isConnected_stringArgsOut_OutputPort(portNum)); \ + \ + this->invoke_to_stringArgs##PORT_KIND(portNum, port.args.val1, port.args.val2, port.args.val3, \ + port.args.val4); \ + } \ + \ + void Tester ::test##PORT_KIND##PortInvoke(NATIVE_INT_TYPE portNum, FppTest::Types::EnumParams& port) { \ + ASSERT_TRUE(component.isConnected_enumArgsOut_OutputPort(portNum)); \ + \ + this->invoke_to_enumArgs##PORT_KIND(portNum, port.args.val1, port.args.val2); \ + } \ + \ + void Tester ::test##PORT_KIND##PortInvoke(NATIVE_INT_TYPE portNum, FppTest::Types::ArrayParams& port) { \ + ASSERT_TRUE(component.isConnected_arrayArgsOut_OutputPort(portNum)); \ + \ + this->invoke_to_arrayArgs##PORT_KIND(portNum, port.args.val1, port.args.val2); \ + } \ + \ + void Tester ::test##PORT_KIND##PortInvoke(NATIVE_INT_TYPE portNum, FppTest::Types::StructParams& port) { \ + ASSERT_TRUE(component.isConnected_structArgsOut_OutputPort(portNum)); \ + \ + this->invoke_to_structArgs##PORT_KIND(portNum, port.args.val1, port.args.val2); \ + } + +#define PORT_TEST_INVOKE_RETURN_DEFS(PORT_KIND) \ + void Tester ::test##PORT_KIND##PortInvoke(NATIVE_INT_TYPE portNum, FppTest::Types::NoParamReturn& port) { \ + ASSERT_TRUE(component.isConnected_noArgsReturnOut_OutputPort(portNum)); \ + \ + bool returnVal = this->invoke_to_noArgsReturn##PORT_KIND(portNum); \ + \ + ASSERT_EQ(returnVal, this->noParamReturnVal.val); \ + } \ + \ + void Tester ::test##PORT_KIND##PortInvoke(NATIVE_INT_TYPE portNum, FppTest::Types::PrimitiveReturn& port) { \ + ASSERT_TRUE(component.isConnected_primitiveReturnOut_OutputPort(portNum)); \ + \ + U32 returnVal = this->invoke_to_primitiveReturn##PORT_KIND( \ + portNum, port.args.val1, port.args.val2, port.args.val3, port.args.val4, port.args.val5, port.args.val6); \ + \ + ASSERT_EQ(returnVal, this->primitiveReturnVal.val); \ + } \ + \ + void Tester ::test##PORT_KIND##PortInvoke(NATIVE_INT_TYPE portNum, FppTest::Types::EnumReturn& port) { \ + ASSERT_TRUE(component.isConnected_enumReturnOut_OutputPort(portNum)); \ + \ + FormalParamEnum returnVal = this->invoke_to_enumReturn##PORT_KIND(portNum, port.args.val1, port.args.val2); \ + \ + ASSERT_EQ(returnVal, this->enumReturnVal.val); \ + } \ + \ + void Tester ::test##PORT_KIND##PortInvoke(NATIVE_INT_TYPE portNum, FppTest::Types::ArrayReturn& port) { \ + ASSERT_TRUE(component.isConnected_arrayReturnOut_OutputPort(portNum)); \ + \ + FormalParamArray returnVal = this->invoke_to_arrayReturn##PORT_KIND(portNum, port.args.val1, port.args.val2); \ + \ + ASSERT_EQ(returnVal, this->arrayReturnVal.val); \ + } \ + \ + void Tester ::test##PORT_KIND##PortInvoke(NATIVE_INT_TYPE portNum, FppTest::Types::StructReturn& port) { \ + ASSERT_TRUE(component.isConnected_structReturnOut_OutputPort(portNum)); \ + \ + FormalParamStruct returnVal = \ + this->invoke_to_structReturn##PORT_KIND(portNum, port.args.val1, port.args.val2); \ + \ + ASSERT_EQ(returnVal, this->structReturnVal.val); \ + } + +// ---------------------------------------------------------------------- +// Invoke serial input ports +// ---------------------------------------------------------------------- + +#define PORT_TEST_INVOKE_SERIAL_HELPER_DEF(PORT_KIND) \ + void Tester ::invoke##PORT_KIND##SerialPort(NATIVE_INT_TYPE portNum, Fw::SerialBuffer& buf) { \ + this->invoke_to_serial##PORT_KIND(portNum, buf); \ + } + +#define PORT_TEST_INVOKE_SERIAL_HELPER_DEF_ASYNC \ + void Tester ::invokeAsyncSerialPort(NATIVE_INT_TYPE portNum, Fw::SerialBuffer& buf) { \ + Fw::QueuedComponentBase::MsgDispatchStatus status; \ + \ + switch (portNum) { \ + case SerialPortIndex::NO_ARGS: \ + case SerialPortIndex::PRIMITIVE: \ + case SerialPortIndex::STRING: \ + this->invoke_to_serialAsync(portNum, buf); \ + break; \ + \ + case SerialPortIndex::ENUM: \ + this->invoke_to_serialAsyncAssert(0, buf); \ + break; \ + \ + case SerialPortIndex::ARRAY: \ + this->invoke_to_serialAsyncBlockPriority(0, buf); \ + break; \ + \ + case SerialPortIndex::STRUCT: \ + this->invoke_to_serialAsyncDropPriority(0, buf); \ + break; \ + } \ + \ + status = this->doDispatch(); \ + \ + ASSERT_EQ(status, Fw::QueuedComponentBase::MsgDispatchStatus::MSG_DISPATCH_OK); \ + } + +#define PORT_TEST_INVOKE_SERIAL_DEFS(PORT_KIND) \ + void Tester ::test##PORT_KIND##PortInvokeSerial(NATIVE_INT_TYPE portNum, FppTest::Types::NoParams& port) { \ + ASSERT_TRUE(component.isConnected_serialOut_OutputPort(portNum)); \ + \ + U8 data[0]; \ + Fw::SerialBuffer buf(data, sizeof(data)); \ + \ + this->invoke##PORT_KIND##SerialPort(SerialPortIndex::NO_ARGS, buf); \ + } \ + \ + void Tester ::test##PORT_KIND##PortInvokeSerial(NATIVE_INT_TYPE portNum, FppTest::Types::PrimitiveParams& port) { \ + ASSERT_TRUE(component.isConnected_serialOut_OutputPort(portNum)); \ + \ + Fw::SerializeStatus status; \ + \ + /* Check unsuccessful deserialization of first parameter */ \ + U8 invalidData1[0]; \ + Fw::SerialBuffer invalidBuf1(invalidData1, sizeof(invalidData1)); \ + \ + this->invoke##PORT_KIND##SerialPort(SerialPortIndex::PRIMITIVE, invalidBuf1); \ + \ + this->checkSerializeStatusBufferEmpty(); \ + \ + /* Check unsuccessful deserialization of second parameter */ \ + U8 invalidData2[sizeof(U32)]; \ + Fw::SerialBuffer invalidBuf2(invalidData2, sizeof(invalidData2)); \ + \ + status = invalidBuf2.serialize(port.args.val1); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + this->invoke##PORT_KIND##SerialPort(SerialPortIndex::PRIMITIVE, invalidBuf2); \ + \ + this->checkSerializeStatusBufferEmpty(); \ + \ + /* Check unsuccessful deserialization of third parameter */ \ + U8 invalidData3[sizeof(U32) * 2]; \ + Fw::SerialBuffer invalidBuf3(invalidData3, sizeof(invalidData3)); \ + \ + status = invalidBuf3.serialize(port.args.val1); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = invalidBuf3.serialize(port.args.val2); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + this->invoke##PORT_KIND##SerialPort(SerialPortIndex::PRIMITIVE, invalidBuf3); \ + \ + this->checkSerializeStatusBufferEmpty(); \ + \ + /* Check unsuccessful deserialization of fourth parameter */ \ + U8 invalidData4[(sizeof(U32) * 2) + sizeof(F32)]; \ + Fw::SerialBuffer invalidBuf4(invalidData4, sizeof(invalidData4)); \ + \ + status = invalidBuf4.serialize(port.args.val1); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = invalidBuf4.serialize(port.args.val2); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = invalidBuf4.serialize(port.args.val3); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + this->invoke##PORT_KIND##SerialPort(SerialPortIndex::PRIMITIVE, invalidBuf4); \ + \ + this->checkSerializeStatusBufferEmpty(); \ + \ + /* Check unsuccessful deserialization of fifth parameter */ \ + U8 invalidData5[(sizeof(U32) * 2) + (sizeof(F32) * 2)]; \ + Fw::SerialBuffer invalidBuf5(invalidData5, sizeof(invalidData5)); \ + \ + status = invalidBuf5.serialize(port.args.val1); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = invalidBuf5.serialize(port.args.val2); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = invalidBuf5.serialize(port.args.val3); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = invalidBuf5.serialize(port.args.val4); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + this->invoke##PORT_KIND##SerialPort(SerialPortIndex::PRIMITIVE, invalidBuf5); \ + \ + this->checkSerializeStatusBufferEmpty(); \ + \ + /* Check unsuccessful deserialization of sixth parameter */ \ + U8 invalidData6[(sizeof(U32) * 2) + (sizeof(F32) * 2) + sizeof(U8)]; \ + Fw::SerialBuffer invalidBuf6(invalidData6, sizeof(invalidData6)); \ + \ + status = invalidBuf6.serialize(port.args.val1); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = invalidBuf6.serialize(port.args.val2); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = invalidBuf6.serialize(port.args.val3); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = invalidBuf6.serialize(port.args.val4); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = invalidBuf6.serialize(port.args.val5); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + this->invoke##PORT_KIND##SerialPort(SerialPortIndex::PRIMITIVE, invalidBuf6); \ + \ + this->checkSerializeStatusBufferEmpty(); \ + \ + /* Check successful serialization */ \ + U8 data[InputPrimitiveArgsPort::SERIALIZED_SIZE]; \ + Fw::SerialBuffer buf(data, sizeof(data)); \ + \ + status = buf.serialize(port.args.val1); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = buf.serialize(port.args.val2); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = buf.serialize(port.args.val3); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = buf.serialize(port.args.val4); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = buf.serialize(port.args.val5); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = buf.serialize(port.args.val6); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + this->invoke##PORT_KIND##SerialPort(SerialPortIndex::PRIMITIVE, buf); \ + \ + this->checkSerializeStatusSuccess(); \ + } \ + \ + void Tester ::test##PORT_KIND##PortInvokeSerial(NATIVE_INT_TYPE portNum, FppTest::Types::PortStringParams& port) { \ + ASSERT_TRUE(component.isConnected_serialOut_OutputPort(portNum)); \ + \ + Fw::SerializeStatus status; \ + \ + /* Check unsuccessful deserialization of first parameter */ \ + U8 invalidData1[0]; \ + Fw::SerialBuffer invalidBuf1(invalidData1, sizeof(invalidData1)); \ + \ + this->invoke##PORT_KIND##SerialPort(SerialPortIndex::STRING, invalidBuf1); \ + \ + this->checkSerializeStatusBufferEmpty(); \ + \ + /* Check unsuccessful deserialization of second parameter */ \ + U8 invalidData2[StringArgsPortStrings::StringSize80::SERIALIZED_SIZE]; \ + Fw::SerialBuffer invalidBuf2(invalidData2, sizeof(invalidData2)); \ + \ + status = invalidBuf2.serialize(port.args.val1); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + this->invoke##PORT_KIND##SerialPort(SerialPortIndex::STRING, invalidBuf2); \ + \ + this->checkSerializeStatusBufferEmpty(); \ + \ + /* Check unsuccessful deserialization of third parameter */ \ + U8 invalidData3[StringArgsPortStrings::StringSize80::SERIALIZED_SIZE * 2]; \ + Fw::SerialBuffer invalidBuf3(invalidData3, sizeof(invalidData3)); \ + \ + status = invalidBuf3.serialize(port.args.val1); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = invalidBuf3.serialize(port.args.val2); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + this->invoke##PORT_KIND##SerialPort(SerialPortIndex::STRING, invalidBuf3); \ + \ + this->checkSerializeStatusBufferEmpty(); \ + \ + /* Check unsuccessful deserialization of fourth parameter */ \ + U8 invalidData4[(StringArgsPortStrings::StringSize80::SERIALIZED_SIZE * 2) + \ + StringArgsPortStrings::StringSize100::SERIALIZED_SIZE]; \ + Fw::SerialBuffer invalidBuf4(invalidData4, sizeof(invalidData4)); \ + \ + status = invalidBuf4.serialize(port.args.val1); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = invalidBuf4.serialize(port.args.val2); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = invalidBuf4.serialize(port.args.val3); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + this->invoke##PORT_KIND##SerialPort(SerialPortIndex::STRING, invalidBuf4); \ + \ + this->checkSerializeStatusBufferEmpty(); \ + \ + /* Check successful serialization */ \ + U8 data[InputStringArgsPort::SERIALIZED_SIZE]; \ + Fw::SerialBuffer buf(data, sizeof(data)); \ + \ + status = buf.serialize(port.args.val1); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = buf.serialize(port.args.val2); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = buf.serialize(port.args.val3); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = buf.serialize(port.args.val4); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + this->invoke##PORT_KIND##SerialPort(SerialPortIndex::STRING, buf); \ + \ + this->checkSerializeStatusSuccess(); \ + } \ + \ + void Tester ::test##PORT_KIND##PortInvokeSerial(NATIVE_INT_TYPE portNum, FppTest::Types::EnumParams& port) { \ + ASSERT_TRUE(component.isConnected_serialOut_OutputPort(portNum)); \ + \ + Fw::SerializeStatus status; \ + \ + /* Check unsuccessful deserialization of first parameter */ \ + U8 invalidData1[0]; \ + Fw::SerialBuffer invalidBuf1(invalidData1, sizeof(invalidData1)); \ + \ + this->invoke##PORT_KIND##SerialPort(SerialPortIndex::ENUM, invalidBuf1); \ + \ + this->checkSerializeStatusBufferEmpty(); \ + \ + /* Check unsuccessful deserialization of second parameter */ \ + U8 invalidData2[FormalParamEnum::SERIALIZED_SIZE]; \ + Fw::SerialBuffer invalidBuf2(invalidData2, sizeof(invalidData2)); \ + \ + status = invalidBuf2.serialize(port.args.val1); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + this->invoke##PORT_KIND##SerialPort(SerialPortIndex::ENUM, invalidBuf2); \ + \ + this->checkSerializeStatusBufferEmpty(); \ + \ + /* Check successful serialization */ \ + U8 data[InputEnumArgsPort::SERIALIZED_SIZE]; \ + Fw::SerialBuffer buf(data, sizeof(data)); \ + \ + status = buf.serialize(port.args.val1); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = buf.serialize(port.args.val2); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + this->invoke##PORT_KIND##SerialPort(SerialPortIndex::ENUM, buf); \ + \ + this->checkSerializeStatusSuccess(); \ + } \ + \ + void Tester ::test##PORT_KIND##PortInvokeSerial(NATIVE_INT_TYPE portNum, FppTest::Types::ArrayParams& port) { \ + ASSERT_TRUE(component.isConnected_serialOut_OutputPort(portNum)); \ + \ + Fw::SerializeStatus status; \ + \ + /* Check unsuccessful deserialization of first parameter */ \ + U8 invalidData1[0]; \ + Fw::SerialBuffer invalidBuf1(invalidData1, sizeof(invalidData1)); \ + \ + this->invoke##PORT_KIND##SerialPort(SerialPortIndex::ARRAY, invalidBuf1); \ + \ + this->checkSerializeStatusBufferEmpty(); \ + \ + /* Check unsuccessful deserialization of second parameter */ \ + U8 invalidData2[FormalParamArray::SERIALIZED_SIZE]; \ + Fw::SerialBuffer invalidBuf2(invalidData2, sizeof(invalidData2)); \ + \ + status = invalidBuf2.serialize(port.args.val1); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + this->invoke##PORT_KIND##SerialPort(SerialPortIndex::ARRAY, invalidBuf2); \ + \ + this->checkSerializeStatusBufferEmpty(); \ + \ + U8 data[InputArrayArgsPort::SERIALIZED_SIZE]; \ + Fw::SerialBuffer buf(data, sizeof(data)); \ + \ + status = buf.serialize(port.args.val1); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = buf.serialize(port.args.val2); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + this->invoke##PORT_KIND##SerialPort(SerialPortIndex::ARRAY, buf); \ + \ + this->checkSerializeStatusSuccess(); \ + } \ + \ + void Tester ::test##PORT_KIND##PortInvokeSerial(NATIVE_INT_TYPE portNum, FppTest::Types::StructParams& port) { \ + ASSERT_TRUE(component.isConnected_serialOut_OutputPort(portNum)); \ + \ + Fw::SerializeStatus status; \ + \ + /* Check unsuccessful deserialization of first parameter */ \ + U8 invalidData1[0]; \ + Fw::SerialBuffer invalidBuf1(invalidData1, sizeof(invalidData1)); \ + \ + this->invoke##PORT_KIND##SerialPort(SerialPortIndex::STRUCT, invalidBuf1); \ + \ + this->checkSerializeStatusBufferEmpty(); \ + \ + /* Check unsuccessful deserialization of second parameter */ \ + U8 invalidData2[FormalParamStruct::SERIALIZED_SIZE]; \ + Fw::SerialBuffer invalidBuf2(invalidData2, sizeof(invalidData2)); \ + \ + status = invalidBuf2.serialize(port.args.val1); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + this->invoke##PORT_KIND##SerialPort(SerialPortIndex::STRUCT, invalidBuf2); \ + \ + this->checkSerializeStatusBufferEmpty(); \ + \ + U8 data[InputStructArgsPort::SERIALIZED_SIZE]; \ + Fw::SerialBuffer buf(data, sizeof(data)); \ + \ + status = buf.serialize(port.args.val1); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = buf.serialize(port.args.val2); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + this->invoke##PORT_KIND##SerialPort(SerialPortIndex::STRUCT, buf); \ + \ + this->checkSerializeStatusSuccess(); \ + } + +// ---------------------------------------------------------------------- +// Check history of typed output ports +// ---------------------------------------------------------------------- + +#define PORT_TEST_CHECK_DEFS(PORT_KIND) \ + void Tester ::test##PORT_KIND##PortCheck(FppTest::Types::NoParams& port) { \ + ASSERT_FROM_PORT_HISTORY_SIZE(1); \ + ASSERT_from_noArgsOut_SIZE(1); \ + } \ + \ + void Tester ::test##PORT_KIND##PortCheck(FppTest::Types::PrimitiveParams& port) { \ + ASSERT_FROM_PORT_HISTORY_SIZE(1); \ + ASSERT_from_primitiveArgsOut_SIZE(1); \ + ASSERT_from_primitiveArgsOut(0, port.args.val1, port.args.val2, port.args.val3, port.args.val4, \ + port.args.val5, port.args.val6); \ + } \ + \ + void Tester ::test##PORT_KIND##PortCheck(FppTest::Types::PortStringParams& port) { \ + ASSERT_FROM_PORT_HISTORY_SIZE(1); \ + ASSERT_from_stringArgsOut_SIZE(1); \ + ASSERT_from_stringArgsOut(0, port.args.val1, port.args.val2, port.args.val3, port.args.val4); \ + } \ + \ + void Tester ::test##PORT_KIND##PortCheck(FppTest::Types::EnumParams& port) { \ + ASSERT_FROM_PORT_HISTORY_SIZE(1); \ + ASSERT_from_enumArgsOut_SIZE(1); \ + ASSERT_from_enumArgsOut(0, port.args.val1, port.args.val2); \ + } \ + \ + void Tester ::test##PORT_KIND##PortCheck(FppTest::Types::ArrayParams& port) { \ + ASSERT_FROM_PORT_HISTORY_SIZE(1); \ + ASSERT_from_arrayArgsOut_SIZE(1); \ + ASSERT_from_arrayArgsOut(0, port.args.val1, port.args.val2); \ + } \ + \ + void Tester ::test##PORT_KIND##PortCheck(FppTest::Types::StructParams& port) { \ + ASSERT_FROM_PORT_HISTORY_SIZE(1); \ + ASSERT_from_structArgsOut_SIZE(1); \ + ASSERT_from_structArgsOut(0, port.args.val1, port.args.val2); \ + } + +#define PORT_TEST_CHECK_RETURN_DEFS(PORT_KIND) \ + void Tester ::test##PORT_KIND##PortCheck(FppTest::Types::NoParamReturn& port) { \ + ASSERT_FROM_PORT_HISTORY_SIZE(1); \ + ASSERT_from_noArgsReturnOut_SIZE(1); \ + } \ + \ + void Tester ::test##PORT_KIND##PortCheck(FppTest::Types::PrimitiveReturn& port) { \ + ASSERT_FROM_PORT_HISTORY_SIZE(1); \ + ASSERT_from_primitiveReturnOut_SIZE(1); \ + ASSERT_from_primitiveReturnOut(0, port.args.val1, port.args.val2, port.args.val3, port.args.val4, \ + port.args.val5, port.args.val6); \ + } \ + \ + void Tester ::test##PORT_KIND##PortCheck(FppTest::Types::EnumReturn& port) { \ + ASSERT_FROM_PORT_HISTORY_SIZE(1); \ + ASSERT_from_enumReturnOut_SIZE(1); \ + ASSERT_from_enumReturnOut(0, port.args.val1, port.args.val2); \ + } \ + \ + void Tester ::test##PORT_KIND##PortCheck(FppTest::Types::ArrayReturn& port) { \ + ASSERT_FROM_PORT_HISTORY_SIZE(1); \ + ASSERT_from_arrayReturnOut_SIZE(1); \ + ASSERT_from_arrayReturnOut(0, port.args.val1, port.args.val2); \ + } \ + \ + void Tester ::test##PORT_KIND##PortCheck(FppTest::Types::StructReturn& port) { \ + ASSERT_FROM_PORT_HISTORY_SIZE(1); \ + ASSERT_from_structReturnOut_SIZE(1); \ + ASSERT_from_structReturnOut(0, port.args.val1, port.args.val2); \ + } + +// ---------------------------------------------------------------------- +// Check serial output ports +// ---------------------------------------------------------------------- + +#define PORT_TEST_CHECK_SERIAL_DEFS(PORT_KIND) \ + void Tester ::test##PORT_KIND##PortCheckSerial(FppTest::Types::NoParams& port) {} \ + \ + void Tester ::test##PORT_KIND##PortCheckSerial(FppTest::Types::PrimitiveParams& port) { \ + Fw::SerializeStatus status; \ + U32 u32, u32Ref; \ + F32 f32, f32Ref; \ + bool b, bRef; \ + \ + status = this->primitiveBuf.deserialize(u32); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = this->primitiveBuf.deserialize(u32Ref); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = this->primitiveBuf.deserialize(f32); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = this->primitiveBuf.deserialize(f32Ref); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = this->primitiveBuf.deserialize(b); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = this->primitiveBuf.deserialize(bRef); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + ASSERT_EQ(u32, port.args.val1); \ + ASSERT_EQ(u32Ref, port.args.val2); \ + ASSERT_EQ(f32, port.args.val3); \ + ASSERT_EQ(f32Ref, port.args.val4); \ + ASSERT_EQ(b, port.args.val5); \ + ASSERT_EQ(bRef, port.args.val6); \ + } \ + \ + void Tester ::test##PORT_KIND##PortCheckSerial(FppTest::Types::PortStringParams& port) { \ + Fw::SerializeStatus status; \ + StringArgsPortStrings::StringSize80 str80, str80Ref; \ + StringArgsPortStrings::StringSize100 str100, str100Ref; \ + \ + status = this->stringBuf.deserialize(str80); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = this->stringBuf.deserialize(str80Ref); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = this->stringBuf.deserialize(str100); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = this->stringBuf.deserialize(str100Ref); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + ASSERT_EQ(str80, port.args.val1); \ + ASSERT_EQ(str80Ref, port.args.val2); \ + ASSERT_EQ(str100, port.args.val3); \ + ASSERT_EQ(str100Ref, port.args.val4); \ + } \ + \ + void Tester ::test##PORT_KIND##PortCheckSerial(FppTest::Types::EnumParams& port) { \ + Fw::SerializeStatus status; \ + FormalParamEnum en, enRef; \ + \ + status = this->enumBuf.deserialize(en); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = this->enumBuf.deserialize(enRef); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + ASSERT_EQ(en, port.args.val1); \ + ASSERT_EQ(enRef, port.args.val2); \ + } \ + \ + void Tester ::test##PORT_KIND##PortCheckSerial(FppTest::Types::ArrayParams& port) { \ + Fw::SerializeStatus status; \ + FormalParamArray a, aRef; \ + \ + status = this->arrayBuf.deserialize(a); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = this->arrayBuf.deserialize(aRef); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + ASSERT_EQ(a, port.args.val1); \ + ASSERT_EQ(aRef, port.args.val2); \ + } \ + \ + void Tester ::test##PORT_KIND##PortCheckSerial(FppTest::Types::StructParams& port) { \ + Fw::SerializeStatus status; \ + FormalParamStruct s, sRef; \ + \ + status = this->structBuf.deserialize(s); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + status = this->structBuf.deserialize(sRef); \ + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); \ + \ + ASSERT_EQ(s, port.args.val1); \ + ASSERT_EQ(sRef, port.args.val2); \ + } + +#define PORT_TEST_DEFS(PORT_KIND) \ + PORT_TEST_INVOKE_DEFS(PORT_KIND) \ + PORT_TEST_INVOKE_RETURN_DEFS(PORT_KIND) \ + PORT_TEST_INVOKE_SERIAL_HELPER_DEF(PORT_KIND) \ + PORT_TEST_INVOKE_SERIAL_DEFS(PORT_KIND) \ + PORT_TEST_CHECK_DEFS(PORT_KIND) \ + PORT_TEST_CHECK_RETURN_DEFS(PORT_KIND) \ + PORT_TEST_CHECK_SERIAL_DEFS(PORT_KIND) + +#define PORT_TEST_DEFS_ASYNC \ + PORT_TEST_INVOKE_DEFS(Async) \ + PORT_TEST_INVOKE_SERIAL_HELPER_DEF_ASYNC \ + PORT_TEST_INVOKE_SERIAL_DEFS(Async) \ + PORT_TEST_CHECK_DEFS(Async) \ + PORT_TEST_CHECK_SERIAL_DEFS(Async) diff --git a/FppTest/component/tests/TestMain.cpp b/FppTest/component/tests/TestMain.cpp new file mode 100644 index 0000000000..d12c644fa1 --- /dev/null +++ b/FppTest/component/tests/TestMain.cpp @@ -0,0 +1,13 @@ +// ---------------------------------------------------------------------- +// TestMain.cpp +// ---------------------------------------------------------------------- + +#include "STest/Random/Random.hpp" +#include "gtest/gtest.h" + +int main(int argc, char** argv) { + ::testing::InitGoogleTest(&argc, argv); + STest::Random::seed(); + + return RUN_ALL_TESTS(); +} diff --git a/FppTest/component/tests/TesterHandlers.cpp b/FppTest/component/tests/TesterHandlers.cpp new file mode 100644 index 0000000000..c4d563a2e4 --- /dev/null +++ b/FppTest/component/tests/TesterHandlers.cpp @@ -0,0 +1,140 @@ +// ====================================================================== +// \title TesterHandlers.cpp +// \author T. Chieu +// \brief cpp file for tester handler functions +// +// \copyright +// Copyright (C) 2009-2023 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== + +#include "test/ut/Tester.hpp" + +// ---------------------------------------------------------------------- +// Handlers for typed from ports +// ---------------------------------------------------------------------- + +void Tester ::from_arrayArgsOut_handler(const NATIVE_INT_TYPE portNum, + const FormalParamArray& a, + FormalParamArray& aRef) { + this->pushFromPortEntry_arrayArgsOut(a, aRef); +} + +FormalParamArray Tester ::from_arrayReturnOut_handler(const NATIVE_INT_TYPE portNum, + const FormalParamArray& a, + FormalParamArray& aRef) { + this->pushFromPortEntry_arrayReturnOut(a, aRef); + return arrayReturnVal.val; +} + +void Tester ::from_enumArgsOut_handler(const NATIVE_INT_TYPE portNum, + const FormalParamEnum& en, + FormalParamEnum& enRef) { + this->pushFromPortEntry_enumArgsOut(en, enRef); +} + +FormalParamEnum Tester ::from_enumReturnOut_handler(const NATIVE_INT_TYPE portNum, + const FormalParamEnum& en, + FormalParamEnum& enRef) { + this->pushFromPortEntry_enumReturnOut(en, enRef); + return enumReturnVal.val; +} + +void Tester ::from_noArgsOut_handler(const NATIVE_INT_TYPE portNum) { + this->pushFromPortEntry_noArgsOut(); +} + +bool Tester ::from_noArgsReturnOut_handler(const NATIVE_INT_TYPE portNum) { + this->pushFromPortEntry_noArgsReturnOut(); + return noParamReturnVal.val; +} + +void Tester ::from_primitiveArgsOut_handler(const NATIVE_INT_TYPE portNum, + U32 u32, + U32& u32Ref, + F32 f32, + F32& f32Ref, + bool b, + bool& bRef) { + this->pushFromPortEntry_primitiveArgsOut(u32, u32Ref, f32, f32Ref, b, bRef); +} + +U32 Tester ::from_primitiveReturnOut_handler(const NATIVE_INT_TYPE portNum, + U32 u32, + U32& u32Ref, + F32 f32, + F32& f32Ref, + bool b, + bool& bRef) { + this->pushFromPortEntry_primitiveReturnOut(u32, u32Ref, f32, f32Ref, b, bRef); + return primitiveReturnVal.val; +} + +void Tester ::from_stringArgsOut_handler(const NATIVE_INT_TYPE portNum, + const str80String& str80, + str80RefString& str80Ref, + const str100String& str100, + str100RefString& str100Ref) { + this->pushFromPortEntry_stringArgsOut(str80, str80Ref, str100, str100Ref); +} + +void Tester ::from_structArgsOut_handler(const NATIVE_INT_TYPE portNum, + const FormalParamStruct& s, + FormalParamStruct& sRef) { + this->pushFromPortEntry_structArgsOut(s, sRef); +} + +FormalParamStruct Tester ::from_structReturnOut_handler(const NATIVE_INT_TYPE portNum, + const FormalParamStruct& s, + FormalParamStruct& sRef) { + this->pushFromPortEntry_structReturnOut(s, sRef); + return structReturnVal.val; +} + +// ---------------------------------------------------------------------- +// Handlers for serial from ports +// ---------------------------------------------------------------------- + +void Tester ::from_serialOut_handler(NATIVE_INT_TYPE portNum, /*!< The port number*/ + Fw::SerializeBufferBase& Buffer /*!< The serialization buffer*/ +) { + Fw::SerializeStatus status; + + switch (portNum) { + case SerialPortIndex::NO_ARGS: + status = Fw::FW_SERIALIZE_OK; + break; + + case SerialPortIndex::PRIMITIVE: + status = Buffer.copyRaw(this->primitiveBuf, Buffer.getBuffCapacity()); + break; + + case SerialPortIndex::STRING: + status = Buffer.copyRaw(this->stringBuf, Buffer.getBuffCapacity()); + break; + + case SerialPortIndex::ENUM: + status = Buffer.copyRaw(this->enumBuf, Buffer.getBuffCapacity()); + break; + + case SerialPortIndex::ARRAY: + status = Buffer.copyRaw(this->arrayBuf, Buffer.getBuffCapacity()); + break; + + case SerialPortIndex::STRUCT: + status = Buffer.copyRaw(this->structBuf, Buffer.getBuffCapacity()); + break; + } + + ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); +} + +// ---------------------------------------------------------------------- +// Handlers for special from ports +// ---------------------------------------------------------------------- + +void Tester ::cmdResponseIn(const FwOpcodeType opCode, const U32 cmdSeq, const Fw::CmdResponse response) { + this->cmdResp = response; +} diff --git a/FppTest/component/tests/TesterHelpers.cpp b/FppTest/component/tests/TesterHelpers.cpp new file mode 100644 index 0000000000..7c2866ea3f --- /dev/null +++ b/FppTest/component/tests/TesterHelpers.cpp @@ -0,0 +1,272 @@ +// ====================================================================== +// \title TesterHelpers.cpp +// \author T. Chieu +// \brief cpp file for tester helper functions +// +// \copyright +// Copyright (C) 2009-2023 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== + +#include "test/ut/Tester.hpp" + +// ---------------------------------------------------------------------- +// Helper methods +// ---------------------------------------------------------------------- + +void Tester ::connectPorts() { + // arrayArgsGuarded + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_arrayArgsGuarded(i, this->component.get_arrayArgsGuarded_InputPort(i)); + } + + // arrayArgsSync + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_arrayArgsSync(i, this->component.get_arrayArgsSync_InputPort(i)); + } + + // arrayReturnGuarded + this->connect_to_arrayReturnGuarded(0, this->component.get_arrayReturnGuarded_InputPort(0)); + + // arrayReturnSync + this->connect_to_arrayReturnSync(0, this->component.get_arrayReturnSync_InputPort(0)); + + // cmdIn + this->connect_to_cmdIn(0, this->component.get_cmdIn_InputPort(0)); + + // enumArgsGuarded + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_enumArgsGuarded(i, this->component.get_enumArgsGuarded_InputPort(i)); + } + + // enumArgsSync + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_enumArgsSync(i, this->component.get_enumArgsSync_InputPort(i)); + } + + // enumReturnGuarded + this->connect_to_enumReturnGuarded(0, this->component.get_enumReturnGuarded_InputPort(0)); + + // enumReturnSync + this->connect_to_enumReturnSync(0, this->component.get_enumReturnSync_InputPort(0)); + + // noArgsGuarded + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_noArgsGuarded(i, this->component.get_noArgsGuarded_InputPort(i)); + } + + // noArgsReturnGuarded + this->connect_to_noArgsReturnGuarded(0, this->component.get_noArgsReturnGuarded_InputPort(0)); + + // noArgsReturnSync + this->connect_to_noArgsReturnSync(0, this->component.get_noArgsReturnSync_InputPort(0)); + + // noArgsSync + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_noArgsSync(i, this->component.get_noArgsSync_InputPort(i)); + } + + // primitiveArgsGuarded + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_primitiveArgsGuarded(i, this->component.get_primitiveArgsGuarded_InputPort(i)); + } + + // primitiveArgsSync + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_primitiveArgsSync(i, this->component.get_primitiveArgsSync_InputPort(i)); + } + + // primitiveReturnGuarded + this->connect_to_primitiveReturnGuarded(0, this->component.get_primitiveReturnGuarded_InputPort(0)); + + // primitiveReturnSync + this->connect_to_primitiveReturnSync(0, this->component.get_primitiveReturnSync_InputPort(0)); + + // stringArgsGuarded + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_stringArgsGuarded(i, this->component.get_stringArgsGuarded_InputPort(i)); + } + + // stringArgsSync + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_stringArgsSync(i, this->component.get_stringArgsSync_InputPort(i)); + } + + // structArgsGuarded + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_structArgsGuarded(i, this->component.get_structArgsGuarded_InputPort(i)); + } + + // structArgsSync + for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { + this->connect_to_structArgsSync(i, this->component.get_structArgsSync_InputPort(i)); + } + + // structReturnGuarded + this->connect_to_structReturnGuarded(0, this->component.get_structReturnGuarded_InputPort(0)); + + // structReturnSync + this->connect_to_structReturnSync(0, this->component.get_structReturnSync_InputPort(0)); + + // arrayArgsOut + this->component.set_arrayArgsOut_OutputPort(TypedPortIndex::TYPED, + this->get_from_arrayArgsOut(TypedPortIndex::TYPED)); + + // arrayReturnOut + this->component.set_arrayReturnOut_OutputPort(0, this->get_from_arrayReturnOut(0)); + + // cmdIn + this->connect_to_cmdOut(0, this->component.get_cmdIn_InputPort(0)); + + // cmdRegOut + this->component.set_cmdRegOut_OutputPort(0, this->get_from_cmdRegOut(0)); + + // cmdResponseOut + this->component.set_cmdResponseOut_OutputPort(0, this->get_from_cmdResponseOut(0)); + + // enumArgsOut + this->component.set_enumArgsOut_OutputPort(TypedPortIndex::TYPED, + this->get_from_enumArgsOut(TypedPortIndex::TYPED)); + + // enumReturnOut + this->component.set_enumReturnOut_OutputPort(0, this->get_from_enumReturnOut(0)); + + // eventOut + this->component.set_eventOut_OutputPort(0, this->get_from_eventOut(0)); + + // noArgsOut + this->component.set_noArgsOut_OutputPort(TypedPortIndex::TYPED, this->get_from_noArgsOut(TypedPortIndex::TYPED)); + + // noArgsReturnOut + this->component.set_noArgsReturnOut_OutputPort(0, this->get_from_noArgsReturnOut(0)); + + // primitiveArgsOut + this->component.set_primitiveArgsOut_OutputPort(TypedPortIndex::TYPED, + this->get_from_primitiveArgsOut(TypedPortIndex::TYPED)); + + // primitiveReturnOut + this->component.set_primitiveReturnOut_OutputPort(0, this->get_from_primitiveReturnOut(0)); + + // stringArgsOut + this->component.set_stringArgsOut_OutputPort(TypedPortIndex::TYPED, + this->get_from_stringArgsOut(TypedPortIndex::TYPED)); + + // structArgsOut + this->component.set_structArgsOut_OutputPort(TypedPortIndex::TYPED, + this->get_from_structArgsOut(TypedPortIndex::TYPED)); + + // structReturnOut + this->component.set_structReturnOut_OutputPort(0, this->get_from_structReturnOut(0)); + + // textEventOut + this->component.set_textEventOut_OutputPort(0, this->get_from_textEventOut(0)); + + // tlmOut + this->component.set_tlmOut_OutputPort(0, this->get_from_tlmOut(0)); + + // ---------------------------------------------------------------------- + // Connect special ports + // ---------------------------------------------------------------------- + + // prmGetOut + this->component.set_prmGetOut_OutputPort(0, this->get_from_prmGetIn(0)); + + // ---------------------------------------------------------------------- + // Connect serial output ports + // ---------------------------------------------------------------------- + + this->component.set_noArgsOut_OutputPort(TypedPortIndex::SERIAL, + this->get_from_serialOut(SerialPortIndex::NO_ARGS)); + + this->component.set_primitiveArgsOut_OutputPort(TypedPortIndex::SERIAL, + this->get_from_serialOut(SerialPortIndex::PRIMITIVE)); + + this->component.set_stringArgsOut_OutputPort(TypedPortIndex::SERIAL, + this->get_from_serialOut(SerialPortIndex::STRING)); + + this->component.set_enumArgsOut_OutputPort(TypedPortIndex::SERIAL, this->get_from_serialOut(SerialPortIndex::ENUM)); + + this->component.set_arrayArgsOut_OutputPort(TypedPortIndex::SERIAL, + this->get_from_serialOut(SerialPortIndex::ARRAY)); + + this->component.set_structArgsOut_OutputPort(TypedPortIndex::SERIAL, + this->get_from_serialOut(SerialPortIndex::STRUCT)); + + this->component.set_serialOut_OutputPort(SerialPortIndex::NO_ARGS, + this->get_from_noArgsOut(TypedPortIndex::SERIAL)); + + this->component.set_serialOut_OutputPort(SerialPortIndex::PRIMITIVE, + this->get_from_primitiveArgsOut(TypedPortIndex::SERIAL)); + + this->component.set_serialOut_OutputPort(SerialPortIndex::STRING, + this->get_from_stringArgsOut(TypedPortIndex::SERIAL)); + + this->component.set_serialOut_OutputPort(SerialPortIndex::ENUM, this->get_from_enumArgsOut(TypedPortIndex::SERIAL)); + + this->component.set_serialOut_OutputPort(SerialPortIndex::ARRAY, + this->get_from_arrayArgsOut(TypedPortIndex::SERIAL)); + + this->component.set_serialOut_OutputPort(SerialPortIndex::STRUCT, + this->get_from_structArgsOut(TypedPortIndex::SERIAL)); + + // ---------------------------------------------------------------------- + // Connect serial input ports + // ---------------------------------------------------------------------- + + // serialGuarded + for (NATIVE_INT_TYPE i = 0; i < 6; ++i) { + this->connect_to_serialGuarded(i, this->component.get_serialGuarded_InputPort(i)); + } + + // serialSync + for (NATIVE_INT_TYPE i = 0; i < 6; ++i) { + this->connect_to_serialSync(i, this->component.get_serialSync_InputPort(i)); + } +} + +void Tester ::connectPrmSetIn() { + // prmSetOut + this->component.set_prmSetOut_OutputPort(0, this->get_from_prmSetIn(0)); +} + +void Tester ::connectTimeGetOut() { + // timeGetOut + this->component.set_timeGetOut_OutputPort(0, this->get_from_timeGetOut(0)); +} + +void Tester ::connectSpecialPortsSerial() { + // cmdResponseOut + this->component.set_cmdResponseOut_OutputPort(0, this->get_from_serialOut(0)); + + // cmdRegOut + this->component.set_cmdRegOut_OutputPort(0, this->get_from_serialOut(0)); + + // eventOut + this->component.set_eventOut_OutputPort(0, this->get_from_serialOut(0)); + + // textEventOut + this->component.set_textEventOut_OutputPort(0, this->get_from_serialOut(0)); + + // tlmOut + this->component.set_tlmOut_OutputPort(0, this->get_from_serialOut(0)); + + // prmSetOut + this->component.set_prmSetOut_OutputPort(0, this->get_from_serialOut(0)); + + // timeGetOut + this->component.set_timeGetOut_OutputPort(0, this->get_from_serialOut(0)); +} + +void Tester ::setPrmValid(Fw::ParamValid valid) { + this->prmValid = valid; +} + +void Tester ::checkSerializeStatusSuccess() { + ASSERT_EQ(component.serializeStatus, Fw::FW_SERIALIZE_OK); +} + +void Tester ::checkSerializeStatusBufferEmpty() { + ASSERT_EQ(component.serializeStatus, Fw::FW_DESERIALIZE_BUFFER_EMPTY); +} diff --git a/FppTest/component/tests/Tests.cpp b/FppTest/component/tests/Tests.cpp new file mode 100644 index 0000000000..808018b1d9 --- /dev/null +++ b/FppTest/component/tests/Tests.cpp @@ -0,0 +1,115 @@ +// ====================================================================== +// \title Tests.cpp +// \author T. Chieu +// \brief cpp file for component tests +// +// \copyright +// Copyright (C) 2009-2023 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== + +#include "FppTest/component/active/StringArgsPortAc.hpp" +#include "FppTest/component/types/FormalParamTypes.hpp" +#include "FppTest/typed_tests/ComponentTest.hpp" +#include "FppTest/typed_tests/PortTest.hpp" +#include "FppTest/typed_tests/StringTest.hpp" + +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TypedAsyncPortTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(SerialAsyncPortTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(ComponentAsyncCommandTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(ComponentInternalInterfaceTest); + +// Typed port tests +using TypedPortTestImplementations = ::testing::Types; + +INSTANTIATE_TYPED_TEST_SUITE_P(FppTest, TypedPortTest, TypedPortTestImplementations); + +// Serial port tests +using SerialPortTestImplementations = ::testing::Types; + +INSTANTIATE_TYPED_TEST_SUITE_P(FppTest, SerialPortTest, SerialPortTestImplementations); + +// String tests +using StringTestImplementations = + ::testing::Types; + +INSTANTIATE_TYPED_TEST_SUITE_P(Array, StringTest, StringTestImplementations); + +template <> +U32 FppTest::String::getSize() { + return 100; +} + +// Command tests +using CommandTestImplementations = ::testing::Types; + +INSTANTIATE_TYPED_TEST_SUITE_P(FppTest, ComponentCommandTest, CommandTestImplementations); +// Event tests +using EventTestImplementations = ::testing::Types; + +INSTANTIATE_TYPED_TEST_SUITE_P(FppTest, ComponentEventTest, EventTestImplementations); + +// Telemetry tests +using TelemetryTestImplementations = ::testing::Types; + +INSTANTIATE_TYPED_TEST_SUITE_P(FppTest, ComponentTelemetryTest, TelemetryTestImplementations); + +// Parameter tests +TEST(ComponentParameterTest, ParameterTest) { + Tester tester; + + tester.setPrmValid(Fw::ParamValid::VALID); + tester.testParam(); + + tester.setPrmValid(Fw::ParamValid::INVALID); + tester.testParam(); +} + +// Parameter tests +using ParamCommandTestImplementations = ::testing::Types; + +INSTANTIATE_TYPED_TEST_SUITE_P(FppTest, ComponentParamCommandTest, ParamCommandTestImplementations); + +// Time tests +TEST(ComponentTimeTest, TimeTest) { + Tester tester; + tester.testTime(); +} diff --git a/FppTest/component/tests/TimeTests.cpp b/FppTest/component/tests/TimeTests.cpp new file mode 100644 index 0000000000..41f034d085 --- /dev/null +++ b/FppTest/component/tests/TimeTests.cpp @@ -0,0 +1,42 @@ +// ====================================================================== +// \title TimeTests.cpp +// \author T. Chieu +// \brief cpp file for time tests +// +// \copyright +// Copyright (C) 2009-2023 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== + +#include "Fw/Time/Time.hpp" +#include "STest/Pick/Pick.hpp" +#include "test/ut/Tester.hpp" + +// ---------------------------------------------------------------------- +// Time test +// ---------------------------------------------------------------------- + +void Tester ::testTime() { + Fw::Time time(STest::Pick::any(), STest::Pick::any()); + Fw::Time zero_time(TB_NONE, 0, 0); + Fw::Time result; + + this->setTestTime(time); + + result = component.getTime(); + ASSERT_EQ(result, zero_time); + + this->connectTimeGetOut(); + ASSERT_TRUE(component.isConnected_timeGetOut_OutputPort(0)); + + result = component.getTime(); + ASSERT_EQ(result, time); + + this->connectSpecialPortsSerial(); + ASSERT_TRUE(component.isConnected_timeGetOut_OutputPort(0)); + + result = component.getTime(); + ASSERT_EQ(result, time); +} diff --git a/FppTest/component/tests/TlmTests.cpp b/FppTest/component/tests/TlmTests.cpp new file mode 100644 index 0000000000..2cedf185d0 --- /dev/null +++ b/FppTest/component/tests/TlmTests.cpp @@ -0,0 +1,16 @@ +// ====================================================================== +// \title TlmTests.cpp +// \author T. Chieu +// \brief cpp file for telemetry tests +// +// \copyright +// Copyright (C) 2009-2023 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== + +#include "TlmTests.hpp" +#include "test/ut/Tester.hpp" + +TLM_TEST_DEFS diff --git a/FppTest/component/tests/TlmTests.hpp b/FppTest/component/tests/TlmTests.hpp new file mode 100644 index 0000000000..c08153281a --- /dev/null +++ b/FppTest/component/tests/TlmTests.hpp @@ -0,0 +1,83 @@ +// ====================================================================== +// \title TlmTests.hpp +// \author T. Chieu +// \brief hpp file for telemetry tests +// +// \copyright +// Copyright (C) 2009-2023 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== + +// ---------------------------------------------------------------------- +// Telemetry test declarations +// ---------------------------------------------------------------------- + +#define TLM_TEST_DECL(TYPE) void testTelemetry(NATIVE_INT_TYPE portNum, FppTest::Types::TYPE##Param& data); + +#define TLM_TEST_DECLS \ + TLM_TEST_DECL(U32) \ + TLM_TEST_DECL(F32) \ + TLM_TEST_DECL(TlmString) \ + TLM_TEST_DECL(Enum) \ + TLM_TEST_DECL(Array) \ + TLM_TEST_DECL(Struct) + +// ---------------------------------------------------------------------- +// Telemetry test definitions +// ---------------------------------------------------------------------- + +#define TLM_TEST_DEF(TYPE) \ + void Tester ::testTelemetry(NATIVE_INT_TYPE portNum, FppTest::Types::TYPE##Param& data) { \ + ASSERT_TRUE(component.isConnected_tlmOut_OutputPort(portNum)); \ + \ + component.tlmWrite_Channel##TYPE(data.args.val); \ + \ + ASSERT_TLM_SIZE(1); \ + ASSERT_TLM_Channel##TYPE##_SIZE(1); \ + ASSERT_TLM_Channel##TYPE(0, data.args.val); \ + \ + Fw::Time time = Fw::ZERO_TIME; \ + component.tlmWrite_Channel##TYPE(data.args.val, time); \ + \ + ASSERT_TLM_SIZE(2); \ + ASSERT_TLM_Channel##TYPE##_SIZE(2); \ + ASSERT_TLM_Channel##TYPE(0, data.args.val); \ + } + +#define TLM_TEST_DEFS \ + TLM_TEST_DEF(U32) \ + TLM_TEST_DEF(F32) \ + \ + void Tester ::testTelemetry(NATIVE_INT_TYPE portNum, FppTest::Types::TlmStringParam& data) { \ + ASSERT_TRUE(component.isConnected_tlmOut_OutputPort(portNum)); \ + \ + component.tlmWrite_ChannelString(data.args.val); \ + \ + ASSERT_TLM_SIZE(1); \ + ASSERT_TLM_ChannelString_SIZE(1); \ + ASSERT_TLM_ChannelString(0, data.args.val.toChar()); \ + \ + /* Test unchanged value */ \ + component.tlmWrite_ChannelString(data.args.val); \ + \ + ASSERT_TLM_SIZE(1); \ + ASSERT_TLM_ChannelString_SIZE(1); \ + \ + FppTest::Types::TlmStringParam data2; \ + while (data2.args.val == data.args.val) { \ + data2 = FppTest::Types::TlmStringParam(); \ + } \ + \ + Fw::Time time = Fw::ZERO_TIME; \ + component.tlmWrite_ChannelString(data2.args.val, time); \ + \ + ASSERT_TLM_SIZE(2); \ + ASSERT_TLM_ChannelString_SIZE(2); \ + ASSERT_TLM_ChannelString(1, data2.args.val.toChar()); \ + } \ + \ + TLM_TEST_DEF(Enum) \ + TLM_TEST_DEF(Array) \ + TLM_TEST_DEF(Struct) diff --git a/FppTest/component/types/FormalParamTypes.cpp b/FppTest/component/types/FormalParamTypes.cpp new file mode 100644 index 0000000000..ba8f4e6106 --- /dev/null +++ b/FppTest/component/types/FormalParamTypes.cpp @@ -0,0 +1,193 @@ +// ====================================================================== +// \title FormalParamTypes.cpp +// \author T. Chieu +// \brief cpp file for formal param types +// +// \copyright +// Copyright (C) 2009-2023 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== + +#include "FormalParamTypes.hpp" + +#include "FppTest/utils/Utils.hpp" +#include "STest/Pick/Pick.hpp" + +namespace FppTest { + +namespace Types { + +// ---------------------------------------------------------------------- +// Primitive types +// ---------------------------------------------------------------------- + +BoolType::BoolType() { + val = static_cast(STest::Pick::lowerUpper(0, 1)); +} + +U32Type::U32Type() { + val = STest::Pick::any(); +} + +F32Type::F32Type() { + val = static_cast(STest::Pick::any()); +} + +PrimitiveTypes::PrimitiveTypes() { + val1 = STest::Pick::any(); + val2 = STest::Pick::any(); + val3 = static_cast(STest::Pick::any()); + val4 = static_cast(STest::Pick::any()); + val5 = static_cast(STest::Pick::lowerUpper(0, 1)); + val6 = static_cast(STest::Pick::lowerUpper(0, 1)); +} + +// ---------------------------------------------------------------------- +// FPP types +// ---------------------------------------------------------------------- + +EnumType::EnumType() { + val = getRandomFormalParamEnum(); +} + +EnumTypes::EnumTypes() { + val1 = getRandomFormalParamEnum(); + val2 = getRandomFormalParamEnum(); +} + +ArrayType::ArrayType() { + getRandomFormalParamArray(val); +} + +ArrayTypes::ArrayTypes() { + getRandomFormalParamArray(val1); + getRandomFormalParamArray(val2); +} + +StructType::StructType() { + val = getRandomFormalParamStruct(); +} + +StructTypes::StructTypes() { + val1 = getRandomFormalParamStruct(); + val2 = getRandomFormalParamStruct(); +} + +// ---------------------------------------------------------------------- +// String types +// ---------------------------------------------------------------------- + +PortStringType::PortStringType() { + setRandomString(val); +} + +PortStringTypes::PortStringTypes() { + setRandomString(val1); + setRandomString(val2); + setRandomString(val3); + setRandomString(val4); +} + +InternalInterfaceStringType::InternalInterfaceStringType() { + setRandomString(val); +} + +InternalInterfaceStringTypes::InternalInterfaceStringTypes() { + setRandomString(val1); + setRandomString(val2); +} + +CmdStringType::CmdStringType() { + setRandomString(val, FW_CMD_STRING_MAX_SIZE); +} + +CmdStringTypes::CmdStringTypes() { + setRandomString(val1, FW_CMD_STRING_MAX_SIZE / 2); + setRandomString(val2, FW_CMD_STRING_MAX_SIZE / 2); +} + +LogStringType::LogStringType() { + setRandomString(val, FW_LOG_STRING_MAX_SIZE); +} + +LogStringTypes::LogStringTypes() { + setRandomString(val1, FW_LOG_STRING_MAX_SIZE / 2); + setRandomString(val2, FW_LOG_STRING_MAX_SIZE / 2); +} + +TlmStringType::TlmStringType() { + setRandomString(val, FW_TLM_STRING_MAX_SIZE); +} + +TlmStringTypes::TlmStringTypes() { + setRandomString(val1, FW_TLM_STRING_MAX_SIZE / 2); + setRandomString(val2, FW_TLM_STRING_MAX_SIZE / 2); +} + +PrmStringType::PrmStringType() { + setRandomString(val, FW_PARAM_STRING_MAX_SIZE); +} + +PrmStringTypes::PrmStringTypes() { + setRandomString(val1, FW_PARAM_STRING_MAX_SIZE / 2); + setRandomString(val2, FW_PARAM_STRING_MAX_SIZE / 2); +} + +// ---------------------------------------------------------------------- +// Serial type +// ---------------------------------------------------------------------- + +SerialType::SerialType() : val(data, sizeof(data)) { + U32 len = STest::Pick::lowerUpper(1, SERIAL_ARGS_BUFFER_CAPACITY); + + for (U32 i = 0; i < len; i++) { + data[i] = Utils::getNonzeroU8(); + } +} + +// ---------------------------------------------------------------------- +// Helper functions +// ---------------------------------------------------------------------- + +void setRandomString(Fw::StringBase& str) { + char buf[str.getCapacity()]; + Utils::setString(buf, sizeof(buf)); + str = buf; +} + +void setRandomString(Fw::StringBase& str, U32 size) { + char buf[size]; + Utils::setString(buf, size); + str = buf; +} + +FormalParamEnum getRandomFormalParamEnum() { + FormalParamEnum e; + + e = static_cast(STest::Pick::lowerUpper(0, FormalParamEnum::NUM_CONSTANTS - 1)); + + return e; +} + +void getRandomFormalParamArray(FormalParamArray& a) { + for (U32 i = 0; i < FormalParamArray::SIZE; i++) { + a[i] = STest::Pick::any(); + } +} + +FormalParamStruct getRandomFormalParamStruct() { + FormalParamStruct s; + char buf[s.gety().getCapacity()]; + FormalParamStruct::StringSize80 str = buf; + + Utils::setString(buf, sizeof(buf)); + s.set(STest::Pick::any(), str); + + return s; +} + +} // namespace Types + +} // namespace FppTest diff --git a/FppTest/component/types/FormalParamTypes.hpp b/FppTest/component/types/FormalParamTypes.hpp new file mode 100644 index 0000000000..b8fbdaade7 --- /dev/null +++ b/FppTest/component/types/FormalParamTypes.hpp @@ -0,0 +1,266 @@ +// ====================================================================== +// \title FormalParamTypes.hpp +// \author T. Chieu +// \brief hpp file for formal param types +// +// \copyright +// Copyright (C) 2009-2023 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== + +#ifndef FPP_TEST_FORMAL_PARAM_TYPES_HPP +#define FPP_TEST_FORMAL_PARAM_TYPES_HPP + +#include "Fw/Cmd/CmdString.hpp" +#include "Fw/Log/LogString.hpp" +#include "Fw/Prm/PrmString.hpp" +#include "Fw/Tlm/TlmString.hpp" +#include "Fw/Types/InternalInterfaceString.hpp" +#include "Fw/Types/SerialBuffer.hpp" + +#include "FppTest/component/active/FormalParamArrayArrayAc.hpp" +#include "FppTest/component/active/FormalParamEnumEnumAc.hpp" +#include "FppTest/component/active/FormalParamStructSerializableAc.hpp" +#include "FppTest/component/active/StringArgsPortAc.hpp" +#include "FppTest/utils/Utils.hpp" + +#define SERIAL_ARGS_BUFFER_CAPACITY 256 + +namespace FppTest { + +namespace Types { + +template +struct FormalParamsWithReturn { + ArgType args; +}; + +// Empty type +struct Empty {}; + +template +using FormalParams = FormalParamsWithReturn; + +// ---------------------------------------------------------------------- +// Primitive types +// ---------------------------------------------------------------------- + +struct BoolType { + BoolType(); + + bool val; +}; + +struct U32Type { + U32Type(); + + U32 val; +}; + +struct F32Type { + F32Type(); + + F32 val; +}; + +struct PrimitiveTypes { + PrimitiveTypes(); + + U32 val1; + U32 val2; + F32 val3; + F32 val4; + bool val5; + bool val6; +}; + +// ---------------------------------------------------------------------- +// FPP types +// ---------------------------------------------------------------------- + +struct EnumType { + EnumType(); + + FormalParamEnum val; +}; + +struct EnumTypes { + EnumTypes(); + + FormalParamEnum val1; + FormalParamEnum val2; +}; + +struct ArrayType { + ArrayType(); + + FormalParamArray val; +}; + +struct ArrayTypes { + ArrayTypes(); + + FormalParamArray val1; + FormalParamArray val2; +}; + +struct StructType { + StructType(); + + FormalParamStruct val; +}; + +struct StructTypes { + StructTypes(); + + FormalParamStruct val1; + FormalParamStruct val2; +}; + +// ---------------------------------------------------------------------- +// String types +// ---------------------------------------------------------------------- + +struct PortStringType { + PortStringType(); + + StringArgsPortStrings::StringSize80 val; +}; + +struct PortStringTypes { + PortStringTypes(); + + StringArgsPortStrings::StringSize80 val1; + StringArgsPortStrings::StringSize80 val2; + StringArgsPortStrings::StringSize100 val3; + StringArgsPortStrings::StringSize100 val4; +}; + +struct InternalInterfaceStringType { + InternalInterfaceStringType(); + + Fw::InternalInterfaceString val; +}; + +struct InternalInterfaceStringTypes { + InternalInterfaceStringTypes(); + + Fw::InternalInterfaceString val1; + Fw::InternalInterfaceString val2; +}; + +struct CmdStringType { + CmdStringType(); + + Fw::CmdStringArg val; +}; + +struct CmdStringTypes { + CmdStringTypes(); + + Fw::CmdStringArg val1; + Fw::CmdStringArg val2; +}; + +struct LogStringType { + LogStringType(); + + Fw::LogStringArg val; +}; + +struct LogStringTypes { + LogStringTypes(); + + Fw::LogStringArg val1; + Fw::LogStringArg val2; +}; + +struct TlmStringType { + TlmStringType(); + + Fw::TlmString val; +}; + +struct TlmStringTypes { + TlmStringTypes(); + + Fw::TlmString val1; + Fw::TlmString val2; +}; + +struct PrmStringType { + PrmStringType(); + + Fw::ParamString val; +}; + +struct PrmStringTypes { + PrmStringTypes(); + + Fw::ParamString val1; + Fw::ParamString val2; +}; + +// ---------------------------------------------------------------------- +// Serial type +// ---------------------------------------------------------------------- + +struct SerialType { + SerialType(); + + U8 data[SERIAL_ARGS_BUFFER_CAPACITY]; + Fw::SerialBuffer val; +}; + +// ---------------------------------------------------------------------- +// Helper functions +// ---------------------------------------------------------------------- + +void setRandomString(Fw::StringBase& str); +void setRandomString(Fw::StringBase& str, U32 size); +FormalParamEnum getRandomFormalParamEnum(); +void getRandomFormalParamArray(FormalParamArray& a); +FormalParamStruct getRandomFormalParamStruct(); + +// ---------------------------------------------------------------------- +// Typedefs +// ---------------------------------------------------------------------- + +typedef FormalParams NoParams; +typedef FormalParams BoolParam; +typedef FormalParams U32Param; +typedef FormalParams F32Param; +typedef FormalParams PrimitiveParams; +typedef FormalParams EnumParam; +typedef FormalParams EnumParams; +typedef FormalParams ArrayParam; +typedef FormalParams ArrayParams; +typedef FormalParams StructParam; +typedef FormalParams StructParams; +typedef FormalParams PortStringParam; +typedef FormalParams PortStringParams; +typedef FormalParams InternalInterfaceStringParam; +typedef FormalParams InternalInterfaceStringParams; +typedef FormalParams CmdStringParam; +typedef FormalParams CmdStringParams; +typedef FormalParams LogStringParam; +typedef FormalParams LogStringParams; +typedef FormalParams TlmStringParam; +typedef FormalParams TlmStringParams; +typedef FormalParams PrmStringParam; +typedef FormalParams PrmStringParams; +typedef FormalParams SerialParam; + +typedef FormalParamsWithReturn NoParamReturn; +typedef FormalParamsWithReturn PrimitiveReturn; +typedef FormalParamsWithReturn EnumReturn; +typedef FormalParamsWithReturn ArrayReturn; +typedef FormalParamsWithReturn StructReturn; + +} // namespace Types + +} // namespace FppTest + +#endif diff --git a/FppTest/port/Example.cpp b/FppTest/port/Example.cpp deleted file mode 100644 index 8a679f7a2f..0000000000 --- a/FppTest/port/Example.cpp +++ /dev/null @@ -1,192 +0,0 @@ -// ====================================================================== -// \title Example.cpp -// \author T. Chieu -// \brief cpp file for Example component implementation class -// ====================================================================== - - -#include -#include - - - // ---------------------------------------------------------------------- - // Construction, initialization, and destruction - // ---------------------------------------------------------------------- - - Example :: - Example( - const char *const compName - ) : ExampleComponentBase(compName) - { - - } - - void Example :: - init( - const NATIVE_INT_TYPE instance - ) - { - ExampleComponentBase::init(instance); - } - - Example :: - ~Example() - { - - } - - // ---------------------------------------------------------------------- - // Handler implementations for user-defined typed input ports - // ---------------------------------------------------------------------- - - void Example :: - arrayArgsIn_handler( - const NATIVE_INT_TYPE portNum, - const PortArray &a, - PortArray &aRef - ) - { - this->arrayArgsOut_out(portNum, a, aRef); - } - - PortArray Example :: - arrayReturnIn_handler( - const NATIVE_INT_TYPE portNum, - const PortArray &a, - PortArray &aRef - ) - { - return this->arrayReturnOut_out(portNum, a, aRef); - } - - void Example :: - enumArgsIn_handler( - const NATIVE_INT_TYPE portNum, - const PortEnum &e, - PortEnum &eRef - ) - { - this->enumArgsOut_out(portNum, e, eRef); - } - - PortEnum Example :: - enumReturnIn_handler( - const NATIVE_INT_TYPE portNum, - const PortEnum &e, - PortEnum &eRef - ) - { - return this->enumReturnOut_out(portNum, e, eRef); - } - - void Example :: - noArgsIn_handler( - const NATIVE_INT_TYPE portNum - ) - { - this->noArgsOut_out(portNum); - } - - bool Example :: - noArgsReturnIn_handler( - const NATIVE_INT_TYPE portNum - ) - { - return this->noArgsReturnOut_out(portNum); - } - - void Example :: - primitiveArgsIn_handler( - const NATIVE_INT_TYPE portNum, - U32 u32, - U32 &u32Ref, - F32 f32, - F32 &f32Ref, - bool b, - bool &bRef - ) - { - this->primitiveArgsOut_out( - portNum, - u32, - u32Ref, - f32, - f32Ref, - b, - bRef - ); - } - - U32 Example :: - primitiveReturnIn_handler( - const NATIVE_INT_TYPE portNum, - U32 u32, - U32 &u32Ref, - F32 f32, - F32 &f32Ref, - bool b, - bool &bRef - ) - { - return this->primitiveReturnOut_out( - portNum, - u32, - u32Ref, - f32, - f32Ref, - b, - bRef - ); - } - - void Example :: - stringArgsIn_handler( - const NATIVE_INT_TYPE portNum, - const str80String &str80, - str80RefString &str80Ref, - const str100String &str100, - str100RefString &str100Ref - ) - { - this->stringArgsOut_out( - portNum, - str80, - str80Ref, - str100, - str100Ref - ); - } - - void Example :: - structArgsIn_handler( - const NATIVE_INT_TYPE portNum, - const PortStruct &s, - PortStruct &sRef - ) - { - this->structArgsOut_out(portNum, s, sRef); - } - - PortStruct Example :: - structReturnIn_handler( - const NATIVE_INT_TYPE portNum, - const PortStruct &s, - PortStruct &sRef - ) - { - return this->structReturnOut_out(portNum, s, sRef); - } - - // ---------------------------------------------------------------------- - // Handler implementations for user-defined serial input ports - // ---------------------------------------------------------------------- - - void Example :: - serialIn_handler( - NATIVE_INT_TYPE portNum, /*!< The port number*/ - Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ - ) - { - this->serializeStatus = this->serialOut_out(portNum, Buffer); - } - diff --git a/FppTest/port/Example.hpp b/FppTest/port/Example.hpp deleted file mode 100644 index 75510209aa..0000000000 --- a/FppTest/port/Example.hpp +++ /dev/null @@ -1,188 +0,0 @@ -// ====================================================================== -// \title Example.hpp -// \author T. Chieu -// \brief hpp file for Example component implementation class -// ====================================================================== - -#ifndef Example_HPP -#define Example_HPP - -#include "FppTest/port/ExampleComponentAc.hpp" - - - class Example : - public ExampleComponentBase - { - - public: - - // ---------------------------------------------------------------------- - // Construction, initialization, and destruction - // ---------------------------------------------------------------------- - - //! Construct object Example - //! - Example( - const char *const compName /*!< The component name*/ - ); - - //! Initialize object Example - //! - void init( - const NATIVE_INT_TYPE instance = 0 /*!< The instance number*/ - ); - - //! Destroy object Example - //! - ~Example(); - - PRIVATE: - - // ---------------------------------------------------------------------- - // Handler implementations for user-defined typed input ports - // ---------------------------------------------------------------------- - - //! Handler implementation for arrayArgsIn - //! - void arrayArgsIn_handler( - const NATIVE_INT_TYPE portNum, /*!< The port number*/ - const PortArray &a, /*!< - An array - */ - PortArray &aRef /*!< - An array ref - */ - ); - - //! Handler implementation for arrayReturnIn - //! - PortArray arrayReturnIn_handler( - const NATIVE_INT_TYPE portNum, /*!< The port number*/ - const PortArray &a, /*!< - An array - */ - PortArray &aRef /*!< - An array ref - */ - ); - - //! Handler implementation for enumArgsIn - //! - void enumArgsIn_handler( - const NATIVE_INT_TYPE portNum, /*!< The port number*/ - const PortEnum &e, /*!< - An enum - */ - PortEnum &eRef /*!< - An enum ref - */ - ); - - //! Handler implementation for enumReturnIn - //! - PortEnum enumReturnIn_handler( - const NATIVE_INT_TYPE portNum, /*!< The port number*/ - const PortEnum &e, /*!< - An enum - */ - PortEnum &eRef /*!< - An enum ref - */ - ); - - //! Handler implementation for noArgsIn - //! - void noArgsIn_handler( - const NATIVE_INT_TYPE portNum /*!< The port number*/ - ); - - //! Handler implementation for noArgsReturnIn - //! - bool noArgsReturnIn_handler( - const NATIVE_INT_TYPE portNum /*!< The port number*/ - ); - - //! Handler implementation for primitiveArgsIn - //! - void primitiveArgsIn_handler( - const NATIVE_INT_TYPE portNum, /*!< The port number*/ - U32 u32, - U32 &u32Ref, - F32 f32, - F32 &f32Ref, - bool b, - bool &bRef - ); - - //! Handler implementation for primitiveReturnIn - //! - U32 primitiveReturnIn_handler( - const NATIVE_INT_TYPE portNum, /*!< The port number*/ - U32 u32, - U32 &u32Ref, - F32 f32, - F32 &f32Ref, - bool b, - bool &bRef - ); - - //! Handler implementation for stringArgsIn - //! - void stringArgsIn_handler( - const NATIVE_INT_TYPE portNum, /*!< The port number*/ - const str80String &str80, /*!< - A string of size 80 - */ - str80RefString &str80Ref, - const str100String &str100, /*!< - A string of size 100 - */ - str100RefString &str100Ref - ); - - //! Handler implementation for structArgsIn - //! - void structArgsIn_handler( - const NATIVE_INT_TYPE portNum, /*!< The port number*/ - const PortStruct &s, /*!< - A struct - */ - PortStruct &sRef /*!< - A struct ref - */ - ); - - //! Handler implementation for structReturnIn - //! - PortStruct structReturnIn_handler( - const NATIVE_INT_TYPE portNum, /*!< The port number*/ - const PortStruct &s, /*!< - A struct - */ - PortStruct &sRef /*!< - A struct ref - */ - ); - - PRIVATE: - - // ---------------------------------------------------------------------- - // Handler implementations for user-defined serial input ports - // ---------------------------------------------------------------------- - - //! Handler implementation for serialIn - //! - void serialIn_handler( - NATIVE_INT_TYPE portNum, /*!< The port number*/ - Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ - ); - - public: - - //! Enables checking the serialization status of serial port invocations - Fw::SerializeStatus serializeStatus; - - }; - - -#endif diff --git a/FppTest/port/PortTypes.cpp b/FppTest/port/PortTypes.cpp deleted file mode 100644 index bb774e6b90..0000000000 --- a/FppTest/port/PortTypes.cpp +++ /dev/null @@ -1,138 +0,0 @@ -// ====================================================================== -// \title PortTypes.cpp -// \author T. Chieu -// \brief cpp file for port types -// -// \copyright -// Copyright (C) 2009-2023 California Institute of Technology. -// ALL RIGHTS RESERVED. United States Government Sponsorship -// acknowledged. -// -// ====================================================================== - -#include "PortTypes.hpp" - -#include "STest/Pick/Pick.hpp" -#include "FppTest/utils/Utils.hpp" - -namespace FppTest { - - namespace Port { - - // ---------------------------------------------------------------------- - // Argument types - // ---------------------------------------------------------------------- - - PrimitiveArgs::PrimitiveArgs() { - u32 = STest::Pick::any(); - u32Ref = STest::Pick::any(); - f32 = static_cast(STest::Pick::any()); - f32Ref = static_cast(STest::Pick::any()); - b = static_cast(STest::Pick::lowerUpper(0, 1)); - bRef = static_cast(STest::Pick::lowerUpper(0, 1)); - } - - StringArgs::StringArgs() { - char buf80[str80.getCapacity()]; - char buf100[str100.getCapacity()]; - - Utils::setString(buf80, sizeof(buf80)); - Utils::setString(buf100, sizeof(buf100)); - - str80 = buf80; - str100 = buf100; - - Utils::setString(buf80, sizeof(buf80)); - Utils::setString(buf100, sizeof(buf100)); - - str80Ref = buf80; - str100Ref = buf100; - } - - EnumArgs::EnumArgs() { - en = getRandomPortEnum(); - enRef = getRandomPortEnum(); - } - - ArrayArgs::ArrayArgs() { - a = getRandomPortArray(); - aRef = getRandomPortArray(); - } - - StructArgs::StructArgs() { - s = getRandomPortStruct(); - sRef = getRandomPortStruct(); - } - - SerialArgs::SerialArgs() : buf(data, sizeof(data)) { - U32 len = STest::Pick::lowerUpper(1, SERIAL_ARGS_BUFFER_CAPACITY); - - for (U32 i = 0; i < len; i++) { - data[i] = Utils::getU8(); - } - } - - // ---------------------------------------------------------------------- - // Return types - // ---------------------------------------------------------------------- - - - BoolReturn::BoolReturn() { - val = static_cast(STest::Pick::lowerUpper(0, 1)); - } - - PrimitiveReturn::PrimitiveReturn() { - val = STest::Pick::any(); - } - - EnumReturn::EnumReturn() { - val = getRandomPortEnum(); - } - - ArrayReturn::ArrayReturn() { - val = getRandomPortArray(); - } - - StructReturn::StructReturn() { - val = getRandomPortStruct(); - } - - // ---------------------------------------------------------------------- - // Helper functions - // ---------------------------------------------------------------------- - - PortEnum getRandomPortEnum() { - PortEnum e; - - e = static_cast(STest::Pick::lowerUpper( - 0, - PortEnum::NUM_CONSTANTS - 1 - )); - - return e; - } - - PortArray getRandomPortArray() { - PortArray a; - - for (U32 i = 0; i < PortArray::SIZE; i++) { - a[i] = STest::Pick::any(); - } - - return a; - } - - PortStruct getRandomPortStruct() { - PortStruct s; - char buf[s.gety().getCapacity()]; - PortStruct::StringSize80 str = buf; - - Utils::setString(buf, sizeof(buf)); - s.set(STest::Pick::any(), str); - - return s; - } - - } // namespace Port - -} // namespace FppTest diff --git a/FppTest/port/PortTypes.hpp b/FppTest/port/PortTypes.hpp deleted file mode 100644 index 0ae7e62c81..0000000000 --- a/FppTest/port/PortTypes.hpp +++ /dev/null @@ -1,154 +0,0 @@ -// ====================================================================== -// \title PortTypes.hpp -// \author T. Chieu -// \brief hpp file for port types -// -// \copyright -// Copyright (C) 2009-2023 California Institute of Technology. -// ALL RIGHTS RESERVED. United States Government Sponsorship -// acknowledged. -// -// ====================================================================== - -#ifndef FPP_TEST_PORT_STRUCTS_HPP -#define FPP_TEST_PORT_STRUCTS_HPP - -#include "Fw/Types/SerialBuffer.hpp" - -#include "FppTest/port/PortEnumEnumAc.hpp" -#include "FppTest/port/PortArrayArrayAc.hpp" -#include "FppTest/port/PortStructSerializableAc.hpp" -#include "FppTest/port/StringArgsPortAc.hpp" - -#define SERIAL_ARGS_BUFFER_CAPACITY 256 - -namespace FppTest { - - namespace Port { - - // PortType template - template - struct PortType { - ArgType args; - }; - - // Empty type - struct Empty {}; - - // ---------------------------------------------------------------------- - // Argument types - // ---------------------------------------------------------------------- - - struct PrimitiveArgs { - PrimitiveArgs(); - - U32 u32; - U32 u32Ref; - F32 f32; - F32 f32Ref; - bool b; - bool bRef; - }; - - struct StringArgs { - StringArgs(); - - StringArgsPortStrings::StringSize80 str80; - StringArgsPortStrings::StringSize80 str80Ref; - StringArgsPortStrings::StringSize100 str100; - StringArgsPortStrings::StringSize100 str100Ref; - }; - - struct EnumArgs { - EnumArgs(); - - PortEnum en; - PortEnum enRef; - }; - - struct ArrayArgs { - ArrayArgs(); - - PortArray a; - PortArray aRef; - }; - - struct StructArgs { - StructArgs(); - - PortStruct s; - PortStruct sRef; - }; - - struct SerialArgs { - SerialArgs(); - - U8 data[SERIAL_ARGS_BUFFER_CAPACITY]; - Fw::SerialBuffer buf; - }; - - // ---------------------------------------------------------------------- - // Return types - // ---------------------------------------------------------------------- - - struct BoolReturn { - BoolReturn(); - - bool val; - }; - - struct PrimitiveReturn { - PrimitiveReturn(); - - U32 val; - }; - - struct EnumReturn { - EnumReturn(); - - PortEnum val; - }; - - struct ArrayReturn { - ArrayReturn(); - - PortArray val; - }; - - struct StructReturn { - StructReturn(); - - PortStruct val; - }; - - // ---------------------------------------------------------------------- - // Helper functions - // ---------------------------------------------------------------------- - - PortEnum getRandomPortEnum(); - PortArray getRandomPortArray(); - PortStruct getRandomPortStruct(); - - // ---------------------------------------------------------------------- - // Typedefs - // ---------------------------------------------------------------------- - - typedef PortType NoArgsPort; - typedef PortType PrimitiveArgsPort; - typedef PortType StringArgsPort; - typedef PortType EnumArgsPort; - typedef PortType ArrayArgsPort; - typedef PortType StructArgsPort; - typedef PortType SerialArgsPort; - - typedef PortType NoArgsReturnPort; - typedef PortType PrimitiveReturnPort; - typedef PortType EnumReturnPort; - typedef PortType ArrayReturnPort; - typedef PortType StructReturnPort; - - } // namespace Port - -} // namespace FppTest - -#endif diff --git a/FppTest/port/README.md b/FppTest/port/README.md deleted file mode 100644 index 452871ab5f..0000000000 --- a/FppTest/port/README.md +++ /dev/null @@ -1,33 +0,0 @@ -# FppTest/port - -This directory contains unit tests for the FPP port code generator. - -* Supports unit tests for typed-to-typed, typed-to-serial, serial-to-typed, and -serial-to-serial port connections - -To use this directory, you must have installed F Prime, and you must be inside -the F Prime Python virtual environment. - -* To build the tests, run `fprime-util build --ut`. -* To run the tests, run `fprime-util check`. - -## Generating Coverage - -Mainline F Prime doesn't generate coverage for autocoded files in a -reliable way. This directory contains some workaround scripts for -generating coverage. To generate coverage, do the following: - -``` -% fprime-util build --ut -% ./build-exe -% ./exe -% ./gen-cov-all -``` - -The output will go to the console and to `.gcov` files. To run the -coverage analysis for one file, replace the last line with `./gen-cov` -followed by the base file name, without `.cpp` or `.hpp`. For example: - -``` -% ./gen-cov NoArgsPortAc -``` diff --git a/FppTest/port/build-exe b/FppTest/port/build-exe deleted file mode 100755 index c887e28927..0000000000 --- a/FppTest/port/build-exe +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh - -fprime=../.. -build_cache=$fprime/FppTest/build-fprime-automatic-native-ut -srcs=" -`find . -name '*.cpp'` -`find ../utils -name '*.cpp'` -`find $build_cache/FppTest/port -name '*.cpp' | grep -v Tester.cpp | grep -v TestMain.cpp` -" -srcs=`echo $srcs | tr '\n' ' '` -flags=" ---coverage ---std=c++11 --DBUILD_UT --DPRIVATE=public --DPROTECTED=public --DTGT_OS_TYPE_DARWIN --I$build_cache --I$build_cache/F-Prime --I$build_cache/FppTest/port --I$fprime --I$fprime/STest --I$fprime/cmake/platform/types --I$fprime/config --I$fprime/gtest/googletest-src/googletest --I$fprime/gtest/googletest-src/googletest/include --I. -" -cmd="g++ -c $flags $srcs" -echo $cmd -$cmd - -libs=`find $build_cache -name '*.a'` -ofiles=`ls *.o` -cmd="g++ --coverage $ofiles $libs -o exe" -echo $cmd -$cmd diff --git a/FppTest/port/clean b/FppTest/port/clean deleted file mode 100755 index 560e745ee2..0000000000 --- a/FppTest/port/clean +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -rm -f *.o *.gcno *.gcda *.html *.gcov exe diff --git a/FppTest/port/example_comp.fpp b/FppTest/port/example_comp.fpp deleted file mode 100644 index c436649483..0000000000 --- a/FppTest/port/example_comp.fpp +++ /dev/null @@ -1,62 +0,0 @@ -@ An example component -passive component Example { - - # Typed input ports with no return types - - sync input port noArgsIn: [2] NoArgs - - sync input port primitiveArgsIn: [2] PrimitiveArgs - - sync input port stringArgsIn: [2] StringArgs - - sync input port enumArgsIn: [2] EnumArgs - - sync input port arrayArgsIn: [2] ArrayArgs - - sync input port structArgsIn: [2] StructArgs - - # Typed output ports with no return types - - output port noArgsOut: [2] NoArgs - - output port primitiveArgsOut: [2] PrimitiveArgs - - output port stringArgsOut: [2] StringArgs - - output port enumArgsOut: [2] EnumArgs - - output port arrayArgsOut: [2] ArrayArgs - - output port structArgsOut: [2] StructArgs - - # Typed input ports with return types - - sync input port noArgsReturnIn: NoArgsReturn - - sync input port primitiveReturnIn: PrimitiveReturn - - sync input port enumReturnIn: EnumReturn - - sync input port arrayReturnIn: ArrayReturn - - sync input port structReturnIn: StructReturn - - # Typed output ports with return types - - output port noArgsReturnOut: NoArgsReturn - - output port primitiveReturnOut: PrimitiveReturn - - output port enumReturnOut: EnumReturn - - output port arrayReturnOut: ArrayReturn - - output port structReturnOut: StructReturn - - # Serial ports - - sync input port serialIn: [7] serial - - output port serialOut: [7] serial - -} diff --git a/FppTest/port/fpp_types.fpp b/FppTest/port/fpp_types.fpp deleted file mode 100644 index 2ee9116103..0000000000 --- a/FppTest/port/fpp_types.fpp +++ /dev/null @@ -1,5 +0,0 @@ -enum PortEnum { X, Y, Z } - -array PortArray = [3] U32 - -struct PortStruct { x: U32, y: string } diff --git a/FppTest/port/gen-cov b/FppTest/port/gen-cov deleted file mode 100755 index 6cdfbb91a2..0000000000 --- a/FppTest/port/gen-cov +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -if ! test $# -eq 1 -then - echo 'usage: gen-cov file-base' 1>&2 - exit 1 -fi - -base=$1 -fpp_test=../build-fprime-automatic-native-ut/FppTest -src=`find $fpp_test -name $base.cpp` -gcov -o $base.gcno $src diff --git a/FppTest/port/gen-cov-all b/FppTest/port/gen-cov-all deleted file mode 100755 index 71e645e1bd..0000000000 --- a/FppTest/port/gen-cov-all +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -for file in `ls *Ac.gcno` -do - base=`basename $file .gcno` - cmd="./gen-cov $base" - echo $cmd - $cmd -done diff --git a/FppTest/port/gen-cov-html b/FppTest/port/gen-cov-html deleted file mode 100755 index a99389d369..0000000000 --- a/FppTest/port/gen-cov-html +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -if [ ! -d "coverage/" ] -then - mkdir coverage -fi - -gcovr -r .. --html-details -f '(.*)PortAc\.cpp$' -o coverage/coverage.html . diff --git a/FppTest/port/no_return_ports.fpp b/FppTest/port/no_return_ports.fpp deleted file mode 100644 index b5ae2a8a0f..0000000000 --- a/FppTest/port/no_return_ports.fpp +++ /dev/null @@ -1,38 +0,0 @@ -@ A port with no arguments -port NoArgs - -@ A port with primitive arguments -port PrimitiveArgs( - u32: U32 - ref u32Ref: U32 - f32: F32 - ref f32Ref: F32 - b: bool - ref bRef: bool -) - -@ A port with string arguments -port StringArgs( - str80: string @< A string of size 80 - ref str80Ref: string - str100: string size 100 @< A string of size 100 - ref str100Ref: string size 100 -) - -@ A port with enum arguments -port EnumArgs( - en: PortEnum @< An enum - ref enRef: PortEnum @< An enum ref -) - -@ A port with array arguments -port ArrayArgs( - a: PortArray @< An array - ref aRef: PortArray @< An array ref -) - -@ A port with struct arguments -port StructArgs( - s: PortStruct @< A struct - ref sRef: PortStruct @< A struct ref -) diff --git a/FppTest/port/return_ports.fpp b/FppTest/port/return_ports.fpp deleted file mode 100644 index 3a645589b8..0000000000 --- a/FppTest/port/return_ports.fpp +++ /dev/null @@ -1,40 +0,0 @@ -@ A port with no arguments -port NoArgsReturn -> bool - -@ A port returning a primitive type -port PrimitiveReturn( - u32: U32 - ref u32Ref: U32 - f32: F32 - ref f32Ref: F32 - b: bool - ref bRef: bool -) -> U32 - -# Commented out because of bug in Python component autocoder -# Will be tested with the FPP component autocoder -# @ A port returning a string type -# port StringReturn( -# str80: string @< A string of size 80 -# ref str80Ref: string -# str100: string size 100 @< A string of size 100 -# ref str100Ref: string size 100 -# ) -> string - -@ A port returning an enum type -port EnumReturn( - en: PortEnum @< An enum - ref enRef: PortEnum @< An enum ref -) -> PortEnum - -@ A port returning an array type -port ArrayReturn( - a: PortArray @< An array - ref aRef: PortArray @< An array ref -) -> PortArray - -@ A port returning a struct type -port StructReturn( - s: PortStruct @< A struct - ref sRef: PortStruct @< A struct ref -) -> PortStruct diff --git a/FppTest/port/test/ut/TestMain.cpp b/FppTest/port/test/ut/TestMain.cpp deleted file mode 100644 index 8d6f703952..0000000000 --- a/FppTest/port/test/ut/TestMain.cpp +++ /dev/null @@ -1,72 +0,0 @@ -// ====================================================================== -// \title TestMain.cpp -// \author T. Chieu -// \brief main cpp file for FPP port tests -// -// \copyright -// Copyright (C) 2009-2023 California Institute of Technology. -// ALL RIGHTS RESERVED. United States Government Sponsorship -// acknowledged. -// -// ====================================================================== - - -#include "Tester.hpp" -#include "FppTest/port/PortTypes.hpp" -#include "FppTest/typed_tests/PortTest.hpp" -#include "FppTest/typed_tests/StringTest.hpp" -#include "FppTest/port/StringArgsPortAc.hpp" - -#include "gtest/gtest.h" - -// Typed port tests -using TypedPortTestImplementations = ::testing::Types< - FppTest::Port::NoArgsPort, - FppTest::Port::PrimitiveArgsPort, - FppTest::Port::StringArgsPort, - FppTest::Port::EnumArgsPort, - FppTest::Port::ArrayArgsPort, - FppTest::Port::StructArgsPort, - FppTest::Port::NoArgsReturnPort, - FppTest::Port::PrimitiveReturnPort, - FppTest::Port::EnumReturnPort, - FppTest::Port::ArrayReturnPort, - FppTest::Port::StructReturnPort ->; - -INSTANTIATE_TYPED_TEST_SUITE_P(FppTest, - TypedPortTest, - TypedPortTestImplementations); - -// Serial port tests -using SerialPortTestImplementations = ::testing::Types< - FppTest::Port::NoArgsPort, - FppTest::Port::PrimitiveArgsPort, - FppTest::Port::StringArgsPort, - FppTest::Port::EnumArgsPort, - FppTest::Port::ArrayArgsPort, - FppTest::Port::StructArgsPort -// FppTest::Port::SerialArgsPort ->; - -INSTANTIATE_TYPED_TEST_SUITE_P(FppTest, - SerialPortTest, - SerialPortTestImplementations); - -// String tests -using StringTestImplementations = ::testing::Types< - StringArgsPortStrings::StringSize80, - StringArgsPortStrings::StringSize100 ->; - -INSTANTIATE_TYPED_TEST_SUITE_P(Array, StringTest, StringTestImplementations); - -template<> -U32 FppTest::String::getSize() { - return 100; -} - -int main(int argc, char **argv) { - ::testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/FppTest/port/test/ut/Tester.cpp b/FppTest/port/test/ut/Tester.cpp deleted file mode 100644 index 2126120dac..0000000000 --- a/FppTest/port/test/ut/Tester.cpp +++ /dev/null @@ -1,1409 +0,0 @@ -// ====================================================================== -// \title Tester.cpp -// \author T. Chieu -// \brief cpp file for Example test harness implementation class -// ====================================================================== - -#include "Tester.hpp" - -#define INSTANCE 0 -#define MAX_HISTORY_SIZE 10 - - - // ---------------------------------------------------------------------- - // Construction and destruction - // ---------------------------------------------------------------------- - - Tester :: - Tester() : - ExampleGTestBase("Tester", MAX_HISTORY_SIZE), - component("Example"), - primitiveBuf(primitiveData, sizeof(primitiveData)), - stringBuf(stringData, sizeof(stringData)), - enumBuf(enumData, sizeof(enumData)), - arrayBuf(arrayData, sizeof(arrayData)), - structBuf(structData, sizeof(structData)), - serialBuf(serialData, sizeof(serialData)) - { - this->initComponents(); - this->connectPorts(); - } - - Tester :: - ~Tester() - { - - } - - // ---------------------------------------------------------------------- - // Tests - // ---------------------------------------------------------------------- - - void Tester :: - toDo() - { - // TODO - } - - // ---------------------------------------------------------------------- - // Invoke typed input ports - // ---------------------------------------------------------------------- - - void Tester :: - invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::NoArgsPort& port - ) - { - this->invoke_to_noArgsIn(portNum); - } - - void Tester :: - invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::PrimitiveArgsPort& port - ) - { - this->invoke_to_primitiveArgsIn( - portNum, - port.args.u32, - port.args.u32Ref, - port.args.f32, - port.args.f32Ref, - port.args.b, - port.args.bRef - ); - } - - void Tester :: - invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::StringArgsPort& port - ) - { - this->invoke_to_stringArgsIn( - portNum, - port.args.str80, - port.args.str80Ref, - port.args.str100, - port.args.str100Ref - ); - } - - void Tester :: - invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::EnumArgsPort& port - ) - { - this->invoke_to_enumArgsIn( - portNum, - port.args.en, - port.args.enRef - ); - } - - void Tester :: - invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::ArrayArgsPort& port - ) - { - this->invoke_to_arrayArgsIn( - portNum, - port.args.a, - port.args.aRef - ); - } - - void Tester :: - invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::StructArgsPort& port - ) - { - this->invoke_to_structArgsIn( - portNum, - port.args.s, - port.args.sRef - ); - } - - void Tester :: - invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::SerialArgsPort& port - ) - { - this->invoke_to_serialIn( - portNum, - port.args.buf - ); - } - - void Tester :: - invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::NoArgsReturnPort& port - ) - { - bool returnVal = this->invoke_to_noArgsReturnIn(portNum); - - ASSERT_EQ(returnVal, this->noArgsReturnVal.val); - } - - void Tester :: - invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::PrimitiveReturnPort& port - ) - { - U32 returnVal = this->invoke_to_primitiveReturnIn( - portNum, - port.args.u32, - port.args.u32Ref, - port.args.f32, - port.args.f32Ref, - port.args.b, - port.args.bRef - ); - - ASSERT_EQ(returnVal, this->primitiveReturnVal.val); - } - - void Tester :: - invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::EnumReturnPort& port - ) - { - PortEnum returnVal = this->invoke_to_enumReturnIn( - portNum, - port.args.en, - port.args.enRef - ); - - ASSERT_EQ(returnVal, this->enumReturnVal.val); - } - - void Tester :: - invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::ArrayReturnPort& port - ) - { - PortArray returnVal = this->invoke_to_arrayReturnIn( - portNum, - port.args.a, - port.args.aRef - ); - - ASSERT_EQ(returnVal, this->arrayReturnVal.val); - } - - void Tester :: - invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::StructReturnPort& port - ) - { - PortStruct returnVal = this->invoke_to_structReturnIn( - portNum, - port.args.s, - port.args.sRef - ); - - ASSERT_EQ(returnVal, this->structReturnVal.val); - } - - // ---------------------------------------------------------------------- - // Invoke serial input ports - // ---------------------------------------------------------------------- - - void Tester :: - invoke_serial( - NATIVE_INT_TYPE portNum, - FppTest::Port::NoArgsPort& port - ) - { - U8 data[0]; - Fw::SerialBuffer buf(data, sizeof(data)); - - this->invoke_to_serialIn( - SerialPortIndex::NO_ARGS, - buf - ); - } - - void Tester :: - invoke_serial( - NATIVE_INT_TYPE portNum, - FppTest::Port::PrimitiveArgsPort& port - ) - { - Fw::SerializeStatus status; - - // Check unsuccessful deserialization of first parameter - U8 invalidData1[0]; - Fw::SerialBuffer invalidBuf1(invalidData1, sizeof(invalidData1)); - - this->invoke_to_serialIn( - SerialPortIndex::PRIMITIVE, - invalidBuf1 - ); - - this->checkSerializeStatusBufferEmpty(); - - // Check unsuccessful deserialization of second parameter - U8 invalidData2[sizeof(U32)]; - Fw::SerialBuffer invalidBuf2(invalidData2, sizeof(invalidData2)); - - status = invalidBuf2.serialize(port.args.u32); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - this->invoke_to_serialIn( - SerialPortIndex::PRIMITIVE, - invalidBuf2 - ); - - this->checkSerializeStatusBufferEmpty(); - - // Check unsuccessful deserialization of third parameter - U8 invalidData3[sizeof(U32) * 2]; - Fw::SerialBuffer invalidBuf3(invalidData3, sizeof(invalidData3)); - - status = invalidBuf3.serialize(port.args.u32); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = invalidBuf3.serialize(port.args.u32Ref); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - this->invoke_to_serialIn( - SerialPortIndex::PRIMITIVE, - invalidBuf3 - ); - - this->checkSerializeStatusBufferEmpty(); - - // Check unsuccessful deserialization of fourth parameter - U8 invalidData4[ - (sizeof(U32) * 2) + - sizeof(F32) - ]; - Fw::SerialBuffer invalidBuf4(invalidData4, sizeof(invalidData4)); - - status = invalidBuf4.serialize(port.args.u32); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = invalidBuf4.serialize(port.args.u32Ref); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = invalidBuf4.serialize(port.args.f32); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - this->invoke_to_serialIn( - SerialPortIndex::PRIMITIVE, - invalidBuf4 - ); - - this->checkSerializeStatusBufferEmpty(); - - // Check unsuccessful deserialization of fifth parameter - U8 invalidData5[ - (sizeof(U32) * 2) + - (sizeof(F32) * 2) - ]; - Fw::SerialBuffer invalidBuf5(invalidData5, sizeof(invalidData5)); - - status = invalidBuf5.serialize(port.args.u32); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = invalidBuf5.serialize(port.args.u32Ref); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = invalidBuf5.serialize(port.args.f32); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = invalidBuf5.serialize(port.args.f32Ref); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - this->invoke_to_serialIn( - SerialPortIndex::PRIMITIVE, - invalidBuf5 - ); - - this->checkSerializeStatusBufferEmpty(); - - // Check unsuccessful deserialization of sixth parameter - U8 invalidData6[ - (sizeof(U32) * 2) + - (sizeof(F32) * 2) + - sizeof(U8) - ]; - Fw::SerialBuffer invalidBuf6(invalidData6, sizeof(invalidData6)); - - status = invalidBuf6.serialize(port.args.u32); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = invalidBuf6.serialize(port.args.u32Ref); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = invalidBuf6.serialize(port.args.f32); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = invalidBuf6.serialize(port.args.f32Ref); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = invalidBuf6.serialize(port.args.b); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - this->invoke_to_serialIn( - SerialPortIndex::PRIMITIVE, - invalidBuf6 - ); - - this->checkSerializeStatusBufferEmpty(); - - // Check successful serialization - U8 data[InputPrimitiveArgsPort::SERIALIZED_SIZE]; - Fw::SerialBuffer buf(data, sizeof(data)); - - status = buf.serialize(port.args.u32); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = buf.serialize(port.args.u32Ref); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = buf.serialize(port.args.f32); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = buf.serialize(port.args.f32Ref); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = buf.serialize(port.args.b); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = buf.serialize(port.args.bRef); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - this->invoke_to_serialIn( - SerialPortIndex::PRIMITIVE, - buf - ); - - this->checkSerializeStatusSuccess(); - } - - void Tester :: - invoke_serial( - NATIVE_INT_TYPE portNum, - FppTest::Port::StringArgsPort& port - ) - { - Fw::SerializeStatus status; - - // Check unsuccessful deserialization of first parameter - U8 invalidData1[0]; - Fw::SerialBuffer invalidBuf1(invalidData1, sizeof(invalidData1)); - - this->invoke_to_serialIn( - SerialPortIndex::STRING, - invalidBuf1 - ); - - this->checkSerializeStatusBufferEmpty(); - - // Check unsuccessful deserialization of second parameter - U8 invalidData2[StringArgsPortStrings::StringSize80::SERIALIZED_SIZE]; - Fw::SerialBuffer invalidBuf2(invalidData2, sizeof(invalidData2)); - - status = invalidBuf2.serialize(port.args.str80); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - this->invoke_to_serialIn( - SerialPortIndex::STRING, - invalidBuf2 - ); - - this->checkSerializeStatusBufferEmpty(); - - // Check unsuccessful deserialization of third parameter - U8 invalidData3[StringArgsPortStrings::StringSize80::SERIALIZED_SIZE * 2]; - Fw::SerialBuffer invalidBuf3(invalidData3, sizeof(invalidData3)); - - status = invalidBuf3.serialize(port.args.str80); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = invalidBuf3.serialize(port.args.str80Ref); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - this->invoke_to_serialIn( - SerialPortIndex::STRING, - invalidBuf3 - ); - - this->checkSerializeStatusBufferEmpty(); - - // Check unsuccessful deserialization of fourth parameter - U8 invalidData4[ - (StringArgsPortStrings::StringSize80::SERIALIZED_SIZE * 2) + - StringArgsPortStrings::StringSize100::SERIALIZED_SIZE - ]; - Fw::SerialBuffer invalidBuf4(invalidData4, sizeof(invalidData4)); - - status = invalidBuf4.serialize(port.args.str80); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = invalidBuf4.serialize(port.args.str80Ref); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = invalidBuf4.serialize(port.args.str100); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - this->invoke_to_serialIn( - SerialPortIndex::STRING, - invalidBuf4 - ); - - this->checkSerializeStatusBufferEmpty(); - - // Check successful serialization - U8 data[InputStringArgsPort::SERIALIZED_SIZE]; - Fw::SerialBuffer buf(data, sizeof(data)); - - status = buf.serialize(port.args.str80); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = buf.serialize(port.args.str80Ref); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = buf.serialize(port.args.str100); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = buf.serialize(port.args.str100Ref); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - this->invoke_to_serialIn( - SerialPortIndex::STRING, - buf - ); - - this->checkSerializeStatusSuccess(); - } - - void Tester :: - invoke_serial( - NATIVE_INT_TYPE portNum, - FppTest::Port::EnumArgsPort& port - ) - { - Fw::SerializeStatus status; - - // Check unsuccessful deserialization of first parameter - U8 invalidData1[0]; - Fw::SerialBuffer invalidBuf1(invalidData1, sizeof(invalidData1)); - - this->invoke_to_serialIn( - SerialPortIndex::ENUM, - invalidBuf1 - ); - - this->checkSerializeStatusBufferEmpty(); - - // Check unsuccessful deserialization of second parameter - U8 invalidData2[PortEnum::SERIALIZED_SIZE]; - Fw::SerialBuffer invalidBuf2(invalidData2, sizeof(invalidData2)); - - status = invalidBuf2.serialize(port.args.en); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - this->invoke_to_serialIn( - SerialPortIndex::ENUM, - invalidBuf2 - ); - - this->checkSerializeStatusBufferEmpty(); - - // Check successful serialization - U8 data[InputEnumArgsPort::SERIALIZED_SIZE]; - Fw::SerialBuffer buf(data, sizeof(data)); - - status = buf.serialize(port.args.en); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = buf.serialize(port.args.enRef); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - this->invoke_to_serialIn( - SerialPortIndex::ENUM, - buf - ); - - this->checkSerializeStatusSuccess(); - } - - void Tester :: - invoke_serial( - NATIVE_INT_TYPE portNum, - FppTest::Port::ArrayArgsPort& port - ) - { - Fw::SerializeStatus status; - - // Check unsuccessful deserialization of first parameter - U8 invalidData1[0]; - Fw::SerialBuffer invalidBuf1(invalidData1, sizeof(invalidData1)); - - this->invoke_to_serialIn( - SerialPortIndex::ARRAY, - invalidBuf1 - ); - - this->checkSerializeStatusBufferEmpty(); - - // Check unsuccessful deserialization of second parameter - U8 invalidData2[PortArray::SERIALIZED_SIZE]; - Fw::SerialBuffer invalidBuf2(invalidData2, sizeof(invalidData2)); - - status = invalidBuf2.serialize(port.args.a); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - this->invoke_to_serialIn( - SerialPortIndex::ARRAY, - invalidBuf2 - ); - - this->checkSerializeStatusBufferEmpty(); - - U8 data[InputArrayArgsPort::SERIALIZED_SIZE]; - Fw::SerialBuffer buf(data, sizeof(data)); - - status = buf.serialize(port.args.a); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = buf.serialize(port.args.aRef); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - this->invoke_to_serialIn( - SerialPortIndex::ARRAY, - buf - ); - - this->checkSerializeStatusSuccess(); - } - - void Tester :: - invoke_serial( - NATIVE_INT_TYPE portNum, - FppTest::Port::StructArgsPort& port - ) - { - Fw::SerializeStatus status; - - // Check unsuccessful deserialization of first parameter - U8 invalidData1[0]; - Fw::SerialBuffer invalidBuf1(invalidData1, sizeof(invalidData1)); - - this->invoke_to_serialIn( - SerialPortIndex::STRUCT, - invalidBuf1 - ); - - this->checkSerializeStatusBufferEmpty(); - - // Check unsuccessful deserialization of second parameter - U8 invalidData2[PortStruct::SERIALIZED_SIZE]; - Fw::SerialBuffer invalidBuf2(invalidData2, sizeof(invalidData2)); - - status = invalidBuf2.serialize(port.args.s); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - this->invoke_to_serialIn( - SerialPortIndex::STRUCT, - invalidBuf2 - ); - - this->checkSerializeStatusBufferEmpty(); - - U8 data[InputStructArgsPort::SERIALIZED_SIZE]; - Fw::SerialBuffer buf(data, sizeof(data)); - - status = buf.serialize(port.args.s); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = buf.serialize(port.args.sRef); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - this->invoke_to_serialIn( - SerialPortIndex::STRUCT, - buf - ); - - this->checkSerializeStatusSuccess(); - } - - void Tester :: - invoke_serial( - NATIVE_INT_TYPE portNum, - FppTest::Port::SerialArgsPort& port - ) - { - this->invoke_to_serialIn( - portNum, - port.args.buf - ); - - ASSERT_EQ( - component.serializeStatus, - Fw::FW_SERIALIZE_OK - ); - } - - // ---------------------------------------------------------------------- - // Check history of typed output ports - // ---------------------------------------------------------------------- - - void Tester :: - check_history( - FppTest::Port::NoArgsPort& port - ) - { - ASSERT_FROM_PORT_HISTORY_SIZE(1); - ASSERT_from_noArgsOut_SIZE(1); - } - - void Tester :: - check_history( - FppTest::Port::PrimitiveArgsPort& port - ) - { - ASSERT_FROM_PORT_HISTORY_SIZE(1); - ASSERT_from_primitiveArgsOut_SIZE(1); - ASSERT_from_primitiveArgsOut( - 0, - port.args.u32, - port.args.u32Ref, - port.args.f32, - port.args.f32Ref, - port.args.b, - port.args.bRef - ); - } - - void Tester :: - check_history( - FppTest::Port::StringArgsPort& port - ) - { - ASSERT_FROM_PORT_HISTORY_SIZE(1); - ASSERT_from_stringArgsOut_SIZE(1); - ASSERT_from_stringArgsOut( - 0, - port.args.str80, - port.args.str80Ref, - port.args.str100, - port.args.str100Ref - ); - } - - void Tester :: - check_history( - FppTest::Port::EnumArgsPort& port - ) - { - ASSERT_FROM_PORT_HISTORY_SIZE(1); - ASSERT_from_enumArgsOut_SIZE(1); - ASSERT_from_enumArgsOut( - 0, - port.args.en, - port.args.enRef - ); - } - - void Tester :: - check_history( - FppTest::Port::ArrayArgsPort& port - ) - { - ASSERT_FROM_PORT_HISTORY_SIZE(1); - ASSERT_from_arrayArgsOut_SIZE(1); - ASSERT_from_arrayArgsOut( - 0, - port.args.a, - port.args.aRef - ); - } - - void Tester :: - check_history( - FppTest::Port::StructArgsPort& port - ) - { - ASSERT_FROM_PORT_HISTORY_SIZE(1); - ASSERT_from_structArgsOut_SIZE(1); - ASSERT_from_structArgsOut( - 0, - port.args.s, - port.args.sRef - ); - } - - void Tester :: - check_history( - FppTest::Port::NoArgsReturnPort& port - ) - { - ASSERT_FROM_PORT_HISTORY_SIZE(1); - ASSERT_from_noArgsReturnOut_SIZE(1); - } - - void Tester :: - check_history( - FppTest::Port::PrimitiveReturnPort& port - ) - { - ASSERT_FROM_PORT_HISTORY_SIZE(1); - ASSERT_from_primitiveReturnOut_SIZE(1); - ASSERT_from_primitiveReturnOut( - 0, - port.args.u32, - port.args.u32Ref, - port.args.f32, - port.args.f32Ref, - port.args.b, - port.args.bRef - ); - } - - void Tester :: - check_history( - FppTest::Port::EnumReturnPort& port - ) - { - ASSERT_FROM_PORT_HISTORY_SIZE(1); - ASSERT_from_enumReturnOut_SIZE(1); - ASSERT_from_enumReturnOut( - 0, - port.args.en, - port.args.enRef - ); - } - - void Tester :: - check_history( - FppTest::Port::ArrayReturnPort& port - ) - { - ASSERT_FROM_PORT_HISTORY_SIZE(1); - ASSERT_from_arrayReturnOut_SIZE(1); - ASSERT_from_arrayReturnOut( - 0, - port.args.a, - port.args.aRef - ); - } - - void Tester :: - check_history( - FppTest::Port::StructReturnPort& port - ) - { - ASSERT_FROM_PORT_HISTORY_SIZE(1); - ASSERT_from_structReturnOut_SIZE(1); - ASSERT_from_structReturnOut( - 0, - port.args.s, - port.args.sRef - ); - } - - // ---------------------------------------------------------------------- - // Check serial output ports - // ---------------------------------------------------------------------- - - void Tester :: - check_serial( - FppTest::Port::NoArgsPort& port - ) - { - } - - void Tester :: - check_serial( - FppTest::Port::PrimitiveArgsPort& port - ) - { - Fw::SerializeStatus status; - U32 u32, u32Ref; - F32 f32, f32Ref; - bool b, bRef; - - status = this->primitiveBuf.deserialize(u32); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = this->primitiveBuf.deserialize(u32Ref); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = this->primitiveBuf.deserialize(f32); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = this->primitiveBuf.deserialize(f32Ref); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = this->primitiveBuf.deserialize(b); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = this->primitiveBuf.deserialize(bRef); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - ASSERT_EQ(u32, port.args.u32); - ASSERT_EQ(u32Ref, port.args.u32Ref); - ASSERT_EQ(f32, port.args.f32); - ASSERT_EQ(f32Ref, port.args.f32Ref); - ASSERT_EQ(b, port.args.b); - ASSERT_EQ(bRef, port.args.bRef); - } - - void Tester :: - check_serial( - FppTest::Port::StringArgsPort& port - ) - { - Fw::SerializeStatus status; - StringArgsPortStrings::StringSize80 str80, str80Ref; - StringArgsPortStrings::StringSize100 str100, str100Ref; - - status = this->stringBuf.deserialize(str80); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = this->stringBuf.deserialize(str80Ref); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = this->stringBuf.deserialize(str100); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = this->stringBuf.deserialize(str100Ref); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - ASSERT_EQ(str80, port.args.str80); - ASSERT_EQ(str80Ref, port.args.str80Ref); - ASSERT_EQ(str100, port.args.str100); - ASSERT_EQ(str100Ref, port.args.str100Ref); - } - - void Tester :: - check_serial( - FppTest::Port::EnumArgsPort& port - ) - { - Fw::SerializeStatus status; - PortEnum en, enRef; - - status = this->enumBuf.deserialize(en); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = this->enumBuf.deserialize(enRef); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - ASSERT_EQ(en, port.args.en); - ASSERT_EQ(enRef, port.args.enRef); - } - - void Tester :: - check_serial( - FppTest::Port::ArrayArgsPort& port - ) - { - Fw::SerializeStatus status; - PortArray a, aRef; - - status = this->arrayBuf.deserialize(a); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = this->arrayBuf.deserialize(aRef); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - ASSERT_EQ(a, port.args.a); - ASSERT_EQ(aRef, port.args.aRef); - } - - void Tester :: - check_serial( - FppTest::Port::StructArgsPort& port - ) - { - Fw::SerializeStatus status; - PortStruct s, sRef; - - status = this->structBuf.deserialize(s); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - status = this->structBuf.deserialize(sRef); - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - - ASSERT_EQ(s, port.args.s); - ASSERT_EQ(sRef, port.args.sRef); - } - - void Tester :: - check_serial( - FppTest::Port::SerialArgsPort& port - ) - { - ASSERT_EQ(this->serialBuf, port.args.buf); - } - - // ---------------------------------------------------------------------- - // Handlers for typed from ports - // ---------------------------------------------------------------------- - - void Tester :: - from_arrayArgsOut_handler( - const NATIVE_INT_TYPE portNum, - const PortArray &a, - PortArray &aRef - ) - { - this->pushFromPortEntry_arrayArgsOut(a, aRef); - } - - PortArray Tester :: - from_arrayReturnOut_handler( - const NATIVE_INT_TYPE portNum, - const PortArray &a, - PortArray &aRef - ) - { - this->pushFromPortEntry_arrayReturnOut(a, aRef); - - return this->arrayReturnVal.val; - } - - void Tester :: - from_enumArgsOut_handler( - const NATIVE_INT_TYPE portNum, - const PortEnum &en, - PortEnum &enRef - ) - { - this->pushFromPortEntry_enumArgsOut(en, enRef); - } - - PortEnum Tester :: - from_enumReturnOut_handler( - const NATIVE_INT_TYPE portNum, - const PortEnum &en, - PortEnum &enRef - ) - { - this->pushFromPortEntry_enumReturnOut(en, enRef); - - return this->enumReturnVal.val; - } - - void Tester :: - from_noArgsOut_handler( - const NATIVE_INT_TYPE portNum - ) - { - this->pushFromPortEntry_noArgsOut(); - } - - bool Tester :: - from_noArgsReturnOut_handler( - const NATIVE_INT_TYPE portNum - ) - { - this->pushFromPortEntry_noArgsReturnOut(); - - return this->noArgsReturnVal.val; - } - - void Tester :: - from_primitiveArgsOut_handler( - const NATIVE_INT_TYPE portNum, - U32 u32, - U32 &u32Ref, - F32 f32, - F32 &f32Ref, - bool b, - bool &bRef - ) - { - this->pushFromPortEntry_primitiveArgsOut(u32, u32Ref, f32, f32Ref, b, bRef); - } - - U32 Tester :: - from_primitiveReturnOut_handler( - const NATIVE_INT_TYPE portNum, - U32 u32, - U32 &u32Ref, - F32 f32, - F32 &f32Ref, - bool b, - bool &bRef - ) - { - this->pushFromPortEntry_primitiveReturnOut(u32, u32Ref, f32, f32Ref, b, bRef); - - return this->primitiveReturnVal.val; - } - - void Tester :: - from_stringArgsOut_handler( - const NATIVE_INT_TYPE portNum, - const str80String &str80, - str80RefString &str80Ref, - const str100String &str100, - str100RefString &str100Ref - ) - { - this->pushFromPortEntry_stringArgsOut(str80, str80Ref, str100, str100Ref); - } - - void Tester :: - from_structArgsOut_handler( - const NATIVE_INT_TYPE portNum, - const PortStruct &s, - PortStruct &sRef - ) - { - this->pushFromPortEntry_structArgsOut(s, sRef); - } - - PortStruct Tester :: - from_structReturnOut_handler( - const NATIVE_INT_TYPE portNum, - const PortStruct &s, - PortStruct &sRef - ) - { - this->pushFromPortEntry_structReturnOut(s, sRef); - - return this->structReturnVal.val; - } - - // ---------------------------------------------------------------------- - // Handlers for serial from ports - // ---------------------------------------------------------------------- - - void Tester :: - from_serialOut_handler( - NATIVE_INT_TYPE portNum, /*!< The port number*/ - Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ - ) - { - Fw::SerializeStatus status; - - switch (portNum) { - case SerialPortIndex::NO_ARGS: - status = Fw::FW_SERIALIZE_OK; - break; - - case SerialPortIndex::PRIMITIVE: - status = Buffer.copyRaw( - this->primitiveBuf, - Buffer.getBuffCapacity() - ); - break; - - case SerialPortIndex::STRING: - status = Buffer.copyRaw( - this->stringBuf, - Buffer.getBuffCapacity() - ); - break; - - case SerialPortIndex::ENUM: - status = Buffer.copyRaw( - this->enumBuf, - Buffer.getBuffCapacity() - ); - break; - - case SerialPortIndex::ARRAY: - status = Buffer.copyRaw( - this->arrayBuf, - Buffer.getBuffCapacity() - ); - break; - - case SerialPortIndex::STRUCT: - status = Buffer.copyRaw( - this->structBuf, - Buffer.getBuffCapacity() - ); - break; - - case SerialPortIndex::SERIAL: - status = Buffer.copyRaw( - this->serialBuf, - Buffer.getBuffCapacity() - ); - break; - } - - ASSERT_EQ(status, Fw::FW_SERIALIZE_OK); - } - - // ---------------------------------------------------------------------- - // Helper methods - // ---------------------------------------------------------------------- - - void Tester :: - connectPorts() - { - - // arrayArgsIn - for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { - this->connect_to_arrayArgsIn( - i, - this->component.get_arrayArgsIn_InputPort(i) - ); - } - - // arrayReturnIn - this->connect_to_arrayReturnIn( - 0, - this->component.get_arrayReturnIn_InputPort(0) - ); - - // enumArgsIn - for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { - this->connect_to_enumArgsIn( - i, - this->component.get_enumArgsIn_InputPort(i) - ); - } - - // enumReturnIn - this->connect_to_enumReturnIn( - 0, - this->component.get_enumReturnIn_InputPort(0) - ); - - // noArgsIn - for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { - this->connect_to_noArgsIn( - i, - this->component.get_noArgsIn_InputPort(i) - ); - } - - // noArgsReturnIn - this->connect_to_noArgsReturnIn( - 0, - this->component.get_noArgsReturnIn_InputPort(0) - ); - - // primitiveArgsIn - for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { - this->connect_to_primitiveArgsIn( - i, - this->component.get_primitiveArgsIn_InputPort(i) - ); - } - - // primitiveReturnIn - this->connect_to_primitiveReturnIn( - 0, - this->component.get_primitiveReturnIn_InputPort(0) - ); - - // stringArgsIn - for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { - this->connect_to_stringArgsIn( - i, - this->component.get_stringArgsIn_InputPort(i) - ); - } - - // structArgsIn - for (NATIVE_INT_TYPE i = 0; i < 2; ++i) { - this->connect_to_structArgsIn( - i, - this->component.get_structArgsIn_InputPort(i) - ); - } - - // structReturnIn - this->connect_to_structReturnIn( - 0, - this->component.get_structReturnIn_InputPort(0) - ); - - // arrayArgsOut - this->component.set_arrayArgsOut_OutputPort( - TypedPortIndex::TYPED, - this->get_from_arrayArgsOut(TypedPortIndex::TYPED) - ); - - // arrayReturnOut - this->component.set_arrayReturnOut_OutputPort( - 0, - this->get_from_arrayReturnOut(0) - ); - - // enumArgsOut - this->component.set_enumArgsOut_OutputPort( - TypedPortIndex::TYPED, - this->get_from_enumArgsOut(TypedPortIndex::TYPED) - ); - - // enumReturnOut - this->component.set_enumReturnOut_OutputPort( - 0, - this->get_from_enumReturnOut(0) - ); - - // noArgsOut - this->component.set_noArgsOut_OutputPort( - TypedPortIndex::TYPED, - this->get_from_noArgsOut(TypedPortIndex::TYPED) - ); - - // noArgsReturnOut - this->component.set_noArgsReturnOut_OutputPort( - 0, - this->get_from_noArgsReturnOut(0) - ); - - // primitiveArgsOut - this->component.set_primitiveArgsOut_OutputPort( - TypedPortIndex::TYPED, - this->get_from_primitiveArgsOut(TypedPortIndex::TYPED) - ); - - // primitiveReturnOut - this->component.set_primitiveReturnOut_OutputPort( - 0, - this->get_from_primitiveReturnOut(0) - ); - - // stringArgsOut - this->component.set_stringArgsOut_OutputPort( - TypedPortIndex::TYPED, - this->get_from_stringArgsOut(TypedPortIndex::TYPED) - ); - - // structArgsOut - this->component.set_structArgsOut_OutputPort( - TypedPortIndex::TYPED, - this->get_from_structArgsOut(TypedPortIndex::TYPED) - ); - - // structReturnOut - this->component.set_structReturnOut_OutputPort( - 0, - this->get_from_structReturnOut(0) - ); - - - // ---------------------------------------------------------------------- - // Connect serial output ports - // ---------------------------------------------------------------------- - this->component.set_noArgsOut_OutputPort( - TypedPortIndex::SERIAL, - this->get_from_serialOut(SerialPortIndex::NO_ARGS) - ); - - this->component.set_primitiveArgsOut_OutputPort( - TypedPortIndex::SERIAL, - this->get_from_serialOut(SerialPortIndex::PRIMITIVE) - ); - - this->component.set_stringArgsOut_OutputPort( - TypedPortIndex::SERIAL, - this->get_from_serialOut(SerialPortIndex::STRING) - ); - - this->component.set_enumArgsOut_OutputPort( - TypedPortIndex::SERIAL, - this->get_from_serialOut(SerialPortIndex::ENUM) - ); - - this->component.set_arrayArgsOut_OutputPort( - TypedPortIndex::SERIAL, - this->get_from_serialOut(SerialPortIndex::ARRAY) - ); - - this->component.set_structArgsOut_OutputPort( - TypedPortIndex::SERIAL, - this->get_from_serialOut(SerialPortIndex::STRUCT) - ); - - this->component.set_serialOut_OutputPort( - SerialPortIndex::NO_ARGS, - this->get_from_noArgsOut(TypedPortIndex::SERIAL) - ); - - this->component.set_serialOut_OutputPort( - SerialPortIndex::PRIMITIVE, - this->get_from_primitiveArgsOut(TypedPortIndex::SERIAL) - ); - - this->component.set_serialOut_OutputPort( - SerialPortIndex::STRING, - this->get_from_stringArgsOut(TypedPortIndex::SERIAL) - ); - - this->component.set_serialOut_OutputPort( - SerialPortIndex::ENUM, - this->get_from_enumArgsOut(TypedPortIndex::SERIAL) - ); - - this->component.set_serialOut_OutputPort( - SerialPortIndex::ARRAY, - this->get_from_arrayArgsOut(TypedPortIndex::SERIAL) - ); - - this->component.set_serialOut_OutputPort( - SerialPortIndex::STRUCT, - this->get_from_structArgsOut(TypedPortIndex::SERIAL) - ); - - this->component.set_serialOut_OutputPort( - SerialPortIndex::SERIAL, - this->get_from_serialOut(SerialPortIndex::SERIAL) - ); - - - // ---------------------------------------------------------------------- - // Connect serial input ports - // ---------------------------------------------------------------------- - for (NATIVE_INT_TYPE i = 0; i < 7; ++i) { - this->connect_to_serialIn( - i, - this->component.get_serialIn_InputPort(i) - ); - } - - } - - void Tester :: - initComponents() - { - this->init(); - this->component.init( - INSTANCE - ); - } - - void Tester :: - checkSerializeStatusSuccess() - { - ASSERT_EQ( - component.serializeStatus, - Fw::FW_SERIALIZE_OK - ); - } - - void Tester :: - checkSerializeStatusBufferEmpty() - { - ASSERT_EQ( - component.serializeStatus, - Fw::FW_DESERIALIZE_BUFFER_EMPTY - ); - } - diff --git a/FppTest/port/test/ut/Tester.hpp b/FppTest/port/test/ut/Tester.hpp deleted file mode 100644 index c4a5d4548e..0000000000 --- a/FppTest/port/test/ut/Tester.hpp +++ /dev/null @@ -1,432 +0,0 @@ -// ====================================================================== -// \title Tester.hpp -// \author T. Chieu -// \brief hpp file for Example test harness implementation class -// ====================================================================== - -#ifndef TESTER_HPP -#define TESTER_HPP - -#include "Fw/Types/SerialBuffer.hpp" - -#include "GTestBase.hpp" -#include "FppTest/port/Example.hpp" -#include "PortTypes.hpp" - -#include "FppTest/port/PrimitiveArgsPortAc.hpp" -#include "FppTest/port/StringArgsPortAc.hpp" -#include "FppTest/port/EnumArgsPortAc.hpp" -#include "FppTest/port/ArrayArgsPortAc.hpp" -#include "FppTest/port/StructArgsPortAc.hpp" -#include "FppTest/port/TypedPortIndexEnumAc.hpp" -#include "FppTest/port/SerialPortIndexEnumAc.hpp" - - class Tester : - public ExampleGTestBase - { - - // ---------------------------------------------------------------------- - // Construction and destruction - // ---------------------------------------------------------------------- - - public: - - //! Construct object Tester - //! - Tester(); - - //! Destroy object Tester - //! - ~Tester(); - - public: - - // ---------------------------------------------------------------------- - // Tests - // ---------------------------------------------------------------------- - - //! To do - //! - void toDo(); - - public: - - // ---------------------------------------------------------------------- - // Invoke typed input ports - // ---------------------------------------------------------------------- - - void invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::NoArgsPort& port - ); - - void invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::PrimitiveArgsPort& port - ); - - void invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::StringArgsPort& port - ); - - void invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::EnumArgsPort& port - ); - - void invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::ArrayArgsPort& port - ); - - void invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::StructArgsPort& port - ); - - void invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::SerialArgsPort& port - ); - - void invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::NoArgsReturnPort& port - ); - - void invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::PrimitiveReturnPort& port - ); - - void invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::EnumReturnPort& port - ); - - void invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::ArrayReturnPort& port - ); - - void invoke( - NATIVE_INT_TYPE portNum, - FppTest::Port::StructReturnPort& port - ); - - // ---------------------------------------------------------------------- - // Invoke serial input ports - // ---------------------------------------------------------------------- - - void invoke_serial( - NATIVE_INT_TYPE portNum, - FppTest::Port::NoArgsPort& port - ); - - void invoke_serial( - NATIVE_INT_TYPE portNum, - FppTest::Port::PrimitiveArgsPort& port - ); - - void invoke_serial( - NATIVE_INT_TYPE portNum, - FppTest::Port::StringArgsPort& port - ); - - void invoke_serial( - NATIVE_INT_TYPE portNum, - FppTest::Port::EnumArgsPort& port - ); - - void invoke_serial( - NATIVE_INT_TYPE portNum, - FppTest::Port::ArrayArgsPort& port - ); - - void invoke_serial( - NATIVE_INT_TYPE portNum, - FppTest::Port::StructArgsPort& port - ); - - void invoke_serial( - NATIVE_INT_TYPE portNum, - FppTest::Port::SerialArgsPort& port - ); - - // ---------------------------------------------------------------------- - // Check history of typed output ports - // ---------------------------------------------------------------------- - - void check_history( - FppTest::Port::NoArgsPort& port - ); - - void check_history( - FppTest::Port::PrimitiveArgsPort& port - ); - - void check_history( - FppTest::Port::StringArgsPort& port - ); - - void check_history( - FppTest::Port::EnumArgsPort& port - ); - - void check_history( - FppTest::Port::ArrayArgsPort& port - ); - - void check_history( - FppTest::Port::StructArgsPort& port - ); - - void check_history( - FppTest::Port::NoArgsReturnPort& port - ); - - void check_history( - FppTest::Port::PrimitiveReturnPort& port - ); - - void check_history( - FppTest::Port::EnumReturnPort& port - ); - - void check_history( - FppTest::Port::ArrayReturnPort& port - ); - - void check_history( - FppTest::Port::StructReturnPort& port - ); - - // ---------------------------------------------------------------------- - // Check serial output ports - // ---------------------------------------------------------------------- - - void check_serial( - FppTest::Port::NoArgsPort& port - ); - - void check_serial( - FppTest::Port::PrimitiveArgsPort& port - ); - - void check_serial( - FppTest::Port::StringArgsPort& port - ); - - void check_serial( - FppTest::Port::EnumArgsPort& port - ); - - void check_serial( - FppTest::Port::ArrayArgsPort& port - ); - - void check_serial( - FppTest::Port::StructArgsPort& port - ); - - void check_serial( - FppTest::Port::SerialArgsPort& port - ); - - private: - - // ---------------------------------------------------------------------- - // Handlers for typed from ports - // ---------------------------------------------------------------------- - - //! Handler for from_arrayArgsOut - //! - void from_arrayArgsOut_handler( - const NATIVE_INT_TYPE portNum, /*!< The port number*/ - const PortArray &a, /*!< - An array - */ - PortArray &aRef /*!< - An array ref - */ - ); - - //! Handler for from_arrayReturnOut - //! - PortArray from_arrayReturnOut_handler( - const NATIVE_INT_TYPE portNum, /*!< The port number*/ - const PortArray &a, /*!< - An array - */ - PortArray &aRef /*!< - An array ref - */ - ); - - //! Handler for from_enumArgsOut - //! - void from_enumArgsOut_handler( - const NATIVE_INT_TYPE portNum, /*!< The port number*/ - const PortEnum &en, /*!< - An enum - */ - PortEnum &enRef /*!< - An enum ref - */ - ); - - //! Handler for from_enumReturnOut - //! - PortEnum from_enumReturnOut_handler( - const NATIVE_INT_TYPE portNum, /*!< The port number*/ - const PortEnum &en, /*!< - An enum - */ - PortEnum &enRef /*!< - An enum ref - */ - ); - - //! Handler for from_noArgsOut - //! - void from_noArgsOut_handler( - const NATIVE_INT_TYPE portNum /*!< The port number*/ - ); - - //! Handler for from_noArgsReturnOut - //! - bool from_noArgsReturnOut_handler( - const NATIVE_INT_TYPE portNum /*!< The port number*/ - ); - - //! Handler for from_primitiveArgsOut - //! - void from_primitiveArgsOut_handler( - const NATIVE_INT_TYPE portNum, /*!< The port number*/ - U32 u32, - U32 &u32Ref, - F32 f32, - F32 &f32Ref, - bool b, - bool &bRef - ); - - //! Handler for from_primitiveReturnOut - //! - U32 from_primitiveReturnOut_handler( - const NATIVE_INT_TYPE portNum, /*!< The port number*/ - U32 u32, - U32 &u32Ref, - F32 f32, - F32 &f32Ref, - bool b, - bool &bRef - ); - - //! Handler for from_stringArgsOut - //! - void from_stringArgsOut_handler( - const NATIVE_INT_TYPE portNum, /*!< The port number*/ - const str80String &str80, /*!< - A string of size 80 - */ - str80RefString &str80Ref, - const str100String &str100, /*!< - A string of size 100 - */ - str100RefString &str100Ref - ); - - //! Handler for from_structArgsOut - //! - void from_structArgsOut_handler( - const NATIVE_INT_TYPE portNum, /*!< The port number*/ - const PortStruct &s, /*!< - A struct - */ - PortStruct &sRef /*!< - A struct ref - */ - ); - - //! Handler for from_structReturnOut - //! - PortStruct from_structReturnOut_handler( - const NATIVE_INT_TYPE portNum, /*!< The port number*/ - const PortStruct &s, /*!< - A struct - */ - PortStruct &sRef /*!< - A struct ref - */ - ); - - private: - - // ---------------------------------------------------------------------- - // Handlers for serial from ports - // ---------------------------------------------------------------------- - - //! Handler for from_serialOut - //! - void from_serialOut_handler( - NATIVE_INT_TYPE portNum, /*!< The port number*/ - Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ - ); - - private: - - // ---------------------------------------------------------------------- - // Helper methods - // ---------------------------------------------------------------------- - - //! Connect ports - //! - void connectPorts(); - - //! Initialize components - //! - void initComponents(); - - //! Check successful status of a serial port invocation - void checkSerializeStatusSuccess(); - - //! Check unsuccessful status of a serial port invocation - void checkSerializeStatusBufferEmpty(); - - private: - - // ---------------------------------------------------------------------- - // Variables - // ---------------------------------------------------------------------- - - //! The component under test - //! - Example component; - - // Values returned by typed output ports - FppTest::Port::BoolReturn noArgsReturnVal; - FppTest::Port::PrimitiveReturn primitiveReturnVal; - FppTest::Port::EnumReturn enumReturnVal; - FppTest::Port::ArrayReturn arrayReturnVal; - FppTest::Port::StructReturn structReturnVal; - - // Buffers from serial output ports; - U8 primitiveData[InputPrimitiveArgsPort::SERIALIZED_SIZE]; - U8 stringData[InputStringArgsPort::SERIALIZED_SIZE]; - U8 enumData[InputEnumArgsPort::SERIALIZED_SIZE]; - U8 arrayData[InputArrayArgsPort::SERIALIZED_SIZE]; - U8 structData[InputStructArgsPort::SERIALIZED_SIZE]; - U8 serialData[SERIAL_ARGS_BUFFER_CAPACITY]; - - Fw::SerialBuffer primitiveBuf; - Fw::SerialBuffer stringBuf; - Fw::SerialBuffer enumBuf; - Fw::SerialBuffer arrayBuf; - Fw::SerialBuffer structBuf; - Fw::SerialBuffer serialBuf; - - }; - -#endif diff --git a/FppTest/struct/NonPrimitiveStructTest.cpp b/FppTest/struct/NonPrimitiveStructTest.cpp index 508126b4f1..641cd1f44d 100644 --- a/FppTest/struct/NonPrimitiveStructTest.cpp +++ b/FppTest/struct/NonPrimitiveStructTest.cpp @@ -35,26 +35,26 @@ class NonPrimitiveStructTest : public ::testing::Test { )); for (U32 i = 0; i < StructArray::SIZE; i++) { - testArray[i] = FppTest::Utils::getU32(); + testArray[i] = FppTest::Utils::getNonzeroU32(); } testStruct.set( true, - FppTest::Utils::getU32(), - static_cast(FppTest::Utils::getU32()), - static_cast(FppTest::Utils::getU32()) + FppTest::Utils::getNonzeroU32(), + static_cast(FppTest::Utils::getNonzeroU32()), + static_cast(FppTest::Utils::getNonzeroU32()) ); for (U32 i = 0; i < 3; i++) { - testU32Arr[0] = FppTest::Utils::getU32(); + testU32Arr[0] = FppTest::Utils::getNonzeroU32(); } for (U32 i = 0; i < 3; i++) { testStructArr[i].set( true, - FppTest::Utils::getU32(), - static_cast(FppTest::Utils::getU32()), - static_cast(FppTest::Utils::getU32()) + FppTest::Utils::getNonzeroU32(), + static_cast(FppTest::Utils::getNonzeroU32()), + static_cast(FppTest::Utils::getNonzeroU32()) ); } } diff --git a/FppTest/struct/PrimitiveStructTest.cpp b/FppTest/struct/PrimitiveStructTest.cpp index c9e539b8e8..b51d15f2e4 100644 --- a/FppTest/struct/PrimitiveStructTest.cpp +++ b/FppTest/struct/PrimitiveStructTest.cpp @@ -26,9 +26,9 @@ class PrimitiveStructTest : public ::testing::Test { protected: void SetUp() override { testBool = true; - testU32 = FppTest::Utils::getU32(); - testI16 = static_cast(FppTest::Utils::getU32()); - testF64 = static_cast(FppTest::Utils::getU32()); + testU32 = FppTest::Utils::getNonzeroU32(); + testI16 = static_cast(FppTest::Utils::getNonzeroU32()); + testF64 = static_cast(FppTest::Utils::getNonzeroU32()); } void assertStructMembers(const Primitive& s) { diff --git a/FppTest/typed_tests/ComponentTest.hpp b/FppTest/typed_tests/ComponentTest.hpp new file mode 100644 index 0000000000..b4812169fb --- /dev/null +++ b/FppTest/typed_tests/ComponentTest.hpp @@ -0,0 +1,123 @@ +// ====================================================================== +// \title ComponentTest.hpp +// \author T. Chieu +// \brief hpp file for component test classes +// +// \copyright +// Copyright (C) 2009-2023 California Institute of Technology. +// ALL RIGHTS RESERVED. United States Government Sponsorship +// acknowledged. +// +// ====================================================================== + +#ifndef FPP_TEST_COMPONENT_TEST_HPP +#define FPP_TEST_COMPONENT_TEST_HPP + +#include "test/ut/Tester.hpp" + +#include "gtest/gtest.h" + +template +class ComponentCommandTest : public ::testing::Test { +protected: + Tester tester; + FormalParamType data; +}; + +TYPED_TEST_SUITE_P(ComponentCommandTest); + +TYPED_TEST_P(ComponentCommandTest, CommandTest) { + this->tester.testCommand(0, this->data); +} + +REGISTER_TYPED_TEST_SUITE_P(ComponentCommandTest, + CommandTest +); + +template +class ComponentAsyncCommandTest : public ::testing::Test { +protected: + Tester tester; + FormalParamType data; +}; + +TYPED_TEST_SUITE_P(ComponentAsyncCommandTest); + +TYPED_TEST_P(ComponentAsyncCommandTest, AsyncCommandTest) { + this->tester.testAsyncCommand(0, this->data); +} + +REGISTER_TYPED_TEST_SUITE_P(ComponentAsyncCommandTest, + AsyncCommandTest +); + +template +class ComponentEventTest : public ::testing::Test { +protected: + Tester tester; + FormalParamType data; +}; + +TYPED_TEST_SUITE_P(ComponentEventTest); + +TYPED_TEST_P(ComponentEventTest, EventTest) { + this->tester.connectTimeGetOut(); + this->tester.testEvent(0, this->data); +} + +REGISTER_TYPED_TEST_SUITE_P(ComponentEventTest, + EventTest +); + +template +class ComponentTelemetryTest : public ::testing::Test { +protected: + Tester tester; + FormalParamType data; +}; + +TYPED_TEST_SUITE_P(ComponentTelemetryTest); + +TYPED_TEST_P(ComponentTelemetryTest, TelemetryTest) { + this->tester.connectTimeGetOut(); + this->tester.testTelemetry(0, this->data); +} + +REGISTER_TYPED_TEST_SUITE_P(ComponentTelemetryTest, + TelemetryTest +); + +template +class ComponentParamCommandTest : public ::testing::Test { +protected: + Tester tester; + FormalParamType data; +}; + +TYPED_TEST_SUITE_P(ComponentParamCommandTest); + +TYPED_TEST_P(ComponentParamCommandTest, ParamTest) { + this->tester.testParamCommand(0, this->data); +} + +REGISTER_TYPED_TEST_SUITE_P(ComponentParamCommandTest, + ParamTest +); + +template +class ComponentInternalInterfaceTest : public ::testing::Test { +protected: + Tester tester; + FormalParamType data; +}; + +TYPED_TEST_SUITE_P(ComponentInternalInterfaceTest); + +TYPED_TEST_P(ComponentInternalInterfaceTest, InternalInterfaceTest) { + this->tester.testInternalInterface(this->data); +} + +REGISTER_TYPED_TEST_SUITE_P(ComponentInternalInterfaceTest, + InternalInterfaceTest); + +#endif diff --git a/FppTest/typed_tests/PortTest.hpp b/FppTest/typed_tests/PortTest.hpp index ddf69ffd6c..b22f540fc5 100644 --- a/FppTest/typed_tests/PortTest.hpp +++ b/FppTest/typed_tests/PortTest.hpp @@ -14,11 +14,11 @@ #define FPP_TEST_PORT_TEST_HPP #include "test/ut/Tester.hpp" -#include "FppTest/port/TypedPortIndexEnumAc.hpp" +#include "FppTest/component/active/TypedPortIndexEnumAc.hpp" #include "gtest/gtest.h" -// Typed port tests +// Typed port tests (sync and guarded) template class TypedPortTest : public ::testing::Test { protected: @@ -28,16 +28,42 @@ class TypedPortTest : public ::testing::Test { TYPED_TEST_SUITE_P(TypedPortTest); -TYPED_TEST_P(TypedPortTest, TypedPort) { - this->tester.invoke(TypedPortIndex::TYPED, this->port); - this->tester.check_history(this->port); +TYPED_TEST_P(TypedPortTest, SyncPort) { + this->tester.testSyncPortInvoke(TypedPortIndex::TYPED, this->port); + this->tester.testSyncPortCheck(this->port); +} + +TYPED_TEST_P(TypedPortTest, GuardedPort) { + this->tester.testGuardedPortInvoke(TypedPortIndex::TYPED, this->port); + this->tester.testGuardedPortCheck(this->port); } REGISTER_TYPED_TEST_SUITE_P(TypedPortTest, - TypedPort + SyncPort, + GuardedPort ); -// Serial port tests +// Typed async port tests +template +class TypedAsyncPortTest : public ::testing::Test { +protected: + Tester tester; + PortType port; +}; + +TYPED_TEST_SUITE_P(TypedAsyncPortTest); + +TYPED_TEST_P(TypedAsyncPortTest, AsyncPort) { + this->tester.testAsyncPortInvoke(TypedPortIndex::TYPED, this->port); + this->tester.doDispatch(); + this->tester.testAsyncPortCheck(this->port); +} + +REGISTER_TYPED_TEST_SUITE_P(TypedAsyncPortTest, + AsyncPort +); + +// Serial port tests (sync and guarded) template class SerialPortTest : public ::testing::Test { protected: @@ -47,19 +73,57 @@ class SerialPortTest : public ::testing::Test { TYPED_TEST_SUITE_P(SerialPortTest); -TYPED_TEST_P(SerialPortTest, ToSerialTest) { - this->tester.invoke(TypedPortIndex::SERIAL, this->port); - this->tester.check_serial(this->port); +TYPED_TEST_P(SerialPortTest, ToSerialSync) { + this->tester.testSyncPortInvoke(TypedPortIndex::SERIAL, this->port); + this->tester.testSyncPortCheckSerial(this->port); +} + +TYPED_TEST_P(SerialPortTest, FromSerialSync) { + this->tester.testSyncPortInvokeSerial(TypedPortIndex::SERIAL, this->port); + this->tester.testSyncPortCheck(this->port); } -TYPED_TEST_P(SerialPortTest, FromSerialTest) { - this->tester.invoke_serial(TypedPortIndex::SERIAL, this->port); - this->tester.check_history(this->port); +TYPED_TEST_P(SerialPortTest, ToSerialGuarded) { + this->tester.testGuardedPortInvoke(TypedPortIndex::SERIAL, this->port); + this->tester.testGuardedPortCheckSerial(this->port); +} + +TYPED_TEST_P(SerialPortTest, FromSerialGuarded) { + this->tester.testGuardedPortInvokeSerial(TypedPortIndex::SERIAL, this->port); + this->tester.testGuardedPortCheck(this->port); } REGISTER_TYPED_TEST_SUITE_P(SerialPortTest, - ToSerialTest, - FromSerialTest + ToSerialSync, + FromSerialSync, + ToSerialGuarded, + FromSerialGuarded +); + +// Serial async port tests +template +class SerialAsyncPortTest : public ::testing::Test { +protected: + Tester tester; + PortType port; +}; + +TYPED_TEST_SUITE_P(SerialAsyncPortTest); + +TYPED_TEST_P(SerialAsyncPortTest, ToSerialAsync) { + this->tester.testAsyncPortInvoke(TypedPortIndex::SERIAL, this->port); + this->tester.doDispatch(); + this->tester.testAsyncPortCheckSerial(this->port); +} + +TYPED_TEST_P(SerialAsyncPortTest, FromSerialAsync) { + this->tester.testAsyncPortInvokeSerial(TypedPortIndex::SERIAL, this->port); + this->tester.testAsyncPortCheck(this->port); +} + +REGISTER_TYPED_TEST_SUITE_P(SerialAsyncPortTest, + ToSerialAsync, + FromSerialAsync ); #endif diff --git a/FppTest/utils/Utils.cpp b/FppTest/utils/Utils.cpp index 64fdd0b6b8..87c5fdd815 100644 --- a/FppTest/utils/Utils.cpp +++ b/FppTest/utils/Utils.cpp @@ -20,22 +20,22 @@ namespace FppTest { namespace Utils { - U8 getU8() { + U8 getNonzeroU8() { return static_cast(STest::Pick::lowerUpper( 1, std::numeric_limits::max() )); } - U32 getU32() { + U32 getNonzeroU32() { return STest::Pick::lowerUpper( 1, - std::numeric_limits::max() + std::numeric_limits::max() ); } char getChar() { - return static_cast(STest::Pick::lowerUpper(1, 127)); + return static_cast(STest::Pick::lowerUpper(32, 127)); } void setString(char* buf, U32 size) { diff --git a/FppTest/utils/Utils.hpp b/FppTest/utils/Utils.hpp index 24308d49a5..50be7ab1c7 100644 --- a/FppTest/utils/Utils.hpp +++ b/FppTest/utils/Utils.hpp @@ -18,10 +18,10 @@ namespace FppTest { namespace Utils { // Returns a random nonzero U8 - U8 getU8(); + U8 getNonzeroU8(); // Returns a random nonzero U32 - U32 getU32(); + U32 getNonzeroU32(); // Returns a random non-null char char getChar(); diff --git a/requirements.txt b/requirements.txt index e9828d8cba..b509ae629b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -15,7 +15,7 @@ exceptiongroup==1.1.0 Flask==2.2.2 Flask-Compress==1.13 Flask-RESTful==0.3.9 -fprime-fpp==1.2.0 +fprime-fpp==1.3.0a2 fprime-gds==3.2.1a1 fprime-tools==3.2.0 gcovr==6.0 From e5543358dd3eb09a1089d2365d85500b7aa5c8f3 Mon Sep 17 00:00:00 2001 From: Dima Kogan Date: Tue, 1 Aug 2023 08:50:32 -0700 Subject: [PATCH 46/55] EVR output: we print 6 digits worth of microseconds (#2143) This avoids a pernicious behavior where EVR timestamps lie about their sub-second values. I have this test program: #include #include void main(void) { printf("%02d:%02d:%02d.%03" PRIu32 "\n", 1,2,3, 12); printf("%02d:%02d:%02d.%03" PRIu32 "\n", 1,2,3, 123); printf("%02d:%02d:%02d.%03" PRIu32 "\n", 1,2,3, 1234); printf("%02d:%02d:%02d.%03" PRIu32 "\n", 1,2,3, 12356); printf("%02d:%02d:%02d.%03" PRIu32 "\n", 1,2,3, 123456); } It produces this output: 01:02:03.012 01:02:03.123 01:02:03.1234 01:02:03.12356 01:02:03.123456 so prior to this patch, if we were 1 hour, 2 minutes, 3 seconds, 123 microseconds past midnight, this was printed as "01:02:03.123" instead of "01:02:03.000123". Any reasonable human looking at "01:02:03.123" would see a value of "123000" microseconds. Co-authored-by: Dima Kogan --- Svc/ActiveTextLogger/ActiveTextLoggerImpl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Svc/ActiveTextLogger/ActiveTextLoggerImpl.cpp b/Svc/ActiveTextLogger/ActiveTextLoggerImpl.cpp index 5daa9318e0..0961813ea1 100644 --- a/Svc/ActiveTextLogger/ActiveTextLoggerImpl.cpp +++ b/Svc/ActiveTextLogger/ActiveTextLoggerImpl.cpp @@ -94,7 +94,7 @@ namespace Svc { (void) snprintf(textStr, FW_INTERNAL_INTERFACE_STRING_MAX_SIZE, - "EVENT: (%" PRI_FwEventIdType ") (%04d-%02d-%02dT%02d:%02d:%02d.%03" PRIu32 ") %s: %s\n", + "EVENT: (%" PRI_FwEventIdType ") (%04d-%02d-%02dT%02d:%02d:%02d.%06" PRIu32 ") %s: %s\n", id, tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min,tm.tm_sec,timeTag.getUSeconds(), severityString,text.toChar()); From 29e8b27740b489ae1b9828f5895024dcd1f36b27 Mon Sep 17 00:00:00 2001 From: "John P. Cargille" <116765885+John-P-Cargille@users.noreply.github.com> Date: Tue, 1 Aug 2023 15:26:26 -0500 Subject: [PATCH 47/55] Updating the "Data Constructs: Commands, Events, Channels, and Parameters" Page in the F' User's Guide (#2147) * Update cmd-evt-chn-prm.md Changed "pipes" to "ports" early in the Commands section, because I've never heard pipes used as a term in F Prime and ports make sense in the context of component-to-component communication. * Update cmd-evt-chn-prm.md Changed the last line two lines of "Command Dispatching" to more clearly reflect the operational flow described in the next section, "Command Sequencing" * Update cmd-evt-chn-prm.md Changed the 3rd sentence under "Events" to say that components defining events, rather than commands, should hook up to the Svc::ActiveLogger. This should maybe actually say "defining events AND commands"--I forget if the system always sends out an event for a completed command--but the log ports are definitely required for events * Update cmd-evt-chn-prm.md Changed the sixth sentence under the events header to be more parsable; this may also mean the sentence now communicates incorrect information, but it should definitely should looked at because it doesn't quite make sense right now * Update cmd-evt-chn-prm.md Changed the last lines under the "Event" to more accurately reflect where the different log output ports store their event logs, assuming that these binary and text log ports line up with the "Fw.Log" and "Fw.TextLog" ports respectively as described in the FPP User's Guide in section 9.3.2 * Update cmd-evt-chn-prm.md Updated the second property under the header "Telemetry" to say that the name is prepended with the name of the component instance, and not just the component. This is both consistent with the other data constructs on this page, with how telemetry is usually packetized--"channel name="[componentInstance].[TELEMETRY_CHANNEL]""--and how telemetry coming from two different instances of the same component should intuitively be distinguishable. * Update cmd-evt-chn-prm.md Changed the second sentence under the "Telemetry Database" header for grammatical and semantic clarity. * Update cmd-evt-chn-prm.md Changed the last sentence in the figure 8 description to reflect how the parameter manager changes parameter values through the auto-generated set and save commands; my details might be a little fuzzy, so feel free to correct the specifics, but I think this section deserves a little more fleshing out. I'm also unsure of if the line before this should be expanded upon? Simply saying "Components can set and retrieve parameters" might appear rather opaque to folks who are newer to F' (like myself), even with the context of the Svc::PrmDb which one can look into further in the official F Prime repository. * Fixing minor regression --------- Co-authored-by: M Starch --- docs/UsersGuide/user/cmd-evt-chn-prm.md | 28 +++++++++++++------------ 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/docs/UsersGuide/user/cmd-evt-chn-prm.md b/docs/UsersGuide/user/cmd-evt-chn-prm.md index 1342beed20..b11c53472b 100644 --- a/docs/UsersGuide/user/cmd-evt-chn-prm.md +++ b/docs/UsersGuide/user/cmd-evt-chn-prm.md @@ -23,7 +23,7 @@ These types will be elaborated within this guide. It contains: ## Commands -Each **Component** defines a set of commands for operations. Unlike pipes, which are intended for component to component communication, commands are designed for user interaction with a component. Commands are defined through a series of +Each **Component** defines a set of commands for operations. Unlike ports, which are intended for component to component communication, commands are designed for user interaction with a component. Commands are defined through a series of properties. Users can send commands to the F´ system and via `Svc::CmdDispatcher` these commands are dispatched to a handling component to invoke some behavior. The handling component handles a command by defining a command handler function to run when the command arrives. @@ -56,10 +56,10 @@ the command dispatcher connecting the registration, dispatch, and response ports The command opcode is extracted, and a lookup table is used to find the handling component. The argument buffer is then passed to the component, and the command dispatcher waits without blocking for the component to return status.. -In many projects, commands need to be sequenced in order. In order to facilitate this, the framework provides -`Svc::CmdSequencer`. The command sequencer reads a defined sequence of commands and sends each in turn to the command -dispatcher to be dispatched and the command execution status is returned to the sequencer. This is an alternate path to -send command buffers to the command dispatcher than the external path from ground. +In many projects, commands need to be sequenced in order. In order to facilitate this, the framework provides +`Svc::CmdSequencer`. The command sequencer reads a defined sequence of commands and sends each in turn to the command +dispatcher; after each command is dispatched, the status of its execution is returned to the sequencer. Sending command buffers +to the command dispatcher through the command sequencer is an alternate path to sending them externally from the ground. ### Command Sequencing @@ -72,11 +72,11 @@ while a successful response moves to the next command in the sequence. ## Events Events represent a log of activities taken by the embedded system. Events can be thought of in the same way as a program -execution log in that they enable the ability to trace the execution of the system. Events are sent out of the system via the -`Svc::ActiveLogger` component and components defining commands should hook up the log port to it. If console logging is +execution log in that they enable the ability to trace the execution of the system. Events are sent out of the system via +the `Svc::ActiveLogger` component and components defining events should hook up the log port to it. If console logging is desired, the text log port can be hooked up to the `Svc::PassiveConsoleTextLogger` component. Events are defined per -component and are typically used to capture what the component is doing. Events can be sporadic; however, should all be -captured for downlink. Events are defined by the following properties: +component and are typically used to capture what the component is doing. Events can occur sporadically; however, they +should all be captured for downlink. Events are defined by the following properties: 1. id: a numeric id uniquely define this event. It is automatically offset by the component's base id to ensure global uniqueness. @@ -123,7 +123,7 @@ current value. Channels are broken up per component and are typically sampled at id, time, and value triples and are defined per component with the following properties: 1. id: the unique id of the channel. This is offset by the base id of the component for global uniqueness. -2. name: the unique text name of the channel. This is prepended with the component name for global uniqueness. +2. name: the unique text name of the channel. This is prepended with the component instance name for global uniqueness. 3. data_type: type of the value of the channel. Can be primitive and complex types. 4. update: "on_change" to update only when the written value changes, and omitted to always downlink @@ -134,7 +134,7 @@ The code generator automatically adds ports for retrieving time tags and sending ### Telemetry Database The telemetry database acts as a double-buffered store for telemetry values. Components are free to update channels at -any time, however; at a set rate the current value will be read from the telemetry database and sent to the ground. +any time; however, the current value will be read from the telemetry database and sent to the ground at a set rate. Components using this service should hook up the telemetry port to the telemetry database (`Svc::TlmChan`). ![Telemetry Database](../media/data_model4.png) @@ -170,10 +170,12 @@ provides ports to get and set parameters, which are stored in a file to persist **Figure 8. Parameter manager.** The parameter manager or database loads the file containing parameters from the file system during initialization. The initialization subsequently calls *loadParameters()* on components with parameters. Components can set and retrieve parameters. The parameter manager saves the updated values to the file system via the -command. +set and save commands auto-generated for every parameter; the set command updates the value of the parameter locally +within the component that owns it, and the save command pushing the current value of the parameter to non-volatile storage, +meaning it will persist within the files of the system across system resets. ## A Note On Serialized Ports The `Svc` components use serialize ports to generically handle port data of different types to support uplink and -downlink. \ No newline at end of file +downlink. From 2cab87128f68ae2006a22bcbad6336fe8afee5bd Mon Sep 17 00:00:00 2001 From: Andrei Tumbar Date: Tue, 1 Aug 2023 16:27:52 -0400 Subject: [PATCH 48/55] Include member array size in output dictionary (#2165) --- Autocoders/Python/src/fprime_ac/utils/TopDictGenerator.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Autocoders/Python/src/fprime_ac/utils/TopDictGenerator.py b/Autocoders/Python/src/fprime_ac/utils/TopDictGenerator.py index dfab2fd292..7df7523598 100644 --- a/Autocoders/Python/src/fprime_ac/utils/TopDictGenerator.py +++ b/Autocoders/Python/src/fprime_ac/utils/TopDictGenerator.py @@ -68,6 +68,8 @@ def check_for_serial_xml(self): member_elem.attrib["description"] = member_comment if member_default is not None: member_elem.attrib["default"] = member_default + if member_array_size is not None: + member_elem.attrib["size"] = member_array_size if isinstance(member_type, tuple): type_name = "{}::{}::{}".format( serializable_type, From 7566496561e1060545f0a9100a9ad097bb12c4b7 Mon Sep 17 00:00:00 2001 From: Rob Bocchino Date: Tue, 1 Aug 2023 13:30:08 -0700 Subject: [PATCH 49/55] Update fpp version to v1.3.0 (#2171) --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index b509ae629b..d340f9177d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -15,7 +15,7 @@ exceptiongroup==1.1.0 Flask==2.2.2 Flask-Compress==1.13 Flask-RESTful==0.3.9 -fprime-fpp==1.3.0a2 +fprime-fpp==1.3.0 fprime-gds==3.2.1a1 fprime-tools==3.2.0 gcovr==6.0 From 72a2106a7a00e34a371f668f515b859d2bb1d451 Mon Sep 17 00:00:00 2001 From: Thomas Boyer Chammard <49786685+thomas-bc@users.noreply.github.com> Date: Tue, 1 Aug 2023 16:07:15 -0700 Subject: [PATCH 50/55] Release 3.3.0 requirements bump (#2172) * Bump tools and GDS to 3.3.0 * Update FALLBACK_VERSION * Update requirements.txt --- .../Python/src/fprime_ac/utils/version.py | 2 +- requirements.txt | 60 +++++++++---------- 2 files changed, 30 insertions(+), 32 deletions(-) diff --git a/Autocoders/Python/src/fprime_ac/utils/version.py b/Autocoders/Python/src/fprime_ac/utils/version.py index b8e8ed567e..456563ecbe 100644 --- a/Autocoders/Python/src/fprime_ac/utils/version.py +++ b/Autocoders/Python/src/fprime_ac/utils/version.py @@ -2,7 +2,7 @@ import os import subprocess -FALLBACK_VERSION = "v3.2.0" # Keep up-to-date on release tag +FALLBACK_VERSION = "v3.3.0" # Keep up-to-date on release tag def get_version_str(working_dir, fallback=FALLBACK_VERSION): diff --git a/requirements.txt b/requirements.txt index d340f9177d..3f92ea0dd0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,50 +1,48 @@ aniso8601==9.0.1 -argcomplete==2.0.0 +argcomplete==3.1.1 arrow==1.2.3 -attrs==22.2.0 binaryornot==0.4.4 Brotli==1.0.9 -certifi==2022.12.7 -chardet==5.1.0 -charset-normalizer==3.0.1 +certifi==2023.7.22 +chardet==5.2.0 +charset-normalizer==3.2.0 Cheetah3==3.2.6.post1 -click==8.1.3 -cookiecutter==2.1.1 +click==8.1.6 +cookiecutter==2.2.3 et-xmlfile==1.1.0 -exceptiongroup==1.1.0 -Flask==2.2.2 +exceptiongroup==1.1.2 +Flask==2.2.3 Flask-Compress==1.13 -Flask-RESTful==0.3.9 +Flask-RESTful==0.3.10 fprime-fpp==1.3.0 -fprime-gds==3.2.1a1 -fprime-tools==3.2.0 +fprime-gds==3.3.0 +fprime-tools==3.3.0 gcovr==6.0 idna==3.4 -importlib-metadata==4.13.0 +importlib-metadata==6.7.0 iniconfig==2.0.0 itsdangerous==2.1.2 Jinja2==3.1.2 -jinja2-time==0.2.0 -lxml==4.9.2 -Markdown==3.4.1 -MarkupSafe==2.1.2 -openpyxl==3.1.0 -packaging==23.0 +lxml==4.9.3 +Markdown==3.4.4 +MarkupSafe==2.1.3 +openpyxl==3.1.2 +packaging==23.1 pexpect==4.8.0 -pluggy==1.0.0 +pluggy==1.2.0 ptyprocess==0.7.0 -Pygments==2.14.0 -pytest==7.2.1 +Pygments==2.15.1 +pytest==7.4.0 python-dateutil==2.8.2 -python-slugify==8.0.0 -pytz==2022.7.1 -PyYAML==6.0 -pyzmq==25.0.0 -requests==2.28.2 +python-slugify==8.0.1 +pytz==2023.3 +PyYAML==6.0.1 +pyzmq==25.1.0 +requests==2.31.0 six==1.16.0 text-unidecode==1.3 -toml==0.10.2 tomli==2.0.1 -urllib3==1.26.14 -Werkzeug==2.2.2 -zipp==3.12.0 +typing-extensions==4.7.1 +urllib3==1.26.16 +Werkzeug==2.2.3 +zipp==3.15.0 From 6edc3e097f7c8f4505f9617f3aaf16875d24b06d Mon Sep 17 00:00:00 2001 From: Thomas Boyer Chammard <49786685+thomas-bc@users.noreply.github.com> Date: Wed, 2 Aug 2023 15:02:30 -0700 Subject: [PATCH 51/55] Update landing page index (#2176) --- docs/index.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/docs/index.md b/docs/index.md index bfffc3bac5..6acc54955b 100644 --- a/docs/index.md +++ b/docs/index.md @@ -24,22 +24,21 @@ F´ has the following features: - [Discussions](https://github.com/nasa/fprime/discussions) - [Issues](https://github.com/nasa/fprime/issues) - [Community GitHub Organization](https://github.com/fprime-community) -- [Architecture Overview](./Architecture/FPrimeArchitectureShort.pdf) - -### Discontinued: -- [Community Forum and Mailing List](https://groups.google.com/d/forum/fprime-community) - - **Note**: Community forum has been replaced by [Discussions](https://github.com/nasa/fprime/discussions) since mid june 2021. +- [User Guide](./UsersGuide/guide.md) ## F´ Documentation ### F´ Release - [Latest Documentation](./latest.md) +- [v3.3.0 Documentation](https://nasa.github.io/fprime/v3.3.0) +- [v3.2.0 Documentation](https://nasa.github.io/fprime/v3.2.0) +- [v3.1.0 Documentation](https://nasa.github.io/fprime/v3.1.0) +- [v3.0.0 Documentation](https://nasa.github.io/fprime/v3.0.0) +- [v2.1.0 Documentation](https://nasa.github.io/fprime/v2.1.0) +- [v2.0.1 Documentation](https://nasa.github.io/fprime/v2.0.1) - [v2.0.0 Documentation](https://nasa.github.io/fprime/v2.0.0) - [v1.5 Series Documentation](https://nasa.github.io/fprime/v1.5) ## Further References -To start with F´, follow the [installation guide](./INSTALL.md). Then inspect -either the [reference application](https://github.com/nasa/fprime/blob/master/Ref/README.md), -[raspberry pi reference](https://github.com/nasa/fprime/blob/master/RPI/README.md), or the -[tutorials](Tutorials/README.md). +To start with F´, follow the [installation guide](./INSTALL.md). Then follow our [tutorials](Tutorials/README.md), or inspect our [reference applications](https://github.com/fprime-community#references). From 287bedc4667571bc868a3dc60f4f29874a35769a Mon Sep 17 00:00:00 2001 From: Thomas Boyer Chammard <49786685+thomas-bc@users.noreply.github.com> Date: Wed, 2 Aug 2023 15:26:37 -0700 Subject: [PATCH 52/55] Add Arduino tutorial to index (#2177) --- docs/Tutorials/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/Tutorials/README.md b/docs/Tutorials/README.md index 8413c51860..e194b8e9d7 100644 --- a/docs/Tutorials/README.md +++ b/docs/Tutorials/README.md @@ -11,7 +11,8 @@ users to learn F´ and walk through the most basic steps in developing an F´ ap 1. [HelloWorld](https://fprime-community.github.io/fprime-tutorial-hello-world/): An Introduction to F´ 2. [LedBlinker](https://fprime-community.github.io/fprime-workshop-led-blinker/): F´ and Embedded Hardware 3. [MathComponent](https://fprime-community.github.io/fprime-tutorial-math-component/): Custom Ports and Types -4. [Cross-Compilation Tutorial](CrossCompilationSetup/README.md) +4. [Cross-Compilation Setup Tutorial](CrossCompilationSetup/README.md): Set up a cross-compilation environment +5. [Arduino LedBlinker](https://fprime-community.github.io/fprime-tutorial-arduino-blinker/): Cross-Compile LedBlinker for Arduinos ## [HelloWorld](https://fprime-community.github.io/fprime-tutorial-hello-world/): An Introduction to F´ From 64d7e5b791dcee0d8acfa10bf5cae04a08f1348b Mon Sep 17 00:00:00 2001 From: Thomas Boyer Chammard <49786685+thomas-bc@users.noreply.github.com> Date: Thu, 3 Aug 2023 11:29:48 -0700 Subject: [PATCH 53/55] Add visualization tools to requirements.txt (#2178) * Add visualization tools to requirements.txt * Alphabetical order * fix --- requirements.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/requirements.txt b/requirements.txt index 3f92ea0dd0..06bd5a1e21 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14,9 +14,14 @@ exceptiongroup==1.1.2 Flask==2.2.3 Flask-Compress==1.13 Flask-RESTful==0.3.10 +fprime-fpl-convert-xml==1.0.0 +fprime-fpl-extract-xml==1.0.0 +fprime-fpl-layout==1.0.0 +fprime-fpl-write-pic==1.0.0 fprime-fpp==1.3.0 fprime-gds==3.3.0 fprime-tools==3.3.0 +fprime-visual==1.0.0 gcovr==6.0 idna==3.4 importlib-metadata==6.7.0 From a8058dd15fa4af7731b0d474b68522a6bd2cd43a Mon Sep 17 00:00:00 2001 From: M Starch Date: Thu, 3 Aug 2023 11:30:15 -0700 Subject: [PATCH 54/55] A note on sudo for virtual environments (#2180) * A note on sudo for virtual environments * Highlighting mac note * Update HelloWorld link * Bootstrapping hints. --------- Co-authored-by: thomas-bc --- docs/INSTALL.md | 5 ++--- .../CrossCompilationSetup/CrossCompilationSetupTutorial.md | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/docs/INSTALL.md b/docs/INSTALL.md index 7c398b69a9..c65d0b57d4 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -31,8 +31,7 @@ The ecosystem of tools supporting F´ is installed as python packages available pip install fprime-tools ``` -> Python is used by many operating systems. To prevent problems users are encouraged to run F´ python from within a [virtual environment](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/). This is set up when creating a new F´ project. - +> You may need to install with `sudo` or install into a [virtual environment](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/). ### Creating a New F´ Project @@ -50,7 +49,7 @@ Select install_venv: Choose from 1, 2 [1]: 1 ``` -Next steps: [HelloWorld Tutorial](Tutorials/HelloWorld/Tutorial.md) +Next steps: [HelloWorld Tutorial](https://fprime-community.github.io/fprime-tutorial-hello-world/) ## Advanced diff --git a/docs/Tutorials/CrossCompilationSetup/CrossCompilationSetupTutorial.md b/docs/Tutorials/CrossCompilationSetup/CrossCompilationSetupTutorial.md index 2fbf66efaf..51760a9442 100644 --- a/docs/Tutorials/CrossCompilationSetup/CrossCompilationSetupTutorial.md +++ b/docs/Tutorials/CrossCompilationSetup/CrossCompilationSetupTutorial.md @@ -35,6 +35,8 @@ Choose the operating system you are using to install F Prime: ## 3. Installing the Toolchain +> Note: macOS users must run these commands from within the Docker container described in [Appendix I](./appendix-1.md) or setup a Linux virtual machine. + Installing the cross-compiler will use the pre-built packages provided by ARM. Follow these instructions to install these tools for the target hardware into the `/opt/toolchains` directory. @@ -56,6 +58,4 @@ Next, ensure that the ARM toolchains were installed properly. To test, run the f ``` Any output other than "file/command not found" is good. -> Note: macOS users must run these commands from within the Docker container described in [Appendix I](./appendix-1.md). - **Next:** [Compiling for ARM](./CrossCompilationTutorial.md) From 6b1a61a7fe1f830e137de4dee071595e2a29803b Mon Sep 17 00:00:00 2001 From: M Starch Date: Thu, 3 Aug 2023 16:19:15 -0700 Subject: [PATCH 55/55] Bumping to v3.3.1 for fprime-tools (#2183) --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 06bd5a1e21..5b1372fd33 100644 --- a/requirements.txt +++ b/requirements.txt @@ -20,7 +20,7 @@ fprime-fpl-layout==1.0.0 fprime-fpl-write-pic==1.0.0 fprime-fpp==1.3.0 fprime-gds==3.3.0 -fprime-tools==3.3.0 +fprime-tools==3.3.1 fprime-visual==1.0.0 gcovr==6.0 idna==3.4

    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 KspOFV&Hn~Sfc29A literal 0 HcmV?d00001 From 3cd2083634b57a923820e1028f88d8e1bc662cfd Mon Sep 17 00:00:00 2001 From: Thomas Boyer Chammard <49786685+thomas-bc@users.noreply.github.com> Date: Tue, 18 Jul 2023 09:52:40 -0700 Subject: [PATCH 40/55] Migrate MathComponent tutorial to fprime-community (#2119) * Migrate MathComponent tutorial to fprime-community * update spelling --- .github/actions/spelling/expect.txt | 2 +- docs/Tutorials/MathComponent/CMakeLists.txt | 57 - .../MathComponent/MathPorts/CMakeLists.txt | 5 - .../MathComponent/MathPorts/MathPorts.fpp | 15 - .../MathComponent/MathReceiver/CMakeLists.txt | 15 - .../MathReceiver/MathReceiver.cpp | 151 -- .../MathReceiver/MathReceiver.fpp | 106 - .../MathReceiver/MathReceiver.hpp | 90 - .../MathReceiver/test/ut/Tester.cpp | 242 -- .../MathReceiver/test/ut/Tester.hpp | 136 - .../MathReceiver/test/ut/main.cpp | 37 - .../MathComponent/MathSender/CMakeLists.txt | 15 - .../MathComponent/MathSender/MathSender.cpp | 81 - .../MathComponent/MathSender/MathSender.fpp | 90 - .../MathComponent/MathSender/MathSender.hpp | 80 - .../MathSender/test/ut/Tester.cpp | 177 -- .../MathSender/test/ut/Tester.hpp | 115 - .../MathComponent/MathSender/test/ut/main.cpp | 37 - .../MathComponent/MathTypes/CMakeLists.txt | 5 - .../MathComponent/MathTypes/MathTypes.fpp | 11 - docs/Tutorials/MathComponent/README.md | 3 + .../Tutorials/MathComponent/Top/instances.fpp | 369 --- docs/Tutorials/MathComponent/Top/topology.fpp | 160 -- docs/Tutorials/MathComponent/Tutorial.md | 2320 ----------------- docs/Tutorials/MathComponent/json/refresh | 3 - docs/Tutorials/MathComponent/json/top.json | 76 - docs/Tutorials/MathComponent/json/top.txt | 13 - docs/Tutorials/MathComponent/md/.gitignore | 3 - docs/Tutorials/MathComponent/md/Tutorial.md | 1983 -------------- docs/Tutorials/MathComponent/md/bad-refs.awk | 15 - docs/Tutorials/MathComponent/md/check-refs | 28 - docs/Tutorials/MathComponent/md/defined-tags | 8 - docs/Tutorials/MathComponent/md/include.awk | 15 - docs/Tutorials/MathComponent/md/refresh | 18 - docs/Tutorials/MathComponent/md/sections.awk | 34 - docs/Tutorials/MathComponent/md/tags.awk | 37 - docs/Tutorials/MathComponent/md/toc.awk | 31 - .../Tutorials/MathComponent/md/undefined-tags | 9 - docs/Tutorials/MathComponent/md/used-tags | 11 - docs/Tutorials/MathComponent/png/top.png | Bin 67631 -> 0 bytes docs/Tutorials/MathComponent/refresh | 4 - docs/Tutorials/README.md | 15 +- 42 files changed, 12 insertions(+), 6610 deletions(-) delete mode 100644 docs/Tutorials/MathComponent/CMakeLists.txt delete mode 100644 docs/Tutorials/MathComponent/MathPorts/CMakeLists.txt delete mode 100644 docs/Tutorials/MathComponent/MathPorts/MathPorts.fpp delete mode 100644 docs/Tutorials/MathComponent/MathReceiver/CMakeLists.txt delete mode 100644 docs/Tutorials/MathComponent/MathReceiver/MathReceiver.cpp delete mode 100644 docs/Tutorials/MathComponent/MathReceiver/MathReceiver.fpp delete mode 100644 docs/Tutorials/MathComponent/MathReceiver/MathReceiver.hpp delete mode 100644 docs/Tutorials/MathComponent/MathReceiver/test/ut/Tester.cpp delete mode 100644 docs/Tutorials/MathComponent/MathReceiver/test/ut/Tester.hpp delete mode 100644 docs/Tutorials/MathComponent/MathReceiver/test/ut/main.cpp delete mode 100644 docs/Tutorials/MathComponent/MathSender/CMakeLists.txt delete mode 100644 docs/Tutorials/MathComponent/MathSender/MathSender.cpp delete mode 100644 docs/Tutorials/MathComponent/MathSender/MathSender.fpp delete mode 100644 docs/Tutorials/MathComponent/MathSender/MathSender.hpp delete mode 100644 docs/Tutorials/MathComponent/MathSender/test/ut/Tester.cpp delete mode 100644 docs/Tutorials/MathComponent/MathSender/test/ut/Tester.hpp delete mode 100644 docs/Tutorials/MathComponent/MathSender/test/ut/main.cpp delete mode 100644 docs/Tutorials/MathComponent/MathTypes/CMakeLists.txt delete mode 100644 docs/Tutorials/MathComponent/MathTypes/MathTypes.fpp create mode 100644 docs/Tutorials/MathComponent/README.md delete mode 100644 docs/Tutorials/MathComponent/Top/instances.fpp delete mode 100644 docs/Tutorials/MathComponent/Top/topology.fpp delete mode 100644 docs/Tutorials/MathComponent/Tutorial.md delete mode 100755 docs/Tutorials/MathComponent/json/refresh delete mode 100644 docs/Tutorials/MathComponent/json/top.json delete mode 100644 docs/Tutorials/MathComponent/json/top.txt delete mode 100644 docs/Tutorials/MathComponent/md/.gitignore delete mode 100644 docs/Tutorials/MathComponent/md/Tutorial.md delete mode 100644 docs/Tutorials/MathComponent/md/bad-refs.awk delete mode 100755 docs/Tutorials/MathComponent/md/check-refs delete mode 100755 docs/Tutorials/MathComponent/md/defined-tags delete mode 100644 docs/Tutorials/MathComponent/md/include.awk delete mode 100755 docs/Tutorials/MathComponent/md/refresh delete mode 100644 docs/Tutorials/MathComponent/md/sections.awk delete mode 100644 docs/Tutorials/MathComponent/md/tags.awk delete mode 100644 docs/Tutorials/MathComponent/md/toc.awk delete mode 100755 docs/Tutorials/MathComponent/md/undefined-tags delete mode 100755 docs/Tutorials/MathComponent/md/used-tags delete mode 100644 docs/Tutorials/MathComponent/png/top.png delete mode 100755 docs/Tutorials/MathComponent/refresh diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index 2d27bda491..49dcb2d512 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -523,7 +523,7 @@ FPCONFIG fpconfighpp FPGA fpi -fpl +FPL fpp fppi FPport diff --git a/docs/Tutorials/MathComponent/CMakeLists.txt b/docs/Tutorials/MathComponent/CMakeLists.txt deleted file mode 100644 index b9d97bec5b..0000000000 --- a/docs/Tutorials/MathComponent/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -#### -# 'Ref' Deployment: -# -# This sets up the build for the 'Ref' Application, including the custom reference -# components. In addition, it imports FPrime.cmake, which includes the core F Prime -# components. -# -# This file has several sections. -# -# 1. Header Section: define basic properties of the build -# 2. F prime core: includes all F prime core components, and build-system properties -# 3. Local subdirectories: contains all deployment specific directory additions -#### - -## -# Section 1: Basic Project Setup -# -# This contains the basic project information. Specifically, a cmake version and -# project definition. -## -cmake_minimum_required(VERSION 3.13) -cmake_policy(SET CMP0048 NEW) -project(Ref VERSION 1.0.0 LANGUAGES C CXX) - -## -# Section 2: F prime Core -# -# This includes all of the F prime core components, and imports the make-system. F prime core -# components will be placed in the F-Prime binary subdirectory to keep them from -# colliding with deployment specific items. -## -include("${CMAKE_CURRENT_LIST_DIR}/../cmake/FPrime.cmake") -# NOTE: register custom targets between these two lines -include("${CMAKE_CURRENT_LIST_DIR}/../cmake/FPrime-Code.cmake") -## -# Section 3: Components and Topology -# -# This section includes deployment specific directories. This allows use of non- -# core components in the topology, which is also added here. -## -# Add component subdirectories -add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/MathPorts/") -add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/MathReceiver/") -add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/MathSender/") -add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/MathTypes/") -add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/PingReceiver/") -add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/RecvBuffApp/") -add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/SendBuffApp/") -add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/SignalGen/") - -# Add Topology subdirectory -add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/Top/") - -set(SOURCE_FILES "${CMAKE_CURRENT_LIST_DIR}/Top/Main.cpp") -set(MOD_DEPS ${PROJECT_NAME}/Top) - -register_fprime_deployment() diff --git a/docs/Tutorials/MathComponent/MathPorts/CMakeLists.txt b/docs/Tutorials/MathComponent/MathPorts/CMakeLists.txt deleted file mode 100644 index 36f86a667d..0000000000 --- a/docs/Tutorials/MathComponent/MathPorts/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -set(SOURCE_FILES - "${CMAKE_CURRENT_LIST_DIR}/MathPorts.fpp" -) - -register_fprime_module() diff --git a/docs/Tutorials/MathComponent/MathPorts/MathPorts.fpp b/docs/Tutorials/MathComponent/MathPorts/MathPorts.fpp deleted file mode 100644 index 0197e7b651..0000000000 --- a/docs/Tutorials/MathComponent/MathPorts/MathPorts.fpp +++ /dev/null @@ -1,15 +0,0 @@ -module Ref { - - @ Port for requesting an operation on two numbers - port MathOp( - val1: F32 @< The first operand - op: MathOp @< The operation - val2: F32 @< The second operand - ) - - @ Port for returning the result of a math operation - port MathResult( - result: F32 @< the result of the operation - ) - -} diff --git a/docs/Tutorials/MathComponent/MathReceiver/CMakeLists.txt b/docs/Tutorials/MathComponent/MathReceiver/CMakeLists.txt deleted file mode 100644 index c1126f9b71..0000000000 --- a/docs/Tutorials/MathComponent/MathReceiver/CMakeLists.txt +++ /dev/null @@ -1,15 +0,0 @@ -# Register the standard build -set(SOURCE_FILES - "${CMAKE_CURRENT_LIST_DIR}/MathReceiver.cpp" - "${CMAKE_CURRENT_LIST_DIR}/MathReceiver.fpp" -) -register_fprime_module() - -# Register the unit test build -set(UT_SOURCE_FILES - "${CMAKE_CURRENT_LIST_DIR}/MathReceiver.fpp" - "${CMAKE_CURRENT_LIST_DIR}/test/ut/Tester.cpp" - "${CMAKE_CURRENT_LIST_DIR}/test/ut/main.cpp" -) -set(UT_MOD_DEPS STest) -register_fprime_ut() diff --git a/docs/Tutorials/MathComponent/MathReceiver/MathReceiver.cpp b/docs/Tutorials/MathComponent/MathReceiver/MathReceiver.cpp deleted file mode 100644 index 50340b3b5e..0000000000 --- a/docs/Tutorials/MathComponent/MathReceiver/MathReceiver.cpp +++ /dev/null @@ -1,151 +0,0 @@ -// ====================================================================== -// \title MathReceiver.cpp -// \author tcanham, bocchino -// \brief cpp file for MathReceiver component implementation class -// -// \copyright -// Copyright 2009-2021, by the California Institute of Technology. -// ALL RIGHTS RESERVED. United States Government Sponsorship -// acknowledged. -// -// ====================================================================== - -#include "Fw/Types/Assert.hpp" -#include -#include "Ref/MathReceiver/MathReceiver.hpp" - -namespace Ref { - - // ---------------------------------------------------------------------- - // Construction, initialization, and destruction - // ---------------------------------------------------------------------- - - MathReceiver :: - MathReceiver( - const char *const compName - ) : - MathReceiverComponentBase(compName) - { - - } - - void MathReceiver :: - init( - const NATIVE_INT_TYPE queueDepth, - const NATIVE_INT_TYPE instance - ) - { - MathReceiverComponentBase::init(queueDepth, instance); - } - - MathReceiver :: - ~MathReceiver() - { - - } - - // ---------------------------------------------------------------------- - // Handler implementations for user-defined typed input ports - // ---------------------------------------------------------------------- - - void MathReceiver :: - mathOpIn_handler( - const NATIVE_INT_TYPE portNum, - F32 val1, - const MathOp& op, - F32 val2 - ) - { - - // Get the initial result - F32 res = 0.0; - switch (op.e) { - case MathOp::ADD: - res = val1 + val2; - break; - case MathOp::SUB: - res = val1 - val2; - break; - case MathOp::MUL: - res = val1 * val2; - break; - case MathOp::DIV: - res = val1 / val2; - break; - default: - FW_ASSERT(0, op.e); - break; - } - - // Get the factor value - Fw::ParamValid valid; - F32 factor = paramGet_FACTOR(valid); - FW_ASSERT( - valid.e == Fw::ParamValid::VALID || valid.e == Fw::ParamValid::DEFAULT, - valid.e - ); - - // Multiply result by factor - res *= factor; - - // Emit telemetry and events - this->log_ACTIVITY_HI_OPERATION_PERFORMED(op); - this->tlmWrite_OPERATION(op); - - // Emit result - this->mathResultOut_out(0, res); - - } - - void MathReceiver :: - schedIn_handler( - const NATIVE_INT_TYPE portNum, - NATIVE_UINT_TYPE context - ) - { - U32 numMsgs = this->m_queue.getNumMsgs(); - for (U32 i = 0; i < numMsgs; ++i) { - (void) this->doDispatch(); - } - - } - - // ---------------------------------------------------------------------- - // Command handler implementations - // ---------------------------------------------------------------------- - - void MathReceiver :: - CLEAR_EVENT_THROTTLE_cmdHandler( - const FwOpcodeType opCode, - const U32 cmdSeq - ) - { - // clear throttle - this->log_ACTIVITY_HI_FACTOR_UPDATED_ThrottleClear(); - // send event that throttle is cleared - this->log_ACTIVITY_HI_THROTTLE_CLEARED(); - // reply with completion status - this->cmdResponse_out(opCode, cmdSeq, Fw::CmdResponse::OK); - } - - void MathReceiver :: - parameterUpdated(FwPrmIdType id) - { - switch (id) { - case PARAMID_FACTOR: { - Fw::ParamValid valid; - F32 val = this->paramGet_FACTOR(valid); - FW_ASSERT( - valid.e == Fw::ParamValid::VALID || valid.e == Fw::ParamValid::DEFAULT, - valid.e - ); - this->log_ACTIVITY_HI_FACTOR_UPDATED(val); - break; - } - default: - FW_ASSERT(0, id); - break; - } - } - -} // end namespace Ref diff --git a/docs/Tutorials/MathComponent/MathReceiver/MathReceiver.fpp b/docs/Tutorials/MathComponent/MathReceiver/MathReceiver.fpp deleted file mode 100644 index 603bfd7c88..0000000000 --- a/docs/Tutorials/MathComponent/MathReceiver/MathReceiver.fpp +++ /dev/null @@ -1,106 +0,0 @@ -module Ref { - - @ Component for receiving and performing a math operation - queued component MathReceiver { - - # ---------------------------------------------------------------------- - # General ports - # ---------------------------------------------------------------------- - - @ Port for receiving the math operation - async input port mathOpIn: MathOp - - @ Port for returning the math result - output port mathResultOut: MathResult - - @ The rate group scheduler input - sync input port schedIn: Svc.Sched - - # ---------------------------------------------------------------------- - # Special ports - # ---------------------------------------------------------------------- - - @ Command receive - command recv port cmdIn - - @ Command registration - command reg port cmdRegOut - - @ Command response - command resp port cmdResponseOut - - @ Event - event port eventOut - - @ Parameter get - param get port prmGetOut - - @ Parameter set - param set port prmSetOut - - @ Telemetry - telemetry port tlmOut - - @ Text event - text event port textEventOut - - @ Time get - time get port timeGetOut - - # ---------------------------------------------------------------------- - # Parameters - # ---------------------------------------------------------------------- - - @ The multiplier in the math operation - param FACTOR: F32 default 1.0 id 0 \ - set opcode 10 \ - save opcode 11 - - # ---------------------------------------------------------------------- - # Events - # ---------------------------------------------------------------------- - - @ Factor updated - event FACTOR_UPDATED( - val: F32 @< The factor value - ) \ - severity activity high \ - id 0 \ - format "Factor updated to {f}" \ - throttle 3 - - @ Math operation performed - event OPERATION_PERFORMED( - val: MathOp @< The operation - ) \ - severity activity high \ - id 1 \ - format "{} operation performed" - - @ Event throttle cleared - event THROTTLE_CLEARED \ - severity activity high \ - id 2 \ - format "Event throttle cleared" - - # ---------------------------------------------------------------------- - # Commands - # ---------------------------------------------------------------------- - - @ Clear the event throttle - async command CLEAR_EVENT_THROTTLE \ - opcode 0 - - # ---------------------------------------------------------------------- - # Telemetry - # ---------------------------------------------------------------------- - - @ The operation - telemetry OPERATION: MathOp id 0 - - @ Multiplication factor - telemetry FACTOR: F32 id 1 - - } - -} diff --git a/docs/Tutorials/MathComponent/MathReceiver/MathReceiver.hpp b/docs/Tutorials/MathComponent/MathReceiver/MathReceiver.hpp deleted file mode 100644 index c085650274..0000000000 --- a/docs/Tutorials/MathComponent/MathReceiver/MathReceiver.hpp +++ /dev/null @@ -1,90 +0,0 @@ -// ====================================================================== -// \title MathReceiverImpl.hpp -// \author tcanham, bocchino -// \brief hpp file for MathReceiver component implementation class -// -// \copyright -// Copyright 2009-2021, by the California Institute of Technology. -// ALL RIGHTS RESERVED. United States Government Sponsorship -// acknowledged. -// -// ====================================================================== - -#ifndef MathReceiver_HPP -#define MathReceiver_HPP - -#include "Ref/MathReceiver/MathReceiverComponentAc.hpp" - -namespace Ref { - - class MathReceiver : - public MathReceiverComponentBase - { - - public: - - // ---------------------------------------------------------------------- - // Construction, initialization, and destruction - // ---------------------------------------------------------------------- - - //! Construct object MathReceiver - //! - MathReceiver( - const char *const compName //!< The component name - ); - - //! Initialize object MathReceiver - //! - void init( - const NATIVE_INT_TYPE queueDepth, //!< The queue depth - const NATIVE_INT_TYPE instance = 0 //!< The instance number - ); - - //! Destroy object MathReceiver - //! - ~MathReceiver(); - - PRIVATE: - - // ---------------------------------------------------------------------- - // Handler implementations for user-defined typed input ports - // ---------------------------------------------------------------------- - - //! Handler implementation for mathOpIn - //! - void mathOpIn_handler( - const NATIVE_INT_TYPE portNum, //!< The port number - F32 val1, - const MathOp& op, //!< operation argument - F32 val2 - ); - - //! Handler implementation for SchedIn - //! - void schedIn_handler( - const NATIVE_INT_TYPE portNum, //!< The port number - NATIVE_UINT_TYPE context //!< The call order - ); - - PRIVATE: - - // ---------------------------------------------------------------------- - // Command handler implementations - // ---------------------------------------------------------------------- - - //! Implementation for CLEAR_EVENT_THROTTLE command handler - //! Clear the event throttle - void CLEAR_EVENT_THROTTLE_cmdHandler( - const FwOpcodeType opCode, //!< The opcode - const U32 cmdSeq //!< The command sequence number - ); - - void parameterUpdated( - FwPrmIdType id //!< The parameter ID - ); - - }; - -} // end namespace Ref - -#endif diff --git a/docs/Tutorials/MathComponent/MathReceiver/test/ut/Tester.cpp b/docs/Tutorials/MathComponent/MathReceiver/test/ut/Tester.cpp deleted file mode 100644 index 1f3de5edb3..0000000000 --- a/docs/Tutorials/MathComponent/MathReceiver/test/ut/Tester.cpp +++ /dev/null @@ -1,242 +0,0 @@ -// ====================================================================== -// \title MathReceiver.hpp -// \author tcanham, bocchino -// \brief cpp file for MathReceiver test harness implementation class -// -// \copyright -// Copyright 2009-2021, by the California Institute of Technology. -// ALL RIGHTS RESERVED. United States Government Sponsorship -// acknowledged. -// -// ====================================================================== - -#include "STest/Pick/Pick.hpp" -#include "Tester.hpp" - -namespace Ref { - - // ---------------------------------------------------------------------- - // Construction and destruction - // ---------------------------------------------------------------------- - - Tester :: - Tester() : - MathReceiverGTestBase("Tester", MAX_HISTORY_SIZE), - component("MathReceiver") - { - this->initComponents(); - this->connectPorts(); - } - - Tester :: - ~Tester() - { - - } - - // ---------------------------------------------------------------------- - // Tests - // ---------------------------------------------------------------------- - - void Tester :: - testAdd() - { - // Set the factor parameter by command - const F32 factor = pickF32Value(); - this->setFactor(factor, ThrottleState::NOT_THROTTLED); - // Do the add operation - this->doMathOp(MathOp::ADD, factor); - } - - void Tester :: - testSub() - { - // Set the factor parameter by loading parameters - const F32 factor = pickF32Value(); - this->paramSet_FACTOR(factor, Fw::ParamValid::VALID); - this->component.loadParameters(); - // Do the operation - this->doMathOp(MathOp::SUB, factor); - } - - void Tester :: - testMul() - { - // Set the factor parameter by command - const F32 factor = 3.0; - this->setFactor(factor, ThrottleState::NOT_THROTTLED); - // Do the add operation - this->doMathOp(MathOp::MUL, factor); - } - - void Tester :: - testDiv() - { - // Set the factor parameter by loading parameters - const F32 factor = 3.0; - this->paramSet_FACTOR(factor, Fw::ParamValid::VALID); - this->component.loadParameters(); - // Do the operation - this->doMathOp(MathOp::DIV, factor); - } - - void Tester :: - testThrottle() - { - - // send the number of commands required to throttle the event - // Use the autocoded value so the unit test passes if the - // throttle value is changed - const F32 factor = pickF32Value(); - for ( - U16 cycle = 0; - cycle < MathReceiverComponentBase::EVENTID_FACTOR_UPDATED_THROTTLE; - cycle++ - ) { - this->setFactor(factor, ThrottleState::NOT_THROTTLED); - } - - // Event should now be throttled - this->setFactor(factor, ThrottleState::THROTTLED); - - // send the command to clear the throttle - const U32 instance = STest::Pick::any(); - const U32 cmdSeq = STest::Pick::any(); - this->sendCmd_CLEAR_EVENT_THROTTLE(instance, cmdSeq); - // invoke scheduler port to dispatch message - const U32 context = STest::Pick::any(); - this->invoke_to_schedIn(0, context); - // verify clear event was sent - ASSERT_EVENTS_SIZE(1); - ASSERT_EVENTS_THROTTLE_CLEARED_SIZE(1); - - // Throttling should be cleared - this->setFactor(factor, ThrottleState::NOT_THROTTLED); - - } - - // ---------------------------------------------------------------------- - // Handlers for typed from ports - // ---------------------------------------------------------------------- - - void Tester :: - from_mathResultOut_handler( - const NATIVE_INT_TYPE portNum, - F32 result - ) - { - this->pushFromPortEntry_mathResultOut(result); - } - - // ---------------------------------------------------------------------- - // Helper methods - // ---------------------------------------------------------------------- - - F32 Tester :: - pickF32Value() - { - const F32 m = 10e6; - return m * (1.0 - 2 * STest::Pick::inUnitInterval()); - } - - void Tester :: - setFactor( - F32 factor, - ThrottleState throttleState - ) - { - // clear history - this->clearHistory(); - // set the parameter - this->paramSet_FACTOR(factor, Fw::ParamValid::VALID); - const U32 instance = STest::Pick::any(); - const U32 cmdSeq = STest::Pick::any(); - this->paramSend_FACTOR(instance, cmdSeq); - if (throttleState == ThrottleState::NOT_THROTTLED) { - // verify the parameter update notification event was sent - ASSERT_EVENTS_SIZE(1); - ASSERT_EVENTS_FACTOR_UPDATED_SIZE(1); - ASSERT_EVENTS_FACTOR_UPDATED(0, factor); - } - else { - ASSERT_EVENTS_SIZE(0); - } - } - - F32 Tester :: - computeResult( - F32 val1, - MathOp op, - F32 val2, - F32 factor - ) - { - F32 result = 0; - switch (op.e) { - case MathOp::ADD: - result = val1 + val2; - break; - case MathOp::SUB: - result = val1 - val2; - break; - case MathOp::MUL: - result = val1 * val2; - break; - case MathOp::DIV: - result = val1 / val2; - break; - default: - FW_ASSERT(0, op.e); - break; - } - result *= factor; - return result; - } - - void Tester :: - doMathOp(MathOp op, F32 factor) - { - - // pick values - const F32 val1 = pickF32Value(); - const F32 val2 = pickF32Value(); - - // clear history - this->clearHistory(); - - // invoke operation port with add operation - this->invoke_to_mathOpIn(0, val1, op, val2); - // invoke scheduler port to dispatch message - const U32 context = STest::Pick::any(); - this->invoke_to_schedIn(0, context); - - // verify the result of the operation was returned - - // check that there was one port invocation - ASSERT_FROM_PORT_HISTORY_SIZE(1); - // check that the port we expected was invoked - ASSERT_from_mathResultOut_SIZE(1); - // check that the component performed the operation correctly - const F32 result = computeResult(val1, op, val2, factor); - ASSERT_from_mathResultOut(0, result); - - // verify events - - // check that there was one event - ASSERT_EVENTS_SIZE(1); - // check that it was the op event - ASSERT_EVENTS_OPERATION_PERFORMED_SIZE(1); - // check that the event has the correct argument - ASSERT_EVENTS_OPERATION_PERFORMED(0, op); - - // verify telemetry - - // check that one channel was written - ASSERT_TLM_SIZE(1); - // check that it was the op channel - ASSERT_TLM_OPERATION_SIZE(1); - // check for the correct value of the channel - ASSERT_TLM_OPERATION(0, op); - - } -} // end namespace Ref diff --git a/docs/Tutorials/MathComponent/MathReceiver/test/ut/Tester.hpp b/docs/Tutorials/MathComponent/MathReceiver/test/ut/Tester.hpp deleted file mode 100644 index 04b70f36b3..0000000000 --- a/docs/Tutorials/MathComponent/MathReceiver/test/ut/Tester.hpp +++ /dev/null @@ -1,136 +0,0 @@ -// ====================================================================== -// \title MathReceiver/test/ut/Tester.hpp -// \author tcanham, bocchino -// \brief hpp file for MathReceiver test harness implementation class -// -// \copyright -// Copyright 2009-2021, by the California Institute of Technology. -// ALL RIGHTS RESERVED. United States Government Sponsorship -// acknowledged. -// -// ====================================================================== - -#ifndef TESTER_HPP -#define TESTER_HPP - -#include "GTestBase.hpp" -#include "Ref/MathReceiver/MathReceiver.hpp" - -namespace Ref { - - class Tester : - public MathReceiverGTestBase - { - public: - // Maximum size of histories storing events, telemetry, and port outputs - static const NATIVE_INT_TYPE MAX_HISTORY_SIZE = 10; - // Instance ID supplied to the component instance under test - static const NATIVE_INT_TYPE TEST_INSTANCE_ID = 0; - // Queue depth supplied to component instance under test - static const NATIVE_INT_TYPE TEST_INSTANCE_QUEUE_DEPTH = 10; - - private: - - // ---------------------------------------------------------------------- - // Types - // ---------------------------------------------------------------------- - - enum class ThrottleState { - THROTTLED, - NOT_THROTTLED - }; - - public: - - // ---------------------------------------------------------------------- - // Construction and destruction - // ---------------------------------------------------------------------- - - //! Construct object Tester - //! - Tester(); - - //! Destroy object Tester - //! - ~Tester(); - - public: - - // ---------------------------------------------------------------------- - // Tests - // ---------------------------------------------------------------------- - - //! To do - //! - void testAdd(); - void testSub(); - void testMul(); - void testDiv(); - void testThrottle(); - - private: - - // ---------------------------------------------------------------------- - // Handlers for typed from ports - // ---------------------------------------------------------------------- - - //! Handler for from_mathResultOut - //! - void from_mathResultOut_handler( - const NATIVE_INT_TYPE portNum, //!< The port number - F32 result //!< the result of the operation - ); - - private: - - // ---------------------------------------------------------------------- - // Helper methods - // ---------------------------------------------------------------------- - - //! Pick an F32 value - static F32 pickF32Value(); - - //! Set the factor parameter - void setFactor( - F32 factor, //!< The parameter value - ThrottleState throttleState //!< The throttle state - ); - - //! Compute a result - F32 computeResult( - F32 val1, - MathOp op, - F32 val2, - F32 factor - ); - - //! Do a math operation - //! Factor parameter must be set - void doMathOp( - MathOp op, - F32 factor - ); - - //! Connect ports - //! - void connectPorts(); - - //! Initialize components - //! - void initComponents(); - - private: - - // ---------------------------------------------------------------------- - // Variables - // ---------------------------------------------------------------------- - - //! The component under test - //! - MathReceiver component; - - }; - -} // end namespace Ref - -#endif diff --git a/docs/Tutorials/MathComponent/MathReceiver/test/ut/main.cpp b/docs/Tutorials/MathComponent/MathReceiver/test/ut/main.cpp deleted file mode 100644 index 8b840a94fa..0000000000 --- a/docs/Tutorials/MathComponent/MathReceiver/test/ut/main.cpp +++ /dev/null @@ -1,37 +0,0 @@ -// ---------------------------------------------------------------------- -// Main.cpp -// ---------------------------------------------------------------------- - -#include "STest/Random/Random.hpp" -#include "Tester.hpp" - -TEST(Nominal, Add) { - Ref::Tester tester; - tester.testAdd(); -} - -TEST(Nominal, Sub) { - Ref::Tester tester; - tester.testSub(); -} - -TEST(Nominal, Mul) { - Ref::Tester tester; - tester.testMul(); -} - -TEST(Nominal, Div) { - Ref::Tester tester; - tester.testDiv(); -} - -TEST(Nominal, Throttle) { - Ref::Tester tester; - tester.testThrottle(); -} - -int main(int argc, char **argv) { - ::testing::InitGoogleTest(&argc, argv); - STest::Random::seed(); - return RUN_ALL_TESTS(); -} diff --git a/docs/Tutorials/MathComponent/MathSender/CMakeLists.txt b/docs/Tutorials/MathComponent/MathSender/CMakeLists.txt deleted file mode 100644 index 5f3ff699f8..0000000000 --- a/docs/Tutorials/MathComponent/MathSender/CMakeLists.txt +++ /dev/null @@ -1,15 +0,0 @@ -# Register the standard build -set(SOURCE_FILES - "${CMAKE_CURRENT_LIST_DIR}/MathSender.cpp" - "${CMAKE_CURRENT_LIST_DIR}/MathSender.fpp" -) -register_fprime_module() - -# Register the unit test build -set(UT_SOURCE_FILES - "${CMAKE_CURRENT_LIST_DIR}/MathSender.fpp" - "${CMAKE_CURRENT_LIST_DIR}/test/ut/Tester.cpp" - "${CMAKE_CURRENT_LIST_DIR}/test/ut/main.cpp" -) -set(UT_MOD_DEPS STest) -register_fprime_ut() diff --git a/docs/Tutorials/MathComponent/MathSender/MathSender.cpp b/docs/Tutorials/MathComponent/MathSender/MathSender.cpp deleted file mode 100644 index ad839ed6d2..0000000000 --- a/docs/Tutorials/MathComponent/MathSender/MathSender.cpp +++ /dev/null @@ -1,81 +0,0 @@ -// ====================================================================== -// \title MathSender.cpp -// \author tcanham, bocchino -// \brief cpp file for MathSender component implementation class -// -// \copyright -// Copyright 2009-2021, by the California Institute of Technology. -// ALL RIGHTS RESERVED. United States Government Sponsorship -// acknowledged. -// -// ====================================================================== - - -#include -#include - -namespace Ref { - - // ---------------------------------------------------------------------- - // Construction, initialization, and destruction - // ---------------------------------------------------------------------- - - MathSender :: - MathSender( - const char *const compName - ) : MathSenderComponentBase(compName) - { - - } - - void MathSender :: - init( - const NATIVE_INT_TYPE queueDepth, - const NATIVE_INT_TYPE instance - ) - { - MathSenderComponentBase::init(queueDepth, instance); - } - - MathSender :: - ~MathSender() - { - - } - - // ---------------------------------------------------------------------- - // Handler implementations for user-defined typed input ports - // ---------------------------------------------------------------------- - - void MathSender :: - mathResultIn_handler( - const NATIVE_INT_TYPE portNum, - F32 result - ) - { - this->tlmWrite_RESULT(result); - this->log_ACTIVITY_HI_RESULT(result); - } - - // ---------------------------------------------------------------------- - // Command handler implementations - // ---------------------------------------------------------------------- - - void MathSender :: - DO_MATH_cmdHandler( - const FwOpcodeType opCode, - const U32 cmdSeq, - F32 val1, - MathOp op, - F32 val2 - ) - { - this->tlmWrite_VAL1(val1); - this->tlmWrite_OP(op); - this->tlmWrite_VAL2(val2); - this->log_ACTIVITY_LO_COMMAND_RECV(val1, op, val2); - this->mathOpOut_out(0, val1, op, val2); - this->cmdResponse_out(opCode, cmdSeq, Fw::CmdResponse::OK); - } - -} // end namespace Ref diff --git a/docs/Tutorials/MathComponent/MathSender/MathSender.fpp b/docs/Tutorials/MathComponent/MathSender/MathSender.fpp deleted file mode 100644 index 869f69f4c1..0000000000 --- a/docs/Tutorials/MathComponent/MathSender/MathSender.fpp +++ /dev/null @@ -1,90 +0,0 @@ -module Ref { - - @ Component for sending a math operation - active component MathSender { - - # ---------------------------------------------------------------------- - # General ports - # ---------------------------------------------------------------------- - - @ Port for sending the operation request - output port mathOpOut: MathOp - - @ Port for receiving the result - async input port mathResultIn: MathResult - - # ---------------------------------------------------------------------- - # Special ports - # ---------------------------------------------------------------------- - - @ Command receive port - command recv port cmdIn - - @ Command registration port - command reg port cmdRegOut - - @ Command response port - command resp port cmdResponseOut - - @ Event port - event port eventOut - - @ Telemetry port - telemetry port tlmOut - - @ Text event port - text event port textEventOut - - @ Time get port - time get port timeGetOut - - # ---------------------------------------------------------------------- - # Commands - # ---------------------------------------------------------------------- - - @ Do a math operation - async command DO_MATH( - val1: F32 @< The first operand - op: MathOp @< The operation - val2: F32 @< The second operand - ) - - # ---------------------------------------------------------------------- - # Events - # ---------------------------------------------------------------------- - - @ Math command received - event COMMAND_RECV( - val1: F32 @< The first operand - op: MathOp @< The operation - val2: F32 @< The second operand - ) \ - severity activity low \ - format "Math command received: {f} {} {f}" - - @ Received math result - event RESULT( - result: F32 @< The math result - ) \ - severity activity high \ - format "Math result is {f}" - - # ---------------------------------------------------------------------- - # Telemetry - # ---------------------------------------------------------------------- - - @ The first value - telemetry VAL1: F32 - - @ The operation - telemetry OP: MathOp - - @ The second value - telemetry VAL2: F32 - - @ The result - telemetry RESULT: F32 - - } - -} diff --git a/docs/Tutorials/MathComponent/MathSender/MathSender.hpp b/docs/Tutorials/MathComponent/MathSender/MathSender.hpp deleted file mode 100644 index 874818e0b5..0000000000 --- a/docs/Tutorials/MathComponent/MathSender/MathSender.hpp +++ /dev/null @@ -1,80 +0,0 @@ -// ====================================================================== -// \title MathSenderImpl.hpp -// \author tcanham, bocchino -// \brief hpp file for MathSender component implementation class -// -// \copyright -// Copyright 2009-2021, by the California Institute of Technology. -// ALL RIGHTS RESERVED. United States Government Sponsorship -// acknowledged. -// -// ====================================================================== - -#ifndef Ref_MathSender_HPP -#define Ref_MathSender_HPP - -#include "Ref/MathSender/MathSenderComponentAc.hpp" - -namespace Ref { - - class MathSender : - public MathSenderComponentBase - { - - public: - - // ---------------------------------------------------------------------- - // Construction, initialization, and destruction - // ---------------------------------------------------------------------- - - //! Construct object MathSender - //! - MathSender( - const char *const compName //!< The component name - ); - - //! Initialize object MathSender - //! - void init( - const NATIVE_INT_TYPE queueDepth, //!< The queue depth - const NATIVE_INT_TYPE instance = 0 //!< The instance number - ); - - //! Destroy object MathSender - //! - ~MathSender(); - - PRIVATE: - - // ---------------------------------------------------------------------- - // Handler implementations for user-defined typed input ports - // ---------------------------------------------------------------------- - - //! Handler implementation for mathResultIn - //! - void mathResultIn_handler( - const NATIVE_INT_TYPE portNum, //!< The port number - F32 result //!< the result of the operation - ); - - PRIVATE: - - // ---------------------------------------------------------------------- - // Command handler implementations - // ---------------------------------------------------------------------- - - //! Implementation for DO_MATH command handler - //! Do a math operation - void DO_MATH_cmdHandler( - const FwOpcodeType opCode, //!< The opcode - const U32 cmdSeq, //!< The command sequence number - F32 val1, //!< The first value - MathOp operation, //!< The operation to perform - F32 val2 //!< The second value - ); - - }; - -} // end namespace Ref - -#endif diff --git a/docs/Tutorials/MathComponent/MathSender/test/ut/Tester.cpp b/docs/Tutorials/MathComponent/MathSender/test/ut/Tester.cpp deleted file mode 100644 index be15213201..0000000000 --- a/docs/Tutorials/MathComponent/MathSender/test/ut/Tester.cpp +++ /dev/null @@ -1,177 +0,0 @@ -// ====================================================================== -// \title MathSender.hpp -// \author tcanham, bocchino -// \brief cpp file for MathSender test harness implementation class -// -// \copyright -// Copyright 2009-2021, by the California Institute of Technology. -// ALL RIGHTS RESERVED. United States Government Sponsorship -// acknowledged. -// -// ====================================================================== - -#include "Tester.hpp" -#include "STest/Pick/Pick.hpp" - -#define INSTANCE 0 -#define MAX_HISTORY_SIZE 10 -#define QUEUE_DEPTH 10 - -namespace Ref { - - // ---------------------------------------------------------------------- - // Construction and destruction - // ---------------------------------------------------------------------- - - Tester :: - Tester() : - MathSenderGTestBase("Tester", MAX_HISTORY_SIZE), - component("MathSender") - { - this->initComponents(); - this->connectPorts(); - } - - Tester :: - ~Tester() - { - - } - - // ---------------------------------------------------------------------- - // Tests - // ---------------------------------------------------------------------- - - F32 Tester :: - pickF32Value() - { - const F32 m = 10e6; - return m * (1.0 - 2 * STest::Pick::inUnitInterval()); - } - - void Tester :: - testAddCommand() - { - this->testDoMath(MathOp::ADD); - } - - void Tester :: - testSubCommand() - { - this->testDoMath(MathOp::SUB); - } - - void Tester :: - testMulCommand() - { - this->testDoMath(MathOp::MUL); - } - - void Tester :: - testDivCommand() - { - this->testDoMath(MathOp::DIV); - } - - void Tester :: - testResult() - { - // Generate an expected result - const F32 result = pickF32Value(); - // reset all telemetry and port history - this->clearHistory(); - // call result port with result - this->invoke_to_mathResultIn(0, result); - // retrieve the message from the message queue and dispatch the command to the handler - this->component.doDispatch(); - // verify one telemetry value was written - ASSERT_TLM_SIZE(1); - // verify the desired telemetry channel was sent once - ASSERT_TLM_RESULT_SIZE(1); - // verify the values of the telemetry channel - ASSERT_TLM_RESULT(0, result); - // verify one event was sent - ASSERT_EVENTS_SIZE(1); - // verify the expected event was sent once - ASSERT_EVENTS_RESULT_SIZE(1); - // verify the expect value of the event - ASSERT_EVENTS_RESULT(0, result); - } - - // ---------------------------------------------------------------------- - // Handlers for typed from ports - // ---------------------------------------------------------------------- - - void Tester :: - from_mathOpOut_handler( - const NATIVE_INT_TYPE portNum, - F32 val1, - const MathOp& op, - F32 val2 - ) - { - this->pushFromPortEntry_mathOpOut(val1, op, val2); - } - - // ---------------------------------------------------------------------- - // Helper methods - // ---------------------------------------------------------------------- - - void Tester :: - testDoMath(MathOp op) - { - - // Pick values - - const F32 val1 = pickF32Value(); - const F32 val2 = pickF32Value(); - - // Send the command - - // pick a command sequence number - const U32 cmdSeq = STest::Pick::any(); - // send DO_MATH command - this->sendCmd_DO_MATH(0, cmdSeq, val1, op, val2); - // retrieve the message from the message queue and dispatch the command to the handler - this->component.doDispatch(); - - // Verify command receipt and response - - // verify command response was sent - ASSERT_CMD_RESPONSE_SIZE(1); - // verify the command response was correct as expected - ASSERT_CMD_RESPONSE(0, MathSenderComponentBase::OPCODE_DO_MATH, cmdSeq, Fw::CmdResponse::OK); - - // Verify operation request on mathOpOut - - // verify that one output port was invoked overall - ASSERT_FROM_PORT_HISTORY_SIZE(1); - // verify that the math operation port was invoked once - ASSERT_from_mathOpOut_SIZE(1); - // verify the arguments of the operation port - ASSERT_from_mathOpOut(0, val1, op, val2); - - // Verify telemetry - - // verify that 3 channels were written - ASSERT_TLM_SIZE(3); - // verify that the desired telemetry values were sent once - ASSERT_TLM_VAL1_SIZE(1); - ASSERT_TLM_VAL2_SIZE(1); - ASSERT_TLM_OP_SIZE(1); - // verify that the correct telemetry values were sent - ASSERT_TLM_VAL1(0, val1); - ASSERT_TLM_VAL2(0, val2); - ASSERT_TLM_OP(0, op); - - // Verify event reports - - // verify that one event was sent - ASSERT_EVENTS_SIZE(1); - // verify the expected event was sent once - ASSERT_EVENTS_COMMAND_RECV_SIZE(1); - // verify the correct event arguments were sent - ASSERT_EVENTS_COMMAND_RECV(0, val1, op, val2); - - } -} // end namespace Ref diff --git a/docs/Tutorials/MathComponent/MathSender/test/ut/Tester.hpp b/docs/Tutorials/MathComponent/MathSender/test/ut/Tester.hpp deleted file mode 100644 index 93bf2fd724..0000000000 --- a/docs/Tutorials/MathComponent/MathSender/test/ut/Tester.hpp +++ /dev/null @@ -1,115 +0,0 @@ -// ====================================================================== -// \title MathSender/test/ut/Tester.hpp -// \author tcanham, bocchino -// \brief hpp file for MathSender test harness implementation class -// -// \copyright -// Copyright 2009-2021, by the California Institute of Technology. -// ALL RIGHTS RESERVED. United States Government Sponsorship -// acknowledged. -// -// ====================================================================== - -#ifndef TESTER_HPP -#define TESTER_HPP - -#include "GTestBase.hpp" -#include "Ref/MathSender/MathSender.hpp" - -namespace Ref { - - class Tester : - public MathSenderGTestBase - { - - // ---------------------------------------------------------------------- - // Construction and destruction - // ---------------------------------------------------------------------- - - public: - // Maximum size of histories storing events, telemetry, and port outputs - static const NATIVE_INT_TYPE MAX_HISTORY_SIZE = 10; - // Instance ID supplied to the component instance under test - static const NATIVE_INT_TYPE TEST_INSTANCE_ID = 0; - // Queue depth supplied to component instance under test - static const NATIVE_INT_TYPE TEST_INSTANCE_QUEUE_DEPTH = 10; - - //! Construct object Tester - //! - Tester(); - - //! Destroy object Tester - //! - ~Tester(); - - public: - - // ---------------------------------------------------------------------- - // Tests - // ---------------------------------------------------------------------- - - //! Test an ADD command - void testAddCommand(); - - //! Test a SUB command - void testSubCommand(); - - //! Test a MUL command - void testMulCommand(); - - //! Test a DIV command - void testDivCommand(); - - //! Test receipt of a result - void testResult(); - - private: - - // ---------------------------------------------------------------------- - // Handlers for typed from ports - // ---------------------------------------------------------------------- - - //! Handler for from_mathOut - //! - void from_mathOpOut_handler( - const NATIVE_INT_TYPE portNum, //!< The port number - F32 val1, //!< First operand - const MathOp& op, //!< operation - F32 val2 //!< Second operand - ); - - private: - - // ---------------------------------------------------------------------- - // Helper methods - // ---------------------------------------------------------------------- - - //! Pick a random value - static F32 pickF32Value(); - - //! Test a DO_MATH command - void testDoMath(MathOp op); - - //! Connect ports - //! - void connectPorts(); - - //! Initialize components - //! - void initComponents(); - - private: - - // ---------------------------------------------------------------------- - // Variables - // ---------------------------------------------------------------------- - - //! The component under test - //! - MathSender component; - - }; - -} // end namespace Ref - -#endif diff --git a/docs/Tutorials/MathComponent/MathSender/test/ut/main.cpp b/docs/Tutorials/MathComponent/MathSender/test/ut/main.cpp deleted file mode 100644 index 7fe0415d25..0000000000 --- a/docs/Tutorials/MathComponent/MathSender/test/ut/main.cpp +++ /dev/null @@ -1,37 +0,0 @@ -// ---------------------------------------------------------------------- -// Main.cpp -// ---------------------------------------------------------------------- - -#include "STest/Random/Random.hpp" -#include "Tester.hpp" - -TEST(Nominal, AddCommand) { - Ref::Tester tester; - tester.testAddCommand(); -} - -TEST(Nominal, SubCommand) { - Ref::Tester tester; - tester.testSubCommand(); -} - -TEST(Nominal, MulCommand) { - Ref::Tester tester; - tester.testMulCommand(); -} - -TEST(Nominal, DivCommand) { - Ref::Tester tester; - tester.testDivCommand(); -} - -TEST(Nominal, Result) { - Ref::Tester tester; - tester.testResult(); -} - -int main(int argc, char **argv) { - ::testing::InitGoogleTest(&argc, argv); - STest::Random::seed(); - return RUN_ALL_TESTS(); -} diff --git a/docs/Tutorials/MathComponent/MathTypes/CMakeLists.txt b/docs/Tutorials/MathComponent/MathTypes/CMakeLists.txt deleted file mode 100644 index 2fc3269205..0000000000 --- a/docs/Tutorials/MathComponent/MathTypes/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -set(SOURCE_FILES - "${CMAKE_CURRENT_LIST_DIR}/MathTypes.fpp" -) - -register_fprime_module() diff --git a/docs/Tutorials/MathComponent/MathTypes/MathTypes.fpp b/docs/Tutorials/MathComponent/MathTypes/MathTypes.fpp deleted file mode 100644 index 32085c868a..0000000000 --- a/docs/Tutorials/MathComponent/MathTypes/MathTypes.fpp +++ /dev/null @@ -1,11 +0,0 @@ -module Ref { - - @ A math operation - enum MathOp { - ADD @< Addition - SUB @< Subtraction - MUL @< Multiplication - DIV @< Division - } - -} diff --git a/docs/Tutorials/MathComponent/README.md b/docs/Tutorials/MathComponent/README.md new file mode 100644 index 0000000000..9abda83483 --- /dev/null +++ b/docs/Tutorials/MathComponent/README.md @@ -0,0 +1,3 @@ +## Welcome + +The MathComponent tutorial has been reworked and moved to [fprime-community/fprime-tutorial-math-component](https://fprime-community.github.io/fprime-tutorial-math-component/) \ No newline at end of file diff --git a/docs/Tutorials/MathComponent/Top/instances.fpp b/docs/Tutorials/MathComponent/Top/instances.fpp deleted file mode 100644 index efd36a3ceb..0000000000 --- a/docs/Tutorials/MathComponent/Top/instances.fpp +++ /dev/null @@ -1,369 +0,0 @@ -module Ref { - - # ---------------------------------------------------------------------- - # Defaults - # ---------------------------------------------------------------------- - - module Default { - - constant queueSize = 10 - - constant stackSize = 16 * 1024 - - } - - # ---------------------------------------------------------------------- - # Active component instances - # ---------------------------------------------------------------------- - - instance blockDrv: Drv.BlockDriver base id 0x0100 \ - queue size Default.queueSize \ - stack size Default.stackSize \ - priority 140 \ - { - - phase Fpp.ToCpp.Phases.instances """ - // Declared in RefTopologyDefs.cpp - """ - - } - - instance rateGroup1Comp: Svc.ActiveRateGroup base id 0x0200 \ - queue size Default.queueSize \ - stack size Default.stackSize \ - priority 120 \ - { - - phase Fpp.ToCpp.Phases.configObjects """ - NATIVE_INT_TYPE context[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - """ - - phase Fpp.ToCpp.Phases.configComponents """ - rateGroup1Comp.configure( - ConfigObjects::rateGroup1Comp::context, - FW_NUM_ARRAY_ELEMENTS(ConfigObjects::rateGroup1Comp::context) - ); - """ - - } - - instance rateGroup2Comp: Svc.ActiveRateGroup base id 0x0300 \ - queue size Default.queueSize \ - stack size Default.stackSize \ - priority 119 \ - { - - phase Fpp.ToCpp.Phases.configObjects """ - NATIVE_INT_TYPE context[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - """ - - phase Fpp.ToCpp.Phases.configComponents """ - rateGroup2Comp.configure( - ConfigObjects::rateGroup2Comp::context, - FW_NUM_ARRAY_ELEMENTS(ConfigObjects::rateGroup2Comp::context) - ); - """ - - } - - instance rateGroup3Comp: Svc.ActiveRateGroup base id 0x0400 \ - queue size Default.queueSize \ - stack size Default.stackSize \ - priority 118 \ - { - - phase Fpp.ToCpp.Phases.configObjects """ - NATIVE_INT_TYPE context[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - """ - - phase Fpp.ToCpp.Phases.configComponents """ - rateGroup3Comp.configure( - ConfigObjects::rateGroup3Comp::context, - FW_NUM_ARRAY_ELEMENTS(ConfigObjects::rateGroup3Comp::context) - ); - """ - - } - - instance cmdDisp: Svc.CommandDispatcher base id 0x0500 \ - queue size 20 \ - stack size Default.stackSize \ - priority 101 - - instance cmdSeq: Svc.CmdSequencer base id 0x0600 \ - queue size Default.queueSize \ - stack size Default.stackSize \ - priority 100 \ - { - - phase Fpp.ToCpp.Phases.configConstants """ - enum { - BUFFER_SIZE = 5*1024 - }; - """ - - phase Fpp.ToCpp.Phases.configComponents """ - cmdSeq.allocateBuffer( - 0, - Allocation::mallocator, - ConfigConstants::cmdSeq::BUFFER_SIZE - ); - """ - - phase Fpp.ToCpp.Phases.tearDownComponents """ - cmdSeq.deallocateBuffer(Allocation::mallocator); - """ - - } - - instance fileDownlink: Svc.FileDownlink base id 0x0700 \ - queue size 30 \ - stack size Default.stackSize \ - priority 100 \ - { - - phase Fpp.ToCpp.Phases.configConstants """ - enum { - TIMEOUT = 1000, - COOLDOWN = 1000, - CYCLE_TIME = 1000, - FILE_QUEUE_DEPTH = 10 - }; - """ - - phase Fpp.ToCpp.Phases.configComponents """ - fileDownlink.configure( - ConfigConstants::fileDownlink::TIMEOUT, - ConfigConstants::fileDownlink::COOLDOWN, - ConfigConstants::fileDownlink::CYCLE_TIME, - ConfigConstants::fileDownlink::FILE_QUEUE_DEPTH - ); - """ - - } - - instance fileManager: Svc.FileManager base id 0x0800 \ - queue size 30 \ - stack size Default.stackSize \ - priority 100 - - instance fileUplink: Svc.FileUplink base id 0x0900 \ - queue size 30 \ - stack size Default.stackSize \ - priority 100 - - instance pingRcvr: Ref.PingReceiver base id 0x0A00 \ - queue size Default.queueSize \ - stack size Default.stackSize \ - priority 100 - - instance eventLogger: Svc.ActiveLogger base id 0x0B00 \ - queue size Default.queueSize \ - stack size Default.stackSize \ - priority 98 - - instance chanTlm: Svc.TlmChan base id 0x0C00 \ - queue size Default.queueSize \ - stack size Default.stackSize \ - priority 97 - - instance prmDb: Svc.PrmDb base id 0x0D00 \ - queue size Default.queueSize \ - stack size Default.stackSize \ - priority 96 \ - { - - phase Fpp.ToCpp.Phases.instances """ - Svc::PrmDb prmDb(FW_OPTIONAL_NAME("prmDb"), "PrmDb.dat"); - """ - - phase Fpp.ToCpp.Phases.readParameters """ - prmDb.readParamFile(); - """ - - } - - instance mathSender: Ref.MathSender base id 0xE00 \ - queue size Default.queueSize \ - stack size Default.stackSize \ - priority 100 - - # ---------------------------------------------------------------------- - # Queued component instances - # ---------------------------------------------------------------------- - - instance $health: Svc.Health base id 0x2000 \ - queue size 25 \ - { - - phase Fpp.ToCpp.Phases.configConstants """ - enum { - WATCHDOG_CODE = 0x123 - }; - """ - - phase Fpp.ToCpp.Phases.configComponents """ - health.setPingEntries( - ConfigObjects::health::pingEntries, - FW_NUM_ARRAY_ELEMENTS(ConfigObjects::health::pingEntries), - ConfigConstants::health::WATCHDOG_CODE - ); - """ - - } - - instance SG1: Ref.SignalGen base id 0x2100 \ - queue size Default.queueSize - - instance SG2: Ref.SignalGen base id 0x2200 \ - queue size Default.queueSize - - instance SG3: Ref.SignalGen base id 0x2300 \ - queue size Default.queueSize - - instance SG4: Ref.SignalGen base id 0x2400 \ - queue size Default.queueSize - - instance SG5: Ref.SignalGen base id 0x2500 \ - queue size Default.queueSize - - instance sendBuffComp: Ref.SendBuff base id 0x2600 \ - queue size Default.queueSize - - instance mathReceiver: Ref.MathReceiver base id 0x2700 \ - queue size Default.queueSize - - # ---------------------------------------------------------------------- - # Passive component instances - # ---------------------------------------------------------------------- - - @ Communications driver. May be swapped with other comm drivers like UART - @ Note: Here we have TCP reliable uplink and UDP (low latency) downlink - instance comm: Drv.ByteStreamDriverModel base id 0x4000 \ - at "../../Drv/TcpClient/TcpClient.hpp" \ - { - - phase Fpp.ToCpp.Phases.instances """ - Drv::TcpClient comm(FW_OPTIONAL_NAME("comm")); - """ - - phase Fpp.ToCpp.Phases.configConstants """ - enum { - PRIORITY = 100, - STACK_SIZE = Default::stackSize - }; - """ - - phase Fpp.ToCpp.Phases.startTasks """ - // Initialize socket server if and only if there is a valid specification - if (state.hostName != nullptr && state.portNumber != 0) { - Os::TaskString name("ReceiveTask"); - // Uplink is configured for receive so a socket task is started - comm.configure(state.hostName, state.portNumber); - comm.startSocketTask( - name, - ConfigConstants::comm::PRIORITY, - ConfigConstants::comm::STACK_SIZE - ); - } - """ - - phase Fpp.ToCpp.Phases.freeThreads """ - comm.stopSocketTask(); - (void) comm.joinSocketTask(nullptr); - """ - - } - - instance downlink: Svc.Framer base id 0x4100 { - - phase Fpp.ToCpp.Phases.configObjects """ - Svc::FprimeFraming framing; - """ - - phase Fpp.ToCpp.Phases.configComponents """ - downlink.setup(ConfigObjects::downlink::framing); - """ - - } - - instance fatalAdapter: Svc.AssertFatalAdapter base id 0x4200 - - instance fatalHandler: Svc.FatalHandler base id 0x4300 - - instance fileUplinkBufferManager: Svc.BufferManager base id 0x4400 { - - phase Fpp.ToCpp.Phases.configConstants """ - enum { - STORE_SIZE = 3000, - QUEUE_SIZE = 30, - MGR_ID = 200 - }; - """ - - phase Fpp.ToCpp.Phases.configComponents """ - Svc::BufferManager::BufferBins upBuffMgrBins; - memset(&upBuffMgrBins, 0, sizeof(upBuffMgrBins)); - { - using namespace ConfigConstants::fileUplinkBufferManager; - upBuffMgrBins.bins[0].bufferSize = STORE_SIZE; - upBuffMgrBins.bins[0].numBuffers = QUEUE_SIZE; - fileUplinkBufferManager.setup( - MGR_ID, - 0, - Allocation::mallocator, - upBuffMgrBins - ); - } - """ - - phase Fpp.ToCpp.Phases.tearDownComponents """ - fileUplinkBufferManager.cleanup(); - """ - - } - - instance linuxTime: Svc.Time base id 0x4500 \ - at "../../Svc/LinuxTime/LinuxTime.hpp" \ - { - - phase Fpp.ToCpp.Phases.instances """ - Svc::LinuxTime linuxTime(FW_OPTIONAL_NAME("linuxTime")); - """ - - } - - instance rateGroupDriverComp: Svc.RateGroupDriver base id 0x4600 { - - phase Fpp.ToCpp.Phases.configObjects """ - NATIVE_INT_TYPE rgDivs[Svc::RateGroupDriver::DIVIDER_SIZE] = { 1, 2, 4 }; - """ - - phase Fpp.ToCpp.Phases.configComponents """ - rateGroupDriverComp.configure( - ConfigObjects::rateGroupDriverComp::rgDivs, - FW_NUM_ARRAY_ELEMENTS(ConfigObjects::rateGroupDriverComp::rgDivs) - ); - """ - - } - - instance recvBuffComp: Ref.RecvBuff base id 0x4700 - - instance staticMemory: Svc.StaticMemory base id 0x4800 - - instance textLogger: Svc.PassiveTextLogger base id 0x4900 - - instance uplink: Svc.Deframer base id 0x4A00 { - - phase Fpp.ToCpp.Phases.configObjects """ - Svc::FprimeDeframing deframing; - """ - - phase Fpp.ToCpp.Phases.configComponents """ - uplink.setup(ConfigObjects::uplink::deframing); - """ - - } - -} diff --git a/docs/Tutorials/MathComponent/Top/topology.fpp b/docs/Tutorials/MathComponent/Top/topology.fpp deleted file mode 100644 index c6ab2274aa..0000000000 --- a/docs/Tutorials/MathComponent/Top/topology.fpp +++ /dev/null @@ -1,160 +0,0 @@ -module Ref { - - # ---------------------------------------------------------------------- - # Symbolic constants for port numbers - # ---------------------------------------------------------------------- - - enum Ports_RateGroups { - rateGroup1 - rateGroup2 - rateGroup3 - } - - enum Ports_StaticMemory { - downlink - uplink - } - - topology Ref { - - # ---------------------------------------------------------------------- - # Instances used in the topology - # ---------------------------------------------------------------------- - - instance $health - instance SG1 - instance SG2 - instance SG3 - instance SG4 - instance SG5 - instance blockDrv - instance chanTlm - instance cmdDisp - instance cmdSeq - instance comm - instance downlink - instance eventLogger - instance fatalAdapter - instance fatalHandler - instance fileDownlink - instance fileManager - instance fileUplink - instance fileUplinkBufferManager - instance linuxTime - instance mathReceiver - instance mathSender - instance pingRcvr - instance prmDb - instance rateGroup1Comp - instance rateGroup2Comp - instance rateGroup3Comp - instance rateGroupDriverComp - instance recvBuffComp - instance sendBuffComp - instance staticMemory - instance textLogger - instance uplink - - # ---------------------------------------------------------------------- - # Pattern graph specifiers - # ---------------------------------------------------------------------- - - command connections instance cmdDisp - - event connections instance eventLogger - - param connections instance prmDb - - telemetry connections instance chanTlm - - text event connections instance textLogger - - time connections instance linuxTime - - health connections instance $health - - # ---------------------------------------------------------------------- - # Direct graph specifiers - # ---------------------------------------------------------------------- - - connections Downlink { - - chanTlm.PktSend -> downlink.comIn - eventLogger.PktSend -> downlink.comIn - fileDownlink.bufferSendOut -> downlink.bufferIn - - downlink.framedAllocate -> staticMemory.bufferAllocate[Ports_StaticMemory.downlink] - downlink.framedOut -> comm.send - downlink.bufferDeallocate -> fileDownlink.bufferReturn - - comm.deallocate -> staticMemory.bufferDeallocate[Ports_StaticMemory.downlink] - - } - - connections FaultProtection { - eventLogger.FatalAnnounce -> fatalHandler.FatalReceive - } - - connections RateGroups { - - # Block driver - blockDrv.CycleOut -> rateGroupDriverComp.CycleIn - - # Rate group 1 - rateGroupDriverComp.CycleOut[Ports_RateGroups.rateGroup1] -> rateGroup1Comp.CycleIn - rateGroup1Comp.RateGroupMemberOut[0] -> SG1.schedIn - rateGroup1Comp.RateGroupMemberOut[1] -> SG2.schedIn - rateGroup1Comp.RateGroupMemberOut[2] -> chanTlm.Run - rateGroup1Comp.RateGroupMemberOut[3] -> fileDownlink.Run - rateGroup1Comp.RateGroupMemberOut[4] -> mathReceiver.schedIn - - # Rate group 2 - rateGroupDriverComp.CycleOut[Ports_RateGroups.rateGroup2] -> rateGroup2Comp.CycleIn - rateGroup2Comp.RateGroupMemberOut[0] -> cmdSeq.schedIn - rateGroup2Comp.RateGroupMemberOut[1] -> sendBuffComp.SchedIn - rateGroup2Comp.RateGroupMemberOut[2] -> SG3.schedIn - rateGroup2Comp.RateGroupMemberOut[3] -> SG4.schedIn - - # Rate group 3 - rateGroupDriverComp.CycleOut[Ports_RateGroups.rateGroup3] -> rateGroup3Comp.CycleIn - rateGroup3Comp.RateGroupMemberOut[0] -> $health.Run - rateGroup3Comp.RateGroupMemberOut[1] -> SG5.schedIn - rateGroup3Comp.RateGroupMemberOut[2] -> blockDrv.Sched - rateGroup3Comp.RateGroupMemberOut[3] -> fileUplinkBufferManager.schedIn - - } - - connections Ref { - sendBuffComp.Data -> blockDrv.BufferIn - blockDrv.BufferOut -> recvBuffComp.Data - } - - connections Sequencer { - cmdSeq.comCmdOut -> cmdDisp.seqCmdBuff - cmdDisp.seqCmdStatus -> cmdSeq.cmdResponseIn - } - - connections Uplink { - - comm.allocate -> staticMemory.bufferAllocate[Ports_StaticMemory.uplink] - comm.$recv -> uplink.framedIn - uplink.framedDeallocate -> staticMemory.bufferDeallocate[Ports_StaticMemory.uplink] - - uplink.comOut -> cmdDisp.seqCmdBuff - cmdDisp.seqCmdStatus -> uplink.cmdResponseIn - - uplink.bufferAllocate -> fileUplinkBufferManager.bufferGetCallee - uplink.bufferOut -> fileUplink.bufferSendIn - uplink.bufferDeallocate -> fileUplinkBufferManager.bufferSendIn - fileUplink.bufferSendOut -> fileUplinkBufferManager.bufferSendIn - - } - - connections Math { - mathSender.mathOpOut -> mathReceiver.mathOpIn - mathReceiver.mathResultOut -> mathSender.mathResultIn - } - - } - -} diff --git a/docs/Tutorials/MathComponent/Tutorial.md b/docs/Tutorials/MathComponent/Tutorial.md deleted file mode 100644 index f254ed2fce..0000000000 --- a/docs/Tutorials/MathComponent/Tutorial.md +++ /dev/null @@ -1,2320 +0,0 @@ -# F' Math Component Tutorial - -## Table of Contents - -* 1. Introduction -* 2. The MathOp Type - * 2.1. Construct the FPP Model - * 2.2. Add the Model to the Project - * 2.3. Build the Model - * 2.4. Reference Implementation -* 3. The MathOp and MathResult Ports - * 3.1. Construct the FPP Model - * 3.2. Add the Model to the Project - * 3.3. Build the Model - * 3.4. Reference Implementation -* 4. The MathSender Component - * 4.1. Construct the FPP Model - * 4.2. Add the Model to the Project - * 4.3. Build the Stub Implementation - * 4.4. Complete the Implementation - * 4.5. Write and Run Unit Tests - * 4.5.1. Set Up the Unit Test Environment - * 4.5.2. Write and Run One Test - * 4.5.3. Write and Run More Tests - * 4.5.4. Exercise: Random Testing - * 4.6. Reference Implementation -* 5. The MathReceiver Component - * 5.1. Construct the FPP Model - * 5.2. Add the Model to the Project - * 5.3. Build the Stub Implementation - * 5.4. Complete the Implementation - * 5.5. Write and Run Unit Tests - * 5.5.1. Set up the Unit Test Environment - * 5.5.2. Add Helper Code - * 5.5.3. Write and Run Tests - * 5.6. Reference Implementation - * 5.7. Exercises - * 5.7.1. Adding Telemetry - * 5.7.2. Error Handling -* 6. Updating the Ref Deployment - * 6.1. Defining the Component Instances - * 6.2. Updating the Topology - * 6.3. Building the Ref Deployment - * 6.4. Visualizing the Ref Topology - * 6.5. Reference Implementation -* 7. Running the Ref Deployment - * 7.1. Sending a Command - * 7.2. Checking Events - * 7.3. Checking Telemetry - * 7.4. Setting Parameters - * 7.5. Saving Parameters - * 7.6. GDS Logs -* 8. Conclusion - - -## 1. Introduction - -This tutorial shows how to develop, test, and deploy a simple topology -consisting of two components: - -1. `MathSender`: A component that receives commands and forwards work to - `MathReceiver`. - -1. `MathReceiver`: A component that carries out arithmetic operations and - returns the results to `MathSender`. - -See the diagram below. - - -![A simple topology for arithmetic computation](png/top.png) - -**What is covered:** The tutorial covers the following concepts: - -1. Using the [FPP modeling language](https://fprime-community.github.io/fpp) to - specify the types and ports used by the components. - -1. Using the F Prime build system to build the types and ports. - -1. Developing the `MathSender` component: Specifying the component, building - the component, completing the C++ component implementation, and writing - component unit tests. - -1. Developing the `MathReceiver` component. - -1. Adding the new components and connections to the F Prime `Ref` application. - -1. Using the F Prime Ground Data System (GDS) to run the updated `Ref` - application. - -**Prerequisites:** This tutorial assumes the following: - -1. Basic knowledge of Unix: How to navigate in a shell and execute programs. - -1. Basic knowledge of git: How to create a branch. - -1. Basic knowledge of C++, including class declarations, inheritance, -and virtual functions. - -If you have not yet installed F Prime on your system, do so now. -Follow the installation guide at `INSTALL.md` -in the [F Prime git repository](https://github.com/nasa/fprime). -You may also wish to work through the Getting Started tutorial at -`docs/GettingStarted/Tutorial.md`. - -**Version control:** -Working on this tutorial will modify some files under version control -in the F Prime git repository. -Therefore it is a good idea to do this work on a new branch. -For example: - -```bash -git checkout -b math-tutorial -``` - -If you wish, you can save your work by committing to this branch. - - -## 2. The MathOp Type - -In F Prime, a **type definition** defines a kind of data that you can pass -between components or use in commands and telemetry. - -For this tutorial, we need one type definition. -It defines an enumeration called `MathOp`, which -represents a mathematical operation. - -We will add the specification for the `MathOp` type to the -`Ref` topology. -We will do this in three stages: - -1. Construct the FPP model. - -1. Add the model to the project. - -1. Build the model. - - -### 2.1. Construct the FPP Model - -**Create the MathTypes directory:** -Go to the directory `Ref` at the top-level of the -F Prime repository and run `mkdir MathTypes`. -This step creates a new directory `Ref/MathTypes`. -This directory will contain our new type. - -**Create the FPP model file:** -Now go into the directory `Ref/MathTypes`. -In that directory, create a file `MathTypes.fpp` with the following contents: - -```fpp -module Ref { - - @ A math operation - enum MathOp { - ADD @< Addition - SUB @< Subtraction - MUL @< Multiplication - DIV @< Division - } - -} -``` - -You can do this by typing, or by copy-paste. - -This file defines an enumeration or **enum** with enumerated constants `ADD`, -`SUB`, `MUL`, and `DIV`. -These four constants represent the operations of addition, subtraction, -multiplication, and division. -The enum also defines a type `MathOp`; the enumerated constants are the values -of this type. -For more information on enums, see [_The FPP User's -Guide_](https://fprime-community.github.io/fpp/fpp-users-guide.html#Defining-Enums). - -The enum `MathTypes` resides in an FPP module `Ref`. - -An FPP module is like a C++ namespace: it encloses several definitions, each of -which is qualified with the name of the module. -For more information on FPP modules, see [_The FPP User's -Guide_](https://fprime-community.github.io/fpp/fpp-users-guide.html#Defining-Modules). - -The text following a symbol `@` or `@<` is called an **annotation**. -These annotations are carried through the parsing and become comments in the -generated code. -For more information, see [_The FPP User's -Guide_](https://fprime-community.github.io/fpp/fpp-users-guide.html#Writing-Comments-and-Annotations). - - - -### 2.2. Add the Model to the Project - -**Create Ref/MathTypes/CMakeLists.txt:** -Create a file `Ref/MathTypes/CMakeLists.txt` with the following contents: - -```cmake -set(SOURCE_FILES - "${CMAKE_CURRENT_LIST_DIR}/MathTypes.fpp" -) - -register_fprime_module() -``` - -This code will tell the build system how to build the FPP model. - -**Update Ref/CMakeLists.txt:** -Now we need to add the new directory to the `Ref` project. -To do that, open the file `Ref/CMakeLists.txt`. -This file should already exist; it was put there by the developers -of the `Ref` topology. -In this file, you should see several lines starting with `add_fprime_subdirectory`. -Immediately after the last of those lines, add the following new line: - -```cmake -add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/MathTypes/") -``` - - - -### 2.3. Build the Model - -**Run the build:** -Do the following: - -1. Go to the directory `Ref/MathTypes`. - -1. If you have not already run `fprime-util generate`, then do so now. - -1. Run the command `fprime-util build`. - -The output should indicate that the model built without any errors. -If not, try to identify and correct what is wrong, -either by deciphering the error output, or by going over the steps again. -If you get stuck, you can look at the -reference implementation. - -**Inspect the generated code:** -Now go to the directory `Ref/build-fprime-automatic-native/Ref/MathTypes` -(you may want to use `pushd`, or do this in a separate shell, -so you don't lose your current working directory). -The directory `build-fprime-automatic-native` is where all the -generated code lives for the "automatic native" build of the `Ref` -project. -Within that directory is a directory tree that mirrors the project -structure. -In particular, `Ref/build-fprime-automatic-native/Ref/MathTypes` -contains the generated code for `Ref/MathTypes`. - -Run `ls`. -You should see something like this: - -```bash -CMakeFiles MathOpEnumAc.cpp MathOpEnumAi.xml.prev cmake_install.cmake -Makefile MathOpEnumAc.hpp autocoder -``` - -The files `MathOpEnumAc.hpp` and -`MathOpEnumAc.cpp` are the auto-generated C++ files -corresponding to the `MathOp` enum. -You may wish to study the file `MathOpEnumAc.hpp`. -This file gives the interface to the C++ class `Ref::MathOp`. -All enum types have a similar auto-generated class -interface. - - - -### 2.4. Reference Implementation - -A reference implementation for this section is available at -`docs/Tutorials/MathComponent/MathTypes`. -To build this implementation from a clean repository, -do the following: - -1. Go to the `Ref` directory. - -1. Run `cp -R ../docs/Tutorials/MathComponent/MathTypes .` - -1. Update `Ref/CMakeLists.txt` as stated above. - -1. Follow the steps for building the model. - -If you have modified the repo, revise the steps accordingly. -For example, switch git branches, use `git stash` to stash -your changes, or move `MathTypes` to another directory such -as `MathTypes-saved`. - - - -## 3. The MathOp and MathResult Ports - -A **port** is the endpoint of a connection between -two components. -A **port definition** is like a function signature; -it defines the type of the data carried on a port. - -For this tutorial, we need two port definitions: - -* `MathOp` for sending an arithmetic operation request from -`MathSender` to `MathReceiver`. - -* `MathResult` for sending the result of an arithmetic -operation from `MathReceiver` to `MathSender`. - -We follow the same three steps as in the previous section. - - -### 3.1. Construct the FPP Model - -**Create the MathPorts directory:** -Go to the directory `Ref` at the top-level of the -F Prime repository and run `mkdir MathPorts`. -This directory will contain our new ports. - -**Create the FPP model file:** -Now go into the directory `Ref/MathPorts`. -Create a file `MathPorts.fpp` with the following contents: - -```fpp -module Ref { - - @ Port for requesting an operation on two numbers - port MathOp( - val1: F32 @< The first operand - op: MathOp @< The operation - val2: F32 @< The second operand - ) - - @ Port for returning the result of a math operation - port MathResult( - result: F32 @< the result of the operation - ) - -} -``` - -This file defines the ports `MathOp` and `MathResult`. -`MathOp` has three formal parameters: a first operand, an -operation, and a second operand. -The operands have type `F32`, which represents a 32-bit -floating-point number. -The operation has type `MathOp`, which is the enum type -we defined in the previous section. -`MathResult` has a single formal parameter, the value of type `F32` -returned as the result of the operation. - -For more information about port definitions, see -[_The FPP User's Guide_](https://fprime-community.github.io/fpp/fpp-users-guide.html#Defining-Ports). - - -### 3.2. Add the Model to the Project - -Add add the model -`Ref/MathPorts/MathPorts.fpp` to the `Ref` project. -Carry out the steps in the -previous section, after -substituting `MathPorts` for `MathTypes`. - - -### 3.3. Build the Model - -Carry out the steps in the -previous section, -in directory `MathPorts` instead of `MathTypes`. -The generated code will go in -`Ref/build-fprime-automatic-native/Ref/MathPorts`. -For port definitions, the names of the auto-generated C++ -files end in `PortAc.hpp` and `PortAc.cpp`. -You can look at this code if you wish. -However, the auto-generated C++ port files are used -by the autocoded component implementations (described below); -you won't ever program directly against their interfaces. - - -### 3.4. Reference Implementation - -A reference implementation for this section is available at -`docs/Tutorials/MathComponent/MathPorts`. -To build this implementation, follow the steps -described for `MathTypes`. - - - -## 4. The MathSender Component - -Now we can build and test the `MathSender` component. -There are five steps: - -1. Construct the FPP model. -1. Add the model to the project. -1. Build the stub implementation. -1. Complete the implementation. -1. Write and run unit tests. - - -### 4.1. Construct the FPP Model - -**Create the MathSender directory:** -Go to the directory `Ref` at the top-level of the -F Prime repository. -Run `mkdir MathSender` to create a directory for the new component. - -**Create the FPP model file:** -Now go into the directory `Ref/MathSender`. -Create a file `MathSender.fpp` with the following contents: - -```fpp -module Ref { - - @ Component for sending a math operation - active component MathSender { - - # ---------------------------------------------------------------------- - # General ports - # ---------------------------------------------------------------------- - - @ Port for sending the operation request - output port mathOpOut: MathOp - - @ Port for receiving the result - async input port mathResultIn: MathResult - - # ---------------------------------------------------------------------- - # Special ports - # ---------------------------------------------------------------------- - - @ Command receive port - command recv port cmdIn - - @ Command registration port - command reg port cmdRegOut - - @ Command response port - command resp port cmdResponseOut - - @ Event port - event port eventOut - - @ Telemetry port - telemetry port tlmOut - - @ Text event port - text event port textEventOut - - @ Time get port - time get port timeGetOut - - # ---------------------------------------------------------------------- - # Commands - # ---------------------------------------------------------------------- - - @ Do a math operation - async command DO_MATH( - val1: F32 @< The first operand - op: MathOp @< The operation - val2: F32 @< The second operand - ) - - # ---------------------------------------------------------------------- - # Events - # ---------------------------------------------------------------------- - - @ Math command received - event COMMAND_RECV( - val1: F32 @< The first operand - op: MathOp @< The operation - val2: F32 @< The second operand - ) \ - severity activity low \ - format "Math command received: {f} {} {f}" - - @ Received math result - event RESULT( - result: F32 @< The math result - ) \ - severity activity high \ - format "Math result is {f}" - - # ---------------------------------------------------------------------- - # Telemetry - # ---------------------------------------------------------------------- - - @ The first value - telemetry VAL1: F32 - - @ The operation - telemetry OP: MathOp - - @ The second value - telemetry VAL2: F32 - - @ The result - telemetry RESULT: F32 - - } - -} -``` - -This code defines a component `Ref.MathSender`. -The component is **active**, which means it has its -own thread. - -Inside the definition of the `MathSender` component are -several specifiers. -We have divided the specifiers into five groups: - -1. **General ports:** These are user-defined ports for -application-specific functions. -There are two general ports: an output port `mathOpOut` -of type `MathOp` and an input port `mathResultIn` of -type `MathResult`. -Notice that these port specifiers use the ports that -we defined above. -The input port is **asynchronous**. -This means that invoking the port (i.e., sending -data on the port) puts a message on a queue. -The handler runs later, on the thread of this component. - -1. **Special ports:** These are ports that have a special -meaning in F Prime. -There are ports for registering commands with the dispatcher, -receiving commands, sending command responses, emitting -event reports, emitting telemetry, and getting the time. - -1. **Commands:** These are commands sent from the ground -or from a sequencer and dispatched to this component. -There is one command `DO_MATH` for doing a math operation. -The command is asynchronous. -This means that when the command arrives, it goes on a queue -and its handler is later run on the thread of this component. - -1. **Events:** These are event reports that this component -can emit. -There are two event reports, one for receiving a command -and one for receiving a result. - -1. **Telemetry:** These are **channels** that define telemetry -points that the this component can emit. -There are four telemetry channels: three for the arguments -to the last command received and one for the last -result received. - -For more information on defining components, see -[_The FPP User's Guide_](https://fprime-community.github.io/fpp/fpp-users-guide.html#Defining-Components). - - - -### 4.2. Add the Model to the Project - -**Create Ref/MathSender/CMakeLists.txt:** -Create a file `Ref/MathSender/CMakeLists.txt` with the following contents: - -```cmake -# Register the standard build -set(SOURCE_FILES - "${CMAKE_CURRENT_LIST_DIR}/MathSender.cpp" - "${CMAKE_CURRENT_LIST_DIR}/MathSender.fpp" -) -register_fprime_module() -``` - -This code will tell the build system how to build the FPP model -and component implementation. - -**Update Ref/CMakeLists.txt:** -Add `Ref/MathSender` to `Ref/CMakeLists.txt`, as we did -for `Ref/MathTypes`. - - - -### 4.3. Build the Stub Implementation - -**Run the build:** -Go into the directory `Ref/MathSender`. -Run the following commands: - -```bash -touch MathSender.cpp -fprime-util impl -``` - -The first command creates an empty file `MathSender.cpp`. -The build rules we wrote in the previous section expect -this file to be there. -After the second command, the build system should -run for a bit. -At the end there should be two new files -in the directory: -`MathSender.cpp-template` and -`MathSender.hpp-template`. - -Run the following commands: - -```bash -mv MathSender.cpp-template MathSender.cpp -mv MathSender.hpp-template MathSender.hpp -``` - -These commands produce a template, or stub implementation, -of the `MathSender` implementation class. -You will fill in this implementation class below. - -Now run the command `fprime-util build --jobs 4`. -The model and the stub implementation should build. -The option `--jobs 4` says to use four cores for the build. -This should make the build go faster. -You can use any number after `--jobs`, up to the number -of cores available on your system. - -**Inspect the generated code:** -The generated code resides in the directory -`Ref/fprime-build-automatic-native-ut/Ref/MathSender`. -You may wish to look over the file `MathSenderComponentAc.hpp` -to get an idea of the interface to the auto-generated -base class `MathSenderComponentBase`. -The `MathSender` implementation class is a derived class -of this base class. - - -### 4.4. Complete the Implementation - -Now we can complete the stub implementation. -In an editor, open the file `MathSender.cpp`. - -**Fill in the DO_MATH command handler:** -You should see a stub handler for the `DO_MATH` -command that looks like this: - -```c++ -void MathSender :: - DO_MATH_cmdHandler( - const FwOpcodeType opCode, - const U32 cmdSeq, - F32 val1, - MathOp op, - F32 val2 - ) -{ - // TODO - this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); -} -``` - -The handler `DO_MATH_handler` is called when the `MathSender` -component receives a `DO_MATH` command. -This handler overrides the corresponding pure virtual -function in the auto-generated base class. -Fill in the handler so that it looks like this: - -```c++ -void MathSender :: - DO_MATH_cmdHandler( - const FwOpcodeType opCode, - const U32 cmdSeq, - F32 val1, - MathOp op, - F32 val2 - ) -{ - this->tlmWrite_VAL1(val1); - this->tlmWrite_OP(op); - this->tlmWrite_VAL2(val2); - this->log_ACTIVITY_LO_COMMAND_RECV(val1, op, val2); - this->mathOpOut_out(0, val1, op, val2); - this->cmdResponse_out(opCode, cmdSeq, Fw::CmdResponse::OK); -} -``` - -The first two arguments to the handler function provide -the command opcode and the command sequence number -(a unique identifier generated by the command dispatcher). -The remaining arguments are supplied when the command is sent, -for example, from the F Prime ground data system (GDS). -The implementation code does the following: - -1. Emit telemetry and events. - -1. Invoke the `mathOpOut` port to request that `MathReceiver` -perform the operation. - -1. Send a command response indicating success. -The command response goes out on the special port -`cmdResponseOut`. - -In F Prime, every execution of a command handler must end by -sending a command response. -The proper behavior of other framework components (e.g., command -dispatcher, command sequencer) depends upon adherence to this rule. - -**Check the build:** -Run `fprime-util build` again to make sure that everything still builds. - -**Fill in the mathResultIn handler:** -You should see a stub handler for the `mathResultIn` -port that looks like this: - -```c++ -void MathSender :: - mathResultIn_handler( - const NATIVE_INT_TYPE portNum, - F32 result - ) -{ - // TODO -} -``` - -The handler `mathResultIn_handler` is called when the `MathReceiver` -component code returns a result by invoking the `mathResultIn` port. -Again the handler overrides the corresponding pure virtual -function in the auto-generated base class. -Fill in the handler so that it looks like this: - -```c++ -void MathSender :: - mathResultIn_handler( - const NATIVE_INT_TYPE portNum, - F32 result - ) -{ - this->tlmWrite_RESULT(result); - this->log_ACTIVITY_HI_RESULT(result); -} -``` - -The implementation code emits the result on the `RESULT` -telemetry channel and as a `RESULT` event report. - -**Check the build:** -Run `fprime-util build`. - - - -### 4.5. Write and Run Unit Tests - -**Unit tests** are an important part of FSW development. -At the component level, unit tests typically invoke input ports, send commands, -and check for expected values on output ports (including telemetry and event -ports). - -We will carry out the unit testing for the `MathSender` component -in three steps: - -1. Set up the unit test environment - -1. Write and run one unit test - -1. Write and run additional unit tests - - - -#### 4.5.1. Set Up the Unit Test Environment - -**Create the stub Tester class:** -In the directory `Ref/MathSender`, run `mkdir -p test/ut`. -This will create the directory where -the unit tests will reside. - -**Update Ref/MathSender/CMakeLists.txt:** -Go back to the directory `Ref/MathSender`. -Add the following lines to `CMakeLists.txt`: - -```cmake -# Register the unit test build -set(UT_SOURCE_FILES - "${CMAKE_CURRENT_LIST_DIR}/MathSender.fpp" -) -set(UT_AUTO_HELPERS ON) -register_fprime_ut() -``` - -**Generate the unit test stub:** -We will now generate a stub implementation of the unit tests. -This stub contains all the boilerplate necessary to write and -run unit tests against the `MathSender` component. -In a later step, we will fill in the stub with tests. - -1. If you have not yet run `fprime-util generate --ut`, - then do so now. This step generates the CMake build cache for the unit - tests. - -1. Run the command `fprime-util impl --ut`. - It should generate files `Tester.cpp`, `Tester.hpp`, and `TestMain.cpp`. - -1. Move these files to the `test/ut` directory: - - ```bash - mv Tester.* TestMain.cpp test/ut - ``` - -**Update Ref/MathSender/CMakeLists.txt:** -Open `MathSender/CMakeLists.txt` and update the definition of -`UT_SOURCE_FILES` by adding your new test files: - -```cmake -# Register the unit test build -set(UT_SOURCE_FILES - "${CMAKE_CURRENT_LIST_DIR}/MathSender.fpp" - "${CMAKE_CURRENT_LIST_DIR}/test/ut/Tester.cpp" - "${CMAKE_CURRENT_LIST_DIR}/test/ut/TestMain.cpp" -) -set(UT_AUTO_HELPERS ON) -register_fprime_ut() -``` - -**Run the build:** -Now we can check that the unit test build is working. -Run `fprime-util build --ut`. -Everything should build without errors. - -**Inspect the generated code:** -The unit test build generates some code to support unit testing. -The code is located at `Ref/build-fprime-automatic-native-ut/Ref/MathSender`. -This directory contains two auto-generated classes: - -1. `MathSenderGTestBase`: This is the direct base -class of `Tester`. -It provides a test interface implemented with Google Test -macros. - -1. `MathSenderTesterBase`: This is the direct base -class of `MathSenderGTestBase`. -It provides basic features such as histories of port -invocations. -It is not specific to Google Test, so you can -use this class without Google Test if desired. - -You can look at the header files for these generated classes -to see what operations they provide. -In the next sections we will provide some example uses -of these operations. - - -#### 4.5.2. Write and Run One Test - -Now we will write a unit test that exercises the -`DO_MATH` command. -We will do this in three phases: - -1. In the `Tester` class, add a helper function for sending the command and -checking the responses. -That way multiple tests can reuse the same code. - -1. In the `Tester` class, write a test function that -calls the helper to run a test. - -1. In the `main` function, write a Google Test macro -that invokes the test function. - -1. Run the test. - -**Add a helper function:** -Go into the directory `Ref/MathSender/test/ut`. -In the file `Tester.hpp`, add the following lines -to the section entitled "Helper methods": - -```c++ -//! Test a DO_MATH command -void testDoMath(MathOp op); -``` - -In the file `Tester.cpp`, add the corresponding -function body: - -```c++ -void Tester :: - testDoMath(MathOp op) -{ - - // Pick values - - const F32 val1 = 2.0; - const F32 val2 = 3.0; - - // Send the command - - // pick a command sequence number - const U32 cmdSeq = 10; - // send DO_MATH command - this->sendCmd_DO_MATH(0, cmdSeq, val1, op, val2); - // retrieve the message from the message queue and dispatch the command to the handler - this->component.doDispatch(); - - // Verify command receipt and response - - // verify command response was sent - ASSERT_CMD_RESPONSE_SIZE(1); - // verify the command response was correct as expected - ASSERT_CMD_RESPONSE(0, MathSenderComponentBase::OPCODE_DO_MATH, cmdSeq, Fw::CmdResponse::OK); - - // Verify operation request on mathOpOut - - // verify that one output port was invoked overall - ASSERT_FROM_PORT_HISTORY_SIZE(1); - // verify that the math operation port was invoked once - ASSERT_from_mathOpOut_SIZE(1); - // verify the arguments of the operation port - ASSERT_from_mathOpOut(0, val1, op, val2); - - // Verify telemetry - - // verify that 3 channels were written - ASSERT_TLM_SIZE(3); - // verify that the desired telemetry values were sent once - ASSERT_TLM_VAL1_SIZE(1); - ASSERT_TLM_VAL2_SIZE(1); - ASSERT_TLM_OP_SIZE(1); - // verify that the correct telemetry values were sent - ASSERT_TLM_VAL1(0, val1); - ASSERT_TLM_VAL2(0, val2); - ASSERT_TLM_OP(0, op); - - // Verify event reports - - // verify that one event was sent - ASSERT_EVENTS_SIZE(1); - // verify the expected event was sent once - ASSERT_EVENTS_COMMAND_RECV_SIZE(1); - // verify the correct event arguments were sent - ASSERT_EVENTS_COMMAND_RECV(0, val1, op, val2); - -} -``` - -This function is parameterized over different -operations. -It is divided into five sections: sending the command, -checking the command response, checking the output on -`mathOpOut`, checking telemetry, and checking events. -The comments explain what is happening in each section. -For further information about the F Prime unit test -interface, see the F Prime User's Guide. - -Notice that after sending the command to the component, we call -the function `doDispatch` on the component. -We do this in order to simulate the behavior of the active -component in a unit test environment. -In a flight configuration, the component has its own thread, -and the thread blocks on the `doDispatch` call until another -thread puts a message on the queue. -In a unit test context, there is only one thread, so the pattern -is to place work on the queue and then call `doDispatch` on -the same thread. - -There are a couple of pitfalls to watch out for with this pattern: - -1. If you put work on the queue and forget to call `doDispatch`, -the work won't get dispatched. -Likely this will cause a unit test failure. - -1. If you call `doDispatch` without putting work on the queue, -the unit test will block until you kill the process (e.g., -with control-C). - -**Write a test function:** -Next we will write a test function that calls -`testDoMath` to test an `ADD` operation. -In `Tester.hpp`, add the following line in the -section entitled "Tests": - -```c++ -//! Test an ADD command -void testAddCommand(); -``` - -In `Tester.cpp`, add the corresponding function -body: - -```c++ -void Tester :: - testAddCommand() -{ - this->testDoMath(MathOp::ADD); -} -``` - -This function calls `testDoMath` to test an `ADD` command. - -**Write a test macro:** -Add the following code to the file `TestMain.cpp`, -before the definition of the `main` function: - -```c++ -TEST(Nominal, AddCommand) { - Ref::Tester tester; - tester.testAddCommand(); -} -``` - -The `TEST` macro is an instruction to Google Test to run a test. -`Nominal` is the name of a test suite. -We put this test in the `Nominal` suite because it addresses -nominal (expected) behavior. -`AddCommand` is the name of the test. -Inside the body of the macro, the first line declares a new -object `tester` of type `Tester`. -We typically declare a new object for each unit test, so that -each test starts in a fresh state. -The second line invokes the function `testAddCommand` -that we wrote in the previous section. - -**Run the test:** -Go back to directory `Ref/MathSender`. -Run the command `fprime-util check`. -The build system should compile and run the unit -tests. -You should see output indicating that the test ran -and passed. - -As an exercise, try the following: - -1. Change the behavior of the component -so that it does something incorrect. -For example, try adding one to a telemetry -value before emitting it. - -1. Rerun the test and observe what happens. - - -#### 4.5.3. Write and Run More Tests - -**Add more command tests:** -Try to follow the pattern given in the previous -section to add three more tests, one each -for operations `SUB`, `MUL`, and `DIV`. -Most of the work should be done in the helper -that we already wrote. -Each new test requires just a short test function -and a short test macro. - -Run the tests to make sure everything compiles and -the tests pass. - -**Add a result test:** -Add a test for exercising the scenario in which the `MathReceiver` -component sends a result back to `MathSender`. - -1. Add the following function signature in the "Tests" section of `Tester.hpp`: - - ```c++ - //! Test receipt of a result - void testResult(); - ``` - -1. Add the corresponding function body in `Tester.cpp`: - - ```c++ - void Tester :: - testResult() - { - // Generate an expected result - const F32 result = 10.0; - // reset all telemetry and port history - this->clearHistory(); - // call result port with result - this->invoke_to_mathResultIn(0, result); - // retrieve the message from the message queue and dispatch the command to the handler - this->component.doDispatch(); - // verify one telemetry value was written - ASSERT_TLM_SIZE(1); - // verify the desired telemetry channel was sent once - ASSERT_TLM_RESULT_SIZE(1); - // verify the values of the telemetry channel - ASSERT_TLM_RESULT(0, result); - // verify one event was sent - ASSERT_EVENTS_SIZE(1); - // verify the expected event was sent once - ASSERT_EVENTS_RESULT_SIZE(1); - // verify the expect value of the event - ASSERT_EVENTS_RESULT(0, result); - } - ``` - - This code is similar to the helper function in the previous section. - The main difference is that it invokes a port directly - (the `mathResultIn` port) instead of sending a command. - -1. Add the following test macro to `TestMain.cpp`: - - ```c++ - TEST(Nominal, Result) { - Ref::Tester tester; - tester.testResult(); - } - ``` - -1. Run the tests. -Again you can try altering something in the component code -to see what effect it has on the test output. - - - -#### 4.5.4. Exercise: Random Testing - -F Prime provides a module called `STest` -that provides helper classes and functions for writing -unit tests. -As an exercise, use the interface provided by -`STest/STest/Pick.hpp` to pick random values to use in the -tests instead of using hard-coded values such as 2.0, 3.0, -and 10. - -**Modifying the code:** You will need to do the following: - -1. Add `#include "STest/Pick/Pick.hpp"` to `Tester.cpp`. - -1. Add the following - line to `Ref/MathSender/CMakeLists.txt`, before `register_fprime_ut`: - - ```cmake - set(UT_MOD_DEPS STest) - ``` - - This line tells the build system to make the unit test build - depend on the `STest` build module. - -1. Add `#include "STest/Random/Random.hpp"` to `TestMain.cpp`. - -1. Add the following line to the `main` function of `TestMain.cpp`, - just before the return statement: - - ```c++ - STest::Random::seed(); - ``` - - This line seeds the random number generator used by STest. - -**Running the tests:** -Recompile and rerun the tests. -Now go to -`Ref/build-fprime-automatic-native-ut/Ref/MathSender` and inspect the -file `seed-history`. -This file is a log of random seed values. -Each line represents the seed used in the corresponding run. - -**Fixing the random seed:** -Sometimes you may want to run a test with a particular seed value, -e.g., for replay debugging. -To do this, put the seed value into a file `seed` in the same -directory as `seed-history`. -If the file `seed` exists, then STest will use the seed it contains instead -of generating a new seed. - -Try the following: - -1. Copy the last value _S_ of `seed-history` into `seed`. - -1. In `Ref/MathSender`, re-run the unit tests a few times. - -1. Inspect `Ref/build-fprime-automatic-native-ut/Ref/MathSender/seed-history`. -You should see that the value _S_ was used in the runs you just did -(corresponding to the last few entries in `seed-history`). - - -### 4.6. Reference Implementation - -A reference implementation for this section is available at -`docs/Tutorials/MathComponent/MathSender`. - - -## 5. The MathReceiver Component - -Now we will build and test the `MathReceiver` component. -We will use the same five steps as for the -`MathSender` component. - - -### 5.1. Construct the FPP Model - -**Create the MathReceiver directory:** -Create the directory `Ref/MathReceiver`. - -**Create the FPP model file:** -In directory `Ref/MathReceiver`, create a file -`MathReceiver.fpp` with the following contents: - -```fpp -module Ref { - - @ Component for receiving and performing a math operation - queued component MathReceiver { - - # ---------------------------------------------------------------------- - # General ports - # ---------------------------------------------------------------------- - - @ Port for receiving the math operation - async input port mathOpIn: MathOp - - @ Port for returning the math result - output port mathResultOut: MathResult - - @ The rate group scheduler input - sync input port schedIn: Svc.Sched - - # ---------------------------------------------------------------------- - # Special ports - # ---------------------------------------------------------------------- - - @ Command receive - command recv port cmdIn - - @ Command registration - command reg port cmdRegOut - - @ Command response - command resp port cmdResponseOut - - @ Event - event port eventOut - - @ Parameter get - param get port prmGetOut - - @ Parameter set - param set port prmSetOut - - @ Telemetry - telemetry port tlmOut - - @ Text event - text event port textEventOut - - @ Time get - time get port timeGetOut - - # ---------------------------------------------------------------------- - # Parameters - # ---------------------------------------------------------------------- - - @ The multiplier in the math operation - param FACTOR: F32 default 1.0 id 0 \ - set opcode 10 \ - save opcode 11 - - # ---------------------------------------------------------------------- - # Events - # ---------------------------------------------------------------------- - - @ Factor updated - event FACTOR_UPDATED( - val: F32 @< The factor value - ) \ - severity activity high \ - id 0 \ - format "Factor updated to {f}" \ - throttle 3 - - @ Math operation performed - event OPERATION_PERFORMED( - val: MathOp @< The operation - ) \ - severity activity high \ - id 1 \ - format "{} operation performed" - - @ Event throttle cleared - event THROTTLE_CLEARED \ - severity activity high \ - id 2 \ - format "Event throttle cleared" - - # ---------------------------------------------------------------------- - # Commands - # ---------------------------------------------------------------------- - - @ Clear the event throttle - async command CLEAR_EVENT_THROTTLE \ - opcode 0 - - # ---------------------------------------------------------------------- - # Telemetry - # ---------------------------------------------------------------------- - - @ The operation - telemetry OPERATION: MathOp id 0 - - @ Multiplication factor - telemetry FACTOR: F32 id 1 - - } - -} -``` - -This code defines a component `Ref.MathReceiver`. -The component is **queued**, which means it has a queue -but no thread. -Work occurs when the thread of another component invokes -the `schedIn` port of this component. - -We have divided the specifiers of this component into six groups: - -1. **General ports:** There are three ports: -an input port `mathOpIn` for receiving a math operation, -an output port `mathResultOut` for sending a math result, and -an input port `schedIn` for receiving invocations from the scheduler. -`mathOpIn` is asynchronous. -That means invocations of `mathOpIn` put messages on a queue. -`schedIn` is synchronous. -That means invocations of `schedIn` immediately call the -handler function to do work. - -1. **Special ports:** -As before, there are special ports for commands, events, telemetry, -and time. -There are also special ports for getting and setting parameters. -We will explain the function of these ports below. - -1. **Parameters:** There is one **parameter**. -A parameter is a constant that is configurable by command. -In this case there is one parameter `FACTOR`. -It has the default value 1.0 until its value is changed by command. -When doing math, the `MathReceiver` component performs the requested -operation and then multiplies by this factor. -For example, if the arguments of the `mathOpIn` port -are _v1_, `ADD`, and _v2_, and the factor is _f_, -then the result sent on `mathResultOut` is -_(v1 + v2) f_. - -1. **Events:** There are three event reports: - - 1. `FACTOR_UPDATED`: Emitted when the `FACTOR` parameter - is updated by command. - This event is **throttled** to a limit of three. - That means that after the event is emitted three times - it will not be emitted any more, until the throttling - is cleared by command (see below). - - 1. `OPERATION_PERFORMED`: Emitted when this component - performs a math operation. - - 1. `THROTTLE_CLEARED`: Emitted when the event throttling - is cleared. - -1. **Commands:** There is one command for clearing -the event throttle. - -1. **Telemetry:** -There two telemetry channels: one for reporting -the last operation received and one for reporting -the factor parameter. - -For the parameters, events, commands, and telemetry, we chose -to put in all the opcodes and identifiers explicitly. -These can also be left implicit, as in the `MathSender` -component example. -For more information, see -[_The FPP User's Guide_](https://fprime-community.github.io/fpp/fpp-users-guide.html#Defining-Components). - - -### 5.2. Add the Model to the Project - -Follow the steps given for the -`MathSender` component. - - -### 5.3. Build the Stub Implementation - -Follow the same steps as for the -`MathSender` component. - - -### 5.4. Complete the Implementation - -**Fill in the mathOpIn handler:** -In `MathReceiver.cpp`, complete the implementation of -`mathOpIn_handler` so that it looks like this: - -```cpp -void MathReceiver :: - mathOpIn_handler( - const NATIVE_INT_TYPE portNum, - F32 val1, - const MathOp& op, - F32 val2 - ) -{ - - // Get the initial result - F32 res = 0.0; - switch (op.e) { - case MathOp::ADD: - res = val1 + val2; - break; - case MathOp::SUB: - res = val1 - val2; - break; - case MathOp::MUL: - res = val1 * val2; - break; - case MathOp::DIV: - res = val1 / val2; - break; - default: - FW_ASSERT(0, op.e); - break; - } - - // Get the factor value - Fw::ParamValid valid; - F32 factor = paramGet_FACTOR(valid); - FW_ASSERT( - valid.e == Fw::ParamValid::VALID || valid.e == Fw::ParamValid::DEFAULT, - valid.e - ); - - // Multiply result by factor - res *= factor; - - // Emit telemetry and events - this->log_ACTIVITY_HI_OPERATION_PERFORMED(op); - this->tlmWrite_OPERATION(op); - - // Emit result - this->mathResultOut_out(0, res); - -} -``` - -This code does the following: - -1. Compute an initial result based on the input values and -the requested operation. - -1. Get the value of the factor parameter. -Check that the value is a valid value from the parameter -database or a default parameter value. - -1. Multiply the initial result by the factor to generate -the final result. - -1. Emit telemetry and events. - -1. Emit the result. - -Note that in step 1, `op` is an enum (a C++ class type), and `op.e` -is the corresponding numeric value (an integer type). -Note also that in the `default` case we deliberately fail -an assertion. -This is a standard pattern for exhaustive case checking. -We should never hit the assertion. -If we do, then a bug has occurred: we missed a case. - -**Fill in the schedIn handler:** -In `MathReceiver.cpp`, complete the implementation of -`schedIn_handler` so that it looks like this: - -```c++ -void MathReceiver :: - schedIn_handler( - const NATIVE_INT_TYPE portNum, - NATIVE_UINT_TYPE context - ) -{ - U32 numMsgs = this->m_queue.getNumMsgs(); - for (U32 i = 0; i < numMsgs; ++i) { - (void) this->doDispatch(); - } -} -``` - -This code dispatches all the messages on the queue. -Note that for a queued component, we have to do this -dispatch explicitly in the `schedIn` handler. -For an active component, the framework auto-generates -the dispatch code. - -**Fill in the CLEAR_EVENT_THROTTLE command handler:** -In `MathReceiver.cpp`, complete the implementation of -`CLEAR_EVENT_THROTTLE_cmdHandler` so that it looks like this: - -```c++ -void MathReceiver :: - CLEAR_EVENT_THROTTLE_cmdHandler( - const FwOpcodeType opCode, - const U32 cmdSeq - ) -{ - // clear throttle - this->log_ACTIVITY_HI_FACTOR_UPDATED_ThrottleClear(); - // send event that throttle is cleared - this->log_ACTIVITY_HI_THROTTLE_CLEARED(); - // reply with completion status - this->cmdResponse_out(opCode, cmdSeq, Fw::CmdResponse::OK); -} -``` - -The call to `log_ACTIVITY_HI_FACTOR_UPDATED_ThrottleClear` clears -the throttling of the `FACTOR_UPDATED` event. -The next two lines send a notification event and send -a command response. - -**Add a parameterUpdated function:** -Add the following function to `MathReceiver.cpp`. -You will need to add the corresponding function header -to `MathReceiver.hpp`. - -```c++ -void MathReceiver :: - parameterUpdated(FwPrmIdType id) -{ - switch (id) { - case PARAMID_FACTOR: { - Fw::ParamValid valid; - F32 val = this->paramGet_FACTOR(valid); - FW_ASSERT( - valid.e == Fw::ParamValid::VALID || valid.e == Fw::ParamValid::DEFAULT, - valid.e - ); - this->log_ACTIVITY_HI_FACTOR_UPDATED(val); - break; - } - default: - FW_ASSERT(0, id); - break; - } -} -``` - -This code implements an optional function that, if present, -is called when a parameter is updated by command. -The parameter identifier is passed in as the `id` argument -of the function. -Here we do the following: - -1. If the parameter identifier is `PARAMID_FACTOR` (the parameter -identifier corresponding to the `FACTOR` parameter), -then get the parameter value and emit an event report. - -1. Otherwise fail an assertion. -This code should never run, because there are no other -parameters. - - -### 5.5. Write and Run Unit Tests - - -#### 5.5.1. Set up the Unit Test Environment - -1. Follow the steps given for the -`MathSender` component. - -1. Follow the steps given under **Modifying the code** -for the -random testing exercise, -so that you can use STest to pick random values. - - -#### 5.5.2. Add Helper Code - -**Add a ThrottleState enum class:** -Add the following code to the beginning of the -`Tester` class in `Tester.hpp`: - -```c++ -private: - - // ---------------------------------------------------------------------- - // Types - // ---------------------------------------------------------------------- - - enum class ThrottleState { - THROTTLED, - NOT_THROTTLED - }; -``` - -This code defines a C++ enum class for recording whether an -event is throttled. - -**Add helper functions:** -Add each of the functions described below to the -"Helper methods" section of `Tester.cpp`. -For each function, you must add -the corresponding function prototype to `Tester.hpp`. -After adding each function, compile the unit tests -to make sure that everything still compiles. -Fix any errors that occur. - -Add a `pickF32Value` function. - -```c++ -F32 Tester :: - pickF32Value() -{ - const F32 m = 10e6; - return m * (1.0 - 2 * STest::Pick::inUnitInterval()); -} -``` - -This function picks a random `F32` value in the range -_[ -10^6, 10^6 ]_. - -Add a `setFactor` function. - -```c++ -void Tester :: - setFactor( - F32 factor, - ThrottleState throttleState - ) -{ - // clear history - this->clearHistory(); - // set the parameter - this->paramSet_FACTOR(factor, Fw::ParamValid::VALID); - const U32 instance = STest::Pick::any(); - const U32 cmdSeq = STest::Pick::any(); - this->paramSend_FACTOR(instance, cmdSeq); - if (throttleState == ThrottleState::NOT_THROTTLED) { - // verify the parameter update notification event was sent - ASSERT_EVENTS_SIZE(1); - ASSERT_EVENTS_FACTOR_UPDATED_SIZE(1); - ASSERT_EVENTS_FACTOR_UPDATED(0, factor); - } - else { - ASSERT_EVENTS_SIZE(0); - } -} -``` - -This function does the following: - -1. Clear the test history. - -1. Send a command to the component to set the `FACTOR` parameter -to the value `factor`. - -1. If `throttleState` is `NOT_THROTTLED`, then check -that the event was emitted. -Otherwise check that the event was throttled (not emitted). - -Add a function `computeResult` to `Tester.cpp`. - -```c++ -F32 Tester :: - computeResult( - F32 val1, - MathOp op, - F32 val2, - F32 factor - ) -{ - F32 result = 0; - switch (op.e) { - case MathOp::ADD: - result = val1 + val2; - break; - case MathOp::SUB: - result = val1 - val2; - break; - case MathOp::MUL: - result = val1 * val2; - break; - case MathOp::DIV: - result = val1 / val2; - break; - default: - FW_ASSERT(0, op.e); - break; - } - result *= factor; - return result; -} -``` - -This function carries out the math computation of the -math component. -By running this function and comparing, we can -check the output of the component. - -Add a `doMathOp` function to `Tester.cpp`. - -```c++ -void Tester :: - doMathOp( - MathOp op, - F32 factor - ) -{ - - // pick values - const F32 val1 = pickF32Value(); - const F32 val2 = pickF32Value(); - - // clear history - this->clearHistory(); - - // invoke operation port with add operation - this->invoke_to_mathOpIn(0, val1, op, val2); - // invoke scheduler port to dispatch message - const U32 context = STest::Pick::any(); - this->invoke_to_schedIn(0, context); - - // verify the result of the operation was returned - - // check that there was one port invocation - ASSERT_FROM_PORT_HISTORY_SIZE(1); - // check that the port we expected was invoked - ASSERT_from_mathResultOut_SIZE(1); - // check that the component performed the operation correctly - const F32 result = computeResult(val1, op, val2, factor); - ASSERT_from_mathResultOut(0, result); - - // verify events - - // check that there was one event - ASSERT_EVENTS_SIZE(1); - // check that it was the op event - ASSERT_EVENTS_OPERATION_PERFORMED_SIZE(1); - // check that the event has the correct argument - ASSERT_EVENTS_OPERATION_PERFORMED(0, op); - - // verify telemetry - - // check that one channel was written - ASSERT_TLM_SIZE(1); - // check that it was the op channel - ASSERT_TLM_OPERATION_SIZE(1); - // check for the correct value of the channel - ASSERT_TLM_OPERATION(0, op); - -} -``` - -This function is similar to the `doMath` helper function that -we wrote for the `MathSender` component. -Notice that the method for invoking a port is different. -Since the component is queued, we don't call `doDispatch` -directly. -Instead we invoke `schedIn`. - - -#### 5.5.3. Write and Run Tests - -For each of the tests described below, you must add the -corresponding function prototype to `Tester.hpp` -and the corresponding test macro to `TestMain.cpp`. -If you can't remember how to do it, look back at the -`MathSender` examples. -After writing each test, run all the tests and make sure -that they pass. - -**Write an ADD test:** -Add the following function to the "Tests" section of `Tester.cpp`: - -```c++ -void Tester :: - testAdd() -{ - // Set the factor parameter by command - const F32 factor = pickF32Value(); - this->setFactor(factor, ThrottleState::NOT_THROTTLED); - // Do the add operation - this->doMathOp(MathOp::ADD, factor); -} -``` - -This function calls the `setFactor` helper function -to set the factor parameter. -Then it calls the `doMathOp` function to -do a math operation. - -**Write a SUB test:** -Add the following function to the "Tests" section of `Tester.cpp`: - -```c++ -void Tester :: - testSub() -{ - // Set the factor parameter by loading parameters - const F32 factor = pickF32Value(); - this->paramSet_FACTOR(factor, Fw::ParamValid::VALID); - this->component.loadParameters(); - // Do the operation - this->doMathOp(MathOp::SUB, factor); -} -``` - -This test is similar to `testAdd`, but it shows -another way to set a parameter. -`testAdd` showed how to set a parameter by command. -You can also set a parameter by initialization, as follows: - -1. Call the `paramSet` function as shown. -This function sets the parameter value in -the part of the test harness that mimics the behavior of the -parameter database component. - -1. Call the `loadParameters` function as shown. -In flight, the function `loadParameters` is typically called at the -start of FSW to load the parameters from the database; -here it loads the parameters from the test harness. -There is no command to update a parameter, so `parameterUpdated` -is not called, and no event is emitted. - -As before, after setting the parameter we call `doMathOp` -to do the operation. - -**Write a MUL test:** -This test is the same as the ADD test, except that it -uses MUL instead of add. - -**Write a DIV test:** -This test is the same as the SUB test, except that it -uses DIV instead of SUB. - -**Write a throttle test:** -Add the following constant definition to the top of the `Tester.cpp` file: - -```C++ -#define CMD_SEQ 42 -``` - -Then add the following function to the "Tests" section of `Tester.cpp`: - -```c++ -void Tester :: - testThrottle() -{ - - // send the number of commands required to throttle the event - // Use the autocoded value so the unit test passes if the - // throttle value is changed - const F32 factor = pickF32Value(); - for ( - U16 cycle = 0; - cycle < MathReceiverComponentBase::EVENTID_FACTOR_UPDATED_THROTTLE; - cycle++ - ) { - this->setFactor(factor, ThrottleState::NOT_THROTTLED); - } - - // Event should now be throttled - this->setFactor(factor, ThrottleState::THROTTLED); - - // send the command to clear the throttle - this->sendCmd_CLEAR_EVENT_THROTTLE(TEST_INSTANCE_ID, CMD_SEQ); - // invoke scheduler port to dispatch message - const U32 context = STest::Pick::any(); - this->invoke_to_schedIn(0, context); - // verify clear event was sent - ASSERT_EVENTS_SIZE(1); - ASSERT_EVENTS_THROTTLE_CLEARED_SIZE(1); - - // Throttling should be cleared - this->setFactor(factor, ThrottleState::NOT_THROTTLED); - -} -``` - -This test first loops over the throttle count, which is stored -for us in the constant `EVENTID_FACTOR_UPDATED_THROTTLE` -of the `MathReceiver` component base class. -On each iteration, it calls `setFactor`. -At the end of this loop, the `FACTOR_UPDATED` event should be -throttled. - -Next the test calls `setFactor` with a second argument of -`ThrottleState::THROTTLED`. -This code checks that the event is throttled. - -Next the test sends the command `CLEAR_EVENT_THROTTLE`, -checks for the corresponding notification event, -and checks that the throttling is cleared. - - -### 5.6. Reference Implementation - -A reference implementation for this section is available at -`docs/Tutorials/MathComponent/MathReceiver`. - - -### 5.7. Exercises - - -#### 5.7.1. Adding Telemetry - -Add a telemetry channel that records the number of math -operations performed. - -1. Add the channel to the FPP model. - -1. In the component implementation class, add a member -variable `numMathOps` of type `U32`. -Initialize the variable to zero in the class constructor. - -1. Revise the `mathOpIn` handler so that it increments -`numMathOps` and emits the updated value as telemetry. - -1. Revise the unit tests to cover the new behavior. - - -#### 5.7.2. Error Handling - -Think about what will happen if the floating-point -math operation performed by `MathReceiver` causes an error. -For example, suppose that `mathOpIn` is invoked with `op = DIV` -and `val2 = 0.0`. -What will happen? -As currently designed and implemented, the `MathReceiver` -component will perform the requested operation. -On some systems the result will be `INF` (floating-point infinity). -In this case, the result will be sent back to `MathSender` -and reported in the usual way. -On other systems, the hardware could issue a floating-point exception. - -Suppose you wanted to handle the case of division by zero -explicitly. -How would you change the design? -Here are some questions to think about: - -1. How would you check for division by zero? -Note that `val2 = 0.0` is not the only case in which a division -by zero error can occur. -It can also occur for very small values of `val2`. - -1. Should the error be caught in `MathSender` or `MathReceiver`? - -1. Suppose the design says that `MathSender` catches the error, -and so never sends requests to `MathReceiver` to divide by zero. -What if anything should `MathReceiver` do if it receives -a divide by zero request? -Carry out the operation normally? -Emit a warning? -Fail a FSW assertion? - -1. If the error is caught by `MathReceiver`, does the -interface between the components have to change? -If so, how? -What should `MathSender` do if `MathReceiver` -reports an error instead of a valid result? - -Revise the MathSender and MathReceiver components to implement your -ideas. -Add unit tests covering the new behavior. - - -## 6. Updating the Ref Deployment - -The next step in the tutorial is to define instances of the -`MathSender` and `MathReceiver` components and add them -to the `Ref` topology. - - -### 6.1. Defining the Component Instances - -Go to the directory `Ref/Top` and open the file `instances.fpp`. -This file defines the instances used in the topology for the -`Ref` application. -Update this file as described below. - -**Define the mathSender instance:** -At the end of the section entitled "Active component instances," -add the following lines: - -```fpp -instance mathSender: Ref.MathSender base id 0xE00 \ - queue size Default.QUEUE_SIZE \ - stack size Default.STACK_SIZE \ - priority 100 -``` - -This code defines an instance `mathSender` of component -`MathSender`. -It has **base identifier** 0xE00. -FPP adds the base identifier to each the relative identifier -defined in the component to compute the corresponding -identifier for the instance. -For example, component `MathSender` has a telemetry channel -`MathOp` with identifier 1, so instance `mathSender` -has a command `MathOp` with identifier 0xE01. - -The following lines define the queue size, stack size, -and thread priority for the active component. -Here we give `mathSender` the default queue size -and stack size and a priority of 100. - -**Define the mathReceiver instance:** -At the end of the section "Queued component instances," -add the following lines: - -```fpp -instance mathReceiver: Ref.MathReceiver base id 0x2700 \ - queue size Default.QUEUE_SIZE -``` - -This code defines an instance `mathReceiver` of -component `MathReceiver`. -It has base identifier 0x2700 and the default queue size. - -**More information:** -For more information on defining component instances, -see -[_The FPP User's Guide_](https://fprime-community.github.io/fpp/fpp-users-guide.html#Defining-Component-Instances). - - -### 6.2. Updating the Topology - -Go to the directory `Ref/Top` and open the file `topology.fpp`. -This file defines the topology for the `Ref` application. -Update this file as described below. - -**Add the new instances:** -You should see a list of instances, each of which begins -with the keyword `instance`. -After the line `instance linuxTime`, add the following -lines: - -```fpp -instance mathSender -instance mathReceiver -``` - -These lines add the `mathSender` and `mathReceiver` -instances to the topology. - -**Packetize the telemetry channels:** -Open the file `RefPackets.xml`. At the bottom, right before ``, add the following lines: -``` - - - - - - - - - - - -``` - -These lines describe the packet definitions for the `mathSender` and `mathReceiver` telemetry channels. - -**Check for unconnected ports:** -Run the following commands in the `Ref/Top` directory: - -```bash -fprime-util fpp-check -u unconnected.txt -cat unconnected.txt -``` - -You should see a list of ports -that are unconnected in the `Ref` topology. -Those ports will include the ports for the new instances -`mathSender` and `mathReceiver`. - -**Connect mathReceiver to rate group 1:** -Find the line that starts `connections RateGroups`. -This is the beginning of the definition of the `RateGroups` -connection graph. -After the last entry for the `rateGroup1Comp` (rate group 1) add -the following line: - -```fpp -rateGroup1Comp.RateGroupMemberOut -> mathReceiver.schedIn -``` - -This line adds the connection that drives the `schedIn` -port of the `mathReceiver` component instance. - -**Re-run the check for unconnected ports:** -You should see that `mathReceiver.schedIn` is now connected -(it no longer appears in the list). - -**Add the Math connections:** -Find the Uplink connections that begin with the line -`connections Uplink`. -After the block of that definition, add the following -lines: - -```fpp -connections Math { - mathSender.mathOpOut -> mathReceiver.mathOpIn - mathReceiver.mathResultOut -> mathSender.mathResultIn -} -``` - -These lines add the connections between the `mathSender` -and `mathReceiver` instances. - -**Re-run the check for unconnected ports:** -When this capability exists, you will be able to see -that the `mathSender` and `mathReceiver` ports are connected. - -**More information:** -For more information on defining topologies, -see -[_The FPP User's Guide_](https://fprime-community.github.io/fpp/fpp-users-guide.html#Defining-Topologies). - - -### 6.3. Building the Ref Deployment - -Go to the `Ref` directory. -Run `fprime-util build --jobs 4`. -The updated deployment should build without errors. -The generated files are located at -`Ref/build-fprime-automatic-native/Ref/Top`. - - -### 6.4. Visualizing the Ref Topology - -Now we will see how to create a visualization (graphical rendering) -of the Ref topology. - -**Generate the layout:** -For this step, we will use the F Prime Layout (FPL) tool. -If FPL is not installed on your system, then install it now: -clone [this repository](https://github.com/fprime-community/fprime-layout) -and follow the instructions. - -In directory `Ref/Top`, run the following commands in an sh-compatible -shell such as bash. -If you are using a different shell, you can run `sh` -to enter the `sh` shell, run these commands, and enter -`exit` when done. -Or you can stay in your preferred shell and adjust these commands -appropriately. - -```bash -cp ../build-fprime-automatic-native/Ref/Top/RefTopologyAppAi.xml . -mkdir visual -cd visual -fpl-extract-xml < ../RefTopologyAppAi.xml -mkdir Ref -for file in `ls *.xml` -do -echo "laying out $file" -base=`basename $file .xml` -fpl-convert-xml $file | fpl-layout > Ref/$base.json -done -``` - -This step extracts the connection graphs from the topology XML and -converts each one to a JSON layout file. - -**Render the layout:** -For this step, we will use the F Prime Visualizer (FPV) tool. -If FPV is not installed on your system, then install it now: -clone [this repository](https://github.com/fprime-community/fprime-visual) -and follow the instructions. - -In directory `Ref/Top`, run the following commands in an sh-compatible -shell. -Replace `[path to fpv root]` with the path to the -root of the FPV repo on your system. - -```bash -echo DATA_FOLDER=Ref/ > .fpv-env -nodemon [path to fpv root]/server/index.js ./.fpv-env -``` - -You should see the FPV server application start up on the -console. - -Now open a browser and navigate to `http://localhost:3000`. -You should see a Topology menu at the top of the window -and a rendering of the Command topology below. -Select Math from the topology menu. -You should see a rendering of the Math topology. -It should look similar to the -topology diagram shown above. - -You can use the menu to view other topology graphs. -When you are done, close the browser window and -type control-C in the console to shut down the FPV server. - - -### 6.5. Reference Implementation - -A reference implementation for this section is available at -`docs/Tutorials/MathComponent/Top`. -To build this implementation, copy the files -`instances.fpp` and `topology.fpp` from -that directory to `Ref/Top`. - - -## 7. Running the Ref Deployment - -Now we will use the F Prime Ground Data System (GDS) to run the Ref deployment. -Go to the `Ref` directory and run `fprime-gds`. -You should see some activity on the console. -The system is starting the Ref deployment executable, starting the GDS, -and connecting them over the local network on your machine. -After several seconds, a browser window should appear. - - -### 7.1. Sending a Command - -At the top of the window are several buttons, each of which corresponds to -a GDS view. -Select the Commanding button (this is the view that is selected -when you first start the GDS). -In the Mnemonic menu, start typing `mathSender.DO_MATH` in the text box. -As you type, the GDS will filter the menu selections. -When only one choice remains, stop typing and press return. -You should see three boxes appear: - -1. A text box for entering `val1`. - -1. A menu for entering `op`. - -1. A text box for entering `val2`. - -Fill in the arguments corresponding to the operation `1 + 2`. -You can use the tab key to move between the boxes. -When you have done this, click the Send Command button. -You should see a table entry at the bottom of the window -indicating that the command was sent. - - -### 7.2. Checking Events - -Now click on the Events button at the top of the window. -The view changes to the Events tab. -You should see events indicating that the command you sent was -dispatched, received, and completed. -You should also see events indicating that `mathReceiver` -performed an `ADD` operation and `mathSender` -received a result of 3.0. - - -### 7.3. Checking Telemetry - -Click on the Channels button at the top of the window. -You should see a table of telemetry channels. -Each row corresponds to the latest value of a telemetry -channel received by the GDS. -You should see the channels corresponding to the input -values, the operation, and the result. - - -### 7.4. Setting Parameters - -Go back to the Commanding tab. -Select the command `mathReceiver.FACTOR_PRM_SET`. -This is an auto-generated command for setting the -parameter `FACTOR`. -Type the value 2.0 in the `val` box and click Send Command. -Check the events to see that the command was dispatched -and executed. -You should also see the events sent by the code -that you implemented. - -In the Commanding tab, issue the command `1 + 2` again. -Check the Events tab. -Because the factor is now 2.0, you should see a result -value of 6.0. - - -### 7.5. Saving Parameters - -When you set a parameter by command, the new parameter -value resides in the component that receives the command. -At this point, if you stop and restart FSW, the parameter -will return to its original value (the value before you -sent the command). - -At some point you may wish to update parameters more permanently. -You can do this by saving them to non-volatile storage. -For the Ref application, "non-volatile storage" means the -file system on your machine. - -To save the parameter `mathReceiver.FACTOR` to non-volatile storage, -do the following: - -1. Send the command `mathReceiver.FACTOR_PRM_SAVE`. -This command saves the parameter value to the **parameter database**, -which is a standard F Prime component for storing system parameters. - -1. Send the command `prmDb.PRM_SAVE_FILE`. -This command saves the parameter values in the parameter database -to non-volatile storage. - -Note that saving parameters is a two-step process. -The first step copies a single parameter from a component -to the database. -The second step saves all parameters in the database -to the disk. -If you do only the first step, the parameter will not be -saved to the disk. - - -### 7.6. GDS Logs - -As it runs, the GDS writes a log into a subdirectory of `Ref/logs`. -The subdirectory is stamped with the current date. -Go into the directory for the run you just performed. -(If the GDS is still running, you will have to do this in a -different shell.) -You should see the following logs, among others: - -* `Ref.log`: FSW console output. - -* `command.log`: Commands sent. - -* `event.log`: Event reports received. - -* `channel.log`: Telemetry points received. - -You can also view these logs via the GDS browser interface. -Click the Logs tab to go the Logs view. -Select the log you wish to inspect from the drop-down menu. -By default, there is no log selected. - - -## 8. Conclusion - -The Math Component tutorial has shown us how to create simple types, ports and -components for our application using the FPP modeling language. We have learned -how to use `fprime-util` to generate implementation stubs, the build cache, and -unit tests. We learned how to define our topology and use tools provided by -F´ to check and visualize the topology. Lastly, we learned how to use the -ground system to interact with our deployment. - -The user is now directed back to the [Tutorials](../README.md) for further -reading or to the [Cross-Compilation Tutorial](../CrossCompilation/Tutorial.md) -for instructions on how to cross-compile the Ref application completed in this -tutorial for the Raspberry Pi. diff --git a/docs/Tutorials/MathComponent/json/refresh b/docs/Tutorials/MathComponent/json/refresh deleted file mode 100755 index c39ab771af..0000000000 --- a/docs/Tutorials/MathComponent/json/refresh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -e - -fpl-layout < top.txt > top.json diff --git a/docs/Tutorials/MathComponent/json/top.json b/docs/Tutorials/MathComponent/json/top.json deleted file mode 100644 index dccf0d9750..0000000000 --- a/docs/Tutorials/MathComponent/json/top.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "columns" : [ - [ - { - "instanceName" : "mathSender", - "inputPorts" : [ - { - "name" : "mathResultIn", - "portNumbers" : [ - 0 - ] - } - ], - "outputPorts" : [ - { - "name" : "mathOpOut", - "portNumbers" : [ - 0 - ] - } - ] - } - ], - [ - { - "instanceName" : "mathReceiver", - "inputPorts" : [ - { - "name" : "mathOpIn", - "portNumbers" : [ - 0 - ] - } - ], - "outputPorts" : [ - { - "name" : "mathResultOut", - "portNumbers" : [ - 0 - ] - } - ] - } - ] - ], - "connections" : [ - [ - [ - 0, - 0, - 0, - 0 - ], - [ - 1, - 0, - 0, - 0 - ] - ], - [ - [ - 1, - 0, - 0, - 0 - ], - [ - 0, - 0, - 0, - 0 - ] - ] - ] -} diff --git a/docs/Tutorials/MathComponent/json/top.txt b/docs/Tutorials/MathComponent/json/top.txt deleted file mode 100644 index 69d31efece..0000000000 --- a/docs/Tutorials/MathComponent/json/top.txt +++ /dev/null @@ -1,13 +0,0 @@ -mathSender -mathOpOut -0 -mathReceiver -mathOpIn -0 - -mathReceiver -mathResultOut -0 -mathSender -mathResultIn -0 diff --git a/docs/Tutorials/MathComponent/md/.gitignore b/docs/Tutorials/MathComponent/md/.gitignore deleted file mode 100644 index 5e2df058f8..0000000000 --- a/docs/Tutorials/MathComponent/md/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -defined-tags.txt -toc.md -used-tags.txt diff --git a/docs/Tutorials/MathComponent/md/Tutorial.md b/docs/Tutorials/MathComponent/md/Tutorial.md deleted file mode 100644 index ee15a6d52e..0000000000 --- a/docs/Tutorials/MathComponent/md/Tutorial.md +++ /dev/null @@ -1,1983 +0,0 @@ -# F' Math Component Tutorial - -!include toc.md - -## Introduction - -This tutorial shows how to develop, test, and deploy a simple topology -consisting of two components: - -1. `MathSender`: A component that receives commands and forwards work to - `MathReceiver`. - -1. `MathReceiver`: A component that carries out arithmetic operations and - returns the results to `MathSender`. - -See the diagram below. - - -![A simple topology for arithmetic computation](png/top.png) - -**What is covered:** The tutorial covers the following concepts: - -1. Using the [FPP modeling language](https://fprime-community.github.io/fpp) to - specify the types and ports used by the components. - -1. Using the F Prime build system to build the types and ports. - -1. Developing the `MathSender` component: Specifying the component, building - the component, completing the C++ component implementation, and writing - component unit tests. - -1. Developing the `MathReceiver` component. - -1. Adding the new components and connections to the F Prime `Ref` application. - -1. Using the F Prime Ground Data System (GDS) to run the updated `Ref` - application. - -**Prerequisites:** This tutorial assumes the following: - -1. Basic knowledge of Unix: How to navigate in a shell and execute programs. - -1. Basic knowledge of git: How to create a branch. - -1. Basic knowledge of C++, including class declarations, inheritance, -and virtual functions. - -If you have not yet installed F Prime on your system, do so now. -Follow the installation guide at `INSTALL.md` -in the [F Prime git repository](https://github.com/nasa/fprime). -You may also wish to work through the Getting Started tutorial at -`docs/GettingStarted/Tutorial.md`. - -**Version control:** -Working on this tutorial will modify some files under version control -in the F Prime git repository. -Therefore it is a good idea to do this work on a new branch. -For example: - -```bash -git checkout -b math-tutorial -``` - -If you wish, you can save your work by committing to this branch. - -## The MathOp Type - -In F Prime, a **type definition** defines a kind of data that you can pass -between components or use in commands and telemetry. - -For this tutorial, we need one type definition. -It defines an enumeration called `MathOp`, which -represents a mathematical operation. - -We will add the specification for the `MathOp` type to the -`Ref` topology. -We will do this in three stages: - -1. Construct the FPP model. - -1. Add the model to the project. - -1. Build the model. - -### Construct the FPP Model - -**Create the MathTypes directory:** -Go to the directory `Ref` at the top-level of the -F Prime repository and run `mkdir MathTypes`. -This step creates a new directory `Ref/MathTypes`. -This directory will contain our new type. - -**Create the FPP model file:** -Now go into the directory `Ref/MathTypes`. -In that directory, create a file `MathTypes.fpp` with the following contents: - -```fpp -!include ../MathTypes/MathTypes.fpp -``` - -You can do this by typing, or by copy-paste. - -This file defines an enumeration or **enum** with enumerated constants `ADD`, -`SUB`, `MUL`, and `DIV`. -These four constants represent the operations of addition, subtraction, -multiplication, and division. -The enum also defines a type `MathOp`; the enumerated constants are the values -of this type. -For more information on enums, see [_The FPP User's -Guide_](https://fprime-community.github.io/fpp/fpp-users-guide.html#Defining-Enums). - -The enum `MathTypes` resides in an FPP module `Ref`. - -An FPP module is like a C++ namespace: it encloses several definitions, each of -which is qualified with the name of the module. -For more information on FPP modules, see [_The FPP User's -Guide_](https://fprime-community.github.io/fpp/fpp-users-guide.html#Defining-Modules). - -The text following a symbol `@` or `@<` is called an **annotation**. -These annotations are carried through the parsing and become comments in the -generated code. -For more information, see [_The FPP User's -Guide_](https://fprime-community.github.io/fpp/fpp-users-guide.html#Writing-Comments-and-Annotations). - - -### Add the Model to the Project - -**Create Ref/MathTypes/CMakeLists.txt:** -Create a file `Ref/MathTypes/CMakeLists.txt` with the following contents: - -```cmake -set(SOURCE_FILES - "${CMAKE_CURRENT_LIST_DIR}/MathTypes.fpp" -) - -register_fprime_module() -``` - -This code will tell the build system how to build the FPP model. - -**Update Ref/CMakeLists.txt:** -Now we need to add the new directory to the `Ref` project. -To do that, open the file `Ref/CMakeLists.txt`. -This file should already exist; it was put there by the developers -of the `Ref` topology. -In this file, you should see several lines starting with `add_fprime_subdirectory`. -Immediately after the last of those lines, add the following new line: - -```cmake -add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/MathTypes/") -``` - - -### Build the Model - -**Run the build:** -Do the following: - -1. Go to the directory `Ref/MathTypes`. - -1. If you have not already run `fprime-util generate`, then do so now. - -1. Run the command `fprime-util build`. - -The output should indicate that the model built without any errors. -If not, try to identify and correct what is wrong, -either by deciphering the error output, or by going over the steps again. -If you get stuck, you can look at the -reference implementation. - -**Inspect the generated code:** -Now go to the directory `Ref/build-fprime-automatic-native/Ref/MathTypes` -(you may want to use `pushd`, or do this in a separate shell, -so you don't lose your current working directory). -The directory `build-fprime-automatic-native` is where all the -generated code lives for the "automatic native" build of the `Ref` -project. -Within that directory is a directory tree that mirrors the project -structure. -In particular, `Ref/build-fprime-automatic-native/Ref/MathTypes` -contains the generated code for `Ref/MathTypes`. - -Run `ls`. -You should see something like this: - -```bash -CMakeFiles MathOpEnumAc.cpp MathOpEnumAi.xml.prev cmake_install.cmake -Makefile MathOpEnumAc.hpp autocoder -``` - -The files `MathOpEnumAc.hpp` and -`MathOpEnumAc.cpp` are the auto-generated C++ files -corresponding to the `MathOp` enum. -You may wish to study the file `MathOpEnumAc.hpp`. -This file gives the interface to the C++ class `Ref::MathOp`. -All enum types have a similar auto-generated class -interface. - - -### Reference Implementation - -A reference implementation for this section is available at -`docs/Tutorials/MathComponent/MathTypes`. -To build this implementation from a clean repository, -do the following: - -1. Go to the `Ref` directory. - -1. Run `cp -R ../docs/Tutorials/MathComponent/MathTypes .` - -1. Update `Ref/CMakeLists.txt` as stated above. - -1. Follow the steps for building the model. - -If you have modified the repo, revise the steps accordingly. -For example, switch git branches, use `git stash` to stash -your changes, or move `MathTypes` to another directory such -as `MathTypes-saved`. - - -## The MathOp and MathResult Ports - -A **port** is the endpoint of a connection between -two components. -A **port definition** is like a function signature; -it defines the type of the data carried on a port. - -For this tutorial, we need two port definitions: - -* `MathOp` for sending an arithmetic operation request from -`MathSender` to `MathReceiver`. - -* `MathResult` for sending the result of an arithmetic -operation from `MathReceiver` to `MathSender`. - -We follow the same three steps as in the previous section. - -### Construct the FPP Model - -**Create the MathPorts directory:** -Go to the directory `Ref` at the top-level of the -F Prime repository and run `mkdir MathPorts`. -This directory will contain our new ports. - -**Create the FPP model file:** -Now go into the directory `Ref/MathPorts`. -Create a file `MathPorts.fpp` with the following contents: - -```fpp -!include ../MathPorts/MathPorts.fpp -``` - -This file defines the ports `MathOp` and `MathResult`. -`MathOp` has three formal parameters: a first operand, an -operation, and a second operand. -The operands have type `F32`, which represents a 32-bit -floating-point number. -The operation has type `MathOp`, which is the enum type -we defined in the previous section. -`MathResult` has a single formal parameter, the value of type `F32` -returned as the result of the operation. - -For more information about port definitions, see -[_The FPP User's Guide_](https://fprime-community.github.io/fpp/fpp-users-guide.html#Defining-Ports). - -### Add the Model to the Project - -Add add the model -`Ref/MathPorts/MathPorts.fpp` to the `Ref` project. -Carry out the steps in the -previous section, after -substituting `MathPorts` for `MathTypes`. - -### Build the Model - -Carry out the steps in the -previous section, -in directory `MathPorts` instead of `MathTypes`. -The generated code will go in -`Ref/build-fprime-automatic-native/Ref/MathPorts`. -For port definitions, the names of the auto-generated C++ -files end in `PortAc.hpp` and `PortAc.cpp`. -You can look at this code if you wish. -However, the auto-generated C++ port files are used -by the autocoded component implementations (described below); -you won't ever program directly against their interfaces. - -### Reference Implementation - -A reference implementation for this section is available at -`docs/Tutorials/MathComponent/MathPorts`. -To build this implementation, follow the steps -described for `MathTypes`. - - -## The MathSender Component - -Now we can build and test the `MathSender` component. -There are five steps: - -1. Construct the FPP model. -1. Add the model to the project. -1. Build the stub implementation. -1. Complete the implementation. -1. Write and run unit tests. - -### Construct the FPP Model - -**Create the MathSender directory:** -Go to the directory `Ref` at the top-level of the -F Prime repository. -Run `mkdir MathSender` to create a directory for the new component. - -**Create the FPP model file:** -Now go into the directory `Ref/MathSender`. -Create a file `MathSender.fpp` with the following contents: - -```fpp -!include ../MathSender/MathSender.fpp -``` - -This code defines a component `Ref.MathSender`. -The component is **active**, which means it has its -own thread. - -Inside the definition of the `MathSender` component are -several specifiers. -We have divided the specifiers into five groups: - -1. **General ports:** These are user-defined ports for -application-specific functions. -There are two general ports: an output port `mathOpOut` -of type `MathOp` and an input port `mathResultIn` of -type `MathResult`. -Notice that these port specifiers use the ports that -we defined above. -The input port is **asynchronous**. -This means that invoking the port (i.e., sending -data on the port) puts a message on a queue. -The handler runs later, on the thread of this component. - -1. **Special ports:** These are ports that have a special -meaning in F Prime. -There are ports for registering commands with the dispatcher, -receiving commands, sending command responses, emitting -event reports, emitting telemetry, and getting the time. - -1. **Commands:** These are commands sent from the ground -or from a sequencer and dispatched to this component. -There is one command `DO_MATH` for doing a math operation. -The command is asynchronous. -This means that when the command arrives, it goes on a queue -and its handler is later run on the thread of this component. - -1. **Events:** These are event reports that this component -can emit. -There are two event reports, one for receiving a command -and one for receiving a result. - -1. **Telemetry:** These are **channels** that define telemetry -points that the this component can emit. -There are four telemetry channels: three for the arguments -to the last command received and one for the last -result received. - -For more information on defining components, see -[_The FPP User's Guide_](https://fprime-community.github.io/fpp/fpp-users-guide.html#Defining-Components). - - -### Add the Model to the Project - -**Create Ref/MathSender/CMakeLists.txt:** -Create a file `Ref/MathSender/CMakeLists.txt` with the following contents: - -```cmake -# Register the standard build -set(SOURCE_FILES - "${CMAKE_CURRENT_LIST_DIR}/MathSender.cpp" - "${CMAKE_CURRENT_LIST_DIR}/MathSender.fpp" -) -register_fprime_module() -``` - -This code will tell the build system how to build the FPP model -and component implementation. - -**Update Ref/CMakeLists.txt:** -Add `Ref/MathSender` to `Ref/CMakeLists.txt`, as we did -for `Ref/MathTypes`. - - -### Build the Stub Implementation - -**Run the build:** -Go into the directory `Ref/MathSender`. -Run the following commands: - -```bash -touch MathSender.cpp -fprime-util impl -``` - -The first command creates an empty file `MathSender.cpp`. -The build rules we wrote in the previous section expect -this file to be there. -After the second command, the build system should -run for a bit. -At the end there should be two new files -in the directory: -`MathSender.cpp-template` and -`MathSender.hpp-template`. - -Run the following commands: - -```bash -mv MathSender.cpp-template MathSender.cpp -mv MathSender.hpp-template MathSender.hpp -``` - -These commands produce a template, or stub implementation, -of the `MathSender` implementation class. -You will fill in this implementation class below. - -Now run the command `fprime-util build --jobs 4`. -The model and the stub implementation should build. -The option `--jobs 4` says to use four cores for the build. -This should make the build go faster. -You can use any number after `--jobs`, up to the number -of cores available on your system. - -**Inspect the generated code:** -The generated code resides in the directory -`Ref/fprime-build-automatic-native-ut/Ref/MathSender`. -You may wish to look over the file `MathSenderComponentAc.hpp` -to get an idea of the interface to the auto-generated -base class `MathSenderComponentBase`. -The `MathSender` implementation class is a derived class -of this base class. - -### Complete the Implementation - -Now we can complete the stub implementation. -In an editor, open the file `MathSender.cpp`. - -**Fill in the DO_MATH command handler:** -You should see a stub handler for the `DO_MATH` -command that looks like this: - -```c++ -void MathSender :: - DO_MATH_cmdHandler( - const FwOpcodeType opCode, - const U32 cmdSeq, - F32 val1, - MathOp op, - F32 val2 - ) -{ - // TODO - this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); -} -``` - -The handler `DO_MATH_handler` is called when the `MathSender` -component receives a `DO_MATH` command. -This handler overrides the corresponding pure virtual -function in the auto-generated base class. -Fill in the handler so that it looks like this: - -```c++ -void MathSender :: - DO_MATH_cmdHandler( - const FwOpcodeType opCode, - const U32 cmdSeq, - F32 val1, - MathOp op, - F32 val2 - ) -{ - this->tlmWrite_VAL1(val1); - this->tlmWrite_OP(op); - this->tlmWrite_VAL2(val2); - this->log_ACTIVITY_LO_COMMAND_RECV(val1, op, val2); - this->mathOpOut_out(0, val1, op, val2); - this->cmdResponse_out(opCode, cmdSeq, Fw::CmdResponse::OK); -} -``` - -The first two arguments to the handler function provide -the command opcode and the command sequence number -(a unique identifier generated by the command dispatcher). -The remaining arguments are supplied when the command is sent, -for example, from the F Prime ground data system (GDS). -The implementation code does the following: - -1. Emit telemetry and events. - -1. Invoke the `mathOpOut` port to request that `MathReceiver` -perform the operation. - -1. Send a command response indicating success. -The command response goes out on the special port -`cmdResponseOut`. - -In F Prime, every execution of a command handler must end by -sending a command response. -The proper behavior of other framework components (e.g., command -dispatcher, command sequencer) depends upon adherence to this rule. - -**Check the build:** -Run `fprime-util build` again to make sure that everything still builds. - -**Fill in the mathResultIn handler:** -You should see a stub handler for the `mathResultIn` -port that looks like this: - -```c++ -void MathSender :: - mathResultIn_handler( - const NATIVE_INT_TYPE portNum, - F32 result - ) -{ - // TODO -} -``` - -The handler `mathResultIn_handler` is called when the `MathReceiver` -component code returns a result by invoking the `mathResultIn` port. -Again the handler overrides the corresponding pure virtual -function in the auto-generated base class. -Fill in the handler so that it looks like this: - -```c++ -void MathSender :: - mathResultIn_handler( - const NATIVE_INT_TYPE portNum, - F32 result - ) -{ - this->tlmWrite_RESULT(result); - this->log_ACTIVITY_HI_RESULT(result); -} -``` - -The implementation code emits the result on the `RESULT` -telemetry channel and as a `RESULT` event report. - -**Check the build:** -Run `fprime-util build`. - - -### Write and Run Unit Tests - -**Unit tests** are an important part of FSW development. -At the component level, unit tests typically invoke input ports, send commands, -and check for expected values on output ports (including telemetry and event -ports). - -We will carry out the unit testing for the `MathSender` component -in three steps: - -1. Set up the unit test environment - -1. Write and run one unit test - -1. Write and run additional unit tests - - -#### Set Up the Unit Test Environment - -**Create the stub Tester class:** -In the directory `Ref/MathSender`, run `mkdir -p test/ut`. -This will create the directory where -the unit tests will reside. - -**Update Ref/MathSender/CMakeLists.txt:** -Go back to the directory `Ref/MathSender`. -Add the following lines to `CMakeLists.txt`: - -```cmake -# Register the unit test build -set(UT_SOURCE_FILES - "${CMAKE_CURRENT_LIST_DIR}/MathSender.fpp" -) -register_fprime_ut() -``` - -**Generate the unit test stub:** -We will now generate a stub implementation of the unit tests. -This stub contains all the boilerplate necessary to write and -run unit tests against the `MathSender` component. -In a later step, we will fill in the stub with tests. - -1. If you have not yet run `fprime-util generate --ut`, - then do so now. This step generates the CMake build cache for the unit - tests. - -1. Run the command `fprime-util impl --ut`. - It should generate files `Tester.cpp`, `Tester.hpp`, and `TestMain.cpp`. - -1. Move these files to the `test/ut` directory: - - ```bash - mv Tester.* TestMain.cpp test/ut - ``` - -**Update Ref/MathSender/CMakeLists.txt:** -Open `MathSender/CMakeLists.txt` and update the definition of -`UT_SOURCE_FILES` by adding your new test files: - -```cmake -# Register the unit test build -set(UT_SOURCE_FILES - "${CMAKE_CURRENT_LIST_DIR}/MathSender.fpp" - "${CMAKE_CURRENT_LIST_DIR}/test/ut/Tester.cpp" - "${CMAKE_CURRENT_LIST_DIR}/test/ut/main.cpp" -) -register_fprime_ut() -``` - -**Run the build:** -Now we can check that the unit test build is working. -Run `fprime-util build --ut`. -Everything should build without errors. - -**Inspect the generated code:** -The unit test build generates some code to support unit testing. -The code is located at `Ref/build-fprime-automatic-native-ut/Ref/MathSender`. -This directory contains two auto-generated classes: - -1. `MathSenderGTestBase`: This is the direct base -class of `Tester`. -It provides a test interface implemented with Google Test -macros. - -1. `MathSenderTesterBase`: This is the direct base -class of `MathSenderGTestBase`. -It provides basic features such as histories of port -invocations. -It is not specific to Google Test, so you can -use this class without Google Test if desired. - -You can look at the header files for these generated classes -to see what operations they provide. -In the next sections we will provide some example uses -of these operations. - -#### Write and Run One Test - -Now we will write a unit test that exercises the -`DO_MATH` command. -We will do this in three phases: - -1. In the `Tester` class, add a helper function for sending the command and -checking the responses. -That way multiple tests can reuse the same code. - -1. In the `Tester` class, write a test function that -calls the helper to run a test. - -1. In the `main` function, write a Google Test macro -that invokes the test function. - -1. Run the test. - -**Add a helper function:** -Go into the directory `Ref/MathSender/test/ut`. -In the file `Tester.hpp`, add the following lines -to the section entitled "Helper methods": - -```c++ -//! Test a DO_MATH command -void testDoMath(MathOp op); -``` - -In the file `Tester.cpp`, add the corresponding -function body: - -```c++ -void Tester :: - testDoMath(MathOp op) -{ - - // Pick values - - const F32 val1 = 2.0; - const F32 val2 = 3.0; - - // Send the command - - // pick a command sequence number - const U32 cmdSeq = 10; - // send DO_MATH command - this->sendCmd_DO_MATH(0, cmdSeq, val1, op, val2); - // retrieve the message from the message queue and dispatch the command to the handler - this->component.doDispatch(); - - // Verify command receipt and response - - // verify command response was sent - ASSERT_CMD_RESPONSE_SIZE(1); - // verify the command response was correct as expected - ASSERT_CMD_RESPONSE(0, MathSenderComponentBase::OPCODE_DO_MATH, cmdSeq, Fw::CmdResponse::OK); - - // Verify operation request on mathOpOut - - // verify that one output port was invoked overall - ASSERT_FROM_PORT_HISTORY_SIZE(1); - // verify that the math operation port was invoked once - ASSERT_from_mathOpOut_SIZE(1); - // verify the arguments of the operation port - ASSERT_from_mathOpOut(0, val1, op, val2); - - // Verify telemetry - - // verify that 3 channels were written - ASSERT_TLM_SIZE(3); - // verify that the desired telemetry values were sent once - ASSERT_TLM_VAL1_SIZE(1); - ASSERT_TLM_VAL2_SIZE(1); - ASSERT_TLM_OP_SIZE(1); - // verify that the correct telemetry values were sent - ASSERT_TLM_VAL1(0, val1); - ASSERT_TLM_VAL2(0, val2); - ASSERT_TLM_OP(0, op); - - // Verify event reports - - // verify that one event was sent - ASSERT_EVENTS_SIZE(1); - // verify the expected event was sent once - ASSERT_EVENTS_COMMAND_RECV_SIZE(1); - // verify the correct event arguments were sent - ASSERT_EVENTS_COMMAND_RECV(0, val1, op, val2); - -} -``` - -This function is parameterized over different -operations. -It is divided into five sections: sending the command, -checking the command response, checking the output on -`mathOpOut`, checking telemetry, and checking events. -The comments explain what is happening in each section. -For further information about the F Prime unit test -interface, see the F Prime User's Guide. - -Notice that after sending the command to the component, we call -the function `doDispatch` on the component. -We do this in order to simulate the behavior of the active -component in a unit test environment. -In a flight configuration, the component has its own thread, -and the thread blocks on the `doDispatch` call until another -thread puts a message on the queue. -In a unit test context, there is only one thread, so the pattern -is to place work on the queue and then call `doDispatch` on -the same thread. - -There are a couple of pitfalls to watch out for with this pattern: - -1. If you put work on the queue and forget to call `doDispatch`, -the work won't get dispatched. -Likely this will cause a unit test failure. - -1. If you call `doDispatch` without putting work on the queue, -the unit test will block until you kill the process (e.g., -with control-C). - -**Write a test function:** -Next we will write a test function that calls -`testDoMath` to test an `ADD` operation. -In `Tester.hpp`, add the following line in the -section entitled "Tests": - -```c++ -//! Test an ADD command -void testAddCommand(); -``` - -In `Tester.cpp`, add the corresponding function -body: - -```c++ -void Tester :: - testAddCommand() -{ - this->testDoMath(MathOp::ADD); -} -``` - -This function calls `testDoMath` to test an `ADD` command. - -**Write a test macro:** -Add the following code to the file `main.cpp`, -before the definition of the `main` function: - -```c++ -TEST(Nominal, AddCommand) { - Ref::Tester tester; - tester.testAddCommand(); -} -``` - -The `TEST` macro is an instruction to Google Test to run a test. -`Nominal` is the name of a test suite. -We put this test in the `Nominal` suite because it addresses -nominal (expected) behavior. -`AddCommand` is the name of the test. -Inside the body of the macro, the first line declares a new -object `tester` of type `Tester`. -We typically declare a new object for each unit test, so that -each test starts in a fresh state. -The second line invokes the function `testAddCommand` -that we wrote in the previous section. - -**Run the test:** -Go back to directory `Ref/MathSender`. -Run the command `fprime-util check`. -The build system should compile and run the unit -tests. -You should see output indicating that the test ran -and passed. - -As an exercise, try the following: - -1. Change the behavior of the component -so that it does something incorrect. -For example, try adding one to a telemetry -value before emitting it. - -1. Rerun the test and observe what happens. - -#### Write and Run More Tests - -**Add more command tests:** -Try to follow the pattern given in the previous -section to add three more tests, one each -for operations `SUB`, `MUL`, and `DIV`. -Most of the work should be done in the helper -that we already wrote. -Each new test requires just a short test function -and a short test macro. - -Run the tests to make sure everything compiles and -the tests pass. - -**Add a result test:** -Add a test for exercising the scenario in which the `MathReceiver` -component sends a result back to `MathSender`. - -1. Add the following function signature in the "Tests" section of `Tester.hpp`: - - ```c++ - //! Test receipt of a result - void testResult(); - ``` - -1. Add the corresponding function body in `Tester.cpp`: - - ```c++ - void Tester :: - testResult() - { - // Generate an expected result - const F32 result = 10.0; - // reset all telemetry and port history - this->clearHistory(); - // call result port with result - this->invoke_to_mathResultIn(0, result); - // retrieve the message from the message queue and dispatch the command to the handler - this->component.doDispatch(); - // verify one telemetry value was written - ASSERT_TLM_SIZE(1); - // verify the desired telemetry channel was sent once - ASSERT_TLM_RESULT_SIZE(1); - // verify the values of the telemetry channel - ASSERT_TLM_RESULT(0, result); - // verify one event was sent - ASSERT_EVENTS_SIZE(1); - // verify the expected event was sent once - ASSERT_EVENTS_RESULT_SIZE(1); - // verify the expect value of the event - ASSERT_EVENTS_RESULT(0, result); - } - ``` - - This code is similar to the helper function in the previous section. - The main difference is that it invokes a port directly - (the `mathResultIn` port) instead of sending a command. - -1. Add the following test macro to `main.cpp`: - - ```c++ - TEST(Nominal, Result) { - Ref::Tester tester; - tester.testResult(); - } - ``` - -1. Run the tests. -Again you can try altering something in the component code -to see what effect it has on the test output. - - -#### Exercise: Random Testing - -F Prime provides a module called `STest` -that provides helper classes and functions for writing -unit tests. -As an exercise, use the interface provided by -`STest/STest/Pick.hpp` to pick random values to use in the -tests instead of using hard-coded values such as 2.0, 3.0, -and 10. - -**Modifying the code:** You will need to do the following: - -1. Add `#include "STest/Pick/Pick.hpp"` to `Tester.cpp`. - -1. Add the following - line to `Ref/MathSender/CMakeLists.txt`, before `register_fprime_ut`: - - ```cmake - set(UT_MOD_DEPS STest) - ``` - - This line tells the build system to make the unit test build - depend on the `STest` build module. - -1. Add `#include "STest/Random/Random.hpp"` to `main.cpp`. - -1. Add the following line to the `main` function of `main.cpp`, - just before the return statement: - - ```c++ - STest::Random::seed(); - ``` - - This line seeds the random number generator used by STest. - -**Running the tests:** -Recompile and rerun the tests. -Now go to -`Ref/build-fprime-automatic-native-ut/Ref/MathSender` and inspect the -file `seed-history`. -This file is a log of random seed values. -Each line represents the seed used in the corresponding run. - -**Fixing the random seed:** -Sometimes you may want to run a test with a particular seed value, -e.g., for replay debugging. -To do this, put the seed value into a file `seed` in the same -directory as `seed-history`. -If the file `seed` exists, then STest will use the seed it contains instead -of generating a new seed. - -Try the following: - -1. Copy the last value _S_ of `seed-history` into `seed`. - -1. In `Ref/MathSender`, re-run the unit tests a few times. - -1. Inspect `Ref/build-fprime-automatic-native-ut/Ref/MathSender/seed-history`. -You should see that the value _S_ was used in the runs you just did -(corresponding to the last few entries in `seed-history`). - -### Reference Implementation - -A reference implementation for this section is available at -`docs/Tutorials/MathComponent/MathSender`. - -## The MathReceiver Component - -Now we will build and test the `MathReceiver` component. -We will use the same five steps as for the -`MathSender` component. - -### Construct the FPP Model - -**Create the MathReceiver directory:** -Create the directory `Ref/MathReceiver`. - -**Create the FPP model file:** -In directory `Ref/MathReceiver`, create a file -`MathReceiver.fpp` with the following contents: - -```fpp -!include ../MathReceiver/MathReceiver.fpp -``` - -This code defines a component `Ref.MathReceiver`. -The component is **queued**, which means it has a queue -but no thread. -Work occurs when the thread of another component invokes -the `schedIn` port of this component. - -We have divided the specifiers of this component into six groups: - -1. **General ports:** There are three ports: -an input port `mathOpIn` for receiving a math operation, -an output port `mathResultOut` for sending a math result, and -an input port `schedIn` for receiving invocations from the scheduler. -`mathOpIn` is asynchronous. -That means invocations of `mathOpIn` put messages on a queue. -`schedIn` is synchronous. -That means invocations of `schedIn` immediately call the -handler function to do work. - -1. **Special ports:** -As before, there are special ports for commands, events, telemetry, -and time. -There are also special ports for getting and setting parameters. -We will explain the function of these ports below. - -1. **Parameters:** There is one **parameter**. -A parameter is a constant that is configurable by command. -In this case there is one parameter `FACTOR`. -It has the default value 1.0 until its value is changed by command. -When doing math, the `MathReceiver` component performs the requested -operation and then multiplies by this factor. -For example, if the arguments of the `mathOpIn` port -are _v1_, `ADD`, and _v2_, and the factor is _f_, -then the result sent on `mathResultOut` is -_(v1 + v2) f_. - -1. **Events:** There are three event reports: - - 1. `FACTOR_UPDATED`: Emitted when the `FACTOR` parameter - is updated by command. - This event is **throttled** to a limit of three. - That means that after the event is emitted three times - it will not be emitted any more, until the throttling - is cleared by command (see below). - - 1. `OPERATION_PERFORMED`: Emitted when this component - performs a math operation. - - 1. `THROTTLE_CLEARED`: Emitted when the event throttling - is cleared. - -1. **Commands:** There is one command for clearing -the event throttle. - -1. **Telemetry:** -There two telemetry channels: one for reporting -the last operation received and one for reporting -the factor parameter. - -For the parameters, events, commands, and telemetry, we chose -to put in all the opcodes and identifiers explicitly. -These can also be left implicit, as in the `MathSender` -component example. -For more information, see -[_The FPP User's Guide_](https://fprime-community.github.io/fpp/fpp-users-guide.html#Defining-Components). - -### Add the Model to the Project - -Follow the steps given for the -`MathSender` component. - -### Build the Stub Implementation - -Follow the same steps as for the -`MathSender` component. - -### Complete the Implementation - -**Fill in the mathOpIn handler:** -In `MathReceiver.cpp`, complete the implementation of -`mathOpIn_handler` so that it looks like this: - -```cpp -void MathReceiver :: - mathOpIn_handler( - const NATIVE_INT_TYPE portNum, - F32 val1, - const MathOp& op, - F32 val2 - ) -{ - - // Get the initial result - F32 res = 0.0; - switch (op.e) { - case MathOp::ADD: - res = val1 + val2; - break; - case MathOp::SUB: - res = val1 - val2; - break; - case MathOp::MUL: - res = val1 * val2; - break; - case MathOp::DIV: - res = val1 / val2; - break; - default: - FW_ASSERT(0, op.e); - break; - } - - // Get the factor value - Fw::ParamValid valid; - F32 factor = paramGet_FACTOR(valid); - FW_ASSERT( - valid.e == Fw::ParamValid::VALID || valid.e == Fw::ParamValid::DEFAULT, - valid.e - ); - - // Multiply result by factor - res *= factor; - - // Emit telemetry and events - this->log_ACTIVITY_HI_OPERATION_PERFORMED(op); - this->tlmWrite_OPERATION(op); - - // Emit result - this->mathResultOut_out(0, res); - -} -``` - -This code does the following: - -1. Compute an initial result based on the input values and -the requested operation. - -1. Get the value of the factor parameter. -Check that the value is a valid value from the parameter -database or a default parameter value. - -1. Multiply the initial result by the factor to generate -the final result. - -1. Emit telemetry and events. - -1. Emit the result. - -Note that in step 1, `op` is an enum (a C++ class type), and `op.e` -is the corresponding numeric value (an integer type). -Note also that in the `default` case we deliberately fail -an assertion. -This is a standard pattern for exhaustive case checking. -We should never hit the assertion. -If we do, then a bug has occurred: we missed a case. - -**Fill in the schedIn handler:** -In `MathReceiver.cpp`, complete the implementation of -`schedIn_handler` so that it looks like this: - -```c++ -void MathReceiver :: - schedIn_handler( - const NATIVE_INT_TYPE portNum, - NATIVE_UINT_TYPE context - ) -{ - U32 numMsgs = this->m_queue.getNumMsgs(); - for (U32 i = 0; i < numMsgs; ++i) { - (void) this->doDispatch(); - } -} -``` - -This code dispatches all the messages on the queue. -Note that for a queued component, we have to do this -dispatch explicitly in the `schedIn` handler. -For an active component, the framework auto-generates -the dispatch code. - -**Fill in the CLEAR_EVENT_THROTTLE command handler:** -In `MathReceiver.cpp`, complete the implementation of -`CLEAR_EVENT_THROTTLE_cmdHandler` so that it looks like this: - -```c++ -void MathReceiver :: - CLEAR_EVENT_THROTTLE_cmdHandler( - const FwOpcodeType opCode, - const U32 cmdSeq - ) -{ - // clear throttle - this->log_ACTIVITY_HI_FACTOR_UPDATED_ThrottleClear(); - // send event that throttle is cleared - this->log_ACTIVITY_HI_THROTTLE_CLEARED(); - // reply with completion status - this->cmdResponse_out(opCode, cmdSeq, Fw::CmdResponse::OK); -} -``` - -The call to `log_ACTIVITY_HI_FACTOR_UPDATED_ThrottleClear` clears -the throttling of the `FACTOR_UPDATED` event. -The next two lines send a notification event and send -a command response. - -**Add a parameterUpdated function:** -Add the following function to `MathReceiver.cpp`. -You will need to add the corresponding function header -to `MathReceiver.hpp`. - -```c++ -void MathReceiver :: - parameterUpdated(FwPrmIdType id) -{ - switch (id) { - case PARAMID_FACTOR: { - Fw::ParamValid valid; - F32 val = this->paramGet_FACTOR(valid); - FW_ASSERT( - valid.e == Fw::ParamValid::VALID || valid.e == Fw::ParamValid::DEFAULT, - valid.e - ); - this->log_ACTIVITY_HI_FACTOR_UPDATED(val); - break; - } - default: - FW_ASSERT(0, id); - break; - } -} -``` - -This code implements an optional function that, if present, -is called when a parameter is updated by command. -The parameter identifier is passed in as the `id` argument -of the function. -Here we do the following: - -1. If the parameter identifier is `PARAMID_FACTOR` (the parameter -identifier corresponding to the `FACTOR` parameter), -then get the parameter value and emit an event report. - -1. Otherwise fail an assertion. -This code should never run, because there are no other -parameters. - -### Write and Run Unit Tests - -#### Set up the Unit Test Environment - -1. Follow the steps given for the -`MathSender` component. - -1. Follow the steps given under **Modifying the code** -for the -random testing exercise, -so that you can use STest to pick random values. - -#### Add Helper Code - -**Add a ThrottleState enum class:** -Add the following code to the beginning of the -`Tester` class in `Tester.hpp`: - -```c++ -private: - - // ---------------------------------------------------------------------- - // Types - // ---------------------------------------------------------------------- - - enum class ThrottleState { - THROTTLED, - NOT_THROTTLED - }; -``` - -This code defines a C++ enum class for recording whether an -event is throttled. - -**Add helper functions:** -Add each of the functions described below to the -"Helper methods" section of `Tester.cpp`. -For each function, you must add -the corresponding function prototype to `Tester.hpp`. -After adding each function, compile the unit tests -to make sure that everything still compiles. -Fix any errors that occur. - -Add a `pickF32Value` function. - -```c++ -F32 Tester :: - pickF32Value() -{ - const F32 m = 10e6; - return m * (1.0 - 2 * STest::Pick::inUnitInterval()); -} -``` - -This function picks a random `F32` value in the range -_[ -10^6, 10^6 ]_. - -Add a `setFactor` function. - -```c++ -void Tester :: - setFactor( - F32 factor, - ThrottleState throttleState - ) -{ - // clear history - this->clearHistory(); - // set the parameter - this->paramSet_FACTOR(factor, Fw::ParamValid::VALID); - const U32 instance = STest::Pick::any(); - const U32 cmdSeq = STest::Pick::any(); - this->paramSend_FACTOR(instance, cmdSeq); - if (throttleState == ThrottleState::NOT_THROTTLED) { - // verify the parameter update notification event was sent - ASSERT_EVENTS_SIZE(1); - ASSERT_EVENTS_FACTOR_UPDATED_SIZE(1); - ASSERT_EVENTS_FACTOR_UPDATED(0, factor); - } - else { - ASSERT_EVENTS_SIZE(0); - } -} -``` - -This function does the following: - -1. Clear the test history. - -1. Send a command to the component to set the `FACTOR` parameter -to the value `factor`. - -1. If `throttleState` is `NOT_THROTTLED`, then check -that the event was emitted. -Otherwise check that the event was throttled (not emitted). - -Add a function `computeResult` to `Tester.cpp`. - -```c++ -F32 Tester :: - computeResult( - F32 val1, - MathOp op, - F32 val2, - F32 factor - ) -{ - F32 result = 0; - switch (op.e) { - case MathOp::ADD: - result = val1 + val2; - break; - case MathOp::SUB: - result = val1 - val2; - break; - case MathOp::MUL: - result = val1 * val2; - break; - case MathOp::DIV: - result = val1 / val2; - break; - default: - FW_ASSERT(0, op.e); - break; - } - result *= factor; - return result; -} -``` - -This function carries out the math computation of the -math component. -By running this function and comparing, we can -check the output of the component. - -Add a `doMathOp` function to `Tester.cpp`. - -```c++ -void Tester :: - doMathOp( - MathOp op, - F32 factor - ) -{ - - // pick values - const F32 val1 = pickF32Value(); - const F32 val2 = pickF32Value(); - - // clear history - this->clearHistory(); - - // invoke operation port with add operation - this->invoke_to_mathOpIn(0, val1, op, val2); - // invoke scheduler port to dispatch message - const U32 context = STest::Pick::any(); - this->invoke_to_schedIn(0, context); - - // verify the result of the operation was returned - - // check that there was one port invocation - ASSERT_FROM_PORT_HISTORY_SIZE(1); - // check that the port we expected was invoked - ASSERT_from_mathResultOut_SIZE(1); - // check that the component performed the operation correctly - const F32 result = computeResult(val1, op, val2, factor); - ASSERT_from_mathResultOut(0, result); - - // verify events - - // check that there was one event - ASSERT_EVENTS_SIZE(1); - // check that it was the op event - ASSERT_EVENTS_OPERATION_PERFORMED_SIZE(1); - // check that the event has the correct argument - ASSERT_EVENTS_OPERATION_PERFORMED(0, op); - - // verify telemetry - - // check that one channel was written - ASSERT_TLM_SIZE(1); - // check that it was the op channel - ASSERT_TLM_OPERATION_SIZE(1); - // check for the correct value of the channel - ASSERT_TLM_OPERATION(0, op); - -} -``` - -This function is similar to the `doMath` helper function that -we wrote for the `MathSender` component. -Notice that the method for invoking a port is different. -Since the component is queued, we don't call `doDispatch` -directly. -Instead we invoke `schedIn`. - -#### Write and Run Tests - -For each of the tests described below, you must add the -corresponding function prototype to `Tester.hpp` -and the corresponding test macro to `main.cpp`. -If you can't remember how to do it, look back at the -`MathSender` examples. -After writing each test, run all the tests and make sure -that they pass. - -**Write an ADD test:** -Add the following function to the "Tests" section of `Tester.cpp`: - -```c++ -void Tester :: - testAdd() -{ - // Set the factor parameter by command - const F32 factor = pickF32Value(); - this->setFactor(factor, ThrottleState::NOT_THROTTLED); - // Do the add operation - this->doMathOp(MathOp::ADD, factor); -} -``` - -This function calls the `setFactor` helper function -to set the factor parameter. -Then it calls the `doMathOp` function to -do a math operation. - -**Write a SUB test:** -Add the following function to the "Tests" section of `Tester.cpp`: - -```c++ -void Tester :: - testSub() -{ - // Set the factor parameter by loading parameters - const F32 factor = pickF32Value(); - this->paramSet_FACTOR(factor, Fw::ParamValid::VALID); - this->component.loadParameters(); - // Do the operation - this->doMathOp(MathOp::SUB, factor); -} -``` - -This test is similar to `testAdd`, but it shows -another way to set a parameter. -`testAdd` showed how to set a parameter by command. -You can also set a parameter by initialization, as follows: - -1. Call the `paramSet` function as shown. -This function sets the parameter value in -the part of the test harness that mimics the behavior of the -parameter database component. - -1. Call the `loadParameters` function as shown. -In flight, the function `loadParameters` is typically called at the -start of FSW to load the parameters from the database; -here it loads the parameters from the test harness. -There is no command to update a parameter, so `parameterUpdated` -is not called, and no event is emitted. - -As before, after setting the parameter we call `doMathOp` -to do the operation. - -**Write a MUL test:** -This test is the same as the ADD test, except that it -uses MUL instead of add. - -**Write a DIV test:** -This test is the same as the SUB test, except that it -uses DIV instead of SUB. - -**Write a throttle test:** -Add the following constant definition to the top of the `Tester.cpp` file: - -```C++ -#define CMD_SEQ 42 -``` - -Then add the following function to the "Tests" section of `Tester.cpp`: - -```c++ -void Tester :: - testThrottle() -{ - - // send the number of commands required to throttle the event - // Use the autocoded value so the unit test passes if the - // throttle value is changed - const F32 factor = pickF32Value(); - for ( - U16 cycle = 0; - cycle < MathReceiverComponentBase::EVENTID_FACTOR_UPDATED_THROTTLE; - cycle++ - ) { - this->setFactor(factor, ThrottleState::NOT_THROTTLED); - } - - // Event should now be throttled - this->setFactor(factor, ThrottleState::THROTTLED); - - // send the command to clear the throttle - this->sendCmd_CLEAR_EVENT_THROTTLE(INSTANCE, CMD_SEQ); - // invoke scheduler port to dispatch message - const U32 context = STest::Pick::any(); - this->invoke_to_schedIn(0, context); - // verify clear event was sent - ASSERT_EVENTS_SIZE(1); - ASSERT_EVENTS_THROTTLE_CLEARED_SIZE(1); - - // Throttling should be cleared - this->setFactor(factor, ThrottleState::NOT_THROTTLED); - -} -``` - -This test first loops over the throttle count, which is stored -for us in the constant `EVENTID_FACTOR_UPDATED_THROTTLE` -of the `MathReceiver` component base class. -On each iteration, it calls `setFactor`. -At the end of this loop, the `FACTOR_UPDATED` event should be -throttled. - -Next the test calls `setFactor` with a second argument of -`ThrottleState::THROTTLED`. -This code checks that the event is throttled. - -Next the test sends the command `CLEAR_EVENT_THROTTLE`, -checks for the corresponding notification event, -and checks that the throttling is cleared. - -### Reference Implementation - -A reference implementation for this section is available at -`docs/Tutorials/MathComponent/MathReceiver`. - -### Exercises - -#### Adding Telemetry - -Add a telemetry channel that records the number of math -operations performed. - -1. Add the channel to the FPP model. - -1. In the component implementation class, add a member -variable `numMathOps` of type `U32`. -Initialize the variable to zero in the class constructor. - -1. Revise the `mathOpIn` handler so that it increments -`numMathOps` and emits the updated value as telemetry. - -1. Revise the unit tests to cover the new behavior. - -#### Error Handling - -Think about what will happen if the floating-point -math operation performed by `MathReceiver` causes an error. -For example, suppose that `mathOpIn` is invoked with `op = DIV` -and `val2 = 0.0`. -What will happen? -As currently designed and implemented, the `MathReceiver` -component will perform the requested operation. -On some systems the result will be `INF` (floating-point infinity). -In this case, the result will be sent back to `MathSender` -and reported in the usual way. -On other systems, the hardware could issue a floating-point exception. - -Suppose you wanted to handle the case of division by zero -explicitly. -How would you change the design? -Here are some questions to think about: - -1. How would you check for division by zero? -Note that `val2 = 0.0` is not the only case in which a division -by zero error can occur. -It can also occur for very small values of `val2`. - -1. Should the error be caught in `MathSender` or `MathReceiver`? - -1. Suppose the design says that `MathSender` catches the error, -and so never sends requests to `MathReceiver` to divide by zero. -What if anything should `MathReceiver` do if it receives -a divide by zero request? -Carry out the operation normally? -Emit a warning? -Fail a FSW assertion? - -1. If the error is caught by `MathReceiver`, does the -interface between the components have to change? -If so, how? -What should `MathSender` do if `MathReceiver` -reports an error instead of a valid result? - -Revise the MathSender and MathReceiver components to implement your -ideas. -Add unit tests covering the new behavior. - -## Updating the Ref Deployment - -The next step in the tutorial is to define instances of the -`MathSender` and `MathReceiver` components and add them -to the `Ref` topology. - -### Defining the Component Instances - -Go to the directory `Ref/Top` and open the file `instances.fpp`. -This file defines the instances used in the topology for the -`Ref` application. -Update this file as described below. - -**Define the mathSender instance:** -At the end of the section entitled "Active component instances," -add the following lines: - -```fpp -instance mathSender: Ref.MathSender base id 0xE00 \ - queue size Default.QUEUE_SIZE \ - stack size Default.STACK_SIZE \ - priority 100 -``` - -This code defines an instance `mathSender` of component -`MathSender`. -It has **base identifier** 0xE00. -FPP adds the base identifier to each the relative identifier -defined in the component to compute the corresponding -identifier for the instance. -For example, component `MathSender` has a telemetry channel -`MathOp` with identifier 1, so instance `mathSender` -has a command `MathOp` with identifier 0xE01. - -The following lines define the queue size, stack size, -and thread priority for the active component. -Here we give `mathSender` the default queue size -and stack size and a priority of 100. - -**Define the mathReceiver instance:** -At the end of the section "Queued component instances," -add the following lines: - -```fpp -instance mathReceiver: Ref.MathReceiver base id 0x2700 \ - queue size Default.QUEUE_SIZE -``` - -This code defines an instance `mathReceiver` of -component `MathReceiver`. -It has base identifier 0x2700 and the default queue size. - -**More information:** -For more information on defining component instances, -see -[_The FPP User's Guide_](https://fprime-community.github.io/fpp/fpp-users-guide.html#Defining-Component-Instances). - -### Updating the Topology - -Go to the directory `Ref/Top` and open the file `topology.fpp`. -This file defines the topology for the `Ref` application. -Update this file as described below. - -**Add the new instances:** -You should see a list of instances, each of which begins -with the keyword `instance`. -After the line `instance linuxTime`, add the following -lines: - -```fpp -instance mathSender -instance mathReceiver -``` - -These lines add the `mathSender` and `mathReceiver` -instances to the topology. - -**Check for unconnected ports:** -Run the following commands in the `Ref/Top` directory: - -```bash -fprime-util fpp-check -u unconnected.txt -cat unconnected.txt -``` - -You should see a list of ports -that are unconnected in the `Ref` topology. -Those ports will include the ports for the new instances -`mathSender` and `mathReceiver`. - -**Connect mathReceiver to rate group 1:** -Find the line that starts `connections RateGroups`. -This is the beginning of the definition of the `RateGroups` -connection graph. -After the last entry for the `rateGroup1Comp` (rate group 1) add -the following line: - -```fpp -rateGroup1Comp.RateGroupMemberOut -> mathReceiver.schedIn -``` - -This line adds the connection that drives the `schedIn` -port of the `mathReceiver` component instance. - -**Re-run the check for unconnected ports:** -You should see that `mathReceiver.schedIn` is now connected -(it no longer appears in the list). - -**Add the Math connections:** -Find the Uplink connections that begin with the line -`connections Uplink`. -After the block of that definition, add the following -lines: - -```fpp -connections Math { - mathSender.mathOpOut -> mathReceiver.mathOpIn - mathReceiver.mathResultOut -> mathSender.mathResultIn -} -``` - -These lines add the connections between the `mathSender` -and `mathReceiver` instances. - -**Re-run the check for unconnected ports:** -When this capability exists, you will be able to see -that the `mathSender` and `mathReceiver` ports are connected. - -**More information:** -For more information on defining topologies, -see -[_The FPP User's Guide_](https://fprime-community.github.io/fpp/fpp-users-guide.html#Defining-Topologies). - -### Building the Ref Deployment - -Go to the `Ref` directory. -Run `fprime-util build --jobs 4`. -The updated deployment should build without errors. -The generated files are located at -`Ref/build-fprime-automatic-native/Ref/Top`. - -### Visualizing the Ref Topology - -Now we will see how to create a visualization (graphical rendering) -of the Ref topology. - -**Generate the layout:** -For this step, we will use the F Prime Layout (FPL) tool. -If FPL is not installed on your system, then install it now: -clone [this repository](https://github.com/fprime-community/fprime-layout) -and follow the instructions. - -In directory `Ref/Top`, run the following commands in an sh-compatible -shell such as bash. -If you are using a different shell, you can run `sh` -to enter the `sh` shell, run these commands, and enter -`exit` when done. -Or you can stay in your preferred shell and adjust these commands -appropriately. - -```bash -cp ../build-fprime-automatic-native/Ref/Top/RefTopologyAppAi.xml . -mkdir visual -cd visual -fpl-extract-xml < ../RefTopologyAppAi.xml -mkdir Ref -for file in `ls *.xml` -do -echo "laying out $file" -base=`basename $file .xml` -fpl-convert-xml $file | fpl-layout > Ref/$base.json -done -``` - -This step extracts the connection graphs from the topology XML and -converts each one to a JSON layout file. - -**Render the layout:** -For this step, we will use the F Prime Visualizer (FPV) tool. -If FPV is not installed on your system, then install it now: -clone [this repository](https://github.com/fprime-community/fprime-visual) -and follow the instructions. - -In directory `Ref/Top`, run the following commands in an sh-compatible -shell. -Replace `[path to fpv root]` with the path to the -root of the FPV repo on your system. - -```bash -echo DATA_FOLDER=Ref/ > .fpv-env -nodemon [path to fpv root]/server/index.js ./.fpv-env -``` - -You should see the FPV server application start up on the -console. - -Now open a browser and navigate to `http://localhost:3000`. -You should see a Topology menu at the top of the window -and a rendering of the Command topology below. -Select Math from the topology menu. -You should see a rendering of the Math topology. -It should look similar to the -topology diagram shown above. - -You can use the menu to view other topology graphs. -When you are done, close the browser window and -type control-C in the console to shut down the FPV server. - -### Reference Implementation - -A reference implementation for this section is available at -`docs/Tutorials/MathComponent/Top`. -To build this implementation, copy the files -`instances.fpp` and `topology.fpp` from -that directory to `Ref/Top`. - -## Running the Ref Deployment - -Now we will use the F Prime Ground Data System (GDS) to run the Ref deployment. -Go to the `Ref` directory and run `fprime-gds`. -You should see some activity on the console. -The system is starting the Ref deployment executable, starting the GDS, -and connecting them over the local network on your machine. -After several seconds, a browser window should appear. - -### Sending a Command - -At the top of the window are several buttons, each of which corresponds to -a GDS view. -Select the Commanding button (this is the view that is selected -when you first start the GDS). -In the Mnemonic menu, start typing `mathSender.DO_MATH` in the text box. -As you type, the GDS will filter the menu selections. -When only one choice remains, stop typing and press return. -You should see three boxes appear: - -1. A text box for entering `val1`. - -1. A menu for entering `op`. - -1. A text box for entering `val2`. - -Fill in the arguments corresponding to the operation `1 + 2`. -You can use the tab key to move between the boxes. -When you have done this, click the Send Command button. -You should see a table entry at the bottom of the window -indicating that the command was sent. - -### Checking Events - -Now click on the Events button at the top of the window. -The view changes to the Events tab. -You should see events indicating that the command you sent was -dispatched, received, and completed. -You should also see events indicating that `mathReceiver` -performed an `ADD` operation and `mathSender` -received a result of 3.0. - -### Checking Telemetry - -Click on the Channels button at the top of the window. -You should see a table of telemetry channels. -Each row corresponds to the latest value of a telemetry -channel received by the GDS. -You should see the channels corresponding to the input -values, the operation, and the result. - -### Setting Parameters - -Go back to the Commanding tab. -Select the command `mathReceiver.FACTOR_PRM_SET`. -This is an auto-generated command for setting the -parameter `FACTOR`. -Type the value 2.0 in the `val` box and click Send Command. -Check the events to see that the command was dispatched -and executed. -You should also see the events sent by the code -that you implemented. - -In the Commanding tab, issue the command `1 + 2` again. -Check the Events tab. -Because the factor is now 2.0, you should see a result -value of 6.0. - -### Saving Parameters - -When you set a parameter by command, the new parameter -value resides in the component that receives the command. -At this point, if you stop and restart FSW, the parameter -will return to its original value (the value before you -sent the command). - -At some point you may wish to update parameters more permanently. -You can do this by saving them to non-volatile storage. -For the Ref application, "non-volatile storage" means the -file system on your machine. - -To save the parameter `mathReceiver.FACTOR` to non-volatile storage, -do the following: - -1. Send the command `mathReceiver.FACTOR_PRM_SAVE`. -This command saves the parameter value to the **parameter database**, -which is a standard F Prime component for storing system parameters. - -1. Send the command `prmDb.PRM_SAVE_FILE`. -This command saves the parameter values in the parameter database -to non-volatile storage. - -Note that saving parameters is a two-step process. -The first step copies a single parameter from a component -to the database. -The second step saves all parameters in the database -to the disk. -If you do only the first step, the parameter will not be -saved to the disk. - -### GDS Logs - -As it runs, the GDS writes a log into a subdirectory of `Ref/logs`. -The subdirectory is stamped with the current date. -Go into the directory for the run you just performed. -(If the GDS is still running, you will have to do this in a -different shell.) -You should see the following logs, among others: - -* `Ref.log`: FSW console output. - -* `command.log`: Commands sent. - -* `event.log`: Event reports received. - -* `channel.log`: Telemetry points received. - -You can also view these logs via the GDS browser interface. -Click the Logs tab to go the Logs view. -Select the log you wish to inspect from the drop-down menu. -By default, there is no log selected. - -## Conclusion - -The Math Component tutorial has shown us how to create simple types, ports and -components for our application using the FPP modeling language. We have learned -how to use `fprime-util` to generate implementation stubs, the build cache, and -unit tests. We learned how to define our topology and use tools provided by -F´ to check and visualize the topology. Lastly, we learned how to use the -ground system to interact with our deployment. - -The user is now directed back to the [Tutorials](../README.md) for further -reading or to the [Cross-Compilation Tutorial](../CrossCompilation/Tutorial.md) -for instructions on how to cross-compile the Ref application completed in this -tutorial for the Raspberry Pi. diff --git a/docs/Tutorials/MathComponent/md/bad-refs.awk b/docs/Tutorials/MathComponent/md/bad-refs.awk deleted file mode 100644 index 62272e5b27..0000000000 --- a/docs/Tutorials/MathComponent/md/bad-refs.awk +++ /dev/null @@ -1,15 +0,0 @@ -# ---------------------------------------------------------------------- -# Check for refs that are not of the form -# #... (local ref) or http... (internet URL) -# The most common error here is to forget the # at the start of a local ref -# ---------------------------------------------------------------------- - -/&2 - exit 1 -fi - -./defined-tags < $1 > defined-tags.txt -./used-tags < $1 > used-tags.txt -undefined_tags=`./undefined-tags defined-tags.txt used-tags.txt` -if test -n "$undefined_tags" -then - echo "WARNING: References use undefined tags" 1>&2 - echo $undefined_tags | tr ' ' '\n' -fi - -bad_refs=`awk -f bad-refs.awk $1 | tr '\n' ',' | sed s'/,$//'` -if test -n "$bad_refs" -then - echo "WARNING: Malformed references" - echo $bad_refs | tr ',' '\n' -fi diff --git a/docs/Tutorials/MathComponent/md/defined-tags b/docs/Tutorials/MathComponent/md/defined-tags deleted file mode 100755 index 71ac652e42..0000000000 --- a/docs/Tutorials/MathComponent/md/defined-tags +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -e - -awk '/^ toc.md - -# Generate the final Markdown file -cat Tutorial.md | \ - awk -f tags.awk | \ - awk -f sections.awk | \ - awk -f include.awk \ - > ../Tutorial.md - -# Check for broken refs in the final Markdown file -./check-refs ../Tutorial.md diff --git a/docs/Tutorials/MathComponent/md/sections.awk b/docs/Tutorials/MathComponent/md/sections.awk deleted file mode 100644 index 687c333599..0000000000 --- a/docs/Tutorials/MathComponent/md/sections.awk +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env awk -f - -# ---------------------------------------------------------------------- -# sections.awk -# Add hierarchical section numbers to Markdown headers -# ---------------------------------------------------------------------- - -BEGIN { - MAX_LEVELS = 10 - in_code_block = 0 -} - -$1 ~ "^```" { in_code_block = !in_code_block } - -/^##+ / && !in_code_block { - new_level = length($1) - 1 - if (new_level > MAX_LEVELS) { - print "sections.awk: too many levels (" new_level ")" > "/dev/stderr" - exit(1) - } - ++levels[new_level] - for (i = new_level + 1; i <= MAX_LEVELS; ++i) - levels[i] = 0 - printf("%s ", $1) - for (i = 1; i <= new_level; ++i) { - printf("%d.", levels[i]) - } - line = $0 - sub(/^#+ +/, "", line) - printf(" %s\n", line) - next -} - -{ print } diff --git a/docs/Tutorials/MathComponent/md/tags.awk b/docs/Tutorials/MathComponent/md/tags.awk deleted file mode 100644 index 018cf22d86..0000000000 --- a/docs/Tutorials/MathComponent/md/tags.awk +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env awk -f - -# ---------------------------------------------------------------------- -# tags.awk -# Insert anchor tags for Markdown sections -# ---------------------------------------------------------------------- - -BEGIN { - level = 0 - in_code_block = 0 -} - -$1 ~ /^```/ && in_code_block == 0 { in_code_block = 1; print; next } -$1 ~ /^```/ && in_code_block == 1 { in_code_block = 0; print; next } - -$1 ~ /^##+$/ && !in_code_block { - level = length($1) - level_tag = "" - for (i = 2; i <= NF; ++i) { - if (level_tag == "") - level_tag = $i - else - level_tag = level_tag "-" $i - } - gsub(/[,:]/, "", level_tag) - level_tags[level] = level_tag - tag = "" - for (i = 1; i <= level; ++i) { - if (tag == "") - tag = level_tags[i] - else - tag = tag "_" level_tags[i] - } - print "" -} - -{ print $0 } diff --git a/docs/Tutorials/MathComponent/md/toc.awk b/docs/Tutorials/MathComponent/md/toc.awk deleted file mode 100644 index 50f5e04f0e..0000000000 --- a/docs/Tutorials/MathComponent/md/toc.awk +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env awk -f - -# ---------------------------------------------------------------------- -# toc.awk -# Generate table of contents -# Must generate tags first -# ---------------------------------------------------------------------- - -BEGIN { - in_code_block = 0 - print "## Table of Contents" - print "" -} - -$1 ~ "^```" { in_code_block = !in_code_block } - -/^##+ / && !in_code_block { - indent_level = length($1) - 2 - tag = prev_line - sub(/^[^"]*"/, "", tag) - sub(/"[^"]*$/, "", tag) - header = $0 - sub(/^#* */, "", header) - for (i = 1; i <= indent_level; ++i) - printf(" ") - print "* " header "" -} - -{ - prev_line = $0 -} diff --git a/docs/Tutorials/MathComponent/md/undefined-tags b/docs/Tutorials/MathComponent/md/undefined-tags deleted file mode 100755 index e1a401eccf..0000000000 --- a/docs/Tutorials/MathComponent/md/undefined-tags +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -e - -if ! test $# -eq 2 -then - echo 'usage: undefined-tags defined-tags used-tags' 1>&2 - exit 1 -fi - -diff -u $1 $2 | grep '^+' | grep -v '++' | sed 's/^\+//' diff --git a/docs/Tutorials/MathComponent/md/used-tags b/docs/Tutorials/MathComponent/md/used-tags deleted file mode 100755 index 98cf79c0ef..0000000000 --- a/docs/Tutorials/MathComponent/md/used-tags +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -e - -awk '/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∈nkhfB7ZEa%zW9xV_(ZuIS|d=qdH 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

O+rQ(7=A0*8^`N=v-;52En- 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 z.&-PyZ;d1wBz(45*1MWy;b+?$EM?x@N_H2~88G|-lg{z}!&^n?6$F_53ip=cBe ze(ZK=1S`IfK3MMR`gs@pwS3Xn%S-}n^=T>i8P4j@>4M`9fbJH71<5A&-c)_TYS(rU z4UWkAQItkFiczIXvVeMH*;i2N52;9lMZI4bc}XNe)v1ECYLa1#{_y0z>W3?aF>5A+ zt{}cv{8^en&o#U8L}EAFFm5T>ola>O1P+-@efscu1Az7&gibPR5nwtP4fS3OCKENL z!7X+>loKXygVzFnYdz4BJq-GJ>EMlzbp_390(oj6OmgVn12E*|Ppnt4A-DZv@y*yW zzZKY(;~5*0@bR)+v!Kk^{8oS8W)X;ms6Da(d@M#EfI!|p@nE#>%|XTflJ_h+M59?7 zg%WH7AkH>LOZ^Eyzyf;LBorKR`xU;kDNVJs?XHfb$jYMB>iW6yEEdOBv8y`Q9i^T)Um3sNItx)(&(IeV>Nag7X_%xZl79r{r zZ$~RF6e(OMH@QkzCVk=9!e)=36X3(it{H96c_Q9e)O%;Pa$EsPcuM}+e{YENgFU z06W+uR7vXEs?<;dZg3OxtnLh>L;D_s5L)TP=lF66YzH`n?v4Oa`3Q7uPkQ#O?1Jy` zR4Tk}Ewnv|4p4OO;012cD#BJen3pYD{p(t^LS@X$gRs|nk`=E&YthINHl*$C1wqCt zh;2Mx9s%^f;d_N0=jQ>%%>_KK(p28_r>9S|AdETP{PIJ(!Z}v^`Wi4+Jkb&_i`Gxt zm^@UiNh?~_8rECx?e|qzR|;L6CqP>GViQs%r3eIg?%{fxLGkH^FR6Et_n@ZTMZ(1@ zA0o+c8ep#~u28?UVErYd7cqO_TX$aTtS(#)JF00n$LL)bEnS(yUi{2j*(si>KX~@_ zU1DA;-!|Aa7GPRCa6QW|z9Sqtc(>qUCM<9WzjmYdZ3k;CJVPQdo^t{wGC=slZ_Y zrWe<$sHmxwhyf^L0dD0eh^tx#B9WYE&~=3e;v!vsVw zNPTI$0vSuv>_x9REqn?j8`gxK@>p1jd(^Bcgndg?^-9n6&2t!}ak%AHF%z~fTo9PiykH6>*F(8K(?x>=GFGIqTJ9-s?%Z7=JNcyUU+2B_rQCakow946wL?y6 z+KH{tP{Jnm8E09Aa;1%r(y3F_k!@wT*b2sossTe zl$mq@=^DbM4jgSPZV-0o?@6d~j*w=R&eu5GFSV~fOBYx{fpL)TJY=WWVMY;!8=*qlB|wE36fH-_4c{`c4Y@{4Azs(Q_i%^#wR@J-QI|jnWxDM$|7UnkT zioC8HnzCn+q7~jehsO3xn;C4FyR%gA=9aSw*kEEh)DKBJW80OcqQv@PMTLwzz$vR7 z4!b$=iggZkN@%Og4yYVTcHcl-#IXX!zHa{1wJrM5o)2Vns~H>DsXb`IrS*nLkM|@L zOLIhfeay!1Q|VqNMP&5ncrZE%XOFombEr+}jkk=1G{e)qwU&4?1bK`Rh**+XLY)tp z#g~*H<;|zOuxmKAheHd~A|O8yGWWeqKHh1hmTPS9UH^ZcQPqM@t1WlyBPz#sW2p5@ zM>1P!w|6JQ(7pwsTPdk305VB9aG*ltbs~P_@aN`=-eze&&ZAJC%!dv6P%jC&VIsx? zfo()a#7$V&x~(O+-V9c=)TNh^oT*@&AY4iV+gR_IAm;{IY!GZ@iP4EJg!+9Z{FTpt zEG0?#To-8HSe=`JstrKmZrY{?%*=lEjk-Ux{$~9l`-i^^TRjySkV)8HpRoZOS6#?~U_w~^E!ROF{q&6?QKy3yJ1-gEHIluGn0D)HFQ{6)@= z1^X+0?;SM(H23|9pnKQWPsUQN%cOyq>;eFwt@uqHsw@yWSHa_KLw@)Dm5VOWQ6{N#&qR&1dDfQ%ulw)HeLtFrGHTkW@e&+F zai1zYdzcoE=o87Bc+TmC)gjDMqz5R{%h~z8rd5{n0!3-zRO~278tPqc2G1* z{Ex-p#X0;pqEG#H0ShxLk(XuysY?-T$y?jZ#>7(iIR|HzqkXB7#IWa;9epjyS8Gkp zedQRLSMX&Omlujy#reyI(MgnoF_TVwQ-0}}@I-@%ipfBn0K1vU#E&=ttaOKfm53K9 z)B|zyI+G+ zicHS~_n3ygy&%a^=5=}?ga2LAc_Bwr@6Gi-=>ej5?tVepy38+Hh)Q}uxy#sGeaak& zZMgJd8%8}`ECxIlJaXFnot-AifCg5&(sLtyu@*m7lb2G?2sxFRTyh{rG?wU@ni_h3g+_i@n=F2vPow)R+6Ezr|uB{Im z$^!|dALmLN9PK~+i<-HzcZqNAodR+oqj;CT3gz*Uui zsm9=V&u*dPt>^;QFPfGhXJBhxJ;dlHM(9!EFYl)TxHqe9E8$bak0E&#g^ru=!agwXpswyt6-CurOaPz zm(}ia8{fXnUXA3h(Wa8tQa37bL+3m*W+3b zegk(=Cs@~nZ%S)iEHHS1F1`)W#rHh>IN&ToZ+Kql4KI{cop3#Q5i?D$5fOXD*nOfj zIRvTc=xJBQJUKbQIgsg%X!H7D|4maNa}KwrzIH9lrH^%JbalSM?vu=i99GAXRyJ=V z_7lTummN7PMsH@9nOb{~Xa4M(>B9`)^Flvr9`kuB zadTXd33)C~E*6TWe1{141Xqk#M7@M=Jdz9mp3O0cPaU!?-?uJ+njK(`>U3W>Iv>r9 z!%;uWhO0+vj^CV0ypT!3P_^cK8;mUjnutvw+s{_3f-+KEtZa?ONSOH0=~>T)=M><8 zo9Scsshlz8;;)T}Mj1Z_EGVQ9F&~7&-^cQkjUOUT32YztIE^Tc=92TvSNus6~-2Oh&<2&j@$A#@OC zU8m(AYEuF4)W&Rdtt}eu3eL6n;P_qOcZJorzOOkkoe^G^wt~3H)M*ZL01VF)Yyuow zu!I!18#a9%{f4&n)9?d{`ycKR+v59;Ue0r-Bbj03*W6D|Br6lcraMWJy> zI}kPKm^*enJFx96D%LHTu7LF&qwubvT|xjlF<}KXkBRo~iO` z7&F(jxZ}LbKA7uSS;*;cK1xT1O1p#|7eiYDVO$k%?;VD7vWI;$))mR4lss|AXc{pfM*h^tL@3TcPQcZoc-dC-u@0;7gliuTxx zU(B`e%gpJROf+;w3s(KX-+#MyH+?+c8=iRY!}lJz_P$k-@3_o+61pRqxd=M91MPBl z<9p7(Dg9ftUJHw!{wY+oezTgdhHYn44d@0mvnT_& z+t*jrv;D4UXS36lKE8l+54fZOTq#h{vzPt5k6o+w^7#zlZEXiW*{ z{1|Th=!dYUmY?E;zxCE+;a{c>T4Uf8f`(=9l-SUTI|iDR)F?;ws5Ufj!5Vf|B}T-! zSB}}&Uas>gpVs-_$l)53!;Uj;$EA-6`zUQ#TS8P(kc;iZgglN=|6LDgtz@=LDmnL4 zqXISsu%bR(`$sE93Yzt%(ar1HLP}61HuRbS^#!;R(|3&nh;;sPHSnoF{0wg@lgLe_ zzfiUlfERF!`herEXf{J9xjXTg(G%P)ytn3fAikeI?@gyje?x`0jhln3AJVP^kwOsO z-*n6#*STa8M?CRzbyIV!U{aEQ7w@a?Y6+*Gaw~{bkIwwUH8eSWJnA8UCGucZR9GS? zhb%+iS$=get@|pyeIhsIC_DVo>5)wT@eIG812@qNW>?3pM{g}NxJ$&J9DL&Z;^Nv|9osk+9V{CeXiZSRYp zGVwdFd)uG*`^M&T`jEC2pkcW{P2Rcn{?Z9QwLVK^O8k!MT5X9uC$7_y7+J3ZqPlWi zHeWdor36M1CwGtVsPb)uZL=An01C}oujn_Vug%6}*n)SfC+e+BhMSLV7fFDN`k$Zvy9nGMvM%8qPT;z&6hoyZel)Ze1FaYc1g zDzzoXef64kUXfi}LOnB18z0T|^0qm{3%I8_pKN-v%$U3jnh$55gY>Chr-j|l!BT(+ z`w~?Ja=Occ&wk}}b$l$miAmm!_Y%udV~58t_|;3?#8ybrnr8aeBQ8kydhvLM2hwT+ zU)iT$Mm0t~p7hX(2+Bn^oP_B5?uatrXdhVPR+36xk_3Ac{W_SuRK9&A(^*Jw_xST- z3?QeS=y;UoO4uauk6_Y}82Az747CtFv=Mmsuzo+vSOW_TB-99oR)S>P0o04**h6vf zV~mKSR0}|^oz$i3PqAj_8mfFS4Ivi;m)DY*Q7=wX6b(1)NQP(a7rEyG#cP=K(j%hdE4V+invOlb$MN;t_9Il-^|be@Q?zYg9{a*+=}Ce9nO#F* zX&id|@YUKtZMJb=VPs`PS{37i`^F2qK~HXVq@V#yEw9a@?TE)y*ROF7#~%VpQ<9+f zT3=CZu50;Re@FIJze%J+&)v0;T9|>u>90m;O{k)74A&v&pin_G^O!pNj{K$6jJr|0p&V?K$qA-^8sO zHXRH@0r`Tb=t}4gsT8Znu9F zl70(90nVBq8mI+tpQUppm6+nJb0v}cMFj3F8D-&+lAW9tkWb0-?5sGzw{Bcv>5XIV z>K+j9^Yp!M=cYz+sU)TEkyC3LYPL7zzeos%M-0DTMCC%m!`vcXHVNbnXdW!MT(7wP zc!YKT&-TPXi@lm$_yl?iIrCvqmDfj%(#suqE<>2<&YkBPl{FnHgsDB=9(77N?dkfd z@2;dj!EpNsBhT1S5rF)5jj&vo{PgkYjj8^kOcUKz)7tlE6CqM`@?C*T`l1!L6w`i$ zd2bxOjh4Efv_nMIvzr7h%X#Y z`U&c}#vmDCM%tRHD8e^-uQ~E?NIiBn0kZ{8&PzivBp23wM}Yv9qxIj}9ro9bT<}F1r-dgU{QTe1XP{C+l#*vkA9xU=|e0rkX^%*oBfJ zfH-0YO+S7Z_MN)S5|B490Z#XmYH5+*t8M1CJvO>a52|F1b+4y1X)Qb9`SKg2>tZ?V zmpl#mX;-EI%lC%&zBpEkv^;yc<;ZVbI#$)h5vr2$I*xnwURYjy{*9SQGOz zeQ(SM+ciygyHt9__nfPR9c6#%nuJ<>2*$0b6U3Yx>V)@8kF{^#2TyF^*GBabf`O-| zB2{ySadYAOGM^+WxU25;H*MuF>H9SX<^S}KJpYOwlMxTPig;oe5v9o4K9djv6KLRn zdr?2z2zWYM^ikMG_m0K7A6IQVu%TFhHCXZBk8N9glm%oZX3gbL?rxNo`wtTlR7|7Q zCkbx*@yRe=eZDT#{&0kpIH`7BG%zUzQ+;Hf_U1rsEJ>OOlPxuf05c(NOC62CbLN}Z zG6-cFQ|uY+Q(;17$YI>O4gS}o4M12oQ9_eR}e}iJpQ^y#(AlCd!YSk+#r1Hti zLs+qw1Xr9_P~_y4^3Z#`S1!@$_fhArbJ+sRnU3`53SuxyuDReX!u^TpQ&+ZylRq6bZ$bMhJodv;rpnFpV}s#%_&+9>_)ZGGos+N+B3rk5;yGEL#0-k4jT<) z(V~Ur>twfokZkn$tmhvRfL-`cGkqD>2=^hr#?c(gz7$j zXzoekdhY0ws3&{r4c8Y-+fvsTiGh#$TM(6X?wOww)HlnYpZI?1T9D2ZeOCR$C$^bV z-V?0-=SMq~*4zMu6)xmRifUV?n9pxQV( zQ~f}2={F-KtC8^D@%q>V@0(I!NUZp?x7wVd2u<7pt- zHS>E?e0JPMKFDo%b&m zfKbArB&FAT8B0Iw@fQvzQ87nhgp-RIM`AR|+<{ASTy3#R$?Km^tKR&v;=9GTf~gnP z0VPjB)#GjD3X)>%$h){Sy%iLYh$>B#*wj|rkHj3wu8u~1#doJx8!s4v8QWKU4fm_1 zkT!FgXccsU)mgZl=)2rCb{mYRFIJIqbC}m08Aad>*D&oniGpvV1JLL)Mi3*C&|}6Q z56|yRPrP=Nm2&f2rRbvT>DM+yr7iXikM9k(@R7>P=d03r@)y}ocx(vPWIS}t@9=S4 zs8lQ6w)*|V?F(jBpLS%7*&A`}=Xvv}e}}-jvg0y%n#4gIobEsNNF64i7_4K zds42&t3HtnoQo`*G!W<+k4}_qNf_6DUDl5v_&cZ9wMYkY zWcPu_vg$?n3_OW$c2uh^L+iZG@iq({ux;PzFy8_M3xP;XTr=RGC(HiPO)zwb`oixE6oJM=iU+`IwyCp-}YM2A0 zx0u+OwlTBwN+qz`d@h^tg3Anwa2;pK-eg$WRda$o;VmOWpYTcf(Vi&8l-8UyyA?VZ7=jgSY0lJzE^>P;lZT9TBvPs?uY zo=}S3&SB!Lxp#eSt zvmP#)#4z`5v)Vc>xwWTy`euQ7D%Ue};>YJjmReWZ|NS36tA;%T_>@vmEUC6?aLaHU zs=B)Ym_qXfZ5pz7K+n@Hn>Oh{`}Gb3P!T9CUJ3$HpDF?7 zejW@?WM?Ijl``mZzo^94asZ8m;IAb>SNpzO7!?633~kd$A1vsvhcn)S?! z9p{WK9-Kq14g#CLBS_kxQ}x(begM@O4hJSwuCwhq__IoG_6qk3fH4#G>+8G&A=3oN zByVaTNIVN7R$jpR{OUU>g*kLHM&As&_B1yW6~KAJmzlTPv7w#CCu@BP&v6KOG zx>F3@G7Pq*;&x5WQegk>6B>FvgtbeAYXNF6Fc173sx04ZKru&VLjPkPU;_6l`FzO1 zDYgGU=7IO1G;WirgH8nS%K?yeChwL3U6t`C&YCz_ubB3Mj?kYU0K|F?IFn1EM_1?@ z(40@8F(mOJ?Cp+of-C3oL8CyX%_4kgK9aev)G|z`*nzNa+>BXxVnq)LzIt~|YYXXO z&^=fJ=*J9B@w4c4J0%Yq#zM-Zbls~#%wEwIpl8;Z%fE8>y@%6Zj>ZAFf4$ZA0iZNj ze478WOLG0Q+je|V$3wZ2ABi9;kK2U>g=!vy9Yq$qx={;Y_?BCQPTg>rOJ3p52H&Xz zH0A})6|ly^ISCO5Mw7eY!MWXr?$t-;&~bR6^RC|kMVmZ310D=>*{ zo&yX}N`E^QLIt1uX0bf`t!o5Z1kSBbXxC!*p8%5mcwv`;vs=*pNX&yvJ5=x*ljyF?V*T!Sn$Y?R^_(kwe*B18Q(!)=|RpRh&h`!A|?gL>k!=B zuHC;7tN84DfZsz%k$7YBmg72*{|=Ef78^Js)AW`NTf*H*oc+Fe6Trz4-2kBgj##pQ zQ6c31O`h|@6?KcR^~l#-jcUA)Gk?76e0^ryZ#BJk?^zSwGLUHnAJOI);BGE$cAjI{ z986{U3O{+<)}Z+Wl*3kr2`*T0`39k2R-n;Tt#QO#f_$RwS4#Rpt&4y?jv532RZ7NI zUhV(`Qc!m`(R(`46->l>`wb(Hm=Ll(3YkfN8Al*Nim3#?_8)LH2cSoR2Uz1t{dCME zL-TwoL%$1QxOoZhR|qJe5+`O7%Lw7#~A~>I*i3bj|C+C{H>XLUG!Qk5t$V@uO#qnG3cr3)0=tbEem|o zOyFc9GWS3Yj!{G|0Smaa2-uq8%zvA&S zsF88S+Z=!hOA@+TQVo_{fX{X0^F<4u4L~!mpll)6fD6)sy6Da%-!0GAKsbI#y#L5W z$cVd;>t?^pdyEs6f}%rh1W*(29?VM~QXW89e;nTX!TH$^0ht2^Zf=15Rtjz8v24kQ zeA1wGWlHFL_Sqq~a-w!D@ARu>i6@}%bO2an&K+G)it;Af2{7xHV~!;$`v?f6MVwda ztO79Z7iOl9ZdTMhZMbyUp3E&Q>2*)y?2&~jP>FcWI83f;@7CiN`!`nrgulT(PFF+V zvFJu6jC&Y6dC0mPoVEIdNTwFI=mMROde@nlvrrchJ#MYCfKKSg|0 z1j@j}I|NW!o5=Bklcb^BARZ4nCkltpE>aBamqfhD3Z#_Kci)C+MRppsNeT4rMhkaU zgVRTe(bNXAad&V45j^l)$_99qCC&6C_b;k{ z6W?7S$$y6{5xL>8!8=6!Am`oZ!0DkhVWMZnC&c==TWby=<)^iHNAm*0X0r;uG~YP( zmzYflVs;r+-5sb<)@c1lZK&TKV5oGxFhdokus{)IB8Ifwr}MRm2PfV$H*XX}A!0`7ixQE&`*;X?WRrZW;Az`wibQ z$;5_5(N`qyZer!S$Q(oLq9j8$4V|!>Oy{wuso-^TkkY7xKHU3{4ZCNzHEsqpECb5G zR~ol!<7@cWI=a^^IKT}Qb7Mp{@?s=Kt6wY>4zpi21j1kuFSMtSjFn#fdr#>R13l=c z+vfchsmNTQTK9VhVsHwCDX1z`ozBc%R3vT0tKr z4iK34KEIEDsmA02Uw*cd3LmA!ykDxZ z4j9KQzyTep32#jW*q0+uavR-spX;rxd2eU>HN?1`*%6Krx%k;2l={epRxH(YS zeIN<1h)R3^N5JP?^GyeO3NvY@o&I`?Xf4U@y%<)Z1a4+?jPRo;(>G1R1B^2>QEf3_KQEQdgpxSYlI8u>IepTkVro75owKh-XRu z_*!8nuTM3yY(xPHTg?^rTA2IjEBwaPP;y|s9th0SFgH(t>`_6C`JKbABi@1n5!5Iw zB;C@-{*rEO+UquVd2Ua*VN1BqgYBZGi9s-3A-({B z4E|WI2c%m(7FeZ8`D3H@L)b~| zf_jbEsEXg29Q_ytVa`>*F@_adY3Kf3=YPt2{1u>YxHTkQ;|0XuJ|Qy}MMP~i{n z*x)s*yn4qrz-Bi(R*Tx;+{AEvwT5n_zCvwR|NZX3`u>r0&p>_UY6D)nN&S?q^^;dF zJ(NIpfYkCg34kXzGh!P;q=gV zUE;U&mD|pjAd9eWf37$mrMHajzX;4>$!tNkZnjpi+V^_5wYglD0Z(}O=FV*~3dD9i zjO0elm#Iq+hPfAL7&V4R;L^I$LcngE>QPAJypg{QBJpkXuq=J5c{35ZBZQ^{59|eE zTWhY-TU-Z%TjTQiw~QsKOp%SQQH<#w@+*=t;F~@SPr> zi;>e_+zlRSU9)kE$rq@zju$^0Hnzq6E@XT=!_kWFm9^UVdnWKVT(FA+qM*!!{)n}} zYCsDiOZ!il?g+Gvm}$&NLR z707)VdN)B!3DUYXCqBU|j7~zGjA^K;V^xj2ngpv}cFjq*6**hdL{-PY3A=naKIEM2 z>L0u|5BC1Mbn9VxE)}m#*>jLK>0$E;>SX+n zHn|l&$=M`q_b~UB&Vv3Sd9%*phG3tbcUEmx2 zUC$`B1Zpx?+D_rUsSb0}YTnDe6WmR3wT2Dtgw>Yogv02KH-&^O92L|uf>#;}f$mIg zOQN0WLdk2F84gJh9zVeaAQ-v;@IsKr|I0qC`Nu*w=yfUqir#wVowKT|4o@icf{X+n(4P(j z#}DynBXuy#^#})c{0(P0)aLxl2c-QPUqu78XN&6Crg=Dvuzu=?HOI+^!z_OsQn?d( zVm{CCtT2$78M0Btyqn;lEuT>%jC3oudMbf@MUoZ|)UzqnMI?aB4Lz0)QX3g_!02+$ zYOA2v+uE)jxe{C&(D}>IUoe^n)ZBhHJ!Z=r$O!YIj!Da-gE7nXoI&;X#{fe3hhC#J zKnQmR?D#9S9vL->1QkvT*J_!nZqMt+_^K{-!L_!d=}QTeoJVv0-I=29S=OdCo9Uo! zDkPusM$UUN?i+A(Gls6hI6jr#Y>EEe%E;*Oe!MSNK{YVMt&gIBS+3g_ptNHl9pVw@ zIR&4G+OyW`Mqgnrh@Ta?x#&2V)VHpMuP}gh^^t=V10dDSri<)jED%_?Tz$+Qqz%H> zBHtGPQ_#a#YA)0jEkTZLRDcwkNW1W2RIAtK2OT^ZmD=*;=BHb>fmRbTE)j}f;I2nF zfqpFffIm0`*1;Ow10EC{1e1cc^>f%Ha1Qj(frJ&qEP^7zeohc1U1%!C8ZN|^Ok;Rgt3-E;7OYz2pN5o3>qIdHY7#}o-6eUI;`n`&p+rI>f({BNH zvAV})(m|bg6z)x9qTXb>-_Iji?F*hq{6VJV?M-NS8Li^??%$KmBJO7p9!s_!Xlyne z3H4+!8!H6|b1ZPm$@|rF2&}v|#jh^beD|#9L0&fvooF3Z;}pZ{$bwDEG%l8j6$EqZ zPhs_UL{~FM6A)=iLEzd9bu%(l@E0@!&-_x?-da*$GJbb6+FT-lt0O+?O6UEAlMmjU zhzkYy3&{c<wV2{lM$JO(;;>mZy~2J{NpZYpHe) z(i*Ej9qr0O+@o8=75+cY-aH)YzK#1YB}5@RWkQzhTcj{$%@!^8WkMw>vSi6H$x`;R zMrBg8*|(x(%DzRZh-BZg&)8-dJm*(k+kM^lb3DJ_Ume%c)nWO5=JP$z^L@TwZ_a!q zzYNvFMk!>rvr7J^2145;1dxC!rYS;dO-c##XnUy$YxZ+K{jI)B$^d0MZRW8{7fJ<6ABjN3mrE`OrW|sQfUop zm2MGFXaFTp*HF3~P6xMAL!l;tInH^qi{;s6`eySnFs1Wfy!Y}+?0@V#Bh&A>O+g-u z1*|2r_ZwV3#;M*X#yPP54rWYM?Er;C_hlvoGulpZNgo}}&nF`TJD3T{D#+FHF|i|t z@+7o`@iLG6FGKksTGr;^e3!`$L%AOLqhw&3Q(qH}(*>qyTI;IA3Sl3)G>7ZXW*0V! z2QpPgX4tgV!U!#~N!^S4OwEL`0e(dJa@QBcw!Zq!f9RvP=&%4y`;yJfi?cL z^Z4MPcGM^KEk9r^eb{`hocWiarH%+%t^X3VVBVGC^So7a+1W!8s|ba(YLml^c_xf* zjK?w3>V9*{LiqYk+~hS%D{i^qGS~%D99a%kk1&6d^UggR7}0PbO~AyQRkq5)_Oi<7 z@Bf;?Ut|i>XL3C7B!NL`Yopfnj}g9_tlM@5GhiO_@jyIah(kHh)*dy;RxZx;qEnx| zPWf<8ISA+#-9uPxtv*IR}Y-r=~AcP>XK?8ubP zJB|JA(~ELb|7z|wbcmn`mNU$`NNX4XLqhOJ(>D;z&o7ewVeQ?Ag2B&H9zB zBP~`hl$^Y`b-0h%mM&~gWlm5%!{ayU{yLu8tpn=wPmE)Op%72-U{`PQk(+CTE zEc0}#OH;iXjcl%m?c8Hk(3RLu=%#+n#MNxNd;MDY^@Y4^o!MslH6OMMo$-(Qx-243 z`!92JU!KlGz~ANqZ_E`52V7sB!TtD$A=K0bXsR2LWFSmW;hBMk_2ItC=ed$!meAA# zo(57S2`kV<@AiM!4Y)zq<@ul5lrHUT>e(KkX!TtE*;X^NM-kHf_DT5W{KPj~#9$k6 z5VG#12xaZ#%gr*gZKp=^d;PM7;;|=lc>mKC zS`tMF&Ic*tO-YB{cbFABxWbm#Kf@VesH65PoH1elsqT$%#y!8o8GC#kS)YK_z86Fj zFeni%Cj}MPWY4Dob1uaa8H4$NkMAr=gPG^e6Qg@c4KZ&qFtB^7SqEI$Pq6`ybz{BR zM2|~0Zhj0y{BKBlP#`2c!q6muGMt=-LtwV<&+nFAk@H`?)RBiF3_SkR1PWi3fO@ks z|MS#PET3{qiCb?Eai`ksyDc@Ne>0DUbQ#ZQ?Ob)7dfdYxim?0TE|vNV5azf-Lpcm19+@~>kh z8_RMKzVMIj64`xRhd1O&gz$`nby{3&N|O2k0PE4uNa$D^0&M{OgaE|hQmD!fDm`=( zT72N$)o=%|{S?Np_yl*DO1{QX2T^u)Lv!B{53rjG3HCk4U4eOl@a$g!E9VWA6X^YI z&Q$Sm1y|$^8dfhJTfCTcdR;tpRa+StV`1P>-R+}xDO(sLX(qOWjl;itgMEzloG zEseb|D|*3u)O9QSjX8 z)|H$@#l0;6R-#^=hOjI1w5rF_kC-3x-))yEGE4gM0u?&{KGSEnv5 znf8<6bN8clopO#p(dt!13Ov&7{0i$?*82Beh8+q0zxyHk!+-f9tt|iHhn!V?H+KOHsqPfFkE+cvpu4!g#AlZ3FczF%zY)qf?EyZ3Rk6cA`!lILEi&K z*{Z09o2WJvza7VJHW99Tz5{TlawHc?H+jcs9&DqieH(5~k8hHu$ z{}(@`-!DJp?rnwodVIK9cD-FamXb=2RLM|e><4U}-m->xQS%0o%ly3P*)NZNsVN;G z8+N?$adW%%R7TbeqRU@R!zgi%`lqJC4BMXOGwy?I8Ed=Ut64Xgnh4Q$>6u|c^ud{@~=TD+XSkQ3l0SR8mOcM5m46#U1naHReXWL zdE(Q6jHv9QB+Q^w1CyGg-QeJJ6U9xJ16j(>Sh3A9qiC^EJ5Ixg_x2;I$_y1F91nW| zS2rQ^&>$Uoj=$ajXW%urkUaw~_5f?LpzqOF)Iv|rO`}E)SF;jYpR``Nce(iZkCR=+ z2eyi9?cK9H4mkj9;#{I>xxgmGxET4A7Gvee{h9RiYt_USaDw35vYY*Lu<`|a zKf}_E+XW=AvGFlZm;^#A`OzWEFu7>s5isKQ*aj?owL5+-{WQ2`T}T1x;pm^p$3JAO zZy4^@6Z6{zKY`*fu;Z2F!v!Fb0Xpl+EoSO}Gc0!eFT*16iTPp}j_Ti1VPXm4tNDC= z>DEhqw*K`o<9}-~J&woP99i!C3Tr&ZB$|ON26w| zY}@spj>V|-(9orf6H&!(OJD0M?SKDec>`3*s| z4ll}2+9?_zNSI5)xUM&TSAT?C&fXZC{#*g}+Z%08%j#B~JbIRRjPxo-3H@b=3OZ#6 znRrLVis=ltxN;_}d=B@z1t3pfIJT})Ys}0QmDK(^R6zX_*jllCKFQiQeVZ$>hBGI9 zmti*4+F!V~&W_vwe=`s6{2k2VV|%$ET60crdZ#4qpVW-^&)#`*meDuVXeh5l4X3LP zJ7%15Q(Pp8eU(jW7x=pxL;i1SOf%PtWKY47=JyBe_X{k>2vSAuW$Snv71-BG5RYl6l9807NS&+%Uy6F_Ze58fRx0J#KR!t2N#Nn}+%erEn18?BHH|D(&Yll|vH>)Ifdbi}IoLVxe6 z$`NE+0&~iE@z@qOhS2|FD2$SGZoPgswY=j@ybskePiOu^dZTWf7cc&f9qDnM;IW!uGd=HRHZDq9Fm|OLy0m~|lree?A3{54S z!i=LSUWHG;^SWfezpQs!f3>JK&jRtehOZSgUL+4Y6EdjT%XLT{p-Qe^rhDy-4A))e zueTxH_%S<@9}}w08GFZcdc|nXW5qmek#)7O1ztaRVFgMQ)z@lJxVDbb_Yp~bfK|<* z`qmh=fx1Z`*gH3zLf7fLI~Yx1{TTaJ9Fmfp){jOjt&2`v>jqEpb+;s1Z=EJnT?<$#fXf+7^ciz*`%tI>UL5(Y{f-#|6Ikh`mMU8$^ zE9*AEXUW#em%hp3KCGedT`CO6T#}M!`vr6e!Wq1gmtZM_VElNvZj%lnOg1C@Xfs-j+6ltT59o#8(($y; zzI@c`K(3VCW*_qI;m2oZxCgHx?CWi3S|zFPFX)J=a*kO%8;rafb;-m~9czSRU=9u1 zKHw6dLGN%~;_H#%6UIzYfHWpGi26V195pC6|JJ1c?BuHU@penqifTr2i5;!8x2gNmUO(L|K(VVl@pdpfun?GRkUhU@oDX~KOqIypx$?=Fr zT?5(3x((%*_pL6v7?K=SwlUvQSNg5ztQ5|+oKt^jypLfEuTI0s{ccc)n2X__PbIe# zzEFg0-L3>Xz>6t40s8d|;6~*d#9j)FUSM9nyCLN5{J@;L_H&IZ4pph!=7QBTpI(uo zd|ow3yV;Vt*jv0Cicn)%selkiLgwAr6d`NaHQM3WMZKM1$u<{TFUo#U3sY5PHJObWglI{odKux`C%T)-RjHH4RDVf#P*bn%FvE~@Z<`st!CbN8Pu&}$QE z^?h+9oiuFVHs45k`3<5X9+C3ON%}MWnmm@U!_c6dcWlvQdm^Iq=G4YEFqfeCt^M|k zphW;;ygC9x?VNojJ>yN?NZ&05%>0bCuyB#*h&tG{+wnSgS~0bt@E!yiclsvSLh5u) z2KTEt|IUKFVl!K=HI$q^bCkV`=8qi5p}Kj z4M^f&(fcJPth(-+*viptQBAzSMq&}!rFk~^xWvlw;gDPpawe^JEkFztCKA?b9gz9=A_&KL|s9V>TDpjha3|K4x+GN3}U? z(iWkv=w~#3zkQsyW%}jHl2~4K-Pf=Z(tMaJ1Z4BqJvW{Z{xyLMuS?PB21qS(E|P(?Ec&oYU^54?}R!b?hCq=@$qe$XI4cKz|%Z&1>o zyI_>FbuZ`81zpwJS=mQZ2$Gm&@H)E)ki-(nHhYtbA8lFU-mMWLXUxRLy&$`7@KZ*E zuAL#Sq4n@>kx#m98I+&?ZQ;o$;<%b*%30Lw!++u>MZG>esyHtzxT6-&a;{&KKf0JG znu3Ffwz*e+n$;q6ySA}avS7pu>UK|w_~#Q(Y|)XgjI;k%nXf;l`A`3vU@HkexA6zs=iHO;2$=M;-X&C+e;jxEFPo*AzeE`%9NXbI zaM@88MfRU!I^)3oPWC;Gm_Wi_DIC~}5m6>T;!jZ~M03b+On2w4(C+|<|AD!Ac5ZhB zvQEM!&%Bl&u1dF}EBxP8nUJRwzhs#;(Uqt>X*Ia05+{7X%U0<$X+6sVYKTclo1Ix3 zzOhqzzoj=RHNaH%3#^Y7eZ$Pvx3=N)O(ewz!bPeNSTv^|XhILz_Duw&gKMnuTy9aw zbT_Ozj_PB!t6MHd9w}dy9l5ekGq@8LtLS%T|9N@>Lse)6Gu0h z#RGhYy)Tj6r(L@AG;~Kk?3-#?xh=wj@r!XM0gGkH&I?KSoW>O-<=t0Huby<< z$F6OcgWMF)OF$L*dmmzdKJ=;OH{SvWTpIE z6KEaICJNgw??#McpFN6KKxUg42+W-Ec?S6q#=WD?_;2LrNZ}VyIL*U6`;5(@0ttAe z93?$z{d!CWg3i%yVp%l%C^O|5=u4 zCS%cx+z#@WAZ^jg%%i>@`}Ck^5R%wOfC>IZ#M4qJZP~$nd)A9b+4Vl=BUe=)+;+Bx zF-sge3Y-Tlk$lH}_3?PG-}#P`VMXs^`x&-K2&B{d>C{Vc_W1z+7`=IQ@_lVx)k)vvPE908YffN4F>oN@_U*hlr3osuKi7;U7uy{S9|!CogbuY?U%jK~ z8(Apa8cIh50o5%pj3G4(%CE}6c9u47NKKd>!35bnJ^lc@y3de*+gS}&1anq!u(ijN zdsdczt|wS(hBF||`*M4Bin%>#GHZqw`n8u9uV|hhZF#UdH(z?|Kh0Qk#VAVCSBwju zJFpps3^n6mMvaD%1MKKR5g>%Ax~Z5>p-TgWW(}f%9?zMlQFiQcnDNQRj`#o$+dMl! z%li`b3vBA{*F3DCK6~#9Bq-18@toRwIdC>y5GVcsC-^8UUtrdwy ze9Xu0PjDO--Ql=lfolFF9fOClgaJ>1f~R~yP^`(`S~`ZQ7ay4A%4Xp-I0Q&odS6&G zep289FMR=7Og}9dV|%J={_h9kp$N-ea_!;VezaLO!>0xP5vR{ir5}{6p4xqF5O<`{ zU=?#h@!bism&`kAK)O;JPnXA0DOhmfq;#TnVA-%`g$n&?^A*z@qKuIt0mwF{e9f71 z`^~7>hmvh1r(r#`=C)rckH8(Q8v?W1b)(fzWAVtof_e)E*7hC7IUl)A!q@!f9nc~% zCKNfIDD-Y$(?o*HeWUGVt4(o*7>bDy18&9ut){NZDp8x5T*o=0zgzlTVhefvPTW@+| zPRw5e-P?>X<{7@xkYX>1I-c~xRmddVKHIgUyEreFp2e!bG|NoeO{~I1S$?bHR$0y+ zdk!h4PC}dI1?^JgljpAIArwY}RQ|#>fK=~z{C$xg1U(KhWIium8y?C#zN)!UIEuq; z9rs*Ef*vcRE*((bdQp^yQ@_CbWu)`Df4}mPjqcNoG)P#fHI`VjXJzW{iEOLAtJd@z zL67C&Bb?hE2|`SZ=ecz;*`XTC7sk*=ywA@YDXLDuM^=Q@u0TX3b z+1P^Dovu&*W={FCiRQqtoDMna6SL}&l51hQwSP`Y_X-MYK`*zE=F;KquMFtNjw41F z%`*I=zDibzy!A$ArzMZ~82%?L0nuSz@FB|xu3ARFyfYiWTj~@GH@1_*wQZ@(@9Cx+v+|^T;{t9syt?`Kf6GnNautD}I{kv5K3gdnetzmV`xO5)CTV2m zCTK(i%suPq9YI~!0igRITi6d>CJLnc>T>Tg-X2gY+VjNLXKO1(!S4wECP{ zR@^(p8Mc>;2KEL#Kt#IQB=ze43KB4;zB+%(2P~Oot?Db;cX3Gg1BgRD@8>+7*QpRb z;H}`)GLMy7N9b^=5cLCW)cs3H&ktx(n00i60W6YK5@|tcD2Mm?+ljW!NJPN<@o%{3 zbSgAob^!~fK2s$fje`T0gIsJ+q!C#`zuV^3hV^Dtd{*Y##{x&)UL_HV1ea)^RX5WDV9}8>T^!%Kt$kV8JzYX)!}T8f(m|7 zw%~bd8Uoi#4i!n!`e2bFV&8|q~l=Qrm`|y{f33HoS zu#%TL#-cw(`wbP8UG$pEdG#jU+;$M}De}WS^uu&IDvF zTm)I{i(Ee>VLKuhCLONHw%*Upc9_}uo$E#YoWOP$v>cis(~@9)_XFRa7bW@EBqt%- z!pqvVEE5Tv>_&8^=t*R!DNk;Ybw;%q7_--e&^kmIE4HJpVeC%5JM6YbE;6$>K1~`H zxJ*@n=%sFfo4W_T&jsJ`QPp{J>bOeH0kz zRDp^xdjy*rlRq17?rYBCb_BDP=c`&?7j`0Wcm9yFV5XS(5mx`T_tJ3vb_8LZS4?vB zmy^LLgx=&rEPy`=V$b+7U%=jVjVZ-6Cu!qG&JZx%@wd4Tfu8zm_Uhu~Oob=b_C72L zTh|4gAPZ8ycG&p<^2x5>pwsk+V5H;#S1p~LYIVSD|IOUa^Y>m0b7Gp+mMSA%-}!O9 zW^7UWKBK)j^{S}5Ba}7-hfx6FQGSd|mzN{qnQ!OEta5=%D@xzXG8rS~2h*@!JIc@A zI=p^gfsyfm#G8KQo}neJs#%>eT_O0!KC+gAF8TsH{NId8j6c6-C9lA}hNK$Ka8ZD4 zC^J)%K8z;!1!swUg4o}iqhDhVPmc|o+n?{gFl>_c}iZ`$s?Zu{EWL;1lZVb`d-eya;vL^V51*sUXga`f|p>} z@5R0H4zInYX!;0emDH_Z_fh>1q$mQSt#MHgQyG8un5wp6OX~a6mLwZ=1v-eVvrwt#V41E*p(STEkp!r!Caqexv{eK}Iv6&w4-_GD zPqn(w&yg*+Z+OGQ0A8-M*z86n6ZOn;kuo&~MpUp>=CNVdPc!7^YCSl}G;>FMxWN(; z$GZ?_BOTsk{WfeG@u~|7dA0vyicyDecuD5kTbxKJuLeAkYb5dBpN%5x3Yb+@T z4xowet6|VPgB#Viyg#?5eryD(Qs8wwy+9AY=ebDq?`}eYU$!psid9!?55Um3ZadKHFjtAT!MtABUaN?l z!1|ki5kxoKQ14i-pNP^ntH9p0*mV96HepiFC$`8AlUCO~sn7aDNW1G1qwa1Z`8R)~M2XX~fsAss zXXroQiWPY_2tuBz@K1Q{P3~}vs`>*dntn`-&>na)++(4mi!N5Y^4cy9WyV2^m2~T# zWdpU}s$8L0vb+jnj*3%O1Q*Qc9sCysutwEgO~u$wo%(f3pH3uKbiiqSI-EJvscpPt#5FbIzLO>2qE=8{w|7#z#t^OO;-J)3bC3kfZVA{V9wx2Tn&7PtKqVg!}6cY zLSaW9X!otr)t&zIAP;k($|8{|{GLxw${fe)i!5r@+trpg3^AT=Mmev=z5w+}Tb(hw ziGy>k=Pv2Vn}9F2t^mG&bHEJqVd_n5PmSXD;%{B>4M=zEtUdA5)#CAL6G7^wRvfSg@DqH_z`_zY%EGlglJ-;+Opq3Uji>Hl>( z$jlJE-uWgbU%&%Ar``W;fe%+2cR7+m3M5$oigs#X$kJme1A)b54WB4V z;;z!_S^^LzKeB4fLXepU_e0qsqChKb6+C!zVVQAw-_q6Qdn(2h(w!~xMDdWgL1pfy zm8uml0BWg3WjJ@)-`s;O)sA}O9H;gp&YtG8v&K^97qkmC0x@KIz0ktlxpTF4?{$H7 zSh!gD_DNYbuHYLpqU?45sq7&$9MJ`4+sAYXX}yZ8nj|P^$hW0y^I{g$qkwM!xusYE zSkV~D22U23N`b;^Ff%8)G$>Y&mt#av)x2}*#67f@^fkm~gX=We2rlJ4Yl?4m5+U8X9I~f_doQ725pwsdmDSWcE_7# ztEIlXy3~SW{St%+-j_xXP02as-8pLocoe3fHr6x!Y`+a!Xx_1#H_S!Sdo8Zl9n`Tn zxHzYG>JVX;SSt7>5y9k8g}22TDRu7SUc0U4|ImU08N|g%w`mJm0Rde@C?j=@d(ljc zNzxh^_wt^!`g$BAr{BG^*I+%vRiHuyxF33*1ujN`l6jNoLg+ZdcE$h=hqFj^WwIy` zvtPA(?A5#i=SG%k;O{Kc>G%+vO4`9cfS$r(a#4G^*)3)VQ)yKf+1M&CcvtOECI?2i zV(+v(;$x3z#(X9~@>);uDER*b$_8Dqi?^5l|Lu?N@_|K8e5-eep#h(cHLYDLcDKRto9M$*8IfQ%$6PvrfX(PgPRk)bCIaqu5aQ`{uW|Nono~JC_`C+;->ZvL2xOiSU-lh3jxSL2;w6+H0SDt%pY zvIB5wWEDTT(NE~!l_>YPpbUmCw#U#Qs}~D8U+|3D?BEN@SdFf28R1Tj_bY|O^cvny z%H}q%T(|R(`f15h^Dz9=w&1^fT=mKGkS$QaJ{-;S1rrsZtrNotUakZaDdK8s=H2cMM zfBEY6&%dco3;dfovmSO9jY{TvzBTK285&K)_o<78JnZs{hbHxB12}at{>r`ODXK3# zMo`7cc4-!~XDplSZK_z>vpb*Un&WXCi;^q#PtUy{y;sRE6JnzX$pS%CdX|U?6OYNK zce+=Oay}sj+7qw8-Mg35H!hMPo$9=Utg$C0=Xch-=UPGKN8E_52M~YHx{~%eXUVAr;;ev4)j5{lgk|{U6pa)?5Zh zDSo3=Y+K!YGF84K&hFU!9YvC=mxyhb=B?raY9(X8=Gxu0*#izIFbdpvwhbEJDx4LF z)qymMz~$Yg4g43dr?21129#%w+IX>t?6afXOZvi4yJv+=SFvc~-*IbTY8mAt>G#~U zk6IGbgRu;rup{(cCiue685)gz%`E{o1nd!{EwcUiZ3+{RZ*$s@8);6_=G;cZMC+@f zX|-}kCkyTTaGu;u-5%P=wOUO1!AKc2eug{73vVXUeQm<+HNUg_fYYGYim{}QU&Lpx zC4Q0e&Vg4Ja|0(<6Idde9&_rg3bHPH||YPFUjnM?EtI%|JB^vlPiuPrFPJuEx#D5RrQ_Hy#W zVBsomPn;BE>4x5>1^ zbfDWI&Kv-lj5?g;T$gK41LwsWkDa`8#PF|d)n8JlZACW*-ip1oRed(vHGsmoHs$9wXddu~Q%UwkHkzIsftByJ zvhgT{wx${QwnLRuzQEOaGHIS*K^ba@jIC#0h%LwJC9B^Yp)*=9-aVxrZG0#o4)b7& zZ5;EH^mz&F!`PvkT61ue1X}fG`!6513;+LUMmzFAWAB8-ME3S$uLmfxS}-LkMFz`m z?0oJM^%~D&MO=py&AddHW+ouH$xV4VNX0)pKeki)@XVO^k8>>=qo|nkrV#_EtcrkZ z6t!AcZn-*z5ViWn&NoFa6*VL3Qv*23HK`XNwl4&~xiSS2RA_)B?^TY09oN}38WM-h z%7K2rs{gdSsW}Mg#>|g`rYh9}eK2bLc8%qtm4h3@thlw&}hhQsx4G}q&p*P%J zJF4oDZra?J=cnEZaBDJS0Gx+`)fn}y*4b-g4P5JgNU9g>`CTL@KReBC&AddUHawPa zo=vq!A6R@+d7Z8u5$bBiqlOd5jd=?4=7{-&wzXq=7c>?xR<49EZI&^Qrq8)0%E^B& z%DGsEU}}dYYD;B}x(qU}1}%l;=l$VkBMED{K4a9QY*nIt zt-gbNhMN!LIAv@XZJerF&E4Xr)A{ta99`Q8GhU4Jw2iV~@bz|y`IU$If^X!uUgSag zyK_4n#{bse{m|?qJI2O{zddH3KD6wTEBWMSp}A z8IxKoB(Mico7)UlLiaWJd`qW09HR*K=+~~Z4;j0Gmt|w|jZ#xEV-WY6GwQ6rPnXcL z@frEIVAKq|?pc^j<9|!|xx2vRenuI9BX}Y>i`vah)+~{%lDtO?sFSpzujnELxV!&t zp=$`uxf{jJJa|(wEH1`9(!b(vEi#A@s@2c^obfY{c!w*l)!{ZmQN`yPFY~X;RkQT$ z_~oNh*TTq8!SMX;C&{T#amwg)WtdlCeBN!Q^HrTL9o*@53!$Eu+lR@ltt?JiOOjyF z!8{=1y9OW@^|##yBe2`*|F{Lw8ep1^N-(}=1V*}1Jg(yV*?1%B(KOh~K0F`%H!EFQ z3eYM`1T@2ZtC+Wu5YcwYV$namKiJm@2lKi96c+yqlRCS%*UB_^s#HHcw_9M6XPm}Ljkwlq8COdWBAv4`Usn(Ju0|{Ja zq8Z8FRnEVa#gY<5#{S`)GRund7@cw8;~>s+9We4>T8^t{+JU zqQQn$cSFQSEjm|iDgt!%@|C=KbkuV3fs7JN_L|>_Ibs)qkXL92Poa09+NyhSM(cO6 zPnW>aR`P)Ej!4Hw0WESj8sScHzr;@ru0mRN;h-$s*nLws|AFQ->M8a!!{i{-@A?mNGt?bsd?OR1Eh%qkYSdR6GM-!)0@J9H4rSBIW z9Lg-(??RstaYSY1+c6&BmZ1X|^!QtR^$O^)uYndTi6PXAYi}BpvAK)!z8wc9 z$deMi95WNB3g6`JvamNpb3|hQU?kTXmmLC)|XGF>lR&4@o<=*Y)e zZqX!qqKkSbL7m^Mp2|L&*&1==+>s+3j*00UB|9Uo3qGV5qk%t61nHkSNb*I!;BE?w zfAZoRJ^Lf>tZxU*e@Y0^AZGKDkjfWKp$vyVCbDlv(UdyuR`JLvdE}9)&F~$@yXIcc zLzG>+OZPTqon&pSN>HI~N_>`>A{wdi`s4CwJYnCkkC~xRlJ(Z4(KQa!D5+O_j!5Lv zC$Q3t>lZ{_?{MJQtbK&lWGnkW{|Gu4v}ro!;@21F4!Y?kIyBJ`8&7OAW1JgpHO?_q zcdE~nZ)UN)b-0pg(m=SO4u!LEz%u6G)F}oh*LH2u;4$SzzMSxMh=h^jMQ!$=?IG8# zqD&vwo;>l_mwV{NY7$v+iTt9*Lg~JuX^qYisakRGmFM$+{bqjuf*#VBvOF7)_;}^N zeW(BYzW@BMhw=gsBMKV7q*`(P?|&t}pXTNs@4L`|8HQ&4fNj+CFqSgS?+$H8_fmz0 zaql;Y1?z`jU(D0*%(mLE{jgi;p;J`iipa^$fBhK0e|ZnHSuX$x$ocDw#OKzpazT5* zHG_TcVs6<8?;IqPggyc}sCzfC3D3iHsiYrakx&3JcBxzjmn>~-2#n!o@vLkIBr3Ox zM;4UC>l7eSXs%VySXA1hs-<-rL1g zFb-PpJ6OIvP!&?Zho@GMx!+{+7rn$(kYr5H@X!`t{@(ubgDCj-9_>P+*aQeOg!LX( z7Q$I}gC;5dhH0s`)P}?%-9-H(Xm?!YF{Sb-3c# z;h5bjZ2-4pJP%HE`=d}QDHhk<7SOEBFXrndgG@Sl7a1~~&NBOuc2(JH%w!JSW={(Y zqa34Ffe67i*w&K=_j$@&Fo2L#J)FesRbic=D(?lQS7^6~~T{e>HT`&!nUj^$+1))4Z z%(Perprbv2@?E)XPn^FDk7Wep%AJD&6iCZF|H3@al~dB<42K)iuYHIWlxCzf#*)SW zC~gT)oYQ2oBqKS`yqR-^Cvp6zA(V zUjnWDJU|x?L~_X}AzS;Vg($C&M_<-P>6XuZ)R)LPn@AO_X;qyww zwRv!*S_ya1a@m~WRd&79Ngi@kr9szTpk(J);#QgisQZVY@F|SYIr|~mW})>^U>Rwp zE6;=yFjbY3c4?ozoi@)3Ea=^hR_YQ9X}Fn}w^l*yG_PPrVb*7BR%RK3u5^=!mWWGm zCojE4S5QM2WiTrT&oBlDPy&bokM*&qtmbgSVTM^|M_I^jB6)jhvhM!#)jd9$Zi0vX>sYB@`no*@rNvlyY@r`A0yqkq5E1FcK@N zK1~#R6)iwumaZFR$M_C6;X|KlM{;)3 zx_PJ7HE^MfQMkp1naJ3=Nc6@JJvf}HhL}ve-6;=zdh`rNqCAH&5GZ?@pPkJ)#A5`g z&HBaLy1)zy{$J1R8#h8SjvggZISRzt5JXIWT|K7j)7OOq4Ya5wuCJuiv zTbv9_w2^f;fPDz6!)Zpjl-x@c4s;KLc0w0@R9bQYSN2%a&&szV<4suQayaFt%EM$nQ*4$8M#A&od#G z0H>jRW|cUcd~NtUp|ChM;f~kB@KTK^(JNFgFP(hVZ_Dfl=E_&aBPb;;DqKK|KG_hA zF+oLrc)S#GL>qZCbEGGp*7@swVIe}Fov(3Vt|>3lXv#`LDxOr#0)PALAiY+i!?9Jk zpRH@SUD*UArLQoCos7~J^sdm9d{<~O)#S#eTY+#LS3(waIZ27k%$#RUfQA^;^uk6g zk{UXTp2#lJaF1hmtnii3E2!li0TNgt)V;zO0vlGY83)TfDe&>>vIN=&w)QMo`^T6Ma5h zPvFYsrZo^|c0~GtVwvL*RbvZ>3W5cxl(}U6X@5fC`l^qMvj~qRIdp94k!rIb%CQ;l zT!~ASF1+iqC$7vjO5|D8d;`Yn?PP~$({;%~E{{^u(-KT^04cGzL*3$Ze>)r3Yd!9j z*$-AY=SVV?bZ7~6y+VT&8(TO<`|?}@=Nj;#xYI2M)ju7aeoQPYM^}obVk%2V;5fZB zF3ui%3$F+DMv0$+u-N+qhBWOCW+QY;v0AtZ^2n>U`#9GM%K5|U10pu;XD(Uw`)IaP z(9e5#pU|J)y7e@KL0IXXJN;*&6?E>#JKn6Ei=2T=Zz-drIHL!NE>iLGB^w9qF8vu$ z^q}=vY!oEiPp)#HVa%13g)Y9XwvI4B33vLmJ2P0U-C_(Vo-2cvZ1|#t)&Xv(#~<#> z2|3kRlz-euF^I#Jm)qb^cx0T2qkfvNAn#iXEyfgInvN&eeb&OCsL%JUqme^RyBjdL zd$UiYPqgW9IL<40gHP`>>G8bEO!-{4i+Xo!x(RG`#SKT-uzUT?Oil&r_xDl+NjV9x z5;K9DraPyP{=|!oSZE3F*)AlRmH*oCWK{T@TKJUrG~sD$6e;%aEVWB7VqvM^1H9AE zC9)xlHL$uFeUu?N^x2jOwU*TP4&g;_@&TGyvno1D4+%Lc08OmnxX7z+IkePp(;wX> z&oz)OHKd(_5zCB5->;!<5TTha=nA$Od>kDW@ChR(dM(#cGJK8*dk^xk0Vj`agdN=+ zCdiuA30IwR^I$x4)bMJ5fJT3K9D8FW-pk{O^%tYP{gz_M%c9X3X9@@_;?@ErT}t(g zU!KWOFE|U@O@%K9$6b1NeY29Y88+1ICg2Hy~yd4O-%xAJ!?xbj#Ft=_9CQ+8W5E^t|M>*Tu#X| z=5iz7XK?xW-oW+8r<<~#H3NIb;XHxT+cFbj#hhr(TF({q76{woc~@4$w6`(Re}r{5 z2d+c;`bSl2cVb%R!cVCZsvX_G=Gq?iQ-u1naLHoxWw5~ST+zq1sKcl1MitZe3Ch*aKSs8 zE$T4Y+*#E3G6%L@+clyB{egV^Obp zjuETfo4_K*K28@QH;u&j`KR55>%$}!jK{T$r#Lrt7R1Eu&>u7|Hx6`X4!yD6;g!0R zP5Skw7u-cW!7>Tg9_>w0@qDsF9d=EpDu;oPq%mRALfIvLIPqhc|lm!sbRl_nag}_1D`uC2TBJeKHNU*J3i$K1UrtPh+EgiYsDS1o;Uwh?U-Do|6*Gb)BiXFsc4VvqA5*0%22JM zEE%TRty!u!fTibLgzQEEUhN|ZaU=sOfI6JWeRh)}eUiHy?F;yn^-hGQWF$)@iQmq` zdS5KExMic)&S|lfK_q}ZCP)6dd>oWwqP>NJDw++Zc5wL=SCAFgau=)iV9fLf@wHpD z*;d08daj%bHD%(Ia@Y|fye&emr5Z_cpX|IUwnd9L)Py(lhN0Hwd88!*j?ylXb6nTv zC4Xh(NtY!*fMpt^PJZW<=6DX)O#IrV-KFY;`EZ5@W>QIp84 zpJcP&04@m`^EJsSuEYbAw>iH*!;we6D}0QgHh1-n-Ba}`4i?;>7A=w)DB$MH$Py!5Il*naDXCa+OY436 z0l@@63rh{L1(SA%PeX&o%Ze0XbVT~WaMd^weiTmRfd!BDAlLx!Gom1A2qjf_we?Yj zvAq^=!YOI}%A2a{q-gYzu6wwPD*K)@F@-@Dg07qa=U8Gj7&Xe0B|eQhE2{)Y8|@Hl z$p3akE-4FJx~M5v>%Wykjw~-`b#!anMyogYdU_eNSS&lIGvl8?v zz1TS;?od&ix)^rmW8l z=}+evCVqOoF(mr?6NHfwFMT$&DBc~1%E9boGjUPGDn{&`mfUrR8?+|wPe+GV zNaWk2FINJNC7Y=yDVJ&vMNH_bvoOX26(Q`c4^d>demt5H*91re_gku{me`1ssnm?Q z8b%o|TzIle`RcxIpAU__HFOe@z##4_`Z8+i^sHeqLNi$7%35lP^ zl>7JCWiV+f=Cs;IuUvmruBC?J;;5yN`F5hEGM#Dq{Q%Sq`PwAue1FWbmV@z5y{0xk z{Jwob2Erd`@%t#D0_}lfp5)!oL+rYgCuVgp&%g%55!p<>9$6zMY+0@|_;|^AFg8Pz zg2cdEN|eB$#*(USDddbb?_vw(Bw?^Z7m2u=3wdX;~5|(oEu(wR6?af}`>N%NIjI#nMDmpMaV>l6$wj`HIee zC`_U$Y)YO>%`fk7z6JL1y9m@onw$pA1hWd5j(>Nt0`nfy5ZUf2EUmUQ0BYAOip8-O z4d-FU{j8YlX;7|}2oCHHmrM{rFUTaI8On6n?V7yxKq)gt-?QwtuAZoaX=p|5bo;f_Je6QQF? z)C@;+6@83NeF1k14LU-UJ-al77ji4Frqs}=P9Hu2!D*hE03N8b`ucF}{jPn{>);i5 zOA-?0q_xNZzT)_ohKPMm+36OKTF)@(cS79w+2ewa2a4cgv5u5v_l2E&1(54Y8pUm< zIKn}B7+=8vx4$oM4uw=wWeopE7^Ep zoy#DDIpPSdCQ=z@zdvpBS7rEnifge*UvJ5HUw|_c$WYJ{f%IqyGl3kBO*Nd=4xy#C z22HIzb{78m7B?!RX`OS$)FvIbK2d=;z3 z5{FpN2`{;mpgFyXk3>gmZw#G$0|r{bAt-BK;@2slh5SB0hjjXz_aOXBF(d*4wqrXVMc6&eBvs) zxVbZJfH5}?Y@@g9t_xSNf9438dCed}xqX(8>3hkvEBOu)OKRphzGWLz{&peIg&yr4 z#6FcA;={Gu`Cp#kBT6Kez03sLzY2|`|g3IF3Gun>Pa z`;B>*Zi`;VB~*p;LaRJsxzV_aF7uQX6o04Ca6I(<*8@mTiFK)}m)9ya6r}h&+j{Vl zb3&>Qp`Wl?VRt`X*P7hRC37yrHYNTiW0Wn+sNU!S1-i>T8PTsaiFy%*AfH|Slcb)-Up4IC?7&H z)OeEx10wfB5ziwTU?R!5HVxEU z#+;^_b>GOR>9H5eRz@rNYyA5q@sGQLMrJNVsP|5p^{8laMW#{_jrZ$H!$u}Vzw>G& z&nf7Y;UJ8&g0XE9D{B_gF7fg9MnikQ%C4oVo<&B_>Ij6w?5MwXpDIrg@>hiB&}kEN z3gGUgFlGh$XaD{sy^Cc4C)0V!^|t1JVTcAErCC`rq+$Pq3i&T|(m%fW-FILg>3qoh zmHgj^(tjCIzY(*zj2W4O8|a&5r^({~@G`Ide_lqY%xYLr8oTYAAn9K0jtb;@(wA~y z1uU)5D3D@1+MOiU7X}P*K#(HLU%l-EocMaMpJ0uluoVD_fp@xHqekjV!c=Po|ComM znoTXy71pD@>%eMf4w{ULO=bbe)C2Mt9!dd`Y}mM6)y5O>CD(P}pd(8JsG`b3rT2%P zZ6IlHUAFVW?kIqRI`t0Zwshd<|C5^W{6DCfjpZCfEP(O7u1euv+_-z6=Wkl-X{TZr zop<_t!lTy`X9u@C8iDu>ZH+KhjZ$5Wb-@9;Uv~1Lj@kPsX~lDy`;b)PuPrc)4MU95 ze>|g|)PF3mIv_Y}!+080$(Vy&N-`mvu|l;*oG0-0*32~DkBsgKr>@&Qpe^iL>&dPd zxLlqWyqt!@3hQ}hKscCm605u(fN)vS{bknLCBS$zaZj#kaMN>FVQ;Ca4%`Cfz!+l= z>=k0ncF6Q`kk*_54dt(eq5Oz&6dXZpiw_(J*ltEnU+|-=TrQp+oeS2(WK- z@m&2VVgTkJ97dm-?MeC(0ISI>9gk?1G^2}vpv`~$Rc5GcJRE$qb@qUD+iGeXm4*X! zRrUspm=wknP;PR;Dv7h6N2c=zkI#3@>QrlAoknirXc|RH-WM>-Q>m{ucP%|TS@F+% z7SXDrF^~V_W2N#~Y#b?it`Egq|CJB%!R`2ow$R8irT{?C|a-1a22Nog%%G3e~l7JgR zwE7$%@8p}EH=-qBfkrZPZDQRKO`!z{i)*QHdEBq)pQOx?w$uV-Um7@QZKUW|fgji= zXR+lTLkrsiB`M=CP;4gxOK(3?8B0Z+S>CoohChqNE+z2}geY;)^LEJZxm^yZ62h8h}vy~u;Cby0< z!~OS5Y6vCJN#shF`gH#5GK~8Z`l|O=4RRTfw{Dih*ksG@*FtDlp%zs1xU<*w10jq) z#}i|VY99p}NUPMsvvx4;&Nujw1(DD-tn-i@v*!aQXiqAVX%bU zaI-JGyl_7w5A_?2Ta#x&F`pxX>zb<;xx9d#S`>6p~zt{9;G0{1X}}QNbgn zD1!lHK13Jh7S7Z17}tAv%iO3xW`~sUda7*4XkAH&s*b7Q&YLqVMwxRz<{bE8UnmQ8 zv^Vm})iI#w0r1b;zXT@wvLFHaIHo#(Mw8mpgBR|lqk6k_pkhx;pd9r2EM_x0;}#|V z!hEdGB-bA@PoB>1zGHflpQG-HdO_|!*KJzXR8O=;3zy^aIV>V@F5YlF~cS#LU-JEjSO=ECL~EjdG3!9;yYKQlK4K%w-H_NaR2$ z?uN(3?K835(9v^3D@RHvj?ksH)cHC^eVU4F;O1e5Q zPT-&FeSK`D>lH1v{K+-tO;5myIIR-UO#1kj#iQQ-U!2P~h9L21;;e^8er9x9af(3# zj-y9_(`=H8ktTa@xf_*Q667#^1oQxjpt7u!hsy;t8G^l<*_VcoOr40CsiUVBR5Ncyaqy6y>2;sTp6h&WrY7!MakCbtfj)sKxZUdK}TB z@gu7cSDb}g{7id zK6rceR>U?mTKP1pwV)I{6(`GAHlt7l7RduQiMNF;z`4*J+x(N*n#juYPb#WtEG3NjnJ zIhF@A+R)G7?swV360y2Pk6;P5fN5v)z=&K(G1XSwYYPcexwSl3#kVXlx2m}i|AOhbj9GWA5U+!uS?k-oH8H3l z?8ZBsc&94DTa&a?z-8MhMKu|P;Y_(UzA;f2r66QA1n~%``w2!0*7t4pcU6g%c+WwT zQw13_5Vr(cRA@c2#1^g2PhCsrz<>v)cA(a{gKaZlAeumNSHaA=<>aVpg1=K@W2Q~| zb^)|=P|L91;$VH;h<>UZOlY0DANuWAET9><=%mj(=r*%7*o*YX3*t&RySXNnq0A*C zTlrMk9e-nTSrTvAbgwkV1up;|mM#a5x6hGfkH-s`*htHZx@2XV`r;G=Q3g}e>1jS= zp?ypmkhx->R-0Dv*HR#l&3ltAeL>SHyy}iP5T5;fD?g)5L(5ZlyLks#zKsddkIiqR zz9N7IXC0$rDCv3pT6>pY2IaC za}@zduc)1*@+|4ymyUc)mg1?Qd!2LhU92%Agj7l$dfe8h`U`Qqi2RK!akFC5Ez99< zHQD!(AZ}oJDZwJ8$kzW&3FHzSP*E%20m6O|)7Od*vGv;Dr!;^+_ZqFS_S)_UH|8X( z+-9?%z^0U)XYGV{GHe<2BcX@j3F1i&uD~gPTEw`ML%Fac#*KxrI%DT3#z4yp3P?w))5-=`;a=y}h6LrD?Cc?L8eLU4y!e`T@% z%Cq?Wf8tpT{~OPeE6)&&$#4UkJZ}|9?-G3*qp2kTiZV%}in}D=#$F@y+LgKyH>G@u zUQYd$v8TT*zOo2}>|7Y**!BUMk>>jaA|yAi0MnxB&R8k>>5Jm4A?AJV<(BoaR3INY zKuqqYZFyz)CqHP;Ns7&uLxIC%kW>%pkRJNdwrqGHlCzb996I;*LoKq0g| zA?1j12IW$#P*VMEdWJga=E4juT098P;DiL=Z-8HmUIZMKdUDm0_U`d<0RQ#tIuJ{* zb{_-!89un$r7x#m?Gp$+?82T&HNxzp{s2cALJQ-kfW=)fe^{1td9fS)`EJ+R1rdK( z76ODLqT>|Ap!Br-K$MCdXA?g+B-qsm(VRQ}{_DT2w2S^1@@)ZSZgF>uYOxp`(*l&$e={wh!Z}YL8^B6t zS9;ST$jC@;(xiiJv5S8tGCu>`C~x!{4>rIaM`aO>BsROQ6-%XbKe`Mij5&&uQt<-W ziBw!46$Y9Y7W%TT@MgZ!)Ab5;p1+tXjLAeJH+6;%xkDcN?zYJ*9z}dn+YMFK!DRmQ zQQJiSX|C!uG842cV{mZmkSR!|$k{zbI-yD@>0 z8Vro!mFC-s`io}?ck^7-={yHh2}k=6S9$e!C!+16URgWCslsY-xVe|V9y%CaiXA_{>LD3xlf0 zZ5obVl~NW7(tZ|}J*wNPiDYBg>@4EvuL-_u{U-g2{VyM5v?%^sUPTHMz_|6Zma8*< z^}g(+Cya+&0-Bx+of$NXK<^`8TZl6gQDwhhd-$Vtx2Sqv%_ASjw46o+_$w53I{t6I z#mKClh|@57V3F$+|4X;ZBjsv6z?jX~T5Fy0NiBj4D(60~$Ep|fSnXUl+u)4TGxn8J zR7gEX?g1@X}f1ug->Ao|o=+ zMA5O%rw&PTgyrx{C5pb?N@RuaD!7|ghNGg)y!z-;A?IHu^Uvs1qF!%VpF?-ELkn<3 zI7h;Q(QnsW8vpq4!mC|oXA#vq)`~rJS!f_T+cel~>m@7)IC7>Il0W>DdAUd_d56|t$gR*$1~1U#o`EEj z&U2b<75L5+*eaw#&q3zKmTjFZn$p{GYR-pTnISh)?PwkRmPI+WV6rfSbYT^**0=kwvxTmh?}=-A1DTkv_z6qeK{Xo zMNEkuFDg)bw_Mm_+EN0cg}IDQtyhCMa}m8@^?NuDQ(uyW^{j)qqyrlsT0cXOZFnUo zS61icS8Tg%Rgh+!p8O*y2v1ahYmCmA5IBE$tvXR6&t-rOeb1&K9- zxB95maM_u<-g%0)1s=&F%Zq)w%9F<2n%kQQw&wfG&NM8Ug&i!E2J1+q}0 z9JVFN-ulcxYzrABj%_J89RMm{FBM)^nSt#caM?=&pdsRxEl$wYntJH%NUhzaSSQU` z1>f@knxZ9zRU#k}9GH;q+7jw~%4{&Ws_@c4(z2LpfxM215>zrJB?}Pk_OObocWS5a zJtJK+R?nX$YN1*2WmoH^0!xIrH5Hx0e*hBzv;bsCp{(P3STwBEV%`iyX@2%{xGdC( zNBhT@vnpeW5pN>1rlfyZXk#Rk$Q!%{{b0%lG(~P%*@{upYbf`t2nW+5-4A=;-OSsB zg9HpDG4lEE?YfEB|J_i=azspz9I)Z>Dnc#V& zwzR)FJ=u}^yY@I!vI*r3)X5dByWPp+La*@@bReZ59L!w0m`d>n)bDTF#mDCd5XBta zkKKDY08+mJ@zT7*_T+<*!G9rMBBi|K)5Q(zFP!uWT>i*F$h0hB#%6HN_icwn3W8U} zL0}Jl4>*>^lEIRhwo0Q8m;Uu5ZyLaww$n_mYV;2b0|YDoLAq?E$@vfLP7)~BI+*FU zyRG1!5i;ukc}4=9C)Cn#(xQ=R-c!|HML9czlWee!Vpn;A`6l|QC1B)KPvPJh**HA} z&j@SWk6KLd?jVGMRrH%FI@KP?!Ox*}eP3T(1ys$=0{#?XDOrrN0Z!bjqIAwMT2PB= zYODH*;igCeoXadxzwp}v;%G5~?*!MTPDgzo>R$em%Zly)g45WbiSRu6yHsD8ew3T! zB~wa#1Rk7NSAy5MdNUpm#z&-6oo(cdqfK<^bRz?JwKSmY^Yq+SD_2ya&{DI2lp7JY zBT)K&I>mWp0)y#QyA>H>pRh-hKp&V;N6Xb>72Q!rAayLRpbB}n?#THnA{7fYTyP2A z%ZenQtIxyymtO`Z)A|jBcpb2aO>yzT3U6Guz5RAz*Cg+~#%03k4Ef;L&Qy`K zpT{S=RTE#b77vF90lni~mfBpEuhRzPP5Ev(X;al=ugDZzI?aaaXHl_@!>C3u6+}+pGb0$vDe&}ojVb(@@6z5{f1s^F z04JUcasEFcf1vK9`^UUl=tU3e`n`*E{!Jzp5MqgxJry%b!pc zu=qQ)&H@eVGv25^CZ})YLUQz|usat|G!${xxH!hyzp0tJ=67n3VlH{3D-nSb^Gbv9 zy43P%_-twPCUjqmoJAI(J8Jbw$Zp36x8g zm5=-$!~y(<0%ZmpD4Gro?HUO-`wgX z0I&EFF$=ID`xFpkCk>fqCg_$~B>;rI;Yo_*xFi4yKZE1>GkA|; zI{?*fz0{Lr0mLtOH#dmS{?Ifak{Sk}YF~0&0Z`8cXqtt!*;+SN1d0il?Y7sPWr@XI zOHGWGBf8e(MfSimYYujQHr6{6|72)znpX@MD4LFd&t~@Z+DMNB&IfZXsZV@4`Ob{k z+0#_1=~9q`$O3dX=Bq>BjB54lBUe+qj$)!&nPUC1mKzIAVtJ=Yx4@f#3h|&r|{g@gWJ&92?{OGlM{9&LHZA^DzLU6u8}baCU&Z z?^1lnaK_VzUbK!n?b=?^ZQNgyjYsrd^?6N%B{ycc5W@CSScx~QrnjEN8y*124(G{C z%qySZ=^Qvh1#>=i+XhMoRYM&p*e(1!4RQ+w-@-ufnF_EE_uvt+sAbRq@94d9>4DLl z=iiJ)XW`DytxOj2K!9VhdCtkBMrbB#H+6Rq>1eVCrlCaeB;c5{HXfs|y&&!0Qeepo zm`RJ3&TzqAVLE=Cp+t}Y#^vIO0>lZbBwFTb?k6kowmk7xK!!`79)Q3uq2KeMYNXx< zsG~m{)Oq2YIh<88B<+k!=eUlV9$*l#YBOL4TCJr;@CulnEa8|MI_HpQvO2A^e~~j1 zF6)qSr`jKXsh#+3fdpZpX>`=9_V@&+H3iPGI>xs6CbX}QW;?@Hlfn@)|8G*J3rEUe zJ@*3;Y+C^Zo*BDb(MvO$V?cC4#J_ zJ5W%eR%;G27X^T@=TCo6x4ObLv%=;F;_qYd$nu~(B@)27tJoTsDnAJ^N~rH$2N?-% zxI(!8ugx9?n8+27)l^Jx-=6q49Wx95(?*5>J+C@1`TQE#dh>I@+gTl4;P=NblbsCJ z=3WDXZ$~8joA6&$j7l($iV?+8F)g{a9H;+7#k_=;rq@#&8~w&vWx^r1aj{fQKCaIj zo|s-mp!9dI1ZWbb>Xex8z^K%FfpnZf*PpZm#2Pj8Mfyt9YdiADo!#YkmjYp1Dgf5Y z^B=qBI>pwYg~x%boQi93x@b(z%3B0paAsOl|474^x?2V9uE0o?l(7!IbtEy$JPmJuoq`mZRo9t(Q8g4RCZk|O;KvaLsq z2W|zy&8{JeG)!_IP~+lyvl^&Cw!)L>x8vtR~|BHjuH|n;wNpbqiE5p#OY;tDwtR8@U zHnqpAyxg5HOM1^+1aWgP9_~&ie8oYh{?9pB>4NtxLTst_B!uZsJwXo5Em(`We>cII zgVMXoVxUg)?hJeIocodf-!#oW8(>=R=MX>OZryxURBDJv+Y--TXGVi*T)n7U?dHfa z6(|d`rpYv<%^a-lRZj(Goq7z7hv87k_n?Q6AEWgm#!BW~%t_~Mz-!ndf`;M}oz`5!gsFmCa5Rn4 z&UI~Lh?*a;3<@{{72af<>>`6#J}*55R1#Qkvpm5yccrB8R|m}BCqy+JtXj24x#*I+ z5{NTwcI3&?`E~525T4h6d@-fmzkwNVg4ZBi>iDZ>2rl#91#AAKZG(gFC6h%VPq0Sp zPTX%?u$pFwz~$x4zbG1cOg=XIHV`Vok3N^N?sw`U24r_|#Jm`gf z)1+DWuEjiSj8GV*qvf85)>;0s@;IiJRcBJ6Gtl5KWMyX=7pppyt25Y(5R@)-CqP$6 z*n2^GFaelwTz3`D86yrzt2~c!=w98>Ljb$WKb)&Gu%T0Niou!h{$WJ+&LwuBCk!@d zaDNcHjX_}0tyAz45-j<=HiVZ;<;$PjME-&`-!EXUEz_pQpe3(HQ$dl%_3tD~ID(eB zD3k~rbru^xv5-wC3&r{uNB6Ol|1rok{rKM1I2vu9g+v;e6y&9vDP8rzCxOiHd z^%ua5W54%#XBk?DGs)ny(pweO9)EWS<%YRVKA$i!Q+8#o49^2#g0S8{0K|PfPP0(^ z1v%W*!ng(9=Lma^A}s?R$z4sLS18Zs*B4GHDUT4dW1>=dma@6RKgW81R3HaVdH;9B zn~J-@f17i`qzPZE1eXHXj&GJnrR5(HG7EXFE^JamHnJ$Mc#EvHJ;n?hCp3*~S>)!~ z6ZzX569;Aky8Zd2?9&Wv6aZiU`0prBQ8?3@@tv6&P{HJqOI-=yiR9Y|Vo`(t*}I>i zfEZ6Dea|EIc=^Q3)ROg^#lWBWpjqhpqthZ9lRf+-`BkF58?oPz_4~k?M<%Xha^@|) ztl=YlN{=aIX(|)hORzsTg}=)asWuy+=0-ty1>cEXh0WY*S} z#ra?=Ad=;?ULGVbS348L)pRki4@KMkNuhWGU}XOu;QYofa#3}GAER^GYMlAT}3 z045kqz+M8AL-6j?s>2=CF5cMSQo5kaf0}B0~ zd$NuG1Tc%}FF9xVxbr0T!0fVlwei_}vh*>{rV7cIa11JQw`x-#*r>d=yJY#`?Js^| zQ;)untX7JRd7{s^ps6vie*0XIa2v5h4I=b32<%HGN9iI&h5wUt+@%hAzU)_a- z5do%Rt|TLLjP;9A(Q#*MC3!;<{Dye5))0Zu3Y75ANTYelD^t6_S4@29s9o=cev2l4 z{(Hw}?3-H!X)y5=k^6!J6%2%=iK4Y9D495h4>MMI5gkD47?hQpRRz%!XHZ`9Gq|)urK^CmK zuw^9;Eicx%dM3zb6r?23;WQ|AaIx*$&7g8ZGWy5rE=7sQ!NvR` z?G88N<)ctmWHi|@;e0hrW_9FdcBtcU%p=2h*)+DY*Qew%KIB459p+_uSAjYzwxk`| z-Tc-bL<@{qMU<@JVhu3ccH1%?ob-lB+Dybx1^M~*5@edZx^I#CB-T0FPBpj=JHDw<&Ey?lHc;a>sbeZt+&gIYPKmnRSllJGwqLB7S3 zShTThDf3Ih;%>^w0Bg%`>212hgejmbpVZ@-x*AERTSx27LJj*IR3x!^mGuaEI%&ha ze#?63)fX1|+ck^WG55v(wjSoarG!4IQ|QkiF=CerTMON->4D7*o|;JKWjJPzO-rW? zW1f_#z?v8-;d`TPkH7lWOfZX6ajnKMO|}&z)<^9o;YmUs$tI}=?!d=-7D1j6(-69K zisu{PQ^JrId;36;8S0q+k;AG>^n_5tvR23<#W8Wk(cI4BHOEdD=Q=S>Qr=H+PS(^kcCZBvK;MBE_>8PK(?yBHED3dlBRA`TU*WgA2+6Q<87i%*ic+ zF%TG)!20@i$uWY-L-;q5TAv&B?>~q;FHh|3f*+Q|#njHsWx|nYu(ad)ynQuvLB%~k z-`=kFG_0z-uAwf*y1-_FbvKoh=8bOQ+?BoOX%O$LmtwCPE@TEtRvfLya$eVdj*MKW zj`}rDReUFOpDdUxnGUb0{))bh13Ek|l$|gI`JpL;P`(vx_)Mzw;Ewy>jwf5G|K)h{ z!T)cLr?_C_?zTy~@G|_(a9jvOObM(c1Vm)K|45WgyV2hJ+Kcr+Jx?*E?VNs%4f2pZ zIRS48uIL6F3)jRCSh#Rw$W!+4tiZOmR7EbWNBziBEX{Hwk(A}GLYL!o$=9uCATbaf z9vr#Nrs~c%Whe_lIdk^LXHGAYi;9Y*aWolU%w`PI)Vpci@;LRuxQKBxu{9z0!Ww9d zxI*70?hbuzG7Z_O-AV2Kn~aO7Txius%!1d;;49X|N97gpJSmjPV)c$9`~Ho9TlNVz zqlM2OQ@1cK*wA25QM<@SIjJ~oK0JT>t`y8eKs4*r%VEdKziKtL?}Tl?Z}*I|V*#+L zs;C5ISS&{72mk~Z&$EhBdi0e*Dvp9-0#EC)KJ9w@F&t+Npe@s`XSPQKO$&3uwBRrVz&zM>EuD(>5CFLF{W4)1(%xj%l! z_Tdq0c5?tP+j8yKtOTQM-D<33YVI7 z_+ib&*&V7^4XVMm80S{mI;q;|Ihu>rhl5gjdJpqaoR@-5+36ASiVk**-iEPqF*2hk z972GKjx}(pYRk)Y;37pk+i6t8-D?HogWYE%7%H-WLz54qqqcZhLv;wr2aWSY%*|C) zn$R-aNv%lpAG@vu%No}hlV9*`a&wyS9U&J37)HE|(SCv`Z=&lF?710){?vALC_BC; zxfJHsg1`J=U8ocnn$eFsU2!f7Y;-v1mx6c)QO4;CYsM2}A;0QDQJL+Q1epQEK&ydb z-Rbj4i#o2N*C5xvNcDO?^)0%%R%~7I%+&U$Ooo?Qm->@#tx*;ceOGMh@oFeB) zkZYNEKDhfTnO%*V3U@=8kr11I+p5+6o%z0FR(>>ug^s7?>BdBhO}XX8J(M!8xQ&aM zUNv$0@SXVa*PD9dyry@nybpQ#pAcSGJ5!(S?~qK z&%>%$55Ce)dR4tQ--^B6z1+Zx3ejQp`u$OSJEDnv1diR-efev{bw)s&ysA_0XT{;J zhFPA)RebLAGcB%Zb)md0JBtXYvw#$_EOpyc)EE=VByYL_FCyK^2Ue zL|rfF`P(Fj)2~e)^+QuwJSw#uY-IttG$VxWqxt%`n|732GlB2W%8=VPhn?PB+?quB z(k~n>tv#y^Ms=lj{DSQSTG+6$e6u)>4n)Ok)c}HszO8OXV6i>7NzOE`zZv}HGW6a& zA4SmC&>_yx^d(rDlp3e(l}3M|Cgp(Y1M7hi!*AEgykDPE!gJ<0{r2fjBjr`;E1Ufp z`*n7s!t~J)PeB>>>NOhD&BDMbY9xE$aeLab%p(p1Fn8z zl1tjjSp9*--wrr-C1__xA4sAWe_yO4*W<7DJl&?1os4h>{KQWH(&<~5xeC*^^6w0X zLads!I6$U`X|yz z|8WK3xV!U3dN&0XWcPH=G1K$ppxg^}iJDL_iD-%Nr5`L=dhXrDZk*~juLDBHDPbaL zQTlQD=R?Xe_I6~P=-DGPd7SsHO!uE;tnv%saL=0W!lJF~{Zl_F*s64 z&MacQvdY4@pE671&;*V5Tb)M@_Kmn;zgyXT5B_q(b-JE?)6M(NBxw2pU41kQ5T>&4 zN#BQa5~Zb1dfp~|U|2~!Us(CAL;dwJakNAW;|Nt|TZjmy^lp5@eG9woh1b_goabD2 zs-62t^2CmAzHZFwSW2m9H+(twG(`U7k;KNUw<*I-Lj`q3l?Ol8da^nW-*5cfFBMu3 zKbL3?yWF(6g%iel~?CGTYa-%osTB_?!QXFdDHnTF`e9jl2BI-t(D()GyLKr8#`VWy6eh z$EB5#7)qwFdj|wnWa##r_b%O(&75piNHeM@Mj(zpSobt{9F9qzYz(&YJsm#iaddrZDJz*}%NSMtDS zr1|yzN@oG(aJ36HI=6_oYd?hVy|803o95Ek?)aoCtZ>~q*?nVQjNC3B6;wnijcxzE z>g=s=Gg;bj>+@b97bBFyf5!9hzVm+B&7Pc+WrBd8US=oQ2BK?JyMeX*)vS=YUrk7o z`&DfTGOTtcIus~!$e-3S@!^5keaG6=0%TB%U*}>}E^d}6K zOpB?rYCNlBb1C`ywC~}hVOHvhO}Tp94o_G_{2r3FA(^+cj>;p zuUd0GE3vT8}SqO?RkfVL2-*W6${Zr8Rzf1y2mEB3Ofb7oaFQN-TJPo#G=phj9bI_iig;$o2c6e>Zs4}aIv`Nif2vB5X4MK+9vS( z@{8962sLL6rO8~(VFd5^^X-bqo;fTJWa{k==y{trbalOYeNbEBzr>9f6+SljC<5zD zs=tD6A`p-9VFui?TGFu*E#?FLU);>Sh=$?pGSDFu>xU@6sOgjtmw1!~AZt6xz9N9lxo zqt3;5i#m%}@4qd5qd$?Y95=`KQ|jqi)?r5<^x=9uz3PMY1 zt&uYe)pa9zFD5C+7bW9`;g6T2QiUDi#8*&H7+1$`-qof<$3`G`XyZQ8T(2|!BnAWx zRk&(MNV^@_3*82qEey^NTDSyNh)t6plDL@{l8{ydd#I(yR0wJ&?7&+M|ou&oU}Eu`ixJ+~f8@~G*Pvk9vC z=}3ZV3Dt|XDOzXM=pi>{V8l5^*Pg5#f0-Q1wZ7!}(oV@eQw| zLbmrU=3ddQBo$86eLT91VQnhaCoWaL!gn9^F6x?u{%Gi}G&Hg$v89>Yf8zklh1}r4 zVk|7;-{2!gCpU)1TGz*Z6f`Z z*i`%rd!EmXO(?tBi$U~)n=GzLn#jQ9on!S&5=H9fk4UncF`hws272OfKTX|73zco3 z`pa(SlQJAF>>MXkc*AGAZuPvFaQ(W0camWJ-ase!PH*Ac^*}D$F&&E(qt8TSR!*%j z4OXPJyRQ&#UyMz%qHiy(#5Gj% z)C#qlKK)o-+I1yd>Q&p&_2u8B`rHEw#Y0!5Fkz1VVJ#X&HT3T;kYO9xKardvc?C%6 z&3rZQUa{f7d}NmwI};9eHON%@B0jY6!2yj7-{SUbaR&-d0$( zns#N5oU>9q^-as6FU9@6jWk!mgGZkF&R?+*GGFHUO%r~O-N6DtYJyHim3Dv}@l z!mAc-S<8+S+K@Ix`O8ORS&1z2Zc%p<&>s~ME3q4#Wl8SbaWk}y`WKzeGemEc5<3cJ z3iWeXd!HR^O%9PegE~20zrw1Gv6N&)92shAz9dY{ZC&rBtQ)gB_BC8efZ=#y#ZX< zmhF%a1D7m8Ei5bq9S+xJ&4k0(_?>W!t-tE;AhdMnz#l!0{%>l>Z;UE!p1|X*n)G`; z84-)+uG-gXz+$!UNF#pN>NpP5sf4O%36_=Xjt@;C%fJ25&@?#{Fz*lXUusJT?yjpl zzw)aYKL$_NH(7*8alkU3UG0pD_^l^~?NX4c)M+=5Az$5ZdjP}MYU z<=pBq&wG0-D@$mGl(J4bDB%(j;=utK{hj=3V+UA~VnfE!;2lINcY^(}Uty3y3*1?KNkzC2@V}A>Kk?>SCgQMJe^`0kdCl zi9Yj|@pXi$m4J2Bxbi9oCL+_dAY~~f(3P2%j%r!@{*Gx{hw2UJf*iNY=!Qvmm3@uf zUexaaZ{KH#pPYqVEWd%0JBh?~+OBn4%al#wQMB=>zR;AUF#4s3D3cK^KnA(iBuFBw z{ysV5XZ@%C(iPS5yQjM4#M{0Gv|W=n`ionVJb0e;guJZu)fs*+@{ zrpu3u>`X^NSiQ5VO37(NOBHi0%;^!vtfoyq_2*m{KSi`nMbZZTT1Ro382;#WSqgmK z8p!-AL5}tWX*MicZD7w%kY04E{FN`h)|-&ZEyB&jyS~(9lB)+JYbAO6T$rM{6A;9i zncJ;voo{v>=^Du-0EaQAyq?j~O}czlaEPZxO;_;!;7dq58&t%Jv(@aF%X4vR?^u@; zmaLG!-~A?pH>c?C%RcmOg8otngZEk}jb;$uQn<`Hr5+EVm)et`MX}0myjI!hL%JlF z=3=eY;>~+&e$JC4FKoFR4s@%uY)_ci->>CUEZ=XH{mR~Fi+twC$TgdM7+aGnmHDfJ zVS&qz*7+LO?WhogY;jc!TB8K6E(@8fY>v)PXJn&|w>v7}yFBRd2a06|XEcm!m-rRA z-^Vc8;p-g538_SOHYh>35gNMMjFL*q+>a70v7Wmnj4K*J4OME{jFM94l4G8!#w$7> zu-k{!cGQENs$J(Gk&8<}`ng-#`icqu{#G6=qA2SBNQm(_(^| zsIZ^)i8hWlcy;QD0sGHt#3K+u5T0|&G4rP99>5D-TNV=O<9rpB1Wb4TP4l)>dmJ}( z^3ncO-p&9>7q%Vsi#FeIx3ouzN+aDKHF@s!P43N#vU=^Le=Cwvc~)g~t;8xyq`Pyn zz)CB(D&t$ZhRCxrbIoVgZFBA$s}245cov!;(cGJ|6pF zn4?vu3t^WYxFJrpVfn?3EoWQ!WP5 zuy5XLX+Pd*SGXU&Jq>jq`J~6FCM%}kviiy~;2PQLx@@bloT(|E`4EMeF0c4N8jMyq zbMva!Q}?AHwC>dY3*nbr%0%81zai>lMUd*$?fj#rtd+ zvEHf}s;$w5a0Z>qQ);Ax&&$ivT^K4YSV5iokZZWa(yPJw?T5FM(tU{%fmZ|FRGcP> z+6|U}(%O~lSFASE^Yq$f$~(-4B?Grg+33^3IGFUNC1_1~)1Uql*=u!K_duu6zE9q7 z__xk-<6_HORji-sX~^POrA_Wii{$r(&s*Lo^2wc)FyU8#vR*NvQi8zUc8$JY)gRXw zwY5wfOT)U*o^z4x+gHqdEO>XST4HWKO%`I1t!Pa_so85Sk#+{*988r>@S zsmM*`Ga%RT@GX)Z-)kNrsFN)MCU0@d-yp+>1UeAKJz^!`8;BF3Lxnl$bn&3+zB|xM z>HQ=7`;|WM>0a>eoT_WqchD(&9b={0U3ZSP{{Fnc>icM(ot52HSfK5Twp?0Rpk{*- zRL$%3g@3_=MnjU?r5_?aJXLviwI08%_qO`HhhY(;x?wSzgr$1&X|&W3*Bpr}T+=3( z^hEDq7sS79B8^S@lcfvokt_5kY}ZC~F7jV9oG#!*JNsWltoJV=O~Q(oV|qxAW)AD0 z=P>%7bH)({5UHjZb~R0t2V-@f%Z)oa+fBUc?Xf)%=N=Lp~Um9eW1T_?}B26 zSS)nnimO&1dz^p&>!WB3qc2&OAbXiYXCzm>X~y~TJE~%Zm5uiFJ`^e6RsP_o{da2k zJqbifdKa%8-x!;ZCUbnx(EJpBl$Lh9Jd3blT#o&{GRZGl*L&$RJdX(}?EOm&)w-G* zA2<3-+-QF_kJ;%&qL6;!8Z|2S+g-<}x>CRO(~z@>Y&cvaArLbBf2=hq{YCOqc5wzPLoUmB0kp`dX@h$UsT@CQAoLpGxSAB$q}Z{ zUoDr_bBKCmIM+t$ zgiM1)CWRh+M;B$k>D~N!cTCuStroNA>?|L!#?2;bD)$XMPBu~>L!X2b@kJI9$6;*G zPY=q5yWb>-7%x=u=ebX4=eL3Yx_SgLOV=$*@DNcFWLVguKkAqK2{kL!yZP>9$V|nJ zwwT^PrU6p^eI(c1N)D0D#Ue1z1o006MM7*7`nc*h}0%H}^=GJ?wxd}^^%Law9 zH*h$RCalP?8cm;+@T|&(J9cLOon~WKL2r3~axj5`6f_^DMXhZD{hB$w<+QruBH((m zaW!!PUtYJyFkPGv3~_pm;vNdb6+*=e?x*#t?ldA}rdM)kA0#+*g^mU&-W~h+a7f%Y zPx5Cg^JxXrFGKzDqMkb%Wp~W+vLHM7f>PcmW|88cIj)p=^WK&Ins{TT!?r~<;&Zed<$lIW8e^Os zS8g)rvflHcLwx;v&R{Y6T7{LNBCj1KrF3bH_|mVNxA|Mg5xxTU{&d>HNtd)fNN0R# z|9G4-%6nJt)W4a6JX^mnNRWP+*b<`>hJqjeHdJWW$u6M1LR4N|BP_b8RsNsn1=`P9k6r7xSJ-NM5`BaO>YxhTiCFK#$`lEr=jG&aJ<1ywRg2n6s`vI%GqYTcuS%^Q+5e zzlc*QpC|t`MaFG9);b||6)Gq#bzXxxsX*l7_w4G=;Efz>^APA2Jou(XQ(*-FPx&HB zvYtJB27g%#7m1$rD%GTHdIiiwkH?174#UHv@pKnmAKmZUG`jBL7IfN_Qf+{!`C0to z2b0HXkC?x0(VDdP2(~%u$3!2ecgzH;rEc6UmkF2czNLN@e&vXbfh^!A{^*B*>jS;I zO0*_gvXsaG`09#9PeCw4lJ%o7QrEpld72sWMIR^}uV1FW3fUY1B^D_Q!Ye5r4=Xd> zJ5jasAcVWcivbpLgKLCe=py=-6ENFj@4U2+y^ZftVPi+u9P^8iVZUOFQz?imCD|^< zSkCxOJ4#3EEjotX-+Azs3chuBrb^}~7oM@Wx4PpnEz%kW7+Zhcks8-ALvSXBD(GSF z7w^`Ps+$fuNAKT|C76DUraaf%v#IJ4HIe`TUTq!&QPP6(PW7CQ%lR@Y_IDZQGV2GL z68XLR8qLR$aGkUQjz26jpj4bjB6lWpVG(3>;UkN})4@ zJ|*~)L3qhxL8t3B6p4Q*)fMfKyGAb-(e+^p8}NzG360{z-3% zuX`u^6^`B3Nbg=HI#0W%PZ<#*WvE9Vx8ZFaZ$>bEotxfsEQSu(r9qmuSwXglDg&<^ z>)#@>STX`!B%3pc4AeyaNCEB3OF!1~d10GCbZ>ta8Chp|AzCI|?!k%ne2-OLGrlOK zK;95jf(P$kV|Hy zzw&JdK9A?@1f9*s>tSS?e3?G4EJQG`&KP4U9N5HhTj|0zn-qC_08m-%iZoL@ps45B2d1Q zEaKK7SpntJV{?K}r>gdA=GdJNj{kqMQ;!D+?XzwH)evYZ2s`@iAfL& zS6eLl)r2oDcqo~pU|efPq9FFLZl871yBL|LdZ7tf>^yi|)uf@NW=-*jn ziSgL-sQ1c2z{PoSPP3xEwqy`MpXf>BQadDQ>J|Em=eQgT@Y+JRVWq#+&<(#Y3-c z@d+6E>jzh;SEV1=(EvD3e81G&ynTOpXDBz^njD?jX^xLvet^3I`j&*g{8q3h0$^t z8dK3_2I~U0=gT~ons|vCQopM0?SFaSLXYt)gmDu)HeLYr$43CtPIy7qi&yfy@l9&~ z{a<|}h1xt~J17Dn&;1t%*wkRgqcqa zkz<}R>-uo#dGb!jD3ZtrnY}FNCfn#KvuL;+mj~F?mcT7i&i9MvJWn;<#&RHo!4d}G zP<;R?VHJIS4%+nT$$Na5=;e819RL9TsyM4HpNuY}G5j2_g8}0q%Gj{;&d;}`lGOc) z!#+US(IUzPyK=e`9s2*EHbN5IyGrV^%2%agNXJ$AYrjn@h#Hv|mKe8Y zFzCG4O3iwg4E0i9b}!!=6Fb$`$*8XJbH^&e`Rxzw+VS$N!K6av zPm+U1d-)s1T-Z**v>TAth3p$GOX?>Z{zDw#Jk!o z>Cl?a?S>#!Eg331p#A$5umUNWWHQ_olS*IZEK3mf81tSk(#9T+7E-JUkL%m22)*j# z#pfX6#eAW_)%E&tj*7;(l(_(gm6CyvQe2Y|&A>_}YDd6n^nxt8?jg#+_)*rj|haY5SUY zr;1KpqZ?@zb_R;chIp(Q%RW^nI6Ygx80>y!SpDv9NAlip^vdY}%*Gr#CU9LtIIV4O zmE}f9+pl;$+uv{210P2@5qc(+sB${v3m0-@}sI(j%OGxL*$ zJvHl9BMN`Gpmknn{SWo+#%SGwZ$In>PxuOy4L8jOYM+st{eF21#hZE{M$>oa=Butn zI`v@UdgZWdtHIC%m*j%9-}JZPg+K!I(d~anT(F85&MlDlCZm5d0SIK}ru7!3dW-8t zm(D7iy|cj3*l_LU00rmY_%UErsDDmlE!qS$Kn-qNwCMCo#MdYPnsULn5{n}3KwX^7 z!gha@{SSfcEi2>j;{SclWzO5+hvI`d|7>Ktl41nN(sv%qpNTK-VmZ(hH{A)WLM^v0 z+1Qk1SA>8TvI5xO@iQDLQ%M7bdNlr4#3)9{zuw+eY|+1_=o`Oawco&<l11(M$>rAhg>(<2piO|a^7{=pQrX=x?F}YAD>0JZF|ANP+L}GTX zL|^5k`n-73LFZs6Dt>SKGgQW@dQgroh~>10V;+d!Ee_n)4`+jSKS+1b>0VSUZ1iMW zU^r!bnIt8>ef}3Y_8t{>5*~@(5A`Yo=jJ`fNH_=X-Is zeHE{Rc?b;bIEc;4Q;NjF7q+*;=c0dz^Ne3}vp~egw*|-C$c<*WN?)*v7%r?QJ-67KxzDO1$I?&y%BwP;zAiVYd4IKcfx8Ih&fs{F~-~StKv*~ zh=HSo9BVonJ{Jp(2_0pQ=>OJ zzJ&=n=0!|Y9kSnqCWP;?afO!MB5yLO?D9tM1?=S!mKThCZ15zm-jU0GwZc z9a*oT$+wal*y(FY%-*R7mi?CIH+29;EM8H~&FU>Yy2ER)nZ^UVt`v{AxydA8CZnlC z7yLSS@1c!7YbZdp$qRuA_@XS+JCSa30`~y{NXUKL&>4)h{mS{v(u21>5!V9}-IiGR zTUGP_4gOXJT3Q_q|HFP$@@st@At3+q*WA;$qHjO50UHy$ZFdhyX0u4@nEk|tUAOC2 z8Es{Q%b$jny+@L&2cLC~BbC-KXoV~zDDc>HE(hAP=VUclYKuY>}50?u-zf5oP+!hhEy!rKX=IOE=y(zMW{uGHs1&{0t|PC8OgG zX*8uO{$kp`Z6&*DBn^X_esVuuNotTdNu23#dhNc$jJxAD%budl-q78I780`l|9VJ`bma3MLv=eH@JmrhQV}ZK*AT(x?}idU2%As zn^K+Z0c8&ww%YB`>Kmi|u^1|p_v7A9-ELL<@kR5>iF`?b*`QR)q(<4(XM6;tjFbj^ zW@N4uJ_W8CAKP_|V<)8hI6@1rciquZt(JL+a}<{TXBLne%O=_lZI%}q^{b?6$P!bt zFN;2&#u(9P>3KURBm~KCoN?zilG*i0nxk(n1hyKzkwfx!eu*lHeq|gftv(< z?F2~X2;iL=3sFDy@nS+xr=cTP<_@=K4CJC2(+5e{F3wLxnYo$?AgYF*)4e!^@F}oZ zBb3B}!%K1+(wbIrN_{oHGn$FNlI|q?k=Nn9#1H6geE+$+dG|X58u7h-0Gv2DT>`h( z4_kB?UR>g6wCGKwWjXA*zDPPp4FS_u5$0G)-7E?hz7Ia2J=hsZ#L>pM8swuf7|l~Y zSE!XSf?}N}9V(27`oKgM?Bp$W|FMz$D`d$GSj=; z)i2+(X{hTbnDkt{azAZc`;tELc6e?|?%Hs##C50H;ryRqbk#O)87Timo2dtGEQ(UX zYSY`=c^3OJY2QmeMV#6H22q%w5c7!EI*7T`mRiwl?Y{L2>C}fJG~Y$-Vd{uqS3>p0 zQqcFsiXt$R7g{gcV*@>>OWGbH&5c_TO+s6r5-byMysympdyQ9b_tYcH?U4zcj7Aqb ziZ$K~QEkdE?BAmXe*g|1&bOKutE9LtYqBfjLIYyYY(xrpBk#Xrq1&n|Lu;Id<5z1!aa4(MS#oSjLiJ=BE1gQG0ht|spy7ymkbt`RhN{~Q?^yfZoOj~U#uNtdxlm2l= z=*urYzzJu8bN{0|S!nt7@81kTX!S9$0%Mj?KjA@`q25LkW~GIuXo)@HW?*9@n-98xd_C(bz+Fy zCm7BEVzic^`O$TJItVc{nQaKigtxY;TO6)Q8TY%*)BZpase>n^k6skpa}hnohkqoQ zOnxOT8e!dQHH_iBU{8=Qv0f?hUQ)BkS3+8!@pr)rFBGurO!#b`rgD*IaSKaQm2%-p z;+a`d5@#VG&zLpb=h&;XRyez(cK_fF{L*^4sQA3MT44Nh(WTLv_4+c#wDn3V-GuUx z{;C30H}t#YA6s!I>qbsOcfSsS%jyt4*!J?c!T ze`4Ntj>P4@0jJ523poUx>suECKR>;SnUCeE^)H!@ra4#7rEmFVu8645(C#+FT~DMu zFVrNDU&cILXy2v%=f!!2#56MZq04Be?p~mow8*@w#-hecN76x)yDj8?+ahx!rB`iC z^FiPt>xzItX%{miiA=GHnSCjQR4mv)YytI-%kXzz1?wBEsLv$w&4VV0haKSlS(dTJ zQH$NNyb-T;slbu`Vxi=CZJ0y7d~>8d(`dSFri`4;@0OndqC6Vz1V4GAz$_h)mY!S~ zGD0tcU+%-T>2_EFG>hUL9;FmPW|?`XW!N`x%wR{5zY?xv z5wFb-Z#TU#6>v4)mR2uh;GLE?Q!`^{zfPTQILb%}DEV8~da>fOl+Rm|eYmE$pjNMh z0Wyc{I*)4)0hurQjgZ+C&XC2Er5d8SvGr9jhIo%C7HX!yaqZmj`$H2{+)@Rl$=G#n zK7LB4N+t&qi02;!f9OuRkhd35tINwjP3RnL ziXHr#W_TPidmq*rdYhvMn;FN>eR%*R%Sq}t>q|%}j-sWK^)IG;u%S)CU-_rSnZP98^4Y< z0?+c4+19fGou=Ijiu~xp`fV>s!?nq-Zi(;c9`Ano`Wd%hG^Tc2u49ST&+@xN=2>%c zj6)^%rs4#1FN9In?V&?iPOOoyB50&@~G^HYsw`!g&m0`UAs zpBdF_kcQ9H-no9o@;>rWhU52ZE5Zn0x4;T`kf8?Fopg7vlOhd|G<(T?ujaK*`yho7 zuOcSP5OH`H<8<-h=lAs|&}sK*Muk`8A-_Wo@J&4$N^ep3&cHzM_WM zS8y!>AOLn6$Lrx~%y?955Z$cS{t@Or1)7?B1?br>JVyp$2 z-e*rq?wY*yO1SKID=&-ATZlfW6N%I_`%(-LjM0p-QHw8N<`}E|S!ciI@-E)l7R7NN zzCx;FS?mMRE6)|)QX6tGMA@zIzqrwx*^ee0T@gNWJ<4289l_M@(R`o}+c24~f9!O? zW9`407-G;d-S448tzUhyhR@wlo;)5n`ZT9yB`aRXaGN#S%!ejjYx7q^z;d5nW;-`$d8I{asPZ+S1 zM!ED-_=w4cF73-3>lrb!PX2KKp767@MgLto#+w84?3N!NU!J#M zgLYL{daorh5}>SJy=8ur4M47a&Q~ z7#c%R8fGiw&$oT8`R2AoG4s}`xaaWHfA@48HG0FKlS3V)M z!E!k~4u&wCJ}UJsb#rcnHS?%mPIghb`n7lKX^($JJAp&dfV}F;4XF}T_)2fD1Ck}$ z_b^#_(vGHJxEK-tC4u@~Z(FRac+HyM51w#hhr$9A?nqH%ou>5j&(JRwrMGO0ixWMX zjBzPM)Q|6Ke_KI%{?`tn)rb#=nz!gsy>#Vq9vwFcp>-+Jh$7}uGwj?#sn>^=As#Taj+d2W&oFC8*tW7B8T!iG3 z6XmI+XWDkF|JLdsGeDJDxixU5;edCN+UmGr<0Y`S19)_}MZX+OW8WZnromlwyUMYQ zqI!4fL3?&{{ZY9^`GW;Bfu|ajB`t?`KZYeu_%aUTTp8ASY=`ZULX7Xbqe=`3(!Q-` zyosQgVNbO)+a@JqFQfS`Ih;r!5Kvx){(eSvy@91l!l<+MIDZsu3OOiN&Sz<81d6qb zbzMRMduFjex1Xuzx4+~VRZFQnD?{TLeqx4O42#tdz4d&%>U8i{3Bw#MyefT>lQL^` zrp9A3eUTuy;(c&8vIKhv%#VrOyILgkV#6$ zz5UE0i<&yww=WpK--JTOs4v%5exEN8gAXwNd zsvG(sZLb(Rsv}2CXC4{kvrPk)E=ZLfvLh^_StuY&y$&HYasU|${NgLn0bSo0(n(J5 zf*1w_vp5hqp+P}Mw+C=_5PaXOSU_bdULbD}2@S;RO%d7bGk;&gw61n_T~M*>UQ9-6I4Mw zvGUU7T5ym{E%Sekm1`WxX^Nu^!3lX9{p6z(<}PNjBT^|1N!_sNqiUpndT~eL@*7j_ z63-&HrrwFJ=D8=*Kel5$2a{jSlP+QX<&xq8PdDv+yP|~FKcUN+DI#{oNWbe5a)y6c z$x^}EJ{^}bFqo@``$}u}Qb*WUXWe41@8^0=zy4ss^VAe}gXwc=a#Fv3+bp>7TtJ!G z+BN?71fs6eHovOB z;&cSxU?}wPu*JOrv6F@-R(v5~OW>d+A7cd5|SKDd(o|Qn?s2{3_>6O~)!+qSgxh5hr z4L{&^>bTCH><+Z!_`+|%tt>F9{~{$%0wD^xN2U*!K0Jw#1e4mY{FB4^n=sX#H+`#J%z)y7Qs{ol42f9RU`y9xk3x6ws4gWxLf1=r&^8nD2 zi1wvN@Up5R>t$BV1E6uq3#83ck)pp}`cpyn0V0=fuDyd*X^3>wXg`jlm-)-N4QyvDdVm8pYtS|0wvRM)dJ6s?3rV3ch9KB7jo{bGF~MiX{FzZ%r^ zId`V{A8{}@@T6m0*WODg3?Q+~4j$LA!oRMTefQ$PcP@5dA5nbHQ*c2^tu*AIdCA(q z1NO~r!k@xczv=Z}O)f7j#i=I3R#am+?^GoWc_B@HvRCvO9Z7HGUk$klP#yv&m(A6d4<&&7Ye;QIp=Ua9aR z(Q3j+JL{pu`CgDTA+Hyx3>3-P`j6k7(c^pcCJg`emqC?o!jf<{eCpw#Cu%6`=I8{} z+Cb6|HQc(kvN92~2XT}?%Pqvr*n(2;P2a%d^$GMGN?X2omxj^hYZSlmT5gi?)4!!M1nJUo_^B8~;qcgWcA(&dP zRxRz`^Y3P6wL?@q9~OheP==dB>z(bL35*;j+A~0oX}IRJ|LZlvC3S%Qh=Vopx%-Sy zQeV2LuBya=j5TsuU(kG6Pt&$tU(+^4TvM}Tr0oVP(`8Y(|BZ>8{^uQaetj`|Fy*94 zSYIqnrdpD0MbG^jtt7i9^|UKx!Mcfq8NPi!gDfLx$7F#VFn2lq)G1egBG#Vz8a) z0{DrbMQlNoEs&B@H1KfeTk=Rx-88u1euI{9%NM>t^l`z*Ol9Nwmw#ald#E%q-oJKw z`8{dj+&lcGe0Zs^>JBJV1RR15#SS&C>$?SqOw&6w^^557o-y0RV1%-?TwUJOarHm0 zvf5fp#?}-@5>q*PB?9IkorYU@K-z0xr3P*U(h>KDxG$ZIgJD&fzR3fc9 z73+T6ZI*RL>(Dat3U0A2;lZu3<5ZZ}e@<>%4fr8<#z3?E&hIFK_QJ-8HW84vQ>^~t z)^a~vupvt;c_^xuRk@`}vpj+c)@15^VDHDbOvL5aLOxH!D?kgM+UED?TWtOs)zwyq z>|r8e@7`~y{2aG9K=W{rMZN+F!xo^ z>+mgN#76%YJcw5lQkX-#7-Avb9caXT@O_f##qmJJQb`Q5H!ZXRI6VBHQ-14>-{UaG z6;a3iZB~r$_K|85oL!iuas4n{g4VHJmDUzIoVjN@pUSQZC;Nw-MV>5S@4;7TJq}a` zzpN=Sat7NBJdl@JjPuz4*U{*olFi?Lb83u-jBS}Jq~Efh_*4e1&~`3pQ1s#YYNFJV z_c|#wSNgEn>o75tBX4v7@H|3&L{##cE^7KNoDpO%2Oo!j)QlwTZY4@SzmO%-g`?liH`e$l)B=ewD;R+U4= zxRfz1bKb-g(omNjV|>%q_F_UJp&wt0xC=f@3P}9-S>J<%+z^+5-qC*=%=Y4~8cY(a zX{lWUHmv@JkKVsBZBdWAGi$C$yk*nGRocAB71Iq3H1apgJyOcWd?c|*VKC@=-B7}O zq~pNMMxr>XsoW6njV`d{c258Dy3c@fSn|{WLnEY@_ieAHFIA$XPgB|N$D4gxc&zXo zZ%1Oz??d}Nu#;=g6m4u5U^z3e)tm5EL(CWoRiQkfpxnz%h8~@r039hbU3xI&25vge|sJfo+WHxwjb4PvVHO+Z?J9eYCo;l#@v-rkRIzjg`RI z6XAmuc1HkJbn7bAN8Si@5psbvoSkwOU`ap2?i`7}cmT{BiYKsiD814s&oy%)ub`m_ zCi4z3b(ETJ0puFw>pv2*r!w<=4NSB=hYSzo?<}dUXWqSFG10uNo620lIFDxLWZqU4 zYw0uSvbF|H&LKb$Js3@R)q8iXb0zd){ZhUm{iX0(*^ylTj>591RXuvY*M9GMCor1m zAdna@XWm)x#P{RYqCIHW{++TxFJCNr zuWqWi|_QWF>;?7jknU^BB@&^-4`?dx(QIHvcti1M>*I9R$jNe1Gvn= zncgy3%Z(mr<5~b?(v5O*U9X@%G84o7h9OqCPVLe<(tEi?T~EYE4}9OHKcAx$fyJva z>lPNTxZ=BH%s=?`z_z$77>AkB_w+fg3{_=0Tk_<+qpUK3bnPzIt5^b5w|mUz#&5PP z^!q&8gh)kR{%rO~`!D1#OzB$#;HRK@B1#jJ4{BlIMnri814bt`8z{nkMe)w50-$JH zhrWOZ*&)uNhx(P|>7CxyWn$r~xMqeP^Fc#p=JKrsH?bJa`~IMNbwNrm-c+_y% z>fL_OPX7v4WqWD+eooPSt`Pe!*)4lCDgPD z0#oMN#$dE;w5H*0Ey`qmZLCy__UkX1kFM5tdhLdlX%VBf#Ua`19g4(K#p2QeUwvcF zUJDDfu5fbRH(m^VblIT%#$<*ABi`9nZwRKbqq)&&lRU!9aoemj;oY65Mm~b49~=K_ z7L^Y-{~2Uyd=u_{X6?3Y_i84Hm&%ZNf5x3f*KpoETCef+^SG3S^;|)IPqFaum5Bs4 zd5Z&v2bwOqvN;-`dl20RCt!7b!6(5MKK215*wRK447@JGE>Y1~k@WW~m^<(3&4#cD zEo?f*qS+tEk}Lr$gEL$P9l2d%2UXRU;Wejzdg*Kx158_ zOW)G`-B1`fA;tv*1Sx>@MVEMz9eL*?If}KvSd0NB0nX-=OMlMiJ@S}){O9R=ftcsT zo^t^Nn-+TRGp<6b2de{A(+Seh1#`AwJZ(5K<%(Wf?Y6`CK}>Za&=eUwQBaF>vWq4D zP~_X8F*SR8;Ep1639App$4cPlKI{=d@WlaYGlC+S0a;f0{5cYUTszE$UR*~jJoJqi zahG+$Av_r~aKIDGc^GNyH+8nylb;TIoiIBJx(ns4nX=)jpkeoTG=9#ba(Q**T4qB}!w}Cd4?%4N zjt)aiegArQ`7hC=4my5THrHOVd*+F`xrH>uLaz<cs<*_LB4+u^fKH>tFVQ z@-0=}x<+gVE>^F#hcpLGve$iss5cs`& zK!hR6r8lFLO6@o!(WqS*EPbr*j=3i;+-KD!$$B!ERbcXqDUm*gU3J z7X#Utcs5O@U&JifpZ;(hQUeidbbU7Ya>mdtwdqoS9q9M4xZ;lM#1IaI#P%}eDs&4l zQ}Na3&w)BesF|0qtkken*x3Ah=#^m&){Y2&ybyQ;61W;Xb0{IN!6yXdjk3;2vs`Pg zD5OesT;^e-%_vqImB!XA0I?&aar|Tza2xRmpsfGyuAdp;0HS3k&PQWiQgVo5A_!vK znkhLcz}h4%pG&;t+7HCIf!*CedCYsM#sD^Fm|$`4TAhGzwBG9u^X6F1a7H-s zr&?l4s@+b*8u9l>q*R+HxQmKez%~Czg^kHHwqW>^7QT?FLS@^Dt~U4ZxVAU#Pouhe7CpwutXzJ@(kknKF^HD>l*NNA--Gf%%c#CLdJ5L)GbWvPhTTS@od;Yo=?^ z#}YIj%5hfC#PUho)MK}1bYYfvCh0cSAydRgvd%WB3##4_|HFKg=T`;s$GK}Ja()$w z)7$;(^&AgCr7|FKTyQ=zdHuPw$Q@no|H404gIv^iVnPCR+clOyBP@n7U(Vus@>5_R zxR_9%r(TrQ9j4}8LiwXKw$!jsfh-0S8V7I=*1?gfSyHS)4bit^%h$pZafeSl z0hF2B!D0f4LHmT-R^H!R_VUYJ%XBnq*+J|hT+C70g;K+TvYJKGyw=lBGzCaG^McvD zfDwd=0VPyFD=S&wYz=94XFCNioU$j|GyFxb9D~J%r9oH3Y<}-gY0=bvsBNV|>$fNO zGV4|@&8*{+T5XxBNS3ZfENjN_FaC9p{E&q2*mB?H%NLWxZxb?<9Te~Ddw-gUXCrM` zD^A0){SCdB5cP;4!)ePuh~3;Umq8ia`S^gX`r5BNsY==hKIV=1iIgOzrMO@IlHy@c z=^rJZh+dgHBPk+p7MT7{Ho&1gzkffSVe)*lBKo4RMDlF=^VPYs7JRxFi1%tC99P*! z{e~1c3i8M0z+pJk(TT&a*ej&LoJ$eZyQ&Q>n93HKZ{aImxt6^|+C!PNy}&f?C;eMt zl@Fs}VP8ync0KFu05InY$vXZT1GgOWI~_j2Sb6@@LvgI|hc+XmPu~D1M^CCx$A5WJ z%g3ZMkofyl*c-~Z-Ye$*H=)$H5&vnugJ*C_otj={Yd=f)YxP@xLq_{G_P@s9oQ8-D z4raqgx1NM0yG=sO+xsmn2*;=h;G5AaM$WyW_B6LP(mYrM0g#uj?@rDd1r zX~Wklk-)dcE=eiQC}gQ@cpPXlaDpn;sdd|vpabmHjbh4+HkCzOrxJZ2#am)*5s&T1 z9TTBntmz+c0#NFGa895$hR+KAo&`;K3Ykzkm>oOhzErmzm;L$TI@t5J&=iTYBCw#< zXvc=(KjWi*(iu)$(G6hvRg^&#KboYxr721F3o+d>F7>b`#7MZry z{lY>1#sRFt$K5NS`>ypKU*et)gZ_ytwp#NdABS?%H7Qg4`vAi5e%;<4;-UTMWmJfM zyBGGZ-}MA{{k5D5nM_UAYD*42)#wCOeYw&7jNL_kGmUTfH9x|)MM_6({ezxShK4w| znu)bNcvr+)tPU5mxDycc(%+w1Hlbz>3|{2yw)p6(MFu^21a(_v=ORp=L?3&6zh)6m z<8)LJm)ib#DXhG@xt=2whM0qT++;(BBNHmPqwWW58X95uzj_cj>O5lFJ{{7$b$OQ& zqB4zztVUAk2ppzX;eQ{(GmS|0SSk~E1KnNX&eS^bY8%(OlJ=d2<7rE~RI~QE1as1( z8kF8myq|4n*Z#?CxR3L9i@p$s@V>*f%xr7i15U;=sJ@+E zL5-OYSAmhH4h0{Ps{|LN*%KN2i}4&CR=vjU!u_LPnMy?r`rUzg^(#86W9_-Ns%5B) zLE9{LTWrU^?&RAhXvK!(PoRn(>TstEZwH>~kzL5{w3I38R+pHDjzX9Z*7C#UvQ5lV zlMA0iJxoJ;CS;jUq$1+AmVMZ5UIs=l{!f#i2ltvJOta|5qV9Hb6DudgWN`%^xm(M`F^Vwm1&%YBsTfBN|5*gigczZ#-? z>MZVXV;%Owxhhja{S;&F8?>-qv!6Q{{XECd@q+MPhZvnK;_!>0(|EDB(|%_{cmv}Y z>DVj8$$RD!N7Nj;vjLxcl|_6VbA3Nbyk=`4&o2;IgII@Mxt}lI-f?GhRm^Q!CmGc& zE)%{O5UjtWnKaqba{99Ai<1c4Pdgp#_=c5F&9nN^Z}QNnnVtRaBBrji*_D?|6}R;6 z`AMhr;RJl=dx)!m8L>4D9h6$THGFIKCiX37dxndq9!?*wx2Uw4%7;aabbff+BXy$9 z8eh_Gn}z?smL4dR&2=Ju-mg>HvQgP;mF+c0L+xp5~Tqn zxALhJbW^`5P3*UuhL8eA7_Abdy-UDzL(<=0S}``$8{yK+15W5QosO528whiKjFUH~ zA9}AdHAsFNW{9V6w#QUDR)4#axj)ZQ5*1}M0|C)ive%dY4-ujFG>iT>CaQ2b>!?7VQ zXn#>X>&f{2MW-$TSM@hI=yim>!rIGE-s8nh5I?u5mI$G-;6)BaF~Kh%KiADk%-^6M z$5bA5Ca8Uc1q!xz?|{D~vVX*3k4;0>vt#z>L&v}Z9IsHs)XUUNaXnD`e&lDKN6Dfd zf91wV_n$g5j;Qe+yeaiAl{7mi8{Y->y=%rl(mH2MQiugOtj{>C(Jo-K7ya$=IVH&h zY3_}-LF*3L)ld$3XHr~9l!cI)cl;V9^w?oX z?{V4{ZE#ZRf+ABdc}%=a-i}KxV=MUD2;WEU*mv7oBy0Qai`_Zzx)-{b7dI?OpaH3nM&CRxo^HD*r0@_JF2ZJ=9AP~muIPX>`k*Fc^-xO0VIAJwuXU_6km>i z7LnTvP#HGc$bQk;X>w3?br6&-Yq}!*L=E~H&)hVZisn*XI9 zyuFQ!9oeuF0vAwH^UxqPP!IZ>3nW-QBw?GG#a34iP*0x`ctU9EE7bH zD#q%cfB-0w=q@g7f!^{xgzd?MIcbHzLyLK_F?AeH0@pwJfFw(F7Q~#M(i&d0{1_y) z4gCHNq*x(9b&W#-*$3)lfAwZX3P9{4hpA&22qB5g`OR4d9+~3^zg~JO^qW05ZXlOw z|8BnnA1dy&Aw#W$?@cBv0lBx|Q=v-@OCBSG0^Jhhh2+?ci-Zx_2nkzcCSpIw{dZl( zX4xuZ@IYB76Hn#<`f*0VQ8s9g2$AsVd@Qr$<8pngY;jAw-^8}8&!Y*0c3tu_!LS^x zio~U>PHWhVBG_pshSwxK61_9=W9h~0vblo z6nYbj^K$rCow0{B&=i6Gk!rh1bSwNA%1Ao8+5k*|`1Fv8KsdDK)i_wLAV=sDI8+hR zas^-BpV)SWqF88sTH8-6#SX#Noe2)S1(JtdW>stp+I#7zTu{4)AucN_e`xgF;9m{z_Kz4q5S(_GhTe_V5uJaoZUZ6&S6)*7F3YS&gR#<=3-L$IwECeQ;M4)i7ZK zQi2OMI6!#Q3q;8+%GpN;PH{}bQ#F2xR+8RqtuD!JvU<)I62xX5@z74E^lI%j$j`rm z1Mw36-@C31`l(N&O>Z5MB9sqk_(5`@8UtntR-+A<-H-myp8+Gt}_|v#$pVY9qNuKt-tQLZxoM9 z>loUypjqlV_spGgtNtXbE5D;i7FQiXuCqIhU74)?aaR6o-6&_WyH}y$ zW2FGc#EJjinXA9ZMK1{sPMu2vKIR47@`1Q4KX`bi@b;M?=U?qXPDT=F%mCXf^5{o8 zBl)tUJhZxWZF4`VrhBs3%8}epG%~FAY^A8^B8sFUTjsce@Iz#!>08aC24{j?xha{q z!|*++j4DSG#A7r*?{2WJuPVG)jO>*XiBcj%mA&R#-(<0~;d8RH6DmzpAbL3|NM9EF zedt=vQ)vB)V%=D#txuC-3N~7R`U7}x(~^-)Fv(bw|07v2$H$}V?)2Puen$aqv~TVz zeICj|AzM^j9)_cwJv3z8`jswG-^pA`az8&NK;YdQ0R-kQBhS~$Semz`EL_4A>!{{+ zQplM8g#{1C-bqI!T@75|jRWMh86J&%T~rC2%v_sT>ICSO+REIG{}nL6|5w1E5!~H6 zbFmlCHq%z0g?HC(Q{HY(Xo3gO^S5=cnkDJLoV@pWO}?D-j357UlT9EXESdQhHDXkk zQ9R`&k}~LBJz`YW6!=`f2l0i9iqCRMztS`Yntb2H()*!G9`Zc8@60;S1zz;F3~lNA z1LsDm%|4iNVw1yVq&6_C9}<0GJ>Gn)&f{qszm$jTmIiOz6=8w6sTzKdBc&I96oyI} z&oylQeMD*r+bA>`VcX&LkqK;Rm|9H}mF!;|dmDGw2NXv{>3kJ>AOg@GNcZ;~BCdLo zx?*K9`)e25ojq)o=C)5O_HjCFp5AUuR*Jz7sS6e%*Rg=G!|!?S(>hv1{2f5@pd$=~ z*qucveY6!A9=i4Q?iX@fRJjV|kCd3q!pSCW>lpuO)+4r#mlF+1$QLj0nDITdhOqsM zVK^;fQU(^8Ggj`}gLoT3LC2g|6B6V3JhboJ3ek6AUyVLEGXdEu8cX`lFevT{Z(U8C zL&~_64T*7e?7PZz)&`mA4SrmD`L$x+ca7mrg3!=i!wo)Sgsn1+T z7p2SSxACQ97b2~{T^Fjp=`S7$%EiU4;5M z@^;BB*Jwgs!%B4<(XXGK+7gAz+7#*5Z`HG}EtmISX+L&WULLwsWD~R+vP(JJ&lFr; z)e}59dGI*3l=*DOhUvoL?ckA!55Mo^gE`3TDQ-VF2HkVo zpOChpiu^7IB&BEsuI1yoA0lE6P?-{-RXwLY~ zo=%H6cC#fd8H1=cxW0pq4HvC?R#8qRu@rZ~GZqqkk=W&W;iR*zk0B!#)`|ga`{axG zvK01Y3Y-b@;*|Q5=7NH%`D)u1Bt+E}5uM+)6RjGrcUu_R zO|Mb+h*L-FVmXLQoW#Sl_)mQs(Gmz!2&-!om7DnL(f4?43XmD5gCz~064~wLXUR`z z-*2ZXP;Bk2AZ7dBvU#4iEpl`#mqKcm zz7JI_y~VXxE=6<|T}av1*wtdXx7zn;IoYu*y?unvm=f&QSvZD%B#hA4$CE4xYsNRJ z?Bh77qUBV@v0JRHeib)k%D215xY`8)4oKc`u4Bx(wq8*Qk0S12dx}*UF%uu{J$CN* z$Q5ilJbVMGM0Wk+^I|wlGpWOH~-UyJzBKADl4%*=hsD1 z6_tME+XM;cJO^LUT?kaXd6oE|tbwb^$Jyk>udyKNBw;<<)ELSk3Rvcz%A%)@heJwd z!&`qv4W4&CUZbk-4&7@%Ui@(9$rAGNqGTG3d8cp#$C~0Ne*7Es$#pB@3eJA3LXzq* z^YOOO+pMw*g?=FG9RrRV#`={npLaA_Wq8VU+qGMm*GEXFHH8a; zot`En%lXbg`ALOrZg@_mF>k?mVSw;&J3Z?OM9hdyPVcgfV)oBidoL%3uW+w4n0-^< z+4Fj3CQ%hj9|5CB;a|S^dul5u9QmrZ_wSDKT43`^N_y|lSG-7;asxw&wiW_g%EWm-byL{4g{QRdtOn7(NnT7O`7Jaz~ z*EjscTO>C>TYEx7=cJRZb^nDaj^8Goh>A(4At18J_V3BM< z0t?l~-Ny~f#Da>Z6nVbB=zt#NqSXNPfwF;8nKZ)+tRq3miTYBvLfw*#pJU8*>o7&X z21chgvK8Mm;N~C+aheaJQtXUkAfc0L29teL5bW@45)Red#S_ra;y!Bx!y zB(Zx#=DaZ7r@3BFK5a@9FvN2uZ7CR@4@a4RG-@9cs%vMRDaqI9V$}v&4=E=nuJE4;q&cvdBDm~|AHPgY$yAM#CF(WL(wmDwYfE95(*H-KvP|HjHmCjQs<``J!VNU~3 z_tcynpNt4!ULQ$q4h_^pvdC(0q1Dd=EUQ$qRM+AGz%d%P)Dd(Kc2Jf6cmO|xvUdAf zc(U_jplG6?<8Bjtz;6q*ud2*!z<^bu;1~s42X1)D$o}3{@G^GoR^-pBHNHgDzI{m&odXR}u&NlC^($0)}-VZ5C{ zpNlG~=O2$FvF1&wiIe1d!D`jC7Uh&!SnPdO*#6!11cx?rhfDP`9?p68c-WC`ls$FZ}to_3j?9AbKu0H=iiGt#-SDcHJuzzCzE9eIM*68x7 z1dIC;#}$U~$UAsI;njHXQzyB8E#jB8nLp!ZbM=kcvNLeH$cD6;V8Q6OCZ4 z<_C!AIz{$GJT^n9K}YB5&iIgrwGylO60xr_s%~0>#|#)Oca7rf-~tMOX;AUYpKPa7 znxxDd!koBe*#rEK{I-PFw(t)!7%6bc~v+SLc)tZ;TqO$Vh=u2lggX39|Xhj+UEJ5pZAWoY|{@z2z-L|Rtx4xqrAn7&}c<{o~$JaZS#Z(gk? zA$J!W@FC$8|2I@%f&k57@HYVtsrd6q;ziH=L|hS|MvJW5@84N{poY^Za57XD*x3;C zqINQc$^S2;0N8CImk`e`9LqSZvyphd9!SEhJ^TKf1tgg$icD>C;}oC}sPqW_MjlfI z(k*;kU5&Qe1YW}`)fq!qfamf`Nvss~hMQ;$GpMTyJapkt@Xv}EHS(|L@_#4x@1D&f zs1{OMt6mP=o5bHz2Sm5v!tDNM9Zu6HiBX5UU`-pqNU;K>5fhutswbA}%lLJjnDc5r zsI&7(FmEzTlo>D?z3r}NcFL+_XQKln!Us`WMV*ddx25LTe)nj8@S zW}@9gY7XgVFp(46X8|Jog3sOkG5NSYtl76YY3|3%d=cAEh@MQ@@`U=apNzQv@X0P^ zKs1t-brlf8sPp)CES44#=flZq*nY;3V0tq0(j2i4RK3+ga86 zl6_d?9n2`s(TOTm^P!YY1Z+S$=_cLob;2u)VouT14aVMU30dMG%G1}JZ z>eZh5m0=3`s!bJotzN~)tfHi4xGC-*97*LJqqBbcpQgJJvd2@>hv1&F9IHiN1nYAc zLD==$qL+mKFVq3~C&zVI`5)AQQE(18QzZy+laVp}mtUaaridJyHN9WDk8Y4WHl-5` zM^`wp9@n^~hd>BQFM2R}=!Wg&?mrRP-QgA} zN;-%F1K*IR>liV>6$^}H67O(_KF)@H1CUUmy)E&F2GAymp%)JT9ykg>u^HYxd&S4e z_OFIzQ5b^}>oVd7k}LVg8KL51aDkGiwgx~W@GBlTXl3l76=;T0m5@xX^RWG~-_{c( zyz|j&lJjFmLN86V+{^x>2x6qwsj=X@LXLHu!IB64E}qNKG-6*nn(_Xdr25ouKrEo9 z%K_2@{c7w1A9s>GB?HU?iE)&c2%$2wqiV*KW)8?$Q8WVDx9xf}x0 z^NNYU6b(_EvXpsRd84L|BuCt$e}p*XH&=`ZX*MULl08{;`=+y&WEV*%FzdfW+KNGn zbrIxL(fMKclZpmAg^$&nRrzL{R7_`$atMw7)+SDrq<6npo~n$bzK+nZr5E;d_JKnin~Bz=G=>TX z%!^(pv8N5F2Tv~xyGNA1W^fJ5oQY}??bz9}5VI1CqjI&}CMR(vRxP=f+qNH@kBLt(t`FGAQ(%V%k-s=d#IvJWA;m~H^4_04aPIOJ)EjjX z-yORxLoh8XYqEQNH|KK?A*nwDS32z1hsv8&qFN!sx%lo|Lux|?mnU4!Osq*?HrYgz zmY_!theG!Izhx3iDoloAnq##&J7h#Tn?{7+y3^d2Tq5U>P}8TgK%u-5LeS=q{70c3 zY$4R>TlNB=MQAUJ*E1I^%KrPu#K1>UxzmwfIY}&V&#QO>*adX<3sy+ar@3bNuZq+* zI$Gy59v*)98F-P>LVFuD=~6F*)bw;!;o8K_x` zu9KTJ-Ws<5jpJnmfb9LHQq$8qFh7(dQf%yKU}R(ICM}+Q64qX9b($vf=FBSf!$y2+ z!xOhZM-5xU@AUSE8;&OJ?6RLcrjS!cs?Hz8J#A1TSnHbFWmyL&TC(Hqx9C2jNCl$Wjh{%}6Y`t6ano8O8j z$K(5pL~&Hv&cb`>em%vDdFui$d0`We{8XQ7T302`x>NgE>v^m76cL-q7s}cF-8411 zVXPM$>m(k1@j0w5Z*fkpPqNgoMDnPVC2+J_^uyaQF*>ukwOY#J32X`QN&d?}u|}z; z76WAPzJ4sjoYV6o95g6Yz^DBcj|D(55gM0#ig)%2$V5`ZMMYp@tw>Dzy5g$MfXewJ zHX?TYRHiU`KoekTx5Ei&0?5~s9S>LGU#2*B4SoEHF7Ci}<#moT)abt{m;tZuXLEcb zqK1gt{j>=kYaU@h{VF~1axOq-q}B5e2ZOIifcb5?=JVcE(a>eJu*)OG!N;ky z06=PSsBB~?BTP>f)d_cuMNQq1fJnaqUeWg$tywtT@{%`Lxu)c;MUx{q{A0JaOtJv>2T$h7^xL=?L`8^GC?yRr1jps|I{<@$p;9QGdqrn}_-TSQR| zEJ^?3U)-jimQc9-`WOGQY4YFsmzE~*+QrH;p+fmNO-xiam1#nzzt7f{N5V$L zZ`(a}A;W%LaM*DcwR`6$T-(OofPpN@4qW@C8{!X3(3>pD8{Dz8)*FSVr>I3FxL4Ss z#JHJJCbT1j8+0#~R$>H;SnQe0BAdKVc#H(Sd_wFtq_(R8WFw~`lT;KHrn(x?-6 zc+phsS%1m^5LDkwb_v7XI5e}ojtC*7g}x8T*VaU9l&ScmQQH}1_NqrG*kRXmK3MA( zPB5Po=p=a$tF)+r&X;BUR6ovQ&Fo+NY%lU$m6=quCe10yCB2e=S_>I9sH#lsRGu9t zjrDjORs9G*#@BXqb6@A%JSo09Y+0$d7{rusqf`=HkMD{k@u0Cd6cQu{sq(alo^QX6 zFDni!*Z)0Vbd{qK z^@!h~V%P*t%#}2W7e@b&@yE)}+13WjV#j?s(g}h*xDsc(lcbxg+{d(+ql}>m+RH2a zw~H3^g%}InrT02To&>Hu+=*fs3b4kS}In{{#V&HCP8UyWP#`BMIZ~2B5OTYnMXkVnmaOD zd-MF&OLB~VOHIi1?xZGrY@oYpYJODYT{U$%#G5FEU3DCae{RRYp`MI$Vwi^a->IqN z^vHMH-loywZNfjV?Pp5$Wu+cOsOBE)N4S&t#%Mdw7H-rd`q_fdXssWWQDTqo=9gvs z#wnI?6aUFJRb!*uk+`=&w~#?*yWZd=Ik3uiCpO{u8+Lx#GuKn>V>BKHs7)waR{Kr) zU<@`8wB=@K?s@iaKx)ChlzHBBMhsMPOt+A|4o%d3f!}Mr19X@P04>!V)<$@Ql} z#@ao(mkhyZEl=6dabi8)vFo=9TOwAs3^Et!RSj`|tNMD%iLE;G6Jw*j;JIFhrH}}z zgAW@eILevMvK%jd!@lVb9iRTBeTt6TZ=UD0mxTY3HiiTS!~a&O^BZGi zq&1_;^@yHVBXvAX3Y~>_Ir*Hgmz=MY0WHtOHaS5U_j>mpAMqLr=VSwg&-JKKw|dSV z-|gszc(8qAl;M?$^Iw;p1zEaPn{|J3-5CB>h=$v~80ew1`YlHL>R%0uq8GZ)YolU7 z0jZkS%{;&uBU`~@r+hvI(XDC2g&VZ^`oiSo4bG@*j>ZfG7_6P!CqUUT+$XPAdLHOK zHHWC`Gvg4_c={#T+CROr;oOF+>3S?C5j9+YG+!z%5;`gjY^AALP?ctDH6w?X)Ncyc z;Y+M-CSu>9QyUCQAMCpHNj+t284@1*LDxHAsKeJv5jYJT#Ea%7iA43lSk<%cLf_r8 zcjVMOd{KT|kaWU&yHe_fB8%=1zq50iY^=~sI_pAbMot10=~NTD*!7$F7$!d8D6Jh` zIPGO&U1;(Ck|NQrdupDIvD1B|X6V~;%&x-J#BJj51FUFvd~sLZ3G7j==Dk1VbXqk; zG)Z-_7b_kkrPsj%tVlerbkGJ{-o}{2Xeo$haxBpkW2MJAI7LX|0 zVSm?bzgE#3&*8eQL{kgGMFqMug7wder36%T^>h;)4m(}3I^k=IqUt)ZwIKp-X@fMQ zhK+NP!G$*>epZVXp^HN%K|a$utbndp5od2E$X3NO!b$fl%p61zo@kwKAnWDiX5r0q zUrtr~?}m)HgC2YvV*+WDlT{bzGe{a{2v;}E&ix))Zvl)kOc%%&8lT<7y&jIE-D>YO(62qWqZweyKq|s$1v8hj*$s9bQF0}24Iz^2G zAl)abC+(gR*o!S+Mu0A?7&O>(y7}CHa*x3ZuBaDd}zLrWrzfA$|hCdGT zPs@Fcj@xp{9*mOZxQ%kTMJqL1=O6rr)v{=nzJJxVRlOgcebsnE&w5C*m)ivyFdy28 zAApCk-cstAh^gjNDNY2izmFCGf0CKddU%RU7S#dwAe>+#j8cs*RX+7MU=4P0SjI4x z2r6>9ITMakc4m-R>yAEnAcCIZ#V0FXc@{3E$POyRnL-S_id_p45(f6_62Ip4w=F0H z*uhAt%b-sq-Yy)&V^T%4Z^B$zfp!{RiGYZA(0OPzUtL-3Oe50^U1<2WX>t#{eT(Vm zSNcExinElw0%)a;Ki9O}f#nDDHH0i#;&3o5rS;Z-OS+$IS658ld22Mkpt7H-EcM+} zOcu?r>18CT(i;sEIVe6U2>l=EwUreaiLNEqqIRG){UM%rl?+|IuBx_iw7j^-oX^^$d>-sk9KST3ik z*)8;XUt2ZDw;@?tjP=JyMP$&s`*W%=`AU^(3|>8NSt!txO8D9eLzR=(VIrJ`FziYD zTxha`n)AY!5B!Hxza#q#3JBAQ-$n-pIE}fHYccKFEPS$M?)BwtwWU7x?R2$M3hlsl zN%=ty%`96b*y`D!aGNWtD&F^ysOc4L<3)o1hV7SM>jYx-w~1bSrb{LJ5@Z1ybv|BM zA0Ji%a(iF=(%@^3*!qee1H`>$uUoEkG*=P3{7 z`(#8otxoJwI-s*ZF zJzpH9y^ljG&6s>QzR~zb$1XN+_|{TBhcaxkgqcvCov2}X(j zE=!7HcrQw~DueSv7K*4F<0$!msg)p=&v1V-ligxi+yQA0_u1mPnWOOtyxUb(&!PRy z)}L#k*U7c|C}%K0((xiKDAAt~Cxr;{Am#+-;on_RFO&zFQ~dQ%4peJ{n=Uj(d&6Sq zGlpe_v)im6paTyrz^&Bc9!J{f`6AIrss65zsj6s>$e~B%fsz5`u7ue+VqEJN65z7l z6vA1ksVGq-jcy&$Yd0WXOu<&Kz+VaaH(&`jAMjgxY!{;|XcGqBC`J3X7r!6sdIDSh z_gI}DhTRnqxg-F?c6*o1dN;1gvT7+3SpdtPDYFzo*aR*K<-tU(|5pNAG+ne-Zm#)2fH(W=DbqR zy$y)@B0lva4KV5UZ7K-&9}+h7HujzL3kH~drg$RvRW5BaCsP>kDMj>O@B_p2QHg{6 z#|G+E5_KzA7GwoPa`e5vjNo88o92=_X%B}=*pvzz_PuF~g37PV=BUwq?HIgJD+%8SR|2+AFG#S_u_1c& zcT1Q1xb-KY@%_O23;c7j;#%V07sU-8UHn2nJc3wDRz_>!<6_7S4A6Fnj-O@~h{d@4 zeNP~u)uhiMC7Q{d)nxNxYn619FwAaqc8hYEoc#Nw)KZ?)67F6Jk}Ir0BuQ>U`(yJL zIauZUrDk4DKdlo#eXkAvS0kPT7=`OgY(IN$h>=eStID4VmdD2?f~@q(8}P=Mg#vp| z>xq+1+8LK4F#+pNVPR`aqe6w?E;T)ePR0%y3KwAx<%`v=x^`{O3G*D9$WC7KPvy*{ z?J79*hju;G#!&VjC*^fM#Qabcwjt^Li)%Qd%w~7O-1m^38+GV$G!WiH&1$7lBX~?z zR^5e3VX=`KsIN(ULNHZb>o2k&cF3YLR`gXtVX&g@tK<-7_q}9~ZCyv`Oxj}b*%45E zqf)T{y*zYRIKr0C1-Y2cW_%S>WV4#`H5+%vGyPC=0){V+Wnn_~fJxvF=5E#m1{EHC ziUlAwk)^ENOt2Wd9s|Squx1p7rZ37=VX;QeZ<k_H)nmE|C~v-QkgE z4;~v9JtI;VxMy(yBa&8~&kdadTb7{L@#ia#A7M)9NWI#J0>X3LMg#U$uX*1dh!-!5 zZt=gJT#5FTY(pnDynAplq&q?WA1zlgT6T=tngi0Nv*|fUdBE>AQTvJ?) z1&2fM==&AB1_{-h^&G7QYo4PI#f9 z3lodWsvRNy8(mQRSjzF8Ms*>tx|)u;6bTq#2@f;1-F+{Yk+=ku9w}%(X2d6WSaw}( zKc2c*%ft$wk<%tjc^0e7BT=8X!D2|5I>RaA5|fCxqz7e6u^+pS>-{vHOuOehS)h#g zNnsfTQ(`UhyKtd$wFn}RtL3pbkKBm(O)bXd0W#!v_DhPFbrhsv1%B3pgWS%F?YvFJ zJ7oxYD6&yH;oA$xZl1q--Q7nvXgGpVoO*sRKPy+(Go0+qZ$8rU_cJcVUC-B0RTGjO zi^T3WP~~*3gKjGISV4i3Q>vt8g#`fRVdUkO%x`TPwEcu{Ik|$|S=M5rf*CtM8|cgc z_cZcB0^ZQoOUXqdQ3;ItYx#YJft>bFMehV&`@V;ZWB28St+z}_5N`VhUkN|b4leL% zC;zx!nMy(B=el{mXj<~XP+7dvex@!;ihP4mn@Zc2e=T1W{S!p@U#)k$L~L2p-KaX)){q3mu90d zxi>%L1mUm=5k~?=&VX3hc2&01%N83RD_V(SM&Y`H!;g73b9IsY!|Ep8NG8S+nM=1JEutP=;`o zFvc1KzSKT2J+}3Bub8$9weW01?&m~k7TIz5ud@VGK+ISy$!Ovzh|v7455x)4&5N34;0Nm@7>pwl=^nJXD!%hxc&uv0XZ- z6&Q-^Erh4jQS}hx3r?TdTrT(XbIh0xV21*s06u6NYq96tC8OG<_Dy7_?z;1t?&s_A z!IEMi_k^|GY2pVowiu^~Y+@IJF=n-QD*uTCh~3`B0SpyV&e2jKT7Vxf##9_R4W&%a zGWztZUPkM=^4>_8$$WL#@i^;;mAX&DkY$T&i18=fmRwE zz7fD$!oAFPvZv8B-Ota^=WosunX)bdW?uAYa|e!AzHWESLYXj zNsP~+v{b!jcr{g)W|0OboR(!FfW}Fl%PYQ+RV{Czn7i!tShKds+Agu)K5#yW89Ku& za??qG`ER38Xx=HwG0E!pQPyqjNu-q5b^ z4p>5#JeF>7<0voJ4ZDXF63Xq6R@IHAGYp(mF@cFTQ#=Zj(Gfjp30_bhXX7^4h;IXK z;dNwp&A6%icl2vwblqnd#CXeBq}Lzf)aXKugUaL+geojiBCCJj4iQW8Mr`@$ zyO{RRkSx%IxT5Y0l}+2_N%Hgyj&@O+IlI9ehF=G6ScDPH*yv)_-=qiPTl%{07&mc6 zJ0FZO$61w~Ogb@OwI95k>cA?g`x9llZ~rOE($3g2%=LPWjgxM=%)q$prY{E`Bfgbl zrpYh@%rf|Bl zch8otXWrmfdF@PtB3btS_n1$V12GKspCsTho?HiZm0(nXMh~u@)hx0+E@Mc$pi-)O zj0nM0=WhOLfvlS3C&ZRad_4=iN@zuX+mNRiwU5TLZ2b@*r3yX4=I~nG#n)BL2PeIv zK)y&KJ6mLi)yh|+X6;hG{9sGID&q`Xd*rg%fAB$ZRWXQM?RJB$C7SQ>XBT#7`?D4+ z*qBSua|1iL6epEM-=?f4tp&IECr5y&N*w3~ag#fen{pW0ZuR2112rT=KTe+C{BVlt zTw(^RTJ_L+6sos&A5b1=`hN2#opOW_V#K|Bw5Js2TG=ayW5o=* z-O_b;Xa{ik@Uv+~#^x!Pl?Zd}e(r5> z%l}B$35QQ7k4zQ9va-r`PvTK1o|*=ElJ0qi2qb%SYwNsDDHtz%;DpjI$W?e0yzAGr z^{J=-7v%)Hsb(p+^fjHz?Fm=o^H?qSI=dZG(tYuK`7r@CU6yFV?3?1^XT=n@Rn+;# zz3qpBewV&m|11TdS0kcZT3GjzoUY8)B*?+M-tg|m)shD z`eIA|HA7v%je0n09tK;pdk{3s?vChEixxcbc`)=v_w$6yW0QCOo786S zHEN>TI_aL+e$&{&lnC2L(m^j|ZJi#d$5yv_t~dbf*KktZN@nMgZnP%2D5D{XUBG;7 zCdDK~yWUZ-b%xDQN1)7y0uQ6+=Mt$*&{1bv<+p}63na8f4jpQ6FH}jQQX+$6Py|O5 z^NCY1LL6X>>3F9jKH3%q3Q(!qK;nO=I1CFfK6wgWF?Fa+)p<;pXmag(bki^=7oXwu z!?C}QHNnmIwV`KevzYCz*G5vs$QPFYLf%WKbkap%u3f$#RvWiENK*k_tXjwv4XWO% zsXb2fgi3XWjGJyP;EBa-)s$96>7ZCmmJU`M&W>dikL;Q`qA%9I2)yJTdyeo2%vh&C zqZOa%GvmgA{zf{&I-^5ZpSl!16kT<704{DmQyQyRZj#8@r9!mOxqBcsfW(vS&a8Y5 zUD*Q(c-k{83?G+$W9w#k`+cS)Tt))Iew80^r-a!7Obo-5{*pWc_qf>~JgnF`r$C}= zQ(%R7Wtc?W7B!+3LYwnYwaeOb(hpEI&9&W{jn%7>>>e8J8^eLR-B3A~x*(^l`KuGL z?!K+nL{%`Sc=2g1dSD0rd2m1}53Qn9h|VX>+HoGrgzkO+++aRyUsKllS+3B4rIq`h z`j#S`>$Xu)JsXA!Wsd`j7V31q@5i5bZvFJ!WM%ZeT@xt%W}e#bQwBc$p%dESk)LO6 z=(gP4z_uSDQ&TiqBEbJiw|n1!YYD(RWr#?NG2SP;cdMJoh{X`!**QI@)H7$=>a^SHu)%T4`dy z_2Wl99!3arie+Z&v3SQJ>8DrUqouAwp6%tbksEe-w?MsAvu}B1t8b3+gbJbBzd_%| zQnS?qaH9SFzt?kyxA{qZiqrd$m2^vXm4^QsUp=;>?E?p>TWleJvSpcqtNGz{A?buo z%dIMdVpymcD=nZ*vr?dDPq|%mneSrhqIGMdI@z^gX=;j5c-9@K?XvTX5&o39Q;3Pv z=!<7R6D=Si4CkyL4X&C*3cD0moNJWLR)iC>3~()J-88%+p`zm(q>!5j&cnK5vsNaX z1yo*5&lsvO74F>W2gy@ykOC&dFR4*%ECoR%#s66UX!Kvi@cK(Ibdxe<13@Z zh>nTsN5MAxmbg$12JE{yoPuMn{U1u9{zvkoSKcVQ*z~AFscp2n+A*udJ z;k2W2<@;Wu9CE<}uH}k$+f2G3u01k*G}WDL@VB=1$hezy=Aedvr}(D5QCjr;+k*W( z4FWA=OQsUoomlR z$cy{i9cR+Sj5dP;K;6J8#hfhE&gSRH?3;(2_`f{-qOm|m+?(^Ja4-G*(!lzo#*<>Z z>GKUWT~lu+gEeX=OD+bTQ9T^72!nX3KB`UipUv1zUF{EJjoF9kpxX?ADui);?R={4 z-nn6W%|qYGRk>>yGHvSM1<58OF>jqdL7P5ccUe*m?fpDFjBNIjqPdVWywSJi_|GTQipbLi%g|~x{MU}Pq ztf%<4;2Al?RI%Ktk4ibo=*gW-*+|0I8}4mY2b#nX)?6YGT%dU zOWo22-D_JgFukQ;3ZfV{3;nt&^qVEQP$R>L(sPM1q=7Fc#$Ki_FL)iW{opM!<3 z;YMROvP09}!*1PThi{1=<>qYG;d`19`5m5xCbi0}6GRSDyO<)VCob#>DFw~G+~J?Glz*8|AVw&OKl3hd#z*SG%Eb zS0RA;7{t~(Ohxw{HM_*k{+=&6Y7uWzAJo%-+)hJ!$S>36+T z2PKwjN^6R{$}QchQ;;yt)N@m|~bo9p4XI20@l&tpJV{X9v&P%6k8H9CCeMlo_a8*_k}iHdgpl>UgJw{NRLnOZ2=>! z!;k6?-;d`SrxY9N0nH0uBVL0SSkJp&A7Fy2(G7=nYOjj^JfAjI@3vCa0X4o=920Ad z(y02Xo(8kJ`Q}jWozbLfEVKAfwL2twn0P_gSf!KKL`wd?+CbOTCvEb}-?`W1tB=&8 zzr6wuXtXw>`GB#)p>99mw~3v^mVj!>7mkz~SE!ClNAM=jBMCAa);IeYL?pC0<=0UH zV@+K%$PiIO>t?B|y=Fseh$f|jgnGZDOI{bZV!*+jA9Ls~t2xR*0(?PDLsocVQH_wCf%4CVN!T?WJFV*NJ4 zIzlFfhF!veliVk1E!%K6TFkKuSeD#1a(>!-Z*bt0(BTC=epbm5=NjY0*19-|p=B29D)y z)_cckw6wey5)Hn+l9LV@D>eGy%K0c@gfO~y*Hz9G?vNrT&?9!WZ{p3_-d#~q@Qo8Imm(-1VXH}g-chnyCI&|*okWEEX6B$4xC~xQ^*u-$0Y;5T?OSw z1ol}!yUSuoB&*hdGM4MgLfXnl;@9*ezL&;$S{SL~yK!p@lA`(2Ne-&R6%}b7eC9;w z%U`D&;}<+`Z&#zwFI`#?P2A@mf|AW>JW*G z2|rvKlQ#u(wm-f>svLOF92dySp zZugcbMJw>lX+@HAx4K~BagfMWZwK?&zr!-s)D>|g-faaXjSH^G$LD7uc54cpo3Ry+ z7&1#<{Gw@ZT{FVIo06|EXwT)D66-7Sx4xT)Ct8oGa8lTP^jEP~J^JQPEwbre=eqv9 zf}E=HuW$o8;dh-@8KucV@)tXEC9&fwcgeW6c52~lg@ zdC6I6R)OhWd)V(Q>yCCZvJW^9DDVB}^E?^X8PHzLx@{$A0ilj8Lt(ntH0d4{&W8)? zL}I6->0jBZZ~SApqES);;!lbzD08QdRnQGfuAlR6@_+j(WU6f8WKO=sf4?S`NU0RW z|90a?!onkOgH)FjlfiJOh2_uF>A29lYkKC85n7|EGO|Ijb=DXGZx;d-YrFerk^|>3Ygk6czW4kVHmVj0B&JtbWGTI9Oh1CnFr0aE;6Y}<@81Qzg zAHV2dN(7L3?FBM^He6dF&8J%3y}uNpy6)e!vr5#jOO!6zR3HlE?x)-OSDTt=-?*5y zfvK*L^E(~4&&W4kK%s^Gbi1q|VNxnS-JNGyUvd_>!Co(JIE-LTaeZ@F;tagiW$3qG zqk+aMy-mQf4g59#Mj(MksbpkXoDP_O)RvfUCyJs*Mzja)?Hj(^p(Qh3-;IEy%X5Nn z0m@E_k;jrDkfS;-K9Sb*ucR9gXmAi+#ndcB z5&|`$gCfLYr(pxUB`3A#TYN2@(K4VVl+J_8@hemF;CJmh{?wONZ56-ljQe(7eoK)@ zD}rynz#fC?ZOqpn^iHGMPjX7o{5PQ8zgl)XM=iH8ciA>AMAp2$`Bj-)M2Pt1i`Y(Z zAk?zSZVfDV?FlG0L%5bMxZ}vZW6=U%#~~Uo>8tgor7~q3vd2ng-(s;m)ho>QGuW6y z)_LplZS@7&+(v_GFQw4e(C>rSCG05169<(~Dq<}KAO5tyGSh>a(JwlgK;MUb#$(&R z9|(ESZmU(u`tila3#r6S)=>Ys>SXw2)|85wE@rW6w4|8Iazae*cQPT>j!_}$qy!d& zq8L0z4BTugn?i(1sjiNAr({zT0=reJY$e-|w%F8^Tg z)b&q^M-7G`AhvAn^kiBW88P_#{3I>VG|+`T4NCaJmGuV=@WpjinOrR3(Dg(M7jHjTcw9wE*xcso$y4fTki|#T9_RhJ*<3KCg(|r_%mb8X!)`*>w7O zXTGK+d_oNhXiWrYgQJ+4j({Q-8}HWy8ti{h!b_kvD8ReU$JJT7;fa{{q{d%q0p@&n z3EP+xZqrXGa?OsfY!>S79#m>YWJ1YpK=e{kLH+R4SUfYMZ+HEJldep$Kj(J-tjV#L zeXDZ;8K`QQGq>FfHe%T;|mnWH$%Km2oTiW0B(l)0x6~kPz8x?~`UA;$pbYuabFvPX56vN=iA#mVoVgDL%4llWBz8qI;Q3T(G zjN=U#>NI~lrYjhg0?O{uMrS_!fGxd$u0(?4giIJr#xO>hfUIwCa0A8b7ApHwBxeWdFM zo0O2mlEljT-3nNFmD(WgfYh@Oi13+umx=I4mE*LAsB#U#Vdz;3M~o4W$KScX(MzE> zbTqr3uN6sj>x;lU z+mTB^IBQx5d8S*2n0GIyel?~v1(K(;___Dyd0yipE9Ej{u;8ee3r|Ro+X={dS?W!k z2Z0mt!`(tizfbdB6s0=?>t4U`ULhleJchLvP|4lQbSc|m;nxDlZ2e2501&dd+=&X4D$jIgNKn_*AMTkh!v;P*N&FKoWLJ*Q_$@Fpa=_wZLN1+B)Xo6QI0 zw!YI3_2z(rJnghf8x-FN1Dvqs-b33$&dr5S88pjc_|LmhAP^SNRXpO#Fnc+v8pGdm zc`=W06|&=UIha!cHZe=Khlw#8aT7q>w%q5-!V`})#Pt=PB1`)!F_qw;Yml_lqsb$a zL@SmaYKI`)yxF$Xe?M9d}&ISPI~0dDK0-i_FKn-z!(Aege^ zb?0yCzdX}cslsk%o&pu%E=K!h>D{(hD8~9Ktcc!g=^}2;DNqk-*L?VaECVBG|7+*H zC;Sijl_&|{iQNOd`vO=&j|3mJuVK=I46&tIBzW#&adm&yb&H(6q&MQ^*M5sIVbJ|o zDz^3E$M=Pv&jV3ie|vs@eL+NVlBG-*8fQ^l*IoLHa?TTRJ>~@nwufaZ@0J?mYbUo@@5JZ*ULz>uxsvS$5{*njKk0WOFU& z6M$cHAfPZk!3qhc;A!_{wqy+lv2%BH0is$>9q8qT7OjMccebfhi3x~VZhKRkP-Usf z!^P0mWr>vzsK-ch(dI$S*GGgTT9*If@oY$?a9d)Hawb?2>h=Vz+PZo7*7jK8o}Ygu z+n`30gvMPHW_>A~8M?D@koQJR@0Uomm+(}_>!wv+vIe(o^c_1bhLS(@bt`|U$DVhi zzDd5T_!4dm<&uW#-Y(m{n^AbPz&ipAt&hIMW-#5@m%LS(*!wMrq7bktX35yX#Tg}#<8#lEqf7-rTvCv)UMU2z_mkZzmk~1J&u9t|D z_3Mzey0shs!@$R)tl8Be!dfGVY)`d94dyQ$c7L>-tjEP#$!!|r*!dfR_bYco%C}pOzYmA_NMH87fj*f zi|dP<{}Id8K{Aq6QBWobHT4$P5F1yU;0fUA7TozAYUVbELHbWk^@F3ku#*P=xktMa>~y*R9^{oQ>>n{po%*L3A?XY0o=?n2C>kGY8q z_0~fj8U^UjLlOYd35I#mO3Ypm-}zUA!t7|g)2G6Yx%U~|`(NZx*c1R}*w%Jec{@=+ z`jG{+(6AhY%g_STn)zXGGS{1jv{B9&gZkf?>AWAYtsU0~VRip~;;VD#c9&lxUXEe` z6U^Y>=c)pPh#lXEu~9R&9fZb!j^dF-E&Dqv(D}^3z0l|9hwbBj*N#sYP2);)lEy!t zzsGu#^D!54>4hkh;qZzlE{i2cNQ>bkR#rB%z`w&Aj?xoToYBDMhtEL3RlAH?0Vb88 z>plYVudHf=oNtyfbzos4E!jh0^^1;?!@6pqof09y)t_@?cOs|ZcABtp`8fz>9&EgT zRatTS)G)XigGuCMkWZoP^^HNM%k{_x9iWK>_DNtdqpwN6jU&E~hu>?}7i)czMH7w{ zAP)0HM_A)qv(S)fsy1IPTRgq)9Afr>rV>|srot%J z_MPNv)!*2kh$4VJv>fegDT$?02N~weuOYN4KD8*enZ1if5Fb#M?!`dIh%9YrDCCbY!Au;aA zrS_)f(K8}j0%DT$lV6`J8x>5uUZqvC2X|v>-{(pN+Gi@>)Y2sWVDvypn4i&Qdng#Z z76QV%3OdM+9=OWt;U9K8;9taLFTdZRk>c++pD_vF*O%IL5x{~Mc{Q?;?0mQeSDm61 zIBtD|hiU>Kmbzy^_`Pvf?Ex`QH^&-*;lZ6&4{^~?!W(8sh>>}`nDsGPIQ}N>FTLO2 zYJ)*cPmCZ*iawtAE=qbq4(&x{@Hl3PibU)Bz91kX*d+o)1iRsmaFk%<6A0<-HoyzKk4>+_ZtCwz=?` zcYc&NA0Ju3kI?oTfgxP4ik@tFXR{SIrZ-;xPDFV5(Pa(UKd;-%{R zd#Mx=!w~jAMxWH{`yvp#<6Hwyz`#3&Jj)#li7p-C=!A5>og1cU-m2lC3jy}hPj`E1 zXcO(6RttYBE~R!qbGKg}w5st+bD){1(Efi>_Lfmmwr{`i3?rd10wOg?i3mzd-Q*A| z0wN*O-Hnuh3=9UKfOJZyARS5%DAFKEH`3iXz`#D|{y%%~XYKd-@-9BO{2;=*&biLx z_~n&!lG*OBjmWi-EB4`J+mkU-r~wT-NI z0=MRF-F`}WMr``eFN!yys=6tsdQSvrH1#D0`STrR|EJgduc!h$2)iBpe11JARQj40 zyF|wp$@M!4ww)?;p>6093x(yeJ@aEmclPj=`*5-k(Q-5~WyA8s~3tG?{DulCbYeC3L6hIlS{HQpNA5!0iyimA@Yal8^LD!|ioD*1CJb zgP3l@ueN?OTMSY_j7d99*L&-UWWlyxoL<>xYi0L2jScq09cnj!b%c_-{RTRRc|!%A zhxMlrgVTdma|_GxN3DEk!DA7rm2WQ0$t)AmsB=Tcznif3C_YPD^f>+qr7e>_P+07> z_6xVKAT;<>1^+?%&(jn2CP#lp?MBGn2G;Uy8!X)2Wh(aI%w7EeXCHEYvzfijYzh6r z10CIUu#~>jy$0i3ewW43iN0Xd~Em?`XzyB8IwfoP@7Zd@a&Ou-t47ppDyf(JnzSA(96Cw=y!fSTdDU+~R*K_Q~|g ztP08GamjU*rCnp4dRS zu9SUE#7`oLU*7vTcOaiwcqN?>s=25fs(4^`{KWhZl!e}>1{w-Q-KZsJ36zGB{TNlH ztLEMh4{wa6Wqcso%EM9$@B_@z*;0J=9tJxV%kj*wo*!&}yv)aw!KFvlFlSBPX7XZ0fcqd+z`HnlMhsUU|W2o)f2jpUOm25JZ{KljSb+T`GJB$+#+U?h)C*RMgx0)8q9Av#~zen>4lQKTOQ_ zpPpS?G-O;{D$h@NYgTcY$UZQAsej?MLu)IYonIUF(fj&@_1jpU(q3m@jsX{Vx0x;daX&K_)MV}lzWi|ODz2URz3INxQN|0UxgHNr75veN#_s&MdvIQc zj#0MVi|&ng^2SfnM|7J=pDEAoPUJ^&qgycI>q0&QrZ>&QDV6DvQ2SmGq~>;&?+s^8 zY#ZJ6M-7D=UiU4Gb8T=(5@&&?8&V*$)pcH&^zt9w4{w4FbbM7F9)DPI#0d*Y=<>ZU*X!LfZ1U9H1ez88 z3nUm=^3*Q8gZ167>tfqVZee-#tYURTH^ADE2505ixahcEj!V-*T9&W1?Ge8WFevTJ zbvekX^Pbwz#!hfFcCmHU6fn=6gwNBCV6xA;c+!M0lak&kqJ5LWQ`|MbqFl$tzH~fC zt48@W`sjQv%$qKO-{LE)PtbCBKD@?ybA6YBM5ROzZji@RLq}ljy+~crKZy_>ExFpu zaP)E(dm=NsRCDfy7dzobzrU{)nt|77B= zlEDANi?WRT5sgxG+7T^?ylx?+9-R+*Y3C(gRy!5{jDaNQ8vqlNmL5t$@%!Gu2_H!B zo4(-E@*BvDA(u;@Rc!w13W1T5%>`Iq-R6=J4E;*iu`%tQZGBHwS}O;3dgCpbxdem& z--OKyyPE&FosaDN{V{<-*wmF?675t)>vblNgAM@n+I@YrEop3k!+<`jQ}OYxgEY8X!te!mZ)4>t zd(YW)zv$B1&e$r_d(X5h?R!)Tw@4#1&!aFLQjO7jLF@k=a?n8vr$1(Z?-?T} zjHvW`$TftolbHS{AcV(gz}{CwuQbkGqe3^t6v9gMvY})@+HSES6!K}VGCqVO@(dBB zKEf2azjMMEB@iYKK=<4af|p_VVr)7IeuSLu;#f1OGkNI8SKkB_Lf7dU$|FiZL0tb{ zcE@($g7SQ19MOsCr=kV(#`~BGBxzFuU&;fT!UahsfViygD9?qLb&Q}}I+-0+5Adbf z6ij3ULSCA*R;EupKH|`jp48WC_m0cy({wwjUQ_k5A5q9L&$oq(%8>aaLA(E|^INn> z+;WzyW?$_wN)xmW>u_$I_=yj;hk9HG{n?*xpv-Qg_s+)2y+Eb>atBZY*RwfJESvzv$#Q{VZ%x-!!WF?L9nf7FOQ4C(nR~ zKE^=9jEa#z&(C665epD&Ek$6Hnt!GNd!nlb^AE*k?XfPg%7{zic-gX1V%S!suRNXF zft3gGj@`Pk0a|{xr3#-J*6@H2LSw zO!#sPM3hj4#ggr8+n(7)XFkhh7e!BlM{WZ zyHbsgum2%}4=TWg`WQI3#{zr!uzzUr7iIdAP5MvY{DQEdD3(*@yd@I4JCtIFntzO6 zX1c^?%b^LUuE1}8g~|y0WLaHvPLys?|Gs6+$^6_&t@Zp z)Y_%Rw4O>@mlNoHCsU};CXs(U%04pC))T#0-*;NEbKN^iSncbDa`BI}x3jLb7%F~r zD=5Mya*}*I*RCyH{PX}J30b-ZSD;;_#ih2+a3G1ye%6*5zqmCUYtbCknqyrP=qK=< zqX*j3o|facMA2%dfwPs2GjLTDB%b~Dg0oEZ79{_$vn#$ASn=7tIv!r_rF9RXq~~jq zyY~@kgz^6jaYs{^QOlNX9)re)8D;iH)e^x%Jg?M%)+nuJYRDouesu3)e zN@gehT-2O9a#1MhSGtGMzuHEmXK*jdcVBGj40*k2?RUU}9)@ABd?AsIk ziu5Rj8hnJG49NWU$_u-6T2bWGGLYQGFC!Z;r%#QPqZ z(!VUCLXsHB!B^H^O^qePU6tA^tx7wkChP+Lkqv&G`^L<_>~-$fzDd1wX#KC9z}um8 z{#Tivf~)PT5)4?_{nS&nU$AQq02VO7uQpXlmsvcAKv~}Op!}m`g+4=8?kV|tK;|`wh)bnV> z9@hSIT-Ew(gzhHvX2A$dmZ9VUZ-bF`!2`fhuOzRAxv2xt3>5_L+NH zQ_o#bM$f~Ri$}aN=5Y^$A`FtN_cUS3%I@S>zVow4dgBW&w=cgVW#172>zjdkh(7g0 zaztJlf+XYSx^-ia*2oLELxl=Ge`~b3TF;RGk!rz&GwtfIiba$EXD;iALMwcI>qDaJ zH?bQPpV_q|a!-Z$%^&NKsr!zT3y;Xd4~BgitA-oo08?+8DB)R*I-c@$9kYz@IG#bL z4YUHS4=cdL>$t1`zFj(fw8nk`Xp}^EW9%F8wvxK7+J4ZAnkeGTLihqbBbsWUn3R-!TK@u<5?x`H@M%nSLeLX$zYg=Fe zE(dU}5{TD=&vfxM8i3APw`Rej%e*8hhVXypK3qF&E&#SuS5OPni4U@7?ZLSM>P+$M zXmd)L`ZvCSaF$OIQ@CgfTuN$e_L{lS(u zA1J65bUTJ2c$R?PpnF%gHwD<~9)Ch4HeA7@wT8;t-U2Dke$SNBvh@l0ixXgdo*BUQ zfLfZV-fN%pxrmj!sJzg9y_(ZQw+s?<WeTpQHWE1Xn9h}h>bS)A@aYQ8@#@_@}AZ_rndlRrKuL^5{0OxrPP>r}xxL%&| zkh$U*_Wj~C(GD%YTOQFGYW@Zgz>C_!P31fap}FfA$IFY> zrzI66-bIn#6jCcBx<=4?LP_`UJ#J;|e^&nEhH|?Gqxcgl+#9MqEBo{x8)JKEhygz% zd!EFK_S?exqb!Es?9jD`553gr&|tu(7v!n{z0Wj(`6L(k*{h-THUs#6(vTJB zu$i&wan_|b+>6lj#4gBYV%AC)(0hmyzsfme{tMq9=m3$o%|Yb7L)S;I_(u>0N7B=8 zq6j$^^aaKRndQ6bZTBqiIn%AS5ivNJ97zypx-XhxzII9aK=;*w;h%zj*g(z{IxPirfXPt$=U+TMYBwIgleX+#hVFojFgAxd2E0^BI*c zDPb#EZ#*tk?t}4BJM`Y|9=-@z|@;IpE()Uz#9evvTJMB9%@g0qh$(viH3k5Sr&i!Y)dbsbuv)SCl-PS>5 zWI|VeBN{C@QwCWEyp6y%;~j#7ik(nwB69i%hiYmv7wxmRMA!bvjFp5*Dwpehd54&R z5yG#)2f5+gRU74*T_+ELQo!meP4>qjndgS9<)IiEKxTps=Z+mj6{^+Ucdo4oG`GS6K>P;uF#Fst9%q^=K=u-&7#P&{@rPlVwjCL$Z6-E=*BNYDd^}>Y43>N%zg`=_kswu^^kw(v0W|p3zOOcjvw#D!x7hX&Sdkei^HMqBj-u{LB+ljWtjv}wu2D;i!TYifSsE^6C_J~SAw*%wdI?hd=}pMC1#A=v^P#^^%su!5l}Oll zn-WUuJ2p_~T~ftDzNhZXc6<3Heo6#Fg*n@dUN=kze+QMf8ta#_2dJ|A{Cf@ zHH&MOJ{!2yd+yNuOoBo<@+D`-3|?mFS2-al>yu^${m#8$WcvX_6UFgYQXkQ63mBOu z5Tbs_lfa}4FalAo%zw1iUxSOj$BVr?D(B9Hh?JsVKQx%+9toZG)t3&SlWmF1RATp4 zX%mbVl+ZePV;AGyy!)W3;vkKt@alvW)`ScVW*(Jl4zh?>FQitz74dT2NAKf=l=J64!Id_^YLF*Xo7>GvzW6>1E95NXIF<0E|eQ>FP*1!Vz$86#Fkh~XFuTKI6s*~4N zxrfZImX1j8j1~Mb)x!PiFw!y~v(^wl7KW&2X?trZtAB?|@@Luctz28OHV)H!XSYh}=wZF0CGV9bzoz|@#JSK}M z)FG|JMb;sQZyPC@N$6SITN4-WnlzSFH?WZf56M7UgNIBwnT6D%g&_RjFHVIOGg(4Z zVP4Q#cs7@j`*TX;tq7wuq4Wa9p`Uj$&qM*f{b5LE26J0ti!SLVFA;dfYBmtZ zdl7oa-;9Fg3XyWC*ZYqjvuwQgAopJ~vJq!=>acc8o9l8aF55# z@niiwn`K&JKSj^Nh^=QiARmUp{UFj{o-yb1xnJ>-G>an7%qA##rg!B^G%y@5l*2ygl`}bS?YH6IinET# zH0}*ljwu*(>CNyY^gySz_XRZ~RYrUDw z3*SkVtE->~iCjD{lp1rnQz+h5R_(t1l=Cg{8On4`8BfFxej6oXuDoS8^T*$8AJOjm zX}l}WQ8a#v_$Z1d=zB!sfc0nV`~qe@?QYzx9Y^sc*XqnFv+-qJJ@kAw_GmH$tP_+{ zy3z+V{)Kr=Efg(tnbf8M4kKPj5RT8=9 zq?ax~#XfEq)*EI4U1PirF^uJ1WRs`n_tg6QF_ggu-Z?A%OX;EMZ@l0(AFh6L`ndJ* zRvJ_Bzo#*uh@TsBpF(`Y*Kon?__4_)qnyre79$HZD`AR%lA2R*I@eU_?)%W3KUoS% z&+Gk%4cvN^3ZfmQ$>!Aba1c|vGSz=(ujq4o9_(6ESJoXrNd{1v8}*Cbs|BF~4)PFb z#hZY)6}>mr26$V8Y1?J#3tP(~^;_iJ?oG@x@7a%1GY!2y2srI>|4guKSVJvBn+mI_ z(@O|{abE&406jTNy(3F~5nTlY7=$Svqe6`sZ_>@9K!$@Lq*QT`Tt-l?V>abID=j}^ z1RUt;YE}J?49o%~@q&Oh5RM)hn+FQgkVEb!n+B^q}@=5zRT3=ZN6N=lf zG~?Le@^s1CxR#3x5;0T*XrAxtzn4)9eT-aF~heL zYH6CV4psJ^)`pxGEpyK&+W$YV$pN9JcahZH06MdkislW!P#a{789QN-GJaBYhA=^X z(08KzW-yHV9!Nuz3tjRGU33(FsQ54Zfh~rTg}?VQO`{9NXT_R2jUq{!>6)NMNC=d- z1(dDgThn)fzQ9?h_+8DrjXj25v>*f>jE=q9S%VVrfMM)XJN0srzo#nVvcUaPuL;75 zR}(ycDeapbFryeXL(Nm{>+~9NnSH@_%UDZkKCKm&{?Wy4-1bW%zdl{8&aQIBeZ>P^qnc(;0)$*I5Au_KNeCz|8rEa`<;f2xXQ#CME}G`|nA-RP1fcOIFA3dtW^A-kl2k_HYIgO3|zA zPh9^PN`%5$Ut3ksJBv=`^FLS9z#WaHuh@z-3d z4WNAee61^|#jeP5b}K|N`qAgk%9=}rOup7x$g19AARM98MZ~jEC))VJWM4K>!o1i! zERGB`URJZvxmI9%AifobW2lXMp&l3&=qFwtNq9Z9ZDqh>;0HQxn!aG)3BHK z@B`^JVHr*iztW0EsOcAO-JLftioIS?Y!UvHnR~7KA6-J9=Z=Ljlce4=045AZ7-3H9 zR{hiI>S7{%-H2U9t%1q61Avv-4h0)q4UT)jnrLWwZVq{x#%LM+uwbr zWc}@Ot8Uv#t_k|PoVafh5k@~R_8(zFtC8kG!(kZfly<75qQwuspGq}El1a=p+?3^f zA0hh=D*_;Cbo@)2pEz+b`)-i&=W{LTtv8&y-VUiYuMZ@!h4EoYaX^{?mI3|n?PRF| z{sk<~al!bP9W#?J#aW;1t3n5`v$4Zk3xjUS zXkvazg)lic9BMs}c|`ATq3=)@aCL^5pUgjq_O3aC@5$DqBbWW2UN1pxD!G=Cj8rP4 z3n{llYIYW0kuI8Fzl~k)q~f?#5uJ)z#V+r;^g80`ws>Y;+UeTPsP_(;y-}MSrh zvlMEU(io_z3Rn;i+GnKeEL){4qy!nqdRH8LuIOV^M7qp#*%wqCAn2n1@L-_5M4uXYQcVNm+HU+_hezh zDlj|$KRKPkDqmStY2e9TnKmrj++y;nwO^qkY0ClMNZvg*e4%0!Zzm&PzQTKW8}Uv` z4M-Q7&PO0;qor#Mh(c0b5})NL!X|Eh2>%;sB*i}wCG}k)ZuJH%_Byb^C#P)2dN{9X zitCYV8O+#s{F8v^^;weqC_0iMgss>SeY(`#=281kDDvp*%X=z*dsvV$308zDrYxLw z$yt~#mSgvaGPH!1%-D#VL{i5D&3|D zeDc#{u^IWyZ|gj~S7H3N=aRk(%jJ4u#50jRPyX;*iGna)UV}sZCN~mwA=_6&RnS#Nq z>f6;wMLH#a-J{YU?=oY4{R6wx5wuag=zW9z4E0z1FTc+gMVLDf-wMw&@Pl>Ytba;; z*C;SELvu>fb{Xso;+J=0RedgM_U?3SgFhtaenUTOCOZ%8mj0^XRlcai%Mz!YKBU4=3kvp@Rbf=U4#bE}G|*zZ@34>Sn!Eb=lckG!lJ?C}i8W z(!SDSqY>p7)f%q~#~z_8fogf;bSx>tdo%w_YI%IOz|1Mv&0#*>_3*fmv)|IeUg4ms zxaYlgSXZ;~lKSa=@X*T;BuwTlcKk5_-2RAAqqT+q;@kT{EUaG3@;r)&mhtQN(4J)P3d*2#M9dTR+X@bt}PYf8Scf7pf>V!KGyI2cgCY43$v0%t~C9$6i>RUNo3sj!M>pl`+z^A zH#S>KH=-E6b~iA2h9yrT)%SYHCsn%z-}kWJvIOS39-UItJxJ5l$fGwG7j6HjCPfUq zox!iMPK)dtclV!aG)|xt|7D%gvx%D0o8Z-^kq2&#lw0l^RaOic-m%D@uXvl-w1lR9;x zettKs+jBY|Ac8jwz?Df|@Iy`7CjG9R%={UtOFxWXi^_+?@UCBI8KoUbPJHo~+PJSt zIZ6DV8_zXH^k~MPUxQP$J~S_0@2}B#Nh*m4VXh6z>@W4GDE=I*dB{miMx5ob-3Tn3 zbT9pxHz`_OL(SCmypMK%`cH!*dRVn-I@GJV+DWRGEINkV79D|rkY?R7}1x$tWc*?3m`|$|{;=-qa&uCXQ<@`oEj`q3i^`~>MUHcVDD;i8%6qdV_iG7Z}T|z4$iTqr}ozq?PnWC zw^&49XXro_X+<+Po~ResoFZVqvRA(px{q0B%ySi8dKaIp9Umh5$BwympI5B_x}=ZPWmUK+dVuai?7mK(TTA&asYfs{oF^VSoo{5HC~P}qRzqwYS- zVtkbs-1YLQ7Vwy_mr?dRUrZ9%$SC)%Z<$&&`-ik?-@f!a~9yxOO(ypo7 z2qsJ5BiA$J_Ketr!=iirTXii9IPF8vn$Lrft3@4>ipcLRFQhQ2Lw&KR(~(^5!?N1- zlC>kk3lCMiG{VOhp{J=Ttk&U`XX^WY$PvLMrN%QTb9r%l#7Mb2MvoIkAyz?j@+X7U z)?%`{`;lDh>ul)Mww$5bL-UVA%4(sh#Rm=r3RBFV^>7GIBDw;<)pu89VbsDhHjgAT zNTLZ%-Vr|s7vb74#I$VZp)%Vv;SOD)awVwoqh0iV!C3n@@q_hMqlYaTWt)82sC$ci z-*Mk^>Y;&64WC6LXc+Z6ZcA|Us>C^2{py99ePg`&9J_pQ-$Uo&ZTO*{Q;Q%<1i)-gyF;JOsQnAE5bhZ@6-1>8iU`;VXfwM5BWdL~qve zi2P0!g<2IMEo(N%G*jF%F7PC_vu$Icf~NmVm-|aqgSZU#4Q(o!GJYnzV4_j^hzK29 z&2}aa+jBcPJ%L%00_BSmU!0+gjVTf5heu-X_9l{ zv?pv+otRn?zjV>vaWiS>k8&{=@!c2mjpeTjXm$U^BTjSh>WPwz>qSM*h`ydI%O2r% z{etypKHdU#hgy+*jfE19*Ld#j-;g*QO#g_7+BT}vJ~(yqsvHvA{QDjLyQD)e=M9(! zUbKeNKQFL&JSu-(?BR&TT4wj{eDLt~Fq(U`W9NFt^|H}K{qAMC{boSDWYJ;OU#iP? zSbX1E%dxekss4bRs%vu0&2s5@z;aj=ulZo#Uy4Y0W{S#L=g0<6Ukmh8I9$2_o9Q6*%8e-zNsq zXQ{x5JJ9X;eeCh;|4BfR?~kh+_4%!x`W8YnvBor9bSOoL!DkMjK$>JA7^BpW!4J!! zaLeUk!0GG|7*%S(BDM&My$d2}aB_w~^c#h5LyLDW4rI43Oh#W|m&V@^GjTFFRz}+P zhSCeZ|IRuB5&=@j{bULSu|+vTZc9%EJykyoDdIh+Zag#OOT!>ZhV{G7I1bMzw&R5< z|H&_42Kfaz`pd?d-8M$gWOtCPfe^N{IJ#EOgqOCAruEg|6@6kY!kREOPmRow@t$iBa1AcUy#y3zU=6s7xz5Sd~HViJnQu%Fug$qZ0T61I=42eM$R>vLjMoHprSg-u*8zZP@s zkmC&l*WoLqNresHpG4msQuoQL&_q-p=|$2SaZ*<`eW?|aLC#&hDJP_$rAa;b#nYc1R_^)n@g47<+6wh^4cVd@w9vP+Zxs z)GFf*o-tihZg%XDtQCmP{9I!VS>yp~9;YRQEyX_NF^URjNQdjvVDg(}^S9|%2S)`| zYpqBaUqZJ`29c}T(S=@1|ClsE1izfh2t42edX`)`?>kT!&guzo=9@1EBp*?sxyujn zTA7%#D>>ho)5)j!F<6)Zj9(lmYbMtoq`;U&?1!H^fe-dItnV?hb`$_>Jzkd@Spg8U zl+3f9;>L^9KysG9cWaM@{JWXa=d4`C)n)<9A^N(L=Upfz2JhC<#@0_<#nG4eyn;S_ zUP0}~p17(VdKfF5kBVE?7r?vAP2vN1B?Y18pnzV%ja+B(zv$>@d|ZJot~a@E?S6q$ z9s77kFB}~=vRHJB(+XOqM;<&&k&9NzE~`wc%5yl`uI;bEA&73mPRym1*NsnW5_T8Y zjc4#@53{=t%mb*tSH`#n#oH2%53F^~iedi5S9}&C6}o?ZY@s!tyi-vc`iPO+&g3^< zv@?XrJGoQ1Hr|QtO_kEe49Dlc65pW(VvApT*dN%glE%*R(`L?(3BNEyL!av*JjGo0 zQ6Ct#$bJ1Izw{|eg-9wMF8koBX8c6C9>weCHh5z@s!;j+`)1g*t&rvrGwFvl%;;0y zIQ>`j`vj?~W7+k(XM4Sk?y#OQw*yO`$U9nuhP~oTUo$reuh#z{%5?rM*+F`r>Dmwk zzS8+$A8MJEb(Pq3z0d>LiIK3Aj;XOnT_Apnq2fsDU;=NJ z0&z(nHhZhuj{kx1NNg}qmo``HV!lA{;XkuKzhN`qFgR6b{Jj4r$#Qa3;*-CJm* z^9<&380di=_j;ZTR-V=mfwGA&$}xLqluARaK&*ic*Csso1*IrjWXiKK=-Y4)9nLQ`S!9-ja2kGbP5z=P2;$dhmA~ zixsfId+3QantkX@!m*SPqDFK7OE50JeuV!71FF9=NW z%Olx)x@pb3v&Apjv)fdivPmZYu_}^ZxHhx4) z-lIaI4LlQv^S{NvCbj_IW z8fnCwO^EuT=0~)Vn;{I$-={FAju>tQ8ObfTB`ca}-P^T4GlH1xFy;IZJ|h|*9X^{R zzFY5rU6UQ;aBU3V`TgT`JmYp-y6q)GKGZcyO+4f;6 z8+~85EpVtd(!1z%K*fx{?fGfl!6gYo`BHoTf>9>kq8 zI9Dsi{;oJ$)OT()Z+#IDuf6vAVOYG;?~7)RqV4j~8g9q%b*kfWaH0+KafHTw@!sD$ zZyHG6EM!IeZ97X4_;t+rB%RNFadsd&HQ$}w%CuFvzg<1PD@@{0WFO)-pj6-yCx2a{ zy#G8UVCKAC@Mw6VyT1R@{~cAq*<*P~%`xM0w=V4ZEzVvQKj|_9jkk-I%X0>px@{Um z*ZX$D9fsF9WMN|Pze7G#9^96{!CzZ!{g0J=kgbe-Ok(%7e;kU232ck3J67fwmTA%M z|K9H`pqA&b^e$ee3yc;odShdAkHIQrsEC3I{{GwT1JcLW*FOckq1uZTO-v34SHTD> zDb+@Hs7cj#qNtCh}?k7xu~?#SFJh&05*G{?X# zJ|~G6$}lf7A2XUuJ2Dq$cwbHPlpuABfxO%rKBlaZX~9?MK$hP+2Zn@t5lnvi`xGt#dfT2B(`-6K4bK;h-YDcTh@kI%xu%;nhL z``DR>Ce*2VxG|fk4i-Gs}95{QyRJ{aShu zg=e-pv-vpCdg(JMDl9RE*3;b*cuP?J>y2wb%rfTZ^9_5s`gkf+Ug&_s#HNQ&=uz5X z@uIXpxSl0o7O|jMX5xDhl*e!A(GYJfPFlQjYbTEt z#m(wB@18J>Zjb$jTL{SP1sIv`p}8e7ges;1F*zD?B6 zvEgWC*tx`|a=y8twWj34<|2E$K3?FsqOxrR|~G%6F{Q zUE06B_rAcRdFmWlamN$dX#b1b^3Np4{8{*rm!XvoWBn}CbsNJ9&b7#eY$~E8H3BMT zpGk-WkDgF`#yhT(hm{Yi+qn0tvBs!XOK9oaOqqxzzSkEi#mVE2;SHaHCaJR?Un}0E zH9~#7CE=B4WMATQJ+JD6eEppimtnCQu2v^m=H8VL&@d`St~Da1oOd`p>e1?Vs|1(1t}3sE)&*`hbHm zU+w2aSy<~dG;2YTp4FgynD6N(Uz*=hO|tNY&}yHlSk2*)#A2X;XjkUxZ4sNlvbmG^ ztnzn*rN6H^wC9f>q;y4#mmjbfRDdkcrX2~>_T4qb(Wi9gX9w$ie5=(@_U~t_>CITu zyXj8&9Yh9cKX}ZKHTLN7IOW&Vk>5GrCQi3~D!}~yNt69kZS?BID}iLWF#wA4WnyG{y}_x&VY4KHg8@R@54 zmySEzVk+^;uj~l1eqni`{V7P2VdE{qQrN@$Xxb$)v*lk^Gv3;%s5RStvRYhRl0`G{ z)5qW0`=D68eL=kV7uKca)(LjMH)d<>j9{h*jK_8s6K8+^a{w@8yo3wc4{Lh;e*Dq1 zWn%l5wN_sAtFEG|t{u1D_)ntaYNx5+4o75rQY1>SX zfbB#1{}ZC3b!P%+1hRF^Li_2kBy3a)fA$tw4Q`~rBOLY$n*wRgE-hS!T^h(%s-wqA zLbg%6M|r>Qgp<1L#Ydr;GBw-nvfe#xe*dC9+jtH{-rdRhvdfoy=`dw`?wDH5#x*Sv zX4W(p?)FndZlmYn0hNp%VBb_QZSQKN^2kHe$jBPVkqe4n$0E+Efr_nQ41 z{7HsR0(o0eONrKGULaAK;j>gM_Xnz2*3%Rbiq0^gP=GCd* zRzaz+L#-wP@NQvIU-7O$LZxpB*T z;r8h9{bsyIb@W2v)xhP5ArBwsIJnZN>eD&@wl&uCx4Z3VUL<|9+wu@)U1V5NO$F$k z(JJV?{hT(g>o*;{W70R_W079r3A8kB9K&UWVn5{Tz25GL)~Elc^%JwG)RttvU(!ez zIfkQ$T*R66utF!)nz!EDNa15m95(5gjAng@`xCF$$GEFAU<}H5gCzJ=}n>M_6$Zn>VQfBzu%>~-!2`|1)y zNj$aoicPV{jGeNfZbPEvS4b9N>th42vdNe8D))~q-}>!7h2E6dKX{(AEp5p~BC3-n zjZ#TPozlZXXX!z)W$Rjs#qrc@hSHuQ$xcCgW3zJwj^*pf=SLgQY0Oh1QYsyj!y22( z85gvk&rXhb>b4rheSf|h8N{rY;e;`GJx0AW9>DfnkZbS0CFjyxr@4Z%?T6@Cnr8Nx zA}2V+fgo(PbzJ;OH>nuk4_<+h$0aqZ*i=D2XmHV(H=G{bR#X#_H)-50>lHOs!XSUV zUZ=`FoD-L$K`20b9XV&SPd1BnX-lyrN=k5`=Jl9)tvu$_E9E+pkfxK(@AT6!*1xP$ z1Zub6Ew+75x|j~TP(|cHWs06~Z+Gur|97l1>1(3MBg&M?8G_7yn@_D+UO&55X*gMIO$ddydZBcFt`pt9Gm5v_rs70;q|AN+<`xOG z-`x^c$w6V^$bxJEN&VnxV_ z9Bkr$dxcNtKN8#g^wS8{Z>4W-B0iM5z86ajsYtbi*wRo`Jn-m$#Pq(rnTzb_M6iJJ ziKM>(2^;cp+4WQX#Qh$T3GOQ5o2!M%jjOpy|BJ2nj%GXl-@k*}lukj-8dcP$W|X3+ zYPGd@%-Ti8OcYf`Y3&(mw)Wn8@4dI!n;;^_{r35e-~BuHef-gXIHxBkuXR1I>v8oy zR}gKyFDv>a6tXFU#Zx1J9y>5BjL1d50xGLbnD~W#0 z#ApnAB=`pFR~f^@XLiF9JsgBO`B8>iAo=RCF-4u1t+kEy<_FE_UzUM+Eg$|dfn>`E zcFTA=a(C6^jUu|&abBU_$bB^LwB`)cqeCLEHw$+FH{KR({-%9={>s^%qYSc%UCKcQ zP`#Z-FYI2QjEYvg4m3Awc!BGwsPN)MkK41tJCWjd+&S}h&30I(L)=T&RazDls!NTO zruk~qFHT1sjwYSMK5js2&RFx{2Hr0LJWKSK}7M?0u{6dBWu3IQSO%qgkkI<(YZ&2wN~jl;7PHqMFOhq1J?1sUeGDPKt6xa zn86svzHQ#FU|$HBcy;GtXx@kp%&(7(J(d>+ZV8S*p&j~ssQu~=!+w_!mKIaq6Z7J4 zL*%$!^yeeZ)kR}uuq*GYtatK=cH|%dgF90t6xTyBVL!ZCT5)8$nch>M*!ttr!-GER zMC)#=XlH-Kek$UEtNlvy*m(lDh~oN8LpE(beJ7<){(cB5{L*fn1?J1sZ$FB7GLY+y zt;uS@7US1z@JPH~Hr4>w5&(ic6(AW1YXokTq&A)L|ldMHfbuxrVq> zsgIT9Kq98i#I=N=&pR=(ituyc+U$RV2$^{KSM_rC7NDqD4s`5J=FH>vvB&$ANCU;JW zRik$~@NGw9fD&wh#>t+7+NW86-S(Y27jk;cjiuI&@dd0b02@M;5(BaSx;B^jPSF5;ix$kK_|Eo)BJlMhQSs;C${lZ@P{S=Ua%1AEcUXvAg z_N>5gkJ^(6fp7Asb#eT{ zJF0$56pM%j-v8UNsRpPiYSLhUdxgTc5N(iN{)^8(HlSh>LJRmc`~KUn*^f^Fv~Xh% z#R%6&lyqUqY*>S#<>~dztV8v!2EaT%W&XKfNdA|V;^BS!?DR^0YM z5a;0cj1=iDwNr-AKq zxZyugssHR+wM^-A3(p2h4^eBulIl4NKdHJi`l#AQ)wK@*k-C?Mt_2MgIARKzIXpv( zQt=9@biQ$^lv(+sNFt zv<6r=ln4i>x1Vmme>3{=?2d;)XynZ$dn-v(2)?F@C2sHQK*CgrE{xg|2K!LSmQjI% zFf!`j#10i|)%J;E{N+l>Ie=|XVo9PyCD`w@$yv(QuG9FUR)ma2u11@R`V{qj_{)s_ z;|YB?KaYSAP0-$3bW8Hs7`OmvLl?cRf z0ga;Oo+D|XA&q*=?n;>XG2b_UuU7WqW?ju;J)6{q9~Hz@E+79cgIn*ruM@dbd~c1; zzdeHIe)~S9oB7vwWo*JQ#;|55GMJ&y>kLlJXuC$UC%(5^EDc`oL|ozGzJR6$uX!qF zi=(F7yuZv$3RG>klcZr5Q{=<=5f4n>{|ckdKsfuGrZXb0h5+ckCWk@3VZ&@1U|lWo zx_g+ryn28Cy(W|VY!<9>uWtW}NVfekpqz7(r83TxTH7^>O8I-!H?QA%^L&YzW6826 zGO*xMUrYNGVx01f!pcI9O%PdR#9>d3RPkQopp^o8k1pYbOAA7+?;EBcTV9)D5pmAEv~4MjI{hj!AO6tci| z-4mkInYw|^$U~D(z|>zL#j=m7k47t5p*I|G=bFRT%RQSMd4V*A_n{9J-k()fr%Ow$ zjv>hG!URER#<~(i*lwGgtF*QcfTqm)>_NPO1OR1hHezFQT(4(dOWVcwLeFZ21|fhj zlEdJ&@>>Y3ITsvC{td^*48lQBDFS``QPdQ51){l+#?4+D6fwP@09=P~$qxAd@DUXd ze|k|mAQltmX}{g!=s;Sa(_UESi#-qfTz{%JKeSFf0Dtn=hudfi7ielY3)#sTGmX+b zl1rONUo~PH7k}H^e}^(7m1n9n$+mj7{c}IsQl$k--_6%>&5Ax|S~*3I8U6NA^F0cy zJY3DR6c0P)+b6chRIJ9iUQAvncT}FIxuezsO}8zt{@B;%0-yFLDb0xH&7)ou7V_l0 z|JI`@!NE2pOI4u1lO>tT5gZ&nz?oqV!l%f1HZ@ka;Dye^Yo8VFCv|PvnpG3qjGy6d zU&9`c46NK2kt(dX<@sr8)iKvY!z|TnrD}1xn5l8cQj-jy|3>oeZ5jVY=+DP^4_xU` zyBD8Wp}=x-I9TWr#vL}%N=au(;wP$TtGeN^;C)(b)HhU5{h@NhtLec19j;KGI6mi@ zjf9Uhuo_x; zMaXyh329jJtNEOm&OR}8PNng~RO7zE#=8>ZN+M(88ZY=SSO4I=yxBN!GuWQ$m10~9 z=1#+d!lX?Q0#f#I*Rf)^A05D}+zA|s3qLhi&b)r2x0jk0#=vva;IUIO!D!*boXeb? z`^;o9K_q8KDX(sCPe766W34OiC9D|JO%S@;Age1^~_o}^2pryb^ znuke_qn*L8vn>Hx?^t>w4I5F9`lU)T9^4NZFq?v6=FEEgpwPOr2$=siT8qH{+Vtad zVc3DOcg5J5)a^qrHl7$lV8`X>pLYCIe{`GM`9}=7*#eb!drj&2VXd`MJ@pX(SQub1 z1-Ag9irwH;_AzUm8Ng2h z;{Xf6mCBzxr={Q@+*HN{V5od`6SDlMrsbPc=s4{Jd`JrG6ZTEI)gp3jNC7#66LJJla9D%JPq7>01LEjxLWwl%CC@=wE|Ir(jbKBPKql9ase=my-la28GXH5h-4+=* zs~~Othsyi=@srEHdxyXT#Y__&_I!QEs#qX0Kl>0tdP2-Es)N~{eycS!74DkL+MYMU zF2y%)XruPt=%M?;pfOdB&>Kh_>{Vs$EV{IM*2|v_oXbcIk`|i-3Of2fL4P|vX7ZUQ zDY1-?THw{{MmxAFurxmMZ=#hADzt$*)Xg2wSR~m0{##vCF>fJS+40{0tz8?n;(mI4 zY0f1N|Kd2*_qnFu$nBWo(2wWvkOCa{fJ*829%$$^FG)6m8GX@D zO{<#E^tvjFyG`d3dx&4MAntS6MO;di(@Ns2=Ji#eJi1)z~aaGl1^dSRo z?-F9nm|U|vty(AbOvog6R>I56_FSiBV62X%ha%}zH;kcT0Pia-VR`8jMwg8W!=3U+ z^&)fQYUA@1W;E~|wADk3#Rl1DO;}y?*rQ$3f!t@rsK3J$V$wvRyp-}^DQZ%6Mn-=w~il`rr}y)LzKFGi7y{%6Y=YC~mk@6-xob8yGqc`g6xmM27=t6%AK zx?6~;7-Ws)3QcU=5w~AaG^%vUHbUh@O%^%Q85RQw1M?o~`~>3;bxq(bn*Xv6Ila=< zeO6l2zWOX1P6619Q1F*9kuB5SMN*YHU|({3DB$c4`Ugsw!jXcg3;_70+xx~N)7322 z^D#QIT>(znZ}-l>I(j{u;&pcM=;Av1n0T;bh zArKd1U+y)XHReF;137)OZ`i+3?VT8aNO zBsrjEbe#eG8XA)4b1P_sYW^LnBQ!>V#_+=%@$LKWD|JCfW6KLYiQ~@ZhAqVy8mZ2$ zTl|@Qu{qbV_pUCD|JfF9Ru8Ws$3O3gcYyhOvmi#*4A6j(0-k;1dYq))#lcmSs88Gi zZ10YWp>$o?RsPpK&*lE=~M)N>-D;uX}61ixylON0C&uSK0u1Qq;@3zz#H33Z8ao?aw zF~mH^K=B(=r1w6H%mJe(CIS_h%*?0e(_Wix1Uu|h5r{lI#|QVYQZbJg3Jr)V4tt+I z^=v9XQV6qlt#TjuNX0F+)z9FQSqU1A(lUUC%yA-xNBa!f*X7lv6e#5i65~AGCGyk9yL2h$!2CV1A{aDHxQKVJ&x~%mTkWa_yj%xE}gKbe}J8jsrQpW zb6!=X`oh#_o%ToW-gfIsokf0u(YsnMr5;xwMDEnv%-AU`Wad<7Ho|?Z5DNHdiq`tW z`A2acQVfulTldHWY{rbXq$s4NH)+u{yqJt{Wd_jDu~0DrKHM{gFP*Y;Sy?=6{e2a) z_NNPdgyx=O56y zPpw+a*EqITiSG*`031;c#a2not#%1jCGV2}m#e==7toQGqGTJ;+gt~uT-_7>JLn3m zlubeXsYgkQ)dLY1on`L>kT=|{ssCgmM08188Cp;v+d34_=D5H z;ogPB*IDV21KIco;7@{>_W^CAF3c5DEPUArAOzk2oG;Nuy3DDy)Hm1SFD~CD4=ah} zOq|JnmuBWiDO%_`)f9X=3d$VCF?VxL!|m%jBdG8ylL2j5(`QY2iid?a5Lg}dxES}JXixHW{dwB?lHsk<)l2A7KZChxg7R>&o=uz( zWo2*5tBV4!iMMkx%}(u@k<|h!&K^NM9^R3xHv=MFH~W&{Q!_7fcgVrqf;B1-Q&4&s zOyf9>BTb2S@HrSOI9Hb3a!!`&Y^|NC^TgPwzSKs8m#Dqyw#W8s74#12BLh-;hF({jPg(BqRc_p^u|8jCYCz6F ze$d-=rYe!7TJ2SySZuegbid4&)U>a}IsfvRnDpFXyzRE&l#@H-%uvzkwXU<$RPt|s zd`8EQ2)Fsf>St31hyInElCf_`c^&wiEe4RO8c1_IdjaNv-Y~BFy z66Y97J#1$KQ^e4OK3|N1m#>aNndvh=lbO>=&ytd+S{a78Gc3)?U^27oDun zRK+)PaS+XN&3+wULG6M5UO=qGmq~ZAn&rj*nf3z_r5y%fpTo8%3ic15M!XU4^Pv65 zSZ15r@fwp6w8>rPiSp2~5=qtf9%=02>=9-1dD<(#9_tC;E%PMtlt^}1>m_FLcq!vi zz9rg?@e&OTr<%vOWPPxd(HS_DP+DQ=Ifd`8?^n6+PP&4nR`Orl zowMYwas28SF<6Iz7@LcqtVDdq|%3W+gf7of?l>OXI0gqF_n5Jqn*F|ap9 z=FyRLJf#B*ziI{7QBLcwem+~Ckj=EzBco4ZVyxX~tRenu;f?C6uzfxn{Oq~TMM(@M}#-mkBrYXV?`n^Z`ZgFODBf^mOTDJvUV=n|VQ#jyxx?s>Rz5ZJ5c8A2M z?63@%&P)79J!Do@7YDyty(spV^RvPdID6bvPb`-hj@WEcs?YhVh~Q-3B>$xTH;dFz z%Kraik#;=%Ulyq>i277A=yC1mACxr!hg6i~hC|B4>1=0|(}N{k{2_jK@#)V&UXJ_$ zwQOuP>uDDOv*u%m`p?EZnuYzm!Is2Oa%xe!?uot_mwwjU%>j31eqDP0@vnH4@(eWh z5>21~_G$TL{gE=Npn3&UCi&OrCU6sNvUwz_RE?mJ^%WHe49We#);JSu6 z(e@A<8sM`C64avC2abfSwW1%^B_9R$}yi`y2 zbgm;8KWy-rc4T*LyH0HGWwapQf)0tiXbKnyQvjl8RI`>2ai(>R4#eLvQ>w5!@W zQoZ*=0Dycex?Ak_l)awBm)cGCSktMIcvKH=u<9@gr0DvHo^iO>`|o=IJMw0Xlg+F; zgY@*NC2ZS(w!7xtS-RgB{9EVGJDZQ+etgm-aCWFs)4a4S&o!agm)t8%$_w#49n+#D z*$U53OcZwiP1x@EZk-X1OL8N0cvIKWAjD`0M#NQADiQ694dO%npGsYhntYUUC&g>W z2c7b&{vqrOp*br)J#2@S_{Z|0$sNZJXopjz{JV+~&K!`oeaL1KAmCc9dI%C>DPa zlAekMOtrM~Oi`q0e~4T13?L#IbJ@%QII4b!vYnGT`SpsTQ?RtBDd0amb`+|E9ZYZy zLNMxTEy^$(YGi*9 zv>6kEHA$E=P0!@wZ}?rG1yaDS4`zIfu<3_d21hydzke#9*j%MwjU1;#$JYZ3d3GC8Gy z^U#}oTy>LxrF+42-@#}Ad$TrVu2`h4Qc^#qj3Wdn%KR5vCJRqA^}0)lz>cIXk4+A$ z>C!F{b*JG8?X#a+EORY1FJ`@Z^2R~#;|C+o3j8jMSi(Cp!51nAz6)<8Z5@1z3~>AA z(&eCL{xgk-jf$ZKy3h7v6&OQuTht-u^~8r=qi(;HCQd}<_N0_`{lk< z>A5;O5;#L65u&RVTHQ{!hDXnG@)m_7<@S1^y_c0ztUubH!-c_zPE+R3o#or2FWjpgt@cf z-)v5@zq>+~YteakV(Z#|$}BrdKBSUdwz?PCfTaBBa+nb_^95Le5Kl7)-lKUB9K$%b z9VbD(h*+bz^QM~Ef+-%C9Czj&T=0^#)5aa8t}hnXMNIIsch4%%G;FfxCtE86$A!5c zr=kFRpA13f>m*hheX~Y?Fssxy68=V*g+QVwtvv??c+SdklI>=BpEu>+a|W}MBq$~< ze-}sjqkcxG1~PEL_8H+j@4loq+Y~gg_&2Xo;qPqEyHakR_VAgSUVM*pT%HWD2{j;) z+rUG$6Es4{N9e%%oF?5>#7VaS|Si=p7!_)Mr}KcsjwlfLKJdSvxfa=#qC z&eig!P|(snzoTvhIK&uX8zwc4+oL9&(+6|=@nictm(N!g{kC2jr4HXDyM_T{o#UZB zNw%zZ18@xk>giq9Y6fvPFz-w?-RQR<#Vv&SA~|J<9_bs?Ve#6=7qC9gNTxhdbxw%^>m5 zty5Kl`ud(1LGG&q;%;m)pGV;s173bb?S{a;2BkNTzQl`k|4uc%{+1Ma=cH8MXF>U) z`!XytuFnw7BI>Ip(E%UiW(klJvmHYoyPXP1krV)R6U4O!OW6A50lFE>b?rw(F=d+$$(T{_m%HNXuV4QBa!KErnj^;zb?>bCEukteTQ~r zqhL*@ubA}+r2a$kXGh$UjxR@(cNZh0XKR7?1i_8)S&NVO3DJB*?-Q-&22nI}ts)#e zm~2)JaSY#jv9^ZNmzH@x;c2)IGT_ZZGr6bKdzTk_MumzxFZkeYQ$NHDsXCN!-@l~F zwf*8e6+iQKXTP&tF}bJC$Ipp6GyMmC=Gq;Gulm9p{-& z@@LUFMi_s^_dpEqsoNZ&f!qG#0kR#&JUxkD`gJV9e6xa13)oZo=dwTfopt{^h`2T0 z2$ZDeB$zMK2*2f}Ym|R-LnM)1qFcn|61Mhwnn(QPHEZI1_`7`WVR-RFHA>irF0HTt zt@jQppY*P=*56)V+sD858ixJ2gog7^Yxg0v>#SX<*>31Kio$QVJwsMU$U>4KmkR^M z%|`}1DhRJ`MRYNeGUr#cw&~&1)W$#9;d-qsDeIHb4&hT$(}r@MB~BaNt6cA{r~BgV zlEE@z8p2X$!gVY@oUJd{`;#vJ&_h!RJ9;g;d{tfnV06CsA(kpw6>gokTz}2|N&WtK zUO9zT*bWI2e`t%cL|L4!#vfuRYQ){QHS?B>GYk`+TmQzJozcY0oyDI`0J26|O?MwA z@`ddQoG$Rml+jy7P#N=(*;ZZrSr3@Sp^Ut`zUj?)4qPeblZB(yQ7=wINe9XwVr~-1 z*+k=_vb_dwLAjNt!t7oH?+N0NcJ4=^7S~fSc=@NPZt`QL9&CM9pSA8oYAQbMwUQ$# znvYyzj=8jy_e(mo`(E9zyg{%1pP$|l#8=bRzMc%_z|7%HPf6>F{;$I>zt%L8^++Z7 z;PQ}?l-L(I3$=Lm_w!fpExg2l0(U_X0T)ww2ZwOT&4+Fw5{^`T-`6e3z8?Pf_GmYqJz8Zj*=CCRT{E+IehRR3U&P9tD;I! z(C}<`ufb>_Ws8VJ=tvai z>b;9O-BUxm1ha~O{xd^?{p^5ln(qHQxm!s$3Fu>Hy|Ds&8AMJp0D}5n(`>CDjdELg z!{8BNPgu-{5kc$n531I6pY?Q7l!&eCUy-9Ft6nLLb}YBk+vZzOB+@#Yolm@1BWddr zLs*|Y8-_R_X? z{zC)*7H-i~y(*>tm&#kvB=`^4ZU-CVGTth5*Oy2&fdF zxodsowln#zA1GLov;eZk_4<@I7MfhU+A}8il{@YL4Aprejq`@D3Zz52SOOnuum@oo z<3K^8Q)c&Oem3TlU79^!%g~>9#F7sCneR@~gO5#|xYx zxmWo(3(a<^4_gZO0yzU>o^vu{k;K)jI&#-5@>29bmt58)t2KJ!jYSVp@{8bD{^K3` z!1)D0ihsn^ZZeT?u#5ldRO02Hky<2EMn<%*%5BJnV@ZlPSB>^}%Y~v2O@CaL1MFF) zu=|mjI1tYK9Mc}g1kkeAvf(s$7&!AUu~JOS-H+4vvHIUH%%f&9OSN+YTqa#ubZp1i zR|?if(kYHfp0YSn?2Ap$w3gacjrVlx+PFlZ_k>TWN@7~y3dvM^v=eW=qHjpgdN+MG z`dRs+q@Jmf^ZcrH))N?MSUvdo)5r&#p%2j2e+R%>P&q2*K(uNUsUZ~;nckpJG@z^& zIq(Orm1}ifWgU=c`4v4d$CLVqHltsd)C}ROsSr5!C z_a3FO0{XQy;ITCW9IJ61@G`PdP#kZ=#gS&c3~VVO@BQ9rV|D%TFtKIgoap}n|gJV zpRz{4grYjpW9x5~5AoRwZQCU!btlXf8HOkVpA8Y~rGR>eIM}C~pTCuM3Q@$rNmIVI z+Jfws$n~sxz6K(@>+&}tr1jbrF$4|s9TUQYXOkbspBD!5)UN$G(kij$@G`AB{P$Fv z>Yum;nt!_HmAleZ?yBN&>g-Nxdjp5L=pVJ|vx88hh3AK%>P+wjoUb1I_%g_|odJ_r z(jb8L-%CvnfE%KE9z1Drk3JunJUfojj4qAmK`LD5djaI85i;=sjRy5=AkV9c>Do;| zdLLB*4b$k1n%d%I;;^FJcrsuhqoPc(rl9v_wy62Lp2{wn-5s>5YVT3aV8xj9LlA>b zk(FjQz;BCHCuk=z_n8X@r+xX)m1uaZ5n#}LFn@4<1D4;;E%|wqgdM+U3bZ4XE7EIT zm5?#YGcSUP`hZ2R<+UpCw7Rw1T~l%Sg%dzku2C*puRkxNo@av9nizKndL3~W$YD{+ zzVGh&<$91lQUCe>S32M0mhXDG4!J%w4^>lt8YXbN*)drW!3|sr?H)K#_fdfl08oM+ zHQwWDk6XWfF75RS4V3DrOYRD90%Z|Fpa%5^1QJ02cp3<}32Q2#F>479M`cg`Fv{LO zA^T|2!&{LkvYZBQcZvM*3)0PfehHi&6&@}HQ2uXT=WQcIj~^vJ-{@pt3o-xxTthiH z-i{ognR{9kn?h7>qOd1_LJjwg<*ME@F?ar4tKeECzWvCm#10soK73?uScC4D+%03n z9=`re`k0H+g~!xb=5z=+8cbf~P>N2XjG(R!Zq4C##rjc%lixl7jmXw`x&JpEORLU%oVGh- zl@_`Z3;kK-(T0n&TzXlObpm`g4%p!Vn8_yk&RZ&K$FqZ_@yBH|hU#Zg7>jmX zaC0qxY%9%C&>@dI2O<_2--*>IzT^_;Kzca=JFm0$0(GPM!%ft_CuHy(HID@SPD3&7 ztF}K6R!YgeC<)<RNCL7(m5f-OEzIVE zn2+~n{*Lm#m^B8eF0;Bng5)#6u6R;3YS+_|V}XRp3xYM`?>d|RXhGwA$1yh&{Sc7L)?c;S{(fmm7HtjE)LZQ6dqx0`Q682Q=Ulf22j~0^EHY#m z#j$T6VuP39Kx$~cHHZL!ZQXC@zv+z7lK~4dc^?lw0!p#!U6`)*6{0wYZlc{!t}FNb z&7lvfh5;}t)K@P=5j=|r%747#z;5Ezfg*OG0wty&`9t0}{`dn-F3RDFVf13pXjrMJ zR5Tg6m#}_LkM>z9T0mSoS>JsV9n%o3vr5MwBa?m3ttAZ)8$YNl7u@uk-wv05CEoa) zy-@(c_PsC(mXd9Pw811?dM*H09eqX@0HFp97_3_U{333Sy#_*7%0N9!F5de(uUC&B zEdi^#=kE!B=t!8FFq8F>P4bpR`(})z@9`b)?pWqXW)@x+&?Cg7=G7rL1T*;H!1m}4 zl>AbDb_S8=@7VU9ob>|>CXf8q9mR-)*CBP!e?%a?VAXgbCa*)jDTbh0L_)%0cr}cc zFyW=RL*UlJ@j$h1ubUV|Qn3Gc2K?knbayA4V8I<90ibQn9!5UwfbHM4zeFtfzXP?kVEn+_J=*=VMnY>U!L0CChxpPetJt zsV}>%Q~tV#N?f`KXhHXzVn@$(O zn~)0oe$<%~x^hA1-OpcS1kd1!_o^v9fYp(=#Kd=-1`JKSa~e?;ugN$VC_qW_8YT>4 z7YSbyAT$}>oUJNRd+fqsvI$xN-vi-?s3XKfR#pi3O;-holAjyDZV{;m8bA%NKo&Ov zzz3)Pe+f2#iz!X+;iELE8d5KoKJd{j%|)APd0%7+OaJ@_P|2uyz;0+^!K5 zYXgR=^3|2rQSeiB`c)7#a+LxVIMdMkPyR5BK2UNxDgpb-Way8!u>K76q}-P=d*8xn z7dTt=YgERYsPaM|3koEm`hFPU=nJ!3DS;aTO%j5vN)80N&PFuLyeij1?Q`BjbD|kZ zkkd)%!|+x#B`AcDB_s}Tf-q}Q$bM9ozI%f0^d<}sa}#bik&4Ib(w9x%Cet760QJxI zJo}p!usyc{I0Dv3t}55%b%C3RrI~6}L$2I8$8Lg3PSo@(8}!7#_uO1I7IK{N@C?O` z5U0k4VRO}Px?RnPq}%gvriV+ab^eD1KxxMfDjK>P5R@t2dUAfzCn)1x>%C8`vw+kt zl+~N73aa+L=!%f2@1&OR{peo+eKWc)GgTRAVEjz=QecOEHiPZba<`$9s6>m^TVh^{ zk5nO8i5G=z09vY%nec_PlMLLvL->%}bw-zxJMzkF^WaG&@HNg}ldDSc{g#g>bQo`B z!4mMbwJK0A~CB8psAX}2bZJp!x8Ta9_;Jh`4K%~rup(N{%d8e zAIpTJd3qJC2Z7++)Y5ajW`0350nitDl`Gg@m~)>KP6y}J8d0jH;NOu4qapxIwwQxP zbr>Ar|JIK5dtZ!n{~Myc;k6^_HFh7AfPa2jVrj2zLlZ;4dyHYb2@roP9>~Vyn?4=+ zl#^#6-?n6TYss!HmhenNoi=0zTq^0dXG^(8?@;SxAI9Ddiof%Za`BcQHKSlP>ANFZ>7(M8Z$B=zB;L_INAIBc!cNeTt(? zNdf`>CLQ9}8wHL(jBkEFq@;7=$H||r#l201Ytt-lK6Z{Sd?3UFiQwd7?(QyF7JC{NS&_s2gAC(3U3w0iN^ zf3Wo6?GdoSMI=)xub#-Lc*@iqDXb1iBYhjX*SkY*Uw4jXWc3^?Tu1Bl_3nT43u>bs zG)ShzdhHpNWSsPB9-*lqT{PFY*W-It<++3A0Z%WH181*>6^7AbJ!h|%Hx1Q2A)V`& zL5@jpUG`o94fb~cy0-4HI0$TV6-mN!Tl(Ul#iPsPqP4DJO>lHbdGCsa>@9`Df&;Yp zL)HDP>(VPAF- zstNijl%4a=LcsG{d$H=BsEn|LRf>}hsD+WGdNPm@`n*-VHB9f6s=1KZvGE@i0g74f zwmAnbj886>tmR*cg$#nxS~}(rYKX(uf*B7#`2OCSh>8c2MU)7)u&c?RM{78d34N%v z*YmK5g%0HBGKKmBYhY(D#samyoF`06XT=(H*TRg5Hz5flp`1b>f)o(<))@IZ&{tdB zI0?ucTstF;^RD2W2e6|k^&CA)3s|HW5qS zvmfxKBmkks4!JA>CTt&E2O>w=Q_f1VVz2754`f05jnttPN&U#&=We8L)mwN!ORM<| zlS&4g{8Au=iS7YcKmGofFg*s>(RWpYK41>lCSSoiI(9rhUYZSU6P3T>-&B;V!fj6*p|DifN$onihL@XA3Ft`JjznE@%LhJky>ul0hU zQ^f1cu_xXg&s&h#YEq#d${YYf3S6LEg9IK@>yb8wT0Vw;=g;$Bbs_Zz$*rpDOe0Ud zUOg?ij5+rD*-aaT^mN8CR8&mW$6gt^`z)gcmypVWsurqMSg|bIH<1c{SN0cXPn+53 zUN`9I2w|~RMk@>ZGCU=m^vrYm!Q0nf?Mm^Vmy;WG+AZnS)l@wopdG?+bq~nM(IZ-U z*n(n{@$m06r3J_zRB*A(SFr&B!hbh5#dXQrp{U~V0<6t;>;NuLJ@fe`ZXWJ^g7iL} zD%YLpiE)>@4GzvRGJi7+A%CBej*Y4k*4b-d!+N0>vW&RBelY=GZVlg5 z*r2T6I0zU}cjtpbL^cdxKTM9Av)Cs=+kCCaUh!fv_n};L>iFS-hKjr$Z1kez&&ljn zWak-3|5I|$>n8z}+#9tWW!T6p2u#D@ zwL}(pv24QL7fukjyHTKEwfca{HvXIvBFlAtCrp3>dtB#1{A-U}J(*48Ah^&X-}fcD z#xtDSkQZRd3%k&zFdFZo2Ovm-iQi`}fI~4V%#&H=Y1mp&rcy%$U;mRhO~VngD9BU! z)P;y+RnG$}zsW#K4FkJAR>{E02ucDynRHYLe_(H5ugF1LWAG4d3pm{n-c3Kix2BuH zh80N~^qlp~MG%j+q>=Fb%S}(&0jgom*Od&Ek!4=Lz4l;u%qS`l6*Z|}B^4OG8Mq#D z7emST5fqF4?a^WKy*DQIz12EU9%d3;Y~_Et)I`KjOwrTb! zt@?yVfk$`982VUF3_nC5tm;;FM+vVz-uDE)z1f=zESA5u5wcg^pR!2s|3IP7r!mk7VWh5W|(D753fw!bwHmY|Zzcvt6X~B2-iF!_s2G4z$@okY zZwe?Dp8#|Zya9+s*zTIz=N&zS8ZFEzio;A;040w8<|y!Jj9-OLaQe4E|hsIM^QuPrQI}m`pm=Sv^;x0qVhv%bfYB z*VL8k5{_&3vr{Dx@qcI(9dSbdEgZSg{1gO$p>wv@x+t zlSaHo_^*Ml-N7yD_YKfU6rFLuz-q-FlTEvuV8@pd=~y5&Is&38F_=b3do@eD-u`AKD&Lw4{N@ zRCRs-b@N8PbLP0J5u3ZujqER)V6(G|KR@RjcIh!d|3U&s|48yczP32F;i}s( zS<*5;vVtpyOO=+YQZ2qak?=J#-tmWpoKR=1Ua?F6A($Kaj)T5*n~MR?KObz2%FW_e z(^T2I&fSdX^LXuXwI(T(=9RYKn(GW-L0|c2aiNPH!sKEa^xW*dKJHO&Wn%kD`$9VI z4pF24(8T;JQ>0N_q`HUOI7V+Kg@VcHd|()EeX=e2ys_%Hht9T}bo*F=^`5}L|6Fmi z>J|W!-3^kkjI4I|{L%mKf zeMqd)t1hgZN&wMhT0q^s-XE*Lz#MH2QWuaSy{B2w9|QTXZIO%8*tYGh5{ZE3zil!V zxt~R!qootiPj|U*K#U@1MS&EppWL71NkJq6shI5LH;tuQV|%*wN#so*s^l=W{G(%z zqQPw}Dx@>AdH_gd4#+NFG{iWV{AnSpJFwRm2^OD^#{8TG+ws@Szf;G*kuzW%haKPd zZ``+8SHi5fXczGTOMl`6aBHvv={~ot(6le!9OZ+U3@I;=Fvy$KA_T%I&Tlb@T3Zl`w;Pq0O z%W@Fs+G)v;o^`{=>GuJXmr}Lo(@)9ir`Bi6eH}wlVTY2RS6)df{ibmMx!evv2H1#` zrW#)TPk`R}3g_GHCVL_q0EDYZ z>5};Zj5Z#w9QrSgzPn7L&|j}<^i&if)^Z@ufTaQNt8V_JqAt&f%5*_Ritz4WuLbYv zyxVq;`ueIl2hYl^_^_?%z0D$RH=TlAiO*}3Lc2oVt>RsmNOM5CMD z*bKu!vL}zCm7A5K&m)f27tA*s{QvEmKg=kU4RE7P4kF{JGXD(#`u=Bm%=+MV|DsFO z>v>QO+LzTHA(B*$+KHOYfTyoL9Z&yDUzjK=%wBW3@IL3;E^9>LeFT)_I3nns#^=7A zaw4_FCl;Kxzc330qS3zZNUa+$8Y?{eKiX3p$?=k_kpdTo&TQXkUcKo=|G&H1Wm22( z&gkMT`az!RWvLs(c=6{1Y5)KD#a95)tK2gIueg{sNje#LRz#+Y)#c+}ZMyM#mbk;& z|JN@5ur(B=?t{DlCxSR9g;X(ptRIrUJ^%9z#2eys!4;lSeD)JCi|-PE0kb%?dCZw< z+sAC@GW!3a>#XCV>fU}mfP?}9f-r!9iU>+0Asq$+B8U=04c(1&4N558Dcw>M(lB&4 z(k&$oLk@Y?JkR@k-*e9AoX`Ag44b{zUhBTE`}$_4u%RNEe=w*%mLJJTTpi)OkF%nw z7=%Lb04zl$8kvptdTOKzH{!QE73L*Y*YM~K#>8)rTz@>EU|uQh}*Qc+S#8c zL^Iuj;ivyjU5=3bW7SGniaWT3!@psMu9#xH`$oz?nZ~Qb@2GY0n82w-4XFgwTr(pD-p@ zau~W?4_<)#y?0bdyj0@t6Z1>cGxiFv(kNAzr4U#*^SXElykR^#Er&Y5*m|uR@U5GKqO$Rx}g^4sxHb&SMb(QyaK!u-V^_PAWG|| z>Sz4zvHvb#j(2*pB_FfO!ps|9#ZEESA2f|61&ElK#jmjx;t#nW*CvZuC9|#hj-~iI zbw(C=Z)_l!X)c~X8@RHcd9{-*5aXGMH2fdju<`$J!}prg^VXE21hj?GeyRZ|2_)1! zauuPs96F{PFfZqFmA=c}lm|wAFI7j*bW_A3CPzPdRbLa;yw@S4cV4!!)-k~Kd7GYj ztjlF2PG3h17T$Aoz)}`53$cViIBqB|u+pDIE0{5WM(VWm?R)O2Zxh5|lrx`nVLJ7` z0QtJ*h1VYZ`3Ek4;T)yDhhz1(=;zykd8LD~+bajE;?a}OjHZu&bWM$4Hym!5xhq|x zPsb0>y+gemW*KC*4@Xlza%iT&aq3b^P6_r>a38{0^8fAM9(pd-UW53itisVGW{Cc1 z;ZP%|NookMV${A(#bn#>w{?%l6zF6aeiYs%CZ)u&u|ThwXVu_+xS0xF+*gxHxK=IJZ{Dk>sm24zuUxeImOi=}iAERDT z7LN1{zux3DXqqFGJMR;gjii(>IJGA>`S>Fh>gGSx07DK$!8@*4yu1XoR{MFk*#(jh z>`}){ESa^mui`iA#A$q+%}T<3l8pNAYqB+x&*}CW)^1m5u*(iP=if@BptYX&kHIGf zxXm|wYyQ?;f*g}(ksD9n6O%q1^vU3|Wqqk$$uabLb&~D)ZPlR?cZoGNOH9rN&8y>g zNiR9-xDa~5>18h%F?xE?Y1F{kY8q|d3h(lC#G+u`Zn#~Tn1gkEYs8~&RjbfdrIX%S zSukp@Qm>h8ESi5JC#NQN;&@GY4xu;bH1El5SlDftR!9}?SWg*MN*R6gaUq2y_tA}v z?K016jmI&@o-F3FG=`f5qO_F)NX##Gr{Bx{ny816f&Wj_2FZn zp@vNU-RU>}!ITjw$G%2CB8iW1T+Vkznrd%Gjwe4DbulPhKmIVsx5#M>oiABnQu%K8 zVjY9Q)bT1NtM2@}5Pag(`Li8pyGZ<-fL9`yv<%BJBS)IyuHbe#B!KVCn=}I=@^nC$ z6QRfb<7O=8V*lTtfDs8_Dz$iG>IpOS*sxkQv5`W_FkTxQsR=~9vBb+W`GJ>* z(5q}OG3C`O(GG3acll|b{{3-0X;@gI^hy$kR+;rW=|J*8*eje-TX@BU0XfX#(Bw&q z5T9K11BDl(i2YmNO`2QeMV7<-raq^ySQ$xKvbpwh5BK_zV{Y(QI7Tk3t&AaI-+-rG z@Ax~x$4Z*q5Mzzmiu=Fm!N2=IA4NAB9j^pB#|cS1Vw#U`(JC+GLE=s{CaC?vtE<=S z6_>s-oFA`@0tI5n%qt?tSSuq}1Iu&qVJV#$-cso2l1jMl8%!bLCnh&p127(0_G|r;zLGeALw$?$YCd*mT*K;#-Sy>BfuZF0 zjWG#)^0F!%`p-TC78Zvqu@9NQ-$(Tc1Q)KP)x&soju$s=1|^3d$jyc2sQhzRsALjF z^Wyy%#)Q>JrEc;d{+V$IWJdcx98&`F8_b~9XmWeHvT_{g#_z;SRGGbKKz+d{iTO3A zE(fB@u`of^KBBT1Qy?0>mSTV5!EAa|YbY>n@oduLWOjQ_7fz1x^Qw#8gI+87Aqqc8*mCHG?MWbF2Pa;+th64$dY2>LDT zHlwXu3jNx?hv2`xN|1w_-0-7Ul3P* zHHMLG9Irh?c0}iJ%pdTTUEooa8idFb-5&GI2pKjCt{BeL`tXHH`B6VRj_6a-((Pxq zJqa=&U>TMIF3Yq2E4$V?U14c2GB;_o@_C(6%UwJ{Zv<{<1;d#&w(_hm-m`oISc$Mm z`mSo-vt;{z!AE`4aGKiItSzS<#qzqxhV*dt`=KDFS57}M6IsqYQqq=e%IcBc-4sVqUYF-SKB&b48W6@e)eM)P}@fJb28^TSF&UF81DC1IkY z*cwj%R1ohRmD{IWSWQZup6t%U+e7GBFVBu5LAY(#)BJ)zr4(@2=w5C(X3MRwrc(XS z>}RnOjLrjQ(}cT%z_}d;5-YORnba&w+O`0nq^}6KZM$3OeF?VO{UTTS%BgsrL1;fW z8ne+K(YX6q^`Tt5^{_)iM62jvwmhxwZFLYva6`hcRCW)yaWS;!FEdji5>{q(=W;}( za?Uj$w<%j8#Y&Qi5(`pMji$!g!+SomDW8~Kyp}BLR>6*wyLQK(r4E7|UhYX}Ao>z? z4$d6vKf~GxK>%Rqx`d%Jx~qdPT2vkhaqM;Zy?BR5dQB48H1F*dz6zxLT%?8S69;{5 zZQn++APc9p&de%^MS| z)SXbJfNY$E>h)zH)v+2)$|+MB)5@Zo zDFiG=t74s7rG}wdXOib*R%2Q!(b3DhyV;Y95kdAl%1Q9&8}(o4f&4s&b^i2VA80LR z&oXw!5A*v;TrGgU*^<*gies@`Lv?YK{V zm@FKPx3Rtd0qOklDC#fO0i&i`^l2+O(^TVNK{~HaP%9-bU%L<30b@S4G*!U0_@h8i z9CZ2&lN`pvMNeiva4nEPxf&^jH*zxyD%(2484JTnzp!YN0Z0F91iFPpe5OdGeS*-7 z0lhJf0y&^H#Hvx&oextmhW@?hLu?aGse#5)|35?jzFE`r%arR2W_ArdbtRV|7gE0y zUUjEg2YKE<*7?qnCRd<`@?p;F+QS@yZ(=VR!F7?;)y)1PC*DH`i=N8_bAzhS(2tx( zJ^(rOYRY}{iK9Q?1h_VwZRCGfWw}UOiP7lCmi?RJ`4wokrCqA$jr$U!4-%R?gF2|_ zB_REvi|sUJ%A9rqFm=nhK6!(ibzaB7$?{#g1^o1k7m^r6X+d!L&I)XwLAuvCh+$Q# zE;mXA?%@EglEPtr{Rx&1M6Wbtp1HSH6yaK|UB3)c8oT$go#V|a2o#HFAE7BOj}?&x`SsBn%3t{gmNj?hr+L~7hC)_LWiG5CvrA?0+aZRp>cd> z=Tjg&YgF~fZdG6DysUp$W~EFFKC;{)Q8X}{9mpSvD*%5v^$9Mqn!wk!VlQ`(;+Yz} z+Vr{rR%Yl2CP0qoY7NF7l_`!7&IsBU=FGe;vk@@8!VqKUuwFEjGP30$3={`GbOOxj&mDa3#Td?Z}n<57$qvhr@Akou%?~_|c`mcSn%c z7iYs-E|GHz!#m67v?n5@S4O*{s9p9mpFCX0hgHf263G7=k`)Yy&yqv8gD$S z23V$(wfmJ^ZOP;1Xmr+NpvBCZ?H{aZ=GAFVjyEjPEBNFaO_KG`n(B*}o|Xg*l$L}+ zWc+06df%AXNF@k(g1#1f_vhl$BRY<*j86&$F+r2o&Z-6v;Fo(46G$Ayr15VOiD5Vr zdL_-^@#)?7=Q_Qy?{tZJFg~6Yaz3B4<&&)Q(`nhHP!kaThinnrr?`JZzaGONF}lT@ zkU}@OCvfiPdUk%<_r$Q8+B%TuGAolO_+KiOtPgew7O+7w5C{IuAMWOE!>rxjf!(7*XCqL+swj&*;s@}gSdBazF@9+=5-dPRh-EJA-R#jD{` zcH$j^9v8358F`cQ8thq?QIILDWlZ0u`Z$tg7NcJt&QV}6hd7ARLClKybQ99_mMe)+ zr;wiydXqkj4W$=(R$K2;*n8h=Rx2GR_kh#gnDAZf!);sG{H*6Y_J!;Yr?wRDQw)eo znd<@?az{$q(yHRX$?>ypFVkK|lKVt`#)a|{yJnHeU)rd_zD$F8fl-$!|53cQ}4 zA_Nc*f$}uYpWr|uNB{4?v^1Cmo_G}!mpIw{;BiSwr5z!1oYr?SyF4wy6@19J6 ziqM zr(^-2p4JhvKa)Me9nS_t7=eyq%%WOf^RoJ-{hiT&?(4;EH}MAw!)eZGEo(lO$Hz*^ruR>y75(+rhZ> zS=m@+vEC&_0hwEt@6F_IZ)0k3x%8k)jrf-?+RHjG1ay&NYiGNss4WG%0=)#T1U~K< z*CR{@lWp5tZA_MD5Xn|BzvsnidQkC4dJJHcQtVC5nTp?u%ls#xy=!+>PF7(F{`T4w z=*IaJX2S2bK&`nU2OWaiyn~yMWg(4N_X}xmSNA_>%%s-mD-=l`0RC^26W|-CK@5XE zA0go;cNXY-9Z^`&5<6;~_xHH67ir)icWNRB zg>M6#R;Yr(4jmFj6j=Dwmd;%_3yn{Bv2S!qm1F6I*8A;sHvMgrb=vtLwOFEnzg8Y8 zIy@-gAZ2>i_0WqFo$f-g86aZ2yx|1+?Q$68NK3C5GG@TEQ=RL?U{4HT#Cy@ME>AXR zINP^N&9}95WKK&P9q>IHH#GX^1`cqgTQ|<(nNhaY?cH%h<;ZD;OI8 zc4$pH2%(E!eNhiib}$@^ncnv9RcWo%*Qr=%=pXq{MT~kw6Cxgpv~kV++<&$PTzHzq zdl~dPRm1r$^0(Ih-B6g)EcmmhVy9K^IV&pQ9w$9Gq}6_c(07je$*F+Z^CaDk_OVkM zj?OOF*d8m?;2?_3-V7JjO)WnILnw-yckj&hCffmcNXbzY@@H9LNrCQ{r1OJZD(M6= zv3H)T4VeH6%>;7foTT&9oM`0?K6eZd^YfJHq#6c!g zd9O0hm+^n=_=;iBA?f2c*pP3am+luuA|cAR@I$rdNzQk@U>zUm$6X2{1KGCjV)x+? z=ei-WMm8edzk|3o5r;j_{-5qvjY*n_9(Q;9r%TYxkDANZhoKf@`8XvWH9`^isqFO9 zoeW3Nz(|G7H^U_Bu?c$zh`J!HW~tlMJTLbW0&pCnQ|Pf+9;A3;-Nn+HG-vBKS3xt; zjmp7-*JRLtibg0!ZdECq0tt0ARgD2BuLuE56JSBk4W^zU;Pe)Wdm3l{7e|T|yZ1%H zZK#x1=0P1M_sp`!6Y?{!|4=}#E^(T{sDRFJr3 zZ*yPuf-YWXUZY(pZ%NY%7Bo)St*HF_wA9o)OLk-(I^$yS5+7F7W9NANVonRH-y7X~ zB2qaq9#YbN^)(?mYf)xk;P2^SFfy}dIC&RccTK8tw^A0_b5s;qZ?ArT6LWyUhQv6JfI$@Odv+4)~e1%*21w@hZakbX0`nW}U!31Ad-Uv%5`A4GLEJ~j*2fc3=!!=fTFYWj&2a8{r|6Engy6cQtD~ttGSEdJe(0y^#M8|*O zLHYm>+QYU%q|w}O%&I~qfXRK5TV6gn4>M_xblyIG8({u(@WR!Ak1Oh)BNwhY#&`{(6oUS`2++&C~Sx~?;B?EUYUwO5}?2`hQOjP zCQ+Hmry@?hvD~qi;dX80n zs5!!Yie-Ymp<~nW0pw$d%X>C+KMchFwATuiJHNZNq^_crRE_5Ld~qwF+O(~E7bPp4 z6Fd{>ytFXeT%|uChMOI6n14XU+OCDI))M)IHEjT_fn3~f4fi!3X2jj7E1Z}oeP@A*ZKl`5fxZQ`JZCB1)kV%QJ z%5AOtIWf{RA-+LWeAM*WN;;Sh@U=;Oh<&R<#H#)8?k(5)dEYQ;*$W+ilpGzFc)RMY z(1J4s^aTSOs`Fm~vBJN2PjGi0%3fT`qjHN?!(v{Q{`&GJ+U1Oa=L3fBk^U-q75#MR zO3>(gZ?cevr|T|0`eKyCaJBfl^NW)hi$9TQt5_&OncJjc?BuIkKk$#aK|NtDI@>&9 z7kY9LM4Mu|#F-b8xhAZmJ#`-46Utp){!J+z@yrz6AijQThd%2MPg)DZ9%8${;F6lk zw-PxOJ8&MT5F#~v;39ss&-oJgc}7{sj!=g5p*Zb-HdNyy4+kF7vzT7}_7#;`?=3dn zW!^Ii4^tYxjD3`1eF0!X<&Y^6Je>mmUv%J9XTn0m_4?icr3RTg=N*Q+G~NfD@i};E zL)~Wexcp6fJ>w|8jlyZL@=vV-Q=FsMfUVI*gBZl(A@uh zCvABm6n7Vk370{Im+&owX^#WJrBkJiEwd6GO3$s*cmOI774+;7YUh`a!i%rw>fJPS zAPYVokM9S~75J!n|O3tRmp`n6vV_w4DgwmHI$fhUv82DynC-4;95sgFYE&e=jA9x$!mn96f&EcyH8xFq&|Bed~Z8VOeEU#Fmw zna!=>?17Y<{ni|HvfOn`m+Nv)hK5006@Msgs?dM>J+@CU>!&gReCXme(bc;>Z%UXh__ykfk9l^U$ZiiSX>}N$4IJxJXBlhG;l?iF!7+j7+PPOF8{=y<19JZd*)w;Ymbss3=)NiZ z)i7$2ar-K;dyV#*Eus@c_7uJ@je8>a57s^?5rp^EA9R|yZ!RiznKk;eUuqXBs zJ4v1q#q>WOB1XPX!yN^?)`73E05!`k>=H(_?xb>=qE5jNvP|lsRViJjfJ>L z#S36xA->_Z76h>l>31vNau1o+osC zpVlxjTktWx6;(gyb1ap;%9h*0e^)+-6nSF3gb4E*kP}UMWrOM#zerSwVdcZ&bb2o< z*TZ|MUoLZb*|d1;g&N3}ZWRmQexcs=jmS@VL?84dDJ2qR1B|1UY$wozCussMp38DU z`u}1)ff$SjYc7QPS-a~4Y%#lQmN=gwQK5H#2|YNNvZO^@_Coy9)6~l=1qm(kie;K_jF4`wZ!hMIt)Z6r@%T=dRVtLJA_W8#dgJ=6H0fNfE6-U zKScqpw?iVux>UjoCJ8m1Xi|486mZ#((I4KTGo9cb;>y$>9a2XrD#(TxINw>xq=Z8L zY=rhu{d+1JnN#?)aWd;w)xUA!u9)jN3RxOn@Y-#4G%8YIfV!*dq+tr>&bYdXLm zj3rft26E}(i0IyX_>p{p`+*Y|7rFK=n|DpR(TqLeKVKrAK%O|e{x`^D^XmTv@@)MB z@{Ilq^27p=#{m?c*q}b#_2654@l-Ar5Vfl(4cMUC12P80)nDW5ZrlijjWaK1LL3Fk zL=!eq2*1ud+p1?m8zrxyLhU%oioJY@Qs?`Nv%V)}C#>34qmn+-I28KV(yPHNOkFu{ zUr?1lC9BzB?LW1>$O+@vWjCMEkD7A&YinBT=|ODI3l6MLrC z@6GlOtzXIblZ_^{$&fOpKmi{%MQ;>ky zo1J4Mm>wrE;`i7ktWuG9@3TSkP8_^QZ*Jz+ijvcc+L7GXIxeHlB9aaJKB!CY6?uE9 zR!SC8=|8FIABg{6JqP^GH~BwUey>C6ErZh$I1mj|@z>~ZB4Dj04G_Rhw8N>=4O{+d zo5YX=>jV*4^rkMu%L=!;BHK9=@J`d(m4+vZ19rDaKI^u{zN5xv6%38QJOLLGr#O^o z%oC8Y{moO_69H}hAPFt}2jJ-h0FT+d!CtMBcdlb7pE-jS%$#z8SbH$7vG;ADd_2{8 zb$*lidsu!1=}Q^ck@5JCu9_BcB%IVstZj>%?lHXic&C|>jyaZ@Hr8JY1q_)d@$R3ZM$ z1gCs(6+-s%{G`%DhQ`gDdyVD2`1oDYq0IsVd}s@S9K%nN2~Q(V^C>CMW}fP(vD*Uh z89@mOiF+px+bsZFic|MF{mh|*!M)l#?mCz6x8hWe76)K+ao%v9g{VZ z3<6<(XQMx}gb?D~COu*&PumgQZCd2=w>hNd2UIYU_sV(tJb71LVe0+7wHj2B<*vOK zWMloJ6Pq&&bC1i9SSMUjKv^s5x@nzymAoAOiWgZG(Sfl|M{XQKms5E}?8lRx*=?zZ z?2#WqrrLRXF{kMErH`@x)TKYZokNh<=nD^#nD{2xVo!qqCk)Bs!Lt1RkpVHLOZ~7o(Zjj8udEbu9BX4c;uv&o`bTcF^fV@%sjM&{MHdA+da^ zJP^7@^E9Ay@>p3~#wTc{rBd8a&A^j8m}AcxeF{uYo7t2UEr|iwS#QV6Ev6=xPwdbK zOE*#H`pB=n{OtVVJu*04I^vI;nLR-!%0XUptQg!Io3r%@PO0K>>0VrP&X`x|Fx&8` zn&ywgT(O$Sjnf|NNVX{De}>?}pu_&G7i^_xc^Z3TMy3_PHIFdMH$Y?ZP)2lx2xeykGIaE}oR_RXB7mttMC+2^#O5_$Q z691kkD^&EBs(zj2t%oRios~N{ftQ9=r?uzv@a*}`qZ&1EW-{^|-z&4Z2>H|S0zH{9uUncF?my7IdZcbH=!POB%DdENZ_nK3B` z#lp>9uGP|6$LYccd>KRCQ{_VyBD^Bt{C__Y@2wi`vod@gw!{iqW-9SF6M^4ES9|HP zj}m$Vt0r}|mj_?KLR5-h5jT%|<3U;=@;EFi_}wJR|IzULrXv1{ubRkj>2tY-&7uN# zW$IiUfw=jui)qWaWVj_Ut(d6Bk}pb~CGQj)TE^^~xv?CYdP zLDH;wzC{sMd+)UpGj5yFwb+L%ch}For*>wLHnY@`{DZ4ptbH0jxnnpEbVRZCrN{j` z-BiCc?*;BLuCpg^sCgGgC4!572(U8r`r$T_cT5v9#WY#4up2Gu)DCERSS3sv%-yJ` zisvsBlcP4sCnN@L2qSzO?%LY%SKDd*W`h#JV$(k)8yeHg`2Z9oTkG{=^MAmZTcZfv zwjen*mjgS~Y9({iN+UPZdRdJp=A$p|Qq^wa=tK1G8i=fB55$NkUnpmLK8LNo<=-cl zAFex;;=A`>cAnpLctNAj{ylymq;ZVMwP5D#3fWI6VOXSzIp1w40a`N%;Uz_s;0?-1wx)UujYH1g7S>uN z1(My!#UXY-%j>LO3xGQ9xk_JOTE9ANH6yBhzdHrJ@$@au>V(gmZN4X#LVESTpVQVj<&XFlz;fAs6kNVW=;lxqDIIq7ye{VF9 zz)mO3p-KF!Uq9TTw~uwmreDc{UkA~Nyk@^6@zrl6ZIo%9Z~QB8L3J+r_oNunCyBTO zu+<+b4QGCXJycaaygGmAfA1k`%G`lTGPe?A`M+4t2?WLmSo35}gDmwjrYUZMpqX%4 zOOiKOXE#XmrHl}4&p*RIpk3}}Esnwrkc=k)nB}(>2qpJ$bGrl;kQk8EJn;#R27`VR z&;J%P5wiV6T+%htGn2%N@`7NmwR>LkGU}IBlfeD|)^Xm$sn$th%!AY&Mb!iEVfZvC zS=vrx-s#Wa$s#c4oT1%M=doTL6iyD9|3iXWbi*0gC0!jTL#w&;S_#gDPXKlCHS?pp zA^B-x<(yEgBMR7my(T_XB>Yt@8)u~*WYC)%0P_6Ur<%f!TPEMDf~hJW9M3Hz>qeeo zNFCXRgp20-i66?W8n{Siajy6HSC*dB_st!;1$tjP#`oBdR`$4ju$AGnk(32a~{S6t2FLK4E^3&R7af7rgX3Oq+4vWgoWnZ_8XU z19}%1-{2BO4gCPMBaWL3`G36PFD^UgdDh#+4X1KGyyPM_`PAmh>_CdC$byeH&aZ%~ z-eggYcVb6GFwbw}nUAiPrSb0cF4foTIoFY*$Mh_$#dBKx6SY;tz9;oxNMy0JokR-3lR$fGi5$Gn)CMC|a5UI|EVZXA1|g}gY+ z?>kurfj>pIqC2}F&%J;DyO@XHcV|={|2*Hgc1mr3SAKE5)%4&mX$6>DJ#p3=9&J}) z<@|dlg&C?(|47bODz++Q!KeU7>$5i4IZ0}0_b zK{ovOytBQSrwrBb8Angtm)%6`dP@i2onL*2mYVRte4jK_qhyRX3mBW>sqHyf_Ve$A zmWTvLXB2vIdgWP*rj-5YU0dA`oC;Yw5Oa2`@xU2-*HEBQmY~q(_j~XrM`)>P0h3zZ zz*yB1Q>>P5{-4XI97*P2cuU&h8~JHe*grs%xkQIr`{(Lt6?GYo>g5PcLbsz0CTV(? z%)T#@VL-H$3$->tMbCqAt!*hDezmnr+x)_c(iN;frD4UMu^nL#UKjvFStU=+I2a2@ z)fy5mB0K2aIx$2BAex>9;t2nLi6*pa9@{D*-Xw3v7O;D9f*xJ|3`mjBL+hy-*F=Fg zh2!>?vwk>}7lw?3^kO|6r7SUCNPpP`g7E6WJHPAiP=;YfFn`2G#4e}+MFKP_fna`Q z8T|1I_q-gT-0XAC{2*t!UtDfgbD(vp9B|rx(rpw@M<2`PgBbFf6+iiU5>JxwvZVt?&9f3Y^gfItJynmLHvNyw%B z$D!mnW%`(@zn&gXP!t5Y9f#temN8i~KUVrNCo6O0Y0sMuy4bLo z{0crqSiBon`_rE#nNMYR&Pw})x}?M_BD<_Ftfs7JLi2!t5TVaBKAt8iiIY{}t$qX* z#^lfLxV3j-UDG^Dw64g*Wd(jp_1oeb(CVXAT02*#XgqaMmvJAJTweIhQn^)+KAmJn}*N&k$AED?zuP4DXX+=XTvuPk3w;+n#nszI)#9e5Zo6 zePRv=ziZP-Gt=d+lI=gq>gAW&+(7Ynz!5hd*Im}uM}k!e=WP)H{5FX=Dz{)%U%vih zen+p6`J85JK~xMdhH|^!{$0iU6A^Fic>2eFUBtbr{Fy!)Sfwa;z72?7hl+fh zmg-2s<5AP;F#ZiD1s6W@Ri}x;3u5-y)LEUsO-B^cMFRexARhlZI%nD@4(0IjpKQ@aL#^mlb-Misd#-oobCv?T8({MTWA zh#48f86~cB6KTy=Rjd85dpx!X9T6gi_E?v3KdJ%#w3Xr`1HmHDFmoh&UGK`$v-^X$ z+59t7VE(PPTGfnQ4=fBP^w}93YrVC|6##PG6Fq+CzNdWohh7$SFJl0SA;HEC$6O;& zi}l~uZu*?u(Y8SN-qKlPP0<)2lfL)Ba;m(9Ue9TU+xo#1$jgSPY&iV-J(W%ec)yx= zNNCQwa^C&JT?N42gp|)83ObT{gnLe3I|4Jj39zA!U2)G`j5TWTe%rJAqm5(Y0>G=t zQYLNA*Pd~YqX&epDW4*bVZ#@HM;MYF*={rNnuLuKBlfr-Z#^d@s~Y#XTuYpHKQbOt zm^zjCTmC8KqGIR?gBW^T!%H;YgwlAQ?Vp#9JYY+0(U81qNNxRdvk1wJA0&F!`k@riXt^P&bRl?N8_fXv&p5G~SnT^U6qN?40(rasF;f(7P8 z+Lwz`@2YA_hVXjHBDCeN&imX`iIVlEcNDR#f*UsMs9h(*)m!O1kbCK(bFK%$|9D?r zQu+j*B`ebQkmKom)Y-ZS;^)p z9T)F+*QW$^oKA17Eod6|3{+a=WYt#Mvm@H4<^UMmP3Er*71N^A)R|LF)pDE~qQ5>} zQh*Khn%cTp`k9^P9=rUcF}THcYaF6GuGt(H`aWgQfAEeRn=bJXLa)H8L!U@5OB6)3 z*7a?phZ-dbq!)F411dJ`q&5?}2RNOkqXz$B;)>4xVd55j`yPsjnBOPL z3QcgLV8TqZo@VZkyBungNpAx<9T69Vh6%zoJV#tB~`5E-EO zPbaR;?u86Ni=F0Na_VCbh0@+qpCAU%cOKBCWxnCDMP-d*DSla;!)@!l25X=iNj3S~ zuWQW7&dmk8JcM;mzwO0to%;!pK=j4Vl<9ZKNK{1NQF~&z7m8A$&H+zLl(8E<#adOM zK8t}$G5hk=J8AP?0`!l`^!g3zumhM@(mH`PL*JXbab5~hqPGHqS^nq6y+o%Vo(0Zs zQy*|E%8pZFLi@qXx@?2Fa5qo*iD=+Ol)S50X1BE`0fYS^_py^@zOuU9fazurry=qi z3rjo6iW2j|NaFmFea~ul!MA5wqXOW#vLn}>gY;4wLhX&z{g#$6fe%V_nWffMsPlKV zhR)46J8f5(neVO{+s!oHst|~EwWS+^@eGh|ZX>?HSt|x8(e!*hSipnF< z1b=hDbhW5#e)0Tz6 z^={bFHt+Rt7G}P{V=!3_aR|;aYzz1!Fz4PA5}A|iGUoS8%X4M))vhq52&rp0so}H* zvP{!?->`j9fN@+;Dv?-7$7V;E8F|V7pksi|GL|ajxsp*yHwA)CaS)O3%@kVzk&n%H zHmZ?X6fuDilhW)bY+8khp6_zVaa8*#-#V|>%kA<{_FNSd<}^JuW3RpT#-DbPN0z1f z`*QYv@wpIlTJ}|573rf2A=bcgwwL5YUX+TWgmDy!nh8Rh$X*EQPW@p~PZojx!jHdu zxt8RVtktF9a!lPL1>5L&b6b%cAb)IZ9}Zf(;7J!BSO>!X`k4my&;w`hKrDTSc*+&4 z50VuWwCPJO-r?Lwx3j5e0&IV|5r-tGM`)h!82h0Gv)gSf18(agV^79Err2a-R(}W6 z#zsgHYo|-0mHHn}w(Y3@_#PE|UG})LFG^BNclxiT(>{&j?wwOgv?%>{^alGm&P5|o zZv~3>YBra#-_Eo>s9O8|s!Hs*2xo8UisqS7P$H8PJu{qxd-cZbrswCO<#D*ztRK8h zu7fFP-$%=^s8brrK_V)?_T4@c%osJ#`8YS%@3+$)*JA5Co9*`k^=gODC-wTWYt(llao)A-xAfkz@{GAV!-%YLi4HrsFrgt6?;fH-@oKH}eACwL0AfHziNPabV z9Upfkmq@kn!9U3aS6In(oP4YuNqMKA9& z*fMR|qD|Xbb^Zs=6Y+Etd0y0gtD~tQgDG?;%XKL?+4b_Tdn{n=BlS$nAPYg9f0@ZG^ zd9mTaAG>^}JvHF}KJL*VvsUTfMg{wvAf^S9pY&KV-ivIT$X8FZ-UaSGR)vl^<7q`YV3= z_}wGXrk4y(9RMRkSY%-5H}A2f7QLRn&btn-r-GWaW*!hhU0sde1*WK{N?7R9C+&s&|2xt1>{nLsi7|KEi$I zVk-$ZkLn$7((WPtWr#oYpdFKnxv5h8T58mA$oigjQDMcD*>RG~OqDG^;R3lmo^~PW z`436wHQUfVe1Zg$JgS1v!ZLhBqe`u-PW1~^LN)}jcOm8e0E!wbTWwDU@v?U zuU2B=U3tdeO-~-^E3nty3lZEP5Rm)hB8Jj5ImY=iF;E~xU>y*tAUb=cHuw{<$8<=i z{aRq&CJCK3Te|SWxym#y`1xb#C##x8b@RdYuZ2EW$CGXfmu8{1;wCdhjGR@S*#7?X zc0cP2IFVM#e_iekls6c(k?S&MEIf3_(!Rc&Ab0%b_`UzudTkYVj(BOh9G={ z-RDzpI=gDp3xsecj8dv`NW@<5IBz>lb|Ol(fMig0R^{X@rHu$JeAkNanSpp{i&ZGLnf=;(2S5&0iQ$)k3znw?Oi<*zMS@h}Qd#7hmp zyGp5lhV|Rb`TEqpcKc~wLAXKeuSYM39~$I;>>Nfa#e`-3E)MIYdDtCe@;=-{uEHmb z2`2TXg6;0MTjjO;>YR)4$*2DKgNEJu%JVs4lFG7PpfGkf?*D$!|7_sEqEgGMw_0C7 zgJn(5iRw0%FC@|HtAK0!dd@9d1>(zt0jc<_x$~)d#}~iyj4P%ZUj$98cb~2GPg_m? z(fA!zMi*?pC2Wm+wXp)@=2z^#jf{>D4wd6g;K`H_zl(I5j{>Nc|o}THxABJyF5j@=s9_oZCDu(q;U%K4?G!$ju8VRxu(@)Y1CT<# z51B0i?58+TRhKhSl;AXtm-BHnNM1DIHWzNvwW{|qdhQ;$ku>vsb-`t&uaB3veA9xP z9WGk@W?46FN)dapk143RT|kW%Gm6K%v*7LUU_xR+SFCx`9z6TM890f-+b@bfxKY#9*p>kT@B) zSeSBx8xw!X5a7VFb@@{L_i5wj(U{vLEV7=%UsiX4M52KsgPtx+e=^wZOeW73bzA8b zEHL^>@xy?;wI9F362$f_e3c4bSGevNTSvLg)k_OG?G&VFty1ltKH;mX@)Npo51R?k zyD%G?c)6lFycxji@V&&Ud#aPPA+#s9XO`Pw$CfR2tz+gC`y~4^XXe$XZO?GKd^JhV zIk%DL(y)@)saId}#VPc6y|`Y`;6jnJNCApz1IvBeleCe zU7iH0w;jwl{h4Ww2@}Q!O}F<4R5i&v6LPZ6W_K1YEK%R zLQ6%&dRV_(^%jK+L`=2yN*I!>B7|iuUp8fpXjs>;^hNB>sEEtnpgd56cKA}ari*uD z6%D-KJz}}4g8MWthql0|%TbXm8SW+l2;WFW7DP}!-c(;Fw*v~6EclCNi$Z>sO{ zA*tTdd%>>xD7DY?h!y`ATkjnW=NGjNCqf7kqW2n%79r8gM2jfF=%PiBXwjnw(R+^& zUGyG|1e0Kt(Go4X=s~p68RI?jd*0{!*0;VttgJ<5=AQfB=bXLwb?xiwq$!v+@Cm&; zgkSZiRY6)-kB@J4e`dkv?g|5yJf}!Tli!RRU%DnP-DXCvt1KFCWr;~82oidiDqTv+ zAjaIht9~sN3Kr5~X5CKPxswcDu&BWJ^G*x)Y+96Wg?EH_nwp=;*)_SlObWd*&c^3? zG&k@c270G{f#V|UP}LK7maA1Pc!3FObH3{+X1%!{=giAQj;B~q^0JL%HXWmnXGWPr znFVpZtJH|4L_BiuEqMz?#lkPva^_?DWSv0(3SZbRM~B4QrF;3k_nouU^f5kd^%E0C zb1duo2&@))(2w_?q3DacN+neq*vtAp2{o(Opd5HOY_vXooK7$2xGl=W)4}{jiF;bN zXXpBjCK~AP#U9q*q^}9A=x~e_1w{g}0b+?_z&u1bAE}=XHQ9B>=kXAF~~%Gj`7^@qV}TZYmjs|7=>o z^6Qsh$1__s2dlTBn%s+eJ)1l?Y488Y<=D89r}~R%C8^J+ub+0uG0zH3ggzS;T@Isn zPHVKy(qs9)<>()oMMQ;JrLPs&W=g_<;Ye&rR1ppgdQxSdN{0|Zdi3V{ zqTMRqu~{mi{$uRj?VpE6n2|_BeV}-z0cE2Z;5VkJczc;Y;bZLTTKxRuv49k(BALFKjEgxkJ7_ z7BG*su6Us-GBLv!teYT2n%#@SuY$z9E)Q>bNowBU0XT!}C#Hq;p}1=Obe0#6I-5Mum?#Ta0ugyL(oc znOEDy&qkI|%p!qY%layU?xy|W(IWh58LH6KGJL(ey?U9-BBh7QsZJ@1PtuZnaBr-3 zXPJpSm0uZmZ=(FVEJ8V8z?6X%{k8oEtRyj9q1!=h`Z0Hh7P9ugLi&PugaZEldB>4* zy~=5By8v&aBh$blY<1w=Fvn*nZxoI}m0OQf*IQ%W|1|0(?-*lbzCU+j+&Lz(GgBXG zpxl`yk^gf6Jyx+BzbA$!4Ud5vwNR*wt?RJYH75NI&fRRi-}=;OT4BtZknGoH?N5y! zVf{m@Y9htqZfS9t?bqLz_a9B-spWYx4kl5d%GN&7J3lQf@@WtMuEabvDnwsI)AG9X zSLsp)9bzYC{>==3+X1Rv2>o5jYQn?|f|&N@D(jqGLbg`@7`JJ<-OPQUq?G@5t#jz1 zli7Cbu_^krLf{}g=2&U)*li6Zi$8umn&A6EZ64Mxvf5bk&Fh9ftG@A=Qum|gfNz(6 zrABK)wEdiFekw%GPyAW@U%Qiwk8^i5suxoxKlcjU!xIn4xv=&yCGKIVjiH}`>JkeI zS$Jj#tEOMsJ;;PBiDk79}&Vi|howLv;T7Q{8?8{NFR z811vH+8OLOH?)7)^hsYZOjmr~E&6hxdbda4z@*}+xyz`T2cgO}qwb}>=isu}&&k@h z^?FRq@=P*7Z(AaSl%{Nzk?IvlM@#t`4ITwYP`_Kj7ku};;Z+g8wWj95-%0IajSr8M znF~<$5OpabV@8Wf7$U&GH9033C>6l(JD+ov1@Pg;G=wZX1jasP1y#2z8AFoEct^~KJ1=FR_)_>UU>`Qy!V#1S$;0Jh^Q$n;kK4e$3_KtJr5Dr z2Y&WtHe8!R(k##}eOMdNlt3?}CD`7=aH(gNSXwid8%t}ayELB-O78se4swZ7jCGM! zx&RAy6G|}y*Xguoy1!$9Z#UP{tf#feLl(-A8D9+4A}F)L9QF7>c6k67mpo)a^X#1a zmEVYZO`a3QZ5de62ngo=B`rz6Hk=Ft_#cIU|8iz1c;B_)OknVwyDVUeIh15be)OcKr~|4J zFcJvc!DojK?a*(0-74{Xww$Ru-}|e)E%9&J%E1}gVG14Uq9yV0vI5w1+)wkleVj1s zSz6gvEO3VbT6B~8muC1|`P@!c&B7?biiVnP3qcEXCzo|`3rmBk4vF|Oi~s2fxux~* z%d>Si3;Ew|Bpfj=k=-OeH}PlhIk#TKNuht=m}M1Y__n)2-wLCA&9~Uiq&Iz3RPLHLy)E1Pfmlu7=cxv_>4SxE zW+Ih3XT-To9!;j?G5)&Gg5vO>-7we7*5l=R!Wj0r9NU>Thg_NA+RvG1t42OvA|C!y z`{c86rs>8hB|Z!7ic^kSLjKgY{Tw_5;>_;Up3%kQ+XY)GU&&XK^vyEaOulAS2Sy|x zKWli8vxNxUt{MUYNTvd>G5LJ`p0-Xfs0vT%1Wp_SjuFd`x}p+YW|&M$<5O2r1{_md zgV(Krogu>q6PCbb({-u(y*t&|uIcN=Tb1t&UWCC$u}(rJn6ewmbDi$URW*WCgsqV=x)J|o*7&6U_(q28J3qwS|if98E4T@lYhwL)p6F|u&QNB2c)b=nDuRm;*gO!}FvDq@L`FrM#f#wE`F z6f|r;_Lsj1(Z#R*Ji*tqi240Juc*Mswfv2wq`crA>JYnF=Fe&hB9pZle{2aKs2Rhkj%36Si!KaHT}v zuHrlm3FwIq`6PhGvhvgN$~zklYA4Q1B0^K+B`-hmARMvv3*Ggx^v}-brM^PAyJP8# zS)(=(VmrmTXWngB{i*>dA#+LqY^ftn9S?@i#72K$P6(tvq))+4x*?>k&+2H=D}iQx zXmq)&sEH*{n6RN8%OTxZ^>Eg+x{Y+*x>wsO-k7THgA=>CeDB{U+_!7sBLC__@*uuL zSAxq!(&5$9{k2VIf7afhrqjn*#J04DpTMHX2{prO>X&@URbLmL&_d0V4%%AM8FEe4 z3UX-JnF9`LfAiF0uQxL*9rtdX_*5GsqKCX*C1R|-#45N80lVUZojtKuHp_fA?K7X z;)mO`9INNn?X^eW*S&8Xkk<66ZA0J#+$L|e=84iPUg3fS`qLjBu4^V8@7~zkdTr#U zCOK>P>St$TDjIR<4|kuMWHWO?p4GI;2R(Uxs;%x^OdT1)yBf=@5ENI&h&X-wiuGHQD^-U&mj{^Bwf0fx<=OM^5CJj zh{FU#+tgcDK=ZRiTj~tlCiU|vcA93mnU8}u=_ zE^a<8Pa9ZC5#j1%MqILb&3MF{mSjJ0it+3Po72wI_-KLDjeB z|I$_tn{2p^Yf$35fCnotxD&4x{J3mKgH@&3f!9u<*sHGuXjmkh(9uPZzQYRk>P3Yam%XMb87v z4x3$@2`F?fi=w$uiGiceLI`@Kn4e+p6WKlMceVr+PYvXXgu0e`64t#V);i5dWgwB? zn*7g?@&?qX&8UtiV;Gj55*~@fVe(t%3RMg!g}P#r1n)DaNJ7M^c;ZEEIv#6I)|?WB z3g|UM-o!+=<)RyXOHs}zQz+_2%#*kpOM?r}OI8&BoI}HRF2g8E#N-BvYEvwUkx$*0 z^0H{3ll3T>u_x{1@yrdYtvUK4H9U`wgkH-k)ju!+lJZ8UsrMZA0nb^Z%}!LuxyuD% z=ZtlufrZ5q0V)uyD#JV1!ykvSYg$oR^6FKLstE3WK%ePctRc6zC7m@OU1!GrshHy6 zN(+-4=8kW9WeO;k=IpgUx&G+P4^Nlyd|6Ft2|x5*m@HnN!v0!UG(`VqTI=_81iEfj z`&5xq@$4F;A$%G!pL5+WTi175bKoBPl}%iO;@3kSAm6)?o5!6JmPHF$|8;iJ9xsSa zj`lrDDAO%N5frg>TrlGX82G=TRDra`NeKO-yy4vjQxU3nqa$L6e*96UD1&^jd_2Ad zHf4cYNQ>_uMxX0tmv1+P?LA+S{Q0HNi-dnymyIwfF{c>y0+nNW&iB!ob077pB1XM; zSV4Pq)@*5k7MWFMADejBcVcQyDCQ*D)VNca6#DYaMD#J!j(=)aVc~(F5LIMxJv1O2N?k>E%6t1A&TBAw zmH5n>TnQ1-Jm=ICp_K#`Fy{y(dTMbonLXsbhitW{Q7j5g-J8F%W-J84y4dM)dt)A- zS*0*af)4ymg^HIWuqYVF=IFg0SBQ)P*p(&(D*}?CltnbwOM}jhXC1?iVE1>LN*{&s zr)KPkmL_nFWsavboUcLfGHh=TxP745QR}NXDhx(`x}9mYl+;jna*9adMS3JP+)7BP zQ}cf)UmBOA7ShqX35v3mJGfE(7JQUqF4pzGhY+93KXmr-P(CRm-gB4`YyysT>nszc zHQZ0VwMql+(_~?hW10-d$)WrpG3s>Xx3!Ghc0;HI94BB8)LPVS^;_+nDQq}3+6w5X zd7fVXE`Xl(q%I=8-e9kDx^efASG;adRfmCy??vmjp~v-#j!_bm^$FPME46zh=>~*% zH8X{D63B~8Ug{Cj0~sY_(j5`{V1rdsX9xV1?0TC4y2ihe?#6EV<$A&ktCEQcUcq0V zh!E;lw>b{qFS=-%IUJW|VT`V=WUnnB1I-%VcMRKEBAs$Ekl%)6^>K-xiw!*rx5 z-IOkMtVkU6Llr}>sR$fCeB?V_r_})SD4nZFv(mj^AY!-56B4BoQ)x;fAyA{4W^NDx z#(ki58+|Km;&9!2KNID@U41|X0fjx%p!eNO1Bz8sjDP~UXr8-_5^c@$6Eaf^>fN^C zmV1on0(jU8JUUO?e&+ad@=SzAOu20KuqKcMsiZ1Ai67Mc;PWhc-`bU$gEFY{$ceY~ z?H5mu(6`z#9C+z{fB)6Z3^;d!Vq{rVz4h7&%Z6oi3*|mW)ouM0zW3F~u!xz*U#0fh zOMJ@83+sl86TecvONU5@=LOrVhLP54#S*fNI9Hod5xOA@| z)~ZyvaNs&wWivB8ype@Z@wD`fY(Hx8asNcg?Eio~0 zT-&hf;_jTxHYixwhVW`C}*v(sY%w8 zqG_y7A9V`GWy+w$`vC!a*!weY*l9wUR^^_jR%rmGBloA-n`MPs^4=Y_5G%7 zhN{)YpldGeH*b?QADhC0Jo2sOxIGs_*@mR4KMob8spCehxs2)Nltw=Ea$B8G^Z*GN~Im+`#6zvMmtIS@z{CM!SEh z^do7wn=2b~lgHCUn6(k0+kR{UJobMP*fZYm^PXh7h^D{b_0>nh9tq8$?@(jj(W0EU zCUV+}r@i2eGAn7jeMg7sRvQMbN-O*-rTL@S)G#@%KbOd<2>?@qjbpLNAvrhDMO>J7Du-lY#c3D$pa_>Xh~(BMAz)IO{d_-Qq~))lVzpY23Mz zl5%c4{bcMmAgonwDn0NHc`5F;`sWmRuml7*Sbzm$A}P_p4=^9VbAY@uA8}G-a@>#S zmriQtN^G|O9*mbQnW<5*8a|={H4&E(S8vo8RLnRx)!Vbb61#(3X~Ff$;xiUnvXT>B zQ901@QAXRvHKzl50ibs<42B05Xng=j5945IhTj0qIOQmjN}WC{W?7Ek$eC)eR|T`h z?<_NftPj4%yVyg@E*-W+_uar8LTpnGd|IT)Q2D5D$yJbU!1R!xL=#P0pF)=%+0b<*?$o z4r@_Wd2a5{oI>GeEE&axGiXuq<|sND#hPG9u*<$#QUHv5xEvQ)A2?-|n0?@RQ(ebG zRB*WIM)^{mn<`9my=}g(sAnZzvdCba39st#PLM_Tx8}8M-iB9W!_gl0;}wa(eMf2g z%VyQPETvNCJYf4PC-5b|e+mppjLF<>fZdCCScw;3rQtSfYXSY;>gRi&z|CL-4Ov`F zs0p9h!XsI5z*>_H{k4o3OwIxdj4~wRGUlSYvEwW6th>rEnep0z~RLC zacJj(75lB7dnvUL&dt%%>U>9nC*4C1)%F|}>}ilgy^ znp#j9#Vs|DWzq?pAbAo>>tI&Yj79W4ua1A4vBNW5Cf~n;;sDf45!}=rZuRv#1!L$9 zY|*|~a%P9MO|CZpFYy)0jF(e1||o z4t+dsEeQp~GM2oLg5QLuR%;bS4aQlpMQIKKN9a32hIdw^s|h%0qNoLGA4Ey=Q~j)6 zmWA~PH|6A?B#WvA4A;EM^^+w%%;h^C0beH1`bFM@h~Y$N1oQFzuYZN|0&7T@7>Y>T z+JQ!A7NpL+<0hEIP(6_9xZ56F#?m8lIWfG1dOP+5z0zlW^mpPC{1ai&A{H}|;!rqHLId?93t6PS3INP1jhh!i25tdRgJiGSQo(- z`u6?44NinCkZkN{_$JjRGA_q=8dgE!_(>C zmH(A`HC|yTmxl&1Oq6CqO2uq&hvrNX`B5=3#&sdfZSZGW0{p4`^`NgXs={^rGn9sN z%U&2$wJB1YCQw@h#1d?D7LfE8b@c|a#I>Ce7oH{zO&=#GC!f1moJa#jTpr@>?no)V zsbAG*W?;rW`z6%-`zjbxNlHU4e#Bd>vlbPoSNkZT%jENibwG&mG*-=Asp8`}Z#?nR zsq|_dIN!S58cr$7^;UVQ#6qaVMb~1yY%&8K*7siBt<-71ouA{d-vN%AhWx%1qgsnl z8S9ymV$w`n;#Tb0X0WdeReA;@?<(}X-}nK=3knX7OF+m#eIA%R|O16~&9a2;=)VTiX*2n&rt>ZmLv1SVk+|1wyp> zjW~5$+F~9ORT z5tx4SjgDlIS_s~HX)mwKZ36FCicCAzjF%ON?1oa9~1qa^= zlTN%0*zz<#NO{+-UH}cqjU}MI!soF$K4w?ldi3GU@W*prO3j!BCW;x&{yYU1WGx+s0y_dAMF@f4T;0vw@Y(IxzTKyu1 z`sB@$L>ISGHqao^eQo{*FlAri(L^bv;2MO{${E@d^vU%|28Itf_oeZVfV#2Q%Hm6C zbLmKo99H?$h3vkn&MEvNIS#`*Fx=!_rMax}{(-Df)UYU|7pPKHj4U1G01x4#a(y|y zW+APw=8Tig>s56XXRe04n+FENQEblNlLD#&;%rObTj+}FrdbnVQ&V&JlVkftpJx0O z^0`mY!EDgp1+~K)3tW$>hMX?OIZu%(G@=_1ShDAQQ@Z6+ZxcBAWYL zKEGkQ3#m9JZ)t+LAl8}NSQFw6(%_g?f7^4J-NvzxlDJXyS103)PiHSU8Fg?+`?M5Y zs3{q6@PB4Z5psFSvggjcfP`P<2P;NAk0fnyG#C|G2(Ciz^||BL@aT*az4G80F1d^6xRAVY+` zrM2g!uzSL4bHe=k+x6h!YeYf>_PkwuQ34c}q$&gy?jETYG5ePB(t6$GBas`-DK;7q z=No+ASm`B)VRf=FjB-awQ5n>+yP3JJEyayS>^}OSF%Xbz4t(n^wor8@BOmJW zyHpG_wS7`8P_~6YrD3bq&g&FgFJ8B*PwDJfZJgc+J5h?g4Bm!bo}iB$CxFjVZ=7== zBZw|{D5At(Bzw0KdH%r*Qso4TnVe%b%?{lQ5W={)5$^H7!)vtrx^@07#Y-vtv5Uet z?ye}yYOxFkoQ$ZqXR>^+((AQjtY6_%1l%pR>uIAY-IBOT76N3v;I1$wH_B#$R;>Pcu)k5zCmo;*) zeeX=6(TJAy_}~kCp>t)B`G4aiw;wb$)%3jhJ|sobV?FrnI+X(KrGn(S_mm8TE3FUo8` zgJl=c)Ewq4*iRuGPK9XS%s!q>X;4P(7|1s6!0Y*@ZHlZMJN@{Y0-t4Qx#*->@YI!L z);=GEVGUt%S=PRU|wM0T^N84Mg;0i*9(-`dlA9+2(eQoDrpw;#-* zPk;-EspvZR0}`-j`( zY<~~dKAdR4FtxdF|Nr@278SWC_+#-Nl-sc&$@-L9Z(wvaCG4}8gW-e!jK3miDa>1% z*Z?NXGLZzGmlYh+N!X{+V;w=mVg62tgjbcIhza$a?}G!Tmze{>J@oK57khl~lE$%F z@{j?o_eee}^Ya70-{c&KrtBIwss=|wc62W0RsoA2#FG80IBVJyU59*Tp=wX&=#sjy zv8bsnz0N^PMGNWDtXTX)qDX9s!zo#H0%4&;FQ#>Z{h@d}g&WOj&1F@TEBS9e!SEIC9ZDwfqsYnG5NMCpmZllP3f`Yi0AUZl$j88 zFjb#l&@u$;3D7Z>_JFwdm1?0QtvzDJ|A>jt0M zZbqftxH8* ztMIT>+jP zO40{!M5WX0<4{MN64t#r{Ny`Su*wWBuC*n9aGi^4GMRN`r@uQuXrK2OrY?g$S(=Kf z0v#(K;NJyMmeADW@yJ7gWiQ2z0dfzfaV&ga)c~X?K^foEG!xvXhUmS-Hc9n)vWs9CBVWyirHA=todzEpRJ-r0;U)NB5r z_2iMTMUh)ormq0gNjS~snex&m!#fh*c)bZ;k5qq zj+8@YqK%8?wawN$AOTr*S-TUo81dF9k|(Zp(aM#;N&*Kys2wl^Sp90wk;(H{y|z71f=m<(r_v~=3Hqr={lR_auAYHLXA3Y3_- z|5W^fRqiy?rO?e*j0QKxPCuNlip;(g$oPL@AZl=d0EP@lOvBp+VZe}aR8+`{5c?m3 z42r5+D~Lu4F4-}>KBjLrhI(J(KJ_i1Yp*Uar|9r6VO?6?C~;8_Q&WhHyNk2%Hg}T2@l`J1n97zghsEnEkB13ipjsFYyk@dB#0@(uFODCxj(l%0v_nT&YOF*#ZpzGlZHe2Ja42bjY|q5SQ}}h zXgx8OwdMrW_U7=6bNYRekqmon&x1cdpO=ovJAPW9M+8Cw(bH4$=)WQjtZQJ5U_3A- zL(uX`J062a-Vce@_m&4ah7tG7802b!V9l`|l86uuCWtrICOUm1+wrj?r@c$v;l5!J zr*ibbww(W}M>yCg6>Ox@1CM!hdZ9$|Aw;)dpW;cse2Sv%6Tf0HtEZzBr7gl zR;f=yQ{$(h09@Y8G4BYoL#|xsu@U!pfK|&~AnOpHXZ~otg5#v(KPRZ$* z-dq|JXZo=W%8a6?-;s1_9v;xp3T^QV9vtz9Dw;1<3V;C0?EbHSGJN%RjdrMu+7XL6 z)zZKC<92nNQ8431&AN#Pw3IluA@NzbBClW^Dbfiy4V>_Z=gquKXff_6VI1W4tX{=W z*LKQBIHjGnfg9*x6mt-D6qz9#U zt%Dvq+wb8R-T|1PR;@LL5>bZ@%EETyS>~|5 z>n%B$mYD|m+_$Cb-L;5r ze$ncr)A=}eqIKE=xG|+L;10uLQW+?WRaFRa;Ch{OWxzk}xq15?cYuM>eKyG+}iG+E8nM^kbn) zh$Bb2T%%UR%5yU=bXq>SHH6cUr;tgd)|&Z}i`P~_`-|*XEeCr!9lmb;yVnEgXSWv?jVNpXuHAloq3 zW%!C@^e-_6e`UG(OJw6b>y4*6cbcJplW-Bo&7U*PZtRLrIl_$ZbJwQ{7@<{4^iozb0C(P{D9{=KM*`rro! zLkY)PfYe4hoOsDQWi?n-Q0xmMP5#}YAU1gxj%Y!ud6Sr0woP{ZM0pkwuojzjuv;rp zyb57=VrOrr|GdgSf(Wt#zUb&Wy(!bHGRC1_`=B#HK=IYf$Xs+{@2czZzZmUr(i*k| zlcEZpil$f{@tQK75|i2qBSk~{6sMa-7}R6}yM3S$Kd%jc>fvSSZ4|09U$8mll<-3ljS&U;5IinlCys zH6QAtw2npXwCjRP*y`W>@WjdsHoAxKdD|vB7_^wyxsFPQ>biL5y?lFLeW|Z!IqvEr zdX>O^t4$(_w$HoT&|VOXRto^ExTItNuWMM)6?xX$_0YY zj?;S2fhwTztI>q4EQar6Yr6{_D5F}LpqtkS88GYmsk2Qz?*H|%IFlJW-1{! zZx;gEa~)_UvEJ+_5@=xwyf{oZcb0xKw!`n&;_5M*Cy&o4`EsJhe6H|^TP9{MxO7)^ zMWAI@PJH*wDL<*pPWK2gE@JlED^s)fS+qPvBvIv~6D+t92PcNOVF1s)GgO*e|P}I>F%L8e91-M99Iwtr>GjxRZ)J?)5V z+;dhXSu#r6rXD{>+%sREO7bQUi>~e8e8^S%Z@-dlQ}pjFtDf#pnpVD|#T14=KHSLH z(^Alkle~%@FgbTE2P?X7umdO|eg*&|k!e>Fv8a#(N{OMIKy2yA&exqb z1%T8ib3RK+^cQEnCLJ_k)a1mUqI8!!+~LsI+ZdDpbtCGMcC@X>1%r-g-@Z@n2<>8Z z^r*H*uQJ!id%%A;^UC_qG|fVFC|&$_J12r)`mJ@FQ6p9rbZSwJ!${9*M=l^CoD3#} zn;&ybz?#i$0q|PuGy#CuBK>MpA-mzii6z8iJd~!5Wp`XEAQ|+Q>6R~pN$Di;FADg) z^qL~wzA;1H0CZgj@#JR3M;@J$1dSl253$gt zBh3B~b=Pi-_x|Xboqscco|hxo<9<}YaE5Po%`YOOt%szKNB65ssWCLg{XbVp@IJ5_ zo%bGtSbL?&UiV4Gd@EiO@h(-s;neY>{(So@FFyG(kn{$@Jr<=gcO&c%0-X99joNOV z8v6lBD!zJYDg%v)Xb2Lu{9MtICssuek92ELOO+pAZ_4b$m;;++MMcqGdA$+ijhw^N znuVMfh3dg`JB@37M*;5wC5FNs{k&I5B${Fa0njm&sNNa{I^OSThkoz zNJgBD&}-98qg7@w!LWblK@q`qYYtX^qqO{+UqAh$$1(;1(KfX~iA}!djk5AWkXoYG zi*q*chU|f=f<JSE@`DqUoVd(}U4EUDa0eLi?dA*KYV%t9}ylWki;>N@8i+quTe2 zIm1uOCRO+$!d6ChnunU+mZLh&UyjFyi=CO*M_uZ1L`*QZKb!A(O@%t{q9xnt$}=gBzLj)&S2cp363nMQm+YkHK! z9Kck}B`~6`gnlw55y@Zn1H{tp`;1@N@%`vj-F1g7VUIVF&t&VP`r8S^g^ z$gdRxEY0&Kr;oXC>+6-y^KC-bs1(1bB-Rc8D~!#a_dyDk`HG7`cW^@q^X_@MLfWMa(Is^ zEGYR3d@0e~<)Gt{@tQnhTAlCh7YH&k@5)Q~s`;b9^x)g@OQ4f9wUyN?3M>~+H_EF= z19H=z+qL5$@_^P5N}fczP+%l+ewRox|D~+ULni8RrnA*dXDR(m4RE#2(q^^S=spvC z5w~r5IE^7+JB`&QkFEz&Dzj|mv6oj+Yf%O_+yY7HkAfF#u!=mS@wqtsg?Ie!YPx2> zsd&$*C@|hsRVmLwycjw!)&0bG)HfKxMk4mwoJitt6El)^_&< znJDfmseJX@<-1~g3b5$}MSl}6v+>mbC~>s!uDOWh9?u7wF&i$6?!7cnd+|LL@8(Pf zULr!uTa)K?j-uR5Z|#p~S+!ym#Q`Z4oln@)lU)8K{(##xn}wHpJ83?1 z2yi{18Cca&gucwBI2aI~t9?Akyw*h*HUWcQN`bl@&D}*~3%{_cc#^8L-tnFj%b4~Q zlA?Je2gRNg$jtfe4`?+xnS2BZOSPSTE@YX89B|gk^@8)>%ioffp?G4TmuGxOD~8r9 zmO0=gFBM7@1w(hdJ%JgN`h!FR4SaiFt>CJV@G)w(BU!TrsYGh)+AY=rM4M6&C!qo@ zhWmFAM%$)&lCj@ziRB%I_$~H0CzEV)o(a*ijZ>lX@2RFQ_CwdlzrV?2ayIUUOPTo} z>TaoDk;tB3?+U}?Tdg5}_^xi8G%Ym23wzVD;LV!1+(NHG@M7b9r+c}!ZGEQX081CN z_cQcmKqQYD$YX>P*9aA{R~)AzCjXEmV(V*FWM=+by5dI%ONDOLZYu>@8rF_S5|tDq zX%>dCELEouwP&W6^Ah4O;xDYn7Ab|yXK=ao+p_ei=rD^cq@f6I=EH#aeLti(^wYi{ zjkvb>Rn*Mtajn#T=5%7pq>fPR+mBE@fV(Vp9tFIGN)c{e+;HZL`_9a3xy-J&61m|e zz4LJTe11G2eVY_ANFatZaM@<$$^=^$Yp!X9>)%>{sV1F`HXvDlD_z5bPsLU?TApiz zBK2SW0wW;J!7sw8ng`&~bs&i4YVE{8Axu)2@GYNd&kwUK;5G|oK>VbS2;CTLR9tb#-83NbX8zur&7BSNgb%naqV?3#XU6r785}_#Vss9p~zzB80=E1WhzALbQh9kVksZEAk)u*q!JCNyp>DsGX>q<2`UQ@n2uu%s9<#vyws^-|dcVfmbiLx$x5oU%s;OzRbNQ z$DP54bPSxpkm<=xV)y%U{+@TtJ1uFYUV)~|Kn`HUKh)!)3-ZmUxwF5Hh9g!X7?Xg! zirE@ieU}a{cP;N11@b`^;$PZpiI&Sw3M2_dmI(yAHeIWMKour1z0D%r-Ik3c?2<_g`<$ zSi2>f*OmHm0%MQLV6Ph0%;!*bnPL_O8M8*?B?is4k0p3j5Bn3`RBQF*r_e?%EZBPf zWR0^&FkLv=TYTSorOTMQL)@@PoBIi*f#EPmrfL$RS}c%+o=;8vTj4MXH!m z5y%KiE7AptJ4l)#n9x>n{CnRJ5eV+sQmd^!!VyqabE+^JQhN#&$Kg%G#K6kabPmyu#BC0#N4<0_CpgMMtMo8sEv(KW@fK!9!=rO{+tUZrwovN1dJS zcGj!i8`l=a@*}=WXUAer&ilH(ueOJ3V)Gp(bm6|=o6V=IGoPV<&j-@7)l6i)ms*(B zn%jLYzd>JCk+{-2TDbr&g|cj}nzCJleK>fI3D*fAO^m~}1&~WdT9yj(tL9Wh>|0lA zPLr=)gWE#?wYAg~UZk6NCV~crZuA_mbl!T^HGQYx+C%Ul$@$*WdA({xo0?`>u7FyM zKZVXba5=h+xsQH^)wS~wlqf{DW`P$CG9*g_{ty+c7)Cgm?IfH9jkya&slw37LupQL zLIDW9`ez3byz0CG?9F58IR1l1X#zP1X-*9=N{03`x9C)<1>#H4K&}I$r)MKoL?+s6 z)O4H$H{!cy22k6`J-YC~1PnaXLiVoeBl)ZlJfdCFA)K$rw;Sw6y0W??=ze`H&T>Uj zohE9>=lo`?meI z!6*M~E^5_cKfF!7%EQ9QG(74^*Q4RMP^9AEF4(WW#Ud7Urli8 z-{SvgHfq0K+bn1Al0x=k&A-nLWWIyR$0l&$(UXXD*Q=g#y* z_RI=x#a=V?jd7PKe{HdPBjfRJoiZvaEscTB2k@LSo}VW*mu_>L106gs3ol`m{PUX~ z>i+k9rtm6IBR8~`q?sLc7L4N^k`;AFx(LQs!1aZjp||eMQ@V#xs~1iOc)cGVBz37! zUHpuie)*&C;gYl*+H*xuQI>i_X-ClhZKF79yAy=n&Zgl9B|sp?I(@%1=P{7Z8mxmP3^!(I716k}P^dPeMUtx(YN{ zDiT-3&eSp~Ma2ODlu!IK)^hK*PsFBI6h-lTF`SH5cyyC>C3CUqc_#AYK5$}4;xHkc z#T|4ZP*8mr-^Bs42XFh39EI*Si^U9EbD9-_FDM_R2!34$*@*M1tg)1D_u}R9!Tu_S zjS>^v(todP3txGJM#q?Lo$oh5PqdUsXZ3_e`Po?CC^%4;#_-d)mVFCcL5RxL*Ttmi zQJjaIm3SO>vP4*zCuQlGjY?XsP17xjc6<&vxtHW>%K1uOzh z!ou^>}zTGmdeTvI39Dh^SK&h}9jr;94qE8N%c6jP0;{Je2n$@quQ z7chEA#=s>XGudcKW~$6=;qIn6rvi!h0C4hTHMZ#hThgtUY$sN z3XuumMyqIEw9g5Ej(XgGEE|d=xPTAG^=X2pEf(VBQHEo;0!|?>klh#Y2UR?d3bY4F z7N1Wc`3vO(mDbPR808bmOofgmQpDKC0EIEm6WrqY$#` z*7LJzBvMRyrnUFt0^wH=!qWej%Mzc7`pps$PS8MdZOuTCUQ8u=7FYi9?;U!3#!psh#RLP2HL-++U#~Y+0PJVIp<6o7qQWDAHco`{P5>K#i~^z!W@=! zT+qojvwv!8Y=gZu1*2?Q8PIRDZZ9 z8MU2-`Qp-;K7+Q;=vM&zh-H4~H?(Ymr zJuV_$c0FUK?w!BDr;W<-q(6r*%9}Ifu=)P1VN#Y1E13BtaO?DaE$^8=jZ*?~8!j5b zYOr8$XTlmE4qR@1`H6_!Ffma|&1L3t^3JKQ8RRx|Lk7{nA%kUxHATrSF*^yLh1=|# zx(R+fe#0<-DMP@q(9p4Pzrc4e_wt9yLxX$_3ag+{rt4eS>3Mj|)f)|I#0abGNpId} zB*mF2My8qwt+~o`=s&;3)2U@t!n@h~qQcJAf`iD*2Wy`Ax-xRZPjOz zu)4^0Q?y!9`kz@6`ID)p9wi!#C_GQ=VvL?AA1KmNnf7?*PjrXl_U}|=hs9JHR~Blkf&W7RH};-ptPwH$ zWZb}`FZQL`xxN1O}U&ME-EPl#fb2p8h^c{~nT-AO{^zD|_q zfdl~x?;(ALhIM}N_L~CL66P*k?+~|ILcxd0A5AEJgz3?Tnrh1V3#C(dnRV%haZ~AH zci}kvGx?+m77cm!Bq7wvq1E&5)hU6!9>~QTt!SeC>audQn(Sj3SI!drg^FJ0Kl9H+ ztGIIaf>9my=^7D+{4#wsIW5#Tl6O7#*^%QceK|#Q)sa$Wb_UyG_kEFXF%8Ffo?Z!F zs>qkU9XzhCWxnm5llnMj%_%!8?Ig-q{(k5JUoqD_C<(Y!3G0ux z>nQ1Mbx&!rDpx*>r2J?4xmZO)$4sD|IIi6_Pb*oyYAOLET^CuT{$ipSl%JDHFd*Ny zR@4{4-dYk%2w{jwI_JJl>1I+k&H*8Pf_}^`L70r)n$|WEJ$(oVh`DH+YKTR5douR} z7EqMU^T!7a07uu`o>Fk2-l5%wn?-2J|3-UaTVm~jh z%4c*BWXUBF8~s0{YcH>B)pUmT{(S2$cDhgJIqVOD%Zn;@7+bkdPS#SQTcCliz7Bt{ zMRpCg-GU9fawU)Rdy(S=d5lY^vmo;>%Buvn7AH{eoXsB zs2?8=w_3uk7)HjBEX0?I@FjcxGI{u3P_@BcwZ({D>$X(GW}V%(?H6{IYVhRf%C{)P z+bI0g_2remKpB%4YupumHn#R-tLq^1YB)WGu)W!>aTRhHRDix@YqF~!0|$&;5~6-Jlf9`Mk7yMS@*SYmeW#ml@=|1`N-nV$M)_qRm{sXtKdc;AVm=&)!&<(J&X>N;b)kK zmj<&5!nulzp26Eb)fZhVvKUp_{*D&&DA{Kk%W0(sFeFt{4lV^zfwMdf&aY+T3)MAj zX0Am;ekaCD=e}!KMm^$jr^7M8SS5CS0ZEIYfIyE*6iPHy)!!yBwD_jwU1_%pRDh;L z-|m;ik)ULW7~1}7j}i_=(HE<|tA?cW(rh}h;DIdzR^*9 zj(2b5!x?w1OfzGvd<)zttYzqUj}K-vRQnH7F*n&Ude*95l~%FjwSEu(TN)xd#iG~b zL*}^yWwWG(Wp|ge%G#7Y+?$#d2$sYg+m>s-x|0)vLc@1)^(S!_2^9ZLDI4ruj$crVlXtcQ3CrxE1ZcLRPveVXCpy`Gr+i4NQK7|I8*DPw~`rYAA z0FH&mT+L-m(-hHUFnu@w)lsH=r4jbD=S@ash6FLIV62W8%AD*F72qy6aGRdtHze~7 zfG@}d35PI2!y$CMt{7f#_x{l#91ErCeu(IKfj{kbxbiYQs{N&ou+GHJ#5M09bH)|k z_7R}S%i2#!KD*RiG%JbZ-<<%aY8Nr8&#n@aMVgdO^EQcn1)MnLzg9aZsXxt*$$VMl z5G=5&)E%w95jokBtY35u96ZSCq#UWSP&fIL;Rh08KB%{VImsc5`;|59gGUFMDHxNL%Iw-D(Pz+^hA#UN_j_Z!pwae(WrvWm_s>Z`x7ZF0X~9pt zt+9tRGB8@)#WCJ9(9TJ40$*0<%?4+%ahyRH8MEHUjEAjui>|v2E}&k*znl~2djJX& zYA`E})4~M{T|VFGAnOSj`1G?+X;7Yz-{7oV&LnZ$o!#nPAA^tl0cIngy2Hp5^R_0{ zttPbeLBBGrvpFv+50*>OBWO1T8m1^Bfj=SAf_L`Z;2+1W_V>@{E>8xS1`yq3cSJSD zy_M!0t^duOJlG218<$zw&?nkYh-<1cpJoAP?bgfKj}wBRI5e3kh&jS)KIx}}^}n%u z0(1*U*t9Zta(7~`!o9cx=eR{o+5iE~C$RizI!Bm2-*MbAQnN6r=BZ>SQD(dRrPC2k z-R`^dQ~7ii{@!-%{I0t3JNNiu!o}snis}7|bwWok_3Vt*_C&ncQ0TtJc03|(Nd{|0>X#5b57yU-9F=U zS9++|uWyi@hkq*4PD@C2FCgX@6|hc~e|(o(WjP_wa7Rz2JH2h@ z!`t6m#)2@H?)?E`ZC4R}mLuqtMEHSbwJk{dvWsDp$v-9*sc8vj-B_t2Ct*Bv5O0B} z$pA@1S{Iq?jRol{jVdM!1NorOnh@-^FE_PMgulTmB7{tlAcjUALh91`VslFH0m|EWdw+b&7bwk)yTuF#uo>E6X*_uFFY_ z50;~gf#y^znrO!izVabfqfa{gx8373#y?zZd1PP6>a=h+H+|vWB%78qqOb;@cUs($ z>N7oj#>vZRV@N&dd_HZ5WNUoXw&@~t{X=Lt*IhWv&j>k2bV~ovg1N+co<~2t%R`8dD*m^%zd7CJ|C_Nt$^E1cjrJF?6y^0$ z>XS=GG*5^=CvrygDhU6esi{6P;xHO~#=R0iIevIM!6M^wB-G~#dOABqtdQfu4>7cg zqY|FcD{4UpIkAEB?@w|kX1~`v>-SYbfmn? zv3w$r&7d0Y9sRS{xHe#>ykxf`PF*0i=wP5-o$uO+Zz`ck_@&4lyBa4$z^_W4Mnps6 zeL0J&Asf2NAbWvrJQi1T_*&5%jp{UzGC!LT)yt@O;(z#*g9u@nm(P_>{`kZf`uAo+ zN#NI~f>lKXiT0a5g&_!?0xmaV`tkiWO>+dERN0D-4*5!}< z(w5g^9F|QY-1LEI^Nz*IpHQv(>E(_au@sBtMN%y@i_X%rC1d;ZEu@ti%flw7Zoiah zaC58dx3H8jlHjT&@w4kDt+blGO65L24VjHg%_rBMrQy`x+u<0m5V5oHyWBSZQ$lKi zz@>GWG)4@#8AKc)*oXig)@LIX(^&B;iz`0VeM{HG<0SuNVoIC(bw@*(8&h+WOD$Rd z(y>t#{ z7n5OryVhJ4*>54in+v9=L2--`Sa8G&;;AHJ~pV!YnY*kf>cT9?+F!S5|; z6>}fBD?4y_A5cMDx6-c#B;FA)Y3b<_3_K^Y0W1dOUp}q>m&Ks=|AWQQ-W?9IfIbeh zK7UD{_t?k$R7N-yTGZkkKAghOoBFo~=Is*wk1A-`Tji#L!yvke1}6dP95%glG-o$# zf|iufnvb<>M{hZ(ohsn*l;!UZCy6#-p3chv<9Stm%s4`#ag2@7!BZL(oIqU0BTg1a z@7E684r0%_$<}W6AXz8Evl8{>biFwhmcDpbmV?tYWSr*FF|9?>q^(wT?6gxqr1xW< z5@PTX1w4y#XPR?f4RyU`;Ybj}p6<>qZd%5_xYKd-Tse_(aGzdiwb|v|KZAg$xV8mc zFZ%MpUv7&@vkMR^ZQbTnXRFGDE*YCv+}m|9GuJVrEOQB#d?_ifxzE*lnUbzP?(+uE zAe!=FV8(ZabX5O;<>IDN2`1EGI(UHn0VS1G-Vg{8p=hfe} z*}M0eX{Ud|lZ@;B*Mo0ulJ^Y2VzLm~N@O?g+vL1e#PFtXydQcSXA_W)>S8ZRQbY zC{0!xdjC2lRIB~f(E#8ci1y24^Qfs}xe~@MG$q|2c2da1!GSL>&%0Flr^*j8$Q861 ztk=VEp_&>!+l^fMjMB4r=b4`yc7B>wqddC|7m>1g$9q#GJwr%!teld_Cw`x|CAj3e zpV47P0z1mgJX?X`XTFdF>2ft+`%7EzN)GoAXOWwNuZ1}r5(`Fc3`Rkm6vO=i)yI4UZcHcNBrpFzCgb*0x~m0tgM?e-IjMU-3lP0F#40UDoA# zJGa`9_>l^I8SCN*(@rgakU=yih@lE|1fnh`gs4k|Sy*sH+0zxshR>YOX;a#-5-W61 zqQWu`V%065lvbE-3?|ruQ~T~p-Ts=BK5;e|^BMRK{h&}t>g~v|ySqL&1lq2^izs6A z7Wq~O^&0d17%DBvjQ`Sgspe3&M!ek%sKyUUJnoljj%$H!kR2MXB!%`3D$`q|GuTqG zbn}(}7PRSxCKWhSucAx>cb9h=+QOj^A)V4!q7b)h0zFpWbWo*eTFdmVu$C11h}nvCv#w0v|A1L4j0j(FU=0R%#fE8W?i4sAM09n(>kFJp29Tnt z_u@nNoC=(E@Qw!``^d)MS}mQs9_M`VXT_(t@$fHf_!BNr&nPM=nHcx23E*S;5&>{Mpf-vZ~s2_>t}A0N2yqHGtJsWniAc@N^D7~44g zkB_S@3J12$lqLQ6h?U?K2QvuU0ndZ+Ll)I64OMbxU7zRaDfcn`?a!R5=53@BM?2OA?`wb0keaQsF?}CP73jIIyO6 z|IAkzM!T`Gs^7hXP2G253#)yB(mCz50KNC{Seu>c%+xLSLQ^Kf3#m{vKDk|Gl6fkD z7L6lX-raNq@FmU?eyO0)>tfc+luG1aFzJeK-JpPBMuJmg-P96NLRWSf$k=c@{SG() zGCBA1%ZD+;(4jDAqFPmo&2YOpBjL`l_B(0`wM?!xfmN(H^^l3Y6B>^)pH6lNLUBhW zlY)f_lk3v@X4wKWLJYp7!C_-63rK0y^4om4T9MnZyPgNyP3B3H|6nVDz6-gW1sQmcCz-& zgxbxBhp-)Sl*nct1yZ(333zIc{ZD|&_7IeVatVf@SJ>hERr-O}R zaOfx_ftAI*$~NaVnq8Z&tLo;Xr}LWhtW7$NDoo+#m!R>vsOtSNsp`do9ydH_wK^l@ z5VO>Q6Gm}=6Y3HeiibaL#o7JVP&N|#1s@lYl1)E&vVZ54=512rKp#k%xUW~g+qomF zh0~NhjuO1Ck);L$0oY&A)9@RHyK5w>9|`B4wwj+)}ggwY3hl49r%YR;oYdH(`vu;9ag`(vt_x zK(^|7ypTHdpfZl-vU36w#H{y|UFiTHBp7Nuy>`-jF@5!r`|OABn-adx1f4%e-DK!H z&RU)%gANLsRJdaQm9Z1BTfJX1Vb5ZT`hCu^G0azY?J}0G_jGYQ+=#$#9@ce`pYRp4yIYKnr7LJJ9?NJitY?B+=_MXBN^@*Toh*1{zMnO4DZ@y{9}*G0 zghFB%)TLWWRK#1%+_Rpa2p_D-%epuXBOYba2QB@KbT^^TUhb@C(#?r^T)i(;Dpndk zbhUuByXh{-BoZz)9%_kg{(5{aM5r(u@gc45Ra@(x1pQm?P&O=IXlz&k9RhkBv$u;%)EU zM}#qg1dYrq_%z`eB57dkqL%Nq%Sq3oLg8gi^7}oy(p#FIzrQ5;AcC-gM0-br)t&y4 z-U!O`w@N}75O?bqG?plTN@lyXylbZBGx_GSKdn$`^3+Xus9RRW#7LGpDb2arh6U6f1yGy zGk7Fqa?y!jpNJL_O1}Mng^qXlO7Cg%(qN|gub8uB+qx7(wtWCX##K~UugDV}>scBx zRS#&Yl_|U)ic7a&=XCc8>s}d95k^~Ievue%0yV5=^m&CFVl(}dk#PLhII2Ts`Dd4% zx~CNnk&en4GfoJmOn1SupP^H;>v`2VD$qM7|F_;TE~Kf`SpR^XujyPQIkQdZ{}DS{ zc|hGu79jnN@_w4M5?vmJy&>z60d%?Y%8~EuJ1&ua8J+7rdgc>Ngca@^Pq{a|sIG5T z8m(H#7KwApbq^t|Dcp=IWkLWm$j?7nF2NQ=*g?7VEZ2SfCixh0e%lFF%>ludCKI_$ z-NQwLUEIRVGT0X;GMTH%6_4M%1j@BwqJM~6I`}Uuh82^UsJxBC&i}tzF==~~c&6}M z?X@|~hW-~jzRsQZl}=Ph0*czt1zEAWrL$lANo31M5Y0q<6!H5;^j1wa@GB*Q!bgIA z39``wk#m_D1+}cI!-2(Czly`|d(VTxJD1a@%Y&OcPu4+Onb6Ax%_087x&6C?%M`nw z#R#j2Chv;p33rpTk2o&i3kvm5;Lx-DZ+M*qnM zSvq}DSst0qnDsG=EdD`@vbvV0$3)D+nx8Fn{fAkV;RxLh77IOU+8fEZes2EZxZv^h z3%kvxX0+Zl;Ww@r{qsP<EYnQhjlvl1btaQ=4r>wbc?hlGuN0=f$IMrj92V7WrqI5S1}zTShQbWPjpx z?pv?bpy!vX#?vt7h{k!T`z}{I>Tqp6M`A{$3i>a>pHCK^uYaJR{xv(#h0TR+u8B=A zXKaY|yM%sh!Y44D#U=5JGhF=l@{jGy>tCnCGW`~jsNH;zZE8iNQ7`%5i9^j;jFbP? zgvJiLmwkj-!?GV;N+wmi!m>Rk>Rll;g}yRh(7Ue-tTMVxBLeKY zuk?vGwsReScq?m^6u%2j8ch;{v3botBMQ8V)n|Ub@}k}E$);f0yRP@hi)u*7T95m! zR#H7KRF`otH9?}2Wpu}3Tysp~YbG6|(L}mfT3Hp?p1n~yLA_5AL)ih45&<=(**h;5 zpS9X!>cz=dc8>BYE@0^xn_0=c@}GblTw!H*EFL{>JPptdQ@pk`;Ac}K{*v?g zPb>$&>)8*4FMe_>0IoYjLs5_pP#4?f3Gi=;BLGeHGfzdi$m4J45Be^b`@G{f^iY;_ z|3Ob!<_0cOs@s85tixgxgCcGzW6VV<<1VK~^k=^Si~cr+B76KL3Re|ws|5NR>%cv^ zk`@j7W08vYE?dlt#9G*BzXj3pa+^ts`@AUY{0&c$+aw64Pfq9Y&hL<{0CWbfzj_!q zyx5XqaM|tmyVcysOMW7Js0jYn96ktL!2Yy_U5aY6flEm_)gGU^WHu*edk^|Bb~aji zRYY@wU7D!s9^K^6u1xRPo8>6irh@F$LYllkb zmeVv+!sWKRi}^_w!w@3P$TxVZz|Y&S@;O(JH)}4AiDQ|&z~P54gG5tYC)PM5n}ub0 zHtw@gPx-9FG04X%LN#n{AQl$*im}o~@MR6AqJR=vOlB?OpiaT-D}v;`J-gv4Ww>ze zNPhCrk64gr^nKTVXVV_8%gH|ZS>+*#ES6{8`0gmozPPot6(-tPoOHY*$#Q&fW3acS zey&QMqcO*?}5mw(g zd6T)tP&D!8ycMZS;f&2iE+6~;Bf7S)S47?HB+2~DhHCG>QRjS?N}9M#vORocgFdju zTrWtfRH|Cs!4+(Nn~eX!E2dJFLL>Uch%?lqG*uDeLrYux`sBNt8sPB;b<7EHYP*mg*5L@T??@`%_e#h^>>FF%3SY^B5&@)=2C_vY?|*yUc|=d zTP4D@8`jt%>)sviH_mO*MUCWWRr4K4qczkD?X>41+nh&6S~d zBsvIiQ%pEJ=0PYI6P7iRnK!~!%LI=~LF3%{N0^-Vk1+Wp(Oy^?)pI#x1d}4Zs@JgB zx#->S0-eqarC7YQ7di|?QUJIa9=W)72^V;cYp}*_V*8=v{*C4jKUoD&eBvC4L~x{_ z#?Rl(^w%>;l%r+N6+JW==$1-q<&1B|lPS+YEEmq_=AJ9!s@R(H}}?pl;~3HI-K?h!pc?P9Dh#{+tLMh}hUZNjERJZv># z&a4+(o;i#I(Z42;p#BiYyalNpsni{QM$CxRG$vc%?=>uM1^uR#*bTKit z_&U<#X5VS_^j2VWZz*RcsP~YEDdOE)H%JuIRLDBhPQH4G7zzAf<#CE66PwG>__2nf zCRW9zQ7bvqV3H`6_&iIyu-q2c0XR>$Zsr~5rJza3aM#(1=1cyxRWezz9tcz7csLrk zveKyPs;Fm;$f#>^{A8j;gQ_HhxDb!qKn1x(DJ1MG^#+4{9y9&eluAmHx=*>@7DdP$ z{JO>GxibuhZz^wWrWzWzbXp42?(?jqm}~?X2{@or1=YR_kA|ibzi$i=SG&F&c1DZ8 zSr)tAd#a%y4smN-2&fXOU$axNXD_R~PU+b}BIUA9GZm|EeH+q=j>OuA)b;=~tvmTA zL+i4BiAueYkuIhzU~1XRt^dQ+D*2bGWe%v~*8(A&%d!9je`Q9cz6`+$+zda>YywoJ zZS&*r%Fm$qRwV$S{uQ3{{GO1`d!gBFw-PY5R*Z z9>zE2@MqgvMlLV6+FCvql3Hx>z~5)bxu<|_7v9EpJpGM#xus{aK!tIQlK2%nfpuuG za^FZ49I_cP z3Ygx$)SSCGTqm)Y;U}4j5Iz>x%~>D`zcc7oZbzmDt^Ai3B2yph)p9(Zz3WTG6~aDY zthpI`z^{LY3Db-~&&Ga?>2_ZS9#gAAK}yN^TaYAO(+klBS*6iIp>&e4ne{i7K58G8 zy<|&7T14SUcCo zH1#|=Js0rzfH;rUxq*c{&%4-&x%(B@!KI3ZVEXUllLi!Y5R%IiD}F=Ai8bHg7=Z!# zS%iCOk>yw=~;m&Ab2W++B z1&1d~3o4>x*9|^+Q?j+JU+rd^7IfN>EBX4XTbN-1?Kp-1&EbGuL4mDqnXTFX|hHenLD|GEzdGB~Q3HL+#_O4<``Mv7<7J zjE8N5hTZ%-)r_H(RektS+i_-gyiP^>YRypem+1gyhvqOZk{=CeLk`J_stz+6c97)F#l2st{K=pQ~_DCtqm0*`S{Y&M4- z1&`4F;fyX2giuxZfhdm4Y@3FDo3LD#%s->w7^58O?S$|q2L;%@S^*106SUzLhI8ig zIO&&fBP)G!*-%;6DGohtxi{*Gy6xY!+O7`P5GeWjcBc}^A3uGcafRm9bD^e40a5MP`{I*e*Zy9v>Ciq10q_*m7!pS6ZQQE}b_XhESDTdb zPgYw>OU!rhoJ7mW=}O~W4zOcmYEG>sGV7zqsjT8}&(vC#-n?Bhq6O-Gn{%?*MJ1@{ zq`}%SP1H-m9b?J$?ujh(Q2J%n@q42KHa^MO7|$-KA!~pC_2N{2Kia@Jdj3uI>_OQf zrab}2J)XZJ%OY0N%TI{{=i^@Rxz@NmV*3Waaik(B&0#;<2(hX+f`tXh6p*^IqVwq|#z#AI z+ich&?B;d3e3xfz^|rm$ET0&bKI}cyLB79EpQ0L_wOr}N@1&&E5tEnY!M^~azIb(u z&?skF&MhPz`hY>P^7`vB1EYdcT+Dt}vl#M>U;^k<{mk9Oejf2==gwoGjJ z4&d+y$>>d_I=Yi1>HchErzFN{D{8YN;kJo;W z%MDzeDOfLeJ;hF}{9D&qJGSJFx;CTRf!}BOTtGqfso~nq0&k-j=XS0akC=!u>c;Jh zxp9|#KvX1smdIt3F-U(Wuhrnyuc4NC#y#R z5&&#E^+uZ@Jddjlw=!Ogr)9#$sE4gBo*{)#4zmPI*N^3HRk12208;VotmqL&0CJU| z%6KZbT~3Y9@kTPIRSNoVqu>42p6oU@r>m|}$>#vfGIs5G(nrmX*D-B`#JYC{Vf*?+ zw@|alZzA{+XUglr%051m(bw2J8rHwiSPXi9$ilN~`*58RUKJC-3x`t<1O3}m#w8j| zpTM^4XHCSg%wyw4|+D5;%M&L7O4bHZm(Ys;wcR`tpZaIEkG~S zNDpxN%rYUMciVT$NWYgm{LR_|Yyz5)4B)5GTi9Tw#qIK4TG{c~QMu+@3_Lu^_T$wa z>d4t{jGY&pnd8CvWL}!5p4H=2rbQ2C0bp@4*#-lT@V%2)Uox+g^j3^OxC4ZO)__i% zTK;~ipN;YF*AwSb(3n$h)rDD{8yl4M;~x2`#;chO%Im0vPF82lg{{BNEaFk5x6)#5 zl2|1a!lLbXYc{~y2Q|KZMMhK{CqYP?&ILN%x3NPTH$HrFcd2#UNx)`VaE0EWI{YX1s-e@BPE6HUZqsw6NBOT$te}OB3uAyMNp_{r zB&x$v@=SewquS@0_K6J$G+^eWb4o~cVdZR}s*0-=<_l2Jd=<+*#hqra_x)({$4TMmjLuxz)!S*<=h1}C#rQ<#l& zBik}5P2M#o)2|mD?JGb@6fQ_D|y`C+as3s37qTpabLlBloZ63$@V_O1xNLi=vw zwg#@>kGl#f^dO-^o~k>wQh|Yp8Z<&GC?D!kVj3VJxtiaAEEv=tiU&bI1y3G5Klw3q zOVB=w#*0m0hD~6iQ>0=x`RI_XEQVe7Z?L~Q%;95l6NBmOEA_J)*FPmfx!&@b$kkWr zHBrGcJesCj)6HLxM}-0tXM^IdC7Y|Zk@T~*T%?gfhYD_|+;DpMVg%l#$LM>KV{fp8UBD=@2n%(__-*RoGF7LkdLEZ}1#Z`P;tg?wR zIFu8o^(PEm;r=2?@30=Yqy`tjd z3-=Lky*FvJ^K^)2>c6kQY;7bOb&l(Nycj{#RqHFE=v=FZvsSI_;oegULq9MLqCe{J z96XGo$q|Zz1AQ%8Hxuw#y#ZeN8L3xke+6Q)c)iVeCx*4UQ*dCC4{L%PToO08h8%yKQ<&whUw6scI4D3Lk-Uj={AJQEoN;sw-GhBH0mpyXLiMH;5?qTWhzAONl&b$V!v(| z$&F1QhHbw`V|zaFYJGrMY&&`I-@pIwpV=y?h>Rs`DjAzh%!$L9NBC3-^xk2rsb}jg zlHRRFzXBt{u5#r5%tR#11mSxn4r1&vFVz_<^;?o9QJb-u=djCSk&27liO5QK{R0>C z1M_nCm|ZJv*sFQpF)#2EdTG*@%&hb&$iX}r+-Z+Lp(e3k^isZRg{ui+k&}UEr^uUi z2(Nw>Ct|;bu1mtY^x&WWl^;LRc?v?&7}RSNy7$=MP*eY#ekSPI#Dn8->XL^LeaA@M_}u2 zHQMU&qkb6;g}W!IGVnO9@mSdmzKXb6W_43j+0XSdgS?W#XJJQ?d7n2YgV|IX6VG-> z)%%mZ!?;xGDYq~5$BfCV^XmXes-68y{qN0L-8L^|ScS-Wc;0Qzh0M#E3;kUvY)1L< zU5ApVfXD+rfbd#D1&JPM?LY4&lQQNo3F)u_a8FNBQ(6Vw6?xvtj!)$TKR!oni&^>J zuIIMHdxeU0QlgBF|K3>J<3g7Q^M(inVXzb;>Fhf;Sw9$Qq{xbbq9?o6R#Ecj{oNsy z#}k~00-e?2L=0-5l$2tvk@zvnYe9BhFD@RS?XA1HoXL@eJIXJrG=0#h=sR4GdVCKG zt6l`55X7S+m_)#+(cDbmMU={9)8;GXsqT(6;4WNqjUer{*ZlbqO3J?0bUGA;FT+<3 zNP7Sr;^3B5tZ!HWM9lqf;xt}?Nk`~B98)1puYd1JbwZhHrBMYCe<9>LS-@K}+T!7M z$AK_AOfutw93s-S)(;l3dV@Yb-Kbtwb^6~dZp+Vc89s(U%N%J-n_f60^HofDW6bOW z^!l5sWeD_E?qc3ayB?5})_;7!`IC);a)MLU3KUQS0E$%7qfPnrIy0F?G*J+V?Sswr zCCG@$_7*jeifLaEl!irZ};$mvT*1S41`#{>kVfJmDqO^9Dg`k}4`sZ3nZl} zw^J7{DtdY)?I}rHR41BOeg>#$e`1N~lPZonhxX7giGT%M>n+G3oW#6Van-%+dQVG1 zJV{b>JIr?)QiFFh424qy_NLGEZGJYfG4k?~6{R|i>K@F@VwR5_XJ}CpR@4~(uF1qf zK|o+t$wAAFWwTId_TyN_@8-u;ntvy#S{VdFN*~oufap6ZZkrN+a>sau0tIoVqaN`? z8T?p?B$*c=76<}v5wxb0Ri^_uTpSW*9&F4%cV6-))j)qR>#~{5E-M7|H|fcUxVjYg z6LD-1(&2@c-C9HgC%~r?v^kmstJ8_9>(i9SayWPR6#bItyHitbj1JOGsUWFtc!2M6 zcS>d#3zM0?sjS8gq3;v<3)U6}KnJLZrc;(4;@*7DKctiV>i|mBiJYYxLX|uvfjfWz z>1-blMdLeG|FhzBPeH=`h*+4Vo%=WhC?J!(2$Uq}g7b&kUjX~3;p>k`ah&mYi8%W0 z?FqT1thH|mq4cpmBD5fGjnB2L`vNu{R1PVBO;zvCADdLmNan|D ziVulb-o?8fX=7lMX0>u6K!Pq;%l;0t2G7|Ib|E!jsj)Hx3#Ref=W6KRe$LyD67ajL zcP+xp807XpaI~IO)EFj0u!h@zLa%BJOLRUT%g@0U6MN>tSq}r7OF5`3JvJ#s8Z}!J zbq6C+!@WGu!XsM~|KKheJ#tEjq&kt1lhimR!Cfn^1MIhm7ezXUu^ttOmVk=GC8YjdCn5@~ zD?*SQ4(KPU@1M8cP`@%i&O$x{jL@697$7K-MGd(YzSECdB*IMv!jb28U||-78yEpt1L1DmL>k!Sc7x3Akj|A| zuu7#LmZv@V%KYtobv;g-5xDDqUSn~8X{0b*#z#VN%2bIP3D2VwMCKVuDQjaR=w9sf z?~~yZIt3`TB8KmuuR&}m)!c)X8hp$!JA!w54|N{N4%I#Vh@nE-d_Ji@V-YXjqqT~N zw*oGOH+8gh>W-%@10X+*_8)T3&#>E^qB1%nY_EuLAWms{tqth2EykxuK;XV}{P-xP z)&A|!)ha{BqF|Ga+@)6@*pl~&#LZX#iA>8*00Xydlgsh9XFz?H@UPC>${*#JAz3dk0{npR2eSP-;?>B3egAt#qx3m-_?EnWj|uCK!1 z>Wt{(lsAdd)$u18TfLdyq4$O@BBxW)h6er=h^Lw|f0TsFx)3?mkkKr9*xh(&w1G(;b8 z3lm4p6XFV1sEg81C)=$A3_o|F$3-4xMB+rxP6zN_{~yxcIx5PjZTlWTKtV*54#A+i zQw9uB8YHDlq`PAf1*BD4QbHPr?vM`Y4gu*-iGi8n+oSjWywAJV_x<%P*YY1(0(0$a z?|q)fasCdN^wC*-{7(6#qK3*m1ELW~9n#3?yk_-t@73c4oNl;B7q%#DuDp+aX@`X) zK2l`qqfZOv?#=47it${ezhs4FVRdos8a0**_D&#}FZA|pJnW>&2J`D;dthNr6iZDH zDw3GUQ59Fz(D6u5~tzcC*6|ZIC&17IXZ~)bdZO3Qv^!DUI}1L&)~OPi|(c4 zTS$6x!d#5+Ume_nc+1kc#sChYA$+fW>!V-j$wnZBLGHe%^1zFy3!P+EF@8(k^bgb? zB+#M9%=tdxLdtM}falnmW_BU_Nuq+H_b_#vGKPy~2Lm(Fbi@zlc>iZP z!F)EALRya~KGMF$G&SXo`w#h__U2u&A$4`o=S#vm&2LliZaHFowY%gcI30wB%iDZN z;4=@cI{jvg^TktGAfZ8eQUsAX(_DmV--LC?T3x|o>HiGO^XU5NHpFWUJx1ig27FDA zu`Py2=pEl(Y-C1-+WPr3OAuJ2-wA83ZKU<{cX#Q;GABC(q*mJ=!-mA`d2-$@Wnkfl zlf{2^auOqoaU*iT3%V#})za6P5&S*BV9C&gr(Lm%q`?pEm`s%4{Cmm1{S*gWu*Vk3 zEKH0*>>2il?ZkVJz1|j(lHbveX+_1QArXoau1+s(F^*Z36_aR%cDta-QTk#ph7K}t}r;x zJvrz6C61drg4$t!N8nR3-c*Q~aX{|wubx%sJj||z`SU=qrImGkm_uvfAz=E=J*}Zy z^0`j_UHgU6{TW!Nii%%~4(b?82W&w(Y#lb;N}U+{P431$2E?q;msK5P@?Zp0}1rg+XIQ>z-)ob(*jYhLQ0!|z%E5@g^0-qcT{kM2<`}ru-_3%*ZmFgI~^r&m?D=ag9Y^5p1NUG-{p2mawr z0#m{rUMYj@V-wz>KoZv| z*Tnm}e$iYTRxR9fy`B^*imxBy3_@-hUrVs?zajOw<$o}KJ<9Y4(Vx4r4!bVXUanW) zegO0Vj8*1Hwnw=kLYuT2OC}2olW~Un)Fo4O*p&t?gq@Ef(y%HR{Ljro_}6lUo$+Xr zs3AQLVLh#qEo{Z>aFZ-WIEfJ`M`sB5ayj(cuz+9YCaA~9NKEaA@NnChcdWc&x_=)$ z{#3M%^g9#Ra`Vdx@!l^d^06NYNM_5#149fl+BO&J_H(~+S|DU}jyfNBns(5PpmR^l zmX)@UP5s_Dcf4Lyq8?Ft*eRemUste@^omA8c(oU1SYnX|2t{=6KE3W0Ki~He=u(XR zIljIv&@ZGVqHl!pLn-~TIKvV6Xlc{N1@oNGZD1>q1O0IMk-i#tN6b_FO>IPx<#d^W zgvA_CxR$I7eEN=ucZ*aNKSSbPu%jphx(n4pkswz?Z%=$>Bc~zoG-;;O^rtgsMU4 zmo%3u4?t{d4iN_CC^7-qtH`U1798Ri`}2(_(=HWI=K;!1Z6to7;NG=W!vokb0Yx)MX>%>`Yt>wCM z-^)|oEM*y}^bt*v_9fQZ!Mba$oP-qNx-r$H7LzicmL7)}YxmMP&3BP26Al`#hZ>%%QMUn32R zj|jYiQnNMu=t&r7E~0C2@{(5Q%KNX|VksBXT>a0s|5Xse)2V~A^-1lowFis3=8u}{ z+D$8poY_vQbUKQEtql&gj2M$s@&*^nA>012k~R zTSz&|AP1oH#|U1wAtSQl(~($u9mr9*Mtm(bRVh4^8^=p2k?(nZR{KQ=8bj`@ke&n* zhrF(dV-@*-B=>V;l_Sp9jLtL>lqq4*eJqX#qiCcV4gK4w?sx2UU^q;Dmwr2UVX)>S zuGGAFy#5ME2N?@HPJUeNhw`#jlz~ZC|KS7%y&2H@ z#b-5ml{g>D(eYg=iOrlXcASfpea}EgC~rB757IF=7(TbvhjYE}O-yVrRczM8_peU# z9gkPinebW3%)1Hs4ThF&r7P0l2z+UWuwG#ti|Zrbl^>s|bEYN6+oB$_!IDqu$NX;l z@6$IyZBWXD1?ZQRuxGLM9paS=J6|^gdO20dB{(d#nZSSZ%tCRHJYk+$%MEO))2c)~Z^D?Pu-I$QqCuli0@-?Au5DJ(>~em& zz_?NCgE$&#@N_1cxik1=Md74z2S0nQKPjhZ6JpmuDhw?a#`>GEd2*QL~f&X zmSIEb(q9EHTAy1a%qyICM$p{dY~)k?D)6$Nt8p=a5NNyizae`}qtnU(GQbEiJ9b}S>-*-)S29SsP;r2AnRJa zCtZxYzuY+r6y4uw_6c}fF!3Z|)tg~*|DEB4B$CWddX5GgR2#SQ6#ps&8+#>^9xD0y zr;wz|Sq)VO>i!81mQ&&x&PRM&e)70*@fvvG5Z$7`XmmKwg~Wuff38Y0T2V|du@jf( z<$ezQEK1i;+Yg3XwdwsF%v^x5{%x;Tz8k4lYHZGGm=h4w!}5?uc=c4P*(Q5W=bef6 z02ae!Up~8{yX^yfVKJ2-AxTG-#8PQzLC+_rerDMkWjN|IO~46r#DtLEXB4yMfnn|a|!!36S0=wedEdi-G}6gYT4?2 z%9RrF+*&xe8nDfc=)mW5k|-c}y|aPXYfJsb`61pPowqH%t5nS2TS6j{gQ`f|qjIVK zOXpPe+az5NOvOIvigQ%9cKW-lL_MTfM;uUS`jHZM(xc(|a+EUC?Z{ zDzWH~V+K;%bj>mc;M6!gZEEAn{)8MhSE#dv5F%oxH2-Xn-JOBH;y`px^nCJMPMV6I5X% zrWB?h7wD>cC9OB)Y$v&4&El2|?jCSU2>fm9hZ~=JrrP;D4i>uwaOtMO%vl9T3Bl`B z5#*H3yT7=px29GRTGbbfmA;Kx?Y_7J^z4qeAYlY1Rru|Ha zyF;L#9zfHosB7f$ydhrNWNCFaM%jJr!X#-FjQ2E!%*-ym#WZ5j+D!&LbPAtO5xOo zRH+ZO9Qqr>rR-5Qh25=Xt{Mk<$2m*^r#37lM{YV$q{x=<<_V-aEu8E!!~FN=<2TM| zGgNANUBOp{mf?voOQ(c=Q;-QOi%}BFc^4y~!nR%&Be2Rx7KAtAn5|8DB$E1n6vn`8 zEK^R+?@m;CH88R~&j6=y+NFg!oecz99+V$6rh;ITeM=NqF&cz%)}MZU*uJ($|5r{0 zf~v_ktabZ5ZT0B8BbYX;3Jx$DZ~a+mVWHRn-%2%k68`tIcRa_`I9!6OD=y$(dwrti)BWDs>dV)}nvsN@!XyiM+pbzS_w z66b$Qx;)e(z>^lp?;T2`@9{fu;&^7M;Z@y!^K(Bxxph=>v6Hr9p5Ka_TCtnws-`M# zJz3kcScs2fP(tCtBWpih#=d!ktPrbvsE5WFEF@-+iHwL;9RM3_;=90Sk^aYuA)CKb zuB2`*NgT7Ui4s8wKndLq)|)86sVm_G=D%z5eLf&opc3Zr^S_^skaar9c^Uz;KzZOE zwX(9(z2AJrwcHgIe}z744ta)YwEd5y3VN>9eZb%D(!hCzOQFXA&a2OuRH)uq_CS6k zjA)5ij)LAn+6n_v_4wX@L{$XHA~WBaDxJ?A@&-(ya1dyQ0DG{{G@$RSfFPu3kU-vY zjk&n${MnO*2ynnQMExR5O_77~M8hhBYVFRpn)E$}uy5#DkIx{q6j9b?P-?!Oqp zFWDpk5^+KT01fp1SVvLy{MYMYbpYDgrORbH34o}L(jk|*hrdZrk`6(uEsoA@N;=9H zqXqrMw5QyGkXZ(#Re37cH{2G7Ka+O|1Csa9O!s*>)dY z?oYh9$949J1Kd~!&C4r^b$$3ws&(>_?yg&7Bm-Yoz9uH-HPdYXEZ7#kDuVEd-|YD( zr7QReRJTD())+|Gwui<(@@gK&zVtDV=xW_ry{H{7p`ivTA|aTU;mfd;PT>B6N9K!K zr=ArjOYkCB<9VI*x_;AcSZIB@|IY|fC@|FM?GBiByC){2Uj?nRz(^LK*Po4caazCg z-y>j(wQ++Wp>oo|yNAww?(@g$RVW7Qw5}kE0Fs2@fm`bh<_#po(Xm^zDP9&-W#&Ly z7};MWimI#b+3!yxxWc4Hjpe<{{{N$^E|1t^62u4_Fr#BqF7L=S0}>TeC3J3yuH4pX z^r}RjFGo?EK|_uc$awD!uYcRwu^~Fb3B|}_!Q;S-lrv21d9_ol=N8Rj8CD^3Trns{zSNn_sEGTfj`@r0?7>I8vy?-;Z}24zm5IRn9>pQJ`jnu9+%o zh~BgU!QQt&BvEz(`{H{tu0{QJXCynUC+?5n4r)1)8*#+G%B3^jo+XF$%Fs5+ zL&~w-fYLMhObsKcDr=!dmY<5D+9s}S4sSdUoWod-gW;U2KL8I-B_n3V;QI?Jqhkew zM;*>jFygrgQTvep3>mBTpa*%5$%@lUa02JxonygvD>JIFDU=Z@WB=Lm)NzO<&yAY& z(OUYhv9vx1Kb$(LEUputW6X;7ZkyThy+GV$1@?roFm;S*R5b%%h4xwC&T0A18hN@l zh`l013zfy%9~tJ%9h68N)9ae=A zOHr%OAJc!AV1tWX0EOupBVhz#pCL$yNx?UI5DKyI1K~a&DkFqsv)IFQvR?AUDFhF80h5%!0lfmqW-TLp2F z)cvVl(Kre!Lt5Ar$8E@Uygn!_ePKmIPbuqpL3QYVZ6@_mxg6dQ1~h zHs0H9SG3imwcQl$N;7F$9g257lvA7aMUC@>65o2B=+PO#w;DG;KI-3Z@Ke8pcXSms z^9YV|mB%EZFawlf1~9Sztdg4Lr}_U@iJvbb%@)`#P{@qb#50IcTLbRY8gW}ae2rO1 zp-{W@32gmqSxqMj6Kf7G(9fkYM;}4uq8a8yd!dYj6wwlgn2$UnscakkJSr73?(bB> zXxjO423y<2aJVtypC3bY+<)O@9Qbmw-to>cJ;6|K2vx$LYXasCM@yNuZC}YuySL#dT>22D$BsF%w#5MsA4lfjsi24z~#el*_@Hs~LJOyApTU>jRX*|pTf=Iq_ul=)s*UR-QIYCb&wA`fKIoUa znHbL#hJHQ`<8HeCvo(W#nGA9dwyB0$YLeuJj#%5wv*%#&@U^Ywo1;=V;qV@j$N68? z({nXeOMs_yiEp|3e&=7*P1jIC^HtIZ-~}ng>!b{Rh1Chn9Rue9H<_BTn)uk?$OZml z?<1yy_SF$3N%K~^wtm#xDiO81`_e7(NKH5=vH`kpYYEr)ecYV+l)ssVae78p+b8)V z?CS!2qm`5Gf27aZ%juOUen}OXI#gRX)x_0OXOhdB6?mQP&p+rh=eZUVkg>fD)8L1} zYuf?mCh3a6*{=?qo+sxaG>$m_rFnt-p*0Km#`|FS4zH>b$P86Q)-AD^6G(-J+UPLk zSBI9NJ`a+X;_vWJ$ld2-kzRirP?$|>)&NJ_S$erESLerf z2Qx&|-(yW^Z}IeiP9nyBteT?8vQhU`w5BLvtVd2XHmXrO&;HRgxj;P zNJCEF0ZqL47hU#P9IcaV`tA#K&r$w{qZ{cSRHt3A<^Jyqez)(Vnwdv97kc2+pAn?r zTZhDaS5CV{Xv^DiBC|Tv@L%0CPRMrVt<#Kh`4? z!ONfggO9Wm6mMNK(zx!~W$$8hL5#Z5a`)31DDCYBFgz80gzY4dJm2~puC4##XE&2W z)RAR(4$t-+MX*=sc7!WZ3GvElG*lI8icO1JTjU)NDwP4-Cf^3RU^6#DD__0%3)qw@ z=}S!BZ$){`Kv&WhDC4KDAGY6Beyf$%P4q%Y=CUICzbpU%qfMDVRZd23cGFwx@ReroJSz>uWQoLiJFCtTBW|u zl|~Ed^VeR6IU{X!iD*F^kXpUvgod1oJn|rjTv^Ye= zFTb&TVtC1|U+wqJN1}Wh2H&XC6LPq;EP%Y!J1^&b&-8tZNy$wrbZ4l- z-eRtxN~V2LeNv{jxSu-9K+;R4_=6hcH?GDFxt{yI;-j|-uopd6(FU*?6!z^e(>D(Ls* zxF?z67e={#V*v4=Otb${L5)eeF16J6YOs!m4r%NgNa7^iJdzJf7&`Gy1FgviO$l@F zm|z7xr{DF5UbmKQBNPrJq81pMAhx;3Q#|?eTv31I-lkTvyv*wX3)3AziKSE6|Hz;b z+$&voZhBf4ke%ga43HJvUv(=^PZPYp;=rrVNtHqR<4W{FlBVsKXm>mIW;Vhpz{q)d zvNbMvdog9fcDIdu-l;q<2~;JX}w;$yoiQX>OPvjK@Zb3Dp<2unWv!T#z$ z$DjdK!{3XtfkBnGQ0hTZhfhCkXo0Rj?=157sxIYm^zT8@y4$uSgf_=}Rr@&qgwPC( z5K3y@(SvDs15+xTx{XuiOYu83_MfXx)Kj6wSB>Zq_8X?gT9Z8N zz}P`0OY+%IAleLjJCy~EAv5FQusnR>M*};u<>a$q35=z9)GS=YDH#gWM*WT)R1rfG zMWwS#-Q5l1pLci|sBx2=vy=L|d;q9Sw)hW&Zqem))sftAD=%EUTzLwi>HP z2mneJ{E$mWjdl@5G$pI8 z$0v6Dz3T}vUwVQtmp-DgAz)9DZaI`abO_6r403IoYi4z&CpxpNJ+wRmhASuup2EWG zd;TG2mhB%&X1s{2KWYl<{yT*fP^UHwX-^eeZg6ao6q% zfX)!87=RY9Z%8Q`!hb9iVnq)}Eut9EPb>+wA zvBCPUo>~ddsA^8=aRuKiTsw2GO8&b}?0X~gp(EG+UuX{2`Ly8pc@iT*6d zl%>B->-nxcg&9=2J?K92!#q4GI+534%c);3OOAyyX4hy(#K1nXh3QzUmVm@p%vR$= zluJ*wrPY*cIEtK!NE^&{p=Rl&Ziyu%Ea`pS^7-%5@E>id8iy3yP7U{Y3f6q&H~SxW zK+rJ*S!v6%zQXlB`|||$;{8QY;A*xV#{Trqx{9YP7WR|3>#Y%FaRpeLCT-y4Kh(l4 z24JB}QMkCIOfXvX*B?S?W(B{8ah&s6<@%@-3;)u9C3qoEh=f(PV7OWo zS1$(xXih$MP?F1xJ)STRvOy@;r598QsFKvM{NYOf3IGBh`Q=)#^ANM&ysknFCl6zy zfsM%a*dO8CMD%oV+(H~9a zGIY}GQnll}m4?{%+_6pd;&vjJ#%5ce9|5HBoUOg_EUQ{-0@4B&Dsz5RN6duMt{BW`EUb2)igTEQDWD9oN{YGJw{cy(f5Timbtk(`O zi%j(+=7-I{?Jp&t41ib1;T+Ycw za#TI>V`m>tRTCBNF>LZ&o8$EV+T?r5G-FMRmOffO4Z(fNF?`c8iVL(;^51U|?hFW< z4T$g$Ruwq@ng+%~&M!=vX$%OWHcaOGdr^oO#!7l)Ld&0gppCD%=;(Q;PfJHed;o_* zm40!A?^EchOC4vCA8%y>&CdIECr^YQTFiD7DH=&Hj z==o)HNZSR)QT+qK!z$~k%Pu-Y&0>AlZEKsDLb^VA8Mjo)s`fBjlNjWAgw-vs`joMs zdBuZdqr1ABtTujU?Cleh$V10%ZeWWkkF<1_As@IFW}TQ|gEm`@qNWdT&>P*Q4~icS ztcE3t6iXkfE*D_l@ai47_ZDFR?CDQg?FdGGSV9BZTDo7^uW5cAzK>&1?Y=LdLMoW9 zIrpC{LJSX4?)%l%6!&LE=omPKbIGfGftDzDa-;F3xQGAkS=yHT9XfuxyFQRoz=`{l z%V5B|^(ct{K1f>TWKMDUVxY1+niECtwKbM^K^>d+JPcE`X$5l(I8BVG%F<;Y{~J5* zQfqB)5%;}tv3=eyO5(^O=Qj`4NBeUcsJ!F%aBvUGzFR+Pd)R;zCI>j4VR7$I$jeor-O}aDycmiV+(Z8t#A&O6QA3}T!sdi$RzQv!c`oyXTs)V4 z1w+tmQ}W%^(7!h2HY>=seYi4%5S(DoKjTO50mA!g(VuvctipWhhRgivsjyJ{WyYI9&(TkCb;-+LGHT z$exakq!ZsdYg?tg=HJlARo@K&k$DvBRACb(h9&wOe8qEF0~aZey{qhwF*2;HViOhr zo3~9B?0Vxfo%^R&IL!Z5LURvSmz5t*cde#reV3cniB}SFNPB zpX8Ya7w%@Mp3awtDKNDr0kj$d8d_E9xn zz(?Gv#m{;7;QPC>=L+|jF=_zVW-h2zpkCu8qN>d{&xG=K4S-|-^b;}n0o)F3w`y{5 zpXI}}fI$=3ohYH4ROIPTdCdK*WeS82W1N`Ow2-L)?QkBu$-gq_#66CnjX=3dhW^+N zSMp~|pNfzo5*Z_)9wpz)04)Lt^ry)^OVN^03pWLv@ad%<(-yfsOr#k(F(%RsZyK|> z(C#<9f}m12_kJ;upI89zH^o-trehA?TOk0IwTHL&M{O&*O}KAQC~hwUc*U61O^YO~ zpYXpz=#BZBjhmxMHx?4k8tqaQ*Iq_5S*olD5ORIG|1{{s5p$!WUrYJthq7|udVNCg z3A!ZF4)^7BAg^U}o%Ip?grBp*oc^rpRP`X4Y!YfU7YQg{16>^^Ty1o+IWSR>mkl@fzZ10-#r^ef*WoDa6*l!-W^M%i8*?SM zsX~`f<-r`xsVQs(JR7wB(EdSJ(6c!BsZF$IXrkH1@))>_{4~lY*sV+XYMsL^b?5oy zE`1T<9G0)jV^@%+1~Q5@hAl+QN-D>fc0Z2A(_dlQJDL047k$p2+w}B}C+(u{5Gl}p z9R#Xc;QBy}h%^;%Zcfvq&NX?L`o$_OO&eKXVvT=X zPa7FKE4ibC^~(R(Z0UpbMIJvql0_oITi(PFctBM(E%+#g%7%Yj;Uun5I ztfq`?)+ILpI!;{Pq?talY$!j_J4aN7M&F%i!qg{*Ds_a>++0_1BrYS2^2+5h*cM&c zkyAh)4c$R0_zaN^LLfeW#nV|Zp+P5t_gQ!WNz(rFPTUyM?DuL0Fkb~=%8xr%!;N5? zZp2?#;^tcb=Kg&1-cDgBw)%2FC>$>a=4k$a!D`l>gnT4qO#tpHu((!Llxd+Q2ge)1 z>I@LAQvs-*9IV22_=i>^T7M$(Av)WKL@QY2+8Nidwb&XIviZK~7@#y%(EDY4Sqgy) ztgm#Wso9b{yloFNsaWo9JDIgvom9It+UV6uJ5AWcC|Wx`vapTx`w_0t!9$Gm(#=o+ zGsn7J{Ng#Umg#V{Adr{dSn3$qD(Wce{AAU}Gd7Ro>hOdSh35Gl#8PW~CaBkn$(OZZ z?xmD_Z@w94_~nQh(n^%ijBfnP-sNX}DXe>}Pf!N4QLF|2Ol}^{ z+elhs%(&$_^%PSvsdOt$Rouo+eQj$V#|~vuqEjw|R(pXcPJQZxvP{VGd&P9%V>G5# zpV9h}&iaZ4x|Q{ETu&lW!g!ULrs?gliLc6=Uw}IFv_87uaA;GsVl?5DsV&Lp>T+3m z+IF(;OKf&iD}n#g#A>q@#Y86&O{~tP8?MUM8*;~4J>!PUH>?Ef#c-Fn{0hfag#PZ< zZ1I}gmz0$4Cl6HbS@7rm65eVbdG@K^k(y-$bR5KDVWg^(k)ag{j)84U@6bBRoYx#W zUpQtialsr%-Hm&6KP{+Nge>@7m5lw$j*Q_plvH04Sx~IGwd`H(@`)p}@XZ(e@Vqk>2`3@8Grw)&9=sNK>^7stxQtG< zM~aPhgTX{Wa|D~hSO(ORNc)Z!PV(Uy5a?u>lvi)oz6j!dFzP5v`QG>2BftPLBnU6r zMJYaxFZ#?l?XC6Y$hDlYJlRUz)3&(f8tYp4Mp&({+HSUfqqL@9t@;FK4{pat=ZX^n zl~2Iw@lv0Mk;=Ulx2@k1V>NssgQGic5g>>OLkH-BJWM-*l2WrV+}uyokTyRFqq@!X}m$}v??Wf z)!=-xyftoZHbo?i!2rcc<8VbwHVz8+m<@REZ;M^N+{J#cU9;(Z80e&VW_KaFL+>&n z+jDRTf^NR31jlUa(`Nf|ZOs}=Ui!R~5M5QZ1kSDpjaN)|`hH?p{I#}!C_VR4!~%pK zw`vO0Xx-kTj~S52erJ#yY3b}Z-zeQC^S!2JyHLweb5G8lFr1K3!9vToPVBhv&-d-<9?%Z(s>Z zZpyLA(s_Q6_|wvOv~Azq!^=6_o$9^ARnj2vkcSgWu3Krz{F8Y9r{814<|OnO|IwfF z!JbR{pNcC$kjc!h|JntLzAu5b4T)k6el6yxaUFWs)$ywaE?=&#`VQo^C=7@6b616$ z^RC?yl7EzFmb18LAk1;4*|DATXfZ3enx&8CV61|9B^`%&NVV3m26-i=l^B|+=630%R;=mCn%TmWDk!D-SiV=2wLq#&q0xcMXrX%#*I#zc_$mogQ8Y$SmFY%EQ%*)eb zd6OsfU4mr|+ccj}tascWt8;_j+E1S`EDiDWj0T58jA6Kv^ly3d?n}|TA}e0JkGL#u z^R?^Uj$QYPD1LS>2&!Hfc-1PTy1<@{;*`)n;9$UN60mhjS7=!Gt96@l$jfwFzvn#m zS&WYG?xdcu0yjLxS<@YHJlJeD^r;|wl&d-sKyP%?I_=Cz#UiI<2sDA{6a36(9j zzH%)CUq$X`MmkQbEm$FZnShs0tM`h7!3cXKcH-UW@F(uYJkPNJ>xXtXc4(g&P-9Gc?b$dzCwc|*RXjcmwTFc0a7 zrzQ3{=!iFbc~TUZAYr|s&V2j65Brm*}@Y zNN0~>H1_-!kutqZ>uFdS#!~Qv@A)_e<#qOpd)GZ=o;4S@|1$X3y!(Q8GakMBl(DzH z`nUO<0{&))jm3QHAf^Ckp*(t{mnwRmk_fZZo0J0DkTlr^F|{UDajN~sD{1p@=fM*E zzFTklhWH0bUGG$}$R53X@%xJykqr(}g(~DImH-}lBh-`8XAeQK5@7JSQToC!R?PI8 z%FW*Cgjov3G&9vSXQ2l5oPmMbC{Gc-bpFMFME(X#Xri$4dy@}|h~UeY#Lx_KldC^?c_6ss2M>VE* zjm7i$C2u~4F5~)&AIEA{5+lmYk6{74gT|{nxkduF&yu$Gn<*?IHNQe^kI5QRoaoFy z5@lKtuc$Q>0jCAnyTr0SkWfHH?KzBZ}o!kFTQXM&hDvOx;`J;L)3S=(`M>Qzc z<=f{78^Sbnr`#WBmNO*9Z&+0Do92;&7npdDiV(0llDM^DIjrgNjz4Vt_)yXPoR>l~ zvYxlJOD+$ruM)F`lzbWXoB4Imj(x%bM+#HGffBA5k55Q9m{C0g!mCPdsH0JyH8((( z)mluJ<&$zmKv}?GZVgZ_diU6RQCbUI_Jto@6NMiLdxgRHds&SX-`P!T^vSuQgcXCL>K^xAXe~tvHCL`Lz=xP zfIi(3;W}PcMzruPX{%VeJ8{(r9uA1Fw8~#3aa@R9_E-OLJ<7s2i~2>gaj9wbqh$KG zY_9??kQaC2RI9i3kHNPpIqAbD4$Er`Hb{aWiDyx{o_}sYcP3F&ntmgLggtK`Ro>41 zA!PsCFV%7T2tmbdl@eZKS>v+lQuijLPia1a?l(wi>(W(d^49%#n^GriisSkXla5$(n^PRoTa&m{va}nq8wK}4}SN2oqT+EU!g*I&R0?Zp{g%w zs}${2o}WA)mi&2PX^icoJm??_3i@Xs7gdMm9ukCJw#9mW>ZgA={zP1}1x;UH(s1;8 zLpOOmvmWo-le;U=jUJO-3s+33%8n)C+J4MfeiMLawwpC-nIpGe{A<;!GH zjvQWppUek~G?>BUY`?Gpw}s1I*84o~IbSHR>sLKLOG6YV^?H4XXQ*2k*=5QW4LSS8 za^zzfH+2T9tG?o)^n*M)rO(CsVo6JPwfxOd37C^y zkUu(6Hq`-{;tNOrq1hzk9SM927IpYO$>b_Yvf%tx-Gj;;72Bw6p4R{)W7U$yGM?_G zR>0D}@xXH4?@5Y07EO(ZywB|Fp;8uc?XY>P(cN0I2~C~a5$goT)ora9Hg>D-Q02Iu zFT&)O?qN6P9|@NQ9dOG1z<6LV@pn$ZZ$QBaGL7|IhM!}sVtrsl^{paJEW;nv@yzw{ zv~P1v6B6Iz%*IvYObEgwE@vO)&wU}ca4EY8)+k%+ip{s@AQ^R+pQ$GgK4Z;AtJ2Po z_iSJkaTfvjxPNJOUtEu)70J6_^9D1pW*KVA%cnY?0=b5URIWb7ncm&c$^u+7Ym{avdzA5? zl~>ArlUqFFviH2CQq{vkdTyr`=cLW>VugNoKf^l_BpgUT7y+bkW@6}3f`R{2Xx>l| z(YD}KhbnK`k->a39%Bk{aC$IzprVsUZyn8j0_oC5UO&23vmUFm%rri)A;j5wPX z)Qi}14b*#wD$EUB?Kl&Km%h5($c%jP!9F5ML@dc;u+dA^eXQuA*%j(^)I`<3EodS4 zhYWe+{g#Q}R;tO*w<4{Ki3vrZrJsc4YBRBEJ2FZT#=$+VlX|fthK!LC2R^Sj6L36e zhT`A`j|azFC>!p!P?9jGvSdKq5G>Uwk`-X&?SAWjOaYiImUG&==^#&*^l{W;Z;|X- z@jJp5gK4T`c!RkQ81H#A&$8Lt>r38cBLysI=--N zMi*gWL(|poU?1m{c>J>(Vm!*Et7!{r%C-ko?Bs|To%X5%= zDo2;N9;k?EvFp|cj;_SI}6Hyg`%YG z(1EbKI4UR+BoxB+)R(W;;1ZfnZD*qOFJ-{?$u_JMm2@xH(yI;dNaWGuUAmw)qINGZ zNK~M{s;tFsgPa}6sLX&d+JA1*JPrb9C#My6*MY$`tnHa zn{<_1wDvb+M%H?L(H;;=)VqRZz?RsVc_al_OsqvX-7o4#-dqrwyf(Gk6WO7Y$l)5P zbD}U^t3hWucLA9;Hdge!+H_y7-gnw2L4nZZOFmDhy|t&k)Ok(Hd11PCA?s_RR!HOF zB){Ekb1OxogT){7>Dp)Er62+DrUH$iBqlKTlOw+Cp2Yh1{si8qYk4O)Pqp+M1M!Lz z2t~v8t7h$@F%vO}_N(Dz*|@@t3>cM0`_95gVztH~dZg2+DnD9L!zJu2lEKsyxi(t6|T^iIKKu zfM`&C$bI85Q1B}L+OHaSmL}>08&$Ts_}pSY+N1Zgglei8SaMr?Wntut>xO>AlR@{w zn6Xba;-23oq#P1_TC9-#IU8pTN)P*TsoFN+aJ`y)=ZP?v#r5T%?0PN9PEH4j`dNo+ zdY;{F#i%5ixqSDMH)A>xv?x>~|dgQEE~rv7?@RnFzK>0-J^=S9)slQNmbp z<12M2UIMyWtdA#j==)ra0Tzx{4iD$JwS;dMecY>ZT zg7c_&Ai}aW6Z`2cvN?Y23f#|W7ISq-1D$-qc^H&cOKCT}_o1W>$cQ&YoYwCv3<1`@ zD@9I!ho?L2xBts{L&t0bmp0V$#CH*~Z7&%Lge;1s?qbHcj&AYPv3qqi(hQM(r2Ml+U96xlULRAu9Dc(ZWKq)8BkD?-;upXPLG9s zs^z-NI6!WCIG-F6|M8WrzD$IiL>)k6Wn^H{uG=o*$6ve)Hz(Jmx!fs_pL1#BX$*NU z8JyJ4vXwqVu-8+;Xg1-*6jPR-CarG5j5$g-Z% z%zF`mWO1{qW&_i6jQg|x6{t)7!pk$oEgNnQJ%?J4j@9^}0b^BU+Y*7C9~8!6oLEjQ zkzP6j8I^t?8jgx2P{wg=$~#XrL9dIGw462&a*eIqP+9Xoq)Yk?55JJncO;wJEp#5& z`EFWC*p4x+xPb{yyIxhAhV-A|$h5^b_m5@Gf73tfZtwge&$Sl~DOu_zYmb7%Na2BD zFNE?yyTBLpv|`~|AqTMWPL?^YCqnZ5&%WPr83hLA-2n1*tNyQoBXHxVwP4WiuKg64 z$-*QwE45{?9WFbpC(BkLF)C0}kBEP2zrSrvnEnw?d&hlUguy*9B%|uwrSw|H-eU}i z4fgZu=k8#(510>_fGc^N>j3z(?78JjJJ#iC4~#HIq!vEIPetgF)wB}0?VpwecL3YS zdu)*eBP9R8qTN4o&vH9F*n6)wN6)E;kq`K_r*@keR$heQC%iAc{R%ipw_-}PUglTN z8C317>*g06r?3eYaFGFmV`(TsGFwvKnty+Dbj`Sw_Pihksr<_?Lkf_GH?|WLtyiNI zVZB#dXvUnIq8fF#_LvfTQ6@tkV4Upz6b1@4EpL0Ckvh#|jb5_pJZL7JQ2RM+0ErR+ zq+U1g2_1_Yw&!4GM15QSvKN@P*@J1FK5}8-{^XvH;xuT`c3bd0^I3N1I|`0~f!M8B zJZf?G`4P6ct5nP=>Vl#z!>sWo-AWD=_GMoS%>p&MDx7(pIA>4#b#{%3qO(r@!>i^C z=n0)BS9x+_O7m;Ys|qzMt-PZ3;~;OLu?1O332lc7%db;gYv|?xadL$PQ8dO)pODP97wbeCdIyD{#KI_ivM}ZU*NW(8KEA!bNRz?Ln;kbG0+3|+M z4CCoo@taW(N05I;2ff}6UVUy45N;2+;IhL1kmiu*ayjMb^ek*mx5noJK(AJ*E2p|e z&64v1!>aqZch@aQ&XdC>s`HLp7~Cc(u9d!Z8yB4143t_Xzum+EFD>vLL7fp;WM|9y zkRGT~%hU{b9iY9lEK26LlB>P%_6!-ig~{g?Vi=a66cfoR>&T zWNv+l@|}|@qg-Q_s-rOcn#cJyz$H%Z*YiqIdj#73tkV(dwL?eU?YT4@e5_-3K1$Z< zte1jigJX8O<@@>d?W6~N@g+mPo7q%@k7h8=)cm4(k*BvDF7Qv@w<+(4&^qYA8foSs zWk^WVW$NW09X9RNj=VNQ*rk5?e68DF%_3(`li289Fuf09SbkBMljC*x-M5jPL$VT-bW^x78=8KLLj%b3QMYiIVU&Wq+}jwm}V1|98n} z>Yrlrk*a(L%cQqU_B$xHIzpKkC5_Np86-1q@*;S+{a5{hcTEx3~5mG(~)uM8Cjh2tEE~Cgi1C?MykXcqWb!8dhasvMwBl58lECg+#s%8Zr-i_60L)F_&CBi|(&Cr&oj< z{vWp9I;hPzYX3}dx8g3vofdZ}rG?@a+>2{*4N!_hp}1=)PLSfR1q#I}?(P&1un*sN z-{0=e>^y%l!wgBdbM7P8xjyP!fpex|dvfN)t!*v;uz`W`dlHZ5c`@#WUH7x$V4#L_ zX4&|(pewEMgkMsV&ZhP{qEcUnt677gg)fBzp{d@IEIURpPv!p!s^FwUBdgA${b zoOlvPw}D>8tHC31zvT#()8Ax>dUD0t;BWao^<39Lni9BL{F6nPKQwWa8yfvw&~K_< zfMu3f7z4=3Nfc2EBx&G?%0D5oP@DQ$wbCELQWp{%tUE-3s2pah!xpMBls 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
ok5!OE+B9lpi};xz)d*v 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 Q0)KQguU^bow|?^f07QD~SO5S3 literal 176641 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
FIS!;hDyJ%R!afTTfqF z5yg8!z)^<}F=4!|fd`lp}gq0_BkZXf-f8L@&$f@{^yJ7B~wV zm;y9FS6@Lvms>H`@t7UFqyAkuSRU^!!8(xY1A+NG?Yl9Ufc`_4zG?Mg(x->At1}Lk ziGZrf2hst!z(L+IjIR7{!TGL!DlR1u_aI?bp~cBN&a(1g=5FjbCoWN0Xb9R$@*`6A z|1KDanE2b1a@^ovDoHmAbezfp3?$y*!in=`3{_*qrZA_IMK#b_d)08R!4)IN8Tn%~ zg&Bo$f`@X(}S?i{@0OoI&9iG~8q|ZE8Qof>_V_G=a0X zd?MYXc~3R+zr#Z}*TuNdE6MnD<(QUS{s27A{R&B}EGbUU)Ij4Z=C;!xsj#AduWxM0 zDanmpXnNZYK`Po4(&FWmfvgv%nQ~O){OMPKJ>*#Rj^f1YkXC_zQLnv^FrsdiqoEaN7Q1y;HrYLB4fRD)!1{Mq&=$VSL?R zKuLH8uZ;ihFS5uM2d?f8y0h&83FR|;w4R(go_wmvLWVx(({eTZ48N`2&$NB$A%hFa zZeo+sW_z66i4%5k9heO{r4Ce?moAOyIeKtcqkmI#<(_ER^QUh~kjU|@&CP!HvoVZ& z26l2@XfL^Di<(iUo1)QZAh8=mQ&_HeBBn!Ej%1j&ur?j>N~i$7cYeHv>?y(Y%c7{) z4fjxP`Hy3^JJz!Y^gG{<4^fYSs%$bZmG(fj~dEO<7SC zjK(;VUQnVaAQ=Ji{6`TaY;lo+9902Twp$7*;a~S6z}jhsv9T;YkQ0}TEwB~<^KqGn zx-(5pK}X1-Bqo0KOgo~HU(vGZ!Nnd1knPdOa{7-KK%%q7wQ1MCun*lsbfEi-U9)Th zyhH5zld8n?$0rNNOVpAUPUKX^8T2b8#(s8Rj;Wv=o0}V;JnK^YU_F?I zXIe$!_C_HEPbHRD5Xb8(|JzUkt$}D{F&~~?W~4Y=D>=n85P~1v8(9~#CrD(pL6?Z= zBx@>){ygQ^+ycf)OCKzHX1OlN0fV#Smne~)5RQ9Yg)U*^AX^{fazXuMRC?%=KjC77C2q##OUh!Au9B2t_uJEI-u?1?ik*kr8F zd>Cmjc@@27Ar+K*1^U?;13i)s5`j&g#CC9ju2&>U$z|Wd7oCCX48dsNbsz3WAZcXb2jqy*e-iV5NM-&jL0lrv zdD4$Exbe!cgt)=pDDP2OX2{8V@gU+(Tio*>5fzJ7Vmq$a2kNpja@?0Hu5LsMD$wc59Ab?JMo zODL7WU$nn9BIG$M;IhuNYTmedNsc7HIznn~53<xDp2ZDsW zTNTl#Qyu~Jd%AfB&u2Q?6xPE+S2}E{*MiWVGQYUw5-PY_j{ihRv_l4(un^X83%5xC zjo9(!lvrdN;yTG5=>L->Qf-U?IU^InEZJ2e-O1{KZA|#s_4vgLo28bfjZMVBOz{S@FoL zr)YimeNHYBJbpU0Rjc0UzbH(p3I2;JaUEiijAo1>IL;xP0!bQ&A5bW9hW7}BIB1$j zqr#EYkqk*4!(6XkB5A%TqXbk%NIo`@&WRt>nY>|wP>#h{d4 z$Gy4RFr|eHc(rX~42WSYp+zs5g{hRNyKSqQ@phB%SrJMqHDiePOGUSlj4Gz)W$me2 z*n+D>r(rAGun~*AH{Yl#fZFKM_BR4ZQu)%a+vVg%kwx)Ctu^(%+~h;+@-+gfT(;N; z3C`kF1|k={N_Oaf!g(fSibQUx!C9X+^M9D+d2GvC(5*4exkoh<2f=hCqv~}sXR|3V zs^*OIPh$`Z)N4qY0GD(Hn`4kK@Ko^6?lYtJ+?C#ybPeWS$$41G=UxJaz+%MWfDK5k zNUUn`r)S^M>wL`9#1megSdBMO!Ga5^p%I4h9e$0Y2RaAgwUv>^;sb`