From f2ac0050e02661e0158f6508727038310c6dfe7b Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Thu, 16 Mar 2023 14:56:03 -0400 Subject: [PATCH 001/330] Eye gaze classification model WIP --- bcipy/helpers/raw_data_gaze.py | 89 ++++++++++++++ bcipy/signal/model/fusion_model.py | 29 +++++ bcipy/signal/model/offline_gaze_analysis.py | 122 ++++++++++++++++++++ 3 files changed, 240 insertions(+) create mode 100644 bcipy/helpers/raw_data_gaze.py create mode 100644 bcipy/signal/model/fusion_model.py create mode 100644 bcipy/signal/model/offline_gaze_analysis.py diff --git a/bcipy/helpers/raw_data_gaze.py b/bcipy/helpers/raw_data_gaze.py new file mode 100644 index 000000000..625c1e725 --- /dev/null +++ b/bcipy/helpers/raw_data_gaze.py @@ -0,0 +1,89 @@ +import csv +from typing import List, Optional, TextIO, Tuple + +import numpy as np +import pandas as pd + +from bcipy.config import DEFAULT_ENCODING + +class RawGazeData: + """Represents the raw eye gaze data format used by BciPy. Used primarily for loading + a raw data file into memory.""" + + def __init__(self, + daq_type: Optional[str] = None, + sample_rate: Optional[int] = None, + columns: Optional[List[str]] = None, + column_types: Optional[List[str]] = None): + self.daq_type = daq_type + self.sample_rate = sample_rate + self.columns = columns or [] + # accept a custom column type definition or default to all eeg type + self.column_types = column_types + self._rows = [] + self._dataframe = None + + @classmethod + def load(cls, filename: str): + """Constructs a RawData object by deserializing the given file. + All data will be read into memory. + + Parameters + ---------- + - filename : path to the csv file to read + """ + return load(filename) + + @property + def rows(self) -> List[List]: + """Returns the data rows""" + return self._rows + + @rows.setter + def rows(self, value): + self._rows = value + self._dataframe = None + + + @property + def dataframe(self) -> pd.DataFrame: + """Returns a dataframe of the row data.""" + if self._dataframe is None: + self._dataframe = pd.DataFrame(data=self.rows, + columns=self.columns) + return self._dataframe + + +def load(filename: str) -> RawGazeData: + """Reads the file at the given path and initializes a RawData object. + All data will be read into memory. + + Parameters + ---------- + - filename : path to the csv file to read + """ + # Loading all data from a csv is faster using pandas than using the + # RawDataReader. + with open(filename, mode='r', encoding=DEFAULT_ENCODING) as file_obj: + daq_type, sample_rate = read_metadata(file_obj) + dataframe = pd.read_csv(file_obj) + data = RawGazeData(daq_type, sample_rate, list(dataframe.columns)) + data.rows = dataframe.values.tolist() + return data + +def read_metadata(file_obj: TextIO) -> Tuple[str, float]: + """Reads the metadata from an open raw data file and retuns the result as + a tuple. Increments the reader. + + Parameters + ---------- + - file_obj : open TextIO object + + Returns + ------- + tuple of daq_type, sample_rate + """ + daq_type = next(file_obj).strip().split(',')[1] + sample_rate = float(next(file_obj).strip().split(",")[1]) + return daq_type, sample_rate + diff --git a/bcipy/signal/model/fusion_model.py b/bcipy/signal/model/fusion_model.py new file mode 100644 index 000000000..0552dd28a --- /dev/null +++ b/bcipy/signal/model/fusion_model.py @@ -0,0 +1,29 @@ +import logging +from pathlib import Path +from typing import Tuple + +import numpy as np +import pandas as pd +from matplotlib import pyplot as plt +from sklearn.mixture import GaussianMixture + +betts_data_path = '/Users/basak/Documents/BciPy/data/MatrixEyeTracking/BP_001/BP_001_Matrix_Calibration_Wed_08_Mar_2023_12hr39min04sec_-0800/raw_data.csv' +betts_triggers_path = '/Users/basak/Documents/BciPy/data/MatrixEyeTracking/BP_001/BP_001_Matrix_Calibration_Wed_08_Mar_2023_12hr39min04sec_-0800/triggers.txt' + +if __name__ == "__main__": + df = pd.read_csv(betts_data_path) + df = df.dropna() + # df = df.reset_index(drop=True) + X = df[['left_x', 'left_y']].to_numpy() + timestamp = df['lsl_timestamp'].to_numpy() + gm = GaussianMixture(n_components=28, random_state=0).fit(X) + plt.scatter(X[:, 0], X[:, 1]) + plt.show() + # plt.scatter(X[:, 2], X[:, 3]) + # plt.show() + print(gm.means_) + plt.scatter(gm.means_[:,0], gm.means_[:,1]) + plt.show() + # evaluate the components’ density for each sample + conditionals = gm.predict_proba(X) + breakpoint() \ No newline at end of file diff --git a/bcipy/signal/model/offline_gaze_analysis.py b/bcipy/signal/model/offline_gaze_analysis.py new file mode 100644 index 000000000..b656c5495 --- /dev/null +++ b/bcipy/signal/model/offline_gaze_analysis.py @@ -0,0 +1,122 @@ +import logging +from pathlib import Path +from typing import Tuple + +import numpy as np +import pandas as pd +from matplotlib import pyplot as plt +from sklearn.mixture import GaussianMixture + +from bcipy.config import DEFAULT_PARAMETERS_PATH, TRIGGER_FILENAME, RAW_DATA_FILENAME +from bcipy.preferences import preferences +from bcipy.helpers.load import ( + load_experimental_data, + load_json_parameters, + load_raw_data, +) +from bcipy.helpers.triggers import TriggerType, trigger_decoder + +from sklearn.model_selection import train_test_split + +log = logging.getLogger(__name__) +logging.basicConfig(level=logging.INFO, format="[%(threadName)-9s][%(asctime)s][%(name)s][%(levelname)s]: %(message)s") + +betts_data_path = '/Users/basak/Documents/BciPy/data/MatrixEyeTracking/BP_001/BP_001_Matrix_Calibration_Wed_08_Mar_2023_12hr39min04sec_-0800/raw_data.csv' + +def subset_data(data: np.ndarray, labels: np.ndarray, test_size: float, random_state=0): + """Performs a train/test split on the provided data and labels, accounting for + the current shape convention (channel dimension in front, instead of batch dimension in front). + + Args: + data (np.ndarray): Shape (channels, items, time) + labels (np.ndarray): Shape (items,) + test_size (float): fraction of data to be used for testing + random_state (int, optional): fixed random seed + + Returns: + train_data (np.ndarray): Shape (channels, train_items, time) + test_data (np.ndarray): Shape (channels, test_items, time) + train_labels (np.ndarray): Shape (train_items,) + test_labels (np.ndarray): Shape (test_items,) + """ + data = data.swapaxes(0, 1) + train_data, test_data, train_labels, test_labels = train_test_split( + data, labels, test_size=test_size, random_state=random_state + ) + train_data = train_data.swapaxes(0, 1) + test_data = test_data.swapaxes(0, 1) + return train_data, test_data, train_labels, test_labels + + +def offline_gaze_analysis( + data_folder: str = None, + parameters: dict = {}, +): + + if not data_folder: + data_folder = load_experimental_data() + + # extract relevant session information from parameters file + poststim_length = parameters.get("trial_length") + prestim_length = parameters.get("prestim_length") + trials_per_inquiry = parameters.get("stim_length") + static_offset = parameters.get("static_trigger_offset") + # The task buffer length defines the min time between two inquiries + # We use half of that time here to buffer during transforms + buffer = int(parameters.get("task_buffer_length") / 2) + raw_data_file = f"{RAW_DATA_FILENAME}.csv" + + log.info( + f"\nData processing settings: \n" + f"Poststimulus: {poststim_length}s, Prestimulus: {prestim_length}s, Buffer: {buffer}s, Trials per inquiry: {trials_per_inquiry} \n" + ) + + # Load raw data + raw_data = load_raw_data(Path(data_folder, raw_data_file)) + + # Process triggers.txt files + trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( + offset=static_offset, + trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", + exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], + ) + + breakpoint() + results = np.empty() + + return results + + +if __name__ == "__main__": + import argparse + + parser = argparse.ArgumentParser() + parser.add_argument("-d", "--data_folder", default=None) + parser.add_argument("-p", "--parameters_file", default=DEFAULT_PARAMETERS_PATH) + args = parser.parse_args() + + log.info(f"Loading params from {args.parameters_file}") + parameters = load_json_parameters(args.parameters_file, value_cast=True) + + offline_gaze_analysis( + args.data_folder, + parameters) + log.info("Offline Analysis complete.") + + + + # df = pd.read_csv(betts_data_path) + # df = df.dropna() + # # df = df.reset_index(drop=True) + # X = df[['left_x', 'left_y']].to_numpy() + # gm = GaussianMixture(n_components=28, random_state=0).fit(X) + # plt.scatter(X[:, 0], X[:, 1]) + # plt.show() + # # plt.scatter(X[:, 2], X[:, 3]) + # # plt.show() + # print(gm.means_) + # plt.scatter(gm.means_[:,0], gm.means_[:,1]) + # plt.show() + # # evaluate the components’ density for each sample + # conditionals = gm.predict_proba(X) + # breakpoint() \ No newline at end of file From a3c71547251db42e96ff363c95187eec4c071d3e Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Thu, 16 Mar 2023 15:00:41 -0400 Subject: [PATCH 002/330] Offline gaze analysis WIP --- bcipy/signal/model/fusion_model.py | 29 --------------------- bcipy/signal/model/offline_gaze_analysis.py | 25 +++--------------- 2 files changed, 3 insertions(+), 51 deletions(-) delete mode 100644 bcipy/signal/model/fusion_model.py diff --git a/bcipy/signal/model/fusion_model.py b/bcipy/signal/model/fusion_model.py deleted file mode 100644 index 0552dd28a..000000000 --- a/bcipy/signal/model/fusion_model.py +++ /dev/null @@ -1,29 +0,0 @@ -import logging -from pathlib import Path -from typing import Tuple - -import numpy as np -import pandas as pd -from matplotlib import pyplot as plt -from sklearn.mixture import GaussianMixture - -betts_data_path = '/Users/basak/Documents/BciPy/data/MatrixEyeTracking/BP_001/BP_001_Matrix_Calibration_Wed_08_Mar_2023_12hr39min04sec_-0800/raw_data.csv' -betts_triggers_path = '/Users/basak/Documents/BciPy/data/MatrixEyeTracking/BP_001/BP_001_Matrix_Calibration_Wed_08_Mar_2023_12hr39min04sec_-0800/triggers.txt' - -if __name__ == "__main__": - df = pd.read_csv(betts_data_path) - df = df.dropna() - # df = df.reset_index(drop=True) - X = df[['left_x', 'left_y']].to_numpy() - timestamp = df['lsl_timestamp'].to_numpy() - gm = GaussianMixture(n_components=28, random_state=0).fit(X) - plt.scatter(X[:, 0], X[:, 1]) - plt.show() - # plt.scatter(X[:, 2], X[:, 3]) - # plt.show() - print(gm.means_) - plt.scatter(gm.means_[:,0], gm.means_[:,1]) - plt.show() - # evaluate the components’ density for each sample - conditionals = gm.predict_proba(X) - breakpoint() \ No newline at end of file diff --git a/bcipy/signal/model/offline_gaze_analysis.py b/bcipy/signal/model/offline_gaze_analysis.py index b656c5495..772051fa1 100644 --- a/bcipy/signal/model/offline_gaze_analysis.py +++ b/bcipy/signal/model/offline_gaze_analysis.py @@ -81,9 +81,8 @@ def offline_gaze_analysis( exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], ) - breakpoint() - results = np.empty() - + results = [] + return results @@ -101,22 +100,4 @@ def offline_gaze_analysis( offline_gaze_analysis( args.data_folder, parameters) - log.info("Offline Analysis complete.") - - - - # df = pd.read_csv(betts_data_path) - # df = df.dropna() - # # df = df.reset_index(drop=True) - # X = df[['left_x', 'left_y']].to_numpy() - # gm = GaussianMixture(n_components=28, random_state=0).fit(X) - # plt.scatter(X[:, 0], X[:, 1]) - # plt.show() - # # plt.scatter(X[:, 2], X[:, 3]) - # # plt.show() - # print(gm.means_) - # plt.scatter(gm.means_[:,0], gm.means_[:,1]) - # plt.show() - # # evaluate the components’ density for each sample - # conditionals = gm.predict_proba(X) - # breakpoint() \ No newline at end of file + log.info("Offline Analysis complete.") \ No newline at end of file From 1d89a7cab54afb65f81b2278cc450fa09bd7d0d4 Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Thu, 16 Mar 2023 15:21:30 -0400 Subject: [PATCH 003/330] Gaze data class added --- bcipy/helpers/load.py | 14 +++++++++++++ bcipy/helpers/raw_data_gaze.py | 23 +++++++++++++++++++++ bcipy/signal/model/offline_gaze_analysis.py | 7 ++++--- 3 files changed, 41 insertions(+), 3 deletions(-) diff --git a/bcipy/helpers/load.py b/bcipy/helpers/load.py index 44306739e..bb953db17 100644 --- a/bcipy/helpers/load.py +++ b/bcipy/helpers/load.py @@ -20,6 +20,7 @@ InvalidExperimentException) from bcipy.helpers.parameters import Parameters from bcipy.helpers.raw_data import RawData +from bcipy.helpers.raw_data_gaze import RawGazeData from bcipy.signal.model import SignalModel log = logging.getLogger(__name__) @@ -230,6 +231,19 @@ def load_raw_data(filename: str) -> RawData: """ return RawData.load(filename) +def load_raw_gaze_data(filename: str) -> RawData: + """Reads the data (.csv) file written by data acquisition. + + Parameters + ---------- + - filename : path to the serialized data (csv file) + + Returns + ------- + RawData object with data held in memory + """ + return RawGazeData.load(filename) + def load_txt_data() -> str: filename = ask_filename('*.txt') # show dialog box and return the path diff --git a/bcipy/helpers/raw_data_gaze.py b/bcipy/helpers/raw_data_gaze.py index 625c1e725..b7b100c6f 100644 --- a/bcipy/helpers/raw_data_gaze.py +++ b/bcipy/helpers/raw_data_gaze.py @@ -44,6 +44,29 @@ def rows(self, value): self._rows = value self._dataframe = None + @property + def channels(self) -> List[str]: + """Compute the list of channels. Channels are the numeric columns + excluding the timestamp column.""" + + # Start data slice at 1 to remove the timestamp column. + return list(self.numeric_data.columns[1:]) + + @property + def numeric_data(self) -> pd.DataFrame: + """Data for columns with numeric data. This is usually comprised of the + timestamp column and device channels, excluding string triggers.""" + return self.dataframe.select_dtypes(exclude=['object']) + + @property + def channel_data(self): + """Data for columns with numeric data, excluding the timestamp column.""" + numeric_data = self.numeric_data + + numeric_vals = numeric_data.values + numeric_column_count = numeric_vals.shape[1] + # Start data slice at 1 to remove the timestamp column. + return numeric_vals[:, 1:numeric_column_count].transpose() @property def dataframe(self) -> pd.DataFrame: diff --git a/bcipy/signal/model/offline_gaze_analysis.py b/bcipy/signal/model/offline_gaze_analysis.py index 772051fa1..8a7835210 100644 --- a/bcipy/signal/model/offline_gaze_analysis.py +++ b/bcipy/signal/model/offline_gaze_analysis.py @@ -13,6 +13,7 @@ load_experimental_data, load_json_parameters, load_raw_data, + load_raw_gaze_data ) from bcipy.helpers.triggers import TriggerType, trigger_decoder @@ -21,8 +22,6 @@ log = logging.getLogger(__name__) logging.basicConfig(level=logging.INFO, format="[%(threadName)-9s][%(asctime)s][%(name)s][%(levelname)s]: %(message)s") -betts_data_path = '/Users/basak/Documents/BciPy/data/MatrixEyeTracking/BP_001/BP_001_Matrix_Calibration_Wed_08_Mar_2023_12hr39min04sec_-0800/raw_data.csv' - def subset_data(data: np.ndarray, labels: np.ndarray, test_size: float, random_state=0): """Performs a train/test split on the provided data and labels, accounting for the current shape convention (channel dimension in front, instead of batch dimension in front). @@ -72,7 +71,8 @@ def offline_gaze_analysis( ) # Load raw data - raw_data = load_raw_data(Path(data_folder, raw_data_file)) + gaze_data = load_raw_gaze_data(Path(data_folder, raw_data_file)) + # TODO: Dataframe is excluding the first 2 rows. Why? # Process triggers.txt files trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( @@ -81,6 +81,7 @@ def offline_gaze_analysis( exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], ) + breakpoint() results = [] return results From 2d6708fb42fb835a4c8d7653920c92975684458d Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Fri, 17 Mar 2023 14:50:19 -0400 Subject: [PATCH 004/330] Trigger decoding WIP --- bcipy/signal/model/offline_gaze_analysis.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/bcipy/signal/model/offline_gaze_analysis.py b/bcipy/signal/model/offline_gaze_analysis.py index 8a7835210..0b3d70403 100644 --- a/bcipy/signal/model/offline_gaze_analysis.py +++ b/bcipy/signal/model/offline_gaze_analysis.py @@ -72,11 +72,14 @@ def offline_gaze_analysis( # Load raw data gaze_data = load_raw_gaze_data(Path(data_folder, raw_data_file)) - # TODO: Dataframe is excluding the first 2 rows. Why? + channels = gaze_data.channels + type_amp = gaze_data.daq_type + sample_rate = gaze_data.sample_rate # Process triggers.txt files trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( offset=static_offset, + remove_pre_fixation = False, trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], ) From b48f0826f989bfe14918ebdf8f395ee634c1692e Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Tue, 4 Apr 2023 16:25:24 -0400 Subject: [PATCH 005/330] Gaze Reshaper WIP --- bcipy/helpers/stimuli.py | 105 ++++++++++++++++++++ bcipy/parameters/devices.json | 3 +- bcipy/signal/model/offline_gaze_analysis.py | 25 ++++- 3 files changed, 130 insertions(+), 3 deletions(-) diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index bd8d55d4f..c75285f90 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -176,6 +176,8 @@ def get_inquiry_len(inq_trigs): stop = first_trigger + num_samples_per_inq + buffer_samples reshaped_data.append(eeg_data[:, start:stop]) + breakpoint() + return np.stack(reshaped_data, 1), labels, reshaped_trigger_timing @staticmethod @@ -197,6 +199,109 @@ def extract_trials(inquiries, samples_per_trial, inquiry_timing, downsample_rate new_trials.append(inquiries[:, inquiry_idx, time:y]) return np.stack(new_trials, 1) # C x T x S +class GazeReshaper: + def __call__(self, + trial_targetness_label: List[str], + timing_info: List[float], + gaze_data: np.ndarray, + sample_rate: int, + trials_per_inquiry: int, + offset: float = 0, + channel_map: List[int] = None, + poststimulus_length: float = 0.5, + prestimulus_length: float = 0.0, + transformation_buffer: float = 0.0, + target_label: str = 'target') -> Tuple[np.ndarray, np.ndarray]: + """Extract inquiry data and labels. + + Args: + trial_targetness_label (List[str]): labels each trial as "target", "non-target", "first_pres_target", etc + timing_info (List[float]): Timestamp of each event in seconds + eeg_data (np.ndarray): shape (channels, samples) preprocessed EEG data + sample_rate (int): sample rate of data provided in eeg_data + trials_per_inquiry (int): number of trials in each inquiry + offset (float, optional): Any calculated or hypothesized offsets in timings. Defaults to 0. + channel_map (List[int], optional): Describes which channels to include or discard. + Defaults to None; all channels will be used. + poststimulus_length (float, optional): time in seconds needed after the last trial in an inquiry. + prestimulus_length (float, optional): time in seconds needed before the first trial in an inquiry. + transformation_buffer (float, optional): time in seconds to buffer the end of the inquiry. Defaults to 0.0. + target_label (str): label of target symbol. Defaults to "target" + + Returns: + reshaped_data (np.ndarray): inquiry data of shape (Channels, Inquiries, Samples) + labels (np.ndarray): integer label for each inquiry. With `trials_per_inquiry=K`, + a label of [0, K-1] indicates the position of `target_label`, or label of K indicates + `target_label` was not present. + reshaped_trigger_timing (List[List[int]]): For each inquiry, a list of the sample index where each trial + begins, accounting for the prestim buffer that may have been added to the front of each inquiry. + """ + if channel_map: + # Remove the channels that we are not interested in + channels_to_remove = [idx for idx, value in enumerate(channel_map) if value == 0] + eeg_data = np.delete(eeg_data, channels_to_remove, axis=0) + + n_inquiry = len(timing_info) // trials_per_inquiry + trial_duration_samples = int(poststimulus_length * sample_rate) + prestimulus_samples = int(prestimulus_length * sample_rate) + + # triggers in seconds are mapped to triggers in number of samples. + triggers = list(map(lambda x: int((x + offset) * sample_rate), timing_info)) + + # First, find the longest inquiry in this experiment + # We'll add or remove a few samples from all other inquiries, to match this length + def get_inquiry_len(inq_trigs): + return inq_trigs[-1] - inq_trigs[0] + + longest_inquiry = max(grouper(triggers, trials_per_inquiry, fillvalue='x'), key=lambda xy: get_inquiry_len(xy)) + num_samples_per_inq = get_inquiry_len(longest_inquiry) + trial_duration_samples + buffer_samples = int(transformation_buffer * sample_rate) + + # Label for every inquiry + labels = np.zeros( + (n_inquiry, trials_per_inquiry), dtype=np.compat.long + ) # maybe this can be configurable? return either class indexes or labels ('nontarget' etc) + reshaped_data, reshaped_trigger_timing = [], [] + for inquiry_idx, trials_within_inquiry in enumerate( + grouper(zip(trial_targetness_label, triggers), trials_per_inquiry, fillvalue='x') + ): + first_trigger = trials_within_inquiry[0][1] + + trial_triggers = [] + for trial_idx, (trial_label, trigger) in enumerate(trials_within_inquiry): + if trial_label == target_label: + labels[inquiry_idx, trial_idx] = 1 + + # If presimulus buffer is used, we add it here so that trigger timings will + # still line up with trial onset + trial_triggers.append((trigger - first_trigger) + prestimulus_samples) + reshaped_trigger_timing.append(trial_triggers) + start = first_trigger - prestimulus_samples + stop = first_trigger + num_samples_per_inq + buffer_samples + reshaped_data.append(eeg_data[:, start:stop]) + + breakpoint() + + return np.stack(reshaped_data, 1), labels, reshaped_trigger_timing + + @staticmethod + def extract_trials(inquiries, samples_per_trial, inquiry_timing, downsample_rate=1): + """Extract Trials. + + After using the InquiryReshaper, it may be necessary to futher trial the data for processing. + Using the number of samples and inquiry timing, the data is reshaped from Channels, Inquiry, Samples to + Channels, Trials, Samples. These should match with the trials extracted from the TrialReshaper given the same + slicing parameters. + """ + new_trials = [] + num_inquiries = inquiries.shape[1] + for inquiry_idx, timing in zip(range(num_inquiries), inquiry_timing): # C x I x S + + for time in timing: + time = time // downsample_rate + y = time + samples_per_trial + new_trials.append(inquiries[:, inquiry_idx, time:y]) + return np.stack(new_trials, 1) # C x T x S class TrialReshaper(Reshaper): def __call__(self, diff --git a/bcipy/parameters/devices.json b/bcipy/parameters/devices.json index f57d1477a..5498eb0b1 100644 --- a/bcipy/parameters/devices.json +++ b/bcipy/parameters/devices.json @@ -87,6 +87,7 @@ { "name": "right_pupil", "label": "right_pupil", "type": "pupilsize" } ], "sample_rate": 60.0, - "description": "Tobii Nano. For use with the Tobii Pro SDK." + "description": "Tobii Nano. For use with the Tobii Pro SDK.", + "excluded_from_analysis": ["device_ts", "system_ts", "left_pupil", "right_pupil"] } ] \ No newline at end of file diff --git a/bcipy/signal/model/offline_gaze_analysis.py b/bcipy/signal/model/offline_gaze_analysis.py index 0b3d70403..c8c0e0e3a 100644 --- a/bcipy/signal/model/offline_gaze_analysis.py +++ b/bcipy/signal/model/offline_gaze_analysis.py @@ -9,10 +9,10 @@ from bcipy.config import DEFAULT_PARAMETERS_PATH, TRIGGER_FILENAME, RAW_DATA_FILENAME from bcipy.preferences import preferences +from bcipy.helpers.acquisition import analysis_channels from bcipy.helpers.load import ( load_experimental_data, load_json_parameters, - load_raw_data, load_raw_gaze_data ) from bcipy.helpers.triggers import TriggerType, trigger_decoder @@ -76,17 +76,38 @@ def offline_gaze_analysis( type_amp = gaze_data.daq_type sample_rate = gaze_data.sample_rate + log.info(f"Channels read from csv: {channels}") + log.info(f"Device type: {type_amp}, fs={sample_rate}") + # Process triggers.txt files trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( - offset=static_offset, remove_pre_fixation = False, trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], ) + # Channel map can be checked from raw_data.csv file or the devices.json located in the acquisition module + # The timestamp column [0] is already excluded. breakpoint() + channel_map = analysis_channels(channels, type_amp) + + print(channel_map) + # data, fs = raw_data.by_channel() + # TODO: Implementation + + channel_map = [0,0,0,1,1,0,1,1,0,1] # default to use all channels in inquiry reshaper + + breakpoint() + # reshaper! results = [] + #TODO: + # Implement reshaper. We might not need a separate reshaper function. + # Plotting for offset + # Plot the gaze data (check NSLR) fixation, saccade, blink + # Coordinates in Tobii for targets in each inquiry (Tobii to Psychopy units) + + return results From 180c01f837d0ce7652626537b34cc8eb8cf28dba Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Wed, 5 Apr 2023 16:36:31 -0400 Subject: [PATCH 006/330] Loading error solved --- bcipy/helpers/raw_data_gaze.py | 14 ++++++++++++++ bcipy/signal/model/offline_gaze_analysis.py | 8 ++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/bcipy/helpers/raw_data_gaze.py b/bcipy/helpers/raw_data_gaze.py index b7b100c6f..bc5727e44 100644 --- a/bcipy/helpers/raw_data_gaze.py +++ b/bcipy/helpers/raw_data_gaze.py @@ -67,6 +67,20 @@ def channel_data(self): numeric_column_count = numeric_vals.shape[1] # Start data slice at 1 to remove the timestamp column. return numeric_vals[:, 1:numeric_column_count].transpose() + + def by_channel(self) -> np.ndarray: + """Data organized by channel. + + Returns + ---------- + data: C x N numpy array with samples where C is the number of channels and N + is number of time samples + fs: resulting sample rate if any transformations applied""" + + data = self.channel_data + fs = self.sample_rate + + return data, fs @property def dataframe(self) -> pd.DataFrame: diff --git a/bcipy/signal/model/offline_gaze_analysis.py b/bcipy/signal/model/offline_gaze_analysis.py index c8c0e0e3a..26f7819ec 100644 --- a/bcipy/signal/model/offline_gaze_analysis.py +++ b/bcipy/signal/model/offline_gaze_analysis.py @@ -88,14 +88,10 @@ def offline_gaze_analysis( # Channel map can be checked from raw_data.csv file or the devices.json located in the acquisition module # The timestamp column [0] is already excluded. - breakpoint() channel_map = analysis_channels(channels, type_amp) + # channel_map = [0,0,1,1,0,1,1,0,0] - print(channel_map) - # data, fs = raw_data.by_channel() - # TODO: Implementation - - channel_map = [0,0,0,1,1,0,1,1,0,1] # default to use all channels in inquiry reshaper + data, fs = gaze_data.by_channel() # no transformations applied at this stage breakpoint() # reshaper! From 5607f571d817532a67a14a2e0b1b4688ff13eb1a Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Thu, 6 Apr 2023 16:43:52 -0400 Subject: [PATCH 007/330] Tobii device name updated in devices.json --- bcipy/parameters/devices.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bcipy/parameters/devices.json b/bcipy/parameters/devices.json index 5498eb0b1..90fce6e21 100644 --- a/bcipy/parameters/devices.json +++ b/bcipy/parameters/devices.json @@ -74,7 +74,7 @@ "description": "GTec g.USBamp" }, { - "name": "Tobii Nano", + "name": "Tobii-P0", "content_type": "Eyetracker", "channels": [ { "name": "device_ts", "label": "device_ts" }, From 666a78511304e31f22a2560418b09d466e92559f Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 28 Apr 2023 12:04:49 -0700 Subject: [PATCH 008/330] #184752380 ; Added range type to Parameters; Added new RangeInput and RangeWidget for editing the new type using the params_form GUI --- bcipy/gui/main.py | 189 +++++++++++++++++++++---- bcipy/gui/parameters/params_form.py | 21 +-- bcipy/helpers/parameters.py | 44 +++++- bcipy/helpers/tests/test_parameters.py | 27 +++- 4 files changed, 234 insertions(+), 47 deletions(-) diff --git a/bcipy/gui/main.py b/bcipy/gui/main.py index bc1bbae26..932dfb9f0 100644 --- a/bcipy/gui/main.py +++ b/bcipy/gui/main.py @@ -1,18 +1,20 @@ # pylint: disable=E0611 import logging import os -import sys import re +import sys from decimal import Decimal from enum import Enum -from typing import Any, Callable, List, NamedTuple, Optional +from typing import Any, Callable, List, NamedTuple, Optional, Tuple, Union -from PyQt5.QtCore import pyqtSlot, Qt, QEvent, QTimer +from PyQt5.QtCore import QEvent, Qt, QTimer, pyqtSlot from PyQt5.QtGui import QFont, QPixmap, QShowEvent -from PyQt5.QtWidgets import (QApplication, QCheckBox, QComboBox, QDoubleSpinBox, - QFileDialog, QHBoxLayout, QSpinBox, QLabel, QLineEdit, - QMessageBox, QPushButton, QScrollArea, - QVBoxLayout, QWidget) +from PyQt5.QtWidgets import (QApplication, QCheckBox, QComboBox, + QDoubleSpinBox, QFileDialog, QHBoxLayout, QLabel, + QLineEdit, QMessageBox, QPushButton, QScrollArea, + QSpinBox, QVBoxLayout, QWidget) + +from bcipy.helpers.parameters import parse_range def font(size: int = 14, font_family: str = 'Helvetica') -> QFont: @@ -36,7 +38,8 @@ def contains_whitespaces(string: str) -> bool: return re.match(r'^(?=.*[\s])', string) -def contains_special_characters(string: str, regex: str = '[^0-9a-zA-Z_]+') -> bool: +def contains_special_characters(string: str, + regex: str = '[^0-9a-zA-Z_]+') -> bool: """Contains Special Characters. Checks for the presence of special chracters in a string. By default it will allow underscores. @@ -433,6 +436,23 @@ def value(self) -> str: return 'true' if self.control.isChecked() else 'false' +class RangeInput(FormInput): + """FormInput to select a range of values (low, high). + + Serializes to 'low_value:high_value'. Appropriate boundaries are determined + from the starting value and list of recommended_values if provided. + """ + + def init_control(self, value) -> QWidget: + """Initialize the form control widget. + + Parameter: + --------- + value - initial value + """ + return RangeWidget(value, self.options) + + class SelectionInput(FormInput): """FormInput to select from a list of options. The options keyword parameter is required for this input. @@ -447,7 +467,8 @@ class SelectionInput(FormInput): help_color - color of the help text.""" def __init__(self, **kwargs): - assert isinstance(kwargs['options'], list), f"options are required for {kwargs['label']}" + assert isinstance(kwargs['options'], + list), f"options are required for {kwargs['label']}" super(SelectionInput, self).__init__(**kwargs) def init_control(self, value) -> QWidget: @@ -550,6 +571,92 @@ def prompt_path(self): return QFileDialog.getExistingDirectory(caption='Select a path') +class RangeWidget(QWidget): + """Input widget that allows the user to provide a high and low value + (min/max). + + Serializes to 'low_value:high_value'. Appropriate boundaries are determined + from the list of options, which should each be formatted as 'low:high' values. + """ + + def __init__(self, + value: Tuple[int, int], + options: List[str] = None, + label_low: str = "Low:", + label_high="High:"): + super(RangeWidget, self).__init__() + + self.low, self.high = parse_range(value) + self.input_min = None + self.input_max = None + if options: + ranges = [parse_range(rng) for rng in options] + mins = [rng[0] for rng in ranges] + [self.low] + maxes = [rng[1] for rng in ranges] + [self.high] + self.input_min = min(mins) + self.input_max = max(maxes) + + self.cast = int if isinstance(self.low, int) else float + + self.low_input = self.create_input(self.low) + self.high_input = self.create_input(self.high) + + hbox = QHBoxLayout() + hbox.addWidget(static_text_control(None, label=label_low)) + hbox.addWidget(self.low_input) + + hbox.addWidget(static_text_control(None, label=label_high)) + hbox.addWidget(self.high_input) + + self.setLayout(hbox) + + def create_input(self, value: Union[int, float]) -> QWidget: + """Construct an input widget for the given numeric value""" + if isinstance(value, int): + return self.int_input(value) + return self.float_input(value) + + def float_input(self, value: float) -> QWidget: + """Construct a float input""" + spin_box = QDoubleSpinBox() + + # Make a reasonable guess about precision and step size based on the initial value. + props = float_input_properties(value) + + spin_box.setMinimum( + props.min if self.input_min is None else self.input_min) + spin_box.setMaximum( + props.max if self.input_max is None else self.input_max) + spin_box.setDecimals(props.decimals) + spin_box.setSingleStep(props.step) + spin_box.setValue(value) + return spin_box + + def int_input(self, value: int) -> QWidget: + """Construct an int input.""" + spin_box = QSpinBox() + + spin_box.setMinimum( + -100000 if self.input_min is None else self.input_min) + spin_box.setMaximum( + 100000 if self.input_max is None else self.input_max) + if value: + spin_box.setValue(value) + return spin_box + + def text(self): + """Text value""" + low = self.low_input.text() or self.low + high = self.high_input.text() or self.high + # only update the values if valid + if self.cast(low) < self.cast(high): + self.low = self.cast(low) + self.high = self.cast(high) + self.low_input.setValue(self.low) + self.high_input.setValue(self.high) + return f"{self.low}:{self.high}" + + class SearchInput(QWidget): """Search input widget. Consists of a text input field and a Clear button. Text changes to the input are passed to the on_search action. @@ -596,11 +703,11 @@ class BCIGui(QWidget): Primary GUI for downstream abstraction. Convenient handling of widgets and asset creation. """ - def __init__(self, title: str, width: int, height: int, background_color: str): + def __init__(self, title: str, width: int, height: int, + background_color: str): super(BCIGui, self).__init__() - logging.basicConfig( - level=logging.DEBUG, - format='%(name)s - %(levelname)s - %(message)s') + logging.basicConfig(level=logging.DEBUG, + format='%(name)s - %(levelname)s - %(message)s') self.logger = logging self.buttons = [] @@ -637,7 +744,8 @@ def create_main_window(self) -> None: Construct the main window for display of assets. """ self.window_layout = QHBoxLayout() - self.window.setStyleSheet(f'background-color: {self.background_color};') + self.window.setStyleSheet( + f'background-color: {self.background_color};') self.window_layout.addWidget(self.window) self.vbox.addLayout(self.window_layout) @@ -726,7 +834,8 @@ def add_button(self, btn.move(position[0], position[1]) btn.resize(size[0], size[1]) - btn.setStyleSheet(f'background-color: {background_color}; color: {text_color};') + btn.setStyleSheet( + f'background-color: {background_color}; color: {text_color};') if action: btn.clicked.connect(action) @@ -736,9 +845,14 @@ def add_button(self, self.buttons.append(btn) return btn - def add_combobox(self, position: list, size: list, items: list, background_color='default', + def add_combobox(self, + position: list, + size: list, + items: list, + background_color='default', text_color='default', - action=None, editable=False) -> QComboBox: + action=None, + editable=False) -> QComboBox: """Add combobox.""" combobox = QComboBox(self.window) @@ -750,7 +864,8 @@ def add_combobox(self, position: list, size: list, items: list, background_color else: combobox.currentTextChanged.connect(self.default_on_dropdown) - combobox.setStyleSheet(f'background-color: {background_color}; color: {text_color};') + combobox.setStyleSheet( + f'background-color: {background_color}; color: {text_color};') if editable: combobox.setEditable(True) @@ -799,7 +914,8 @@ def add_static_textbox(self, static_text.setText(text) if wrap_text: static_text.setWordWrap(True) - static_text.setStyleSheet(f'background-color: {background_color}; color: {text_color};') + static_text.setStyleSheet( + f'background-color: {background_color}; color: {text_color};') static_text.move(position[0], position[1]) text_settings = QFont(font_family, font_size) @@ -819,12 +935,13 @@ def add_text_input(self, position: list, size: list) -> QLineEdit: self.input_text.append(textbox) return textbox - def throw_alert_message(self, - title: str, - message: str, - message_type: AlertMessageType = AlertMessageType.INFO, - message_response: AlertMessageResponse = AlertMessageResponse.OTE, - message_timeout: float = 0) -> MessageBox: + def throw_alert_message( + self, + title: str, + message: str, + message_type: AlertMessageType = AlertMessageType.INFO, + message_response: AlertMessageResponse = AlertMessageResponse.OTE, + message_timeout: float = 0) -> MessageBox: """Throw Alert Message.""" msg = alert_message(message, title=title, @@ -838,7 +955,8 @@ def get_filename_dialog(self, file_type: str = 'All Files (*)', location: str = "") -> str: """Get Filename Dialog.""" - file_name, _ = QFileDialog.getOpenFileName(self.window, message, location, file_type) + file_name, _ = QFileDialog.getOpenFileName(self.window, message, + location, file_type) return file_name @@ -848,7 +966,11 @@ class ScrollableFrame(QWidget): A QWidget that constructs a scrollable frame and accepts another widget to display within the scrollable area. """ - def __init__(self, height: int, width: int, background_color: str = 'black', widget: QWidget = None): + def __init__(self, + height: int, + width: int, + background_color: str = 'black', + widget: QWidget = None): super().__init__() self.height = height @@ -943,7 +1065,8 @@ def construct_line_items(self) -> None: color = item[item_label][key]['color'] action = item[item_label][key]['action'] button = PushButton(key) - button.setStyleSheet(f'background-color: {color}; color: {text_color};') + button.setStyleSheet( + f'background-color: {color}; color: {text_color};') button.clicked.connect(action) if item[item_label][key].get('id'): @@ -964,7 +1087,10 @@ def app(args) -> QApplication: def start_app() -> None: """Start BCIGui.""" bcipy_gui = app(sys.argv) - ex = BCIGui(title='BCI GUI', height=650, width=650, background_color='white') + ex = BCIGui(title='BCI GUI', + height=650, + width=650, + background_color='white') # ex.get_filename_dialog() # ex.add_button(message='Test Button', position=[200, 300], size=[100, 100], id=1) @@ -978,7 +1104,10 @@ def start_app() -> None: # ex.add_combobox(position=[100, 100], size=[100, 100], items=['first', 'second', 'third'], editable=True) # ex.add_text_input(position=[100, 100], size=[100, 100]) ex.show_gui() - ex.throw_alert_message(title='title', message='test', message_response=AlertMessageResponse.OCE, message_timeout=5) + ex.throw_alert_message(title='title', + message='test', + message_response=AlertMessageResponse.OCE, + message_timeout=5) sys.exit(bcipy_gui.exec_()) diff --git a/bcipy/gui/parameters/params_form.py b/bcipy/gui/parameters/params_form.py index 081559bc8..9c0bde281 100644 --- a/bcipy/gui/parameters/params_form.py +++ b/bcipy/gui/parameters/params_form.py @@ -8,22 +8,13 @@ from PyQt5.QtCore import Qt from PyQt5.QtWidgets import (QApplication, QFileDialog, QHBoxLayout, QPushButton, QScrollArea, QVBoxLayout, QWidget) + from bcipy.config import BCIPY_ROOT +from bcipy.gui.main import (BoolInput, DirectoryInput, FileInput, FloatInput, + FormInput, IntegerInput, RangeInput, SearchInput, + SelectionInput, TextInput, static_text_control) from bcipy.helpers.parameters import Parameters, changes_from_default -from bcipy.gui.main import ( - BoolInput, - DirectoryInput, - FileInput, - FloatInput, - FormInput, - IntegerInput, - SearchInput, - SelectionInput, - static_text_control, - TextInput, -) - class ParamsForm(QWidget): """The ParamsForm class is a QWidget that creates controls/inputs for each parameter in the @@ -86,7 +77,8 @@ def parameter_input(self, param: Dict[str, str]) -> FormInput: 'float': FloatInput, 'bool': BoolInput, 'filepath': FileInput, - 'directorypath': DirectoryInput + 'directorypath': DirectoryInput, + 'range': RangeInput } has_options = isinstance(param['recommended_values'], list) form_input = type_inputs.get( @@ -437,6 +429,7 @@ def main(json_file, title='BCI Parameters', size=(450, 550)): if __name__ == '__main__': import argparse + from bcipy.config import DEFAULT_PARAMETERS_PATH parser = argparse.ArgumentParser() diff --git a/bcipy/helpers/parameters.py b/bcipy/helpers/parameters.py index 286b8e44a..29f8eea59 100644 --- a/bcipy/helpers/parameters.py +++ b/bcipy/helpers/parameters.py @@ -3,6 +3,7 @@ from collections import abc from json import dump, load from pathlib import Path +from re import fullmatch from typing import Any, Dict, NamedTuple, Tuple from bcipy.config import DEFAULT_ENCODING, DEFAULT_PARAMETERS_PATH @@ -24,6 +25,44 @@ class ParameterChange(NamedTuple): original_value: Any +def parse_range(range_str: str) -> Tuple: + """Parse the range description into a tuple of (low, high). + + If either value can be parsed as a float the resulting tuple will have + float values, otherwise they will be ints. + + Parameters + ---------- + range_str - range description formatted 'low:high' + + >>> parse_range("1:10") + (1, 10) + """ + assert ':' in range_str, "Invalid range format; values must be separated by ':'" + low, high = range_str.split(':') + int_pattern = "-?\\d+" + if fullmatch(int_pattern, low) and fullmatch(int_pattern, high): + low = int(low) + high = int(high) + else: + low = float(low) + high = float(high) + + assert low < high, "Low value must be less that the high value" + return (low, high) + + +def serialize_value(value_type: str, value: any) -> str: + """Serialize the given value to a string. Serialized values should be able + to be cast using the conversions.""" + if value_type == 'bool': + return str(value).lower() + if value_type == 'range': + low, high = value + return f"{low}:{high}" + return str(value) + + class Parameters(dict): """Configuration parameters for BciPy. @@ -49,7 +88,8 @@ def __init__(self, source: str = None, cast_values: bool = False): 'bool': lambda val: val == 'true' or val is True, 'str': str, 'directorypath': str, - 'filepath': str + 'filepath': str, + 'range': parse_range } self.load_from_source() @@ -63,7 +103,7 @@ def from_cast_values(cls, **kwargs): params = Parameters(source=None, cast_values=True) for key, val in kwargs.items(): value_type = type(val).__name__ - value_str = str(val).lower() if value_type == 'bool' else str(val) + value_str = serialize_value(value_type, val) params.add_entry( key, { 'value': value_str, diff --git a/bcipy/helpers/tests/test_parameters.py b/bcipy/helpers/tests/test_parameters.py index 2b5c553c4..dcf340e19 100644 --- a/bcipy/helpers/tests/test_parameters.py +++ b/bcipy/helpers/tests/test_parameters.py @@ -6,7 +6,7 @@ from pathlib import Path from bcipy.config import DEFAULT_PARAMETERS_PATH -from bcipy.helpers.parameters import Parameters +from bcipy.helpers.parameters import Parameters, parse_range class TestParameters(unittest.TestCase): @@ -103,6 +103,22 @@ def test_load_data_with_unsupported_type(self): with self.assertRaises(Exception): parameters.load(data_with_unsupported_type) + def test_parse_range(self): + """Test function to parse a range into low, high values""" + self.assertEqual(parse_range("1:10"), (1, 10)) + self.assertEqual(parse_range("1 : 10"), (1, 10)) + self.assertEqual(parse_range("1.0:10"), (1.0, 10.0)) + self.assertEqual(parse_range("1.3:10.2"), (1.3, 10.2)) + self.assertEqual(parse_range("-1:1"), (-1, 1)) + self.assertEqual(parse_range("-75E-6:75E+6"), (-75E-6, 75E+6)) + self.assertEqual(parse_range("-5:10"), (-5, 10)) + + with self.assertRaises(Exception): + parse_range("1 - 10") + + with self.assertRaises(Exception): + parse_range("10:1") + def test_cast_values(self): """Test cast_values.""" @@ -139,6 +155,14 @@ def test_cast_values(self): "recommended_values": "", "type": "str" }, + "my_int_range": { + "value": "5:10", + "section": "", + "readableName": "", + "helpTip": "", + "recommended_values": "", + "type": "range" + } } parameters = Parameters(source=None, cast_values=True) parameters.load(sample_config) @@ -157,6 +181,7 @@ def test_cast_values(self): self.assertEqual(parameters['mystr'], 'hello') self.assertEqual(parameters.get('mystr'), 'hello') self.assertFalse(parameters.get('missing_param', False)) + self.assertEqual(parameters['my_int_range'], (5, 10)) parameters.cast_values = False self.assertEqual(parameters['myint']['value'], '1') From abf8e2103bbffaa4aa06af4d7a46bdc0eae310bd Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Fri, 28 Apr 2023 15:07:21 -0400 Subject: [PATCH 009/330] Offline analysis fusion WIP --- bcipy/helpers/stimuli.py | 21 ++- bcipy/signal/model/offline_analysis_fusion.py | 138 ++++++++++++++++++ bcipy/signal/model/offline_gaze_analysis.py | 27 +++- 3 files changed, 177 insertions(+), 9 deletions(-) create mode 100644 bcipy/signal/model/offline_analysis_fusion.py diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index c75285f90..3355341c6 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -150,6 +150,7 @@ def get_inquiry_len(inq_trigs): return inq_trigs[-1] - inq_trigs[0] longest_inquiry = max(grouper(triggers, trials_per_inquiry, fillvalue='x'), key=lambda xy: get_inquiry_len(xy)) + breakpoint() num_samples_per_inq = get_inquiry_len(longest_inquiry) + trial_duration_samples buffer_samples = int(transformation_buffer * sample_rate) @@ -217,12 +218,12 @@ def __call__(self, Args: trial_targetness_label (List[str]): labels each trial as "target", "non-target", "first_pres_target", etc timing_info (List[float]): Timestamp of each event in seconds - eeg_data (np.ndarray): shape (channels, samples) preprocessed EEG data + gaze_data (np.ndarray): shape (channels, samples) eye tracking data sample_rate (int): sample rate of data provided in eeg_data trials_per_inquiry (int): number of trials in each inquiry offset (float, optional): Any calculated or hypothesized offsets in timings. Defaults to 0. channel_map (List[int], optional): Describes which channels to include or discard. - Defaults to None; all channels will be used. + Defaults to None; all channels will be used. poststimulus_length (float, optional): time in seconds needed after the last trial in an inquiry. prestimulus_length (float, optional): time in seconds needed before the first trial in an inquiry. transformation_buffer (float, optional): time in seconds to buffer the end of the inquiry. Defaults to 0.0. @@ -239,7 +240,7 @@ def __call__(self, if channel_map: # Remove the channels that we are not interested in channels_to_remove = [idx for idx, value in enumerate(channel_map) if value == 0] - eeg_data = np.delete(eeg_data, channels_to_remove, axis=0) + gaze_data = np.delete(gaze_data, channels_to_remove, axis=0) n_inquiry = len(timing_info) // trials_per_inquiry trial_duration_samples = int(poststimulus_length * sample_rate) @@ -248,12 +249,22 @@ def __call__(self, # triggers in seconds are mapped to triggers in number of samples. triggers = list(map(lambda x: int((x + offset) * sample_rate), timing_info)) + # First, find the longest inquiry in this experiment # We'll add or remove a few samples from all other inquiries, to match this length def get_inquiry_len(inq_trigs): return inq_trigs[-1] - inq_trigs[0] - + + # Finds the longest inquiry in the experiment by subtracting the first trigger from the last trigger in each inquiry longest_inquiry = max(grouper(triggers, trials_per_inquiry, fillvalue='x'), key=lambda xy: get_inquiry_len(xy)) + + # What we need from gaze data is actually the shortest inquiry, not the longest + shortest_inquiry = min(grouper(triggers, trials_per_inquiry, fillvalue='x'), key=lambda xy: get_inquiry_len(xy)) + breakpoint() + + # We will trim off the extra bits in each inquiry to match the shortest inquiry + + num_samples_per_inq = get_inquiry_len(longest_inquiry) + trial_duration_samples buffer_samples = int(transformation_buffer * sample_rate) @@ -278,7 +289,7 @@ def get_inquiry_len(inq_trigs): reshaped_trigger_timing.append(trial_triggers) start = first_trigger - prestimulus_samples stop = first_trigger + num_samples_per_inq + buffer_samples - reshaped_data.append(eeg_data[:, start:stop]) + reshaped_data.append(gaze_data[:, start:stop]) breakpoint() diff --git a/bcipy/signal/model/offline_analysis_fusion.py b/bcipy/signal/model/offline_analysis_fusion.py new file mode 100644 index 000000000..e1775cf14 --- /dev/null +++ b/bcipy/signal/model/offline_analysis_fusion.py @@ -0,0 +1,138 @@ +import logging +from pathlib import Path +from typing import Tuple + +import numpy as np +import pandas as pd +from matplotlib import pyplot as plt +from sklearn.mixture import GaussianMixture + +from bcipy.config import DEFAULT_PARAMETERS_PATH, TRIGGER_FILENAME, RAW_DATA_FILENAME +from bcipy.preferences import preferences +from bcipy.helpers.acquisition import analysis_channels +from bcipy.helpers.load import ( + load_experimental_data, + load_json_parameters, + load_raw_gaze_data +) +from bcipy.helpers.triggers import TriggerType, trigger_decoder +from bcipy.signal.model.fusion_model import GazeModel + +from sklearn.model_selection import train_test_split + +log = logging.getLogger(__name__) +logging.basicConfig(level=logging.INFO, format="[%(threadName)-9s][%(asctime)s][%(name)s][%(levelname)s]: %(message)s") + +def subset_data(data: np.ndarray, labels: np.ndarray, test_size: float, random_state=0): + """Performs a train/test split on the provided data and labels, accounting for + the current shape convention (channel dimension in front, instead of batch dimension in front). + + Args: + data (np.ndarray): Shape (channels, items, time) + labels (np.ndarray): Shape (items,) + test_size (float): fraction of data to be used for testing + random_state (int, optional): fixed random seed + + Returns: + train_data (np.ndarray): Shape (channels, train_items, time) + test_data (np.ndarray): Shape (channels, test_items, time) + train_labels (np.ndarray): Shape (train_items,) + test_labels (np.ndarray): Shape (test_items,) + """ + data = data.swapaxes(0, 1) + train_data, test_data, train_labels, test_labels = train_test_split( + data, labels, test_size=test_size, random_state=random_state + ) + train_data = train_data.swapaxes(0, 1) + test_data = test_data.swapaxes(0, 1) + return train_data, test_data, train_labels, test_labels + + +def offline_analysis_fusion( + data_folder: str = None, + parameters: dict = {}, +): + + if not data_folder: + data_folder = load_experimental_data() + + # extract relevant session information from parameters file + poststim_length = parameters.get("trial_length") + prestim_length = parameters.get("prestim_length") + trials_per_inquiry = parameters.get("stim_length") + static_offset = parameters.get("static_trigger_offset") + # The task buffer length defines the min time between two inquiries + # We use half of that time here to buffer during transforms + buffer = int(parameters.get("task_buffer_length") / 2) + raw_data_file = f"{RAW_DATA_FILENAME}.csv" + + log.info( + f"\nData processing settings: \n" + f"Poststimulus: {poststim_length}s, Prestimulus: {prestim_length}s, Buffer: {buffer}s, Trials per inquiry: {trials_per_inquiry} \n" + ) + + # Load raw data + gaze_data = load_raw_gaze_data(Path(data_folder, raw_data_file)) + channels = gaze_data.channels + type_amp = gaze_data.daq_type + sample_rate = gaze_data.sample_rate + + log.info(f"Channels read from csv: {channels}") + log.info(f"Device type: {type_amp}, fs={sample_rate}") + + # Process triggers.txt files + trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( + remove_pre_fixation = False, + trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", + exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION, TriggerType.OFFSET], + ) + + # Channel map can be checked from raw_data.csv file or the devices.json located in the acquisition module + # The timestamp column [0] is already excluded. + channel_map = analysis_channels(channels, type_amp) + # channel_map = [0,0,1,1,0,1,1,0,0] + + data, fs = gaze_data.by_channel() # no transformations applied at this stage + + model = GazeModel() + + # Note that we are calling a Gaze Reshaper instead of a Trial or Inquiry Reshaper. + # We might not need a separate reshaper function. + inquiries, inquiry_labels, inquiry_timing = model.reshaper( + trial_targetness_label=trigger_targetness, + timing_info=trigger_timing, + gaze_data=data, + sample_rate=sample_rate, + trials_per_inquiry=trials_per_inquiry, + channel_map=channel_map, + poststimulus_length=poststim_length, + prestimulus_length=prestim_length, + transformation_buffer=buffer, + ) + + + + + + results = [] + # A joint reshaper? + + + return results + + +if __name__ == "__main__": + import argparse + + parser = argparse.ArgumentParser() + parser.add_argument("-d", "--data_folder", default=None) + parser.add_argument("-p", "--parameters_file", default=DEFAULT_PARAMETERS_PATH) + args = parser.parse_args() + + log.info(f"Loading params from {args.parameters_file}") + parameters = load_json_parameters(args.parameters_file, value_cast=True) + + offline_analysis_fusion( + args.data_folder, + parameters) + log.info("Offline Analysis complete.") \ No newline at end of file diff --git a/bcipy/signal/model/offline_gaze_analysis.py b/bcipy/signal/model/offline_gaze_analysis.py index 26f7819ec..6a586c22b 100644 --- a/bcipy/signal/model/offline_gaze_analysis.py +++ b/bcipy/signal/model/offline_gaze_analysis.py @@ -16,6 +16,7 @@ load_raw_gaze_data ) from bcipy.helpers.triggers import TriggerType, trigger_decoder +from bcipy.signal.model.fusion_model import GazeModel from sklearn.model_selection import train_test_split @@ -83,7 +84,7 @@ def offline_gaze_analysis( trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( remove_pre_fixation = False, trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", - exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], + exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION, TriggerType.OFFSET], ) # Channel map can be checked from raw_data.csv file or the devices.json located in the acquisition module @@ -93,15 +94,33 @@ def offline_gaze_analysis( data, fs = gaze_data.by_channel() # no transformations applied at this stage - breakpoint() - # reshaper! + model = GazeModel() + + # Note that we are calling a Gaze Reshaper instead of a Trial or Inquiry Reshaper. + # We might not need a separate reshaper function. + inquiries, inquiry_labels, inquiry_timing = model.reshaper( + trial_targetness_label=trigger_targetness, + timing_info=trigger_timing, + gaze_data=data, + sample_rate=sample_rate, + trials_per_inquiry=trials_per_inquiry, + channel_map=channel_map, + poststimulus_length=poststim_length, + prestimulus_length=prestim_length, + transformation_buffer=buffer, + ) + + + + + results = [] #TODO: # Implement reshaper. We might not need a separate reshaper function. # Plotting for offset # Plot the gaze data (check NSLR) fixation, saccade, blink - # Coordinates in Tobii for targets in each inquiry (Tobii to Psychopy units) + # Use Tobii to Psychopy units conversion return results From 13dff991bb97796a77d7eb5ba2e696067ddc8861 Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Fri, 28 Apr 2023 12:22:00 -0700 Subject: [PATCH 010/330] WIP testing --- bcipy/config.py | 1 + bcipy/helpers/load.py | 2 +- bcipy/helpers/raw_data_gaze.py | 84 -------------------------- bcipy/signal/model/offline_analysis.py | 2 +- 4 files changed, 3 insertions(+), 86 deletions(-) diff --git a/bcipy/config.py b/bcipy/config.py index 18e3f2dee..8ae227814 100644 --- a/bcipy/config.py +++ b/bcipy/config.py @@ -30,6 +30,7 @@ # core data configuration RAW_DATA_FILENAME = 'raw_data' +EYE_TRACKER_FILENAME_PREFIX = 'eyetracker_data' TRIGGER_FILENAME = 'triggers.txt' SESSION_DATA_FILENAME = 'session.json' SESSION_SUMMARY_FILENAME = 'session.xlsx' diff --git a/bcipy/helpers/load.py b/bcipy/helpers/load.py index bb953db17..56464ac57 100644 --- a/bcipy/helpers/load.py +++ b/bcipy/helpers/load.py @@ -242,7 +242,7 @@ def load_raw_gaze_data(filename: str) -> RawData: ------- RawData object with data held in memory """ - return RawGazeData.load(filename) + return RawData.load(filename) def load_txt_data() -> str: diff --git a/bcipy/helpers/raw_data_gaze.py b/bcipy/helpers/raw_data_gaze.py index bc5727e44..39b61e882 100644 --- a/bcipy/helpers/raw_data_gaze.py +++ b/bcipy/helpers/raw_data_gaze.py @@ -6,90 +6,6 @@ from bcipy.config import DEFAULT_ENCODING -class RawGazeData: - """Represents the raw eye gaze data format used by BciPy. Used primarily for loading - a raw data file into memory.""" - - def __init__(self, - daq_type: Optional[str] = None, - sample_rate: Optional[int] = None, - columns: Optional[List[str]] = None, - column_types: Optional[List[str]] = None): - self.daq_type = daq_type - self.sample_rate = sample_rate - self.columns = columns or [] - # accept a custom column type definition or default to all eeg type - self.column_types = column_types - self._rows = [] - self._dataframe = None - - @classmethod - def load(cls, filename: str): - """Constructs a RawData object by deserializing the given file. - All data will be read into memory. - - Parameters - ---------- - - filename : path to the csv file to read - """ - return load(filename) - - @property - def rows(self) -> List[List]: - """Returns the data rows""" - return self._rows - - @rows.setter - def rows(self, value): - self._rows = value - self._dataframe = None - - @property - def channels(self) -> List[str]: - """Compute the list of channels. Channels are the numeric columns - excluding the timestamp column.""" - - # Start data slice at 1 to remove the timestamp column. - return list(self.numeric_data.columns[1:]) - - @property - def numeric_data(self) -> pd.DataFrame: - """Data for columns with numeric data. This is usually comprised of the - timestamp column and device channels, excluding string triggers.""" - return self.dataframe.select_dtypes(exclude=['object']) - - @property - def channel_data(self): - """Data for columns with numeric data, excluding the timestamp column.""" - numeric_data = self.numeric_data - - numeric_vals = numeric_data.values - numeric_column_count = numeric_vals.shape[1] - # Start data slice at 1 to remove the timestamp column. - return numeric_vals[:, 1:numeric_column_count].transpose() - - def by_channel(self) -> np.ndarray: - """Data organized by channel. - - Returns - ---------- - data: C x N numpy array with samples where C is the number of channels and N - is number of time samples - fs: resulting sample rate if any transformations applied""" - - data = self.channel_data - fs = self.sample_rate - - return data, fs - - @property - def dataframe(self) -> pd.DataFrame: - """Returns a dataframe of the row data.""" - if self._dataframe is None: - self._dataframe = pd.DataFrame(data=self.rows, - columns=self.columns) - return self._dataframe - def load(filename: str) -> RawGazeData: """Reads the file at the given path and initializes a RawData object. diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index ab7a7bd6b..53217a0ad 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -3,7 +3,7 @@ from typing import Tuple import numpy as np -from bcipy.config import DEFAULT_PARAMETERS_PATH, TRIGGER_FILENAME, RAW_DATA_FILENAME, STATIC_AUDIO_PATH +from bcipy.config import DEFAULT_PARAMETERS_PATH, TRIGGER_FILENAME, RAW_DATA_FILENAME, STATIC_AUDIO_PATH, EYE_TRACKER_FILENAME_PREFIX from bcipy.preferences import preferences from bcipy.helpers.acquisition import analysis_channels from bcipy.helpers.load import ( From 93e68fa79da902d6890147ea446ec20e8a373a10 Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Fri, 28 Apr 2023 13:56:34 -0700 Subject: [PATCH 011/330] Working EEG classification! A little hacky, but all data should be loaded correctly TODO implement the GazeModel and transfer to offline analysis --- bcipy/helpers/load.py | 15 +- bcipy/helpers/raw_data.py | 8 +- bcipy/helpers/raw_data_gaze.py | 42 ----- bcipy/helpers/stimuli.py | 3 - bcipy/signal/model/offline_analysis.py | 213 ++++++++++++++----------- 5 files changed, 139 insertions(+), 142 deletions(-) delete mode 100644 bcipy/helpers/raw_data_gaze.py diff --git a/bcipy/helpers/load.py b/bcipy/helpers/load.py index 56464ac57..e5bc05ff7 100644 --- a/bcipy/helpers/load.py +++ b/bcipy/helpers/load.py @@ -20,7 +20,6 @@ InvalidExperimentException) from bcipy.helpers.parameters import Parameters from bcipy.helpers.raw_data import RawData -from bcipy.helpers.raw_data_gaze import RawGazeData from bcipy.signal.model import SignalModel log = logging.getLogger(__name__) @@ -218,18 +217,26 @@ def choose_csv_file(filename: str = None) -> str: return filename -def load_raw_data(filename: str) -> RawData: +def load_raw_data(data_folder: str, data_paths: List[str]) -> List[RawData]: """Reads the data (.csv) file written by data acquisition. Parameters ---------- - - filename : path to the serialized data (csv file) + - data_folder : path to the serialized data location + - data_paths : list of paths to the serialized data (csv file) Returns ------- RawData object with data held in memory """ - return RawData.load(filename) + data = [] + for data_path in data_paths: + filename = Path(data_folder, data_path) + if os.path.exists(filename): + data.append(RawData.load(filename)) + else: + raise FileNotFoundError(f'Could not find {filename}') + return data def load_raw_gaze_data(filename: str) -> RawData: """Reads the data (.csv) file written by data acquisition. diff --git a/bcipy/helpers/raw_data.py b/bcipy/helpers/raw_data.py index 997add14e..e915c0362 100644 --- a/bcipy/helpers/raw_data.py +++ b/bcipy/helpers/raw_data.py @@ -181,6 +181,12 @@ def append(self, row: List): self._rows.append(row) self._dataframe = None + def __str__(self) -> str: + return f"RawData({self.daq_type})" + + def __repr__(self) -> str: + return f"RawData({self.daq_type})" + def maybe_float(val): """Attempt to convert the given value to float. If conversion fails return @@ -323,7 +329,7 @@ def load(filename: str) -> RawData: def read_metadata(file_obj: TextIO) -> Tuple[str, float]: - """Reads the metadata from an open raw data file and retuns the result as + """Reads the metadata from an open raw data file and returns the result as a tuple. Increments the reader. Parameters diff --git a/bcipy/helpers/raw_data_gaze.py b/bcipy/helpers/raw_data_gaze.py deleted file mode 100644 index 39b61e882..000000000 --- a/bcipy/helpers/raw_data_gaze.py +++ /dev/null @@ -1,42 +0,0 @@ -import csv -from typing import List, Optional, TextIO, Tuple - -import numpy as np -import pandas as pd - -from bcipy.config import DEFAULT_ENCODING - - -def load(filename: str) -> RawGazeData: - """Reads the file at the given path and initializes a RawData object. - All data will be read into memory. - - Parameters - ---------- - - filename : path to the csv file to read - """ - # Loading all data from a csv is faster using pandas than using the - # RawDataReader. - with open(filename, mode='r', encoding=DEFAULT_ENCODING) as file_obj: - daq_type, sample_rate = read_metadata(file_obj) - dataframe = pd.read_csv(file_obj) - data = RawGazeData(daq_type, sample_rate, list(dataframe.columns)) - data.rows = dataframe.values.tolist() - return data - -def read_metadata(file_obj: TextIO) -> Tuple[str, float]: - """Reads the metadata from an open raw data file and retuns the result as - a tuple. Increments the reader. - - Parameters - ---------- - - file_obj : open TextIO object - - Returns - ------- - tuple of daq_type, sample_rate - """ - daq_type = next(file_obj).strip().split(',')[1] - sample_rate = float(next(file_obj).strip().split(",")[1]) - return daq_type, sample_rate - diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 53423940e..5f51dc89c 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -150,7 +150,6 @@ def get_inquiry_len(inq_trigs): return inq_trigs[-1] - inq_trigs[0] longest_inquiry = max(grouper(triggers, trials_per_inquiry, fillvalue='x'), key=lambda xy: get_inquiry_len(xy)) - breakpoint() num_samples_per_inq = get_inquiry_len(longest_inquiry) + trial_duration_samples buffer_samples = int(transformation_buffer * sample_rate) @@ -177,8 +176,6 @@ def get_inquiry_len(inq_trigs): stop = first_trigger + num_samples_per_inq + buffer_samples reshaped_data.append(eeg_data[:, start:stop]) - breakpoint() - return np.stack(reshaped_data, 1), labels, reshaped_trigger_timing @staticmethod diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index f7d957622..0975decf9 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -4,7 +4,8 @@ from bcipy.config import (DEFAULT_PARAMETERS_PATH, TRIGGER_FILENAME, RAW_DATA_FILENAME, STATIC_AUDIO_PATH, - DEFAULT_DEVICE_SPEC_FILENAME) + DEFAULT_DEVICE_SPEC_FILENAME, + EYE_TRACKER_FILENAME_PREFIX) from bcipy.preferences import preferences from bcipy.helpers.acquisition import analysis_channels from bcipy.helpers.load import ( @@ -99,7 +100,27 @@ def offline_analysis( # The task buffer length defines the min time between two inquiries # We use half of that time here to buffer during transforms buffer = int(parameters.get("task_buffer_length") / 2) - raw_data_file = f"{RAW_DATA_FILENAME}.csv" + + acq_mode = parameters.get("acq_mode") + # handle multiple acquisition. Note: we only currently support Eyetracker + EEG + data_file_paths = [] + if '+' in acq_mode: + if 'eyetracker' in acq_mode.lower(): + # find the eyetracker data file with the prefix of EYE_TRACKER_FILENAME_PREFIX + eye_tracker_file = [ f.name for f in Path(data_folder).iterdir() if f.name.startswith(EYE_TRACKER_FILENAME_PREFIX)] + assert len(eye_tracker_file) == 1, f"Found {len(eye_tracker_file)} eyetracker files in {data_folder}. Expected 1." + data_file_paths.extend(eye_tracker_file) + else: + raise ValueError(f"Unsupported acquisition mode: {acq_mode}. Eyetracker must be included.") + if 'eeg' in acq_mode.lower(): + # find the eeg data file with the prefix of EEG_FILENAME_PREFIX + eeg_file = [ f.name for f in Path(data_folder).iterdir() if f.name.startswith(RAW_DATA_FILENAME)] + assert len(eeg_file) == 1, f"Found {len(eeg_file)} EEG files in {data_folder}. Expected 1." + data_file_paths.extend(eeg_file) + else: + raise ValueError(f"Unsupported acquisition mode: {acq_mode}. EEG must be included.") + else: + data_file_paths = [f"{RAW_DATA_FILENAME}.csv"] # get signal filtering information downsample_rate = parameters.get("down_sampling_rate") @@ -117,97 +138,105 @@ def offline_analysis( f"Static offset: {static_offset}" ) - # Load raw data - raw_data = load_raw_data(Path(data_folder, raw_data_file)) - channels = raw_data.channels - type_amp = raw_data.daq_type - sample_rate = raw_data.sample_rate - - devices.load(Path(data_folder, DEFAULT_DEVICE_SPEC_FILENAME)) - device_spec = devices.preconfigured_device(raw_data.daq_type) - - # setup filtering - default_transform = get_default_transform( - sample_rate_hz=sample_rate, - notch_freq_hz=notch_filter, - bandpass_low=filter_low, - bandpass_high=filter_high, - bandpass_order=filter_order, - downsample_factor=downsample_rate, - ) - - log.info(f"Channels read from csv: {channels}") - log.info(f"Device type: {type_amp}, fs={sample_rate}") - - k_folds = parameters.get("k_folds") - model = PcaRdaKdeModel(k_folds=k_folds) + # Load raw data: [RawData(Tobii-P0), RawData(DSI-24)] + raw_data = load_raw_data(data_folder, data_file_paths) + + for mode_data in raw_data: + devices.load(Path(data_folder, DEFAULT_DEVICE_SPEC_FILENAME)) + device_spec = devices.preconfigured_device(mode_data.daq_type) + # extract relevant information from raw data object eeg + if device_spec.content_type == "EEG": + channels = mode_data.channels + type_amp = mode_data.daq_type + sample_rate = mode_data.sample_rate + + # setup filtering + default_transform = get_default_transform( + sample_rate_hz=sample_rate, + notch_freq_hz=notch_filter, + bandpass_low=filter_low, + bandpass_high=filter_high, + bandpass_order=filter_order, + downsample_factor=downsample_rate, + ) + + log.info(f"Channels read from csv: {channels}") + log.info(f"Device type: {type_amp}, fs={sample_rate}") + + k_folds = parameters.get("k_folds") + model = PcaRdaKdeModel(k_folds=k_folds) + + # Process triggers.txt files + trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( + offset=static_offset, + trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", + exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], + ) + # Channel map can be checked from data.csv file or the devices.json located in the acquisition module + # The timestamp column [0] is already excluded. + channel_map = analysis_channels(channels, device_spec) + channels_used = [channels[i] for i, keep in enumerate(channel_map) if keep == 1] + log.info(f'Channels used in analysis: {channels_used}') + + data, fs = mode_data.by_channel() + + inquiries, inquiry_labels, inquiry_timing = model.reshaper( + trial_targetness_label=trigger_targetness, + timing_info=trigger_timing, + eeg_data=data, + sample_rate=sample_rate, + trials_per_inquiry=trials_per_inquiry, + channel_map=channel_map, + poststimulus_length=poststim_length, + prestimulus_length=prestim_length, + transformation_buffer=buffer, + ) + + inquiries, fs = filter_inquiries(inquiries, default_transform, sample_rate) + inquiry_timing = update_inquiry_timing(inquiry_timing, downsample_rate) + trial_duration_samples = int(poststim_length * fs) + trial_data = model.reshaper.extract_trials(inquiries, trial_duration_samples, inquiry_timing) + + # define the training classes using integers, where 0=nontargets/1=targets + labels = inquiry_labels.flatten() + + # train and save the model as a pkl file + log.info("Training EEG model. This will take some time...") + model = PcaRdaKdeModel(k_folds=k_folds) + model.fit(trial_data, labels) + log.info(f"Training EEG complete [AUC={model.auc:0.4f}]. Saving data...") + + model.save(data_folder + f"/model_{model.auc:0.4f}.pkl") + preferences.signal_model_directory = data_folder + + # Using an 80/20 split, report on balanced accuracy + if estimate_balanced_acc: + train_data, test_data, train_labels, test_labels = subset_data(trial_data, labels, test_size=0.2) + dummy_model = PcaRdaKdeModel(k_folds=k_folds) + dummy_model.fit(train_data, train_labels) + probs = dummy_model.predict_proba(test_data) + preds = probs.argmax(-1) + score = balanced_accuracy_score(test_labels, preds) + log.info(f"Balanced acc with 80/20 split: {score}") + del dummy_model, train_data, test_data, train_labels, test_labels, probs, preds + + figure_handles = visualize_erp( + mode_data, + channel_map, + trigger_timing, + labels, + poststim_length, + transform=default_transform, + plot_average=True, + plot_topomaps=True, + save_path=data_folder if save_figures else None, + show=show_figures + ) + if device_spec.content_type == "Eyetracker": + # TODO: Add eyetracker processing + log.info("Eyetracker data found. Processing not yet implemented.") + pass - # Process triggers.txt files - trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( - offset=static_offset, - trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", - exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], - ) - # Channel map can be checked from raw_data.csv file or the devices.json located in the acquisition module - # The timestamp column [0] is already excluded. - channel_map = analysis_channels(channels, device_spec) - channels_used = [channels[i] for i, keep in enumerate(channel_map) if keep == 1] - log.info(f'Channels used in analysis: {channels_used}') - - data, fs = raw_data.by_channel() - - inquiries, inquiry_labels, inquiry_timing = model.reshaper( - trial_targetness_label=trigger_targetness, - timing_info=trigger_timing, - eeg_data=data, - sample_rate=sample_rate, - trials_per_inquiry=trials_per_inquiry, - channel_map=channel_map, - poststimulus_length=poststim_length, - prestimulus_length=prestim_length, - transformation_buffer=buffer, - ) - - inquiries, fs = filter_inquiries(inquiries, default_transform, sample_rate) - inquiry_timing = update_inquiry_timing(inquiry_timing, downsample_rate) - trial_duration_samples = int(poststim_length * fs) - data = model.reshaper.extract_trials(inquiries, trial_duration_samples, inquiry_timing) - - # define the training classes using integers, where 0=nontargets/1=targets - labels = inquiry_labels.flatten() - - # train and save the model as a pkl file - log.info("Training model. This will take some time...") - model = PcaRdaKdeModel(k_folds=k_folds) - model.fit(data, labels) - log.info(f"Training complete [AUC={model.auc:0.4f}]. Saving data...") - - model.save(data_folder + f"/model_{model.auc:0.4f}.pkl") - preferences.signal_model_directory = data_folder - - # Using an 80/20 split, report on balanced accuracy - if estimate_balanced_acc: - train_data, test_data, train_labels, test_labels = subset_data(data, labels, test_size=0.2) - dummy_model = PcaRdaKdeModel(k_folds=k_folds) - dummy_model.fit(train_data, train_labels) - probs = dummy_model.predict_proba(test_data) - preds = probs.argmax(-1) - score = balanced_accuracy_score(test_labels, preds) - log.info(f"Balanced acc with 80/20 split: {score}") - del dummy_model, train_data, test_data, train_labels, test_labels, probs, preds - - figure_handles = visualize_erp( - raw_data, - channel_map, - trigger_timing, - labels, - poststim_length, - transform=default_transform, - plot_average=True, - plot_topomaps=True, - save_path=data_folder if save_figures else None, - show=show_figures - ) if alert_finished: play_sound(f"{STATIC_AUDIO_PATH}/{parameters['alert_sound_file']}") return model, figure_handles From 97113b1b886ad0c95192b1fee25388eb494082cf Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Thu, 4 May 2023 19:12:46 -0700 Subject: [PATCH 012/330] WIP plotting --- scripts/python/matrix_grid.png | Bin 0 -> 62273 bytes scripts/python/plot_eye_data.py | 89 ++++++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 scripts/python/matrix_grid.png create mode 100644 scripts/python/plot_eye_data.py diff --git a/scripts/python/matrix_grid.png b/scripts/python/matrix_grid.png new file mode 100644 index 0000000000000000000000000000000000000000..d276b5caa3d080cfb82e32a2e57447d77ed6ce70 GIT binary patch literal 62273 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
`{GnY6;WcPzRGRfGVfnkpEdLe1 zW0tKHa%UHu6Mk@`ey+^P987>5HfqHRLcI#Sopb5j;Sd^xe~;QU-&-+BrkH<1Yecq@ zTm*5pVM%^_nAQ`!K_}6xW<}?mk&nazF`DZ`<2yC~$iQoo!qJp_z&(dji}{|Em_M5#ARU}A2i9Zm_&sQylf&m2@{%$xZ^9aKFMsf z2%HCCmIw4-EO6umEQO)dGk4I{aQ|b+kK}*h4caA@ZQM4eI{EJqKw2PjWO|ds9HTWr zTsYnRV$F%L+&JC;))8+szsZn_9ETQJbm$=1M_S7qC^tsd)FC(n}G^bh2S#d{C^x1SCDBh+iGmOS3GxBBPUx>j=0k>@hDN zg(^*pxS03*)sT0R*%UkKjTz>D0FPa_wVO(Pv;Tp__zdl>&fsfIGoze2AsEhH6csKA z-8FB+o7x=njLDvu$K9^DHB)&Bp$8gEtF`6bDB}2&?XV!{Eh))EViiQhePB%NKJfOR zy+3c=XuTvoSw#OrUQYO4eRI`@`*tJ5ujjYXt-e4Q99lUjsR6WpC&ha1(`x)HZ zbl^Lb01qJs+;BGZ*4eP84Fgw$s~|z7az3AjU}kDmbM)A{sa4r`bDKpQ*W_}?j!|{_BF&Mlbwzo>9MdJX+yvC9}o#xuY#q% zdg5jy<7`gheg`^HMH8?DH%MJzAB^8E7*kc~ZkacZYC@c#vTxD}^(6Sv(d*>*NC9Q_ z!omydC2npb!{d@m^M$^MjoHy*B>ZiL{*3> zF70m3**5t!noyK=ni%HB%p(=$)9v}2PsJSQ&6IFwLs(R-`_QtdJ2~Q!!y7R%@T^wb zIzbDV*Uq|uI7aDzH4@Z<%Rl(Piutb}y8B~j9O?ReVDeczY5*~1N$o%=`1xdalu~bf zb8R^fa8{q_RahRTtNIRm%nKE@fO7VV{DIqlUb#`FVbb%i@jf{ExuN55E?5)wQgk0& za}PYuW=fnkD>sOp4pe?^@8zor$xFp*Bt=1sa_DuRojkpLqJ2))2KW)*fsY21r*{Y8~$U3qMNlcgBS-SJUtOAd4aUh@ZlZqbn{ktA>A z%+}9Wl?SrA9y=$vQSbOP&(7Ab6I9s*IJ)XVUzPN-bI|D+WADD&ktg{d(9DU7uIXUv zj6wB(7iW#RjI%(WB`*6%{5EVR(dt>)hHSw+EYmx^zkPL8h%I40DSl&Kv6ks|nDSJg zZCcH8f!rj}*k!3JuNUrP#;0dxkE9H>!JB1yVbrK&4gp$XcG>r88sGod-j|0%y}y5J zSAAQoNzy*mpeQ6Kp-@CpW7HICoNAC9qC}R8lPyj;q=h8HFr-EybWRyX$(AJ*9j&%3 zh06AO-P7}XuIu^lcU{jv&viY=Umcxh`F!4=_xrwI_iK5Bb-z1D?hSEv@0Km<|MP6< zeY3 z%+Prg@G8D2hF7JiKgTJg@)+edLEJ&y6&G+v8Vxc!!Yz_2z=CA2XjZ$hTOi9URhUCKKc$unV#oy330**%Dm&35=O^MMY8Z0r+F4f9}~~ zVV=L~UXIfvcUEb!QR>^+8^J-gRlW)5fefh4JBF=KavPNens5!ni5i+YDcj!qi0D)> z=jzG_sSP&iobEY3$Yx2=S3@!Stma$e16zjCl{win{sEY5`^9dlyp=LAr|-va+3kL+ zlSL^@d*mb~Tr5E0ENS^iQ#t;6PBTWCSLmQM(Mx>>cbvQ>^Ck3y1D48bY$)BL|N%b zwGs9w)sduIvCHWB7T(4=#~;`!v29C^+;^Ad47GGY!I`?5(eu%3?Wzsw=1o9PFh|>4 z|7pXF{dla?yp=Z1{|$)S$0O307H+uA%dzR)DUhES)UcXq7hPQOdu~O1rGq>6OzdoS z{O{kn+|fr1c@$yCk9Q!k*x?sx(&s+3!4!}3bJABVa5$)z==3&@V=HyCnYkSasT$GNo!2&m z_b+0X>%;WNS|x6wK^#!+^sQeb)kY3yG(`@tQ3;t`33Eiak^%%^ak=GM2Cp~QG z?{W@R)72S1P9YU}52mQdc1h^omGmN!PCkeVQo*FjIO^QAYr#PvV zge3IiP_#tV^43d#(!%*Pyn+xdyiLHHgqm%&{340Ud^GT9X07Q#ac|z_brfLA7V-I^ z*$*_>90k!~qCT7bU9(FMHuy8HtF+sIg zWs}1K;4SuiO+4F)5sg~Ed3yW=$%lpWAVAdG+c$a80P85&%nha}- zd*lsw6oz)%F zx{&~)a_3_#iPVh5C8F{B12@+)M2k*@PEglqwYN~ZUA00TPtZVco1j5B?@~K@m}i4* zh&hARdBDt+SE`Z{H~sVeJ`83)$_Lb*YP=DuuJ-J@+0?QYr4YT-Eh7bn;l?}VUeEDU zEiwtTuYIsKbqO<$JQ>NBS{AdM^{42dsSW*WrvDvm=pPGf+Fn5MUxToM*4eTFY^dmT z3qIA(<%%3~Y9D5Ey|}sGBdiZsO-YW4^$^sBPD)rE;(WmT@pC5!_&I9q+xbCj{VBdv z6n`4GOFG(GDAdU$KT5v!OM+YJP-r^4l3_w4mLcaQ8ZV9$RPVB6LQZkdY?o4|MaH9? zUozjWeyYAvqjzI~oUIfy$Z!E?@10)*6sJz+My5GMbF6$D?j7rDc|D`^phK3xY@l5# zLFC^~U_`jVTO+xBfm^C#a_aOf_Cz|Yd`E*#g|yEwb14tgZGY`woLzu5cmp>*3!Lsc zi0pI=yq0C$J?VC6>+YkMQz!N{p4wS8vD=@Um|T}+ugcm9!zQ!Bk_t=@wC?+}QozW` z5b-4v49yLiK#0k6Pd=aeV>habN0Y~v$VYV}0ALx8l?N@U@F(7(er@4jA)-mq6q9p& zG-aZcov{L|HD6Jt53;&FVzTWKPU{6^t&z^Ccy5k5H2g8Txuq6YU*2&ch`8lppk6qI+drnUPfw`54N26bze-Nt{agwU?Kj`VidzKx#be zm!d=wr@&A3*~Qd#S!_9lf1El(k{A9FGxMaAY6IV6o|0i@L-dxau`V6mPKVsqncRF{ zJy6zjo52~d){RW;?WQUrbA8CR1rKtvUyh9s)cG%E$vmoAa7Jl+4m`Cw7I>kr)l73= z8Lx&4qdC9g$%6i@MvP9)3RA`=I1pC(0Kd0ACjA@A%&W@|7o>Mit(wpN)#>iI?$f+J zmTNPgKv?)W2)yd=5Xq%rC0Ecdkh&v^UskEu@{MR$wLWK3`BXx!Z*m&u{ZardlwG(c z)ORaU1Y$i>jE&L@$vLp4M^@%5#Eq7hxS`8?-4y@Emos+=yE>`IlY?evunXW+Mq524 zFMjzL9yGa%skYvE34!)MNG)`1oBgZ%q{a2TD)p8_`v1Duqq*l(jg+9~A!{&G^2rp6Y-#f&pfc^G(xHIJFeHQXQ=j!$&|6;#2jU9X=jqN|#dLv%6Ft1{dB z*sC7~2A2*(pm>8jUvWTBBTu<=)turaUbrrj1Xv+QY6B) zEQ&Hs)LD)#>x)VVhV^t!n{0({El>LDN+uu0k#~IXl*WdS7Fr9>q66Qe#qYFJRn`F< z$4DJCQMw?t;Wd0KJZDuDYZT$L+6d;45BNYMm=fF;t7F^u!zka3ED|v!62;F%F=APM zQ?>DT^T(lU10p`5Yf7KpU+n1#kzIw)rkwYu0#obG8cXIB9W2fRBj{+~-vt};= ze-zdBTZJXGQSqd6j{HnNR4CLB6JhrH+fe^`KK6zV#cqIoQ|e!*F#8R|>Q0a)pGNfw zx0MhzZK@sS^xWnGUn?JAOH`gGe7y%p@$=U*i`i$4?|tS_ z=(|gdSei?eIQ4N^>GssDu=Hb8c(x7s^H+ zNv-}E*6*L~YQ1iwQBZB9vFHiFm3pSNy~jE!Kgw|V9?M_Sc#!bm^7?@oX`kD~6xC9x z+ju34te`lw)j`?%8$sJZTW3^*?7!`zAb0FbFJi% z!vjB$;R)Jfp*NM3*GbOhlR7)+AjoB|4{*>Yfz*m&s;?IA^9NN-3Jwl8guy=P1* zm;2{AS(A(lgj z8C=)x_7p_OASqen%k?qxA8RN)7#(^c=xg5!C=1X|QuZSwhM;(zmFXZ1}e&VZ^XD4qm68r}jXtr`#u5en*~x87sxGY@v2{LU=w@lxIj9PyxwU>XFyHN3 z%YL6&721cqZ$X2Z`yoo{*F8+@diBo5zS zoC$Q+FV+^uQq|xeT$;CP(WlT!?%J)`fGb=#o$*Ug$(Jz_+QX$;LpT|{(pXp02 zAj26v5X|pnw(wH5)_J!~eHU-C7e-o180>1^T^FXetxdpH-fjNas8Vk9Fl8OMcyXou z5%{UKJOB4@Cs0~DkL=o8ef5rPR7BO3o7*qv=&Vc>HIm9JbTA2gax}~D9cFR1s6Gu1 zJqM4bSF3F<7e|KPPaT_fY#1o*cdq4CGr2w4HwD{&5q>kTZJe{=bgDx5a0-7y{Ir%= zV$~!{+NQQggTPT^K%*|muPArZm#rujPfo{5l*>F(<_x6F`O9dT@?wVxBOqnHekZp# z`<#oghogE^l6t3XM4>AD&Vs2&31mn z^L2cKmU^?6g5bJ~Rd=Yh<=-7%E0@%_`_Mi~n=9 z$Ek(Xm6i-+135uF8DbTjG28R@vb2Zs)HI?Qx1#iR?F(Ui%O>JY^El(jKOEdv6e~Nq zWsL3|+GU1>X>u3wimiwRg1?YjWXcRau;AG5nu+eFnI!r{5S3nfz* zbFxZ$<~(AnWykJ?!)2b_{@tO*7s$2XbzL7d`E02V-pWW^6^_b*5P4nbh4~5nug=e(N1embbV$wUE}z? z`c4d2B9B-^+6cWu+r9S;Ts~qOIecp2;#^dbM2Mw~q1`2+Vm9KFl{^=#5ZS4B z6nFnU%cs2n4Xfy0-K;p-MCrR4(P}--GvgFm^2RYk%(^9ywN0?L5&%pZPAfmn?mqFmX4l2AQk zZe$R!w|f@->S;^mjf(r$u}3y--sXC15@*Mi8QC)#98)d!t3@LID1ehhg_CtM^^Y6g zrfHmXQmP<9>SeZ?Xn=U*&SDd1yTZxb0U*pNczyjD{^xm>?bmDj$nJ9P)f^O2g& z|AdMrOHIt_(^}6=PvqQ*Zx~b`$&BH#Zeas^XHyvSm0Wx>4>8;A7)JYTRP!C5a?2X( zkKpS$Rr|$D%mlz5L|&&Zw@MkKql^N9^2C;Zw7feXjqD=%f96D9SoyUvy7`hB+y|?* z2P2}NxEyzhocx@3`8LTmr!;-@eIaL8IX^-~YP~|3>7cup$~9>(D;Ynja(g1PA3TK& zpV#5+6J$z$efPvWe@dQstHdAhMPbz%lK9|4h$Z=(5fYxB?i4cRVZ#^Ii0ikEpOmAA z(QbbGTv{#q?dmK+X$#tZcIthrdk%$UC6X zqdv8=m%HCbb^J~gh>%}5UKQRzFl9Vb|4nVnX_Iu&(^w;-ot$`E_QLK{5sBQ_3XS!MrozGkDcEZHkgjG_fyMEE;LZDR~moXdE2(M{` zGhO=UavA+eIQg!81>ab9QTJ&u^C^w^=I0~7zOq!poF?zoZ(Qj|L&%e^P4!LVo~#5F zw&nP&027jY8)nRG#|SO{T?Ynjej>&#a+w+VLL9DgK;mlyfGtM$?lk{g99rSk;04^Z z8p-M0)9wKwM&oz5S#*)PFsaN?rNz=z_&FlD)`iH{59iiB@+{ovc|z47*x7qL%ME+d z2~6GCcS%Gkk!p^3#FL3jk3D1##WsWwWV>hV>)ScxG*%{IIJn(wPsJQN{i4iGBG#UI z>#c~XGk5}2O01LHcBw?`9YTun6Tto{$wYp&CS{z_j~Ub%;y?WRtN-_}MAT51)`v6A zV?C6hDYF3EYk8CP08}k&U_O`cwZ`q@p=b1%4O_Co~Wb4lwQ($ntKK9$R7;&Sa|^HzX5LD?ZXYL zk>@0Y*Fg$OX}-epW*CLV5t~yJ&kpcMu|o?K{gz}#q%rm_h-G=zXuZ$*yI8iIps`5} zrM#=mrVZ6xo$9+cd~}X$Bnjhbv+JI&%G1FoNBU6$#>}|a)|hjqY%hZaJ0oPZ%ME} z2QP`sL?q?(EOEs%zVQNyd0hZKv?iRMZU%&SnTZM}qK~R!{~^x9`tQ{`#~`65_-KIG z5(fn#E~hruMhYFbHvYn()c!WGqJTg_hO&Zu@msOSFEdH-6>E*f+C;)l(G=3eU@qjg zq-;<#p=bR{$UHn6h$12g9(kM?b`3 z0X7vVN%UOW;(rn-N^iWFf3)*bMG*SURb*q5r^ldMbChn)arCETIJoDSmJf^^AzEv@ zqw1VV+%W+F5CVgH*YmB&zLkp`f(4~>cjPkcAHvR+(Q+ZDMR97kxM&TEaDYcv>EQHu zXsKE$+gHq%<#Xslnv1!c3uIgP)LYrnvP^2y<_3pKY!!1^o zE*3S@LZtVWRqG=H*H`ppq*M8|1$f)}AARjM;pVx#(OEvdUr}=?q;;T~E>r35e7Vs_ zHmV1m_OZ%)fJ4~fY_W?=D4!R`&Z?GT9FQtANxx53;$0yMYLyxak|vF2{z*0QEsei&a;plX zq=G0?({IKD!q@BsKqiC#z-E>=Y%h4D(*HSx870=Pp6p-5G}8uuS_od=4X^~{u1Aw= zDf-ystz=*~NAY3tAuMA{O2-sG!Q#Ce3iS0|KB=Ko@Sci@A@Xq2FjW4h3YW?T8(H*1 zB3t%kwsNIM@zF}tJDiUL?y3RkmQWUWbSdM5!_~W~Q>b3j;Oq*#W##J*rFDwcbrZSk zmFtVMmDOx#VGb!)mlsYDd+d_Ql8rpwM+?%97E-XYWo-S_Gu#>Rl6SbLZmnh8`}Pg- z-y;>uj8IteJ%*Q!{txg(#S07zLVi)L@%uOSK)Wb`Q*Ke^`lonY9RcB%S)U}tj?ylA zE6#YUtyBqV+b~rIZ#O^rlSRwq*&x#uHe>C_lAP?4%Vq9%jsC3A$~Nq2t{NQs4u@XE zLoO9_2C!d7GpbD5@QakvEsb#vFV&ufc@MHg*>eX)#DO=5v08vb+|dR6wExbn%lY zyO8A27!&CW;2tGb%#S2Fw(RsrmFm8P-4Ue_HVY6}dW$7}1~6zAF!?lXq9g9P;6DTg zgF(>w=Rg7fAbxE@Q9GHLd`9D_fKpU}>#1Rr4dxe$qYc(E_ zKOwzW_qnBE75c^#6sHPn7TI210-d-94Tq~wJ!!~@p-t>P+SA;gjzc*;7aw5WE=>Qb z?*n*#4#GZqCURSL!9J147|gF9XO8q6jZ+Urn@al zc(Lo$&}MTx>@5+kc-Yd`j+s|$ojvdjln%S_aAz_cHGGcNVkh`w+Ar*py41UVeP#UD zju)$KOzCLFp+|l0nLC&(rTX$?ml-M4LP97l<+>)-94N8kl!Z%|8;(GWC(G`*b z8Wg)t$9=F^3>(t}hg!RtuO&4qLMAQN{zpeN^`gf!665v?*QNJ$y=^`Wi7=S3XOYDPpd{K)Oq6M zw^&|6?kd?E(8RtestpIT%r-m{22;^fv7`)lup*V9*U8(?zl2>ZnYNg`X{=Z*=_8Nj zE`PC+8MHO7tp)gQ7yeiA%4Z>d!#|SIL9fP?XOD=t-)g@*c^&({Y*9LSNB(c8Ko-eC ziEY#S;53+W^8SrpRMm>j+(EAY<8(dgM9#2(UWBz+iHaygvBi<~I}T=&O)0I%iM)z7 ze@8TxX^Ow0?Aeqz+)QIIJO?v7Yqo+Ax#!~cbSHI2&-G4w;b>Ty3~x(Sn=1_H%;_1R zlFWUxb-R~kT3VXBaGHG0YP6&3T2+Co-`{QR#&?9#HdIm_->j60S($^&0R`6{JyQCA&iLF?oq5O{vYYC~K_?EmQnC9Ax#}j@|7Sqy- z;6=4(vKJ_l%p6Tc!KqxOE&OtOth|Q>%xOr;bIRH_VQQS-DE%a zcXYcJ-a?22++eQ8KYlp;QjkEv|L|@QQ?V=9Gm0QKBJwL?oSIN!aK|(J2z20Jt0Dzg zbpEj}yKuI=&rP!b$YUCB6BV!6kg9XQ6}1qh-6oMjYo&Q`f)+CaZxwI{M;b41rzZuS zZmk^orD~*0T(=tzR>B6mVA4wfGrO_B4Gz+bVzW4k7rRNARjdw?>{@|!nvxaZVVBv~ zS-961ne=QdqkD4>3PgLv)iAPhBd0_W`JSA+7#kdI=wPHAL`@iW$dhPS58mrvaT-~? zpWpcar{~pyePM64_>(T@--W%DMCC2++mMa^-_#`f)}h~Vj6eRtbgJr21C8y?xFi=T z`;vC&S&P(r+L2YK3!~;E&O(mNcPW-0${R|z*-G>qjVbSUf$LgBq@FLioz=-(#N_%c z_?!yi0{&hvld2(dBxrHP+e)~Y?w2!=F|w|uRfXn&6aHM@e-yjj>JZC&y-`<(7K=>) zz#Pfg?beGSK@x>yc6}MwX%Q&i$aTqr1apLV%1_mNq;w=n{6t|3m*7ohrb}GnA-$p% z-@z2U<$>~$A>QaQJdH^>pbQ7~8_%Zdyg+F^+hiIz&I+R@1Z~i`g`IWK^ zXA2aLHPTyD&rySEa(4il!BR5*iXt3LshTM6-}fk>iEE0a#mlqB<9Yzi3XHj*sC1`` z-7Bb{d8o#l!R6{RzSBXj2`>pM#$Y{3x${n(>PuWk~gEcz(#Uvk7rvMDqM>WBB-ZQ7qDpgOqm!|I~)!+>#%b@g?PU5ZZVNN ztry(w38vrLn|$kY($*|=`7YCQ#4LVU#&kE|h_}7)hchRMfj6GH-kw)D?OwIq%3he% zhUb}59**$n(Ac9fr~c>|szin4BD9(!y|fuvV8Z|P{O&>H+P#77oQN;;!sJilyL*wQkxahb z_s*$hS4nG+RmB_beE{XaCDWb8n=}Zd1c; zdx^RnEYs}@y|r|Op=}wG_YyZa13xWw8N29PsPhn_2XZ6xJ;pJdrm5fH{ zmqN5(7E=U?jZCHxF3>?9D8b%WGEX&=v8aXiE=_g3y4d1SB94U^AF)3s&8TorN~WO9 zy5vE-o7hh}C}Kf>Tt0S_FY6B>FtoyD#Thi>k1j9d%OX*%)Z?!)lajE#)#U5j@w1zsa zTK4YbljA1U3BGxuK&loGgTbukj@K=s;6<8V0_;BONJzLi_y`KzSMTIw2_C~f?nH+V z##Q&KX`(%lAKDEXE8b#gUNoMMq+6l=%TDoAZ-nysP!eP+2vnJA)8UZvYN3UeWLynfLt>dZNT8_-HtSRlOFMx~o3Tn~{yStYOjEQHR8y90w5r$(K=absd$ zmGp0fgORBDN2ja*<&7$IVLI?sSDI1=Jux1B`U)^fe_Ug2V;j8!s=PhB#tzLtmDX^K z$rLOUHhR=p)X+qj)L=?HEs>>PZxo|5i06h^M&8o16d`YG$s3&}0 z{|juwJajSQ`C_MQ;A<74@bL+7$^jt^#*&HrWDELbD`ahIBNOpqw!!UMLiZ+G{B>kH z?+Dq`)}N1^4~m2uvfIH4bdfur7fLaEcPocbr5$=PS+T{-9O0mDJQ^N#-s`H;$Tl36E`ny~+n! zR77Xk8dboBV%hW$>(&@0=NSQ>mycvE1ty7WIC34Ap9={{6pPe=sV1pVj17d zMxmr;0hc4ur*8{Wkx6)_*N$wvwrWffMoS77rfwJeDJ~beJ6k@MDE|$7qZ?{>8WO$M z6gBLjc8rp+R+=RA!Jx>al^oaS9J*;(&PVGI>EOY2-FOuI{&(6z_Wr}3;4-61hIjl} z9%G-J%ylA~$H5ee9?!Jd?3`I>J&x+aJh&r;mSE*c$8m&$;otlZT^SkQo1LG|xIZCb zIoZx>L&1RRjF`N_a_yH%Fy6|=5OfXX%r~w_=rYBK*5<*Zgg?_pO;&;!W8r5mOtca% zQrifqj8ibD8K=@!Ist!L`r$Q77e^%l9!gnZn=iYl^Cb%KIFm@_xRP+Ud-NqMt$w;- zqVPJa_us~ocu{(B3DR|n|A4>zzyFna@BR8%u{Y*l#XPX?O;s{(Zs^JM9mJri8hcV) z(a4W>LPo`_MM6R*j|`nC;YxI`zZ0d-Dd}`E{uzyk{9M z!jQrLw%Y_qFMjR+=`F?60*S+}PQ$f5H{D1K%m~Q{! Z|0VNuP1HKsxAd(|jkg+QZrFS3zW|tS)0O}L literal 0 HcmV?d00001 diff --git a/scripts/python/plot_eye_data.py b/scripts/python/plot_eye_data.py new file mode 100644 index 000000000..0a1dd0ef1 --- /dev/null +++ b/scripts/python/plot_eye_data.py @@ -0,0 +1,89 @@ + +from bcipy.helpers.raw_data import load + +DIPSIZE = (1707, 1067) +IMG_PATH = 'C:\\Users\\tabme\\work\\bci\\BciPy\\scripts\\python\\matrix_grid.png' + +def load_eye_tracking_data(path): + data = load(f'{path}/eyetracker_data_tobii-p0.csv') + + left_eye_channel_map = [0,0,1,1,0,0,0,0,0] + left_eye_data, _, _ = data.by_channel_map(left_eye_channel_map) + left_eye_x = left_eye_data[0] + left_eye_y = left_eye_data[1] + + right_eye_channel_map = [0,0,0,0,0,1,1,0,0] + right_eye_data, _, _ = data.by_channel_map(right_eye_channel_map) + right_eye_x = right_eye_data[0] + right_eye_y = right_eye_data[1] + return left_eye_x, left_eye_y, right_eye_x, right_eye_y + + +if __name__ == "__main__": + import argparse + from pathlib import Path + from bcipy.helpers.load import load_experimental_data + import matplotlib.pyplot as plt + from matplotlib import image + import numpy as np + import seaborn as sns + import pandas as pd + + parser = argparse.ArgumentParser() + parser.add_argument( + '-p', + '--path', + help='Path to the directory with raw_data to be converted', + required=False) + args = parser.parse_args() + + # if no path is provided, prompt for one using a GUI + path = args.path + if not path: + path = load_experimental_data() + + data = load_eye_tracking_data(path) + lx, ly, rx, ry = data + + dpi = 100 + + # load the image + img = plt.imread(IMG_PATH) + # img = np.flipud(img) + + w, h = len(img[0]), len(img) + + # resize the image to fit the display + # img = np.resize(img, (DIPSIZE[1], DIPSIZE[0], 4)) + fig, ax = plt.subplots() + ax.imshow(img, extent=[0, 1, 0, 1]) + # ax.scatter(lx, ly, c='r', s=1) + # ax.scatter(rx, ry, c='b', s=1) + # transform the eye data to fit the display. remove > 1 values < 0 values and flip the y axis + lx = np.clip(lx, 0, 1) + ly = np.clip(ly, 0, 1) + rx = np.clip(rx, 0, 1) + ry = np.clip(ry, 0, 1) + ly = 1 - ly + ry = 1 - ry + + # plot the eye data + # ax.plot(lx, ly, c='r', linewidth=1) + # ax.plot(rx, ry, c='b', linewidth=1) + + # remove nan values + # lx = lx[~np.isnan(lx)] + # ly = ly[~np.isnan(ly)] + # rx = rx[~np.isnan(rx)] + # ry = ry[~np.isnan(ry)] + + # determine kde of the eye data + # ax = sns.kdeplot(lx, ly, cmap="mako", fill=False, thresh=0.05, levels=10) + + + ax.scatter(lx, ly, c='r', s=1) + ax.scatter(rx, ry, c='b', s=1) + + # plt.show() + + breakpoint() \ No newline at end of file From 2801438ee7b84629dcadcc216cf003bca3273c40 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 9 May 2023 16:36:40 -0700 Subject: [PATCH 013/330] Added the ContentType enum for supported data acquisition device types --- bcipy/acquisition/exceptions.py | 4 +++ bcipy/acquisition/multimodal.py | 33 ++++++++++++++++-- bcipy/acquisition/tests/test_content_type.py | 35 ++++++++++++++++++++ 3 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 bcipy/acquisition/tests/test_content_type.py diff --git a/bcipy/acquisition/exceptions.py b/bcipy/acquisition/exceptions.py index f0e8e2f48..449bd0050 100644 --- a/bcipy/acquisition/exceptions.py +++ b/bcipy/acquisition/exceptions.py @@ -1,3 +1,7 @@ class InvalidClockError(Exception): def __init__(self, msg): Exception.__init__(self, msg) + +class UnsupportedContentType(Exception): + """Error that occurs when attempting to collect data from a device with a + content type that is not yet supported by BciPy.""" \ No newline at end of file diff --git a/bcipy/acquisition/multimodal.py b/bcipy/acquisition/multimodal.py index a60ab0de5..90a2f8352 100644 --- a/bcipy/acquisition/multimodal.py +++ b/bcipy/acquisition/multimodal.py @@ -1,12 +1,41 @@ """Functionality for managing multiple devices.""" import logging -from typing import Dict, List, Optional -from bcipy.acquisition.protocols.lsl.lsl_client import LslAcquisitionClient +from enum import Enum +from typing import Any, Dict, List, Optional + from bcipy.acquisition.devices import DeviceSpec +from bcipy.acquisition.exceptions import UnsupportedContentType +from bcipy.acquisition.protocols.lsl.lsl_client import LslAcquisitionClient log = logging.getLogger(__name__) +class ContentType(Enum): + """Generalized list of supported content types. Allows for case-insensitive + matching, as well as synonyms for some types. + + >>> ContentType('Eeg') == ContentType.EEG + True + """ + + EEG = ('eeg', []) + EYETRACKER = ('eyetracker', ['gaze', 'eye_tracker']) + MARKERS = ('markers', ['switch']) + + def __init__(self, label, synonyms): + self.label = label + self.synonyms = synonyms + + @classmethod + def _missing_(cls, value: Any): + """Lookup function used when a value is not found.""" + value = str(value).lower() + for member in cls: + if member.label == value or value in member.synonyms: + return member + raise UnsupportedContentType("ContentType not supported") + + class ClientManager(): """Manages multiple acquisition clients. This class can also act as an acquisition client. If used in this way, it dispatches to the managed diff --git a/bcipy/acquisition/tests/test_content_type.py b/bcipy/acquisition/tests/test_content_type.py new file mode 100644 index 000000000..1d528b28a --- /dev/null +++ b/bcipy/acquisition/tests/test_content_type.py @@ -0,0 +1,35 @@ +"""Unit tests for ContentType""" +import unittest + +from bcipy.acquisition.exceptions import UnsupportedContentType +from bcipy.acquisition.multimodal import ContentType + + +class TestContentType(unittest.TestCase): + """Tests for multimodal ContentType enum.""" + + def test_label(self): + """Test that labels are strings""" + self.assertEqual('eeg', ContentType.EEG.label) + self.assertEqual('eyetracker', ContentType.EYETRACKER.label) + + def test_constructor(self): + """Test retrieving an enum by value""" + self.assertEqual(ContentType.EEG, ContentType('EEG')) + self.assertEqual(ContentType.EEG, ContentType('eeg')) + self.assertEqual(ContentType.EEG, ContentType('Eeg')) + + self.assertEqual(ContentType.EYETRACKER, ContentType('Eyetracker')) + + def test_synonyms(self): + """Test that synonyms can be used for some values""" + self.assertEqual(ContentType.EYETRACKER, ContentType('Gaze')) + self.assertEqual(ContentType.EYETRACKER, ContentType('Eye_tracker')) + + def test_unsupported_type(self): + """Test that an unsupported type raises an exception""" + with self.assertRaises(UnsupportedContentType): + ContentType('FooBar') + +if __name__ == '__main__': + unittest.main() From 8db8d9edcaee7c5470a163c723ac88d8025d008e Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 11 May 2023 14:57:45 -0700 Subject: [PATCH 014/330] Refactored multimodal ClientManager to use ContentType enum, rather than strings. Added method for querying data from multiple devices --- bcipy/acquisition/exceptions.py | 3 +- bcipy/acquisition/multimodal.py | 61 ++++++++++++++----- .../acquisition/tests/test_client_manager.py | 35 +++++++++-- bcipy/acquisition/tests/test_content_type.py | 9 +-- bcipy/helpers/system_utils.py | 19 +++++- bcipy/task/task_registry.py | 19 ++---- 6 files changed, 105 insertions(+), 41 deletions(-) diff --git a/bcipy/acquisition/exceptions.py b/bcipy/acquisition/exceptions.py index 449bd0050..6551ab2db 100644 --- a/bcipy/acquisition/exceptions.py +++ b/bcipy/acquisition/exceptions.py @@ -2,6 +2,7 @@ class InvalidClockError(Exception): def __init__(self, msg): Exception.__init__(self, msg) + class UnsupportedContentType(Exception): """Error that occurs when attempting to collect data from a device with a - content type that is not yet supported by BciPy.""" \ No newline at end of file + content type that is not yet supported by BciPy.""" diff --git a/bcipy/acquisition/multimodal.py b/bcipy/acquisition/multimodal.py index 90a2f8352..5e56c85f1 100644 --- a/bcipy/acquisition/multimodal.py +++ b/bcipy/acquisition/multimodal.py @@ -1,39 +1,41 @@ """Functionality for managing multiple devices.""" import logging -from enum import Enum from typing import Any, Dict, List, Optional from bcipy.acquisition.devices import DeviceSpec from bcipy.acquisition.exceptions import UnsupportedContentType from bcipy.acquisition.protocols.lsl.lsl_client import LslAcquisitionClient +from bcipy.acquisition.record import Record +from bcipy.helpers.system_utils import AutoNumberEnum log = logging.getLogger(__name__) -class ContentType(Enum): - """Generalized list of supported content types. Allows for case-insensitive - matching, as well as synonyms for some types. +class ContentType(AutoNumberEnum): + """Enum of supported acquisition device (LSL) content types. Allows for + case-insensitive matching, as well as synonyms for some types. + >>> ContentType(1) == ContentType.EEG + True >>> ContentType('Eeg') == ContentType.EEG True """ - EEG = ('eeg', []) - EYETRACKER = ('eyetracker', ['gaze', 'eye_tracker']) - MARKERS = ('markers', ['switch']) - - def __init__(self, label, synonyms): - self.label = label + def __init__(self, synonyms: List[str]): self.synonyms = synonyms + EEG = [] + EYETRACKER = ['gaze', 'eye_tracker'] + MARKERS = ['switch'] + @classmethod def _missing_(cls, value: Any): """Lookup function used when a value is not found.""" value = str(value).lower() for member in cls: - if member.label == value or value in member.synonyms: + if member.name.lower() == value or value in member.synonyms: return member - raise UnsupportedContentType("ContentType not supported") + raise UnsupportedContentType(f"ContentType not supported: {value}") class ClientManager(): @@ -55,8 +57,8 @@ class ClientManager(): default_content_type - used for dispatching calls to an LslClient. """ - def __init__(self, default_content_type: str = 'EEG'): - self._clients: Dict[str, LslAcquisitionClient] = {} + def __init__(self, default_content_type: ContentType = ContentType.EEG): + self._clients: Dict[ContentType, LslAcquisitionClient] = {} self.default_content_type = default_content_type @property @@ -76,9 +78,11 @@ def default_client(self) -> Optional[LslAcquisitionClient]: def add_client(self, client: LslAcquisitionClient): """Add the given client to the manager.""" - self._clients[client.device_spec.content_type] = client + content_type = ContentType(client.device_spec.content_type) + self._clients[content_type] = client - def get_client(self, content_type: str) -> Optional[LslAcquisitionClient]: + def get_client( + self, content_type: ContentType) -> Optional[LslAcquisitionClient]: """Get client by content type""" return self._clients.get(content_type, None) @@ -93,6 +97,31 @@ def stop_acquisition(self): for client in self.clients: client.stop_acquisition() + def get_data_by_device( + self, + start: float = None, + seconds: float = None, + content_types: List[ContentType] = None + ) -> Dict[ContentType, List[Record]]: + """Get data for one or more devices. The number of samples for each + device depends on the sample rate and may be different for item. + + Parameters + ---------- + start - start time (acquisition clock) of data window + seconds - duration of data to return for each device + content_types - specifies which devices to include + """ + output = {} + for content_type in content_types: + client = self.get_client(content_type) + count = round(seconds * client.device_spec.sample_rate) + log.debug( + f'Need {count} records for processing {content_type.name} data' + ) + output[content_type] = client.get_data(start=start, limit=count) + return output + def cleanup(self): """Perform any cleanup tasks""" for client in self.clients: diff --git a/bcipy/acquisition/tests/test_client_manager.py b/bcipy/acquisition/tests/test_client_manager.py index 3abf06ea3..7fbc3484a 100644 --- a/bcipy/acquisition/tests/test_client_manager.py +++ b/bcipy/acquisition/tests/test_client_manager.py @@ -1,6 +1,7 @@ import unittest from unittest.mock import Mock -from bcipy.acquisition.multimodal import ClientManager + +from bcipy.acquisition.multimodal import ClientManager, ContentType class TestClientManager(unittest.TestCase): @@ -11,6 +12,7 @@ def setUp(self): self.eeg_device_mock = Mock() self.eeg_device_mock.name = 'DSI-24' self.eeg_device_mock.content_type = 'EEG' + self.eeg_device_mock.sample_rate = 300 self.eeg_client_mock = Mock() self.eeg_client_mock.device_spec = self.eeg_device_mock @@ -18,15 +20,17 @@ def setUp(self): self.gaze_device_mock = Mock() self.gaze_device_mock.content_type = 'Eyetracker' + self.gaze_device_mock.sample_rate = 60 self.gaze_client_mock = Mock() self.gaze_client_mock.device_spec = self.gaze_device_mock def test_add_client(self): """Test adding a client""" manager = ClientManager() - self.assertEqual(manager.get_client('EEG'), None) + self.assertEqual(manager.get_client(ContentType.EEG), None) manager.add_client(self.eeg_client_mock) - self.assertEqual(manager.get_client('EEG'), self.eeg_client_mock) + self.assertEqual(manager.get_client(ContentType.EEG), + self.eeg_client_mock) def test_start_acquisition(self): """Test that manager can start acquisition in clients""" @@ -55,9 +59,10 @@ def test_default_client(self): manager.add_client(self.eeg_client_mock) manager.add_client(self.gaze_client_mock) + self.assertEqual(manager.default_content_type, ContentType.EEG) self.assertEqual(manager.default_client, self.eeg_client_mock) - manager.default_content_type = self.gaze_device_mock.content_type + manager.default_content_type = ContentType.EYETRACKER self.assertEqual(manager.default_client, self.gaze_client_mock) def test_device_specs(self): @@ -84,7 +89,27 @@ def test_dispatching_methods(self): daq.add_client(self.eeg_client_mock) daq.get_data(start=100, limit=1000) - self.eeg_client_mock.get_data.assert_called_once_with(start=100, limit=1000) + self.eeg_client_mock.get_data.assert_called_once_with(start=100, + limit=1000) + + def test_get_data_by_device(self): + """Test getting data for multiple devices""" + daq = ClientManager() + daq.add_client(self.eeg_client_mock) + daq.add_client(self.gaze_client_mock) + + results = daq.get_data_by_device( + start=100, + seconds=5, + content_types=[ContentType.EEG, ContentType.EYETRACKER]) + + self.eeg_client_mock.get_data.assert_called_once_with(start=100, + limit=1500) + self.gaze_client_mock.get_data.assert_called_once_with(start=100, + limit=300) + + self.assertTrue(ContentType.EEG in results) + self.assertTrue(ContentType.EYETRACKER in results) if __name__ == '__main__': diff --git a/bcipy/acquisition/tests/test_content_type.py b/bcipy/acquisition/tests/test_content_type.py index 1d528b28a..2803fd26d 100644 --- a/bcipy/acquisition/tests/test_content_type.py +++ b/bcipy/acquisition/tests/test_content_type.py @@ -8,10 +8,10 @@ class TestContentType(unittest.TestCase): """Tests for multimodal ContentType enum.""" - def test_label(self): - """Test that labels are strings""" - self.assertEqual('eeg', ContentType.EEG.label) - self.assertEqual('eyetracker', ContentType.EYETRACKER.label) + def test_value(self): + """Test that values are autoincremented""" + self.assertEqual(1, ContentType.EEG.value) + self.assertEqual(2, ContentType.EYETRACKER.value) def test_constructor(self): """Test retrieving an enum by value""" @@ -31,5 +31,6 @@ def test_unsupported_type(self): with self.assertRaises(UnsupportedContentType): ContentType('FooBar') + if __name__ == '__main__': unittest.main() diff --git a/bcipy/helpers/system_utils.py b/bcipy/helpers/system_utils.py index 5a47b75b0..c6882b0e6 100644 --- a/bcipy/helpers/system_utils.py +++ b/bcipy/helpers/system_utils.py @@ -8,13 +8,14 @@ import socket import sys import time -import torch +from enum import Enum from pathlib import Path -from typing import Callable, List, Optional, NamedTuple +from typing import Callable, List, NamedTuple, Optional import pkg_resources import psutil import pyglet +import torch from cpuinfo import get_cpu_info from bcipy.config import DEFAULT_ENCODING, LOG_FILENAME @@ -303,3 +304,17 @@ def wrap(*args, **kwargs): log.info('{:s} method took {:0.4f}s to execute'.format(func.__name__, (time2 - time1))) return response return wrap + + +class AutoNumberEnum(Enum): + """Enum that auto-numbers the value for each item. + + See: https://docs.python.org/3/howto/enum.html + """ + + def __new__(cls, *args): + """Autoincrements the value of each item added to the enum.""" + value = len(cls.__members__) + 1 + obj = object.__new__(cls) + obj._value_ = value + return obj diff --git a/bcipy/task/task_registry.py b/bcipy/task/task_registry.py index a587b427e..88661f531 100644 --- a/bcipy/task/task_registry.py +++ b/bcipy/task/task_registry.py @@ -1,7 +1,6 @@ """Task Registry ; used to provide task options to the GUI and command line tools. User defined tasks can be added to the Registry.""" - # NOTE: # In the future we may want to consider dynamically retrieving all subclasses # of Task and use these to populate a registry. We could also provide @@ -13,13 +12,13 @@ # the Task subclasses causes pygame (a psychopy dependency) to create a GUI, # which seems to prevent our other GUI code from working. -from enum import Enum from typing import List from bcipy.helpers.exceptions import BciPyCoreException +from bcipy.helpers.system_utils import AutoNumberEnum -class TaskType(Enum): +class TaskType(AutoNumberEnum): """Enum of the registered experiment types (Tasks), along with the label used for display in the GUI and command line tools. Values are looked up by their (1-based) index. @@ -39,13 +38,6 @@ class TaskType(Enum): MATRIX_TIMING_VERIFICATION_CALIBRATION = 'Matrix Time Test Calibration' MATRIX_COPY_PHRASE = 'Matrix Copy Phrase' - def __new__(cls, *args, **kwds): - """Autoincrements the value of each item added to the enum.""" - value = len(cls.__members__) + 1 - obj = object.__new__(cls) - obj._value_ = value - return obj - def __init__(self, label): self.label = label @@ -60,9 +52,10 @@ def by_value(cls, item): @classmethod def calibration_tasks(cls) -> List['TaskType']: - return [task for task in cls - if task.name.endswith('CALIBRATION') and 'COPY_PHRASE' - not in task.name] + return [ + task for task in cls if task.name.endswith('CALIBRATION') and + 'COPY_PHRASE' not in task.name + ] @classmethod def list(cls) -> List[str]: From 35fc9551cd8df39878256e8794ced02e0fc76730 Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 11 May 2023 15:37:34 -0700 Subject: [PATCH 015/330] Refactored bci_main to send the ClientManager directly to tasks --- bcipy/main.py | 10 +++++----- bcipy/task/start_task.py | 19 +++++++++--------- bcipy/tests/test_bci_main.py | 38 ++++++++++++++++-------------------- 3 files changed, 32 insertions(+), 35 deletions(-) diff --git a/bcipy/main.py b/bcipy/main.py index bdaf95ad0..9f8445875 100644 --- a/bcipy/main.py +++ b/bcipy/main.py @@ -1,14 +1,14 @@ import argparse import logging import multiprocessing - from typing import List from psychopy import visual -from bcipy.acquisition import LslDataServer, ClientManager +from bcipy.acquisition import ClientManager, LslDataServer +from bcipy.config import (DEFAULT_EXPERIMENT_ID, DEFAULT_PARAMETERS_PATH, + STATIC_AUDIO_PATH) from bcipy.display import init_display_window -from bcipy.config import DEFAULT_PARAMETERS_PATH, DEFAULT_EXPERIMENT_ID, STATIC_AUDIO_PATH from bcipy.helpers.acquisition import init_eeg_acquisition from bcipy.helpers.language_model import init_language_model from bcipy.helpers.load import (load_experiments, load_json_parameters, @@ -18,7 +18,7 @@ from bcipy.helpers.stimuli import play_sound from bcipy.helpers.system_utils import configure_logger, get_system_info from bcipy.helpers.task import print_message -from bcipy.helpers.validate import validate_experiment, validate_bcipy_session +from bcipy.helpers.validate import validate_bcipy_session, validate_experiment from bcipy.helpers.visualization import visualize_session_data from bcipy.signal.model import PcaRdaKdeModel from bcipy.task import TaskType @@ -159,7 +159,7 @@ def execute_task( # Start Task try: start_task(display, - daq.get_client('EEG'), + daq, task, parameters, save_folder, diff --git a/bcipy/task/start_task.py b/bcipy/task/start_task.py index f8acdb784..57949d8c8 100644 --- a/bcipy/task/start_task.py +++ b/bcipy/task/start_task.py @@ -1,14 +1,15 @@ """Code for constructing and executing registered tasks""" -from bcipy.task.paradigm.rsvp.calibration.calibration import RSVPCalibrationTask -from bcipy.task.paradigm.rsvp.copy_phrase import RSVPCopyPhraseTask -from bcipy.task.paradigm.rsvp.calibration.timing_verification import RSVPTimingVerificationCalibration - -from bcipy.task.paradigm.matrix.calibration import MatrixCalibrationTask -from bcipy.task.paradigm.matrix.timing_verification import MatrixTimingVerificationCalibration -from bcipy.task.paradigm.matrix.copy_phrase import MatrixCopyPhraseTask - from bcipy.task import Task from bcipy.task.exceptions import TaskRegistryException +from bcipy.task.paradigm.matrix.calibration import MatrixCalibrationTask +from bcipy.task.paradigm.matrix.copy_phrase import MatrixCopyPhraseTask +from bcipy.task.paradigm.matrix.timing_verification import \ + MatrixTimingVerificationCalibration +from bcipy.task.paradigm.rsvp.calibration.calibration import \ + RSVPCalibrationTask +from bcipy.task.paradigm.rsvp.calibration.timing_verification import \ + RSVPTimingVerificationCalibration +from bcipy.task.paradigm.rsvp.copy_phrase import RSVPCopyPhraseTask from bcipy.task.task_registry import TaskType @@ -19,7 +20,7 @@ def make_task(display_window, daq, task, parameters, file_save, Parameters: ----------- display_window: psychopy Window - daq: DataAcquisitionClient + daq: ClientManager - manages one or more acquisition clients task: TaskType parameters: dict file_save: str - path to file in which to save data diff --git a/bcipy/tests/test_bci_main.py b/bcipy/tests/test_bci_main.py index 4ad19e905..bfc47cbf8 100644 --- a/bcipy/tests/test_bci_main.py +++ b/bcipy/tests/test_bci_main.py @@ -1,20 +1,16 @@ +import logging import unittest -from mockito import any, unstub, when, mock, verify, verifyStubbedInvocationsAreUsed, verifyNoUnwantedInteractions + +from mockito import (any, mock, unstub, verify, verifyNoUnwantedInteractions, + verifyStubbedInvocationsAreUsed, when) from bcipy import main -from bcipy.main import ( - bci_main, - _clean_up_session, - execute_task -) -from bcipy.config import DEFAULT_PARAMETERS_PATH, DEFAULT_EXPERIMENT_ID, STATIC_AUDIO_PATH - -from bcipy.helpers.exceptions import ( - UnregisteredExperimentException, -) +from bcipy.config import (DEFAULT_EXPERIMENT_ID, DEFAULT_PARAMETERS_PATH, + STATIC_AUDIO_PATH) +from bcipy.helpers.exceptions import UnregisteredExperimentException +from bcipy.main import _clean_up_session, bci_main, execute_task from bcipy.task import TaskType -import logging logging.disable(logging.CRITICAL) @@ -357,7 +353,7 @@ def test_execute_task_fake_data(self) -> None: verify(main, times=1).print_message(self.display_mock, any()) verify(main, times=1).start_task( self.display_mock, - self.eeg_client, + self.daq, self.task, self.parameters, self.save_folder, @@ -379,7 +375,7 @@ def test_execute_task_real_data(self) -> None: when(main).print_message(self.display_mock, any()) when(main).start_task( self.display_mock, - self.eeg_client, + self.daq, self.task, self.parameters, self.save_folder, @@ -399,7 +395,7 @@ def test_execute_task_real_data(self) -> None: verify(main, times=1).print_message(self.display_mock, any()) verify(main, times=1).start_task( self.display_mock, - self.eeg_client, + self.daq, self.task, self.parameters, self.save_folder, @@ -431,7 +427,7 @@ def test_execute_task_non_calibration_real_data(self) -> None: when(main).init_language_model(self.parameters).thenReturn(language_model) when(main).start_task( self.display_mock, - self.eeg_client, + self.daq, self.task, self.parameters, self.save_folder, @@ -451,7 +447,7 @@ def test_execute_task_non_calibration_real_data(self) -> None: verify(main, times=1).print_message(self.display_mock, any()) verify(main, times=1).start_task( self.display_mock, - self.eeg_client, + self.daq, self.task, self.parameters, self.save_folder, @@ -488,7 +484,7 @@ def test_execute_language_model_enabled(self) -> None: }, filename='').thenReturn(load_model_response) when(main).start_task( self.display_mock, - self.eeg_client, + self.daq, self.task, self.parameters, self.save_folder, @@ -508,7 +504,7 @@ def test_execute_language_model_enabled(self) -> None: verify(main, times=1).print_message(self.display_mock, any()) verify(main, times=1).start_task( self.display_mock, - self.eeg_client, + self.daq, self.task, self.parameters, self.save_folder, @@ -534,7 +530,7 @@ def test_execute_with_alert_enabled(self): when(main).print_message(self.display_mock, any()) when(main).start_task( self.display_mock, - self.eeg_client, + self.daq, self.task, self.parameters, self.save_folder, @@ -555,7 +551,7 @@ def test_execute_with_alert_enabled(self): verify(main, times=1).print_message(self.display_mock, any()) verify(main, times=1).start_task( self.display_mock, - self.eeg_client, + self.daq, self.task, self.parameters, self.save_folder, From a5f7085c654eebdb522552542c12612b25755276 Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 11 May 2023 16:14:29 -0700 Subject: [PATCH 016/330] Modified multimodal get_data to correctly handle marker queries --- bcipy/acquisition/multimodal.py | 14 +++++++---- .../acquisition/tests/test_client_manager.py | 24 +++++++++++++++---- 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/bcipy/acquisition/multimodal.py b/bcipy/acquisition/multimodal.py index 5e56c85f1..1040c4257 100644 --- a/bcipy/acquisition/multimodal.py +++ b/bcipy/acquisition/multimodal.py @@ -115,11 +115,15 @@ def get_data_by_device( output = {} for content_type in content_types: client = self.get_client(content_type) - count = round(seconds * client.device_spec.sample_rate) - log.debug( - f'Need {count} records for processing {content_type.name} data' - ) - output[content_type] = client.get_data(start=start, limit=count) + if client.device_spec.sample_rate > 0: + count = round(seconds * client.device_spec.sample_rate) + log.debug( + f'Need {count} records for processing {content_type.name} data' + ) + output[content_type] = client.get_data(start=start, limit=count) + else: + # Markers have an IRREGULAR_RATE. + output[content_type] = client.get_data(start=start, end=start+seconds) return output def cleanup(self): diff --git a/bcipy/acquisition/tests/test_client_manager.py b/bcipy/acquisition/tests/test_client_manager.py index 7fbc3484a..fa9d08819 100644 --- a/bcipy/acquisition/tests/test_client_manager.py +++ b/bcipy/acquisition/tests/test_client_manager.py @@ -94,22 +94,38 @@ def test_dispatching_methods(self): def test_get_data_by_device(self): """Test getting data for multiple devices""" + # Set up switch device mock + switch_device_mock = Mock() + switch_device_mock.name = 'Test-switch-2000' + switch_device_mock.content_type = 'Markers' + switch_device_mock.sample_rate = 0.0 + + switch_client_mock = Mock() + switch_client_mock.device_spec = switch_device_mock + switch_client_mock.get_data = Mock() + daq = ClientManager() daq.add_client(self.eeg_client_mock) daq.add_client(self.gaze_client_mock) + daq.add_client(switch_client_mock) - results = daq.get_data_by_device( - start=100, - seconds=5, - content_types=[ContentType.EEG, ContentType.EYETRACKER]) + results = daq.get_data_by_device(start=100, + seconds=5, + content_types=[ + ContentType.EEG, + ContentType.EYETRACKER, + ContentType.MARKERS + ]) self.eeg_client_mock.get_data.assert_called_once_with(start=100, limit=1500) self.gaze_client_mock.get_data.assert_called_once_with(start=100, limit=300) + switch_client_mock.get_data.assert_called_with(start=100, end=105) self.assertTrue(ContentType.EEG in results) self.assertTrue(ContentType.EYETRACKER in results) + self.assertTrue(ContentType.MARKERS in results) if __name__ == '__main__': From ca1302b5c15c4c33e1e251a44edfdd65f3f51dd5 Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Fri, 12 May 2023 13:44:33 -0400 Subject: [PATCH 017/330] WIP Offline Analysis Fusion --- bcipy/helpers/acquisition.py | 2 +- bcipy/helpers/load.py | 13 ------------- bcipy/signal/model/offline_analysis.py | 4 ++-- bcipy/signal/model/offline_gaze_analysis.py | 14 ++++++++++---- scripts/python/plot_eye_data.py | 14 +++++++------- 5 files changed, 20 insertions(+), 27 deletions(-) diff --git a/bcipy/helpers/acquisition.py b/bcipy/helpers/acquisition.py index ff813ed9e..83c878dea 100644 --- a/bcipy/helpers/acquisition.py +++ b/bcipy/helpers/acquisition.py @@ -206,7 +206,7 @@ def analysis_channels(channels: List[str], device_spec: DeviceSpec) -> list: ---------- - channels(list(str)): list of channel names from the raw_data (excluding the timestamp) - - device_spec(str): device from which the data was collected + - device_spec: device from which the data was collected Returns -------- diff --git a/bcipy/helpers/load.py b/bcipy/helpers/load.py index e5bc05ff7..57b4597d4 100644 --- a/bcipy/helpers/load.py +++ b/bcipy/helpers/load.py @@ -238,19 +238,6 @@ def load_raw_data(data_folder: str, data_paths: List[str]) -> List[RawData]: raise FileNotFoundError(f'Could not find {filename}') return data -def load_raw_gaze_data(filename: str) -> RawData: - """Reads the data (.csv) file written by data acquisition. - - Parameters - ---------- - - filename : path to the serialized data (csv file) - - Returns - ------- - RawData object with data held in memory - """ - return RawData.load(filename) - def load_txt_data() -> str: filename = ask_filename('*.txt') # show dialog box and return the path diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 0975decf9..37312dbeb 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -233,8 +233,8 @@ def offline_analysis( show=show_figures ) if device_spec.content_type == "Eyetracker": - # TODO: Add eyetracker processing - log.info("Eyetracker data found. Processing not yet implemented.") + print(device_spec) + breakpoint() pass if alert_finished: diff --git a/bcipy/signal/model/offline_gaze_analysis.py b/bcipy/signal/model/offline_gaze_analysis.py index 6a586c22b..de8a6796b 100644 --- a/bcipy/signal/model/offline_gaze_analysis.py +++ b/bcipy/signal/model/offline_gaze_analysis.py @@ -7,16 +7,20 @@ from matplotlib import pyplot as plt from sklearn.mixture import GaussianMixture -from bcipy.config import DEFAULT_PARAMETERS_PATH, TRIGGER_FILENAME, RAW_DATA_FILENAME +from bcipy.config import (DEFAULT_PARAMETERS_PATH, TRIGGER_FILENAME, + RAW_DATA_FILENAME, STATIC_AUDIO_PATH, + DEFAULT_DEVICE_SPEC_FILENAME, + EYE_TRACKER_FILENAME_PREFIX) from bcipy.preferences import preferences from bcipy.helpers.acquisition import analysis_channels from bcipy.helpers.load import ( load_experimental_data, load_json_parameters, - load_raw_gaze_data + load_raw_data ) from bcipy.helpers.triggers import TriggerType, trigger_decoder from bcipy.signal.model.fusion_model import GazeModel +import bcipy.acquisition.devices as devices from sklearn.model_selection import train_test_split @@ -64,15 +68,17 @@ def offline_gaze_analysis( # The task buffer length defines the min time between two inquiries # We use half of that time here to buffer during transforms buffer = int(parameters.get("task_buffer_length") / 2) - raw_data_file = f"{RAW_DATA_FILENAME}.csv" log.info( f"\nData processing settings: \n" f"Poststimulus: {poststim_length}s, Prestimulus: {prestim_length}s, Buffer: {buffer}s, Trials per inquiry: {trials_per_inquiry} \n" ) + data_file_path = [f"{RAW_DATA_FILENAME}.csv"] + # Load raw data - gaze_data = load_raw_gaze_data(Path(data_folder, raw_data_file)) + data_list = load_raw_data(data_folder, data_file_path) + gaze_data = data_list[0] channels = gaze_data.channels type_amp = gaze_data.daq_type sample_rate = gaze_data.sample_rate diff --git a/scripts/python/plot_eye_data.py b/scripts/python/plot_eye_data.py index 0a1dd0ef1..13c85ee1b 100644 --- a/scripts/python/plot_eye_data.py +++ b/scripts/python/plot_eye_data.py @@ -2,7 +2,7 @@ from bcipy.helpers.raw_data import load DIPSIZE = (1707, 1067) -IMG_PATH = 'C:\\Users\\tabme\\work\\bci\\BciPy\\scripts\\python\\matrix_grid.png' +IMG_PATH = '/Users/basak/Documents/BciPy/scripts/python/matrix_grid.png' def load_eye_tracking_data(path): data = load(f'{path}/eyetracker_data_tobii-p0.csv') @@ -72,18 +72,18 @@ def load_eye_tracking_data(path): # ax.plot(rx, ry, c='b', linewidth=1) # remove nan values - # lx = lx[~np.isnan(lx)] - # ly = ly[~np.isnan(ly)] - # rx = rx[~np.isnan(rx)] - # ry = ry[~np.isnan(ry)] + lx = lx[~np.isnan(lx)] + ly = ly[~np.isnan(ly)] + rx = rx[~np.isnan(rx)] + ry = ry[~np.isnan(ry)] # determine kde of the eye data - # ax = sns.kdeplot(lx, ly, cmap="mako", fill=False, thresh=0.05, levels=10) + ax = sns.kdeplot(lx, ly, cmap="mako", fill=False, thresh=0.05, levels=10, colorbar=True) ax.scatter(lx, ly, c='r', s=1) ax.scatter(rx, ry, c='b', s=1) - # plt.show() + plt.show() breakpoint() \ No newline at end of file From b39cb462371e89b60268ce3188a37fd119b27d87 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 12 May 2023 17:08:12 -0700 Subject: [PATCH 018/330] Added a module for evidence evaluators; created an evaluator for EEG evidence. Added some utility functions for using subsets of parameters --- bcipy/acquisition/multimodal.py | 5 + bcipy/helpers/parameters.py | 11 ++ bcipy/helpers/tests/test_parameters.py | 38 ++++++- bcipy/task/control/evidence.py | 117 ++++++++++++++++++++ bcipy/task/data.py | 1 + bcipy/task/exceptions.py | 4 + bcipy/task/tests/core/test_eeg_evaluator.py | 93 ++++++++++++++++ 7 files changed, 268 insertions(+), 1 deletion(-) create mode 100644 bcipy/task/control/evidence.py create mode 100644 bcipy/task/tests/core/test_eeg_evaluator.py diff --git a/bcipy/acquisition/multimodal.py b/bcipy/acquisition/multimodal.py index 1040c4257..844cf2db0 100644 --- a/bcipy/acquisition/multimodal.py +++ b/bcipy/acquisition/multimodal.py @@ -66,6 +66,11 @@ def clients(self) -> List[LslAcquisitionClient]: """Returns a list of the managed clients.""" return self._clients.values() + @property + def clients_by_type(self) -> Dict[ContentType, LslAcquisitionClient]: + """Returns a dict of clients keyed by their content type""" + return self._clients + @property def device_specs(self) -> List[DeviceSpec]: """Returns a list of DeviceSpecs for all the clients.""" diff --git a/bcipy/helpers/parameters.py b/bcipy/helpers/parameters.py index 286b8e44a..6dc63a6c2 100644 --- a/bcipy/helpers/parameters.py +++ b/bcipy/helpers/parameters.py @@ -267,6 +267,17 @@ def diff(self, parameters) -> Dict[str, ParameterChange]: original_value=None) return diffs + def instantiate(self, named_tuple_class: type) -> NamedTuple: + """Instantiate a namedtuple whose fields represent a subset of the + parameters.""" + vals = [ + self.cast_value(self.get_entry(key)) + for key in named_tuple_class._fields + ] + return named_tuple_class(*vals) + + + def changes_from_default(source: str) -> Dict[str, ParameterChange]: """Determines which parameters have changed from the default params. diff --git a/bcipy/helpers/tests/test_parameters.py b/bcipy/helpers/tests/test_parameters.py index 2b5c553c4..fb85cea96 100644 --- a/bcipy/helpers/tests/test_parameters.py +++ b/bcipy/helpers/tests/test_parameters.py @@ -2,7 +2,7 @@ import shutil import tempfile import unittest -from collections import abc +from collections import abc, namedtuple from pathlib import Path from bcipy.config import DEFAULT_PARAMETERS_PATH @@ -552,6 +552,42 @@ def test_changed_parameters(self): self.assertEqual(changes["entry_3"].parameter['value'], entry3_modified['value']) + def test_instantiate_tuple(self): + """Test that a namedtuple can be instantiated.""" + sample_config = { + "a": { + "value": "1", + "section": "", + "readableName": "", + "helpTip": "", + "recommended_values": "", + "type": "int" + }, + "b": { + "value": "2", + "section": "", + "readableName": "", + "helpTip": "", + "recommended_values": [], + "type": "int" + }, + "c": { + "value": "3", + "section": "", + "readableName": "", + "helpTip": "", + "recommended_values": [], + "type": "str" + } + } + parameters = Parameters(source=None, cast_values=True) + parameters.load(sample_config) + + MyTuple = namedtuple("MyTuple", 'a c') + my_tuple = parameters.instantiate(MyTuple) + self.assertEqual(my_tuple.a, 1) + self.assertEqual(my_tuple.c, '3') + self.assertEqual((1, '3'), my_tuple) if __name__ == '__main__': unittest.main() diff --git a/bcipy/task/control/evidence.py b/bcipy/task/control/evidence.py new file mode 100644 index 000000000..2a61a721f --- /dev/null +++ b/bcipy/task/control/evidence.py @@ -0,0 +1,117 @@ +"""Classes and functions for extracting evidence from raw device data.""" +from typing import List, NamedTuple + +import numpy as np + +from bcipy.acquisition.multimodal import ContentType +from bcipy.helpers.acquisition import DeviceSpec, analysis_channels +from bcipy.helpers.stimuli import TrialReshaper +from bcipy.signal.model import SignalModel +from bcipy.signal.process import get_default_transform +from bcipy.task.data import EvidenceType +from bcipy.task.exceptions import MissingEvidenceEvaluator + + +class EvidenceEvaluator: + """Base class""" + + @property + def consumes(self) -> ContentType: + """ContentType of the data that should be input""" + + @property + def produces(self) -> EvidenceType: + """Type of evidence that is output""" + + def evaluate(self, *args, **kwargs): + """Evaluate the evidence""" + + +# TODO: can this go in the signal module? +class FilterParams(NamedTuple): + """Parameters used to filter signal data""" + notch_filter_frequency: int = 60 + filter_low: int = 2 + filter_high: int = 45 + filter_order: int = 2 + downsample_rate: int = 2 + + +class EegEvaluator(EvidenceEvaluator): + """Extracts symbol likelihoods from raw EEG data""" + consumes = ContentType.EEG + produces = EvidenceType.ERP + + def __init__(self, symbol_set: List[str], signal_model: SignalModel, + device_spec: DeviceSpec, filter_params: FilterParams): + assert ContentType( + device_spec.content_type + ) == self.consumes, "evaluator is not compatible with the given device" + self.symbol_set = symbol_set + self.signal_model = signal_model + self.filter_params = filter_params + + self.sample_rate = device_spec.sample_rate + self.channel_map = analysis_channels(device_spec.channels, device_spec) + + # pylint: disable=arguments-differ + def evaluate(self, raw_data: np.array, symbols: List[str], + times: List[float], target_info: List[str], + window_length: float) -> np.array: + """Evaluate the evidence. + + Parameters + ---------- + raw_data - C x L eeg data where C is number of channels and L is the + signal length + symbols - symbols displayed in the inquiry + times - timestamps associated with each symbol + target_info - target information about the stimuli; + ex. ['nontarget', 'nontarget', ...] + window_length - The length of the time between stimuli presentation + """ + + transform = get_default_transform( + sample_rate_hz=self.sample_rate, + notch_freq_hz=self.filter_params.notch_filter_frequency, + bandpass_low=self.filter_params.filter_low, + bandpass_high=self.filter_params.filter_high, + bandpass_order=self.filter_params.filter_order, + downsample_factor=self.filter_params.downsample_rate, + ) + + transformed_data, transform_sample_rate = transform( + raw_data, self.sample_rate) + + # The data from DAQ is assumed to have offsets applied + reshape = TrialReshaper() + reshaped_data, _lbls = reshape(trial_targetness_label=target_info, + timing_info=times, + eeg_data=transformed_data, + sample_rate=transform_sample_rate, + channel_map=self.channel_map, + poststimulus_length=window_length) + + return self.signal_model.predict(reshaped_data, symbols, + self.symbol_set) + + +def get_evaluator(data_source: ContentType, + evidence_type: EvidenceType) -> EvidenceEvaluator: + """Returns the matching evaluator. + + Parameters + ---------- + data_source - type of data that the evaluator should consume + evidence_type - type of evidence that the evaluator should produce. + """ + matches = [ + cls for cls in EvidenceEvaluator.__subclasses__() + if cls.consumes == data_source and cls.produces == evidence_type + ] + if matches: + return matches[0] + else: + raise MissingEvidenceEvaluator( + f"Evidence Evaluator not found for {data_source.name} -> {evidence_type.name}" + ) diff --git a/bcipy/task/data.py b/bcipy/task/data.py index f77a927cc..9a4bdb97a 100644 --- a/bcipy/task/data.py +++ b/bcipy/task/data.py @@ -21,6 +21,7 @@ class EvidenceType(Enum): LM = 'LM' # Language Model ERP = 'ERP' # Event-Related Potential using EEG signals BTN = 'BTN' # Button + EYE = 'EYE' # Eyetracker @classmethod def list(cls) -> List[str]: diff --git a/bcipy/task/exceptions.py b/bcipy/task/exceptions.py index 73a7590c9..ecf52d73d 100644 --- a/bcipy/task/exceptions.py +++ b/bcipy/task/exceptions.py @@ -19,3 +19,7 @@ class TaskRegistryException(Exception): def __init__(self, message, errors=None): super().__init__(message) self.errors = errors + +class MissingEvidenceEvaluator(Exception): + """Thrown when an evidence evaluator can't be found that matches the + provided data content type input and evidence_type output""" \ No newline at end of file diff --git a/bcipy/task/tests/core/test_eeg_evaluator.py b/bcipy/task/tests/core/test_eeg_evaluator.py new file mode 100644 index 000000000..2a80bdc1e --- /dev/null +++ b/bcipy/task/tests/core/test_eeg_evaluator.py @@ -0,0 +1,93 @@ +"""Tests for EEG evidence evaluator""" + +import unittest +from unittest.mock import Mock, patch + +from bcipy.task.control.evidence import EegEvaluator, FilterParams + + +class TestEegEvaluator(unittest.TestCase): + """Tests for EEG evidence evaluator.""" + + def setUp(self): + """Setup common state""" + self.symbol_set = [] + + self.device_mock = Mock() + self.device_mock.content_type = 'EEG' + self.device_mock.channels = ['ch1', 'ch2', 'ch3'] + self.device_mock.sample_rate = 300 + + self.filter_params = FilterParams() + self.signal_model_mock = Mock() + + @patch('bcipy.task.control.evidence.analysis_channels') + def test_init(self, analysis_channels_mock): + """Test initialization""" + EegEvaluator(self.symbol_set, self.signal_model_mock, self.device_mock, + self.filter_params) + analysis_channels_mock.assert_called_with(self.device_mock.channels, + self.device_mock) + + @patch('bcipy.task.control.evidence.analysis_channels') + @patch('bcipy.task.control.evidence.get_default_transform') + @patch('bcipy.task.control.evidence.TrialReshaper') + def test_evaluate(self, reshaper_factory_mock, transform_factory_mock, + analysis_channels_mock): + """Test evaluation of evidence""" + + # Mocks + raw_data = Mock() + channel_map = Mock() + analysis_channels_mock.return_value = channel_map + + transformed_data = Mock() + transformer_mock = Mock() + transform_factory_mock.return_value = transformer_mock + transformer_mock.return_value = (transformed_data, 150) + + reshaper_mock = Mock() + reshaper_factory_mock.return_value = reshaper_mock + reshaped_data = Mock() + reshaper_mock.return_value = reshaped_data, Mock() + + # Parameters + symbols = ["+", "H", "D", "J", "B", "C", "A", "F", "G", "I", "E"] + times = [ + 0.0, 0.56, 0.81, 1.08, 1.33, 1.58, 1.83, 2.08, 2.33, 2.58, 2.83 + ] + target_info = ['nontarget'] * len(symbols) + window_length = 0.5 + + # Run the code + evaluator = EegEvaluator(self.symbol_set, self.signal_model_mock, + self.device_mock, self.filter_params) + evaluator.evaluate(raw_data, symbols, times, target_info, + window_length) + + # Assertions + transform_factory_mock.assert_called_once_with( + sample_rate_hz=self.device_mock.sample_rate, + notch_freq_hz=self.filter_params.notch_filter_frequency, + bandpass_low=self.filter_params.filter_low, + bandpass_high=self.filter_params.filter_high, + bandpass_order=self.filter_params.filter_order, + downsample_factor=self.filter_params.downsample_rate) + + transformer_mock.assert_called_once_with(raw_data, + self.device_mock.sample_rate) + + reshaper_mock.assert_called_once_with( + trial_targetness_label=target_info, + timing_info=times, + eeg_data=transformed_data, + sample_rate=150, + channel_map=channel_map, + poststimulus_length=window_length) + + self.signal_model_mock.assert_called_once_with(reshaped_data, symbols, + self.symbol_set) + + +if __name__ == '__main__': + unittest.main() From 6af1c9c40476911e61f4dda30eca63b92e35c0f5 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 12 May 2023 17:08:44 -0700 Subject: [PATCH 019/330] Added offset triggers for all devices in calibration and copy phrase trigger data --- .../paradigm/rsvp/calibration/calibration.py | 59 +++++++++--------- bcipy/task/paradigm/rsvp/copy_phrase.py | 60 ++++++++++--------- 2 files changed, 63 insertions(+), 56 deletions(-) diff --git a/bcipy/task/paradigm/rsvp/calibration/calibration.py b/bcipy/task/paradigm/rsvp/calibration/calibration.py index cd4538e59..014cbf5d1 100644 --- a/bcipy/task/paradigm/rsvp/calibration/calibration.py +++ b/bcipy/task/paradigm/rsvp/calibration/calibration.py @@ -1,20 +1,21 @@ -from psychopy import core from typing import List, Tuple +from psychopy import core + +from bcipy.acquisition.multimodal import ContentType from bcipy.config import TRIGGER_FILENAME, WAIT_SCREEN_MESSAGE -from bcipy.display import ( - InformationProperties, - PreviewInquiryProperties, - StimuliProperties) -from bcipy.display.paradigm.rsvp.mode.calibration import CalibrationDisplay +from bcipy.display import (InformationProperties, PreviewInquiryProperties, + StimuliProperties) from bcipy.display.components.task_bar import CalibrationTaskBar +from bcipy.display.paradigm.rsvp.mode.calibration import CalibrationDisplay from bcipy.helpers.clock import Clock - -from bcipy.helpers.stimuli import (StimuliOrder, TargetPositions, calibration_inquiry_generator) +from bcipy.helpers.stimuli import (StimuliOrder, TargetPositions, + calibration_inquiry_generator) +from bcipy.helpers.symbols import alphabet from bcipy.helpers.task import (get_user_input, pause_calibration, trial_complete_message) -from bcipy.helpers.symbols import alphabet -from bcipy.helpers.triggers import FlushFrequency, TriggerHandler, Trigger, TriggerType, convert_timing_triggers +from bcipy.helpers.triggers import (FlushFrequency, Trigger, TriggerHandler, + TriggerType, convert_timing_triggers) from bcipy.task import Task @@ -199,15 +200,16 @@ def write_trigger_data(self, timing: List[Tuple[str, float]], first_run) -> None See RSVPDisplay._trigger_pulse() for more information. """ # write offsets. currently, we only check for offsets at the beginning. - if self.daq.is_calibrated and first_run: - self.trigger_handler.add_triggers( - [Trigger( - 'starting_offset', - TriggerType.OFFSET, - # offset will factor in true offset and time relative from beginning - (self.daq.offset(self.rsvp.first_stim_time) - self.rsvp.first_stim_time) - )] - ) + # offset will factor in true offset and time relative from beginning + if first_run: + triggers = [] + for content_type, client in self.daq.clients_by_type.items(): + suffix = '' if content_type == ContentType.EEG else '_' + content_type.name + label = f"starting_offset{suffix}" + time = client.offset( + self.rsvp.first_stim_time) - self.rsvp.first_stim_time + triggers.append(Trigger(label, TriggerType.OFFSET, time)) + self.trigger_handler.add_triggers(triggers) # make sure triggers are written for the inquiry self.trigger_handler.add_triggers(convert_timing_triggers(timing, timing[0][0], self.trigger_type)) @@ -215,15 +217,16 @@ def write_trigger_data(self, timing: List[Tuple[str, float]], first_run) -> None def write_offset_trigger(self) -> None: """Append an offset value to the end of the trigger file. """ - if self.daq.is_calibrated: - self.trigger_handler.add_triggers( - [Trigger( - 'daq_sample_offset', - TriggerType.SYSTEM, - # to help support future refactoring or use of lsl timestamps only - # we write only the sample offset here - self.daq.offset(self.rsvp.first_stim_time) - )]) + # To help support future refactoring or use of lsl timestamps only + # we write only the sample offset here. + triggers = [] + for content_type, client in self.daq.clients_by_type.items(): + suffix = '' if content_type == ContentType.EEG else '_' + content_type.name + label = f"daq_sample_offset{suffix}" + time = client.offset(self.rsvp.first_stim_time) + triggers.append(Trigger(label, TriggerType.SYSTEM, time)) + + self.trigger_handler.add_triggers(triggers) self.trigger_handler.close() def name(self): diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index c275c4354..4f97569ad 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -3,13 +3,13 @@ from psychopy import core -from bcipy.config import ( - SESSION_DATA_FILENAME, TRIGGER_FILENAME, WAIT_SCREEN_MESSAGE, SESSION_SUMMARY_FILENAME) -from bcipy.display import (InformationProperties, PreviewInquiryProperties, - StimuliProperties) -from bcipy.display import Display -from bcipy.display.paradigm.rsvp.mode.copy_phrase import CopyPhraseDisplay +from bcipy.acquisition.multimodal import ContentType +from bcipy.config import (SESSION_DATA_FILENAME, SESSION_SUMMARY_FILENAME, + TRIGGER_FILENAME, WAIT_SCREEN_MESSAGE) +from bcipy.display import (Display, InformationProperties, + PreviewInquiryProperties, StimuliProperties) from bcipy.display.components.task_bar import CopyPhraseTaskBar +from bcipy.display.paradigm.rsvp.mode.copy_phrase import CopyPhraseDisplay from bcipy.feedback.visual.visual_feedback import VisualFeedback from bcipy.helpers.clock import Clock from bcipy.helpers.copy_phrase_wrapper import CopyPhraseWrapper @@ -18,11 +18,10 @@ from bcipy.helpers.save import _save_session_related_data from bcipy.helpers.session import session_excel from bcipy.helpers.stimuli import InquirySchedule, StimuliOrder -from bcipy.helpers.task import (construct_triggers, - fake_copy_phrase_decision, +from bcipy.helpers.symbols import BACKSPACE_CHAR, alphabet +from bcipy.helpers.task import (construct_triggers, fake_copy_phrase_decision, get_data_for_decision, get_user_input, target_info, trial_complete_message) -from bcipy.helpers.symbols import BACKSPACE_CHAR, alphabet from bcipy.helpers.triggers import (FlushFrequency, Trigger, TriggerHandler, TriggerType, convert_timing_triggers) from bcipy.signal.model.inquiry_preview import compute_probs_after_preview @@ -482,6 +481,8 @@ def add_evidence(self, stim_times: List[List], -------- - self.copy_phrase_task """ + # TODO: refactor compute_eeg_evidence to compute_device_evidence + # for each daq client evidences = [ self.compute_button_press_evidence(proceed), self.compute_eeg_evidence(stim_times, proceed) @@ -666,15 +667,16 @@ def write_session_data(self) -> None: def write_offset_trigger(self) -> None: """Append the offset to the end of the triggers file. """ - if self.daq.is_calibrated: - self.trigger_handler.add_triggers( - [Trigger( - 'daq_sample_offset', - TriggerType.SYSTEM, - # to help support future refactoring or use of lsl timestamps only - # we write only the sample offset here - self.daq.offset(self.rsvp.first_stim_time) - )]) + # To help support future refactoring or use of lsl timestamps only + # we write only the sample offset here. + triggers = [] + for content_type, client in self.daq.clients_by_type.items(): + suffix = '' if content_type == ContentType.EEG else '_' + content_type.name + label = f"daq_sample_offset{suffix}" + time = client.offset(self.rsvp.first_stim_time) + triggers.append(Trigger(label, TriggerType.SYSTEM, time)) + + self.trigger_handler.add_triggers(triggers) self.trigger_handler.close() def write_trigger_data(self, stim_times: List[Tuple[str, float]], target_stimuli: str) -> None: @@ -685,16 +687,18 @@ def write_trigger_data(self, stim_times: List[Tuple[str, float]], target_stimuli - stim_times : list of (stim, clock_time) tuples - target_stimuli : current target stimuli """ - if self.first_run and self.daq.is_calibrated: - # write offset first - self.trigger_handler.add_triggers( - [Trigger( - 'starting_offset', - TriggerType.OFFSET, - # offset will factor in true offset and time relative from beginning - (self.daq.offset(self.rsvp.first_stim_time) - self.rsvp.first_stim_time) - )] - ) + + if self.first_run: + # offset will factor in true offset and time relative from beginning + offset_triggers = [] + for content_type, client in self.daq.clients_by_type.items(): + suffix = '' if content_type == ContentType.EEG else '_' + content_type.name + label = f"starting_offset{suffix}" + time = client.offset( + self.rsvp.first_stim_time) - self.rsvp.first_stim_time + offset_triggers.append(Trigger(label, TriggerType.OFFSET, + time)) + self.trigger_handler.add_triggers(offset_triggers) triggers = convert_timing_triggers(stim_times, target_stimuli, self.trigger_type) self.trigger_handler.add_triggers(triggers) From ff35f05f0f610d2f492c5c314a7dd0366efc8b17 Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Mon, 15 May 2023 21:18:13 -0700 Subject: [PATCH 020/330] Cleanup and add rsvp image --- .../static/images/main}/matrix_grid.png | Bin bcipy/static/images/main/rsvp.png | Bin 0 -> 13768 bytes scripts/python/plot_eye_data.py | 7 +++++-- 3 files changed, 5 insertions(+), 2 deletions(-) rename {scripts/python => bcipy/static/images/main}/matrix_grid.png (100%) create mode 100644 bcipy/static/images/main/rsvp.png diff --git a/scripts/python/matrix_grid.png b/bcipy/static/images/main/matrix_grid.png similarity index 100% rename from scripts/python/matrix_grid.png rename to bcipy/static/images/main/matrix_grid.png diff --git a/bcipy/static/images/main/rsvp.png b/bcipy/static/images/main/rsvp.png new file mode 100644 index 0000000000000000000000000000000000000000..2dad51227087cb482dd7e8cef41e3ea7daa4074b GIT binary patch literal 13768 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 Date: Mon, 15 May 2023 21:19:26 -0700 Subject: [PATCH 021/330] update the static path --- scripts/python/plot_eye_data.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/python/plot_eye_data.py b/scripts/python/plot_eye_data.py index c149e3a22..0fd04515f 100644 --- a/scripts/python/plot_eye_data.py +++ b/scripts/python/plot_eye_data.py @@ -3,7 +3,7 @@ from bcipy.config import STATIC_IMAGES_PATH DIPSIZE = (1707, 1067) -IMG_PATH = f'{STATIC_IMAGES_PATH}/matrix_grid.png' +IMG_PATH = f'{STATIC_IMAGES_PATH}/main/matrix_grid.png' # IMG_PATH = f'{STATIC_IMAGES_PATH}/rsvp.png' TOBII_FILENAME = 'eyetracker_data_tobii-p0.csv' From 9d32bdb1da1628c9e821cb663fc53f7a930dcd33 Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Tue, 23 May 2023 11:00:07 -0400 Subject: [PATCH 022/330] Merging gaze plotting and offline analysis WIP --- bcipy/helpers/load.py | 13 +++++ bcipy/helpers/stimuli.py | 1 + bcipy/parameters/parameters.json | 2 +- bcipy/signal/model/offline_analysis.py | 71 ++++++++++++++++++++++++-- scripts/python/plot_eye_data.py | 5 +- 5 files changed, 85 insertions(+), 7 deletions(-) diff --git a/bcipy/helpers/load.py b/bcipy/helpers/load.py index 57b4597d4..f93bff73d 100644 --- a/bcipy/helpers/load.py +++ b/bcipy/helpers/load.py @@ -162,6 +162,19 @@ def load_experimental_data() -> str: return filename +def load_eye_tracking_data(gaze_data: RawData): + left_eye_channel_map = [0,0,1,1,0,0,0,0,0] + left_eye_data, _, _ = gaze_data.by_channel_map(left_eye_channel_map) + left_eye_x = left_eye_data[0] + left_eye_y = left_eye_data[1] + + right_eye_channel_map = [0,0,0,0,0,1,1,0,0] + right_eye_data, _, _ = gaze_data.by_channel_map(right_eye_channel_map) + right_eye_x = right_eye_data[0] + right_eye_y = right_eye_data[1] + return left_eye_x, left_eye_y, right_eye_x, right_eye_y + + def load_signal_model(model_class: SignalModel, model_kwargs: Dict[str, Any], filename: str = None) -> Tuple[SignalModel, str]: """Construct the specified model and load pretrained parameters. diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 5f51dc89c..c95a6cc23 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -289,6 +289,7 @@ def get_inquiry_len(inq_trigs): breakpoint() # We will trim off the extra bits in each inquiry to match the shortest inquiry + # TODO num_samples_per_inq = get_inquiry_len(longest_inquiry) + trial_duration_samples diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index 48c6b093b..a779570c2 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -8,7 +8,7 @@ "type": "bool" }, "acq_mode": { - "value": "EEG", + "value": "EEG+Eyetracker", "section": "acq_config", "readableName": "Acquisition Mode", "helpTip": "Specifies the hardware device(s) used for data collection.", diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 37312dbeb..2d8a9bacb 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -5,13 +5,14 @@ from bcipy.config import (DEFAULT_PARAMETERS_PATH, TRIGGER_FILENAME, RAW_DATA_FILENAME, STATIC_AUDIO_PATH, DEFAULT_DEVICE_SPEC_FILENAME, - EYE_TRACKER_FILENAME_PREFIX) + EYE_TRACKER_FILENAME_PREFIX, STATIC_IMAGES_PATH) from bcipy.preferences import preferences from bcipy.helpers.acquisition import analysis_channels from bcipy.helpers.load import ( load_experimental_data, load_json_parameters, load_raw_data, + load_eye_tracking_data ) from bcipy.helpers.stimuli import play_sound, update_inquiry_timing from bcipy.helpers.system_utils import report_execution_time @@ -19,10 +20,13 @@ from bcipy.helpers.visualization import visualize_erp from bcipy.signal.model.base_model import SignalModel from bcipy.signal.model.pca_rda_kde import PcaRdaKdeModel +from bcipy.signal.model.fusion_model import GazeModel from bcipy.signal.process import filter_inquiries, get_default_transform - import numpy as np from matplotlib.figure import Figure +import matplotlib.pyplot as plt +from matplotlib import image +import seaborn as sns from sklearn.metrics import balanced_accuracy_score from sklearn.model_selection import train_test_split import bcipy.acquisition.devices as devices @@ -30,6 +34,9 @@ log = logging.getLogger(__name__) logging.basicConfig(level=logging.INFO, format="[%(threadName)-9s][%(asctime)s][%(name)s][%(levelname)s]: %(message)s") +DIPSIZE = (1707, 1067) +IMG_PATH = f'{STATIC_IMAGES_PATH}/main/matrix_grid.png' +# IMG_PATH = f'{STATIC_IMAGES_PATH}/main/rsvp.png' def subset_data(data: np.ndarray, labels: np.ndarray, test_size: float, random_state=0): """Performs a train/test split on the provided data and labels, accounting for @@ -233,9 +240,65 @@ def offline_analysis( show=show_figures ) if device_spec.content_type == "Eyetracker": - print(device_spec) + lx, ly, rx, ry = load_eye_tracking_data(mode_data) + dpi = 100 + img = plt.imread(IMG_PATH) + w, h = len(img[0]), len(img) + + fig, ax = plt.subplots() + ax.imshow(img, extent=[0, 1, 0, 1]) + # transform the eye data to fit the display. remove > 1 values < 0 values, remove nan values + for axes in [lx, ly, rx, ry]: + axes = axes[~np.isnan(axes)] + axes = np.clip(axes, 0, 1) + + # flip the y axis + ly = 1 - ly + ry = 1 - ry + + # # determine kde of the eye data + # ax = sns.kdeplot(lx, ly, cmap="mako", fill=False, thresh=0.05, levels=10, colorbar=True) + + ax.scatter(lx, ly, c='r', s=1) + ax.scatter(rx, ry, c='b', s=1) + plt.show() + channels = mode_data.channels + type_amp = mode_data.daq_type + sample_rate = mode_data.sample_rate + + log.info(f"Channels read from csv: {channels}") + log.info(f"Device type: {type_amp}, fs={sample_rate}") + + channel_map = analysis_channels(channels, device_spec) + channels_used = [channels[i] for i, keep in enumerate(channel_map) if keep == 1] + log.info(f'Channels used in analysis: {channels_used}') + + data, fs = mode_data.by_channel() + + model = GazeModel() breakpoint() - pass + + # Process triggers.txt files (again!) + trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( + remove_pre_fixation = False, + trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", + exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION, TriggerType.OFFSET], + ) + + inquiries, inquiry_labels, inquiry_timing = model.reshaper( + trial_targetness_label=trigger_targetness, + timing_info=trigger_timing, + gaze_data=data, + sample_rate=sample_rate, + trials_per_inquiry=trials_per_inquiry, + channel_map=channel_map, + poststimulus_length=poststim_length, + prestimulus_length=prestim_length, + transformation_buffer=buffer, + ) + + breakpoint() + if alert_finished: play_sound(f"{STATIC_AUDIO_PATH}/{parameters['alert_sound_file']}") diff --git a/scripts/python/plot_eye_data.py b/scripts/python/plot_eye_data.py index 0fd04515f..8e58ccbad 100644 --- a/scripts/python/plot_eye_data.py +++ b/scripts/python/plot_eye_data.py @@ -1,11 +1,12 @@ - +import os from bcipy.helpers.raw_data import load from bcipy.config import STATIC_IMAGES_PATH DIPSIZE = (1707, 1067) IMG_PATH = f'{STATIC_IMAGES_PATH}/main/matrix_grid.png' -# IMG_PATH = f'{STATIC_IMAGES_PATH}/rsvp.png' +# IMG_PATH = f'{STATIC_IMAGES_PATH}/main/rsvp.png' TOBII_FILENAME = 'eyetracker_data_tobii-p0.csv' +# IMG_PATH = os.path.abspath(os.path.dirname(__file__))+ '/matrix_grid.png' def load_eye_tracking_data(path): data = load(f'{path}/{TOBII_FILENAME}') From daa1173ff8fe3c4d11648f2dfd8300e620f78748 Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Tue, 23 May 2023 15:46:48 -0700 Subject: [PATCH 023/330] Add a visualize gaze method, cleanup --- bcipy/helpers/visualization.py | 109 +++++++++++++++++- bcipy/signal/model/offline_analysis.py | 8 +- .../main/{matrix_grid.png => matrix.png} | Bin requirements.txt | 2 +- scripts/python/plot_eye_data.py | 62 +--------- 5 files changed, 119 insertions(+), 62 deletions(-) rename bcipy/static/images/main/{matrix_grid.png => matrix.png} (100%) diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index 0eceb5362..00ff441f1 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -6,7 +6,8 @@ import matplotlib.pyplot as plt from bcipy.config import (TRIGGER_FILENAME, RAW_DATA_FILENAME, - DEFAULT_DEVICE_SPEC_FILENAME) + DEFAULT_DEVICE_SPEC_FILENAME, + STATIC_IMAGES_PATH) from bcipy.helpers.acquisition import analysis_channels from bcipy.helpers.triggers import TriggerType, trigger_decoder from bcipy.helpers.convert import convert_to_mne @@ -19,6 +20,10 @@ import mne from mne import Epochs from mne.io import read_raw_edf +import numpy as np +import seaborn as sns +import matplotlib.pyplot as plt +import pandas as pd log = logging.getLogger(__name__) @@ -70,6 +75,102 @@ def visualize_erp( return figs +def visualize_gaze( + data, + left_keys=['left_x', 'left_y'], + right_keys=['right_x', 'right_y'], + save_path=None, + show=False, + img_path=None, + screen_size=(1920, 1080), + heatmap=False, + raw_plot=False): + """Visualize Eye Data. + + Assumes that the data is collected using BciPy and a Tobii-nano eye tracker. The default + image used is for the matrix calibration task on a 1920x1080 screen. + + Parameters + ---------- + data: RawData + save_path: Optional[str] + show: Optional[bool] + img_path: Optional[str] + screen_size: Optional[Tuple[int, int]] TODO + """ + + title = f'{data.daq_type} ' + if heatmap: + title += 'Heatmap ' + if raw_plot: + title += 'Raw Gaze ' + + if img_path is None: + img_path = f'{STATIC_IMAGES_PATH}/main/matrix.png' + img = plt.imread(img_path) + channels = data.channels + left_eye_channel_map = [1 if channel in left_keys else 0 for channel in channels] + left_eye_data, _, _ = data.by_channel_map(left_eye_channel_map) + left_eye_x = left_eye_data[0] + left_eye_y = left_eye_data[1] + + right_eye_channel_map = [1 if channel in right_keys else 0 for channel in channels] + right_eye_data, _, _ = data.by_channel_map(right_eye_channel_map) + right_eye_x = right_eye_data[0] + right_eye_y = right_eye_data[1] + eye_data = (left_eye_x, left_eye_y, right_eye_x, right_eye_y) + + # transform the eye data to fit the display. remove > 1 values < 0 values and flip the y axis + lx = np.clip(left_eye_x, 0, 1) + ly = np.clip(left_eye_y, 0, 1) + rx = np.clip(right_eye_x, 0, 1) + ry = np.clip(right_eye_y, 0, 1) + ly = 1 - ly + ry = 1 - ry + + # remove nan values + lx = lx[~np.isnan(lx)] + ly = ly[~np.isnan(ly)] + rx = rx[~np.isnan(rx)] + ry = ry[~np.isnan(ry)] + + # scale the eye data to the image + fig, ax = plt.subplots() + ax.imshow(img, extent=[0, 1, 0, 1]) + + if heatmap: + # create a dataframe making a column for each x, y pair for both eyes and a column for the eye (left or right) + df = pd.DataFrame({ + 'x': np.concatenate((lx, rx)), + 'y': np.concatenate((ly, ry)), + 'eye': ['left'] * len(lx) + ['right'] * len(rx) + }) + ax = sns.kdeplot( + data=df, + hue='eye', + x='x', + y='y', + fill=False, + thresh=0.05, + levels=10, + cmap="mako", + colorbar=True) + + if raw_plot: + ax.scatter(lx, ly, c='r', s=1) + ax.scatter(rx, ry, c='b', s=1) + + plt.title(f'{title}Plot') + + if save_path is not None: + plt.savefig(f"{save_path}/{title.lower().replace(' ', '_')}plot.png", dpi=fig.dpi) + + if show: + plt.show() + + return fig + + def plot_edf(edf_path: str, auto_scale: Optional[bool] = False): """Plot data from the raw edf file. Note: this works from an iPython session but seems to throw errors when provided in a script. @@ -197,6 +298,8 @@ def visualize_session_data(session_path: str, parameters: dict, show=True) -> Fi filter_order = parameters.get("filter_order") static_offset = parameters.get("static_trigger_offset") + # TODO check for existence of these files and throw error if not found + # TODO check for other data types (tobii) raw_data = load_raw_data(Path(session_path, f'{RAW_DATA_FILENAME}.csv')) channels = raw_data.channels sample_rate = raw_data.sample_rate @@ -226,7 +329,7 @@ def visualize_session_data(session_path: str, parameters: dict, show=True) -> Fi labels = [0 if label == 'nontarget' else 1 for label in trigger_targetness] channel_map = analysis_channels(channels, device_spec) - return visualize_erp( + erp = visualize_erp( raw_data, channel_map, trigger_timing, @@ -238,3 +341,5 @@ def visualize_session_data(session_path: str, parameters: dict, show=True) -> Fi save_path=session_path, show=show, ) + + eye_data = visualize_eye_data diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 37312dbeb..a79bbccc5 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -16,7 +16,7 @@ from bcipy.helpers.stimuli import play_sound, update_inquiry_timing from bcipy.helpers.system_utils import report_execution_time from bcipy.helpers.triggers import TriggerType, trigger_decoder -from bcipy.helpers.visualization import visualize_erp +from bcipy.helpers.visualization import visualize_erp, visualize_gaze from bcipy.signal.model.base_model import SignalModel from bcipy.signal.model.pca_rda_kde import PcaRdaKdeModel from bcipy.signal.process import filter_inquiries, get_default_transform @@ -234,6 +234,12 @@ def offline_analysis( ) if device_spec.content_type == "Eyetracker": print(device_spec) + figure_handles = visualize_gaze( + mode_data, + save_path=data_folder if save_figures else None, + show=show_figures, + raw_plot=True, + ) breakpoint() pass diff --git a/bcipy/static/images/main/matrix_grid.png b/bcipy/static/images/main/matrix.png similarity index 100% rename from bcipy/static/images/main/matrix_grid.png rename to bcipy/static/images/main/matrix.png diff --git a/requirements.txt b/requirements.txt index 6502c030b..14aeebfad 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,7 +13,7 @@ sounddevice==0.4.1 SoundFile==0.12.1 scipy==1.10.1 scikit-learn==1.2.2 -seaborn==0.9.0 +seaborn==0.12.2 matplotlib==3.4.2 pylsl==1.14.0 pandas==1.5.3 diff --git a/scripts/python/plot_eye_data.py b/scripts/python/plot_eye_data.py index 0fd04515f..5a1ef2c64 100644 --- a/scripts/python/plot_eye_data.py +++ b/scripts/python/plot_eye_data.py @@ -1,31 +1,18 @@ from bcipy.helpers.raw_data import load -from bcipy.config import STATIC_IMAGES_PATH DIPSIZE = (1707, 1067) -IMG_PATH = f'{STATIC_IMAGES_PATH}/main/matrix_grid.png' -# IMG_PATH = f'{STATIC_IMAGES_PATH}/rsvp.png' TOBII_FILENAME = 'eyetracker_data_tobii-p0.csv' def load_eye_tracking_data(path): data = load(f'{path}/{TOBII_FILENAME}') - - left_eye_channel_map = [0,0,1,1,0,0,0,0,0] - left_eye_data, _, _ = data.by_channel_map(left_eye_channel_map) - left_eye_x = left_eye_data[0] - left_eye_y = left_eye_data[1] - - right_eye_channel_map = [0,0,0,0,0,1,1,0,0] - right_eye_data, _, _ = data.by_channel_map(right_eye_channel_map) - right_eye_x = right_eye_data[0] - right_eye_y = right_eye_data[1] - return left_eye_x, left_eye_y, right_eye_x, right_eye_y - + return data if __name__ == "__main__": import argparse from pathlib import Path from bcipy.helpers.load import load_experimental_data + from bcipy.helpers.visualization import visualize_gaze import matplotlib.pyplot as plt from matplotlib import image import numpy as np @@ -46,47 +33,6 @@ def load_eye_tracking_data(path): path = load_experimental_data() data = load_eye_tracking_data(path) - lx, ly, rx, ry = data - - dpi = 100 - - # load the image - img = plt.imread(IMG_PATH) - # img = np.flipud(img) - - w, h = len(img[0]), len(img) - - # resize the image to fit the display - # img = np.resize(img, (DIPSIZE[1], DIPSIZE[0], 4)) - fig, ax = plt.subplots() - ax.imshow(img, extent=[0, 1, 0, 1]) - # ax.scatter(lx, ly, c='r', s=1) - # ax.scatter(rx, ry, c='b', s=1) - # transform the eye data to fit the display. remove > 1 values < 0 values and flip the y axis - lx = np.clip(lx, 0, 1) - ly = np.clip(ly, 0, 1) - rx = np.clip(rx, 0, 1) - ry = np.clip(ry, 0, 1) - ly = 1 - ly - ry = 1 - ry - - # plot the eye data - # ax.plot(lx, ly, c='r', linewidth=1) - # ax.plot(rx, ry, c='b', linewidth=1) - - # remove nan values - lx = lx[~np.isnan(lx)] - ly = ly[~np.isnan(ly)] - rx = rx[~np.isnan(rx)] - ry = ry[~np.isnan(ry)] - - # determine kde of the eye data - ax = sns.kdeplot(lx, ly, cmap="mako", fill=False, thresh=0.05, levels=10, colorbar=True) - - - ax.scatter(lx, ly, c='r', s=1) - ax.scatter(rx, ry, c='b', s=1) - - plt.show() - breakpoint() \ No newline at end of file + # Plot the eye data + visualize_gaze(data, show=True, save_path=path, heatmap=True, raw_plot=False) From 13dfdb9f0902e1f90a5aa5a2b91e7d0d84e1e7f6 Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Tue, 23 May 2023 15:48:01 -0700 Subject: [PATCH 024/330] Add some documentation --- scripts/python/plot_eye_data.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/python/plot_eye_data.py b/scripts/python/plot_eye_data.py index 5a1ef2c64..a51f3cbe9 100644 --- a/scripts/python/plot_eye_data.py +++ b/scripts/python/plot_eye_data.py @@ -34,5 +34,5 @@ def load_eye_tracking_data(path): data = load_eye_tracking_data(path) - # Plot the eye data - visualize_gaze(data, show=True, save_path=path, heatmap=True, raw_plot=False) + # Plot the eye data, set save_path to None to not save the plot. You can have both plots at the same time. + visualize_gaze(data, show=True, save_path=path, heatmap=False, raw_plot=True) From 987a701e5aba8576b156ab30e145a0f7196aea7f Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 6 Jun 2023 14:37:40 -0700 Subject: [PATCH 025/330] Stubbed out changes to model loading --- bcipy/helpers/load.py | 17 ++++++++--------- bcipy/signal/model/pca_rda_kde/pca_rda_kde.py | 13 ++++++++----- bcipy/task/control/evidence.py | 4 +--- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/bcipy/helpers/load.py b/bcipy/helpers/load.py index 44306739e..a59e7d383 100644 --- a/bcipy/helpers/load.py +++ b/bcipy/helpers/load.py @@ -6,20 +6,15 @@ from time import localtime, strftime from typing import Any, Dict, List, Tuple -from bcipy.config import ( - ROOT, - DEFAULT_ENCODING, - DEFAULT_EXPERIMENT_PATH, - DEFAULT_PARAMETERS_PATH, - DEFAULT_FIELD_PATH, - EXPERIMENT_FILENAME, - FIELD_FILENAME) +from bcipy.config import (DEFAULT_ENCODING, DEFAULT_EXPERIMENT_PATH, + DEFAULT_FIELD_PATH, DEFAULT_PARAMETERS_PATH, + EXPERIMENT_FILENAME, FIELD_FILENAME, ROOT) from bcipy.gui.file_dialog import ask_directory, ask_filename -from bcipy.preferences import preferences from bcipy.helpers.exceptions import (BciPyCoreException, InvalidExperimentException) from bcipy.helpers.parameters import Parameters from bcipy.helpers.raw_data import RawData +from bcipy.preferences import preferences from bcipy.signal.model import SignalModel log = logging.getLogger(__name__) @@ -192,6 +187,10 @@ def load_signal_model(model_class: SignalModel, return signal_model, filename +def load_signal_models(directory: str = None) -> List[SignalModel]: + """Load all signal models in a given directory""" + # TODO: + def choose_csv_file(filename: str = None) -> str: """GUI prompt to select a csv file from the file system. diff --git a/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py b/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py index b92d6a3c7..5c7c4a10f 100644 --- a/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py +++ b/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py @@ -3,20 +3,23 @@ from typing import List import numpy as np + +from bcipy.helpers.exceptions import SignalException +from bcipy.helpers.stimuli import InquiryReshaper from bcipy.signal.model import ModelEvaluationReport, SignalModel from bcipy.signal.model.classifier import RegularizedDiscriminantAnalysis -from bcipy.signal.model.cross_validation import cost_cross_validation_auc, cross_validation +from bcipy.signal.model.cross_validation import (cost_cross_validation_auc, + cross_validation) from bcipy.signal.model.density_estimation import KernelDensityEstimate -from bcipy.signal.model.dimensionality_reduction import ChannelWisePrincipalComponentAnalysis +from bcipy.signal.model.dimensionality_reduction import \ + ChannelWisePrincipalComponentAnalysis from bcipy.signal.model.pipeline import Pipeline -from bcipy.helpers.exceptions import SignalException -from bcipy.helpers.stimuli import InquiryReshaper class PcaRdaKdeModel(SignalModel): reshaper = InquiryReshaper() - def __init__(self, k_folds: int, prior_type="uniform", pca_n_components=0.9): + def __init__(self, k_folds: int = 10, prior_type="uniform", pca_n_components=0.9): self.k_folds = k_folds self.prior_type = prior_type self.pca_n_components = pca_n_components diff --git a/bcipy/task/control/evidence.py b/bcipy/task/control/evidence.py index 2a61a721f..52f3e4b88 100644 --- a/bcipy/task/control/evidence.py +++ b/bcipy/task/control/evidence.py @@ -23,11 +23,10 @@ def consumes(self) -> ContentType: def produces(self) -> EvidenceType: """Type of evidence that is output""" - def evaluate(self, *args, **kwargs): + def evaluate(self, **kwargs): """Evaluate the evidence""" -# TODO: can this go in the signal module? class FilterParams(NamedTuple): """Parameters used to filter signal data""" notch_filter_frequency: int = 60 @@ -95,7 +94,6 @@ def evaluate(self, raw_data: np.array, symbols: List[str], return self.signal_model.predict(reshaped_data, symbols, self.symbol_set) - def get_evaluator(data_source: ContentType, evidence_type: EvidenceType) -> EvidenceEvaluator: """Returns the matching evaluator. From 411f610b09c3341103ff21a3343339b6ebb51637 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 7 Jun 2023 11:52:20 -0700 Subject: [PATCH 026/330] Save and loading behavior for SignalModels to make it easier to load multiple models from a single directory --- bcipy/config.py | 1 + bcipy/helpers/load.py | 32 ++++++++++++++++--- bcipy/helpers/save.py | 20 +++++++++++- bcipy/signal/model/offline_analysis.py | 31 +++++++++--------- bcipy/signal/model/pca_rda_kde/pca_rda_kde.py | 15 +++++---- .../model/pca_rda_kde/test_pca_rda_kde.py | 15 +++++++-- 6 files changed, 84 insertions(+), 30 deletions(-) diff --git a/bcipy/config.py b/bcipy/config.py index bc9015b8a..f07ffff47 100644 --- a/bcipy/config.py +++ b/bcipy/config.py @@ -30,6 +30,7 @@ BCIPY_LOGO_PATH = f'{STATIC_IMAGES_PATH}/gui/cambi.png' PREFERENCES_PATH = f'{ROOT}/.bcipy/bcipy_cache' LM_PATH = f'{BCIPY_ROOT}/language/lms' +SIGNAL_MODEL_FILE_SUFFIX = '.pkl' # core data configuration RAW_DATA_FILENAME = 'raw_data' diff --git a/bcipy/helpers/load.py b/bcipy/helpers/load.py index a59e7d383..825208995 100644 --- a/bcipy/helpers/load.py +++ b/bcipy/helpers/load.py @@ -1,14 +1,16 @@ import json import logging import os +import pickle from pathlib import Path from shutil import copyfile from time import localtime, strftime -from typing import Any, Dict, List, Tuple +from typing import Any, Dict, List, Optional, Tuple from bcipy.config import (DEFAULT_ENCODING, DEFAULT_EXPERIMENT_PATH, DEFAULT_FIELD_PATH, DEFAULT_PARAMETERS_PATH, - EXPERIMENT_FILENAME, FIELD_FILENAME, ROOT) + EXPERIMENT_FILENAME, FIELD_FILENAME, ROOT, + SIGNAL_MODEL_FILE_SUFFIX) from bcipy.gui.file_dialog import ask_directory, ask_filename from bcipy.helpers.exceptions import (BciPyCoreException, InvalidExperimentException) @@ -187,9 +189,29 @@ def load_signal_model(model_class: SignalModel, return signal_model, filename -def load_signal_models(directory: str = None) -> List[SignalModel]: - """Load all signal models in a given directory""" - # TODO: +def load_signal_models(directory: Optional[str] = None) -> List[SignalModel]: + """Load all signal models in a given directory. + + Models should be serialized as pickled files. Note that reading pickled + files is a potential security concern so only load from trusted + directories. + + Args: + dirname (str, optional): Location of pretrained models. If not + provided the user will be prompted for a location. + """ + if not directory or Path(directory).is_file(): + directory = ask_directory() + + # update preferences + path = Path(directory) + preferences.signal_model_directory = str(path) + + models = [] + for file_path in path.glob(f"*{SIGNAL_MODEL_FILE_SUFFIX}"): + with open(file_path, "rb") as file: + models.append(pickle.load(file)) + return models def choose_csv_file(filename: str = None) -> str: diff --git a/bcipy/helpers/save.py b/bcipy/helpers/save.py index a77bad09b..c6f3c0423 100644 --- a/bcipy/helpers/save.py +++ b/bcipy/helpers/save.py @@ -1,6 +1,7 @@ import errno import json import os +import pickle from pathlib import Path from shutil import copyfile from time import localtime, strftime @@ -10,8 +11,9 @@ from bcipy.config import (DEFAULT_ENCODING, DEFAULT_EXPERIMENT_ID, DEFAULT_LM_PARAMETERS_FILENAME, DEFAULT_LM_PARAMETERS_PATH, - DEFAULT_PARAMETER_FILENAME) + DEFAULT_PARAMETER_FILENAME, SIGNAL_MODEL_FILE_SUFFIX) from bcipy.helpers.validate import validate_experiments +from bcipy.signal.model.base_model import SignalModel def save_json_data(data: Any, location: str, name: str) -> str: @@ -149,3 +151,19 @@ def _save_session_related_data(file, session_dictionary): # Use the file to dump data to json.dump(session_dictionary, file, indent=2) return file + +def save_model(model: SignalModel, path: Path): + """Save model weights (e.g. after training) to `path` + + Parameters + ---------- + model - SignalModel to serialize + path - path to the file which will be created. If the path does not + have the SIGNAL_MODEL_FILE_SUFFIX then that will be appended. + """ + path = path.with_suffix(SIGNAL_MODEL_FILE_SUFFIX) + with open(path, "wb") as file: + # Protocol 4 is the default in Python 3.8, but supported as low as 3.4. + # It supports very large objects and some data format optimizations + # making it appropriate for signal models. + pickle.dump(model, file, protocol=4) diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index f7d957622..946d2cd00 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -2,30 +2,28 @@ from pathlib import Path from typing import Tuple -from bcipy.config import (DEFAULT_PARAMETERS_PATH, TRIGGER_FILENAME, - RAW_DATA_FILENAME, STATIC_AUDIO_PATH, - DEFAULT_DEVICE_SPEC_FILENAME) -from bcipy.preferences import preferences +import numpy as np +from matplotlib.figure import Figure +from sklearn.metrics import balanced_accuracy_score +from sklearn.model_selection import train_test_split + +import bcipy.acquisition.devices as devices +from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, + DEFAULT_PARAMETERS_PATH, RAW_DATA_FILENAME, + STATIC_AUDIO_PATH, TRIGGER_FILENAME) from bcipy.helpers.acquisition import analysis_channels -from bcipy.helpers.load import ( - load_experimental_data, - load_json_parameters, - load_raw_data, -) +from bcipy.helpers.load import (load_experimental_data, load_json_parameters, + load_raw_data) +from bcipy.helpers.save import save_model from bcipy.helpers.stimuli import play_sound, update_inquiry_timing from bcipy.helpers.system_utils import report_execution_time from bcipy.helpers.triggers import TriggerType, trigger_decoder from bcipy.helpers.visualization import visualize_erp +from bcipy.preferences import preferences from bcipy.signal.model.base_model import SignalModel from bcipy.signal.model.pca_rda_kde import PcaRdaKdeModel from bcipy.signal.process import filter_inquiries, get_default_transform -import numpy as np -from matplotlib.figure import Figure -from sklearn.metrics import balanced_accuracy_score -from sklearn.model_selection import train_test_split -import bcipy.acquisition.devices as devices - log = logging.getLogger(__name__) logging.basicConfig(level=logging.INFO, format="[%(threadName)-9s][%(asctime)s][%(name)s][%(levelname)s]: %(message)s") @@ -182,7 +180,8 @@ def offline_analysis( model.fit(data, labels) log.info(f"Training complete [AUC={model.auc:0.4f}]. Saving data...") - model.save(data_folder + f"/model_{model.auc:0.4f}.pkl") + # model.save(data_folder + f"/model_{model.auc:0.4f}.pkl") + save_model(model, data_folder + f"/model_{model.auc:0.4f}.pkl") preferences.signal_model_directory = data_folder # Using an 80/20 split, report on balanced accuracy diff --git a/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py b/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py index 5c7c4a10f..75541ae6a 100644 --- a/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py +++ b/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py @@ -29,7 +29,11 @@ def __init__(self, k_folds: int = 10, prior_type="uniform", pca_n_components=0.9 self.max = 1e2 self.model = None self.auc = None - self._ready_to_predict = False + + @property + def ready_to_predict(self) -> bool: + """Returns True if a model has been trained""" + return bool(self.model) def fit(self, train_data: np.array, train_labels: np.array) -> SignalModel: """ @@ -81,7 +85,6 @@ def fit(self, train_data: np.array, train_labels: np.array) -> SignalModel: else: raise ValueError("prior_type must be 'empirical' or 'uniform'") - self._ready_to_predict = True return self def evaluate(self, test_data: np.array, test_labels: np.array) -> ModelEvaluationReport: @@ -97,7 +100,7 @@ def evaluate(self, test_data: np.array, test_labels: np.array) -> ModelEvaluatio Returns: ModelEvaluationReport: stores AUC """ - if not self._ready_to_predict: + if not self.ready_to_predict: raise SignalException("must use model.fit() before model.evaluate()") tmp_model = Pipeline([self.model.pipeline[0], self.model.pipeline[1]]) @@ -129,7 +132,7 @@ def predict(self, data: np.array, inquiry: List[str], symbol_set: List[str]) -> np.array: multiplicative update term (likelihood ratios) for each symbol in the `symbol_set`. """ - if not self._ready_to_predict: + if not self.ready_to_predict: raise SignalException("must use model.fit() before model.predict()") # Evaluate likelihood probabilities for p(e|l=1) and p(e|l=0) @@ -151,7 +154,7 @@ def predict_proba(self, data: np.array) -> np.array: posterior (np.ndarray): shape (num_items, 2) - for each item, the model's predicted probability for the two labels. """ - if not self._ready_to_predict: + if not self.ready_to_predict: raise SignalException("must use model.fit() before model.predict_proba()") # Model originally produces p(eeg | label). We want p(label | eeg): @@ -177,4 +180,4 @@ def load(self, path: Path): """Load pretrained model weights from `path`""" with open(path, "rb") as f: self.model = pickle.load(f) - self._ready_to_predict = True + diff --git a/bcipy/signal/tests/model/pca_rda_kde/test_pca_rda_kde.py b/bcipy/signal/tests/model/pca_rda_kde/test_pca_rda_kde.py index 4ed65a0ff..a80503764 100644 --- a/bcipy/signal/tests/model/pca_rda_kde/test_pca_rda_kde.py +++ b/bcipy/signal/tests/model/pca_rda_kde/test_pca_rda_kde.py @@ -8,14 +8,15 @@ import pytest from scipy.stats import norm +from bcipy.helpers.exceptions import SignalException from bcipy.helpers.symbols import alphabet from bcipy.signal.model import ModelEvaluationReport, PcaRdaKdeModel from bcipy.signal.model.classifier import RegularizedDiscriminantAnalysis from bcipy.signal.model.cross_validation import cross_validation from bcipy.signal.model.density_estimation import KernelDensityEstimate -from bcipy.signal.model.dimensionality_reduction import ChannelWisePrincipalComponentAnalysis +from bcipy.signal.model.dimensionality_reduction import \ + ChannelWisePrincipalComponentAnalysis from bcipy.signal.model.pipeline import Pipeline -from bcipy.helpers.exceptions import SignalException expected_output_folder = Path(__file__).absolute().parent.parent / "unit_test_expected_output" @@ -235,6 +236,11 @@ def test_save_load(self): self.assertTrue(np.allclose(output_before, output_after)) + try: + other_model.predict_proba(self.x) + except Exception: + pytest.fail("Should be able to compute predict_proba after loading a model") + def test_predict_before_fit(self): model = PcaRdaKdeModel(k_folds=10) with self.assertRaises(SignalException): @@ -245,6 +251,11 @@ def test_evaluate_before_fit(self): with self.assertRaises(SignalException): model.evaluate(self.x, self.y) + def test_predict_proba_before_fit(self): + model = PcaRdaKdeModel(k_folds=10) + with self.assertRaises(SignalException): + model.predict_proba(self.x) + if __name__ == "__main__": unittest.main() From 97c31f70462cc6a77dccf568c70946d01d960ea7 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 7 Jun 2023 15:53:34 -0700 Subject: [PATCH 027/330] Updated bci_main to load multiple signal models from a directory; better documentation --- bcipy/helpers/load.py | 5 +++-- bcipy/helpers/save.py | 6 +++--- bcipy/main.py | 17 ++++++++-------- bcipy/signal/model/offline_analysis.py | 3 +-- .../model/pca_rda_kde/test_pca_rda_kde.py | 11 +++++++--- bcipy/tests/test_bci_main.py | 20 ++++++------------- 6 files changed, 29 insertions(+), 33 deletions(-) diff --git a/bcipy/helpers/load.py b/bcipy/helpers/load.py index 825208995..adda32f1b 100644 --- a/bcipy/helpers/load.py +++ b/bcipy/helpers/load.py @@ -192,8 +192,9 @@ def load_signal_model(model_class: SignalModel, def load_signal_models(directory: Optional[str] = None) -> List[SignalModel]: """Load all signal models in a given directory. - Models should be serialized as pickled files. Note that reading pickled - files is a potential security concern so only load from trusted + Models are assumed to have been written using bcipy.helpers.save.save_model + function and should be serialized as pickled files. Note that reading + pickled files is a potential security concern so only load from trusted directories. Args: diff --git a/bcipy/helpers/save.py b/bcipy/helpers/save.py index c6f3c0423..d5e075d9c 100644 --- a/bcipy/helpers/save.py +++ b/bcipy/helpers/save.py @@ -5,7 +5,7 @@ from pathlib import Path from shutil import copyfile from time import localtime, strftime -from typing import Any, List +from typing import Any, List, Union from bcipy.acquisition.devices import DeviceSpec from bcipy.config import (DEFAULT_ENCODING, DEFAULT_EXPERIMENT_ID, @@ -152,7 +152,7 @@ def _save_session_related_data(file, session_dictionary): json.dump(session_dictionary, file, indent=2) return file -def save_model(model: SignalModel, path: Path): +def save_model(model: SignalModel, path: Union[Path, str]): """Save model weights (e.g. after training) to `path` Parameters @@ -161,7 +161,7 @@ def save_model(model: SignalModel, path: Path): path - path to the file which will be created. If the path does not have the SIGNAL_MODEL_FILE_SUFFIX then that will be appended. """ - path = path.with_suffix(SIGNAL_MODEL_FILE_SUFFIX) + path = Path(path).with_suffix(SIGNAL_MODEL_FILE_SUFFIX) with open(path, "wb") as file: # Protocol 4 is the default in Python 3.8, but supported as low as 3.4. # It supports very large objects and some data format optimizations diff --git a/bcipy/main.py b/bcipy/main.py index 9f8445875..2c2b4d1e9 100644 --- a/bcipy/main.py +++ b/bcipy/main.py @@ -12,7 +12,7 @@ from bcipy.helpers.acquisition import init_eeg_acquisition from bcipy.helpers.language_model import init_language_model from bcipy.helpers.load import (load_experiments, load_json_parameters, - load_signal_model) + load_signal_models) from bcipy.helpers.save import init_save_data_structure from bcipy.helpers.session import collect_experiment_field_data from bcipy.helpers.stimuli import play_sound @@ -20,7 +20,6 @@ from bcipy.helpers.task import print_message from bcipy.helpers.validate import validate_bcipy_session, validate_experiment from bcipy.helpers.visualization import visualize_session_data -from bcipy.signal.model import PcaRdaKdeModel from bcipy.task import TaskType from bcipy.task.start_task import start_task @@ -136,13 +135,13 @@ def execute_task( # Try loading in our signal_model and starting a langmodel(if enabled) if not fake: try: - signal_model, _filename = load_signal_model( - model_class=PcaRdaKdeModel, - model_kwargs={'k_folds': parameters['k_folds']}, - filename=parameters['signal_model_path']) - except Exception as e: - log.exception(f'Cannot load signal model. Exiting. {e}') - raise e + model_dir = parameters['signal_model_path'] + signal_models = load_signal_models(directory=model_dir) + assert signal_models, f"No signal models found in {model_dir}" + signal_model = signal_models[0] + except Exception as error: + log.exception(f'Cannot load signal model. Exiting. {error}') + raise error language_model = init_language_model(parameters) diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 946d2cd00..124e0eb3d 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -180,8 +180,7 @@ def offline_analysis( model.fit(data, labels) log.info(f"Training complete [AUC={model.auc:0.4f}]. Saving data...") - # model.save(data_folder + f"/model_{model.auc:0.4f}.pkl") - save_model(model, data_folder + f"/model_{model.auc:0.4f}.pkl") + save_model(model, Path(data_folder, f"model_{model.auc:0.4f}.pkl")) preferences.signal_model_directory = data_folder # Using an 80/20 split, report on balanced accuracy diff --git a/bcipy/signal/tests/model/pca_rda_kde/test_pca_rda_kde.py b/bcipy/signal/tests/model/pca_rda_kde/test_pca_rda_kde.py index a80503764..e4238d2b7 100644 --- a/bcipy/signal/tests/model/pca_rda_kde/test_pca_rda_kde.py +++ b/bcipy/signal/tests/model/pca_rda_kde/test_pca_rda_kde.py @@ -9,6 +9,8 @@ from scipy.stats import norm from bcipy.helpers.exceptions import SignalException +from bcipy.helpers.load import load_signal_models +from bcipy.helpers.save import save_model from bcipy.helpers.symbols import alphabet from bcipy.signal.model import ModelEvaluationReport, PcaRdaKdeModel from bcipy.signal.model.classifier import RegularizedDiscriminantAnalysis @@ -229,9 +231,12 @@ def test_save_load(self): output_before = self.model.predict(data=data, inquiry=inquiry, symbol_set=symbol_set) checkpoint_path = self.tmp_dir / "model.pkl" - self.model.save(checkpoint_path) - other_model = PcaRdaKdeModel(k_folds=self.model.k_folds) - other_model.load(checkpoint_path) + save_model(self.model, checkpoint_path) + + loaded_models = load_signal_models(self.tmp_dir) + self.assertEqual(1, len(loaded_models)) + other_model = loaded_models[0] + self.assertEqual(self.model.k_folds, other_model.k_folds) output_after = other_model.predict(data=data, inquiry=inquiry, symbol_set=symbol_set) self.assertTrue(np.allclose(output_before, output_after)) diff --git a/bcipy/tests/test_bci_main.py b/bcipy/tests/test_bci_main.py index bfc47cbf8..82a98bc56 100644 --- a/bcipy/tests/test_bci_main.py +++ b/bcipy/tests/test_bci_main.py @@ -413,7 +413,7 @@ def test_execute_task_non_calibration_real_data(self) -> None: signal_model = mock() language_model = mock() file_name = 'test' - load_model_response = (signal_model, file_name) + load_model_response = [signal_model] eeg_response = (self.daq, self.server) when(main).init_eeg_acquisition( self.parameters, @@ -421,9 +421,7 @@ def test_execute_task_non_calibration_real_data(self) -> None: server=self.fake).thenReturn(eeg_response) when(main).init_display_window(self.parameters).thenReturn(self.display_mock) when(main).print_message(self.display_mock, any()) - when(main).load_signal_model(model_class=any(), model_kwargs={ - 'k_folds': self.parameters['k_folds'] - }, filename=model_path).thenReturn(load_model_response) + when(main).load_signal_models(directory=model_path).thenReturn(load_model_response) when(main).init_language_model(self.parameters).thenReturn(language_model) when(main).start_task( self.display_mock, @@ -455,9 +453,7 @@ def test_execute_task_non_calibration_real_data(self) -> None: signal_model=signal_model, fake=self.fake, ) - verify(main, times=1).load_signal_model(model_class=any(), model_kwargs={ - 'k_folds': self.parameters['k_folds'] - }, filename=model_path) + verify(main, times=1).load_signal_models(directory=model_path) verify(main, times=1)._clean_up_session(self.display_mock, self.daq, self.server) def test_execute_language_model_enabled(self) -> None: @@ -468,7 +464,7 @@ def test_execute_language_model_enabled(self) -> None: signal_model = mock() file_name = 'test' language_model = mock() - load_model_response = (signal_model, file_name) + load_model_response = [signal_model] # mock the behavior of execute task eeg_response = (self.daq, self.server) @@ -479,9 +475,7 @@ def test_execute_language_model_enabled(self) -> None: when(main).init_language_model(self.parameters).thenReturn(language_model) when(main).init_display_window(self.parameters).thenReturn(self.display_mock) when(main).print_message(self.display_mock, any()) - when(main).load_signal_model(model_class=any(), model_kwargs={ - 'k_folds': self.parameters['k_folds'] - }, filename='').thenReturn(load_model_response) + when(main).load_signal_models(directory='').thenReturn(load_model_response) when(main).start_task( self.display_mock, self.daq, @@ -512,9 +506,7 @@ def test_execute_language_model_enabled(self) -> None: signal_model=signal_model, fake=self.fake, ) - verify(main, times=1).load_signal_model(model_class=any(), model_kwargs={ - 'k_folds': self.parameters['k_folds'] - }, filename='') + verify(main, times=1).load_signal_models(directory='') verify(main, times=1).init_language_model(self.parameters) verify(main, times=1)._clean_up_session(self.display_mock, self.daq, self.server) From 0549b0fa82e76693e017b0c6140c6d30f49b179b Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 7 Jun 2023 16:05:53 -0700 Subject: [PATCH 028/330] Fixed unit test --- bcipy/task/tests/core/test_eeg_evaluator.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bcipy/task/tests/core/test_eeg_evaluator.py b/bcipy/task/tests/core/test_eeg_evaluator.py index 2a80bdc1e..311f8d730 100644 --- a/bcipy/task/tests/core/test_eeg_evaluator.py +++ b/bcipy/task/tests/core/test_eeg_evaluator.py @@ -85,8 +85,8 @@ def test_evaluate(self, reshaper_factory_mock, transform_factory_mock, channel_map=channel_map, poststimulus_length=window_length) - self.signal_model_mock.assert_called_once_with(reshaped_data, symbols, - self.symbol_set) + self.signal_model_mock.predict.assert_called_once_with( + reshaped_data, symbols, self.symbol_set) if __name__ == '__main__': From 2a41e2571fefe41d747b8ec19f1b4262262b0cf2 Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 12 Jun 2023 13:34:12 -0700 Subject: [PATCH 029/330] Refactor to pass multiple models in to tasks --- bcipy/main.py | 5 ++--- bcipy/task/paradigm/matrix/copy_phrase.py | 7 +++---- bcipy/task/paradigm/rsvp/copy_phrase.py | 7 +++---- bcipy/task/start_task.py | 12 ++++++------ 4 files changed, 14 insertions(+), 17 deletions(-) diff --git a/bcipy/main.py b/bcipy/main.py index 2c2b4d1e9..37e6df437 100644 --- a/bcipy/main.py +++ b/bcipy/main.py @@ -126,7 +126,7 @@ def execute_task( Returns: (bool): True if the task was successfully executed, False otherwise """ - signal_model = None + signal_models = [] language_model = None # Init EEG Model, if needed. Calibration Tasks Don't require probabilistic @@ -138,7 +138,6 @@ def execute_task( model_dir = parameters['signal_model_path'] signal_models = load_signal_models(directory=model_dir) assert signal_models, f"No signal models found in {model_dir}" - signal_model = signal_models[0] except Exception as error: log.exception(f'Cannot load signal model. Exiting. {error}') raise error @@ -163,7 +162,7 @@ def execute_task( parameters, save_folder, language_model=language_model, - signal_model=signal_model, + signal_models=signal_models, fake=fake) # If exception, close all display and acquisition objects diff --git a/bcipy/task/paradigm/matrix/copy_phrase.py b/bcipy/task/paradigm/matrix/copy_phrase.py index 44a96a593..53e9e9ecc 100644 --- a/bcipy/task/paradigm/matrix/copy_phrase.py +++ b/bcipy/task/paradigm/matrix/copy_phrase.py @@ -1,9 +1,9 @@ """Defines the Copy Phrase Task which uses a Matrix display""" -from bcipy.task.paradigm.rsvp.copy_phrase import RSVPCopyPhraseTask from bcipy.display import Display, InformationProperties, StimuliProperties -from bcipy.display.paradigm.matrix.display import MatrixDisplay from bcipy.display.components.task_bar import CopyPhraseTaskBar +from bcipy.display.paradigm.matrix.display import MatrixDisplay +from bcipy.task.paradigm.rsvp.copy_phrase import RSVPCopyPhraseTask class MatrixCopyPhraseTask(RSVPCopyPhraseTask): @@ -23,8 +23,7 @@ class MatrixCopyPhraseTask(RSVPCopyPhraseTask): configuration details regarding the experiment. See parameters.json file_save : str, path location of where to save data from the session - signal_model : loaded pickle file, - trained signal model. + signal_models : list of trained signal models. language_model: object, trained language model. fake : boolean, optional diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index 4f97569ad..a435a6954 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -65,8 +65,7 @@ class RSVPCopyPhraseTask(Task): configuration details regarding the experiment. See parameters.json file_save : str, path location of where to save data from the session - signal_model : loaded pickle file, - trained signal model. + signal_models : list of trained signal models. language_model: object, trained language model. fake : boolean, optional @@ -96,7 +95,7 @@ class RSVPCopyPhraseTask(Task): 'info_pos_x', 'info_pos_y', 'info_color', 'info_height', 'info_text', 'info_color', 'info_height', 'info_text', ] - def __init__(self, win, daq, parameters, file_save, signal_model, + def __init__(self, win, daq, parameters, file_save, signal_models, language_model, fake): super(RSVPCopyPhraseTask, self).__init__() @@ -126,7 +125,7 @@ def __init__(self, win, daq, parameters, file_save, signal_model, self.fake = fake self.language_model = language_model - self.signal_model = signal_model + self.signal_model = signal_models[0] if signal_models else None self.evidence_precision = 5 self.feedback = VisualFeedback( diff --git a/bcipy/task/start_task.py b/bcipy/task/start_task.py index 57949d8c8..264ca2a20 100644 --- a/bcipy/task/start_task.py +++ b/bcipy/task/start_task.py @@ -14,7 +14,7 @@ def make_task(display_window, daq, task, parameters, file_save, - signal_model=None, language_model=None, fake=True) -> Task: + signal_models=None, language_model=None, fake=True) -> Task: """Creates a Task based on the provided parameters. Parameters: @@ -24,7 +24,7 @@ def make_task(display_window, daq, task, parameters, file_save, task: TaskType parameters: dict file_save: str - path to file in which to save data - signal_model + signal_models - list of trained models language_model - language model fake: boolean - true if eeg stream is randomly generated Returns: @@ -39,7 +39,7 @@ def make_task(display_window, daq, task, parameters, file_save, if task is TaskType.RSVP_COPY_PHRASE: return RSVPCopyPhraseTask( - display_window, daq, parameters, file_save, signal_model, + display_window, daq, parameters, file_save, signal_models, language_model, fake=fake) if task is TaskType.RSVP_TIMING_VERIFICATION_CALIBRATION: @@ -55,15 +55,15 @@ def make_task(display_window, daq, task, parameters, file_save, if task is TaskType.MATRIX_COPY_PHRASE: return MatrixCopyPhraseTask( - display_window, daq, parameters, file_save, signal_model, + display_window, daq, parameters, file_save, signal_models, language_model, fake=fake) raise TaskRegistryException( 'The provided experiment type is not registered.') def start_task(display_window, daq, task, parameters, file_save, - signal_model=None, language_model=None, fake=True): + signal_models=None, language_model=None, fake=True): """Creates a Task and starts execution.""" task = make_task(display_window, daq, task, parameters, file_save, - signal_model, language_model, fake) + signal_models, language_model, fake) task.execute() From b4a10ee66b1258604a010779fb37d20b81fadac5 Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 12 Jun 2023 13:36:40 -0700 Subject: [PATCH 030/330] Factored parameters for the default_transform into a NamedTuple that can be extracted from the provided Parameters. Added metadata to SignalModels that can be used to match to an EvidenceEvaluator as well as encapsulate the filter parameters and device used to train the model. --- bcipy/signal/model/base_model.py | 27 +++- bcipy/signal/model/offline_analysis.py | 32 ++--- bcipy/signal/process/__init__.py | 7 +- bcipy/signal/process/transform.py | 21 ++- bcipy/task/control/evidence.py | 182 ++++++++++++++++++------- 5 files changed, 202 insertions(+), 67 deletions(-) diff --git a/bcipy/signal/model/base_model.py b/bcipy/signal/model/base_model.py index 26c9c9974..8a854f72b 100644 --- a/bcipy/signal/model/base_model.py +++ b/bcipy/signal/model/base_model.py @@ -1,11 +1,36 @@ from abc import ABC, abstractmethod from pathlib import Path -from typing import List +from typing import List, NamedTuple + import numpy as np + +from bcipy.acquisition.devices import DeviceSpec from bcipy.helpers.stimuli import Reshaper +from bcipy.signal.process import Composition + + +class SignalModelMetadata(NamedTuple): + """Metadata about the SignalModel, including how the model was trained + (device, filters, etc).""" + + device_spec: DeviceSpec # device used to train the model + transform: Composition # data preprocessing steps + evidence_type: str = None # optional; type of evidence produced class SignalModel(ABC): + + @property + def metadata(self) -> SignalModelMetadata: + """Information regarding the data and parameters used to train the + model.""" + return self._metadata + + @metadata.setter + def metadata(self, value): + """Set the metadata""" + self._metadata = value + @property @abstractmethod def reshaper(self) -> Reshaper: diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 124e0eb3d..19a8ca3e5 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -14,15 +14,17 @@ from bcipy.helpers.acquisition import analysis_channels from bcipy.helpers.load import (load_experimental_data, load_json_parameters, load_raw_data) +from bcipy.helpers.parameters import Parameters from bcipy.helpers.save import save_model from bcipy.helpers.stimuli import play_sound, update_inquiry_timing from bcipy.helpers.system_utils import report_execution_time from bcipy.helpers.triggers import TriggerType, trigger_decoder from bcipy.helpers.visualization import visualize_erp from bcipy.preferences import preferences -from bcipy.signal.model.base_model import SignalModel +from bcipy.signal.model.base_model import SignalModel, SignalModelMetadata from bcipy.signal.model.pca_rda_kde import PcaRdaKdeModel -from bcipy.signal.process import filter_inquiries, get_default_transform +from bcipy.signal.process import (TransformParams, filter_inquiries, + get_default_transform) log = logging.getLogger(__name__) logging.basicConfig(level=logging.INFO, format="[%(threadName)-9s][%(asctime)s][%(name)s][%(levelname)s]: %(message)s") @@ -56,7 +58,7 @@ def subset_data(data: np.ndarray, labels: np.ndarray, test_size: float, random_s @report_execution_time def offline_analysis( data_folder: str = None, - parameters: dict = {}, + parameters: Parameters = None, alert_finished: bool = True, estimate_balanced_acc: bool = False, show_figures: bool = False, @@ -86,7 +88,7 @@ def offline_analysis( - generates and [optional] saves/shows the ERP figure - [optional] alert the user finished processing """ - + assert parameters, "Parameters are required" if not data_folder: data_folder = load_experimental_data() @@ -100,17 +102,13 @@ def offline_analysis( raw_data_file = f"{RAW_DATA_FILENAME}.csv" # get signal filtering information - downsample_rate = parameters.get("down_sampling_rate") - notch_filter = parameters.get("notch_filter_frequency") - filter_high = parameters.get("filter_high") - filter_low = parameters.get("filter_low") - filter_order = parameters.get("filter_order") + transform_params = parameters.instantiate(TransformParams) + downsample_rate = transform_params.down_sampling_rate static_offset = parameters.get("static_trigger_offset") log.info( f"\nData processing settings: \n" - f"Filter: [{filter_low}-{filter_high}], Order: {filter_order}," - f" Notch: {notch_filter}, Downsample: {downsample_rate} \n" + f"{str(transform_params)} \n" f"Poststimulus: {poststim_length}s, Prestimulus: {prestim_length}s, Buffer: {buffer}s \n" f"Static offset: {static_offset}" ) @@ -127,11 +125,11 @@ def offline_analysis( # setup filtering default_transform = get_default_transform( sample_rate_hz=sample_rate, - notch_freq_hz=notch_filter, - bandpass_low=filter_low, - bandpass_high=filter_high, - bandpass_order=filter_order, - downsample_factor=downsample_rate, + notch_freq_hz=transform_params.notch_filter, + bandpass_low=transform_params.filter_low, + bandpass_high=transform_params.filter_high, + bandpass_order=transform_params.filter_order, + downsample_factor=transform_params.down_sampling_rate, ) log.info(f"Channels read from csv: {channels}") @@ -178,6 +176,8 @@ def offline_analysis( log.info("Training model. This will take some time...") model = PcaRdaKdeModel(k_folds=k_folds) model.fit(data, labels) + model.metadata = SignalModelMetadata(device_spec=device_spec, + transform=default_transform) log.info(f"Training complete [AUC={model.auc:0.4f}]. Saving data...") save_model(model, Path(data_folder, f"model_{model.auc:0.4f}.pkl")) diff --git a/bcipy/signal/process/__init__.py b/bcipy/signal/process/__init__.py index cc75033f5..689ae620f 100644 --- a/bcipy/signal/process/__init__.py +++ b/bcipy/signal/process/__init__.py @@ -1,9 +1,12 @@ -from bcipy.signal.process.transform import get_default_transform, Downsample, Composition from bcipy.signal.process.filter import filter_inquiries +from bcipy.signal.process.transform import (Composition, Downsample, + TransformParams, + get_default_transform) __all__ = [ "filter_inquiries", "get_default_transform", "Downsample", - "Composition" + "Composition", + "TransformParams" ] diff --git a/bcipy/signal/process/transform.py b/bcipy/signal/process/transform.py index 734eff358..853164a8f 100644 --- a/bcipy/signal/process/transform.py +++ b/bcipy/signal/process/transform.py @@ -1,7 +1,8 @@ -from typing import Optional, Tuple +from typing import NamedTuple, Optional, Tuple import numpy as np -from bcipy.signal.process.filter import Notch, Bandpass + +from bcipy.signal.process.filter import Bandpass, Notch class Composition: @@ -28,6 +29,22 @@ def __call__(self, data: np.ndarray, fs: Optional[int] = None) -> Tuple[np.ndarr else: return data[:, :: self.factor], None +class TransformParams(NamedTuple): + """Parameters used for the default transform.""" + notch_filter_frequency: int = 60 + filter_low: int = 2 + filter_high: int = 45 + filter_order: int = 2 + down_sampling_rate: int = 2 + + def __str__(self): + return ', '.join([ + f"Filter: [{self.filter_low}-{self.filter_high}]" + f"Order: {self.filter_order}", + f"Notch: {self.notch_filter_frequency}", + f"Downsample: {self.down_sampling_rate}" + ]) + def get_default_transform( sample_rate_hz: int, diff --git a/bcipy/task/control/evidence.py b/bcipy/task/control/evidence.py index 52f3e4b88..ba098390d 100644 --- a/bcipy/task/control/evidence.py +++ b/bcipy/task/control/evidence.py @@ -1,5 +1,6 @@ """Classes and functions for extracting evidence from raw device data.""" -from typing import List, NamedTuple +import logging +from typing import List, Optional import numpy as np @@ -7,13 +8,32 @@ from bcipy.helpers.acquisition import DeviceSpec, analysis_channels from bcipy.helpers.stimuli import TrialReshaper from bcipy.signal.model import SignalModel -from bcipy.signal.process import get_default_transform +from bcipy.signal.process import TransformParams, get_default_transform from bcipy.task.data import EvidenceType from bcipy.task.exceptions import MissingEvidenceEvaluator +log = logging.getLogger(__name__) + class EvidenceEvaluator: - """Base class""" + """Base class + + Parameters + ---------- + symbol_set: set of possible symbols presented + signal_model: model trained using a calibration session of the same user. + device_spec: Specification for the device providing data. + """ + + def __init__(self, symbol_set: List[str], signal_model: SignalModel): + assert signal_model.metadata, "Metadata missing from signal model." + device_spec = signal_model.metadata.device_spec + assert ContentType( + signal_model.metadata.device_spec.content_type + ) == self.consumes, "evaluator is not compatible with the given model" + self.symbol_set = symbol_set + self.signal_model = signal_model + self.device_spec = device_spec @property def consumes(self) -> ContentType: @@ -27,31 +47,53 @@ def evaluate(self, **kwargs): """Evaluate the evidence""" -class FilterParams(NamedTuple): - """Parameters used to filter signal data""" - notch_filter_frequency: int = 60 - filter_low: int = 2 - filter_high: int = 45 - filter_order: int = 2 - downsample_rate: int = 2 - - class EegEvaluator(EvidenceEvaluator): - """Extracts symbol likelihoods from raw EEG data""" + """Extracts symbol likelihoods from raw EEG data + + Parameters + ---------- + symbol_set: set of possible symbols presented + signal_model: model trained using a calibration session of the same user. + device_spec: Specification for the device providing data. + filter_params: configuration for the data transfor; values here should + match the values used when training the model. + """ consumes = ContentType.EEG produces = EvidenceType.ERP - def __init__(self, symbol_set: List[str], signal_model: SignalModel, - device_spec: DeviceSpec, filter_params: FilterParams): - assert ContentType( - device_spec.content_type - ) == self.consumes, "evaluator is not compatible with the given device" - self.symbol_set = symbol_set - self.signal_model = signal_model - self.filter_params = filter_params + def __init__(self, symbol_set: List[str], signal_model: SignalModel): + super().__init__(symbol_set, signal_model) - self.sample_rate = device_spec.sample_rate - self.channel_map = analysis_channels(device_spec.channels, device_spec) + self.channel_map = analysis_channels(self.device_spec.channels, + self.device_spec) + self.transform = signal_model.metadata.transform + self.reshape = TrialReshaper() + + def preprocess(self, raw_data: np.array, times: List[float], + target_info: List[str], window_length: float) -> np.ndarray: + """Preprocess the inquiry data. + + Parameters + ---------- + raw_data - C x L eeg data where C is number of channels and L is the + signal length + symbols - symbols displayed in the inquiry + times - timestamps associated with each symbol + target_info - target information about the stimuli; + ex. ['nontarget', 'nontarget', ...] + window_length - The length of the time between stimuli presentation + """ + transformed_data, transform_sample_rate = self.transform( + raw_data, self.device_spec.sample_rate) + + # The data from DAQ is assumed to have offsets applied + reshaped_data, _lbls = self.reshape(trial_targetness_label=target_info, + timing_info=times, + eeg_data=transformed_data, + sample_rate=transform_sample_rate, + channel_map=self.channel_map, + poststimulus_length=window_length) + return reshaped_data # pylint: disable=arguments-differ def evaluate(self, raw_data: np.array, symbols: List[str], @@ -69,33 +111,63 @@ def evaluate(self, raw_data: np.array, symbols: List[str], ex. ['nontarget', 'nontarget', ...] window_length - The length of the time between stimuli presentation """ + data = self.preprocess(raw_data, times, target_info, window_length) + return self.signal_model.predict(data, symbols, self.symbol_set) + + +class EegPreprocessor: + """Preprocesses EEG data for model prediction""" + content_type = ContentType.EEG + + def __init__(self, device_spec: DeviceSpec, + filter_params: TransformParams): + assert ContentType( + device_spec.content_type + ) == self.content_type, "processor is not compatible with device" + + self.device_spec = device_spec + self.channel_map = analysis_channels(device_spec.channels, device_spec) - transform = get_default_transform( - sample_rate_hz=self.sample_rate, - notch_freq_hz=self.filter_params.notch_filter_frequency, - bandpass_low=self.filter_params.filter_low, - bandpass_high=self.filter_params.filter_high, - bandpass_order=self.filter_params.filter_order, - downsample_factor=self.filter_params.downsample_rate, + self.transform = get_default_transform( + sample_rate_hz=device_spec.sample_rate, + notch_freq_hz=filter_params.notch_filter_frequency, + bandpass_low=filter_params.filter_low, + bandpass_high=filter_params.filter_high, + bandpass_order=filter_params.filter_order, + downsample_factor=filter_params.down_sampling_rate, ) - transformed_data, transform_sample_rate = transform( - raw_data, self.sample_rate) + self.reshape = TrialReshaper() + + def preprocess(self, raw_data: np.array, times: List[float], + target_info: List[str], window_length: float) -> np.ndarray: + """Preprocess the inquiry data. + + Parameters + ---------- + raw_data - C x L eeg data where C is number of channels and L is the + signal length + times - timestamps associated with each symbol in the inquiry + target_info - target information about the stimuli; + ex. ['nontarget', 'nontarget', ...] + window_length - The length of the time between stimuli presentation + """ + transformed_data, transform_sample_rate = self.transform( + raw_data, self.device_spec.sample_rate) # The data from DAQ is assumed to have offsets applied - reshape = TrialReshaper() - reshaped_data, _lbls = reshape(trial_targetness_label=target_info, - timing_info=times, - eeg_data=transformed_data, - sample_rate=transform_sample_rate, - channel_map=self.channel_map, - poststimulus_length=window_length) - - return self.signal_model.predict(reshaped_data, symbols, - self.symbol_set) - -def get_evaluator(data_source: ContentType, - evidence_type: EvidenceType) -> EvidenceEvaluator: + reshaped_data, _lbls = self.reshape(trial_targetness_label=target_info, + timing_info=times, + eeg_data=transformed_data, + sample_rate=transform_sample_rate, + channel_map=self.channel_map, + poststimulus_length=window_length) + return reshaped_data + + +def get_evaluator( + data_source: ContentType, + evidence_type: Optional[EvidenceType] = None) -> EvidenceEvaluator: """Returns the matching evaluator. Parameters @@ -105,7 +177,8 @@ def get_evaluator(data_source: ContentType, """ matches = [ cls for cls in EvidenceEvaluator.__subclasses__() - if cls.consumes == data_source and cls.produces == evidence_type + if cls.consumes == data_source and ( + evidence_type is None or cls.produces == evidence_type) ] if matches: return matches[0] @@ -113,3 +186,20 @@ def get_evaluator(data_source: ContentType, raise MissingEvidenceEvaluator( f"Evidence Evaluator not found for {data_source.name} -> {evidence_type.name}" ) + + +def find_matching_evaluator(signal_model: SignalModel) -> EvidenceEvaluator: + """Find the first EvidenceEvaluator compatible with the given signal + model.""" + content_type = ContentType(signal_model.metadata.device_spec.content_type) + # Metadata may provide an EvidenceType with a model so the same data source can + # be used to produce multiple types of evidence (ex. alpha) + evidence_type = None + model_output = signal_model.metadata.evidence_type + if model_output: + try: + evidence_type = EvidenceType(model_output.upper()) + except ValueError: + log.error(f"Unsupported evidence type: {model_output}") + + return get_evaluator(content_type, evidence_type) From a8a4ff6041c45b38939d90654644678f225395e1 Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 12 Jun 2023 13:37:04 -0700 Subject: [PATCH 031/330] Added tests for EvidenceType --- bcipy/task/tests/core/test_data.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/bcipy/task/tests/core/test_data.py b/bcipy/task/tests/core/test_data.py index b3db246cb..2b85006e2 100644 --- a/bcipy/task/tests/core/test_data.py +++ b/bcipy/task/tests/core/test_data.py @@ -1,7 +1,8 @@ """Tests for session-related functionality.""" import unittest -from bcipy.task.data import Session, Inquiry, EvidenceType + +from bcipy.task.data import EvidenceType, Inquiry, Session def sample_stim_seq(include_evidence: bool = False): @@ -62,6 +63,23 @@ def sample_stim_seq(include_evidence: bool = False): return stim_seq +class TestEvidenceType(unittest.TestCase): + """Tests for EvidenceType enum""" + + def test_str(self): + """Test string representation""" + self.assertEqual('BTN', str(EvidenceType.BTN)) + + def test_serialization(self): + """Test serialization / deserialization""" + + self.assertEqual( + EvidenceType.ERP, + EvidenceType.deserialized(EvidenceType.ERP.serialized)) + self.assertEqual(EvidenceType.LM, + EvidenceType.deserialized(EvidenceType.LM.serialized)) + + class TestSessionData(unittest.TestCase): """Tests for session data.""" From 236332f3ef72aa5fa40a70eb4f74f01a7cd559b1 Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 12 Jun 2023 14:13:41 -0700 Subject: [PATCH 032/330] Cleanup and tests for task evidence module --- bcipy/task/control/evidence.py | 69 +++------------------ bcipy/task/tests/core/test_eeg_evaluator.py | 36 +++++------ bcipy/task/tests/core/test_evidence.py | 67 ++++++++++++++++++++ 3 files changed, 89 insertions(+), 83 deletions(-) create mode 100644 bcipy/task/tests/core/test_evidence.py diff --git a/bcipy/task/control/evidence.py b/bcipy/task/control/evidence.py index ba098390d..ef6b767d1 100644 --- a/bcipy/task/control/evidence.py +++ b/bcipy/task/control/evidence.py @@ -5,10 +5,9 @@ import numpy as np from bcipy.acquisition.multimodal import ContentType -from bcipy.helpers.acquisition import DeviceSpec, analysis_channels +from bcipy.helpers.acquisition import analysis_channels from bcipy.helpers.stimuli import TrialReshaper from bcipy.signal.model import SignalModel -from bcipy.signal.process import TransformParams, get_default_transform from bcipy.task.data import EvidenceType from bcipy.task.exceptions import MissingEvidenceEvaluator @@ -48,15 +47,12 @@ def evaluate(self, **kwargs): class EegEvaluator(EvidenceEvaluator): - """Extracts symbol likelihoods from raw EEG data + """Extracts symbol likelihoods from raw EEG data. Parameters ---------- symbol_set: set of possible symbols presented - signal_model: model trained using a calibration session of the same user. - device_spec: Specification for the device providing data. - filter_params: configuration for the data transfor; values here should - match the values used when training the model. + signal_model: trained signal model """ consumes = ContentType.EEG produces = EvidenceType.ERP @@ -115,60 +111,10 @@ def evaluate(self, raw_data: np.array, symbols: List[str], return self.signal_model.predict(data, symbols, self.symbol_set) -class EegPreprocessor: - """Preprocesses EEG data for model prediction""" - content_type = ContentType.EEG - - def __init__(self, device_spec: DeviceSpec, - filter_params: TransformParams): - assert ContentType( - device_spec.content_type - ) == self.content_type, "processor is not compatible with device" - - self.device_spec = device_spec - self.channel_map = analysis_channels(device_spec.channels, device_spec) - - self.transform = get_default_transform( - sample_rate_hz=device_spec.sample_rate, - notch_freq_hz=filter_params.notch_filter_frequency, - bandpass_low=filter_params.filter_low, - bandpass_high=filter_params.filter_high, - bandpass_order=filter_params.filter_order, - downsample_factor=filter_params.down_sampling_rate, - ) - - self.reshape = TrialReshaper() - - def preprocess(self, raw_data: np.array, times: List[float], - target_info: List[str], window_length: float) -> np.ndarray: - """Preprocess the inquiry data. - - Parameters - ---------- - raw_data - C x L eeg data where C is number of channels and L is the - signal length - times - timestamps associated with each symbol in the inquiry - target_info - target information about the stimuli; - ex. ['nontarget', 'nontarget', ...] - window_length - The length of the time between stimuli presentation - """ - transformed_data, transform_sample_rate = self.transform( - raw_data, self.device_spec.sample_rate) - - # The data from DAQ is assumed to have offsets applied - reshaped_data, _lbls = self.reshape(trial_targetness_label=target_info, - timing_info=times, - eeg_data=transformed_data, - sample_rate=transform_sample_rate, - channel_map=self.channel_map, - poststimulus_length=window_length) - return reshaped_data - - def get_evaluator( data_source: ContentType, evidence_type: Optional[EvidenceType] = None) -> EvidenceEvaluator: - """Returns the matching evaluator. + """Returns the matching evaluator class. Parameters ---------- @@ -183,9 +129,10 @@ def get_evaluator( if matches: return matches[0] else: - raise MissingEvidenceEvaluator( - f"Evidence Evaluator not found for {data_source.name} -> {evidence_type.name}" - ) + msg = f"Evidence Evaluator not found for {data_source.name}" + if evidence_type: + msg += f" -> {evidence_type.name}" + raise MissingEvidenceEvaluator(msg) def find_matching_evaluator(signal_model: SignalModel) -> EvidenceEvaluator: diff --git a/bcipy/task/tests/core/test_eeg_evaluator.py b/bcipy/task/tests/core/test_eeg_evaluator.py index 311f8d730..0d6e721d9 100644 --- a/bcipy/task/tests/core/test_eeg_evaluator.py +++ b/bcipy/task/tests/core/test_eeg_evaluator.py @@ -3,7 +3,7 @@ import unittest from unittest.mock import Mock, patch -from bcipy.task.control.evidence import EegEvaluator, FilterParams +from bcipy.task.control.evidence import EegEvaluator class TestEegEvaluator(unittest.TestCase): @@ -18,22 +18,23 @@ def setUp(self): self.device_mock.channels = ['ch1', 'ch2', 'ch3'] self.device_mock.sample_rate = 300 - self.filter_params = FilterParams() + self.transform_mock = Mock() self.signal_model_mock = Mock() + meta_mock = Mock() + meta_mock.device_spec = self.device_mock + meta_mock.transform = self.transform_mock + self.signal_model_mock.metadata = meta_mock @patch('bcipy.task.control.evidence.analysis_channels') def test_init(self, analysis_channels_mock): """Test initialization""" - EegEvaluator(self.symbol_set, self.signal_model_mock, self.device_mock, - self.filter_params) + EegEvaluator(self.symbol_set, self.signal_model_mock) analysis_channels_mock.assert_called_with(self.device_mock.channels, self.device_mock) @patch('bcipy.task.control.evidence.analysis_channels') - @patch('bcipy.task.control.evidence.get_default_transform') @patch('bcipy.task.control.evidence.TrialReshaper') - def test_evaluate(self, reshaper_factory_mock, transform_factory_mock, - analysis_channels_mock): + def test_evaluate(self, reshaper_factory_mock, analysis_channels_mock): """Test evaluation of evidence""" # Mocks @@ -42,9 +43,8 @@ def test_evaluate(self, reshaper_factory_mock, transform_factory_mock, analysis_channels_mock.return_value = channel_map transformed_data = Mock() - transformer_mock = Mock() - transform_factory_mock.return_value = transformer_mock - transformer_mock.return_value = (transformed_data, 150) + + self.transform_mock.return_value = (transformed_data, 150) reshaper_mock = Mock() reshaper_factory_mock.return_value = reshaper_mock @@ -60,22 +60,14 @@ def test_evaluate(self, reshaper_factory_mock, transform_factory_mock, window_length = 0.5 # Run the code - evaluator = EegEvaluator(self.symbol_set, self.signal_model_mock, - self.device_mock, self.filter_params) + evaluator = EegEvaluator(self.symbol_set, self.signal_model_mock) evaluator.evaluate(raw_data, symbols, times, target_info, window_length) # Assertions - transform_factory_mock.assert_called_once_with( - sample_rate_hz=self.device_mock.sample_rate, - notch_freq_hz=self.filter_params.notch_filter_frequency, - bandpass_low=self.filter_params.filter_low, - bandpass_high=self.filter_params.filter_high, - bandpass_order=self.filter_params.filter_order, - downsample_factor=self.filter_params.downsample_rate) - - transformer_mock.assert_called_once_with(raw_data, - self.device_mock.sample_rate) + + self.transform_mock.assert_called_once_with( + raw_data, self.device_mock.sample_rate) reshaper_mock.assert_called_once_with( trial_targetness_label=target_info, diff --git a/bcipy/task/tests/core/test_evidence.py b/bcipy/task/tests/core/test_evidence.py new file mode 100644 index 000000000..4b556edaf --- /dev/null +++ b/bcipy/task/tests/core/test_evidence.py @@ -0,0 +1,67 @@ +"""Tests for functions in the evidence module.""" + +import unittest +from unittest.mock import Mock + +from bcipy.acquisition.multimodal import ContentType +from bcipy.task.control.evidence import (EegEvaluator, find_matching_evaluator, + get_evaluator) +from bcipy.task.data import EvidenceType +from bcipy.task.exceptions import MissingEvidenceEvaluator + + +class TestEvidence(unittest.TestCase): + """Test evidence functions""" + + def test_get_evaluator(self): + """Test getting an evaluator""" + self.assertEqual(EegEvaluator, get_evaluator(ContentType.EEG)) + self.assertEqual(EegEvaluator, + get_evaluator(ContentType.EEG, EvidenceType.ERP)) + + def test_missing_evaluator(self): + """Test error condition when evaluator is missing""" + with self.assertRaises(MissingEvidenceEvaluator): + get_evaluator(ContentType.MARKERS) + + with self.assertRaises(MissingEvidenceEvaluator): + get_evaluator(ContentType.EEG, EvidenceType.EYE) + + def test_find_matching_evaluator(self): + """Test finding an evaluator for a given SignalModel""" + device_mock = Mock() + device_mock.content_type = 'EEG' + signal_model_mock = Mock() + meta_mock = Mock() + meta_mock.device_spec = device_mock + signal_model_mock.metadata = meta_mock + + self.assertEqual(EegEvaluator, + find_matching_evaluator(signal_model_mock)) + + def test_match_with_bad_evidence_type(self): + """Test matching an evaulator when EvidenceType is not found""" + device_mock = Mock() + device_mock.content_type = 'EEG' + signal_model_mock = Mock() + meta_mock = Mock() + meta_mock.device_spec = device_mock + meta_mock.evidence_type = 'NOT_AN_EVIDENCE_TYPE' + signal_model_mock.metadata = meta_mock + + self.assertEqual(EegEvaluator, + find_matching_evaluator(signal_model_mock), + "should ignore the evidence type") + + def test_match_should_use_evidence(self): + """Test matching an evaluator should use the evidence if provided.""" + device_mock = Mock() + device_mock.content_type = 'EEG' + signal_model_mock = Mock() + meta_mock = Mock() + meta_mock.device_spec = device_mock + meta_mock.evidence_type = 'EYE' + signal_model_mock.metadata = meta_mock + + with self.assertRaises(MissingEvidenceEvaluator): + find_matching_evaluator(signal_model_mock) From e04876a4b34ae1e23cabd448e5916565192fa74a Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 13 Jun 2023 15:44:53 -0700 Subject: [PATCH 033/330] Updated session module to handle eyetracker evidence type. Initial work on multimodal Copy Phrase task using EvidenceEvaluators. Fix unit tests and general cleanup --- bcipy/acquisition/multimodal.py | 12 +- bcipy/helpers/load.py | 1 + bcipy/helpers/parameters.py | 2 - bcipy/helpers/save.py | 1 + bcipy/helpers/session.py | 20 +- .../tests/resources/mock_session/session.csv | 394 +++++++++--------- bcipy/helpers/tests/test_parameters.py | 1 + bcipy/signal/model/pca_rda_kde/pca_rda_kde.py | 1 - bcipy/signal/process/transform.py | 1 + bcipy/task/control/evidence.py | 23 +- bcipy/task/exceptions.py | 8 +- bcipy/task/paradigm/rsvp/copy_phrase.py | 94 ++++- bcipy/task/tests/core/test_data.py | 13 +- .../tests/paradigm/rsvp/test_copy_phrase.py | 95 +++-- bcipy/tests/test_bci_main.py | 20 +- 15 files changed, 413 insertions(+), 273 deletions(-) diff --git a/bcipy/acquisition/multimodal.py b/bcipy/acquisition/multimodal.py index 844cf2db0..2f19be645 100644 --- a/bcipy/acquisition/multimodal.py +++ b/bcipy/acquisition/multimodal.py @@ -76,6 +76,12 @@ def device_specs(self) -> List[DeviceSpec]: """Returns a list of DeviceSpecs for all the clients.""" return [client.device_spec for client in self.clients] + @property + def device_content_types(self) -> List[ContentType]: + """Returns a list of ContentTypes provided by the configured devices. + """ + return self._clients.keys() + @property def default_client(self) -> Optional[LslAcquisitionClient]: """Returns the default client.""" @@ -125,10 +131,12 @@ def get_data_by_device( log.debug( f'Need {count} records for processing {content_type.name} data' ) - output[content_type] = client.get_data(start=start, limit=count) + output[content_type] = client.get_data(start=start, + limit=count) else: # Markers have an IRREGULAR_RATE. - output[content_type] = client.get_data(start=start, end=start+seconds) + output[content_type] = client.get_data(start=start, + end=start + seconds) return output def cleanup(self): diff --git a/bcipy/helpers/load.py b/bcipy/helpers/load.py index adda32f1b..bb5536cf2 100644 --- a/bcipy/helpers/load.py +++ b/bcipy/helpers/load.py @@ -189,6 +189,7 @@ def load_signal_model(model_class: SignalModel, return signal_model, filename + def load_signal_models(directory: Optional[str] = None) -> List[SignalModel]: """Load all signal models in a given directory. diff --git a/bcipy/helpers/parameters.py b/bcipy/helpers/parameters.py index 3dbce6e2b..9a95ebacf 100644 --- a/bcipy/helpers/parameters.py +++ b/bcipy/helpers/parameters.py @@ -317,8 +317,6 @@ def instantiate(self, named_tuple_class: type) -> NamedTuple: return named_tuple_class(*vals) - - def changes_from_default(source: str) -> Dict[str, ParameterChange]: """Determines which parameters have changed from the default params. diff --git a/bcipy/helpers/save.py b/bcipy/helpers/save.py index d5e075d9c..e471466a9 100644 --- a/bcipy/helpers/save.py +++ b/bcipy/helpers/save.py @@ -152,6 +152,7 @@ def _save_session_related_data(file, session_dictionary): json.dump(session_dictionary, file, indent=2) return file + def save_model(model: SignalModel, path: Union[Path, str]): """Save model weights (e.g. after training) to `path` diff --git a/bcipy/helpers/session.py b/bcipy/helpers/session.py index 6354f090b..bc7932ba2 100644 --- a/bcipy/helpers/session.py +++ b/bcipy/helpers/session.py @@ -14,14 +14,9 @@ from openpyxl.styles.borders import BORDER_THIN, Border, Side from openpyxl.styles.colors import BLACK, WHITE, YELLOW -from bcipy.config import ( - BCIPY_ROOT, - DEFAULT_ENCODING, - DEFAULT_PARAMETER_FILENAME, - EXPERIMENT_DATA_FILENAME, - SESSION_DATA_FILENAME, - SESSION_SUMMARY_FILENAME, -) +from bcipy.config import (BCIPY_ROOT, DEFAULT_ENCODING, + DEFAULT_PARAMETER_FILENAME, EXPERIMENT_DATA_FILENAME, + SESSION_DATA_FILENAME, SESSION_SUMMARY_FILENAME) from bcipy.helpers.load import (load_experiment_fields, load_experiments, load_json_parameters) from bcipy.helpers.validate import validate_field_data_written @@ -71,6 +66,7 @@ class EvidenceRecord: stim: str lm: float eeg: float + eye: float btn: float cumulative: float inq_position: int @@ -121,6 +117,7 @@ def evidence_records(session: Session) -> List[EvidenceRecord]: stim=stim, lm=evidence['lm_evidence'].get(stim, ''), eeg=evidence['eeg_evidence'].get(stim, ''), + eye=evidence.get('eye_evidence', {}).get(stim, ''), btn=evidence.get('btn_evidence', {}).get(stim, ''), cumulative=evidence['likelihood'][stim], inq_position=stimuli.index(stim) if stim in stimuli else None, @@ -150,6 +147,8 @@ def session_db(session: Session, db_file: str = 'session.db'): first inquiry) - eeg real (likelihood for the given inquiry; a value of 1.0 indicates that the letter was not presented) + - btn real (button press evidence) + - eye real (eyetracker evidence) - cumulative real (cumulative likelihood for the trial thus far) - inq_position integer (inquiry position; null if not presented) - is_target integer (boolean; true(1) if this letter is the target) @@ -288,8 +287,9 @@ def session_excel(session: Session, chart.add_data(data, titles_from_data=False) chart.series[0].title = openpyxl.chart.series.SeriesLabel(v="lm") chart.series[1].title = openpyxl.chart.series.SeriesLabel(v="eeg") - chart.series[2].title = openpyxl.chart.series.SeriesLabel(v="btn") - chart.series[3].title = openpyxl.chart.series.SeriesLabel( + chart.series[2].title = openpyxl.chart.series.SeriesLabel(v="eye") + chart.series[3].title = openpyxl.chart.series.SeriesLabel(v="btn") + chart.series[4].title = openpyxl.chart.series.SeriesLabel( v="combined") chart.set_categories(categories) diff --git a/bcipy/helpers/tests/resources/mock_session/session.csv b/bcipy/helpers/tests/resources/mock_session/session.csv index cb3b07777..f023a39ac 100644 --- a/bcipy/helpers/tests/resources/mock_session/session.csv +++ b/bcipy/helpers/tests/resources/mock_session/session.csv @@ -1,197 +1,197 @@ -series,inquiry,stim,lm,eeg,btn,cumulative,inq_position,is_target,presented,above_threshold -1,0,A,0.03518518518518518,1.0771572587661082,,0.03806880657023323,5,0,1,0 -1,0,B,0.03518518518518518,0.9567667980052755,,0.03381397643627917,2,0,1,0 -1,0,C,0.03518518518518518,0.9447790096182402,,0.03339030496807247,3,0,1,0 -1,0,D,0.03518518518518518,0.9557979187496592,,0.03377973438232484,10,0,1,0 -1,0,E,0.03518518518518518,0.9639921426239895,,0.03406933399382669,7,0,1,0 -1,0,F,0.03518518518518518,1.0149791038166587,,0.03587131114010814,4,0,1,0 -1,0,G,0.03518518518518518,0.9332784168303235,,0.03298385192816283,1,0,1,0 -1,0,H,0.03518518518518518,1.0020770058735426,,0.035415326215948305,8,1,1,0 -1,0,I,0.03518518518518518,1.0143856794734767,,0.035850338383947605,6,0,1,0 -1,0,J,0.03518518518518518,1.0,,0.03534192083878387,,0,0,0 -1,0,K,0.03518518518518518,1.0,,0.03534192083878387,,0,0,0 -1,0,L,0.03518518518518518,1.0,,0.03534192083878387,,0,0,0 -1,0,M,0.03518518518518518,1.0,,0.03534192083878387,,0,0,0 -1,0,N,0.03518518518518518,1.0,,0.03534192083878387,,0,0,0 -1,0,O,0.03518518518518518,1.0,,0.03534192083878387,,0,0,0 -1,0,P,0.03518518518518518,1.0,,0.03534192083878387,,0,0,0 -1,0,Q,0.03518518518518518,1.0,,0.03534192083878387,,0,0,0 -1,0,R,0.03518518518518518,1.0,,0.03534192083878387,,0,0,0 -1,0,S,0.03518518518518518,1.0,,0.03534192083878387,,0,0,0 -1,0,T,0.03518518518518518,1.0,,0.03534192083878387,,0,0,0 -1,0,U,0.03518518518518518,1.0,,0.03534192083878387,,0,0,0 -1,0,V,0.03518518518518518,1.0,,0.03534192083878387,,0,0,0 -1,0,W,0.03518518518518518,1.0,,0.03534192083878387,,0,0,0 -1,0,X,0.03518518518518518,1.0,,0.03534192083878387,,0,0,0 -1,0,Y,0.03518518518518518,1.0,,0.03534192083878387,,0,0,0 -1,0,Z,0.03518518518518518,1.0,,0.03534192083878387,,0,0,0 -1,0,<,0.05,1.0075605462487651,,0.05060244088298704,9,0,1,0 -1,0,_,0.03518518518518518,1.0,,0.03534192083878387,,0,0,0 -1,1,A,0.03518518518518518,0.9243929664918349,,0.035329769221596447,6,0,1,0 -1,1,B,0.03518518518518518,1.0,,0.03394776222730667,,0,0,0 -1,1,C,0.03518518518518518,1.0,,0.033522414492996915,,0,0,0 -1,1,D,0.03518518518518518,1.0,,0.03391338469386257,,0,0,0 -1,1,E,0.03518518518518518,1.0,,0.034204130113021175,,0,0,0 -1,1,F,0.03518518518518518,0.9756054406902764,,0.03513470978251331,1,0,1,0 -1,1,G,0.03518518518518518,1.0,,0.033114353312099706,,0,0,0 -1,1,H,0.03518518518518518,0.9813069707448359,,0.03489080875932141,9,1,1,0 -1,1,I,0.03518518518518518,0.9258274729735204,,0.03332255006424255,7,0,1,0 -1,1,J,0.03518518518518518,1.082221238795247,,0.038399105579915556,5,0,1,0 -1,1,K,0.03518518518518518,1.0163178278934273,,0.03606073709981376,3,0,1,0 -1,1,L,0.03518518518518518,1.0684752132349435,,0.037911372510305956,10,0,1,0 -1,1,M,0.03518518518518518,0.9657080537374645,,0.034265013645565244,2,0,1,0 -1,1,N,0.03518518518518518,0.9552451447264645,,0.03389377130307186,4,0,1,0 -1,1,O,0.03518518518518518,1.0,,0.03548175197768462,,0,0,0 -1,1,P,0.03518518518518518,1.0,,0.03548175197768462,,0,0,0 -1,1,Q,0.03518518518518518,1.0,,0.03548175197768462,,0,0,0 -1,1,R,0.03518518518518518,1.0,,0.03548175197768462,,0,0,0 -1,1,S,0.03518518518518518,1.0,,0.03548175197768462,,0,0,0 -1,1,T,0.03518518518518518,1.0,,0.03548175197768462,,0,0,0 -1,1,U,0.03518518518518518,1.0,,0.03548175197768462,,0,0,0 -1,1,V,0.03518518518518518,1.0,,0.03548175197768462,,0,0,0 -1,1,W,0.03518518518518518,1.0,,0.03548175197768462,,0,0,0 -1,1,X,0.03518518518518518,1.0,,0.03548175197768462,,0,0,0 -1,1,Y,0.03518518518518518,1.0,,0.03548175197768462,,0,0,0 -1,1,Z,0.03518518518518518,1.0,,0.03548175197768462,,0,0,0 -1,1,<,0.05,1.0004860151333794,,0.050827341484466854,8,0,1,0 -1,1,_,0.03518518518518518,1.0,,0.03548175197768462,,0,0,0 -1,2,A,0.03518518518518518,1.0,,0.03543844486497368,,0,0,0 -1,2,B,0.03518518518518518,1.0,,0.03405218676736325,,0,0,0 -1,2,C,0.03518518518518518,1.0,,0.03362553064809362,,0,0,0 -1,2,D,0.03518518518518518,1.0,,0.034017703487387335,,0,0,0 -1,2,E,0.03518518518518518,1.0,,0.03430934324993346,,0,0,0 -1,2,F,0.03518518518518518,1.0,,0.03524278541602617,,0,0,0 -1,2,G,0.03518518518518518,1.0,,0.03321621425629783,,0,0,0 -1,2,H,0.03518518518518518,1.0,,0.03499813414449696,,1,0,0 -1,2,I,0.03518518518518518,1.0,,0.03342505142915348,,0,0,0 -1,2,J,0.03518518518518518,1.0951339418173842,,0.042181517827536257,7,0,1,0 -1,2,K,0.03518518518518518,0.9459385062702639,,0.0342161671901249,4,0,1,0 -1,2,L,0.03518518518518518,1.01586786415927,,0.038631412226240884,1,0,1,0 -1,2,M,0.03518518518518518,1.0,,0.03437041406241782,,0,0,0 -1,2,N,0.03518518518518518,1.0,,0.033998029765099705,,0,0,0 -1,2,O,0.03518518518518518,0.9281479484616838,,0.03303361629464489,5,0,1,0 -1,2,P,0.03518518518518518,0.9473606003646652,,0.03371741177360658,3,0,1,0 -1,2,Q,0.03518518518518518,0.9470726182704134,,0.033707162233092045,10,0,1,0 -1,2,R,0.03518518518518518,1.0150608809740616,,0.036126925360742315,2,0,1,0 -1,2,S,0.03518518518518518,1.027080925088909,,0.0365547294902377,9,0,1,0 -1,2,T,0.03518518518518518,1.0048168851225205,,0.035762332378724095,8,0,1,0 -1,2,U,0.03518518518518518,1.0,,0.0355908951254969,,0,0,0 -1,2,V,0.03518518518518518,1.0,,0.0355908951254969,,0,0,0 -1,2,W,0.03518518518518518,1.0,,0.0355908951254969,,0,0,0 -1,2,X,0.03518518518518518,1.0,,0.0355908951254969,,0,0,0 -1,2,Y,0.03518518518518518,1.0,,0.0355908951254969,,0,0,0 -1,2,Z,0.03518518518518518,1.0,,0.0355908951254969,,0,0,0 -1,2,<,0.05,0.9853861697859349,,0.05023862125532851,6,0,1,0 -1,2,_,0.03518518518518518,1.0,,0.0355908951254969,,0,0,0 -1,3,A,0.03518518518518518,1.0,,0.03541665882022195,,0,0,0 -1,3,B,0.03518518518518518,1.0,,0.03403125293497769,,0,0,0 -1,3,C,0.03518518518518518,1.0,,0.0336048591056969,,0,0,0 -1,3,D,0.03518518518518518,1.0,,0.03399679085385189,,0,0,0 -1,3,E,0.03518518518518518,1.0,,0.03428825132870798,,0,0,0 -1,3,F,0.03518518518518518,1.0,,0.03522111965436042,,0,0,0 -1,3,G,0.03518518518518518,1.0,,0.03319579434416489,,0,0,0 -1,3,H,0.03518518518518518,1.0,,0.034976618784000636,,1,0,0 -1,3,I,0.03518518518518518,1.0,,0.03340450313283182,,0,0,0 -1,3,J,0.03518518518518518,0.9534216472181983,,0.04019204865264582,6,0,1,0 -1,3,K,0.03518518518518518,1.0,,0.03419513254956782,,0,0,0 -1,3,L,0.03518518518518518,1.0852183104398019,,0.04189774311617051,7,0,1,0 -1,3,M,0.03518518518518518,1.0,,0.034349284597460984,,0,0,0 -1,3,N,0.03518518518518518,1.0,,0.033977129226129804,,0,0,0 -1,3,O,0.03518518518518518,1.0,,0.033013308635952504,,0,0,0 -1,3,P,0.03518518518518518,1.0,,0.03369668374661185,,0,0,0 -1,3,Q,0.03518518518518518,1.0,,0.03368644050707777,,0,0,0 -1,3,R,0.03518518518518518,0.9928364729890262,,0.03584607895876632,3,0,1,0 -1,3,S,0.03518518518518518,1.0085082309151903,,0.036843082081420266,8,0,1,0 -1,3,T,0.03518518518518518,1.0009234939643754,,0.03577335321668394,2,0,1,0 -1,3,U,0.03518518518518518,1.0093471346906318,,0.03590148373821651,5,0,1,0 -1,3,V,0.03518518518518518,0.9742060214412309,,0.03465154894125205,10,0,1,0 -1,3,W,0.03518518518518518,1.011548885181301,,0.03597979783523983,9,0,1,0 -1,3,X,0.03518518518518518,0.9655495334173771,,0.034343646185760794,4,0,1,0 -1,3,Y,0.03518518518518518,1.0,,0.03556901536082572,,0,0,0 -1,3,Z,0.03518518518518518,1.0,,0.03556901536082572,,0,0,0 -1,3,<,0.05,1.012002259337021,,0.050810342969751954,1,0,1,0 -1,3,_,0.03518518518518518,1.0,,0.03556901536082572,,0,0,0 -2,0,A,0.03518518518518518,0.9902690568449078,,0.035365648369093415,1,0,1,0 -2,0,B,0.03518518518518518,0.949271268580001,,0.03390148733763919,8,0,1,0 -2,0,C,0.03518518518518518,0.9478331782731284,,0.03385012857229728,9,0,1,0 -2,0,D,0.03518518518518518,0.9821431516238761,,0.03507544652471467,6,0,1,0 -2,0,E,0.03518518518518518,0.9243697092313118,,0.033012173685273115,10,0,1,0 -2,0,F,0.03518518518518518,1.0116232983733686,,0.03612827605281645,2,0,1,0 -2,0,G,0.03518518518518518,0.9452987821935884,,0.03375961725119976,5,0,1,0 -2,0,H,0.03518518518518518,0.9525635594943406,,0.03401906548672956,4,1,1,0 -2,0,I,0.03518518518518518,0.9504700257423234,,0.03394429875741403,7,0,1,0 -2,0,J,0.03518518518518518,1.0,,0.0357131712080066,,0,0,0 -2,0,K,0.03518518518518518,1.0,,0.0357131712080066,,0,0,0 -2,0,L,0.03518518518518518,1.0,,0.0357131712080066,,0,0,0 -2,0,M,0.03518518518518518,1.0,,0.0357131712080066,,0,0,0 -2,0,N,0.03518518518518518,1.0,,0.0357131712080066,,0,0,0 -2,0,O,0.03518518518518518,1.0,,0.0357131712080066,,0,0,0 -2,0,P,0.03518518518518518,1.0,,0.0357131712080066,,0,0,0 -2,0,Q,0.03518518518518518,1.0,,0.0357131712080066,,0,0,0 -2,0,R,0.03518518518518518,1.0,,0.0357131712080066,,0,0,0 -2,0,S,0.03518518518518518,1.0,,0.0357131712080066,,0,0,0 -2,0,T,0.03518518518518518,1.0,,0.0357131712080066,,0,0,0 -2,0,U,0.03518518518518518,1.0,,0.0357131712080066,,0,0,0 -2,0,V,0.03518518518518518,1.0,,0.0357131712080066,,0,0,0 -2,0,W,0.03518518518518518,1.0,,0.0357131712080066,,0,0,0 -2,0,X,0.03518518518518518,1.0,,0.0357131712080066,,0,0,0 -2,0,Y,0.03518518518518518,1.0,,0.0357131712080066,,0,0,0 -2,0,Z,0.03518518518518518,1.0,,0.0357131712080066,,0,0,0 -2,0,<,0.05,0.9479112454386991,,0.04810677621870367,3,0,1,0 -2,0,_,0.03518518518518518,1.0,,0.0357131712080066,,0,0,0 -2,1,A,0.03518518518518518,1.0,,0.03553607387084611,,0,0,0 -2,1,B,0.03518518518518518,1.0,,0.034064857111872675,,0,0,0 -2,1,C,0.03518518518518518,1.0,,0.03401325085090277,,0,0,0 -2,1,D,0.03518518518518518,1.0,,0.03524447355656172,,0,0,0 -2,1,E,0.03518518518518518,1.0,,0.03317125789618713,,0,0,0 -2,1,F,0.03518518518518518,1.059085353538172,,0.038447315380878075,8,0,1,0 -2,1,G,0.03518518518518518,1.0,,0.033922303359735596,,0,0,0 -2,1,H,0.03518518518518518,1.0,,0.03418300186488459,,1,0,0 -2,1,I,0.03518518518518518,1.0,,0.03410787483799372,,0,0,0 -2,1,J,0.03518518518518518,1.0122283357109088,,0.03632408855285483,9,0,1,0 -2,1,K,0.03518518518518518,0.9462228354620149,,0.03395546326206762,3,0,1,0 -2,1,L,0.03518518518518518,1.0141675668872676,,0.036393678389939406,7,0,1,0 -2,1,M,0.03518518518518518,0.9406716642242869,,0.03375625797557495,10,0,1,0 -2,1,N,0.03518518518518518,0.9468725073189709,,0.033978776912979985,1,0,1,0 -2,1,O,0.03518518518518518,0.9493933542119426,,0.0340692381879098,4,0,1,0 -2,1,P,0.03518518518518518,0.9447239820713575,,0.03390167650134456,2,0,1,0 -2,1,Q,0.03518518518518518,1.079737337826649,,0.03874666741619477,6,0,1,0 -2,1,R,0.03518518518518518,1.0,,0.0358852714070128,,0,0,0 -2,1,S,0.03518518518518518,1.0,,0.0358852714070128,,0,0,0 -2,1,T,0.03518518518518518,1.0,,0.0358852714070128,,0,0,0 -2,1,U,0.03518518518518518,1.0,,0.0358852714070128,,0,0,0 -2,1,V,0.03518518518518518,1.0,,0.0358852714070128,,0,0,0 -2,1,W,0.03518518518518518,1.0,,0.0358852714070128,,0,0,0 -2,1,X,0.03518518518518518,1.0,,0.0358852714070128,,0,0,0 -2,1,Y,0.03518518518518518,1.0,,0.0358852714070128,,0,0,0 -2,1,Z,0.03518518518518518,1.0,,0.0358852714070128,,0,0,0 -2,1,<,0.05,0.979155982184491,,0.04733103000114351,5,0,1,0 -2,1,_,0.03518518518518518,1.0,,0.0358852714070128,,0,0,0 -2,2,A,0.03518518518518518,1.0,,0.0359492919811129,,0,0,0 -2,2,B,0.03518518518518518,1.0,,0.0344609677214306,,0,0,0 -2,2,C,0.03518518518518518,1.0,,0.03440876137611504,,0,0,0 -2,2,D,0.03518518518518518,1.0,,0.03565430090027225,,0,0,0 -2,2,E,0.03518518518518518,1.0,,0.033556977617303536,,0,0,0 -2,2,F,0.03518518518518518,0.9631120577876363,,0.03745965193249244,8,0,1,0 -2,2,G,0.03518518518518518,1.0,,0.03431675633563698,,0,0,0 -2,2,H,0.03518518518518518,1.0,,0.03458048627706784,,1,0,0 -2,2,I,0.03518518518518518,1.0,,0.03450448566329186,,0,0,0 -2,2,J,0.03518518518518518,0.9324980311842207,,0.0342660107422252,2,0,1,0 -2,2,K,0.03518518518518518,1.0,,0.03435030182564614,,0,0,0 -2,2,L,0.03518518518518518,0.9583860354600922,,0.035284772963333676,10,0,1,0 -2,2,M,0.03518518518518518,1.0,,0.034148780154053114,,0,0,0 -2,2,N,0.03518518518518518,1.0,,0.034373886570737575,,0,0,0 -2,2,O,0.03518518518518518,1.0,,0.03446539974119233,,0,0,0 -2,2,P,0.03518518518518518,1.0,,0.03429588962544138,,0,0,0 -2,2,Q,0.03518518518518518,0.9667507210507884,,0.037893939468205746,3,0,1,0 -2,2,R,0.03518518518518518,0.9891542068662247,,0.03590882008398373,1,0,1,0 -2,2,S,0.03518518518518518,0.9456836628386632,,0.0343307284845111,4,0,1,0 -2,2,T,0.03518518518518518,0.9325060126392507,,0.03385234617884462,6,0,1,0 -2,2,U,0.03518518518518518,0.9806240039639607,,0.0355991519663424,9,0,1,0 -2,2,V,0.03518518518518518,0.9544184756730538,,0.034647824464450486,5,0,1,0 -2,2,W,0.03518518518518518,1.0,,0.03630255003185779,,0,0,0 -2,2,X,0.03518518518518518,1.0,,0.03630255003185779,,0,0,0 -2,2,Y,0.03518518518518518,1.0,,0.03630255003185779,,0,0,0 -2,2,Z,0.03518518518518518,1.0,,0.03630255003185779,,0,0,0 -2,2,<,0.05,1.0479584201231897,,0.05017771776702011,7,0,1,0 -2,2,_,0.03518518518518518,1.0,,0.03630255003185779,,0,0,0 +series,inquiry,stim,lm,eeg,eye,btn,cumulative,inq_position,is_target,presented,above_threshold +1,0,A,0.03518518518518518,1.0771572587661082,,,0.03806880657023323,5,0,1,0 +1,0,B,0.03518518518518518,0.9567667980052755,,,0.03381397643627917,2,0,1,0 +1,0,C,0.03518518518518518,0.9447790096182402,,,0.03339030496807247,3,0,1,0 +1,0,D,0.03518518518518518,0.9557979187496592,,,0.03377973438232484,10,0,1,0 +1,0,E,0.03518518518518518,0.9639921426239895,,,0.03406933399382669,7,0,1,0 +1,0,F,0.03518518518518518,1.0149791038166587,,,0.03587131114010814,4,0,1,0 +1,0,G,0.03518518518518518,0.9332784168303235,,,0.03298385192816283,1,0,1,0 +1,0,H,0.03518518518518518,1.0020770058735426,,,0.035415326215948305,8,1,1,0 +1,0,I,0.03518518518518518,1.0143856794734767,,,0.035850338383947605,6,0,1,0 +1,0,J,0.03518518518518518,1.0,,,0.03534192083878387,,0,0,0 +1,0,K,0.03518518518518518,1.0,,,0.03534192083878387,,0,0,0 +1,0,L,0.03518518518518518,1.0,,,0.03534192083878387,,0,0,0 +1,0,M,0.03518518518518518,1.0,,,0.03534192083878387,,0,0,0 +1,0,N,0.03518518518518518,1.0,,,0.03534192083878387,,0,0,0 +1,0,O,0.03518518518518518,1.0,,,0.03534192083878387,,0,0,0 +1,0,P,0.03518518518518518,1.0,,,0.03534192083878387,,0,0,0 +1,0,Q,0.03518518518518518,1.0,,,0.03534192083878387,,0,0,0 +1,0,R,0.03518518518518518,1.0,,,0.03534192083878387,,0,0,0 +1,0,S,0.03518518518518518,1.0,,,0.03534192083878387,,0,0,0 +1,0,T,0.03518518518518518,1.0,,,0.03534192083878387,,0,0,0 +1,0,U,0.03518518518518518,1.0,,,0.03534192083878387,,0,0,0 +1,0,V,0.03518518518518518,1.0,,,0.03534192083878387,,0,0,0 +1,0,W,0.03518518518518518,1.0,,,0.03534192083878387,,0,0,0 +1,0,X,0.03518518518518518,1.0,,,0.03534192083878387,,0,0,0 +1,0,Y,0.03518518518518518,1.0,,,0.03534192083878387,,0,0,0 +1,0,Z,0.03518518518518518,1.0,,,0.03534192083878387,,0,0,0 +1,0,<,0.05,1.0075605462487651,,,0.05060244088298704,9,0,1,0 +1,0,_,0.03518518518518518,1.0,,,0.03534192083878387,,0,0,0 +1,1,A,0.03518518518518518,0.9243929664918349,,,0.035329769221596447,6,0,1,0 +1,1,B,0.03518518518518518,1.0,,,0.03394776222730667,,0,0,0 +1,1,C,0.03518518518518518,1.0,,,0.033522414492996915,,0,0,0 +1,1,D,0.03518518518518518,1.0,,,0.03391338469386257,,0,0,0 +1,1,E,0.03518518518518518,1.0,,,0.034204130113021175,,0,0,0 +1,1,F,0.03518518518518518,0.9756054406902764,,,0.03513470978251331,1,0,1,0 +1,1,G,0.03518518518518518,1.0,,,0.033114353312099706,,0,0,0 +1,1,H,0.03518518518518518,0.9813069707448359,,,0.03489080875932141,9,1,1,0 +1,1,I,0.03518518518518518,0.9258274729735204,,,0.03332255006424255,7,0,1,0 +1,1,J,0.03518518518518518,1.082221238795247,,,0.038399105579915556,5,0,1,0 +1,1,K,0.03518518518518518,1.0163178278934273,,,0.03606073709981376,3,0,1,0 +1,1,L,0.03518518518518518,1.0684752132349435,,,0.037911372510305956,10,0,1,0 +1,1,M,0.03518518518518518,0.9657080537374645,,,0.034265013645565244,2,0,1,0 +1,1,N,0.03518518518518518,0.9552451447264645,,,0.03389377130307186,4,0,1,0 +1,1,O,0.03518518518518518,1.0,,,0.03548175197768462,,0,0,0 +1,1,P,0.03518518518518518,1.0,,,0.03548175197768462,,0,0,0 +1,1,Q,0.03518518518518518,1.0,,,0.03548175197768462,,0,0,0 +1,1,R,0.03518518518518518,1.0,,,0.03548175197768462,,0,0,0 +1,1,S,0.03518518518518518,1.0,,,0.03548175197768462,,0,0,0 +1,1,T,0.03518518518518518,1.0,,,0.03548175197768462,,0,0,0 +1,1,U,0.03518518518518518,1.0,,,0.03548175197768462,,0,0,0 +1,1,V,0.03518518518518518,1.0,,,0.03548175197768462,,0,0,0 +1,1,W,0.03518518518518518,1.0,,,0.03548175197768462,,0,0,0 +1,1,X,0.03518518518518518,1.0,,,0.03548175197768462,,0,0,0 +1,1,Y,0.03518518518518518,1.0,,,0.03548175197768462,,0,0,0 +1,1,Z,0.03518518518518518,1.0,,,0.03548175197768462,,0,0,0 +1,1,<,0.05,1.0004860151333794,,,0.050827341484466854,8,0,1,0 +1,1,_,0.03518518518518518,1.0,,,0.03548175197768462,,0,0,0 +1,2,A,0.03518518518518518,1.0,,,0.03543844486497368,,0,0,0 +1,2,B,0.03518518518518518,1.0,,,0.03405218676736325,,0,0,0 +1,2,C,0.03518518518518518,1.0,,,0.03362553064809362,,0,0,0 +1,2,D,0.03518518518518518,1.0,,,0.034017703487387335,,0,0,0 +1,2,E,0.03518518518518518,1.0,,,0.03430934324993346,,0,0,0 +1,2,F,0.03518518518518518,1.0,,,0.03524278541602617,,0,0,0 +1,2,G,0.03518518518518518,1.0,,,0.03321621425629783,,0,0,0 +1,2,H,0.03518518518518518,1.0,,,0.03499813414449696,,1,0,0 +1,2,I,0.03518518518518518,1.0,,,0.03342505142915348,,0,0,0 +1,2,J,0.03518518518518518,1.0951339418173842,,,0.042181517827536257,7,0,1,0 +1,2,K,0.03518518518518518,0.9459385062702639,,,0.0342161671901249,4,0,1,0 +1,2,L,0.03518518518518518,1.01586786415927,,,0.038631412226240884,1,0,1,0 +1,2,M,0.03518518518518518,1.0,,,0.03437041406241782,,0,0,0 +1,2,N,0.03518518518518518,1.0,,,0.033998029765099705,,0,0,0 +1,2,O,0.03518518518518518,0.9281479484616838,,,0.03303361629464489,5,0,1,0 +1,2,P,0.03518518518518518,0.9473606003646652,,,0.03371741177360658,3,0,1,0 +1,2,Q,0.03518518518518518,0.9470726182704134,,,0.033707162233092045,10,0,1,0 +1,2,R,0.03518518518518518,1.0150608809740616,,,0.036126925360742315,2,0,1,0 +1,2,S,0.03518518518518518,1.027080925088909,,,0.0365547294902377,9,0,1,0 +1,2,T,0.03518518518518518,1.0048168851225205,,,0.035762332378724095,8,0,1,0 +1,2,U,0.03518518518518518,1.0,,,0.0355908951254969,,0,0,0 +1,2,V,0.03518518518518518,1.0,,,0.0355908951254969,,0,0,0 +1,2,W,0.03518518518518518,1.0,,,0.0355908951254969,,0,0,0 +1,2,X,0.03518518518518518,1.0,,,0.0355908951254969,,0,0,0 +1,2,Y,0.03518518518518518,1.0,,,0.0355908951254969,,0,0,0 +1,2,Z,0.03518518518518518,1.0,,,0.0355908951254969,,0,0,0 +1,2,<,0.05,0.9853861697859349,,,0.05023862125532851,6,0,1,0 +1,2,_,0.03518518518518518,1.0,,,0.0355908951254969,,0,0,0 +1,3,A,0.03518518518518518,1.0,,,0.03541665882022195,,0,0,0 +1,3,B,0.03518518518518518,1.0,,,0.03403125293497769,,0,0,0 +1,3,C,0.03518518518518518,1.0,,,0.0336048591056969,,0,0,0 +1,3,D,0.03518518518518518,1.0,,,0.03399679085385189,,0,0,0 +1,3,E,0.03518518518518518,1.0,,,0.03428825132870798,,0,0,0 +1,3,F,0.03518518518518518,1.0,,,0.03522111965436042,,0,0,0 +1,3,G,0.03518518518518518,1.0,,,0.03319579434416489,,0,0,0 +1,3,H,0.03518518518518518,1.0,,,0.034976618784000636,,1,0,0 +1,3,I,0.03518518518518518,1.0,,,0.03340450313283182,,0,0,0 +1,3,J,0.03518518518518518,0.9534216472181983,,,0.04019204865264582,6,0,1,0 +1,3,K,0.03518518518518518,1.0,,,0.03419513254956782,,0,0,0 +1,3,L,0.03518518518518518,1.0852183104398019,,,0.04189774311617051,7,0,1,0 +1,3,M,0.03518518518518518,1.0,,,0.034349284597460984,,0,0,0 +1,3,N,0.03518518518518518,1.0,,,0.033977129226129804,,0,0,0 +1,3,O,0.03518518518518518,1.0,,,0.033013308635952504,,0,0,0 +1,3,P,0.03518518518518518,1.0,,,0.03369668374661185,,0,0,0 +1,3,Q,0.03518518518518518,1.0,,,0.03368644050707777,,0,0,0 +1,3,R,0.03518518518518518,0.9928364729890262,,,0.03584607895876632,3,0,1,0 +1,3,S,0.03518518518518518,1.0085082309151903,,,0.036843082081420266,8,0,1,0 +1,3,T,0.03518518518518518,1.0009234939643754,,,0.03577335321668394,2,0,1,0 +1,3,U,0.03518518518518518,1.0093471346906318,,,0.03590148373821651,5,0,1,0 +1,3,V,0.03518518518518518,0.9742060214412309,,,0.03465154894125205,10,0,1,0 +1,3,W,0.03518518518518518,1.011548885181301,,,0.03597979783523983,9,0,1,0 +1,3,X,0.03518518518518518,0.9655495334173771,,,0.034343646185760794,4,0,1,0 +1,3,Y,0.03518518518518518,1.0,,,0.03556901536082572,,0,0,0 +1,3,Z,0.03518518518518518,1.0,,,0.03556901536082572,,0,0,0 +1,3,<,0.05,1.012002259337021,,,0.050810342969751954,1,0,1,0 +1,3,_,0.03518518518518518,1.0,,,0.03556901536082572,,0,0,0 +2,0,A,0.03518518518518518,0.9902690568449078,,,0.035365648369093415,1,0,1,0 +2,0,B,0.03518518518518518,0.949271268580001,,,0.03390148733763919,8,0,1,0 +2,0,C,0.03518518518518518,0.9478331782731284,,,0.03385012857229728,9,0,1,0 +2,0,D,0.03518518518518518,0.9821431516238761,,,0.03507544652471467,6,0,1,0 +2,0,E,0.03518518518518518,0.9243697092313118,,,0.033012173685273115,10,0,1,0 +2,0,F,0.03518518518518518,1.0116232983733686,,,0.03612827605281645,2,0,1,0 +2,0,G,0.03518518518518518,0.9452987821935884,,,0.03375961725119976,5,0,1,0 +2,0,H,0.03518518518518518,0.9525635594943406,,,0.03401906548672956,4,1,1,0 +2,0,I,0.03518518518518518,0.9504700257423234,,,0.03394429875741403,7,0,1,0 +2,0,J,0.03518518518518518,1.0,,,0.0357131712080066,,0,0,0 +2,0,K,0.03518518518518518,1.0,,,0.0357131712080066,,0,0,0 +2,0,L,0.03518518518518518,1.0,,,0.0357131712080066,,0,0,0 +2,0,M,0.03518518518518518,1.0,,,0.0357131712080066,,0,0,0 +2,0,N,0.03518518518518518,1.0,,,0.0357131712080066,,0,0,0 +2,0,O,0.03518518518518518,1.0,,,0.0357131712080066,,0,0,0 +2,0,P,0.03518518518518518,1.0,,,0.0357131712080066,,0,0,0 +2,0,Q,0.03518518518518518,1.0,,,0.0357131712080066,,0,0,0 +2,0,R,0.03518518518518518,1.0,,,0.0357131712080066,,0,0,0 +2,0,S,0.03518518518518518,1.0,,,0.0357131712080066,,0,0,0 +2,0,T,0.03518518518518518,1.0,,,0.0357131712080066,,0,0,0 +2,0,U,0.03518518518518518,1.0,,,0.0357131712080066,,0,0,0 +2,0,V,0.03518518518518518,1.0,,,0.0357131712080066,,0,0,0 +2,0,W,0.03518518518518518,1.0,,,0.0357131712080066,,0,0,0 +2,0,X,0.03518518518518518,1.0,,,0.0357131712080066,,0,0,0 +2,0,Y,0.03518518518518518,1.0,,,0.0357131712080066,,0,0,0 +2,0,Z,0.03518518518518518,1.0,,,0.0357131712080066,,0,0,0 +2,0,<,0.05,0.9479112454386991,,,0.04810677621870367,3,0,1,0 +2,0,_,0.03518518518518518,1.0,,,0.0357131712080066,,0,0,0 +2,1,A,0.03518518518518518,1.0,,,0.03553607387084611,,0,0,0 +2,1,B,0.03518518518518518,1.0,,,0.034064857111872675,,0,0,0 +2,1,C,0.03518518518518518,1.0,,,0.03401325085090277,,0,0,0 +2,1,D,0.03518518518518518,1.0,,,0.03524447355656172,,0,0,0 +2,1,E,0.03518518518518518,1.0,,,0.03317125789618713,,0,0,0 +2,1,F,0.03518518518518518,1.059085353538172,,,0.038447315380878075,8,0,1,0 +2,1,G,0.03518518518518518,1.0,,,0.033922303359735596,,0,0,0 +2,1,H,0.03518518518518518,1.0,,,0.03418300186488459,,1,0,0 +2,1,I,0.03518518518518518,1.0,,,0.03410787483799372,,0,0,0 +2,1,J,0.03518518518518518,1.0122283357109088,,,0.03632408855285483,9,0,1,0 +2,1,K,0.03518518518518518,0.9462228354620149,,,0.03395546326206762,3,0,1,0 +2,1,L,0.03518518518518518,1.0141675668872676,,,0.036393678389939406,7,0,1,0 +2,1,M,0.03518518518518518,0.9406716642242869,,,0.03375625797557495,10,0,1,0 +2,1,N,0.03518518518518518,0.9468725073189709,,,0.033978776912979985,1,0,1,0 +2,1,O,0.03518518518518518,0.9493933542119426,,,0.0340692381879098,4,0,1,0 +2,1,P,0.03518518518518518,0.9447239820713575,,,0.03390167650134456,2,0,1,0 +2,1,Q,0.03518518518518518,1.079737337826649,,,0.03874666741619477,6,0,1,0 +2,1,R,0.03518518518518518,1.0,,,0.0358852714070128,,0,0,0 +2,1,S,0.03518518518518518,1.0,,,0.0358852714070128,,0,0,0 +2,1,T,0.03518518518518518,1.0,,,0.0358852714070128,,0,0,0 +2,1,U,0.03518518518518518,1.0,,,0.0358852714070128,,0,0,0 +2,1,V,0.03518518518518518,1.0,,,0.0358852714070128,,0,0,0 +2,1,W,0.03518518518518518,1.0,,,0.0358852714070128,,0,0,0 +2,1,X,0.03518518518518518,1.0,,,0.0358852714070128,,0,0,0 +2,1,Y,0.03518518518518518,1.0,,,0.0358852714070128,,0,0,0 +2,1,Z,0.03518518518518518,1.0,,,0.0358852714070128,,0,0,0 +2,1,<,0.05,0.979155982184491,,,0.04733103000114351,5,0,1,0 +2,1,_,0.03518518518518518,1.0,,,0.0358852714070128,,0,0,0 +2,2,A,0.03518518518518518,1.0,,,0.0359492919811129,,0,0,0 +2,2,B,0.03518518518518518,1.0,,,0.0344609677214306,,0,0,0 +2,2,C,0.03518518518518518,1.0,,,0.03440876137611504,,0,0,0 +2,2,D,0.03518518518518518,1.0,,,0.03565430090027225,,0,0,0 +2,2,E,0.03518518518518518,1.0,,,0.033556977617303536,,0,0,0 +2,2,F,0.03518518518518518,0.9631120577876363,,,0.03745965193249244,8,0,1,0 +2,2,G,0.03518518518518518,1.0,,,0.03431675633563698,,0,0,0 +2,2,H,0.03518518518518518,1.0,,,0.03458048627706784,,1,0,0 +2,2,I,0.03518518518518518,1.0,,,0.03450448566329186,,0,0,0 +2,2,J,0.03518518518518518,0.9324980311842207,,,0.0342660107422252,2,0,1,0 +2,2,K,0.03518518518518518,1.0,,,0.03435030182564614,,0,0,0 +2,2,L,0.03518518518518518,0.9583860354600922,,,0.035284772963333676,10,0,1,0 +2,2,M,0.03518518518518518,1.0,,,0.034148780154053114,,0,0,0 +2,2,N,0.03518518518518518,1.0,,,0.034373886570737575,,0,0,0 +2,2,O,0.03518518518518518,1.0,,,0.03446539974119233,,0,0,0 +2,2,P,0.03518518518518518,1.0,,,0.03429588962544138,,0,0,0 +2,2,Q,0.03518518518518518,0.9667507210507884,,,0.037893939468205746,3,0,1,0 +2,2,R,0.03518518518518518,0.9891542068662247,,,0.03590882008398373,1,0,1,0 +2,2,S,0.03518518518518518,0.9456836628386632,,,0.0343307284845111,4,0,1,0 +2,2,T,0.03518518518518518,0.9325060126392507,,,0.03385234617884462,6,0,1,0 +2,2,U,0.03518518518518518,0.9806240039639607,,,0.0355991519663424,9,0,1,0 +2,2,V,0.03518518518518518,0.9544184756730538,,,0.034647824464450486,5,0,1,0 +2,2,W,0.03518518518518518,1.0,,,0.03630255003185779,,0,0,0 +2,2,X,0.03518518518518518,1.0,,,0.03630255003185779,,0,0,0 +2,2,Y,0.03518518518518518,1.0,,,0.03630255003185779,,0,0,0 +2,2,Z,0.03518518518518518,1.0,,,0.03630255003185779,,0,0,0 +2,2,<,0.05,1.0479584201231897,,,0.05017771776702011,7,0,1,0 +2,2,_,0.03518518518518518,1.0,,,0.03630255003185779,,0,0,0 diff --git a/bcipy/helpers/tests/test_parameters.py b/bcipy/helpers/tests/test_parameters.py index 8f430af88..c46b20088 100644 --- a/bcipy/helpers/tests/test_parameters.py +++ b/bcipy/helpers/tests/test_parameters.py @@ -614,5 +614,6 @@ def test_instantiate_tuple(self): self.assertEqual(my_tuple.c, '3') self.assertEqual((1, '3'), my_tuple) + if __name__ == '__main__': unittest.main() diff --git a/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py b/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py index 75541ae6a..4910107c1 100644 --- a/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py +++ b/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py @@ -180,4 +180,3 @@ def load(self, path: Path): """Load pretrained model weights from `path`""" with open(path, "rb") as f: self.model = pickle.load(f) - diff --git a/bcipy/signal/process/transform.py b/bcipy/signal/process/transform.py index 853164a8f..63886264e 100644 --- a/bcipy/signal/process/transform.py +++ b/bcipy/signal/process/transform.py @@ -29,6 +29,7 @@ def __call__(self, data: np.ndarray, fs: Optional[int] = None) -> Tuple[np.ndarr else: return data[:, :: self.factor], None + class TransformParams(NamedTuple): """Parameters used for the default transform.""" notch_filter_frequency: int = 60 diff --git a/bcipy/task/control/evidence.py b/bcipy/task/control/evidence.py index ef6b767d1..d1b98b322 100644 --- a/bcipy/task/control/evidence.py +++ b/bcipy/task/control/evidence.py @@ -1,6 +1,6 @@ """Classes and functions for extracting evidence from raw device data.""" import logging -from typing import List, Optional +from typing import List, Optional, Type import numpy as np @@ -15,13 +15,14 @@ class EvidenceEvaluator: - """Base class + """Base class for a class that can evaluate raw device data using a + signal_model. EvidenceEvaluators are responsible for performing necessary + preprocessing steps such as filtering and reshaping. Parameters ---------- symbol_set: set of possible symbols presented signal_model: model trained using a calibration session of the same user. - device_spec: Specification for the device providing data. """ def __init__(self, symbol_set: List[str], signal_model: SignalModel): @@ -47,7 +48,7 @@ def evaluate(self, **kwargs): class EegEvaluator(EvidenceEvaluator): - """Extracts symbol likelihoods from raw EEG data. + """EvidenceEvaluator that extracts symbol likelihoods from raw EEG data. Parameters ---------- @@ -113,7 +114,8 @@ def evaluate(self, raw_data: np.array, symbols: List[str], def get_evaluator( data_source: ContentType, - evidence_type: Optional[EvidenceType] = None) -> EvidenceEvaluator: + evidence_type: Optional[EvidenceType] = None +) -> Type[EvidenceEvaluator]: """Returns the matching evaluator class. Parameters @@ -135,7 +137,8 @@ def get_evaluator( raise MissingEvidenceEvaluator(msg) -def find_matching_evaluator(signal_model: SignalModel) -> EvidenceEvaluator: +def find_matching_evaluator( + signal_model: SignalModel) -> Type[EvidenceEvaluator]: """Find the first EvidenceEvaluator compatible with the given signal model.""" content_type = ContentType(signal_model.metadata.device_spec.content_type) @@ -150,3 +153,11 @@ def find_matching_evaluator(signal_model: SignalModel) -> EvidenceEvaluator: log.error(f"Unsupported evidence type: {model_output}") return get_evaluator(content_type, evidence_type) + + +def init_evidence_evaluator(symbol_set: List[str], + signal_model: SignalModel) -> EvidenceEvaluator: + """Find an EvidenceEvaluator that matches the given signal_model and + initialize it.""" + evaluator_class = find_matching_evaluator(signal_model) + return evaluator_class(symbol_set, signal_model) diff --git a/bcipy/task/exceptions.py b/bcipy/task/exceptions.py index ecf52d73d..3a686c874 100644 --- a/bcipy/task/exceptions.py +++ b/bcipy/task/exceptions.py @@ -20,6 +20,12 @@ def __init__(self, message, errors=None): super().__init__(message) self.errors = errors + class MissingEvidenceEvaluator(Exception): """Thrown when an evidence evaluator can't be found that matches the - provided data content type input and evidence_type output""" \ No newline at end of file + provided data content type input and evidence_type output""" + + +class DuplicateModelEvidence(Exception): + """Thrown from a task when more than one of the provided models produces + the same type of evidence""" diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index a435a6954..2360c340b 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -26,7 +26,10 @@ TriggerType, convert_timing_triggers) from bcipy.signal.model.inquiry_preview import compute_probs_after_preview from bcipy.task import Task +from bcipy.task.control.evidence import (EvidenceEvaluator, + init_evidence_evaluator) from bcipy.task.data import EvidenceType, Inquiry, Session +from bcipy.task.exceptions import DuplicateModelEvidence class Decision(NamedTuple): @@ -98,7 +101,7 @@ class RSVPCopyPhraseTask(Task): def __init__(self, win, daq, parameters, file_save, signal_models, language_model, fake): super(RSVPCopyPhraseTask, self).__init__() - + self.logger = logging.getLogger(__name__) self.window = win self.daq = daq self.parameters = parameters @@ -113,7 +116,12 @@ def __init__(self, win, daq, parameters, file_save, signal_models, self.alp = alphabet(self.parameters) self.button_press_error_prob = 0.05 - self.evidence_types = [EvidenceType.LM, EvidenceType.ERP] + + self.evidence_evaluators = self.init_evidence_evaluators(signal_models) + + self.evidence_types = [EvidenceType.LM] + self.evidence_types.extend( + [evaluator.produces for evaluator in self.evidence_evaluators]) if self.parameters['show_preview_inquiry']: self.evidence_types.append(EvidenceType.BTN) @@ -125,6 +133,7 @@ def __init__(self, win, daq, parameters, file_save, signal_models, self.fake = fake self.language_model = language_model + # TODO: remove this self.signal_model = signal_models[0] if signal_models else None self.evidence_precision = 5 @@ -155,6 +164,32 @@ def __init__(self, win, daq, parameters, file_save, signal_models, self.rsvp = self.init_display() + def init_evidence_evaluators(self, + signal_models) -> List[EvidenceEvaluator]: + """Initializes the evidence evaluators from the provided signal models. + + Returns a list of evaluators for active devices. Raises an exception if + more than one evaluator provides the same type of evidence. + """ + evidence_types = [] + evaluators = [] + for model in signal_models: + evaluator = init_evidence_evaluator(self.alp, model) + content_type = evaluator.consumes + evidence_type = evaluator.produces + if content_type in self.daq.device_content_types: + evaluators.append(evaluator) + if evidence_type in evidence_types: + raise DuplicateModelEvidence( + f"More than one model produces {evidence_type} evidence" + ) + evidence_types.append(evidence_type) + else: + self.logger.info( + f"SignalModel not used: there is no active device of type: {content_type}" + ) + return evaluators + def setup(self) -> None: """Initialize/reset parameters used in the execute run loop.""" @@ -226,6 +261,7 @@ def init_copy_phrase_task(self) -> None: initialized CopyPhraseWrapper """ + # TODO: remove signal_model self.copy_phrase_task = CopyPhraseWrapper( self.parameters['min_inq_len'], self.parameters['max_inq_per_series'], @@ -480,12 +516,14 @@ def add_evidence(self, stim_times: List[List], -------- - self.copy_phrase_task """ - # TODO: refactor compute_eeg_evidence to compute_device_evidence - # for each daq client evidences = [ - self.compute_button_press_evidence(proceed), - self.compute_eeg_evidence(stim_times, proceed) + self.compute_button_press_evidence(proceed) ] + + for evidence_evaluator in self.evidence_evaluators: + evidences.append( + self.compute_device_evidence(evidence_evaluator, stim_times)) + evidence_types = [] for evidence in evidences: if evidence: @@ -520,6 +558,50 @@ def compute_button_press_evidence( proceed) return (EvidenceType.BTN, probs) + def compute_device_evidence( + self, + evidence_evaluator: EvidenceEvaluator, + stim_times: List[List], + proceed: bool = True + ) -> Optional[Tuple[EvidenceType, List[float]]]: + """Evaluate the evidence using the provided evaluator but + don't yet attempt a decision. + + Parameters + ---------- + - stim_times : list of stimuli returned from the display + - proceed : whether or not to evaluate the evidence, if `False` returns + empty values. + + Returns + ------- + tuple of (evidence type, evidence) + """ + if not proceed or self.fake: + return None + + # currently prestim_length is used as a buffer for filter application, use the same at the end of the inquiry + post_stim_buffer = self.parameters['prestim_length'] + + raw_data, triggers = get_data_for_decision( + inquiry_timing=self.stims_for_decision(stim_times), + daq=self.daq.get_client(evidence_evaluator.consumes), + offset=self.parameters['static_trigger_offset'], + prestim=self.parameters['prestim_length'], + poststim=post_stim_buffer + self.parameters['trial_length']) + + # we assume all are nontargets at this point + labels = ['nontarget'] * len(triggers) + letters, times, filtered_labels = self.copy_phrase_task.letter_info( + triggers, labels) + probs = evidence_evaluator.evaluate( + raw_data=raw_data, + symbols=letters, + times=times, + target_info=filtered_labels, + window_length=self.parameters['trial_length']) + return (evidence_evaluator.produces, probs) + def compute_eeg_evidence(self, stim_times: List[List], proceed: bool = True diff --git a/bcipy/task/tests/core/test_data.py b/bcipy/task/tests/core/test_data.py index 2b85006e2..5b44c7b5a 100644 --- a/bcipy/task/tests/core/test_data.py +++ b/bcipy/task/tests/core/test_data.py @@ -6,6 +6,7 @@ def sample_stim_seq(include_evidence: bool = False): + """Generates a sample Inquiry.""" stim_seq = Inquiry( stimuli=["+", "I", "D", "H", "G", "F", "<", "E", "B", "C", "A"], timing=[0.5, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3], @@ -99,7 +100,7 @@ def test_stim_sequence(self): for key in expected_keys: self.assertTrue(key in serialized) - self.assertEqual(serialized[key], stim_seq.__getattribute__(key)) + self.assertEqual(serialized[key], getattr(stim_seq, key)) for key in ['lm_evidence', 'erp_evidence', 'likelihood']: self.assertFalse(key in serialized) @@ -108,7 +109,7 @@ def test_stim_sequence_deserialization(self): """Test that a stim sequence can be deserialized from a dict.""" stim_seq = sample_stim_seq(include_evidence=True) serialized = stim_seq.as_dict() - self.assertTrue('lm_evidence' in serialized.keys()) + self.assertTrue('lm_evidence' in serialized) self.assertEqual(serialized['lm_evidence'], stim_seq.evidences[EvidenceType.LM]) @@ -209,8 +210,8 @@ def test_session(self): self.assertEqual(1, serialized['total_selections']) self.assertEqual(3, serialized['inquiries_per_selection']) - self.assertTrue('1' in serialized['series'].keys()) - self.assertTrue('2' in serialized['series'].keys()) + self.assertTrue('1' in serialized['series']) + self.assertTrue('2' in serialized['series']) self.assertEqual(2, len(serialized['series']['1'].keys())) self.assertEqual(1, len(serialized['series']['2'].keys())) @@ -272,11 +273,11 @@ def test_session_deserialization(self): def test_task_summary(self): """Test that arbitrary data can be added.""" session = Session(save_location=".") - self.assertFalse('task_summary' in session.as_dict().keys()) + self.assertFalse('task_summary' in session.as_dict()) session.task_summary = {"typing_accuracy": 22} serialized = session.as_dict() - self.assertTrue('task_summary' in serialized.keys()) + self.assertTrue('task_summary' in serialized) self.assertEqual(serialized['task_summary']['typing_accuracy'], 22) def test_has_evidence(self): diff --git a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py index 9c59ad0aa..34d43ad65 100644 --- a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py +++ b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py @@ -8,17 +8,18 @@ from mock import patch from mockito import any, mock, unstub, verify, when -from bcipy.config import DEFAULT_ENCODING import bcipy.display.paradigm.rsvp.mode.copy_phrase -from bcipy.helpers.triggers import TriggerHandler -from bcipy.helpers.exceptions import TaskConfigurationException from bcipy.acquisition import LslAcquisitionClient from bcipy.acquisition.devices import DeviceSpec +from bcipy.acquisition.multimodal import ContentType +from bcipy.config import DEFAULT_ENCODING from bcipy.helpers.copy_phrase_wrapper import CopyPhraseWrapper +from bcipy.helpers.exceptions import TaskConfigurationException from bcipy.helpers.parameters import Parameters -from bcipy.task.paradigm.rsvp.copy_phrase import RSVPCopyPhraseTask -from bcipy.task.data import Session, EvidenceType from bcipy.helpers.stimuli import InquirySchedule +from bcipy.helpers.triggers import TriggerHandler +from bcipy.task.data import EvidenceType, Session +from bcipy.task.paradigm.rsvp.copy_phrase import RSVPCopyPhraseTask class TestCopyPhrase(unittest.TestCase): @@ -88,16 +89,31 @@ def setUp(self): device_spec = DeviceSpec(name='Testing', channels=['a', 'b', 'c'], sample_rate=300.0) - self.daq = mock( + self.eeg_client_mock = mock( { 'device_spec': device_spec, 'is_calibrated': True, - 'offset': lambda x: 0.0 + 'offset': lambda x: 0.0, }, spec=LslAcquisitionClient) - + self.daq = mock( + { + 'device_spec': device_spec, + 'is_calibrated': True, + 'offset': lambda x: 0.0, + 'device_content_types': [ContentType.EEG], + 'clients_by_type': { + ContentType.EEG: self.eeg_client_mock + } + }) + when(self.daq).get_client(ContentType.EEG).thenReturn(self.eeg_client_mock) self.temp_dir = tempfile.mkdtemp() - self.signal_model = mock() + self.model_metadata = mock({ + 'device_spec': device_spec, + 'transform': mock(), + 'evidence_type': 'ERP' + }) + self.signal_model = mock({'metadata': self.model_metadata}) self.language_model = mock() decision_maker = mock() @@ -132,7 +148,7 @@ def test_initialize(self): daq=self.daq, parameters=self.parameters, file_save=self.temp_dir, - signal_model=self.signal_model, + signal_models=[self.signal_model], language_model=self.language_model, fake=True) @@ -142,7 +158,7 @@ def test_validate_parameters(self): daq=self.daq, parameters=self.parameters, file_save=self.temp_dir, - signal_model=self.signal_model, + signal_models=[self.signal_model], language_model=self.language_model, fake=True) @@ -157,7 +173,7 @@ def test_validate_parameters_throws_task_exception_missing_parameter(self): daq=self.daq, parameters=parameters, file_save=self.temp_dir, - signal_model=self.signal_model, + signal_models=[self.signal_model], language_model=self.language_model, fake=True) @@ -170,7 +186,7 @@ def test_validate_parameters_throws_task_exception_excess_prestim_length(self): daq=self.daq, parameters=self.parameters, file_save=self.temp_dir, - signal_model=self.signal_model, + signal_models=[self.signal_model], language_model=self.language_model, fake=True) @@ -183,7 +199,7 @@ def test_validate_parameters_throws_task_exception_excess_trial_length(self): daq=self.daq, parameters=self.parameters, file_save=self.temp_dir, - signal_model=self.signal_model, + signal_models=[self.signal_model], language_model=self.language_model, fake=True) @@ -197,7 +213,7 @@ def test_execute_without_inquiry(self, message_mock, daq=self.daq, parameters=self.parameters, file_save=self.temp_dir, - signal_model=self.signal_model, + signal_models=[self.signal_model], language_model=self.language_model, fake=True) @@ -229,7 +245,7 @@ def test_execute_fake_data_single_inquiry(self, process_data_mock, message_mock, daq=self.daq, parameters=self.parameters, file_save=self.temp_dir, - signal_model=self.signal_model, + signal_models=[self.signal_model], language_model=self.language_model, fake=True) @@ -268,7 +284,7 @@ def test_max_inq_len(self, process_data_mock, message_mock, daq=self.daq, parameters=self.parameters, file_save=self.temp_dir, - signal_model=self.signal_model, + signal_models=[self.signal_model], language_model=self.language_model, fake=True) @@ -309,7 +325,7 @@ def test_spelling_complete(self, process_data_mock, daq=self.daq, parameters=self.parameters, file_save=self.temp_dir, - signal_model=self.signal_model, + signal_models=[self.signal_model], language_model=self.language_model, fake=True) @@ -346,7 +362,7 @@ def test_spelled_letters(self): daq=self.daq, parameters=self.parameters, file_save=self.temp_dir, - signal_model=self.signal_model, + signal_models=[self.signal_model], language_model=self.language_model, fake=True) @@ -358,7 +374,7 @@ def test_stims_for_eeg(self): daq=self.daq, parameters=self.parameters, file_save=self.temp_dir, - signal_model=self.signal_model, + signal_models=[self.signal_model], language_model=self.language_model, fake=True) timings1 = [['calibration_trigger', 2.0539278959913645], @@ -408,7 +424,7 @@ def test_next_letter(self, process_data_mock, message_mock, daq=self.daq, parameters=self.parameters, file_save=self.temp_dir, - signal_model=self.signal_model, + signal_models=[self.signal_model], language_model=self.language_model, fake=True) task.spelled_text = 'H' @@ -437,7 +453,7 @@ def test_execute_fake_data_with_preview(self, process_data_mock, message_mock, daq=self.daq, parameters=self.parameters, file_save=self.temp_dir, - signal_model=self.signal_model, + signal_models=[self.signal_model], language_model=self.language_model, fake=True) @@ -461,12 +477,15 @@ def test_execute_fake_data_with_preview(self, process_data_mock, message_mock, verify(self.copy_phrase_wrapper, times=1).add_evidence(EvidenceType.BTN, ...) self.assertEqual(self.temp_dir, result) + @patch('bcipy.task.paradigm.rsvp.copy_phrase.init_evidence_evaluator') @patch('bcipy.task.paradigm.rsvp.copy_phrase.get_user_input') @patch('bcipy.task.paradigm.rsvp.copy_phrase.trial_complete_message') @patch('bcipy.task.paradigm.rsvp.copy_phrase.get_data_for_decision') def test_execute_real_data_single_inquiry(self, process_data_mock, message_mock, - user_input_mock): + user_input_mock, init_evaluator_mock): """Test that fake data does not use the decision maker""" + evaluator_mock = mock() + init_evaluator_mock.return_value = evaluator_mock conjugator_mock = mock({ 'latest_evidence': { @@ -536,20 +555,32 @@ def test_execute_real_data_single_inquiry(self, process_data_mock, message_mock, 'white', 'white', 'white', 'white', 'white' ]]))) - when(self.display).do_inquiry().thenReturn( - [['calibration_trigger', 2.5866074122022837], - ['+', 4.274230484152213], ['<', 4.741131300106645], - ['G', 4.957655837060884], ['A', 5.1744828461669385], - ['E', 5.391295877052471], ['H', 5.608199302107096], - ['D', 5.8250101080629975], ['F', 6.04189362609759], - ['I', 6.258658453123644], ['B', 6.475744977127761], - ['C', 6.692347120027989]]) + triggers = [['calibration_trigger', 2.5866074122022837], + ['+', 4.274230484152213], ['<', 4.741131300106645], + ['G', 4.957655837060884], ['A', 5.1744828461669385], + ['E', 5.391295877052471], ['H', 5.608199302107096], + ['D', 5.8250101080629975], ['F', 6.04189362609759], + ['I', 6.258658453123644], ['B', 6.475744977127761], + ['C', 6.692347120027989]] + when(self.display).do_inquiry().thenReturn(triggers) + + when(copy_phrase_wrapper_mock).letter_info(any(), any()).thenReturn( + (['<', 'G', 'A', 'E', 'H', 'D', 'F', 'I', 'B', 'C'], [ + 4.741131300106645, 4.957655837060884, 5.1744828461669385, + 5.391295877052471, 5.608199302107096, 5.8250101080629975, + 6.04189362609759, 6.258658453123644, 6.475744977127761, + 6.692347120027989 + ], [ + 'nontarget', 'nontarget', 'nontarget', 'nontarget', + 'nontarget', 'nontarget', 'nontarget', 'nontarget', + 'nontarget', 'nontarget' + ])) task = RSVPCopyPhraseTask(win=self.win, daq=self.daq, parameters=self.parameters, file_save=self.temp_dir, - signal_model=self.signal_model, + signal_models=[self.signal_model], language_model=self.language_model, fake=False) diff --git a/bcipy/tests/test_bci_main.py b/bcipy/tests/test_bci_main.py index 82a98bc56..4b51234f0 100644 --- a/bcipy/tests/test_bci_main.py +++ b/bcipy/tests/test_bci_main.py @@ -338,7 +338,7 @@ def test_execute_task_fake_data(self) -> None: self.parameters, self.save_folder, language_model=None, - signal_model=None, + signal_models=[], fake=self.fake, ) when(main)._clean_up_session(self.display_mock, self.daq, self.server) @@ -358,7 +358,7 @@ def test_execute_task_fake_data(self) -> None: self.parameters, self.save_folder, language_model=None, - signal_model=None, + signal_models=[], fake=self.fake, ) verify(main, times=1)._clean_up_session(self.display_mock, self.daq, self.server) @@ -380,7 +380,7 @@ def test_execute_task_real_data(self) -> None: self.parameters, self.save_folder, language_model=None, - signal_model=None, + signal_models=[], fake=self.fake, ) when(main)._clean_up_session(self.display_mock, self.daq, self.server) @@ -400,7 +400,7 @@ def test_execute_task_real_data(self) -> None: self.parameters, self.save_folder, language_model=None, - signal_model=None, + signal_models=[], fake=self.fake, ) verify(main, times=1)._clean_up_session(self.display_mock, self.daq, self.server) @@ -430,7 +430,7 @@ def test_execute_task_non_calibration_real_data(self) -> None: self.parameters, self.save_folder, language_model=language_model, - signal_model=signal_model, + signal_models=[signal_model], fake=self.fake, ) when(main)._clean_up_session(self.display_mock, self.daq, self.server) @@ -450,7 +450,7 @@ def test_execute_task_non_calibration_real_data(self) -> None: self.parameters, self.save_folder, language_model=language_model, - signal_model=signal_model, + signal_models=[signal_model], fake=self.fake, ) verify(main, times=1).load_signal_models(directory=model_path) @@ -483,7 +483,7 @@ def test_execute_language_model_enabled(self) -> None: self.parameters, self.save_folder, language_model=language_model, - signal_model=signal_model, + signal_models=[signal_model], fake=self.fake, ) when(main)._clean_up_session(self.display_mock, self.daq, self.server) @@ -503,7 +503,7 @@ def test_execute_language_model_enabled(self) -> None: self.parameters, self.save_folder, language_model=language_model, - signal_model=signal_model, + signal_models=[signal_model], fake=self.fake, ) verify(main, times=1).load_signal_models(directory='') @@ -527,7 +527,7 @@ def test_execute_with_alert_enabled(self): self.parameters, self.save_folder, language_model=None, - signal_model=None, + signal_models=[], fake=self.fake, ) when(main)._clean_up_session(self.display_mock, self.daq, self.server) @@ -548,7 +548,7 @@ def test_execute_with_alert_enabled(self): self.parameters, self.save_folder, language_model=None, - signal_model=None, + signal_models=[], fake=self.fake, ) verify(main, times=1)._clean_up_session(self.display_mock, self.daq, self.server) From 76959a6a2dac5229e4146623e47a7e7a8f3837ea Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 13 Jun 2023 15:55:38 -0700 Subject: [PATCH 034/330] Bug fix --- bcipy/signal/model/offline_analysis.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 19a8ca3e5..f51f12cb5 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -125,7 +125,7 @@ def offline_analysis( # setup filtering default_transform = get_default_transform( sample_rate_hz=sample_rate, - notch_freq_hz=transform_params.notch_filter, + notch_freq_hz=transform_params.notch_filter_frequency, bandpass_low=transform_params.filter_low, bandpass_high=transform_params.filter_high, bandpass_order=transform_params.filter_order, From a3ee18739fbca3c69ab19c719378e2969cb547ff Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 13 Jun 2023 17:20:48 -0700 Subject: [PATCH 035/330] Removed unused code and parameters from CopyPhraseWrapper --- bcipy/helpers/copy_phrase_wrapper.py | 125 ++---------------- .../helpers/tests/test_copy_phrase_wrapper.py | 115 +--------------- bcipy/task/paradigm/rsvp/copy_phrase.py | 44 ------ 3 files changed, 15 insertions(+), 269 deletions(-) diff --git a/bcipy/helpers/copy_phrase_wrapper.py b/bcipy/helpers/copy_phrase_wrapper.py index 6888fa25c..ec7126be7 100644 --- a/bcipy/helpers/copy_phrase_wrapper.py +++ b/bcipy/helpers/copy_phrase_wrapper.py @@ -1,29 +1,21 @@ """Defines the CopyPhraseWrapper.""" +import logging from typing import List, Tuple -import logging import numpy as np -from bcipy.helpers.acquisition import analysis_channels, DeviceSpec + from bcipy.helpers.exceptions import BciPyCoreException -from bcipy.helpers.language_model import ( - histogram, - with_min_prob, -) -from bcipy.helpers.stimuli import InquirySchedule, StimuliOrder, TrialReshaper +from bcipy.helpers.language_model import histogram, with_min_prob +from bcipy.helpers.stimuli import InquirySchedule, StimuliOrder from bcipy.helpers.symbols import BACKSPACE_CHAR -from bcipy.signal.model import SignalModel -from bcipy.signal.process import get_default_transform +from bcipy.language.main import LanguageModel +from bcipy.task.control.criteria import (CriteriaEvaluator, + MaxIterationsCriteria, + MinIterationsCriteria, + ProbThresholdCriteria) from bcipy.task.control.handler import DecisionMaker, EvidenceFusion from bcipy.task.control.query import NBestStimuliAgent -from bcipy.task.control.criteria import ( - CriteriaEvaluator, - MaxIterationsCriteria, - MinIterationsCriteria, - ProbThresholdCriteria, -) from bcipy.task.data import EvidenceType -from bcipy.language.main import LanguageModel - log = logging.getLogger(__name__) @@ -39,14 +31,11 @@ class CopyPhraseWrapper: - Determining when to stop an inquiry and make a decision (StoppageCriteria). - Generation of inquiries. - Coordination with the Language Model. - - Preparing EEG data for the SignalModel for classification. Parameters ---------- - min_num_inq: The minimum number of inquiries to be displayed - max_num_inq: The maximum number of inquiries to be displayed - - device_spec: Specification for the EEG device used for data collection. - - signal_model: model trained using a calibration session of the same user. - k: down sampling rate - alp: symbol set of the task - evidence_names: list of evidence types used for decision-making @@ -58,10 +47,6 @@ class CopyPhraseWrapper: backspace character. - backspace_always_shown: whether or not the backspace should always be presented. - - filter_high: filter setting used when evaluating EEG data - - filter_low: filter setting used when evaluating EEG data - - filter_order: filter setting used when evaluating EEG data - - notch_filter_frequency: filter setting used when evaluating EEG data - stim_length(int): the number of stimuli to present in each inquiry - stim_timing: seconds each stimuli is displayed; used for inquiry generation @@ -72,23 +57,16 @@ def __init__(self, min_num_inq: int, max_num_inq: int, lmodel: LanguageModel, - device_spec: DeviceSpec, - signal_model: SignalModel = None, - k: int = 2, alp: List[str] = None, evidence_names: List[EvidenceType] = [ EvidenceType.LM, EvidenceType.ERP ], - task_list: List[Tuple[str, str]] = [('I_LOVE_COOKIES', - 'I_LOVE_')], + task_list: List[Tuple[str, + str]] = [('I_LOVE_COOKIES', 'I_LOVE_')], is_txt_stim: bool = True, decision_threshold: float = 0.8, backspace_prob: float = 0.05, backspace_always_shown: bool = False, - filter_high: int = 45, - filter_low: int = 2, - filter_order: int = 2, - notch_filter_frequency: int = 60, stim_timing: List[float] = [1, .2], stim_length: int = 10, stim_jitter: float = 0, @@ -127,90 +105,9 @@ def __init__(self, # non-letter target labels include the fixation cross and calibration. self.nonletters = ['+', 'PLUS', 'calibration_trigger'] self.valid_targets = set(self.alp) - - self.signal_model = signal_model - self.sampling_rate = device_spec.sample_rate - self.downsample_rate = k - self.filter_high = filter_high - self.filter_low = filter_low - self.filter_order = filter_order - self.notch_filter_frequency = notch_filter_frequency - - self.mode = 'copy_phrase' self.task_list = task_list - self.channel_map = analysis_channels(device_spec.channels, device_spec) self.backspace_prob = backspace_prob - def evaluate_inquiry( - self, raw_data: np.array, triggers: List[Tuple[str, float]], - target_info: List[str], window_length: float - ) -> Tuple[bool, Tuple[List[str], List[float], List[str]]]: - """Once data is collected, infers meaning from the data and attempt to - make a decision. - - Parameters - ---------- - - raw_data: C x L eeg data where C is number of channels and L is the - signal length - - triggers: triggers e.g. `('A', 1)` as letter and flash time for the - letter - - target_info: target information about the stimuli - - window_length: The length of the time between stimuli presentation - - Returns - ------- - - (True, None) when commitment is made. - - (False, next set of stimuli) when not enough evidence has - been provided and stoppage criteria is not yet met. - """ - lik_r = self.evaluate_eeg_evidence(raw_data, triggers, target_info, - window_length) - self.add_evidence(EvidenceType.ERP, lik_r) - return self.decide() - - def evaluate_eeg_evidence(self, raw_data: np.array, - triggers: List[Tuple[str, float]], - target_info: List[str], - window_length: float) -> np.array: - """Once data is collected, infers meaning from the data and return the results. - - Parameters - ---------- - - raw_data: C x L eeg data where C is number of channels and L is the - signal length - - triggers: triggers e.g. `('A', 1)` as letter and flash time for the - letter - - target_info: target information about the stimuli - - window_length: The length of the time between stimuli presentation - - Returns - ------- - np.array of likelihood evidence - """ - letters, times, target_info = self.letter_info(triggers, target_info) - - default_transform = get_default_transform( - sample_rate_hz=self.sampling_rate, - notch_freq_hz=self.notch_filter_frequency, - bandpass_low=self.filter_low, - bandpass_high=self.filter_high, - bandpass_order=self.filter_order, - downsample_factor=self.downsample_rate, - ) - - data, transformed_sample_rate = default_transform(raw_data, self.sampling_rate) - - # The data from DAQ is assumed to have offsets applied - data, _ = TrialReshaper()( - trial_targetness_label=target_info, - timing_info=times, - eeg_data=data, - sample_rate=transformed_sample_rate, - channel_map=self.channel_map, - poststimulus_length=window_length) - - return self.signal_model.predict(data, letters, self.alp) - def add_evidence(self, evidence_type: EvidenceType, evidence: List[float]) -> np.array: """Add evidence to the conjugator. diff --git a/bcipy/helpers/tests/test_copy_phrase_wrapper.py b/bcipy/helpers/tests/test_copy_phrase_wrapper.py index 14bc909f1..f04066d5e 100644 --- a/bcipy/helpers/tests/test_copy_phrase_wrapper.py +++ b/bcipy/helpers/tests/test_copy_phrase_wrapper.py @@ -1,78 +1,20 @@ -import random -import shutil -import tempfile import unittest -from pathlib import Path - -import numpy as np - -from bcipy.config import DEFAULT_PARAMETERS_PATH -from bcipy.acquisition.devices import DeviceSpec, register from bcipy.helpers.copy_phrase_wrapper import CopyPhraseWrapper -from bcipy.helpers.load import load_json_parameters from bcipy.helpers.symbols import alphabet from bcipy.language.model.uniform import UniformLanguageModel -from bcipy.signal.model import PcaRdaKdeModel from bcipy.task.data import EvidenceType class TestCopyPhraseWrapper(unittest.TestCase): """Test CopyPhraseWrapper""" - @classmethod - def setUpClass(cls): - np.random.seed(0) - random.seed(0) - cls.tmp_dir = Path(tempfile.mkdtemp()) - - cls.device_spec = DeviceSpec(name="dummy_device", channels=["1", "2", "3"], sample_rate=10) - register(cls.device_spec) - - cls.params_used = DEFAULT_PARAMETERS_PATH - cls.params = load_json_parameters(cls.params_used, value_cast=True) - - # # Generate fake data and train a model - # Specify data dimensions - cls.num_trial = cls.params["stim_length"] - cls.dim_x = 5 - cls.num_channel = cls.device_spec.channel_count - cls.num_x_pos = 200 - cls.num_x_neg = 200 - - # Generate Gaussian random data - # TODO - deduplicate, add to test utils somewhere (data generation matching a device_spec) - cls.pos_mean, cls.pos_std = 0, 0.5 - cls.neg_mean, cls.neg_std = 1, 0.5 - x_pos = cls.pos_mean + cls.pos_std * np.random.randn(cls.num_channel, cls.num_x_pos, cls.dim_x) - x_neg = cls.neg_mean + cls.neg_std * np.random.randn(cls.num_channel, cls.num_x_neg, cls.dim_x) - y_pos = np.ones(cls.num_x_pos) - y_neg = np.zeros(cls.num_x_neg) - - # Stack and permute data - x = np.concatenate([x_pos, x_neg], 1) - y = np.concatenate([y_pos, y_neg], 0) - permutation = np.random.permutation(cls.num_x_pos + cls.num_x_neg) - x = x[:, permutation, :] - y = y[permutation] - - cls.model = PcaRdaKdeModel(k_folds=10) - cls.model.fit(x, y) - - @classmethod - def tearDownClass(cls): - shutil.rmtree(cls.tmp_dir) - def test_valid_letters(self): alp = alphabet() cp = CopyPhraseWrapper( min_num_inq=1, max_num_inq=50, lmodel=None, - device_spec=self.device_spec, - signal_model=None, - # fs=25, - k=2, alp=alp, task_list=[("HELLO_WORLD", "HE")], is_txt_stim=True, @@ -158,76 +100,27 @@ def test_valid_letters(self): # Test it throws an exception when letter is outside alphabet with self.assertRaises(Exception): - cp.letter_info([("A", 0.0), ("*", 1.0)], ["nontarget", "nontarget"]) + cp.letter_info([("A", 0.0), ("*", 1.0)], + ["nontarget", "nontarget"]) - def test_init_series_evaluate_inquiry(self): + def test_init_series(self): alp = alphabet() - # Create fake data to provide as the user's response - duration = int(self.num_trial * self.device_spec.sample_rate * self.params["trial_length"]) - response_eeg = self.pos_mean + self.pos_std * np.random.randn(self.num_channel, duration) - - # Note that frequencies for notch and bandpass filter below are chosen to be < 1/2 of sampling frequency - # due to limitations of nyquist-shannon sampling theorem copy_phrase_task = CopyPhraseWrapper( min_num_inq=1, max_num_inq=50, lmodel=UniformLanguageModel(symbol_set=alp), - device_spec=self.device_spec, - signal_model=self.model, - k=1, alp=alp, task_list=[("HELLO_WORLD", "HE")], is_txt_stim=True, evidence_names=[EvidenceType.LM, EvidenceType.ERP], stim_timing=[0.5, 0.25], - notch_filter_frequency=4.0, - filter_low=1.0, - filter_high=4.0, - stim_length=self.params["stim_length"], + stim_length=10, ) is_accepted, sti = copy_phrase_task.initialize_series() self.assertFalse(is_accepted) - triggers = [ - ("+", 0.0), - ("H", 0.5670222830376588), - ("D", 0.8171830819919705), - ("J", 1.0843321380089037), - ("B", 1.3329724550130777), - ("C", 1.5825864360085689), - ("A", 1.833380013005808), - ("F", 2.083211077027954), - ("G", 2.333359022042714), - ("I", 2.583265081048012), - ("E", 2.833274284028448), - ] - stimuli = [label for (label, _) in triggers] - target_info = [ - "nontarget", - "nontarget", - "nontarget", - "nontarget", - "nontarget", - "nontarget", - "nontarget", - "nontarget", - "nontarget", - "nontarget", - "nontarget", - ] - - new_series, inquiry = copy_phrase_task.evaluate_inquiry( - response_eeg, triggers, target_info, self.params["trial_length"] - ) - self.assertFalse(new_series) - self.assertEqual(sorted(inquiry.stimuli[0]), sorted(stimuli)) - self.assertEqual(inquiry.durations[0], [self.params["time_fixation"]] + - [self.params["time_flash"]] * self.params["stim_length"]) - self.assertEqual(inquiry.colors[0], [self.params["fixation_color"]] + - [self.params["stim_color"]] * self.params["stim_length"]) - if __name__ == '__main__': unittest.main() diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index 2360c340b..8c33f77d1 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -261,14 +261,10 @@ def init_copy_phrase_task(self) -> None: initialized CopyPhraseWrapper """ - # TODO: remove signal_model self.copy_phrase_task = CopyPhraseWrapper( self.parameters['min_inq_len'], self.parameters['max_inq_per_series'], lmodel=self.language_model, - device_spec=self.daq.device_spec, - signal_model=self.signal_model, - k=self.parameters['down_sampling_rate'], alp=self.alp, evidence_names=self.evidence_types, task_list=[(str(self.copy_phrase), self.spelled_text)], @@ -279,10 +275,6 @@ def init_copy_phrase_task(self) -> None: decision_threshold=self.parameters['decision_threshold'], backspace_prob=self.parameters['lm_backspace_prob'], backspace_always_shown=self.parameters['backspace_always_shown'], - filter_high=self.parameters['filter_high'], - filter_low=self.parameters['filter_low'], - filter_order=self.parameters['filter_order'], - notch_filter_frequency=self.parameters['notch_filter_frequency'], stim_length=self.parameters['stim_length'], stim_jitter=self.parameters['stim_jitter'], stim_order=StimuliOrder(self.parameters['stim_order'])) @@ -602,42 +594,6 @@ def compute_device_evidence( window_length=self.parameters['trial_length']) return (evidence_evaluator.produces, probs) - def compute_eeg_evidence(self, - stim_times: List[List], - proceed: bool = True - ) -> Optional[Tuple[EvidenceType, List[float]]]: - """Evaluate the EEG evidence and add it to the copy_phrase_task, but - don't yet attempt a decision. - - Parameters - ---------- - - stim_times : list of stimuli returned from the display - - proceed : whether or not to evaluate the evidence, if `False` returns - empty values. - - Returns - ------- - tuple of (evidence type, evidence) - """ - if not proceed or self.fake: - return None - - # currently prestim_length is used as a buffer for filter application, use the same at the end of the inquiry - post_stim_buffer = self.parameters['prestim_length'] - raw_data, triggers = get_data_for_decision( - inquiry_timing=self.stims_for_decision(stim_times), - daq=self.daq, - offset=self.parameters['static_trigger_offset'], - prestim=self.parameters['prestim_length'], - poststim=post_stim_buffer + self.parameters['trial_length']) - - # we assume all are nontargets at this point - labels = ['nontarget'] * len(triggers) - - probs = self.copy_phrase_task.evaluate_eeg_evidence( - raw_data, triggers, labels, self.parameters['trial_length']) - return (EvidenceType.ERP, probs) - def stims_for_decision(self, stim_times: List[List]) -> List[List]: """The stim_timings from the display may include non-letter stimuli such as calibration and inquiry_preview timings. This method extracts From 72c6631e85b5de66bdbac20ae89041580f26e95c Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Tue, 20 Jun 2023 14:56:13 -0400 Subject: [PATCH 036/330] Inquiry plotting changes added --- bcipy/helpers/stimuli.py | 9 +- bcipy/helpers/visualization.py | 2 +- bcipy/signal/model/offline_analysis.py | 2 +- bcipy/signal/model/offline_analysis_fusion.py | 138 ---------------- bcipy/signal/model/offline_gaze_analysis.py | 149 ------------------ scripts/python/plot_eye_data.py | 2 - scripts/python/plot_inquiry_data.py | 105 ++++++++++++ 7 files changed, 112 insertions(+), 295 deletions(-) delete mode 100644 bcipy/signal/model/offline_analysis_fusion.py delete mode 100644 bcipy/signal/model/offline_gaze_analysis.py create mode 100644 scripts/python/plot_inquiry_data.py diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index c95a6cc23..2a501c72d 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -275,6 +275,8 @@ def __call__(self, # triggers in seconds are mapped to triggers in number of samples. triggers = list(map(lambda x: int((x + offset) * sample_rate), timing_info)) + inquiry_triggers = list(map(lambda x: int(x * sample_rate), timing_info)) + # First, find the longest inquiry in this experiment # We'll add or remove a few samples from all other inquiries, to match this length @@ -284,12 +286,11 @@ def get_inquiry_len(inq_trigs): # Finds the longest inquiry in the experiment by subtracting the first trigger from the last trigger in each inquiry longest_inquiry = max(grouper(triggers, trials_per_inquiry, fillvalue='x'), key=lambda xy: get_inquiry_len(xy)) - # What we need from gaze data is actually the shortest inquiry, not the longest - shortest_inquiry = min(grouper(triggers, trials_per_inquiry, fillvalue='x'), key=lambda xy: get_inquiry_len(xy)) - breakpoint() + # What we need is to find the shortest distance from 1st letter to last in each inquiry + shortest_inquiry = min(grouper(triggers, inquiry_triggers, trials_per_inquiry, fillvalue='x')) # We will trim off the extra bits in each inquiry to match the shortest inquiry - # TODO + num_samples_per_inq = get_inquiry_len(longest_inquiry) + trial_duration_samples diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index 00ff441f1..29918c4c3 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -342,4 +342,4 @@ def visualize_session_data(session_path: str, parameters: dict, show=True) -> Fi show=show, ) - eye_data = visualize_eye_data + # eye_data = visualize_gaze diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 8d044fb44..372633da0 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -247,6 +247,7 @@ def offline_analysis( show=show_figures, raw_plot=True, ) + plt.show() channels = mode_data.channels type_amp = mode_data.daq_type sample_rate = mode_data.sample_rate @@ -261,7 +262,6 @@ def offline_analysis( data, fs = mode_data.by_channel() model = GazeModel() - breakpoint() # Process triggers.txt files (again!) trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( diff --git a/bcipy/signal/model/offline_analysis_fusion.py b/bcipy/signal/model/offline_analysis_fusion.py deleted file mode 100644 index e1775cf14..000000000 --- a/bcipy/signal/model/offline_analysis_fusion.py +++ /dev/null @@ -1,138 +0,0 @@ -import logging -from pathlib import Path -from typing import Tuple - -import numpy as np -import pandas as pd -from matplotlib import pyplot as plt -from sklearn.mixture import GaussianMixture - -from bcipy.config import DEFAULT_PARAMETERS_PATH, TRIGGER_FILENAME, RAW_DATA_FILENAME -from bcipy.preferences import preferences -from bcipy.helpers.acquisition import analysis_channels -from bcipy.helpers.load import ( - load_experimental_data, - load_json_parameters, - load_raw_gaze_data -) -from bcipy.helpers.triggers import TriggerType, trigger_decoder -from bcipy.signal.model.fusion_model import GazeModel - -from sklearn.model_selection import train_test_split - -log = logging.getLogger(__name__) -logging.basicConfig(level=logging.INFO, format="[%(threadName)-9s][%(asctime)s][%(name)s][%(levelname)s]: %(message)s") - -def subset_data(data: np.ndarray, labels: np.ndarray, test_size: float, random_state=0): - """Performs a train/test split on the provided data and labels, accounting for - the current shape convention (channel dimension in front, instead of batch dimension in front). - - Args: - data (np.ndarray): Shape (channels, items, time) - labels (np.ndarray): Shape (items,) - test_size (float): fraction of data to be used for testing - random_state (int, optional): fixed random seed - - Returns: - train_data (np.ndarray): Shape (channels, train_items, time) - test_data (np.ndarray): Shape (channels, test_items, time) - train_labels (np.ndarray): Shape (train_items,) - test_labels (np.ndarray): Shape (test_items,) - """ - data = data.swapaxes(0, 1) - train_data, test_data, train_labels, test_labels = train_test_split( - data, labels, test_size=test_size, random_state=random_state - ) - train_data = train_data.swapaxes(0, 1) - test_data = test_data.swapaxes(0, 1) - return train_data, test_data, train_labels, test_labels - - -def offline_analysis_fusion( - data_folder: str = None, - parameters: dict = {}, -): - - if not data_folder: - data_folder = load_experimental_data() - - # extract relevant session information from parameters file - poststim_length = parameters.get("trial_length") - prestim_length = parameters.get("prestim_length") - trials_per_inquiry = parameters.get("stim_length") - static_offset = parameters.get("static_trigger_offset") - # The task buffer length defines the min time between two inquiries - # We use half of that time here to buffer during transforms - buffer = int(parameters.get("task_buffer_length") / 2) - raw_data_file = f"{RAW_DATA_FILENAME}.csv" - - log.info( - f"\nData processing settings: \n" - f"Poststimulus: {poststim_length}s, Prestimulus: {prestim_length}s, Buffer: {buffer}s, Trials per inquiry: {trials_per_inquiry} \n" - ) - - # Load raw data - gaze_data = load_raw_gaze_data(Path(data_folder, raw_data_file)) - channels = gaze_data.channels - type_amp = gaze_data.daq_type - sample_rate = gaze_data.sample_rate - - log.info(f"Channels read from csv: {channels}") - log.info(f"Device type: {type_amp}, fs={sample_rate}") - - # Process triggers.txt files - trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( - remove_pre_fixation = False, - trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", - exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION, TriggerType.OFFSET], - ) - - # Channel map can be checked from raw_data.csv file or the devices.json located in the acquisition module - # The timestamp column [0] is already excluded. - channel_map = analysis_channels(channels, type_amp) - # channel_map = [0,0,1,1,0,1,1,0,0] - - data, fs = gaze_data.by_channel() # no transformations applied at this stage - - model = GazeModel() - - # Note that we are calling a Gaze Reshaper instead of a Trial or Inquiry Reshaper. - # We might not need a separate reshaper function. - inquiries, inquiry_labels, inquiry_timing = model.reshaper( - trial_targetness_label=trigger_targetness, - timing_info=trigger_timing, - gaze_data=data, - sample_rate=sample_rate, - trials_per_inquiry=trials_per_inquiry, - channel_map=channel_map, - poststimulus_length=poststim_length, - prestimulus_length=prestim_length, - transformation_buffer=buffer, - ) - - - - - - results = [] - # A joint reshaper? - - - return results - - -if __name__ == "__main__": - import argparse - - parser = argparse.ArgumentParser() - parser.add_argument("-d", "--data_folder", default=None) - parser.add_argument("-p", "--parameters_file", default=DEFAULT_PARAMETERS_PATH) - args = parser.parse_args() - - log.info(f"Loading params from {args.parameters_file}") - parameters = load_json_parameters(args.parameters_file, value_cast=True) - - offline_analysis_fusion( - args.data_folder, - parameters) - log.info("Offline Analysis complete.") \ No newline at end of file diff --git a/bcipy/signal/model/offline_gaze_analysis.py b/bcipy/signal/model/offline_gaze_analysis.py deleted file mode 100644 index de8a6796b..000000000 --- a/bcipy/signal/model/offline_gaze_analysis.py +++ /dev/null @@ -1,149 +0,0 @@ -import logging -from pathlib import Path -from typing import Tuple - -import numpy as np -import pandas as pd -from matplotlib import pyplot as plt -from sklearn.mixture import GaussianMixture - -from bcipy.config import (DEFAULT_PARAMETERS_PATH, TRIGGER_FILENAME, - RAW_DATA_FILENAME, STATIC_AUDIO_PATH, - DEFAULT_DEVICE_SPEC_FILENAME, - EYE_TRACKER_FILENAME_PREFIX) -from bcipy.preferences import preferences -from bcipy.helpers.acquisition import analysis_channels -from bcipy.helpers.load import ( - load_experimental_data, - load_json_parameters, - load_raw_data -) -from bcipy.helpers.triggers import TriggerType, trigger_decoder -from bcipy.signal.model.fusion_model import GazeModel -import bcipy.acquisition.devices as devices - -from sklearn.model_selection import train_test_split - -log = logging.getLogger(__name__) -logging.basicConfig(level=logging.INFO, format="[%(threadName)-9s][%(asctime)s][%(name)s][%(levelname)s]: %(message)s") - -def subset_data(data: np.ndarray, labels: np.ndarray, test_size: float, random_state=0): - """Performs a train/test split on the provided data and labels, accounting for - the current shape convention (channel dimension in front, instead of batch dimension in front). - - Args: - data (np.ndarray): Shape (channels, items, time) - labels (np.ndarray): Shape (items,) - test_size (float): fraction of data to be used for testing - random_state (int, optional): fixed random seed - - Returns: - train_data (np.ndarray): Shape (channels, train_items, time) - test_data (np.ndarray): Shape (channels, test_items, time) - train_labels (np.ndarray): Shape (train_items,) - test_labels (np.ndarray): Shape (test_items,) - """ - data = data.swapaxes(0, 1) - train_data, test_data, train_labels, test_labels = train_test_split( - data, labels, test_size=test_size, random_state=random_state - ) - train_data = train_data.swapaxes(0, 1) - test_data = test_data.swapaxes(0, 1) - return train_data, test_data, train_labels, test_labels - - -def offline_gaze_analysis( - data_folder: str = None, - parameters: dict = {}, -): - - if not data_folder: - data_folder = load_experimental_data() - - # extract relevant session information from parameters file - poststim_length = parameters.get("trial_length") - prestim_length = parameters.get("prestim_length") - trials_per_inquiry = parameters.get("stim_length") - static_offset = parameters.get("static_trigger_offset") - # The task buffer length defines the min time between two inquiries - # We use half of that time here to buffer during transforms - buffer = int(parameters.get("task_buffer_length") / 2) - - log.info( - f"\nData processing settings: \n" - f"Poststimulus: {poststim_length}s, Prestimulus: {prestim_length}s, Buffer: {buffer}s, Trials per inquiry: {trials_per_inquiry} \n" - ) - - data_file_path = [f"{RAW_DATA_FILENAME}.csv"] - - # Load raw data - data_list = load_raw_data(data_folder, data_file_path) - gaze_data = data_list[0] - channels = gaze_data.channels - type_amp = gaze_data.daq_type - sample_rate = gaze_data.sample_rate - - log.info(f"Channels read from csv: {channels}") - log.info(f"Device type: {type_amp}, fs={sample_rate}") - - # Process triggers.txt files - trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( - remove_pre_fixation = False, - trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", - exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION, TriggerType.OFFSET], - ) - - # Channel map can be checked from raw_data.csv file or the devices.json located in the acquisition module - # The timestamp column [0] is already excluded. - channel_map = analysis_channels(channels, type_amp) - # channel_map = [0,0,1,1,0,1,1,0,0] - - data, fs = gaze_data.by_channel() # no transformations applied at this stage - - model = GazeModel() - - # Note that we are calling a Gaze Reshaper instead of a Trial or Inquiry Reshaper. - # We might not need a separate reshaper function. - inquiries, inquiry_labels, inquiry_timing = model.reshaper( - trial_targetness_label=trigger_targetness, - timing_info=trigger_timing, - gaze_data=data, - sample_rate=sample_rate, - trials_per_inquiry=trials_per_inquiry, - channel_map=channel_map, - poststimulus_length=poststim_length, - prestimulus_length=prestim_length, - transformation_buffer=buffer, - ) - - - - - - results = [] - - #TODO: - # Implement reshaper. We might not need a separate reshaper function. - # Plotting for offset - # Plot the gaze data (check NSLR) fixation, saccade, blink - # Use Tobii to Psychopy units conversion - - - return results - - -if __name__ == "__main__": - import argparse - - parser = argparse.ArgumentParser() - parser.add_argument("-d", "--data_folder", default=None) - parser.add_argument("-p", "--parameters_file", default=DEFAULT_PARAMETERS_PATH) - args = parser.parse_args() - - log.info(f"Loading params from {args.parameters_file}") - parameters = load_json_parameters(args.parameters_file, value_cast=True) - - offline_gaze_analysis( - args.data_folder, - parameters) - log.info("Offline Analysis complete.") \ No newline at end of file diff --git a/scripts/python/plot_eye_data.py b/scripts/python/plot_eye_data.py index 2b2e2fe9e..cb9461d62 100644 --- a/scripts/python/plot_eye_data.py +++ b/scripts/python/plot_eye_data.py @@ -1,9 +1,7 @@ -import os from bcipy.helpers.raw_data import load DIPSIZE = (1707, 1067) TOBII_FILENAME = 'eyetracker_data_tobii-p0.csv' -# IMG_PATH = os.path.abspath(os.path.dirname(__file__))+ '/matrix_grid.png' def load_eye_tracking_data(path): data = load(f'{path}/{TOBII_FILENAME}') diff --git a/scripts/python/plot_inquiry_data.py b/scripts/python/plot_inquiry_data.py new file mode 100644 index 000000000..4243ad134 --- /dev/null +++ b/scripts/python/plot_inquiry_data.py @@ -0,0 +1,105 @@ +from bcipy.helpers.raw_data import load +from bcipy.config import STATIC_IMAGES_PATH + +DIPSIZE = (1707, 1067) +IMG_PATH = f'{STATIC_IMAGES_PATH}/main/matrix_grid.png' +TOBII_FILENAME = 'eyetracker_data_tobii-p0.csv' + +def load_eye_tracking_data(path): + data = load(f'{path}/{TOBII_FILENAME}') + + left_eye_channel_map = [0,0,1,1,0,0,0,0,0] + left_eye_data, _, _ = data.by_channel_map(left_eye_channel_map) + left_eye_x = left_eye_data[0] + left_eye_y = left_eye_data[1] + + right_eye_channel_map = [0,0,0,0,0,1,1,0,0] + right_eye_data, _, _ = data.by_channel_map(right_eye_channel_map) + right_eye_x = right_eye_data[0] + right_eye_y = right_eye_data[1] + return left_eye_x, left_eye_y, right_eye_x, right_eye_y + + +if __name__ == "__main__": + import argparse + from pathlib import Path + from bcipy.helpers.load import load_experimental_data + import matplotlib.pyplot as plt + from matplotlib import image + import numpy as np + import seaborn as sns + import pandas as pd + + parser = argparse.ArgumentParser() + parser.add_argument( + '-p', + '--path', + help='Path to the directory with raw_data to be converted', + required=False) + args = parser.parse_args() + + # if no path is provided, prompt for one using a GUI + path = args.path + if not path: + path = load_experimental_data() + + data = load_eye_tracking_data(path) + lx, ly, rx, ry = data + + dpi = 100 + + # load the image + img = plt.imread(IMG_PATH) + # img = np.flipud(img) + + w, h = len(img[0]), len(img) + + # resize the image to fit the display + # img = np.resize(img, (DIPSIZE[1], DIPSIZE[0], 4)) + fig, ax = plt.subplots() + ax.imshow(img, extent=[0, 1, 0, 1]) + # ax.scatter(lx, ly, c='r', s=1) + # ax.scatter(rx, ry, c='b', s=1) + # transform the eye data to fit the display. remove > 1 values < 0 values and flip the y axis + lx = np.clip(lx, 0, 1) + ly = np.clip(ly, 0, 1) + rx = np.clip(rx, 0, 1) + ry = np.clip(ry, 0, 1) + ly = 1 - ly + ry = 1 - ry + + # plot the eye data + # ax.plot(lx, ly, c='r', linewidth=1) + # ax.plot(rx, ry, c='b', linewidth=1) + + # # remove nan values + # lx = lx[~np.isnan(lx)] + # ly = ly[~np.isnan(ly)] + # rx = rx[~np.isnan(rx)] + # ry = ry[~np.isnan(ry)] + + # determine kde of the eye data + # ax = sns.kdeplot(rx, ry, cmap="mako", fill=False, thresh=0.05, levels=10) + + lx_inq = lx[48368:48535] + ly_inq = ly[48368:48535] + rx_inq = rx[48368:48535] + ry_inq = ry[48368:48535] + + # remove nan values + lx_inq = lx_inq[~np.isnan(lx_inq)] + ly_inq = ly_inq[~np.isnan(ly_inq)] + rx_inq = rx_inq[~np.isnan(rx_inq)] + ry_inq = ry_inq[~np.isnan(ry_inq)] + + + ax.scatter(lx_inq, ly_inq, c='r', s=1) + ax.scatter(rx_inq, ry_inq, c='b', s=1) + + + # ax.scatter(lx, ly, c='r', s=1) + # ax.scatter(rx, ry, c='b', s=1) + + plt.show() + + breakpoint() \ No newline at end of file From a2aafb1803a86a755418260da8f061143e25b27d Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 20 Jun 2023 14:32:16 -0700 Subject: [PATCH 037/330] Added error handling for multimodal data queries for insufficient data --- bcipy/acquisition/exceptions.py | 7 +++ bcipy/acquisition/multimodal.py | 22 ++++++--- .../acquisition/tests/test_client_manager.py | 45 +++++++++++++++++-- 3 files changed, 65 insertions(+), 9 deletions(-) diff --git a/bcipy/acquisition/exceptions.py b/bcipy/acquisition/exceptions.py index 6551ab2db..d5035c902 100644 --- a/bcipy/acquisition/exceptions.py +++ b/bcipy/acquisition/exceptions.py @@ -6,3 +6,10 @@ def __init__(self, msg): class UnsupportedContentType(Exception): """Error that occurs when attempting to collect data from a device with a content type that is not yet supported by BciPy.""" + + +class InsufficientDataException(Exception): + """Insufficient Data Exception. + + Thrown when data requirements to execute task are violated. + """ diff --git a/bcipy/acquisition/multimodal.py b/bcipy/acquisition/multimodal.py index 2f19be645..b93136735 100644 --- a/bcipy/acquisition/multimodal.py +++ b/bcipy/acquisition/multimodal.py @@ -3,7 +3,8 @@ from typing import Any, Dict, List, Optional from bcipy.acquisition.devices import DeviceSpec -from bcipy.acquisition.exceptions import UnsupportedContentType +from bcipy.acquisition.exceptions import (InsufficientDataException, + UnsupportedContentType) from bcipy.acquisition.protocols.lsl.lsl_client import LslAcquisitionClient from bcipy.acquisition.record import Record from bcipy.helpers.system_utils import AutoNumberEnum @@ -112,7 +113,8 @@ def get_data_by_device( self, start: float = None, seconds: float = None, - content_types: List[ContentType] = None + content_types: List[ContentType] = None, + strict: bool = True ) -> Dict[ContentType, List[Record]]: """Get data for one or more devices. The number of samples for each device depends on the sample rate and may be different for item. @@ -121,18 +123,26 @@ def get_data_by_device( ---------- start - start time (acquisition clock) of data window seconds - duration of data to return for each device - content_types - specifies which devices to include + content_types - specifies which devices to include; if not + unspecified, data for all types is returned. + strict - if True, raises an exception if the returned rows is + less than the requested number of records. """ output = {} + if not content_types: + content_types = self.device_content_types for content_type in content_types: + name = content_type.name client = self.get_client(content_type) if client.device_spec.sample_rate > 0: count = round(seconds * client.device_spec.sample_rate) - log.debug( - f'Need {count} records for processing {content_type.name} data' - ) + log.debug(f'Need {count} records for processing {name} data') output[content_type] = client.get_data(start=start, limit=count) + data_count = len(output[content_type]) + if strict and data_count < count: + msg = f'Needed {count} {name} records but received {data_count}' + raise InsufficientDataException(msg) else: # Markers have an IRREGULAR_RATE. output[content_type] = client.get_data(start=start, diff --git a/bcipy/acquisition/tests/test_client_manager.py b/bcipy/acquisition/tests/test_client_manager.py index fa9d08819..dc5ed8194 100644 --- a/bcipy/acquisition/tests/test_client_manager.py +++ b/bcipy/acquisition/tests/test_client_manager.py @@ -1,6 +1,7 @@ import unittest -from unittest.mock import Mock +from unittest.mock import MagicMock, Mock +from bcipy.acquisition.exceptions import InsufficientDataException from bcipy.acquisition.multimodal import ClientManager, ContentType @@ -16,7 +17,9 @@ def setUp(self): self.eeg_client_mock = Mock() self.eeg_client_mock.device_spec = self.eeg_device_mock - self.eeg_client_mock.get_data = Mock() + self.eeg_data_mock = Mock() + self.eeg_client_mock.get_data = MagicMock( + return_value=self.eeg_data_mock) self.gaze_device_mock = Mock() self.gaze_device_mock.content_type = 'Eyetracker' @@ -102,7 +105,15 @@ def test_get_data_by_device(self): switch_client_mock = Mock() switch_client_mock.device_spec = switch_device_mock - switch_client_mock.get_data = Mock() + switch_data_mock = Mock() + switch_data_mock.__len__ = lambda self: 5 + switch_client_mock.get_data = MagicMock(return_value=switch_data_mock) + + gaze_data_mock = Mock() + gaze_data_mock.__len__ = lambda self: 300 + self.gaze_client_mock.get_data = MagicMock(return_value=gaze_data_mock) + + self.eeg_data_mock.__len__ = lambda self: 1500 daq = ClientManager() daq.add_client(self.eeg_client_mock) @@ -127,6 +138,34 @@ def test_get_data_by_device(self): self.assertTrue(ContentType.EYETRACKER in results) self.assertTrue(ContentType.MARKERS in results) + def test_insufficient_data(self): + """Test insufficient data exception in strict mode.""" + + gaze_data_mock = Mock() + gaze_data_mock.__len__ = lambda self: 299 + self.gaze_client_mock.get_data = MagicMock(return_value=gaze_data_mock) + + daq = ClientManager() + daq.add_client(self.gaze_client_mock) + + with self.assertRaises(InsufficientDataException): + daq.get_data_by_device(start=100, seconds=5) + + def test_non_strict_data_request(self): + """Test data request in non-strict mode.""" + + gaze_data_mock = Mock() + gaze_data_mock.__len__ = lambda self: 299 + self.gaze_client_mock.get_data = MagicMock(return_value=gaze_data_mock) + + daq = ClientManager() + daq.add_client(self.gaze_client_mock) + + results = daq.get_data_by_device(start=100, seconds=5, strict=False) + self.gaze_client_mock.get_data.assert_called_once_with(start=100, + limit=300) + self.assertTrue(ContentType.EYETRACKER in results) + if __name__ == '__main__': unittest.main() From 5748cf6122726cf1af4b9d11b712129fbd4300e7 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 20 Jun 2023 14:35:13 -0700 Subject: [PATCH 038/330] Refactored device querying in Copy Phrase task to ensure that each device is only queried once --- bcipy/helpers/task.py | 75 ++++++++++++++++++- bcipy/task/paradigm/rsvp/copy_phrase.py | 61 ++++++++------- .../tests/paradigm/rsvp/test_copy_phrase.py | 33 ++++---- 3 files changed, 127 insertions(+), 42 deletions(-) diff --git a/bcipy/helpers/task.py b/bcipy/helpers/task.py index a79a40af0..f66453c05 100644 --- a/bcipy/helpers/task.py +++ b/bcipy/helpers/task.py @@ -1,10 +1,11 @@ import logging import random -from typing import Any, List, Tuple, Union +from typing import Any, Dict, List, Tuple, Union import numpy as np from psychopy import core, event, visual +from bcipy.acquisition.multimodal import ClientManager, ContentType from bcipy.config import SESSION_COMPLETE_MESSAGE from bcipy.helpers.clock import Clock from bcipy.helpers.stimuli import get_fixation @@ -174,6 +175,78 @@ def get_data_for_decision(inquiry_timing, return raw_data, triggers +def get_device_data_for_decision( + inquiry_timing: List[Tuple], + daq: ClientManager, + offset: float = 0.0, + prestim: float = 0.0, + poststim: float = 0.0) -> Dict[ContentType, np.ndarray]: + """Queries the acquisition client manager for a slice of data from each + device and processes the resulting raw data into a form that can be passed + to signal processing and classifiers. + + Parameters + ---------- + - inquiry_timing(list): list of tuples containing stimuli timing and labels. + - daq (ClientManager): bcipy data acquisition client manager + - offset (float): offset present in the system which should be accounted for when creating data for classification. + This is determined experimentally. + - prestim (float): length of data needed before the first sample to reshape and apply transformations + - poststim (float): length of data needed after the last sample in order to reshape and apply transformations + + Returns + ------- + a dict mapping device content_type to the data; + data has shape C x L where C is number of channels and L is the + signal length. + """ + _, first_stim_time = inquiry_timing[0] + _, last_stim_time = inquiry_timing[-1] + + # adjust for offsets + time1 = first_stim_time + offset - prestim + time2 = last_stim_time + offset + + if time2 < time1: + raise InsufficientDataException( + f'Invalid data query [{time1}-{time2}] with parameters:' + f'[inquiry={inquiry_timing}, offset={offset}, prestim={prestim}, poststim={poststim}]' + ) + + data = daq.get_data_by_device(start=time1, + seconds=(time2 - time1 + poststim), + strict=True) + for content_type in data.keys(): + # Take only the sensor data from raw data and transpose it. + # TODO: Does this apply to all content types? If not this step could be + # moved to the evidence evaluators. + data[content_type] = np.array([ + np.array([_float_val(col) for col in record.data]) + for record in data[content_type] + ], + dtype=np.float64).transpose() + + return data + + +def relative_triggers(inquiry_timing: List[Tuple[str, float]], + prestim: float) -> List[Tuple[str, float]]: + """Adjust the provided inquiry_timing triggers for processing. The new + timing values are relative to the first stim time, rather than using + absolute clock times. + + Parameters + ---------- + inquiry_timing - list of (symbol, timestamp) pairs for each trigger in + an inquiry + prestim - seconds of data needed before the first sample to reshape and + apply transformations + """ + _, first_stim_time = inquiry_timing[0] + return [(symbol, (timestamp - first_stim_time) + prestim) + for symbol, timestamp in inquiry_timing] + + def _float_val(col: Any) -> float: """Convert marker data to float values so we can put them in a typed np.array. The marker column has type float if it has a 0.0 diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index 8c33f77d1..e62b28c8e 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -20,8 +20,9 @@ from bcipy.helpers.stimuli import InquirySchedule, StimuliOrder from bcipy.helpers.symbols import BACKSPACE_CHAR, alphabet from bcipy.helpers.task import (construct_triggers, fake_copy_phrase_decision, - get_data_for_decision, get_user_input, - target_info, trial_complete_message) + get_device_data_for_decision, get_user_input, + relative_triggers, target_info, + trial_complete_message) from bcipy.helpers.triggers import (FlushFrequency, Trigger, TriggerHandler, TriggerType, convert_timing_triggers) from bcipy.signal.model.inquiry_preview import compute_probs_after_preview @@ -495,6 +496,9 @@ def add_evidence(self, stim_times: List[List], proceed: bool = True) -> List[EvidenceType]: """Add all evidence used to make a decision. + Evaluates evidence from various sources (button press, devices, + language model) and adds it to the CopyPhraseWrapper for evaluation. + Parameters ---------- - stim_times : list of stimuli returned from the display @@ -511,10 +515,8 @@ def add_evidence(self, stim_times: List[List], evidences = [ self.compute_button_press_evidence(proceed) ] - - for evidence_evaluator in self.evidence_evaluators: - evidences.append( - self.compute_device_evidence(evidence_evaluator, stim_times)) + # evidence from one or more devices + evidences.extend(self.compute_device_evidence(stim_times, proceed)) evidence_types = [] for evidence in evidences: @@ -552,47 +554,56 @@ def compute_button_press_evidence( def compute_device_evidence( self, - evidence_evaluator: EvidenceEvaluator, stim_times: List[List], - proceed: bool = True - ) -> Optional[Tuple[EvidenceType, List[float]]]: - """Evaluate the evidence using the provided evaluator but + proceed: bool = True) -> List[Tuple[EvidenceType, List[float]]]: + """Get inquiry data from all devices and evaluate the evidence, but don't yet attempt a decision. Parameters ---------- - stim_times : list of stimuli returned from the display - proceed : whether or not to evaluate the evidence, if `False` returns - empty values. + an empty array. Returns ------- - tuple of (evidence type, evidence) + list of (evidence type, evidence) tuples """ if not proceed or self.fake: - return None + return [] - # currently prestim_length is used as a buffer for filter application, use the same at the end of the inquiry + # currently prestim_length is used as a buffer for filter application; + # use the same at the end of the inquiry post_stim_buffer = self.parameters['prestim_length'] + prestim = self.parameters['prestim_length'] + inquiry_timing = self.stims_for_decision(stim_times) - raw_data, triggers = get_data_for_decision( - inquiry_timing=self.stims_for_decision(stim_times), - daq=self.daq.get_client(evidence_evaluator.consumes), + # Get all data at once so we don't redundantly query devices which are + # used in more than one signal model. + device_data = get_device_data_for_decision( + inquiry_timing=inquiry_timing, + daq=self.daq, offset=self.parameters['static_trigger_offset'], - prestim=self.parameters['prestim_length'], + prestim=prestim, poststim=post_stim_buffer + self.parameters['trial_length']) + triggers = relative_triggers(inquiry_timing, prestim) # we assume all are nontargets at this point labels = ['nontarget'] * len(triggers) letters, times, filtered_labels = self.copy_phrase_task.letter_info( triggers, labels) - probs = evidence_evaluator.evaluate( - raw_data=raw_data, - symbols=letters, - times=times, - target_info=filtered_labels, - window_length=self.parameters['trial_length']) - return (evidence_evaluator.produces, probs) + + evidences = [] + for evidence_evaluator in self.evidence_evaluators: + probs = evidence_evaluator.evaluate( + raw_data=device_data[evidence_evaluator.consumes], + symbols=letters, + times=times, + target_info=filtered_labels, + window_length=self.parameters['trial_length']) + evidences.append((evidence_evaluator.produces, probs)) + + return evidences def stims_for_decision(self, stim_times: List[List]) -> List[List]: """The stim_timings from the display may include non-letter stimuli diff --git a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py index 34d43ad65..f6dac8745 100644 --- a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py +++ b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py @@ -236,7 +236,7 @@ def test_execute_without_inquiry(self, message_mock, @patch('bcipy.task.paradigm.rsvp.copy_phrase.get_user_input') @patch('bcipy.task.paradigm.rsvp.copy_phrase.trial_complete_message') - @patch('bcipy.task.paradigm.rsvp.copy_phrase.get_data_for_decision') + @patch('bcipy.task.paradigm.rsvp.copy_phrase.get_device_data_for_decision') def test_execute_fake_data_single_inquiry(self, process_data_mock, message_mock, user_input_mock): """Test that fake data does not use the decision maker""" @@ -275,7 +275,7 @@ def test_execute_fake_data_single_inquiry(self, process_data_mock, message_mock, @patch('bcipy.task.paradigm.rsvp.copy_phrase.get_user_input') @patch('bcipy.task.paradigm.rsvp.copy_phrase.trial_complete_message') - @patch('bcipy.task.paradigm.rsvp.copy_phrase.get_data_for_decision') + @patch('bcipy.task.paradigm.rsvp.copy_phrase.get_device_data_for_decision') def test_max_inq_len(self, process_data_mock, message_mock, user_input_mock): """Test stoppage criteria for the max inquiry length""" @@ -314,7 +314,7 @@ def test_max_inq_len(self, process_data_mock, message_mock, @patch('bcipy.task.paradigm.rsvp.copy_phrase.get_user_input') @patch('bcipy.task.paradigm.rsvp.copy_phrase.trial_complete_message') - @patch('bcipy.task.paradigm.rsvp.copy_phrase.get_data_for_decision') + @patch('bcipy.task.paradigm.rsvp.copy_phrase.get_device_data_for_decision') def test_spelling_complete(self, process_data_mock, message_mock, user_input_mock): """Test that the task stops when the copy_phrase has been correctly spelled.""" @@ -369,7 +369,7 @@ def test_spelled_letters(self): self.assertEqual(task.starting_spelled_letters(), 0) def test_stims_for_eeg(self): - """The correct stims should be sent to get_data_for_decision""" + """The correct stims should be sent to get_device_data_for_decision""" task = RSVPCopyPhraseTask(win=self.win, daq=self.daq, parameters=self.parameters, @@ -415,7 +415,7 @@ def test_stims_for_eeg(self): @patch('bcipy.task.paradigm.rsvp.copy_phrase.get_user_input') @patch('bcipy.task.paradigm.rsvp.copy_phrase.trial_complete_message') - @patch('bcipy.task.paradigm.rsvp.copy_phrase.get_data_for_decision') + @patch('bcipy.task.paradigm.rsvp.copy_phrase.get_device_data_for_decision') def test_next_letter(self, process_data_mock, message_mock, user_input_mock): """Test that the task stops when the copy_phrase has been correctly spelled.""" @@ -444,7 +444,7 @@ def test_next_letter(self, process_data_mock, message_mock, @patch('bcipy.task.paradigm.rsvp.copy_phrase.get_user_input') @patch('bcipy.task.paradigm.rsvp.copy_phrase.trial_complete_message') - @patch('bcipy.task.paradigm.rsvp.copy_phrase.get_data_for_decision') + @patch('bcipy.task.paradigm.rsvp.copy_phrase.get_device_data_for_decision') def test_execute_fake_data_with_preview(self, process_data_mock, message_mock, user_input_mock): """Test that preview is displayed""" @@ -480,7 +480,7 @@ def test_execute_fake_data_with_preview(self, process_data_mock, message_mock, @patch('bcipy.task.paradigm.rsvp.copy_phrase.init_evidence_evaluator') @patch('bcipy.task.paradigm.rsvp.copy_phrase.get_user_input') @patch('bcipy.task.paradigm.rsvp.copy_phrase.trial_complete_message') - @patch('bcipy.task.paradigm.rsvp.copy_phrase.get_data_for_decision') + @patch('bcipy.task.paradigm.rsvp.copy_phrase.get_device_data_for_decision') def test_execute_real_data_single_inquiry(self, process_data_mock, message_mock, user_input_mock, init_evaluator_mock): """Test that fake data does not use the decision maker""" @@ -660,16 +660,17 @@ def mock_inquiry_timings(): def mock_process_data(): - """Generator that yields data mocking the get_data_for_decision helper""" - raw_data = None - triggers = [('+', 0.0), ('H', 0.4680980280973017), - ('C', 0.6852016930934042), ('D', 0.9016020260751247), - ('<', 1.1184057840146124), ('I', 1.335060202050954), - ('E', 1.552058998029679), ('B', 1.7685756811406463), - ('F', 1.9853776029776782), ('A', 2.202271921094507), - ('G', 2.4189279531128705)] - return (raw_data, triggers) + """Generator that yields data mocking the get_device_data_for_decision helper""" + return {ContentType.EEG: None} +def mock_triggers(): + """Mocks data from the task relative_triggers helper""" + return [('+', 0.0), ('H', 0.4680980280973017), ('C', 0.6852016930934042), + ('D', 0.9016020260751247), ('<', 1.1184057840146124), + ('I', 1.335060202050954), ('E', 1.552058998029679), + ('B', 1.7685756811406463), ('F', 1.9853776029776782), + ('A', 2.202271921094507), ('G', 2.4189279531128705)] + if __name__ == '__main__': unittest.main() From ac8077ac32840c90a4c05b4b869536c4f3f214f9 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 21 Jun 2023 15:47:22 -0700 Subject: [PATCH 039/330] Cleanup and bug fixes --- bcipy/acquisition/protocols/lsl/lsl_client.py | 18 +++++++++++------- .../acquisition/protocols/lsl/lsl_recorder.py | 5 ++++- bcipy/helpers/load.py | 4 +++- bcipy/helpers/session.py | 6 +----- .../tests/paradigm/rsvp/test_copy_phrase.py | 1 + 5 files changed, 20 insertions(+), 14 deletions(-) diff --git a/bcipy/acquisition/protocols/lsl/lsl_client.py b/bcipy/acquisition/protocols/lsl/lsl_client.py index 1ea5c68b8..4a5937320 100644 --- a/bcipy/acquisition/protocols/lsl/lsl_client.py +++ b/bcipy/acquisition/protocols/lsl/lsl_client.py @@ -2,16 +2,18 @@ import logging from typing import List -from pylsl import StreamInfo, StreamInlet, local_clock, resolve_stream, resolve_byprop +from pylsl import (StreamInfo, StreamInlet, local_clock, resolve_byprop, + resolve_stream) -from bcipy.acquisition.devices import DEFAULT_DEVICE_TYPE, DeviceSpec, IRREGULAR_RATE +from bcipy.acquisition.devices import (DEFAULT_DEVICE_TYPE, IRREGULAR_RATE, + DeviceSpec) from bcipy.acquisition.exceptions import InvalidClockError from bcipy.acquisition.protocols.lsl.lsl_connector import (channel_names, check_device) from bcipy.acquisition.protocols.lsl.lsl_recorder import LslRecordingThread from bcipy.acquisition.record import Record -from bcipy.helpers.clock import Clock from bcipy.gui.viewer.ring_buffer import RingBuffer +from bcipy.helpers.clock import Clock log = logging.getLogger(__name__) @@ -101,13 +103,15 @@ def first_sample_time(self) -> float: def stop_acquisition(self) -> None: """Disconnect from the data source.""" - log.debug("Stopping Acquisition...") - if self.inlet: - self.inlet.close_stream() - self.inlet = None + log.debug(f"Stopping Acquisition from {self.device_spec.name} ...") if self.recorder: + log.debug(f"Closing {self.device_spec.name} data recorder") self.recorder.stop() self.recorder.join() + if self.inlet: + log.debug("Closing LSL connection") + self.inlet.close_stream() + self.inlet = None self.buffer = None diff --git a/bcipy/acquisition/protocols/lsl/lsl_recorder.py b/bcipy/acquisition/protocols/lsl/lsl_recorder.py index 4f9f5d3fc..9a8228adb 100644 --- a/bcipy/acquisition/protocols/lsl/lsl_recorder.py +++ b/bcipy/acquisition/protocols/lsl/lsl_recorder.py @@ -7,7 +7,8 @@ from pylsl import StreamInfo, StreamInlet, resolve_streams from bcipy.acquisition.devices import DeviceSpec -from bcipy.acquisition.protocols.lsl.lsl_connector import channel_names, check_device +from bcipy.acquisition.protocols.lsl.lsl_connector import (channel_names, + check_device) from bcipy.acquisition.util import StoppableThread from bcipy.helpers.raw_data import RawDataWriter @@ -220,6 +221,7 @@ def run(self): log.info(f"Total recorded seconds: {self.recorded_seconds}") log.info(f"Total recorded samples: {self.sample_count}") inlet.close_stream() + inlet = None self._cleanup() @@ -243,6 +245,7 @@ def main(path: str, seconds: int = 5, debug: bool = False): if __name__ == '__main__': import argparse + # pylint: disable=invalid-name parser = argparse.ArgumentParser() parser.add_argument('--path', default='.') diff --git a/bcipy/helpers/load.py b/bcipy/helpers/load.py index bb5536cf2..c00e4c815 100644 --- a/bcipy/helpers/load.py +++ b/bcipy/helpers/load.py @@ -212,7 +212,9 @@ def load_signal_models(directory: Optional[str] = None) -> List[SignalModel]: models = [] for file_path in path.glob(f"*{SIGNAL_MODEL_FILE_SUFFIX}"): with open(file_path, "rb") as file: - models.append(pickle.load(file)) + model = pickle.load(file) + log.info(f"Loading model {model}") + models.append(model) return models diff --git a/bcipy/helpers/session.py b/bcipy/helpers/session.py index bc7932ba2..071f8cd12 100644 --- a/bcipy/helpers/session.py +++ b/bcipy/helpers/session.py @@ -231,7 +231,7 @@ def session_excel(session: Session, # Write rows inq_background = next(backgrounds_iter) - alp_len = None + alp_len = len(session.symbol_set) for i, record in enumerate(evidence_records(session)): rownum = i + 2 # Excel is 1-indexed; also account for column row. border = default_border @@ -244,10 +244,6 @@ def session_excel(session: Session, if record.inquiry != inquiry: inquiry = record.inquiry - - # Set the alphabet length used for chart data ranges. - if not alp_len and i > 0: - alp_len = i chart_data[f"Series {series} inquiry {inquiry}"] = rownum # Toggle the background for each inquiry for easier viewing. diff --git a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py index f6dac8745..d84b2f9c9 100644 --- a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py +++ b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py @@ -672,5 +672,6 @@ def mock_triggers(): ('B', 1.7685756811406463), ('F', 1.9853776029776782), ('A', 2.202271921094507), ('G', 2.4189279531128705)] + if __name__ == '__main__': unittest.main() From 369c851c4ee22520229c86745288f5ca04858c92 Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 10 Jul 2023 17:36:06 -0700 Subject: [PATCH 040/330] Refactored function and parameter names for clarity --- bcipy/helpers/demo/demo_stimuli_generation.py | 18 +- bcipy/helpers/stimuli.py | 103 +++--- bcipy/helpers/tests/test_stimuli.py | 301 ++++++++++-------- bcipy/task/paradigm/matrix/calibration.py | 20 +- .../paradigm/rsvp/calibration/calibration.py | 40 +-- 5 files changed, 264 insertions(+), 218 deletions(-) diff --git a/bcipy/helpers/demo/demo_stimuli_generation.py b/bcipy/helpers/demo/demo_stimuli_generation.py index e947f99ac..0518fb206 100644 --- a/bcipy/helpers/demo/demo_stimuli_generation.py +++ b/bcipy/helpers/demo/demo_stimuli_generation.py @@ -1,4 +1,4 @@ -from bcipy.helpers.stimuli import StimuliOrder, calibration_inquiry_generator, best_case_rsvp_inq_gen +from bcipy.helpers.stimuli import StimuliOrder, generate_calibration_inquiries, best_case_rsvp_inq_gen import numpy as np @@ -13,10 +13,10 @@ def _demo_random_rsvp_inquiry_generator(): len_samples)) print('Alphabet:{}'.format(alp)) - schedule = calibration_inquiry_generator(alp=alp, - stim_number=num_samples, - stim_length=len_samples, - stim_order=StimuliOrder.RANDOM) + schedule = generate_calibration_inquiries(alp=alp, + inquiry_count=num_samples, + stim_per_inquiry=len_samples, + stim_order=StimuliOrder.RANDOM) inquiries = schedule[0] timing = schedule[1] color = schedule[2] @@ -40,10 +40,10 @@ def _demo_alphabetical_rsvp_inquiry_generator(): len_samples)) print('Alphabet:{}'.format(alp)) - schedule = calibration_inquiry_generator(alp=alp, - stim_number=num_samples, - stim_length=len_samples, - stim_order=StimuliOrder.ALPHABETICAL) + schedule = generate_calibration_inquiries(alp=alp, + inquiry_count=num_samples, + stim_per_inquiry=len_samples, + stim_order=StimuliOrder.ALPHABETICAL) inquiries = schedule[0] timing = schedule[1] color = schedule[2] diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index a03b99313..1a2ebbe53 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -3,27 +3,26 @@ import logging import random import re - from abc import ABC, abstractmethod from enum import Enum from os import path, sep -from typing import Iterator, List, Tuple, NamedTuple, Optional +from typing import Iterator, List, NamedTuple, Optional, Tuple + +from PIL import Image from bcipy.helpers.exceptions import BciPyCoreException from bcipy.helpers.list import grouper -from PIL import Image # Prevents pillow from filling the console with debug info logging.getLogger('PIL').setLevel(logging.WARNING) -from psychopy import core +import mne import numpy as np import sounddevice as sd import soundfile as sf from mne import Annotations, Epochs from mne.io import RawArray -import mne - +from psychopy import core log = logging.getLogger(__name__) DEFAULT_FIXATION_PATH = 'bcipy/static/images/main/PLUS.png' @@ -426,8 +425,8 @@ def best_case_rsvp_inq_gen(alp: list, color(list[str]): Task specific color for generator First element is the target, second element is the fixation Observe that [-1] element represents the trial information - stim_number(int): number of random stimuli to be created - stim_length(int): number of trials in a inquiry + inquiry_count(int): number of random stimuli to be created + stim_per_inquiry(int): number of trials in a inquiry stim_order(StimuliOrder): ordering of stimuli in the inquiry inq_constants(list[str]): list of letters that should always be included in every inquiry. If provided, must be alp items. @@ -480,19 +479,18 @@ def best_case_rsvp_inq_gen(alp: list, return InquirySchedule(samples, times, colors) -def calibration_inquiry_generator( +def generate_calibration_inquiries( alp: List[str], - timing: List[float] = [0.5, 1, 0.2], + timing: List[float] = None, jitter: Optional[int] = None, - color: List[str] = ['green', 'red', 'white'], - stim_number: int = 10, - stim_length: int = 10, + color: List[str] = None, + inquiry_count: int = 10, + stim_per_inquiry: int = 10, stim_order: StimuliOrder = StimuliOrder.RANDOM, target_positions: TargetPositions = TargetPositions.RANDOM, - nontarget_inquiries: int = 10, + percentage_without_target: int = 10, is_txt: bool = True) -> InquirySchedule: - """Calibration Inquiry Generator. - + """ Generates inquiries with target letters in all possible positions. Parameters @@ -503,12 +501,12 @@ def calibration_inquiry_generator( jitter(int): jitter for stimuli timing. If None, no jitter is applied. color(list[str]): Task specific color for generator [target, fixation, stimuli] - stim_number(int): number of trials in a inquiry - stim_length(int): number of random stimuli to be created + inquiry_count(int): number of inquiries in a calibration + stim_per_inquiry(int): number of stimuli in each inquiry stim_order(StimuliOrder): ordering of stimuli in the inquiry target_positions(TargetPositions): positioning of targets to select for the inquiries - nontarget_inquiries(int): percentage of inquiries for which target letter flashed is not in inquiry - is_txt(bool): whether or not the stimuli type is text. False would be an image stimuli. + percentage_without_target(int): percentage of inquiries for which target letter flashed is not in inquiry + is_txt(bool): whether the stimuli type is text. False would be an image stimuli. Return ------ @@ -517,24 +515,28 @@ def calibration_inquiry_generator( timing(list[list[float]]): list of timings color(list(list[str])): list of colors)): scheduled inquiries """ + if timing is None: + timing = [0.5, 1, 0.2] + if color is None: + color = ['green', 'red', 'white'] assert len(timing) == 3, "timing must include values for [target, fixation, stimuli]" target_indexes = [] no_target = None - if (target_positions == target_positions.DISTRIBUTED): - target_indexes = distributed_target_positions(stim_number, stim_length, nontarget_inquiries) + if target_positions == TargetPositions.DISTRIBUTED: + target_indexes = distributed_target_positions(inquiry_count, stim_per_inquiry, percentage_without_target) else: # make list of random targets with correct number of non-target inquiries - num_nontarget_inquiry = int((nontarget_inquiries / 100) * stim_number) - num_target_inquiry = stim_number - num_nontarget_inquiry + num_nontarget_inquiry = int((percentage_without_target / 100) * inquiry_count) + num_target_inquiry = inquiry_count - num_nontarget_inquiry target_indexes = [no_target] * num_nontarget_inquiry - target_indexes.extend(random.choices(range(stim_length), k=num_target_inquiry)) + target_indexes.extend(random.choices(range(stim_per_inquiry), k=num_target_inquiry)) random.shuffle(target_indexes) samples, times, colors = [], [], [] - for i in range(stim_number): - inquiry = random.sample(alp, k=stim_length) + for i in range(inquiry_count): + inquiry = random.sample(alp, k=stim_per_inquiry) if stim_order == StimuliOrder.ALPHABETICAL: inquiry = alphabetize(inquiry) @@ -554,13 +556,13 @@ def calibration_inquiry_generator( # pull out timing for the inquiry stimuli stim_time = timing[-1] if jitter: - _inq_timing = jittered_timing(stim_time, jitter, stim_length) + _inq_timing = jittered_timing(stim_time, jitter, stim_per_inquiry) inq_timing = init_timing + _inq_timing else: - inq_timing = init_timing + [stim_time] * stim_length + inq_timing = init_timing + [stim_time] * stim_per_inquiry times.append(inq_timing) colors.append([color[i] for i in range(len(color) - 1)] + - [color[-1]] * stim_length) + [color[-1]] * stim_per_inquiry) return InquirySchedule(samples, times, colors) @@ -575,14 +577,14 @@ def jittered_timing(time: float, jitter: float, stim_count: int) -> List[float]: return np.random.uniform(low=time - jitter, high=time + jitter, size=(stim_count,)).tolist() -def distributed_target_positions(stim_number: int, stim_length: int, nontarget_inquiries: int) -> list: +def distributed_target_positions(inquiry_count: int, stim_per_inquiry: int, percentage_without_target: int) -> list: """Distributed Target Positions. Generates evenly distributed target positions, including target letter not flashed at all, and shuffles them. Args: - stim_number(int): Number of trials in calibration - stim_length(int): Number of stimuli in each inquiry - nontarget_inquiries(int): percentage of inquiries for which target letter flashed is not in inquiry + inquiry_count(int): Number of inquiries in calibration + stim_per_inquiry(int): Number of stimuli in each inquiry + percentage_without_target(int): percentage of inquiries for which target letter flashed is not in inquiry Return distributed_target_positions(list): targets: array of target indexes to be chosen """ @@ -591,21 +593,21 @@ def distributed_target_positions(stim_number: int, stim_length: int, nontarget_i no_target = None # find number of target and nontarget inquiries - num_nontarget_inquiry = int(stim_number * (nontarget_inquiries / 100)) - num_target_inquiry = stim_number - num_nontarget_inquiry + num_nontarget_inquiry = int(inquiry_count * (percentage_without_target / 100)) + num_target_inquiry = inquiry_count - num_nontarget_inquiry # find number each target position is repeated, and remaining number - num_pos = (int)(num_target_inquiry / stim_length) - num_rem_pos = (num_target_inquiry % stim_length) + num_pos = (int)(num_target_inquiry / stim_per_inquiry) + num_rem_pos = (num_target_inquiry % stim_per_inquiry) # add correct number of None's for nontarget inquiries targets = [no_target] * num_nontarget_inquiry # add distributed list of target positions - targets.extend(list(range(stim_length)) * num_pos) + targets.extend(list(range(stim_per_inquiry)) * num_pos) # pick leftover positions randomly - rem_pos = list(range(stim_length)) + rem_pos = list(range(stim_per_inquiry)) random.shuffle(rem_pos) rem_pos = rem_pos[0:num_rem_pos] targets.extend(rem_pos) @@ -615,6 +617,27 @@ def distributed_target_positions(stim_number: int, stim_length: int, nontarget_i return targets +def target_index(inquiry: List[str]) -> int: + """Given an inquiry, return the index of the target within the choices and + None if the target is not included as a choice. + + Parameters + ---------- + inquiry - list of [target, fixation, *choices] + + >>> inquiry = ['T', '+', 'G', 'J', 'K', 'L', 'M', 'Q', 'T', 'V', 'X', '<'] + >>> target_index(inquiry) + 6 + >>> inquiry = ['A', '+', 'G', 'J', 'K', 'L', 'M', 'Q', 'T', 'V', 'X', '<'] + >>> target_index(inquiry) + None + """ + assert len(inquiry) > 3, "Not enough choices" + target, _fixation, *choices = inquiry + try: + return choices.index(target) + except ValueError: + return None def get_task_info(experiment_length: int, task_color: str) -> Tuple[List[str], List[str]]: """Get Task Info. diff --git a/bcipy/helpers/tests/test_stimuli.py b/bcipy/helpers/tests/test_stimuli.py index 829cb5801..bded90fc1 100644 --- a/bcipy/helpers/tests/test_stimuli.py +++ b/bcipy/helpers/tests/test_stimuli.py @@ -1,39 +1,43 @@ +import collections as cnt import glob import unittest - from os import path -from mockito import any, mock, unstub, verify, when -from psychopy import core import numpy as np import sounddevice as sd import soundfile as sf +from mockito import any, mock, unstub, verify, when +from psychopy import core -import collections as cnt from bcipy.helpers.exceptions import BciPyCoreException - -from bcipy.helpers.stimuli import ( - alphabetize, - best_case_rsvp_inq_gen, - best_selection, - calibration_inquiry_generator, - DEFAULT_FIXATION_PATH, - get_fixation, - TrialReshaper, - InquiryReshaper, - jittered_timing, - play_sound, - distributed_target_positions, - soundfiles, - StimuliOrder, - ssvep_to_code, - TargetPositions, - update_inquiry_timing, -) +from bcipy.helpers.stimuli import (DEFAULT_FIXATION_PATH, InquiryReshaper, + StimuliOrder, TargetPositions, + TrialReshaper, alphabetize, + best_case_rsvp_inq_gen, best_selection, + generate_calibration_inquiries, + distributed_target_positions, get_fixation, + jittered_timing, play_sound, soundfiles, + ssvep_to_code, target_index, + update_inquiry_timing) MOCK_FS = 44100 +def is_uniform_distribution(inquiry_count: int, stim_per_inquiry: int, + pct_without_target: int, + counter: cnt.Counter) -> bool: + """Determine if the counts in the provided counter are distributed + uniformly.""" + + count_without_target = (int)(inquiry_count * (pct_without_target / 100)) + target_inquiries = inquiry_count - count_without_target + num_target_inquiries = (int)(target_inquiries / stim_per_inquiry) + + return all( + num_target_inquiries <= counter[i] <= num_target_inquiries + 1 + for i in counter if counter[i] is not None + ) + class TestStimuliGeneration(unittest.TestCase): """This is Test Case for Stimuli Generated via BciPy.""" @@ -47,34 +51,34 @@ def tearDown(self): unstub() def test_calibration_inquiry_generator_with_jitter(self): - stim_number = 10 - stim_length = 10 + inquiry_count = 10 + stim_per_inquiry = 10 stim_timing = [0.5, 1, 2] stim_jitter = 1 max_jitter = stim_timing[-1] + stim_jitter min_jitter = stim_timing[-1] - stim_jitter - inquiries, inq_timings, inq_colors = calibration_inquiry_generator( + inquiries, inq_timings, inq_colors = generate_calibration_inquiries( self.alp, timing=stim_timing, - stim_number=stim_number, - stim_length=stim_length, + inquiry_count=inquiry_count, + stim_per_inquiry=stim_per_inquiry, jitter=stim_jitter) self.assertEqual( - len(inquiries), stim_number, + len(inquiries), inquiry_count, 'Should have produced the correct number of inquiries') - self.assertEqual(len(inq_timings), stim_number) - self.assertEqual(len(inq_colors), stim_number) + self.assertEqual(len(inq_timings), inquiry_count) + self.assertEqual(len(inq_colors), inquiry_count) inq_strings = [] for inq in inquiries: self.assertEqual( - len(inq), stim_length + 2, + len(inq), stim_per_inquiry + 2, ('inquiry should include the correct number of choices as ', 'well as the target and cross.')) choices = inq[2:] - self.assertEqual(stim_length, len(set(choices)), + self.assertEqual(stim_per_inquiry, len(set(choices)), 'All choices should be unique') # create a string of the options @@ -96,28 +100,28 @@ def test_calibration_inquiry_generator_with_jitter(self): def test_calibration_inquiry_generator_random_order(self): """Test generation of random inquiries""" - stim_number = 10 - stim_length = 10 - inquiries, inq_timings, inq_colors = calibration_inquiry_generator( + inquiry_count = 10 + stim_per_inquiry = 10 + inquiries, inq_timings, inq_colors = generate_calibration_inquiries( self.alp, - stim_number=stim_number, - stim_length=stim_length, + inquiry_count=inquiry_count, + stim_per_inquiry=stim_per_inquiry, stim_order=StimuliOrder.RANDOM) self.assertEqual( - len(inquiries), stim_number, + len(inquiries), inquiry_count, 'Should have produced the correct number of inquiries') - self.assertEqual(len(inq_timings), stim_number) - self.assertEqual(len(inq_colors), stim_number) + self.assertEqual(len(inq_timings), inquiry_count) + self.assertEqual(len(inq_colors), inquiry_count) inq_strings = [] for inq in inquiries: self.assertEqual( - len(inq), stim_length + 2, + len(inq), stim_per_inquiry + 2, ('inquiry should include the correct number of choices as ', 'well as the target and cross.')) choices = inq[2:] - self.assertEqual(stim_length, len(set(choices)), + self.assertEqual(stim_per_inquiry, len(set(choices)), 'All choices should be unique') # create a string of the options @@ -129,28 +133,28 @@ def test_calibration_inquiry_generator_random_order(self): def test_calibration_inquiry_generator_alphabetical_order(self): """Test generation of random inquiries""" - stim_number = 10 - stim_length = 10 - inquiries, inq_timings, inq_colors = calibration_inquiry_generator( + inquiry_count = 10 + stim_per_inquiry = 10 + inquiries, inq_timings, inq_colors = generate_calibration_inquiries( self.alp, - stim_number=stim_number, - stim_length=stim_length, + inquiry_count=inquiry_count, + stim_per_inquiry=stim_per_inquiry, stim_order=StimuliOrder.ALPHABETICAL) self.assertEqual( - len(inquiries), stim_number, + len(inquiries), inquiry_count, 'Should have produced the correct number of inquiries') - self.assertEqual(len(inq_timings), stim_number) - self.assertEqual(len(inq_colors), stim_number) + self.assertEqual(len(inq_timings), inquiry_count) + self.assertEqual(len(inq_colors), inquiry_count) inq_strings = [] for inq in inquiries: self.assertEqual( - len(inq), stim_length + 2, + len(inq), stim_per_inquiry + 2, ('inquiry should include the correct number of choices as ', 'well as the target and cross.')) choices = inq[2:] - self.assertEqual(stim_length, len(set(choices)), + self.assertEqual(stim_per_inquiry, len(set(choices)), 'All choices should be unique') self.assertEqual(alphabetize(choices), choices) @@ -161,33 +165,42 @@ def test_calibration_inquiry_generator_alphabetical_order(self): len(inquiries), len(set(inq_strings)), 'All inquiries should be different') + def test_target_index(self): + """Test target_index function""" + inquiry = ['T', '+', 'G', 'J', 'K', 'L', 'M', 'Q', 'T', 'V', 'X', '<'] + self.assertEqual(target_index(inquiry), 6) + + inquiry = ['A', '+', 'G', 'J', 'K', 'L', 'M', 'Q', 'T', 'V', 'X', '<'] + self.assertEqual(target_index(inquiry), None) + + def test_calibration_inquiry_generator_distributed_targets(self): """Test generation of inquiries with distributed target positions""" - stim_number = 10 - stim_length = 10 - nontarget_inquiries = 10 - inquiries, inq_timings, inq_colors = calibration_inquiry_generator( + inquiry_count = 10 + stim_per_inquiry = 10 + percentage_without_target = 10 + inquiries, inq_timings, inq_colors = generate_calibration_inquiries( self.alp, - stim_number=stim_number, - stim_length=stim_length, + inquiry_count=inquiry_count, + stim_per_inquiry=stim_per_inquiry, stim_order=StimuliOrder.RANDOM, target_positions=TargetPositions.DISTRIBUTED, - nontarget_inquiries=nontarget_inquiries) + percentage_without_target=percentage_without_target) self.assertEqual( - len(inquiries), stim_number, + len(inquiries), inquiry_count, 'Should have produced the correct number of inquiries') - self.assertEqual(len(inq_timings), stim_number) - self.assertEqual(len(inq_colors), stim_number) + self.assertEqual(len(inq_timings), inquiry_count) + self.assertEqual(len(inq_colors), inquiry_count) inq_strings = [] for inq in inquiries: self.assertEqual( - len(inq), stim_length + 2, + len(inq), stim_per_inquiry + 2, ('inquiry should include the correct number of choices as ', 'well as the target and cross.')) choices = inq[2:] - self.assertEqual(stim_length, len(set(choices)), + self.assertEqual(stim_per_inquiry, len(set(choices)), 'All choices should be unique') # create a string of the options @@ -197,33 +210,45 @@ def test_calibration_inquiry_generator_distributed_targets(self): len(inquiries), len(set(inq_strings)), 'All inquiries should be different') + # Test distribution + nontarget_inquiry = (int)(inquiry_count * (percentage_without_target / 100)) + target_inquiries = inquiry_count - nontarget_inquiry + num_target_inquiries = (int)(target_inquiries / stim_per_inquiry) + + indices = [target_index(inq) for inq in inquiries] + counter = cnt.Counter(indices) + for i in counter: + self.assertTrue( + num_target_inquiries <= counter[i] <= num_target_inquiries + 1) + + def test_calibration_inquiry_generator_distributed_targets_alphabetical(self): """Test generation of inquiries with distributed target positions""" - stim_number = 10 - stim_length = 10 - nontarget_inquiries = 20 - inquiries, inq_timings, inq_colors = calibration_inquiry_generator( + inquiry_count = 10 + stim_per_inquiry = 10 + percentage_without_target = 20 + inquiries, inq_timings, inq_colors = generate_calibration_inquiries( self.alp, - stim_number=stim_number, - stim_length=stim_length, + inquiry_count=inquiry_count, + stim_per_inquiry=stim_per_inquiry, stim_order=StimuliOrder.ALPHABETICAL, target_positions=TargetPositions.DISTRIBUTED, - nontarget_inquiries=nontarget_inquiries) + percentage_without_target=percentage_without_target) self.assertEqual( - len(inquiries), stim_number, + len(inquiries), inquiry_count, 'Should have produced the correct number of inquiries') - self.assertEqual(len(inq_timings), stim_number) - self.assertEqual(len(inq_colors), stim_number) + self.assertEqual(len(inq_timings), inquiry_count) + self.assertEqual(len(inq_colors), inquiry_count) inq_strings = [] for inq in inquiries: self.assertEqual( - len(inq), stim_length + 2, + len(inq), stim_per_inquiry + 2, ('inquiry should include the correct number of choices as ', 'well as the target and cross.')) choices = inq[2:] - self.assertEqual(stim_length, len(set(choices)), + self.assertEqual(stim_per_inquiry, len(set(choices)), 'All choices should be unique') # create a string of the options @@ -235,31 +260,31 @@ def test_calibration_inquiry_generator_distributed_targets_alphabetical(self): def test_calibration_inquiry_generator_distributed_targets_no_nontargets(self): """Test generation of inquiries with distributed target positions and no nontarget inquiries.""" - stim_number = 10 - stim_length = 10 - nontarget_inquiries = 0 - inquiries, inq_timings, inq_colors = calibration_inquiry_generator( + inquiry_count = 10 + stim_per_inquiry = 10 + percentage_without_target = 0 + inquiries, inq_timings, inq_colors = generate_calibration_inquiries( self.alp, - stim_number=stim_number, - stim_length=stim_length, + inquiry_count=inquiry_count, + stim_per_inquiry=stim_per_inquiry, stim_order=StimuliOrder.RANDOM, target_positions=TargetPositions.DISTRIBUTED, - nontarget_inquiries=nontarget_inquiries) + percentage_without_target=percentage_without_target) self.assertEqual( - len(inquiries), stim_number, + len(inquiries), inquiry_count, 'Should have produced the correct number of inquiries') - self.assertEqual(len(inq_timings), stim_number) - self.assertEqual(len(inq_colors), stim_number) + self.assertEqual(len(inq_timings), inquiry_count) + self.assertEqual(len(inq_colors), inquiry_count) inq_strings = [] for inq in inquiries: self.assertEqual( - len(inq), stim_length + 2, + len(inq), stim_per_inquiry + 2, ('inquiry should include the correct number of choices as ', 'well as the target and cross.')) choices = inq[2:] - self.assertEqual(stim_length, len(set(choices)), + self.assertEqual(stim_per_inquiry, len(set(choices)), 'All choices should be unique') # create a string of the options @@ -269,29 +294,31 @@ def test_calibration_inquiry_generator_distributed_targets_no_nontargets(self): len(inquiries), len(set(inq_strings)), 'All inquiries should be different') + # Ensure all inquiries include the target + for inq in inquiries: + self.assertIsNotNone(target_index(inq)) + def test_calibration_inquiry_generator_distributed_targets_positions(self): """Test generation of distributed target positions with nontarget inquiries.""" - stim_number = 11 - stim_length = 10 - nontarget_inquiries = 10 + inquiry_count = 11 + stim_per_inquiry = 10 + percentage_without_target = 10 - nontarget_inquiry = (int)(stim_number * (nontarget_inquiries / 100)) - target_inquiries = stim_number - nontarget_inquiry - num_target_inquiries = (int)(target_inquiries / stim_length) + nontarget_inquiry = (int)(inquiry_count * (percentage_without_target / 100)) + target_inquiries = inquiry_count - nontarget_inquiry + num_target_inquiries = (int)(target_inquiries / stim_per_inquiry) - targets = distributed_target_positions(stim_number=stim_number, - stim_length=stim_length, - nontarget_inquiries=nontarget_inquiries) + targets = distributed_target_positions(inquiry_count=inquiry_count, + stim_per_inquiry=stim_per_inquiry, + percentage_without_target=percentage_without_target) self.assertEqual( - len(targets), stim_number, + len(targets), inquiry_count, 'Should have produced the correct number of targets for inquiries.') # count how many times each target position is used - count = cnt.Counter() - for pos in targets: - count[pos] += 1 + count = cnt.Counter(targets) # make sure position counts are equally distributed, including non-target for i in count: @@ -300,26 +327,24 @@ def test_calibration_inquiry_generator_distributed_targets_positions(self): def test_calibration_inquiry_generator_distributed_targets_positions_half_nontarget(self): """Test generation of distributed target positions with half being nontarget inquiries.""" - stim_number = 120 - stim_length = 9 - nontarget_inquiries = 50 + inquiry_count = 120 + stim_per_inquiry = 9 + percentage_without_target = 50 - nontarget_inquiry = (int)(stim_number * (nontarget_inquiries / 100)) - target_inquiries = stim_number - nontarget_inquiry - num_target_inquiries = (int)(target_inquiries / stim_length) + nontarget_inquiry = (int)(inquiry_count * (percentage_without_target / 100)) + target_inquiries = inquiry_count - nontarget_inquiry + num_target_inquiries = (int)(target_inquiries / stim_per_inquiry) - targets = distributed_target_positions(stim_number=stim_number, - stim_length=stim_length, - nontarget_inquiries=nontarget_inquiries) + targets = distributed_target_positions(inquiry_count=inquiry_count, + stim_per_inquiry=stim_per_inquiry, + percentage_without_target=percentage_without_target) self.assertEqual( - len(targets), stim_number, + len(targets), inquiry_count, 'Should have produced the correct number of targets for inquiries.') # count how many times each target position is used - count = cnt.Counter() - for pos in targets: - count[pos] += 1 + count = cnt.Counter(targets) # make sure target position counts are equally distributed for i in count: @@ -333,26 +358,24 @@ def test_calibration_inquiry_generator_distributed_targets_positions_half_nontar def test_calibration_inquiry_generator_distributed_targets_positions_no_nontargets(self): """Test generation of distributed target positions with no nontarget inquiries.""" - stim_number = 50 - stim_length = 11 - nontarget_inquiries = 0 + inquiry_count = 50 + stim_per_inquiry = 11 + percentage_without_target = 0 - nontarget_inquiry = (int)(stim_number * (nontarget_inquiries / 100)) - target_inquiries = stim_number - nontarget_inquiry - num_target_inquiries = (int)(target_inquiries / stim_length) + nontarget_inquiry = (int)(inquiry_count * (percentage_without_target / 100)) + target_inquiries = inquiry_count - nontarget_inquiry + num_target_inquiries = (int)(target_inquiries / stim_per_inquiry) - targets = distributed_target_positions(stim_number=stim_number, - stim_length=stim_length, - nontarget_inquiries=nontarget_inquiries) + targets = distributed_target_positions(inquiry_count=inquiry_count, + stim_per_inquiry=stim_per_inquiry, + percentage_without_target=percentage_without_target) self.assertEqual( - len(targets), stim_number, + len(targets), inquiry_count, 'Should have produced the correct number of targets for inquiries.') # count how many times each target position is used - count = cnt.Counter() - for pos in targets: - count[pos] += 1 + count = cnt.Counter(targets) # make sure target position counts are equally distributed for i in count: @@ -366,21 +389,21 @@ def test_calibration_inquiry_generator_distributed_targets_positions_no_nontarge def test_calibration_inquiry_generator_distributed_targets_all_nontargets(self): """Test generation of distributed target positions with all inquiries being non-target.""" - stim_number = 100 - stim_length = 6 - nontarget_inquiries = 100 + inquiry_count = 100 + stim_per_inquiry = 6 + percentage_without_target = 100 - nontarget_inquiry = (int)(stim_number * (nontarget_inquiries / 100)) - target_inquiries = stim_number - nontarget_inquiry - num_target_inquiries = (int)(target_inquiries / stim_length) + nontarget_inquiry = (int)(inquiry_count * (percentage_without_target / 100)) + target_inquiries = inquiry_count - nontarget_inquiry + num_target_inquiries = (int)(target_inquiries / stim_per_inquiry) targets = distributed_target_positions( - stim_number=stim_number, - stim_length=stim_length, - nontarget_inquiries=nontarget_inquiries) + inquiry_count=inquiry_count, + stim_per_inquiry=stim_per_inquiry, + percentage_without_target=percentage_without_target) self.assertEqual( - len(targets), stim_number, + len(targets), inquiry_count, 'Should have produced the correct number of targets for inquiries.') # count how many times each target position is used @@ -394,7 +417,7 @@ def test_calibration_inquiry_generator_distributed_targets_all_nontargets(self): self.assertTrue(num_target_inquiries <= count[i] <= num_target_inquiries + 1) # make sure all inquries are non-target inquiries - self.assertEqual(count[None], stim_number, + self.assertEqual(count[None], inquiry_count, 'Should have produced all non-target positions.') def test_best_selection(self): diff --git a/bcipy/task/paradigm/matrix/calibration.py b/bcipy/task/paradigm/matrix/calibration.py index c4236ef24..ecc21d986 100644 --- a/bcipy/task/paradigm/matrix/calibration.py +++ b/bcipy/task/paradigm/matrix/calibration.py @@ -7,15 +7,15 @@ from bcipy.display.components.task_bar import CalibrationTaskBar from bcipy.display.paradigm.matrix.display import MatrixDisplay from bcipy.helpers.clock import Clock -from bcipy.helpers.stimuli import (DEFAULT_TEXT_FIXATION, StimuliOrder, - TargetPositions, - calibration_inquiry_generator, - InquirySchedule) +from bcipy.helpers.stimuli import (DEFAULT_TEXT_FIXATION, InquirySchedule, + StimuliOrder, TargetPositions, + generate_calibration_inquiries) +from bcipy.helpers.symbols import alphabet from bcipy.helpers.task import (get_user_input, pause_calibration, trial_complete_message) -from bcipy.helpers.triggers import TriggerHandler, TriggerType, Trigger, FlushFrequency, convert_timing_triggers +from bcipy.helpers.triggers import (FlushFrequency, Trigger, TriggerHandler, + TriggerType, convert_timing_triggers) from bcipy.task import Task -from bcipy.helpers.symbols import alphabet class MatrixCalibrationTask(Task): @@ -96,14 +96,14 @@ def generate_stimuli(self) -> InquirySchedule: timing(list[list[float]]): list of timings color(list(list[str])): list of colors) """ - return calibration_inquiry_generator( + return generate_calibration_inquiries( self.symbol_set, - stim_number=self.stim_number, - stim_length=self.stim_length, + inquiry_count=self.stim_number, + stim_per_inquiry=self.stim_length, stim_order=self.stim_order, jitter=self.jitter, target_positions=self.target_positions, - nontarget_inquiries=self.nontarget_inquiries, + percentage_without_target=self.nontarget_inquiries, timing=self.timing, color=self.color) diff --git a/bcipy/task/paradigm/rsvp/calibration/calibration.py b/bcipy/task/paradigm/rsvp/calibration/calibration.py index cd4538e59..6152bf873 100644 --- a/bcipy/task/paradigm/rsvp/calibration/calibration.py +++ b/bcipy/task/paradigm/rsvp/calibration/calibration.py @@ -1,20 +1,20 @@ -from psychopy import core from typing import List, Tuple +from psychopy import core + from bcipy.config import TRIGGER_FILENAME, WAIT_SCREEN_MESSAGE -from bcipy.display import ( - InformationProperties, - PreviewInquiryProperties, - StimuliProperties) -from bcipy.display.paradigm.rsvp.mode.calibration import CalibrationDisplay +from bcipy.display import (InformationProperties, PreviewInquiryProperties, + StimuliProperties) from bcipy.display.components.task_bar import CalibrationTaskBar +from bcipy.display.paradigm.rsvp.mode.calibration import CalibrationDisplay from bcipy.helpers.clock import Clock - -from bcipy.helpers.stimuli import (StimuliOrder, TargetPositions, calibration_inquiry_generator) +from bcipy.helpers.stimuli import (StimuliOrder, TargetPositions, + generate_calibration_inquiries) +from bcipy.helpers.symbols import alphabet from bcipy.helpers.task import (get_user_input, pause_calibration, trial_complete_message) -from bcipy.helpers.symbols import alphabet -from bcipy.helpers.triggers import FlushFrequency, TriggerHandler, Trigger, TriggerType, convert_timing_triggers +from bcipy.helpers.triggers import (FlushFrequency, Trigger, TriggerHandler, + TriggerType, convert_timing_triggers) from bcipy.task import Task @@ -91,16 +91,16 @@ def generate_stimuli(self): timing(list[list[float]]): list of timings color(list(list[str])): list of colors) """ - return calibration_inquiry_generator(self.alp, - stim_number=self.stim_number, - stim_length=self.stim_length, - stim_order=self.stim_order, - target_positions=self.target_positions, - nontarget_inquiries=self.nontarget_inquiries, - timing=self.timing, - jitter=self.jitter, - is_txt=self.rsvp.is_txt_stim, - color=self.color) + return generate_calibration_inquiries(self.alp, + inquiry_count=self.stim_number, + stim_per_inquiry=self.stim_length, + stim_order=self.stim_order, + target_positions=self.target_positions, + percentage_without_target=self.nontarget_inquiries, + timing=self.timing, + jitter=self.jitter, + is_txt=self.rsvp.is_txt_stim, + color=self.color) def trigger_type(self, symbol: str, target: str, index: int) -> TriggerType: """Trigger Type. From 023f8884400f39d3584414e4a8a7cb45fd8782bf Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 11 Jul 2023 17:43:25 -0700 Subject: [PATCH 041/330] Factored out test_stimuli to use a function for testing for uniform distribution. Factored out calculation of random_target_positions into its own function which could be thoroughly tested. Added unit tests for new function --- bcipy/helpers/stimuli.py | 46 ++- bcipy/helpers/tests/test_stimuli.py | 450 +++++++++++++++++----------- 2 files changed, 306 insertions(+), 190 deletions(-) diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 1a2ebbe53..855707703 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -478,6 +478,7 @@ def best_case_rsvp_inq_gen(alp: list, [color[-1]] * stim_length) return InquirySchedule(samples, times, colors) +NO_TARGET_INDEX = None def generate_calibration_inquiries( alp: List[str], @@ -520,18 +521,15 @@ def generate_calibration_inquiries( if color is None: color = ['green', 'red', 'white'] assert len(timing) == 3, "timing must include values for [target, fixation, stimuli]" - target_indexes = [] - no_target = None + target_indexes = [] if target_positions == TargetPositions.DISTRIBUTED: - target_indexes = distributed_target_positions(inquiry_count, stim_per_inquiry, percentage_without_target) + target_indexes = distributed_target_positions( + inquiry_count, stim_per_inquiry, percentage_without_target) else: - # make list of random targets with correct number of non-target inquiries - num_nontarget_inquiry = int((percentage_without_target / 100) * inquiry_count) - num_target_inquiry = inquiry_count - num_nontarget_inquiry - target_indexes = [no_target] * num_nontarget_inquiry - target_indexes.extend(random.choices(range(stim_per_inquiry), k=num_target_inquiry)) - random.shuffle(target_indexes) + target_indexes = random_target_positions(inquiry_count, + stim_per_inquiry, + percentage_without_target) samples, times, colors = [], [], [] @@ -542,13 +540,12 @@ def generate_calibration_inquiries( inquiry = alphabetize(inquiry) target_index = target_indexes[i] - if target_index is no_target: + if target_index is NO_TARGET_INDEX: target = random.choice(list(set(alp) - set(inquiry))) else: target = inquiry[target_index] sample = [target, get_fixation(is_txt=is_txt), *inquiry] - samples.append(sample) # timing for fixation and prompt @@ -590,7 +587,6 @@ def distributed_target_positions(inquiry_count: int, stim_per_inquiry: int, perc """ targets = [] - no_target = None # find number of target and nontarget inquiries num_nontarget_inquiry = int(inquiry_count * (percentage_without_target / 100)) @@ -601,7 +597,7 @@ def distributed_target_positions(inquiry_count: int, stim_per_inquiry: int, perc num_rem_pos = (num_target_inquiry % stim_per_inquiry) # add correct number of None's for nontarget inquiries - targets = [no_target] * num_nontarget_inquiry + targets = [NO_TARGET_INDEX] * num_nontarget_inquiry # add distributed list of target positions targets.extend(list(range(stim_per_inquiry)) * num_pos) @@ -617,6 +613,30 @@ def distributed_target_positions(inquiry_count: int, stim_per_inquiry: int, perc return targets + +def random_target_positions(inquiry_count: int, stim_per_inquiry: int, + percentage_without_target: int) -> list: + """Generates randomly distributed target positions, including target letter + not flashed at all, and shuffles them. + + Args: + inquiry_count(int): Number of inquiries in calibration + stim_per_inquiry(int): Number of stimuli in each inquiry + percentage_without_target(int): percentage of inquiries for which + target letter flashed is not in inquiry + + Return list of target indexes to be chosen + """ + target_indexes = [] + num_nontarget_inquiry = int( + (percentage_without_target / 100) * inquiry_count) + num_target_inquiry = inquiry_count - num_nontarget_inquiry + target_indexes = [NO_TARGET_INDEX] * num_nontarget_inquiry + target_indexes.extend( + random.choices(range(stim_per_inquiry), k=num_target_inquiry)) + random.shuffle(target_indexes) + return target_indexes + def target_index(inquiry: List[str]) -> int: """Given an inquiry, return the index of the target within the choices and None if the target is not included as a choice. diff --git a/bcipy/helpers/tests/test_stimuli.py b/bcipy/helpers/tests/test_stimuli.py index bded90fc1..c37e658c5 100644 --- a/bcipy/helpers/tests/test_stimuli.py +++ b/bcipy/helpers/tests/test_stimuli.py @@ -1,6 +1,6 @@ -import collections as cnt import glob import unittest +from collections import Counter from os import path import numpy as np @@ -14,9 +14,10 @@ StimuliOrder, TargetPositions, TrialReshaper, alphabetize, best_case_rsvp_inq_gen, best_selection, + distributed_target_positions, generate_calibration_inquiries, - distributed_target_positions, get_fixation, - jittered_timing, play_sound, soundfiles, + get_fixation, jittered_timing, play_sound, + random_target_positions, soundfiles, ssvep_to_code, target_index, update_inquiry_timing) @@ -24,27 +25,27 @@ def is_uniform_distribution(inquiry_count: int, stim_per_inquiry: int, - pct_without_target: int, - counter: cnt.Counter) -> bool: + percentage_without_target: int, + counter: Counter) -> bool: """Determine if the counts in the provided counter are distributed uniformly.""" - count_without_target = (int)(inquiry_count * (pct_without_target / 100)) - target_inquiries = inquiry_count - count_without_target - num_target_inquiries = (int)(target_inquiries / stim_per_inquiry) + nontarget_inquiries = (int)(inquiry_count * + (percentage_without_target / 100)) + target_inquiries = inquiry_count - nontarget_inquiries + expected_targets_per_position = (int)(target_inquiries / stim_per_inquiry) + + return all(expected_targets_per_position <= counter[pos] <= + expected_targets_per_position + 1 for pos in counter + if pos is not None) - return all( - num_target_inquiries <= counter[i] <= num_target_inquiries + 1 - for i in counter if counter[i] is not None - ) class TestStimuliGeneration(unittest.TestCase): """This is Test Case for Stimuli Generated via BciPy.""" alp = [ - 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', - 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', - '<', '_' + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', + 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '<', '_' ] def tearDown(self): @@ -88,15 +89,15 @@ def test_calibration_inquiry_generator_with_jitter(self): for j in inq_timings: inq_timing = j[2:] # remove the target presentaion and cross for inq_time in inq_timing: - self.assertTrue(min_jitter <= inq_time <= max_jitter, - 'Timing should be jittered and within the correct range') + self.assertTrue( + min_jitter <= inq_time <= max_jitter, + 'Timing should be jittered and within the correct range') self.assertTrue( len(set(inq_timing)) > 1, 'All choices should be unique') - self.assertEqual( - len(inquiries), len(set(inq_strings)), - 'All inquiries should be different') + self.assertEqual(len(inquiries), len(set(inq_strings)), + 'All inquiries should be different') def test_calibration_inquiry_generator_random_order(self): """Test generation of random inquiries""" @@ -127,9 +128,8 @@ def test_calibration_inquiry_generator_random_order(self): # create a string of the options inq_strings.append(''.join(choices)) - self.assertEqual( - len(inquiries), len(set(inq_strings)), - 'All inquiries should be different') + self.assertEqual(len(inquiries), len(set(inq_strings)), + 'All inquiries should be different') def test_calibration_inquiry_generator_alphabetical_order(self): """Test generation of random inquiries""" @@ -161,9 +161,8 @@ def test_calibration_inquiry_generator_alphabetical_order(self): # create a string of the options inq_strings.append(''.join(choices)) - self.assertEqual( - len(inquiries), len(set(inq_strings)), - 'All inquiries should be different') + self.assertEqual(len(inquiries), len(set(inq_strings)), + 'All inquiries should be different') def test_target_index(self): """Test target_index function""" @@ -173,10 +172,9 @@ def test_target_index(self): inquiry = ['A', '+', 'G', 'J', 'K', 'L', 'M', 'Q', 'T', 'V', 'X', '<'] self.assertEqual(target_index(inquiry), None) - def test_calibration_inquiry_generator_distributed_targets(self): """Test generation of inquiries with distributed target positions""" - inquiry_count = 10 + inquiry_count = 100 stim_per_inquiry = 10 percentage_without_target = 10 inquiries, inq_timings, inq_colors = generate_calibration_inquiries( @@ -206,25 +204,19 @@ def test_calibration_inquiry_generator_distributed_targets(self): # create a string of the options inq_strings.append(''.join(choices)) - self.assertEqual( - len(inquiries), len(set(inq_strings)), - 'All inquiries should be different') + self.assertEqual(len(inquiries), len(set(inq_strings)), + 'All inquiries should be different') # Test distribution - nontarget_inquiry = (int)(inquiry_count * (percentage_without_target / 100)) - target_inquiries = inquiry_count - nontarget_inquiry - num_target_inquiries = (int)(target_inquiries / stim_per_inquiry) - - indices = [target_index(inq) for inq in inquiries] - counter = cnt.Counter(indices) - for i in counter: - self.assertTrue( - num_target_inquiries <= counter[i] <= num_target_inquiries + 1) + counter = Counter(target_index(inq) for inq in inquiries) + self.assertTrue( + is_uniform_distribution(inquiry_count, stim_per_inquiry, + percentage_without_target, counter)) - - def test_calibration_inquiry_generator_distributed_targets_alphabetical(self): + def test_calibration_inquiry_generator_distributed_targets_alphabetical( + self): """Test generation of inquiries with distributed target positions""" - inquiry_count = 10 + inquiry_count = 100 stim_per_inquiry = 10 percentage_without_target = 20 inquiries, inq_timings, inq_colors = generate_calibration_inquiries( @@ -254,13 +246,13 @@ def test_calibration_inquiry_generator_distributed_targets_alphabetical(self): # create a string of the options inq_strings.append(''.join(choices)) - self.assertEqual( - len(inquiries), len(set(inq_strings)), - 'All inquiries should be different') + self.assertEqual(len(inquiries), len(set(inq_strings)), + 'All inquiries should be different') - def test_calibration_inquiry_generator_distributed_targets_no_nontargets(self): + def test_calibration_inquiry_generator_distributed_targets_no_nontargets( + self): """Test generation of inquiries with distributed target positions and no nontarget inquiries.""" - inquiry_count = 10 + inquiry_count = 100 stim_per_inquiry = 10 percentage_without_target = 0 inquiries, inq_timings, inq_colors = generate_calibration_inquiries( @@ -290,9 +282,8 @@ def test_calibration_inquiry_generator_distributed_targets_no_nontargets(self): # create a string of the options inq_strings.append(''.join(choices)) - self.assertEqual( - len(inquiries), len(set(inq_strings)), - 'All inquiries should be different') + self.assertEqual(len(inquiries), len(set(inq_strings)), + 'All inquiries should be different') # Ensure all inquiries include the target for inq in inquiries: @@ -305,119 +296,204 @@ def test_calibration_inquiry_generator_distributed_targets_positions(self): stim_per_inquiry = 10 percentage_without_target = 10 - nontarget_inquiry = (int)(inquiry_count * (percentage_without_target / 100)) - target_inquiries = inquiry_count - nontarget_inquiry - num_target_inquiries = (int)(target_inquiries / stim_per_inquiry) - - targets = distributed_target_positions(inquiry_count=inquiry_count, - stim_per_inquiry=stim_per_inquiry, - percentage_without_target=percentage_without_target) + target_positions = distributed_target_positions( + inquiry_count=inquiry_count, + stim_per_inquiry=stim_per_inquiry, + percentage_without_target=percentage_without_target) self.assertEqual( - len(targets), inquiry_count, - 'Should have produced the correct number of targets for inquiries.') - - # count how many times each target position is used - count = cnt.Counter(targets) + len(target_positions), inquiry_count, + 'Should have produced the correct number of target_positions for inquiries.' + ) - # make sure position counts are equally distributed, including non-target - for i in count: - self.assertTrue(num_target_inquiries <= count[i] <= num_target_inquiries + 1) + self.assertTrue( + is_uniform_distribution(inquiry_count, stim_per_inquiry, + percentage_without_target, + Counter(target_positions))) - def test_calibration_inquiry_generator_distributed_targets_positions_half_nontarget(self): + def test_calibration_inquiry_generator_distributed_targets_positions_half_nontarget( + self): """Test generation of distributed target positions with half being nontarget inquiries.""" inquiry_count = 120 stim_per_inquiry = 9 percentage_without_target = 50 - nontarget_inquiry = (int)(inquiry_count * (percentage_without_target / 100)) - target_inquiries = inquiry_count - nontarget_inquiry - num_target_inquiries = (int)(target_inquiries / stim_per_inquiry) + nontarget_inquiries = (int)(inquiry_count * + (percentage_without_target / 100)) - targets = distributed_target_positions(inquiry_count=inquiry_count, - stim_per_inquiry=stim_per_inquiry, - percentage_without_target=percentage_without_target) + target_positions = distributed_target_positions( + inquiry_count=inquiry_count, + stim_per_inquiry=stim_per_inquiry, + percentage_without_target=percentage_without_target) self.assertEqual( - len(targets), inquiry_count, - 'Should have produced the correct number of targets for inquiries.') - + len(target_positions), inquiry_count, + 'Should have produced the correct number of target_positions for inquiries.' + ) # count how many times each target position is used - count = cnt.Counter(targets) - - # make sure target position counts are equally distributed - for i in count: - if i is not None: - self.assertTrue(num_target_inquiries <= count[i] <= num_target_inquiries + 1) + counter = Counter(target_positions) # make sure correct number of non-target inquiries - self.assertEqual(count[None], nontarget_inquiry, - 'Should have produced 50 percent of 120 non-target positions.') + self.assertEqual( + counter[None], nontarget_inquiries, + 'Should have produced 50 percent of 120 non-target positions.') - def test_calibration_inquiry_generator_distributed_targets_positions_no_nontargets(self): + self.assertTrue( + is_uniform_distribution(inquiry_count, stim_per_inquiry, + percentage_without_target, counter)) + + def test_calibration_inquiry_generator_distributed_targets_positions_no_nontargets( + self): """Test generation of distributed target positions with no nontarget inquiries.""" inquiry_count = 50 stim_per_inquiry = 11 percentage_without_target = 0 - nontarget_inquiry = (int)(inquiry_count * (percentage_without_target / 100)) - target_inquiries = inquiry_count - nontarget_inquiry - num_target_inquiries = (int)(target_inquiries / stim_per_inquiry) - - targets = distributed_target_positions(inquiry_count=inquiry_count, - stim_per_inquiry=stim_per_inquiry, - percentage_without_target=percentage_without_target) + target_positions = distributed_target_positions( + inquiry_count=inquiry_count, + stim_per_inquiry=stim_per_inquiry, + percentage_without_target=percentage_without_target) self.assertEqual( - len(targets), inquiry_count, - 'Should have produced the correct number of targets for inquiries.') + len(target_positions), inquiry_count, + 'Should have produced the correct number of target_positions for inquiries.' + ) # count how many times each target position is used - count = cnt.Counter(targets) + counter = Counter(target_positions) - # make sure target position counts are equally distributed - for i in count: - if i is not None: - self.assertTrue(num_target_inquiries <= count[i] <= num_target_inquiries + 1) + self.assertTrue( + is_uniform_distribution(inquiry_count, stim_per_inquiry, + percentage_without_target, counter)) # make sure there are no non-target inquiries - self.assertEqual(count[None], 0, + self.assertEqual(counter[None], 0, 'Should have produced no non-target positions.') - def test_calibration_inquiry_generator_distributed_targets_all_nontargets(self): + def test_calibration_inquiry_generator_distributed_targets_all_nontargets( + self): """Test generation of distributed target positions with all inquiries being non-target.""" inquiry_count = 100 stim_per_inquiry = 6 percentage_without_target = 100 - nontarget_inquiry = (int)(inquiry_count * (percentage_without_target / 100)) - target_inquiries = inquiry_count - nontarget_inquiry - num_target_inquiries = (int)(target_inquiries / stim_per_inquiry) + target_positions = distributed_target_positions( + inquiry_count=inquiry_count, + stim_per_inquiry=stim_per_inquiry, + percentage_without_target=percentage_without_target) + + self.assertEqual( + len(target_positions), inquiry_count, + 'Should have produced the correct number of target_positions for inquiries.' + ) + + # count how many times each target position is used + counter = Counter(target_positions) + + self.assertTrue( + is_uniform_distribution(inquiry_count, stim_per_inquiry, + percentage_without_target, counter)) + + # make sure all inquries are non-target inquiries + self.assertEqual(counter[None], inquiry_count, + 'Should have produced all non-target positions.') - targets = distributed_target_positions( + def test_random_target_positions(self): + """Test generation of random target positions with nontarget inquiries.""" + + inquiry_count = 100 + stim_per_inquiry = 10 + percentage_without_target = 10 + + target_positions = random_target_positions( + inquiry_count=inquiry_count, + stim_per_inquiry=stim_per_inquiry, + percentage_without_target=percentage_without_target) + + self.assertEqual( + len(target_positions), inquiry_count, + 'Should have produced the correct number of target_positions for inquiries.' + ) + counter = Counter(target_positions) + print(counter) + self.assertFalse( + is_uniform_distribution(inquiry_count, stim_per_inquiry, + percentage_without_target, + counter)) + + def test_random_target_positions_half_nontarget(self): + """Test generation of random target positions with half being nontarget inquiries.""" + + inquiry_count = 120 + stim_per_inquiry = 9 + percentage_without_target = 50 + + target_positions = random_target_positions( + inquiry_count=inquiry_count, + stim_per_inquiry=stim_per_inquiry, + percentage_without_target=percentage_without_target) + + self.assertEqual( + len(target_positions), inquiry_count, + 'Should have produced the correct number of target_positions for inquiries.' + ) + # count how many times each target position is used + counter = Counter(target_positions) + + # make sure correct number of non-target inquiries + self.assertEqual( + counter[None], 60, + 'Should have produced 50 percent of 120 non-target positions.') + + self.assertFalse( + is_uniform_distribution(inquiry_count, stim_per_inquiry, + percentage_without_target, counter)) + + def test_random_target_positions_no_nontargets(self): + """Test generation of random target positions with no nontarget inquiries.""" + + inquiry_count = 50 + stim_per_inquiry = 11 + percentage_without_target = 0 + + target_positions = random_target_positions( inquiry_count=inquiry_count, stim_per_inquiry=stim_per_inquiry, percentage_without_target=percentage_without_target) self.assertEqual( - len(targets), inquiry_count, - 'Should have produced the correct number of targets for inquiries.') + len(target_positions), inquiry_count, + 'Should have produced the correct number of target_positions for inquiries.' + ) # count how many times each target position is used - count = cnt.Counter() - for pos in targets: - count[pos] += 1 + counter = Counter(target_positions) + + self.assertFalse( + is_uniform_distribution(inquiry_count, stim_per_inquiry, + percentage_without_target, counter)) - # make sure target position counts are equally distributed - for i in count: - if i is not None: - self.assertTrue(num_target_inquiries <= count[i] <= num_target_inquiries + 1) + # make sure there are no non-target inquiries + self.assertEqual(counter[None], 0, + 'Should have produced no non-target positions.') + + def test_random_target_positions_all_nontargets(self): + """Test generation of random target positions with all inquiries being non-target.""" + inquiry_count = 100 + + target_positions = random_target_positions( + inquiry_count=inquiry_count, + stim_per_inquiry=6, + percentage_without_target=100) + + # count how many times each target position is used + counter = Counter(target_positions) # make sure all inquries are non-target inquiries - self.assertEqual(count[None], inquiry_count, + self.assertEqual(counter[None], inquiry_count, 'Should have produced all non-target positions.') def test_best_selection(self): @@ -439,20 +515,18 @@ def test_best_selection(self): # Test always included self.assertEqual( ['a', 'c', 'd'], - best_selection( - selection_elements=['a', 'b', 'c', 'd', 'e'], - val=[0.3, 0.1, 0.3, 0.1, 0.2], - len_query=3, - always_included=['d']), + best_selection(selection_elements=['a', 'b', 'c', 'd', 'e'], + val=[0.3, 0.1, 0.3, 0.1, 0.2], + len_query=3, + always_included=['d']), 'Included item should bump out the best item with the lowest val.') self.assertEqual( ['a', 'b', 'c'], - best_selection( - selection_elements=['a', 'b', 'c', 'd', 'e'], - val=[0.5, 0.4, 0.1, 0.0, 0.0], - len_query=3, - always_included=['b']), + best_selection(selection_elements=['a', 'b', 'c', 'd', 'e'], + val=[0.5, 0.4, 0.1, 0.0, 0.0], + len_query=3, + always_included=['b']), 'Included item should retain its position if already present') self.assertEqual(['a', 'b', 'e'], @@ -473,11 +547,11 @@ def test_best_selection(self): self.assertEqual(['a', 'b', 'c'], best_selection( - selection_elements=['a', 'b', 'c', 'd', 'e'], - val=[0.5, 0.4, 0.1, 0.0, 0.0], - len_query=3, - always_included=['<']), - 'should ignore items not in the set.') + selection_elements=['a', 'b', 'c', 'd', 'e'], + val=[0.5, 0.4, 0.1, 0.0, 0.0], + len_query=3, + always_included=['<']), + 'should ignore items not in the set.') def test_best_case_inquiry_gen(self): """Test best_case_rsvp_inq_gen""" @@ -513,8 +587,8 @@ def test_best_case_inquiry_gen_with_inq_constants(self): alp = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] n = 5 - with self.assertRaises( - Exception, msg='Constants should be in the alphabet'): + with self.assertRaises(Exception, + msg='Constants should be in the alphabet'): best_case_rsvp_inq_gen( alp=alp, session_stimuli=[0.1, 0.1, 0.1, 0.2, 0.2, 0.1, 0.2], @@ -570,13 +644,15 @@ def test_jittered_timing_with_jitter_within_defined_limits(self): for r in resp: self.assertTrue(min_jitter <= r <= max_jitter) - def test_jittered_timing_throw_exception_when_jitter_greater_than_time(self): + def test_jittered_timing_throw_exception_when_jitter_greater_than_time( + self): # to prevent 0 values we prevent the jitter from being greater than the time time = 1 jitter = 1.5 stim_number = 100 - with self.assertRaises(Exception, msg='Jitter should be less than stimuli time'): + with self.assertRaises(Exception, + msg='Jitter should be less than stimuli time'): jittered_timing(time, jitter, stim_number) @@ -618,6 +694,7 @@ def test_alphabetize_special_characters_at_end(self): class TestTrialReshaper(unittest.TestCase): + def setUp(self): self.target_info = ['target', 'nontarget', 'nontarget'] self.timing_info = [1.001, 1.2001, 1.4001] @@ -640,7 +717,8 @@ def test_trial_reshaper(self): channel_map=self.channel_map, poststimulus_length=trial_length_s) trial_length_samples = int(sample_rate * trial_length_s) - expected_shape = (self.channel_number, len(self.target_info), trial_length_samples) + expected_shape = (self.channel_number, len(self.target_info), + trial_length_samples) self.assertTrue(np.all(labels == [1, 0, 0])) self.assertTrue(reshaped_trials.shape == expected_shape) @@ -654,27 +732,40 @@ def setUp(self): self.n_inquiry = 4 self.sample_rate = 10 self.target_info = [ - "target", "nontarget", "nontarget", - "nontarget", "nontarget", "nontarget", - "nontarget", "target", "nontarget", - "nontarget", "nontarget", "target", + "target", + "nontarget", + "nontarget", + "nontarget", + "nontarget", + "nontarget", + "nontarget", + "target", + "nontarget", + "nontarget", + "nontarget", + "target", ] - self.true_labels = np.array([ - [1, 0, 0], - [0, 0, 0], - [0, 1, 0], - [0, 0, 1] - ]) + self.true_labels = np.array([[1, 0, 0], [0, 0, 0], [0, 1, 0], + [0, 0, 1]]) self.timing_info = [ - 1.4, 2.4, 3.4, - 28.1, 30.1, 38.1, - 50.1, 51.1, 52.1, - 80.1, 81.1, 82.1, + 1.4, + 2.4, + 3.4, + 28.1, + 30.1, + 38.1, + 50.1, + 51.1, + 52.1, + 80.1, + 81.1, + 82.1, ] # Note this value must be greater than the difference between first and last timing info per inquiry # In this case there are 3 trials per inquiry and the difference between the first and last timing info is 10s self.inquiry_duration_s = 10 + self.trial_length - self.samples_per_inquiry = int(self.sample_rate * self.inquiry_duration_s) + self.samples_per_inquiry = int(self.sample_rate * + self.inquiry_duration_s) self.samples_per_trial = int(self.sample_rate * self.trial_length) # We create a wealth of samples, but only use the first 4 inquiries worth self.eeg = np.random.randn(self.n_channel, 10000) @@ -690,27 +781,32 @@ def test_inquiry_reshaper(self): channel_map=self.channel_map, poststimulus_length=self.trial_length, ) - expected_shape = (self.n_channel, self.n_inquiry, self.samples_per_inquiry) + expected_shape = (self.n_channel, self.n_inquiry, + self.samples_per_inquiry) self.assertTrue(reshaped_data.shape == expected_shape) self.assertTrue(np.all(labels == self.true_labels)) def test_inquiry_reshaper_trial_extraction(self): timing = [[1, 3, 4], [1, 4, 5], [1, 2, 3], [4, 5, 6]] # make a fake eeg data array (n_channels, n_inquiry, n_samples) - inquiries = np.random.randn(self.n_channel, self.n_inquiry, self.samples_per_inquiry) + inquiries = np.random.randn(self.n_channel, self.n_inquiry, + self.samples_per_inquiry) response = InquiryReshaper().extract_trials( inquiries=inquiries, samples_per_trial=self.samples_per_trial, inquiry_timing=timing, ) - expected_shape = (self.n_channel, (self.trials_per_inquiry * self.n_inquiry), self.samples_per_trial) + expected_shape = (self.n_channel, + (self.trials_per_inquiry * self.n_inquiry), + self.samples_per_trial) self.assertTrue(response.shape == expected_shape) def test_inquiry_reshaper_trial_extraction_with_prestimulus(self): timing = [[2, 7, 10], [2, 7, 15], [2, 12, 15], [4, 5, 6]] # make a fake eeg data array (n_channels, n_inquiry, n_samples) - inquiries = np.random.randn(self.n_channel, self.n_inquiry, self.samples_per_inquiry) + inquiries = np.random.randn(self.n_channel, self.n_inquiry, + self.samples_per_inquiry) prestimulus_samples = 1 response = InquiryReshaper().extract_trials( inquiries=inquiries, @@ -718,10 +814,9 @@ def test_inquiry_reshaper_trial_extraction_with_prestimulus(self): inquiry_timing=timing, prestimulus_samples=prestimulus_samples, ) - expected_shape = ( - self.n_channel, - (self.trials_per_inquiry * self.n_inquiry), - (self.samples_per_trial + prestimulus_samples)) + expected_shape = (self.n_channel, + (self.trials_per_inquiry * self.n_inquiry), + (self.samples_per_trial + prestimulus_samples)) self.assertTrue(response.shape == expected_shape) @@ -758,19 +853,22 @@ def test_default_flicker_and_refresh_rate_return_codes(self): def test_ssvep_to_codes_returns_the_length_of_refresh_rate(self): refresh_rate = 40 flicker_rate = 2 - response = ssvep_to_code(flicker_rate=flicker_rate, refresh_rate=refresh_rate) + response = ssvep_to_code(flicker_rate=flicker_rate, + refresh_rate=refresh_rate) self.assertTrue(len(response) == refresh_rate) self.assertEqual(response[0], 0) self.assertEqual(response[-1], 1) - def test_ssvep_to_code_raises_exception_when_refresh_rate_less_than_flicker_rate(self): + def test_ssvep_to_code_raises_exception_when_refresh_rate_less_than_flicker_rate( + self): flicker_rate = 300 refresh_rate = 1 with self.assertRaises(BciPyCoreException): ssvep_to_code(refresh_rate, flicker_rate) - def test_when_division_of_refresh_rate_by_flicker_rate_raise_exception_if_noninteger(self): + def test_when_division_of_refresh_rate_by_flicker_rate_raise_exception_if_noninteger( + self): flicker_rate = 11 refresh_rate = 60 @@ -780,11 +878,13 @@ def test_when_division_of_refresh_rate_by_flicker_rate_raise_exception_if_nonint def test_ssvep_to_code_returns_expected_codes(self): flicker_rate = 2 refresh_rate = 4 - response = ssvep_to_code(flicker_rate=flicker_rate, refresh_rate=refresh_rate) + response = ssvep_to_code(flicker_rate=flicker_rate, + refresh_rate=refresh_rate) expected_output = [0, 0, 1, 1] self.assertEqual(response, expected_output) - def test_ssvep_to_code_raises_exception_when_flicker_rate_one_or_less(self): + def test_ssvep_to_code_raises_exception_when_flicker_rate_one_or_less( + self): flicker_rate = 1 refresh_rate = 2 with self.assertRaises(BciPyCoreException): @@ -806,8 +906,8 @@ def test_play_sound_returns_timing(self): sound_file_path = 'test_sound_file_path' # mock the other library interactions - when(sf).read( - sound_file_path, dtype='float32').thenReturn(('data', MOCK_FS)) + when(sf).read(sound_file_path, dtype='float32').thenReturn( + ('data', MOCK_FS)) when(sd).play(any(), any()).thenReturn(None) when(core).wait(any()).thenReturn(None) @@ -827,8 +927,8 @@ def test_play_sound_raises_exception_if_soundfile_cannot_read_file(self): sound_file_path = 'test_sound_file_path' # mock the other library interactions - when(sf).read( - sound_file_path, dtype='float32').thenRaise(Exception('')) + when(sf).read(sound_file_path, + dtype='float32').thenRaise(Exception('')) # assert it raises the exception with self.assertRaises(Exception): @@ -850,8 +950,8 @@ def mock_callback_function(clock, stimuli): self.assertEqual(stimuli, self.test_timing[0]) # mock the other library interactions - when(sf).read( - sound_file_path, dtype='float32').thenReturn(('data', MOCK_FS)) + when(sf).read(sound_file_path, dtype='float32').thenReturn( + ('data', MOCK_FS)) when(sd).play(any(), any()).thenReturn(None) when(core).wait(any()).thenReturn(None) when(experiment_clock).getTime().thenReturn(test_trigger_time) @@ -878,10 +978,8 @@ def test_soundfiles_generator(self): path.join(directory, '1.wav'), path.join(directory, '2.wav') ] - when(glob).glob( - path.join( - directory, - '*.wav')).thenReturn(soundfile_paths) + when(glob).glob(path.join(directory, + '*.wav')).thenReturn(soundfile_paths) when(path).isdir(directory).thenReturn(True) gen = soundfiles(directory) @@ -901,10 +999,8 @@ def test_soundfiles_generator_path_arg(self): path.join(directory, '1.wav'), path.join(directory, '2.wav') ] - when(glob).glob( - path.join( - directory, - '*.wav')).thenReturn(soundfile_paths) + when(glob).glob(path.join(directory, + '*.wav')).thenReturn(soundfile_paths) when(path).isdir(directory).thenReturn(True) gen = soundfiles(directory) self.assertEqual(next(gen), soundfile_paths[0]) From c2b840f7c05e0e3a1f0ab5e55863ae287dc81787 Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 13 Jul 2023 11:44:50 -0700 Subject: [PATCH 042/330] Refactoring and more tests --- bcipy/helpers/stimuli.py | 136 ++++++++++++++++++++-------- bcipy/helpers/tests/test_stimuli.py | 36 +++++++- 2 files changed, 130 insertions(+), 42 deletions(-) diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 855707703..8bbba6317 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -521,75 +521,133 @@ def generate_calibration_inquiries( if color is None: color = ['green', 'red', 'white'] assert len(timing) == 3, "timing must include values for [target, fixation, stimuli]" + time_target, time_fixation, time_stim = timing + fixation = get_fixation(is_txt) - target_indexes = [] - if target_positions == TargetPositions.DISTRIBUTED: - target_indexes = distributed_target_positions( - inquiry_count, stim_per_inquiry, percentage_without_target) - else: - target_indexes = random_target_positions(inquiry_count, - stim_per_inquiry, - percentage_without_target) - - samples, times, colors = [], [], [] + target_indexes = generate_target_positions(inquiry_count, stim_per_inquiry, + percentage_without_target, + target_positions) + samples, times = [], [] for i in range(inquiry_count): - inquiry = random.sample(alp, k=stim_per_inquiry) + inquiry = generate_inquiry(symbols=alp, + length=stim_per_inquiry, + stim_order=stim_order) + target = inquiry_target(inquiry, target_position=target_indexes[i], symbols=alp) + samples.append([target, fixation, *inquiry]) - if stim_order == StimuliOrder.ALPHABETICAL: - inquiry = alphabetize(inquiry) + stim_timing = generate_inquiry_stim_timing(time_stim, stim_per_inquiry, jitter) + times.append([time_target, time_fixation, *stim_timing]) - target_index = target_indexes[i] - if target_index is NO_TARGET_INDEX: - target = random.choice(list(set(alp) - set(inquiry))) - else: - target = inquiry[target_index] + inquiry_colors = color[0:2] + [color[-1]] * stim_per_inquiry + colors = [inquiry_colors for _ in range(inquiry_count)] - sample = [target, get_fixation(is_txt=is_txt), *inquiry] - samples.append(sample) + return InquirySchedule(samples, times, colors) - # timing for fixation and prompt - init_timing = [timing[i] for i in range(len(timing) - 1)] - # pull out timing for the inquiry stimuli - stim_time = timing[-1] - if jitter: - _inq_timing = jittered_timing(stim_time, jitter, stim_per_inquiry) - inq_timing = init_timing + _inq_timing - else: - inq_timing = init_timing + [stim_time] * stim_per_inquiry - times.append(inq_timing) - colors.append([color[i] for i in range(len(color) - 1)] + - [color[-1]] * stim_per_inquiry) - return InquirySchedule(samples, times, colors) +def generate_inquiry(symbols: List[str], length: int, + stim_order: StimuliOrder) -> List[str]: + """Generate an inquiry from the list of symbols. No symbols are repeated + in the output list. + + Args: + symbols - values from which to select + length - number of items in the return list + stim_order - ordering of results + """ + inquiry = random.sample(symbols, k=length) + if stim_order == StimuliOrder.ALPHABETICAL: + inquiry = alphabetize(inquiry) + return inquiry + +def inquiry_target(inquiry: List[str], target_position: Optional[int], + symbols: List[str]) -> str: + """Returns the target for the given inquiry. If the optional + target position is not provided a target will randomly be selected from + the list of symbols and will not be in the inquiry. + + Args: + inquiry - list of symbols to be presented + target_position - optional position within the list of the target sym + symbols - used if position is not provided to select a random symbol + as the target. + + Returns target symbol + """ + if target_position is None: + return random.choice(list(set(symbols) - set(inquiry))) + return inquiry[target_position] +def generate_inquiry_stim_timing(time_stim: float, length: int, + jitter: bool) -> List[float]: + """Generate stimuli timing values for a given inquiry. + + Args: + time_stim: seconds to display each stimuli + length: Number of timings to generate + jitter: whether the timing should be jittered. + + Returns list of times (in seconds) + """ + if jitter: + return jittered_timing(time_stim, jitter, length) + + return [time_stim] * length def jittered_timing(time: float, jitter: float, stim_count: int) -> List[float]: """Jittered timing. - Using a base time and a jitter, generate a list (with length stim_count) of timing that is uniformly distributed. + Using a base time and a jitter, generate a list (with length stim_count) of + timing that is uniformly distributed. """ assert time > jitter, ( f'Jitter timing [{jitter}] must be less than stimuli timing =[{time}] in the inquiry.') return np.random.uniform(low=time - jitter, high=time + jitter, size=(stim_count,)).tolist() -def distributed_target_positions(inquiry_count: int, stim_per_inquiry: int, percentage_without_target: int) -> list: +def generate_target_positions(inquiry_count: int, stim_per_inquiry: int, + percentage_without_target: int, + distribution: TargetPositions) -> List[int]: + """ + Generates target positions distributed according to the provided parameter. + + Args: + inquiry_count: Number of inquiries in calibration + stim_per_inquiry: Number of stimuli in each inquiry + percentage_without_target: percentage of inquiries for which + target letter flashed is not in inquiry + distribution: specifies how targets should be distributed + + Returns list of indexes + """ + if distribution is TargetPositions.DISTRIBUTED: + return distributed_target_positions(inquiry_count, stim_per_inquiry, + percentage_without_target) + return random_target_positions(inquiry_count, stim_per_inquiry, + percentage_without_target) + +def distributed_target_positions(inquiry_count: int, stim_per_inquiry: int, + percentage_without_target: int) -> list: """Distributed Target Positions. - Generates evenly distributed target positions, including target letter not flashed at all, and shuffles them. + Generates evenly distributed target positions, including target letter + not flashed at all, and shuffles them. + Args: inquiry_count(int): Number of inquiries in calibration stim_per_inquiry(int): Number of stimuli in each inquiry - percentage_without_target(int): percentage of inquiries for which target letter flashed is not in inquiry + percentage_without_target(int): percentage of inquiries for which + target letter flashed is not in inquiry - Return distributed_target_positions(list): targets: array of target indexes to be chosen + Return distributed_target_positions(list): targets: array of target + indexes to be chosen """ targets = [] # find number of target and nontarget inquiries - num_nontarget_inquiry = int(inquiry_count * (percentage_without_target / 100)) + num_nontarget_inquiry = int(inquiry_count * + (percentage_without_target / 100)) num_target_inquiry = inquiry_count - num_nontarget_inquiry # find number each target position is repeated, and remaining number diff --git a/bcipy/helpers/tests/test_stimuli.py b/bcipy/helpers/tests/test_stimuli.py index c37e658c5..36e7458b1 100644 --- a/bcipy/helpers/tests/test_stimuli.py +++ b/bcipy/helpers/tests/test_stimuli.py @@ -16,7 +16,8 @@ best_case_rsvp_inq_gen, best_selection, distributed_target_positions, generate_calibration_inquiries, - get_fixation, jittered_timing, play_sound, + generate_inquiry, get_fixation, + inquiry_target, jittered_timing, play_sound, random_target_positions, soundfiles, ssvep_to_code, target_index, update_inquiry_timing) @@ -496,6 +497,35 @@ def test_random_target_positions_all_nontargets(self): self.assertEqual(counter[None], inquiry_count, 'Should have produced all non-target positions.') + def test_inquiry_target(self): + """Test inquiry target""" + + symbols = ['A', 'B', 'C', 'D', 'E', 'F', 'G'] + inquiry = ['C', 'A', 'F', 'E'] + self.assertEqual(inquiry_target(inquiry, 0, symbols), 'C') + self.assertEqual(inquiry_target(inquiry, 3, symbols), 'E') + + target = inquiry_target(inquiry, None, symbols) + self.assertTrue(target not in inquiry) + self.assertTrue(target in symbols) + + def test_generate_inquiry(self): + """Test generation of a single inquiry""" + symbols = ['A', 'B', 'C', 'D', 'E', 'F', 'G'] + inquiry = generate_inquiry(symbols=symbols, + length=3, + stim_order=StimuliOrder.RANDOM) + + # NOTE: it's possible an inquiry in Random order will be in alphabetical order + self.assertEqual(3, len(inquiry)) + for sym in inquiry: + self.assertTrue(sym in symbols) + + inquiry = generate_inquiry(symbols=symbols, + length=3, + stim_order=StimuliOrder.ALPHABETICAL) + self.assertEqual(inquiry, sorted(inquiry)) + def test_best_selection(self): """Test best_selection""" @@ -687,9 +717,9 @@ def test_alphabetize_image_name(self): def test_alphabetize_special_characters_at_end(self): character = '<' + stimuli = ['Z', character, 'Q', 'A', 'G'] expected = ['A', 'G', 'Q', 'Z', character] - self.list_to_alphabetize.insert(1, character) - response = alphabetize(self.list_to_alphabetize) + response = alphabetize(stimuli) self.assertEqual(expected, response) From 4f7d531a19e157cc96602e667c37a62304a496c2 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 19 Jul 2023 14:42:14 -0700 Subject: [PATCH 043/330] Added functions for testing statistical properties of generated inquiries. Refactored to ensure that symbols were presented as targets with equal frequency --- bcipy/helpers/stimuli.py | 182 ++++++++++++++++++++++++++-- bcipy/helpers/tests/test_stimuli.py | 118 ++++++++++++++++-- 2 files changed, 281 insertions(+), 19 deletions(-) diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 8bbba6317..d9e0becd0 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -4,10 +4,12 @@ import random import re from abc import ABC, abstractmethod +from collections import Counter from enum import Enum from os import path, sep -from typing import Iterator, List, NamedTuple, Optional, Tuple +from typing import Dict, Iterator, List, NamedTuple, Optional, Tuple +from pandas import Series from PIL import Image from bcipy.helpers.exceptions import BciPyCoreException @@ -485,7 +487,7 @@ def generate_calibration_inquiries( timing: List[float] = None, jitter: Optional[int] = None, color: List[str] = None, - inquiry_count: int = 10, + inquiry_count: int = 100, stim_per_inquiry: int = 10, stim_order: StimuliOrder = StimuliOrder.RANDOM, target_positions: TargetPositions = TargetPositions.RANDOM, @@ -494,6 +496,13 @@ def generate_calibration_inquiries( """ Generates inquiries with target letters in all possible positions. + This function attempts to display all symbols as targets an equal number of + times when stim_order is RANDOM. When the stim_order is ALPHABETICAL there + is much more variation in the counts (target distribution takes priority) + and some symbols may not appear as targets depending on the inquiry_count. + The frequency that each symbol is displayed as a nontarget should follow a + uniform distribution. + Parameters ---------- alp(list[str]): stimuli @@ -527,17 +536,28 @@ def generate_calibration_inquiries( target_indexes = generate_target_positions(inquiry_count, stim_per_inquiry, percentage_without_target, target_positions) - - samples, times = [], [] + if stim_order == StimuliOrder.ALPHABETICAL: + targets = None + else: + targets = generate_targets(alp, inquiry_count, percentage_without_target) + inquiries = generate_inquiries(alp, inquiry_count, stim_per_inquiry, + stim_order) + samples = [] + target = None for i in range(inquiry_count): - inquiry = generate_inquiry(symbols=alp, - length=stim_per_inquiry, - stim_order=stim_order) - target = inquiry_target(inquiry, target_position=target_indexes[i], symbols=alp) + inquiry = inquiries[i] + target_pos = target_indexes[i] + target = inquiry_target(inquiry, + target_pos, + symbols=alp, + next_targets=targets, + last_target=target) samples.append([target, fixation, *inquiry]) - stim_timing = generate_inquiry_stim_timing(time_stim, stim_per_inquiry, jitter) - times.append([time_target, time_fixation, *stim_timing]) + times = [[ + time_target, time_fixation, + *generate_inquiry_stim_timing(time_stim, stim_per_inquiry, jitter) + ] for _ in range(inquiry_count)] inquiry_colors = color[0:2] + [color[-1]] * stim_per_inquiry colors = [inquiry_colors for _ in range(inquiry_count)] @@ -545,10 +565,74 @@ def generate_calibration_inquiries( return InquirySchedule(samples, times, colors) +def inquiry_target_counts(inquiries: List[List[str]], symbols: List[str]) -> dict: + """Count the number of times each symbol was presented as a target. + + Args: + inquiries - list of inquiries where each inquiry is structured as + [target, fixation, *stim] + symbols - list of all possible symbols + """ + target_presentations = [inq[0] for inq in inquiries if inq[0] in inq[2:]] + counter = dict.fromkeys(symbols, 0) + for target in target_presentations: + counter[target] += 1 + return counter + + +def inquiry_nontarget_counts(inquiries: List[List[str]], symbols: List[str]) -> dict: + """Count the number of times each symbol was presented as a nontarget.""" + counter = dict.fromkeys(symbols, 0) + for inq in inquiries: + target, _fixation, *stimuli = inq + for stim in stimuli: + if stim != target: + counter[stim] += 1 + return counter + + +def inquiry_stats(inquiries: List[List[str]], + symbols: List[str]) -> Dict[str, Dict[str, float]]: + """Descriptive stats for the number of times each target and nontarget + symbol is shown in the inquiries""" + + target_stats = dict( + Series(Counter(inquiry_target_counts(inquiries, symbols))).describe()) + + nontarget_stats = dict( + Series(Counter(inquiry_nontarget_counts(inquiries, + symbols))).describe()) + + return { + 'target_symbols': target_stats, + 'nontarget_symbols': nontarget_stats + } + + + +def generate_inquiries(symbols: List[str], inquiry_count: int, + stim_per_inquiry: int, stim_order: StimuliOrder) -> List[List[str]]: + """Generate a list of inquiries. For each inquiry no symbols are repeated. + Inquiries do not include the target or fixation. Symbols should be + distributed uniformly across inquiries. + + Args: + + symbols - values from which to select + inquiry_count - total number of inquiries to generate + stim_per_inquiry - length of each inquiry + stim_order - ordering of results + """ + return [ + generate_inquiry(symbols=symbols, + length=stim_per_inquiry, + stim_order=stim_order) for _ in range(inquiry_count) + ] + def generate_inquiry(symbols: List[str], length: int, stim_order: StimuliOrder) -> List[str]: """Generate an inquiry from the list of symbols. No symbols are repeated - in the output list. + in the output list. Output does not include the target or fixation. Args: symbols - values from which to select @@ -560,8 +644,9 @@ def generate_inquiry(symbols: List[str], length: int, inquiry = alphabetize(inquiry) return inquiry + def inquiry_target(inquiry: List[str], target_position: Optional[int], - symbols: List[str]) -> str: + symbols: List[str], next_targets: List[str] = None, last_target: str = None) -> str: """Returns the target for the given inquiry. If the optional target position is not provided a target will randomly be selected from the list of symbols and will not be in the inquiry. @@ -571,11 +656,44 @@ def inquiry_target(inquiry: List[str], target_position: Optional[int], target_position - optional position within the list of the target sym symbols - used if position is not provided to select a random symbol as the target. + next_targets - list of targets from which to select + last_target - target from the previous inquiry; used to avoid selecting + the same target consecutively. Returns target symbol """ if target_position is None: return random.choice(list(set(symbols) - set(inquiry))) + + if next_targets: + # select the next target from the symbols in the current inquiry. + # if none of the symbols in the current inquiry are in the choices, the + # target is determined strictly from the target_position. + choice_index = None + symbol_inquiry_position = None + target = None + for position, symbol in enumerate(inquiry): + # avoid repeating targets + if symbol == last_target: + continue + try: + symbol_index = next_targets.index(symbol) + if choice_index is None or symbol_index < choice_index: + choice_index = symbol_index + symbol_inquiry_position = position + target = symbol + except ValueError: + continue + + if target is not None: + # update next_targets list + next_targets.remove(target) # removes first occurrence of value + + # update inquiry to set the target at the expected position. + symbol_at_target_position = inquiry[target_position] + inquiry[symbol_inquiry_position] = symbol_at_target_position + inquiry[target_position] = target + return inquiry[target_position] def generate_inquiry_stim_timing(time_stim: float, length: int, @@ -605,6 +723,22 @@ def jittered_timing(time: float, jitter: float, stim_count: int) -> List[float]: return np.random.uniform(low=time - jitter, high=time + jitter, size=(stim_count,)).tolist() +def num_inquiries_with_targets( + inquiry_count: int, percentage_without_target: int) -> Tuple[int, int]: + """Determine the number of inquiries that should display targets. + + Args: + inquiry_count: Number of inquiries in calibration + percentage_without_target: percentage of inquiries for which + target letter flashed is not in inquiry + + Returns tuple of num_nontarget_inquiry, num_target_inquiry + """ + num_nontarget_inquiry = int(inquiry_count * + (percentage_without_target / 100)) + num_target_inquiry = inquiry_count - num_nontarget_inquiry + return num_target_inquiry, num_nontarget_inquiry + def generate_target_positions(inquiry_count: int, stim_per_inquiry: int, percentage_without_target: int, distribution: TargetPositions) -> List[int]: @@ -671,6 +805,30 @@ def distributed_target_positions(inquiry_count: int, stim_per_inquiry: int, return targets +def generate_targets(symbols: List[str], inquiry_count: int, + percentage_without_target: int) -> List[str]: + """Generates list of target symbols. Generates an equal number of each + target. The resulting list may be less than the inquiry_count. Used for + sampling without replacement to get approximately equal numbers of each + target. + + Args: + symbols: + inquiry_count: number of inquiries in calibration + percentage_without_target: percentage of inquiries for which + target letter flashed is not in inquiry + """ + nontarget_count = int(inquiry_count * + (percentage_without_target / 100)) + target_count = inquiry_count - nontarget_count + + # each symbol should appear at least once + symbol_count = int(target_count / len(symbols)) or 1 + targets = symbols * symbol_count + random.shuffle(targets) + return targets + + def random_target_positions(inquiry_count: int, stim_per_inquiry: int, percentage_without_target: int) -> list: diff --git a/bcipy/helpers/tests/test_stimuli.py b/bcipy/helpers/tests/test_stimuli.py index 36e7458b1..49a116337 100644 --- a/bcipy/helpers/tests/test_stimuli.py +++ b/bcipy/helpers/tests/test_stimuli.py @@ -16,8 +16,10 @@ best_case_rsvp_inq_gen, best_selection, distributed_target_positions, generate_calibration_inquiries, - generate_inquiry, get_fixation, - inquiry_target, jittered_timing, play_sound, + generate_inquiry, generate_targets, + get_fixation, inquiry_nontarget_counts, + inquiry_target, inquiry_target_counts, + jittered_timing, play_sound, random_target_positions, soundfiles, ssvep_to_code, target_index, update_inquiry_timing) @@ -497,17 +499,91 @@ def test_random_target_positions_all_nontargets(self): self.assertEqual(counter[None], inquiry_count, 'Should have produced all non-target positions.') - def test_inquiry_target(self): - """Test inquiry target""" + def test_generate_targets(self): + """Test target generation""" + symbols = ['A', 'B', 'C', 'D'] + targets = generate_targets(symbols, inquiry_count = 9, percentage_without_target=0) + self.assertEqual(len(targets), 8) + self.assertTrue(all(val == 2 for val in Counter(targets).values())) + + targets = generate_targets(symbols, inquiry_count = 9, percentage_without_target=50) + self.assertEqual(len(targets), 4) + self.assertTrue(all(val == 1 for val in Counter(targets).values())) + def test_inquiry_target(self): + """Test inquiry target behavior.""" symbols = ['A', 'B', 'C', 'D', 'E', 'F', 'G'] inquiry = ['C', 'A', 'F', 'E'] - self.assertEqual(inquiry_target(inquiry, 0, symbols), 'C') - self.assertEqual(inquiry_target(inquiry, 3, symbols), 'E') + next_targets = ['Q', 'F', 'A'] + target = inquiry_target(inquiry, + target_position=0, + symbols=symbols, + next_targets=next_targets) - target = inquiry_target(inquiry, None, symbols) + self.assertEqual( + target, 'F', + 'the inquiry symbol next in order in the target choices should have been selected' + ) + self.assertSequenceEqual(inquiry, ['F', 'A', 'C', 'E'], + 'inquiry should have been re-ordered') + self.assertSequenceEqual( + next_targets, ['Q', 'A'], + 'list of next targets should have been modified') + + def test_inquiry_target_with_none_position(self): + """Test inquiry target with position of None.""" + symbols = ['A', 'B', 'C', 'D', 'E', 'F', 'G'] + inquiry = ['C', 'A', 'F', 'E'] + next_targets = ['Q', 'F', 'A'] + target = inquiry_target(inquiry, None, symbols, next_targets) self.assertTrue(target not in inquiry) self.assertTrue(target in symbols) + self.assertSequenceEqual(inquiry, ['C', 'A', 'F', 'E'], 'inquiry should not have changed') + + def test_inquiry_target_missing(self): + """Test inquiry target where none of the next_targets are present in + the current inquiry.""" + symbols = ['A', 'B', 'C', 'D', 'E', 'F', 'G'] + inquiry = ['C', 'A', 'F', 'E'] + next_targets = ['Q', 'D'] + target = inquiry_target(inquiry, + target_position=0, + symbols=symbols, + next_targets=next_targets) + self.assertTrue(target in inquiry) + self.assertTrue(target not in next_targets) + self.assertSequenceEqual(inquiry, ['C', 'A', 'F', 'E'], 'inquiry should not have changed') + self.assertSequenceEqual(next_targets, ['Q', 'D'], 'next_targets should not have changed') + + def test_inquiry_target_no_targets(self): + """Test inquiry_target when no next_targets are provided""" + symbols = ['A', 'B', 'C', 'D', 'E', 'F', 'G'] + inquiry = ['C', 'A', 'F', 'E'] + next_targets = ['Q', 'D'] + target = inquiry_target(inquiry, + target_position=0, + symbols=symbols, + next_targets=next_targets) + self.assertEqual(target, 'C', 'should have used the target_position to get the target') + self.assertSequenceEqual(inquiry, ['C', 'A', 'F', 'E'], 'inquiry should not have changed') + + def test_inquiry_target_last_target(self): + """Test inquiry target behavior.""" + symbols = ['A', 'B', 'C', 'D', 'E', 'F', 'G'] + inquiry = ['C', 'A', 'F', 'E'] + next_targets = ['Q', 'F', 'A'] + target = inquiry_target(inquiry, + target_position=0, + symbols=symbols, + next_targets=next_targets, + last_target='F') + + self.assertEqual(target, 'A', 'last_target should have been skipped') + self.assertSequenceEqual(inquiry, ['A', 'C', 'F', 'E'], + 'inquiry should have been re-ordered') + self.assertSequenceEqual( + next_targets, ['Q', 'F'], + 'list of next targets should have been modified') def test_generate_inquiry(self): """Test generation of a single inquiry""" @@ -526,6 +602,34 @@ def test_generate_inquiry(self): stim_order=StimuliOrder.ALPHABETICAL) self.assertEqual(inquiry, sorted(inquiry)) + def test_inquiry_target_counts(self): + """Test inquiry_target_counts""" + inquiries = [['D', '+', 'Z', 'Q', 'T', 'C', 'D'], + ['Q', '+', 'L', 'Q', 'B', 'J', 'N'], + ['W', '+', 'Q', 'F', 'M', 'W', 'N'], + ['Q', '+', 'X', 'G', 'Z', 'J', 'V']] + + targeted = ['D', 'Q', 'W'] + not_targeted = list(set(self.alp) - set(targeted)) + target_counts = inquiry_target_counts(inquiries, symbols=self.alp) + self.assertTrue(all(target_counts[sym] == 1 for sym in targeted)) + self.assertTrue(all(target_counts[sym] == 0 for sym in not_targeted)) + + def test_inquiry_nontarget_counts(self): + """Test inquiry_nontarget_counts""" + symbols = ['A', 'B', 'C', 'D', 'E', 'F'] + inquiries = [['C', '+', 'B', 'E', 'C'], + ['E', '+', 'B', 'F', 'E'], + ['E', '+', 'A', 'C', 'E'], + ['B', '+', 'D', 'E', 'B'], + ['C', '+', 'F', 'B', 'C']] + + + expected = {'A': 1, 'B': 3, 'C': 1, 'D': 1, 'E': 2, 'F': 2} + counts = inquiry_nontarget_counts(inquiries, symbols=symbols) + self.assertDictEqual(counts, expected) + + def test_best_selection(self): """Test best_selection""" From b51c1f484773403740dfbf5dd1fb7147cd0e45dd Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 19 Jul 2023 17:13:08 -0700 Subject: [PATCH 044/330] Formatting changes --- bcipy/helpers/stimuli.py | 87 ++++++++++++++++++++++++---------------- 1 file changed, 52 insertions(+), 35 deletions(-) diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index d9e0becd0..8bea29764 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -482,6 +482,7 @@ def best_case_rsvp_inq_gen(alp: list, NO_TARGET_INDEX = None + def generate_calibration_inquiries( alp: List[str], timing: List[float] = None, @@ -529,7 +530,9 @@ def generate_calibration_inquiries( timing = [0.5, 1, 0.2] if color is None: color = ['green', 'red', 'white'] - assert len(timing) == 3, "timing must include values for [target, fixation, stimuli]" + assert len( + timing + ) == 3, "timing must include values for [target, fixation, stimuli]" time_target, time_fixation, time_stim = timing fixation = get_fixation(is_txt) @@ -539,7 +542,8 @@ def generate_calibration_inquiries( if stim_order == StimuliOrder.ALPHABETICAL: targets = None else: - targets = generate_targets(alp, inquiry_count, percentage_without_target) + targets = generate_targets(alp, inquiry_count, + percentage_without_target) inquiries = generate_inquiries(alp, inquiry_count, stim_per_inquiry, stim_order) samples = [] @@ -565,7 +569,8 @@ def generate_calibration_inquiries( return InquirySchedule(samples, times, colors) -def inquiry_target_counts(inquiries: List[List[str]], symbols: List[str]) -> dict: +def inquiry_target_counts(inquiries: List[List[str]], + symbols: List[str]) -> dict: """Count the number of times each symbol was presented as a target. Args: @@ -580,7 +585,8 @@ def inquiry_target_counts(inquiries: List[List[str]], symbols: List[str]) -> dic return counter -def inquiry_nontarget_counts(inquiries: List[List[str]], symbols: List[str]) -> dict: +def inquiry_nontarget_counts(inquiries: List[List[str]], + symbols: List[str]) -> dict: """Count the number of times each symbol was presented as a nontarget.""" counter = dict.fromkeys(symbols, 0) for inq in inquiries: @@ -609,9 +615,9 @@ def inquiry_stats(inquiries: List[List[str]], } - def generate_inquiries(symbols: List[str], inquiry_count: int, - stim_per_inquiry: int, stim_order: StimuliOrder) -> List[List[str]]: + stim_per_inquiry: int, + stim_order: StimuliOrder) -> List[List[str]]: """Generate a list of inquiries. For each inquiry no symbols are repeated. Inquiries do not include the target or fixation. Symbols should be distributed uniformly across inquiries. @@ -629,6 +635,7 @@ def generate_inquiries(symbols: List[str], inquiry_count: int, stim_order=stim_order) for _ in range(inquiry_count) ] + def generate_inquiry(symbols: List[str], length: int, stim_order: StimuliOrder) -> List[str]: """Generate an inquiry from the list of symbols. No symbols are repeated @@ -645,8 +652,11 @@ def generate_inquiry(symbols: List[str], length: int, return inquiry -def inquiry_target(inquiry: List[str], target_position: Optional[int], - symbols: List[str], next_targets: List[str] = None, last_target: str = None) -> str: +def inquiry_target(inquiry: List[str], + target_position: Optional[int], + symbols: List[str], + next_targets: List[str] = None, + last_target: str = None) -> str: """Returns the target for the given inquiry. If the optional target position is not provided a target will randomly be selected from the list of symbols and will not be in the inquiry. @@ -696,6 +706,7 @@ def inquiry_target(inquiry: List[str], target_position: Optional[int], return inquiry[target_position] + def generate_inquiry_stim_timing(time_stim: float, length: int, jitter: bool) -> List[float]: """Generate stimuli timing values for a given inquiry. @@ -712,15 +723,20 @@ def generate_inquiry_stim_timing(time_stim: float, length: int, return [time_stim] * length -def jittered_timing(time: float, jitter: float, stim_count: int) -> List[float]: + +def jittered_timing(time: float, jitter: float, + stim_count: int) -> List[float]: """Jittered timing. Using a base time and a jitter, generate a list (with length stim_count) of timing that is uniformly distributed. """ assert time > jitter, ( - f'Jitter timing [{jitter}] must be less than stimuli timing =[{time}] in the inquiry.') - return np.random.uniform(low=time - jitter, high=time + jitter, size=(stim_count,)).tolist() + f'Jitter timing [{jitter}] must be less than stimuli timing =[{time}] in the inquiry.' + ) + return np.random.uniform(low=time - jitter, + high=time + jitter, + size=(stim_count, )).tolist() def num_inquiries_with_targets( @@ -739,6 +755,7 @@ def num_inquiries_with_targets( num_target_inquiry = inquiry_count - num_nontarget_inquiry return num_target_inquiry, num_nontarget_inquiry + def generate_target_positions(inquiry_count: int, stim_per_inquiry: int, percentage_without_target: int, distribution: TargetPositions) -> List[int]: @@ -760,6 +777,7 @@ def generate_target_positions(inquiry_count: int, stim_per_inquiry: int, return random_target_positions(inquiry_count, stim_per_inquiry, percentage_without_target) + def distributed_target_positions(inquiry_count: int, stim_per_inquiry: int, percentage_without_target: int) -> list: """Distributed Target Positions. @@ -805,30 +823,6 @@ def distributed_target_positions(inquiry_count: int, stim_per_inquiry: int, return targets -def generate_targets(symbols: List[str], inquiry_count: int, - percentage_without_target: int) -> List[str]: - """Generates list of target symbols. Generates an equal number of each - target. The resulting list may be less than the inquiry_count. Used for - sampling without replacement to get approximately equal numbers of each - target. - - Args: - symbols: - inquiry_count: number of inquiries in calibration - percentage_without_target: percentage of inquiries for which - target letter flashed is not in inquiry - """ - nontarget_count = int(inquiry_count * - (percentage_without_target / 100)) - target_count = inquiry_count - nontarget_count - - # each symbol should appear at least once - symbol_count = int(target_count / len(symbols)) or 1 - targets = symbols * symbol_count - random.shuffle(targets) - return targets - - def random_target_positions(inquiry_count: int, stim_per_inquiry: int, percentage_without_target: int) -> list: @@ -853,6 +847,29 @@ def random_target_positions(inquiry_count: int, stim_per_inquiry: int, random.shuffle(target_indexes) return target_indexes + +def generate_targets(symbols: List[str], inquiry_count: int, + percentage_without_target: int) -> List[str]: + """Generates list of target symbols. Generates an equal number of each + target. The resulting list may be less than the inquiry_count. Used for + sampling without replacement to get approximately equal numbers of each + target. + + Args: + symbols: + inquiry_count: number of inquiries in calibration + percentage_without_target: percentage of inquiries for which + target letter flashed is not in inquiry + """ + nontarget_count = int(inquiry_count * (percentage_without_target / 100)) + target_count = inquiry_count - nontarget_count + + # each symbol should appear at least once + symbol_count = int(target_count / len(symbols)) or 1 + targets = symbols * symbol_count + random.shuffle(targets) + return targets + def target_index(inquiry: List[str]) -> int: """Given an inquiry, return the index of the target within the choices and None if the target is not included as a choice. From eb6210136feecf1153fc1ed564b8693a8325f4dd Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 19 Jul 2023 17:31:31 -0700 Subject: [PATCH 045/330] Refactor redundant code; clearer naming; formatting --- bcipy/helpers/stimuli.py | 47 +++++++++++++++-------------- bcipy/helpers/tests/test_stimuli.py | 12 +++----- 2 files changed, 29 insertions(+), 30 deletions(-) diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 8bea29764..1992c3710 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -480,6 +480,7 @@ def best_case_rsvp_inq_gen(alp: list, [color[-1]] * stim_length) return InquirySchedule(samples, times, colors) + NO_TARGET_INDEX = None @@ -739,21 +740,21 @@ def jittered_timing(time: float, jitter: float, size=(stim_count, )).tolist() -def num_inquiries_with_targets( - inquiry_count: int, percentage_without_target: int) -> Tuple[int, int]: - """Determine the number of inquiries that should display targets. +def compute_counts(inquiry_count: int, + percentage_without_target: int) -> Tuple[int, int]: + """Determine the number of inquiries that should display targets and the + number that should not. Args: inquiry_count: Number of inquiries in calibration percentage_without_target: percentage of inquiries for which target letter flashed is not in inquiry - Returns tuple of num_nontarget_inquiry, num_target_inquiry + Returns tuple of (target_count, no_target_count) """ - num_nontarget_inquiry = int(inquiry_count * - (percentage_without_target / 100)) - num_target_inquiry = inquiry_count - num_nontarget_inquiry - return num_target_inquiry, num_nontarget_inquiry + no_target_count = int(inquiry_count * (percentage_without_target / 100)) + target_count = inquiry_count - no_target_count + return target_count, no_target_count def generate_target_positions(inquiry_count: int, stim_per_inquiry: int, @@ -797,17 +798,16 @@ def distributed_target_positions(inquiry_count: int, stim_per_inquiry: int, targets = [] - # find number of target and nontarget inquiries - num_nontarget_inquiry = int(inquiry_count * - (percentage_without_target / 100)) - num_target_inquiry = inquiry_count - num_nontarget_inquiry + # find number of target and no_target inquiries + target_count, no_target_count = compute_counts(inquiry_count, + percentage_without_target) # find number each target position is repeated, and remaining number - num_pos = (int)(num_target_inquiry / stim_per_inquiry) - num_rem_pos = (num_target_inquiry % stim_per_inquiry) + num_pos = (int)(target_count / stim_per_inquiry) + num_rem_pos = (target_count % stim_per_inquiry) # add correct number of None's for nontarget inquiries - targets = [NO_TARGET_INDEX] * num_nontarget_inquiry + targets = [NO_TARGET_INDEX] * no_target_count # add distributed list of target positions targets.extend(list(range(stim_per_inquiry)) * num_pos) @@ -837,13 +837,12 @@ def random_target_positions(inquiry_count: int, stim_per_inquiry: int, Return list of target indexes to be chosen """ - target_indexes = [] - num_nontarget_inquiry = int( - (percentage_without_target / 100) * inquiry_count) - num_target_inquiry = inquiry_count - num_nontarget_inquiry - target_indexes = [NO_TARGET_INDEX] * num_nontarget_inquiry + target_count, no_target_count = compute_counts(inquiry_count, + percentage_without_target) + + target_indexes = [NO_TARGET_INDEX] * no_target_count target_indexes.extend( - random.choices(range(stim_per_inquiry), k=num_target_inquiry)) + random.choices(range(stim_per_inquiry), k=target_count)) random.shuffle(target_indexes) return target_indexes @@ -861,8 +860,8 @@ def generate_targets(symbols: List[str], inquiry_count: int, percentage_without_target: percentage of inquiries for which target letter flashed is not in inquiry """ - nontarget_count = int(inquiry_count * (percentage_without_target / 100)) - target_count = inquiry_count - nontarget_count + target_count, no_target_count = compute_counts(inquiry_count, + percentage_without_target) # each symbol should appear at least once symbol_count = int(target_count / len(symbols)) or 1 @@ -870,6 +869,7 @@ def generate_targets(symbols: List[str], inquiry_count: int, random.shuffle(targets) return targets + def target_index(inquiry: List[str]) -> int: """Given an inquiry, return the index of the target within the choices and None if the target is not included as a choice. @@ -892,6 +892,7 @@ def target_index(inquiry: List[str]) -> int: except ValueError: return None + def get_task_info(experiment_length: int, task_color: str) -> Tuple[List[str], List[str]]: """Get Task Info. diff --git a/bcipy/helpers/tests/test_stimuli.py b/bcipy/helpers/tests/test_stimuli.py index 49a116337..4a21b423b 100644 --- a/bcipy/helpers/tests/test_stimuli.py +++ b/bcipy/helpers/tests/test_stimuli.py @@ -33,9 +33,9 @@ def is_uniform_distribution(inquiry_count: int, stim_per_inquiry: int, """Determine if the counts in the provided counter are distributed uniformly.""" - nontarget_inquiries = (int)(inquiry_count * + no_target_inquiries = (int)(inquiry_count * (percentage_without_target / 100)) - target_inquiries = inquiry_count - nontarget_inquiries + target_inquiries = inquiry_count - no_target_inquiries expected_targets_per_position = (int)(target_inquiries / stim_per_inquiry) return all(expected_targets_per_position <= counter[pos] <= @@ -502,11 +502,11 @@ def test_random_target_positions_all_nontargets(self): def test_generate_targets(self): """Test target generation""" symbols = ['A', 'B', 'C', 'D'] - targets = generate_targets(symbols, inquiry_count = 9, percentage_without_target=0) + targets = generate_targets(symbols, inquiry_count=9, percentage_without_target=0) self.assertEqual(len(targets), 8) self.assertTrue(all(val == 2 for val in Counter(targets).values())) - targets = generate_targets(symbols, inquiry_count = 9, percentage_without_target=50) + targets = generate_targets(symbols, inquiry_count=9, percentage_without_target=50) self.assertEqual(len(targets), 4) self.assertTrue(all(val == 1 for val in Counter(targets).values())) @@ -610,7 +610,7 @@ def test_inquiry_target_counts(self): ['Q', '+', 'X', 'G', 'Z', 'J', 'V']] targeted = ['D', 'Q', 'W'] - not_targeted = list(set(self.alp) - set(targeted)) + not_targeted = list(set(self.alp) - set(targeted)) target_counts = inquiry_target_counts(inquiries, symbols=self.alp) self.assertTrue(all(target_counts[sym] == 1 for sym in targeted)) self.assertTrue(all(target_counts[sym] == 0 for sym in not_targeted)) @@ -624,12 +624,10 @@ def test_inquiry_nontarget_counts(self): ['B', '+', 'D', 'E', 'B'], ['C', '+', 'F', 'B', 'C']] - expected = {'A': 1, 'B': 3, 'C': 1, 'D': 1, 'E': 2, 'F': 2} counts = inquiry_nontarget_counts(inquiries, symbols=symbols) self.assertDictEqual(counts, expected) - def test_best_selection(self): """Test best_selection""" From 8ac3dd8b987dae4ed54fff33e90610bb8673f270 Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 27 Jul 2023 14:23:49 -0700 Subject: [PATCH 046/330] Refinements based on feedback --- bcipy/parameters/parameters.json | 1 + bcipy/signal/model/offline_analysis.py | 4 ++-- bcipy/signal/process/__init__.py | 4 ++-- bcipy/signal/process/transform.py | 2 +- bcipy/task/control/evidence.py | 2 +- bcipy/task/tests/core/test_eeg_evaluator.py | 6 +++--- bcipy/task/tests/core/test_evidence.py | 10 +++++----- 7 files changed, 15 insertions(+), 14 deletions(-) diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index baf528c57..516ee3c51 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -13,6 +13,7 @@ "readableName": "Acquisition Mode", "helpTip": "Specifies the hardware device(s) used for data collection.", "recommended_values": [ + "EEG", "EEG/DSI-24", "Eyetracker", "EEG+Eyetracker" diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index f51f12cb5..1b489c07b 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -23,7 +23,7 @@ from bcipy.preferences import preferences from bcipy.signal.model.base_model import SignalModel, SignalModelMetadata from bcipy.signal.model.pca_rda_kde import PcaRdaKdeModel -from bcipy.signal.process import (TransformParams, filter_inquiries, +from bcipy.signal.process import (ERPTransformParams, filter_inquiries, get_default_transform) log = logging.getLogger(__name__) @@ -102,7 +102,7 @@ def offline_analysis( raw_data_file = f"{RAW_DATA_FILENAME}.csv" # get signal filtering information - transform_params = parameters.instantiate(TransformParams) + transform_params = parameters.instantiate(ERPTransformParams) downsample_rate = transform_params.down_sampling_rate static_offset = parameters.get("static_trigger_offset") diff --git a/bcipy/signal/process/__init__.py b/bcipy/signal/process/__init__.py index 689ae620f..ce21a5ae5 100644 --- a/bcipy/signal/process/__init__.py +++ b/bcipy/signal/process/__init__.py @@ -1,6 +1,6 @@ from bcipy.signal.process.filter import filter_inquiries from bcipy.signal.process.transform import (Composition, Downsample, - TransformParams, + ERPTransformParams, get_default_transform) __all__ = [ @@ -8,5 +8,5 @@ "get_default_transform", "Downsample", "Composition", - "TransformParams" + "ERPTransformParams" ] diff --git a/bcipy/signal/process/transform.py b/bcipy/signal/process/transform.py index 63886264e..14cda23f2 100644 --- a/bcipy/signal/process/transform.py +++ b/bcipy/signal/process/transform.py @@ -30,7 +30,7 @@ def __call__(self, data: np.ndarray, fs: Optional[int] = None) -> Tuple[np.ndarr return data[:, :: self.factor], None -class TransformParams(NamedTuple): +class ERPTransformParams(NamedTuple): """Parameters used for the default transform.""" notch_filter_frequency: int = 60 filter_low: int = 2 diff --git a/bcipy/task/control/evidence.py b/bcipy/task/control/evidence.py index d1b98b322..0db138011 100644 --- a/bcipy/task/control/evidence.py +++ b/bcipy/task/control/evidence.py @@ -47,7 +47,7 @@ def evaluate(self, **kwargs): """Evaluate the evidence""" -class EegEvaluator(EvidenceEvaluator): +class EEGEvaluator(EvidenceEvaluator): """EvidenceEvaluator that extracts symbol likelihoods from raw EEG data. Parameters diff --git a/bcipy/task/tests/core/test_eeg_evaluator.py b/bcipy/task/tests/core/test_eeg_evaluator.py index 0d6e721d9..21a594a1a 100644 --- a/bcipy/task/tests/core/test_eeg_evaluator.py +++ b/bcipy/task/tests/core/test_eeg_evaluator.py @@ -3,7 +3,7 @@ import unittest from unittest.mock import Mock, patch -from bcipy.task.control.evidence import EegEvaluator +from bcipy.task.control.evidence import EEGEvaluator class TestEegEvaluator(unittest.TestCase): @@ -28,7 +28,7 @@ def setUp(self): @patch('bcipy.task.control.evidence.analysis_channels') def test_init(self, analysis_channels_mock): """Test initialization""" - EegEvaluator(self.symbol_set, self.signal_model_mock) + EEGEvaluator(self.symbol_set, self.signal_model_mock) analysis_channels_mock.assert_called_with(self.device_mock.channels, self.device_mock) @@ -60,7 +60,7 @@ def test_evaluate(self, reshaper_factory_mock, analysis_channels_mock): window_length = 0.5 # Run the code - evaluator = EegEvaluator(self.symbol_set, self.signal_model_mock) + evaluator = EEGEvaluator(self.symbol_set, self.signal_model_mock) evaluator.evaluate(raw_data, symbols, times, target_info, window_length) diff --git a/bcipy/task/tests/core/test_evidence.py b/bcipy/task/tests/core/test_evidence.py index 4b556edaf..4f0a994e0 100644 --- a/bcipy/task/tests/core/test_evidence.py +++ b/bcipy/task/tests/core/test_evidence.py @@ -4,7 +4,7 @@ from unittest.mock import Mock from bcipy.acquisition.multimodal import ContentType -from bcipy.task.control.evidence import (EegEvaluator, find_matching_evaluator, +from bcipy.task.control.evidence import (EEGEvaluator, find_matching_evaluator, get_evaluator) from bcipy.task.data import EvidenceType from bcipy.task.exceptions import MissingEvidenceEvaluator @@ -15,8 +15,8 @@ class TestEvidence(unittest.TestCase): def test_get_evaluator(self): """Test getting an evaluator""" - self.assertEqual(EegEvaluator, get_evaluator(ContentType.EEG)) - self.assertEqual(EegEvaluator, + self.assertEqual(EEGEvaluator, get_evaluator(ContentType.EEG)) + self.assertEqual(EEGEvaluator, get_evaluator(ContentType.EEG, EvidenceType.ERP)) def test_missing_evaluator(self): @@ -36,7 +36,7 @@ def test_find_matching_evaluator(self): meta_mock.device_spec = device_mock signal_model_mock.metadata = meta_mock - self.assertEqual(EegEvaluator, + self.assertEqual(EEGEvaluator, find_matching_evaluator(signal_model_mock)) def test_match_with_bad_evidence_type(self): @@ -49,7 +49,7 @@ def test_match_with_bad_evidence_type(self): meta_mock.evidence_type = 'NOT_AN_EVIDENCE_TYPE' signal_model_mock.metadata = meta_mock - self.assertEqual(EegEvaluator, + self.assertEqual(EEGEvaluator, find_matching_evaluator(signal_model_mock), "should ignore the evidence type") From 860a773579adc92a54bf027fe18436648a4897f5 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 1 Aug 2023 10:30:29 -0700 Subject: [PATCH 047/330] Change default value for percentage_without_target --- bcipy/helpers/stimuli.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 1992c3710..92e34d82a 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -493,7 +493,7 @@ def generate_calibration_inquiries( stim_per_inquiry: int = 10, stim_order: StimuliOrder = StimuliOrder.RANDOM, target_positions: TargetPositions = TargetPositions.RANDOM, - percentage_without_target: int = 10, + percentage_without_target: int = 0, is_txt: bool = True) -> InquirySchedule: """ Generates inquiries with target letters in all possible positions. From 5500012851afedfa32d3f9f3cc6afe3266e909b3 Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Wed, 2 Aug 2023 09:54:46 -0700 Subject: [PATCH 048/330] Update log level to prevent pollution from matplotlib, update the useful logs to info --- bcipy/acquisition/datastream/lsl_server.py | 13 ++++++------- .../datastream/mock/eye_tracker_server.py | 4 ++-- bcipy/acquisition/datastream/producer.py | 2 +- bcipy/acquisition/demo/demo_lsl_server.py | 4 ++-- bcipy/acquisition/marker_writer.py | 2 +- bcipy/acquisition/multimodal.py | 2 +- bcipy/acquisition/protocols/lsl/lsl_client.py | 16 ++++++++-------- bcipy/acquisition/protocols/lsl/lsl_recorder.py | 10 +++++----- bcipy/gui/main.py | 2 +- bcipy/gui/viewer/data_source/file_streamer.py | 6 +++--- bcipy/helpers/copy_phrase_wrapper.py | 2 +- bcipy/helpers/load.py | 2 +- bcipy/helpers/system_utils.py | 2 +- bcipy/helpers/task.py | 2 +- bcipy/helpers/visualization.py | 2 +- bcipy/signal/model/cross_validation.py | 2 +- bcipy/task/control/criteria.py | 8 ++++---- .../paradigm/rsvp/calibration/calibration.py | 2 +- .../rsvp/calibration/timing_verification.py | 2 +- bcipy/task/paradigm/rsvp/copy_phrase.py | 14 +++++++------- setup.py | 2 +- 21 files changed, 50 insertions(+), 51 deletions(-) diff --git a/bcipy/acquisition/datastream/lsl_server.py b/bcipy/acquisition/datastream/lsl_server.py index a94d731cd..80f8181fa 100644 --- a/bcipy/acquisition/datastream/lsl_server.py +++ b/bcipy/acquisition/datastream/lsl_server.py @@ -54,7 +54,7 @@ def __init__(self, device_spec: DeviceSpec, generator: Generator = None, include self.device_spec = device_spec self.generator = generator or random_data_generator(channel_count=device_spec.channel_count) - log.debug("Starting LSL server for device: %s", device_spec.name) + log.info("Starting LSL server for device: %s", device_spec.name) print(f"Serving: {device_spec}") info = StreamInfo(device_spec.name, device_spec.content_type, device_spec.channel_count, @@ -82,8 +82,7 @@ def __init__(self, device_spec: DeviceSpec, generator: Generator = None, include # "gUSBamp_" + boost::lexical_cast(deviceNumber) + # "_" + boost::lexical_cast(serialNumber) + # "_markers"); - log.debug("Creating marker stream") - print(f"Marker channel name: {marker_stream_name}") + log.info(f"Creating marker stream {marker_stream_name}") markers_info = StreamInfo(marker_stream_name, "Markers", 1, 0, 'string', "uid12345_markers") @@ -93,7 +92,7 @@ def __init__(self, device_spec: DeviceSpec, generator: Generator = None, include def stop(self): """Stop the thread and cleanup resources.""" - log.debug("[*] Stopping data server") + log.info("[*] Stopping data server") super(LslDataServer, self).stop() # Allows pylsl to cleanup; The outlet will no longer be discoverable @@ -129,7 +128,7 @@ def run(self): # deleted in another thread. break - log.debug("[*] No longer pushing data") + log.info("[*] No longer pushing data") def _settings(filename): @@ -194,9 +193,9 @@ def main(): try: server = LslDataServer(device_spec=device_spec, generator=generator, add_markers=markers) - log.debug("New server created") + log.info("New server created") server.start() - log.debug("Server started") + log.info("Server started") while True: time.sleep(1) except KeyboardInterrupt: diff --git a/bcipy/acquisition/datastream/mock/eye_tracker_server.py b/bcipy/acquisition/datastream/mock/eye_tracker_server.py index 82b7567f4..a0022a065 100644 --- a/bcipy/acquisition/datastream/mock/eye_tracker_server.py +++ b/bcipy/acquisition/datastream/mock/eye_tracker_server.py @@ -59,9 +59,9 @@ def main(): """Create an run an lsl_server""" try: server = eye_tracker_server() - log.debug("New server created") + log.info("New server created") server.start() - log.debug("Server started") + log.info("Server started") while True: time.sleep(1) except KeyboardInterrupt: diff --git a/bcipy/acquisition/datastream/producer.py b/bcipy/acquisition/datastream/producer.py index e40a3d484..1552f8780 100644 --- a/bcipy/acquisition/datastream/producer.py +++ b/bcipy/acquisition/datastream/producer.py @@ -105,7 +105,7 @@ def run(self): while True: if not self._q.empty(): item = self._q.get() - log.debug('Getting %s: %s items in queue', + log.info('Getting %s: %s items in queue', str(item), str(self._q.qsize())) time.sleep(random.random()) diff --git a/bcipy/acquisition/demo/demo_lsl_server.py b/bcipy/acquisition/demo/demo_lsl_server.py index 979c6885f..d654ebf21 100644 --- a/bcipy/acquisition/demo/demo_lsl_server.py +++ b/bcipy/acquisition/demo/demo_lsl_server.py @@ -23,9 +23,9 @@ def main(): try: server = LslDataServer(device_spec=device_spec) - log.debug("New server created") + log.info("New server created") server.start() - log.debug("Server started") + log.info("Server started") while True: time.sleep(1) except KeyboardInterrupt: diff --git a/bcipy/acquisition/marker_writer.py b/bcipy/acquisition/marker_writer.py index f4c13f462..b7c36d1ab 100644 --- a/bcipy/acquisition/marker_writer.py +++ b/bcipy/acquisition/marker_writer.py @@ -50,7 +50,7 @@ def push_marker(self, marker: Any): - marker : any object that can be converted to a str """ stamp = pylsl.local_clock() - log.debug(f'Pushing marker {str(marker)} at {stamp}') + log.info(f'Pushing marker {str(marker)} at {stamp}') self.markers_outlet.push_sample([str(marker)], stamp) if not self.first_marker_stamp: self.first_marker_stamp = stamp diff --git a/bcipy/acquisition/multimodal.py b/bcipy/acquisition/multimodal.py index b93136735..4426ab431 100644 --- a/bcipy/acquisition/multimodal.py +++ b/bcipy/acquisition/multimodal.py @@ -136,7 +136,7 @@ def get_data_by_device( client = self.get_client(content_type) if client.device_spec.sample_rate > 0: count = round(seconds * client.device_spec.sample_rate) - log.debug(f'Need {count} records for processing {name} data') + log.info(f'Need {count} records for processing {name} data') output[content_type] = client.get_data(start=start, limit=count) data_count = len(output[content_type]) diff --git a/bcipy/acquisition/protocols/lsl/lsl_client.py b/bcipy/acquisition/protocols/lsl/lsl_client.py index 4a5937320..1bf8c372d 100644 --- a/bcipy/acquisition/protocols/lsl/lsl_client.py +++ b/bcipy/acquisition/protocols/lsl/lsl_client.py @@ -103,13 +103,13 @@ def first_sample_time(self) -> float: def stop_acquisition(self) -> None: """Disconnect from the data source.""" - log.debug(f"Stopping Acquisition from {self.device_spec.name} ...") + log.info(f"Stopping Acquisition from {self.device_spec.name} ...") if self.recorder: - log.debug(f"Closing {self.device_spec.name} data recorder") + log.info(f"Closing {self.device_spec.name} data recorder") self.recorder.stop() self.recorder.join() if self.inlet: - log.debug("Closing LSL connection") + log.info("Closing LSL connection") self.inlet.close_stream() self.inlet = None @@ -140,7 +140,7 @@ def get_data(self, ------- List of Records """ - log.debug(f"Getting data from: {start} to: {end} limit: {limit}") + log.info(f"Getting data from: {start} to: {end} limit: {limit}") # Only data in the current buffer is available to query; # requests for data outside of this will fail. Buffer size is @@ -148,10 +148,10 @@ def get_data(self, data = self.get_latest_data() if not data: - log.debug('No records available') + log.info('No records available') return [] - log.debug((f'{len(data)} records available ' + log.info((f'{len(data)} records available ' f'(From: {data[0].timestamp} To: {data[-1].timestamp})')) start = start or data[0].timestamp end = end or data[-1].timestamp @@ -163,7 +163,7 @@ def get_data(self, data_slice = [ record for record in data if start <= record.timestamp <= end ][0:limit] - log.debug(f'{len(data_slice)} records returned') + log.info(f'{len(data_slice)} records returned') return data_slice @property @@ -293,7 +293,7 @@ def offset(self, first_stim_time: float) -> float: return 0.0 assert self.first_sample_time, "Acquisition was not started." offset_from_stim = first_stim_time - self.first_sample_time - log.debug(f"Acquisition offset: {offset_from_stim}") + log.info(f"Acquisition offset: {offset_from_stim}") return offset_from_stim def cleanup(self): diff --git a/bcipy/acquisition/protocols/lsl/lsl_recorder.py b/bcipy/acquisition/protocols/lsl/lsl_recorder.py index 9a8228adb..e6b504ef1 100644 --- a/bcipy/acquisition/protocols/lsl/lsl_recorder.py +++ b/bcipy/acquisition/protocols/lsl/lsl_recorder.py @@ -35,7 +35,7 @@ def start(self): """Start recording all streams currently on the network.""" if not self.streams: - log.debug("Recording data") + log.info("Recording data") # create a thread for each. self.streams = [ LslRecordingThread(stream, self.path, @@ -127,7 +127,7 @@ def _init_data_writer(self, stream_info: StreamInfo) -> None: channels = self.device_spec.channels path = Path(self.directory, self.filename) - log.debug(f"Writing data to {path}") + log.info(f"Writing data to {path}") self.writer = RawDataWriter( path, daq_type=self.stream_info.name(), @@ -196,8 +196,8 @@ def run(self): inlet = StreamInlet(self.stream_info) full_metadata = inlet.info() - log.debug("Acquiring data from data stream:") - log.debug(full_metadata.as_xml()) + log.info("Acquiring data from data stream:") + log.info(full_metadata.as_xml()) self._reset() self._init_data_writer(full_metadata) @@ -212,7 +212,7 @@ def run(self): time.sleep(self.sleep_seconds) # Pull any remaining samples up to the current time. - log.debug("Pulling remaining samples") + log.info("Pulling remaining samples") record_count = self._pull_chunk(inlet) while record_count == self.max_chunk_size: record_count = self._pull_chunk(inlet) diff --git a/bcipy/gui/main.py b/bcipy/gui/main.py index 932dfb9f0..b4c729974 100644 --- a/bcipy/gui/main.py +++ b/bcipy/gui/main.py @@ -706,7 +706,7 @@ class BCIGui(QWidget): def __init__(self, title: str, width: int, height: int, background_color: str): super(BCIGui, self).__init__() - logging.basicConfig(level=logging.DEBUG, + logging.basicConfig(level=logging.INFO, format='%(name)s - %(levelname)s - %(message)s') self.logger = logging diff --git a/bcipy/gui/viewer/data_source/file_streamer.py b/bcipy/gui/viewer/data_source/file_streamer.py index 328c84481..dd725b98a 100644 --- a/bcipy/gui/viewer/data_source/file_streamer.py +++ b/bcipy/gui/viewer/data_source/file_streamer.py @@ -24,11 +24,11 @@ def __init__(self, data_file, data_queue): self.data_queue = data_queue def run(self): - log.debug("Starting raw_data file streamer") + log.info("Starting raw_data file streamer") with RawDataReader(self.data_file, convert_data=True) as reader: fs = reader.sample_rate - log.debug(f"Publishing data at sample rate {fs} hz") + log.info(f"Publishing data at sample rate {fs} hz") # publish data for data in reader: @@ -36,4 +36,4 @@ def run(self): break self.data_queue.put(data) time.sleep(1 / fs) - log.debug("Stopping raw_data file streamer") + log.info("Stopping raw_data file streamer") diff --git a/bcipy/helpers/copy_phrase_wrapper.py b/bcipy/helpers/copy_phrase_wrapper.py index ec7126be7..6dbb4c200 100644 --- a/bcipy/helpers/copy_phrase_wrapper.py +++ b/bcipy/helpers/copy_phrase_wrapper.py @@ -204,7 +204,7 @@ def initialize_series(self) -> Tuple[bool, InquirySchedule]: ] # display histogram of LM probabilities - log.debug(histogram(lm_letter_prior)) + log.info(histogram(lm_letter_prior)) # Try fusing the lmodel evidence try: diff --git a/bcipy/helpers/load.py b/bcipy/helpers/load.py index c00e4c815..8f36024d5 100644 --- a/bcipy/helpers/load.py +++ b/bcipy/helpers/load.py @@ -155,7 +155,7 @@ def load_json_parameters(path: str, value_cast: bool = False) -> Parameters: def load_experimental_data() -> str: filename = ask_directory() # show dialog box and return the path - log.debug("Loaded Experimental Data From: %s" % filename) + log.info("Loaded Experimental Data From: %s" % filename) return filename diff --git a/bcipy/helpers/system_utils.py b/bcipy/helpers/system_utils.py index c6882b0e6..9b3c6b2cf 100644 --- a/bcipy/helpers/system_utils.py +++ b/bcipy/helpers/system_utils.py @@ -194,7 +194,7 @@ def get_system_info() -> dict: def configure_logger( save_folder: str, log_name=LOG_FILENAME, - log_level=logging.DEBUG, + log_level=logging.INFO, version=None) -> None: """Configure Logger. diff --git a/bcipy/helpers/task.py b/bcipy/helpers/task.py index f66453c05..e135f3b8e 100644 --- a/bcipy/helpers/task.py +++ b/bcipy/helpers/task.py @@ -154,7 +154,7 @@ def get_data_for_decision(inquiry_timing, # Define the amount of data required for any processing to occur. data_limit = round((time2 - time1 + poststim) * daq.device_spec.sample_rate) - log.debug(f'Need {data_limit} records for processing') + log.info(f'Need {data_limit} records for processing') # Query for raw data raw_data = daq.get_data(start=time1, limit=data_limit) diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index 0eceb5362..8a2a00890 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -117,7 +117,7 @@ def visualize_csv_eeg_triggers(trigger_col: Optional[int] = None): plt.ylabel('Trigger Value') plt.xlabel('Samples') - log.debug('Press Ctrl + C to exit!') + log.info('Press Ctrl + C to exit!') # Show us the figure! Depending on your OS / IDE this may not close when # The window is closed, see the message above plt.show() diff --git a/bcipy/signal/model/cross_validation.py b/bcipy/signal/model/cross_validation.py index b79c67f21..f2ecff702 100644 --- a/bcipy/signal/model/cross_validation.py +++ b/bcipy/signal/model/cross_validation.py @@ -142,7 +142,7 @@ def cross_validation(x, y, model, opt_el=1, k_folds=10, split='uniform'): gamma and AUC values for each fold respectively. """ - log.debug('Starting Cross Validation !') + log.info('Starting Cross Validation !') arg_opt = nonlinear_opt(model, opt_el, x, y, op_type='cost_auc', arg_op_type=[k_folds, split]) return arg_opt diff --git a/bcipy/task/control/criteria.py b/bcipy/task/control/criteria.py index 9e1ef128e..29249dbd4 100644 --- a/bcipy/task/control/criteria.py +++ b/bcipy/task/control/criteria.py @@ -50,7 +50,7 @@ def decide(self, series: Dict): # than this, since the language model distribution is added before # the first inquiry is displayed. current_inq = len(series['list_sti']) - log.debug( + log.info( f"Checking min iterations; current iteration is {current_inq}") return current_inq < self.min_num_inq @@ -82,7 +82,7 @@ def decide(self, series: Dict): # see MinIterationsCriteria comment current_inq = len(series['list_sti']) if current_inq >= self.max_num_inq: - log.debug( + log.info( "Committing to decision: max iterations have been reached.") return True return False @@ -103,7 +103,7 @@ def __init__(self, threshold: float): def decide(self, series: Dict): current_distribution = series['list_distribution'][-1] if np.max(current_distribution) > self.tau: - log.debug("Committing to decision: posterior exceeded threshold.") + log.info("Committing to decision: posterior exceeded threshold.") return True return False @@ -132,7 +132,7 @@ def decide(self, series: Dict): stopping_rule = np.abs(candidates[0] - candidates[1]) d = stopping_rule > self.margin if d: - log.debug("Committing to decision: margin is high enough.") + log.info("Committing to decision: margin is high enough.") return d diff --git a/bcipy/task/paradigm/rsvp/calibration/calibration.py b/bcipy/task/paradigm/rsvp/calibration/calibration.py index 67afd017d..6aef7d1dd 100644 --- a/bcipy/task/paradigm/rsvp/calibration/calibration.py +++ b/bcipy/task/paradigm/rsvp/calibration/calibration.py @@ -121,7 +121,7 @@ def trigger_type(self, symbol: str, target: str, index: int) -> TriggerType: def execute(self): - self.logger.debug(f'Starting {self.name()}!') + self.logger.info(f'Starting {self.name()}!') run = True # Check user input to make sure we should be going diff --git a/bcipy/task/paradigm/rsvp/calibration/timing_verification.py b/bcipy/task/paradigm/rsvp/calibration/timing_verification.py index 259cd3583..70262a2be 100644 --- a/bcipy/task/paradigm/rsvp/calibration/timing_verification.py +++ b/bcipy/task/paradigm/rsvp/calibration/timing_verification.py @@ -62,7 +62,7 @@ def generate_stimuli(self): return (samples, times, colors) def execute(self): - self.logger.debug(f'Starting {self.name()}!') + self.logger.info(f'Starting {self.name()}!') self._task.execute() @classmethod diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index e62b28c8e..704cbefcb 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -243,7 +243,7 @@ def starting_spelled_letters(self) -> int: """Number of letters already spelled at the start of the task.""" spelled_letters_count = self.parameters['spelled_letters_count'] if spelled_letters_count > len(self.copy_phrase): - self.logger.debug('Already spelled letters exceeds phrase length.') + self.logger.info('Already spelled letters exceeds phrase length.') spelled_letters_count = 0 return spelled_letters_count @@ -294,7 +294,7 @@ def user_wants_to_continue(self) -> bool: self.parameters['stim_color'], first_run=self.first_run) if not should_continue: - self.logger.debug('User wants to exit.') + self.logger.info('User wants to exit.') return should_continue def wait(self, seconds: float = None): @@ -368,23 +368,23 @@ def check_stop_criteria(self) -> bool: should continue. """ if self.copy_phrase == self.spelled_text: - self.logger.debug('Spelling complete') + self.logger.info('Spelling complete') return False if (self.inq_counter + 1) >= self.parameters['max_inq_len']: - self.logger.debug('Max tries exceeded: to allow for more tries' + self.logger.info('Max tries exceeded: to allow for more tries' ' adjust the Maximum inquiry Length ' '(max_inq_len) parameter.') return False if self.session.total_time_spent >= (self.parameters['max_minutes'] * 60): - self.logger.debug('Max time exceeded. To allow for more time ' + self.logger.info('Max time exceeded. To allow for more time ' 'adjust the max_minutes parameter.') return False if self.session.total_number_decisions >= self.parameters['max_selections']: - self.logger.debug('Max number of selections reached ' + self.logger.info('Max number of selections reached ' '(configured with the max_selections parameter)') return False @@ -405,7 +405,7 @@ def execute(self) -> str: ------- data save location (triggers.txt, session.json) """ - self.logger.debug('Starting Copy Phrase Task!') + self.logger.info('Starting Copy Phrase Task!') run = True self.wait() # buffer for data processing diff --git a/setup.py b/setup.py index 72c4c503c..b08607348 100644 --- a/setup.py +++ b/setup.py @@ -13,7 +13,7 @@ AUTHOR = 'CAMBI' REQUIRES_PYTHON = '>3.7,<3.10' -VERSION = '2.0.0rc3' +VERSION = '2.0.0rc4' REQUIRED = [] From 9742baa46f88c3290d1946fb510e51dd037f0eec Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Wed, 2 Aug 2023 10:01:21 -0700 Subject: [PATCH 049/330] fix lint errors --- bcipy/acquisition/datastream/producer.py | 2 +- bcipy/acquisition/protocols/lsl/lsl_client.py | 2 +- bcipy/task/paradigm/rsvp/copy_phrase.py | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bcipy/acquisition/datastream/producer.py b/bcipy/acquisition/datastream/producer.py index 1552f8780..e5ad0c079 100644 --- a/bcipy/acquisition/datastream/producer.py +++ b/bcipy/acquisition/datastream/producer.py @@ -106,7 +106,7 @@ def run(self): if not self._q.empty(): item = self._q.get() log.info('Getting %s: %s items in queue', - str(item), str(self._q.qsize())) + str(item), str(self._q.qsize())) time.sleep(random.random()) diff --git a/bcipy/acquisition/protocols/lsl/lsl_client.py b/bcipy/acquisition/protocols/lsl/lsl_client.py index 1bf8c372d..1a5afa53f 100644 --- a/bcipy/acquisition/protocols/lsl/lsl_client.py +++ b/bcipy/acquisition/protocols/lsl/lsl_client.py @@ -152,7 +152,7 @@ def get_data(self, return [] log.info((f'{len(data)} records available ' - f'(From: {data[0].timestamp} To: {data[-1].timestamp})')) + f'(From: {data[0].timestamp} To: {data[-1].timestamp})')) start = start or data[0].timestamp end = end or data[-1].timestamp limit = limit or -1 diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index 704cbefcb..e31a733f0 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -373,19 +373,19 @@ def check_stop_criteria(self) -> bool: if (self.inq_counter + 1) >= self.parameters['max_inq_len']: self.logger.info('Max tries exceeded: to allow for more tries' - ' adjust the Maximum inquiry Length ' - '(max_inq_len) parameter.') + ' adjust the Maximum inquiry Length ' + '(max_inq_len) parameter.') return False if self.session.total_time_spent >= (self.parameters['max_minutes'] * 60): self.logger.info('Max time exceeded. To allow for more time ' - 'adjust the max_minutes parameter.') + 'adjust the max_minutes parameter.') return False if self.session.total_number_decisions >= self.parameters['max_selections']: self.logger.info('Max number of selections reached ' - '(configured with the max_selections parameter)') + '(configured with the max_selections parameter)') return False return True From c204a459eb1b28cf59e86fc6fb54364ed80adedd Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Wed, 2 Aug 2023 10:04:05 -0700 Subject: [PATCH 050/330] Update changelog --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b8772129..c9e2e8b44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ +# 2.0.0-rc.4 + +Our last release candidate before the official 2.0 release! + +## Contributions + +- Multimodal Acquisition and Querying + - Support for multiple devices in online querying #286 +- Stimuli + - Updates to ensure stimuli are presented at the same frequency #287 +- Parameters + - Add a Range type parameter #285 +- Cleanup + - Change default log level to INFO to prevent too many messages in the experiment logs #288 + + # 2.0.0-rc.3 ## Contributions From f31cde820656b033248a4cf0e76f7ab909a7bb74 Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Tue, 8 Aug 2023 18:03:52 -0700 Subject: [PATCH 051/330] update to use a trial_window parameter --- bcipy/helpers/demo/demo_visualization.py | 4 ++-- bcipy/helpers/stimuli.py | 14 +++++++------ bcipy/helpers/visualization.py | 26 +++++++++++++++++++++--- bcipy/parameters/parameters.json | 10 ++++----- bcipy/signal/model/offline_analysis.py | 20 ++++++++++++------ bcipy/signal/process/transform.py | 10 ++++----- bcipy/task/paradigm/rsvp/copy_phrase.py | 20 ++++++++++-------- 7 files changed, 69 insertions(+), 35 deletions(-) diff --git a/bcipy/helpers/demo/demo_visualization.py b/bcipy/helpers/demo/demo_visualization.py index dffc0401d..a6194d0d3 100644 --- a/bcipy/helpers/demo/demo_visualization.py +++ b/bcipy/helpers/demo/demo_visualization.py @@ -50,7 +50,7 @@ parameters = load_json_parameters(f'{path}/{DEFAULT_PARAMETER_FILENAME}', value_cast=True) # extract all relevant parameters - poststim_length = parameters.get("trial_length") + trial_window = parameters.get("trial_window") prestim_length = parameters.get("prestim_length") trials_per_inquiry = parameters.get("stim_length") # The task buffer length defines the min time between two inquiries @@ -96,7 +96,7 @@ channel_map, trigger_timing, labels, - poststim_length, + trial_window, transform=default_transform, plot_average=True, plot_topomaps=True, diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 92e34d82a..fed0fe595 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -295,19 +295,21 @@ def update_inquiry_timing(timing: List[List[float]], downsample: int) -> List[Li return timing -def mne_epochs(mne_data: RawArray, trigger_timing: List[float], - trial_length: float, trigger_labels: List[int]) -> Epochs: +def mne_epochs(mne_data: RawArray, + trigger_timing: List[float], + trial_length: float, + trigger_labels: List[int], + baseline: Tuple[float, float] = (None, 0.0), + buffer=0.1) -> Epochs: """MNE Epochs. Using an MNE RawArray, reshape the data given trigger information. If two labels present [0, 1], each may be accessed by numbered order. Ex. first_class = epochs['1'], second_class = epochs['2'] """ - annotations = Annotations(trigger_timing, [trial_length] * len(trigger_timing), trigger_labels) + annotations = Annotations(trigger_timing, [trial_length + buffer] * len(trigger_timing), trigger_labels) mne_data.set_annotations(annotations) - events_from_annot, _ = mne.events_from_annotations(mne_data) - return Epochs(mne_data, events_from_annot) - + return Epochs(mne_data, events_from_annot, tmax=trial_length, baseline=baseline) def alphabetize(stimuli: List[str]) -> List[str]: """Alphabetize. diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index 8a2a00890..c9d88a6b6 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -28,7 +28,7 @@ def visualize_erp( channel_map: List[int], trigger_timing: List[float], trigger_labels: List[int], - trial_length: float, + trial_window: Tuple[float, float], transform: Optional[Composition] = None, plot_average: Optional[bool] = True, plot_topomaps: Optional[bool] = True, @@ -55,8 +55,17 @@ def visualize_erp( show: Optional[boolean]: whether or not to show the figures generated. Default: False save_path: optional path to a save location of the figure generated """ + # check for trial length in seconds + trial_length = trial_window[1] - 0.0 + + # check for baseline interval + if trial_window[0] < 0: + baseline = (trial_window[0], 0) + else: + baseline = (None, 0) + mne_data = convert_to_mne(raw_data, channel_map=channel_map, transform=transform) - epochs = mne_epochs(mne_data, trigger_timing, trial_length, trigger_labels) + epochs = mne_epochs(mne_data, trigger_timing, trial_length, trigger_labels, baseline=baseline) # *Note* We assume, as described above, two trigger classes are defined for use in trigger_labels # (Nontarget=0 and Target=1). This will map into two corresponding MNE epochs whose indexing starts at 1. # Therefore, epochs['1'] == Nontarget and epochs['2'] == Target. @@ -65,7 +74,18 @@ def visualize_erp( if plot_average: figs.extend(visualize_evokeds(epochs, save_path=save_path, show=show)) if plot_topomaps: - figs.extend(visualize_joint_average(epochs, ['Non-Target', 'Target'], save_path=save_path, show=show)) + # make a list of equally spaced times to plot topomaps using the time window + # defined in the task parameters + times = [round(trial_window[0] + i * (trial_window[1] - trial_window[0]) / 5, 1) for i in range(6)] + + # clip any times that are out of bounds of the time window or zero + times = [time for time in times if trial_window[0] <= time <= trial_window[1] and time != 0] + + figs.extend(visualize_joint_average( + epochs, ['Non-Target', 'Target'], + save_path=save_path, + show=show, + plot_joint_times=times)) return figs diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index 516ee3c51..64f89220a 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -47,13 +47,13 @@ "recommended_values": "[10]", "type": "int" }, - "trial_length": { - "value": "0.5", + "trial_window": { + "value": "0.2:0.8", "section": "bci_config", - "readableName": "Data Collection Window Length", - "helpTip": "Specifies the length (in seconds) of the EEG data collection window after each stimulus presentation. Default: 0.5", + "readableName": "Trial Classification Window Length", + "helpTip": "Specifies the window (in seconds) of the EEG data collection window after each stimulus presentation. Default: 0.0:0.5", "recommended_values": "", - "type": "float" + "type": "range" }, "prestim_length": { "value": "1", diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 1b489c07b..789a83dd0 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -93,7 +93,9 @@ def offline_analysis( data_folder = load_experimental_data() # extract relevant session information from parameters file - poststim_length = parameters.get("trial_length") + trial_window = parameters.get("trial_window") + window_length = trial_window[1] - trial_window[0] + prestim_length = parameters.get("prestim_length") trials_per_inquiry = parameters.get("stim_length") # The task buffer length defines the min time between two inquiries @@ -109,7 +111,8 @@ def offline_analysis( log.info( f"\nData processing settings: \n" f"{str(transform_params)} \n" - f"Poststimulus: {poststim_length}s, Prestimulus: {prestim_length}s, Buffer: {buffer}s \n" + f"Trial Window: {trial_window[0]}-{trial_window[1]}s, " + f"Prestimulus Buffer: {prestim_length}s, Poststimulus Buffer: {buffer}s \n" f"Static offset: {static_offset}" ) @@ -144,6 +147,10 @@ def offline_analysis( trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], ) + + # update the trigger timing list to account for the initial trial window + corrected_trigger_timing = [timing + trial_window[0] for timing in trigger_timing] + # Channel map can be checked from raw_data.csv file or the devices.json located in the acquisition module # The timestamp column [0] is already excluded. channel_map = analysis_channels(channels, device_spec) @@ -154,19 +161,19 @@ def offline_analysis( inquiries, inquiry_labels, inquiry_timing = model.reshaper( trial_targetness_label=trigger_targetness, - timing_info=trigger_timing, + timing_info=corrected_trigger_timing, eeg_data=data, sample_rate=sample_rate, trials_per_inquiry=trials_per_inquiry, channel_map=channel_map, - poststimulus_length=poststim_length, + poststimulus_length=window_length, prestimulus_length=prestim_length, transformation_buffer=buffer, ) inquiries, fs = filter_inquiries(inquiries, default_transform, sample_rate) inquiry_timing = update_inquiry_timing(inquiry_timing, downsample_rate) - trial_duration_samples = int(poststim_length * fs) + trial_duration_samples = int(window_length * fs) data = model.reshaper.extract_trials(inquiries, trial_duration_samples, inquiry_timing) # define the training classes using integers, where 0=nontargets/1=targets @@ -194,12 +201,13 @@ def offline_analysis( log.info(f"Balanced acc with 80/20 split: {score}") del dummy_model, train_data, test_data, train_labels, test_labels, probs, preds + # this should have uncorrected trigger timing for display purposes figure_handles = visualize_erp( raw_data, channel_map, trigger_timing, labels, - poststim_length, + trial_window, transform=default_transform, plot_average=True, plot_topomaps=True, diff --git a/bcipy/signal/process/transform.py b/bcipy/signal/process/transform.py index 14cda23f2..679832fdb 100644 --- a/bcipy/signal/process/transform.py +++ b/bcipy/signal/process/transform.py @@ -39,11 +39,11 @@ class ERPTransformParams(NamedTuple): down_sampling_rate: int = 2 def __str__(self): - return ', '.join([ - f"Filter: [{self.filter_low}-{self.filter_high}]" - f"Order: {self.filter_order}", - f"Notch: {self.notch_filter_frequency}", - f"Downsample: {self.down_sampling_rate}" + return ' '.join([ + f"Filter: [{self.filter_low}-{self.filter_high}] Hz \n" + f"Order: {self.filter_order} \n", + f"Notch: {self.notch_filter_frequency} Hz \n", + f"Downsample: {self.down_sampling_rate} \n" ]) diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index e31a733f0..bc2f45c5e 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -572,22 +572,26 @@ def compute_device_evidence( if not proceed or self.fake: return [] - # currently prestim_length is used as a buffer for filter application; - # use the same at the end of the inquiry - post_stim_buffer = self.parameters['prestim_length'] - prestim = self.parameters['prestim_length'] + # currently prestim_length is used as a buffer for filter application + post_stim_buffer = int(self.parameters.get("task_buffer_length") / 2) + prestim_buffer = self.parameters['prestim_length'] + trial_window = self.parameters['trial_window'] + window_length = trial_window[1] - trial_window[0] inquiry_timing = self.stims_for_decision(stim_times) + # update the inquiry timing list (stim, time) based on the trial window first time value + inquiry_timing = [(stim, time + trial_window[0]) for stim, time in inquiry_timing] + # Get all data at once so we don't redundantly query devices which are # used in more than one signal model. device_data = get_device_data_for_decision( inquiry_timing=inquiry_timing, daq=self.daq, offset=self.parameters['static_trigger_offset'], - prestim=prestim, - poststim=post_stim_buffer + self.parameters['trial_length']) + prestim=prestim_buffer, + poststim=post_stim_buffer + window_length) - triggers = relative_triggers(inquiry_timing, prestim) + triggers = relative_triggers(inquiry_timing, prestim_buffer) # we assume all are nontargets at this point labels = ['nontarget'] * len(triggers) letters, times, filtered_labels = self.copy_phrase_task.letter_info( @@ -600,7 +604,7 @@ def compute_device_evidence( symbols=letters, times=times, target_info=filtered_labels, - window_length=self.parameters['trial_length']) + window_length=window_length) evidences.append((evidence_evaluator.produces, probs)) return evidences From 23337c6abbcaadccb7166ce3a2772e1309a22c3a Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Tue, 8 Aug 2023 18:23:27 -0700 Subject: [PATCH 052/330] update to include an epoch buffer and rename --- bcipy/helpers/stimuli.py | 7 ++++--- bcipy/helpers/visualization.py | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index fed0fe595..6976408f3 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -300,16 +300,17 @@ def mne_epochs(mne_data: RawArray, trial_length: float, trigger_labels: List[int], baseline: Tuple[float, float] = (None, 0.0), - buffer=0.1) -> Epochs: + epoch_buffer=0.1) -> Epochs: """MNE Epochs. Using an MNE RawArray, reshape the data given trigger information. If two labels present [0, 1], each may be accessed by numbered order. Ex. first_class = epochs['1'], second_class = epochs['2'] """ - annotations = Annotations(trigger_timing, [trial_length + buffer] * len(trigger_timing), trigger_labels) + plot_length = trial_length + epoch_buffer + annotations = Annotations(trigger_timing, [plot_length] * len(trigger_timing), trigger_labels) mne_data.set_annotations(annotations) events_from_annot, _ = mne.events_from_annotations(mne_data) - return Epochs(mne_data, events_from_annot, tmax=trial_length, baseline=baseline) + return Epochs(mne_data, events_from_annot, tmax=plot_length, baseline=baseline) def alphabetize(stimuli: List[str]) -> List[str]: """Alphabetize. diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index c9d88a6b6..f7032a2e4 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -76,7 +76,7 @@ def visualize_erp( if plot_topomaps: # make a list of equally spaced times to plot topomaps using the time window # defined in the task parameters - times = [round(trial_window[0] + i * (trial_window[1] - trial_window[0]) / 5, 1) for i in range(6)] + times = [round(trial_window[0] + i * (trial_window[1] - trial_window[0]) / 5, 1) for i in range(7)] # clip any times that are out of bounds of the time window or zero times = [time for time in times if trial_window[0] <= time <= trial_window[1] and time != 0] From 5f7287289d5af175e4163de26a7d1045bc087061 Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Wed, 9 Aug 2023 21:52:39 -0700 Subject: [PATCH 053/330] working replay session with windows and older parameter files Note: the older signal models cannot be used on a newer codebase... remove unusable load methods after refactor --- bcipy/helpers/load.py | 35 +- bcipy/helpers/stimuli.py | 4 +- bcipy/signal/model/pca_rda_kde/pca_rda_kde.py | 10 +- scripts/python/replay_session.py | 366 ++++++++---------- 4 files changed, 173 insertions(+), 242 deletions(-) diff --git a/bcipy/helpers/load.py b/bcipy/helpers/load.py index 8f36024d5..f7b14aa87 100644 --- a/bcipy/helpers/load.py +++ b/bcipy/helpers/load.py @@ -159,37 +159,6 @@ def load_experimental_data() -> str: return filename -def load_signal_model(model_class: SignalModel, - model_kwargs: Dict[str, Any], filename: str = None) -> Tuple[SignalModel, str]: - """Construct the specified model and load pretrained parameters. - - Args: - model_class (SignalModel, optional): Model class to construct. - model_kwargs (dict, optional): Keyword arguments for constructing model. - filename (str, optional): Location of pretrained model parameters. - - Returns: - SignalModel: Model after loading pretrained parameters. - """ - # use python's internal gui to call file explorers and get the filename - if not filename or Path(filename).is_dir(): - directory = filename or preferences.signal_model_directory - filename = ask_filename('*.pkl', directory) - - # update preferences - path = Path(filename) - if path.is_file(): - preferences.signal_model_directory = str(path.parent) - - # load the signal_model with pickle - signal_model = model_class(**model_kwargs) - signal_model.load(filename) - - log.info(f'Loaded signal model from {filename}') - - return signal_model, filename - - def load_signal_models(directory: Optional[str] = None) -> List[SignalModel]: """Load all signal models in a given directory. @@ -211,8 +180,8 @@ def load_signal_models(directory: Optional[str] = None) -> List[SignalModel]: models = [] for file_path in path.glob(f"*{SIGNAL_MODEL_FILE_SUFFIX}"): - with open(file_path, "rb") as file: - model = pickle.load(file) + with open(file_path, "rb") as signal_file: + model = pickle.load(signal_file) log.info(f"Loading model {model}") models.append(model) return models diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 6976408f3..27e19c45e 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -29,6 +29,7 @@ log = logging.getLogger(__name__) DEFAULT_FIXATION_PATH = 'bcipy/static/images/main/PLUS.png' DEFAULT_TEXT_FIXATION = '+' +NO_TARGET_INDEX = None class StimuliOrder(Enum): @@ -484,9 +485,6 @@ def best_case_rsvp_inq_gen(alp: list, return InquirySchedule(samples, times, colors) -NO_TARGET_INDEX = None - - def generate_calibration_inquiries( alp: List[str], timing: List[float] = None, diff --git a/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py b/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py index 4910107c1..faab1de69 100644 --- a/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py +++ b/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py @@ -171,12 +171,14 @@ def predict_proba(self, data: np.array) -> np.array: posterior = np.exp(np.stack([log_post_0, log_post_1], axis=-1)) return posterior - def save(self, path: Path): + def save(self, path: Path) -> None: """Save model weights (e.g. after training) to `path`""" with open(path, "wb") as f: pickle.dump(self.model, f) - def load(self, path: Path): - """Load pretrained model weights from `path`""" + def load(self, path: Path) -> SignalModel: + """Load pretrained model from `path`""" with open(path, "rb") as f: - self.model = pickle.load(f) + model = pickle.load(f) + + return model diff --git a/scripts/python/replay_session.py b/scripts/python/replay_session.py index 6d02b1f49..7ef0f30d2 100644 --- a/scripts/python/replay_session.py +++ b/scripts/python/replay_session.py @@ -1,7 +1,9 @@ """Script that will replay sessions and allow us to simulate new model predictions on that data.""" import json import logging as logger +from typing import Tuple from pathlib import Path +import pickle import matplotlib.pyplot as plt import numpy as np @@ -17,215 +19,152 @@ import bcipy.acquisition.devices as devices from bcipy.helpers.list import grouper from bcipy.helpers.load import load_json_parameters, load_raw_data -from bcipy.helpers.stimuli import InquiryReshaper, TrialReshaper, update_inquiry_timing +from bcipy.helpers.stimuli import InquiryReshaper, update_inquiry_timing from bcipy.helpers.triggers import TriggerType, trigger_decoder from bcipy.helpers.symbols import alphabet from bcipy.signal.model import PcaRdaKdeModel -from bcipy.signal.process import get_default_transform +from bcipy.signal.process import get_default_transform, filter_inquiries, ERPTransformParams -logger.getLogger() +logger.getLogger().setLevel(logger.INFO) -SYMBOLS = alphabet() - - -def load_model(model_path: Path, k_folds: int): - """Load the PcaRdaKdeModel model at the given path""" - model = PcaRdaKdeModel(k_folds=k_folds) - model.load(model_path) +def load_model(model_path: Path, k_folds: int, model_class=PcaRdaKdeModel): + """Load the model at the given path""" + with open(model_path, "rb") as f: + model = pickle.load(f) + breakpoint() return model -def comparison1(data_folder, parameters, model_path: Path): - """Check that we get trials from correct positions""" - - # extract relevant session information from parameters file - trial_length = parameters.get("trial_length") +def generate_replay_outputs( + data_folder, + parameters, + model_path: Path, + model_class=PcaRdaKdeModel, + symbol_set=alphabet(), + write_output=False) -> Tuple[dict, list, list]: + """Replay a session and generate outputs for the provided model. + + Parameters + ---------- + data_folder: Path + Path to the data folder containing the session data (session.json, raw_data.csv, triggers.txt) + parameters: dict + Parameters to use for the replay session. + model_path: Path + Path to the model to use for the replay session. + model_class: class + Class of the model to use for the replay session. By default, this is PcaRdaKdeModel. + symbol_set: list + List of symbols to use for the replay session. By default, this is the alphabet. + write_output: bool + Whether or not to write the output to a file. By default, this is False. + + Returns + ------- + tuple - new_model_outputs, old_model_target_output, old_model_nontarget_output + """ + k_folds = parameters.get("k_folds") + model = load_model(model_path, k_folds, model_class) + logger.info(f"Loaded model from {model_path}") + + # get trial information; to make backwards compatible, we will try to get the trial length + # from the parameters file (old), but if it's not there, we use the trial window and adjust timing (>2.0). + adjust_trials_by_window = False + trial_length = parameters.get("trial_length", None) + if trial_length is None: + trial_window = parameters.get("trial_window") + trial_length = trial_window[1] - trial_window[0] + adjust_trials_by_window = True + logger.info(f"Trial Window: {trial_window[0]}-{trial_window[1]}s") + trials_per_inquiry = parameters.get("stim_length") prestim_length = parameters.get("prestim_length", trial_length) - # time_flash = parameters.get("time_flash") + buffer_length = int(parameters.get("task_buffer_length") / 2) # get signal filtering information - downsample_rate = parameters.get("down_sampling_rate") - notch_filter = parameters.get("notch_filter_frequency") - hp_filter = parameters.get("filter_high") - lp_filter = parameters.get("filter_low") - filter_order = parameters.get("filter_order") static_offset = parameters.get("static_trigger_offset") k_folds = parameters.get("k_folds") + transform_params = parameters.instantiate(ERPTransformParams) + downsample_rate = transform_params.down_sampling_rate + + logger.info( + f"\nData processing settings: \n" + f"{str(transform_params)} \n" + f"Trial Length: {trial_length}s, Trials per Inquiry: {trials_per_inquiry} \n" + f"Prestimulus Buffer: {prestim_length}s, Poststimulus Buffer: {buffer_length}s \n" + f"Static offset: {static_offset}" + ) - # Load raw data raw_data = load_raw_data(Path(data_folder, f"{RAW_DATA_FILENAME}.csv")) channels = raw_data.channels type_amp = raw_data.daq_type sample_rate = raw_data.sample_rate - devices.load(Path(data_folder, DEFAULT_DEVICE_SPEC_FILENAME)) device_spec = devices.preconfigured_device(raw_data.daq_type) - - logger.info(f"Channels read from csv: {channels}") - logger.info(f"Device type: {type_amp}") - - # data = raw_data.by_channel() - default_transform = get_default_transform( - sample_rate_hz=sample_rate, - notch_freq_hz=notch_filter, - bandpass_low=lp_filter, - bandpass_high=hp_filter, - bandpass_order=filter_order, - downsample_factor=downsample_rate, - ) - data, transformed_sample_rate = default_transform(raw_data.by_channel(), sample_rate) - - # Process triggers.txt - trigger_targetness, trigger_timing, trigger_labels = trigger_decoder( - offset=static_offset, - trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", - exclusion=[TriggerType.PREVIEW, TriggerType.EVENT], - ) - # Channel map can be checked from raw_data.csv file. - # The timestamp column is already excluded. channel_map = analysis_channels(channels, device_spec) - model = load_model(model_path, k_folds) + # extract the raw data for the channels we care about. The channel map will further reduce this if necessary. + # by default, only the sample number and internal trigger channels are excluded. + raw_data, _ = raw_data.by_channel() - # data , [0: 1, 0, 1], [0, ... , n] - inquiries, _, inquiry_timing = InquiryReshaper()( - trial_targetness_label=trigger_targetness, - timing_info=trigger_timing, - eeg_data=data, - sample_rate=transformed_sample_rate, - trials_per_inquiry=trials_per_inquiry, - channel_map=channel_map, - poststimulus_length=trial_length, - prestimulus_length=prestim_length, - transformation_buffer=trial_length, # use this to add time to the end of the Inquiry for processing! - ) - - # NOTE - - # If doing: Raw -> filter -> inquiries -> InquiryReshaper.extract_trials - # Then do: use downsample_rate=1 during InquiryReshaper.extract_trials - # If doing: Raw -> inquiries -> filter -> InquiryReshaper.extract_trials - # Then do: use downsample_rate=2 during InquiryReshaper.extract_trials - - # Uncomment to filter by inquiries - # inquiries = filter_inquiries(inquiries, default_transform, sample_rate) - trial_duration_samples = int(trial_length * transformed_sample_rate) - inquiry_timing = update_inquiry_timing(inquiry_timing, transformed_sample_rate) - trials = InquiryReshaper.extract_trials(inquiries, trial_duration_samples, inquiry_timing) - - # "Can we get the trials from exact same time windows" - # 1a: raw data -> filtered data -> TrialReshaper - # 1b: raw data -> filtered -> InquiryReshaper -> TrialReshaper - # Note that we're not doing the same kind of preprocessing - # as we do "online". - # uncomment to validate against the trial reshaper. Note: check reshape parameters are set correctly! - validate_response = validate_inquiry_based_trials_against_trial_reshaper( - raw_data, - raw_data.sample_rate, - model, - default_transform, - trigger_targetness, - trigger_timing, - trials_per_inquiry, - channel_map, - trial_length, - trials, - ) - logger.info(f"Inquiry trials == trial reshaper? {validate_response}") - assert validate_response - - -def generate_replay_outputs(data_folder, parameters, model_path: Path, write_output=False): - """Try running a previous model as follows. Shouldn't get errors. - - # 2a (real, online model): raw -> inquiries -> filter -> trials -> model preds - # 2b (trying to replay): raw data -> InquiryReshaper -> filtered -> TrialReshaper - - raw data -> inquiries -> filter -> trials -> run model - """ - - # extract relevant session information from parameters file - trial_length = parameters.get("trial_length") - trials_per_inquiry = parameters.get("stim_length") - prestim_length = parameters.get("prestim_length", trial_length) - # time_flash = parameters.get("time_flash") - - # get signal filtering information - downsample_rate = parameters.get("down_sampling_rate") - notch_filter = parameters.get("notch_filter_frequency") - hp_filter = parameters.get("filter_high") - lp_filter = parameters.get("filter_low") - filter_order = parameters.get("filter_order") - static_offset = parameters.get("static_trigger_offset") - k_folds = parameters.get("k_folds") - - # Load raw data - raw_data = load_raw_data(Path(data_folder, f"{RAW_DATA_FILENAME}.csv")) - channels = raw_data.channels - type_amp = raw_data.daq_type - sample_rate = raw_data.sample_rate - - devices.load(Path(data_folder, DEFAULT_DEVICE_SPEC_FILENAME)) - device_spec = devices.preconfigured_device(raw_data.daq_type) - - logger.info(f"Channels read from csv: {channels}") logger.info(f"Device type: {type_amp}") + logger.info(f"Channels read from csv: {channels}") + channels_used = [channels[i] for i, keep in enumerate(channel_map) if keep == 1] + logger.info(f'Channels used in analysis: {channels_used}') - # Process triggers.txt trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( offset=static_offset, trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", exclusion=[TriggerType.PREVIEW, TriggerType.EVENT], ) - # Channel map can be checked from raw_data.csv file. - # The timestamp column is already excluded. - channel_map = analysis_channels(channels, device_spec) - model = load_model(model_path, k_folds) + # Adjust trigger timing by trial window if necessary + if adjust_trials_by_window: + trigger_timing = [timing + trial_window[0] for timing in trigger_timing] - # data , [0: 1, 0, 1], [0, ... , n] inquiries, inquiry_labels, inquiry_timing = InquiryReshaper()( trial_targetness_label=trigger_targetness, timing_info=trigger_timing, - eeg_data=raw_data.by_channel(), - fs=sample_rate, + eeg_data=raw_data, + sample_rate=sample_rate, trials_per_inquiry=trials_per_inquiry, channel_map=channel_map, poststimulus_length=trial_length, prestimulus_length=prestim_length, - transformation_buffer=trial_length, # use this to add time to the end of the Inquiry for processing! + transformation_buffer=buffer_length, ) default_transform = get_default_transform( sample_rate_hz=sample_rate, - notch_freq_hz=notch_filter, - bandpass_low=lp_filter, - bandpass_high=hp_filter, - bandpass_order=filter_order, - downsample_factor=downsample_rate, + notch_freq_hz=transform_params.notch_filter_frequency, + bandpass_low=transform_params.filter_low, + bandpass_high=transform_params.filter_high, + bandpass_order=transform_params.filter_order, + downsample_factor=transform_params.down_sampling_rate, ) + inquiries, transformed_sample_rate = filter_inquiries(inquiries, default_transform, sample_rate) trial_duration_samples = int(trial_length * transformed_sample_rate) - inquiry_timing = update_inquiry_timing(inquiry_timing, transformed_sample_rate) + inquiry_timing = update_inquiry_timing(inquiry_timing, downsample_rate) trials = InquiryReshaper.extract_trials(inquiries, trial_duration_samples, inquiry_timing) - alpha = alphabet() + # get the model outputs using the reshaped data outputs = {} inquiry_worth_of_trials = np.split(trials, inquiries.shape[1], 1) inquiry_worth_of_letters = grouper(trigger_symbols, trials_per_inquiry, incomplete="ignore") for i, (inquiry_trials, this_inquiry_letters, this_inquiry_labels) in enumerate( zip(inquiry_worth_of_trials, inquiry_worth_of_letters, inquiry_labels) ): - response = model.predict(inquiry_trials, this_inquiry_letters, symbol_set=alpha) + response = model.predict(inquiry_trials, this_inquiry_letters, symbol_set=symbol_set) if np.any(this_inquiry_labels == 1): index_of_target_trial = np.argwhere(this_inquiry_labels == 1)[0][0] target_letter = this_inquiry_letters[index_of_target_trial] - target_index_in_alphabet = alpha.index(target_letter) + target_index_in_alphabet = symbol_set.index(target_letter) - nontarget_idx_in_alphabet = [alpha.index(q) for q in this_inquiry_letters if q != target_letter] + nontarget_idx_in_alphabet = [symbol_set.index(q) for q in this_inquiry_letters if q != target_letter] else: target_index_in_alphabet = None - nontarget_idx_in_alphabet = [alpha.index(q) for q in this_inquiry_letters] + nontarget_idx_in_alphabet = [symbol_set.index(q) for q in this_inquiry_letters] outputs[i] = { "eeg_evidence": list(response), @@ -237,14 +176,31 @@ def generate_replay_outputs(data_folder, parameters, model_path: Path, write_out with open(data_folder / "replay_outputs.json", "w") as f: json.dump(outputs, f, indent=2) - # Get values computed during actual experiment from session.json + # TODO separate this from the method + # Get values computed during actual experiment from session.json for comparison session_json = data_folder / SESSION_DATA_FILENAME - all_target_eeg, all_nontarget_eeg = load_from_session_json(session_json) + all_target_eeg, all_nontarget_eeg = load_eeg_evidence_from_session_json(session_json, symbol_set) return outputs, all_target_eeg, all_nontarget_eeg -def load_from_session_json(session_json) -> list: +def load_eeg_evidence_from_session_json(session_json, symbol_set) -> Tuple[list, list]: + """Load EEG evidence from session.json file for comparison with replay outputs. + + Parameters + ---------- + session_json : str + Path to session.json file + symbol_set : list + List of symbols used in experiment + + Returns + ------- + all_target_eeg : list + List of EEG evidence for target stimuli + all_nontarget_eeg : list + List of EEG evidence for nontarget stimuli + """ with open(session_json, "r") as f: contents = json.load(f) series = contents["series"] @@ -258,10 +214,10 @@ def load_from_session_json(session_json) -> list: continue else: stim_label = inquiry["stimuli"][0] # name of symbols presented - stim_label.pop(0) - stim_indices = [SYMBOLS.index(sym) for sym in stim_label] + stim_label.pop(0) # remove fixation cross + stim_indices = [symbol_set.index(sym) for sym in stim_label] targetness = inquiry["target_info"] # targetness of stimuli - # target_letter = inquiry['target_letter'] + targetness.pop(0) # remove fixation cross target = [index for index, label in zip(stim_indices, targetness) if label == "target"] nontarget = [index for index, label in zip(stim_indices, targetness) if label == "nontarget"] all_target_eeg.extend([inquiry["eeg_evidence"][pos] for pos in target]) @@ -270,49 +226,27 @@ def load_from_session_json(session_json) -> list: return all_target_eeg, all_nontarget_eeg -def validate_inquiry_based_trials_against_trial_reshaper( - raw_data, - sample_rate, - model, - transform, - trigger_targetness, - trigger_timing, - trials_per_inquiry, - channel_map, - trial_length, - inquiry_trials, -): - """Add np.allclose(new_trials, trials)""" - data, sample_rate = transform(raw_data.by_channel(), sample_rate) - # because the reshapers can change timing with offsets, we should still return the timing that updated - trials, _targetness_labels = TrialReshaper()( - trial_targetness_label=trigger_targetness, - timing_info=trigger_timing, - eeg_data=data, - sample_rate=sample_rate, - channel_map=channel_map, - poststimulus_length=trial_length, - ) - - logger.info(f"is finite (trials): {np.all(np.isfinite(trials))}") - logger.info(f"is finite (inquiry_trials): {np.all(np.isfinite(inquiry_trials))}") - is_allclose = np.allclose(trials, inquiry_trials) - logger.info(f"Is allclose: {is_allclose}") - return is_allclose - - -def filter_inquiries(inquiries, transform, sample_rate): - old_shape = inquiries.shape # (C, I, 699) - inq_flatten = inquiries.reshape(-1, old_shape[-1]) # (C*I, 699) - inq_flatten_filtered, transformed_sample_rate = transform(inq_flatten, sample_rate) - inquiries = inq_flatten_filtered.reshape(*old_shape[:2], inq_flatten_filtered.shape[-1]) # (C, I, ...) - return inquiries, transformed_sample_rate - - -def plot_collected_outputs(outputs_with_new_model, targets_with_old_model, nontargets_with_old_model, outdir): +def plot_collected_outputs( + outputs_with_new_model: dict, + targets_with_old_model: list, + nontargets_with_old_model: list, + outdir: str) -> None: + """Plot collected outputs from replay experiment. + + Parameters + ---------- + outputs_with_new_model : dict + List of outputs from replay experiment using new model + targets_with_old_model : list + List of outputs from the session data using old model for target stimuli + nontargets_with_old_model : list + List of outputs from the session using old model for nontarget stimuli + outdir : str + Path to directory to save plots + """ records = [] for output in outputs_with_new_model: # each session - for inquiry_idx, inquiry_contents in output.items(): # each inquiry + for _, inquiry_contents in output.items(): # each inquiry target_idx = inquiry_contents["target_idx"] if target_idx is not None: records.append( @@ -373,30 +307,58 @@ def plot_collected_outputs(outputs_with_new_model, targets_with_old_model, nonta import argparse parser = argparse.ArgumentParser() - parser.add_argument("-d", "--data_folders", action="append", type=Path, default=None) + parser.add_argument( + "-d", + "--data_folders", + action="append", + type=Path, + required=True, + help="Session data folders to be processed. This argument can be repeated to accumulate sessions data.") parser.add_argument("-m", "--model_file", required=True) - outdir = Path(__file__).resolve().parent - logger.info(f"Outdir: {outdir}") + parser.add_argument("-o", "--outdir", type=Path, default=None) + parser.add_argument( + "-p", + "--parameter_file", + type=Path, + default=None, + help="Parameter file to be used for replay. If none, the session parameter file will be used.") + args = parser.parse_args() assert len(set(args.data_folders)) == len(args.data_folders), "Duplicated data folders" + if args.outdir is None: + args.outdir = Path(__file__).resolve().parent + + logger.info(f"Outdir: {args.outdir}") + outputs_with_new_model = [] targets_with_old_model = [] nontargets_with_old_model = [] for data_folder in args.data_folders: logger.info(f"Processing {data_folder}") - params_file = Path(data_folder, DEFAULT_PARAMETER_FILENAME) + + if args.parameter_file is not None: + params_file = args.parameter_file + else: + params_file = Path(data_folder, DEFAULT_PARAMETER_FILENAME) logger.info(f"Loading params from {params_file}") params = load_json_parameters(params_file, value_cast=True) - comparison1(data_folder, params, args.model_file) + + # Generate replay outputs using the model provided against the session data in data_folder outputs, all_target_eeg, all_nontarget_eeg = generate_replay_outputs( - data_folder, params, args.model_file, write_output=True + data_folder, params, args.model_file, write_output=False ) outputs_with_new_model.append(outputs) targets_with_old_model.extend(all_target_eeg) nontargets_with_old_model.extend(all_nontarget_eeg) - plot_collected_outputs(outputs_with_new_model, targets_with_old_model, nontargets_with_old_model, outdir) + plot_collected_outputs( + outputs_with_new_model, + targets_with_old_model, + nontargets_with_old_model, + args.outdir) + + breakpoint() logger.info("Replay complete.") From 4d79b5a300362459d63c032514586f9d024ff616 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 18 Aug 2023 11:23:01 -0700 Subject: [PATCH 054/330] Functionality for computing grid positions using psychopy 'norm' units --- bcipy/display/components/layout.py | 83 +++++++++++++++---- bcipy/display/paradigm/matrix/layout.py | 57 +++++++++++++ .../paradigm/matrix/test_matrix_layout.py | 83 +++++++++++++++++++ 3 files changed, 206 insertions(+), 17 deletions(-) create mode 100644 bcipy/display/paradigm/matrix/layout.py create mode 100644 bcipy/display/tests/paradigm/matrix/test_matrix_layout.py diff --git a/bcipy/display/components/layout.py b/bcipy/display/components/layout.py index 1091c52d3..c9bd3d083 100644 --- a/bcipy/display/components/layout.py +++ b/bcipy/display/components/layout.py @@ -1,9 +1,10 @@ """Defines common functionality for GUI layouts.""" -from typing import Tuple +from typing import Protocol, Tuple + from psychopy import visual -class Container: +class Container(Protocol): """Protocol for an enclosing container with units and size.""" win: visual.Window size: Tuple[float, float] @@ -28,21 +29,6 @@ def units(self): return self.win.units -def at_top(parent: Container, height: float): - """Constructs a layout of a given height that spans the full width of the - window and is positioned at the top. - - Parameters - ---------- - height - value in 'norm' units - """ - return Layout(parent=parent, - left=-1.0, - top=1.0, - right=1.0, - bottom=1.0 - height) - - class Layout(Container): """Base class for a component with methods for positioning elements. """ @@ -127,3 +113,66 @@ def left_middle(self) -> Tuple[float, float]: def right_middle(self) -> Tuple[float, float]: """Point centered on the right-most edge.""" return (self.right, self.vertical_middle) + + def above(self, y_coordinate: float, amount: float) -> float: + """Returns a new y_coordinate value that is above the provided value + by the given amount.""" + # assert self.bottom <= y_coordinate <= self.top, "y_coordinate out of range" + assert amount >= 0, 'Amount must be positive' + return y_coordinate + amount + + def below(self, y_coordinate: float, amount: float) -> float: + """Returns a new y_coordinate value that is below the provided value + by the given amount.""" + # assert self.bottom <= y_coordinate <= self.top, "y_coordinate out of range" + assert amount >= 0, 'Amount must be positive' + return y_coordinate - amount + + def right_of(self, x_coordinate: float, amount: float) -> float: + """Returns a new x_coordinate value that is to the right of the + provided value by the given amount.""" + # assert self.left <= x_coordinate <= self.right, "y_coordinate out of range" + assert amount >= 0, 'Amount must be positive' + return x_coordinate + amount + + def left_of(self, x_coordinate: float, amount: float) -> float: + """Returns a new x_coordinate value that is to the left of the + provided value by the given amount.""" + # assert self.left <= x_coordinate <= self.right, "y_coordinate out of range" + assert amount >= 0, 'Amount must be positive' + return x_coordinate - amount + + +def at_top(parent: Container, height: float): + """Constructs a layout of a given height that spans the full width of the + window and is positioned at the top. + + Parameters + ---------- + height - value in 'norm' units + """ + return Layout(parent=parent, + left=-1.0, + top=1.0, + right=1.0, + bottom=1.0 - height) + + +def centered(parent: Container, width: float = None, height: float = None): + """Constructs a centered layout""" + + +def below(layout: Layout, width: float = None, height: float = None): + """Constructs a layout below another layout. + + Parameters + ---------- + layout - another layout relative to the one constructed. Other + properties will be copied from this one. + """ + # TODO: account for height + return Layout(parent=layout.parent, + left=-1.0, + top=layout.bottom, + right=1.0, + bottom=-1.0) \ No newline at end of file diff --git a/bcipy/display/paradigm/matrix/layout.py b/bcipy/display/paradigm/matrix/layout.py new file mode 100644 index 000000000..682a2a66a --- /dev/null +++ b/bcipy/display/paradigm/matrix/layout.py @@ -0,0 +1,57 @@ +"""Functions for calculating matrix layouts""" +from typing import List, Tuple + +from bcipy.display.components.layout import Layout + + +def symbol_positions(layout: Layout, rows: int, + columns: int) -> List[Tuple[float, float]]: + """Compute the positions for arranging a number of symbols in a grid + layout. + + Parameters + ---------- + layout - layout in which the grid should be placed + rows - number of rows in the grid + columns - number of columns in the grid + + Returns + ------- + list of (x,y) tuples with (rows * columns) positions in row,col order + """ + assert rows >= 1 and columns >= 1, "There must be at least one row and one column" + + # compute the spacing (in layout units) from the layout width and height + horizontal_spacing = layout.width / (rows + 1) + vertical_spacing = layout.height / (columns + 1) + spacing = min(horizontal_spacing, vertical_spacing) + half_space = spacing / 2 + + # Work back from center to compute the starting position + center_x, center_y = layout.center + spaces_left_of_center = int(columns / 2) + start_pos_left = layout.left_of(center_x, spaces_left_of_center * spacing) + if columns % 2 == 0 and columns > 1: + # even number of columns; adjust start_pos so that center_x is between + # the middle two items. + start_pos_left = layout.right_of(start_pos_left, half_space) + + spaces_above_center = int(rows / 2) + start_pos_top = layout.above(center_y, spaces_above_center * spacing) + if rows % 2 == 0 and rows > 1: + start_pos_top = layout.below(start_pos_top, half_space) + + # adjust the beginning x,y values so adding a space results in the first + # position. + x_coord = layout.left_of(start_pos_left, spacing) + y_coord = layout.above(start_pos_top, spacing) + + positions = [] + for _row in range(rows): + y_coord = layout.below(y_coord, spacing) + x_coord = layout.left_of(start_pos_left, spacing) + for _col in range(columns): + x_coord = layout.right_of(x_coord, spacing) + positions.append((x_coord, y_coord)) + + return positions \ No newline at end of file diff --git a/bcipy/display/tests/paradigm/matrix/test_matrix_layout.py b/bcipy/display/tests/paradigm/matrix/test_matrix_layout.py new file mode 100644 index 000000000..d6d115b4e --- /dev/null +++ b/bcipy/display/tests/paradigm/matrix/test_matrix_layout.py @@ -0,0 +1,83 @@ +"""Tests for Matrix layout functions""" +import unittest + +from mockito import mock + +from bcipy.display.components.layout import Layout, WindowContainer +from bcipy.display.paradigm.matrix.layout import symbol_positions + + +class TestMatrixLayout(unittest.TestCase): + """Tests for calculating the grid layout""" + + def setUp(self): + """Set up needed items for test.""" + self.window = mock({"size": (500, 500), "units": "norm"}) + self.container = WindowContainer(win=self.window) + self.layout = Layout(parent=self.container, + left=-1.0, + top=1.0, + right=1.0, + bottom=-1.0) + + def test_regular_grid(self): + """Test basic properties of a regular grid""" + row_count = 4 + col_count = 5 + positions = symbol_positions(self.layout, + rows=row_count, + columns=col_count) + self.assertEqual(len(positions), 20) + + x_coords = [pos[0] for pos in positions] + y_coords = [pos[1] for pos in positions] + self.assertEqual(len(set(y_coords)), row_count) + self.assertEqual(len(set(x_coords)), col_count) + + def test_single_row(self): + """Test position calculations for a single row""" + + positions = symbol_positions(self.layout, rows=1, columns=10) + self.assertEqual(len(positions), 10) + + y_coord = positions[0][1] + self.assertEqual(y_coord, self.layout.center[1], + "y-values should be centered") + self.assertTrue(all(pos[1] == y_coord for pos in positions), + "all coordinates have the same y-value") + self.assertEqual(len(set(pos[0] for pos in positions)), len(positions), + "all x-values should be different") + self.assertTrue( + all(self.layout.left <= pos[0] <= self.layout.right + for pos in positions), + "all x-values should be within the bounds of the display") + + self.assertAlmostEqual(abs(self.layout.left - positions[0][0]), + abs(self.layout.right - positions[-1][0]), + msg="should have the same left and right gap") + # should all be equally spaced + + def test_single_column(self): + """Test position calculations for a single column""" + positions = symbol_positions(self.layout, rows=10, columns=1) + self.assertEqual(len(positions), 10) + + x_coord = positions[0][0] + self.assertEqual(x_coord, self.layout.center[0], + "x-values should be centered") + self.assertTrue(all(pos[0] == x_coord for pos in positions), + "all coordinates have the same x-value") + self.assertEqual(len(set(pos[1] for pos in positions)), len(positions), + "all y-values should be different") + self.assertTrue( + all(self.layout.bottom <= pos[1] <= self.layout.top + for pos in positions), + "all y-values should be within the bounds of the display") + + self.assertAlmostEqual(abs(self.layout.top - positions[0][1]), + abs(self.layout.bottom - positions[-1][1]), + msg="should have the same top and bottom gap") + + +if __name__ == '__main__': + unittest.main() \ No newline at end of file From bf20fd4d025588d3a2aaecf66b68e5f0af7104f3 Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Fri, 18 Aug 2023 15:37:24 -0400 Subject: [PATCH 055/330] GazeReshaper updates --- bcipy/helpers/stimuli.py | 49 ++++++++------------------ bcipy/signal/model/offline_analysis.py | 19 +++++++--- scripts/python/plot_inquiry_data.py | 40 ++++++++------------- 3 files changed, 44 insertions(+), 64 deletions(-) diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 2a501c72d..d4d509bf5 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -176,6 +176,8 @@ def get_inquiry_len(inq_trigs): stop = first_trigger + num_samples_per_inq + buffer_samples reshaped_data.append(eeg_data[:, start:stop]) + breakpoint() + return np.stack(reshaped_data, 1), labels, reshaped_trigger_timing @staticmethod @@ -229,7 +231,8 @@ def extract_trials( class GazeReshaper: def __call__(self, trial_targetness_label: List[str], - timing_info: List[float], + inq_start_times: List[float], + target_symbols: List[str], gaze_data: np.ndarray, sample_rate: int, trials_per_inquiry: int, @@ -238,7 +241,8 @@ def __call__(self, poststimulus_length: float = 0.5, prestimulus_length: float = 0.0, transformation_buffer: float = 0.0, - target_label: str = 'target') -> Tuple[np.ndarray, np.ndarray]: + target_label: str = 'target' + ) -> Tuple[np.ndarray, np.ndarray]: """Extract inquiry data and labels. Args: @@ -268,38 +272,17 @@ def __call__(self, channels_to_remove = [idx for idx, value in enumerate(channel_map) if value == 0] gaze_data = np.delete(gaze_data, channels_to_remove, axis=0) - n_inquiry = len(timing_info) // trials_per_inquiry - trial_duration_samples = int(poststimulus_length * sample_rate) + n_inquiry = len(inq_start_times) prestimulus_samples = int(prestimulus_length * sample_rate) - # triggers in seconds are mapped to triggers in number of samples. - triggers = list(map(lambda x: int((x + offset) * sample_rate), timing_info)) - - inquiry_triggers = list(map(lambda x: int(x * sample_rate), timing_info)) - - - # First, find the longest inquiry in this experiment - # We'll add or remove a few samples from all other inquiries, to match this length - def get_inquiry_len(inq_trigs): - return inq_trigs[-1] - inq_trigs[0] - - # Finds the longest inquiry in the experiment by subtracting the first trigger from the last trigger in each inquiry - longest_inquiry = max(grouper(triggers, trials_per_inquiry, fillvalue='x'), key=lambda xy: get_inquiry_len(xy)) - # What we need is to find the shortest distance from 1st letter to last in each inquiry - shortest_inquiry = min(grouper(triggers, inquiry_triggers, trials_per_inquiry, fillvalue='x')) - - # We will trim off the extra bits in each inquiry to match the shortest inquiry - - - - num_samples_per_inq = get_inquiry_len(longest_inquiry) + trial_duration_samples - buffer_samples = int(transformation_buffer * sample_rate) + # triggers in seconds are mapped to triggers in number of samples. + triggers = list(map(lambda x: int(x * sample_rate), inq_start_times)) + # TODO: This ends up adding ~300ms shift to the triggers. Why? # Label for every inquiry - labels = np.zeros( - (n_inquiry, trials_per_inquiry), dtype=np.compat.long - ) # maybe this can be configurable? return either class indexes or labels ('nontarget' etc) + labels = target_symbols + reshaped_data, reshaped_trigger_timing = [], [] for inquiry_idx, trials_within_inquiry in enumerate( grouper(zip(trial_targetness_label, triggers), trials_per_inquiry, fillvalue='x') @@ -308,15 +291,13 @@ def get_inquiry_len(inq_trigs): trial_triggers = [] for trial_idx, (trial_label, trigger) in enumerate(trials_within_inquiry): - if trial_label == target_label: - labels[inquiry_idx, trial_idx] = 1 - # If presimulus buffer is used, we add it here so that trigger timings will # still line up with trial onset + breakpoint() trial_triggers.append((trigger - first_trigger) + prestimulus_samples) reshaped_trigger_timing.append(trial_triggers) - start = first_trigger - prestimulus_samples - stop = first_trigger + num_samples_per_inq + buffer_samples + start = first_trigger + stop = first_trigger + (sample_rate * 3) # (60 samples * 3 seconds) reshaped_data.append(gaze_data[:, start:stop]) breakpoint() diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 372633da0..01500d260 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -267,22 +267,33 @@ def offline_analysis( trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( remove_pre_fixation = False, trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", - exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION, TriggerType.OFFSET], + #exclusion=[TriggerType.PREVIEW, TriggerType.EVENT] + exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION, TriggerType.SYSTEM, TriggerType.OFFSET] ) + ''' Trigger_timing includes PROMPT and excludes FIXATION ''' + # Use trigger_timing to generate time windows for each letter flashing + # Take every 10th trigger as the start point of timing. x = list(range(1000)), x[0::10] does that! + # trigger_targetness keeps the PROMPT info, use it to find the target symbol! + target_symbols = trigger_symbols[0::11] # target symbols + inq_start = trigger_timing[1::11] # start of each inquiry (here we jump over prompts) + breakpoint() + + # Need to calculate the starting index, using inq_start. inquiries, inquiry_labels, inquiry_timing = model.reshaper( trial_targetness_label=trigger_targetness, - timing_info=trigger_timing, + inq_start_times=inq_start, + target_symbols = target_symbols, gaze_data=data, sample_rate=sample_rate, trials_per_inquiry=trials_per_inquiry, channel_map=channel_map, poststimulus_length=poststim_length, prestimulus_length=prestim_length, - transformation_buffer=buffer, + transformation_buffer=buffer ) - breakpoint() + # Merge subset of time windows if they have the same target symbol: if alert_finished: diff --git a/scripts/python/plot_inquiry_data.py b/scripts/python/plot_inquiry_data.py index 4243ad134..21e4a2130 100644 --- a/scripts/python/plot_inquiry_data.py +++ b/scripts/python/plot_inquiry_data.py @@ -2,22 +2,24 @@ from bcipy.config import STATIC_IMAGES_PATH DIPSIZE = (1707, 1067) -IMG_PATH = f'{STATIC_IMAGES_PATH}/main/matrix_grid.png' +IMG_PATH = f'{STATIC_IMAGES_PATH}/main/matrix.png' TOBII_FILENAME = 'eyetracker_data_tobii-p0.csv' def load_eye_tracking_data(path): data = load(f'{path}/{TOBII_FILENAME}') - left_eye_channel_map = [0,0,1,1,0,0,0,0,0] + left_eye_channel_map = [0,0,1,1,1,0,0,0,0] left_eye_data, _, _ = data.by_channel_map(left_eye_channel_map) left_eye_x = left_eye_data[0] left_eye_y = left_eye_data[1] + left_pupil = left_eye_data[2] - right_eye_channel_map = [0,0,0,0,0,1,1,0,0] + right_eye_channel_map = [0,0,0,0,0,1,1,1,0] right_eye_data, _, _ = data.by_channel_map(right_eye_channel_map) right_eye_x = right_eye_data[0] right_eye_y = right_eye_data[1] - return left_eye_x, left_eye_y, right_eye_x, right_eye_y + right_pupil = right_eye_data[2] + return left_eye_x, left_eye_y, left_pupil, right_eye_x, right_eye_y, right_pupil if __name__ == "__main__": @@ -44,7 +46,8 @@ def load_eye_tracking_data(path): path = load_experimental_data() data = load_eye_tracking_data(path) - lx, ly, rx, ry = data + lx, ly, lp, rx, ry, rp = data + dpi = 100 @@ -73,32 +76,17 @@ def load_eye_tracking_data(path): # ax.plot(rx, ry, c='b', linewidth=1) # # remove nan values - # lx = lx[~np.isnan(lx)] - # ly = ly[~np.isnan(ly)] - # rx = rx[~np.isnan(rx)] - # ry = ry[~np.isnan(ry)] + lx = lx[~np.isnan(lx)] + ly = ly[~np.isnan(ly)] + rx = rx[~np.isnan(rx)] + ry = ry[~np.isnan(ry)] # determine kde of the eye data # ax = sns.kdeplot(rx, ry, cmap="mako", fill=False, thresh=0.05, levels=10) - lx_inq = lx[48368:48535] - ly_inq = ly[48368:48535] - rx_inq = rx[48368:48535] - ry_inq = ry[48368:48535] - # remove nan values - lx_inq = lx_inq[~np.isnan(lx_inq)] - ly_inq = ly_inq[~np.isnan(ly_inq)] - rx_inq = rx_inq[~np.isnan(rx_inq)] - ry_inq = ry_inq[~np.isnan(ry_inq)] - - - ax.scatter(lx_inq, ly_inq, c='r', s=1) - ax.scatter(rx_inq, ry_inq, c='b', s=1) - - - # ax.scatter(lx, ly, c='r', s=1) - # ax.scatter(rx, ry, c='b', s=1) + ax.scatter(lx, ly, c='r', s=1) + ax.scatter(rx, ry, c='b', s=1) plt.show() From 8350d7cb17c14e22ccd7e28e6aabf14fcd354d67 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 18 Aug 2023 13:35:25 -0700 Subject: [PATCH 056/330] Refactor matrix display to use StimuliProperties for stim height --- .../demo/matrix/demo_calibration_matrix.py | 10 +++---- .../demo/matrix/demo_copyphrase_matrix.py | 8 ++--- bcipy/display/paradigm/matrix/display.py | 29 ++++++++++++------- 3 files changed, 28 insertions(+), 19 deletions(-) diff --git a/bcipy/display/demo/matrix/demo_calibration_matrix.py b/bcipy/display/demo/matrix/demo_calibration_matrix.py index 6dd8038ac..0ffa90234 100644 --- a/bcipy/display/demo/matrix/demo_calibration_matrix.py +++ b/bcipy/display/demo/matrix/demo_calibration_matrix.py @@ -1,11 +1,11 @@ """Demo Matrix Display functionality related to Calibration task logic.""" # pylint: disable=invalid-name from psychopy import core -from bcipy.display import InformationProperties, StimuliProperties -from bcipy.display.paradigm.matrix.display import MatrixDisplay -from bcipy.display.components.task_bar import CalibrationTaskBar -from bcipy.display import init_display_window +from bcipy.display import (InformationProperties, StimuliProperties, + init_display_window) +from bcipy.display.components.task_bar import CalibrationTaskBar +from bcipy.display.paradigm.matrix.display import MatrixDisplay info = InformationProperties( info_color=['white'], @@ -17,7 +17,7 @@ stim_properties = StimuliProperties(stim_font='Arial', stim_pos=(-0.6, 0.4), - stim_height=0.1, + stim_height=0.17, is_txt_stim=True) # Initialize Stimulus diff --git a/bcipy/display/demo/matrix/demo_copyphrase_matrix.py b/bcipy/display/demo/matrix/demo_copyphrase_matrix.py index 10fcf340d..dca9c7e2c 100644 --- a/bcipy/display/demo/matrix/demo_copyphrase_matrix.py +++ b/bcipy/display/demo/matrix/demo_copyphrase_matrix.py @@ -5,10 +5,10 @@ from psychopy import core -from bcipy.display import (init_display_window, InformationProperties, - StimuliProperties) -from bcipy.display.paradigm.matrix.display import MatrixDisplay +from bcipy.display import (InformationProperties, StimuliProperties, + init_display_window) from bcipy.display.components.task_bar import CopyPhraseTaskBar +from bcipy.display.paradigm.matrix.display import MatrixDisplay info = InformationProperties( info_color=['White'], @@ -23,7 +23,7 @@ stim_properties = StimuliProperties(stim_font='Arial', stim_pos=(-0.6, 0.4), - stim_height=0.1, + stim_height=0.17, is_txt_stim=True) # Initialize Stimulus diff --git a/bcipy/display/paradigm/matrix/display.py b/bcipy/display/paradigm/matrix/display.py index 2b4d00ab8..c12a351ae 100644 --- a/bcipy/display/paradigm/matrix/display.py +++ b/bcipy/display/paradigm/matrix/display.py @@ -1,14 +1,15 @@ """Display for presenting stimuli in a grid.""" -from typing import Dict, List, Optional, Tuple, NamedTuple import logging +from typing import Dict, List, NamedTuple, Optional, Tuple -from psychopy import visual, core +from psychopy import core, visual -from bcipy.display import Display, StimuliProperties, InformationProperties, BCIPY_LOGO_PATH +from bcipy.display import (BCIPY_LOGO_PATH, Display, InformationProperties, + StimuliProperties) +from bcipy.display.components.task_bar import TaskBar from bcipy.helpers.stimuli import resize_image -from bcipy.helpers.triggers import _calibration_trigger from bcipy.helpers.symbols import alphabet -from bcipy.display.components.task_bar import TaskBar +from bcipy.helpers.triggers import _calibration_trigger class SymbolDuration(NamedTuple): @@ -79,7 +80,7 @@ def __init__( # Set position and parameters for grid of alphabet self.position = stimuli.stim_pos - self.grid_stimuli_height = .17 + self.grid_stimuli_height = stimuli.stim_height self.position_increment = self.grid_stimuli_height + .05 self.max_grid_width = 0.7 @@ -163,17 +164,25 @@ def build_grid(self) -> Dict[str, visual.TextStim]: Builds a 7x4 matrix of stimuli. """ grid = {} - pos = self.position - for sym in self.symbol_set: + positions = self.symbol_positions() + for i, sym in enumerate(self.symbol_set): grid[sym] = visual.TextStim(win=self.window, text=sym, color=self.grid_color, opacity=self.start_opacity, - pos=pos, + pos=positions[i], height=self.grid_stimuli_height) - pos = self.increment_position(pos) return grid + def symbol_positions(self) -> List[Tuple[float, float]]: + """Compute the symbol positions""" + positions = [] + pos = self.position + for _sym in self.symbol_set: + positions.append(pos) + pos = self.increment_position(pos) + return positions + def increment_position(self, pos: Tuple[float, float]) -> Tuple[float, float]: """Computes the position of the next symbol in the matrix.""" x_coordinate, y_coordinate = pos From 72100848fd7b5a60fb8bd50e4a8ca1ea99cf8db5 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 18 Aug 2023 17:11:33 -0700 Subject: [PATCH 057/330] Refactored matrix display to use the new module for computing positions; added parameters for rows and columns. --- bcipy/display/components/layout.py | 93 +++++++++++++++---- bcipy/display/main.py | 3 +- bcipy/display/paradigm/matrix/display.py | 32 ++----- bcipy/display/paradigm/matrix/layout.py | 31 ++++--- .../paradigm/matrix/test_matrix_display.py | 17 +--- 5 files changed, 102 insertions(+), 74 deletions(-) diff --git a/bcipy/display/components/layout.py b/bcipy/display/components/layout.py index c9bd3d083..ee33de35a 100644 --- a/bcipy/display/components/layout.py +++ b/bcipy/display/components/layout.py @@ -1,4 +1,5 @@ """Defines common functionality for GUI layouts.""" +from enum import Enum from typing import Protocol, Tuple from psychopy import visual @@ -29,12 +30,22 @@ def units(self): return self.win.units +DEFAULT_LEFT = -1.0 +DEFAULT_TOP = 1.0 +DEFAULT_RIGHT = 1.0 +DEFAULT_BOTTOM = -1.0 + + class Layout(Container): - """Base class for a component with methods for positioning elements. + """Class with methods for positioning elements within a parent container. """ - def __init__(self, parent: Container, left: float, top: float, - right: float, bottom: float): + def __init__(self, + parent: Container, + left: float = DEFAULT_LEFT, + top: float = DEFAULT_TOP, + right: float = DEFAULT_RIGHT, + bottom: float = DEFAULT_BOTTOM): self.parent = parent self.top = top @@ -143,7 +154,13 @@ def left_of(self, x_coordinate: float, amount: float) -> float: return x_coordinate - amount -def at_top(parent: Container, height: float): +class Alignment(Enum): + CENTERED = 1 + LEFT = 2 + RIGHT = 3 + + +def at_top(parent: Container, height: float) -> Layout: """Constructs a layout of a given height that spans the full width of the window and is positioned at the top. @@ -151,28 +168,64 @@ def at_top(parent: Container, height: float): ---------- height - value in 'norm' units """ + top = DEFAULT_TOP return Layout(parent=parent, - left=-1.0, - top=1.0, - right=1.0, - bottom=1.0 - height) - - -def centered(parent: Container, width: float = None, height: float = None): - """Constructs a centered layout""" + left=DEFAULT_LEFT, + top=top, + right=DEFAULT_RIGHT, + bottom=top - height) - -def below(layout: Layout, width: float = None, height: float = None): - """Constructs a layout below another layout. +def at_bottom(parent: Container, height: float) -> Layout: + """Constructs a layout of a given height that spans the full width of the + window and is positioned at the bottom""" + bottom = DEFAULT_BOTTOM + return Layout(parent=parent, + left=DEFAULT_LEFT, + top=DEFAULT_BOTTOM + height, + right=DEFAULT_RIGHT, + bottom=bottom) + + +def horizontally_aligned(parent: Layout, + alignment: Alignment, + width: float = None) -> Tuple[float, float]: + """Returns a tuple of (left, right), indicating the values to be used""" + + left = parent.left + right = parent.right + if width: + margin = parent.width - width + if alignment == Alignment.CENTERED: + half_margin = margin / 2 + left = left + half_margin + right = right - half_margin + elif alignment == Alignment.LEFT: + right = right - margin + elif alignment == Alignment.RIGHT: + left = left + margin + return left, right + + +def below(layout: Layout, + width_pct: float = 1.0, + alignment: Alignment = Alignment.CENTERED): + """Constructs a layout immediately below another layout. Parameters ---------- layout - another layout relative to the one constructed. Other properties will be copied from this one. + width_pct - percentage of the available width. """ - # TODO: account for height + width = layout.width * width_pct + + left, right = horizontally_aligned(layout, alignment, width) + top = layout.bottom + # bottom = top - height if height else DEFAULT_BOTTOM + bottom = DEFAULT_BOTTOM + return Layout(parent=layout.parent, - left=-1.0, - top=layout.bottom, - right=1.0, - bottom=-1.0) \ No newline at end of file + left=left, + top=top, + right=right, + bottom=bottom) \ No newline at end of file diff --git a/bcipy/display/main.py b/bcipy/display/main.py index 444bd2d89..8512fb98d 100644 --- a/bcipy/display/main.py +++ b/bcipy/display/main.py @@ -131,7 +131,7 @@ class StimuliProperties: def __init__( self, stim_font: str, - stim_pos: Tuple[float, float], + stim_pos: Union[Tuple[float, float], List[Tuple[float, float]]], stim_height: float, stim_inquiry: List[str] = None, stim_colors: List[str] = None, @@ -142,6 +142,7 @@ def __init__( stim_font(List[str]): Ordered list of colors to apply to information stimuli stim_pos(Tuple[float, float]): Position on window where the stimuli will be presented + or a list of positions (ex. for matrix displays) stim_height(float): Height of all stimuli stim_inquiry(List[str]): Ordered list of text to build stimuli with stim_colors(List[str]): Ordered list of colors to apply to stimuli diff --git a/bcipy/display/paradigm/matrix/display.py b/bcipy/display/paradigm/matrix/display.py index c12a351ae..8e52fcf3b 100644 --- a/bcipy/display/paradigm/matrix/display.py +++ b/bcipy/display/paradigm/matrix/display.py @@ -4,9 +4,11 @@ from psychopy import core, visual +import bcipy.display.components.layout as layout from bcipy.display import (BCIPY_LOGO_PATH, Display, InformationProperties, StimuliProperties) from bcipy.display.components.task_bar import TaskBar +from bcipy.display.paradigm.matrix.layout import symbol_positions from bcipy.helpers.stimuli import resize_image from bcipy.helpers.symbols import alphabet from bcipy.helpers.triggers import _calibration_trigger @@ -39,6 +41,7 @@ def __init__( stimuli: StimuliProperties, task_bar: TaskBar, info: InformationProperties, + rows:int=5, columns:int=6, trigger_type: str = 'text', symbol_set: Optional[List[str]] = None, should_prompt_target: bool = True): @@ -73,16 +76,19 @@ def __init__( self.stimuli_timing = [] self.stimuli_colors = [] self.stimuli_font = stimuli.stim_font + # self.symbol_positions = stimuli.stim_pos assert stimuli.is_txt_stim, "Matrix display is a text only display" self.symbol_set = symbol_set or alphabet() # Set position and parameters for grid of alphabet - self.position = stimuli.stim_pos self.grid_stimuli_height = stimuli.stim_height - self.position_increment = self.grid_stimuli_height + .05 - self.max_grid_width = 0.7 + + display_container = layout.below(task_bar.layout, + width_pct=0.7, + alignment=layout.Alignment.CENTERED) + self.positions = symbol_positions(display_container, rows, columns) self.grid_color = 'white' self.start_opacity = 0.15 @@ -164,33 +170,15 @@ def build_grid(self) -> Dict[str, visual.TextStim]: Builds a 7x4 matrix of stimuli. """ grid = {} - positions = self.symbol_positions() for i, sym in enumerate(self.symbol_set): grid[sym] = visual.TextStim(win=self.window, text=sym, color=self.grid_color, opacity=self.start_opacity, - pos=positions[i], + pos=self.positions[i], height=self.grid_stimuli_height) return grid - def symbol_positions(self) -> List[Tuple[float, float]]: - """Compute the symbol positions""" - positions = [] - pos = self.position - for _sym in self.symbol_set: - positions.append(pos) - pos = self.increment_position(pos) - return positions - - def increment_position(self, pos: Tuple[float, float]) -> Tuple[float, float]: - """Computes the position of the next symbol in the matrix.""" - x_coordinate, y_coordinate = pos - x_coordinate += self.position_increment - if x_coordinate >= self.max_grid_width: - y_coordinate -= self.position_increment - x_coordinate = self.position[0] - return (x_coordinate, y_coordinate) def draw_grid(self, opacity: float = 1, diff --git a/bcipy/display/paradigm/matrix/layout.py b/bcipy/display/paradigm/matrix/layout.py index 682a2a66a..5a1ec40dd 100644 --- a/bcipy/display/paradigm/matrix/layout.py +++ b/bcipy/display/paradigm/matrix/layout.py @@ -4,14 +4,14 @@ from bcipy.display.components.layout import Layout -def symbol_positions(layout: Layout, rows: int, +def symbol_positions(container: Layout, rows: int, columns: int) -> List[Tuple[float, float]]: """Compute the positions for arranging a number of symbols in a grid layout. Parameters ---------- - layout - layout in which the grid should be placed + container - container in which the grid should be placed rows - number of rows in the grid columns - number of columns in the grid @@ -21,37 +21,38 @@ def symbol_positions(layout: Layout, rows: int, """ assert rows >= 1 and columns >= 1, "There must be at least one row and one column" - # compute the spacing (in layout units) from the layout width and height - horizontal_spacing = layout.width / (rows + 1) - vertical_spacing = layout.height / (columns + 1) + # compute the spacing (in container units) from the container width and height + horizontal_spacing = container.width / (rows + 1) + vertical_spacing = container.height / (columns + 1) spacing = min(horizontal_spacing, vertical_spacing) half_space = spacing / 2 # Work back from center to compute the starting position - center_x, center_y = layout.center + center_x, center_y = container.center spaces_left_of_center = int(columns / 2) - start_pos_left = layout.left_of(center_x, spaces_left_of_center * spacing) + start_pos_left = container.left_of(center_x, + spaces_left_of_center * spacing) if columns % 2 == 0 and columns > 1: # even number of columns; adjust start_pos so that center_x is between # the middle two items. - start_pos_left = layout.right_of(start_pos_left, half_space) + start_pos_left = container.right_of(start_pos_left, half_space) spaces_above_center = int(rows / 2) - start_pos_top = layout.above(center_y, spaces_above_center * spacing) + start_pos_top = container.above(center_y, spaces_above_center * spacing) if rows % 2 == 0 and rows > 1: - start_pos_top = layout.below(start_pos_top, half_space) + start_pos_top = container.below(start_pos_top, half_space) # adjust the beginning x,y values so adding a space results in the first # position. - x_coord = layout.left_of(start_pos_left, spacing) - y_coord = layout.above(start_pos_top, spacing) + x_coord = container.left_of(start_pos_left, spacing) + y_coord = container.above(start_pos_top, spacing) positions = [] for _row in range(rows): - y_coord = layout.below(y_coord, spacing) - x_coord = layout.left_of(start_pos_left, spacing) + y_coord = container.below(y_coord, spacing) + x_coord = container.left_of(start_pos_left, spacing) for _col in range(columns): - x_coord = layout.right_of(x_coord, spacing) + x_coord = container.right_of(x_coord, spacing) positions.append((x_coord, y_coord)) return positions \ No newline at end of file diff --git a/bcipy/display/tests/paradigm/matrix/test_matrix_display.py b/bcipy/display/tests/paradigm/matrix/test_matrix_display.py index abec06009..c4f634b98 100644 --- a/bcipy/display/tests/paradigm/matrix/test_matrix_display.py +++ b/bcipy/display/tests/paradigm/matrix/test_matrix_display.py @@ -5,7 +5,7 @@ from mockito import (any, mock, unstub, verify, verifyNoUnwantedInteractions, when) -from bcipy.display import (InformationProperties, StimuliProperties) +from bcipy.display import InformationProperties, StimuliProperties from bcipy.display.components.task_bar import TaskBar from bcipy.display.paradigm.matrix.display import MatrixDisplay, SymbolDuration @@ -152,21 +152,6 @@ def test_draw_grid(self): self.matrix.draw_grid() verify(self.text_stim_mock, times=len(self.matrix.symbol_set)).draw() - def test_increment_position_increments_x_when_max_grid_width_not_met(self): - self.matrix.position_increment = 0.2 - self.matrix.max_grid_width = 0.7 - self.matrix.position = (0, 0) - # response should be 0,0 incremented by 0.2 in the x direction because 0.7 was not reached - response = self.matrix.increment_position(self.matrix.position) - self.assertEqual(response, (self.matrix.position_increment, 0)) - - def test_increment_position_increments_y_when_max_grid_width_is_reached(self): - self.matrix.position_increment = 0.2 - self.matrix.max_grid_width = 0.2 - self.matrix.position = (0, 0) - # response should be 0,0 incremented by -0.2 in the y direction because 0.2 was reached - response = self.matrix.increment_position(self.matrix.position) - self.assertEqual(response, (0, -self.matrix.position_increment)) def test_animate_scp(self): # mock the text stims and window From 95080ce81368d59486b5e92968831434b82536c3 Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 21 Aug 2023 18:07:39 -0700 Subject: [PATCH 058/330] Added functionality to the layout module to simplify the downstream API. Refactored code to align with these changes --- bcipy/display/components/layout.py | 182 ++++++++++-------- bcipy/display/components/task_bar.py | 10 +- bcipy/display/paradigm/matrix/display.py | 14 +- bcipy/display/paradigm/matrix/layout.py | 2 +- bcipy/display/tests/components/test_layout.py | 79 +++++++- .../paradigm/matrix/test_matrix_display.py | 4 - .../paradigm/matrix/test_matrix_layout.py | 6 +- 7 files changed, 192 insertions(+), 105 deletions(-) diff --git a/bcipy/display/components/layout.py b/bcipy/display/components/layout.py index ee33de35a..37750ee19 100644 --- a/bcipy/display/components/layout.py +++ b/bcipy/display/components/layout.py @@ -2,51 +2,49 @@ from enum import Enum from typing import Protocol, Tuple -from psychopy import visual - class Container(Protocol): """Protocol for an enclosing container with units and size.""" - win: visual.Window size: Tuple[float, float] units: str -class WindowContainer(Container): - """Wrapper for a Window. This is not needed in Python 3.8+ if Container is - a subclass of typing.Protocol.""" - - def __init__(self, win: visual.Window): - self.win = win - - @property - def size(self): - """Window size""" - return self.win.size - - @property - def units(self): - """Window units""" - return self.win.units - - DEFAULT_LEFT = -1.0 DEFAULT_TOP = 1.0 DEFAULT_RIGHT = 1.0 DEFAULT_BOTTOM = -1.0 +class Alignment(Enum): + """Specifies how elements should be aligned spatially""" + CENTERED = 1 + LEFT = 2 + RIGHT = 3 + TOP = 4 + BOTTOM = 5 + + @classmethod + def horizontal(cls): + """Subset used for horizontal alignment""" + return [Alignment.CENTERED, Alignment.LEFT, Alignment.RIGHT] + + @classmethod + def vertical(cls): + """Subset used for vertical alignment""" + return [Alignment.CENTERED, Alignment.TOP, Alignment.BOTTOM] + + class Layout(Container): """Class with methods for positioning elements within a parent container. """ def __init__(self, - parent: Container, + parent: Container = None, left: float = DEFAULT_LEFT, top: float = DEFAULT_TOP, right: float = DEFAULT_RIGHT, bottom: float = DEFAULT_BOTTOM): - + self.units = "norm" self.parent = parent self.top = top self.left = left @@ -58,7 +56,7 @@ def check_invariants(self): """Check that all invariants hold true.""" # TODO: units could be configurable; min and max depends on units. # https://psychopy.org/general/units.html#units - assert self.parent.units == "norm", "Position calculations assume norm units." + assert self.units == "norm", "Position calculations assume norm units." assert (0.0 <= self.height <= 2.0), "Height must be in norm units." assert (0.0 <= self.width <= 2.0), "Width must be in norm units." @@ -70,20 +68,11 @@ def check_invariants(self): assert (-1.0 <= self.right <= 1.0), "Right must be an x-value in norm units" - assert 0 < self.width <= self.parent.size[ - 0], "Width must be greater than 0 and fit within the parent width." - assert 0 < self.height <= self.parent.size[ - 1], "Height must be greater than 0 and fit within the parent height." - - @property - def win(self) -> visual.Window: - """Returns the Window on which the layout will be drawn.""" - return self.parent.win - - @property - def units(self) -> str: - """Units for drawing; affects calculations related to position, size and radius.""" - return self.parent.units + if self.parent: + assert 0 < self.width <= self.parent.size[ + 0], "Width must be greater than 0 and fit within the parent width." + assert 0 < self.height <= self.parent.size[ + 1], "Height must be greater than 0 and fit within the parent height." @property def size(self) -> Tuple[float, float]: @@ -153,11 +142,68 @@ def left_of(self, x_coordinate: float, amount: float) -> float: assert amount >= 0, 'Amount must be positive' return x_coordinate - amount + def resize_width(self, + width_pct: float, + alignment: Alignment = Alignment.CENTERED) -> float: + """Adjust the width of the current layout. -class Alignment(Enum): - CENTERED = 1 - LEFT = 2 - RIGHT = 3 + Parameters + ---------- + width_pct - percentage of the current width + alignment - specifies how the remaining width should be aligned. + """ + assert 0 < width_pct, 'width_pct must be greater than 0' + assert alignment in Alignment.horizontal() + new_width = self.width * width_pct + + left = self.left + right = self.right + + margin = self.width - new_width + if alignment == Alignment.CENTERED: + half_margin = margin / 2 + left = left + half_margin + right = right - half_margin + elif alignment == Alignment.LEFT: + right = right - margin + elif alignment == Alignment.RIGHT: + left = left + margin + + self.left = left + self.right = right + self.check_invariants() + + def resize_height(self, + height_pct: float, + alignment: Alignment = Alignment.CENTERED) -> float: + """Adjust the height of the current layout. + + Parameters + ---------- + height_pct - percentage of the current width + alignment - specifies how the remaining width should be aligned. + """ + assert 0 < height_pct, 'height_pct must be greater than 0' + assert alignment in Alignment.vertical() + + new_height = self.height * height_pct + + top = self.top + bottom = self.bottom + + margin = self.height - new_height + if alignment == Alignment.CENTERED: + half_margin = margin / 2 + top = top - half_margin + bottom = bottom + half_margin + elif alignment == Alignment.TOP: + bottom = bottom + margin + elif alignment == Alignment.BOTTOM: + top = top - margin + + self.top = top + self.bottom = bottom + self.check_invariants() def at_top(parent: Container, height: float) -> Layout: @@ -175,6 +221,7 @@ def at_top(parent: Container, height: float) -> Layout: right=DEFAULT_RIGHT, bottom=top - height) + def at_bottom(parent: Container, height: float) -> Layout: """Constructs a layout of a given height that spans the full width of the window and is positioned at the bottom""" @@ -186,46 +233,19 @@ def at_bottom(parent: Container, height: float) -> Layout: bottom=bottom) -def horizontally_aligned(parent: Layout, - alignment: Alignment, - width: float = None) -> Tuple[float, float]: - """Returns a tuple of (left, right), indicating the values to be used""" - - left = parent.left - right = parent.right - if width: - margin = parent.width - width - if alignment == Alignment.CENTERED: - half_margin = margin / 2 - left = left + half_margin - right = right - half_margin - elif alignment == Alignment.LEFT: - right = right - margin - elif alignment == Alignment.RIGHT: - left = left + margin - return left, right - - -def below(layout: Layout, - width_pct: float = 1.0, - alignment: Alignment = Alignment.CENTERED): - """Constructs a layout immediately below another layout. +def centered(width_pct: float = 1.0, height_pct: float = 1.0) -> Layout: + """Constructs a layout that is centered on the screen. Default size is + fullscreen but optional parameters can be used to adjust the width and + height. Parameters ---------- - layout - another layout relative to the one constructed. Other - properties will be copied from this one. - width_pct - percentage of the available width. + width_pct - optional; sets the width to a given percentage of + fullscreen. + height_pct - optional; sets the height to a given percentage of + fullscreen. """ - width = layout.width * width_pct - - left, right = horizontally_aligned(layout, alignment, width) - top = layout.bottom - # bottom = top - height if height else DEFAULT_BOTTOM - bottom = DEFAULT_BOTTOM - - return Layout(parent=layout.parent, - left=left, - top=top, - right=right, - bottom=bottom) \ No newline at end of file + container = Layout() + container.resize_width(width_pct, alignment=Alignment.CENTERED) + container.resize_height(height_pct, alignment=Alignment.CENTERED) + return container diff --git a/bcipy/display/components/task_bar.py b/bcipy/display/components/task_bar.py index 826d229c2..fb2f5f0fd 100644 --- a/bcipy/display/components/task_bar.py +++ b/bcipy/display/components/task_bar.py @@ -1,9 +1,11 @@ """Task bar component""" from typing import Dict, List + from psychopy import visual from psychopy.visual.basevisual import BaseVisualStim from psychopy.visual.line import Line + import bcipy.display.components.layout as layout @@ -26,12 +28,12 @@ def __init__(self, font: str = 'Courier New', height: float = 0.1, text: str = ''): + self.win = win self.colors = colors or ['white'] self.font = font self.height = height self.text = text - self.layout = layout.at_top(layout.WindowContainer(win), - self.compute_height()) + self.layout = layout.at_top(win, self.compute_height()) self.stim = self.init_stim() def compute_height(self): @@ -55,7 +57,7 @@ def update(self, text: str = ''): def border_stim(self) -> Line: """Create the task bar outline""" - return visual.line.Line(win=self.layout.win, + return visual.line.Line(win=self.win, units=self.layout.units, start=(self.layout.left, self.layout.bottom), end=(self.layout.right, self.layout.bottom), @@ -72,7 +74,7 @@ def text_stim(self, **kwargs) -> visual.TextStim: def default_text_props(self) -> dict: """Default properties for constructing a TextStim.""" return { - 'win': self.layout.win, + 'win': self.win, 'text': self.text, 'pos': self.layout.center, 'units': self.layout.units, diff --git a/bcipy/display/paradigm/matrix/display.py b/bcipy/display/paradigm/matrix/display.py index 8e52fcf3b..4fe4adb5c 100644 --- a/bcipy/display/paradigm/matrix/display.py +++ b/bcipy/display/paradigm/matrix/display.py @@ -1,6 +1,6 @@ """Display for presenting stimuli in a grid.""" import logging -from typing import Dict, List, NamedTuple, Optional, Tuple +from typing import Dict, List, NamedTuple, Optional from psychopy import core, visual @@ -41,7 +41,7 @@ def __init__( stimuli: StimuliProperties, task_bar: TaskBar, info: InformationProperties, - rows:int=5, columns:int=6, + rows: int = 5, columns: int = 6, trigger_type: str = 'text', symbol_set: Optional[List[str]] = None, should_prompt_target: bool = True): @@ -85,9 +85,7 @@ def __init__( # Set position and parameters for grid of alphabet self.grid_stimuli_height = stimuli.stim_height - display_container = layout.below(task_bar.layout, - width_pct=0.7, - alignment=layout.Alignment.CENTERED) + display_container = layout.centered(width_pct=0.7) self.positions = symbol_positions(display_container, rows, columns) self.grid_color = 'white' @@ -165,10 +163,7 @@ def do_inquiry(self) -> List[float]: return self._timing def build_grid(self) -> Dict[str, visual.TextStim]: - """Build grid. - - Builds a 7x4 matrix of stimuli. - """ + """Build the text stimuli to populate the grid.""" grid = {} for i, sym in enumerate(self.symbol_set): grid[sym] = visual.TextStim(win=self.window, @@ -179,7 +174,6 @@ def build_grid(self) -> Dict[str, visual.TextStim]: height=self.grid_stimuli_height) return grid - def draw_grid(self, opacity: float = 1, color: Optional[str] = 'white', diff --git a/bcipy/display/paradigm/matrix/layout.py b/bcipy/display/paradigm/matrix/layout.py index 5a1ec40dd..bccc7b208 100644 --- a/bcipy/display/paradigm/matrix/layout.py +++ b/bcipy/display/paradigm/matrix/layout.py @@ -55,4 +55,4 @@ def symbol_positions(container: Layout, rows: int, x_coord = container.right_of(x_coord, spacing) positions.append((x_coord, y_coord)) - return positions \ No newline at end of file + return positions diff --git a/bcipy/display/tests/components/test_layout.py b/bcipy/display/tests/components/test_layout.py index 84f786ab5..ba99860e4 100644 --- a/bcipy/display/tests/components/test_layout.py +++ b/bcipy/display/tests/components/test_layout.py @@ -3,7 +3,8 @@ from mockito import mock -from bcipy.display.components.layout import Layout, WindowContainer, at_top +from bcipy.display.components.layout import (Alignment, Layout, at_bottom, + at_top, centered) class TestLayout(unittest.TestCase): @@ -12,7 +13,7 @@ class TestLayout(unittest.TestCase): def setUp(self): """Set up needed items for test.""" self.window = mock({"size": (500, 500), "units": "norm"}) - self.container = WindowContainer(win=self.window) + self.container = self.window def test_container(self): """Test container protocol""" @@ -50,6 +51,15 @@ def test_full_size(self): bottom=-1.0) self.assertEqual((0.0, 0.0), layout.center) + def test_default_layout(self): + """Test that default layout is fullscreen""" + layout = Layout() + self.assertEqual(1.0, layout.top) + self.assertEqual(1.0, layout.right) + self.assertEqual(-1.0, layout.bottom) + self.assertEqual(-1.0, layout.left) + self.assertEqual((0.0, 0.0), layout.center) + def test_invariants(self): """Test invariant checks""" with self.assertRaises(AssertionError, msg="Left prop out of range"): @@ -80,6 +90,71 @@ def test_invariants(self): right=1.0, bottom=-1.1) + def test_position_at_bottom(self): + """Test at_bottom constructor""" + layout = at_bottom(self.container, height=0.1) + self.assertEqual(-1.0, layout.left) + self.assertEqual(1.0, layout.right) + self.assertEqual(-0.9, layout.top) + self.assertEqual(-1.0, layout.bottom) + + def test_centered(self): + """Test constructor for centered layout""" + layout = centered(width_pct=0.7, height_pct=0.8) + self.assertEqual(-0.7, layout.left) + self.assertEqual(0.7, layout.right) + self.assertEqual(0.8, layout.top) + self.assertEqual(-0.8, layout.bottom) + + def test_resize_width_center_aligned(self): + """Test width resize with center alignment""" + layout = Layout() + layout.resize_width(0.5, alignment=Alignment.CENTERED) + self.assertEqual(-0.5, layout.left) + self.assertEqual(0.5, layout.right) + + def test_resize_width_left_aligned(self): + """Test width resize with left alignment""" + layout = Layout() + layout.resize_width(0.5, alignment=Alignment.LEFT) + self.assertEqual(-1.0, layout.left) + self.assertEqual(0.0, layout.right) + + def test_resize_width_right_aligned(self): + """Test width resize with right alignment""" + layout = Layout() + layout.resize_width(0.5, alignment=Alignment.RIGHT) + self.assertEqual(0.0, layout.left) + self.assertEqual(1.0, layout.right) + + def test_resize_width_larger(self): + """Test increase in width""" + layout = Layout(left=-0.5, right=0.5) + layout.resize_width(2.0, alignment=Alignment.CENTERED) + self.assertEqual(-1.0, layout.left) + self.assertEqual(1.0, layout.right) + + def test_resize_height_center_aligned(self): + """Test height resize with center alignment""" + layout = Layout() + layout.resize_height(0.5, alignment=Alignment.CENTERED) + self.assertEqual(-0.5, layout.bottom) + self.assertEqual(0.5, layout.top) + + def test_resize_height_top_aligned(self): + """Test height resize with top alignment""" + layout = Layout() + layout.resize_height(0.5, alignment=Alignment.TOP) + self.assertEqual(1.0, layout.top) + self.assertEqual(0.0, layout.bottom) + + def test_resize_height_bottom_aligned(self): + """Test height resize with bottom alignment""" + layout = Layout() + layout.resize_height(0.5, alignment=Alignment.BOTTOM) + self.assertEqual(0.0, layout.top) + self.assertEqual(-1.0, layout.bottom) + if __name__ == '__main__': unittest.main() diff --git a/bcipy/display/tests/paradigm/matrix/test_matrix_display.py b/bcipy/display/tests/paradigm/matrix/test_matrix_display.py index c4f634b98..5f6afebad 100644 --- a/bcipy/display/tests/paradigm/matrix/test_matrix_display.py +++ b/bcipy/display/tests/paradigm/matrix/test_matrix_display.py @@ -138,21 +138,17 @@ def test_build_grid(self): pos=any(), opacity=any() ).thenReturn(self.text_stim_mock) - when(self.matrix).increment_position(any()).thenReturn() sym_length = len(self.matrix.symbol_set) grid = self.matrix.build_grid() self.assertEqual(len(grid), sym_length) - # verify that the position was incremented each time - verify(self.matrix, times=sym_length).increment_position(any()) def test_draw_grid(self): """Test that all items in the grid draw.""" self.matrix.draw_grid() verify(self.text_stim_mock, times=len(self.matrix.symbol_set)).draw() - def test_animate_scp(self): # mock the text stims and window when(psychopy.visual).TextStim( diff --git a/bcipy/display/tests/paradigm/matrix/test_matrix_layout.py b/bcipy/display/tests/paradigm/matrix/test_matrix_layout.py index d6d115b4e..eba82345d 100644 --- a/bcipy/display/tests/paradigm/matrix/test_matrix_layout.py +++ b/bcipy/display/tests/paradigm/matrix/test_matrix_layout.py @@ -3,7 +3,7 @@ from mockito import mock -from bcipy.display.components.layout import Layout, WindowContainer +from bcipy.display.components.layout import Layout from bcipy.display.paradigm.matrix.layout import symbol_positions @@ -13,7 +13,7 @@ class TestMatrixLayout(unittest.TestCase): def setUp(self): """Set up needed items for test.""" self.window = mock({"size": (500, 500), "units": "norm"}) - self.container = WindowContainer(win=self.window) + self.container = self.window self.layout = Layout(parent=self.container, left=-1.0, top=1.0, @@ -80,4 +80,4 @@ def test_single_column(self): if __name__ == '__main__': - unittest.main() \ No newline at end of file + unittest.main() From 393bff47125f2c0d156ec08af15794a6e042b56e Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Wed, 23 Aug 2023 14:01:06 -0400 Subject: [PATCH 059/330] Gaze Reshaper Complete --- bcipy/helpers/stimuli.py | 72 +++++++++++---------- bcipy/helpers/visualization.py | 90 ++++++++++++++++++++++++++ bcipy/signal/model/offline_analysis.py | 29 +++++++-- 3 files changed, 150 insertions(+), 41 deletions(-) diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index d4d509bf5..e90b48d04 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -11,6 +11,7 @@ from bcipy.helpers.exceptions import BciPyCoreException from bcipy.helpers.list import grouper +from bcipy.helpers.symbols import alphabet from PIL import Image # Prevents pillow from filling the console with debug info @@ -127,7 +128,7 @@ def __call__(self, Returns: reshaped_data (np.ndarray): inquiry data of shape (Channels, Inquiries, Samples) labels (np.ndarray): integer label for each inquiry. With `trials_per_inquiry=K`, - a label of [0, K-1] indicates the position of `target_label`, or label of K indicates + a label of [0, K-1] indicates the position of `target_label`, or label of [0 ... 0] indicates `target_label` was not present. reshaped_trigger_timing (List[List[int]]): For each inquiry, a list of the sample index where each trial begins, accounting for the prestim buffer that may have been added to the front of each inquiry. @@ -176,7 +177,6 @@ def get_inquiry_len(inq_trigs): stop = first_trigger + num_samples_per_inq + buffer_samples reshaped_data.append(eeg_data[:, start:stop]) - breakpoint() return np.stack(reshaped_data, 1), labels, reshaped_trigger_timing @@ -241,8 +241,7 @@ def __call__(self, poststimulus_length: float = 0.5, prestimulus_length: float = 0.0, transformation_buffer: float = 0.0, - target_label: str = 'target' - ) -> Tuple[np.ndarray, np.ndarray]: + ) -> dict: """Extract inquiry data and labels. Args: @@ -257,52 +256,55 @@ def __call__(self, poststimulus_length (float, optional): time in seconds needed after the last trial in an inquiry. prestimulus_length (float, optional): time in seconds needed before the first trial in an inquiry. transformation_buffer (float, optional): time in seconds to buffer the end of the inquiry. Defaults to 0.0. - target_label (str): label of target symbol. Defaults to "target" Returns: - reshaped_data (np.ndarray): inquiry data of shape (Channels, Inquiries, Samples) - labels (np.ndarray): integer label for each inquiry. With `trials_per_inquiry=K`, - a label of [0, K-1] indicates the position of `target_label`, or label of K indicates - `target_label` was not present. - reshaped_trigger_timing (List[List[int]]): For each inquiry, a list of the sample index where each trial - begins, accounting for the prestim buffer that may have been added to the front of each inquiry. + reshaped_data (np.ndarray): inquiry data of shape (Inquiries, Channels, Samples) + labels (List[str]): Target letter in each inquiry. + + data_by_targets (dict): Dictionary where keys are the symbol set and values are the appended inquiries + for each symbol. dict[Key] = list of shape (Channels, Samples) """ if channel_map: # Remove the channels that we are not interested in channels_to_remove = [idx for idx, value in enumerate(channel_map) if value == 0] gaze_data = np.delete(gaze_data, channels_to_remove, axis=0) - - n_inquiry = len(inq_start_times) - prestimulus_samples = int(prestimulus_length * sample_rate) - - - # triggers in seconds are mapped to triggers in number of samples. - triggers = list(map(lambda x: int(x * sample_rate), inq_start_times)) - # TODO: This ends up adding ~300ms shift to the triggers. Why? + + # Find the value closest to (& greater than) inq_start_times + gaze_data_timing = gaze_data[-1,:].tolist() + + start_times = [] + for times in inq_start_times: + start_times.append(list(filter(lambda x: x > times, gaze_data_timing))[0]) + + triggers = [] + for val in start_times: + triggers.append(gaze_data_timing.index(val)) # Label for every inquiry labels = target_symbols - reshaped_data, reshaped_trigger_timing = [], [] - for inquiry_idx, trials_within_inquiry in enumerate( - grouper(zip(trial_targetness_label, triggers), trials_per_inquiry, fillvalue='x') - ): - first_trigger = trials_within_inquiry[0][1] + symbol_set = alphabet() - trial_triggers = [] - for trial_idx, (trial_label, trigger) in enumerate(trials_within_inquiry): - # If presimulus buffer is used, we add it here so that trigger timings will - # still line up with trial onset - breakpoint() - trial_triggers.append((trigger - first_trigger) + prestimulus_samples) - reshaped_trigger_timing.append(trial_triggers) - start = first_trigger - stop = first_trigger + (sample_rate * 3) # (60 samples * 3 seconds) + # Create a dictionary with symbols as keys and data as values + # 'A': [], 'B': [] ... + data_by_targets = {} + for symbol in symbol_set: + data_by_targets[symbol] = [] + + reshaped_data = [] + # Merge the inquiries if they have the same target letter: + for i, inquiry_index in enumerate(triggers): + start = inquiry_index + stop = int(inquiry_index + (sample_rate * 3)) # (60 samples * 3 seconds) reshaped_data.append(gaze_data[:, start:stop]) - breakpoint() + # Create a dictionary: + for symbol in symbol_set: + if symbol == labels[i]: + data_by_targets[symbol].append(gaze_data[:, start:stop]) - return np.stack(reshaped_data, 1), labels, reshaped_trigger_timing + # return np.stack(reshaped_data, 0), labels + return data_by_targets @staticmethod def extract_trials(inquiries, samples_per_trial, inquiry_timing, downsample_rate=1): diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index 29918c4c3..6927ab0d6 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -170,6 +170,96 @@ def visualize_gaze( return fig +def visualize_gaze_inquiries( + data, + save_path=None, + show=False, + img_path=None, + screen_size=(1920, 1080), + heatmap=False, + raw_plot=False): + """Visualize Eye Data. + + Assumes that the data is collected using BciPy and a Tobii-nano eye tracker. The default + image used is for the matrix calibration task on a 1920x1080 screen. + + Parameters + ---------- + data: RawData + save_path: Optional[str] + show: Optional[bool] + img_path: Optional[str] + screen_size: Optional[Tuple[int, int]] TODO + """ + + title = 'Raw Gaze Inquiries ' + + if img_path is None: + img_path = f'{STATIC_IMAGES_PATH}/main/matrix.png' + img = plt.imread(img_path) + + data = np.transpose(np.array(data), (1,0,2)) + + inq_data = np.reshape(data, (9,-1)) + + left_eye_x = inq_data[2,:] + left_eye_y = inq_data[3,:] + left_pupil = inq_data[4,:] + + right_eye_x = inq_data[5,:] + right_eye_y = inq_data[6,:] + right_pupil = inq_data[7,:] + + # transform the eye data to fit the display. remove > 1 values < 0 values and flip the y axis + lx = np.clip(left_eye_x, 0, 1) + ly = np.clip(left_eye_y, 0, 1) + rx = np.clip(right_eye_x, 0, 1) + ry = np.clip(right_eye_y, 0, 1) + ly = 1 - ly + ry = 1 - ry + + # remove nan values + lx = lx[~np.isnan(lx)] + ly = ly[~np.isnan(ly)] + rx = rx[~np.isnan(rx)] + ry = ry[~np.isnan(ry)] + + # scale the eye data to the image + fig, ax = plt.subplots() + ax.imshow(img, extent=[0, 1, 0, 1]) + + if heatmap: + # create a dataframe making a column for each x, y pair for both eyes and a column for the eye (left or right) + df = pd.DataFrame({ + 'x': np.concatenate((lx, rx)), + 'y': np.concatenate((ly, ry)), + 'eye': ['left'] * len(lx) + ['right'] * len(rx) + }) + ax = sns.kdeplot( + data=df, + hue='eye', + x='x', + y='y', + fill=False, + thresh=0.05, + levels=10, + cmap="mako", + colorbar=True) + + if raw_plot: + ax.scatter(lx, ly, c='r', s=1) + ax.scatter(rx, ry, c='b', s=1) + + plt.title(f'{title}Plot') + + if save_path is not None: + plt.savefig(f"{save_path}/{title.lower().replace(' ', '_')}plot.png", dpi=fig.dpi) + + if show: + plt.show() + + return fig + def plot_edf(edf_path: str, auto_scale: Optional[bool] = False): """Plot data from the raw edf file. Note: this works from an iPython diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 01500d260..9be389948 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -16,8 +16,9 @@ ) from bcipy.helpers.stimuli import play_sound, update_inquiry_timing from bcipy.helpers.system_utils import report_execution_time +from bcipy.helpers.symbols import alphabet from bcipy.helpers.triggers import TriggerType, trigger_decoder -from bcipy.helpers.visualization import visualize_erp, visualize_gaze +from bcipy.helpers.visualization import visualize_erp, visualize_gaze, visualize_gaze_inquiries from bcipy.signal.model.base_model import SignalModel from bcipy.signal.model.pca_rda_kde import PcaRdaKdeModel from bcipy.signal.model.fusion_model import GazeModel @@ -263,9 +264,14 @@ def offline_analysis( model = GazeModel() + # Add back the system offset: + system_offset = 926453.0228878 + # TODO: This is handled in TriggerHandler. Remove automatic addition off system offset! + # Process triggers.txt files (again!) trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( remove_pre_fixation = False, + offset = system_offset, trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", #exclusion=[TriggerType.PREVIEW, TriggerType.EVENT] exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION, TriggerType.SYSTEM, TriggerType.OFFSET] @@ -277,24 +283,35 @@ def offline_analysis( # trigger_targetness keeps the PROMPT info, use it to find the target symbol! target_symbols = trigger_symbols[0::11] # target symbols inq_start = trigger_timing[1::11] # start of each inquiry (here we jump over prompts) - breakpoint() - # Need to calculate the starting index, using inq_start. - inquiries, inquiry_labels, inquiry_timing = model.reshaper( + # Find the inquiries starting by the inq_start_times, (9, 100, 180): + inquiries = model.reshaper( trial_targetness_label=trigger_targetness, inq_start_times=inq_start, target_symbols = target_symbols, gaze_data=data, sample_rate=sample_rate, trials_per_inquiry=trials_per_inquiry, - channel_map=channel_map, poststimulus_length=poststim_length, prestimulus_length=prestim_length, transformation_buffer=buffer ) - # Merge subset of time windows if they have the same target symbol: + # Plot samples for each target symbol: + symbol_set = alphabet() + for i in symbol_set: + figure_handles = visualize_gaze_inquiries( + inquiries[i], + save_path=None, + show=show_figures, + raw_plot=True, + ) + # plt.show() + + + breakpoint() + if alert_finished: play_sound(f"{STATIC_AUDIO_PATH}/{parameters['alert_sound_file']}") From 620a544d003423ec672f4856d1c73a92b67df2cc Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 23 Aug 2023 17:32:57 -0700 Subject: [PATCH 060/330] Added parameters for specifying matrix rows, columns, and width. Integrated new parameters in tasks --- bcipy/display/paradigm/matrix/display.py | 28 +++++++++---------- bcipy/display/paradigm/matrix/layout.py | 17 +++++++---- .../paradigm/matrix/test_matrix_layout.py | 25 +++++++++++++++++ bcipy/parameters/parameters.json | 26 ++++++++++++++++- bcipy/task/paradigm/matrix/calibration.py | 3 ++ bcipy/task/paradigm/matrix/copy_phrase.py | 3 ++ 6 files changed, 81 insertions(+), 21 deletions(-) diff --git a/bcipy/display/paradigm/matrix/display.py b/bcipy/display/paradigm/matrix/display.py index 4fe4adb5c..8ca2825a6 100644 --- a/bcipy/display/paradigm/matrix/display.py +++ b/bcipy/display/paradigm/matrix/display.py @@ -34,17 +34,18 @@ class MatrixDisplay(Display): stim_height: 0.1 """ - def __init__( - self, - window: visual.Window, - experiment_clock: core.Clock, - stimuli: StimuliProperties, - task_bar: TaskBar, - info: InformationProperties, - rows: int = 5, columns: int = 6, - trigger_type: str = 'text', - symbol_set: Optional[List[str]] = None, - should_prompt_target: bool = True): + def __init__(self, + window: visual.Window, + experiment_clock: core.Clock, + stimuli: StimuliProperties, + task_bar: TaskBar, + info: InformationProperties, + rows: int = 5, + columns: int = 6, + width_pct: float = 0.7, + trigger_type: str = 'text', + symbol_set: Optional[List[str]] = None, + should_prompt_target: bool = True): """Initialize Matrix display parameters and objects. PARAMETERS: @@ -76,16 +77,15 @@ def __init__( self.stimuli_timing = [] self.stimuli_colors = [] self.stimuli_font = stimuli.stim_font - # self.symbol_positions = stimuli.stim_pos assert stimuli.is_txt_stim, "Matrix display is a text only display" self.symbol_set = symbol_set or alphabet() # Set position and parameters for grid of alphabet - self.grid_stimuli_height = stimuli.stim_height + self.grid_stimuli_height = 0.17 # stimuli.stim_height - display_container = layout.centered(width_pct=0.7) + display_container = layout.centered(width_pct=width_pct) self.positions = symbol_positions(display_container, rows, columns) self.grid_color = 'white' diff --git a/bcipy/display/paradigm/matrix/layout.py b/bcipy/display/paradigm/matrix/layout.py index bccc7b208..8a0c00b2c 100644 --- a/bcipy/display/paradigm/matrix/layout.py +++ b/bcipy/display/paradigm/matrix/layout.py @@ -4,8 +4,10 @@ from bcipy.display.components.layout import Layout -def symbol_positions(container: Layout, rows: int, - columns: int) -> List[Tuple[float, float]]: +def symbol_positions(container: Layout, + rows: int, + columns: int, + spacing: float = None) -> List[Tuple[float, float]]: """Compute the positions for arranging a number of symbols in a grid layout. @@ -14,6 +16,8 @@ def symbol_positions(container: Layout, rows: int, container - container in which the grid should be placed rows - number of rows in the grid columns - number of columns in the grid + spacing - optional value to specify the space between positions + (in the same units of the container) Returns ------- @@ -21,10 +25,11 @@ def symbol_positions(container: Layout, rows: int, """ assert rows >= 1 and columns >= 1, "There must be at least one row and one column" - # compute the spacing (in container units) from the container width and height - horizontal_spacing = container.width / (rows + 1) - vertical_spacing = container.height / (columns + 1) - spacing = min(horizontal_spacing, vertical_spacing) + if not spacing: + # compute the spacing (in container units) from the container width and height + horizontal_spacing = container.width / (rows + 1) + vertical_spacing = container.height / (columns + 1) + spacing = min(horizontal_spacing, vertical_spacing) half_space = spacing / 2 # Work back from center to compute the starting position diff --git a/bcipy/display/tests/paradigm/matrix/test_matrix_layout.py b/bcipy/display/tests/paradigm/matrix/test_matrix_layout.py index eba82345d..fbb76f42a 100644 --- a/bcipy/display/tests/paradigm/matrix/test_matrix_layout.py +++ b/bcipy/display/tests/paradigm/matrix/test_matrix_layout.py @@ -78,6 +78,31 @@ def test_single_column(self): abs(self.layout.bottom - positions[-1][1]), msg="should have the same top and bottom gap") + def test_spacing(self): + """Test grid spacing""" + positions = symbol_positions(self.layout, rows=2, columns=2) + self.assertEqual(len(positions), 4) + + top_left = positions[0] + top_right = positions[1] + bottom_left = positions[2] + bottom_right = positions[3] + self.assertEqual(top_left[0], bottom_left[0], + "values in left column should have the same x-coord") + self.assertEqual( + top_right[0], bottom_right[0], + "values in right column should have the same x-coord") + self.assertEqual(top_left[1], top_right[1], + "Top row values should have the same y-coord") + self.assertEqual(bottom_left[1], bottom_right[1], + "Bottom row values should have the same y-coord") + + row_spacing = abs(top_left[1] - bottom_left[1]) + column_spacing = abs(top_right[0] - top_left[0]) + + self.assertEqual(row_spacing, column_spacing, + "Rows and columns should have the same spacing") + if __name__ == '__main__': unittest.main() diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index 516ee3c51..6afe44894 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -224,6 +224,30 @@ "recommended_values": "", "type": "int" }, + "matrix_rows": { + "value": "6", + "section": "bci_config", + "readableName": "Matrix Rows", + "helpTip": "Specifies the number of rows to use in the Matrix task. Rows * columns should be greater than or equal to the number of symbols.", + "recommended_values": "", + "type": "int" + }, + "matrix_columns": { + "value": "5", + "section": "bci_config", + "readableName": "Matrix Columns", + "helpTip": "Specifies the number of columns to use in the Matrix task. Rows * columns should be greater than or equal to the number of symbols.", + "recommended_values": "", + "type": "int" + }, + "matrix_width_pct": { + "value": "0.7", + "section": "bci_config", + "readableName": "Matrix Width (%)", + "helpTip": "Specifies the max percentage of the display that the matrix grid should utilize. Must be between 0 and 1", + "recommended_values": "", + "type": "float" + }, "acq_show_viewer": { "value": "false", "section": "acq_config", @@ -618,7 +642,7 @@ "type": "int" }, "lang_model_type": { - "value": "MIXTURE", + "value": "UNIFORM", "section": "lang_model_config", "readableName": "Language Model Type", "helpTip": "Specifies which language model to use. Default: MIXTURE", diff --git a/bcipy/task/paradigm/matrix/calibration.py b/bcipy/task/paradigm/matrix/calibration.py index ecc21d986..a556cfa73 100644 --- a/bcipy/task/paradigm/matrix/calibration.py +++ b/bcipy/task/paradigm/matrix/calibration.py @@ -271,5 +271,8 @@ def init_calibration_display_task( stimuli, task_bar, info, + rows=parameters['matrix_rows'], + columns=parameters['matrix_columns'], + width_pct=parameters['matrix_width_pct'], trigger_type=parameters['trigger_type'], symbol_set=symbol_set) diff --git a/bcipy/task/paradigm/matrix/copy_phrase.py b/bcipy/task/paradigm/matrix/copy_phrase.py index 53e9e9ecc..d397328f8 100644 --- a/bcipy/task/paradigm/matrix/copy_phrase.py +++ b/bcipy/task/paradigm/matrix/copy_phrase.py @@ -80,5 +80,8 @@ def init_display(parameters, win, experiment_clock, starting_spelled_text): stimuli, task_bar, info, + rows=parameters['matrix_rows'], + columns=parameters['matrix_columns'], + width_pct=parameters['matrix_width_pct'], trigger_type=parameters['trigger_type'], should_prompt_target=False) From cc1009b55380b7300c7602892e89a77b625323a4 Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 24 Aug 2023 08:52:58 -0700 Subject: [PATCH 061/330] Added logging for matrix symbol positions --- bcipy/display/paradigm/matrix/display.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bcipy/display/paradigm/matrix/display.py b/bcipy/display/paradigm/matrix/display.py index 8ca2825a6..85d4d74ee 100644 --- a/bcipy/display/paradigm/matrix/display.py +++ b/bcipy/display/paradigm/matrix/display.py @@ -87,6 +87,9 @@ def __init__(self, display_container = layout.centered(width_pct=width_pct) self.positions = symbol_positions(display_container, rows, columns) + self.logger.info( + f"Symbol positions ({display_container.units} units): {self.positions}" + ) self.grid_color = 'white' self.start_opacity = 0.15 From c2e42c573a09e9de772212fdce4105e8abb6c0ad Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 24 Aug 2023 09:00:04 -0700 Subject: [PATCH 062/330] Fixed parameters for rows and columns --- bcipy/parameters/parameters.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index 6afe44894..d6ccba53f 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -225,7 +225,7 @@ "type": "int" }, "matrix_rows": { - "value": "6", + "value": "5", "section": "bci_config", "readableName": "Matrix Rows", "helpTip": "Specifies the number of rows to use in the Matrix task. Rows * columns should be greater than or equal to the number of symbols.", @@ -233,7 +233,7 @@ "type": "int" }, "matrix_columns": { - "value": "5", + "value": "6", "section": "bci_config", "readableName": "Matrix Columns", "helpTip": "Specifies the number of columns to use in the Matrix task. Rows * columns should be greater than or equal to the number of symbols.", From bb6224fa0ff9745193198dbafa1d72d9f3c0a6da Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Thu, 24 Aug 2023 13:10:33 -0400 Subject: [PATCH 063/330] Gaze Model v1 complete --- bcipy/helpers/stimuli.py | 49 ++++++++++++++-------- bcipy/helpers/visualization.py | 28 +++++-------- bcipy/signal/model/fusion_model.py | 57 ++++++++++++++++++++++++++ bcipy/signal/model/offline_analysis.py | 49 +++++++++++++++------- 4 files changed, 135 insertions(+), 48 deletions(-) create mode 100644 bcipy/signal/model/fusion_model.py diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index e90b48d04..34052ad0c 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -274,7 +274,9 @@ def __call__(self, start_times = [] for times in inq_start_times: - start_times.append(list(filter(lambda x: x > times, gaze_data_timing))[0]) + temp = list(filter(lambda x: x > times, gaze_data_timing)) + if len(temp) > 0: + start_times.append(temp[0]) triggers = [] for val in start_times: @@ -307,23 +309,38 @@ def __call__(self, return data_by_targets @staticmethod - def extract_trials(inquiries, samples_per_trial, inquiry_timing, downsample_rate=1): - """Extract Trials. - - After using the InquiryReshaper, it may be necessary to futher trial the data for processing. - Using the number of samples and inquiry timing, the data is reshaped from Channels, Inquiry, Samples to - Channels, Trials, Samples. These should match with the trials extracted from the TrialReshaper given the same - slicing parameters. + def extract_eye_info(data): + """ Rearrange the dimensions of gaze inquiry data and reshape it to num_channels x num_samples + Extract Left and Right Eye info from data. + + Args: + data (List(float)): Data in shape of num_targetness x num_channels x num_samples + + Returns: + left_eye (np.ndarray), left_pupil (List(float)) + right_eye (np.ndarray), right_pupil (List(float)) """ - new_trials = [] - num_inquiries = inquiries.shape[1] - for inquiry_idx, timing in zip(range(num_inquiries), inquiry_timing): # C x I x S - for time in timing: - time = time // downsample_rate - y = time + samples_per_trial - new_trials.append(inquiries[:, inquiry_idx, time:y]) - return np.stack(new_trials, 1) # C x T x S + temp_data = np.transpose(np.array(data), (1,0,2)) + inq_data = np.reshape(temp_data, (len(temp_data), -1)) # num_channels x num_samples + + # Extract samples from channels + lx = inq_data[2,:] + ly = inq_data[3,:] + left_pupil = inq_data[4,:] + + rx = inq_data[5,:] + ry = inq_data[6,:] + right_pupil = inq_data[7,:] + + left_eye = np.vstack((np.array(lx), np.array(ly))).T + right_eye = np.vstack((np.array(rx), np.array(ry))).T + + # Remove blinks (i.e. Nan values) + left_eye = left_eye[~np.isnan(left_eye).any(axis=1)] + right_eye = right_eye[~np.isnan(right_eye).any(axis=1)] + + return left_eye, left_pupil, right_eye, right_pupil class TrialReshaper(Reshaper): def __call__(self, diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index 6927ab0d6..37f60acc5 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -171,7 +171,8 @@ def visualize_gaze( return fig def visualize_gaze_inquiries( - data, + left_eye, + right_eye, save_path=None, show=False, img_path=None, @@ -185,7 +186,7 @@ def visualize_gaze_inquiries( Parameters ---------- - data: RawData + left eye, right eye: Raw gaze data (np.ndarray) save_path: Optional[str] show: Optional[bool] img_path: Optional[str] @@ -198,17 +199,10 @@ def visualize_gaze_inquiries( img_path = f'{STATIC_IMAGES_PATH}/main/matrix.png' img = plt.imread(img_path) - data = np.transpose(np.array(data), (1,0,2)) - - inq_data = np.reshape(data, (9,-1)) - - left_eye_x = inq_data[2,:] - left_eye_y = inq_data[3,:] - left_pupil = inq_data[4,:] - - right_eye_x = inq_data[5,:] - right_eye_y = inq_data[6,:] - right_pupil = inq_data[7,:] + left_eye_x = left_eye[:,0] + left_eye_y = left_eye[:,1] + right_eye_x = right_eye[:,0] + right_eye_y = right_eye[:,1] # transform the eye data to fit the display. remove > 1 values < 0 values and flip the y axis lx = np.clip(left_eye_x, 0, 1) @@ -219,10 +213,10 @@ def visualize_gaze_inquiries( ry = 1 - ry # remove nan values - lx = lx[~np.isnan(lx)] - ly = ly[~np.isnan(ly)] - rx = rx[~np.isnan(rx)] - ry = ry[~np.isnan(ry)] + # lx = lx[~np.isnan(lx)] + # ly = ly[~np.isnan(ly)] + # rx = rx[~np.isnan(rx)] + # ry = ry[~np.isnan(ry)] # scale the eye data to the image fig, ax = plt.subplots() diff --git a/bcipy/signal/model/fusion_model.py b/bcipy/signal/model/fusion_model.py new file mode 100644 index 000000000..b2a7eda4e --- /dev/null +++ b/bcipy/signal/model/fusion_model.py @@ -0,0 +1,57 @@ +import logging +from pathlib import Path +from typing import Tuple + +import numpy as np +import pandas as pd +from matplotlib import pyplot as plt +from sklearn.mixture import GaussianMixture +from bcipy.helpers.stimuli import GazeReshaper + +class GazeModel(): + reshaper = GazeReshaper() + + def __init__(self, num_components=3): + self.num_components = num_components # number of gaussians to fit + + def fit(self, train_data: np.array): + model = GaussianMixture(n_components=2, random_state=0, init_params='kmeans') + model.fit(train_data) + self.model = model + + return self + + def predict(self, test_data: np.array): + predictions = self.model.predict_proba(test_data) + means = self.model.means_ + + return predictions, means + + + +# if __name__ == "__main__": +# # Dummy model test +# letterdata = np.load('/Users/basak/Documents/BciPy/S001_A.npz') +# left_eye = np.vstack((letterdata['lx'], letterdata['ly'])).T +# right_eye = np.vstack((letterdata['rx'], letterdata['ry'])).T + +# # Train test split the data +# test_size_right = int(len(right_eye) * 0.2) +# train_size_right = len(right_eye) - test_size_right +# train_right_eye = right_eye[:train_size_right] +# test_right_eye = right_eye[train_size_right:] + +# test_size_left = int(len(left_eye) * 0.2) +# train_size_left = len(left_eye) - test_size_left +# train_left_eye = left_eye[:train_size_left] +# test_left_eye = left_eye[train_size_left:] + +# gm = GaussianMixture(n_components=2, random_state=0, init_params='kmeans').fit(train_right_eye) +# predictions = gm.predict_proba(test_right_eye) +# print(predictions) +# plt.scatter(left_eye[:, 0], left_eye[:, 1], c='r', s=1) +# plt.scatter(right_eye[:, 0], right_eye[:, 1], c='b', s=1) +# means = gm.means_ +# plt.scatter(means[:,0], means[:,1], c='black', s=20, marker='^') +# plt.show() +# breakpoint() diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 9be389948..880b88eb2 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -12,12 +12,11 @@ load_experimental_data, load_json_parameters, load_raw_data, - load_eye_tracking_data ) from bcipy.helpers.stimuli import play_sound, update_inquiry_timing from bcipy.helpers.system_utils import report_execution_time from bcipy.helpers.symbols import alphabet -from bcipy.helpers.triggers import TriggerType, trigger_decoder +from bcipy.helpers.triggers import TriggerType, trigger_decoder, TriggerHandler from bcipy.helpers.visualization import visualize_erp, visualize_gaze, visualize_gaze_inquiries from bcipy.signal.model.base_model import SignalModel from bcipy.signal.model.pca_rda_kde import PcaRdaKdeModel @@ -264,23 +263,24 @@ def offline_analysis( model = GazeModel() - # Add back the system offset: - system_offset = 926453.0228878 - # TODO: This is handled in TriggerHandler. Remove automatic addition off system offset! + # Add back the starting offset: + # This is handled in TriggerHandler. Remove automatic addition off system offset: + trigx, starting_offset = TriggerHandler.read_text_file(f"{data_folder}/{TRIGGER_FILENAME}") + # TODO: I access TriggerHandler directly to not cause an issue during EEG analysis. + # There's probably a smarter way to discard starting_offset # Process triggers.txt files (again!) trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( remove_pre_fixation = False, - offset = system_offset, + offset = starting_offset*-1, # cancel out the starting_offset trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", - #exclusion=[TriggerType.PREVIEW, TriggerType.EVENT] exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION, TriggerType.SYSTEM, TriggerType.OFFSET] ) ''' Trigger_timing includes PROMPT and excludes FIXATION ''' # Use trigger_timing to generate time windows for each letter flashing - # Take every 10th trigger as the start point of timing. x = list(range(1000)), x[0::10] does that! - # trigger_targetness keeps the PROMPT info, use it to find the target symbol! + # Take every 10th trigger as the start point of timing. + # trigger_targetness keeps the PROMPT info, use it to find the target symbol. target_symbols = trigger_symbols[0::11] # target symbols inq_start = trigger_timing[1::11] # start of each inquiry (here we jump over prompts) @@ -297,19 +297,38 @@ def offline_analysis( transformation_buffer=buffer ) - # Plot samples for each target symbol: symbol_set = alphabet() + # Train the model for each target label and each eye separately. for i in symbol_set: + # Do more preprocesssing to extract eye info: + left_eye, left_pupil, right_eye, right_pupil = model.reshaper.extract_eye_info(inquiries[i]) + + # Train test split: + test_size = int(len(right_eye) * 0.2) + train_size = len(right_eye) - test_size + train_right_eye = right_eye[:train_size] + test_right_eye = right_eye[train_size:] + + train_left_eye = left_eye[:train_size] + test_left_eye = left_eye[train_size:] + + # Fit the model: + model.fit(train_right_eye) + + predictions, means = model.predict(test_right_eye) + # print(predictions) + + # Visualize the results: figure_handles = visualize_gaze_inquiries( - inquiries[i], + left_eye, + right_eye, save_path=None, show=show_figures, raw_plot=True, - ) - # plt.show() - + ) + plt.show() - breakpoint() + breakpoint() From 7606a86167b0043ac57058a11682569da9e3bd8f Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Thu, 24 Aug 2023 11:56:19 -0700 Subject: [PATCH 064/330] update tests and cleanup / documentation --- bcipy/helpers/parameters.py | 3 + bcipy/helpers/stimuli.py | 8 +-- .../resources/mock_session/parameters.json | 16 ++++-- bcipy/helpers/visualization.py | 54 +++++++++++------- bcipy/parameters/parameters.json | 10 +++- bcipy/signal/model/offline_analysis.py | 33 +++++++---- .../test_nontarget_topomap.png | Bin 121544 -> 120183 bytes .../test_target_topomap.png | Bin 119310 -> 115767 bytes bcipy/task/paradigm/matrix/copy_phrase.py | 7 --- bcipy/task/paradigm/rsvp/copy_phrase.py | 4 +- .../tests/paradigm/rsvp/test_copy_phrase.py | 6 +- 11 files changed, 82 insertions(+), 59 deletions(-) diff --git a/bcipy/helpers/parameters.py b/bcipy/helpers/parameters.py index 9a95ebacf..d89eacbba 100644 --- a/bcipy/helpers/parameters.py +++ b/bcipy/helpers/parameters.py @@ -103,6 +103,9 @@ def from_cast_values(cls, **kwargs): params = Parameters(source=None, cast_values=True) for key, val in kwargs.items(): value_type = type(val).__name__ + # Convert tuple to range + if value_type == 'tuple': + value_type = 'range' value_str = serialize_value(value_type, val) params.add_entry( key, { diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 27e19c45e..8552f7a3d 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -300,18 +300,16 @@ def mne_epochs(mne_data: RawArray, trigger_timing: List[float], trial_length: float, trigger_labels: List[int], - baseline: Tuple[float, float] = (None, 0.0), - epoch_buffer=0.1) -> Epochs: + baseline: Tuple[float, float] = (None, 0)) -> Epochs: """MNE Epochs. Using an MNE RawArray, reshape the data given trigger information. If two labels present [0, 1], each may be accessed by numbered order. Ex. first_class = epochs['1'], second_class = epochs['2'] """ - plot_length = trial_length + epoch_buffer - annotations = Annotations(trigger_timing, [plot_length] * len(trigger_timing), trigger_labels) + annotations = Annotations(trigger_timing, [trial_length] * len(trigger_timing), trigger_labels) mne_data.set_annotations(annotations) events_from_annot, _ = mne.events_from_annotations(mne_data) - return Epochs(mne_data, events_from_annot, tmax=plot_length, baseline=baseline) + return Epochs(mne_data, events_from_annot, tmax=trial_length, baseline=baseline) def alphabetize(stimuli: List[str]) -> List[str]: """Alphabetize. diff --git a/bcipy/helpers/tests/resources/mock_session/parameters.json b/bcipy/helpers/tests/resources/mock_session/parameters.json index e29e64391..ab56fd55b 100644 --- a/bcipy/helpers/tests/resources/mock_session/parameters.json +++ b/bcipy/helpers/tests/resources/mock_session/parameters.json @@ -74,13 +74,17 @@ "recommended_values": "[10]", "type": "int" }, - "trial_length": { - "value": "0.5", + "trial_window": { + "value": "0.0:0.5", "section": "bci_config", - "readableName": "Data Collection Window Length", - "helpTip": "Specifies the length (in seconds) of the EEG data collection window after each stimulus presentation. Default: 0.5", - "recommended_values": "", - "type": "float" + "readableName": "Trial Classification Window Length", + "helpTip": "Specifies the window (in seconds) of the EEG data collection window after each stimulus presentation. Default: 0.0:0.5", + "recommended_values": [ + "0.0:0.5", + "0.0:0.8", + "0.2:0.8" + ], + "type": "range" }, "prestim_length": { "value": "1", diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index f7032a2e4..b511eed39 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -13,7 +13,7 @@ from bcipy.helpers.load import choose_csv_file, load_raw_data from bcipy.helpers.stimuli import mne_epochs from bcipy.helpers.raw_data import RawData -from bcipy.signal.process import Composition, get_default_transform +from bcipy.signal.process import Composition, get_default_transform, ERPTransformParams import bcipy.acquisition.devices as devices import mne @@ -48,17 +48,17 @@ def visualize_erp( channel_map(List[int]): Map of channels to remove (0) or keep (1) trigger_timing: list of trigger timing trigger_labels: list of trigger labels - trial_length: length of trials described in trigger_timing / labels in seconds + trial_window: Tuple[float, float]: time window to plot transform(Composition): Optional BciPy composition to apply to data before visualization plot_average: Optional[boolean]: whether or not to average over all channels. Default: True plot_topomap: Optional[boolean]: whether or not to plot all channels across target/nontarget. Default: True show: Optional[boolean]: whether or not to show the figures generated. Default: False save_path: optional path to a save location of the figure generated """ - # check for trial length in seconds + # check for trial length in seconds from stimuli start (0.0) trial_length = trial_window[1] - 0.0 - # check for baseline interval + # check for a baseline interval or set to None if trial_window[0] < 0: baseline = (trial_window[0], 0) else: @@ -155,7 +155,17 @@ def visualize_joint_average( See: https://mne.tools/dev/generated/mne.Evoked.html#mne.Evoked.plot_joint + Parameters: + epochs(Tuple[Epochs]): MNE Epochs + labels(List[str]): List of labels for each Epoch + plot_joint_times(List[float]): List of times to plot topomaps + save_path(Optional[str]): Path to save the figures + show(Optional[bool]): Whether to show the figures + Note: assumes the number of Epochs (passed as a tuple) is equal to the number of labels provided + + Returns: + List of figures generated """ assert len(epochs) == len(labels), "The number of epochs must match labels in Visualize Joint Average" @@ -171,16 +181,22 @@ def visualize_joint_average( return figs -def visualize_evokeds(epochs: Tuple[Epochs, Epochs], save_path: Optional[str] - = None, show: Optional[bool] = False) -> List[Figure]: +def visualize_evokeds(epochs: Tuple[Epochs, Epochs], + save_path: Optional[str] = None, + show: Optional[bool] = False) -> List[Figure]: """Visualize Evokeds. Using MNE Epochs, generate a compare evokeds plot using the mean and showing parametric confidence interval in shaded region. See: https://mne.tools/stable/generated/mne.viz.plot_compare_evokeds.html - - Note: Assumes first epoch is nontarget and second is target.""" + + Parameters: + + epochs(Tuple[Epochs]): MNE Epochs Note: Assumes first epoch is nontarget and second is target. + save_path(Optional[str]): Path to save the figures + show(Optional[bool]): Whether to show the figures + """ evokeds = dict(nontarget=list(epochs[0].iter_evoked()), target=list(epochs[1].iter_evoked())) fig = mne.viz.plot_compare_evokeds(evokeds, combine='mean', show=show) @@ -208,30 +224,26 @@ def visualize_session_data(session_path: str, parameters: dict, show=True) -> Fi Figure of Session Data """ # extract all relevant parameters - poststim_length = parameters.get("trial_length") - # get signal filtering information - downsample_rate = parameters.get("down_sampling_rate") - notch_filter = parameters.get("notch_filter_frequency") - filter_high = parameters.get("filter_high") - filter_low = parameters.get("filter_low") - filter_order = parameters.get("filter_order") + trial_window = parameters.get("trial_window") static_offset = parameters.get("static_trigger_offset") raw_data = load_raw_data(Path(session_path, f'{RAW_DATA_FILENAME}.csv')) channels = raw_data.channels sample_rate = raw_data.sample_rate + transform_params = parameters.instantiate(ERPTransformParams) + devices.load(Path(session_path, DEFAULT_DEVICE_SPEC_FILENAME)) device_spec = devices.preconfigured_device(raw_data.daq_type) # setup filtering default_transform = get_default_transform( sample_rate_hz=sample_rate, - notch_freq_hz=notch_filter, - bandpass_low=filter_low, - bandpass_high=filter_high, - bandpass_order=filter_order, - downsample_factor=downsample_rate, + notch_freq_hz=transform_params.notch_filter_frequency, + bandpass_low=transform_params.filter_low, + bandpass_high=transform_params.filter_high, + bandpass_order=transform_params.filter_order, + downsample_factor=transform_params.down_sampling_rate, ) # Process triggers.txt files trigger_targetness, trigger_timing, _ = trigger_decoder( @@ -251,7 +263,7 @@ def visualize_session_data(session_path: str, parameters: dict, show=True) -> Fi channel_map, trigger_timing, labels, - poststim_length, + trial_window, transform=default_transform, plot_average=True, plot_topomaps=True, diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index 64f89220a..2dc7822ac 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -48,11 +48,15 @@ "type": "int" }, "trial_window": { - "value": "0.2:0.8", + "value": "0.0:0.5", "section": "bci_config", "readableName": "Trial Classification Window Length", "helpTip": "Specifies the window (in seconds) of the EEG data collection window after each stimulus presentation. Default: 0.0:0.5", - "recommended_values": "", + "recommended_values": [ + "0.0:0.5", + "0.0:0.8", + "0.2:0.8" + ], "type": "range" }, "prestim_length": { @@ -618,7 +622,7 @@ "type": "int" }, "lang_model_type": { - "value": "MIXTURE", + "value": "UNIFORM", "section": "lang_model_config", "readableName": "Language Model Type", "helpTip": "Specifies which language model to use. Default: MIXTURE", diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 789a83dd0..8c58017fe 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -34,13 +34,15 @@ def subset_data(data: np.ndarray, labels: np.ndarray, test_size: float, random_s """Performs a train/test split on the provided data and labels, accounting for the current shape convention (channel dimension in front, instead of batch dimension in front). - Args: + Parameters: + ----------- data (np.ndarray): Shape (channels, items, time) labels (np.ndarray): Shape (items,) test_size (float): fraction of data to be used for testing random_state (int, optional): fixed random seed Returns: + -------- train_data (np.ndarray): Shape (channels, train_items, time) test_data (np.ndarray): Shape (channels, test_items, time) train_labels (np.ndarray): Shape (train_items,) @@ -66,15 +68,6 @@ def offline_analysis( ) -> Tuple[SignalModel, Figure]: """Gets calibration data and trains the model in an offline fashion. pickle dumps the model into a .pkl folder - Args: - data_folder(str): folder of the data - save all information and load all from this folder - parameter(dict): parameters for running offline analysis - alert_finished(bool): whether or not to alert the user offline analysis complete - estimate_balanced_acc(bool): if true, uses another model copy on an 80/20 split to - estimate balanced accuracy - show_figures(bool): if true, shows ERP figures after training - save_figures(bool): if true, saves ERP figures after training to the data folder How it Works: - reads data and information from a .csv calibration file @@ -87,8 +80,24 @@ def offline_analysis( - pickle dumps model into .pkl file - generates and [optional] saves/shows the ERP figure - [optional] alert the user finished processing + + Parameters: + ---------- + data_folder(str): folder of the data + save all information and load all from this folder + parameter(dict): parameters for running offline analysis + alert_finished(bool): whether or not to alert the user offline analysis complete + estimate_balanced_acc(bool): if true, uses another model copy on an 80/20 split to + estimate balanced accuracy + show_figures(bool): if true, shows ERP figures after training + save_figures(bool): if true, saves ERP figures after training to the data folder + + Returns: + -------- + model (SignalModel): trained model + figure_handles (Figure): handles to the ERP figures """ - assert parameters, "Parameters are required" + assert parameters, "Parameters are required for offline analysis." if not data_folder: data_folder = load_experimental_data() @@ -142,7 +151,7 @@ def offline_analysis( model = PcaRdaKdeModel(k_folds=k_folds) # Process triggers.txt files - trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( + trigger_targetness, trigger_timing, _ = trigger_decoder( offset=static_offset, trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], diff --git a/bcipy/signal/tests/model/integration_test_expected_output/test_nontarget_topomap.png b/bcipy/signal/tests/model/integration_test_expected_output/test_nontarget_topomap.png index a39d4cf91444e5f3924c999c901addac4a9e3878..91c5604f1e3f386229e8fa2ccbab45c1072b5934 100644 GIT binary patch literal 120183 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%0DW-La*X%#Rj?i?wh{fz+IWV@ULui$_80sYE7 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 literal 121544 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­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П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

Ppj_+)6BhI%vw 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≫DBFC+3!mEy-B_+#j*V4qbjT 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 B3@88q diff --git a/bcipy/signal/tests/model/integration_test_expected_output/test_target_topomap.png b/bcipy/signal/tests/model/integration_test_expected_output/test_target_topomap.png index 7c689dc98369a95b6c5430f0d6b04d7c1b4bcaa8..b120e91f95a69d8c080b88dbc7ef8999a861233b 100644 GIT binary patch literal 115767 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≫%b^|D2^f7lQgND%bBBKC$RU#$!aAac@ewY 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 -xKj4Rd3o!P}tF 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 aU!baB(-7u!;~?IEe_}$?f~5jFzW)meEFpFP diff --git a/bcipy/task/paradigm/matrix/copy_phrase.py b/bcipy/task/paradigm/matrix/copy_phrase.py index 53e9e9ecc..706b73334 100644 --- a/bcipy/task/paradigm/matrix/copy_phrase.py +++ b/bcipy/task/paradigm/matrix/copy_phrase.py @@ -44,13 +44,6 @@ def init_display(self) -> Display: def init_display(parameters, win, experiment_clock, starting_spelled_text): """Constructs a new Matrix display""" - # preview_inquiry = PreviewInquiryProperties( - # preview_only=parameters['preview_only'], - # preview_inquiry_length=parameters['preview_inquiry_length'], - # preview_inquiry_key_input=parameters['preview_inquiry_key_input'], - # preview_inquiry_progress_method=parameters[ - # 'preview_inquiry_progress_method'], - # preview_inquiry_isi=parameters['preview_inquiry_isi']) info = InformationProperties( info_color=[parameters['info_color']], diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index bc2f45c5e..04c6121d7 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -84,7 +84,7 @@ class RSVPCopyPhraseTask(Task): MODE = 'RSVP' PARAMETERS_USED = [ - 'time_fixation', 'time_flash', 'time_prompt', 'trial_length', + 'time_fixation', 'time_flash', 'time_prompt', 'trial_window', 'font', 'fixation_color', 'trigger_type', 'filter_high', 'filter_low', 'filter_order', 'notch_filter_frequency', 'down_sampling_rate', 'prestim_length', 'is_txt_stim', 'lm_backspace_prob', 'backspace_always_shown', @@ -230,7 +230,7 @@ def validate_parameters(self) -> None: # ensure data / query parameters are set correctly buffer_len = self.parameters['task_buffer_length'] prestim = self.parameters['prestim_length'] - poststim = self.parameters['trial_length'] + poststim = self.parameters['trial_window'][1] - self.parameters['trial_window'][0] if buffer_len < prestim: raise TaskConfigurationException( f'task_buffer_length=[{buffer_len}] must be greater than prestim_length=[{prestim}]') diff --git a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py index d84b2f9c9..68fb1e794 100644 --- a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py +++ b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py @@ -79,7 +79,7 @@ def setUp(self): 'time_fixation': 0.5, 'time_flash': 0.25, 'time_prompt': 1.0, - 'trial_length': 0.5, + 'trial_window': (0.0, 0.5), 'trigger_type': 'image', } self.parameters = Parameters.from_cast_values(**parameters) @@ -190,8 +190,8 @@ def test_validate_parameters_throws_task_exception_excess_prestim_length(self): language_model=self.language_model, fake=True) - def test_validate_parameters_throws_task_exception_excess_trial_length(self): - self.parameters['trial_length'] = 1000 + def test_validate_parameters_throws_task_exception_excess_trial_window(self): + self.parameters['trial_window'] = "0.0:1000.0" with self.assertRaises(TaskConfigurationException): RSVPCopyPhraseTask( From ecf2df2109051cbc580345528528fa137c778894 Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Thu, 24 Aug 2023 12:41:55 -0700 Subject: [PATCH 065/330] linting --- bcipy/helpers/load.py | 2 +- bcipy/helpers/stimuli.py | 1 + bcipy/helpers/visualization.py | 6 +++--- bcipy/signal/model/pca_rda_kde/pca_rda_kde.py | 2 +- bcipy/task/paradigm/rsvp/copy_phrase.py | 4 ++-- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/bcipy/helpers/load.py b/bcipy/helpers/load.py index f7b14aa87..a12980ef3 100644 --- a/bcipy/helpers/load.py +++ b/bcipy/helpers/load.py @@ -5,7 +5,7 @@ from pathlib import Path from shutil import copyfile from time import localtime, strftime -from typing import Any, Dict, List, Optional, Tuple +from typing import List, Optional from bcipy.config import (DEFAULT_ENCODING, DEFAULT_EXPERIMENT_PATH, DEFAULT_FIELD_PATH, DEFAULT_PARAMETERS_PATH, diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 8552f7a3d..d4e55dd0a 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -311,6 +311,7 @@ def mne_epochs(mne_data: RawArray, events_from_annot, _ = mne.events_from_annotations(mne_data) return Epochs(mne_data, events_from_annot, tmax=trial_length, baseline=baseline) + def alphabetize(stimuli: List[str]) -> List[str]: """Alphabetize. diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index b511eed39..c4e4b6cfc 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -57,7 +57,7 @@ def visualize_erp( """ # check for trial length in seconds from stimuli start (0.0) trial_length = trial_window[1] - 0.0 - + # check for a baseline interval or set to None if trial_window[0] < 0: baseline = (trial_window[0], 0) @@ -190,9 +190,9 @@ def visualize_evokeds(epochs: Tuple[Epochs, Epochs], interval in shaded region. See: https://mne.tools/stable/generated/mne.viz.plot_compare_evokeds.html - + Parameters: - + epochs(Tuple[Epochs]): MNE Epochs Note: Assumes first epoch is nontarget and second is target. save_path(Optional[str]): Path to save the figures show(Optional[bool]): Whether to show the figures diff --git a/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py b/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py index faab1de69..6d30f2386 100644 --- a/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py +++ b/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py @@ -180,5 +180,5 @@ def load(self, path: Path) -> SignalModel: """Load pretrained model from `path`""" with open(path, "rb") as f: model = pickle.load(f) - + return model diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index 04c6121d7..8affe1fa4 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -230,7 +230,7 @@ def validate_parameters(self) -> None: # ensure data / query parameters are set correctly buffer_len = self.parameters['task_buffer_length'] prestim = self.parameters['prestim_length'] - poststim = self.parameters['trial_window'][1] - self.parameters['trial_window'][0] + poststim = self.parameters['trial_window'][1] - self.parameters['trial_window'][0] if buffer_len < prestim: raise TaskConfigurationException( f'task_buffer_length=[{buffer_len}] must be greater than prestim_length=[{prestim}]') @@ -580,7 +580,7 @@ def compute_device_evidence( inquiry_timing = self.stims_for_decision(stim_times) # update the inquiry timing list (stim, time) based on the trial window first time value - inquiry_timing = [(stim, time + trial_window[0]) for stim, time in inquiry_timing] + inquiry_timing = [(stim, time + trial_window[0]) for stim, time in inquiry_timing] # Get all data at once so we don't redundantly query devices which are # used in more than one signal model. From 4922d203ceb5621dd1dabf9e0bb011a78cffeb8c Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 24 Aug 2023 14:14:49 -0700 Subject: [PATCH 066/330] Renamed matrix_width parameter; added changelog --- CHANGELOG.md | 1 + bcipy/parameters/parameters.json | 2 +- bcipy/task/paradigm/matrix/calibration.py | 2 +- bcipy/task/paradigm/matrix/copy_phrase.py | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b8772129..2c5c6e59c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ - Matrix - Matrix calibration refinements #262 - Matrix Copy Phrase Task #261 + - Matrix displays can be parameterized with a given number of rows and columns. #289 - RSVP - RSVP Calibration pulls out inquiry preview parameters and calls the display with them if enabled - RSVP Display `do_inquiry` accepts a preview_calibration argument that will present the full inquiry to come if True after the prompt and before the fixation diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index d6ccba53f..9abbf79c2 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -240,7 +240,7 @@ "recommended_values": "", "type": "int" }, - "matrix_width_pct": { + "matrix_width": { "value": "0.7", "section": "bci_config", "readableName": "Matrix Width (%)", diff --git a/bcipy/task/paradigm/matrix/calibration.py b/bcipy/task/paradigm/matrix/calibration.py index a556cfa73..5c9147b8b 100644 --- a/bcipy/task/paradigm/matrix/calibration.py +++ b/bcipy/task/paradigm/matrix/calibration.py @@ -273,6 +273,6 @@ def init_calibration_display_task( info, rows=parameters['matrix_rows'], columns=parameters['matrix_columns'], - width_pct=parameters['matrix_width_pct'], + width_pct=parameters['matrix_width'], trigger_type=parameters['trigger_type'], symbol_set=symbol_set) diff --git a/bcipy/task/paradigm/matrix/copy_phrase.py b/bcipy/task/paradigm/matrix/copy_phrase.py index d397328f8..f4eba92ab 100644 --- a/bcipy/task/paradigm/matrix/copy_phrase.py +++ b/bcipy/task/paradigm/matrix/copy_phrase.py @@ -82,6 +82,6 @@ def init_display(parameters, win, experiment_clock, starting_spelled_text): info, rows=parameters['matrix_rows'], columns=parameters['matrix_columns'], - width_pct=parameters['matrix_width_pct'], + width_pct=parameters['matrix_width'], trigger_type=parameters['trigger_type'], should_prompt_target=False) From 979610eeb6b2f97b87b3d25ec9b1b5df0b1c29d8 Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Thu, 24 Aug 2023 19:57:59 -0700 Subject: [PATCH 067/330] Add to changelog and lint scripts --- CHANGELOG.md | 2 ++ scripts/python/lm_eval.py | 36 +++++++++++++++++------------ scripts/python/mixture_tuning.py | 38 +++++++++++++++---------------- scripts/python/offset_analysis.py | 34 ++++++++++++++------------- scripts/python/replay_session.py | 18 +++++++-------- 5 files changed, 69 insertions(+), 59 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c9e2e8b44..7899428c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ Our last release candidate before the official 2.0 release! - Support for multiple devices in online querying #286 - Stimuli - Updates to ensure stimuli are presented at the same frequency #287 +- Dynamic Selection Window + - Updated trial_length to trial_window to allow for greater control of window used after stimulus presentations #291 - Parameters - Add a Range type parameter #285 - Cleanup diff --git a/scripts/python/lm_eval.py b/scripts/python/lm_eval.py index 8db5f53d1..bc377f7b6 100644 --- a/scripts/python/lm_eval.py +++ b/scripts/python/lm_eval.py @@ -5,7 +5,7 @@ from bcipy.language.main import ResponseType from math import log10 from timeit import default_timer as timer -from bcipy.helpers.symbols import BACKSPACE_CHAR, SPACE_CHAR, alphabet +from bcipy.helpers.symbols import SPACE_CHAR, alphabet import argparse import numpy as np import sys @@ -14,13 +14,15 @@ parser = argparse.ArgumentParser() parser.add_argument('--verbose', dest='verbose', type=int, required=True, - help='0: Only output model averages\n1: Output results from each phrase\n2: Output results from each character') + help=('0: Only output model averages\n1: Output results from each phrase\n2: ' + 'Output results from each character')) parser.add_argument('--model', dest='model', type=int, required=True, - help='1: Unigram\n2: Mixture (80/20 Causal GPT-2/Unigram)\n3: KenLM n-gram\n4: Causal Hugging Face') + help=('1: Unigram\n2: Mixture (80/20 Causal GPT-2/Unigram)\n3: ' + 'KenLM n-gram\n4: Causal Hugging Face')) parser.add_argument('--phrases', dest='phrases', type=str, required=True, - help='Phrase set filename') + help='Phrase set filename') parser.add_argument('--model-name', dest='model_name') parser.add_argument('--model-dir', @@ -41,11 +43,11 @@ phrases = args.phrases if model == 3 and not args.model_dir: - print(f"ERROR: For KenLM n-gram model you must specify filename of model using --model-dir") + print("ERROR: For KenLM n-gram model you must specify filename of model using --model-dir") sys.exit(1) if model == 4 and not args.model_name: - print(f"ERROR: For causal model you must specify name of model using --model-name") + print("ERROR: For causal model you must specify name of model using --model-name") sys.exit(1) # Allow passing in of space characters in the context using word @@ -65,7 +67,7 @@ lm = None start = timer() - + symbol_set = alphabet() response_type = ResponseType.SYMBOL if model == 1: @@ -122,7 +124,7 @@ correct_char = "" # BciPy treats space as underscore - if(token == ""): + if (token == ""): token = SPACE_CHAR correct_char = SPACE_CHAR else: @@ -132,7 +134,8 @@ predict_time = timer() - start_predict predict_time_arr = np.append(predict_time_arr, predict_time) - predict_details_arr = np.append(predict_details_arr, f"sentence = {sentence}, index = {i}, p( {token} | {prev_token} )") + predict_details_arr = np.append(predict_details_arr, + f"sentence = {sentence}, index = {i}, p( {token} | {prev_token} )") # Find the probability for the correct character p = next_char_pred[[c[0] for c in next_char_pred].index(correct_char)][1] @@ -167,14 +170,17 @@ if accum == 1: if verbose >= 1: print("Zero-prob event encountered, terminating phrase") - print(f"per-symbol prediction time = {per_symbol_time:.6f} +/- {phrase_std:.6f} [{phrase_min:.6f}, {phrase_max:.6f}]\n") + print(f"per-symbol prediction time = {per_symbol_time:.6f} +/- {phrase_std:.6f} [{phrase_min:.6f}, " + f"{phrase_max:.6f}]\n") else: per_symbol_logprob = accum / symbols # Phrase-level output if verbose >= 1: - print(f"sum logprob = {accum:.4f}, per-symbol logprob = {per_symbol_logprob:.4f}, ppl = {pow(10,-1 * per_symbol_logprob):.4f}") - print(f"per-symbol prediction time = {per_symbol_time:.6f} +/- {phrase_std:.6f} [{phrase_min:.6f}, {phrase_max:.6f}]\n") + print(f"sum logprob = {accum:.4f}, per-symbol logprob = {per_symbol_logprob:.4f}, " + f"ppl = {pow(10,-1 * per_symbol_logprob):.4f}") + print(f"per-symbol prediction time = {per_symbol_time:.6f} +/- {phrase_std:.6f} " + f"[{phrase_min:.6f}, {phrase_max:.6f}]\n") sum_per_symbol_logprob += per_symbol_logprob phrase_count += 1 @@ -189,14 +195,14 @@ ci_floor = overall_per_symbol_time - (3 * overall_std_time) ci_ceiling = overall_per_symbol_time + (3 * overall_std_time) - # Model-level output print(f"OVERALL \ \nphrases = {phrase_count}, \ \naverage per symbol logprob = {average_per_symbol_logprob:.4f}, \ \nppl = {pow(10,-1 * average_per_symbol_logprob):.4f}, \ \nzero-prob events = {zero_prob} \ - \nper-symbol prediction time = {overall_per_symbol_time:.6f} +/- {overall_std_time:.6f} [{overall_min_time:.6f}, {overall_max_time:.6f}] \ + \nper-symbol prediction time = {overall_per_symbol_time:.6f} +/- {overall_std_time:.6f} \ + [{overall_min_time:.6f}, {overall_max_time:.6f}] \ \n95% CI = [{ci_floor}, {ci_ceiling}]\n") print(f"Inference time = {timer() - start:.6f}") @@ -205,4 +211,4 @@ if time < ci_floor: print(f"LOW OUTLIER: {overall_predict_details_arr[i]}, predict time = {time:.6f}\n") if time > ci_ceiling: - print(f"HIGH OUTLIER: {overall_predict_details_arr[i]}, predict time = {time:.6f}\n") \ No newline at end of file + print(f"HIGH OUTLIER: {overall_predict_details_arr[i]}, predict time = {time:.6f}\n") diff --git a/scripts/python/mixture_tuning.py b/scripts/python/mixture_tuning.py index 576d94681..e8e5e172f 100644 --- a/scripts/python/mixture_tuning.py +++ b/scripts/python/mixture_tuning.py @@ -6,10 +6,10 @@ if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument('--step', dest='step', type=int, required=True, - help='The number of weight steps to be used in the sweep search') + help='The number of weight steps to be used in the sweep search') parser.add_argument('--in', dest='files', type=str, required=True, nargs='+', - help="Two or more paths pointing to output files from the lm_eval script with --verbose 2") + help="Two or more paths pointing to output files from the lm_eval script with --verbose 2") args = parser.parse_args() @@ -32,39 +32,39 @@ sentence_pslp_arr = [] for line in zip(*lines): if line[0].startswith("sentence = "): - for l in line: - if not l.startswith("sentence = "): + for elm in line: + if not elm.startswith("sentence = "): print("Line mismatch. Please ensure all files were run on the same phrase set.") exit() probs = [] elif line[0].startswith("p( "): - for l in line: - if not l.startswith("p( "): + for elm in line: + if not elm.startswith("p( "): print("Line mismatch. Please ensure all files were run on the same phrase set.") exit() - if l[-5:] == " = 0\n": + if elm[-5:] == " = 0\n": print("Error: Component model zero prob.") exit() component_probs = [] mixed_probs = [] - for l in line: - component_probs.append(float(l[l.index("=") + 2:l.index("[") - 1])) - for w in weights: - mixed_probs.append(np.dot(w, component_probs)) + for elm in line: + component_probs.append(float(elm[elm.index("=") + 2:elm.index("[") - 1])) + for weight in weights: + mixed_probs.append(np.dot(weight, component_probs)) probs.append(mixed_probs) elif line[0].startswith("sum logprob = "): - for l in line: - if not l.startswith("sum logprob = "): + for elm in line: + if not elm.startswith("sum logprob = "): print("Line mismatch. Please ensure all files were run on the same phrase set.") exit() logprobs = [] - for p in probs: - l = [log10(i) for i in p] - logprobs.append(l) + for prob in probs: + log_list = [log10(i) for i in prob] + logprobs.append(log_list) sentence_pslp_arr.append([np.average(w) for w in zip(*logprobs)]) elif line[0].startswith("OVERALL"): - for l in line: - if not l.startswith("OVERALL"): + for elm in line: + if not elm.startswith("OVERALL"): print("Line mismatch. Please ensure all files were run on the same phrase set.") exit() @@ -74,4 +74,4 @@ print(f"{weight}\t\t{ppl:.3f}") print(f"\nBEST: {weights[np.argmin(overall_ppl_arr)]} {np.min(overall_ppl_arr):.3f}") - break \ No newline at end of file + break diff --git a/scripts/python/offset_analysis.py b/scripts/python/offset_analysis.py index a70b306ad..0001926b5 100644 --- a/scripts/python/offset_analysis.py +++ b/scripts/python/offset_analysis.py @@ -2,27 +2,29 @@ Assumptions: - The raw_data.csv file is available. - - The raw_data.csv file contains a TRG column, which is a continuous line of 0s and values greater than 0 (indicating a photodiode trigger event). + - The raw_data.csv file contains a TRG column, which is a continuous line of 0s and values greater than 0 + (indicating a photodiode trigger event). - The triggers.txt file is available. - All data are in the same directory and in the BciPy session data format. Usage: - Run the script from the command line. - Select the directory containing the raw_data.csv and triggers.txt files. - - The script will plot the TRG column from the raw_data.csv file, as well as the triggers.txt file. - - The script will also print out the results of the analysis, including the number of violations (set using the --tolerance flag) and the recommended static offset (-r). + - The script will plot the TRG column from the raw_data.csv file, as well as the triggers.txt file. + - The script will also print out the results of the analysis, including the number of violations + (set using the --tolerance flag) and the recommended static offset (-r). + + Example usage to recommend a static offset: + python offset_analysis.py -p 'C:/Users/test_data/test_offset_analysis_session/' -r - Example usage to recommned a static offset: - python offset_analysis.py -p C:/Users/bcipy/Documents/BCI-Project/bcipy/bcipy/tests/test_data/test_offset_analysis/ -r - Example usage to recommend a static offset using the RSVP Time Test Calibrations: - python offset_analysis.py -p C:/Users/bcipy/Documents/BCI-Project/bcipy/bcipy/tests/test_data/test_offset_analysis/ --rsvp -r + python offset_analysis.py -p 'C:/Users/test_data/test_offset_analysis_session/' --rsvp -r Example usage to plot the data next to photodiode results with a static offset applied: - python offset_analysis.py -p C:/Users/bcipy/Documents/BCI-Project/bcipy/bcipy/tests/test_data/test_offset_analysis/ --offset 0.01 + python offset_analysis.py -p 'C:/Users/test_data/test_offset_analysis_session/' --offset 0.01 Example usage to plot the data next to photodiode results with a static offset applied and a tolerance of 10 ms: - python offset_analysis.py -p C:/Users/bcipy/Documents/BCI-Project/bcipy/bcipy/tests/test_data/test_offset_analysis/ --offset 0.01 --tolerance 0.01 + python offset_analysis.py -p 'C:/Users/test_data/test_offset_analysis_session/' --offset 0.01 --tolerance 0.01 """ from pathlib import Path from textwrap import wrap @@ -204,7 +206,8 @@ def read_triggers(triggers_file: str, static_offset: float): return corrected -def main(data_dir: str, recommend: bool = False, static_offset: float = 0.105, tolerance: float = 0.01, rsvp: bool = False): +def main(data_dir: str, recommend: bool = False, static_offset: float = 0.105, + tolerance: float = 0.01, rsvp: bool = False): """Run the viewer gui Parameters: @@ -231,8 +234,7 @@ def main(data_dir: str, recommend: bool = False, static_offset: float = 0.105, t import argparse parser = argparse.ArgumentParser( - description= - "Graphs trigger data from a bcipy session to visualize system latency") + description="Graphs trigger data from a bcipy session to visualize system latency") parser.add_argument('-p', '--path', help='path to the data directory', @@ -244,18 +246,18 @@ def main(data_dir: str, recommend: bool = False, static_offset: float = 0.105, t parser.add_argument('--offset', help='static offset applied to triggers for plotting and analysis', default=0.114) - parser.add_argument('-t','--tolerance', + parser.add_argument('-t', '--tolerance', help='Allowable tolerance between triggers and photodiode. Deafult 10 ms', default=0.01) parser.add_argument('--rsvp', - help='RSVP Calibration Task. Default False. Corrects for issue with fixation causing a false positive.', + help=('RSVP Calibration Task. Default False. ' + 'Corrects for issue with fixation causing a false positive.'), type=bool, default=True) - args = parser.parse_args() path = args.path if not path: path = ask_directory() - main(path, bool(args.recommend), float(args.offset), float(args.tolerance), bool(args.rsvp)) \ No newline at end of file + main(path, bool(args.recommend), float(args.offset), float(args.tolerance), bool(args.rsvp)) diff --git a/scripts/python/replay_session.py b/scripts/python/replay_session.py index 7ef0f30d2..35b8475a8 100644 --- a/scripts/python/replay_session.py +++ b/scripts/python/replay_session.py @@ -27,6 +27,7 @@ logger.getLogger().setLevel(logger.INFO) + def load_model(model_path: Path, k_folds: int, model_class=PcaRdaKdeModel): """Load the model at the given path""" with open(model_path, "rb") as f: @@ -43,7 +44,7 @@ def generate_replay_outputs( symbol_set=alphabet(), write_output=False) -> Tuple[dict, list, list]: """Replay a session and generate outputs for the provided model. - + Parameters ---------- data_folder: Path @@ -58,7 +59,7 @@ def generate_replay_outputs( List of symbols to use for the replay session. By default, this is the alphabet. write_output: bool Whether or not to write the output to a file. By default, this is False. - + Returns ------- tuple - new_model_outputs, old_model_target_output, old_model_nontarget_output @@ -76,7 +77,7 @@ def generate_replay_outputs( trial_length = trial_window[1] - trial_window[0] adjust_trials_by_window = True logger.info(f"Trial Window: {trial_window[0]}-{trial_window[1]}s") - + trials_per_inquiry = parameters.get("stim_length") prestim_length = parameters.get("prestim_length", trial_length) buffer_length = int(parameters.get("task_buffer_length") / 2) @@ -176,7 +177,6 @@ def generate_replay_outputs( with open(data_folder / "replay_outputs.json", "w") as f: json.dump(outputs, f, indent=2) - # TODO separate this from the method # Get values computed during actual experiment from session.json for comparison session_json = data_folder / SESSION_DATA_FILENAME all_target_eeg, all_nontarget_eeg = load_eeg_evidence_from_session_json(session_json, symbol_set) @@ -186,7 +186,7 @@ def generate_replay_outputs( def load_eeg_evidence_from_session_json(session_json, symbol_set) -> Tuple[list, list]: """Load EEG evidence from session.json file for comparison with replay outputs. - + Parameters ---------- session_json : str @@ -214,10 +214,10 @@ def load_eeg_evidence_from_session_json(session_json, symbol_set) -> Tuple[list, continue else: stim_label = inquiry["stimuli"][0] # name of symbols presented - stim_label.pop(0) # remove fixation cross + stim_label.pop(0) # remove fixation cross stim_indices = [symbol_set.index(sym) for sym in stim_label] targetness = inquiry["target_info"] # targetness of stimuli - targetness.pop(0) # remove fixation cross + targetness.pop(0) # remove fixation cross target = [index for index, label in zip(stim_indices, targetness) if label == "target"] nontarget = [index for index, label in zip(stim_indices, targetness) if label == "nontarget"] all_target_eeg.extend([inquiry["eeg_evidence"][pos] for pos in target]) @@ -358,7 +358,7 @@ def plot_collected_outputs( targets_with_old_model, nontargets_with_old_model, args.outdir) - - breakpoint() + + # breakpoint() logger.info("Replay complete.") From 713f8702991901d55a3a7cea605f7e03f521639e Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Thu, 24 Aug 2023 20:21:29 -0700 Subject: [PATCH 068/330] remove breakpoint from model loading --- scripts/python/replay_session.py | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/python/replay_session.py b/scripts/python/replay_session.py index 35b8475a8..91d24026a 100644 --- a/scripts/python/replay_session.py +++ b/scripts/python/replay_session.py @@ -32,7 +32,6 @@ def load_model(model_path: Path, k_folds: int, model_class=PcaRdaKdeModel): """Load the model at the given path""" with open(model_path, "rb") as f: model = pickle.load(f) - breakpoint() return model From c5e40e313dd2432bb89ffbb56b095d789d6ee9f0 Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Thu, 24 Aug 2023 23:30:28 -0400 Subject: [PATCH 069/330] Visualization for results added --- bcipy/helpers/stimuli.py | 45 ++++++++++++++++---------- bcipy/helpers/visualization.py | 33 +++++++++++++++++-- bcipy/signal/model/fusion_model.py | 3 +- bcipy/signal/model/offline_analysis.py | 6 ++-- 4 files changed, 63 insertions(+), 24 deletions(-) diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 34052ad0c..c429e5d46 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -258,11 +258,11 @@ def __call__(self, transformation_buffer (float, optional): time in seconds to buffer the end of the inquiry. Defaults to 0.0. Returns: - reshaped_data (np.ndarray): inquiry data of shape (Inquiries, Channels, Samples) + reshaped_data (List[float]): inquiry data of shape (Inquiries, Channels, Samples) labels (List[str]): Target letter in each inquiry. data_by_targets (dict): Dictionary where keys are the symbol set and values are the appended inquiries - for each symbol. dict[Key] = list of shape (Channels, Samples) + for each symbol. dict[Key] = (np.ndarray) of shape (Channels, Samples) """ if channel_map: # Remove the channels that we are not interested in @@ -298,12 +298,26 @@ def __call__(self, for i, inquiry_index in enumerate(triggers): start = inquiry_index stop = int(inquiry_index + (sample_rate * 3)) # (60 samples * 3 seconds) - reshaped_data.append(gaze_data[:, start:stop]) + # Check if the data exists for the inquiry: + if stop > len(gaze_data[0,:]): + continue + + reshaped_data.append(gaze_data[:, start:stop]) + # (Optional) extracted data (Inquiries x Channels x Samples) + + # Populate the dict by appending the inquiry to the correct key: + data_by_targets[labels[i]].append(gaze_data[:, start:stop]) + + # After populating, flatten the arrays in the dictionary to (Channels x Samples): + for symbol in symbol_set: + if len(data_by_targets[symbol]) > 0: + data_by_targets[symbol] = np.transpose(np.array(data_by_targets[symbol]), (1,0,2)) + data_by_targets[symbol] = np.reshape(data_by_targets[symbol], (len(data_by_targets[symbol]), -1)) - # Create a dictionary: - for symbol in symbol_set: - if symbol == labels[i]: - data_by_targets[symbol].append(gaze_data[:, start:stop]) + # TODO: Note that this is a workaround to the issue of having different number of targetness in + # each symbol. If a target symbol is prompted more than once, the data is appended to the dict as a list. + # Which is why we need to convert it to a (np.ndarray) and flatten the dimensions. + # This is not ideal, but it works for now. # return np.stack(reshaped_data, 0), labels return data_by_targets @@ -314,24 +328,21 @@ def extract_eye_info(data): Extract Left and Right Eye info from data. Args: - data (List(float)): Data in shape of num_targetness x num_channels x num_samples + data (np.ndarray): Data in shape of num_channels x num_samples Returns: left_eye (np.ndarray), left_pupil (List(float)) right_eye (np.ndarray), right_pupil (List(float)) """ - temp_data = np.transpose(np.array(data), (1,0,2)) - inq_data = np.reshape(temp_data, (len(temp_data), -1)) # num_channels x num_samples - # Extract samples from channels - lx = inq_data[2,:] - ly = inq_data[3,:] - left_pupil = inq_data[4,:] + lx = data[2,:] + ly = data[3,:] + left_pupil = data[4,:] - rx = inq_data[5,:] - ry = inq_data[6,:] - right_pupil = inq_data[7,:] + rx = data[5,:] + ry = data[6,:] + right_pupil = data[7,:] left_eye = np.vstack((np.array(lx), np.array(ly))).T right_eye = np.vstack((np.array(rx), np.array(ry))).T diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index 37f60acc5..8754c2842 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -3,6 +3,7 @@ from typing import List, Optional, Tuple from pathlib import Path from matplotlib.figure import Figure +from matplotlib.patches import Ellipse import matplotlib.pyplot as plt from bcipy.config import (TRIGGER_FILENAME, RAW_DATA_FILENAME, @@ -22,6 +23,7 @@ from mne.io import read_raw_edf import numpy as np import seaborn as sns +from scipy import linalg import matplotlib.pyplot as plt import pandas as pd @@ -173,6 +175,8 @@ def visualize_gaze( def visualize_gaze_inquiries( left_eye, right_eye, + means=None, + covs=None, save_path=None, show=False, img_path=None, @@ -186,7 +190,8 @@ def visualize_gaze_inquiries( Parameters ---------- - left eye, right eye: Raw gaze data (np.ndarray) + left eye, right eye: (np.ndarray): Raw gaze data, plotting both eyes is optional + means, covs: Optional(np.ndarray): Means and covariances of the Gaussian Mixture Model save_path: Optional[str] show: Optional[bool] img_path: Optional[str] @@ -212,6 +217,11 @@ def visualize_gaze_inquiries( ly = 1 - ly ry = 1 - ry + if means is not None: + means[:,0] = np.clip(means[:,0], 0, 1) + means[:,1] = np.clip(means[:,1], 0, 1) + means[:,1] = 1 - means[:,1] + # remove nan values # lx = lx[~np.isnan(lx)] # ly = ly[~np.isnan(ly)] @@ -241,8 +251,25 @@ def visualize_gaze_inquiries( colorbar=True) if raw_plot: - ax.scatter(lx, ly, c='r', s=1) - ax.scatter(rx, ry, c='b', s=1) + # ax.scatter(lx, ly, c='lightcoral', s=1) + ax.scatter(rx, ry, c='bisque', s=1) + + if means is not None: + for i, (mean, cov) in enumerate(zip(means, covs)): + v, w = linalg.eigh(cov) + v = 2.0 * np.sqrt(2.0) * np.sqrt(v) + u = w[0] / linalg.norm(w[0]) + + # Plot an ellipse to show the Gaussian component + angle = np.arctan(u[1] / u[0]) + angle = 180.0 * angle / np.pi # convert to degrees + ell = Ellipse(mean, v[0], v[1], angle=180.0 + angle, color='navy') + ell.set_clip_box(ax) + ell.set_alpha(0.5) + ax.add_artist(ell) + + # ax.scatter(means[:,0], means[:,1], c='yellow', s=20, marker='^') + plt.title(f'{title}Plot') diff --git a/bcipy/signal/model/fusion_model.py b/bcipy/signal/model/fusion_model.py index b2a7eda4e..55e9bd201 100644 --- a/bcipy/signal/model/fusion_model.py +++ b/bcipy/signal/model/fusion_model.py @@ -24,8 +24,9 @@ def fit(self, train_data: np.array): def predict(self, test_data: np.array): predictions = self.model.predict_proba(test_data) means = self.model.means_ + covs = self.model.covariances_ - return predictions, means + return predictions, means, covs diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 880b88eb2..e5ad5757b 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -315,13 +315,13 @@ def offline_analysis( # Fit the model: model.fit(train_right_eye) - predictions, means = model.predict(test_right_eye) + predictions, means, covs = model.predict(test_right_eye) # print(predictions) # Visualize the results: figure_handles = visualize_gaze_inquiries( - left_eye, - right_eye, + left_eye, right_eye, + means, covs, save_path=None, show=show_figures, raw_plot=True, From ee49f82a2022724bdbd1ff2f8e1d44ee51180784 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 25 Aug 2023 15:52:44 -0700 Subject: [PATCH 070/330] Added the ability to layout a matrix in qwerty order --- .../display/demo/matrix/demo_matrix_layout.py | 54 +++++++++++++++++++ bcipy/display/paradigm/matrix/display.py | 14 +++-- bcipy/helpers/symbols.py | 26 +++++++++ 3 files changed, 89 insertions(+), 5 deletions(-) create mode 100644 bcipy/display/demo/matrix/demo_matrix_layout.py diff --git a/bcipy/display/demo/matrix/demo_matrix_layout.py b/bcipy/display/demo/matrix/demo_matrix_layout.py new file mode 100644 index 000000000..7379af0f2 --- /dev/null +++ b/bcipy/display/demo/matrix/demo_matrix_layout.py @@ -0,0 +1,54 @@ +"""Demo Matrix Display functionality related to Calibration task logic.""" +# pylint: disable=invalid-name +from psychopy import core + +import bcipy.display.components.layout as layout +from bcipy.display import (InformationProperties, StimuliProperties, + init_display_window) +from bcipy.display.components.task_bar import CalibrationTaskBar +from bcipy.display.paradigm.matrix.display import MatrixDisplay +from bcipy.helpers.symbols import qwerty_order + +# Initialize Stimulus +window_parameters = { + 'full_screen': False, + 'window_height': 500, + 'window_width': 700, + 'stim_screen': 0, + 'background_color': 'black' +} + +experiment_clock = core.Clock() +win = init_display_window(window_parameters) +win.recordFrameIntervals = False + +task_bar = CalibrationTaskBar(win, + inquiry_count=5, + current_index=0, + font='Arial') + +stim_properties = StimuliProperties(stim_font='Arial', + stim_pos=[], + stim_height=0.17, + is_txt_stim=True) + +info = InformationProperties( + info_color=['white'], + info_pos=[layout.at_bottom(win, height=0.21).center], + info_height=[0.1], + info_font=['Arial'], + info_text=['Matrix Calibration Demo'], +) + +matrix_display = MatrixDisplay(win, + experiment_clock, + stim_properties, + task_bar=task_bar, + info=info, + rows=3, + columns=10, + sort_order=qwerty_order(is_txt_stim=True)) + +matrix_display.draw(grid_opacity=matrix_display.full_grid_opacity, + grid_color=matrix_display.grid_color, + duration=10) diff --git a/bcipy/display/paradigm/matrix/display.py b/bcipy/display/paradigm/matrix/display.py index 85d4d74ee..74dfc8880 100644 --- a/bcipy/display/paradigm/matrix/display.py +++ b/bcipy/display/paradigm/matrix/display.py @@ -1,6 +1,6 @@ """Display for presenting stimuli in a grid.""" import logging -from typing import Dict, List, NamedTuple, Optional +from typing import Callable, Dict, List, NamedTuple, Optional from psychopy import core, visual @@ -45,7 +45,8 @@ def __init__(self, width_pct: float = 0.7, trigger_type: str = 'text', symbol_set: Optional[List[str]] = None, - should_prompt_target: bool = True): + should_prompt_target: bool = True, + sort_order: Callable = None): """Initialize Matrix display parameters and objects. PARAMETERS: @@ -68,6 +69,8 @@ def __init__(self, symbol_set default = none : subset of stimuli to be highlighted during an inquiry should_prompt_target(bool): when True prompts for the target symbol. Assumes that this is the first symbol of each inquiry. For example: [target, fixation, *stim]. + sort_order - optional function to define the position index for each + symbol. Using a custom function it is possible to skip a position. """ self.window = window @@ -81,7 +84,7 @@ def __init__(self, assert stimuli.is_txt_stim, "Matrix display is a text only display" self.symbol_set = symbol_set or alphabet() - + self.sort_order = sort_order or self.symbol_set.index # Set position and parameters for grid of alphabet self.grid_stimuli_height = 0.17 # stimuli.stim_height @@ -168,12 +171,13 @@ def do_inquiry(self) -> List[float]: def build_grid(self) -> Dict[str, visual.TextStim]: """Build the text stimuli to populate the grid.""" grid = {} - for i, sym in enumerate(self.symbol_set): + for sym in self.symbol_set: + pos_index = self.sort_order(sym) grid[sym] = visual.TextStim(win=self.window, text=sym, color=self.grid_color, opacity=self.start_opacity, - pos=self.positions[i], + pos=self.positions[pos_index], height=self.grid_stimuli_height) return grid diff --git a/bcipy/helpers/symbols.py b/bcipy/helpers/symbols.py index 0029df0c2..d39113e33 100644 --- a/bcipy/helpers/symbols.py +++ b/bcipy/helpers/symbols.py @@ -1,6 +1,7 @@ """Defines helper methods and variables related to input symbols""" import os from string import ascii_uppercase +from typing import Callable SPACE_CHAR = '_' BACKSPACE_CHAR = '<' @@ -33,4 +34,29 @@ def alphabet(parameters=None, include_path=True): return list(ascii_uppercase) + [BACKSPACE_CHAR, SPACE_CHAR] +def qwerty_order(is_txt_stim: bool = True) -> Callable: + """Returns a function that can be used to sort the alphabet symbols + in QWERTY order. Note that sorting only works for text stim. + """ + if not is_txt_stim: + raise NotImplementedError('QWERTY ordering not implemented for images') + + # Optionally, consider using the following: + # f"QWERTYUIOPASDFGHJKL ZXCVBNM{BACKSPACE_CHAR}{SPACE_CHAR}".index + row1 = "QWERTYUIOP" + row2 = "ASDFGHJKL<" + row3 = " ZXCV_BNM " + return f"{row1}{row2}{row3}".index + + +def frequency_order(is_txt_stim: bool = True) -> Callable: + """Returns a function that can be used to sort the alphabet symbols + in most frequently used order in the English language. + """ + if not is_txt_stim: + raise NotImplementedError( + 'Frequency ordering not implemented for images') + return f"ETAOINSHRDLCUMWFGYPBVKJXQZ{BACKSPACE_CHAR}{SPACE_CHAR}".index + + DEFAULT_SYMBOL_SET = alphabet() From b57c33a2dd1f872720f2f8888997d3d176aad412 Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Mon, 28 Aug 2023 16:13:19 -0400 Subject: [PATCH 071/330] Visualization update --- bcipy/helpers/visualization.py | 23 ++++++----------------- bcipy/signal/model/offline_analysis.py | 14 ++++++++------ 2 files changed, 14 insertions(+), 23 deletions(-) diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index 8754c2842..333935294 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -180,7 +180,6 @@ def visualize_gaze_inquiries( save_path=None, show=False, img_path=None, - screen_size=(1920, 1080), heatmap=False, raw_plot=False): """Visualize Eye Data. @@ -195,7 +194,6 @@ def visualize_gaze_inquiries( save_path: Optional[str] show: Optional[bool] img_path: Optional[str] - screen_size: Optional[Tuple[int, int]] TODO """ title = 'Raw Gaze Inquiries ' @@ -204,16 +202,11 @@ def visualize_gaze_inquiries( img_path = f'{STATIC_IMAGES_PATH}/main/matrix.png' img = plt.imread(img_path) - left_eye_x = left_eye[:,0] - left_eye_y = left_eye[:,1] - right_eye_x = right_eye[:,0] - right_eye_y = right_eye[:,1] - # transform the eye data to fit the display. remove > 1 values < 0 values and flip the y axis - lx = np.clip(left_eye_x, 0, 1) - ly = np.clip(left_eye_y, 0, 1) - rx = np.clip(right_eye_x, 0, 1) - ry = np.clip(right_eye_y, 0, 1) + lx = np.clip(left_eye[:,0], 0, 1) + ly = np.clip(left_eye[:,1], 0, 1) + rx = np.clip(right_eye[:,0], 0, 1) + ry = np.clip(right_eye[:,1], 0, 1) ly = 1 - ly ry = 1 - ry @@ -222,12 +215,6 @@ def visualize_gaze_inquiries( means[:,1] = np.clip(means[:,1], 0, 1) means[:,1] = 1 - means[:,1] - # remove nan values - # lx = lx[~np.isnan(lx)] - # ly = ly[~np.isnan(ly)] - # rx = rx[~np.isnan(rx)] - # ry = ry[~np.isnan(ry)] - # scale the eye data to the image fig, ax = plt.subplots() ax.imshow(img, extent=[0, 1, 0, 1]) @@ -278,6 +265,8 @@ def visualize_gaze_inquiries( if show: plt.show() + else: + plt.close() return fig diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index e5ad5757b..78a2aa7b3 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -244,10 +244,10 @@ def offline_analysis( figure_handles = visualize_gaze( mode_data, save_path=data_folder if save_figures else None, - show=show_figures, + show=True, raw_plot=True, ) - plt.show() + channels = mode_data.channels type_amp = mode_data.daq_type sample_rate = mode_data.sample_rate @@ -300,6 +300,9 @@ def offline_analysis( symbol_set = alphabet() # Train the model for each target label and each eye separately. for i in symbol_set: + # Skip if there's no evidence for this symbol: + if len(inquiries[i]) == 0: + continue # Do more preprocesssing to extract eye info: left_eye, left_pupil, right_eye, right_pupil = model.reshaper.extract_eye_info(inquiries[i]) @@ -323,12 +326,11 @@ def offline_analysis( left_eye, right_eye, means, covs, save_path=None, - show=show_figures, + show=False, raw_plot=True, - ) - plt.show() + ) - breakpoint() + breakpoint() From 2c482f2b9dd6a050e4872c3c65f8bd82f128ac6a Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 29 Aug 2023 17:12:01 -0700 Subject: [PATCH 072/330] Finalize QWERTY ordering --- bcipy/helpers/symbols.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/bcipy/helpers/symbols.py b/bcipy/helpers/symbols.py index d39113e33..467f5f59f 100644 --- a/bcipy/helpers/symbols.py +++ b/bcipy/helpers/symbols.py @@ -34,18 +34,18 @@ def alphabet(parameters=None, include_path=True): return list(ascii_uppercase) + [BACKSPACE_CHAR, SPACE_CHAR] -def qwerty_order(is_txt_stim: bool = True) -> Callable: +def qwerty_order(is_txt_stim: bool = True, + space: str = SPACE_CHAR, + backspace: str = BACKSPACE_CHAR) -> Callable: """Returns a function that can be used to sort the alphabet symbols in QWERTY order. Note that sorting only works for text stim. """ if not is_txt_stim: raise NotImplementedError('QWERTY ordering not implemented for images') - # Optionally, consider using the following: - # f"QWERTYUIOPASDFGHJKL ZXCVBNM{BACKSPACE_CHAR}{SPACE_CHAR}".index row1 = "QWERTYUIOP" - row2 = "ASDFGHJKL<" - row3 = " ZXCV_BNM " + row2 = f"ASDFGHJKL{backspace}" + row3 = f" ZXCV{space}BNM " return f"{row1}{row2}{row3}".index From 17a23417efb7d5829357941fcaa235f7bfc72afb Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 31 Aug 2023 16:42:54 -0700 Subject: [PATCH 073/330] #185934928 ; specify acquisition chunksize to override default values set by the device driver; modified lsl_server to simulate different chunk sizes --- bcipy/acquisition/datastream/lsl_server.py | 39 ++++++++++++------- bcipy/acquisition/protocols/lsl/lsl_client.py | 5 ++- .../acquisition/protocols/lsl/lsl_recorder.py | 2 +- 3 files changed, 30 insertions(+), 16 deletions(-) diff --git a/bcipy/acquisition/datastream/lsl_server.py b/bcipy/acquisition/datastream/lsl_server.py index 80f8181fa..75221a084 100644 --- a/bcipy/acquisition/datastream/lsl_server.py +++ b/bcipy/acquisition/datastream/lsl_server.py @@ -1,18 +1,18 @@ """Data server that streams EEG data over a LabStreamingLayer StreamOutlet using pylsl.""" import logging -from queue import Empty, Queue -from typing import Generator import time import uuid +from queue import Empty, Queue +from typing import Generator from pylsl import StreamInfo, StreamOutlet -from bcipy.config import DEFAULT_ENCODING from bcipy.acquisition.datastream.generator import random_data_generator from bcipy.acquisition.datastream.producer import Producer from bcipy.acquisition.devices import DeviceSpec from bcipy.acquisition.util import StoppableThread +from bcipy.config import DEFAULT_ENCODING log = logging.getLogger(__name__) @@ -45,17 +45,24 @@ class LslDataServer(StoppableThread): channel at a fixed frequency. marker_stream_name: str, optional name of the sample marker stream + chunk_size: int, optional chunk size. """ - def __init__(self, device_spec: DeviceSpec, generator: Generator = None, include_meta: bool = True, - add_markers: bool = False, marker_stream_name: str = MARKER_STREAM_NAME): + def __init__(self, + device_spec: DeviceSpec, + generator: Generator = None, + include_meta: bool = True, + add_markers: bool = False, + marker_stream_name: str = MARKER_STREAM_NAME, + chunk_size: int = 0): super(LslDataServer, self).__init__() self.device_spec = device_spec self.generator = generator or random_data_generator(channel_count=device_spec.channel_count) - log.info("Starting LSL server for device: %s", device_spec.name) + log.debug("Starting LSL server for device: %s", device_spec.name) print(f"Serving: {device_spec}") + print(f"Chunk size: {chunk_size}") info = StreamInfo(device_spec.name, device_spec.content_type, device_spec.channel_count, device_spec.sample_rate, @@ -72,7 +79,7 @@ def __init__(self, device_spec: DeviceSpec, generator: Generator = None, include if channel.type: channel_node.append_child_value('type', channel.type) - self.outlet = StreamOutlet(info) + self.outlet = StreamOutlet(info, chunk_size=chunk_size) self.add_markers = add_markers if add_markers: @@ -82,7 +89,8 @@ def __init__(self, device_spec: DeviceSpec, generator: Generator = None, include # "gUSBamp_" + boost::lexical_cast(deviceNumber) + # "_" + boost::lexical_cast(serialNumber) + # "_markers"); - log.info(f"Creating marker stream {marker_stream_name}") + log.debug("Creating marker stream") + print(f"Marker channel name: {marker_stream_name}") markers_info = StreamInfo(marker_stream_name, "Markers", 1, 0, 'string', "uid12345_markers") @@ -92,7 +100,7 @@ def __init__(self, device_spec: DeviceSpec, generator: Generator = None, include def stop(self): """Stop the thread and cleanup resources.""" - log.info("[*] Stopping data server") + log.debug("[*] Stopping data server") super(LslDataServer, self).stop() # Allows pylsl to cleanup; The outlet will no longer be discoverable @@ -128,7 +136,7 @@ def run(self): # deleted in another thread. break - log.info("[*] No longer pushing data") + log.debug("[*] No longer pushing data") def _settings(filename): @@ -165,7 +173,6 @@ def await_start(dataserver: LslDataServer, max_wait: float = 2): def main(): """Initialize and start the server.""" - import time import argparse from bcipy.acquisition.datastream.generator import file_data_generator @@ -177,6 +184,7 @@ def main(): "if missing, random data will be served.") parser.add_argument('-m', '--markers', action="store_true", default=False) parser.add_argument('-n', '--name', default='DSI-24', help='Name of the device spec to mock.') + parser.add_argument('-c', '--chunk_size', default=0, type=int, help='Chunk size') args = parser.parse_args() if args.filename: @@ -191,11 +199,14 @@ def main(): markers = True if args.markers else False try: - server = LslDataServer(device_spec=device_spec, generator=generator, add_markers=markers) + server = LslDataServer(device_spec=device_spec, + generator=generator, + add_markers=markers, + chunk_size=args.chunk_size) - log.info("New server created") + log.debug("New server created") server.start() - log.info("Server started") + log.debug("Server started") while True: time.sleep(1) except KeyboardInterrupt: diff --git a/bcipy/acquisition/protocols/lsl/lsl_client.py b/bcipy/acquisition/protocols/lsl/lsl_client.py index 1a5afa53f..3309e184a 100644 --- a/bcipy/acquisition/protocols/lsl/lsl_client.py +++ b/bcipy/acquisition/protocols/lsl/lsl_client.py @@ -74,7 +74,9 @@ def start_acquisition(self) -> bool: f'LSL Stream not found for content type {content_type}') stream_info = streams[0] - self.inlet = StreamInlet(stream_info, max_buflen=self.max_buffer_len) + self.inlet = StreamInlet(stream_info, + max_buflen=self.max_buffer_len, + max_chunklen=1) if self.device_spec: check_device(self.device_spec, self.inlet.info()) @@ -98,6 +100,7 @@ def first_sample_time(self) -> float: """Timestamp returned by the first sample. If the data is being recorded this value reflects the timestamp of the first recorded sample""" if self.recorder: + # TODO: wait until there is a value return self.recorder.first_sample_time return self._first_sample_time diff --git a/bcipy/acquisition/protocols/lsl/lsl_recorder.py b/bcipy/acquisition/protocols/lsl/lsl_recorder.py index e6b504ef1..13d7be9c2 100644 --- a/bcipy/acquisition/protocols/lsl/lsl_recorder.py +++ b/bcipy/acquisition/protocols/lsl/lsl_recorder.py @@ -193,7 +193,7 @@ def run(self): until the `stop()` method is called. """ # Note that self.stream_info does not have the channel names. - inlet = StreamInlet(self.stream_info) + inlet = StreamInlet(self.stream_info, max_chunklen=1) full_metadata = inlet.info() log.info("Acquiring data from data stream:") From ade6a6128a1ce5bd9949d26291080b57893da7a4 Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 31 Aug 2023 16:56:50 -0700 Subject: [PATCH 074/330] Updated changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5fcf485bf..e1eaf4807 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ Our last release candidate before the official 2.0 release! - Set channel spec information in devices.json. Removed aliases. #266 Updated default analysis channels for Wearable Sensing devices #279 - Refactor to allow multiple devices to be configured for multimodal acquisition. #277 - Refinements to LSL server to use the device ChannelSpec information for generating metadata. #282 + - Updated data consumers to explicitly set a chunk size. Refinements to LSL server to simulate different chunk sizes. #292 - Matrix - Matrix calibration refinements #262 - Matrix Copy Phrase Task #261 From 0e66a483c4cdc99729fe687ce1bd210207f3a8a9 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 1 Sep 2023 09:24:21 -0700 Subject: [PATCH 075/330] Removed TODO --- bcipy/acquisition/protocols/lsl/lsl_client.py | 1 - 1 file changed, 1 deletion(-) diff --git a/bcipy/acquisition/protocols/lsl/lsl_client.py b/bcipy/acquisition/protocols/lsl/lsl_client.py index 3309e184a..3fb8f3f8c 100644 --- a/bcipy/acquisition/protocols/lsl/lsl_client.py +++ b/bcipy/acquisition/protocols/lsl/lsl_client.py @@ -100,7 +100,6 @@ def first_sample_time(self) -> float: """Timestamp returned by the first sample. If the data is being recorded this value reflects the timestamp of the first recorded sample""" if self.recorder: - # TODO: wait until there is a value return self.recorder.first_sample_time return self._first_sample_time From ae84f1f5e4c068f57b6c89976d954c1f4c27d888 Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Mon, 4 Sep 2023 17:14:54 -0400 Subject: [PATCH 076/330] Trigger offset update. New models WIP --- bcipy/helpers/triggers.py | 12 +++++++++--- bcipy/signal/model/fusion_model.py | 20 +++++++++++++++++--- bcipy/signal/model/offline_analysis.py | 14 ++++---------- 3 files changed, 30 insertions(+), 16 deletions(-) diff --git a/bcipy/helpers/triggers.py b/bcipy/helpers/triggers.py index 42dc65595..f668aa2ec 100644 --- a/bcipy/helpers/triggers.py +++ b/bcipy/helpers/triggers.py @@ -286,6 +286,7 @@ def read_text_file(path: str) -> Tuple[List[Trigger], float]: @staticmethod def load(path: str, offset: Optional[float] = 0.0, + apply_system_offset: bool = True, exclusion: Optional[List[TriggerType]] = None) -> List[Trigger]: """ Loads a list of triggers from a .txt of triggers. @@ -316,7 +317,12 @@ def load(path: str, # Checking for file with given path, with or without .txt triggers, system_offset = TriggerHandler.read_text_file(path) excluded_types = exclusion or [] - total_offset = offset + system_offset + + if apply_system_offset: + total_offset = offset + system_offset + else: + total_offset = offset + return [ trg.with_offset(total_offset) for trg in triggers if trg.type not in excluded_types @@ -354,7 +360,7 @@ def convert_timing_triggers(timing: List[tuple], target_stimuli: str, trigger_ty def trigger_decoder(trigger_path: str, remove_pre_fixation: bool = True, offset: float = 0.0, - exclusion: List[TriggerType] = []) -> Tuple[list, list, list]: + exclusion: List[TriggerType] = [], apply_system_offset: bool = True) -> Tuple[list, list, list]: """Trigger Decoder. Given a path to trigger data, this method loads valid Triggers and returns their type, timing and label. @@ -372,7 +378,7 @@ def trigger_decoder(trigger_path: str, remove_pre_fixation: bool = True, offset: exclusion += [TriggerType.FIXATION, TriggerType.PROMPT, TriggerType.SYSTEM, TriggerType.OFFSET] else: exclusion += [TriggerType.SYSTEM] - triggers = TriggerHandler.load(trigger_path, offset=offset, exclusion=exclusion) + triggers = TriggerHandler.load(trigger_path, offset=offset, exclusion=exclusion, apply_system_offset=apply_system_offset) # from the stimuli array, pull out the symbol information trigger_type = [trigger.type.value for trigger in triggers] diff --git a/bcipy/signal/model/fusion_model.py b/bcipy/signal/model/fusion_model.py index 55e9bd201..d74610d8f 100644 --- a/bcipy/signal/model/fusion_model.py +++ b/bcipy/signal/model/fusion_model.py @@ -21,12 +21,26 @@ def fit(self, train_data: np.array): return self - def predict(self, test_data: np.array): - predictions = self.model.predict_proba(test_data) + def get_scores(self, test_data: np.array): + ''' + Compute the log-likelihood of each sample. + Compute the mean and covariance of each mixture component. + ''' + + scores = self.model.score_samples(test_data) means = self.model.means_ covs = self.model.covariances_ - return predictions, means, covs + return scores, means, covs + + def predict(self, scores: np.array): + ''' + Predict the labels for the test data. + ''' + # Compute over log-likelihood scores + # Get the argmax of the scores + + #return predictions diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 78a2aa7b3..4580239b9 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -263,16 +263,10 @@ def offline_analysis( model = GazeModel() - # Add back the starting offset: - # This is handled in TriggerHandler. Remove automatic addition off system offset: - trigx, starting_offset = TriggerHandler.read_text_file(f"{data_folder}/{TRIGGER_FILENAME}") - # TODO: I access TriggerHandler directly to not cause an issue during EEG analysis. - # There's probably a smarter way to discard starting_offset - # Process triggers.txt files (again!) trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( remove_pre_fixation = False, - offset = starting_offset*-1, # cancel out the starting_offset + apply_system_offset=False, trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION, TriggerType.SYSTEM, TriggerType.OFFSET] ) @@ -318,15 +312,15 @@ def offline_analysis( # Fit the model: model.fit(train_right_eye) - predictions, means, covs = model.predict(test_right_eye) - # print(predictions) + scores, means, covs = model.get_scores(test_right_eye) + # print(scores) # Visualize the results: figure_handles = visualize_gaze_inquiries( left_eye, right_eye, means, covs, save_path=None, - show=False, + show=True, raw_plot=True, ) From 1e3c3e6416d6e542afc270e00bcbf193e5d8fa7e Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Thu, 7 Sep 2023 13:06:33 -0400 Subject: [PATCH 077/330] replay session refactored.1 + LM evidence --- bcipy/parameters/parameters.json | 4 +- requirements.txt | 6 +- scripts/python/replay_session.py | 195 +++++++++++++++++-------------- 3 files changed, 113 insertions(+), 92 deletions(-) diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index 2dc7822ac..2a746638e 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -1,6 +1,6 @@ { "fake_data": { - "value": "false", + "value": "true", "section": "bci_config", "readableName": "Fake EEG Data On/Off", "helpTip": "If ‘true’, fake EEG data will be used instead of real EEG data. Useful for testing by software development team.", @@ -622,7 +622,7 @@ "type": "int" }, "lang_model_type": { - "value": "UNIFORM", + "value": "KENLM", "section": "lang_model_config", "readableName": "Language Model Type", "helpTip": "Specifies which language model to use. Default: MIXTURE", diff --git a/requirements.txt b/requirements.txt index 6502c030b..f1d50ffd8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -15,12 +15,12 @@ scipy==1.10.1 scikit-learn==1.2.2 seaborn==0.9.0 matplotlib==3.4.2 -pylsl==1.14.0 +pylsl==1.15.0 pandas==1.5.3 psutil==5.7.2 Pillow==9.0.1 py-cpuinfo==7.0.0 -pyedflib==0.1.30 -PyQt5==5.15.1 +pyedflib +pyqt5 pywavelets==1.4.1 tqdm==4.62.2 \ No newline at end of file diff --git a/scripts/python/replay_session.py b/scripts/python/replay_session.py index 91d24026a..7bc188191 100644 --- a/scripts/python/replay_session.py +++ b/scripts/python/replay_session.py @@ -17,31 +17,27 @@ ) from bcipy.helpers.acquisition import analysis_channels import bcipy.acquisition.devices as devices +from bcipy.helpers.language_model import init_language_model from bcipy.helpers.list import grouper from bcipy.helpers.load import load_json_parameters, load_raw_data +from bcipy.helpers.session import session_data, read_session, evidence_records from bcipy.helpers.stimuli import InquiryReshaper, update_inquiry_timing from bcipy.helpers.triggers import TriggerType, trigger_decoder from bcipy.helpers.symbols import alphabet +from bcipy.language.model import kenlm from bcipy.signal.model import PcaRdaKdeModel from bcipy.signal.process import get_default_transform, filter_inquiries, ERPTransformParams logger.getLogger().setLevel(logger.INFO) -def load_model(model_path: Path, k_folds: int, model_class=PcaRdaKdeModel): - """Load the model at the given path""" - with open(model_path, "rb") as f: - model = pickle.load(f) - return model - - def generate_replay_outputs( data_folder, parameters, model_path: Path, model_class=PcaRdaKdeModel, symbol_set=alphabet(), - write_output=False) -> Tuple[dict, list, list]: + write_output=False) -> Tuple[dict, list, list, list]: """Replay a session and generate outputs for the provided model. Parameters @@ -63,8 +59,12 @@ def generate_replay_outputs( ------- tuple - new_model_outputs, old_model_target_output, old_model_nontarget_output """ - k_folds = parameters.get("k_folds") - model = load_model(model_path, k_folds, model_class) + # k_folds = + # model = load_model(model_path, k_folds, model_class) + + base_model = PcaRdaKdeModel(parameters.get("k_folds")) + model = base_model.load(model_path) + logger.info(f"Loaded model from {model_path}") # get trial information; to make backwards compatible, we will try to get the trial length @@ -83,7 +83,6 @@ def generate_replay_outputs( # get signal filtering information static_offset = parameters.get("static_trigger_offset") - k_folds = parameters.get("k_folds") transform_params = parameters.instantiate(ERPTransformParams) downsample_rate = transform_params.down_sampling_rate @@ -153,7 +152,7 @@ def generate_replay_outputs( inquiry_worth_of_trials = np.split(trials, inquiries.shape[1], 1) inquiry_worth_of_letters = grouper(trigger_symbols, trials_per_inquiry, incomplete="ignore") for i, (inquiry_trials, this_inquiry_letters, this_inquiry_labels) in enumerate( - zip(inquiry_worth_of_trials, inquiry_worth_of_letters, inquiry_labels) + zip(inquiry_worth_of_trials, inquiry_worth_of_letters, inquiry_labels) ): response = model.predict(inquiry_trials, this_inquiry_letters, symbol_set=symbol_set) if np.any(this_inquiry_labels == 1): @@ -176,53 +175,82 @@ def generate_replay_outputs( with open(data_folder / "replay_outputs.json", "w") as f: json.dump(outputs, f, indent=2) - # Get values computed during actual experiment from session.json for comparison - session_json = data_folder / SESSION_DATA_FILENAME - all_target_eeg, all_nontarget_eeg = load_eeg_evidence_from_session_json(session_json, symbol_set) - - return outputs, all_target_eeg, all_nontarget_eeg - + # Get target and nontarget eeg values from actual experiment in session.json for comparison + session_records = evidence_records(read_session(data_folder / SESSION_DATA_FILENAME)) + all_target_eeg = [record.eeg for record in session_records if record.is_target == 1] + all_nontarget_eeg = [record.eeg for record in session_records if record.is_target == 0] -def load_eeg_evidence_from_session_json(session_json, symbol_set) -> Tuple[list, list]: - """Load EEG evidence from session.json file for comparison with replay outputs. + # loading lm values from experiment and comparing with diff lm models + # lm_evidences = load_lm_evidence_from_session_json(session_json, parameters) + # print(f"f len of lm_evidences {len(lm_evidences)}, should be equal to number of series") - Parameters - ---------- - session_json : str - Path to session.json file - symbol_set : list - List of symbols used in experiment + return outputs, all_target_eeg, all_nontarget_eeg, None - Returns - ------- - all_target_eeg : list - List of EEG evidence for target stimuli - all_nontarget_eeg : list - List of EEG evidence for nontarget stimuli - """ +def load_lm_evidence_from_session_json(session_json, parameters, symbol_set=alphabet()): with open(session_json, "r") as f: contents = json.load(f) series = contents["series"] - all_target_eeg = [] - all_nontarget_eeg = [] + lm_evidences = [] + lm_model = init_language_model(parameters) + + for i, inquiries in enumerate(series.values()): + init_inquiry = inquiries["0"] - for inquiries in series.values(): - for inquiry in inquiries.values(): - if len(inquiry["eeg_evidence"]) < 1: - continue - else: - stim_label = inquiry["stimuli"][0] # name of symbols presented - stim_label.pop(0) # remove fixation cross - stim_indices = [symbol_set.index(sym) for sym in stim_label] - targetness = inquiry["target_info"] # targetness of stimuli - targetness.pop(0) # remove fixation cross - target = [index for index, label in zip(stim_indices, targetness) if label == "target"] - nontarget = [index for index, label in zip(stim_indices, targetness) if label == "nontarget"] - all_target_eeg.extend([inquiry["eeg_evidence"][pos] for pos in target]) - all_nontarget_eeg.extend([inquiry["eeg_evidence"][pos] for pos in nontarget]) + # calculating new prediction for current_text + old_lm_evidence = init_inquiry.get('lm_evidence') + curr_pred = lm_model.predict(list(init_inquiry['current_text'])) - return all_target_eeg, all_nontarget_eeg + # unsorting the predictions to fit session json format + temp_dic = dict(curr_pred) + curr_pred_formatted = [temp_dic[char] for char in symbol_set] + + lm_evidence = {"old_lm_evidence": old_lm_evidence, "new_lm_evidence": curr_pred_formatted, + "target_letter": init_inquiry['target_letter'], "current_text": init_inquiry['current_text']} + + lm_evidences.append(lm_evidence) + print(f"top prediction for series {i} - {init_inquiry['current_text']} - ", curr_pred[0]) + + return lm_evidences + + +def plot_comparison_records(records, outdir, title="response_values", y_scale="log"): + df = pd.DataFrame.from_records(records) + logger.info(f"{df.describe()}") + ax = sns.stripplot( + x="which_model", + y="response_value", + data=df, + order=["old_target", "new_target", "old_nontarget", "new_nontarget"], + ) + sns.boxplot( + showmeans=True, + meanline=True, + meanprops={"color": "k", "ls": "-", "lw": 2}, + medianprops={"visible": False}, + whiskerprops={"visible": False}, + zorder=10, + x="which_model", + y="response_value", + data=df, + showfliers=False, + showbox=False, + showcaps=False, + ax=ax, + order=["old_target", "new_target", "old_nontarget", "new_nontarget"], + ) + + ax.set(yscale=y_scale) + plt.savefig(outdir / f"{title}.stripplot.png", dpi=150, bbox_inches="tight") + plt.close() + ax = sns.boxplot( + x="which_model", + y="response_value", + data=df, + order=["old_target", "new_target", "old_nontarget", "new_nontarget"], + ) + ax.set(yscale=y_scale) + plt.savefig(outdir / f"{title}.boxplot.png", dpi=150, bbox_inches="tight") def plot_collected_outputs( @@ -264,42 +292,33 @@ def plot_collected_outputs( for nontarget_response in nontargets_with_old_model: records.append({"which_model": "old_nontarget", "response_value": nontarget_response}) - df = pd.DataFrame.from_records(records) - logger.info(f"{df.describe()}") - ax = sns.stripplot( - x="which_model", - y="response_value", - data=df, - order=["old_target", "new_target", "old_nontarget", "new_nontarget"], - ) - sns.boxplot( - showmeans=True, - meanline=True, - meanprops={"color": "k", "ls": "-", "lw": 2}, - medianprops={"visible": False}, - whiskerprops={"visible": False}, - zorder=10, - x="which_model", - y="response_value", - data=df, - showfliers=False, - showbox=False, - showcaps=False, - ax=ax, - order=["old_target", "new_target", "old_nontarget", "new_nontarget"], - ) + plot_comparison_records(records, outdir, y_scale="log") - ax.set(yscale="log") - plt.savefig(outdir / "response_values.stripplot.png", dpi=150, bbox_inches="tight") - plt.close() - ax = sns.boxplot( - x="which_model", - y="response_value", - data=df, - order=["old_target", "new_target", "old_nontarget", "new_nontarget"], - ) - ax.set(yscale="log") - plt.savefig(outdir / "response_values.boxplot.png", dpi=150, bbox_inches="tight") +def plot_lm_outputs(lm_evidences, outdir, symbol_set=alphabet()): + def format_records(values, which_model): + return [{"which_model": which_model, "response_value": val} for val in values] + + records = [] + for lm_series_content in lm_evidences: # each session + target_evidence_idx = symbol_set.index(lm_series_content['target_letter']) + old_vals, new_vals = lm_series_content['old_lm_evidence'], lm_series_content['new_lm_evidence'] + + old_target_val = old_vals[target_evidence_idx] + new_target_val = new_vals[target_evidence_idx] + + old_non_target_vals = np.delete(old_vals, target_evidence_idx) + new_non_target_vals = np.delete(new_vals, target_evidence_idx) + + records.extend(format_records([old_target_val], "old_target")) + records.extend(format_records([new_target_val], "new_target")) + records.extend(format_records(old_non_target_vals, "old_nontarget")) + records.extend(format_records(new_non_target_vals, "new_nontarget")) + + df = pd.DataFrame(records) + + df.to_csv('records.csv', index=False) + + plot_comparison_records(records, outdir, title="LM_responses", y_scale="linear") if __name__ == "__main__": @@ -344,8 +363,10 @@ def plot_collected_outputs( logger.info(f"Loading params from {params_file}") params = load_json_parameters(params_file, value_cast=True) + # breakpoint() + # Generate replay outputs using the model provided against the session data in data_folder - outputs, all_target_eeg, all_nontarget_eeg = generate_replay_outputs( + outputs, all_target_eeg, all_nontarget_eeg, lm_evidences = generate_replay_outputs( data_folder, params, args.model_file, write_output=False ) outputs_with_new_model.append(outputs) @@ -358,6 +379,6 @@ def plot_collected_outputs( nontargets_with_old_model, args.outdir) - # breakpoint() + # plot_lm_outputs(lm_evidences, args.outdir) logger.info("Replay complete.") From f6f5bb059b6406e0736f2e56c8cd13bfb3963937 Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Thu, 7 Sep 2023 13:09:53 -0400 Subject: [PATCH 078/330] replay session refactored.1 minus LM evidence support --- scripts/python/replay_session.py | 68 ++------------------------------ 1 file changed, 3 insertions(+), 65 deletions(-) diff --git a/scripts/python/replay_session.py b/scripts/python/replay_session.py index 7bc188191..ab43a6c98 100644 --- a/scripts/python/replay_session.py +++ b/scripts/python/replay_session.py @@ -37,7 +37,7 @@ def generate_replay_outputs( model_path: Path, model_class=PcaRdaKdeModel, symbol_set=alphabet(), - write_output=False) -> Tuple[dict, list, list, list]: + write_output=False) -> Tuple[dict, list, list]: """Replay a session and generate outputs for the provided model. Parameters @@ -180,40 +180,7 @@ def generate_replay_outputs( all_target_eeg = [record.eeg for record in session_records if record.is_target == 1] all_nontarget_eeg = [record.eeg for record in session_records if record.is_target == 0] - # loading lm values from experiment and comparing with diff lm models - # lm_evidences = load_lm_evidence_from_session_json(session_json, parameters) - # print(f"f len of lm_evidences {len(lm_evidences)}, should be equal to number of series") - - return outputs, all_target_eeg, all_nontarget_eeg, None - -def load_lm_evidence_from_session_json(session_json, parameters, symbol_set=alphabet()): - with open(session_json, "r") as f: - contents = json.load(f) - series = contents["series"] - - lm_evidences = [] - lm_model = init_language_model(parameters) - - for i, inquiries in enumerate(series.values()): - init_inquiry = inquiries["0"] - - # calculating new prediction for current_text - old_lm_evidence = init_inquiry.get('lm_evidence') - curr_pred = lm_model.predict(list(init_inquiry['current_text'])) - - # unsorting the predictions to fit session json format - temp_dic = dict(curr_pred) - curr_pred_formatted = [temp_dic[char] for char in symbol_set] - - lm_evidence = {"old_lm_evidence": old_lm_evidence, "new_lm_evidence": curr_pred_formatted, - "target_letter": init_inquiry['target_letter'], "current_text": init_inquiry['current_text']} - - lm_evidences.append(lm_evidence) - print(f"top prediction for series {i} - {init_inquiry['current_text']} - ", curr_pred[0]) - - return lm_evidences - - + return outputs, all_target_eeg, all_nontarget_eeg def plot_comparison_records(records, outdir, title="response_values", y_scale="log"): df = pd.DataFrame.from_records(records) logger.info(f"{df.describe()}") @@ -294,33 +261,6 @@ def plot_collected_outputs( plot_comparison_records(records, outdir, y_scale="log") -def plot_lm_outputs(lm_evidences, outdir, symbol_set=alphabet()): - def format_records(values, which_model): - return [{"which_model": which_model, "response_value": val} for val in values] - - records = [] - for lm_series_content in lm_evidences: # each session - target_evidence_idx = symbol_set.index(lm_series_content['target_letter']) - old_vals, new_vals = lm_series_content['old_lm_evidence'], lm_series_content['new_lm_evidence'] - - old_target_val = old_vals[target_evidence_idx] - new_target_val = new_vals[target_evidence_idx] - - old_non_target_vals = np.delete(old_vals, target_evidence_idx) - new_non_target_vals = np.delete(new_vals, target_evidence_idx) - - records.extend(format_records([old_target_val], "old_target")) - records.extend(format_records([new_target_val], "new_target")) - records.extend(format_records(old_non_target_vals, "old_nontarget")) - records.extend(format_records(new_non_target_vals, "new_nontarget")) - - df = pd.DataFrame(records) - - df.to_csv('records.csv', index=False) - - plot_comparison_records(records, outdir, title="LM_responses", y_scale="linear") - - if __name__ == "__main__": import argparse @@ -366,7 +306,7 @@ def format_records(values, which_model): # breakpoint() # Generate replay outputs using the model provided against the session data in data_folder - outputs, all_target_eeg, all_nontarget_eeg, lm_evidences = generate_replay_outputs( + outputs, all_target_eeg, all_nontarget_eeg = generate_replay_outputs( data_folder, params, args.model_file, write_output=False ) outputs_with_new_model.append(outputs) @@ -379,6 +319,4 @@ def format_records(values, which_model): nontargets_with_old_model, args.outdir) - # plot_lm_outputs(lm_evidences, args.outdir) - logger.info("Replay complete.") From 6b73b1c49490e35bff6b7317cebbb1e4e55b8813 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 8 Sep 2023 17:49:49 -0700 Subject: [PATCH 079/330] #185905314 ; trigger decoder changes to allow getting corrected triggers relative to a given device --- bcipy/helpers/tests/test_convert.py | 36 ++--- bcipy/helpers/tests/test_triggers.py | 220 +++++++++++++++++++++++++-- bcipy/helpers/triggers.py | 175 +++++++++++++++++---- 3 files changed, 373 insertions(+), 58 deletions(-) diff --git a/bcipy/helpers/tests/test_convert.py b/bcipy/helpers/tests/test_convert.py index fdd14763c..fc31a184e 100644 --- a/bcipy/helpers/tests/test_convert.py +++ b/bcipy/helpers/tests/test_convert.py @@ -2,34 +2,26 @@ import os import shutil import tempfile -from typing import Tuple, Union import unittest import warnings - from pathlib import Path +from typing import Tuple, Union -from mockito import mock, when, unstub, verify, verifyNoMoreInteractions, any as any_value +from mne.io import read_raw_bdf, read_raw_edf +from mockito import any as any_value +from mockito import mock, unstub, verify, verifyNoMoreInteractions, when -from bcipy.config import DEFAULT_ENCODING, RAW_DATA_FILENAME, TRIGGER_FILENAME, DEFAULT_PARAMETER_FILENAME +from bcipy.config import (DEFAULT_ENCODING, DEFAULT_PARAMETER_FILENAME, + RAW_DATA_FILENAME, TRIGGER_FILENAME) from bcipy.helpers import convert -from bcipy.helpers.convert import ( - archive_list, - compress, - convert_to_bdf, - convert_to_edf, - convert_to_mne, - decompress, - pyedf_convert, - tobii_to_norm, - norm_to_tobii, -) +from bcipy.helpers.convert import (archive_list, compress, convert_to_bdf, + convert_to_edf, convert_to_mne, decompress, + norm_to_tobii, pyedf_convert, tobii_to_norm) from bcipy.helpers.parameters import Parameters -from bcipy.helpers.raw_data import sample_data, write, RawData +from bcipy.helpers.raw_data import RawData, sample_data, write from bcipy.helpers.triggers import MOCK_TRIGGER_DATA from bcipy.signal.generator.generator import gen_random_data -from mne.io import read_raw_edf, read_raw_bdf - def create_bcipy_session_artifacts( write_dir: str, @@ -137,8 +129,8 @@ def test_convert_to_edf_with_write_targetness(self): warnings.simplefilter('ignore') edf = read_raw_edf(path, preload=True) - self.assertIn('target', edf.annotations.description) - self.assertIn('nontarget', edf.annotations.description) + self.assertTrue('target' in edf.annotations.description) + self.assertTrue('nontarget' in edf.annotations.description) def test_convert_to_edf_without_write_targetness(self): """Test creating the EDF with labels as event annotations""" @@ -400,7 +392,7 @@ def test_pyedf_convert_with_pre_filter(self): def test_pyedf_convert_with_write_targetness(self): """Test the pyedf_convert function with targetness for event annotations""" data, channels, fs, events, annotation_channels, _ = pyedf_convert( - self.temp_dir, write_targetness=True) + self.temp_dir, write_targetness=True, remove_pre_fixation=True) self.assertTrue(len(data) > 0) self.assertTrue(len(channels) > 0) @@ -410,7 +402,7 @@ def test_pyedf_convert_with_write_targetness(self): self.assertEqual(annotation_channels, 1) for event in events: _, _, label = event - # in this casae label and targetness should not be the same + # in this case label and targetness should not be the same self.assertTrue(label in ['target', 'nontarget']) def test_pyedf_convert_without_write_targetness(self): diff --git a/bcipy/helpers/tests/test_triggers.py b/bcipy/helpers/tests/test_triggers.py index ff878780d..2f52e8239 100644 --- a/bcipy/helpers/tests/test_triggers.py +++ b/bcipy/helpers/tests/test_triggers.py @@ -1,18 +1,16 @@ import os import unittest -from unittest.mock import patch, mock_open +from unittest.mock import mock_open, patch -from mockito import any, mock, when, verify, unstub import psychopy +from mockito import any, mock, unstub, verify, when from bcipy.helpers.exceptions import BciPyCoreException -from bcipy.helpers.triggers import ( - _calibration_trigger, - FlushFrequency, - TriggerType, - Trigger, - TriggerHandler -) +from bcipy.helpers.triggers import (FlushFrequency, Trigger, TriggerHandler, + TriggerType, _calibration_trigger, + apply_offsets, exclude_types, + find_starting_offset, read, read_data, + trigger_decoder) class TestCalibrationTrigger(unittest.TestCase): @@ -320,5 +318,209 @@ def test_read_data_unicode(self, path_exists_mock): self.assertEqual(offset, 3.47) +class TestTriggerFunctions(unittest.TestCase): + """Test module functions""" + + def test_read_data(self): + """Test reading data from a given source""" + trg_data = '''starting_offset offset 3.47 + J prompt 6.15 + + fixation 8.11 + F nontarget 8.58 + D nontarget 8.88 + J target 9.18 + T nontarget 9.49 + K nontarget 9.79 + _ nontarget 11.30''' + triggers = read_data(trg_data.split('\n')) + self.assertEqual(len(triggers), 9) + self.assertEqual(triggers[1].label, 'J') + self.assertEqual(triggers[1].type, TriggerType.PROMPT) + self.assertEqual(triggers[1].time, 6.15) + + def test_read_data_exception(self): + """Invalid triggers should throw an exception""" + trg_data = '''starting_offset offset 3.47 + J prompt 6.15 + + fixation 8.11 + foobarbaz''' + with self.assertRaises(BciPyCoreException): + read_data(trg_data.split('\n')) + + @patch('bcipy.helpers.triggers.os.path.exists') + def test_read_from_file(self, path_exists_mock): + """Test reading triggers from a file""" + trg_data = '''starting_offset offset 3.47 + J prompt 6.15 + + fixation 8.11 + F nontarget 8.58 + D nontarget 8.88 + J target 9.18 + T nontarget 9.49 + K nontarget 9.79 + _ nontarget 11.30''' + path_exists_mock.returnValue = True + with patch('builtins.open', mock_open(read_data=trg_data), create=True): + triggers = read('triggers.txt') + self.assertEqual(len(triggers), 9) + self.assertEqual(triggers[1].label, 'J') + self.assertEqual(triggers[1].type, TriggerType.PROMPT) + self.assertEqual(triggers[1].time, 6.15) + + def test_find_starting_offset_default(self): + """Test default behavior for find_starting_offset""" + triggers = read_data('''J prompt 6.15 + + fixation 8.11 + F nontarget 8.58 + D nontarget 8.88 + J target 9.18 + T nontarget 9.49 + K nontarget 9.79 + _ nontarget 11.30'''.split('\n')) + offset = find_starting_offset(triggers) + self.assertEqual(offset.time, 0.0) + + def test_find_starting_offset_default_device(self): + """Test behavior for find_starting_offset when not given a device""" + triggers = read_data('''starting_offset offset 3.47 + starting_offset_EYETRACKER offset 4.47 + J prompt 6.15 + + fixation 8.11 + F nontarget 8.58 + D nontarget 8.88 + J target 9.18 + T nontarget 9.49 + K nontarget 9.79 + _ nontarget 11.30'''.split('\n')) + offset = find_starting_offset(triggers) + self.assertEqual(offset.label, 'starting_offset') + self.assertEqual(offset.time, 3.47) + + def test_find_starting_offset_for_device(self): + """Test behavior for find_starting_offset given a device""" + triggers = read_data('''starting_offset offset 3.47 + starting_offset_EYETRACKER offset 4.47 + J prompt 6.15 + + fixation 8.11 + F nontarget 8.58 + D nontarget 8.88 + J target 9.18 + T nontarget 9.49 + K nontarget 9.79 + _ nontarget 11.30'''.split('\n')) + offset = find_starting_offset(triggers, device_type='EYETRACKER') + self.assertEqual(offset.label, 'starting_offset_EYETRACKER') + self.assertEqual(offset.time, 4.47) + + def test_apply_offsets_without_static(self): + """Test application of offsets without a static offset""" + triggers = read_data('''starting_offset offset -3.47 + starting_offset_EYETRACKER offset -4.45 + J prompt 6.15 + + fixation 8.11 + F nontarget 8.58 + D nontarget 8.88 + J target 9.18'''.split('\n')) + offset = Trigger('starting_offset_EYETRACKER', TriggerType.OFFSET, + -4.45) + corrected = apply_offsets(triggers, offset) + self.assertEqual(len(corrected), 5, + "offset triggers should be excluded from the result") + self.assertEqual(corrected[0].label, 'J') + self.assertAlmostEqual(corrected[0].time, 1.7) + self.assertEqual(corrected[-1].label, 'J') + self.assertAlmostEqual(corrected[-1].time, 4.73) + + def test_apply_offsets_with_static(self): + """Test application of offsets with a static offset""" + triggers = read_data('''starting_offset offset -3.47 + starting_offset_EYETRACKER offset -4.45 + J prompt 6.15 + + fixation 8.11 + F nontarget 8.58 + D nontarget 8.88 + J target 9.18'''.split('\n')) + offset = Trigger('starting_offset_EYETRACKER', TriggerType.OFFSET, + -4.45) + corrected = apply_offsets(triggers, offset, static_offset=0.1) + self.assertEqual(len(corrected), 5, + "offset triggers should be excluded from the result") + self.assertEqual(corrected[0].label, 'J') + self.assertAlmostEqual(corrected[0].time, 1.8) + self.assertEqual(corrected[-1].label, 'J') + self.assertAlmostEqual(corrected[-1].time, 4.83) + + def test_exclude_types(self): + """Test exclude types""" + triggers = read_data('''starting_offset offset -3.47 + starting_offset_EYETRACKER offset -4.45 + J prompt 6.15 + + fixation 8.11 + F nontarget 8.58 + D nontarget 8.88 + J target 9.18'''.split('\n')) + self.assertListEqual(triggers, exclude_types(triggers, [])) + + filtered = exclude_types( + triggers, + [TriggerType.OFFSET, TriggerType.PROMPT, TriggerType.FIXATION]) + self.assertTrue( + all(trg.type in [TriggerType.NONTARGET, TriggerType.TARGET] + for trg in filtered)) + + @patch('bcipy.helpers.triggers.os.path.exists') + def test_trigger_decoder_defaults(self, path_exists_mock): + """Test trigger decoder""" + trg_data = '''starting_offset offset -3.47 + starting_offset_EYETRACKER offset -4.45 + J prompt 6.15 + + fixation 8.11 + F nontarget 8.58 + D nontarget 8.88 + J target 9.18 + T nontarget 9.49 + K nontarget 9.79 + _ nontarget 11.30''' + path_exists_mock.returnValue = True + with patch('builtins.open', mock_open(read_data=trg_data), + create=True): + types, times, labels = trigger_decoder('triggers.txt') + + self.assertListEqual(types, [ + 'nontarget', 'nontarget', 'target', 'nontarget', 'nontarget', + 'nontarget' + ]) + self.assertListEqual(labels, ['F', 'D', 'J', 'T', 'K', '_']) + self.assertAlmostEqual(times[0], 5.11) + self.assertAlmostEqual(times[-1], 7.83) + + @patch('bcipy.helpers.triggers.os.path.exists') + def test_trigger_decoder_with_device(self, path_exists_mock): + """Test trigger decoder""" + trg_data = '''starting_offset offset -3.47 + starting_offset_EYETRACKER offset -4.45 + J prompt 6.15 + + fixation 8.11 + F nontarget 8.58 + D nontarget 8.88 + J target 9.18 + T nontarget 9.49 + K nontarget 9.79 + _ nontarget 11.30''' + path_exists_mock.returnValue = True + with patch('builtins.open', mock_open(read_data=trg_data), + create=True): + types, times, labels = trigger_decoder('triggers.txt', + device_type='EYETRACKER') + + self.assertListEqual(types, [ + 'nontarget', 'nontarget', 'target', 'nontarget', 'nontarget', + 'nontarget' + ]) + self.assertListEqual(labels, ['F', 'D', 'J', 'T', 'K', '_']) + self.assertAlmostEqual(times[0], 4.13) + self.assertAlmostEqual(times[-1], 6.85) + + if __name__ == '__main__': unittest.main() diff --git a/bcipy/helpers/triggers.py b/bcipy/helpers/triggers.py index 42dc65595..698e92812 100644 --- a/bcipy/helpers/triggers.py +++ b/bcipy/helpers/triggers.py @@ -1,8 +1,7 @@ import logging import os -from dataclasses import dataclass from enum import Enum -from typing import Callable, Dict, List, Optional, Tuple +from typing import Callable, Dict, Iterable, List, NamedTuple, Optional, Tuple from psychopy import core, visual @@ -165,12 +164,20 @@ def list(cls) -> List[str]: """Returns all enum values as a list""" return list(map(lambda c: c.value, cls)) + @classmethod + def pre_fixation(cls) -> List: + """Returns the subset of TriggerTypes that occur before and including + the FIXATION trigger.""" + return [ + TriggerType.FIXATION, TriggerType.PROMPT, TriggerType.SYSTEM, + TriggerType.OFFSET + ] + def __str__(self) -> str: return f'{self.value}' -@dataclass(frozen=True) -class Trigger: +class Trigger(NamedTuple): """ Object that encompasses data for a single trigger instance. """ @@ -343,40 +350,154 @@ def add_triggers(self, triggers: List[Trigger]) -> List[Trigger]: return self.triggers -def convert_timing_triggers(timing: List[tuple], target_stimuli: str, trigger_type: Callable) -> List[Trigger]: +def read_data(lines: Iterable[str]) -> List[Trigger]: + """Read raw trigger data from the given source. + + Parameters + ---------- + data - iterable object where each item is a str with data for a single + trigger. + + Returns + ------- + list of all Triggers in the data. + """ + triggers = [] + for i, line in enumerate(lines): + try: + trg = Trigger.from_list(line.split()) + triggers.append(trg) + except (AssertionError, ValueError) as trg_error: + raise BciPyCoreException( + f'Error reading trigger from line {i+1}: {trg_error}' + ) from trg_error + return triggers + + +def find_starting_offset(triggers: List[Trigger], device_type: str = None) -> Trigger: + """Given a list of raw trigger data, determine the starting offset for the + given device. The returned trigger has the timestamp of the first sample + recorded for the device. + + If no device is provided the EEG offset will be used. If there are + no offset triggers in the given data a Trigger with offset of 0.0 will be + returned. + + Parameters + ---------- + triggers - list of trigger data; should include Triggers of + TriggerType.OFFSET + device_type - each device will generally have a different offset. This + parameter is used to determine which trigger to use. If not given + the EEG offset will be used by default. Ex. 'EYETRACKER' + Returns + ------- + The Trigger for the first matching offset for the given device, or a + Trigger with offset of 0.0 if a matching offset was not found. + """ + label = 'starting_offset' + if device_type and device_type != 'EEG': + label += f"_{device_type}" + for trg in triggers: + if trg.type == TriggerType.OFFSET and trg.label == label: + return trg + log.info(f"Offset not found (device_type: {device_type}); using 0.0") + return Trigger('starting_offset', TriggerType.OFFSET, 0.0) + + +def read(path: str) -> List[Trigger]: + """Read all Triggers from the given text file. + + Parameters + ---------- + path - trigger (.txt) file to read + Returns + ------- + triggers + """ + if not path.endswith('.txt') or not os.path.exists(path): + raise FileNotFoundError( + f'Valid triggers .txt file not found at [{path}].') + with open(path, encoding=DEFAULT_ENCODING) as raw_txt: + triggers = read_data(raw_txt) + return triggers + + +def apply_offsets(triggers: List[Trigger], + starting_offset: Trigger, + static_offset: float = 0.0) -> List[Trigger]: + """Returns a list of triggers with timestamps adjusted relative to the + device start time. Offset triggers are filtered out if present. + + Parameters + ---------- + triggers - list of triggers + starting_offset - offset from the device start time. + static_offset - the measured static system offset + + Returns + ------- + a list of triggers with timestamps relative to the starting_offset + """ + total_offset = starting_offset.time + static_offset + return [ + trg.with_offset(total_offset) for trg in triggers + if trg.type != TriggerType.OFFSET + ] + + +def exclude_types(triggers: List[Trigger], + types: List[TriggerType] = None) -> List[Trigger]: + """Filter the list of triggers to exclude the provided types""" + if not types: + return triggers + return [trg for trg in triggers if trg.type not in types] + + +def convert_timing_triggers(timing: List[tuple], target_stimuli: str, + trigger_type: Callable) -> List[Trigger]: """Convert Stimuli Times to Triggers. Using the stimuli presentation times provided by the display, convert them into BciPy Triggers. """ return [ - Trigger(symbol, trigger_type(symbol, target_stimuli, i), time) for i, (symbol, time) in enumerate(timing) + Trigger(symbol, trigger_type(symbol, target_stimuli, i), time) + for i, (symbol, time) in enumerate(timing) ] -def trigger_decoder(trigger_path: str, remove_pre_fixation: bool = True, offset: float = 0.0, - exclusion: List[TriggerType] = []) -> Tuple[list, list, list]: +def trigger_decoder(trigger_path: str, + remove_pre_fixation: bool = True, + offset: float = 0.0, + exclusion: List[TriggerType] = None, + device_type: str = None) -> Tuple[list, list, list]: """Trigger Decoder. Given a path to trigger data, this method loads valid Triggers and returns their type, timing and label. - PARAMETERS + Parameters ---------- - :param: trigger_path: path to triggers file - :param: remove_pre_fixation: boolean to determine whether any stimuli before a fixation + system should be removed - :param: offset: additional offset value to apply to triggers. If a valid 'starting_offset' present in the trigger - file this will be applied be default. - :param: exclusion [Optional]: any TriggerTypes to be filtered from data returned - :return: tuple: trigger_type, trigger_timing, trigger_label + trigger_path: path to triggers file + remove_pre_fixation: boolean to determine whether any stimuli before a fixation + system should be removed + offset: static offset value to apply to triggers. + exclusion: any TriggerTypes to be filtered from data returned + device_type: used to determine which starting_offset value to use; if + a 'starting_offset' trigger is found it will be applied. + + Returns + ------- + tuple: trigger_type, trigger_timing, trigger_label """ - if remove_pre_fixation: - exclusion += [TriggerType.FIXATION, TriggerType.PROMPT, TriggerType.SYSTEM, TriggerType.OFFSET] - else: - exclusion += [TriggerType.SYSTEM] - triggers = TriggerHandler.load(trigger_path, offset=offset, exclusion=exclusion) - - # from the stimuli array, pull out the symbol information - trigger_type = [trigger.type.value for trigger in triggers] - trigger_label = [trigger.label for trigger in triggers] - trigger_timing = [trigger.time for trigger in triggers] - - return trigger_type, trigger_timing, trigger_label + excluded_types = exclusion or [] + excluded_types += TriggerType.pre_fixation() if remove_pre_fixation else [ + TriggerType.SYSTEM + ] + + triggers = read(trigger_path) + starting_offset = find_starting_offset(triggers, device_type) + + filtered = exclude_types(triggers, excluded_types) + corrected = apply_offsets(filtered, starting_offset, static_offset=offset) + + labels, types, times = zip(*corrected) + return list(map(str, types)), list(times), list(labels) From 538ba58fb58d638fef1b2bbb311c59366ad4a509 Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 11 Sep 2023 11:40:50 -0700 Subject: [PATCH 080/330] Refactored TriggerHandler static methods to use new helper functions --- bcipy/helpers/tests/test_triggers.py | 50 ++++-- bcipy/helpers/triggers.py | 248 +++++++++++++-------------- 2 files changed, 147 insertions(+), 151 deletions(-) diff --git a/bcipy/helpers/tests/test_triggers.py b/bcipy/helpers/tests/test_triggers.py index 2f52e8239..ecd02c298 100644 --- a/bcipy/helpers/tests/test_triggers.py +++ b/bcipy/helpers/tests/test_triggers.py @@ -203,29 +203,41 @@ def test_add_triggers_calls_write_when_flush_every(self): verify(self.handler, times=1).write() - def test_load_returns_list_of_triggers(self): - trg = Trigger('A', TriggerType.NONTARGET, 1) - when(TriggerHandler).read_text_file(any()).thenReturn(([trg], 0.0)) - - response = self.handler.load('test_path_not_real') - self.assertEqual(response[0], trg) + @patch('bcipy.helpers.triggers.os.path.exists') + def test_load_returns_list_of_triggers(self, path_exists_mock): + """Test static load method""" + path_exists_mock.returnValue = True + trg_data = '''A nontarget 1.0''' - def test_load_applies_offset(self): - trg = Trigger('A', TriggerType.NONTARGET, 1) + trg = Trigger('A', TriggerType.NONTARGET, 1.0) + with patch('builtins.open', mock_open(read_data=trg_data), + create=True): + response = self.handler.load('test_path_not_real.txt') + self.assertEqual(response[0], trg) - when(TriggerHandler).read_text_file(any()).thenReturn(([trg], 0.0)) - response = self.handler.load('test_path_not_real', offset=1) - self.assertEqual(response[0].time, 2) + @patch('bcipy.helpers.triggers.os.path.exists') + def test_load_applies_offset(self, path_exists_mock): + """Test that static load method applies offsets""" + path_exists_mock.returnValue = True + trg_data = '''starting_offset offset 0.5 + A nontarget 1.0''' + with patch('builtins.open', mock_open(read_data=trg_data), + create=True): + response = self.handler.load('test_path_not_real.txt', offset=1) + self.assertEqual(response[0].time, 2.5) - def test_load_exclusion(self): + @patch('bcipy.helpers.triggers.os.path.exists') + def test_load_exclusion(self, path_exists_mock): + """Test that static load can exclude trigger types""" + path_exists_mock.returnValue = True + trg_data = '''A nontarget 1 + + fixation 2''' fixation_trg = Trigger('+', TriggerType.FIXATION, 2) - trg_list = [Trigger('A', TriggerType.NONTARGET, 1), fixation_trg] - - when(TriggerHandler).read_text_file(any()).thenReturn((trg_list, 0.0)) - - response = self.handler.load('test_path_not_real', - exclusion=[TriggerType.NONTARGET]) - self.assertEqual(response[0], fixation_trg) + with patch('builtins.open', mock_open(read_data=trg_data), + create=True): + response = self.handler.load('test_path_not_real.txt', + exclusion=[TriggerType.NONTARGET]) + self.assertEqual(response[0], fixation_trg) @patch('bcipy.helpers.triggers.os.path.exists') def test_read_data(self, path_exists_mock): diff --git a/bcipy/helpers/triggers.py b/bcipy/helpers/triggers.py index 698e92812..97f7bf1a8 100644 --- a/bcipy/helpers/triggers.py +++ b/bcipy/helpers/triggers.py @@ -214,6 +214,110 @@ class FlushFrequency(Enum): END = "flush at end of session" +def read_data(lines: Iterable[str]) -> List[Trigger]: + """Read raw trigger data from the given source. + + Parameters + ---------- + data - iterable object where each item is a str with data for a single + trigger. + + Returns + ------- + list of all Triggers in the data. + """ + triggers = [] + for i, line in enumerate(lines): + try: + trg = Trigger.from_list(line.split()) + triggers.append(trg) + except (AssertionError, ValueError) as trg_error: + raise BciPyCoreException( + f'Error reading trigger from line {i+1}: {trg_error}' + ) from trg_error + return triggers + + +def find_starting_offset(triggers: List[Trigger], device_type: str = None) -> Trigger: + """Given a list of raw trigger data, determine the starting offset for the + given device. The returned trigger has the timestamp of the first sample + recorded for the device. + + If no device is provided the EEG offset will be used. If there are + no offset triggers in the given data a Trigger with offset of 0.0 will be + returned. + + Parameters + ---------- + triggers - list of trigger data; should include Triggers of + TriggerType.OFFSET + device_type - each device will generally have a different offset. This + parameter is used to determine which trigger to use. If not given + the EEG offset will be used by default. Ex. 'EYETRACKER' + Returns + ------- + The Trigger for the first matching offset for the given device, or a + Trigger with offset of 0.0 if a matching offset was not found. + """ + label = 'starting_offset' + if device_type and device_type != 'EEG': + label += f"_{device_type}" + for trg in triggers: + if trg.type == TriggerType.OFFSET and trg.label == label: + return trg + log.info(f"Offset not found (device_type: {device_type}); using 0.0") + return Trigger('starting_offset', TriggerType.OFFSET, 0.0) + + +def read(path: str) -> List[Trigger]: + """Read all Triggers from the given text file. + + Parameters + ---------- + path - trigger (.txt) file to read + Returns + ------- + triggers + """ + if not path.endswith('.txt') or not os.path.exists(path): + raise FileNotFoundError( + f'Valid triggers .txt file not found at [{path}].') + with open(path, encoding=DEFAULT_ENCODING) as raw_txt: + triggers = read_data(raw_txt) + return triggers + + +def apply_offsets(triggers: List[Trigger], + starting_offset: Trigger, + static_offset: float = 0.0) -> List[Trigger]: + """Returns a list of triggers with timestamps adjusted relative to the + device start time. Offset triggers are filtered out if present. + + Parameters + ---------- + triggers - list of triggers + starting_offset - offset from the device start time. + static_offset - the measured static system offset + + Returns + ------- + a list of triggers with timestamps relative to the starting_offset + """ + total_offset = starting_offset.time + static_offset + return [ + trg.with_offset(total_offset) for trg in triggers + if trg.type != TriggerType.OFFSET + ] + + +def exclude_types(triggers: List[Trigger], + types: List[TriggerType] = None) -> List[Trigger]: + """Filter the list of triggers to exclude the provided types""" + if not types: + return triggers + return [trg for trg in triggers if trg.type not in types] + + class TriggerHandler: """ Class that contains methods to work with Triggers, including adding and @@ -269,31 +373,16 @@ def read_text_file(path: str) -> Tuple[List[Trigger], float]: ------- triggers, offset """ - if not path.endswith('.txt') or not os.path.exists(path): - raise FileNotFoundError(f'Valid triggers .txt file not found at [{path}].') - - with open(path, encoding=TriggerHandler.encoding) as raw_txt: - triggers = [] - for i, line in enumerate(raw_txt): - try: - trg = Trigger.from_list(line.split()) - triggers.append(trg) - except (AssertionError, ValueError) as trg_error: - raise BciPyCoreException( - f'Error reading trigger on line {i+1} of {path}: {trg_error}') from trg_error - - # find next offset values in list and return or create a trigger with offset of 0.0 - offset = next( - filter(lambda trg: trg.type == TriggerType.OFFSET, triggers), - Trigger('starting_offset', TriggerType.OFFSET, 0.0)) - triggers = [trg for trg in triggers if trg.type != TriggerType.SYSTEM] - + triggers = read(path) + offset = find_starting_offset(triggers) + triggers = exclude_types(triggers, [TriggerType.SYSTEM]) return triggers, offset.time @staticmethod def load(path: str, offset: Optional[float] = 0.0, - exclusion: Optional[List[TriggerType]] = None) -> List[Trigger]: + exclusion: Optional[List[TriggerType]] = None, + device_type: str = None) -> List[Trigger]: """ Loads a list of triggers from a .txt of triggers. @@ -314,20 +403,19 @@ def load(path: str, positive number for adding time, negative number for subtracting time. exclusion (Optional List[TriggerType]): if desired, list of TriggerType's to be removed from the loaded trigger list. + device_type : optional; if specified looks for the starting_offset for + a given device; default is to use the EEG offset. Returns ------- List of Triggers from loaded .txt file with desired modifications """ - - # Checking for file with given path, with or without .txt - triggers, system_offset = TriggerHandler.read_text_file(path) excluded_types = exclusion or [] - total_offset = offset + system_offset - return [ - trg.with_offset(total_offset) for trg in triggers - if trg.type not in excluded_types - ] + triggers = read(path) + starting_offset = find_starting_offset(triggers, device_type) + return apply_offsets(exclude_types(triggers, excluded_types), + starting_offset, + static_offset=offset) def add_triggers(self, triggers: List[Trigger]) -> List[Trigger]: """ @@ -350,110 +438,6 @@ def add_triggers(self, triggers: List[Trigger]) -> List[Trigger]: return self.triggers -def read_data(lines: Iterable[str]) -> List[Trigger]: - """Read raw trigger data from the given source. - - Parameters - ---------- - data - iterable object where each item is a str with data for a single - trigger. - - Returns - ------- - list of all Triggers in the data. - """ - triggers = [] - for i, line in enumerate(lines): - try: - trg = Trigger.from_list(line.split()) - triggers.append(trg) - except (AssertionError, ValueError) as trg_error: - raise BciPyCoreException( - f'Error reading trigger from line {i+1}: {trg_error}' - ) from trg_error - return triggers - - -def find_starting_offset(triggers: List[Trigger], device_type: str = None) -> Trigger: - """Given a list of raw trigger data, determine the starting offset for the - given device. The returned trigger has the timestamp of the first sample - recorded for the device. - - If no device is provided the EEG offset will be used. If there are - no offset triggers in the given data a Trigger with offset of 0.0 will be - returned. - - Parameters - ---------- - triggers - list of trigger data; should include Triggers of - TriggerType.OFFSET - device_type - each device will generally have a different offset. This - parameter is used to determine which trigger to use. If not given - the EEG offset will be used by default. Ex. 'EYETRACKER' - Returns - ------- - The Trigger for the first matching offset for the given device, or a - Trigger with offset of 0.0 if a matching offset was not found. - """ - label = 'starting_offset' - if device_type and device_type != 'EEG': - label += f"_{device_type}" - for trg in triggers: - if trg.type == TriggerType.OFFSET and trg.label == label: - return trg - log.info(f"Offset not found (device_type: {device_type}); using 0.0") - return Trigger('starting_offset', TriggerType.OFFSET, 0.0) - - -def read(path: str) -> List[Trigger]: - """Read all Triggers from the given text file. - - Parameters - ---------- - path - trigger (.txt) file to read - Returns - ------- - triggers - """ - if not path.endswith('.txt') or not os.path.exists(path): - raise FileNotFoundError( - f'Valid triggers .txt file not found at [{path}].') - with open(path, encoding=DEFAULT_ENCODING) as raw_txt: - triggers = read_data(raw_txt) - return triggers - - -def apply_offsets(triggers: List[Trigger], - starting_offset: Trigger, - static_offset: float = 0.0) -> List[Trigger]: - """Returns a list of triggers with timestamps adjusted relative to the - device start time. Offset triggers are filtered out if present. - - Parameters - ---------- - triggers - list of triggers - starting_offset - offset from the device start time. - static_offset - the measured static system offset - - Returns - ------- - a list of triggers with timestamps relative to the starting_offset - """ - total_offset = starting_offset.time + static_offset - return [ - trg.with_offset(total_offset) for trg in triggers - if trg.type != TriggerType.OFFSET - ] - - -def exclude_types(triggers: List[Trigger], - types: List[TriggerType] = None) -> List[Trigger]: - """Filter the list of triggers to exclude the provided types""" - if not types: - return triggers - return [trg for trg in triggers if trg.type not in types] - - def convert_timing_triggers(timing: List[tuple], target_stimuli: str, trigger_type: Callable) -> List[Trigger]: """Convert Stimuli Times to Triggers. From 22d73218ce486b0c4e36a10592264e2e99df833d Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 11 Sep 2023 11:46:43 -0700 Subject: [PATCH 081/330] Added changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e1eaf4807..381298c39 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ Our last release candidate before the official 2.0 release! - Multimodal Acquisition and Querying - Support for multiple devices in online querying #286 + - Support for trigger handling relative to a given device #293 - Stimuli - Updates to ensure stimuli are presented at the same frequency #287 - Dynamic Selection Window From 23787c685cbebed963783c4eee7ab92312c1ca3a Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 12 Sep 2023 16:12:00 -0700 Subject: [PATCH 082/330] Trigger Cleanup ; added functions for offset labels in the triggers module that can be used consistently in tasks, as well as be used to find offsets by type in the resulting triggers.txt file --- bcipy/helpers/tests/test_triggers.py | 62 ++++++++++++++++- bcipy/helpers/triggers.py | 69 +++++++++++++++---- bcipy/signal/model/offline_analysis.py | 1 + .../paradigm/rsvp/calibration/calibration.py | 10 ++- bcipy/task/paradigm/rsvp/copy_phrase.py | 10 ++- 5 files changed, 126 insertions(+), 26 deletions(-) diff --git a/bcipy/helpers/tests/test_triggers.py b/bcipy/helpers/tests/test_triggers.py index ecd02c298..7138d32bf 100644 --- a/bcipy/helpers/tests/test_triggers.py +++ b/bcipy/helpers/tests/test_triggers.py @@ -9,7 +9,9 @@ from bcipy.helpers.triggers import (FlushFrequency, Trigger, TriggerHandler, TriggerType, _calibration_trigger, apply_offsets, exclude_types, - find_starting_offset, read, read_data, + find_starting_offset, offset_device, + offset_label, read, read_data, + starting_offsets_by_device, trigger_decoder) @@ -333,6 +335,36 @@ def test_read_data_unicode(self, path_exists_mock): class TestTriggerFunctions(unittest.TestCase): """Test module functions""" + def test_starting_offset_label(self): + """Test functions for generating offset labels""" + self.assertEqual(offset_label(), 'starting_offset') + self.assertEqual(offset_label('EEG'), 'starting_offset') + self.assertEqual(offset_label('EYETRACKER'), + 'starting_offset_EYETRACKER') + + self.assertEqual(offset_label(prefix='daq_offset'), 'daq_offset') + self.assertEqual(offset_label(device_type='EEG', prefix='daq_offset'), + 'daq_offset') + self.assertEqual( + offset_label(device_type='EYETRACKER', prefix='daq_offset'), + 'daq_offset_EYETRACKER') + + def test_offset_device_type(self): + """Test functions for generating offset labels""" + self.assertEqual(offset_device('starting_offset'), 'EEG') + self.assertEqual(offset_device('starting_offset_EEG'), 'EEG') + self.assertEqual(offset_device('starting_offset_EYETRACKER'), + 'EYETRACKER') + self.assertEqual(offset_device('starting_offset_EYE_TRACKER'), + 'EYE_TRACKER') + + self.assertEqual( + offset_device('daq_offset_EYE_TRACKER', prefix='daq_offset'), + 'EYE_TRACKER') + + with self.assertRaises(AssertionError): + offset_device('offset', prefix='starting_offset') + def test_read_data(self): """Test reading data from a given source""" trg_data = '''starting_offset offset 3.47 @@ -424,6 +456,34 @@ def test_find_starting_offset_for_device(self): self.assertEqual(offset.label, 'starting_offset_EYETRACKER') self.assertEqual(offset.time, 4.47) + def test_starting_offsets_by_device(self): + """Test default behavior for starting_offsets_by_device""" + triggers = read_data('''starting_offset offset 3.47 + starting_offset_EYETRACKER offset 4.47 + J prompt 6.15 + + fixation 8.11'''.split('\n')) + offsets = starting_offsets_by_device(triggers) + self.assertEqual(len(offsets), 2) + self.assertEqual(offsets['EEG'].time, 3.47) + self.assertEqual(offsets['EYETRACKER'].time, 4.47) + + def test_starting_offsets_by_device_no_offset(self): + """Test default behavior for starting_offsets_by_device with no offsets + """ + triggers = read_data('''J prompt 6.15 + + fixation 8.11'''.split('\n')) + offsets = starting_offsets_by_device(triggers) + self.assertFalse(offsets) + + def test_starting_offsets_by_device_defaults(self): + """Test default values""" + triggers = read_data('''J prompt 6.15 + + fixation 8.11'''.split('\n')) + offsets = starting_offsets_by_device(triggers, device_types=['EEG', 'EYETRACKER']) + self.assertEqual(len(offsets), 2) + self.assertEqual(offsets['EEG'].time, 0.0) + self.assertEqual(offsets['EYETRACKER'].time, 0.0) + def test_apply_offsets_without_static(self): """Test application of offsets without a static offset""" triggers = read_data('''starting_offset offset -3.47 diff --git a/bcipy/helpers/triggers.py b/bcipy/helpers/triggers.py index 97f7bf1a8..8613a8de8 100644 --- a/bcipy/helpers/triggers.py +++ b/bcipy/helpers/triggers.py @@ -165,7 +165,7 @@ def list(cls) -> List[str]: return list(map(lambda c: c.value, cls)) @classmethod - def pre_fixation(cls) -> List: + def pre_fixation(cls) -> List['TriggerType']: """Returns the subset of TriggerTypes that occur before and including the FIXATION trigger.""" return [ @@ -238,7 +238,51 @@ def read_data(lines: Iterable[str]) -> List[Trigger]: return triggers -def find_starting_offset(triggers: List[Trigger], device_type: str = None) -> Trigger: +def offset_label(device_type: Optional[str] = None, prefix: str = 'starting_offset') -> str: + """Compute the offset label for the given device. + """ + if not device_type or device_type == 'EEG': + return prefix + return f"{prefix}_{device_type}" + + +def offset_device(label: str, prefix: str = 'starting_offset') -> str: + """Given an label, determine the device type""" + assert label.startswith( + prefix), "Label must start with the given prefix" + try: + idx = label.index('_', len(prefix)) + return label[idx + 1:] + except ValueError: + return 'EEG' + + +def starting_offsets_by_device( + triggers: List[Trigger], + device_types: Optional[List[str]] = None) -> Dict[str, Trigger]: + """Returns a dict of starting_offset triggers keyed by device type. + + If device_types are provided, an entry is created for each one, using a + default offset of 0.0 if a match is not found. + """ + offset_triggers = {} + for trg in triggers: + if trg.type == TriggerType.OFFSET: + device_type = offset_device(trg.label) + offset_triggers[device_type] = trg + + if device_types: + data = {} + for device_type in device_types: + data[device_type] = offset_triggers.get( + device_type, + Trigger(offset_label(device_type), TriggerType.OFFSET, 0.0)) + return data + return offset_triggers + + +def find_starting_offset(triggers: List[Trigger], + device_type: Optional[str] = None) -> Trigger: """Given a list of raw trigger data, determine the starting offset for the given device. The returned trigger has the timestamp of the first sample recorded for the device. @@ -259,14 +303,12 @@ def find_starting_offset(triggers: List[Trigger], device_type: str = None) -> Tr The Trigger for the first matching offset for the given device, or a Trigger with offset of 0.0 if a matching offset was not found. """ - label = 'starting_offset' - if device_type and device_type != 'EEG': - label += f"_{device_type}" + label = offset_label(device_type) for trg in triggers: if trg.type == TriggerType.OFFSET and trg.label == label: return trg log.info(f"Offset not found (device_type: {device_type}); using 0.0") - return Trigger('starting_offset', TriggerType.OFFSET, 0.0) + return Trigger(label, TriggerType.OFFSET, 0.0) def read(path: str) -> List[Trigger]: @@ -311,7 +353,7 @@ def apply_offsets(triggers: List[Trigger], def exclude_types(triggers: List[Trigger], - types: List[TriggerType] = None) -> List[Trigger]: + types: Optional[List[TriggerType]] = None) -> List[Trigger]: """Filter the list of triggers to exclude the provided types""" if not types: return triggers @@ -382,7 +424,7 @@ def read_text_file(path: str) -> Tuple[List[Trigger], float]: def load(path: str, offset: Optional[float] = 0.0, exclusion: Optional[List[TriggerType]] = None, - device_type: str = None) -> List[Trigger]: + device_type: Optional[str] = None) -> List[Trigger]: """ Loads a list of triggers from a .txt of triggers. @@ -450,11 +492,12 @@ def convert_timing_triggers(timing: List[tuple], target_stimuli: str, ] -def trigger_decoder(trigger_path: str, - remove_pre_fixation: bool = True, - offset: float = 0.0, - exclusion: List[TriggerType] = None, - device_type: str = None) -> Tuple[list, list, list]: +def trigger_decoder( + trigger_path: str, + remove_pre_fixation: bool = True, + offset: float = 0.0, + exclusion: Optional[List[TriggerType]] = None, + device_type: Optional[str] = None) -> Tuple[list, list, list]: """Trigger Decoder. Given a path to trigger data, this method loads valid Triggers and returns their type, timing and label. diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 8c58017fe..262854189 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -155,6 +155,7 @@ def offline_analysis( offset=static_offset, trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], + device_type='EEG' ) # update the trigger timing list to account for the initial trial window diff --git a/bcipy/task/paradigm/rsvp/calibration/calibration.py b/bcipy/task/paradigm/rsvp/calibration/calibration.py index 6aef7d1dd..23aa220b1 100644 --- a/bcipy/task/paradigm/rsvp/calibration/calibration.py +++ b/bcipy/task/paradigm/rsvp/calibration/calibration.py @@ -2,7 +2,6 @@ from psychopy import core -from bcipy.acquisition.multimodal import ContentType from bcipy.config import TRIGGER_FILENAME, WAIT_SCREEN_MESSAGE from bcipy.display import (InformationProperties, PreviewInquiryProperties, StimuliProperties) @@ -15,7 +14,8 @@ from bcipy.helpers.task import (get_user_input, pause_calibration, trial_complete_message) from bcipy.helpers.triggers import (FlushFrequency, Trigger, TriggerHandler, - TriggerType, convert_timing_triggers) + TriggerType, convert_timing_triggers, + offset_label) from bcipy.task import Task @@ -204,8 +204,7 @@ def write_trigger_data(self, timing: List[Tuple[str, float]], first_run) -> None if first_run: triggers = [] for content_type, client in self.daq.clients_by_type.items(): - suffix = '' if content_type == ContentType.EEG else '_' + content_type.name - label = f"starting_offset{suffix}" + label = offset_label(content_type.name) time = client.offset( self.rsvp.first_stim_time) - self.rsvp.first_stim_time triggers.append(Trigger(label, TriggerType.OFFSET, time)) @@ -221,8 +220,7 @@ def write_offset_trigger(self) -> None: # we write only the sample offset here. triggers = [] for content_type, client in self.daq.clients_by_type.items(): - suffix = '' if content_type == ContentType.EEG else '_' + content_type.name - label = f"daq_sample_offset{suffix}" + label = offset_label(content_type.name, prefix='daq_sample_offset') time = client.offset(self.rsvp.first_stim_time) triggers.append(Trigger(label, TriggerType.SYSTEM, time)) diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index 8affe1fa4..4bb120d2a 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -3,7 +3,6 @@ from psychopy import core -from bcipy.acquisition.multimodal import ContentType from bcipy.config import (SESSION_DATA_FILENAME, SESSION_SUMMARY_FILENAME, TRIGGER_FILENAME, WAIT_SCREEN_MESSAGE) from bcipy.display import (Display, InformationProperties, @@ -24,7 +23,8 @@ relative_triggers, target_info, trial_complete_message) from bcipy.helpers.triggers import (FlushFrequency, Trigger, TriggerHandler, - TriggerType, convert_timing_triggers) + TriggerType, convert_timing_triggers, + offset_label) from bcipy.signal.model.inquiry_preview import compute_probs_after_preview from bcipy.task import Task from bcipy.task.control.evidence import (EvidenceEvaluator, @@ -723,8 +723,7 @@ def write_offset_trigger(self) -> None: # we write only the sample offset here. triggers = [] for content_type, client in self.daq.clients_by_type.items(): - suffix = '' if content_type == ContentType.EEG else '_' + content_type.name - label = f"daq_sample_offset{suffix}" + label = offset_label(content_type.name, prefix='daq_sample_offset') time = client.offset(self.rsvp.first_stim_time) triggers.append(Trigger(label, TriggerType.SYSTEM, time)) @@ -744,8 +743,7 @@ def write_trigger_data(self, stim_times: List[Tuple[str, float]], target_stimuli # offset will factor in true offset and time relative from beginning offset_triggers = [] for content_type, client in self.daq.clients_by_type.items(): - suffix = '' if content_type == ContentType.EEG else '_' + content_type.name - label = f"starting_offset{suffix}" + label = offset_label(content_type.name) time = client.offset( self.rsvp.first_stim_time) - self.rsvp.first_stim_time offset_triggers.append(Trigger(label, TriggerType.OFFSET, From f3292cc805e4d6ca40b3091cdb5f97f251d974db Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 12 Sep 2023 17:02:10 -0700 Subject: [PATCH 083/330] Updated README --- bcipy/helpers/README.md | 51 +++++++++++++++++++++++++++++++++++------ 1 file changed, 44 insertions(+), 7 deletions(-) diff --git a/bcipy/helpers/README.md b/bcipy/helpers/README.md index 89a6d5a24..1ab392cfd 100644 --- a/bcipy/helpers/README.md +++ b/bcipy/helpers/README.md @@ -20,7 +20,7 @@ Modules necessary for BciPy system operation. These range from system utilities - `system_utils`: utilities for extracting git version, system information and handling of logging - `task`: common task methods and utilities, including Trial and InquiryReshaper. - `triggers`: methods and data classes defining BciPy internal triggering -- `validate`: methods for validating experiments and fields +- `validate`: methods for validating experiments and fields - `visualization`: method for visualizing EEG data collected in BciPy. Used in offline_analysis.py. @@ -53,11 +53,11 @@ PREVIEW = "preview" ### TriggerHandler -You can use the BciPy TriggerHandler to read and write any Triggers! +You can use the BciPy TriggerHandler to read and write any Triggers! ### Writing -You will need three pieces of information to create a new handler for writing: +You will need three pieces of information to create a new handler for writing: 1. path where trigger data should be written 2. name of the trigger file without extension @@ -85,7 +85,7 @@ handler.close() # this will call write one final time on any triggers added sinc ### Loading -To load a BciPy triggers.txt file, the TriggerHandler load method can be used. Because it is a staticmethod, the class does not need to be initialized before the load method is used. +To load a BciPy triggers.txt file, the TriggerHandler load method can be used. Because it is a staticmethod, the class does not need to be initialized before the load method is used. ```python from bcipy.helpers.triggers import TriggerHandler @@ -93,7 +93,7 @@ from bcipy.helpers.triggers import TriggerHandler path_to_trigger_save_location = './triggers.txt' triggers = TriggerHandler.load(path_to_trigger_save_location) -# it will load in data like this: +# it will load in data like this: # [Trigger: label=[starting_offset] type=[offset] time=[-13149613.488788936], Trigger: label=[x] type=[prompt] time=[4.96745322458446]] ``` @@ -107,7 +107,7 @@ path_to_trigger_save_location = './triggers.txt' # exclude system triggers triggers = TriggerHandler.load(path_to_trigger_save_location, exclusion=[TriggerType.SYSTEM]) -# apply a 2 second offset to all timestamps loaded +# apply a 2 second offset to all timestamps loaded triggers = TriggerHandler.load(path_to_trigger_save_location, offset=2.0) ``` @@ -137,4 +137,41 @@ N target 3493.7257014 X prompt 3495.4642608 + fixation 3496.4697921 Z nontarget 3496.9749562 -``` \ No newline at end of file +``` + +### Multiple Devices + +When multiple devices are in use, each device should provide its own starting_offset trigger. The trigger time should be the timestamp associated with the first sample in the data for that device. + +```python +from bcipy.helpers.triggers import Trigger, TriggerType, offset_label + +# label can be any utf-8 compliant string +eeg_offset = Trigger(offset_label(device_type='EEG'), TriggerType.OFFSET, -3400.0) +eyetracker_offset = Trigger(offset_label(device_type='EYETRACKER'), TriggerType.OFFSET, -3450.0) +``` + +After adding other triggers, the resulting file will look something like: + +``` +starting_offset offset -3400.0 +starting_offset_EYETRACKER offset -3450.0 +N prompt 3490.3607581 ++ fixation 3491.3668763 +Y nontarget 3491.8722132 +... +``` + +Triggers can then be loaded with timestamps relative to a device's start. + +```python +from bcipy.helpers.triggers import trigger_decoder, TriggerType + +types, times, labels = trigger_decoder('triggers.txt', device_type='EEG') +# types == ['prompt', 'fixation', 'prompt'] +# times == [90.36075810000011, 91.36687630000006, 91.8722131999998] +# labels == ['N', '+', 'Y'] + +_, times, _ = trigger_decoder('triggers.txt', device_type='EYETRACKER') +# times == [40.36075810000011, 41.36687630000006, 41.872213199999806] +``` From c81b4e3109ce909a5defb35d4dca2093ff5924f8 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 13 Sep 2023 14:44:34 -0700 Subject: [PATCH 084/330] Updated VEP display and calibration demo to work with the latest codebase --- .../display/demo/vep/demo_calibration_vep.py | 41 ++++++---- bcipy/display/paradigm/vep/display.py | 79 +++++++++++-------- 2 files changed, 68 insertions(+), 52 deletions(-) diff --git a/bcipy/display/demo/vep/demo_calibration_vep.py b/bcipy/display/demo/vep/demo_calibration_vep.py index d2666ab38..6ed33cd64 100644 --- a/bcipy/display/demo/vep/demo_calibration_vep.py +++ b/bcipy/display/demo/vep/demo_calibration_vep.py @@ -1,8 +1,9 @@ from psychopy import core, visual +from bcipy.display import InformationProperties, VEPStimuliProperties +from bcipy.display.components.task_bar import CalibrationTaskBar from bcipy.display.paradigm.vep.display import VEPDisplay from bcipy.helpers.clock import Clock -from bcipy.display import InformationProperties, TaskDisplayProperties, VEPStimuliProperties info = InformationProperties( info_color=['White'], @@ -11,19 +12,21 @@ info_font=['Consolas'], info_text=['VEP Display Demo'], ) -task_display = TaskDisplayProperties(colors=['White'], - font='Consolas', - height=.1, - text='1/4') task_text = ['1/4', '2/4', '3/4', '4/4'] task_color = [['white'], ['white'], ['white'], ['white']] num_boxes = 4 start_positions_for_boxes = [(-.3, -.3), (.3, -.3), (.3, .3), (-.3, .3)] -win = visual.Window(size=[700, 700], fullscr=False, screen=1, allowGUI=False, - allowStencil=False, monitor='testMonitor', color='black', - colorSpace='rgb', blendMode='avg', +win = visual.Window(size=[700, 700], + fullscr=False, + screen=1, + allowGUI=False, + allowStencil=False, + monitor='testMonitor', + color='black', + colorSpace='rgb', + blendMode='avg', waitBlanking=False, winType='pyglet') win.recordFrameIntervals = True @@ -31,31 +34,35 @@ print(f'Monitor refresh rate: {frameRate} Hz') -clock = core.Clock() experiment_clock = Clock() len_stimuli = 10 stimuli = VEPStimuliProperties( stim_color=[['white'] * num_boxes], stim_pos=start_positions_for_boxes, stim_height=0.1, - stim_font='Consolas', + stim_font='Arial', timing=(1, 0.5, 4), # prompt, fixation, stimuli stim_length=1, # how many times to stimuli ) -vep = VEPDisplay(win, experiment_clock, stimuli, task_display, info) +task_bar = CalibrationTaskBar(win, + inquiry_count=4, + current_index=0, + font='Arial') +vep = VEPDisplay(win, experiment_clock, stimuli, task_bar, info) timing = [] -t = 2 +wait_seconds = 2 # loop over the text and colors, present the stimuli and record the timing for (txt, color) in zip(task_text, task_color): - vep.update_task(txt, color[0]) - vep.schedule_to([['A', 'B'], ['Z'], ['P'], ['R', 'W']], [1, 0.5, 5], [['blue'], ['purple'], ['red'], ['white']]) + vep.update_task_bar(txt) + vep.schedule_to([['A', 'B'], ['Z'], ['P'], ['R', 'W']], [1, 0.5, 5], + [['blue'], ['purple'], ['red'], ['white']]) timing += vep.do_inquiry() # show the wait screen, this will only happen once - while t > 0: - t -= 1 - vep.wait_screen(f"Waiting for {t}s", color='white') + while wait_seconds > 0: + wait_seconds -= 1 + vep.wait_screen(f"Waiting for {wait_seconds}s", color='white') core.wait(1) print(timing) diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index 655489e42..4f8ab6340 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -1,18 +1,17 @@ import logging -from typing import List, Tuple, Optional -from bcipy.display import ( - BCIPY_LOGO_PATH, - Display, - InformationProperties, - VEPStimuliProperties, - TaskDisplayProperties, -) +from typing import List, Tuple + import numpy as np -from psychopy import visual, core +from psychopy import core, visual +from psychopy.visual.grating import GratingStim + +from bcipy.display import (BCIPY_LOGO_PATH, Display, InformationProperties, + VEPStimuliProperties) +from bcipy.display.components.task_bar import TaskBar from bcipy.helpers.clock import Clock +from bcipy.helpers.stimuli import get_fixation, resize_image from bcipy.helpers.symbols import SPACE_CHAR from bcipy.helpers.triggers import TriggerCallback, _calibration_trigger -from bcipy.helpers.stimuli import resize_image, get_fixation def create_vep_codes(length=32, count=4) -> List[List[int]]: @@ -31,11 +30,11 @@ class VEPBox: """A class to represent a VEP box. Attributes: - flicker: A list of two visual.GratingStim objects, one for on and one for off. + flicker: A list of two GratingStim objects, one for on and one for off. code: A list of integers representing the VEP code for this box. """ - def __init__(self, flicker: List[Tuple[visual.GratingStim, visual.GratingStim]], code: List[int]) -> None: + def __init__(self, flicker: List[Tuple[GratingStim, GratingStim]], code: List[int]) -> None: self.flicker = flicker self.code = code @@ -49,13 +48,13 @@ def frame_off(self) -> None: class VEPDisplay(Display): - + """Display for VEP paradigm""" def __init__( self, window: visual.Window, experiment_clock: Clock, stimuli: VEPStimuliProperties, - task_display: TaskDisplayProperties, + task_bar: TaskBar, info: InformationProperties, trigger_type: str = 'text', space_char: str = SPACE_CHAR, @@ -104,8 +103,8 @@ def __init__( # Task parameters self.space_char = space_char - self.task_display = task_display - self.task = task_display.build_task(self.window) + + self.task_bar = task_bar # Information parameters self.info = info @@ -126,6 +125,7 @@ def __init__( self.animation_duration = 2 + def do_fixation(self) -> None: # draw fixation cross self.fixation.draw() @@ -234,17 +234,26 @@ def stimulate(self) -> List[float]: return self.trigger_callback.timing def draw_static(self) -> None: - """Draw static elements for the display.""" - self.task.draw() + """Draw static elements in a stimulus.""" + if self.task_bar: + self.task_bar.draw() + for info in self.info_text: info.draw() - def update_task(self, text: str, color: str, pos: Optional[Tuple] = None) -> None: - """Update the task display which is displayed using the draw_static function.""" - self.task.text = text - self.task.color = color - if pos: - self.task.pos = pos + def update_task_bar(self, text: str = ''): + """Update Task. + + Update any task related display items not related to the inquiry. Ex. stimuli count 1/200. + + PARAMETERS: + + text: text for task + color_list: list of the colors for each stimuli + pos: position of task + """ + if self.task_bar: + self.task_bar.update(text) def _build_inquiry_stimuli(self) -> None: """Build the inquiry stimuli.""" @@ -268,7 +277,7 @@ def _build_vep_corner_stimuli( pos: Tuple[float, float], codes: List[int], colors: List[Tuple[str]], - box_size: float) -> List[visual.GratingStim]: + box_size: float) -> List[GratingStim]: """Build the corner stimuli for the VEP. Args: @@ -285,7 +294,7 @@ def _build_1x1_vep_grid( position: Tuple[float], size: float, color: str, - code: List[int]) -> List[visual.GratingStim]: + code: List[int]) -> List[GratingStim]: """Build a 1x1 VEP grid. Args: @@ -295,16 +304,16 @@ def _build_1x1_vep_grid( code: code to be used with the flicking box Returns: - list of visual.GratingStim objects + list of GratingStim objects """ assert len(code) >= self.refresh_rate, 'Code must be longer than refresh rate' - pattern1 = visual.GratingStim(win=self.window, name=f'1x1-1-{position}', units='height', + pattern1 = GratingStim(win=self.window, name=f'1x1-1-{position}', units='height', tex=None, mask=None, ori=0, pos=position, size=size, sf=1, phase=0.0, color=color[0], colorSpace='rgb', opacity=1, texRes=256, interpolate=True, depth=-1.0) - pattern2 = visual.GratingStim(win=self.window, name=f'1x1-2-{position}', units='height', + pattern2 = GratingStim(win=self.window, name=f'1x1-2-{position}', units='height', tex=None, mask=None, ori=0, pos=position, size=size, sf=1, phase=0, color=color[1], colorSpace='rgb', opacity=1, @@ -317,7 +326,7 @@ def _build_2x2_vep_grid(self, position: Tuple[float], size: float, color: str, - code: List[int]) -> List[visual.GratingStim]: + code: List[int]) -> List[GratingStim]: """Build a 2x2 VEP grid. Args: @@ -327,7 +336,7 @@ def _build_2x2_vep_grid(self, code: code to be used with the flicking box Returns: - list of visual.GratingStim objects + list of GratingStim objects """ assert len(code) >= self.refresh_rate, 'Code must be longer than refresh rate' @@ -340,12 +349,12 @@ def _build_2x2_vep_grid(self, ] box = [] for pos in positions: - pattern1 = visual.GratingStim(win=self.window, name=f'2x2-1-{pos}', units='height', + pattern1 = GratingStim(win=self.window, name=f'2x2-1-{pos}', units='height', tex=None, mask=None, ori=0, pos=pos, size=size, sf=1, phase=0.0, color=color[0], colorSpace='rgb', opacity=1, texRes=256, interpolate=True, depth=-1.0) - pattern2 = visual.GratingStim(win=self.window, name=f'2x2-2-{pos}', units='height', + pattern2 = GratingStim(win=self.window, name=f'2x2-2-{pos}', units='height', tex=None, mask=None, ori=0, pos=pos, size=size, sf=1, phase=0, color=color[1], colorSpace='rgb', opacity=1, @@ -390,10 +399,10 @@ def _build_text_boxes(self) -> List[visual.TextBox2]: # generate the inquiry stimuli assert len( self.stimuli_colors) == self.vep_type, ( - f"stmuli colors {len(self.stimuli_colors)} must be the same length as vep type {self.vep_type}") + f"stimuli colors {len(self.stimuli_colors)} must be the same length as vep type {self.vep_type}") assert len( self.stimuli_pos) == self.vep_type, ( - f"stmuli position {len(self.stimuli_pos)} must be the same length as vep type {self.vep_type}") + f"stimuli position {len(self.stimuli_pos)} must be the same length as vep type {self.vep_type}") self.text_boxes = [] inc_q = int(self.vep_type / 2) From 18daec4a2fa9292dcfb58072f582081451964d3b Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 14 Sep 2023 13:21:39 -0700 Subject: [PATCH 085/330] VEP Display cleanup --- .../display/demo/vep/demo_calibration_vep.py | 6 +- bcipy/display/paradigm/vep/display.py | 105 ++++++++---------- 2 files changed, 51 insertions(+), 60 deletions(-) diff --git a/bcipy/display/demo/vep/demo_calibration_vep.py b/bcipy/display/demo/vep/demo_calibration_vep.py index 6ed33cd64..de47ea459 100644 --- a/bcipy/display/demo/vep/demo_calibration_vep.py +++ b/bcipy/display/demo/vep/demo_calibration_vep.py @@ -9,7 +9,7 @@ info_color=['White'], info_pos=[(-.5, -.75)], info_height=[0.1], - info_font=['Consolas'], + info_font=['Arial'], info_text=['VEP Display Demo'], ) @@ -37,7 +37,7 @@ experiment_clock = Clock() len_stimuli = 10 stimuli = VEPStimuliProperties( - stim_color=[['white'] * num_boxes], + stim_color=[['blue'], ['purple'], ['red'], ['green']], stim_pos=start_positions_for_boxes, stim_height=0.1, stim_font='Arial', @@ -56,7 +56,7 @@ for (txt, color) in zip(task_text, task_color): vep.update_task_bar(txt) vep.schedule_to([['A', 'B'], ['Z'], ['P'], ['R', 'W']], [1, 0.5, 5], - [['blue'], ['purple'], ['red'], ['white']]) + [['blue'], ['purple'], ['red'], ['green']]) timing += vep.do_inquiry() # show the wait screen, this will only happen once diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index 4f8ab6340..5b7cb1c5b 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -57,8 +57,6 @@ def __init__( task_bar: TaskBar, info: InformationProperties, trigger_type: str = 'text', - space_char: str = SPACE_CHAR, - full_screen: bool = False, codes: List[int] = None): self.window = window self.window_size = self.window.size # [w, h] @@ -66,27 +64,25 @@ def __init__( self.logger = logging.getLogger(__name__) + # number of VEP text areas; TODO: make this configurable + self.vep_type = 4 + # Stimuli parameters, these are set on display in order to allow - # easy updating after defintion + # easy updating after definition self.stimuli_inquiry = stimuli.stim_inquiry self.stimuli_colors = stimuli.stim_colors self.stimuli_timing = stimuli.stim_timing self.stimuli_font = stimuli.stim_font self.stimuli_height = stimuli.stim_height self.stimuli_pos = stimuli.stim_pos - self.logger.info(self.stimuli_pos) self.is_txt_stim = stimuli.is_txt_stim self.stim_length = stimuli.stim_length - self.sti = [] - self.fixation = visual.TextStim( - self.window, - text=get_fixation(True), - color='red', - height=self.stimuli_height, - units='height', - pos=[0, 0]) - self.full_screen = full_screen + self.logger.info(self.stimuli_pos) + self.check_configuration() + + self.sti = [] + self.fixation = self._build_fixation() self.static_clock = core.Clock() @@ -101,33 +97,30 @@ def __init__( self.first_stim_callback = lambda _sti: None self.size_list_sti = [] - # Task parameters - self.space_char = space_char - self.task_bar = task_bar - - # Information parameters - self.info = info self.info_text = info.build_info_text(window) - self.colors = [('white', 'black'), ('red', 'green'), ('blue', 'yellow'), ('orange', 'green')] - if not codes: - self.codes = create_vep_codes(length=self.refresh_rate, count=4) - else: - self.codes = codes - # build the VEP stimuli - self.vep = [] - self.text_boxes = [] - self.vep_type = 4 - assert self.vep_type == 4, 'Only 4 stimuli are supported in VEP display at this time!' - self.vep_box_size = .1 + if not codes: + codes = create_vep_codes(length=self.refresh_rate, count=self.vep_type) + vep_colors = [('white', 'black'), ('red', 'green'), ('blue', 'yellow'), ('orange', 'green')] + vep_box_size = .1 + self.vep = self._build_vep_corner_stimuli(self.stimuli_pos, codes, vep_colors, vep_box_size) + self.text_boxes = self._build_text_boxes(vep_box_size) self.animation_duration = 2 + def check_configuration(self): + """Check that configured properties are consistent""" + assert len( + self.stimuli_colors) == self.vep_type, ( + f"stimuli colors {len(self.stimuli_colors)} must be the same length as vep type {self.vep_type}") + assert len( + self.stimuli_pos) == self.vep_type, ( + f"stimuli position {len(self.stimuli_pos)} must be the same length as vep type {self.vep_type}") def do_fixation(self) -> None: - # draw fixation cross + """Draw fixation cross""" self.fixation.draw() self.draw_static() self.window.flip() @@ -138,11 +131,9 @@ def do_inquiry(self) -> List[float]: timing = [] - # if this is the first run, calibrate using the trigger pulse and setup the VEP and text boxes + # if this is the first run, calibrate using the trigger pulse if self.first_run: self._trigger_pulse() - self._build_vep_corner_stimuli(self.stimuli_pos, self.codes, self.colors, self.vep_box_size) - self._build_text_boxes() # fixation --> animation / prompting --> VEP stimulate self.do_fixation() @@ -255,6 +246,15 @@ def update_task_bar(self, text: str = ''): if self.task_bar: self.task_bar.update(text) + def _build_fixation(self) -> visual.TextStim: + """Build the fixation stim""" + return visual.TextStim(self.window, + text=get_fixation(self.is_txt_stim), + color='red', + height=self.stimuli_height, + units='height', + pos=[0, 0]) + def _build_inquiry_stimuli(self) -> None: """Build the inquiry stimuli.""" all_letters = [] @@ -277,7 +277,7 @@ def _build_vep_corner_stimuli( pos: Tuple[float, float], codes: List[int], colors: List[Tuple[str]], - box_size: float) -> List[GratingStim]: + box_size: float) -> List[VEPBox]: """Build the corner stimuli for the VEP. Args: @@ -294,7 +294,7 @@ def _build_1x1_vep_grid( position: Tuple[float], size: float, color: str, - code: List[int]) -> List[GratingStim]: + code: List[int]) -> List[VEPBox]: """Build a 1x1 VEP grid. Args: @@ -319,14 +319,13 @@ def _build_1x1_vep_grid( color=color[1], colorSpace='rgb', opacity=1, texRes=256, interpolate=True, depth=-2.0) box = [VEPBox(flicker=[pattern1, pattern2], code=code)] - self.vep += box return box def _build_2x2_vep_grid(self, position: Tuple[float], size: float, color: str, - code: List[int]) -> List[GratingStim]: + code: List[int]) -> List[VEPBox]: """Build a 2x2 VEP grid. Args: @@ -362,7 +361,6 @@ def _build_2x2_vep_grid(self, color = (color[1], color[0]) box += [VEPBox(flicker=[pattern1, pattern2], code=code)] - self.vep += box return box def _trigger_pulse(self) -> None: @@ -389,26 +387,18 @@ def schedule_to(self, stimuli: List[List[str]], timing: List[List[float]], color """ self.stimuli_inquiry = stimuli self.stimuli_timing = timing - self.stimuli_colors = colors + assert colors is None or colors == self.stimuli_colors, "Colors must match the pre-configured values" - def _build_text_boxes(self) -> List[visual.TextBox2]: + def _build_text_boxes(self, vep_box_size: float) -> List[visual.TextBox2]: """Build the text boxes for the experiment. This assumes that vep_type is 4 using a 2x2 grid. Additional configurations can be added in the future. """ - # generate the inquiry stimuli - assert len( - self.stimuli_colors) == self.vep_type, ( - f"stimuli colors {len(self.stimuli_colors)} must be the same length as vep type {self.vep_type}") - assert len( - self.stimuli_pos) == self.vep_type, ( - f"stimuli position {len(self.stimuli_pos)} must be the same length as vep type {self.vep_type}") - - self.text_boxes = [] + text_boxes = [] inc_q = int(self.vep_type / 2) - size = self.vep_box_size * inc_q + size = vep_box_size * inc_q inc = 0 # get the last box in the grating stim per vep - for color in self.stimuli_colors: + for i, color in enumerate(self.stimuli_colors): text = ' ' first = self.vep[inc].flicker[0].pos best_neighbor = self.vep[inc + inc_q].flicker[0].pos @@ -416,7 +406,8 @@ def _build_text_boxes(self) -> List[visual.TextBox2]: # the textbox requires the pos to be centered on the middle of the box, so # we need to calculate the center of the vep stimulus boxes pos = (first[0] + best_neighbor[0]) / 2, (first[1] + best_neighbor[1]) / 2 - self.text_boxes += [visual.TextBox2( + print(f"Position of {color} text area (#{i}): {pos}") + text_boxes += [visual.TextBox2( win=self.window, text=text, font=self.stimuli_font, @@ -428,10 +419,10 @@ def _build_text_boxes(self) -> List[visual.TextBox2]: alignment='center', anchor='center', borderWidth=2, - borderColor='white', + borderColor=color, letterHeight=self.stimuli_height / 2)] inc += self.vep_type - return self.text_boxes + return text_boxes def _reset_text_boxes(self) -> None: """Reset text boxes. @@ -449,10 +440,10 @@ def _set_inquiry(self) -> List[visual.TextBox2]: # generate the inquiry stimuli assert len( self.stimuli_inquiry) == self.vep_type, ( - f"stmuli inquiry {len(self.stimuli_inquiry)} must be the same length as vep type {self.vep_type}") + f"stimuli inquiry {len(self.stimuli_inquiry)} must be the same length as vep type {self.vep_type}") assert len( self.stimuli_colors) == self.vep_type, ( - f"stmuli colors {len(self.stimuli_colors)} must be the same length as vep type {self.vep_type}") + f"stimuli colors {len(self.stimuli_colors)} must be the same length as vep type {self.vep_type}") for box_content, color, box in zip(self.stimuli_inquiry, self.stimuli_colors, self.text_boxes): text = ' '.join(box_content) box.text = text From 7361045dd21b1656982ba82092cae8be48368c94 Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Sat, 16 Sep 2023 13:38:57 -0400 Subject: [PATCH 086/330] First gaze model ready for PR --- bcipy/helpers/stimuli.py | 26 ++++++++++++++++------- bcipy/signal/model/fusion_model.py | 29 -------------------------- bcipy/signal/model/offline_analysis.py | 15 ++++++------- 3 files changed, 27 insertions(+), 43 deletions(-) diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index c429e5d46..f05fb5081 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -9,7 +9,7 @@ from os import path, sep from typing import Iterator, List, Tuple, NamedTuple, Optional -from bcipy.helpers.exceptions import BciPyCoreException +from bcipy.helpers.exceptions import BciPyCoreException, SignalException from bcipy.helpers.list import grouper from bcipy.helpers.symbols import alphabet @@ -325,7 +325,7 @@ def __call__(self, @staticmethod def extract_eye_info(data): """ Rearrange the dimensions of gaze inquiry data and reshape it to num_channels x num_samples - Extract Left and Right Eye info from data. + Extract Left and Right Eye info from data. Remove all blinks, do necessary preprocessing. Args: data (np.ndarray): Data in shape of num_channels x num_samples @@ -338,7 +338,7 @@ def extract_eye_info(data): # Extract samples from channels lx = data[2,:] ly = data[3,:] - left_pupil = data[4,:] + left_pupil = data[4,:] # Use if needed rx = data[5,:] ry = data[6,:] @@ -347,11 +347,23 @@ def extract_eye_info(data): left_eye = np.vstack((np.array(lx), np.array(ly))).T right_eye = np.vstack((np.array(rx), np.array(ry))).T - # Remove blinks (i.e. Nan values) - left_eye = left_eye[~np.isnan(left_eye).any(axis=1)] - right_eye = right_eye[~np.isnan(right_eye).any(axis=1)] + # Remove ALL blinks (i.e. Nan values) regardless of which eye it occurs. + # Make sure that the number of samples are the same for both eyes + left_eye_nan_idx = np.isnan(left_eye).any(axis=1) + left_eye = left_eye[~left_eye_nan_idx] + right_eye = right_eye[~left_eye_nan_idx] - return left_eye, left_pupil, right_eye, right_pupil + right_eye_nan_idx = np.isnan(right_eye).any(axis=1) + left_eye = left_eye[~right_eye_nan_idx] + right_eye = right_eye[~right_eye_nan_idx] + + try: + len(left_eye) != len(right_eye) + except AssertionError: + raise SignalException( + f'Number of samples for left and right eye are not the same.') + + return left_eye, right_eye class TrialReshaper(Reshaper): def __call__(self, diff --git a/bcipy/signal/model/fusion_model.py b/bcipy/signal/model/fusion_model.py index d74610d8f..5da04ad68 100644 --- a/bcipy/signal/model/fusion_model.py +++ b/bcipy/signal/model/fusion_model.py @@ -41,32 +41,3 @@ def predict(self, scores: np.array): # Get the argmax of the scores #return predictions - - - -# if __name__ == "__main__": -# # Dummy model test -# letterdata = np.load('/Users/basak/Documents/BciPy/S001_A.npz') -# left_eye = np.vstack((letterdata['lx'], letterdata['ly'])).T -# right_eye = np.vstack((letterdata['rx'], letterdata['ry'])).T - -# # Train test split the data -# test_size_right = int(len(right_eye) * 0.2) -# train_size_right = len(right_eye) - test_size_right -# train_right_eye = right_eye[:train_size_right] -# test_right_eye = right_eye[train_size_right:] - -# test_size_left = int(len(left_eye) * 0.2) -# train_size_left = len(left_eye) - test_size_left -# train_left_eye = left_eye[:train_size_left] -# test_left_eye = left_eye[train_size_left:] - -# gm = GaussianMixture(n_components=2, random_state=0, init_params='kmeans').fit(train_right_eye) -# predictions = gm.predict_proba(test_right_eye) -# print(predictions) -# plt.scatter(left_eye[:, 0], left_eye[:, 1], c='r', s=1) -# plt.scatter(right_eye[:, 0], right_eye[:, 1], c='b', s=1) -# means = gm.means_ -# plt.scatter(means[:,0], means[:,1], c='black', s=20, marker='^') -# plt.show() -# breakpoint() diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 4580239b9..93496e7cb 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -292,14 +292,18 @@ def offline_analysis( ) symbol_set = alphabet() - # Train the model for each target label and each eye separately. + + # Extract the data for each target label and each eye separately. + # Apply preprocessing: + preprocessed_data = {i: [] for i in symbol_set} for i in symbol_set: # Skip if there's no evidence for this symbol: if len(inquiries[i]) == 0: continue - # Do more preprocesssing to extract eye info: - left_eye, left_pupil, right_eye, right_pupil = model.reshaper.extract_eye_info(inquiries[i]) - + + left_eye, right_eye = model.reshaper.extract_eye_info(inquiries[i]) + preprocessed_data[i] = np.array([left_eye, right_eye]) # Channels x Sample Size x Dimensions(x,y) + # Train test split: test_size = int(len(right_eye) * 0.2) train_size = len(right_eye) - test_size @@ -323,9 +327,6 @@ def offline_analysis( show=True, raw_plot=True, ) - - breakpoint() - if alert_finished: From 9d754af4733176c17b14073617d0e066866f4319 Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Sat, 16 Sep 2023 14:08:51 -0400 Subject: [PATCH 087/330] Linting and Changelog updates --- CHANGELOG.md | 7 ++++ bcipy/helpers/load.py | 4 +- bcipy/helpers/raw_data.py | 2 +- bcipy/helpers/stimuli.py | 51 +++++++++++------------ bcipy/helpers/triggers.py | 6 ++- bcipy/helpers/visualization.py | 29 +++++++------ bcipy/signal/model/fusion_model.py | 21 ++++------ bcipy/signal/model/offline_analysis.py | 56 ++++++++++++++------------ 8 files changed, 93 insertions(+), 83 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d59823b2f..a45c95495 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# 2.0.1-rc.4 + +## Contributions + +- Signal Model + - Offline analysis of multimodal fusion. First version of gaze model is completed #294 Gaze reshaper is updated #294 Visualization for the gaze classification is added #294 + # 2.0.1-rc.3 ## Contributions diff --git a/bcipy/helpers/load.py b/bcipy/helpers/load.py index f93bff73d..3f0834626 100644 --- a/bcipy/helpers/load.py +++ b/bcipy/helpers/load.py @@ -163,12 +163,12 @@ def load_experimental_data() -> str: def load_eye_tracking_data(gaze_data: RawData): - left_eye_channel_map = [0,0,1,1,0,0,0,0,0] + left_eye_channel_map = [0, 0, 1, 1, 0, 0, 0, 0, 0] left_eye_data, _, _ = gaze_data.by_channel_map(left_eye_channel_map) left_eye_x = left_eye_data[0] left_eye_y = left_eye_data[1] - right_eye_channel_map = [0,0,0,0,0,1,1,0,0] + right_eye_channel_map = [0, 0, 0, 0, 0, 1, 1, 0, 0] right_eye_data, _, _ = gaze_data.by_channel_map(right_eye_channel_map) right_eye_x = right_eye_data[0] right_eye_y = right_eye_data[1] diff --git a/bcipy/helpers/raw_data.py b/bcipy/helpers/raw_data.py index e915c0362..d4e946b5d 100644 --- a/bcipy/helpers/raw_data.py +++ b/bcipy/helpers/raw_data.py @@ -183,7 +183,7 @@ def append(self, row: List): def __str__(self) -> str: return f"RawData({self.daq_type})" - + def __repr__(self) -> str: return f"RawData({self.daq_type})" diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index f05fb5081..b369809e3 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -177,7 +177,6 @@ def get_inquiry_len(inq_trigs): stop = first_trigger + num_samples_per_inq + buffer_samples reshaped_data.append(eeg_data[:, start:stop]) - return np.stack(reshaped_data, 1), labels, reshaped_trigger_timing @staticmethod @@ -228,6 +227,7 @@ def extract_trials( f'prestimulus_samples: {prestimulus_samples}, samples_per_trial: {samples_per_trial} \n') return np.stack(new_trials, 1) # C x T x S + class GazeReshaper: def __call__(self, trial_targetness_label: List[str], @@ -268,14 +268,14 @@ def __call__(self, # Remove the channels that we are not interested in channels_to_remove = [idx for idx, value in enumerate(channel_map) if value == 0] gaze_data = np.delete(gaze_data, channels_to_remove, axis=0) - + # Find the value closest to (& greater than) inq_start_times - gaze_data_timing = gaze_data[-1,:].tolist() - + gaze_data_timing = gaze_data[-1, :].tolist() + start_times = [] for times in inq_start_times: temp = list(filter(lambda x: x > times, gaze_data_timing)) - if len(temp) > 0: + if len(temp) > 0: start_times.append(temp[0]) triggers = [] @@ -297,58 +297,58 @@ def __call__(self, # Merge the inquiries if they have the same target letter: for i, inquiry_index in enumerate(triggers): start = inquiry_index - stop = int(inquiry_index + (sample_rate * 3)) # (60 samples * 3 seconds) + stop = int(inquiry_index + (sample_rate * 3)) # (60 samples * 3 seconds) # Check if the data exists for the inquiry: - if stop > len(gaze_data[0,:]): + if stop > len(gaze_data[0, :]): continue - - reshaped_data.append(gaze_data[:, start:stop]) + + reshaped_data.append(gaze_data[:, start:stop]) # (Optional) extracted data (Inquiries x Channels x Samples) # Populate the dict by appending the inquiry to the correct key: data_by_targets[labels[i]].append(gaze_data[:, start:stop]) - + # After populating, flatten the arrays in the dictionary to (Channels x Samples): for symbol in symbol_set: if len(data_by_targets[symbol]) > 0: - data_by_targets[symbol] = np.transpose(np.array(data_by_targets[symbol]), (1,0,2)) + data_by_targets[symbol] = np.transpose(np.array(data_by_targets[symbol]), (1, 0, 2)) data_by_targets[symbol] = np.reshape(data_by_targets[symbol], (len(data_by_targets[symbol]), -1)) # TODO: Note that this is a workaround to the issue of having different number of targetness in # each symbol. If a target symbol is prompted more than once, the data is appended to the dict as a list. # Which is why we need to convert it to a (np.ndarray) and flatten the dimensions. - # This is not ideal, but it works for now. + # This is not ideal, but it works for now. # return np.stack(reshaped_data, 0), labels return data_by_targets - + @staticmethod def extract_eye_info(data): """ Rearrange the dimensions of gaze inquiry data and reshape it to num_channels x num_samples Extract Left and Right Eye info from data. Remove all blinks, do necessary preprocessing. - + Args: data (np.ndarray): Data in shape of num_channels x num_samples - + Returns: left_eye (np.ndarray), left_pupil (List(float)) right_eye (np.ndarray), right_pupil (List(float)) """ # Extract samples from channels - lx = data[2,:] - ly = data[3,:] - left_pupil = data[4,:] # Use if needed + lx = data[2, :] + ly = data[3, :] + left_pupil = data[4, :] # Use if needed - rx = data[5,:] - ry = data[6,:] - right_pupil = data[7,:] + rx = data[5, :] + ry = data[6, :] + right_pupil = data[7, :] - left_eye = np.vstack((np.array(lx), np.array(ly))).T + left_eye = np.vstack((np.array(lx), np.array(ly))).T right_eye = np.vstack((np.array(rx), np.array(ry))).T - # Remove ALL blinks (i.e. Nan values) regardless of which eye it occurs. - # Make sure that the number of samples are the same for both eyes + # Remove ALL blinks (i.e. Nan values) regardless of which eye it occurs. + # Make sure that the number of samples are the same for both eyes left_eye_nan_idx = np.isnan(left_eye).any(axis=1) left_eye = left_eye[~left_eye_nan_idx] right_eye = right_eye[~left_eye_nan_idx] @@ -361,10 +361,11 @@ def extract_eye_info(data): len(left_eye) != len(right_eye) except AssertionError: raise SignalException( - f'Number of samples for left and right eye are not the same.') + 'Number of samples for left and right eye are not the same.') return left_eye, right_eye + class TrialReshaper(Reshaper): def __call__(self, trial_targetness_label: list, diff --git a/bcipy/helpers/triggers.py b/bcipy/helpers/triggers.py index f668aa2ec..7a6b965e6 100644 --- a/bcipy/helpers/triggers.py +++ b/bcipy/helpers/triggers.py @@ -378,7 +378,11 @@ def trigger_decoder(trigger_path: str, remove_pre_fixation: bool = True, offset: exclusion += [TriggerType.FIXATION, TriggerType.PROMPT, TriggerType.SYSTEM, TriggerType.OFFSET] else: exclusion += [TriggerType.SYSTEM] - triggers = TriggerHandler.load(trigger_path, offset=offset, exclusion=exclusion, apply_system_offset=apply_system_offset) + triggers = TriggerHandler.load( + trigger_path, + offset=offset, + exclusion=exclusion, + apply_system_offset=apply_system_offset) # from the stimuli array, pull out the symbol information trigger_type = [trigger.type.value for trigger in triggers] diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index 333935294..d9f10d82d 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -4,7 +4,6 @@ from pathlib import Path from matplotlib.figure import Figure from matplotlib.patches import Ellipse -import matplotlib.pyplot as plt from bcipy.config import (TRIGGER_FILENAME, RAW_DATA_FILENAME, DEFAULT_DEVICE_SPEC_FILENAME, @@ -157,13 +156,13 @@ def visualize_gaze( levels=10, cmap="mako", colorbar=True) - + if raw_plot: ax.scatter(lx, ly, c='r', s=1) ax.scatter(rx, ry, c='b', s=1) plt.title(f'{title}Plot') - + if save_path is not None: plt.savefig(f"{save_path}/{title.lower().replace(' ', '_')}plot.png", dpi=fig.dpi) @@ -172,8 +171,9 @@ def visualize_gaze( return fig + def visualize_gaze_inquiries( - left_eye, + left_eye, right_eye, means=None, covs=None, @@ -203,17 +203,17 @@ def visualize_gaze_inquiries( img = plt.imread(img_path) # transform the eye data to fit the display. remove > 1 values < 0 values and flip the y axis - lx = np.clip(left_eye[:,0], 0, 1) - ly = np.clip(left_eye[:,1], 0, 1) - rx = np.clip(right_eye[:,0], 0, 1) - ry = np.clip(right_eye[:,1], 0, 1) + lx = np.clip(left_eye[:, 0], 0, 1) + ly = np.clip(left_eye[:, 1], 0, 1) + rx = np.clip(right_eye[:, 0], 0, 1) + ry = np.clip(right_eye[:, 1], 0, 1) ly = 1 - ly ry = 1 - ry if means is not None: - means[:,0] = np.clip(means[:,0], 0, 1) - means[:,1] = np.clip(means[:,1], 0, 1) - means[:,1] = 1 - means[:,1] + means[:, 0] = np.clip(means[:, 0], 0, 1) + means[:, 1] = np.clip(means[:, 1], 0, 1) + means[:, 1] = 1 - means[:, 1] # scale the eye data to the image fig, ax = plt.subplots() @@ -236,7 +236,7 @@ def visualize_gaze_inquiries( levels=10, cmap="mako", colorbar=True) - + if raw_plot: # ax.scatter(lx, ly, c='lightcoral', s=1) ax.scatter(rx, ry, c='bisque', s=1) @@ -254,12 +254,11 @@ def visualize_gaze_inquiries( ell.set_clip_box(ax) ell.set_alpha(0.5) ax.add_artist(ell) - - # ax.scatter(means[:,0], means[:,1], c='yellow', s=20, marker='^') + # ax.scatter(means[:,0], means[:,1], c='yellow', s=20, marker='^') plt.title(f'{title}Plot') - + if save_path is not None: plt.savefig(f"{save_path}/{title.lower().replace(' ', '_')}plot.png", dpi=fig.dpi) diff --git a/bcipy/signal/model/fusion_model.py b/bcipy/signal/model/fusion_model.py index 5da04ad68..62f88fab4 100644 --- a/bcipy/signal/model/fusion_model.py +++ b/bcipy/signal/model/fusion_model.py @@ -1,43 +1,38 @@ -import logging -from pathlib import Path -from typing import Tuple - import numpy as np -import pandas as pd -from matplotlib import pyplot as plt from sklearn.mixture import GaussianMixture from bcipy.helpers.stimuli import GazeReshaper + class GazeModel(): reshaper = GazeReshaper() def __init__(self, num_components=3): self.num_components = num_components # number of gaussians to fit - + def fit(self, train_data: np.array): model = GaussianMixture(n_components=2, random_state=0, init_params='kmeans') model.fit(train_data) self.model = model return self - + def get_scores(self, test_data: np.array): ''' Compute the log-likelihood of each sample. Compute the mean and covariance of each mixture component. ''' - + scores = self.model.score_samples(test_data) means = self.model.means_ covs = self.model.covariances_ - + return scores, means, covs - + def predict(self, scores: np.array): ''' Predict the labels for the test data. ''' # Compute over log-likelihood scores # Get the argmax of the scores - - #return predictions + + # return predictions diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 93496e7cb..49a1d1986 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -16,7 +16,7 @@ from bcipy.helpers.stimuli import play_sound, update_inquiry_timing from bcipy.helpers.system_utils import report_execution_time from bcipy.helpers.symbols import alphabet -from bcipy.helpers.triggers import TriggerType, trigger_decoder, TriggerHandler +from bcipy.helpers.triggers import TriggerType, trigger_decoder from bcipy.helpers.visualization import visualize_erp, visualize_gaze, visualize_gaze_inquiries from bcipy.signal.model.base_model import SignalModel from bcipy.signal.model.pca_rda_kde import PcaRdaKdeModel @@ -24,9 +24,6 @@ from bcipy.signal.process import filter_inquiries, get_default_transform import numpy as np from matplotlib.figure import Figure -import matplotlib.pyplot as plt -from matplotlib import image -import seaborn as sns from sklearn.metrics import balanced_accuracy_score from sklearn.model_selection import train_test_split import bcipy.acquisition.devices as devices @@ -38,6 +35,7 @@ IMG_PATH = f'{STATIC_IMAGES_PATH}/main/matrix_grid.png' # IMG_PATH = f'{STATIC_IMAGES_PATH}/main/rsvp.png' + def subset_data(data: np.ndarray, labels: np.ndarray, test_size: float, random_state=0): """Performs a train/test split on the provided data and labels, accounting for the current shape convention (channel dimension in front, instead of batch dimension in front). @@ -114,14 +112,16 @@ def offline_analysis( if '+' in acq_mode: if 'eyetracker' in acq_mode.lower(): # find the eyetracker data file with the prefix of EYE_TRACKER_FILENAME_PREFIX - eye_tracker_file = [ f.name for f in Path(data_folder).iterdir() if f.name.startswith(EYE_TRACKER_FILENAME_PREFIX)] - assert len(eye_tracker_file) == 1, f"Found {len(eye_tracker_file)} eyetracker files in {data_folder}. Expected 1." + eye_tracker_file = [f.name for f in Path(data_folder).iterdir() + if f.name.startswith(EYE_TRACKER_FILENAME_PREFIX)] + assert len( + eye_tracker_file) == 1, f"Found {len(eye_tracker_file)} eyetracker files in {data_folder}. Expected 1." data_file_paths.extend(eye_tracker_file) else: raise ValueError(f"Unsupported acquisition mode: {acq_mode}. Eyetracker must be included.") if 'eeg' in acq_mode.lower(): # find the eeg data file with the prefix of EEG_FILENAME_PREFIX - eeg_file = [ f.name for f in Path(data_folder).iterdir() if f.name.startswith(RAW_DATA_FILENAME)] + eeg_file = [f.name for f in Path(data_folder).iterdir() if f.name.startswith(RAW_DATA_FILENAME)] assert len(eeg_file) == 1, f"Found {len(eeg_file)} EEG files in {data_folder}. Expected 1." data_file_paths.extend(eeg_file) else: @@ -247,13 +247,13 @@ def offline_analysis( show=True, raw_plot=True, ) - + channels = mode_data.channels type_amp = mode_data.daq_type sample_rate = mode_data.sample_rate log.info(f"Channels read from csv: {channels}") - log.info(f"Device type: {type_amp}, fs={sample_rate}") + log.info(f"Device type: {type_amp}, fs={sample_rate}") channel_map = analysis_channels(channels, device_spec) channels_used = [channels[i] for i, keep in enumerate(channel_map) if keep == 1] @@ -265,42 +265,47 @@ def offline_analysis( # Process triggers.txt files (again!) trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( - remove_pre_fixation = False, + remove_pre_fixation=False, apply_system_offset=False, trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", - exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION, TriggerType.SYSTEM, TriggerType.OFFSET] + exclusion=[ + TriggerType.PREVIEW, + TriggerType.EVENT, + TriggerType.FIXATION, + TriggerType.SYSTEM, + TriggerType.OFFSET] ) ''' Trigger_timing includes PROMPT and excludes FIXATION ''' - + # Use trigger_timing to generate time windows for each letter flashing # Take every 10th trigger as the start point of timing. # trigger_targetness keeps the PROMPT info, use it to find the target symbol. target_symbols = trigger_symbols[0::11] # target symbols inq_start = trigger_timing[1::11] # start of each inquiry (here we jump over prompts) - # Find the inquiries starting by the inq_start_times, (9, 100, 180): + # Find the inquiries starting by the inq_start_times, (9, 100, 180): inquiries = model.reshaper( - trial_targetness_label=trigger_targetness, - inq_start_times=inq_start, - target_symbols = target_symbols, - gaze_data=data, - sample_rate=sample_rate, - trials_per_inquiry=trials_per_inquiry, - poststimulus_length=poststim_length, - prestimulus_length=prestim_length, - transformation_buffer=buffer + trial_targetness_label=trigger_targetness, + inq_start_times=inq_start, + target_symbols=target_symbols, + gaze_data=data, + sample_rate=sample_rate, + trials_per_inquiry=trials_per_inquiry, + poststimulus_length=poststim_length, + prestimulus_length=prestim_length, + transformation_buffer=buffer ) symbol_set = alphabet() - # Extract the data for each target label and each eye separately. + # Extract the data for each target label and each eye separately. # Apply preprocessing: preprocessed_data = {i: [] for i in symbol_set} for i in symbol_set: # Skip if there's no evidence for this symbol: if len(inquiries[i]) == 0: continue - + left_eye, right_eye = model.reshaper.extract_eye_info(inquiries[i]) preprocessed_data[i] = np.array([left_eye, right_eye]) # Channels x Sample Size x Dimensions(x,y) @@ -326,8 +331,7 @@ def offline_analysis( save_path=None, show=True, raw_plot=True, - ) - + ) if alert_finished: play_sound(f"{STATIC_AUDIO_PATH}/{parameters['alert_sound_file']}") From eaf4bf7b1929321bc017e586d2f618fe208f4f01 Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Sun, 17 Sep 2023 17:06:45 -0400 Subject: [PATCH 088/330] Refactored replay_session into Simulator object basic functionality --- bcipy/simulator/__init__.py | 0 bcipy/simulator/helpers/signal_helpers.py | 135 ++++++++++++++++++++ bcipy/simulator/helpers/sim_viz.py | 68 ++++++++++ bcipy/simulator/main.py | 52 ++++++++ bcipy/simulator/sim_copy_phrase.py | 148 ++++++++++++++++++++++ bcipy/simulator/sim_factory.py | 29 +++++ bcipy/simulator/sim_parameters.json | 24 ++++ bcipy/simulator/simulator_base.py | 36 ++++++ 8 files changed, 492 insertions(+) create mode 100644 bcipy/simulator/__init__.py create mode 100644 bcipy/simulator/helpers/signal_helpers.py create mode 100644 bcipy/simulator/helpers/sim_viz.py create mode 100644 bcipy/simulator/main.py create mode 100644 bcipy/simulator/sim_copy_phrase.py create mode 100644 bcipy/simulator/sim_factory.py create mode 100644 bcipy/simulator/sim_parameters.json create mode 100644 bcipy/simulator/simulator_base.py diff --git a/bcipy/simulator/__init__.py b/bcipy/simulator/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/bcipy/simulator/helpers/signal_helpers.py b/bcipy/simulator/helpers/signal_helpers.py new file mode 100644 index 000000000..698cd94ca --- /dev/null +++ b/bcipy/simulator/helpers/signal_helpers.py @@ -0,0 +1,135 @@ +import json +import logging as logger +from dataclasses import dataclass +from typing import Tuple +from pathlib import Path + +import matplotlib.pyplot as plt +import numpy as np +import pandas as pd +import seaborn as sns +from bcipy.config import ( + RAW_DATA_FILENAME, + TRIGGER_FILENAME, + DEFAULT_PARAMETER_FILENAME, SESSION_DATA_FILENAME, + DEFAULT_DEVICE_SPEC_FILENAME, +) +from bcipy.helpers.acquisition import analysis_channels +import bcipy.acquisition.devices as devices +from bcipy.helpers.list import grouper +from bcipy.helpers.load import load_json_parameters, load_raw_data, load_experimental_data +from bcipy.helpers.session import read_session, evidence_records +from bcipy.helpers.stimuli import update_inquiry_timing +from bcipy.helpers.triggers import TriggerType, trigger_decoder +from bcipy.helpers.symbols import alphabet +from bcipy.signal.model import PcaRdaKdeModel +from bcipy.signal.process import get_default_transform, filter_inquiries, ERPTransformParams + +logger.getLogger().setLevel(logger.INFO) +log = logger.getLogger(__name__) + + +@dataclass() +class ExtractedExperimentData: # TODO clean up design + inquiries: np.ndarray + trials: np.ndarray + labels: list + inquiry_timing: list + + decoded_triggers: tuple + + +def process_raw_data_for_model(data_folder, parameters, model_class=PcaRdaKdeModel) -> ExtractedExperimentData: + + assert parameters, "Parameters are required for offline analysis." + if not data_folder: + data_folder = load_experimental_data() + + # extract relevant session information from parameters file + trial_window = parameters.get("trial_window") + window_length = trial_window[1] - trial_window[0] + + prestim_length = parameters.get("prestim_length") + trials_per_inquiry = parameters.get("stim_length") + # The task buffer length defines the min time between two inquiries + # We use half of that time here to buffer during transforms + buffer = int(parameters.get("task_buffer_length") / 2) + raw_data_file = f"{RAW_DATA_FILENAME}.csv" + + # get signal filtering information + transform_params = parameters.instantiate(ERPTransformParams) + downsample_rate = transform_params.down_sampling_rate + static_offset = parameters.get("static_trigger_offset") + + log.info( + f"\nData processing settings: \n" + f"{str(transform_params)} \n" + f"Trial Window: {trial_window[0]}-{trial_window[1]}s, " + f"Prestimulus Buffer: {prestim_length}s, Poststimulus Buffer: {buffer}s \n" + f"Static offset: {static_offset}" + ) + + # Load raw data + raw_data = load_raw_data(Path(data_folder, raw_data_file)) + channels = raw_data.channels + type_amp = raw_data.daq_type + sample_rate = raw_data.sample_rate + + devices.load(Path(data_folder, DEFAULT_DEVICE_SPEC_FILENAME)) + device_spec = devices.preconfigured_device(raw_data.daq_type) + + # setup filtering + default_transform = get_default_transform( + sample_rate_hz=sample_rate, + notch_freq_hz=transform_params.notch_filter_frequency, + bandpass_low=transform_params.filter_low, + bandpass_high=transform_params.filter_high, + bandpass_order=transform_params.filter_order, + downsample_factor=transform_params.down_sampling_rate, + ) + + log.info(f"Channels read from csv: {channels}") + log.info(f"Device type: {type_amp}, fs={sample_rate}") + + k_folds = parameters.get("k_folds") + model = model_class(k_folds=k_folds) + + # Process triggers.txt files + trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( + offset=static_offset, + trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", + exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], + ) + + # update the trigger timing list to account for the initial trial window + corrected_trigger_timing = [timing + trial_window[0] for timing in trigger_timing] + + # Channel map can be checked from raw_data.csv file or the devices.json located in the acquisition module + # The timestamp column [0] is already excluded. + channel_map = analysis_channels(channels, device_spec) + channels_used = [channels[i] for i, keep in enumerate(channel_map) if keep == 1] + log.info(f'Channels used in analysis: {channels_used}') + + data, fs = raw_data.by_channel() + + inquiries, inquiry_labels, inquiry_timing = model.reshaper( + trial_targetness_label=trigger_targetness, + timing_info=corrected_trigger_timing, + eeg_data=data, + sample_rate=sample_rate, + trials_per_inquiry=trials_per_inquiry, + channel_map=channel_map, + poststimulus_length=window_length, + prestimulus_length=prestim_length, + transformation_buffer=buffer, + ) + + inquiries, fs = filter_inquiries(inquiries, default_transform, sample_rate) + inquiry_timing = update_inquiry_timing(inquiry_timing, downsample_rate) + trial_duration_samples = int(window_length * fs) + trials = model.reshaper.extract_trials(inquiries, trial_duration_samples, inquiry_timing) + + # define the training classes using integers, where 0=nontargets/1=targets + # labels = inquiry_labels.flatten() + + return ExtractedExperimentData(inquiries, trials, inquiry_labels, inquiry_timing, (trigger_targetness, trigger_timing, trigger_symbols)) diff --git a/bcipy/simulator/helpers/sim_viz.py b/bcipy/simulator/helpers/sim_viz.py new file mode 100644 index 000000000..4c94805a4 --- /dev/null +++ b/bcipy/simulator/helpers/sim_viz.py @@ -0,0 +1,68 @@ +import logging as logger + +import matplotlib.pyplot as plt +import numpy as np +import pandas as pd +import seaborn as sns + +from bcipy.helpers.parameters import Parameters + +logger.getLogger().setLevel(logger.INFO) + + +def plot_comparison_records(records, outdir, title="response_values", y_scale="log"): + df = pd.DataFrame.from_records(records) + ax = sns.stripplot( + x="which_model", + y="response_value", + data=df, + order=["old_target", "new_target", "old_non_target", "new_non_target"], + ) + sns.boxplot( + showmeans=True, + meanline=True, + meanprops={"color": "k", "ls": "-", "lw": 2}, + medianprops={"visible": False}, + whiskerprops={"visible": False}, + zorder=10, + x="which_model", + y="response_value", + data=df, + showfliers=False, + showbox=False, + showcaps=False, + ax=ax, + order=["old_target", "new_target", "old_non_target", "new_non_target"], + ) + + ax.set(yscale=y_scale) + plt.savefig(outdir / f"{title}.stripplot.png", dpi=150, bbox_inches="tight") + plt.close() + ax = sns.boxplot( + x="which_model", + y="response_value", + data=df, + order=["old_target", "new_target", "old_non_target", "new_non_target"], + ) + ax.set(yscale=y_scale) + plt.savefig(outdir / f"{title}.boxplot.png", dpi=150, bbox_inches="tight") + + +def plot_replay_comparison(new_target_eeg_evidence: np.ndarray, + new_non_target_eeg_evidence: np.ndarray, + old_target_eeg_evidence: np.ndarray, + old_non_target_eeg_evidence: np.ndarray, + outdir: str, + parameters: Parameters, + ) -> None: + def convert_to_records(arr, key_value, key_name="which_model", value_name="response_value") -> [dict]: + return [{key_name: key_value, value_name: val} for val in arr] + + records = [] + + records.extend(convert_to_records(new_target_eeg_evidence, "new_target")) + records.extend(convert_to_records(new_non_target_eeg_evidence, "new_non_target")) + records.extend(convert_to_records(old_target_eeg_evidence, "old_target")) + records.extend(convert_to_records(old_non_target_eeg_evidence, "old_non_target")) + + plot_comparison_records(records, outdir, y_scale="log") diff --git a/bcipy/simulator/main.py b/bcipy/simulator/main.py new file mode 100644 index 000000000..360ad8299 --- /dev/null +++ b/bcipy/simulator/main.py @@ -0,0 +1,52 @@ +import argparse +from pathlib import Path + +from bcipy.helpers.load import load_json_parameters +from bcipy.simulator.sim_factory import SimulationFactory + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + parser.add_argument( + "-d", + "--data_folders", + action="append", + type=Path, + required=True, + help="Session data folders to be processed. This argument can be repeated to accumulate sessions data.") + parser.add_argument( + "-sm", + "--smodel_files", + action="append", + type=Path, + required=True, + help="Signal models to be used") + parser.add_argument( + "-lm", + "--lmodel_file", + action="append", + type=Path, + required=False, + help="Language models to be used") + parser.add_argument("-o", "--out_dir", type=Path, default=None) + parser.add_argument( + "-p", + "--parameter_path", + type=Path, + default=None, + help="Parameter file to be used for replay. If none, the session parameter file will be used.") + + args = vars(parser.parse_args()) + + # assert len(set(args['data_folders'])) == len(args.data_folders), "Duplicated data folders" + + if args['out_dir'] is None: + args['out_dir'] = Path(__file__).resolve().parent + + # Load parameters + sim_parameters = load_json_parameters("bcipy/simulator/sim_parameters.json", value_cast=True) + sim_task = sim_parameters.get("sim_task") + args['sim_task'] = sim_task + + simulator = SimulationFactory.create(**args) + simulator.run() diff --git a/bcipy/simulator/sim_copy_phrase.py b/bcipy/simulator/sim_copy_phrase.py new file mode 100644 index 000000000..95300dc87 --- /dev/null +++ b/bcipy/simulator/sim_copy_phrase.py @@ -0,0 +1,148 @@ +from typing import Optional + +import numpy as np + +from bcipy.config import SESSION_DATA_FILENAME +from bcipy.helpers import load +from bcipy.helpers.list import grouper +from bcipy.helpers.session import evidence_records, read_session +from bcipy.helpers.symbols import alphabet +from bcipy.signal.model import PcaRdaKdeModel +from bcipy.simulator.helpers.signal_helpers import process_raw_data_for_model, ExtractedExperimentData +from bcipy.simulator.helpers.sim_viz import plot_replay_comparison +from bcipy.simulator.simulator_base import Simulator, SimulatorData + + +class SimulatorCopyPhraseReplay(Simulator): + """Simulator. + + Base class for BciPy Simulations. + + Requirements: + - run closed loop simulation of {TaskType} with {data} with {simulation_params} + """ + + def __init__(self, parameter_path, save_dir, signal_models: [tuple], language_models, replay_data_path=None, + verbose=False): + super(SimulatorCopyPhraseReplay, self).__init__() + + self.parameters = self.load_parameters(parameter_path) + self.save_dir = save_dir + self.signal_models = signal_models + self.language_models = language_models + self.replay_data_path = replay_data_path + + self.symbol_set = alphabet() + self.write_output = False + self.data_loader = None + + self.signal_models_classes = [PcaRdaKdeModel for m in self.signal_models] # Hardcoded rn + + def run(self): + self.init_data_loader() + + self.logger.info(f"Initialized data loader") + + # TODO need to support multimodal and language models + model_file, model_class = self.signal_models[0], self.signal_models_classes[0] # hardcoded rn + model = model_class(self.parameters.get("k_folds")) + model = model.load(model_file) + + self.logger.info(f"Loaded model from {model_file}, with model_class {model_class}") + + target_eeg_evidences, non_target_eeg_evidences = [], [] + while not self.data_loader.is_end(): + inquiry_trials, this_inquiry_letters, this_inquiry_labels = self.data_loader.next() + target_eeg_evidence, non_target_eeg_evidence = [], [] + response = model.predict(inquiry_trials, this_inquiry_letters, symbol_set=self.symbol_set) + + symbol_letter_idx_map = [self.symbol_set.index(letter) for letter in this_inquiry_letters] + for i, label in enumerate(this_inquiry_labels): + if label: + target_eeg_evidence.append(response[symbol_letter_idx_map[i]]) + else: + non_target_eeg_evidence.append(response[symbol_letter_idx_map[i]]) + + target_eeg_evidences.append(target_eeg_evidence) + non_target_eeg_evidences.append(non_target_eeg_evidence) + + target_eeg_evidences, non_target_eeg_evidences = np.concatenate(target_eeg_evidences), np.concatenate( + non_target_eeg_evidences) + + # Get target and non_target eeg values from actual experiment in session.json for comparison + session_records = evidence_records(read_session(self.replay_data_path / SESSION_DATA_FILENAME)) + session_target_eeg = np.array([record.eeg for record in session_records if record.is_target]) + session_non_target_eeg = np.array([record.eeg for record in session_records if not record.is_target]) + + # note this flattens any grouping of inquiries which might be problem for future visualizations + + # visualizing comparison of results + plot_replay_comparison(target_eeg_evidences, non_target_eeg_evidences, session_target_eeg, + session_non_target_eeg, self.save_dir, self.parameters) + + self.logger.info(f"Plotted comparison charts " + f"\n New: {len(target_eeg_evidences)} target_eeg_evidences | {len(non_target_eeg_evidences)} non_target_eeg_evidences " + f"\n Old: {len(session_target_eeg)} target_eeg_evidences | {len(session_non_target_eeg)} non_target_eeg_evidences ") + + def get_param(self, name): + return self.parameters.get(name, None) + + def init_data_loader(self): + + if self.replay_data_path: + self.data_loader = ReplayDataLoader(self.replay_data_path, self.parameters) + else: + pass # TODO sampling data logic + pass + + def load_parameters(self, path): + # TODO validate parameters + parameters = load.load_json_parameters(path, value_cast=True) + sim_parameters = load.load_json_parameters( + "bcipy/simulator/sim_parameters.json", value_cast=True) + + parameters.add_missing_items(sim_parameters) + return parameters + + +class ReplayDataLoader(SimulatorData): + + def __init__(self, source_path, parameters): + self.source_path = source_path + self.parameters = parameters + self.verbose = False + + self.inquiry_worth_of_letters = None + self.inquiry_worth_of_trials = None + self.data: Optional[ExtractedExperimentData] = None + + self.load() + + self.i = 0 + + def load(self): + experiment_data = process_raw_data_for_model(self.source_path, self.parameters) + + # formatting data into inquiries + trigger_targetness, trigger_timing, trigger_symbols = experiment_data.decoded_triggers + self.inquiry_worth_of_trials = np.split(experiment_data.trials, experiment_data.inquiries.shape[1], 1) + self.inquiry_worth_of_letters = [list(group) for group in + grouper(trigger_symbols, self.parameters.get('stim_length'), + incomplete="ignore")] + + self.data = experiment_data + + def next(self): + if self.i < len(self.inquiry_worth_of_letters): + cur_trials = self.inquiry_worth_of_trials[self.i] + cur_letters = self.inquiry_worth_of_letters[self.i] + cur_labels = self.data.labels[self.i] + + self.i += 1 + + return cur_trials, cur_letters, cur_labels # TODO turn into dataclass + + return None, None, None + + def is_end(self): + return self.i >= len(self.inquiry_worth_of_letters) diff --git a/bcipy/simulator/sim_factory.py b/bcipy/simulator/sim_factory.py new file mode 100644 index 000000000..68c83a2aa --- /dev/null +++ b/bcipy/simulator/sim_factory.py @@ -0,0 +1,29 @@ +from pathlib import Path + +from bcipy.config import DEFAULT_PARAMETER_FILENAME +from bcipy.simulator.sim_copy_phrase import SimulatorCopyPhraseReplay +from bcipy.simulator.simulator_base import Simulator + + +class SimulationFactory: + + @staticmethod + def create( + sim_task="", + parameter_path="", + smodel_files=None, + lmodel_files=None, + data_folders=None, + out_dir="", + **kwargs) -> Simulator: + if sim_task == 'RSVP_COPY_PHRASE': + # TODO validate arguments + + if not parameter_path: + data_folder = data_folders[0] + parameter_path = Path(data_folder, DEFAULT_PARAMETER_FILENAME) + + return SimulatorCopyPhraseReplay(parameter_path, out_dir, smodel_files, lmodel_files, data_folders[0], + verbose=kwargs.get('verbose', False)) + + # parameter_path, save_dir, signal_models: [tuple], language_models, replay_data_path=None, diff --git a/bcipy/simulator/sim_parameters.json b/bcipy/simulator/sim_parameters.json new file mode 100644 index 000000000..301ab6203 --- /dev/null +++ b/bcipy/simulator/sim_parameters.json @@ -0,0 +1,24 @@ +{ + "sim_task": { + "value": "RSVP_COPY_PHRASE", + "section": "sim_config", + "readableName": "Simulation Task", + "helpTip": "Specifies Task to simulate", + "recommended_values": [ + "RSVP_COPY_PHRASE", + "RSVP_CALIBRATION" + ], + "type": "str" + }, + "sim_sample_mode": { + "value": "0", + "section": "sim_config", + "readableName": "Simulation Sample Mode", + "helpTip": "Specifies method for sampling based on sampling registry", + "recommended_values": [ + "0", + "1" + ], + "type": "str" + } +} \ No newline at end of file diff --git a/bcipy/simulator/simulator_base.py b/bcipy/simulator/simulator_base.py new file mode 100644 index 000000000..283000da3 --- /dev/null +++ b/bcipy/simulator/simulator_base.py @@ -0,0 +1,36 @@ +import logging + +from abc import ABC, abstractmethod + + +class Simulator(ABC): + """Simulator. + + Base class for BciPy Simulations. + + Requirements: + - run closed loop simulation of {TaskType} with {data} with {simulation_params} + """ + + def __init__(self): + super(Simulator, self).__init__() + self.logger = logging.getLogger(__name__) + + @abstractmethod + def run(self): + ... + + @abstractmethod + def get_param(self, name): + ... + + +class SimulatorData(ABC): + + @abstractmethod + def next(self): + ... + + @abstractmethod + def is_end(self) -> bool: + ... From b3e1914833e376c3a43ce3a775010b2730a3aa85 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 19 Sep 2023 14:38:29 -0700 Subject: [PATCH 089/330] Added functions to support height layout calculations --- bcipy/display/components/layout.py | 76 +++++++++++++++++++++++------- 1 file changed, 60 insertions(+), 16 deletions(-) diff --git a/bcipy/display/components/layout.py b/bcipy/display/components/layout.py index 37750ee19..b83675afa 100644 --- a/bcipy/display/components/layout.py +++ b/bcipy/display/components/layout.py @@ -1,6 +1,6 @@ """Defines common functionality for GUI layouts.""" from enum import Enum -from typing import Protocol, Tuple +from typing import Optional, Protocol, Tuple class Container(Protocol): @@ -8,7 +8,7 @@ class Container(Protocol): size: Tuple[float, float] units: str - +# for norm units DEFAULT_LEFT = -1.0 DEFAULT_TOP = 1.0 DEFAULT_RIGHT = 1.0 @@ -43,8 +43,9 @@ def __init__(self, left: float = DEFAULT_LEFT, top: float = DEFAULT_TOP, right: float = DEFAULT_RIGHT, - bottom: float = DEFAULT_BOTTOM): - self.units = "norm" + bottom: float = DEFAULT_BOTTOM, + units: float = "norm"): + self.units = units self.parent = parent self.top = top self.left = left @@ -54,19 +55,22 @@ def __init__(self, def check_invariants(self): """Check that all invariants hold true.""" - # TODO: units could be configurable; min and max depends on units. # https://psychopy.org/general/units.html#units - assert self.units == "norm", "Position calculations assume norm units." - - assert (0.0 <= self.height <= 2.0), "Height must be in norm units." - assert (0.0 <= self.width <= 2.0), "Width must be in norm units." - assert (-1.0 <= self.top <= 1.0), "Top must be a y-value in norm units" - assert (-1.0 <= self.left <= - 1.0), "Left must be an x-value in norm units" - assert (-1.0 <= self.bottom <= - 1.0), "Bottom must be a y-value in norm units" - assert (-1.0 <= self.right <= - 1.0), "Right must be an x-value in norm units" + assert self.units in ['height', 'norm'], "Units must be 'height' or 'norm'" + if self.units == "norm": + assert (0.0 <= self.height <= 2.0), "Height must be in norm units." + assert (0.0 <= self.width <= 2.0), "Width must be in norm units." + assert (-1.0 <= self.top <= 1.0), "Top must be a y-value in norm units" + assert (-1.0 <= self.left <= + 1.0), "Left must be an x-value in norm units" + assert (-1.0 <= self.bottom <= + 1.0), "Bottom must be a y-value in norm units" + assert (-1.0 <= self.right <= + 1.0), "Right must be an x-value in norm units" + if self.units == "height": + assert (0.0 <= self.height <= 1.0), "Height must be in height units." + assert (-0.5 <= self.top <= 0.5), "Top must be a y-value in height units" + assert (-0.5 <= self.bottom <= 0.5), "Bottom must be a y-value in height units" if self.parent: assert 0 < self.width <= self.parent.size[ @@ -74,6 +78,23 @@ def check_invariants(self): assert 0 < self.height <= self.parent.size[ 1], "Height must be greater than 0 and fit within the parent height." + def scaled_size(self, height: float, window_size: Optional[Tuple[float, float]] = None) -> Tuple[float, float]: + """Returns the value scaled to reflect the aspect ratio of a + visual.Window. Used for creating squared stimulus""" + if self.units == 'height': + width = height + return (width, height) + + # norm units + if window_size is not None: + win_width, win_height = window_size + elif self.parent: + win_width, win_height = self.parent.size + else: + raise ValueError("window_size or parent is required") + width = (win_height / win_width) * height + return (width, height) + @property def size(self) -> Tuple[float, float]: """Layout size.""" @@ -89,6 +110,16 @@ def height(self) -> float: """Height in norm units of this component.""" return self.top - self.bottom + @property + def left_top(self) -> float: + """Top left position""" + return (self.left, self.top) + + @property + def right_bottom(self) -> float: + """Bottom right position""" + return (self.right, self.bottom) + @property def horizontal_middle(self) -> float: """x-axis value in norm units for the midpoint of this component""" @@ -249,3 +280,16 @@ def centered(width_pct: float = 1.0, height_pct: float = 1.0) -> Layout: container.resize_width(width_pct, alignment=Alignment.CENTERED) container.resize_height(height_pct, alignment=Alignment.CENTERED) return container + +def height_units(window_size: Tuple[float, float]): + """Constructs a layout with height units using the given Window + dimensions + + for an aspect ratio of 4:3 + 4 widths / 3 height = 1.333 + 1.333 / 2 = 0.667 + so, left is -0.667 and right is 0.667 + """ + win_width, win_height = window_size + right = (win_width / win_height) / 2 + return Layout(left=-right, top=0.5, right=right, bottom=-0.5, units='height') From 9bb1680bd8641bf805cf8aa8d191acde24702ea0 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 19 Sep 2023 14:39:55 -0700 Subject: [PATCH 090/330] Added module for VEP layout calculations. Added a module for visualizing layout elements. --- bcipy/display/demo/components/demo_layouts.py | 290 ++++++++++++++++++ bcipy/display/paradigm/vep/layout.py | 165 ++++++++++ 2 files changed, 455 insertions(+) create mode 100644 bcipy/display/demo/components/demo_layouts.py create mode 100644 bcipy/display/paradigm/vep/layout.py diff --git a/bcipy/display/demo/components/demo_layouts.py b/bcipy/display/demo/components/demo_layouts.py new file mode 100644 index 000000000..e115950f7 --- /dev/null +++ b/bcipy/display/demo/components/demo_layouts.py @@ -0,0 +1,290 @@ +"""Useful for viewing computed positions in a window""" +import time +from itertools import cycle +from typing import Callable, List, Tuple, Union + +from psychopy import visual +from psychopy.visual.circle import Circle +from psychopy.visual.grating import GratingStim +from psychopy.visual.line import Line +from psychopy.visual.rect import Rect + +from bcipy.display.components.layout import (Layout, at_top, centered, + height_units) +from bcipy.display.paradigm.vep.layout import BoxConfiguration, checkerboard + + +def make_window(): + """Make a sample window on which to draw.""" + return visual.Window(size=[700, 500], + fullscr=False, + screen=0, + waitBlanking=False, + color='black', + winType='pyglet') + + +def draw_boundary(win, + layout: Layout, + color: str = 'blue', + line_px: int = 5, + name: str = None): + """Display the layout's outline.""" + if name: + print(f"Drawing boundary for {name}") + top = Line(win=win, + units=layout.units, + start=(layout.left, layout.top), + end=(layout.right, layout.top), + lineColor=color, + lineWidth=line_px) + + bottom = Line(win=win, + units=layout.units, + start=(layout.left, layout.bottom), + end=(layout.right, layout.bottom), + lineColor=color, + lineWidth=line_px) + + left = Line(win=win, + units=layout.units, + start=(layout.left, layout.top), + end=(layout.left, layout.bottom), + lineColor=color, + lineWidth=line_px) + right = Line(win=win, + units=layout.units, + start=(layout.right, layout.top), + end=(layout.right, layout.bottom), + lineColor=color, + lineWidth=line_px) + border = [top, right, bottom, left] + for line in border: + print(f"Drawing line from {line.start} to {line.end}") + line.draw() + + +def draw_position(win: visual.Window, + pos: Tuple[float, float], + color: str = 'blue', + size: Union[float, Tuple[float, float]] = 0.025, + name: str = None): + """Draw the provided positions""" + if name: + print(f"Drawing position {name} at {pos}") + circle = Circle(win, pos=pos, color=color, size=size) + circle.draw() + + +def draw_positions(win: visual.Window, + positions: List[Tuple[float, float]], + color: str = 'blue', + size: Union[float, Tuple[float, float]] = 0.025): + """Draw the provided positions""" + for pos in positions: + draw_position(win, pos, color, size) + + +def show_layouts(window: visual.Window): + """Show boundaries for various layouts""" + draw_boundary(window, Layout(), 'red', 5, name='full_screen') + draw_boundary(window, + at_top(window, 0.1), + color='blue', + line_px=5, + name='task_bar') + draw_boundary(window, + centered(width_pct=0.9, height_pct=0.9), + color='green', + line_px=5, + name='main_display') + + window.flip() + + +def show_layout_coords(win: visual.Window): + """Show the points that make up a layout's envelope""" + layout = centered(width_pct=0.9, height_pct=0.9) + layout.parent = win + draw_boundary(win, layout, color='green') + draw_position(win, (layout.left, layout.top), + size=layout.scaled_size(0.025), + name='top_left') + draw_position(win, (layout.right, layout.bottom), name='bottom_right') + + Rect(win, + pos=(layout.left, layout.top), + size=layout.scaled_size(0.05), + lineColor='blue').draw() + Rect(win, + pos=(layout.right, layout.bottom), + size=layout.scaled_size(0.05), + lineColor='blue').draw() + win.flip() + + +def vep_box_quadrant(win: visual.Window, pos: Tuple[float, float], anchor: str, + color: Tuple[str, str], size: Tuple[float, float]): + + pattern1 = GratingStim(win=win, + name=f'2x2-1-{pos}-{anchor}', + tex=None, + pos=pos, + size=size, + sf=1, + phase=0.0, + color=color[0], + colorSpace='rgb', + opacity=1, + texRes=256, + interpolate=True, + depth=-1.0, + anchor=anchor) + pattern2 = GratingStim(win=win, + name=f'2x2-2-{pos}-{anchor}', + tex=None, + pos=pos, + size=size, + sf=1, + phase=0.0, + color=color[1], + colorSpace='rgb', + opacity=1, + texRes=256, + interpolate=True, + depth=-1.0, + anchor=anchor) + border = Rect(win, pos=pos, size=size, lineColor='white', anchor=anchor) + return [pattern1, pattern2, border] + + +def demo_vep(win: visual.Window): + """Demo layout elements for VEP display""" + layout = centered(width_pct=0.9, height_pct=0.9) + layout.parent = win + + box_config = BoxConfiguration(layout, num_boxes=4, height_pct=0.28) + size = box_config.box_size() + positions = box_config.positions + + draw_boundary(win, layout, color='gray', line_px=2) + draw_positions(win, + positions, + color='blue', + size=layout.scaled_size(0.025)) + + vep_colors = [('white', 'black'), ('red', 'green'), ('blue', 'yellow'), + ('orange', 'green'), ('white', 'black'), ('red', 'green')] + colors = ['#00FF80', '#FFFFB3', '#CB99FF', '#FB8072', '#80B1D3', '#FF8232'] + # draw boxes + anchor_points = ['right_bottom', 'left_bottom', 'left_top', 'right_top'] + + for i, pos in enumerate(positions): + gradient_colors: Tuple[str, str] = vep_colors[i] + + for anchor, color in zip( + anchor_points, + cycle([gradient_colors, + tuple(reversed(gradient_colors))])): + for stim in vep_box_quadrant(win, pos, anchor, color, + layout.scaled_size(0.1)): + stim.draw() + + rect = visual.TextBox2(win, + text=' ', + borderColor=colors[i], + pos=pos, + size=size) + rect.draw() + win.flip() + + +def demo_checkerboard(win: visual.Window): + """Demo checkerboard""" + layout = centered(width_pct=0.9, height_pct=0.9) + layout.parent = win + board = checkerboard(layout, + squares=16, + colors=('red', 'green'), + center=(0, 0), + board_size=layout.scaled_size(0.4)) + for square in board: + Rect(win, + pos=square.pos, + size=square.size, + lineColor='white', + fillColor=square.color).draw() + win.flip() + + +def demo_height_units(win: visual.Window): + """Demo behavior when using height units""" + norm_layout = centered(width_pct=0.85, height_pct=0.85) + draw_boundary(win, norm_layout, line_px=5, color='red') + layout = height_units(win.size) + layout.resize_width(0.85) + layout.resize_height(0.85) + draw_boundary(win, layout, line_px=3, color='green') + + circle = Circle(win, + pos=layout.center, + color='blue', + size=0.025, + units='height') + circle.draw() + rects = [ + Rect(win, + pos=layout.center, + size=layout.scaled_size(0.05), + lineColor='green', + units='height'), + # don't need to scale with height units + Rect(win, + pos=layout.left_top, + size=(0.05, 0.05), + lineColor='green', + units='height'), + # scaling the size should still work + Rect(win, + pos=layout.right_bottom, + size=layout.scaled_size(0.05), + lineColor='green', + units=layout.units) + ] + for rect in rects: + rect.draw() + win.flip() + + +def run(demo: Callable[[visual.Window], None], seconds=30): + """Run the given function for the provided duration. + + Parameters + ---------- + demo - function to run; a Window object is passed to this function. + seconds - Window is closed after this duration. + """ + try: + win = make_window() + print( + f'Displaying window for {seconds}s... (Interrupt [Ctl-C] to stop)\n' + ) + + demo(win) + while True: + time.sleep(seconds) + break + except KeyboardInterrupt: + print('Keyboard Interrupt: Demo stopped') + except Exception as other_exception: + print(f'{other_exception}') + raise other_exception + finally: + win.close() + print('Demo complete.') + + +# run(demo_vep) +# run(demo_height_units) +# run(show_layout_coords) +run(demo_checkerboard) diff --git a/bcipy/display/paradigm/vep/layout.py b/bcipy/display/paradigm/vep/layout.py new file mode 100644 index 000000000..e716a706f --- /dev/null +++ b/bcipy/display/paradigm/vep/layout.py @@ -0,0 +1,165 @@ +"""Functionality for computing positions for elements within a VEP display""" + +from itertools import cycle +from math import sqrt +from typing import List, NamedTuple, Optional, Tuple + +from bcipy.display.components.layout import Layout + + +class CheckerboardSquare(NamedTuple): + """Represents a single square within a checkerboard""" + pos: Tuple[float, float] + color: str + size: Tuple[float, float] + + def inverse(self, colors: Tuple[str, str]) -> 'CheckerboardSquare': + """Returns a new CheckerboardSquare whose color is the inverse + of the current one. + + Parameters + ---------- + colors - 2-tuple of color choices; the current square's color + must be included. + """ + assert len(colors) == 2, "Colors must be a 2-tuple" + first, second = colors + color = {first: second, second: first}[self.color] + return CheckerboardSquare(self.pos, color, self.size) + + +def checkerboard(layout: Layout, squares: int, colors: Tuple[str, str], + center: Tuple[float, float], + board_size: Tuple[float, float]) -> List[CheckerboardSquare]: + """Computes positions and colors for squares used to represent a + checkerboard pattern. Returned positions are the center point of + each square + + Parameters + ---------- + layout - layout in which the checkerboard will be rendered. Used for + positioning and scale. + squares - total number of squares in the board; must be a perfect + square (ex. 4, 9, 16, 25) + colors - tuple of color names between which to alternate + center - position of the center point of the board + board_size - size in layout units of the entire checkerboard; square + size will be computed from this. + """ + boxes_per_row = int(sqrt(squares)) + assert boxes_per_row**2 == squares, "Must be a perfect square" + + square_width = board_size[0] / boxes_per_row + square_height = board_size[1] / boxes_per_row + square_size = (square_width, square_height) + center_x, center_y = center + + # find the center position of the left_top square + move_count = int(boxes_per_row / 2) + if squares % 2 == 0: + # with an even number the center is on a vertex; adjust by half a box + move_count -= 0.5 + left = layout.left_of(center_x, square_width * move_count) + top = layout.above(center_y, square_height * move_count) + + # iterate starting at the top left and proceeding in a zig zag + # pattern to correspond with alternating checkerboard colors. + positions = [] + for row in range(boxes_per_row): + if row > 0: + top = layout.below(top, square_height) + for col in range(boxes_per_row): + positions.append((left, top)) + if col < boxes_per_row - 1: + if row % 2 == 0: + left = layout.right_of(left, square_width) + else: + left = layout.left_of(left, square_width) + return [ + CheckerboardSquare(*args) + for args in zip(positions, cycle(colors), cycle([square_size])) + ] + + +class BoxConfiguration(): + """Computes box size and positions for a VEP display. + + In this configuration, there is one row on top and one on the bottom. + + Parameters + ---------- + num_boxes - number of boxes; currently supports 4 or 6. + layout - defines the boundaries within a Window in which the text areas + will be placed + spacing_pct - used to specify spacing between boxes within a row. + row_pct - what percentage of the height each row should use. + """ + + def __init__(self, + layout: Layout, + num_boxes: int, + spacing_pct: Optional[float] = None, + height_pct: float = 0.25): + assert num_boxes == 4 or num_boxes == 6, 'Number of boxes must be 4 or 6' + assert height_pct <= 0.5, "Rows can't take more than 50% of the height" + self.num_boxes = num_boxes + self.layout = layout + + default_spacing = {4: 0.1, 6: 0.05} + if not spacing_pct: + spacing_pct = default_spacing[num_boxes] + self.spacing_pct = spacing_pct + self.height_pct = height_pct + self._row_count = 2 + + def validate(self): + """Validate invariants""" + assert self.num_boxes == 4 or self.num_boxes == 6, 'Number of boxes must be 4 or 6' + assert self.height_pct <= 0.5, "Rows can't take more than 50% of the height" + + def box_size(self, validate: bool = True) -> Tuple[float, float]: + """Computes the size of each box""" + if validate: + self.validate() + number_per_row = self.num_boxes / self._row_count + + # left and right boxes go to the edges, with a space between each box + spaces_per_row = number_per_row - 1 + + total_box_width_pct = 1 - (self.spacing_pct * spaces_per_row) + width_pct = (total_box_width_pct / number_per_row) + + width = self.layout.width * width_pct + height = self.layout.height * self.height_pct + + return (width, height) + + @property + def units(self) -> str: + """Position units""" + return self.layout.units + + @property + def positions(self) -> List[Tuple]: + """Computes positions for text areas which contain symbols. Boxes are + positioned in the corners for 4 elements. With 6 there are also areas + in the middle. + """ + self.validate() + + # size = box_size(num, layout, spacing_pct) + width, height = self.box_size(validate=False) + + layout = self.layout + top = layout.below(layout.top, (height / 2)) + bottom = layout.above(layout.bottom, (height / 2)) + + left = layout.right_of(layout.left, width / 2) + right = layout.left_of(layout.right, width / 2) + + positions = [(left, top), (right, top), (left, bottom), + (right, bottom)] + if self.num_boxes == 6: + positions += [(layout.horizontal_middle, top), + (layout.horizontal_middle, bottom)] + return positions \ No newline at end of file From da9ad0f4aa45a573970426342caea682317e52a1 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 19 Sep 2023 14:41:00 -0700 Subject: [PATCH 091/330] Updated VEP layout to use the new calculated position information --- .../display/demo/vep/demo_calibration_vep.py | 30 ++- bcipy/display/paradigm/vep/display.py | 189 +++++++++++++----- 2 files changed, 163 insertions(+), 56 deletions(-) diff --git a/bcipy/display/demo/vep/demo_calibration_vep.py b/bcipy/display/demo/vep/demo_calibration_vep.py index de47ea459..e26bb1838 100644 --- a/bcipy/display/demo/vep/demo_calibration_vep.py +++ b/bcipy/display/demo/vep/demo_calibration_vep.py @@ -1,8 +1,10 @@ from psychopy import core, visual from bcipy.display import InformationProperties, VEPStimuliProperties +from bcipy.display.components.layout import centered from bcipy.display.components.task_bar import CalibrationTaskBar from bcipy.display.paradigm.vep.display import VEPDisplay +from bcipy.display.paradigm.vep.layout import BoxConfiguration from bcipy.helpers.clock import Clock info = InformationProperties( @@ -13,10 +15,8 @@ info_text=['VEP Display Demo'], ) -task_text = ['1/4', '2/4', '3/4', '4/4'] -task_color = [['white'], ['white'], ['white'], ['white']] -num_boxes = 4 -start_positions_for_boxes = [(-.3, -.3), (.3, -.3), (.3, .3), (-.3, .3)] +task_text = ['1/4'] #, '2/4', '3/4', '4/4'] +num_boxes = 6 win = visual.Window(size=[700, 700], fullscr=False, @@ -34,11 +34,18 @@ print(f'Monitor refresh rate: {frameRate} Hz') +start_positions_for_boxes = [(-.3, -.3), (.3, -.3), (.3, .3), (-.3, .3)] + +box_colors = ['#00FF80', '#FFFFB3', '#CB99FF', '#FB8072', '#80B1D3', '#FF8232'] +stim_color = [[color] for i, color in enumerate(box_colors) if i < num_boxes] + +box_config = BoxConfiguration(layout=centered(width_pct=0.95, height_pct=0.80), num_boxes=num_boxes) + experiment_clock = Clock() len_stimuli = 10 stimuli = VEPStimuliProperties( - stim_color=[['blue'], ['purple'], ['red'], ['green']], - stim_pos=start_positions_for_boxes, + stim_color = stim_color, + stim_pos=box_config.positions, stim_height=0.1, stim_font='Arial', timing=(1, 0.5, 4), # prompt, fixation, stimuli @@ -48,15 +55,18 @@ inquiry_count=4, current_index=0, font='Arial') -vep = VEPDisplay(win, experiment_clock, stimuli, task_bar, info) +vep = VEPDisplay(win, experiment_clock, stimuli, task_bar, info, box_config=box_config) timing = [] wait_seconds = 2 # loop over the text and colors, present the stimuli and record the timing -for (txt, color) in zip(task_text, task_color): +for txt in task_text: vep.update_task_bar(txt) - vep.schedule_to([['A', 'B'], ['Z'], ['P'], ['R', 'W']], [1, 0.5, 5], - [['blue'], ['purple'], ['red'], ['green']]) + if num_boxes == 4: + stim = [['A', 'B'], ['Z'], ['P'], ['R', 'W']] + if num_boxes == 6: + stim = [['A'], ['B'], ['Z'], ['P'], ['R'], ['W']] + vep.schedule_to(stim, [1, 0.5, 5], stim_color) timing += vep.do_inquiry() # show the wait screen, this will only happen once diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index 5b7cb1c5b..125ae8a67 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -1,4 +1,5 @@ import logging +from itertools import cycle from typing import List, Tuple import numpy as np @@ -8,9 +9,11 @@ from bcipy.display import (BCIPY_LOGO_PATH, Display, InformationProperties, VEPStimuliProperties) from bcipy.display.components.task_bar import TaskBar +from bcipy.display.paradigm.vep.layout import (BoxConfiguration, + CheckerboardSquare, + checkerboard) from bcipy.helpers.clock import Clock from bcipy.helpers.stimuli import get_fixation, resize_image -from bcipy.helpers.symbols import SPACE_CHAR from bcipy.helpers.triggers import TriggerCallback, _calibration_trigger @@ -26,6 +29,8 @@ def create_vep_codes(length=32, count=4) -> List[List[int]]: return [np.random.randint(2, size=length) for _ in range(count)] + + class VEPBox: """A class to represent a VEP box. @@ -57,15 +62,16 @@ def __init__( task_bar: TaskBar, info: InformationProperties, trigger_type: str = 'text', - codes: List[int] = None): + codes: List[int] = None, + box_config: BoxConfiguration = None): self.window = window self.window_size = self.window.size # [w, h] self.refresh_rate = round(window.getActualFrameRate()) self.logger = logging.getLogger(__name__) - # number of VEP text areas; TODO: make this configurable - self.vep_type = 4 + # number of VEP text areas + self.vep_type = box_config.num_boxes # Stimuli parameters, these are set on display in order to allow # easy updating after definition @@ -104,9 +110,18 @@ def __init__( if not codes: codes = create_vep_codes(length=self.refresh_rate, count=self.vep_type) vep_colors = [('white', 'black'), ('red', 'green'), ('blue', 'yellow'), ('orange', 'green')] - vep_box_size = .1 - self.vep = self._build_vep_corner_stimuli(self.stimuli_pos, codes, vep_colors, vep_box_size) - self.text_boxes = self._build_text_boxes(vep_box_size) + + # vep_box_size = box_config.layout.scaled_size(0.1, self.window_size) + # self.vep = self._build_vep_corner_stimuli(box_config.positions, codes, vep_colors, vep_box_size) + + vep_stim_size = box_config.layout.scaled_size(0.2, self.window_size) + self.vep = self.build_vep_stimuli(box_config=box_config, + codes=codes, + colors=cycle(vep_colors), + stim_size=vep_stim_size, + num_squares=25) + + self.text_boxes = self._build_text_boxes(box_config) self.animation_duration = 2 @@ -272,22 +287,114 @@ def _build_inquiry_stimuli(self) -> None: return self.sti + def grating_stim(self, square: CheckerboardSquare) -> GratingStim: + """Construct a grating stim from a checkerboard square""" + return GratingStim(win=self.window, + name=f"{square.color} square at {square.pos}", + tex=None, + pos=square.pos, + size=square.size, + sf=1, + phase=0.0, + color=square.color, + colorSpace='rgb', + opacity=1, + texRes=256, + interpolate=True, + depth=-1.0) + + def build_vep_stimuli(self, + box_config: BoxConfiguration, + codes: List[int], + colors: List[Tuple[str]], + stim_size: Tuple[float, float], + num_squares: int = 25) -> List[VEPBox]: + """Build the VEP flashing checkerboard squares""" + stim = [] + for pos, code, color in zip(box_config.positions, codes, colors): + board = checkerboard(box_config.layout, + squares=num_squares, + colors=color, + center=pos, + board_size=stim_size) + for square in board: + pattern1 = self.grating_stim(square) + pattern2 = self.grating_stim(square.inverse(color)) + stim.append(VEPBox(flicker=[pattern1, pattern2], code=code)) + return stim + def _build_vep_corner_stimuli( self, - pos: Tuple[float, float], + positions: List[Tuple[float, float]], codes: List[int], colors: List[Tuple[str]], - box_size: float) -> List[VEPBox]: + box_size: Tuple[float, float]) -> List[VEPBox]: """Build the corner stimuli for the VEP. Args: window: psychopy window object """ - corner_stim = [] - for pos, code, color in zip(pos, codes, colors): - corner_stim += self._build_2x2_vep_grid(pos, box_size, color, code) + stim = [] + + for pos, code, color in zip(positions, codes, colors): + # border = Rect(self.window, pos=pos, size=box_size, lineColor='white', anchor=anchor) + stim.extend(self.build_vep_grid(pos, color, + box_size, code)) + return stim + # corner_stim = [] + # for pos, code, color in zip(pos, codes, colors): + # corner_stim += self._build_2x2_vep_grid(pos, box_size, color, code) + + # return corner_stim - return corner_stim + def build_vep_grid(self, pos: Tuple[float, float], + color: Tuple[str, str], size: Tuple[float, float], code: List[int]) -> List[VEPBox]: + """Build a 2x2 VEP grid. + + Args: + position: center position of the flickering box + size: size of the box + color: colors that the box will alternate between + code: specifies the flicker pattern + + Returns: + list of VEPBox objects, each of which represents a box in a grid.""" + anchor_points = ['right_bottom', 'left_bottom', 'left_top', 'right_top'] + quadrants = [] + for anchor, color in zip( + anchor_points, + cycle([color, + tuple(reversed(color))])): + pattern1 = GratingStim(win=self.window, + name=f'2x2-1-{pos}-{anchor}', + tex=None, + pos=pos, + size=size, + sf=1, + phase=0.0, + color=color[0], + colorSpace='rgb', + opacity=1, + texRes=256, + interpolate=True, + depth=-1.0, + anchor=anchor) + pattern2 = GratingStim(win=self.window, + name=f'2x2-2-{pos}-{anchor}', + tex=None, + pos=pos, + size=size, + sf=1, + phase=0.0, + color=color[1], + colorSpace='rgb', + opacity=1, + texRes=256, + interpolate=True, + depth=-1.0, + anchor=anchor) + quadrants.append(VEPBox(flicker=[pattern1, pattern2], code=code)) + return quadrants def _build_1x1_vep_grid( self, @@ -389,40 +496,30 @@ def schedule_to(self, stimuli: List[List[str]], timing: List[List[float]], color self.stimuli_timing = timing assert colors is None or colors == self.stimuli_colors, "Colors must match the pre-configured values" - def _build_text_boxes(self, vep_box_size: float) -> List[visual.TextBox2]: - """Build the text boxes for the experiment. - - This assumes that vep_type is 4 using a 2x2 grid. Additional configurations can be added in the future. + def _build_text_boxes(self, box_config: BoxConfiguration) -> List[visual.TextBox2]: + """Build the text boxes for the experiment. These are the areas into + which the symbols are partitioned. Each text_box will have an + associated VEP Box. """ - text_boxes = [] - inc_q = int(self.vep_type / 2) - size = vep_box_size * inc_q - inc = 0 # get the last box in the grating stim per vep - for i, color in enumerate(self.stimuli_colors): - text = ' ' - first = self.vep[inc].flicker[0].pos - best_neighbor = self.vep[inc + inc_q].flicker[0].pos - - # the textbox requires the pos to be centered on the middle of the box, so - # we need to calculate the center of the vep stimulus boxes - pos = (first[0] + best_neighbor[0]) / 2, (first[1] + best_neighbor[1]) / 2 - print(f"Position of {color} text area (#{i}): {pos}") - text_boxes += [visual.TextBox2( - win=self.window, - text=text, - font=self.stimuli_font, - units='height', - pos=pos, - color=color[0], - colorSpace='rgb', - size=[size, size], - alignment='center', - anchor='center', - borderWidth=2, - borderColor=color, - letterHeight=self.stimuli_height / 2)] - inc += self.vep_type - return text_boxes + positions = box_config.positions + size = box_config.box_size() + return [ + visual.TextBox2(win=self.window, + text=" ", + font=self.stimuli_font, + pos=pos, + units=box_config.units, + color=color, + colorSpace='rgb', + size=size, + alignment='center', + anchor='center', + borderWidth=2, + borderColor=color, + letterHeight=self.stimuli_height) + for pos, color in zip(positions, cycle(self.stimuli_colors)) + ] + def _reset_text_boxes(self) -> None: """Reset text boxes. From 9be5b0640a110dc746d0759c08869c366cdccc17 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 20 Sep 2023 11:18:28 -0700 Subject: [PATCH 092/330] Code cleanup; clarified the use of timing parameters --- bcipy/display/demo/components/demo_layouts.py | 10 +- .../display/demo/vep/demo_calibration_vep.py | 6 +- bcipy/display/paradigm/vep/display.py | 211 +++--------------- 3 files changed, 39 insertions(+), 188 deletions(-) diff --git a/bcipy/display/demo/components/demo_layouts.py b/bcipy/display/demo/components/demo_layouts.py index e115950f7..077a138ea 100644 --- a/bcipy/display/demo/components/demo_layouts.py +++ b/bcipy/display/demo/components/demo_layouts.py @@ -163,7 +163,7 @@ def demo_vep(win: visual.Window): layout = centered(width_pct=0.9, height_pct=0.9) layout.parent = win - box_config = BoxConfiguration(layout, num_boxes=4, height_pct=0.28) + box_config = BoxConfiguration(layout, num_boxes=6, height_pct=0.28) size = box_config.box_size() positions = box_config.positions @@ -204,10 +204,10 @@ def demo_checkerboard(win: visual.Window): layout = centered(width_pct=0.9, height_pct=0.9) layout.parent = win board = checkerboard(layout, - squares=16, + squares=25, colors=('red', 'green'), center=(0, 0), - board_size=layout.scaled_size(0.4)) + board_size=layout.scaled_size(0.6)) for square in board: Rect(win, pos=square.pos, @@ -284,7 +284,7 @@ def run(demo: Callable[[visual.Window], None], seconds=30): print('Demo complete.') -# run(demo_vep) +run(demo_vep) # run(demo_height_units) # run(show_layout_coords) -run(demo_checkerboard) +# run(demo_checkerboard) diff --git a/bcipy/display/demo/vep/demo_calibration_vep.py b/bcipy/display/demo/vep/demo_calibration_vep.py index e26bb1838..769fa211c 100644 --- a/bcipy/display/demo/vep/demo_calibration_vep.py +++ b/bcipy/display/demo/vep/demo_calibration_vep.py @@ -16,7 +16,7 @@ ) task_text = ['1/4'] #, '2/4', '3/4', '4/4'] -num_boxes = 6 +num_boxes = 4 win = visual.Window(size=[700, 700], fullscr=False, @@ -48,7 +48,7 @@ stim_pos=box_config.positions, stim_height=0.1, stim_font='Arial', - timing=(1, 0.5, 4), # prompt, fixation, stimuli + timing=(1, 0.5, 2, 4), # prompt, fixation, stimuli stim_length=1, # how many times to stimuli ) task_bar = CalibrationTaskBar(win, @@ -66,7 +66,7 @@ stim = [['A', 'B'], ['Z'], ['P'], ['R', 'W']] if num_boxes == 6: stim = [['A'], ['B'], ['Z'], ['P'], ['R'], ['W']] - vep.schedule_to(stim, [1, 0.5, 5], stim_color) + vep.schedule_to(stimuli=stim) timing += vep.do_inquiry() # show the wait screen, this will only happen once diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index 125ae8a67..e4d1d8e85 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -5,6 +5,7 @@ import numpy as np from psychopy import core, visual from psychopy.visual.grating import GratingStim +from psychopy.visual.rect import Rect from bcipy.display import (BCIPY_LOGO_PATH, Display, InformationProperties, VEPStimuliProperties) @@ -29,8 +30,6 @@ def create_vep_codes(length=32, count=4) -> List[List[int]]: return [np.random.randint(2, size=length) for _ in range(count)] - - class VEPBox: """A class to represent a VEP box. @@ -67,7 +66,7 @@ def __init__( self.window = window self.window_size = self.window.size # [w, h] self.refresh_rate = round(window.getActualFrameRate()) - + print(f"Refresh rate: {self.refresh_rate}") self.logger = logging.getLogger(__name__) # number of VEP text areas @@ -77,7 +76,7 @@ def __init__( # easy updating after definition self.stimuli_inquiry = stimuli.stim_inquiry self.stimuli_colors = stimuli.stim_colors - self.stimuli_timing = stimuli.stim_timing + self.timing_prompt, self.timing_fixation, self.timing_animation, self.timing_stimuli = stimuli.stim_timing self.stimuli_font = stimuli.stim_font self.stimuli_height = stimuli.stim_height self.stimuli_pos = stimuli.stim_pos @@ -110,20 +109,15 @@ def __init__( if not codes: codes = create_vep_codes(length=self.refresh_rate, count=self.vep_type) vep_colors = [('white', 'black'), ('red', 'green'), ('blue', 'yellow'), ('orange', 'green')] - - # vep_box_size = box_config.layout.scaled_size(0.1, self.window_size) - # self.vep = self._build_vep_corner_stimuli(box_config.positions, codes, vep_colors, vep_box_size) - vep_stim_size = box_config.layout.scaled_size(0.2, self.window_size) self.vep = self.build_vep_stimuli(box_config=box_config, codes=codes, colors=cycle(vep_colors), stim_size=vep_stim_size, - num_squares=25) + num_squares=4) self.text_boxes = self._build_text_boxes(box_config) - self.animation_duration = 2 def check_configuration(self): """Check that configured properties are consistent""" @@ -139,7 +133,7 @@ def do_fixation(self) -> None: self.fixation.draw() self.draw_static() self.window.flip() - core.wait(self.stimuli_timing[1]) + core.wait(self.timing_fixation) def do_inquiry(self) -> List[float]: """Do the inquiry.""" @@ -178,7 +172,7 @@ def animate_inquiry(self) -> List[float]: self._build_inquiry_stimuli() self.static_clock.reset() - while self.static_clock.getTime() < self.animation_duration: + while self.static_clock.getTime() < self.timing_animation: self.draw_boxes() self.draw_animation() self.draw_static() @@ -193,7 +187,7 @@ def animate_inquiry(self) -> List[float]: 'VEP_INQUIRY') # display the inquiry self.static_clock.reset() - while self.static_clock.getTime() < self.stimuli_timing[0]: + while self.static_clock.getTime() < self.timing_prompt: self.draw_boxes() self.draw_static() self.window.flip() @@ -213,19 +207,21 @@ def draw_boxes(self) -> None: box.draw() def stimulate(self) -> List[float]: - """Stimulate. - - This is the main display function of the VEP paradigm. It is responsible for drawing the flickering stimuli. + """ + This is the main display function of the VEP paradigm. It is + responsible for drawing the flickering stimuli. - It assumes that the VEP stimuli are already constructed using the _build_vep_corner_stimuli function. - These boxes are drawn in the order they are in the list as defined in self.vep.""" + It assumes that the VEP stimuli are already constructed. These boxes + are drawn in the order they are in the list as defined in self.vep. + """ self.trigger_callback.reset() self.window.callOnFlip( self.trigger_callback.callback, self.experiment_clock, 'VEP_STIMULATE') self.static_clock.reset() - while self.static_clock.getTime() < self.stimuli_timing[-1]: + while self.static_clock.getTime() < self.timing_stimuli: + # TODO: check exit condition within the for loop for frame in range(self.refresh_rate): for box in self.vep: if box.code[frame] == 1: @@ -234,8 +230,12 @@ def stimulate(self) -> List[float]: box.frame_off() # flicker! + self.draw_boxes() self.draw_static() self.window.flip() + self.logger.debug( + f"Stimulate expected run time: {self.timing_stimuli}; actual run time: {self.static_clock.getTime()}" + ) return self.trigger_callback.timing @@ -248,15 +248,12 @@ def draw_static(self) -> None: info.draw() def update_task_bar(self, text: str = ''): - """Update Task. - - Update any task related display items not related to the inquiry. Ex. stimuli count 1/200. + """Update any task related display items not related to the inquiry. + Ex. stimuli count 1/200. - PARAMETERS: - - text: text for task - color_list: list of the colors for each stimuli - pos: position of task + Parameters + ---------- + text - text for task """ if self.task_bar: self.task_bar.update(text) @@ -287,8 +284,8 @@ def _build_inquiry_stimuli(self) -> None: return self.sti - def grating_stim(self, square: CheckerboardSquare) -> GratingStim: - """Construct a grating stim from a checkerboard square""" + def vep_square_stim(self, square: CheckerboardSquare) -> GratingStim: + """Construct a stim from a checkerboard square""" return GratingStim(win=self.window, name=f"{square.color} square at {square.pos}", tex=None, @@ -308,7 +305,7 @@ def build_vep_stimuli(self, codes: List[int], colors: List[Tuple[str]], stim_size: Tuple[float, float], - num_squares: int = 25) -> List[VEPBox]: + num_squares: int) -> List[VEPBox]: """Build the VEP flashing checkerboard squares""" stim = [] for pos, code, color in zip(box_config.positions, codes, colors): @@ -318,157 +315,11 @@ def build_vep_stimuli(self, center=pos, board_size=stim_size) for square in board: - pattern1 = self.grating_stim(square) - pattern2 = self.grating_stim(square.inverse(color)) + pattern1 = self.vep_square_stim(square) + pattern2 = self.vep_square_stim(square.inverse(color)) stim.append(VEPBox(flicker=[pattern1, pattern2], code=code)) return stim - def _build_vep_corner_stimuli( - self, - positions: List[Tuple[float, float]], - codes: List[int], - colors: List[Tuple[str]], - box_size: Tuple[float, float]) -> List[VEPBox]: - """Build the corner stimuli for the VEP. - - Args: - window: psychopy window object - """ - stim = [] - - for pos, code, color in zip(positions, codes, colors): - # border = Rect(self.window, pos=pos, size=box_size, lineColor='white', anchor=anchor) - stim.extend(self.build_vep_grid(pos, color, - box_size, code)) - return stim - # corner_stim = [] - # for pos, code, color in zip(pos, codes, colors): - # corner_stim += self._build_2x2_vep_grid(pos, box_size, color, code) - - # return corner_stim - - def build_vep_grid(self, pos: Tuple[float, float], - color: Tuple[str, str], size: Tuple[float, float], code: List[int]) -> List[VEPBox]: - """Build a 2x2 VEP grid. - - Args: - position: center position of the flickering box - size: size of the box - color: colors that the box will alternate between - code: specifies the flicker pattern - - Returns: - list of VEPBox objects, each of which represents a box in a grid.""" - anchor_points = ['right_bottom', 'left_bottom', 'left_top', 'right_top'] - quadrants = [] - for anchor, color in zip( - anchor_points, - cycle([color, - tuple(reversed(color))])): - pattern1 = GratingStim(win=self.window, - name=f'2x2-1-{pos}-{anchor}', - tex=None, - pos=pos, - size=size, - sf=1, - phase=0.0, - color=color[0], - colorSpace='rgb', - opacity=1, - texRes=256, - interpolate=True, - depth=-1.0, - anchor=anchor) - pattern2 = GratingStim(win=self.window, - name=f'2x2-2-{pos}-{anchor}', - tex=None, - pos=pos, - size=size, - sf=1, - phase=0.0, - color=color[1], - colorSpace='rgb', - opacity=1, - texRes=256, - interpolate=True, - depth=-1.0, - anchor=anchor) - quadrants.append(VEPBox(flicker=[pattern1, pattern2], code=code)) - return quadrants - - def _build_1x1_vep_grid( - self, - position: Tuple[float], - size: float, - color: str, - code: List[int]) -> List[VEPBox]: - """Build a 1x1 VEP grid. - - Args: - position: position of the flicking box - size: size of the flicking box - color: color of the flicking box - code: code to be used with the flicking box - - Returns: - list of GratingStim objects - - """ - assert len(code) >= self.refresh_rate, 'Code must be longer than refresh rate' - pattern1 = GratingStim(win=self.window, name=f'1x1-1-{position}', units='height', - tex=None, mask=None, - ori=0, pos=position, size=size, sf=1, phase=0.0, - color=color[0], colorSpace='rgb', opacity=1, - texRes=256, interpolate=True, depth=-1.0) - pattern2 = GratingStim(win=self.window, name=f'1x1-2-{position}', units='height', - tex=None, mask=None, - ori=0, pos=position, size=size, sf=1, phase=0, - color=color[1], colorSpace='rgb', opacity=1, - texRes=256, interpolate=True, depth=-2.0) - box = [VEPBox(flicker=[pattern1, pattern2], code=code)] - return box - - def _build_2x2_vep_grid(self, - position: Tuple[float], - size: float, - color: str, - code: List[int]) -> List[VEPBox]: - """Build a 2x2 VEP grid. - - Args: - position: position of the flicking box - size: size of the flicking box - color: color of the flicking box - code: code to be used with the flicking box - - Returns: - list of GratingStim objects - """ - - assert len(code) >= self.refresh_rate, 'Code must be longer than refresh rate' - starting_position = position - positions = [ - starting_position, # bottom left - [starting_position[0] + size, starting_position[1]], # bottom right - [starting_position[0] + size, starting_position[1] + size], # top right - [starting_position[0], starting_position[1] + size], # top left - ] - box = [] - for pos in positions: - pattern1 = GratingStim(win=self.window, name=f'2x2-1-{pos}', units='height', - tex=None, mask=None, - ori=0, pos=pos, size=size, sf=1, phase=0.0, - color=color[0], colorSpace='rgb', opacity=1, - texRes=256, interpolate=True, depth=-1.0) - pattern2 = GratingStim(win=self.window, name=f'2x2-2-{pos}', units='height', - tex=None, mask=None, - ori=0, pos=pos, size=size, sf=1, phase=0, - color=color[1], colorSpace='rgb', opacity=1, - texRes=256, interpolate=True, depth=-2.0) - color = (color[1], color[0]) - box += [VEPBox(flicker=[pattern1, pattern2], code=code)] - - return box def _trigger_pulse(self) -> None: """Trigger Pulse. @@ -489,11 +340,11 @@ def _trigger_pulse(self) -> None: self.first_stim_time = calibration_time[-1] self.first_run = False - def schedule_to(self, stimuli: List[List[str]], timing: List[List[float]], colors: List[List[str]]) -> None: + def schedule_to(self, stimuli: List[List[str]], timing: List[List[float]]=None, colors: List[List[str]]=None) -> None: """Schedule stimuli elements (works as a buffer). """ self.stimuli_inquiry = stimuli - self.stimuli_timing = timing + assert timing is None or timing == self.stimuli_timing, "Timing values must match pre-configured values" assert colors is None or colors == self.stimuli_colors, "Colors must match the pre-configured values" def _build_text_boxes(self, box_config: BoxConfiguration) -> List[visual.TextBox2]: From b7efdacb5df718c6bd2afce51528c143b6975206 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 22 Sep 2023 11:14:05 -0700 Subject: [PATCH 093/330] Refactored VEP display to put the details of which visual stim is used as the responsibility of a VEPStim object. Added some debugging to report on stim timing --- bcipy/display/paradigm/vep/display.py | 83 +++++++++++++++++++-------- 1 file changed, 59 insertions(+), 24 deletions(-) diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index e4d1d8e85..dccdd087b 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -30,25 +30,64 @@ def create_vep_codes(length=32, count=4) -> List[List[int]]: return [np.random.randint(2, size=length) for _ in range(count)] -class VEPBox: - """A class to represent a VEP box. - - Attributes: - flicker: A list of two GratingStim objects, one for on and one for off. - code: A list of integers representing the VEP code for this box. +class VEPStim: + """Represents a checkerboard of squares that can be flashed at a rate. + Flashing is accomplished by inverting the colors of each square. + + Parameters + ---------- + window - used to build the stimulus + code - A list of integers representing the VEP code for each box + squares - list of CheckerboardSquares with a defined position + and size """ - def __init__(self, flicker: List[Tuple[GratingStim, GratingStim]], code: List[int]) -> None: - self.flicker = flicker + def __init__(self, window: visual.Window, code: List[int], + squares: List[CheckerboardSquare]): + self.window = window self.code = code + self.colors = squares[0].color, squares[1].color + self.squares = squares + self.stim = self.build_stim(squares[0]) + + self.on_stim = [self.build_stim(square) for square in self.squares] + self.off_stim = [ + self.build_stim(square.inverse(self.colors)) + for square in self.squares + ] + + def build_stim(self, square: CheckerboardSquare) -> GratingStim: + """Constructs a single re-usable stim""" + return GratingStim(win=self.window, + tex=None, + pos=square.pos, + size=square.size, + sf=1, + phase=0.0, + color=square.color, + colorSpace='rgb', + opacity=1, + texRes=256, + interpolate=True, + depth=-1.0) + + def render_frame(self, frame: int) -> None: + """Render a given frame number, where frame refers to a code index""" + if self.code[frame] == 1: + self.frame_on() + else: + self.frame_off() def frame_on(self) -> None: - """Frame On. Draw the frame for the first grating stim on the screen.""" - self.flicker[0].draw() + """Each square is set to a starting color and draw.""" + for stim in self.on_stim: + stim.draw() def frame_off(self) -> None: - """Frame Off. Draw the frame for the second grating stim on the screen.""" - self.flicker[1].draw() + """Invert each square from its starting color and draw.""" + for stim in self.off_stim: + stim.draw() + class VEPDisplay(Display): @@ -220,19 +259,18 @@ def stimulate(self) -> List[float]: self.experiment_clock, 'VEP_STIMULATE') self.static_clock.reset() + first_frame = True while self.static_clock.getTime() < self.timing_stimuli: - # TODO: check exit condition within the for loop for frame in range(self.refresh_rate): - for box in self.vep: - if box.code[frame] == 1: - box.frame_on() - else: - box.frame_off() + for stim in self.vep: + stim.render_frame(frame) - # flicker! self.draw_boxes() self.draw_static() self.window.flip() + if first_frame: + first_frame = False + print(f"Frame duration: {self.static_clock.getTime()}") self.logger.debug( f"Stimulate expected run time: {self.timing_stimuli}; actual run time: {self.static_clock.getTime()}" ) @@ -305,7 +343,7 @@ def build_vep_stimuli(self, codes: List[int], colors: List[Tuple[str]], stim_size: Tuple[float, float], - num_squares: int) -> List[VEPBox]: + num_squares: int) -> List[VEPStim]: """Build the VEP flashing checkerboard squares""" stim = [] for pos, code, color in zip(box_config.positions, codes, colors): @@ -314,10 +352,7 @@ def build_vep_stimuli(self, colors=color, center=pos, board_size=stim_size) - for square in board: - pattern1 = self.vep_square_stim(square) - pattern2 = self.vep_square_stim(square.inverse(color)) - stim.append(VEPBox(flicker=[pattern1, pattern2], code=code)) + stim.append(VEPStim(self.window, code, board)) return stim From ae68d968effe994c11fc529446e963e0343f7539 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 22 Sep 2023 11:17:04 -0700 Subject: [PATCH 094/330] Added layout code for computing the envelope of a shape; proof of concept demo for constructing a complex polygon with holes that may be used to generate a checkerboard using fewer visual stim. --- bcipy/display/components/layout.py | 46 ++++++-- bcipy/display/demo/components/demo_layouts.py | 109 +++++++++--------- bcipy/display/paradigm/vep/layout.py | 6 + 3 files changed, 100 insertions(+), 61 deletions(-) diff --git a/bcipy/display/components/layout.py b/bcipy/display/components/layout.py index b83675afa..40815df66 100644 --- a/bcipy/display/components/layout.py +++ b/bcipy/display/components/layout.py @@ -1,6 +1,6 @@ """Defines common functionality for GUI layouts.""" from enum import Enum -from typing import Optional, Protocol, Tuple +from typing import List, Optional, Protocol, Tuple class Container(Protocol): @@ -8,6 +8,7 @@ class Container(Protocol): size: Tuple[float, float] units: str + # for norm units DEFAULT_LEFT = -1.0 DEFAULT_TOP = 1.0 @@ -56,11 +57,13 @@ def __init__(self, def check_invariants(self): """Check that all invariants hold true.""" # https://psychopy.org/general/units.html#units - assert self.units in ['height', 'norm'], "Units must be 'height' or 'norm'" + assert self.units in ['height', + 'norm'], "Units must be 'height' or 'norm'" if self.units == "norm": assert (0.0 <= self.height <= 2.0), "Height must be in norm units." assert (0.0 <= self.width <= 2.0), "Width must be in norm units." - assert (-1.0 <= self.top <= 1.0), "Top must be a y-value in norm units" + assert (-1.0 <= self.top <= + 1.0), "Top must be a y-value in norm units" assert (-1.0 <= self.left <= 1.0), "Left must be an x-value in norm units" assert (-1.0 <= self.bottom <= @@ -68,9 +71,12 @@ def check_invariants(self): assert (-1.0 <= self.right <= 1.0), "Right must be an x-value in norm units" if self.units == "height": - assert (0.0 <= self.height <= 1.0), "Height must be in height units." - assert (-0.5 <= self.top <= 0.5), "Top must be a y-value in height units" - assert (-0.5 <= self.bottom <= 0.5), "Bottom must be a y-value in height units" + assert (0.0 <= self.height <= + 1.0), "Height must be in height units." + assert (-0.5 <= self.top <= + 0.5), "Top must be a y-value in height units" + assert (-0.5 <= self.bottom <= + 0.5), "Bottom must be a y-value in height units" if self.parent: assert 0 < self.width <= self.parent.size[ @@ -78,8 +84,12 @@ def check_invariants(self): assert 0 < self.height <= self.parent.size[ 1], "Height must be greater than 0 and fit within the parent height." - def scaled_size(self, height: float, window_size: Optional[Tuple[float, float]] = None) -> Tuple[float, float]: - """Returns the value scaled to reflect the aspect ratio of a + def scaled_size( + self, + height: float, + window_size: Optional[Tuple[float, + float]] = None) -> Tuple[float, float]: + """Returns the (w,h ) value scaled to reflect the aspect ratio of a visual.Window. Used for creating squared stimulus""" if self.units == 'height': width = height @@ -281,6 +291,20 @@ def centered(width_pct: float = 1.0, height_pct: float = 1.0) -> Layout: container.resize_height(height_pct, alignment=Alignment.CENTERED) return container + +def envelope(layout: Layout, pos: Tuple[float, float], + size: Tuple[float, float]) -> List[Tuple[float, float]]: + """Compute the vertices for the envelope of a shape centered at pos with + the given size.""" + width, height = size + half_w = width / 2 + half_h = height / 2 + return [(layout.left_of(pos[0], half_w), layout.above(pos[1], half_h)), + (layout.right_of(pos[0], half_w), layout.above(pos[1], half_h)), + (layout.right_of(pos[0], half_w), layout.below(pos[1], half_h)), + (layout.left_of(pos[0], half_w), layout.below(pos[1], half_h))] + + def height_units(window_size: Tuple[float, float]): """Constructs a layout with height units using the given Window dimensions @@ -292,4 +316,8 @@ def height_units(window_size: Tuple[float, float]): """ win_width, win_height = window_size right = (win_width / win_height) / 2 - return Layout(left=-right, top=0.5, right=right, bottom=-0.5, units='height') + return Layout(left=-right, + top=0.5, + right=right, + bottom=-0.5, + units='height') diff --git a/bcipy/display/demo/components/demo_layouts.py b/bcipy/display/demo/components/demo_layouts.py index 077a138ea..de0476bc0 100644 --- a/bcipy/display/demo/components/demo_layouts.py +++ b/bcipy/display/demo/components/demo_layouts.py @@ -1,16 +1,15 @@ """Useful for viewing computed positions in a window""" import time -from itertools import cycle from typing import Callable, List, Tuple, Union from psychopy import visual from psychopy.visual.circle import Circle -from psychopy.visual.grating import GratingStim from psychopy.visual.line import Line from psychopy.visual.rect import Rect +from psychopy.visual.shape import ShapeStim from bcipy.display.components.layout import (Layout, at_top, centered, - height_units) + envelope, height_units) from bcipy.display.paradigm.vep.layout import BoxConfiguration, checkerboard @@ -123,47 +122,12 @@ def show_layout_coords(win: visual.Window): win.flip() -def vep_box_quadrant(win: visual.Window, pos: Tuple[float, float], anchor: str, - color: Tuple[str, str], size: Tuple[float, float]): - - pattern1 = GratingStim(win=win, - name=f'2x2-1-{pos}-{anchor}', - tex=None, - pos=pos, - size=size, - sf=1, - phase=0.0, - color=color[0], - colorSpace='rgb', - opacity=1, - texRes=256, - interpolate=True, - depth=-1.0, - anchor=anchor) - pattern2 = GratingStim(win=win, - name=f'2x2-2-{pos}-{anchor}', - tex=None, - pos=pos, - size=size, - sf=1, - phase=0.0, - color=color[1], - colorSpace='rgb', - opacity=1, - texRes=256, - interpolate=True, - depth=-1.0, - anchor=anchor) - border = Rect(win, pos=pos, size=size, lineColor='white', anchor=anchor) - return [pattern1, pattern2, border] - - def demo_vep(win: visual.Window): """Demo layout elements for VEP display""" layout = centered(width_pct=0.9, height_pct=0.9) layout.parent = win - box_config = BoxConfiguration(layout, num_boxes=6, height_pct=0.28) + box_config = BoxConfiguration(layout, num_boxes=4, height_pct=0.28) size = box_config.box_size() positions = box_config.positions @@ -176,19 +140,20 @@ def demo_vep(win: visual.Window): vep_colors = [('white', 'black'), ('red', 'green'), ('blue', 'yellow'), ('orange', 'green'), ('white', 'black'), ('red', 'green')] colors = ['#00FF80', '#FFFFB3', '#CB99FF', '#FB8072', '#80B1D3', '#FF8232'] - # draw boxes - anchor_points = ['right_bottom', 'left_bottom', 'left_top', 'right_top'] for i, pos in enumerate(positions): - gradient_colors: Tuple[str, str] = vep_colors[i] - - for anchor, color in zip( - anchor_points, - cycle([gradient_colors, - tuple(reversed(gradient_colors))])): - for stim in vep_box_quadrant(win, pos, anchor, color, - layout.scaled_size(0.1)): - stim.draw() + color_tup: Tuple[str, str] = vep_colors[i] + board = checkerboard(layout, + squares=16, + colors=color_tup, + center=pos, + board_size=layout.scaled_size(0.2)) + for square in board: + Rect(win, + pos=square.pos, + size=square.size, + lineColor='white', + fillColor=square.color).draw() rect = visual.TextBox2(win, text=' ', @@ -204,7 +169,7 @@ def demo_checkerboard(win: visual.Window): layout = centered(width_pct=0.9, height_pct=0.9) layout.parent = win board = checkerboard(layout, - squares=25, + squares=16, colors=('red', 'green'), center=(0, 0), board_size=layout.scaled_size(0.6)) @@ -256,6 +221,45 @@ def demo_height_units(win: visual.Window): win.flip() +def demo_checkerboard2(win: visual.Window): + """Demo checkerboard rendered using a complex shapestim""" + layout = centered(width_pct=0.9, height_pct=0.9) + layout.parent = win + + board_pos = (0, 0) + board_size = layout.scaled_size(0.6) + + colors = ('red', 'green') + board = checkerboard(layout, + squares=25, + colors=colors, + center=board_pos, + board_size=board_size) + board_boundaries = envelope(layout, pos=board_pos, size=board_size) + + evens = [] + odds = [] + for square in board: + square_boundary = envelope(layout, pos=square.pos, size=square.size) + if square.color == colors[0]: + evens.append(square_boundary) + else: + odds.append(square_boundary) + + rect = ShapeStim(win, + lineColor='green', + fillColor='green', + vertices=board_boundaries) + rect.draw() + stim = ShapeStim(win, + lineWidth=0, + fillColor=colors[0], + closeShape=True, + vertices=[board_boundaries, *evens]) + stim.draw() + win.flip() + + def run(demo: Callable[[visual.Window], None], seconds=30): """Run the given function for the provided duration. @@ -284,7 +288,8 @@ def run(demo: Callable[[visual.Window], None], seconds=30): print('Demo complete.') -run(demo_vep) +# run(demo_vep) # run(demo_height_units) # run(show_layout_coords) # run(demo_checkerboard) +run(demo_checkerboard2) \ No newline at end of file diff --git a/bcipy/display/paradigm/vep/layout.py b/bcipy/display/paradigm/vep/layout.py index e716a706f..e475904b2 100644 --- a/bcipy/display/paradigm/vep/layout.py +++ b/bcipy/display/paradigm/vep/layout.py @@ -13,6 +13,12 @@ class CheckerboardSquare(NamedTuple): color: str size: Tuple[float, float] + def inverse_color(self, colors: Tuple[str, str]) -> str: + """Get the inverse color of this square""" + if self.color == colors[0]: + return colors[1] + return colors[0] + def inverse(self, colors: Tuple[str, str]) -> 'CheckerboardSquare': """Returns a new CheckerboardSquare whose color is the inverse of the current one. From 074e9975daf0d9752fcb33e36b1f9c23a245360d Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 22 Sep 2023 11:45:18 -0700 Subject: [PATCH 095/330] Refactored API of VEPStim --- bcipy/display/paradigm/vep/display.py | 61 +++++++++++++-------------- 1 file changed, 29 insertions(+), 32 deletions(-) diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index dccdd087b..3cd492ae0 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -9,6 +9,7 @@ from bcipy.display import (BCIPY_LOGO_PATH, Display, InformationProperties, VEPStimuliProperties) +from bcipy.display.components.layout import Layout from bcipy.display.components.task_bar import TaskBar from bcipy.display.paradigm.vep.layout import (BoxConfiguration, CheckerboardSquare, @@ -38,22 +39,32 @@ class VEPStim: ---------- window - used to build the stimulus code - A list of integers representing the VEP code for each box - squares - list of CheckerboardSquares with a defined position - and size + colors - tuple of colors for the checkerboard pattern + center - center position of the checkerboard + size - size of the checkerboard, in layout units + num_squares - number of squares in the checkerboard """ - def __init__(self, window: visual.Window, code: List[int], - squares: List[CheckerboardSquare]): - self.window = window + def __init__(self, + layout: Layout, + code: List[int], + colors: Tuple[str, str], + center: Tuple[float, float], + size: Tuple[float, float], + num_squares: int = 4): + assert isinstance(layout.parent, + visual.Window), 'Layout must have a Window parent' + self.window = layout.parent self.code = code - self.colors = squares[0].color, squares[1].color - self.squares = squares - self.stim = self.build_stim(squares[0]) + squares = checkerboard(layout, + squares=num_squares, + colors=colors, + center=center, + board_size=size) - self.on_stim = [self.build_stim(square) for square in self.squares] + self.on_stim = [self.build_stim(square) for square in squares] self.off_stim = [ - self.build_stim(square.inverse(self.colors)) - for square in self.squares + self.build_stim(square.inverse(colors)) for square in squares ] def build_stim(self, square: CheckerboardSquare) -> GratingStim: @@ -322,21 +333,6 @@ def _build_inquiry_stimuli(self) -> None: return self.sti - def vep_square_stim(self, square: CheckerboardSquare) -> GratingStim: - """Construct a stim from a checkerboard square""" - return GratingStim(win=self.window, - name=f"{square.color} square at {square.pos}", - tex=None, - pos=square.pos, - size=square.size, - sf=1, - phase=0.0, - color=square.color, - colorSpace='rgb', - opacity=1, - texRes=256, - interpolate=True, - depth=-1.0) def build_vep_stimuli(self, box_config: BoxConfiguration, @@ -347,12 +343,13 @@ def build_vep_stimuli(self, """Build the VEP flashing checkerboard squares""" stim = [] for pos, code, color in zip(box_config.positions, codes, colors): - board = checkerboard(box_config.layout, - squares=num_squares, - colors=color, - center=pos, - board_size=stim_size) - stim.append(VEPStim(self.window, code, board)) + stim.append( + VEPStim(box_config.layout, + code, + color, + center=pos, + size=stim_size, + num_squares=num_squares)) return stim From 149560ca50d7fd3ee9d3e2215a3c949781193351 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 22 Sep 2023 13:50:57 -0700 Subject: [PATCH 096/330] Refactored VEP stim to use a polygon with holes to represent a checkerboard, making rendering more efficient --- bcipy/display/paradigm/vep/display.py | 59 +++++++++++++++++++++------ 1 file changed, 47 insertions(+), 12 deletions(-) diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index 3cd492ae0..d9e91a912 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -6,10 +6,11 @@ from psychopy import core, visual from psychopy.visual.grating import GratingStim from psychopy.visual.rect import Rect +from psychopy.visual.shape import ShapeStim from bcipy.display import (BCIPY_LOGO_PATH, Display, InformationProperties, VEPStimuliProperties) -from bcipy.display.components.layout import Layout +from bcipy.display.components.layout import Layout, envelope from bcipy.display.components.task_bar import TaskBar from bcipy.display.paradigm.vep.layout import (BoxConfiguration, CheckerboardSquare, @@ -56,15 +57,51 @@ def __init__(self, visual.Window), 'Layout must have a Window parent' self.window = layout.parent self.code = code + squares = checkerboard(layout, squares=num_squares, colors=colors, center=center, board_size=size) - - self.on_stim = [self.build_stim(square) for square in squares] + board_boundary = envelope(layout, pos=center, size=size) + + frame1_holes = [] + frame2_holes = [] + for square in squares: + square_boundary = envelope(layout, pos=square.pos, size=square.size) + # squares define the holes in the polygon + if square.color == colors[0]: + frame2_holes.append(square_boundary) + elif square.color == colors[1]: + frame1_holes.append(square_boundary) + + # checkerboard is represented as a polygon with holes, backed by a + # simple square with the alternating color. + self.on_stim = [ + # background + ShapeStim(self.window, + lineColor=colors[1], + fillColor=colors[1], + vertices=board_boundary), + # polygon with holes + ShapeStim(self.window, + lineWidth=0, + fillColor=colors[0], + closeShape=True, + vertices=[board_boundary, *frame1_holes]) + ] self.off_stim = [ - self.build_stim(square.inverse(colors)) for square in squares + # background + ShapeStim(self.window, + lineColor=colors[1], + fillColor=colors[1], + vertices=board_boundary), + # polygon with holes + ShapeStim(self.window, + lineWidth=0, + fillColor=colors[0], + closeShape=True, + vertices=[board_boundary, *frame2_holes]) ] def build_stim(self, square: CheckerboardSquare) -> GratingStim: @@ -164,7 +201,7 @@ def __init__( codes=codes, colors=cycle(vep_colors), stim_size=vep_stim_size, - num_squares=4) + num_squares=25) self.text_boxes = self._build_text_boxes(box_config) @@ -270,21 +307,19 @@ def stimulate(self) -> List[float]: self.experiment_clock, 'VEP_STIMULATE') self.static_clock.reset() - first_frame = True while self.static_clock.getTime() < self.timing_stimuli: for frame in range(self.refresh_rate): for stim in self.vep: stim.render_frame(frame) self.draw_boxes() - self.draw_static() + # self.draw_static() self.window.flip() - if first_frame: - first_frame = False - print(f"Frame duration: {self.static_clock.getTime()}") + ended_at = self.static_clock.getTime() self.logger.debug( - f"Stimulate expected run time: {self.timing_stimuli}; actual run time: {self.static_clock.getTime()}" + f"Expected stim time: {self.timing_stimuli}; actual run time: {ended_at}" ) + self.logger.debug(f"Average frame duration: {ended_at/self.timing_stimuli}") return self.trigger_callback.timing @@ -340,7 +375,7 @@ def build_vep_stimuli(self, colors: List[Tuple[str]], stim_size: Tuple[float, float], num_squares: int) -> List[VEPStim]: - """Build the VEP flashing checkerboard squares""" + """Build the VEP flashing checkerboards""" stim = [] for pos, code, color in zip(box_config.positions, codes, colors): stim.append( From 56493a43331cb8460818763038c79e974da2a684 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 22 Sep 2023 15:15:30 -0700 Subject: [PATCH 097/330] Cleaned up API for computing coordinates relative to another value --- bcipy/display/components/layout.py | 120 +++++++++--------- bcipy/display/demo/components/demo_layouts.py | 25 ++-- .../display/demo/vep/demo_calibration_vep.py | 15 ++- bcipy/display/paradigm/matrix/layout.py | 22 ++-- bcipy/display/paradigm/vep/display.py | 69 ++++------ bcipy/display/paradigm/vep/layout.py | 28 ++-- 6 files changed, 130 insertions(+), 149 deletions(-) diff --git a/bcipy/display/components/layout.py b/bcipy/display/components/layout.py index 40815df66..ae2beac46 100644 --- a/bcipy/display/components/layout.py +++ b/bcipy/display/components/layout.py @@ -35,6 +35,62 @@ def vertical(cls): return [Alignment.CENTERED, Alignment.TOP, Alignment.BOTTOM] +# Positioning functions +def above(y_coordinate: float, amount: float) -> float: + """Returns a new y_coordinate value that is above the provided value + by the given amount.""" + assert amount >= 0, 'Amount must be positive' + return y_coordinate + amount + + +def below(y_coordinate: float, amount: float) -> float: + """Returns a new y_coordinate value that is below the provided value + by the given amount.""" + assert amount >= 0, 'Amount must be positive' + return y_coordinate - amount + + +def right_of(x_coordinate: float, amount: float) -> float: + """Returns a new x_coordinate value that is to the right of the + provided value by the given amount.""" + assert amount >= 0, 'Amount must be positive' + return x_coordinate + amount + + +def left_of(x_coordinate: float, amount: float) -> float: + """Returns a new x_coordinate value that is to the left of the + provided value by the given amount.""" + assert amount >= 0, 'Amount must be positive' + return x_coordinate - amount + + +def envelope(pos: Tuple[float, float], + size: Tuple[float, float]) -> List[Tuple[float, float]]: + """Compute the vertices for the envelope of a shape centered at pos with + the given size.""" + width, height = size + half_w = width / 2 + half_h = height / 2 + return [(left_of(pos[0], half_w), above(pos[1], half_h)), + (right_of(pos[0], half_w), above(pos[1], half_h)), + (right_of(pos[0], half_w), below(pos[1], half_h)), + (left_of(pos[0], half_w), below(pos[1], half_h))] + + +def scaled_size(height: float, + window_size: [Tuple[float, float]], + units: str = 'norm') -> Tuple[float, float]: + """Scales the provided height value to reflect the aspect ratio of a + visual.Window. Used for creating squared stimulus. Returns (w,h) tuple""" + if units == 'height': + width = height + return (width, height) + + win_width, win_height = window_size + width = (win_height / win_width) * height + return (width, height) + + class Layout(Container): """Class with methods for positioning elements within a parent container. """ @@ -84,26 +140,14 @@ def check_invariants(self): assert 0 < self.height <= self.parent.size[ 1], "Height must be greater than 0 and fit within the parent height." - def scaled_size( - self, - height: float, - window_size: Optional[Tuple[float, - float]] = None) -> Tuple[float, float]: - """Returns the (w,h ) value scaled to reflect the aspect ratio of a + def scaled_size(self, height: float) -> Tuple[float, float]: + """Returns the (w,h) value scaled to reflect the aspect ratio of a visual.Window. Used for creating squared stimulus""" if self.units == 'height': width = height return (width, height) - - # norm units - if window_size is not None: - win_width, win_height = window_size - elif self.parent: - win_width, win_height = self.parent.size - else: - raise ValueError("window_size or parent is required") - width = (win_height / win_width) * height - return (width, height) + assert self.parent is not None, 'Parent must be configured' + return scaled_size(height, self.parent.size, self.units) @property def size(self) -> Tuple[float, float]: @@ -155,34 +199,6 @@ def right_middle(self) -> Tuple[float, float]: """Point centered on the right-most edge.""" return (self.right, self.vertical_middle) - def above(self, y_coordinate: float, amount: float) -> float: - """Returns a new y_coordinate value that is above the provided value - by the given amount.""" - # assert self.bottom <= y_coordinate <= self.top, "y_coordinate out of range" - assert amount >= 0, 'Amount must be positive' - return y_coordinate + amount - - def below(self, y_coordinate: float, amount: float) -> float: - """Returns a new y_coordinate value that is below the provided value - by the given amount.""" - # assert self.bottom <= y_coordinate <= self.top, "y_coordinate out of range" - assert amount >= 0, 'Amount must be positive' - return y_coordinate - amount - - def right_of(self, x_coordinate: float, amount: float) -> float: - """Returns a new x_coordinate value that is to the right of the - provided value by the given amount.""" - # assert self.left <= x_coordinate <= self.right, "y_coordinate out of range" - assert amount >= 0, 'Amount must be positive' - return x_coordinate + amount - - def left_of(self, x_coordinate: float, amount: float) -> float: - """Returns a new x_coordinate value that is to the left of the - provided value by the given amount.""" - # assert self.left <= x_coordinate <= self.right, "y_coordinate out of range" - assert amount >= 0, 'Amount must be positive' - return x_coordinate - amount - def resize_width(self, width_pct: float, alignment: Alignment = Alignment.CENTERED) -> float: @@ -247,6 +263,7 @@ def resize_height(self, self.check_invariants() +# Factory functions def at_top(parent: Container, height: float) -> Layout: """Constructs a layout of a given height that spans the full width of the window and is positioned at the top. @@ -292,20 +309,7 @@ def centered(width_pct: float = 1.0, height_pct: float = 1.0) -> Layout: return container -def envelope(layout: Layout, pos: Tuple[float, float], - size: Tuple[float, float]) -> List[Tuple[float, float]]: - """Compute the vertices for the envelope of a shape centered at pos with - the given size.""" - width, height = size - half_w = width / 2 - half_h = height / 2 - return [(layout.left_of(pos[0], half_w), layout.above(pos[1], half_h)), - (layout.right_of(pos[0], half_w), layout.above(pos[1], half_h)), - (layout.right_of(pos[0], half_w), layout.below(pos[1], half_h)), - (layout.left_of(pos[0], half_w), layout.below(pos[1], half_h))] - - -def height_units(window_size: Tuple[float, float]): +def height_units(window_size: Tuple[float, float]) -> Layout: """Constructs a layout with height units using the given Window dimensions diff --git a/bcipy/display/demo/components/demo_layouts.py b/bcipy/display/demo/components/demo_layouts.py index de0476bc0..43cce9755 100644 --- a/bcipy/display/demo/components/demo_layouts.py +++ b/bcipy/display/demo/components/demo_layouts.py @@ -9,7 +9,8 @@ from psychopy.visual.shape import ShapeStim from bcipy.display.components.layout import (Layout, at_top, centered, - envelope, height_units) + envelope, height_units, + scaled_size) from bcipy.display.paradigm.vep.layout import BoxConfiguration, checkerboard @@ -143,8 +144,7 @@ def demo_vep(win: visual.Window): for i, pos in enumerate(positions): color_tup: Tuple[str, str] = vep_colors[i] - board = checkerboard(layout, - squares=16, + board = checkerboard(squares=16, colors=color_tup, center=pos, board_size=layout.scaled_size(0.2)) @@ -166,13 +166,10 @@ def demo_vep(win: visual.Window): def demo_checkerboard(win: visual.Window): """Demo checkerboard""" - layout = centered(width_pct=0.9, height_pct=0.9) - layout.parent = win - board = checkerboard(layout, - squares=16, + board = checkerboard(squares=16, colors=('red', 'green'), center=(0, 0), - board_size=layout.scaled_size(0.6)) + board_size=scaled_size(0.6, win.size)) for square in board: Rect(win, pos=square.pos, @@ -223,24 +220,20 @@ def demo_height_units(win: visual.Window): def demo_checkerboard2(win: visual.Window): """Demo checkerboard rendered using a complex shapestim""" - layout = centered(width_pct=0.9, height_pct=0.9) - layout.parent = win - board_pos = (0, 0) - board_size = layout.scaled_size(0.6) + board_size = scaled_size(0.6, win.size) colors = ('red', 'green') - board = checkerboard(layout, - squares=25, + board = checkerboard(squares=25, colors=colors, center=board_pos, board_size=board_size) - board_boundaries = envelope(layout, pos=board_pos, size=board_size) + board_boundaries = envelope(pos=board_pos, size=board_size) evens = [] odds = [] for square in board: - square_boundary = envelope(layout, pos=square.pos, size=square.size) + square_boundary = envelope(pos=square.pos, size=square.size) if square.color == colors[0]: evens.append(square_boundary) else: diff --git a/bcipy/display/demo/vep/demo_calibration_vep.py b/bcipy/display/demo/vep/demo_calibration_vep.py index 769fa211c..57e9867f3 100644 --- a/bcipy/display/demo/vep/demo_calibration_vep.py +++ b/bcipy/display/demo/vep/demo_calibration_vep.py @@ -1,3 +1,6 @@ +import logging +import sys + from psychopy import core, visual from bcipy.display import InformationProperties, VEPStimuliProperties @@ -7,6 +10,12 @@ from bcipy.display.paradigm.vep.layout import BoxConfiguration from bcipy.helpers.clock import Clock +root = logging.getLogger() +root.setLevel(logging.DEBUG) +handler = logging.StreamHandler(sys.stdout) +handler.setLevel(logging.DEBUG) +root.addHandler(handler) + info = InformationProperties( info_color=['White'], info_pos=[(-.5, -.75)], @@ -16,7 +25,7 @@ ) task_text = ['1/4'] #, '2/4', '3/4', '4/4'] -num_boxes = 4 +num_boxes = 6 win = visual.Window(size=[700, 700], fullscr=False, @@ -39,7 +48,9 @@ box_colors = ['#00FF80', '#FFFFB3', '#CB99FF', '#FB8072', '#80B1D3', '#FF8232'] stim_color = [[color] for i, color in enumerate(box_colors) if i < num_boxes] -box_config = BoxConfiguration(layout=centered(width_pct=0.95, height_pct=0.80), num_boxes=num_boxes) +layout=centered(width_pct=0.95, height_pct=0.80) +layout.parent = win +box_config = BoxConfiguration(layout, num_boxes=num_boxes) experiment_clock = Clock() len_stimuli = 10 diff --git a/bcipy/display/paradigm/matrix/layout.py b/bcipy/display/paradigm/matrix/layout.py index 8a0c00b2c..a5063572b 100644 --- a/bcipy/display/paradigm/matrix/layout.py +++ b/bcipy/display/paradigm/matrix/layout.py @@ -1,7 +1,8 @@ """Functions for calculating matrix layouts""" from typing import List, Tuple -from bcipy.display.components.layout import Layout +from bcipy.display.components.layout import (Layout, above, below, left_of, + right_of) def symbol_positions(container: Layout, @@ -35,29 +36,28 @@ def symbol_positions(container: Layout, # Work back from center to compute the starting position center_x, center_y = container.center spaces_left_of_center = int(columns / 2) - start_pos_left = container.left_of(center_x, - spaces_left_of_center * spacing) + start_pos_left = left_of(center_x, spaces_left_of_center * spacing) if columns % 2 == 0 and columns > 1: # even number of columns; adjust start_pos so that center_x is between # the middle two items. - start_pos_left = container.right_of(start_pos_left, half_space) + start_pos_left = right_of(start_pos_left, half_space) spaces_above_center = int(rows / 2) - start_pos_top = container.above(center_y, spaces_above_center * spacing) + start_pos_top = above(center_y, spaces_above_center * spacing) if rows % 2 == 0 and rows > 1: - start_pos_top = container.below(start_pos_top, half_space) + start_pos_top = below(start_pos_top, half_space) # adjust the beginning x,y values so adding a space results in the first # position. - x_coord = container.left_of(start_pos_left, spacing) - y_coord = container.above(start_pos_top, spacing) + x_coord = left_of(start_pos_left, spacing) + y_coord = above(start_pos_top, spacing) positions = [] for _row in range(rows): - y_coord = container.below(y_coord, spacing) - x_coord = container.left_of(start_pos_left, spacing) + y_coord = below(y_coord, spacing) + x_coord = left_of(start_pos_left, spacing) for _col in range(columns): - x_coord = container.right_of(x_coord, spacing) + x_coord = right_of(x_coord, spacing) positions.append((x_coord, y_coord)) return positions diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index d9e91a912..90f405893 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -4,17 +4,13 @@ import numpy as np from psychopy import core, visual -from psychopy.visual.grating import GratingStim -from psychopy.visual.rect import Rect from psychopy.visual.shape import ShapeStim from bcipy.display import (BCIPY_LOGO_PATH, Display, InformationProperties, VEPStimuliProperties) -from bcipy.display.components.layout import Layout, envelope +from bcipy.display.components.layout import envelope, scaled_size from bcipy.display.components.task_bar import TaskBar -from bcipy.display.paradigm.vep.layout import (BoxConfiguration, - CheckerboardSquare, - checkerboard) +from bcipy.display.paradigm.vep.layout import BoxConfiguration, checkerboard from bcipy.helpers.clock import Clock from bcipy.helpers.stimuli import get_fixation, resize_image from bcipy.helpers.triggers import TriggerCallback, _calibration_trigger @@ -33,12 +29,12 @@ def create_vep_codes(length=32, count=4) -> List[List[int]]: class VEPStim: - """Represents a checkerboard of squares that can be flashed at a rate. - Flashing is accomplished by inverting the colors of each square. + """Represents a checkerboard of squares that can be flashed at a given + rate. Flashing is accomplished by inverting the colors of each square. Parameters ---------- - window - used to build the stimulus + layout - used to build the stimulus code - A list of integers representing the VEP code for each box colors - tuple of colors for the checkerboard pattern center - center position of the checkerboard @@ -47,28 +43,25 @@ class VEPStim: """ def __init__(self, - layout: Layout, + win: visual.Window, code: List[int], colors: Tuple[str, str], center: Tuple[float, float], size: Tuple[float, float], num_squares: int = 4): - assert isinstance(layout.parent, - visual.Window), 'Layout must have a Window parent' - self.window = layout.parent + self.window = win self.code = code - squares = checkerboard(layout, - squares=num_squares, + squares = checkerboard(squares=num_squares, colors=colors, center=center, board_size=size) - board_boundary = envelope(layout, pos=center, size=size) + board_boundary = envelope(pos=center, size=size) frame1_holes = [] frame2_holes = [] for square in squares: - square_boundary = envelope(layout, pos=square.pos, size=square.size) + square_boundary = envelope(pos=square.pos, size=square.size) # squares define the holes in the polygon if square.color == colors[0]: frame2_holes.append(square_boundary) @@ -77,12 +70,12 @@ def __init__(self, # checkerboard is represented as a polygon with holes, backed by a # simple square with the alternating color. + background = ShapeStim(self.window, + lineColor=colors[1], + fillColor=colors[1], + vertices=board_boundary) self.on_stim = [ - # background - ShapeStim(self.window, - lineColor=colors[1], - fillColor=colors[1], - vertices=board_boundary), + background, # polygon with holes ShapeStim(self.window, lineWidth=0, @@ -91,11 +84,7 @@ def __init__(self, vertices=[board_boundary, *frame1_holes]) ] self.off_stim = [ - # background - ShapeStim(self.window, - lineColor=colors[1], - fillColor=colors[1], - vertices=board_boundary), + background, # polygon with holes ShapeStim(self.window, lineWidth=0, @@ -104,21 +93,6 @@ def __init__(self, vertices=[board_boundary, *frame2_holes]) ] - def build_stim(self, square: CheckerboardSquare) -> GratingStim: - """Constructs a single re-usable stim""" - return GratingStim(win=self.window, - tex=None, - pos=square.pos, - size=square.size, - sf=1, - phase=0.0, - color=square.color, - colorSpace='rgb', - opacity=1, - texRes=256, - interpolate=True, - depth=-1.0) - def render_frame(self, frame: int) -> None: """Render a given frame number, where frame refers to a code index""" if self.code[frame] == 1: @@ -196,8 +170,8 @@ def __init__( if not codes: codes = create_vep_codes(length=self.refresh_rate, count=self.vep_type) vep_colors = [('white', 'black'), ('red', 'green'), ('blue', 'yellow'), ('orange', 'green')] - vep_stim_size = box_config.layout.scaled_size(0.2, self.window_size) - self.vep = self.build_vep_stimuli(box_config=box_config, + vep_stim_size = scaled_size(0.2, self.window_size) + self.vep = self.build_vep_stimuli(positions=box_config.positions, codes=codes, colors=cycle(vep_colors), stim_size=vep_stim_size, @@ -316,6 +290,7 @@ def stimulate(self) -> List[float]: # self.draw_static() self.window.flip() ended_at = self.static_clock.getTime() + # TODO: should we have a trigger for VEP_STIM_END? self.logger.debug( f"Expected stim time: {self.timing_stimuli}; actual run time: {ended_at}" ) @@ -370,16 +345,16 @@ def _build_inquiry_stimuli(self) -> None: def build_vep_stimuli(self, - box_config: BoxConfiguration, + positions: List[Tuple[float, float]], codes: List[int], colors: List[Tuple[str]], stim_size: Tuple[float, float], num_squares: int) -> List[VEPStim]: """Build the VEP flashing checkerboards""" stim = [] - for pos, code, color in zip(box_config.positions, codes, colors): + for pos, code, color in zip(positions, codes, colors): stim.append( - VEPStim(box_config.layout, + VEPStim(self.window, code, color, center=pos, diff --git a/bcipy/display/paradigm/vep/layout.py b/bcipy/display/paradigm/vep/layout.py index e475904b2..4d26cc139 100644 --- a/bcipy/display/paradigm/vep/layout.py +++ b/bcipy/display/paradigm/vep/layout.py @@ -4,7 +4,8 @@ from math import sqrt from typing import List, NamedTuple, Optional, Tuple -from bcipy.display.components.layout import Layout +from bcipy.display.components.layout import (Layout, above, below, left_of, + right_of) class CheckerboardSquare(NamedTuple): @@ -34,8 +35,8 @@ def inverse(self, colors: Tuple[str, str]) -> 'CheckerboardSquare': return CheckerboardSquare(self.pos, color, self.size) -def checkerboard(layout: Layout, squares: int, colors: Tuple[str, str], - center: Tuple[float, float], +def checkerboard(squares: int, colors: Tuple[str, str], center: Tuple[float, + float], board_size: Tuple[float, float]) -> List[CheckerboardSquare]: """Computes positions and colors for squares used to represent a checkerboard pattern. Returned positions are the center point of @@ -43,8 +44,6 @@ def checkerboard(layout: Layout, squares: int, colors: Tuple[str, str], Parameters ---------- - layout - layout in which the checkerboard will be rendered. Used for - positioning and scale. squares - total number of squares in the board; must be a perfect square (ex. 4, 9, 16, 25) colors - tuple of color names between which to alternate @@ -65,22 +64,22 @@ def checkerboard(layout: Layout, squares: int, colors: Tuple[str, str], if squares % 2 == 0: # with an even number the center is on a vertex; adjust by half a box move_count -= 0.5 - left = layout.left_of(center_x, square_width * move_count) - top = layout.above(center_y, square_height * move_count) + left = left_of(center_x, square_width * move_count) + top = above(center_y, square_height * move_count) # iterate starting at the top left and proceeding in a zig zag # pattern to correspond with alternating checkerboard colors. positions = [] for row in range(boxes_per_row): if row > 0: - top = layout.below(top, square_height) + top = below(top, square_height) for col in range(boxes_per_row): positions.append((left, top)) if col < boxes_per_row - 1: if row % 2 == 0: - left = layout.right_of(left, square_width) + left = right_of(left, square_width) else: - left = layout.left_of(left, square_width) + left = left_of(left, square_width) return [ CheckerboardSquare(*args) for args in zip(positions, cycle(colors), cycle([square_size])) @@ -153,15 +152,14 @@ def positions(self) -> List[Tuple]: """ self.validate() - # size = box_size(num, layout, spacing_pct) width, height = self.box_size(validate=False) layout = self.layout - top = layout.below(layout.top, (height / 2)) - bottom = layout.above(layout.bottom, (height / 2)) + top = below(layout.top, (height / 2)) + bottom = above(layout.bottom, (height / 2)) - left = layout.right_of(layout.left, width / 2) - right = layout.left_of(layout.right, width / 2) + left = right_of(layout.left, width / 2) + right = left_of(layout.right, width / 2) positions = [(left, top), (right, top), (left, bottom), (right, bottom)] From 1dd56570da5389a0049f066b86105ab9335a1cc6 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 22 Sep 2023 15:37:56 -0700 Subject: [PATCH 098/330] Type fix --- bcipy/display/components/layout.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/bcipy/display/components/layout.py b/bcipy/display/components/layout.py index ae2beac46..a746ad51b 100644 --- a/bcipy/display/components/layout.py +++ b/bcipy/display/components/layout.py @@ -78,7 +78,7 @@ def envelope(pos: Tuple[float, float], def scaled_size(height: float, - window_size: [Tuple[float, float]], + window_size: Tuple[float, float], units: str = 'norm') -> Tuple[float, float]: """Scales the provided height value to reflect the aspect ratio of a visual.Window. Used for creating squared stimulus. Returns (w,h) tuple""" @@ -91,6 +91,17 @@ def scaled_size(height: float, return (width, height) +def scaled_height(width: float, + window_size: Tuple[float, float], + units: str = 'norm') -> float: + """Given a width, find the equivalent height scaled to the aspect ratio of + a window with the given size""" + if units == 'height': + return width + win_width, win_height = window_size + return width / (win_height / win_width) + + class Layout(Container): """Class with methods for positioning elements within a parent container. """ From 195a058da2a1a3091807c8b13b76cded2e7a701d Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 25 Sep 2023 17:49:47 -0700 Subject: [PATCH 099/330] Cleanup and unit tests --- bcipy/display/components/layout.py | 12 +- bcipy/display/demo/components/demo_layouts.py | 6 +- .../display/demo/vep/demo_calibration_vep.py | 8 +- bcipy/display/paradigm/vep/display.py | 11 +- bcipy/display/paradigm/vep/layout.py | 11 +- bcipy/display/tests/components/test_layout.py | 43 +++++- bcipy/display/tests/vep/test_vep_layout.py | 130 ++++++++++++++++++ 7 files changed, 202 insertions(+), 19 deletions(-) create mode 100644 bcipy/display/tests/vep/test_vep_layout.py diff --git a/bcipy/display/components/layout.py b/bcipy/display/components/layout.py index a746ad51b..a61e20f19 100644 --- a/bcipy/display/components/layout.py +++ b/bcipy/display/components/layout.py @@ -107,7 +107,7 @@ class Layout(Container): """ def __init__(self, - parent: Container = None, + parent: Optional[Container] = None, left: float = DEFAULT_LEFT, top: float = DEFAULT_TOP, right: float = DEFAULT_RIGHT, @@ -320,6 +320,16 @@ def centered(width_pct: float = 1.0, height_pct: float = 1.0) -> Layout: return container +def from_envelope(verts: List[Tuple[float, float]]) -> Layout: + """Constructs a layout from a list of vertices which comprise a shape's + envelope.""" + x_coords, y_coords = zip(*verts) + return Layout(left=min(x_coords), + top=max(y_coords), + right=max(x_coords), + bottom=min(y_coords)) + + def height_units(window_size: Tuple[float, float]) -> Layout: """Constructs a layout with height units using the given Window dimensions diff --git a/bcipy/display/demo/components/demo_layouts.py b/bcipy/display/demo/components/demo_layouts.py index 43cce9755..e4809cd36 100644 --- a/bcipy/display/demo/components/demo_layouts.py +++ b/bcipy/display/demo/components/demo_layouts.py @@ -129,7 +129,7 @@ def demo_vep(win: visual.Window): layout.parent = win box_config = BoxConfiguration(layout, num_boxes=4, height_pct=0.28) - size = box_config.box_size() + size = box_config.box_size positions = box_config.positions draw_boundary(win, layout, color='gray', line_px=2) @@ -281,8 +281,8 @@ def run(demo: Callable[[visual.Window], None], seconds=30): print('Demo complete.') -# run(demo_vep) +run(demo_vep) # run(demo_height_units) # run(show_layout_coords) # run(demo_checkerboard) -run(demo_checkerboard2) \ No newline at end of file +# run(demo_checkerboard2) diff --git a/bcipy/display/demo/vep/demo_calibration_vep.py b/bcipy/display/demo/vep/demo_calibration_vep.py index 57e9867f3..29f264b13 100644 --- a/bcipy/display/demo/vep/demo_calibration_vep.py +++ b/bcipy/display/demo/vep/demo_calibration_vep.py @@ -24,7 +24,7 @@ info_text=['VEP Display Demo'], ) -task_text = ['1/4'] #, '2/4', '3/4', '4/4'] +task_text = ['1/4'] # , '2/4', '3/4', '4/4'] num_boxes = 6 win = visual.Window(size=[700, 700], @@ -43,19 +43,19 @@ print(f'Monitor refresh rate: {frameRate} Hz') -start_positions_for_boxes = [(-.3, -.3), (.3, -.3), (.3, .3), (-.3, .3)] +start_positions_for_boxes = [(-.3, -.3), (.3, -.3), (.3, .3), (-.3, .3)] box_colors = ['#00FF80', '#FFFFB3', '#CB99FF', '#FB8072', '#80B1D3', '#FF8232'] stim_color = [[color] for i, color in enumerate(box_colors) if i < num_boxes] -layout=centered(width_pct=0.95, height_pct=0.80) +layout = centered(width_pct=0.95, height_pct=0.80) layout.parent = win box_config = BoxConfiguration(layout, num_boxes=num_boxes) experiment_clock = Clock() len_stimuli = 10 stimuli = VEPStimuliProperties( - stim_color = stim_color, + stim_color=stim_color, stim_pos=box_config.positions, stim_height=0.1, stim_font='Arial', diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index 90f405893..1e2c07a21 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -111,9 +111,9 @@ def frame_off(self) -> None: stim.draw() - class VEPDisplay(Display): """Display for VEP paradigm""" + def __init__( self, window: visual.Window, @@ -179,7 +179,6 @@ def __init__( self.text_boxes = self._build_text_boxes(box_config) - def check_configuration(self): """Check that configured properties are consistent""" assert len( @@ -343,7 +342,6 @@ def _build_inquiry_stimuli(self) -> None: return self.sti - def build_vep_stimuli(self, positions: List[Tuple[float, float]], codes: List[int], @@ -362,7 +360,6 @@ def build_vep_stimuli(self, num_squares=num_squares)) return stim - def _trigger_pulse(self) -> None: """Trigger Pulse. @@ -382,7 +379,8 @@ def _trigger_pulse(self) -> None: self.first_stim_time = calibration_time[-1] self.first_run = False - def schedule_to(self, stimuli: List[List[str]], timing: List[List[float]]=None, colors: List[List[str]]=None) -> None: + def schedule_to(self, stimuli: List[List[str]], timing: List[List[float]] + = None, colors: List[List[str]] = None) -> None: """Schedule stimuli elements (works as a buffer). """ self.stimuli_inquiry = stimuli @@ -395,7 +393,7 @@ def _build_text_boxes(self, box_config: BoxConfiguration) -> List[visual.TextBox associated VEP Box. """ positions = box_config.positions - size = box_config.box_size() + size = box_config.box_size return [ visual.TextBox2(win=self.window, text=" ", @@ -413,7 +411,6 @@ def _build_text_boxes(self, box_config: BoxConfiguration) -> List[visual.TextBox for pos, color in zip(positions, cycle(self.stimuli_colors)) ] - def _reset_text_boxes(self) -> None: """Reset text boxes. diff --git a/bcipy/display/paradigm/vep/layout.py b/bcipy/display/paradigm/vep/layout.py index 4d26cc139..eeaf6ef28 100644 --- a/bcipy/display/paradigm/vep/layout.py +++ b/bcipy/display/paradigm/vep/layout.py @@ -122,7 +122,7 @@ def validate(self): assert self.num_boxes == 4 or self.num_boxes == 6, 'Number of boxes must be 4 or 6' assert self.height_pct <= 0.5, "Rows can't take more than 50% of the height" - def box_size(self, validate: bool = True) -> Tuple[float, float]: + def _box_size(self, validate: bool = True) -> Tuple[float, float]: """Computes the size of each box""" if validate: self.validate() @@ -139,6 +139,11 @@ def box_size(self, validate: bool = True) -> Tuple[float, float]: return (width, height) + @property + def box_size(self) -> Tuple[float, float]: + """Size of each box""" + return self._box_size() + @property def units(self) -> str: """Position units""" @@ -152,7 +157,7 @@ def positions(self) -> List[Tuple]: """ self.validate() - width, height = self.box_size(validate=False) + width, height = self._box_size(validate=False) layout = self.layout top = below(layout.top, (height / 2)) @@ -166,4 +171,4 @@ def positions(self) -> List[Tuple]: if self.num_boxes == 6: positions += [(layout.horizontal_middle, top), (layout.horizontal_middle, bottom)] - return positions \ No newline at end of file + return positions diff --git a/bcipy/display/tests/components/test_layout.py b/bcipy/display/tests/components/test_layout.py index ba99860e4..cbe25803e 100644 --- a/bcipy/display/tests/components/test_layout.py +++ b/bcipy/display/tests/components/test_layout.py @@ -4,7 +4,9 @@ from mockito import mock from bcipy.display.components.layout import (Alignment, Layout, at_bottom, - at_top, centered) + at_top, centered, envelope, + from_envelope, scaled_height, + scaled_size) class TestLayout(unittest.TestCase): @@ -155,6 +157,45 @@ def test_resize_height_bottom_aligned(self): self.assertEqual(0.0, layout.top) self.assertEqual(-1.0, layout.bottom) + def test_envelope(self): + """Test calculation of a shape's envelope""" + pos = (0, 0) + width = 0.2 + height = 0.1 + verts = envelope(pos=pos, size=(width, height)) + self.assertEqual(len(verts), 4) + self.assertTrue((-0.1, 0.05) in verts) + self.assertTrue((-0.1, -0.05) in verts) + self.assertTrue((0.1, -0.05) in verts) + self.assertTrue((0.1, 0.05) in verts) + + def test_from_envelope(self): + """Test constructing a layout from an envelope""" + verts = envelope(pos=(0, 0), size=(0.2, 0.1)) + layout = from_envelope(verts) + self.assertEqual(layout.top, 0.05) + self.assertEqual(layout.bottom, -0.05) + self.assertEqual(layout.left, -0.1) + self.assertEqual(layout.right, 0.1) + self.assertEqual(layout.center, (0, 0)) + + def test_scaled_size(self): + """Test scaling the size to make shapes that display as squares""" + self.assertEqual( + scaled_size(height=0.2, window_size=(500, 500)), (0.2, 0.2), + msg="Height and width should be the same in a square window") + self.assertEqual( + scaled_size(height=0.2, window_size=(800, 500)), (0.125, 0.2), + msg="Width should be proportional to the window aspect") + + self.assertEqual( + scaled_size(height=0.2, window_size=(800, 500), units='height'), (0.2, 0.2), + msg="Width should be the same in 'height' units") + + def test_scaled_height(self): + """Test calculation of scaled height based on width""" + self.assertEqual(scaled_height(0.125, window_size=(800, 500)), 0.2) + if __name__ == '__main__': unittest.main() diff --git a/bcipy/display/tests/vep/test_vep_layout.py b/bcipy/display/tests/vep/test_vep_layout.py new file mode 100644 index 000000000..b73bf62fa --- /dev/null +++ b/bcipy/display/tests/vep/test_vep_layout.py @@ -0,0 +1,130 @@ +"""Tests for VEP layout functions""" +import unittest + +from mockito import mock + +from bcipy.display.components.layout import Layout +from bcipy.display.paradigm.vep.layout import (BoxConfiguration, + CheckerboardSquare, + checkerboard) + + +class TestVEPLayout(unittest.TestCase): + """Test VEP Layout functionality.""" + + def setUp(self): + """Set up needed items for test.""" + self.window = mock({"size": (500, 500), "units": "norm"}) + self.container = self.window + + def test_2x2_checkerboard(self): + """Test creation of a 2x2 board""" + squares = checkerboard(squares=4, + colors=('red', 'green'), + center=(0, 0), + board_size=(0.2, 0.2)) + self.assertEqual(len(squares), 4) + self.assertTrue(all(sq.size == (0.1, 0.1) for sq in squares)) + self.assertEqual( + [sq.pos for sq in squares], [(-0.05, 0.05), (0.05, 0.05), + (0.05, -0.05), (-0.05, -0.05)], + msg="Squares should be ordered in a zig-zag arrangement") + self.assertEqual([sq.color for sq in squares], + ['red', 'green', 'red', 'green'], + msg="colors should alternate") + + def test_3x3_checkerboard(self): + """Test creation of a 3x3 board""" + colors = ('blue', 'yellow') + squares = checkerboard(squares=9, + colors=colors, + center=(0, 0), + board_size=(0.48, 0.48)) + self.assertEqual(len(squares), 9) + self.assertTrue(all(sq.size == (0.16, 0.16) for sq in squares)) + self.assertEqual(squares[0].pos, (-0.16, 0.16)) + self.assertEqual( + squares[3].pos, (0.16, 0.0), + msg="First item on second row should be at the far right") + + for i, square in enumerate(squares): + self.assertEqual(colors[i % 2], square.color, + "Colors should alternate") + + def test_checkerboard_inverse(self): + """Test that a Checkerboard square can invert colors""" + colors = ('red', 'green') + square = CheckerboardSquare(pos=(0, 0), color='red', size=(0.1, 0.1)) + self.assertEqual( + square.inverse(colors), + CheckerboardSquare(pos=(0, 0), color='green', size=(0.1, 0.1))) + + self.assertEqual(square.inverse_color(colors), 'green') + + def test_4_box_config_defaults(self): + """Test box configuration""" + full_window = Layout() + config = BoxConfiguration(layout=full_window, + num_boxes=4, + height_pct=0.25, + spacing_pct=0.1) + width, height = config.box_size + window_width, window_height = full_window.size + + self.assertEqual(window_width, 2.0) + self.assertEqual(window_height, 2.0) + self.assertEqual( + width, + 0.9, + msg="Box width should be half of the remaining width after accounting for the spacing." + ) + self.assertEqual( + height, + 0.5, + msg="Box height should be height_pct of the window height") + + positions = config.positions + self.assertEqual(len(positions), 4) + self.assertTrue((-0.55, 0.75) in positions, + msg="A box should be positioned at the top left") + self.assertTrue((0.55, 0.75) in positions, + msg="A box should be positioned at the top right") + self.assertTrue((-0.55, -0.75) in positions, + msg="A box should be positioned at the bottom left") + self.assertTrue((0.55, -0.75) in positions, + msg="A box should be positioned at the bottom right") + + def test_6_box_config_defaults(self): + """Test box configuration""" + full_window = Layout() + config = BoxConfiguration(layout=full_window, + num_boxes=6, + height_pct=0.25, + spacing_pct=0.05) + self.assertEqual( + config.box_size, (0.6, 0.5), + msg="width should account for 3 boxes in a row and 2 spaces") + + positions = config.positions + self.assertEqual(len(positions), 6) + self.assertEqual(len([box for box in positions if box[0] == 0.0]), + 2, + msg="Two boxes should be positioned in the middle") + + def test_other_box_config(self): + """Test supported number of boxes""" + full_window = Layout() + with self.assertRaises(AssertionError): + BoxConfiguration(layout=full_window, + num_boxes=2, + height_pct=0.25, + spacing_pct=0.05) + + def test_height_pct_validation(self): + """Test validations""" + full_window = Layout() + with self.assertRaises(AssertionError): + BoxConfiguration(layout=full_window, + num_boxes=4, + height_pct=0.6, + spacing_pct=0.1) From 5cbc5bd820f62501c6f221d5527a39bbc246e811 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 27 Sep 2023 17:30:27 -0700 Subject: [PATCH 100/330] Demo cleanup --- bcipy/display/demo/vep/demo_calibration_vep.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/bcipy/display/demo/vep/demo_calibration_vep.py b/bcipy/display/demo/vep/demo_calibration_vep.py index 29f264b13..0bffab679 100644 --- a/bcipy/display/demo/vep/demo_calibration_vep.py +++ b/bcipy/display/demo/vep/demo_calibration_vep.py @@ -24,7 +24,7 @@ info_text=['VEP Display Demo'], ) -task_text = ['1/4'] # , '2/4', '3/4', '4/4'] +task_text = ['1/4', '2/4', '3/4', '4/4'] num_boxes = 6 win = visual.Window(size=[700, 700], @@ -43,13 +43,10 @@ print(f'Monitor refresh rate: {frameRate} Hz') -start_positions_for_boxes = [(-.3, -.3), (.3, -.3), (.3, .3), (-.3, .3)] - box_colors = ['#00FF80', '#FFFFB3', '#CB99FF', '#FB8072', '#80B1D3', '#FF8232'] stim_color = [[color] for i, color in enumerate(box_colors) if i < num_boxes] layout = centered(width_pct=0.95, height_pct=0.80) -layout.parent = win box_config = BoxConfiguration(layout, num_boxes=num_boxes) experiment_clock = Clock() @@ -59,7 +56,7 @@ stim_pos=box_config.positions, stim_height=0.1, stim_font='Arial', - timing=(1, 0.5, 2, 4), # prompt, fixation, stimuli + timing=(1, 0.5, 2, 4), # prompt, fixation, animation, stimuli stim_length=1, # how many times to stimuli ) task_bar = CalibrationTaskBar(win, @@ -76,7 +73,7 @@ if num_boxes == 4: stim = [['A', 'B'], ['Z'], ['P'], ['R', 'W']] if num_boxes == 6: - stim = [['A'], ['B'], ['Z'], ['P'], ['R'], ['W']] + stim = [['A'], ['B'], ['Z', 'X'], ['P', 'I'], ['R'], ['W', 'C']] vep.schedule_to(stimuli=stim) timing += vep.do_inquiry() From 924c97f7f8c639657182dc791d54f77d75b53237 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 27 Sep 2023 17:38:54 -0700 Subject: [PATCH 101/330] Code cleanup and documentation --- bcipy/display/paradigm/vep/display.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index 1e2c07a21..95a8f7f61 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -68,8 +68,10 @@ def __init__(self, elif square.color == colors[1]: frame1_holes.append(square_boundary) - # checkerboard is represented as a polygon with holes, backed by a + # Checkerboard is represented as a polygon with holes, backed by a # simple square with the alternating color. + # This technique renders more efficiently and scales better than using + # separate shapes (Rect or Gradient) for each square. background = ShapeStim(self.window, lineColor=colors[1], fillColor=colors[1], @@ -127,7 +129,6 @@ def __init__( self.window = window self.window_size = self.window.size # [w, h] self.refresh_rate = round(window.getActualFrameRate()) - print(f"Refresh rate: {self.refresh_rate}") self.logger = logging.getLogger(__name__) # number of VEP text areas From 7bf6f71e6a9c7bfdc9f0bc25bd46bfcc6bb6293f Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Thu, 28 Sep 2023 19:31:34 -0400 Subject: [PATCH 102/330] Sanity check after merge from 2.0.0rc4 branch, Offline_analysis and Triggers bug fixes. --- bcipy/helpers/stimuli.py | 21 +- bcipy/helpers/triggers.py | 28 +- bcipy/parameters/parameters.json | 2 +- bcipy/signal/model/offline_analysis.py | 351 ++++++++++++------------- 4 files changed, 196 insertions(+), 206 deletions(-) diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index f5afec7ea..f574565ed 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -232,32 +232,21 @@ def extract_trials( class GazeReshaper: def __call__(self, - trial_targetness_label: List[str], inq_start_times: List[float], target_symbols: List[str], gaze_data: np.ndarray, sample_rate: int, - trials_per_inquiry: int, - offset: float = 0, channel_map: List[int] = None, - poststimulus_length: float = 0.5, - prestimulus_length: float = 0.0, - transformation_buffer: float = 0.0, ) -> dict: """Extract inquiry data and labels. Args: - trial_targetness_label (List[str]): labels each trial as "target", "non-target", "first_pres_target", etc - timing_info (List[float]): Timestamp of each event in seconds + inq_start_times (List[float]): Timestamp of each event in seconds + target_symbols (List[str]): Prompted symbol in each inquiry gaze_data (np.ndarray): shape (channels, samples) eye tracking data sample_rate (int): sample rate of data provided in eeg_data - trials_per_inquiry (int): number of trials in each inquiry - offset (float, optional): Any calculated or hypothesized offsets in timings. Defaults to 0. channel_map (List[int], optional): Describes which channels to include or discard. Defaults to None; all channels will be used. - poststimulus_length (float, optional): time in seconds needed after the last trial in an inquiry. - prestimulus_length (float, optional): time in seconds needed before the first trial in an inquiry. - transformation_buffer (float, optional): time in seconds to buffer the end of the inquiry. Defaults to 0.0. Returns: reshaped_data (List[float]): inquiry data of shape (Inquiries, Channels, Samples) @@ -295,11 +284,13 @@ def __call__(self, for symbol in symbol_set: data_by_targets[symbol] = [] + window_length = 3 # seconds, total length of flickering after prompt for each inquiry + reshaped_data = [] # Merge the inquiries if they have the same target letter: for i, inquiry_index in enumerate(triggers): start = inquiry_index - stop = int(inquiry_index + (sample_rate * 3)) # (60 samples * 3 seconds) + stop = int(inquiry_index + (sample_rate * window_length)) # (60 samples * 3 seconds) # Check if the data exists for the inquiry: if stop > len(gaze_data[0, :]): continue @@ -316,7 +307,7 @@ def __call__(self, data_by_targets[symbol] = np.transpose(np.array(data_by_targets[symbol]), (1, 0, 2)) data_by_targets[symbol] = np.reshape(data_by_targets[symbol], (len(data_by_targets[symbol]), -1)) - # TODO: Note that this is a workaround to the issue of having different number of targetness in + # Note that this is a workaround to the issue of having different number of targetness in # each symbol. If a target symbol is prompted more than once, the data is appended to the dict as a list. # Which is why we need to convert it to a (np.ndarray) and flatten the dimensions. # This is not ideal, but it works for now. diff --git a/bcipy/helpers/triggers.py b/bcipy/helpers/triggers.py index 4b5a0718d..ce38f9397 100644 --- a/bcipy/helpers/triggers.py +++ b/bcipy/helpers/triggers.py @@ -282,7 +282,8 @@ def starting_offsets_by_device( def find_starting_offset(triggers: List[Trigger], - device_type: Optional[str] = None) -> Trigger: + device_type: Optional[str] = None, + apply_system_offset: Optional[bool] = True) -> Trigger: """Given a list of raw trigger data, determine the starting offset for the given device. The returned trigger has the timestamp of the first sample recorded for the device. @@ -298,16 +299,20 @@ def find_starting_offset(triggers: List[Trigger], device_type - each device will generally have a different offset. This parameter is used to determine which trigger to use. If not given the EEG offset will be used by default. Ex. 'EYETRACKER' + apply_system_offset (Optional bool) - if True, applies the system offset loaded from the triggers file. + If False, returns a Trigger with offset of 0.0. Returns ------- The Trigger for the first matching offset for the given device, or a Trigger with offset of 0.0 if a matching offset was not found. """ label = offset_label(device_type) - for trg in triggers: - if trg.type == TriggerType.OFFSET and trg.label == label: - return trg - log.info(f"Offset not found (device_type: {device_type}); using 0.0") + + if apply_system_offset: + for trg in triggers: + if trg.type == TriggerType.OFFSET and trg.label == label: + return trg + log.info(f"Offset not found, or not used (device_type: {device_type}); using 0.0") return Trigger(label, TriggerType.OFFSET, 0.0) @@ -456,10 +461,8 @@ def load(path: str, """ excluded_types = exclusion or [] - starting_offset = 0.0 - if apply_system_offset: - triggers = read(path) - starting_offset = find_starting_offset(triggers, device_type) + triggers = read(path) + starting_offset = find_starting_offset(triggers, device_type, apply_system_offset) return apply_offsets(exclude_types(triggers, excluded_types), starting_offset.time, @@ -516,6 +519,8 @@ def trigger_decoder( exclusion: any TriggerTypes to be filtered from data returned device_type: used to determine which starting_offset value to use; if a 'starting_offset' trigger is found it will be applied. + apply_system_offset: if True, keeps the 'starting_offset' value from the triggers file. + If False, sets it to 0.0. Returns ------- @@ -527,10 +532,7 @@ def trigger_decoder( ] triggers = read(trigger_path) - - starting_offset = 0.0 - if apply_system_offset: - starting_offset = find_starting_offset(triggers, device_type) + starting_offset = find_starting_offset(triggers, device_type, apply_system_offset) filtered = exclude_types(triggers, excluded_types) corrected = apply_offsets(filtered, starting_offset, static_offset=offset) diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index 9b13246b2..4cf2a615c 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -8,7 +8,7 @@ "type": "bool" }, "acq_mode": { - "value": "EEG+Eyetracker", + "value": "EEG", "section": "acq_config", "readableName": "Acquisition Mode", "helpTip": "Specifies the hardware device(s) used for data collection.", diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index e2df326f4..311909970 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -6,7 +6,6 @@ RAW_DATA_FILENAME, STATIC_AUDIO_PATH, DEFAULT_DEVICE_SPEC_FILENAME, STATIC_IMAGES_PATH, EYE_TRACKER_FILENAME_PREFIX) -from bcipy.preferences import preferences from bcipy.helpers.acquisition import analysis_channels from bcipy.helpers.load import (load_experimental_data, load_json_parameters, load_raw_data) @@ -23,7 +22,6 @@ from bcipy.signal.process import (ERPTransformParams, filter_inquiries, get_default_transform) from bcipy.signal.model.fusion_model import GazeModel -from bcipy.signal.process import filter_inquiries, get_default_transform import numpy as np from matplotlib.figure import Figure from sklearn.metrics import balanced_accuracy_score @@ -167,191 +165,190 @@ def offline_analysis( type_amp = mode_data.daq_type sample_rate = mode_data.sample_rate - # setup filtering - default_transform = get_default_transform( - sample_rate_hz=sample_rate, - notch_freq_hz=transform_params.notch_filter_frequency, - bandpass_low=transform_params.filter_low, - bandpass_high=transform_params.filter_high, - bandpass_order=transform_params.filter_order, - downsample_factor=transform_params.down_sampling_rate, - ) + # setup filtering + default_transform = get_default_transform( + sample_rate_hz=sample_rate, + notch_freq_hz=transform_params.notch_filter_frequency, + bandpass_low=transform_params.filter_low, + bandpass_high=transform_params.filter_high, + bandpass_order=transform_params.filter_order, + downsample_factor=transform_params.down_sampling_rate, + ) - log.info(f"Channels read from csv: {channels}") - log.info(f"Device type: {type_amp}, fs={sample_rate}") + log.info(f"Channels read from csv: {channels}") + log.info(f"Device type: {type_amp}, fs={sample_rate}") - k_folds = parameters.get("k_folds") - model = PcaRdaKdeModel(k_folds=k_folds) + k_folds = parameters.get("k_folds") + model = PcaRdaKdeModel(k_folds=k_folds) - # Process triggers.txt files - trigger_targetness, trigger_timing, _ = trigger_decoder( - offset=static_offset, - trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", - exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], - device_type='EEG' - ) + # Process triggers.txt files + trigger_targetness, trigger_timing, _ = trigger_decoder( + offset=static_offset, + trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", + exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], + device_type='EEG', + apply_system_offset=True + ) - # update the trigger timing list to account for the initial trial window - corrected_trigger_timing = [timing + trial_window[0] for timing in trigger_timing] - - # Channel map can be checked from raw_data.csv file or the devices.json located in the acquisition module - # The timestamp column [0] is already excluded. - channel_map = analysis_channels(channels, device_spec) - channels_used = [channels[i] for i, keep in enumerate(channel_map) if keep == 1] - log.info(f'Channels used in analysis: {channels_used}') - - data, fs = mode_data.by_channel() - - inquiries, inquiry_labels, inquiry_timing = model.reshaper( - trial_targetness_label=trigger_targetness, - timing_info=corrected_trigger_timing, - eeg_data=data, - sample_rate=sample_rate, - trials_per_inquiry=trials_per_inquiry, - channel_map=channel_map, - poststimulus_length=window_length, - prestimulus_length=prestim_length, - transformation_buffer=buffer, - ) + # update the trigger timing list to account for the initial trial window + corrected_trigger_timing = [timing + trial_window[0] for timing in trigger_timing] + + # Channel map can be checked from raw_data.csv file or the devices.json located in the acquisition module + # The timestamp column [0] is already excluded. + channel_map = analysis_channels(channels, device_spec) + channels_used = [channels[i] for i, keep in enumerate(channel_map) if keep == 1] + log.info(f'Channels used in analysis: {channels_used}') + + data, fs = mode_data.by_channel() + + inquiries, inquiry_labels, inquiry_timing = model.reshaper( + trial_targetness_label=trigger_targetness, + timing_info=corrected_trigger_timing, + eeg_data=data, + sample_rate=sample_rate, + trials_per_inquiry=trials_per_inquiry, + channel_map=channel_map, + poststimulus_length=window_length, + prestimulus_length=prestim_length, + transformation_buffer=buffer, + ) - inquiries, fs = filter_inquiries(inquiries, default_transform, sample_rate) - inquiry_timing = update_inquiry_timing(inquiry_timing, downsample_rate) - trial_duration_samples = int(window_length * fs) - data = model.reshaper.extract_trials(inquiries, trial_duration_samples, inquiry_timing) - - # define the training classes using integers, where 0=nontargets/1=targets - labels = inquiry_labels.flatten() - - # train and save the model as a pkl file - log.info("Training model. This will take some time...") - model = PcaRdaKdeModel(k_folds=k_folds) - model.fit(data, labels) - model.metadata = SignalModelMetadata(device_spec=device_spec, - transform=default_transform) - log.info(f"Training complete [AUC={model.auc:0.4f}]. Saving data...") - - save_model(model, Path(data_folder, f"model_{model.auc:0.4f}.pkl")) - preferences.signal_model_directory = data_folder - - # Using an 80/20 split, report on balanced accuracy - if estimate_balanced_acc: - train_data, test_data, train_labels, test_labels = subset_data(data, labels, test_size=0.2) - dummy_model = PcaRdaKdeModel(k_folds=k_folds) - dummy_model.fit(train_data, train_labels) - probs = dummy_model.predict_proba(test_data) - preds = probs.argmax(-1) - score = balanced_accuracy_score(test_labels, preds) - log.info(f"Balanced acc with 80/20 split: {score}") - del dummy_model, train_data, test_data, train_labels, test_labels, probs, preds - - # this should have uncorrected trigger timing for display purposes - figure_handles = visualize_erp( - mode_data, - channel_map, - trigger_timing, - labels, - trial_window, - transform=default_transform, - plot_average=True, - plot_topomaps=True, - save_path=data_folder if save_figures else None, - show=show_figures - ) + inquiries, fs = filter_inquiries(inquiries, default_transform, sample_rate) + inquiry_timing = update_inquiry_timing(inquiry_timing, downsample_rate) + trial_duration_samples = int(window_length * fs) + data = model.reshaper.extract_trials(inquiries, trial_duration_samples, inquiry_timing) + + # define the training classes using integers, where 0=nontargets/1=targets + labels = inquiry_labels.flatten() + + # train and save the model as a pkl file + log.info("Training model. This will take some time...") + model = PcaRdaKdeModel(k_folds=k_folds) + model.fit(data, labels) + model.metadata = SignalModelMetadata(device_spec=device_spec, + transform=default_transform) + log.info(f"Training complete [AUC={model.auc:0.4f}]. Saving data...") + + save_model(model, Path(data_folder, f"model_{model.auc:0.4f}.pkl")) + preferences.signal_model_directory = data_folder + + # Using an 80/20 split, report on balanced accuracy + if estimate_balanced_acc: + train_data, test_data, train_labels, test_labels = subset_data(data, labels, test_size=0.2) + dummy_model = PcaRdaKdeModel(k_folds=k_folds) + dummy_model.fit(train_data, train_labels) + probs = dummy_model.predict_proba(test_data) + preds = probs.argmax(-1) + score = balanced_accuracy_score(test_labels, preds) + log.info(f"Balanced acc with 80/20 split: {score}") + del dummy_model, train_data, test_data, train_labels, test_labels, probs, preds + + # this should have uncorrected trigger timing for display purposes + figure_handles = visualize_erp( + mode_data, + channel_map, + trigger_timing, + labels, + trial_window, + transform=default_transform, + plot_average=True, + plot_topomaps=True, + save_path=data_folder if save_figures else None, + show=show_figures + ) - if device_spec.content_type == "Eyetracker": - print(device_spec) - figure_handles = visualize_gaze( - mode_data, - save_path=data_folder if save_figures else None, - show=True, - raw_plot=True, - ) - - channels = mode_data.channels - type_amp = mode_data.daq_type - sample_rate = mode_data.sample_rate - - log.info(f"Channels read from csv: {channels}") - log.info(f"Device type: {type_amp}, fs={sample_rate}") - channel_map = analysis_channels(channels, device_spec) - - channels_used = [channels[i] for i, keep in enumerate(channel_map) if keep == 1] - log.info(f'Channels used in analysis: {channels_used}') - - data, fs = mode_data.by_channel() - - model = GazeModel() - - # Process triggers.txt files (again!) - trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( - remove_pre_fixation=False, - apply_system_offset=False, - trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", - exclusion=[ - TriggerType.PREVIEW, - TriggerType.EVENT, - TriggerType.FIXATION, - TriggerType.SYSTEM, - TriggerType.OFFSET] - ) - ''' Trigger_timing includes PROMPT and excludes FIXATION ''' - - # Use trigger_timing to generate time windows for each letter flashing - # Take every 10th trigger as the start point of timing. - # trigger_targetness keeps the PROMPT info, use it to find the target symbol. - target_symbols = trigger_symbols[0::11] # target symbols - inq_start = trigger_timing[1::11] # start of each inquiry (here we jump over prompts) - - # Find the inquiries starting by the inq_start_times, (9, 100, 180): - inquiries = model.reshaper( - trial_targetness_label=trigger_targetness, - inq_start_times=inq_start, - target_symbols=target_symbols, - gaze_data=data, - sample_rate=sample_rate, - trials_per_inquiry=trials_per_inquiry, - poststimulus_length=window_length, - prestimulus_length=prestim_length, - transformation_buffer=buffer - ) - - symbol_set = alphabet() - - # Extract the data for each target label and each eye separately. - # Apply preprocessing: - preprocessed_data = {i: [] for i in symbol_set} - for i in symbol_set: - # Skip if there's no evidence for this symbol: - if len(inquiries[i]) == 0: - continue - - left_eye, right_eye = model.reshaper.extract_eye_info(inquiries[i]) - preprocessed_data[i] = np.array([left_eye, right_eye]) # Channels x Sample Size x Dimensions(x,y) - - # Train test split: - test_size = int(len(right_eye) * 0.2) - train_size = len(right_eye) - test_size - train_right_eye = right_eye[:train_size] - test_right_eye = right_eye[train_size:] - - train_left_eye = left_eye[:train_size] - test_left_eye = left_eye[train_size:] - - # Fit the model: - model.fit(train_right_eye) - - scores, means, covs = model.get_scores(test_right_eye) - # print(scores) - - # Visualize the results: - figure_handles = visualize_gaze_inquiries( - left_eye, right_eye, - means, covs, - save_path=None, + if device_spec.content_type == "Eyetracker": + print(device_spec) + figure_handles = visualize_gaze( + mode_data, + save_path=data_folder if save_figures else None, show=True, raw_plot=True, ) + channels = mode_data.channels + type_amp = mode_data.daq_type + sample_rate = mode_data.sample_rate + + log.info(f"Channels read from csv: {channels}") + log.info(f"Device type: {type_amp}, fs={sample_rate}") + channel_map = analysis_channels(channels, device_spec) + + channels_used = [channels[i] for i, keep in enumerate(channel_map) if keep == 1] + log.info(f'Channels used in analysis: {channels_used}') + + data, fs = mode_data.by_channel() + + model = GazeModel() + + # Extract all Triggers info + trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( + remove_pre_fixation=False, + apply_system_offset=False, + trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", + exclusion=[ + TriggerType.PREVIEW, + TriggerType.EVENT, + TriggerType.FIXATION, + TriggerType.SYSTEM, + TriggerType.OFFSET], + device_type='EYETRACKER' + ) + ''' Trigger_timing includes PROMPT and excludes FIXATION ''' + + # Use trigger_timing to generate time windows for each letter flashing + # Take every 10th trigger as the start point of timing. + # trigger_symbols keeps the PROMPT info, use it to find the target symbol. + target_symbols = trigger_symbols[0::11] # target symbols + inq_start = trigger_timing[1::11] # start of each inquiry (here we jump over prompts) + + # Extract the inquiries dictionary with keys as target symbols and values as inquiry windows: + inquiries = model.reshaper( + inq_start_times=inq_start, + target_symbols=target_symbols, + gaze_data=data, + sample_rate=sample_rate + ) + + symbol_set = alphabet() + + # Extract the data for each target label and each eye separately. + # Apply preprocessing: + preprocessed_data = {i: [] for i in symbol_set} + for i in symbol_set: + # Skip if there's no evidence for this symbol: + if len(inquiries[i]) == 0: + continue + + left_eye, right_eye = model.reshaper.extract_eye_info(inquiries[i]) + preprocessed_data[i] = np.array([left_eye, right_eye]) # Channels x Sample Size x Dimensions(x,y) + + # Train test split: + test_size = int(len(right_eye) * 0.2) + train_size = len(right_eye) - test_size + train_right_eye = right_eye[:train_size] + test_right_eye = right_eye[train_size:] + + train_left_eye = left_eye[:train_size] + test_left_eye = left_eye[train_size:] + + # Fit the model: + model.fit(train_right_eye) + + scores, means, covs = model.get_scores(test_right_eye) + # print(scores) + + # Visualize the results: + figure_handles = visualize_gaze_inquiries( + left_eye, right_eye, + means, covs, + save_path=None, + show=True, + raw_plot=True, + ) + + breakpoint() + if alert_finished: play_sound(f"{STATIC_AUDIO_PATH}/{parameters['alert_sound_file']}") return model, figure_handles From d666df55fd5004ab9b5f43982a9ebce1d7d28edd Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Sun, 1 Oct 2023 20:00:25 -0400 Subject: [PATCH 103/330] simulator with sampling design --- bcipy/simulator/interfaces.py | 58 ++++++++ bcipy/simulator/sim_sampler.py | 189 ++++++++++++++++++++++++++ bcipy/simulator/tests/sampler_test.py | 45 ++++++ 3 files changed, 292 insertions(+) create mode 100644 bcipy/simulator/interfaces.py create mode 100644 bcipy/simulator/sim_sampler.py create mode 100644 bcipy/simulator/tests/sampler_test.py diff --git a/bcipy/simulator/interfaces.py b/bcipy/simulator/interfaces.py new file mode 100644 index 000000000..4a5e8a230 --- /dev/null +++ b/bcipy/simulator/interfaces.py @@ -0,0 +1,58 @@ +from abc import ABC +from dataclasses import dataclass + + +@dataclass +class SessionState: + target_symbol: str + inquiry_n: int + series_n: int + target_sentence: str + current_sentence: str + display_alphabet: list[str] + + +class StateManager(ABC): + + def update(self, evidence): + ... + + def is_done(self) -> bool: + ... + + def get_state(self) -> SessionState: + ... + + def add_state(self, state_field, state_value): + pass + + +class ModelHandler(ABC): + + def generate_evidence(self, state: SessionState, features): + ... + + def get_model(self, key=None): + ... + + +class Sampler(ABC): + + def sample(self, state: SessionState): + ... + + +class MetricReferee: + ... + + +class DataEngine(ABC): + + def load(self): + ... + + def transform(self): + ... + + def get_data(self): + ... diff --git a/bcipy/simulator/sim_sampler.py b/bcipy/simulator/sim_sampler.py new file mode 100644 index 000000000..80d428152 --- /dev/null +++ b/bcipy/simulator/sim_sampler.py @@ -0,0 +1,189 @@ +import random +from abc import ABC +from dataclasses import dataclass +from pathlib import Path + +import pandas as pd + +from bcipy.helpers.parameters import Parameters +from bcipy.simulator.interfaces import DataEngine, ModelHandler, Sampler, MetricReferee, StateManager, SessionState +from bcipy.simulator.simulator_base import Simulator +from typing import Optional, Callable, Dict, Any + +import numpy as np + +from bcipy.config import SESSION_DATA_FILENAME, DEFAULT_PARAMETER_FILENAME +from bcipy.helpers import load +from bcipy.helpers.list import grouper +from bcipy.helpers.session import evidence_records, read_session +from bcipy.helpers.symbols import alphabet +from bcipy.signal.model import PcaRdaKdeModel +from bcipy.simulator.helpers.signal_helpers import process_raw_data_for_model, ExtractedExperimentData +from bcipy.simulator.helpers.sim_viz import plot_replay_comparison +from bcipy.simulator.simulator_base import Simulator, SimulatorData + + +class SimulatorCopyPhraseSampler(Simulator): + """Simulator. + + Base class for BciPy Simulations. + + Requirements: + - run closed loop simulation of {TaskType} with {data} with {simulation_params} + """ + + def __init__(self, parameter_path, save_dir, data_engine: DataEngine, model_handler: ModelHandler, sampler: Sampler, + state_manager: StateManager, referee: MetricReferee, source_data_path=None, + verbose=False): + super(SimulatorCopyPhraseSampler, self).__init__() + + self.parameters = self.load_parameters(parameter_path) + self.save_dir = save_dir + self.model_handler: ModelHandler = model_handler + self.sampler: Sampler = sampler + self.referee: MetricReferee = referee + self.state_manager: StateManager = state_manager + + self.data_engine: DataEngine = data_engine + self.source_data_path = source_data_path + + self.symbol_set = alphabet() + self.write_output = False + self.data_loader = None + + # self.signal_models_classes = [PcaRdaKdeModel for m in self.signal_models] # Hardcoded rn + + def run(self): + while not self.state_manager.is_done(): + self.state_manager.add_state('display_alphabet', self.__get_inquiry_alp_subset(self.state_manager.get_state())) + sampled_data = self.sampler.sample(self.state_manager.get_state()) + evidence = self.model_handler.generate_evidence(self.state_manager.get_state(), sampled_data) + + self.state_manager.update(evidence) + + def __get_inquiry_alp_subset(self, state: SessionState): + # TODO put this in own file or object + subset_length = 10 + return random.sample(self.symbol_set, subset_length) + + def load_parameters(self, path): + # TODO validate parameters + parameters = load.load_json_parameters(path, value_cast=True) + sim_parameters = load.load_json_parameters( + "bcipy/simulator/sim_parameters.json", value_cast=True) + + parameters.add_missing_items(sim_parameters) + return parameters + + +class RawDataEngine(DataEngine): + + def __init__(self, source_dirs: list[str], parameters: list[Parameters]): + self.source_dirs: list[str] = source_dirs + self.parameters: list[Parameters] = parameters + self.data: Optional[list[ExtractedExperimentData]] = None + self.trials_by_inquiry: list[np.ndarray] = [] # shape (i_inquiry, n_channel, m_trial, x_sample). + self.symbols_by_inquiry: list[list] = [] # shape (i_inquiry, s_alphabet_subset) + self.labels_by_inquiry: list[list] = [] # shape (i_inquiry, s_alphabet_subset) + self.schema: Optional[pd.DataFrame] = None + self.load() + + def load(self) -> DataEngine: + # formatting data into inquiries + + assert len(self.source_dirs) == len(self.parameters) + + self.data = [process_raw_data_for_model(source_dir, parameter) for source_dir, parameter in + zip(self.source_dirs, self.parameters)] + + for data_source, parameter in zip(self.data, self.parameters): + trigger_targetness, trigger_timing, trigger_symbols = data_source.decoded_triggers + self.trials_by_inquiry.append(np.split(data_source.trials, data_source.inquiries.shape[1], 1)) + self.symbols_by_inquiry.append([list(group) for group in + grouper(trigger_symbols, parameter.get('stim_length'), + incomplete="ignore")]) + + self.labels_by_inquiry.append(data_source.labels) + + return self + + def transform(self) -> DataEngine: + # setting the schema + + cols = ["series_n", "inquiry_n", "trial_n", "symbol", "target", "eeg"] + types = [int, int, int, str, int, np.ndarray] + + rows = [] + for d_i in range(len(self.data)): + for i in range(len(self.trials_by_inquiry[d_i])): + symbols = self.symbols_by_inquiry[d_i][i] + inquiry_labels = self.labels_by_inquiry[d_i][i] + inquiry_eeg = self.trials_by_inquiry[d_i][i] + + symbol_rows = [] + for t_i in range(len(symbols)): + channel_eeg_samples_for_t = [channel[t_i] for channel in inquiry_eeg] # (channel_n, sample_n) + row = {'inquiry_n': i, 'trial_n': t_i, 'symbol': symbols[t_i], 'target': inquiry_labels[t_i], + 'eeg': np.array(channel_eeg_samples_for_t)} + + symbol_rows.append(row) + + rows.extend(symbol_rows) + + self.schema = pd.DataFrame(rows) + + return self + + def get_data(self): + return self.schema.copy() if self.schema is not None else self.data + + +class SimpleLetterSampler(Sampler): + + def __init__(self, data_engine: RawDataEngine, params=None, model_reshaper: Callable = None): + self.data_engine: RawDataEngine = data_engine + self.params: Parameters = params if params else self.data_engine.parameters + self.model_input_reshaper: Callable = model_reshaper if model_reshaper else self.__default_reshaper + + self.alphabet: list[str] = params.get('symbol_set') if params else alphabet() + self.data: pd.DataFrame = self.data_engine.transform().get_data() + + def sample(self, state: SessionState) -> np.ndarray: + """ + - randomly generate subset of letters for inquiry, shud eventually be based on language model (stored in state) + - query eeg response by letter + - reshape for model input + + Return: + (n_channel, n_trial, n_sample) + """ + # TODO make map of inquiry_n -> target_symbol, maybe + + inquiry_letter_subset = state.display_alphabet + target_letter = state.target_symbol + eeg_responses = [] + for symbol in inquiry_letter_subset: + is_target = int(symbol == target_letter) + filtered_data = self.data.query(f'target == {is_target} and symbol == "{symbol}"') + row = filtered_data.sample( + 1) if len(filtered_data) else None # TODO figure out what to do when no sample is found. e.g no eeg data for nontarget symbol of 'x' + + if row is None: + print("row is None") + breakpoint() + + eeg_responses.append(row['eeg']) + + print(inquiry_letter_subset) + return self.model_input_reshaper(eeg_responses) + + def __default_reshaper(self, eeg_response) -> np.ndarray: + + channels_eeg = [[] for i in range(len(eeg_response[0]))] + for t_i, trial_channels_eeg in enumerate(eeg_response): + for c_i, channel_eeg in enumerate(trial_channels_eeg): + channels_eeg[c_i].append(channel_eeg) + + return np.array(channels_eeg[0]) + +# TODO add typing hints diff --git a/bcipy/simulator/tests/sampler_test.py b/bcipy/simulator/tests/sampler_test.py new file mode 100644 index 000000000..e9b4fcbeb --- /dev/null +++ b/bcipy/simulator/tests/sampler_test.py @@ -0,0 +1,45 @@ +import argparse +import random +from pathlib import Path +import numpy as np + +from bcipy.config import DEFAULT_PARAMETER_FILENAME +from bcipy.helpers import load +from bcipy.helpers.load import load_json_parameters +from bcipy.helpers.symbols import alphabet +from bcipy.signal.model import PcaRdaKdeModel +from bcipy.simulator.interfaces import SessionState, Sampler +from bcipy.simulator.sim_factory import SimulationFactory +from bcipy.simulator.sim_sampler import RawDataEngine, SimpleLetterSampler + +if __name__ == "__main__": + args = dict() + args['data_folders'] = ["/Users/srikarananthoju/cambi/tab_test_dynamic/tab_test_dynamic_RSVP_Copy_Phrase_Thu_24_Aug_2023_18hr58min16sec_-0700"] + args['parameter_path'] = [load.load_json_parameters(str(Path(data_folder, DEFAULT_PARAMETER_FILENAME)), value_cast=True) for data_folder in + args['data_folders']] + args['out_dir'] = Path(__file__).resolve().parent + model_file = Path( + "/Users/srikarananthoju/cambi/tab_test_dynamic/tab_test_dynamic_RSVP_Calibration_Thu_24_Aug_2023_18hr41min37sec_-0700/model_0.9524_200_800.pkl") + sim_parameters = load_json_parameters("bcipy/simulator/sim_parameters.json", value_cast=True) + + data_engine = RawDataEngine(args['data_folders'], args['parameter_path']) + target_phrase = "HELLO_WORLD" + target_symbol = "H" + + display_alp = random.sample(alphabet(), 10) + state: SessionState = SessionState(target_symbol=target_symbol, inquiry_n=0, series_n=0, target_sentence=target_phrase, + current_sentence="", display_alphabet=display_alp) + + sampler: Sampler = SimpleLetterSampler(data_engine) + sample: np.ndarray = sampler.sample(state) + + model = PcaRdaKdeModel() + model = model.load(model_file) + + breakpoint() + eeg_evidence = model.predict(sample, state.display_alphabet, alphabet()) + + print(eeg_evidence.shape) + print(eeg_evidence) + + breakpoint() From e377505e7cddae6b8ea842b002669c778ed94b6d Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Mon, 2 Oct 2023 00:14:59 -0400 Subject: [PATCH 104/330] documentation and seperated files --- bcipy/simulator/helpers/data_engine.py | 103 +++++++++++++ bcipy/simulator/helpers/sampler.py | 73 +++++++++ bcipy/simulator/helpers/signal_helpers.py | 3 +- bcipy/simulator/helpers/sim_state.py | 28 ++++ bcipy/simulator/interfaces.py | 47 +----- bcipy/simulator/sim_copy_phrase.py | 8 +- bcipy/simulator/sim_factory.py | 2 +- bcipy/simulator/sim_sampler.py | 172 +++++----------------- bcipy/simulator/simulator_base.py | 13 +- bcipy/simulator/tests/sampler_test.py | 10 +- 10 files changed, 251 insertions(+), 208 deletions(-) create mode 100644 bcipy/simulator/helpers/data_engine.py create mode 100644 bcipy/simulator/helpers/sampler.py create mode 100644 bcipy/simulator/helpers/sim_state.py diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py new file mode 100644 index 000000000..34ae92e5d --- /dev/null +++ b/bcipy/simulator/helpers/data_engine.py @@ -0,0 +1,103 @@ +from abc import ABC +from typing import Optional + +import numpy as np +import pandas as pd + +from bcipy.helpers.list import grouper +from bcipy.helpers.parameters import Parameters +from bcipy.simulator.helpers.signal_helpers import ExtractedExperimentData, process_raw_data_for_model + + +class DataEngine(ABC): + + def load(self): + ... + + def transform(self): + ... + + def get_data(self): + ... + + +class RawDataEngine(DataEngine): + """ + Object that loads in list of previous session data folders and transforms data into implemented schema + """ + + def __init__(self, source_dirs: list[str], parameters: list[Parameters]): + self.source_dirs: list[str] = source_dirs + self.parameters: list[Parameters] = parameters + self.data: Optional[list[ExtractedExperimentData]] = None + self.trials_by_inquiry: list[np.ndarray] = [] # shape (i_inquiry, n_channel, m_trial, x_sample). + self.symbols_by_inquiry: list[list] = [] # shape (i_inquiry, s_alphabet_subset) + self.labels_by_inquiry: list[list] = [] # shape (i_inquiry, s_alphabet_subset) + self.schema: Optional[pd.DataFrame] = None + self.load() + + def load(self) -> DataEngine: + """ + Processes raw data from data folders using provided parameter files. + - Extracts and stores trial data, stimuli, and stimuli_labels by inquiries + + Returns: + self for chaining + """ + assert len(self.source_dirs) == len(self.parameters) + + self.data = [process_raw_data_for_model(source_dir, parameter) for source_dir, parameter in + zip(self.source_dirs, self.parameters)] + + for data_source, parameter in zip(self.data, self.parameters): + trigger_targetness, trigger_timing, trigger_symbols = data_source.decoded_triggers + self.trials_by_inquiry.append(np.split(data_source.trials, data_source.inquiries.shape[1], 1)) + self.symbols_by_inquiry.append([list(group) for group in + grouper(trigger_symbols, parameter.get('stim_length'), + incomplete="ignore")]) + + self.labels_by_inquiry.append(data_source.labels) + + return self + + def transform(self) -> DataEngine: + """ + Organizes all data into the following schema + - Dataframe {"series_n":int, "inquiry_n":int, "trial_n":int, "symbol":str, "target":int, "eeg":ndarray} + + The "eeg" data for trial looks like this + - ndarray.shape = (channel_n, sample_n) + - a trial is an eeg response for a symbol being displayed + + Returns: + self for chaining + """ + + cols = ["series_n", "inquiry_n", "trial_n", "symbol", "target", "eeg"] + types = [int, int, int, str, int, np.ndarray] + + rows = [] + for d_i in range(len(self.data)): + for i in range(len(self.trials_by_inquiry[d_i])): + symbols = self.symbols_by_inquiry[d_i][i] + inquiry_labels = self.labels_by_inquiry[d_i][i] + inquiry_eeg = self.trials_by_inquiry[d_i][i] + + symbol_rows = [] + for t_i in range(len(symbols)): + channel_eeg_samples_for_t = [channel[t_i] for channel in inquiry_eeg] # (channel_n, sample_n) + row = {'inquiry_n': i, 'trial_n': t_i, 'symbol': symbols[t_i], 'target': inquiry_labels[t_i], + 'eeg': np.array(channel_eeg_samples_for_t)} + + symbol_rows.append(row) + + rows.extend(symbol_rows) + + self.schema = pd.DataFrame(rows) + + return self + + def get_data(self): + return self.schema.copy() if self.schema is not None else self.data + +# TODO ReplaySessionDataEngine \ No newline at end of file diff --git a/bcipy/simulator/helpers/sampler.py b/bcipy/simulator/helpers/sampler.py new file mode 100644 index 000000000..28d5c8227 --- /dev/null +++ b/bcipy/simulator/helpers/sampler.py @@ -0,0 +1,73 @@ +from abc import ABC +from typing import Callable + +import numpy as np +import pandas as pd + +from bcipy.helpers.parameters import Parameters +from bcipy.helpers.symbols import alphabet +from bcipy.simulator.helpers.data_engine import RawDataEngine +from bcipy.simulator.interfaces import SimSessionState + + +class Sampler(ABC): + """ Interface to generate sample of data usable by a model """ + + def sample(self, state: SimSessionState): + ... + + def set_reshaper(self, reshaper: Callable): + ... + + +class SimpleLetterSampler(Sampler): + + def __init__(self, data_engine: RawDataEngine, params=None): + self.data_engine: RawDataEngine = data_engine + self.params: Parameters = params if params else self.data_engine.parameters + self.model_input_reshaper: Callable = self.__default_reshaper + + self.alphabet: list[str] = params.get('symbol_set') if params else alphabet() + self.data: pd.DataFrame = self.data_engine.transform().get_data() + + def sample(self, state: SimSessionState) -> np.ndarray: + """ + - query eeg response by letter + - reshape for signal model input + + Return: + nd array (n_channel, n_trial, n_sample) + """ + + inquiry_letter_subset = state.display_alphabet + target_letter = state.target_symbol + eeg_responses = [] + for symbol in inquiry_letter_subset: + is_target = int(symbol == target_letter) + filtered_data = self.data.query(f'target == {is_target} and symbol == "{symbol}"') + row = filtered_data.sample( + 1) if len(filtered_data) else None # TODO figure out what to do when no sample is found. e.g no eeg data for nontarget symbol of 'x' + + if row is None: + print("row is None") + breakpoint() + + eeg_responses.append(row['eeg']) + + print(inquiry_letter_subset) + return self.model_input_reshaper(eeg_responses) + + def set_reshaper(self, reshaper: Callable): + self.model_input_reshaper = reshaper + + def __default_reshaper(self, eeg_response) -> np.ndarray: + + channels_eeg = [[] for i in range(len(eeg_response[0]))] + for t_i, trial_channels_eeg in enumerate(eeg_response): + for c_i, channel_eeg in enumerate(trial_channels_eeg): + channels_eeg[c_i].append(channel_eeg) + + return np.array(channels_eeg[0]) + + +# TODO ReplaySampler \ No newline at end of file diff --git a/bcipy/simulator/helpers/signal_helpers.py b/bcipy/simulator/helpers/signal_helpers.py index 698cd94ca..7dfae2051 100644 --- a/bcipy/simulator/helpers/signal_helpers.py +++ b/bcipy/simulator/helpers/signal_helpers.py @@ -30,7 +30,7 @@ @dataclass() -class ExtractedExperimentData: # TODO clean up design +class ExtractedExperimentData: # TODO clean up design inquiries: np.ndarray trials: np.ndarray labels: list @@ -40,7 +40,6 @@ class ExtractedExperimentData: # TODO clean up design def process_raw_data_for_model(data_folder, parameters, model_class=PcaRdaKdeModel) -> ExtractedExperimentData: - assert parameters, "Parameters are required for offline analysis." if not data_folder: data_folder = load_experimental_data() diff --git a/bcipy/simulator/helpers/sim_state.py b/bcipy/simulator/helpers/sim_state.py new file mode 100644 index 000000000..19ddfc1a1 --- /dev/null +++ b/bcipy/simulator/helpers/sim_state.py @@ -0,0 +1,28 @@ +from abc import ABC +from dataclasses import dataclass + + +@dataclass +class SimSessionState: + """ Represents the state of a current session during simulation """ + target_symbol: str + current_sentence: str + target_sentence: str + display_alphabet: list[str] + inquiry_n: int + series_n: int + + +class StateManager(ABC): + + def update(self, evidence): + ... + + def is_done(self) -> bool: + ... + + def get_state(self) -> SimSessionState: + ... + + def add_state(self, state_field, state_value): + pass diff --git a/bcipy/simulator/interfaces.py b/bcipy/simulator/interfaces.py index 4a5e8a230..55a9e6e0c 100644 --- a/bcipy/simulator/interfaces.py +++ b/bcipy/simulator/interfaces.py @@ -1,58 +1,15 @@ from abc import ABC -from dataclasses import dataclass - - -@dataclass -class SessionState: - target_symbol: str - inquiry_n: int - series_n: int - target_sentence: str - current_sentence: str - display_alphabet: list[str] - - -class StateManager(ABC): - - def update(self, evidence): - ... - - def is_done(self) -> bool: - ... - - def get_state(self) -> SessionState: - ... - - def add_state(self, state_field, state_value): - pass +from bcipy.simulator.helpers.sim_state import SimSessionState class ModelHandler(ABC): - def generate_evidence(self, state: SessionState, features): + def generate_evidence(self, state: SimSessionState, features): ... def get_model(self, key=None): ... -class Sampler(ABC): - - def sample(self, state: SessionState): - ... - - class MetricReferee: ... - - -class DataEngine(ABC): - - def load(self): - ... - - def transform(self): - ... - - def get_data(self): - ... diff --git a/bcipy/simulator/sim_copy_phrase.py b/bcipy/simulator/sim_copy_phrase.py index 95300dc87..525aab094 100644 --- a/bcipy/simulator/sim_copy_phrase.py +++ b/bcipy/simulator/sim_copy_phrase.py @@ -10,7 +10,7 @@ from bcipy.signal.model import PcaRdaKdeModel from bcipy.simulator.helpers.signal_helpers import process_raw_data_for_model, ExtractedExperimentData from bcipy.simulator.helpers.sim_viz import plot_replay_comparison -from bcipy.simulator.simulator_base import Simulator, SimulatorData +from bcipy.simulator.simulator_base import Simulator class SimulatorCopyPhraseReplay(Simulator): @@ -36,7 +36,7 @@ def __init__(self, parameter_path, save_dir, signal_models: [tuple], language_mo self.write_output = False self.data_loader = None - self.signal_models_classes = [PcaRdaKdeModel for m in self.signal_models] # Hardcoded rn + self.signal_models_classes = [PcaRdaKdeModel for m in self.signal_models] # Hardcoded rn def run(self): self.init_data_loader() @@ -44,7 +44,7 @@ def run(self): self.logger.info(f"Initialized data loader") # TODO need to support multimodal and language models - model_file, model_class = self.signal_models[0], self.signal_models_classes[0] # hardcoded rn + model_file, model_class = self.signal_models[0], self.signal_models_classes[0] # hardcoded rn model = model_class(self.parameters.get("k_folds")) model = model.load(model_file) @@ -105,7 +105,7 @@ def load_parameters(self, path): return parameters -class ReplayDataLoader(SimulatorData): +class ReplayDataLoader: def __init__(self, source_path, parameters): self.source_path = source_path diff --git a/bcipy/simulator/sim_factory.py b/bcipy/simulator/sim_factory.py index 68c83a2aa..38fbb5f73 100644 --- a/bcipy/simulator/sim_factory.py +++ b/bcipy/simulator/sim_factory.py @@ -26,4 +26,4 @@ def create( return SimulatorCopyPhraseReplay(parameter_path, out_dir, smodel_files, lmodel_files, data_folders[0], verbose=kwargs.get('verbose', False)) - # parameter_path, save_dir, signal_models: [tuple], language_models, replay_data_path=None, + # TODO refactor for sampling simulator diff --git a/bcipy/simulator/sim_sampler.py b/bcipy/simulator/sim_sampler.py index 80d428152..9b26c3cf0 100644 --- a/bcipy/simulator/sim_sampler.py +++ b/bcipy/simulator/sim_sampler.py @@ -1,56 +1,56 @@ import random -from abc import ABC -from dataclasses import dataclass -from pathlib import Path -import pandas as pd - -from bcipy.helpers.parameters import Parameters -from bcipy.simulator.interfaces import DataEngine, ModelHandler, Sampler, MetricReferee, StateManager, SessionState +from bcipy.helpers import load +from bcipy.helpers.symbols import alphabet +from bcipy.simulator.helpers.data_engine import DataEngine +from bcipy.simulator.helpers.sampler import Sampler +from bcipy.simulator.helpers.sim_state import StateManager, SimSessionState +from bcipy.simulator.interfaces import MetricReferee, ModelHandler from bcipy.simulator.simulator_base import Simulator -from typing import Optional, Callable, Dict, Any -import numpy as np -from bcipy.config import SESSION_DATA_FILENAME, DEFAULT_PARAMETER_FILENAME -from bcipy.helpers import load -from bcipy.helpers.list import grouper -from bcipy.helpers.session import evidence_records, read_session -from bcipy.helpers.symbols import alphabet -from bcipy.signal.model import PcaRdaKdeModel -from bcipy.simulator.helpers.signal_helpers import process_raw_data_for_model, ExtractedExperimentData -from bcipy.simulator.helpers.sim_viz import plot_replay_comparison -from bcipy.simulator.simulator_base import Simulator, SimulatorData +class SimulatorCopyPhrase(Simulator): + """ + Copy Phrase simulator. -class SimulatorCopyPhraseSampler(Simulator): - """Simulator. + Run loop: + - The loop runs until StateManager determines simulation is over + - The generated stimuli are passed into sampler, which returns some eeg response + - The Model handler will generate predictions and feed back into StateManager + - StateManager will resolve the state while the MetricReferee observes and records any metrics - Base class for BciPy Simulations. + Main components: + - DataEngine: loading and storing data + - Sampler: logic for sampling from data, composed of DataEngine + - StateManager: manages run loop details and fuses model evidence with current state + - MetricReferee: tracks and scores the simulation on different metrics for later evaluation + - ModelHandler: wrapper for models that deals with loading in models and generating evidence Requirements: - run closed loop simulation of {TaskType} with {data} with {simulation_params} """ - def __init__(self, parameter_path, save_dir, data_engine: DataEngine, model_handler: ModelHandler, sampler: Sampler, - state_manager: StateManager, referee: MetricReferee, source_data_path=None, - verbose=False): - super(SimulatorCopyPhraseSampler, self).__init__() + def __init__(self, parameter_path: str, save_dir: str, data_engine: DataEngine, model_handler: ModelHandler, sampler: Sampler, + state_manager: StateManager, referee: MetricReferee, verbose=False, visualize=False): + super(SimulatorCopyPhrase, self).__init__() self.parameters = self.load_parameters(parameter_path) - self.save_dir = save_dir + self.save_dir: str = save_dir self.model_handler: ModelHandler = model_handler self.sampler: Sampler = sampler self.referee: MetricReferee = referee self.state_manager: StateManager = state_manager self.data_engine: DataEngine = data_engine - self.source_data_path = source_data_path self.symbol_set = alphabet() self.write_output = False self.data_loader = None + self.verbose = verbose + self.visualize = visualize + # self.signal_models_classes = [PcaRdaKdeModel for m in self.signal_models] # Hardcoded rn def run(self): @@ -61,7 +61,9 @@ def run(self): self.state_manager.update(evidence) - def __get_inquiry_alp_subset(self, state: SessionState): + # TODO visualize results + + def __get_inquiry_alp_subset(self, state: SimSessionState): # TODO put this in own file or object subset_length = 10 return random.sample(self.symbol_set, subset_length) @@ -75,115 +77,7 @@ def load_parameters(self, path): parameters.add_missing_items(sim_parameters) return parameters + def get_param(self, name): + pass -class RawDataEngine(DataEngine): - - def __init__(self, source_dirs: list[str], parameters: list[Parameters]): - self.source_dirs: list[str] = source_dirs - self.parameters: list[Parameters] = parameters - self.data: Optional[list[ExtractedExperimentData]] = None - self.trials_by_inquiry: list[np.ndarray] = [] # shape (i_inquiry, n_channel, m_trial, x_sample). - self.symbols_by_inquiry: list[list] = [] # shape (i_inquiry, s_alphabet_subset) - self.labels_by_inquiry: list[list] = [] # shape (i_inquiry, s_alphabet_subset) - self.schema: Optional[pd.DataFrame] = None - self.load() - - def load(self) -> DataEngine: - # formatting data into inquiries - - assert len(self.source_dirs) == len(self.parameters) - - self.data = [process_raw_data_for_model(source_dir, parameter) for source_dir, parameter in - zip(self.source_dirs, self.parameters)] - - for data_source, parameter in zip(self.data, self.parameters): - trigger_targetness, trigger_timing, trigger_symbols = data_source.decoded_triggers - self.trials_by_inquiry.append(np.split(data_source.trials, data_source.inquiries.shape[1], 1)) - self.symbols_by_inquiry.append([list(group) for group in - grouper(trigger_symbols, parameter.get('stim_length'), - incomplete="ignore")]) - - self.labels_by_inquiry.append(data_source.labels) - - return self - - def transform(self) -> DataEngine: - # setting the schema - - cols = ["series_n", "inquiry_n", "trial_n", "symbol", "target", "eeg"] - types = [int, int, int, str, int, np.ndarray] - - rows = [] - for d_i in range(len(self.data)): - for i in range(len(self.trials_by_inquiry[d_i])): - symbols = self.symbols_by_inquiry[d_i][i] - inquiry_labels = self.labels_by_inquiry[d_i][i] - inquiry_eeg = self.trials_by_inquiry[d_i][i] - - symbol_rows = [] - for t_i in range(len(symbols)): - channel_eeg_samples_for_t = [channel[t_i] for channel in inquiry_eeg] # (channel_n, sample_n) - row = {'inquiry_n': i, 'trial_n': t_i, 'symbol': symbols[t_i], 'target': inquiry_labels[t_i], - 'eeg': np.array(channel_eeg_samples_for_t)} - - symbol_rows.append(row) - - rows.extend(symbol_rows) - - self.schema = pd.DataFrame(rows) - - return self - - def get_data(self): - return self.schema.copy() if self.schema is not None else self.data - - -class SimpleLetterSampler(Sampler): - - def __init__(self, data_engine: RawDataEngine, params=None, model_reshaper: Callable = None): - self.data_engine: RawDataEngine = data_engine - self.params: Parameters = params if params else self.data_engine.parameters - self.model_input_reshaper: Callable = model_reshaper if model_reshaper else self.__default_reshaper - - self.alphabet: list[str] = params.get('symbol_set') if params else alphabet() - self.data: pd.DataFrame = self.data_engine.transform().get_data() - - def sample(self, state: SessionState) -> np.ndarray: - """ - - randomly generate subset of letters for inquiry, shud eventually be based on language model (stored in state) - - query eeg response by letter - - reshape for model input - - Return: - (n_channel, n_trial, n_sample) - """ - # TODO make map of inquiry_n -> target_symbol, maybe - - inquiry_letter_subset = state.display_alphabet - target_letter = state.target_symbol - eeg_responses = [] - for symbol in inquiry_letter_subset: - is_target = int(symbol == target_letter) - filtered_data = self.data.query(f'target == {is_target} and symbol == "{symbol}"') - row = filtered_data.sample( - 1) if len(filtered_data) else None # TODO figure out what to do when no sample is found. e.g no eeg data for nontarget symbol of 'x' - - if row is None: - print("row is None") - breakpoint() - - eeg_responses.append(row['eeg']) - - print(inquiry_letter_subset) - return self.model_input_reshaper(eeg_responses) - - def __default_reshaper(self, eeg_response) -> np.ndarray: - - channels_eeg = [[] for i in range(len(eeg_response[0]))] - for t_i, trial_channels_eeg in enumerate(eeg_response): - for c_i, channel_eeg in enumerate(trial_channels_eeg): - channels_eeg[c_i].append(channel_eeg) - - return np.array(channels_eeg[0]) - -# TODO add typing hints +# TODO add stronger typing hints diff --git a/bcipy/simulator/simulator_base.py b/bcipy/simulator/simulator_base.py index 283000da3..96f0cbac0 100644 --- a/bcipy/simulator/simulator_base.py +++ b/bcipy/simulator/simulator_base.py @@ -22,15 +22,4 @@ def run(self): @abstractmethod def get_param(self, name): - ... - - -class SimulatorData(ABC): - - @abstractmethod - def next(self): - ... - - @abstractmethod - def is_end(self) -> bool: - ... + ... \ No newline at end of file diff --git a/bcipy/simulator/tests/sampler_test.py b/bcipy/simulator/tests/sampler_test.py index e9b4fcbeb..de68850b5 100644 --- a/bcipy/simulator/tests/sampler_test.py +++ b/bcipy/simulator/tests/sampler_test.py @@ -8,9 +8,9 @@ from bcipy.helpers.load import load_json_parameters from bcipy.helpers.symbols import alphabet from bcipy.signal.model import PcaRdaKdeModel -from bcipy.simulator.interfaces import SessionState, Sampler -from bcipy.simulator.sim_factory import SimulationFactory -from bcipy.simulator.sim_sampler import RawDataEngine, SimpleLetterSampler +from bcipy.simulator.helpers.sampler import Sampler, SimpleLetterSampler +from bcipy.simulator.interfaces import SimSessionState +from bcipy.simulator.sim_sampler import RawDataEngine if __name__ == "__main__": args = dict() @@ -27,8 +27,8 @@ target_symbol = "H" display_alp = random.sample(alphabet(), 10) - state: SessionState = SessionState(target_symbol=target_symbol, inquiry_n=0, series_n=0, target_sentence=target_phrase, - current_sentence="", display_alphabet=display_alp) + state: SimSessionState = SimSessionState(target_symbol=target_symbol, inquiry_n=0, series_n=0, target_sentence=target_phrase, + current_sentence="", display_alphabet=display_alp) sampler: Sampler = SimpleLetterSampler(data_engine) sample: np.ndarray = sampler.sample(state) From 845dbfcf37259584bd8c0b16925cb2334541cbca Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Wed, 4 Oct 2023 18:00:41 -0400 Subject: [PATCH 105/330] PR comments addressed --- bcipy/helpers/load.py | 13 ---- bcipy/helpers/stimuli.py | 82 ++++++++++++++------------ bcipy/helpers/triggers.py | 2 +- bcipy/helpers/visualization.py | 40 ++++++++----- bcipy/parameters/devices.json | 2 +- bcipy/parameters/parameters.json | 2 +- bcipy/signal/model/offline_analysis.py | 8 +-- bcipy/signal/process/__init__.py | 4 +- bcipy/signal/process/extract_gaze.py | 47 +++++++++++++++ 9 files changed, 126 insertions(+), 74 deletions(-) create mode 100644 bcipy/signal/process/extract_gaze.py diff --git a/bcipy/helpers/load.py b/bcipy/helpers/load.py index d7474ccfd..5d45b7070 100644 --- a/bcipy/helpers/load.py +++ b/bcipy/helpers/load.py @@ -159,19 +159,6 @@ def load_experimental_data() -> str: return filename -def load_eye_tracking_data(gaze_data: RawData): - left_eye_channel_map = [0, 0, 1, 1, 0, 0, 0, 0, 0] - left_eye_data, _, _ = gaze_data.by_channel_map(left_eye_channel_map) - left_eye_x = left_eye_data[0] - left_eye_y = left_eye_data[1] - - right_eye_channel_map = [0, 0, 0, 0, 0, 1, 1, 0, 0] - right_eye_data, _, _ = gaze_data.by_channel_map(right_eye_channel_map) - right_eye_x = right_eye_data[0] - right_eye_y = right_eye_data[1] - return left_eye_x, left_eye_y, right_eye_x, right_eye_y - - def load_signal_models(directory: Optional[str] = None) -> List[SignalModel]: """Load all signal models in a given directory. diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index f574565ed..3cf190f73 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -12,7 +12,7 @@ from pandas import Series from PIL import Image -from bcipy.helpers.exceptions import BciPyCoreException, SignalException +from bcipy.helpers.exceptions import BciPyCoreException from bcipy.helpers.list import grouper from bcipy.helpers.symbols import alphabet @@ -238,7 +238,13 @@ def __call__(self, sample_rate: int, channel_map: List[int] = None, ) -> dict: - """Extract inquiry data and labels. + """Extract inquiry data and labels. Different from the EEG inquiry, the gaze inquiry window starts with + the first flicker and ends with the last flicker in the inquiry. Each inquiry has a length of ~3 seconds. + The labels are provided in the target_symbols list. It returns a Dict, where keys are the target symbols and + the values are inquiries (appended in order of appearance) where the corresponding target symbol is prompted. + Optional outputs: + reshape_data is the list of data reshaped into (Inquiries, Channels, Samples), where inquirires are appended + in chronological order. labels returns the list of target symbols in each inquiry. Args: inq_start_times (List[float]): Timestamp of each event in seconds @@ -249,11 +255,11 @@ def __call__(self, Defaults to None; all channels will be used. Returns: - reshaped_data (List[float]): inquiry data of shape (Inquiries, Channels, Samples) - labels (List[str]): Target letter in each inquiry. - data_by_targets (dict): Dictionary where keys are the symbol set and values are the appended inquiries for each symbol. dict[Key] = (np.ndarray) of shape (Channels, Samples) + + reshaped_data (List[float]) [optional]: inquiry data of shape (Inquiries, Channels, Samples) + labels (List[str]) [optional] : Target symbol in each inquiry. """ if channel_map: # Remove the channels that we are not interested in @@ -315,48 +321,48 @@ def __call__(self, # return np.stack(reshaped_data, 0), labels return data_by_targets - @staticmethod - def extract_eye_info(data): - """ Rearrange the dimensions of gaze inquiry data and reshape it to num_channels x num_samples - Extract Left and Right Eye info from data. Remove all blinks, do necessary preprocessing. + # @staticmethod + # def extract_eye_info(data): + # """ Rearrange the dimensions of gaze inquiry data and reshape it to num_channels x num_samples + # Extract Left and Right Eye info from data. Remove all blinks, do necessary preprocessing. - Args: - data (np.ndarray): Data in shape of num_channels x num_samples + # Args: + # data (np.ndarray): Data in shape of num_channels x num_samples - Returns: - left_eye (np.ndarray), left_pupil (List(float)) - right_eye (np.ndarray), right_pupil (List(float)) - """ + # Returns: + # left_eye (np.ndarray), left_pupil (List(float)) + # right_eye (np.ndarray), right_pupil (List(float)) + # """ - # Extract samples from channels - lx = data[2, :] - ly = data[3, :] - left_pupil = data[4, :] # Use if needed + # # Extract samples from channels + # lx = data[2, :] + # ly = data[3, :] + # left_pupil = data[4, :] # Use if needed - rx = data[5, :] - ry = data[6, :] - right_pupil = data[7, :] + # rx = data[5, :] + # ry = data[6, :] + # right_pupil = data[7, :] - left_eye = np.vstack((np.array(lx), np.array(ly))).T - right_eye = np.vstack((np.array(rx), np.array(ry))).T + # left_eye = np.vstack((np.array(lx), np.array(ly))).T + # right_eye = np.vstack((np.array(rx), np.array(ry))).T - # Remove ALL blinks (i.e. Nan values) regardless of which eye it occurs. - # Make sure that the number of samples are the same for both eyes - left_eye_nan_idx = np.isnan(left_eye).any(axis=1) - left_eye = left_eye[~left_eye_nan_idx] - right_eye = right_eye[~left_eye_nan_idx] + # # Remove ALL blinks (i.e. Nan values) regardless of which eye it occurs. + # # Make sure that the number of samples are the same for both eyes + # left_eye_nan_idx = np.isnan(left_eye).any(axis=1) + # left_eye = left_eye[~left_eye_nan_idx] + # right_eye = right_eye[~left_eye_nan_idx] - right_eye_nan_idx = np.isnan(right_eye).any(axis=1) - left_eye = left_eye[~right_eye_nan_idx] - right_eye = right_eye[~right_eye_nan_idx] + # right_eye_nan_idx = np.isnan(right_eye).any(axis=1) + # left_eye = left_eye[~right_eye_nan_idx] + # right_eye = right_eye[~right_eye_nan_idx] - try: - len(left_eye) != len(right_eye) - except AssertionError: - raise SignalException( - 'Number of samples for left and right eye are not the same.') + # try: + # len(left_eye) != len(right_eye) + # except AssertionError: + # raise SignalException( + # 'Number of samples for left and right eye are not the same.') - return left_eye, right_eye + # return left_eye, right_eye class TrialReshaper(Reshaper): diff --git a/bcipy/helpers/triggers.py b/bcipy/helpers/triggers.py index ce38f9397..505784256 100644 --- a/bcipy/helpers/triggers.py +++ b/bcipy/helpers/triggers.py @@ -519,7 +519,7 @@ def trigger_decoder( exclusion: any TriggerTypes to be filtered from data returned device_type: used to determine which starting_offset value to use; if a 'starting_offset' trigger is found it will be applied. - apply_system_offset: if True, keeps the 'starting_offset' value from the triggers file. + apply_system_offset: if True, keeps the 'starting_offset' value from the triggers file. If False, sets it to 0.0. Returns diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index dd7b17019..c7295d770 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -28,6 +28,22 @@ log = logging.getLogger(__name__) +def clip_to_display(data, screen_limits): + """Clip to Display. This function is used to clip the eye data to the display size. Removes + > 1 values and < 0 values. Removes nan values. + + Input: + data (np.ndarray): Eye data + screen_limits (tuple): Screen limits + + Output: + clipped_data (np.ndarray): Clipped eye data + """ + clipped_data = np.clip(data, screen_limits[0], screen_limits[1]) + clipped_data = clipped_data[~np.isnan(clipped_data)] + + return clipped_data + def visualize_erp( raw_data: RawData, @@ -140,21 +156,19 @@ def visualize_gaze( right_eye_x = right_eye_data[0] right_eye_y = right_eye_data[1] eye_data = (left_eye_x, left_eye_y, right_eye_x, right_eye_y) - - # transform the eye data to fit the display. remove > 1 values < 0 values and flip the y axis - lx = np.clip(left_eye_x, 0, 1) - ly = np.clip(left_eye_y, 0, 1) - rx = np.clip(right_eye_x, 0, 1) - ry = np.clip(right_eye_y, 0, 1) + + # Transform the eye data to fit the display. Remove values < 1 & > 0, remove nan values + screen_limits = (0, 1) + clipped_data = [] + for i in eye_data: + clipped_data.append(clip_to_display(i, screen_limits)) + + lx, ly, rx, ry = clipped_data + + # Flip y axis ly = 1 - ly ry = 1 - ry - # remove nan values - lx = lx[~np.isnan(lx)] - ly = ly[~np.isnan(ly)] - rx = rx[~np.isnan(rx)] - ry = ry[~np.isnan(ry)] - # scale the eye data to the image fig, ax = plt.subplots() ax.imshow(img, extent=[0, 1, 0, 1]) @@ -427,8 +441,6 @@ def visualize_session_data(session_path: str, parameters: dict, show=True) -> Fi trial_window = parameters.get("trial_window") static_offset = parameters.get("static_trigger_offset") - # TODO check for existence of these files and throw error if not found - # TODO check for other data types (tobii) raw_data = load_raw_data(Path(session_path, f'{RAW_DATA_FILENAME}.csv')) channels = raw_data.channels sample_rate = raw_data.sample_rate diff --git a/bcipy/parameters/devices.json b/bcipy/parameters/devices.json index 381284398..48af0e2bc 100644 --- a/bcipy/parameters/devices.json +++ b/bcipy/parameters/devices.json @@ -84,7 +84,7 @@ "description": "GTec g.USBamp" }, { - "name": "Tobii-P0", + "name": "Tobii Nano", "content_type": "Eyetracker", "channels": [ { "name": "device_ts", "label": "device_ts" }, diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index 4cf2a615c..9b13246b2 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -8,7 +8,7 @@ "type": "bool" }, "acq_mode": { - "value": "EEG", + "value": "EEG+Eyetracker", "section": "acq_config", "readableName": "Acquisition Mode", "helpTip": "Specifies the hardware device(s) used for data collection.", diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 311909970..972673a1c 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -20,7 +20,7 @@ from bcipy.signal.model.base_model import SignalModel, SignalModelMetadata from bcipy.signal.model.pca_rda_kde import PcaRdaKdeModel from bcipy.signal.process import (ERPTransformParams, filter_inquiries, - get_default_transform) + get_default_transform, extract_eye_info) from bcipy.signal.model.fusion_model import GazeModel import numpy as np from matplotlib.figure import Figure @@ -153,7 +153,7 @@ def offline_analysis( f"Static offset: {static_offset}" ) - # Load raw data: [RawData(Tobii-P0), RawData(DSI-24)] + # raw_data: [RawData(EyeTracker, RawData(EEG)] raw_data = load_raw_data(data_folder, data_file_paths) for mode_data in raw_data: @@ -258,7 +258,6 @@ def offline_analysis( ) if device_spec.content_type == "Eyetracker": - print(device_spec) figure_handles = visualize_gaze( mode_data, save_path=data_folder if save_figures else None, @@ -320,7 +319,7 @@ def offline_analysis( if len(inquiries[i]) == 0: continue - left_eye, right_eye = model.reshaper.extract_eye_info(inquiries[i]) + left_eye, right_eye = extract_eye_info(inquiries[i]) preprocessed_data[i] = np.array([left_eye, right_eye]) # Channels x Sample Size x Dimensions(x,y) # Train test split: @@ -336,7 +335,6 @@ def offline_analysis( model.fit(train_right_eye) scores, means, covs = model.get_scores(test_right_eye) - # print(scores) # Visualize the results: figure_handles = visualize_gaze_inquiries( diff --git a/bcipy/signal/process/__init__.py b/bcipy/signal/process/__init__.py index ce21a5ae5..e2239aab0 100644 --- a/bcipy/signal/process/__init__.py +++ b/bcipy/signal/process/__init__.py @@ -2,11 +2,13 @@ from bcipy.signal.process.transform import (Composition, Downsample, ERPTransformParams, get_default_transform) +from bcipy.signal.process.extract_gaze import extract_eye_info __all__ = [ "filter_inquiries", "get_default_transform", "Downsample", "Composition", - "ERPTransformParams" + "ERPTransformParams", + "extract_eye_info" ] diff --git a/bcipy/signal/process/extract_gaze.py b/bcipy/signal/process/extract_gaze.py new file mode 100644 index 000000000..c208438d2 --- /dev/null +++ b/bcipy/signal/process/extract_gaze.py @@ -0,0 +1,47 @@ +import numpy as np + +from bcipy.helpers.exceptions import SignalException + +def extract_eye_info(data): + """"Rearrange the dimensions of gaze inquiry data and reshape it to num_channels x num_samples + Extract Left and Right Eye info from data. Remove all blinks, do necessary preprocessing. + The data is extracted according to the channel map: + ['device_ts, 'system_ts', 'left_x', 'left_y', 'left_pupil', 'right_x', 'right_y', 'right_pupil'] + + Args: + data (np.ndarray): Data in shape of num_channels x num_samples + + Returns: + left_eye (np.ndarray), left_pupil (List(float)) + right_eye (np.ndarray), right_pupil (List(float)) + """ + + # Extract samples from channels + lx = data[2, :] + ly = data[3, :] + left_pupil = data[4, :] # Use if needed + + rx = data[5, :] + ry = data[6, :] + right_pupil = data[7, :] # Use if needed + + left_eye = np.vstack((np.array(lx), np.array(ly))).T + right_eye = np.vstack((np.array(rx), np.array(ry))).T + + # Remove ALL blinks (i.e. Nan values) regardless of which eye it occurs. + # Make sure that the number of samples are the same for both eyes + left_eye_nan_idx = np.isnan(left_eye).any(axis=1) + left_eye = left_eye[~left_eye_nan_idx] + right_eye = right_eye[~left_eye_nan_idx] + + right_eye_nan_idx = np.isnan(right_eye).any(axis=1) + left_eye = left_eye[~right_eye_nan_idx] + right_eye = right_eye[~right_eye_nan_idx] + + try: + len(left_eye) != len(right_eye) + except AssertionError: + raise SignalException( + 'Number of samples for left and right eye are not the same.') + + return left_eye, right_eye \ No newline at end of file From bc202ada53c58ccf866501aeaf6a98d19ebcf6be Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Sun, 8 Oct 2023 17:41:44 -0400 Subject: [PATCH 106/330] resolve PR comments --- bcipy/simulator/helpers/data_engine.py | 31 ++++++++++++++--------- bcipy/simulator/helpers/sampler.py | 23 +++++++---------- bcipy/simulator/helpers/signal_helpers.py | 31 ++++++++--------------- bcipy/simulator/sim_sampler.py | 4 +-- bcipy/simulator/tests/sampler_test.py | 10 +++----- 5 files changed, 42 insertions(+), 57 deletions(-) diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py index 34ae92e5d..dd668c18f 100644 --- a/bcipy/simulator/helpers/data_engine.py +++ b/bcipy/simulator/helpers/data_engine.py @@ -1,9 +1,12 @@ from abc import ABC -from typing import Optional +from pathlib import Path +from typing import Optional, List import numpy as np import pandas as pd +from bcipy.config import DEFAULT_PARAMETER_FILENAME +from bcipy.helpers import load from bcipy.helpers.list import grouper from bcipy.helpers.parameters import Parameters from bcipy.simulator.helpers.signal_helpers import ExtractedExperimentData, process_raw_data_for_model @@ -26,13 +29,15 @@ class RawDataEngine(DataEngine): Object that loads in list of previous session data folders and transforms data into implemented schema """ - def __init__(self, source_dirs: list[str], parameters: list[Parameters]): - self.source_dirs: list[str] = source_dirs - self.parameters: list[Parameters] = parameters - self.data: Optional[list[ExtractedExperimentData]] = None - self.trials_by_inquiry: list[np.ndarray] = [] # shape (i_inquiry, n_channel, m_trial, x_sample). - self.symbols_by_inquiry: list[list] = [] # shape (i_inquiry, s_alphabet_subset) - self.labels_by_inquiry: list[list] = [] # shape (i_inquiry, s_alphabet_subset) + def __init__(self, source_dirs: List[str]): + # TODO read parameters from source dirx + # TODO maybe rely upon single source of data, write some scripts that clean data and group them + self.source_dirs: List[str] = source_dirs + self.parameter_files: List[Parameters] = [] + self.data: Optional[List[ExtractedExperimentData]] = None + self.trials_by_inquiry: List[np.ndarray] = [] # shape (i_inquiry, n_channel, m_trial, x_sample). + self.symbols_by_inquiry: List[List] = [] # shape (i_inquiry, s_alphabet_subset) + self.labels_by_inquiry: List[List] = [] # shape (i_inquiry, s_alphabet_subset) self.schema: Optional[pd.DataFrame] = None self.load() @@ -44,12 +49,14 @@ def load(self) -> DataEngine: Returns: self for chaining """ - assert len(self.source_dirs) == len(self.parameters) + self.parameter_files = [load.load_json_parameters(str(Path(data_folder, DEFAULT_PARAMETER_FILENAME)), value_cast=True) for data_folder in self.source_dirs] + + assert len(self.source_dirs) == len(self.parameter_files) # TODO more general parameter validation function self.data = [process_raw_data_for_model(source_dir, parameter) for source_dir, parameter in - zip(self.source_dirs, self.parameters)] + zip(self.source_dirs, self.parameter_files)] - for data_source, parameter in zip(self.data, self.parameters): + for data_source, parameter in zip(self.data, self.parameter_files): trigger_targetness, trigger_timing, trigger_symbols = data_source.decoded_triggers self.trials_by_inquiry.append(np.split(data_source.trials, data_source.inquiries.shape[1], 1)) self.symbols_by_inquiry.append([list(group) for group in @@ -100,4 +107,4 @@ def transform(self) -> DataEngine: def get_data(self): return self.schema.copy() if self.schema is not None else self.data -# TODO ReplaySessionDataEngine \ No newline at end of file +# TODO ReplaySessionDataEngine diff --git a/bcipy/simulator/helpers/sampler.py b/bcipy/simulator/helpers/sampler.py index 28d5c8227..62dfdad4f 100644 --- a/bcipy/simulator/helpers/sampler.py +++ b/bcipy/simulator/helpers/sampler.py @@ -1,9 +1,10 @@ from abc import ABC -from typing import Callable +from typing import Callable, List import numpy as np import pandas as pd +from bcipy.helpers.exceptions import TaskConfigurationException from bcipy.helpers.parameters import Parameters from bcipy.helpers.symbols import alphabet from bcipy.simulator.helpers.data_engine import RawDataEngine @@ -22,12 +23,11 @@ def set_reshaper(self, reshaper: Callable): class SimpleLetterSampler(Sampler): - def __init__(self, data_engine: RawDataEngine, params=None): + def __init__(self, data_engine: RawDataEngine, params: List[Parameters] = None): self.data_engine: RawDataEngine = data_engine - self.params: Parameters = params if params else self.data_engine.parameters + self.parameter_files: List[Parameters] = params if params else self.data_engine.parameter_files self.model_input_reshaper: Callable = self.__default_reshaper - - self.alphabet: list[str] = params.get('symbol_set') if params else alphabet() + self.alphabet: List[str] = params[0].get('symbol_set') if params else alphabet() self.data: pd.DataFrame = self.data_engine.transform().get_data() def sample(self, state: SimSessionState) -> np.ndarray: @@ -45,16 +45,12 @@ def sample(self, state: SimSessionState) -> np.ndarray: for symbol in inquiry_letter_subset: is_target = int(symbol == target_letter) filtered_data = self.data.query(f'target == {is_target} and symbol == "{symbol}"') - row = filtered_data.sample( - 1) if len(filtered_data) else None # TODO figure out what to do when no sample is found. e.g no eeg data for nontarget symbol of 'x' - - if row is None: - print("row is None") - breakpoint() + if not len(filtered_data): + raise TaskConfigurationException(message="No eeg sample found with provided data and query") + row = filtered_data.sample(1) eeg_responses.append(row['eeg']) - print(inquiry_letter_subset) return self.model_input_reshaper(eeg_responses) def set_reshaper(self, reshaper: Callable): @@ -69,5 +65,4 @@ def __default_reshaper(self, eeg_response) -> np.ndarray: return np.array(channels_eeg[0]) - -# TODO ReplaySampler \ No newline at end of file +# TODO ReplaySampler diff --git a/bcipy/simulator/helpers/signal_helpers.py b/bcipy/simulator/helpers/signal_helpers.py index 7dfae2051..738643d3c 100644 --- a/bcipy/simulator/helpers/signal_helpers.py +++ b/bcipy/simulator/helpers/signal_helpers.py @@ -1,28 +1,20 @@ -import json import logging as logger from dataclasses import dataclass -from typing import Tuple from pathlib import Path +from typing import List -import matplotlib.pyplot as plt import numpy as np -import pandas as pd -import seaborn as sns + +import bcipy.acquisition.devices as devices from bcipy.config import ( RAW_DATA_FILENAME, TRIGGER_FILENAME, - DEFAULT_PARAMETER_FILENAME, SESSION_DATA_FILENAME, DEFAULT_DEVICE_SPEC_FILENAME, ) from bcipy.helpers.acquisition import analysis_channels -import bcipy.acquisition.devices as devices -from bcipy.helpers.list import grouper -from bcipy.helpers.load import load_json_parameters, load_raw_data, load_experimental_data -from bcipy.helpers.session import read_session, evidence_records -from bcipy.helpers.stimuli import update_inquiry_timing +from bcipy.helpers.load import load_raw_data, load_experimental_data +from bcipy.helpers.stimuli import update_inquiry_timing, InquiryReshaper from bcipy.helpers.triggers import TriggerType, trigger_decoder -from bcipy.helpers.symbols import alphabet -from bcipy.signal.model import PcaRdaKdeModel from bcipy.signal.process import get_default_transform, filter_inquiries, ERPTransformParams logger.getLogger().setLevel(logger.INFO) @@ -33,13 +25,13 @@ class ExtractedExperimentData: # TODO clean up design inquiries: np.ndarray trials: np.ndarray - labels: list - inquiry_timing: list + labels: List + inquiry_timing: List decoded_triggers: tuple -def process_raw_data_for_model(data_folder, parameters, model_class=PcaRdaKdeModel) -> ExtractedExperimentData: +def process_raw_data_for_model(data_folder, parameters, reshaper: InquiryReshaper = InquiryReshaper()) -> ExtractedExperimentData: assert parameters, "Parameters are required for offline analysis." if not data_folder: data_folder = load_experimental_data() @@ -90,9 +82,6 @@ def process_raw_data_for_model(data_folder, parameters, model_class=PcaRdaKdeMod log.info(f"Channels read from csv: {channels}") log.info(f"Device type: {type_amp}, fs={sample_rate}") - k_folds = parameters.get("k_folds") - model = model_class(k_folds=k_folds) - # Process triggers.txt files trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( offset=static_offset, @@ -111,7 +100,7 @@ def process_raw_data_for_model(data_folder, parameters, model_class=PcaRdaKdeMod data, fs = raw_data.by_channel() - inquiries, inquiry_labels, inquiry_timing = model.reshaper( + inquiries, inquiry_labels, inquiry_timing = reshaper( trial_targetness_label=trigger_targetness, timing_info=corrected_trigger_timing, eeg_data=data, @@ -126,7 +115,7 @@ def process_raw_data_for_model(data_folder, parameters, model_class=PcaRdaKdeMod inquiries, fs = filter_inquiries(inquiries, default_transform, sample_rate) inquiry_timing = update_inquiry_timing(inquiry_timing, downsample_rate) trial_duration_samples = int(window_length * fs) - trials = model.reshaper.extract_trials(inquiries, trial_duration_samples, inquiry_timing) + trials = reshaper.extract_trials(inquiries, trial_duration_samples, inquiry_timing) # define the training classes using integers, where 0=nontargets/1=targets # labels = inquiry_labels.flatten() diff --git a/bcipy/simulator/sim_sampler.py b/bcipy/simulator/sim_sampler.py index 9b26c3cf0..a406ccc73 100644 --- a/bcipy/simulator/sim_sampler.py +++ b/bcipy/simulator/sim_sampler.py @@ -51,8 +51,6 @@ def __init__(self, parameter_path: str, save_dir: str, data_engine: DataEngine, self.verbose = verbose self.visualize = visualize - # self.signal_models_classes = [PcaRdaKdeModel for m in self.signal_models] # Hardcoded rn - def run(self): while not self.state_manager.is_done(): self.state_manager.add_state('display_alphabet', self.__get_inquiry_alp_subset(self.state_manager.get_state())) @@ -61,7 +59,7 @@ def run(self): self.state_manager.update(evidence) - # TODO visualize results + # TODO visualize result metrics def __get_inquiry_alp_subset(self, state: SimSessionState): # TODO put this in own file or object diff --git a/bcipy/simulator/tests/sampler_test.py b/bcipy/simulator/tests/sampler_test.py index de68850b5..de15de330 100644 --- a/bcipy/simulator/tests/sampler_test.py +++ b/bcipy/simulator/tests/sampler_test.py @@ -1,28 +1,24 @@ -import argparse import random from pathlib import Path + import numpy as np -from bcipy.config import DEFAULT_PARAMETER_FILENAME -from bcipy.helpers import load from bcipy.helpers.load import load_json_parameters from bcipy.helpers.symbols import alphabet from bcipy.signal.model import PcaRdaKdeModel +from bcipy.simulator.helpers.data_engine import RawDataEngine from bcipy.simulator.helpers.sampler import Sampler, SimpleLetterSampler from bcipy.simulator.interfaces import SimSessionState -from bcipy.simulator.sim_sampler import RawDataEngine if __name__ == "__main__": args = dict() args['data_folders'] = ["/Users/srikarananthoju/cambi/tab_test_dynamic/tab_test_dynamic_RSVP_Copy_Phrase_Thu_24_Aug_2023_18hr58min16sec_-0700"] - args['parameter_path'] = [load.load_json_parameters(str(Path(data_folder, DEFAULT_PARAMETER_FILENAME)), value_cast=True) for data_folder in - args['data_folders']] args['out_dir'] = Path(__file__).resolve().parent model_file = Path( "/Users/srikarananthoju/cambi/tab_test_dynamic/tab_test_dynamic_RSVP_Calibration_Thu_24_Aug_2023_18hr41min37sec_-0700/model_0.9524_200_800.pkl") sim_parameters = load_json_parameters("bcipy/simulator/sim_parameters.json", value_cast=True) - data_engine = RawDataEngine(args['data_folders'], args['parameter_path']) + data_engine = RawDataEngine(args['data_folders']) target_phrase = "HELLO_WORLD" target_symbol = "H" From dfef5403b12cffa73e98c2853d18f3cd6a79514d Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 9 Oct 2023 13:55:44 -0700 Subject: [PATCH 107/330] Address PR feedback --- .../display/demo/vep/demo_calibration_vep.py | 29 +++++++++---------- bcipy/display/paradigm/vep/display.py | 1 - bcipy/display/paradigm/vep/layout.py | 7 ++--- 3 files changed, 17 insertions(+), 20 deletions(-) diff --git a/bcipy/display/demo/vep/demo_calibration_vep.py b/bcipy/display/demo/vep/demo_calibration_vep.py index 0bffab679..974674fc4 100644 --- a/bcipy/display/demo/vep/demo_calibration_vep.py +++ b/bcipy/display/demo/vep/demo_calibration_vep.py @@ -3,7 +3,8 @@ from psychopy import core, visual -from bcipy.display import InformationProperties, VEPStimuliProperties +from bcipy.display import (InformationProperties, VEPStimuliProperties, + init_display_window) from bcipy.display.components.layout import centered from bcipy.display.components.task_bar import CalibrationTaskBar from bcipy.display.paradigm.vep.display import VEPDisplay @@ -16,28 +17,26 @@ handler.setLevel(logging.DEBUG) root.addHandler(handler) +font = 'Courier New' info = InformationProperties( info_color=['White'], info_pos=[(-.5, -.75)], info_height=[0.1], - info_font=['Arial'], + info_font=[font], info_text=['VEP Display Demo'], ) task_text = ['1/4', '2/4', '3/4', '4/4'] num_boxes = 6 -win = visual.Window(size=[700, 700], - fullscr=False, - screen=1, - allowGUI=False, - allowStencil=False, - monitor='testMonitor', - color='black', - colorSpace='rgb', - blendMode='avg', - waitBlanking=False, - winType='pyglet') +window_parameters = { + 'full_screen': False, + 'window_height': 700, + 'window_width': 700, + 'stim_screen': 1, + 'background_color': 'black' +} +win = init_display_window(window_parameters) win.recordFrameIntervals = True frameRate = win.getActualFrameRate() @@ -55,14 +54,14 @@ stim_color=stim_color, stim_pos=box_config.positions, stim_height=0.1, - stim_font='Arial', + stim_font=font, timing=(1, 0.5, 2, 4), # prompt, fixation, animation, stimuli stim_length=1, # how many times to stimuli ) task_bar = CalibrationTaskBar(win, inquiry_count=4, current_index=0, - font='Arial') + font=font) vep = VEPDisplay(win, experiment_clock, stimuli, task_bar, info, box_config=box_config) timing = [] wait_seconds = 2 diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index 95a8f7f61..e0d889699 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -290,7 +290,6 @@ def stimulate(self) -> List[float]: # self.draw_static() self.window.flip() ended_at = self.static_clock.getTime() - # TODO: should we have a trigger for VEP_STIM_END? self.logger.debug( f"Expected stim time: {self.timing_stimuli}; actual run time: {ended_at}" ) diff --git a/bcipy/display/paradigm/vep/layout.py b/bcipy/display/paradigm/vep/layout.py index eeaf6ef28..c89af8308 100644 --- a/bcipy/display/paradigm/vep/layout.py +++ b/bcipy/display/paradigm/vep/layout.py @@ -105,16 +105,15 @@ def __init__(self, num_boxes: int, spacing_pct: Optional[float] = None, height_pct: float = 0.25): - assert num_boxes == 4 or num_boxes == 6, 'Number of boxes must be 4 or 6' - assert height_pct <= 0.5, "Rows can't take more than 50% of the height" - self.num_boxes = num_boxes self.layout = layout + self.num_boxes = num_boxes + self.height_pct = height_pct + self.validate() default_spacing = {4: 0.1, 6: 0.05} if not spacing_pct: spacing_pct = default_spacing[num_boxes] self.spacing_pct = spacing_pct - self.height_pct = height_pct self._row_count = 2 def validate(self): From 251cf43b1cc587fdbd66d166855155604144ffaa Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Mon, 9 Oct 2023 17:27:29 -0400 Subject: [PATCH 108/330] run loop logic and decision making. draft --- bcipy/simulator/helpers/data_engine.py | 9 +- bcipy/simulator/helpers/decision.py | 237 +++++++++++++++++++++++++ bcipy/simulator/helpers/sampler.py | 6 +- bcipy/simulator/helpers/sim_state.py | 115 +++++++++++- bcipy/simulator/helpers/types.py | 11 ++ bcipy/simulator/interfaces.py | 9 +- bcipy/simulator/sim_sampler.py | 33 ++-- bcipy/simulator/tests/sampler_test.py | 56 ++++-- 8 files changed, 439 insertions(+), 37 deletions(-) create mode 100644 bcipy/simulator/helpers/decision.py create mode 100644 bcipy/simulator/helpers/types.py diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py index dd668c18f..e2b3a1af4 100644 --- a/bcipy/simulator/helpers/data_engine.py +++ b/bcipy/simulator/helpers/data_engine.py @@ -23,6 +23,9 @@ def transform(self): def get_data(self): ... + def get_parameters(self) -> List[Parameters]: + ... + class RawDataEngine(DataEngine): """ @@ -49,7 +52,8 @@ def load(self) -> DataEngine: Returns: self for chaining """ - self.parameter_files = [load.load_json_parameters(str(Path(data_folder, DEFAULT_PARAMETER_FILENAME)), value_cast=True) for data_folder in self.source_dirs] + self.parameter_files = [load.load_json_parameters(str(Path(data_folder, DEFAULT_PARAMETER_FILENAME)), value_cast=True) for data_folder in + self.source_dirs] assert len(self.source_dirs) == len(self.parameter_files) # TODO more general parameter validation function @@ -107,4 +111,7 @@ def transform(self) -> DataEngine: def get_data(self): return self.schema.copy() if self.schema is not None else self.data + def get_parameters(self): + return self.parameter_files + # TODO ReplaySessionDataEngine diff --git a/bcipy/simulator/helpers/decision.py b/bcipy/simulator/helpers/decision.py new file mode 100644 index 000000000..dd8998e26 --- /dev/null +++ b/bcipy/simulator/helpers/decision.py @@ -0,0 +1,237 @@ +from abc import ABC + +import numpy as np +import logging +from typing import Dict, List +from copy import copy + +from bcipy.simulator.helpers.types import InquiryResult + +log = logging.getLogger(__name__) + + +# TODO copied over criteria.py. Still debating whether to tie our simulator to that class or not. For now, just hotfixing logic to fit with my implementation + +class SimDecisionCriteria(ABC): + """Abstract class for Criteria which can be applied to evaluate a inquiry + """ + + def reset(self): + pass + + def decide(self, series: List[InquiryResult]): + # TODO update documentation + """ + Apply the given criteria. + Parameters: + ----------- + series - series data + - target(str): target of the series + - time_spent(ndarray[float]): |num_trials|x1 + time spent on the inquiry + - list_sti(list[list[str]]): presented symbols in each + inquiry + - list_distribution(list[ndarray[float]]): list of |alp|x1 + arrays with prob. dist. over alp + + """ + raise NotImplementedError() + + +class MinIterations(SimDecisionCriteria): + """ Returns true if the minimum number of iterations have not yet + been reached. """ + + def __init__(self, min_num_inq: int): + """ Args: + min_num_inq(int): minimum number of inquiry number before any + termination objective is allowed to be triggered """ + self.min_num_inq = min_num_inq + + def decide(self, series: List[InquiryResult]): + # Note: we use 'list_sti' parameter since this is the number of + # inquiries displayed. The length of 'list_distribution' is 1 greater + # than this, since the language model distribution is added before + # the first inquiry is displayed. + current_inq = len(series) if series else 0 + log.info( + f"Checking min iterations; current iteration is {current_inq}") + return current_inq < self.min_num_inq + + +# +# class DecreasedProbabilityCriteria(DecisionCriteria): +# """Returns true if the letter with the max probability decreased from the +# last inquiry.""" +# +# def decide(self, series: Dict): +# if len(series['list_distribution']) < 2: +# return False +# prev_dist = series['list_distribution'][-2] +# cur_dist = series['list_distribution'][-1] +# return np.argmax(cur_dist) == np.argmax( +# prev_dist) and np.max(cur_dist) < np.max(prev_dist) +# +# +class MaxIterationsSim(SimDecisionCriteria): + """Returns true if the max iterations have been reached.""" + + def __init__(self, max_num_inq: int): + """ Args: + max_num_inq(int): maximum number of inquiries allowed before + mandatory termination """ + self.max_num_inq = max_num_inq + + def decide(self, series: List[InquiryResult]): + # Note: len(series['list_sti']) != len(series['list_distribution']) + # see MinIterationsCriteria comment + current_inq = len(series) if series else 0 + if current_inq >= self.max_num_inq: + log.info( + "Committing to decision: max iterations have been reached.") + return True + return False + + +class ProbThresholdSim(SimDecisionCriteria): + """Returns true if the commit threshold has been met.""" + + def __init__(self, threshold: float): + """ Args: + threshold(float in [0,1]): A threshold on most likely + candidate posterior. If a candidate exceeds a posterior + the system terminates. + """ + assert 1 >= threshold >= 0, "stopping threshold should be in [0,1]" + self.tau = threshold + + def decide(self, series: List[InquiryResult]): + current_distribution = series[-1].evidence_likelihoods + if np.max(current_distribution) > self.tau: + log.info("Committing to decision: posterior exceeded threshold.") + return True + return False + +# +# class MarginCriteria(DecisionCriteria): +# """ Stopping criteria based on the difference of two most likely candidates. +# This condition enforces the likelihood difference between two top +# candidates to be at least a value. E.g. in 4 category case with +# a margin 0.2, the edge cases [0.6,0.4,0.,0.] and [0.4,0.2,0.2,0.2] +# satisfy the condition. +# """ +# +# def __init__(self, margin: float): +# """ Args: +# margin(float in [0,1]): Minimum distance required between +# two most likely competing candidates to trigger termination. +# """ +# assert 1 >= margin >= 0, "difference margin should be in [0,1]" +# self.margin = margin +# +# def decide(self, series: Dict): +# # Get the current posterior probability values +# p = copy(series['list_distribution'][-1]) +# # This criteria compares most likely candidates (best competitors) +# candidates = [p[idx] for idx in list(np.argsort(p)[-2:])] +# stopping_rule = np.abs(candidates[0] - candidates[1]) +# d = stopping_rule > self.margin +# if d: +# log.info("Committing to decision: margin is high enough.") +# +# return d +# +# +# class MomentumCommitCriteria(DecisionCriteria): +# """ Stopping criteria based on Shannon entropy on the simplex +# Attr: +# lam(float): linear combination parameter between entropy and the +# speed term +# tau(float): decision threshold +# """ +# +# def __init__(self, tau: float, lam: float): +# self.lam = lam +# self.tau = tau +# +# def reset(self): +# pass +# +# def decide(self, series): +# eps = np.power(.1, 6) +# +# prob_history = copy(series['list_distribution']) +# p = prob_history[-1] +# +# tmp_p = np.ones(len(p)) * (1 - self.tau) / (len(p) - 1) +# tmp_p[0] = self.tau +# +# tmp = -np.sum(p * np.log2(p + eps)) +# tau_ = -np.sum(tmp_p * np.log2(tmp_p + eps)) +# +# tmp_ = np.array(prob_history) +# mom_ = tmp_[1:] * (np.log(tmp_[1:] + eps) - np.log(tmp_[:-1] + eps)) +# momentum = np.linalg.norm(mom_) / len(prob_history) +# +# if len(prob_history) > 1: +# stopping_rule = tmp - self.lam * momentum +# else: +# stopping_rule = tmp +# +# d = stopping_rule < tau_ +# +# return d +# +# +# class CriteriaEvaluator(): +# """Evaluates whether an series should commit to a decision based on the +# provided criteria. +# +# Parameters: +# ----------- +# continue_criteria: list of criteria; if any of these evaluate to true the +# decision maker continues. +# commit_criteria: list of criteria; if any of these return true and +# continue_criteria are all false, decision maker commits to a decision. +# """ +# +# def __init__(self, continue_criteria: List[DecisionCriteria], +# commit_criteria: List[DecisionCriteria]): +# self.continue_criteria = continue_criteria or [] +# self.commit_criteria = commit_criteria or [] +# +# @classmethod +# def default(cls, min_num_inq: int, max_num_inq: int, threshold: float): +# return cls(continue_criteria=[MinIterationsCriteria(min_num_inq)], +# commit_criteria=[ +# MaxIterationsCriteria(max_num_inq), +# ProbThresholdCriteria(threshold) +# ]) +# +# def do_series(self): +# for el_ in self.continue_criteria: +# el_.reset() +# for el in self.commit_criteria: +# el.reset() +# +# def should_commit(self, series: Dict): +# """Evaluates the given series; returns true if stoppage criteria has +# been met, otherwise false. +# +# Parameters: +# ----------- +# series - series data +# - target(str): target of the series +# - time_spent(ndarray[float]): |num_trials|x1 +# time spent on the inquiry +# - list_sti(list[list[str]]): presented symbols in each +# inquiry +# - list_distribution(list[ndarray[float]]): list of |alp|x1 +# arrays with prob. dist. over alp +# """ +# if any( +# criteria.decide(series) +# for criteria in self.continue_criteria): +# return False +# return any( +# criteria.decide(series) for criteria in self.commit_criteria) diff --git a/bcipy/simulator/helpers/sampler.py b/bcipy/simulator/helpers/sampler.py index 62dfdad4f..657e2ad85 100644 --- a/bcipy/simulator/helpers/sampler.py +++ b/bcipy/simulator/helpers/sampler.py @@ -8,13 +8,13 @@ from bcipy.helpers.parameters import Parameters from bcipy.helpers.symbols import alphabet from bcipy.simulator.helpers.data_engine import RawDataEngine -from bcipy.simulator.interfaces import SimSessionState +from bcipy.simulator.interfaces import SimState class Sampler(ABC): """ Interface to generate sample of data usable by a model """ - def sample(self, state: SimSessionState): + def sample(self, state: SimState): ... def set_reshaper(self, reshaper: Callable): @@ -30,7 +30,7 @@ def __init__(self, data_engine: RawDataEngine, params: List[Parameters] = None): self.alphabet: List[str] = params[0].get('symbol_set') if params else alphabet() self.data: pd.DataFrame = self.data_engine.transform().get_data() - def sample(self, state: SimSessionState) -> np.ndarray: + def sample(self, state: SimState) -> np.ndarray: """ - query eeg response by letter - reshape for signal model input diff --git a/bcipy/simulator/helpers/sim_state.py b/bcipy/simulator/helpers/sim_state.py index 19ddfc1a1..379b1bc49 100644 --- a/bcipy/simulator/helpers/sim_state.py +++ b/bcipy/simulator/helpers/sim_state.py @@ -1,28 +1,129 @@ +import copy from abc import ABC from dataclasses import dataclass +from typing import List, Optional + +import numpy as np + +from bcipy.helpers.exceptions import FieldException +from bcipy.helpers.parameters import Parameters +from bcipy.helpers.symbols import alphabet +from bcipy.simulator.helpers.decision import SimDecisionCriteria, MaxIterationsSim, ProbThresholdSim +from bcipy.simulator.helpers.types import InquiryResult +from bcipy.task.control.criteria import DecisionCriteria, MaxIterationsCriteria, ProbThresholdCriteria @dataclass -class SimSessionState: +class SimState: """ Represents the state of a current session during simulation """ target_symbol: str current_sentence: str target_sentence: str - display_alphabet: list[str] + display_alphabet: List[str] inquiry_n: int series_n: int + series_results: List[List[InquiryResult]] + + decision_criterion: List[SimDecisionCriteria] + + def total_inquiry_count(self): + count = 0 + for series in self.series_results: + count += len(series) + + return count class StateManager(ABC): - def update(self, evidence): - ... + def update(self, evidence: np.ndarray): + raise NotImplementedError() def is_done(self) -> bool: - ... + raise NotImplementedError() - def get_state(self) -> SimSessionState: + def get_state(self) -> SimState: ... - def add_state(self, state_field, state_value): + def mutate_state(self, state_field, state_value): pass + + +class StateManagerImpl(StateManager): + + def __init__(self, parameters: Parameters): + self.state: SimState = self.initial_state() + self.parameters = parameters + + self.stop_inq = 50 # TODO pull from parameters + + def is_done(self) -> bool: + + return self.state.total_inquiry_count() > self.stop_inq or self.state.target_sentence == self.state.current_sentence or self.state.series_n > 50 + + def update(self, evidence: np.ndarray) -> InquiryResult: + + temp_inquiry_result = InquiryResult(target=self.state.target_symbol, time_spent=0, stimuli=self.state.display_alphabet, + evidence_likelihoods=list(evidence), decision=None) + + # finding out whether max iterations is hit or prob threshold is hit + temp_series = copy.deepcopy(self.get_state().series_results) + temp_series[-1].append(temp_inquiry_result) + is_decidable = any([decider.decide(temp_series[-1]) for decider in self.state.decision_criterion]) + decision = None + # TODO what to do when max inquiry count is reached? + + new_state = self.get_state().__dict__ + if is_decidable: + decision = alphabet()[np.argmax(evidence)] # deciding the maximum probability symbol TODO abstract + + if decision == self.state.target_symbol: # correct decision + new_state['series_n'] += 1 # TODO abstract out into reset function + new_state['series_results'].append([]) + new_state['inquiry_n'] = 0 + + new_state['current_sentence'] += decision + + next_target_symbol_idx = len(new_state['current_sentence']) + if next_target_symbol_idx >= len(self.state.target_sentence): + pass + else: + new_state['target_symbol'] = self.state.target_sentence[next_target_symbol_idx] + + else: # wrong decision + new_state['series_n'] += 1 + new_state['series_results'].append([]) + new_state['inquiry_n'] = 0 + + else: + new_state['inquiry_n'] += 1 + + new_inquiry_result = InquiryResult(target=self.state.target_symbol, time_spent=0, stimuli=self.state.display_alphabet, + evidence_likelihoods=list(evidence), decision=decision) + + new_state['series_results'][self.state.series_n].append(new_inquiry_result) + + self.state = SimState(**new_state) + + return new_inquiry_result + + def get_state(self) -> SimState: + return copy.copy(self.state) + + def mutate_state(self, state_field, state_value) -> SimState: + state_dict = self.get_state().__dict__ + if state_field in state_dict: + state_dict[state_field] = state_value + self.state = SimState(**state_dict) + return self.get_state() + else: + raise FieldException(f"Cannot find state field {state_field}") + + @staticmethod + def initial_state(parameters: Parameters = None) -> SimState: + sentence = "HELLO_WORLD" # TODO abstract out with sim_parameters.json + target_symbol = sentence[0] + default_criterion: List[SimDecisionCriteria] = [MaxIterationsSim(50), ProbThresholdSim(0.8)] + + return SimState(target_symbol=target_symbol, current_sentence="", target_sentence=sentence, display_alphabet=[], inquiry_n=0, series_n=0, + series_results=[[]], decision_criterion=default_criterion) diff --git a/bcipy/simulator/helpers/types.py b/bcipy/simulator/helpers/types.py new file mode 100644 index 000000000..c965867a9 --- /dev/null +++ b/bcipy/simulator/helpers/types.py @@ -0,0 +1,11 @@ +from dataclasses import dataclass +from typing import Optional, List + + +@dataclass +class InquiryResult: + target: Optional[str] + time_spent: int # TODO what does time_spent mean? + stimuli: List + evidence_likelihoods: List + decision: Optional[str] diff --git a/bcipy/simulator/interfaces.py b/bcipy/simulator/interfaces.py index 55a9e6e0c..02659d050 100644 --- a/bcipy/simulator/interfaces.py +++ b/bcipy/simulator/interfaces.py @@ -1,10 +1,13 @@ from abc import ABC -from bcipy.simulator.helpers.sim_state import SimSessionState + +from bcipy.helpers.symbols import alphabet +from bcipy.signal.model import PcaRdaKdeModel +from bcipy.simulator.helpers.sim_state import SimState class ModelHandler(ABC): - def generate_evidence(self, state: SimSessionState, features): + def generate_evidence(self, state: SimState, features): ... def get_model(self, key=None): @@ -13,3 +16,5 @@ def get_model(self, key=None): class MetricReferee: ... + + diff --git a/bcipy/simulator/sim_sampler.py b/bcipy/simulator/sim_sampler.py index a406ccc73..57d4c6b68 100644 --- a/bcipy/simulator/sim_sampler.py +++ b/bcipy/simulator/sim_sampler.py @@ -1,10 +1,12 @@ import random +from time import sleep from bcipy.helpers import load from bcipy.helpers.symbols import alphabet from bcipy.simulator.helpers.data_engine import DataEngine from bcipy.simulator.helpers.sampler import Sampler -from bcipy.simulator.helpers.sim_state import StateManager, SimSessionState +from bcipy.simulator.helpers.sim_state import StateManager, SimState +from bcipy.simulator.helpers.types import InquiryResult from bcipy.simulator.interfaces import MetricReferee, ModelHandler from bcipy.simulator.simulator_base import Simulator @@ -31,11 +33,10 @@ class SimulatorCopyPhrase(Simulator): - run closed loop simulation of {TaskType} with {data} with {simulation_params} """ - def __init__(self, parameter_path: str, save_dir: str, data_engine: DataEngine, model_handler: ModelHandler, sampler: Sampler, - state_manager: StateManager, referee: MetricReferee, verbose=False, visualize=False): + def __init__(self, data_engine: DataEngine, model_handler: ModelHandler, sampler: Sampler, + state_manager: StateManager, referee: MetricReferee, parameter_path: str = None, save_dir: str = None, verbose=False, visualize=False): super(SimulatorCopyPhrase, self).__init__() - self.parameters = self.load_parameters(parameter_path) self.save_dir: str = save_dir self.model_handler: ModelHandler = model_handler self.sampler: Sampler = sampler @@ -44,34 +45,46 @@ def __init__(self, parameter_path: str, save_dir: str, data_engine: DataEngine, self.data_engine: DataEngine = data_engine + self.parameters = self.load_parameters(parameter_path) + self.symbol_set = alphabet() self.write_output = False - self.data_loader = None self.verbose = verbose self.visualize = visualize def run(self): while not self.state_manager.is_done(): - self.state_manager.add_state('display_alphabet', self.__get_inquiry_alp_subset(self.state_manager.get_state())) + print(f"Series {self.state_manager.get_state().series_n} | Inquiry {self.state_manager.get_state().inquiry_n}") + self.state_manager.mutate_state('display_alphabet', self.__get_inquiry_alp_subset(self.state_manager.get_state())) sampled_data = self.sampler.sample(self.state_manager.get_state()) evidence = self.model_handler.generate_evidence(self.state_manager.get_state(), sampled_data) - self.state_manager.update(evidence) + print(f"Evidence for stimuli {self.state_manager.get_state().display_alphabet} \n {evidence}") + + inq_record: InquiryResult = self.state_manager.update(evidence) + if inq_record.decision: + print(f"Decided {inq_record.decision} for target {inq_record.target} for sentence {self.state_manager.get_state().target_sentence}") + + print("\n") + sleep(.1) # TODO visualize result metrics - def __get_inquiry_alp_subset(self, state: SimSessionState): + def __get_inquiry_alp_subset(self, state: SimState): # TODO put this in own file or object subset_length = 10 return random.sample(self.symbol_set, subset_length) def load_parameters(self, path): # TODO validate parameters - parameters = load.load_json_parameters(path, value_cast=True) + if not path: + parameters = self.data_engine.get_parameters()[0] # TODO fix this parameter logic. for now assuming one parameter file speaks for all + else: + parameters = load.load_json_parameters(path, value_cast=True) + sim_parameters = load.load_json_parameters( "bcipy/simulator/sim_parameters.json", value_cast=True) - parameters.add_missing_items(sim_parameters) return parameters diff --git a/bcipy/simulator/tests/sampler_test.py b/bcipy/simulator/tests/sampler_test.py index de15de330..00a25772c 100644 --- a/bcipy/simulator/tests/sampler_test.py +++ b/bcipy/simulator/tests/sampler_test.py @@ -8,7 +8,33 @@ from bcipy.signal.model import PcaRdaKdeModel from bcipy.simulator.helpers.data_engine import RawDataEngine from bcipy.simulator.helpers.sampler import Sampler, SimpleLetterSampler -from bcipy.simulator.interfaces import SimSessionState +from bcipy.simulator.helpers.sim_state import StateManagerImpl, StateManager, SimState +from bcipy.simulator.interfaces import ModelHandler, MetricReferee +from bcipy.simulator.sim_sampler import SimulatorCopyPhrase + + +class DummyModelHandler(ModelHandler): + + def __init__(self, model_file): + self.model_file = model_file + + def generate_evidence(self, state: SimState, features): + model = PcaRdaKdeModel() + model = model.load(self.model_file) + + stimuli = state.display_alphabet + alp = alphabet() + eeg_evidence = model.predict(features, stimuli, alp) + + return eeg_evidence + + def get_model(self, key=None): + pass + + +class DummyRef(MetricReferee): + pass + if __name__ == "__main__": args = dict() @@ -19,23 +45,25 @@ sim_parameters = load_json_parameters("bcipy/simulator/sim_parameters.json", value_cast=True) data_engine = RawDataEngine(args['data_folders']) - target_phrase = "HELLO_WORLD" - target_symbol = "H" display_alp = random.sample(alphabet(), 10) - state: SimSessionState = SimSessionState(target_symbol=target_symbol, inquiry_n=0, series_n=0, target_sentence=target_phrase, - current_sentence="", display_alphabet=display_alp) - sampler: Sampler = SimpleLetterSampler(data_engine) - sample: np.ndarray = sampler.sample(state) + stateManager: StateManager = StateManagerImpl(sim_parameters) + stateManager.mutate_state("display_alphabet", display_alp) + print(stateManager.get_state()) - model = PcaRdaKdeModel() - model = model.load(model_file) - - breakpoint() - eeg_evidence = model.predict(sample, state.display_alphabet, alphabet()) + sampler: Sampler = SimpleLetterSampler(data_engine) + sample: np.ndarray = sampler.sample(stateManager.get_state()) - print(eeg_evidence.shape) - print(eeg_evidence) + # model = PcaRdaKdeModel() + # model = model.load(model_file) + # + # eeg_evidence = model.predict(sample, stateManager.get_state().display_alphabet, alphabet()) + # + # print(eeg_evidence.shape) + # print(eeg_evidence) + model_handler = DummyModelHandler(model_file) + sim = SimulatorCopyPhrase(data_engine, model_handler, sampler, stateManager, DummyRef()) + sim.run() breakpoint() From ed8160064db020f3e4be2e3f7be6b78626b8bda9 Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 9 Oct 2023 14:55:57 -0700 Subject: [PATCH 109/330] Fix lint error --- bcipy/display/demo/vep/demo_calibration_vep.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bcipy/display/demo/vep/demo_calibration_vep.py b/bcipy/display/demo/vep/demo_calibration_vep.py index 974674fc4..ca6f493d8 100644 --- a/bcipy/display/demo/vep/demo_calibration_vep.py +++ b/bcipy/display/demo/vep/demo_calibration_vep.py @@ -1,7 +1,7 @@ import logging import sys -from psychopy import core, visual +from psychopy import core from bcipy.display import (InformationProperties, VEPStimuliProperties, init_display_window) From 6b40782fb4a71c2381483f3b194142c7a1806b88 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 10 Oct 2023 17:44:15 -0700 Subject: [PATCH 110/330] #185935799 ; matrix row spacing: computed positions now display equally spaced regardless of the Window's aspect ratio --- bcipy/display/components/layout.py | 16 ++++- bcipy/display/demo/components/demo_layouts.py | 33 +++++++++- .../display/demo/matrix/demo_matrix_layout.py | 1 + bcipy/display/paradigm/matrix/display.py | 7 ++- bcipy/display/paradigm/matrix/layout.py | 60 +++++++++++-------- bcipy/display/tests/components/test_layout.py | 8 ++- .../paradigm/matrix/test_matrix_layout.py | 17 ++++++ 7 files changed, 112 insertions(+), 30 deletions(-) diff --git a/bcipy/display/components/layout.py b/bcipy/display/components/layout.py index a61e20f19..1ad8692a3 100644 --- a/bcipy/display/components/layout.py +++ b/bcipy/display/components/layout.py @@ -102,6 +102,15 @@ def scaled_height(width: float, return width / (win_height / win_width) +def scaled_width(height: float, + window_size: Tuple[float, float], + units: str = 'norm'): + """Given a height, find the equivalent width scaled to the aspect ratio of + a window with the given size""" + width, _height = scaled_size(height, window_size, units) + return width + + class Layout(Container): """Class with methods for positioning elements within a parent container. """ @@ -302,19 +311,22 @@ def at_bottom(parent: Container, height: float) -> Layout: bottom=bottom) -def centered(width_pct: float = 1.0, height_pct: float = 1.0) -> Layout: +def centered(parent: Optional[Container] = None, + width_pct: float = 1.0, + height_pct: float = 1.0) -> Layout: """Constructs a layout that is centered on the screen. Default size is fullscreen but optional parameters can be used to adjust the width and height. Parameters ---------- + parent - optional parent width_pct - optional; sets the width to a given percentage of fullscreen. height_pct - optional; sets the height to a given percentage of fullscreen. """ - container = Layout() + container = Layout(parent=parent) container.resize_width(width_pct, alignment=Alignment.CENTERED) container.resize_height(height_pct, alignment=Alignment.CENTERED) return container diff --git a/bcipy/display/demo/components/demo_layouts.py b/bcipy/display/demo/components/demo_layouts.py index e4809cd36..6fe4afc9c 100644 --- a/bcipy/display/demo/components/demo_layouts.py +++ b/bcipy/display/demo/components/demo_layouts.py @@ -1,4 +1,6 @@ """Useful for viewing computed positions in a window""" +import logging +import sys import time from typing import Callable, List, Tuple, Union @@ -11,7 +13,9 @@ from bcipy.display.components.layout import (Layout, at_top, centered, envelope, height_units, scaled_size) +from bcipy.display.paradigm.matrix.layout import symbol_positions from bcipy.display.paradigm.vep.layout import BoxConfiguration, checkerboard +from bcipy.helpers.symbols import alphabet def make_window(): @@ -253,6 +257,26 @@ def demo_checkerboard2(win: visual.Window): win.flip() +def demo_matrix_positions(win: visual.Window): + """Demo matrix positions. Useful for visualizing how adjustments to layout + dimensions as well as the number of rows and columns affects positioning. + """ + # norm_layout = centered(parent=win, width_pct=1., height_pct=0.5) + norm_layout = centered(parent=win, width_pct=0.75, height_pct=1) + positions = symbol_positions(norm_layout, rows=5, columns=6) + + for sym, pos in zip(alphabet(), positions): + stim = visual.TextStim(win, + text=sym, + pos=pos, + color='white', + height=0.17) + stim.draw() + draw_boundary(win, norm_layout, line_px=5, color='gray') + draw_positions(win, positions, size=scaled_size(0.025, win.size)) + win.flip() + + def run(demo: Callable[[visual.Window], None], seconds=30): """Run the given function for the provided duration. @@ -261,6 +285,12 @@ def run(demo: Callable[[visual.Window], None], seconds=30): demo - function to run; a Window object is passed to this function. seconds - Window is closed after this duration. """ + root = logging.getLogger() + root.setLevel(logging.DEBUG) + handler = logging.StreamHandler(sys.stdout) + handler.setLevel(logging.DEBUG) + root.addHandler(handler) + try: win = make_window() print( @@ -281,8 +311,9 @@ def run(demo: Callable[[visual.Window], None], seconds=30): print('Demo complete.') -run(demo_vep) +# run(demo_vep) # run(demo_height_units) # run(show_layout_coords) # run(demo_checkerboard) # run(demo_checkerboard2) +run(demo_matrix_positions) diff --git a/bcipy/display/demo/matrix/demo_matrix_layout.py b/bcipy/display/demo/matrix/demo_matrix_layout.py index 7379af0f2..061b24803 100644 --- a/bcipy/display/demo/matrix/demo_matrix_layout.py +++ b/bcipy/display/demo/matrix/demo_matrix_layout.py @@ -47,6 +47,7 @@ info=info, rows=3, columns=10, + width_pct=0.9, sort_order=qwerty_order(is_txt_stim=True)) matrix_display.draw(grid_opacity=matrix_display.full_grid_opacity, diff --git a/bcipy/display/paradigm/matrix/display.py b/bcipy/display/paradigm/matrix/display.py index 74dfc8880..64d2fc5ab 100644 --- a/bcipy/display/paradigm/matrix/display.py +++ b/bcipy/display/paradigm/matrix/display.py @@ -42,7 +42,8 @@ def __init__(self, info: InformationProperties, rows: int = 5, columns: int = 6, - width_pct: float = 0.7, + width_pct: float = 0.75, + height_pct: float = 0.8, trigger_type: str = 'text', symbol_set: Optional[List[str]] = None, should_prompt_target: bool = True, @@ -88,7 +89,9 @@ def __init__(self, # Set position and parameters for grid of alphabet self.grid_stimuli_height = 0.17 # stimuli.stim_height - display_container = layout.centered(width_pct=width_pct) + display_container = layout.centered(parent=window, + width_pct=width_pct, + height_pct=height_pct) self.positions = symbol_positions(display_container, rows, columns) self.logger.info( f"Symbol positions ({display_container.units} units): {self.positions}" diff --git a/bcipy/display/paradigm/matrix/layout.py b/bcipy/display/paradigm/matrix/layout.py index a5063572b..82ad1b26f 100644 --- a/bcipy/display/paradigm/matrix/layout.py +++ b/bcipy/display/paradigm/matrix/layout.py @@ -1,63 +1,75 @@ """Functions for calculating matrix layouts""" +import logging from typing import List, Tuple from bcipy.display.components.layout import (Layout, above, below, left_of, - right_of) + right_of, scaled_height, + scaled_width) +logger = logging.getLogger(__name__) -def symbol_positions(container: Layout, - rows: int, - columns: int, - spacing: float = None) -> List[Tuple[float, float]]: + +def symbol_positions(container: Layout, rows: int, + columns: int, max_spacing: float = None) -> List[Tuple[float, float]]: """Compute the positions for arranging a number of symbols in a grid layout. Parameters ---------- - container - container in which the grid should be placed + container - container in which the grid should be placed; must have a + visual.Window parent, which is used to determine the aspect ratio. rows - number of rows in the grid columns - number of columns in the grid - spacing - optional value to specify the space between positions - (in the same units of the container) - + max_spacing - optional max spacing (in layout units) in the height + direction; width will be normalized to this value if provided Returns ------- list of (x,y) tuples with (rows * columns) positions in row,col order """ + assert container.parent, "Container must have a parent" assert rows >= 1 and columns >= 1, "There must be at least one row and one column" - if not spacing: - # compute the spacing (in container units) from the container width and height - horizontal_spacing = container.width / (rows + 1) - vertical_spacing = container.height / (columns + 1) - spacing = min(horizontal_spacing, vertical_spacing) - half_space = spacing / 2 + # compute the spacing (in container units) from the container width and height + horizontal_spacing = container.width / (columns + 1) + vertical_spacing = container.height / (rows + 1) + + if max_spacing and vertical_spacing > max_spacing: + vertical_spacing = max_spacing + + # Use the minimum spacing + if horizontal_spacing < vertical_spacing: + vertical_spacing = scaled_height(horizontal_spacing, + container.parent.size) + else: + horizontal_spacing = scaled_width(vertical_spacing, + container.parent.size) # Work back from center to compute the starting position center_x, center_y = container.center spaces_left_of_center = int(columns / 2) - start_pos_left = left_of(center_x, spaces_left_of_center * spacing) + start_pos_left = left_of(center_x, + spaces_left_of_center * horizontal_spacing) if columns % 2 == 0 and columns > 1: # even number of columns; adjust start_pos so that center_x is between # the middle two items. - start_pos_left = right_of(start_pos_left, half_space) + start_pos_left = right_of(start_pos_left, horizontal_spacing / 2) spaces_above_center = int(rows / 2) - start_pos_top = above(center_y, spaces_above_center * spacing) + start_pos_top = above(center_y, spaces_above_center * vertical_spacing) if rows % 2 == 0 and rows > 1: - start_pos_top = below(start_pos_top, half_space) + start_pos_top = below(start_pos_top, vertical_spacing / 2) # adjust the beginning x,y values so adding a space results in the first # position. - x_coord = left_of(start_pos_left, spacing) - y_coord = above(start_pos_top, spacing) + x_coord = left_of(start_pos_left, horizontal_spacing) + y_coord = above(start_pos_top, vertical_spacing) positions = [] for _row in range(rows): - y_coord = below(y_coord, spacing) - x_coord = left_of(start_pos_left, spacing) + y_coord = below(y_coord, vertical_spacing) + x_coord = left_of(start_pos_left, horizontal_spacing) for _col in range(columns): - x_coord = right_of(x_coord, spacing) + x_coord = right_of(x_coord, horizontal_spacing) positions.append((x_coord, y_coord)) return positions diff --git a/bcipy/display/tests/components/test_layout.py b/bcipy/display/tests/components/test_layout.py index cbe25803e..846c589c1 100644 --- a/bcipy/display/tests/components/test_layout.py +++ b/bcipy/display/tests/components/test_layout.py @@ -6,7 +6,7 @@ from bcipy.display.components.layout import (Alignment, Layout, at_bottom, at_top, centered, envelope, from_envelope, scaled_height, - scaled_size) + scaled_size, scaled_width) class TestLayout(unittest.TestCase): @@ -196,6 +196,12 @@ def test_scaled_height(self): """Test calculation of scaled height based on width""" self.assertEqual(scaled_height(0.125, window_size=(800, 500)), 0.2) + def test_scaled_width(self): + """Test calculation of a scaled width based on height""" + self.assertEqual(scaled_width(height=0.2, window_size=(500, 500)), 0.2) + self.assertEqual(scaled_width(height=0.2, window_size=(800, 500)), + 0.125) + if __name__ == '__main__': unittest.main() diff --git a/bcipy/display/tests/paradigm/matrix/test_matrix_layout.py b/bcipy/display/tests/paradigm/matrix/test_matrix_layout.py index fbb76f42a..a6c7c8b4f 100644 --- a/bcipy/display/tests/paradigm/matrix/test_matrix_layout.py +++ b/bcipy/display/tests/paradigm/matrix/test_matrix_layout.py @@ -103,6 +103,23 @@ def test_spacing(self): self.assertEqual(row_spacing, column_spacing, "Rows and columns should have the same spacing") + def test_max_spacing(self): + """Test max_spacing parameter""" + max_spacing = 0.1 + positions = symbol_positions(self.layout, + rows=2, + columns=2, + max_spacing=max_spacing) + + top_left = positions[0] + top_right = positions[1] + bottom_left = positions[2] + + row_spacing = abs(top_left[1] - bottom_left[1]) + column_spacing = abs(top_right[0] - top_left[0]) + self.assertEqual(row_spacing, max_spacing) + self.assertEqual(column_spacing, max_spacing) + if __name__ == '__main__': unittest.main() From 86a8091bafc6768581a69479117b11d24ab1a816 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 10 Oct 2023 18:07:53 -0700 Subject: [PATCH 111/330] Added logging for matrix symbol positions --- bcipy/display/paradigm/matrix/display.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/bcipy/display/paradigm/matrix/display.py b/bcipy/display/paradigm/matrix/display.py index 64d2fc5ab..a9ad5f30c 100644 --- a/bcipy/display/paradigm/matrix/display.py +++ b/bcipy/display/paradigm/matrix/display.py @@ -1,6 +1,6 @@ """Display for presenting stimuli in a grid.""" import logging -from typing import Callable, Dict, List, NamedTuple, Optional +from typing import Callable, Dict, List, NamedTuple, Optional, Tuple from psychopy import core, visual @@ -93,9 +93,6 @@ def __init__(self, width_pct=width_pct, height_pct=height_pct) self.positions = symbol_positions(display_container, rows, columns) - self.logger.info( - f"Symbol positions ({display_container.units} units): {self.positions}" - ) self.grid_color = 'white' self.start_opacity = 0.15 @@ -116,6 +113,20 @@ def __init__(self, self.stim_registry = self.build_grid() self.should_prompt_target = should_prompt_target + self.logger.info( + f"Symbol positions ({display_container.units} units):\n{self._stim_positions}" + ) + self.logger.info(f"Matrix center position: {display_container.center}") + + @property + def _stim_positions(self) -> Dict[str, Tuple[float, float]]: + """Returns a dict with the position for each stim""" + assert self.stim_registry, "stim_registry not yet initialized" + return { + sym: tuple(stim.pos) + for sym, stim in self.stim_registry.items() + } + def schedule_to(self, stimuli: list, timing: list, colors: list) -> None: """Schedule stimuli elements (works as a buffer). From 78be80ec3321904bd699d62c9091751c1bc417f6 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 11 Oct 2023 11:25:22 -0700 Subject: [PATCH 112/330] Fixed broken test --- bcipy/display/tests/paradigm/matrix/test_matrix_display.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bcipy/display/tests/paradigm/matrix/test_matrix_display.py b/bcipy/display/tests/paradigm/matrix/test_matrix_display.py index 5f6afebad..a8285517a 100644 --- a/bcipy/display/tests/paradigm/matrix/test_matrix_display.py +++ b/bcipy/display/tests/paradigm/matrix/test_matrix_display.py @@ -39,10 +39,11 @@ def setUp(self): self.window = mock({"units": "norm", "size": (2.0, 2.0)}) self.experiment_clock = mock() self.static_clock = mock() - self.text_stim_mock = mock(psychopy.visual.TextStim) + self.text_stim_mock = mock({'pos': (0, 0)}, spec=psychopy.visual.TextStim) when(self.text_stim_mock).setOpacity(...).thenReturn() when(self.text_stim_mock).setColor(...).thenReturn() when(self.text_stim_mock).draw(...).thenReturn() + # grid item when(psychopy.visual).TextStim( win=self.window, From 2b515441ffb399442fc2c722d8ea5279c69363d2 Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Wed, 11 Oct 2023 18:17:48 -0400 Subject: [PATCH 113/330] load_data script is updated to include multimodal data loading --- bcipy/helpers/convert.py | 4 +- bcipy/helpers/demo/demo_load_raw_data.py | 57 +++++++-- bcipy/helpers/demo/demo_visualization.py | 156 ++++++++++++++--------- bcipy/helpers/stimuli.py | 2 +- bcipy/helpers/visualization.py | 143 +++++++++++---------- bcipy/signal/model/offline_analysis.py | 5 + bcipy/signal/process/extract_gaze.py | 85 ++++++------ scripts/python/replay_session.py | 4 +- 8 files changed, 266 insertions(+), 190 deletions(-) diff --git a/bcipy/helpers/convert.py b/bcipy/helpers/convert.py index ab07a7fb5..93d3bade4 100644 --- a/bcipy/helpers/convert.py +++ b/bcipy/helpers/convert.py @@ -170,7 +170,9 @@ def pyedf_convert(data_dir: str, params = load_json_parameters(Path(data_dir, DEFAULT_PARAMETER_FILENAME), value_cast=True) - data = load_raw_data(Path(data_dir, f'{RAW_DATA_FILENAME}.csv')) + data_list = load_raw_data(data_dir, [f'{RAW_DATA_FILENAME}.csv']) + # NOTE: With the current inputs this function only loads the EEG data. Update needed for eyetracker data. + data = data_list[0] fs = data.sample_rate if pre_filter: default_transform = get_default_transform( diff --git a/bcipy/helpers/demo/demo_load_raw_data.py b/bcipy/helpers/demo/demo_load_raw_data.py index 1b8bcd6ea..d039cc3ba 100644 --- a/bcipy/helpers/demo/demo_load_raw_data.py +++ b/bcipy/helpers/demo/demo_load_raw_data.py @@ -1,22 +1,26 @@ from bcipy.helpers.load import ( - load_raw_data, + load_raw_data, load_json_parameters ) from pathlib import Path +from bcipy.config import (DEFAULT_PARAMETERS_PATH, EYE_TRACKER_FILENAME_PREFIX) -def main(data_folder, file_name): +def main(data_folder, data_file_paths): """Load BciPy raw data, print info to console, and return data to caller.""" - raw_data = load_raw_data(Path(data_folder, file_name)) - channels = raw_data.channels - type_amp = raw_data.daq_type - sample_rate = raw_data.sample_rate - # access data using raw_data.channel_data or raw_data.numerical_data - print(f'Successfully loaded raw data from {file_name}') - print(f'Channels: {channels}') - print(f'Type: {type_amp}') - print(f'Sample rate: {sample_rate}') - print(f'Data shape: {raw_data.channel_data.shape}') - return raw_data + # Load all data saved in the directory + + raw_data_list = load_raw_data(data_folder, data_file_paths) + for mode_data in raw_data_list: + channels = mode_data.channels + type_amp = mode_data.daq_type + sample_rate = mode_data.sample_rate + # access data using raw_data.channel_data or raw_data.numerical_data + print(f'Successfully loaded raw data from {type_amp}') + print(f'Channels: {channels}') + print(f'Type: {type_amp}') + print(f'Sample rate: {sample_rate}') + print(f'Data shape: {mode_data.channel_data.shape}') + return raw_data_list if __name__ == "__main__": @@ -25,6 +29,31 @@ def main(data_folder, file_name): parser = argparse.ArgumentParser() parser.add_argument('-d', '--data_folder', required=True, help='Path to data folder') + parser.add_argument("-p", "--parameters_file", default=DEFAULT_PARAMETERS_PATH) args = parser.parse_args() - raw_data = main(args.data_folder, file_name=f'{RAW_DATA_FILENAME}.csv') + parameters = load_json_parameters(args.parameters_file, value_cast=True) + acq_mode = parameters.get("acq_mode") + + data_file_paths = [] + if '+' in acq_mode: + if 'eyetracker' in acq_mode.lower(): + # find the eyetracker data file with the prefix of EYE_TRACKER_FILENAME_PREFIX + eye_tracker_file = [f.name for f in Path(args.data_folder).iterdir() + if f.name.startswith(EYE_TRACKER_FILENAME_PREFIX)] + assert len( + eye_tracker_file) == 1, f"Found {len(eye_tracker_file)} eyetracker files in {args.data_folder}." + data_file_paths.extend(eye_tracker_file) + else: + raise ValueError(f"Unsupported acquisition mode: {acq_mode}. Eyetracker must be included.") + if 'eeg' in acq_mode.lower(): + # find the eeg data file with the prefix of EEG_FILENAME_PREFIX + eeg_file = [f.name for f in Path(args.data_folder).iterdir() if f.name.startswith(RAW_DATA_FILENAME)] + assert len(eeg_file) == 1, f"Found {len(eeg_file)} EEG files in {args.data_folder}. Expected 1." + data_file_paths.extend(eeg_file) + else: + raise ValueError(f"Unsupported acquisition mode: {acq_mode}. EEG must be included.") + else: + data_file_paths = [f"{RAW_DATA_FILENAME}.csv"] + + raw_data_list = main(args.data_folder, data_file_paths) diff --git a/bcipy/helpers/demo/demo_visualization.py b/bcipy/helpers/demo/demo_visualization.py index a6194d0d3..078266eb0 100644 --- a/bcipy/helpers/demo/demo_visualization.py +++ b/bcipy/helpers/demo/demo_visualization.py @@ -13,8 +13,9 @@ - - `python bcipy/helpers/demo/demo_visualization.py --save"` this will save the visualizations generated to the provided or selected path """ -from bcipy.config import (TRIGGER_FILENAME, DEFAULT_PARAMETER_FILENAME, - RAW_DATA_FILENAME, DEFAULT_DEVICE_SPEC_FILENAME) +from bcipy.config import (TRIGGER_FILENAME, RAW_DATA_FILENAME, EYE_TRACKER_FILENAME_PREFIX, + DEFAULT_DEVICE_SPEC_FILENAME, DEFAULT_PARAMETERS_PATH, + DEFAULT_PARAMETER_FILENAME) from bcipy.helpers.acquisition import analysis_channels from bcipy.signal.process import get_default_transform from bcipy.helpers.load import ( @@ -33,73 +34,106 @@ parser = argparse.ArgumentParser() parser.add_argument( - '-p', - '--path', + '-d', + '--data_folder', help='Path to the directory with raw_data to be converted', required=False) + parser.add_argument("-p", "--parameters_file", default=DEFAULT_PARAMETERS_PATH) parser.add_argument("--show", dest="show", action="store_true") parser.add_argument("--save", dest="save", action="store_true") parser.set_defaults(show=False) parser.set_defaults(save=False) args = parser.parse_args() - path = args.path + path = args.data_folder if not path: path = load_experimental_data() + parameters = load_json_parameters(f'{path}/{DEFAULT_PARAMETER_FILENAME}', value_cast=True) + else: + parameters = load_json_parameters(args.parameters_file, value_cast=True) - parameters = load_json_parameters(f'{path}/{DEFAULT_PARAMETER_FILENAME}', value_cast=True) - - # extract all relevant parameters - trial_window = parameters.get("trial_window") - prestim_length = parameters.get("prestim_length") - trials_per_inquiry = parameters.get("stim_length") - # The task buffer length defines the min time between two inquiries - # We use half of that time here to buffer during transforms - buffer = int(parameters.get("task_buffer_length") / 2) - # get signal filtering information - downsample_rate = parameters.get("down_sampling_rate") - notch_filter = parameters.get("notch_filter_frequency") - filter_high = parameters.get("filter_high") - filter_low = parameters.get("filter_low") - filter_order = parameters.get("filter_order") - static_offset = parameters.get("static_trigger_offset") - raw_data = load_raw_data(Path(path, f'{RAW_DATA_FILENAME}.csv')) - channels = raw_data.channels - type_amp = raw_data.daq_type - sample_rate = raw_data.sample_rate - - # setup filtering - default_transform = get_default_transform( - sample_rate_hz=sample_rate, - notch_freq_hz=notch_filter, - bandpass_low=filter_low, - bandpass_high=filter_high, - bandpass_order=filter_order, - downsample_factor=downsample_rate, - ) - # Process triggers.txt files - trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( - offset=static_offset, - trigger_path=f"{path}/{TRIGGER_FILENAME}", - exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], - ) - labels = [0 if label == 'nontarget' else 1 for label in trigger_targetness] - - devices.load(Path(path, DEFAULT_DEVICE_SPEC_FILENAME)) - device_spec = devices.preconfigured_device(raw_data.daq_type) - channel_map = analysis_channels(channels, device_spec) - - save_path = None if not args.save else path - - figure_handles = visualize_erp( - raw_data, - channel_map, - trigger_timing, - labels, - trial_window, - transform=default_transform, - plot_average=True, - plot_topomaps=True, - save_path=save_path, - show=args.show - ) + acq_mode = parameters.get("acq_mode") + + # Make sure you are loading the correct raw data: + data_file_paths = [] + if '+' in acq_mode: + if 'eyetracker' in acq_mode.lower(): + # find the eyetracker data file with the prefix of EYE_TRACKER_FILENAME_PREFIX + eye_tracker_file = [f.name for f in Path(path).iterdir() + if f.name.startswith(EYE_TRACKER_FILENAME_PREFIX)] + assert len( + eye_tracker_file) == 1, f"Found {len(eye_tracker_file)} eyetracker files in {path}. Expected 1." + data_file_paths.extend(eye_tracker_file) + else: + raise ValueError(f"Unsupported acquisition mode: {acq_mode}. Eyetracker must be included.") + if 'eeg' in acq_mode.lower(): + # find the eeg data file with the prefix of EEG_FILENAME_PREFIX + eeg_file = [f.name for f in Path(path).iterdir() if f.name.startswith(RAW_DATA_FILENAME)] + assert len(eeg_file) == 1, f"Found {len(eeg_file)} EEG files in {path}. Expected 1." + data_file_paths.extend(eeg_file) + else: + raise ValueError(f"Unsupported acquisition mode: {acq_mode}. EEG must be included.") + else: + data_file_paths = [f"{RAW_DATA_FILENAME}.csv"] + + raw_data_list = load_raw_data(path, data_file_paths) + + for mode_data in raw_data_list: + devices.load(Path(path, DEFAULT_DEVICE_SPEC_FILENAME)) + device_spec = devices.preconfigured_device(mode_data.daq_type) + # extract all relevant parameters from raw data object eeg + if device_spec.content_type == "Eyetracker": + continue + elif device_spec.content_type == "EEG": + trial_window = parameters.get("trial_window") + if trial_window is None: + trial_window = [0.0, 0.5] + prestim_length = parameters.get("prestim_length") + trials_per_inquiry = parameters.get("stim_length") + # The task buffer length defines the min time between two inquiries + # We use half of that time here to buffer during transforms + buffer = int(parameters.get("task_buffer_length") / 2) + # get signal filtering information + downsample_rate = parameters.get("down_sampling_rate") + notch_filter = parameters.get("notch_filter_frequency") + filter_high = parameters.get("filter_high") + filter_low = parameters.get("filter_low") + filter_order = parameters.get("filter_order") + static_offset = parameters.get("static_trigger_offset") + channels = mode_data.channels + type_amp = mode_data.daq_type + sample_rate = mode_data.sample_rate + + # setup filtering + default_transform = get_default_transform( + sample_rate_hz=sample_rate, + notch_freq_hz=notch_filter, + bandpass_low=filter_low, + bandpass_high=filter_high, + bandpass_order=filter_order, + downsample_factor=downsample_rate, + ) + # Process triggers.txt files + trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( + offset=static_offset, + trigger_path=f"{path}/{TRIGGER_FILENAME}", + exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], + ) + labels = [0 if label == 'nontarget' else 1 for label in trigger_targetness] + + channel_map = analysis_channels(channels, device_spec) + + save_path = None if not args.save else path + + figure_handles = visualize_erp( + mode_data, + channel_map, + trigger_timing, + labels, + trial_window, + transform=default_transform, + plot_average=True, + plot_topomaps=True, + save_path=save_path, + show=args.show + ) diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 3cf190f73..118d2806c 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -240,7 +240,7 @@ def __call__(self, ) -> dict: """Extract inquiry data and labels. Different from the EEG inquiry, the gaze inquiry window starts with the first flicker and ends with the last flicker in the inquiry. Each inquiry has a length of ~3 seconds. - The labels are provided in the target_symbols list. It returns a Dict, where keys are the target symbols and + The labels are provided in the target_symbols list. It returns a Dict, where keys are the target symbols and the values are inquiries (appended in order of appearance) where the corresponding target symbol is prompted. Optional outputs: reshape_data is the list of data reshaped into (Inquiries, Channels, Samples), where inquirires are appended diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index c7295d770..2679b8afc 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -28,6 +28,7 @@ log = logging.getLogger(__name__) + def clip_to_display(data, screen_limits): """Clip to Display. This function is used to clip the eye data to the display size. Removes > 1 values and < 0 values. Removes nan values. @@ -37,11 +38,11 @@ def clip_to_display(data, screen_limits): screen_limits (tuple): Screen limits Output: - clipped_data (np.ndarray): Clipped eye data + clipped_data (np.ndarray): Clipped eye data """ clipped_data = np.clip(data, screen_limits[0], screen_limits[1]) clipped_data = clipped_data[~np.isnan(clipped_data)] - + return clipped_data @@ -156,13 +157,13 @@ def visualize_gaze( right_eye_x = right_eye_data[0] right_eye_y = right_eye_data[1] eye_data = (left_eye_x, left_eye_y, right_eye_x, right_eye_y) - + # Transform the eye data to fit the display. Remove values < 1 & > 0, remove nan values screen_limits = (0, 1) clipped_data = [] for i in eye_data: clipped_data.append(clip_to_display(i, screen_limits)) - + lx, ly, rx, ry = clipped_data # Flip y axis @@ -334,27 +335,29 @@ def visualize_csv_eeg_triggers(trigger_col: Optional[int] = None): Figure of Triggers """ # Load in CSV - data = load_raw_data(choose_csv_file()) - raw_data = data.by_channel() - - # Pull out the triggers - if not trigger_col: - triggers = raw_data[-1] - else: - triggers = raw_data[trigger_col] - - # Plot the triggers - plt.plot(triggers) - - # Add some titles and labels to the figure - plt.title('Trigger Signal') - plt.ylabel('Trigger Value') - plt.xlabel('Samples') - - log.info('Press Ctrl + C to exit!') - # Show us the figure! Depending on your OS / IDE this may not close when - # The window is closed, see the message above - plt.show() + filename = choose_csv_file() + raw_data_list = load_raw_data(filename, [filename]) + for mode_data in raw_data_list: + raw_data = mode_data.by_channel() + + # Pull out the triggers + if not trigger_col: + triggers = raw_data[-1] + else: + triggers = raw_data[trigger_col] + + # Plot the triggers + plt.plot(triggers) + + # Add some titles and labels to the figure + plt.title('Trigger Signal') + plt.ylabel('Trigger Value') + plt.xlabel('Samples') + + log.info('Press Ctrl + C to exit!') + # Show us the figure! Depending on your OS / IDE this may not close when + # The window is closed, see the message above + plt.show() def visualize_joint_average( @@ -441,48 +444,48 @@ def visualize_session_data(session_path: str, parameters: dict, show=True) -> Fi trial_window = parameters.get("trial_window") static_offset = parameters.get("static_trigger_offset") - raw_data = load_raw_data(Path(session_path, f'{RAW_DATA_FILENAME}.csv')) - channels = raw_data.channels - sample_rate = raw_data.sample_rate - - transform_params = parameters.instantiate(ERPTransformParams) - - devices.load(Path(session_path, DEFAULT_DEVICE_SPEC_FILENAME)) - device_spec = devices.preconfigured_device(raw_data.daq_type) - - # setup filtering - default_transform = get_default_transform( - sample_rate_hz=sample_rate, - notch_freq_hz=transform_params.notch_filter_frequency, - bandpass_low=transform_params.filter_low, - bandpass_high=transform_params.filter_high, - bandpass_order=transform_params.filter_order, - downsample_factor=transform_params.down_sampling_rate, - ) - # Process triggers.txt files - trigger_targetness, trigger_timing, _ = trigger_decoder( - offset=static_offset, - trigger_path=f"{session_path}/{TRIGGER_FILENAME}", - exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], - ) - assert "nontarget" in trigger_targetness, "No nontarget triggers found." - assert "target" in trigger_targetness, "No target triggers found." - assert len(trigger_targetness) == len(trigger_timing), "Trigger targetness and timing must be the same length." - - labels = [0 if label == 'nontarget' else 1 for label in trigger_targetness] - channel_map = analysis_channels(channels, device_spec) - - erp = visualize_erp( - raw_data, - channel_map, - trigger_timing, - labels, - trial_window, - transform=default_transform, - plot_average=True, - plot_topomaps=True, - save_path=session_path, - show=show, - ) - - # eye_data = visualize_gaze + raw_data_list = load_raw_data(session_path, [f'{RAW_DATA_FILENAME}.csv']) + + for mode_data in raw_data_list: + channels = mode_data.channels + sample_rate = mode_data.sample_rate + + transform_params = parameters.instantiate(ERPTransformParams) + + devices.load(Path(session_path, DEFAULT_DEVICE_SPEC_FILENAME)) + device_spec = devices.preconfigured_device(mode_data.daq_type) + + # setup filtering + default_transform = get_default_transform( + sample_rate_hz=sample_rate, + notch_freq_hz=transform_params.notch_filter_frequency, + bandpass_low=transform_params.filter_low, + bandpass_high=transform_params.filter_high, + bandpass_order=transform_params.filter_order, + downsample_factor=transform_params.down_sampling_rate, + ) + # Process triggers.txt files + trigger_targetness, trigger_timing, _ = trigger_decoder( + offset=static_offset, + trigger_path=f"{session_path}/{TRIGGER_FILENAME}", + exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], + ) + assert "nontarget" in trigger_targetness, "No nontarget triggers found." + assert "target" in trigger_targetness, "No target triggers found." + assert len(trigger_targetness) == len(trigger_timing), "Trigger targetness and timing must be the same length." + + labels = [0 if label == 'nontarget' else 1 for label in trigger_targetness] + channel_map = analysis_channels(channels, device_spec) + + erp = visualize_erp( + mode_data, + channel_map, + trigger_timing, + labels, + trial_window, + transform=default_transform, + plot_average=True, + plot_topomaps=True, + save_path=session_path, + show=show, + ) diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 972673a1c..1dd239e5f 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -34,6 +34,7 @@ DIPSIZE = (1707, 1067) IMG_PATH = f'{STATIC_IMAGES_PATH}/main/matrix_grid.png' # IMG_PATH = f'{STATIC_IMAGES_PATH}/main/rsvp.png' +# TODO: Update images to contain the path to directory of the respective calibration session. def subset_data(data: np.ndarray, labels: np.ndarray, test_size: float, random_state=0): @@ -144,6 +145,10 @@ def offline_analysis( transform_params = parameters.instantiate(ERPTransformParams) downsample_rate = transform_params.down_sampling_rate static_offset = parameters.get("static_trigger_offset") + if trial_window is None: + trial_window = [0.0, 0.5] + # NOTE: Had to add it manually for offline analysis of multimodal datasets, + # since the trial_window information was not available in the parameters file. log.info( f"\nData processing settings: \n" diff --git a/bcipy/signal/process/extract_gaze.py b/bcipy/signal/process/extract_gaze.py index c208438d2..6c707dad0 100644 --- a/bcipy/signal/process/extract_gaze.py +++ b/bcipy/signal/process/extract_gaze.py @@ -2,46 +2,47 @@ from bcipy.helpers.exceptions import SignalException + def extract_eye_info(data): - """"Rearrange the dimensions of gaze inquiry data and reshape it to num_channels x num_samples - Extract Left and Right Eye info from data. Remove all blinks, do necessary preprocessing. - The data is extracted according to the channel map: - ['device_ts, 'system_ts', 'left_x', 'left_y', 'left_pupil', 'right_x', 'right_y', 'right_pupil'] - - Args: - data (np.ndarray): Data in shape of num_channels x num_samples - - Returns: - left_eye (np.ndarray), left_pupil (List(float)) - right_eye (np.ndarray), right_pupil (List(float)) - """ - - # Extract samples from channels - lx = data[2, :] - ly = data[3, :] - left_pupil = data[4, :] # Use if needed - - rx = data[5, :] - ry = data[6, :] - right_pupil = data[7, :] # Use if needed - - left_eye = np.vstack((np.array(lx), np.array(ly))).T - right_eye = np.vstack((np.array(rx), np.array(ry))).T - - # Remove ALL blinks (i.e. Nan values) regardless of which eye it occurs. - # Make sure that the number of samples are the same for both eyes - left_eye_nan_idx = np.isnan(left_eye).any(axis=1) - left_eye = left_eye[~left_eye_nan_idx] - right_eye = right_eye[~left_eye_nan_idx] - - right_eye_nan_idx = np.isnan(right_eye).any(axis=1) - left_eye = left_eye[~right_eye_nan_idx] - right_eye = right_eye[~right_eye_nan_idx] - - try: - len(left_eye) != len(right_eye) - except AssertionError: - raise SignalException( - 'Number of samples for left and right eye are not the same.') - - return left_eye, right_eye \ No newline at end of file + """"Rearrange the dimensions of gaze inquiry data and reshape it to num_channels x num_samples + Extract Left and Right Eye info from data. Remove all blinks, do necessary preprocessing. + The data is extracted according to the channel map: + ['device_ts, 'system_ts', 'left_x', 'left_y', 'left_pupil', 'right_x', 'right_y', 'right_pupil'] + + Args: + data (np.ndarray): Data in shape of num_channels x num_samples + + Returns: + left_eye (np.ndarray), left_pupil (List(float)) + right_eye (np.ndarray), right_pupil (List(float)) + """ + + # Extract samples from channels + lx = data[2, :] + ly = data[3, :] + left_pupil = data[4, :] # Use if needed + + rx = data[5, :] + ry = data[6, :] + right_pupil = data[7, :] # Use if needed + + left_eye = np.vstack((np.array(lx), np.array(ly))).T + right_eye = np.vstack((np.array(rx), np.array(ry))).T + + # Remove ALL blinks (i.e. Nan values) regardless of which eye it occurs. + # Make sure that the number of samples are the same for both eyes + left_eye_nan_idx = np.isnan(left_eye).any(axis=1) + left_eye = left_eye[~left_eye_nan_idx] + right_eye = right_eye[~left_eye_nan_idx] + + right_eye_nan_idx = np.isnan(right_eye).any(axis=1) + left_eye = left_eye[~right_eye_nan_idx] + right_eye = right_eye[~right_eye_nan_idx] + + try: + len(left_eye) != len(right_eye) + except AssertionError: + raise SignalException( + 'Number of samples for left and right eye are not the same.') + + return left_eye, right_eye diff --git a/scripts/python/replay_session.py b/scripts/python/replay_session.py index 91d24026a..d37c3a973 100644 --- a/scripts/python/replay_session.py +++ b/scripts/python/replay_session.py @@ -95,7 +95,9 @@ def generate_replay_outputs( f"Static offset: {static_offset}" ) - raw_data = load_raw_data(Path(data_folder, f"{RAW_DATA_FILENAME}.csv")) + data_list = load_raw_data(data_folder, [f"{RAW_DATA_FILENAME}.csv"]) + # NOTE: With the current inputs this function only loads the EEG data. Update needed for eyetracker data. + raw_data = data_list[0] channels = raw_data.channels type_amp = raw_data.daq_type sample_rate = raw_data.sample_rate From 31ae2fd912faba3b51e010f889f57a24e74a7e78 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 20 Oct 2023 09:59:50 -0700 Subject: [PATCH 114/330] Initial work on generating calibration inquiries for VEP --- bcipy/helpers/list.py | 22 ++++- bcipy/helpers/stimuli.py | 180 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 200 insertions(+), 2 deletions(-) diff --git a/bcipy/helpers/list.py b/bcipy/helpers/list.py index a8cfeb7c8..7a64fa48d 100644 --- a/bcipy/helpers/list.py +++ b/bcipy/helpers/list.py @@ -1,6 +1,6 @@ """Utility functions for list processing.""" -from typing import Callable, List from itertools import zip_longest +from typing import Any, Callable, List, Optional, Union def destutter(items: List, key: Callable = lambda x: x) -> List: @@ -34,3 +34,23 @@ def grouper(iterable, chunk_size, incomplete="fill", fillvalue=None): return zip(*chunks) raise ValueError("Expected fill or ignore") + + +def find_index(iterable: List, + match_item: Union[Any, Callable], + key: Callable = lambda x: x) -> Optional[int]: + """Find the index of the first item in the iterable which matches.""" + for i, value in enumerate(iterable): + if callable(match_item): + result = match_item(value) + else: + result = key(value) == match_item + if result: + return i + return None + +def swapped(lst: List, index1: int, index2: int) -> None: + """Creates a copy of the provided list with elements at the given indices + swapped.""" + replacements = { index1: lst[index2], index2: lst[index1] } + return [replacements.get(i, val) for i, val in enumerate(lst)] diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index d4e55dd0a..32288cc69 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -13,7 +13,7 @@ from PIL import Image from bcipy.helpers.exceptions import BciPyCoreException -from bcipy.helpers.list import grouper +from bcipy.helpers.list import find_index, grouper, swapped # Prevents pillow from filling the console with debug info logging.getLogger('PIL').setLevel(logging.WARNING) @@ -1069,3 +1069,181 @@ def ssvep_to_code(refresh_rate: int = 60, flicker_rate: int = 10) -> List[int]: t = 1 - t return codes + +# def generate_vep_calibration_inquiries( +# alp: List[str], +# timing: List[float] = None, +# color: List[str] = None, +# inquiry_count: int = 100, +# num_boxes: int = 4, +# is_txt: bool = True) -> InquirySchedule: +# """ +# Generates VEP inquiries with target letters in all possible positions. + +# In the VEP paradigm, all stimuli in the alphabet are displayed in each +# inquiry. The symbols with the highest likelihoods are displayed alone +# while those with lower likelihoods occur together. + +# Parameters +# ---------- +# alp(list[str]): stimuli +# timing(list[float]): Task specific timing for generator. +# [target, fixation, stimuli] +# color(list[str]): Task specific color for generator +# [target, fixation, stimuli] +# inquiry_count(int): number of inquiries in a calibration +# num_boxes(int): number of display boxes +# is_txt(bool): whether the stimuli type is text. False would be an image stimuli. + +# Return +# ------ +# schedule_inq(tuple( +# samples[list[list[str]]]: list of inquiries +# timing(list[list[float]]): list of timings +# color(list(list[str])): list of colors)): scheduled inquiries +# """ +# if timing is None: +# timing = [0.5, 1, 2] +# # if color is None: +# # color = ['green', 'red', 'white'] +# assert len( +# timing +# ) == 3, "timing must include values for [target, fixation, stimuli]" +# time_target, time_fixation, time_stim = timing +# fixation = get_fixation(is_txt) + +# inquiries = generate_vep_inquiries(alp, inquiry_count, num_boxes) + + +# return InquirySchedule(samples, times, colors) + +def generate_vep_inquiries(alphabet: List[str], num_boxes: int=6, inquiry_count: int=100): + """Generates inquiries""" + + +def stim_per_box(num_symbols: int, + num_boxes: int = 6, + max_empty_boxes: int = 1, + max_single_sym_boxes: int = 4) -> List[int]: + """Determine the number of stimuli per vep box. + + Parameters + ---------- + num_symbols - number of symbols + num_boxes - number of boxes + max_empty_boxes - the maximum number of boxes which won't have any + symbols within them. + max_single_sym_boxes - maximum number of boxes with a single symbol + + Returns + ------- + A list of length num_boxes, where each number in the list represents + the number of symbols that should be in the box at that position. + + Post conditions: + The sum of the list should equal num_symbols. Further, there should + be at most max_empty_boxes with value of 0 and max_single_sym_boxes + with a value of 1. + """ + # Logic based off of example sessions from: + # https://www.youtube.com/watch?v=JNFYSeIIOrw + # [[2, 3, 5, 5, 6, 7], + # [2, 1, 10, 1, 1, 13], + # [3, 4, 17, 1, 1, 2], + # [1, 1, 1, 0, 1, 24], + # [1, 2, 1, 22, 1, 1], + # [2, 1, 1, 21, 2, 1], + # [1, 1, 25, 0, 1, 0]] + # and + # [[7, 3, 4, 9, 2, 3], + # 1, 1, 6, 9, 7, 2], + # 1, 2, 18, 2, 3, 2], + # 1, 1, 4, 4, 17, 1], + # 1, 3, 1, 1, 20, 2], + # 1, 1, 1, 20, 3, 2], + # 1, 1, 1, 4, 21, 0]] + + # no more than 1 empty box + empty_boxes = [0] * random.choice(range(max_empty_boxes + 1)) + + # no more than 4 boxes with a single symbol + single_boxes = [1] * random.choice( + range((max_single_sym_boxes + 1) - len(empty_boxes))) + + boxes = empty_boxes + single_boxes + + remaining_symbols = num_symbols - sum(boxes) + remaining_boxes = num_boxes - len(boxes) + + # iterate through the remaining boxes except for the last one + for _box in range(remaining_boxes - 1): + # each remaining box must have 2 or more symbols + box_max = remaining_symbols - (2 * remaining_boxes - 1) + + n = random.choice(range(2, box_max + 1)) + boxes.append(n) + remaining_boxes -= 1 + remaining_symbols = remaining_symbols - n + + # last box + boxes.append(remaining_symbols) + # random.shuffle(boxes) + return sorted(boxes) + + +def generate_vep_inquiry(alphabet: List[str], + num_boxes: int = 6, + target: str = None, + target_pos: int = None) -> List[List[str]]: + """Generates a single random inquiry. + + Parameters + ---------- + alphabet - list of symbols from which to select. + num_boxes - number of display areas; symbols will be partitioned into + these areas. + target - target symbol for the generated inquiry + target_pos - box index that should contain the target + + Returns + ------- + An inquiry represented by a list of lists, where each sublist + represents a display box and contains symbols that should appear in that box. + + Post-conditions: + Symbols will not be repeated and all symbols will be partitioned into + one of the boxes. + """ + + box_counts = stim_per_box(num_symbols=len(alphabet), num_boxes=num_boxes) + + syms = [sym for sym in alphabet] + random.shuffle(syms) + + if target: + # Move the target to the front so it gets put in the lowest count box + # greater than 0. + syms = swapped(syms, + index1=0, + index2=syms.index(target)) + # Put syms in boxes + boxes = [] + sym_index = 0 + for count in box_counts: + box = [] + for _i in range(count): + box.append(syms[sym_index]) + sym_index += 1 + box.sort() # sort stim within box + boxes.append(box) + + random.shuffle(boxes) + + if target and target_pos is not None: + # Find the box with the target and swap with the box currently at the + # target_pos. + boxes = swapped(boxes, + index1=find_index(boxes, lambda box: target in box), + index2=target_pos) + + return boxes From d1a08785f5fdc04c5d0cc1c4f56bc55c4fcbdddf Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 20 Oct 2023 10:01:15 -0700 Subject: [PATCH 115/330] Stubs for VEP calibration task --- bcipy/task/paradigm/vep/__init__.py | 0 bcipy/task/paradigm/vep/calibration.py | 5 +++++ 2 files changed, 5 insertions(+) create mode 100644 bcipy/task/paradigm/vep/__init__.py create mode 100644 bcipy/task/paradigm/vep/calibration.py diff --git a/bcipy/task/paradigm/vep/__init__.py b/bcipy/task/paradigm/vep/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/bcipy/task/paradigm/vep/calibration.py b/bcipy/task/paradigm/vep/calibration.py new file mode 100644 index 000000000..d92240fc9 --- /dev/null +++ b/bcipy/task/paradigm/vep/calibration.py @@ -0,0 +1,5 @@ +from bcipy.task import Task + + +class VEPCalibrationTask(Task): + """VEP Calibration Task""" \ No newline at end of file From b19e41aaa676612c400717cdc6c49a47d90330c8 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 20 Oct 2023 14:00:59 -0700 Subject: [PATCH 116/330] Reverted triggers.py; added parameter to trigger_decoder for the option to not apply the starting offset; updated offline_analysis with the new changes and fixed the imports --- bcipy/helpers/tests/test_triggers.py | 27 ++++++++++++++++++ bcipy/helpers/triggers.py | 37 ++++++++++-------------- bcipy/signal/model/offline_analysis.py | 39 +++++++++++++------------- 3 files changed, 62 insertions(+), 41 deletions(-) diff --git a/bcipy/helpers/tests/test_triggers.py b/bcipy/helpers/tests/test_triggers.py index 7138d32bf..51268a783 100644 --- a/bcipy/helpers/tests/test_triggers.py +++ b/bcipy/helpers/tests/test_triggers.py @@ -593,6 +593,33 @@ def test_trigger_decoder_with_device(self, path_exists_mock): self.assertAlmostEqual(times[0], 4.13) self.assertAlmostEqual(times[-1], 6.85) + @patch('bcipy.helpers.triggers.os.path.exists') + def test_trigger_decoder_without_starting_offset(self, path_exists_mock): + """Test trigger decoder""" + trg_data = '''starting_offset offset -3.47 + starting_offset_EYETRACKER offset -4.45 + J prompt 6.15 + + fixation 8.11 + F nontarget 8.58 + D nontarget 8.88 + J target 9.18 + T nontarget 9.49 + K nontarget 9.79 + _ nontarget 11.30''' + path_exists_mock.returnValue = True + with patch('builtins.open', mock_open(read_data=trg_data), + create=True): + types, times, labels = trigger_decoder('triggers.txt', + device_type='EYETRACKER', + apply_starting_offset=False) + + self.assertListEqual(types, [ + 'nontarget', 'nontarget', 'target', 'nontarget', 'nontarget', + 'nontarget' + ]) + self.assertListEqual(labels, ['F', 'D', 'J', 'T', 'K', '_']) + self.assertAlmostEqual(times[0], 8.58) + self.assertAlmostEqual(times[-1], 11.30) if __name__ == '__main__': unittest.main() diff --git a/bcipy/helpers/triggers.py b/bcipy/helpers/triggers.py index 505784256..cbee64413 100644 --- a/bcipy/helpers/triggers.py +++ b/bcipy/helpers/triggers.py @@ -282,8 +282,7 @@ def starting_offsets_by_device( def find_starting_offset(triggers: List[Trigger], - device_type: Optional[str] = None, - apply_system_offset: Optional[bool] = True) -> Trigger: + device_type: Optional[str] = None) -> Trigger: """Given a list of raw trigger data, determine the starting offset for the given device. The returned trigger has the timestamp of the first sample recorded for the device. @@ -299,20 +298,16 @@ def find_starting_offset(triggers: List[Trigger], device_type - each device will generally have a different offset. This parameter is used to determine which trigger to use. If not given the EEG offset will be used by default. Ex. 'EYETRACKER' - apply_system_offset (Optional bool) - if True, applies the system offset loaded from the triggers file. - If False, returns a Trigger with offset of 0.0. Returns ------- The Trigger for the first matching offset for the given device, or a Trigger with offset of 0.0 if a matching offset was not found. """ label = offset_label(device_type) - - if apply_system_offset: - for trg in triggers: - if trg.type == TriggerType.OFFSET and trg.label == label: - return trg - log.info(f"Offset not found, or not used (device_type: {device_type}); using 0.0") + for trg in triggers: + if trg.type == TriggerType.OFFSET and trg.label == label: + return trg + log.info(f"Offset not found (device_type: {device_type}); using 0.0") return Trigger(label, TriggerType.OFFSET, 0.0) @@ -428,7 +423,6 @@ def read_text_file(path: str) -> Tuple[List[Trigger], float]: @staticmethod def load(path: str, offset: Optional[float] = 0.0, - apply_system_offset: bool = True, exclusion: Optional[List[TriggerType]] = None, device_type: Optional[str] = None) -> List[Trigger]: """ @@ -449,7 +443,6 @@ def load(path: str, Input string must include file extension (.txt). offset (Optional float): if desired, time offset for all loaded triggers, positive number for adding time, negative number for subtracting time. - apply_system_offset (Optional bool): if desired, applies the system offset loaded from the triggers file. exclusion (Optional List[TriggerType]): if desired, list of TriggerType's to be removed from the loaded trigger list. device_type : optional; if specified looks for the starting_offset for @@ -460,12 +453,10 @@ def load(path: str, List of Triggers from loaded .txt file with desired modifications """ excluded_types = exclusion or [] - triggers = read(path) - starting_offset = find_starting_offset(triggers, device_type, apply_system_offset) - + starting_offset = find_starting_offset(triggers, device_type) return apply_offsets(exclude_types(triggers, excluded_types), - starting_offset.time, + starting_offset, static_offset=offset) def add_triggers(self, triggers: List[Trigger]) -> List[Trigger]: @@ -506,7 +497,8 @@ def trigger_decoder( remove_pre_fixation: bool = True, offset: float = 0.0, exclusion: Optional[List[TriggerType]] = None, - device_type: Optional[str] = None, apply_system_offset: bool = True) -> Tuple[list, list, list]: + device_type: Optional[str] = None, + apply_starting_offset: bool = True) -> Tuple[list, list, list]: """Trigger Decoder. Given a path to trigger data, this method loads valid Triggers and returns their type, timing and label. @@ -519,9 +511,8 @@ def trigger_decoder( exclusion: any TriggerTypes to be filtered from data returned device_type: used to determine which starting_offset value to use; if a 'starting_offset' trigger is found it will be applied. - apply_system_offset: if True, keeps the 'starting_offset' value from the triggers file. - If False, sets it to 0.0. - + apply_starting_offset: if False, does not apply the starting offset for + the given device_type. Returns ------- tuple: trigger_type, trigger_timing, trigger_label @@ -532,10 +523,12 @@ def trigger_decoder( ] triggers = read(trigger_path) - starting_offset = find_starting_offset(triggers, device_type, apply_system_offset) + starting_offset = Trigger('', TriggerType.OFFSET, 0.0) + if apply_starting_offset: + starting_offset = find_starting_offset(triggers, device_type) filtered = exclude_types(triggers, excluded_types) corrected = apply_offsets(filtered, starting_offset, static_offset=offset) labels, types, times = zip(*corrected) - return list(map(str, types)), list(times), list(labels) + return list(map(str, types)), list(times), list(labels) \ No newline at end of file diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 1dd239e5f..5b98e3cd6 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -2,31 +2,33 @@ from pathlib import Path from typing import Tuple -from bcipy.config import (DEFAULT_PARAMETERS_PATH, TRIGGER_FILENAME, +import numpy as np +from matplotlib.figure import Figure +from sklearn.metrics import balanced_accuracy_score +from sklearn.model_selection import train_test_split + +import bcipy.acquisition.devices as devices +from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, + DEFAULT_PARAMETERS_PATH, EYE_TRACKER_FILENAME_PREFIX, RAW_DATA_FILENAME, STATIC_AUDIO_PATH, - DEFAULT_DEVICE_SPEC_FILENAME, - STATIC_IMAGES_PATH, EYE_TRACKER_FILENAME_PREFIX) + STATIC_IMAGES_PATH, TRIGGER_FILENAME) from bcipy.helpers.acquisition import analysis_channels from bcipy.helpers.load import (load_experimental_data, load_json_parameters, load_raw_data) from bcipy.helpers.parameters import Parameters from bcipy.helpers.save import save_model from bcipy.helpers.stimuli import play_sound, update_inquiry_timing -from bcipy.helpers.system_utils import report_execution_time from bcipy.helpers.symbols import alphabet +from bcipy.helpers.system_utils import report_execution_time from bcipy.helpers.triggers import TriggerType, trigger_decoder -from bcipy.helpers.visualization import visualize_erp, visualize_gaze, visualize_gaze_inquiries +from bcipy.helpers.visualization import (visualize_erp, visualize_gaze, + visualize_gaze_inquiries) from bcipy.preferences import preferences from bcipy.signal.model.base_model import SignalModel, SignalModelMetadata -from bcipy.signal.model.pca_rda_kde import PcaRdaKdeModel -from bcipy.signal.process import (ERPTransformParams, filter_inquiries, - get_default_transform, extract_eye_info) from bcipy.signal.model.fusion_model import GazeModel -import numpy as np -from matplotlib.figure import Figure -from sklearn.metrics import balanced_accuracy_score -from sklearn.model_selection import train_test_split -import bcipy.acquisition.devices as devices +from bcipy.signal.model.pca_rda_kde import PcaRdaKdeModel +from bcipy.signal.process import (ERPTransformParams, extract_eye_info, + filter_inquiries, get_default_transform) log = logging.getLogger(__name__) logging.basicConfig(level=logging.INFO, format="[%(threadName)-9s][%(asctime)s][%(name)s][%(levelname)s]: %(message)s") @@ -188,11 +190,10 @@ def offline_analysis( # Process triggers.txt files trigger_targetness, trigger_timing, _ = trigger_decoder( - offset=static_offset, trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], - device_type='EEG', - apply_system_offset=True + offset=static_offset, + device_type='EEG' ) # update the trigger timing list to account for the initial trial window @@ -287,16 +288,16 @@ def offline_analysis( # Extract all Triggers info trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( - remove_pre_fixation=False, - apply_system_offset=False, trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", + remove_pre_fixation=False, exclusion=[ TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION, TriggerType.SYSTEM, TriggerType.OFFSET], - device_type='EYETRACKER' + device_type='EYETRACKER', + apply_starting_offset=False ) ''' Trigger_timing includes PROMPT and excludes FIXATION ''' From ab204dda1ff4f726366ca74c49b005493041a13b Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 20 Oct 2023 16:39:09 -0700 Subject: [PATCH 117/330] Added function in acquisition helper for computing the raw_data filename based on the device spec. Refactored offline_analysis to use the new function for finding the appropriate raw data file. --- bcipy/helpers/acquisition.py | 24 +++++++++++---- bcipy/helpers/load.py | 2 +- bcipy/helpers/tests/test_acquisition.py | 25 ++++++++++++++-- bcipy/helpers/tests/test_triggers.py | 1 + bcipy/helpers/triggers.py | 2 +- bcipy/signal/model/offline_analysis.py | 40 +++++++------------------ 6 files changed, 55 insertions(+), 39 deletions(-) diff --git a/bcipy/helpers/acquisition.py b/bcipy/helpers/acquisition.py index 83c878dea..fc0098cb0 100644 --- a/bcipy/helpers/acquisition.py +++ b/bcipy/helpers/acquisition.py @@ -2,17 +2,19 @@ import logging import subprocess import time -from typing import Dict, List, Tuple, Optional +from typing import Dict, List, Optional, Tuple import numpy as np +from bcipy.acquisition import (ClientManager, LslAcquisitionClient, + LslDataServer, await_start, + discover_device_spec) from bcipy.acquisition.devices import (DeviceSpec, preconfigured_device, with_content_type) -from bcipy.acquisition import (LslAcquisitionClient, await_start, - LslDataServer, discover_device_spec, - ClientManager) +from bcipy.config import BCIPY_ROOT +from bcipy.config import DEFAULT_DEVICE_SPEC_FILENAME as spec_name +from bcipy.config import RAW_DATA_FILENAME from bcipy.helpers.save import save_device_specs -from bcipy.config import BCIPY_ROOT, RAW_DATA_FILENAME, DEFAULT_DEVICE_SPEC_FILENAME as spec_name log = logging.getLogger(__name__) @@ -62,7 +64,7 @@ def init_eeg_acquisition( await_start(dataserver) device_spec = init_device(content_type, device_name) - raw_data_name = f'{RAW_DATA_FILENAME}.csv' if content_type == 'EEG' else None + raw_data_name = raw_data_filename(device_spec) client = init_lsl_client(parameters, device_spec, save_folder, raw_data_name) @@ -80,6 +82,16 @@ def init_eeg_acquisition( return (manager, servers) +def raw_data_filename(device_spec: DeviceSpec) -> str: + """Returns the name of the raw data file for the given device.""" + if device_spec.content_type == 'EEG': + return f'{RAW_DATA_FILENAME}.csv' + + content_type = '_'.join(device_spec.content_type.split()).lower() + name = '_'.join(device_spec.name.split()).lower() + return f"{content_type}_data_{name}.csv" + + def init_device(content_type: str, device_name: Optional[str] = None) -> DeviceSpec: """Initialize a DeviceSpec for the given content type. diff --git a/bcipy/helpers/load.py b/bcipy/helpers/load.py index 5d45b7070..863885629 100644 --- a/bcipy/helpers/load.py +++ b/bcipy/helpers/load.py @@ -226,7 +226,7 @@ def load_raw_data(data_folder: str, data_paths: List[str]) -> List[RawData]: data = [] for data_path in data_paths: filename = Path(data_folder, data_path) - if os.path.exists(filename): + if filename.exists(): data.append(RawData.load(filename)) else: raise FileNotFoundError(f'Could not find {filename}') diff --git a/bcipy/helpers/tests/test_acquisition.py b/bcipy/helpers/tests/test_acquisition.py index 057c90fc1..1cc741ca7 100644 --- a/bcipy/helpers/tests/test_acquisition.py +++ b/bcipy/helpers/tests/test_acquisition.py @@ -4,10 +4,13 @@ from pathlib import Path from unittest.mock import Mock, patch +from bcipy.acquisition.devices import DeviceSpec from bcipy.config import DEFAULT_PARAMETERS_PATH -from bcipy.helpers.acquisition import (init_device, init_eeg_acquisition, +from bcipy.helpers.acquisition import (RAW_DATA_FILENAME, init_device, + init_eeg_acquisition, max_inquiry_duration, parse_stream_type, - server_spec, stream_types) + raw_data_filename, server_spec, + stream_types) from bcipy.helpers.load import load_json_parameters from bcipy.helpers.save import init_save_data_structure @@ -166,6 +169,24 @@ def test_server_spec_without_named_device(self, with_content_type_mock): with_content_type_mock.assert_called_with('EEG') self.assertEqual(device_spec, device1) + def test_raw_data_filename_eeg(self): + """Test generation of filename for EEG devices""" + device = DeviceSpec(name='DSI-24', + channels=[], + sample_rate=300.0, + content_type='EEG') + self.assertEqual(raw_data_filename(device), f'{RAW_DATA_FILENAME}.csv') + + def test_raw_data_filename(self): + """Test generation of filename""" + + device = DeviceSpec(name='Tobii-P0', + channels=[], + sample_rate=60, + content_type='EYETRACKER') + self.assertEqual(raw_data_filename(device), + 'eyetracker_data_tobii-p0.csv') + if __name__ == '__main__': unittest.main() diff --git a/bcipy/helpers/tests/test_triggers.py b/bcipy/helpers/tests/test_triggers.py index 51268a783..9b9d2a59a 100644 --- a/bcipy/helpers/tests/test_triggers.py +++ b/bcipy/helpers/tests/test_triggers.py @@ -621,5 +621,6 @@ def test_trigger_decoder_without_starting_offset(self, path_exists_mock): self.assertAlmostEqual(times[0], 8.58) self.assertAlmostEqual(times[-1], 11.30) + if __name__ == '__main__': unittest.main() diff --git a/bcipy/helpers/triggers.py b/bcipy/helpers/triggers.py index cbee64413..65f0c1710 100644 --- a/bcipy/helpers/triggers.py +++ b/bcipy/helpers/triggers.py @@ -531,4 +531,4 @@ def trigger_decoder( corrected = apply_offsets(filtered, starting_offset, static_offset=offset) labels, types, times = zip(*corrected) - return list(map(str, types)), list(times), list(labels) \ No newline at end of file + return list(map(str, types)), list(times), list(labels) diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 5b98e3cd6..08aca7b27 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -9,10 +9,9 @@ import bcipy.acquisition.devices as devices from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, - DEFAULT_PARAMETERS_PATH, EYE_TRACKER_FILENAME_PREFIX, - RAW_DATA_FILENAME, STATIC_AUDIO_PATH, + DEFAULT_PARAMETERS_PATH, STATIC_AUDIO_PATH, STATIC_IMAGES_PATH, TRIGGER_FILENAME) -from bcipy.helpers.acquisition import analysis_channels +from bcipy.helpers.acquisition import analysis_channels, raw_data_filename from bcipy.helpers.load import (load_experimental_data, load_json_parameters, load_raw_data) from bcipy.helpers.parameters import Parameters @@ -120,29 +119,6 @@ def offline_analysis( # We use half of that time here to buffer during transforms buffer = int(parameters.get("task_buffer_length") / 2) - acq_mode = parameters.get("acq_mode") - # handle multiple acquisition. Note: we only currently support Eyetracker + EEG - data_file_paths = [] - if '+' in acq_mode: - if 'eyetracker' in acq_mode.lower(): - # find the eyetracker data file with the prefix of EYE_TRACKER_FILENAME_PREFIX - eye_tracker_file = [f.name for f in Path(data_folder).iterdir() - if f.name.startswith(EYE_TRACKER_FILENAME_PREFIX)] - assert len( - eye_tracker_file) == 1, f"Found {len(eye_tracker_file)} eyetracker files in {data_folder}. Expected 1." - data_file_paths.extend(eye_tracker_file) - else: - raise ValueError(f"Unsupported acquisition mode: {acq_mode}. Eyetracker must be included.") - if 'eeg' in acq_mode.lower(): - # find the eeg data file with the prefix of EEG_FILENAME_PREFIX - eeg_file = [f.name for f in Path(data_folder).iterdir() if f.name.startswith(RAW_DATA_FILENAME)] - assert len(eeg_file) == 1, f"Found {len(eeg_file)} EEG files in {data_folder}. Expected 1." - data_file_paths.extend(eeg_file) - else: - raise ValueError(f"Unsupported acquisition mode: {acq_mode}. EEG must be included.") - else: - data_file_paths = [f"{RAW_DATA_FILENAME}.csv"] - # get signal filtering information transform_params = parameters.instantiate(ERPTransformParams) downsample_rate = transform_params.down_sampling_rate @@ -160,12 +136,19 @@ def offline_analysis( f"Static offset: {static_offset}" ) + devices_by_name = devices.load( + Path(data_folder, DEFAULT_DEVICE_SPEC_FILENAME), replace=True) + data_file_paths = [ + path for path in (Path(data_folder, raw_data_filename(device_spec)) + for device_spec in devices_by_name.values()) + if path.exists() + ] + # raw_data: [RawData(EyeTracker, RawData(EEG)] raw_data = load_raw_data(data_folder, data_file_paths) for mode_data in raw_data: - devices.load(Path(data_folder, DEFAULT_DEVICE_SPEC_FILENAME)) - device_spec = devices.preconfigured_device(mode_data.daq_type) + device_spec = devices_by_name.get(mode_data.daq_type) # extract relevant information from raw data object eeg if device_spec.content_type == "EEG": channels = mode_data.channels @@ -351,7 +334,6 @@ def offline_analysis( raw_plot=True, ) - breakpoint() if alert_finished: play_sound(f"{STATIC_AUDIO_PATH}/{parameters['alert_sound_file']}") From 7b5963f39cb3edd5c9c486cea185e6640465d42f Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 20 Oct 2023 17:42:00 -0700 Subject: [PATCH 118/330] Reverted load_raw_data back to taking a single parameter. --- bcipy/helpers/convert.py | 20 ++- bcipy/helpers/demo/demo_load_raw_data.py | 59 -------- bcipy/helpers/demo/demo_visualization.py | 171 +++++++++-------------- bcipy/helpers/load.py | 14 +- bcipy/helpers/visualization.py | 171 +++++++++++------------ bcipy/signal/model/offline_analysis.py | 29 ++-- 6 files changed, 174 insertions(+), 290 deletions(-) delete mode 100644 bcipy/helpers/demo/demo_load_raw_data.py diff --git a/bcipy/helpers/convert.py b/bcipy/helpers/convert.py index 93d3bade4..5a5f5ee7e 100644 --- a/bcipy/helpers/convert.py +++ b/bcipy/helpers/convert.py @@ -3,22 +3,20 @@ import os import tarfile from pathlib import Path -from typing import Dict, List, Tuple, Optional +from typing import Dict, List, Optional, Tuple +import mne import numpy as np - -from pyedflib import FILETYPE_EDFPLUS, EdfWriter, FILETYPE_BDFPLUS +from mne.io import RawArray +from pyedflib import FILETYPE_BDFPLUS, FILETYPE_EDFPLUS, EdfWriter from tqdm import tqdm -from bcipy.config import RAW_DATA_FILENAME, TRIGGER_FILENAME, DEFAULT_PARAMETER_FILENAME +from bcipy.config import (DEFAULT_PARAMETER_FILENAME, RAW_DATA_FILENAME, + TRIGGER_FILENAME) from bcipy.helpers.load import load_json_parameters, load_raw_data from bcipy.helpers.raw_data import RawData -from bcipy.signal.process import Composition, get_default_transform from bcipy.helpers.triggers import trigger_decoder, trigger_durations - -import mne -from mne.io import RawArray - +from bcipy.signal.process import Composition, get_default_transform logger = logging.getLogger(__name__) @@ -170,9 +168,7 @@ def pyedf_convert(data_dir: str, params = load_json_parameters(Path(data_dir, DEFAULT_PARAMETER_FILENAME), value_cast=True) - data_list = load_raw_data(data_dir, [f'{RAW_DATA_FILENAME}.csv']) - # NOTE: With the current inputs this function only loads the EEG data. Update needed for eyetracker data. - data = data_list[0] + data = load_raw_data(Path(data_dir, f'{RAW_DATA_FILENAME}.csv')) fs = data.sample_rate if pre_filter: default_transform = get_default_transform( diff --git a/bcipy/helpers/demo/demo_load_raw_data.py b/bcipy/helpers/demo/demo_load_raw_data.py deleted file mode 100644 index d039cc3ba..000000000 --- a/bcipy/helpers/demo/demo_load_raw_data.py +++ /dev/null @@ -1,59 +0,0 @@ -from bcipy.helpers.load import ( - load_raw_data, load_json_parameters -) -from pathlib import Path -from bcipy.config import (DEFAULT_PARAMETERS_PATH, EYE_TRACKER_FILENAME_PREFIX) - - -def main(data_folder, data_file_paths): - """Load BciPy raw data, print info to console, and return data to caller.""" - # Load all data saved in the directory - - raw_data_list = load_raw_data(data_folder, data_file_paths) - for mode_data in raw_data_list: - channels = mode_data.channels - type_amp = mode_data.daq_type - sample_rate = mode_data.sample_rate - # access data using raw_data.channel_data or raw_data.numerical_data - print(f'Successfully loaded raw data from {type_amp}') - print(f'Channels: {channels}') - print(f'Type: {type_amp}') - print(f'Sample rate: {sample_rate}') - print(f'Data shape: {mode_data.channel_data.shape}') - return raw_data_list - - -if __name__ == "__main__": - import argparse - from bcipy.config import RAW_DATA_FILENAME - - parser = argparse.ArgumentParser() - parser.add_argument('-d', '--data_folder', required=True, help='Path to data folder') - parser.add_argument("-p", "--parameters_file", default=DEFAULT_PARAMETERS_PATH) - args = parser.parse_args() - - parameters = load_json_parameters(args.parameters_file, value_cast=True) - acq_mode = parameters.get("acq_mode") - - data_file_paths = [] - if '+' in acq_mode: - if 'eyetracker' in acq_mode.lower(): - # find the eyetracker data file with the prefix of EYE_TRACKER_FILENAME_PREFIX - eye_tracker_file = [f.name for f in Path(args.data_folder).iterdir() - if f.name.startswith(EYE_TRACKER_FILENAME_PREFIX)] - assert len( - eye_tracker_file) == 1, f"Found {len(eye_tracker_file)} eyetracker files in {args.data_folder}." - data_file_paths.extend(eye_tracker_file) - else: - raise ValueError(f"Unsupported acquisition mode: {acq_mode}. Eyetracker must be included.") - if 'eeg' in acq_mode.lower(): - # find the eeg data file with the prefix of EEG_FILENAME_PREFIX - eeg_file = [f.name for f in Path(args.data_folder).iterdir() if f.name.startswith(RAW_DATA_FILENAME)] - assert len(eeg_file) == 1, f"Found {len(eeg_file)} EEG files in {args.data_folder}. Expected 1." - data_file_paths.extend(eeg_file) - else: - raise ValueError(f"Unsupported acquisition mode: {acq_mode}. EEG must be included.") - else: - data_file_paths = [f"{RAW_DATA_FILENAME}.csv"] - - raw_data_list = main(args.data_folder, data_file_paths) diff --git a/bcipy/helpers/demo/demo_visualization.py b/bcipy/helpers/demo/demo_visualization.py index 078266eb0..5d0fd83bd 100644 --- a/bcipy/helpers/demo/demo_visualization.py +++ b/bcipy/helpers/demo/demo_visualization.py @@ -13,20 +13,16 @@ - - `python bcipy/helpers/demo/demo_visualization.py --save"` this will save the visualizations generated to the provided or selected path """ -from bcipy.config import (TRIGGER_FILENAME, RAW_DATA_FILENAME, EYE_TRACKER_FILENAME_PREFIX, - DEFAULT_DEVICE_SPEC_FILENAME, DEFAULT_PARAMETERS_PATH, - DEFAULT_PARAMETER_FILENAME) +import bcipy.acquisition.devices as devices +from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, + DEFAULT_PARAMETER_FILENAME, RAW_DATA_FILENAME, + TRIGGER_FILENAME) from bcipy.helpers.acquisition import analysis_channels -from bcipy.signal.process import get_default_transform -from bcipy.helpers.load import ( - load_experimental_data, - load_json_parameters, - load_raw_data, -) -from bcipy.helpers.visualization import visualize_erp +from bcipy.helpers.load import (load_experimental_data, load_json_parameters, + load_raw_data) from bcipy.helpers.triggers import TriggerType, trigger_decoder -import bcipy.acquisition.devices as devices - +from bcipy.helpers.visualization import visualize_erp +from bcipy.signal.process import get_default_transform if __name__ == '__main__': import argparse @@ -34,106 +30,73 @@ parser = argparse.ArgumentParser() parser.add_argument( - '-d', - '--data_folder', + '-p', + '--path', help='Path to the directory with raw_data to be converted', required=False) - parser.add_argument("-p", "--parameters_file", default=DEFAULT_PARAMETERS_PATH) parser.add_argument("--show", dest="show", action="store_true") parser.add_argument("--save", dest="save", action="store_true") parser.set_defaults(show=False) parser.set_defaults(save=False) args = parser.parse_args() - path = args.data_folder + path = args.path if not path: path = load_experimental_data() - parameters = load_json_parameters(f'{path}/{DEFAULT_PARAMETER_FILENAME}', value_cast=True) - else: - parameters = load_json_parameters(args.parameters_file, value_cast=True) - - acq_mode = parameters.get("acq_mode") - - # Make sure you are loading the correct raw data: - data_file_paths = [] - if '+' in acq_mode: - if 'eyetracker' in acq_mode.lower(): - # find the eyetracker data file with the prefix of EYE_TRACKER_FILENAME_PREFIX - eye_tracker_file = [f.name for f in Path(path).iterdir() - if f.name.startswith(EYE_TRACKER_FILENAME_PREFIX)] - assert len( - eye_tracker_file) == 1, f"Found {len(eye_tracker_file)} eyetracker files in {path}. Expected 1." - data_file_paths.extend(eye_tracker_file) - else: - raise ValueError(f"Unsupported acquisition mode: {acq_mode}. Eyetracker must be included.") - if 'eeg' in acq_mode.lower(): - # find the eeg data file with the prefix of EEG_FILENAME_PREFIX - eeg_file = [f.name for f in Path(path).iterdir() if f.name.startswith(RAW_DATA_FILENAME)] - assert len(eeg_file) == 1, f"Found {len(eeg_file)} EEG files in {path}. Expected 1." - data_file_paths.extend(eeg_file) - else: - raise ValueError(f"Unsupported acquisition mode: {acq_mode}. EEG must be included.") - else: - data_file_paths = [f"{RAW_DATA_FILENAME}.csv"] - - raw_data_list = load_raw_data(path, data_file_paths) - - for mode_data in raw_data_list: - devices.load(Path(path, DEFAULT_DEVICE_SPEC_FILENAME)) - device_spec = devices.preconfigured_device(mode_data.daq_type) - # extract all relevant parameters from raw data object eeg - if device_spec.content_type == "Eyetracker": - continue - elif device_spec.content_type == "EEG": - trial_window = parameters.get("trial_window") - if trial_window is None: - trial_window = [0.0, 0.5] - prestim_length = parameters.get("prestim_length") - trials_per_inquiry = parameters.get("stim_length") - # The task buffer length defines the min time between two inquiries - # We use half of that time here to buffer during transforms - buffer = int(parameters.get("task_buffer_length") / 2) - # get signal filtering information - downsample_rate = parameters.get("down_sampling_rate") - notch_filter = parameters.get("notch_filter_frequency") - filter_high = parameters.get("filter_high") - filter_low = parameters.get("filter_low") - filter_order = parameters.get("filter_order") - static_offset = parameters.get("static_trigger_offset") - channels = mode_data.channels - type_amp = mode_data.daq_type - sample_rate = mode_data.sample_rate - - # setup filtering - default_transform = get_default_transform( - sample_rate_hz=sample_rate, - notch_freq_hz=notch_filter, - bandpass_low=filter_low, - bandpass_high=filter_high, - bandpass_order=filter_order, - downsample_factor=downsample_rate, - ) - # Process triggers.txt files - trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( - offset=static_offset, - trigger_path=f"{path}/{TRIGGER_FILENAME}", - exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], - ) - labels = [0 if label == 'nontarget' else 1 for label in trigger_targetness] - - channel_map = analysis_channels(channels, device_spec) - - save_path = None if not args.save else path - figure_handles = visualize_erp( - mode_data, - channel_map, - trigger_timing, - labels, - trial_window, - transform=default_transform, - plot_average=True, - plot_topomaps=True, - save_path=save_path, - show=args.show - ) + parameters = load_json_parameters(f'{path}/{DEFAULT_PARAMETER_FILENAME}', value_cast=True) + + # extract all relevant parameters + trial_window = parameters.get("trial_window") + prestim_length = parameters.get("prestim_length") + trials_per_inquiry = parameters.get("stim_length") + # The task buffer length defines the min time between two inquiries + # We use half of that time here to buffer during transforms + buffer = int(parameters.get("task_buffer_length") / 2) + # get signal filtering information + downsample_rate = parameters.get("down_sampling_rate") + notch_filter = parameters.get("notch_filter_frequency") + filter_high = parameters.get("filter_high") + filter_low = parameters.get("filter_low") + filter_order = parameters.get("filter_order") + static_offset = parameters.get("static_trigger_offset") + raw_data = load_raw_data(Path(path, f'{RAW_DATA_FILENAME}.csv')) + channels = raw_data.channels + type_amp = raw_data.daq_type + sample_rate = raw_data.sample_rate + + # setup filtering + default_transform = get_default_transform( + sample_rate_hz=sample_rate, + notch_freq_hz=notch_filter, + bandpass_low=filter_low, + bandpass_high=filter_high, + bandpass_order=filter_order, + downsample_factor=downsample_rate, + ) + # Process triggers.txt files + trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( + offset=static_offset, + trigger_path=f"{path}/{TRIGGER_FILENAME}", + exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], + ) + labels = [0 if label == 'nontarget' else 1 for label in trigger_targetness] + + devices.load(Path(path, DEFAULT_DEVICE_SPEC_FILENAME)) + device_spec = devices.preconfigured_device(raw_data.daq_type) + channel_map = analysis_channels(channels, device_spec) + + save_path = None if not args.save else path + + figure_handles = visualize_erp( + raw_data, + channel_map, + trigger_timing, + labels, + trial_window, + transform=default_transform, + plot_average=True, + plot_topomaps=True, + save_path=save_path, + show=args.show + ) diff --git a/bcipy/helpers/load.py b/bcipy/helpers/load.py index 863885629..a12980ef3 100644 --- a/bcipy/helpers/load.py +++ b/bcipy/helpers/load.py @@ -211,26 +211,18 @@ def choose_csv_file(filename: str = None) -> str: return filename -def load_raw_data(data_folder: str, data_paths: List[str]) -> List[RawData]: +def load_raw_data(filename: str) -> RawData: """Reads the data (.csv) file written by data acquisition. Parameters ---------- - - data_folder : path to the serialized data location - - data_paths : list of paths to the serialized data (csv file) + - filename : path to the serialized data (csv file) Returns ------- RawData object with data held in memory """ - data = [] - for data_path in data_paths: - filename = Path(data_folder, data_path) - if filename.exists(): - data.append(RawData.load(filename)) - else: - raise FileNotFoundError(f'Could not find {filename}') - return data + return RawData.load(filename) def load_txt_data() -> str: diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index 2679b8afc..04d4ef4b8 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -1,30 +1,29 @@ import logging - -from typing import List, Optional, Tuple from pathlib import Path +from typing import List, Optional, Tuple + +import matplotlib.pyplot as plt +import mne +import numpy as np +import pandas as pd +import seaborn as sns from matplotlib.figure import Figure from matplotlib.patches import Ellipse +from mne import Epochs +from mne.io import read_raw_edf +from scipy import linalg -from bcipy.config import (TRIGGER_FILENAME, RAW_DATA_FILENAME, - DEFAULT_DEVICE_SPEC_FILENAME, - STATIC_IMAGES_PATH) +import bcipy.acquisition.devices as devices +from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, RAW_DATA_FILENAME, + STATIC_IMAGES_PATH, TRIGGER_FILENAME) from bcipy.helpers.acquisition import analysis_channels -from bcipy.helpers.triggers import TriggerType, trigger_decoder from bcipy.helpers.convert import convert_to_mne from bcipy.helpers.load import choose_csv_file, load_raw_data -from bcipy.helpers.stimuli import mne_epochs from bcipy.helpers.raw_data import RawData -from bcipy.signal.process import Composition, get_default_transform, ERPTransformParams - -import bcipy.acquisition.devices as devices -import mne -from mne import Epochs -from mne.io import read_raw_edf -import numpy as np -import seaborn as sns -from scipy import linalg -import matplotlib.pyplot as plt -import pandas as pd +from bcipy.helpers.stimuli import mne_epochs +from bcipy.helpers.triggers import TriggerType, trigger_decoder +from bcipy.signal.process import (Composition, ERPTransformParams, + get_default_transform) log = logging.getLogger(__name__) @@ -122,7 +121,7 @@ def visualize_gaze( img_path=None, screen_size=(1920, 1080), heatmap=False, - raw_plot=False): + raw_plot=False) -> Figure: """Visualize Eye Data. Assumes that the data is collected using BciPy and a Tobii-nano eye tracker. The default @@ -216,7 +215,7 @@ def visualize_gaze_inquiries( show=False, img_path=None, heatmap=False, - raw_plot=False): + raw_plot=False) -> Figure: """Visualize Eye Data. Assumes that the data is collected using BciPy and a Tobii-nano eye tracker. The default @@ -335,29 +334,27 @@ def visualize_csv_eeg_triggers(trigger_col: Optional[int] = None): Figure of Triggers """ # Load in CSV - filename = choose_csv_file() - raw_data_list = load_raw_data(filename, [filename]) - for mode_data in raw_data_list: - raw_data = mode_data.by_channel() - - # Pull out the triggers - if not trigger_col: - triggers = raw_data[-1] - else: - triggers = raw_data[trigger_col] - - # Plot the triggers - plt.plot(triggers) - - # Add some titles and labels to the figure - plt.title('Trigger Signal') - plt.ylabel('Trigger Value') - plt.xlabel('Samples') - - log.info('Press Ctrl + C to exit!') - # Show us the figure! Depending on your OS / IDE this may not close when - # The window is closed, see the message above - plt.show() + data = load_raw_data(choose_csv_file()) + raw_data = data.by_channel() + + # Pull out the triggers + if not trigger_col: + triggers = raw_data[-1] + else: + triggers = raw_data[trigger_col] + + # Plot the triggers + plt.plot(triggers) + + # Add some titles and labels to the figure + plt.title('Trigger Signal') + plt.ylabel('Trigger Value') + plt.xlabel('Samples') + + log.info('Press Ctrl + C to exit!') + # Show us the figure! Depending on your OS / IDE this may not close when + # The window is closed, see the message above + plt.show() def visualize_joint_average( @@ -444,48 +441,46 @@ def visualize_session_data(session_path: str, parameters: dict, show=True) -> Fi trial_window = parameters.get("trial_window") static_offset = parameters.get("static_trigger_offset") - raw_data_list = load_raw_data(session_path, [f'{RAW_DATA_FILENAME}.csv']) - - for mode_data in raw_data_list: - channels = mode_data.channels - sample_rate = mode_data.sample_rate - - transform_params = parameters.instantiate(ERPTransformParams) - - devices.load(Path(session_path, DEFAULT_DEVICE_SPEC_FILENAME)) - device_spec = devices.preconfigured_device(mode_data.daq_type) - - # setup filtering - default_transform = get_default_transform( - sample_rate_hz=sample_rate, - notch_freq_hz=transform_params.notch_filter_frequency, - bandpass_low=transform_params.filter_low, - bandpass_high=transform_params.filter_high, - bandpass_order=transform_params.filter_order, - downsample_factor=transform_params.down_sampling_rate, - ) - # Process triggers.txt files - trigger_targetness, trigger_timing, _ = trigger_decoder( - offset=static_offset, - trigger_path=f"{session_path}/{TRIGGER_FILENAME}", - exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], - ) - assert "nontarget" in trigger_targetness, "No nontarget triggers found." - assert "target" in trigger_targetness, "No target triggers found." - assert len(trigger_targetness) == len(trigger_timing), "Trigger targetness and timing must be the same length." - - labels = [0 if label == 'nontarget' else 1 for label in trigger_targetness] - channel_map = analysis_channels(channels, device_spec) - - erp = visualize_erp( - mode_data, - channel_map, - trigger_timing, - labels, - trial_window, - transform=default_transform, - plot_average=True, - plot_topomaps=True, - save_path=session_path, - show=show, - ) + raw_data = load_raw_data(Path(session_path, f'{RAW_DATA_FILENAME}.csv')) + channels = raw_data.channels + sample_rate = raw_data.sample_rate + + transform_params = parameters.instantiate(ERPTransformParams) + + devices.load(Path(session_path, DEFAULT_DEVICE_SPEC_FILENAME)) + device_spec = devices.preconfigured_device(raw_data.daq_type) + + # setup filtering + default_transform = get_default_transform( + sample_rate_hz=sample_rate, + notch_freq_hz=transform_params.notch_filter_frequency, + bandpass_low=transform_params.filter_low, + bandpass_high=transform_params.filter_high, + bandpass_order=transform_params.filter_order, + downsample_factor=transform_params.down_sampling_rate, + ) + # Process triggers.txt files + trigger_targetness, trigger_timing, _ = trigger_decoder( + offset=static_offset, + trigger_path=f"{session_path}/{TRIGGER_FILENAME}", + exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], + ) + assert "nontarget" in trigger_targetness, "No nontarget triggers found." + assert "target" in trigger_targetness, "No target triggers found." + assert len(trigger_targetness) == len(trigger_timing), "Trigger targetness and timing must be the same length." + + labels = [0 if label == 'nontarget' else 1 for label in trigger_targetness] + channel_map = analysis_channels(channels, device_spec) + + return visualize_erp( + raw_data, + channel_map, + trigger_timing, + labels, + trial_window, + transform=default_transform, + plot_average=True, + plot_topomaps=True, + save_path=session_path, + show=show, + ) diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 08aca7b27..167c073b7 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -144,16 +144,14 @@ def offline_analysis( if path.exists() ] - # raw_data: [RawData(EyeTracker, RawData(EEG)] - raw_data = load_raw_data(data_folder, data_file_paths) - - for mode_data in raw_data: - device_spec = devices_by_name.get(mode_data.daq_type) + for raw_data_path in data_file_paths: + raw_data = load_raw_data(raw_data_path) + device_spec = devices_by_name.get(raw_data.daq_type) # extract relevant information from raw data object eeg if device_spec.content_type == "EEG": - channels = mode_data.channels - type_amp = mode_data.daq_type - sample_rate = mode_data.sample_rate + channels = raw_data.channels + type_amp = raw_data.daq_type + sample_rate = raw_data.sample_rate # setup filtering default_transform = get_default_transform( @@ -188,7 +186,7 @@ def offline_analysis( channels_used = [channels[i] for i, keep in enumerate(channel_map) if keep == 1] log.info(f'Channels used in analysis: {channels_used}') - data, fs = mode_data.by_channel() + data, fs = raw_data.by_channel() inquiries, inquiry_labels, inquiry_timing = model.reshaper( trial_targetness_label=trigger_targetness, @@ -234,7 +232,7 @@ def offline_analysis( # this should have uncorrected trigger timing for display purposes figure_handles = visualize_erp( - mode_data, + raw_data, channel_map, trigger_timing, labels, @@ -248,15 +246,15 @@ def offline_analysis( if device_spec.content_type == "Eyetracker": figure_handles = visualize_gaze( - mode_data, + raw_data, save_path=data_folder if save_figures else None, show=True, raw_plot=True, ) - channels = mode_data.channels - type_amp = mode_data.daq_type - sample_rate = mode_data.sample_rate + channels = raw_data.channels + type_amp = raw_data.daq_type + sample_rate = raw_data.sample_rate log.info(f"Channels read from csv: {channels}") log.info(f"Device type: {type_amp}, fs={sample_rate}") @@ -265,7 +263,7 @@ def offline_analysis( channels_used = [channels[i] for i, keep in enumerate(channel_map) if keep == 1] log.info(f'Channels used in analysis: {channels_used}') - data, fs = mode_data.by_channel() + data, fs = raw_data.by_channel() model = GazeModel() @@ -334,7 +332,6 @@ def offline_analysis( raw_plot=True, ) - if alert_finished: play_sound(f"{STATIC_AUDIO_PATH}/{parameters['alert_sound_file']}") return model, figure_handles From 5c3b38ab86882ce90efeab4de02201642887db5d Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 20 Oct 2023 17:53:30 -0700 Subject: [PATCH 119/330] Added code to save the eyetracker model --- bcipy/signal/model/offline_analysis.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 167c073b7..114617e12 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -248,7 +248,7 @@ def offline_analysis( figure_handles = visualize_gaze( raw_data, save_path=data_folder if save_figures else None, - show=True, + show=show_figures, raw_plot=True, ) @@ -328,10 +328,17 @@ def offline_analysis( left_eye, right_eye, means, covs, save_path=None, - show=True, + show=show_figures, raw_plot=True, ) + model.metadata = SignalModelMetadata(device_spec=device_spec, + transform=None) + log.info("Training complete for Eyetracker model. Saving data...") + save_model( + model, + Path(data_folder, f"model_{device_spec.content_type}.pkl")) + if alert_finished: play_sound(f"{STATIC_AUDIO_PATH}/{parameters['alert_sound_file']}") return model, figure_handles From bcd3a2c153e6e72fa3c3627424049cd1867f2a17 Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Sun, 22 Oct 2023 21:35:42 -0400 Subject: [PATCH 120/330] integrated evidence fuser to calculate likelihoods --- bcipy/simulator/helpers/decision.py | 2 +- bcipy/simulator/helpers/evidence_fuser.py | 45 +++++++++++++++++++++++ bcipy/simulator/helpers/sim_state.py | 41 ++++++++++++++------- bcipy/simulator/helpers/types.py | 5 ++- bcipy/simulator/sim_sampler.py | 7 +++- 5 files changed, 82 insertions(+), 18 deletions(-) create mode 100644 bcipy/simulator/helpers/evidence_fuser.py diff --git a/bcipy/simulator/helpers/decision.py b/bcipy/simulator/helpers/decision.py index dd8998e26..7b52b5340 100644 --- a/bcipy/simulator/helpers/decision.py +++ b/bcipy/simulator/helpers/decision.py @@ -106,7 +106,7 @@ def __init__(self, threshold: float): self.tau = threshold def decide(self, series: List[InquiryResult]): - current_distribution = series[-1].evidence_likelihoods + current_distribution = series[-1].fused_likelihood if np.max(current_distribution) > self.tau: log.info("Committing to decision: posterior exceeded threshold.") return True diff --git a/bcipy/simulator/helpers/evidence_fuser.py b/bcipy/simulator/helpers/evidence_fuser.py new file mode 100644 index 000000000..d6c85862a --- /dev/null +++ b/bcipy/simulator/helpers/evidence_fuser.py @@ -0,0 +1,45 @@ +from abc import abstractmethod, ABC +from typing import Optional, Dict + +import numpy as np + + +class EvidenceFuser(ABC): + + @abstractmethod + def fuse(self, prior_likelihood: Optional[np.ndarray], evidence: Dict) -> np.ndarray: + ... + + +class MultipyFuser(EvidenceFuser): + + def __init__(self): + pass + + def fuse(self, prior_likelihood, evidence) -> np.ndarray: + + len_dist = len(list(evidence.values())[0]) + prior_likelihood = prior_likelihood if prior_likelihood is not None else self.__make_prior(len_dist) + ret_likelihood = prior_likelihood.copy() + + for value in evidence.values(): + ret_likelihood *= value[:] + ret_likelihood = self.__clean_likelihood(ret_likelihood) + + return ret_likelihood + + def __make_prior(self, len_dist): + return np.ones(len_dist) / len_dist + + def __clean_likelihood(self, likelihood): + + cleaned_likelihood = likelihood.copy() + if np.isinf(np.sum(likelihood)): + tmp = np.zeros(len(likelihood)) + tmp[np.where(likelihood == np.inf)[0][0]] = 1 + cleaned_likelihood = tmp + + if not np.isnan(np.sum(likelihood)): + cleaned_likelihood = likelihood / np.sum(likelihood) + + return cleaned_likelihood diff --git a/bcipy/simulator/helpers/sim_state.py b/bcipy/simulator/helpers/sim_state.py index 379b1bc49..2a252a216 100644 --- a/bcipy/simulator/helpers/sim_state.py +++ b/bcipy/simulator/helpers/sim_state.py @@ -1,7 +1,7 @@ import copy -from abc import ABC +from abc import ABC, abstractmethod from dataclasses import dataclass -from typing import List, Optional +from typing import List, Optional, Dict import numpy as np @@ -9,8 +9,10 @@ from bcipy.helpers.parameters import Parameters from bcipy.helpers.symbols import alphabet from bcipy.simulator.helpers.decision import SimDecisionCriteria, MaxIterationsSim, ProbThresholdSim +from bcipy.simulator.helpers.evidence_fuser import MultipyFuser, EvidenceFuser from bcipy.simulator.helpers.types import InquiryResult from bcipy.task.control.criteria import DecisionCriteria, MaxIterationsCriteria, ProbThresholdCriteria +from bcipy.task.control.handler import EvidenceFusion @dataclass @@ -23,7 +25,7 @@ class SimState: inquiry_n: int series_n: int series_results: List[List[InquiryResult]] - + # TODO store the fused results decision_criterion: List[SimDecisionCriteria] def total_inquiry_count(self): @@ -36,7 +38,7 @@ def total_inquiry_count(self): class StateManager(ABC): - def update(self, evidence: np.ndarray): + def update(self, evidence: np.ndarray): # TODO change evidence type to dictionary or some dataclass raise NotImplementedError() def is_done(self) -> bool: @@ -51,32 +53,40 @@ def mutate_state(self, state_field, state_value): class StateManagerImpl(StateManager): - def __init__(self, parameters: Parameters): + def __init__(self, parameters: Parameters, fuser_class=MultipyFuser): self.state: SimState = self.initial_state() self.parameters = parameters + self.fuser_class: EvidenceFuser.__class__ = fuser_class - self.stop_inq = 50 # TODO pull from parameters + self.max_inq_len = self.parameters.get('max_inq_len', 50) + # TODO add stoppage criterion, Stoppage criterion is seperate from decision. Decision should we go on to next letter or not def is_done(self) -> bool: - return self.state.total_inquiry_count() > self.stop_inq or self.state.target_sentence == self.state.current_sentence or self.state.series_n > 50 + return self.state.total_inquiry_count() > self.max_inq_len or self.state.target_sentence == self.state.current_sentence or self.state.series_n > 50 - def update(self, evidence: np.ndarray) -> InquiryResult: + def update(self, evidence) -> InquiryResult: + + fuser = self.fuser_class() + current_series: List[InquiryResult] = self.state.series_results[self.state.series_n] + prior_likelihood: Optional[np.ndarray] = current_series.pop().fused_likelihood if current_series else None # most recent likelihood + evidence_dict = {"SM": evidence} # TODO create wrapper object for Evidences + fused_likelihood = fuser.fuse(prior_likelihood, evidence_dict) - temp_inquiry_result = InquiryResult(target=self.state.target_symbol, time_spent=0, stimuli=self.state.display_alphabet, - evidence_likelihoods=list(evidence), decision=None) # finding out whether max iterations is hit or prob threshold is hit + temp_inquiry_result = InquiryResult(target=self.state.target_symbol, time_spent=0, stimuli=self.state.display_alphabet, + evidence_likelihoods=list(evidence), fused_likelihood=fused_likelihood, # TODO change to use evidence_dict + decision=None) + temp_series = copy.deepcopy(self.get_state().series_results) temp_series[-1].append(temp_inquiry_result) is_decidable = any([decider.decide(temp_series[-1]) for decider in self.state.decision_criterion]) decision = None - # TODO what to do when max inquiry count is reached? new_state = self.get_state().__dict__ if is_decidable: decision = alphabet()[np.argmax(evidence)] # deciding the maximum probability symbol TODO abstract - if decision == self.state.target_symbol: # correct decision new_state['series_n'] += 1 # TODO abstract out into reset function new_state['series_results'].append([]) @@ -99,7 +109,7 @@ def update(self, evidence: np.ndarray) -> InquiryResult: new_state['inquiry_n'] += 1 new_inquiry_result = InquiryResult(target=self.state.target_symbol, time_spent=0, stimuli=self.state.display_alphabet, - evidence_likelihoods=list(evidence), decision=decision) + evidence_likelihoods=list(evidence), decision=decision, fused_likelihood=fused_likelihood) new_state['series_results'][self.state.series_n].append(new_inquiry_result) @@ -122,8 +132,11 @@ def mutate_state(self, state_field, state_value) -> SimState: @staticmethod def initial_state(parameters: Parameters = None) -> SimState: sentence = "HELLO_WORLD" # TODO abstract out with sim_parameters.json - target_symbol = sentence[0] + target_symbol = sentence[0] # TODO use parameters.get('spelled_letters_count') default_criterion: List[SimDecisionCriteria] = [MaxIterationsSim(50), ProbThresholdSim(0.8)] + evidence_types = parameters.get( + 'evidence_types') if parameters else None # TODO make new parameter and create default series_likelihoods object based off that + return SimState(target_symbol=target_symbol, current_sentence="", target_sentence=sentence, display_alphabet=[], inquiry_n=0, series_n=0, series_results=[[]], decision_criterion=default_criterion) diff --git a/bcipy/simulator/helpers/types.py b/bcipy/simulator/helpers/types.py index c965867a9..6769d71bb 100644 --- a/bcipy/simulator/helpers/types.py +++ b/bcipy/simulator/helpers/types.py @@ -1,11 +1,14 @@ from dataclasses import dataclass from typing import Optional, List +import numpy as np + @dataclass class InquiryResult: target: Optional[str] time_spent: int # TODO what does time_spent mean? stimuli: List - evidence_likelihoods: List + evidence_likelihoods: List # TODO make this into a dictionary to support multimodal. e.g {SignalModel: evidence_list, LanguageModel:evidence_list} + fused_likelihood: np.ndarray decision: Optional[str] diff --git a/bcipy/simulator/sim_sampler.py b/bcipy/simulator/sim_sampler.py index 57d4c6b68..0ac5d0235 100644 --- a/bcipy/simulator/sim_sampler.py +++ b/bcipy/simulator/sim_sampler.py @@ -55,15 +55,18 @@ def __init__(self, data_engine: DataEngine, model_handler: ModelHandler, sampler def run(self): while not self.state_manager.is_done(): - print(f"Series {self.state_manager.get_state().series_n} | Inquiry {self.state_manager.get_state().inquiry_n}") + print(f"Series {self.state_manager.get_state().series_n} | Inquiry {self.state_manager.get_state().inquiry_n} | Target {self.state_manager.get_state().target_symbol}") self.state_manager.mutate_state('display_alphabet', self.__get_inquiry_alp_subset(self.state_manager.get_state())) sampled_data = self.sampler.sample(self.state_manager.get_state()) - evidence = self.model_handler.generate_evidence(self.state_manager.get_state(), sampled_data) + evidence = self.model_handler.generate_evidence(self.state_manager.get_state(), + sampled_data) # TODO make this evidence be a dict (mapping of evidence type to evidence) print(f"Evidence for stimuli {self.state_manager.get_state().display_alphabet} \n {evidence}") inq_record: InquiryResult = self.state_manager.update(evidence) + print(f"Fused Likelihoods {[str(round(p, 3)) for p in inq_record.fused_likelihood]}") + if inq_record.decision: print(f"Decided {inq_record.decision} for target {inq_record.target} for sentence {self.state_manager.get_state().target_sentence}") From bec1bb56d4db920f057f792ef0160934335e0aa2 Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Mon, 23 Oct 2023 05:56:44 -0400 Subject: [PATCH 121/330] Offline analysis PR comments addressed. Visualization doc updated --- bcipy/helpers/visualization.py | 84 +++-- bcipy/signal/model/offline_analysis.py | 458 +++++++++++++------------ 2 files changed, 295 insertions(+), 247 deletions(-) diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index 04d4ef4b8..1d07f7d85 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -113,27 +113,36 @@ def visualize_erp( def visualize_gaze( - data, - left_keys=['left_x', 'left_y'], - right_keys=['right_x', 'right_y'], - save_path=None, - show=False, - img_path=None, - screen_size=(1920, 1080), - heatmap=False, - raw_plot=False) -> Figure: + data: RawData, + left_keys: List[str] = ['left_x', 'left_y'], + right_keys: List[str] = ['right_x', 'right_y'], + save_path: Optional[str] = None, + show: Optional[bool] = False, + img_path: Optional[str] = None, + screen_size: Tuple[int, int] = (1920, 1080), + heatmap: Optional[bool] = False, + raw_plot: Optional[bool] = False) -> Figure: """Visualize Eye Data. Assumes that the data is collected using BciPy and a Tobii-nano eye tracker. The default - image used is for the matrix calibration task on a 1920x1080 screen. + image used is for the matrix calibration task on a 1920x1080 screen. + + Generates a comparative matrix figure following the execution of tasks. Given a set of + trailed data, the gaze distribution are plotted and may be saved or shown in a window. + + Returns a list of the figure handles created. Parameters ---------- - data: RawData - save_path: Optional[str] - show: Optional[bool] - img_path: Optional[str] - screen_size: Optional[Tuple[int, int]] TODO + data: RawData: Gaze RawData + left_keys: Optional[List[str]]: List of channels for the left eye data. Default: ['left_x', 'left_y'] + right_keys: Optional[List[str]]: List of channels for the right eye data. Default: ['right_x', 'right_y'] + save_path: Optional[str]: optional path to a save location of the figure generated + show: Optional[bool]: whether or not to show the figures generated. Default: False + img_path: Optional[str]: Image to be used as the background. Default: matrix.png + screen_size: Optional[Tuple[int, int]]: Size of the screen used for Calibration/Copy Phrase tasks. Default: (1920, 1080) + heatmap: Optional[bool]: Whether or not to plot the heatmap. Default: False + raw_plot: Optional[bool]: Whether or not to plot the raw gaze data. Default: False """ title = f'{data.daq_type} ' @@ -207,27 +216,40 @@ def visualize_gaze( def visualize_gaze_inquiries( - left_eye, - right_eye, - means=None, - covs=None, - save_path=None, - show=False, - img_path=None, - heatmap=False, - raw_plot=False) -> Figure: - """Visualize Eye Data. + left_eye: np.ndarray, + right_eye: np.ndarray, + means: Optional[np.ndarray] = None, + covs: Optional[np.ndarray] = None, + save_path: Optional[str] = None, + show: Optional[bool] = False, + img_path: Optional[str] = None, + screen_size: Tuple[int, int] = (1920, 1080), + heatmap: Optional[bool] = False, + raw_plot: Optional[bool] = False) -> Figure: + """Visualize Gaze Inquiries. Assumes that the data is collected using BciPy and a Tobii-nano eye tracker. The default - image used is for the matrix calibration task on a 1920x1080 screen. + image used is for the matrix calibration task on a 1920x1080 screen. + + Generates a comparative matrix figure following the execution of offline analysis. Given a set of + trailed data (left & right eye), the gaze distribution for each prompted symbol are plotted, along + with the contour plots of mean and covariances calculated by the Gaussian Mixture Model. + The figures may be saved or shown in a window. + + Returns a list of the figure handles created. Parameters ---------- - left eye, right eye: (np.ndarray): Raw gaze data, plotting both eyes is optional - means, covs: Optional(np.ndarray): Means and covariances of the Gaussian Mixture Model - save_path: Optional[str] - show: Optional[bool] - img_path: Optional[str] + left_eye: (np.ndarray): Data array for the left eye data. + right_eye: (np.ndarray): Data array for the right eye data. + means: Optional[np.ndarray]: Means of the Gaussian Mixture Model + covs: Optional[np.ndarray]: Covariances of the Gaussian Mixture Model + save_path: Optional[str]: optional path to a save location of the figure generated + show: Optional[bool]: whether or not to show the figures generated. Default: False + img_path: Optional[str]: Image to be used as the background. Default: matrix.png + screen_size: Optional[Tuple[int, int]]: Size of the screen used for Calibration/Copy Phrase tasks. Default: (1920, 1080) + heatmap: Optional[bool]: Whether or not to plot the heatmap. Default: False + raw_plot: Optional[bool]: Whether or not to plot the raw gaze data. Default: False """ title = 'Raw Gaze Inquiries ' diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 114617e12..b2a4206e6 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -65,6 +65,242 @@ def subset_data(data: np.ndarray, labels: np.ndarray, test_size: float, random_s return train_data, test_data, train_labels, test_labels +def analyze_erp(erp_data, parameters, device_spec, data_folder, estimate_balanced_acc, + save_figures=True, show_figures=False): + """Analyze ERP data and return/save the ERP model. + Extract relevant information from raw data object. + Extract timing information from trigger file. + Apply filtering and preprocessing on the raw data. + Reshape and label the data for the training procedure. + Fit the model to the data. Use cross validation to select parameters. + Pickle dump model into .pkl file + Generate and [optional] save/show ERP figures. + """ + # Extract relevant session information from parameters file + trial_window = parameters.get("trial_window") + # This parameter does not exist in parameters files for Multimodal datasets. Adding manually. + # TODO: Update parameters files for multimodal datasets. + if trial_window is None: + trial_window = [0.0, 0.5] + window_length = trial_window[1] - trial_window[0] + + prestim_length = parameters.get("prestim_length") + trials_per_inquiry = parameters.get("stim_length") + # The task buffer length defines the min time between two inquiries + # We use half of that time here to buffer during transforms + buffer = int(parameters.get("task_buffer_length") / 2) + + # Get signal filtering information + transform_params = parameters.instantiate(ERPTransformParams) + downsample_rate = transform_params.down_sampling_rate + static_offset = parameters.get("static_trigger_offset") + + log.info( + f"\nData processing settings: \n" + f"{str(transform_params)} \n" + f"Trial Window: {trial_window[0]}-{trial_window[1]}s, " + f"Prestimulus Buffer: {prestim_length}s, Poststimulus Buffer: {buffer}s \n" + f"Static offset: {static_offset}" + ) + channels = erp_data.channels + type_amp = erp_data.daq_type + sample_rate = erp_data.sample_rate + + # setup filtering + default_transform = get_default_transform( + sample_rate_hz=sample_rate, + notch_freq_hz=transform_params.notch_filter_frequency, + bandpass_low=transform_params.filter_low, + bandpass_high=transform_params.filter_high, + bandpass_order=transform_params.filter_order, + downsample_factor=transform_params.down_sampling_rate, + ) + + log.info(f"Channels read from csv: {channels}") + log.info(f"Device type: {type_amp}, fs={sample_rate}") + + k_folds = parameters.get("k_folds") + model = PcaRdaKdeModel(k_folds=k_folds) + + # Process triggers.txt files + trigger_targetness, trigger_timing, _ = trigger_decoder( + trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", + exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], + offset=static_offset, + device_type='EEG' + ) + + # update the trigger timing list to account for the initial trial window + corrected_trigger_timing = [timing + trial_window[0] for timing in trigger_timing] + + # Channel map can be checked from raw_data.csv file or the devices.json located in the acquisition module + # The timestamp column [0] is already excluded. + channel_map = analysis_channels(channels, device_spec) + channels_used = [channels[i] for i, keep in enumerate(channel_map) if keep == 1] + log.info(f'Channels used in analysis: {channels_used}') + + data, fs = erp_data.by_channel() + + inquiries, inquiry_labels, inquiry_timing = model.reshaper( + trial_targetness_label=trigger_targetness, + timing_info=corrected_trigger_timing, + eeg_data=data, + sample_rate=sample_rate, + trials_per_inquiry=trials_per_inquiry, + channel_map=channel_map, + poststimulus_length=window_length, + prestimulus_length=prestim_length, + transformation_buffer=buffer, + ) + + inquiries, fs = filter_inquiries(inquiries, default_transform, sample_rate) + inquiry_timing = update_inquiry_timing(inquiry_timing, downsample_rate) + trial_duration_samples = int(window_length * fs) + data = model.reshaper.extract_trials(inquiries, trial_duration_samples, inquiry_timing) + + # define the training classes using integers, where 0=nontargets/1=targets + labels = inquiry_labels.flatten() + + # train and save the model as a pkl file + log.info("Training model. This will take some time...") + model = PcaRdaKdeModel(k_folds=k_folds) + model.fit(data, labels) + model.metadata = SignalModelMetadata(device_spec=device_spec, + transform=default_transform) + log.info(f"Training complete [AUC={model.auc:0.4f}]. Saving data...") + + save_model(model, Path(data_folder, f"model_{model.auc:0.4f}.pkl")) + preferences.signal_model_directory = data_folder + + # Using an 80/20 split, report on balanced accuracy + if estimate_balanced_acc: + train_data, test_data, train_labels, test_labels = subset_data(data, labels, test_size=0.2) + dummy_model = PcaRdaKdeModel(k_folds=k_folds) + dummy_model.fit(train_data, train_labels) + probs = dummy_model.predict_proba(test_data) + preds = probs.argmax(-1) + score = balanced_accuracy_score(test_labels, preds) + log.info(f"Balanced acc with 80/20 split: {score}") + del dummy_model, train_data, test_data, train_labels, test_labels, probs, preds + + # this should have uncorrected trigger timing for display purposes + figure_handles = visualize_erp( + erp_data, + channel_map, + trigger_timing, + labels, + trial_window, + transform=default_transform, + plot_average=True, + plot_topomaps=True, + save_path=data_folder if save_figures else None, + show=show_figures + ) + + +def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_figures=False): + """Analyze gaze data and return/save the gaze model. + Extract relevant information from gaze data object. + Extract timing information from trigger file. + Apply preprocessing on the raw data. Extract the data for each target label and each eye separately. + Extract inquiries dictionary with keys as target symbols and values as inquiry windows. + Fit the model to the data. + Pickle dump model into .pkl file + Generate and [optional] save/show gaze figures. + """ + figure_handles = visualize_gaze( + gaze_data, + save_path=data_folder if save_figures else None, + show=show_figures, + raw_plot=True, + ) + + channels = gaze_data.channels + type_amp = gaze_data.daq_type + sample_rate = gaze_data.sample_rate + + log.info(f"Channels read from csv: {channels}") + log.info(f"Device type: {type_amp}, fs={sample_rate}") + channel_map = analysis_channels(channels, device_spec) + + channels_used = [channels[i] for i, keep in enumerate(channel_map) if keep == 1] + log.info(f'Channels used in analysis: {channels_used}') + + data, fs = gaze_data.by_channel() + + model = GazeModel() + + # Extract all Triggers info + trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( + trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", + remove_pre_fixation=False, + exclusion=[ + TriggerType.PREVIEW, + TriggerType.EVENT, + TriggerType.FIXATION, + TriggerType.SYSTEM, + TriggerType.OFFSET], + device_type='EYETRACKER', + apply_starting_offset=False + ) + ''' Trigger_timing includes PROMPT and excludes FIXATION ''' + + target_symbols = trigger_symbols[0::11] # target symbols are the PROMPT triggers + # Use trigger_timing to generate time windows for each letter flashing + # Take every 10th trigger as the start point of timing. + inq_start = trigger_timing[1::11] # start of each inquiry (here we jump over prompts) + + # Extract the inquiries dictionary with keys as target symbols and values as inquiry windows: + inquiries = model.reshaper( + inq_start_times=inq_start, + target_symbols=target_symbols, + gaze_data=data, + sample_rate=sample_rate + ) + + symbol_set = alphabet() + + # Extract the data for each target label and each eye separately. + # Apply preprocessing: + preprocessed_data = {i: [] for i in symbol_set} + for i in symbol_set: + # Skip if there's no evidence for this symbol: + if len(inquiries[i]) == 0: + continue + + left_eye, right_eye = extract_eye_info(inquiries[i]) + preprocessed_data[i] = np.array([left_eye, right_eye]) # Channels x Sample Size x Dimensions(x,y) + + # Train test split: + test_size = int(len(right_eye) * 0.2) + train_size = len(right_eye) - test_size + train_right_eye = right_eye[:train_size] + test_right_eye = right_eye[train_size:] + + train_left_eye = left_eye[:train_size] + test_left_eye = left_eye[train_size:] + + # Fit the model: + model.fit(train_right_eye) + + scores, means, covs = model.get_scores(test_right_eye) + + # Visualize the results: + figure_handles = visualize_gaze_inquiries( + left_eye, right_eye, + means, covs, + save_path=None, + show=show_figures, + raw_plot=True, + ) + model.metadata = SignalModelMetadata(device_spec=device_spec, + transform=None) + log.info("Training complete for Eyetracker model. Saving data...") + save_model( + model, + Path(data_folder, f"model_{device_spec.content_type}.pkl")) + + @report_execution_time def offline_analysis( data_folder: str = None, @@ -109,33 +345,6 @@ def offline_analysis( if not data_folder: data_folder = load_experimental_data() - # extract relevant session information from parameters file - trial_window = parameters.get("trial_window") - window_length = trial_window[1] - trial_window[0] - - prestim_length = parameters.get("prestim_length") - trials_per_inquiry = parameters.get("stim_length") - # The task buffer length defines the min time between two inquiries - # We use half of that time here to buffer during transforms - buffer = int(parameters.get("task_buffer_length") / 2) - - # get signal filtering information - transform_params = parameters.instantiate(ERPTransformParams) - downsample_rate = transform_params.down_sampling_rate - static_offset = parameters.get("static_trigger_offset") - if trial_window is None: - trial_window = [0.0, 0.5] - # NOTE: Had to add it manually for offline analysis of multimodal datasets, - # since the trial_window information was not available in the parameters file. - - log.info( - f"\nData processing settings: \n" - f"{str(transform_params)} \n" - f"Trial Window: {trial_window[0]}-{trial_window[1]}s, " - f"Prestimulus Buffer: {prestim_length}s, Poststimulus Buffer: {buffer}s \n" - f"Static offset: {static_offset}" - ) - devices_by_name = devices.load( Path(data_folder, DEFAULT_DEVICE_SPEC_FILENAME), replace=True) data_file_paths = [ @@ -149,199 +358,16 @@ def offline_analysis( device_spec = devices_by_name.get(raw_data.daq_type) # extract relevant information from raw data object eeg if device_spec.content_type == "EEG": - channels = raw_data.channels - type_amp = raw_data.daq_type - sample_rate = raw_data.sample_rate - - # setup filtering - default_transform = get_default_transform( - sample_rate_hz=sample_rate, - notch_freq_hz=transform_params.notch_filter_frequency, - bandpass_low=transform_params.filter_low, - bandpass_high=transform_params.filter_high, - bandpass_order=transform_params.filter_order, - downsample_factor=transform_params.down_sampling_rate, - ) - - log.info(f"Channels read from csv: {channels}") - log.info(f"Device type: {type_amp}, fs={sample_rate}") - - k_folds = parameters.get("k_folds") - model = PcaRdaKdeModel(k_folds=k_folds) - - # Process triggers.txt files - trigger_targetness, trigger_timing, _ = trigger_decoder( - trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", - exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], - offset=static_offset, - device_type='EEG' - ) - - # update the trigger timing list to account for the initial trial window - corrected_trigger_timing = [timing + trial_window[0] for timing in trigger_timing] - - # Channel map can be checked from raw_data.csv file or the devices.json located in the acquisition module - # The timestamp column [0] is already excluded. - channel_map = analysis_channels(channels, device_spec) - channels_used = [channels[i] for i, keep in enumerate(channel_map) if keep == 1] - log.info(f'Channels used in analysis: {channels_used}') - - data, fs = raw_data.by_channel() - - inquiries, inquiry_labels, inquiry_timing = model.reshaper( - trial_targetness_label=trigger_targetness, - timing_info=corrected_trigger_timing, - eeg_data=data, - sample_rate=sample_rate, - trials_per_inquiry=trials_per_inquiry, - channel_map=channel_map, - poststimulus_length=window_length, - prestimulus_length=prestim_length, - transformation_buffer=buffer, - ) - - inquiries, fs = filter_inquiries(inquiries, default_transform, sample_rate) - inquiry_timing = update_inquiry_timing(inquiry_timing, downsample_rate) - trial_duration_samples = int(window_length * fs) - data = model.reshaper.extract_trials(inquiries, trial_duration_samples, inquiry_timing) - - # define the training classes using integers, where 0=nontargets/1=targets - labels = inquiry_labels.flatten() - - # train and save the model as a pkl file - log.info("Training model. This will take some time...") - model = PcaRdaKdeModel(k_folds=k_folds) - model.fit(data, labels) - model.metadata = SignalModelMetadata(device_spec=device_spec, - transform=default_transform) - log.info(f"Training complete [AUC={model.auc:0.4f}]. Saving data...") - - save_model(model, Path(data_folder, f"model_{model.auc:0.4f}.pkl")) - preferences.signal_model_directory = data_folder - - # Using an 80/20 split, report on balanced accuracy - if estimate_balanced_acc: - train_data, test_data, train_labels, test_labels = subset_data(data, labels, test_size=0.2) - dummy_model = PcaRdaKdeModel(k_folds=k_folds) - dummy_model.fit(train_data, train_labels) - probs = dummy_model.predict_proba(test_data) - preds = probs.argmax(-1) - score = balanced_accuracy_score(test_labels, preds) - log.info(f"Balanced acc with 80/20 split: {score}") - del dummy_model, train_data, test_data, train_labels, test_labels, probs, preds - - # this should have uncorrected trigger timing for display purposes - figure_handles = visualize_erp( - raw_data, - channel_map, - trigger_timing, - labels, - trial_window, - transform=default_transform, - plot_average=True, - plot_topomaps=True, - save_path=data_folder if save_figures else None, - show=show_figures - ) + analyze_erp(raw_data, parameters, device_spec, data_folder, estimate_balanced_acc, + save_figures, show_figures) if device_spec.content_type == "Eyetracker": - figure_handles = visualize_gaze( - raw_data, - save_path=data_folder if save_figures else None, - show=show_figures, - raw_plot=True, - ) - - channels = raw_data.channels - type_amp = raw_data.daq_type - sample_rate = raw_data.sample_rate - - log.info(f"Channels read from csv: {channels}") - log.info(f"Device type: {type_amp}, fs={sample_rate}") - channel_map = analysis_channels(channels, device_spec) - - channels_used = [channels[i] for i, keep in enumerate(channel_map) if keep == 1] - log.info(f'Channels used in analysis: {channels_used}') - - data, fs = raw_data.by_channel() - - model = GazeModel() - - # Extract all Triggers info - trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( - trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", - remove_pre_fixation=False, - exclusion=[ - TriggerType.PREVIEW, - TriggerType.EVENT, - TriggerType.FIXATION, - TriggerType.SYSTEM, - TriggerType.OFFSET], - device_type='EYETRACKER', - apply_starting_offset=False - ) - ''' Trigger_timing includes PROMPT and excludes FIXATION ''' - - # Use trigger_timing to generate time windows for each letter flashing - # Take every 10th trigger as the start point of timing. - # trigger_symbols keeps the PROMPT info, use it to find the target symbol. - target_symbols = trigger_symbols[0::11] # target symbols - inq_start = trigger_timing[1::11] # start of each inquiry (here we jump over prompts) - - # Extract the inquiries dictionary with keys as target symbols and values as inquiry windows: - inquiries = model.reshaper( - inq_start_times=inq_start, - target_symbols=target_symbols, - gaze_data=data, - sample_rate=sample_rate - ) - - symbol_set = alphabet() - - # Extract the data for each target label and each eye separately. - # Apply preprocessing: - preprocessed_data = {i: [] for i in symbol_set} - for i in symbol_set: - # Skip if there's no evidence for this symbol: - if len(inquiries[i]) == 0: - continue - - left_eye, right_eye = extract_eye_info(inquiries[i]) - preprocessed_data[i] = np.array([left_eye, right_eye]) # Channels x Sample Size x Dimensions(x,y) - - # Train test split: - test_size = int(len(right_eye) * 0.2) - train_size = len(right_eye) - test_size - train_right_eye = right_eye[:train_size] - test_right_eye = right_eye[train_size:] - - train_left_eye = left_eye[:train_size] - test_left_eye = left_eye[train_size:] - - # Fit the model: - model.fit(train_right_eye) - - scores, means, covs = model.get_scores(test_right_eye) - - # Visualize the results: - figure_handles = visualize_gaze_inquiries( - left_eye, right_eye, - means, covs, - save_path=None, - show=show_figures, - raw_plot=True, - ) - - model.metadata = SignalModelMetadata(device_spec=device_spec, - transform=None) - log.info("Training complete for Eyetracker model. Saving data...") - save_model( - model, - Path(data_folder, f"model_{device_spec.content_type}.pkl")) + analyze_gaze(raw_data, device_spec, data_folder, save_figures, show_figures) if alert_finished: play_sound(f"{STATIC_AUDIO_PATH}/{parameters['alert_sound_file']}") - return model, figure_handles + # return model, figure_handles + return if __name__ == "__main__": @@ -357,7 +383,7 @@ def offline_analysis( parser.set_defaults(alert=False) parser.set_defaults(balanced=False) parser.set_defaults(save_figures=False) - parser.set_defaults(show_figures=False) + parser.set_defaults(show_figures=True) args = parser.parse_args() log.info(f"Loading params from {args.parameters_file}") From 6de317002d0e769e5c2ca07201d6210fc22ec73d Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 23 Oct 2023 10:56:56 -0700 Subject: [PATCH 122/330] Fix linting errors --- bcipy/helpers/visualization.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index 1d07f7d85..90ea94229 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -127,7 +127,7 @@ def visualize_gaze( Assumes that the data is collected using BciPy and a Tobii-nano eye tracker. The default image used is for the matrix calibration task on a 1920x1080 screen. - Generates a comparative matrix figure following the execution of tasks. Given a set of + Generates a comparative matrix figure following the execution of tasks. Given a set of trailed data, the gaze distribution are plotted and may be saved or shown in a window. Returns a list of the figure handles created. @@ -140,7 +140,8 @@ def visualize_gaze( save_path: Optional[str]: optional path to a save location of the figure generated show: Optional[bool]: whether or not to show the figures generated. Default: False img_path: Optional[str]: Image to be used as the background. Default: matrix.png - screen_size: Optional[Tuple[int, int]]: Size of the screen used for Calibration/Copy Phrase tasks. Default: (1920, 1080) + screen_size: Optional[Tuple[int, int]]: Size of the screen used for Calibration/Copy + Phrase tasks. Default: (1920, 1080) heatmap: Optional[bool]: Whether or not to plot the heatmap. Default: False raw_plot: Optional[bool]: Whether or not to plot the raw gaze data. Default: False """ @@ -231,9 +232,9 @@ def visualize_gaze_inquiries( Assumes that the data is collected using BciPy and a Tobii-nano eye tracker. The default image used is for the matrix calibration task on a 1920x1080 screen. - Generates a comparative matrix figure following the execution of offline analysis. Given a set of - trailed data (left & right eye), the gaze distribution for each prompted symbol are plotted, along - with the contour plots of mean and covariances calculated by the Gaussian Mixture Model. + Generates a comparative matrix figure following the execution of offline analysis. Given a set of + trailed data (left & right eye), the gaze distribution for each prompted symbol are plotted, along + with the contour plots of mean and covariances calculated by the Gaussian Mixture Model. The figures may be saved or shown in a window. Returns a list of the figure handles created. @@ -247,7 +248,8 @@ def visualize_gaze_inquiries( save_path: Optional[str]: optional path to a save location of the figure generated show: Optional[bool]: whether or not to show the figures generated. Default: False img_path: Optional[str]: Image to be used as the background. Default: matrix.png - screen_size: Optional[Tuple[int, int]]: Size of the screen used for Calibration/Copy Phrase tasks. Default: (1920, 1080) + screen_size: Optional[Tuple[int, int]]: Size of the screen used for Calibration/Copy + Phrase tasks. Default: (1920, 1080) heatmap: Optional[bool]: Whether or not to plot the heatmap. Default: False raw_plot: Optional[bool]: Whether or not to plot the raw gaze data. Default: False """ From b4af622669ba12b202832bc6b2c937e8fc3de055 Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Mon, 23 Oct 2023 15:43:27 -0400 Subject: [PATCH 123/330] Second gaze model added, multimodal_v2 changes are merged into multimodal --- bcipy/helpers/stimuli.py | 57 +++------ bcipy/helpers/visualization.py | 90 +++++++++++++- bcipy/signal/model/fusion_model.py | 80 ++++++++++++- bcipy/signal/model/offline_analysis.py | 157 +++++++++++++++++++------ symbol_positions.json | 114 ++++++++++++++++++ 5 files changed, 417 insertions(+), 81 deletions(-) create mode 100644 symbol_positions.json diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 118d2806c..51675bb11 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -321,48 +321,21 @@ def __call__(self, # return np.stack(reshaped_data, 0), labels return data_by_targets - # @staticmethod - # def extract_eye_info(data): - # """ Rearrange the dimensions of gaze inquiry data and reshape it to num_channels x num_samples - # Extract Left and Right Eye info from data. Remove all blinks, do necessary preprocessing. - - # Args: - # data (np.ndarray): Data in shape of num_channels x num_samples - - # Returns: - # left_eye (np.ndarray), left_pupil (List(float)) - # right_eye (np.ndarray), right_pupil (List(float)) - # """ - - # # Extract samples from channels - # lx = data[2, :] - # ly = data[3, :] - # left_pupil = data[4, :] # Use if needed - - # rx = data[5, :] - # ry = data[6, :] - # right_pupil = data[7, :] - - # left_eye = np.vstack((np.array(lx), np.array(ly))).T - # right_eye = np.vstack((np.array(rx), np.array(ry))).T - - # # Remove ALL blinks (i.e. Nan values) regardless of which eye it occurs. - # # Make sure that the number of samples are the same for both eyes - # left_eye_nan_idx = np.isnan(left_eye).any(axis=1) - # left_eye = left_eye[~left_eye_nan_idx] - # right_eye = right_eye[~left_eye_nan_idx] - - # right_eye_nan_idx = np.isnan(right_eye).any(axis=1) - # left_eye = left_eye[~right_eye_nan_idx] - # right_eye = right_eye[~right_eye_nan_idx] - - # try: - # len(left_eye) != len(right_eye) - # except AssertionError: - # raise SignalException( - # 'Number of samples for left and right eye are not the same.') - - # return left_eye, right_eye + @staticmethod + def centralize_all_data(data, symbol_pos): + """ Using the symbol locations in matrix, centralize all data (in Tobii units). + This data will only be used in certain model types. + Args: + data (np.ndarray): Data in shape of num_channels x num_samples + symbol_pos (np.ndarray(float)): Array of the current symbol posiiton in Tobii units + Returns: + data (np.ndarray): Centralized data in shape of num_channels x num_samples + """ + for i in range(len(data)): + data[i] = data[i] - symbol_pos + # TODO: List comprehension + + return data class TrialReshaper(Reshaper): diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index 90ea94229..cf6bceb12 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -141,7 +141,8 @@ def visualize_gaze( show: Optional[bool]: whether or not to show the figures generated. Default: False img_path: Optional[str]: Image to be used as the background. Default: matrix.png screen_size: Optional[Tuple[int, int]]: Size of the screen used for Calibration/Copy - Phrase tasks. Default: (1920, 1080) + Phrase tasks. + Default: (1920, 1080) heatmap: Optional[bool]: Whether or not to plot the heatmap. Default: False raw_plot: Optional[bool]: Whether or not to plot the raw gaze data. Default: False """ @@ -249,7 +250,8 @@ def visualize_gaze_inquiries( show: Optional[bool]: whether or not to show the figures generated. Default: False img_path: Optional[str]: Image to be used as the background. Default: matrix.png screen_size: Optional[Tuple[int, int]]: Size of the screen used for Calibration/Copy - Phrase tasks. Default: (1920, 1080) + Phrase tasks. + Default: (1920, 1080) heatmap: Optional[bool]: Whether or not to plot the heatmap. Default: False raw_plot: Optional[bool]: Whether or not to plot the raw gaze data. Default: False """ @@ -328,6 +330,90 @@ def visualize_gaze_inquiries( return fig +def visualize_centralized_data( + left_eye: np.ndarray, + right_eye: np.ndarray, + save_path: Optional[str] = None, + show: Optional[bool] = False, + img_path: Optional[str] = None, + screen_size: Tuple[int, int] = (1920, 1080), + heatmap: Optional[bool] = False, + raw_plot: Optional[bool] = False) -> Figure: + """Visualize centralized data for each symbol. + + Assumes that the data is collected using BciPy and a Tobii-nano eye tracker. The default + image used is for the matrix calibration task on a 1920x1080 screen. + + Generates a comparative matrix figure following the execution of offline analysis. Given a set of + trailed data (left & right eye), the gaze distribution for ALL prompted symbols are plotted after + the data has been centralized (i.e., mid coordinates of each symbol is subtracted from corresponding + symbol data to populate all data around (0,0) on the screen). + The figures may be saved or shown in a window. + + Returns a list of the figure handles created. + + Parameters + ---------- + left_eye: (np.ndarray): Data array for the centralized left eye data. + right_eye: (np.ndarray): Data array for the centralized right eye data. + save_path: Optional[str]: optional path to a save location of the figure generated + show: Optional[bool]: whether or not to show the figures generated. Default: False + img_path: Optional[str]: Image to be used as the background. Default: matrix.png + screen_size: Optional[Tuple[int, int]]: Size of the screen used for Calibration/Copy Phrase tasks. + Default: (1920, 1080) + heatmap: Optional[bool]: Whether or not to plot the heatmap. Default: False + raw_plot: Optional[bool]: Whether or not to plot the raw gaze data. Default: False + """ + title = 'Centralized Data for All Symbols ' + + if img_path is None: + img_path = f'{STATIC_IMAGES_PATH}/main/matrix.png' + img = plt.imread(img_path) + + # scale the eye data to the image + fig, ax = plt.subplots() + + # Transform the eye data to fit the display. Clip values > 1 and < -1 + # The idea here is to have the center at (0,0) + lx = np.clip(left_eye[:, 0], -1, 1) + ly = np.clip(left_eye[:, 1], -1, 1) + rx = np.clip(right_eye[:, 0], -1, 1) + ry = np.clip(right_eye[:, 1], -1, 1) + ax.imshow(img, extent=[-1, 1, -1, 1]) + + if heatmap: + # create a dataframe making a column for each x, y pair for both eyes and a column for the eye (left or right) + df = pd.DataFrame({ + 'x': np.concatenate((lx, rx)), + 'y': np.concatenate((ly, ry)), + 'eye': ['left'] * len(lx) + ['right'] * len(rx) + }) + ax = sns.kdeplot( + data=df, + hue='eye', + x='x', + y='y', + fill=False, + thresh=0.05, + levels=10, + cmap="mako", + colorbar=True) + + if raw_plot: + ax.scatter(lx, ly, c='r', s=1) + ax.scatter(rx, ry, c='b', s=1) + + plt.title(f'{title}Plot') + + if save_path is not None: + plt.savefig(f"{save_path}/{title.lower().replace(' ', '_')}plot.png", dpi=fig.dpi) + + if show: + plt.show() + + return fig + + def plot_edf(edf_path: str, auto_scale: Optional[bool] = False): """Plot data from the raw edf file. Note: this works from an iPython session but seems to throw errors when provided in a script. diff --git a/bcipy/signal/model/fusion_model.py b/bcipy/signal/model/fusion_model.py index 62f88fab4..cd4c03ce6 100644 --- a/bcipy/signal/model/fusion_model.py +++ b/bcipy/signal/model/fusion_model.py @@ -1,12 +1,17 @@ +from pathlib import Path + import numpy as np +from bcipy.signal.model import SignalModel from sklearn.mixture import GaussianMixture from bcipy.helpers.stimuli import GazeReshaper +from sklearn.model_selection import cross_val_score # noqa +from sklearn.utils.estimator_checks import check_estimator # noqa -class GazeModel(): +class GazeModel(SignalModel): reshaper = GazeReshaper() - def __init__(self, num_components=3): + def __init__(self, num_components=2): self.num_components = num_components # number of gaussians to fit def fit(self, train_data: np.array): @@ -36,3 +41,74 @@ def predict(self, scores: np.array): # Get the argmax of the scores # return predictions + + def evaluate(self, test_data: np.ndarray, test_labels: np.ndarray): + ''' + Compute model performance characteristics on the provided test data and labels. + ''' + # Compute the AUC + + # return ModelEvaluationReport(auc) + + def save(self, path: Path): + """Save model state to the provided checkpoint""" + ... + + def load(self, path: Path): + """Load model state from the provided checkpoint""" + ... + + +class GazeModel_AllSymbols(SignalModel): + '''Gaze model that uses all symbols to fit a single Gaussian ''' + reshaper = GazeReshaper() + + def __init__(self, num_components=1): + self.num_components = num_components # number of gaussians to fit + + def fit(self, train_data: np.array): + model = GaussianMixture(n_components=1, random_state=0, init_params='kmeans') + model.fit(train_data) + self.model = model + + return self + + def get_scores(self, test_data: np.array, sym_pos: np.array): + ''' + Compute the log-likelihood of each sample. + Return the mean and covariance of each mixture component. + + test_data: gaze data for each symbol + sym_pos: mid positions for each symbol in Tobii coordinates + ''' + + scores = self.model.score_samples(test_data) + means = self.model.means_ + sym_pos + covs = self.model.covariances_ + + return scores, means, covs + + def predict(self, scores: np.array): + ''' + Predict the labels for the test data. + ''' + # Compute over log-likelihood scores + # Get the argmax of the scores + + # return predictions + + def evaluate(self, test_data: np.ndarray, test_labels: np.ndarray): + ''' + Compute model performance characteristics on the provided test data and labels. + ''' + # Compute the AUC + + # return ModelEvaluationReport(auc) + + def save(self, path: Path): + """Save model state to the provided checkpoint""" + ... + + def load(self, path: Path): + """Load model state from the provided checkpoint""" + ... diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index b2a4206e6..a27a54481 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -1,6 +1,7 @@ import logging from pathlib import Path from typing import Tuple +import json import numpy as np from matplotlib.figure import Figure @@ -8,7 +9,7 @@ from sklearn.model_selection import train_test_split import bcipy.acquisition.devices as devices -from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, +from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, ROOT, DEFAULT_PARAMETERS_PATH, STATIC_AUDIO_PATH, STATIC_IMAGES_PATH, TRIGGER_FILENAME) from bcipy.helpers.acquisition import analysis_channels, raw_data_filename @@ -21,10 +22,10 @@ from bcipy.helpers.system_utils import report_execution_time from bcipy.helpers.triggers import TriggerType, trigger_decoder from bcipy.helpers.visualization import (visualize_erp, visualize_gaze, - visualize_gaze_inquiries) + visualize_gaze_inquiries, visualize_centralized_data) from bcipy.preferences import preferences from bcipy.signal.model.base_model import SignalModel, SignalModelMetadata -from bcipy.signal.model.fusion_model import GazeModel +from bcipy.signal.model.fusion_model import GazeModel, GazeModel_AllSymbols from bcipy.signal.model.pca_rda_kde import PcaRdaKdeModel from bcipy.signal.process import (ERPTransformParams, extract_eye_info, filter_inquiries, get_default_transform) @@ -38,7 +39,7 @@ # TODO: Update images to contain the path to directory of the respective calibration session. -def subset_data(data: np.ndarray, labels: np.ndarray, test_size: float, random_state=0): +def subset_data(data: np.ndarray, labels: np.ndarray, test_size: float, random_state: int = 0, swap_axes: bool = True): """Performs a train/test split on the provided data and labels, accounting for the current shape convention (channel dimension in front, instead of batch dimension in front). @@ -48,6 +49,7 @@ def subset_data(data: np.ndarray, labels: np.ndarray, test_size: float, random_s labels (np.ndarray): Shape (items,) test_size (float): fraction of data to be used for testing random_state (int, optional): fixed random seed + swap_axes (bool, optional): if true, swaps the axes of the data before splitting Returns: -------- @@ -56,16 +58,22 @@ def subset_data(data: np.ndarray, labels: np.ndarray, test_size: float, random_s train_labels (np.ndarray): Shape (train_items,) test_labels (np.ndarray): Shape (test_items,) """ - data = data.swapaxes(0, 1) - train_data, test_data, train_labels, test_labels = train_test_split( - data, labels, test_size=test_size, random_state=random_state - ) - train_data = train_data.swapaxes(0, 1) - test_data = test_data.swapaxes(0, 1) + if swap_axes: + data = data.swapaxes(0, 1) + train_data, test_data, train_labels, test_labels = train_test_split( + data, labels, test_size=test_size, random_state=random_state + ) + train_data = train_data.swapaxes(0, 1) + test_data = test_data.swapaxes(0, 1) + + else: + train_data, test_data, train_labels, test_labels = train_test_split( + data, labels, test_size=test_size, random_state=random_state + ) return train_data, test_data, train_labels, test_labels -def analyze_erp(erp_data, parameters, device_spec, data_folder, estimate_balanced_acc, +def analyze_erp(erp_data, parameters, device_spec, data_folder, estimate_balanced_acc, save_figures=True, show_figures=False): """Analyze ERP data and return/save the ERP model. Extract relevant information from raw data object. @@ -75,6 +83,17 @@ def analyze_erp(erp_data, parameters, device_spec, data_folder, estimate_balance Fit the model to the data. Use cross validation to select parameters. Pickle dump model into .pkl file Generate and [optional] save/show ERP figures. + + Parameters: + ----------- + erp_data (RawData): RawData object containing the data to be analyzed. + parameters (Parameters): Parameters object retireved from parameters.json. + device_spec (DeviceSpec): DeviceSpec object containing information about the device used. + data_folder (str): Path to the folder containing the data to be analyzed. + estimate_balanced_acc (bool): If true, uses another model copy on an 80/20 split to + estimate balanced accuracy. + save_figures (bool): If true, saves ERP figures after training to the data folder. + show_figures (bool): If true, shows ERP figures after training. """ # Extract relevant session information from parameters file trial_window = parameters.get("trial_window") @@ -166,7 +185,7 @@ def analyze_erp(erp_data, parameters, device_spec, data_folder, estimate_balance model = PcaRdaKdeModel(k_folds=k_folds) model.fit(data, labels) model.metadata = SignalModelMetadata(device_spec=device_spec, - transform=default_transform) + transform=default_transform) log.info(f"Training complete [AUC={model.auc:0.4f}]. Saving data...") save_model(model, Path(data_folder, f"model_{model.auc:0.4f}.pkl")) @@ -198,15 +217,26 @@ def analyze_erp(erp_data, parameters, device_spec, data_folder, estimate_balance ) -def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_figures=False): +def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_figures=False, model_type="Individual"): """Analyze gaze data and return/save the gaze model. - Extract relevant information from gaze data object. + Extract relevant information from gaze data object. Extract timing information from trigger file. Apply preprocessing on the raw data. Extract the data for each target label and each eye separately. Extract inquiries dictionary with keys as target symbols and values as inquiry windows. - Fit the model to the data. + Based on the model type, fit the model to the data. Pickle dump model into .pkl file Generate and [optional] save/show gaze figures. + + Parameters: + ----------- + gaze_data (RawData): RawData object containing the data to be analyzed. + device_spec (DeviceSpec): DeviceSpec object containing information about the device used. + data_folder (str): Path to the folder containing the data to be analyzed. + save_figures (bool): If true, saves ERP figures after training to the data folder. + show_figures (bool): If true, shows ERP figures after training. + model_type (str): Type of gaze model to be used. Options are: + "Individual": Fits a separate Gaussian for each symbol. Default model + "Centralized": Uses data from all symbols to fit a single centralized Gaussian """ figure_handles = visualize_gaze( gaze_data, @@ -228,7 +258,10 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f data, fs = gaze_data.by_channel() - model = GazeModel() + if model_type == "Individual": + model = GazeModel() + elif model_type == "Centralized": + model = GazeModel_AllSymbols() # Extract all Triggers info trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( @@ -271,34 +304,87 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f left_eye, right_eye = extract_eye_info(inquiries[i]) preprocessed_data[i] = np.array([left_eye, right_eye]) # Channels x Sample Size x Dimensions(x,y) - # Train test split: - test_size = int(len(right_eye) * 0.2) - train_size = len(right_eye) - test_size - train_right_eye = right_eye[:train_size] - test_right_eye = right_eye[train_size:] - - train_left_eye = left_eye[:train_size] - test_left_eye = left_eye[train_size:] - - # Fit the model: - model.fit(train_right_eye) + centralized_data_left = [] + centralized_data_right = [] + test_dict = {} + for sym in symbol_set: + le = preprocessed_data[sym][0] + re = preprocessed_data[sym][1] - scores, means, covs = model.get_scores(test_right_eye) + # Train test split: + labels = np.array([sym] * len(le)) # Labels are the same for both eyes + train_le, test_le, train_labels_le, test_labels_le = subset_data(le, labels, test_size=0.2, swap_axes=False) + train_re, test_re, train_labels_re, test_labels_re = subset_data(re, labels, test_size=0.2, swap_axes=False) + test_dict[sym] = [test_le, test_re] + + if model_type == "Centralized": + # Centralize the data using symbol positions: + # Load json file. + # TODO: move this to a helper function, or get the symbol positions from the build_grid method + with open(f"{ROOT}/symbol_positions.json", 'r') as params_file: + symbol_positions = json.load(params_file) + # Subtract the symbol positions from the data: + centralized_data_left.append(model.reshaper.centralize_all_data(train_le, symbol_positions[sym])) + centralized_data_right.append(model.reshaper.centralize_all_data(train_re, symbol_positions[sym])) + + # Fit the model based on model type. + # Model 1: Fit Gaussian mixture (comp=2) on each symbol and each eye separately + if model_type == "Individual": + model.fit(train_re) + + scores, means, covs = model.get_scores(test_re) + print(means) + + # Visualize the results: + figure_handles = visualize_gaze_inquiries( + le, re, + means, covs, + save_path=None, + show=show_figures, + raw_plot=True, + ) + breakpoint() + + if model_type == "Centralized": + # Model 2: Fit Gaussian mixture (comp=1) on a centralized data + cent_left = np.concatenate(np.array(centralized_data_left, dtype=object)) + cent_right = np.concatenate(np.array(centralized_data_right, dtype=object)) # Visualize the results: - figure_handles = visualize_gaze_inquiries( - left_eye, right_eye, - means, covs, + figure_handles = visualize_centralized_data( + cent_left, cent_right, save_path=None, show=show_figures, raw_plot=True, ) + + # Fit the model: + model.fit(cent_left) + + # Add the means back to the symbol positions. + # Calculate scores for the test set. + for sym in symbol_set: + scores, means, covs = model.get_scores(test_dict[sym][0], symbol_positions[sym]) + + le = preprocessed_data[sym][0] + re = preprocessed_data[sym][1] + # Visualize the results: + figure_handles = visualize_gaze_inquiries( + le, re, + means, covs, + save_path=None, + show=show_figures, + raw_plot=True, + ) + + breakpoint() + model.metadata = SignalModelMetadata(device_spec=device_spec, - transform=None) + transform=None) log.info("Training complete for Eyetracker model. Saving data...") save_model( model, - Path(data_folder, f"model_{device_spec.content_type}.pkl")) + Path(data_folder, f"model_{device_spec.content_type}_{model_type}.pkl")) @report_execution_time @@ -358,11 +444,12 @@ def offline_analysis( device_spec = devices_by_name.get(raw_data.daq_type) # extract relevant information from raw data object eeg if device_spec.content_type == "EEG": - analyze_erp(raw_data, parameters, device_spec, data_folder, estimate_balanced_acc, + analyze_erp(raw_data, parameters, device_spec, data_folder, estimate_balanced_acc, save_figures, show_figures) if device_spec.content_type == "Eyetracker": - analyze_gaze(raw_data, device_spec, data_folder, save_figures, show_figures) + analyze_gaze(raw_data, device_spec, data_folder, save_figures, show_figures, + model_type="Centralized") if alert_finished: play_sound(f"{STATIC_AUDIO_PATH}/{parameters['alert_sound_file']}") diff --git a/symbol_positions.json b/symbol_positions.json new file mode 100644 index 000000000..0c9ad42af --- /dev/null +++ b/symbol_positions.json @@ -0,0 +1,114 @@ +{ + "A": [ + 0.20, + 0.30 + ], + "B": [ + 0.31, + 0.30 + ], + "C": [ + 0.42, + 0.30 + ], + "D": [ + 0.53, + 0.30 + ], + "E": [ + 0.64, + 0.30 + ], + "F": [ + 0.75, + 0.30 + ], + "G": [ + 0.20, + 0.41 + ], + "H": [ + 0.31, + 0.41 + ], + "I": [ + 0.42, + 0.41 + ], + "J": [ + 0.53, + 0.41 + ], + "K": [ + 0.64, + 0.41 + ], + "L": [ + 0.75, + 0.41 + ], + "M": [ + 0.20, + 0.52 + ], + "N": [ + 0.31, + 0.52 + ], + "O": [ + 0.42, + 0.52 + ], + "P": [ + 0.53, + 0.49 + ], + "Q": [ + 0.64, + 0.52 + ], + "R": [ + 0.75, + 0.52 + ], + "S": [ + 0.20, + 0.63 + ], + "T": [ + 0.31, + 0.63 + ], + "U": [ + 0.42, + 0.63 + ], + "V": [ + 0.53, + 0.63 + ], + "W": [ + 0.64, + 0.63 + ], + "X": [ + 0.75, + 0.63 + ], + "Y": [ + 0.20, + 0.74 + ], + "Z": [ + 0.31, + 0.74 + ], + "<": [ + 0.42, + 0.74 + ], + "_": [ + 0.53, + 0.79 + ] +} \ No newline at end of file From c4d6bcac9d203eb8748c0933e543efe3222b8fd1 Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Mon, 23 Oct 2023 15:56:44 -0400 Subject: [PATCH 124/330] removing breakpoints --- bcipy/signal/model/offline_analysis.py | 3 --- scripts/python/plot_inquiry_data.py | 4 +--- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index a27a54481..6f8c7c2c1 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -343,7 +343,6 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f show=show_figures, raw_plot=True, ) - breakpoint() if model_type == "Centralized": # Model 2: Fit Gaussian mixture (comp=1) on a centralized data @@ -377,8 +376,6 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f raw_plot=True, ) - breakpoint() - model.metadata = SignalModelMetadata(device_spec=device_spec, transform=None) log.info("Training complete for Eyetracker model. Saving data...") diff --git a/scripts/python/plot_inquiry_data.py b/scripts/python/plot_inquiry_data.py index 21e4a2130..40f628dad 100644 --- a/scripts/python/plot_inquiry_data.py +++ b/scripts/python/plot_inquiry_data.py @@ -88,6 +88,4 @@ def load_eye_tracking_data(path): ax.scatter(lx, ly, c='r', s=1) ax.scatter(rx, ry, c='b', s=1) - plt.show() - - breakpoint() \ No newline at end of file + plt.show() \ No newline at end of file From ae2c15ac8f1a7b447ee03ace87813ddaec131934 Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Mon, 23 Oct 2023 16:10:46 -0400 Subject: [PATCH 125/330] remove print statements, plotting updates --- bcipy/helpers/visualization.py | 15 +++++++++++++++ bcipy/signal/model/offline_analysis.py | 1 - 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index cf6bceb12..36a64bbc5 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -206,6 +206,11 @@ def visualize_gaze( ax.scatter(lx, ly, c='r', s=1) ax.scatter(rx, ry, c='b', s=1) + ax.set_xticks([]) + ax.set_yticks([]) + ax.set_xticklabels([]) + ax.set_yticklabels([]) + plt.title(f'{title}Plot') if save_path is not None: @@ -317,6 +322,11 @@ def visualize_gaze_inquiries( # ax.scatter(means[:,0], means[:,1], c='yellow', s=20, marker='^') + ax.set_xticks([]) + ax.set_yticks([]) + ax.set_xticklabels([]) + ax.set_yticklabels([]) + plt.title(f'{title}Plot') if save_path is not None: @@ -403,6 +413,11 @@ def visualize_centralized_data( ax.scatter(lx, ly, c='r', s=1) ax.scatter(rx, ry, c='b', s=1) + ax.set_xticks([]) + ax.set_yticks([]) + ax.set_xticklabels([]) + ax.set_yticklabels([]) + plt.title(f'{title}Plot') if save_path is not None: diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 6f8c7c2c1..8bc967c2d 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -333,7 +333,6 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f model.fit(train_re) scores, means, covs = model.get_scores(test_re) - print(means) # Visualize the results: figure_handles = visualize_gaze_inquiries( From 0d368230b11ef5dbfda009eace538c1cc59f8cb6 Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Sun, 29 Oct 2023 14:02:25 -0400 Subject: [PATCH 126/330] fuser name fix --- bcipy/simulator/helpers/evidence_fuser.py | 2 +- bcipy/simulator/helpers/sim_state.py | 7 +++---- bcipy/simulator/sim_sampler.py | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/bcipy/simulator/helpers/evidence_fuser.py b/bcipy/simulator/helpers/evidence_fuser.py index d6c85862a..16a02fe55 100644 --- a/bcipy/simulator/helpers/evidence_fuser.py +++ b/bcipy/simulator/helpers/evidence_fuser.py @@ -11,7 +11,7 @@ def fuse(self, prior_likelihood: Optional[np.ndarray], evidence: Dict) -> np.nda ... -class MultipyFuser(EvidenceFuser): +class MultiplyFuser(EvidenceFuser): def __init__(self): pass diff --git a/bcipy/simulator/helpers/sim_state.py b/bcipy/simulator/helpers/sim_state.py index 2a252a216..75abf3ebe 100644 --- a/bcipy/simulator/helpers/sim_state.py +++ b/bcipy/simulator/helpers/sim_state.py @@ -9,7 +9,7 @@ from bcipy.helpers.parameters import Parameters from bcipy.helpers.symbols import alphabet from bcipy.simulator.helpers.decision import SimDecisionCriteria, MaxIterationsSim, ProbThresholdSim -from bcipy.simulator.helpers.evidence_fuser import MultipyFuser, EvidenceFuser +from bcipy.simulator.helpers.evidence_fuser import MultiplyFuser, EvidenceFuser from bcipy.simulator.helpers.types import InquiryResult from bcipy.task.control.criteria import DecisionCriteria, MaxIterationsCriteria, ProbThresholdCriteria from bcipy.task.control.handler import EvidenceFusion @@ -53,16 +53,15 @@ def mutate_state(self, state_field, state_value): class StateManagerImpl(StateManager): - def __init__(self, parameters: Parameters, fuser_class=MultipyFuser): + def __init__(self, parameters: Parameters, fuser_class=MultiplyFuser): self.state: SimState = self.initial_state() self.parameters = parameters self.fuser_class: EvidenceFuser.__class__ = fuser_class self.max_inq_len = self.parameters.get('max_inq_len', 50) - # TODO add stoppage criterion, Stoppage criterion is seperate from decision. Decision should we go on to next letter or not def is_done(self) -> bool: - + # TODO add stoppage criterion, Stoppage criterion is seperate from decision. Decision should we go on to next letter or not return self.state.total_inquiry_count() > self.max_inq_len or self.state.target_sentence == self.state.current_sentence or self.state.series_n > 50 def update(self, evidence) -> InquiryResult: diff --git a/bcipy/simulator/sim_sampler.py b/bcipy/simulator/sim_sampler.py index 0ac5d0235..9f0d03df3 100644 --- a/bcipy/simulator/sim_sampler.py +++ b/bcipy/simulator/sim_sampler.py @@ -71,7 +71,7 @@ def run(self): print(f"Decided {inq_record.decision} for target {inq_record.target} for sentence {self.state_manager.get_state().target_sentence}") print("\n") - sleep(.1) + sleep(.5) # TODO visualize result metrics def __get_inquiry_alp_subset(self, state: SimState): From e391010ac95148a876eb0f3654794f7ca2c7b26a Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Sun, 29 Oct 2023 14:53:54 -0400 Subject: [PATCH 127/330] using best selection for inqiuiry stimuli --- bcipy/simulator/helpers/evidence_fuser.py | 8 +++--- .../{sim_state.py => state_manager.py} | 9 +++++-- bcipy/simulator/helpers/types.py | 2 +- bcipy/simulator/interfaces.py | 2 +- bcipy/simulator/{sim_sampler.py => sim.py} | 27 ++++++++++++------- bcipy/simulator/tests/sampler_test.py | 4 +-- 6 files changed, 34 insertions(+), 18 deletions(-) rename bcipy/simulator/helpers/{sim_state.py => state_manager.py} (96%) rename bcipy/simulator/{sim_sampler.py => sim.py} (80%) diff --git a/bcipy/simulator/helpers/evidence_fuser.py b/bcipy/simulator/helpers/evidence_fuser.py index 16a02fe55..43b594208 100644 --- a/bcipy/simulator/helpers/evidence_fuser.py +++ b/bcipy/simulator/helpers/evidence_fuser.py @@ -10,6 +10,10 @@ class EvidenceFuser(ABC): def fuse(self, prior_likelihood: Optional[np.ndarray], evidence: Dict) -> np.ndarray: ... + @staticmethod + def make_prior(len_dist): + return np.ones(len_dist) / len_dist + class MultiplyFuser(EvidenceFuser): @@ -19,7 +23,7 @@ def __init__(self): def fuse(self, prior_likelihood, evidence) -> np.ndarray: len_dist = len(list(evidence.values())[0]) - prior_likelihood = prior_likelihood if prior_likelihood is not None else self.__make_prior(len_dist) + prior_likelihood = prior_likelihood if prior_likelihood is not None else EvidenceFuser.make_prior(len_dist) ret_likelihood = prior_likelihood.copy() for value in evidence.values(): @@ -28,8 +32,6 @@ def fuse(self, prior_likelihood, evidence) -> np.ndarray: return ret_likelihood - def __make_prior(self, len_dist): - return np.ones(len_dist) / len_dist def __clean_likelihood(self, likelihood): diff --git a/bcipy/simulator/helpers/sim_state.py b/bcipy/simulator/helpers/state_manager.py similarity index 96% rename from bcipy/simulator/helpers/sim_state.py rename to bcipy/simulator/helpers/state_manager.py index 75abf3ebe..8aaccfa79 100644 --- a/bcipy/simulator/helpers/sim_state.py +++ b/bcipy/simulator/helpers/state_manager.py @@ -25,7 +25,6 @@ class SimState: inquiry_n: int series_n: int series_results: List[List[InquiryResult]] - # TODO store the fused results decision_criterion: List[SimDecisionCriteria] def total_inquiry_count(self): @@ -35,6 +34,13 @@ def total_inquiry_count(self): return count + def get_current_likelihood(self) -> Optional[np.ndarray]: + cur_likelihood = None + if self.inquiry_n: + cur_likelihood = self.series_results[-1][-1].fused_likelihood + + return cur_likelihood + class StateManager(ABC): @@ -72,7 +78,6 @@ def update(self, evidence) -> InquiryResult: evidence_dict = {"SM": evidence} # TODO create wrapper object for Evidences fused_likelihood = fuser.fuse(prior_likelihood, evidence_dict) - # finding out whether max iterations is hit or prob threshold is hit temp_inquiry_result = InquiryResult(target=self.state.target_symbol, time_spent=0, stimuli=self.state.display_alphabet, evidence_likelihoods=list(evidence), fused_likelihood=fused_likelihood, # TODO change to use evidence_dict diff --git a/bcipy/simulator/helpers/types.py b/bcipy/simulator/helpers/types.py index 6769d71bb..2de09f88f 100644 --- a/bcipy/simulator/helpers/types.py +++ b/bcipy/simulator/helpers/types.py @@ -7,7 +7,7 @@ @dataclass class InquiryResult: target: Optional[str] - time_spent: int # TODO what does time_spent mean? + time_spent: int stimuli: List evidence_likelihoods: List # TODO make this into a dictionary to support multimodal. e.g {SignalModel: evidence_list, LanguageModel:evidence_list} fused_likelihood: np.ndarray diff --git a/bcipy/simulator/interfaces.py b/bcipy/simulator/interfaces.py index 02659d050..cac2c8120 100644 --- a/bcipy/simulator/interfaces.py +++ b/bcipy/simulator/interfaces.py @@ -2,7 +2,7 @@ from bcipy.helpers.symbols import alphabet from bcipy.signal.model import PcaRdaKdeModel -from bcipy.simulator.helpers.sim_state import SimState +from bcipy.simulator.helpers.state_manager import SimState class ModelHandler(ABC): diff --git a/bcipy/simulator/sim_sampler.py b/bcipy/simulator/sim.py similarity index 80% rename from bcipy/simulator/sim_sampler.py rename to bcipy/simulator/sim.py index 9f0d03df3..290e5e747 100644 --- a/bcipy/simulator/sim_sampler.py +++ b/bcipy/simulator/sim.py @@ -1,11 +1,15 @@ import random from time import sleep +from typing import Optional -from bcipy.helpers import load +import numpy as np + +from bcipy.helpers import load, stimuli, symbols from bcipy.helpers.symbols import alphabet from bcipy.simulator.helpers.data_engine import DataEngine +from bcipy.simulator.helpers.evidence_fuser import EvidenceFuser from bcipy.simulator.helpers.sampler import Sampler -from bcipy.simulator.helpers.sim_state import StateManager, SimState +from bcipy.simulator.helpers.state_manager import StateManager, SimState from bcipy.simulator.helpers.types import InquiryResult from bcipy.simulator.interfaces import MetricReferee, ModelHandler from bcipy.simulator.simulator_base import Simulator @@ -55,8 +59,9 @@ def __init__(self, data_engine: DataEngine, model_handler: ModelHandler, sampler def run(self): while not self.state_manager.is_done(): - print(f"Series {self.state_manager.get_state().series_n} | Inquiry {self.state_manager.get_state().inquiry_n} | Target {self.state_manager.get_state().target_symbol}") - self.state_manager.mutate_state('display_alphabet', self.__get_inquiry_alp_subset(self.state_manager.get_state())) + print( + f"Series {self.state_manager.get_state().series_n} | Inquiry {self.state_manager.get_state().inquiry_n} | Target {self.state_manager.get_state().target_symbol}") + self.state_manager.mutate_state('display_alphabet', self.__make_stimuli(self.state_manager.get_state())) sampled_data = self.sampler.sample(self.state_manager.get_state()) evidence = self.model_handler.generate_evidence(self.state_manager.get_state(), sampled_data) # TODO make this evidence be a dict (mapping of evidence type to evidence) @@ -74,10 +79,16 @@ def run(self): sleep(.5) # TODO visualize result metrics - def __get_inquiry_alp_subset(self, state: SimState): - # TODO put this in own file or object + def __make_stimuli(self, state: SimState): + # TODO abstract out subset_length = 10 - return random.sample(self.symbol_set, subset_length) + val_func: Optional[np.ndarray] = state.get_current_likelihood() + always_in_stimuli = [symbols.SPACE_CHAR, symbols.BACKSPACE_CHAR] + + if val_func is not None: + return stimuli.best_selection(self.symbol_set, list(val_func), subset_length, always_included=always_in_stimuli) + else: + return random.sample(self.symbol_set, subset_length) def load_parameters(self, path): # TODO validate parameters @@ -93,5 +104,3 @@ def load_parameters(self, path): def get_param(self, name): pass - -# TODO add stronger typing hints diff --git a/bcipy/simulator/tests/sampler_test.py b/bcipy/simulator/tests/sampler_test.py index 00a25772c..7c2adea5c 100644 --- a/bcipy/simulator/tests/sampler_test.py +++ b/bcipy/simulator/tests/sampler_test.py @@ -8,9 +8,9 @@ from bcipy.signal.model import PcaRdaKdeModel from bcipy.simulator.helpers.data_engine import RawDataEngine from bcipy.simulator.helpers.sampler import Sampler, SimpleLetterSampler -from bcipy.simulator.helpers.sim_state import StateManagerImpl, StateManager, SimState +from bcipy.simulator.helpers.state_manager import StateManagerImpl, StateManager, SimState from bcipy.simulator.interfaces import ModelHandler, MetricReferee -from bcipy.simulator.sim_sampler import SimulatorCopyPhrase +from bcipy.simulator.sim import SimulatorCopyPhrase class DummyModelHandler(ModelHandler): From af057cb9738ca3bac364f50c8261df80ca3a270f Mon Sep 17 00:00:00 2001 From: Tab Date: Wed, 30 Aug 2023 18:56:03 -0700 Subject: [PATCH 128/330] Upgrade requirements, upgrade from pyqt5 to pyqt6 --- .bcipy/experiment/experiments.json | 17 +++++++++++ .bcipy/field/fields.json | 4 +++ bcipy/acquisition/datastream/mock/switch.py | 2 +- bcipy/gui/BCInterface.py | 2 +- bcipy/gui/alert.py | 2 +- bcipy/gui/experiments/ExperimentField.py | 12 ++++---- bcipy/gui/experiments/ExperimentRegistry.py | 2 +- bcipy/gui/experiments/FieldRegistry.py | 2 +- bcipy/gui/file_dialog.py | 7 +++-- bcipy/gui/main.py | 34 ++++++++++----------- bcipy/gui/parameters/params_form.py | 14 ++++----- bcipy/gui/viewer/data_viewer.py | 27 +++++++++------- bcipy/parameters/parameters.json | 4 +-- requirements.txt | 12 ++++---- 14 files changed, 84 insertions(+), 57 deletions(-) diff --git a/.bcipy/experiment/experiments.json b/.bcipy/experiment/experiments.json index d8a4c9eed..aa3909efd 100644 --- a/.bcipy/experiment/experiments.json +++ b/.bcipy/experiment/experiments.json @@ -2,5 +2,22 @@ "default": { "fields": [], "summary": "Default experiment to test various BciPy features without registering a full experiment." + }, + "test": { + "fields": [ + { + "age": { + "required": "true", + "anonymize": "true" + } + }, + { + "tst": { + "required": "false", + "anonymize": "true" + } + } + ], + "summary": "asdfasdf" } } \ No newline at end of file diff --git a/.bcipy/field/fields.json b/.bcipy/field/fields.json index c47e04f2e..129e00326 100644 --- a/.bcipy/field/fields.json +++ b/.bcipy/field/fields.json @@ -2,5 +2,9 @@ "age": { "help_text": "Age (in years) of user.", "type": "int" + }, + "tst": { + "help_text": "d", + "type": "int" } } \ No newline at end of file diff --git a/bcipy/acquisition/datastream/mock/switch.py b/bcipy/acquisition/datastream/mock/switch.py index afdc7e074..38145f5b2 100644 --- a/bcipy/acquisition/datastream/mock/switch.py +++ b/bcipy/acquisition/datastream/mock/switch.py @@ -81,7 +81,7 @@ def main(switch: Switch): background_color='black') ex.show_gui() - result = gui.exec_() + result = gui.exec() switch.quit() sys.exit(result) diff --git a/bcipy/gui/BCInterface.py b/bcipy/gui/BCInterface.py index 0e5f10c4e..912b97986 100644 --- a/bcipy/gui/BCInterface.py +++ b/bcipy/gui/BCInterface.py @@ -461,7 +461,7 @@ def start_app() -> None: ex.show_gui() - sys.exit(bcipy_gui.exec_()) + sys.exit(bcipy_gui.exec()) if __name__ == '__main__': diff --git a/bcipy/gui/alert.py b/bcipy/gui/alert.py index 042d5d552..d974349d9 100644 --- a/bcipy/gui/alert.py +++ b/bcipy/gui/alert.py @@ -1,7 +1,7 @@ """GUI alert messages""" # pylint: disable=no-name-in-module import sys -from PyQt5.QtWidgets import QApplication +from PyQt6.QtWidgets import QApplication from bcipy.gui.main import alert_message, AlertMessageType, AlertResponse, AlertMessageResponse diff --git a/bcipy/gui/experiments/ExperimentField.py b/bcipy/gui/experiments/ExperimentField.py index cbe5ae5a7..bf8bd7e20 100644 --- a/bcipy/gui/experiments/ExperimentField.py +++ b/bcipy/gui/experiments/ExperimentField.py @@ -5,8 +5,8 @@ from typing import List -from PyQt5.QtCore import Qt -from PyQt5.QtWidgets import ( +from PyQt6.QtCore import Qt +from PyQt6.QtWidgets import ( QHBoxLayout, QPushButton, QScrollArea, @@ -210,7 +210,7 @@ def throw_alert_message(self, elif message_response is AlertMessageResponse.OCE: msg.setStandardButtons(AlertResponse.OK.value | AlertResponse.CANCEL.value) - return msg.exec_() + return msg.exec() class MainPanel(QWidget): @@ -240,8 +240,8 @@ def initUI(self): vbox = QVBoxLayout() self.form_panel = QScrollArea() - self.form_panel.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn) - self.form_panel.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) + self.form_panel.setVerticalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOn) + self.form_panel.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOff) self.form_panel.setWidgetResizable(True) self.form_panel.setFixedWidth(self.width) self.form_panel.setWidget(self.form) @@ -307,7 +307,7 @@ def start_app() -> None: save_path=save_path, file_name=file_name ) - bcipy_gui.exec_() + bcipy_gui.exec() if validate: if validate_field_data_written(save_path, file_name): diff --git a/bcipy/gui/experiments/ExperimentRegistry.py b/bcipy/gui/experiments/ExperimentRegistry.py index 9d10d6db8..365675ad5 100644 --- a/bcipy/gui/experiments/ExperimentRegistry.py +++ b/bcipy/gui/experiments/ExperimentRegistry.py @@ -461,7 +461,7 @@ def start_app() -> None: width=600, background_color='black') - sys.exit(bcipy_gui.exec_()) + sys.exit(bcipy_gui.exec()) if __name__ == '__main__': diff --git a/bcipy/gui/experiments/FieldRegistry.py b/bcipy/gui/experiments/FieldRegistry.py index eeb65e576..54cb4741f 100644 --- a/bcipy/gui/experiments/FieldRegistry.py +++ b/bcipy/gui/experiments/FieldRegistry.py @@ -279,7 +279,7 @@ def start_app() -> None: ex.show_gui() - sys.exit(bcipy_gui.exec_()) + sys.exit(bcipy_gui.exec()) if __name__ == '__main__': diff --git a/bcipy/gui/file_dialog.py b/bcipy/gui/file_dialog.py index f88deb766..f54ee2881 100644 --- a/bcipy/gui/file_dialog.py +++ b/bcipy/gui/file_dialog.py @@ -1,7 +1,8 @@ # pylint: disable=no-name-in-module,missing-docstring,too-few-public-methods import sys from pathlib import Path -from PyQt5.QtWidgets import QApplication, QWidget, QFileDialog, QDesktopWidget +from PyQt6.QtWidgets import QApplication, QWidget, QFileDialog +from PyQt6 import QtGui from bcipy.preferences import preferences DEFAULT_FILE_TYPES = "All Files (*)" @@ -12,14 +13,14 @@ class FileDialog(QWidget): def __init__(self): super().__init__() - self.title = 'PyQt5 file dialogs - pythonspot.com' + self.title = 'PyQt6 file dialogs - pythonspot.com' self.width = 640 self.height = 480 # Center on screen self.resize(self.width, self.height) frame_geom = self.frameGeometry() - frame_geom.moveCenter(QDesktopWidget().availableGeometry().center()) + frame_geom.moveCenter(QtGui.QGuiApplication.primaryScreen().availableGeometry().center()) self.move(frame_geom.topLeft()) # The native dialog may prevent the selection from closing after a diff --git a/bcipy/gui/main.py b/bcipy/gui/main.py index b4c729974..9f77c7193 100644 --- a/bcipy/gui/main.py +++ b/bcipy/gui/main.py @@ -7,9 +7,9 @@ from enum import Enum from typing import Any, Callable, List, NamedTuple, Optional, Tuple, Union -from PyQt5.QtCore import QEvent, Qt, QTimer, pyqtSlot -from PyQt5.QtGui import QFont, QPixmap, QShowEvent -from PyQt5.QtWidgets import (QApplication, QCheckBox, QComboBox, +from PyQt6.QtCore import QEvent, Qt, QTimer, pyqtSlot +from PyQt6.QtGui import QFont, QPixmap, QShowEvent, QWheelEvent +from PyQt6.QtWidgets import (QApplication, QCheckBox, QComboBox, QDoubleSpinBox, QFileDialog, QHBoxLayout, QLabel, QLineEdit, QMessageBox, QPushButton, QScrollArea, QSpinBox, QVBoxLayout, QWidget) @@ -19,7 +19,7 @@ def font(size: int = 14, font_family: str = 'Helvetica') -> QFont: """Create a Font object with the given parameters.""" - return QFont(font_family, size, QFont.Normal) + return QFont(font_family, size, weight=0) def invalid_length(min=1, max=25) -> bool: @@ -68,10 +68,10 @@ class AlertMessageType(Enum): Custom enum used to abstract PyQT message types from downstream users. """ - WARN = QMessageBox.Warning - QUESTION = QMessageBox.Question - INFO = QMessageBox.Information - CRIT = QMessageBox.Critical + WARN = QMessageBox.Icon.Warning + QUESTION = QMessageBox.Icon.Question + INFO = QMessageBox.Icon.Information + CRIT = QMessageBox.Icon.Critical class AlertResponse(Enum): @@ -79,10 +79,10 @@ class AlertResponse(Enum): Custom enum used to abstract PyQT alert responses from downstream users. """ - OK = QMessageBox.Ok - CANCEL = QMessageBox.Cancel - YES = QMessageBox.Yes - NO = QMessageBox.No + OK = QMessageBox.StandardButton.Ok + CANCEL = QMessageBox.StandardButton.Cancel + YES = QMessageBox.StandardButton.Yes + NO = QMessageBox.StandardButton.No class PushButton(QPushButton): @@ -245,7 +245,7 @@ def __init__(self, def eventFilter(self, source, event): """Event filter that suppresses the scroll wheel event.""" - if (event.type() == QEvent.Wheel and source is self.control): + if (event.type() == QWheelEvent and source is self.control): return True return False @@ -948,7 +948,7 @@ def throw_alert_message( message_type=message_type, message_response=message_response, message_timeout=message_timeout) - return msg.exec_() + return msg.exec() def get_filename_dialog(self, message: str = 'Open File', @@ -983,8 +983,8 @@ def __init__(self, # create the scrollable are self.frame = QScrollArea() - self.frame.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn) - self.frame.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) + self.frame.setVerticalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOn) + self.frame.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOff) self.frame.setWidgetResizable(True) self.frame.setFixedWidth(self.width) self.setFixedHeight(self.height) @@ -1109,7 +1109,7 @@ def start_app() -> None: message_response=AlertMessageResponse.OCE, message_timeout=5) - sys.exit(bcipy_gui.exec_()) + sys.exit(bcipy_gui.exec()) if __name__ == '__main__': diff --git a/bcipy/gui/parameters/params_form.py b/bcipy/gui/parameters/params_form.py index 9c0bde281..39280aa13 100644 --- a/bcipy/gui/parameters/params_form.py +++ b/bcipy/gui/parameters/params_form.py @@ -5,8 +5,8 @@ from pathlib import Path from typing import Dict, Tuple -from PyQt5.QtCore import Qt -from PyQt5.QtWidgets import (QApplication, QFileDialog, QHBoxLayout, +from PyQt6.QtCore import Qt +from PyQt6.QtWidgets import (QApplication, QFileDialog, QHBoxLayout, QPushButton, QScrollArea, QVBoxLayout, QWidget) from bcipy.config import BCIPY_ROOT @@ -244,8 +244,8 @@ def __init__(self, json_file: str): self.layout = QVBoxLayout() self.changes_area = QScrollArea() - self.changes_area.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn) - self.changes_area.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) + self.changes_area.setVerticalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOn) + self.changes_area.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOff) self.changes_area.setWidgetResizable(True) self.changes_area.setWidget(self.change_items) self.changes_area.setVisible(not self.collapsed) @@ -328,8 +328,8 @@ def initUI(self): vbox.addLayout(self.changes_panel) self.form_panel = QScrollArea() - self.form_panel.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn) - self.form_panel.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) + self.form_panel.setVerticalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOn) + self.form_panel.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOff) self.form_panel.setWidgetResizable(True) self.form_panel.setFixedWidth(self.size[0]) self.form_panel.setWidget(self.form) @@ -423,7 +423,7 @@ def main(json_file, title='BCI Parameters', size=(450, 550)): """Set up the GUI components and start the main loop.""" app = QApplication(sys.argv) _panel = MainPanel(json_file, title, size) - sys.exit(app.exec_()) + sys.exit(app.exec()) if __name__ == '__main__': diff --git a/bcipy/gui/viewer/data_viewer.py b/bcipy/gui/viewer/data_viewer.py index cf654fa7d..85e6b59e0 100644 --- a/bcipy/gui/viewer/data_viewer.py +++ b/bcipy/gui/viewer/data_viewer.py @@ -4,16 +4,21 @@ from queue import Queue from typing import Callable, Dict, List, Optional, Tuple -import matplotlib.ticker as ticker -import numpy as np -from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg -from matplotlib.figure import Figure -from PyQt5.QtCore import Qt, QTimer # pylint: disable=no-name-in-module +from PyQt6.QtCore import Qt, QTimer # pylint: disable=no-name-in-module # pylint: disable=no-name-in-module -from PyQt5.QtWidgets import (QApplication, QCheckBox, QComboBox, QHBoxLayout, +from PyQt6.QtWidgets import (QApplication, QCheckBox, QComboBox, QHBoxLayout, QLabel, QPushButton, QSpinBox, QVBoxLayout, QWidget) +import matplotlib +import matplotlib.ticker as ticker +import numpy as np +matplotlib.use('Qt5Agg') +import matplotlib.pyplot as plt +from matplotlib.backends.backend_qtagg import FigureCanvasQTAgg as FigureCanvas +from matplotlib.figure import Figure + + from bcipy.acquisition.devices import DeviceSpec from bcipy.acquisition.util import StoppableProcess from bcipy.gui.main import static_text_control @@ -138,7 +143,7 @@ def __init__(self, lbl = QLabel(label) lbl.setStyleSheet(stylesheet) - lbl.setAlignment(Qt.AlignRight) + lbl.setAlignment(Qt.AlignmentFlag.AlignRight) lbl.setContentsMargins(0, 2, 0, 0) layout.addWidget(lbl) @@ -146,9 +151,9 @@ def __init__(self, self.fixed_scale_input.setMaximum(max_value) self.fixed_scale_input.setValue(initial_value) self.fixed_scale_input.setStyleSheet(stylesheet) - self.fixed_scale_input.setAlignment(Qt.AlignLeft) + self.fixed_scale_input.setAlignment(Qt.AlignmentFlag.AlignLeft) self.fixed_scale_input.valueChanged.connect(on_change_fn) - self.fixed_scale_input.setFocusPolicy(Qt.ClickFocus) + self.fixed_scale_input.setFocusPolicy(Qt.FocusPolicy.ClickFocus) layout.addWidget(self.fixed_scale_input) self.setLayout(layout) @@ -236,7 +241,7 @@ def init_canvas(self): self.axes = self.init_axes() self.axes_bounds = self.init_axes_bounds() - self.canvas = FigureCanvasQTAgg(self.figure) + self.canvas = FigureCanvas(self.figure) # pylint: disable=invalid-name,attribute-defined-outside-init def initUI(self): @@ -686,7 +691,7 @@ def main(data_file: str, panel.start() - app_exit = app.exec_() + app_exit = app.exec() if proc: proc.stop() sys.exit(app_exit) diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index d390e9ba9..50f5c907d 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -153,7 +153,7 @@ "type": "bool" }, "high_voltage_value": { - "value": "75E+6", + "value": "75000000.0", "section": "artifact_rejection", "readableName": "High Voltage Threshold Value", "helpTip": "Specifies the high voltage threshold (in microvolts) for artifact rejection (High Voltage Threshold must be set to ‘true’). Default: 75E+6. This is not implemented in the current version of the system.", @@ -169,7 +169,7 @@ "type": "bool" }, "low_voltage_value": { - "value": "-75E-6", + "value": "-0.000075", "section": "artifact_rejection", "readableName": "LowVoltage Threshold Value", "helpTip": "Specifies the low voltage threshold (in microvolts) for artifact rejection (Low Voltage Threshold must be set to ‘true’). Default: -75E-6 This is not implemented in the current version of the system.", diff --git a/requirements.txt b/requirements.txt index 6502c030b..578e06a8b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ mne==1.0.2 pyo==1.0.4 pygame==2.1.2 pyglet<=1.5.27,>=1.4 -PsychoPy==2023.1.0 +PsychoPy==2023.2.1 openpyxl==2.6.3 numpy==1.20.3 sounddevice==0.4.1 @@ -14,13 +14,13 @@ SoundFile==0.12.1 scipy==1.10.1 scikit-learn==1.2.2 seaborn==0.9.0 -matplotlib==3.4.2 -pylsl==1.14.0 +matplotlib==3.7.2 +pylsl==1.16 pandas==1.5.3 psutil==5.7.2 -Pillow==9.0.1 +Pillow==9.4.0 py-cpuinfo==7.0.0 -pyedflib==0.1.30 -PyQt5==5.15.1 +pyedflib==0.1.34 +PyQt6==6.5.2 pywavelets==1.4.1 tqdm==4.62.2 \ No newline at end of file From 3ebd117e0a86e2cc5be1c8a4b2d7d20c056914a9 Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Mon, 30 Oct 2023 12:27:10 -0700 Subject: [PATCH 129/330] remove test fields and experiment --- .bcipy/experiment/experiments.json | 17 ----------------- .bcipy/field/fields.json | 4 ---- 2 files changed, 21 deletions(-) diff --git a/.bcipy/experiment/experiments.json b/.bcipy/experiment/experiments.json index aa3909efd..d8a4c9eed 100644 --- a/.bcipy/experiment/experiments.json +++ b/.bcipy/experiment/experiments.json @@ -2,22 +2,5 @@ "default": { "fields": [], "summary": "Default experiment to test various BciPy features without registering a full experiment." - }, - "test": { - "fields": [ - { - "age": { - "required": "true", - "anonymize": "true" - } - }, - { - "tst": { - "required": "false", - "anonymize": "true" - } - } - ], - "summary": "asdfasdf" } } \ No newline at end of file diff --git a/.bcipy/field/fields.json b/.bcipy/field/fields.json index 129e00326..c47e04f2e 100644 --- a/.bcipy/field/fields.json +++ b/.bcipy/field/fields.json @@ -2,9 +2,5 @@ "age": { "help_text": "Age (in years) of user.", "type": "int" - }, - "tst": { - "help_text": "d", - "type": "int" } } \ No newline at end of file From bb439deedace6b99bb37ec6d7c6c45c22d4c7dec Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Mon, 30 Oct 2023 13:27:46 -0700 Subject: [PATCH 130/330] cleanup and linting --- bcipy/gui/BCInterface.py | 53 ++++++++++++++++++++------------- bcipy/gui/main.py | 5 ++-- bcipy/gui/viewer/data_viewer.py | 2 -- requirements.txt | 4 +-- 4 files changed, 38 insertions(+), 26 deletions(-) diff --git a/bcipy/gui/BCInterface.py b/bcipy/gui/BCInterface.py index 912b97986..c3e8eb63e 100644 --- a/bcipy/gui/BCInterface.py +++ b/bcipy/gui/BCInterface.py @@ -28,11 +28,13 @@ class BCInterface(BCIGui): tasks = TaskType.list() default_text = '...' - padding = 30 + padding = 20 btn_height = 40 + btn_width = 100 max_length = 25 min_length = 1 timeout = 3 + font = 'Consolas' def __init__(self, *args, **kwargs): super(BCInterface, self).__init__(*args, **kwargs) @@ -63,7 +65,7 @@ def __init__(self, *args, **kwargs): self.autoclose = False self.alert = True - self.static_font_size = 24 + self.static_font_size = 16 self.user_id_validations = [ (invalid_length(min=self.min_length, max=self.max_length), @@ -77,36 +79,43 @@ def build_buttons(self) -> None: Build all buttons necessary for the UI. Define their action on click using the named argument action. """ + self.add_button( - message='Load Parameters', position=[self.padding, 450], - size=[110, self.btn_height], background_color='white', + message='Load', position=[self.padding, 450], + size=[self.btn_width, self.btn_height], background_color='Plum', + text_color='black', + font_family=self.font, action=self.select_parameters) self.add_button( - message='Edit Parameters', position=[self.padding + 115, 450], - size=[105, self.btn_height], background_color='white', + message='Edit', position=[self.padding + self.btn_width + 10, 450], + size=[self.btn_width, self.btn_height], background_color='LightCoral', + text_color='black', + font_family=self.font, action=self.edit_parameters) - btn_auc_width = 100 - btn_auc_x = self.padding + 225 + btn_auc_x = self.padding + (self.btn_width * 2) + 20 self.add_button( - message='Calculate AUC', position=(btn_auc_x, 450), - size=(btn_auc_width, self.btn_height), background_color='white', + message='Train', position=(btn_auc_x, 450), + size=(self.btn_width, self.btn_height), background_color='LightSeaGreen', + text_color='black', + font_family=self.font, action=self.offline_analysis) - btn_start_width = 200 + btn_start_width = self.btn_width * 2 + 10 btn_start_x = self.width - (self.padding + btn_start_width) self.add_button( - message='Start Experiment Session', position=[btn_start_x, 450], - size=[btn_start_width, self.btn_height], + message='Start Session', position=[btn_start_x, 440], + size=[btn_start_width, self.btn_height + 10], background_color='green', action=self.start_experiment, - text_color='white') + text_color='white', + font_family=self.font) self.add_button( message='+', position=[self.width - self.padding - 200, 260], - size=[40, self.btn_height - 10], + size=[35, self.btn_height - 10], background_color='green', action=self.create_experiment, text_color='white' @@ -202,10 +211,11 @@ def build_text(self) -> None: """ self.add_static_textbox( text='BCInterface', - position=[275, 0], - size=[200, 50], + position=[210, 0], + size=[250, 50], background_color='black', text_color='white', + font_family=self.font, font_size=30) text_x = 145 @@ -215,12 +225,14 @@ def build_text(self) -> None: size=[200, 50], background_color='black', text_color='white', + font_family=self.font, font_size=self.static_font_size) self.add_static_textbox( text='Experiment', position=[text_x, 205], size=[300, 50], background_color='black', + font_family=self.font, text_color='white', font_size=self.static_font_size) self.add_static_textbox( @@ -229,6 +241,7 @@ def build_text(self) -> None: size=[300, 50], background_color='black', text_color='white', + font_family=self.font, font_size=self.static_font_size) def build_images(self) -> None: @@ -430,8 +443,8 @@ def action_disabled(self) -> bool: return True else: self.disable = True - # set the update time to every 1000ms - self.timer.start(1000) + # set the update time to every 500ms + self.timer.start(500) return False def _disable_action(self) -> bool: @@ -456,7 +469,7 @@ def start_app() -> None: ex = BCInterface( title='Brain Computer Interface', height=550, - width=750, + width=700, background_color='black') ex.show_gui() diff --git a/bcipy/gui/main.py b/bcipy/gui/main.py index 9f77c7193..4532bfb03 100644 --- a/bcipy/gui/main.py +++ b/bcipy/gui/main.py @@ -7,7 +7,7 @@ from enum import Enum from typing import Any, Callable, List, NamedTuple, Optional, Tuple, Union -from PyQt6.QtCore import QEvent, Qt, QTimer, pyqtSlot +from PyQt6.QtCore import Qt, QTimer, pyqtSlot from PyQt6.QtGui import QFont, QPixmap, QShowEvent, QWheelEvent from PyQt6.QtWidgets import (QApplication, QCheckBox, QComboBox, QDoubleSpinBox, QFileDialog, QHBoxLayout, QLabel, @@ -827,6 +827,7 @@ def add_button(self, id: int = -1, background_color: str = 'white', text_color: str = 'default', + font_family: str = 'Times', action: Optional[Callable] = None) -> PushButton: """Add Button.""" btn = PushButton(message, self.window) @@ -835,7 +836,7 @@ def add_button(self, btn.resize(size[0], size[1]) btn.setStyleSheet( - f'background-color: {background_color}; color: {text_color};') + f'background-color: {background_color}; color: {text_color}; font-family: {font_family};') if action: btn.clicked.connect(action) diff --git a/bcipy/gui/viewer/data_viewer.py b/bcipy/gui/viewer/data_viewer.py index 85e6b59e0..820c93866 100644 --- a/bcipy/gui/viewer/data_viewer.py +++ b/bcipy/gui/viewer/data_viewer.py @@ -5,7 +5,6 @@ from typing import Callable, Dict, List, Optional, Tuple from PyQt6.QtCore import Qt, QTimer # pylint: disable=no-name-in-module -# pylint: disable=no-name-in-module from PyQt6.QtWidgets import (QApplication, QCheckBox, QComboBox, QHBoxLayout, QLabel, QPushButton, QSpinBox, QVBoxLayout, QWidget) @@ -14,7 +13,6 @@ import matplotlib.ticker as ticker import numpy as np matplotlib.use('Qt5Agg') -import matplotlib.pyplot as plt from matplotlib.backends.backend_qtagg import FigureCanvasQTAgg as FigureCanvas from matplotlib.figure import Figure diff --git a/requirements.txt b/requirements.txt index 578e06a8b..a7c1d24ca 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ attrdict3==2.0.2 transformers==4.26.0 -torch==1.10.1 +torch==2.0.0 construct==2.8.14 mne==1.0.2 pyo==1.0.4 @@ -9,7 +9,7 @@ pyglet<=1.5.27,>=1.4 PsychoPy==2023.2.1 openpyxl==2.6.3 numpy==1.20.3 -sounddevice==0.4.1 +sounddevice==0.4.4 SoundFile==0.12.1 scipy==1.10.1 scikit-learn==1.2.2 From e7fbe4cbe308a5c34761825133892bf5fa7b6b1a Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Mon, 30 Oct 2023 15:49:29 -0700 Subject: [PATCH 131/330] Use latest pyqt6 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index a7c1d24ca..c857299d4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -21,6 +21,6 @@ psutil==5.7.2 Pillow==9.4.0 py-cpuinfo==7.0.0 pyedflib==0.1.34 -PyQt6==6.5.2 +PyQt6==6.6.0 pywavelets==1.4.1 tqdm==4.62.2 \ No newline at end of file From 071b83e99709470e2e5f386f54b59de2d8ba7320 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 31 Oct 2023 09:40:07 -0700 Subject: [PATCH 132/330] Updated stimuli generation for VEP; updated VEP display with better handling for symbols prior to putting them in boxes; updated VEP calib demo --- .../display/demo/vep/demo_calibration_vep.py | 54 +++- bcipy/display/paradigm/vep/display.py | 245 +++++++++++------- bcipy/helpers/list.py | 26 +- bcipy/helpers/stimuli.py | 124 +++++---- 4 files changed, 292 insertions(+), 157 deletions(-) diff --git a/bcipy/display/demo/vep/demo_calibration_vep.py b/bcipy/display/demo/vep/demo_calibration_vep.py index ca6f493d8..cec8e652d 100644 --- a/bcipy/display/demo/vep/demo_calibration_vep.py +++ b/bcipy/display/demo/vep/demo_calibration_vep.py @@ -42,38 +42,68 @@ print(f'Monitor refresh rate: {frameRate} Hz') -box_colors = ['#00FF80', '#FFFFB3', '#CB99FF', '#FB8072', '#80B1D3', '#FF8232'] -stim_color = [[color] for i, color in enumerate(box_colors) if i < num_boxes] +stim_color = [ + 'green', 'red', '#00FF80', '#FFFFB3', '#CB99FF', '#FB8072', '#80B1D3', + '#FF8232' +] layout = centered(width_pct=0.95, height_pct=0.80) box_config = BoxConfiguration(layout, num_boxes=num_boxes) experiment_clock = Clock() len_stimuli = 10 -stimuli = VEPStimuliProperties( +stim_props = VEPStimuliProperties( stim_color=stim_color, stim_pos=box_config.positions, stim_height=0.1, stim_font=font, - timing=(1, 0.5, 2, 4), # prompt, fixation, animation, stimuli + timing=[1, 0.5, 4], # prompt, fixation, stimuli stim_length=1, # how many times to stimuli ) task_bar = CalibrationTaskBar(win, inquiry_count=4, current_index=0, font=font) -vep = VEPDisplay(win, experiment_clock, stimuli, task_bar, info, box_config=box_config) -timing = [] +vep = VEPDisplay(win, + experiment_clock, + stim_props, + task_bar, + info, + box_config=box_config, + should_prompt_target=True) wait_seconds = 2 +inquiries = [['U', + '+', + ['C', 'M', 'S'], + ['D', 'P', 'X', '_'], + ['L', 'U', 'Y'], + ['E', 'K', 'O'], + ['<', 'A', 'F', 'H', 'I', 'J', 'N', 'Q', 'R', 'V', 'Z'], + ['B', 'G', 'T', 'W']], + ['D', + '+', + ['O', 'X'], + ['D'], + ['P', 'U'], + ['<', 'B', 'E', 'G', 'H', 'J', 'K', 'L', 'R', 'T'], + ['A', 'C', 'F', 'I', 'M', 'N', 'Q', 'V', 'Y', '_'], + ['S', 'W', 'Z']], + ['S', + '+', + ['A', 'J', 'K', 'T', 'V', 'W'], + ['S'], + ['_'], + ['E', 'G', 'M', 'R'], + ['<', 'B', 'C', 'D', 'H', 'I', 'L', 'N', 'O', 'P', 'Q', 'U', 'X', 'Z'], + ['F', 'Y']]] + +timing = [] # loop over the text and colors, present the stimuli and record the timing -for txt in task_text: +for i, txt in enumerate(task_text): vep.update_task_bar(txt) - if num_boxes == 4: - stim = [['A', 'B'], ['Z'], ['P'], ['R', 'W']] - if num_boxes == 6: - stim = [['A'], ['B'], ['Z', 'X'], ['P', 'I'], ['R'], ['W', 'C']] - vep.schedule_to(stimuli=stim) + + vep.schedule_to(stimuli=inquiries[i]) timing += vep.do_inquiry() # show the wait screen, this will only happen once diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index e0d889699..9eeeb2ae9 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -1,19 +1,23 @@ import logging from itertools import cycle -from typing import List, Tuple +from typing import List, NamedTuple, Optional, Tuple, Union import numpy as np from psychopy import core, visual from psychopy.visual.shape import ShapeStim +import bcipy.display.components.layout as layout from bcipy.display import (BCIPY_LOGO_PATH, Display, InformationProperties, VEPStimuliProperties) from bcipy.display.components.layout import envelope, scaled_size from bcipy.display.components.task_bar import TaskBar +from bcipy.display.paradigm.matrix.layout import symbol_positions from bcipy.display.paradigm.vep.layout import BoxConfiguration, checkerboard from bcipy.helpers.clock import Clock -from bcipy.helpers.stimuli import get_fixation, resize_image -from bcipy.helpers.triggers import TriggerCallback, _calibration_trigger +from bcipy.helpers.list import expanded +from bcipy.helpers.stimuli import resize_image +from bcipy.helpers.symbols import alphabet +from bcipy.helpers.triggers import _calibration_trigger def create_vep_codes(length=32, count=4) -> List[List[int]]: @@ -27,6 +31,11 @@ def create_vep_codes(length=32, count=4) -> List[List[int]]: np.random.seed(1) return [np.random.randint(2, size=length) for _ in range(count)] +class StimProps(NamedTuple): + """Represents properties of a single symbol (or stim box)""" + symbol: Union[str, List[str]] + duration: float + color: str class VEPStim: """Represents a checkerboard of squares that can be flashed at a given @@ -124,8 +133,10 @@ def __init__( task_bar: TaskBar, info: InformationProperties, trigger_type: str = 'text', + symbol_set: Optional[List[str]] = None, codes: List[int] = None, - box_config: BoxConfiguration = None): + box_config: BoxConfiguration = None, + should_prompt_target: bool = True): self.window = window self.window_size = self.window.size # [w, h] self.refresh_rate = round(window.getActualFrameRate()) @@ -138,26 +149,40 @@ def __init__( # easy updating after definition self.stimuli_inquiry = stimuli.stim_inquiry self.stimuli_colors = stimuli.stim_colors - self.timing_prompt, self.timing_fixation, self.timing_animation, self.timing_stimuli = stimuli.stim_timing + self.stimuli_timing = stimuli.stim_timing + self.timing_prompt, self.timing_fixation, self.timing_stimuli = stimuli.stim_timing + self.timing_animation = 2 self.stimuli_font = stimuli.stim_font self.stimuli_height = stimuli.stim_height self.stimuli_pos = stimuli.stim_pos - self.is_txt_stim = stimuli.is_txt_stim - self.stim_length = stimuli.stim_length + self.stim_length = stimuli.stim_length self.logger.info(self.stimuli_pos) self.check_configuration() - self.sti = [] + self.symbol_set = symbol_set or alphabet() + self.sort_order = self.symbol_set.index + + # Build starting list of symbols + display_container = layout.centered(width_pct=0.7) + self.starting_positions = symbol_positions(display_container, + rows=3, + columns=10) + self.logger.info( + f"Symbol starting positions ({display_container.units} units): {self.starting_positions}" + ) + self.fixation = self._build_fixation() + self.starting_color = 'white' + self.sti = self._build_inquiry_stimuli() self.static_clock = core.Clock() # Trigger handling self.first_stim_time = None self.trigger_type = trigger_type - self.trigger_callback = TriggerCallback() self.experiment_clock = experiment_clock + self._timing = [] # Callback used on presentation of first stimulus. self.first_run = True @@ -179,95 +204,135 @@ def __init__( num_squares=25) self.text_boxes = self._build_text_boxes(box_config) + self.should_prompt_target = should_prompt_target def check_configuration(self): """Check that configured properties are consistent""" - assert len( - self.stimuli_colors) == self.vep_type, ( - f"stimuli colors {len(self.stimuli_colors)} must be the same length as vep type {self.vep_type}") assert len( self.stimuli_pos) == self.vep_type, ( f"stimuli position {len(self.stimuli_pos)} must be the same length as vep type {self.vep_type}") - def do_fixation(self) -> None: + def do_fixation(self, fixation: StimProps) -> None: """Draw fixation cross""" + duration = fixation.duration or self.timing_fixation + self.fixation.text = fixation.symbol + self.fixation.color = fixation.color self.fixation.draw() self.draw_static() self.window.flip() - core.wait(self.timing_fixation) + core.wait(duration) + + def stim_properties(self) -> List[StimProps]: + """Returns a tuple of (symbol, duration, and color) for each stimuli, + including the target and fixation stim. Stimuli that represent VEP + boxes will have a list of symbols.""" + stim_num = len(self.stimuli_inquiry) + assert len(self.stimuli_colors) == stim_num, "Each box should have its own color" + + return [ + StimProps(*props) + for props in zip(self.stimuli_inquiry, + expanded(list(self.stimuli_timing), length=stim_num), + self.stimuli_colors) + ] def do_inquiry(self) -> List[float]: """Do the inquiry.""" - - timing = [] + self.reset_timing() # if this is the first run, calibrate using the trigger pulse if self.first_run: self._trigger_pulse() + if self.should_prompt_target: + [target, fixation, *stim] = self.stim_properties() + self.prompt_target(target) + else: + [fixation, *stim] = self.stim_properties() + # fixation --> animation / prompting --> VEP stimulate - self.do_fixation() - timing += self.animate_inquiry() - timing += self.stimulate() + self.do_fixation(fixation) + self.animate_inquiry(stim) + self.stimulate() - # clear everyting expect static stimuli + # clear everything expect static stimuli self.draw_static() self.window.flip() - return timing + return self._timing - def animate_inquiry(self) -> List[float]: + + def prompt_target(self, target: StimProps) -> float: + """Present the target for the configured length of time. Records the + stimuli timing information. + + Parameters + ---------- + target - (symbol, duration, color) tuple + """ + # register any timing and marker callbacks + self.window.callOnFlip(self.add_timing, target.symbol) + stim = visual.TextStim(self.window, + text=target.symbol, + color=target.color, + height=self.stimuli_height, + pos=[0, 0]) + stim.draw() + self.draw_static() + self.window.flip() + core.wait(target.duration) + + def animate_inquiry(self, stimuli: List[StimProps]) -> None: """Display the inquiry. Inquiry is a list of lists of strings. Each list contains what stimuli to display for each box defined in self.vep. """ - timing = [] - self.trigger_callback.reset() - self.window.callOnFlip( - self.trigger_callback.callback, - self.experiment_clock, - 'VEP_INQ_ANIMATION') + self.window.callOnFlip(self.add_timing, 'VEP_INQ_ANIMATION') self._reset_text_boxes() - self._build_inquiry_stimuli() - - self.static_clock.reset() - while self.static_clock.getTime() < self.timing_animation: - self.draw_boxes() - self.draw_animation() - self.draw_static() - self.window.flip() - timing += self.trigger_callback.timing + self.reset_symbol_positions() + self.set_stimuli_colors(stimuli) + self.draw_animation() + self._set_inquiry(stimuli) - self._set_inquiry() - self.trigger_callback.reset() - self.window.callOnFlip( - self.trigger_callback.callback, - self.experiment_clock, - 'VEP_INQUIRY') + self.window.callOnFlip(self.add_timing, 'VEP_INQUIRY') # display the inquiry + self.draw_boxes() + self.draw_static() + self.window.flip() + core.wait(self.timing_prompt) + + def set_stimuli_colors(self, stim_groups: List[StimProps]) -> None: + """Update the colors of the stimuli associated with each symbol to + reflect which box it will be placed in.""" + for group in stim_groups: + for sym in group.symbol: + self.sti[sym].color = group.color + + def draw_animation(self) -> None: + """Draw the stimuli animation. + + TODO: animate the symbols moving to their end positions + - determine the number of frames in self.timing_animation seconds + - calculate end positions for each symbol (using symbol_positions with each box as the layout) + - compute the intermediate positions (line trajectory of each symbol) + - update position on each tick + """ self.static_clock.reset() - while self.static_clock.getTime() < self.timing_prompt: + while self.static_clock.getTime() < self.timing_animation: self.draw_boxes() + for sti in self.sti.values(): + sti.draw() self.draw_static() self.window.flip() - timing += self.trigger_callback.timing - - return timing - - def draw_animation(self) -> None: - """Draw the stimuli animation.""" - for sti in self.sti: - sti.draw() - def draw_boxes(self) -> None: """Draw the text boxes under VEP stimuli.""" for box in self.text_boxes: box.draw() - def stimulate(self) -> List[float]: + def stimulate(self) -> None: """ This is the main display function of the VEP paradigm. It is responsible for drawing the flickering stimuli. @@ -275,11 +340,7 @@ def stimulate(self) -> List[float]: It assumes that the VEP stimuli are already constructed. These boxes are drawn in the order they are in the list as defined in self.vep. """ - self.trigger_callback.reset() - self.window.callOnFlip( - self.trigger_callback.callback, - self.experiment_clock, - 'VEP_STIMULATE') + self.window.callOnFlip(self.add_timing, 'VEP_STIMULATE') self.static_clock.reset() while self.static_clock.getTime() < self.timing_stimuli: for frame in range(self.refresh_rate): @@ -295,7 +356,6 @@ def stimulate(self) -> List[float]: ) self.logger.debug(f"Average frame duration: {ended_at/self.timing_stimuli}") - return self.trigger_callback.timing def draw_static(self) -> None: """Draw static elements in a stimulus.""" @@ -316,31 +376,42 @@ def update_task_bar(self, text: str = ''): if self.task_bar: self.task_bar.update(text) + def add_timing(self, stimuli: str): + """Add a new timing entry using the stimuli as a label. + + Useful as a callback function to register a marker at the time it is + first displayed.""" + self._timing.append([stimuli, self.experiment_clock.getTime()]) + + def reset_timing(self): + """Reset the trigger timing.""" + self._timing = [] + def _build_fixation(self) -> visual.TextStim: """Build the fixation stim""" return visual.TextStim(self.window, - text=get_fixation(self.is_txt_stim), + text='+', color='red', height=self.stimuli_height, - units='height', pos=[0, 0]) - def _build_inquiry_stimuli(self) -> None: + def _build_inquiry_stimuli(self) -> List[visual.TextStim]: """Build the inquiry stimuli.""" - all_letters = [] - all_colors = [] - self.sti = [] - for letters, colors in zip(self.stimuli_inquiry, self.stimuli_colors): - for letter in letters: - all_letters.append(letter) - all_colors.append(colors[0]) - pos = (0, 0) - for letter, color in zip(all_letters, all_colors): - pos = (pos[0] + self.stimuli_height, pos[1]) - self.sti.append( - visual.TextStim(self.window, text=letter, color=color, pos=pos, height=self.stimuli_height)) - - return self.sti + grid = {} + for sym in self.symbol_set: + pos_index = self.sort_order(sym) + grid[sym] = visual.TextStim(win=self.window, + text=sym, + color=self.starting_color, + pos=self.starting_positions[pos_index], + height=self.stimuli_height) + return grid + + def reset_symbol_positions(self) -> None: + """Reset the position of each symbol to its starting position""" + for sym in self.symbol_set: + pos_index = self.sort_order(sym) + self.sti[sym].pos = self.starting_positions[pos_index] def build_vep_stimuli(self, positions: List[Tuple[float, float]], @@ -419,22 +490,14 @@ def _reset_text_boxes(self) -> None: for text_box in self.text_boxes: text_box.setText(' ') - def _set_inquiry(self) -> List[visual.TextBox2]: - """Generate Inquiry. - - This method sets the correct inquiry text for each text boxes. + def _set_inquiry(self, stimuli: List[StimProps]) -> List[visual.TextBox2]: + """Set the correct inquiry text for each text boxes. """ - # generate the inquiry stimuli - assert len( - self.stimuli_inquiry) == self.vep_type, ( - f"stimuli inquiry {len(self.stimuli_inquiry)} must be the same length as vep type {self.vep_type}") - assert len( - self.stimuli_colors) == self.vep_type, ( - f"stimuli colors {len(self.stimuli_colors)} must be the same length as vep type {self.vep_type}") - for box_content, color, box in zip(self.stimuli_inquiry, self.stimuli_colors, self.text_boxes): - text = ' '.join(box_content) + for i, sti in enumerate(stimuli): + box = self.text_boxes[i] + text = ' '.join(sti.symbol) box.text = text - box.color = color[0] + box.color = sti.color return self.text_boxes def wait_screen(self, message: str, color: str) -> None: diff --git a/bcipy/helpers/list.py b/bcipy/helpers/list.py index 7a64fa48d..d1fca1004 100644 --- a/bcipy/helpers/list.py +++ b/bcipy/helpers/list.py @@ -49,8 +49,32 @@ def find_index(iterable: List, return i return None + def swapped(lst: List, index1: int, index2: int) -> None: """Creates a copy of the provided list with elements at the given indices swapped.""" - replacements = { index1: lst[index2], index2: lst[index1] } + replacements = {index1: lst[index2], index2: lst[index1]} return [replacements.get(i, val) for i, val in enumerate(lst)] + + +def expanded(lst: List, + length: int, + fill: Union[Any, Callable] = lambda x: x[-1]) -> List: + """Creates a copy of the provided list expanded to the given length. By + default the last item is used as the fill item. + + Parameters + ---------- + lst - list of items to copy + length - expands list to this length + fill - optional; used to determine which element to use for + the fill, given the list. Defaults to the last element. + + >>> expand([1,2,3], length=5) + [1,2,3,3,3] + """ + times = length - len(lst) + if lst and times > 0: + item = fill(lst) if callable(fill) else fill + return lst + ([item] * times) + return lst diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 32288cc69..5af1e5484 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -1070,60 +1070,80 @@ def ssvep_to_code(refresh_rate: int = 60, flicker_rate: int = 10) -> List[int]: return codes -# def generate_vep_calibration_inquiries( -# alp: List[str], -# timing: List[float] = None, -# color: List[str] = None, -# inquiry_count: int = 100, -# num_boxes: int = 4, -# is_txt: bool = True) -> InquirySchedule: -# """ -# Generates VEP inquiries with target letters in all possible positions. - -# In the VEP paradigm, all stimuli in the alphabet are displayed in each -# inquiry. The symbols with the highest likelihoods are displayed alone -# while those with lower likelihoods occur together. - -# Parameters -# ---------- -# alp(list[str]): stimuli -# timing(list[float]): Task specific timing for generator. -# [target, fixation, stimuli] -# color(list[str]): Task specific color for generator -# [target, fixation, stimuli] -# inquiry_count(int): number of inquiries in a calibration -# num_boxes(int): number of display boxes -# is_txt(bool): whether the stimuli type is text. False would be an image stimuli. - -# Return -# ------ -# schedule_inq(tuple( -# samples[list[list[str]]]: list of inquiries -# timing(list[list[float]]): list of timings -# color(list(list[str])): list of colors)): scheduled inquiries -# """ -# if timing is None: -# timing = [0.5, 1, 2] -# # if color is None: -# # color = ['green', 'red', 'white'] -# assert len( -# timing -# ) == 3, "timing must include values for [target, fixation, stimuli]" -# time_target, time_fixation, time_stim = timing -# fixation = get_fixation(is_txt) - -# inquiries = generate_vep_inquiries(alp, inquiry_count, num_boxes) - - -# return InquirySchedule(samples, times, colors) - -def generate_vep_inquiries(alphabet: List[str], num_boxes: int=6, inquiry_count: int=100): + +def generate_vep_calibration_inquiries(alp: List[str], + timing: List[float] = None, + color: List[str] = None, + inquiry_count: int = 100, + num_boxes: int = 4, + is_txt: bool = True) -> InquirySchedule: + """ + Generates VEP inquiries with target letters in all possible positions. + + In the VEP paradigm, all stimuli in the alphabet are displayed in each + inquiry. The symbols with the highest likelihoods are displayed alone + while those with lower likelihoods occur together. + + Parameters + ---------- + alp(list[str]): stimuli + timing(list[float]): Task specific timing for generator. + [target, fixation, stimuli] + color(list[str]): Task specific color for generator + [target, fixation, stimuli] + inquiry_count(int): number of inquiries in a calibration + num_boxes(int): number of display boxes + is_txt(bool): whether the stimuli type is text. False would be an image stimuli. + + Return + ------ + schedule_inq(tuple( + samples[list[list[str]]]: list of inquiries + timing(list[list[float]]): list of timings + color(list(list[str])): list of colors)): scheduled inquiries + """ + if timing is None: + timing = [0.5, 1, 2] + default_colors = [ + '#00FF80', '#FFFFB3', '#CB99FF', '#FB8072', '#80B1D3', '#FF8232' + ] + if color is None: + box_colors = list( + itertools.islice(itertools.cycle(default_colors), num_boxes)) + color = ['green', 'red'] + box_colors + assert len( + timing + ) == 3, "timing must include values for [target, fixation, stimuli]" + + inquiries = generate_vep_inquiries(alp, num_boxes, inquiry_count, is_txt) + times = [timing for _ in range(inquiry_count)] + colors = [color for _ in range(inquiry_count)] + + return InquirySchedule(inquiries, times, colors) + + +def generate_vep_inquiries(symbols: List[str], + num_boxes: int = 6, + inquiry_count: int = 20, + is_txt: bool = True): """Generates inquiries""" + fixation = get_fixation(is_txt) + target_indices = random_target_positions(inquiry_count, + stim_per_inquiry=num_boxes, + percentage_without_target=0) + targets = generate_targets(symbols, + inquiry_count, + percentage_without_target=0.0) + return [[target, fixation] + generate_vep_inquiry(alphabet=symbols, + num_boxes=num_boxes, + target=target, + target_pos=target_pos) + for target, target_pos in zip(targets, target_indices)] def stim_per_box(num_symbols: int, num_boxes: int = 6, - max_empty_boxes: int = 1, + max_empty_boxes: int = 0, max_single_sym_boxes: int = 4) -> List[int]: """Determine the number of stimuli per vep box. @@ -1223,9 +1243,7 @@ def generate_vep_inquiry(alphabet: List[str], if target: # Move the target to the front so it gets put in the lowest count box # greater than 0. - syms = swapped(syms, - index1=0, - index2=syms.index(target)) + syms = swapped(syms, index1=0, index2=syms.index(target)) # Put syms in boxes boxes = [] sym_index = 0 @@ -1234,7 +1252,7 @@ def generate_vep_inquiry(alphabet: List[str], for _i in range(count): box.append(syms[sym_index]) sym_index += 1 - box.sort() # sort stim within box + box.sort() # sort stim within box boxes.append(box) random.shuffle(boxes) From f854e76bbcf1da30b5ec8a28f02786dd8f1a8e2e Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 31 Oct 2023 09:53:35 -0700 Subject: [PATCH 133/330] Fixed error resulting from upstream merge --- bcipy/display/paradigm/vep/display.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index 9eeeb2ae9..157ce838f 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -164,7 +164,7 @@ def __init__( self.sort_order = self.symbol_set.index # Build starting list of symbols - display_container = layout.centered(width_pct=0.7) + display_container = layout.centered(parent=self.window, width_pct=0.7) self.starting_positions = symbol_positions(display_container, rows=3, columns=10) From 4b9ffb05f2f666b9c7e0b6a17207224346b41e54 Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Tue, 31 Oct 2023 18:06:31 -0700 Subject: [PATCH 134/330] upgrades to permit use on m2 chips --- .github/workflows/codeql-analysis.yml | 70 --------------------------- bcipy/helpers/session.py | 6 ++- bcipy/helpers/system_utils.py | 2 +- requirements.txt | 8 +-- scripts/shell/m2chip_install.sh | 32 ++++++++++++ 5 files changed, 41 insertions(+), 77 deletions(-) delete mode 100644 .github/workflows/codeql-analysis.yml create mode 100644 scripts/shell/m2chip_install.sh diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml deleted file mode 100644 index 1e137f55c..000000000 --- a/.github/workflows/codeql-analysis.yml +++ /dev/null @@ -1,70 +0,0 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -# -# ******** NOTE ******** -# We have attempted to detect the languages in your repository. Please check -# the `language` matrix defined below to confirm you have the correct set of -# supported CodeQL languages. -# -name: "CodeQL" - -on: - push: - branches: [ main ] - pull_request: - # The branches below must be a subset of the branches above - branches: [ main ] - schedule: - - cron: '19 16 * * 4' - -jobs: - analyze: - name: Analyze - runs-on: ubuntu-latest - permissions: - actions: read - contents: read - security-events: write - - strategy: - fail-fast: false - matrix: - language: [ 'python' ] - # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] - # Learn more about CodeQL language support at https://git.io/codeql-language-support - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v2 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - # queries: ./path/to/local/query, your-org/your-repo/queries@main - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v2 - - # ℹ️ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl - - # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language - - #- run: | - # make bootstrap - # make release - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 diff --git a/bcipy/helpers/session.py b/bcipy/helpers/session.py index 071f8cd12..a690f438e 100644 --- a/bcipy/helpers/session.py +++ b/bcipy/helpers/session.py @@ -12,8 +12,10 @@ from openpyxl.chart import BarChart, Reference from openpyxl.styles import PatternFill from openpyxl.styles.borders import BORDER_THIN, Border, Side -from openpyxl.styles.colors import BLACK, WHITE, YELLOW - +from openpyxl.styles.colors import COLOR_INDEX +BLACK = COLOR_INDEX[0] +WHITE = COLOR_INDEX[1] +YELLOW = COLOR_INDEX[5] from bcipy.config import (BCIPY_ROOT, DEFAULT_ENCODING, DEFAULT_PARAMETER_FILENAME, EXPERIMENT_DATA_FILENAME, SESSION_DATA_FILENAME, SESSION_SUMMARY_FILENAME) diff --git a/bcipy/helpers/system_utils.py b/bcipy/helpers/system_utils.py index 9b3c6b2cf..268bfc008 100644 --- a/bcipy/helpers/system_utils.py +++ b/bcipy/helpers/system_utils.py @@ -169,6 +169,7 @@ def get_system_info() -> dict: screen_info = get_screen_info() info = get_cpu_info() gpu_info = get_gpu_info() + return { 'os': sys.platform, 'py_version': sys.version, @@ -182,7 +183,6 @@ def get_system_info() -> dict: 'processor': platform.processor(), 'cpu_count': os.cpu_count(), 'cpu_brand': info['brand_raw'], - 'cpu_hz': info['hz_actual_friendly'], 'gpu_available': torch.cuda.is_available(), 'gpu_count': len(gpu_info), 'gpu_details': gpu_info, diff --git a/requirements.txt b/requirements.txt index c857299d4..9b423b689 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,12 +3,12 @@ transformers==4.26.0 torch==2.0.0 construct==2.8.14 mne==1.0.2 -pyo==1.0.4 +pyo==1.0.5 pygame==2.1.2 pyglet<=1.5.27,>=1.4 PsychoPy==2023.2.1 -openpyxl==2.6.3 -numpy==1.20.3 +openpyxl==3.1.2 +numpy==1.25.2 sounddevice==0.4.4 SoundFile==0.12.1 scipy==1.10.1 @@ -19,7 +19,7 @@ pylsl==1.16 pandas==1.5.3 psutil==5.7.2 Pillow==9.4.0 -py-cpuinfo==7.0.0 +py-cpuinfo==9.0.0 pyedflib==0.1.34 PyQt6==6.6.0 pywavelets==1.4.1 diff --git a/scripts/shell/m2chip_install.sh b/scripts/shell/m2chip_install.sh new file mode 100644 index 000000000..c706ea2c6 --- /dev/null +++ b/scripts/shell/m2chip_install.sh @@ -0,0 +1,32 @@ +"""Mac M2 install script. + +This script is intended to be run from the root of the BciPy repository. It may work for M1 chips, but +this has not been tested and may require use of Rosetta 2. + +This script will install the necessary dependencies for the M2 chip on a Mac. It will also install +the psychopy version that is compatible with the M2 chip (no deps). This script assumes that you have homebrew +installed. If you do not, please install it before running this script. + +This script will install the following dependencies manually or via homebrew: + - hdf5 + - portaudio + - pyaudio + - pyo + - psychopy + +This script will also install the kenlm package with the max_order=12 option. This is necessary for +the language model and tests to run. +""" + +xcode-select --install +brew install hdf5 +brew install portaudio +# also make sure the path is correct/exported in .zprofile or .bash_profile +export HDF5_DIR=/opt/homebrew/opt/hdf5 +# portaudio installation for soundfile and pyo +python -m pip install pyaudio +# your path may be different to the portaudio version +pip install --global-option='build_ext' --global-option='-I/usr/local/Cellar/portaudio/19.7.0/include' --global-option='-L/usr/local/Cellar/portaudio/19.7.0/lib' pyo +pip install Psychopy==2023.2.1 --no-deps # install psychopy without dependencies +pip install -e . +pip install kenlm==0.1 --global-option="--max_order=12" # install kenlm with max_order=12 for language model. Not required for BciPy to run in most places. \ No newline at end of file From 93ad08bb7870228a45e03fd9125ed9249666f8b2 Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Tue, 31 Oct 2023 18:15:44 -0700 Subject: [PATCH 135/330] updating the CHANGELOG, downgrade the numpy version for 3.8 --- CHANGELOG.md | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 381298c39..a5f297b57 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,7 @@ Our last release candidate before the official 2.0 release! - Parameters - Add a Range type parameter #285 - Cleanup - - Change default log level to INFO to prevent too many messages in the experiment logs #288 + - Change default log level to INFO to prevent too many messages in the experiment logs #288 Upgrade requirements for m1/2 chips #299/#300 # 2.0.0-rc.3 diff --git a/requirements.txt b/requirements.txt index 9b423b689..fd04a9186 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,7 +8,7 @@ pygame==2.1.2 pyglet<=1.5.27,>=1.4 PsychoPy==2023.2.1 openpyxl==3.1.2 -numpy==1.25.2 +numpy==1.24.4 sounddevice==0.4.4 SoundFile==0.12.1 scipy==1.10.1 From fba45ed618a83a9f3e46283909be8c31a0f9c434 Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Tue, 31 Oct 2023 18:24:21 -0700 Subject: [PATCH 136/330] fix option assignment --- bcipy/gui/file_dialog.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/bcipy/gui/file_dialog.py b/bcipy/gui/file_dialog.py index f54ee2881..8c5247b12 100644 --- a/bcipy/gui/file_dialog.py +++ b/bcipy/gui/file_dialog.py @@ -25,8 +25,7 @@ def __init__(self): # The native dialog may prevent the selection from closing after a # directory is selected. - self.options = QFileDialog.Options() - self.options |= QFileDialog.DontUseNativeDialog + self.options = QFileDialog.Option(3) def ask_file(self, file_types: str = DEFAULT_FILE_TYPES, directory: str = "") -> str: """Opens a file dialog window. From 2fa0e248fef386375cfb7dcf539c10a3baaac9d4 Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Wed, 1 Nov 2023 16:30:34 -0400 Subject: [PATCH 137/330] New visualization method added --- bcipy/helpers/visualization.py | 119 +++++++++++++++++- .../parameters/symbol_positions.json | 0 bcipy/signal/model/offline_analysis.py | 34 +++-- 3 files changed, 144 insertions(+), 9 deletions(-) rename symbol_positions.json => bcipy/parameters/symbol_positions.json (100%) diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index 36a64bbc5..63ab10ce5 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -320,8 +320,6 @@ def visualize_gaze_inquiries( ell.set_alpha(0.5) ax.add_artist(ell) - # ax.scatter(means[:,0], means[:,1], c='yellow', s=20, marker='^') - ax.set_xticks([]) ax.set_yticks([]) ax.set_xticklabels([]) @@ -429,6 +427,123 @@ def visualize_centralized_data( return fig +def visualize_results_all_symbols( + left_eye_all: List[np.ndarray], + right_eye_all: List[np.ndarray], + means_all: List[np.ndarray], + covs_all: List[np.ndarray], + save_path: Optional[str] = None, + show: Optional[bool] = False, + img_path: Optional[str] = None, + screen_size: Tuple[int, int] = (1920, 1080), + heatmap: Optional[bool] = False, + raw_plot: Optional[bool] = False) -> Figure: + """Visualize results for all symbols. + + Assumes that the data is collected using BciPy and a Tobii-nano eye tracker. The default + image used is for the matrix calibration task on a 1920x1080 screen. + + Generates a comparative matrix figure following the execution of offline analysis. Given a set of + trailed data (left & right eye), the gaze distribution for all prompted symbols are shown in a + single image, along with mean-cov contours of gaze distribution with respect to each symbol. + The figures may be saved or shown in a window. + + Returns a list of the figure handles created. + + Parameters + ---------- + left_eye: (np.ndarray): Data array for the left eye data. + right_eye: (np.ndarray): Data array for the right eye data. + means: Optional[np.ndarray]: Means of the Gaussian Mixture Model + covs: Optional[np.ndarray]: Covariances of the Gaussian Mixture Model + save_path: Optional[str]: optional path to a save location of the figure generated + show: Optional[bool]: whether or not to show the figures generated. Default: False + img_path: Optional[str]: Image to be used as the background. Default: matrix.png + screen_size: Optional[Tuple[int, int]]: Size of the screen used for Calibration/Copy + Phrase tasks. + Default: (1920, 1080) + heatmap: Optional[bool]: Whether or not to plot the heatmap. Default: False + raw_plot: Optional[bool]: Whether or not to plot the raw gaze data. Default: False + """ + + title = 'Map of Gaze Data and Contours ' + + if img_path is None: + img_path = f'{STATIC_IMAGES_PATH}/main/matrix.png' + img = plt.imread(img_path) + + # scale the eye data to the image + fig, ax = plt.subplots() + ax.imshow(img, extent=[0, 1, 0, 1]) + + for _, (left_eye, right_eye, means, covs) in enumerate(zip(left_eye_all, right_eye_all, means_all, covs_all)): + # transform the eye data to fit the display. remove > 1 values < 0 values and flip the y axis + lx = np.clip(left_eye[:, 0], 0, 1) + ly = np.clip(left_eye[:, 1], 0, 1) + rx = np.clip(right_eye[:, 0], 0, 1) + ry = np.clip(right_eye[:, 1], 0, 1) + ly = 1 - ly + ry = 1 - ry + + if means is not None: + means[:, 0] = np.clip(means[:, 0], 0, 1) + means[:, 1] = np.clip(means[:, 1], 0, 1) + + if heatmap: + # create a dataframe making a column for each x, y pair for both eyes and + # a column for the eye (left or right) + df = pd.DataFrame({ + 'x': np.concatenate((lx, rx)), + 'y': np.concatenate((ly, ry)), + 'eye': ['left'] * len(lx) + ['right'] * len(rx) + }) + ax = sns.kdeplot( + data=df, + hue='eye', + x='x', + y='y', + fill=False, + thresh=0.05, + levels=10, + cmap="mako", + colorbar=True) + + if raw_plot: + # ax.scatter(lx, ly, c='lightcoral', s=1) + ax.scatter(rx, ry, c='bisque', s=1) + + if means is not None: + for i, (mean, cov) in enumerate(zip(means, covs)): + v, w = linalg.eigh(cov) + v = 2.0 * np.sqrt(2.0) * np.sqrt(v) + u = w[0] / linalg.norm(w[0]) + + # Plot an ellipse to show the Gaussian component + angle = np.arctan(u[1] / u[0]) + angle = 180.0 * angle / np.pi # convert to degrees + ell = Ellipse(mean, v[0], v[1], angle=180.0 + angle, color='navy') + ell.set_clip_box(ax) + ell.set_alpha(0.5) + ax.add_artist(ell) + + ax.set_xticks([]) + ax.set_yticks([]) + ax.set_xticklabels([]) + ax.set_yticklabels([]) + + plt.title(f'{title}Plot') + + if save_path is not None: + plt.savefig(f"{save_path}/{title.lower().replace(' ', '_')}plot.png", dpi=fig.dpi) + + if show: + plt.show() + else: + plt.close() + + return fig + + def plot_edf(edf_path: str, auto_scale: Optional[bool] = False): """Plot data from the raw edf file. Note: this works from an iPython session but seems to throw errors when provided in a script. diff --git a/symbol_positions.json b/bcipy/parameters/symbol_positions.json similarity index 100% rename from symbol_positions.json rename to bcipy/parameters/symbol_positions.json diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 8bc967c2d..9e5746c49 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -9,7 +9,7 @@ from sklearn.model_selection import train_test_split import bcipy.acquisition.devices as devices -from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, ROOT, +from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, DEFAULT_PARAMETERS_PATH, STATIC_AUDIO_PATH, STATIC_IMAGES_PATH, TRIGGER_FILENAME) from bcipy.helpers.acquisition import analysis_channels, raw_data_filename @@ -22,7 +22,8 @@ from bcipy.helpers.system_utils import report_execution_time from bcipy.helpers.triggers import TriggerType, trigger_decoder from bcipy.helpers.visualization import (visualize_erp, visualize_gaze, - visualize_gaze_inquiries, visualize_centralized_data) + visualize_gaze_inquiries, visualize_centralized_data, + visualize_results_all_symbols) from bcipy.preferences import preferences from bcipy.signal.model.base_model import SignalModel, SignalModelMetadata from bcipy.signal.model.fusion_model import GazeModel, GazeModel_AllSymbols @@ -97,8 +98,6 @@ def analyze_erp(erp_data, parameters, device_spec, data_folder, estimate_balance """ # Extract relevant session information from parameters file trial_window = parameters.get("trial_window") - # This parameter does not exist in parameters files for Multimodal datasets. Adding manually. - # TODO: Update parameters files for multimodal datasets. if trial_window is None: trial_window = [0.0, 0.5] window_length = trial_window[1] - trial_window[0] @@ -307,6 +306,11 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f centralized_data_left = [] centralized_data_right = [] test_dict = {} + + left_eye_all = [] + right_eye_all = [] + means_all = [] + covs_all = [] for sym in symbol_set: le = preprocessed_data[sym][0] re = preprocessed_data[sym][1] @@ -321,7 +325,7 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f # Centralize the data using symbol positions: # Load json file. # TODO: move this to a helper function, or get the symbol positions from the build_grid method - with open(f"{ROOT}/symbol_positions.json", 'r') as params_file: + with open(f"{DEFAULT_PARAMETERS_PATH}/symbol_positions.json", 'r') as params_file: symbol_positions = json.load(params_file) # Subtract the symbol positions from the data: centralized_data_left.append(model.reshaper.centralize_all_data(train_le, symbol_positions[sym])) @@ -342,6 +346,10 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f show=show_figures, raw_plot=True, ) + left_eye_all.append(le) + right_eye_all.append(re) + means_all.append(means) + covs_all.append(covs) if model_type == "Centralized": # Model 2: Fit Gaussian mixture (comp=1) on a centralized data @@ -374,6 +382,18 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f show=show_figures, raw_plot=True, ) + left_eye_all.append(le) + right_eye_all.append(re) + means_all.append(means) + covs_all.append(covs) + + fig_handles = visualize_results_all_symbols( + left_eye_all, right_eye_all, + means_all, covs_all, + save_path=None, + show=True, + raw_plot=True, + ) model.metadata = SignalModelMetadata(device_spec=device_spec, transform=None) @@ -445,7 +465,7 @@ def offline_analysis( if device_spec.content_type == "Eyetracker": analyze_gaze(raw_data, device_spec, data_folder, save_figures, show_figures, - model_type="Centralized") + model_type="Individual") if alert_finished: play_sound(f"{STATIC_AUDIO_PATH}/{parameters['alert_sound_file']}") @@ -466,7 +486,7 @@ def offline_analysis( parser.set_defaults(alert=False) parser.set_defaults(balanced=False) parser.set_defaults(save_figures=False) - parser.set_defaults(show_figures=True) + parser.set_defaults(show_figures=False) args = parser.parse_args() log.info(f"Loading params from {args.parameters_file}") From 6df9ee8ae83402f693e856a3972536dd1992dff1 Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Mon, 6 Nov 2023 12:12:23 -0500 Subject: [PATCH 138/330] Offline analysis bug fix --- bcipy/helpers/visualization.py | 1 + bcipy/signal/model/offline_analysis.py | 36 +++++++++++++------------- 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index 63ab10ce5..e1ff25ea2 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -488,6 +488,7 @@ def visualize_results_all_symbols( if means is not None: means[:, 0] = np.clip(means[:, 0], 0, 1) means[:, 1] = np.clip(means[:, 1], 0, 1) + means[:, 1] = 1 - means[:, 1] if heatmap: # create a dataframe making a column for each x, y pair for both eyes and diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 9e5746c49..0aa5746cd 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -9,7 +9,7 @@ from sklearn.model_selection import train_test_split import bcipy.acquisition.devices as devices -from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, +from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, BCIPY_ROOT, DEFAULT_PARAMETERS_PATH, STATIC_AUDIO_PATH, STATIC_IMAGES_PATH, TRIGGER_FILENAME) from bcipy.helpers.acquisition import analysis_channels, raw_data_filename @@ -325,7 +325,7 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f # Centralize the data using symbol positions: # Load json file. # TODO: move this to a helper function, or get the symbol positions from the build_grid method - with open(f"{DEFAULT_PARAMETERS_PATH}/symbol_positions.json", 'r') as params_file: + with open(f"{BCIPY_ROOT}/parameters/symbol_positions.json", 'r') as params_file: symbol_positions = json.load(params_file) # Subtract the symbol positions from the data: centralized_data_left.append(model.reshaper.centralize_all_data(train_le, symbol_positions[sym])) @@ -339,13 +339,13 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f scores, means, covs = model.get_scores(test_re) # Visualize the results: - figure_handles = visualize_gaze_inquiries( - le, re, - means, covs, - save_path=None, - show=show_figures, - raw_plot=True, - ) + # figure_handles = visualize_gaze_inquiries( + # le, re, + # means, covs, + # save_path=None, + # show=show_figures, + # raw_plot=True, + # ) left_eye_all.append(le) right_eye_all.append(re) means_all.append(means) @@ -375,13 +375,13 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f le = preprocessed_data[sym][0] re = preprocessed_data[sym][1] # Visualize the results: - figure_handles = visualize_gaze_inquiries( - le, re, - means, covs, - save_path=None, - show=show_figures, - raw_plot=True, - ) + # figure_handles = visualize_gaze_inquiries( + # le, re, + # means, covs, + # save_path=None, + # show=show_figures, + # raw_plot=True, + # ) left_eye_all.append(le) right_eye_all.append(re) means_all.append(means) @@ -465,7 +465,7 @@ def offline_analysis( if device_spec.content_type == "Eyetracker": analyze_gaze(raw_data, device_spec, data_folder, save_figures, show_figures, - model_type="Individual") + model_type="Centralized") if alert_finished: play_sound(f"{STATIC_AUDIO_PATH}/{parameters['alert_sound_file']}") @@ -486,7 +486,7 @@ def offline_analysis( parser.set_defaults(alert=False) parser.set_defaults(balanced=False) parser.set_defaults(save_figures=False) - parser.set_defaults(show_figures=False) + parser.set_defaults(show_figures=True) args = parser.parse_args() log.info(f"Loading params from {args.parameters_file}") From c2f23aec85882092a66c1727184872382cf5b195 Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Mon, 6 Nov 2023 12:15:24 -0500 Subject: [PATCH 139/330] Linting --- bcipy/signal/model/offline_analysis.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 0aa5746cd..100c34c64 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -22,7 +22,7 @@ from bcipy.helpers.system_utils import report_execution_time from bcipy.helpers.triggers import TriggerType, trigger_decoder from bcipy.helpers.visualization import (visualize_erp, visualize_gaze, - visualize_gaze_inquiries, visualize_centralized_data, + visualize_centralized_data, visualize_results_all_symbols) from bcipy.preferences import preferences from bcipy.signal.model.base_model import SignalModel, SignalModelMetadata From 3b94689779bc73b89f793436c98a0f42054fa52b Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 6 Nov 2023 11:44:35 -0800 Subject: [PATCH 140/330] VEP display changes for presenting a target and animating symbols into boxes --- .../display/demo/vep/demo_calibration_vep.py | 11 +- bcipy/display/main.py | 4 +- bcipy/display/paradigm/vep/display.py | 128 ++++++++++++------ bcipy/display/paradigm/vep/layout.py | 29 +++- 4 files changed, 120 insertions(+), 52 deletions(-) diff --git a/bcipy/display/demo/vep/demo_calibration_vep.py b/bcipy/display/demo/vep/demo_calibration_vep.py index cec8e652d..da951a650 100644 --- a/bcipy/display/demo/vep/demo_calibration_vep.py +++ b/bcipy/display/demo/vep/demo_calibration_vep.py @@ -57,8 +57,9 @@ stim_pos=box_config.positions, stim_height=0.1, stim_font=font, - timing=[1, 0.5, 4], # prompt, fixation, stimuli + timing=[4, 0.5, 4], # target, fixation, stimuli stim_length=1, # how many times to stimuli + animation_seconds=1.0 ) task_bar = CalibrationTaskBar(win, inquiry_count=4, @@ -107,10 +108,10 @@ timing += vep.do_inquiry() # show the wait screen, this will only happen once - while wait_seconds > 0: - wait_seconds -= 1 - vep.wait_screen(f"Waiting for {wait_seconds}s", color='white') - core.wait(1) + # while wait_seconds > 0: + # wait_seconds -= 1 + # vep.wait_screen(f"Waiting for {wait_seconds}s", color='white') + # core.wait(1) print(timing) win.close() diff --git a/bcipy/display/main.py b/bcipy/display/main.py index 8512fb98d..ce2cf7b95 100644 --- a/bcipy/display/main.py +++ b/bcipy/display/main.py @@ -272,7 +272,8 @@ def __init__( timing: Tuple[float, float, float] = None, stim_color: List[List[str]] = None, inquiry: List[List[str]] = None, - stim_length: int = 1): + stim_length: int = 1, + animation_seconds: float = 1.0): """Initialize VEP Stimuli Parameters. stim_color(List[str]): Ordered list of colors to apply to VEP stimuli stim_font(str): Font to apply to all VEP stimuli @@ -292,6 +293,7 @@ def __init__( # dynamic properties, must be a a list of lists where each list is a different box self.stim_colors = stim_color self.stim_inquiry = inquiry + self.animation_seconds = animation_seconds def build_init_stimuli(self, window: visual.Window) -> None: """"Build Initial Stimuli.""" diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index 157ce838f..65d5bb35c 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -12,7 +12,8 @@ from bcipy.display.components.layout import envelope, scaled_size from bcipy.display.components.task_bar import TaskBar from bcipy.display.paradigm.matrix.layout import symbol_positions -from bcipy.display.paradigm.vep.layout import BoxConfiguration, checkerboard +from bcipy.display.paradigm.vep.layout import (BoxConfiguration, + animation_path, checkerboard) from bcipy.helpers.clock import Clock from bcipy.helpers.list import expanded from bcipy.helpers.stimuli import resize_image @@ -151,17 +152,18 @@ def __init__( self.stimuli_colors = stimuli.stim_colors self.stimuli_timing = stimuli.stim_timing self.timing_prompt, self.timing_fixation, self.timing_stimuli = stimuli.stim_timing - self.timing_animation = 2 + self.timing_animation = stimuli.animation_seconds self.stimuli_font = stimuli.stim_font self.stimuli_height = stimuli.stim_height self.stimuli_pos = stimuli.stim_pos + self.logger.info(self.stimuli_pos) self.stim_length = stimuli.stim_length - self.logger.info(self.stimuli_pos) - self.check_configuration() + self.should_prompt_target = should_prompt_target self.symbol_set = symbol_set or alphabet() self.sort_order = self.symbol_set.index + self.check_configuration() # Build starting list of symbols display_container = layout.centered(parent=self.window, width_pct=0.7) @@ -195,6 +197,7 @@ def __init__( # build the VEP stimuli if not codes: codes = create_vep_codes(length=self.refresh_rate, count=self.vep_type) + self.logger.info(f"VEP Codes: {codes}") vep_colors = [('white', 'black'), ('red', 'green'), ('blue', 'yellow'), ('orange', 'green')] vep_stim_size = scaled_size(0.2, self.window_size) self.vep = self.build_vep_stimuli(positions=box_config.positions, @@ -204,7 +207,15 @@ def __init__( num_squares=25) self.text_boxes = self._build_text_boxes(box_config) - self.should_prompt_target = should_prompt_target + + @property + def box_colors(self) -> List[str]: + """Get the colors used for boxes""" + if self.should_prompt_target: + [_target_color, _fixation_color, *colors] = self.stimuli_colors + else: + [_fixation_color, *colors] = self.stimuli_colors + return colors def check_configuration(self): """Check that configured properties are consistent""" @@ -212,16 +223,6 @@ def check_configuration(self): self.stimuli_pos) == self.vep_type, ( f"stimuli position {len(self.stimuli_pos)} must be the same length as vep type {self.vep_type}") - def do_fixation(self, fixation: StimProps) -> None: - """Draw fixation cross""" - duration = fixation.duration or self.timing_fixation - self.fixation.text = fixation.symbol - self.fixation.color = fixation.color - self.fixation.draw() - self.draw_static() - self.window.flip() - core.wait(duration) - def stim_properties(self) -> List[StimProps]: """Returns a tuple of (symbol, duration, and color) for each stimuli, including the target and fixation stim. Stimuli that represent VEP @@ -244,11 +245,16 @@ def do_inquiry(self) -> List[float]: if self.first_run: self._trigger_pulse() + self._reset_text_boxes() + self.reset_symbol_positions() + if self.should_prompt_target: [target, fixation, *stim] = self.stim_properties() + self.set_stimuli_colors(stim) self.prompt_target(target) else: [fixation, *stim] = self.stim_properties() + self.set_stimuli_colors(stim) # fixation --> animation / prompting --> VEP stimulate self.do_fixation(fixation) @@ -261,6 +267,10 @@ def do_inquiry(self) -> List[float]: return self._timing + def starting_position(self, sym: str) -> Tuple[float, float]: + """Get the starting position for the given symbol""" + pos_index = self.sort_order(sym) + return self.starting_positions[pos_index] def prompt_target(self, target: StimProps) -> float: """Present the target for the configured length of time. Records the @@ -270,17 +280,48 @@ def prompt_target(self, target: StimProps) -> float: ---------- target - (symbol, duration, color) tuple """ - # register any timing and marker callbacks + + # Show all symbols in the matrix at reduced opacity + for sym in self.symbol_set: + pos_index = self.sort_order(sym) + sti = self.sti[sym] + sti.pos = self.starting_positions[pos_index] + sti.setOpacity(0.25) + sti.draw() + self.draw_static() + self.draw_boxes() + + # pause for a time + self.window.flip() + core.wait(target.duration / 2) + + # highlight target self.window.callOnFlip(self.add_timing, target.symbol) - stim = visual.TextStim(self.window, - text=target.symbol, - color=target.color, - height=self.stimuli_height, - pos=[0, 0]) - stim.draw() + target_stim = self.sti[target.symbol] + target_stim.setOpacity(1) + + for sti in self.sti.values(): + sti.draw() + self.draw_static() + self.draw_boxes() + self.window.flip() - core.wait(target.duration) + core.wait(target.duration / 2) + + def do_fixation(self, fixation: StimProps) -> None: + """Show all boxes at full opacity before animating.""" + duration = fixation.duration or self.timing_fixation + + for sym in self.symbol_set: + sti = self.sti[sym] + sti.setOpacity(1.0) + sti.draw() + + self.draw_static() + self.draw_boxes() + self.window.flip() + core.wait(duration) def animate_inquiry(self, stimuli: List[StimProps]) -> None: """Display the inquiry. @@ -290,10 +331,8 @@ def animate_inquiry(self, stimuli: List[StimProps]) -> None: """ self.window.callOnFlip(self.add_timing, 'VEP_INQ_ANIMATION') - self._reset_text_boxes() - self.reset_symbol_positions() self.set_stimuli_colors(stimuli) - self.draw_animation() + self.draw_animation(stimuli) self._set_inquiry(stimuli) self.window.callOnFlip(self.add_timing, 'VEP_INQUIRY') @@ -310,22 +349,31 @@ def set_stimuli_colors(self, stim_groups: List[StimProps]) -> None: for sym in group.symbol: self.sti[sym].color = group.color - def draw_animation(self) -> None: + def draw_animation(self, stimuli: List[StimProps]) -> None: """Draw the stimuli animation. - TODO: animate the symbols moving to their end positions - - determine the number of frames in self.timing_animation seconds - - calculate end positions for each symbol (using symbol_positions with each box as the layout) - - compute the intermediate positions (line trajectory of each symbol) - - update position on each tick + Parameters + ---------- + stimuli - information about each symbol's destination. """ + frames = int(self.refresh_rate * self.timing_animation) + # Compute intermediate positions + animation_paths = {} + for i, stim_props in enumerate(stimuli): + end_pos = self.text_boxes[i].pos + for sym in stim_props.symbol: + start_pos = self.starting_position(sym) + animation_paths[sym] = animation_path(start_pos, end_pos, frames) + self.static_clock.reset() while self.static_clock.getTime() < self.timing_animation: - self.draw_boxes() - for sti in self.sti.values(): - sti.draw() - self.draw_static() - self.window.flip() + for frame in range(frames): + self.draw_boxes() + for sym, sti in self.sti.items(): + sti.pos = animation_paths[sym][frame] + sti.draw() + self.draw_static() + self.window.flip() def draw_boxes(self) -> None: """Draw the text boxes under VEP stimuli.""" @@ -344,10 +392,10 @@ def stimulate(self) -> None: self.static_clock.reset() while self.static_clock.getTime() < self.timing_stimuli: for frame in range(self.refresh_rate): + self.draw_boxes() for stim in self.vep: stim.render_frame(frame) - self.draw_boxes() # self.draw_static() self.window.flip() ended_at = self.static_clock.getTime() @@ -476,10 +524,10 @@ def _build_text_boxes(self, box_config: BoxConfiguration) -> List[visual.TextBox size=size, alignment='center', anchor='center', - borderWidth=2, + borderWidth=4, borderColor=color, letterHeight=self.stimuli_height) - for pos, color in zip(positions, cycle(self.stimuli_colors)) + for pos, color in zip(positions, cycle(self.box_colors)) ] def _reset_text_boxes(self) -> None: diff --git a/bcipy/display/paradigm/vep/layout.py b/bcipy/display/paradigm/vep/layout.py index c89af8308..142fd444b 100644 --- a/bcipy/display/paradigm/vep/layout.py +++ b/bcipy/display/paradigm/vep/layout.py @@ -165,9 +165,26 @@ def positions(self) -> List[Tuple]: left = right_of(layout.left, width / 2) right = left_of(layout.right, width / 2) - positions = [(left, top), (right, top), (left, bottom), - (right, bottom)] - if self.num_boxes == 6: - positions += [(layout.horizontal_middle, top), - (layout.horizontal_middle, bottom)] - return positions + + if self.num_boxes == 4: + return [(left, top), (right, top), (left, bottom), (right, bottom)] + + middle = layout.horizontal_middle + return [(left, top), (middle, top), (right, top), + (left, bottom), (middle, bottom), (right, bottom)] + + +def animation_path(start_pos: Tuple[float, float], end_pos: Tuple[float, + float], + frames: int) -> List[Tuple[float, float]]: + """Computes the animation path from start_pos to end_pos""" + x1, y1 = start_pos + x2, y2 = end_pos + xdiff = x2 - x1 + ydiff = y2 - y1 + positions = [] + for i in range(frames): + from_start = (i + 1) / frames + pos = (x1 + (from_start * xdiff), y1 + (from_start * ydiff)) + positions.append(pos) + return positions \ No newline at end of file From 0956e74c29aef1e0627261cb21e5b8dfd8754f0e Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 6 Nov 2023 15:42:41 -0800 Subject: [PATCH 141/330] Added code to highlight the box with the target symbol and de-emphasize the rest --- .../display/demo/vep/demo_calibration_vep.py | 2 +- bcipy/display/paradigm/vep/display.py | 56 +++++++++++++++---- 2 files changed, 46 insertions(+), 12 deletions(-) diff --git a/bcipy/display/demo/vep/demo_calibration_vep.py b/bcipy/display/demo/vep/demo_calibration_vep.py index da951a650..7a6da066b 100644 --- a/bcipy/display/demo/vep/demo_calibration_vep.py +++ b/bcipy/display/demo/vep/demo_calibration_vep.py @@ -48,7 +48,7 @@ ] layout = centered(width_pct=0.95, height_pct=0.80) -box_config = BoxConfiguration(layout, num_boxes=num_boxes) +box_config = BoxConfiguration(layout, num_boxes=num_boxes, height_pct=0.30) experiment_clock = Clock() len_stimuli = 10 diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index 65d5bb35c..a7fd098a8 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -199,13 +199,13 @@ def __init__( codes = create_vep_codes(length=self.refresh_rate, count=self.vep_type) self.logger.info(f"VEP Codes: {codes}") vep_colors = [('white', 'black'), ('red', 'green'), ('blue', 'yellow'), ('orange', 'green')] - vep_stim_size = scaled_size(0.2, self.window_size) + vep_stim_size = scaled_size(0.24, self.window_size) self.vep = self.build_vep_stimuli(positions=box_config.positions, codes=codes, colors=cycle(vep_colors), stim_size=vep_stim_size, num_squares=25) - + self.box_border_width = 4 self.text_boxes = self._build_text_boxes(box_config) @property @@ -237,6 +237,13 @@ def stim_properties(self) -> List[StimProps]: self.stimuli_colors) ] + def box_index(self, stim_groups: List[StimProps], sym: str) -> int: + """Box index for the given symbol""" + for i, group in enumerate(stim_groups): + if sym in group.symbol: + return i + raise Exception(f"Symbol not found: {sym}") + def do_inquiry(self) -> List[float]: """Do the inquiry.""" self.reset_timing() @@ -251,14 +258,14 @@ def do_inquiry(self) -> List[float]: if self.should_prompt_target: [target, fixation, *stim] = self.stim_properties() self.set_stimuli_colors(stim) - self.prompt_target(target) + self.prompt_target(target, target_box_index=self.box_index(stim, target.symbol)) else: [fixation, *stim] = self.stim_properties() self.set_stimuli_colors(stim) - # fixation --> animation / prompting --> VEP stimulate - self.do_fixation(fixation) + # self.do_fixation(fixation) self.animate_inquiry(stim) + core.wait(self.timing_fixation) self.stimulate() # clear everything expect static stimuli @@ -272,7 +279,7 @@ def starting_position(self, sym: str) -> Tuple[float, float]: pos_index = self.sort_order(sym) return self.starting_positions[pos_index] - def prompt_target(self, target: StimProps) -> float: + def prompt_target(self, target: StimProps, target_box_index: int = None) -> float: """Present the target for the configured length of time. Records the stimuli timing information. @@ -286,7 +293,7 @@ def prompt_target(self, target: StimProps) -> float: pos_index = self.sort_order(sym) sti = self.sti[sym] sti.pos = self.starting_positions[pos_index] - sti.setOpacity(0.25) + sti.setOpacity(0.5) sti.draw() self.draw_static() self.draw_boxes() @@ -303,25 +310,50 @@ def prompt_target(self, target: StimProps) -> float: for sti in self.sti.values(): sti.draw() + if target_box_index: + self.highlight_target_box(target_box_index) + self.draw_static() self.draw_boxes() self.window.flip() core.wait(target.duration / 2) + def highlight_target_box(self, target_box_index: int) -> None: + """Emphasize the box at the given index""" + for i, box in enumerate(self.text_boxes): + if i == target_box_index: + box.borderWidth = self.box_border_width + 4 + box.setOpacity(1.0) + else: + box.borderWidth = self.box_border_width - 2 + box.setOpacity(0.8) + def do_fixation(self, fixation: StimProps) -> None: - """Show all boxes at full opacity before animating.""" + """Show all symbols before animating.""" duration = fixation.duration or self.timing_fixation + starting_opacity = {} for sym in self.symbol_set: sti = self.sti[sym] + starting_opacity[sym] = sti.opacity sti.setOpacity(1.0) sti.draw() + self.draw_static() + self.draw_boxes() + self.window.flip() + core.wait(duration / 2) + # reset to starting opacity + for sym in self.symbol_set: + sti = self.sti[sym] + sti.setOpacity(starting_opacity[sym]) + sti.draw() self.draw_static() self.draw_boxes() self.window.flip() - core.wait(duration) + core.wait(duration / 2) + def animate_inquiry(self, stimuli: List[StimProps]) -> None: """Display the inquiry. @@ -340,7 +372,7 @@ def animate_inquiry(self, stimuli: List[StimProps]) -> None: self.draw_boxes() self.draw_static() self.window.flip() - core.wait(self.timing_prompt) + def set_stimuli_colors(self, stim_groups: List[StimProps]) -> None: """Update the colors of the stimuli associated with each symbol to @@ -524,7 +556,7 @@ def _build_text_boxes(self, box_config: BoxConfiguration) -> List[visual.TextBox size=size, alignment='center', anchor='center', - borderWidth=4, + borderWidth=self.box_border_width, borderColor=color, letterHeight=self.stimuli_height) for pos, color in zip(positions, cycle(self.box_colors)) @@ -537,6 +569,8 @@ def _reset_text_boxes(self) -> None: """ for text_box in self.text_boxes: text_box.setText(' ') + text_box.setOpacity(1.0) + text_box.borderWidth = self.box_border_width def _set_inquiry(self, stimuli: List[StimProps]) -> List[visual.TextBox2]: """Set the correct inquiry text for each text boxes. From 53724451436fadff2853fd2d4b64f820f3b80c10 Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 13 Nov 2023 16:53:01 -0800 Subject: [PATCH 142/330] Fix typing issues --- bcipy/display/components/layout.py | 2 +- .../display/demo/vep/demo_calibration_vep.py | 104 ++++++++------ bcipy/display/main.py | 23 ++- bcipy/display/paradigm/vep/display.py | 136 ++++++++++-------- bcipy/display/paradigm/vep/layout.py | 5 +- 5 files changed, 149 insertions(+), 121 deletions(-) diff --git a/bcipy/display/components/layout.py b/bcipy/display/components/layout.py index 1ad8692a3..759d9eebd 100644 --- a/bcipy/display/components/layout.py +++ b/bcipy/display/components/layout.py @@ -121,7 +121,7 @@ def __init__(self, top: float = DEFAULT_TOP, right: float = DEFAULT_RIGHT, bottom: float = DEFAULT_BOTTOM, - units: float = "norm"): + units: str = "norm"): self.units = units self.parent = parent self.top = top diff --git a/bcipy/display/demo/vep/demo_calibration_vep.py b/bcipy/display/demo/vep/demo_calibration_vep.py index 7a6da066b..f1289285c 100644 --- a/bcipy/display/demo/vep/demo_calibration_vep.py +++ b/bcipy/display/demo/vep/demo_calibration_vep.py @@ -1,7 +1,7 @@ +"""Demo VEP display""" import logging import sys - -from psychopy import core +from typing import Any, List from bcipy.display import (InformationProperties, VEPStimuliProperties, init_display_window) @@ -26,7 +26,7 @@ info_text=['VEP Display Demo'], ) -task_text = ['1/4', '2/4', '3/4', '4/4'] +task_text = ['1/3', '2/3', '3/3'] num_boxes = 6 window_parameters = { @@ -46,72 +46,88 @@ 'green', 'red', '#00FF80', '#FFFFB3', '#CB99FF', '#FB8072', '#80B1D3', '#FF8232' ] - +codes = [[ + 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, + 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, + 0, 1, 0, 0, 1, 1, 1, 0, 1, 0 +], + [ + 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, + 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, + 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 +], + [ + 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, + 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, + 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0 +], + [ + 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, + 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, + 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1 +], + [ + 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, + 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, + 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1 +], + [ + 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, + 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0 +]] layout = centered(width_pct=0.95, height_pct=0.80) box_config = BoxConfiguration(layout, num_boxes=num_boxes, height_pct=0.30) experiment_clock = Clock() len_stimuli = 10 stim_props = VEPStimuliProperties( - stim_color=stim_color, + stim_font=font, stim_pos=box_config.positions, stim_height=0.1, - stim_font=font, timing=[4, 0.5, 4], # target, fixation, stimuli + stim_color=stim_color, + inquiry=[], stim_length=1, # how many times to stimuli - animation_seconds=1.0 -) -task_bar = CalibrationTaskBar(win, - inquiry_count=4, - current_index=0, - font=font) + animation_seconds=1.0) +task_bar = CalibrationTaskBar(win, inquiry_count=3, current_index=0, font=font) vep = VEPDisplay(win, experiment_clock, stim_props, task_bar, info, box_config=box_config, + codes=codes, should_prompt_target=True) wait_seconds = 2 -inquiries = [['U', - '+', - ['C', 'M', 'S'], - ['D', 'P', 'X', '_'], - ['L', 'U', 'Y'], - ['E', 'K', 'O'], - ['<', 'A', 'F', 'H', 'I', 'J', 'N', 'Q', 'R', 'V', 'Z'], - ['B', 'G', 'T', 'W']], - ['D', - '+', - ['O', 'X'], - ['D'], - ['P', 'U'], - ['<', 'B', 'E', 'G', 'H', 'J', 'K', 'L', 'R', 'T'], - ['A', 'C', 'F', 'I', 'M', 'N', 'Q', 'V', 'Y', '_'], - ['S', 'W', 'Z']], - ['S', - '+', - ['A', 'J', 'K', 'T', 'V', 'W'], - ['S'], - ['_'], - ['E', 'G', 'M', 'R'], - ['<', 'B', 'C', 'D', 'H', 'I', 'L', 'N', 'O', 'P', 'Q', 'U', 'X', 'Z'], - ['F', 'Y']]] +inquiries: List[List[Any]] = [[ + 'U', '+', ['C', 'M', 'S'], ['D', 'P', 'X', '_'], ['L', 'U', 'Y'], + ['E', 'K', 'O'], ['<', 'A', 'F', 'H', 'I', 'J', 'N', 'Q', 'R', 'V', 'Z'], + ['B', 'G', 'T', 'W'] +], + [ + 'D', '+', ['O', 'X'], ['D'], ['P', 'U'], + ['<', 'B', 'E', 'G', 'H', 'J', 'K', 'L', 'R', 'T'], + ['A', 'C', 'F', 'I', 'M', 'N', 'Q', 'V', 'Y', '_'], + ['S', 'W', 'Z'] +], + [ + 'S', '+', ['A', 'J', 'K', 'T', 'V', 'W'], ['S'], ['_'], + ['E', 'G', 'M', 'R'], + [ + '<', 'B', 'C', 'D', 'H', 'I', 'L', 'N', 'O', 'P', 'Q', + 'U', 'X', 'Z' + ], ['F', 'Y'] +]] timing = [] # loop over the text and colors, present the stimuli and record the timing for i, txt in enumerate(task_text): vep.update_task_bar(txt) - - vep.schedule_to(stimuli=inquiries[i]) + inq = inquiries[i] + vep.schedule_to(stimuli=inq) timing += vep.do_inquiry() - # show the wait screen, this will only happen once - # while wait_seconds > 0: - # wait_seconds -= 1 - # vep.wait_screen(f"Waiting for {wait_seconds}s", color='white') - # core.wait(1) - print(timing) win.close() diff --git a/bcipy/display/main.py b/bcipy/display/main.py index ce2cf7b95..df00651ca 100644 --- a/bcipy/display/main.py +++ b/bcipy/display/main.py @@ -1,6 +1,6 @@ from abc import ABC, abstractmethod from logging import Logger -from typing import List, Tuple, Union +from typing import Any, List, Tuple, Union from psychopy import visual @@ -32,7 +32,7 @@ def do_inquiry(self) -> List[float]: ... @abstractmethod - def wait_screen(self) -> None: + def wait_screen(self, *args, **kwargs) -> None: """Wait Screen. Define what happens on the screen when a user pauses a session. @@ -264,16 +264,15 @@ def __init__( class VEPStimuliProperties(StimuliProperties): - def __init__( - self, - stim_font: str, - stim_pos: List[Tuple[float, float]], - stim_height: float, - timing: Tuple[float, float, float] = None, - stim_color: List[List[str]] = None, - inquiry: List[List[str]] = None, - stim_length: int = 1, - animation_seconds: float = 1.0): + def __init__(self, + stim_font: str, + stim_pos: List[Tuple[float, float]], + stim_height: float, + timing: List[float], + stim_color: List[str], + inquiry: List[List[Any]], + stim_length: int = 1, + animation_seconds: float = 1.0): """Initialize VEP Stimuli Parameters. stim_color(List[str]): Ordered list of colors to apply to VEP stimuli stim_font(str): Font to apply to all VEP stimuli diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index a7fd098a8..ecabce8c2 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -1,6 +1,7 @@ import logging from itertools import cycle -from typing import List, NamedTuple, Optional, Tuple, Union +from typing import (Any, Dict, Iterable, List, NamedTuple, Optional, Tuple, + Union) import numpy as np from psychopy import core, visual @@ -20,6 +21,9 @@ from bcipy.helpers.symbols import alphabet from bcipy.helpers.triggers import _calibration_trigger +# Should only be two elements, but a list rather than a Tuple +StimTime = List[Union[str, float]] + def create_vep_codes(length=32, count=4) -> List[List[int]]: """Create a list of random VEP codes. @@ -32,12 +36,14 @@ def create_vep_codes(length=32, count=4) -> List[List[int]]: np.random.seed(1) return [np.random.randint(2, size=length) for _ in range(count)] + class StimProps(NamedTuple): """Represents properties of a single symbol (or stim box)""" symbol: Union[str, List[str]] duration: float color: str + class VEPStim: """Represents a checkerboard of squares that can be flashed at a given rate. Flashing is accomplished by inverting the colors of each square. @@ -126,25 +132,26 @@ def frame_off(self) -> None: class VEPDisplay(Display): """Display for VEP paradigm""" - def __init__( - self, - window: visual.Window, - experiment_clock: Clock, - stimuli: VEPStimuliProperties, - task_bar: TaskBar, - info: InformationProperties, - trigger_type: str = 'text', - symbol_set: Optional[List[str]] = None, - codes: List[int] = None, - box_config: BoxConfiguration = None, - should_prompt_target: bool = True): + def __init__(self, + window: visual.Window, + experiment_clock: Clock, + stimuli: VEPStimuliProperties, + task_bar: TaskBar, + info: InformationProperties, + box_config: BoxConfiguration, + trigger_type: str = 'text', + symbol_set: Optional[List[str]] = None, + codes: Optional[List[List[int]]] = None, + should_prompt_target: bool = True): self.window = window + frame_rate = self.window.getActualFrameRate() + assert frame_rate, 'An accurate window frame rate could not be established' self.window_size = self.window.size # [w, h] - self.refresh_rate = round(window.getActualFrameRate()) + self.refresh_rate = round(frame_rate) self.logger = logging.getLogger(__name__) # number of VEP text areas - self.vep_type = box_config.num_boxes + self.vep_type: int = box_config.num_boxes # Stimuli parameters, these are set on display in order to allow # easy updating after definition @@ -171,7 +178,7 @@ def __init__( rows=3, columns=10) self.logger.info( - f"Symbol starting positions ({display_container.units} units): {self.starting_positions}" + f"Symbol starting positions ({str(display_container.units)} units): {self.starting_positions}" ) self.fixation = self._build_fixation() @@ -181,24 +188,27 @@ def __init__( self.static_clock = core.Clock() # Trigger handling - self.first_stim_time = None + self.first_stim_time: Optional[float] = None self.trigger_type = trigger_type self.experiment_clock = experiment_clock - self._timing = [] + self._timing: List[StimTime] = [] # Callback used on presentation of first stimulus. self.first_run = True self.first_stim_callback = lambda _sti: None - self.size_list_sti = [] + # TODO: needed? + # self.size_list_sti = [] self.task_bar = task_bar self.info_text = info.build_info_text(window) # build the VEP stimuli if not codes: - codes = create_vep_codes(length=self.refresh_rate, count=self.vep_type) + codes = create_vep_codes(length=self.refresh_rate, + count=self.vep_type) self.logger.info(f"VEP Codes: {codes}") - vep_colors = [('white', 'black'), ('red', 'green'), ('blue', 'yellow'), ('orange', 'green')] + vep_colors = [('white', 'black'), ('red', 'green'), ('blue', 'yellow'), + ('orange', 'green')] vep_stim_size = scaled_size(0.24, self.window_size) self.vep = self.build_vep_stimuli(positions=box_config.positions, codes=codes, @@ -219,22 +229,23 @@ def box_colors(self) -> List[str]: def check_configuration(self): """Check that configured properties are consistent""" - assert len( - self.stimuli_pos) == self.vep_type, ( - f"stimuli position {len(self.stimuli_pos)} must be the same length as vep type {self.vep_type}") + assert len(self.stimuli_pos) == self.vep_type, ( + f"stimuli position {len(self.stimuli_pos)} must be the same length as vep type {self.vep_type}" + ) def stim_properties(self) -> List[StimProps]: """Returns a tuple of (symbol, duration, and color) for each stimuli, including the target and fixation stim. Stimuli that represent VEP boxes will have a list of symbols.""" stim_num = len(self.stimuli_inquiry) - assert len(self.stimuli_colors) == stim_num, "Each box should have its own color" + assert len(self.stimuli_colors + ) == stim_num, "Each box should have its own color" return [ - StimProps(*props) - for props in zip(self.stimuli_inquiry, - expanded(list(self.stimuli_timing), length=stim_num), - self.stimuli_colors) + StimProps(*props) for props in zip( + self.stimuli_inquiry, + expanded(list(self.stimuli_timing), length=stim_num), + self.stimuli_colors) ] def box_index(self, stim_groups: List[StimProps], sym: str) -> int: @@ -244,7 +255,7 @@ def box_index(self, stim_groups: List[StimProps], sym: str) -> int: return i raise Exception(f"Symbol not found: {sym}") - def do_inquiry(self) -> List[float]: + def do_inquiry(self) -> List[StimTime]: # type: ignore """Do the inquiry.""" self.reset_timing() @@ -257,8 +268,11 @@ def do_inquiry(self) -> List[float]: if self.should_prompt_target: [target, fixation, *stim] = self.stim_properties() - self.set_stimuli_colors(stim) - self.prompt_target(target, target_box_index=self.box_index(stim, target.symbol)) + if isinstance(target.symbol, str): + self.set_stimuli_colors(stim) + self.prompt_target(target, + target_box_index=self.box_index( + stim, target.symbol)) else: [fixation, *stim] = self.stim_properties() self.set_stimuli_colors(stim) @@ -279,7 +293,9 @@ def starting_position(self, sym: str) -> Tuple[float, float]: pos_index = self.sort_order(sym) return self.starting_positions[pos_index] - def prompt_target(self, target: StimProps, target_box_index: int = None) -> float: + def prompt_target(self, + target: StimProps, + target_box_index: Optional[int] = None) -> None: """Present the target for the configured length of time. Records the stimuli timing information. @@ -287,7 +303,7 @@ def prompt_target(self, target: StimProps, target_box_index: int = None) -> floa ---------- target - (symbol, duration, color) tuple """ - + assert isinstance(target.symbol, str), "Target must be a str" # Show all symbols in the matrix at reduced opacity for sym in self.symbol_set: pos_index = self.sort_order(sym) @@ -354,7 +370,6 @@ def do_fixation(self, fixation: StimProps) -> None: self.window.flip() core.wait(duration / 2) - def animate_inquiry(self, stimuli: List[StimProps]) -> None: """Display the inquiry. @@ -373,7 +388,6 @@ def animate_inquiry(self, stimuli: List[StimProps]) -> None: self.draw_static() self.window.flip() - def set_stimuli_colors(self, stim_groups: List[StimProps]) -> None: """Update the colors of the stimuli associated with each symbol to reflect which box it will be placed in.""" @@ -395,7 +409,8 @@ def draw_animation(self, stimuli: List[StimProps]) -> None: end_pos = self.text_boxes[i].pos for sym in stim_props.symbol: start_pos = self.starting_position(sym) - animation_paths[sym] = animation_path(start_pos, end_pos, frames) + animation_paths[sym] = animation_path(start_pos, end_pos, + frames) self.static_clock.reset() while self.static_clock.getTime() < self.timing_animation: @@ -434,8 +449,8 @@ def stimulate(self) -> None: self.logger.debug( f"Expected stim time: {self.timing_stimuli}; actual run time: {ended_at}" ) - self.logger.debug(f"Average frame duration: {ended_at/self.timing_stimuli}") - + self.logger.debug( + f"Average frame duration: {ended_at/self.timing_stimuli}") def draw_static(self) -> None: """Draw static elements in a stimulus.""" @@ -475,7 +490,7 @@ def _build_fixation(self) -> visual.TextStim: height=self.stimuli_height, pos=[0, 0]) - def _build_inquiry_stimuli(self) -> List[visual.TextStim]: + def _build_inquiry_stimuli(self) -> Dict[str, visual.TextStim]: """Build the inquiry stimuli.""" grid = {} for sym in self.symbol_set: @@ -493,10 +508,9 @@ def reset_symbol_positions(self) -> None: pos_index = self.sort_order(sym) self.sti[sym].pos = self.starting_positions[pos_index] - def build_vep_stimuli(self, - positions: List[Tuple[float, float]], - codes: List[int], - colors: List[Tuple[str]], + def build_vep_stimuli(self, positions: List[Tuple[float, float]], + codes: List[List[int]], colors: Iterable[Tuple[str, + str]], stim_size: Tuple[float, float], num_squares: int) -> List[VEPStim]: """Build the VEP flashing checkerboards""" @@ -520,25 +534,28 @@ def _trigger_pulse(self) -> None: beginning of an experiment. If drift is detected in your experiment, more frequent pulses and offset correction may be required. """ - calibration_time = _calibration_trigger( + calibration_time: StimTime = _calibration_trigger( # type: ignore self.experiment_clock, trigger_type=self.trigger_type, display=self.window) # set the first stim time if not present and first_run to False if not self.first_stim_time: - self.first_stim_time = calibration_time[-1] + self.first_stim_time = calibration_time[-1] # type: ignore self.first_run = False - def schedule_to(self, stimuli: List[List[str]], timing: List[List[float]] - = None, colors: List[List[str]] = None) -> None: + def schedule_to(self, + stimuli: List[List[Any]], + timing: Optional[List[List[float]]] = None, + colors: Optional[List[List[Any]]] = None) -> None: """Schedule stimuli elements (works as a buffer). """ - self.stimuli_inquiry = stimuli + self.stimuli_inquiry = stimuli # type: ignore assert timing is None or timing == self.stimuli_timing, "Timing values must match pre-configured values" assert colors is None or colors == self.stimuli_colors, "Colors must match the pre-configured values" - def _build_text_boxes(self, box_config: BoxConfiguration) -> List[visual.TextBox2]: + def _build_text_boxes( + self, box_config: BoxConfiguration) -> List[visual.TextBox2]: """Build the text boxes for the experiment. These are the areas into which the symbols are partitioned. Each text_box will have an associated VEP Box. @@ -604,20 +621,17 @@ def wait_screen(self, message: str, color: str) -> None: # try adding the BciPy logo to the wait screen try: - wait_logo = visual.ImageStim( - self.window, - image=BCIPY_LOGO_PATH, - pos=(0, .25), - mask=None, - ori=0.0) - wait_logo.size = resize_image( - BCIPY_LOGO_PATH, - self.window.size, - 1) + wait_logo = visual.ImageStim(self.window, + image=BCIPY_LOGO_PATH, + pos=(0, .25), + mask=None, + ori=0.0) + wait_logo.size = resize_image(BCIPY_LOGO_PATH, self.window.size, 1) wait_logo.draw() except Exception as e: - self.logger.exception(f'Cannot load logo image from path=[{BCIPY_LOGO_PATH}]') + self.logger.exception( + f'Cannot load logo image from path=[{BCIPY_LOGO_PATH}]') raise e # Draw and flip the screen. diff --git a/bcipy/display/paradigm/vep/layout.py b/bcipy/display/paradigm/vep/layout.py index 142fd444b..5859831b2 100644 --- a/bcipy/display/paradigm/vep/layout.py +++ b/bcipy/display/paradigm/vep/layout.py @@ -60,7 +60,7 @@ def checkerboard(squares: int, colors: Tuple[str, str], center: Tuple[float, center_x, center_y = center # find the center position of the left_top square - move_count = int(boxes_per_row / 2) + move_count = float(int(boxes_per_row / 2)) if squares % 2 == 0: # with an even number the center is on a vertex; adjust by half a box move_count -= 0.5 @@ -165,7 +165,6 @@ def positions(self) -> List[Tuple]: left = right_of(layout.left, width / 2) right = left_of(layout.right, width / 2) - if self.num_boxes == 4: return [(left, top), (right, top), (left, bottom), (right, bottom)] @@ -187,4 +186,4 @@ def animation_path(start_pos: Tuple[float, float], end_pos: Tuple[float, from_start = (i + 1) / frames pos = (x1 + (from_start * xdiff), y1 + (from_start * ydiff)) positions.append(pos) - return positions \ No newline at end of file + return positions From dca547ca33e04cab34ede03eafcea27b7799a14d Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 13 Nov 2023 16:53:36 -0800 Subject: [PATCH 143/330] Fix issue with VEP stimuli generation --- bcipy/helpers/stimuli.py | 26 ++++-- bcipy/helpers/tests/test_stimuli_vep.py | 106 ++++++++++++++++++++++++ 2 files changed, 123 insertions(+), 9 deletions(-) create mode 100644 bcipy/helpers/tests/test_stimuli_vep.py diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 5af1e5484..8a38ec318 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -1,13 +1,14 @@ import glob import itertools import logging +import math import random import re from abc import ABC, abstractmethod from collections import Counter from enum import Enum from os import path, sep -from typing import Dict, Iterator, List, NamedTuple, Optional, Tuple +from typing import Any, Dict, Iterator, List, NamedTuple, Optional, Tuple from pandas import Series from PIL import Image @@ -1125,15 +1126,18 @@ def generate_vep_calibration_inquiries(alp: List[str], def generate_vep_inquiries(symbols: List[str], num_boxes: int = 6, inquiry_count: int = 20, - is_txt: bool = True): + is_txt: bool = True) -> List[List[Any]]: """Generates inquiries""" fixation = get_fixation(is_txt) target_indices = random_target_positions(inquiry_count, stim_per_inquiry=num_boxes, percentage_without_target=0) - targets = generate_targets(symbols, - inquiry_count, - percentage_without_target=0.0) + + # repeat the symbols as necessary to ensure an adequate size for sampling + # without replacement. + population = symbols * math.ceil(inquiry_count / len(symbols)) + targets = random.sample(population, inquiry_count) + return [[target, fixation] + generate_vep_inquiry(alphabet=symbols, num_boxes=num_boxes, target=target, @@ -1183,6 +1187,10 @@ def stim_per_box(num_symbols: int, # 1, 1, 1, 20, 3, 2], # 1, 1, 1, 4, 21, 0]] + if max_empty_boxes + max_single_sym_boxes >= num_boxes: + max_empty_boxes = 0 + max_single_sym_boxes = num_boxes - 1 + # no more than 1 empty box empty_boxes = [0] * random.choice(range(max_empty_boxes + 1)) @@ -1207,14 +1215,14 @@ def stim_per_box(num_symbols: int, # last box boxes.append(remaining_symbols) - # random.shuffle(boxes) + return sorted(boxes) def generate_vep_inquiry(alphabet: List[str], num_boxes: int = 6, - target: str = None, - target_pos: int = None) -> List[List[str]]: + target: Optional[str] = None, + target_pos: Optional[int] = None) -> List[List[str]]: """Generates a single random inquiry. Parameters @@ -1236,7 +1244,7 @@ def generate_vep_inquiry(alphabet: List[str], """ box_counts = stim_per_box(num_symbols=len(alphabet), num_boxes=num_boxes) - + assert len(box_counts) == num_boxes syms = [sym for sym in alphabet] random.shuffle(syms) diff --git a/bcipy/helpers/tests/test_stimuli_vep.py b/bcipy/helpers/tests/test_stimuli_vep.py new file mode 100644 index 000000000..b3771029f --- /dev/null +++ b/bcipy/helpers/tests/test_stimuli_vep.py @@ -0,0 +1,106 @@ +import unittest + +from bcipy.helpers.stimuli import (generate_vep_calibration_inquiries, + generate_vep_inquiry, stim_per_box) +from bcipy.helpers.symbols import alphabet + + +class SSVEPStimuli(unittest.TestCase): + """Tests for VEP inquiry generation""" + + def test_stim_per_box(self): + """Test number of stimuli per box""" + symbol_count = 27 + for _i in range(10): + counts = stim_per_box(num_symbols=symbol_count, + num_boxes=6, + max_empty_boxes=1, + max_single_sym_boxes=4) + self.assertEqual(symbol_count, sum(counts)) + self.assertTrue( + sum([cnt for cnt in counts if cnt == 1]) <= 4, + "There should be no more than 4 single-symbol boxes") + self.assertTrue( + sum([cnt for cnt in counts if cnt == 0]) <= 1, + "There should be no more than 1 empty box") + + def test_stim_per_box_few_boxes(self): + """Test number of stimuli per box when max values sum to more than the + number of boxes.""" + symbol_count = 27 + for _i in range(10): + counts = stim_per_box(num_symbols=symbol_count, + num_boxes=4, + max_empty_boxes=1, + max_single_sym_boxes=4) + self.assertEqual(symbol_count, sum(counts)) + self.assertTrue( + sum([cnt for cnt in counts if cnt == 1]) <= 3, + "There should be no more than 3 single-symbol boxes") + self.assertTrue( + sum([cnt for cnt in counts if cnt == 0]) == 0, + "There should be no empty boxes") + + def test_stim_per_box_few_boxes_adjusted_params(self): + """Test number of stimuli per box where max values have been + adjusted.""" + symbol_count = 27 + for _i in range(10): + counts = stim_per_box(num_symbols=symbol_count, + num_boxes=4, + max_empty_boxes=1, + max_single_sym_boxes=2) + self.assertEqual(symbol_count, sum(counts)) + self.assertTrue( + sum([cnt for cnt in counts if cnt == 1]) <= 2, + "There should be no more than 2 single-symbol boxes") + self.assertTrue( + sum([cnt for cnt in counts if cnt == 0]) <= 1, + "There should be at most one empty box") + + def test_generate_single_vep_calib_inquiry(self): + """Test generation of a single VEP calibration inquiry""" + symbols = alphabet() + box_count = 6 + inq = generate_vep_inquiry(symbols, + num_boxes=box_count, + target='M', + target_pos=2) + + self.assertEqual(box_count, len(inq)) + self.assertTrue('M' in inq[2]) + self.assertEqual(len(symbols), + sum([len(box_items) for box_items in inq])) + + def test_generate_vep_calibration_inquiries(self): + """Test generate calibration inquiries""" + alp = alphabet() + stim_colors = ['green', 'red', 'blue', 'yellow', 'orange', 'purple'] + stim_timing = [4, 0.5, 4] + schedule = generate_vep_calibration_inquiries( + alp=alp, + timing=stim_timing, + color=stim_colors, + inquiry_count=20, + num_boxes=4) + + self.assertEqual(20, len(schedule.stimuli)) + self.assertEqual(6, len(schedule.stimuli[0])) + for inq in schedule.stimuli: + self.assertEqual(6, len(inq)) + self.assertTrue(isinstance(inq[0], str), + "First item should be the target") + self.assertTrue(isinstance(inq[1], str), + "Second item should be the fixation") + for pos in range(2, 6): + self.assertTrue(isinstance(inq[pos], list), + "Item should be a list of symbols") + + for color in schedule.colors: + self.assertEqual(stim_colors, color) + for timing in schedule.durations: + self.assertEqual(stim_timing, timing) + + +if __name__ == '__main__': + unittest.main() From ac382b73370a873a23973d4a1b25586ed5f05cb2 Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 13 Nov 2023 16:54:16 -0800 Subject: [PATCH 144/330] Add VEP calibration task --- bcipy/task/paradigm/vep/calibration.py | 264 ++++++++++++++++++++++++- bcipy/task/start_task.py | 5 + bcipy/task/task_registry.py | 1 + 3 files changed, 269 insertions(+), 1 deletion(-) diff --git a/bcipy/task/paradigm/vep/calibration.py b/bcipy/task/paradigm/vep/calibration.py index d92240fc9..1feebed74 100644 --- a/bcipy/task/paradigm/vep/calibration.py +++ b/bcipy/task/paradigm/vep/calibration.py @@ -1,5 +1,267 @@ +"""VEP Calibration task-related code""" +from typing import List, Tuple + +from psychopy import core, visual + +from bcipy.acquisition.multimodal import ClientManager +from bcipy.config import TRIGGER_FILENAME, WAIT_SCREEN_MESSAGE +from bcipy.display import InformationProperties, VEPStimuliProperties +from bcipy.display.components.layout import centered +from bcipy.display.components.task_bar import CalibrationTaskBar +from bcipy.display.paradigm.vep.display import VEPDisplay +from bcipy.display.paradigm.vep.layout import BoxConfiguration +from bcipy.helpers.clock import Clock +from bcipy.helpers.parameters import Parameters +from bcipy.helpers.stimuli import (DEFAULT_TEXT_FIXATION, InquirySchedule, + generate_vep_calibration_inquiries) +from bcipy.helpers.symbols import alphabet +from bcipy.helpers.task import get_user_input, trial_complete_message +from bcipy.helpers.triggers import (FlushFrequency, Trigger, TriggerHandler, + TriggerType, convert_timing_triggers, + offset_label) from bcipy.task import Task +def trigger_type(symbol: str, target: str, index: int) -> TriggerType: + """Trigger Type. + + This method is passed to convert_timing_triggers to properly assign TriggerTypes + to the timing of stimuli presented. + """ + if index == 0: + return TriggerType.PROMPT + if symbol == DEFAULT_TEXT_FIXATION: + return TriggerType.FIXATION + if target == symbol: + return TriggerType.TARGET + return TriggerType.NONTARGET + + class VEPCalibrationTask(Task): - """VEP Calibration Task""" \ No newline at end of file + """VEP Calibration Task. + + A task begins setting up variables --> initializing eeg --> + awaiting user input to start --> + setting up stimuli --> highlighting inquiries --> + saving data + + PARAMETERS: + ---------- + win (PsychoPy Display Object) + daq (Data Acquisition Object) + parameters (Dictionary) + file_save (String) + """ + + def __init__(self, win: visual.Window, daq: ClientManager, + parameters: Parameters, file_save: str): + super(VEPCalibrationTask, self).__init__() + self.num_boxes = 6 + self.window = win + self.frame_rate = self.window.getActualFrameRate() + self.parameters = parameters + self.daq = daq + self.static_clock = core.StaticPeriod(screenHz=self.frame_rate) + self.experiment_clock = Clock() + self.buffer_val = parameters['task_buffer_length'] + self.symbol_set = alphabet(parameters) + + self.file_save = file_save + self.trigger_handler = TriggerHandler(self.file_save, TRIGGER_FILENAME, + FlushFrequency.EVERY) + + self.wait_screen_message = WAIT_SCREEN_MESSAGE + self.wait_screen_message_color = parameters['stim_color'] + + self.stim_number = parameters['stim_number'] + + self.timing = [ + parameters['time_prompt'], parameters['time_fixation'], + parameters['time_flash'] + ] + + self.color = [ + parameters['target_color'], parameters['fixation_color'], + '#00FF80', '#FFFFB3', '#CB99FF', '#FB8072', '#80B1D3', '#FF8232' + ] + + self.is_txt_stim = parameters['is_txt_stim'] + self.display = self.init_display() + + def init_display(self) -> VEPDisplay: + """Initialize the display""" + return init_calibration_display(self.parameters, self.window, + self.experiment_clock, self.symbol_set, + self.timing, self.color) + + def generate_stimuli(self) -> InquirySchedule: + """Generates the inquiries to be presented. + Returns: + -------- + tuple( + samples[list[list[str]]]: list of inquiries + timing(list[list[float]]): list of timings + color(list(list[str])): list of colors) + """ + return generate_vep_calibration_inquiries( + alp=self.symbol_set, + timing=self.timing, + color=self.color, + inquiry_count=self.stim_number, + num_boxes=self.num_boxes, + is_txt=self.is_txt_stim) + + def execute(self): + + self.logger.info(f'Starting {self.name()}!') + run = True + + # Check user input to make sure we should be going + if not get_user_input(self.display, + self.wait_screen_message, + self.wait_screen_message_color, + first_run=True): + run = False + + # Wait for a time + core.wait(self.buffer_val) + + # Begin the Experiment + while run: + + # Get inquiry information given stimuli parameters + (stimuli_labels, _timing, _colors) = self.generate_stimuli() + + for inquiry in range(self.stim_number): + + # check user input to make sure we should be going + if not get_user_input(self.display, self.wait_screen_message, + self.wait_screen_message_color): + break + + # update task state + self.display.update_task_bar(str(inquiry + 1)) + + # Draw and flip screen + self.display.draw_static() + self.window.flip() + + self.display.schedule_to(stimuli_labels[inquiry]) + # Schedule a inquiry + + # Wait for a time + core.wait(self.buffer_val) + + # Do the inquiry + timing = self.display.do_inquiry() + + # Write triggers for the inquiry + self.write_trigger_data(timing, (inquiry == 0)) + + # Wait for a time + core.wait(self.buffer_val) + + # Set run to False to stop looping + run = False + + # Say Goodbye! + self.display.info_text = trial_complete_message( + self.window, self.parameters) + self.display.draw_static() + self.window.flip() + + # Allow for some training data to be collected + core.wait(self.buffer_val) + + self.write_offset_trigger() + + return self.file_save + + def write_trigger_data(self, timing: List[Tuple[str, float]], + first_run: bool) -> None: + """Write Trigger Data. + + Using the timing provided from the display and calibration information + from the data acquisition client, write trigger data in the correct + format. + + *Note on offsets*: we write the full offset value which can be used to + transform all stimuli to the time since session start (t = 0) for all + values (as opposed to most system clocks which start much higher). + We do not write the calibration trigger used to generate this offset + from the display. See display _trigger_pulse() for more information. + """ + if first_run: + assert self.display.first_stim_time, "First stim time not set" + triggers = [] + for content_type, client in self.daq.clients_by_type.items(): + label = offset_label(content_type.name) + time = client.offset(self.display.first_stim_time + ) - self.display.first_stim_time + triggers.append(Trigger(label, TriggerType.OFFSET, time)) + self.trigger_handler.add_triggers(triggers) + + # make sure triggers are written for the inquiry + self.trigger_handler.add_triggers( + convert_timing_triggers(timing, timing[0][0], trigger_type)) + + def write_offset_trigger(self) -> None: + """Append an offset value to the end of the trigger file. + """ + assert self.display.first_stim_time, "First stim time not set" + triggers = [] + for content_type, client in self.daq.clients_by_type.items(): + label = offset_label(content_type.name, prefix='daq_sample_offset') + time = client.offset(self.display.first_stim_time) + triggers.append(Trigger(label, TriggerType.SYSTEM, time)) + + self.trigger_handler.add_triggers(triggers) + self.trigger_handler.close() + + def name(self): + return 'VEP Calibration Task' + + +def init_calibration_display(parameters: Parameters, + window, + experiment_clock, + symbol_set, + timing, + colors, + num_boxes=6): + """Initialize the display""" + info = InformationProperties( + info_color=[parameters['info_color']], + info_pos=[(parameters['info_pos_x'], parameters['info_pos_y'])], + info_height=[parameters['info_height']], + info_font=[parameters['font']], + info_text=[parameters['info_text']], + ) + + layout = centered(width_pct=0.95, height_pct=0.80) + box_config = BoxConfiguration(layout, num_boxes=num_boxes, height_pct=0.30) + + stim_props = VEPStimuliProperties(stim_font=parameters['font'], + stim_pos=box_config.positions, + stim_height=0.1, + timing=timing, + stim_color=colors, + inquiry=[], + stim_length=1, + animation_seconds=1.0) + + task_bar = CalibrationTaskBar(window, + inquiry_count=parameters['stim_number'], + current_index=0, + colors=[parameters['task_color']], + font=parameters['font'], + height=parameters['task_height']) + + return VEPDisplay(window, + experiment_clock, + stim_props, + task_bar, + info, + symbol_set=symbol_set, + box_config=box_config, + should_prompt_target=True) diff --git a/bcipy/task/start_task.py b/bcipy/task/start_task.py index 264ca2a20..f6f40872f 100644 --- a/bcipy/task/start_task.py +++ b/bcipy/task/start_task.py @@ -10,6 +10,7 @@ from bcipy.task.paradigm.rsvp.calibration.timing_verification import \ RSVPTimingVerificationCalibration from bcipy.task.paradigm.rsvp.copy_phrase import RSVPCopyPhraseTask +from bcipy.task.paradigm.vep.calibration import VEPCalibrationTask from bcipy.task.task_registry import TaskType @@ -57,6 +58,10 @@ def make_task(display_window, daq, task, parameters, file_save, return MatrixCopyPhraseTask( display_window, daq, parameters, file_save, signal_models, language_model, fake=fake) + + if task is TaskType.VEP_CALIBRATION: + return VEPCalibrationTask(display_window, daq, parameters, file_save) + raise TaskRegistryException( 'The provided experiment type is not registered.') diff --git a/bcipy/task/task_registry.py b/bcipy/task/task_registry.py index 88661f531..661b1d339 100644 --- a/bcipy/task/task_registry.py +++ b/bcipy/task/task_registry.py @@ -37,6 +37,7 @@ class TaskType(AutoNumberEnum): MATRIX_CALIBRATION = 'Matrix Calibration' MATRIX_TIMING_VERIFICATION_CALIBRATION = 'Matrix Time Test Calibration' MATRIX_COPY_PHRASE = 'Matrix Copy Phrase' + VEP_CALIBRATION = 'VEP Calibration' def __init__(self, label): self.label = label From f902e8e7762917aeb4ec0b28e8820dadf92b0d36 Mon Sep 17 00:00:00 2001 From: Carson Reader Date: Tue, 7 Nov 2023 13:06:00 -0800 Subject: [PATCH 145/330] Adds test for InquiryReshaper Ensures that InquiryReshaper works when passed None for it's channel_map --- bcipy/helpers/tests/test_stimuli.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/bcipy/helpers/tests/test_stimuli.py b/bcipy/helpers/tests/test_stimuli.py index 4a21b423b..14a187da7 100644 --- a/bcipy/helpers/tests/test_stimuli.py +++ b/bcipy/helpers/tests/test_stimuli.py @@ -918,6 +918,20 @@ def test_inquiry_reshaper(self): self.assertTrue(reshaped_data.shape == expected_shape) self.assertTrue(np.all(labels == self.true_labels)) + def test_inquiry_reshaper_with_no_channel_map(self): + reshaped_data, labels, _ = InquiryReshaper()( + trial_targetness_label=self.target_info, + timing_info=self.timing_info, + eeg_data=self.eeg, + sample_rate=self.sample_rate, + trials_per_inquiry=self.trials_per_inquiry, + channel_map=None, + poststimulus_length=self.trial_length + ) + expected_shape = (self.n_channel, self.n_inquiry, self.samples_per_inquiry) + self.assertTrue(reshaped_data.shape == expected_shape) + self.assertTrue(np.all(labels == self.true_labels)) + def test_inquiry_reshaper_trial_extraction(self): timing = [[1, 3, 4], [1, 4, 5], [1, 2, 3], [4, 5, 6]] # make a fake eeg data array (n_channels, n_inquiry, n_samples) From 0545cdeaea20250e55964c511b45250280502812 Mon Sep 17 00:00:00 2001 From: Carson Reader Date: Wed, 8 Nov 2023 00:26:01 -0800 Subject: [PATCH 146/330] Adds test for trial reshaper with no channel map --- bcipy/helpers/tests/test_stimuli.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/bcipy/helpers/tests/test_stimuli.py b/bcipy/helpers/tests/test_stimuli.py index 14a187da7..8ac019380 100644 --- a/bcipy/helpers/tests/test_stimuli.py +++ b/bcipy/helpers/tests/test_stimuli.py @@ -854,6 +854,21 @@ def test_trial_reshaper(self): self.assertTrue(np.all(labels == [1, 0, 0])) self.assertTrue(reshaped_trials.shape == expected_shape) + def test_trial_reshaper_with_no_channel_map(self): + sample_rate = 256 + trial_length_s = 0.5 + reshaped_trials, labels = TrialReshaper()( + trial_targetness_label=self.target_info, + timing_info=self.timing_info, + eeg_data=self.eeg, + sample_rate=sample_rate, + channel_map=None, + poststimulus_length=trial_length_s + ) + trial_length_samples = int(sample_rate * trial_length_s) + expected_shape = (self.channel_number, len(self.target_info), trial_length_samples) + self.assertTrue(np.all(labels== [1, 0, 0])) + self.assertTrue(reshaped_trials.shape == expected_shape) class TestInquiryReshaper(unittest.TestCase): From f91c24a3f3fb47d2974cb111614749ba1ad019d7 Mon Sep 17 00:00:00 2001 From: Carson Reader Date: Wed, 8 Nov 2023 14:18:03 -0800 Subject: [PATCH 147/330] Adds test case for invalid alp shape in best_case_rsvp_inq_gen function --- bcipy/helpers/tests/test_stimuli.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/bcipy/helpers/tests/test_stimuli.py b/bcipy/helpers/tests/test_stimuli.py index 8ac019380..103c24088 100644 --- a/bcipy/helpers/tests/test_stimuli.py +++ b/bcipy/helpers/tests/test_stimuli.py @@ -713,6 +713,22 @@ def test_best_case_inquiry_gen(self): self.assertEqual([1] + ([0.2] * n), times[0]) self.assertEqual(['red'] + (['white'] * n), colors[0]) + def test_best_case_inquiry_gen_invalid_alp(self): + """Test best_case_rsvp_inq_gen throws error when passed invalid alp shape""" + alp = ['a', 'b', 'c', 'd'] + session_stimuli = [0.1, 0.1, 0.1, 0.2, 0.2, 0.1, 0.2] + n = 5 + with self.assertRaises(BciPyCoreException, msg='Missing information about the alphabet.'): + best_case_rsvp_inq_gen( + alp=alp, + session_stimuli=session_stimuli, + timing=[1, 0.2], + color=['red', 'white'], + stim_number=1, + stim_length=n, + is_txt=True + ) + def test_best_case_inquiry_gen_with_inq_constants(self): """Test best_case_rsvp_inq_gen with inquiry constants""" From fa13dd66d2566948ae8020732b7bad4e5f909f03 Mon Sep 17 00:00:00 2001 From: Carson Reader Date: Mon, 13 Nov 2023 01:10:50 -0800 Subject: [PATCH 148/330] Fixes formatting in test_stimuli.py --- bcipy/helpers/tests/test_stimuli.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bcipy/helpers/tests/test_stimuli.py b/bcipy/helpers/tests/test_stimuli.py index 103c24088..38c63fcf2 100644 --- a/bcipy/helpers/tests/test_stimuli.py +++ b/bcipy/helpers/tests/test_stimuli.py @@ -883,9 +883,10 @@ def test_trial_reshaper_with_no_channel_map(self): ) trial_length_samples = int(sample_rate * trial_length_s) expected_shape = (self.channel_number, len(self.target_info), trial_length_samples) - self.assertTrue(np.all(labels== [1, 0, 0])) + self.assertTrue(np.all(labels == [1, 0, 0])) self.assertTrue(reshaped_trials.shape == expected_shape) + class TestInquiryReshaper(unittest.TestCase): def setUp(self): From 803e904815a8b97f7c504ea22d317ed67a3a4471 Mon Sep 17 00:00:00 2001 From: Carson Reader Date: Tue, 14 Nov 2023 10:28:39 -0800 Subject: [PATCH 149/330] Adds no cover to untouched branch --- bcipy/helpers/stimuli.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index d4e55dd0a..8ac9393bd 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -221,7 +221,7 @@ def extract_trials( try: new_trials.append(inquiries[:, inquiry_idx, start:end]) - except IndexError: + except IndexError: # pragma: no cover raise BciPyCoreException( f'InquiryReshaper.extract_trials: index out of bounds. \n' f'Inquiry: [{inquiry_idx}] from {start}:{end}. init_time: {time}, ' From 28044b95b216254a4b610291a3fd3944eb48f392 Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Tue, 14 Nov 2023 10:34:48 -0800 Subject: [PATCH 150/330] appease the linter --- bcipy/helpers/stimuli.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 8ac9393bd..e89aa440a 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -221,7 +221,7 @@ def extract_trials( try: new_trials.append(inquiries[:, inquiry_idx, start:end]) - except IndexError: # pragma: no cover + except IndexError: # pragma: no cover raise BciPyCoreException( f'InquiryReshaper.extract_trials: index out of bounds. \n' f'Inquiry: [{inquiry_idx}] from {start}:{end}. init_time: {time}, ' From b89c4fee7188cbe8e81664638c6e549470b54155 Mon Sep 17 00:00:00 2001 From: Carson Reader Date: Tue, 14 Nov 2023 10:51:08 -0800 Subject: [PATCH 151/330] improve variable name --- bcipy/helpers/tests/test_stimuli.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bcipy/helpers/tests/test_stimuli.py b/bcipy/helpers/tests/test_stimuli.py index 38c63fcf2..155fd5b37 100644 --- a/bcipy/helpers/tests/test_stimuli.py +++ b/bcipy/helpers/tests/test_stimuli.py @@ -717,7 +717,7 @@ def test_best_case_inquiry_gen_invalid_alp(self): """Test best_case_rsvp_inq_gen throws error when passed invalid alp shape""" alp = ['a', 'b', 'c', 'd'] session_stimuli = [0.1, 0.1, 0.1, 0.2, 0.2, 0.1, 0.2] - n = 5 + stim_length = 5 with self.assertRaises(BciPyCoreException, msg='Missing information about the alphabet.'): best_case_rsvp_inq_gen( alp=alp, @@ -725,7 +725,7 @@ def test_best_case_inquiry_gen_invalid_alp(self): timing=[1, 0.2], color=['red', 'white'], stim_number=1, - stim_length=n, + stim_length=stim_length, is_txt=True ) From 2352c4615fbbff0fa43a946f213c157d8e5861b0 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 14 Nov 2023 16:21:02 -0800 Subject: [PATCH 152/330] Refactor for clarity; fix typing issues --- bcipy/display/paradigm/vep/codes.py | 16 +++ bcipy/display/paradigm/vep/display.py | 142 +++---------------------- bcipy/display/paradigm/vep/vep_stim.py | 92 ++++++++++++++++ bcipy/helpers/triggers.py | 2 +- bcipy/task/paradigm/vep/calibration.py | 39 +++---- 5 files changed, 138 insertions(+), 153 deletions(-) create mode 100644 bcipy/display/paradigm/vep/codes.py create mode 100644 bcipy/display/paradigm/vep/vep_stim.py diff --git a/bcipy/display/paradigm/vep/codes.py b/bcipy/display/paradigm/vep/codes.py new file mode 100644 index 000000000..1ec003ffd --- /dev/null +++ b/bcipy/display/paradigm/vep/codes.py @@ -0,0 +1,16 @@ +"""Functions related to VEP flash rates""" +from typing import List + +import numpy as np + + +def create_vep_codes(length=32, count=4) -> List[List[int]]: + """Create a list of random VEP codes. + + length - how many bits in each code. This should be greater than or equal to the refresh rate + if using these to flicker. For example, if the refresh rate is 60Hz, then the length should + be at least 60. + count - how many codes to generate, each will be unique. + """ + np.random.seed(1) + return [np.random.randint(2, size=length) for _ in range(count)] diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index ecabce8c2..d587e35ea 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -3,38 +3,28 @@ from typing import (Any, Dict, Iterable, List, NamedTuple, Optional, Tuple, Union) -import numpy as np -from psychopy import core, visual -from psychopy.visual.shape import ShapeStim +from psychopy import core, visual # type: ignore import bcipy.display.components.layout as layout from bcipy.display import (BCIPY_LOGO_PATH, Display, InformationProperties, VEPStimuliProperties) -from bcipy.display.components.layout import envelope, scaled_size +from bcipy.display.components.layout import scaled_size from bcipy.display.components.task_bar import TaskBar from bcipy.display.paradigm.matrix.layout import symbol_positions -from bcipy.display.paradigm.vep.layout import (BoxConfiguration, - animation_path, checkerboard) +from bcipy.display.paradigm.vep.codes import create_vep_codes +from bcipy.display.paradigm.vep.layout import BoxConfiguration, animation_path +from bcipy.display.paradigm.vep.vep_stim import VEPStim from bcipy.helpers.clock import Clock from bcipy.helpers.list import expanded from bcipy.helpers.stimuli import resize_image from bcipy.helpers.symbols import alphabet from bcipy.helpers.triggers import _calibration_trigger -# Should only be two elements, but a list rather than a Tuple -StimTime = List[Union[str, float]] - -def create_vep_codes(length=32, count=4) -> List[List[int]]: - """Create a list of random VEP codes. - - length - how many bits in each code. This should be greater than or equal to the refresh rate - if using these to flicker. For example, if the refresh rate is 60Hz, then the length should - be at least 60. - count - how many codes to generate, each will be unique. - """ - np.random.seed(1) - return [np.random.randint(2, size=length) for _ in range(count)] +class StimTime(NamedTuple): + """Represents the time that the given symbol was displayed""" + symbol: str + time: float class StimProps(NamedTuple): @@ -44,91 +34,6 @@ class StimProps(NamedTuple): color: str -class VEPStim: - """Represents a checkerboard of squares that can be flashed at a given - rate. Flashing is accomplished by inverting the colors of each square. - - Parameters - ---------- - layout - used to build the stimulus - code - A list of integers representing the VEP code for each box - colors - tuple of colors for the checkerboard pattern - center - center position of the checkerboard - size - size of the checkerboard, in layout units - num_squares - number of squares in the checkerboard - """ - - def __init__(self, - win: visual.Window, - code: List[int], - colors: Tuple[str, str], - center: Tuple[float, float], - size: Tuple[float, float], - num_squares: int = 4): - self.window = win - self.code = code - - squares = checkerboard(squares=num_squares, - colors=colors, - center=center, - board_size=size) - board_boundary = envelope(pos=center, size=size) - - frame1_holes = [] - frame2_holes = [] - for square in squares: - square_boundary = envelope(pos=square.pos, size=square.size) - # squares define the holes in the polygon - if square.color == colors[0]: - frame2_holes.append(square_boundary) - elif square.color == colors[1]: - frame1_holes.append(square_boundary) - - # Checkerboard is represented as a polygon with holes, backed by a - # simple square with the alternating color. - # This technique renders more efficiently and scales better than using - # separate shapes (Rect or Gradient) for each square. - background = ShapeStim(self.window, - lineColor=colors[1], - fillColor=colors[1], - vertices=board_boundary) - self.on_stim = [ - background, - # polygon with holes - ShapeStim(self.window, - lineWidth=0, - fillColor=colors[0], - closeShape=True, - vertices=[board_boundary, *frame1_holes]) - ] - self.off_stim = [ - background, - # polygon with holes - ShapeStim(self.window, - lineWidth=0, - fillColor=colors[0], - closeShape=True, - vertices=[board_boundary, *frame2_holes]) - ] - - def render_frame(self, frame: int) -> None: - """Render a given frame number, where frame refers to a code index""" - if self.code[frame] == 1: - self.frame_on() - else: - self.frame_off() - - def frame_on(self) -> None: - """Each square is set to a starting color and draw.""" - for stim in self.on_stim: - stim.draw() - - def frame_off(self) -> None: - """Invert each square from its starting color and draw.""" - for stim in self.off_stim: - stim.draw() - - class VEPDisplay(Display): """Display for VEP paradigm""" @@ -181,7 +86,6 @@ def __init__(self, f"Symbol starting positions ({str(display_container.units)} units): {self.starting_positions}" ) - self.fixation = self._build_fixation() self.starting_color = 'white' self.sti = self._build_inquiry_stimuli() @@ -196,8 +100,6 @@ def __init__(self, # Callback used on presentation of first stimulus. self.first_run = True self.first_stim_callback = lambda _sti: None - # TODO: needed? - # self.size_list_sti = [] self.task_bar = task_bar self.info_text = info.build_info_text(window) @@ -267,14 +169,14 @@ def do_inquiry(self) -> List[StimTime]: # type: ignore self.reset_symbol_positions() if self.should_prompt_target: - [target, fixation, *stim] = self.stim_properties() + [target, _fixation, *stim] = self.stim_properties() if isinstance(target.symbol, str): self.set_stimuli_colors(stim) self.prompt_target(target, target_box_index=self.box_index( stim, target.symbol)) else: - [fixation, *stim] = self.stim_properties() + [_fixation, *stim] = self.stim_properties() self.set_stimuli_colors(stim) # self.do_fixation(fixation) @@ -476,20 +378,12 @@ def add_timing(self, stimuli: str): Useful as a callback function to register a marker at the time it is first displayed.""" - self._timing.append([stimuli, self.experiment_clock.getTime()]) + self._timing.append(StimTime(stimuli, self.experiment_clock.getTime())) def reset_timing(self): """Reset the trigger timing.""" self._timing = [] - def _build_fixation(self) -> visual.TextStim: - """Build the fixation stim""" - return visual.TextStim(self.window, - text='+', - color='red', - height=self.stimuli_height, - pos=[0, 0]) - def _build_inquiry_stimuli(self) -> Dict[str, visual.TextStim]: """Build the inquiry stimuli.""" grid = {} @@ -534,14 +428,12 @@ def _trigger_pulse(self) -> None: beginning of an experiment. If drift is detected in your experiment, more frequent pulses and offset correction may be required. """ - calibration_time: StimTime = _calibration_trigger( # type: ignore - self.experiment_clock, - trigger_type=self.trigger_type, - display=self.window) - - # set the first stim time if not present and first_run to False + trg = _calibration_trigger(self.experiment_clock, + trigger_type=self.trigger_type, + display=self.window) + calibration_time = StimTime(*trg) if not self.first_stim_time: - self.first_stim_time = calibration_time[-1] # type: ignore + self.first_stim_time = calibration_time.time self.first_run = False def schedule_to(self, diff --git a/bcipy/display/paradigm/vep/vep_stim.py b/bcipy/display/paradigm/vep/vep_stim.py new file mode 100644 index 000000000..366f6e836 --- /dev/null +++ b/bcipy/display/paradigm/vep/vep_stim.py @@ -0,0 +1,92 @@ +from typing import List, Tuple + +from psychopy import visual # type: ignore +from psychopy.visual.shape import ShapeStim # type: ignore + +from bcipy.display.components.layout import envelope +from bcipy.display.paradigm.vep.layout import checkerboard + + +class VEPStim: + """Represents a checkerboard of squares that can be flashed at a given + rate. Flashing is accomplished by inverting the colors of each square. + + Parameters + ---------- + layout - used to build the stimulus + code - A list of integers representing the VEP code for each box + colors - tuple of colors for the checkerboard pattern + center - center position of the checkerboard + size - size of the checkerboard, in layout units + num_squares - number of squares in the checkerboard + """ + + def __init__(self, + win: visual.Window, + code: List[int], + colors: Tuple[str, str], + center: Tuple[float, float], + size: Tuple[float, float], + num_squares: int = 4): + self.window = win + self.code = code + + squares = checkerboard(squares=num_squares, + colors=colors, + center=center, + board_size=size) + board_boundary = envelope(pos=center, size=size) + + frame1_holes = [] + frame2_holes = [] + for square in squares: + square_boundary = envelope(pos=square.pos, size=square.size) + # squares define the holes in the polygon + if square.color == colors[0]: + frame2_holes.append(square_boundary) + elif square.color == colors[1]: + frame1_holes.append(square_boundary) + + # Checkerboard is represented as a polygon with holes, backed by a + # simple square with the alternating color. + # This technique renders more efficiently and scales better than using + # separate shapes (Rect or Gradient) for each square. + background = ShapeStim(self.window, + lineColor=colors[1], + fillColor=colors[1], + vertices=board_boundary) + self.on_stim = [ + background, + # polygon with holes + ShapeStim(self.window, + lineWidth=0, + fillColor=colors[0], + closeShape=True, + vertices=[board_boundary, *frame1_holes]) + ] + self.off_stim = [ + background, + # polygon with holes + ShapeStim(self.window, + lineWidth=0, + fillColor=colors[0], + closeShape=True, + vertices=[board_boundary, *frame2_holes]) + ] + + def render_frame(self, frame: int) -> None: + """Render a given frame number, where frame refers to a code index""" + if self.code[frame] == 1: + self.frame_on() + else: + self.frame_off() + + def frame_on(self) -> None: + """Each square is set to a starting color and draw.""" + for stim in self.on_stim: + stim.draw() + + def frame_off(self) -> None: + """Invert each square from its starting color and draw.""" + for stim in self.off_stim: + stim.draw() diff --git a/bcipy/helpers/triggers.py b/bcipy/helpers/triggers.py index 8613a8de8..cf4cf2a40 100644 --- a/bcipy/helpers/triggers.py +++ b/bcipy/helpers/triggers.py @@ -66,7 +66,7 @@ def _calibration_trigger(experiment_clock: Clock, trigger_name: str = 'calibration', trigger_time: float = 1, display=None, - on_trigger=None) -> List[tuple]: + on_trigger=None) -> List: """Calibration Trigger. Outputs triggers for the purpose of calibrating data and stimuli. diff --git a/bcipy/task/paradigm/vep/calibration.py b/bcipy/task/paradigm/vep/calibration.py index 1feebed74..a18110530 100644 --- a/bcipy/task/paradigm/vep/calibration.py +++ b/bcipy/task/paradigm/vep/calibration.py @@ -12,7 +12,7 @@ from bcipy.display.paradigm.vep.layout import BoxConfiguration from bcipy.helpers.clock import Clock from bcipy.helpers.parameters import Parameters -from bcipy.helpers.stimuli import (DEFAULT_TEXT_FIXATION, InquirySchedule, +from bcipy.helpers.stimuli import (InquirySchedule, generate_vep_calibration_inquiries) from bcipy.helpers.symbols import alphabet from bcipy.helpers.task import get_user_input, trial_complete_message @@ -22,19 +22,15 @@ from bcipy.task import Task -def trigger_type(symbol: str, target: str, index: int) -> TriggerType: +def trigger_type(symbol: str, target: str, _index: int) -> TriggerType: """Trigger Type. This method is passed to convert_timing_triggers to properly assign TriggerTypes to the timing of stimuli presented. """ - if index == 0: - return TriggerType.PROMPT - if symbol == DEFAULT_TEXT_FIXATION: - return TriggerType.FIXATION if target == symbol: return TriggerType.TARGET - return TriggerType.NONTARGET + return TriggerType.EVENT class VEPCalibrationTask(Task): @@ -112,7 +108,7 @@ def generate_stimuli(self) -> InquirySchedule: is_txt=self.is_txt_stim) def execute(self): - + """Main task loop""" self.logger.info(f'Starting {self.name()}!') run = True @@ -133,7 +129,6 @@ def execute(self): (stimuli_labels, _timing, _colors) = self.generate_stimuli() for inquiry in range(self.stim_number): - # check user input to make sure we should be going if not get_user_input(self.display, self.wait_screen_message, self.wait_screen_message_color): @@ -147,7 +142,7 @@ def execute(self): self.window.flip() self.display.schedule_to(stimuli_labels[inquiry]) - # Schedule a inquiry + # Schedule an inquiry # Wait for a time core.wait(self.buffer_val) @@ -156,7 +151,7 @@ def execute(self): timing = self.display.do_inquiry() # Write triggers for the inquiry - self.write_trigger_data(timing, (inquiry == 0)) + self.write_trigger_data(timing, first_run=(inquiry == 0)) # Wait for a time core.wait(self.buffer_val) @@ -172,7 +167,6 @@ def execute(self): # Allow for some training data to be collected core.wait(self.buffer_val) - self.write_offset_trigger() return self.file_save @@ -184,30 +178,21 @@ def write_trigger_data(self, timing: List[Tuple[str, float]], Using the timing provided from the display and calibration information from the data acquisition client, write trigger data in the correct format. - - *Note on offsets*: we write the full offset value which can be used to - transform all stimuli to the time since session start (t = 0) for all - values (as opposed to most system clocks which start much higher). - We do not write the calibration trigger used to generate this offset - from the display. See display _trigger_pulse() for more information. """ + triggers = [] if first_run: assert self.display.first_stim_time, "First stim time not set" - triggers = [] for content_type, client in self.daq.clients_by_type.items(): label = offset_label(content_type.name) - time = client.offset(self.display.first_stim_time - ) - self.display.first_stim_time + time = client.offset(self.display.first_stim_time) - self.display.first_stim_time triggers.append(Trigger(label, TriggerType.OFFSET, time)) - self.trigger_handler.add_triggers(triggers) - # make sure triggers are written for the inquiry - self.trigger_handler.add_triggers( - convert_timing_triggers(timing, timing[0][0], trigger_type)) + target = timing[0][0] + triggers.extend(convert_timing_triggers(timing, target, trigger_type)) + self.trigger_handler.add_triggers(triggers) def write_offset_trigger(self) -> None: - """Append an offset value to the end of the trigger file. - """ + """Append an offset value to the end of the trigger file.""" assert self.display.first_stim_time, "First stim time not set" triggers = [] for content_type, client in self.daq.clients_by_type.items(): From 8731cf5a3d0b30275a1a9b1095f81dcc34c252f1 Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Wed, 15 Nov 2023 22:08:03 -0500 Subject: [PATCH 153/330] Logging output to file. Sampler reshaper fixes. Single data source typing workssss --- bcipy/simulator/__init__.py | 31 +++++ bcipy/simulator/helpers/data_engine.py | 10 +- bcipy/simulator/helpers/decision.py | 132 +--------------------- bcipy/simulator/helpers/evidence_fuser.py | 4 +- bcipy/simulator/helpers/sampler.py | 27 +++-- bcipy/simulator/helpers/signal_helpers.py | 12 +- bcipy/simulator/helpers/types.py | 13 ++- bcipy/simulator/sim.py | 33 ++++-- bcipy/simulator/simulator_base.py | 1 - bcipy/simulator/tests/sampler_test.py | 6 +- 10 files changed, 107 insertions(+), 162 deletions(-) diff --git a/bcipy/simulator/__init__.py b/bcipy/simulator/__init__.py index e69de29bb..2a543a621 100644 --- a/bcipy/simulator/__init__.py +++ b/bcipy/simulator/__init__.py @@ -0,0 +1,31 @@ +import datetime +import logging +import sys + +log = logging.getLogger(__name__) +log.setLevel(logging.DEBUG) +# Create handlers for logging to the standard output and a file +stdoutHandler = logging.StreamHandler(stream=sys.stdout) +fileHandler = logging.FileHandler(f"bcipy/simulator/sim_output_{datetime.datetime.now()}.log") + +# Set the log levels on the handlers +stdoutHandler.setLevel(logging.INFO) +fileHandler.setLevel(logging.DEBUG) + +# Create a log format using Log Record attributes +fmt_file = logging.Formatter( + "%(asctime)s | %(levelname)s | %(filename)s:%(lineno)s >> %(message)s" +) + +fmt = logging.Formatter( + "%(levelname)s >> %(message)s" +) + + +# Set the log format on each handler +stdoutHandler.setFormatter(fmt) +fileHandler.setFormatter(fmt_file) + +# Add each handler to the Logger object +log.addHandler(stdoutHandler) +log.addHandler(fileHandler) diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py index e2b3a1af4..234df0aa2 100644 --- a/bcipy/simulator/helpers/data_engine.py +++ b/bcipy/simulator/helpers/data_engine.py @@ -1,3 +1,4 @@ +import logging from abc import ABC from pathlib import Path from typing import Optional, List @@ -11,6 +12,8 @@ from bcipy.helpers.parameters import Parameters from bcipy.simulator.helpers.signal_helpers import ExtractedExperimentData, process_raw_data_for_model +log = logging.getLogger(__name__) + class DataEngine(ABC): @@ -42,6 +45,7 @@ def __init__(self, source_dirs: List[str]): self.symbols_by_inquiry: List[List] = [] # shape (i_inquiry, s_alphabet_subset) self.labels_by_inquiry: List[List] = [] # shape (i_inquiry, s_alphabet_subset) self.schema: Optional[pd.DataFrame] = None + self.load() def load(self) -> DataEngine: @@ -52,6 +56,8 @@ def load(self) -> DataEngine: Returns: self for chaining """ + log.debug(f"Loading data from {len(self.source_dirs)} source directories") + self.parameter_files = [load.load_json_parameters(str(Path(data_folder, DEFAULT_PARAMETER_FILENAME)), value_cast=True) for data_folder in self.source_dirs] @@ -69,6 +75,7 @@ def load(self) -> DataEngine: self.labels_by_inquiry.append(data_source.labels) + log.info("Finished loading all data") return self def transform(self) -> DataEngine: @@ -84,7 +91,7 @@ def transform(self) -> DataEngine: self for chaining """ - cols = ["series_n", "inquiry_n", "trial_n", "symbol", "target", "eeg"] + cols = ["series_n", "inquiry_n", "trial_n", "symbol", "target", "eeg"] # TODO store how good evidence was in session types = [int, int, int, str, int, np.ndarray] rows = [] @@ -105,6 +112,7 @@ def transform(self) -> DataEngine: rows.extend(symbol_rows) self.schema = pd.DataFrame(rows) + # breakpoint() return self diff --git a/bcipy/simulator/helpers/decision.py b/bcipy/simulator/helpers/decision.py index 7b52b5340..72a0544c0 100644 --- a/bcipy/simulator/helpers/decision.py +++ b/bcipy/simulator/helpers/decision.py @@ -54,7 +54,7 @@ def decide(self, series: List[InquiryResult]): # than this, since the language model distribution is added before # the first inquiry is displayed. current_inq = len(series) if series else 0 - log.info( + log.debug( f"Checking min iterations; current iteration is {current_inq}") return current_inq < self.min_num_inq @@ -87,7 +87,7 @@ def decide(self, series: List[InquiryResult]): # see MinIterationsCriteria comment current_inq = len(series) if series else 0 if current_inq >= self.max_num_inq: - log.info( + log.debug( "Committing to decision: max iterations have been reached.") return True return False @@ -108,130 +108,6 @@ def __init__(self, threshold: float): def decide(self, series: List[InquiryResult]): current_distribution = series[-1].fused_likelihood if np.max(current_distribution) > self.tau: - log.info("Committing to decision: posterior exceeded threshold.") + log.debug("Committing to decision: posterior exceeded threshold.") return True - return False - -# -# class MarginCriteria(DecisionCriteria): -# """ Stopping criteria based on the difference of two most likely candidates. -# This condition enforces the likelihood difference between two top -# candidates to be at least a value. E.g. in 4 category case with -# a margin 0.2, the edge cases [0.6,0.4,0.,0.] and [0.4,0.2,0.2,0.2] -# satisfy the condition. -# """ -# -# def __init__(self, margin: float): -# """ Args: -# margin(float in [0,1]): Minimum distance required between -# two most likely competing candidates to trigger termination. -# """ -# assert 1 >= margin >= 0, "difference margin should be in [0,1]" -# self.margin = margin -# -# def decide(self, series: Dict): -# # Get the current posterior probability values -# p = copy(series['list_distribution'][-1]) -# # This criteria compares most likely candidates (best competitors) -# candidates = [p[idx] for idx in list(np.argsort(p)[-2:])] -# stopping_rule = np.abs(candidates[0] - candidates[1]) -# d = stopping_rule > self.margin -# if d: -# log.info("Committing to decision: margin is high enough.") -# -# return d -# -# -# class MomentumCommitCriteria(DecisionCriteria): -# """ Stopping criteria based on Shannon entropy on the simplex -# Attr: -# lam(float): linear combination parameter between entropy and the -# speed term -# tau(float): decision threshold -# """ -# -# def __init__(self, tau: float, lam: float): -# self.lam = lam -# self.tau = tau -# -# def reset(self): -# pass -# -# def decide(self, series): -# eps = np.power(.1, 6) -# -# prob_history = copy(series['list_distribution']) -# p = prob_history[-1] -# -# tmp_p = np.ones(len(p)) * (1 - self.tau) / (len(p) - 1) -# tmp_p[0] = self.tau -# -# tmp = -np.sum(p * np.log2(p + eps)) -# tau_ = -np.sum(tmp_p * np.log2(tmp_p + eps)) -# -# tmp_ = np.array(prob_history) -# mom_ = tmp_[1:] * (np.log(tmp_[1:] + eps) - np.log(tmp_[:-1] + eps)) -# momentum = np.linalg.norm(mom_) / len(prob_history) -# -# if len(prob_history) > 1: -# stopping_rule = tmp - self.lam * momentum -# else: -# stopping_rule = tmp -# -# d = stopping_rule < tau_ -# -# return d -# -# -# class CriteriaEvaluator(): -# """Evaluates whether an series should commit to a decision based on the -# provided criteria. -# -# Parameters: -# ----------- -# continue_criteria: list of criteria; if any of these evaluate to true the -# decision maker continues. -# commit_criteria: list of criteria; if any of these return true and -# continue_criteria are all false, decision maker commits to a decision. -# """ -# -# def __init__(self, continue_criteria: List[DecisionCriteria], -# commit_criteria: List[DecisionCriteria]): -# self.continue_criteria = continue_criteria or [] -# self.commit_criteria = commit_criteria or [] -# -# @classmethod -# def default(cls, min_num_inq: int, max_num_inq: int, threshold: float): -# return cls(continue_criteria=[MinIterationsCriteria(min_num_inq)], -# commit_criteria=[ -# MaxIterationsCriteria(max_num_inq), -# ProbThresholdCriteria(threshold) -# ]) -# -# def do_series(self): -# for el_ in self.continue_criteria: -# el_.reset() -# for el in self.commit_criteria: -# el.reset() -# -# def should_commit(self, series: Dict): -# """Evaluates the given series; returns true if stoppage criteria has -# been met, otherwise false. -# -# Parameters: -# ----------- -# series - series data -# - target(str): target of the series -# - time_spent(ndarray[float]): |num_trials|x1 -# time spent on the inquiry -# - list_sti(list[list[str]]): presented symbols in each -# inquiry -# - list_distribution(list[ndarray[float]]): list of |alp|x1 -# arrays with prob. dist. over alp -# """ -# if any( -# criteria.decide(series) -# for criteria in self.continue_criteria): -# return False -# return any( -# criteria.decide(series) for criteria in self.commit_criteria) + return False \ No newline at end of file diff --git a/bcipy/simulator/helpers/evidence_fuser.py b/bcipy/simulator/helpers/evidence_fuser.py index 43b594208..6f04b6c34 100644 --- a/bcipy/simulator/helpers/evidence_fuser.py +++ b/bcipy/simulator/helpers/evidence_fuser.py @@ -28,12 +28,12 @@ def fuse(self, prior_likelihood, evidence) -> np.ndarray: for value in evidence.values(): ret_likelihood *= value[:] - ret_likelihood = self.__clean_likelihood(ret_likelihood) + ret_likelihood = self.__normalize_likelihood(ret_likelihood) return ret_likelihood - def __clean_likelihood(self, likelihood): + def __normalize_likelihood(self, likelihood): cleaned_likelihood = likelihood.copy() if np.isinf(np.sum(likelihood)): diff --git a/bcipy/simulator/helpers/sampler.py b/bcipy/simulator/helpers/sampler.py index 657e2ad85..4b3f6fb06 100644 --- a/bcipy/simulator/helpers/sampler.py +++ b/bcipy/simulator/helpers/sampler.py @@ -1,3 +1,4 @@ +import logging from abc import ABC from typing import Callable, List @@ -10,6 +11,8 @@ from bcipy.simulator.helpers.data_engine import RawDataEngine from bcipy.simulator.interfaces import SimState +log = logging.getLogger(__name__) + class Sampler(ABC): """ Interface to generate sample of data usable by a model """ @@ -41,28 +44,36 @@ def sample(self, state: SimState) -> np.ndarray: inquiry_letter_subset = state.display_alphabet target_letter = state.target_symbol - eeg_responses = [] + sample_rows = [] for symbol in inquiry_letter_subset: is_target = int(symbol == target_letter) - filtered_data = self.data.query(f'target == {is_target} and symbol == "{symbol}"') + # filtered_data = self.data.query(f'target == {is_target} and symbol == "{symbol}"') + filtered_data = self.data.query(f'target == {is_target}') if not len(filtered_data): raise TaskConfigurationException(message="No eeg sample found with provided data and query") row = filtered_data.sample(1) - eeg_responses.append(row['eeg']) + sample_rows.append(row) + + log.debug(f"EEG Samples: \n {', '.join([r.to_string() for r in sample_rows])}") + eeg_responses = [r['eeg'].to_numpy()[0] for r in sample_rows] + sample = self.model_input_reshaper(eeg_responses) - return self.model_input_reshaper(eeg_responses) + return sample def set_reshaper(self, reshaper: Callable): self.model_input_reshaper = reshaper - def __default_reshaper(self, eeg_response) -> np.ndarray: + def __default_reshaper(self, eeg_responses: List[np.ndarray]) -> np.ndarray: + # returns (channel_n, trial_n, sample_n) + + channels_eeg = [[] for i in range(len(eeg_responses[0]))] - channels_eeg = [[] for i in range(len(eeg_response[0]))] - for t_i, trial_channels_eeg in enumerate(eeg_response): + for t_i, trial_channels_eeg in enumerate(eeg_responses): for c_i, channel_eeg in enumerate(trial_channels_eeg): channels_eeg[c_i].append(channel_eeg) - return np.array(channels_eeg[0]) + # TODO make sure this returns (7, 10, 90) + return np.array(channels_eeg) # TODO ReplaySampler diff --git a/bcipy/simulator/helpers/signal_helpers.py b/bcipy/simulator/helpers/signal_helpers.py index 738643d3c..df3d7c738 100644 --- a/bcipy/simulator/helpers/signal_helpers.py +++ b/bcipy/simulator/helpers/signal_helpers.py @@ -17,7 +17,6 @@ from bcipy.helpers.triggers import TriggerType, trigger_decoder from bcipy.signal.process import get_default_transform, filter_inquiries, ERPTransformParams -logger.getLogger().setLevel(logger.INFO) log = logger.getLogger(__name__) @@ -33,9 +32,8 @@ class ExtractedExperimentData: # TODO clean up design def process_raw_data_for_model(data_folder, parameters, reshaper: InquiryReshaper = InquiryReshaper()) -> ExtractedExperimentData: assert parameters, "Parameters are required for offline analysis." - if not data_folder: - data_folder = load_experimental_data() + log.debug(f"Processing raw data for {data_folder}") # extract relevant session information from parameters file trial_window = parameters.get("trial_window") window_length = trial_window[1] - trial_window[0] @@ -52,7 +50,7 @@ def process_raw_data_for_model(data_folder, parameters, reshaper: InquiryReshape downsample_rate = transform_params.down_sampling_rate static_offset = parameters.get("static_trigger_offset") - log.info( + log.debug( f"\nData processing settings: \n" f"{str(transform_params)} \n" f"Trial Window: {trial_window[0]}-{trial_window[1]}s, " @@ -79,8 +77,8 @@ def process_raw_data_for_model(data_folder, parameters, reshaper: InquiryReshape downsample_factor=transform_params.down_sampling_rate, ) - log.info(f"Channels read from csv: {channels}") - log.info(f"Device type: {type_amp}, fs={sample_rate}") + log.debug(f"Channels read from csv: {channels}") + log.debug(f"Device type: {type_amp}, fs={sample_rate}") # Process triggers.txt files trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( @@ -96,7 +94,7 @@ def process_raw_data_for_model(data_folder, parameters, reshaper: InquiryReshape # The timestamp column [0] is already excluded. channel_map = analysis_channels(channels, device_spec) channels_used = [channels[i] for i, keep in enumerate(channel_map) if keep == 1] - log.info(f'Channels used in analysis: {channels_used}') + log.debug(f'Channels used in analysis: {channels_used}') data, fs = raw_data.by_channel() diff --git a/bcipy/simulator/helpers/types.py b/bcipy/simulator/helpers/types.py index 2de09f88f..20b71bee3 100644 --- a/bcipy/simulator/helpers/types.py +++ b/bcipy/simulator/helpers/types.py @@ -1,14 +1,23 @@ from dataclasses import dataclass -from typing import Optional, List +from typing import Optional, List, Dict import numpy as np +from bcipy.task.data import EvidenceType + @dataclass class InquiryResult: target: Optional[str] time_spent: int stimuli: List - evidence_likelihoods: List # TODO make this into a dictionary to support multimodal. e.g {SignalModel: evidence_list, LanguageModel:evidence_list} + evidence_likelihoods: List # TODO make this into a dictionary to support multimodal. e.g {SignalModel: evidence_list, LanguageModel:evidence_list} fused_likelihood: np.ndarray decision: Optional[str] + + +@dataclass +class SimEvidence: + evidence_type: EvidenceType + evidence: np.ndarray + symbol_set: List[str] diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index 290e5e747..a7a0f36e6 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -1,3 +1,5 @@ +import datetime +import logging import random from time import sleep from typing import Optional @@ -7,13 +9,14 @@ from bcipy.helpers import load, stimuli, symbols from bcipy.helpers.symbols import alphabet from bcipy.simulator.helpers.data_engine import DataEngine -from bcipy.simulator.helpers.evidence_fuser import EvidenceFuser from bcipy.simulator.helpers.sampler import Sampler from bcipy.simulator.helpers.state_manager import StateManager, SimState from bcipy.simulator.helpers.types import InquiryResult from bcipy.simulator.interfaces import MetricReferee, ModelHandler from bcipy.simulator.simulator_base import Simulator +log = logging.getLogger(__name__) + class SimulatorCopyPhrase(Simulator): """ @@ -58,25 +61,33 @@ def __init__(self, data_engine: DataEngine, model_handler: ModelHandler, sampler self.visualize = visualize def run(self): + log.info(f"SIM START with target word {self.state_manager.get_state().target_sentence}") + while not self.state_manager.is_done(): - print( - f"Series {self.state_manager.get_state().series_n} | Inquiry {self.state_manager.get_state().inquiry_n} | Target {self.state_manager.get_state().target_symbol}") - self.state_manager.mutate_state('display_alphabet', self.__make_stimuli(self.state_manager.get_state())) - sampled_data = self.sampler.sample(self.state_manager.get_state()) - evidence = self.model_handler.generate_evidence(self.state_manager.get_state(), + curr_state = self.state_manager.get_state() + log.info(f"Series {curr_state.series_n} | Inquiry {curr_state.inquiry_n} | Target {curr_state.target_symbol}") + + self.state_manager.mutate_state('display_alphabet', self.__make_stimuli(curr_state)) + sampled_data = self.sampler.sample(curr_state) + evidence = self.model_handler.generate_evidence(curr_state, sampled_data) # TODO make this evidence be a dict (mapping of evidence type to evidence) - print(f"Evidence for stimuli {self.state_manager.get_state().display_alphabet} \n {evidence}") + log.debug(f"Evidence for stimuli {curr_state.display_alphabet} \n {evidence}") inq_record: InquiryResult = self.state_manager.update(evidence) - - print(f"Fused Likelihoods {[str(round(p, 3)) for p in inq_record.fused_likelihood]}") + updated_state = self.state_manager.get_state() + log.debug(f"Fused Likelihoods {[str(round(p, 3)) for p in inq_record.fused_likelihood]}") if inq_record.decision: - print(f"Decided {inq_record.decision} for target {inq_record.target} for sentence {self.state_manager.get_state().target_sentence}") + log.info(f"Decided {inq_record.decision} for target {inq_record.target}") - print("\n") + log.info(f"Current typed: {updated_state.current_sentence}") sleep(.5) + + final_state = self.state_manager.get_state() + log.info(f"SIM END") + log.debug(f"Final State: {final_state}") + # TODO visualize result metrics def __make_stimuli(self, state: SimState): diff --git a/bcipy/simulator/simulator_base.py b/bcipy/simulator/simulator_base.py index 96f0cbac0..68ae72b6e 100644 --- a/bcipy/simulator/simulator_base.py +++ b/bcipy/simulator/simulator_base.py @@ -14,7 +14,6 @@ class Simulator(ABC): def __init__(self): super(Simulator, self).__init__() - self.logger = logging.getLogger(__name__) @abstractmethod def run(self): diff --git a/bcipy/simulator/tests/sampler_test.py b/bcipy/simulator/tests/sampler_test.py index 7c2adea5c..1e8233fca 100644 --- a/bcipy/simulator/tests/sampler_test.py +++ b/bcipy/simulator/tests/sampler_test.py @@ -38,7 +38,10 @@ class DummyRef(MetricReferee): if __name__ == "__main__": args = dict() - args['data_folders'] = ["/Users/srikarananthoju/cambi/tab_test_dynamic/tab_test_dynamic_RSVP_Copy_Phrase_Thu_24_Aug_2023_18hr58min16sec_-0700"] + args['data_folders'] = ["/Users/srikarananthoju/cambi/tab_test_dynamic/tab_test_dynamic_RSVP_Copy_Phrase_Thu_24_Aug_2023_18hr58min16sec_-0700", + # "/Users/srikarananthoju/cambi/tab_test_dynamic/tab_test_dynamic_RSVP_Copy_Phrase_Thu_24_Aug_2023_19hr07min50sec_-0700", + # "/Users/srikarananthoju/cambi/tab_test_dynamic/tab_test_dynamic_RSVP_Copy_Phrase_Thu_24_Aug_2023_19hr15min29sec_-0700" + ] args['out_dir'] = Path(__file__).resolve().parent model_file = Path( "/Users/srikarananthoju/cambi/tab_test_dynamic/tab_test_dynamic_RSVP_Calibration_Thu_24_Aug_2023_18hr41min37sec_-0700/model_0.9524_200_800.pkl") @@ -66,4 +69,3 @@ class DummyRef(MetricReferee): model_handler = DummyModelHandler(model_file) sim = SimulatorCopyPhrase(data_engine, model_handler, sampler, stateManager, DummyRef()) sim.run() - breakpoint() From ea5be74346b693297cc281d252c1bd1ea8b8f9e2 Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Thu, 16 Nov 2023 14:20:37 -0500 Subject: [PATCH 154/330] Model and visualization updates --- bcipy/helpers/visualization.py | 23 ++++++++- bcipy/signal/model/fusion_model.py | 64 +++++++++++++++--------- bcipy/signal/model/offline_analysis.py | 67 +++++++++++++++++++------- 3 files changed, 114 insertions(+), 40 deletions(-) diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index e1ff25ea2..02767b536 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -1,6 +1,6 @@ import logging from pathlib import Path -from typing import List, Optional, Tuple +from typing import List, Dict, Optional, Tuple import matplotlib.pyplot as plt import mne @@ -725,3 +725,24 @@ def visualize_session_data(session_path: str, parameters: dict, show=True) -> Fi save_path=session_path, show=show, ) + + +def visualize_gaze_accuracies(accuracy_dict: Dict[str, np.ndarray], + accuracy: float, + save_path: Optional[str] = None, + show: Optional[bool] = False) -> Figure: + """ + Visualize Gaze Accuracies. + + Plot the accuracies of each symbol using a bar plot. + + Returns a list of the figure handles created. + """ + + fig, ax = plt.subplots() + ax.bar(accuracy_dict.keys(), accuracy_dict.values()) + ax.set_xlabel('Symbol') + ax.set_ylabel('Accuracy') + ax.set_title('Overall Accuracy: ' + str(round(accuracy, 2))) + + return fig \ No newline at end of file diff --git a/bcipy/signal/model/fusion_model.py b/bcipy/signal/model/fusion_model.py index cd4c03ce6..e47178697 100644 --- a/bcipy/signal/model/fusion_model.py +++ b/bcipy/signal/model/fusion_model.py @@ -6,6 +6,10 @@ from bcipy.helpers.stimuli import GazeReshaper from sklearn.model_selection import cross_val_score # noqa from sklearn.utils.estimator_checks import check_estimator # noqa +import cvxpy as cp +import scipy.stats as stats + +from typing import Optional class GazeModel(SignalModel): @@ -15,40 +19,55 @@ def __init__(self, num_components=2): self.num_components = num_components # number of gaussians to fit def fit(self, train_data: np.array): - model = GaussianMixture(n_components=2, random_state=0, init_params='kmeans') + model = GaussianMixture(n_components=1, random_state=0, init_params='kmeans') model.fit(train_data) self.model = model return self - def get_scores(self, test_data: np.array): + def evaluate(self, test_data: np.array): ''' - Compute the log-likelihood of each sample. - Compute the mean and covariance of each mixture component. + Compute mean and covariance of each mixture component. ''' - scores = self.model.score_samples(test_data) means = self.model.means_ covs = self.model.covariances_ - return scores, means, covs + return means, covs - def predict(self, scores: np.array): + def predict(self, test_data: np.array, means: np.array, covs: np.array): ''' + Compute log-likelihood of each sample. Predict the labels for the test data. ''' - # Compute over log-likelihood scores - # Get the argmax of the scores - # return predictions + num_components = len(means) + + N, D = test_data.shape + K = num_components + + likelihoods = np.zeros((N, K), dtype=object) + predictions = np.zeros(N, dtype=object) - def evaluate(self, test_data: np.ndarray, test_labels: np.ndarray): + # Find the likelihoods by insterting the test data into the pdf of each component + for i in range(N): + for k in range(K): + mu = means[k] + sigma = covs[k] + + likelihoods[i,k] = stats.multivariate_normal.pdf(test_data[i], mu, sigma) + + # Find the argmax of the likelihoods to get the predictions + predictions[i] = np.argmax(likelihoods[i]) + + return likelihoods, predictions + + def calculate_acc(self, test_data: np.ndarray, test_labels: Optional[np.ndarray]): ''' Compute model performance characteristics on the provided test data and labels. ''' - # Compute the AUC - # return ModelEvaluationReport(auc) + # return accuracy def save(self, path: Path): """Save model state to the provided checkpoint""" @@ -73,37 +92,38 @@ def fit(self, train_data: np.array): return self - def get_scores(self, test_data: np.array, sym_pos: np.array): + def evaluate(self, test_data: np.array, sym_pos: np.array): ''' - Compute the log-likelihood of each sample. - Return the mean and covariance of each mixture component. + Return mean and covariance of each mixture component. test_data: gaze data for each symbol sym_pos: mid positions for each symbol in Tobii coordinates ''' - scores = self.model.score_samples(test_data) means = self.model.means_ + sym_pos covs = self.model.covariances_ - return scores, means, covs + return means, covs - def predict(self, scores: np.array): + def predict(self, test_data: np.array): ''' + Compute log-likelihood of each sample. Predict the labels for the test data. ''' # Compute over log-likelihood scores # Get the argmax of the scores + scores = self.model.score_samples(test_data) + # return predictions - def evaluate(self, test_data: np.ndarray, test_labels: np.ndarray): + def calculate_acc(self, test_data: np.ndarray, sym_pos: np.array): ''' Compute model performance characteristics on the provided test data and labels. ''' - # Compute the AUC - # return ModelEvaluationReport(auc) + + # return accuracy def save(self, path: Path): """Save model state to the provided checkpoint""" diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 100c34c64..4e76554d8 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -23,7 +23,8 @@ from bcipy.helpers.triggers import TriggerType, trigger_decoder from bcipy.helpers.visualization import (visualize_erp, visualize_gaze, visualize_centralized_data, - visualize_results_all_symbols) + visualize_results_all_symbols, + visualize_gaze_accuracies) from bcipy.preferences import preferences from bcipy.signal.model.base_model import SignalModel, SignalModelMetadata from bcipy.signal.model.fusion_model import GazeModel, GazeModel_AllSymbols @@ -312,6 +313,10 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f means_all = [] covs_all = [] for sym in symbol_set: + # Skip if there's no evidence for this symbol: + if len(inquiries[sym]) == 0: + test_dict[sym] = [] + continue le = preprocessed_data[sym][0] re = preprocessed_data[sym][1] @@ -319,24 +324,14 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f labels = np.array([sym] * len(le)) # Labels are the same for both eyes train_le, test_le, train_labels_le, test_labels_le = subset_data(le, labels, test_size=0.2, swap_axes=False) train_re, test_re, train_labels_re, test_labels_re = subset_data(re, labels, test_size=0.2, swap_axes=False) - test_dict[sym] = [test_le, test_re] - - if model_type == "Centralized": - # Centralize the data using symbol positions: - # Load json file. - # TODO: move this to a helper function, or get the symbol positions from the build_grid method - with open(f"{BCIPY_ROOT}/parameters/symbol_positions.json", 'r') as params_file: - symbol_positions = json.load(params_file) - # Subtract the symbol positions from the data: - centralized_data_left.append(model.reshaper.centralize_all_data(train_le, symbol_positions[sym])) - centralized_data_right.append(model.reshaper.centralize_all_data(train_re, symbol_positions[sym])) + test_dict[sym] = np.concatenate((test_le, test_re), axis=0) # Fit the model based on model type. # Model 1: Fit Gaussian mixture (comp=2) on each symbol and each eye separately if model_type == "Individual": model.fit(train_re) - scores, means, covs = model.get_scores(test_re) + means, covs = model.evaluate(test_re) # Visualize the results: # figure_handles = visualize_gaze_inquiries( @@ -351,8 +346,45 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f means_all.append(means) covs_all.append(covs) - if model_type == "Centralized": + # scores, predictions = model.predict(test_re) + # Model 2: Fit Gaussian mixture (comp=1) on a centralized data + if model_type == "Centralized": + # Centralize the data using symbol positions: + # Load json file. + # TODO: move this to a helper function, or get the symbol positions from the build_grid method + with open(f"{BCIPY_ROOT}/parameters/symbol_positions.json", 'r') as params_file: + symbol_positions = json.load(params_file) + # Subtract the symbol positions from the data: + centralized_data_left.append(model.reshaper.centralize_all_data(train_le, symbol_positions[sym])) + centralized_data_right.append(model.reshaper.centralize_all_data(train_re, symbol_positions[sym])) + + if model_type == "Individual": + # Takes in all means and covs from individual symbols, and + # calculates the likelihoods and predictions for each test point. + # Convert test_dict to a list of arrays: + accuracy = 0 + acc_all_symbols = {} + counter = 0 + for sym in symbol_set: + # Skip if test_dict is empty for certain symbols: + if len(test_dict[sym]) == 0: + acc_all_symbols[sym] = 0 + continue + likelihoods, predictions = model.predict(test_dict[sym], np.squeeze(np.array(means_all)), np.squeeze(np.array(covs_all))) + acc_all_symbols[sym] = np.sum(predictions == counter) / len(predictions) * 100 + accuracy += np.sum(predictions == counter) / len(predictions) * 100 + print(f"""Correct predictions for {sym}: {np.sum(predictions == counter)} / {len(predictions)}, + Accuracy {sym}: {np.sum(predictions == counter) / len(predictions) * 100:.2f}""") + counter += 1 + accuracy /= counter + print(f"Overall accuracy: {accuracy:.2f}") + + # Plot all accuracies as bar plot: + figure_handles = visualize_gaze_accuracies(acc_all_symbols, accuracy, save_path=None, show=True) + + + if model_type == "Centralized": cent_left = np.concatenate(np.array(centralized_data_left, dtype=object)) cent_right = np.concatenate(np.array(centralized_data_right, dtype=object)) @@ -370,7 +402,7 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f # Add the means back to the symbol positions. # Calculate scores for the test set. for sym in symbol_set: - scores, means, covs = model.get_scores(test_dict[sym][0], symbol_positions[sym]) + means, covs = model.evaluate(test_dict[sym][0], symbol_positions[sym]) le = preprocessed_data[sym][0] re = preprocessed_data[sym][1] @@ -387,6 +419,7 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f means_all.append(means) covs_all.append(covs) + fig_handles = visualize_results_all_symbols( left_eye_all, right_eye_all, means_all, covs_all, @@ -465,7 +498,7 @@ def offline_analysis( if device_spec.content_type == "Eyetracker": analyze_gaze(raw_data, device_spec, data_folder, save_figures, show_figures, - model_type="Centralized") + model_type="Individual") if alert_finished: play_sound(f"{STATIC_AUDIO_PATH}/{parameters['alert_sound_file']}") @@ -484,7 +517,7 @@ def offline_analysis( parser.add_argument("--alert", dest="alert", action="store_true") parser.add_argument("--balanced-acc", dest="balanced", action="store_true") parser.set_defaults(alert=False) - parser.set_defaults(balanced=False) + parser.set_defaults(balanced=True) parser.set_defaults(save_figures=False) parser.set_defaults(show_figures=True) args = parser.parse_args() From 08a4b9365a025ddc8508ad5b2cbd84262d517c4c Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Thu, 16 Nov 2023 11:22:50 -0800 Subject: [PATCH 155/330] remove unused import --- bcipy/signal/model/fusion_model.py | 1 - 1 file changed, 1 deletion(-) diff --git a/bcipy/signal/model/fusion_model.py b/bcipy/signal/model/fusion_model.py index e47178697..c6f56de41 100644 --- a/bcipy/signal/model/fusion_model.py +++ b/bcipy/signal/model/fusion_model.py @@ -6,7 +6,6 @@ from bcipy.helpers.stimuli import GazeReshaper from sklearn.model_selection import cross_val_score # noqa from sklearn.utils.estimator_checks import check_estimator # noqa -import cvxpy as cp import scipy.stats as stats from typing import Optional From b98cd364ac03d2151c0fc640fcd6c7c7bf2247cd Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Thu, 16 Nov 2023 12:12:25 -0800 Subject: [PATCH 156/330] add return type to model training, lint, update the integration tests --- bcipy/helpers/visualization.py | 6 +- bcipy/parameters/parameters.json | 4 +- bcipy/signal/model/__init__.py | 3 + .../signal/model/gaussian_mixture/__init__.py | 6 + .../gaussian_mixture.py} | 21 ++-- bcipy/signal/model/offline_analysis.py | 91 ++++++++++------ .../model/integration_test_input/devices.json | 103 ++++++++++++++++++ .../tests/model/test_offline_analysis.py | 6 +- 8 files changed, 186 insertions(+), 54 deletions(-) create mode 100644 bcipy/signal/model/gaussian_mixture/__init__.py rename bcipy/signal/model/{fusion_model.py => gaussian_mixture/gaussian_mixture.py} (84%) create mode 100644 bcipy/signal/tests/model/integration_test_input/devices.json diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index 02767b536..d65340407 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -733,16 +733,16 @@ def visualize_gaze_accuracies(accuracy_dict: Dict[str, np.ndarray], show: Optional[bool] = False) -> Figure: """ Visualize Gaze Accuracies. - + Plot the accuracies of each symbol using a bar plot. Returns a list of the figure handles created. """ - + fig, ax = plt.subplots() ax.bar(accuracy_dict.keys(), accuracy_dict.values()) ax.set_xlabel('Symbol') ax.set_ylabel('Accuracy') ax.set_title('Overall Accuracy: ' + str(round(accuracy, 2))) - return fig \ No newline at end of file + return fig diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index ca61b165c..c1fe3cb0b 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -8,10 +8,10 @@ "type": "bool" }, "acq_mode": { - "value": "EEG+Eyetracker", + "value": "EEG", "section": "acq_config", "readableName": "Acquisition Mode", - "helpTip": "Specifies the hardware device(s) used for data collection.", + "helpTip": "Specifies the hardware device(s) used for data collection. Default: EEG", "recommended_values": [ "EEG", "EEG/DSI-24", diff --git a/bcipy/signal/model/__init__.py b/bcipy/signal/model/__init__.py index d95f3d026..6e9e0a4fe 100644 --- a/bcipy/signal/model/__init__.py +++ b/bcipy/signal/model/__init__.py @@ -1,10 +1,13 @@ from bcipy.signal.model.base_model import SignalModel, ModelEvaluationReport from bcipy.signal.model.pca_rda_kde.pca_rda_kde import PcaRdaKdeModel from bcipy.signal.model.rda_kde.rda_kde import RdaKdeModel +from bcipy.signal.model.gaussian_mixture.gaussian_mixture import GazeModelIndividual, GazeModelCombined __all__ = [ "SignalModel", "PcaRdaKdeModel", "RdaKdeModel", + "GazeModelIndividual", + "GazeModelCombined", "ModelEvaluationReport", ] diff --git a/bcipy/signal/model/gaussian_mixture/__init__.py b/bcipy/signal/model/gaussian_mixture/__init__.py new file mode 100644 index 000000000..1a5dc0dfe --- /dev/null +++ b/bcipy/signal/model/gaussian_mixture/__init__.py @@ -0,0 +1,6 @@ +from .gaussian_mixture import GazeModelCombined, GazeModelIndividual + +__all__ = [ + "GazeModelCombined", + "GazeModelIndividual", +] diff --git a/bcipy/signal/model/fusion_model.py b/bcipy/signal/model/gaussian_mixture/gaussian_mixture.py similarity index 84% rename from bcipy/signal/model/fusion_model.py rename to bcipy/signal/model/gaussian_mixture/gaussian_mixture.py index c6f56de41..29307b84f 100644 --- a/bcipy/signal/model/fusion_model.py +++ b/bcipy/signal/model/gaussian_mixture/gaussian_mixture.py @@ -11,20 +11,20 @@ from typing import Optional -class GazeModel(SignalModel): +class GazeModelIndividual(SignalModel): reshaper = GazeReshaper() def __init__(self, num_components=2): self.num_components = num_components # number of gaussians to fit - def fit(self, train_data: np.array): + def fit(self, train_data: np.ndarray) -> 'GazeModelIndividual': model = GaussianMixture(n_components=1, random_state=0, init_params='kmeans') model.fit(train_data) self.model = model return self - def evaluate(self, test_data: np.array): + def evaluate(self, test_data: np.ndarray): ''' Compute mean and covariance of each mixture component. ''' @@ -34,7 +34,7 @@ def evaluate(self, test_data: np.array): return means, covs - def predict(self, test_data: np.array, means: np.array, covs: np.array): + def predict(self, test_data: np.ndarray, means: np.ndarray, covs: np.ndarray): ''' Compute log-likelihood of each sample. Predict the labels for the test data. @@ -54,7 +54,7 @@ def predict(self, test_data: np.array, means: np.array, covs: np.array): mu = means[k] sigma = covs[k] - likelihoods[i,k] = stats.multivariate_normal.pdf(test_data[i], mu, sigma) + likelihoods[i, k] = stats.multivariate_normal.pdf(test_data[i], mu, sigma) # Find the argmax of the likelihoods to get the predictions predictions[i] = np.argmax(likelihoods[i]) @@ -77,21 +77,21 @@ def load(self, path: Path): ... -class GazeModel_AllSymbols(SignalModel): +class GazeModelCombined(SignalModel): '''Gaze model that uses all symbols to fit a single Gaussian ''' reshaper = GazeReshaper() def __init__(self, num_components=1): self.num_components = num_components # number of gaussians to fit - def fit(self, train_data: np.array): + def fit(self, train_data: np.ndarray): model = GaussianMixture(n_components=1, random_state=0, init_params='kmeans') model.fit(train_data) self.model = model return self - def evaluate(self, test_data: np.array, sym_pos: np.array): + def evaluate(self, test_data: np.ndarray, sym_pos: np.ndarray): ''' Return mean and covariance of each mixture component. @@ -104,7 +104,7 @@ def evaluate(self, test_data: np.array, sym_pos: np.array): return means, covs - def predict(self, test_data: np.array): + def predict(self, test_data: np.ndarray): ''' Compute log-likelihood of each sample. Predict the labels for the test data. @@ -116,12 +116,11 @@ def predict(self, test_data: np.array): # return predictions - def calculate_acc(self, test_data: np.ndarray, sym_pos: np.array): + def calculate_acc(self, test_data: np.ndarray, sym_pos: np.ndarray): ''' Compute model performance characteristics on the provided test data and labels. ''' - # return accuracy def save(self, path: Path): diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 4e76554d8..9a967515e 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -11,7 +11,7 @@ import bcipy.acquisition.devices as devices from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, BCIPY_ROOT, DEFAULT_PARAMETERS_PATH, STATIC_AUDIO_PATH, - STATIC_IMAGES_PATH, TRIGGER_FILENAME) + TRIGGER_FILENAME) from bcipy.helpers.acquisition import analysis_channels, raw_data_filename from bcipy.helpers.load import (load_experimental_data, load_json_parameters, load_raw_data) @@ -22,12 +22,13 @@ from bcipy.helpers.system_utils import report_execution_time from bcipy.helpers.triggers import TriggerType, trigger_decoder from bcipy.helpers.visualization import (visualize_erp, visualize_gaze, + visualize_gaze_inquiries, visualize_centralized_data, visualize_results_all_symbols, visualize_gaze_accuracies) from bcipy.preferences import preferences from bcipy.signal.model.base_model import SignalModel, SignalModelMetadata -from bcipy.signal.model.fusion_model import GazeModel, GazeModel_AllSymbols +from bcipy.signal.model.gaussian_mixture import GazeModelIndividual, GazeModelCombined from bcipy.signal.model.pca_rda_kde import PcaRdaKdeModel from bcipy.signal.process import (ERPTransformParams, extract_eye_info, filter_inquiries, get_default_transform) @@ -35,11 +36,6 @@ log = logging.getLogger(__name__) logging.basicConfig(level=logging.INFO, format="[%(threadName)-9s][%(asctime)s][%(name)s][%(levelname)s]: %(message)s") -DIPSIZE = (1707, 1067) -IMG_PATH = f'{STATIC_IMAGES_PATH}/main/matrix_grid.png' -# IMG_PATH = f'{STATIC_IMAGES_PATH}/main/rsvp.png' -# TODO: Update images to contain the path to directory of the respective calibration session. - def subset_data(data: np.ndarray, labels: np.ndarray, test_size: float, random_state: int = 0, swap_axes: bool = True): """Performs a train/test split on the provided data and labels, accounting for @@ -215,9 +211,17 @@ def analyze_erp(erp_data, parameters, device_spec, data_folder, estimate_balance save_path=data_folder if save_figures else None, show=show_figures ) + return model, figure_handles -def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_figures=False, model_type="Individual"): +def analyze_gaze( + gaze_data, + parameters, + device_spec, + data_folder, + save_figures=False, + show_figures=False, + model_type="Individual"): """Analyze gaze data and return/save the gaze model. Extract relevant information from gaze data object. Extract timing information from trigger file. @@ -230,6 +234,7 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f Parameters: ----------- gaze_data (RawData): RawData object containing the data to be analyzed. + parameters (Parameters): Parameters object retireved from parameters.json. device_spec (DeviceSpec): DeviceSpec object containing information about the device used. data_folder (str): Path to the folder containing the data to be analyzed. save_figures (bool): If true, saves ERP figures after training to the data folder. @@ -238,12 +243,14 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f "Individual": Fits a separate Gaussian for each symbol. Default model "Centralized": Uses data from all symbols to fit a single centralized Gaussian """ + figures = [] figure_handles = visualize_gaze( gaze_data, save_path=data_folder if save_figures else None, show=show_figures, raw_plot=True, ) + figures.extend(figure_handles) channels = gaze_data.channels type_amp = gaze_data.daq_type @@ -256,12 +263,12 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f channels_used = [channels[i] for i, keep in enumerate(channel_map) if keep == 1] log.info(f'Channels used in analysis: {channels_used}') - data, fs = gaze_data.by_channel() + data, _fs = gaze_data.by_channel() if model_type == "Individual": - model = GazeModel() + model = GazeModelIndividual() elif model_type == "Centralized": - model = GazeModel_AllSymbols() + model = GazeModelCombined() # Extract all Triggers info trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( @@ -334,25 +341,26 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f means, covs = model.evaluate(test_re) # Visualize the results: - # figure_handles = visualize_gaze_inquiries( - # le, re, - # means, covs, - # save_path=None, - # show=show_figures, - # raw_plot=True, - # ) + figure_handles = visualize_gaze_inquiries( + le, re, + means, covs, + save_path=None, + show=show_figures, + raw_plot=True, + ) + figures.extend(figure_handles) left_eye_all.append(le) right_eye_all.append(re) means_all.append(means) covs_all.append(covs) + # TODO: Calculate scores for the test set. # scores, predictions = model.predict(test_re) # Model 2: Fit Gaussian mixture (comp=1) on a centralized data if model_type == "Centralized": # Centralize the data using symbol positions: # Load json file. - # TODO: move this to a helper function, or get the symbol positions from the build_grid method with open(f"{BCIPY_ROOT}/parameters/symbol_positions.json", 'r') as params_file: symbol_positions = json.load(params_file) # Subtract the symbol positions from the data: @@ -371,10 +379,13 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f if len(test_dict[sym]) == 0: acc_all_symbols[sym] = 0 continue - likelihoods, predictions = model.predict(test_dict[sym], np.squeeze(np.array(means_all)), np.squeeze(np.array(covs_all))) + likelihoods, predictions = model.predict( + test_dict[sym], np.squeeze( + np.array(means_all)), np.squeeze( + np.array(covs_all))) acc_all_symbols[sym] = np.sum(predictions == counter) / len(predictions) * 100 accuracy += np.sum(predictions == counter) / len(predictions) * 100 - print(f"""Correct predictions for {sym}: {np.sum(predictions == counter)} / {len(predictions)}, + print(f"""Correct predictions for {sym}: {np.sum(predictions == counter)} / {len(predictions)}, Accuracy {sym}: {np.sum(predictions == counter) / len(predictions) * 100:.2f}""") counter += 1 accuracy /= counter @@ -382,7 +393,7 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f # Plot all accuracies as bar plot: figure_handles = visualize_gaze_accuracies(acc_all_symbols, accuracy, save_path=None, show=True) - + figures.extend(figure_handles) if model_type == "Centralized": cent_left = np.concatenate(np.array(centralized_data_left, dtype=object)) @@ -395,6 +406,7 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f show=show_figures, raw_plot=True, ) + figures.extend(figure_handles) # Fit the model: model.fit(cent_left) @@ -407,19 +419,19 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f le = preprocessed_data[sym][0] re = preprocessed_data[sym][1] # Visualize the results: - # figure_handles = visualize_gaze_inquiries( - # le, re, - # means, covs, - # save_path=None, - # show=show_figures, - # raw_plot=True, - # ) + figure_handles = visualize_gaze_inquiries( + le, re, + means, covs, + save_path=None, + show=show_figures, + raw_plot=True, + ) + figures.extend(figure_handles) left_eye_all.append(le) right_eye_all.append(re) means_all.append(means) covs_all.append(covs) - fig_handles = visualize_results_all_symbols( left_eye_all, right_eye_all, means_all, covs_all, @@ -427,6 +439,7 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f show=True, raw_plot=True, ) + figures.extend(fig_handles) model.metadata = SignalModelMetadata(device_spec=device_spec, transform=None) @@ -434,6 +447,7 @@ def analyze_gaze(gaze_data, device_spec, data_folder, save_figures=False, show_f save_model( model, Path(data_folder, f"model_{device_spec.content_type}_{model_type}.pkl")) + return model, figures @report_execution_time @@ -488,22 +502,27 @@ def offline_analysis( if path.exists() ] + models = [] + figure_handles = [] for raw_data_path in data_file_paths: raw_data = load_raw_data(raw_data_path) device_spec = devices_by_name.get(raw_data.daq_type) # extract relevant information from raw data object eeg if device_spec.content_type == "EEG": - analyze_erp(raw_data, parameters, device_spec, data_folder, estimate_balanced_acc, - save_figures, show_figures) + erp_model, erp_figure_handles = analyze_erp( + raw_data, parameters, device_spec, data_folder, estimate_balanced_acc, save_figures, show_figures) + models.append(erp_model) + figure_handles.extend(erp_figure_handles) if device_spec.content_type == "Eyetracker": - analyze_gaze(raw_data, device_spec, data_folder, save_figures, show_figures, - model_type="Individual") + et_model, et_figure_handles = analyze_gaze( + raw_data, parameters, device_spec, data_folder, save_figures, show_figures, model_type="Individual") + models.append(et_model) + figure_handles.extend(et_figure_handles) if alert_finished: play_sound(f"{STATIC_AUDIO_PATH}/{parameters['alert_sound_file']}") - # return model, figure_handles - return + return models, figure_handles if __name__ == "__main__": diff --git a/bcipy/signal/tests/model/integration_test_input/devices.json b/bcipy/signal/tests/model/integration_test_input/devices.json new file mode 100644 index 000000000..48af0e2bc --- /dev/null +++ b/bcipy/signal/tests/model/integration_test_input/devices.json @@ -0,0 +1,103 @@ +[ + { + "name": "DSI-24", + "content_type": "EEG", + "channels": [ + { "name": "P3", "label": "P3", "units": "microvolts", "type": "EEG" }, + { "name": "C3", "label": "C3", "units": "microvolts", "type": "EEG" }, + { "name": "F3", "label": "F3", "units": "microvolts", "type": "EEG" }, + { "name": "Fz", "label": "Fz", "units": "microvolts", "type": "EEG" }, + { "name": "F4", "label": "F4", "units": "microvolts", "type": "EEG" }, + { "name": "C4", "label": "C4", "units": "microvolts", "type": "EEG" }, + { "name": "P4", "label": "P4", "units": "microvolts", "type": "EEG" }, + { "name": "Cz", "label": "Cz", "units": "microvolts", "type": "EEG" }, + { "name": "Pz", "label": "Pz", "units": "microvolts", "type": "EEG" }, + { "name": "Fp1", "label": "Fp1", "units": "microvolts", "type": "EEG" }, + { "name": "Fp2", "label": "Fp2", "units": "microvolts", "type": "EEG" }, + { "name": "T3", "label": "T3", "units": "microvolts", "type": "EEG" }, + { "name": "T5", "label": "T5", "units": "microvolts", "type": "EEG" }, + { "name": "O1", "label": "O1", "units": "microvolts", "type": "EEG" }, + { "name": "O2", "label": "O2", "units": "microvolts", "type": "EEG" }, + { "name": "X3", "label": "X3", "units": "microvolts", "type": "EEG" }, + { "name": "X2", "label": "X2", "units": "microvolts", "type": "EEG" }, + { "name": "F7", "label": "F7", "units": "microvolts", "type": "EEG" }, + { "name": "F8", "label": "F8", "units": "microvolts", "type": "EEG" }, + { "name": "X1", "label": "X1", "units": "microvolts", "type": "EEG" }, + { "name": "A2", "label": "A2", "units": "microvolts", "type": "EEG" }, + { "name": "T6", "label": "T6", "units": "microvolts", "type": "EEG" }, + { "name": "T4", "label": "T4", "units": "microvolts", "type": "EEG" }, + { "name": "TRG", "label": "TRG", "units": "microvolts", "type": "EEG "} + ], + "sample_rate": 300.0, + "description": "Wearable Sensing DSI-24", + "excluded_from_analysis": [ + "TRG", + "X1", "X2", "X3", + "A2", + "T3", "T4", + "Fp1", "Fp2", + "F7", "F8", + "P3", "P4", + "F3", "F4", + "C3", "C4" + ] + }, + { + "name": "DSI-VR300", + "content_type": "EEG", + "channels": [ + { "name": "P4", "label": "P4", "units": "microvolts", "type": "EEG" }, + { "name": "Fz", "label": "Fz", "units": "microvolts", "type": "EEG" }, + { "name": "Pz", "label": "Pz", "units": "microvolts", "type": "EEG" }, + { "name": "F7", "label": "F7", "units": "microvolts", "type": "EEG" }, + { "name": "PO8", "label": "PO8", "units": "microvolts", "type": "EEG" }, + { "name": "PO7", "label": "PO7", "units": "microvolts", "type": "EEG" }, + { "name": "Oz", "label": "Oz", "units": "microvolts", "type": "EEG" }, + { "name": "TRG", "label": "TRG", "units": "microvolts", "type": "EEG" } + ], + "sample_rate": 300.0, + "description": "Wearable Sensing DSI-VR300", + "excluded_from_analysis": ["TRG", "F7"] + }, + { + "name": "g.USBamp-1", + "content_type": "EEG", + "channels": [ + { "name": "Ch1", "label": "Ch1", "units": "microvolts", "type": "EEG" }, + { "name": "Ch2", "label": "Ch2", "units": "microvolts", "type": "EEG" }, + { "name": "Ch3", "label": "Ch3", "units": "microvolts", "type": "EEG" }, + { "name": "Ch4", "label": "Ch4", "units": "microvolts", "type": "EEG" }, + { "name": "Ch5", "label": "Ch5", "units": "microvolts", "type": "EEG" }, + { "name": "Ch6", "label": "Ch6", "units": "microvolts", "type": "EEG" }, + { "name": "Ch7", "label": "Ch7", "units": "microvolts", "type": "EEG" }, + { "name": "Ch8", "label": "Ch8", "units": "microvolts", "type": "EEG" }, + { "name": "Ch9", "label": "Ch9", "units": "microvolts", "type": "EEG" }, + { "name": "Ch10", "label": "Ch10", "units": "microvolts", "type": "EEG" }, + { "name": "Ch11", "label": "Ch11", "units": "microvolts", "type": "EEG" }, + { "name": "Ch12", "label": "Ch12", "units": "microvolts", "type": "EEG" }, + { "name": "Ch13", "label": "Ch13", "units": "microvolts", "type": "EEG" }, + { "name": "Ch14", "label": "Ch14", "units": "microvolts", "type": "EEG" }, + { "name": "Ch15", "label": "Ch15", "units": "microvolts", "type": "EEG" }, + { "name": "Ch16", "label": "Ch16", "units": "microvolts", "type": "EEG" } + ], + "sample_rate": 256.0, + "description": "GTec g.USBamp" + }, + { + "name": "Tobii Nano", + "content_type": "Eyetracker", + "channels": [ + { "name": "device_ts", "label": "device_ts" }, + { "name": "system_ts", "label": "system_ts" }, + { "name": "left_x", "label": "left_x", "units": "screencoords", "type": "ScreenX" }, + { "name": "left_y", "label": "left_y", "units": "screencoords", "type": "ScreenY" }, + { "name": "left_pupil", "label": "left_pupil", "type": "pupilsize" }, + { "name": "right_x", "label": "right_x", "units": "screencoords", "type": "ScreenX" }, + { "name": "right_y", "label": "right_y", "units": "screencoords", "type": "ScreenY" }, + { "name": "right_pupil", "label": "right_pupil", "type": "pupilsize" } + ], + "sample_rate": 60.0, + "description": "Tobii Nano. For use with the Tobii Pro SDK.", + "excluded_from_analysis": ["device_ts", "system_ts", "left_pupil", "right_pupil"] + } +] \ No newline at end of file diff --git a/bcipy/signal/tests/model/test_offline_analysis.py b/bcipy/signal/tests/model/test_offline_analysis.py index 5ad4ca148..3f8535e2e 100644 --- a/bcipy/signal/tests/model/test_offline_analysis.py +++ b/bcipy/signal/tests/model/test_offline_analysis.py @@ -9,7 +9,7 @@ import random import gzip -from bcipy.config import RAW_DATA_FILENAME, DEFAULT_PARAMETER_FILENAME, TRIGGER_FILENAME +from bcipy.config import RAW_DATA_FILENAME, DEFAULT_PARAMETER_FILENAME, TRIGGER_FILENAME, DEFAULT_DEVICE_SPEC_FILENAME from bcipy.helpers.load import load_json_parameters from bcipy.signal.model.offline_analysis import offline_analysis @@ -46,11 +46,13 @@ def setUpClass(cls): # copy the other required inputs into tmp_dir shutil.copyfile(input_folder / TRIGGER_FILENAME, cls.tmp_dir / TRIGGER_FILENAME) + shutil.copyfile(input_folder / DEFAULT_DEVICE_SPEC_FILENAME, cls.tmp_dir / DEFAULT_DEVICE_SPEC_FILENAME) params_path = pwd.parent.parent.parent / "parameters" / DEFAULT_PARAMETER_FILENAME cls.parameters = load_json_parameters(params_path, value_cast=True) - cls.model, fig_handles = offline_analysis( + models, fig_handles = offline_analysis( str(cls.tmp_dir), cls.parameters, save_figures=True, show_figures=False, alert_finished=False) + cls.model = models[0] cls.mean_erp_fig_handle = fig_handles[0] cls.mean_nontarget_topomap_handle = fig_handles[1] cls.mean_target_topomap_handle = fig_handles[2] From fd865d02e7c53526b101b59d85dd54da84e0a9b8 Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Thu, 16 Nov 2023 12:19:16 -0800 Subject: [PATCH 157/330] add symbol set as an arg to gaze reshaper, remove todo --- bcipy/helpers/stimuli.py | 5 +---- bcipy/signal/model/offline_analysis.py | 5 +++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 097f86b2e..8475a2d4e 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -236,6 +236,7 @@ def __call__(self, target_symbols: List[str], gaze_data: np.ndarray, sample_rate: int, + symbol_set: List[str], channel_map: List[int] = None, ) -> dict: """Extract inquiry data and labels. Different from the EEG inquiry, the gaze inquiry window starts with @@ -282,8 +283,6 @@ def __call__(self, # Label for every inquiry labels = target_symbols - symbol_set = alphabet() - # Create a dictionary with symbols as keys and data as values # 'A': [], 'B': [] ... data_by_targets = {} @@ -333,8 +332,6 @@ def centralize_all_data(data, symbol_pos): """ for i in range(len(data)): data[i] = data[i] - symbol_pos - # TODO: List comprehension - return data diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 9a967515e..e0a73a95f 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -291,14 +291,15 @@ def analyze_gaze( inq_start = trigger_timing[1::11] # start of each inquiry (here we jump over prompts) # Extract the inquiries dictionary with keys as target symbols and values as inquiry windows: + symbol_set = alphabet() inquiries = model.reshaper( inq_start_times=inq_start, target_symbols=target_symbols, gaze_data=data, - sample_rate=sample_rate + sample_rate=sample_rate, + symbol_set=symbol_set ) - symbol_set = alphabet() # Extract the data for each target label and each eye separately. # Apply preprocessing: From d7a6739064ba43fd0a9b5e40eb59f614e77ebc0f Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Thu, 16 Nov 2023 12:21:50 -0800 Subject: [PATCH 158/330] update filename --- bcipy/helpers/tests/test_acquisition.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bcipy/helpers/tests/test_acquisition.py b/bcipy/helpers/tests/test_acquisition.py index 1cc741ca7..3ec07e6ed 100644 --- a/bcipy/helpers/tests/test_acquisition.py +++ b/bcipy/helpers/tests/test_acquisition.py @@ -177,8 +177,8 @@ def test_raw_data_filename_eeg(self): content_type='EEG') self.assertEqual(raw_data_filename(device), f'{RAW_DATA_FILENAME}.csv') - def test_raw_data_filename(self): - """Test generation of filename""" + def test_raw_data_filename_eye_tracker(self): + """Test generation of filename for EyeTracker devices""" device = DeviceSpec(name='Tobii-P0', channels=[], From 17051a2ad6891182551aa5676b981f6a83cc81c7 Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Thu, 16 Nov 2023 12:26:47 -0800 Subject: [PATCH 159/330] add documentation and linting --- README.md | 2 +- bcipy/helpers/stimuli.py | 1 - bcipy/signal/model/README.md | 4 ++++ bcipy/signal/model/offline_analysis.py | 1 - 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f43991916..ee5f86959 100644 --- a/README.md +++ b/README.md @@ -102,7 +102,7 @@ This a list of the major modules and their functionality. Each module will conta - `acquisition`: acquires data, gives back desired time series, saves to file at end of session. - `display`: handles display of stimuli on screen and passes back stimuli timing. -- `signal`: eeg signal models, filters, processing, evaluators and viewers. +- `signal`: eeg signal models, gaze signal models, filters, processing, evaluators and viewers. - `gui`: end-user interface into registered bci tasks and parameter editing. See BCInterface.py. - `helpers`: helpful functions needed for interactions between modules, basic I/O, and data visualization. - `language`: gives probabilities of next symbols during typing. diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 8475a2d4e..7d5e2d0a4 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -14,7 +14,6 @@ from bcipy.helpers.exceptions import BciPyCoreException from bcipy.helpers.list import grouper -from bcipy.helpers.symbols import alphabet # Prevents pillow from filling the console with debug info logging.getLogger('PIL').setLevel(logging.WARNING) diff --git a/bcipy/signal/model/README.md b/bcipy/signal/model/README.md index 6a270ed8f..ad49a0aba 100644 --- a/bcipy/signal/model/README.md +++ b/bcipy/signal/model/README.md @@ -16,6 +16,10 @@ This model involves the following stages: 6. In order to make a Bayesian update, we need to compute the ratio of the generative likelihood terms for the presented letter (`p(eeg | +)` and `p(eeg | -)`). This ratio is obtained from the final kernel density estimation step and is used in the final decision rule. See `pca_rda_kde/pca_rda_kde.py`. +## Gaze Model! + +We have one! Documentation to come... + ## RDA/KDE Model This model involves the following stages: diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index e0a73a95f..39e864453 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -300,7 +300,6 @@ def analyze_gaze( symbol_set=symbol_set ) - # Extract the data for each target label and each eye separately. # Apply preprocessing: preprocessed_data = {i: [] for i in symbol_set} From 630481beb12277a5f4fbde64b6d708b83084640e Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 17 Nov 2023 11:00:09 -0800 Subject: [PATCH 160/330] Refactoring --- bcipy/display/paradigm/vep/codes.py | 46 ++++ bcipy/display/paradigm/vep/layout.py | 14 +- bcipy/display/paradigm/vep/vep_stim.py | 1 + bcipy/display/tests/vep/test_codes.py | 66 +++++ bcipy/helpers/list.py | 6 +- bcipy/helpers/stimuli.py | 248 +----------------- bcipy/helpers/tests/test_stimuli.py | 57 +--- bcipy/task/paradigm/vep/calibration.py | 6 +- bcipy/task/paradigm/vep/stim_generation.py | 214 +++++++++++++++ .../tests/paradigm/vep}/test_stimuli_vep.py | 4 +- 10 files changed, 350 insertions(+), 312 deletions(-) create mode 100644 bcipy/display/tests/vep/test_codes.py create mode 100644 bcipy/task/paradigm/vep/stim_generation.py rename bcipy/{helpers/tests => task/tests/paradigm/vep}/test_stimuli_vep.py (96%) diff --git a/bcipy/display/paradigm/vep/codes.py b/bcipy/display/paradigm/vep/codes.py index 1ec003ffd..ae54af88f 100644 --- a/bcipy/display/paradigm/vep/codes.py +++ b/bcipy/display/paradigm/vep/codes.py @@ -1,8 +1,13 @@ """Functions related to VEP flash rates""" +import logging from typing import List import numpy as np +from bcipy.helpers.exceptions import BciPyCoreException + +log = logging.getLogger(__name__) + def create_vep_codes(length=32, count=4) -> List[List[int]]: """Create a list of random VEP codes. @@ -14,3 +19,44 @@ def create_vep_codes(length=32, count=4) -> List[List[int]]: """ np.random.seed(1) return [np.random.randint(2, size=length) for _ in range(count)] + + +def ssvep_to_code(refresh_rate: int = 60, flicker_rate: int = 10) -> List[int]: + """Convert SSVEP to Code. + + Converts a SSVEP (steady state visual evoked potential; ex. 10 Hz) to a code (0,1) + given the refresh rate of the monitor (Hz) provided and a desired flicker rate (Hz). + + Parameters: + ----------- + refresh_rate: int, refresh rate of the monitor (Hz) + flicker_rate: int, desired flicker rate (Hz) + Returns: + -------- + list of 0s and 1s that represent the code for the SSVEP on the monitor. + """ + if flicker_rate > refresh_rate: + raise BciPyCoreException( + 'flicker rate cannot be greater than refresh rate') + if flicker_rate <= 1: + raise BciPyCoreException('flicker rate must be greater than 1') + + # get the number of frames per flicker + length_flicker = refresh_rate / flicker_rate + + if length_flicker.is_integer(): + length_flicker = int(length_flicker) + else: + err_message = f'flicker rate={flicker_rate} is not an integer multiple of refresh rate={refresh_rate}' + log.exception(err_message) + raise BciPyCoreException(err_message) + + # start the first frames as off (0) for length of flicker; + # it will then toggle on (1)/ off (0) for length of flicker until all frames are filled for refresh rate. + t = 0 + codes = [] + for _ in range(flicker_rate): + codes += [t] * length_flicker + t = 1 - t + + return codes diff --git a/bcipy/display/paradigm/vep/layout.py b/bcipy/display/paradigm/vep/layout.py index 5859831b2..2a873c044 100644 --- a/bcipy/display/paradigm/vep/layout.py +++ b/bcipy/display/paradigm/vep/layout.py @@ -169,8 +169,18 @@ def positions(self) -> List[Tuple]: return [(left, top), (right, top), (left, bottom), (right, bottom)] middle = layout.horizontal_middle - return [(left, top), (middle, top), (right, top), - (left, bottom), (middle, bottom), (right, bottom)] + return [(left, top), (middle, top), (right, top), (left, bottom), + (middle, bottom), (right, bottom)] + + @property + def names(self) -> List[str]: + """Box names for each position.""" + if self.num_boxes == 4: + return ['LEFT_TOP', 'RIGHT_TOP', 'LEFT_BOTTOM', 'RIGHT_BOTTOM'] + return [ + 'LEFT_TOP', 'MIDDLE_TOP', 'RIGHT_TOP', 'LEFT_BOTTOM', + 'MIDDLE_BOTTOM', 'RIGHT_BOTTOM' + ] def animation_path(start_pos: Tuple[float, float], end_pos: Tuple[float, diff --git a/bcipy/display/paradigm/vep/vep_stim.py b/bcipy/display/paradigm/vep/vep_stim.py index 366f6e836..c7e04d11d 100644 --- a/bcipy/display/paradigm/vep/vep_stim.py +++ b/bcipy/display/paradigm/vep/vep_stim.py @@ -1,3 +1,4 @@ +"""Display components for VEP""" from typing import List, Tuple from psychopy import visual # type: ignore diff --git a/bcipy/display/tests/vep/test_codes.py b/bcipy/display/tests/vep/test_codes.py new file mode 100644 index 000000000..56f399796 --- /dev/null +++ b/bcipy/display/tests/vep/test_codes.py @@ -0,0 +1,66 @@ +import unittest + +from bcipy.display.paradigm.vep.codes import ssvep_to_code +from bcipy.helpers.exceptions import BciPyCoreException + + +class SSVEPStimuli(unittest.TestCase): + """Tests for ssvep_to_code""" + + def test_default_flicker_and_refresh_rate_return_codes(self): + """Test defaults""" + response = ssvep_to_code() + self.assertIsInstance(response, list) + self.assertEqual(response[0], 0) + + def test_ssvep_to_codes_returns_the_length_of_refresh_rate(self): + """Test with custom refresh rate""" + refresh_rate = 40 + flicker_rate = 2 + response = ssvep_to_code(flicker_rate=flicker_rate, + refresh_rate=refresh_rate) + self.assertTrue(len(response) == refresh_rate) + self.assertEqual(response[0], 0) + self.assertEqual(response[-1], 1) + + def test_exception_when_refresh_rate_less_than_flicker_rate(self): + """Test refresh rate less than flicker rate""" + flicker_rate = 300 + refresh_rate = 1 + + with self.assertRaises(BciPyCoreException): + ssvep_to_code(refresh_rate, flicker_rate) + + def test_refresh_rate_not_evenly_divisible(self): + """Test when refresh to flicker rates is not evenly divisible.""" + flicker_rate = 11 + refresh_rate = 60 + + with self.assertRaises(BciPyCoreException): + ssvep_to_code(refresh_rate, flicker_rate) + + def test_expected_codes(self): + """Test that the expected codes are returned""" + flicker_rate = 2 + refresh_rate = 4 + response = ssvep_to_code(flicker_rate=flicker_rate, + refresh_rate=refresh_rate) + expected_output = [0, 0, 1, 1] + self.assertEqual(response, expected_output) + + def test_insufficient_flicker_rate(self): + """Test that an exception is thrown when the flicker rate is 1 or less + """ + flicker_rate = 1 + refresh_rate = 2 + with self.assertRaises(BciPyCoreException): + ssvep_to_code(refresh_rate, flicker_rate) + + flicker_rate = 0 + refresh_rate = 2 + with self.assertRaises(BciPyCoreException): + ssvep_to_code(refresh_rate, flicker_rate) + + +if __name__ == '__main__': + unittest.main() diff --git a/bcipy/helpers/list.py b/bcipy/helpers/list.py index d1fca1004..d1e86ead1 100644 --- a/bcipy/helpers/list.py +++ b/bcipy/helpers/list.py @@ -50,16 +50,16 @@ def find_index(iterable: List, return None -def swapped(lst: List, index1: int, index2: int) -> None: +def swapped(lst: List[Any], index1: int, index2: int) -> List[Any]: """Creates a copy of the provided list with elements at the given indices swapped.""" replacements = {index1: lst[index2], index2: lst[index1]} return [replacements.get(i, val) for i, val in enumerate(lst)] -def expanded(lst: List, +def expanded(lst: List[Any], length: int, - fill: Union[Any, Callable] = lambda x: x[-1]) -> List: + fill: Union[Any, Callable] = lambda x: x[-1]) -> List[Any]: """Creates a copy of the provided list expanded to the given length. By default the last item is used as the fill item. diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 8a38ec318..95f20f152 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -1,20 +1,19 @@ import glob import itertools import logging -import math import random import re from abc import ABC, abstractmethod from collections import Counter from enum import Enum from os import path, sep -from typing import Any, Dict, Iterator, List, NamedTuple, Optional, Tuple +from typing import Dict, Iterator, List, NamedTuple, Optional, Tuple from pandas import Series from PIL import Image from bcipy.helpers.exceptions import BciPyCoreException -from bcipy.helpers.list import find_index, grouper, swapped +from bcipy.helpers.list import grouper # Prevents pillow from filling the console with debug info logging.getLogger('PIL').setLevel(logging.WARNING) @@ -1030,246 +1029,3 @@ def get_fixation(is_txt: bool) -> str: return DEFAULT_TEXT_FIXATION else: return DEFAULT_FIXATION_PATH - - -def ssvep_to_code(refresh_rate: int = 60, flicker_rate: int = 10) -> List[int]: - """Convert SSVEP to Code. - - Converts a SSVEP (steady state visual evoked potential; ex. 10 Hz) to a code (0,1) - given the refresh rate of the monitor (Hz) provided and a desired flicker rate (Hz). - - Parameters: - ----------- - refresh_rate: int, refresh rate of the monitor (Hz) - flicker_rate: int, desired flicker rate (Hz) - Returns: - -------- - list of 0s and 1s that represent the code for the SSVEP on the monitor. - """ - if flicker_rate > refresh_rate: - raise BciPyCoreException('flicker rate cannot be greater than refresh rate') - if flicker_rate <= 1: - raise BciPyCoreException('flicker rate must be greater than 1') - - # get the number of frames per flicker - length_flicker = refresh_rate / flicker_rate - - if length_flicker.is_integer(): - length_flicker = int(length_flicker) - else: - err_message = f'flicker rate={flicker_rate} is not an integer multiple of refresh rate={refresh_rate}' - log.exception(err_message) - raise BciPyCoreException(err_message) - - # start the first frames as off (0) for length of flicker; - # it will then toggle on (1)/ off (0) for length of flicker until all frames are filled for refresh rate. - t = 0 - codes = [] - for _ in range(flicker_rate): - codes += [t] * length_flicker - t = 1 - t - - return codes - - -def generate_vep_calibration_inquiries(alp: List[str], - timing: List[float] = None, - color: List[str] = None, - inquiry_count: int = 100, - num_boxes: int = 4, - is_txt: bool = True) -> InquirySchedule: - """ - Generates VEP inquiries with target letters in all possible positions. - - In the VEP paradigm, all stimuli in the alphabet are displayed in each - inquiry. The symbols with the highest likelihoods are displayed alone - while those with lower likelihoods occur together. - - Parameters - ---------- - alp(list[str]): stimuli - timing(list[float]): Task specific timing for generator. - [target, fixation, stimuli] - color(list[str]): Task specific color for generator - [target, fixation, stimuli] - inquiry_count(int): number of inquiries in a calibration - num_boxes(int): number of display boxes - is_txt(bool): whether the stimuli type is text. False would be an image stimuli. - - Return - ------ - schedule_inq(tuple( - samples[list[list[str]]]: list of inquiries - timing(list[list[float]]): list of timings - color(list(list[str])): list of colors)): scheduled inquiries - """ - if timing is None: - timing = [0.5, 1, 2] - default_colors = [ - '#00FF80', '#FFFFB3', '#CB99FF', '#FB8072', '#80B1D3', '#FF8232' - ] - if color is None: - box_colors = list( - itertools.islice(itertools.cycle(default_colors), num_boxes)) - color = ['green', 'red'] + box_colors - assert len( - timing - ) == 3, "timing must include values for [target, fixation, stimuli]" - - inquiries = generate_vep_inquiries(alp, num_boxes, inquiry_count, is_txt) - times = [timing for _ in range(inquiry_count)] - colors = [color for _ in range(inquiry_count)] - - return InquirySchedule(inquiries, times, colors) - - -def generate_vep_inquiries(symbols: List[str], - num_boxes: int = 6, - inquiry_count: int = 20, - is_txt: bool = True) -> List[List[Any]]: - """Generates inquiries""" - fixation = get_fixation(is_txt) - target_indices = random_target_positions(inquiry_count, - stim_per_inquiry=num_boxes, - percentage_without_target=0) - - # repeat the symbols as necessary to ensure an adequate size for sampling - # without replacement. - population = symbols * math.ceil(inquiry_count / len(symbols)) - targets = random.sample(population, inquiry_count) - - return [[target, fixation] + generate_vep_inquiry(alphabet=symbols, - num_boxes=num_boxes, - target=target, - target_pos=target_pos) - for target, target_pos in zip(targets, target_indices)] - - -def stim_per_box(num_symbols: int, - num_boxes: int = 6, - max_empty_boxes: int = 0, - max_single_sym_boxes: int = 4) -> List[int]: - """Determine the number of stimuli per vep box. - - Parameters - ---------- - num_symbols - number of symbols - num_boxes - number of boxes - max_empty_boxes - the maximum number of boxes which won't have any - symbols within them. - max_single_sym_boxes - maximum number of boxes with a single symbol - - Returns - ------- - A list of length num_boxes, where each number in the list represents - the number of symbols that should be in the box at that position. - - Post conditions: - The sum of the list should equal num_symbols. Further, there should - be at most max_empty_boxes with value of 0 and max_single_sym_boxes - with a value of 1. - """ - # Logic based off of example sessions from: - # https://www.youtube.com/watch?v=JNFYSeIIOrw - # [[2, 3, 5, 5, 6, 7], - # [2, 1, 10, 1, 1, 13], - # [3, 4, 17, 1, 1, 2], - # [1, 1, 1, 0, 1, 24], - # [1, 2, 1, 22, 1, 1], - # [2, 1, 1, 21, 2, 1], - # [1, 1, 25, 0, 1, 0]] - # and - # [[7, 3, 4, 9, 2, 3], - # 1, 1, 6, 9, 7, 2], - # 1, 2, 18, 2, 3, 2], - # 1, 1, 4, 4, 17, 1], - # 1, 3, 1, 1, 20, 2], - # 1, 1, 1, 20, 3, 2], - # 1, 1, 1, 4, 21, 0]] - - if max_empty_boxes + max_single_sym_boxes >= num_boxes: - max_empty_boxes = 0 - max_single_sym_boxes = num_boxes - 1 - - # no more than 1 empty box - empty_boxes = [0] * random.choice(range(max_empty_boxes + 1)) - - # no more than 4 boxes with a single symbol - single_boxes = [1] * random.choice( - range((max_single_sym_boxes + 1) - len(empty_boxes))) - - boxes = empty_boxes + single_boxes - - remaining_symbols = num_symbols - sum(boxes) - remaining_boxes = num_boxes - len(boxes) - - # iterate through the remaining boxes except for the last one - for _box in range(remaining_boxes - 1): - # each remaining box must have 2 or more symbols - box_max = remaining_symbols - (2 * remaining_boxes - 1) - - n = random.choice(range(2, box_max + 1)) - boxes.append(n) - remaining_boxes -= 1 - remaining_symbols = remaining_symbols - n - - # last box - boxes.append(remaining_symbols) - - return sorted(boxes) - - -def generate_vep_inquiry(alphabet: List[str], - num_boxes: int = 6, - target: Optional[str] = None, - target_pos: Optional[int] = None) -> List[List[str]]: - """Generates a single random inquiry. - - Parameters - ---------- - alphabet - list of symbols from which to select. - num_boxes - number of display areas; symbols will be partitioned into - these areas. - target - target symbol for the generated inquiry - target_pos - box index that should contain the target - - Returns - ------- - An inquiry represented by a list of lists, where each sublist - represents a display box and contains symbols that should appear in that box. - - Post-conditions: - Symbols will not be repeated and all symbols will be partitioned into - one of the boxes. - """ - - box_counts = stim_per_box(num_symbols=len(alphabet), num_boxes=num_boxes) - assert len(box_counts) == num_boxes - syms = [sym for sym in alphabet] - random.shuffle(syms) - - if target: - # Move the target to the front so it gets put in the lowest count box - # greater than 0. - syms = swapped(syms, index1=0, index2=syms.index(target)) - # Put syms in boxes - boxes = [] - sym_index = 0 - for count in box_counts: - box = [] - for _i in range(count): - box.append(syms[sym_index]) - sym_index += 1 - box.sort() # sort stim within box - boxes.append(box) - - random.shuffle(boxes) - - if target and target_pos is not None: - # Find the box with the target and swap with the box currently at the - # target_pos. - boxes = swapped(boxes, - index1=find_index(boxes, lambda box: target in box), - index2=target_pos) - - return boxes diff --git a/bcipy/helpers/tests/test_stimuli.py b/bcipy/helpers/tests/test_stimuli.py index 4a21b423b..310b1bd54 100644 --- a/bcipy/helpers/tests/test_stimuli.py +++ b/bcipy/helpers/tests/test_stimuli.py @@ -9,7 +9,6 @@ from mockito import any, mock, unstub, verify, when from psychopy import core -from bcipy.helpers.exceptions import BciPyCoreException from bcipy.helpers.stimuli import (DEFAULT_FIXATION_PATH, InquiryReshaper, StimuliOrder, TargetPositions, TrialReshaper, alphabetize, @@ -21,8 +20,7 @@ inquiry_target, inquiry_target_counts, jittered_timing, play_sound, random_target_positions, soundfiles, - ssvep_to_code, target_index, - update_inquiry_timing) + target_index, update_inquiry_timing) MOCK_FS = 44100 @@ -975,59 +973,6 @@ def test_update_inquiry_timing_with_non_int_timing_after_correction(self): self.assertTrue(new_timing == expected_timing) -class SSVEPStimuli(unittest.TestCase): - - def test_default_flicker_and_refresh_rate_return_codes(self): - response = ssvep_to_code() - self.assertIsInstance(response, list) - self.assertEqual(response[0], 0) - - def test_ssvep_to_codes_returns_the_length_of_refresh_rate(self): - refresh_rate = 40 - flicker_rate = 2 - response = ssvep_to_code(flicker_rate=flicker_rate, - refresh_rate=refresh_rate) - self.assertTrue(len(response) == refresh_rate) - self.assertEqual(response[0], 0) - self.assertEqual(response[-1], 1) - - def test_ssvep_to_code_raises_exception_when_refresh_rate_less_than_flicker_rate( - self): - flicker_rate = 300 - refresh_rate = 1 - - with self.assertRaises(BciPyCoreException): - ssvep_to_code(refresh_rate, flicker_rate) - - def test_when_division_of_refresh_rate_by_flicker_rate_raise_exception_if_noninteger( - self): - flicker_rate = 11 - refresh_rate = 60 - - with self.assertRaises(BciPyCoreException): - ssvep_to_code(refresh_rate, flicker_rate) - - def test_ssvep_to_code_returns_expected_codes(self): - flicker_rate = 2 - refresh_rate = 4 - response = ssvep_to_code(flicker_rate=flicker_rate, - refresh_rate=refresh_rate) - expected_output = [0, 0, 1, 1] - self.assertEqual(response, expected_output) - - def test_ssvep_to_code_raises_exception_when_flicker_rate_one_or_less( - self): - flicker_rate = 1 - refresh_rate = 2 - with self.assertRaises(BciPyCoreException): - ssvep_to_code(refresh_rate, flicker_rate) - - flicker_rate = 0 - refresh_rate = 2 - with self.assertRaises(BciPyCoreException): - ssvep_to_code(refresh_rate, flicker_rate) - - class TestSoundStimuli(unittest.TestCase): def tearDown(self): diff --git a/bcipy/task/paradigm/vep/calibration.py b/bcipy/task/paradigm/vep/calibration.py index a18110530..86c82a307 100644 --- a/bcipy/task/paradigm/vep/calibration.py +++ b/bcipy/task/paradigm/vep/calibration.py @@ -1,7 +1,7 @@ """VEP Calibration task-related code""" from typing import List, Tuple -from psychopy import core, visual +from psychopy import core, visual # type: ignore from bcipy.acquisition.multimodal import ClientManager from bcipy.config import TRIGGER_FILENAME, WAIT_SCREEN_MESSAGE @@ -12,14 +12,14 @@ from bcipy.display.paradigm.vep.layout import BoxConfiguration from bcipy.helpers.clock import Clock from bcipy.helpers.parameters import Parameters -from bcipy.helpers.stimuli import (InquirySchedule, - generate_vep_calibration_inquiries) from bcipy.helpers.symbols import alphabet from bcipy.helpers.task import get_user_input, trial_complete_message from bcipy.helpers.triggers import (FlushFrequency, Trigger, TriggerHandler, TriggerType, convert_timing_triggers, offset_label) from bcipy.task import Task +from bcipy.task.paradigm.vep.stim_generation import ( + InquirySchedule, generate_vep_calibration_inquiries) def trigger_type(symbol: str, target: str, _index: int) -> TriggerType: diff --git a/bcipy/task/paradigm/vep/stim_generation.py b/bcipy/task/paradigm/vep/stim_generation.py new file mode 100644 index 000000000..e5111f8e6 --- /dev/null +++ b/bcipy/task/paradigm/vep/stim_generation.py @@ -0,0 +1,214 @@ +"""Functions related to stimuli generation for VEP tasks""" +import itertools +import math +import random +from typing import Any, List, Optional + +from bcipy.helpers.list import find_index, swapped +from bcipy.helpers.stimuli import (InquirySchedule, get_fixation, + random_target_positions) + + +def generate_vep_calibration_inquiries(alp: List[str], + timing: Optional[List[float]] = None, + color: Optional[List[str]] = None, + inquiry_count: int = 100, + num_boxes: int = 4, + is_txt: bool = True) -> InquirySchedule: + """ + Generates VEP inquiries with target letters in all possible positions. + + In the VEP paradigm, all stimuli in the alphabet are displayed in each + inquiry. The symbols with the highest likelihoods are displayed alone + while those with lower likelihoods occur together. + + Parameters + ---------- + alp(list[str]): stimuli + timing(list[float]): Task specific timing for generator. + [target, fixation, stimuli] + color(list[str]): Task specific color for generator + [target, fixation, stimuli] + inquiry_count(int): number of inquiries in a calibration + num_boxes(int): number of display boxes + is_txt(bool): whether the stimuli type is text. False would be an image stimuli. + + Return + ------ + schedule_inq(tuple( + samples[list[list[str]]]: list of inquiries + timing(list[list[float]]): list of timings + color(list(list[str])): list of colors)): scheduled inquiries + """ + if timing is None: + timing = [0.5, 1, 2] + default_colors = [ + '#00FF80', '#FFFFB3', '#CB99FF', '#FB8072', '#80B1D3', '#FF8232' + ] + if color is None: + box_colors = list( + itertools.islice(itertools.cycle(default_colors), num_boxes)) + color = ['green', 'red'] + box_colors + assert len( + timing + ) == 3, "timing must include values for [target, fixation, stimuli]" + + inquiries = generate_vep_inquiries(alp, num_boxes, inquiry_count, is_txt) + times = [timing for _ in range(inquiry_count)] + colors = [color for _ in range(inquiry_count)] + + return InquirySchedule(inquiries, times, colors) + + +def generate_vep_inquiries(symbols: List[str], + num_boxes: int = 6, + inquiry_count: int = 20, + is_txt: bool = True) -> List[List[Any]]: + """Generates inquiries""" + fixation = get_fixation(is_txt) + target_indices = random_target_positions(inquiry_count, + stim_per_inquiry=num_boxes, + percentage_without_target=0) + + # repeat the symbols as necessary to ensure an adequate size for sampling + # without replacement. + population = symbols * math.ceil(inquiry_count / len(symbols)) + targets = random.sample(population, inquiry_count) + + return [[target, fixation] + generate_vep_inquiry(alphabet=symbols, + num_boxes=num_boxes, + target=target, + target_pos=target_pos) + for target, target_pos in zip(targets, target_indices)] + + +def stim_per_box(num_symbols: int, + num_boxes: int = 6, + max_empty_boxes: int = 0, + max_single_sym_boxes: int = 4) -> List[int]: + """Determine the number of stimuli per vep box. + + Parameters + ---------- + num_symbols - number of symbols + num_boxes - number of boxes + max_empty_boxes - the maximum number of boxes which won't have any + symbols within them. + max_single_sym_boxes - maximum number of boxes with a single symbol + + Returns + ------- + A list of length num_boxes, where each number in the list represents + the number of symbols that should be in the box at that position. + + Post conditions: + The sum of the list should equal num_symbols. Further, there should + be at most max_empty_boxes with value of 0 and max_single_sym_boxes + with a value of 1. + """ + # Logic based off of example sessions from: + # https://www.youtube.com/watch?v=JNFYSeIIOrw + # [[2, 3, 5, 5, 6, 7], + # [2, 1, 10, 1, 1, 13], + # [3, 4, 17, 1, 1, 2], + # [1, 1, 1, 0, 1, 24], + # [1, 2, 1, 22, 1, 1], + # [2, 1, 1, 21, 2, 1], + # [1, 1, 25, 0, 1, 0]] + # and + # [[7, 3, 4, 9, 2, 3], + # 1, 1, 6, 9, 7, 2], + # 1, 2, 18, 2, 3, 2], + # 1, 1, 4, 4, 17, 1], + # 1, 3, 1, 1, 20, 2], + # 1, 1, 1, 20, 3, 2], + # 1, 1, 1, 4, 21, 0]] + + if max_empty_boxes + max_single_sym_boxes >= num_boxes: + max_empty_boxes = 0 + max_single_sym_boxes = num_boxes - 1 + + # no more than 1 empty box + empty_boxes = [0] * random.choice(range(max_empty_boxes + 1)) + + # no more than 4 boxes with a single symbol + single_boxes = [1] * random.choice( + range((max_single_sym_boxes + 1) - len(empty_boxes))) + + boxes = empty_boxes + single_boxes + + remaining_symbols = num_symbols - sum(boxes) + remaining_boxes = num_boxes - len(boxes) + + # iterate through the remaining boxes except for the last one + for _box in range(remaining_boxes - 1): + # each remaining box must have 2 or more symbols + box_max = remaining_symbols - (2 * remaining_boxes - 1) + + n = random.choice(range(2, box_max + 1)) + boxes.append(n) + remaining_boxes -= 1 + remaining_symbols = remaining_symbols - n + + # last box + boxes.append(remaining_symbols) + + return sorted(boxes) + + +def generate_vep_inquiry(alphabet: List[str], + num_boxes: int = 6, + target: Optional[str] = None, + target_pos: Optional[int] = None) -> List[List[str]]: + """Generates a single random inquiry. + + Parameters + ---------- + alphabet - list of symbols from which to select. + num_boxes - number of display areas; symbols will be partitioned into + these areas. + target - target symbol for the generated inquiry + target_pos - box index that should contain the target + + Returns + ------- + An inquiry represented by a list of lists, where each sublist + represents a display box and contains symbols that should appear in that box. + + Post-conditions: + Symbols will not be repeated and all symbols will be partitioned into + one of the boxes. + """ + + box_counts = stim_per_box(num_symbols=len(alphabet), num_boxes=num_boxes) + assert len(box_counts) == num_boxes + syms = [sym for sym in alphabet] + random.shuffle(syms) + + if target: + # Move the target to the front so it gets put in the lowest count box + # greater than 0. + syms = swapped(syms, index1=0, index2=syms.index(target)) + # Put syms in boxes + boxes = [] + sym_index = 0 + for count in box_counts: + box = [] + for _i in range(count): + box.append(syms[sym_index]) + sym_index += 1 + box.sort() # sort stim within box + boxes.append(box) + + random.shuffle(boxes) + + if target and target_pos is not None: + # Find the box with the target and swap with the box currently at the + # target_pos. + current_target_pos = find_index(boxes, lambda box: target in box) + if current_target_pos is not None: + boxes = swapped(boxes, + index1=current_target_pos, + index2=target_pos) + + return boxes diff --git a/bcipy/helpers/tests/test_stimuli_vep.py b/bcipy/task/tests/paradigm/vep/test_stimuli_vep.py similarity index 96% rename from bcipy/helpers/tests/test_stimuli_vep.py rename to bcipy/task/tests/paradigm/vep/test_stimuli_vep.py index b3771029f..b7f4d5170 100644 --- a/bcipy/helpers/tests/test_stimuli_vep.py +++ b/bcipy/task/tests/paradigm/vep/test_stimuli_vep.py @@ -1,8 +1,8 @@ import unittest -from bcipy.helpers.stimuli import (generate_vep_calibration_inquiries, - generate_vep_inquiry, stim_per_box) from bcipy.helpers.symbols import alphabet +from bcipy.task.paradigm.vep.stim_generation import ( + generate_vep_calibration_inquiries, generate_vep_inquiry, stim_per_box) class SSVEPStimuli(unittest.TestCase): From 27d1ad030f5ba0d6ca389d5aa5edcd9c5385baad Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 17 Nov 2023 11:03:35 -0800 Subject: [PATCH 161/330] New parameter for vep animation time --- bcipy/parameters/parameters.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index d390e9ba9..8753864f3 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -367,6 +367,14 @@ "recommended_values": "", "type": "float" }, + "time_vep_animation": { + "value": "1.0", + "section": "bci_config", + "readableName": "Time VEP Animation (sec)", + "helpTip": "The amount of time in seconds for the animation moving symbols to boxes.", + "recommended_values": "", + "type": "float" + }, "stim_jitter": { "value": "0.0", "section": "bci_config", From 2423c42b1263fa71a71fe396f5047fb3482501e9 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 17 Nov 2023 11:02:20 -0800 Subject: [PATCH 162/330] New parameter for vep animation time --- bcipy/parameters/parameters.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index c1fe3cb0b..90eb22511 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -367,6 +367,14 @@ "recommended_values": "", "type": "float" }, + "time_vep_animation": { + "value": "1.0", + "section": "bci_config", + "readableName": "Time VEP Animation (sec)", + "helpTip": "The amount of time in seconds for the animation moving symbols to boxes.", + "recommended_values": "", + "type": "float" + }, "stim_jitter": { "value": "0.0", "section": "bci_config", From 7ae1f4ebd94b7c6b596130b25ecf8739f0e826d3 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 17 Nov 2023 11:05:00 -0800 Subject: [PATCH 163/330] Revert "New parameter for vep animation time" This reverts commit 437572ace09eb107aa09966e5a8360673131ea4d. --- bcipy/parameters/parameters.json | 8 -------- 1 file changed, 8 deletions(-) diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index 90eb22511..c1fe3cb0b 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -367,14 +367,6 @@ "recommended_values": "", "type": "float" }, - "time_vep_animation": { - "value": "1.0", - "section": "bci_config", - "readableName": "Time VEP Animation (sec)", - "helpTip": "The amount of time in seconds for the animation moving symbols to boxes.", - "recommended_values": "", - "type": "float" - }, "stim_jitter": { "value": "0.0", "section": "bci_config", From 348f6717ac8df5f213340437d419836850b4e86e Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 17 Nov 2023 11:48:11 -0800 Subject: [PATCH 164/330] Added missing import --- bcipy/helpers/tests/test_stimuli.py | 1 + 1 file changed, 1 insertion(+) diff --git a/bcipy/helpers/tests/test_stimuli.py b/bcipy/helpers/tests/test_stimuli.py index e1cbbf45f..397ca2eac 100644 --- a/bcipy/helpers/tests/test_stimuli.py +++ b/bcipy/helpers/tests/test_stimuli.py @@ -9,6 +9,7 @@ from mockito import any, mock, unstub, verify, when from psychopy import core +from bcipy.helpers.exceptions import BciPyCoreException from bcipy.helpers.stimuli import (DEFAULT_FIXATION_PATH, InquiryReshaper, StimuliOrder, TargetPositions, TrialReshaper, alphabetize, From b03dcd2ceb4b8d259273374966f316732b5418ab Mon Sep 17 00:00:00 2001 From: tab-cmd Date: Fri, 17 Nov 2023 16:27:52 -0800 Subject: [PATCH 165/330] Add mypy and various clean up (#301) --- .coveragerc | 7 +- .github/workflows/main.yml | 65 ++++++++------ .gitignore | 15 ++-- CHANGELOG.md | 8 +- Makefile | 23 ++++- README.md | 41 +++++++-- bcipy/acquisition/datastream/generator.py | 4 +- bcipy/acquisition/datastream/lsl_server.py | 15 ++-- .../datastream/mock/eye_tracker_server.py | 2 +- bcipy/acquisition/datastream/producer.py | 6 +- bcipy/acquisition/devices.py | 14 +-- bcipy/acquisition/exceptions.py | 1 + bcipy/acquisition/multimodal.py | 23 ++--- bcipy/acquisition/protocols/lsl/lsl_client.py | 48 +++++------ .../protocols/lsl/lsl_connector.py | 4 +- .../acquisition/protocols/lsl/lsl_recorder.py | 24 +++--- .../tests/protocols/lsl/test_lsl_recorder.py | 4 + bcipy/acquisition/util.py | 18 ---- bcipy/config.py | 5 ++ bcipy/display/components/layout.py | 13 +-- bcipy/display/components/task_bar.py | 18 ++-- bcipy/display/demo/components/demo_layouts.py | 6 +- bcipy/display/main.py | 17 ++-- bcipy/display/paradigm/matrix/display.py | 2 +- bcipy/display/paradigm/matrix/layout.py | 4 +- bcipy/display/paradigm/rsvp/display.py | 12 +-- bcipy/display/paradigm/vep/display.py | 10 +-- .../display/tests/components/test_task_bar.py | 12 +-- bcipy/feedback/feedback.py | 2 +- bcipy/feedback/visual/visual_feedback.py | 28 ++++-- bcipy/gui/experiments/ExperimentField.py | 14 +-- bcipy/gui/main.py | 12 +-- bcipy/gui/parameters/params_form.py | 3 +- bcipy/helpers/acquisition.py | 6 +- bcipy/helpers/convert.py | 44 ++++++---- bcipy/helpers/copy_phrase_wrapper.py | 5 +- bcipy/helpers/list.py | 6 +- bcipy/helpers/load.py | 9 +- bcipy/helpers/parameters.py | 42 ++++----- bcipy/helpers/raw_data.py | 51 ++++++----- bcipy/helpers/save.py | 9 +- bcipy/helpers/session.py | 12 +-- bcipy/helpers/stimuli.py | 81 +++++++++--------- bcipy/helpers/system_utils.py | 7 +- bcipy/helpers/task.py | 25 +++--- bcipy/helpers/tests/test_raw_data.py | 2 +- bcipy/helpers/tests/test_visualization.py | 33 +++++-- bcipy/helpers/triggers.py | 18 ++-- bcipy/helpers/visualization.py | 21 +++-- bcipy/language/README.md | 2 +- bcipy/language/model/causal.py | 6 +- bcipy/language/model/kenlm.py | 4 +- bcipy/language/model/mixture.py | 8 +- bcipy/language/model/uniform.py | 2 +- bcipy/language/model/unigram.py | 4 +- bcipy/language/tests/test_kenlm.py | 4 + bcipy/main.py | 12 +-- bcipy/parameters/devices.json | 6 +- bcipy/preferences.py | 12 +-- bcipy/signal/evaluate/evaluator.py | 11 ++- bcipy/signal/evaluate/rules.py | 10 +-- bcipy/signal/model/README.md | 9 +- .../signal/model/dimensionality_reduction.py | 11 +-- bcipy/signal/model/offline_analysis.py | 8 +- bcipy/signal/model/pca_rda_kde/pca_rda_kde.py | 4 +- bcipy/signal/process/filter.py | 8 +- bcipy/signal/process/transform.py | 13 ++- .../test_mean_erp.png | Bin 84452 -> 84452 bytes .../test_nontarget_topomap.png | Bin 120183 -> 113716 bytes .../test_target_topomap.png | Bin 115767 -> 107509 bytes bcipy/task/control/evidence.py | 7 +- bcipy/task/control/handler.py | 5 +- bcipy/task/data.py | 44 +++++----- bcipy/task/exceptions.py | 6 +- bcipy/task/main.py | 10 +-- bcipy/task/paradigm/matrix/calibration.py | 12 ++- bcipy/task/paradigm/matrix/copy_phrase.py | 6 +- .../paradigm/matrix/timing_verification.py | 4 +- .../rsvp/calibration/timing_verification.py | 1 + bcipy/task/paradigm/rsvp/copy_phrase.py | 66 ++++++++------ bcipy/task/start_task.py | 43 ++++++++-- bcipy/task/tests/core/test_data.py | 28 +++--- .../tests/paradigm/rsvp/test_copy_phrase.py | 2 + .../rsvp/test_copy_phrase_task_summary.py | 10 ++- dev_requirements.txt | 2 + mypy.ini | 11 +++ pytest.ini | 2 +- requirements.txt | 3 +- 88 files changed, 720 insertions(+), 527 deletions(-) create mode 100644 mypy.ini diff --git a/.coveragerc b/.coveragerc index 3d00e8ade..a32c1d6e6 100644 --- a/.coveragerc +++ b/.coveragerc @@ -6,11 +6,14 @@ omit = *tests* *test* *demo* - *gui/* + */gui/* [report] exclude_lines = pragma: no cover def __repr__ + def __str__ raise NotImplementedError - if __name__ == .__main__.: \ No newline at end of file + @abstract + if __name__ == .__main__.: + log = logging.getLogger(__name__) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3df0da8b2..ca1c4b974 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -26,7 +26,7 @@ jobs: uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - - name: Install dependencies + - name: Update OS, pip & install custom dependencies run: | sudo apt-get update sudo apt-get install libgtk-3-dev @@ -36,14 +36,13 @@ jobs: sudo apt-get install libsndfile* sudo apt-get install xvfb python -m pip install --upgrade pip + pip install kenlm==0.1 --global-option="--max_order=12" + pip install psychopy==2023.2.1 --no-deps pip install attrdict3 + - name: Install dependencies + run: | pip install -r dev_requirements.txt pip install -e . - pip install kenlm==0.1 --global-option="--max_order=12" - - name: Lint with flake8 - run: | - # stop the build if there are Python syntax errors or undefined names - flake8 bcipy - name: Unit test if: always() run: | @@ -59,6 +58,12 @@ jobs: else echo "Ubuntu test failure" fi + - name: type-check + run: | + mypy bcipy + - name: lint + run: | + flake8 bcipy build-windows: @@ -74,25 +79,29 @@ jobs: uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - - name: Install dependencies for python3.9 - if: matrix.python-version == 3.9 + - name: update pip & install custom dependencies run: | python -m pip install --upgrade pip - pip install ./.bcipy/downloads/pyWinhook-1.6.2-cp39-cp39-win_amd64.whl - - name: Install dependencies + pip install kenlm==0.1 --global-option="--max_order=12" + pip install psychopy==2023.2.1 --no-deps + - name: install manually downloaded pyWinhook wheel for Python 3.9 + if: matrix.python-version == 3.9 + run: | + pip install ./.bcipy/downloads/pyWinhook-1.6.2-cp39-cp39-win_amd64.whl + - name: install dependencies run: | - python -m pip install --upgrade pip pip install -r dev_requirements.txt pip install -e . - pip install kenlm==0.1 --global-option="--max_order=12" - - name: Lint with flake8 - run: | - # stop the build if there are Python syntax errors or undefined names - flake8 bcipy - - name: Unit test + - name: unittest if: always() run: | coverage run --branch --source=bcipy -m pytest --mpl -k "not slow" + - name: type-check + run: | + mypy bcipy + - name: lint + run: | + flake8 bcipy build-macos: @@ -108,17 +117,25 @@ jobs: uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - - name: Install dependencies + - name: update pip & install custom dependencies run: | python -m pip install --upgrade pip - pip install -r dev_requirements.txt - pip install -e . pip install kenlm==0.1 --global-option="--max_order=12" - - name: Lint with flake8 + pip install psychopy==2023.2.1 --no-deps + - name: install dependencies run: | - # stop the build if there are Python syntax errors or undefined names - flake8 bcipy - - name: Unit test + pip install -r dev_requirements.txt + pip install -e . + - name: unittest if: always() run: | coverage run --branch --source=bcipy -m pytest --mpl -k "not slow" + coverage report + - name: type-check + run: | + mypy bcipy + - name: lint + run: | + flake8 bcipy + + diff --git a/.gitignore b/.gitignore index 5a944e305..1b4f6af78 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +# OS and Package Files *.pyc *~ .DS_Store @@ -5,7 +6,12 @@ .vscode/ .tm_properties .mypy_cache/ -data/ +mypy-html.css +.coverage +index.html +htmlcov/ +html/ + # Virtualenv venv/ venv*/ @@ -19,15 +25,12 @@ buffer.db lmwrap.log env.txt .idea -.coverage -htmlcov/ bcipy.egg-info/ +data/ build/ dist/ - bcipy/parameters/parameters_* bcipy_cache - bcipy/language/lms/lm_dec19_char_large_12gram.* bcipy/language/lms/out_* -bcipy/language/out/ +bcipy/language/out/ \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 97218f8fb..cf7e847d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,15 +8,17 @@ Our last release candidate before the official 2.0 release! - Support for multiple devices in online querying #286 - Support for trigger handling relative to a given device #293 - Model - - Offline analysis of multimodal fusion. First version of gaze model is completed #294 Gaze reshaper is updated #294 Visualization for the gaze classification is added #294 + - Offline analysis to support multimodal fusion. Initial release of GazeModel, GazeReshaper, and Gaze Visualization #294 - Stimuli - Updates to ensure stimuli are presented at the same frequency #287 - Dynamic Selection Window - Updated trial_length to trial_window to allow for greater control of window used after stimulus presentations #291 - Parameters - Add a Range type parameter #285 -- Cleanup - - Change default log level to INFO to prevent too many messages in the experiment logs #288 Upgrade requirements for m1/2 chips #299/#300 +- Housekeeping + - Add mypy typing to the codebase #301 + - Change default log level to INFO to prevent too many messages in the experiment logs #288 + - Upgrade requirements for m1/2 chips #299/#300 # 2.0.0-rc.3 diff --git a/Makefile b/Makefile index c42c0f43d..2a3e0a8ae 100644 --- a/Makefile +++ b/Makefile @@ -3,12 +3,14 @@ install: dev-install: pip install -r dev_requirements.txt - pip install -e . + pip install psychopy==2023.2.1 --no-deps + pip install kenlm==0.1 --global-option="--max_order=12" + make install test-all: - coverage run --branch --source=bcipy -m pytest --mpl -k "not slow" - coverage report - flake8 bcipy + make coverage-report + make type + make lint unit-test: pytest --mpl -k "not slow" @@ -16,14 +18,27 @@ unit-test: integration-test: pytest --mpl -k "slow" +coverage-report: + coverage run --branch --source=bcipy -m pytest --mpl -k "not slow" + coverage report + coverage-html: coverage run --branch --source=bcipy -m pytest --mpl -k "not slow" coverage html lint: + flake8 bcipy + +lint-fix: autopep8 --in-place --aggressive -r bcipy flake8 bcipy +type: + mypy bcipy + +type-html: + mypy bcipy --html-report type-report + clean: find . -name "*.py[co]" -o -name __pycache__ -exec rm -rf {} + find . -path "*/*.pyo" -delete diff --git a/README.md b/README.md index ee5f86959..7e1d2cca5 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [![Follow on Twitter](https://img.shields.io/twitter/follow/cambi_tech?label=Follow&style=social)](https://twitter.com/cambi_tech) -BciPy is a library for conducting Brain-Computer Interface experiments in Python. It functions as a standalone application for experimental data collection or you can take the tools you need and start coding your own system. See our official BciPy documentation including affiliations and more context information [here](https://bcipy.github.io/) (in progress). +BciPy is a library for conducting Brain-Computer Interface experiments in Python. It functions as a standalone application for experimental data collection or you can take the tools you need and start coding your own system. See our official BciPy documentation including affiliations and more context information [here](https://bcipy.github.io/). It will run on the latest windows (7, 10, 11), linux (ubuntu 22.04) and macos (Big Sur). Other versions may work as well, but are not guaranteed. To see supported versions and operating systems as of this release see here: [BciPy Builds](https://github.com/CAMBI-tech/BciPy/actions/workflows/main.yml). @@ -18,7 +18,7 @@ Memmott, T., Koçanaoğulları, A., Lawhead, M., Klee, D., Dudy, S., Fried-Oken, ## Dependencies --------------- -This project requires Python 3.8 or 3.9. Please see notes below for additional OS specific dependencies before installation can be completed. +This project requires Python 3.8 or 3.9. Please see notes below for additional OS specific dependencies before installation can be completed and reference our documentation/FAQs for more information: https://bcipy.github.io/hardware-os-config/ ### Linux @@ -33,7 +33,9 @@ You will need to install pyWinhook manually. See [here](https://www.lfd.uci.edu/ ### Mac -If you are using a Mac, you will need to install XCode and enable command line tools. `xcode-select --install`. +If you are using a Mac, you will need to install XCode and enable command line tools. `xcode-select --install`. If using an m1/2 chip, you will need to use the install script in `scripts/shell/m2chip_install.sh` to install the prerequisites. You may also need to use the Rosetta terminal to run the install script, but this has not been necessary in our testing using m2 chips. + +If using zsh, instead of bash, you may encounter a segementation fault when running BciPy. This is due to an issue in a dependeancy of psychopy with no known fix as of yet. Please use bash instead of zsh for now. ## Installation --------------- @@ -42,14 +44,15 @@ If you are using a Mac, you will need to install XCode and enable command line t In order to run BciPy on your computer, after following the dependencies above, you will need to install the BciPy package. -To install for use locally, +To install for use locally and use of the GUI: 1. Git clone https://github.com/BciPy/BciPy.git -2. Change directory in your terminal to the repo -3. Run `pip install -e .` -4. To use the KenLMLanguageModel class, you must manually install the kenlm package. `pip install kenlm==0.1 --global-option="--max_order=12"`. +2. Change directory in your terminal to the repo directory. +3. Install the kenlm language model package. `pip install kenlm==0.1 --global-option="--max_order=12"`. +4. Install PsychoPy with no dependencies. `pip install psychopy==2023.2.1 --no-deps`. +5. Install BciPy in development mode. `pip install -e .` -If wanting the latest version from PyPi: +If wanting the latest version from PyPi and to build using modules: 1. `pip install bcipy` Alternately, if [Make](http://www.mingw.org/) is installed, you may run the follow command to install: @@ -216,6 +219,28 @@ Alternately, if Make is installed, you may run the follow command to run autopep make lint ``` +## Type Checking +---------------- + +This project enforces `mypy` type checking. The typing project configuration is found in the mypy.ini file. To run type checking, run the following command: + +```sh +mypy bcipy +``` + +To generate a report, run the following command: + +```sh +mypy --html-report bcipy +``` + +Alternately, if Make is installed, you may run the follow command to run mypy: + +```sh +make type +``` + + ### Contributions Welcome! If you want to be added to the development team slack or have additional questions, please reach out to us at support@cambi.tech! diff --git a/bcipy/acquisition/datastream/generator.py b/bcipy/acquisition/datastream/generator.py index 70046ed29..f96cf85eb 100644 --- a/bcipy/acquisition/datastream/generator.py +++ b/bcipy/acquisition/datastream/generator.py @@ -1,7 +1,7 @@ """Functions for generating mock data to be used for testing/development.""" import logging -from typing import Generator, Callable +from typing import Optional, Generator, Callable from past.builtins import range from bcipy.config import DEFAULT_ENCODING @@ -63,7 +63,7 @@ def random_data_generator(encoder=_DefaultEncoder(), yield encoder.encode(sensor_data) -def file_data_generator(filename, header_row=3, encoder=_DefaultEncoder(), channel_count: int = None): +def file_data_generator(filename, header_row=3, encoder=_DefaultEncoder(), channel_count: Optional[int] = None): """Generates data from a source file and encodes it according to the provided encoder. diff --git a/bcipy/acquisition/datastream/lsl_server.py b/bcipy/acquisition/datastream/lsl_server.py index 75221a084..dc064a708 100644 --- a/bcipy/acquisition/datastream/lsl_server.py +++ b/bcipy/acquisition/datastream/lsl_server.py @@ -1,10 +1,11 @@ +# mypy: disable-error-code="misc" """Data server that streams EEG data over a LabStreamingLayer StreamOutlet using pylsl.""" import logging import time import uuid from queue import Empty, Queue -from typing import Generator +from typing import Optional, Generator from pylsl import StreamInfo, StreamOutlet @@ -12,14 +13,12 @@ from bcipy.acquisition.datastream.producer import Producer from bcipy.acquisition.devices import DeviceSpec from bcipy.acquisition.util import StoppableThread -from bcipy.config import DEFAULT_ENCODING +from bcipy.config import DEFAULT_ENCODING, MARKER_STREAM_NAME log = logging.getLogger(__name__) # pylint: disable=too-many-arguments -MARKER_STREAM_NAME = 'TRG_device_stream' - class LslDataServer(StoppableThread): """Data server that streams EEG data over a LabStreamingLayer StreamOutlet @@ -50,7 +49,7 @@ class LslDataServer(StoppableThread): def __init__(self, device_spec: DeviceSpec, - generator: Generator = None, + generator: Optional[Generator] = None, include_meta: bool = True, add_markers: bool = False, marker_stream_name: str = MARKER_STREAM_NAME, @@ -120,7 +119,7 @@ def run(self): sample_counter = 0 self.started = True - data_queue = Queue() + data_queue: Queue = Queue() with Producer(data_queue, generator=self.generator, freq=1 / self.device_spec.sample_rate): while self.running(): @@ -149,7 +148,7 @@ def _settings(filename): return (daq_type, sample_hz, channels) -def await_start(dataserver: LslDataServer, max_wait: float = 2): +def await_start(dataserver: LslDataServer, max_wait: float = 2.0): """Blocks until server is started. Raises if max_wait is exceeded before server is started. @@ -161,7 +160,7 @@ def await_start(dataserver: LslDataServer, max_wait: float = 2): """ dataserver.start() - wait = 0 + wait = 0.0 wait_interval = 0.01 while not dataserver.started: time.sleep(wait_interval) diff --git a/bcipy/acquisition/datastream/mock/eye_tracker_server.py b/bcipy/acquisition/datastream/mock/eye_tracker_server.py index a0022a065..e0a5e4d1d 100644 --- a/bcipy/acquisition/datastream/mock/eye_tracker_server.py +++ b/bcipy/acquisition/datastream/mock/eye_tracker_server.py @@ -20,7 +20,7 @@ def eye_tracker_device() -> DeviceSpec: 'leftPupilArea', 'rightPupilArea', 'pixelsPerDegreeX', 'pixelsPerDegreeY' ], - sample_rate=500.0, + sample_rate=500, content_type='Gaze') diff --git a/bcipy/acquisition/datastream/producer.py b/bcipy/acquisition/datastream/producer.py index e5ad0c079..58633395c 100644 --- a/bcipy/acquisition/datastream/producer.py +++ b/bcipy/acquisition/datastream/producer.py @@ -112,9 +112,9 @@ def run(self): def main(): """Main method""" - data_queue = Queue() - producer = Producer(data_queue) - consumer = _ConsumerThread(data_queue) + data_queue: Queue = Queue() + producer: Producer = Producer(data_queue) + consumer: _ConsumerThread = _ConsumerThread(data_queue) producer.start() consumer.start() diff --git a/bcipy/acquisition/devices.py b/bcipy/acquisition/devices.py index 0aae6b188..12a2c1f56 100644 --- a/bcipy/acquisition/devices.py +++ b/bcipy/acquisition/devices.py @@ -3,13 +3,13 @@ import json import logging from pathlib import Path -from typing import Dict, List, NamedTuple, Union +from typing import Optional, Dict, List, NamedTuple, Union from bcipy.config import DEFAULT_ENCODING, DEVICE_SPEC_PATH -IRREGULAR_RATE = 0.0 +IRREGULAR_RATE: int = 0 DEFAULT_CONFIG = DEVICE_SPEC_PATH -_SUPPORTED_DEVICES = {} +_SUPPORTED_DEVICES: Dict[str, 'DeviceSpec'] = {} # see https://labstreaminglayer.readthedocs.io/projects/liblsl/ref/enums.html SUPPORTED_DATA_TYPES = [ 'float32', 'double64', 'string', 'int32', 'int16', 'int8' @@ -72,10 +72,10 @@ class DeviceSpec: def __init__(self, name: str, channels: Union[List[str], List[ChannelSpec], List[dict]], - sample_rate: float, + sample_rate: int, content_type: str = DEFAULT_DEVICE_TYPE, - description: str = None, - excluded_from_analysis: List[str] = None, + description: Optional[str] = None, + excluded_from_analysis: Optional[List[str]] = None, data_type='float32'): assert sample_rate >= 0, "Sample rate can't be negative." @@ -83,7 +83,7 @@ def __init__(self, self.name = name self.channel_specs = [channel_spec(ch) for ch in channels] - self.sample_rate = sample_rate + self.sample_rate = int(sample_rate) self.content_type = content_type self.description = description or name self.data_type = data_type diff --git a/bcipy/acquisition/exceptions.py b/bcipy/acquisition/exceptions.py index d5035c902..7caaf1f54 100644 --- a/bcipy/acquisition/exceptions.py +++ b/bcipy/acquisition/exceptions.py @@ -1,3 +1,4 @@ + class InvalidClockError(Exception): def __init__(self, msg): Exception.__init__(self, msg) diff --git a/bcipy/acquisition/multimodal.py b/bcipy/acquisition/multimodal.py index 4426ab431..43b3ca560 100644 --- a/bcipy/acquisition/multimodal.py +++ b/bcipy/acquisition/multimodal.py @@ -1,3 +1,4 @@ +# mypy: disable-error-code="arg-type" """Functionality for managing multiple devices.""" import logging from typing import Any, Dict, List, Optional @@ -25,12 +26,12 @@ class ContentType(AutoNumberEnum): def __init__(self, synonyms: List[str]): self.synonyms = synonyms - EEG = [] - EYETRACKER = ['gaze', 'eye_tracker'] - MARKERS = ['switch'] + EEG: List[str] = [] + EYETRACKER: List[str] = ['gaze', 'eye_tracker'] + MARKERS: List[str] = ['switch'] @classmethod - def _missing_(cls, value: Any): + def _missing_(cls, value: Any) -> 'ContentType': """Lookup function used when a value is not found.""" value = str(value).lower() for member in cls: @@ -58,14 +59,14 @@ class ClientManager(): default_content_type - used for dispatching calls to an LslClient. """ - def __init__(self, default_content_type: ContentType = ContentType.EEG): + def __init__(self, default_content_type: ContentType = ContentType.EEG) -> None: self._clients: Dict[ContentType, LslAcquisitionClient] = {} self.default_content_type = default_content_type @property def clients(self) -> List[LslAcquisitionClient]: """Returns a list of the managed clients.""" - return self._clients.values() + return list(self._clients.values()) @property def clients_by_type(self) -> Dict[ContentType, LslAcquisitionClient]: @@ -81,7 +82,7 @@ def device_specs(self) -> List[DeviceSpec]: def device_content_types(self) -> List[ContentType]: """Returns a list of ContentTypes provided by the configured devices. """ - return self._clients.keys() + return list(self._clients.keys()) @property def default_client(self) -> Optional[LslAcquisitionClient]: @@ -111,9 +112,9 @@ def stop_acquisition(self): def get_data_by_device( self, - start: float = None, - seconds: float = None, - content_types: List[ContentType] = None, + start: Optional[float] = None, + seconds: Optional[float] = None, + content_types: Optional[List[ContentType]] = None, strict: bool = True ) -> Dict[ContentType, List[Record]]: """Get data for one or more devices. The number of samples for each @@ -154,7 +155,7 @@ def cleanup(self): for client in self.clients: client.cleanup() - def __getattr__(self, name): + def __getattr__(self, name: str) -> Any: """Dispatch unknown properties and methods to the client with the default content type.""" client = self.default_client diff --git a/bcipy/acquisition/protocols/lsl/lsl_client.py b/bcipy/acquisition/protocols/lsl/lsl_client.py index 3fb8f3f8c..d8571f18b 100644 --- a/bcipy/acquisition/protocols/lsl/lsl_client.py +++ b/bcipy/acquisition/protocols/lsl/lsl_client.py @@ -1,6 +1,6 @@ """DataAcquisitionClient for LabStreamingLayer data sources.""" import logging -from typing import List +from typing import Optional, List from pylsl import (StreamInfo, StreamInlet, local_clock, resolve_byprop, resolve_stream) @@ -37,26 +37,24 @@ class LslAcquisitionClient: raw_data_file_name: if present, uses this name for the data file. """ + inlet: StreamInlet = None + recorder: LslRecordingThread = None + buffer: RingBuffer = None + _first_sample_time: float = None + experiment_clock: Clock = None + def __init__(self, max_buffer_len: float = 1, - device_spec: DeviceSpec = None, - save_directory: str = None, - raw_data_file_name: str = None): + device_spec: Optional[DeviceSpec] = None, + save_directory: Optional[str] = None, + raw_data_file_name: Optional[str] = None): super().__init__() + self.device_spec = device_spec self.max_buffer_len = max_buffer_len - - self.experiment_clock = None - - self.inlet = None - self._first_sample_time = None - self.save_directory = save_directory self.raw_data_file_name = raw_data_file_name - self.recorder = None - self.buffer = None - def start_acquisition(self) -> bool: """Connect to the datasource and start acquiring data. @@ -74,9 +72,10 @@ def start_acquisition(self) -> bool: f'LSL Stream not found for content type {content_type}') stream_info = streams[0] - self.inlet = StreamInlet(stream_info, - max_buflen=self.max_buffer_len, - max_chunklen=1) + self.inlet = StreamInlet( + stream_info, + max_buflen=self.max_buffer_len, + max_chunklen=1) if self.device_spec: check_device(self.device_spec, self.inlet.info()) @@ -84,10 +83,11 @@ def start_acquisition(self) -> bool: self.device_spec = device_from_metadata(self.inlet.info()) if self.save_directory: - self.recorder = LslRecordingThread(stream_info, - self.save_directory, - self.raw_data_file_name, - self.device_spec) + self.recorder = LslRecordingThread( + stream_info, + self.save_directory, + self.raw_data_file_name, + self.device_spec) self.recorder.start() if self.max_buffer_len and self.max_buffer_len > 0: @@ -127,9 +127,9 @@ def __exit__(self, _exc_type, _exc_value, _traceback): self.stop_acquisition() def get_data(self, - start: float = None, - end: float = None, - limit: int = None) -> List[Record]: + start: Optional[float] = None, + end: Optional[float] = None, + limit: Optional[int] = None) -> List[Record]: """Get data in time range. Parameters @@ -237,7 +237,7 @@ def is_calibrated(self, bool_val): if True, uses a 0 offset; if False forces the calculation. """ - def clock_offset(self, experiment_clock: Clock = None) -> float: + def clock_offset(self, experiment_clock: Optional[Clock] = None) -> float: """ Offset in seconds from the experiment clock to the acquisition local clock. diff --git a/bcipy/acquisition/protocols/lsl/lsl_connector.py b/bcipy/acquisition/protocols/lsl/lsl_connector.py index 0423c8b11..629e90f6f 100644 --- a/bcipy/acquisition/protocols/lsl/lsl_connector.py +++ b/bcipy/acquisition/protocols/lsl/lsl_connector.py @@ -51,7 +51,7 @@ def inlet_name(inlet) -> str: def channel_names(stream_info: pylsl.StreamInfo) -> List[str]: """Extracts the channel names from the LSL Stream metadata.""" - channels = [] + channels: List[str] = [] if stream_info.type() == 'Markers': return ['Marker'] if stream_info.desc().child("channels").empty(): @@ -59,7 +59,7 @@ def channel_names(stream_info: pylsl.StreamInfo) -> List[str]: channel = stream_info.desc().child("channels").child("channel") for _ in range(stream_info.channel_count()): - channel_name = channel.child_value("label") + channel_name: str = channel.child_value("label") channels.append(channel_name) channel = channel.next_sibling() diff --git a/bcipy/acquisition/protocols/lsl/lsl_recorder.py b/bcipy/acquisition/protocols/lsl/lsl_recorder.py index 13d7be9c2..f877a15f5 100644 --- a/bcipy/acquisition/protocols/lsl/lsl_recorder.py +++ b/bcipy/acquisition/protocols/lsl/lsl_recorder.py @@ -2,7 +2,7 @@ import logging import time from pathlib import Path -from typing import List, Tuple +from typing import Optional, List from pylsl import StreamInfo, StreamInlet, resolve_streams @@ -25,13 +25,14 @@ class LslRecorder: Devices without an entry will use a naming convention. """ - def __init__(self, path: str, filenames: dict = None): + streams: List['LslRecordingThread'] = None + + def __init__(self, path: str, filenames: Optional[dict] = None) -> None: super().__init__() self.path = path - self.streams = None self.filenames = filenames or {} - def start(self): + def start(self) -> None: """Start recording all streams currently on the network.""" if not self.streams: @@ -50,7 +51,7 @@ def start(self): for stream in self.streams: stream.start() - def stop(self, wait: bool = False): + def stop(self, wait: bool = False) -> None: """Stop recording. Parameters @@ -76,11 +77,13 @@ class LslRecordingThread(StoppableThread): from here. """ + writer: RawDataWriter = None + def __init__(self, stream_info: StreamInfo, directory: str, - filename: str = None, - device_spec: DeviceSpec = None): + filename: Optional[str] = None, + device_spec: Optional[DeviceSpec] = None) -> None: super().__init__() self.stream_info = stream_info self.directory = directory @@ -92,7 +95,6 @@ def __init__(self, # seconds to sleep between data pulls from LSL self.sleep_seconds = 0.2 - self.writer = None self.filename = filename if filename else self.default_filename() self.first_sample_time = None @@ -126,7 +128,7 @@ def _init_data_writer(self, stream_info: StreamInfo) -> None: check_device(self.device_spec, stream_info) channels = self.device_spec.channels - path = Path(self.directory, self.filename) + path = str(Path(self.directory, self.filename)) log.info(f"Writing data to {path}") self.writer = RawDataWriter( path, @@ -157,7 +159,7 @@ def _write_chunk(self, data: List, timestamps: List) -> None: chunk.append([self.sample_count] + sample + [timestamps[i]]) self.writer.writerows(chunk) - def _pull_chunk(self, inlet: StreamInlet) -> Tuple[int, float]: + def _pull_chunk(self, inlet: StreamInlet) -> int: """Pull a chunk of data and persist. Updates first_sample_time, last_sample_time, and sample_count. @@ -173,7 +175,7 @@ def _pull_chunk(self, inlet: StreamInlet) -> Tuple[int, float]: # available. data, timestamps = inlet.pull_chunk(timeout=0.0, max_samples=self.max_chunk_size) - if timestamps: + if timestamps and data: if not self.first_sample_time: self.first_sample_time = timestamps[0] self.last_sample_time = timestamps[-1] diff --git a/bcipy/acquisition/tests/protocols/lsl/test_lsl_recorder.py b/bcipy/acquisition/tests/protocols/lsl/test_lsl_recorder.py index 812a7d397..527b906f9 100644 --- a/bcipy/acquisition/tests/protocols/lsl/test_lsl_recorder.py +++ b/bcipy/acquisition/tests/protocols/lsl/test_lsl_recorder.py @@ -93,3 +93,7 @@ def test_duplicate_streams(self): recorder.start() dup_server.stop() + + +if __name__ == '__main__': + unittest.main() diff --git a/bcipy/acquisition/util.py b/bcipy/acquisition/util.py index 04a5150dd..15472c23d 100644 --- a/bcipy/acquisition/util.py +++ b/bcipy/acquisition/util.py @@ -21,24 +21,6 @@ def mock_data(n_records: int, n_cols: int, low: int = -1000, high: int = 1000): """ return (mock_record(n_cols, low, high) for _i in range(n_records)) -# def mock_data_stream(n_records: int, length: int, low: int= -1000, -# high: int = 1000): -# """Generator for mock data that streams continuously. - -# Parameters: -# ----------- -# n_records: number of records to generate -# length: length of each record -# low: optional; min value for each item; default is -1000 -# high: optional; max value for each item; default is 1000 - -# Returns: -# -------- -# A generator that yields arrays of random data -# """ -# while True: -# yield mock_record(length, low, high) - def mock_record(n_cols: int = 25, low: int = -1000, high: int = 1000): """Create an list of random data. diff --git a/bcipy/config.py b/bcipy/config.py index a7504548a..02a079d76 100644 --- a/bcipy/config.py +++ b/bcipy/config.py @@ -6,6 +6,8 @@ from pathlib import Path DEFAULT_ENCODING = 'utf-8' +DEFAULT_EVIDENCE_PRECISION = 5 # number of decimal places to round evidence to by default +MARKER_STREAM_NAME = 'TRG_device_stream' # experiment configuration DEFAULT_EXPERIMENT_ID = 'default' @@ -32,6 +34,9 @@ LM_PATH = f'{BCIPY_ROOT}/language/lms' SIGNAL_MODEL_FILE_SUFFIX = '.pkl' +DEFAULT_FIXATION_PATH = f'{STATIC_IMAGES_PATH}/main/PLUS.png' +DEFAULT_TEXT_FIXATION = '+' + # core data configuration RAW_DATA_FILENAME = 'raw_data' EYE_TRACKER_FILENAME_PREFIX = 'eyetracker_data' diff --git a/bcipy/display/components/layout.py b/bcipy/display/components/layout.py index 1ad8692a3..e0887a79f 100644 --- a/bcipy/display/components/layout.py +++ b/bcipy/display/components/layout.py @@ -1,3 +1,4 @@ +# mypy: disable-error-code="override" """Defines common functionality for GUI layouts.""" from enum import Enum from typing import List, Optional, Protocol, Tuple @@ -121,8 +122,8 @@ def __init__(self, top: float = DEFAULT_TOP, right: float = DEFAULT_RIGHT, bottom: float = DEFAULT_BOTTOM, - units: float = "norm"): - self.units = units + units: str = "norm"): + self.units: str = units self.parent = parent self.top = top self.left = left @@ -185,12 +186,12 @@ def height(self) -> float: return self.top - self.bottom @property - def left_top(self) -> float: + def left_top(self) -> Tuple[float, float]: """Top left position""" return (self.left, self.top) @property - def right_bottom(self) -> float: + def right_bottom(self) -> Tuple[float, float]: """Bottom right position""" return (self.right, self.bottom) @@ -221,7 +222,7 @@ def right_middle(self) -> Tuple[float, float]: def resize_width(self, width_pct: float, - alignment: Alignment = Alignment.CENTERED) -> float: + alignment: Alignment = Alignment.CENTERED) -> None: """Adjust the width of the current layout. Parameters @@ -252,7 +253,7 @@ def resize_width(self, def resize_height(self, height_pct: float, - alignment: Alignment = Alignment.CENTERED) -> float: + alignment: Alignment = Alignment.CENTERED) -> None: """Adjust the height of the current layout. Parameters diff --git a/bcipy/display/components/task_bar.py b/bcipy/display/components/task_bar.py index fb2f5f0fd..3d490faf6 100644 --- a/bcipy/display/components/task_bar.py +++ b/bcipy/display/components/task_bar.py @@ -1,10 +1,9 @@ """Task bar component""" -from typing import Dict, List +from typing import Optional, Dict, List from psychopy import visual from psychopy.visual.basevisual import BaseVisualStim -from psychopy.visual.line import Line import bcipy.display.components.layout as layout @@ -24,7 +23,7 @@ class TaskBar: def __init__(self, win: visual.Window, - colors: List[str] = None, + colors: Optional[List[str]] = None, font: str = 'Courier New', height: float = 0.1, text: str = ''): @@ -55,13 +54,14 @@ def update(self, text: str = ''): """Update the task bar to display the given text.""" self.stim['task_text'].text = text - def border_stim(self) -> Line: + def border_stim(self) -> visual.Line: """Create the task bar outline""" - return visual.line.Line(win=self.win, - units=self.layout.units, - start=(self.layout.left, self.layout.bottom), - end=(self.layout.right, self.layout.bottom), - lineColor=self.colors[0]) + return visual.Line( + win=self.win, + units=self.layout.units, + start=(self.layout.left, self.layout.bottom), + end=(self.layout.right, self.layout.bottom), + lineColor=self.colors[0]) def text_stim(self, **kwargs) -> visual.TextStim: """Constructs a TextStim. Uses the config to set default properties diff --git a/bcipy/display/demo/components/demo_layouts.py b/bcipy/display/demo/components/demo_layouts.py index 6fe4afc9c..234107fb4 100644 --- a/bcipy/display/demo/components/demo_layouts.py +++ b/bcipy/display/demo/components/demo_layouts.py @@ -2,7 +2,7 @@ import logging import sys import time -from typing import Callable, List, Tuple, Union +from typing import Optional, Callable, List, Tuple, Union from psychopy import visual from psychopy.visual.circle import Circle @@ -32,7 +32,7 @@ def draw_boundary(win, layout: Layout, color: str = 'blue', line_px: int = 5, - name: str = None): + name: Optional[str] = None): """Display the layout's outline.""" if name: print(f"Drawing boundary for {name}") @@ -72,7 +72,7 @@ def draw_position(win: visual.Window, pos: Tuple[float, float], color: str = 'blue', size: Union[float, Tuple[float, float]] = 0.025, - name: str = None): + name: Optional[str] = None): """Draw the provided positions""" if name: print(f"Drawing position {name} at {pos}") diff --git a/bcipy/display/main.py b/bcipy/display/main.py index 8512fb98d..d8238fb3e 100644 --- a/bcipy/display/main.py +++ b/bcipy/display/main.py @@ -1,6 +1,7 @@ +# mypy: disable-error-code="assignment,empty-body" from abc import ABC, abstractmethod from logging import Logger -from typing import List, Tuple, Union +from typing import Optional, List, Tuple, Union from psychopy import visual @@ -133,11 +134,11 @@ def __init__( stim_font: str, stim_pos: Union[Tuple[float, float], List[Tuple[float, float]]], stim_height: float, - stim_inquiry: List[str] = None, - stim_colors: List[str] = None, - stim_timing: List[float] = None, + stim_inquiry: Optional[List[str]] = None, + stim_colors: Optional[List[str]] = None, + stim_timing: Optional[List[float]] = None, is_txt_stim: bool = True, - prompt_time: float = None): + prompt_time: Optional[float] = None): """Initialize Stimuli Parameters. stim_font(List[str]): Ordered list of colors to apply to information stimuli @@ -269,9 +270,9 @@ def __init__( stim_font: str, stim_pos: List[Tuple[float, float]], stim_height: float, - timing: Tuple[float, float, float] = None, - stim_color: List[List[str]] = None, - inquiry: List[List[str]] = None, + timing: Optional[Tuple[float, float, float]] = None, + stim_color: Optional[List[List[str]]] = None, + inquiry: Optional[List[List[str]]] = None, stim_length: int = 1): """Initialize VEP Stimuli Parameters. stim_color(List[str]): Ordered list of colors to apply to VEP stimuli diff --git a/bcipy/display/paradigm/matrix/display.py b/bcipy/display/paradigm/matrix/display.py index a9ad5f30c..ccb8bd1ef 100644 --- a/bcipy/display/paradigm/matrix/display.py +++ b/bcipy/display/paradigm/matrix/display.py @@ -47,7 +47,7 @@ def __init__(self, trigger_type: str = 'text', symbol_set: Optional[List[str]] = None, should_prompt_target: bool = True, - sort_order: Callable = None): + sort_order: Optional[Callable] = None): """Initialize Matrix display parameters and objects. PARAMETERS: diff --git a/bcipy/display/paradigm/matrix/layout.py b/bcipy/display/paradigm/matrix/layout.py index 82ad1b26f..0261b677c 100644 --- a/bcipy/display/paradigm/matrix/layout.py +++ b/bcipy/display/paradigm/matrix/layout.py @@ -1,6 +1,6 @@ """Functions for calculating matrix layouts""" import logging -from typing import List, Tuple +from typing import Optional, List, Tuple from bcipy.display.components.layout import (Layout, above, below, left_of, right_of, scaled_height, @@ -10,7 +10,7 @@ def symbol_positions(container: Layout, rows: int, - columns: int, max_spacing: float = None) -> List[Tuple[float, float]]: + columns: int, max_spacing: Optional[float] = None) -> List[Tuple[float, float]]: """Compute the positions for arranging a number of symbols in a grid layout. diff --git a/bcipy/display/paradigm/rsvp/display.py b/bcipy/display/paradigm/rsvp/display.py index 85cd8f28f..9813d5ade 100644 --- a/bcipy/display/paradigm/rsvp/display.py +++ b/bcipy/display/paradigm/rsvp/display.py @@ -1,6 +1,6 @@ import logging import os.path as path -from typing import List, Tuple +from typing import Optional, List, Tuple from psychopy import core, visual, event @@ -34,7 +34,7 @@ def __init__( stimuli: StimuliProperties, task_bar: TaskBar, info: InformationProperties, - preview_inquiry: PreviewInquiryProperties = None, + preview_inquiry: Optional[PreviewInquiryProperties] = None, trigger_type: str = 'image', space_char: str = SPACE_CHAR, full_screen: bool = False): @@ -117,9 +117,9 @@ def draw_static(self): info.draw() def schedule_to(self, - stimuli: List[str] = None, - timing: List[float] = None, - colors: List[str] = None): + stimuli: Optional[List[str]] = None, + timing: Optional[List[float]] = None, + colors: Optional[List[str]] = None): """Schedule stimuli elements (works as a buffer). Args: @@ -357,7 +357,7 @@ def _generate_inquiry(self) -> list: stim_info.append(current_stim) return stim_info - def update_task_bar(self, text: str = None) -> None: + def update_task_bar(self, text: Optional[str] = None) -> None: """Update task state. Removes letters or appends to the right. diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index e0d889699..ecf1cc120 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -1,6 +1,6 @@ import logging from itertools import cycle -from typing import List, Tuple +from typing import Optional, List, Tuple import numpy as np from psychopy import core, visual @@ -124,8 +124,8 @@ def __init__( task_bar: TaskBar, info: InformationProperties, trigger_type: str = 'text', - codes: List[int] = None, - box_config: BoxConfiguration = None): + codes: Optional[List[int]] = None, + box_config: Optional[BoxConfiguration] = None): self.window = window self.window_size = self.window.size # [w, h] self.refresh_rate = round(window.getActualFrameRate()) @@ -379,8 +379,8 @@ def _trigger_pulse(self) -> None: self.first_stim_time = calibration_time[-1] self.first_run = False - def schedule_to(self, stimuli: List[List[str]], timing: List[List[float]] - = None, colors: List[List[str]] = None) -> None: + def schedule_to(self, stimuli: List[List[str]], timing: Optional[List[List[float]]] + = None, colors: Optional[List[List[str]]] = None) -> None: """Schedule stimuli elements (works as a buffer). """ self.stimuli_inquiry = stimuli diff --git a/bcipy/display/tests/components/test_task_bar.py b/bcipy/display/tests/components/test_task_bar.py index 98add9c05..94f5183d7 100644 --- a/bcipy/display/tests/components/test_task_bar.py +++ b/bcipy/display/tests/components/test_task_bar.py @@ -13,13 +13,13 @@ def test_task_bar(self, visual_mock): border_mock = Mock() visual_mock.TextStim.return_value = text_stim_mock - visual_mock.line.Line.return_value = border_mock + visual_mock.Line.return_value = border_mock win = Mock(size=(500, 500), units="norm") task_bar = TaskBar(win, text='Testing') self.assertEqual(len(task_bar.stim.items()), 2) visual_mock.TextStim.assert_called_once() - visual_mock.line.Line.assert_called_once() + visual_mock.Line.assert_called_once() phrase = 'Hello, world' task_bar.update(phrase) @@ -36,7 +36,7 @@ def test_calibration_task_bar(self, visual_mock): border_mock = Mock() visual_mock.TextStim.return_value = text_stim_mock - visual_mock.line.Line.return_value = border_mock + visual_mock.Line.return_value = border_mock win = Mock(size=(500, 500), units="norm") task_bar = CalibrationTaskBar(win, @@ -54,7 +54,7 @@ def test_calibration_task_bar(self, visual_mock): text=' 1/100', units='norm', win=win) - visual_mock.line.Line.assert_called_once() + visual_mock.Line.assert_called_once() self.assertEqual(len(task_bar.stim.items()), 2) self.assertEqual(task_bar.stim['task_text'], text_stim_mock) @@ -72,7 +72,7 @@ def test_copy_phrase_task_bar(self, visual_mock): text_stim_mock = Mock() spelled_stim_mock = Mock() visual_mock.TextStim.side_effect = [text_stim_mock, spelled_stim_mock] - visual_mock.line.Line.return_value = Mock() + visual_mock.Line.return_value = Mock() win = Mock(size=(500, 500), units="norm") task_bar = CopyPhraseTaskBar(win, @@ -80,7 +80,7 @@ def test_copy_phrase_task_bar(self, visual_mock): spelled_text='HELLO_') self.assertEqual(2, visual_mock.TextStim.call_count) - visual_mock.line.Line.assert_called_once() + visual_mock.Line.assert_called_once() self.assertEqual(len(task_bar.stim.items()), 3) self.assertEqual(task_bar.displayed_text(), 'HELLO_ ') diff --git a/bcipy/feedback/feedback.py b/bcipy/feedback/feedback.py index e4e96d8b1..9bb264f39 100644 --- a/bcipy/feedback/feedback.py +++ b/bcipy/feedback/feedback.py @@ -14,7 +14,7 @@ def __init__(self, feedback_type): def configure(self): raise NotImplementedError() - def administer(self): + def administer(self, *args, **kwargs): raise NotImplementedError() def _type(self): diff --git a/bcipy/feedback/visual/visual_feedback.py b/bcipy/feedback/visual/visual_feedback.py index 7c9f1165c..95e70f44e 100644 --- a/bcipy/feedback/visual/visual_feedback.py +++ b/bcipy/feedback/visual/visual_feedback.py @@ -1,6 +1,8 @@ +# mypy: disable-error-code="return-value" from enum import Enum from psychopy import core, visual +from typing import Tuple, List, Union from bcipy.feedback.feedback import Feedback from bcipy.helpers.clock import Clock @@ -15,7 +17,7 @@ class FeedbackType(Enum): class VisualFeedback(Feedback): """Visual Feedback.""" - def __init__(self, display, parameters: dict, clock: Clock): + def __init__(self, display: visual.Window, parameters: dict, clock: Clock) -> None: # Register Feedback Type self.feedback_type = 'Visual Feedback' @@ -27,8 +29,8 @@ def __init__(self, display, parameters: dict, clock: Clock): # Parameters self.parameters = parameters - self.font_stim = self.parameters['feedback_font'] - self.height_stim = self.parameters['feedback_stim_height'] + self.font_stim: str = self.parameters['feedback_font'] + self.height_stim: int = self.parameters['feedback_stim_height'] pos_x = self.parameters['feedback_pos_x'] pos_y = self.parameters['feedback_pos_y'] @@ -38,15 +40,14 @@ def __init__(self, display, parameters: dict, clock: Clock): self.feedback_length = self.parameters['feedback_duration'] self.color = self.parameters['feedback_color'] - # Clock self.clock = clock self.feedback_timestamp_label = 'visual_feedback' def administer( self, - stimulus, - stimuli_type=FeedbackType.TEXT): + stimulus: str, + stimuli_type=FeedbackType.TEXT) -> List[Tuple[str, float]]: """Administer. Administer visual feedback. Timing information from parameters, @@ -65,17 +66,26 @@ def administer( return [time] - def _show_stimuli(self, stimulus) -> None: + def _show_stimuli(self, stimulus: Union[visual.TargetStim, visual.ImageStim]) -> Tuple[str, float]: stimulus.draw() time = [self.feedback_timestamp_label, self.clock.getTime()] # TODO: use callback for better precision self.display.flip() return time - def _resize_image(self, stimulus, display_size, stimuli_height): + def _resize_image( + self, + stimulus: str, + display_size: Tuple[float, float], + stimuli_height: int) -> Tuple[float, float]: return resize_image( stimulus, display_size, stimuli_height) - def _construct_stimulus(self, stimulus, pos, fill_color, stimuli_type): + def _construct_stimulus( + self, + stimulus: str, + pos: Tuple[float, float], + fill_color: str, + stimuli_type: FeedbackType) -> Union[visual.TargetStim, visual.ImageStim]: if stimuli_type == FeedbackType.IMAGE: image_stim = visual.ImageStim( win=self.display, diff --git a/bcipy/gui/experiments/ExperimentField.py b/bcipy/gui/experiments/ExperimentField.py index bf8bd7e20..290e6c692 100644 --- a/bcipy/gui/experiments/ExperimentField.py +++ b/bcipy/gui/experiments/ExperimentField.py @@ -41,11 +41,11 @@ class ExperimentFieldCollection(QWidget): field_data: List[tuple] = [] field_inputs: List[FormInput] = [] type_inputs = { - 'int': IntegerInput, - 'float': FloatInput, - 'bool': BoolInput, - 'filepath': FileInput, - 'directorypath': DirectoryInput + 'int': (IntegerInput, 0), + 'float': (FloatInput, 0.0), + 'bool': (BoolInput, False), + 'filepath': (FileInput, ''), + 'directorypath': (DirectoryInput, ''), } require_mark = '*' alert_timeout = 10 @@ -96,13 +96,13 @@ def field_input(self, field_name: str, field_type: str, help_tip: str, required: attributes. """ - form_input = self.type_inputs.get(field_type, TextInput) + form_input, init_value = self.type_inputs.get(field_type, TextInput) if required: field_name += self.require_mark return form_input( label=field_name, - value='', + value=init_value, help_tip=help_tip, help_size=self.help_size, help_color=self.help_color) diff --git a/bcipy/gui/main.py b/bcipy/gui/main.py index 4532bfb03..2c0d00923 100644 --- a/bcipy/gui/main.py +++ b/bcipy/gui/main.py @@ -173,7 +173,7 @@ class AlertMessageResponse(Enum): def alert_message( message: str, - title: str = None, + title: Optional[str] = None, message_type: AlertMessageType = AlertMessageType.INFO, message_response: AlertMessageResponse = AlertMessageResponse.OTE, message_timeout: float = 0) -> MessageBox: @@ -222,8 +222,8 @@ class FormInput(QWidget): def __init__(self, label: str, value: str, - help_tip: str = None, - options: List[str] = None, + help_tip: Optional[str] = None, + options: Optional[List[str]] = None, help_size: int = 12, help_color: str = 'darkgray', should_display: bool = True): @@ -581,7 +581,7 @@ class RangeWidget(QWidget): def __init__(self, value: Tuple[int, int], - options: List[str] = None, + options: Optional[List[str]] = None, label_low: str = "Low:", label_high="High:"): super(RangeWidget, self).__init__() @@ -905,7 +905,7 @@ def add_static_textbox(self, position: list, background_color: str = 'white', text_color: str = 'default', - size: list = None, + size: Optional[list] = None, font_family='Times', font_size=12, wrap_text=False) -> QLabel: @@ -971,7 +971,7 @@ def __init__(self, height: int, width: int, background_color: str = 'black', - widget: QWidget = None): + widget: Optional[QWidget] = None): super().__init__() self.height = height diff --git a/bcipy/gui/parameters/params_form.py b/bcipy/gui/parameters/params_form.py index 39280aa13..fc82c7780 100644 --- a/bcipy/gui/parameters/params_form.py +++ b/bcipy/gui/parameters/params_form.py @@ -397,8 +397,7 @@ def on_save(self): def on_save_as(self): """Event handler for saving form data to another parameters file.""" - options = QFileDialog.Options() - options |= QFileDialog.DontUseNativeDialog + options = QFileDialog.Option.DontUseNativeDialog filename, _ = QFileDialog.getSaveFileName( self, diff --git a/bcipy/helpers/acquisition.py b/bcipy/helpers/acquisition.py index fc0098cb0..46c76bac6 100644 --- a/bcipy/helpers/acquisition.py +++ b/bcipy/helpers/acquisition.py @@ -117,7 +117,7 @@ def init_device(content_type: str, def server_spec(content_type: str, - device_name: Optional[str] = None) -> LslDataServer: + device_name: Optional[str] = None) -> DeviceSpec: """Get the device_spec definition to use for a mock data server. If the device_name is provided, the matching preconfigured_device will be used. Otherwise, the first matching preconfigured device with the given @@ -139,7 +139,7 @@ def server_spec(content_type: str, def parse_stream_type(stream_type: str, - delimiter: str = "/") -> Tuple[str, str]: + delimiter: str = "/") -> Tuple[str, Optional[str]]: """Parses the stream type into a tuple of (content_type, device_name). Parameters @@ -161,7 +161,7 @@ def parse_stream_type(stream_type: str, def init_lsl_client(parameters: dict, device_spec: DeviceSpec, save_folder: str, - raw_data_file_name: str = None): + raw_data_file_name: Optional[str] = None): """Initialize a client that acquires data from LabStreamingLayer.""" data_buffer_seconds = round(max_inquiry_duration(parameters)) diff --git a/bcipy/helpers/convert.py b/bcipy/helpers/convert.py index 5a5f5ee7e..409a40f3d 100644 --- a/bcipy/helpers/convert.py +++ b/bcipy/helpers/convert.py @@ -1,9 +1,10 @@ +# mypy: disable-error-code="no-redef" """Functionality for converting the bcipy raw data output to other formats""" import logging import os import tarfile from pathlib import Path -from typing import Dict, List, Optional, Tuple +from typing import Dict, List, Tuple, Optional, Union import mne import numpy as np @@ -24,12 +25,12 @@ def convert_to_edf(data_dir: str, - edf_path: str = None, + edf_path: Optional[str] = None, overwrite: bool = False, write_targetness: bool = False, use_event_durations: bool = False, remove_pre_fixation: bool = False, - pre_filter: bool = False) -> Path: + pre_filter: bool = False) -> str: """ Converts BciPy data to the EDF+ filetype using pyEDFlib. See https://www.edfplus.info/ for more detailed information about the edf specification. @@ -60,7 +61,7 @@ def convert_to_edf(data_dir: str, if not edf_path.endswith('.edf'): raise ValueError(f'edf_path=[{edf_path}] must end in .edf') - data, channels, fs, events, annotation_channels, pre_filter = pyedf_convert( + data, channels, fs, events, annotation_channels, filt = pyedf_convert( data_dir, write_targetness=write_targetness, use_event_durations=use_event_durations, @@ -76,16 +77,16 @@ def convert_to_edf(data_dir: str, FILETYPE_EDFPLUS, overwrite, annotation_channels, - pre_filter) + filt) def convert_to_bdf(data_dir: str, - bdf_path: str = None, + bdf_path: Optional[str] = None, overwrite: bool = False, write_targetness: bool = False, use_event_durations: bool = False, remove_pre_fixation: bool = False, - pre_filter: bool = False) -> Path: + pre_filter: bool = False) -> Union[Path, str]: """ Converts BciPy data to the BDF+ filetype using pyEDFlib. See https://www.biosemi.com/faq/file_format.htm for more detailed information about the BDF specification. @@ -116,7 +117,7 @@ def convert_to_bdf(data_dir: str, if not bdf_path.endswith('.bdf'): raise ValueError(f'bdf_path=[{bdf_path}] must end in .bdf') - data, channels, fs, events, annotation_channels, pre_filter = pyedf_convert( + data, channels, fs, events, annotation_channels, filt = pyedf_convert( data_dir, write_targetness=write_targetness, use_event_durations=use_event_durations, @@ -132,14 +133,20 @@ def convert_to_bdf(data_dir: str, FILETYPE_BDFPLUS, overwrite, annotation_channels, - pre_filter) + filt) def pyedf_convert(data_dir: str, write_targetness: bool = False, use_event_durations: bool = False, remove_pre_fixation: bool = False, - pre_filter: bool = False) -> Tuple[RawData, List[str], int, List[Tuple[str, int, int]], int]: + pre_filter: bool = False) -> Tuple[ + np.ndarray, + List[str], + int, + List[Tuple[float, float, str]], + int, + Union[bool, str]]: """ Converts BciPy data to formats that can be used by pyEDFlib. Parameters @@ -166,9 +173,9 @@ def pyedf_convert(data_dir: str, otherwise a string of the filter parameters used to filter the data """ - params = load_json_parameters(Path(data_dir, DEFAULT_PARAMETER_FILENAME), + params = load_json_parameters(str(Path(data_dir, DEFAULT_PARAMETER_FILENAME)), value_cast=True) - data = load_raw_data(Path(data_dir, f'{RAW_DATA_FILENAME}.csv')) + data = load_raw_data(str(Path(data_dir, f'{RAW_DATA_FILENAME}.csv'))) fs = data.sample_rate if pre_filter: default_transform = get_default_transform( @@ -180,9 +187,10 @@ def pyedf_convert(data_dir: str, downsample_factor=params.get("down_sampling_rate"), ) raw_data, fs = data.by_channel(transform=default_transform) - pre_filter = (f"HP:{params.get('filter_low')} LP:{params.get('filter_high')}" - f"N:{params.get('notch_filter_frequency')} D:{params.get('down_sampling_rate')} " - f"O:{params.get('filter_order')}") + pre_filter: str = ( + f"HP:{params.get('filter_low')} LP:{params.get('filter_high')}" + f"N:{params.get('notch_filter_frequency')} D:{params.get('down_sampling_rate')} " + f"O:{params.get('filter_order')}") else: raw_data, _ = data.by_channel() durations = trigger_durations(params) if use_event_durations else {} @@ -246,14 +254,14 @@ def compile_triggers(labels: List[str], targetness: List[str], timing: List[floa def write_pyedf(output_path: str, - raw_data: np.array, + raw_data: np.ndarray, ch_names: List[str], sample_rate: float, events: List[Tuple[float, float, str]], file_type: str = FILETYPE_EDFPLUS, overwrite: bool = False, annotation_channels: int = 1, - pre_filter: Optional[str] = None) -> Path: + pre_filter: Union[bool, str] = False) -> str: """ Converts BciPy raw_data to the EDF+ or BDF+ filetype using pyEDFlib. @@ -484,7 +492,7 @@ def tar_name_checker(tar_file_name: str) -> str: def convert_to_mne( raw_data: RawData, - channel_map: List[int] = None, + channel_map: Optional[List[int]] = None, channel_types: Optional[List[str]] = None, transform: Optional[Composition] = None, montage: str = 'standard_1020', diff --git a/bcipy/helpers/copy_phrase_wrapper.py b/bcipy/helpers/copy_phrase_wrapper.py index 6dbb4c200..d779fc463 100644 --- a/bcipy/helpers/copy_phrase_wrapper.py +++ b/bcipy/helpers/copy_phrase_wrapper.py @@ -1,3 +1,4 @@ +# mypy: disable-error-code="arg-type, assignment" """Defines the CopyPhraseWrapper.""" import logging from typing import List, Tuple @@ -57,7 +58,7 @@ def __init__(self, min_num_inq: int, max_num_inq: int, lmodel: LanguageModel, - alp: List[str] = None, + alp: List[str], evidence_names: List[EvidenceType] = [ EvidenceType.LM, EvidenceType.ERP ], @@ -109,7 +110,7 @@ def __init__(self, self.backspace_prob = backspace_prob def add_evidence(self, evidence_type: EvidenceType, - evidence: List[float]) -> np.array: + evidence: List[float]) -> np.ndarray: """Add evidence to the conjugator. Parameters diff --git a/bcipy/helpers/list.py b/bcipy/helpers/list.py index a8cfeb7c8..d1ca9d20e 100644 --- a/bcipy/helpers/list.py +++ b/bcipy/helpers/list.py @@ -1,9 +1,9 @@ """Utility functions for list processing.""" -from typing import Callable, List +from typing import Any, Callable, List from itertools import zip_longest -def destutter(items: List, key: Callable = lambda x: x) -> List: +def destutter(items: List[Any], key: Callable = lambda x: x) -> List: """Removes sequential duplicates from a list. Retains the last item in the sequence. Equality is determined using the provided key function. @@ -12,7 +12,7 @@ def destutter(items: List, key: Callable = lambda x: x) -> List: items - list of items with sequential duplicates key - equality function """ - deduped = [] + deduped: List[Any] = [] for item in items: if len(deduped) == 0 or key(item) != key(deduped[-1]): deduped.append(item) diff --git a/bcipy/helpers/load.py b/bcipy/helpers/load.py index a12980ef3..7b36c2a43 100644 --- a/bcipy/helpers/load.py +++ b/bcipy/helpers/load.py @@ -1,3 +1,4 @@ +# mypy: disable-error-code="arg-type, union-attr" import json import logging import os @@ -23,7 +24,7 @@ def copy_parameters(path: str = DEFAULT_PARAMETERS_PATH, - destination: str = None) -> str: + destination: Optional[str] = None) -> str: """Creates a copy of the given configuration (parameters.json) to the given directory and returns the path. @@ -187,7 +188,7 @@ def load_signal_models(directory: Optional[str] = None) -> List[SignalModel]: return models -def choose_csv_file(filename: str = None) -> str: +def choose_csv_file(filename: Optional[str] = None) -> Optional[str]: """GUI prompt to select a csv file from the file system. Parameters @@ -236,7 +237,7 @@ def load_txt_data() -> str: return filename -def load_users(data_save_loc) -> List[str]: +def load_users(data_save_loc: str) -> List[str]: """Load Users. Loads user directory names below experiments from the data path defined and returns them as a list. @@ -244,7 +245,7 @@ def load_users(data_save_loc) -> List[str]: have been run yet. """ # build a saved users list, pull out the data save location from parameters - saved_users = [] + saved_users: List[str] = [] # check the directory is valid, if it is, set path as data save location if os.path.isdir(data_save_loc): diff --git a/bcipy/helpers/parameters.py b/bcipy/helpers/parameters.py index d89eacbba..970d9a023 100644 --- a/bcipy/helpers/parameters.py +++ b/bcipy/helpers/parameters.py @@ -4,7 +4,7 @@ from json import dump, load from pathlib import Path from re import fullmatch -from typing import Any, Dict, NamedTuple, Tuple +from typing import Optional, Any, Dict, NamedTuple, Tuple from bcipy.config import DEFAULT_ENCODING, DEFAULT_PARAMETERS_PATH @@ -52,7 +52,7 @@ def parse_range(range_str: str) -> Tuple: return (low, high) -def serialize_value(value_type: str, value: any) -> str: +def serialize_value(value_type: str, value: Any) -> str: """Serialize the given value to a string. Serialized values should be able to be cast using the conversions.""" if value_type == 'bool': @@ -73,7 +73,7 @@ class Parameters(dict): cast_values: bool - if True cast values to specified type; default is False. """ - def __init__(self, source: str = None, cast_values: bool = False): + def __init__(self, source: Optional[str] = None, cast_values: bool = False): super().__init__() self.source = source self.cast_values = cast_values @@ -119,28 +119,28 @@ def from_cast_values(cls, **kwargs): return params @property - def supported_types(self): + def supported_types(self) -> set: """Supported types for casting values""" return self.conversions.keys() - def cast_value(self, entry: dict): + def cast_value(self, entry: dict) -> Any: """Takes an entry with a desired type and attempts to cast it to that type.""" cast = self.conversions[entry['type']] return cast(entry['value']) - def serialized_value(self, value, entry_type): + def serialized_value(self, value, entry_type) -> str: """Convert a value back into its serialized form""" serialized = str(value) return serialized.lower() if entry_type == 'bool' else serialized - def __getitem__(self, key): + def __getitem__(self, key) -> Any: """Override to handle cast values""" entry = self.get_entry(key) if self.cast_values: return self.cast_value(entry) return entry - def __setitem__(self, key, value): + def __setitem__(self, key, value) -> None: """Override to handle cast values""" if self.cast_values: # Can only set values for existing entries when cast. @@ -149,53 +149,53 @@ def __setitem__(self, key, value): else: self.add_entry(key, value) - def add_entry(self, key, value): + def add_entry(self, key, value) -> None: """Adds a configuration parameter.""" self.check_valid_entry(key, value) super().__setitem__(key, value) - def get_entry(self, key): + def get_entry(self, key) -> dict: """Get the non-cast entry associated with the given key.""" return super().__getitem__(key) - def get(self, key, d=None): + def get(self, key, d=None) -> Any: """Override to handle cast values""" entry = super().get(key, d) if self.cast_values and entry != d: return self.cast_value(entry) return entry - def entries(self): + def entries(self) -> list: """Uncast items""" return super().items() - def items(self): + def items(self) -> list: """Override to handle cast values""" if self.cast_values: return [(key, self.cast_value(entry)) for key, entry in self.entries()] return self.entries() - def values(self): + def values(self) -> list: """Override to handle cast values""" vals = super().values() if self.cast_values: return [self.cast_value(entry) for entry in vals] return vals - def update(self, *args, **kwargs): + def update(self, *args, **kwargs) -> None: """Override to ensure update uses __setitem___""" for key, value in dict(*args, **kwargs).items(): self[key] = value - def copy(self): + def copy(self) -> 'Parameters': """Override """ params = Parameters(source=None, cast_values=self.cast_values) params.load(super().copy()) return params - def load(self, data: dict): + def load(self, data: dict) -> None: """Load values from a dict, validating entries (see check_valid_entry) and raising an exception for invalid values. @@ -204,7 +204,7 @@ def load(self, data: dict): for name, entry in data.items(): self.add_entry(name, entry) - def load_from_source(self): + def load_from_source(self) -> None: """Load data from the configured JSON file.""" if self.source: with codecsopen(self.source, 'r', @@ -212,7 +212,7 @@ def load_from_source(self): data = load(json_file) self.load(data) - def check_valid_entry(self, entry_name: str, entry: dict): + def check_valid_entry(self, entry_name: str, entry: dict) -> None: """Checks if the given entry is valid. Raises an exception unless the entry is formatted: "fake_data": { @@ -252,7 +252,7 @@ def source_location(self) -> Tuple[Path, str]: return (path.parent, path.name) return (None, None) - def save(self, directory: str = None, name: str = None): + def save(self, directory: Optional[str] = None, name: Optional[str] = None) -> str: """Save parameters to the given location directory: str - optional location to save; default is the source_directory. @@ -310,7 +310,7 @@ def diff(self, parameters) -> Dict[str, ParameterChange]: original_value=None) return diffs - def instantiate(self, named_tuple_class: type) -> NamedTuple: + def instantiate(self, named_tuple_class: NamedTuple) -> NamedTuple: """Instantiate a namedtuple whose fields represent a subset of the parameters.""" vals = [ diff --git a/bcipy/helpers/raw_data.py b/bcipy/helpers/raw_data.py index d4e946b5d..51f1c5627 100644 --- a/bcipy/helpers/raw_data.py +++ b/bcipy/helpers/raw_data.py @@ -1,6 +1,7 @@ """Functionality for reading and writing raw signal data.""" import csv -from typing import List, Optional, TextIO, Tuple +from io import TextIOWrapper +from typing import List, Optional, TextIO, Tuple, Union, Any import numpy as np import pandas as pd @@ -17,18 +18,13 @@ class RawData: """Represents the raw data format used by BciPy. Used primarily for loading a raw data file into memory.""" - def __init__(self, - daq_type: Optional[str] = None, - sample_rate: Optional[int] = None, - columns: Optional[List[str]] = None, - column_types: Optional[List[str]] = None): + def __init__(self, daq_type: str, sample_rate: int, columns: List[str]) -> None: self.daq_type = daq_type self.sample_rate = sample_rate - self.columns = columns or [] - # accept a custom column type definition or default to all eeg type - self.column_types = column_types - self._rows = [] - self._dataframe = None + self.columns = columns + + self._dataframe: Optional[pd.DataFrame] = None + self._rows: List[Any] = [] @classmethod def load(cls, filename: str): @@ -48,7 +44,7 @@ def rows(self) -> List[List]: return self._rows @rows.setter - def rows(self, value): + def rows(self, value: Any) -> None: self._rows = value self._dataframe = None @@ -67,7 +63,7 @@ def numeric_data(self) -> pd.DataFrame: return self.dataframe.select_dtypes(exclude=['object']) @property - def channel_data(self): + def channel_data(self) -> np.ndarray: """Data for columns with numeric data, excluding the timestamp column.""" numeric_data = self.numeric_data @@ -76,7 +72,7 @@ def channel_data(self): # Start data slice at 1 to remove the timestamp column. return numeric_vals[:, 1:numeric_column_count].transpose() - def by_channel(self, transform: Optional[Composition] = None) -> np.ndarray: + def by_channel(self, transform: Optional[Composition] = None) -> Tuple[np.ndarray, int]: """Data organized by channel. Optionally, it can apply a BciPy Composition to the data before returning using the transform arg. @@ -100,7 +96,7 @@ def by_channel(self, transform: Optional[Composition] = None) -> np.ndarray: def by_channel_map( self, channel_map: List[int], - transform: Optional[Composition] = None) -> Tuple[np.ndarray, List[str], List[str]]: + transform: Optional[Composition] = None) -> Tuple[np.ndarray, List[str], int]: """By Channel Map. Returns channels with columns removed if index in list (channel_map) is zero. The channel map must align @@ -115,11 +111,11 @@ def by_channel_map( data, fs = self.by_channel(transform) channels_to_remove = [idx for idx, value in enumerate(channel_map) if value == 0] data = np.delete(data, channels_to_remove, axis=0) - channels = np.delete(self.channels, channels_to_remove, axis=0).tolist() + channels: List[str] = np.delete(self.channels, channels_to_remove, axis=0).tolist() return data, channels, fs - def apply_transform(self, data: np.ndarray, transform: Composition) -> Tuple[np.ndarray, float]: + def apply_transform(self, data: np.ndarray, transform: Composition) -> Tuple[np.ndarray, int]: """Apply Transform. Using data provided as an np.ndarray, call the Composition with self.sample_rate to apply @@ -170,7 +166,7 @@ def query(self, mask = (dataframe[column] >= start) & (dataframe[column] <= stop) return dataframe[mask] - def append(self, row: List): + def append(self, row: list) -> None: """Append the given row of data. Parameters @@ -188,7 +184,7 @@ def __repr__(self) -> str: return f"RawData({self.daq_type})" -def maybe_float(val): +def maybe_float(val: Any) -> Union[float, Any]: """Attempt to convert the given value to float. If conversion fails return as is.""" try: @@ -217,10 +213,10 @@ class RawDataReader: - convert_data : if True attempts to convert data values to floats; default is False """ + _file_obj: TextIOWrapper def __init__(self, file_path: str, convert_data: bool = False): self.file_path = file_path - self._file_obj = None self.convert_data = convert_data def __enter__(self): @@ -232,7 +228,8 @@ def __enter__(self): def __exit__(self, *args, **kwargs): """Exit the context manager. Close resources""" - self._file_obj.close() + if self._file_obj: + self._file_obj.close() def __iter__(self): return self @@ -265,14 +262,14 @@ class RawDataWriter: - sample_rate : sample frequency in Hz - columns : list of column names """ + _file_obj: TextIOWrapper def __init__(self, file_path: str, daq_type: str, sample_rate: float, - columns: List[str]): + columns: List[str]) -> None: self.file_path = file_path self.daq_type = daq_type self.sample_rate = sample_rate self.columns = columns - self._file_obj = None def __enter__(self): """Enter the context manager. Initializes the underlying data file.""" @@ -328,8 +325,8 @@ def load(filename: str) -> RawData: raise BciPyCoreException(f"\nError loading BciPy RawData. Valid data not found at: {filename}") -def read_metadata(file_obj: TextIO) -> Tuple[str, float]: - """Reads the metadata from an open raw data file and returns the result as +def read_metadata(file_obj: TextIO) -> Tuple[str, int]: + """Reads the metadata from an open raw data file and retuns the result as a tuple. Increments the reader. Parameters @@ -341,7 +338,7 @@ def read_metadata(file_obj: TextIO) -> Tuple[str, float]: tuple of daq_type, sample_rate """ daq_type = next(file_obj).strip().split(',')[1] - sample_rate = float(next(file_obj).strip().split(",")[1]) + sample_rate = int(float(next(file_obj).strip().split(",")[1])) return daq_type, sample_rate @@ -378,7 +375,7 @@ def settings(filename: str) -> Tuple[str, float, List[str]]: def sample_data(rows: int = 1000, ch_names: List[str] = ['ch1', 'ch2', 'ch3'], daq_type: str = 'SampleDevice', - sample_rate: float = 256.0, + sample_rate: int = 256, triggers: List[Tuple[float, str]] = []) -> RawData: """Creates sample data to be written as a raw_data.csv file. The resulting data has a column for the timestamp, one for each channel, and a TRG column. diff --git a/bcipy/helpers/save.py b/bcipy/helpers/save.py index e471466a9..812a66ee6 100644 --- a/bcipy/helpers/save.py +++ b/bcipy/helpers/save.py @@ -1,3 +1,4 @@ +# mypy: disable-error-code="arg-type, misc" import errno import json import os @@ -107,12 +108,12 @@ def save_device_specs(device_specs: List[DeviceSpec], location: str, name) -def _save_session_related_data(file, session_dictionary): +def _save_session_related_data(save_path: str, session_dictionary: dict) -> Any: """ Save Session Related Data. Parameters ---------- - file[str]: string of path to save our data in + save_path[str]: string of path to save our data in session_dictionary[dict]: dictionary of session data. It will appear as follows: {{ "series": { @@ -144,9 +145,9 @@ def _save_session_related_data(file, session_dictionary): """ # Try opening as json, if not able to use open() to create first try: - file = json.load(file, 'wt') + file = json.load(save_path, 'wt') except BaseException: - file = open(file, 'wt', encoding=DEFAULT_ENCODING) + file = open(save_path, 'wt', encoding=DEFAULT_ENCODING) # Use the file to dump data to json.dump(session_dictionary, file, indent=2) diff --git a/bcipy/helpers/session.py b/bcipy/helpers/session.py index a690f438e..1e747f0ad 100644 --- a/bcipy/helpers/session.py +++ b/bcipy/helpers/session.py @@ -6,7 +6,7 @@ import sqlite3 import subprocess from dataclasses import dataclass, fields -from typing import Any, Dict, List +from typing import Any, Dict, List, Optional import openpyxl from openpyxl.chart import BarChart, Reference @@ -25,7 +25,7 @@ from bcipy.task.data import Session -def read_session(file_name=SESSION_DATA_FILENAME) -> Session: +def read_session(file_name: str = SESSION_DATA_FILENAME) -> Session: """Read the session data from the given file.""" with open(file_name, 'r', encoding=DEFAULT_ENCODING) as json_file: return Session.from_dict(json.load(json_file)) @@ -45,9 +45,9 @@ def session_data(data_dir: str) -> Dict: return data -def collect_experiment_field_data(experiment_name, - save_path, - file_name=EXPERIMENT_DATA_FILENAME) -> None: +def collect_experiment_field_data(experiment_name: str, + save_path: str, + file_name: str = EXPERIMENT_DATA_FILENAME) -> None: experiment = load_experiments()[experiment_name] experiment_fields = load_experiment_fields(experiment) @@ -71,7 +71,7 @@ class EvidenceRecord: eye: float btn: float cumulative: float - inq_position: int + inq_position: Optional[int] is_target: int presented: int above_threshold: int diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 7d5e2d0a4..a2433a3c7 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -1,3 +1,4 @@ +# mypy: disable-error-code="arg-type" import glob import itertools import logging @@ -7,28 +8,27 @@ from collections import Counter from enum import Enum from os import path, sep -from typing import Dict, Iterator, List, NamedTuple, Optional, Tuple - -from pandas import Series -from PIL import Image - -from bcipy.helpers.exceptions import BciPyCoreException -from bcipy.helpers.list import grouper - -# Prevents pillow from filling the console with debug info -logging.getLogger('PIL').setLevel(logging.WARNING) +from typing import Any, Dict, Iterator, List, NamedTuple, Optional, Tuple, Union import mne import numpy as np import sounddevice as sd import soundfile as sf + from mne import Annotations, Epochs from mne.io import RawArray +from pandas import Series +from PIL import Image from psychopy import core +from bcipy.config import DEFAULT_TEXT_FIXATION, DEFAULT_FIXATION_PATH +from bcipy.helpers.exceptions import BciPyCoreException +from bcipy.helpers.list import grouper + +# Prevents pillow from filling the console with debug info +logging.getLogger('PIL').setLevel(logging.WARNING) log = logging.getLogger(__name__) -DEFAULT_FIXATION_PATH = 'bcipy/static/images/main/PLUS.png' -DEFAULT_TEXT_FIXATION = '+' + NO_TARGET_INDEX = None @@ -85,15 +85,15 @@ class InquirySchedule(NamedTuple): - durations: `List[List[float]]` - colors: `List[List[str]]` """ - stimuli: List[List[str]] - durations: List[List[float]] - colors: List[List[str]] + stimuli: Union[List[List[str]], List[str]] + durations: Union[List[List[float]], List[float]] + colors: Union[List[List[str]], List[str]] class Reshaper(ABC): @abstractmethod - def __call__(self): + def __call__(self, *args, **kwargs) -> Any: ... @@ -105,11 +105,11 @@ def __call__(self, sample_rate: int, trials_per_inquiry: int, offset: float = 0, - channel_map: List[int] = None, + channel_map: Optional[List[int]] = None, poststimulus_length: float = 0.5, prestimulus_length: float = 0.0, transformation_buffer: float = 0.0, - target_label: str = 'target') -> Tuple[np.ndarray, np.ndarray]: + target_label: str = 'target') -> Tuple[np.ndarray, np.ndarray, List[List[float]]]: """Extract inquiry data and labels. Args: @@ -157,7 +157,7 @@ def get_inquiry_len(inq_trigs): # Label for every inquiry labels = np.zeros( - (n_inquiry, trials_per_inquiry), dtype=np.compat.long + (n_inquiry, trials_per_inquiry), dtype=np.longlong ) # maybe this can be configurable? return either class indexes or labels ('nontarget' etc) reshaped_data, reshaped_trigger_timing = [], [] for inquiry_idx, trials_within_inquiry in enumerate( @@ -184,7 +184,7 @@ def get_inquiry_len(inq_trigs): def extract_trials( inquiries: np.ndarray, samples_per_trial: int, - inquiry_timing: List[List[float]], + inquiry_timing: List[List[int]], prestimulus_samples: int = 0) -> np.ndarray: """Extract Trials. @@ -199,7 +199,7 @@ def extract_trials( shape (Channels, Inquiries, Samples) samples_per_trial : int number of samples per trial - inquiry_timing : List[List[float]] + inquiry_timing : List[List[int]] For each inquiry, a list of the sample index where each trial begins prestimulus_samples : int, optional Number of samples to move the start of each trial in each inquiry, by default 0. @@ -236,7 +236,7 @@ def __call__(self, gaze_data: np.ndarray, sample_rate: int, symbol_set: List[str], - channel_map: List[int] = None, + channel_map: Optional[List[int]] = None, ) -> dict: """Extract inquiry data and labels. Different from the EEG inquiry, the gaze inquiry window starts with the first flicker and ends with the last flicker in the inquiry. Each inquiry has a length of ~3 seconds. @@ -284,7 +284,7 @@ def __call__(self, # Create a dictionary with symbols as keys and data as values # 'A': [], 'B': [] ... - data_by_targets = {} + data_by_targets: Dict[str, list] = {} for symbol in symbol_set: data_by_targets[symbol] = [] @@ -341,7 +341,7 @@ def __call__(self, eeg_data: np.ndarray, sample_rate: int, offset: float = 0, - channel_map: List[int] = None, + channel_map: Optional[List[int]] = None, poststimulus_length: float = 0.5, prestimulus_length: float = 0.0, target_label: str = "target") -> Tuple[np.ndarray, np.ndarray]: @@ -379,7 +379,7 @@ def __call__(self, triggers = list(map(lambda x: int((x + offset) * sample_rate), timing_info)) # Label for every trial in 0 or 1 - targetness_labels = np.zeros(len(triggers), dtype=np.compat.long) + targetness_labels = np.zeros(len(triggers), dtype=np.longlong) reshaped_trials = [] for trial_idx, (trial_label, trigger) in enumerate(zip(trial_targetness_label, triggers)): if trial_label == target_label: @@ -405,7 +405,7 @@ def mne_epochs(mne_data: RawArray, trigger_timing: List[float], trial_length: float, trigger_labels: List[int], - baseline: Tuple[float, float] = (None, 0)) -> Epochs: + baseline: Optional[Tuple[Any, float]] = None) -> Epochs: """MNE Epochs. Using an MNE RawArray, reshape the data given trigger information. If two labels present [0, 1], @@ -414,6 +414,8 @@ def mne_epochs(mne_data: RawArray, annotations = Annotations(trigger_timing, [trial_length] * len(trigger_timing), trigger_labels) mne_data.set_annotations(annotations) events_from_annot, _ = mne.events_from_annotations(mne_data) + if not baseline: + baseline = (None, 0.0) return Epochs(mne_data, events_from_annot, tmax=trial_length, baseline=baseline) @@ -480,7 +482,7 @@ def inq_generator(query: List[str], def best_selection(selection_elements: list, val: list, len_query: int, - always_included: List[str] = None) -> list: + always_included: Optional[List[str]] = None) -> list: """Best Selection. Given set of elements and a value function over the set, picks the len_query @@ -521,7 +523,7 @@ def best_case_rsvp_inq_gen(alp: list, stim_length: int = 10, stim_order: StimuliOrder = StimuliOrder.RANDOM, is_txt: bool = True, - inq_constants: List[str] = None) -> InquirySchedule: + inq_constants: Optional[List[str]] = None) -> InquirySchedule: """Best Case RSVP Inquiry Generation. Generates RSVPKeyboard inquiry by picking n-most likely letters. @@ -591,9 +593,9 @@ def best_case_rsvp_inq_gen(alp: list, def generate_calibration_inquiries( alp: List[str], - timing: List[float] = None, + timing: Optional[List[float]] = None, jitter: Optional[int] = None, - color: List[str] = None, + color: Optional[List[str]] = None, inquiry_count: int = 100, stim_per_inquiry: int = 10, stim_order: StimuliOrder = StimuliOrder.RANDOM, @@ -761,8 +763,8 @@ def generate_inquiry(symbols: List[str], length: int, def inquiry_target(inquiry: List[str], target_position: Optional[int], symbols: List[str], - next_targets: List[str] = None, - last_target: str = None) -> str: + next_targets: Optional[List[str]] = None, + last_target: Optional[str] = None) -> str: """Returns the target for the given inquiry. If the optional target position is not provided a target will randomly be selected from the list of symbols and will not be in the inquiry. @@ -786,7 +788,6 @@ def inquiry_target(inquiry: List[str], # if none of the symbols in the current inquiry are in the choices, the # target is determined strictly from the target_position. choice_index = None - symbol_inquiry_position = None target = None for position, symbol in enumerate(inquiry): # avoid repeating targets @@ -975,7 +976,7 @@ def generate_targets(symbols: List[str], inquiry_count: int, return targets -def target_index(inquiry: List[str]) -> int: +def target_index(inquiry: List[str]) -> Optional[int]: """Given an inquiry, return the index of the target within the choices and None if the target is not included as a choice. @@ -1013,14 +1014,14 @@ def get_task_info(experiment_length: int, task_color: str) -> Tuple[List[str], L """ # Do list comprehensions to get the arrays for the task we need. - task_text = ['%s/%s' % (stim + 1, experiment_length) - for stim in range(experiment_length)] - task_color = [[str(task_color)] for stim in range(experiment_length)] + task_text_list = ['%s/%s' % (stim + 1, experiment_length) + for stim in range(experiment_length)] + task_color_list = [str(task_color) for _ in range(experiment_length)] - return (task_text, task_color) + return (task_text_list, task_color_list) -def resize_image(image_path: str, screen_size: tuple, sti_height: int) -> Tuple[float, float]: +def resize_image(image_path: str, screen_size: tuple, sti_height: float) -> Tuple[float, float]: """Resize Image. Returns the width and height that a given image should be displayed at @@ -1056,7 +1057,7 @@ def play_sound(sound_file_path: str, sound_callback=None, sound_load_buffer_time: float = 0.5, experiment_clock=None, - trigger_name: str = None, + trigger_name: Optional[str] = None, timing: list = []) -> list: """Play Sound. diff --git a/bcipy/helpers/system_utils.py b/bcipy/helpers/system_utils.py index cb178ca40..f0bd30d5c 100644 --- a/bcipy/helpers/system_utils.py +++ b/bcipy/helpers/system_utils.py @@ -1,3 +1,4 @@ +# mypy: disable-error-code="import-untyped" """Utilities for system information and general functionality that may be shared across modules.""" import importlib @@ -74,7 +75,7 @@ def is_screen_refresh_rate_low(refresh: Optional[float] = None) -> bool: return refresh < 120 -def git_dir() -> str: +def git_dir() -> Optional[str]: """Git Directory. Returns the root directory with the .git folder. If this source code @@ -127,7 +128,7 @@ def bcipy_version() -> str: Gets the current bcipy version. If the current instance of bcipy is a git repository, appends the current abbreviated sha hash. """ - version = pkg_resources.get_distribution('bcipy').version + version: str = pkg_resources.get_distribution('bcipy').version sha_hash = git_hash() return f'{version} - {sha_hash}' if sha_hash else version @@ -151,7 +152,7 @@ def get_gpu_info() -> List[dict]: """Information about GPUs available for processing.""" properties = [] for idx in range(torch.cuda.device_count()): - prop = torch.get_device_properties(idx) + prop = torch.cuda.get_device_properties(idx) properties.append(dict(name=prop.name, total_memory=prop.total_memory)) return properties diff --git a/bcipy/helpers/task.py b/bcipy/helpers/task.py index e135f3b8e..07a1b401e 100644 --- a/bcipy/helpers/task.py +++ b/bcipy/helpers/task.py @@ -1,11 +1,12 @@ import logging import random -from typing import Any, Dict, List, Tuple, Union +from typing import Optional, Any, Dict, List, Tuple, Union import numpy as np from psychopy import core, event, visual from bcipy.acquisition.multimodal import ClientManager, ContentType +from bcipy.acquisition.record import Record from bcipy.config import SESSION_COMPLETE_MESSAGE from bcipy.helpers.clock import Clock from bcipy.helpers.stimuli import get_fixation @@ -14,7 +15,7 @@ log = logging.getLogger(__name__) -def fake_copy_phrase_decision(copy_phrase, target_letter, text_task): +def fake_copy_phrase_decision(copy_phrase: str, target_letter: str, text_task: str) -> Tuple[str, str, bool]: """Fake Copy Phrase Decision. Parameters @@ -51,7 +52,7 @@ def fake_copy_phrase_decision(copy_phrase, target_letter, text_task): # else, end the run else: run = False - next_target_letter = None + next_target_letter = '' text_task = copy_phrase return next_target_letter, text_task, run @@ -75,7 +76,7 @@ def calculate_stimulation_freq(flash_time: float) -> float: return 1 / flash_time -def construct_triggers(inquiry_timing: List[List]) -> List[Tuple[str, float]]: +def construct_triggers(inquiry_timing: List[Tuple[str, float]]) -> List[Tuple[str, float]]: """Construct triggers from inquiry_timing data. Parameters @@ -95,7 +96,7 @@ def construct_triggers(inquiry_timing: List[List]) -> List[Tuple[str, float]]: def target_info(triggers: List[Tuple[str, float]], - target_letter: str = None, + target_letter: Optional[str] = None, is_txt: bool = True) -> List[str]: """Targetness for each item in triggers. @@ -114,11 +115,11 @@ def target_info(triggers: List[Tuple[str, float]], return [labels.get(trg[0], 'nontarget') for trg in triggers] -def get_data_for_decision(inquiry_timing, - daq, - offset=0.0, - prestim=0.0, - poststim=0.0): +def get_data_for_decision(inquiry_timing: List[Tuple[str, float]], + daq: ClientManager, + offset: float = 0.0, + prestim: float = 0.0, + poststim: float = 0.0) -> Tuple[np.ndarray, List[Tuple[str, float]]]: """Queries the acquisition client for a slice of data and processes the resulting raw data into a form that can be passed to signal processing and classifiers. @@ -176,11 +177,11 @@ def get_data_for_decision(inquiry_timing, def get_device_data_for_decision( - inquiry_timing: List[Tuple], + inquiry_timing: List[Tuple[str, float]], daq: ClientManager, offset: float = 0.0, prestim: float = 0.0, - poststim: float = 0.0) -> Dict[ContentType, np.ndarray]: + poststim: float = 0.0) -> Dict[ContentType, List[Record]]: """Queries the acquisition client manager for a slice of data from each device and processes the resulting raw data into a form that can be passed to signal processing and classifiers. diff --git a/bcipy/helpers/tests/test_raw_data.py b/bcipy/helpers/tests/test_raw_data.py index 6e6812e97..803697915 100644 --- a/bcipy/helpers/tests/test_raw_data.py +++ b/bcipy/helpers/tests/test_raw_data.py @@ -24,7 +24,7 @@ def setUp(self): self.temp_dir = tempfile.mkdtemp() self.path = Path(self.temp_dir, 'test_raw_data.csv') self.daq_type = 'Test-Device' - self.sample_rate = 300.0 + self.sample_rate = 300 self.columns = ['timestamp', 'ch1', 'ch2', 'ch3'] self.row1 = [1, 1.0, 2.0, 3.0] self.row2 = [2, 4.0, 5.0, 6.0] diff --git a/bcipy/helpers/tests/test_visualization.py b/bcipy/helpers/tests/test_visualization.py index bd94706df..e285a929d 100644 --- a/bcipy/helpers/tests/test_visualization.py +++ b/bcipy/helpers/tests/test_visualization.py @@ -16,7 +16,7 @@ class TestVisualizeSessionData(unittest.TestCase): """Test Session Data Visualization.""" def setUp(self): - self.tmp_dir = Path(tempfile.mkdtemp()) + self.tmp_dir = str(Path(tempfile.mkdtemp())) self.parameters = load_json_parameters(DEFAULT_PARAMETERS_PATH, value_cast=True) self.raw_data_mock = mock() self.raw_data_mock.daq_type = 'DSI-24' @@ -35,7 +35,10 @@ def test_visualize_session_data(self): when(RawData).load(any()).thenReturn(self.raw_data_mock) when(visualization).analysis_channels(any(), any()).thenReturn(self.channel_map_mock) when(visualization).trigger_decoder( - offset=any(), trigger_path=any(), exclusion=any()).thenReturn( + offset=any(), + trigger_path=any(), + exclusion=any(), + device_type=any()).thenReturn( (trigger_label_mock, trigger_timing_mock, [])) when(visualization).visualize_erp( self.raw_data_mock, @@ -55,7 +58,11 @@ def test_visualize_session_data(self): self.assertTrue(resp) verify(RawData, times=1).load(any()) verify(visualization, times=1).analysis_channels(any(), any()) - verify(visualization, times=1).trigger_decoder(offset=any(), trigger_path=any(), exclusion=any()) + verify(visualization, times=1).trigger_decoder( + offset=any(), + trigger_path=any(), + exclusion=any(), + device_type=any()) verify(visualization, times=1).visualize_erp( self.raw_data_mock, self.channel_map_mock, @@ -77,7 +84,10 @@ def test_visualize_session_data_with_no_valid_targets(self): when(RawData).load(any()).thenReturn(self.raw_data_mock) when(visualization).analysis_channels(any(), any()).thenReturn(self.channel_map_mock) when(visualization).trigger_decoder( - offset=any(), trigger_path=any(), exclusion=any()).thenReturn( + offset=any(), + trigger_path=any(), + exclusion=any(), + device_type=any()).thenReturn( (trigger_label_mock, trigger_timing_mock, [])) with self.assertRaises(AssertionError): @@ -92,7 +102,10 @@ def test_visualize_session_data_with_no_valid_nontargets(self): when(RawData).load(any()).thenReturn(self.raw_data_mock) when(visualization).analysis_channels(any(), any()).thenReturn(self.channel_map_mock) when(visualization).trigger_decoder( - offset=any(), trigger_path=any(), exclusion=any()).thenReturn( + offset=any(), + trigger_path=any(), + exclusion=any(), + device_type=any()).thenReturn( (trigger_label_mock, trigger_timing_mock, [])) with self.assertRaises(AssertionError): @@ -107,7 +120,10 @@ def test_visualize_session_data_with_invalid_timing(self): when(RawData).load(any()).thenReturn(self.raw_data_mock) when(visualization).analysis_channels(any(), any()).thenReturn(self.channel_map_mock) when(visualization).trigger_decoder( - offset=any(), trigger_path=any(), exclusion=any()).thenReturn( + offset=any(), + trigger_path=any(), + exclusion=any(), + device_type=any()).thenReturn( (trigger_label_mock, trigger_timing_mock, [])) with self.assertRaises(AssertionError): @@ -116,7 +132,10 @@ def test_visualize_session_data_with_invalid_timing(self): # in this case, add a third trigger time trigger_timing_mock = [1, 2, 3] when(visualization).trigger_decoder( - offset=any(), trigger_path=any(), exclusion=any()).thenReturn( + offset=any(), + trigger_path=any(), + exclusion=any(), + device_type=any()).thenReturn( (trigger_label_mock, trigger_timing_mock, [])) with self.assertRaises(AssertionError): diff --git a/bcipy/helpers/triggers.py b/bcipy/helpers/triggers.py index 65f0c1710..7d3064e20 100644 --- a/bcipy/helpers/triggers.py +++ b/bcipy/helpers/triggers.py @@ -48,12 +48,12 @@ def list(cls): class TriggerCallback: - timing = None - first_time = True + timing: Optional[Tuple[str, float]] = None + first_time: bool = True def callback(self, clock: Clock, stimuli: str) -> None: if self.first_time: - self.timing = [stimuli, clock.getTime()] + self.timing = (stimuli, clock.getTime()) self.first_time = False def reset(self): @@ -66,7 +66,7 @@ def _calibration_trigger(experiment_clock: Clock, trigger_name: str = 'calibration', trigger_time: float = 1, display=None, - on_trigger=None) -> List[tuple]: + on_trigger=None) -> Tuple[str, float]: """Calibration Trigger. Outputs triggers for the purpose of calibrating data and stimuli. @@ -130,6 +130,9 @@ def _calibration_trigger(experiment_clock: Clock, display.flip() core.wait(trigger_time) + if trigger_callback.timing is None: + log.warning(f'No trigger found for [{trigger_name}]') + return trigger_name, 0.0 return trigger_callback.timing @@ -375,10 +378,9 @@ def __init__(self, self.path = path self.file_name = f'{file_name}.txt' if not file_name.endswith('.txt') else file_name self.flush = flush - self.triggers = [] + self.triggers: List[Trigger] = [] self.file_path = f'{self.path}/{self.file_name}' self.flush = flush - self.triggers = [] if os.path.exists(self.file_name): raise Exception(f"[{self.file_name}] already exists, any writing " @@ -422,7 +424,7 @@ def read_text_file(path: str) -> Tuple[List[Trigger], float]: @staticmethod def load(path: str, - offset: Optional[float] = 0.0, + offset: float = 0.0, exclusion: Optional[List[TriggerType]] = None, device_type: Optional[str] = None) -> List[Trigger]: """ @@ -480,7 +482,7 @@ def add_triggers(self, triggers: List[Trigger]) -> List[Trigger]: return self.triggers -def convert_timing_triggers(timing: List[tuple], target_stimuli: str, +def convert_timing_triggers(timing: List[Tuple[str, float]], target_stimuli: str, trigger_type: Callable) -> List[Trigger]: """Convert Stimuli Times to Triggers. diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index d65340407..44586e714 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -1,6 +1,8 @@ +# mypy: disable-error-code="attr-defined,union-attr,arg-type" +# needed for the ERPTransformParams import logging +from typing import List, Dict, Optional, Tuple, Union from pathlib import Path -from typing import List, Dict, Optional, Tuple import matplotlib.pyplot as plt import mne @@ -17,6 +19,7 @@ from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, RAW_DATA_FILENAME, STATIC_IMAGES_PATH, TRIGGER_FILENAME) from bcipy.helpers.acquisition import analysis_channels +from bcipy.helpers.parameters import Parameters from bcipy.helpers.convert import convert_to_mne from bcipy.helpers.load import choose_csv_file, load_raw_data from bcipy.helpers.raw_data import RawData @@ -82,9 +85,9 @@ def visualize_erp( # check for a baseline interval or set to None if trial_window[0] < 0: - baseline = (trial_window[0], 0) + baseline = (trial_window[0], 0.0) else: - baseline = (None, 0) + baseline = None mne_data = convert_to_mne(raw_data, channel_map=channel_map, transform=transform) epochs = mne_epochs(mne_data, trigger_timing, trial_length, trigger_labels, baseline=baseline) @@ -576,7 +579,7 @@ def visualize_csv_eeg_triggers(trigger_col: Optional[int] = None): """ # Load in CSV data = load_raw_data(choose_csv_file()) - raw_data = data.by_channel() + raw_data, _ = data.by_channel() # Pull out the triggers if not trigger_col: @@ -661,7 +664,7 @@ def visualize_evokeds(epochs: Tuple[Epochs, Epochs], return fig -def visualize_session_data(session_path: str, parameters: dict, show=True) -> Figure: +def visualize_session_data(session_path: str, parameters: Union[dict, Parameters], show=True) -> Figure: """Visualize Session Data. This method is used to load and visualize EEG data after a session. @@ -682,14 +685,15 @@ def visualize_session_data(session_path: str, parameters: dict, show=True) -> Fi trial_window = parameters.get("trial_window") static_offset = parameters.get("static_trigger_offset") - raw_data = load_raw_data(Path(session_path, f'{RAW_DATA_FILENAME}.csv')) + raw_data = load_raw_data(str(Path(session_path, f'{RAW_DATA_FILENAME}.csv'))) channels = raw_data.channels sample_rate = raw_data.sample_rate + daq_type = raw_data.daq_type - transform_params = parameters.instantiate(ERPTransformParams) + transform_params: ERPTransformParams = parameters.instantiate(ERPTransformParams) devices.load(Path(session_path, DEFAULT_DEVICE_SPEC_FILENAME)) - device_spec = devices.preconfigured_device(raw_data.daq_type) + device_spec = devices.preconfigured_device(daq_type) # setup filtering default_transform = get_default_transform( @@ -705,6 +709,7 @@ def visualize_session_data(session_path: str, parameters: dict, show=True) -> Fi offset=static_offset, trigger_path=f"{session_path}/{TRIGGER_FILENAME}", exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], + device_type='EEG', ) assert "nontarget" in trigger_targetness, "No nontarget triggers found." assert "target" in trigger_targetness, "No target triggers found." diff --git a/bcipy/language/README.md b/bcipy/language/README.md index e4150f18f..1438a7455 100644 --- a/bcipy/language/README.md +++ b/bcipy/language/README.md @@ -31,7 +31,7 @@ The language module has the following structure: The UniformLanguageModel provides equal probabilities for all symbols in the symbol set. This model is useful for evaluating other aspects of the system, such as EEG signal quality, without any influence from a language model. ## KenLM Model -The KenLMLanguageModel utilizes a pretrained n-gram language model to generate probabilities for all symbols in the symbol set. N-gram models use frequencies of different character sequences to generate their predictions. Models trained on AAC-like data can be found [here](https://imagineville.org/software/lm/dec19_char/). For faster load times, it is recommended to use the binary models located at the bottom of the page. The default parameters file utilizes `lm_dec19_char_large_12gram.kenlm`. +The KenLMLanguageModel utilizes a pretrained n-gram language model to generate probabilities for all symbols in the symbol set. N-gram models use frequencies of different character sequences to generate their predictions. Models trained on AAC-like data can be found [here](https://imagineville.org/software/lm/dec19_char/). For faster load times, it is recommended to use the binary models located at the bottom of the page. The default parameters file utilizes `lm_dec19_char_large_12gram.kenlm`. If you have issues accessing, please reach out to us on GitHub or via email at `cambi_support@googlegroups.com`. For models that import the kenlm module, this must be manually installed using `pip install kenlm==0.1 --global-option="max_order=12"`. diff --git a/bcipy/language/model/causal.py b/bcipy/language/model/causal.py index 9461034d8..6e7aa2b51 100644 --- a/bcipy/language/model/causal.py +++ b/bcipy/language/model/causal.py @@ -1,6 +1,6 @@ from collections import Counter import torch -from typing import List, Tuple +from typing import Optional, List, Tuple from transformers import AutoModelForCausalLM, AutoTokenizer import itertools import heapq @@ -22,8 +22,8 @@ class CausalLanguageModel(LanguageModel): def __init__(self, response_type: ResponseType, symbol_set: List[str], - lang_model_name: str = None, - lm_path: str = None, + lang_model_name: Optional[str] = None, + lm_path: Optional[str] = None, lm_device: str = "cpu", lm_left_context: str = "", ): diff --git a/bcipy/language/model/kenlm.py b/bcipy/language/model/kenlm.py index 815e0d693..8da4ea8c8 100644 --- a/bcipy/language/model/kenlm.py +++ b/bcipy/language/model/kenlm.py @@ -1,5 +1,5 @@ from collections import Counter -from typing import List, Tuple +from typing import Optional, List, Tuple from bcipy.helpers.symbols import BACKSPACE_CHAR, SPACE_CHAR from bcipy.language.main import LanguageModel, ResponseType from bcipy.helpers.exceptions import InvalidLanguageModelException, KenLMInstallationException @@ -15,7 +15,7 @@ class KenLMLanguageModel(LanguageModel): """Character n-gram language model using the KenLM library for querying""" - def __init__(self, response_type: ResponseType, symbol_set: List[str], lm_path: str = None): + def __init__(self, response_type: ResponseType, symbol_set: List[str], lm_path: Optional[str] = None): super().__init__(response_type=response_type, symbol_set=symbol_set) self.model = None diff --git a/bcipy/language/model/mixture.py b/bcipy/language/model/mixture.py index 19b9a936f..8a7bd2548 100644 --- a/bcipy/language/model/mixture.py +++ b/bcipy/language/model/mixture.py @@ -1,5 +1,5 @@ from collections import Counter -from typing import Dict, List, Tuple +from typing import Optional, Dict, List, Tuple from math import isclose from bcipy.language.main import LanguageModel, ResponseType @@ -49,9 +49,9 @@ def validate_parameters(types: List[str], weights: List[float], params: List[Dic def __init__(self, response_type: ResponseType, symbol_set: List[str], - lm_types: List[str] = None, - lm_weights: List[float] = None, - lm_params: List[Dict[str, str]] = None): + lm_types: Optional[List[str]] = None, + lm_weights: Optional[List[float]] = None, + lm_params: Optional[List[Dict[str, str]]] = None): """ Initialize instance variables and load the language model with given path Args: diff --git a/bcipy/language/model/uniform.py b/bcipy/language/model/uniform.py index 35420cb8d..013735ba6 100644 --- a/bcipy/language/model/uniform.py +++ b/bcipy/language/model/uniform.py @@ -48,7 +48,7 @@ def load(self) -> None: def equally_probable(alphabet: List[str], - specified: Dict[str, float] = None) -> List[float]: + specified: Optional[Dict[str, float]] = None) -> List[float]: """Returns a list of probabilities which correspond to the provided alphabet. Unless overridden by the specified values, all items will have the same probability. All probabilities sum to 1.0. diff --git a/bcipy/language/model/unigram.py b/bcipy/language/model/unigram.py index 40bdda067..4222898c2 100644 --- a/bcipy/language/model/unigram.py +++ b/bcipy/language/model/unigram.py @@ -1,4 +1,4 @@ -from typing import List, Tuple +from typing import Optional, List, Tuple from bcipy.helpers.symbols import BACKSPACE_CHAR, SPACE_CHAR from bcipy.language.main import LanguageModel, ResponseType from bcipy.helpers.exceptions import InvalidLanguageModelException @@ -9,7 +9,7 @@ class UnigramLanguageModel(LanguageModel): """Character language model based on trained unigram weights""" - def __init__(self, response_type: ResponseType, symbol_set: List[str], lm_path: str = None): + def __init__(self, response_type: ResponseType, symbol_set: List[str], lm_path: Optional[str] = None): super().__init__(response_type=response_type, symbol_set=symbol_set) self.model = None diff --git a/bcipy/language/tests/test_kenlm.py b/bcipy/language/tests/test_kenlm.py index 3c2ec3429..1e0a81e36 100644 --- a/bcipy/language/tests/test_kenlm.py +++ b/bcipy/language/tests/test_kenlm.py @@ -129,3 +129,7 @@ def test_nonzero_prob(self): prob_values = [item[1] for item in symbol_probs if item[0] != BACKSPACE_CHAR] for value in prob_values: self.assertTrue(value > 0) + + +if __name__ == '__main__': + unittest.main() diff --git a/bcipy/main.py b/bcipy/main.py index d185091de..2a9d1bfc4 100644 --- a/bcipy/main.py +++ b/bcipy/main.py @@ -1,7 +1,7 @@ import argparse import logging import multiprocessing -from typing import List +from typing import List, Optional from psychopy import visual @@ -122,7 +122,7 @@ def execute_task( which will initialize experiment. Input: - (str): registered bcipy TaskType + task(TaskType): Task that should be registered in TaskType parameters (dict): parameter dictionary save_folder (str): path to save folder alert (bool): whether to alert the user when the task is complete @@ -183,7 +183,7 @@ def execute_task( def _clean_up_session( display: visual.Window, daq: ClientManager, - servers: List[LslDataServer] = None) -> bool: + servers: Optional[List[LslDataServer]] = None) -> bool: """Clean up session. Closes the display window and data acquisition objects. Returns True if the session was closed successfully. @@ -198,8 +198,10 @@ def _clean_up_session( daq.stop_acquisition() daq.cleanup() - for server in servers: - server.stop() + # Stop Servers + if servers: + for server in servers: + server.stop() # Close the display window # NOTE: There is currently a bug in psychopy when attempting to shutdown diff --git a/bcipy/parameters/devices.json b/bcipy/parameters/devices.json index 48af0e2bc..5400ba106 100644 --- a/bcipy/parameters/devices.json +++ b/bcipy/parameters/devices.json @@ -28,7 +28,7 @@ { "name": "T4", "label": "T4", "units": "microvolts", "type": "EEG" }, { "name": "TRG", "label": "TRG", "units": "microvolts", "type": "EEG "} ], - "sample_rate": 300.0, + "sample_rate": 300, "description": "Wearable Sensing DSI-24", "excluded_from_analysis": [ "TRG", @@ -55,7 +55,7 @@ { "name": "Oz", "label": "Oz", "units": "microvolts", "type": "EEG" }, { "name": "TRG", "label": "TRG", "units": "microvolts", "type": "EEG" } ], - "sample_rate": 300.0, + "sample_rate": 300, "description": "Wearable Sensing DSI-VR300", "excluded_from_analysis": ["TRG", "F7"] }, @@ -80,7 +80,7 @@ { "name": "Ch15", "label": "Ch15", "units": "microvolts", "type": "EEG" }, { "name": "Ch16", "label": "Ch16", "units": "microvolts", "type": "EEG" } ], - "sample_rate": 256.0, + "sample_rate": 256, "description": "GTec g.USBamp" }, { diff --git a/bcipy/preferences.py b/bcipy/preferences.py index a36fea5de..15963e3fb 100644 --- a/bcipy/preferences.py +++ b/bcipy/preferences.py @@ -1,7 +1,7 @@ """Module for recording and loading application state and user preferences.""" import json from pathlib import Path -from typing import Any +from typing import Optional, Any, Dict from bcipy.config import DEFAULT_ENCODING, PREFERENCES_PATH, BCIPY_ROOT @@ -17,7 +17,7 @@ class Pref: default - default value assigned to the attribute. """ - def __init__(self, default: Any = None): + def __init__(self, default: Optional[Any] = None): self.default = default self.name = None @@ -44,12 +44,12 @@ class Preferences: ---------- filename - optional file used for persisting entries. """ - signal_model_directory: str = Pref() - last_directory: str = Pref(default=str(BCIPY_ROOT)) + signal_model_directory = Pref() + last_directory = Pref(default=str(BCIPY_ROOT)) - def __init__(self, filename: str = PREFERENCES_PATH): + def __init__(self, filename: str = PREFERENCES_PATH) -> None: self.filename = filename - self.entries = {} + self.entries: Dict[Any, Any] = {} self.load() def load(self): diff --git a/bcipy/signal/evaluate/evaluator.py b/bcipy/signal/evaluate/evaluator.py index 7883d6320..052743170 100644 --- a/bcipy/signal/evaluate/evaluator.py +++ b/bcipy/signal/evaluate/evaluator.py @@ -1,4 +1,7 @@ -from bcipy.signal.evaluate.rules import HighVoltage, LowVoltage +from bcipy.signal.evaluate.rules import HighVoltage, LowVoltage, Rule +from typing import List + +import numpy as np class Evaluator: @@ -15,8 +18,8 @@ class Evaluator: rules (list of rule objects, defined in rules.py) """ - def __init__(self, parameters, high_voltage, low_voltage): - self.rules = [] + def __init__(self, parameters, high_voltage, low_voltage) -> None: + self.rules: List[Rule] = [] # if high_voltage threshold is enabled, add to rules if high_voltage: @@ -26,7 +29,7 @@ def __init__(self, parameters, high_voltage, low_voltage): if low_voltage: self.rules.append(LowVoltage(parameters['low_voltage_value'])) - def evaluate(self, data): + def evaluate(self, data: np.ndarray) -> bool: """Evaluate. Evaluates inquiry data using selected rules from parameters file. diff --git a/bcipy/signal/evaluate/rules.py b/bcipy/signal/evaluate/rules.py index 2d8c46cde..b85ffa921 100644 --- a/bcipy/signal/evaluate/rules.py +++ b/bcipy/signal/evaluate/rules.py @@ -16,7 +16,7 @@ def __init__(self, threshold): # a method required for all subclasses @abstractmethod - def is_broken(self, data): + def is_broken(self, data: np.ndarray) -> bool: ... @@ -30,7 +30,7 @@ class HighVoltage(Rule): parameters.json """ - def is_broken(self, data): + def is_broken(self, data: np.ndarray) -> bool: """Is Broken. Test data against threshold value. Return broken @@ -49,7 +49,7 @@ def is_broken(self, data): return False - def __str__(self): + def __str__(self) -> str: return f'High Voltage with threshold {self.threshold}' @@ -59,7 +59,7 @@ class LowVoltage(Rule): Set low threshold for permitted voltage. """ - def is_broken(self, data): + def is_broken(self, data: np.ndarray) -> bool: """Is Broken. Test data against threshold value. Return false @@ -78,5 +78,5 @@ def is_broken(self, data): return False - def __str__(self): + def __str__(self) -> str: return f'Low Voltage with threshold {self.threshold}' diff --git a/bcipy/signal/model/README.md b/bcipy/signal/model/README.md index ad49a0aba..2ab4e0786 100644 --- a/bcipy/signal/model/README.md +++ b/bcipy/signal/model/README.md @@ -37,18 +37,21 @@ This model involves the following stages: # Testing -Run tests for this module with: +Run tests for this module as follows (from the root directory): + ```bash pytest --mpl bcipy/signal/tests/model -k "not slow" # unit tests only pytest --mpl bcipy/signal/tests/model -k "slow" # integration tests only pytest --mpl bcipy/signal/tests/model # all tests ``` -## pytest-mpl +### notes on pytest-mpl Some tests in `bcipy/signal/tests/model` use a pytest plugin to compare an output plot against the expected output plot. -When the code is in a known working state, generate the "expected" results by running: +If debugging integration tests using pytest-mpl (e.g. `Failed: Error: Image files did not match.`), you can use the `--mpl-generate-summary=html` flag to generate a summary of the figures generated by the tests to compare to the expected output. This will generate a file `pytest-mpl-summary.html` in the current directory. + +When the code is in a known working state, you can generate the "expected" results by running: ```bash pytest -k --mpl-generate-path= diff --git a/bcipy/signal/model/dimensionality_reduction.py b/bcipy/signal/model/dimensionality_reduction.py index f5c3c9e0b..2a4d4bfc8 100644 --- a/bcipy/signal/model/dimensionality_reduction.py +++ b/bcipy/signal/model/dimensionality_reduction.py @@ -30,7 +30,7 @@ def __init__(self, n_components: Optional[float] = None, random_state: Optional[ self.logger = logging.getLogger(__name__) self.logger.info(f"PCA. n_components={n_components}, random_state={random_state}, num_ch={num_ch}") - def fit(self, x: np.ndarray, y: np.ndarray = None) -> None: + def fit(self, x: np.ndarray, y: Optional[np.ndarray] = None) -> None: """Fit PCA to each channel of data. Args: @@ -42,7 +42,7 @@ def fit(self, x: np.ndarray, y: np.ndarray = None) -> None: for i in range(self.num_ch): self.list_pca[i].fit(x[i, :, :], y) - def transform(self, x: np.ndarray, y: np.ndarray = None) -> np.ndarray: + def transform(self, x: np.ndarray, y: Optional[np.ndarray] = None) -> np.ndarray: """Apply fitted PCA to each channel. Args: @@ -57,7 +57,7 @@ def transform(self, x: np.ndarray, y: np.ndarray = None) -> np.ndarray: f_vector.append(self.list_pca[i].transform(x[i, :, :])) return np.concatenate(f_vector, axis=1) - def fit_transform(self, x: np.ndarray, y: np.ndarray = None) -> np.ndarray: + def fit_transform(self, x: np.ndarray, y: Optional[np.ndarray] = None) -> np.ndarray: self.fit(x) return self.transform(x) @@ -71,7 +71,7 @@ def __init__(self, *args, **kw): def fit(self, *args, **kw): pass - def transform(self, x: np.ndarray, y: np.ndarray = None, var_tol: Optional[float] = None) -> np.ndarray: + def transform(self, x: np.ndarray, y: Optional[np.ndarray] = None, var_tol: Optional[float] = None) -> np.ndarray: """Mock transform method for testing purposes. Args: @@ -86,6 +86,7 @@ def transform(self, x: np.ndarray, y: np.ndarray = None, var_tol: Optional[float x = x.reshape([x.shape[0], -1]) return x - def fit_transform(self, x: np.ndarray, y: np.ndarray = None, var_tol: Optional[float] = None) -> np.ndarray: + def fit_transform(self, x: np.ndarray, y: Optional[np.ndarray] + = None, var_tol: Optional[float] = None) -> np.ndarray: self.fit(x) return self.transform(x, y, var_tol) diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 39e864453..ff7e1122b 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -1,3 +1,5 @@ +# mypy: disable-error-code="attr-defined" +# needed for the ERPTransformParams import logging from pathlib import Path from typing import Tuple @@ -72,7 +74,7 @@ def subset_data(data: np.ndarray, labels: np.ndarray, test_size: float, random_s def analyze_erp(erp_data, parameters, device_spec, data_folder, estimate_balanced_acc, - save_figures=True, show_figures=False): + save_figures=False, show_figures=False): """Analyze ERP data and return/save the ERP model. Extract relevant information from raw data object. Extract timing information from trigger file. @@ -96,7 +98,7 @@ def analyze_erp(erp_data, parameters, device_spec, data_folder, estimate_balance # Extract relevant session information from parameters file trial_window = parameters.get("trial_window") if trial_window is None: - trial_window = [0.0, 0.5] + trial_window = (0.0, 0.5) window_length = trial_window[1] - trial_window[0] prestim_length = parameters.get("prestim_length") @@ -174,7 +176,7 @@ def analyze_erp(erp_data, parameters, device_spec, data_folder, estimate_balance data = model.reshaper.extract_trials(inquiries, trial_duration_samples, inquiry_timing) # define the training classes using integers, where 0=nontargets/1=targets - labels = inquiry_labels.flatten() + labels = inquiry_labels.flatten().tolist() # train and save the model as a pkl file log.info("Training model. This will take some time...") diff --git a/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py b/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py index 6d30f2386..7187e5c2c 100644 --- a/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py +++ b/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py @@ -17,7 +17,7 @@ class PcaRdaKdeModel(SignalModel): - reshaper = InquiryReshaper() + reshaper: InquiryReshaper = InquiryReshaper() def __init__(self, k_folds: int = 10, prior_type="uniform", pca_n_components=0.9): self.k_folds = k_folds @@ -147,7 +147,7 @@ def predict(self, data: np.array, inquiry: List[str], symbol_set: List[str]) -> likelihood_ratios[symbol_set.index(inquiry[idx])] *= subset_likelihood_ratios[idx] return likelihood_ratios - def predict_proba(self, data: np.array) -> np.array: + def predict_proba(self, data: np.ndarray) -> np.ndarray: """Converts log likelihoods from model into class probabilities. Returns: diff --git a/bcipy/signal/process/filter.py b/bcipy/signal/process/filter.py index 49643bf05..daea1c95d 100644 --- a/bcipy/signal/process/filter.py +++ b/bcipy/signal/process/filter.py @@ -1,4 +1,4 @@ -from typing import Optional, Tuple +from typing import Tuple import numpy as np from scipy.signal import butter, filtfilt, iirnotch, sosfiltfilt @@ -11,7 +11,7 @@ def __init__(self, sample_rate_hz, remove_freq_hz=60.0, quality_factor=30): remove_freq_hz = remove_freq_hz / (sample_rate_hz / 2) self.b, self.a = iirnotch(remove_freq_hz, quality_factor) - def __call__(self, data: np.ndarray, fs: Optional[int] = None) -> Tuple[np.ndarray, int]: + def __call__(self, data: np.ndarray, fs: int) -> Tuple[np.ndarray, int]: return filtfilt(self.b, self.a, data), fs @@ -23,11 +23,11 @@ def __init__(self, lo, hi, sample_rate_hz, order=5): lo, hi = lo / nyq, hi / nyq self.sos = butter(order, [lo, hi], analog=False, btype="band", output="sos") - def __call__(self, data: np.ndarray, fs: Optional[int] = None) -> Tuple[np.ndarray, int]: + def __call__(self, data: np.ndarray, fs: int) -> Tuple[np.ndarray, int]: return sosfiltfilt(self.sos, data), fs -def filter_inquiries(inquiries, transform, sample_rate) -> Tuple[np.ndarray, float]: +def filter_inquiries(inquiries: np.ndarray, transform, sample_rate: int) -> Tuple[np.ndarray, int]: """Filter Inquiries. The shape of data after reshaping into inquiries requires a bit of pre-processing to apply the diff --git a/bcipy/signal/process/transform.py b/bcipy/signal/process/transform.py index 679832fdb..486861ecc 100644 --- a/bcipy/signal/process/transform.py +++ b/bcipy/signal/process/transform.py @@ -1,4 +1,4 @@ -from typing import NamedTuple, Optional, Tuple +from typing import NamedTuple, Tuple import numpy as np @@ -11,7 +11,7 @@ class Composition: def __init__(self, *transforms): self.transforms = transforms - def __call__(self, data: np.ndarray, fs: Optional[int] = None) -> Tuple[np.ndarray, int]: + def __call__(self, data: np.ndarray, fs: int) -> Tuple[np.ndarray, int]: for transform in self.transforms: data, fs = transform(data, fs) return data, fs @@ -20,14 +20,11 @@ def __call__(self, data: np.ndarray, fs: Optional[int] = None) -> Tuple[np.ndarr class Downsample: """Downsampling by an integer factor""" - def __init__(self, factor: int = 2): + def __init__(self, factor: int = 2, *args, **kwargs): self.factor = factor - def __call__(self, data: np.ndarray, fs: Optional[int] = None) -> Tuple[np.ndarray, int]: - if fs: - return data[:, :: self.factor], fs // self.factor - else: - return data[:, :: self.factor], None + def __call__(self, data: np.ndarray, fs: int) -> Tuple[np.ndarray, int]: + return data[:, :: self.factor], fs // self.factor class ERPTransformParams(NamedTuple): diff --git a/bcipy/signal/tests/model/integration_test_expected_output/test_mean_erp.png b/bcipy/signal/tests/model/integration_test_expected_output/test_mean_erp.png index bb6afd435e492c68f6d39523ac546f68aad11576..2d51e4db46972c974d0dc6cb744eb9965aadd4b3 100644 GIT binary patch delta 48 zcmaDdnf1wJ)(LJ3=6Xgt3K=CO1;tkS`nicE1v&X8Ihjd%`9C>G1hqk E0JupKDF6Tf diff --git a/bcipy/signal/tests/model/integration_test_expected_output/test_nontarget_topomap.png b/bcipy/signal/tests/model/integration_test_expected_output/test_nontarget_topomap.png index 91c5604f1e3f386229e8fa2ccbab45c1072b5934..0c29bb8c21085a596cc51d4ba6664b8a76f2e5c3 100644 GIT binary patch literal 113716 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 z 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 literal 120183 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%0DW-La*X%#Rj?i?wh{fz+IWV@ULui$_80sYE7 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

rT(W0@#ut%o6-7N}ZhFq2g6~0CcNd_ojk;?; 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 Flowable: + """Compile. + + This method must be implemented by the child class. + It is intented to be called on final Report build, + as opposed to immediatley after class initiatlization, + to compile the section into a usuable flowable for a Report. + """ + ... + + def _create_header(self) -> Flowable: + ... + + +class SignalReportSection(ReportSection): + """Signal Report Section. + + A class to handle the creation of a Signal Report section in a BciPy Report. + """ + + def __init__( + self, + figures: List[Figure]) -> None: + self.figures = figures + self.report_flowables: List[Flowable] = [] + self.style = getSampleStyleSheet() + + def compile(self) -> Flowable: + """Compile. + + Compiles the Signal Report sections into a flowable that can be used to generate a Report. + """ + self.report_flowables.append(self._create_header()) + self.report_flowables.extend(self._create_epochs_section()) + return KeepTogether(self.report_flowables) + + def _create_epochs_section(self) -> List[Image]: + """Create Epochs Section. + + Creates a flowable image for each figure in the Signal Report. + """ + # create a flowable for each figure + flowables = [self.convert_figure_to_image(fig) for fig in self.figures] + return flowables + + def convert_figure_to_image(self, fig: Figure) -> Image: + """Convert Figure to Image. + + Converts a matplotlib figure to a reportlab Image. + retrieved from: https://nicd.org.uk/knowledge-hub/creating-pdf-reports-with-reportlab-and-pandas + """ + buf = io.BytesIO() + fig.savefig(buf, format='png', dpi=300) + buf.seek(0) + x, y = fig.get_size_inches() + return Image(buf, x * inch, y * inch) + + def _create_header(self) -> Paragraph: + """Create Header. + + Creates a header for the Signal Report section. + """ + header = Paragraph('Signal Report', self.style['Heading3']) + return header + + +class SessionReportSection(ReportSection): + """Session Report Section. + + A class to handle the creation of a Session Report section in a BciPy Report using a summary dictionary. + """ + + def __init__(self, summary: Optional[dict] = None) -> None: + self.summary = summary + self.style = getSampleStyleSheet() + self.summary_table = None + + def compile(self) -> Flowable: + """Compile. + + Compiles the Session Report sections into a flowable that can be used to generate a Report. + """ + summary_table = self._create_summary_flowable() + self.summary_table = summary_table + return summary_table + + def _create_summary_flowable(self) -> Flowable: + """Create Summary Flowable. + + Creates a flowable table with the summary dictionary. + """ + if self.summary: + # split the summary keys and values into a list + values = list(self.summary.values()) + keys = sorted(self.summary.keys()) + # sort the keys by alphabetical order and get the values in the same order + values = [self.summary[key] for key in keys] + keys = [str(key).replace('_', ' ').capitalize() for key in keys] + # create a seperate table with the keys and values + summary_list = self._create_summary_text(keys, values) + return KeepTogether(summary_list) + + def _create_summary_text(self, keys: list, values: list) -> List[Paragraph]: + """Create Summary Text. + + Creates a list of paragraphs with the keys and values from the provided summary. + """ + # create a table with the keys and values, adding a header + table = [self._create_header()] + for key, value in zip(keys, values): + text = Paragraph(f'{key}: {value}', self.style['BodyText']) + table.append(text) + return table + + def _create_header(self) -> Paragraph: + """Create Header. + + Creates a header for the Session Report section. + """ + header = Paragraph('Session Summary', self.style['Heading3']) + return header + + +class Report: + """Report. + + A class to handle compiling and saving a BciPy Report after at least one session. + """ + + DEFAULT_NAME: str = 'BciPyReport.pdf' + + def __init__(self, + save_path: str, + name: Optional[str] = None, + sections: Optional[List[ReportSection]] = None, + autocompile: bool = False): + if sections: + assert isinstance(sections, list), "Sections should be a list." + assert all(isinstance(section, ReportSection) + for section in sections), "All sections should be of type ReportSection." + self.sections = sections or [] + self.elements: List[Flowable] = [] + if not name: + name = self.DEFAULT_NAME + assert name.endswith('.pdf'), "The report name should end with .pdf" + + self.name = name + self.path = f'{save_path}/{name}' + self.document = SimpleDocTemplate(self.path, pagesize=letter) + + self.styles = getSampleStyleSheet() + self.header: Optional[Flowable] = None + + if sections is not None and autocompile: + self.compile() + + def add(self, section: ReportSection) -> None: + """Add. + + Adds a ReportSection to the Report. + """ + self.sections.append(section) + + def compile(self) -> None: + """Compile. + + Compiles the Report by adding the header and all sections to the elements list. + """ + if self.header is None: + self._construct_report_header() + header_group = KeepTogether(self.header) + self.elements.append(header_group) + for section in self.sections: + self.elements.append(section.compile()) + + def save(self) -> None: + """Save. + + Exports the Report to a PDF file. + """ + self.document.build(self.elements) + + def _construct_report_header(self) -> None: + """Construct Report Header. + + Constructs the header for the Report. This should be called before adding any other elements. + The header should consist of the CAMBI logo and a report title. + """ + assert len(self.elements) < 1, "The report header should be constructed before other elements" + report_title = Paragraph('BciPy Report', self.styles['Title']) + logo = Image(BCIPY_FULL_LOGO_PATH, hAlign='LEFT', width=170, height=50) + report_title.hAlign = 'CENTER' + report_title.height = 100 + header = [logo, report_title] + self.header = header + + +if __name__ == '__main__': + # use the demo_visualization.py to generate figure handles + # sr = SignalReportSection(figure_handles) + report = Report('.') + session = {'session': 1, 'date': '2021-10-01'} + session_text = SessionReportSection(session) + report.add(session_text) + # report.add(sr) + report.compile() + report.save() diff --git a/bcipy/helpers/tests/test_report.py b/bcipy/helpers/tests/test_report.py new file mode 100644 index 000000000..7df690816 --- /dev/null +++ b/bcipy/helpers/tests/test_report.py @@ -0,0 +1,175 @@ +import os +import unittest +from unittest.mock import patch +import tempfile +import shutil + +import matplotlib.pyplot as plt +import numpy as np +from reportlab.platypus import Paragraph, Image +from reportlab.platypus import Flowable, KeepTogether + +from bcipy.helpers.report import Report, SessionReportSection, ReportSection, SignalReportSection + + +class TestReport(unittest.TestCase): + + def setUp(self): + self.temp_dir = tempfile.mkdtemp() + + def tearDown(self): + shutil.rmtree(self.temp_dir) + + def test_init_name(self): + name = 'report_name.pdf' + report = Report(self.temp_dir, name=name) + self.assertEqual(report.name, name) + + def test_init_no_name_default(self): + report = Report(self.temp_dir) + self.assertEqual(report.name, Report.DEFAULT_NAME) + + def test_init_sections(self): + report_section = SessionReportSection() + section = [report_section] + report = Report(self.temp_dir, sections=section) + self.assertEqual(report.sections, section) + + def test_init_no_sections(self): + report = Report(self.temp_dir) + self.assertEqual(report.sections, []) + + def test_init_sections_not_list(self): + with self.assertRaises(AssertionError): + Report(self.temp_dir, sections='section') + + def test_init_sections_not_report_section(self): + with self.assertRaises(AssertionError): + Report(self.temp_dir, sections=['section']) + + def test_add_section(self): + report = Report(self.temp_dir) + summary = { + 'session': 'session_name', + 'date': '11/11/1111', + 'duration': 2, + 'participant': 'T01', + } + report_section = SessionReportSection(summary=summary) + report.add(report_section) + self.assertEqual(report.sections, [report_section]) + another_report_section = SessionReportSection(summary=summary) + report.add(another_report_section) + self.assertEqual(report.sections, [report_section, another_report_section]) + + def test_save(self): + report = Report(self.temp_dir) + report_section = SessionReportSection() + report.add(report_section) + report.save() + self.assertTrue(os.path.exists(os.path.join(self.temp_dir, report.name))) + + def test_save_no_sections(self): + report = Report(self.temp_dir) + report.save() + self.assertTrue(os.path.exists(os.path.join(self.temp_dir, report.name))) + + def test_complile_adds_section_and_header(self): + report = Report(self.temp_dir) + summary = { + 'session': 'session_name', + 'date': '11/11/1111', + 'duration': 2, + 'participant': 'T01', + } + report_section = SessionReportSection(summary=summary) + report.add(report_section) + report.compile() + self.assertEqual(len(report.elements), 2) + + def test_create_header_is_called_once_compile(self): + with patch('bcipy.helpers.report.Report._construct_report_header') as mock_construct_header: + report = Report(self.temp_dir) + summary = { + 'session': 'session_name', + 'date': '11/11/1111', + 'duration': 2, + 'participant': 'T01', + } + report_section = SessionReportSection(summary=summary) + report.add(report_section) + report.compile() + mock_construct_header.assert_called_once() + + +class TestSessionReportSection(unittest.TestCase): + + def setUp(self) -> None: + self.session_data = { + 'session': 'session_name', + 'date': '11/11/1111', + 'duration': 2, + 'participant': 'T01', + } + + def test_init(self): + report_section = SessionReportSection() + self.assertIsInstance(report_section, ReportSection) + self.assertIsNotNone(report_section.style) + + def test_create_summary_text(self): + report_section = SessionReportSection(summary=self.session_data) + + table = report_section._create_summary_flowable() + self.assertIsInstance(table, Flowable) + + def test_create_header(self): + report_section = SessionReportSection() + header = report_section._create_header() + self.assertIsInstance(header, Paragraph) + + def test_compile(self): + report_section = SessionReportSection(self.session_data) + compiled = report_section.compile() + self.assertIsInstance(compiled, KeepTogether) + + +class TestSignalReportSectionSection(unittest.TestCase): + + def setUp(self) -> None: + # create matplotlib figure + self.fig = plt.figure() + self.ax = self.fig.add_subplot(111) + self.ax.plot(np.random.rand(10)) + self.figures = [self.fig] + + def test_init(self): + report_section = SignalReportSection(self.figures) + self.assertIsInstance(report_section, ReportSection) + self.assertIsNotNone(report_section.style) + self.assertEqual(report_section.figures, self.figures) + + def test_create_header(self): + report_section = SignalReportSection(self.figures) + header = report_section._create_header() + self.assertIsInstance(header, Paragraph) + + def test_create_epochs_section(self): + report_section = SignalReportSection(self.figures) + epochs = report_section._create_epochs_section() + self.assertIsInstance(epochs, list) + self.assertIsInstance(epochs[0], Image) + + def test_convert_figure_to_image(self): + report_section = SignalReportSection(self.figures) + image = report_section.convert_figure_to_image(self.fig) + self.assertIsInstance(image, Image) + + def test_compile(self): + report_section = SignalReportSection(self.figures) + compiled = report_section.compile() + self.assertIsInstance(compiled, KeepTogether) + + +if __name__ == '__main__': + unittest.main() diff --git a/bcipy/static/images/gui/CAMBI_full_logo.png b/bcipy/static/images/gui/CAMBI_full_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..599d42e101fc60ba8d58ed0ff737d9e0fa791300 GIT binary patch literal 6425 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 Date: Tue, 4 Jun 2024 11:23:04 -0700 Subject: [PATCH 249/330] Added a base calibration class for generically representing a calibration run loop --- bcipy/helpers/stimuli.py | 13 ++ bcipy/task/base_calibration.py | 298 +++++++++++++++++++++++++++++++++ 2 files changed, 311 insertions(+) create mode 100644 bcipy/task/base_calibration.py diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 2106247b1..b33b928fb 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -89,6 +89,19 @@ class InquirySchedule(NamedTuple): durations: Union[List[List[float]], List[float]] colors: Union[List[List[str]], List[str]] + @property + def count(self) -> int: + """Number of stimuli""" + return len(self.stimuli) + + def __iter__(self): + count = self.count + index = 0 + while index < count: + yield (self.stimuli[index], self.durations[index], + self.colors[index]) + index += 1 + class Reshaper(ABC): diff --git a/bcipy/task/base_calibration.py b/bcipy/task/base_calibration.py new file mode 100644 index 000000000..9c21c212f --- /dev/null +++ b/bcipy/task/base_calibration.py @@ -0,0 +1,298 @@ +"""Base calibration task.""" + +from typing import Iterator, List, NamedTuple, Optional, Tuple + +from psychopy import core, visual + +from bcipy.acquisition import ClientManager +from bcipy.config import TRIGGER_FILENAME, WAIT_SCREEN_MESSAGE +from bcipy.display import InformationProperties, StimuliProperties +from bcipy.display.components.task_bar import CalibrationTaskBar +from bcipy.display.paradigm.matrix.display import MatrixDisplay +from bcipy.helpers.clock import Clock +from bcipy.helpers.parameters import Parameters +from bcipy.helpers.stimuli import (DEFAULT_TEXT_FIXATION, StimuliOrder, + TargetPositions, + generate_calibration_inquiries) +from bcipy.helpers.symbols import alphabet +from bcipy.helpers.task import (get_user_input, pause_calibration, + trial_complete_message) +from bcipy.helpers.triggers import (FlushFrequency, Trigger, TriggerHandler, + TriggerType, convert_timing_triggers, + offset_label) +from bcipy.task import Task + + +class Inquiry(NamedTuple): + """Represents a single Inquiry""" + # TODO: types should also work for VEP + stimuli: List[str] + durations: List[float] + colors: List[str] + + +class BaseCalibrationTask(Task): + """Base Calibration Task. + + Calibration task performs a stimulus inquiry to elicit a response. Subclasses + can define a Display for specializing the nature of the stimulus + (RSVP, Matrix, etc). + + PARAMETERS: + ---------- + win (PsychoPy Display) + daq (Data Acquisition Client) + parameters (dict) + file_save (str) + """ + + def __init__(self, win: visual.Window, daq: ClientManager, + parameters: Parameters, file_save: str) -> None: + super().__init__() + self.window = win + + self.frame_rate = self.window.getActualFrameRate() + self.parameters = parameters + self.daq = daq + self.static_clock = core.StaticPeriod(screenHz=self.frame_rate) + self.experiment_clock = Clock() + self.symbol_set = alphabet(parameters) + + self.file_save = file_save + self.trigger_handler = TriggerHandler(self.file_save, TRIGGER_FILENAME, + FlushFrequency.EVERY) + + self.wait_screen_message = WAIT_SCREEN_MESSAGE + self.wait_screen_message_color = parameters['stim_color'] + + self.inquiry_generator = self.init_inquiry_generator() + self.display = self.init_display() + + @property + def enable_breaks(self) -> bool: + """Whether to allow breaks""" + return self.parameters['enable_breaks'] + + def wait(self, seconds: Optional[float] = None) -> None: + """Pause for a time. + + Parameters + ---------- + - seconds : duration of time to wait; if missing, defaults to the + value of the parameter `'task_buffer_length'` + """ + seconds = seconds or self.parameters['task_buffer_length'] + core.wait(seconds) + + def init_display(self) -> MatrixDisplay: + """Initialize the display""" + return init_calibration_display_task(self.parameters, self.window, + self.experiment_clock, + self.symbol_set) + + def init_inquiry_generator(self) -> Iterator[Inquiry]: + """Initializes a generator that returns inquiries to be presented.""" + parameters = self.parameters + schedule = generate_calibration_inquiries( + self.symbol_set, + inquiry_count=parameters['stim_number'], + stim_per_inquiry=parameters['stim_length'], + stim_order=StimuliOrder(parameters['stim_order']), + jitter=parameters['stim_jitter'], + target_positions=TargetPositions(parameters['target_positions']), + percentage_without_target=parameters['nontarget_inquiries'], + timing=[ + parameters['time_prompt'], parameters['time_fixation'], + parameters['time_flash'] + ], + color=[ + parameters['target_color'], parameters['fixation_color'], + parameters['stim_color'] + ]) + return (Inquiry(*inq) for inq in schedule) + + def trigger_type(self, symbol: str, target: str, + index: int) -> TriggerType: + """Trigger Type. + + This method is passed to convert_timing_triggers to properly assign TriggerTypes + to the timing of stimuli presented. + """ + if index == 0: + return TriggerType.PROMPT + if symbol == DEFAULT_TEXT_FIXATION: + return TriggerType.FIXATION + if target == symbol: + return TriggerType.TARGET + return TriggerType.NONTARGET + + def present_inquiry(self, index: int, + inquiry: Inquiry) -> List[Tuple[str, float]]: + """Present the given inquiry and return the trigger timing info. + + Parameters + ---------- + - index : current index + - inquiry : next sequence of stimuli to present. + + Returns + ------- + List of stim_times (tuples representing the stimulus and time that + it was presented relative to the experiment clock) + """ + self.display.update_task_bar(str(index + 1)) + self.display.draw_static() + self.window.flip() + + self.display.schedule_to(inquiry.stimuli, inquiry.durations, + inquiry.colors) + self.wait() + timing = self.display.do_inquiry() + return timing + + def user_wants_to_continue(self, first_inquiry: bool = False) -> bool: + """Check if user wants to continue or terminate. + + Returns + ------- + - `True` to continue + - `False` to finish the task. + """ + should_continue = get_user_input(self.display, + self.wait_screen_message, + self.wait_screen_message_color, + first_run=first_inquiry) + if not should_continue: + self.logger.info('User wants to exit.') + return should_continue + + def execute(self) -> str: + """Task run loop.""" + self.logger.info(f'Starting {self.name()}!') + self.wait() + + inq_index = 0 + while self.user_wants_to_continue(inq_index == 0): + try: + inquiry = next(self.inquiry_generator) + except StopIteration: + break + if self.enable_breaks: + # Take a break at the defined interval + pause_calibration(self.window, self.display, inq_index, + self.parameters) + + timing = self.present_inquiry(inq_index, inquiry) + + # Write triggers for the inquiry + self.write_trigger_data(timing, first_run=inq_index == 0) + + # Wait for a time + self.wait() + inq_index += 1 + + self.exit_display() + self.cleanup() + + self.write_offset_trigger() + # TODO: write session data? + # self.write_stimuli_positions() + + return self.file_save + + def exit_display(self) -> None: + """Close the UI and cleanup.""" + # Say Goodbye! + self.display.info_text = trial_complete_message( + self.window, self.parameters) + self.display.draw_static() + self.window.flip() + + # Allow for some additional data to be collected for later processing + self.wait() + + def cleanup(self) -> None: + """Any cleanup code to run after the last inquiry is complete.""" + + def write_trigger_data(self, timing: List[Tuple[str, float]], + first_run) -> None: + """Write Trigger Data. + + Using the timing provided from the display and calibration information from the data acquisition + client, write trigger data in the correct format. + + *Note on offsets*: we write the full offset value which can be used to transform all stimuli to the time since + session start (t = 0) for all values (as opposed to most system clocks which start much higher). + We do not write the calibration trigger used to generate this offset from the display. + See MatrixDisplay._trigger_pulse() for more information. + """ + if first_run: + triggers = [] + for content_type, client in self.daq.clients_by_type.items(): + label = offset_label(content_type.name) + time = client.offset(self.display.first_stim_time + ) - self.display.first_stim_time + triggers.append(Trigger(label, TriggerType.OFFSET, time)) + self.trigger_handler.add_triggers(triggers) + + # make sure triggers are written for the inquiry + self.trigger_handler.add_triggers( + convert_timing_triggers(timing, timing[0][0], self.trigger_type)) + + def write_offset_trigger(self) -> None: + """Append an offset value to the end of the trigger file. + """ + # To help support future refactoring or use of lsl timestamps only + # we write only the sample offset here. + triggers = [] + for content_type, client in self.daq.clients_by_type.items(): + label = offset_label(content_type.name, prefix='daq_sample_offset') + time = client.offset(self.display.first_stim_time) + triggers.append(Trigger(label, TriggerType.SYSTEM, time)) + + self.trigger_handler.add_triggers(triggers) + self.trigger_handler.close() + + def name(self) -> str: + return 'Matrix Calibration Task' + + +def init_calibration_display_task( + parameters: Parameters, window: visual.Window, experiment_clock: Clock, + symbol_set: core.StaticPeriod) -> MatrixDisplay: + info = InformationProperties( + info_color=[parameters['info_color']], + info_pos=[(parameters['info_pos_x'], parameters['info_pos_y'])], + info_height=[parameters['info_height']], + info_font=[parameters['font']], + info_text=[parameters['info_text']], + ) + stimuli = StimuliProperties(stim_font=parameters['font'], + stim_pos=(-0.6, 0.4), + stim_height=0.1, + stim_inquiry=[''] * parameters['stim_length'], + stim_colors=[parameters['stim_color']] * + parameters['stim_length'], + stim_timing=[10] * parameters['stim_length'], + is_txt_stim=parameters['is_txt_stim'], + prompt_time=parameters["time_prompt"]) + + task_bar = CalibrationTaskBar(window, + inquiry_count=parameters['stim_number'], + current_index=0, + colors=[parameters['task_color']], + font=parameters['font'], + height=parameters['task_height'], + padding=parameters['task_padding']) + + return MatrixDisplay(window, + experiment_clock, + stimuli, + task_bar, + info, + rows=parameters['matrix_rows'], + columns=parameters['matrix_columns'], + width_pct=parameters['matrix_width'], + height_pct=1 - (2 * task_bar.height_pct), + trigger_type=parameters['trigger_type'], + symbol_set=symbol_set) From 6b0edb7ade4af5089ed29edd2d4f92257f1ca020 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 4 Jun 2024 14:20:57 -0700 Subject: [PATCH 250/330] Added session data to base calibration task --- bcipy/task/base_calibration.py | 120 ++++++++++++++++++--------------- 1 file changed, 66 insertions(+), 54 deletions(-) diff --git a/bcipy/task/base_calibration.py b/bcipy/task/base_calibration.py index 9c21c212f..281b7181b 100644 --- a/bcipy/task/base_calibration.py +++ b/bcipy/task/base_calibration.py @@ -4,13 +4,14 @@ from psychopy import core, visual +import bcipy.task.data as session_data from bcipy.acquisition import ClientManager -from bcipy.config import TRIGGER_FILENAME, WAIT_SCREEN_MESSAGE -from bcipy.display import InformationProperties, StimuliProperties -from bcipy.display.components.task_bar import CalibrationTaskBar -from bcipy.display.paradigm.matrix.display import MatrixDisplay +from bcipy.config import (SESSION_DATA_FILENAME, TRIGGER_FILENAME, + WAIT_SCREEN_MESSAGE) +from bcipy.display import Display from bcipy.helpers.clock import Clock from bcipy.helpers.parameters import Parameters +from bcipy.helpers.save import _save_session_related_data from bcipy.helpers.stimuli import (DEFAULT_TEXT_FIXATION, StimuliOrder, TargetPositions, generate_calibration_inquiries) @@ -30,6 +31,17 @@ class Inquiry(NamedTuple): durations: List[float] colors: List[str] + @property + def labels(self) -> List[str]: + """labels for each stimuli""" + [target, _fixation, *symbols] = self.stimuli + return ['target' if sym == target else 'nontarget' for sym in symbols] + + @property + def target(self) -> str: + """target symbol""" + return self.stimuli[0] + class BaseCalibrationTask(Task): """Base Calibration Task. @@ -46,6 +58,8 @@ class BaseCalibrationTask(Task): file_save (str) """ + MODE = 'Undefined' + def __init__(self, win: visual.Window, daq: ClientManager, parameters: Parameters, file_save: str) -> None: super().__init__() @@ -56,6 +70,7 @@ def __init__(self, win: visual.Window, daq: ClientManager, self.daq = daq self.static_clock = core.StaticPeriod(screenHz=self.frame_rate) self.experiment_clock = Clock() + self.start_time = self.experiment_clock.getTime() self.symbol_set = alphabet(parameters) self.file_save = file_save @@ -68,11 +83,18 @@ def __init__(self, win: visual.Window, daq: ClientManager, self.inquiry_generator = self.init_inquiry_generator() self.display = self.init_display() + self.session = self.init_session() + self.write_session_data() + @property def enable_breaks(self) -> bool: """Whether to allow breaks""" return self.parameters['enable_breaks'] + def name(self) -> str: + """Task name""" + return 'Calibration Task' + def wait(self, seconds: Optional[float] = None) -> None: """Pause for a time. @@ -84,11 +106,9 @@ def wait(self, seconds: Optional[float] = None) -> None: seconds = seconds or self.parameters['task_buffer_length'] core.wait(seconds) - def init_display(self) -> MatrixDisplay: + def init_display(self) -> Display: """Initialize the display""" - return init_calibration_display_task(self.parameters, self.window, - self.experiment_clock, - self.symbol_set) + raise NotImplementedError def init_inquiry_generator(self) -> Iterator[Inquiry]: """Initializes a generator that returns inquiries to be presented.""" @@ -111,6 +131,18 @@ def init_inquiry_generator(self) -> Iterator[Inquiry]: ]) return (Inquiry(*inq) for inq in schedule) + def init_session(self) -> session_data.Session: + """Initialize the session data.""" + return session_data.Session(save_location=self.file_save, + task='Calibration', + mode=self.MODE, + symbol_set=self.symbol_set, + task_data=self.session_task_data()) + + def session_task_data(self): + """"Task-specific session data""" + return None + def trigger_type(self, symbol: str, target: str, index: int) -> TriggerType: """Trigger Type. @@ -186,6 +218,7 @@ def execute(self) -> str: # Write triggers for the inquiry self.write_trigger_data(timing, first_run=inq_index == 0) + self.add_session_data(inquiry) # Wait for a time self.wait() @@ -193,10 +226,7 @@ def execute(self) -> str: self.exit_display() self.cleanup() - self.write_offset_trigger() - # TODO: write session data? - # self.write_stimuli_positions() return self.file_save @@ -253,46 +283,28 @@ def write_offset_trigger(self) -> None: self.trigger_handler.add_triggers(triggers) self.trigger_handler.close() - def name(self) -> str: - return 'Matrix Calibration Task' - - -def init_calibration_display_task( - parameters: Parameters, window: visual.Window, experiment_clock: Clock, - symbol_set: core.StaticPeriod) -> MatrixDisplay: - info = InformationProperties( - info_color=[parameters['info_color']], - info_pos=[(parameters['info_pos_x'], parameters['info_pos_y'])], - info_height=[parameters['info_height']], - info_font=[parameters['font']], - info_text=[parameters['info_text']], - ) - stimuli = StimuliProperties(stim_font=parameters['font'], - stim_pos=(-0.6, 0.4), - stim_height=0.1, - stim_inquiry=[''] * parameters['stim_length'], - stim_colors=[parameters['stim_color']] * - parameters['stim_length'], - stim_timing=[10] * parameters['stim_length'], - is_txt_stim=parameters['is_txt_stim'], - prompt_time=parameters["time_prompt"]) - - task_bar = CalibrationTaskBar(window, - inquiry_count=parameters['stim_number'], - current_index=0, - colors=[parameters['task_color']], - font=parameters['font'], - height=parameters['task_height'], - padding=parameters['task_padding']) - - return MatrixDisplay(window, - experiment_clock, - stimuli, - task_bar, - info, - rows=parameters['matrix_rows'], - columns=parameters['matrix_columns'], - width_pct=parameters['matrix_width'], - height_pct=1 - (2 * task_bar.height_pct), - trigger_type=parameters['trigger_type'], - symbol_set=symbol_set) + def write_session_data(self) -> None: + """Save session data to disk.""" + if self.session: + session_file = _save_session_related_data( + f"{self.file_save}/{SESSION_DATA_FILENAME}", + self.session.as_dict()) + session_file.close() + + def add_session_data(self, inquiry: Inquiry) -> None: + """Adds the latest inquiry to the session data.""" + data = session_data.Inquiry( + stimuli=inquiry, + timing=inquiry.durations, + triggers=[], + target_info=inquiry.labels, + target_letter=inquiry.target, + task_data=self.session_inquiry_data(inquiry)) + self.session.add_sequence(data) + self.session.total_time_spent = self.experiment_clock.getTime( + ) - self.start_time + self.write_session_data() + + def session_inquiry_data(self, inquiry: Inquiry) -> Optional[dict]: + """Defines task-specific session data for each inquiry.""" + return None From 7dd459f1df9d7dcae680457a14d70a806eb40549 Mon Sep 17 00:00:00 2001 From: Carson Reader Date: Tue, 4 Jun 2024 16:28:54 -0700 Subject: [PATCH 251/330] adds test to see if stimuli are randomized --- bcipy/helpers/tests/test_stimuli.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/bcipy/helpers/tests/test_stimuli.py b/bcipy/helpers/tests/test_stimuli.py index 4c017e828..829c24499 100644 --- a/bcipy/helpers/tests/test_stimuli.py +++ b/bcipy/helpers/tests/test_stimuli.py @@ -762,7 +762,24 @@ def test_best_case_inquiry_gen_with_inq_constants(self): self.assertEqual([1] + ([0.2] * n), times[0]) self.assertEqual(['red'] + (['white'] * n), colors[0]) - + + def test_best_case_inq_gen_is_random(self): + """Test that best_case_inq_gen produces random results. While this test can technically fail, + the odds are incredibly low, around 1 in 1 million""" + samps = [] + for i in range(25): + alp = ['a', 'b', 'c', 'd', 'e', 'f', 'g', '<'] + samples, _, _ = best_case_rsvp_inq_gen( + alp=alp, + session_stimuli=[0.1, 0.1, 0.1, 0.2, 0.2, 0.1, 0.2, 0.0], + stim_number=1, + stim_length=8, + is_txt=True, + inq_constants=['<']) + samps.append(tuple(samples[0])) + set(samps) + self.assertTrue(len(set(samps)) > 1, 'Should produce random results') + class TestJitteredTiming(unittest.TestCase): From db3a8fa2a4d6a501ef59006272919b9d7ea4ac03 Mon Sep 17 00:00:00 2001 From: Carson Reader Date: Tue, 4 Jun 2024 16:33:15 -0700 Subject: [PATCH 252/330] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 41c9f1e50..2ddfade1c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ Our last release candidate before the official 2.0 release! - Change default log level to INFO to prevent too many messages in the experiment logs #288 - Upgrade requirements for m1/2 chips #299/#300 - Fix GitHub actions build issues with macOS + - Fix occasionally failing test in `test_stimuli` # 2.0.0-rc.3 From 2952f6c280b309ab0cb1a098a8375f4182ee2ed8 Mon Sep 17 00:00:00 2001 From: Carson Reader Date: Tue, 4 Jun 2024 16:34:37 -0700 Subject: [PATCH 253/330] Lints `test_stimuli` --- bcipy/helpers/tests/test_stimuli.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bcipy/helpers/tests/test_stimuli.py b/bcipy/helpers/tests/test_stimuli.py index 829c24499..c48eabfa9 100644 --- a/bcipy/helpers/tests/test_stimuli.py +++ b/bcipy/helpers/tests/test_stimuli.py @@ -762,9 +762,9 @@ def test_best_case_inquiry_gen_with_inq_constants(self): self.assertEqual([1] + ([0.2] * n), times[0]) self.assertEqual(['red'] + (['white'] * n), colors[0]) - + def test_best_case_inq_gen_is_random(self): - """Test that best_case_inq_gen produces random results. While this test can technically fail, + """Test that best_case_inq_gen produces random results. While this test can technically fail, the odds are incredibly low, around 1 in 1 million""" samps = [] for i in range(25): @@ -779,7 +779,7 @@ def test_best_case_inq_gen_is_random(self): samps.append(tuple(samples[0])) set(samps) self.assertTrue(len(set(samps)) > 1, 'Should produce random results') - + class TestJitteredTiming(unittest.TestCase): From cc6d830b6f038c8a2bca849c59314fd8e5492c86 Mon Sep 17 00:00:00 2001 From: Carson Reader Date: Wed, 5 Jun 2024 10:36:06 -0700 Subject: [PATCH 254/330] simplifies sample set insertion --- bcipy/helpers/tests/test_stimuli.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/bcipy/helpers/tests/test_stimuli.py b/bcipy/helpers/tests/test_stimuli.py index c48eabfa9..201951410 100644 --- a/bcipy/helpers/tests/test_stimuli.py +++ b/bcipy/helpers/tests/test_stimuli.py @@ -766,7 +766,7 @@ def test_best_case_inquiry_gen_with_inq_constants(self): def test_best_case_inq_gen_is_random(self): """Test that best_case_inq_gen produces random results. While this test can technically fail, the odds are incredibly low, around 1 in 1 million""" - samps = [] + samps = set() for i in range(25): alp = ['a', 'b', 'c', 'd', 'e', 'f', 'g', '<'] samples, _, _ = best_case_rsvp_inq_gen( @@ -776,9 +776,8 @@ def test_best_case_inq_gen_is_random(self): stim_length=8, is_txt=True, inq_constants=['<']) - samps.append(tuple(samples[0])) - set(samps) - self.assertTrue(len(set(samps)) > 1, 'Should produce random results') + samps.add(tuple(samples[0])) + self.assertTrue(len(samps) > 1, '`best_case_rsvp_inq_gen` Should produce random results') class TestJitteredTiming(unittest.TestCase): From 4a809944a64e124bad2fbf16e669589704a9d605 Mon Sep 17 00:00:00 2001 From: Carson Reader Date: Wed, 5 Jun 2024 10:37:00 -0700 Subject: [PATCH 255/330] Adds PR reference to changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2ddfade1c..171a673de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,7 +20,7 @@ Our last release candidate before the official 2.0 release! - Change default log level to INFO to prevent too many messages in the experiment logs #288 - Upgrade requirements for m1/2 chips #299/#300 - Fix GitHub actions build issues with macOS - - Fix occasionally failing test in `test_stimuli` + - Fix occasionally failing test in `test_stimuli` #326 # 2.0.0-rc.3 From 69dfe484970d58551647f76df5eb31f97604f3c9 Mon Sep 17 00:00:00 2001 From: tab-cmd Date: Sun, 9 Jun 2024 12:08:03 -0700 Subject: [PATCH 256/330] Offset analysis updates (#327) --- CHANGELOG.md | 2 + Makefile | 6 + README.md | 32 ++ bcipy/config.py | 2 + bcipy/helpers/offset.py | 360 ++++++++++++++++++ .../time_test_data/raw_data.csv.zip | Bin 0 -> 10824794 bytes .../time_test_data/triggers.txt.zip | Bin 0 -> 9085 bytes bcipy/helpers/tests/test_offset.py | 166 ++++++++ scripts/python/offset_analysis.py | 263 ------------- scripts/python/plot_eye_data.py | 37 -- scripts/python/plot_inquiry_data.py | 91 ----- 11 files changed, 568 insertions(+), 391 deletions(-) create mode 100644 bcipy/helpers/offset.py create mode 100644 bcipy/helpers/tests/resources/mock_offset/time_test_data/raw_data.csv.zip create mode 100644 bcipy/helpers/tests/resources/mock_offset/time_test_data/triggers.txt.zip create mode 100644 bcipy/helpers/tests/test_offset.py delete mode 100644 scripts/python/offset_analysis.py delete mode 100644 scripts/python/plot_eye_data.py delete mode 100644 scripts/python/plot_inquiry_data.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b2a8ba6c..56e81e89b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,8 @@ Our last release candidate before the official 2.0 release! - Updated trial_length to trial_window to allow for greater control of window used after stimulus presentations #291 - Report - Functionality to generate a report in the form of a PDF #325 +- Offset Support + - Add support for determining offsets between timing verification Tasks (Ex. RSVPTimingVerificationCalibration) and RawData with a photodiode trigger column. This is useful for setting up new systems and preventing errors before an experiment begins. #TODO - Parameters - Add a Range type parameter #285 - Housekeeping diff --git a/Makefile b/Makefile index 2a3e0a8ae..dcdc1e0a9 100644 --- a/Makefile +++ b/Makefile @@ -49,3 +49,9 @@ bci-gui: viewer: python bcipy/gui/viewer/data_viewer.py --file $(filepath) + +offset: + python bcipy/helpers/offset.py -p + +offset-recommend: + python bcipy/helpers/offset.py -r -p diff --git a/README.md b/README.md index 7e1d2cca5..9c19fd7d4 100644 --- a/README.md +++ b/README.md @@ -158,6 +158,38 @@ For example, you may run the main BciPy demo by: This demo will load in parameters and execute a demo task defined in the file. There are demo files for all modules listed above except helpers and utils. Run them as a python script! +## Offset Determination and Correction +-------------------------------------- + +Static offset determination and correction are critical steps before starting an experiment. BciPy uses LSL to acquire EEG data and Psychopy to present stimuli. + +[LSL synchronization documentation](https://labstreaminglayer.readthedocs.io/info/time_synchronization.html) +[PsychoPy timing documentation](https://www.psychopy.org/general/timing/index.html) + +A static offset is the regular time difference between our signals and stimuli. This offset is determined through testing via a photodiode or other triggering mechanism. The offset correction is done by shifting the EEG signal by the determined offset using the `static_offset` parameter. + +After running a timing verification task (such as, RSVPTimingVerification) with a photodiode attached to the display and connected to a device, the offset can be determined by analyzing the data. Use the `offset` module to recommend an offset correction value and display the results. + +To run the offset determination and print the results, use the following command: + +```bash +python bcipy/helpers/offset.py -r +``` + +After running the above command, the recommended offset correction value will be displayed in the terminal and can be passed to determine system stability and display the results. + +```bash +# Let's say the recommneded offset value is 0.1 +python bcipy/helpers/offset.py --offset "0.1" -p + +``` + +Alternately, if Make is installed, you may run the follow command to run offset determination and display the results: + +```sh +make offset-recommend +``` + ## Testing ---------- diff --git a/bcipy/config.py b/bcipy/config.py index 08cfd66bb..f49c77cc9 100644 --- a/bcipy/config.py +++ b/bcipy/config.py @@ -8,6 +8,8 @@ DEFAULT_ENCODING = 'utf-8' DEFAULT_EVIDENCE_PRECISION = 5 # number of decimal places to round evidence to by default MARKER_STREAM_NAME = 'TRG_device_stream' +DEFAULT_TRIGGER_CHANNEL_NAME = 'TRG' +DIODE_TRIGGER = '\u25A0' # experiment configuration DEFAULT_EXPERIMENT_ID = 'default' diff --git a/bcipy/helpers/offset.py b/bcipy/helpers/offset.py new file mode 100644 index 000000000..c84d34720 --- /dev/null +++ b/bcipy/helpers/offset.py @@ -0,0 +1,360 @@ +from typing import Any, List, Tuple +from textwrap import wrap +from pathlib import Path + +import matplotlib.pyplot as plt +import numpy as np + +from scipy.stats import normaltest + +from bcipy.helpers.load import load_raw_data, ask_directory, load_json_parameters +from bcipy.helpers.raw_data import RawData +from bcipy.helpers.triggers import trigger_decoder, TriggerType + +from bcipy.config import ( + TRIGGER_FILENAME, + DIODE_TRIGGER, + RAW_DATA_FILENAME, + DEFAULT_TRIGGER_CHANNEL_NAME, + DEFAULT_PARAMETER_FILENAME +) + + +def sample_to_seconds(sample_rate: float, sample: int) -> float: + """Convert the given raw_data sample number to seconds.""" + assert sample > 0, f"Sample # must be greater than 0. Got {sample}" + assert sample_rate > 0, f"Sample rate must be greater than 0. Got {sample_rate}" + return sample / sample_rate + + +def calculate_latency(raw_data: RawData, + diode_channel: str, + triggers: List[Tuple[Any, Any, Any]], + stim_length: int, + plot_title: str = "", + recommend_static: bool = False, + plot: bool = False, + tolerance: float = 0.01, + correct_diode_false_positive: int = 0) -> Tuple[List[float], List[str]]: + """Calculate the latency between the photodiode and the trigger timestamps. + + This method uses collected photodiode information and trigger timestamps from + BciPy Time Test Tasks to determine system offsets that need to be accounted for before usage. + + This can be determined using the recommend_static parameter, which will provide a recommended + static offset based on the median and mean of the differences between the photodiode and trigger timestamps. + + Using a tolerance value, the method reports any differences between the photodiode and trigger + that would be considered excessive for data collection. + + Note: Often photodiode information is collected from a trigger box, and + provided as a channel in the raw_data. This has been tested using + Wearable Sensing's and Brain Vision's trigger boxes with the photodiode + connected. The photodiode channel is expected to be a continuous signal with + values >0 indicating light. + + Plots: + ------ + - Plot triggers and photodiode data to visualize the differences between the + two. The photodiode data is plotted as a continuous line with values >0 + indicating light. The triggers are plotted as vertical lines at the + timestamps provided in the triggers.txt file. + + - LSL timestamp differences are plotted as a scatter plot to visualize any delays from + the acquisition of data. All values should be within the sample rate of the data. + + - Offset differences are plotted as a scatter plot to visualize the differences between the + photodiode and trigger timestamps over the course of the session. This can be used to determine + if there are any patterns of delay or offset that need to be accounted for. + + Parameters: + ----------- + raw_data - complete list of samples read in from the raw_data.csv file. + diode_channel - the channel name for the photodiode in the raw_data. + triggers - list of (trg, trg_type, stamp) values from the triggers.txt + file. Stamps have been converted to the acquisition clock using + the offset recorded in the triggers.txt. + plot_title - title for the plot. + recommend_static - if True, recommend a static offset using the median and mean. + plot - if True, display the plot. + tolerance - the allowable difference between the photodiode and trigger timestamps for reporting. + + Returns: + -------- + diffs - list of differences between the photodiode and trigger timestamps. + errors - list of differences that exceed the tolerance. + """ + # Photodiode column; this is a continuous line with >0 indicating light. + trg_box_channel = raw_data.dataframe[diode_channel] + + # Initialize variables for photodiode data extraction + trg_box_x = [] + trg_box_y = [] + trg_ymax = 1.5 + diode_enc = False + starts = [] + + # Get the photodiode trigger data in the form of a list of timestamps + for i, val in enumerate(trg_box_channel): + timestamp = sample_to_seconds(raw_data.sample_rate, i + 1) + value = int(float(val)) + trg_box_x.append(timestamp) + trg_box_y.append(value) + + if value > 0 and not diode_enc: + diode_enc = True + starts.append(timestamp) + + if value > 0 and diode_enc: + pass + + if value < 1 and diode_enc: + diode_enc = False + + # Plot triggers.txt data if present; vertical line for each value. + if triggers: + trigger_diodes_timestamps = [ + stamp for (_name, _trgtype, stamp) in triggers if _name == DIODE_TRIGGER + ] + + # If the photodiode is falsing detected at the beginning of the session, we remove the first timestamp + if correct_diode_false_positive > 0: + starts = starts[correct_diode_false_positive:] + + # In the case of ending the session before the triggers are finished or the photo diode is detected at the end, + # we balance the timestamps + if (len(starts) != len(trigger_diodes_timestamps)): + if len(starts) > len(trigger_diodes_timestamps): + starts = starts[:len(trigger_diodes_timestamps)] + else: + trigger_diodes_timestamps = trigger_diodes_timestamps[:len(starts)] + + # Check for differences between the photodiode and trigger timestamps. + # Store any differences that exceed the tolerance. + errors = [] + diffs = [] + x = 0 + + for trigger_stamp, diode_stamp in zip(trigger_diodes_timestamps, starts): + diff = trigger_stamp - diode_stamp + + # TODO: RSVP and Matrix Calibration Task: Correct for prompt/fixation causing a false positive + if x > 0: + if abs(diff) > tolerance and not recommend_static: + errors.append( + f'trigger={trigger_stamp} diode={diode_stamp} diff={diff}' + ) + diffs.append(diff) + + # Reset x to 0 if we are at the end of the inquiry. + if x == (stim_length / 2) - 1: + x = 0 + + else: + x += 1 + + if recommend_static: + # test for normality + _, p_value = normaltest(diffs) + + # if it's not normal, take the median + if p_value < 0.05: + print(f'Non-normal distribution of diffs. p-value=[{p_value}] Consider using median for static offset.') + recommended_static = abs(np.median(diffs)) + print( + f'System recommended static offset median=[{recommended_static}]') + recommended_static = abs(np.mean(diffs)) + print(f'System recommended static offset mean=[{recommended_static}]') + + else: + if errors: + num_errors = len(errors) + print( + f'RESULTS: Allowable tolerance between triggers and photodiode exceeded. {errors}' + f'Number of violations: {num_errors}') + else: + print( + f'RESULTS: Triggers and photodiode timestamps within limit of [{tolerance}s]!' + ) + + # display the plot + if plot: + fig = plt.figure() + ax = fig.add_subplot(1, 1, 1) + plt.title("\n".join(wrap(plot_title, 50))) + plt.xlabel('acquisition clock (secs)') + plt.ylabel(f'{diode_channel} (photodiode)') + + if triggers: + plt.vlines(trigger_diodes_timestamps, + ymin=-1.0, + ymax=trg_ymax, + label=f'{TRIGGER_FILENAME} (adjusted)', + linewidth=0.5, + color='cyan') + + ax.plot(trg_box_x, trg_box_y, label=f'{diode_channel} (photodiode triggers)') + + # Add labels for TRGs + first_trg = trigger_diodes_timestamps[0] + + # Set initial zoom to +-5 seconds around the calibration_trigger + if first_trg: + ax.set_xlim(left=first_trg - 5, right=first_trg + 5) + + ax.grid(axis='x', linestyle='--', color="0.5", linewidth=0.4) + plt.legend(loc='lower left', fontsize='small') + plt.show() + + lsl_timestamp_diffs(raw_data, plot=plot) + sample_rate_diffs(raw_data) + + # plot a scatter of the differences + plt.scatter(range(len(diffs)), diffs) + plt.show() + + return diffs, errors + + +def lsl_timestamp_diffs(raw_data: RawData, plot: bool = False) -> List[float]: + """Calculate the differences between the LSL timestamps and plot the differences. + + Parameters: + ----------- + raw_data - BciPy RawData object. + plot - if True, display a plot of the differences between LSL timestamps. + + Returns: + -------- + diffs - list of differences between the LSL timestamps. + """ + # using the lsl timestamps, calculate the difference between each timestamp + lsl_time_stamps = raw_data.dataframe['lsl_timestamp'] + diffs = np.diff(lsl_time_stamps) + + # display the plot if requested. This will show the differences between each timestamp, + # which should be consistent. + if plot: + plt.plot(diffs) + plt.show() + + return diffs.tolist() + + +def sample_rate_diffs(raw_data: RawData) -> Tuple[int, float]: + """Calculate the expected time recorded from the raw_data and LSL timestamps. + + Differences in this time may indicate a problem with sample loss. + + Parameters: + ----------- + raw_data - BciPy RawData object. + + Returns: + -------- + lsl_sample_diff - the difference between the first and last LSL timestamps (seconds). + sample_time - all samples recorded from raw_data (seconds). + """ + # using the lsl timestamps and samples, calculate the expected time recorded. + + # extract the first and last lsl timestamps to get the total time recorded + lsl_time_stamps = raw_data.dataframe['lsl_timestamp'].values + first_sample = lsl_time_stamps[0] + last_sample = lsl_time_stamps[-1] + lsl_sample_diff = last_sample - first_sample + + # get the count of all the samples and calculate the time recorded from the raw_data + sample_time = raw_data.dataframe.shape[0] / raw_data.sample_rate + print(f'LSL Timestamp Sample Count: {lsl_sample_diff} EEG Sample Count: {sample_time}') + return lsl_sample_diff, sample_time + + +def extract_data_latency_calculation( + data_dir: str, + recommend: bool, + static_offset: float) -> Tuple[RawData, List[Tuple[Any, Any, Any]], float]: + """Extract the raw data and triggers from the data directory. + + If recommend is True, a static offset is recommended. Any static offset provided as + an arg will be set to zero to calculate the recommended offset. + + Parameters: + ----------- + data_dir - path to the data directory, containing raw_data.csv and triggers.txt + recommend - whether to recommend a static offset. If True, plots are not displayed. + static_offset - fixed offset applied to triggers for plotting and analysis. + """ + # We set the static offset to zero if we are recommending a new offet value + if recommend: + static_offset = 0.0 + + raw_data = load_raw_data(str(Path(data_dir, f'{RAW_DATA_FILENAME}.csv'))) + trigger_targetness, trigger_timing, trigger_label = trigger_decoder( + trigger_path=str(Path(data_dir, f'{TRIGGER_FILENAME}')), + exclusion=[TriggerType.FIXATION], + remove_pre_fixation=False, + offset=static_offset, + device_type='EEG' + ) + triggers = list(zip(trigger_label, trigger_targetness, trigger_timing)) + return raw_data, triggers, static_offset + + +if __name__ == '__main__': + import argparse + + parser = argparse.ArgumentParser( + description='Graphs trigger data from a bcipy session to visualize system latency.' + 'Recommends a static offset if requested.') + parser.add_argument('-d', + '--data_path', + help='Path to the data directory', + default=None) + parser.add_argument('-p', + '--plot', + help='Flag used for plotting the data. If set, plots are displayed', + default=False, + action='store_true') + parser.add_argument('-r', + '--recommend', + help='Flag used for recommending a static offset. If set, plots are not displayed', + default=False, + action='store_true') + parser.add_argument('-trg', + help='Argument to change the photodiode trigger name. ' + f'Default is {DEFAULT_TRIGGER_CHANNEL_NAME}', + default=DEFAULT_TRIGGER_CHANNEL_NAME, + type=str, + dest='trigger_name') + parser.add_argument('--offset', + help='The static offset applied to triggers for plotting and analysis', + default=0.09) + parser.add_argument('-t', '--tolerance', + help='Allowable tolerance between triggers and photodiode. Deafult 10 ms', + default=0.015) + parser.add_argument('-f', '--false_positive', + help='Allows to correct the false positive of the photodiode at the beginning of the session.', + default=0, + type=int) + + args = parser.parse_args() + data_path = args.data_path + if not data_path: + data_path = ask_directory() + + # grab the stim length from the data directory parameters + stim_length = load_json_parameters(f'{data_path}/{DEFAULT_PARAMETER_FILENAME}', value_cast=True)['stim_length'] + + raw_data, triggers, static_offset = extract_data_latency_calculation( + data_path, + bool(args.recommend), + float(args.offset)) + response = calculate_latency( + raw_data, + args.trigger_name, + triggers, + stim_length, + recommend_static=args.recommend, + plot=args.plot, + tolerance=float(args.tolerance), + correct_diode_false_positive=args.false_positive) diff --git a/bcipy/helpers/tests/resources/mock_offset/time_test_data/raw_data.csv.zip b/bcipy/helpers/tests/resources/mock_offset/time_test_data/raw_data.csv.zip new file mode 100644 index 0000000000000000000000000000000000000000..d02361440e662922125a961989b7e233c1e712d8 GIT binary patch literal 10824794 zcmV(@K-RxdO9KQH00;mG0DzRlSO5S3000000Hdn|0t^5k0CHh>Uu0o)VJ>5Hc2!gj z00#iUUuIFmU}jIlU}klA3jhHG^#K3?1QY-O0DS#Tuf$06-HGl0fWApzg3NdBjWN6$ zVQhFS3}7t`%m8Cc8|%|Meuq`elPvZKkREmSy|<#s$jEp(=fwZ(fBpabm;e6%`#=8c zKmV8i`~U6l|M|b`|t6u z|M}15pa1E9{PUmx$3Op5|K~sd&m;bC|L1@HAOHM6{+IvjKmXf*```Y{{e%DMKaPLu zk^9!$xtDad(d$3CrMexd)Z^#}|Dx^b*p8$2lv<7d_)p8nv7I%w+^(PKb<{17G>-VM z@oTBaA2{|i$A267%v;N~m!zK!OaG}U=Q6gD_7uPMpZ+894dOqvHqKHre4S_4x3X zFKZv>lvMxIf8>Aua{T;OQaX?R35Eu=h4s4 z4~(O3ZU27xzk2qxjbr4?oWFAPv6Xt3{&}`fdvg0v|55(=YrXgQpm^SqzMkx~vv>V1#*biKsCbd+!|`=LDIXW|)@+dux&e%7szGtY;Z;u~#y zAJg)95%Fe^>7_qr_5buAEu1-w=TGF8!!y2*z3n5#TR-FFUmx1Scehf~=pQS3i^ot( z{=Ap)_L8?fou5w|xukd~ebnRiEwy+{{h#=A`xd`{j_*+z@w{_$`p8U)%S1xO>gtrx$KKTKrmSpBMi$ zYQ*z7@#31dk^AR+g%8(b8~c5J!-Z2g-x&Mnxc=3;<1q8h{Ea<@4^PjC6B?hL+Wj}; z0Pb6z#yxF0ON6~07cTo&@_Cl~gr|5$@uKX}hj)&ML*+i7JlOb|G+I1Lp6>ba;C7}X z4*%zLrag>kV?V?5_U~E9X9UTJNa_ zv>cw^Q$ETka$c@nM>#*vejF|Qa?j}-zX!i^?5VySaqKw5g^m>NoZ>t5eSF?~gt>^n z`TNCX-H7m&M*e)qRQMCEeb06r*kg%q;mPqQO3&Z$TjPhfI5uD3f0z=FF-##IcV2Qo z_nP`AydAm3^DOp&BZfriwZ9g>R(C(Q@h=YIZN#|mA*k_a{{K^_I1@-&K^N#pVz~PFuTRSXzlxN;_1hEb5{yq zk08>@zj#eLcw2n^@N7I~pLfKOa(sG;ADcH&+T$k45o6{z&T*Vmyw~%*V^I89qy=$z z^tfj3u)ODey-?)&aeVT9VxQKfh|33oxp6o3{d3L4r}Zs;JUXtaGqpQ-M0(Nrqxbjd z5gp@ZnL#PS^N0}n`T4=6Qtn6iv>?ZgbwqF`j>UJmGmIm=IL^PvvAFe1{G~kOW_Wab z^t=rt*Esy`L@0}+U+&WwiN=mC`QM&LiFD^se2$|Lk@%dC_b4?knbAwX)0KENIig*% zPxuQbJGOb;$vEno7X7t2+*_+PLc!;CmUzCAg?-I_T2*mr1?UK_-SV5rUkF9!1g)GA zZ|sh*5uCTLcaa^%yQ}9n_>f`rGm?&e-!XFNJLK`%#X=+_?}Pj`_5o)`d5x zh|np%!F;(0z7@pkY3{pI?t3+P(=)ZQ-SLCfH9qMx3og zc#gzuiDiNR*)tRMvm+Ugm)c2nA42WnTVYH*+o_qKNWBGyv>S77VkF2zx>{biFzcG z&XMO8q(3&!@XK z;5Sl@vd3j{-l^QviX-m&M4*nEp{B9l(To3y;xK;k{#KD>$Mux@Og+NdxW*$p{5*>| z#T>aAEP6P#pQ&)`wiUZ~p7x|j#}c9Xj2m+%iShTgdfo>poH|U2z&Ue_a}c1Dr6J=a zQ@CSKy!vDFJb-H`0`^^Dn<-&$#MHRslj1WaU7v9zQs}rW<4DiH6)8tNt#N1Tl@w%# z{y){kR)3Ik#G|rHE+TX$PaiMWh0LMY%1WX4^`UbzNS-XIj#CwmySQ?W7fc3U$LC1v zry{LBa})qyS3aVejnt*iV;8x2*jeLt%fEG)45JRqhnIozpi`TvZluqgzv&eb3gW1x zZ(-QEzr)Y&{4jj@q=u`XW(GcUR|n6J?>Rm`!m{4dU0X)Zktho-#HdRU<@vZ1=eWmq zuTZ1X&$EE-sv7Uht40MD;kLDxYw9v2{3WZ65f?;c+vW~Yk)L5rU78j<)%ASPILo%z z2qt3|hDX%4Q4GyWD1IT*!F-%~b~D1yqpte?*3&G?z z_;4fxXSvINyqNrH{)zD7aG}r7hj+#Edd&%C2=_x)IPQ5#3ggdk5yycjUIWJ4@}f{B zSMKquW*7+Pj4&`pT!QAWWcT;6ihqs(ID0J*t8gANWjZUP-ft|@?XV~u_x?jI4pSrx z`wYTS&RL=!`EnFO`wTeY#Q58op*XHV`eOUPShB};m1$_~v?jiO9FD{pO|$wAgDB7I zaeHE|MY@xE~QD`_Pv^^;7Dc+V_em8MP1(uHGJ-d2&Lq{a++#BEb+H!nU`#z62Xl1$M;*dsGo9-l64GnA3{8)h*N|&QJ zi8ptrP;nR=QN-$h-QJ6@q#DO(6M*Nq%poyoQxX*6uD^*lfEBpB`zSF~@%hhF$ zyz+L_L&fH?7pu&Zt`1KnGEI&W5wYJ5It*^s8?Llj$~o_s@Z>!b`PrEGu_$izqR1S< zrdw+uJZC$5B-D5L7I|3X^KNGhUsg-*K3nmY%9;Qj>K%n+e$VKjfVVc|)1DE*u;5^k zYDVZC^I{B_jyo+p-iqw-RxY)a?!M9=Nqr<8k$lV?LxE^%f0J)TY?`kw{td&9{F3-! z*2#+_M#mT4t*=C%#JlKMni1*I*8{ja!u71DTj`iu*kZs!KjNF1L}nXqHY+7JC6e-} z6~h!lbc+b=Rc!b)-IAW~KOHq-_)NIWoq{FWs^NHds8i~H*Ff&nxdQ zzD8UHQP{QdTTNU>apo1D3;j_K{WL7%^o(g(i((+6-F}Ch$T&E8ZN3kBb>v`o9(6Sp zW}-VNe$L;nhOEJHsseP>f8&@LZ2X;rBTlV!XTIEzR&K@#k02X~?>#n(&+8=}B@l+x+&Enbjiv&ChktIPU*|;x(78z57w%JeYJg3M6?@~PCEAjCg zK_X+0hy5OSs4e$6=ruy~Ndg#Y@Ld9h=Z`HiX6tNIkVhbHHUNxQ7=9cH@3-p91^e55 zAw?NEETC0-w&!^5tX%fQwO$pPHsbuZ!#xA4{JUGe@R zN%6!YuDcqqcn&_wfdl5_U%WXTjNKHUBPv9knSGY{!eOYl1sZd|nL3k6D=5<*_C|B$ zs#~(z+!d2wM{KfzdbskXBk)Fu?AAkxm>kh8ZU{S5;gn(6aerW;Io_6GDf3mL`|YI! z&0b* z3l3+FKl065!fh%o!=Li+V+q%KjgWlOxy<){cu<7JH@E3_TtR~o-^?&5D8Bul8o3}P z+V>_ncuMzO9xg*rZRbxP0jR!@vmJO^TFWP;%_)ajrY~PH&4rdz1x&CN77~Y>=kt5 zQP1`(!JOP-6sr`El1N}?x%)6KQGPXob7T>1ct@@>DxaOP#x?kP1{$0Ajn!+MxCoc$ zH!Y6us0QCBy-2e)_cY*$quz+hxLWFSARCo&iN|$VH5!#%R0{2EcN;QJ6(ENQv$sQ+ zI5^)sCLDn0J6~3fUyMKca#?-MNpVRu1?9N87l1*W&nV#2l58?m*_QVbg`=i$!(%dI zjA}D$n#^NqDMZqomnZsTSDds~UdASoD{c;7P*1K+7po=ijTSd$nJyg{mn8)x7jt3~ z;c)v!(1aCHG)4juR$RGqc!yCTczo&jt{8YT->{bLukcuL3B6m^&xl+r0=T*&Ctvwm>A|jbJ zCnDA3V9ZkOX;Fdd*^=X@W>R=#sPN{i2mFfyy-Ysl>dHK-%T#$F7PM9#6> z0Mjz33{P`L_;Ip$#KRb7t4Llwn@v)woZGw&%)y%CP&bp-7?%d{Q!?X zX3#Y3bT;BG$Mf9p&QF|rnrt)p=eR7lJHp2I2lZf0GT?m6L`6fdVuOuvbZ&!}uJhNJ z@SC1L?PEj9g@5dxSmMg@E2m>`azrVdxh~kb^cazcBjdY$81krssrYTlpZNG07e&}~ zH8#@LtZ<>VQJIz9r9vdm1LRDZZHn-?vU&Urhlt4Ts6bBb=6_{0>cssuCWb}2%=8dA zI;~hw`=E^LDe8<_*+m@@|7tc8!j}tSF%JDTZ7lrIxo_3_bo6i@e}vBTv-3tR@hy0 z3_j@eJS~s#&uLir8^h3f>4rlSn(pX3gfpC30o{XmaW6I3*Oth_y4ue1gQr6pfIvjj z(k2))@*xs{IwP?rFZL6((j(x^vVblfX;1xj=x98hFX0ATKt*&yvMx>^`Gy;}B@u62 z9VyMiE8;3i;vMdIHvl%~NHBsCg-^fn2!G7ow%<9<$C`+JLjgIWo!vEHZK9mozrc%6 zAL3Z+=nUqs#ecU)5t&3($om9}QT5Si@af+H7R6^-PqVlv#%KEHRa~Z4u{65T6Y#-R zBgR@<9YA(+&`rB+r!e_6-ik7kfOj+p7tHr0@5eNcx~* zalBG~S3{yQI`)#e4!X}1UgO4`bW$S#j{E_H=JbGQv^bk#&3uPZyfU1%^oVdCna-Wt zMy9_-Z8+xwl-S4Ik*p0b5AC#unEut~Y|GImt|d8X|hi^G`d zb3l$jE__}2r2F#QDEt_M)2ORafgP*}!vl~`oSeS4+FGA*)2JXKp4B<=(x3!)NnROd zu#|_7bkypIqG#UyKbA$tIs|Iwgim+P0PN>`Y#I_69AEBSCpty&{F%8@2KJd!jQE!Z zsC^niNFFpb$kAqF1o+x9Ji85N?o3W+Ri3T{cos(S`DMF%2t&MrIqj%`HK7Z@i1V22IQ~|6B`Y%DB$P0iO@-Rd{%7nISC-~OmDzu@Z4>3LUC=g-KRy20#AZ- zJct!i0AiLD(DAo;VYq!AhRUYcj8u3c@^Rnrn5aVU+bTu$TRSi*ekFqH8&LIQS&P?q zMtBCraewEC&1L%x{i3elhC$Wn<8HIh6;G37W8Q4x$PsAnf@nlS^jamyl@#?z+@L3! za-?euNg>V&qzH#^hYteswjw6cIVnB|t6WfRHh#yhk>-Tg*GN<2$fuX41_otd#HRu? zcb~&3#59S^c!3w3VACC_$0!hGunWYVw0I`WTYq7CjZ0o0ukkZ!v-0_oXsT z47$U#JX0{{5aV<-C*HmTm~^aN27O?ph(t@xa-pYT6)r)J@*cP%6bS<{lz_D(8D;-0tc4oB>7`Zz#!r^0du{|9a45h- z23pR#4<>psLM>(N$B)4x)bkfhbD2=d22YLuPDaNz6e#qt>f$jPR~o;AsIwVC;EKtS zWJ$+hJGK3R_WP0Wc`1GKFDhp^oZd^dUt<8@3MS_VRn$hHs{C0E3 zNraCm%)EM~yx(40yivcj#6gcBe1+p?G=_NiboI*J{*QML$UmDGHyq+Fg5!bbZB9&t zRQcK&4t#Fo1>5s6gFF4$KLkLVkQ}-SXEy+j!4~np-A5tvoycnFfPVvLy!XB&LXpy+ z+sxJKCj)qkeb@rdDC%kr?Anvv24X5woTII&a$H8U+jC9&7Awh@>B8>QD#qEnqnE>@ zHFce_>uDJjhW(pD_yDMit zw*{uhcoIPFgc=>Vw-)gN-S&!_cW!-6m>B&J~3;pF$Uh2uFTb* z^R{p}C3JzAA`I}~d6r{OlZH&Xni?2yFe&`{@E1?M!I(JB4qX+H`s_wBi)alid@}39 zv5EFRa-d2CneckoV-_H&$gV^uS@o3}s1#i&81S4M)y2k2bu3_9fSsgV=1X3;Ye$XP`qEKk^%^A+kGn&r@{Ta_2Mz<6z5j7 zK!|h0YbbK)xELd{8WlI;19hE*YBZXbE{28?cR)`nSQcVCF$ON$3$yEE8RMKI2}yTu zGvH==UlBBK7ItOkmCbP)-9^taDWx`}TOUw+3~m(B|JbZG`m`kL8PVc6PD>IGAY;qr zpFxN&aEMgk!hbIhh>G$4?t$!}pSv5zuZCkRraw(7q(LGE4haJ|dE$tQJbrl?y^n75 zwje&^_aY@cEG5RR2kd+k(-?g%r*ZA5onEe2Sw-c3T(rRO;_#T+=!+X5JiWVfG;|sE zNe%j|^%(yA;h;pIOg7~Sw~l+qc`AdO`(Iv|E;TtG1h+Mo9&ugK3S8#YT=LcF>=j-j zgD$HJBW7(#QcSEC`U~4KlmVX-_tZo}KTXr61|^WZ)n!n^uggXsccOQQk=>!rR5#Xl z48LZYGGEi7Mx;#)2GSv8lCGZCpb>K<32ej-TP?3Xc#~yhQ#as~SN>q)VC^<{sY>K# zFMa@IF*;|YxaGYi9#1YZ1RXR5Y-Z-!TGr&%@o0ySPecz$6W{PB){G;MGM{I#hPcoo zO*9s7ICg=K@dB=sMO6>zeA6W0RXeb`L8VGd3eV&;IqQ5dQD~<4^I>rtu_XLDzWNLC z<6}|7fy5D{rM|X2qCki*vH$`I;fISZL}4M;&`n(#a@)GZ)W1ZnHajO#RBd~Cp}BvI z0-$+h<<}jk{hb_UP#ARyacHCX!HNJT=Kp=qhFjD8oDBh(B@FBD>SH8$V>h?p#~OlU ze$hUP!=@I$B_i-mD05~|P7NQfZD!b2Wd6&cFPPWtL=GV2$19Rewy0FR7=vU*#{#lJ zm*9zeCNXfHB-p&em5y?Y=jD@?wDy7vHI4&!o+iQ3J1({$(aMQ+Oc^#GS+qFG+g-O_ z!bd*&h!+AQXY#AggO0=JzlIZV`@KCENuh`-*p(cv{mpBhJM!exf?$6*GB9M?3Ev!F zjvVIh*(m2%qCQh+Vm6qL_QOQE3_Er?4*{A2_wIvdn7ffUOe#vHsGr>+u>C7+4ZPOP z#7$q!^WE>@QLY~!b?7OnnoOS~iI_jLmN-K|J+1Zx)W6yk=K{%!v);LvC`8U;8KU0J zsw-|YxRW<5>S@sBEows-fnl6s&phQ^Vfu0Tm+i1#L&V^Oy3NFD{biB*n-6Vky9&6k zlb^(Z`S^dVqSm-rf>^aEEdiwqm$U?&CPn_7p-bo!)-wQw2Wjm zC{jS)o0x(Tr?zv&J)@(NI4VZ0O30MNUz%Bn0MiR2Ox*jQlmq&VAxd-nq5dK(_AyMF zIz(n>-7{6lz=uvp=~Rhf-4_vEE)xB_kw#x)VW@zpWBPFm(j_jW_q$YnT;WtByMmJdIIxA*x_Qw_@o`9Fl~H zP&4d8q>+-3Zi4|_VL>ACfY8C3LUC19?&MPv%N)iCN1pa%IrYB;>5Lj!$%_(KWNh)93tDB~ z9Gij4LF?^x(WGPC>FQ~2mt0tOX;i4GzdYPb{HES?^*gqkY1qzw54~W z?9&-^Ri39QP3McINBp7U7~11havY)cjw?zws!>7`lsxBXRP<>MdyNCCyJjf5#Xi zT@gv`d?dF0K;~{D>pDysYhoAl!1`-53ZnqC9T!iKDWH$kBz$zPf(M0J`>IL+7RFk6 zk#W>*0zAWb<__~0G$)+byxBw3vZ!#sID@C?M%LA4Fmj$tXEHGWS|26)4iQ!+riGu1 z8)HmhRg`_a$zmFi3B-SUW8i-bQ!84mLCRxG7R5exF^c%qV}bTYcGO++jn>CzQ)nD| zOno!N+qTzU>t%=zIf40L{(aYyox|&dK~02a%OsKLM~QA@dH?_hO4fwOI@eLWbMSt= z88fPS&=+ZtVR2aq_srblRJw8~B-e2si%jUgYJz4iRo8v1w2t=f*yU3iKTlVdMe6w0 zs|j5;n-Rv<8Nthv4ggR~e+dxBvF%pVz!=PHk3&645LMRFpp*YL+Pw^tlA&PFCq(dx zJv`8&icg+0!(j07(Rr;EHOX=m=AX&LcR0TEFBOC*qV7EZ4HY1ZG`ti~kejKl%-5;b zECRQo>at3a^X|?eX495=3OVeI6BmTzwKsp6L5FoXLKqc40+rS@h!cyB zo+;;rF>!XL5CQrkvvXF#^`lg-a5(PMHY-eY$Cx(c%8)1;d4S-ayIp;1erxPxr^m! zU3#j)6Zvb`@nS^%GUCOeF5yrS2Rk9oneGr1oSx3ahl$P{gZ$AmX>q@O>D1!`rHeYx z)T9%d)Q3qz5xs%!9B-punWgGNq(RVwZ9?;+5=RlzWQ!Us$tZ~KN~KW}O=*Jo_Hzsp zPoX$hWuW}^I&qd6S;w8g45Y-ycVe%Fw;0e5AKRidn-^#N)xNptnWA&CaKm{bTwBvw z)4%h#2QGW$+3GpxMPrK@p;)Re_acH-E-S$*zHZcb24IpHu2C-k$gtN5cA-=1#nX>j za-vI`j^j1UxLh7O#7tE76>JCk&Yeod;IMc=a0Se6N%x=MEz@x>XFlYUrSFQrL34wNMfmiLs1*l7O1?x1M$#WEcH|sk^g5 zi9=Ujt`-xuF1iQP-4F3I!XS2afPo8F|r0H~;>5!L+MoXf-OijBe!`r$- z0!Uql67h9Uy*;n~2fFp%4X@}IxA6+rxXh79t93zt$p09v3&iM#33;MMoR{9u+b?FC zVrVT-AX1eih=KjpY2M$Yi9eQQo%*ZSy!PDkHB0s^r_uEv@l5A{hR%ft2ZHff=zRx( zSMS|LhTXRLSDzLM&L*OuWZ1J~uddrJ%X%vS9M8`#|N>Yt8XN!@0b_dKvrU9sTDwoI0W$6E%Uhd+s=C_%)Y!R?m zJV9u&ky04o{>X@NmSl1W5vsv_uPTeg_(*WF!73{HNbxwQ{6M80ZO8+r;k5W)!6Y(G zj(yPuBmG~-F&Qr4a3BMU1Y@OHNrK;7jDsBto?*~+m>sOo28r>8V3k3aU+Zu~iE++) zJSuS0r^8gj@yUUw_%B*0aj_c*1>ljLEB@np%cLURs&}%WjFL~&Yc6S`mvdv4h>u6= zsS7oIcA&VPN9SNUWa{7yuSv&BEPUFa7ZsrzF3xG_)PxGcpbPyC6$KH$S=qu6L5RuZ zn;Vm@8M-wO{CIL(#_m5x$O^SGibPf%DylEk7e&QH;u`mcA?8)^-F*x&c%EEW)&GY1 zpoM1|!cT*QrMXCgq+6$pAMM+eH%uYT`jYPHW^(ac)g{q^QF?TLgas;UPZo{WAYtQo8Z1t;G`Q#>vy6Pesu9Kl3Vb^lzZQIHRtGc%spJW~aGk52RbS-lAN=87?895VqQh!wxUS7eBi z#8W+u?oA@aikS}f9KMGE6~t-p#~W4^GrDp^kp!uIlXo<) zDm@a<<%tiZ!j@J-L}j!Sch5kOFkk9E2*T&mlR(0AI28728WK^*#T2ATZ9Kt}Q89H< z&8D8eH)!M&`82V$vmsUf|>z zHr&)avkRpgVZ=h0p#x<~oqs}4{wfN7jLLe4L}q@=ATSxSf3<{FPz{H+YYOO$>V9z= zZz6ZN-S$&CAx$kNT^$UUn_cTMst4d*#7X}U%Yq^@f46{IGcP}Mjt zq9B*@45%4kuqoKIQpGN<2Aa#s6o_dslhs>~fd(_%>Fz`%Jh6H)>DCPLTNa;OeG4Yy zzO?6H<^VI*sgxvm5#YVU9yLRiV*S+U0xI=@Yv8`4EUE@twlYU$Pt(BjCXof3D95*s zeWP&kx?a-5PJ)eOIV~z!o%Gxw541LrGrv(agWTZd`M_*Xq6%u2*PMmJXS1$gqn@Qaj5}&AkXaDSJ7@1GHXo5lmO#Q2fv`FJyJFsb0SIs8lA&qkT zEv=oiUf|V=n{&6QbK5&6Rn{=%Px}>&iQ2yB?V#md9(fr2^1eKj3N$TZ_FV`m9HSTM zsOX52m|+cUhE>bl|7n}{*6bhjTru|*GQ-(x6^WMHH5+|HC-8PKTBFZtWaP{TH}$u@ zfVS@&Xia9EdPMX#2vc^sA4sM}bnF(F)lOWNU+SLy))f_Q^PEVa=Dy7}Ye>($17k5H z?=nPPjVyYL!@{`Tve!q-)?F2YaZ6g)^yNzls_hd{U+I5ZSryTlp62nU*cZXCT?<$) zreO67>Ox{T#T5y-&GE_zvTXYztpV}egEO!U*Pvs=(933#k1fa%BoPHWEoyH_AFver zV}lQP#^Tb5kkJ7YFTt6-Xwl|pEt&~~{?R0G`G%)iS_~t`U|S_OGlz35gwhjWO>#8? zE$6(OtsUsP&l?Y<(l<*_k)(NDtMRdhA~YQ|G_nNX=ORpCM|pBzfe_xYh;>Nl3*F&S zFE1|o*&{^X-^u}PqQldPgOR~)7A zG>4)zi6Yo}HIC4si4mb>={Ards1tYlE=z6JET7yg9)Ynl{!|Yg6TC_8QJkmxW0w56 zU8)4xbmO!I?~w^d#NCE+PVqG!m>C4hEa`?vsgL)XVw`c4hKA#KGeNXE5M3oDog9IN-iJ zx3gJpS$Rf-V_Cu*Cwwy+`WmoVbr&)wO;}}135rBmIg9u*%X89O0 zo~p#eoroF#L_j~^v?rzR3|K8e4MYq8d6AM($$ck3q8%RTKA(cd0cPv{n{&dP0{Ug{(#dnwRul&o6OLyR{10;*UHmB>Vf?4Q- zOae~E8!#5ug}Yzq`s&r0hC|YZGwUo58fg>o-wx{9-&UrqDSCB;XEft1RnK%z77A{? zR#DECD2Mi_&1Q>w8HcMZW>VJs1PJ@{hJE5Mp5P%;qMZTf%Y8`tzuCl03N$RcJ=0M3 zV0hZ9H4+n6BuPA*vBou+wpRrt*`fe6gm{C-?kzekE?l-VBs7T@{Q|WylItm4Tm7K@ z`%+38;JyRp!Z^Jtx`tJ7gfQ#7b=!e?T<=C&xzI)yB&D$EQmU7d*RsLlN}$h01PL7P z3x)Hth7N-GfUM4}zLAt`jQ+CgbTM}yPS0VNL1bI`USg&w-5*?Z_5BvDeek32N>MUP zJ14~m6m`%R`hbM6TZ>C%>g6}Y&}Vb17vZcX0yMm9vvwyv8r!-0G$Lt>DuKC5Xmcht ziB;g}99`M$4S{GyJoC+W_lK z+)dfWA~MbBWH&VlCMRS2-AnZ~h6_S`KvsG>2o!Zk&^J~kB=FUJcg?;|A>;UhE8s?D zYzY$Li`yb1gP1^i6`XB5+zld-$beL$zGb`Qb?z=&s}-0{1Bv-gyXeBV;}VmP&2tPc z`Zu07b|i%ySb@hizx1Gd@RaXAT)@6MLM2ISDA~WMg3!&LAh4d9PlHW3UpHvTl0%kU zDKpd&r|oMi)v+j^B(Tw|aPhSX$=94^$i_epXE~!$pwB+oK^ac++DW|(lLMWv+$qx6 zb(Jd%;Ve)}$+Sx`VwxsMEdX_SU+E*G0BEH00X8?=E|8(iWCMIw@tI6HLVQ45SqyUD zl8Ok;r$k0?5N3N_i}x{vp-F-Zc%YAV-%sh18H)?=dxsWA-qz9>#H!OEw5(}BJ@dXG z2Lpr&Tx+Zkbu`S6DV*_(3CQx-<_i_r9$V7kRTLHA=3VGa(!Rhk<94IX;^JKu0>@K(-J(DA`vT8k`>W-BR6p><{2k)1y1+l7HGG@;5BrK4=gjz^OK ziUF4B)$NZ>QK|#uqg`7=XrFF-zTr_Hi^@9m*1o+l-7cfZ2`>sDTy}>uA-Cv)*5TIx zSH7PEDaOgz`z3(-rR%cN*~wf3z?8vco`$H}5&;mQvZ$X7NO5p@jn7B=kz73ck7t7_ z-3?v;=UR3Z55`%8w0hdox=++{_d)$JN}KG-nBnPllc;OdCwB2@KXhKu`Klx53ychz zjV`vJic#DYzdc~+7!2xZi^30Vz(luwHV2b-!8tpyApAS~rSYWpb!McM+R3QYTJ|>A z(;~K7(;LxWmZ-a1FQ5jar@1?w@c{a2hb_qZZe6qWO1Wz}sr98Y*yh<_ajbaggFl`M?qRs-gOMeN2#nca$nA7e-~E-K(9HaoFl;@+JmuS##O z$H%)IT|As^!MK6gKNkR9764%;BE6j3TOULAAT^RMA|Mkq>%eB3h1C{)T&n{|Sz2;c z(n?l>ofLcq92aq_FI#=CY2d3mrfkySR$M@&oDOdk9%2Z@C1R3X$I2m?1^O1S61zF#Y4j#d?O8^6#)iM-2l*2p~|`aY<7aZ4=FIcCvyU7wj3E#;?SN-r)V;4fpU zZN`?`7jjN~R4H@Y!L?Rx(bk8CI)z{|rGI|W;*=F&n3KqV*W_X5;pnST`1*FjB!Tmp ziy@>Pcf`HFdVIj1AIC+_ZkY_Cj2fxQ>&iKqQ}wzC!~0>4H6_RqC}y3+yO~|a28Pp@ zS9A#@nD$H3;Q4-o<4}|GjgBolF1LwDjMN@)`|gZrQO4n^Zb5E*-cj)&v+K5kMu61u zJ%g+}oD0~(T>x9Z)iT&2@Jzcv%zTKEU3L{4HQEy;m z`l|9;c5S=@4K9PY6+S$_6Rx9GmXghE4s3`x#s-T!)2-m=%poq{^?jU#$2dr)aSMyZ z+T>4zSiqM=^E=627GU7P$3ON^T{Ekho9BJmOpda(ZyCyHp!k@iYjO8$>nqIZYJK(N zpK@x$g{>i`s5B3(bZjj=5Ccums6&sPCC6tS;5{{F74Udp!PnVJp!O2fzk~*?Z+}Vg z@Y%g{x6lf0FkkqmC4$97$SU0y2Q!Z<7||WI+o2)+^MS~ctOue1TtHBHus!JJWtUB3 z1LU&uoW6Z`T}zJLB7$7m2WIC&I!AjkNxUDE^l%h;$?aW$w5TAwV{3ze;TJ7{qBzYn zXBoSMoQ$!>h>dBF=@v0s9h>r`3CT-`XJ*PK)FEH(=4HQx?(X>Zu1dq4fH;i_8S~ui;@x6(q<#kP9_{T_Wjz9 zLzMp6zM$E%AU&Suu;L^^08HBC{_Ph7W41-sg;86?ulwX6Z@U@dv9dea@Nv=voiK$) z%lcJrPev#ni}t6g%xH-5-U~t|4)09V4?fPT(iAZ5{=cjSxHC)PFC4zhr@{1mZzW$g z5t1*$U(;IT(^`940Aom}#x%!eNh{aU0sxH|6{p!T*q7dm59Yu(ZEuQ}vPdymgunAg zBram|!Q!PwtCl@`Rx6O;M*%vaeR`CzI=$zeSZP#~uPYQ}`kfpVwME>_xU?95Tm}h77HNG zX{@>i-E6C@YH?NefmG-G=!={CFD`^FP0vMb3%Cf&B43Uy9f=i`&u04OWlH=eQ-V4t zj?`r+BpAM&|CwV0A}=`gx7AoOtCNL|e+|^}1?RYsT!U2`cMn$w)Yuw|)T_K)T2LA! z8gE8$TZrWc)o4+70zvUuEG0_K0(a$5j)+&c?3UtlduWS9*vPBqd!ljoFWN;iOa-y1 zetfa%$rsM!epZo>Y3=g;6YT&1TIRU615))#0{yos9Y5$-S|{sihl*g){e*0t_k?!d zA0Asu*4o_Jzm(k3vWL8i+hZNMffkj4j2n6&al5~zV3$3_!!bU}L$3Tq&di3Z;R#>P zk0rTUvT-^|7I$O3ZV6Yoa_LTY`K+*dC9nh9+IRWU`MOd~$}cu@YuAWzf_FYOpJDSl zx;hIG?OI3Wv3-EFeqTJ^S@x;c;Klv}LNd1vf-zaKjUVNUg;j%W$TH!hxDX*Q(5f@JnY_={^#x)bWVqlyoZw3 z_i4IJQBZ{Yr*(LeuYQ9WN;%Fi zOm2a#fzSoVumX!%^lopjoD#OEYd6*F@cOF2H@FGaJ&&Y{hkmo^O2~*~G4sbgE)Q|G_G+NIAqbb9Vts z!G^?ne8;tWY6fJK>OM|<%G~eO$9UeLH%~+4z(Ou_r0#kzKEK%V)kac%T9G9OK5Z`B z2?}G;`b62{o3|b;sQIlYWC5KeQTzaWITNR zeXW%hi{Cz1TpNr;UYGoGA|y4OMEDb%eN6@#5Brk6gj%?#$8hEHvN()#Y%^FsAvlsB zAL{`nN98 z7b&|gsHN*GaH#j6td0Ud;_^8dQ zZ2UJrlD~?GlW&8HE1WUzyV#!0IUKs&lzV)x*g1oW}=15&A+qwNv?(YA90< znLuNJpBoRZiWi(n`>Jc=P(|hgwv@0wAUGaF`p3IzDBr)s3 zwn_)6CYKRlL}_z*WCRfTu?roiW^s_MH{oKl!OPPsjDqTySwdFVW>3|&V3&--vDFT?KZO5nU)E*Zqe72$)I9d<(X;GI&%4ZR- zY1t}8t*k+tviT(X62dlG7XmlP>VE-zLlcvDl)bxHAA$Pg?^O#veoGr!M9!YY@;eaq zxx4IPSDmWyam1Q!yJ$3yjhES_=Xz(W2hVx4bs70(QqFn4 zmUa$n@|B`3zLSHLwS+nu-Kw%=)uDR>0d|W!4G7QcL{{dUdMHDYk2G(AECcC_pyrFQ zX)0}N-;MntizF=g-YqZOsmkEdaYGO}xEA;G`sPZX9%+-b9K5)vuP+Y$?Nynk}k^ z%#1^!b#km!!|EA1@mPe+Ni^J~zl-KzZSbc}wEy!( z>th>%W2fUdCg&AjNM&2iLE;RjWa%jL3_h;Q{uXP8$1fgE@Ozq42|8DEVbn)ip%G(t zurE+~Xop7gWK|}NjN|;oXT{<)mgh>KKh9-*P3P*3&wK6+95AYpSG2{+G#2RI53DS7 zG^QuW%Wh;cQlq82Mz&0idaJuI<#^o#Bulu@FIt~qsYZp`Ss>)R`GVN9FO5wIw;bN# zuGik=shTq+NOvLZd_A^cE~e4{cd;U)R_+ENmZaqD zxmKM{pWT5Vbu8A?s;XFXeijZpOIe+GUq`|&oXz1gmp7k|Pwl7Vk&TXb43^K#3`FV! zud08thkj|!3d_%>9JJs7qWL6U8(bsnwUtCHWl3y#_%`ZP<3U&OUH3;hHk%y|RDZk! z`m~EclnKdf54LGQX6jguG22fVxXqhGu!i}BI_v3&HIzvb?U{y`_J7%&a@oPPr9FQT zQ;(@tc|a;}E*wx`ibo|nfd*RWR9t5>QbcNrS-uP@_tS5@=t-C%ClzLTiHjL3Z9 z*<9hLGWWT0`S4I*jRAa>#qDDY-$EMVZK0fFJ@A&v3|-Yl3S8b*jBAxOHohI}VDqLc z4GlUHugC}41h+WD??W5Gnb3dn4xpV^R}Vn_Nm$=I*AXeJM!NTXikj_>hgu~5)$6j* z@)Q#Ly~`}i&_#?#efjgux8lRm5w%uOWx(oCDe1}@M3*I!qXOA z^d*rClRVGSOVipI$0chMkM;YsJY&+Y0XkZnn{>l4#r4u7{7u3z0{PthVfbmW-@3+* z6K%TU09T5Sp&7!am5t3tFbiJw(3V>hP-M3D0y8)nyr6iM#qEQfwJ=i>3l*23jFP6~ zz#x(cV|^POH7F1ryU;-_*M(p(B&<1kGEbA#|0-85AX3W2#^BC}YbGUN9gDbUn8&@n zEJqX$AyPJ{E<)a4zDoiV6u;Kql*(k7QnC`Uc_4D}O`eh1Ysr==AcJn57D*OWlU(l% zWK(zCJ^eK6fevj-fA6SXmgudqwnS%Qir<3WV-v<4ed5!r@G)+?=$%(sW)Aip^a`B+ zcggU+#~%c2iSNJm1wRe^}o8LAPoVk^{QnC7m%Xn9P;bTg`Xe?VJ1U9t7|7nftuc{yo3~Tvv z2ibS`0R?C`+P||Q$cT@;?K^QBLUstu=gb^P9!sW{ByKp~RemqaIB_+C^mT8~ePl&# z9#g2VK+t=&NjLpCQ>;f364;e>>{x1Uxo!tO(X4)1tqC`w?OX}d1z9H>r5$)qGO4-@ z!rT)NQlj1Ac2#TRz9>`_kj-DJKH(jr78d~cK1{h9&t-k8Y z!b(jKD&Aggfql2GlaDjW*!w*gVVZ)Gh<|Xw99)r;Na(IT7k{QeW$z}>g{rA*6m=wk z<40zSbV#7m=!*lDa=U?_Hff|>^&Pbbyt?$a35bZEWL(pL*oy|j$ikv2m~4z(sM?N%bvU%SyV zNR1e=03qvvNhu~VQ5NN~44D6m3gvFH*NLbls0xq}cU} z+eibL-wIJ(JikVF&LA&;^`p;Zo_!uj|5`o3m&iVop#8Bx7gm$Pk%c)>Amv`N7pIdLtKj=Q5G+(`9tY|L}e~(o;Y8X_jJTJ1)OAk<|?0 z)&ZyL`1-zf#7>tYsiR9|ksLfy`-&HaYcs?7*;_^%H~!#IH7zdSj-pa^ky~(WanL4J z5*m*WwKLl+meGtvWUV{R^4S^FTlh_c*|-kbK48Q#Moz% zH|)qrF6xSh7*sBw1#SH>kzmr8^KCoxZI#R_AFuYpidW(9CcK(vkBO;NDO`E>(@%(l zKK7&mB2fD6g@eTEdAEJcIfb5R*L_h|NZ|pWx-NXjGz#s(JNseTbwp{q91_8X-nX}n zkZv#g>?;1LJ=R<(=4ltAK2c+aOJ|Cq`MapSv3=2&oi;7SGv$F~Zqk*S%!WBVYM8|N z6RZ(m8$UgVuNg$f_6gO?`pyIBplx8zY~k}=vWc@e9N`}!8r;wgxn}Y`@j$|+Wa}e5 zP2tuMOAwLu6@C+cA8{97lMAlJ>zZqNx2#6bJAevTWGu)DwdJ=!`1wrW$0{9p1!+b= zrld;-8bR2W2El3CmVZ;hpDbI6MNC=Hrbi-CcIv<8F6CDc>T477Ik_vvCPetcHbyLQ zwOVDwKqa&M-K85rs^;Niri=Z(t|ce;^QDy+dtl*%yJ_);F0c~RK~zaj>(Xg9mA!$* zsoL)C5Qq}_%0LZ?O|}pq6kp>$C!M?P{Auic4Z*QH*)^B|=P)WmJ0?0Y>xEcCn7ZZ+ z#$baQ>;l|u|M8lL7qBd-{xL=`j8M%meqSI;1e;~mc>)ViYjFW`XgcSr(R}RMk!5eS za6~;)3!&_3-_x$by($tR%T*)8o-K$BDSj;c+NK6}S@!wBs<;#UF0_!1)LBP$Y?E+> zl>LwX($|=(SN3g)Jnl2(Ny8-Xb|&_Vp9>1`0D}<;aJo~H&uqopJ!Si{RccxnIXx|E z#OO|pW_f@sghJO?9lieHtSCruGJE zFZ|5k4r#AMY@QcQp)+*v6&$EF%;sT~L%WYN1`3PT4r^cxhpk_JS|Udtihg;U!8u&c zCG-=6Qy2UvJOj_qzIR(1?%iXMF2mLH)kQKs&ch(Rp=*3daJ0%*y_Ill+sN8Lt-3mp z!n3bgWPr#*zL`Q3Z?|d-Tlcg*TxIaIFk~okrlFjcJsQ&QKbIvak>3N=A9fD_S1rDA zQL~nF!8@zoUEN@YXRLPwLX5^ zH3oeOhkfl(mr7(o6bP1d?l?4S>FZKEv@X+O-8@3T0|kkzdNU*ZnT@lyDkaiwIFP@+ zh0899PUdm7JCI>t8Y+#|@g{J`2R+2dg_)XVV-)m&Oq&zCRfT-Pqm`lHFTmrrhU8~l z1@FFjI7UU=8_fdR#)WPbDrtIL*H*4wy3dCzU9*BWEkqu?9lhD#0ms)Wje!QkL)e;k ze<_2XElzn8ZoZqsi9CAV7wY2mV@|(eRdgdecQ&N`=vsX35a1WiAj?~u^==N0o|-2W zsI9VjYC`%F8B*MzQ{_x}$=SXP-$7yQ#<^(iWq#31_}U|6(6~T%!{ub+t@GR?12ZUF z5~9z_sLZ;)a2;#TW_U3kpzBTzIcWeOBAVCoW)m6PDa5!4gQQ&x?<;FThJF3(lcUt5sw%I7scY!OR#Uw4bJL-#d1Z+c(hZt=ZX8nD3EHE@l;JwXjpB;O+h6}v@|RPnYI|7ih-@OK<* z^fXIY?eiKa)}^`5>xbdyjOuuGw0xa^)wD5u2J?>4Q2f`~W+!=Wi>nVP@^6)@Owt%g zUn(BtS~@&E;|NDrTg^R@c+VfW6gciHK(ebpvxKiDYM7lpBJVkT>U~rxjkwQd zvW?xe{p8jtrBCrD2XV65817B`+B;JeUkjcFRr%%Z zWl3J-#jDYcSO85$3IU(3SrjFWZP{!1hQj1Q!Z zbuY>`w=oT4Bcq!b zPjhm@oU6rAHou-DbGCh0tV5_wmJ9wcAlzMIWDuqQvq_74?QDcG%Z`!hHUxYJP4(_a&Zi)(%XWV zhT0!_Tr#CP{`kDP|4_j|*6+UG@M+$g!>qHav;`ItuGoH8E#5|*81>1gXZ50s)8NMO zq{nhSXo0+ouXe(9w^ZX`f2X5QB|iGHyRYhd#a9}bA{mZm_i@_Q#;`0Xa(IfZS!jYx zo($2-%4h@i3>pjBOItQW8!P2$$RX!ZbY?uX$Z!HG+ZIGqVomVe+@Y})dmD`b7*+#@ zoo&9Nq1URQ0j$M9bWfv_LgLknK7Blx5!Uv4wILDi;M2;>oc9Uzr+AmHxQK5rJ!p!n z_Om$jYYUDnULp7?N)_wEL3@cvZ>>5F-EEOad>(pSbJ(ptyNmK9x;t?v`L{d(`Ayi( zk4Z#CF$%c}W*1(LY%m|~tTRG^oZ-GWG$1q}KJ<`w?{4VYm}V=~o<^W^U9>ik^4G{S z2V>9`@=uO&U)E`4I%@ZM_`D5W$Lg6p1LEf2;^~Wf0qk=ZK`@h;;!segFYQZRjHnav1CzkvF>sO zh-&d3C+?f`Z7v4OOqVOWfqpUdUu&AI(ecSlYK=A)K1?R*N^?k5pT2D7kM37oTc-n2 zFGp^^trM-ZMWuu7n*a8cU^rf9>leiVwXcNpW*ZEGxwE~2nkCpeq6ds)XR*Wml6g@4 z;}34)V+hy6A!u}53pTesxN_REhosQ5w^NZIS;ld;26-#mNqUE*(X|8Yt5~PO(rbN; zCA(gg!f^)5VziLs;8I)`=0e|JP;6PMX3e$YSxvP0R)xa4rFGIx=x^yoL*{GNp~HT) zpBcnCTorLP-;C8D^`4HJs&$1m;?Q-wJ9Wp&estR+5T|`v8~I}mFHDp|=<~CmiR8|j z1rtZC$IU8-J^uO>7)AKgI~tM--c4|mXux))_fdh&p-oqkvSn_PdD-M5j`@_cs8D5n zA7G;`I1{f98UJ2?iPDJgK@>+~7_97R2t$IRU4ej}oaK9*$m|fR@5fW9Fm0ToOnEpp zwL($eZKvSCfcaj-c#y!aJ>JV6oLQ_w5D^GbP9WGJ-OVu4P#FndT6XDVtu@T9A1;h! zB=3{>@K+$!`W9|&e);zoR`kLYosV_FCpjfY-ln&3SK zzlM;dieU&!#t7And>07{+I_A#E7a-ftAVwmeNO)e|7cr^1ycWk*4}o=knsVo#e1>q z?tlk2_GSB8qDYK;(S%TPkwAzMHvhz6kSBN6XD#wbStz~si-r7}G~~@!vb@7vSRiP~ zUpsF+!V@x&bFwWSxhEG&ne(wwy(v;|B5hq)={)TLYE#54OcKn`#=ivHy6h;FfYqYJ zA0PZ9C8KS=*32lEOy5jK4(a^%pSd852C+s%L1lt>-H({k15yXj-{wy0W!!N<@FQO@ ziwC21cxS4DAo-^1hap<0Sl|>s&@8AfLO?JX;==h^bVeC!&RAJtuq{XpR{G2laHIfb z$vdC6Fs~^2nhR2(J0v1r0n4uanip2X^$X?2-xz`j*JKWsuEEx1ie^Y%5ilnf#jODn z4impz`vRdVII>6s_?m4?IzGH}re_hQU7#}u!-wgZTR*O`hHz#Wut{xK`O_ZVq`7{8 zg1&V$e3?-7OLaxnk&eVA zV7Q9-g0xKMT|m2o22*|Odda4$L#0s6NOM6_Q+v<#+8jC;sHu_)_l}#WSBoAIaTpz= zTeX0+$Am+k)_{j77mH9kK5o^Gh6eePKU_)!4!dGDhnBl9B^D}f1tMVzr@^{LSHY3` zzq&JGJEbTjLmIqaIGf$k{c`RVoc2)+5?YZixv$5bBzN3R3^%3acGnKv9~Sf16n6L& ztqNpl>vhwiJ-w&B{&Ik@p2Vlb+{43tWl6IaK7$?HhHF;wXEY(VhCYUF&T@?a!AUK3 zI$+p%WtIqYf!Ulp1KwLu8LGeUAXO+;7g36g;Gga1eAsjDa-gfR%woX%9BA}v2#7}6 zlzo9LHS@Bkj-GN^$dJ^1_AsJ%$Pk?0SsEhqz-|A_QCO0AwMp$hoO>iYB+4eq1Ep_@H+?FI7caQspoST{3 zp|+u&JpeutFy2}zGDV(43uEOAA9Pl7T!zL&Iq2=rAJN95!;4Z9d)7A3t(TqK)s}*@ z?&VhvfLNJ!ly~P z&oAa6jU#UeUo?&H`X11GzRxxs83kFZtGc$uS_>NS+rH#G+IsZ6uI6iuW+NgF(wzie zZkyG#tznhYN%5bV*my^7?-;$b-=rUtmmOL0L>`-XF22kAa8$;D?lfT=~groM><6+P@V0aa=1_$Uy3(Tr=c3*iC zj~c!0=DN7xzIU6+RyKUuTqW*#G}ONPiFlkg<9%9#dV8tY(2w0Qbt(#LsXBtPzI8Yi zHQkm`9MkUy>Ilf?7)IQW$5R&K8+o>%5WoD&uWjT(^fEAp6m(hJJy6%mOHwXe}`TGaG5W}&sHG2UV|M4DH1R2s{V^Pn5 zm@JO5i$Wa|iT;&zxy|DK5NVJhwkI9{L~ST=0roA;5EJEQn$V?jB0ZGYZc0uasL0Fy zhOZrm&OdOvmKLGSqlqDF%c`_Fs7rx^nTbt5D~!?^W5&2{oU8U@GvAL!?)T%lDlU#7 zT`5QNhzQdhcA{-tqwnWQ(P@SKIrF<>5x z2(#^YYDzxl{GL?9mMuZ;F6$nPL)}kjs55)ne!3|#1%ZnqVxR@{wpnZ|44$~t~{lZbRb)Sb-e(o_D^I5QMIEpF!_0yQJe4u~x*khW-^6 zu}^5d78)(R^`~6~zl#>whm{_G+7s%-hsIsfjTFefKG#Pi#{z9rXVZMZE-*Oqg~E7+ zrC!ERYhA2BP}Rl6Ng5rdNHh#ar7*KMSE>o;7uw5l{+UK+8OtVIHB?UfHu+#Xm_Ef7stCE)+i9eWbiT3~BBBAZ4^#U7`D`bAE3b%pY4{3PmTUBWEE))4gcdLg zsE4x1QNw^@YlNK^bilU#9Y-U}*nU*R2aGe@Y$a1Jl2DoO2DRw!)?lNSHC$C^rI}0M zBa1{j@%?q-!r$b%zm^PHf^uD#lFc`a^B6YkrO^GEJyOA|OuCe=_GXkZ&c$Z4g?QZS z-oYO;^r{q|qhM;weTWe0@+JS0!fIaBx1@Zs2)T*nl^5Q2(QUUkFk^-i%s36xGMiI`oe{*J%Cv_;EgDe~%^+ z$LvD4iP^bBM8z3)bs=gzE=1GwCO)HsaffR*IlRD&WRcLHumKrH`GiF1f=CSwVgwt; zINfxfH*byi>)hNEZEieMm(fte$ZS8R5PB{?AXT7ie1&tg>gyahVod&;%}lsCoQWR~ zq%2h+i)3cH+je1@{^ev{SA|G{+!d1OzrhA4jmfhv+e=xi==~*n@gS9brMwnh-yOL^ z-Dq;r`6IG?{w%e|?P$)TAY86}f-LK3wnqJG({*3Dcg?b$gsTmU4$1C7BK&AF%;p_V zJQDf-W}WG$O`2DTBM4m27Z)^u{%5bwa7T&2`8wbpcx;9v+IhGxcSCN=!gNz2M8UIV6k~*I4UHu(;9Y}iRkb4*RL&w7j{Yx3D&pu z_EeA;e?Ow26x%~^(f_@uu7HB?|327`IQ10hf%I4It4v{uOA$?QzbL*2)ZyZZ^75{M z(4+#r*a7fP`fG%Y?Xe*iE&g~MQ`07#8hppZC)LebdOt?#U0s91b90nP8e(^UiQMSM zEP|uV?OfWk(}`c$sTYyk5rBg>sp)k*twFuAT>L;fF3ajQ$@Mpf@vtMXI-e@)E%aA# z^x5Wv&(*AyXWE(&)bZz94x3Xwtj=hQw2!Sx}-~(+-2|6<8Xcb;X~h8Zw?vrD$|=8hjGd zs%b3Ya#ioAJpxRK8+b`Dc={@R>vQR?CN{#xH?@J8utf`-8L<57@nj~OPyD1AW^~%8 zSwbjW3_-+r7qOU1bJ+uQ2DItIp-9?n@@3>U7hqLfG2kdCyAdANzbGKdk{-vs?pMPD z$%AF^B)q}W%uvOX>N1|(#gX^qM*?k!i5nqajHKS8;tFWw@U2Eq+Xki`7dF(F+|Z-i z7K$LM()|w4lwf1xw0p{&zlmWwq;6x0jE3Lm`^5ROq+ts2Is7fT_BMJ*>}5!^Cx$A_ zHgh0)4hZp^4tw2woI99tST5UepSL}BUu#aiv#aw_mQ8_jX`jX>V6kUkCmt*mUxVD4!cA@7 zvp=efEgo8?`%YH8Y~q|BN}AEey7Q__f4D6A{45C?yCL=&3eI6LnDYeyLa9j(KZVcv zXO~KUTB92RieTljS`$-KWoye74OT60$;4=9y*3Gw%ud!Av<4=P68GPJ*F1kLQC(Wa z5qv=;ASaMlWCjrFHPNS=2J~=up;0RCwaWou%=e0@D;4kc6%BNmrdM|5&d0XM#Y%(1 zx`Qp#{g{d$l_j^{ues2>X%WUnE$ZgFf-*IPo7)mkd?Y<4ec6gWs!x&*gdxh2%W|w~ zSLTH?%&bGG!_U9}4Rf<8&dcP(WNSCIgiA_>5n{yBlS2(}4&A)j`y97U8aL}@clDUd5 z$W66sh8`TcC?OV33fgXqUJL`~Wx>^UTKEMasRe^^TN;jk6*wK!=>AQb)|Q{q6v~P2qUK9%L({i5(>F<=KOalT#Nx zmaBBT2?$)F^XLs6%3w>4Jy@gts}aiNFUp{_Vok92PhyhsDok|`${=$smjqDyQFg~o z2-mQV9oSN~tq_KU*4w|GxQGt}9rG&QpqQrFM~;~U%OWqdCmXm$s1~+(Uglj(Ojd9# zEI!*(OZq`;=nWNwL03vG0}8O9RU(wmZKVNY%On`B94^jqB<0JycQ~VpiaTqm1;=B7 z$)6esFY*mC>yT43K!h(awT48ym<%Rno8P(NexhbJX9!&hk;!2brB!|0t!e=J=WFFG zBZ!VL25ZyyN)uQF0~s%V_T9@>G~CU4QS_sdw!_D^xamD7Eu#6w8Y+SDqxnVg^|Ga6 z%r!XNSGF_>FJc1@R!>Pn#?5DkkZyeGT=+Em1QyOlk)r=HoPja2gsG=#Afv0;gCvA? zy&vM=q(vVog0gyJ(?uoiZn09zC$2XmM1lot)cD?TwwE;=e{ly9&yncWbXD4$-sy>? z8O;1)u;{Ecm1|gzu+83ZBVek9eJ;DO3MDB+s<%r-Ta0*x@CaE+a+p{d)7dzBR(rr; z-W)wbTW!jjbrvqJO}w~=jm_4nGShek``7Q{q6&|YQ@^Z7Ng9GC>#meSN9dC%Nms;F zpz07$dcrBj*&LJ&-e|K?qZ<-uV1RY2`Ra7+51uyr1~%WvL~kaFa0|;S+7<;&#tXw` z*Pw>3+v78ru?>D7Hc6kU-c-T`=-)NlvfXVBf_^pncNN0PNU zfp=Q)w55@Gh(^c)&wa%{0X^84C7T)K^HLYacdVO5=D4F6^*XqAz$-KHlA;m&cms3E zCY7y_32BNtSNS>v!o zyc8tQWdaT&Xx)Y`L2W~xt%gN>AR0m^?1@J11V%GSvRl0}8 z82e`z@r{H7yyqN}nI(;lAgKOS*o2WctmJJbCoT}oa>9>ZVb-|Pfszp;Pc!r+=Gduh zG=Hl}#XikY)Dev^qF-eE?i$<;j};!`U-hmxYo~ z%K%AM5eh4F5bxx|N^?%eUlWADRY4^qvosdyUjZsG#M~hVnu+RQPWR6AzD%O(5vi~u zO12JIh^>pvz%ELz*Cbj=GnSnl+R)+K0WykMdD%|LR2@qEi_V11QUrin*eSjY(gA{a zA|i#-Jnt-n4XEGn%VL&&L2^`xH+QBM@2xJ+?#Bc@8TuRy`HXF;OK=%lXjJG`y+A?n z!LyxFAuc#We6WsUp8SYs;EKxIo{OgaHac7qeU^y&4Nqe!4J!w2%A1%#HTU}rHrr;k z*G=nNr3xC_F4=cc5#w*X3K7YsL;iez)=D_b4uyx)!)sGt-+`Qw%I%&YF_7PEAMghq z?c1`#qxxo{|HmF)nV5z3u@CE@dU{rahwe9rz>oq1A+R4Rns~ax-=&1>6DlE%Ue(p( z0H>>Q2d7X-e$(QV_MJn)!uYmXy1^2WdEOfmMK1nA)pT!G>2#Z%>H0JSSYoY-@~!~* zn{7I<-sn~vn4+L6U_cydX0rBqfTT}tTRu;2e#;d&AIr4y#E7csg!JTXO*FOZxgxFO|LL2B zXPn>$53%NBS!<6nLvi7lD>mEMc)>7HcqOy!ZP{UqG%igU%e94kbW#e6D0$fg993vpz>1efUU_F)%B~@2 zCO%im^!W#}JZ#x2)TA7-JBXuqgLOo*G1lSEp{Q!42|Rj{oO6TN#(_N|7hWJj-x84E zxQ_JL{YvN6wXYAluTda*&XY+3dT}|Cf)2nMwS|0dR=YlJBaMb(C$!m&a0!yiO%9on(}}$XN!V^r0)Ic zfY7dD6#`aU7sDnXvk&?!B52GTZ44@0~8^1eLHd#|2rRwhWymnj7nWl0^I0r~HLV z(YlTqrD-;`PN6RtsnycLlfvB~lM(2+zJALHZU2$KC@`}wWLf`?8Xqt%d+e9W*HVUM z3FZPyoZ0osG-c7GFOW$MV)Kz6sQpzWAR@;;xVqXEn(2->-2Rq?y`uWJdj#DU-$dTF!eJb7HXr}#EnY5d3rRxyZQYiU&;#!9|1&&*i#v1mrUz~ zdsOid=R`VB!kc}YA6Y|0Vkp~z-*sXbWkn}NP^80Wi$LJ8wLKwrPXceSMUV%;s+fZ z>hLT$K9NIrkHwLbcyy=f2CsY0nbCTMz~{8%|KyZ);t|wBGVE@0Oc5_2Et$4jWz~c! zVMdHDb2C?y*1xUFK*+8*x22OVj`zJJvSpBIz%6{L6bW#?>qxbCMd2-adnU zvAFM_KnC;b{xOSNUerR~)>x8fiqT~I26z3=4B3^r&9_Mxm!Rn-e0y}W+#MX_7j&kq z(ClyXGzZG9HOo4eQ zFduX&ZkAe9qIp>tQ9%kBYN5gi*}btb_!q{5WhyL2#)qIneK%g#ncueXs^AoY-JLD% z1bNJ0S1gQjArzR*NHW>3S~LwDC3Jq8eV3Am{=CU!J?&7%E;1o}pND!%fhseWt?C*Z z7z6{N(tgbM%tvb2L%`f$_%+l;%+`-yJcXxQO zfLb#-XsBg+dm{4Y?DU{;V-zxuMFI)|3)3F81ZPCdk`r|gI*tz4m-@jcuv$2re7dLz?4O(6!*ryiF*}r zib);D)7*Sj5n>#Dn{rg3K9+5EKgQ_kkTxe4n_aGv0QS0oG1Y}J%riI^G)1PROiTLQ zU~w|6bg|ru$i}-Etn5&EEZ$&Tpz#V8s2IBNl~X@+gD_3Xkp{8Xz|Z>^`G9}xrBabn zdX&2><{}-@ioq#rfTN@yWy|vIY0*E4m0E~spbmi53oynFV^4|(7f=Uv zFs!R5$aH)u-$6-LXPpx;dz*VwoFatKr|TdixrB+{5afJa1|oAbw}3-{{0iEB*4h=Byy9TR_(Y!(oLb#=6Us_rjC411{)7O&@ zijV53R!cq|?kKU?)0Wm<7!KbskLYMc8T^$ME7SCth}4nvY{}=ylrsC`U-VC-1hxvb zf-CDT*NYU(_D!KXtDNp6W`KEpLr7ePge7giA~f==?#2hJ)_h~$$FUa-oq}{*z^W=a zs!JplqHAB4ct`b!Uf?UqTb5CxHaLU;4qWt07}Pn2tf*l6fVqOv{zh$Z8OgAb2kZQF z;{*9+g8wFlco}eF0O1+gOB>cDxHi78xzJ}bVs_39Gc7H^xMlC>iJGFxP&Dxrejz_H z1XYkG(jaZ^eW~}3qKkb29wfoAS7aP(bG#!=(dzP!rL)u2-7W)Xs{bN9D7#Mi&J~}R zdi>(=`vnnU245^=4IhrKSy=$jNt#A0 z_YWbj7G7wo(*p54bU6B@Dl*rJ(uY4?)hV;Dxci9gX<5OtMu~MS3)C;k5<^Q>h(vbM zB|ht;%r-=HoM7^Jh|TxeL=6ny?R8tqWsAJ}75tnuCNP{Ajd$Om7jg7t1~J=E;qlq! zUQc!%-o5gA(Z=2+)@4hTW2*%X$9P#McnI`yEGpb7YjcHla;_Eh{s%T{T;7Ab)0~ z)e8&$G6YM+BBU3M;<%YNrxdP;;;ceUnmQ2IKvBK>cNVQ`(bF zip($xSurvDUToB|hg>tf&U;)HiSE9j_nKBn88nB`d>HJ9I0yXmO~CT9qhm(|XqE!H zPC^nt%G%0e8<+z1<@~1NM11hoUMFW^rackY`c~g(f-*%8b1fPK!@ev8JPP2esA8-= zsuVh0)>qGmuR-N@A&El@9kU+1RxMeAA}IV@^Kj5SX2jFPAFTUh4OQMHQ|8^V#>(uv zK%UD(WG9@t(+RgxAQ*n=iZg8(S;NP3m>K=`9c+5z<(w!uDlwGZ-x3u{(LS8dIeWPPp*LTn*KxN1g8x7l*E!@bB4}UVWUKwfF8lp%!DBRoR zl$6o8)Y%emMFrYh+hL8Srs4SA^EpKUpEt=x)O;fjqPQ_wsN6&xqlsF1$_PDvLj^CEWUIXBV8|F+&H%=Pa);&?HqrY?YWKhvN8}f0!yv>ePp~oS&HO8p}P4`_Ud0c&mVi7BD(e19_ zA?vp0+b1f@Xvu1-r%gKjiq^1aeVm=RvKOT-;dxyGE)F+(31)O>8FbutyCFF!eil&< zKr+9Bp35BGnFxeY8X!n+o8&~#U$M;Mnk4`_w^ zzp>G4ia_QB)#t}|W_qf#JVCg8v1MFCzI>zA08DYWC#PmN=bL<-f&v%N;0_kZ(Cdhx zOjB324;X)Q96JwlTc2>_*);REWOCPT7H(%#Qr?D$7cw3g{xwL0wI6mPCwVEY8EYX| z`Wj;#*9ueNZf+XVf~#M=Kz}SGRa3{kx~XRvNiQgWAdsmUbxmHUqf>Y9h}6Y;58#_q zJjjrHvdqd{SgT;4R+1y+Fz##bL?VR-6}IJ>r~4KGs~7!Ub1Xj8xy?jzD=e(l5H<`4 zy`rTo-z?jVV+?cemE1kUAs6OZ3uv$7Hs(C^68yMPAuVU17QqS47wQU;gNY_~W* zhhvKamvNBgEO%ei6@uR?NIIRjE7+)pMndvNJ&RQKx_wtXx+I_uj-R0|m75tSNumY( zAEV_Qu-Av~k_h3z?y5Klw^X4UzBM(n`EJ4JQPl%oY@!-jIYY#?26)^xj40MUTm=qU z@|~wDYLnuilx=IDl7tUlR4n)=?|NGbM41`dVAm+#!1IYsuqhd`N)28Dxk;hbNFa@I zqo;uj@R7-zFf`lVYE{Jo46=zk2*h&yzIN{(U{YKx1{v`2Z2U&0Io=~JBeejA0l$$V z>H`|c;oF60RLaca4bl|&^a3gdY0pY@M2d#l zMwusYcd^ry`BmHH*2PU)v@V&aWS)b@@3_+UTdbD`Xp|r(Xi|27Gyl4|h^XqVk&{zj z^eO&|I3ph~tGGA=!w8>%(Y_kxVpPoI7>t8UEs>hy$|`}!ZE#_F!~@r+CwdE5>#CEd2IV#ytJiz?3E z?oK++v`~x1-Bnc0n*9F>iDK0-9@I&l&D9QlP|%@;e-=Fr@WdKVuvQNml_;W^2^c@X z82W$@%Vrfc-J2)xXDC|qKpEr@25U{quKT}LRMnf|B1SQjttx96)te{7c>ApN?ge@m zboqF73sD>#ASi zz7k!q19!Wwu+@@$RM^lazOZVzM21)yoV6z?5U24tSIk+WIw5{|?`QeMA4=~^*}0!V zh=92zLi0Or54$^jc+f`M3sD9m_DY1g85#(&lZ_t7r~IqcgSx+B5i5VnXhi zIh-5zAoz}&8){?@*nqt6{~e6UILNCSFYpt((dB+(;%kR4h|BBY^0cVsc)L_b-7${0 z(XG&%F^U^{$XgHcby#hebvel0&Hap?(P%giYY=JqFy>8I1|3V^xv;`DonW!ngSIj{ z1flo6fPgrDgJJUiu1BJ1bhnE;C>b0BsSCTa$8H>0KN<{94PrGLgyq3_Ucs>p(D3Hk zn&VoA7xXI&z=Y@+x35y6@-rM)->OK<)I6$~*wHfE2Bk7Wvwbo?+S{Uv9FlS~Y9nh* z@Y_G_#U~m}SzA+LzETvMPBM8wr*tjm@q$dD3QN0$vwiCV)4}Mvpn%c1vpNmmrnRVg z#?%$lYlgEf zq4O(H)=+=DfgIy}$88?M6x$u##mh0}p7EH0X8&xJKar@}X){gl(Ha2oK?LU4-s% z?Z$%dVSZDGoY9PbfoRChkgbiuIaAGz@2k>$+ZW)kBF(Y>_r{!TbxR{Hqj$A7PoEQ9 zelLknActO2XVabi=%+HZCGO9sbd5HbJj+Os)TH--P6oPmo-d&fRzouiCLk%lGO)D0 z<6vl6D%K$Dv&aXO)Q=pIm$FYfb+3jTOf_HJXlfMBlt*_OEnQ*-1}_Em;tTX=SVeD2 zIT=YecRoxQ!}P6&b?!*z;mwrA7?SAPTRi=>lZ9+Mqb@ zg(r%C0f=9xAJ=LU8#l~)CI?8-%|O3MTx`F^#wQeA6VL`v#)bFwljv5ODF78_V2AA< zGP90gp)I?gmB=qRkE@gtY1ezCXC#7eh&2c;(}g)kFGxu@{ymc;$Cn+0bBAhlumU~E zaY;SjH5|x6D21$pU&qVaeN6I<4C;OB-vZjdwgf)Tx3hn;#SMzfOhep%>@3tBQLB4yU2#lb#t|`J#iBh|G9%SLnV{@$mZx$g znL_I`Dg{NF1_xyQvb@2408|Z*aV{#&aJ2ZY zOk}Nk?(%xH`5o}*V#VtzJ^2@m!Z#c$j#KqBgsadcXDN1cH{%Aom;LHMH3KP0TUHfN z>&IGNfONTn=o_ldpV66r+A*uGJ~ zHQf;(od(g}Kz{;Z$^m<@%emC3(+Rz?>Hunx16V=bUG=y-_*#q$FM|p9PrRm=>^C8Z zRP!SA^@&CW^yCmeFxhOmfr0xr@{dY+GoAWT&cmX%-8?)M5bd6Ax`2#^`DCdx6# zU=_JPXAad^;E~|Xi&6b28WkR55+Vy=iV-Nw01z;PW13T66$(|A zUCsmrQ0O{+4a&Jr&&L9>B4%{HE#*E@=@t`_a8!w#i4LR->NcLI_hzjjeCUXI^@Aox z-L(p8Yx2wp!l}Ne3^iVxFa^U4gG0#TdGmSPxR*B5t@%KRto0nH9CW(X7VOo7ko7na z&9xB0_p?{~y)3R#N9^Pu=!2~Bnh`u?Lz^8 zJ8<xLoz=>t)TYsuMGwI+cj|wev`yh0qi0EB zsMP}_y#Q4}s=sr;f>z8f?PsIQj5bh(!WwRnMqfD8pMbIg`am^I-hOo5o8hw5Kp0BB z0`_)&d^GenpGb{Qt~mU=qZDrtt!E$tu3eve?0CvVnzCZPAgFeldV^{)mn~{#sx020 z7*pQOP}EuqzRd||B;1;!3rZZ&A?62yhvOc16j5q1H)haL#}UL`4`>wku0$$zM=&Ua zEbx-}6p!#~A_;<9HmAc=eny``2ED$GlgGV?qp90w)>(Wm1F8f0#b+_G|KglKaWFCH zyDDUM(QbuAd!Jl54oDngeZD%?T6=$3Y_RGHWbZ=d=YSpt+DORMUlEdTU?+i*jkUVI zi)8U7UFg0d&^e;HFDb18eR;RB{xq_cisMkAO!B)|1a>;TUmhKfv zVUpy=Ka{|SyCgOwa@_@Ql(_(^7S4`Q_R3Z<8la{`lRtQ%BbqQZ3a*G(OZ>A3&mPA0 zZh9)2^+FkU$m$M91B*kw1OL%1>#io}p*4(CE1@YXS5nxQjgoSlJU28L?T-4ZQ^N1= zR!7}K<51nK3+&VaoG^DXzkp{XD9`qN)(u>Lrhvo70TZP|6J(>gMsc$xUX!%~J<`uIumUIJ$`RAG0*bo{H|4+j&Nw;-A5E1tTsBssrnNCjrgx@2m((ZHo69u0R;yw*$_| zsq^yYMP;)yF#04NYKA;A|5i><3GFM&mnx>t%?g;sn`;1q-fS=YnLP)Bu=_b zoAaCf{3jOO6^F7WvSiYZA*Ke#Y5xEZ;~?z&T>KzGo+VCcCE@E>29S3}areG3N% z#4euTL1n#uQMrSSw6;!wV1;ggP%jl6-}}8Gn`1afp{i{|*fZmopZVzwgUcO`ASle! z1smYbZL2(!8{3-fWfW1EaooLl+dItUSt%px_n9g~88$<&X8^1K`!QMD=My={#}p(Z zQr4xsMiksU!3dE}1{P`NYtAs1Cc=*{NXH-9k#9)KfJ(?{Klm11y<|Fl>Ch<4v#rbl zLg5y*^!Ayor!xrd*BT5qPx=~LpFKlD6SIpR2q)ok$yiiFN1YJvC0Q{A3&um;LN(>L z$u}8|@M3bnHvtFl6U~#IOIbj!XJl289n)x}*zQLh&5@kU7X>c6%V+4wcp(ah^G?F> z0~u@INui_gV=yxdWfWQCD(7~GAczl`3(ur!o3^eD?EnMaRp75RnjaNfg4?$=_uGWC zFWE8G2QL;apJ14p_USLks3x18*nx=Q_*Z>9E2G-$3Uq8*-^*q9DPW*B9tL+zc+mvw z5W1-R=Dj*2YpUndOv;Y|%lHJLX!{04dNE6H5+)T|BkRm`_?EWRAl0TId3a{=!(Ps| z;!$EwGo3a-qo&}Pgg(uIE6Hkm^w(}a%N(Jd0V*(l7n)CdgEA|B4eJ>1v-m5V-A&d`9NxvWX;!Ag`GiX=83#gjU97+~p~P!Y zaG-^GB9mppF-fS@AVN%we|c&iWmrSG$2C#tO^n$MA8vH_{}EW#hcBr*iS2rl!|OI^ z+>ClFZQnK!mq8ymsK_WTQis;oLTMCajb6cF3Pi(=NeX=K14f#rpmHF!L}LPP@qhty zgr?(cES**#%AekXRiYT&qe{#_4BQbF^9~@+U93QmceW$VNjg3z5?B$kaxqP8TsOPE z8O?8Qojy_>P1={ijehm7_53H0OOGf0PdtOw3?%e4a$6q&`VZR;GtiK;n5DuL^8U;+ zG~xUv;VuB+`$C-v1bylv1%gwIH2aZF8o&VWT#}?MgL-p1Br9fWM=Gd&l2vwD)80j3 zl3TVh)PBMuC4UHkXOJtNOOpG1%AMRfRTWbr*JWcv;=7*%;YH`Dqg1^8O0In(VYJ*Q z7Z4vG|HhN_g+^InA`1<3Dfa{UQ&En)i#@Y~+Tof(7sO|LiUc`gJ8c~Cj7k|$R6wp} zCu^7FOuvf6$>Avdk&c*8t!@iB?!!bTN0pm)6A`Dh^s(wQl%kJ`WW1}3S|fx6In7=& zdSpwQSv2j#MY-DHw#yQqyYS1{6a-;MAuu2 zkXOL_^Qk%Q!$UgxrkSA1LlAX-U!sGtk0i+qouaz6;xWNcK^Qd4urxs97<4$U==dj? zhnP-$#ky#KNaz`^TaHghGp(2kj^HbFgow?enNT9#yAcxBS07aV%5SAHe>Yr(4)gC6 z!|VQl5;LtOopB<;WbohIQLg1G^W<-wH+7{;T#_{i zhDDogDBv{*6NzUmnwdfX1Ylg)}NBEZxwbeL{fic$R^X{J@^hJTc zsGMXgj!`l+)O)#f-K^F-H&_~G1ekTuSB-G#s$cNAcFA}4MLqhUSZ%ZIonC?5E>^i6 zQw!4N3KR3}5_A~^!BFtJp8KwBkRmO^VPjB^TA z1hZ%x))m&sK7fLd&7LQ{!A%txB4%B5KMEupzUN6rS%b}qzqhidHc==SGo#5g*)V$- zgWvlj>+>pFFZme@sIT6HS1v(`j>oN7Uc1}af z{LA)JC~ASl_Cqtsz5EV}ia?@E%kJf4Lnb~#+G*ijq3s5^e6 z;y_QfA12G5hZBBsuANk+(79WV!wF!$jd7+~oEUQDGk)`V*h#5oX!vJ9T9k>SSV@NU?{}_u4^BcPM`smu+B@aL;7-2r5c+H!M!_kPA&9 zu}pu97X~%jV}spY%okhNVFb4woPY$3Rg{1 zv1k3vDATyg&&c$F&D?xM6_>HsbV_L>jZ~-w8gJDTEG$=k6Y-~f7Q9-KSm<*O2EiDOzXFw_rVf%6D zjR?*+<-}z`y!bjSBR*k-Z4JR8GG*yeC=|+p&j~_0c>j+#rGgNuAGW5Wki5&wgs8i1 z`Q((i9#h6_E;$sgC1px;2%O89Pl-18~7~H+0zP;Nn7UIYe zj9&i6J+MpDy)OMCq&VNkDl-(lC!MSy;Rd>j#k%v%(FPlTyI)WlWK+O!7OD%|m(&B> zv53E7Y<;}J4MqWtayKE3d_4XxjBjq7USj#UC!<`BoEG#-YZE+c4d2HB=d9Fw>c*<= zmU0`Z0!jQ|t;SCzs@Ea+fmbj}S(0(Mvp99(7;`UAX0*j27p>I+Uhqy$agNcC*(3Z! zLd7LwAKu1G2I&(}r7jEIj5QXk6`XACAF{?-Q+bRI0? z%KEJMjxXyj>-W-OytV9W7KrLBxbn-Tu2=+EJ~du`Fv=4y6@f!kPF13Ji>V4DxmHnQ zK)z~Dm@=DLRX6Pv-uQEhMKig{>Z3*v3a_xt#*cITYrxBhAeaadvs0f2{Z0K;(`K&H z4YZnYLgB8rq^zLS_)StDke5I!!u-|7HGeSfw%`dU=+1rMI&N=02-hk>+#`o^Phao4 zA>;7od1;By2Wa}%#GqUWV+y6nb?YQRMWY3Blzqjz>+V1+S>9{hi5P6}d|Ab!a{X+h zE~SjN=8|OQS+P)My0veSD)VQP*5tc==cr3IwD+HF+>9VU>3pn~Mc7k3R7Y#yxBDs(Z=##&viS*L9;o2-Y6#UYz36hOy1B`d$A_kH& z3_SG;Ji#$gg|f1k5$H221vOGJ(zGiHd^8p8enW9#{GtnpSo!J}Eo79Vh^v27+bD}0 z3K(Cx05mmx-0~9!$43;tQ^Ex6+@+*xnkkMHL}griG>b^$MPZXenzb1yqpUqX-}UB_ zYtL}BRhv$LIOV$b&_Q>bdr*Vt$VW?JIi#mx>XGS^le+*a&S33bNrZ-xqUN5r4G-^=~CFlIVk-nCcU^(B=0o;$)=JCQvUeS zE1QhI7Y5LpFpvKi^!4E&LQoMlr5iq7a|&RBkf)IH2N>0jl<8)lDX~GCF;@#v1O{ zsl+=v3g%P2TCkO4-uNLr3x!Vt$=(2f7RYDM77 z`xdr(jF*zzAdiEWt;!yEbb;vqHp!hK=_Hez+oS(Y=(Uuzz)sv9!JvnCYOP1(_Hcr; z7+Ckjyff|bU*{2u63_{&k2#y8ZuM}QNeLA^GS;OkSW&KK-_){XeD99$$i6QZvgn1^ zqbQC-6w^K%`74t%JY<44?iyoNCI~5YytY*VW|cKI3&N^BN6QGI;wTRmsSR{NdzD60 zT#2yWSAB2?9591lN!fzve3e#)6BM<$UX|>~%vZLZ0Kyln@m}Xmif6Q1C%nE=gvPNY zdh1WcmhnF$78MG83ac~JMx{QqY)05fqWhgvK&++mVvPEUD=RKibD{RV&k*yS)E47H za|1^&SEL`x+HsBI`EXA|fX|LA9H*#-O3oswqi55M=RA~`X-ABSlyn!Lt7k#M&D5WB zm(05nY{$!$X5-zZW1#0QQV(j^^r^4Xt6uqwiyp1BY7!ZsfV_s<$aE=)^ z$Ppwu?d~XB2fj!VN62<6WWxTBwKY+lyK;_7XUNL-Za^%LKfTb(BxbwOD}Pyl6Vbri zat2Q2_yNrU_o*9^@)--dJ7-c}-gA(p9(h#zxS&FdNP-vDm;nU~ZCN>Hx9qA}1+DpW z74V{O?q~-ZY`9eu6FC`w3gfQfbg-o*(Z)W;k)I70S)=Rc)6tX{&TT72Ub40=Z$nc> zaVZMrW1tbj4jx{BWd052ct2F+uy2Km< zKF03o@uZ<=Flf!NW}=1m4kbPXdYYD(OMFW;)C*2eK^=NF6S17aQ)C%V&Fz!03V7Wh z#8uAg)?0#D2FtWGipHk{x@p}pWcKZ!FKae6^ZcRFYlwdkIsxwvN{AojZ66-zP9rHO zQCpoZ%d+rm7N8;Zc;yu;BIev@(i9^{%@lzWy9=`xGy?92T{$5m-nBuK;dnOFCd5ar z(P`QqzAH~Cn4+&7+6Yh4_C86{)Q$!$(20yEmRVJe%W`cd$(IaJ?_d2wV8u2hOiKLj z|A~gXDosr^!M+H^&olQSh zVE)Z%B-75~lam3z+-qy0{oUB1VR^MGp+l4NwVgYq>HMm+jK{I|YG+nHMsC>2GGsS1 zh#1GXGv8es^2Ek5z`JF*+M^XAmHiorBbsW~ zV8e|5L`ELJ_>G~vXxZI@ouurjoM$Y$8uG_OYInMR0zZa|&pjxSi_}t58l6M9m|Buc z$O2nkXz-cq4j*MP6819|CWEKgd`!=FR}w>pM5dd*hoCCMN!SKZm=PRKTOXPE!gM~^ zZXlUeUA`y_i)$?3M`)5ZJ}0B^LTc`&lR!b<-DbT(j`L0dLR1ar=d)J!!2&D4)1`A5 zWSraUCVj@EQ$5pj-&`_iR1src-9?KsMRNItu_s#s@8G&_J2jb%`dEP#iNR&OnBU3M7&h6?L49zWsyX`%`OsKnb0+s z{EVlvI*oIYvR?rv^$aR2C{lHY$$ckzWS&B)TuuSF4e$v$bNOnFmZt}UG78;4-g6eHwC8|lY#=EacN=urR<+VirHmesHt~r zUuS7%8Mh%OX=@R5AhyN9J0;Zc%F$FL$OxaJ{2kTLQNr}{a+p`qJktSlbRgzp4qAce zzc<s7$X!A7M^+R*`NxNjk^eY@`< zqWEevGo#_?i1AlTgiiomxwgP0o90etN5@1IyqG_%Tfv0eF6Ksv@aOzlx?fi&0z8qvl#Mu$`kG)oa*e9MpvM4P&%xd75IBM7#x3V*ip1&M)+Ny zAOd5<;8VlTH**O^qCl8Bb3$x~l;{t-QT0bW{pl>+5o<87D6|q>Mvj{2p58Yo^t&0F zJVU8^QFHVR8!SjKGkPAks+Xy0Zv6~qK0;DH=stQznC}MVLjkrUFE0Y~-F${5(8y%` z0Ux^e5ZCy8gRBa?;w||)jcTd*vFV7O`*KHZ%4T)SiQ3ZnUc(bj=i6#?hL*SRC_4Kl zA3DpT%+=o#4TyP;P_92}qGrlKf10kn5D&*$opAiKk&h2H=WB4D*xQ33zZ(n*$7I{@ z&CAMgsua9IGw|XIHy91u`mMitp(z;cX`%b!|9Lk1coNzij+7Ffd6ivK5^-NC6*~7< zdx-47^M$YQ89ROM=ckCY&`I)X6Dx&yxxmY8LdDy0e1t9a1 zw-$?F)YypTrwKqe_aK>Q;r8x=k8}ZhAfRvog$7xRYLh#y(xdS)kw&xWmA6VzJfD92 zPX@2$G%-mzmyeuc#$%wYe1uS8X^k##`9^Vdf0#*fDKn~v8Ug#W&p0%*^$D0eH&_0o^TU4lJgxIX!S-?& zw#f(b;%FqZ&e!QaJM0AvZhy+GVNGrnPL&fx1~X;L}3 z;h*F(>wS<72!w)1B7zOzjQQU%?jruldP|aq2}?|&L>5%{(okVt^NmF2 z43eKHs4XVzFAK=#(%MK$NAty`Ccat#XbK>7Y^oHh0`_V$26%HI1{Kt*Z~}D>`ZKio zrOosVC&Br#XuXGt3$AkG$r!qUE@3l4oROceY+^>};lmv+2uut z&PY>MXMHvL5pRb^D7#sMcR=i~7A}fI*VZ{vbMkF6H{pg6={V4idsO-lo4%~%6wI8+ z-rz1xXzHL&L8efkD7yq>hM#3 z$lJ-L2PZu7*CI$U;c|RV9w1s@{wp^bsI2yGq@^v23ov=huD7fLd?9}SDud-f94<)x z9`BoX1yuEr$k4zWu4-EJ(Gk6rfoV#IOC%;xWV{0%eMBs?L_6` zm35+Ekb^kSJ~foRA5}5qqDh6xl8ek_rJGqivkhGP`4P#5!RVq;B@vunnk@yPJ4<}P zEPop}C^#nm~`i{d?7$_N?mqyOjdXaIxklIh@x2Ax-&s2xqGa{;8n?EP4 zR5#mjvlV!6zB&Up;ZsEmWH=J+tpGQZ`P?fsAu8>1@)@{{BZ(8X0omc%r06Ty7SK5Y zFTY;51H{!~c%9eNOe&#TbOa_$10j;Eiy6nFogvw9qSbjXN4Ie~$W^?VVq)4}8s`}d zSD9#m7(05&(XRaT96=uDF`|dHuG9XENoCnZelB}7OeYm? z-{~AgiM~!T102&~qC+!^t1_ZdQm{{Xen$M=dN=a*Yk_<>{s@RC6Z51X-Rjz_kMabt zT+r=c5M_QUY|L%B*>`Qc)0+;?3`XDdDPe#X`0alOn3$2)oa~z5(Y8R)LjV~-sLf2r zf2JDoNh`fvfYT&Y^TKcY3{9W8Dra0Njd~19;{+pUss-aHLZUxyL=-vwM2%xX& zArKB(l`XFJMC<*gKgBb$^0j|Q&GYw!+_Um9YUL&cgl08j3%+YFl@*plkE#khZx4wo zz1qwu4vL-eG!Ys=^396b)FmZt1okpMo6XH6#yhI+zS>Yi-_2I@Vr86Hmo4F-cQI7V zlKZZwLcxrNq2tyPQlxp|%F2{z{O(LnR1v*tbtT|ISit@?ux-;hi)`CG5?8B@}0(}9Hjr>jSBF4yxI$A&vM zEVAVr6^dm@+Cf9QNg2u!&}WqTe+HBFfHcogVR7GUqq1juV;xK3mADY`M-_FsI`H_+ zcDhN8%kadU_cv^zB0=Nsf(Iyrbmsx8{5_XqMFBk2$`S>dinrear=81~;1btnjqYU6 z`U26P5u8MzI(cLY{8?5_eDLv>2*^NLXOB8u_)6z)4F%G*XAoJNxhhE4wj++Io`JC~ zx%Mw4V=X7Hem-pTK3+&x=V-uXw-76AK-SeH<)ERNoCG95TGJQGxWYmD;1UNAqD{@N zpV4K%6?}mc?kGXNjLDe$<#3Xj6s^i@^nDLEs>1s1A6x#B-7Xb`BS&+&11(#^QVFAo zz||Zlxw%+QMak9W(wdCDmTMEA{Cdjc%0HGA@*|GED~^$sE2X&6q>vg!1kwJUf}x#{ zSdeJnoHN+4k>8D_eu0uO^v*cwfU%ZR`7<7vL6=B?#fx8g6XOm-Q zO&KwUw7c_JVg`L#ea%D!KB1)^0Y=k56e1KF?Zh>W{g|tS&jwxI76`BC`Uiosake>H z-M~G9ptv#)vUHVt^PTy|Ww4vvN1k@6Y^{nnoBe0J2^7T z_y^xZQ53x{P#O|!@_Iwdd>272*U`f@$*r{Aq%BC+t~7eFiL_RrQ&Wya`sQGwSSq1R zzdu2GoDj%yJw2Z#d_HV$n(2m81oC!q?7u+YOnxw!2;316gvJa1iHO@{vH^MF-dbUX zvF$D{j($LQ2pWy1t(iMknjw!L(g$&|#qlX$Hr4caMi18j&Rt>znv^$+0}*Y2W@6pE z@`4LkT{3w}eEFhkJUUq1R-P2#|F0-Mg6XUYE>Qt9O`mOPrnI{)VB~#iM&}v<-l)pN z5Znf7NRzs25@4L|dKExcAfT@<*no5-tFcd5iMC+wC(XhIv&{_tZeUhJD%V|=FIJFi zxY1E9dDV}cQRv+$Cm%WN`6n@3`tXZPl6Zr5IH5felX-e^?b=g2G2^tBwEbQU#KR@3(}_4w zAY3CLGU{9-%NC$07>(L6r%YWc_c*M4)ax%7ki-y5uzJ?Y;3pn3aFWEFsBZ(H9 z3@b-tVX#7e;AWmb;}ExPVRMRsumvpc>f5fDF6)3B9qa4^4PZ^`F>mot?OPWT2p={H!! zGKwP!e9?09-aKBYwh9N=y6Zy-q&HtO1G3YK4(;e>Sj{p@hy3sXEOMW=8iEt(s08-d zvO{~huLwwk%F#YEQm(k2t)+lq%;WdHE9e44(2P_nial1qXd1VY4MmiXRz;dhZz2^6 zL@60AAXYcN&^=)8jbFz$a1u~4M4;T%Q?g^A4k&k9*ii4Sy~Rjl=k@}kQ79xqF#(g@ zK~3`S0820uWWX1|-@Ag{HGhf$=(^ek;BZK9rrSFAfLTJoDiGy<0^`ESGd*8hl!4(P z1>>>lUE*u^Nkw+F1k~K^XtBUxp!qFQPdV8A))oo}X3!-bAW|Rp%OcVESP5NuGXYz9 z7@M>w?AWys)SP$xr&VB%}d0;%51{Z@@N;wLt1r&`29Y>B`Ph@Q{e*&WB zn@m5nOcs;>lt|rzDx=tAsh8s1)ksHWjlhSSMsZhLVR2%{T8>v6Wrd=-ZJF4M!wGfB z$rTiI3{G7@2O77M_FiuZR(ORb=jRpf^M9_OY$7- zTjSTJYgMsfL8n(KODnsD6i-;MQ*+yuI;aifdQ0H`s%>D$AV60bV8xM`~^Jzt5PU5J222A4^TgQkHF&t#mFqA~W3*%YQum!y)!4HJVU4t|+ zFW1Ng({{={+e%cx?T!PbuH76oCgq~!j#nq#fH#Ej42DZW^uB^z)$%W7NIZUjGZwHAC<(Dn&C6gNk^NLzVS+Lp^vv3!$_2-lmST%7H$n_osBGT`g zBn|1se=ta9Bzj9()h05@>-3VO#(#0krh}4ilvTTzfoR{K!KY_j8ZA2ZjUr=ILwgj~ z2Y6)Qq-SIRW3I{V;~zO(NaVpFVW6?TJIPn=Le`d_vbzxv%T`k_4YbOQ8hqCGX#KIt0oLE7O!$KfbZm5WPeq_v zU@qqpR?m>o_`F2!D?J!0X~Q>a8)^^lr zOiBdAMcO>aN#La&5d&A*e3)!emZsj%B|#ywgAO1ZokF;?PSgVa+DnkWPhvzGeX7#L zr|cS^u$9cHg?Zt~p=&XC%FFwQMDmG8MY33aQU~zv57|dwz81J!i>Ib@+)b#li3M@3 za4&qR9l<=hkbtv%26O2Ujr=V08Jpl9pi-K9h81jQvcd536mVTw{e}UT%b=@L{@TJ` z0eJ8e2>n%?RdPc$+=zZz+r;eLvqW`Ti+fLw|CQY7P8~?on#?%}4W=xgBAJx*#!{UT zbroRK%ZakiT#A6tx;D-mRHLlZN#xI-Q1e-Clpc+6hC~btyL2Mz;3T1=?hc&oU*y5 zX2WpR_Np|fCY>?9r?MHl^cjanP2%_M(n2xt>;d+?M2YOQ(_$MsMj*PwKOyu0xfl(F z%+x#7C7Q*xYO(_!7vgZ5UQ9eLVeNQCtSbIfH7!Gcn?qk=L7((zVT% z(vv0}O_u={7)FEXGW0O-Q2zkZ2W=?GKRmGJlpnN{%_-u66i{oJJ_KZnGr?b43 z8R?QOi??kP5$KAtRSM`gWrS4IL#b@YPRKH*UhxR!b8?hUQKoX3YGPU#esPk~h-9e^ za#OK3_hqDHyWC}`l7@}{TR>jDX#;&jA|sx^+HshmEv%aMYPPhgv@Kt=X+-?|RbL3b zt`pl(EBw7R`OAgXhQB8rqEE^gB?WFq&COMXvi-K~@{HV*QDvE!TZ4k~_GW``Axd9N zIzLgU%o2f*bOz>c>DG@lQ8pVEjDO+bxT}NjOnNjPtggWwMFRvXgX7;PcNSff zy@z~Q@NLI8+U{csL|ukUX4`NCvXh!Bll+FghacuTOgg?Vt~Q@=w3eRay^%?5u*TIH zXnNy+SDzhPUqBXaTn(sgf5><=P+_ZMfVsz<`njX|1f+OAsJHB0T7u&oc<@q+bMjYJ z@-wdw_94zEy3pimE~5g@?-!{;?Utkznp3F@tVPF6+ve z8w}`TKV8B!u6qHZkb`)h@hB5t`HL?LzBLEy4i*Wnzs2ny6mZyF9|nhK{xZ51TXbib z|A$}hNeYE~`2~7?!Xn#T-+6KX;lU>^z7ub%6J23^yfbWpg8wxxkhVN#q+C87=$ZG+ z7Rx`O=#9NkurDsZA@q5iM;w}dp-OGS z%2@ch9J2`b4kpMlXmoz<>u~%Yn^iaHtWRIZ4w()a2&@D3Bo> zEOg=ryZ*?D6tqE(p7B6-92M7G^zjI+XuuF-+$BC=LzTy?XAcr^ zB69nE+Z`og=o{ZUTZAbUu$WH_X&nW@Jab!Uw+gq}MLxCXbLX;);$z_*QVF7t&oB^N z9br%+(=hl6I^f-na&0MwPNm&1`VE=bXyYfDADhfxr!vyb^gC;E0rW>KU6Cj!)8@s+ zF8WhPFsZrZE9)QAT=X5)fXBEjUd{QaX>y2z7@z?1=dUO2C$4=yqd8GdLE?RS?L?Y# z+odMuG$BJcXKxXn@gT-H;*o${jb-bB31i>}m3mRIFCSr$N6k+*uqT_|jFVlxZ)o8A z&i}K*V9Zly9Cxi_Ah9|d0C9I@^a8&#I z%j{dRQJjs~rqN$^TTp!d!~`|GTf>9R*244_E1!3821Yj;xtf{ETD_f^Ue{kqCl2m- zst2J=i$964n0GrG>Oq~n99LhOb^46W!n;UFG8kVmwsJZ3aq>YOrC&PTHyS1BLo;Tm z66UA?YN41*LP6wnHP6b^b{|N~<$mL%sz-0-Gx7y8w*r60K>syjKnb5oq`R`Q!am)J zV_a0{=F3`q&&Q9kS2|90b7iRur&s$FMz$-Vw0g#)?+Qv^LI~7zA(~df^lcjP1noZn ze-DMk&u-AwdomSe3vyE_JxAp~f$10@|G+7ON_5$}h849d)K}mPKECVJ)83K6RZWX~ zIgYX{i{2VA1ytu@Rt=4NxT{hp7!-lTqOv0h&Qhj4T)5=3(_LE^faC7&Z$-vN<`?=C z)_hK)UE_miwTH}BO-O||>{PpP*n1dw?dZ_1u4F`Bd=88dvt#+6p)_ShSbeO$gL66@ z+Rd(M6fa#zO*#VZ#KSc6uu)*~$0c8awavzwWH9f~$>Iz0tMLSVvEpUE|OSyk?FsQIQ zPje34ez2VA8ub@~)HfvM=_LL&x+hDZ2*#gTm6ax+m-{8j>b(aB2j8W6Maulj*d`4p zuD6+#0x7D3p!iWy1jCv`M&YMf02YaG-tY{1isfr8mALzzTo71IR=sKEWfC#ZKxXcN z9)-k&k9Gb#aZD76{PJUI2kX$oxWmJmeocA_Lf zaZTVbH7!Go{HMMz=(Jb5AfLznAxg#?=IzQ?&A!l8W&;L!WBA(e2%Jh$H zW>c;N9MfwZ6)h%ER-0699BL%lmAmq|kgsujODI=qe}z3Mn5=UQ)9(}%_M6~SqJi1% zuPRctGqi{#2ZHQWW8d!^3_4$D`S(3oW&Z@Dvz(Qk>Ba+F<6wXYn8U6_5NI?rj?|Y3 zzKI0DL)ruNKOYL*Wn7tYzVb{ykrmZJAJ@NeVwS7I$yD55$=@i~P^kN=Wn#Y?L~`X< zVt_3M9dfO4Kr@uJw|Q@pugi?4zHhhzIOW#OaOeP4WTJ`uOL4+X#bT00ENqWpC(c6N z7md%5j(Mot1cJt$GLl)BYa+>A_?qMA96HS=)|hFKUo4=q2{5;JQ4UsT*Ek2d-(~h! zFfBJwa5|VK-50`VpR!C#fP!`3LX2NF+6RwpCxO0OTS-mZo4e;Xnt7fD*}w=i$O4T! z8SAPrayl+~PCJY&A820Iu+dHQXaW8Su$gtL-@&EC=IR;UsoOMv=g|*+fxSjc1(`lv zKG6Hjqz%5NnRIadI|ZCx8_jbxj@x?^Moc=_We%k4$RvK{s8{qI*_48eR+dF5SeGbb z4?pfd;|2EfQA~Y=4c`{<3TjtpSVYSniGPH!@Wn`UjsGo0sf_QJJpSFZEjuR$=r)D8 zAW_=V0~(Ya*k>4r&NiGtB%XqK&4K1x&c*>N6_4KXok_DyH;LJXr=Blg@e$ojTdqSG ze3OX%#xmcOGW7{1)Gl$wzxe4V7%C0)XoA}KGGcd#>X zm%A%2$Od$y-3jdM2H(tBHk-9wb()fW#ofkbe51slapd`I#L?!}E}U~hw>{c;nnclE^&`qyY!A~%AXb)F# z%50hcT*3?F@N20sbhPIoRk88Q8^{^D(&~-bbTKNuQ`2askAp}x z&e+;)H-HWS7o~Zg&9OT~f;gExK+Z3u$T(E#RVo203$!Q7*ajE-u9I9sxW@>P` zU0w{)`r^`H1$pP@SzE|hccJ3xruVJ1LYnzf)_^HJ>?Kc;Bpr;b!S8C$IQpCWPmY%z z4XZEAs_Zd0=(VrD(Vuu`y(S(Z3TC0&&g{)ydY2`^r!dUu$ol}j6$DxK8|%St_D-c8 zMy9FvJ)>yK;35(B;tS$G1~jNl+FOt=>{)YEtVPZt$Q?1msUwlB*CjK+<~>ou^v}eM zpK;BHbA8-c5+n7Pdo~!y=#PmXFmOI zD*33J88b7(a_A|TqHSgL#)vWq;Q|ePr>Q6!eO(X-X`r2Lmb$)^uei|kIa@!cj>H^> zFTCx|+TBY!hIe@a)@wJBg`YU)QxVeRh_%phN(*@PccV={QNQ?JxFbm*WNF#}V?dn0 zI(*+jAmP%+?mk%!!spv57O!cs6a0!!Xp!?(dtwtY`jly^v#u(rvbGz>@Q4R&y zs&g$zf=1aNT4LL49;8B^1I9@lBr(I+C|wqn-;(G9MX2;Qn@wM?h`P&)RovVKfCexjB%zMY(h;BfJK*)VdL>&IliE)8N*>1=%dO7s;bf zNOSiCdywwW(LxCv+&2Z6Cc(e`Ub284G0Zcs#%{g~wc0zqH2Fl;w_(GKK~))~K^c0v zSTlo+Y8kWutZA;pv`_E1HHyHVe)DdL-2`*ddm&D@)?XCFKH(JIRZs_$+STR4^+#zl ze$Mp;lbuL;b$c*HZfmIuIrDgI; zUabx)NLPdeNeAgPb@C3X+&BAR<2V0APG;xVkKe#261}s@AH0x$F@637S*p1oG{_FT z!)!aAD$<%ZFPm1{-TAatE7`-3Ji9Nyael&@aZyJjjdkCG3IA)feD0Z8Vg0f8s#RVT zrY1H%H!zV)lM}p(IjT*gw3minamm*)l<9N$MTE!+$XwYzO#w*U`w!8+4@F;3C}pud?V(p1{ElnPIa*E&U-ly zOl@7T?v%&ok3#wa# zL-`R_AwtvN??HQ7RIL|&sIXf1G$3<9hmVX#&V>{%iAUZ8i^iDX4S=UGW-1h`5E7Y< zfJxr0lKk->aAInEKs_O3xVSq6TH0F|!vP1vld9e$G3^SnvCrt{k-k30J;~e%@pHFr zyQWZUcL;3JNZvbF@a4K23dY1cPBuW-o4mw~LnVhOg-x#MW~i2*Vn*yno%PF;?GFxQ zIi<|H#7=kAJ6)EQW3)9}fIVZH;{{v-VX5qJ=WeV$T0-MI zmq&Y!Dm+bP_luY`UGDhEXO#%25LSE83p$vpj;h%f`$e)k)>3Ee7Mp)*a&(QGaqh!K zEv4j#i1JpuRFS?l!rB@`BNuFZ>cH$l_Dd zxphRH{cZNC=;l^>G7K;DCCs1=>jx9N&?w50s))cvf$lk|HkKCSB%dve=J0&g;QoY@ zln2Bz1p4o*Ai~>S*0xCB!c-qBDnD*-RNz;dViZX|+8!2mX)o>?-*D!;YqJ0u$8NPN zNjtz%KHfLE><7K+5lzeHv*Q7F=txu`!@1rv@Ax~)?1|)F7 zBlA;Rau4M1D+VCkcQgwJvg znM@k&NDlJ(SNs1H(Y)Cv^H4d{wm2#GU)#V#xJdJ3)7U1s;A(K$Cy?U>?qJln$>ie!9h- zo20ExAK(x_IeMkjtOeESKM@+Rw|1#|2pjMq7cTDrpmDrbj0$aTh$jCqp{{!uKCmkT zvrx0Be5{Q{1-8_k<5D#=3hDVwP`kc`5aE1_v1Sa!F!{wREXOAL_0JwQXM zb|41hoJ4Q4)TpS&*;6f3@c50uI)j<7tLQL|tY0*zIW=|`cNbcKH~O-PiUXTq@ELE z9G5{S1eLbgQbj?lStBc*VfT%@@X9tyxHeUd+XRm3QvJ^nhtcw;^1W!Sy@`i z{w6V_-n_@YgiJF91i4??wDKpGOR*>`cSlc2nVw0Iy_W+4h4Dd$sRjMHIil=E(sJFE z$HAzYOm3nL^~udMC^ch;c!yb*00!xx7Gj8RiwN>Mq}00rs-R(lEMrE+-4f*#IdJzt z4&fV+N&%@8J48GzxW)QxJE7U(lFN9_LH-R29q7B9-Eb#GG7oksRP;d|vXA*%-d=}Q zGpMeh1js8vYFv6VUZVgr*j7TU>J^O*-6;N+lsOEvHKcCjf_Kce;yCBGPVEf2%eokq z&fgH&lZ>BvH_c!QH}{VRzirhSApT+vMAw+r+&F&Xm`7PvGrDU5nsEprIhqV>{l>3b zqi;gO=6B=8Pov?n~zV+p^x*#vx-SE;`WF6f+xXQJ@5zqmmXJg^e-8qiMnwh+DA zmXsYy6i175luPg_I+1ZO5s+s*dQ8(uP{+W|V8R!sgmOw|+d+UKAxzc+njDZ#xaudp z-JPdLhGr>{UNziiT*}e%5@hdb67BT@4`oZ&p|k_&t%vdz$xswekQQY5~0 zq~93_$5e4Dq)YRg1fXF9=n0%&-z+-;S16F;s7?5v(WLpLW*?V*EsGsNjh82GuW|c} z_D+jN87KS1m+Ms_XNJ`j78B{7T_#jCt>h|zlH)a{`U+L*2IFW4 zKaSdxNzASJB0!v$mxZ0e(766MK8zN_5eVWlzN9q{kT+ruS~Osj?hCTyCm@`Yta;Ixi#;QrLxyaJH7=fhhir z=F*uK>##}g(I~^8@MIv{# zcFqEC`;H=W_VIUE!Xj+0?gz*c@iIOaWq;VLKf^iZ`_c{(#WIKbUviDz?+~>YWX zds?YVht>_7j#C|Mu*U4tzBD8&zsR^7Mt0nPM|cV?DKeGS6v#e-kve;DvHN2XH}ahA zF>A%g$N#ksPR`W?1;QKI&@TRQu*>#Fs+}>Ziq)~?r@MXwK;)6ZZL(Q}sx<#lcA6;^ zb%k0X@Zp*+?JEG6#_!txnVwpn4~l#ZUe9^PiDGNFf46WvO+Bfibn66ydI>JQ{=qd8 z?{+(9g1S0h2Eh;u#{H;3D6PSZHRCuXRJe}I z&u(1*$sOdL(aeTJL`3|-O3+E6x*OrSwJJW~u<@7p7K4I_Udq7!4EWYj?CK_WsY8v9=C@ZIy@ZKSKf{?B zTXaM$udNKFz<})JqE5`NHXj*jw>J)qjs3_M<8L%rilm!^+(|{)^Y`K(0jc`Hb8yP@ zuihb1Z0wGH(-(hxz(S_1X*~xxlHRl84Y}Rz8=%McL85|?n9z|W=W&H?gtBzl)0dBH z#oCB#gy*7wlmB63Kgh^sGu)Ssv-6pr5zW*iGGgWVIx<1DiE6AYjx#seNX4cyiavHu zUX~n~X6879O*9FfG)7^)$1L%TZPsejdvN?6#d}mROHN~>ZQMVhC80^zI9MLhs)j=SCn$ZUeQY6C(6L`E=+zTeOnEtiu44p{k00d6teIXB6N@6z?EF!kfzGf^;5+)q=YcGl|05;4yq|L{bM-gjsO1S_%b zx_@vISZIMMzy+*frMzgzPokA`oxJgHXWLjeS#P}0rS#XI^RQ4kqr_!wf+UMw7ndq1 z!1&U=fYmZ;$oMN*F5Rz((R8)$xF6use`iuNl6g$d4+W!)N@(5Gl;CK{7y{u?+q3AF zvo*7XG1oAG$E5-zx$(zH#Vnl(H}Dw}aq4TY-kJoZff1Ro1aluA|M6W!@h z5yp%t2X9w6$Mn0e*cXCoyI!2AhtGZxm{L#vB*rn9#GlEmH4)B?bS#Ny%QJwj0$+kb z>E><#KOyPTf^#_eWllQma~!{5CIyErV@B5^E4^>tRH?B>PZw;G)hjo!)2|Rb1u~05 z_=a$JeG4Eq?Z|7Z5G@#g+8{r(=MNLKRyB=SwHqKMSX=i;H6FdZ7GFjkGaemn@eNTJ z491aUuq_ABk?46NZ`k~jUHB7}KMoYlrJ;}$tN>?9;t(L0q&GQ5)YNL7@9bMYJ5FZO zYR%cI;p-Tx|JtR>QoPQ*(eeoOfmRf#XYdS(J>X#+-O2H#BDaJq)V1@clh0;I({-VyG);+R87b~ zdzNu)Zia#rH|nhcn?cO;BccEC%6$}nko20-)KPdfP>&3R#xJ`Ru0}W2Z?Pc8(F_90 zvX{FMw_DxeGnR9{B8{Z6aqYerIAF%?!Nu)>_Tv(i9A#Kt?vQpMy%!Z8({zjp4k`$M zbRW?^gPWz#hiOPQv*W{R=M0km4G$zwfhbGh+;*6bhvp*2GZ{bdq-0y*DhZbEi!bmK zl-{1$h9G^KtMSSFIq${?7+H;BkWudwT&d^}z`o~nLnEQSv$wW8R(Y?ICrw)$y+*MP zvpn@~7$+Q=wlJ*)ol?_quJC+Z!@1%&VeZveijGwB|9vN|Dw0F*4B8=mjbj*6Qp;e> z?ool%+ZukH6%bjbTr++iER657M5ZWj_xIXGfqSQgj$?n$R4Cpd$QJ*>Y!7?X<^xT7 zK2b~w9l|iu&}wd6!ztSO8ND7pOOH3sGqAZCZ{?$XU>=TBLCgmN^C7ylG%9DV=-#WW zOWm=M`Ig!GLDiBq&r5fzcvM7B-eI|%XRO*I5JzAh9uFi4TF&E_SR$9$R&G%u8@Gh@ z9gf@ZgkAE+`B6xhx>IhVKhr2XnE==$ z8r6%fj}r>_$^j;{0fvIC5Up&|TqrD#MSl|7ubb!~Jnr3H3rGRm{^-z>P z;T|~KNxH#KUGL~;`A&XXeY>vdDKnavo%jq%pT8K0qvCt8du3p4wO2vvCJuRWi_Q&y zYL^@$)8KWDUf+0?hip||ax@Xmfi&DhuAFh_Eu@0{zWXRamp#>V7X1EKhQgac?<=+u z)$pK~lql|nIi|VCYiUpOSg-kTq~MY7rA(rlJAHIq5cpVo3oQ-R7iPD)m?LPr+Pl<# zu2-8S{{FVlN1@!z&sygbhz??SVQLHNWu&~z_ka{OH6oUhOTo^uM%hg(eKZR#Xp26> znmf$NG~^W-8BA3Uv(EeYNqN@+LKWSWyFlquG>kSDz{?$)FPdRG-zfYu9wlZSzD`@? ztTTQ)`-;b_j>MxssXIq0kzI0~u6>4=xXbFGw9wwk&x%NFngfy{zg}{oOiiHISt-bl zuE9;k_+*KeqGIiE-AhRL+u|Ez;M2;eXBc_DDCu)R2{*C-G&O!K>&hAC{;?G>Ykw*Os~(Y@8h3QQolKS%wXnWR#K)>4ycY@R1PP_GL>?M$aw#34t)N5j7VdG zlzr^@o|Z;((t&h@+B2>)-_=aYEo{ITI*-F^P^pO=i&`D<=A8UAe&qN&7P0k^=7??Q zP8MVJwI5VO69GKghB)WBQYDpn)W9rEXM%%}wl1T$w<(5(&H;gk(fB=dX0&c}NDm0s z)`SL}nmUgId8{ga{au4L@; zzk^A`XnC8>77}j6j?aOROA&VXG=sPv%ob!_U8>|KICWoQ7tV>a>1wH5KfQ{mxU~c! zv8rQkrD(^B4y_ggNwdDb)sznGL~MfpjObELCW0YVjH{anr?D6BTgzw&gDEHLj&YON zxW4YfhFQJRAn_Vh|BoCVW<`&nKI24ahWK-=X<|Y>G?-ihI1AIvk*Rao!Hr8LZ}(Fk z-(CPG^0GqW_z7jcu~9xB!0&9hk&vIdFTctn#0ntny4FYq4f|}4Zzw|_KDh75`qcU+ zIHxeAA|U8dD*UzU*qogmyP0Wmr1=QX>W2%{U2{rdF@xx#s}X>;9M^4gO+Bfdy*RNb zsL2WztD zi1dUjiV6qhopb?;ciOt>Pl9we*Bb)ynzl4>n{IhZ+VBqP8Okw3840@Wu3DaiURgfd zi1V3PPi3#~=6n^cfx`l4_27~;4O;kb${_~H@{H z@7&uIyueK#Jh9hU2+HFUXxC9@KN0Dhngl|n@++t(G)O+iDII+ukV0ElR#6dr;!ASa zf&~h>qdO>K$|${4z7>{u#D|E4r;5S5$Y8{I1Xt+NuwP!{me(QCPrJ%0R+#n_X=OJX zGRknkzPF!fRK&w1l=9H}&Bnj8$0eBT$q&<@sF@7_>gb2-4vu4cxz8HLlmCGAD}*|a zPJi=g#$wp@(MHOHVtyA?61lwpCJDc+BZ}I45RGL|^)JTx3}t@MO2f=q17zls)E~>G z&kq!s?l4zI=E!X`x4?rH;6oS;DB|e*{0w2PRUK+&agB@h%Y3+|9_h6OuECV`Z|-4K zVHalG9-x$e26o&W%*9d5G?7^!u9)6d!aSo=Lz?yp(ulq5#ME6SNR1ZEpuM=L@*=h+ zP=WNBTxW_Q+&BT&epKv2l9l4mu#%!Wrf>Xs11l<&z{B{bXtrkdE4zy(Rejpl`i%RZ zwfLtE6fNg?Az;lYy240vE;sHV6Zt1Guf_zf=;jOPa)>>&YZ8VFkaJ9n?%v_ykzWIVRWMfD`zlcGq$oKNoLCS7S~vA|B#-n$DDepbuwk zr(&DsGCiR015f#oC6fhX$>7^`l^3ULm(h`rbmt~nlmu?1!m`SVBF~uQ+m-e?)u8E{ z{VgZgHP;K0=Rtk-ly$GOB5^2=HjzytHFxe#lD2(6#dW?nYGm@Kv;5VKHeVg_{|E64 zmC4rXS4geK@kW`WueHy36Z`fqGofJG45q(fuURMriNwNa$9CNGo~D6bW$L$hSD6u; zrrA4RluUE_!jul{&mT36JJrZZ_d*XOIbJnHfiYiT$Pf zz&&F-XGT<>W~kvJ0r0NYd`_o%c_nLHX!=H7!hC+1Xe+yW8%p8MfaE{1=s}56h|RK5 zawPB-Fl*@GMSJn_!JuX2IFbqkVC9ZhD4`bLm&w3C02_)&OOphX5G$kV^3`%zAJ@l% zebKiBrlM+%)r}$W@38huyNxx_8)*-bh*#qbqR~e#CgB4Ig_6XXy{{R`8nNyBR>%yu zLr*-O#KDN}{?)OF*f%qt2mQCb`GqN#eMXZ%^+OPKMvZT??HQBSD>#;AmakFAj+tq+ z{`fTe)lIw)TzRZWc!s65NjkpfE4#aHqx09p(o!thXpIG&&Sym+k0BVu_kH5I&<+U&YtBje_#C2&*+zUKKo6BwZmwu?COhRF4upwKv5i z#iLnoI#fSj!M+ggYtXf2$pi%Pu0ATMZ_jI3CB+99r@8PO%ZEt|(Br*`xs2q3s;**T zmT}$5MT*#?gIUv-GvCop~qe%OkYvB9-oDykK_*SMt9s9MR0R}SjkRaCJi;Nt8?=LpvmgUerfzu zf)H{~Qrvu-%_$sh*wf?=BC_XI>h$7_E0i{e>Bbb4_PCGhm;rCQOE5Av=^-7%2A9^y zJK9;HU8>8{7wz1F-J8sIBhQ;sZP{u!>{9PvrMDDJq}2~zrbUjGf-}b+!OXK$KV-k) zR46{N8#xQf5s|Hk&o9a@c>LyOc@5g;8T8w;^qOAL#@7x4QUQH3Gqd@-x=6_7?(S$Y zx~&pakRYoB@NJ#)+28Yis>Qy=WikWccR%tO%RJJ3S_s%`krmeFGoQj3Y*mTx*1L;uBDI$sw?~Rb2sHRg z$_cC5Lhc02b)Ng{3QnQ5`Kir02amx@)T#UBTR|!KJ3gsuHDbQl%$qTfH8>lK{loT6 z^H|$-_8HSmiXsj&4~RQ^Xtkyh1s5kmR3SlarY8dy!MJMN^(d+?U9^fhjR`>fgrm0y zagd$*xHT*}A~|^Z`;;hZv)nccK)kPRRI5(4AKVk1!dmV$**jiu;Acf6fM)vg2W{P( zID?l{YNUSc%0-zfbrc<|WJ6`m@v^L$@@DzA^R=A$eA_H3o@>6W$@2!;;#zg&Em*;} zG$u4A{B~+ddhUSCF6Bh<&>e&d1yXY9QS1=G|JPR>(hN>XV7eKe$z`1+=x^rVf`yyq zu(sU>=IC{vSyuw<8lT@^+j#(iSSu+HhV-M6ViJE4PY?+EC8wy4`G`o`xTLsXT!Pc>UWnr(E1S#WRQ`dvfr<)|t(mx> zWZoL+2}$AnnkETFfT)zIruRMU5L1T4US~T9%j~(pin(O@pq%l9$+SJ(##U=vftsZ@u}u|M`GKj!iHKng83iWaL8- zA+|OxAP3zey#gBY9XJB#UWT4ZzU#{q?_hj==L>guMx)QHBu33*6n(0Eysk#3UwLJ` z05t;hgG=bXb=i({MArO~tx$3eo$*7`Yon^aUNp2M(je;$D^amiLQ?AfQpT&#a8?fA zcyP<6Kt>sT5ZCPGNMnkThYSWpRkj>&Q+wKhTIYj#SL2X8Z}dt#RYET<4k9xfLs691 z=t#^f2Eg|a?L4yR>n~PM#50i+Nen`&Cr4H%b}p_*Qed)q!flsEtr(7G<2g%#yE}V_DVlhK zQTOf|1v*$J^)wDpwOn5@A2G>}pLjGPheL=mcyNSN`8e+Qm4!zhIoxWi;ud}H@Q^bY z-{xK1o=xJYbL9b*Xg3SpXB=~OG=SF&6>Zl1PNY8VA>7%vjY#PBxg|RwYtHht+=Jz)1XOt<8n~1*8IFQwS9m*co zU+5+6aa!HcoOUeH>=6B2ozofnO&nf92^*BeB}9wf%)h$8`z~i7m7=KYaB2PGQ~OFH zG~HBbUp1#KRGyu8=+BrW>XM)mN^Zh*Dgik$d--~uz(UV!oQI2=!Q?ArVSnG})PtX= zjn>fBLGLIsS5p6!iJ}o!Idk0w$SJSvyYNli=)FjMgzeM8fq?kJ77 zHzLL-npw?@OUTE49)={E4zuHC3tSI*jWoZKIA;4pxv@jZzo8UKx@2Lsj$PLHJzhq_ zpU7sRKe>c3Y~9X8T(41gt<10abQCkdL&%rPbMkSy6D}L@&E^DiG5&*x{zNo4^kNgD zLbfI_bi!W3lB^~3Z<JQPYUKVVu=j~%F6i5DRgH*fal!}2!JAPk z%Z~VwJ1vdovu?MN=??PizN^L`Jc1{|BanG!=6JeqRwhd&X@up5HV2I1icGpuK9Rl2 z*$EsY4>ni;b`fF&K8})`$sMqZ@xe_$E)bv4_W7wz+33F2nD7AYhQhvz$l@hH?Gthx zgzZ{buEVKHTkr+1+rN|1rvVX{@Fc(P?)8PM$KGAZPa?cQUl&;yyZAm^!W$J`Me;pt zh}S8W%a7!DhC;=4sdzM@KDKp9jibdF!#>`UThML7fDN4P{Q#@JN)rP=*%R53W+2~R zME^da%#W)JgoneyJ!wu9#Jj8f*Igg?ZIz{A=4~n0#id^Z6_$uV8Sa4;Jf3%5yH6-{ zRVPv*v|QIdfx+r7Wd}!Vyv69snS-M(6OZwAU&n5^Cg82eKQB1&foa{Vh3Yq~d3a`q z7S+N)9x%_sCcg4z?auV8;5@rqA@xs#y9~gAtF77jNy>D4yGKYLIE;=ezqHLE6O{WD zwt%>JY>^h@8YN?9`6Ws2|9G0sIpu(rt9I5BdKp2e&ZH zmX1zPnmNGX1H}4WOnriz)qcM|DhAfid6}@b4$NG>NYWz-ES$(6kZ-Ov^D__^diOqD*ncPB$c4%w-9lyT zFI<{WP!i-yFbr9)+;BX>kPZ_(AIG|GyKNC6{k6M6L^SZ5S^2xRTO%WZICwEt`u_dO zKG+vBnCquw0wJ8_!&Ut+tpx z+kN_Ui1$_ltd)fCzadlmbIM>)+bcnymx zUtuu~g;Qh7Tk}QgM%Pj{|A}QjpgwiJ9M_q|{dJI#%)yO(R(7#%Oz%_|zO`}3oD z+rHDbwin>XC!91>(D_cCm4Cu$GWW%95x*x4o@D9iE~AV|@NV+AI-V9hA=gcij^UeK z4GJWqIF<5Mnp8tsw3;Lc*48!!7r7;_6S2L_u26(Hfn#=s%iFhagP0__@mA!|V3d`_ zFyyKTyfFZ}f%RCZ2;8FaFEi{4J$U6q3Ub=qjA0g2=dS!YyZS^lA!wJT9*H^Y0_LGF zvpc=2y6e!0a|n|ni28#^Lh|>!SET^a*P2}}C^7dB z+A)8$_vp5Glc^zm&;lE&AAVT)V?W{P>%Yo}_7Q~mk{r*hSR2QBq?RkX4ABj_ycwgk zCo2FG4r|6JuUU!w>b!iSn)&fVKUDu4PWKhpW7u0j3N_HK!~sV;ZBEM-LEZb&w5DRg z*D%3Bu2;{r z=b;tZ_&w)eHIMXYYz~*pEm~4L>~6f(&E@^cUO1NcY?wmkRYu?wSW)dU35cCBm3-Vgr;ZBBqBUqF?Wh($=C#cFiKZzW z)zLH*#zB+9sLh*;Af6_ckQrNzla(zzT8rRr)bLddY@Kn(``LP)q&Ub zod*HOb$1d1H*h=Y0!?2Qu_r=5KZ?{mLnXSSi4>s)N z|M6DzQVs-^^5wkHgo1#>XvbA_gi&)rSJYJ~8XVkFt=w7bz&~%Z{5RUC%S0ibv9uYC z;CJn*9U!}|nr_6CCU>xfZ`fH;!Z(EHp*k)2Unc1iMe!uq+Uf8e+cPkAf&XXhOt&<} zm1O%u87u}(y#I@}ZxbLBA9Ys$xwlVMWuylPmk%}^7vqqQ#8B8mN=z&7lL?B`0U$&j zE?rx}TTFdue5tE*e<(E25d8%tUm>*~QvOiu&`R1IO!{VJHd{QC$T8NdVylzN+zOVN z{2QlbXBF`)A#y-~KwnisQ8J^nb!JfdS7ywmSvuNmm#F5e}knq-G%AKW|E5 zlpcomhI@4fjX%mdpj%Es+Gw~DQrsqdM_oqd)}a;5ec}x4QuRJvHCe_Gzf9~avf3l- zvuJj-yN`9jkK9>~Gd_6;h(qhGmWbimK7P3-XVa$#gcrg5AiJ($dhH|1A&7^={E(0c zaiQ!4sAOW?L~DX4r85)An8}qL3n5#D5})q z^p&pgZm^DwWQXA`;>x2E*=%IDec3nnXb$!4ai^nOx6KnfK;owxO~t1?+eIZd4Q{jp zS_0>VXI%xYU|mehm%v%s{Q`rofHvKuA|G;_PZK+Iv*JcHiNj4gQEgV*q_uKMmADw< z2(18oMmB>P5w(SBZ+DHR(ImbjQ@_)F3jt3}8e3gC!G;F1EwsW`(n<#EKzqn!el*v} zKHDTwJ!GzhjYys+f5`6GIwN$i3PmT1pAm;hWEcJoOeu0PRG4MJWiK{W?oSo zV#wqpUXU{e;4eCMO0{OPv&|T|7;%>ju^j(-oT>^*aS;KJ726o@a8$M*oT+IBMJ+um zce<1J&aB;mTp963GmhimET+0yPE^(C^WXiXGBKC{{(zdCUdaEX;JO=cgyJ7itC zZy$=A($C7?cVF=%<62SJJ!tk9=D7h)pDO=Al)C}@+%nG zVjZF$!Z~mru@JV?hZ%{wyo{0Qq_Ko^Z3d|dOb7Vw<&*Y&g(L9P z0of23mRoG%YDJMZD&`1`b=D}apuQ~6QAV+%4?J+39JMM`?B%OljsC4~ z^Xehr#Jyu`q{1mpqG8as&9Z8fAB}AK&5?D7H65i zXG}PlXn)Gu-qGmxgm1W=!V*^(MTzzxez$zDUmNIBmihBo3U83&%9zju(q#U^ye_@u zXgAd}#i#4<=z3=EoI?~q&8>&mUc4-aWbQRYmh|M)%+@S5_eqhaXvAk&QpEkfgbRB( zdT}BgzJ_;^QVLnD#!ByyE zzJ!pvtxb6>6SOANLb#nolSJjX>b17czr1S*@X@L1?;I@8pl$!VQ8YVD!aUlS7wTD$`W^!Sx zZgk)d7c$)>C}J4uhHB-na=;bJ-p@}@$!Re_IJ`{Pnu&Dmzyp9tZL%xq4l2`PrBv`k ztL5-4NtDkaeUC@Qj<|*Kea7`PMpCk_&kjmX*wrNiLqh#rHlw1(o34|jODoZv7X#T* z&K~Qp4c`@yFcU|<5YZzQ>p^W!?f^%OwNiQ13!r+!?llKg?hH zu~#^$hr{VyxgFgPlct1($DFzU4J2N=l4K$RJ7n$n;YL+K?|yMFC**e_nz`Hx=Lrk< z@4G|6T?w(*&EVZlpOo42vCpn6YrGmSI0{9HO|L6SAvtKNi%8oH6v5riyQ6nZGDbhd zGNkW}57(-oChc$^XGWvK%EPc!aiYqsGkM+qHt8s6L8sj>AG8Pk;Coz|NobF2`vQ{U zLE%PJ2j&oYJi5%F+8v<;OL7EQ!y7c+K6&^ zxDasFD9cGT8?YmT5lZ&pD_;_kh(AYX9Ja}Yr~AF!S$qF zx~TLz)m)6Ci;vp=WWDE01`=IzZ*K@%Wja@zH2%zwQ+o96*I}C48?1u5vQ9Xp-!l+StAbY4TLP^bT0(eUS|n!={23vZ01tWsGd%{|3TgFCp)8t~R1L_puFX zqHI{*^&8P9P>YwsBRcn1jK4$Kb!0>~T-iyw;0Eo>=Pw$d%a)A)4R$x@e zSw`Em!N*IpHUZ>nc6ndA0(W%%W%Xfnn_fIB+VheOygwD=2#%+?Ow5vsCFmVyD-w>p z2X|%p!oetxL%pgFsTj}Z{RLIEVBa_Nb-NCxF$gzr*kzhMGkY z4HMes*Vja5M!s!KS~euR>^vpupqcswhkP+oRuQ}P8HiStBTmB|yd%l|HL2g*%8RyA zks^)9?uMLjeOF9zL?vbAEFfn8f?XwNCb6K9B zSr2hA1}OCvPm-+L(K;|1-j$_56#i?x;^#d5>nhVx2|L(qhk!md77hB{q^u8-)?~*3 zEw%5JN)JijduJDdPj@jgiP$=G4z+)JqDk1`h&MbF!He8-OagvmL{z4Z0r|DBjhup# z(A&`&hM3D8rg|CO@BX5hC80{1jTCqI)vfqvmRS#b%UVeOzL(FSx$E}=vxlX^RUAW9 zZXX4jD)ljQyX^YA$*5RaP?-mAn4xbu&zCN38Nz5qeUV|=-l3?uz`l^59Ietb4j?Bk zZjPcYrDcSK%#1G*HPJIf@`miR)4TY|?o95nM8UOpkgIqpXf>bnGywrwcA(F?7rV|) zSpJ&`rxed7dn6d95*q+a%gc!8CRY&XK1OLhzJZ(yF83$Z0Udyv zugF$l9Q2CHpZBR7s>PG65)j(Df3cnwijvVqFU+%yZ`|;l#Rln4oeTCjVRT^fB{=xcj6e`rHzt(>ZVC9ZqlE zPmQQ)0zKaq$mr4A7)4*Ok?1!cZYrA=DAcAy!~NrI&B)Wp_CFv<1YK$<)2wx@oSPV;Iv zMwUI;W0iue;W5&2W0?PZtp#BuZ-_jMN zIuoB{{8#NOuUNvac8|P6xsI}OGYIr`b<$`N%+asBKM-b+2~DGOmy5;oI_0-gTqlF8 znm=Sh(ag7B?fxsYi%oO(Li%*&Gxl(N)2_pOz9s&%OoKN&dX-lBaD^Qtm8=nDCXKK0 zudL%0l8B&b6`*6oM0|+LRH&@;K>FBb#+3ah@A)FV?RCrB9Lkzm4sg*jY7IrDtaS$~z9>Iuh){$XOVhI3g~imNGBG*>qu+TYG z$){nf5%}`A z-yx8+_9sK-3@FIzgq_bJe(bE3{7f zJ|@XBNsF(OI6*(hMl9;Xfr(s(tvKw9YV}3|Ni~l1F2nongIB1S`hnhV4QVI+?sR|6 zg`-j-%^ErWl)yx_hnHbhxaW5{<#IUC-qKb4z2Fs%Zq+1iA#*r~X2_)TOcMZlmRn_! zx_Gyk$&fxaX#JAEZ3ekX&o8;%JDO9`h`d4`9)mu)8E+0P!DD?hKvcp}mTkj*ixqIe zt2IV(tk->@#cP&I>6c;v!F0>wv?)9Dqo+XtT`#OpBXqV?)r7=tP=F1vbz z+(b^Ks4Na5q~^e3%$3sL;q_zGnT8F_j4vqQwVE+HBk1@Il$!V1p0Pg#gA`I}0Ld|I zM=@NQhjFa&2eaZ({fuSgti};f$?5R%Z#kNyjEJ+aPl)EIG>$SkZGk*n+yf!QIavQI z9%0uL%)+?bpDt6%N%23%_$?v*oXt)Wk8y+IfJ@=Gx!<@7XR~VRrL$#}cOci7B~l?K ziLPMHP~Q?+QXye8acb$jnmsc9CW|5VHxTi|Z>P$H;`kys5=%eGy>b>E*ydM77HuYK zNm|`sau~ZrM<%%4DLCUS)d+~7naeX%0u$ykqXj{^V+=Ap6s+ zo|cQmsAem$hyt1H6CU1rBIG2-^p7;gL0Tv;zm z#cd=3cC)kkS*}_;ek5r{q_habPzs4ISiX~B9T1>?(8v-Q zr1T8j=s2cFo(G=cuc71?1=FpDrzss9&edS!f56;NyxXomLxe3f#p2}-Xv*KIU1K#= zr$-jm&wloYq}0sM%r5LJ1=)ByW1hjfFMi9>eep~t_C-`37@m5tSk1)~9lTL^Ih*?c zNIY1=P4tr;DyP7}bP-qvQ zjfTK_aQe)_gCPN$E)O=Zb#&Xyu7T||`X^5Z{u5k3IUNy=4dw(TMZRhpRb=UWPF)uU z@Lup&6`R&Oah|25|IEzdAA?E$lrZT*>EaNVkj3Q7C@gU&OjBsO#c8f{z!;7MGC5#z z>5l>?K8nptL=?@=3DNzIN>G<1LLoy*XU^@^EpEqhu=BH>l*FT-`c^=j=QuSmt;Ofi zGMxAv(f2@_0zpEFLg$v)J)m%IX-xdOKbFa1MII`X;zQgda8AY&H*$4H{_sXa;u7OL~r%`;cC``5o>KZc1K&asG+0PqxX_HTJoE_V*;pT~w zjZKo?!EOC@{m0G_RAQOjvQE)&46rR4_~{5gv1IFvwyQf@B4ZvBmE8KBln6>z8mY4j zqvefg%;bR4Nt*VgsYs;!`PxKbnKrEvE)G!1R8r_{cTL)T+FBP`*B`_QRScLdhy?hhCiCSV3j7rhOYO28hE}7cv!uy zZHwa|^zC8aWXT(T^4CaDA?bO^*zlCrMINK+-N#T2rt?Hjf;gKetbIIRNZI~L;xB=> zi?s-)%X45 zYtFalOJRu{XHwz9gtPjBMti4Z=zdBO=KQ7-1~$5Ws^9f^l&?GG@Q_X5D1E?6&xJ8= zVzYBD?`3XYWE%YZjDn4UOSk3%f$Jj@Z4HyyhDcRaw}Y$N;|}2>2BJPY%|L!89XgbH zpRW_+qNUf<#md}w1ig-hX_!RhGY&fJjLlX?@fYINdDD2a{{0BB%CyBc_ZyqG#gOh; zr!U7hoTCTRUre7&)A9_A1cqc$E|hjTQji}(w&0Ls*#EftQM~Xe2MEL{6VDp}$bSap znytTiS)vQf0=(SZ)t~4N^&XvQn6_oIa6Y@qw%hQWot0wBcSYu91^|qzx6CzeoMm)2 z9NLlOS@erkR7`@Ar>xlrh}4nNF{qgyc059;i`#%SM|MW2%l}CR<7MvM6duJK9QyRe z55Gqg7w^&g#C)kMov!$}SDfgZ0X3y$yHCQT&;pw&bf7F{n(_^Txz+P12rXj}`;JE6 z7yLu!8wL{RRH7s}WJwuMPv(pK3?E<@P5-9^jS}M+_E*THHhlVtMfo`&k9gPN6JIEu zQv)RXm8kD-?W;}|kcPX-CBld~+q1mu89IKGxMfXzlL10>1g1Uo4leg6m9DX#sT*K$ zYE`zx&^MQ2E*L#h9Ic{PnB^0<9;Qk)=xH*Y8qzE9N_r6gns;dw~@^|!@7|JvSuUp zW*Tb}^KN0V+`gN$9)r3>Q4gt8hvr_C9z<{SeY&*Cw;-C!I@vtNi=$|Does2}Ou4zD zvV&Rm2UA4xoc-7|k*C;-xc<%`N*QhD6*8s4qV9%yC}~5toa`C@5FMQ~NB&^j#MkMP zve?B^F{Cfuc*46@u3{g;=9u)*PZHV8WReuGvnS*CDKCLXszpP7Z$&oL)%=y=)s;^V zivskp?-@!@*=aU;QS~vtBmq6994?(wTN9yI-`sYru0^~2!8#=CCtGsA;<>7`a@Eq= zJr;F`RChm$b0E6^(|xJ*ao&{Fz|&xZu?%=TK#DG2Te{0k{an3Qc>~r0uAz^h*a^Id|Q5Sp+|Oh&l3uj za}r$KWCy=`s0?hGLOh)lZkKzSau`eCQLMiM>o2XFXzed8C)OvEtRfrVW$HsS&M2Ou zE4Z_1b+UD1B$NJ+TI67G@dYyPL8(G2O55A+OCCX|_el&7*5MeC9-P}rg()ABFtR+) zDPL^31GqAOnH*o?q#lkidApClWo?#iIhfd)PRqr}N0Y!(0t`NG=XkpD**k(s1|Of= z1BxXp6Tv(LqI8(AEM!dJwga}9#fTkAHzf%XJX?7^2BXu(u|}f&rsUKjn$SQ+{lua& zyC`YHjEir|C{{dn;OphKC}+XJKbk-kG-_Bkj#4CE1XC>MO`WSabz`&5tqYE_4v#mF z4wL9(??=1m?7SG-LhXc8SEXKBY&c57-e$4HxE;#kXf<*+@>-^kApYSO-CqIqineyG zB|Mt)B=ZQVd=PWlKu>bN+AdBFb7UyyI-^ynVl10|6FALfGx@Hckn{#2A12jWCc(3F z4;QnSPwW$2DV;I)VbYiK8L++)2cjWezEbrXFY+BqKiF^(cYHyN&LlI9p{J;FNHD-5 zAe7koJ8fQAm@y5cAjwXVk}ui^yRL_#VN6xBu2@x0Vg<}pk9g|#D4@^LLOM%-i?q2g z`Zq5LVru3{ju07INmEMin5$?9ZWQ%Td>x+Goexhf1Kpc8>YMnNRt(6T))$WqA|~19 zimUEKIFGZOC7#T&>10rF=0JKfdPLttAy>ikT@`{Y`%`hM%1nMR`4H1p86po^8UA}>y#L?MO zNmN9#+Bl!E6p`&YP276jCV3@o+D%NPiCs1Ls`QPZU7vrTdG-5g9OrqT=XNO*M9Nr) z&dFcm?_Kj`2#dfEg}{>lFYt9_)!7S*^@fWpo-$a7ZvF05u`FL6tcpnV$OIiRp{L?>64~}u<3%uJooV7x z$&Yr9OrMNS+O)8I{9;#>eZLD3MIt$m1R)WEf{Elt{}EUDdDwk$%#*z&N{z{~RJ>J^ zu_5p;Vc63Lft4b^eWC^lMI|*%L;&lUg!m{mVL22()*L8A_}nH#o#^8z^{e@s#@VNx zpCoa~sqyRX_xz%1e2neRdbdbFr@GS;Q|oAuGBeqGX+6WfPh<0dlMmv@XJ>Y#_tNo3~Bc}~Lk8N?&%T#l1nTL zc;wf8Aub{p`N+XL73;tc_0nUXR!Rs9m?Rd1i)HjDanR+Ud1IU82>6|N2&6AKHOyc> zdOGZck`QQmi79FPNJs+;RHc0^uE-MrrMq z$Frs1F5!;##YCKZpvcjHdHlqn!DY_jz+|31KLq!9RbShN9*bVssZx5U8?ljKbiNGb zZ6=G@$FaC4^|487#-P#(5RcK6B12aV4s7Gd6yuw^rJy<@7B(Uxb#W6uWkICIgbveK zXeRU)Tt`Uf>e($Otf|JOr{iqwj}j?#`Ko;gLz<5XCL$m+!~4VO3CueB%y# zReENV0|1IP&4|(-)Cne6G2x|^)i1eX9uMG|G0L!QKF}Mk2jd-O3{VUngJs2HJi-&S z^rt|CBI#3e7>VHhZC$BVeKf{qM0E5y!_5{KgW$Q(;z*PUjkH0la9!XEBxc|oej-sO z6d@5AThzpSKaS^GR3a|nhMefRKW-m=!3fjZw2dTVYK zj;@b|yWin{Of)pg4obG{#>G@XUQTw!bOTaS>YVfNnvx8c^heB;y5rNkp@+oD&YhD8 z>0ok^p*_Ig%7N90dnAKaMKRWv#P3yo$dEFBx=+yoB4=#P3|s|3asNX zZ>&PdJ?}2cXVzhZzXinj_=LYGjQvm;%Fn9==8VCG#!QXVeghy#lWmz8hjBI;tW9p? zFd?I&d|FJ-v6Q=~BSnX@e*1;@$oi4#P>(iGEA|FIY1)Xl^KiKb&M;6QL+e+ZsceaL zNr#O;5`6~CxG!2qWUBMjurtF)%&@xMfd-u9sO_msmr26sKqzgS+;1~8ao5AEq6qpr zv`Hs({m=(iJhh)-QgfVj)8=K5Z6K%wwEr|tuVjzLMUr>Et&8gdKV=xHpbGFGYVAFQ zeu`@sPTG88cd#QJc`K8O%!ot^9*&jNEcz+%*{`@bRApkdeGcdqNbB!L0}f;w(xkl% zj5;oZsNVYU^z1XXGLM}jo3NA^8!$XbF#WQ&4UB4=MerD?#CP)m-rG-b>Qi&)BBHV~ zl6m|f9H^$wN`Hkrc0z|Z#-r$zfYmp1=$larjFpFwOY8o%^l6$xXK0A@jquM5h==sj z*$!L6%jaV3dk&82I*q}jEZrZc#frynoY_Im%}6A>E5IDgx=Kws!$dqZ`5%i}Vc#6o znb4*6wRXlH%^nxc(&TW`kTN_BqL{0?sPZ*bP&oZ&*!D}P@vfZDm$_<2fH%tYr#(Pi z-Bq$`$I*fiTvO@1qbIZeP zen>9UT(y&2Tx<9pR8NPZBW{qIhxR`lmUDF*3#qFZu04upsm;y4F)SV(TY%+5N__ zP`oxJOzO77hMKVNqD9*M1Jk4#WOPzSJCQ zz%h?E@vX(8sC4V=_@NMQ*em9Vcq&eW0OpA{+&Rz=Yty_Zg9!8WL)0Qkb^zn(XK>=5 zAkQ9BKj)FMRYoXPm$D3YcHFv~Z@^awdYh47g}NH}kfsW2a8jDQ$iALN=|_lE-Gl{t zM1W=YG8*>GM)NTKXTl)nQJ&$cyRRmdG>yjd3@R>=4i)~1M4guiiPEw@>$I(fII`CG z?Rux1IH&lRod|f1(;T(53nBnl1gqhSokdKb&F#h^@#GdY)_Id(-qBU1>rP3e$MB*E zbDKD(lMCR9+=){oyN8w`1S_M2NdlE+;p)VnewedS`hLPv);^TAQ9emNz+~uBGsg0d z@DhNQ(*;Kk%E@f_H$FO=4Xe&;l4;WYQF1#y3y*g|+85HaBkH*1-GLpKwC*#$Nh<(& zHwVh-(2g4_az~wJ><#U_F`vmz!_xKZTc>^O%%3cSL!5f;!rFmh=gpixGE?hw8{n`c zX{|8>DPZ%x3?Y4t(H-cFrwD%sB5B|(P9l#t701p+@fTmG+hyXQv7&~4e~)StNdo2) zMRB%ObE*4_n{R%*EU4qpnJ3IUFu|tt(dQkQ1{zsX`<2N_LV`6e#h1&ERyL!fK^kXt zGwvi*TNnElf1>Hf`7Wkcr!cCXj%+{mh?4&qJ?eqRMsmAOi3Ch!Ep~XLkRikPtoj{M z>F1f$EGDu|oHT66z8^$RlV!j_(@Lbyjl`w5b7QBYiZsv4D43Ef5xzs|odzUCDJYCa zCJrv5K_)RtF0bb28E0fOcl)}%T-P^F^E9hQkI8hSeq!k#mXbBq_}u42nY}qk9P9++ zy7FAD>JkyJD$YWoKZ!h<9s(6}XSCXKz6VQaawARX^gJgT_VOTRjxARZ8X>gcBB{(4sXDw22`qjQSOhL3!EMtOUi z6jiajSVop+iD*h2??`$ef=n}=eRkk{yQ^{bv+)1V`a72iJX_HTozL_t7taTJS41TH zKGcdsWmxAQ;z?I0SB5NbcAWV;%lDCUB$ud(wtK9xlLDgRn5-F2IsOa@c%~oV2&cQb zQ{2nLmu>I(sz6=2(-0v`IBt}Sb^@mN1Qb8LbuXsCm&sd9`LEpJ04-(Gh{>(>&PoR zl<4A9--9h!v0^FXvsq0MQ{HbB&82-m$Rf#sd(Fbf=wD#_p$ZP?DsHBO($Pu#5x&1f+a=9&{}sYkNi?k2V63#ejwq1 zg2h1ST{bQ5eh5{&e9EH4xhhp+i&=a`WVN>m;K3ZkId`xGfH7%2U8XivsJf}_Xh@zK zfgnpY?|Uz=PZd_i0RQ^fz=@BU7*KC)(vrcpVo&nmiewZH~WYcfDw5s~{>?V5Mw0kRX6X|Mlvp%R>=i*vry zbDcJah=|Rgo>MAAgU=#08Ye<&cIqQ-xV7B!H!_+ebbd}1h^O`ahB$~ni$h?xo9ihh zG$Nj==a6o3HbCGy8L)71FkKq7ckp1JlKTp!9~=_1lvho0pZ!`JdIj zj1D+nNx`_`=@}ad%4yr$w7A~zPc;3(P)MKa_%(MP!I=$CCffTzY;!}8gkE9fZU%wh zP~)9O9;fR2|N5TV-XDv$hY2W2a*HWuT{V94lUHF>Mae^_c|P@qxQE-6DNFWO5#=d~ z$B9vB*8T=X$BAQ-s?yr+Ilq%W>g0@X^L4Hju^*A?dq!tUUkrJ5#uV=rJ&i=7|ms zRbbkaeJG!lNsOc{^T$yMXc9f{s!djH+XIGXv}1CZKVkGY)Ug~~g0588Pvhi=piCOY zw$U2#3V>*pCsS1c6+#*&sp(6ri0_pG?G}cQtlm-`V6rQ4+cFhZic2kJ;cz*xh4okq1A+C(h+Xr zPMffAWr8$Gv=%HjzD8wtO#L-Rj^3!$?PlFUH)r3HJPQw3E*H1W#Vu%-5v6>b(JoH{x~h+xmf)S z;@bvF9!E4DQoPNg86p`tYf;eC?QVI5=vDl*=qZwMSL8x8@%h*>#tl~|V=J!D;`=Re zw&ITaY6tJ=l&Q6z;ba>ZRrn6yM*V40I%py4gzfc_rMG4JBKc+(gH1Pf4nMjlS18gw z$zm9?bapkT9Yuf%JDyo*I0pKV8@QEAxe6RGW}T?>%#Ochlaul4RfTj`k`Z>47CRClYGPx*cGM@Xe zu|=FY<62iPH|&m=+R8^ce?`-ikbX4X|G0H}Jn*q?nvpUk)>B9kdN&o0CC&}3mTKlRmGk!8!d`fqlk2)G&_m1q)s28(kl+}3$yrz_{xq4BU=JPiJ<@I`qz*P z%?*6jT70NGLLnK_ges@M$WC_@nsA6**l8WpOc!yhJrevaWPPgTL0-%82OHSB;+}b^ zRltJE25b_vHU6s`$0g7b!?NR{OSN}+GN;U<7Q*#how_TNVlP}NuO~EphAwGW-JewC ztIM~ebnaES)oCAxA8R5oEz> zq{ISd&KHvwQQSQMZWIxj8Y-es5O<;WjZby(%{!olB4}}0w}cy+TZF*xo$4v+tDAAf zE1q-hUpxcpl^ytKR8&nz0Wg5|Q4U0&Gc!h3oGz*Yt!Wv+mVUSgAimvc6-`G=i)bjlPoI2i@DYWY z5o0oIC-c3CFDOl@Nl1kIybh8hw&`sA6-s>X+}=Uu9@It=a^N{V+8XjdCGjXJ4svw@!7hQGi(B(q{R)YP z;I{XG2LQ%O-o9{HvfU<)2nd!&p=SDPrM-SgH>PNZ;t3qfR++Fct$Y?$TvT-!-l#J>|UZZVU z+&@5O@1vP`hm!k)p}LNW#a2~2qB^K33>FyVVb6y2z47BJoJgP9ZDf?ixJ*@pF6;H) zQS{}LxP}F2ef$DGn*$4zC-^>qXSU`0@n}qM$QP7|z+}5noWw@nw&T$fuiIoz!iBs( zT3YQVxa&A~fJZSEZvY+?W78B7W{J&JsOBb^6Vc5~M3lqM$;M5nZfGE0uwX9D1 z%ckjyLmC-n6|!TSa2GqXr|C4w{?JulDd88BM5v78y=}hmq|YI#2p4>qLSDfrKbOut zl;Hm~Nj@ETL_%IH98YZb4iQs*Y@)Ta} zNBZ6(p2q~E!0TrMa>kYR(xp=|9Tny{RFOlsX*@we%~WM%@_2VryZ`z62}$eu()owv zui0e_>9@&3Imy-3UAA`ZnI}S7nl;cW=83+%=BYDidm7qzP#QXvO=&t$nnk$21Fs*e zR17znybhr*k=`sBX8Dg4bCNja<~a82GF=J)$X&qD3VlO zj*m|KXnWQ5U^6*dq{!7&$B(p_zQOhQu#rp1*j|L2A}S*2D9F%tRw|AE*vWDn--Zp# zg?*Jr2B*Z4W%B9U*YrR>_;ai9c=6Fa!w}}Gr>RE%M5q0I5g`%wlL@zSpk|50ENua^ zLF*=&E=u*sRMJgrIq=VdhBeCm!E(D}QOe$WiG|;(m(!qLldEkouHM~p1Rek+Cs$Ih zLR?w9$gp?FMxeNdmDZ24`xVjAzc;1rZJE?#l@%@q^QSC*D{xHxwrq)RMLK(Bm~ zUf#X~k)&(cdftwI7WJadlp!d_dG_qfbTOI{*CE(2eXx>4FP(CJ-EO>OQ)$eW%@}f0 z*Ng9YNRa-7*YCKk?-WNaWdOqQwFP08Cz9(&DjygR03?_}hBnc9oWamm=5y_b5Ol|) zBP~Ya0f5uYd$1gW(rlYxKu(Bej89HR_NP0VvIad&t^BV7d7ChP1yYzxXuqS924;bi z$YObti`}W?i$k^!8rj|N=4-b&{zjH?k$T2WU$I~s6>ns0c4?z@vVf2;I@kV~_CDX+ z>^|JN^UvLU{h};kqV{ZO6M$c{@r+M?B9U%jniikXRImU)?@NJfJrE^p^7=U`!a_cc zV{HsV6o~Nzzme*X?~ zRGW!8jQm}KnWKG}2Wg>@KkTr+!;uk3{8#_92CCj*;8@23xev+uPC}rJ{)wwHmglei; zoY%IRBKJEEQ4)(NiGVSq4?Jzb3~ZUDwTomVpmnzWfk{BAY&qxvqPDilz>sz+PM5=3 z+4OdoxC z-ZANc9eof2HOs3IfrjdY^T4P$ZDZlv=hk+LHNG*g=!)j(P%OsFsr_&xWyluAxjrzc zi2OB^h(;Wcbvh+SXWbMpt`S6Ey@Nyw&5VGVPa>UNN2(S~w*5LtUJ>;h4LV}wP>u~F z@VC`QGFd90hGI%5q|;|E5I3>5y!#Mfg6uvDVT48|GW z$ti4_UQ-HA%g^{6fxu=z*D1LlHsv+OaOKxE`U*;0y>j%C2xW!S#_?%&5lRNa)h)#j z&RcHQszu-!QJ8;PoNZ>*H)EooZ&s+k6FwrkTD60O4M*LT%;L*GC#5+A5JCEnMn5$W z4KBQ)5sEcy6`enmAQR%-P<%h}^l!hCg6lNklSpU%D})~?KdR6 z7GsXb%UYNEOF_N@+4|8YYYSd^&a#e(TkmX^ZoV3+N!ik;ff|_kYytbz9kky)6KG(j zBziV+W?MlC`?+7XHpU2ayg!j&(SV^sOyW_ zg?c>khFdQ~#7=~dG^wTSEa*1>ax(mx(-%FF52|k|I`!SHq`6{?T_T0e&2DhIcSyR| z(nci$>&ir(cByLE@bN&O(j;pVmE1()7DRnWyi^9NrsIT&z?c2_6^gitB}sIeFUTm8 zj3UkMBZI>_t@BIq*DtR3v4KypW6U(9Ezgsz2!{?usdpseP?XeHjG29GUQd;sYKo zsmO#YbUaH?I^QR+wvccG9Ta*hVf(Sk= zGWTJ=E|J%)`+f)0^S0QEY_!uPu1w1i=V7`+5571*rxHdzW{beMV6o+i!#J?6NKNrLOl|L6Ci>w1`)+z&GM8@73 zpD@Rp43kYDmIdPS1%!$ReVqNl^c;?K^66SkC={IQ(`0lD7)ua6eLGj}4`m6`_oHpb z!4~>0-dfk&+_}xszdH8%oe2o6&$n{V-sn--PP>X&aUG6&&X$H^D@{s!$38dT7g@#{ z-^wfXedaqFo#}D|M$T&fq&xkP4{9(FH7Lq~@Wt+c5&>;ZC9Ne{fZG;wXEJ|$!k>CL zO4@~zyH37-I8eel8MWL&mwLF6Y0?M$$abm-N1k)k#+BFVU@$e4+gG!#aQaOv6UCFQ z-&1u*elc`#mb%O6(M0EUf~q7GM!~TG9a=`575$F#Wte)!(Vt4+K4vav>-uGS7hO#m zTmp@NTbhtWNCwPE2+@Dz-R!rt0~axO-uV#K0SIQary`MW{V}EA;QATrn7%xjU*X_5 zO~+}$%*UED-4@gBtq251(sUDnEcKL8!89u7|A34sppJs-w8oVqYmIFu3QwFxcr4!L zbFka|DP%7D=_FSP>A7?;Clf!@FY;9nOUbbak4;HrEypfJe=BJZVZW0(I3>AX*<8CU zrtV%bn78eELNo7|kPr8N-CN)Nl`BoVWS~6n;tMjX8CIk=k4jA3qcEcruaT)_mD2NNf+i_cCpWHw4GexPDE#2H8BhUNKY3W3vuw z&^Ide)c)v0==%;wsh|@aSq~ZGrswOK=m5)m%U;>RDKQ2uD6Va>)of)VeE2x9#2t%B z!`BE`F^OJOpg68uo0MYqLoNkY${y(MIyyUPCg;#mfQp9ktLWdjSPiMu5CcEasFf7Q zaXlaZ0gm)y;6rlIVj7aH6HR1E!ent&4Bp2q!E`e!08hi6zQgD!pW4SH;G*Kq4-AoN zk~Z^aVC^zbAAsH{L&PR?ABR6#X}Po<@(+=pPD52hm~jxf5Bm>0f5KBPs=c~qP-rYE zNh6nO{wBuY)XioDGj`Vzsnqm`iw82@CQ0^#O@mdwNRB<8ey;n7gx+S@IpTFQV{2Fx z*cSA_Lc;X5Fkfnub7!P$N?UV5W~P5G-^VC^1z?g2i1|o9C%}xh>#oRk$Xt4|900R5 zF?ri`+~TxNRxdfpD)jU5C>kl=6qt^{`b{rtM;#WnY_^xkHB{l*xGr~^VC}XM3tC$A!a_X8;c@^`9)8s)lAz7D! zlWy?&>z7$Y59yQ!PU&>VQ%V#@Ob0yQT+Im=-QA^PnM_cI*=jX2Pq$t%%A##?0T3pD zkamwBiK#0lovB8xjhR-S>JgX(?z;kse=*;I1XlYrgkSuFSy@@i56^xe{zHV$eufb} z5DiCQJi<$}6av_2v3-&#NT-dL5M;y#_1Ur2RqLdoMG9~v66-(RYySaMR}dYSA;P0J z3DF?>&`OSyd%BsuXFul$3pJB6+r*=rjObxmtS-^bj1B?b!^L0@bPeMheg5oEd>zKt zDUUCYZMZYY)vgYLV)->`{AVnx_u>HaP;!sok+j5yR-DY_OfMb)nsNi7vYh|N=jvf$cdzE6~7*g-DV6mCl z0igJ`i)_nKcuKV3#kAzBC>w4XaCBva=lK1Eqf80sQKsJRKhQn6hOJ`82-zS{+Jg?w zNaQSBD6mib#`BE}Ho5BLJCa`W3x_IAts@&)MT6)T+1STZ8s%+*k6m4}V<6#SBQx#!Sp}OVaQ1D3nN^V( zGd^;rflA-|+8&N7HgO&!=b0%MlZfS}AHerE+D5`6!xtStTKw-Y z^nr=+2ob!dNqS*tS6Gf_ESMcy9l!GJMof{xj;}fYIF1|&pKO2ceGNZN7@zn)TkrEZ zRtT8HUo)0OQ-t}9BhVjIueJ9jxz7h>ZCoPTB(_kt+55ZGn$E+3Bs+Q1?PohkdqQ#G zyXqs%cU;#ASMEmF(F(r5qe~@CTn>N-$%R_P($A9=_z7&%_!$*@cOR@4I&Q;+zk}+i z)|33r=UPYZ#`-snZmXqpAmMV& z{88a+vBeSFRlIgXs8ZG~lU z8Wf8$+~lw8fwbFXvWnEwwh7<)sbTRCVz{rMYFv9I=l3oV+P3x7rsP7 z|1Ofn@ed>R_{h?BiH-gH;~X)_jj~h&x$+a-uGo~8%dyN85QK|n&#u!olu5~lS+|mq z6DV2R#895OVh;DOwU9s26ou0(Y4E&5WC7P)ucJ313$Bw5o_(7p<{7S4bBj|Ni^Uct z6w!D_uOE9n1#|RgBS_!5>=W?$5Zl0rpoi4F?R2wxaLy5X5PT*dXjYt?Iu+ho+vWYk zxcv$!D;~<|s(N!Ucp55~#eiq=YEZ-*gN1}t!Z*X{JJ-ZrS?Nj zLPqJGU67S=2v+ShLr3SFfCT|^3H>n24PESvKM*+CChYu%!$5r1>Ha_)ia+o>t05K8 z>13}J*W0y+{SB}xK$X(*i5WYmAMC@%y;iNO<{<&ujJrFU#srs+p~VvCs!{%OXa zzef#(q=`)3y4usR7?QB-#ZT@b^!JmQ{U46lGnGtZYe#lPJ-_=kN_C@qI1RMT{Qpui-GgaJjeSh-L(@pu3xd)fzKDP7+ zlA10!RAi~Mjf=L=t0&ioLd8g#V<(N))=~|! zkud9Y#q>&t{iAtmCH6a_Ls`3X9ht`u61sp6tIH2d`g}YR8slZiQ&kYkk^A@Isew13 zk>+b8(f_#76ie=3yQ*jsjuS@z4zOLDL4`FAiI;otMNY9KffxI<3Yoab1Q~~^{Q^7j zX3_9_q`g$OE7I*w80{xIbv@me_iMJtAj_I6f#Yo3(9zh**wwv`p2dM7NjMdtve)=d z**zwmC$Sz;ckvdL|8rT7$$tsr@jzFx`2bvCTf|jXQe&tt)NC?hcl3tkzYyXSj$QPv z?izs5b(yg74yNbHzK3S|X11jDivdJY+*qE4QiU$_m=B*JR7cQA*rnTIj9Z$w z^!!6@6q)#*l+WwsUxy4Mb`^$T0iX~M5y6qIiy!<$8iPbqAFT-9A$$*a;e7|V_W*n5 zW+Y{0M10ir7cT#su>|%nkz_t8hIY8BL&qpbKs`A-3o|Vjv44kk^rNJMi}8^wwJSLl za~%8=HTIsy967C{z2ngZw_jtANi&Qw&$3_BYAp5! zJDp9r?tiQ-3}#RnQh0%z!TNmo4PAe`giR_mM+zNhZ|*23U64Kg{xP@{ao?bVJe70G z(8yF+Ne>Wy`IwXU2>M4wdS=Wt3#jfaqt*!hUR5ZILs^LnvR*q}t!>(@bQ`}k9@BAX zZ@tZbNPI!2%a^sx{tsyV7MDT1!@el|jV|{?tb$quT{{~)@ap1scRZ+V+7hsN!I^U( zgM=N)1uJ3u5AEe z=H*?j#xdUcv;Tp|bTY`Z!L7oLTIEU(V zJSVJ0zZM<}Msu@zNb4G^_>ef1pVwnq%GAU6mZ?e%aGYekFT_F_Vv~%T9|1F1$~k{# zK;jTzri$QrfK!;;MSMZ?OVkVnj5AHu8RZB3ARhvQ4c;?BaejqA1%16jnZ8xTNciWx z2K$Lm-Qv+RGy@>3G*o-w;p#pF+#t;b*La-1@~oWYVj6}5TgN*vcviglw0!xAUQr3Z zTSapO1m>vZC_mEvN)b8!Kemkqbdsux=VasuX5N9cOkC%)NL}HZR@}o~P!l|euRa;HGqv`X$o}W)q>+OS;V>#4hXQ#mYh_q0O zqn;SH#VzmSG-_zJYY)2a-!6mJ%r36a-?e>@*BL+Zp}Bj6j4AK5+2MTI@25EI0^3(d z8ddF3oLCV5a_%QtJGjWE{+1z{pi01iWbc3ko~xbqh$X%Ek}M7P$)16EZ8croIOc$R zhA1#jTFIfS6tc6XUt!zxVOn_yq$3XNF+PuFl=wUMIW`Z^(LA!0Tuo&lNzTp&4ANO2 z9VFtM#um&N3FHroiUJY+vO;;RIPyJloQY9W9wV#FM`R!cv< z@tBZ~DIYsvMbH}#Q5_jcP0}|q_g>HKvFrpYt;y2ia!WLtI2n%T4YsEi_bg#62+Dw6 zyJGn#0$_ad?IBM6#-_9_mgB~+JFy%K0>9g=2~1sCoIwj!z%_p=n)j1*N0-5$kWlcX z%tPlDRg@WuiXV^cy<=$qafqwKWYSP(7|n*d--Cz{46YakUd`?QqKP-IZqexlLG z4#yE@z-9(bq+|@8$B6%+zmGEUFqR`aZ==WLP%rMXt4`#wWp>uc@uv(>EPaFp!;zO` z(l`9VG*+XM5fsFL01`22HjArhTCA&UyCdy8;F%3|%4Fmtk0w$2YKA3>Z}NS;UxlFoGZ4bm?)~vcKZ_=H7PK(&?itQaF9QFLq;RO%AXu9H4B&PVIZwNsL>5 zvqP#+pTnr_Iy?ROayh8b+dmjY3Z=g&$%&9}oRnx2F$c^k7Apw7& z$=5O)AK#=$f=jR1l@&T;>iQi|-?j@6>R`f5PB9RAQlDf7C3O>eV-)Cmvj#=3O`bJl z7WfV)^>8|bukf(ut_YowlApyD#RprdsAtn<#KPHbS_Rm36HQ9wPqh3lpa7*Fe!x54 zl$Y5#n7;UB;!fFjK@xt$6N0bij^IOd*4dMnk?D1iPt7`#ITA4-aczzoh3_)Cnsp5* z*A|A9RlcnY6p(VHxQ$AI?h$gJ2XH$60|~Lklf_YAE-+|augf#ilY_4(+P?yO>HNBK z6^%Z&qPiO2M`Ji*m*M&yh>BQ^wbC*MIzlb8#|#~)*Tb6meV?9=fDorK9mNZv=!e=Q z=K_78zF1#)4%wn*MZZl#ixp14^otaqHsoCfpRx4@Ve|}=o14T;IMZX9F1b+G zKL%L|4C_hc4R_s7uSNyahs9zuN>S>j%2yLf~Cl%?|@PO`^t`hRAU=aK5(1z126IfxV9I zV{CH`f&+d4OZ@_T_Lvk@?UnUDVW{Gbtt15#FM)+`GBa_oMKL$o)Rn1@tu_CeDy8wi z(r>V8Q$C|SQD`=;h(JBLZiU)NL#~ZvSJ}JWrrH>m# zXJnCktdm+ooP)TRjZFuGFm8l1GOm1{G!f)&I<=TpLc)6C?gsuz9jV0|zaGl@4^VuZ zh*FpQe-1lqZb_;*gbJT5p2m+=i|IhtJ1e^3^%v)vu}%3DF(9CL zk_w1=8t)bNqT8h!vze61k&EmR#-4#*$%l3cxo8Jg!^iV(QoZ8wZ8M>Ow*G`Pvo6as zKL_1fTwNrt2=FD(=OOC(U_Ibywmf%4q#gj_y^dzi|4A9p->?2cz<+a$pDhe%oA}l|3YnvbflYB6G=lT2;=Tt!bVr?A*(p;-%#}3XAJ$REc z7jZ#1W&x9&TfqY6wA2jK#}_gMc6$BxZBszf2Z0^81CzeR^?PnUAl94YwOAdVr#i{o zpt7mkW!%3*mHmwY(=s2QfsEeKbl48OMSZtpd#R;xWcpDuc3{I8oM!nkP;M}K88OmF zVXk1N)ht3k$MuS#*Yct*Quc3d1Hqs>$~>DQ|Hbp=sDSmp1h+`vETN*89Odk`%HcPs z`yZYt)3Q!_#PiZW_N36B?@99%Tcm@%!-z#$T=5aItBx6UU9Q48Ee}T#o1KX-P}$hO zOp&-a2AmEXRAcZMP>qp=5x->WRfyTKgPs<4AXu}roa!s$(-g{lROI~;#T ztBNn#y&g{gqEtB}H|L(>c#L~#*YrZi*XON2~!Cv?|ApJhPVHHp> zSLMn`$8FWto`kBgm11->pohl7uzM011`0IB;!^Zl_V#=nCnPnZ~wS=bIwjb6vOig&h_$uGV=ek7!_2r>RiqYy$uG2#9 zOzRV6=ttRIAeC9b2BNg_2%6k!Y?oC4xcvt*wuhs`4MUMV;AWg>&F=h8J>+WQJKlJ3 zbDfbT)oH4Zq_fR9TbXvsbo1Wf^abL%_wk(@8pdY`9pgPTq%lHPhM+(;4G2 zZabF>I2)h!Z(@dy{^T86FF86n5qnP)69aR~6mQIryLja8Dj>7M0NI*G#a0=8hiIR0 z#pwD2ETeFeZnMrwtoy{*|C11hISuUKLWVveg8VKu##S`DC`yyev7cSkNNro|Ok4p@RCD>H@|Q|BaqQ^VCnsL6~29HmE%r|vxFkpOD=OgVQ)M+Us){Eir6I~yyihzi$+MqO3 z|1en^$dc&x>TKqf5!RS6K~QF#n9m88EZ>8zmhjv+TR{P-Bx`He`oR9qz*0MQ;D zzK;JglFhz+B0Lm?#u`lx9i!^neBR%!cnxX1Lt0p=A+}D*>hh@x?#3tr=|tiKeH!ia zAN=i^hQ0&vI5VmqeW~=0EU!H>)y^#~!?X_HsOT3=HZsyko3c^-6O23_tlh@)Wq2;4 z_XEG}v9gFv`ycYv3T5kWs?VOOV6OWC6@)UI<fcX_>Pg3 zrA7YfeyC{nL(vqHU>%tM9qMSjsZlH)S~HF%HP6coub;~+Zq3akswv_>`!Q^A0B0A z8Fd+MJ{}b?Xm9SK!pIX+r>n7#aaX)0{Mv_M9E^#`UXz&?xU>&mivkh?u!)M8@t&K- z*qPYX$+uU~d0WE+jd5#wC_9^z>i*gxj^_Of6p+hqu;CHqYpvV1t7;ytuSOb^o&}gV z1O~^-2r&t#%z(XHZegqr=`4uV4+-B@X?gsD?_m1VQOyi4D4YHCE_(Rby=63M#<&hR z&*FNlUJpYaZX4{8jc4Mu#S}t(VO8$MJ~u1tNm?!$68(Ocia_1HS}4kJ60m}KkkZVVh>yx0baLO6Dl z*{LLBAHvZDuJ~y_>OAqwm#IQ{1ynWSZK5P%wdR;KB#A+3+6wHi1A!;kMcfBVI>$f_ z{w%X$GZH%>SGrMgt`jKo9hFifghY|&A2K2WFRQPFpmR?JKms5z>FH$|K@4r^d`^I= zbe^-w{7)#lO*f(Mphn!6Muo`xd<(KfcUHnF2XH&lN0q79-2<|yv{{{8PSGp$vbba%}hk2?oT`F8l32fK+tyEiA2l zeU{x{XGp`kw)I4fu#1U_$yYeL3oAtjrb}j;!SHl5LiUPeva3OITbLodl}@0j3R@u)zBm{wNaN`H(&eb*Vw_ zHd*)e&^Mc%AIO|trS?(rHv_o)g$2Kg@ILzGW zPomTDDigF>U=LQ;yyi>#%mJ^4(EJN78LR1~TxmC(cch z?c7tURW=uPJ!Ir$w*9*fBAEWpE^AzO4cl?)iVV1yp-RoV`fdhSTzmUqh3)&uQk#so zj6{ZEZ5zn@cLcrq0o{DcFnT`+PDGG@D9RChzNoX2`sH#H&DXUMReok04xj$C5B{Tw$8d z)m8YIfw9|UraZ{D6@HF!8Q(Dp`P)Q8WG|e?@kgjQen~67U@DeLG&Jgt1OR4aXo>V0 zk~(rgoxG43oW$?&sXCyDlosJ2!i?G6X;f!=i`MuV(jTN6^Vm%VZ}GvNiR!yd30d8T z%YB_GO=2BC(deBWGR0kIXcGUR-EI;ZnXoTjy|{ z9c>Hf=_5YETgCk+uKtwLReLxEb*ErUyAdoqSUFzeXu&ksbG_w1fJ}&PZ-(U9wP1L3 z&RhL2RddC(^=H*T8%BawvrB<-Yyo@i;pAHIIdyW>ma3)w?}p^RE1gBE-j>hZN)Jb= z3FaXZ{ca4+rNLJ@?7o2BAGwD9lnN0W*hG}R?JlB82cw{%xCl4k`H$}lT>bb^z%9Sbjrs7`P z&iF`o&0r||<8_rurbhR9{0?@(X8a)I$J~4I_K$281+Gndl0KSTI?U;%+pFMu!6?Sz z%DBX}VRjyld*dds@{WPa>~v!wq7`VM~@m)6vWvR|<92 zbW{aku69eu-^xsH=t0AOHi}ZF99%!w&pjGtB1ng#WEfPc3KT!^{;XpjvEIz|IBLIP z$RS{~%`8}tpa49hNdF^>y+4!#6i))?^ANw=KQKJ$;GU0c5Q(wFGSk(uk|T z0DjI1_>%~4h|vB!*;%fR@WeC=Fy*7Y`x{t4I!e^?7Y?G8RCja`??0_uuw`lKM0}C$aJPdsmVujFPj9e%Zq}9#2~UlKX(JD3d8dYs6-&S zSA7G8w@nv@{gSwm6CEX)7!L5V=P-_p?68i)I3rCenL>~1HCY92$-7YQX=lEIYTbY-O11ULvEkLRRhr* zVCZ0@VirkJez*V(ni+Z89j-{RRbv4}Kez0k;1@;J7eFEzvOsdxH>_(g$1?50zsxgq zDMhHWQg$>NdLajTk=Hcf9C^F2s7z*p{6v+7)9kVfEo<;mC&|EFM6gGhS1f14k03jNk$xanjjXn5^+Abky<#a+>LG^QThPZMB1XTdz4c?wqXruqcfpqRuY z2|7KJOAWs9W~MmrNF<2cpcl%TC7DjJG!&yc$d|p8TyYTLb%F40jnsqb_W0&I1a~#E zMHE0x*tf?^=wFuFe>t8z?;Y6HwTf5>YSsmeS%=3PupXI;xw@rX&T1e{0HbOLwoQ!i z6||gdo))H}qdohHNhzsx+De@rceNO&Dj&@qYP^dL9yrthr8b*G7R4aL4GS_H!f>Rg|;@6pc1;SY)b!s@9Cc-uxHQrYl5^E(_F zsx+|-=`w5~4od=Wgn?Ly%#)X!T-}G%7zdcxS-f6kbO-!xL#6df2#s@L3yXIsM}J!+ z?Z~td#^dfs(r$3$a(!Bjf6zR4m%2v*U@<3EP56!>0{2g5oso3!Nl?R?hQcxP%dc%3 zdR#%J{<`{%dYwIzcOWDCZK8V>&uyZiQSriaaD8%&1$Vat)scEK1~Y2n+}@xD@BwS< znY#3g04PKq;|fVG=FNeN8RM~SeXuoAP-pmzzPvA6fzi`bH1G=-?_kv*_4RM%afQ>L z4=EaaS~0KZeU}TM9S005L6HymvJSLY28r$YHZihM5E~yQ70BXv$De@u1EQABXmSs! zr=3h^IZWj=!rV{p#y@x&Yk3&IWlyGZkfgtQ5ArB3Z1MPxM51C1k|C1x`*yeq5%Zup ziSeK>9m(`hQt<@@Nv{A@O`nWj4H}MOOI+*QE!U7RO+t~#x=&_#Tcnd`S@9E^n5s=I z!<99Mn`#uizz5}8t1nYq5_W6zL=6(wL=mVypa4HxKh$^^BTBx4xze=Qh151qdj}z1 zrr81W>D|-F-=QjOa|C*UGvq3;QI&9;Jf(D=w8q~7^&Abk5N2RCaRV_jZD4r-NuGr1 zaABJUnj1xW_qdolUv-?dkSAtXlVuTY-L{Ch4+=DHW4f^InZ*CZ)bEVi%jng; zbEu;CWnAn?2^O1ml030c*2R5#q}u%u1=}P1`;U5$6Zr^xi)PE3d_aSe z04F7CwRSOH&Q*P?eS$RB+zLaf=^dHaJ*|@qw{3>(?+61;-p`o?lpMV#%6xXMX$?DU z9I_$rw>YI1F!N`vK|p=dDyAVr+(}ang-Bnoaia6$rWZ`P;mmu1e8?r%8o~tT#0sjS zP3!rwrn_V6udi^XnM{uKOmAuEz5_K~2UH~h1&4jXTmmjJP*7nV#%^rhs_FN=BDoMb z@C*Tt`2>B3=D52-xb_6u`sdUbqHaz)=aaP6LFZ!)cjj}(b^S!6x{$+3p}j|HznRMo z+&}dXtBpJVG9?5`u?`}tj`ab-Z%kkig*xLQ@7pCT^shm1PD3P87N@Y(Pn&tYgX`E= zXog(Wlh4YYl_HFPBh?HPt%ufgmS>M06ISuFRXGV8XYMD%BM`c{*62H^J_bHJ&||fM zX+PVe>C7;iH`nAiq}b`daUAWvT*{B}h~hgmRB4>b$$aS@iE<+(LncSnRrYqu#myB- z4q2v+ssnMQbxcqaW;9MPEog8VGYjrCHOH^wZH5}c>_^e;eSDXai75dvh(B&}r_g#l z<3y6%ru8cM&XmzuC$XZrW*ofeuR=_Lbb1dQL$IH=cSPMfQYa0E4)4DM)?0I3xWBkJ znZZ2^@rLL%2k#gZEnLrhPb{Tl{pNP6 zZig$0vQqy=Nnep{%F(B0(fiPgLf;Eq>wx|V)b76%wb)|xUah}JFU$5ax&3<_zijE} zCy@SCAv`Lby?-!&ZI%N6Kkkyp%$P9eys2KJ{(ttP1K5L(mb8?homvD-@yaPH_rRBeB9)RHN+vw#c)2 zlM_ccLq@V1gJ2DIu3LQ>zh6b5`@?{s2UAt?oU1?_>YgSe<((&m;z+wvEP^FCous?Z z5{x6KNx`#fdHL|dIn-d#m|o-_HSfOk$ulJfI+p%YK>9KBy1;VO(Qrl zcskr)kTbpdrH*LU@-?1UJSuoj5ezZ#8u$^gR*@!LG8)8Yywq_695fFul7YwUHt8&A zL|4po4!ze&>*5{J-Xo%JM(^F53-Ggx{ZTZZY06c~5^S6G`;HP7 zV#HEowGV_gPEUG zfp{NwX(c{Z7dlUBM92K4oG(n0}C@E~d$w6|oIt~{J+a;O(dxm7^ zY>=qhy-wR0i2L}CD|+I<{Y2BlIW!_=hiEW1;EWB5$QVsxq_Mi~Z(}*rj&X;^g(m3q zC~(-wbVB9xbutKFu_JhL_dBk$zcS_J_~WL8$dqSu-*kAX^g32}Xw_%92`m-|y^159 zcK;L9k;|9*V2`G){Y2}F0Z!sl{<4KhV-qOnr9scc0QRL{0QTM&icPem(Tept`9Jo_ zJ)TqXTsgV9k;%^dzimc>Ixt0=$g>GmeHU*`yFLSJ{?G?Y-X7B6*p~VoQNOof71Fcr zbsGzJG=6KbR*&V4Inr^wm#Omu>~S}Dae#SuPl6ztX`%m)M4H(r#6n~lU;qpZCyLy_ z_seY)T-e=9HL4BMjK2o1|HwB^DRM44dijh5f89XrUTBdF%_67Y$wkT{+hw((z*Ihq zypYWuJRuZfrW!ia#+#wk*q2#?>qIl#`nwA=y4i4}f&q4k`BzL$$b?hW!cJ9~26dT& z)J^TlH4U0vN23G@w~$8fG_^;r&87NyC!?k0Y>WhqyydYixlG+h z{RMD$9j-N%^^0ZGcQpO3hh``Zl1XGRL#j9<4cvD~;rRf`EH^5s!=W*)9*WS>9CA$en`)o~y!jZDWY9DA%^d6vA_Rl37U2P0Nf#W?=Ip{+%YWP; zibq;*C+tGRoT@KO=vEdtq~(~qw4UIiht)Sp{@B;UEr1T!v8hjRUeB*qtOwH1vp~?z zeNnZ--E9sJ_F*y5D)!u;ih4$0JR**3k+>Qq?^tW+- zqN~sK0W@CBxIwK=v`PAX1 zD5-zI`xH>?0g;YnPc$T};%CY$XQbZ)50J{G@z_p)3YZY1o1a9jZCr__wDjc|#QEF+ zfh(2@N-0mhq~L7YH`Hi|o83 z>o>+l9&}B?znz9660|8H3Hdx*b7mH)mV67m-?O-6za|~lIdQP_@&!OrM7`4xd9Z5O zoLp*#3(FSPDxFPSFJ2gcC|hx$TL;X?fJ}|Y;tFAfwTmI+enL`X2!)U)YBOi%U9!X5 zs64qImN7a=Qa-+}dZ^tF+AbpCn0~cZ;`Pfi{R%|fkW-F@=iylC$Z3VG?;u+-=XCt@ zCVB1gcU5xIYUSjH#QSoe;3oZ9BZ0j`5xVabgRlviGWK?io4_EY$l+Iy4jPf~39m|Wt#;lIETEjafvQgPF;5*$#^CvWYZJk57$)ZFrf$$H!u(4e!{L zqLU^Z1&PcXsR20m*qr^UO^vM~xKEeXxRU zT}?A>lc=Z@#Ume4bUISwp#I;^F?J>iFFxyx{46gK)1j%-(f#?f6j9NegFeV-<7m{K z<<42mW={uskm9gHHhJfS*0-Z~qnc_wi$|X`F$gxt;dd-bJkSVFHUN)7;;LL~lIe}x ze3*LHiyYI#`+~mIkGlGUz!c@I=6- z`gRW#9=fb1Q9{#`S6}cVg)Wi1yF8Hvqqj=$s9JwVDxW(Nc2G?BEbCMQ#b=gC?r7VA z`#yPA7ifZZajBdx9!rgJPL7iv(t&D14@nuBFMh21Bpd942qLRI13c!p3^K+@ugF)~ z^h4r%I~Lc0ZkU{XWMTplEAE6S2rqDUg=Fv93@CblYM9(+63U*&G{fMGziMfdEw@sxW3Q2j{eFDaw>73}@=tcU(tHh_tPaZ@*`oLm{vJTex;N)Hr z^@~e9K~9~|@Z%^0&N8kt6?~hcK49{?Zpe{ta*%TyM1U7ycr`T?R;Mv&1k&XImlS!;Q0ce$jg%6u-@ zW`nu}YYnTmXLcSbI!&@$DG6IPKq&8+dOrbCupzZ?Mi>W&(CVvK z=0(UZ-2l4tvE>|2KlmJZ-Gm;tMi2wukm-s|!o0cFCKvzn4NqX`ogwwNbqsixT zl&D*mDK;=*6u1yC%dI8Se&f<4swhumDP!{p?Y{s^4PGg8o@Mg}tcW>biwKyTX4TG_ z-rF;m2NasoTmOQ(C?ILop0(G_uxiG}>#tX(n|qEk^mhgJ1Fi65V(^xW|LKXk9W|sjOm|mRA|(pM;)@azTtRHw zn!~=6(6o~_G}W{Z!D`$Y2EnSUAZO$Eisy@N!}xXuV0zJAzoO|C8GJ#!1znV)W(>anWR}i z3$FFPjfwCd`^wrJ3rLCc5CiLjvyy(T$*!^PEXtMFDfT z1PdZpRTI#erLBq0NVoKrMxcO1=RWsdLf6@R9&`+9y#}?`N_Nm%>#A$SY=tSL;f0yq zRiueF4RAKFrSIVgw|~MEghRYfHiQfe;@cT_J+@-7MvXKCCvTR3J!h?-jkI9BvjmUq zp8W|(V?zjoOqjE~tx}}Bb6iuMYuvk*jv?EXr&n%zR|EjPF>B~yWXszh63?Pt4GP}5J~~G+YTQloLM8np9KA8I2H8AM z+DH)3CRY`Z#nGe>>AJcC8=CYq7_!DcKjJyCW*ClGXC$^)N|VCr%YO)iS&zboQdx|f z!FI^%`$o#F*d#m5xt#I{u_LvC6)=wkG3Z;+4APv&HM_qqTj1AccwDq2{F&;;SaN;Z_ z{#;z*)(~t=F$Wn!c9!=C$G8ipp7Pd;DJlsu;v)V!R(jHrz9{fwzk7sMG9*39hZ*%qyC9!I}6jPTgnY?FKp{p?yC(G@>+G1@cP z`E+r_pJ;T29b0$to^&n=av9J?x!kZSGwKWfWK=w(3aikYn$JKt2973}49;Wu z5s9*VLK-}>rapIXs2bBom+|@&&YCr zM&xLyP!j+NzrJ-cz(Ry&9^Jw1urcvQb?2t^ond9{6hH*FZ1{;s{n*(j9(AHTQ+7m7 zJ6wZ|t@mND<^ql?PbSV-n!8R58^UJnA|@W$JvBTeEoKOal17B@}9=#7RB!i=L zrtUzY)(Fh*fJ$OF-&?*1hjv#a@ZP@m2J>2n2(sY8gu#>{_0R|689UjD5Sy5@n5zqG zvE7%0Kv(S#NQ1S#AZZmx(mi?#P>1A;`H{sn$<&ROwdRgr{p0aRTQIRMH0&@@K`eI? zmhtx$m!xPuNt*2X`qu%h_=&6|Gdo{URy;Q7%G}now4si3ar|5qIFM2ADq8pQ$m$SN zwrM)Dv!|)Hw0?%v*;XP9a-KJD>7uMZW+ZaA-m-OF?+qvL5XOT5o9@ZcA?KWGaM6RU z>iV|b?J@NisG)Rmlu<^Vudq|UW&2mrfova(1@&wWa!T&v?))~4Xl*Oi7co|vJj1E| z`yx$4v>2CCrfNKzeVVPiW?VTMa?AZKDzW&06zR;>3-bfS$-Ah8;^<*0N25-6+-Q|U zJMXxt8UVijU~!wrGP;#7NB1N}3!>4!>w@D?)SY2+l$Zr=&R{q?mgcB$T$LVHe_Q8u zs3&_Mku##-aG6^908ic~09+yrvYd6w(9#(pJTv5Ym9~MogGBqnb z_t1(T&XcGvb=nYP8e8ouM5&XlK9Jg}buk*ry+bk(|nhN9(5H=dFznkHjipyoaSE|6GRQI)we>6EG) z?sRbRBd}gfrDTw_@zE=nSXStzx4xHQV}C zTTIib>CrXAOfj^CH8Q+8Pq}BOA?>iC8rKZ|j|tTAI=xdwc~eB96!IrczmESRKKs#m zHE^-^q$9MtxYjcCgc)l`2D-ziJ^9y0Ou>}?s)UP1-TS;97O6bIv_yMqlP3nL>one! z;Skwt+++t;S#n-=lAF`v0E4s8d%hWbe?!x!CQjkOZpo!7GG41>h0*@C0xzc7@};tM zHzr%06_EtiLG}i9?oH*+zxzf^RYX-6hIoa7g_s5s@5LtwEDr$$+H<1z<2N>@EX$pV zj&&TA-1e!dT>AIxYr5ZI7H0e@?{xxz=Sj~rzCR9%@%SR&CVyUq3h!JEzr1BxDA^L7 zQgqAz{MMSvvUI6%c=3$N_9W5YHoP^=f~(0P=>7{V^A=0oK$RGC+-U#P`8*y-#b!`( zkfftMi41B?3ShKRNes2;`p5Una^NgIzDkZh(YQ+AcBog=Y0bl90iRjuT8EKpIH#2Q zuYje9j8aUYsiIEF+4z0kGRf2y8AE)tBuwXR+>jmobECAc^DO(#v3rU9@UP>eX!M|R zucNogFp`PKF;}q&QbQKC&bG=c+dg7kuJ*}H>s)0pVcQ?DM(>PJ1(lQ^ArxlVf3B^T z#BNBdDT!qr+dOnOvd;dv&_eRkg_h<{Hm3Nu$r>~8d7T` zr8Laf9CN#aa&TuZcudVD)((u^e@thtP<9x#OTW9G z{71yF)y>o*=`#>rzeGp)Te`%mja(Cu=iNAk$8T)P*y0o(+Q|*Dd{%kq*JkHlPm4TM z_8n_Z!rrGX9hmvu#S-;2>)@w6L+S}qKW;-3*o*={S@R8p{3q3KLlFtR(OG<)q8j*_ zwT_2i1;&ukCh;E-=^m5PB;>+`y|x<}Kp$hcJ53@QqHgvSsx)KWT?jj3)3+e|)i`!SiGbepBJ+Z@oj;Z)hgyQnvzP{jFbQLRG z>wO=5t^?B`;7R%01ajUWbnRbA3g9S6QTJ^VzrDWT@?stO4XVGb4*#H{8Li7l{LzWZ z*Jy}F%487W4ia%^&Az%7r!y-A=%?yhp z_Z4#CeLglU+x>E`IL94t2}rRhIYK?;dvKrDe0CVpKutBK3eD!f{5z9r!H(QeGbL4; z$J02`2OaaP=Ryyre^#XGLn1`J_hF%Wg7I55*xeXi!d!KZ-JvPpM1REJ#Ia!sJ=%Tp z8A~!}O~<>=rXuV0f9ZLerhoFM;QV@v_2sYLWDN2&I8TGgZ7>m>XUkk~o2G#bza}!* zBdWCOd5M3B;5pi3Ll&Bm@qlw9TjvtHHA`~8A6MWxV-Fd>T+}G{X(xv)Ce-;1qK{@^ z945|(yL2Iz%mUCrXqh>X>y%bxv0Ou=0B6|`gT!v}i%xPr@r7*f++IbL^?g;L^Y-ro zEDHeZit|kk*dRA$^l5J$j;Qw;FANc*1aQoVWJmXrdAUS;5Xym&4xv5ZbZP%smZ?x( z*DnwSzc}aK`M(=rkr$e4~c zEp^hI$)FZYY@A|uaSOm5Q@QFo*sBy0jY2Dxy7#wL_(l35Zi41bviTqAXfy5uJgiTO zs(|_v>aL=HUo6)IbKZVUoC>)ezW;O`WM6yM{k9g1ffhFTB## zTzfWda@VTBH)=F(b0p`r;HWzSMR}QMyZK=l1o*}s(*+Vf-T4!vE}!)$BJwfn0XzBE zLjH;+>6(CYD6CeboO`Ak@qj*SgL$?K#peIb2Oew$wx3_xDW4NQZ>8!@+{tnKr?ZF^9~PI!w~Qr?$;1)?Ji%W!2@Wo{&F(o3;_5DX)k zfB05bpwq5ARxsY4+?S#ozzTa{CpCtAlPc@c=z4KRpe!XoTV_judZ<0=WoI^-swY)ROP;aKEyFKq@yHzhq^ zEpCt%j4(=hu_3%UW_x?>ZS~vIMM3SF42gGmG(0iJu9*W}WorH}a zVWle{b>K97lKUWw7hbaqG(#q`6hYy9PLL$lbCj|Z8(@>+^gSS!2+AwDO#$`WZ0qxl zV_tEW1o~q(mZcCorkzW6t{c;&NzRc)z%uF|sY1Nzf+?7+;{yqC1wuQ%Se&<)?1ans zp=q)DqcV)KS5Y>aewUF~s-ASiV51zbox7sZ7r%)Wo~BMYpWTveP{Db0gQnI>_dCA9 zf4c-i?B%8;D8u-&4}R+TswlagYe%?8Fe1007wMEDmgiBGFsr&cllX8m0MB7OF8?M% z7;p+IU@Xoi3@0@G^vnN0@bHa0(4 zUzzcnK4j}Be*)_7jxrjBvuf6eF!+H-Y*t4@l%1&Jpz3{EM;aVW&bCTIZ<0e`*wfyC zi;AZYfw#RIXGM-2{*~Ma-jKpCnT8me;u|7yX9akc@sP>V=wW>&23Rz%ujDbsQv1td z${`;~E4Fqi@X~NyzZ{s_h1JtN2tj~aWPtmnGPGkT^qpqlznOQ3(m?3_H*&fM)nAyZ zX+~n%q)6lckBN$j`Sl5hb2H%xNNRm};Bqz=!y;UhXqyG@I99)MN)%JyYKVxa3~yZ? zexnS14PMux&w^hu*lj2&0hBTO$3WZ2=A zLsVmo!|vO^0!TGku!7>=y(8|WHCgr^2FGVm7aLSrG`ptqJ(}D-fh<=eP2@+KNry}4 zb2ujV=^e&fv)YCJ3|;Fy!1pAiSB9NpQ5O#rag)dRKBPnO0f_@izRb5HY?ZQp{*KNC zVmjtzeI@`NanA3OHK92A<5;a)kjIP5rwH&Sq z+7SEtCg~OP>Fpm6Cv_adE)_f+&_+R(;gH5t7+j(T_+uXwm^er{W!!h#4mfDD3#^0k z?hFm9_Dz0Rf%GB>3Sz_Hb+Xu|`$Q}3o=xw6t)sVYwX{P31^H+V&-sL6-8tdFctw*e zZ9>o>nZix}39UaOC21rkuO;E;h)XaYbp1mzl5<=p!R0v1a@QF*stn8J344nxl`b(` zUx*|<7Tp*}ucEoftbEayx5ULZDu_rfX~K<>o|y{y-UOxZQ5Kzu965-4<@b0s584~Z zB)zyJ{h{BpfOQ@j57`Y)$N=sm6tPSePE56?8>A>6w@qz8)9%|ryx{YdnxKGsYk1^n z^AJt7+oIt4br>a<U?UK;_gwW5$@7)+*Mm`a2oVuJOd-$S z;|WHYk=#!gZPhNtR~T@S(loNma&62u!($~AUBr-u4D2Hs_zgWBEq|LQ#VoCd_o?NQ2*FXMJ)Ks-!E&&hBVI0-R4A^ zW~ehZicw1=sPT_?RW&seqlKFFh=9JP@PAkf*7&y9)U8N2z=sP;00ZN%1`!n27%&Ri zktg9ARrgU88^cS4-1YQH#WS}4kowSL8~$O}G;f>W%F={C-9$nL7Djj`W3xOM%U7yt z2@&38afCSDCiwAn6!Ek3DkdVVFK1Rn?E$cUR`uBR81AUSSdEqYwlnZGAK$DY&5$8v z8alMIpRt^($j->qhX(a|syV>d8z&|s>uU>}qE6H_NlHCnikN^kwtA}DGM;=0#)IWZ&+4Mjm|A~rO4d=|x#xLbfS)cN_ks70 z!S|@=fHY24XkEwOHRw3qUslp5DlPN?&bM)%BI?MXb7R>Ory#QE=(!UFk23k-WH8+W z=?9yN1Uk?*g+-O$u|Qhl4G&^b(bW3|kE?k0{@qhmi-2JUp&&j^11C02n3MS}wC*H7 zYLdMJUxuy+EAhKpIzXDdnS&~jUYwo6b^v^Epj-yy3;+uaVm9gwF8QQPEDXVVnPnM* z8zd46pLdCf0W%_^rfJ3R`w)e+(4wl!7tQYMWp#GDbSBgibaG)2NOe{y$CnN((pXXq zV77ViL9Op{1Ol1+ZfHSrp z!w>xQ?s~uPJzj=ZiYFb4hn!s*=ow`;VTBR@jai;|DK`5|3Yp%n*@9k=^D!GfQk&u4 z3ct2VZ9W5n9UTEhZH+pkxjU4i%gGde8759}YHBc@XY>or*&eg?v3NV8@BN3!NRQxD z1O@N!j8~F;=u1a&B-V(uiLgdbB#6%4h4fwm{nj%w$ zme!7%#tGVY<2a?Ii8zk6t6M#x$plC0ep{dJ1~r6g8VtAlf8E*IIPvotkG7j>?Q@TZ zbWVZCd`=L-hHI~-ZNPXDj!h&tdbi!y;ya2M_YjX8wykgG*IJau`CmDzj`3 zCO)E5%6gvmJq^IpG`r72&`mZWd7_F1h1N4XW!o-&*Kun!2xVurDK%~0G^IX@tH*&0 zU*3e%dn`IVvO0|aYORwG0QS~VR%J+?y_2E-iO-4w>iwtSB%j6jSbb_2PjdUJHyk|s zIw{vCUA58F3@MpsY`MRs*_iAtD?1$^~nO-Kfr=${N_kB`=1gbH>l2&4L*cOKQf2j&kY%mn^Ob_E(o~CkT>IKb=TT;MfS!wt z#e0&gs#Wc0oLrk0w2I93_>O3%7PriV?X%pSgI0>?SmHh-*?K64hN=$}Z@F0@t-9X_ zdxOp6(>_ELs94It!O$pR{xI+e>|<8ixHhyZsp_W1{4=t>zdL2@+8kG(rQ2f~Voi9+ zdt{w~HkjKzV7zH;0n!xY|KLgOMPt_VCdQ^{)Py9l6PZj+dvS)VpyiBWCPzf~sulV^ z?VhluhG-Huk-c!c91}k7%kzIiQc}tct&tpc2t`~xO|M?cQwV$;zke+6ALFT?uhxCSs-$Brx!K{ z08v1$zpd3<#kd15?Jugx_8Ot<^F~VkQS1Sd$^*5?w;NYMlwduH9MavVPBCUj{A#E2 z`6%rGJxubgaTlS1^$+G|4^1b!QxYkh-F`zhhm$A^ryAk0F*{_qhtZgOM&L2*{#w`? zCi7%2U=ClUDHW0cP5s|~T7HS(a=6^UryHYrE2t`DQrX#drvENgctZ9tiHQ$uPM09G zpdzjC%P1(`mvlSgIo)WX#O8bK?gg1C)%ddoNji6$DQLyS5jDr}t>QL#w{JyM8TYb& zMAR31iIv?d^smibXc;DN%MFR(_+j^j-O!D&eGGEu*-9fej4ZzI6n@~WHnzpjV0!-w zEs^gap2hjqeUVoy1Auf<|CZl)4Xm!!2U9=6`WIe;ul}kg!E;>6e zD$cQFmkbJ3=d!2>o} ztme0)L~God-lt%(@DM#k+G!LcEFQwUA&s~Wf%KM$V-*o&G4R)3DBH6FL6C)MnELGggVtk8&CsR3}wxi zs`G<8h8r5iPtSmT49Sd;*7iQZV&$=x9*wg0rha^Q(-lf$pYK7c@C8kz>^55}ZTnW; zzcP;W+Wf+eBV8a1y@Ej$QSA|tvLTcD2w_W7$vuqy!X)Vi@bqR7g}Y>m5(SOP-Q58Y z|5)r_;me(7%+Huwk7)-g-R}OSunFFsdl*kzAi{loKv*Q*1tbR?34|dzg)-J+IEh0R zt8Y3@3Z#ErXfjb^#V@#Cc*DwIpZ+D%+~9NJduGD`=KObqljv)kXHHN8;6sd04z0a7 z5#T4F9#J2LG!yRX7OkcM!>n++@4E8Xv^WApVlHMMH22ZL8-~qX*UPJw-Pyq~gd;Md zMDb0Y9NIW0Q+^SUEtiqqqO?X)YJ86ydWUWz85IZ%Z!5KTm{878{Rv66b=5Q^K2Fp= z$MOIu;H8HkBV@A=V5s1S7!Iq8r^Q2IZ+s84so&05M?HlhhFe@?y|6xv+)#vYaTiRu zmqW-m%FxBVSS7?rAyWslnc+{<=!7|D0HO!YBHf{ zt}k2KFPuMjZ~+)=!XypO$fN;T$d>mYW9Rpo4BA-#oBEp6Jl;L#do2A0G3luAu&N>1 zS!YGj4HGY})iwRe=yEbg*=6B^CRhCq>mX4?I9AxE4uLV65Sk;?clr$L`ozx*s%#~2 z{4P-fyL=EbHLIiB`zbDY-a^CRG-?c*v+*@f3q;qke?}y@S8A%78HHP`@`2s9xDqz{ ze&1e@k^gA>Hh`*QUmZueLSq{kr@c^JZZB{K!q|m_i8nyYceuU@5G}e;GxIDsMA;M# zW?#<7_&bHIW>iJvUX4sMqxaFJptgM#8BjzLgGxIi9e6{K_``v2V)p(Qi?d3aZvec2jj4 z#UXIy8{nX$Oc4?P`3AosMhfrIkeDf+GY;S9E45ak^*Xt;5kU<&C!3mk+1vtFv}UI# zVkCU}98I;wSpIUB*J-f-klnjp9DIkzr`48ZQEe)y0iQ3eRHd1m!n;5B=iKhXZKf zB^)&;@4sg(r*-$qb&KgNHk>Cxm2NFz_HeLnS%_JA2}_@wXozAl8euO3j83P| zp&3~?)s}V6Y8CFL8`{bQa31^O%e-BA^bL@AMbx`>5fM=%-}j-v32Z4b;~MFsFA!ZA zg<@J_YbO6FiLJYDJjst%DeX)E>&tBX8<84}jZ(T!WpUgl7=hiYZoLAj)6~0catpd) zJpfUX{RNTU4Cx7R9i5FAGV~QrZ`wsfEa+f;hkFUZ00$zrQ@ii+{UFbD2c~_Yk4>Wb z=r%Q9djN`x7vJ0~j9$`j67-1DGv10R{G=jQ!}^^)M|ZY&RWnm!fO>?R<8AbHbUr}! z?G*YP(bE}hITcCh`Y!e-w*JOcOJg=^Hd{zG#KZSxMwWubRYo%mo(x==$rtnhTavk)aL?4B|4bJH@3Iqt{2B0rhe_!>zu{qE_& zTuEj^5s|D{w7y26m74frzQxY8=mxuuti?ZbzYive@i`eaB~AfE>hT*CG5YRL^cha- z;V^aP_BJwo0roINX$~oie47qt1e0O(zNrzsGqjduuhIuG=n)rLi z_4}TGqOcTJZ5MkrBLf^Ck`3BFAkO2@8`mYN*DsFW1+cltaM-p2?? zt<_<-EcH^Izb3RjCK@Tj7RhIfU*i-y@m`q6xm=fj9GupJAv4Dxikr_&$dsI$E2{&t zo6IZOge_*dRk+ZiV;+7J++J3>iEjJykrRuu@=gVfvYV2vgv=nW$H!!Ww485y*#9WPzm z8GBS%cXa5T_=h-?Zzd}an-+~q^FQD?=Ox+xWGkKr`w~8`Z^Qi;*i5z~jNH$_;Kh^V z3aK9>2#7nYh0Vo|bfQZhOx?IQKn>YizvzoQe7*+tAiF)Npk4<5VA`49XxR$svTI4A zAVSD+-auCN7zLV+_IQzvEvB3C?D*183|2vc%;=)(f&GjTuTXl=BLbrGNScahDZ3qK z*}epXKcVPcqAU6!bV3J-lu8Aty*)9y7^q2OM3mHlzt|mr!_o!c>4$vV=8-|cL9t-u zTDHP&$6VP-+=m+14cogAL*)G-d>aW`y4>aMGL>PAa$;v69&K8|ai~xCfd7cF;pimV zE*})Ir(`K+&I-6K*db)ijcLk@-_I3M=?91`t+Tk9ATeTDs0P?~7Jn0_!+n*;4Of@y z&X6jiCq%nu#A$5q@a*D2zQ}QYgHq#jyvR#aqn&QR-3~TuCcCGL^?pQq*UT9?6&hUR z-m%d*5c5Cx*YZO?GX4CB*aC>8tv6kVtrh}uU`H+w=s#+o1)uq#5kG=s(*G_%S94-3|>NY_k(F&Db~0ksctvld*UnbC({}3$3LG zb#|N?RK)m57Ei{hRk_ExYG;9IWi%HFF4b%j^tcEtV-(pk>OkKDr8O?4^F<5l8;y?A zNwPj>em>x+2|c|DiD(>vO$uKZfaAb(#7>5`sLNQb9SwukmyP8WNU!N(Au=_n=wc4# zr!3d96bJZwTdEL=t8U7a6@Z1o4^ojw!l(-{Nla-s}S(48CVcZe5dpr@RuBvSkh ztH~%&M(e`@Juyl=e;vs`0+p6%=fq)u6w$YUqFRNE1RPPZmfJ8@IVb-&IdQM6TFU4z* zh2k}@ebABcFfs#X%)Q6S4|fshK(;TGcI%1C>wIZr_}-_q0i&u-ElDG=X$k!O@bEooBsrLDk!GXn2Val zN?|f=o0gTk!nT`ik6p56--W2EUU-1GzpD;9t=}mtQFJU)UZpLKHO*b`o6e)$={3d-MTc16R#mBg4e`BEk&ktoM9s;dZ_ zfO_Q(n84X4?$7;6oIt&YI*Rx-uRGN%nB0Te`c7*mO~lnm=iuCH%7A6}HX7Uo7^-`| z5ls)KJ|p2Y)VjT7;zH&_{^j(;Vn8>uA7`e~s9KIqLs0?Zn=pxIm8lcujx%n;F1EyI zc$tDPI?6CN%G*#%LF_#UA?wh2gmH9L$ACIHIFV+*+LM2>XPqo=u+U)=2jl-TPE69L z8~W<~KtuO4S!&+PvL4&(Y*V3W#*oD~L{q}GW#Jp{*6ntXowqg2J+L7(@4>ja7Xut{ zrW^C7yMEni_+No0S47(NW(bFy&~N^)#aTvGZEXFdB|H#&aip{RcYolJyNe^X_Y-Py z*9fG(4itMhhr&tSB;-u~1tcgTY0@L5yjWc1te|gLi*svN2Ko<^iD3?)b>u6#w?}je zaFP=ln!K0C#JM+~4(Z-dk9T|!($CZMZkHszq5Ab38aLyBa8qBqLxs~bBAi3=`IZ^! z!4gRa$|B&>vR#qVC!Ho`G^-G`&Z|_bG~KW=FAOe=0&`+PcQ2Al%QW-Ob_FUaY_8#fAm8XRgzzv9 zHk07RjOq_E!27U6k%+Aphvlzb7y9`nf&B@)5f#$Su?CNnTpp3p&>qP>>cUI(Q8Oj* z4&wo5ph5AzM;c31wp;u=gU9j=>qS1d?V6S4S4%0MrY*jyc=0J7vraj(wbrVW zsxiYeMP4>0KeWdlP*o?Nb02o#>os&tinP{HC>$emq};60`an&dw}_hr!0rL}Dd``R z{QB$I&VT0ImI&~J!jyOf; zWt!3PceCaqcMZc(lqCMjxY^Wk-;2A_aF%fG=x0D@Ki7<X3$ zmSp>vJ`c?|5GW ziPt+sZyGyVW;F0gCKPt}JR?e~UBxX#iy+xRsO!??A+^xw9S@*ggL&pdS};pe7Z_O@ z&Y5GYcfl)j`en_1qtZ+3^g`ar)FukivNm6f%QtEK#9Fjo8p`PG2#16zEIvEoJB7%r zS=|+lTx~M6Le18*b>xZtLb4_;o-<0_V}viHhWopS*J@q~!s@y>K%D7y5}|#@qlsd? z>HaP3#l9{G!XG|G}cxlz2DeyWv-+c61S zfc4;$a7WGtkRyIpHDx?Bo^FZ&=25qPGHXQ24U;)Q7R0yb&v;sohv!W;I^qkqE0Gp& z$}AuSw+Szb7>C)k6wcZt)6}x8UB-tV&lEgTc^y~fn`V>6Eljf!V}T9jJQeJXm+`=$ ztS*CSx+9-4*dj=lEcawuT>js$OKcYXe2t}L7#IioEB6k$3Q5yA$zO`g-@%O?pYFZ) zK*@%YY8^FGqzR0YCrk!p|GBLbavF(-7Xj06Y(2O>`(TV<2>Yl)P`GgkQ^uXfzU<=Z zlL8Gb(K3ldQiI?ae^|B#Eca$maz!NtkK9>?6noSB0}7$P#gEKaC)O;jm%A=*LS}Wm zhnPA8x|G!&55UAT6jdLP3qf|QW?7nGv=19?WolNdX3todz&id5pE#zC1IyDGS2*&# zfHMCzsQ*Tz*Cmo6tDkWTONPo}8yhAEg9?Thuq_gIAi1VIi&r_Q%DV)INxqDYyT<_q zK)m=Y-$Pb7g^KpdYnXt8(2H-f9haRr$~+L%#vB$wpVbGA3G0(d2{rNv*tk)6FjZP# zXF`gpUt*nPn95|&`z6aZ7wE{c5gng5dqa?fHY(F$cKskq4@STykO8#fd{J4uqSAIO z*FKJ?x3HPVIoE<+?|tGJRybp;brF~-Yuq?CFz2pm*+}X;@Q?M)%=3z=zr3wK(zr65 zcgPPsvI~b$Rn2d&Xv#RdQf1}SfzMyG14NGe%Ow&P5=#vdGRv-MGP3EHm zxh-(T%aW`|qJ#+Z5LlXxrMYvWOfQy$k*WWex*4MBuY&dH)&CH7yQ($&NO}o(GRoS50Na0 zf+IcxX-g(PDln&$91_Mtj{W%H3Zb3NcQ{2shaS^8Y=1M$@>x_9R8};P+Z)|Sf$i!I zMLCSJZ%OXjlQFq>p+JVxhso$`-r;g9I7tA{+TH(9Omu@}pc%fHLgi0L{e`I$hT-Ij zd-10ru9(g+I=xEb0}EYQzfE=p(55g%ww*X4jJ6!>ayZ2_BA;O$x;A+5*m__QIuv0< zD{|!pIgGCcZC4RdcN~tW zn9~i?^i~&Oy#3FUeM-VCZ(1VOc|+Vc;}1S9VmTAbrGj0aWger}m>hx*zjZ*g>NBH(jl=EJp$4eKk&Qbd>jplBP@8X@-ofJfjU{@;(VLyE{2}>X z_Ir02_Yl}aPCy;1VW^BlaJ6Ug(SmK8Ty79rUnZxQTvd~OtLaU`S9N>QF8jvS&rcsv zquDzaeJVWepnN`k=SeC)+i+8Ntc!aB z>y7blQ61*R-I*)NGt4xG4=hOD?ueTwmPI*4RDt1L?y~lOLIa(vw|H>`wuy-R>0rp} z-*Gfss6ZtX*@`p*E^9S4k3G@H8w2MVS?-@%=ZL2%bAI$~oXtx953T4jQgs1%YYc>_ zJrE)@*=N?_>#QrCq?Y-DxyN_<8UlCDAxhl_#AD=ZUL-Vz+j5uC$g|i22Y__675CI` zlV;(a9CnT;UF(lg%N2)c&l#p6UvuKsXtwertwuL>I8c29h7G6ob{0p^a)Og0t?EOD3}DY%odY|`^h)mQ z!RRC33#`{=r7OI(=>E7J?xF-%E3$i1-#+6JYQ+F5me*Q{5F89MDW$FKB zzj_7N+b}T?H_)vHGtMdz{gAK>a5Z?=;m0glx?xt}(o7xUF>w!(`1;45MKSeqdhg}* z?$!>}9N2P>4uWDjPck!AyH;yfPq`i0+$f%-^yut(L*9Ewm@1-E-#r9G6u#nk8Eha) z)@IVXV{En_#(pc(!r5)EfCm8kjd3z7+5511IO74D?edwUs@)DP!$r&j{C!a(5V|QO z&8eKFge^;iG0!G%yC3q?8)j!<^3X51xrp0ZO_=2wN?+LR#~;&efXZKL@n01lczAu($Sol7&-Ykn|2(Jj7jq(y1WK){0#!I-O#ECbR608y!clpA?xDG9$gph*j^{X3aW!B4+!G$yv$vfd06~oCg|Vv&)enM^o`x0)4qw= zIT8aBxK~7#kSKE|cmKKx5a4 z_+WOF784cQWq$p_*s3=jDIdM6j^kwho`f@lP)-pmY<(X|NBYEL-a;+o72PTOsKE^U z>~dT%gzhtguBi`Sy(U~BvhytSEnea;3(d^HYElRo?l?zD>7p&Jf5A|p?u z(I)LDYB6dfS_pX4jIpQ)h7$`fGx=yJJbugCN=EZ>T%l>0bdR4wb%4w%2uO31QpwWy zxD#6ZF97a_gw3wT{=TL6gBNroX`x#glIB1Vc8qnNQFMeblte(KJDIz58MTdl;8M=` z9rE|5|D6JVQ&@h*Oh1xw1z~eJ6$7O{XX&O4ZEnUUNSh*V&HasLqR1qwk;O`6{Ii+E zMS>5XTy-f)7{E-#o0uq5RnmkJnx=bbL!Hyn2H|HLv1d?yxp*pfr)~arWIhZRYM_|J zUz~*45SDd!#_g0{@-S#)C^D7gJ0*I3GfcZ;>irw+M7VQpB9*EHpIW9Ymaxmi6=79f zuZe9)T;HQ#uP3;T)2b6hwcfOSD)fcYpAvHslza?H#ZfO`$q#(F&oLE224T$n_Ab>q z3e7GoJv!wBWsCB9rx8PMvf(D4a*;dF8)b!c0w~7Q#zRbc<3TxP|5HV{92z#YTTSk> zEe@Ew;SA6a*QjrHAm6xDONyKb0NYTyD9=IbdTS0%!!4U%js3ALiu6eAv^ip;{$AL8N%(bblzOZu23Y? zQeY-RTR+!nzSmIUa&Hn1$+pR{6GVDcSGF;OpFb!B^$@Ioa6RSt_^v9Zh_pQ`q9qoz z1ndJ~M7=reHZFChpJt>X<8W)Gk+Zd$oAZ2{f)%?{*P-|c=1?#~fN&qRD5<~RRPY8) zR!h;__YnT5_@f8Bxm6O6lz*>XTY}U)zz3w8Qf(M0CnyKvJR?&XQr5m?MBd8?zOo}) z=L;X}P*+oBb`1p6WtjvrGq7LeYUEs9>^X_6{@Ri#s#8(*R1Jq>a1cw;w$AjmS;ml! zZWKuLLsMI@of6#metRciM5C$Vsmu8PtyIJO{OF$`vi9yC9(a@S0Dtn`HyBja9lTEUe zz^sB!5{xlo{((*SXpw&6=!g4=@+&?oz)jKLs>0hq+eWqqId?TV-6wp*0Q0`fi*ykf z9i@v{&@HbA&MWU~TZT+3`XEPgzt?9}*AY^#UIhqrPM7o(4Hl$xy&EsE;a9p&I~nke z?(g)$WhgJEw2b`zJ}EptqtZIIq%J|NxzAXj@Y^lNB<@ZkNak(S5KhAgW#q*e3`JXN^I{)hD>Uh8?T8)T09IL09(M`eTSwdg+`*C0ao=oq z|BOt|h^6xtEA~G_!V|tCprK(hF23;hQ1f9MA2kj&2;t4xw@|oN@6W)M{6q1hsUz)2 zTDdxY^yDR8*zMWoQ4#>|10Qu74N^4(H%bfH6vsat(`9I&HBOWrgJ(QFFG5u00L2Gp z^F1aLaX?*sT2DLPp^Ygo>7B7a+krxlZlQuG@_V-=>3zRo3l!1WUl*C0y2r-3`s9r$ zDb%Csy<;P~7M#-F^2W zoxa^A+CG3P);hVcfGQ-xS~li@FV=@AX&-;E%5oljdFP>3-w@j1rxajb2=|D_zHnA4Jt~aCfX729(Zah zr!x7?ZV3Fv54g7>@e1R;8HP(BYy&_(W743nh_}d~a>KI?Pg^g9gv<1x zRex+Xn++oC{nIfbp!nYa`rHhs1W%*y2g9*Yb(&WZBeAGP$`^%r^mMQmM_EWDHwwDa zc5%RYkgO4#tKXnb93Q;FMhU6InDz4zy`$S7ltQgB; zegP5}_FTzZ*oJ2FPb})Di^^$eM>Z)}ZZ@r&2Ef!kHfocq@Qv9!G4nHh`gm#ERDbA1 z|9V4Sq4ewnK@q#GX(5up)5iDG%smcUB(tL|SZPc$rx~cjYN{v|kB&U*P3WtO)h9mz zseJ9mhv;gK&R7uLd&srHs5v&5g4Fz@*;;Xhlrv4JsmU89LfO`;18Dr===SL;tct43b~W zhBsr?MtcOsW$?;s_xYVF926gHi+^fE?Td9_EY6>O2GwgasERm`IUyTCdp2N(r)J!_ zSRKtOIgj0MW&1FOE^H=-O@##Z;#VA}+(Kb4cV!>Z6q&agrHhS#g4lV8CCxhL`dJWB%PNDrnLKe8)*A(IGTDvt)iuq0L z^?gm#hygd~n8Hy_3jK|&=jiyKfz|$iR6he9a}AozB<4$ji2?=C?0uofmDeU^dTQt5 z>eF$YIq~jO#Exxy1;Q&BefpiDNb(wR7R+3>Wp(vD6?UU2so+D`>FdJL#HwZi`i3u~ zX!tM5um_@A3}PahtZg@4k9gL?qM7uiGDn({Nx|&N!~-*Y_VsdC>)l{?VgF9xxR2T! zqg3&1{mD=@!{4!W52KU_&{ne>gVUjGy7N}=gN(`cgjSB85meUghe$FnFaB0nAR+;l zO06rg*3-(9f|hNhz3tMBI6Dm04X+@NMgBC~{B)m@ z^~Ou|#K^0Y0W~vej9jdeXjJ2EGOdMm{4O>kCm7mbj_2q~_(jyj ztTEj9tMP}Jb~{c_ZRoAoP@BlMQ&xUjHlH*bwrGfY}=kj#Lb$&qDW-?fJnl%VGYmZA^_W3eSElrf&z zR;J%$f8SV}IJR#G$~+wz4&7puyaRE3OAyacN`GOnUj!G9OY69}iGO5)ZLSuiKwtty zjASZmJU5DgO$v>PFP`GSh|oB$-~>A)4z?*(|3uc`oN_d^nSD_5VlA%s)ewWY-Q?DC z%S&%`wUb;yTGu|1xDVbAUt@g*Fes9$Ypin=xgp1TMOr+QdqT8d%V}noA1G3j{~xsm zQ+z+vK=ceC7DaRhMf0|&S46!eqr}UIPVBD5CVtmlmPQT{_ss0Gis+`J)`3cem&iCp zm_IFfQgsBUKdRqnJiQ>3IU@IjZC49<`5HZIHgIQUL?U4e+<$b(;x3w-`zl7_gKqK0 zKpd6v-Fr4v82!i`f1FCJFVffhsN$Ir>2ZxJ-W%3JHZ+0}3!42MJxNe`?MFvx8L5;p#8u%OJ;b=4 zK1jd=h&5TJ!~n>INN^pS^!T|M#(abU--L*J#?yDIot3Ccd|>B_q^pw?ZyUVT34+JI z-G~9q>%2fZrF}TTr%PI1Nq`Ecw_eZ^#Siu;sS1Q8@?e)}(p0)Oz_+qR7Jm04I=<$` zbcP@#nfG}aM+9F8OC*yNcA#MwEn(O;NyZP9EgGW{6o;u($r%>Q9y z6^Y}$ccXjUbE)H6cV^EOszBuR3!DFk&m^hzreF4J?VKmij56YMxkL(WIuz{@C1`3` z-^Nv@(EZ9(zXf)kA*JXfQxjvf$a2a$(I_>}Wl&pXL9>~$1Xj&)I*RG1W5wsC#|An8 zYqFO~xB`+dKsh>gqfIUV5e|dFY;3LQ5FYlU6~7rD(a;1grp$L9ID;D}hdIOICDl(z zDxZZG!*Un?=wOe-ZG|9iTb6_7Fgc;7K>JDV6)ZzO!+Ofmz%+iNfLZGMr(Y2;)2D_T zA|{o&`cl0ifiYT7bsyfmHU=6-K4AB}OuXz2AaeM|ZM!7fesdy`bga!$a8Kt7JdbPn zdQuFr$tX8V3T0iSEsgLka!`~QYy1Z-Ur_ovC)`2FVj+x;7>+T#uvb)44@xU1F%Wgr z*jV$^H93oMl0IlBM{{Y0gkWjQq@yl8{4r*Bz!^;O1Xq>#XVZ%`gCgoPAW;yr)SACP z8ymL8rH|rFm&3TskRpy*vm=4eGr%5A%VOgfvf=W+UGBm3$Ac@0q@?W?;nzpz0>ZbFWi8D}US)KBQF^d}qS2AK6!@EXkJvGx`Zcwf$NC zUR)5_PDD6PKw&6dCOXh3#T^k}KpS=?QGmqrh-YAny@G>6M$YuHW~OH90FMo2p_q4aKScdX)fC?x7@*fg^%bK)$n z+5EcUaK;I;Hms-!A1w;Z|HUPNI$P2fFOj|ZD9+dPL{PcMB$1DJc@w-(62&)Tym5fW zD1)rInCJY?-u2x5COW0NaX(}zmCK+jJ_G6b`#iwMk-A(*S6eSPfJ2I=BdBkY0a%-7 zy@7d|F&)ljhbhW%ODrz5m-#Ppc{|($RdfIFNZvC4a}Q6dT;MH+$*iaRPTlRB0mbgh zr5l1ZlWh^{8!z-Py=0T~*2^kfA&Dwl*RN*YBq&xuo2@n{N7UX2ELC}CFx>Z53S^$N zd5s3?00wdzIQ}P`L*ZyP&3wmBP!gj!PU67TMz)Clf6X@R)y~sqWSQRWz9)p`p1uKQ zdGTw!idHEit)eO%M1(fYVgQS5hvG@!)GfanV4%Yog&?aZNM%y(>bpZGkFPSPie>Au zluIQqvepF(t-xH_#VUsx8`MLji*G1o@czP=K9#c;3*=iV4hct^~EY#TDy{ zG{^+6BR}LObAz!>t3~R_qd-P57&Y%#Si6GSdr+(q@tihw5V^;im}LCqeNqN*D4JR$ zLf%+rk&g{-*AVfIq_@1yL=?%{BZ(6U?U@LK&u%O*pB zueCT;s=)u4_v8sNx1W_A5%qY!xjOE|ftvs#L+xka=qf>QUzxWg;LWJ3fjYAM921nj zvzt8UPVw1ZPf(VOM(rkvfGlm3+u7nSTXRmz;8B3ATutB6UVH*(Gc z`Q1Lrm~&W;Htq6+jY-=`R7HuyGXO*CZTm;Xfr(A+k4H0VR7=JjflbU}$>WQ>Yc9QH z=4)(R*fI>%ohT{>9o#?{rMKOxLeWN{raqsp?#kLr=-bEXDxn!5SzRwy)2ys8&*?x; zQTpG_@4mC;e_N|6o}Q247_KaoCsS2Gc1x{3y-e(^^5HHU(Y{YoY#A$od+t)H)tXJN zG8684oNts+MRfFtA{j%uwp1$tvx%3w3Gw><@ESu*_cO%}%Q=Ujh*$xB-#)l%2X*~K z(m(No?++HGu^^zP##b6o;@a6FdqO3S>%0k-OY>%+zy2gdIZZ}o#_MwRQn&mETV7$Q zIjpG$@!Q$H{&|Og0snnX}IrS%!GDs3n?k9w8w^iKGI>d$ktwdB<`uuax z%Z%QPO)hpQW43`$66Aj~;Vq`rX_Bg7Ouf&fuDB1;*S_Z;;5<#)$+R#m%stJ#A%o6zxUzDq}q$C1^H-e6d{;%UdJ%x8IB|u5u=0PV-N;uh8SA~ z;=poRaTYf|H_@2b?u_xQ5@5@=jLGW(x$jjfb_1Gvrik~IM(p1OnP(^t^Z|$rhs|{t$!--7>3)CuD}qIqsF6LC^Kv{ zE`BM5yREs5#%*#<`Llcb(}y0rDa8DQrTZ*zf6}^+BW*)Gpz`PGx|d)e7CV(4xncNR zW`s1XqtZt|ZOJ1YWYT^V*{`!th18oeF%9LUI#y<-$o0vLnUfm&aSMZ;85`8N*tg|| zOS49$Z3AtW;} zyB}1+7vJ*&#w%`|KrM{-=U|MSFgSdL9Y>vU|C?5ZLOT0{>4WYQ!rK@-7X*zbmvQk! zjk@?jh6yah7~=7JBm;ozJa4w7-07Wa%Wr5-Ldw#_k5Bs#g2icUo`mB}24y^&A?Wn+ z3FWclj5J-vBE9F%Y$d7#fGgrt_6IiQ{&z&VLdyLMBTF|)Di8Qy_j4QARCz6A^95`G zOAc3j#0}NRPR#M(Yz#yb5UBSpM~|kzv*QnSi!>Q9vHy)veg7`E5C8)s;Vy(ph{e@ckzjapqSp08(lMJOw#(!X_bbvK^7Ni6gc(dYY8FHZKlm={1xQV|;3OB*6- zHeNA**PQr%iQ9q!=H|n8X{f|wMw6jlU zMuQRLGz9RF;$(IxN`-9*tdP~`jzWW!7Z#UJ`aANJoWHK4X{{x-bMTV%UchjN&2}qy4h=;th ziAE^>i?Pv;k~(tdHc<~ZL_ghMckf=5hFxKe2>W;JI(NDBy{Wt^B;99qQ{iy{io9Q3 zS|$4L(8>mM`>2-KWFTkC7~q4Kv0kajjk$a_X*Ft)<5jq$2h^XDD2T`pnV25b%gIC{ z@@>4M@#{zO6j9{XFl9fq+Hxm#u>Ch}MUTb%``4k~`olT?^lE%y4{(V|&aH)nYuPa< zB`BUkw2H1j^)YSK%0hpbiFIY|IGS$MrSNrrmBCj$eONE*Au2lVV)?;>Vwngrah|bk zbV#1Y9}{RAxk|58G00tvdJ`v_J>1*K>O}Bt*HBOFLkOZ{4~HP&G{gExWhI-uQIsAC zCz~~GJjn>gP~ME@j$sz@*^!`HZ8-CcM|QEbrN1Mp<~Bi@Ry5K*MK_VHhjIt=&th&J zD37AVIR-T-AuO(%72P2xW3b^L@kB?jc*Hy8@|_$r*qvHVVoSAno!=x>WZTmH09I_( zLg$B%2X-KpZB70&oYKRIBKlz1F?oJgK-!KNVA4k|H`*4klnpoV%kz+t9oK#u$o2yH zZjzZmcGL9?pE30jwOEH33!W3^6fJ{ff)sJ68I0|d4;R2tBh+RMx`)0ez-7#i2IFeu z;Jxx76;YoIi+w0#WdkmEi-34=rgq0pZrOaEUAw)7qe>y=Wg~r|!Eku)`j9pM;SsN> z`pIToP5BeAe4tKQ=fpuCocOd$=h{Gw+8sMNQ)((eRBR$t>M!Hif8tJF?` zJWcAi0=qw5U*U8IHEL<8DZ!ShSKpa9o?}Z%N1{K*f3Mv z*xV7y%(9`Md7FGD%{T@V23dl2H{`2ten`=d7&bUv+W8rBW@ zUApL7ek22gvHgquYt8uNCkT!2Hu7>b!zc2)J*l5K8*ui0ki(U>V6{GePyN;#!jIp~ zoQ1SAuu=mBY~N(o6#tE-a0Ml_QWfuzAg1*knyL?8RMd2nb5>&);?52qbs?*%LeLem zS-8>pk!!Z!_4gG|hbnD-B+c&6@EL{T>2L&J2jT6RnkmnkZ%Bgp{iLMNpnlZj=2x^bm_Cxv~Cghk^iH)4i0`5&wc845SJKs6pI~@T# z(Wt_2Yh?__$(zS_G>@h$9wfdc!&52x$|0tND0lSK-V)JPV1aE=r6fk~_M*Fc1=cH8 zu@EI`=y^^(C+mefQCFspNpgxWk5s_Q6 zI;cb2G51>n&s5DUyzUzC87GU?aWh3eT11mP%N_=)#| z9tV~(Rh->Of>HOSbwYx!$N=_ZjJD+{GQsyV@om3O$KPOdU+mwS*`$=<@5i%u3KSKy z>5t=qyf}18E?6TaLk+eMn^|2nPVKklx?-vNpsxJ>6rh2-V$_sP4CZO35yvyxIDoXA z%+{Vl8D`tCW7)c*-tV05il_A#wM7efJ`kirtgOCAK@P{q#)Tb8_QiXa)r#v26a=4) zE1gAy9EZ*W;xpL#2Tq-gO`Z{`Ilje(;DqM2E21IeVoqCeo27?97^}QIfJE`9kj?w` z_q>AH`_no8@Eng{1SI^o-9lDJyZUcw$Ha#(9ANW8+CO;{?Oydp+=JFWv(^ zpe$Xb+L?#v=GCuUS&QG>)Ead$0yecqos(Fmt*)yZ1?;4w$(gN^%>J76#T(0Z>JdI%*>bR_1@$SZ%W|Jmii5u6X*5A;uv~&*Bj6Xm;XRkJ~^%fU!HNq?Az;gKlx^ zBVa!FfJRH(#z+rhZ z<>bW>cI>X>mob6hXEuv73pCha&dRB&QNPz`!WlTGm9mGMaHvv7Kideno=EmeMenfoE`OBMSBN;XO$hf5m zls8X+=y=~$udcXG-R)uG8`ZcwY)L%S7gLlQ>trjmAt66t zmyd`dj}Xzhevx}dPl-~D=j#^bx&^!dsQ_-GT{BpcMDiRzLK|2nvGo1mUpCB7vvIj8?)8ZxS>&N$TRR;Km!oke=&(Wd_M$s6i@FYS)Wd@er$jpQxe&R4#yE3 z8{^Tjve_A>9o2I*N)W@~h(hB>z3~dBSI_5$@*B&e^&aWa#BB6(>zEZL5x}BcJWQ+& zu!ON8GkYKRnJpq_kBXA?yI2x`hSck4NQD$$?vh-XOWlWZ%W^foTZabvWEfzfN$faW zCK^#RF2s;T!)0`Kfjd5G^O4wbJ!*^rzrKweI{ zd>eNr%iipK5fHe7>a%4r38n4g2bQeAB-c#f3NMT4fYJyVDG-OYb$QmxyKkfQiT%Q& zu5b=cO%sc-$cp$d?HSEfTwNUykS*SbZk<={J1NWJ;kUsT>N>wTAHJyjUcm^c5hVn! z+VOWr_i{vqpcknPy-vQr6s2Js-hhlngxADDneL=}fPv@mFDk2tajyL(6+Vo}_HkgoKj{yJ z#9JsqPDvBeVv~C3DDqTRO`1@Y?&=>a~B1x$eN8U?8O%x zs=gXAw_n}AE0We<*YQU+%s*^hD{?v|PLvHwnyBmEhY{iW`1MggchFVYNQ~1YV`oM1 zG9~Om9STYXb9@pe+e=M(OpHMqpy-juj6i;~KAQc=Sv@|^AxL+Mbvee-QD~IKKFw!9 zLZ>%z24VA$w2X~?a|W7fb9+H-bh7VD%AOy{YsP!72c`z?-=Dl>ui^v!1H}Q4?H*Tv zsY6q7H4%(N#{mf4$lTC?<2AS8bI+D^Vn&r+U>z&p*%{4Pke|SGs6`_DvEj@}ZH>ny zaHzY@$CrYxa&{Dd1#jPsqQV}1+%Qpyx5bPvJe)%|b_%DUK8=f%ksKNb8NT)lZcf2` zh*q%;zd+iCCZz9fuiR z#vL;+*qQ`}MkSkNmpy2wr#LvafZO8TFF#NWKpfX@s99HB8ObW|xH zdz}K&VX>ie!FI`lov&85lfsb8| zrU$k}F6dJE>q_wZ-#1GNN$CA1J|P`~VUHMSIa!%`m`^7)r~jfaiLYtb%vhxFTzmHPC03Rft)of(czGp`K1t-P|HPO6Tg@rV-F~+XFtMQ5oOF z90Y7O`6XiGxFj>%qsC$4F;tS+axOO(lsV=$DMH6x;=YpXvq3}r&X*O8U^LNY|LsVM zxY8@v`ZACM(rv4=V?FP(A4|le&iJH_<}Su18Y)H z7%NlBjM~XSo;TDb;s(FJY@GQP*9XmV0Jv|dgZ)-|@z?!^q7#$LUp+LNbHr4WaK%>d zQ8&WT2u`^v5zB)pZX+FNq`d!OY!PYBSdJ0=Hla(zj6c`*B5-qsmHW}@E5HLW^l4?1 zqVsijcjcP8k46(w-9+Y6XFA@s^0{YsZUOg67@v>t7_&zIwE8;DO<*7l?F zJ~I>Y_3GDghJwBax(l&7MEz@!zoe+mh>5b;p^4s?7HFuLr!7UneERK2y|K=EcPC&#_cY$5+`GOkycAJy!bBJRWxo~*o;xvb zh#qBI+eS%`$mVS@!A%;^YlvJ6oU?q}!3b)?&^|*^{a%=G6sZ(_1>l*}$>I54O&?4+ z+9be~*_al$rO%Mi<14WF@ZKmE%=#C5>HT#z&?8csE?33uWCd_&aqHOehzp=BUUwYl zG`m00gms`8s&q)X-rwZGC^5fb`4r5lE44)F3^Xqe@n}a_l9*{y;{X9%Xwm9loSkddXV9+dwC@AyZIh)hNoGHgRwmEKY*8k*A5d=V$N86 z?kLT!?wCMv!TuU}*?`xbjTgc#EknW$u&wp0E{?61Lca6CqsWkkyq$WLIeA zRXZO1O45#JXCzkPL=NjsoLonOd4{6RX=DySdy^`t&Na1Fxtqid#z~Y)W7b3Fjbs;h zrk*JiJDCpKg%Zb_MWtf^8qQYfwJ4&wmUB=OVem=O`DFaI(`5cvnM=C3Xj|3R4{Qbq z>|t|)CW-4UQL?|Y;lAPM#_w!F1gZvdBcWPi>|@%*HYwv(_8|VqKyKjKX2#OuhE51- zjie3G{ftP!o9MFtxcXA^Q7eS#2&R5fX$N*sB;pCN&sY$X=Q~hk>-fwJy(>Bt_?#hi zC7Gl1z1mk`Qch_Q2fNgK8g=zKkQW)q$^-z>w_p*A@B`%EVR8`V>fc$HksQ-rY8U2XLF+|G7aQMH2pR8u?O{) z$tK8rVLsDTpLIO@IMld|416!M54Ow2)!0$>aO;*Grr7pt25|)><*(K@1XvKq9cxV0YKwCGesQ#dVc6=6 z($J4=c*w4X6NsO;P9yjvzJ~487+NgbixC7!!-ROL;)tUQ?#Li0TZb8zyT8PaW}7rl ziX_=r7qF8XP4xVAcod+!nFjeJGun!yHb`yHkorDVBtfC^#_lhpKyNhD%A&``m7Ba; zO`l*z@YKX+&brH~;BE|YM}NO82&FGnw?6WSdwB>NXTOB`wk}N>$UWKgucb85+DDuo33)J5DylCRwL?BK#IG<78qPkIy z&3u6E8tua~6jeW4`9p0aj<*$L6uePk*LstUqvtq5c^4$s z#;4D4beP2$lu5foATFx7;Wbr6kJTW~fumrRMZ{>!PSoCSMpgWo#T}uaarDbmOhFKS z1~)By67hmer&pSd$+-heg_iNjQarb1QdoyP(d?hyxpv+3=NV8x$B~mkT9;@Pu0dIx z_-10J z6Q7WKlcOmDmGmna%_^HO)5H}@oFMtQ+!a^eC9iAjnxC-xTRY_k>%grKa+>p~2__TM zbl2ZNE`Ktxi0WWB4dTx!pRloj+~Uhxs_`bC5%nHJTtV<8CXUh>ux;{sk;j`;bWyAD z2`5X#ik86mGY|&bDWXO9Upx=^kc zB*WBc2wj-pdR3RH6RP`)JY$klN`o>8k9+7B;^C70_uY`q{%VgRBVryV!4nof^{V8Z1Y(2x&rAgG*f#>W;M@XA*~|tqqtpLDmd@8&}*m)c{H8{_1tVT)wJ14#;DzOe(#PxH@n_EJEhCwqO;E zG)mLE^8m=PI80lL!^I>jcc?auEQarMQrGn@1?2K(BeiEV{icUT7#CXnknzLi_Ov%Y zA}Nmbgxi(|;WV<7boRG|rr$Ewv7n@7Ger9{nxjY4cZX#fDsrUPiOCLXVxN>M(b_1J zK|3h>b1{o#splI9aKq2Xe#|qXJ^~hdu&4vI@&XDTQb2nhs-`S3*VC{lmArVkXT9)u z@o6+0;bBuTJcWRf+i-0TDfMFUh*}z5*CT$~cOVgsA?GC$*#!wWkd(=fDMn_jyP8R1 zf=TY6qVDo)+PSE0+LGWIkytZLYOXc1kEr(G=;0X zBFAl0EvG$$kaS%;3JQEnnZS0CarX)MoB(y=ylFH%*cdB)6X|_Dvm_75tF~(`hY%lo zwdEq0jg=$MxJr*p_zq^?$r?joK(1#LC3!NXd(JZqRkwSEAA7j8)=AIn;JXbFxNR9c zph!7adng8B#W&tWMdgJPzurVwWRGByCm>J|5WMkrMNIwG#lEVL_jl@+CLsXVm-a^? z>9aq!zY4n{uAzHQ{>NM;r`ZyV$;w2FU~vh;>M$`H0V% zigbFbSLj40_;uIt-$%bO;GTW zfz=&yBN)L?0KAHWZy)Sbb}y(F+3ta@?Xns;FrEx+z{BiAA3;ehzjaC>IvE3jnem+Q zPa@8B#;kBur+k`=!%pL?W9DJL5NMh#gG#XJn2$c-5l-r)i0)jd{nHqS7ocY*XhUVa zm}NG=rR;Vll+$f7mpM7-jnyJ`ht1v|k?4Cr6a5$xcXxk#VCM&4q+>YQ17t`W zN7)e9NdOjzFsm2p-6!8p7pBN-UK35m4EPQlUW^NqK-BziZtnS9Y0>$Oa zJ%~8V0DK$*Zr@|-MbDFKKmRR3tDHeNbRxsJ%PLUgt2S#XLhv5DS;C6m_poRa(ip2`WSoZ z5mGN+&%QU@d}blglHcCQiREReH|@u)HoDU}nePYbd6O0ID7Nu4+uvJ5h11CgXC!Fg zjg-Xcn@iYn$GIL_GN^MD^rCFkoDq-R{K4wwy73XR2=iSV#V^I&dqn+}k)5$ivVsfW z5mSQ@Ua1<+rs418QjAa$Z26U#x-Iu@cVLt|-t|uy%FHL3S)9UAdrA>HiqGw440d;p zxC_llAPXz)@)k_|7axamL*Rcj#t)gv$%JQmgwwTV?ova#wZjx%yrYjLhXuJbZ94mCMzD9d0V zT#UFEM|zWO#!%_NTx66@&w!K-Zyap8|NLGU$gFT zQx#=Qx@SldTi@32z+*zZp*amA-daCx!DrVX`WWxlRv8UksL|y{Ns&p(PP}zyi^Sk=>P6Mj;_XiOs2}<5Zx9BL2cW0M!tk$e!NZb6;c1#$kj5l zoyaS|X@+W2meStl?t`fzI2)qx0;ba zv=NqeiHjKRty8n|kRm&FA#`7=A;r?a`2@Hlo7TRZ?k1sw_)1lo4sU^pDLU1m6L-WRLOim{;-9%+T&5jbTTTMEQa3fcJ9|`}7$; zgW7vgJyXMGce#F3kBJKKQk zFD8Tyas!CNEhh(UE15+$7+wU&Y#@iJLcFGA^jQYc=d?dKv~u`v`kvvOJshwd3=B+* z37aqmV|O{VVSe*1I*#lbD)D=ip+F$nZzE@txfWZtJz_}0x5mHz$2X18^ z$*-q|ru|sM^l#Sh0qMZrVLHSzNd3vl3Pe_|oA`wl(2z-Ll<35liA6#MO$$E`!-v!q z$;|XecPjCLH~UD_*(57IctlMqn-&r_D#8NAAz^I+#dIBFx6;YUIQo6{I#LwaLQLKH zfK!aQiMazMe30V_q@g8HaF#NCiiDgksFtz&e8#0Y@Rn6WH@75|;`?Epjr6l!jG{rz z%|>((MB435WNq1oUfeh0^Lp0kWwWb2)laxN7uP#X=*FYdO}?+KtdAppP2Ir0SfWr zALm=g-tDd|5UISxMb3dHB~o*8N!>`vGw+%?v}DXi*Y*nMP&7RwQ+ho4Cran)#lR_K ze;mqNpOq?O60_Mr3r|Wa=vc&0w`JjmltywJmY;x>l%X3UYChHwXvyuRx-cWyeVgct zlQ;)!p!KJ|1r%WA>A%j6wrv#J64vV^9-H^ zvFfRrO0}A0+77cVSI5h|LsEj?d-V+2(8;q{-A&f#k)@Gz7`P5pr^aq2TKID+j-qy! zdc4gh;0|wQkm~_OmDRVqMRY?Bu=7FxIdRC`Dp8W_vz$kxgnCn9;YbjZ_?L|hyZHP^*gLXzGr)4C-|W#M!yizXJ8 z+jqRYIpUnkG)LVo}jU-oARiX_SJlxZzhS)pzrKPRfcM!0{DJe*Epz~6S8dc(j@^E zsM%S&EDa}t16Ci+)Z7_$pbt2Bp;RD|(fwanhgvT}$zCG=73n{Q>om;^M65J^4mA8Xc5q(r!7-4lFe(++8+m zJf~jYvu9ApAW|L{8y2z zivKR%OYLju;m<&Fu$z6&hm-`YZeZnNoSO~GYsIVR3&o(2N)Jgy@wg#u{uf_owcbdx z>1`l9z$Oj)5dg2nq2D+WEop=jAL!<)3LZyZFV04sHXLWAx;;K;V7o}GjJ81vQ}GQw z;z%ID;wPW^T3S(laI=gtL8jKX>NqN;V|i!>9|84Zzf%rT%<@%B60O-P(ky1X`N+pp z1K%+?snGq9N*_Xx(bI2>krs<&;_T}CiAV?fvM9u?WYC`}tywJ?CH2x-H%)6nevKsy zS8;NUk=IxJ8Y3pv)lSrW$5b_VJt9?aU5nkY^-MvcLVN6T_J6wET|KOylHKk&cwgw} zPXY-{NnP+3Vx8?FzT#53Ce|TMr_H5OmM-(0uJbaPS4jEEM2sppy~C`lH_618nOEe+(T4Io`wK6rC);$;CtNhqe{fxFrL-$&pVh? zUz%8l6gb;tQL#zD_HYh~*zJ$%(LobG79Jwi`||q4o@pFu^rSz5Cxmj1&_p`a6#5xp z|4DQu`_6*%EZ2u8JNwbCtmN}HDR_X9cbrJ;o-Lmfy&jHoA*$T0^W#;YHzO`?+g+2@ z{E$ZDOhLEWT$&Kd;p)2i9Pby&pNU#r9HW6|+#M;#n6Vz0zGkH&u@2GYHwo{qNab@) zYO$$A6jfvN0a2l%jI{T{<6JIDnohR;1>EZA_isFE=rca0$SR}D1-8554sj8`T35e2 zT~UL3!zOAV(WRuJlzC?xhI0mp6W*joo0k@4D)zcqS zKd~HZ6Jboi%9BG4|3nk@1~HzF6Qfa-#^_}8sYloFG?pT^K#uOTpz68;TvkwQx1@%8 zjs_isN7O|_v5d(Vr^>A~<6c>;Y2By@%IQoLXnOH*N8nM|%AngG?>nmgq#{Xcu;6gj zBAX+tmg6IA4lygR*Uh1RQ>}UfJYY!jZ=0kIKR)&TkucGUS6aI zqd)9ePK`8yPW1m#GZjw<htb1mBIGi%qSJcrloXFkEQypkvLq5D zK63jBMkQJ8`@_9DQv8rsgWr&nc*y2Bl)y0PBiL8b6GCg$%z`s?a!hy>j5o*+p`EDz6Q*epV( z#|>pxpx`%}_k@>Qm8l(|E&K>WL`sK7W>wrPqF%d-bqMs>dPn%-7?b+;Eea}52~ledTF`n%06;!!yoYxX9mUlW z^GXWDQMREjxMlZGqKP&p9TMj!IwAKS54A@i+(!7zAg26^Ns?nL-x?Ls+n*PTL4-q@ zd)Y>12X(zBFMR$oD!neM%31?gm~n=fcc8{)zF3$icdpe5+jyW@Ucu~2JDqIEcF%B` z-RI4CIe!8%7+@U%k2dd4*uT5k1v6allKPaxx~QLkR0Fl5mN2TFb*TFMD~EJcN3FsX z{#>0kh?J}g6mPUSlWkUIG*i7MDUu^-wG?1iiHy`tY>XI!MicH0K zS5`_6A?7Ou?{L2yCWg!J#84q*&7w%T(7o~`(Sz6C5kDY340<@f>?a1I4Hd*V(6-Rs zVL?qhCrQ6KaWg7tJSOX>bce#~b8)c@5#07oPMl`Cl(h}&SsdoFO)wZnWjum0vx(Cz zT-dV~kLSq%Y`~g#Esy^v9^GDNPtanzyHM$l|Cy`&LSY_rR4R?t?WCj7VAQ$|$Wo_8 zU7seE_auVwj;2G}&keY`96uaPFV)m@=)$7y0z$@SQM&}mjmoHb+F-gUGqZ-NcTSdr zw5RD;M18Ixo*~-mZYK`(b{(ujR^QcRgd|ejOd%A-Vb)9Tzmm^opp{lGzc2hm#nP%n zI?nX(+*yuzoq=3$oTC99jpuht_R|U|TsF7qzU}4+V`ZYz@B<*%G{&?5-tqLbES4dv zTWQj86lHE)>={#^N&fB>rq1>$O+$OT)=$0Hed8YegNZXGt9L-XLOm&(cf{aMKDVQfRS~4zCgw_IDAf)F z9`5*T3>>7YjA(2OJ+@cj%}0&QEHfSm2vj!hGRtq2zB2Yf`-IIWuk zlA6+LbE1T&TJsf5{Emm?u8R;1CQ}9fWpQ0Dssk8(*S*^~Uth3I#jz_6YG&NRHwU;h zHYid8ag>MB_0Cvoba!%u+ATFD7H9Qak*7z~6i&~~XdSEXV@_eFgITUI z){mjqI(rEoux}&{1eA50zFUJ*P&!LdyMB6+j1+<{-v;wVk7XY2ZM|WBNz?8)d+_<##As z&#kqgj2VB}wJDMe99$|~uz=mhZ10$kLowBVa(;66`NV`4RrO)Qq9NYEl}i>qzNu%? z)N};xyFyC!GJu6#%pr#zhEj7RJ@g1yJn&$4D2?2FBdIu7+Vf5d;8oBwp!PyE)4`F=ON5AURX ziugIM{K6N%eu3*0ikw$!cP!M+oXz1IdYjAV|H*~n^h*P~rvZA2QaLh?6|WQ+tFR5v zIGSH-vBic3bbuC7KHj!}n!QKj9LNsfJy^0CSOemJo4nrkgk$V+m=jSPxP?-4xDG2V zPw1F9ZK!1Z&vzd`@RV#~m2F|w?(P1G32x1U=*NG#59H*>cTrT}#=AIs-euc@ix=~wqwkerXpFpkI# z$7vF{8!l1!b*zyu9(H1!TV8=%o^0|*%@ZzCaHZYxII51%kIuYD)W0SwW5|(%9-_n^)26*xR43fyr zGqEYqzK@D^C=meInDweNMgTZnJZ>9YB1U9=MV^nN8L!UXxv51Ve%RoPvUd+ z$^xS1I68-H-bb@YQ?l5069Jh2#fvoVQ3Z zRv$Yw>I!)0hChPgvHW6XiKhzC6aV+0xN9Xky_@9!Pr6+;JYzl73>_Rj!>bL*g86yE z)i612<`BIhoE3+EJjI`obedreitgfoIhH?W69fd=igR=K_=bK5ef7PRetb2|Tb!n3HE~o}3@k+->;@jH>$tHJ)AQnN z)^|w#eiC62Rco`sfiXzq>Vk9`a$1?$9|&%lgwi1;3ct*8ty~OV4cu*(1pNt0m5x$5 zcz5?HWDd7FJGbnpZ)YC@u4r$#0$I(l(M$`PRkohgvn7Gc_=VtAJpC@+3-*Knyb!qW ztIvP3W3wG38ebUS4IYJ7XtP!4j;4xx!9gpV_#~SIv#is3hop7_@?e&0&OI4SMOF<1 z-Ci&iG4s{3Z;r)MuV*@_8XG#R8yjd_A^(KYPc)}40_zFJY6#UY5`E@CP-;L?m~ z902yo-gFMB3eQuS6ruQqLQ-7dmFlX}l`t7OVdQotlsH>>y0m+>&xQaUuHq8{?!r`@ zE4*i=_pz{$kPbp4A76bBOC@6Z1U6%XxV5p@la9lfpolVPk{YX2>&Ih^BgR{NMlkXF zqQCNF`gbTA=td6v$Bz2MZXO~Dm~(7;30(K{{_>J zbT6Ryy8(&fnIhf4WzhV<%^xg3Vsgu1}okhMnn<;d+F8Zs)}Be+AX=uXO45 zkA5v_CG>n+I>*SVnlpXD^2u$OrPbg9R8-JoiPa>(`8lXO^NM(YLb>E9Cu8IjskwMk zqaxdr(7d(-Ch~E9N5aXC`O)|lqU>a=AwfQQX0&G z6^@JrSPxk{*uI-{0sqsW8O&_HX*!BXS`Ja5@y5ltjZ<*JOQSEO?K4&q$lmz$%<(Xe zECUQv?MJw6_q`m>mC-0$d9X=Wp(KNm{e-2LmnAovC;8ySnjvrI)=+>qP26t$+Pq#8 zyW2%RIo@R%6@t94K7|Vujj*9LC;mJ1lwB|K6f!(NrC_5esk4GE$WuIE2X;B(n405f zJfp{h6l(2&EkFxpPNLB z29dw(b(Q1z8m#t+lm|o^#5!bD%ZYn=BIJWTqVX`E0aEYL6grZbonWpLXAr+3JPLBD&&uRaZh8Rq-Id`+-vIH#5#k>nd*=iMi5oV%{eKI=NQP`T)@2;Z%S#S%M_$4e( zAXNeZag9(|l?e*ZGO5jG=p6iN+w%A;@g_g+$t5`(Mz**883%P=q$Q^LapI28_obNn z!%@-}?`7;0|M|XL?TMYB`F8yx2AnW5l-2&?A!vnFF~-^M^Kqz_VA=462Y1quP6JDf|d_9}lwk zw6k2bDA^|oa(PAA4lwOqApZBEoD$EiA_#7*ga=ncRXhgp13V=9VKb>?3?J&^kn1?Y zX`Om6cquj;mL)T|4bNXGHtj;EjKDQNO}+vQ*3x5|FVEY#4+ zo1hCmtat}?eN#+1csrwWkCR8gH?n_8QV%sJSpaHQvNfI8lh;D%o&UEYV|gQ>}ME{p2Vg zGx8sIvk*^Pq|G5mMU{bPw&~(Ge8hdw!LDJm5`x2w?Wl=CGymGZPV*I09|v`NLVV~< zNG552JZ-rV{n`wD4xkVH`E8KDD>IWx4H`(jk98XAo*xV4E26&2C=}7%JLl;SH#tfc zaG2#;4CWOF-oZX+Y&RiA08+DRGQJuDOp7&@8w8y7O9B3hsc$tz6l~|jkVxEP#-l5{ zpe%PZ1rGC=HUmp5KZ?1=T@VH3{Mhqcf#?Jk#?eUKSv|wlkJ@Ue{6)@pSBokWG%s)x zP!9jRGnA%m%!Y*ItP|vZ!s+j-XXovnJ}}_`)HyLqQ!Va9C~W+Fw<}+bssh_0J@^ z)Kelg<0A$_za<@l^WTB%3~;3VMj{lA52pDPZQoHQuq9WEYYgnPBAOLCpcw06PP>r>9qu52Hd;B%LFQ@_y59?Ugw5ixLWa-z0L z9lOzLPSh@0%oJate9>-5er}V3k zmv=%1HD)fuEr{72H+nJ|XVr9V8-rG)!M2%CIc{+lccqn!tnL+--BTQx6TZm7`zF z+4n;`0)07~e#^#9*e215cUT=F06p+vO7UnvGdZ4&8!6W(@8BZOx3T7Fyq7!iX-;P@ z$PM$>4@tis#VP&gS{vZ)b=u7Fq_NR6e9sQBw`8!BDwZOqBnS2%s?)Cqzx z0P-|}hI#*_+ah~8W4Uqx+ZqLLM>j#$ID=cG0tH9FR zJy8>Zv+_imv~sp^>AE?~Pei)ML=%MS;q2!>79`80Z4bo%oMd=GZX?V+wwV=8pMBP= z!?$3x8h;HTGrPOrL3J2cEB_#$qzYg(uBi9}`Jbx(4Nbmr-$uD}nhTgrGk3E;-n4&q zvYVE4**DPb)Q^7F#6KbRS0_3O)8+A%B;)|$5RL&IkHm@HGIp||aFulTX#Bb$()bHn zw`X{uO|M`|hX{x=2p-O5jNxX@0NePXY398b8N(xGb)WnMM6-?_q#tcV3Q~^IgFXn- zpOAFvi!Qh(>O&K>-!%c5w7uZ;7~>585(sYQ1c)BlVkuun99Cw_x6qA`-VybLEy5ra zNt@MhuyLPqRa|jbfaDE@(+&3WgJK0HxMVk*V~pGuThPY2Ru6q8%XdJ1h<9%BU&8U? zSjS)8SQD0iS#qjrXoN|vAPtl#I)@G$#k`YO<^uEx@0}ABPL_i4>yIg(MTH4q>O6za z8;oON5?{cwitqosUfuW;Of>zN#_v|A!Vt^A2R#~}Kb`c~7p6e^>q;Geb@=slik9Yn zH+zx+v6UQR2tt*=0X+YbRGECms>0I!ln!j+91`&pld_|zgKR=KlbnjO8bzUr5dN1z zlWm4UjDuYOW0?jR;OU9L$6$7Hb%THhjOxKvy~8T~ovFgktB<58u$w_|U~duk6OT5Y zE(R6(noh@bTQtUFKx%ql_)Y)bu?j{?jFBe(0pE=7o1In{TK)(AeygsiB;tT?-Zf2F z&0HL#%4J-Gd+Ma3hinRU{qyGN!6*%hHTbgMOVCQ|1V9GeVFhSmh2*zslU16rT+lY( zED1FRZDWl54yN@ZO;KIwYYqB|kZ7H7u{$ag&Fy^EHKsuoY+yHDx@cI^E(59=cg(s} z*N=L~)Su6(pjINIrkYnPF$hwvHwKG zH`c@-WFtH|9(Ol4hi^e2IG1EXklX{W1KqL@x8pdYiE0DNIL@%nLn z^r%jSCD9FD${0My|CHDsjE*@n^~Oqh^on$G22-ji@7Rcleaq&xxTIvpYkUVICRl?= z$l}Yyps@i1m)yn}3rgiWAqJVg0M~oK*#CgrE?s42R|Pw80`Rj?kRP*{cQ8taO*BG* zi>*r7FeQtt!z5dQjVs&Gb#B<(ri-3 z;)Y!1j*Lv$n^`bdtU_J-TMI<#wv2UfERw&2#%_#nEo0VQ{*l{^J=p{cZ zNl>L}U;{yuEY;sq#|2F~-PCwz{HEXc7%@qezO7R1cRec_J~zA*)Zf{Q-J5Kror>v& z&5)R($FaOR#OyEbCx)gNBwxoe+v*MkQX_qjqxVlnYLlwDl>65@Ex6&U8~E$s(Uqab zz<%DQ`|p6xo_@~D^T!0-C^@)LZN(QEnz4udG_35qM&uZ%vF-C_vuS8Opd1H(?`Lg~ zH1N?Q5}yz{M{edJND&5C!u+?23dh}xj-GGr>#0y{Y~e{J0CRJb5)y69Z(&b3MKFQL z9r3GbLm0nU>f(4&;mN|q$ZD*jQ;MeFEW1%^y60dk(z&~P&xnO;DW20*C5Ud)%|9{e zYwwkpSF>lS$|C` zL2MW3B z&T^cC!DP3H$Q?)SNBO)ayN8S8ZlGFI%cjB_^~NTP1w$%9K~0k~v_|TttIs-ic{b?$ zj&AGo4oRIx+dI}yw(CRBoLQ7hXR~oR-Fq&+eOkh208c=$zkA5~%F5{tp;rb ztloi~y3zN@&8#ngfJd3p(dgyhf%wK_2anjKUfI@_L&t^$_+N|jJGQer$c49sA5${_8PZR}@sjU3x;M@lW9$ z)uqvWcid*OTQp!j)SBH|SSX@TU?$^-sA5AQRZHiu!*ShByHYQd$#Lmo~1F5c=XXt>fqi_04x0PRdAO3Pt`xV_^M zCcW+FCFj=6$T<@4zAaN3tTNn27Zo_OuQ%erw26X2T`bGF=TDG!?Phofr1etk>_MKa z-75VwpVM-tV6!-REXQeXv!4n(r&+l-`Vy35Yx!lTNx_V5B>!#=tQN!5NL9%? zeuhzDclJjU;K{>6CHZ=NV4-uh?k4GWI!qC+P*JZ#X{NC5aEa2!F3!ZyH!jG*O=%R| z`>*5A6^O(I8;n9=f01mAhlJc0Vhp=&_?hP($HV9bq2JuH=3_9RLSkg^0)zm4G zXZ8=n^*bn4AW4b))TF`u+Yu&rbn73W5I+L!Pypi$+Vw$E>nAO80j6783&NEBlDfHK z(VnSwCZS9XZKWegjx@pT)?<MccPHCQB$ zdk+8Nf7(o<|9%rm|8XD=>eak6x~PwpZUx2AX42qI#1I#Qi!UlK)iFwly?@ZIu5hG$*hD7OwC^zSx|4Cz zxs@@P?<>O7$g8Iu>FwT#V-54iP(_O>hcP^pyj|cMxq<{5ti^+4m zBzI1!+vGlV$d=6d!gfee;i`sLM8ihPeaBMz(dJJgow91ty}5A)*d^pMZ;BTr3&SP! zv0R?a=~=8=H`wHxJn9^aA+g}-%|>R-ETX8pN=RBS?vUr&f?6+|uDks^(Vd5v=G&4= zr#Km@Y`DWkg=6R?oR!k*riJgw`pQD|!Sis3KIN}*<10t6`{G`))L(yF*)}gDtL)06~l^v4gB#9)~f|mUd!^(2yavUrE z4;QVFTF*Z{K_Aw0ke;!VcH26R@$P3L*Z$5%dS>_f9CF-;mr(`i6uXVUE0`u1*4BxG zz$d-*P0V-lI_(3gVeI|{TLmz4Fc~qTT};-H?a7YDeXlqoWunvnfrM5#VtY2IgYuGz zd--OcBO91eigS=k6J;UJ|AiFBKA$-wr6<*V?VapZ8u2TbdkT1w; zoQ;Xf?fQxZP&&MxK^QW*#c3SSNGd*pkspNBt~{xz3C>?Ln>!YLR7bwdawbAI8T$h)_JJ+Z1Nv~PXx2?d;07L^Oz=B zAg@=pvUdiIKP2q!aHwJeQa%*0uc(TO)I+NKrz2stP1+p958iZ4FqkSYel^g*%o7eu zgZm$&0*X5E*Ye{Eqdyx;e~JXjMg@Wbb_jzxDqKid5<0^d1X5CTm1E4^s)+B z7~uF$Bhgo*yWEy+;gN7zi<9+85&we>vlzh%4*nYdYkhQsgcF$O_8T5x$?uwXOs9@< zw-iK|!w9fK29M8Fdn9KHa%|nCxYv%RB#Nu3Qw5_f7(k<+K$LNcD&qoE-Fj?hp{Uvq zh$zJv`1LV(gV;$IaBCqp@SgNwMlX%Xkt?+G4A}Y0mm9M2wjEm!Dqs4bn~n41Q1d*t zwz?c6Ja@mxGxl}9SU%{4T*o1fbbOVj6@4HKKFRUCf)cH%i9c8nU2^X!>1Upk(_qQ6 zX!Tu*?52}1va=hCZ#YRTqkfk?@h>Aq!SuynVf2iQ(!LIRAJlBAQJ))V*9>67hp~1P z>uN|BP}s&lrN=-dawn9yWLSxFZ&8laFWI;&uD)^;br1l8ImaXj|HaoKVpy(r3{Nc5Ga2J@X^W{fvFvcC!gnlvEg-fam|-KssPf-@)X@DjlG(z=pQ(a>*5{g*MUl}H z<7CP6(w_VZy3w>re_~PtSUa+Lb37}Y(sMxJdSnl@$ki~;oY z(LUrduW+P()Y|_HF_Qc96gq{6OL%N708MZJ=1Jtry&9rfR=f7=G?oZo7A;paS>Jp^ z{sUfTE)p%TSH^xn^ zkF9-xH0WxFjQKX{CaViHi9;9$6Elzc85N1=0LN9iepqr}QS>{aseE?!T+>1eM#B{t zL*--Ix}E#1zN3+{`CCypGYc6AszWuJ(c<61=o~kd%~G2kIN?o}mvMy-U7U{4cRM(y zaZp?Z`f(T3hsH*pPdNfyp7R2Z-0nz1Q))m#>RnQ?x92Z3NeulMg5IG|U zT8c*NsGTE8a^?}+Oa_Vu+7)fp^VPSX!20B}$sa|X$}^TLE7qkZ0#P`ju6-aBQnjm6 zR=3kYTbt;i;1`#{vAjQb#nDHWP5Bummd*B!EckYRg+k{~2x zK4#>R1npxR`VSv5>HdNs7#U*#aLLY;Y7T$})I4j=M|!5C9@7QjP&STe8Czh3@5_7e zbEd0c`sDI56P(@fD4@}}HPf&^*`%Ltij^VotfnIl5;QHQ72Qd%j+z7b@Fk{|j}`Ai zMWpf>B;aP;?<6C|sPZmZw+s;o!a%(P&y*C17OyTe2!hhi?}iM|;KXhK#=h31ibvvJ z4O(DsAVBRXXOP>rB^7-kJ;esUwQcQXD zZrmGKDI0t+ll?I*xI^jRyKox2Yf?4wu24>S2xVvuPTG8@xWG3mP%@nN5kBMrai5mN z+%+}pf8KGletuLov$eBLiDshvRCKdF*(M@DXKr7W27tOKW=H87Z}M17V4S6i4<0=l z7Ic!uJUbV#Q6IdQU&oG6vYBb{D9Ks4zm@eOQ@hFUIv1km3Ip=#8!4asT;uqi0@@Ta(d zw8VF5sbbVd{@P<#BbH%TiO|51_&l{f8iRW>G+uV&tHQK5*Qa^>38g6%Wa^j>pj1EX zEm%{W-fl20OzS{EViZN6ck7?EDA)k+n)*;2NrpT(Wt$?JaO zW!Xd@qe_bs!h~=&OE4W#1oW3NLrenIKlAaQVEVfvHKY8^jP62zWNl6MbG&E9q6cLE za#4ji+rT_WiHBu!1-M@P`<_{tRePp((_R?Gfx}mfUoL+=ikH%1+-C?o!h+@EJhg+<~e(NDvOCYF=na-zyI*jas>os zqnB;fBN>l~@kTNU!goYHMMDUbD`0Jpcx(O#O{C$rc+-*p(PtIJJ%&>~476yu%_BQu zq1BFIEV7BRGl@{JTG_2Xe}^Ub{3+4^ z!WeD&5U}VmoQff#7|Aia%jXLD-UM&((a6iwoUr<|Jc1zKawnaGMTNVxB{V!8lJpKj zxU}=({!K?X&%naCWM#H8oFQ1N&Sy&4kWps+arrK0ry@@vNJ}4tJH^v;^48}WQC@pW zMj-SCtX(U>T?XYtQsV$hVSoJ}{;@9Kqxl@N3}figxK+)#=pB+0^HwBc$|!4nWGAjf zTz3m9vYjl*k2@Q)3w+ET1;=&8wtrktppeaUx-qsXLxs5ghSZNv{hZA;H{&c^+12%) zX)Nyd73qARcq+`QcDMUM6vT$X9tg+b`i>gJMQ|F%8QQwCy;l_Q=$F9|B-ZM(fQam% zd@v?fQW`P}X9CW)uKTC7kRmEQ1u7?}b=r|^4f2`;kmE>mnYdDOR3Pq}!HGi0*jlv) zzt*w)2aFqA(Y-^G3d^~7j`nFTK2b5TS2Xb}w9KPuG>|ubT!*Qu{E${3&1h02V%DGV1T`?ch-cUITo_kh9BAj*o=QsRU(O$f%3#O1)gi}wu-df)8tvH& z^ZbhGSbI!atsPjjk$JZ!FW5<^i&}4{48`##A3DR7y2xrm=5=K;4O`0EWD-a}F)0@* z9W$bt#6bnoK0Mz8+rUVAI0_!pdoy89ayFfzd08Q-RUO4fXV`HuUrC^6CGiGvE#2J@ zeg`v6)p6X^lpSNlhH1!y6x}3w7I%W_;_naG8_~UGtjpn)SNNAtr|IF~jv_(GQ=WsG z>I_ppNaV$paTC1N@tez|aZDz~z;R~JCb7tSB-N^P*Zwz-)L)fci$VQN@{yUv%~*Ax z5<)Y5rOeH3vNRCiBXt_{nLJJ%^UR|%W(M0gYfu5@exA=uReubPH>7*LlA8 zr&E`-p<7;DP3linkjaV;G}*F!ePIepuMN^*YFcr*=MhMVI8MmbUTYN|I!#!q-M)!z zP49CyJ2-SYaX(lF*$PuTQ*C2B6W#nx_G>?J^?qKqgB1(0@s$gCQT^bSP$mNN;)(c~dB6ml71#!>ZjtCd^LZJ&tboC#e3`dakBtx+OI-<{6GxCUs0K`#9Ga)mdkXlqahP z_Yzjw`pk7Z>Yz4!n3>h%zC5q5F1%Q9e5$6n=HIe1=?0MV>9NnAGg+bq#9yO8}uqJ?<$a3BmaGmO9X zbUg_vw?(c>cUHx)<2)FWU5fmBU!X*lZcqf~$FsR0tsYhRpd)E{fBq^>D5gHE>V!dj zqMkl2q3qYZmMt{xRx-)6(dmJWH)_DK9S)_H261`Q@&3;TrcKWYR}f*&3=kqObpb}u>)EZ%7AC1ZCT#Ng;OrV2ge1gtBJ3FCc? z%K={XVmXdM9sp|l?W9KJJO$8$E+P94DfN)3sv9imI5z{1y`#@`qE`LX=qQNC;Wxz* zvhu7lz9C}*ujU$mMHPZx!4p))8{3MMcTD|IQ&__aDkfb()s?gDHwrtdZ4}zvR8Ps( zw(UpPD`V>PjOChuR-Y+If#|k}I9OM9vdxx_Qq5gU8ixk+mxcM`z|pYvJgl6E6wI>l zZp#klSYB*r1b!z6mUl>{pKT@S#3ss>uo@8A)6xJ(d!2OdGajd|xeQ@{KgMwubDgGIK=_-f>95vIv(7l1UZdf2#MO7tHKEW&4Z%wJqJ{iJ$ZbiU*r9PwJVNzLQJQ$^kt*N3aem)%^>xdk zv9vPia~g^q9*s^VZw}`Y^7T3{sG&dZ>ij79lp&7`QuX`b^y?JvAOQ9}Df4dvsGGtW zT2VMcJWI;1_u*b=k*Dj6uu@GHh%-9)4 zHn4=78T7PCB$Tn%r0m%sa@h9yV0!Nt>^rE|qdG3}#jQ;MkI0C1awsZUrP#CV*%I1a zV;_#~z$jEUIhan!JDG8Q!u$!R0>ur%UCpy9^m?4eHqwms`NTuEV-{;^%;Zg*Fw)<#5gQeaFE-d6k-Yxf%yHJ|06 z_eEJW<{z3k{!bv+3Q?rO#FEFI2yrt;@Z_+qi_B>3DFV-nFW2>NF=C9ee25(#=u$OX zf=A89PR%(3udq@N>yx)4PfYxDlgxG+pRn{ht$djlfEq)Q#Ngsy;fm(dSndHnT= z1Q0qquMneMbA)06Lw8lJ7U^=LuK3I<);zM}0ZaVV_}!Z*`zDUd3Zs4SuoRFGr6=4% z__`%h@iX6o%DlvT<1lpON%@!6Si~V8n{hJdKG`&b+1t*Ei5({bWW{PYbTazZTpRcm zTibhVlCptD@O zL%KkJ{H>c?UC{-e-Uc!`U3^kZ{ur)OjF3(jRT5d;G`xNyQi2r2kbY{ihGXNr?5qO+;*jp?9wBksb-FG@%gYkPGH6;D4GNXg=X45>G}$5@9z!QE3`Ch43N-i z+r}Z)_;Z|Tn!aJx8b_KM_gVMBP*_}pt|56~{P0&8Lb;xh3%Qo2G0!Hr-#94Pv&Zka z4fKu3wsEsqJqy$Cf&9foh{HVgZlL66x6*esYU)dedZcNfLztJU#2zz^@RL>@W2KOu`=yIh%9qjch^(;~uyf$J$ka0$339{^%( zdMbT8Y<|X^8sWZSR{V;lL*L*TGKPt$N1gWXZ|A0n_c0Lf@%O`=%~7-N_j6!`TM$IC znLU^MR?#?^hX%%hVy`g454Splu)eN#TDuM2p_y_C>Y~z4| zpzH0zTt}6I@%Sy?5%t_y`&KbIbQkC}gpFb8hIiR&!bu`J4rM#Jyv+M@!6D7RNFE^h z3+%37ln|jEB4vj2+if68CnzIk@M-H_v~Bs@WT9~G&xxgO#;7$8Dw_ z8i4#T&p`pVRF|uYObrs=N>=u5i!byTdsGv3X=LsD7-MYt>FTXWvLX@FP(zDJ(2jCC zXV?BOoDwH!^3x%o8sDX|KXOjsABTt~=fDZZA7M}N)d zDyfUk*MW3m*KdN~O#U#97;k5%V=%cy4xyW=zGAu3G~`2a2r$F3+S-`6Jq$R8vD>k& zlV>{W;;?azHZDQ@dYFiYFtMLSzG9MS^eO%!1&Eiz38Y7v_>U}|7Td+EO7gv972eFh z0ASRseZ#_de+m&Qo}LY1AmZ-e%x}bukjA;7EdN+Aw?u}#CsXu_bjq#`%Wa!+Lhrla z6O$|Wh!b*ulbZ1(l-YiwO8qG@r>0CX|6vK*8>FCg_S};bN^-pbxn7NdUUk%2XKa0H zz9@#=Kl;`=mewA^o$xs_WBg^(so7W%ABQOdX%F&{E%s|ZZHtyT%=Q1cv(b54Twr02NJjLFtnEuYe!3gzsfM0Tz_XQ3MMANgU#Zlm1lJLdTN zVavbx-h6rOFp{gB?Ds7_x{N3sc4dr#$B%F9y>p*KJNgn)%tP5bm;)>N#pN9H2@UVu zpA=c@c&(;@&e+PGHdo+qlTu^+W?zYi|8!F|4+D`I980pHJc9U)=x)6VY~acxUt03! zN5%bUI8u2J#IJ2a2h!~_I$Xl2x#ll(ZH1&0ecphN!DNw^|HQ=r@^Lt#h2wnKB(pnQ z4j#ZRY(sjn)^x|F#l}G`-hARl+;mU2#B?K z&2cby`WR0sqP{$Yc_^*5C^?1>j_^3~KR!%|e}AGeMy_s$20SXDLCP6fdRGk}5t^Ah zIN0P4C$tLtw{ES%>huJ$4kj8`F7&S#=L~ba85ez+A z>ur}Phk}4SIdGF+__X2T5TCO2fh?}!l1j_GhrV;=UB9HN9RrwtKg%bnw1z2~mKVO51iN{)XuCPh(Lqoko4rwSM+0E#M!WB+Zr%XY$J6j^ z%;3xZo=Cy~J%`9iUb&^~S9#GxIu%k+#uTt-J1EYgd!S{6!(G@B50J?gUQXK6M1!IF zG)NP`qJ5QL3J8hg2uSG`;H(*UCsZC%a%x!L?ml%oJnsQ&t>TS2oHW%*y1K~>_@`G_ z9Hk#)67eRNpE04`q%{FJy4TGJXLBACaHr1G__uXL_wdk?>3hjXIr~+9GNJ-UVnd8$ z6AC=iORsa=Z&dwtQ6MvzHGNW?pm7d(S|%#I#evym?mTi#WS6wKlsP1B!=o_;S-x~5 zTkhg*5r#+cxdh*m*-)T*qiIzbXqjpOYuo#(`Lj173&l*(;WI=zT#igu#2d(i+Cik)Wf% zjU*8@8-onUS1sCv{bF4JL8H>xZDFGsTuzht{wB`d0Jt&cifn&;@0t`@(f9tvFf7bM zpFSnZmu!9n1;uN}KLPJ|K(j2l4ihq9K=l6537|h26goQbbG`jn(&e`IK(~M;#Lpji zH5on*PXm=hiK)B|Cl1IShpDWj236En9`AsfzVVA{xX)IV7I7MvO^K9Z->0lj) zNOcT2`o1hAj%wSfIh=FtXC-oS?XKL<5(5EU6bJKU?FE21N*;_f(NLQ*^g&2@_rL8}Mw0aZ_YA>EVoxP{EF~S*KM%gxgTC zBK|VQ1jzGCz36`HjkU8GL%f4YJ^8fW5ai;zO(zvk@^`nh?98rm(k;wg3`rcEs13)A z3x);2o1x-|9P=da`id&|7uZvEasY%B2fg`+o;2e@NYm9#vAJHS#dcG>>Qc7_Q={{9 zhM<68L9%_5^b8w3D>n9X+A&Im-s{8;$2Q)6mj!zih_9MMR?;Ry%C>y_zRifJ>XUI-~sHR2OVJ>Ze~(4@O5E z;vv0JTwt~(L)8Sti_uwFqo2m&-;zWN{4*up8Vr}3#Sl30cat5CzX10{*3XkPJc=77 zB=lG@?;WBrfS#XijpT`kSh)&Tv)7K_ZlA248u$Ujn7_l=`vW3(3-0MMJGd0Y85&w| zJ7SD>s#gFShue&*GjJ$kbldzVV;+$(^mI<{JEGpxU;IPH`VU?dR?RX9TIBzUm7Ni# zGI1fyA&_%&JpFpiqD?}*S{na}Mg@|{hcIAEb*4C*XH*QIzrJKy-5Kpb@@{uYf)hkD z@aZOJrslHIeYo)D3axN@3k~g1So(F~5SonYBQ0;yhjl#?9cRew>zFyn7nr9y+yGZ7 z(K`yf9a1W_i(CecrTtT5eL^qz;@2p$UiFK3$hPFE!8_3S-Udc7(2S^c>{DW|9f8&y zAuZWGb1K|-H?n_6QPiJ_b;y`&0;ckXBvnic3~qrtyH;d+i&e0H2ZH>`B;P%r z_#^e`PltmFn`zo%t51yT-v)#6Ea>~~$VX7|I!p>b&NTB+lkWm)k-_8+54c7{XZy8x zSiLPvO47Xl_4IxjuK2l9){+%!(+#&V7f!hJ>TLjWz{p{;Nh0CLvx&FVf2VvW>L=GS zI*XKctD2ubkyX_o=@OBi>?zx#a*@xW?`!Eob0v&D!x3$LIxvf+s=11tskQElK(Pb zTHD-oBMvpd6X&QwzSHdVInzQZJviwKmebwcAiP>X{|@EURna+yaPgewDn!yb8M+iS zs-wUiAs$#Ak5PHWIMEcV#4@atVRJ*IaR3;9B2pHFXUGB?rJnmav)q%LZKnOuj5Ho0 zxX-8(9u>OGNcu!4a{vIC=EcikJ8t^%ct&{S#u2X*d+bLq0%QOEEw^TvN;NYwaK+R z@(ly}XA!|=GRuBIL|bksfWE|y2H0c|bN+wfsWZBpcq57^UqUlJKV*{&-^8`&Vf=6I zHUnV^PmEFAX2eKbkGC=$bWA=Rr~UjS(J7`rD(c>Z08r~;a_9y2fV&fZver@}np#p5>uzGIM3=}7zhs<7y=^v5&%K?*T6Y;R!F7|% z+(6kz5$F!N?})A}sf5ko*OBpYAI(N`e^MuNyfI*@i4hFsesxp}MZoUxyi6K5zWq-` zI^1F&mh+rtW#Z=o>}W=M1Y$pC&k}ibzlOdDcRhRIJDR`MKlE*v?K5wqm$K@jKQyyO zY}7STPB_sUg|~-DDjX@8OZ}V8C2@phk%Hyi3wbTyk+~e z-#MRl0WBs=P#Z3&6ma9`CG2Wuo*B8`eReoJsMCIaYp1OJ6jRo6a9w)7hIZ|mr3nm{ zEyv&WU`$J=}dQ~H}y#uh%zH2+C4L&xI~L*p4;@0u^0 zc3GU~=7y^r=LU56QOC>JpY30glRXq&v4_CXCp%Nu&IOT%h)>*xU|odxM_hqRtWRvV zuGtcWiLYRANvSSkv1uY(?W#|OM-&P4_z=!eWY?E3#sB!B#{WWc&%dz(mSj?^q4%)A zI!e@Ya(*OHS4ZSDDAqRjo`d1sDj20|upy&m0VGG+XY6p?mS(*Ev1vGEnMw$v=rhN$ zDJ*bL0~pZ#FD4@Mj;Rm!MLayvmv*G)23RiRN@d>*}u!a-8C3Q*Bdk%>|u8o#{Lh9$cbi66u*iB_^{}}R|tQ2z} zjqe?A8u3NFbs1 zZf&@uW^Wvx(o46I!Q)F^je-PUt2q*(K?!``#ygJQBZ-YDwDQIFxdtPQ5+|U?PO-Z= zD0L&iD6yQZNpDw;sKo}u@Zq*4#lDls+d%1IM;~8*h$G~RQP%w zhPyGX*jOw^>k>fN`lVMmt?#kLMy#8Pfg!Y%Bx!b=h&!F14G=OD&gcj7gYC3qf;o_=THe3+hiJV-nsd^wpo^XG0PW_e0D95Aay z$sYnJS5UpM6%kR+^d?eVp)C{Ll1W6m9Qh$ek zcUZbebY@W^%dXuh(c;s(T1oisGanM2i)6zf^@dXU@T~1{q0ri*`9WgK?pFRBrN!UkQH zo2TvrSRH?p;QQ8>C$j09K9~YmTs{OOn)qGxYd^Bsi}5sXBxmVV`Hu8{iPO02{Jhs99LOmdfG%8!Zeuudk0Y|UKbV~rZrnKH`Oj$oxqp7yry zc=XkGM?`j?zNVpcO9nfPDiVEEudg9=kH(woAx*B5Y9F)flP0HKl4cMz7%{vxD|IG{iBz#8a7q* zj8$?hraQ3frW;HqBqN|L+4>5w@8h?@Y6GauGrMNLW)+qNA${>f#k3fS4Ap#^`X>*E zEl-|TjO|(-;F&nensATmB%gxm4Z$r4QDpe&!1 zdk3RZf27<3zThx{sk{q9_<3Y5WSn@25Je70I8fU`lDC0$-0p&=j1h2@(8nYP90!@{ zxI^r!B%Q1NY$jAe~nulMD+n!0DS|AX% zu1D1V?ZAO{zXT-=2|QuU2a|XS@l3`F65H;$6HF2|cUJ3ZlXo23o~siKxrrGf<`YFgoD?Gw}m+zv-U;il%N(ipP+d^Ba?QWwYKB$~kfa|=)+>mj7$~1rz&vVelHRDk)Wjc$_S=Np0bHJ5 z24zeOEQ=T5Gl%7a44!uV^{>355z>1TNf9_{a#`sODoC!A0fpe##Z^XgmQwhbel&dr zLw14v2ZME+D$DhJ`>|i{F?Hz9c9|kpU%vJc-Z}m4Q~`@g@u0ea|EXgK<1K@l9uO9? zb#hlJps4NtN;3s@Dk%EB74@I$>xI8PzTrCQ8~$a9AV%&U_j}~z=qzlh2F4fR3s*kJ zuQi#dM*JDvu+B5;%nO`21y}J%=m-1TxfYC8vLE$@F%|S8KnfQL< zC#0&FH1Q}h&GG|IDbfsJ`zN&E?ko_tjf)Tb5D!`g_(`V7e%j)dr{$|RR6K{WW2Y{n zI&d}{P(u?z-*zy)B#hvInXayyecsYkV%fjhHgxxfC#fJUKirBdpxOgcx(1!y#$6Qu ziefh2SiMAhD5>$}Lx|&<`hri*4d&|87i=2AWTNV7!T*r%%(k14J6&j7PGaY4oLOw1V#qE88jwZv066(M29JC5UpMv`qxcKlcdjJOfl*JPnbpsyYZBZqaW zWVWumYqsw@FQQsOvI+J!uvL*V==Dv&w4^+H^<;GP&0_W)kc#|G3`Xq9U7QLqNR?*A zIGl+U<5`DM0>?Sd*ps}0GCdyk4ZN*oCkoHyYnDhTZPS<48H`u}+9Wv+awHN54F5^{ z{&ahBQ1;UtMz(V2q+1hTrV*(bbFAN&*)A)Eew3L=SB)Ybm!ihiMO_>><8gV)V9f>m zZt^nPx+n7L^t8-&GcH}5r%Sx{EMxic4{Pb2di{19Yd_)bJv@dTvMRV_253br#TFUj z4f(pl$jH7e4ewmW4J-kz(E~`8ME9?@>K%n{eCUf2xzEaEzcu6aKpVZti-l@%z)_jh z#jP~TLzKGX(GNu*2|bgo#EE{v^%tJ929lHA9EAd>5e?NZ^h{WpAySzQL2-4a=5 zoOwBLdh3WsqthGTab;B?`;D|7cX8q}*tXN)O;Qv;9AoWdY6|LY{Os zSwK=mmNa4ltgZ)df(ZB^yKI`L4a!Udnr*65?_hF&Q!1m=>SA1f5KH4Dj=a^=NtGjx zc+vU3(;!bnsc^M~Kakz=KCx83b=k23txnwGW{y-+@&%Eozme%W+f_qLHTSusqlRWx z?!94}0B`H9N>7&>x2*f^`96){F{uTXl82x^N-M*lXk5p)2BIfFwm=P2b^KfO8PKe zLtv`-7NUP;r`PYZuZ zSD5;Brz{$#;U^|#Y$%H-^T5bGR`YDSsH0BLiYr0+9(kI+f$2isBkYCdUa-U1uOc#ylr-MNGhcd$mjIPSOj74L0~9^kV1f_c{%)CY?yQ=>&Z?u-7Pyxd)<3#HaL<0xNu=-)dk zVe_^m(I(2UG54Sb*$q{WvsNU|=ev#50m6IW2I?uFwsC&CFo*$r8kA_8BE5rY{o9h= zI^xGJqbwD&wQbfVAqp7x_GSh6PVeFSLdGv#c@JWiV#U1z5iMM%0(}mu1L8LE7f}^; zr*#I_R5ivAPnc>?o}zK2(I9Z3NCq@G!RRWBF8A|{*IXe#mH!K?w`!fs*wXae=^ooW z^C;R;+6ErQf%vWmx3VH|>2xprP6kTPTDNy3k_6b`FiLX>sk^5zlez%Bv;pm)8UpJx zq)h=|QZVdx+3f11{j(-9a4+PWi_Ukm(hj z?gXQ>LB>?CX5+Skq^F4wO2}>d)miT`MdPWMl(8u}Mkd}+z=&t#s{4GRi?xASTfR|r zN2Xb9vJGc_nd*f$8`Qj`xem1|?G5_TII$9nob*@K*ZZJRN&>!5sz9rnQ6V?U6b{Q~ z3Dy0An0hSz=%~<^@PDz*!rv~5=Q1g0QZvWzHU!KdkRw{+`z*0@BPk#EItrJbs5-Vu zat(m?-m;1CudncSr6rLVarw4!Mmls4-S&)70Q^wz&5lRKt!gM$by5rqr6&_K8EZW6 z;T=XFoafeMBa5pPoKfdh_`CP-MWGGm#cDqs;9IF<2_C_O&Y z_%~)e8^!mrJQtUgC5Gx`VP@c{)I-iH{}aa9Uso2?f1mAvHq1=iM=`OGIbE1EgQ^&3 z8hIZ#MUOMhX21=)xOwjm@)b;fKdPjo!q^U*i6yl9;~%T9UN#Ed$Akk&q#>&+Or0{m zH@Y@ZnPUnr`1HU*y@Tm@*P#p@g{F6H+6&?wA^BZHJfDu@|HHPLTjnWH zKr}G0Iqz=xBvu62&br^lX8wt8Q)ZN9B3k_xh`5V&-G@ga;$4;+#PdpH4I+-Yxll6R zi|c2&WFQbeI;5XSlosJFp3=Y^`kI0!#F4QA0ev^}ge?Tox{XX`yPLe};(UGqq0Y=D zHA`P$pmE+2^+CQ^i=63+yDG8sX^8$8C#uGqa~wuy%`mk?8PJELo0wocn~;MU*ZE;0 zeMh9DU3#Lf6Db3VIh(dT>q%~lxr|bI?5=zhiLflDLk6tSG|m5-?eNh!Ft|iGZg9qB-uKNS3 z4`{0+Pr>K9L}a|HGRaEO#ZKT8^2-#gBNvCluy{ zyKSSIM8a@P_+&GiU7F`mJ93OPO~2MY`DF@c>mQc#H2qky_A98&Sx##LQEl&x8 zwycRip!qAqkozm_6vgq`yo2fAeeK0GW0=)EcNmDk7med_RTwiM^<0d1;|g%`oK}lfnm_kVoRM^xcI5}; z+I;|OyYZV{-tS1x{=V|}iLUYkFy_ynl!c+x=!lLPz2=Q{`_TBBIt#bQQaWv-zH-$M1lH&ez>h zxk2^uS0(BO!@(IesMYK!o8M~TYKGC28XB#X*KM-k`~w9V<@V5V`6ndDF_~R+MgSYG z_lashvGqYwy>^XS&( zpK$tT#^4&3@#rZx$)_C2e6V)VZ`B~ySyOsfsy^i#G1e@abdAY-M&ru9T#F_iEvR`# zqpXd8N*Q_-l-E35C#3(0WijArWGM6(ZKa*Tjd`(MF>Hd$_Owk03yRTxzhmm#Dlrr* z58DRrr0uwx$6^f39_!)F3v4b}qrs875dg6W;(*7^F$!!JNuy=?2}oa@3WF7&moo1e zrNzZgrt4c&sbx;;6B|9?$-x**N($`5jom?d$FZrms}|)o+A(Z1e)Y+&&`xDbXo_4_ zHsU}icfQ|>e8E?@B3LI{g)|e4ZpxMsXE>%Gi1Gevk@g_++Fw}eR&!A^tYaw_NB5jr z;!%n)-LamLN%dsTl{XO=N9Y-@jsdYz_$juk`H4s$nMjIREcpTO-(>SOIgzI-8zp-* zUFhbp%N%$_nbkkdobUZ*h1;mp(}B>>~IkAmxKGk5x~SvFNHm3DNHDp`M3155lh zB>8`vBn8taqL3IjY?{wCyQdujpcTXD3*m$V5+Hc{%C}Wzh;Q|&EYIY2i(ogQ*+N4uhh@FBnd;U zaFoDnwt|K^HW$7jr{k)N($Pw6MxxV-EMxrZ{-RZy%f$rH#039Jl!~SwX_efR5}vi` zq3{Luke}-f&6Da2swMrVo8(lAmyN!(q0Fm)-8B32~n37vsG>s1yxJ%5+a0 z5>UJlPq?BNyKhStigM5$nUJ2w{d|Q}Ruz)xU2Qk3v{jn9(hbSFy3`%~2L{m1OKr}? zI5;dFaLF^^KW^Us^4}o|u)43k*hbKHXj`y#jB{uphCemY#TTR6(@)azyGnMO`5nob z)eQa8;?kwBh=f|*SEX!_xQ<$-SB{F=!D2;zER3tJ_wetOJi|mg&oXsCeMn1f9k+5r{ZB=t6!%6=a>y^R4pJkgeFj#>>Z{)KjfTwW zH=kK?Xfey~l)b5eF*htxqs6t4hQ5Z0gVAZ^E|CtGmt>#o!UVKbzC6y?upy zd$48EM2=JGS`A5qVWYsmH0aoVfK49Muli}ydqS>{pRy|)YgO= z7;#aEUt@nfak^*9%m+o_CA$>whLQz5Gf&&#|Dy*sVB|YCZPR!8F+$cgHv(wZr!xr) ztj96X0_4584jXl7zn8*vcIM z$DqkccF&x~Uq4^l>u4VS?L3^DJapkc_OcXgMu*+|PM_)%-3>XUeS)cCIpD5Gg|jq~ z^O@UKo4CA#O8u27SEGRHG;|o6@!Cx}Gfwmh)pBgpLDJd?J7ac}vf=it+_kSXDjUuZ z&J|#^BD}%A9pAPw8p}8`tI!cU7Lxj!C8N#UD^@zmW+EhML-CTQrYMxFXwO!_`^W#UKD7mnLZk$j=ZfSJ?ctVgi-}VLhgdEeeBmd$ z{=@|41Dv-6jbaECwt4Q? zakXXeW2qek78o~VfoB&-$tmWDVOg0*OR+R-8*4GEx1We~kBQ?5zI%6B3+m7^5oZtB z_{m8rnf58W?N+q#B`ybp8&|qDUj)XPl%VGS#3TveUHnFjwH!9wo$EH!l03vgn)HPw zIWcB{ZG}5BiQzCMcLfjj6@H1oBhm?i=ScCiJbGch5J4qrV(G$SnBX%flZM@(n8>)% zuMXDq~yOvI~fB$-Xbj$G94g8&cOKO$(O|NX@X@IOQpxflSgw z6!_9?f7ANSS5s_9Ki!ns>oiekuiN|dYP;f2Pl>Ms328yy^YDmZE39g*~d_S8q&>}zb+ zqG9&f(&MX3w_;GEIHPrWSUYWH*KEDR);S3S^o%$3@_Drpi*ONpQr4E>hi&KM34j}d zqj7etuRn03TRg$rz_b0si8*q?F*fA_Y`17}Y&?mQJF`<~Pq1GpQC8gQXxmS48nf?W zI?9sKKzkB;HRok?7#XryGcr#{DK24!&UH%>L7 z_~@QAjQsNC*}#J4SRU*M3EmAykz4z9sJ}wl`T^>Bny5#~9Q7V51y_bXs$ZgAKgvDn z@nk}g!w}RPuRWQOg0N6u`c4X^k3zaXOsg}&5tD%UVXkNZ@O&8~cEo(+k@#M8*RtzD zzBbm*d`jm~gCnb;y$UVtn*035rMp9(j0damF&|3Mll&CW((eX`!;fsr=+c*Ttr6xR z$1*4)jk(yT&aPrf{gV>Bk8P%1$lcJy7e@QZ_TQ+}%&D0!j?N{1`;AWW8FUmxsjJmf z8S^01u6Re(15$0xIde)!<#A6Qu5p@qAbyatc#6CEZ&uo?p)DYQ-`OTLgtbnscT zf*5M=BHMa{(L@E`P52D~HLMA2(ntp$A*KBidqD37pDsXKm>4nI}BAGkQ>>{qqFA% zJ3x&$SAW8kcycS^=-nC_TB7?jFCxg^p5!uB6 z8^xwE3SP6p;k`^X8O$n7 zwQZpL_{4zQmzKKZTA1Bw)GTcXXv=K)$e6?_d7e)&dlpDkpoz({o z`VQsnPeeQqWPDwGfU946NSnzl;RR=E&QO_rPOD0%IF7$cNZrA8Vjuq=XVCc)FWEb- z5k*r&A9U-1&6NXik73yA40kvJ#{R<0&e$>_z>KKbpgn&Isg=$ZP&CTVP=z9!3_-X* zHnH&_rZp6n@KHCVTR6J?14YNO$7}%EICx@j(#XeD&@GStAh+#hk}`e8rz&5pMn+{1 zQaK@8usIcva&58QB2r+d%^G9+e5Yc|Vh)86_RRf+am3m1Ny~QAEQB@J)$fOoxI_>*13Wz$jLs#M?pC zdeXe_X(<9%{R{XGs-BE)ZE5E zvdg`njP`vkb7(GNnBSkkbhAQZWcT28y~LTDZ&oE2^Zf6H0&7$O6}R!~ML-0%4kcvi z-3*JSR~Y>&Em1r}JUS-7T-@akL%K@ub|Nd|%D$MeG<@MnalRnadIt`Bb8%vX1ygBB zM6lXB|4z6ZlMn~Hup7GOxb$}?)nDK}4uZ&VysA4Lu6V81kv32+OaH^uA*PNT+&hsG zxe_B%g68=V=lwpq15C8yj!NkbTxJ>`@%@sx$m2o<}dK2z{^p~xOg>Zku??_UQgz_055f@ryT|4tUaP&lH z?AbyTVDn{a1W)U27|JZZb^(H77x6ooju;S+QB%u_2vr!c%}E$2N4&$S7DiI@%!gr5 z|6}Y-vn1D%W4)o9JS0YP{~MEkh6uvIVD-`a@g#LuWqFdI!v`Cfcbc~+Ls`Q&Mc{Gb zCoSz6)A-;=c?n)@%0@{+;+Wzs?8MuubVKp(dX0SO>t3Blu`WpCgTFdRcY$n;@ zXLL6sz)t(_hB)n;`2}1n`sV~Acl;_Bj3|_>&q&q~5{hlX8xvr!c!`ImXV##HpdXjp zF0y0Y{DbT}Y4@%o@U)FPp}q;sD4>xX#a=uP{DABhJeZYv75~RQvn^~FoVU-Ve=8v8 ztBZ)l9dP;u$1)~)TmB46xBiE^`1o01OlbVA}aS zNU&5HIj8T0WYKbpqfRrTz@(DO2E}|9;ga~Is*&|huz$A@8hJvi-nbR_dkAO9k`MO7~1s>7Zj=a*%j8o%P;59LGY{4qq zH!{zl2ChoHMJ_YPE|cK48xQ%dMv{Yy;tKCeb@V4A-lctS!wS`m3*cPk_wrgHsSUdJ zkM_;t-HgW}D(FU9l##i!uB3g_jlRR?dGUG|kg0CQ2xXd=-O1w_)cEAYU6jD;g0&&6 z_NDH#0c5&?F=`!c-1m$_#|h>lc)%%w%c+P&U1xIwFyx_E zb}~_Ld)Z;?xs)QPx_pZnQ0m+Kf`39$sV&-~T98Rv#dQ5V9BQ45%68WTD6mEsVn{(q zefDl>PA#fV1s5rQw9kkJAm$oF>c#khAvM35eMt>rK4->Pis5td7rW#dYPwH{u!nQ( zIl9LeMV`o@k=b7Bsu|%s6ck{AFF>rtc6MHdmsPNb;P!ME=b;n?oXH*GoO3C->Z6g!8}in!WdB~OEZ&6Hbupq z6-_}0)8!%wdq*vlI25bfqWryF)8~)!YcuWI(K;Hb@h2?aQ67ZFNKr@w9ux5@jEkFl zw1K;yS3w1&XsDEqVy6iwi?NtoPdyGankp08^9)I4Y!+h?NJ-76NB4&SOJv(-pZUpm zclwkD`Q~M`@dx@KEw0R3yRb}b9~)bQMlj1p1MqtweqxgiW8Q_#!vXFd$x26oVZ@Xl zKyNsu`MMe@)NekOY}xSQg064#6hvhL0{BfQNYOL}L#l>yWvZ|T3LlWaY)4KjSGtYg zWP;wyX^8zo#+uDshwf_39fp^i`?dcBG$K;Mj>o&~%S8Td4;un7BJtnbPNf`bg6)u# z#VkR_J@_ykEjj_mjT`Z(umsfjD1S^DfghSox@-vILD>;*!cBeUoy0SB=~NgicEf>b zVw7gE75OpRulbBeQ{pV@A_qKWXWaeC>EVnz?Mpi4i=o{187)(ucu&(roKKUqDkgLjcRyqFkQ=h?#>jlUb*H17O??5YjHh2WGXeDa1>^rcln2CzZeX zjOVQGAf264kL8oSX?;ybN&1%NDOYHHi$PugG*yqxWwrS!uI2o!pF!#Ih_%=S^PK-& z2HoBk7wU#DlQFE>nG@2euMt+Z?uxX{6wP%(sBerP^%IQFjhKu0!bCsrA`-YQBiHra zdEyF20<|l?Q3~yCc5I|}b_;RJ&U-YHnM|-AF~3p(Qs^sxLA2*HxHz5)P76k+EpwDA zn%CknT9OH!H~Q=^|D|X5qaQ07n>4fk+0Iw3G6kW#GRaXu<|LWci1&ptQR~BM- z?JnLbIJ4#RCSP9@55rt_F{AK+=v5`ek;Pnu+h%VcVS;!*OMy+UidxC3ijWZ(?jqN- zn{qVVlunZ~Q^7x<_A{dKn)DZeN7)Gy2IMg9uCbhH$%i6%44a)^zd(ii?ucW3IE~_u zZQ1r)Tq~IIeUYc5fu*e44fE15QM>l9=2-dYP)7508~C070pvhn;fqy?hVeYrq|cKt z<^*C!E?d}v0iLgA8=*<1I3I5w1ZV+d_YjUOO>sT7NHZp3=0re5mgj-k$`$7Wtfne@ z--jraI^Nm&R)rKMbFT4015Q~xVfELrsGYVMl`QVzG5~Q}*D3PK{-Q3Uc)G&5KHKlz zKG;8qxQlU49BR(vqC-{?t9Km}_V341!7`5F?by(SS-}KI{=}q{G)Rk}Vovv^rY!8s zu#YR+cQzFzc_;96jH-`rHOCnES&tR@8ZDhy-DJfi8NMvuVxhuHi=ipwEK2`d>6*?F zo0_;5zLl1|7w4`CN)FC12Evl62TRCXCRIBepw?d{{PQO;v0rkMCp+X-(ySF^ z{%m@rTzG~Vi^jT|RsBa+(wMl+dtTI=a11`=Ta^UBU>2*8Kr7Az9|`@?2^Q+sRj=hiH;Y&sc>2%3>=1KhHDqWm`l3C+qJ$uG~9+|H(T!8i4!V!QZ+d#4qG}`pcFl zQtA8+Pj{_68sQhqi$I&&d0RH-w@z?qz%#!abPlYsbI0uZJEb_`oxblF`PavA5olpT zzQnsHyh1U9p0m)5Eo^cGVLUHM#ZCb=%1Zv$+}7^WfBz=LIMLLWcT@F@XS}O1v!>ZH zj&=m3?kW3lw&vAtydXc97HwcaQqf6IC~HIE<;FJAF_CItgpx-@I?DO$7h^siED{mb zvl}4}a$g)ZDw7!7;RuN49w@3j@{Iz4b_!=k7B7W?1<1?|+T!*vDIu`wZptoS1>&fj5blRZ6-Znq>Fd1pObETu_`l zS%7%Cexl}S$Bj8HAbfYLt$xDMS1y7gRo7YE61*a;mlu5i>7p*EJV{5{>Z6E1?r7+S z+n-e<<)o8JGtWMQ5(qvIsvT_Wxw8T3y#z&*8JZw@I*#>Hw86+MZCe}n8h~~B5G^A;-g8u|K2k;A!+h(Wo(Nw zOqT44-B{9-bQGBa)GnN+fQowMC>!wkAtOE3fav z?>pJ7d*Uo?n)7aptwf%rF*|C~SJ8IYKQ;@cI*lzq`hIM9cUj9@C-f2f9nl<;}> z)$7A>6cq(ye>9=DOmh;_)4Rcrq8i=x$Ct4^)n#avU1pHNlZ}DO?@dc2BO!^l2>m81^+n+u9E~fe;J+9t$}X;krC@dnSd)z8+{(yr zij_oMAp`X%<-P-5rt9`t_=&8KXVix$k^xh*Yz7Te7!5Ou>J#SG5Q#9o?apw)aEYA2 z^tF=%c)I;-Y6C?mn=eE+APHq7&w+nJi^Wb?**w>Hm zz5Y_mVZZkyn*&R$a{e$C^jcQM`ay>&PS-ie1>5&W$m{1{p^W{D$cmig{c_0(kqUQ) zx?hO7279|xk@#riA99q~3FmTc5>SDN7e)r?!>H~rK3~=XuMM?AtK%t=pW#rLV!pO7 z@eg_w2M>JCf9V!Y%uRYt*>VB1`@C5SJh9-)=}miF(KKE9^|!cY*b*1##7VHPUF=}u zd%fJ#lPU4$`W*2Gn`!Iw%_Cm++H)utooSI4CG@_~RqHMv_IZRDmf(^yXMcrVrhS&2 z>AX~$ ztIIGpXVMCSzBu3cC#v!Cq+`8KV(!@?PfVJk;hZ%cC2O`PQd)gCU zKQ^ClqauZK>B6W?Lqwc+4k&nr>>$C+o#dOe15>7Gdh9Uk8s8^3vE!#SQFf7&^JZ3k z-*_ZTA1{3@@U4>;AETUkq&H=E~bru88*De}UlN zxRPGm;4o&L0h2=`Pi8aw8B*V+pmO?4mjvq--DZU&#Ri1U@jV3cmH z0V_1bh|_MgkUwrXl+W7toSaas0DMelIz1t1A5%4vduCn4Woenq?i8P&&{R2!y~w`F za&|`o<1W3Td;!)yM*?x8;5FZADOY!|$hF9lNL zcrA)eTz#7>6=-(7dNab9u|?C#p>5Aa>^CCuQF0qIk;QQHPt(5!q4-w&z~Nvu{$O33 zBBkG^43V^9uI*_8Hl;-cmgQFNW*G^VE&kv9jGv*YR%%)_ni}0_%V;dTI5n43?xf~# zIGN7;C7J(moNX+~XL%C8;^8YCk0gG~J|^g}8gWu@wq`z{d|rMm$&H&EMIYkkcgLs~ zz6n<=>$1pm2Lh@(Pb-g*j(vorIX1%$+jVG+ZPYL#2U%#Gr-H;sahG*i=xGIk#L2%l zR}#TmCmNXR$-VlstJX&qC$=cojq=Xta(Z$Zy>0pZQSvlrE7j7mGf* z%1)_6K%Z~kR^QN+3q*44*D|rsID9WtHguF0b3w6Yb{pdLE^V5bzvZxTpGsK|o2ctg zEaNdzZzmK}Y*T#*7M520^(7#wX}`mB&hA_Uf!`IWtKF*O-PRYQg|!HSw?E?iWT<5e3e%6cQko$@aA`ykQjC0rZYW;*yx6xc`hSlXKUT@Gn_G#7-UC8th^-z zEW9`|{Gs(2|Gw+bMUknDXVq;%I>1J4G*z2Ve~`WIaL9k0qrPFuTrUs4V}IzM=CLJN zZUk`X##-ZlZdS+O^}$rueF>T*T8hc=#kYIC)^6P2k=PUxxf^Ycx+qHuY?-RfX#Wm0 zw{mekNS-I9)OWp2_NGCK57woI*xf``JDGrd3bM<(jGFh1Z#2B8*fR)gPSSH!l6|uU zdy-ViHvz^Qs4nj&spNQayRjaTN}UU=Qz8MsnR|qxa`KdxNJeRK>bT(C%JgJT*&=yM zh;Pp3l)ZODX_qb^mOH2QxEx7wH#NB)@=tzFNWby45zi%{US5|isLU_Ue}5?SZsl5h z8^y5v0$An2W)M<=N>BF#j||4RXMRV|h{h*3*p5twT$6hmU%&%`~;O%B-F=6*H}4P(1KQAk({NJjrXw{MhFIh!_v?s4!ZSO=AC!Kq+XP26kGjW|4?Knx znbKiYFcT6YE18*4#=^#xRqJ5D+_^a3)&4kl@gY~6js1zlXCKNVnBy3aNu~BFaJo|& zBD}b<@0GDCZRwocGDU3Iax;Dw?$ZaL?qeP`zThZFYQGh4S)kN6B`?E4@*W~Sfx5!hZse&MInOELvy zvxP~%WY=pTl`-b7zRZ^Dwyne?)s`1snr~3VR0i3RO`LJIQQLq%HG9FveRm_1SOWO; z3ST6~By-82GP~cZ9w)7h$xr@-(iO|`QIL%!;rPZT#&(pHw_V*IKo*Fo);ywWxZu}7 z0kX`EQ#!xaE=sBoT-blZoH+g+o)r1YaAsuRW5g8NuhVh80}katR=I>vLi!1Yugnf2 zZW!{z2P7hM@}FJyHxN~h1(G8K@6&yFB+7o+KpTLB`O+pqKK!o~));r?pX3;ICj>I| zwgwQt;$Fv#Djy7WnrnBCF`ef+1d-LN@rD0*C@g~vdMzHDk0+7oMd9Dq@Z?a_%zwru ze~+@)PuXE!tW?w(j^yP-fiY;g2PHGXFJ_?Ueyoaw!uGMFnJ`mi05{WXdqyRXk0Nd( z1o`Gxff8l{|8IdQYotbERn zaAn+V$$?(@W^_+xeZu$~akX&2J9;jHuiFjq6YBieBKjN5HFD$i8FDO}8o1~-fWefW zeY*pom96VS{?NvKV%SFGSk`q*0pV||@IO)MkRM;=r^(xqvzLiXwTf}zq8_bEzRj}i ztNLVpE0s0Pz^q(A9>q8Cudi;PSIaRb*~f$C@dxJGS5s(#ai!b2QnkOfk(}EoIW+{ zU--8C;zfz&g6^hJ$l9>SoaqR<&qQ*n#ItNdlMdGORtX?Pfo0V_zUqkO?KTCg%<`~r zc?t-Aqfv`iM0AWkf(~__+@okqZLcGvMzL@oSph9(7eM_Xff#5>rV?J{lq#^1P%QU~YPv#@@z*WXxeqKauFNL4P?Y3xXl4lx9|h&tTFxw$&B(Z?&I+2cJ;ovL40ns!tton59>Q}A4H zqs&KC<5-Q9E@b4K0-m?M@+ejCskBZLV6uEW&gJ6Q2=OM0@O?!V$$-Hu(;@r0MLIdr zkfr1k{Prw~$=k&(_!z%Wm%9tr%P-mY8%-V2jAV}Euq8}*fPSa_0XB2dL#lVCEd~U{ z_T%Z>0kz@qw`U}}-|{HF_0P@?O@=9FXg(ApS2w2`Uk^e)bHN(@B^^}qtzpyK zzY8q@ADgj3J)%kptz#ovB&)L1mBWEI+OX&VoH0A9q;Vs{%64=U3$e)QCS0i{WgM({ zqMuqz#~I@aH!^$#mL&&UphU(eWkmCgQomD>;yCY*@iwRuvyANs!5GGmCcGJ!{Y3ia zb(%aP(RU9cvIt;zm+S`uFmW)fs}$kxuw6Q};xgx>Y}m~5p;rMx=X@3=8Qn@0ic;hTX^_7+gN0i-U^Tu!EzJ^0t{qp{RP_sg017r}L<|>6-3| z2_jQYJd?9T^P)ihc8i<@9s9QMB)~g5C1WwcHVrob%nm zY8%7aGn=-tP<9u2eq_vRtU^sIkvTyt4xnJ1a{L?9sT)I64TL!B+FkCs^W${nUT#5Cu{fyC$2niP;-nmikR#QviydIvOK9(fz`c|W|_m&lD# z2o4-eA`Kd+JRvoip*I^&3)%LP9_Es;AG6yFA2@!!LN*oIm;x4g8|>3lN6yjCS!r}e z*{kZhh>vtwp-u=sROwEvm3%HI2K^a__BIeA8D&kb4)afx%jV6R%OFV3C&9QB7furb zkbcJ}FuuflE^?rz`rZa*=;3+1s4>?DYvyh)2MgFGKW5>pqTZc|>kKzOJ3SNRHiHCb zDm2zp#uzS;^nXOVzfnoQtJG0i@4kh?91O+Q*_^gYQ{pPZvU8tqP$$3G3eWBgq9+(# zB4_5;`3z^Y9AZR*^>%>9A0Bpj!6H+^=}I>0NC6{r#l`l8+GsnLSih}ne`$p6$2@p= zI330We8#5tCq|^42`@X)m2tSGXboScs4!@jJEf{gG;jL&^)8dKIAw1?@8O>)R8>QT zY-;zuh--ADT$@32zUFYN=$cL@ayHn28Bk}F)A4prHhrk5k-vCPe1j3;xl~owbzk6B z+@*DhOJtD1rksdd_EdkP zA=&O3aF;t_osUUELB+UU&rrsQv0k5ayVpgxkKL5RqB5&`lPr(Z+_rrI@^NJ{^qNFY zW_o!Mt>QRe3)%D;mi#TtU_b&JH0CY3P$-2uv@cSn8Co7KP$s6)2OJkes zoeMhi8Ip9)iinVW{Kc)C;@U#mq4wMPh}uJ|KX3Bc6W8jO&cVz$(wMiv2PlPQZh1&@ zq+G9U;|NZ#v1x9N1KYebG6Ub!U4|Qa=AIy=3}q0cu71WC?zsN$Zai^97I=Mghx|8- zn2_M{9WGczvvx6XoL0A+mKjk4!at3r5l0=L)Ne-ZgK$3O&S<$`r&fw(l&@{%Yd)G~ ztt+MXympCNofjMOGeZIDzBrWba!Xy0czGaTi_93?Yfq%$#^g$DNOaS?QG6@x$O&d` zlFzhV4UF&237nenJrN{mh?|TsVoK!|)-u9TP7)RJqAoa`==aA*h%EBg?CKP4gVf@^ zKddlhWzLT~3{)|>(K{^ah%_A+Om)oo!8|D*@$u^>M0}AkcX2gJ)8P8tT)I4?@N_F( zrjI=KbiOFk4LnSqfzshK($H}KZXoz1w%KzDYZ2QiS&Tr$GZ3e-hZqa0Y1|>p$fxQ&9Il8^>M}DB89(SArNI+6WrDkwD z?lj7~2?Xb7p&{?JV%&!mnzp$?ark)O5{=N5kv>+B$0`Y?sox6vV@7`3#r22X+>;I| z3W>=>oj|?}yK!Oz_*7{41oUaM#f3bZG|Vp(iEBc7pNF-8(o~Lbdj4k_(>qF+FI8Oo zNiG%_+WX^5uB(;PfjZ5xct!rirw_1;%`U**G@`-jE}fRVWG(I0$!W*GWAX0wBx_m- zl(*TE26E{ihw6~~OMwm9q{=tfyGK{GIBVC8A=UCJCmg#Yb2@{#wh!Gq;agH{GH1xVz*J!FwuLl zT>6GK+FbozSikPF%EWT<;6Y)Sp>B7x>7r@#6p3O-b<8VJzBI)XH#(7r?OiRRf;G*q z@xQo{l=2HLf=V7<_3d=1Iwg`0Nsa#fF)`|6L;_;A?^DwK zAokWBp~bOAe9gvVP!MD$;C9kG3lpbDbMUC&tVAwV$|=8c-rwN#$qi~GdOZe!;+NZ| zDoRr=XtT&c_I2N~4y534uOm7p;Kyba-K049Mz0_7sIG(>DR_QzG$XUgm6>tC0iHe6 zamd3tzU+9Rw3+>L@Jsg599%Q32J9}>r0Q+RrJ%;D4MJoBnK@@9?9z*^${U2k+-<7e zfqC7-iY^J{#UhWPcK4z7aDIK!ix{EkFvEwWrAW3~Jw!|^#kiF;vzu>BfaY%1EtQLX`Zz0A$ADh;^yI%SZlZ^wH}=yBLU zyE1EdTO%o;(SSpTOnZa*Vf&d={u*&P8G%vKVRk3Sx6aJ#iW_%iD?M8jBtg+lFq&lB zR~1|}WQ&T!Gq|w~6c-Xiis`Y7@VofG$2EPq<5lA-_#n{w9OaC#(VqvPz>VCzU0WC!uL(B5x>Zq8>GyN)&Q`oCWT%R6!0xByMwe zcPcWSX|dvS;QWB9?zJqnw%GiW2#H$Q#TB3TFWk8s|zvw9i`n*-Tf5zp!~N=EOy>56Qy%T2%f}@#u?T zMLZpS#lGoA&~ut1pgESDnfymHy*Zs#2ii>upHb=CuY(bZn^IY<@sPt>Hq=nC;(1RB zA}q4JQpWi(x5IzXp?>`|G{K1<%2Vm{8Q1e2IBW-DeH3C2)&DB)e zva@III(60$9n{9#XFkG^`CaReL^rlK6=o#kCRc?~-d>(Z*1F5mNRr}DHiz&663P4C zj%P87Vd=(4rGM5&1k^`B%G+S$CwPRrus2^Av%&!uvS{ytjq>fnC~KUajTyqin~bxV zHz$@ngF43vudkc->)gKOJG-0eqGWK&7m&Ch*|r$R|Lt5Ck{z3$_oAOzw7RLga`gq+ z?_M39NJU*R-o{fSPY>N0`}tWqAAl;35ABar4Q={#JO!oS`Jm^;CxZFNi_rKTTT^U; zjr8Sa%TVH$h4Q#Jzp#-)-n%)6f_GWJ#w_GA%F!to)Hg8=e#n>_)m@w#EC~&R1jlWg z2U`7y&7%@>XwF~1cv}Os3V5X3TD6W%@4sHu(DkeP_1TlhFJ&#g=nablExSs7X#;7* zCoYJkC3I{u%7QH62W*Rtn8d?vX!#6Gw|yO!j{<(ro>a}oB8P&Y-sZJOl(W$m&N+?@ zXyaAftiaEb-E_bH21N7i{vaNa4C;=_w(NJ*S8oO)VZT7GCA|6!)ke!utW{n+rcmkjtBo#+8w}dzs?WI3Fj% zV9OYlxui*rjb;09cdbD5aY2V==g3s;?38+SKkPVv`XB(@fB~PD2m&~SrdY=Bxakv07 zK+V75-(7E;NJS=PzbZcDi%$)8-})~=U#OO_`SHGsM51*5gkz{9-V+lh0srGMX&zD! z@Xqn! zX(Gbf=b65gDgL%mP7~?5P*6+SLWM=#hKUN@G{Z)}5QPG-0 z+A!+lFB?`yMTlvlGaTf;Hzgf`HttysqPlaWp&doKX7TwGit3N!`YaROoIv}42+k&C zw7K!5mT3r0-O{sBX}DRJXNS6!HvywGtSG3`DE+3*IYj97f~ zJb=6OP;bdAnxx)OHFDrIV>4GMp3T3fXKL?NWMFB^e_585RuACdLZ#)%H8f5i2-) z8^zk@&T2w$pRbrng`;JEg%c_BKv%OpFhD#POvx(C%E>_X`%)1$jePhnkY>3 z-PSBJ)~hCoVjAas&?BMf8Mzd+nxq>YOgcc^3$iLxt5rt?Gv!{DSpNW|#6@jCz2v^i zs69i=<8djMXUrZaggcAOb1iFk`WKseb2V@7h10LPo)!@laJRo}o|E!o_6k1%DPO{p zOo$yU-AHsw+Z50qj}IBYI8jEsJ%-c3bpmcXfK2ko4jFRVgqu$!uH!{L8I*a;uQG`W zZp={OO2Qt$n|bBR>}}EzYOq?mA!6cf4sUkRg%~u2Yi=`7(5$av)bYuY#9LeTw^HKb zqnvY2iMY*Il%Ptuv}@hb!Z!JD)};GXL9T4_-cgdI)ha=R`e8~koZa0q6i8iL#K>5! zZ1W6LF?yx{;U>6q7G?OptvbbG|303L!Vx~A4vu77$ukfHAn6$qqDiLTt7`$dJ)V9c z*mL^P(Nn&W7Xt%0hu}XE=>frzj1#>tx^{nj!Z_RBQ}zGQ2>cm|WHF87G#6pk7;)pi z8%NdDR5{YnM{S6DXmpldxh{&W>T45AGL>5x7=T4QU85Vs54^lV1L?j9vm?~GcumXm z#b8l5lD<(%6oxcVs`!yyTsGbYF>}?pDCc=*cYahaOhnN#v4PSrsaAj4kzk~3(pIqp zb9nVL906}@8FY5k(@p(~wE zZkRujjk8ogI<1ka{CJaC4W^I9LY)=efhW_yNEWWA4miY&BtoN;?LK>6qqJ%9s z&)GNrUBkE_|zQd|zb3utqPO;_|#5!iK`JeGf4yBgsvyr)$S%~(J$A7`x-JsI!l|dJpH^^`YdLC{?qS;#=xf{NN8*HAJ$AT<4IFQAcGT1u5@+AnW z@8dHgb2IU&i+lBfdSX1K;t*Fc@@rk@DOo-|i|~E)*2%Nd5YRl=i>6cE*TX1H9$yEX zHRAg~0o#1KnN(RPnqN!GMU_~(QFGi&DQTi-hjOg}=TFke{Nq1?j05$lx8vQ-YUF4_ zCf7Nx8qL7mTPNCL_d>6TS;Xa zkAdMLYpdbDXE>0$D9T+Fh{ZBk1QfR2Qa_apY*m@9rLS zoMJrv!yr-7)e&7}>-YiNH8*n7Mav7#=8$OlRF#hwC`u87mNXXfc>?`uxmodk#kQkM zEUy}k3PontwFwKzsLrr@!y%zKFyjh~7dxs(9NmF`CB2Z8e>iQpaw>n?Es) z6sbx(dg-Gswl5%M;xjeCYDR~6QF@nSY&n)m_xa$$v5QYLXV6eKSO0uQHFkrdOg34; z8vz%$J76b96K?QumgF31K-0WgVD$^7eA578M*$q>`+uK|DePB$#x$zQKGL@qe3xy| z_c+$+Hd_B=UFoB{_y{QN1BPP#*fwy4xeFE}ia4k}9;xks^@pO;u;u47JkQnvA6+e!NsLE)8o`j?f3Q3N z&G$xp$@|>ykfN;RrRdl$n_R?sW5)Q_(h^8CrwXLJtL}hon@W=0d6&7;4++Z!&0P>> zbVf1~z1QZtCk4UQe-O7RLdyUG>cDcbE$|hbmje()df{Q^O7+LB5t%Uhw*tIP>uB2*Y=4=PZ zsXmy5zGEi|FcO>sBzr3x&Z`9h%awetV{NSRCM1z9jOm-V!&oG7wo$OXFW-}g@Gh08 zXa@Fecu2OTThh8D{*0@YK%Ly@j7d&pm^Rxaw15HkBhz7sJEf;m@V(1jjF856{}q?| z?2@U#s{hjvCh2ZnR*Cy$da=1w$>2) z-R*J2fvhibB@}V{;%nW7zqRpC{3cksaQe&j75aWDg((%Ke{Nk0;OL@oBT=SA*U8YV#woGtstrvrO_pYPl=~y+jbfD&2ycksq65MtEuy!)ZF+G=s|9U zOZ3a$*SCaI2YgCoNeYr>f}Vjtx^R?yS{z_iQD$pib)zeB*|6zv47ZGKFN4(Iq^O~* zDiIMSNjpvh1Jr$&+80)P3-l&o?7QQ5e|^3ml_^ZBU0j1EGC6}00=?uQUsEG7rSX|D z6u}Aot4D&r(JUw<{~(|?txz)tS2hajcyqg(D(()<)<1pYh3w$VI7A_gKID{^6qSUz zvm*u-H-#0~kT$1q3K$GVzq2XP5jM;Si`&hyzZGWHn}W7t8KYu(M6ylsK?s*nd}7^c z2Y{{@*@hCA)T+U{LwGmMk9aP};`|+%xiT&L!HtZ7bWey838rQ@&J@K5Ggk9v`4dX> za>d?S#Acq;>wT3SmOr1-#ZMNN{Z+6<0SyrFrMyhV+Pwu$Sb}?_mv%gvPunUAYqm-* z4C=Pi?NzTF$;~~1iC_PKA}O%Zdq9eWDQmMw`5w#>Bk^u_Rq?fNQ(K3ziQ#w-b$Gsz ziCW-YjSReA8-OS%k*7q@tQ!z<>{jsCrG}&Alg2J)baY^Tmm?rR-gVQl^IUno@sr5AhGA~;t9udmSHJ_=TYiQ$ z-j)(GlbXZe-Wkc>IAYeCHY&XAtC|W`#dS_PdclSTlDfyDm@Lh&{;ba8b&A1 z_Oa^iYRY#X&&J!dO0i32eC|NUUj4h5LBq5LliUWrvS;5Ht6dz|4Au?o_*_J^ zhx_WUe2yT)m*OEo<72(xw+>`Equq6N%p}*``0b{!H*}v!-0`{0v1p<`xI;`y+<@JL ze-c&)^&c#aNM39b6j>UaSlixkfcY@zV2Rf;RcRW!gW0GBy@J;<^^aqaVQ$ze;M%tl zgW^y>-=IIrka8-v9P;+OQ6?DxYB%OvqL=r1^dYaUiQw%>XH2{oLi6wXw2DK(=QjKy z$(}2*w^70Gj@}p&!+ll3Ip|hBzfeBG+_h2{^^MKO3!s%ZFRLDr)qO-ZCLZVkPbG+~ z1Z2W6fAW9xyMViMGeq{j8d8a>4lwjym;h1UURE3;ZHrh&Eq?$4;^=McgMUWy{$YH+;J+nKCWr|)H3_`C~D_gDKe)}v$iou z3i30d21f1;Z9F45EcdS(hc3HP^D_{&%MJD;x%7-r-^|v#bQNp?m`Rm3UrJPEMi{S9 z@{-*XGOVzJU-h-U&0I$`?|`XOJpl-YM)R)aG4Xnw0W)*0%Vt4UoojheZWtDV$$czvCp71O>A%- zDX}Nrfu-kW+V{9*BUFA*rzjFP;}`UTQntN^xYOlrIR1Fl7ow>A_Ua=H9U7>PRR{(H zmmKh|d$O&!G=;0v)l!o0bWZyVG3r(vKN{R$%Re+qS7O#WMp1Qo+1}H88(c7?mEJ$EZJP=C%JxQa9Kq-&7sU}(jbyl^jA5Ir)FO7ZEwY$0!?nsi zPC0S`-U1{fQqSZAOnnQEKYRw2#xd@!kTJ!*=~Y9u_ol(J-@PXrSYz9Ks{`k;Nh4Pk zLN9X%p5#yeGDlSmbtD?iGURaay@L}y6V#yCD{#0L$ z&N;*ymf13u^aeQWd~=ymc%v4B!FYgBvOw6eZU%j8a`m-)tYx&AuK9s?e3FWB1`i3w z+;1BLTCd-pv9xixshWYQ!&_t{ViG>N19r1@G0gh-Ctch|ALwP~3Q;Ws#JL;Lishl5 zRSP3JDSS>8h6WmJGAFoLS!vM$$Rwe4v&TU5$WE;)P^?|ax9Reu)d92G2fn9-E881NLh*<~(ZpBO)d7go zY>jy5i=hkWu(-?kp9B@b*MAh}F8&PQ++;Ft2~+AG|Mi@OP=jo5L+25fG7@aXgPXvV ziWv#5jt5n`GPVG10MKVWgUsOO6UGA>VzYKWS?V5duu{b$pi7f|itUMx!q)D^=r!>QFC87J0!tD0B7P{6&Z~=K*t7_*3+h(eLwq|lY)ja`>PS(Aj?9h<@Au9_GFnX6-&$!0NMj_qvqALn~nlEi;mO79nci)91$7aYo3M7N?i&JKrZz!1k!-$9L zzLar{m^lyIv)Q>b8QP4A!Ms758FzIS|6M#VE7v4c<_ps(VXg=F7U|(P6sN)&i8^bp z!RRl0=hKu1m(xHN+`v>Dgl<>iXO%D0-s1PiU)#@SLj=&$85z%)WKC2fS&O46F0o^a zGLxOM@Nkr`7u^B1hgUp@sg=i~+pSNe;=V|feTwTT0rd=P%sNC=WL|wP=%a%p$WilY z8;UZ{a%D%)&En>ALv>^k8b|*LfeqtSCNMIkzf+YI-N=?u6%U}iw!46U8{x z3_?%=yA60r<2_1e6I4TO$PG19)^^A`?+Q_H(iZzEP|GCzNf&s6a-OlIk%$J?jt!kD zF>>$5@3e@hAD~+%Vgmr`wrXETTkP&>k+8wq8dw1x7EGdFlOr+d1Pw|e;)8B27JsNe zR?XTPp3))s4jxF^i@9fqPU1Wu8Iz_dEASz3z0IyhNcze|P6UT$AQ6bJnY(|E3w1Kj z)z}>wsnh+)<4+Z?8XK5shQd=fq#jhre{H`N**MeC5(S3%@&I;VQpUk(yL^)7EJFtA z*2rsZ=z1YsYLo~cfysFDAQ4`W6eA23`{E_i;0YRiK@7LEkvW@ja15gamiO{OlAK2^ zDW3@6xJ^byKee2%@LEMu$MGp2%>J=f*GOqaFK=_Nzr0I+$BPWM`y~$8X?h8H(E%F! z@au)Zaj-$FpJb%99~+e9wwvt4%TxLw!Q9^6ds<^{49dTmOXrri}au93WG77x|r_WG*CM`~>(>bg$bMzW6Yd|hoztI=?^Jf7?$8DxCjJMvE+ z;d!y;N#MXtp64eny*7~%k&U^>xI#wnF16fn`$M5&DkHG6vDZPlxTsOGN<7`IfI-go zi#7SgBBR>|7ZIzp#Wenq+nyubsMS_ng{DlA^Cl3mBII;hM|5I#(##600?>32_D@Vo zLt-b&fp~Yh$YY=Z+;HzN;e&R%x#}ORkHt*>k4L&Ks^*nK&tw)Z=Gm^B<$)m=GUnnSstJKGTm63Y;FaVhNz4>o_BKc$jk~V`VFF3Udi_6I=!MO14 z4wp}G%uIZ`Vp!(ISse0*9WRXD{06o7gfu3#A|^Ib$D3`r5By;E1r37cCt|x3`}Kzw zl?z7xW%R3zlN<}cof8h0 z`n!BOXqTs?_NhV4zh0Y25>1pu%(*UiF@utbq26SNT}*T1SXgof&jl+9c}#s#qOJ(4 z;*D+^X2+%oBt_z5Q9pkKS0&@n#7K6yf<1q63h&7`dXX&6R10yy+*Glu?3q7&NWh=% zg{1h2ZFFxsy)0%IMG%1c_s+iJM(x<@s3DTeVGR9i$1op)u6vbn#-D$caQQ?d*|a8t zBEy{p*@!vK$mfu1E-Jk!qm$^3kML1II{VL4fu^s z*KmKe1gnm6YYb#2l)54yY(KX{2E9RcawxUIw$NO^g43TE#vr+$7{y=AT;>LoW!ZuP zi)V){(p>^m_+nf!$JA8@Leq%s=-b@{;0>|8iAjDU8QmI0M0D#m?|HN-kFwF%Y6z&E z*(BA#?zJWJ{&DT2ifl5}5SR{k-x&BvH*@<5OrQTbR*>Dx>kQ1qg%%~-l$I4F>Zmq= zQ^D=u!~pI&XzCQ&t^6)&Kk;614^ zz+lVe$7)E~w8Q=3qh#H=?#wOg8Qz#@pRdwQNiL+558NOn&8<;mE_8qXy=nG$pKCIm zNq_+e+TQr=2l+7NF+o0aoa{KJZXb^EDde_YR!;AGDQXq;>MKJU@uF`dvWtd<~4 zoUf%LF^$Rb$Gj1Ektv%=Px4w!70^^!$Ol8;#$jZfJx5i3belfA$Hvwy{Qy6|(I^v& zka)0hT8v*#zNx4NzGEaA%UrOElW{YE%R#V)E)Z`WULq}o%|^$E1{Y(Fqm(S`;_&*6 zEvZHlF)=c_50SEby=K3oH0?DsIxw5vuw86%<0c|aYkQ27(UlF#pP>wF^{Fbmt>+b1 zGETCy>X67@@||MzlE6>xE!G51)-JM>1)o8ZDyaK(ypX!SA&sw0S)2NKX&Yt380q)R z!8t(+pJlngv+!pwZqHBvGxE7`uE<;;HV~x{Pp*{p3`_cdO>9N9{1(-KT*kSuB}l_t z$o@S6AnwC|BIe*9Nc^xXKFC=rM=FV0=1$?yXr#H*L{&r+VLqS^OJjGu>46P+yx2Us zd5208mbafOQ`vf<4*sdhDprr6#&$jFQ{Y_>{+7bgc%&_NeijEOzjKOp7Fpy>CNX1)^95e`iA9&aj2jO|4kq!O zupo<@;tQtyfZ(s@f}olF`*5BSjN5Sh1$LEH15#Nk&d>S@iaNFrSAYuamFPIz;(53m;e(5*m*MCns1<`YF74@niZG&JXt*3hRzxV@{P_(DPU z8JZ$#(Km5(6`HcIY2#y$b7pW=R6kxnFv8LG(dE?$XC)rCZ9>4q(fWRe&8OsBXh)aA z8Zz5{x+p5NinJJ6RmMYQ@yUhkT;FJCpU`Bo(M4Ni&}wBWem0QKz76AE#ni1faRF}V zHrR*?!2Foi4+jkG&56Rsm+UZwRYM3p3ZlFH=frOle1ot1<`l={fZJ|H znbGj?ZYceTW?UR`G*BFo4&(P$2G6azOfv-=1hl!OZjdg0Kl?|r*#4EP z&qyC4eRX(?6-js(!Gi_j9!qp)MiH-ZYB$3~CDfP<>3pGwJ~ui|{Ns7GJp&nu8r~wl z6!Ci*zch{|b5&QGW>mU?OP}kWENJxvkVx$NbT#rnNa&kwRnfxrTI(5<26^!#|0_xK z)w|b7P`s9DsWy`Eb-&GgL91`Bxf+yrXCEDC$QTEsgEKqdJas?8Xrk9)F9H{G@P=H~ z_sh!j!dB(V242ND6bZ|_`=9{lM!4^s`2Wvk%of3x?R5{Mcr@4R@E9KiqQ8WTgS(C4 zLYE*@PMA((&A6;?DpN%lvHW9&vbnuoT(D_Dx&6d6PLYy3BYn%ZM+2?4ikkJ~0qu)~ z-W<;}G;tOZ?Jk&u>5%Ptl@55uq(yOu%2-&_yTL~SsfcWWNz|hRdvgfB&>Fld?6QyN ziNvd^|LOrd!Ux8G+VQi{ znVHUDBBviOT4SGR&T+iuuFIO$6bEFZ5Y3g*CK>&2OVUh;^qaR(UV=}VxgKUcbzAHllbB&I7wm{ghX{gW z0UhKPVHt+Oo}GqKSU1~8nJy7?UB0StuPi>71(J#b^Z($Zo1f=1CdqF^W*!pNZt$Td z01dNQV->hPpQ+i76onO0gt6U?V$?I(IeqW6IDw#kf0Cm@5bv`?YCHsLxBe0y5wsSY z#tFqAFJmIO6DyhSS6)2D?3GW)yV9u>s<+O)zYRe~OiGTB8>_I#c2y?%VA_x|aw9fo zZU~(amommz1uQ-n<|qPePEDvFG}@b!^@t}58pXpOWi3{m(-JT0)Nt5vf&AUgL39;R z>;kchKT0_}ll7%r*V@UViF^8$sr>|%Mo?sHa$XbJ+^&M(ai&BROr0tz+SSbCt7aP$N_4$kfm? zFK>?zxmY?L4iRmJWmE8moszGCE6V774y$07PndaQBkTnKXEc&aiWZBhN5_2LG_zQ7 zM(toU>qOObS04vHMiZ4=xcraF80aeY{n($4{CfT>2YiE3w$94dl=m*sn?=`}-k@@J z@O!omxu;1i|6E;EXh_yQ-^BI+Nmpe=h^*GX|=FZEnnif?s0YXi?A>xqh?tSe?-@SVtPtDL&Y7`Ryb4~?44EYFZJsi zlJa6vre^Tq`lr%MF*M_!*qgH*WfE%S;7$|dc+hx`QIok@44`AvNO=TPrA^<9s%h5n zixw;sM^w7z5idw1F0}@46CEQntAn4qxwCKSY+!s(16<4@7(Zbt7Zs&x3`ecol~Yo2 z0bofcx~N@cmgXC@dJX~kxe47huP_2+lMQV7wHEnAG(P;2(V=D=-VC=5C5ZKS{Kn(P zEXcC&%TbaI^$I=87pyQRwM6}n?!w&T70AZ>o44RMEOkR=B<*8iaAmx1m(2n-_O-TO z4btzF1ZM0GB-|H$Fzmc?I4}9QyiGtAl3)(K=u^N+=(OAx=Y$E5<2P&N?cMhVfE3>k zvAti^DmdfKT!!Ra<;YfxC%&fmG<3-prR=M(>XCp97e7OU*W^MyyV|5`Ix@lh>eV2+ zn??bEyQ~cg^Vy#VL_kGw)Tob!jFX=u(3*#v5o@2<>|lfWGD^Q%A}==MRl`}EhfK-Z zQJp{0=wJ%gk;|T8Ng=G)i-%qVSxX#=}e9I}sgi_s4DnGHL$_+yz&t`H4w6sgk^}Yq6Ayvw3~Vj+kOD zv+$akO{TfQ(oJe#D}bQt6A2k|zgE|ZL;SBeDOC1I#dyD;cNup&7FqtNMdySHPnT_(%mNdd;@nY13nsa5gSW)D#yw4^$99mVqYAZ>rwHWyUp#S;xi<3Ardo;~|` zQJ3^_^NQ<;1|q(L#pnW@>9%NBGl$(k0o{YaDt)!P`TzuG=`fB$e)A6g#-mr%l%pB@ z&i&@l4_byI8r^i$U8tB(xfV@FY25i;R6U4@P3&r?vURcfXGr7PfY?~58$WlLWdE)D zjN^IK#Zv)~K*JFhYy#uUwgZib)w$>M54QtFwrUOtDrXo}9DK7kK z6K_iXTlF;3Iz#n23=&Xbo1YHE+HE!f&p;&S7B@ELPEZq{d@U2*v;zOaZ%uGjrh6>%FpaPzB6LeYxJ^(oOg+^q6` zhINf2t)!ecCmb^p*W5%beme3Xwn=l$!h`Ua!U|>1ZFhhY0h&x1G?4M>j-Mer9!I zGAv`o8&}L6h`^Iurk!y{LDSCug!`ZBXL1ALmZm;6gkObu@uGh932D^!;w(lrwz-Bn zT$XJvCL4O**Yh7=R31BgX;b2$bZIWk8|fWB-b}PV;V3aMFM@M>ZB}hQa{gVM(5lUXuP&f&{PtPeHL{EN#E14^-Y`RFCO(` zlwruc9YOF}v^81L*rWA0;ve|{KYB(d0ebO0pP*!IrUTO92O5P`+~dPGSS;{?4NQYD zsi)a@s@=fvN<(pslngns;&8aUje$uqes(-})~c>#iy2vSx_?!wGMTVwAQmqGIak>9 z^cm4W3Vz0XD>a@IQ5VrjRPu_Gx)@k*i`RNjv^d@s#u?t1LqZRjH*c_?K@E%`%)~rY)U}jGT^3Yz%j3 zm&Yw|kbOMP1V5U>iOWVSY*|em@gJw{%lcx1X2av3U{nxBsy)WdvM(k{Ov_q)WuI*I zpW1laGssalvUr+;iK2JmCpb+?nP^p;HENS(PB4#{hL2>2omd&w7=bT3qP!yUBTy#q zbN`G4cb@pW3TDnmV?9Y1+%zYJjQt1DUEv)1#>7daaq9-nY*OoRM`%f$%<+M|1d98P zM>ky7@ANoOm%a1x*|%3#l42Rd4ETrz*0n!)`U(2pdrWZ%+Bt`GU>psd1RQtzHbFIX z=u-VBv7QfPAIIiQ7{e|W!v_|S)wgbX`*X8drSpH6WwQ4B=4DQ9cFjG=s4gY_2;&&- z%*n_(!E7=*${*IU9r@Lcq%nQnf1>-v|2;JWW%O0uxVg}ELWaJdhUDR|2@xs?O1Z$p zGb(-GP!RF9VM9InrU~$8Bw(v5%g0sxCi@9&<6c4RF-?i1CoK=|?!Kx>Dz6B<5sxZU z@egrHTUBDZaN_o#fQQ@;$1Djt?ijfaA;uzr1@Bq4BR-N}Dhh=&hEAuzcWn9`5txCG z*a{z05Sju@&=^8&&1uC2^6R1^Uznftx|o*%SKVjOyvN{Gp)X5XSAqUaZyNiM| zg|9cN6b}qaE3XG1HAaCDxx)0ny0*P9a;)EY#?dA*OZdu#gGisX9S|jkTSCX4OKrB5 z_nmX(`~*GAyX7HgZa$+a^t>*(@(ihtL`YtSlwcrzJ`E&DjnG`+OYg2<5jjTRk^Lt- z>UH+1{hb( z7p1-*Zh{(!z$*bl#z5xgy=9TeaMD(< zsR0OR&cIex(-){+MiI~QW|2>aFDn`mI7C=lB*wJ*2}xarIEcswR9EiPd@?OTX%)Gf zff}b-5WU%b7IaDPvm1vQg0~e79lTmMA&^H*$5?;ELZsdXYGJ3d*ch^JW|4hb`5SD*&P|PeA-nTj2~n~k9~g>nvn@CnY|Z&^b1 z^Ph?;gf@0|haJG4*$_Qr8H?}hGiG-D9rTBbIsVs-LLM;>kFev^@Xq?Ocr>=IIVZWaSz^eybW>E*+agn^iFfo22JkPqAD99;CmSb_`I5-fQH1>CI#X1q z!Xi_1XlCV{&>Dz3)|h0pNDRhi7MA|BPxLbB-IqEAw!It3kI%z5GtZFJJfAyx8ZR^- zK*znX+NuuqUh6dL&`v#G0IrHix5p{gA?5hB2taXI7LE)w9xHo592tnZSIE|$ zl@SgAhGN1Tdqx-GZD~5<>57Lmy(3t%x&aI=43lL5<+6;+cgYy~ZfD4SuA>j^KzAqS zWFV7^Z2BXxLmRMjhta~S`?OV-9Fi98{DQA~HvnSgWF!L#H3Wwz?hZuH_p0f`D6{-4 z4IRgLXXI&m@a$tas@2N>{Y}Fny?~+o9&7Soq#&n~Cq^B2W!SYHpR;sn@tHx3g#$Zl zZ{tuaRUa(+&AqQmLV39lvFa#Gqn47~)+ZrR|D<84JB8vho!CVPf1R%?rjdZ;nV8^d zEE`cSci-FitN*LhY8O<+PZmh7vR4H>$Y8kw(Nh7>Gb0j=WIX;8*#2 z_D?GQ)tgsA;@2TGqorjg%RNY4W@97(BinEJI)c)51_SYsQozi(2|p1lew3_SdXY0f3LjV53ghK=itj{9GW9W9We@s6>o>AI|5m^ssi%Wk@5|0BZ)z$#}?2f z6A6RrF_8GV?s+uGc>~3P{WNt2WHccAnLlI`vS|7i5MJ(j+#zHy`#~5n|M<)zp!_*N zm!L+B2HpOepMI`7rg(=dWf5H~U736P@6|3-&s|NF@+3f&b+06RVm8&IPK5!p7|;ZZYWTBYK=wA1gZ zf{K`FSaj*yHe#eg=79K>&^&yw%E4k^pxzQA;Xa2DDSW z`lRJMtSop&B^crf=}=wUwVDqhZ_*u5ABP(ijAgHL!Z%u(v^?Fo_1uFOQSvRh;XB?a zzrIg$Wsa6`yui-6#=`Tqsjrd~Gq^(GcKhP(N492;VGzHDP0Kufaj;>*eaYDw`tl1( zL1Cm32Ao55WAkqQQ$_ivrF-0t9(%j5H}x8OvLUZdQMMIk=W1KhILsucmjA?~yH#$A zXlXBoT!|5KarIlga!9#nsYXGJa=jU9r<76g&$cYiXZ#>9)FHqxx#}60)PzoXDq?nP zpAKf|TUkvoblPn=O`GcGE`mrc+nPh`0iOz2iRPL0WT{~i$P(FxbF7^g;V`T8XH0BM$2StG$L-*TeNQu|CHlUGpn7m zAPS4Q)MzqMvGrQiAJ~xHZ>$TkWT=Q|B%>>Xa45OT%K;2SWHtWxGAt2OWNdbUhXY-) zOTXNr1D~JG)UhMM$6uMM3xyHv@jh!%NK#inWvf`!1%5XLnURG9`{7_<$72GI@lDlj z$=IxFCLgL5ksfa>J3?Ol4R}04QLdJmB5>i;^oZj?LpxhdztT#P1!=KaGUu&rMh2uk z1ebj0(32MHW#&O%$RevteiX9UW3LGZ?lgT+xLS#x$i8{@z;QxdfGlIKvD(ogjOEE+ zHkz+0or+2-*k|sH2S7Mp^TOwG_-Y&)hTHRiaDq!W%|apJ&q-DsW&||84U>TNuXfVk zP?Qu!GZY(VHsWAd7+;t@hl*+6VI~@a)0s_Wj9u@^Rs1)n-5*kGdX>RdG#WJn zIF7H&F5yOXUWeThL(R^OPKV5^jSZi1i3ky|0Oh6qW|yTp_EPh+Dwmu)X3NtU@>s*s zWch8c?Ev-Z2BOT1jRE%)iOw}lLj+~ciQ9{V3fId39vWI*Cfj{n^6U84%ODVnX=-#b zl-u!*{MlX|3lz+lO~WrNg7)|TAz=>?Et*Zy;xS_*W+KRtYMbeT77%aMlwzqn_QidR zB4=4GdQixZk5P=w6M2>{6ZD5*8js)XCZheKyz=25hd7&>5NZb3Dod^1#^(BG=YCCR zwMR^O9}lXjwMY+(nq4V|xDa{5X+nT9ckff;4>1@#UnyCN zZuGDv(l&}v1}4$)+>3a|DVs~Yw}Ym4KA6_&IOm{k?_Ex)-=8SiqxzmG2}LY~6C1@{ z&}IAn8A(S~Snjdhf9MsUKI|*~gg&IXtd=I=`pDTAnE$UPwPbVqtEGcN5f9;%iz26T zwQfb&g(`M#TH-7$o)=ZOORj_s#9Nn8KOy0U{+^dsh@0At@16rRrVCO=t2(Wrl>;1O#A1 zgiPuj*Tg~IRatp+QpIug`3E3vOa_gXTaSGiVn0J0w{0a`$A9F4r?Q=P>GZ;E-7u$Z z7rkk2c%x55A9$i4SdlNV5ou|>6|jnB+-UV9;*l4oa1``7BTp&g{}MAK7Ys-+3gc-` z7^eVO&cyGMJ2hH%VP^H>>IkRt$e+@&Drw84ZbF%Mn5r)DJFHXy5}L+P938k}rcr^A zr)hn*#DHM|r4@~C=FH$3)G>lmQGTEsRqZg*p6=aLfT%?xKRWdbfTz(6yM#+EMhsmU zzTT(kOe$wyFlY)W=@zLfuxYB@YHCy>EiYd`(1ycDF$WHOk+8axZdrSnvN`FRd82P+ z;?Jnle&zNlwvm}C`5Kw`HhF`XU@k<$s-o?-b%qT+YmWwZ{d9|Qtzm4!R&sI&-Jd|z zxQ1o;WKM{hhp%f3>-(uw#sIQV@il^uzgK}7K zC|scP8okU#IZ!U+%OQtS^Q#r9oO|y+hGlZA=Bvzo1KsGLIqZzo5f3t zf8Q^=;tTl?8n0r>;{+Aq#IBVPmk_A`$54o!V! zE1lcR)OrM^t6%nskeX)EBaT8;i?-Rn{C{f6WKyvk3K^h zUw&)FZrI6nJCHEA;`I5LL%caRbYk!mUtV^L;UbyY{bdWIkUk$j!w|@) zvuR{2XPD6fX2-SL+ORyB7kZ;-@M$TNJ>-eL55BW}cRiVBEGj~v9$xY_b4@xFO)e<2 z^E|}A0{}-rxW9?>))FHe+p_@K@fPY7Tkx3M?7B0%tuNZsBbf27t`Gj-Nq+G-86V6c zSY~@(7jLbi$<@fwI8ECkqLH*~vgPuqtY5XU6w8<|ig8#Nx4HU_Y<9DI@it^2S0Ku% z&;47MNcP@p^HFuoTjhk9;?3VrJi1Z4GBow#Vp&U3eXY4QU()%%OOB*H_TnYk0IE8Q z{4WF7U0gmyZ*>1)iwjL!6&zg)Mbi6hmJ=&4U%ExMI~)h1R%Djf6>h*3Q>AguE>k;_ zvmuF}fsFmH*oWW|Tzdr3LM~Jrctzs|`pZ@V35eM44#Hy3f08p0npvJ-jO~wCe3xPw zMQc}b=8JJz$K%ph0K)k?htV@wNJvj6oiRp#}bxA%i3EWl&xw{?10h#fe{Qf9=N< zSQ&v)NH6>wX0AAQPOvF@>CKDi^IAw_jhf6Q%P2XZwtVh~j^ams+te!%Igy=b{x6NG zsA&LHnXVnzE&usnCM8$bGf$vOs&hvrT721N@f=E(^AOZyR9SEMPQ^54_;3>e94z+m z@wFhqu6DlqOuyFM0BK$%MYI%D+BW|5RS|iL5XRCEz{!a z*cZj86GWpstjN^OY`mY*jM4e2)D3UYlx(TV;u zj?rQ;er?ZK&iH{%RoXSmYIQgFX9f3j=@1(NvgTcPf)<-F&Mv2%`vgXK)v!5?@ep?S zJL^scPbhBc6Kg}GkRT@E6>G!Cd+y13UUOL$i8?ByN!jjD3wwLL@o&qW z6L&=Y)WgUdjK2Gxta!+~nq|{u(BNqILacPrmhZAlTIG2TZ>x+Z?Q8joNEt}%#C;q= zzdcW>w{^>4e{Axf@B z<~yTii(uN~=MI>_PGeEoI00##o?Q5@&%6$A=?tR6*Wbm_7 zj2;*Fm0^I_v!Kg=VY&)Pi;hbSMHnlq#xt|kib7W+v5s1Cjq7y99b7?NmY*LPA6210YZD8nd_E)Vgg`!UJk}aZ!3f+Ze7{5Y- zF}xB7^eOp>UfH4moe^&6u5k?-qd4N6ZgTO!dIolm_oXaNy|QpkF8Nm4gsw7uZHulM z=Jtziv;4HJHKnX(;A$O2lrPEkwSR(Y3W`Ks5fW`)j3t)N)i+;QuR{bdtrT?LHd;Wp zG=fl4m;VHH^|q|kQTKaC4=XZ}POiP9N=i#NQ3Fxf!&ftoNn|eyain2+NDv}_xQY!vG zu|X%GB>|^+H<(dGpVOp#jZUy*C=NJoeXUQj05OX(Vp)(D5PTNx5yT$bs=rtyfna3% zpQw}v#8oU}XgHkck}%cfW9vA-3v2y^y=h6jvp+X5h(JWNa)4Vlv4FoUmHgAx!iPWgKc3Q1T)gC$*yo>0@Ee=E z+*Pi*-AdHPF>$a;G*fWNPJ^R1pi*YYg8H5N?fwL#e2HJ;E?sK7F}3$D)5Q41`8G2J zw(Om>ySK&X=or866#nYwG@-bbRyV3=Ktg?8qAU)3mg4L_X|$%bJ4a;ev|T5FYH;HB z`;i1jUM6qcG0oZ!=87wk`WcsG94@gIfn`RGJohK^IG>1`zBAe4!>=+!Wq#hag$z_o+9l!eV#PQ+~+n#w{Gmo@FqV^%G z^+@knQ10=p`NMSx2f_^aJ3V7owqQ}j#2W<(Y?FENA~DjX-t}G7)?kwEMPrAAkWKja z8A2K%FuP7{Uk-ye0eOgYFsH-dtj|S22Y>EJ+15#+BC|*e=wJh2pIF%3v196};JGm<&M0wYBe{o#T`}_QA#HPe8 z`l8%KCp&7V_V=y>O(&e+4XKLM<6MMxKz-9Y=#V1eL`R=;aQ&SWD~@rjMOy@tRNVz0 z;y6;a%j_o~2f`pO0~Fo1l+R4QM;dG(eNqW%^l2TPUy>YS#aWZ`+N;8dwc2n5D$% z`D~72N*bFRWn6=>;_6XDb#K`!qbq#&cOPp-c8)it8XF;cFI_n}i!gfI2gJbis834x z={wqYdBe|hij&u9KaCd(PQKl6&+72tv00{5J79acWdO4IR zjAp#V&mu4P#io+E-1}@zVU4OE!lLkxv-L_>HZg=Mk(O`4*Z>#KMT|xkE;%M7%B|1D zd46p>uG`%vS}t&;$EqQLQBu@l6N?z1E*IA%oh00c7wlEfbJ$!~54iz}2`ixkg^bz$&>E2yrd8f5K0$t{4>`9|P|X=|8KC9#IV;>?@CA zdS9*W;=JvfQRwmf>Z>zEWg_XW@g!z6&*yqkAdy*Z!&|cn?K2+HTraT{g&lKN#lfc; zpS~L%X8Bz^4d*~$-kE|V-?SMgfLn0!MwH=M#8=;hh_2h?=7OjAvwC3|_sUxGLmqmT zEk#R`=Oc*|l}0NlTH?$6PMGsKX=u#vlQpOR$Je=LNvOXhguCGp|r-U4T*ke3)u8~zmbYw2}AR_}>Bxw4d-14=(!Cnbzz9Z#gE`L+u9(^ji z2>ZwNV7hJT#@U4+cZSOjLI+duy81q9uXg$Hyl}PJz4MG}Heiqwv3|J6zlDK-fxAa_ zA0=`cg21)_YLH`_nZ?Pw;hx|zmwZddgz))pIZuA(~mVu)bi#-xwb`5O#=-KF*@GE{fkqWUa9 zDC5RVjy*x33%IOFD?Nj%dP|d&$Vv1&LQC;5d~Um3$<~tmgvIYIn(#}u!xemq-p`1( z8PSc`Mp+?=!f}a|Sa7)wu8`y7aIyvaO^SANz#HWSsWk|1Q)~Rd{+sk8z2An5a=fp6 zuiKyLf|kfmvLA+fWANHf4HL*+&goiFj-UTBOf&@_b zRYN8)Eh*qPGDyfPoY_O4W^o8lYf_an6FHXJSFM(hPI=m_%HbJUp07%2n!u_Xc{3V! zK@N7}QGSr-ufgJ8#4o&8Mb_qF`cu zg?sG?a+C#%?C3iTV_3$wydB8_PZWy(Xp|LNnJ;_A$y%qiP7}Y9JVUI zlV%);EJ*Z%ZHie@-0X|53cAZ(x}JdT+-e&b7u)pw;%uOB#1FWta(LlabtQFZg(Cx< z#qH28Fwn)rQy-FE5O!=3Og>V(r(q26qYj1&6vduG(Pj zG9F=Dg&D%rv_xhwI%;gZOs)4l*Tl_?{Zi_EP5{%#zI=}5s=I!*xD1;4eD;!=X%us5KMuIe!zM1tL$LkWWRux zyr!5^C5mH?f6sU%YJR~-EYelB22TU7D-NB;v)><{XE13(n|{oS+PU3X1_ZXAE>ezN zER{!C=iH06IfUMw6w9M9NWeJCdv*nU`o(_xwUB4-WKMs5`pcnBgaT227h*FCy)2Ot z3ppbPt8(T#<3)+XNJuBUs8-@LyIVGd;tffO%-9P6<{QThq<;1%-&rooK$cG1{@gl>hB*HF^>;ek zl6H97Omy;Q2zKHFY#8ikFmpaH(xHSnPWP0RI9zmGW`*Kw7IxPGGg{<};ud5GP!N*q znifz8ZujtvYmQl)ARQ$*++}W_afTMlO*T`;43PG5v-xHt{ac3yw=c%=JP0Rn_XzAQTsv$hrWGn%>d zhIXo&iAbNI<`PvTM6@Ns zgrg+HXiPJ)W%-cVv{#rsC-?%9h^|GXTV!We(R#}I>*o?jWNIHbs9swCt_K5G;_5;L z8^5Q}OO(*SCP?2cKu?>*E_~&!A%#85g2%>N&HRaK!c4kq<~EA?MOV!Dya($R^pqDD zq=68&+>Fz>qd+;-cnisMg z9|BPG?y&&LE&YY#`-y7qFjNhr+p}w#gIuJ0dNy2DkYc;fsa)n3hPpE^4rpb`);W>v zWX5dQ;7=g)B+ojT+~Sb4cT$7%3;6p#|Viz(6br|%4g-H_5MAC~?rx%P?Um><jK&^e(?R${}X{{WSK>7tWv&_=-PsNSjLgq z+-hT-Wi$&?uP>|?OTzI<`BB4hbqh@^i7+q)k;+T^>2Yya#m}o}JCWONDi6&%Q;HI@!^Gm9svfO&kX_M06A^cjaq>NET5F z%<&pnHq&w{@m0sSLduNff@C{FbrD+jA1Cq_e1r4!qlv*`h3k^*V8}@O?!J)W{`;^4W zfiaD7YxAn@??CX_?L>e|UID28jBGwBmDUh{OpJFNaqN#xjkmFLw(W)b!oWqOcMft2 zBX=Xjvc8fNm1PsN`H4rh+WC*vjiPA@2x&p6d|~!Cy&0qDqz><>UCen;wuin@XCzmh zarF#M7C4t^h$ka5cRjuUuGno}5hY%2S!2I&`Z|$P!$kRkmX_^)OwwTb_fwiLjp~|a z;`=M%Z+L{^fwGhv8&lL|+ESp7kU=~{LxjzV3;d0CkrncFnpqFyI1>nYhNbUKRKyD8#WYUYAZ(Ft z(;&+DB{P2bW4hK)Rpi}l5-&|rzT5FbAIsatKjTs27Af(-X6Q(U@f-g{-&~1?%FE!? z3D2ishzY3+QK+N4g$ud?$-Lty58XA{o?(fyeTj}3f4_{T$(I!ZcG+f~jm^vbi8q<@ z72l1YNKSVZ)U=r|SO5IsI>wL?DF6*ceL#i;weUrUQBku5Hkv}Aes$*W0jk85wN9|p zR!xi}k1qC0o1tLl{2BgX86^V3=tewZ7s8-+HDsick$io%fV>{tQ$K4`MDFg6G453d zj8AdpX0Y97U@B!rKSXsUSZ5Z@Eyw@1t>S1U-I$hrQw+Q_b8fCOoP^@_8UYHrk9(dW z&55fBh>{Rq|2jhdtT|2G>JR?+W}{_Qbq31Is2Z)mjhb(9yO07~!}(UvaISfd1h~7X z7w@_tQ_)^X*7h4j3cSrMZkjr?HOXjvi)}p~CUUI*Z^AHql)wn_a6r$_8vi;cF!XAM zPQeB4n;r|o?0(&_YTj;30W=1@q&+z&wjv*8_2Fut&nV`09?GHAl$|p9DTga{PTshy3oBg26scpQO&TVvNj0bMMX{uyA2vaEzs1PrBtPfEAEO>M8Puv z)-$wus%L^8{iKV4a2KHN@3jWR_**q(G_Gd&#CSSwW)1+=%&&NQ$?eTy?;FZI)Ffuc zK-q=<#es0hVn$)$?zDj>hk<7AZkQ5exRubKA*2}s>p?6=U6cm=#Yi7tqgA$p97~%m zjN1ahv`vf;_L(Nwp}KEoWN;IgnHfAI!J!Er>whm8$;@wbxeGf^pVt~+Z;&*#%BZ)TngUe9rV?B!`VmBNYUPP zMcdt8?imX3pAm`%(7XB+|EFXKcLe#8B2+;%*kZ(eJ<2eFaond--So&;_T>u6T6|x}9W&Hlq{KIj`NBS& z!u#$~XNLs-7u&$#C2F~3)Qw6v6}N-S$ru0P4_TZ@$Ok*OXEb%bGbLs`hJtxR5`)x? zbTU=Tquo0v9PnP`j*EU_&+5J}XK1#F!21km`3$EOg)_5p5r|ST$;$=au&ij2vy)jIk89G#(n&j?98I^h z={lX3K7OHyy_rl~OJdK!l!np=t6}^YRToPWu<|NQ{f>HdZ4ANOy7r->-qwrJi0-XA zogvIKOpVO4(yx%I`{5eNh3nl)z05s(B-`Sm(if!q&UPA?Y&@8}{o~74IAwm>WajZh zSx*^JAEDXtZ-wn%K4vfG6i_6JinG^e(R@RvwRiAkbdip(smngYnrBG7!9yRCQ_jKF z1+yCPqkOB?$%AZc4&Q%AD3^9CICdE88(x&n0iQutePMYP&J^6yuY!VSq+_>QzF7J0 zSGewwe@QJ&f}jX@bBzE%Dn!!)*x{LR`Izk|I2B_e6PCDM6M%FSVrI1rMX0%s0i;4p zmkkEblJaD(0Z-+2PN|s5y?7;jVreQo#44n4vU`sTcJw~?i1Naoh~LZzKBIX|ZZ374 zsufrGCpssFx2^b|v|l{?Cz{z*h*nsjQzd5|Ctxi(pWe31+t*3=tl6Fc!FQw3pq)MJ#?e6@=dr&{6=!TZ+(o&Y`~Cizd9rP8sRM~zSZU1|#wKHUZ)|oc zeYEk6b;Yml5B3?!ymt#=4|G-x3Qe~+{>&`q)q)hC4~$Yzj)=v_AN2gjJd}s!eRJ?s zTp-)yY2#=2`PPn4It9gZSb95{gBtN77fFVDAwoIig@Gs?vE3XOl0?&88F3`2qrF*c zegZpZU{y3k$rhNz^Ci}o2?@=PF*p{n=3FB@&Gf>6A&HM-_sOUi&aJ$FZ$A-Ty5__~ z%tHV87BFFrmwK>G#3=9z9*NwA;e|qjs~FT8{Aye{>0!5+(EF$_3KcW7bIwA_Tiu=H zx^!dz$8XL0=iWbnPjdoi!~Dl}zeZ_tNS^|2|P?Qo4kbNWB}Vkd3k7g(3#(G_*A#oBXrL9b$!-;r$bkDb8ikF)7Hmiudd^XVcKyG zvQRNDLMbMw$YBg&E6<;hQ~(@bxsD!vx2V~J^Jb&UUt=2YCiVDjn+_n3kuK zSbA-kn#7+KlM?r@)&a}9y*u|uMvi_Or`|#FF)bfBpM3D3V;vm+siIol@FG8-JEr8e}a))*e}BzgW$qap%aCOqJgjD+9!8Hp-x7;0-1 z%IeJJrzMpqC>?&bTf6keYGmX6>1>c3ssd4xdinc!o2Z++(Kg>W_kxjpW_K>5|28 z&@DuQE)Y60!gawP9cPT}cx4jb_&bhheFpY9;3~QM5%2d=@sDEJ*G04DwiyX|b~F5* zcH{0W!SRM>x@av4?nnBOTl>UQl#Rqlq=~8B5DR~pRy%KAN4puYmf`jOB+(*w?@%(a zBhEcA(=r^M^p0(qaj6b~jyO#?t_2W6&3*iL_rRed{OX1~qaQf}BDhHt&$xH=lPJ+H zAxLPhXMSCRD4s*Dw|o-!8mt4ejGeB|_H=$P|EcZ14r@?l3w}jy4zwTC6ki5J8v4cfqz3rDT0= zt7pwq7TT2IBYs*zrkv-!LkUr27o^q3l}MMiU>eQG(qc zRzc9ffA35Y*YmL$t96HrvYPF)(Olkqt)oR*zh@{#*-*^GT*cn;TXQyHmXtH?4o;y~ zb;wB~J5&y+?s$5;DbgJbecNSB?Si{kb9CY}w)w?RheQMnO`9x(;I4;@w>P}OjP#_f zd2+6;#HTOUnoiT(-c?Q6W4*7Z71R8{RAG;-6ID=fF>Ez#8Bu+5uQWJg*n9=Ggt9}| z?#G(oPVS}`D=eV;_2xM94NUi~NQelM+Tturqi|INj2eygJ}y}FgjNIFBvoY-OR(TQ z^pGMzSt@-7^ZELzumP7j_+AL=-QXAF#@<<0TMvn2v~loRgl(sZup-FigIp9MHy8VV z#-poDq(soZ;~<%?N)jbI3IQN+#{SO`)T3L(Q?HtY9#FdMZ|xB2zxfD(H9}7BUE~Z+ zx5#8BB3Na_bE$%dv1HSj__Cf7PZ{3;cC@m(Pv{c$&F1*<6Ro5d=Uw@$jVn|qX|fb$ z-4`XN`*vjalLZ_iOrI(6Cj8%a7k&p%@&MJKlX--NsjBUCy|*2ujL<0eZ3BsRs4a9q0Fm#j9JvRxi1e$vF#|bv9Vv*406>C_D?3=|&+B^A z*E>GPRsL{nZUr6ca%2MUY7?D*mtje$G_0FXsVHz0={NTBAbKB$z4Q+{B&|Qk$xek5LDgG4=CTcnTX$n zpqeKI$)}kXvCh!GF7q5Q~-*#_i53uU)MSDsQ_NzCAyp%04pTW$nx)_U+q;zvZ zN`D{IWu17hpDVuKt^zzxGSY7b#U5WG8}q}}iR8Ctj1~_H@U;@php>2UQIR=iSxH$B z*7Ae)f$~QSq7ZNvp-prbYQiJT;B#}$^&*P>2})qy)i@1^k z+&7LzSnej@s56)>w$qf<#|!y&hNP1u#^Nddk8G2G=tcER5-HlZ{SM~w+^G;L%*Bl$% zO0z5ICmdZFqAfDx48uMEuj8S&dlV_-sR~TOiAjenmBUC5UZ>l#8~{;_m^DAvH(}FH zSV>j34s8`y_L~(Y1X-+K91VWB6VW2;TUb7VS6Ofo*6mJQ1pEA^&Ge0A9%rR!*%%nb zo}LJ4<-@fjP+|$hfP|&qNVx8am!?Sk+9y== zh*4e8mwR6`=z*@e#mg0| z0V0KY2GzZ$AToG@(Ke8M1@QW|1U<$dN|K+8L1loXob65Ql<1BM`%|S9$YYkapR zd}qc3Vz;5+^j37~&))yV?o?DW0g1R+W$57&xD_Is(Y&M%?nL#;$F;T1NPcZ|vBq>U z?l;*3zHHY_c?9$+f<#;7;`5I8PhRFn>W}M6y`KqAjI#s)+`0QDiNR&oaw1LHGPHoY z%RVdkiA*o>6sC{ib2kC%^fj~@Svt8MY~#vsZ@<=aG?bXzbh83IBnJB;H};96CV9`xqtZ(F^sZc<~d8?)mfhT!hW_ zgPDg2z-P%r!}cH|O9g^%%DPhd|Kcoe%3~bfEg}K&x;xXGyY?rvLs@9D6;BBDW{AY0 zMU!Ctgi$E&L7RrDvHRUiYV6L{fJ9iuViCBi>Ssk^YK$c9?dX0)_flaA=Q z34Y)N3jF6_0JzC2k%4e z0!(p}9;=oS{iSME9M_CPDO$Qy&b-6GZBfYnxK5IF*fRf1SZ*2dfKGxXivVeOv zQTj%tmo&+VtpzXhBG^t4M?ljeOw?oq=v;?6@Q6z4*diM_=7gt}-q?~v)ONKSVkeFh zIr2zgSJd{vT#fYHLpeMll9AAZ&{n^kGE^kK6V~qqDxoRW{{*Ib==xwnO!j^x6pp-I zlNG1W`vz*lahl$ocIMgU+cIc^lCVhSsRn+)Gnk}n6}}?)vCG(=jn(yeE@dW0dR_J| zcQKh8m8(^u712mvK5$QuFMgTZqGFYQl(at4WK}^TEaLfhd3!p}^(6-Vy-(n5_p-UL zJvEsN1pZCm^z#g*^!N^)lvU7s$p4ta&ba0)`xetd+kHF~6tUgzg7IAo`jC5;wA2bh zta7(em2w`doJB0a^63>wtC;2(U4%tk%db7q?;+cdtYB15Z9@*{4N`zmIE`P=blF%R zg@w|1y(vDP501|i~{%!3I;bdig0)> z9yInb@L#LtL1bY;AG-x^lAH5`Xn+dnTE@_oT;Yxxz10!Doqs|*6`DL0PuD?22sN&9 z$hw==ZcQqJXIfZnJd4(?J7?8--Dn+t*=5^`XD~uzCs7(DtYdLQ@I&a?+QRYY%TQU&q>L^xx`Asm?lHA_Xegc$bp>>&pQHb^E%b%nQCo&B9CLVsqa|^FRxs`@ zn|599@Mz&ADN2XME||A;q6= zpu~hPxl--lNx#3p@u?MPnQ!ik4hdZ$EYAiA)*9%G8>*OFF^qHUYHHAfq+bfZ9J7?8 zxeOoc;O25F&(J;}pNz>%plfIDa>pu-6V5Q(__^r*83MRT#w*q zMbi`v3A`bClg;!~c9+e~CIpc=lc~dv6Arl5ZMiOOlor{MLel_UTq!Qj^b^ob0M~z0 zrNw4;s9ibgC}X`5(9gKuJ$8$^qpuv4sSng!%_@Kku)h!a6%m#}qb{0~P9zXZ;rWu@ zSwyS4{+WCS0$dgCD;u=IV*LJaISpY6uwrE#Ta!wtFP1 zj*FkAVSn3vVk0)MwRhh{Io#QxX4*KL>|RYq*aI7K@-$5LB%MO~*@_W}+ON6&Czhsk zI605wYKnX!X?UMz={Gr#$;N0XDqLUVIM~`wE#l!m7?P!^yfGQ2XGG_WNcJya+3#dB z%J^m)WV3lRpDay7R>y%P!YCT<^v)Oz8P|Hx_W)J=>UMv_m?wwS3`BNS_*LR>$8A=K zTL$H{TeXdT8HJ|rkvJ~&>aD99hodaQcb!TeFWXi{qS0^?(^3AX;jp2NhNH)Avo5ns zQJr0Si2~|$JD0yqil{z%$ITY7h!wk;X`6SckJ$RI&s=oJhKx*r!m{=pdDN0x%Tl6V z^^lO)*$kKj-E*%zlux?v)G=e(%vkg%BvnHqJHo~dFdnLFnN&EGX50pu7>t%VI`H)P zBgs{>9W-#Fum(%FjZConcJ3LP5OfKuW0kq(IuJ!-b<5ib%7lw4Fx55x!jE<0I@&VI z`0iAq2Iw=0JYQLvD5t}e-vnK5{chhl*-U7S(m1kt@{dkBQzOPjM(@43F4y=(P&moI zPSPVBw#!ErP=t+U`F%BMs;*|!dqt9*Oq&i+H=^cEbK<1?Zvys1(<}sR$7t-!SMi7?p?+8?}tygS3_eTchhRIWXey;4>Y;=T;i3 zF{vK{a2U~QL{#IOe@1qx^qAzvery3tLj7r?#0^(7*J3?c#H>u(r?_QspOeb+Vl{FH zzA_q!Wx|@1c#YJeK@u&A<1lVMdng%#!o$H2xcX5ewU;qXe zBY+qX3kZp#skx`Agf$2>18oRLDbxxrs*a4<%2?iq5iI@p78mn!q%{zlCr z?MpKP#w>XE6OP^M8)$gOrRxI9;!ll%twDD8xLTOx_k~K}hXy@l=B3-ZtVUi&=5kJ_ zffiR24}C^5Z*~ZaC<9q13o@&sLj9ey{wJ#m|FlOvG0KS5ea=4cE>%Y%oBWxKk}GQB zJY&&4Rjv=n-xd|XF^^HK(hqRU}QH+Fq=-;+`A3jusF8oQtBEQR? z&%hL!h>IxOR~I}&b-f>9oB@U{POLEswKUx&3>i_)vQRc~$cdDneX7rxwB1M_;v%(V zSS^Cb3DbsOC1_;v_LBskuKO57VsO* zxB-AJH)A4H79wsC%H?G}N`+$M8?a|I%8bVxa~whAk(XnpF7iS+f)hNx)!FaKQP*7$ zadsB&!A@>U(H-UgyeR>#k|>L93LIEvnPe-yt`Et_oi4aE3dSBqA-YPCMOEAP;HIHM z`fU=VXs&r~=Ac6d#n#+hfuMsNqD$uM$C{Wi={O$lN9z0=E&5W5yr5V$Qv{hZ)w{L5 zkJzTTwT`X?KulN0<(HPS0cbDeZ?9R;-rI270`4bYTHFp)NuuZq0(aa>IlwG7qwl;1T z>a-{ae1AMiyGGgMIi4N=jg1a6l1wq*TqBNWcKr@Ld;>>WbzI3qrGR2tHx(}?9`x>SrAYf)XN-6RsJ^hwa(x;hs&fhYV{)zl4P<)N z5W(XjCEp@|1)SC4cRh((qHha4`HX57vd|W5mu}wuHwAtuu0&Rgq;qfW1dSb6zj&dP za0cy!BK8w!x&;NQXB0Zpa2ByUOb!5HwqUhTVXk+KQ+`7c(aHc$wW^FPJ(RT_J|)a- zq9C22@=F3zB)aM0EN0rt2xx$n6+!RNh0`Ooq)X4itu+oXb&fZqnM}?}<*1Eb%J`Yj z$Rv`O>YR5RzI&8XN+^3;mhnL_yaj7yf2G5_i(;=y!Xn-rBEty?hx6sqwHo}tWbMpd2`MBR4cxY_3M&wVLUrzAmyxi3Cief^9KFzAJ5SGwK+C;FFGy!_-qT zwsRp__AxubG>0CLj&UB6)Qr!~5l72R8n|$&iSeb2}{v ztrYzCtKJPi`0LGf%{Zv~O~Qm?Yp-8kXPTp{AJU>oEJx_Tq%E6|C4))&W@#G4tYLH< zZvFHp$C}-BLb*|TfCU2nWB-1>$zIIJbjMBZ;z%xD2JKkmxvqw+w%wbXs$^sYlUo6} zcLq@;amNez;+`%G4B6RVM=TalcB2|Zn+ZY`i1qnCgI z>o7`-9pImMR2e{I1pB``514$D4qMZVoDQ<#bT=F6*w_=OvNgI3&yyw0%{10j>NN~$ zCnpGunZp}p#^sqB4j%7f!r1&uO0xAAk2+(TUmVkHM%615%C#ft0#=mjon6rI z-?hyQ>g{Wur#{{_P&+^2e79EaaPZSSNbDG^{L$`Wk|H5H@w4c}yW*9a$@`)ykPp&Y z1)QKB>|Ir=fbuRYrC72mlzx4P9d00XPBSp0w@6Ck2&6?->nXC? zOG0FXEo$QtFcpW5D(aLCS%OPID1B%(z7xct*8$>mU#_qUJ7fEYaGHWqIy%b~icBs6 z2A<$N7G`U-ln`KdOIf4rrn6ptPgR^Go6e3SNNu&eQhQ~Vd;arl`vgSV9<>0Um({rp z>#v}c2v=aoN@2ZQwNLic{xbS5hXW5ms8NY#<6UL;W`0>cBb$>+F&Z1d{~+<67+pCZ ze;o2GuKRM6$x#$zY6J(5gE=tqRW~=*_Ub@CW163x3UH+VTr8nBm=%88vukzVA*yf5 zF1QsFr#)I>;Xr(D!NwKcsZ!r*#MHuVj<#VpvM!`A{Fch{AnJxTtL#yoT{@nIYt1%r zm8Z>4VeIav_THQHudg>hXa$pIFz0{THQ$AIz642JReX`r%{Q0tY-!I0(ySm_ond={ z3A!cLfZ7^({u#r}+;AI5tB=NkX-)hwtsl4O?V5E;OR+?0NCx63-EK3%{w(n3eXMCi z&gw8w;c)wIo`64*=?qSxjUOMd;S=cz)E6o!39{(ks6LXZ2ibtT`Qj5fu)A6zVUTw-DiNE{?{Z>eG=YM@h z+T*JFofPDxzJ|TXz5(kJ2`o+Y+tD-R)cxsQShctu2ANH{W?BG7AIqONjI*G?9}YG zh2#Y115k^-h0Hv1q;}J}9!=ZDWNjU`j2E{nW<29k*Dpq6XD4G=5qU~F2kNg$Ecpzo z*QdGpjFM`vo6AkB{5GABliKlBu5kR>@#!0<`63HGK82+jNpYPXbu+Na2UrA60pFQW zgzyYp)C~QhEtn>W33$9C8q%a1OogypaD$I=b^0Cig zX8yTUfLxDpZAWEc^uAwqzRvcfD)=kP?68}O@%&}^%{xS-@VmupAWOhxt#O~BNijW( z)!4gu+x>%WR7`-rW!`V8M@j-qLV=lQ|1xDVC@lI*K|4WqQ#^@%pZCCv8=BJ z=~^#B7-pG{$EZS1!$D#K&ETTkxRDddu(z$~jO9`+1$BqwYLH3FD7#-O)4k=c$TW*? zUP4vag!f?gLXlyODOmoD^Z2?pRw(ljk+~WDn^pk=b>+IZX&)J*Q3+bP&RX%>fh*h^Jj2x(KVs^-Nb+Pd%DdfcHAeE>++bi_tS#z3q=`ZDBs7Jt`vc-vMp6j# zQT?=kG>;0b&%l_BjErK4pYiWAZeQ-7THXZs^*ARc5)A#p`#rXi=U2C*qeiqK;m;_} z`Dsy6k6hY|k+l=!I)fNs`L}&;7Vt&u6Jwk}Uv^K`+4F6t!`a}yycp~#gikV5K`jM+ zTQta?w^?nk(h*wpX_VAVsTzRAQZc)l3zD@xY-m|gmhEjTN>Fp5mD3d7%V8t%C&$Wg zC$pqciZoNxYYIfH)n8|uT7w5P#g1VCwSau%bCsQwh#fWjdQA0b>2jmUG9(RFD zyHMoc53dWdlwbYcXDCX|P!{Q)e7l)2ZUdI^olgURVxAEO)+F@Pp%ImT+5t%8U0q+L zxk}Uj&I~>gg`O8hQeiD5noSgFw8j;9_oSR^HTh=^JVc3^8LVEiPd$iV07w6%=cDdn z3h|6cFrzHqVw=hdZla8i>3x~=ZIA!Rs@!R@;b*>MgXD$}(rG^&PcxCKCb0SpDbLSL zg*CR0j*Lw-)8l*xB@`rtyU$({Xb%S&Le|*aZ<9We#>SbrTx`}a{Dd{%9l1HtY`91P z!iVSXi)t=Ot4cwryIoE@<*(50qPohj?IxIyhVLK7NQ$M*M?_6sHR}43aMgSFyGktV zzDBvfR^%G$1#w~kdw21EVe`3&U>zsXR}!Pbm{H6mogKFOr_b{6n>{@W`H%iZ@YNb$ z25bml)HEp;x}ZCn;>QcOVMavblP7f%1Jf}0&RT#t+N5E`>Y^NtkJ$+OOgwNOb6rRB zhNH7SBagQMm13G9&HdsY6?qdE(5U@dq`zZZwFY#F5!yqn5F?_~N9c!${n1Akz~O$r zS`jKReflCU;%00aL~2mztQa{4EVE5i8+D(Hmp2lVd1^>SVL>N4N-d*^d&6LjpOL17 zLx#b4k{+7#6Gl!sgX9JVYFjh2B!>M99aFiXtVq7Hq*lJTEs!+3O$MK#Xp5I&FJ{#3 z0;+<#tOWZscufqheX~P%`Lv|Z@L7U}-?&KA!#61xeR1b2g;~L!y76^*X(-PWyhzE% zZaCH?`o1=NRa(-v4M!+d0{Y9GD{0xZn7IiFgWubgU}l*n8Y6?a5;1+qiHyI}!;}+m z?lY)o<8C(oe{LN)zDS@Ihg)u6bDm|q`hpWiaoF2Wd;n%ZnZIg2L}lcoTF4;@Qkv#i zr6F___&Dh2V-CV-;{HisL^wtF7uflf^Q+k0DNm%C22R|4A%@$ckl#A+?+c{%-pmyQ zq0e#TY=U>xr9M3J`Pa+7asj`C3>AjQvSe()oE3R$(sRCL9>t?CUYtg>H%`|=q$)!lGV)(op;&o4&OB7V z@kILyYy9(!Mcn-kVZUI!NJ*^)?whQ`3{54-m)Gc+09i~M#Eq(LvrYGWa{aq0uT-sz zKa)m~`*#1&PO5vCvsD;*ep!G(I=|_fcd$}~oO2W5{*(F2?ngv&jfeS%fs|w@a*qM8 zT?EVZ%Z#E-8;#%9!i;BrWh$&uU$Xn0kuAVzJc4JKrH<7=WF`2X6c^yNY$d@BW2H&VGtzM_o zjrX(&VN(F%1-h$f<`L?1rsqmnaxXPdt~SrzltrZhyl6bM1Y26Hf>G=8>h*qRS>EkhO?=8OL1XvYBi9JSmJv zcbSPlxvU2AZ_9}O+~xxm&%p_9JXh!}cBDs!zSvbQeb=+fAo91>P&l)V7K0I&uO2O+ zsUPFia)<758>-`>w6uVE|OCwicPF0%b;U9jN z`zO6sebv915zY6eY8p6jG6*>`-`nnA-F~7X;06QZ1Xr}gosTJfN$;@_f#UsZEhq(z z6SZ>wGcdv6G91Q=8g;+9<}`;(xmq4tUPfb2aJW1>)jQPRFMs`h+V#E&c0e3?Myj%2x1nSePgv5bp_`r0vK8t<+%A#NbB4K~v&{wNOeTB7@wZ9=W^N6l<4ipo-rcJccm^g*!7MW4`1jp8O9tC* z4a7!5w%tLa26Um72K?nPR2_gw`wu$9-lM;W)_x+HYfT7^V4|v%^pfsZOk3{VK3~W< zOg8Q(VbV>mE@_nA&4oKSP}^cZfcRlz_Pf3NMl@fVifO>&F4e?J{D`KBX=HZLBkmZd zPcE>mGG?C-k~NYs<0G|yo{M)Y`G93WYh+sv&;@Q5I-3XUmG(QBfn~xt0nn)o{v4*@<xqjl8toy+)u?GA-LeOEa z`Ebt3()D#5a!jK{N~>QMM>nK_Im|Yyl~(#Dfqbz;UI`jN=4Mm%M>I9fXs)lc*!WOZ zf@!eD@!oN%#IEU_lXNoz4q-1c9s^tapjs+@$?!3bBdyQ+McwWbozTm9vKPg;cW*a| z{@b_$wK5X$x4!0U3}>2MO>q^;bV?oCU`&)pZ)zN$cxD$O>S86excv^JJ@7VH39e&c zz~f%F>f72~ils=zzqrOK6GY6Y{dlv@bZ+}IysCWJ^DIeR8e`-s=D{{H*UUN^Fmiz| z*h#~}&u7XbeMx?Prk1`3XmTY@g$6?l4QpGRsVtb8izZ@*Zpus7umUj}(EEsJ{&2 zL8BDA#m7g-w`$z$XIO#_XPwuk=MwUwI%MZ^3oCrj5)ygSe&HEQt{lb7vb?wWIEC3*D5CT zeq{o{?hFlDZZ)tK&As3egAUNzC2}*loW|d&0eb&2ef|cbyJIpIWz^#++f;>nYi3&l z(~Sb(p!efAV@jUFJtAn+h}%mMls;S>qDa>8cU1ieO?mMjCTBJV2J#gq*+ABkX(^Af6J)BB_{=dD7k2XZ#p&;zLi{Bk%RO7O=?kYJ_Ep+*FI)?)RkW=u}>Vwd^l9q zat+P43p{0&TMTu|?QRR~%xcVlyHj*;QAsZOcdxuqrDJ5Z(=(bnv)~+q$Q1LgQKb`k zEK|4tra#2KEFdAH@6pW#Rsa_90Y0ggX(U`GdzhD7n;3fR zXE1Y5K8cDMd3Rs3CkD$`cPmgqVAonD!8RQInyUd8@g%-K9|WK;>e<8`&JuY>B*prC zY3{KH*6Jwm&bYX(GSD^XNyE?04MmY`D+U#uqBd()zzssG_;tvg;mpSaFz>>N%YdiM zF3NcLiy2lhq`VwAUIaTkjJ#Iaidk24(HR(!5J#fbM?Zs^`*AT8srIhhl17*Kp5%~s zeZeE5*nxB@OIedG&h^l2Nvwd9A49f#hm&D4Ue@J&6OR9crUiMKzKe6Aw+!h(`x+*8 z{9Rf@YZfbdB~c-v%WJR%wRT}dyaY+m%YH;IzY%psG(}QrzpOo^V>FkM{w=A4z%4kD zM5Ak-XycMci%9#Wb~$0NI?FT}a)|=_ojRu6wq!}L=aNlL}LzzzT zG|1C4vOLeSGPG>d7l{?aoNk6c4D!ITTO-Cn4|cp=>b~|hp|uBtb;(HL1O4*NE0|Nk zOli~>(PeZQpgE22(l45tRcs$e4ub#iW>_f&8>k}lDuX$JWBW%^BqmWzil~T9P9~o+ znwh5Gs@hAy{#OP$*y8B+KsluMz2`k?5^t0PF9#~K>7B542< zV#{&^s2(%8`z5b1{(s%<5Jq%}#J@PbeZmpPr0f$yUAE{uC5wZFoUD>Gjvn+~vhbmi zq&GXpcjR{{fcjAg*hBLhF=kH7^e(0@Nqjy-e~<16~J&=?$&acal9 zB1^mexy4gNVlC0>94y~<+ms7K^(m$SdwiH%=%jzna@TrpwV#u>WioOd*x{>wK0;07 zdz_z@EEHKq-96q35y%C7CW`uChx%=pr!a_-768=y!KSLby>O)QalHwjd_obEq=<~D zk#}-=driv{rrire4fGunm9M!u%qdv(HM9JsFMiei`b=c`V!cAr@P?8`|m_*o^BlgmxDPO5^P-mx1V?LGKFJd0K12 zQDi_^U2`Jf9=uT-LW5;~;rh-nrt{ngp2}f&Dt+RrSUcK+YNkoLPGHJa7bmka2dS3v zE&v7Q?;#!B7np$J(2S#qjEM7M@KdaGgT57@fC}I=20>O7yg2RcTCgF-fSFV z?8Wl0E!QU?EmKOKaA|HS%f(XQvja$I%XSqoX^J;`N75{gjI{)Jr{0k)nYsLMp+51* zxub}Ocu1Dl)Wnzy(Z^Pu+8imn#H!hMW(iAezD>Fgj41Lnn>yWfu97xh{%5c1@BmD z1Q>7z!T05QptgRFr(9i-V&5WD0MY$7*_BUFQp+kzvf#o>py*)`7)_B!1>WN>UIeuu zy51oytYbVOc`o}ut~?I^Q#b1q(JXqzK@?dceEC8vhD8D-oblZT32H{?qd0IQiMifR z!4vX8vMfvjyJWO}Ef2n-&7)0@26n$FLlT4aK8lvpW_6HT-0!I|c33`&g58<`(;@oZ z+fZC#XmwB~_3(1fE|NWKYST|1zY=Rn+v>~tIQa@ys3n^uUK|>?SikVNI@hlA8PJSJ z1vFrr+QRt&;XMAUyuj0pJ$iDH9E8chDH;t6!S)^{cZ;g;!}zZ{-+}+|6PuF2q z+z5zK#Ny`OmSjDsJi5%g+;52G1hu2i{kkl)GE?id2Rbz;dpkYIfzLu!97OfX=5Ui{ zA?iazabVH|kJ=aV^Ymtm zVHne#V=bY@v)UtS3EEviT0bMZl!in|WVh2DxGEjY6$TG5wty8{mPtxXFkTPBjB*L} z-{u4__`Tg9cDYFfiWs@-ve8 zrBPas``_=i1p9d$?KQTSimR_cMme%$;=FE^iWRiswl4$394gQJR`&CsMK z;^@7c@#s1X$^$Kta`b!HDu5&hzfzWO;VVo)#4KmcI{URRQ!LUuETSbcuMNH@Q#P-+ zdpbjU5+mG|0tY`+cKj7MKTM8qH6nv6oV^`&V3ZoU*~ z(j7EfOd}`Vc+j~*Toj>xs6<~C_%jyiMHG05m&}lF^z_M(F@9Y+F>P>N@ggBAKk^k( zYh##RMY{iYQPpHB{<=IMn6}RsrG(9emt9I-x|sk%ttU^o^o^I|`Y^dsbeNUjUz*_X z%X6kS+JOg>xt(^?(tbvlREJD9Vq#8ag{V|KZHZ4_8pWn*uW6z5fV7n< zK~>Slb<1$as$;|FwF) zcaX%U+XQAJOXvISjm%GZV(9vDyd_k-RPyk{yEPy?XqVMaa=1?yJMK`@YJG)s&p4DK z#ZIIVv5D8I-SctZnvxnj!jw64tr`Wmawd~qf|tYt7hqO1W2-eSngXKWnr}=45%!^B z;DFNZXcdio$|8|FrMLx4MoE7$szxd-Va+#E8+>#pMrTIyX@8MJnsL=#IbgCBr2rMy zl48wfn|!paVro_=l+UZ*Wb&|GuHf6l=K2JS_`ao|k?0evb2eQ<&>Yre)2lxfx4~>7 zH3{QZ*Yhn1h3+ndbwEoAnu90<1tWlGSkm+>uoN+QTa{6PA$s^Otcvrt{H0k8_D14itxrP>TeH*3{Q1gUXnygv9*p!p}Dtf`2|ijwGY50^v2ysbuS9@_nJ$ywDqwNVfE4NtOGh-~yS+C*vz>z|Sw z53XN&;3vAGJ4J*=h<;vv{Rt@$a$S>N)2)vnj*V&T^0%P9Bp>>XkMwYjgz;0}$x|~P zr6kc6dGg6bY(KM+U^Iq2PIZ?7Qo_UX8PH=5Eb;>}((1aurOjdQi+c7auw!O{KE-U- z6su&G1?S~iTPNaMwKgoLoh~;%)Z(lOzELCy?s15YxC`HVEO@`nWqqa2?#0JpupUt% zvQn#Hc-tJXugu`$WNh}r%KGA7TA(|vlim9E8BdwdMx{0vtL@AvOUCzgGp7#8!{K6> zJO_{O&rj*RpvQku?CCCQ)h%JD#JY4AF)Z8mD3^dmXl297F?Z3LL zpU9+MmHyb?)vB2y~EpE-=cj0_z2o%{b+S)_q$q~#m&I8iux?O&vQs*Y# zBGlBJoz2U*nk?cnHB6ODS&C~KrHqd)8Cs-(9={Aden=e2js3=Nw!OM9vYSusd!{J3 z=}deIF*TmeF{#qr-XjJ)VV$wlQ^~ft1-B=^uMD-%IJ;9O%UfCW{I*0mhuP%ZId}&Kr3-gZo3Z@#_OwF z(6?lk4e36aJ?k_SJY6_H^Cwo;|AeOEtyrGUA#(HxL=}`&gWVxGF z&FErG#15~fcf6hgniDM%7U_TL9)zqgfEw*kb=5rjf$z*4QJx%yj+r|qJ3xQhhF_jD zW>wnDE7VC*O)MBZMWHutY#de-bvK$HuhpkTjp^{pI}HN4VA8K~1!>k4li$Y&Ir8|2WUm*eT*BR!#7{ zyK59k*wTM}48MvNDYCNE%o(($mlA=G1r+6&ZkCVXvM@-u`n(wjLk&TH;l-Elv|H7|CJWJZl9j>(K0*HI_8# z%?08ck@A2Di|mB=>}OkKlH?pyJnDGOmuU-sl!U|Jvp|jBUDE%LC%%~q%wNHDzBni7 z8Jq;|3Y0~Tf$M;2dvF=BwNiArz7i~b--7@yTjW5tOmNq}ud_2WJYF2lzLDsdpBiaX zn;Pg=BNAkv*Nj@E#ib^xv34HE_HZUHWw{-di#f-F4{1f`q{Bx<=NxNIlSPz;4jZrh zjUX^7y(y$pbYc{_Kg75=EWe;VSF|lf(2`^Q~- zxB8|*`rJ(h5s2y@ulBU`od=CerHL_u$PV zVr~N{(zz1+IOGy2Sn3JLIKGv*Gmd%20g$N0GdMG>_03T-BZmQ-TT{6V8l*YsP^1FW zvb+F@+CT?epcfC(PcRdHJ;{u$I33F%O-$4!zZ?Ajri1rYos0iTg#30K|{XTFAFpy1xSf@vrwa)g5OcLw$I^c>JpZE0z9A7^)sFk&B6du zqniHZhz(<53mQrl5MXy%_UXHN-yMxNo(&o^j?s?l&V8+Qwt}x-d7p5)zW$4{8|4je zvPa*yJH6%5BHENWv_b8LQ3RpAO1VoW*bC&{3V9;EKbnRYkIuF@jdB z{+qr>rwbXPMvj%Tt-byvdw#mfDj>MB#cv{OK5Sl(&*0|pPozftNi4E)zW2?@=j4QB zln=xd_N|+*&L5?+3mc=SpvG;j*?Cy6>n%ld&F`#zGHvh?Nw@}$6l8<(sk-1$8sU2n zm!s$G%1-tEgONnwqgkpSIWoPo_hwWonqW2-X%YCCn3s^PyB+CHc&WSm1_T_m_?Sgr z$ErZb;l?_99WWL*;}?Bh+Y-+;hZB$+$1f1gClgFmWRlkpl;QoT>X!7R2IB6*TE(k3 z_Rh$^qZ$2PG>H%9WgMYkCbCAOn`5#aM}F*KGb~}t zY}`{NZxztdTa=S=V0IxSsb8#As+0k5SY;L8R{@f`ELk+;Wp7fCRqA`E5jUx9{XSP)9_hs)8WTGC~c zakU>8r7iCdh}`c&X9}G zSo%CS)6$&9UeH@a%po6(C?LQDidQL69YwV2t^&hy3C`N?e)Ab?sP5<}xt8qji*1D` zbju;CrX~MmfVQ>5z{4P%OS2K zhNPp8G>D}5z~hgKsjrlS)v*si6Q-f#GFbwOfBXl4TG#rMUJ?-NqTwC5r{s~j-*((1 zfgs$c*eJRwEQ7V^xMRAzQdY=Lt|Y>?6pD*{-$&Q7&gg7j$K+MPFshv^IM{I5v}A10Ug=z-K%~-+uaPKBZ5NW0rQ$ zug?#Wcf13$c^h4%K$mXCB6vvn1f=CVa(uQ*8=-};D1Qc}G$8WhaXt(XM@q_JnnjN0 zTd}@%>U|eG+X!NsoGa`!kS(i+l=MLPRhFLteNVQE?U8nJ3j}ou4exs}@Df*YNdsS^ z^msYWf~%W2KhTC8SR)w9@bb(e{u$T2+#o?_zNFO#>S}ZOsk*DUUVGgpeDoJ}R7F}} zo*3-^)*!00=XrDd`GnEtArc2N86I~0Fv|04iKbwHHmb}uuVg`Lag7=n8M)O{j+}99 zH=7=n*`>-D0~xpDd{0w8wMP5fb4SP86dhB8Exd?6vvoY1*`obP@_)3F&JM|dWrKA= zmh1H!6H-y>=}aOdlu%dFDFUhn8==Nc=UX>GBjfQq>s(cc5jp`18?v4PyKb+mfC>QO zoDq?zVK+ElWW4bPmevVs5_2k!rx|}shT=x@m>Xs@?&CmTn^6%G?ToSS9#PH7(E$;1 zRJSg~BtxcAQ!Hp&#q-oXI3y|)klRSdR@*XTciW~bY)7ls%DiVFA|4&^AUke{}0=A$;wC^|>MlXy=0?(a&k+ICaVK>7?s6?N7~VcAo_WoY?UE;@y+ zhfU=Qr1=!VEojW}E3|Q7JQ=Ze952%5aybh$cD)Y%6`a5ahcYk%Lzh$0WW?AaOP$)< zKouWBKGR}hX9F`a>?5h5+z#vnVjrO$7m##s+UB z+`9t8eGp*e_s#dwsBP(0jdKPwGk_p}3~5bfIzgZ3;3Om0bku9U*b(7n?%@`=d#4y( zfMVRbi4NdB5q&!S$%F)0>Z9fkr{>CQ>-%B&x~G=>I+oAOyo^C{I|~oe*!Yb`3v9>{ zy7lqQUhN6$IkHyO6DqU7W*cYL>Z-5}nbLTORubRF3Hodqye_Mbe?3H_DZH# zH1mcnb0orgG?>^)VkXR-@uy?AZOA!DlQ2kJFas#xV=(YXYdgL$M>bwm$m=0LgA-2c zC>m&|=%t0tD1sQ~49&D+v4@}nZ3_q2+C!Ij9Bekd_s|e<6-K6S^h^aKM&!sc|A{1$ z+=Mb^35wnQ_93FRi-zlLH%DWRt51Ta-@}cHo?$6lN&EIz7AchZ(o|dTa4}smiAExi z$A2%n#Xy+oU?(8Z4+T}}bWY5Xi*bRh1B^jl zJX6r)rzWA#FtFV?1~oKgtQ>aN?W8Qh;^2)QMNFp{Nr!lmY*AYAjefcS6h@c30yFw@ zO!o!gta~R&{;pB^b(EX@iSdIDHimXh{zRtB4pJnb%)rY^nwXmLL1o(Fh!zdDmuv%c zru6|N43|w>x&zLwuMjdtlIHo=F7l+FxpM}~t8jCbE?qF2G7F=8xJyW-Uvxp`3yGAK zs8pi3%!9?lnzhekB$f^LLXhBZ^1#087n^-btV?GiSn7_h8pNj|vBmuj0D7i%S1g`0 zWDh31hlC44MGg(m{ZF5v&E$D#yqyB2 zZfY#ANGl+cW>e1wWXWsYhNp*X7BGciQ~MRe&TocnxtALMpW8RPyPC7a>< zN|(U(`pvXzb~C(MHHci9oR+_=m0-OnS$}<_KhemA=a{yQ68UzBG|0?U1NbJdmf{55`XLT|+u z0SRrN(bQR+e=x!AySb?|E?!%s3i88MQpVx#u9ZFRkZXHYJXAC@ch||g0b1;cZs;H* z+1|V!iIbqMez{8!V?ri7HZ9bV8C|CHxxv)(ow;4QbiGHm%5Rj;8Q*+b%HMm5`|j~u zUk|M`RHlN3QAMun{+fE1X60p89mwFi48_S7!S23iKr=PfnYwFqy4EPWjepV5xaE*7 zcQTqN)1#p2pl#>wIu~HYwqW@Ixpy;!h{wf7Yj(kqCd=UscL8=`V4lh}@H>7;Kmpc8 zhR{zK#Z!PE{&+fN%B!fAf|%W|*pkw)ag&b1qME#xZ5sYO<6XUBrxnr6-gVaCZ8NmSg#v*Q5|h9x-U?-Em%vz>HAx!h$&Gi>39)4> z6JW}z{wl_*sAkrlTuH=O4Qn-}61#6y!3l0TewfD|r_Pd9BL3`H~RHW-tv%>W^N z?gU&p5F%P=$SLB`791#3gV=zsqN(7AEU!g zXtJXRa3T&e1^~@Wp9I6<;8!i=y1{_58tLF$`wZ*Qq(X$rCj8eDsA5B~LS)w&IKh*t zaFj7p>U7kD^`d-$OLXQ^v=p?k?@;(T}=7FwDSu25KgK zXy_Dqs(5i(|9ybGx`p>=x`yx9Z9V%8O`@cSn3A02#d1$Gdwh3(dDrOR{$?80#<~YE zb`0awQI2p^tO~B97X6Rs)8@N6|C_!luFwjztV^!`bKf4jY*OqlE97*hfOj4mm&ai& zz^jRDdso_}Y`zo!iDrK6B^+di<#mjQ3GszA`FS~yPwg_6fK4% zVvT`}&!8KL(Xh`d!V;FKTwAylOkNp`Y>(UD1JdcZffgNa{6m2Iul^; zM3u`gg`%Y6be4kTRQ7YENw+ij#^22lDC!+c0BusLk2xLqBKV-rSD8w(B znZpfp=^SluL1tRo%AtBRJ2 ze-cAMSGxMHW`BA?9L&U%8ELSq2ZUy7b&u%glTw|11gE2sW~BqYz)`BTPop71-n0U^ zp;DF&`i@2?q|-0)Mw&UVa)gRxjsfNK2z3lGiW{Z^vuzK$z~y6ha6<a9i*P4c zq0Ke^&*{x-M3Jf5p8QEkTCU;4v@CFjW}8CACO=VyyR*d;-Nsf@WJPFkS4md7tF^6CMVPr9m_9*YdeDGl4@SdcIYQo*bn=I&} ztc#>zDi_3#ssyc<1!&U#=^mJH>z>ErMyFjC6RWD}Q)~Ba1E*LHoou;1O7PK+5@3~4 zepU019G5U7Ok;=?Krq&ZSDbVA)!SWA70k7lJ^FUMxrC1&GJZMLYNAb!!??Kw(cgh= z>Zp5tsxZWyz#XqC*xIiabwlHwTUtJqlOT z!aaO+FpiTcs&RsF*1`NHmgm6I&VLYu6MYWKwQI^3aQWJmUuhV*A^|E*s& z3AB1P?GjpEJ$J_p`eod%FeXUo9JM!f-(fsuWxZ5f2;|5|aiGPxohUX}U==mfZm<4A z&e_!R8av4I)w+gouDSFUcQRwbV|4kyV`^|Znl;0J>@F?L5#Iyj2=jmo2DWX0rvTL+ zAlfKT4!xWk$eqX3*>Gv&O58ktd_X^9~hN3jc1Ar84Ui@LvwQJU}D zn>ru?sRX#bOUmdY#xRrm!6!sTD4FzLPOCxXrK+xBP6(rD@AU#6=juraq zlglNL(t>j-&}Pn)l_|wndIuQxrxrog%S2^-E2koj6~D6>jMik-D9j#kcV^wn+fkV5 zljhqyJ%wWsCp60U>(i$63{MBmtC4%HY@8TzSHc)4RXV5Z7d{X=tnc2rCyerIMwX|N zL)eE%%h}%TxUy3CdYYV)?vJ{m-D~HN3pG0+wF8AM2A6*XQ`J(|U9%IG9|o-f<-oGo zPqpB`MzAd)nFA-dV;{6!*&xi3@NFgtX6$;~+bSS+m35z*u6x|Kp{RRy8!d6tGbLhh z9m}}O<)D!xM%tNNf?C4NSJ>u>lUm-6xk6JLS4E#h{@F~i5%U|z#!;|1)s}#R1!>~+ zozX;KNwQe)O(n?Ms-8th{2oF*<0TU;orLOi$Y6!0Bz;?-I*-}tTy zrOrJ0J~3%KDZ7|J=&VyldN8bXmTAkm`wW3|gWb&fql{rTNNGpYL7ZuCL=VNr4O2fH z${us$hzjMpV4W~mo@+c_p%?@srH=V#3LDBK_jnU$II+lh?dX`?*ngu?c;>5@zGS!vRUo;h3l7vFiy?k zMUXZ)_Xj)DWevC6Pb5l-X~Ie1lo{d)ozfHF&Ihoqx`daITmT3iR|W>2ff9U&c05XN z?thmE;7B7;>}11dd}>Z=svp%$S8^SnTO`-cajm_5$`UjXOsHf|vDQFw4!KQQ0hiM4 zl}SD0(cLfdBrXCPWo*2IV#hLW%MB`;;Wtx>k3 zs&2joq7O9_mue~wR%tNGi@e(k8xs5!~3bKncg*`M1M73{q5-FvUejnp}@lp&|@X?iWF;}D=PJ`Z( zwKg~Lq1?voM}rY)dT$&P1)>Bn>67%vLGf18?G$z43gGk0*M0oDIr_{&VwXa-x$|HK zFm9a1D?XB}GuH&{Cp3L*kSGfTjg>h@b&Al|!q`=S#;Z<|G0?pbQ>ym$(*;Jt%|MbM zcjX1sqBv&3pGnshc>MP~bNm2Nt>0k$whh6owg_fP(90zhgb;yoaz=GGF1od0Vj$V_ zt0@7obd8K^o(cQdg8UdN?!6fn?k_Pzz@*D~h#BjsTH>UHkzA0)9_{ETZVg15K)28? zyeaP}G_7%~B9XeNp}bI)l8>!nSEk>*k%7Rqk`GMF6Fsua)N(cVqrtsb@EQ30o2Kgw zX}-BHoFptESUK)L=vHV;$rT#`l+=gBDan5)RG*VjirPmpKHs{zzUVWytmGsTB^2K8 zM4O(~xr1cqanJ0g87b!?qvSN^84kH-8ns!k)HRI0-qs}wrOZQhPAp4M$wQq7PZ2B7 z*_&;?N5#4t^S8S-s<0fqP{&qzy9;cY*uJq7G}qExyXIMBU$;{xM8t?)VM?+;tv)ka zuP(4RZZoD#zK+ZMSzwq+g)jYsil?cT;1YFGD1XI@8;zgc-s6q9tr(?Lk4o0ycE?Zj zL3Bd0--M;Wg_@$?Ga_BIVo_ca)($L6cs#{df)L+9xv!OE?@x#z5ctjLQ{?OxhyvqO zvpsv>XfqxiBAAotEHCDPG)Z<;E^qTXs&vc8O4r#nE~%PaP=cdg?Fz&K<{!f&#Ueqe z3UM+41o7FCaIMzx9SG|AO%zA3r&5MrlTlF1=yeW-$8DrB@^*WbDJTlAb~e|Am0Gb<^E6eD7I06v1xm0 z+POG0DM=>AR|p54!QyCCr1pKBhz05>ieD+_3Q9VqRg_7tpB25%SI|wUxO$#fUF8Qr za33y>+XYqQ8^SOmDai~AIs^81Ne2Y_+Uy=-O`=d^yEXosaYeiBdI3HbFfN5U?6Bos zMY_xhO&4o!GsGAbTl<%7yaJl3ak@z|AF?qPG7i`(d=>L_yb}=Ovxb^v)b-KIHt~&( zz|9mpH&m%z9xTyhyw0&^U`k2HSHE@K*3JxuB^!>3q;?&bGA(XuT-<=0vcbtn+bBs{ z9d@EL`YOGtpk`A7W%2+LJ*svCfh5)~HSoBxSGWQ)8Jk$h-!Anas+f-}r^lHwD-M-P z*OF3v2G*4fM3_Vv*Z5hGfREGctSYeUYO)9!yyv0($phxH0mX|rpT!_8^%P2RxhPQJTA|bMDtt%WDIRHF)MG*d z^TX&6%ejlOs#TW-ENRf5$rZVDn-?$(G_``v2yyo|N{jYUOuQ~5W?1tysp#g7n>7}E z8$9)VL51aDxGn72f(K&tN*Lh6P+@kl(hBR<8h-4bpx&yQGmi!scjHb*T`)=Jz zLS}7z{$5xMxP6*42mEs;MV`{9GEoGHL3n>L3+?g! zEddfOB(uqvf@(z%>n^h?a25sZq}BMX`#<7-^D?U{vaz>a)@tJh3UiHu!bjX4Wpq-* zl>12e+FWS@`nl8L4t9@g3*SOJqBh7^SdoA zuS=f8%N_xdzE|||Cz!cXuhiG*FInx(IYq+W05S!sWG{4d>lAqxw z8#KA{CP?&&X0Fggh|EZ_2lBx9vav3ZC%x9oK+@yLv+ll!eB(#DFxXEdy3iVOt@wQ0QYJF#4jxBG zf)2hCx8x=IzQ~-|?QQpiLV#&AtFERz`b%N|#3Ad*DjFm*hQ$yPBT?Xo(|Uj(v$Bc| z_VK|4v1{Hn`W^0gAq}5;xYS)@IqFMZ4-HG-Im4RXk!Wt-ay@&An<@&AYx~Tx5kCtO zDtz>(D@-KRQdWZq+VkfX@$ zu^s`x>It^|1Xm~6MTaT(jpuzn)JPJS^kr=7acIe=$#4FI!pHba$IF`I6Vcp~PjASB z<&Mc=;_4VQ-Wx+Sw={-Nz(9YsY8}_mQrytv)I$HBgPdjJ1b@2aPegN;AnM}(cq`9!*sDdvz64i?#=*S_IUVg6^+tzd92+Ebq4;2pTRkG24ZTXIxdDh z&PDy;nm{v3$0*TmW1#|j1ZoN-5tNCaq0K5t$M=WtSWuD~=g{VM%yKtZ>Zux)y7Llh zUC&9L7+C9L95pmr+s})Fcyy_Y@Oaf0us+~znPs{`;M8UfVsCp8j%LEaOzAF=k~lGI znTUqIRZu_S=-v{^k^1>Yv-aeuK_llW}7scl(hYyBTf?lKlXVZ7oMy@IRCB?0TLP_=IT)|NPEQdwIWm~y0}DcWNF`n z@OqJ-@OX8myv5*vecb)MQg9=D?hA-rbCGy%u8(=? zH}riApL`H^8r9&ALgV`8I`HxEslc zFl$SgecsjEcvcCAxZBBt0;#>|=N>o~?vs!@vg>R}SB;aTp+FauTdf?H=7DLc>2zME$#Gm_&|>6PfwSzyPGR;+wi7UNj!mNTYnhWb7pq-D!- zs^Rg5CN4ukH;gJ&F?SvOiA%S~bog4+I{kt*S<)OI-VpUMQm7d12=1W|o8eEn`!Ssyf zn8)dyj%HlVOO^yh4~IFZsBW%7TnZCM!%IiQG{rL~NJiVXkbK5)&KM-x$0uQkxvO$rlLA<)-W7g3N*8bWQ1{ z`xIxc#c|-T@mY)5wW*@ z)E`>^!A#)w$RrN&oNV*hB$qn*6V}E6 zE*(cJn|uVS1mhjAsZ#|zUTrb=$KYrCu|1nnwLYWDQ!S^h8PG^`c{CBWs2DdD>FHiA z?g7%rXmTM9(k^T1wQTLwIzP7u5lGpnL1-*o(uVC!oWAjym~G>c{>RsuW@*YBOL#+H zaX=HW|BX4H5TFn*?LYVU+TC4QAW}KRfaKnTckUAU_lF1kZ7?}b)@5d!D`kT9!spZ#Ox^Ky*ayVIoO)42Lu9pxfjECXC@QkrdUr<=B33HKs9;W7WKw%%jfHN0w_ zz{sN35rXQ|Z8X+I^0PAaIM&JX5(uggF$0c)Y=~)Y9&kzCIfpp5eoA_2jbX~}rxF!} z_y>#x$owPn{G?e%hq6qaWnp3(AGnV}grzg}h(haU7w1o8{k2`IME6mZ0eJj7-Z$bl z?|X~wOv6-LybQO`fGFbonH|__En_A74n|X%Cg!3Drhb;mg;t$)sK>bc<3nMBJ+65n zh^<4zV8S=5@#(G0KZ-J9$vyX}vY{zASF71`0xQT>n$2EqXl z#jfZGiiG*d$RKGvOC(8$GEWP|L&N{E9^Ya8y`@5~aL)dqItwPvJv`tQK!TffNX(J; zDKq}5H$5g#FuoBc1QUxG{)n?3VgE132Mw-=)}NEIb<}P~ch2Y}9G+Y&;AV$5$KQh@ zJQOaaL)j)b8kOF+ix^vEQ`~!pvi2;5yc3hC|2P9L1XFY~AaNgZS9!~r>C&~9=L9)6 z1`Q37isO3#l8~j>y}I@C8TsGri9d>0%o603Yoj6__3ZViLfWz-oFp#xF~3+l?fsdA;NoRcdGBDVE|8>A$U&1c zIx+&my>?jY${x)@;!LU+m!X13=cAHS3Wy_IM9V)L#2$=p5a^4t*FE-QI!2OF*QP zeZ|sCBe51&z8K3h;_;a*960z$N5hL=3Vxg^x0_*_6OGVN;)!z)j>QF8i~QR@qG68S zL{_9$X-=3*OvEN(D_TY7FwX}TpUyU`oJs0ta*glO?hcKM=T8;;wP#dJ5(R9XuqYCt z@4x%(d!O`XGiWU*BQW=*PM-2L&@%^wMt#lV$o7+3p8Hzm6jJ(M!zhaE07b29QuR)S%@TiI#Zn2w4N zL2xS$k}P&N_bj?nw)fxf@On$z$%|B{R%1tO$25A5q|LQDR%xW|jAidJ$O3TXCo&eM zv`!DfTYX)A{kX1xN)M<{tJi5Y*L_Xn<}eBrY~t(IaNgP1Fxu>^uH~f6W;2$zq%vn?+YW4J`fgjag}$6 z$>t%&@5f_2afD#=cPA*G`<7@f!9GIt56IAt#R1sJxRu454g zpW%x2EFHiXH}x@++dI0{-&ar8{34cBB@W`(8yMAnDlQP9oCQ;Nixj$_>95x%-ONp6y$F~RF3b@pkrhl{xl8Y@_yaV_C=yEsPp z9aHNufeb0LY*&u|bs1x-3aHoGnTBMg%K^i}OT`6&sl-Pez5~6BhWQI-q)>WhEW%nh zIM*f$oCF1Op>HAiOga_Pm?{up5C#VUpK9Yh{CnGnO!^hW^@$5-4W#n9|D0}R=hisTi|+T+>o<=+IF0Ra$C4s6YMd`*(*?h%FL z`*4#%gJvp~vc#xe1Gtc3j$hrsE2h36s>;r3az2n=^ii#os?tZW!Fq#kJ}mC~$ju~D z0Y#cK^ezght+9TB(H&N`QLF=)xk3MAB5|5AsXo|IR2ORgry#7S^h=-ZIC!*&N(tx1 zd0_7-v>I<>CvK7p8I4Z-Zt*^_5;04H74M^Ma=c5FOGlf_WQ4U(*VDPameZ&Qo7O4_ z2YnH`Ft}*F{SZNs%Ev{m;#ezVKVJwx8`_ymH-RfQw`{F0x(e!hqq)pd4UWb&mNd6Zdz37lbkoLv} zb%p&!&5Iz(SKf$GO(Kvzk-IovtNZxAgX zn~ZVH){VQ3wTLp7Ekob&bhJfN>eeK7qP;N;i_AMAX&Zgzm~}vdSPV>1Ko@PUO{LuJ zOakU!r>W8W#H0^T29A84Bl~5RiHFZPux9d`sp&3#O5ixz>tav`&D5S-2OJW%s$X+! z1#;+Ii>{c#xsESj18R4~KRdp>erH+1lx3^#ChuUG9suxp2%L5eLJH)I_1DKOB7uo5 zMY7fji-0QJl##hl6e7+}+~A1D)nQb1m@(Z6p_d?a^@XCwACs^#MTn5UpPMs+>cWjp zR7Jdt>`(qldecSGDgfx`L#)TKO_b>_MrPD<9CXlsc=(F2(T}f1tU~FFSXhgNUCFE? zDE?W?&i2hamf&TY0HG^3naz@ilbi9yWy7#w$Zq`=&FVkr42r8iAmvY;SNMbic4nw)gZlt&~4FKi>Q_Q_643uwZ&X!Hk*BL zm6fn3OgJ9h*-;?R;vte|S-u1suTc5~wi6fOqgH#AjXf2PB-XgEpttS5PW=0Gd8^ax zJG->WOWS9FP)r!veB(Tc?CAAkCoooQNlj`I6s!$2;$N|y@t^3_ z2Kv9lPCo=c?{M_aU@wZ$;pIZ&dUSvtpwXGd)G>_fG|s1|X1+bHt6F6DH9i3h7{08U zub6uMDB|MAkr>WGNp_@mRaMAjW^%xa({2q-#1OH#+sPC4!?Bs&>7|Zu4oZ&u{2Ecg zTLfdeIh} zpkfP+mZ|LwPL}X9)H+EKZgVzBAG%Lv@X82(n}AZAdeQh-)?Y>BE5P2ysu!dLDn4Xn z_A()ENYzos+SL1xih1z~VjMo<KCerqoq1F|JMtP7IfkKpH=wfji*|X)LLsDc5>c&VAC*4>|H0#4m zSHz_BYX$W$>(YM0QPt5IjO=#WgwVlTw9V3|8~)+WVC=KHV}__)d>DJk+y*#&O>6;7 z1R{-?DCavq30bw{ABw10akw{oWg{{fcSae4`>zRw>{uh$*RYyYI_yuVMe--osmG)O z|LBRkyr}gI@NLGJ5u~3g4wMCH#a!J(BZG-5P^2v|EC(1+d|oA>g^Fx!+M!7ZQ5f(*>I#I$D?83QPV0DnDh4Fi`7A5Wpk(T2m{W-sZz(?4pjXu?W_@&ySz&h5c(-|3uIL;b4j<4}F;%n}YR{@-E+jO$G zN%UB1zq>8Xm{(^vDSb!O1Jbw_~ z%Ljd-hokHy7NfLP2R9=loKVg(QceYtGf1(GKagEyuYgst!MM7!G}Kmb>s-FCSOrsi zD!MFUywKeAdq1s55v?%Uo`PSN!fY(|bl+MFb7IV9vO29?{?8v9ydF(I)aQjuo%EVO zZbb&FL-GAjys5Zbtg%T+CJjb`5q0P4ryvqV%+hQ+hHQV~{9a!H@pUT%Pnpd-5K4jTD{x0qxLj?(Z z8I|mFuWJ6`B$2MAFv>q=Yfl{SV0vQ>i?L;OMYe_E6RBqWf-=rBl0e2~c{65Oln+y# z*hS(ESJ-67@qeOG-FT|dW*`&k(}W4Y*u<;cZvDadW2~ZK!aQ$CX^7s%fHUailxY>! zrOBgXPDZX`@*S;o{({f+;QE2$_;O8|tQNF0;Qzx~<;0!CMRMYO!jrbbW3O_Knpgy_ zO-?FNXtQqokVWnxUAy74k3|5RxgWxsw2$+GD9eVy<|K*he=Sp=4!zmBt2p2rpq}e& zGi$>TFXh@~H7DdCe$ujAQO1h0Vc9bqZ)Eci?`nnq4 zVnILa`lvTmQ!N=WnnVe|_4&-Bv|+wxMDV7KibFs!+Z~0Bw5L9%L<*#%oG#8H151;_ zj&~yG<8sR^6xzq;BEHfv+nVhQSgp%8#XzErbWmLw+$L5+kukUZa}&Il-fa$w^ju5Mh!7%a0y;(+NU>t;Mycd~SVmk?sTJ8_EdprXtRl?vn7Lnlq2cv2 z4Jxb{ubC~w;(kNe{aC%-D78Kb)IE+vacI-1Uej3Tz&GNjSan}E?M9!fM zXy~!TlitkfwY!IZ)QiNT3U==VM!@+s+sYY56{h3&Zir*8w~&h=ol__58WvhCA1pQu zx1V4gVYie`_X#-br1A9*uSeJG>)jQI{-nA&v*ST~Eu$%`5|Z`XC(a7n8A4sp| zbJC`$YCqUi*${VzvEjzdbAT2q2wpStCaA^0rjfvC)CT%FK z#4%4#B9%$4cWgyh#CRqd8=&lbamjG`RztIN1CWUT*gi3z6?2%ie_=}2NL8$}U?;lp z{0|outcdJ4JBKHNdWEO2E5^XaA zHzQo>?wzBvfMO1@4E4VL1kn+vC0VjPSp~l-F<#pIz;37zVa@`^f8oeNlu^7{k*Lt z4U=_3Q8#MwFJg@15q5Zo%($_Mo{a^86&z;-nl55c{IR$&xeClA2U-_o?5Ed(pBLZS zkelKkmp6}NL#Se1&+8qT5~H|`kPlTJy}HaQByu@2I~cJaw7i63v$iv;nX zi}@YY-j6kTnpgGgfT zytrK?MubGYUj~=L@WJ+tVn!HY7uSyQ$>n`oIR$Ax903pjUAnXUj#1_qMlXzC<=$&>b#t;0Qdr%AbIA(I(~WGV%H87@1`F z5`y~rG|rdE7W>5ZDcE&8dXtF=RF2W=7FCfSO+OL!)yxi+k!`h?uNes@HxDfcZX{dA zAT(@GtRbgqXb@I6P~}n zxTof0Ev1|Fi%+3=`aR!yj9HT}I~hE4YOivS@Osne?Er1#>LX1Mtn`(>3*2xY%G;zn zy{SEOh|fE;ezU0|L>|66_B27spKO+p-dZMK^$IQ4x#x24up)L7Jlf{B?9-7A`#jUF z^b@4YT7wrGN+bJg-61Qt#ps|YLdQ34E_RHo?8H}$hM(yla4eTp^GJ4vuKmgE|H*mO z!DD&Te9dUL1r~{`G&G?hYB7VAXse2W(oSkkOSo)I(UAD!Feo0;-}iJ$H^qlJ&YRqW z;$JcxL)paV8l0lcd~tO_uX-wDkNblm-|8H?R+AjlzYY%}9lFSpQZ^orZF5be1g|nq z(}Sy`3<1~R!hyXZoJX}%3W!I0Z`-f|6Afkh=eI6zXheXY@bm^nY(!1Jns8hs?M6#u z&%0|%Vis#EIGtzsr239ibuTh@j?4^h__Z{2-#LI_B$&46KEqz8bW+OiKW+RL3Yzmq!mwy6L+J@AKLzb;LwuU=VL_ZqzBL6Bw9&mFnX4c(U?i~iV z1-`+bxI2Wdd;5L6%JHb5o}$B7UK@25MGUWzd(|%-XM<*I-zK90LBOZY1QHKX2ixlI zPf}nntxCM-m@$8L+4XTf+Qnxq2=Lh&mo*JmInykG3v+WRDV70?%S|znT5MA#VBbEm z*bX#2Z60qywOjUbmm4EOHU?AfBh6?(jQ<%wV>gxwK&a&7Go(@XWvT)zJ_~MuRN;`G zzfN9vJpDu|hqI;|>lrX9&tEIJ70<4@FqmBooh^aQhfdsphl4aDCYzYO!w`LFhr$SF zs?9QGj4=G8E^uXS^^#GJ_oU1nJp1G@VD; zB$X#0N=4p=VtuJ9A%|rm3Jrffw(zgzxH15z{p1WfMnV*`yz=8yiZ#Z+&MgQys zaAdjt)?h(wCNm(VjhsFlAn!o*sf#B-Vw(xwky>E1M0a}MjPdSun$Wquo|U@C%Bs>y z>T;{LG55CbGUhRZO$nn!^>=)ZW?S^4sXrwp>s>NeMvw#+GpS>BjL7LSB~=o=$sM6l zA%B8mi?Qsc({@0+{FQC&!SqvoBd|-UZUZc2+R#Y?vWgq`Xm?=^$kb_U(lZtPq|Xfy z(=^K}rqktfz^0HyliNjR1j;@d&deb15|aUWy&3|lmmt$oMj2o{+f%CGqs!mL%Knt) zP!xS00*?{wWqb=yYmEE^25(~q>u zYgm+VZP<;DOMBXU3cEL{N=);sRm-vdQqKOL{mpG?h3(UNTOgSB55XeEC3%2doW>0P z)JMZfBXnn2Gy1@_+NTPn;U{UvWmDaOU_&5faq7$=owX11#Va6zG51btlnSzm{^Bw; zTht}opvJV6PI_|$e>drxvAwXaQ?faed_h8gE);_>yv^i;4wRHwC<@gF;hnbVOJk0+1&bbLem=A_i(#)fk<${>h0KpOuvH0V1a|4&zTG zy2hX~f{l&J>zVXGyIf`*e^J>p9$qdS+Y6bcpj2E`sAQAY4`wMEib(SirEN%(&SH&&(Ck&Ar99!2T13Ne z9T_r8yJX3p1khx4ZQimT%E@3_r@CG4F&p6HyII=khhHio=uA0bzDP6DSEGk}!Ab4l&v&>Mfnz0#A0ncgbgU`yEnEG`qUL(D? zxebBN*^wE!`{Rltgr8L;AfH1b--zdbI~jT0YGp7Hepih8@qOF?p%K@<^}h}9WVFNP zPZ-TX{9#j1$_Mn^N3uzLOoLmZ)C%~0)X^Nc%_bo4Ao^56${$Sq2CxOt67qI&&Fr0} z0SH91pD8gWY#9c2jgbo^y3rwMiWf3SEHQUBdUhDEnvx3v=F zuH-#71L~I(1;55JxwOFfS{I*rtmr;}^*}^)=nQu@W2+OWqPs}Nr)$89KE5%_5h(`HWV`S8mdv;`98ptz^y`IZc5Hwzn--wMs92b+}|*<+=Ub->m)*<8L$w zta0hu<~%M()4RdF<@_`d#?fx=Yfe!b8=v`o5V@XFsUJHu4SP;g?$p*iUb{(30V_<# zY(jpAoH~XuP4&(BrM0Vgbi74s1jbfhzQh^1q}|74EY8zx7?ET^>Uv$wuH&28o|M5v zuY$X=abEl~aazZ}^Ny?!K9qqOeY$eSwSgHU#M*@(Z8V~($Ld=Vkc!jPUR(2R@!9!- z?Oyxr@_S6WIrd&sp8$3T!cK%;SF_3b*C)f?_#F9LHaRa)opbTi9e;g#@67bhWmI_Y zp!zs}zsl-idQTA$|N2NOm5$!$=*S)}zT$3TnLaDplecYCx5f%$`zC%XlpYD75KUmM z{(#Ju<6j!Yfx@TmxL%#_mWRPvgN|5CNgG_qItf8Enx>y>sK?SjdLj6>ZZGl2%pv-q z)5lf^$lFNA&gA00!}4{EXEy{e;@6qreDq_}%mi#7VwIn31x3~G)Z=EzxQPq`zzj8w zLEKgeq#lE`3-HQ-Q9A?sr{<8+=m1>AH5b**m&krxKJhQ>0~3c)mJ1GzWl;d((B{*4 zHs*;ioU&?u$JB}$;E39aW%pzP2&#Kh$bHAvKYW;sn0pq(fx&*CGED)(>q;~Y$?Dx! zQ<1oY9>0D%lbOYR3Lp}i6UaN3{>Fd{LMbEn_*6N$0B#<|}(5_fW(Z zbh#!sXcPNb_$LY-<)d81V4e+xy80N)@GcDi#+v1Ga@Hk`7$DtNJOM|=DLZ*;-QciH z{J|uEK(vcrtZIc<`U_L0PI_qs z_q6R$feLi0+#Ap1qJnq^=7yRqzvH?>49NH}n+hG{`+8(?Ii!yK6pIlQ-LX#K>V(ae zQ`klGdNN?NB8)w(^xflWp=|GPy@sZwJ3zC*{+z`sqCUzyJKek?s%q|iNHn)LS#Nbj zgO4q`N!08sqY88WG#dq_=|Ew!jK=jB0z{GZnVx8j6Xq(?1>%NA4Tx$0t3cD!m1@%k z2|>2Oz+tBpu7-!!nb%2O{2fMrV;TG%zxaTEup{3meWs#L+|CS=oC~$lGlz!UJ0*Lx z<`;waMCEx*T;!j4bhtZ*5g_gw|NcNz0?>#n@&4qQdsHc%`rc8U>h3y|+p4+eZn&O} z7adhx^2H2A$cHnX0_#gx(HBdBhHbkQ*#3=xTa%r6V_ti~qDGVXOcP6P1aKsA7SxJ2EP^Cr{nPffxD3`Czgh{Onade#5| z8GYh#GbUjuv(Az(&^=d2#>J&U7q&jVnLv9W^x}6NFLC2a*e4T_cW|;pIy#S$`(tzt z#Fmz+&61eGYFqMiUS98{h2jP+fSQ=^jA=Ff)ba6@g!ewgUVKAQqnKN;4|Px018Qx{ zMzKt2>(mM92Vi#@odCQlo28%w;7SHR5gm$%qB`nMmu$$$u)BFK7~Ew@Yha&e@=*=Y zu}#oUM&_1YoBZRfQhP;`WK zq;`HumG#heg{DkRwO|76P{wAXX)zV2EpzxD96T56au2NE(kHM{ zF{OU4m94p0pNQBc%wlZ$;1o?0m?R#b6;tSeF6Lenb!>IFRHR?yLi*(6DxTb5-~PeJ zrJ%}QQc@DS!BCS6x@$V2*x=~?6ISsy7T7z}hxCnT0zREu|HznFbG`WdgVlCaZO;%t zQbL<<-waJ*bxuyC^$BJ*iozk9)k{i& zaYBxo=^0C?zHE**|3lSrH^&U&^;Q%GT;nL}c2pI&Pd5}rr}gKtbu35%&N;ff#Ph1A zg$TqNkeFxeZn)h{N`Vpg)8uWk9UbM<0jm5HB(HEzoh8v2Y4aSILT|shM?>ZdjGE1f z_voEY76nm->~7=vS3&Fgo(ho1lD=@dJ)%<)30*y}JH=v*4{PvUS4osO;~ZL+@64IM zK7;R*m5MEYn^>s-epy-K-^X@MLW&<{h}-l(57iH8r%5O~^CYmZA3J@n!DM1EeR6$& znvIY5dp4|SwtjS!wn27HTLl=?@y(|D%hk!C#CcjBHIAs^oUTrGZn|6^C8&O`*I8#7 zvQ`f<~1=R6T=}LM!XFZ+wM_rN(VFmND=wR|6D!VEe|1S%HD9 zrbsgkt(->P4ziqb>a7Ozq@W$wf0o4keWWK>KM+2P$>P1jD7_AW!H7=X>O;dV!+M{5 z{R;jnH+@l-8xMkeMHbUAMy&Y2`aH)!-q`t%QI#Uu`jP4MMFi$d*%^UDOaPpzNNrs6 zG*L*K_P@RZ?6B&2?oeg7IfIHwtIcs^KjGGO2WxrDJ}%@cWgHv zbu|N$F*A?Dh`0ScsGy8rzNOq0j$~90Q5S_zG72xv1s!ra+`|EY>5z%d>2bRB9TjO$!7Y`BQ?dc4I}geE1^n9gxW8 zhuDizjVzOSrqpEjqj(32NJT_6;XO`fp|d^$aId&JCkAX>t}qw8P=Omyt3Is#ego7M zs~;U@&@%h+0*aksvNEMKi>kQNTUus4r=-;3K4g()o#OF#u-DkrCwe#9;F?N*k1DhA zoUrT~_ZBGok&>gj-cd2h#&&?^w@!t20VcLiBN0sNCv%7fe7k&Nd59{n{g8_hlO}{& z2BniN*A_NeE_Wj<%K-~+SQQ%5;G|TuL1bUce1lVoC8}b@LZ!`K;Gv#Jz4&6o75p-6 zBA8WKR{NOQ_b!GyX3a}W`{X&bwEJgotzdM~rt>=F6A`?#y=dLei=9o8-ShV&HcX*$ z>hw*53CfwpL{IS}rILpD?Dzaa;A@xsu3NZJv2yCOtj^J#wEMc!gUK9ev73>0P z(w%ZkvJF7Gv$o=a?91mKR5598e2CM?6}Nc>p~2rwYRespHlb4^v}na0ycNYZAbkVr zM9Gd+luP&Rd{LNT{KAeDnb?*GoJRWk>T2#~5{E3P-}}0j^fQgN8oEYLK@~0fYUr6J zBZ!Z=I#JZMKOa*0O1m|N``CU1`mnF9u0t$`Jqn&aV^G+r5TDX!6)fO+*o}Rk{p&w* zC_#2AV-Z7QGUw#Oh;MFxF#7#;M{Ju5vrChA_aW0CuAb5IP8bnRcf2Q84~ zFpHI=2z7hpm!Ek;Vl!j&v;_yUEs?oyf77>uD7d?Y)Au4nH5y8^-VM1D$8}u{zTUEQ!A3u;Ou1Me2=#X{H7N^* zFYyY7%-sY*wMC+Y{v#`w4p85P-)G8iCdeC_OGu9l+ynsJ_!7;A;ct^V*6f*t>=*y< zJx)4)V(TM-(#!5+xpFn)VUrwR#V;a${@_biD3orfu!Ei1XMi}y561Kc@3jm7(kqrM zci%&lMoN~|o9c+@nAK;=yPJE%q%6e2&~HlQD^tda#w5G(#2*65OLK+XIilV)L1<)E z(@ZfdWAYV$r1^jZ1#TNg@On5`qmZ9K9g}v zy78I;I1Nir0cuwNZ<^+)39HS8mlIYj&{R9{j#{DE$mkQ^TqEtw`>KxB=oTNYmNQ zRtglRztF@~HZ>3Er^`700twhu`5lY!bcgI2bw}E2c_SU|-V@3$)$>jKr-N_@*tm7c zpr_=IbH%uR*y^^I`}#Ye-k8-c7lJ5-W@?}zB1P9ePBlKUXaqsdr z*$w`}*){^wE1teq>y$=V$S!u4Af(q>K{g)}LbUFuia$x`;y({@#PZ@vU57#k_z zi3ksr=%jjD6r&Ny^T7H?_XI$~GBPa*E7@U0043cGIU1;?&8&$k=*2O8my%LmKd!JI zP443dD2*%$jO`vjPd@G@N`?>cWP6THz*2lostLhljkiL>v6KM;2T;m0DSbyI3Gk!! zT-_EYUGaR7!@bu=2s?qe$b)8oo$fZ--b$PXF6<3>Rsph3)Q4`8SHL_x#obS6{V?^a z8UllB6`<(7O+LAmvt->-AC}D+D2P=~ho$_P{5Ghr8Qs2bwkxDwT#MF-(40>lSgXI3 z)uQ);{WW>(0unNSGqaF$0vuM7gMY~&z$Vd%pP>4oB5TK|V?e60BlR1p#Z++Mt&Fb= zU>$AfuxpQsWkQF)!|6R^XFKLJ0cx;kTZ~k`%lyK2)k)Ie`{}ufNivP?&4D6s7jQ0i zQFa=F8{563>KA@zI+CPa=qnv^TXofkiiDYi>EuJ|(8(^Y@W%G>U5<1|bq!bWD^GIk z^)a8wj=^dHk>j!04Wap7hTp}S7+N%BZLKoY72&e&{{|U%spX0qAPkdL3huRvf zayB<0Y4J^KS^|#`?X=9z=H0S=13%SFl3&$`dp+v(*v z(v@9Le6uzVsjRg|aU@=Y?EqmKWdC-fMk^+G{EkKjU`Kavgt<3a>*6O8AJ#3Tbuz-p z_*YDc8?r;2yz3x2M{;**uMWr_J)8U)rghUhvYsM$RoDg4lWP)FjMf)M1Pb9(5a_T^ zeAyksgI7hJ(lh#GU~`KhOMe1VdKAeKmx{4Dr@_t>Ww=O#=79rLX>^*E-(O+b?@kk4 z-`Mt71^%6BFubFYs_Ox}5o*_%YevHum6d~{=n0nlh{@jahNMb`)%MJBOyp{KF97$; zGx`0qCBApSXGD=ax%g<*dVk`O)P~^7r$Ttay;rw)YZk@fKiiKMw|H#rqA@mX)I+DoDuuW$$tg& zuG3sWC9PuPs)nahv#a?8#cN#x#u1B)<^M#}Ulr0$IIuafCh9xn!mN2L(TPpIS@90p zX%CKh($al&JxaHW-FQ^7i?L34kk>cnr%jNDaqY_rc62VsVP>OgPiW*!Hc-^A$4 zqBSBVXy_*{LbvVviA5Eoc#WW^U0^-IUUx+`IXKR6sHCAnb)})`o66KTMUIwhw@o88 zyl5tS@D58l8OQNaQzMe*KMz-diQLKYTSi}?inH$XaiSMj^UACV<2?_BpoSHn+iys~!jxwz*r+wXGB(VG)UU73a;$YKFd0Ot z#~ou>`1X;g%k2tu2n?YKzsWD1WoBJQx5)RECPDs9o`0L0aJ^&epIzrUDl6HXj=up! z%Iq4eT5eM*>>46w^0n7;O!o*doW)ED)GL0hVy=KBpLU4m$iuM{nYez)bB}JqieK*i zzgB5084v`C%Sk9p3+&ZUj(??VcK?ji?pXBEpPE(Y$;CX*VglhX_LUlh7~)kJg8>(p zqs(aK&w_f65h0_5K)ULgQoKWv>Bk{1YsFJh)`r zzb06UsP~B?I5I$Yb-nm#n}ghVeCISwprkI#Q-Cy9P;N3B-%=FQ4hJizkO^ao{1cBd z!~n+E9>N0P4+$QbbeTx)DLoSVntiNtR&Wut6LZukTXMa5?muzSx}IV+3fQ@M zUIcbGuc+lQI!ka+8M)tQe4O#`%<|T#k+}8~Ib`|A#YR*TeK;s5E z{5AcEdeY!11wf4Z-*$+WPjpyoEc@?J{|@C)C<1`gVWACgd5JS+h-aL1Y_Er2;o<<1 z1})EJPfj3d!&nBFq~p6;RV2Dm&sCbK*$fmTYb4xwOy?M4*CZMb^&fJC;qMoLA*xdJ4FzZIeOUA@Sx3#GGK| zPgbFSrvipMx<7RXaNDS-CNGN$LnN1>=JOMozO>7Yu}tRHY{?~*ZiP%#9(kFhcq;Ia zY||Ag50us>37oz7wmW`Cd5^6WjqcS`Oh$13pdp8QDCoZGA`fw(renp zlP^p|LdEraIn8NkOaBC<1PzgK%`+IEf`^*qsUW}_vz~m$E){tMS8QUyK8o=ZSxZM^ z?D#^O0{J@@ja$!7WCXopVnv(SH}JNfopxNc$h|y>hFoR%<%4q;$}LiBieo1j>^mHUe!779EQHj$`XzJ5-n*#`PHG@hNzJBe09x z!yNJ=OapG;kmNOaLWUzuAMW}G-*U5>en-;ZkqYR{SY$ihPoTlOdr<{8^s`F2SI#2B z?31$?XrMS-=X7|pAj-}V{=;w%sgvg}`w1_pI1`VNxw~82MIEhL@v4{O1Y3xG*4Ft>pB!?t$N7jFbqdX)UV;0HPC1XL473Y~{xt*>KT8!U3Zp$&ADTt;` zG#=RlJv9l1)A})0?7`?;hrqb9jmJ~$093@6BZ+q2qXE$A5E)7It+D+M1#r86gWDo74YZHJB+U!*rYUkPi^}sx z#7?at!|K%fA*vVR!}Q(bM^UdE7pB5uo7yZ!d`>grvx|RYVh2MCbjkFCiKrI??~tUy zbBeo&|3r4@a+nlpsH7C&dXoqrj_=DvZ!7)x7&`NqDLqGA)a(5>h_gQzEe&x|7%Cg9 zU_>UN#ZNLX;|KtLrNP|ffNm(;Gs_Tptfn;)vdRBXFiML_)-Wdv)Um@aMe^gOb5R&H zII2!!-;oE#UDmpzr-PW7bXXzN5GMV{3%V-$?!5T5Y~gX6zRw@dm#!M8MN69|X`skg zCvIKvJQoVsu;7V?)lkpx$n>Fgnqn3h#>91{XgS+YbQ$rUwaRmCzo=FU?bZED(<-vMis6j9yiTJH=+oKyWGjhq<& z!upt+sgzyVC_Pvk&F+|T8k8mOcaVKHq26T2aZX)apM^%Qx`sH%PiS%xJw;7qM&`=C z@t}8ZYty9b3O6J5Y2T83PQF9CX#1pbgSCe#ILhy+eXxSAkOc2M#ZF`!dCo{u490xN zk9XZHuph^oZsRm#cT7U2C0UfxCuDzT5F?%BBJQuau4-EBM7ArF{WF6HpLc*5@wu`F z9_~CyzF$m4fiBol79fs4x4jBQ08v1$zi51JTTCC8N$Y$Q@fiqu9x4i~D-9?m%z3<7 zH)0}%8W9GUk8`mN5Ok38!I!)ux<33s(S zvR!=+h)Kvfqw}bdPb)g#LG_AOJVo@0Ci5H7aO*iGXZC}eiH}F}KoHo-&PDx|mn%HC z#Z_YdsG;$}T|W?(3agLJMOMshvZTx?fgGo+-yl`6Td7g02+blu#n4!qX!~*+qB?hCzZ_%`W1}seH~I- zn0QAvrjB!q7UA)j{~jb0Mh9)Eo?ck&=Kjkac=P~v)Z6)FmF3npdV#2FeY_3;e4LI6{(x8N%_F#DV$9gUFoSiO$Nms zoH+aQL782golD}LjdO||RSw@Lrfu@^jl8|PkIg%#ewz3HXj|~@7@b(g5oXNkO5>53 zA5yd)Ck|zyk$IyyK(2N*No&@0zEEf~ zb{U|FmBED(CK{%e{?We!%Kf37!qLSq72lfeSW=<1jh}bRdKIm4+1XYfkab&lqrOrC zWoKJZloWa~yK4S;s+jSNZNyJ_%GMW4@rTjHh}lTMXnieSpq?^z7|uuerS8AUCTE`} zdjM}fnrng)JmwTf5oYS-%a=frO)N#(z*bw}!6!mZ_W2GFr}`z6<2UG}F@;h8`Q_}blVO@-8(#LQj+^}{WyB1DHceKxRQlyXKx zQR>|=b0fk4+$R>(#)P`Q*4Dr^Tz+2;F}5gYTCq+JyFan@_ojRe;M7Rr2|aP&B5FBr ztzzx^Sk5eGd@oIC^)pRNE?&D$LgW}rLaT(+0 z`Z0y*fvDbxt*Gs#&%HMF$(!5csPq~mN#u2li)>L5Psqw`tw2{sRldV=oha0_SUyP0C!uB9|ky%09|nGtr8T)IU5ueq&Q1 zBHm&K%kLX%##hZfpqT6JlaU}xb9q}l@Y#Ylq2DAM+1H!811gjudpx8f0V#!~@ihgb zkLMFB^0;S;yT_nXISISLw^-t;vBe_{d{nQ;RKKmVVIDvbT@oLwd@>^_LQ@fkJEKvw>;u%aZL@90I|d~o7>fwitkWNjJAZ16qj$_; z-tQ4j*5=F+6&mZB4-vI>ogge41=&*l6^;~}Ptg@Qj7UJH*iKXYBOZ!Pk8-g_X){5b$GapMY1(Kw|HEW^_T#AgABIg z^uD&X7ouVt^A+Whll;|(^tKsa$)N@>6sp;17##M?4{wT%r zK31E8SLB$!={Sn1heV0Zr!dv7n#B6R9<{i*MTW?=HnVm`H;4~o91hXd#M1E=a(#|> zB+A+C0#|1TN~4jxJo!-tKRQ2N33ZU) zZX`qUeYkiX{m{nwnUp>bzMol4RbZ_&and(f8p%CD{vhPhKjtrdH7bK!KTQ{J@dxT8 z87Q~ut;`Obr6^EH-6w!G1X)*i+BPB3%~9?UuJl7};)+UClymPxZ9EYUV|dlc?+rV1 zEFrB)O>o|iYDw!)hwgC68&rhxV>a7%Q0%tDcn8&Anw2-1voCo3yCKp(R}Kb(QM z)gD^t(R~|J8qTtZAg7bT?>j#6KF*%m_Lq|(ZVFS)#q4i?xkS@GnZlH!e>UpJ z`e7K`pI~(Nin$2V)=l3Lr_4@Fl$_7RkcYkKl;F|{eA$W-xZVThcT$TPI{F>X(chgA zBE{{4q)c{h0|cw(yxrnVye7&Q%4){nJh{miUn*yaGAukt)xJ8+!0-P$uN^IY~11aBI`9z2)xZVSF3gaeo?18h!@M%uY z2<=tZ`2x*ylW>a|YW}6xJiWp=%~2bOx{Ww$Hljs@NT38V3m1 z$+2(m>LfM@7x-v`hQ|-g%P&n&0rgVkAW6$^)#g<=Z7jpeQjpY##nkJNu^Po{!oRdL zcc8-qnPbNEH4-6;?kRqXym*=`o-EZOrMD-QMje>l)iNU#(cJq}lk2hljf|O{7R>(5 zU>xs2dbc6gVoQ`!o7FZzpscw@CyEF(H<2NS4$Ii0jdKg;B)Y)qLZ< ziwtQeFjqon!8tu~l0mCyQ`(7?r8dYo#R7`@CEk1EJ0YxX^4@p{BuCBjpsL2x#dR3h z73*x%2jD=t#-8jdO+l9>kTC|f_%`g$YqhEw{;kGJiRULe)hWUvKv8!K-Vkf9VSme%{;u?opWyo7s#6trb}Mer5&Vs!k40avATik7< z65KI&ng)Qcc={k+v_(NCY_S5PcQsy^)-iyrZjl;^`$~oTG=-Eu^v~iA4`_ncj8L-U zXq&hs8pqZ6qCc_qKCzP)`7wDq+==?w#)WcJF4HUq4IG#I-_b$$q((7aMUrSw%1&h} zDc(W#MRn&bqDMW<1?rm^ETyo?pdp@aodsT)grGS&_;C$jsc&~s1w?V}3ttTPqN5%wuiz%f1kX!sVH`TcJTK3x zQ}H2T1vO0MqWz<=vfE>mW<|02_5oujeQAGQK_ToCL8-JxcG)E9I!e{ChrO_Nv!v+x zB21e@(o@V`O8f~Ds!?QQ(Y3o(;VY=tgCc(?F$A7u1|?(}YNX^|WB7KdC=+=A=VjIl zr#wVP>W0#2 zHG9M{=HaTOzd1(s2IgRRBH-tX3*^xL=lltIP!v4~lu^4Qo7LFVHF0_^dz7RJjFkNmEBic9qKfZ(66-~E`p+C1?C~Ny3iRM}rgAGB6`t8UFDJ{~n zX}?5?Onr1dS~8u}P3Pf*65TvCACEfRPk3A<@gKS*!C_WBjH}~6sLE!_V~)59e~oG+eISsF8^VAmK?K4OO;QPa z;*I-W@`3tgFc14!R4I(AYfKczH=_W-Hv>Awt6y%*QAEhb?3n4RJD{J!`aeJrrV|GE z`H4W^H^jxAEIevs8E)sP`k{gy%GkXA#RleGXU-U(Xp6>=8&kWT6zD97cQCD=l8)Is zUN+D`eE}feHR>VNS$4g{z*=1~f zJq%ZUCiP8&7lTZh&HCSQC=ZIacnJMG_T+5Nn+um0utwIKch?-p%CP~%~wXph#TAdPKqBmvPUy%Kr+-MSx!ASJcVCm{VyV{LaRNrUQVaU)|kBu?kcuzt{@bLNN!Yy z4{JbXl|ulCGkthljb`NW3I0$VP1lB)i!8a58R23Z? z>Bj3Z3Gl4-M|}eW@CzWLp!WWmk*&c$y4njP=;hgoyG=no_Nj%9|GrJrv6BY5*mwSX3 z$*?aF!SPxL1LmV{o(rkV`N=mvtxvb%GfZ!Xn%ojQfNV*G8PN@l#iq z?({S|;Cf1w(hL+~iro$2cISac?fcWWliYj30bvooMtnzOa*)_aZZ4UM6FmBJ&+jIM z>Sme&4a9Q%QbV?H6(V}H23)TUP`(BU1eAN`%NoAu6<9;ETE#-La(O#!MPlrQ{~7EWdGmw7Wc>MLc9j z0?J%q>>xzyD(;gFsS8-`SJOdEJr|0*$N+9~xJ}w2JLct5{k6p>$$vsOA*2~Oasb#H zOSt4z#)?IigPVSW>hF*Qjkko0@#Pidu)UfhBR1RmQ0ojfvZQXtl@5T!jQJXX|MV>= zp-6g}m^G3{s%fObje$`75YtyLg|*Ch8@MInru4k!mIXO^k}Emd1(+KHoev-mp~O#C zD4np#Zf{b(MIIuOfbZIb-;S^AW^tBFgm0EzV%!w>m`f4ir_GAV)n?S>wdZR-e!|;y zkV?l>uZw2_%2FrW<`w)knl5RFgx4yWiaiK_T+6nWK?lz9=v(@ZHdQepdQ z7ilZ97aF2@D~HdFj-+yvt2u(b0_wA%?yQIq);XVUj!XROC685k6*BrTPX?@W+oZe( zG&mk@WVK^xg3!y)>i*31;(vVnEqhsdhxv<@SqdE|~_oa|~tJ(he=e;eN^sdE3)`|82;B-E2OZlIHdzrTX8kHlvyu7XF;_bxuH+&QS>vjV^vSNl&NQ3u5f5(V_Ne!9!S!g|~H$;*}^dwgipx}3a+y7I?lQxX>dy~5xI z@Qa($H=d(9xu`>>aw`qig7}adco1@QH9c{1<0C8G(8D$A@+%lYVJR5M*okf{ zyRtO319Dy7;1m=k&Ny%PGosFB1QqGXr17as;b&j7&9n2$in9*3Y;hI^F}7KL%CbEv zKH?K^+?~cW5t{bn>X~fH-L!LXv-PO@<;Q-#-giiS<`|bEPiHZ@S(5CjH}UaofLK2e zI9fHIj>pl4Ei@j{NoKU#u>sY0anpA&I@(RHF!BB^ZPP2B(=bGWpf=yn0AR8mRhg-; z6V+Vv+4~AP;2qqTz)v7O63sv@XwPY4GN9#M3qbc6`ip62iI?L8&=J)lPj*J_(9|U ze@E13wc;*jnw>Et7BBbNkrmeTyK$!KiEWxmm$nu7;(%bp9mzoJ76&;d7{x1$Yc30K z5iPybH>(?4_jPv_;CKaKFvkncr><3>rx#MD{VS`8%g=*?q2~>@1r(?FxDyeF6pf30 z_IrjV5LHklrwbCRf-){CG=}C?EOJuet?MI28F{z)ZT5#{5cc)wwTUb5 z*e=A5NQ>Odc%X@Lh#_l_v3MCyb^ zri_m7pmdmx1|%Cd3znUe$r=cdl{K1|+MqyOs)JG)ZE9P@TEN01R+iaAp z)hpO~=2;IFK#7BNm`pFj2d&|cV7cxcN(Wf(LRv#$v(>Vu!-fMZO;h(9=p^?8TOl;5 z+S&j!jwRjOm~8E<#JI;8@h2E%ZqXG1=;bp_?px>^QRu}LMCY^dc90p^C(+R=kFI2z z$A4VLxgc11F^t)(%kyYxefPSB`CYz$=b!j`>)+qG7^#mQ2lg=8w!bXRAy?W}erP;9 zCJ(#Bkw;ghg(ErI=lrd}LFzIJ3~hhzDF}0tJO6^@b5!Uljn-QyL^E4E-u_d| z3Xohs6(x{0$>@IYJEc5d&G4kK+}Nwr6PeE#ShE3jJSHg++MB}@I%C%KLK23%n`=c{?X#5rTQ#{In zC3;8KhmW13SSH_x?uENyn`py4$ddc8v+m>UfzU%L(1=!>K0b2<*+k77u#I;(+6;@M z2xuow7Gh`%#rJPs8HJFG9l>5z*U7dIEC3I040IY3cGt>-yuA4Y@+T~P=ZETQh#ST# z$g6bGM$1*2*2V+zDPd%{XOPtFXev*>3v(nWO!-Vm{~b(6=H86ONwP`0E72rbSr;!J z0qN(G%Ljdq(_>JdoXGTRk%QOcQgd$875t8;qhv%}MAmfMe98s+4agc$V%_u*yWlQG zeRXGk73P#|Gba^i?5M138}46KW_`Y>lSWniwA=sqe1~^+wPG)(gR9#XkBBrGR=6v( zpVJy0b#WK97SyRtw!K&dyKr#ieprzIcwTAk?@#bOh}>xs1rdsR)E}T9-5DdHpKKtW zKb+i_@x?V-@|l>=-p|_>kB3p}p*!QaFd@z7?s?VsJm9qPfa9MxnL%;kEFow;<6R*f zr%@y{e3-}Sc!zTKcXhBoqkcFj z{}G6aR&f^@sF(&Cj&Ui)CY z70i~a?|}ODv-1`~Z%rZy5^$XWs;mL#beyDv?~`b(GSUQRY4I(&0B8IZm_0*}{wFFW zrBfMuT_*A=UM9=L^e9bjlTly}bWyI}5uM8+Zgm2=bSfbtLFQ8Q4kY!*qk0+(fM*IK z!}BrzDeUWPA{I{&Uo&e)P@Y`QnYDxQlzt~SOs;8B3adtfF)Q|CA;KU?+ zkl`@#ZpyOqz%FECM`%YFF6<*=?D(tBiouV?T(ao3(0lXo^E%c1J`r!Jm5eSo$yCB*P$%G`5 z>u7ILEii2t)DX%tL7-agWMiA}O+pXvVERz)WY-AZ#`)bD2@;n_DNWMX&r*gN+c6qR z0QELXL{esXY>#+d&!2n;k@~kKWXSHT+)c|AAJb{Fci7}bCNXYe&fsVQ#H>XP#PcDv zQ~uCn>+lXI>;4j3G2w`Cl;I8xOl~C`UJ7KJmh6a|AmNzqx*|U3PGm8G+YLbPW~n%d z-WR1=nbZp?OM&s3z2iGV_0-#X!|R)aI1>O=x4WjuUL6;F;Zh&37-)}Ya$G6{kkba& zT$UgCsK;_D7M0lOJ0I?8#>-fZeex%T09V;Niga!a%Z>o#GDP!}g5KG%?U)OU^`-QFZK)PVs+k!GSN4FYNHn2+O*$2Tn35Y5MRpg) zo82W{GcFl1;oR|vVy6vyLubO|(L=?z5XHP1a_}o@mpO8Isz^T zG~03td`h;071W*<<73dVMa_Sh6xBPPt$$NwWvOME9+1%xMzi{~DMnl2jGR@o_&yTL#a|R2K?D`8be|WjTsn?!^S=!#r|Ptiurc zDgSpG`p+s%;pCq9dLhkvZP0h9Wq2<8!07(rvv9QLg28_hIzkwFA~_}Tqqf_*;OKHV zCWn-TE<`A|Z%0pGmG{_`cEn7KmTXzwLLf0bb9@CY&@wqtFfTk#KeWsc4qGb7{a`iG z+bE@l{69XRX$ncuwCy4%%81JR&QiwWZcBi-^ zFJl7x4oO_IZ6i5DZFTr*#^WH{Q|fxFCR`%%pSk9c%J2QmPDy;4l?L8k)kf(*(dfe$ zX%V3zcTS9pn*-n$H3h2e!^1_vYw}fXumt9vVpF_V^t<#hM@sZy8nj>KYLOQ4ijK5A zY2+miIPABp^*Bl3j9$)ax|SXDx4H;9xj5b)#a@4sB5FlWn?RxQTL4}hi^f-c;Pez< zy#y2|pEaBN|YP&nLMECV2-?vXi;wPfYzpk-BBfH9p@2pE26AfvJj*vP|MB zRR9dD=7gacisGEB$2hBDk^ISJP#~#)`($qPpe(a&=guAHn8Y||W~o{*zRd%V)?kGe z)7@wBf=JENiO8kS1@3;L(T�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

hayEbJ;)UN-K8_rQK{FJR`BMY6M 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 Q+nB0~$^PxL ziOln9Im1sy#!rup=p=@Hc$s)U_qOF_cyTEa0) zfG1ElA1W67TQHDJO+~CQ$7tt^)x?ZuZWNp9*2`RSd)0b-6DONN18xa#ZNxc2Lfx$$ zfrIbzgl3?YHwKh~n7|B(ScoW@MvpAg0~e5o;ImBxSlunzVz{|M$dX*b#~3+PTid_8 zBE>M0M=PUF21m3?{oc7{F1bLSNc8e{)l2z%nW8ZL@L?1>IS$3uC%jQ)!#}~y_lBA^ zA*N-__sZTr>VYxxh<$pJxMs*Vv0bt+MS9z2*IL!Ayy)o9NZLHDZ72#yam;e{*ij*A z1LXpin??K7P}g|a zlLr1rklf^CY?fFCg!>KU8j916S~nt~iu;sjz%$Qg*r|6m^cN8K{1kKO zY`1%v{fVWFV88?bvO3*}^?;841gH!&=Vm&@C^Om)QS#$Yhj@8plOE-5O@~L)8`7yh z-9L$Oz>SJ?xV%?PkE5+XD%ohbx=_C-yl~IChEZlOZR!gE;rbib-f|jono`DZAS16`(6A7Dv)xHW?5UYR0Wg?v ze~U`3sh|Q5h{_d3TmOfkK1{ghH-tK08l~2T-F}J=QDUNMWktn~`Az?_$$;i*GZgApEVSYfT$DxZ|JNG{>jPcZb(_cqp(f)e zWL7z5Vsc7PI3RI|9KLe`WQQ|ip#WPzq`z)GPbaN1$@{Fs00*K-4!SH`uabv(S4?xU zND7vkV63m$yWzt#KblgNuA#>6Un-zx&dvqvOl&g6rYCl8JH;&B1>60V{^Fqw^H*kh z#&XU_GIt!tp2fcY^SCcBn@027%rK7KV5$QCGR|TO3$H?D=MqtW;u!hk6xyn6c+SL< z-Pc9}leyUmqX2t<5k7b2rGywpBz`{AD!t!G#xnDg5mtRR1Q4_Nj}gSt=iDHAiLrBb zn;CW2hTdnaYWQZxX})Oq6HFVyXcBO3u&u`Q-poZXu#T%12FJ&L+`%$y#NlPR<92_TZqg>0n!|02cU|;|ELi+!ouW`>nwYrh!{jS$Z zWpl+-;*sQxFhOxNJl|4W`Z~mcKnGO$_OkHFV{LZ9t!mOYv$}6NOe|5&TAU&xewRnTlE9pjBzu-(mIfOQ#tyh3p-Vqg7@pZ zOi>KWxa*o?f_C$_?e^_&ECX+QpNG3w%q!6;4$5N9G9ilD>ixXy(u^qP;q3X82Jx`3 zI923#UHLJK$mgIWR)>f0AdqIOv0261%u=-Op;uC(f*JFw>-yyZ6cEeyf=Y%3(BC(e zCj>-WHGdZLMq}Ve?RI{)-vn^*^-5MzD6??C>ewpTus~cpOU0EHg#*tD%0l0&>yew( zx{(-}#i)w%@Op(dj~K>XcTGH%`6)0_m3Z5dW|wAhw7C-iXeAfDLddg2gLLUw3NpI} zJQ84zV+C=+sRGvGQa$~#JfAfIst%oHBH$j!l{{>nHU0}Wl1BW|XyCswTr-B5Mh_F) z7hp+hDiDBIMu&Ln>1%wI9g;aGwM00;cGe+M)Y z09Rb`&rm8cjW!vu+97SgY|WN-aNy36nSf5cxw-#|Xk0N#Ek82svAJnX{`~hAjw=)` z(Lq?y)FgE-Q>~e2xU^Yj2n>i?w zVIO$GqLO#=*WIKDr)KtR&^fF5kmf97V7vH|zAo2XV+3uKSrCP>!}t@)cr0R5Aw<4| z{^20Fgboq`ZmKys#eB**ivSjUN$?X-9{j(4su*#io?x!oBsH7e)l&*m z-*k%CdopoB`Ci>M>YhAgF%9*Hz*K!J+(#(ml@X^38G&WU{vg(|w*6?1Z-Y2!4Oj3L zY&@9&DZ1^I2hOE?obbBSp6ORdfl)h?mR znjUZX#~T}SrJue=K6PaS+cK`P-1i&H+*pZc#m36r*AXWT;wnI@#}zmknV1kJ^UJkJ zgKuqusD-Eep7|BTs0qZe;$)fu7Du=L&CnUw+3jUS2wO2B%%-3#RG@i6z%6t?iLncK zK_@Df0VuvivjW}j0$*3T0N=&)x}_Af$N)TzD>5KU($8bt-Qfn5tEqGkrP4L~#tMu}d7Qf{@Lk z24bdYz{jjM-G5`beg?jI*QPz80me;DGwQJ0-!SfZTBWs;HWjgUsJ;oXG{fdVtvrV> z^RzTG5&bH%UMK|}K*^7{?cE4to>v9};PuV;5g#77qM8A5^kcV)D_TCd7D}(Slk0;C&o~)=DvQ8mp+EO$gUUQ|vzu+t=}{ z2txnngE_+)XzT0IM4~!g0y|R;2-(=j#e)Xm z6<~x$+w92SM+kzjeG|CBie8D6Ja6M~#W5(G7i=rq>=rEqNgwS_s}pftvMU(HX}^MX zWKE$=P}X?Z6*||8ll(W5aZ2QXg|S01y2OPFR@u6As-;Tgw!foM9tD?z75L<~G%LY`g>SKo&(Z*pioc zS4?M1IAB5Eu@Pd+a-#CL6m8saySUGAyMRWy`L?nXcxAE>ML%963XKO2-%T`G*SKNC zwTZJeRHp7|Q219aehlfuF^L66n=OkilKw*WEH%H6{AVd3Gpox0_Se19b^b00FwTsI zuU9p^0^!Ob^~Cd~%vT_7zQU}rZdsH@4|SnwUWz#lJpHKo@-DH1@0ri2*Fcbq2~WXC zdVCuuSnEs8Ho_T6ALbQj-~L&{BgtJ%4}EWDm3M%~Gr9n-Wrw|P^1q7f0OO5 zIcFuC+aT4iiIo(BtUo80f2CK-ZrOuQ-kD4wh%K!7BTD|-BK{3woK}ce@aH34(kMH{ zNy`$0*A@zq!_aF;Uf)@^)g?+pISG~iz zxk8OFBEN;9jwcIjl@~F(%r^7{n7PO%4h|+W&H!0pistRfq2E@rI=23La4-aapWD;ObDkR z)?QYxNEpG!A9D4d&Tr5<yD4^D)F0;QbL)CtJ)JZP{lJ3C546&6AhSZOLa!d1 zvwiD_c{9UMH69+aASq85GzD*M<-qAOQ>8&rd&j>ikU6KXdBCkta}Z4^L7&Z;buzoM z&X#ku$&m7@#rvPw_buAb=8^Oh$2XhF0Sg+gxfF4iK}-n7Ar2-!uS!hPHUf+cdls|f zRu>q+e53^Pn{E0GW?XtOulT{2KOD3Vmq_rCDhQe2V~lr0+wzgZib>Z?CfNA7(g=?7I&TL_>RtXJnN(CzjH?&o74!mAqeFi3a|Vn;CSz{bcHSFOv#>#Hw&@j@ zb#*t|zr9Zu31kiyAzlHBunkPF+OqSkTK}L=wY|W-OYzV!M-`SY)%ej>F_WyXL^Opl zXChFp=qOzoqDgn(uq{at#25n9eECRsj8@G&jqBW&#Qp7u5&Gt}q)=vNg?N?O!&{Ml zb1v%X2v8m2P{4ya)DKH!`6N@}ul5Sd5qrn_m)8IE_3Guuno#3L>5ATCwfeZf$B1Tr z4TZVmEu)E9sMdE~0cd+4w%w!*aBiCr1AkIHVGR50tJSd~^{<{1z*KEc=25X~W3ctH zg)1abBa&p4zLI$wVQuBKhu=W1k>AC;q6@RP?_zEc-k#EnFf&C=R~!w^_wKFnC7PBI z#ws#HujD*MGT^jHw5z=RQ+OO7dwa#fkJm;#79SHKR_ybW8xUPMEHpuWUN?IRWayqG zv97=vm?1X!aw_ytWgVdr(MirmLxnuzUIC3?i)9#mm;VSzabVB%8;c`$E;Tkqu5f=sZ37}N+c=x}SoaAVq~&QB^eQZh*;)LXVPlZmO#ga5=b@&|+~3>%`Q zQ@MIM2_syFyHJ>Fnx}7 z57Vn>tG~42v}r(p+pWtfDjTfc`xDE2M4GZ@AO1Jy#x;(86*AFO*y)X%`3li-M%BPY z?Kp9$N>_XJ93hZ;%om5;%Gk@k-dpR;R%3UUZ&`@0b4SvK(Q4!tL<8b$Ir*Q1Ay;py zyS?RkVwvv_MJq3*vs>7sIb#vYN7v3yJbT9Zv7M>XVy-6oBwj`kZh57BQ~4*HQI$Z# z0w(2y5_W1EX@D`7Iq}J!*fov^Bs&0utd>^Chu@$tUw;F+<})J00@DdwPQ(quOSl&U z?PF!SjM>e;6+7T1s&q1Z4rPusnD#H-c%}Xt``#q>m9ABju7HAOUR^bf+3~jtW0dT3 zU+$Mc0-KOI46G)w<;-z70{=@2D}wRFhy~^>n>lZ5n$ZlliU;tFk%y6o_-HUgZ!P=(T^dKj5`OsZie*tcoJdDDI(p zZu|srt`tZHWV}ByREDf?hB?;;gxu&skpt3LK zMGJ9-_;1|3qdHyDOHm@U6?%@}P)ENp%wqL=O{h@4%poJ+f7qCXp-cE`;x}uI){AOC z##UEyb-6#0j5`MU6%S7^+(4 z#_8iX^_7dvv|<>lXMYWf9S0m0KAu$N-)U0F8DEcGxgt}ssAoAg zkj-xx^J_?hw0GAiUmL+U1FIf*IRyl%fJwkR@Ec~~i>%(*qpEutGE~Tyf0*NrXhw-F z|0?+MajsbWAG=5a&427vk-bcgu~rqd>f@5lBfT(D^v(Hi9K#kMCB10C;}`QUT_u*o zRX%LN9;n!^E;ya=7lB`9Xl1VMIP+O~`WwMuvm_W-S&Ex$e0rYSQcFlx2j}M@-WzXk z|Ip-SS-pi4wkc+g_gE{uAiYN{BXQwkh3fBfm=ft#f%FD`^I)izDEhFRkRs@2VWEt3&?#kg*XqPNp!&SOK6St`9X z`ifwnLsJqL;0~=k@+Xq_K^Vz&KW56pIL^!C-h$@O%%m`94DiQskFW7h2qTf+TKX3! zg*QQNCnE%P1)EcW(~NBcy2D0rE)z^uxCCDzsruxxM^5mpWPluJ_?8-kP4baRwhZ4( zvIM{<6b5(?bGVCfGEp!Iu{UsC@26nCqL8eFFga~h3JJ8>L6~LEVYum!XsqE3+w!SnGx-$ufZ{YgBp|>On>y=2FlL_D_AC zFDQuFnZT`LFlYRj6Ne<97c`-$d@xKGXU4X}@_x4=H0XUnu<9M(M<{J)BbI4r-=u3JT`C9 z)_m{f9~Y|x8|rqwf5MqZwGMV}FKyyVr3KyO>iXNbsrqRsEWP z(!O{O>@+{_;(@J8@cw$0bb7fxlz+Up$DP;!lm|)T<+fE6qa=e@#Y)3QJ3Xt&@F4V{ z5$pC@sIFjN)vjnLxuO z7l=g8DiUr_vDkZ9B4juI$_r5>b0h|*ih{y-+dbob%*L;Oxio`@;3vi22I22tPTF8> z;3K}Ya{&t9&0a?!^YPsOZ-L6T!1Vtl_4|c{!uU1$!&B}X0jvXTG*nr($`oe|O<>Rt?_$oODIzN|z*w7&?Xh z!of&6#7GY`*KBvJ!}nq-vZ9%79b_s52AM0bQ94_EVN>{)LE)9u=x7hRR4>PqPXo%G(5AV>3Q#PLu8~DoR?0ndY^wBFV?CnhS^7DRjXvWb#n^JTv{~E z84{8!@=MRzH)5o5s|(oe-@XM@)T&2^@Eylp5~n1Zm`nEGgRXi$bM}Yiz%7m8ng?+ zFu?pX!(Ne`^XW(k@N{t~*i+fIl`WrfYFU?FKG09Y+#^hhrITfb)z>z5^)UJ+p5}Z| z?5Q4cfLa>()5C>I*?7k|NJ2o>^=FY%4;gJp&B+H;3f6@{h z)~0!Xi)fy1PclG<4A_?OK>da1L@@K=P_UjG8%QXIpm0?NQm1Jpfu=CtYhgf}yf(cA z@~s9$sh?k=$Q8$&P06&Xoc6x4Gi@KEfc9h-{vtzL{hLkkl}#p9eQl1b1s~~pT))%0 z6~kO1L!6?m*^H6+HdZ3S9>DIgM(1Jqm(BMks!mVyBU|wc09io{VqJni)jP!Ai$r3& z@p$rI@R6UmA>;sKx$>S6r$%ZSd(yb(dew~O^UsbUVj0~`(So0Oa^Qe3a0JI`ZSaH5 zZ?%S}KU3);28uhQ4bZdtTAgzhKF-4DjsN3S`HknEOF2kX5K9AGK^<;e81!d0{ew*B z7rT|ww63NKF}l+|fyF8MU4to#9Ei5^rUOXL5x<_m(^jKQs-KZk8Se#1N`nAX@!;s< z1^!D1U7>tW>@%7w)AC9(JelcA3TexXmQkGXJYne_p?|ENCfI4x|8(6Aw0KJz~(l5iz zKj^G4*bM4thKxcw&j{hYR?VlcpL^3?9S`*rO20lwD3q#{LeVj`B%^Y@l_n5}{^FeOc0qQB_=7094ICNZa&!uoLR zlD^zpq5hyd`#YXDRCunE7>jP_JRl+j!*2lM|4gV>EZ^6*4na1j@-XaSI<|oY;J-{G5?G6aS7R8 z&4cX0pFG*LH6e4-W4G;46=ozv$oV>UZCIG*zp8-WcqY3pL7#dwN(z!mgF&~302+N; z@mbmMny!rQ{%R>X!!9z)Pk$xP&mVch707&X;7{Rl6P?o~D)(tR1o+opu5rN3%-Y^t z#=HxWLpNeC6%Kl?X80$N@y>`q1%<>A^9^ZJTe1tBvT&%(J0t5Wz1Pj*0_l14PGXK? zuJ6BbO#GPGQ+HiR?;AnQdPnur|4_8I(0FL)woa;2ss8>BC!$gxhs!dde}5)vWcVfz z0J)8_#<3j1ayQbr!1 zm{%hhReX=f-2btAjhp{AN>YCXg-tMkA#Y~;gI`*qJoBt-stP;tvMB%n-%waD%Glp6 z9fA?AW+%AHdSRFY7`IC5RP9&%D1y*Ay~Uiu?#ITTO)86ViOG4^7T2vjZdB0oSzTuU zkaj=QW<-Gf!>>o9q5yU}HZnJ~sqK`aIq013Ue<9l+qj2H(Y+aj?Xy|ciB6>(6)~)8 zzjAvKNE?A%L)g7P5R+2L(gHOAq0es#@XLWgr_(;S3S4eXOG&VFh z)F}iNE`!>%Q?dtZ$kcP$>3EPVUpj+G6lS|FPCHz{t5pIQEA;$}nf^v|jaVjq%G|H0 zR@>&mJ9YuzG62B^GU{UjsDtXi$x;bD`ZhGvhY$MYeN1$}GZPzEzCr3MOD|JZ1V!M~ zgrSoWSz@@I2d*6Ku^WH>hH}pHN>;7?7dKvRF9Gsa*U;LUoPTa*8>fjH6E`9w0N%2Y z(O}W`{@PsUe0e4Q*Z=VG)5?afR|+l;%=|Uv$rFut3~uG(=S^2{s>&we(W_x>B>$-4 zu6Vu&L}lx-A%!m#gA7pFv+3zjNRe2=#tJ}ZJ#CwIYw&9Wi#u&Zz(1kX5sI|`Tye7B z%#3!;U_0~9#ugj=Uon|`iIhhm=!V(XjB@Sgt!6#RL^Hdd6QUYIYWPrvR0?9@23=}$ zFb+!Uvq{9(OY)F&4oyXst#bQ~AU`95S*+qex=f)i@F1&UK5rB7%ZzO;Z3#WI%)inl zOWxQ)pKlg(D~3Vex^b!+o)j@Py~-ud(D6n50SYnIS-%*`WM&Qe)}H|56Q4CLUA2;QJ?Jp31ogBymHjbR`NH7=P|jjc$-Hj z(F5K+ua4!Ts9nElct2a86JANDa180q!v_ji})6awZI zaD<(Zgf&98na)G6{zroG8_Gyv*i|9pdKn7%V!a>ra!-^`AZe58*e8}PN|jOl^n+41 zpR6qXQRBw_#xXBDXi|(lTs*MJOUYb+R8_A+l>v94?Zk&qUg&F`W4xKnS8jMbi=;Qv zM;hqRTRbU19H)(_G{#)}yC!L)HIZRTg`U?+T$=CCDb=%xA_chh@mKSA1u$Qh>jj<) zkR`V8m9c6>qoUeZ|Kxe&@bacOy9~UOkDva;F}?^$QcS9n$tT~JPt+V`ghwFJnJ`ra~@b| z41%ASkp*xqo4v^#D`1H z6{4|n`H=i5GSdjSisni0FrxnG+C(GVm+=0lVdNWC)jFfRtd9Xr)n*#_Oa3Ia*dZpl z?4raE5UcVlZ?_^DaL8M{DYjDK2X+DUw_^&CF1Exhsl>?$QC$oSmUk8kIKfT9)xm~w zzd?-Ke=w*vYKqG3#qMXl8jGMtL2dRKJ(Gor5)1Cw36(0W%pYy+2w+A)POY+y`wuQT z8y{VkYsvO*{cYO4GD+ld<M6du(Bz&}2_Nxi`|{+rAq?3nWO&9WLjpgZu} z8F=fi=5d~%<83T6A{m)fhE*&ftKa>g`U5Tsw%m-?DN~bk7j&mZ@=`vvUAc7s>w7XI zl9^IPqLOyrN+S&<_PWynjrmDs`eG|e)Z0wb73nUMLKa@5{qgULAVx+NkE-R31bwsV zIBg@Txz24o(gHKj&?_=R2;7f&RKcRq{NKja9!jsHuK|U)p-}-Kvb7c}Hy@Wsy-~|7 zw)jms@3m-=zj{=Fv{hT_l$pZDkp4HAHiN0~AM&OS)1auBltE!}xG8tjjkg>W2>Fnj zc7|qD@l3R=y52`r1e1<=Qrdt4UO|B#j8yv~nD3bAcR#Zf1eb%DuTOZap=@K+AU=#6 z<8AjoA{obJ(5irKeaHVr0{06Eii+N1{hdFaD!T`LJ;drZH4lWv%3mws6~x%g++tXj zkX*dsJf9A56OP=Wb^}Bdug<+0W@sbn6PY2K{f1>$9Ahza%g2h}-_#wiqUF;l0Z@R7 zlh*$@p&w+}Cg`lyh#S(>bu|JMvkbcRCy;UDK(7+-c{SQ(q?LbqDS!J=DAT5IW`KAt zn9oj5QaLa|%G$QU?{6Gqoq5Z>3ez^5yIuLQ)S&6VLGAI7>F3(|DnN;)CK| z2A~DlewA%jEHf19RVIERI0Zh!`Yn|jCXtPlN#y*VvzU6Uy5vI4D>PINIKd{8V?iic z&C3Rw6#$XP;7HukC_={L05XyyK^3&#ALsCI*x@s=0)6ZkL7?d^xhj%#9uZ2`tGV*} z#TD@w7?^X69Y9DE_q*MimvZo0#h?gc>hp1u&6EEHWl}7&e1>AhYSfj~c~xwUT|{{b zXkl?j$o@sLcnj~8R5yi?Tn>)wAKvbYW4L+VP^*xqN#0dq0fAlD0m{1MJh|eNHdCVK#iDsdGjMJ< zPE}P31?E9b4&4x(vmCY_a~J$*6K~2aT%3NA^<_R19lya`FY50FzS|`FQ32M z-Uwx+dMH-nzPhjv46rkX)&umHCh*D_*%c1OLNj`sP#Wd{AO#YGw3bVpiu5*kRv>e=DWcWw*yx6Nj}_+nD7zb* zEWrKGfmX)`iB90DG1@P}lD&;4MjYeGh-|fc(A?m)w%rW-r`6+KJ{|B6Aa zVA6axB3m6>ncI^qK!~NMNZ;U^a%9}w%vps)&l&+>M=L_lK)`^TD4(e(eGu2B-m zt%~K?X~KUnGh!~$Fb}Z-%|Xi(+xrTsb0N)P4W1?j+;5gw)xQV*19wCR%n?0wgRGOW>9C%WAu>l z6fVW?>Y=V~IvoAc9yZa=RJQqjdBWzmeWRh6#gNG`s||8k&{kRWIs{k)D(9&dEM7OC zYkOlieIQ>UcV#%w{*!yoHNLD$1DgVnFK9hO#wy7$H7Gr38+>yt z@~E#M5`{5q0?j?HO_5r*(CZ9H8Z&rmRSwsoRt^%_{8->4xr9FNtsA)hiDEtzlI*d$ z#@<65Gmvl6+A~6lc3QXjKOl{%F7PP{-XE-EUhOAK_Y|do@N!mNVD}A3LQTGrj7Z08?JJ?gl5%DbK!Udtu=iU`O=sZxDxCOGhPuqqdbCo zh0~u4`u6jBe8QL~OM!WT@%wFh*z88{txMIXq{}LBx$Nfucq0%8tF-UTqV~kfmwOvb z@?t-Z>CalRK0+@B1|s3mxr?kf&Eif|ac=!Qx#23(Ty~B91~lVI0~u+OcZcMNYhc?b zE*9<^&6pVbg9+N4h_UJ3%!!InGXIESo(?Ux%EyF#m=C0n8COF5jcRT%uWa=Qy)@v( z{WQa@2sm=lwfHuSRv4o?f_nwSHyg^KS0KeCZnTAuHdd4tm#gjxAWmY1n|!*@Dw>Wx z9sSzAMI18_QY+%q;R^`QVNu$VgsHK}?8o}vHW{}J(k@#OoZAkNX4Xu#exsOsBr&ig z9vhdgFTfqq5X;4NE4cEOyf z(D3vPD;N5;rPBM{JO?r-qM5OzC=0e%`VD3-EMQ+{l-Z*dplnS(hG}TyHpfSzpy;hI z@*tt_bpS##dxiqq4&~sNDTQJgwoSJpum z=Qoo1;>gG9W<28K0o3fx-tul@be`s9&0#67iXsz5v-qIns+)@}^RZX{g5sH228dWP zA~U{j#a7D>M*&*vmdP>`^ulDIToO_T0HS`BD90dAvkH3 zy=1;g1f@moQXrhQKiYjOhM81gV$p~jSmH)<#!<`TQJ9nj2C|!(kX|6;N&pKKG^C$c zkfndqJRwYczL;3t*+%xcz!^U#H`iamEHagGtfQCA6O7Nk@JnlRI02Hc69#~iq+LEz18}z}h|#u?mVfPgJS&^7|=e)pwc`Iu`by^K$u$2cCYI z)Fljb%^8l#Y<}Crj$qmdhLHfHjp!XOjOGtJt^EN#{ufeZSii8hY>Q(|)Km0{n^nlI zgA?)s{Wp@aCV0fcl0-yk5!Oa+wUpNC#@o%bas5N09AGiBPAO%G*#>14Ja5x!`w63r zKKwZ*ZNNz@m)2Md*^0VHHVs<2pslqh6V;_^!6waCaYHQlenoPOAm(?$FC$T;NC+Y; zlrPlU_}Og5jl{~T#mres6Q(Do*RYX&a`_v=HBTw2RMY-dO59vgZnk^pUA&8heiX{L zcr0s&rMc4@A|X8ri{tHbBZ@SihR6aJ)(f#|?$;<~#VRxUA%1*1liTI(fv5 ze2{>GfsJBsz~24@GoOmm>0x}(N;mec@9>b!rcg9|r9%#J=>){zcZUU^*D`b&_GQ#*Wtck14{6Vl>?kv@4`_9>XNuQgM#5 z3kk*S`wkTPQw+Hk$C1spo}RpzBCG@+LX_k;mSM8?K)>Q zLWgk{b5hy3Gy_>%zhVUy$IxDXpkZar%451J9fFvYv|&8B_5mzWO}1H*fUBv(Q`CSh z*s;BHNktQF~zFiNCs%) zfriEX>a=QYu^y{gMevM6S>%K4#SqizsCRmODni}LyvWVgR~-k1QsRy)(55U{}HTPb@47vPAR4kD>7aAKp-10g@9%Ui0?yWA8GXL7| zNf^Xk&cR@LBmNt}d@NA0=tFZ1%m)D6u6PO`U$@e)Sf9lX#J~gf7|p1SthkBZUtJ;@ zFAZEQOd~8~+(3{WhuMS&3HuunctaIFA73*XoT?6=S@e{6ecsVDBZhG{u4~Y*lQr8{ z5sNc)7y3inbchqg#rd8dU&wt^5@S>I+I!|E;i zTf|Xq-Ehc~Xk}D5pf9j%MKQmPX9yqmDlMdF9$B@lH{tqx`+RAtgoMO>IpKPC`q9~! zD!N1>61SDO;xjJZrYs@ zfP?{&@s2L;5-QPwA2*sr?x~VWl1!7!^vEvBIw%gK`>FS{!Fc9R3hgOz9g8|6oo9+qDDDVjRAWg!e|4ERaAY5&xn@j~Ph0JjOQ1Qo|LJv-nQ#CD$eY#oBYfVf zhJS+@6XqvLCJ=pO1IS(pSv9v|xM`B?8<$RCN;WslOszKG>LyjzSQ|k%2{`j_JVWg3 zfs6$>)3poacNQ&OVaw;$TL!C~%^HA{-@mOuHVD76MpO`Y-*_A&j`0#f#S*9VG*wI4 zqQr_qhsOqYV?q?few`K{;~fJu9aEwc;WlgPi7s z5t#bc_Hbt1GpwMwd)q+G;sB-GW?usxt4JWpx)}ChmrL!ZZ9WWEWE1Gq*v!_8FjuQD zBL`!kybMJYOPcsZr^5N}BUnSq0z9G8A5&UCbW9{OBa%D@|}Fy zc!hZRHTYi71Fmj(nK@pB!Yy8I!$jqa_9>@{HY=T3W|c4F)Ta=;6ZK1pi-5$ zdCl~Hl(f}NJL^T;o3IFC3X+Tn#4BNgfkKn}$8hW$Mm=U2!1CZk-KNLha>D3vSN z(Yp7FYF$OYp0j9!^j^tbRLyUz{}IMWU(XZ@ z%u%Wq1c*&4_`J=Ex_@B5ZWhw}0!A8M0V8R;_BVY*d0pfxiUD(bAYd{1Pp040&m_|B zF)T!+#hv>K0_`ouF_Hpn@G39rB&%KPLkUn`Q;1?2Cl&ftd9IC!bFlz9U3>2a9&j3> zHa%K$1U*^c<<$?>F2(NUPD3k#9E7tosQwEPzN?h zNWRl{PINV$Zz9S$OCM&0L0ScH|MlL!$j+-%5?I7UnHtk|)0sp9GA`2of>gs$jd|+J zGvV`xP0%B*760mv%6^z=IsFdmU~sYYjXUp)uHUfKlAR5enxdJ^%gkMI42shO(TYWZ zy?8u8ZwmW0^=w-T){q-sc!0a+=pR|F5VPFax_@FAecc0%Ra~UacqN-=%Y*nyGGmth ziP@?11s9>U6K9J02~JD;yj2@Lf_BW)P=`K>At{ScEm1si@id!LiY;ZGG-gN+^nc)u zJ+8UI7h?jHzoDEn6aiA#c=RG++Iy?fX$*_ORJa1#F15}jv`tShJguI89*Sus`9Q5= z(rfBzO(q;(jDieW`!W_j+eQeyQ~-_SU-@ilRSTHcor5A77|aK9)nHvj^>A-=C?Po9 za?)86;a&l<#L9X`XdAO5X^?LMJgnjM zj(|^emSitMO}N-2fQdQyT@REh*p;Uh2^DC6@WcuTR0qCFHz^yXp)mB`#p?KS%>aa9 z^sCOgVwpSKtodp2u7&|B`j=q^i*|vJt~5Y3Tq?-S<)aLgr=PafZ}v9;s_&~Wfg-u* zw?Z04=Qu$8jO0I$U-vQ<4R0;++s#M`B8d~?`#ZYvP779?y@q%*pHnQe&4*jX9qI^_ z`++v>o|Pn18_^VGSq`%fska2!R~y}XO*ZJpTFkKM{~1i4!AQ%R_QI6+FO+Gj({FE7 zB(Z|~-d%FEs#YyaS2`O51Zav2U`y{hMJD_WXk7d7t9azM&DeX-L{S`jNc2BkvEq@q za@0GNKD#O_cYmzQHAMM`7u<+tW))Scrf*7`JuI6yvbWtv00=)(UqkPV`R+qi=CrWF zW%jREXtw)eS7}>enpPlW+$a)T=5;Rd%y1NL?YG}&Spp#7l8E*X=DF!}yN@oqmHEmRdaq%wFLS%$2>5x0-t|WI z>zVtQNC(JMf~>mK8ee97wZf#u^F#}4Tf%9wztYrsF_tt)YUTZYvwKq%bF5#*{y$v- zW03r^4R#)+7B2gK6C|C(i0cw7HUlGO`kRtr|6A9#0RD|<9L}m`RKG@yD$MY}-5=3v zDTYM><{lG54P2uY&Jr43V@`Rv)OT005yr?}(5H|A3=VfspZ!({KOi*0Y**V_Kdph7 z7mqs1=M1OVMT&YSe43TiZxnN&KAfw1?GrFmP@ng13GI-7T8F@Hfk11XJga0qLYlDO zHmIAw%{&yx?Dea%>CUt2zv`wNs*Qk4#E1LreRCM0N3C4V8kd zrNPoN6sgB~CWu!p*(3nT+tRc!I|xXCHmBF~Dz&Oe<^&Z66~2+Cjo8oYbNCzBhEm@+ ztip4IqB&yLhfSsEz-(Q4_B-J9%c%V|oG`LB>8R`Ds6Ar(DfUS~s(?Woud>q2Br~6b z4i@$qEcu%$!T*LZlSi91X*MF?4e&5+i+-m1LB$s0rajR-2$^E|Gk~S8sY2r$=lD02 zAw2Ljas71_no32+Ci#iF{ec$hZAn5i?R4wSj99yo9=IIw@CxPNdj69>t%&A3+$JJ5 z8B?6)Lrhj=7GdUv8KG=1hbZ`5;aT#vCXz1Yca!k>6Ulr`8UmbOR4FY~b;ncK{-&YW znuf=rP$3h}Z=O&O^*GQAkrhKG`~>k$Bu!o8frQ&S3Tl*+J5+%_Xf~|kC`3Id&DFKy zPx~;b>b7_Vb1RPdRLHEr0oT#Lh1zg`QVJy#f-cm@?mWl#!=&p)ms%|p;NR!H7Eu)Q z<)uOe4ebV2MP)(M1rI9S)pk#*$rvF8{h_C_{PDp7J%4uKVaA5``ByTjgU0nV)u`vT zWUZ2QGks8)ApRoAK*`Q;zisG8gA&kh{jKL`%WbA17E4bc_1o6LoKhNYrUC?0Db9^- z489kcS}kYR8>qoqH&hq^tGtx%iedm{GXP#dp}+hos*IT6-K71?+UpFXIpmlwss2RN{c*LO>&p^1 z)`q&t{v3}HLme?lYL!u_$v$1|Z+)&xfe|cfcJKYwi1mA>N;gmgnH86>MXW2L2fWUN z6wKIhXP8smAvt_Fs(G3f^f0^?5!KY)SqiK6%WKqvDs!^YAAJ8ei;?=ZImr;GU|YM6 zH3LEOJbR=w~DCReqp(K{YqoQw*5p|Pj{Nuco z)8R}sPllxGWh>J0PYnElCt6(#x7P>LzmYs6kU0uibJU8IdrY(07`XsD!sHt%SZ!e0 z231G$TqruK-9f)`jM;ydjaA;<&@ZV$C)-Cp$DQ|ef29X{Hi2y>y|IAi$l8sNwMa26 z&Yy6`>jR03YR}+6z(j1U51{Wdomas(qShCC`nHNRtDF8ZQu;0P{#eR9AZVztLoqd_ ztJk}3Xg)#Q-`|8WRdw}$zDajz$ox4YsF;egdVL$_DwL7kVNhiTvIhKYXxlg2;nKI5 z`B7^UY+Mw7TwWeq`3W-MnU=EgwRj(a%xBUQYvUyeIL(bp^7$B&3eudXtOC7j+W||N z#ue9LEnA7egMD+sVe^yD8H((z?~gP6AwDDzKZ^E7%JZTBu5Hr))_g&F1%L{hEvMS)COv;57*FLAI~6oil;(~7a?I?- z)Cv*!c5Fm8Ey>IhCI7fCm;T0hm-ZXS;HPHsr+}|n4|Wedn(vSY5VrwQ0m1v`Mfd+{ zV@um2t%br}(LHKf1G{+CZJ`VRED?@ur1>xGv zPd*OP=oa3f&lr<^(NUbMLX)?gh*(#9e( zn08GbNkN{wUej1e;gDlkS* z6sY*P7)+ag;mWhvHfNKqM9M01NAIT2&ttk~LjJhJ(|;K|vmD8BW?65j5YWVF{~K$5 zMuyy|Py+pOasSg*m7Wsi^udN_AZ-RhHm!Lff@%Y>_^JaP*sVD$^bz~w2&@!3`%|{5 zL8}JC@a~~OAX9Itzj7v3;54HHIDo_VE+P0d>DUogj?L^Pvx;pG5k2V+`Q_WsYd@c6 z#+Bvfa>Y{T8PZrHW(ZV>j2cB4{D~1P3St!Q?2|7k@0(^ds`Iwp6@k)#u0qhd{PRyN zqX-!!D(vO|oke+i+VE;@*q90gejf$Xvfj5xFBZNFB5wNG2p5JNwVvkTvDfcq9ePCK4 zw^qdtFzG}=UGJj`djIWB@Y9DlWe2KM zGmnKx7I_LHpWXjgUOMO|iPyuRA(ye(fuUC8Pf0xWz7Jp)mFra)Q&G&|LU z*!8h_XiwZn?C=_+7~^SGKKpizg-C8c(K`5Z!xLk^3 zgaL<&aph)Dr6C~}edJ)H-s{cQGz$u0YG#?{R9Wy)PL^P+6s7Z@r*`9=HB6+i-)Kj)nkDO->-j-(E(SI{q-gqrby<3D5+#Ev?O=8rddL@Ibr{M zyqthR@}eAJ#svS)p?LLxo{6RKCeHNn#^~zB1eEd-i-rLE(mwTW0TnI-SfNN_it+LZ zFx_X7Ph&kT+N9%tp_Z8F$Rm_I2O}a<;qh&9TZaa?x272u80OL=Il|CcI>1WY$ABfb zZ+k(AK}LKV+bN9i+fjMGy9G)UknWxW0jB=`a*Z9~cZ#)NPOy4BHH6^JS(=F|)d^>_Ko{@A4 z|J!F5IY~%kR;mY}y*Cb~!kBdtR4Pn_ZfSJ&{zk8C9EuWVo=pP8o4N0umv1S1HMO?c z5^JvSzzia3+sLQ#ssh3hj@iuqZnji^s9%yFZ)AZTq+{9jXBk|^Odhi2D<@Vzf6myU zQ8nP-R)SoVAjwoY_%)+-k`zd>8@7URH{b@7DhNII2}aD&G&Ao|5S!>}WnhMT9za=2 zvo+IAp=UVUxvJls*W#1jlR6);?u1oe*U`m%`~Gy%&~cK ze>T z*N9}j5x#(YJhOqbuuzG1OfIykz_6WGAy4(%|JrhgdG0K+q@u77xQPs!vpv6F2v#${zWNac<6?Uub^FGG>BVW=Ze8A9%Pd%hXC!ke zB=Qv85rf%Pj-u6N8rv9IIFoOa%h?H8X5Lu+ZKoiWOEBxNCo+WPGOQ`U5~1LGVEtj} z3ycI;%zdUE4i%7N_iY6C-shfb7ZiYwH$=z?W9r9dUC_Pm$yPHo4UE2sb#k!g(?En%qWZ z6^n&mE1ho)^L;3Nro~?GkS@nPO-VAoxXdtxIlkGIVi&kMGq&g1wzvVR#Q7=3W+a2K zli^M6at$__h4XXoq>|a&!chC%&xGqWFe<5UIuuN8s(rk)dhtpVdA+1Y~Rm@ga) z!Vm}17FdIV8j)9|%;u`eFg*g9`q#OtCS|V``w`fm{UMu)26BsT2T&kO9bWbbcb4v> z3GC@Bh{g`2{Z3D391}k#>J(a4ws<;tN2kj@&@_PC2|=`CmWmnhgRA}TlpqWEgm30Y zg0z$3H9bgjVy4ry|OVF`>HFbTXl?KjvMjosJ9F3^Hfj5fv>g z1B?%*w$Zm%^@D;m{I;x5^XC_9Iir~STDVg{Ka*Kx_1}6ShW3nCLb|1}M7+*yV7F63 zHBmXi69~;Is*o4OxNjUIjX<0_n3@|a@fa#k23G8+7IB+cDqUNX)0llk{9g`}HQEur zTvQ|Y7+!`B3TF^eGOQ_xG0r9&0`O5iNsgh|5;x;(eA;+O2!97kF5QPQtc>gF2P93KN@-{R z;_Rn87b?$)h_t$&%bv7nR;=Xi(eyQVZZT?tQQ(+ZZSYL}G*kF(UK3yf^9ymCp-c!S z%&99a8p%7i*5?+TWPTYLz2O{V$bT+iS%M9cgGy62X*AbgiQ^f_z+x0Jrx^Gw zITn==w;k)Zw23!1(MRqr0A>T$n&ND?TBHFd++Sp=W+Zt8vJdohwn6PRc$cxl%y?PY z+)Jw-!!?i^KZoB|tg#%JdQ=zG_z7jk!aNo1Ig)OMRzXchPxo|y`##2aj?cC2U@`Qb#i3y11?^^0oQR|oV z+YDxeQAZdgReV{#n`uc{Mj_bnwJ-@WxW*qBT>^CCHi13gv{ma_o4Mn~nq)>Ys4XxaysJ?;3B570s} zZHn^7{P;$qTes}nSd{wH6>cw_#Yy%y)ZGvuv$rE;{~VWyiWd;>QKMexuXgSTqKqX_ z*)=nT4_0j?RS<-8R#@{T1W=Ofa zKO_Ezvy!tkvTV)2t^QO$vCLDVDwTQMtu={em^(?MIQ)t6Qv)0u(Eg3T>_Y(lbBb9N z^5HM$N;8UcMxn2gdav1ZUogM>37v}qg;J_3QlQGXyCXXDBTK0lx`QvRWq)017C=R0 zDQ?n`FSszF-hFqP<)&x*7krJcMSv(d&z*kzx@j8yyh4-zW#!CB26(E7E7foL{?p=e zJD4FSCxIoTlg}uUPG;MOE5wM6;xynL=S#!M^~xZO6Q0ow=v09!wWVXxfv?PDt)5Z| zV6QK;^EvJ`R`|C1hY>#)3-8m{r{`)B_7lsf0ANfB-xAtI2aJ99ejKhjffuE-3O3UQ zY%>P92{}5q)7#|OT7JzQW+3yb5phcV;HYOcUo{vz)zZiGLR28ckxj+MuSL3=zCOuP z9(^0HDvo*MK%9a_5FoV+C5USwru3qq-y>mLbR7;$xIji4XEGza5I(N#34e7lzEOCx~mAx#j_*I)9DYhDFERpB7!>41lb87Y*i~uDc{c(@fBmQ;y`$ z7m{7KoKmuElYd7uieQ%RN5+;2zq~l}7dV`3<&U^=Mr2Rgqnnt|o*ggC3UzS~uX=pP zFNcs|r*`tL$v*jZ(hZ6J8&7QaZU8PWI9 zG6rBtZ7wqvu&M3Q3IabNGkgH?vhgZP3|6kPTXym)K4|XS@d%`RPiz}YKqI6wT(JJN zp;}_~0O>X4el|43cN?WZbL$;$4A=1ZakcrMKt@Y(zV5Huf=~fE6yJgtu5MMuR=`~E ziyDDAEG0`y{B;PRNcQn=AX6co6XS#nj8e?5`tMGS5ClVp7v~3=tzr(PI`Kx>cl+vUNUI@`4lReDLb zNJ9WMH?UWu@G_+m%nBC|t%SUBK#(wtTQoPHu?)?>a?at>6*E*QeT$+%^M|AwA+F+H zxL&SFT2#E;7d0ZA`AwE;M$zWUpmN33%BF}HJdWlwON;^>d|w!)cyB2hl~K=Vj;_x< zp`c`53+mswkA`+pBBK!ErAz1UQ>=b|q!1!&59<4Xv0 zK~tblF;{T>SY>nN48Kz<{(+O|-=o(&y@&vw<>e|YeY@}_q4NAxiDINt$WwTmhnjZ( zQT3~#)(#LzF`jJzUE{IWG2b_Sq)^7eiD;-6rWY3IH->RGMV;yg=uXwB^SWRfnykB1 zr+O-HK1AJ?#WNdtV{_I1}ifnk{k>;uoS$g)j?Bz9lA>#{@Fxa;{ zl`TuuwiOcg+b%{yj7>-paS9fy*Mt;D=&c*5e@A^H&@d2jKKs(uAO>c{;NDH4^J}v2 zEIOiZ_jp=AYi+(5a%cb4Ot_^-hGv-=^rFpYl0EcW#r6rpsW_pVt=m;hmkJ-;H$eS} zrED{nYfPvOliSZKRQG6Wt_>TfyW?sg=FCBN*DQUW?L=pO+ENu5Xo^no8OAvveC2!;Vfx#W^^EsfIwhyHQ^Y&xWk5giFt>b)KX z&UljxcT_e$<^x3ukY4zoGmiN}ggi~I35ra^mtVxxII<@kmCNezf>V4A{=ld{UCB;}6KQtbT`6ad%=Gj<~yh&E@#Kb#Mf5jhhvQ zRDXMJnA~sp<}$E7(btd7t&W}ng78o=c(ha8zgwVxF^y(*mtS$oieu1kiuh4&TQ030 z5lVjd%&+1S6?%$E>gS;*NH=a%X-pXI9TlbU>xnoe13pSVm{A)|%4SX?2Ve|ymnP48 zUv;+CcD28FI?eCUnYZbvv)(zKudb{!l=)Uve8R9YHXl~i#f+}|eU&M#;uPYleHf3k zV6Bigmqaa|g)@-HVr-S4Xy${VAVmTrMLGH)??KCsf2T>TIuyv8u)?#1&!nH_PDyy` zzUUjzD9#y$T11d2!6iV+A_dE-LTH>o0Ex?nob>3_YW)Ne; zUQ!;_m*1-wnc5Xga@E=@n9^`&nsM4HHXX&py!-R;=qlrv{9@fVgZX|mvhD+!8H3B? zLYK6sf-B_G5#$Lp=m{(+cIjmNRnKQ=h2PanPppf**H18`5=xcnGA`QDDJnzxx=V~` z+uJjCHLuvZtzJ`l42I#!$|i4Dz9N~cx>|8 ze&YK@?#armXAJWT7E=n@pqpMoVHJbZb9aRnHC4%k)c1iz2-b^Oj&{cZ?CjU{`GTWD zB=pRx|-rNWL9xqTCye6&X+IU$*Tu z(-10ON2X9-#Ehf&F?DH*3V{E^4bpeinoLs%!qv6CGK3V+{E)N8sBD65mC8!YD4z1^ zF=@+vU$u~xM7{+;UO=lTt@pR}#v)S`^9zPAbuoM_HuM8dU^BNS#P+>TY*~I>^ZVj< zu>`JhRQ%N3MDYIY9!3nKB+O}$nOyX;9c~i{V@^LBR%HvyQ~!mx#dWFY(_?}92t@s2 zk~<^Fqa@5E)x;J%p5Rr*J_()Ligi)6Dy)tcdwPn=kI{sCQe{3i&gfNxLh%e@wzM## zc68pqZH$LWrHNq zI89iJJ<;OBOV+R%QIWBtjs1n}GwY=cH0KpFe1`2qfglBm()m#b+pRBJSx}`|EVnWI zQzkupjt)L;(ay`TnCuty0D!X2{hU0e0ON+Cn=Atsqdr>ufTzg}HU8@kX2LlJ8d{kT z618L7>aR=fjATwI%g#%=Y$H!T3&{$JI2(7gz$JBVY9(2j2iYN48T+D;)igQUpE$}+Fs_!M_ZL0#|@BtO{j?M3K$#xjvYP^B0)n!j1y zB;|0A{Mjk<2xCJ-oD7}OEk!>;<(4JxIy~+sEjD@W#lf^ z_&5N);NO>B6eP5FG6=DJhlGWUx^VzP&xZtBBAxa~{VD_AUTt11Sc>D7XCw5zd4#z9 zD~f$oA7V>^Ozg+?2HA`Msy!Z$|%{BYEG0rxAAV>J7P z+LX=f?c=G`ZY+Hq>x|5pwfM@W9S8H&`iTrV(m_7VOE1INS|nHR6^>)(vIbjocOj|% z6e&CAQQdB9;sz?o?P?j<-3kccf#aw3^5guxR6OHHkB>x*DFpZ&Fa>STR2)yJMt2!H z^m|O$nQzy%mJ5hk8&&jE1VsOp-vy)Cx-apE-Da+!0Fm50fT3QT znf(}UFZJ8)zh1D4VSFLbrTV=C)A&x`=#uoW(HiE&SQ5nGP2JuQpbN{QK@tk7>;2jh zb-DZdf>Omhn{5O$az}len6h>WUt~TTr#tWbzGqm=lvA6sK!6F$vlpudv-pDf$Jk-U zlID{UW~zPeNebdo)`Yc_YU)0E4dsSNaAGl-Y8ZL(_r3bU%_!yr(b^pqkeJ){ z(~1!Ccet-<(N{E($wyFaRG8j2G4xs{9-?miy>%J^%ri;~MbFuweV9VK_?=Mj=C3&o z1`T6KS{=1$4X@uSQ{vZks3IuyMUX!E0m=MldVjy3NE&w+q(7SgK(=1tI$Fk;J4mum ztf6v~pzKS7-#>)@Esx>{hLj+bu~Dh)!iqb;W0UgjED0aZcqk z1!vZ?D#U#=UsH*bOy~*)nUG9_mbJUC9Q$ME#^?keZ-4?tGAFr>oXVwcDd2)@oE+y< z>BpjckObSdXofLCb0P|Ju^WGqpsc?pGet70Q@Ks4{=W5ldhEU_?`^&hRi!b#%y}BG z&%W8w<;TI(X#427DGu z6^*C2#=R;{PD$^%f(h(hWYQumw1Vxt+$Od#Pjd?9CB4)anaLT+u$L-gN+H6caul|B z)OhINIq^!EiO3cGMyfWs-qr0G&{Xp0zXpc8lu3{8qfkOU;BrKd)*B#LYqm)QGVt*o zK2X)m9eXo6^*vGD*eNm{)_eY?M`L@E&#&b%|CUorT8Y@xFGkV z!G0Y+k&?I88=_r-41jQjB9%31HN-R>tV!`z>}$N2k{na)OOY8ez_cjVXS+MeGBm|r z`&)%FWG{PrNM7BRnc~IDe@R&E%nZq=b*xcbggJ8~GD*wbn@5a$_gCbnA}J#fQ2seP zHM{>$Ockw~N(h~u_Wq{U-(9a>i?AZ2*XFPw@Kr9S@(g8+x2yP4z>?j+4~nb79GKYn zFkiNf&RIXkMNAA%`;nvm8c<38^W({ z=LL7^?w$RV?Rk|-Ikb(xCqfN`lMxZ* zWn{w=lxTtM7&8}}k$1u+k@QopNQU2(`uSK=<;D60lhnnIijh#vDmPGDd$1t6@tpF0 zfnQCp{iXsLzO}sp;8E}2e)DQKToM~=BeEBqb#2}cf#$|}_6ILrz3^v5aV3ybQLRnnn)K21!0x zEr-O;rEzy~`6}%~iA5?z!P<qfwee{E81zo2sHY9z ze&Wd^pgKf4Y-YtQz1Uu6z$}aal8G)R6Ne<#Lo5WQtHaAA>X%^JBTE*U$HWsi3Nd~&^-*S`i zLeSMKayOSzQ4V2a?sd{0dc@BthNN=;4hE{?Ht-!I08=Gfk*MEv}5B(Rq{$CJC?;V}gWBUSbnzWPjFJ>z0bX5)6n5I6JAfMxOIW)1KM zyFu{`P*)XQY7s>2KlHFNtRS9iz{$+Au(;$mGcE78GH8t!9hxNC-}gfa$b}RkZcF(|BIj=}g)j#AvO<>HaZ$01-fte9;4brVz^3SQZ;O5z zwPPt$%Q^-`E6gmwz;b-@Yd52C=8GY*!pyLDc%Yr{WamWJ?X}{`B%}W)XG@_tYy6I0 z1JDEo$C^QGHue9Xc;;IYl&UV?Xua?|Z#<*6f=)%u+V&bcLUPNlBAlfXbfbP)1ie(M z1To8Hm{O8HGO>aKZN6ClG(>V^uX>@o9IK9kt%9@3@Qm)?W_-iIjy_IN{|RNhAaSLR zvRu6b0TB8)VExUZsG$pCvt=@kGqqV-^-AAx8H@t|I45~*Rr^Q6P@C^A7>+@o2xC;@G#tAtoRZ*RHV+JUXwlXOg2`mDxl*#sdz{lD}oI#N9 z=DL!Bo9*x1u@TEWBiC??{AL0b>;X$|yBvnYxvc-=9|LrYd1u3*B#9v#jE}P#`q|Gg z&Ur+*P;>#tGiU>F8E}+CUI2mqE2Mo>pJ4j!HZlE~fD$mFDt3Ji-FQYbgUO?bEjDmV z07l)oRlK9!8FKK|Ea6`?=)P%X+8gJna!Z;2(@!Yl9u{+|Zgi%Rrj%t3N1yt84h>c^ z#j3H#ARv0-er9=a_Kq0TruRyoP=@|eJ%t9K*SY^;c-l6Zf*%q`fzHi`y#?P&m;TO0 zkI-?dP)zOn{E1|gjG|FNV{sKVP~4_$(T;(N9Y=||;@w>Ed^UsaA>!kOBDj`Cm^Pcf zk^`;a;>}XJz9H4}wl!|wB|67lrB(5TVya|;^fN{QI09kH%8WV%1E6znknBFHm>G*$R!IohZ|%>0y1@a4iOBJBm9YDfLkzHD^Y+@|fi&PC+v8O9u{!kdD0 zbQt3#Q4J-d5@*EJ7WgX?)2@sPejxhlUERAcvG@XB7+fQgkuwH=Dh2gYG8B%=p_g&N z5PA2km8y#GW|TNMoo2nu{MgvU&rpUcM!hP|On8ajqm(L!tLcrAD}76l8p@BJ)X}bR z%`&j+UPorm&GDvJqF9E)K!r(lhEq6M3uSO77GUBP_82Zg;C-WNy>Jb=%yKN;Ue@3F^c zllG?wbJ`v|Kv5Ztr7LS|6RqoyG=1i>N?4yO0(sG-Jag=24%CD;@$>e^F(FMT#lW*rZ=IvI_wUsm~z z8LBAea3bX~d^wzMhc>lMigFXV(>9g`A*R@xRq#=w>2$^d%TB*8yq zux*aTXydR7qMyCPRWl&y*%r49%9-7qFxM6>ivIt6-iDhBrOvNN!+^tj-2xFZXp#l} zy_i#=h*iyzs^^(4I93^H4>N1el7oN47L6F@`DkMkV6FI}+gNYAsvmu# zYY_8)Wo>mAds#x(?}~1W)#nGCw;>#5Lj601s#BPdRsEQ~jjB~ElY3EsrD9-$3Rr<+ zkAXVU9pHar8IL9JFJr77HiXUi7*T$}i+$e*-%Tj~JSSLLv-sJ16_~#7S07=_aZ#51 zpCrNWulEow%ZwTmjkbN>7xG+2rPSu%)ic<#azB{U^8R_@&?u5QGs@@amWqwQ$NFlI zqrm#pwzZkL-(lqnRJERAUBVrBgaJXtu6k)|2qkSZ6e?G?iq)VjYKBeWcV8`Q8rrsY zPzrVkjsj1hjG7%Sje=hh3W{Z5jjP}9EE_b#xdA=0k$2na zIm{dqHwFXXR|wM4H74CSCZ&zr!ZJ#FgtE^g3+GA<5Yu96kTH$iQn^`TE!KeZ7K4Iu z1>B1)&3bM(D zQ_>;_t-5uYe$p(v;$V?~;r>$06TvlPW-5d$z{B^*ETI-}*mf{VU#rWu5PpZn43}jR25u1s8^|QL7fu2#!%eJaY)%5%O+b8}l|Kf7%ztLtM5Cucj zg~2LAx5LJPV1x|EAyrD-gn2Y&hfFh~VHUua(k_JqS*&e~4l$`54~=5h%fLtbz4z8yKYHOE5r&#WwawM4;L3|=S(qi->uk<4ig zBrKFC?&bd|R9AHXvt(>&VH)GR0Od$lRreZfW%CXPn%6nn2xK%9aIn;N7)xjPK`wN1 zV64`G@kf^*k6ggVcHqO0*2%9dZ_fQq2uI-z9pEY=7Boql^dA>h$^vYuXcm0+Rxq`{ z!eOLrBEVjDa7itZS$YY-aj^Hd{6;Jzy}`r+@9qNN<&;=cq=!M;zXPi(%%hh?$^yBF zP>#av(?qKw4W)NU@e#^sv)VQMT|(yY;FpMb5mpHCskW09$Bh%AqH*J+1dpT?hlg#u zLs1@4>~m8f`zkDEFE0&_Wgpc4{ZG((8j7c;@OnykCvbcM=Vn*6U?pm4yGVj?bH4lwz3^q^3Ida0UB= zsdoQ#W8a=2A^EPR--GAJ4S~x382$7+U^5-z!Y;`D*?z*A$5sTba%YxOWw>M8ZHy|a zn?f;vjVeS+Q>F{3TEk#n!e#Y`_=d$Mkls0tK-#b*HzjU}jRwS{x3Uuz@=jY zv<7_7wGB&gf_i`I<+H5Z7zn?rDlnNi$_#}Z$Ry6L;|6Hv#)k^q@GS}on~@t42B6mT zM^zH|?<5VO*Zk2VIFA{DfUd`?h_KVsx?&^%8L!}aQt25dnLA)MW*v9~gaV8=kY2I+ z1d_HHNEs9V=&_JGXVYM;Y!2IDH?YvL|MsonR(|?sWD{I9w6j>UKEVhm& zYp^pjv(Ael-hEP`EM))6L>ap$SWFk)@FUlioBI=mE}8}#>*9o2T5FhJ*bzh+;$ypD z7D-Vol!-?UNoA^F*EkqjOYcpfVwuSVLKcO6wyB+}#D#m#1SIfAK;WH1DI2>z@Rq~H z##A@BtN(yzE0(eEYqGXFF085SdL7j%FDij4-;pj6X?Iiy!O_0F2iqrOa+Go-a@%8TjZkP&=1Z+b=}jQPd%?8+8CKqVRwlq)bSNrusP-FSiObhI4o$?E0v z-Y;OYiPIG7y+|XFc8)+q$-3MuRqL$HG>Qt^D6Yacv^uP&J(_9#W|H;d4Ga3GzG@qc zQ0BWKuQG(bXRtd`$=}=tVZpWe8Q9uZfL)SxzzN4V_tNfvkf-rxG)55Ty!PN^p&Vfq zlte5Ii=AYSJflFN&}@4PLnbr+giB?3Ke>MS=II&50PMFzvsd}kv^c0`p_rrjZ69Be zi{RY1G99}q7@VUSd%xN~ug#r)_IM32vU(GZHSqk;rXRt?w9;E#NhgkiWU@;sDK7YF3;K{4Tq z^Q*YFA~|LxWKnz#ZVA~YgQqwmOz7i>^#8g!#R<>6!yL}jC0K#kY4dNtejh|JZ`mUa zra-aZuCWa9eoB}tGtmaMZhWGa*OaYW+0&ms<=@mr7$cjDiG|>?4Q7NNy#ke%n{4<( zN~8b5MVPDd*h35DIGI4&5<{kdzr(~4#yqB~PY;uL(V!|HHbWKO)&>K@1MIGVUcflU z&Wl_Aaw~v>Xr}dF&tTGgC_RfZtZ*VL`a_2+U9n$q{aH+|oa=>{H4ddWvZ9wnpJ;D0 zyr1_+l4sUvL$!R7>!9hku|*Rh%LLKIiZu8wUz{zI)8!+i{tv+yc!QFTK*slSzG49c z(iuHeGEJyP=jKB@L@=sVq4F5HtPd@C#5Gg0dxkN_RP9t*njMqa|BZ8HLDDv6)5xWj zG94*)hxQUM13i4`P(}N_UO2Wre__=-B7x<4E;=>`20Cs;33{4k!+ka{xkN{yh_->* zlJ4w@thBJHGRtagu~$pz z*1iFq6i%J5h|G%rvLVs>nN7F6C0b{;DwA}uZFz75|Ck|KQhVvX8YmgOdnArHMmHtb zswS3uKxsC1-tm}vMA>n94S~>RNKv+LcIOqWA#Rw6EGDm4CZ_@!sPqN{i|!&Db1`AQ zWIz}=^EemZbMdO{CO+DlwuclevSfz|*yOVO??*7_m^e2mSO;`OLsH}A=zeJl41G4W ze^IkH*G^_syvhbYti@n4yH>+bIHQ??hQ-XvrC{Y*w>y@HGays7}!A78)^*~DI+uR;m}~d zs7#Fj#)*Z4g+`RG#T(cZR|Ms2G5Tzy2)0*ML{u}`T((?hA+YU#u+&jQIP#dUiipL( z;}0D|)3+Uf%;08#=zH$qR=zeuI8b@QKPYsA z3F{2#{)Kn=>7*jr1r&1%(hB09=pksZy=n9-lu@T$s#_m^9{F4`u565=okbsO-R;V| zDaur}p~l3Z4z5>lHGU!)Ukq$4%8tz-Qk>GIX4FaDTu_J(C*VvaA8x34_O}(i9?+yW zK)Ry%o{%)brdByLwjKtJ?;l~WZh}rbD%bmQ0f{~g_MB06UF3ezz)bH}i6fSA{|#Ce z+d4zJ!I>xqC|3J&xfYxVx8KuR-11=~iEB3QIhejfJVpeMTjH9Ecj^ z#}3Pr{^O}M2Lik$rBu*;#uR{W7q>x0V$C`mT2BM*F%)@#PAIn>_=}P9+YD2I%*zEX z7R#6T6_Qx-rW=fiKrBov~-{f2ob5#H`A*Klw@)H}@3W{NOj5T}*p9Y-CFrYtC z%!5Ko#h5s{%7i}b<)ttlaNZqbB4i3XsaO2AuSe!)i+80a>y3e>FoxV#OJWGrMY7_+ z@ytCgllK00&-5HuoX^ygDqOsKVz-|8sMHc&KN#J;7!8xI!r&y8>|`LQpI}B2 z4-re1;G);AO1~Pd1&Fj^oG+wG_Ju6Te&jSKL_`F3r@0s4k@Zb7c0@E?#v6pJf=7eF z|N6DGIF^c}PFe+GliBLT88 z3s@1d*vGqb05)PSZ^4l?Wn5H%*`~xNPLJ-W`&?lW86Si7^DlvYhBC)U@UhT)DkhU8 zyH8tVgPFet2C6&j@zh-GEnQN2idIZkNBav;d_<84^sCAK3TNwBGgBAzaxj@d%dwQ} zz2j+j-CZc14tM)zZ(v$RJb`!J^ud;6yojLK@T-|JMlYrHIV%!!+9_i>gSpQi`*IIh>Bm+(XquSy7p}3mt3ujAr7%^x2*)iY)1Gqzp4y z5c|dY>&5`spB=;Ph3v;^GFvlwiX6v_kj;!{fcTsES(5ROe=D(F^JM`LuOpH?7(!d~ z^>PX>Q_uWdg5fpLplB71;X2NFT zlL5{7yC|5!OjHXrEgY<3x=6Q{e3e%rOdURu?LW(}oebN}sQ(EhX$_gE%!l~fACExN ztO{zH+Evy`z#k}98V+nrd^a*Sv=1CumOT=B^m7ryxfa85i$qyq7HoA63{JDVPf)|7 zTF)RE#}VCDqv;6zy>0B8Soncc*k84xV^HspS zuyr%Gd!|ixnj2zDe|)w?a?M?z$XSeoOia3;RQzqnwU1`X5v1(~{M&%(?9E-uw*Tg* z7o5Viy1Ca+9OM1SAB(kBfNM9tR)fW}t8>ri#xTh+8~vSp7Q6VBoq1v_5`X*|$1oXa zFteyM&*U=H*NVF26vD@eViusL+jC|-2STb*D%E$k&2pss70CWZGCr3kiR^7r29kN< z_v(j`9!#@~(YTYIb%j`ky!Yz}frDV}f@%0=s?8{78!SE+t&Mxu)K%Q1Xbfo6D3o{? zeW?P-!Bu869z2^5lHkG`>F*iNECZlq$ysrk)zzvt@NUyLf&Omq0mSrfz5q&ZCSKOl zu}`YAG|pQZ(EDHf86Y(2cgWJ)M+RfY#8I~jiS2lSo#1E#5+};21kZ*7P zb#a-IwE2Qmur~I+0UFdi%~66(e4`ew=p-8QOgzFkIS4b*(Zs+wBV_(oix9~*_b5=Z z4%S1qu#mja<}19RFA(41g=*cRbpadga!2spI?R)8q z-A|r=BCPi$rDp?4`J+2!uGg$-p*ub!nMFKwtf5uA`*}rv%^CvWqT$;Pt?iDRiIP+E z#^%MQZaIr@@_t+|aToCYpa{6)2v7kWCT!44fMlRFNwk2?K+eFPP}^nx z8h9koMNvwD)(dt^YVT&QGlqS}pqf2@?)=f830f1Ta&jKKxjOe>H7}w#(vPdQQA6~{ zesG~jxn7KiXCTKsA*xk3FUNaLgSd8}J9JQ;lF8h6*?m{xc1?WZkas~fK-MmR$Pb-k zMsto}#2VmsH#iof0OM$I!S04iqud9GXKp|c2Tb&||6&9eDh!822VcrGMUqD-b2h}?_*>@%oG>telq>X=)pRzVLW`istnE`nFzKx}FxQ4*UQ zEw*gnN)aEv;vk64rDNBs{%sOIq8MjYzE~je%$TTOa;UX^6AFRt-z5gmKM_=Ik2UQ@G z*bxu&0O)2mH)M3S$Z8b~JxohL@PdVJBX_RIo>>m$aaxk(sqduljHQeuzbmSCge zXjp7ED_DZS3Ab&P7Ap9-IBPGVRbg*6=l#v!{u{$rROV_oB>uusqSvJ(D(@5xILeXhqrF2+uap<-S5T6kKgAdNs$>klG-z*i}Ba|Ve*F(AR zKk2RGjoB5L*2tqIYPWI|Yuy}YvS5hOG;6zNX)Qr^`0c9{#6E-27-0JtvV~>OJz}YN zGVd;Z39ZEBMHsCdR#Rs-1tyOTSoDSMJEJ(}Tgl9<7G_$K&D|F>SRL0Z3lkH+l1If| zWuU;Yxm96R=^pRv8N+O;;AL?vaSi+4^#^d7o>{VST^6#G$T2P?&}-0bq4>l*F({i^#O()W~z3d^2CjnF0B@m z`31S`R(9y%VLyM936CeEaR!mcXCro&+^_D+wx4sx**5P^!_0TS=<6{=7CXyn;k)Qv zUy({(cI~B)P#9(0GUqui{F~**aXC|$zp>ID7_)ejLnAHH@0xa6+e8GBPD1F%a^W*1>P!>HFST8KB z>Q_`{`E^fti(KCB>#LT1QGUow|C-G|Ay#ZJu7@*_HX2K@u-J`SBb~@mi;FIMg}`y1gGqQ6Hk-TC zOi^)LzmELV4<>xZvd!FCYcF_vv1hVV7j0qYUbi-T$zny0{Hg| zg;OkZG9w0-P+TU4B*W<#>LB>@G3ON4HC7H~Y0rK?DIq3e1w4x6H=`d^aQev@$y7Wn zB>k;5;qq_Bnd#>-d+pPEd$&0*jDeeh(K7#i71cur^W~CJ93z#Aht>bsW`a#5p5p#j zvfFjpq$-cAVva*#V{gIM4XMa`KEN_7zkkI9lE;e?6AN|G_%wPWfNWKZS0zxZ8@&q$ z8+GWY(aZ@$z7v~qU#>+d^cl-IucBfxW^y_r5>7^z?9YUL%*a^k6`ivI6(_q}8_-i1 zui;<9>frhz4}8NJ3HG{1Qxy=tu>-K3RR!1_%gY9d)MQTb`A`WtK^l{lsP>;V}a^E=SF%iP52KK0b0EbEECZXYv_>L|W11>{> z__eDCGK4gsKSNj>Dm>yiW~zsZmFpthso7t4RXhlarf{0F2mm&Hmx#NK6NOTXql#r% zd-DjvqphF9F$sZ+g*KN_OLh#{Y~5M`h292$yBeCn(-z8gqZsS@yw!!Xh^H^jzd|_1 zEi7v+M2o+tx&N@dnd@K`Jta&CE7{)GE@-4wqc8Q#c2(Zgs5`&oSVtt|q(aDIqG|3Z z{mrk^*MJl}%^;#%t<xLqo9)!nxA z*C8NKu>B={b(%@OuxyDxmDJzpSoQ^I2*Dc(@Zyb>%nHyV{EFji` z`P}3Y859p$-Lw~dsToHab#s~n0Guj}XhwQ7#Ss+RZOPH3PHNi-1hr0Ucax0&;<;vo zpMGP=<8zT87FVeO>jhgmqsP)XHJ(O;vN-Nw+GUf~>N&jlrV1=lJMvr6I${`?3p^}> zzMS+xNos#Jqp9icL%nES<$CKS1Fg_u>j(8%<^+}H-!JEP1~Z!(`C(Cv2XyHG7`*5l zBba!Z-UUh3346@D3ukh-~~^SAfsL@F~&^G*&$w)^6I0LID`$|IqRbt&9qK=EH<};LeS|)fkJ0^Gsp%jDO3R%P{(VGN9g3bYE$l0<9F_QRAkaw_q z^CysT*~k$K8GHNg7+NhPw|c7onTM9kK8Qvd8W~$Y15FEsyQ*pHTivWE=2Zjzijv{m z5vAe(6$-_Pt|VwQP~feN6PG0h&9qm57QX+xa+_{%Z=^`&bA-Tr6$+90ogF|t4G#~} z_7gmpUWV6r;03&3T1Ej?Y&8?A#d^_HcAlZMQI2Gxt2W>I&_lP_WsCE+ID56}Qi&ipP=`0UomyN!k)A&ofR;`GUSpzoFGb`C{E&|x6ycl%PK<4VMD66Ig z%-M_8%h^0K#&*<5uNlr&*AtZBdHS|I(-Ru2`j86l>uy)^%y7<$l{&oqm(>Ys_E3DvJnN!F!m^y=z zbxU42Xa~kC{c(m084IJ^IO{r844L6CIK;>TdqKbGp+{*==`)fx-%n4jGMck)X{B4` zroH7CyTrQG_o-SJ9H%QVgUB*ADWkqu$k~WvB>AGE6^xZrvFYyblPU(`cc_gDx??sm zf4uU7o~SXPfhO~gj3kD0CU_C8Hc*(+v~CQ>zRRlPNeWyyz>=IYlVgTx)oD@uQ~B>O zW|FUx4giN9L;XZti&T)LK&_D+dWJQUZAJ0>`c|xb=eCHe$p>vefs7n4iWQ30#_&a~ z6lz%@mZWiQU-t!EYPCm!e_)yb+?r_-83t|W`WerFW^xtd3W+%*2Y>*tuJq1a!uKh- z16)p1fFouSS)AYAXoO5Ed-(R=R4ABpzNVR7&*+qpL%1AL*Ix%!?Oh-@Zp1*!fe4^q z3$Qh4(#z3aII5cthsT1Uz%lZP?6GqFnD8}vd2xZ@NEkvV4Nv)E9@*m2#YC%D;nfGP zL-S^PC9@F5AhYx^@-H?};&BTgBe|JQLG?K1!Q3i0!s6hMMn63?Ft@kiw}O~4^wfGG zNp&BQ-YT)^br-S|1tcCy<3#($xrLem>N#m)rSK4dW>p zl>wfir=k5g3I243e!N{sXokdwOJIE4hCd^jV2Rp>pX6yGUJ|l4fl&xD=5)tX|F{QI zK2Im}q(fdMw#F)JS^5lRL?TD5t1L>6J3@=ME9MYBHE9-=MmI*a${ZqoY=H}0O;A7Q z&s!xx2y=ra$`$+B8}%)rWWRYOqU#n$O)B649uS7rws_P5AU{JF3tBPX`*zN?n;fYa~=g5FHOhw7DVVBXbvdEL)&%6vUkuN3X>-h^Ph?Rt7G zx~~|@q%n?hX5a^0ZY0L4_M31;W!YYLM^`^&`z%b_HLOm`BIpURIA(EG-t3XOdsVO) z&?_ZcyOEFx^`c1Z+E=Cmp&Z*tDI#A97$@ z%>|Uye-{J#`J>g_H|5oR=}aln-L$G7QZ%(qrd17p3xsZ^!7zuz{=DG9Fb=p}Kld3# z8Zk&sP(mUxwn9oc?Y06CUoo5Q6T`E`Elp(B!)kjhjq|shmg}Os(s?lbBAr8$T~sSH zoopQ;4ApM>&)N#O&614!mPU^SXsqsefuF_ys-&eActkTyNqRJbUA0GPgIe2NtXAh~ zNM6vKn2`rCpzVpq-zY+^cVB_|<0a49f4oMk&F1DiN>v}zuJ707dijg75b*BdeRVIe zq)#2n2paR{H)^87sPlwqwz>*Ivwi-!^1I~t*d&OEHzV1b2p zdm;d}_oO*9gLlD=l-T0gpAd#+`QGW%4YZ!+KVt&*k7x$Dw@1^c^^#-gDQduf+%hMX z*}5w{w`*IFa*5%WEz<#?E(XgBdASC$`U^K+kDSPPrc zSI%X(Y(XT%;|CUPhj`WhkLC)%WEF{_Xx0+LVRxXqH0?Klq#KHYyGqVCl!)s2+D#~u zneL%nWq8IeDy)%(djyD)V(yR$(umdiXZ^T=H>JP(4US3Yiw(q#<(%*48i1ww`>-O7 z*?0vrVkfB5ay!YXw;(1SL8ZQ|dUKLx*K0|nAV&AQi*Q9ZZ`;ZZp3vPqfbuXEi$;fP z=dPfk=+M2K;e9RYK6t-uf1i^1*$5^;r(l&KE8%8)X$f1vYYwS+w59K+^b)cruHb%= zA0~&GA=zKQUKBHsvC7)TwgPo}-=GJhF*mj9<<{YXL>G&?&CV3oi0*VCR}5QR6tq4~ z{{JVGaRo!RN~Nvl<8a7av|SoN%aoeyD)g@UUnr)Iprxz3G-r4R`zzpAvCMqGYvRg8 zC8}F+0%oyQ1;8`V2K|+r-H+LtV=c5hy6e_NOY*MNlWxZaoJXl#Gdju5Kv-pS&1Z>R zSz+JH;nT5ilI?U~n~7cb#n$Rfs6GJ85OTkLgMVN9D-{uANlWyOV z9twqQ<^|gR1K5qVJ-se;<)lhGv774vg5FU=r(I4EHm*m=s=Z0W^k>kfs>3d~ES4iy zQFFz8Z2Szau3wCIvS>()$K{NgZCKptBJ<^GN`G*F6h@k1?Bk%Gt{{l!j5`LAP9$JKI9lz{6e^&$pXqDe-8jrWyzVQP5T zw@^{?Hi-gCSBGS2*7`2Pt!UajrGT(xz7)R)oz2Ibgc4`$u+*$ZYbn@)K03cX3yT}G zJqoMWj7rHh>k%kfOyK+@#hh|CZ~J4JEhS<9Y&+T;0qRnt29siou?PF*^T841Mfii9 ze(v+Iw6O=WDLW~384p&u!4svr?5O=U`lsLS(juL?=SZNUtf|5xJ#uWe#wgx!HCZ%ti#O- zApn5xY6z@(HBRC)k|A@o!^xtAI}KJ)HnG-2(jnIYwhakvY?pizh);)`%Jt*KsL!Sg zpt2oQ^b^ncmal8*ny$4tcUAL+)^XYa=_&SfZ-PQU74}2B6#s0rrY-g>{YR0cQIQOv ztX?V_WE9E^o@Mjgay7c>MsJi2Kw63vdVQRAqMmL0K45*;mi$CAlFFr`73t!TtxZfq z?v9Om<>pp!$r;otVas~>k)`y!%+U=Q+BYqI#ZcxsDKAFu*pAq6psphR7kiY$nJ$OR z9fMq6-J02$S>^4KfJB@lPiR?SkKJu#8(a=61>`kn2bRszBE2Zr+$iA+PFD`B*3L7= zgU?|0nckQV94lIZo1;44PCG68&1+kvx&REC%>Xl&en##KLR6QZf?(?K$~1*{=a=IxE2nt@t(Z&qo%V7|qC8mr(jvZ#ze`azA9JvuCQ@Z~NV;&T$Sbpam}<1GHV zFS~JS6D9 zr%4)pdzY!u@$qeNWH_H<>ILr=Jn+5Ax?D0XfhZ4jt7aFm*Z=w1<8;Ew zO04ICV7&9mnKcZ*kF$OS6m;9}+7{$nhSK1Ejq_#w9m}jivWnKjtvM5@cE?>7h{5)n zL0vn~sZv;)9v5kB(LAo1@%2mZJt7(33al(NnSF(HFgxlA(v*Zw&>LprLa*10Ez`S{ zUdZ+wOzdVSaF#_u`x(&CHQ1qL0TD9rm@ulRDUI)oBwdmLNWc@p-N^xrzhM)J?emJ{Q~+gMFS5i! zNn&*vLWevq19-x|!)&nOjG|KnbPOb1=E6J|k4v=4Ucd{W*1pRU7+L3*7I3bR#qLbX zF5lYQ3imhJ0t1qHb|X~`GOY#6vbg@~I*DUoj(4%LhGOJ>R1dPW4bc?C4kDh{Y|3< z*10i=o{>ywOKxLw^*vuh7s=tR;_Sz>=R|v=>m45!)^ShEtoMkGT79`-6v3RoiY%o&1jVKl@uhZmUA(v&tkOi`ED#XSU}jwgIZKfGxZI@Qu;P#) z<3f7lddb=rIpzw@{(R#QD3m-(0MWDLY8+eN1B6y}1+j$huhA|Ls^yEt6nV%Jm*~K z>EA+)&r~6I)}V_NKX3snlA9`OLl+ffGm}v%*;;Ok;_X)dQUXyp#|(!Q3%SHBHxgB* zTSkdP6LYOfwy=o`RHTx6INVB47mAsgBW|)*7US_`Oa`G4dxH;h>oZ?$wCX3Y` zwftM&uuuwRmTh8b@nEca_-bI>b|av$?ioz0hs|Kh0C7gmmH_J%%Ym6H{diZyRwN^> z)HiLxUd#KQh;(dHP_2p}7o{p&xy{yYy&2p5&KTEZ`tddY1~RT5*ji_ivPOK7{F;Z+ z0L9riceskDx@nHqgtn`#3wpo&G4~xIUBb`n8OlKK?^Wi5>!~|5t6)SGUfEj8sAwXx~9(vJ!y#V+W$GnxRGA(A{ciDU(|5m)_ zPr~cQ55~&k|Pm7J$`ajkqedQ`EmSnpYX_><$!W8zo738SW2_%H>g;#V$DEgw zT#`JyUm^+z(D)fkn`cDTRP)3~iL$xeNM-DOg-A%t+R_9B7g?03G&z=w*SR#U&`5aE z=pdH!dtOPcTH9D|6=Ek2KGc1K%2cf)T=VWi?AZ-~kq22EG$q>f2CP&p-(w5K04pCe z8emJ<9J6@CCcu;c-fx5=?BfQyXl@39=3ONoe|DFGMd8jM=z7NC8NZ6MqXi& zc6*X17?&sLJ@Mf(a_ozfsW`~|$GDl#U?x~ilr0ck&f!)w+>S8}#(xtz5Kg{)9%p1jv`8LN@t6cLzhK`9A&s{?e z@8#`H@@GU+M7CY`crP@9H>iY?Qn$Zkdsx z(ffwqQy^nraEQspAoFl#cTjN7K7xnkSvGGEqbm2qB9peyw|qs`_4nf)A9Wl#oaEaYS30_MKh;bw@mXvkofU>G}5m%T8326N31hZ+{&wCdZLz3Z!vfx>lLHIa!<}2C)Gt5Uob@(71 zyYK^>PdkTyo^jB6-^J)7p5C>u&aDM?yJq&5{l6WkdEBY2Kh|vmO@0CySxwxnO-K@} za=-)JN-hXZ#Jonp7eBJqb1lD*FW53`RmbN&!x*5OW7pQ~TL0*V%HFr-J~eZ{<7kYM zjdNbA%EbFl$O%lgi3ek4Yq!x)9BsrwVx)UT+ge(nS6xEdh0O0z=eRR{nFgXzS@x)+@}V*r9d-V z1j-)a%u5*d)-bs6uArZ--Kga3r&(*CAwUGFc{8VNsYliux!~qmAVADvymbtfC5+&LD-G>8rE6@Gp)_pPN z)9@>T|A}Q>Jg~J?+St7zL19;8%@9wTtt8SVecJFKYPTti*mIZJ8%c%mhB-Z=7$E5b z(=7A`9b7>naQbf~_56T+^dqp$1NHs7<@?nVV*cM1^9feXL|}eG898lag1Q(vG9x&B zjDKN z@_X1q$TZ14VwXg}Xr7N~R?r({4QcT?*p^VIa&a&0T zsA;dHAoPs`HDXiCWLh4)dg|8iO@y;kFM~oqyFIjVo-xdnDvDN;+*cd}0INNVhG-m0 zTdt78sdtK?q%t2W)jk`{Fje0wB84&rScg2bPe$Qa$+tEUcw;pYCm2pIfvq(D6x{4&pHxmJ7p=Gm-3D-{Uo{b-^ z4W%BzjCJ`TvKF0@El+{H91h&CSlLF=3KHA~0>zvI6X1FmnCuT1$a2UxKf{>MME?+% zYuF=gha|7=`nyu)#0C4nu;$ zXn(cP^|{wDOI{~T*Cg`}8y+!EjJsbDg6pqiJMt>LEwNtac>>YS9TgK($xt0`O-Q@% zz{zq+n#=(>;FS&hQvgR<_wKP=Q*q!BZ;LHw^Z;yJ1J*1VDr+ecIWwva5t+lB7z**7 zP4keJwngzHf+1gah_3~V#Mro?UNC~Z?=pG{_dWv|mIQ}b zTO>@A!b#lUD^L%(M1cJ(wsJ8Dse*?`^~U2VF;&4SFS6iI9OL^HVJnF+dynJ~U}wEe z2sWi$bqp$f!EcOp+|ac*FzoQqjy>ST1lK^Ek67mS3uTJ})W6@1`?D7ZKouQP02=XQ z4v~V$eOYgamQ5txQ(od3!Z@n1w9t+4iiqS;KDK@AS66lih6)um`p*Im#kO2PZ=H=R zhay|%K0_IZ!sAkVh_^sk`)%?SjP0fvmGMC~z%xeMC~#hEQLcj3CM(##y%x@jV<0CE zk+k|RTvJF14qwQ{K?~TJS#xMH;KN4h?oh)UN7cpyH9>{AldgpV7`4p9O1(<+X2Y{X zJH*|xkN~ikQOYhh^(~xM6gcTS(~b%@28llzFp)r zG2M0AVn*r4V6Tmd(X9b-4WrGQ^6-daZc8rJt>qKaU+~ASK#Et;c>%NR-FFGJuKWaJ z(Y75A8JSZuG~Xfr8bKS%Ee8xOx^LgV4D}1ciO@MZf{;(#mcWQkRZpo91Dv**n>=|f zy*z@M^%-0(?*G#kqlq$oK{o-*FcJ{(o6W4H`q!}g_<5MB+bp3<5XngYk6^}n@fc(+ zz!HJQqH{@B7$uxqOxN{<+_zM&koyePhhkUyoIWnt77W`nm^ryh%B)iM30?LAbUO;X zUfbu}{4t%{8i$()j7~R0;A{jHgZlLoE9IXk=KHw@T-24+nA3jlGgk`^mfsZt$<4g0 znS#yf?o3shYj#)AjD|jWhVp$Ul&br_ z$Z?3Vy(m(ic|+7CcCLv%TQ-#;@qio((nPxmnL?(ZzA$;lGjBZ+wdi4O>!y+FVH)ne zGQpARp0H9IIy@0Wl;#p!Km>}5!b-BzZO9+dr1{+ljKv*%{~{Ewte@h@%IY^rNAd%T z$|s+n1?VpE-1CNVs(#!a7w`;X@EQ+!X=$Z>MIj)W?3n7-bG6QD*ynEXv4c+at|kLR z+$`mr!p#-}TXNQHFRSvRvL)Zw{h8ut z5VNz&g1Dj)A7f3h!uYP4hqkygq&NyziGt9&G@C3pU_fRy)2k;( z@E{`PBVUn-f1bgKvhT>K;%EJ@k=1fO*|vn-SWS`zHu^Bynt_zAa$_*J;72TT4KPSr zXkgsVE(mY8xU3R2i0cPy#kv^Vk@0S6c@#bEEroiv%ROV%0Ayz$C5oX4)yZHa+z#cmP-ay!NinyVF+McP9)yjNr8n*IHL zW$O`eoM$i-DIum7Utp*W3C821g;-jLyH_tpmdzE=sA#)k;~S|f%NguB!J8qB99E>* zg8oJNG75L$P{Q3)W(k2fRW`K+qTtub7CM73V5{P@uC$(?NamY)+gTwwc$yof2CSR) zDNw5x)n72cm+>F_?Z16LCYie|`!x%N26GrR9niF1&g{O})>P~W!qS|2`U{7YL~n@B zbGcR%ZPqrRnMu+kj4wc9{9_Luk?wwT9>AJ9YMqwZ%bP@_z*k10QZvtoY-<4lK%WDv zZz%KS1xsl^olo2!K87{ekm08zMxcek=B@4rN3jAV6J+ zN{4)fBhBlVE6t87`ZU&P6b&}L@nBwOsBCG>xrUPk({GI4S&m@NQ3qI`+V6el4#7+* z+o}+da8!(ym9)9d=M1t!HC%tswf%Q{!xfEC>NZ2U27&3Yp?812CqwO9-Ld6W#0hH< z6I$jI|Kb4Ph8giesCzR#egrXN5YloH0*2MXD8y0C{dt+RRs&!cBP8i9-0cLaXP+P} z_8aSPp2$xaqg)mPi|w4Pc$825=Suq3ydo;c)?@||{!A{FCcd4kwjQR~_l#r~MB-qb zb(w-4;->b8d&X21qw*AKn=#|ZmhMyy=H@=EJdGb+kaby5?vHThga#HC<#RHldR^N~ zibc+**xF8he~X9n#!}Zw7Z7seAoUUs*_q!x&5S0ETL(H8WXwf^Y6mQxOg6tPl1Jl0 zi!4}%PwrhvT-e50iNgTZ9a*2D4EEpwAq(T%S+6#OP**w|d$dg+L($nti^~w&$etjc z8OlQSTC5bFA(R=yD>9(%tEf9GR@*@jb+zK4mHWK1!t~n;60#L97RG+Fpbp4bslQ!^ z7atf1ID9Of+G7SNaQQL{4&avXC|M6T%>V^gUUsYBK*kk3_*lI+m?Lv0BAYEIXg)tC zDva&s$7&483mWJit@Mvs*JK%{ye#o%7<1O#RIOf%NLfFmjWcnp=P+6|L8wY-##Y4Q zA_RE>ipH11cdiy*-?IR;ns6?*mIltu3=(a)^Ap8L zVz91&;M>EZn>5#?f<;%dky-C^7wQVA@)*ACFyP!Iup&;LUI&;8hHlLx)atNlC+PEn3cWLUHVqRfV5!k9-)c!#bbRr#o5mAb< zL|vAFKLO}7J-1hJmJ@MFV}i<%H^-Ha&_&$&oX}Vc(vG0ld=IpGyVD;|dAZwm0JdW^ zbZ)aWJ-ulWEn|1F06>_wprHG`tFf_14J;EwRPz-XAJR)(sW6TihEP>`k*n%$WL+Lm z!YFl-y~J1~uO{s7ivmEU7xbp@-#cJiZ~X*QM=&QxFD=;n49eTTft*?U-p55NUVlXW zw!hZO2`OH8M#xMS-Y^I=n$g9an*ac4xfzvozeHUzx&`7J_w=Y{>4C;~0-fW2ofqRf zM~EF#ISyjXBaqR>oSW)wsxmjuMjXKAqE)4*snRr1HP%%WM#$NYDHp$EpL0>{Z@uP- zri^IbHdbJI+@=7nFx!F4E;)zzhxD&bt1_gM;BA(>BW#E@_k4D1c zWniRe20{H4_X=1BNA+3>%g7YExkHu5s(;g0UCc5OF1RU!^;pE+*B?J01tS15PNWSc zH~kl}#L@#={pJP5x@ zF*p_U+sMCS4;klK$b7#tl(x;+^AXGN5IrGV6{H>GeXwac%)+ALOc|<9c z8fpDWptUJA9qWZbAufm#;WOauP}56*@*fX$GCarjm1A~Sig(eq%B0z zVCgN=ogb4XC;_6vC?v3&C_-eXyRZ(~&78&pVRt@Vkk4HUtKAHu0Rf$EKGlEA`envw z#A-rQ1xH+m*~12NnTtFeuwOuCGmbH;Iw4sJ))EVz?GXMaX6M)f+sw4dBRx_nD7(W( z(J;51N}4Nu?)A$P`9?C*2P7+`INY-ZDOd+(jGd)}&q*IvtI+uSBUS1Ob#ZpiA2U~Z zhB7d3=O9^a%XM@x=FcT4pu($ewo$%dBf1OGKu*O{3+Tk@J3qnW-|;GhGtMk5t5dw4 zK>j5moW64^fRbO;f}Yddj){IVQoF3QoUP5j;}foD0NV`V8k2MDDELd8Q!Nv6_F=?T zvt)WKkJGOP1pKPf2eq1pu|*ggKLVM(js77tvU5nsz+FK;@GE16c55;9gT}naC4bRL zU(^+PqVMND{>99PX;ZzQV8-<;h7}^d=6{{A4|E$GRRN~bR&fC_lh-|c7VI4@q?u}r zis~iHE0Do}JE2(hSJ+#v`y?G;f&%F-1D9pJiU#vi0}NjS^CE`XZ;kmSEr+P`J(jC~ zvE$x@Yb8Sx!yfl4FfHEgDhg~9mGJSr7P~@_flg=TDmPZ(DS@ar(28Oy^R!U1GA6x@ zn7cD|K0|X|tCoPwN(IkuM?_Lgy`@*J{e>Cyo?ZXvbviL38As*RSoLu19LKgUb4g?* z42azjM>XRXjSHQGh*c}9ZZRuCvCDVD&uHc?DDD+5F%EG@@4Wg43k=+{wxkTAc zC-U+{1J#gi<7)dI5GabVGdjSPXSmr zoIuUyo#DX34nX(KiZDhQhL!+qaavoP0D(DZD$_T#zk`|iR?I6<_c!cX4WHQ~OP@4$ z0`O`LFSH`38Koi&D=9jz8Wz{# zZL37vEf4gvbz3``zkoiC;Sn*x3!6;KWANC|>PF7+iW+MyAy+5%)De(P-WLUl=a+rUo ztO{f13}{v$lyC4}Kdx6>tOS^;?r~j8Z9H12A|$e5zAuD^9i@uS>!&C9H_(|v8TFZ1 zR`f)cLw1hYCuXc^TfhyCIb|{tLwrT7waBO@EDqv5ci{i}wzBCtw-;M87BcB}EwGS; zd$8I0O0d9a4g%G9QJQcNbEj&$U}NW2Hs`LT{)lB3i=tY!b8(J3So2-Q6|k8YS#G?p z0UNL}Ye8tuXy6TT;W)^J;&_1!KjIm@fD^(MmNqU9tg~j%N|V+w$=m^byAx4^zLA26 z-20wmamABxx@)66gBfK2v@85@7ZM-MC!fvD3qT&DxE@Ze%ajun)ND$?7p(Nf{f9-t zFT{5QG6uiUuMVi04zAqP)>z|>wEt;By$!&;0gbpRTA<;xD*SA&%sMeqmOq1;k45w= zB*$U_TlEdcr!t(3V-yT_ahbU;Ic>)a;WLK^M;JLhe}0)iU)q7&GKxDm!!1A}O^xpn z=M_~W3-F*dGZn|7734@g=3v)bccW0|yac`#Fw5rV){@PO3Kkq*u{9e79@*KXwg{bz%`D&xP?s~LlY6(X0klc9GC6(U zAobF{Ut#l+2(gwS0>(OH1Nvg*h{|}&6uKL9F*D4}pf%mH38ldp_~xd;>}!ppSmw$x z3Cmg+b30JTM(dHauZgyCUw*88le&c|vVlElM!ZZ?x_w(rE08$@7W)dogXK^eWZAw@ z_-1=Xy=B@L!ZWr)_nzw55T-LXZ3>jj3gVwg=IdcNprNh71QFWXEmp_;1+D8<8_Z6#PC`u|I53D$P5eb3X$a0I)Nw znmxXELc&kN*X>+*4zQ~r^s+m;Y@cP?qCwM5CBP4^{%XT~V;JWo%QzeRHIobi@D27U zL?resW=NO}V2;vU8k{P7H}qyt3MedwWII&K_!pny%$yGcYlnMiBIQ{(;yo7Xbq~W4 z*Y4kn2|#4+=S>o%2aRD#unk!_)wiwInPo6PB9Z%GZ!Vp$zrz?Z^FMkITLe^!A?wMC zfCRoDq~|heJIy^Dt^Ew4z%b0*R--xxBZmS~98dzn0RM&BvFZ&4J(P;)p%$pUoeYB&w0 zHDlh%W5YHf3~4^LRN!cTs!Ly9c>fu-Eirm{0}PH>M#BH4WU)!(s}3>L9nsq6h{0TM zDuD-Pyf!9iCG@qJt|Mc4zSSrMGRs&#FX`mWPrR_}(K4GK;0C470}DLMrgR z1qhtA_p7MGjAM=&v&65{=jPr3Ml@RV$~1LV(+ygHiPfUnW9rw`Hg5Wp~}WRfL>Zj_4vUOu}|Py3r8d&I{> z8G2ie$Y|J2yn0ftt}9U}O8)?I^s~?CeFSu}v}8p;y4mF4KQ)@e00E#ombPDK=WVIO z=wdU^7t~^U9{LqgnnBE=Nx25T>AXwNV{W)!S3|Mbm<&DDl<&Fg{|`f=ud2~?cS&dn z8@-ihieMg(^deulVS?ypzf{O^fH&NaRy~AG(`JeeS?W?geu6XoR)7%3F^@+cGvQ)H zpZ?OZXK`no#{V!besB;=R|S7Sg9SqwjG`$4INn~yH6ws=w*X^6oWF^Bg$1~&sB+KU znC$5&*&AL?_s0#?uCWR<9abhMD}JyLF(-HgGSPXEuh3X%E_1y}I%N&90q^Bt3h1_9 z1*v?qOm28MoVWrj;$!>U%v*6xa9(Lc)x?#GIGX(uT~|Wek)aKyVUt5Zl%I&{_7@gP zifL+2hwKT1=y!DM2xfG65U+mF-y55MvvDI0#gwRN6tW1C^qQwz9kXrOtKm@SZcLr) z8Oe|eI>o#~J0px*>RDqXQxJ-8UI3wIT#U|o+{Ez)x^;nF_K$V;7DE5Ek8f*NWz^D~ z{H08qPPfQL^u@;jl6VR5KU0L}23UuD@`8iJ;&FSWOcG0(GqigCLzdv~zD`owQ8*%GJr8}MTa;Tc`L zE&hih{Xv5XJtG+(am_$w$cP$U4^_Z>2gjBEzu3wkaU0mN)+)SVq4K=n=*! z)~m8Brh3r<9-3ae=RCLW;mcN0M16`!%Vm@JerN>_4q^e$jMqz#sbJ=0zN$cFCAKC} zfHvG=jH}3K0V))3%8|Ih#_~rpQ@)jFm+PbZXC!krQXA=k*~s^3_Y>QE$I-?vW;G9u zdG4CP?1e!{pkDCU__$3-PpwW#ctkOiE2JxkY<8?EB3u<%g9uYq=uddxoPAZPP48%S zP}o+LG2DC;r=uXJz#9ie>?`UU>slHZ&S*m<8uW!O_#8W!hl4iJr6j*SG*{C}B1`xajo)a|(1E)YSER{lqa+YrC+T+}yON|9_HW z0Ge=~t8Pb{=msW~pTatr6a+4XDPa9=iSh_!u)z9j!ANSq*_-sgQfh`KPlU<#$`Kn? zOuV{b=VpLQi5y3>D)2&TuOxYea?X=VYGpxb1EnlG>}secescV1HhOEV3M|QWSdKe{ zoT}C5ERQJWZckLKBTPpQAO;I|CD)mlV_)Dj%*`7fveRAnqlh6G_Z@puGZy~|ViY9s zunqvC(Tu_ay0!dCirG=J()62AspeJH1g`s${+L}3_7<(Zr!pd$#EC{i1uVS=HwUA$ zcm<6w`}<~_P|cBShl*cxbuj6yvIC_5)6Mm#)l;@IM=x7&kZefH1~;I$ONYtIX+CBY z;!XP+v*S7vV2;>5@Jhmj;}j75e8DLaNFK=i3l0`7TQ)<;p57=CP5B;;4I`~yj1(O} zSw5DoMHLL6ca+zz-`tE;t0?8NP^fsIL7o5%h-lon<`ao`^;Z%OE;`!p?-Jb zY!CWyf8>fd?CsFPu`q%#URQ4diZhl$=Dg%}#f4NI%0j{23#`>w!>wR#y83G70HL~C zl2o~4QG|nvbkn~z0K>gx{xi>L#!BRZfwjXgU(@~r;X9WOxI|(xdzjX{JJ*Rq?axG% z6kD}!QHR&ygceHw+5HNcXP5K}S~;MB2dW}lKeIhuMDN{;9b-iz-sw;%kw6xc{>nF1 z-N%of*KI%SJ-2S;R#(=$4Y?h0W5oi7ow zI1x*Vt>-bwx#8U|Yb&n@KyH`}Mgf*!*Wr%D=f@XrS@-twHu_GuP(Hi3Tc`vGl%RV<8M;*&g{Ar0xUG3t1%^xe8 zuL#EI?1F@apUamUfMZY3gEnDhI<-5qwPGSTP9TISZ)Xqj8_Z^@;+SS4sy|VTYftQ} za)q}=zE}?W7LapyW8BhF6t_i1H>jFg-5_@^EI!^D*Y%25Q78j{-K%{#A`BaD8ptwE zT-|n~81xDa6G>~P3xlO%BUQSsPmEx-vw9OSNME~;i#N}P%zKNC>v=lt`4PBqpG_Ei#~*+`EE`|?0eOL*1|kt&N=7geIvz7qr} z2)=vQ%y#|_#fsF*G}^jgUvbjS*Qq~BEWZNKmL%I4Fr$m4Ya1eF4Xzl-CE<`X&{r?O zUWG9R5!Wm83gChjp|rB6A#Pcdi!`}^d+70+O1CTrZ8=^-14 zUa4QQOx(@=hnnNFzV05ucJ~lODEDT9)MJ0g(JGW7DSe$9t|C!pa&YXMotcmA@mvGo zrR%g}}LDTXvKHC7z)C`(G9vem{rX%_9II2_vKTCl9F2a4O^w zGv47@yHmv@nyEZ`LAsIwn$`aqoiops{o_1tS$;@cxFk43XoJF+s%yyM(HdN4#)z8-E` zhtj4=(Q@3)T)Y%?y6vGoV;P)@OMEPzuZ>>OMQ|mbj0CDnStUkB*`;DPt@^4flw4j> zOWMV2gJ(Epz9A7@S#ucQaZi#EUOBCzz^=-e4#QU09*nfn zM|Qci3fv8o2pzJ8Qh6P=dtXVx{*?T}&O_krixS%J@aBGIQ6qhM93e=4iI9b@O7p*n z3)tO8#3Hg1rn0*?XSxbx)#gV#lNJ*rlAV|Vg`UCWQ6F5I4xE0uA5e`~^^=BUW9Uo+ zwfubH)W{8|n?wui@OWI5xqrNoyv;c@BrI^lj&a7`?-S|;8TjMEh+O?K@HfQ2M(WBI z!N_yR8Vn8o6qn&Mih(k^pkG}Q09#;N_8y-#8AQ9;F{Hc?+b9e(Xw$^LI6AleJVRuc zoBfGooKWajEKXc2Zj+~zeVg2fi-UdYd4%pID0oNlr9$29Mgrsf1@-kA%ADvyz5?}U z=P*+*nV&YLn9Gh;-H#@}w%xVS`Px3gE30&L7V0yQA?$F$!a~Kv5doB4c)hM7PliGU ztGQrEx*et*8q95;@nmzchXPg4Hx57Hj87OQ7KU%TuMJslW%tEMPcjhBAlU~AK;)_` z#9^)HWech&H@#sG2xo!$4JBz{pDupcYcC3Gb4<(9KVBH4%I~yhz?>ngE)pIc#h8a# zMp?F*env7Uo`aEv2#ujawo5aKXukk+7_S8xi)PbjAfIO3BBh0JNT9F2U7OEP=9o`} zEU0+a01MIW>Z5Qa0#<#Ocn}@yGAGP~hBWT){zNaA!g|Ir??3UeWHd5n1*i=7OFdF5 zJ7R<=Rzrj8{EhQ3h{R1jlFlL^e+7%aV#VE0D5FY&ki`d_oqt7F9>kTaUtwN{CHyWO zhXteG&V8YHa%>^Ls_{afk<2k0Tr8&QCd<>GZ*})(={LLLEifn18H8)OxripD8DasB$^7T|Rs%2@_rRd` zinZOS1cfcP!7@$(#a@~mVwlG>E1}-iU&*Mv((kWUCHt|ohMD8X(p{sSUX2-Z{Af3S z4zAb!r3G;18A==JL$oWIY;SIXfpEtv@B8U!H&8(<`jo=yC`mmd+M3L&Em+aL)pP^r zpHN2nfPF>OE{WeStNs-)jBKxeH`l3Asy4p*nOx*=h%-fTrv0mN*B)`K(+XSw8tFGv zAE#tV`LoFvQ&-j35ZgAb!Q+iGZv2?qFhl&_`-RZdGl0P&xnNw0pkkFz|0N+rhw%bx zI-JrqYRB*7UY?XBaaIX$m6t{_P79-Z2zx;ra_TDY{$NDXF@gV-?=hDZ(Wtg>eZ+_tt{<+;@D3 z^CDkSJw!I$hj&W|b4o$sidZgopO*{D(gocJ80b#kSx`OsyFuwQoMAb6l@l*`L|vn% zNKlTFBM6bZo=LUnqc$Hj#szMhBNtiYndo)3->Y^+F)lm&ue4{s$zY@V85l0HSB>M| z@QE>PNqN3I`c@J(u5K(ue-)RuaBnt?|V3pZ9n7=z52nzg37#XpV3Uvf+$%}v+Jr= z)jDve#-A|~){1A3{Yh^93Op^__rqBn#Ycy5!?iqv8JFImWnFjuX;iX5wr+;b@dUFQUV50q&q@Y8?TL^j@{mBG1{%c++V#q*W%}7``s&(O)pQ&#D!G>u~hS~N6YZyW8zoY1c<9dNz7gd0Eb~TcK&#bpL*rH zeSU6#1u&ak*jQlVHXDZ_TMptPHUf+#KQR;Tf9q+`B2@y13!#eGVh(0_RIX$DjARat z;9?24W#hBN66L$OYM6z@kh14sU`4iJ5$M`b`5bCj)85aURm)Ete2Tld>^{So4R_^`L0h>Q3$`aB6g)zZ`GC9h zU}D=-!P18MQZHiM;h8VzQ{FWk6w5rM(g{#4x0EH>&BQ=duA}agCH(*TI7D5E(*Zuu zCvp|u>8n8c2x8nakg$3`3jlWA;m0ls5mWA`%UlgrX?NdA#*E)-6trzR4*~If2ac^kdZ{%G#5Cc-RS@C?ln!n=*vy?>jI#E>;K`eoQ_te;Ilin zjIqcYIGtdw`B11=d%fHP3QHRt5>~$o!cKV|xKk|XvpgA0$7s~lChc_HYrf}?AL#@7 z6*Z?;Qc$jW~~9)YQMCm9@jiAO24SgF9sfF^Eh$481}X9NBV|CD0P4GzJLUqK!=6U;nzuCL7N zip*i1=L1?mK5mkWm_U5|L;`hNDWOTLB7hsG21X%au)#_(=Gt(HxL%E~70H-RB^X#p z0yo13vbT24f(=F5SOIN9Q?Fch$%QdAS1OaMn9wKe>tB@|2_p|wej5BMMBIb9tA}|@ zqnbpny*{&`n1J;I(r(}Tj-P3=$pBiQFT(vJj55L?hXN5Y0m@@ADQ`^>Af%k z>EFZl=PMe#w4Q%p`~m66G1wK%D=JV*=aBg9sg(*XW*rq*GaG65uW-951Zs?Uz3Jg7 zlKJI`e^qbdJ6d(Q_gsP3lil)t7HLgW-jc)O{DxMl6h=bR-mF zd$KizM*ns5XZ~x61f`n?wvzk!Z+p+qCq0tuz3}t^E~b0)oYrBbb@PYEqTbv$DxJXH zd+W6IP|h+GUgbTGhQ*velGI5`9PDQ(^HH=h_i;=ECHVJtXegj9$4Qyi8@&jnQp-4r z;^#blT@JOcyy{wxAk;V{xL0CLJGK50C@|#J;GHkCVf5l%2S$*nkh-oC3y6<}&E_9E z#)@N@#iV@}ryona_vI5b!o%d{4#ynku^qv{1h%-G--nfmS{j&pz$lZ>w# z6UguDl$Y?~1Mh^&u`f+~`;}cI0)A%C-~nshPYigBY|@K1NJ6hJOA2SW#;2XM3c7B6 zr-_Tb#Ak|qDsIqg8YN$8catdyZ#g=l(q%6dNd%0K*V;^h9P^x917Q(kvHqpCo1b|T zkZL8f2Dd9zCP1}BEtC(*IavCE2lK|ZQV{1nBy-DX)8YP}`)6XaCOR?~`P?_@TdXt& zfz`%2WtVeS*gO}S=2sob5y?CzU|6B%m@ibuCAOy|^Tbh~KW1jkY8J$&Krh^VgVGBd zCl4}oI^Re=bwJTZ5KK}D!qy6h&_kPja7l(^R(4+c6-~RKV656q@}mD-inKKq#wq4{ zZ>1E^tk8D)|1H@XEaj(<$c9!xTv!*bNy%vdmBpS3p_f87J!4q|596(9MZ|xgzZ0}8 zthG!xoUgUIS8-#zZR37w{g2t)@2zmDBZW*!@DCz_lFL45|Yk9Q*rEcz4sqgh)rn<&Z=&plK1$y<{v zNA{cL&834IXk11SFLk^k8K2G}`|I;2`*`pX9|o+IV@ffR* z4HOGD8rv2#xMwW0L_0{YS!xs^`z^4ktq0LD57qUHrN80Kas!HQ%COLtY^5R*Q5$AG zBbl#?KH?mEq2tl~C(RFV*?!D8&NZH7v0}@>lrpT1y@G*73GF1k14CNd0njxX4!$voT}Vx#nF1D_DdL$;Z>!E5g3NC&X$oW(N2g}1 z)%Y9uaBOor)?`i}yaDDAXS(m-FZX2G?lLr*s=f;LDTevsp8GIvZ?26AJWa0*&FkA5U!shbR4x*Fb|a~#y=!1*d#Uw= zy92 zWA@PY^mlw!%!j=JTUl#V=B7pf)3p;HFGE>-Zw0d5X&~=s6azq%#J0l!*ot1su(>CU zj0;1@NE91Wwbr{dspTr{Qvd@8iS*4iXGAjc26U_5w;KEOP=>N8e{a3ZCkXjaL`^NA zA_=k*_F3=9Jq9wLSLJ90F>idBR*VIGS{mDC#p*NDs$V|b*08a$SyCbtS>^M1c8ECy=~`h^HeZexHYN* zRYbREao{L5u9NGUhBh(j+6B{DC#LC33C>|-5)o5wAqovux8XQpw&%L#-G|{Pjv0uW zc1TN0_>FEh+S4Yl^SPVKB6}^oQqiVjElPKl#Ie~bRk)*{*Fl}R&DW6`_#L-{EXg{f zqxEi}d`zRMN}KAN#}AsU(68pBuvNhRc~k#a1aq_wbE*OgFsr>2*_i4|nwS;2bx^;B z1QHL&CWilh3+!CjpP4(6^?jES8KI1teArm=45MDn0Jwx_RG; z8FNUoBcJ=%Ll~gX-XGFc;34-#(a4&3A?6SsHld`(y344QSZi5~*L@?e_h%K?PYmNE zri}}Gtt5LG2ucOs8^OQRMTkKhxtB-7W+A%X!Y^bf-OBF8$1smDX6}Y7#b)G&jV>DJ zf5ANWUV;GMIdpg-l@_09lAxoQr{>q3gVbiTm#Evk4}n+>saY(ci&q~|C~WVTWxP91LXgX!DN8)19}}l ze;&^?`6Sw^pg2A7(uv;)1gF`nS(O239TMM#Ti7fBQi+XNz-f z-j(l6@PlG02Gwr!oGF?T>w=2(PmTRk|0|ICslP%YBc2I*?Rj)ajyacMKQ65$rVle4+Tm!CUra!TkG~#=WrQ|pD0E~gB8V6!V#Q1hxTJ|^$PaEj5!+bC$K_2 zp|G_wVMc`gVM4poxt> zmGBs^PeFnC!$%T<426%a}%SkcGgqTF!DTeVtJN6%NYAl|>a|(D4cQ?m19AxTIEFwt7OWNDcHH#{D#b`FeyAqgNB9}bATuO5 zQA|*?eQemQryEofFGquJ_U|PH-2yUDw)I~E1hm=bo%#6F3psp-GBTr9ao7oFWw#BFXh-4~3ClR55Zn^|5kl@oiu5boB z4Y`lSVI&29r}_7)Spw&k7-UVF2GfP?xm9WYtrtsyBYCCS%Q zsAm6a`OG*bAPG7Y8i)Jl9)A$@tsWM@!%jiNK+r|=8Ytz3*{z)QaL9sNX!2&yK&}}G zMJi~cJ*o+ue%Oz>8z~mvW&+$hF>9Rq?ZB<)%Z19O#MDGLyb%Mc{S(bRBoa^s_ZK4= z_z<>m!ak*!sg)tIF-RLKcWVf_AMgfuQ=~X9|L5nAPxEvL7v%yU2WA@EVAwL{^BaP@HOu9&8I}| zY&{`3oeelF7#?Ce=6iu)3ev_jI`{s`0{s1Ap?8t5)`Mv5vP~$UGO$=sL|FK4;JGnZ ziTdCf#smS&lqzkGOz%IP`IeJRrG2`vbp5bW53T_W6q(ELp7?Fv1PnyKPiLSVp25u9 zw@tPGZ2EZ_^1ItAiVNtJc5w^sykP0^iABjS#B8+*EXj5KazCMriGe%(VKkNP# z*epI{1DzcQDNtCxRxtPCOIeW9Kz(7xj;fUHq8SA^7^LDPsK zWX;gfa&P#b5XR>#dekuJ4$cW#a=g~Y!HM2?$WQI@hb0PaJQ4Bw4rf-v!ug#)D1@O% zmYNFHcDJ?%vTYvUg`3zW{BnG7J+9;Sv8kRi28w2TFH@=!#{6ihQn48_l^!^Zwn9z_ zf1Wm8=H%YAV0!n>OfmM=y~1Z-yV5RD7?)1>U{L6u#d}kwid9gv`(KvquIr(B<{a^! z>X<_exKRY&-~&*ss@aI1X#H7B`iy0c{RcyerG~jtY;rzW|Eb8PYkny=&d~NkT`Fc{ zd>h99mokU-em_AdvuDUr=vJ;bOr`22$FVu$ZbOJA#{|5l0bO1M(|*0gzb&)@^>`7O zm_dv|X5L}rf>!rT}EN@Ms^e|jD)F#V04^Ak%R!OUVc#COvraMbbLimze7h1#%- z@MjP*myx>57>3V>t2Jr_^bBAiPO@yNu%-=g!hv{~`;y}jW>2D>(pocn8%mat@sNVS)?)IYn=bmWG;Sf+xv+Ay8X;A!kV;4A&V4X2bOm%LgqhXPoV4|zG zng`jqSZDSOVzieTQdDN$VHo`^Q#_L)Dk3u2)TNSaOmek?IW#B8T`2$f?0WKtR<)|R zpJ2uZ3^NKmbusJDgMo(wlhB)wb*BU;&Mo}zOO;K8$$6htKxV|JP1gBC(wdSQ?+t zg2r$bKM?w;Yv`e{9l(b436Wyo7q8U~<3!hPEf{-};Qv^bxUj1&SJiYcADU|^N~S#Q0e zk>J+pbaggxs#m>S}z$gy~sO@Gy!C2~W5ar3t&a_o~ ze%oAWk~aAY2(s6 zUaHkix)1BWY|!Kvk&hDEp0-d$?gKg3XKVBbcIVBloLOl<#$&-eQZ%)f!2)+S3-QhD zaspXAQ}EA6*q1^}jSp8A1~&OGEFoOY>nDtn&|pEqYC5Aw%4~K`|GmIv@Q+c;{2awA z8@{DKfL=hfPnGiG7c)O%m=M?u35xY+zoRUva>j#HnkdJ!RYZyXf&&`Lgh)i$d@`Xo z3~Oon=a&pmF#CKjq*P|HjC78`JmOt)EB`O1-?t&&E=iQY5m%5%yN_pdQjTAH@NWq7 z%VmtZYnR{_RCs>7k>59~SFyu`rI3BFOizBpjpruos{IFkIb#?+hCIBd3UI+Ny_ay$ z+T`xnXOyOLQVkezgKBAVTZ2Sr%S1-N@7YTMjDva3+SI0|Suz?n4jv4GQ4RM3K3tA@ z(B>mR;5)5EIHafDT?n2r3?yuZ@>J5@@8bY)Xgx^EH&MW}$*eC3d%bhmB#T2Yz5_xOj+D+;*HDs2Z+9{7nb2WQLGxHc^s4?0y z@By3I7|>L{AlIPXb~zWv`e(=KIF1`){nbPzQ4n}$jvhkVW(Z29)qXurQ18BDFs4oU zJh3RD?pCX!2j^I&u10s7o?v^Rz+e?CaEc9iLW_m zhAQ|=zL_!1p&@iA2%yHShhTQxI8bAS9}3fKa*cIf7)QAvlQ`VL6KoRD{-Nv5KxR{k z+Z2>Cn{y5i5#zzh?j($S&zpBG#hhzdLrt|g%!X+93zB_Ck!BS8a6gS3JZoG zQAkzhklz@YRawE@e+4+vWjiJcMU*bU}8Ht24pGF%FC1p-|#BXzva1W!I7Bu8q3N4L( zL@(LmEd(XVvKOQ08O=4LVbh-|PnZPp5d`X~UwDiH)?ZPz+zjAQX<~wzxabs?>Djh|nmg@gX~>+(OfN8!!tleyBfzj2GW-!snXiJeDN0G-+g#bs`!e3s5)r}WU0?K@Rt+UF_u5lbBz^n#U-!l`v!nwq*#3EcQ<-{csa z`kaJH7If4yE867JWxzU3{Q?H^45!WPL1lWd_b^t{E=<=_8>u-|c^V?Rw$CSnX;aAmc87vpp4n99k93Cc4S^cyPt6W}_vta&m&>E?E6* zl};G*x=(UNO~I&!Cj{NZP;+t{k4%I}&dm@T;dXaV-hg!*lTv_`7mY2(asBU|PvjWd z&DJR&1<|uB+ngVz9EbEJaidI^=)C*0pEBcIWN>zW)-gW<8LQ-eufQ+4?q5dMeqbS4 zGm?s?Hh^&pS{^a#0p)0ZP5t&hZi*MkGv9Rlp3#iYI9=nc-Xf)!09T+x}=neGbLf-CFEzsfrdq)Uq# zAU-2$^PEthwsxC8qtNL_QG!yqeP1niD>6YLU2S~WN*K;BDRsWYF%>Q|E>cj2FM|Oc zs5S>1n*BxEgAJ5mF94ieaPM9i^=ikckSF(yPc3vw9wFxP6V3dL>GunuL34^?Dwf=+ zOX%@H9d1Np22O~4`4o*mMjI4JH*AQ_f#Dg7@1}H~nF1z6l3Y(4nz28(UgAv`ib8eX#4>pFMvN{R$(qqs>R*;i@L*ILG#WgmB!(L`L`(0b zk>Z%QFbt|=-)~3qgjbSp9yd}UioQ8vBYs*AsqoI4Q)3T&^9+1|oafuLOu@|grC3y% zNr)+J!Mk+gdDeo#+U85_#xR~fHRcWDY)MV5{o&S2t<4nYe?l3#4FVOzZmY5OgJHL^ z`QpfJ9_6_tb^x{-PE14PvAbcvBU0;=-nHvN<(|3M|lOpej(D0gS9D-z+PM4bs~} z_X!7LgUv?>bHkoX|6i~DhI~6k->L>I#W3y$J4#FpFIPTm`b**!?hMZtyr>=m0BkS2 z9E1ZQo&pTW#+dnT`@ zI|ULD6{y1RRoFx;3?~{y@C-RF4FQuIV)mGCx}??el*hq?o^g~7#`*Dav3?W^zjstq z$6~kI2KOX8F<2~9o7S=2yKLA~P6)m(Q27XD&Nd-bG3dWJBUDLQMmjBQPZE`;Z}PCmZ8-|E7?-oqyJnc>pLE%zC>;nz5*=yR=x!hdUe7Dx z%qb0ADh&ipO^t3gn`?#;AZv69a>i+z(o3`5(#7!8x9k~|hHWpNk&K(KOjNI7PWvm_ z(;Yc=;WoS~^7*0^w6Fd_mXDu5?q7&h_@CSA@1O~ZN+%(yo=w9xZJ0bn zuHs+WHUnFk-90jjFlc-I^L$LSY?b0vHUZ)Ub1_PiU1~Gy#7i>Om8>$RsfJl@O3ZOh zW!YJzSAO{jWImG%ymLSEXRLMlt-?UUe7_MwFoD|yr_8QQsu%r0E9*HcKI7OBb_l8};PLwB=ezIoqk#kf2{@L#hZK=6o3JO@ zuY8MPC0DPAigeMecR3_CAHIFp^{%#aQ4IFtXJ!(JRp5nV?s~9Ruu)c`8EpnGq^e#Q z1C>qxzLRf)ncJ>0PXB>F)GkFZi-1a6z4p5m9;%FosivScXtu8vK`28!P>;00RrfD2 z-_-J1?=PQkj(_3!Z?i0X%Y#%oX%fw&A_XG?&EK$$RTt+f$Xs4z3q_p332I-As zjPVR*Ce=30QG913t-9UKX9etw%SPk1;HffRan->rJ@@f6PjFeUtV~5QM|$#?>PaG* zM1TJ>_M6vxV$Nw3cDX>FHux;3WE~=VV%%4ZV$>7&{zY3nBboDfm{hQ#PD6_HsvsG& zJ;AuQ7j?15vEgZE3uo%zrIdCvcF1^{7xRDqiDe|$c8!S5A4e;s(4oC(<_;TfC%%A{ z>jW%Y-$w$MkVA@Wwh*k11h?UU+@ik=w)sk@=7R&Z~rgWZJ-R3b&Y_NLER=1d-5Rll=7 z29oOUd0TBvlH<8m0-z)gvkQ`xpW!JAkiuZ80&jf1V~8QoGt!1T#?6q7#o$^VWqHF# z&z*IX#bjAFpn<386%vf90Iy1d(WoTPK*qMDe}_W?B2H${sib#v?%R=$3(E`ES_Ui? z8FM!il3uoI(-4~7Ngr=aT7P1xBNkDs_8ZhQUk|6&0!o+p*lO=VYup4W4sy%V%0x%V zM5$pz{pzdDK!(R-8NO2+Tn1yQ!rFHys@|fZN*kDq3q>`XQ}A`(DnjOxe0VW|9z5!o zB3{w75sjFt%_rLz1cG>;2|R>#kr#8L!zJZ2wW+B&mm<5TNZ6T|9Bt||l%W(~whKw- zJ0-D~P3>m&RROj*I2Qr;C?5*b?p`d!$0rh$DP?8YJkeo4VmY^Ya=Gt&L6=X1rw%lS z&2@Pr;eOqe-M{1KqU~CwcPX-2L0^aJ{r*z8!pt~_PD2sb3eeUns+b6@8-+sAR*|(G zi@RJ=g0RAy2W1)xivCpuTm!uWPU>Nb3TZgNM1JW1jUrbuE=Lckl?ef1+rMNcN`e6cZglNn{;GA;Xoy1^&+syUcjw|NLUk^<3pHGqtj!N3mb4=eyMD6-vk=ny)!DdjVU@!<~Vsb&+e;~{xh z*gs}#`zoGgK4D|noV>YWm#{eCNosd5B+U`U45KI3L$}SkAba;#fFrC{=@R73J?S@a zer7&GYK{p4`>V|bXOYybFM|mMGTMoP<&+Q>U*{DxaIgni!(GIMYz%dQ);DxoKcXVY z$1+P!tifPpf_9lP_fH_>&f5jKsyBi?)3KXIB~p*UN9#W{Es5ZIoTmNV&*yH6|3$MD znTp%_OIXlRePxQvpg>^2d?4;;7Zv=I>1J(eE#rx*}|z} zlw_3pj1-jP#e2_xU)7WF-KVr7!sPp)t%-IOO9J?kZ<-JarOoHiQz;FAg>no`l@ew` z={(ZdChLqA#2j?PYzYaw_QuKRXZF2P9x;>=LrX$9;U{6dVA6QBaUmEagaM1ftgtk4(YB}cIX>f53O|J z2xZ)`(5YCEnU9KGR*lffe~}$C#qkRXt%5**K*C{CTRGf=ygsiQE+dF>naNVBTsH}w zL&(s>{C;?RJ(0z#I6(-Rw`gXj7~_upM8-V8lPKMIA^!|yfSC(^Qhcz^uVB~{td=zX z-j(C8i<}=)=v9(*@$HCcQcSO>hhLoA>5*jK<~XCUsF3cl6=)9$GTlM~A_5Y~Szi2v zzMmp$h2|S}J%;0?I{my*+xhXwHXlS9epDt%MtQ+JyDUu#&=$6~!ey?8vSL(yl((xbs}f3d8wqeK!PVLTCYv%KOWxnE zR$+YOC}a9)*yRJU?$m7P&I^elK$3ycX@0m^j_>AKx5K>leza6MM7><_3T4z>I7y}9 z77(J745e-h-Tk`3rs2ZgVbc&`ZH&wP@oC{jb*NNZMZq(cbAGu!m15ZF0zbft5BZ<& z_Kce}0PI>j<#-yEF-@q|9H0gGK`$sO1u*2F3La7rkDaKnQ!1FFWWNKg&}GrHeHT59 zjMul@SUlMQWg4)K=kwm1?XMt(xN?jK1D*yTD1qv}qp(MIo7z zZ%d13B;!rMrP7kmy3Ip4Ka=+>*XE*b3AS!;`(wbc4F!qyC{O5FUsZho=1G4JJ9M4OP69e(0|75(EZ%(?|pyd2?ua1~M8WC{w3g zSQh)Vf8K_jXi3glD|POGcU=qgxHSNooA@vjfpTh0`D-FIq4B3eSUy8HlvUUKA0u3y!#Qk;_VQHGv zYmwS+7#oY1Vhqrlw>uytLczuEo477HqTH-oPnIOrb5$=r>Wxj>J0BiV{4nZvWA0%~ zVa~z37RIlzAYwVU8Ou4Cu0E3`ff$<~80G@`gFHB0Mv&gwOQgyrXwr@vM80@8eZv@~ zhD@aBg%4Xy9H%XvI4genwH#c~oa^c0Rx%E&7<2 z^w)$>b`+#iLHpk3ZTMHMWO?r1DM}XeRYFHm%pwpLRmE=A$$bduS3`3aU?w-)JLdHH zcH0NNf5!;Pb<(qdK5t~l5y?oWSAn44yns7dRi6%3lrg8ti>V+@DOQ4&S>x?A;u3n( zb3+jLFzM=NJo9$JSW2yLFr&fugLW}`z8u_R413Yhmg3i`y6*3D0>ol7?4I^M=PN5^ zL^6^q6e<~T8Xpy!w|~|RKcN72^$+|oL%})#&fyAl)m8oK`S}hgwI^?XixT-1!V-(FEg+?i#$1-9WQM|YRPn}zV>hmWKOIhPHA;y_U>bl7K}sfN!+DI zrly8^6;bClu7D}&oXm`{#QCE5q*&&AA+IJAy*r_d^e@#^@_;uQrHjS|W2Ja1GH_fE z|CHIbtzAypoJQ^U2xQPu3cRTU9IWjR5~8O!e~}~yXicfmjCBQUu4%_4^d_p@Cea}3 zT?P0N$Y?8*=>6@6k=OxAS);7clOe<^+s8%iAKUxT@nv0WVTdke%o>lP7nlQ0Um#2M zPXR7}lvX?VjFq(!ptgPrtY7o-Ohp$YZPBJ*sHbl?saCqX^qNO{DAz#q6!8tZt!n%@0JXDp*+g)_As=Uw+n5}WJ2Hc*^_M=jFHis^%(&?Xm}fTJ5i zAu~LD*TEWb%x9t_2S&|CCjBnGS!q?Ews!b8v_i&{Pq%6}v$S)62=oXTZLGWd5yteL zFA%2+NVxT1W=S+&<{7Rk#dvhwVWBNdg>Qa6BvPgNn&{!B)XR(TQk?~4N;l%P3ut64CGjm`xG=Q)AXhIy1Ah+ z{3)iKf?}v4w&1ayH?43+WihXrP>*=d7E8Z!5y}~{kYPCm?mLPaSIDL9!c?yxggQqs zgnQn(J~z!GywJay>G+Ftp%8{nX({6T7suHQhcr_flB;N3w+*Q~SC430xoH{qQaHO_ zX5khweA_dU@%6%*61UzoLBvVjOt!qxBN^Sb{~ssB)L}mpEfjz)Kkz-_9j*=ZjAa(^ zcu_SpIzm_*lnKi*Jf~tq6t*)qUwFncu_rR3y2Paq z$u<;I7eXK8S`-xnMdhe%d?QRJsG=Vd*}6Yn%E>>^>X1Sx@TTAjIKM7cRm|V4+%{

O5dpfT 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

tjWZAz_4=Ssm$q-Figw6oQ10RG3^iB#Zq+aJ}y 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

gIj1-hu(a^5SgRqv>n4Ms)-k=F}=IK;UwX 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

^OvAQEK| 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

f?+ zg?*YlFU0; z1X@9@2I)SZ8SZVhDxw|gy?SN#VfnH3>Wp|=6rKJhc_!qo&k-o9j+h?0@LMBtiG1drW>2vq+LoI2H`xR zIxN;yF-R8A^^kbiZ=z!grym^A1-W*L;e`W^hyk?C6rKw*+%Y--N~g6D9=SA5mn=u! zWLxn9Ozlj4<0q&Ql~VK}Jt)(CX4;`i$dk&~5bd3n8)0%JJ101HQmUPPwrL7{7lSR! zHaDH^P{ZAtI6}~To5R7LF?Cd1D-BrGqO|QK9%;s2zIcOY$gMKV*@Tfva(PjHC9KFM zbSR58H4i)}#U;f(qRO2KmP95zxh|$a4LVwW^%njvS4b{U2j_5!Y@bQraS^;b zbA9EV_fUE%3%L-@OxFU4yL3gXxslQ{?w5OkU%=SgzcR-pS%XJ=ULpei5cN@z)$&PE1So0k$?$lmWcV)VWUd~+COjrTSO=~4B=El%Od zE3rb8%neG|RORvREQ?_pr#o&o2BG)N#Z_f^PDWAS_S)(@zF#r*9b$@FdJLN90Y)h)lO!n2QLlO0fY!b&Xp}QTeCdrT-U7I=StyJH-L>aoMOnUTokf_n-P4#1R5PAGm~%q*Zy+5DxA?Xc7|aLi$ww$f8=7?UuJgT z1?#TW=3aAlD+`b+al>MYa7QM!^9MO7{rQy*nfN4%q14h%#*U?C*%$RuUZ=avqpxr} z8j@U{7o8gwA|`wP;lA2l6A>r3FNfN%^pC+_`)AI^h@HIcc+A#4K7{s9z{#h{(PVt{ z{MKzJ#%&8**8AK4T0xCg1d`z)apGB@LlRzUkQ4LT``4GMo!@pR=xv|z1%bJ4drojv z*BdHFfpnS31i?`JrUR=-ReW_3kT#Kw#(Rqp~G8Acl=P`$N&wzS7nG6l6Y!0Yf4%)nr zj*|EFG})eLTyOyqHO+kz+*(nP=Drr+sFo5;9qK2R{(-?OJUAcsSAhFxT-M@}guLf` z$m)LoC%EmKq0;bwhqUp<{{ws6XZ7)np`*)MRo2l0)z%h4ZitS}NW6{p7@r6cMne=J zL3P+iFJ6w@CumIVD1@Jo`Y9HxkR7?1;2@lY7h$UgXRb{szg&h{_((Ki0Sz4pgG@#t z3s+ZYXQNmUlzwyMx=QOZ<9Juf&aJpCZY|KqdUKot&|=o`u}fB(U=n&`i!lYAuGJaw zqB?rfA0(7votCoHFqxowofAQ2wzp8H{|XhN&E*oVtBXsgP!_ul88c`}U)BgX9i6-N z461`Z5`;pWi)>7h%2RR%_ei(LifI8MwzIJa?l7i4Y*vICf?s3LP&$D)!7HTEo`{Yp z9VjQXw!(*1upz+Y0(bb9BjZnImeLZ@yaDD30ijp*lpf1?SKo}hyQpkH<=M(fnnFy5 zU3x>cyE$_sUE-MJ_GzTaH|SMHeBA*N&$W;IcYVc`{220nS!!A7qXh3JubqM(qJf@U z>BZ|Yk}b2{Z3aPBMwqv}*>3l+`X>*ukdJw931`Z->Rxsfbn7{;ZL(A(ayKO{BWPj6 zvA6t#PxpjdC1%O{{CuCmba&DOr|@94Z8KO+I&v}EUExkP{7>N)54My!nY8&}F-UWN zBA8C>GF}UKf*D&)c!jV}X9?PEmlxknv||in-~LT(BC?IqGc+z+MIIF_rSZvFj4uMA z9?zArq3iJ^iSWnGDrZJKM~;g+#}Q@nGC4$DK+YJlSqxg!Mf%ik?|N&^K$tZ)!84*! z^oUn@VnaFqrU<=l8K?;5@7<~Zoh}>Cah6f9w}I@%=U$2WVUa6+hLpw$k~t*)y~}Z? za$W#*ku0rcQ42A`b@@3u5*Jft%O2LE8H}wXhcTG~6lUz|A!Me*)?`8d~9j`b1hx_pm6$?tY$uh;zYhxmM*+ zXk6IHO&YyB)S>u zm18HQi~l)5-Lot~ENnrz%}zu#!FNcB)S6u+1LQl1W5?slQ+X9HJ*xseRJg8Q{ns2H! z3w?tWyM)7CN()VJn4}fe9Cyp?&h!R+yD)O~?>3X5WR%lm(g+%;_Wjcn7nfh8Dm-k2 zS;$v+;dBP+49^ub{nLudYl(XMMOSefYI2??B*G;GI2 zVSoC2m)5;eeX`)$zxj|@x@>&iCie@+i3bvwIbnP<0;4z3 z?LrFFA*XCj-=x640gdf^?W@A<;6~QqadSb&_6M?!|%GM11UdVBhaX@N9?kn5Mo-MOc8Nb0D|gYW zI%3fRPK-i*#eM}Ku1@I4XyY5UjXcmUnn@59PQ$OFXGmilUpuB_UueTX-xMmW)lpa>_nx z8hkNSnEqCm%NF?5mW0-%c#swWoIo2CNF~eZt+5k>}01S8xyek4N(5H zyfYD2S#Zmn0KlF&I-C0$N@pV^(GGb!CWgle_x*iIGQG5F1C!v}Csw2+6O;{-#&z9} zlXLgGj=MwYr&`v8?b9*45~=b;XV)Zf^Yt*r=WuF;VSBZVgnTg^(g8KxDGoWR)p^dy zz5$JELX5-2(&V0f0kKD^eS(XUER@|(g;sEZ2c1mOW1hsS3QE|8wm;$(SvC8NsB7OO zF%F?&`d%^8+WF)f{vyQha~4GM0JL|EN9?sKSTpbRp=_%)_(<}+V19z?pFX@p?)B?( z5xKZ4;kNg5KdW}jW!$DGi63keUIcgj5oG{;*)1hNEKr;q%(LTe>zY*0xW*(}^g}@X z!OaPUD!=m`?E=@(eN+mPQTExeWnS!OgDk7|>A-lBOTw>R+Bcd`_)8EF(I~2J%qvOL zvbf6NBY$SIcnDWs>2j^`%3ZMiXfGYP$cexs{}}%LCzf6vihL-wqow44Q`Ek=`Mb8m zeX&DaroZfWs=@DM;bF4}nWaxTnjEy^d#-xAl3yz##u-wUuIDPx1h@ltg9Xc%T(zxb zX?YdR(Omn;;b+g^;bLQGPH80RI#+Gafcg`Hdk79_KNrX^yt$UIoiC2tPAfvqu()#P zc{jsk!D%(3C^@-5(tNzFb?=~hh7;~B_+Cc!)e;yaVRc8Ah6nc}DkQ*?V3GIv|};~DaU`!02LfWhR##>0Rj z&sfF)sM8Lic-b~Duwq17-7t79$-sVgen7^^?pRiHnTvLcRFSJ!hp&$$U>)xH6WDlL zO4b~Imt>D<;!Jiy}j*Nu<>*R8jy_ zYiO0gZ`kh8SWJC5uDpZ;%T$|mX4*`f?s+(wNys=or@AVnJFS*b{n7qzt7SgY1iY(M z8GO3gR6eD?WmH3$wWf~o!TEUU!k;14krXxRkYl}-#po|?(c~41oB^zm=1Oyel?#~* zUtwOSJV6bXgdy9@g6O*k!I7=Aq3lID1A3=@QIg4~i zRHm{VAf&dm<>tXjbmVpxW`mf-#%T}A>RHCGUobtBkQ)$<`Q&L>gP(B5yHavykYx%% z?JN_ZQ!3kWW&>=}JssUW>x))N%i3#{4@C%2gjCLEKXGFb&&QK0vRLtK}Gw9PO z!IC?440=0yw0V=69c2hqCKnpHZBv136{ry8zfq(SMfoLX9rWJS;KPLtg=00+XGxlA47Q2O$4Pbk~9gyujrb%Pw{ zO@t-OW+KD917vlc`{i#q=QzR2$TXXCmD`W-B&>j*uhj)Pve<+R%A#fDy4jSjSVw?6 z@v*34{zNlgRG({LraoEVs0fE@8hh>4$$7)}l2Q`?c7e2x?LxA%%NE1GG`fYYzV|nZ zrz==yXod%v`{HW~f$EBRC}^Q@FX~uiM#pt9Pzg>57036myCJD$tN9mHcL#L#fEYK^ zO_~;Of)2dc01D3Ud9rl!SoWbaaD{Je5jrjT+Y@6Xjz?E~soYyIwZm<4kW@#S7BW%7 zE!9PVQtG+{8hf-W)k#f48`}s)hLsZ&j)p#woJcG2B972xmjQQ{DuI=xd29=ySdG%~9zv zoWV1mG@eiGw08p(;`GWyVnV5T0c^zPj5{LV?ZkU9!<&1qgA*LmGdzqV7Srsg1D$R z8`T#;XO2K_UBbRh!Mbpx0ijOWh5W!pzv1-z0xBWfN8=G9zjjPT`;ptZJ(2r z0lzDx11QrX%i3B^c9}mq$9Ek4W*38y_2fkE2W8S?W4K{LYE=tmGM=BNBFF!@h|E+i zF^wzR?lD1u-``Wm(Pqel1;I+A2}BuMS(S)1DO-Wdwm52a4FOe|2`{shixRiYtof%bYTuxGeEHUMu4KNFe|L~%U{KB&J!Nb`^Z3n^ota}pv(h( zdK4j%mqlbp&&_Et0&n>jMcv}EBFbn}G5hHLBCqFI;f!~5N*^vPys-}$DnP6@*!!e> z*ePU$K?CCcZA@?QahVyuisk6$C7>-f*N}L|6~}SzV~k^QvZUfjZskRWPRkB5r|{4b zD*_2Q@Z^H7YxQ?UGN8Ob55F<>kl+ilnQ$yYJJFS2&=5ndeXg5&agFGoD_O zrSB}mboT=?GOhSDBOWcATAeX*vmdFdEb22gn;!M2{Wf8-oZwVn3;EGQ;suQUtFs2% z&AY%p#|Fh^!CLvd5Na|L6Q3vICFnTN528?;o4^Sv>O0s+OvAA{r;(+1$At#K-M}ET z0iqeu1}|_?V6~lcgs{B0v*cZA%!PV8j{I$3(1RMMnh6JPgm*F4ei)^xRi2ndEJpPx z+Z-mZpr&xy(g~GfvM47Uq4Zh;5lp8TWXOXIynHJmA%yDd+oZ}Nnec7Iq1DX?GHwLs zdqts`%qK8|S$?sT{KhkKqlklyOI<_>d`7*NEk?@n1)4(Wx*=?Y|H+bfvHlVHcA(z2 z_kjIkf9o@*5t7n1tl@hthz@s4`?hpH3Ni^Mo50j!%ARXUInVQjNTpHFD}#$-AH`23 z{YJ|wqor|VNkdz~7<~Xm^#Z_kR$47pht;Qx@$*8gNqGA04wGy*vI+S-gBrO}%2?T@TFyRBVt zWLf}XxF@e2d6uS3r~<^DM>X+yYn(5PAA4IU`e4wY-<3F|d(#TT=!qH|Yg799@XoPs zwW%*=W{Y)vD;Sv6*;fE@YWu74A+nBi$>I>A=65VEvJf?+)6Neq+1w!m!#0-$YDXKB z$2pI@B!+o|0JVVlHPrsbbBs5~$b(nxHY&i8kh8lhXo=LelQz59zUnsETr6s!3}7K{ z))9;#EJ=gilj$?64tB}1CM@T2p6FJ|@urC`wUMca4%p7wrzd(M&cg`W@)>;NI=A;_ zZV#p>YH zsGVSEil85MY~M8wh5usRTv@p~tnUNYXPYV>^-z~P*@r*j^luC%AxUDUyr5lt@oHSW zQtP1;#Zl{zXEhW74FnG;wRcPjH$^)l8`kR`S*wsn*(g3CKz%dfOHy&LVF%h(#WvsQ z;ofdQc>V4sao5grTohYdrZ)2_i-RsDjA;;5LN@G+P<*TN4;Lgov^Bd1 zhJqRFLV+|g%MmWOUmMA9AY;KJ4k1}(4?d4Zi8ZezSZTjv6*~`UBGb87WGguUtSu69 zm{qOxKTuBZ1%8jL-yPx-vi5aCiME3adLG@pxM-kt#?1=qS0bHeHst8jmG3HBqxdTs z|BdM!$EUq-`uoFdBO%i4rimKmVd6JLDx&|J21h5mOdcsL8W)(1qH0}cYy1poJR=I} zRbI6{iOUVFOUJ{`b!t1`(Ca49@!W-2oByCy9!a(r-!Gp3@ec%952j~D$b>Mnoevvn zZQK$@V))5s-r^6K$3^b&s=3wB+-u>oU^;vK@rA{G9PD$5Ksz!m02Onw*p{E8rUmBN zlfbFBXJ?{dMT(#^0ahk)rnXJl5nqLp?x;peREEYCr!2$i!YIVHWGzKAH#F1ntQ0)? zxx3g2cZ#OFJA9SVjx@Nm__o_nM4d#O;SxsQSO-Xn`|j}G_T=5+K#3__*5}bk(ooJj zJfY3JNO?eV3+FoqnI@@@Vp=|hYUJ|ds99{H0^A3TIV)hF(UkE} zl%_Ff{47(-_4x=rYa}%|J zMx!rGOQg+SBuHuECy$3yPC0b9MeScbwinshJDQ%HVG;s^Iak9?z(($g3=zS_3Zzne zuB3NSu7-*oQvq{C26$%Fm1ittP$m)~zD29*7ueKz+Qj68^(PYy-yxoo|DWPWg(a(7 zU)Ca*)mb_-7W^@gy+i8FMNwiFjLzG^_%L|pOb54vks0uEo~bye9xS!Z|vC_ume7)ue) zHEu3Z2jN*5p0|CLm}}aOzHm6avDfPG3jz&d1G`|sMPvFc1W!R>;*Z$yH6NbqZ*}C&V8NbPaAK#IpZF z!PklnP)@UqNVMTF5=`lnvuiWW56=o1<}9)4ow|2H8S27|s`fXk?mV73wIZ0FUXOD9RD+!GJgJEhu_al45LUf@gd_`$~~m0w~!f=INLt6qp_Tj*OsNzVr)?{_NcGx6@@g$ zcIU{_SQ*}LA4p&{lN1J&d~=Jz4-mj?J`g&~VUb8Gavd<43by4)2tOrnzCn$t-6?hd z>?i{WM6NU8SkQ_0%iIUh`a;ocLsDqY>+O;-bOakSc?{gt=-1~m#bc!jK@P{CP@tJ#y^YHcjK+H(r?zG(k10HI=1G~^{m zp=v?mpG~A#K3=&-J*07_BoEDs+rAXZ>fXwBv}7j1rS{O51YOnNa%2$cb-_k!+j2ZD z$VV*afSo`n)Ni_wz}fbPKj`hJ>u(o zzExV2+}!dc&=IHXB&+sB88JC+FadTm&&-UJ!b1J4U>nS`bsNk#*<6KufrRLE;Sn=5!?ithod%!J3>w57BrRUk; z8_o9)yPx57w!sFN$yjW|6m>6OR{XWMcx>M#4q|}yO|ZJhGy)P*nwnw8BgGl}KuX^{ z&DIei#W{$S#+~1?{Dxx7fB!-e3$Ok4qtCE5`VoRz*uKNf#*x^LFTTz)uCV(oGXKiX z!D8)Y1A5sYxz-1YP1~Eu@Hd*Vdlt8l3FW@9wF4Yj_o+YwvQ?~({Q%eEl@EnT-5iUD zuEj)M93WN=fAkYkuNFJ0kiO3>ZY4eREUT{-N5bN2n{$u4E#>ranFvff$=C|NkgpWU zDDhzvGOpPV+uMf1u*;6Yx$Bpnfcf@b12(I7lNiyTYL)FhrAqKm4qqZh_S;;#Z~7dH zsq5|Kt8~Rix8F?6R2H|4B5~9EVR5ayxRo~H_qnA}L>zBw-$?}crJTa<>w`*~{r~f?O2GR&gb@H`u2^d@1qX*gfj7T*K0JYi(8roMslshJ?7*g zwZp-5)Cx^pV6B(dY|A$xu`mAKOEY5XtfOO>2q^%Z3I10XJ(HK{SZ>1Ge$BWH`2|<9 z$xHxC$`iY%)(GajvRHa7wZ}q94JLmMY=Wrku81M1bTJB%;H51U8aOx8zPh=e>=wU+fbG?GluVIr)mpFtY?owrZ;z>AT!9xLE%HvwQ*ArK^2{EU|>uH_I;e8 z+P8$K7e8{kZ;#)Kd=@Fi=V<|+^*Qyjcl3DfnNoqpn@v}rj&t#Re#R5V=dMi6me-B6 z*tg(vUThXmvZk&!F75~L)2f=;4mRpju3gJXJ7+zGqI7YQxu3|!$KR86*%t6fltcG| zrV_xzwuu>k?#usBmDj4x>-hap;jP}wwllF?pZpA~BNh*MhuAnEB{5%qDDt5`%_~#o z^pb^o)^>qM@of)xjV1Dad!w9Sepb(LIz;e*b%-C*F;RS&WUl^r@XTE^s9?q#&1?|e zNmDEA;}1K0a$9+4Nhp{;vpPb2Lzim$fp_rJPhxUg# zp6}ueq(9|Dp+7m^6+2Tq<3`V!#8(;cPZ1TYM@tZYsA#}(V?z}b=+kOrI-{=U$m}=+OK7|^dp+kd-_(1{G*l$i%mtq@4VG*vmXiK zu9z!DyHhr2xJ5(-W693Ca<)*U#rMikTR`1+4D{(>uaWUZeU(SsetAea>8nB-mmuJ6(u{gC7`kYa>Z^*%dOOh>OB;{fED zc8VNS`G<2Q&UbB_>6WX*(wdwyI<~zq!m7v{8zK++k5@_19?m%2r0Xc5!y73JKKR<* zq@cGeZr+J8^{iJjoyMHz6!as!t_E>v$^98i8LvyJnk&z6nB3OeWpzJ^8npVv%rO4I z-NUPs%$(Oq*%gH41P;(A@(KQVg2wlz6wUl>O34U{cXw1D$@|@ZZ9dd+*c_xXSa$|J z8&VNK=gPfSEs0)$xILC0OlldrAeqt<&EW8yT@^hzN(Qvo){ci8-XmS?wXI%YORv`5 zA<(_(;h~Cb+lOaR9Z-IVez;@oXEFtO*5n|zHm`z?Fx<>R{Dxj+IZ7`Ky~YRxdzF#(xNj|DaUzxKrNS#Vfi5* zV*7NKebfhj-LY`h+qvG6zB4AsC!u(?$Slb=agj`bBn%pJQU&lv@($@4*tlUuMr;)j zoySD7Mtn~f&HRouz3UMR7Y*75qk~(`i|EMoWr3Np#WAnWh$3+@s>x3@JsF9C7|=DE-Mo}(4yS{N zbLb{91!VaYYGfK^*{m1UU&}Ww;Qx9_X*?D3GhSEG_BIi@q7Ym!QeANI*_0fXuV~{T zUg+Y>-8z(gF&)EjVGD1-vmR5wGsHiH0YU=EZ)IKQ2p8n3= zY?ZgL=q>GxnqK)o3T)i>sk2*FokgY}`)1w;?L4<<)yg^_mIGR`^)zYwG?f8PHTF7l zA;Ih;Y;WTj0_uK!?Wp{NSkSKVn@)1}qPjg1gY6yYIpKCcHA4X;yXMCZH!xIpP{ARk zrBq`LFwc(1E2TqWb>QhCHX#a;NoYVgpmG(^OmTS;M= zr2Xu)rqxhn!9BgQu!OYHoRsj}qnQ1N+`sJ$Q$d|xAw2;>EGe`8u> zjDW5eV0|KgZJC$BPe{Fj?d(IKHBLg8G&)_`Eb&>LZVt@nNNX^Be~OjQ$dMQ-Jg{4s zhaN{bZ~dNOjb+C{VU1BnLKa2G@nq0(A?`DWD=p)($FY%9>Jl*4XUj#tE;6~)m5Wyk zaLD)GwY`H@-1PHwXhwZ4TnN~KW@lY!++2YdK~@9rpGfTcej~_@a8}`3DDFRo;NM8< zcsxRTP>VZSiz2Tq7s!rIm09&hZ7VIC3j5!_g}LJwYGm#lc;Va2-KA(o!y!5%^Wfm% zF$yruVR*|gCMxiCQ@c^d#h%+!~qivk)E4ObR<2Y=5qN-j=UD1x||AOhXV zY;7fv=LIIX53YT~FPRVZPayqb6$!B~cHNj|cO?+Hlt*uBJHp8!sDeq){JM=g(p)e9okB9mF8+h%$}M+mb>Z0X1B=PzB$ zzdf{~$|I^?N9S#kW{=3h?ngBxB^GGwLOfII*d7zkp@Rxra3@9^vmwxA=CFI;gE}c? z`sGntmWEJ}9TE_bP7N+S8mPYTCN&}HpsnCN{Rm|Hc2^j>Fi{M-zh9K9x978GSe>VR zlwk`lg&J@_&Px^7<%`W@UpLh&#Hn?}4E}GYW#d!I6>oHP{rFDWBF{zYwsv}UBZ3PH zeM}yJ+%U^x^TD#x3Z%aKo_kk0=1xW@J>2$tixNqPQyn58s@`!1A|H*_cr7QNGIVmy z(z75oHg~bKV_e*3Z3R+%ExZpgE#G!51Qo_mq4dFYU8q2PkH`y|_}4y}Hh4Q_JQLof zC9F;&B`=ey=ZG=aw}!CC({oR0@0G~5Bx#N3}thJdtRNxo&E z9;32a*2wuU`z1v+YI+e7g(bcP58(T{P-(*KcQ>g#Ui7TyPnf6ma6xpcR;x5Xf4+Jy zDUdimCQ%Suf;xQI48?ApF9s&CuBZ)yzC|kJ%YY~xzOYPM&^aqlgr-*gxZEgN+yj|vRax$wsUGGo*oQcxwK)(*j706g2RBaDW z-y%m=9fwaPC5#tcriQ%WNGhyBT*H;Oh8oLVR_59TQr}$8&@{W#kg_!{INstRSsmOF zO4W2+T@VwZ7Ot<_MPhu14!n9*5^cFUZ?80el+E^ieE5BfxJq78PG|S1{Gdy#y=T)R7?-{uaXi&4=$tPsvP)MF_rT%L;$y! zZTiRJW)b{?fUqpAqt-AsVSj`by0H5pW@48;`u3U?g=cqrFJOaAXR+vj8CQ)wy&a~O z1LT#i!`u$9{KpVR(To8#^hA=2A+S*VN4@vX;0b`u>c)%A`AXgDXz-r1PtY0@Fw?>m z==?1=DwOfQR9*weumKeFX$a4T#82IhXcEQ~ZQFtc$#CPB++S12xqlBHX(_)sRS{7f zi%szngWynBf3$CAv3-S&SQgzzDD20=v1kVyz`8F(Tf#=`!G|7I$>;txo>7fC!zr^V z*oOO8l=mb%=e3&)a_=^%P=X3o09xGe)U!Mk10tu!(cY1&+)eC%g6bLId;{q5M`yKE zl0+Y>mms%V4Y-^MVUjbgYcK8l_WH7rx-a8pG4v=mL{zUAPEM^K^H(&x99b}(5x%v71?*oo1%W$=99f@EXz3Wn14s@w6vGSo;7f_m6& z;wPYfV6OciG7RyEQ+2IlJ?hfe2d0;y)twXc&%`CWTMdg5TDy5-xa3wH6$wdRuCDnE zY^=qvA@VV`Ba2q>HU*^WVz;bsMqJ%RIkS!V_@P_-l?aW#S z0%qP}%07SDdCT`#2F&!_=9f^r^7BkB&yWU~`#S#BBx|8t;G5(u+1q5UCLsy-;Yvh6 z7y0;&wpb;;W%3{0<<8$StfFQ!M^LC z%$+R3&q)jV38ts&tIs|#|1?&?N5#S6bNqI+(dC&sWBq8O|KK`|d=4um5ZQE>J*1$P zjP=V$r^v<<==y`^k||Z)w15$R`@n1<(u!&}28Pe$Cz`w%B%!;{V23Ctrf;e86Oc|% zyEXq+W+xc{yqPfJYg28%r= ziF^R2m^1{9ii62f74FMqG8siK8Q(4tOz-#oQAEQZx1q-lBJW#4{e&?djcftZswf3E z$!wS4Uo5js2|w8=q7SWH8oM>-3#}t}3hehzdBoDO0%cdS=KL-&I~t+Z-1`!+ooK!( zPtC3GlakpS(W79_UfinPn&?(c2@|i{-GR8z(E7ffi)5S?RNcC8Sz{V^3#yJ5InR{$J*7TX%I%-KQK=E~{7kfF6`ITvdDGlXlL z7bR!>1bmgy<(HNcgMP5MZvq`5&;}c)v>QLb=XM()33g5k3|5kcj(G+(UXJQ$K9iZ9 zS{V&m%hUu~OQ=QgDkM_;Bl%#)*p9>OE;z+;g>=I?e|t!IAFSFE_J63e^ECG{ZaOJ0 z7#`aYKA`_nTwS%>uNW676gfU0=57-yWmDn8P` zUIq=I&^&vBJvvQD)&pZybN0Kmvk1n}x`(W(tVr1vI)#$o>ZoHs|9;sr7hasju;(yPH$A1a`P=%TH+IK`BeKoUl){rD+zThA%lF zx;W++dyUJ~a4Jq3&a+?~sUb?8exry7yU*e?rjEXC=lEY4Z2T{NicAfYV0YK^*5Du8 ztheNF=ajWjYIy*6io8VTKpP}OiH@-RiK*Xaq9D>OnEI`R#m7noo{i0r%OPdX`-VS} z=PE|1Wms4jfCs1J_d+FvKBX^FQ;zyDmgpuH(o(X$`tXl z&ZV*UJf8N9N~a@~n1=IP%$`=SZqnyxF-h*!U~?ZCk@$d>)nV97mcO#rHDj!dXG1c5 zs%KQWXG75se^%iq;u!6G&9TLSkJo9a0Ne=jLSOv=d)+3?q$OyfysW&gS#ay$YF-ib zPb?x8+jo7pep;8HHeLH5_t)swYb1Ubzy(y zwGd=M0D%ym-)DP4380BB<1nD#Emeb8m|b5NWVmzt$@I$? z2_n3>a7e`UVYZp7PZ-diM|r3RX!mT1-)ZkKF4{9r(NAPyqz#nZ=%8bZzKxp^Y+TY z#UOAvK{k&#I#{x#UP#9kX^)##D^+L0Ax$$(HX#_SOvsT|SOb*1(Y>E4$n9({T9yW1 z=Szu4Oy7so(H(HvR)jQ@WSjkb5gx{IY^5y%R!*x8S9a%aF?D#1vtg{f37aAPgw=2P zbkK`o9B6lJz`uCG=y4o&HyhLUxX?A*sm3V5Tir+sbMt_9#bQ)pNYiIn9lBJy1LDFI z5Knx8DV_4jny$;4QPVwem7rL?vK7|i1kN!GHTq_=kVhz^`GJF2(XhJxr*UoYn;bsU zG|23E+R&9c(ykR&7=9!(%RN{{I)mpYlyRD40e18-hSBPmDI}p>?YPR_aZVZ_D4im86=sR>R?9fV?;aW^}K86Y`9wiyai` zhFuB0*p%=?$B3l;P1{w~0ejGnmPSR65o~n_;-J^G*kc#HyU|O#$I@y`_K0ho9+lEa z0eMuCd-N*#Xx;wim>eo;_7)R^2jIt9-zuf+q77WR;uq53Gp1fG=3Y(jhx6n@Qc5~a z(j?FkyV7Z7_P!UB4-34&y}CA2Wc535k^nF`tx|K3u+DL!8AapNWY8$!k?v*IVgH8e zLR4h4_Vi?2y38V50Gn;DdCT5_`~=ghvn+rIG$9vp*gLp*ViFIg%z2&@@f=*Mv@qSj zrp_1-Z@VWGnf~N;Z=hI4I?T$_n8xpm0Tp9s=i{+uLI2BImv*)hr#;IQa{tJ&prknx z2QPGNi!1_ipGHPr(qR%&oKnG_!4) zd*CVl-cVmB_EkL%96L~-t?yB&-Sd*7;m;qJuY}~xS-edOt(2jyoF;qf5!-*7Bw<>F z&5TW+(R9*b5$Q0LCATo|+|KVH%#FE=hR22?X+MM>e1b~pVGIJH-HO3mf1>EA8p7cT zB;5pgkW0 zN1WwjscD$vB?JJkJPns|b6WnUicLXlqG#qtI%IqO+=;7y?IIfnl2YON|A(n}ZCBkDKDAx;IkWbWUCRArLQhGpT@j+p&` zSQ$=vWfp#%E+Trhv78f45b&hA-cc|L>l#N|&Mlz8tXwUqt~oKfdm!HIaMY-e)A9e1 zSswWR!{K}9)j@|ZEs%m4C!4VcokceMI-Y<_rc7jn)+|qMA!B{?!RC@P_dUTp@P$c^ zucr<~LVO#t#&irYdFd3ylokXKz%_6R?gXBAb=YLg32;JpIlD%1pMWf;%vDAqZo!=AN5(&GnRk>(M^D$ub(>;4g^MM2KjJf2;{ZM7+vBl_hjO~xwPbbir&8iOIq(t7 z7|E0!h8(b~{bn|_Q^02P3Jw|-M0@TQTA#m-+6JheX-r1__jZ0J(yhIVR*hcu1uXE5 zrk|st{b63J!bC%{0RJS=JBzl00h6b!la8etfxOioXs;QA{NfDF{pKT@F@J%B*sd&R zZM1v_3t(~pa8z_F_*JhmQXCPxM1_cpklFiAGpHsTy z!RE{n`qu7Z+@A!@y)Nd2nKF3#NF&G(qk3i>a%nP;pr5FEt}Y!XO}BRsJs2*!mB%>6 zP88!-&t_6WdwNca9!I&L13$af%D8;d&{_k!_HmXqN7`Dhx{PLqn>gdpHuJ9DUuIsW|wHIB46h}R-0ov;_FzA!BXWjM%k(fzo-|lRP6CYjH@3rHcExPkby)^la=;ran+5s!gYX%FG1Z8HQ#VRnUc< z4a}juKXE!94kY4HOpAdisG}PX;7xpIJ1VD0M0_=T;6O{B{ucVKg} z1^<#?h73KdJfIbwe#nh*nA~-w>R$k6tPvk_IEbcf1}Ln!%PvE~mN!tWoBsw{Sthmp zjA_8T>P{8`He#hiOKEaW_6apI4K>=AA|E*OKnze!QQtBfazq)?<(S_)%cC0ncY6jl zz+K`Yww_@(uAUB1yPl`yZad4MHqCM?uS3q0qScu=3_{9gMo#UBBU&?QxQ}>7IBXRe zyZTR$!etwiUcKz$LnMKy&G$63-2I}iifF6ffAx^XRCuZNzmfFTzV?(2EyTD=oS-p&S#wt-1L}ot4mECEGTYY5n$(9<&@^^p-Rp zFzi%}n#RsWBk+Uwx~!$)bd675j^c0^X3-Q;%|aY!RyN|bELOjCT&p0icEQvCj`MsN z9{|t3nN-$jzDZI1LlnU-ufskdE8MaZ8IeV&?W3(wcGH*-Pu%6>K`QT#9c~8>c={jJ zB2kSa-OFh0_igA=jo^!3CWX)nyI(fKh@_hW6cG<`;PVj({eFmxX~DJn zkwm$Bn*>eetD9I@2s6%?Igqz=0{Krky@WkAtVZ(MxNe^dllQt1vRayE1?CDgiCQYU zjT(tMxz{9`&+VZGqYvaFo8a_X9TC~cMxBHxFysWdw%-ooRyCsJaY~`sJrQL$?~L&F z$2Rxrqr?UTFm-t<0IT>j{Tv~65^`&gU#k$NLyP1tJqhTSr3}f(Qs=2@Y!$3&Eysj= z;cnA-ZPVWqH*?AMEB3gQxRLyxHLR3bO;$}Mi0?lH6gsWMJEeT?o6$()5a#spgocq` zyGFvv`v`}v;#oGA97fR6k3p-y;_7P^L3Hj03Tfq0`?!sdTdMqD>)kqH9r^-e9MN>0 zj}Gr(#qSPupQ~`uhU?p;pMuGywKzz+Y?tC7!)HCL2Q84=JV{ZFsJE&wb#@PIe0pT> z*vb$8>(VYDo_%Gk-?#6#!?4%KG!-sVumLd@N#WzYQ~Sj%aq4P4Vj1wQX?>uO)^iOsVUApV;Og?Sc$kmpV!psgZ}0;vILB> zJ+!%|f)j3r5iJ3^(N{UU`r`c!97SUmi7FBtLH0R2Cc*56+V|D|3U^d% zry8Tou%7BxHYEGSXdV$wu#=g=KAyZ3wmtqV%{VyX(sCG8Qg% zGTbZb;?a0}9B&!IO({t5T?;YL!b(^`j(L%Qf+`M^v%r0C5v#_hZApLhEVfY*h13Rxda!e2@0URcD+MiBQhs z_5>4a^qglL-!H8~vDAiq(tk7wcYPi1$m&kaQD_gBU(XQft%z&iZ~|#?C)ERZzw0?Y zBN}y*D2f%#-Q`eIFh%y-o-uCix3EQccMP@EqyC)Hlc4-l7i_bA5 zI>)QJ@NFgo8t{)E8xOd7-LXr;=3-(ff$Uz@)vKc#6`x9wy3gIY^v}3@sZ>Q#BoE(< z8SM0|w2?`XtHl*zI83?kWGi9TY3$E~B~Mi&_namHSZ@87A2x`=IA_>5peDeb-RMQpBI_ZV$)c^16+8#v&vxX#Z}%bo(HPSC`1GdoQzDPwWnHk`;itj(iSTaTuSS>&JNHsCu|% zSo_#ciACM41{%>|;=(@xojoEl^)B9oFJvks`fBRPn7*O@;~uZv(05UR#%MM^hw#kq zD&4XyTG7d%#m|_&pIPa?at2fs>MZ(Bh9Se;WYC3g?UTD3N|dw~;u}UM^nDZ7cbi}=hcl$=YpsG32J<1 z%GW51R$HEaXwI(ScB!mL;Pbi$bUJiYCZYsF@nX`^PItZ*vIK@**COrzjO_c-sm_K# zKF=cK37*7l8~|_LgtBuhfj4h|E7$7sJ+!Y=l9(pwK>uG~^a#H3^z$8dOj?<$U4~8S z6_|}kFu258`97R@8ehwxxqTFB+^g#)0_AWWy4Jmt=zl?cBdWgYs}L8}ZCVwWz=mEn zNR-5pd#r<|SwKan?pa$+N2Vt6FkevAH(qAP3Z`#Hs`!ig+z#k!cxlhPKMbl(1TNx4 zevDOqfGxnHn@6G6l31PfobXIbQ;~KFuK4;5 zZ0PCTNua}XRg9m&#tRgqJee1w_ycat&Y?3CnSw}TG@|8+x|R72$@mpJv1pzlWHGSP~E>tQ1L~1fehJ+proQ28trZqL8>R1;+nK4b z(^45TPip_`^tXit74@g)I87WIvzHerqqPCkC_TuBy1cN=zd`joB!-t&4O;Go)aW3Q zsgp~6?d+73pKe4{WU3)$&Vk_B$$yU*hTPPC_CyVf5iPCuTh5JFq_GL+7M*Y-z*KiK z9m(zsxSEV*T_I{5%Tx#4?5e8$h-f4u@faa3tR3Mgz0*1gQ>sJKq&9ryg1xM|K8T2J z=3-xPY4~c-^>Yo+ufAO*J*J+AVqZNTmWc3BJSX~=Zjokb7NWhrK217_68qfTxlr45 zUeR5E@Ze{fT%-9WqbQlMb{X8CPk{Ya+;xF(&gwB7XEvWngm8&jZIlY$6sO0abkLue zUc4X-M@S44Ug?Y~tzF=}{dAk~&IjS2P)X1pzC zA=q*F0})#QwSfCt5=yn@Ju_}*l2bkF>62LDeE0iM*;oddb@fI_^lMl!>zSg(Zk>cu%;Tn6grYbjV zRlCZ`gr+yrUJwdn*?vOB^wRvttLBAe)t3i$xtm_oDWTgRO`>m5{RT-ps`==#PL5DJ ztyvJTDFs6>QEVa6{!q7cFb9etc^NmrMXeEd<>U$`_NLiZBpw$2t|Kdn$VfYC{sG2Yc8-2KfZrhj7TcbOQCa#&b&LaPLr7B?XfYO564(QVOg zj3~(1SvquBmPz5Td3+zPE1<4@Tt#QZqRNI1Z1%xh&n^0Kv5Yn-FIw170ConVw!7g= zt1LHP??5BpUN<2#PPn2!54&>437TC zeU0+UoTHv$^|et=uMq5#w>i6p4t#%i1=X_e(Ukb<90rlXHWQUQPgw!okM|iuSBtEo zFs6N7b!y1De5tt@J)Q5ZZQ$|s9H@q?vK3Fccc%OQY! zxK6U>%-XLF5F;$ygK)8^HJB7yFx8b&pHYni)!B?_tS4i^suMOvSb;^%?z(7#MNNGz z>f@+Ip7SW39IWegS=D3c?<=c)K;ytwsdkCv-sMXw2it=2mBY+MbLhTQDHPp{xNtH1 zdi#LG^Vi))FvoaL%Fo~x>jF~+PrlFqalYJ^ZMme7vt3tMA|*GoZfANgi*@NoW~T2` zhaT2=M#|EOE5ZCe?4I zGtg+aRx8cSUP&i91a~6S$~j#3aQcMgMB=Uvkz)B$?P|DK7Pkr@+WPX+7i%s0GqgHR z^^2Gj-0gE>DhmJ%S5iO(`7}_doD?q?NRkbWA#F~u?laN-#L_SPtdxDMQjLh)F0PVN zTUg|NK(HKM17}p(Z2D4wm-^KBpg2lz6w49On5&7_SVYFPVaF+Pgm`|D+^Vn{k+xoL ziX?Pq@#0B=?S%_)eM&j`t8Q%?7Pz*$v8YnJ@$xa=*>`Zgh*ic5XxJhu)qYBlmg8Kd z<4|Tf6dia57GuvS2$mBN;FrB)AQVui@6}@mD9qg4<~^PG)xHcX7nq9e3z;D5=C6LA z1Col%Jft0UtT=-~A=?SBjQU=yNX6Er3~F~(L}q5X3H4ouxeL^=pehU8V_W^7@Iu^d zK4_fo;MTKDwS;FR9k^OWa-?FgG7rS+93v;VwsXeFlYnT)7m0WFO`7LMuC?}~riBN@+{DP=*>F;xc{@ADsENdBMB?U~ zD-z#W}odBSUCRRuMej{oTr-Rx2ct4=@_F5rIB``Eb^{Mlr8q; zjHSc;hGITtpLBPi2hY=Izg32320w03EiA6x9#B5w(PaRu_>97TIl}Z5zRir}Q9=i8 zv|7>O&wKwDj6Y+wTB>E}5Et*}cAyb;n=8O)P-A2*Dq}osn?!~NYvQ~IM752|C=F5@ zELQ9Ui^~I3fS@}4rvR}JxmY$(?Z}}=a#p75cl#{rwErQu0iUxKcHwm1Z zjKsMMW;JDRP~wZ`Z6qVh7l45x8Ql=SE&IQAB#b13sjb}|$aUEBp|T5^ec9b~wEJ&g zoNy|e5MPEKn6E@b9X$gY=mN1D3wMu^a%(T`%y|z*CEla0HK{(hGR=Xjt3xfCN1X0! zQ3k_VX?qhIAAt>|fe4N<9)7EW4M9Q4{}D4-`v9cbaJd?4tFY_h+rt4zT-v1OEA#kl zNZOyE#zE3f8(o<7jI#x;d!DL%Na~;jbZ^~g{q<#<@YqhB&mv={Lm+c|T9|ThmEE@T z8CsWis-imbuUh#p7{+pvx)-iVw-wf74os0cd+^;<)B<^~Yc(CQRe%T7YN7P~=xVpN zsliw)QU*Db0Z$Ta;B3n=l_Zxl)(+O(zNxJwl`j-K32y#ImLr-`&x-HJNj&3HngV!i zAI+DNLz!JGmx${~r#_&)O!nz&sUn$R;isS#w}|#7RPk$hV$`c)^&BPH4tvg_MV zFFmxPDLz5TlvA#L$BHH_5DLz@RLHFcgSwVqmqv=I%gk1c7pnl7?Kv zQ*L~hc+@3Y;@&|6a=hH7nyu+lPe7kW_vL-w-vjDrNmR$HF5iI=KY*jpDXP0?w3=#g>Bgx@7R_N#s2sQhW9w!b%8x6 zR#x7PwNz8>0eu*nZa&{-9CEC;-6O6p7FI=fL`rWKL>D8`IR*ilV-q8YyK68t5^!BN zGWZdgV;(Y0o;04(jDf@1O6|aem6_^Lr_AGYW^0fjei_YC3HqM@UJObO-w+4o4HHxi z!XR94%JJWTdVUtikxQ~nI41xVFu~5>rFNP*h>l~?U7#D^mO%{^KlhqBrNH!de<_@S z;e+T%9q5aI4pKel#C-B8YO~`@JJX0yTEuSsg4lC=CyRw0GlpvsZYWZhU*r%-UHiMbi9-7Z*YosgSOwT< zaa#nRuE^MW;(aGMw9-4wl)8E}V3Voa0z5 zaUmRgDbpeWrd?hTPd%hw2VMI=v`awnoh=7IdM*E8%5!5(^E7?smyJHVSygpE&Q=U9 z+J6)SaC@g7XV@i*b?*1L^e3#Yf>lLtEUhHk%>oV^g6LxBCChO4%l%^6>WXSD#pYQq z%fQ7hyi?LkFS3p!lCd4SG_q!pU?(@EwK%3DUj3L_uO1h97o^7)H8qy*+pi0)se zn*EIE91*>i)buXVKMhO|17b>Uf`od~u?Us5yd5?d3;h&Ssw^{qa7*2O71eM|lgM|E zN{PDCRYc>TNuSMEjEDZwWnjJwZne#eIo=m?V$Mm2hvXi>m5rbIZLd+C!%CuFWWm-C zups_YIsQQ+!foQ-j&hJ%s%W*=c~7yUgb0l7!Frmh%?&w1jSs1lY$I20U%)_b5`81G z?_1P7gu&{4fLr~Omr-Z?|1OupDT1NToxmvt6muomk(Ryd8PJ9Acqan+0t~M@>{H!L zp>>LygUsaz`3WWd8-)#;!+y;c#frhMjKjaelQeVno&TX&2IET1MgWzI?kTF)p(TtV z^`aq2>#e6tK|k8a7rK^6k{anO);D`2#+sW4Hc-`(Pu2Ei#*BFswx~prpHNMz9 zgp08XL^@^e!jwcam_r&05Hi5%6f^%h|5&5+Kw_W9w8;OdXH9?=1}g9$f3zj?sh(Tp zs*F9r*Ka4X4bQ&dV-LCL(#jgChJ}T-w~K(y%Nti$VfC8m6s1v8$aAnS!nYTnEgClB zr%9=5f_;P1AVD+Ny*X%_ei+nFmPp1c`-$f2(J%tJWF}@J-aB|W-wh{WxE$n1; zm?9(bJ!P@sNB)8^h$p8JkG@70j?N{Z-^{^a(o}%xhm~6^8jr!e3a}zU*UEL5&6Z!} zf$m@1x)7I|`_8^iOdck>K`T z3szlAsb2<7KiEhUm^d@Fh^9Y=4MF(C{iNGnSll<9N+c{@Es8p8#XjMVuj;!Q#Ew zfH6u$`c^W7PwVnWk`6Wfs{=XGdv^Q`<@;RH%Xvm_kXm<44|)N@uD}T|Ad**I$d;5) zTr{XpJJEIdt20m7O+}tz_4`%i#st^T@RRL8NBLOVqEN`|!z2W={BY)2z0%(LV3Y%W zfUmuieq}7-1^F|kuHt?MCS==ETDMw6bEN(D(mI){p<+4xV6bXKzSMf`4n&-mEoAvs zb&~E0ADw$@{S2zN*r%KsAO6oc@s`VeoP@7^7FgiTnp|r;*GwwrU_EvL{Yh9qrA2h7 zlAmbK9*xp9OHY>)$6dVLRe5qy1;@JFLLp+b*Q(~(VP^=oSDvJwiVWrzZ+OYUb#5o} z8PmA=MR8T#=-|Ng1Rzr5 z!^I8;`jUbKyuRy?>Ycb0g0I~M*NmI*w0)vRZ-e7!6r+$8r4h96Ef*r$h`Txj5z|^V zm${cNlsSPY3E!WM+&q)%=(PJKxXi;(AmarkHGC+IxawYEBe}O*bZp#6)JLas+vX!_ z*V7WlMB523zL;&aWDpizBZQz(dzjGFXKW)^$DXVC49qD8q-}d4PP;uAVNBpFoksiG zr#g2_96;^on490U`qSwQnZG0IA3SG;Uayjc??ERxT=(%5z$D#JGg`)@xCG0i^i>QJ@`pi?8Nvo&l@n=Zm6H`(StJZ24 znJh-`Ku=*Yf22IyPSYOb9AAq#C*;I!?CLO;lbuA?z#`$7}l6 z%Gzy?hm=LMU#B%Zm%*(_Z|8pVV@{OZq0oH)q>OQPXO2EY>D%#BtVO614n}p#AFxHI zb(8ZK>+_SL+td@}@wtcnN!2+S4nJY^x0GUEjwiPw6d7~&qKrBj`rg?-cKKFQMQ({O zd-uuIzP*n*hX8f4-BYq>FnI){tSs`&1Y{sM+CH@5c>Q^9y6)a7)*_Ne3u%!}ZEGdY$+tlm*7ad1FRn!h^i!#v?%ofU;dLus zd|IQ2$lzO1NHqOZPy9J#QK>H43)DLKA1>wXiCAHPhQZN3G+U4(r|Kli6Gh|b;@=_5 z;m1g0wE1%r`xDZLsc`cG?VG$nDe*?bSQZ>HeWcd9L7L48S2|fh7x$})^1Aw_f|Du! ztSO(t)bVMtN-W6-F6>cOrOb48JH~mYH41mh59CQq=cR(ax@-c&e{BE4J%afOr;l7j zU2Lgh5y(LBs@+vCL`I3Tg{AyV>YtZ!9#7RVLq(`K`&H2i#@gkz(Sy7+UZt4Sa{VoLjnNplY5edmy0 z<1t^Kw#0&PyLk}c`8!t$lH0RQVHECnTFQXs2!Fk=?_>eu;;Ca}eI(;&WC<467&Pvz zr8p4Wo1LL@k|n9il4uc1O}e9h?hOSq2KFK@CiMtY_DESFG|2G9S?0xONzYh1 zLjQ!aC|J1VIpjVW*O+fz`{Z)_d+xhJ3-Se+cz~htL5UEfm4=7V7^vf*w zge|KHOTAE`$|8J2JF!_c(RxB03WSDg)y`RbutBF=9Fw0B@%o#`&C(=n@XP zJ)60j`UgxA2JF481QrkDX0~Ifl!ScU7gsB!dp4PjE;KLR1`0i*evZXVMCR;KbM|zpcujaEiJ%_M#}M`J zZK6P!R~nvCX0WC?3Ri5KclA#oz1$Et5e0thg+KIlB%eGypBQWu)*I(ye1uMUt7dJ% zt$O3|-l)@N4fl@#A4s9MxgmjFT^s2<`ds5&U?Ape6n8wI+t(vt+rNvA#Eo#10tYG-_X06SbYl<&d@^_dvR5?C)`}SZ*hIYp>bFIS{Jim2Q$Lpmsg3*$>MgC0y;%JR z>McIx7}qBhQm1`M5m2Hg!v-<$&6Cgq^EDUbc!$-{+*Rzv_}bl3nU%_60t_HcCYj_o z*2Q1p8hz|yCVNQ^uw%1WPhGiRRQ482yD;J|+WD}>iwik)85-{Zp665*Aybokw!ow_ zW%-j%)-?;WxLD@m`;MoHSJl$$Xm)x}WlHrLFVu0Y<5c5OXhZ8T$XO6Z{z>IxcnPG+bPRR>-0=mkzq z%M3sBiYWE_fIS87EkKS zCXo@L2fBhYp6^k9`Q|v06^vY)xEr3z1HjYjG~y<+tW{^K&^j5HWElRb-ID-lN z(WJ`+_G?tmEK&`+DsAdX7p={nO$02C@p?_mns+>Xym>Nx-q2~ECdeoCj58f~#75)3 zKW@l20xq;ervW7dF*wZ9chfd^cYF$v?h8}mfjE6d*3i;b^g~{7!~WB6IuV&uvmAyl zjsp!6U>iGcs@F00;WWqBHK_RYRGIbxEK@8UE_ITjp*5McOFD2QG`-#pC9uN^X=Jf> zH#+S6wE( zc(&Vhaf4i>rN6zN<7meX-6J9fY~U)4jC;ubPu925Io?{H_1~VGv+#YHT&QnRaM>%s zVlWPx*$E_+Lk3>%5Q@*%Bk!m>SV6vvB0ddX6hcaMA_1I>3GB#1+3)%aCVPmTB@Cdw zwg)0$pr=B1#p$H)gdTwV9!!v5kpOJ}|7QNTOYpG)Lv>(M2D%?3n3`z9rZc zMxREBfXF=5jYj@ZoVgB{{iZ*JIcVBAZN9O&Rp_ocwwq@ZMC`T+z_DsN@kt_6WIeEE z*>%{m0oAi@c}}y)bq}!-5s3$Way0hq=v(6ySGgnHN`b3{2hx{un1bkiM%9K8?pIXI zqYcBd^>Qg6P`qg>J`zUPt{|CPnduC9h7H$D>6ZD)@ZqUHf%UZ5To&sj%}%CS#-O(# za6LFg^ks`{tVW@NK(0xAU=6$6yA`wmKaJH|7_HQRc?iAe@`NZeqv}YC9gh$OzmdXDJgMrX@z%0O<$~veaMb{)>V>8-UHmB44t5g(8J9u;ZN{^c>Kvz z^Zs&fK_GSc$;#!pF_E=RI8f!Z88~%!RF`?2-GZKm0kPsRqakv-Y7J{;TW~{QVGT3h z&x#(ayKTQ?>L`V(LJO{_1Dg41yO)RT=F&t(L0#$QE69l#@s3+>uql(RX{xR#uMf~9u=zqOFWx6RaWV-?Q_oeJCc8SqRGw*%A3qclKsx)WeYS%9p3Wam_{G;>?&J^Ro zL7Y}|g)>#ZhB?xB1Wk6h+~v+S=+eIvX`m$Ote<8Yx-m!})SaKm`kQ}!9&S`dw;9g? zyxdom2aQ@aBrf@ynW{CD94EX?#*jqk`}%4P6;-oViLXfGa7Z2NcF$h_K_7?<$L5MK zfD_`n>2AgTZNNV8br>BbaB(KaQCKQiVfN0+m4&TCq_MhxF~<~HpDv1l2)}EraD>vd zeUZd!Y*ZCR#6F~cDuZZ8ow8mjHVV~##R-$|Kw5&lqM!zjI+dcVGvk4{Ejc1Ixs&bN zDVMm4AL0Za+0@PiW^l&}WZnOZ;2+2L=;XC}HKfP&vdQ4Mk{z8p*;h4r3$$($OSyrq}A$ z*Nmk(!K0U~6!)i_H@^dEZ`!4zDNfEF??7jzU;hBq?ok+;G6_YAbV46az*d1u)x(-( z$UG!~YP4}C91KTpEW^J8+iv9VZUVtiZ2gK8>yWXqc`6>u;~KEXYvz<&MD!PzwWw(1 z8{vt==H@;1lor$P;Ds1kB_uyZ#Q44Cj;<5Yt+8kE^?Z`O*kD3L8rUc8u#+9qX1J4l zNQU84~4zLYdV&WP6h+Y*fCZFay`g($Ba?STJ6bnqJ-o-`wthSAXJa1m8={L&-jl zeX_20e1?pz9rW-HssXAl@elVi&!$O#g>ye0jzk^4 zn)-7ba=BWMF`$U&_#KX8uMJG9Zj(XD^;`D0nEH7-zBc0tRPw}Fht{_^p9uidIY}*( zx`Cb98Hb`Zh`_jVPVMD8rsmjlt@?b3RL4WUiD~~Jd2e+{L{{4Vh4qnLY8VhL18V|Y zEY-<2hN$P9aun#vE28gh5%3e&)xW>exLQUJmIjew*SK;g+%gN2#g?4H2vmbDw}QL+ zUJ<18r@a!v^lLV*qB!B)Nk)o`1CG_5F?9e(K)AmTUV`1%yz#AWlO3R)vd3zkQHZcl)4`@c8LMrm>=UdBC>PwVPswb> zwDp|Sl6P7rg1Vs7#w^SjhR;rTB+K19R^a!OB?fhNc5y@UH{NJpkEp5T#kV9DPF&L{ zinaUX;I8Km9V+_&a5RrAG=6exT~5@)Xx5$J$8*E`eRL_(MVK-I+t3_ulMB6DXz?%O zx^1D!t1C_V6T*PlB9T(c*Eyxgz~cE5D(dK?&t$VGRfYkiX5pW{%4|Yuuh=HjmmL(% zC@T^$gw?PlJ430+paUx**y-i^`1q16-d{+p#b3>g*7jaL%{diOTbo^?B0`HAQxV1> z&~ zL<=h{#B4*4Xw|X~D^Mtqn~|qgXYH$Ch#b^?%^PWb;(M~927Wd== z5sA6MEkPCaMAZ($+_Euwt`lB@ca53-ZHgE0cWey9lX01h^6t(8-ANpvknp zKUKjDp3wul;9dJ zbEU zJm6-JDvKvxst%WlW<<&lz}FujK~&q~3TM;UK=JQlDRy=A-$5n9y5~;U714{F?|tR* z4~>WHOMs|i7{q_-#3-hQH@|LQMXRIWEic*KW}+2f#4uPdMZVy>-mu<3`SxgQ-!)}XwvPiZEHfHB8A8SGuw!Dfj~JN0-D zBK10`Q4nR7`ylDKxe^M`cbO%ODJZeigy*7(U{vah839qJI=ig(2i62m?Q8wo!fF|@ zu@5s>LK@mQqC#9QpkJ$r81(F5Hu(K-k zh&%SQ3dF6>Db5!+3~aNJ{JFv+f!;TWh=~Md=(a!F6Yf?UwUkZbAuU-;h|mz8e-u8; zHBI}F{ur4WDP|M%UthsA!Kw>JV(!SPy9TS+M@2I@n`AQmi@WhS#{io}HExXAOax@? zLxWYi)C6l2WLCxj13XrvAKY&~#7}VTK|xWB7k)`*97G56V5@i3T&+kiSp&`?W(rQ- z${}2E<2Se{B!&u~ImjSHxEgF{WZ)>`X1Bg{+`Z=~M z?}*NRxOpitb4i<3Az{ZNA%v1(FP6*G>5%Xvco?Cw= zq-$6j$(L{$MUa!7N1w3?PfS!y6BVbw$i?C`blBg{es=QOdPjElG<0?H ztxag6X}l&`YnsOViXDQ#afAULE~chU#@-Dt5vQ7I^jMR;<7vCA>*(W+dq<-f z&k@tEIR!o#Ugm5|AGEPbY`F?-&MgOoG>EqviIgu2f#PYDnCnp528C?vD50mSJ4k^z zW!_{}3m4n9x@<4o${`zd7KWkE6GE+H`Np9WPygD;+FQdA*k(P$FOElh8QQuva(0o# zKRnN66eo1eu5|`xoBnt#PthVn5vYE$J``1-(i|;qV=irncL&+JPd~AMqdM&Zqvoy- z3y%|?z={oTBr>-tG(#}YrkMW@Y3q+ld0UPT*JCF2FH7FNSW$+EaQtB0)Q`5L+z|Mm z9E%dnm-s^O=Hd7Umf^TGB`G;AVk41E#fIa&8q7({8Y7tlQ#H}E z6U>wAq;tAAhstXQY0Byz48yo)b#xt!MdBQ`Q;im*foEtjmS-=KASbwPv}zGofJWMM zF|oq-{jiBc#8-6-YaM5Cu>*IyJO zD}&nqNRUL;JPt0A7I{aeJ$jbqmUWB_N~84gw`heM>_ZcEAD6q3wmN%^RR077I;^4k ziK?9)$cqP`DcZla(-JNu@3D4$QV0HzC)>CVJvwo9;k+7DDXAShtvV?ZJiZ<@PDOkl zExG?7m@BS^__?yAPmgI@xr3UG4>QcDBwb-d1Be_hPN;$BItw&am2uDCAR&!q$xk%x zP-jLX8_Tze$e6`fdPaK(h^cCYZIow_g`ck}izH`)2PfjN$2F2yX0G8Y_jf=I;B$%2 zm>^b84(8xY#@cb0^n?Ri<1uW;C7>)m9O2b6wwoIN$!+hAz z%NjARlbIs!2-jg1T^w0x9_yI;or1EY^@hN5!bz(x9{5DY@F)_=eWXa*%oNA&aMxbQ z@tQ?b_yNx^ESC);S(%>h_5#pLMlm($EOC@pBvkJ=<{eG#X+U_t?PYI-lIm*58!71Q z`~tLyUGFC0A8rLnW%pyY=b2mQ|2>>uBZ=3Di1Z{U2AeE?+W_yz0b`Aos;z;jW}u(D zFp}zShpWXoX90AWrX=Kr;~M|y6TPywkR=%DMSfAgFxDw`mAkY1Kd*>6 zjP-HU-1{<6Fh7yBmyM`NeWyeFq?Z{7V%*0Ea+Hy(o{BzQ$~xv7l7Th(1%bXNB(@*d33x-+lgK$l)-W?VC^d)!<%ak#>p0(Tc#t}mha4fcuMEz<~TL6oAJnPc3Sljguro)j$cch7!6hl(N zWM!mm$smoy$FH2N#PcrmNRwvg4RZnDEClR-q)G+U%5d==p;t~;kPINO%!&lownvvv z`O2VX93YU!w9>AW%6`WH2!9#qiz{EBhmap1rAiO11CmM`b+4XjIOMBQm*b2__q&Ka_nj z7+7(KbBs|uyvY2gdDsEvj7RfWjMjfrUSR-pYskH0t4;O$5)G0++uY@AOE?C(jV_>i zqxBSKEO!bYD!rQ&h8~((yg9|%(su}3e>@5Lr<@$@Y#&j^)zk5R=x9`P3fwm}XQO6s zN)jd}Qs9r6pAY@G)8gI%wO;OQ*&DM=Q=R%lWufk?tCvZEZ{VYNLH$VY*VLr_Wl1U8 z5a6#_$`5#|2ZW33-fp<_29fwSQY4#m8p%)wF9ShxPBSl-lUgv{;Y8MMtfuopki>`f z>+c;-)5N*X_E{F_y7%9%|L|Ii>M$AD|BppBN+J)i22{x*ZNq254;>3-%G+Q2(3?T> zxb4a`8;?Yj%*^H|wEm<>+6=Kr8>Yr`GI*49nSGH3br9>cq^w!8L$(3>SWBUU{oBU% zSenfLb&|6YqF5)IjWDu?zd#OXV%EeD1@COAjf_kEF)T4*S}cAPxwH)PG6w|eq6Jj@ z(r;=Tv;5Dd3qLWz!n)lok3hq$`&5fVdyH?@q;n#EkP15f7y*u1@lQytz&+dCWMAw` zWpJ`DgSJ)}d>=M6kFzaPcuUs1ZvJuBsYo_gG9+1-<*WDZ0X3xkRh6qz9reV5NI)dS zXG4MJNHkt6sk$`S7`w>|+}RD51hlw7aJCI57clFZeNb^JNPvgjE0OdYS-Wwo3hp== z&u$T}#4@NPZT>WuB4~7X%B~KzYyaXLXQ`Tz+J}C952D$`#FfgdMDAx}+?Lp{xqjw; z319Z?apM`0Cr6Q)M4nb`iy2& zg6y~}8lGg60mWpMi|Vi0h5u1}EpB}wVWKO2dDiv7a(_yV6v>o*Wb3T3PM3W;UxPl0 zApjP2cURs?7j~*gCn0)Qup^z3D<9^kQ3b8-)>m;Mpnv@1XjwRGi2vJ-zdxMAD>Ph6odub)T{|Vr6BBQ0QP@ED;6e(WThlX?8Juem&uCL5=tEeBlB3Q9i9?PUA})m}BokW4X{ zvOef~oyc>Rt3T1I*eS+3uqX2MCVd|xV3Q)_mLDom{|>M_l$^JNfs%S$*YQ)2?z!}i zZR=-BbjV|(!0Zej?Tr&y3X6j6`JjclvP-YVqrfH3>`gbp;76LM;IGp5D+~c|Gh>(8 z;$cv7;4^D1buFS?5{GpwM6a1_vD9YmI8|}s^zA} zj70W#R5x;F#B}2{M0k=8;Mk}$XI_T%^&wjBu!r6tSFT305omj`72e_Wi4y$C6Fk;_ zJ}b8>3S;8cziHUCkgKHf+>uT;0Otf9Xr2=Z!L*KzrJCTBjS^r(EHz4=F^l<$uH)Xs zkYwUxJZYts-Yl}tH^t>rnAnc2B|4p}1#Gm%%gqUn&%5lSZ+XYiEYB}284E@Aa5PdL`dA2|n#0 zGV1J-1ZR4k$nhB^I^XH| zcpBK9!yPxMS&voe6Z}Gxdqk>DP@=?U_>xS=Q?VnTK^IpZe=BKc;URBc?;9)Js0GZi zN@{>{1KV&%(#lcAo_9}oz!F+EM=E%1(SKgj(qS9Kq1d2snx`%>NYh~e0^@9%0ylf? zBdSCt>qx|GKDrP5nw!?#49HT;khw{9Mfz2zVjff19?pfr;z+ zom%Us55=Dz+TNek@nIUB>U6C^CIew(p1qiOO}6ZjzRTigYXy_({t6Y)%JvHk?(y_f zl%)+g`$wR562<2AC~0DGP~fud<>@p*RIRg2N5no2)X#zhuk4uKx+F zzkB8Dd}kyJ?Iwt)mL^NfLaSR1$8hRuG`=}HJIT8z8q+2JXFO7F;i~M$9p>c0*&eckyp^N1 zZQYHvjs@8}7xZKkGcZoDYp%tpWeKLzFSnzG(Ijgl3}FQKF&vN=={A`j?wBk^+-BAh zZ`ZOJhA?Y|?zIZz1ZzbR-gEfLJDl2HIZ-BYD2Qr)V!9{!6xw_^?XCDR{uWth_D-P) zN5$4;_2YlLK=Pje+@ zsj`^*I`s;#;zu-Bd*|Rzo>F=r`~Wn0uZb@82ig5_1k*Rs9l@x6{?%seR1rF3pyD}kq^_Zovs7>rXho%zTOsC^-7ld$qM+8=KP5neS z32mXf#z0a`cNfm%NQ3Y)_!cF&W${y#&^n1Ypwwd^5Xuue^{*+4VmeyhhC9hw$;Mp4 zMc@K8aNiv5T;m#jD>6i;MN*D4?36clB?up14ZV$dDfB{Bu%jM>&KmvVd3L+L<0rWG z4T?jFT87nbJHV&OCSATop17}<*4`yu-)T%p?{IrLu5yL?y>VM0EpdxOndjjaG>@fk z-&Z+YKUGU*0PN6Ci4A)W0I%b#DxTIfqkqLw`nT1FCYmdbiYrcI0e@(9d>ee9ZvISB z679idP_TGEHY5?9j24e}(pILw+%ZY|;0NBpwLBy;C0ZUsUdxuy1mnoP@opK$j zzOy850Uu%FJhBKi00rnZTna|*5nnTgDZ_9HQrz~T4S0uBTR3N%5!zHFA%O;^|G91t zIMm~-N)$yCUO>iZzCD+e$`GTfxU*azy+AssSX!bKo03f*@J?6!U{HMf-M3?oB`RaC z@iJf$1jfYR*c<=QlVkMxLez}m9k>YS;>XvBN3r!9F5P=e7dDQIyv&QrLc6{>BRRun z-@IZ!^E#EzejM>@ug4k|2wf(ZJdHbTbi|erRqi*@Z+Pu!HTy>q`-Yq=!s5{aKO9$? zORS#S<5(@bZ8aG@OiDUT3wQI|h==VB)jOK2rG*{MZL|pu(G8wyvR67-r;Oek$PE)H zQ!YXD(k01zN*~zI%r@U`A71hFuddBf_*%TafGV2&@sQCEH__%;XKIwmLa)A*PFae= zZ5c8epaxey?D|naDXxC~iehK7F}HaVPna=JhK!& z%BMD04{7TUOQ|19=kT|y|Adc;H+sGK(Fh5kw*f!!hL*H};nXN3X+~V5h-oag1AUfT z+gu_-6btdY%3U%3MAwhGR$&GvaR5t~qZ2cv)Y`rD*eHf|R=d-Qd0$9|tM+Mdd@G}WK_S-B{lRvd_N zDIBiP(1f>0lizeCbk3LeOFJ4xFElutBcntANj|1*?oU=k6&mEwcVwkMsy0o@lmBc~ z<SvhS$Q)|($|JL%)QV%8Vsd}Niz zN;t5004+1CZc`6$F2nSPBhrzM^0?Wxb6(@)#{bix5Lk z^mBE^|LmsKO1-`~6+G@)OkV~o4J&LDYXp)~yuGYst*?5MIIbQCc^qp=Ps>b)%%zUR zHMx}Gbp61~l*Ti!_uwSUzSD%vve+B-SH-Lav-Lr*2$!U^NFJu~ddM}Vx=#gn@H#JS z_?OUNUHcNN+vRi)4=bw6hj}~FOGjRO?jYPLc(kH$vL2CNOCe*f09X&xL9(A zJX4MV{^m%tN_kGE#^9ebIYrP{E8s+8Mqxy&lKf;ogat>48lk^|S0oXlm8TlMFX>A#7?02Xy&@G$@dM zfk3-d|DG(hkYJY~Id^JJb}qxe3AltyR>(5Jyr+O8FXpYsm$x{Q^&L%ZXGxq(rLI9b zLFy%P@k2-=X;%=<(|JPzvP>4hq8hut7UZ@l_a;VyoCA`%(5&ykS}G9r@&L>_$xmoM zGfi=doHiUzn8kcFx)L)!L`MfoR?7HeU$4GC|Ef~}1VH7nRV7(}^@MR|E60Or+U_KQ zzr-eb&4`rV+VW^&`XE*!1Cb8$fC_V)BO6g4r9ozj)o-A8VC{-)W|A!SpSM_vWV4Gq zijsA5env{A-(`^67LzO9s?>7s-m58`q#yg*JBA(v5+}%|m3@E@^+ST`8nk)om7xIoz7)&!5wXYch-O!SB_ zGS%LA_sY=+OOAnZd53njZwzuJa_rZ@{A*QNT);rv95)(|7q3iO0x0hJgo>>iiZR1) zfgRz8NBtd5yU$dZaba6&Av1+Z4JO`A4P&1l4#oA zEuJQ)j4P%NCaTw~qfF%t7VlB}ahh{MN5^4sRLh{6=C$U&ik4$`Uw=@MfItk~V20@A zm7d2|D1lnKE^SRs&pt8z2Wf%p&taLUnMP4Iuqa?tkm+K>rV$-U1eE!t z-2M)&FH<2{9#S!Qz}&pki?>c12afu?WD#aNp&@>gTYRJE$VlrP#tNL#9}2;){Y{U7 zO=UrT%-}BK#=D#)yDp}xLx@c;mPye=)0oK4apOz^D;Wa#FOONVw2lZyWokk##n2lE zG%jo=yDJ&TdegpOw5>{npsNpvfW3?ISDu4P7 zj>M4JMKQpM5P!IE#s}ISwS|8hi>AnJMQK8;-!M)B&HVzZ~!rTh7jL)dAnqWJcVe z*F#4wUOfOaqsPpYbw<{O4UYurhskyiD);B3u?Wh0#;BJ@-8pGyH8kwBu#_XFHLa(Z zN4Yq|a)UJbFwns98$ReKq;`eqC19w302c3WT;yz24&5jPUbP$X>R88{l}6*%4mQua zpPb_#W5_5o0Ty)9ACnP~M9ACTkg%WFIvy5&B)R_o)msDE^yHu>^B7!&jb z>=t2Fxw#iLqq4>H{NAy&DiV67=0%2{Pc%xjv(GI15c~WxseA~KaWf4e6XZmf({3S# zipw*a&(OZ>ThQnZr4{|Ba(6^M8M6E#zkT^H#|t-3`|c2`bO~CQj6#Fs2y+^3gTfy_ze$A7*JumRYW$PQ9@f*qA4ur%b$A6yyU2^Y-}D%1kuRw2X(h&*+4r&>m5?BXsgmT*oeVffRIqm zsP*q@Wc-!2sTpN2N-!-O^~mAIaB;pQU_a!ASqViyWA-ZVh-!P=>OIPyYEfMg`&51u z?g{jPhBOeKS!U=QXBwWFPx&@kmKubLsgTXr-$C_#G7L))MJc!3D*VrJRVWm zMjI5j2qw7`PyqcJ3b1sWyTp$t4#>kd9-LF2Wf=NQ0p8*D@33o`JdPx1+zW$H7L~|8 zVZVw53kQ)#u-CF0EF!wxed$XYy74d3C;k4lRYdSBch*BLXPZ=kiB5)e?3VN2y!_d#P;G`*e`y^=-Ve942u0ia=Y+r-qn+NfcN-v#4&jQfCe z?5^DV2j_0_8xgx!v<0{NHI-0ky{xS*UGG!v*t9W?86iny&&0w{UDtvdj2W-I=DmAwiys zRAyg890F`=l5pK-=2Lu`eRX^3u0G73F8CAKY-_!QopSVN!Gf)y>$*;ks&N|FEIm21 zRO*(G!$c5Ue@H@-oJfB>Us!5OF}t}AG`c4Bo(t89bKJ>UYh&AKRTMUz@S6dbI63+q zQEE5ZrIZcAZQ9Ko=xf$Enm0{Pl{Oq$pBg7zw`TE&NUh05iqMQevB)9!CzXzTSb6QUn9sCNV`JdQ&y4Fc2i+H zFc$^v(q|=?9wRu5?KV%l7>sC1J+OXer5|rHHxti!O(SdH z(RhQmask<0I=zvUp1+Y1#&V!=1y^W3nFY%Cmo|^0$*r2bRB59!R9troW!U)BFYL)1^!#c&w5P zQzPhzFVM~?PnS_n$Hm5NK2Ubid|rz=_PnF1Ef`5pt&tKw2SJuKiVgg zu{hvN)@({5wM#cPc?Z|_5!-rCNwTky;s!fr8nH6>5&D3r5>q8!eC#J0f+qSkKq@rRbPqx43E$9Y_trZ=9#Q~Fj+5Ry3@$dTas zwe9KAZ2hRWX$ezzKRhDD#)aWx*l~fLvwPql9W86nX_%ot!Zlf0RZJ7aT|eG9j}}~x zckVoUO1Np2t9h6R;XY)OGiY{u4oJZ6?z6&}do@`Yfk}X2k55}SIimi$_4RPtq-29p ziM#a6dO`YrnJ?@z?L}(Y-3iPn1}|vZ4rBTQ$<|2H{TigiS+xls+pQ||aA_gg>+ufo zYG0;Em9TGyHv$6W^F&J?M&!O6c#`aArs&ma02xHbZ1TXYtnm1)DO`u-<_=8;1}{Im%G3Mo=Ugd zQajm+h9&(<%W8k8^oK6cM z5cKRbbNPu$4Z@a`!!wZCdHQutCfSM#I!WAQ&)6MT^^;wSi5sE`7uj`qe}Vyrxx#3) z;V)F$WA4NTun%BO)D-% zvXpX5a*#;@!sCk>@tS=+m?p|KbKGl!amDG*+iW!{=J8h!AfC3R*dCKgAH#C6DcMZ; zoK}+^pMeEibz-GSn$_4CqNE$;C16Q50@hDF?M~4@WMg#hF228k{A45l2+U|XyG*=P zZ2rLG8+Q)T)}t6d5h}GnDv>MNh1~K>)ZxQL{vF)4_9IQ=Rt@(&D&VVV5m~7%;>0m* zR}1EfK0X2CI7U_MbQqQmEH^9oZ4e$j7%sH__J2y6P?$M(3TU0tOtefyUE+yf#_qPK zsEpvOk%*jKrt;w@njVfu-`FY*765l#Tpj6n42yvAy!}wo3UCwL#<9HSb`O8Vu|~cR z_hwoxuefR>b#0wd>CWBa#77Z1z9Tj|WwIE~XgC;};LLJ+9t&WVC(%_Kj46&dK+X@( z+&iT9sNhp>${*RilkmWcTE~3hm9}R+7%fI8rTD*$>*^V&=kB<~s$N)jY~}Vj`vdkj zArgPXOYIGmS0(j^)%Q)z@sR;b(stnWbF#T()<&V83BwpJf1B!mb6D74(=M6RCi!$ zkU$gajT@fUdOSW=B57>3;{S(_Z{)~L-cq&-kIrQI5`qS;Oy+suLg`;w8<_BiUTt4^^*UFAbTz2A|Zs*#U9udnWw5O?PZon2NUEOB2 zSRbTvmG}zRVYK26-_uks7L$toimRnZsFG+4k4j{lwsDjlp&Y& z^;@u0;q))-o|3G)Bcl%pHe|gAu-4$NlVdDkl7h_XB%o6fs2oN1%6Isvo&b4H?r-^y zs<-@&CV9?XNT2`tV_;OW&i<8%4uNlQz?Aew?L~{6O-=Kxa}KQt>f(ml=nDh^? zY(low-333+Ugz^7LXGm7i)^VT7r*#B(Zj6+<(+uoY@H%o-hPo%t)RyGy!MH!z5HTH z?yJv9<3Dkbz4{ce4X6f21ehv+GMUeO)>6hbQPm zyz0Yv=&ZwvaT+t52{(?~3ufHk`aCVLc9%5LB-&ZVC*)VA*<6TH8@Icg1FSmOt{Mn1 z@m5aol0*$SR{K?oE7pv^Luwjb8+=LaW1{}C)5LrxULa>_vIUHjWRD*cl$s`u#Zt0K z8G=^LUM}E)1-9D&A@8^v6lcp?Ri?!%S9Gqcqkao*m{I*?Qu$nUZA)n=C`MOL5BLy6{o!pR^B$q&CbrUxR1;gI$A7;Yb?gnvr@*_F&-g&+uN#%5G(c456kx_U_Z*TTE4W@9hI ztmuTz#faNR(9@w_zsZ~Nn!4B`UioeUcoITdS((MKQwNB=QD_&DAk3hWVca-fXO#G}wg!sICQ*k}++uu_cQpMqV?csg>6l$;s5U8H zA52S!9)l1T)8I*4_;Iapn;9;MR5v-f{e;q5$VQdq*iHRe*IybaOQ>aKnIuaD(JO8@ z#hm3>CI_gbX6!T}Ml_+mtq*($qVGN+7IXow>1G9=iHIbNt2Y&Fj>c0kUlX`gF3MB95hE3ihMUtGWB z6--Z-qEB8je;lt$;v^hSu{jt=TA?9?{%KUHw!V2T=r-9N#7VwY6EpQ-BBga;P-%%9 zNt{V&Y7-#Gv0@DxXx~O7d=+1=?PS#5^}Oiq_QiGSg(=v|r4Hk8}J5Ja9fYyfRw{G(^N zL_@hl{qhR>4=Xyn7H)M`TFT5QGi@%S#g;hN8=zI|PiQSoi8>jFajdxHa&}oS(N^v@ z)GDYvxFttp2fOUNbm?teQOfln^X(Q(4@TBG#qkdb<*hpNaIV?Iev|X`U?U)9$+h6}~>Fuf5|qdpfH9yiAG`+6qUNcHUliLOjqvz1qigOkRP1qEy5?XsX3oj?5E6 zkn{&9@Uuoya6Kda2drCEgD#KI%Wm#v?;DZiF3sM%{07!c-!Sy-Un&o_RQ)|xlC8@&X>HP^xo@MQrJeLV^s zEe>jLy-TJV(bBh9;|F6&nEUrPsS+h>G26dmYc|j%RolF0$h|_xvD5YrrycS}q6F(W zao;(-s}W5&eI9POYC%K(3`eg4p$6WMMos%~0rMa6T*l#}kK8_$*V3)0|`3Y?zkUJD5Hm6r-{>Ym=K1#c(OlM4JtKWZaf+ zZB+GI4eCvb6EmrHMdx(MfcV(}fg`wzt?hrJ>W@fS`~XI7Y)zI$@n}bP^2d?{Y|Pj> zW}s)|%$x{sxC^kVP^{(_E^#7K~X6GpDG{ z({(*-Od-Z>j`$l^%K$JbcQlcbS0$0M*GaS(rq4i*6lOf8MPJofx*rrn#K9VkBaKzX z(>=UnIr?{Ywy7Z8hdY-g=E9Ym?ZHfmBRW<`JG_``m0X4nm%T2zG%~p7-RHAdddHFb z`&A|N1yss8!jf+{&EWWBhH2A~4w*bhXCYXCx_~WR{|;2~r)50(Vxd|2&nHxR3cC6> zXVR9%TrN#M+-21g^N|OX^tE|YF(g}ji^KHC@vf)z<-Z6EkudOR~S4^&U_R zFO#o9e9>ib$l7xJ$>9BduYQ7S?it%9P&e<%q|R-VzXFe7(&pZLOM70t z{HDyqeK(RdGQx}TT7JUl=ZfTg`7M#qzj(A=cd$Kaq%8@aWtWD^*iCuf-mvH}6V`&t z>0ugj?@)RdB2FbT)5mmc?)nBdr)m7jG-Z|uOcigV$?!LUl6NfUaY{FH6b<0#;{6$< zUki=JTgOg{T8ScG^`Rppz=&y#!PQY(SiAGA3sV|Ti`<6U_=6PNps|k+=}Y3# zca~O_+K7rpB{`~E;DqsaE_a(MMYh>Cwb?)h4D`!sU5p?=2|qLQa($ ze4)>82gMN?>hYW7+=9e16;!lV;?0?$=@sDl;nKoCVfC|3*2cTRCv0+pzs%yU0AAXy zXefXI92Id^UQC+_YVLfWE?&n6WATop%>WWy$}FF_abwU$!ag1;kJXNoNp@-Ba;R}= znFifE3$y2#NNVUm)Dt5;#k*Hp7%gevJ9g+ z9c#H}C0Fj=8qH|?s&y4#6P-=sQG$25+`>tSFCTIgrlhmdm1Oo@*+}MyFUtA{ zqN_S(b&Jfuy5kgOzw8}aTjnG&C?VH8Plf&knBKTgF!){EJ(hW+8_}M!G%)M1jjm~= z+o($Nf2D3>X)N>vi}DbFcc@`P#(Iu~yh8jW?R;I)TaR&W#`tXP3A6$jZ3~nCX?O9C zr14#nSd@^Vz2#w$5Y0%k-uRDehm`FNB37F5wmB?04lt$cT_GH&3}j4oL_D?D0Z$`TV9GbWiTxVKQevQox)iV_Xs`xcy}y?#m zIFL{mS6kT-W?k;=2<7R&A5_~(BvB{#CWLOS$%a97+{t5y1{D!TYt&)x$y5hr&` z+-34_2O?PAB`f|ycG%TBnwA5^o`l^0>4mrp$vMb)0y-s-#V?ez$QT2n`1QrcRR}$6!<=N}5$S#0ttr3P(d;P~ zlWC$~Vy8Z4nDLEcuRV7D*f%?904m#MEZBEIO`z5QiTY<>~790`1)ZypiPKdQ=d}#l+9F_ z3#8c6Q*+c$PTqy|YU%+gcLV+KL?BQn1LOQ4g>}DY;~xFHfW$Q6`(j z)+{3C^WDB<=_g#{65RDhVoo%XHf#mZxtL>DWR!~Q-SFbc0L!OQAfrg5UEtKdnxD>3 zFs%p>C4s@z8pn6=YtZCHPyR7flJXZ&Gv{Hq!seRrKC8m1FuiC|3*`)+>_Q>}V3aN>rp>{}g?=xH)V@ z%xEK8MS0&Mca=@8;1s+`->jGhQPiU%vi30bm9 zyBA1|myrQlCQnYX1U+E4LzF9zR{J}UUi!kZ%$s&`1F4z7K^4^W?^JzIy{snBx1;5m zSG!_y)mvP)Cw@C;@gW*9n6aVGPeA>vQ!)o8HBk_DjsaGhH_sV+E_5=Y2Q>j!ErbjM zk^tZ5dirLbj(9UQG>!S9q&U7L4i#G8>NJ)m+p@zKrIB3B;q4EUXM9fcc@px(*+7ky zHjw~JK(xO|!BYW8HZLeJUf9aiGz~j#sQ}*yup7Efd`{@b+hsK;sX_?(!$L*5Qe3`DPREd9qQ|5PVcGz?Poo z^kh=z7O@dN*sB;QJuuH1R*sx5BkD%wHV=bgJ*2DK6sTh3kN36T*r8ja_Y#o z>&NWl^d;vzriOn@jcdv1&IUJN$gR7Kv*9ur&_Xje&A3DWg)A;jOM7`uR^HN~+P~y6 z70%JmbSp_NfSZ%66n`&@9N#@{t3)KKaVVKI=eTYSo&&ZEktZkVNo4$pyl>0n4LDLH zetYik82ico!gxpJoE^$k;)fy&Fi_toVj?aC3v1bRVA*FpN>n5XyQP03X*E+8U=Z(E zLmo%bh76^_Xb;M7bM}<3iF?gu;TdfzURli==B1!R;&KV^fEpGj<;IeymmN)GX1NlF z^L87o(mcK<*D#bxUz!jp+J$(?)k@u{fc9l7Rd-e}1mm}_Q=tHkG3s*j z@jAg6nLrfA?u)snmNXCf-hnlKb1L`ta-X!3nRuVu?7={+h6Rit#`SI+B@B|538@Q5 zXJ2e{2VQXhG^g)jH8=QFS`p59cD6l&D$vjNqcmcys&Mpa4l^SEhv@1$6;|psqiwZ> z%85P!5BYF(lK?>SQuHUnR%;ej;ni2{O~+?7LG_YU9*-fQ^kAzoO=%jJae6jZWap5B zg@?QTj0}4ujn9-sx7-=fZG+?@LxySd1SKM zc}LVQ;nIdG+(6z5MN^FA&d@PZ1n?%8WBJ1Cp zM&fO8;GDD~I-iYJbj8_8W@*2;v{Pp_%#*{!Jlbjp%14LGzN2dIpjek>osiU;tE?Bg zf_*tjZeV&8b?xPTsQ78d%d}Z>g68_Q=LtmsfMlu>VI)mtV-F6qu%@G(M7sp{ZEJCK zcNf^AHS(uWk$hEnDb2c)Tf_+dYBw7Uh`C0dSlnI(CQ-%tBM6#709 zQPzO->MGq_dSgeQufvr=;t|ffjduWj=Om^jjDP3)(b5&_-5YbI-V$K0cc8e^QV3Y~ zi863?gE*9AVGd6&J80ccgzQ&jseeUBcVnGBXz()0ULa^-INSE{WbEuTKX@Z;NEvN0 zI~}AUehZX4o>ngD9~O{&@i&Lv$R7*lm2_4fvohUh_XuEO$=V-tPa>T==a5V?DNI2*6 zWiHSo>D?t1OKiD(W}Db*`1A||>m^$@ibJ8i6&83)7$Uzn4=g6Ye#~%XFih6Gn&=UM2&HcX*}0dTo?@3BJ(l2FQpKEQ)Dh&5WnwoTh%%V*)(+s< z#p@zw;X}&s^TC;5Oi<)h@_GF$n0CxXw*=zut@fXM>EgU@xB5}f;Tz(){Q z5gftA=2-8TTJn8r*`ur85MIvuH$D0WQ+KyH0FnVhzA2%MalQ{U-3%ka~n`3F89ljLQ(=np3A<`EKB*X8Q( zUDJi#Cwp090-J7=p0b{rG!ODVIMErxbn@a)k`;_l*5zq1BZvKJi??{X{ZYDF#f^V~ z2`l_D2sz^Z8(TSbgutflGm^a_*53`Yay&ds*Ors?VPt7v7Hk68&H8Vz_&Q1!?&Z!z z){3?0F1gmN9WF3Fp4%_-YjL9i<{py|Cdb=x*cru(4^i?Axj=*U{OGE9)Or^ zt;mS`(MRn#Ss;3@w{%c^8tsO`$dBk*kEwA})0c;(eA}ELBp;pPFC;(7XMJF*lRXku z-f}I;UD@PIWAqNCe^;%>M$*;rGzsmt$j6V2hfZRAKY25K_NWzPmGmfW-)#Fbv~|F@ z?D4?-PZG`M_hIf#9r%?X>#Ukq|7hD)jRf)Ee(bcP1exwTHXczFkL<mXw7>mRWmnTu}TGVkr`s1`F*%WS83ng;u z*&L$NRXZ_(<+A~^vj{LQ6WH_s)=9^k>2?A@Jw_)5ZDurm%mIo0ee#n@s2ETEIK;K! zq6%ukDP{9P?_NM2^vU<~@%vbpxY`?-b=w@EYf_9z&&;hZembkvY(6|S?{IX8b}=n! znUSscnK#?sgZXJ+CuvNg1$-x>-ze8G2D+3Iq}i$=AS;7Y{~#WnTIIoT7v<7;vm zJ5)=G()H3Ko6pAI9##$4}onA2JDX_>$7q&OEN7W-zqshs5YbAJIzvJM)#C>Z-A=NTA_T+ z>cLVwr1oV%EjZxQMnEO;u?&7Z-eM2s;U}1@1=A8Yr~7d7FH`&#Rn^CWtpT`}WR|aJ zJUGIUN6Jq(NLM2Ro$Iv21PmP?GySm9dThC$Y|=L(w{F3(`_imniEi6)wUJ)gpK#M6 zeQeVglxRw-oAey)R9p;;-@4d3ry`5qUZzN| zqaJEwKzm!?VKm8}T|7$&Hu3k3^p1>0d>^-Q?4{#emUUom;$L0TZ?cLTZwvRUgU4iw zzKsDvi^B>o~tCYxx}Ub}jp5Z}8ceEQebC`?s$apUX$38b`0pjh(T z2PG&m4H{tAqnSmH*)D|<3NhoN#ra|JE+xLwb$J@cxMSVZ;T1`@%-lt>gn+T0j%;A$ zgjho6%Dh(*0!Ett34@1a_v<76-39$<-%Yw_Z=lCwJts}?kKOPcSi3u4k}|UU|ZPGR(`CRZ%}n(>C`w zaHV)of3$-r_nD}upj%LW-9HmJ&9=MP$DiK8_`F{_BCvD!NY^bDz_8@f@lU$5jWIYN z8=~=Fi?rvAaCsu>md%MB`vaQEC*M`MAC0{7j-~YPO<3<4t_B5_&E!Ct>i+h2a)-#{ zqW*YfEjEj)r?eybr(x7G){O5^8pU!K#WIT$=q_g5mFc*AMI9G$<%Tf5?*xiE8Js!N zn6#+fxAM?beg?}P>m)by6I;(k*KaK%H_geO4#|f)Bmc4->nzuy*~8fVKHgR8OE)Z# zV=>0N?_he~7Q+&n#^i|bCv(aj;OULSRr9yQzZgg9pwC-@4>lSAnL<;m%>_gMsMdjS zOseDHVB+`Mt@@6zAv<t2C)duq}_1`ODxl zNVUNSGJK1Z_Rdaa35cgYC~pw%{TQ=A^jW)x+oM>1N77qKu`OBRO*cEVCGYO_s3}mc zb@DY$l%r;=gJQa^M~Guupd>WZM@jXLDfgIe108>#@E0E9H#*CBg>SZM%$q#CtYA7b zTyZx_V+e>y&oGIv$K%2Cj;FMnP7F)%G3zzcJ7_P-{ljZ0n5XFS7zpG};tAlVpE z#Sbdz2BY+v=pFnu%7M!)mVbh4xnS31TM~G8FL`p2=HY!>=q`LKNu{;bCuN>6WUJdS z!jRuUc@(6}!;o#m5k~Q@JS?T3@qs+1IL2L> zcJKU3^k0)hUMu1Rt7(A<-d+4$vvW_*4mh!WF($7v_XGoE?_QR#G(<@KF{$dNTb-nT z)W0GRXjIF6OVu=ko&g=<&W~ed8`n+PhvZ}4pRigf(72VLjmCJ3 zmjkDw0VL4u&nL`rp)hY7>nGTMW&tdHLD$cqOK~*bJDjV3an#&cP?*%JgiW63qhw8` zGKPU*FcuSM%P3*l+TZ#%)~>dTLYP)MUp6L}QsR{MvIwO< z*v7ZZ-QfXxm}xD&U>Hw$RH;5J&i|Y=>!% z8ZI7}Hyzzz&6ji7{?wSq+=m!lB~HILqumA)kK^xLa8LV7CzoNoE+(voLo$MKqk}3>L{rj&$Y) zRUjf&)7ETEvpmGsnUj>|Kf>w7qo|X>>9S32|7c-$@GyN+bp2~aBR;6zn@#6-*!_3N zAonuKyg#(8;-jonNg|!z^D?{MpYYm=&Pv+**V50DxRbop*6$_~jitf^=}dR@+2OHd!zpFqn0>T;<>>bekaOTt zk-r9`iso!%Be5sdVI8JW{s#^NOWlVaS+#d#zBnDF#Oz@LL{l%9EfaeZ z7Kk&N8$Oadt`8%R-ta{qScxE8%o|jM@z!$$GC3Tm3bC}NiprZ7>JbRkq}|K_`LvBG+Y0|D6q8zw$3i?GFBa3 zX`Jh{j23xU(`zt~j9aQFbX1_0=kH4?)w_eAVA}9OgvkSB*kA!7fx{PJ+Ztpg>pAby z0pnZQ7(aVmCNl=WuZ$vXAfhK)KlCSiR1NgIH*db9B&RP>Wx(t4>K4>NA*@3`Lj3W%uRNhb0F*gUe?4n>HueY>y9S3kZ4k^_jZI zYo7%B(I){GWioP`*3h3~ugD$cy)>@GF3My9c>f%o9qlW8sGd!Nj<(;M@jak?H1PH( z6MH8O#)GQ6m1_V*7i;C;;q)X~q+JsC+G$?$iRsqJ{zxoN#*{l_vTTPx{_Xtc#r=-a z^&rMc!tuH8UcubAtXPwPU{jrmy*#c+yf+h#gv~V3cSya7oCq<8mOam#g1PPFeN4^< z>1bXkugJQL>E39QzhcJQxjf4nBrUAtidt@6d{M)tZ_`KNWf$)N;XN#0G4yk-nGn52 z-b~ZxPdPuK%+bXyIE~;4HcLM{?0Uc*_v(RD%udB!P6Wu=kohtjBC)Y;Q1yHyoY+QcD1)VDh|68EsB2A0~{*I$}Lt;h(7O(ECiUdw{DGv)u zSSUKAmqd3#9b~dvP%o5Cdf`Y-#KZ(GPkE?*qO=rRgR$?88oB0Wwp*nmnZ_K=BgMqK z$l6f{IXyFe|1SM3Lq!3obp2(_N|yWq`y-;#5UsnYk!RCQG@y2Re{A$xv1m3u4;9Pt zEVq$Zc@L;tugw*vXu2ZQA)U=%6V&>kJhHdrcHeP{knH=F|iaT&31to41 zcs+%Iu+}V60mzhb!&J5}A6vFv9xLsI6F)LlbF)d>O1XXRk=NPKYiCw;Y^M4ik9n0I z=p!6RQoDu(a*@>FuUdDHrcWV7mZYbslhy#BjQF7WmVdra`n1DNjF+rH*I2DrBoym| zRf+!Sm=?T3xpQ^%pa1)ezQ${cq{@1zCD^1`1dlP< z!ASfx!1FF=IahRv{|%Mmfi;A)GDwM%kc{%?*O#-$(_b!u{`PayC5e-TwCWn!rKP66 zcZ+x3!P^>fI5(fgBR;d1tp1KYE`?;WYCJEOh_Sd1IhnNbu`wg@IJS$bNvN0=Z%fxd+>`5h<)eXMJ89;t z8Van@fsee9@x6!(+MNSYYE1E7m@1-pJm;j?{0^>i<$r=z*-LEKJp`;c1|`#J4I)9v5v9| z`S+xfYt`=SficGUe7F3HqYu_Zi3EGZ0%b@|VitPBj%tSCCtn&XA>0%^u|2Rs6^zZIW@5q`?(k^NwL)_Kn&m_7t^9J#HTzqSu8}h(>BADc$XJhnn z79f`)V5cL9C+%oDhYpl&#~j@O+baQLjq7Yazw*XqqBh={ z#>|^o*PxSXbyV6VYrlv8e8~)E4IyK#%P$)=PzYX#j_3m#4 zpg0=4Wrr4tX4T>A^duGHF+V`na1vzN5$A~8#C+>l{))kmp_TdZi7UIf$cD!Qn4#ah zqD6xEn5e&7l8Vmb;a=6v3tVWHraI>i%uo7<+1ZgeMjrkY`B&@m>qXncNw%G7-_f;F<@)r47a`4sJ(|#zH6VXVXRg$#@6UC7H9R?dLje?!R`2}r zqq$@1-=Weu&cJHn}?5ZlEw)8c3`YvPv0WbL%eG(N0T^vVNF&YA12! zt3N7fm0&LI37rR(jsFy{)U}+$MPa8Liq>`%O!*QeaHN+i%j&_?ml5EXd2WlRtUXgH zp>LCrqNd;QIv%kYRg#!#%|>Pkr*NmXCRWnUY=wBVObEUNX?ewi;)4vR$U45XaVG&{ z8&#ei{7?$kL62YHR@#`=EVG~*gdrckZH!*cL8oe=`r*OS18Vd5L+r_mmo$nvJLQKc z$HxTmieCm$!~HZFw%Z!adJzWa>9b;oH9xx~q1Hy^( zzB79mttSg!N6EyQj^dz?`U%(DZYQ&zS$kkLD^+`q8qHH@T>CF?l9K(uXKkHX$ElDRBL zO{^FM$V`pzYfGzTYSYvGpe(n5&K6KRgABBG^DISlKWeG??>D1GqZKWGOfO;A+Guxq zA}uS=ZB_`R1?4gu6EPk<$}jHZW+7(z)?6(_1}t#m%syE9-P^=|U+eBhG(eeMrr?xI z>yz{lzAC=B)H(kgL@AckV>tmMq)E~vp=q=lrs0U>5}o;Bz!)Yhn-}Pq4)_)g2OjsQ zDoBC3Xx%%Yy?=iij)UZxP#ulPwV5I)-4LM9>u^O(X3m#)Q3>fXUvWl`5i-iRp5>5G zX8NKFD!5kc9cx2*uXFowaaB#CCh^wMDGk_nl3a=5cuxofc0+154o~wwVsw#{o8UX7 zHnBg%u*4`NvXZL~vaO58zyY9b$Bv)7jXn_NiHvk7b=B*aUhg64Uja9mu&=_YPd!8&ZhSo^bu}b?0yrSaexgfO|c9vOf6nMsce1}(hc+}=a{F^bnK%~UGtayoKACkv@^VF*R zdB@H|hdkVek(##$tb_gqAy6pIE#?r*lEw95l~H1O9G`Y{We0iZ{-n{RCL}!{0W}nV zopFt<-D0?{l2@p*pJkkasXZyRF^lIjRIQ`oI`VBd^{;9B#t(9@s6(o~Q+j1{HlsQZ z6rvb%nd}MRwCESo7x$!v*3&^#5zI@Snfm|?oTYpFp;>>KNtRQwB_;34@|A%LToId> z%W>fMS#=qz1FB`h7ks83@F1duuJ;5E$O+QQ$jh4g7YFCGDP;ZEBnQgwdoC)@Jx^K% zLYwcCfcrbZwmLgtT4GnZxm5j%f4oV%O0;VlxA1*D3zzsUlc*Z4`sT`~RbbbFKutVFFD?O$q3Xm0brTb?c46$}fitE*Io8qQ*Bg;ZdzyF3h4Ln>_>ncQ|cTcBFf5 zo@cH+sI-}9nFMXZ!aPL_D)yD+tcb^^)H% zt7Hdlm@kvjHM*eGWmu9B0VjY7)A3KM66b6~RUxmfj_G&@*z`pY*p^9& zIdz!BPhm`Fg%4n{#nv(fE#=ED>YsS}X{rKpv#_yg8?Jt+Uftj+byS5$e|O1DO>)Mx zBFQ$x-EseR45sR}xew2QW58(X-+|Ts0=8@pFT!f+1U5LnwFwoT(R6r97UX$MV@})n=SbFcz{ky4)}gW8n+22A_Q@D4^o2wZ7cAc z$x=36#F?(hUqfIe9{CqbwT0J;guPGBFIxdb%WzDss4hNBr&@j9U*`!&{1(OEBzE=q zlI>~x#PSe9hpHYBF3){`S#EQ1t<^^gZE_OfhYriLO;2ik7hnKKIUk3gM?3lokK{sK zr@dn$T!N23svDSMdGit}rI48lfw&b|)finhQV;gb50FD<_vdsbd3`ox7`(&kW%%BJ zDzalS_&}8D>^p2^5?xvyJqS3JsqQ#MZMTGte6*31#gezu>nEIkqFebu)^Gx!Xe6ui zJT(45J^EpM;yQ9|VviNwSEovAKwEQx2S_r0lS#`%b0w7}o7TPp?6B|y;$`9o+(4Bg zyXZOw;{ZhsTe!~Rg(v;d?h?lI3yX;qKsj4%ocRuNe}Ldg*#c)D6AvSZYbNk&xjA7xNmk2j1h`)) z6gg3ct~5G??=#fpjgMwzNmiT*X%aMdixajv)5M@TF8D~TsdrD)aQMmQpa=r1x|!=c zsy?j!&1|nYZBrT-;&w8UNm0!#lW-VvOG4mzxy`qKq|Y{~Mb~Pi#=1ni%?bQc z@QDl06qncst`w!KN zBXls~*v|2TFf4s^OZIlYhOt?+HN`xr zFC1)bpH^@i`A$hKidLS9b}97rHK{IbtOh7(Ox!?=r%AcA8H8Kmjpx7`U(Hk5#rftp zPHMhUXy-}y>m6HP^c2i77pk@P!tT+e0;Rs-0LT# z_PDYpC#a9Q-WDbTJ7yOB=DL&)>g2IW1-We#gchD`JQf$T1F|+(C2{oO=-6V*L(2yj zY71>^gTc`=!(`;uWWww!}^iO2Ks?bC2`@Iv7WEyvf&P$4uwm?QT}dx(6b zU5HCZrNGDEY^J<(olmY=@#2)lQu&pdoB3lQUof5>0`@=Aw7Ors%O+|(b?2Pom2pdV z=~fR(wK*%CP;g&+oT>>X^qY9QvJ!*A;+VG4ou6 z=zuCW`KeQgmcz_wDChu|_^udOG+Oxs^z;s?FTS#JwfnpaGh3`fFW4EcuD*trtuG#$ z@ybB40G*G^{6T=Q0Q*LKD3qRvU|wEwI3K`E`K@P%lN^BShrCdRg=^PF5i5PnxGHOo zXO@YvZTXx%v_N|L(NKg{ft|R>YhYs{?R0_5-amphG73aGRKfX0nrBguKeVML@+VZ| zx_oZr6;{8?I_;7V?B-L~i3_5)tdXSWCFKs~&nWN>VO5+uvmw&E+Kqzkhd)RUikaWl zUjMT8`zR8QafS|o1t)|njPs~GhK7q~q!)9+>kEZ8`O~v1_b?{QTaf8K;>E#@CId?Y>_39o#;0BMy7MiX6 za4hOZ#bBbF^6Sf^E&Yk8)%&GYW-Qc)ACI_s`60$>8v_LFwAq{#g}KS1$ZJ*w9Zdcj zX2+vh=Aq%$IB;Jh5k=N)#t*SBS1mt%l8yhe)n$=c(lY8(?V#_E%qnUz;z*nHS;EEM zZTUbZv@qH=2Hz4D)rr5DcIi`F90yP%*L&ZEOq^sp0T1n#k>lRNYr)Xp?CQ2p+`dBU zJBZR!_O=YVPV34~B>&C_L&oa=VJ5uH%3uie>w7}yoXvMJe8!`hOh4C zuuES%xq&+=sTN-x>~eBs(0ru^d)2T5ds+`7evVj5E|rf;VieY9ob!&aXUkKGI(hSe z+aOq#L7UX0vTvKBbo)SQ>?x&ef-d|w(ZmUj6=v=pSE+>>WCW950zLBldBiFBa^}*I>dR%M(nWb{Y>yNecVG(Z< zk$(~ci3`H9Xe+x&SHk-Vuw?}(m{jXD{daw)6oY-)m@2GN$uS3|qRZ3-A&~qy49|nk zQ85L(R&yU;C_%+jdOXZW1h9B4vZFOvd}9}HC%#$Z)3Uc>$~3lYg^7~alUK9a7%c=l z&#xiL2{W=IbI*n?iLZIGw85G4T2I#~KxWx>Mk2Uvx)iAzQ5AX?b;4JiF5V4*`wKax zi2AO*(Jz5{cypC7yV~4NlqF=E)llRJ3V5MYm3& zjgy2#Amen1k%atlo!i~Zv81G1rV* z7Eb1K4B~x+&M=lrJ2FsCIWAnT&quzvrG_N)$!^&O74JCODG~=$Zi{NLWaUqjNhCg z4fz0Gz0zr#zMO0_*lJ$c8-4LNmq9^Y?MkUFgX3;)fB6s5ns_(H`?Z}#^U3imaO4A5 z6)}j!s*O6-K|gr$MXX>9pE-%tAdPSP6IMS;g+mSOZ8$1vXg<`G)pc7|l13)3ZTE+W z3PtO26M~RaYCk+!O)low?vb2)#jRF?c!_-LZkBb00B`Wm8foJx#;{axsiv&b9a@$2(gUq2>)=A$7dnq45$yq{H9-{D$H1tZ+K~Y%mpE zQyDoRU`E%l#HBYRv2}$w6)3YU_9X}jyc%fpMEuoJI^+XfhdNdYXUoy3zhh~~O7zQX zA|58}Tii?KkS6{!h|e++GQ3{dj(xg!;(gAG1Jkj~v$6S4C_R>4_hEgh!6MrQat*}u z+7CH-e(pijp@o3a8=#&6@itVHv_XB`Axzk$Tl0>s!xI|s@?;%wxF0O!vpflTBZXmi z3sX~XMP)GTsZbtzoP{zVuh(u)i9Zqb6W-G7?*2I^*Q%+yw-&OTX=0esH_ULVs8cAG z>*NO@jX0l1$t&^oj1XJe`=tWYa${=ukhuzPvokv~v~$DP=}6nq@nm-4Vh)(oSA%Q9 z1N)BRSo=4n%nkO#=E{j;7AK@9D>Rlh$jTTL- z{I8a_!5uu`31o`>Ivq5sX^Hb1`QP1Gkc6%6-9Vo1G8(tr8>RGl`~D89Q7ezDW$b;v z>k}jY!zo$u>+{qPfs%sUe7~9~f0<~an1bGtRv8a}Irp@1bdvL`T)jbd@l}8pV{sk1 z9C58wq|?3pQgr4evT|VC1g9o*HZ zP4Eh zlXb@ixg)wzL;matj2&^>jC(2Ycd{z|C%Usmr}QlVnC&|^*n#n0OiEL3ISvfTKw(b5 zXKLQI#iYd9DQ}ZAIG^D1+u|yqHb2ct348AJ@KFumxaP4U&O}*L74wk`=F4*anx@LhR_5z=JU>PdVAln!w zjI)i7wRrJX4e$gC zYeMS1!|Bl|i35ZfgOC+*w)LE>0$`0o)bb2YRxiaT-f<&yUFS*49exGM*aOkA$$jG= zT_p`tw_(qsQ=$iDvUtF_H+Nh?(Pv#IsEZ80oF^<4z(g>Myt2 zLBqj&N7jorQ&B2PpQ_L;p!UkdniR^V+Hmc!!UTzgf1{H%AVJv1#nyODap4VUBu^dA z-c*`36Wl!8gdVOR`VOrZOYkKz!yb~yNH@e^{#4Z&w9!L@M;PHU;n#`>P92RBEhIKN z&#~tsUOIH(E0FfRiz-P!Gxmv_yeUp|%sh044fVJqT@(Qi*e_q-;#zDM`Njavan;ae zd@M;$o@Z9xefrR}INF!LtGbpLr%!tdbFs^Y(jBo1q}*-{ zI{fGqBXwTSzqh4bc>5usf!^=5F+kZpmroaA#n#jSaNfxPoc(^#qCJx2 zeG6}XDhkZ;0h(9|NQ6;eCy9^!bRqFe_bvjNp+>^+iDqmtb=qogH!0?Wm6oe1iV#12 zv<1zZr)G`cVFFVH2O$4>?`V3hFM1>|I8DOu=#r3CQWGMCYXjY?OfUzg`0)naHw=dF zT#3kM<-xk4yH-E#Iu%r(+cZB)oIf2zz5!zfnL0kMtlQx^Av9u(!H^IXUd+}9v=p4N z0TYBhV0fx`JUv5;9f?j=aRR&U)Ck7C$>8zhsBQuiq&TFe2EA7&ds`-d<#_lr$f#xV z-JDl{g6rpr91SzlrsDE{$_53^7%)2nAX4i&8FyC6YujKmv0Ld57x5lA<@pP7qgZ;D zgdJHSz&aj63fN#?o=GO6E=w92Q83)ocjtwZvUef^ZZ5<4STwLP>wHJjOYBCGgd#i> zY?)8Se>@=fs!moZ$oLpL3moco@0Jjh8ZxOYF^qP`{x3Nh?j6|K15>(&;b-ni%GQ`4 znzJe-gvv-3dOpupM%mXUO_h(%djL9xJDP7#7kgI-H`Ed z)NqmDb{F1Z4v+bS&= z8^r&qigIQGAolfJIGfn6Mo`X;B#AcpWj=RsFqcUOh`0BQ7^D{H0#Fqgz9ZC=Yyxa_ z$3b7dG*T2ypRynK&@z&&ZDQ-D72hL?(3b3I5ZUsI3%#z<>*ZT%pxg|v~;68h=Y;yng&i<%EYmU+KjvJ!Km84Fxnco zJM$(e!Ry1Y)RLIqZCX-phlFJghe=;B?IzPj;R8-~3}YEViIcWZ*%n3DJOAVMVQ}1L z<4CS%Pt;Dgv)p%xYYqbBOP`$Dz>y%&KgjY8>iT<(m?AY+TNXibhLnLeii7>!A3EGD z&ruQ_DVePU;xSQD-(n;iB-i?KXvW^`G{;!bc8h^<-hs6Y1v@frle5LHZK;pFRGF-X z#HOF}d#8KVT-Gwguc_Y`RH9 zK~lyJ5|^XDu%gL%{sNOKnB3o)>TVQo%}7d^hbZ~#WDJA!ddicFC5_MvT~Becx%6(7 z-deO8$LLSWwqOvya3n3fR>XRb=wXmCg=35t_31fLSGoUZoe8tjq#Iwkg zpey1(bTU>$_{YQQL`1=-c0(A8aXF{(gk9u>z2?)w4Pv6>;I6uUX*vSMiZ_w^3%lWf z=d|PkF1F#oXt>^S^(Cb!luQ!cA^hZqk5b`2 zI;YwZ3~3EO$_Ee3GLmaA4*K-z&f}Q9p59}`GrA!64ua87Q0+*;om{WUiK9`WY=Is( zKA<&YBO-M?fWZ|>eZzH=$B}D&#*!xnfghCn9!iswfUdDudm4pn+_dVP3;mX)m}f$F#q9wI!9*EW~y zKFU0~IGL-(*YPXy+9S&STq~LG)$!$cztwfJS%dpnjcCk&v)C$Olm68{)!va)&k0n* z1h#yFmG7APvF=HG8ndAt>y}ViGcCLEqZ|USbpN`FN1oL$oa^{CL%#21aIk)DN_#Y= zpX~bI0d&uthM1%y5jz$+u&GRNazD4(p{jRXJq=yrhCLctmrO^?ucg5uAI^@H&ZVW7 z73k_@$Q8Z%S)*gP%YDuR7UyHHaG~GkS_x64B5yuXtf=iizsp!=b0-~klv!c0=pVO*=YE>Wm?>V*WQY%x)wb47E*oPFMbY%NW~pkyRS5rQwUTaO)l zyN-Vq;b!z1g&~s9fG@FK??!?2@hc;7|N2(QiZcmXE=?Lo;yo5X&$pGSmhBR&Dw96t zj+e0)xI&Q3%8Wa1x@(%`FxeGNN&g*S^I*#L=G{1i>(sNgk~vG!$7}JtNz-#k&sMCl zB1VIuqV78BbDxYZeupwV@o*Di97TR`lSUfDaC`#rTG ziHOqEa+hu^Zu=*BtFM%8;dF6g%ov}d$&>J)n8Bi#h*{M41{Vf8vhY)Q7Q*^8FwBGcmO zU=#j{!v8QH1_K<_hbQ?z7FDz0+y%FDx{*}*T)sPghu4n#sX`k*jFHJ@%4*cH`2QR} zVuO3TxK(PE^4mI)C9pl7iOVS@;}>=F4yDH;!X#{;0ltv7l=D#dKVl#E{BCwZ3o?^W z9^!#6$zJCrw(VU_wU+w>yV0X*TFF_w$ta^|^V6iYX=Fze(*}YFf_bbZHwoCDs~4K* zt`6DXr0lC!zx6xd+o!KT;kA3_Yy*=zA;loS?~kT#N0qF$kjxB62lu`fq3qMtMy7S% zSPH}W%ev{|^l^lUljx!6i7tx4%L`W`l=gFUfdpE1Y=K=p7mKtqBD}86V9ypt87L z-2aI~&Gy#6#SK)BZ>tXGK0l383#;{y*Z*H+W1@2p%vKPOkHR)AsMEj$oa4#g4ffsQ z3X!iU;?i$XZ2!sG3mK8&VOFF=IQ~JrZGO7hB}jb6NHk1_{Ib3dVA0z%WR9PHIr-}y zPOD19j-+|?F)f4FbcQP{JH`?_=4%s0tjOW!N>mVJBTtc|Cu{ zNblfU2D|(37$;EG9`Z8x}(Vi;$YKGCL;xQuhS#7EXxn}PnLkc+LplT59Yot z9yNKp3YQ^MfAYg8V2O5)(P~*sfW89;=eIw~^KE-=Z1CVB3YYT-{TEhCC3xx%`rr*(iAB@FU}soiZl;UFO9 zu85}pnp_!Ekv`4HX*+h@$2EC|p*nLq!SNkjzh4_+68HdLK%l?6i&4`GEUqwlozr|1 z=_mH`_p&BU)FV~e)v8Gf?ft{au!o}JzpO1`Z_B78RDYZjf*c%|4y&1kaOI`3#ueYa zwl4LP48|r~70kg;N0T)HfoewIKf#q29eEpAyR8YL%3+i{O6=K$ktSfVH(m+Sv>VXj zFqPgD^Geehcn8w(_65o$YuU#f0`JFoKu?ZkRkygoFmy|tpGU1A+w?IZy-;6m`5G3A zD|NnuXy)BTTi+Gi3pacHtZiO}0Iff3WD4dWJZ9U`MM=a>U*iCduG|Z|?(eCMmc|^V;e{leMP32sXM=}D;t|1TkXiWEylS|yZCK=&a%0@lJhj9W)nc~|CQ}WBpkuUr>y0=Y94X;yP z8|$>T<>J%Wp1pmH7SJ3c(T$iaoRajDT}OU{N9d5I4QVrPnBS3IEwEN*N3t0STPN8T zhjIB~r88NQVWBiw(%_?3zg6Xra8Ccqxe4U*(djFimW{-T#D(xG+5GN>9J$7#uq6rv zTHTWY{eXQ+TO{sn8hUZG&&7=7IN4?5OTI#@&3mJW9tj|HpF~{wga<%IESt-A!xWVh zCV_8YG3{B}-NioI6DyJPdqAUT`g>y}a-<1MzRAPNf7wAbUJZz{s}Z-6jc$=KcZyDv zA<1y(iK99ZI^W^6Zmp#6MdYb_o;hh3*y3Qsha9I`&CeExNsRgHRfIKH*SAh`3>$yLiAupg-dS4% z6j3BGo-oWPmCWL(7Ysr6)#{ z7p}+T*OkSBy1$?T3*V&&Dh;0R!1(9uV#u!(*HSBHEEq(UdnK}Iik)Vtr}*U4)qb#} zGy;Oi?Cwog7`9n2b5S}y?g=!H*N5>(52ZgArRzhM;^rcqbXT0w75Anb$Tld<(`5v< zEgB3%6;NlRqSTE5I^++YMilFA$$MSWqWPgD-=X!#q#_&a={-n0!JUo?h;;ua^i{?{ zIoW7WG%~aDl5Xohgf}H3^F4G_D2MxHyjNBW+qcA zTn2SNUela?E$WPRgEnTq(=W-^JGlN11sR!XV(}0GxLFq;za1F934Y*5c3N$#QY2Ey zBc#Z5Bri9SY?Y?n`gMB{O?O2rn^4=QLj|N4-E_GXkOExUvMOpbw zO{hu-)ao5c>MyNPRMk^k`$`d%i0w)R_09kO7}Z6)KS6wwVE0a6Ov2b?S25czk?S0v zlt^=**{FrqF11FG1l8jSP~(GXhLcfZb0w9mtKYRxT0xTBC?P?>a9aDhd}uWEh~nD1 zdQBp_Bz_hSzx$ICN<3_HK$)kP{W7uf6fEtel-fcP%|JJ5;nY8I9!%Zi6E4^fdx@K8%b(RNHk ztK{FUuw=IerR%wJ>IKs28uC-`a2j>H?6n>6Nz+$mM%jP(vF zf|vd#?<38}03E>c^+JwY%e_Sin69SJC2qILSnFnPod=xi<;7 zCaD0wo)e(3_MM3=Nea1q)&NF@TIBM{yIf|C4D!b{#5Fth)CW{tXF6$6f@_m$%4IOE ze*3+HYvT!+lG2Nxgqa!u>8VcQ7W5e&q|d3TuT1J({0QZi?Jf<^sB0#%fuBg)4R^#QFuD&1?a$0u@w|cPx8iBsgeT0IkJs8#A07DK_7{v`` zGkZObLzSqhqa8MxM%e^RBks5oP19kA(vT;BRYDp5!%wmYcD7_Gs^l*9hcO3aEV`K# z46@q@`i!FmBw?{`io6Xs(-e1f$&Ssq1k%bka#S`~eIg;cBocS=nHu{Tm$c($Cc9zt z?m|FK`*n<&_(|A)Oe@JaTvXpC?0{O|;n2mO&{`G{UlPX5HQEp=P}n6yb0E?t&F`2t zL}qvA*s76{dD|t_pWHk|n}iR_PmiWCNQ&GfcR`JY5bT!P*70ctn)lwQzUkC~vptn) z0k`I2mQ)jFCRfgNprziSv_eUANmeXdolVLzxM~-+1+WbmYqHteb}A@$Nrbrcv%

  • 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�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�|@(}f>Jx|dXT}gCTZ*_USRf_TF6QWo41IP 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Ⓢ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

    sIqqgWqY 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øyy?wHS}!(H0skUYC(ZZl%dcl&Pbs5L4;D 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


    g1P!(QsE6Z!yTJ&HgqG4KTXvpx$wBS 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 U${f4n|~>X8;#qt!T$^XpsHt% zrvgf9sx-;uQkf5&?Tn37Uen8;;O61>#LduPv#^1MW8F#>EnpN3)R35xo9v;a7&Pd% z#&V!Rr0nOAU!wo|3@gnu?)e*tsro}DN~leb9rA8eeF%_v_U8x~E5jq*in@a0g{Ya} z$#HFty&4szM;Rpnv_{moS!LX#yNF6i7xlU9&cw1SgdTP%y0Y@2tGn9;X8a3%?l`Qy zp_^wgbzE`LOK(R5t`#+w>*(BxHV`XzB(K&Ioeji&h{3%JlLgn(AXjj8oSpE>9>L7Y z%^8hO4pt*mA9&cS(2@c%f^7eL9a^}3s%l()d@v$8trbq3nRSpaq>BaI)?jOwD7O_nmVZ@uLYv{YB8S zxve;mg3>7pHo1zKkz&Q5~Cx%nB1#GNxhkSMzvTijW!Q0V!#H|39sXzfcDz>>51+yX&p?GSlba=I>js+xngi_{- zvgAz#usNZH%X4E;p;cyUdO{Q6>UEfWsUeuU0D)5^W9;w3x$XSbHTuRg4$+`Bf-sO$ z0|b=ah$_t%IJeOUL>u%9 zD9bjRvD3>HbnmTEnOzV>OkfUC4FvuawnaB}(eXB=@L<|VmQHQ7k8Km#0Tp)0LXDFh z4;hGJx~|h70zU*0SeP`aKa8E~?z*gRSpE^uIMzAYvCdEuWG3jUo!erVjqX{XOd6@6Db9S2mos-Cg*Q3t?jq+QUC)fom>P{h^w0H0sR2#F8;6eH~l|0k*D z6t-$=era6*wAh!$)`(^lw}aGp#?5Era?LcHI>t{M^e@NOC^*$#LLo#kFGs`pTbCoB zbBg;iNP=U@0q#!-O@I*R+wydM@%L4wP}*_QpJ&M$VJDf{xaZy0%{5r*YZSG!hAgU@uhu9O8cNsgdi^K(_#O-08(%+wOHLFit|Ft zmZrfbZ^-%BX;kIj$u4I;3lT_umatb^w2u_UK{4XOrC9PNPMGO>J3t;vo)3o_8&S5f zrD>MFVoKo7tV-Wch*l%Hy~^l>W~t~=G(WQiq*kB(x!nBl^*}r-@jOeFw+(?LOlA?n%lhveU6XiH7rJKC9H-mkFaK0R4i5V4DKr?GTz%q677uYYg~{e(6Y1gDT=_Sg$i_N zK}#CraUnrHV#zZU%hc^GdoSzT46A*lfaPjF)L}09q*E~VmA-GA4-Nml37kD$Ya{UQ3et{h)Z`d575KR9i&W9&IwUrK$+O>Z#&rVM5nZOP*NHRot#VSwQlHYS z_rUdx61teFx-8H_lSI~>irFgL_~02&9Ptd^BdJkaqk!>y)luZfL7=LR!p4x+LKzA4 z=-19~v9Np}zo>Tr0Iy9o_Ziz9yE*5P8Sy5qZhw8-%p!~LV%OBI;Qgn%PL@Di)m#u= zuGq31Baj4VYX7>)@sRS!ZRpdMu9RuQSylsgw zcCa_P?w_BS<}0)`PBop?{1a`}U41%JbljeJ`EoP!uip}C$BTh;VQ3)s7?m#XzNIt_ zD_FzaCqZ?z3+IqQVrWi(ljM=XI4;UL!++~<#k-?gv2(0K=)_U@F2tP#^A3{oNM<0T z8++j4g9GR{lA+I~?eY{#4(_4YtY)M90!Oy?*(Gk&TlPU>&cbSaMhvrMLqn2Hf!G(j?8r+gK z6dVCc(Nf5Ita^0l=i1XdcH6T%WU`HX$QkbjeDYRX0w-qoDkb3@m!QLG9I`;;K1lMbnxzJ1x58OQPtur-U^gh} z5i3L}E7k~k=ou}!C$`CIr|QhQZ$iAVlNBxHiVR$N$3=T2b)F`wZAN)g;JELl{SQ*T z9{&tx9v#mm4s_Rn6&ktn^puU93n|uIPo+fQYUF!VwqGXE5Ic zNnMRKkWfAC|H{u%ACngK67UJO8UWyMecYcL`GX1fofBb#TeJ&i{)}h5tig6{xH9S; z8BW)f-lX}S{yrZcF4-$pWnp-|mlcQN8y<_RU&}fT%@Hu&Z?co$=te5)V}i{H{9Zu1 z&6hgJaXj~l3=qphL$$}2w{Fo+Hnck#M%bO3j^~@p2&T-jsPi5DAIjJ1d03GdgGsho ziGW5^Wpk@Q9K9iu-sH+4!d9@WaSi&F!JIM8jbCRn!UIu5UHj_bh1?Zb#x{B-N0*#k zBd>x=*qzU;0BOhFxdC*#4L*OP2oqWZ@e!|xv=M4xF`OG%)rTUNfKgK&idE~?K~T09 zPq;+Z>af7RC+e32K<=#Z3~5x0eI)C8jI(==(PO?pAD4V8$LeY#F1&QAqO*YGGUia) z5f*nXm-#TtM*+&I6bnBw&BI)$H;1go`7;kGXa}1{fPck@zXI@Yj!RrLOW&neg|fj% z7Z~|7nm9^EXFUS)*fgkI!)U82Xlx$fns^>tvCM?O>SnQ?PD4?u8m|N?DeaLZ&X+=S1ZH*M{A4grjRuId|&3*;@^68L@+`atVd^X-6@A%>}e0<)~{l}=*eu^ zCquOTp}xlkN1sK(RcYd19RG$QW(|n%W^{upt;tJIM$QYd6ep_1f7p z4bRqZIppTSL5q4Iva;)YhBT}Ci>!=6oe&#*F&5Q?C0At1#Y3;KGg<9g0myPUDPBT{ z#ht438^7YVGmyEZa_dIOzY1^Rr_0(Z<6R)4CZq%@Twz0O+)m&U$Esp0+h}`XZ*_); zGLbt@aU>RdzXF*t^&A$oM98+@Gsk8s9>%o&c1n$-Ed z#OqiGl+>O#&1<^)b;w%}I<2$wM#m{b|Kc}{5NsZ?gmbbF^YX-w8qpRQzpp`Qa7>h6#L)Q2tO!fZHv&z%sp296lvYKLT3 zV8Y|8tHh+MqbhvQ{SPjsX*{DFA6z&`o{q=DbVfQr`<{hk?%ok{a?#E@qWY(L>D(W) z4!H7y{iiAV-}2038i2XrG{X_sv>iaVU&Nv5v@8^cL27!gfgIRDlcSFaFg{HIX4f;O}9t}jz7Z{ zN_}aY%TNmfE`aie=`DI@5!BPBridoDR#QW*ZjCy?^)u4VZ`{xkRvTdr6GuQ?_b!u) z1CwFt+v%&lDf*CaIGeNUr0@D*hr4G zJ5hZh;w0a9Zi9Hw}fK|R1b=oBnJWwN^c{Y7P;F#N8Y z`&U5FaND9jg6iX)4Z35hVyF1=_g1>LX!e!UBdBvDlcxCR4iKpbVCNeigj-OaVE`?n`Xi2Y(w_4f(ikxYCq14nUo9~Gh+L}u>^c7L z)ZR#ySSk3$Rrp7-lSe{uFVStr*FYFl)tUqjawq`z8CjgK&eJwXLIr>%PP8&j?AvK7 zVrwTHpkLf&ug^m_Ow38Hjndnp*W{3Yip~$S&wu6m zE0=5N3)d~f3Q?nD4GPt=@0o(}2x2&?GO&y9$yZKBIRyDi4SLA1uG+uM81O!ER|5mK z#v)+pH|O4GID@SopgbbwVTX5V1LLWw!O%r2FT|BdtleKb~`KKA} z!v1^4Hm;Q6-H5(|x-+|wb`1Nn8Le^I3ESz8kDd-B8R)gU9=7uhD|Sh`M;2=H$o>R0 z?p-H5!u?VO?HJsW`YtHAOReNmQ5G_y{VV4Z5ThscKjTJS14t0tcGNW#XZ(z4fKmcf zNBl672&C98V%@j8^+Npr+UOQ9;Z;oxtfX#;tvI^wYnoS~shSuln8rd4=!ljO+qn0b%MV>Zsyiy&} zx(31xkh3bx2bZlq6?cu!;Yzw1lLgz-=tl;_k@fgykOXFCo#2G}_@(_2JxtoIDxnf! zO|R;iMGa*wUE`4|VBlv=-(yX>=F4BuBUZS`rikp*>6$~UaxZ9~h<0iv8>;xn1zdTP zU&x4(u0QH0oO!sf!BxDJl@@@`oqGp>fwdADl21{^C%Mx2olT|t(9#htKTq7>vGOyX zdBPz%x*Dn_zDoxn;4633><1LDwNP=1^&suUwV@>7?snL^O@Lv8T$9+ops>t5aAnb- z_(lmZ+#5lT3CRV6Kc0n*J$$JkgOTFFCV`B)4#O^g?erZ<+rFr{-}y75!P^Ogjtvyo4b zXWNQZe}G~S?K^{IkqF5_u#eR-n!?!niDQ&TPI2_@#<>(KXu*(H&uiY1={WUhCGucb zM7G_!r!eFx*6sV!F(CVX0g^sL8swdjye6iY--xnyM)`Qly~L-V2LiD*MUG~vL3N3p z|9kEHF-kdA|A6Kw8Z;7_eNfkZj=l>=!I%#9KG`gDAkH19ipr4EcZ)ms3KqacfD|m< z@st&I-!q`W!U$=oLP6h^0Sj!^L+>L5baoy2$PA{5w=*U!Yr$xYZ;q_nOx9$k-@El945gx4Wcmr<04X-)h$5xyI4Sp0taXC8GMgfZGAgc%9*Bulm@nS)=Q8-?&}+5H^nzcEYMK zh>Ro)O{BQ8f?Qnb?^~Im=OPu?GomoxqANo&CFNva5Y^X+8b6~$wE`S2C`b%&cK6ul z@*G=q7=fHre7jveg!!T}0F|=qtVJ;Y_K?J=HMe$2^_(cZv?8vKvr#_P=>l4Ja&G8k zFDST1V|P?p1L(eB<0m!U`YxRcrfKvio>8pf z+Q?S^Qf^lQCU7b1G+%q|Y?W;i!8aH?M-pSK3)FgEyOFdhc|T&g=HdvNW2dTDBg=?q zg7q0PMDU%gPOXz8&{YenPz6Y7N7lAfc6W9yV3EE6E+5RG=P4icm zra9gn>OlJLM*810l|k-u)zl5wCCfj8OA8!MON_Gka%%)jQ%g_fC%S<+3WMwTE4hHy zk&Z(knCPUGc9P!kZYF^dl$I8a1-XSH#t;BU;_-9$CwI9VvG`;gJsDjG#ppYMw!u_c zxbJ9lZq&^v1DqGkI=+X6q2sX@ zk-=#ow}>AC9D-~|-RStaGpb!Q=X^_KY7=6pGX7)^204MrqA&3(F$xZy4LLcoj}+a~tn# zyCBf?vxa$9aG z8zUUTGivkb=U)V}y%Q{=qG7L!pCUH(r{n+plr^+Y+JEj=k7j)7)u-7Id}0(T#V0W{ zs45ZuL6C^weXTkpVvefLc9(C!lxPLg!YWbqi3~Ud+t2Oqg&Wb8ah3+Dk+IF@iGW-} zd$78F^s>fpF1fIIl;(=Hwz7ZhSMS&WE5=UIXnh7X2Ab^C=b@+it4gZ;U_3=<{8esWvf@*ZO=i0U6d9WxjUTZ-Y#{!Usjt`8IEsrKbUvl zuMOnsafvJBGm?47Rb$BS+BVO0+kj$}wx-$C$D^qgV6*y!Hn%a;9nz>~7-5(Ri>5@!wEg=_o&n|g zwY}3DskOtoui70)tIQ&9+V6>Oo85$+X-=J(r6aHNpV7aEGtZDy8_PCrW@BYv%Q~^x z1Bt{{0hg{QV~3U%Av|69>-&;b@e5@h6yZhd^%R{EGC85B$$6)l?p`(5pgXmT*Op za>Qp~lkKuoZ7=42+AX@l;Y-a=EHeSYZ?reypR#hG(KEK&;HJ#6UT+w2T6o|3V~(+U zmi=3xS`$G5`(t6RZh*qz&Mj(t@`!DqeS?!5al_ces3RQI4M746;*j1O&|lo)T$T#1 zA7=xU_hl>IPY9>)j=;?h#WxK&$I;T73T|8J(GKxW{Q5vB&O(9*T=; z3%d!P2|s=fT2?huSoW=tl10* zo&n7nEu2Poe3TwG;J^u?v&ran^h@&pTW#ed{7#9Dp&|^ z6xg-ebhv2(jkfSRv4id17`WA?7OZ6!rQFkXTx8GJ9DQ@W%JO<_^XqqJqg&JJV$l^Y z?E{t)9yaB%;Mnjk)OM>m`#?q)W3ZPunl4WB?>hY>qV`ix$ljaO4Sq83LW$QX9 zzA~F1Wv6>x92L8G`tc6N_9$jC2B(pV;#9?HOK9*TS6ee&`0l&f6~l4+78g=HhVNBO zbri@qozX%c^<9&XIp>wf6B*=2ESk3?4X?t^uTr`4th86s55)_^tYS8WP zKA|J7@u5L>WaKDN56d!19shh9v$6oR){Rkwr?gho9W?%zUwA@L5@hc)j5ZGwxtbw) z7Mqjk?0_hjAb$79QduB>Y6n_T8!3wvLH&`BdwAaL3@YUICzerz46b8GU_?i%0dV!B z27wi8Crg^Up+<9V*y6yFT{&xjfhaCjgxV2x_DW?A_KdHO8`fEm05O}OgU1QCdrgrb zjc!5;9p3S#9R6Vqv)dWaDb_C#qcMbUvOW0;XkBPUFiFeY*P=xH;&HW-1lWBtGe zYFo9Dp23V{6oS0~rR4vN66G8YHF9Mzq#sQ5Ndx^fwRjh~)T>%acbmEQ6x6 z9zor0iJOIoxQJ!nU?~inJ2-CkkA)JeZARIwmZSQL`5p95di0n^3Segj_v8>3M|7_T zd7&9$B&B7d?5k6_f_1wtPI?8lvJ`Y&CjM3B$z!=jC}eInRH_Py9H&)f@g8%67C7|2 z2mLa2rL9NIH$|Ep*_6O%2PtiB_fHsY#Nk<+61Z)n3(L_*I5))^dntCU$6eR-xf5ot z1EfXjTSwntJDJwX2Q1m!oAy0-;(5+bZq(SD1kw1I6pCRN6{kiLHtBgASliQ)Sv8w2 zSu}NC@seZtiDkaB=A#K_PilWd;Viz59i7}NmPiSu^h=9(MvrW*?t%#crVYR90`I3R zN;D*UTX#mXOdXxbFRDdo6It_BR%@6MHrh0|U}QViwMz2*iN-IoIQ$(? z;+A@Zq3Wr6U-)qJNAF0dSa&lecKI7}FVX^U#kNm0HnGuXWCQaQ!`L%khtAF-2pK8l z*u-E?w)lCR>}%5#x1-I_LYL?OS=EhcG>>oH?1*TbZYK4p;BSNlN)C*DvygE);5VU; zf8v&+mrC$k8SQRM($iL#{1J4;r_|~e)^Ds{4{U%kW1!TIJJZ|Qn49b)w+dazy8d{` z$EwhZI}W8)jQ|YWL@E3KAKa;d{53u2o`=Iz*>K<;h#|hE~ zT+pROFxfB9>)p?dV5UJxbkd`1qbrX$yCY{1efo@2r`Q@MXIK_t&Q>6En}8)q^+SBP zd3r~Gv%d6*20T5EOp8<-gY2ck1>7@EWFqFJtr4)2{JTVDEluz0AtwRaS%-t3VWcRm_Ieu4v-T4XUj;7}nU(~|0rprK7E9eJJY}H#ib!B_TH7o8xc;q7&?cEFNa6fld z(yF)y&NadhQiHbwi%yEn9qo2GBx zrr=68xc23;)50@iw0fM9o0tz?$EzI62x@$530Pn2yNOXcU37PiC0sD@u1hQ*WtCN_ z!JWWYy1m>)^yb%E)(2|xHf{4z!hB(txu*ohJum{qQs|2Afye+Me!HQRSQVaXo#348 zyIQwmuC9HpHAxkrfHxOqdntB;$M@xA#{>w)vZR`Jlq-9u)vVQFW$p?`%uUKy0=9u< z0*jQ@M*#~DE<4JH$wzP{ucL}M)d$wUoh8AS|HL z^YBiKG&Vo6j1vU&u{#pT+M7Eoqg-a+alaL~|Ddm1X=D#@3|lXnpbC{kFvPB%)Z;Ez z>+aW5um8DYguFvbB-f_dKBsOPjr=_t_4nl?NW9ja3GmcM-@YQC(Acsl?yduQ)U=` zm3eX7ej*$F5?n{h+af15aWG{cQINf=YDC~%z_od-KE@SWXJ@v_YCHB_W;lGt zwktY1^hFI+XT_*8Saa*W0;EI#?k}A2!$HvR+IP% zZC)r&dCVYL1yDg2ceb!cQ5e-v3K{sc910Qs8j zhr-#g;VFn?t5T2skoqL+H#a%e?<1q7C-U@Y722h+xCdSv%OCTMYt95 z80gzcaqp_%-2>lmJDY<PB0t|I?gDuEf>Tv2A(E!!Oa{hrhzy{~GaGO&bow$+tSp-=m z-`c-9%ksLZ68$f@9L6f4`CWM%4*DE0U$5*nk7}GDXFEm&9Howl7d%1hJr<0*VA{Dh z?npjv{Q|d}ILl*NdBW&i=N_tw2+93~GvkSrQ4nRdaAVv9Y)`l4V==gfYs_PSX=b%H zr7;7#+Bd`qxSyra%DN}jSFHhSM(XsNwfDt#FDQp7LpZbA|1Pv3?OCm~7DLVAkck=@ zL=0f;-$dSjO_Naur~=r1hBEg3mYPvrU^1Ol_8(qIJD2re2apJzNIL3BqZyQilwDv< z&?S~Q9a{FioJ;anejx?+sM@zYDq}nj(`E5!T!F48F=w&1#w+}_gY-p>eWyaSatNFn zaS!LiC}inqc?OAs^mgNVSo1_x@1-6UtCQr}w z)!H0vpTW#o64b|tz)F_E@drmo(Ug%EwKnCBYYq zYfbkIY*tLA^G_WMJ4(XfdsE@-vQ`kD6B11--r1^qO-bt$aC(#A(4slkB;Y5IdA2Xh ziIGXRz*F5#!2YPbcD~UyNEgP$UL;@MG7ieURe{D?CwK~c#l8}H^!uiMMl*nj_Whu1 z><&OuUs<_yv7Nr}@M!+X;eWsN23`JCcJHrlV# z$pTlIzV_`cr{qsN#aG_fFIK15dk*)EYM|}xNB%ixMkE^@ zk*!dEP*@AU-Vl?KQ`YE1irHY46C<(hSKK)vXss6!s;oZoU$$2>4Opf z4b>g8M)!nADlAcZe@SH{EMa53w(313jO#YD2u%Zf9OHZI-Aag(_z%FYSt zo76G3?do_k{Mk2n63X@B6|u)OMb1nt8mPv!u9GNw70HlW#cz*S?EKH%ynQYDSyBivE!cIBIE= z06rJRWobCh;2C8A97v|*xQmG@OTbs}v`T0#{=yvK=#^f%Y^)sn0zbOrc$ zNNEa*X0*Q6movP%GHvcWg>V_dOVegIQ@M4~GQuOnZVR!iveejju`G5NY+%Y4N=|-H ztX}1o_<-jLUrnRuCrDhQ0&kYinS3ZSB0~vRf;yXw5kQ zGu+jq*A8x0D-e6PU=g8wly3yh>k@K7j6E2)D4~@069n_EFo&h${ayYyR{_I=Uh9(N8{4%vbYr?YjT9;UL>RRFPes6qzE)&ajHvYYz zpyCXw|2gnmX~xF2(hi$hhkt)f{TFNJ01x(hWPYpmvrr5CSa3zD) zRzC+$y-HT3?5dMX+b}b2ubVSl2B;&_SILdwe)bSEoVkZ^35fVu7soy{gcn#HEe4W$ zVzg?%qoWgp=)cPO`N+@Gv6}g2hRXJb3cJOtv%8;vc~bMc>k&^0G~SkV>(CpM%Ew9w zB-_+1!=6>%y^$(MqW@Sd`Q(Cmz@1s8xlrO`g7W6*%3OFuj;Zd1a z$Nt=)usp5c%e67)7<6yOnm@sfMx|Q`%{te64vk>H+-Wu&jgCY|TA6|WtiG1UU-bRMFx7lN<5 zC3CxI!H;H80%Q7c_ z4cSX_zTwNTbcQrX6qluLIPv+Er=1~MsB}Sg+0$<|egUOb1b1;~5sB7gljZ;mPMOR< zW0`BEE6_FYv+WkT$LzR(Z(MC!C*+9Q+6DN`LD3A+br6&~6!GKTX>gGewcAZNHEHwO zw|@g0S^J9oQg&H(s_&tXi>eAv&RNmcgswJ&IVoU-`xr$ow9Nw6Dqa$M5~eL@wf|_d z%!mei%U<6fY8!_V$HoFg=A@OM^gU%AvX98>S~(tt?hhRa!Uh{*jpOMVI?5Z4?vTvu0b3X-o;U!5| z+;eijK_!a>>hFH(O~T5CI!OnH{Ai|}x6I{FWD~4)*-L4$@3o`V39cG<+YL}_ON)xU z@S#ZfgmG0WN~3X>X%=m_$hOVu$MAzA2gB6ippJ+-W_Q=tEF$)`xrtR!z$#(aN0;OW z8LhD!pT~$y`?6l?8-IYcGlnz|vsKhI=3NXth#+Say$1jzB2xe0ty_Bu&{Aey{I9i8 z0Eo(1P>lYdqAkaE(WZL_G{)-o zTK?Q+>Xb4bNtBIMFuTLWV6#Z^K3RjR4!~p)ZAMZ~OO2yry)HYVpJ?icCUcylrSm3D zg}ZFoZ~T%%A-Gxo)?ID%Y!gKQz99d*IVif6@EV*Hmn{Bau+M-7U@e`#r=l!ehppgG zsuNS^Q1`OlN5;He8bZ z&3Ni9yNbrzAmPn>ksiOV_Ai14w6i64KoUqpe{z0WZJ4X5wR5E-SDt5P(%)rR<$!rL zD_}99Stm9hDc;#RLEHRg&dpe2AF=e|uPe_N6mH}~ z3=-BekUZbc#pHq^mQW-BQ9!Q0=x;bOUlCi3-P5)EnA$nxmJpX5Iu8ZRS~>;@E-qpe zO`0d3F%8!lt7kZlNanBqw$Ot{0iPCR`}EgYNuQTUx<%tupzn)D;ptF;ghJA^7XOAj z{sc2lO$e|k5b+bOw}zvwQg5Pb5Gz#;u*xi>f1F8K-#zJ z_m$^z%4^?Nnes;2LQr}gxe9Q%hkM+(oGV& zMeEGP%V*(>a)I#Bq555xb$t%I_-AfDzmn%OoWaYtV&Ko^_P4Crz}xBQ+U43rzu6Nn zmh&qfpdbSN?%j@-EWk@~NWzb(3J5y;I0mR9g^I%n2*vw;X-F?G@`MjTuJw1irtVtb zC!oTchbl^R_6wkQ`lubF)R_wpsDOsQr6-u~Vs+mq@ zTmpD8CUr5zPn6;1Vh}&$m|=9@W;=o~!~oPB_pN5BFA9dG(OJmLu%f|&7H84m0wGE` z_kHCLLGT;K{D!e*HdjH=FGzSIn8 zsB2r+#Gs~bYet%uP4o@fDY>z5)kMYme&*FNfU@+pBn-mxj;45BD$dr=U`EP~mU7wn z*co4aQ#;)-t2qaV#z6(QozOhxyQPE7>E4ct%x6rssyD0zlbnYTDaX7%osx%}p2#&X@lSXmaLUe`SmqxGtqm1s3vDYdqa zLuXB(@XwIS{HQJIo}`evSl;ZJ-x?+0SH3+C!;)YkZ#)t`d~QGxyeZ47bifTnuHUq9m+%g`E1unoJb zEwqK*cDn_-=kEZP_q#x*zyHuM$}ek zW`8FBT%t70IN(?;j#%BW<-YnuboGcPLVzf|uo3$ehWdsxYR{B#*@9Cro(^=tvdA0_ z2|}&=8fdU6qOh#fM1tK;49wJdM(m#eqFHBLf`A+_+)ESWLf|^PaE=!^Q7T+|0d%GA zUj{G_Q;dc1V7>%Q`fgaPkbszW&pf>jl0*NDXdYr7IVH*66fn!mOZmxZ0bgZGaN=nz zmRaV<<7W8eE)iLm))^I`|k&PQKT3xQTb zcdnEkWiP$~21G?;{e(2XrvB$@^J>*(|5v6yzc*7XDmU*d6m-;&sB@3%rxL(NudlD8 zH2Nz=Gec=J*^q}B&0WIQ#K#!*SJgEIlB+UsiF&nMYtv~*D{T!Yjoh|5hSswQ9zJ6l zS3^EW>3!EXen|-&wD6m>@=f?&>FUKt)3W3&3?~$J2&n_;$7?O@p^PsoJ1EZTG}qC* zW?xHFi|kFDUcyYSO0;5>D!i`$&D>#eiD+~%m_=xYIa^zx8`dE_lIBcsT*~T3WMS_ zUmvrH9#t!+l)m$B8#G%PH8(nyAk>2H2Vi+HBl@6<@ID>>&o$v@$s;4-q1eFYD1H=J zS}L2Y0oY+t?SO3A1>fT`V&WOe$uKI>k!oB7a;D}>5?UuVw_8%Os2GDvA zWsy{H>B}#jcfby5#6k&b(9t`ae$|V3#x}=Wx&5*Du85m1l0LH~N#UN5FMW~;w-^N3 zZ=@&7HVaeS7Wr#M1x9kA z{;v5CQyv}E`~)-}3Jk(P(=FDsgE=kaTs#FAs5(_f#M4j-h7bT8s zTx5_2n_C$wO#nVdSZH8s4Zh^mgfkm)XtUe5&G~k7T{GaX!exs&BJT?5Y(>$kRPk9jkHnWQz|$Uy~68D_3pe{$mZ7exyS^jFFz*Fp)8Jky(8_ zeUTs{Lz&gH`X?oj{8?w2sJqH4kIh{zC)g9_0%><(bIT&t- z<%%@w3PyookZaSddbH7|d(IF*%7`%bu+>yuYkK|RLiVF5W= zv1Ek(*0>a|Ot5g)_R$%$K=?PM?C45Tc3NNObR)R=0$J?2z>i=b*$UKESiApn)6GbC z&o&X`g-R?Fv~c42wthm#mG3u(G+*4slmh9bwLc4_<5P#pnVRC>XgR%DdkI&E3t9u7 zz(AG?WUXc6NIip@bFm8O4Y!t{I+s8QmYj$46_lHw5D2x8Le_n_pM9%@+>ucgB7G(` z#a9*;-a35<%_ca40g1FTuCFJe>J&CcAfwV&tL#Q7lPL!k&HbT!mcQcT5HuY`f8hNc zMRzFA$mY@>5K(j?7Pahf$40v_vT%)Hm)r}y&O*F7SMY8%5DY!7YR+VjqSI%^?_5%;*ontaz3dZ54>{QPvc_xQO=;7T4pL zQz^_55k9l}aj}&G;fW5Ci&N(uDL4X}XuD5K#@E&B#6_ee(bTzya4 zD56$xoLzro-BXz?uH}zij~sE)Y9;g=zrxz7s(08xnY}Q$MkM1)hZcAZBQmkCi;YS_ zC{zeYq8DYAXqs!0Ki8W-^JeoC*eayWJ1&z3b`@4u%|(~nkKnF>FSql^gcVZL-L?6` z7B@@Lk_e82C|&je*0Ev%Dx*C#Lajgq6*fw?AuO2HIQ&CC3rL1rd+zYwpEGSQXoN_|07L~ZPc=0{v3Ew(fY4uN588)|;vA+(fX zmA9aIu7W1A69KCG+80BFI$rKB`}JY&CR=7P-IWyzO4A;@DA?q{Ar|yu!kcZIV2y6z zlugMAQ*z=uGTZ6@1k&cg@wph@*4o)2sjYIq#q~)RTFl*2FWt#OtvE!0yD3e~a-tc1;M3buIkK8Rb;ih9HDs;s)NHE)vYL@B(xbQA(B#F z>DnID_e*a~zM!kF#ODLRtnwt*uezd37L+pMuQjjo36_0ZUx1a57FokCfN3X-!vm3N z%Ok2dvvKR=-QUhxpcU`eDg4TetVWSUS!9w@uZ3@t0J42ieIDTJ z$50~#m-`+kQyaeuEIpH#HvOB@CR&(@BmH8@&FajCx2XbG#v@|aGjH(tw z;Wkiuc54iN6|0=87%LZt(I~wHt4E>NJVTjtd5C=$iM4$=TMsDlAIZrs&4op3Zgs!x zv%Al6j>Vuw{hu{Ptc&ZMT<=QJrymRij-=a-XIMiB!M=dMK7`;@UNDbKbN$x=C)jKI zsuL64?f!71%*}@kZxCydy2!Y>GMQy%$=*Mq&6meO1LW9k9^_tH!uI#0yt+>?@rM@o z*yJ} z1;})=uvm36-^ZH~{R}6J60rNE4Hw3=&>|Vk-gPYoR(3VJ`#QFx7k7#gv+~V}$}{v0 zOG7;M?d~3tjBmVGo+wIn3=M|j{upFlY6Em(rm5$~t}?zaHLtx8f50Tx5cp2b3rKB?XRs-VHCMF#aMF8`zS_Dchtjn6) zmqI{c%cl2MwCG!GnSXoqq zIGslr-&&pbgr1)ri}e4ph!ESY)MGu6FJA0O0E`rYej!j$ExO+j5>b*xEd~I7i`I-!9;8A7CQx$wPCzm z8R!&Jgo_>vfo3eXRmdj60e?1D9>vUomkU=ec1SGwvk1E-!AeyxLrF zi-$DnP$lj&_6%aOt*-h9E-7z}(d;gyGOfh)4~*mb$YOx^`lYOuZQG8MOu_I{RHU*a z$a}tNFk3))tIQO9HMI7SX;T@T?DFSp>=BVfu{-P@dSu9?3j*g%dg%(N4(+3kx5R>d z6#SzmE3#)ma~60_aK;M8rDQL8@ch6--6HM0W|im~0DCPaa#wTOUP*p0Q6RlMqOi2< zw}+a`GVqkOb>e^4&LIJ$S(OJK4_YM*P*GV3Z#o@G0?$x}#zc04ULnN_8jY(&M6R4X zDk~70Li?Uq)lnL)dlJ41THGlpB;%?I8-7F+29!OYyh`|Onw;#nG%fxkD8|it8rS)( z>64Ku-1D@=UV`(xs!r8E*(VeB+-`^RpTGul+KwU$sA!xk^(#9yR1CU&Iw&3_*}=GX ze-NYNx9)?Dr4G{R--Ory+*RHF*HZ61BP#PzdD;b7b^|GJ!(6wxAcRJGsfhtL5P&q#S-5q! z9n38ROkghw8p-;Asy+EbZ42$x071FcQ7jEZEO-${A0b^s3MoU&3&`Y)lrKz1oJ*E( zC_p#iNxLTUYDk#&sm*P{EKq<=#nCCh-?GOsF6 zD1vu&P!FJtEr-hlGrAF`)&oBwjY9-WFCvL5g{A8YEU`nTqjzp)p?56WKR&uLc?v!h zyFvDjSo^iBo)P4EW->Jay}BA#vGJ*!7+MB$yX$MVyc=$_II#a}S%a{ScSz_xUV)&d zevKNGHEk0%or6=W`X-aZz*c)YD?ZDH&vdtq($pdMj2qmPz1$&VjRM2#m6hzll=+V8 z5Y4MQaf(&DK;09t8gb7+k6@u#JG_(Ko#AqZ(+ zCAgMZ?S^Xfd4nLX&gM#^Upol6LMl!93~4NUGE_Y%X&agt`mxM>9dIG-Kz5#{kl2fx zNiLh((-lReNJFyo$HH?2GVaG1EZt$zfS}b)BcQ8Sxm8z=P-Kgp9F&zsAaaO~ZywE! zQ4Bv1N8$P(#)^kB#-7v^^g26;oG*D3Hc4*dBOCbON=vKEiWfRz%U_RXMP*82bgkG| z9)gE6dZ+Acz0OAL`*l!+pGsH#_p#1wLX;!uQ#Q`rl!ucFa zjSNu_3Hhqm%NS;+OC>B(;7(FtC+Jl=y0HQ$$hRLTBo0ZP;4zLD!huI~%@;(UVZU25 z21b#(*r-EO?_2gI;Gjv^rKdCH+~W;^+^QMsP!xLs^%Ft}GlUA%=Q`HFw2}~1IKnO+ zxee_yw}5mA4r~`zz@;{?G4J+N;q>*CaLAqk%{nGF4lQ;}s~o~E?p!+8$t7BJ-dgY< zZG!xE!E}-32<`;3y1AM+?&C9-G*7HE^BkcZDhk-6$ z9WV&zL$0WwNJhqmmsebwMKq`^zo8|%iUD_%yGvfw*ws(6It~AZ=G%w2m4=ncW)Lvc zGn4^c%TV&1m@3$?GS#lv&1eZ^Gizfhx|vluWLtoDt|y?AX7`X5?D{jDaa{1NVy?QW zHCLCX5)n;DlvG8JTCKqPSV8ZAQBxJc`48&_Qp(+_|G5>c9lh`Bu>XcNE@+r}NHp7v zS*^8CSDT8WIBQz0Ni)daHJ)KnbBLmq6Adr1g^ccH+A13Q>Iq?swxE*mW!W(T%rXS@j;tZ1v&id1v10`VIn^X}es7g9}<+ zv`U~Es#01VxBI%Et@7n9M;8iZ3i*C^h-9|b$tCozz2t4KSt8`T=0)b(re}_h;#BJC zHlHFbf``2lYl__#xErjQ-!q``nWHkyG(}c6#r5PiMJT(kn`#}}T@FXRu9F+EC&4{_ z&Er3e-HsE9raMcLrL|ysMm1}z)R45e9?Vyo-uo9OHUnpo36|rU1W#I>FD(dZH#AT| zOE$9hp}tDnjc`Vd1x+uZ@h^*67k9b29q#TUR8JE6p$km}wGOd?4bw*JCQBm|^q(-| ztgd|Vk0-cdTLVg#sEw?KEW1DZ_bx-9{n)&yD>CA$q1jyDVuAgUYr92+Y=@yvjjLO^U)<{hgMm2|WMIc)X;9b1kdE*0I$@gf9k-{PUGj58ePtBR)wGs_An zc<2qR+=N7l{mr6Qm`m9eK^?Cfu?1LFvVBWOYSC zmXE8+hN*zoSk(?0U_lWaylTDsf-{4m66qKF5n*G>Yb5rMC(Yhosija_%BY)VjG@qb zUl}byT3;#_58VTZ3nK3KLG;;TFJkZ*F+&7XfPtqEpnpP|`<24N0fi3j7_(I+x>T|c zDX#rh=C4=umiL_bp_5?cLlwn7`g+KS`CT$%gfvnPtUJ`>w_%XSxX2qWf+BNOd<6~> z9wh$l5NA*U_Y3S$7erhA8OdO_=aPr2;H9Mgfb3+lXazZ3VNdC34WXh-m=qN+FqPJ{ zvuyv(LXZMMyS-CiBD&`5^3>m%zb{}8Q;AEsUb_FYZ8p`pD@wAyB^!+#>y=DjJ?*0L^Ctr&Gl#EsTA-3s(m_ASga zo;gKy~gY9L31$mWJls`=8B^TKZ#aMxE_*eC{syowhhsRuImKd|oD z%VPDiGBa1srE>F`v6mYCB+Loy|5TX-le=YfZ~dM>w0nTjF%o+j&srm9f9EIwE14P4 zsGLpvh36qNH9y_!uw;-;>eN%9jy93x_NHB{3&!!Xaec-zX9P9;U2`wEV27DTIO}Ig zO>F;>Xn+T||C3EO${QswsNILr1W2)E&d0T8W%YS}Pu)*c^HQgD1vwlPr{;Zv{K*jv zW9rgMB*+>`-6N=qP;^)rejj_s&9}@d86fm;iV+^v?9`##0Y69NRqy17WQ zK2yE4o)F4iFnIf&s4FipG2%1No^OOPK6BW17=I~+H$VaEK}T112c-?kV4o5Wlwws} znZ70Mq%1#WUHVr1P~I0G9@3m4S7yl6-BIT1E>Ux1JV7<7w}R^%EKgz_eA^~y2pLT# zwZ&07q8;}LWm4NLx#LoSp7Xi9>T-40X&J@(en;(x=~637=L@%r)W;=)XrGwb6?7qA ze5lRi^`BzQ!baJqo0VvJk5@xaJ};TPcERF*WJ_LO<0M%3JgoNUp!?WYuTlH!ZBVixEI$@{^`)I z_{?>tK}*XQDCSMD@Van4I0Y7!(Oc@0X%aphmYkOtcy+jdu$;~cCRWro;bOLz_H)ED zzN|)G1}7jBqJoF`dL)H(FPae<7qFs+LHJ0ksf*R)_G#*ppZ)M_E9|k%KC6X4-^$pJ z{pP%kr5`eeV+!kJ={5dlK5?j6!Y2UXL%Z|5hQ2#al|WpyhyNhKXeV`w418j3Ijk46jpxl(4yFFH~5f zsP~wIPE;)mn!GOJN=NnQ9&!{qOc^r^%ftK7|K=$`kZ7}gG_O1+ic+zZI6DkXgA z$?cVGa0-sNj4m;r=1=VMx}QO%`NCeMgeVl%zaTKjx5u@TZeoF~7X!+Y%oIhs;FG%h zo-EB##~q(mpxg`GEiQ=Bbv`UIGk6)*hrE2={uL5pWpc0j5J8otR!?5E$7T4%ouHnQ zb_$N)Cqo3Y(t&n|4nzu~$cTF=2tvVz<38NP%`4Fd2{NZvAE(P+$cnD2D6`7<(WK+} ziD;zej__M;Ydqj|mzwn?B0Vh?GV2oPK})x&;0GYpJSsj%T(<}UCcBr^Bbd31pl+qn z*Ge|>$CqtHbn^|k`rhHwU^CuEdKcS5q%}IC| z^4{{^0M(YJq5ZWRp$TT%h8gQ|7$e?0krUy^8${@~3$H>W9>v^HK*Q@k=2EzE=NsQR z1TM-V*1P!Bs{}f}t=k+KXx$;H7F_L{6Y2~aUK{a8)TXv;CK?PXk!w(}D zmR=$t_;LTuszCBj0AO}0dP3u}CZbLBLvKKE4qf^shs|H=MuY5iidiO+b{v^>wY6G@ z5MlpfTUG`ilpxW+_$uXg&~>% zi--=^iHeLYz8s}2`pG}R%rEOgiNccpJxOK!ls6ZQ?yRX**Sd6teSixj2?2A{uVYqM z4sC6{>UcxjdNh+-aGj%0-KDF$E8pH2c$oUKD1u^nYu0b)*)SY3CDqlPWl|`p%`Xdb#>clHc>jrPkoNNBsoFBL$cV6c z74T&{!S=6RAf)C~27(=^zBo46KL)k3@D+~bScT*xl4*RJFE6X9QU!63KC!)Gfg9N8 z#$xMUs$6_FXIQ8tJKn%L#TMs6rdc-iAOT+K+anzBGYaIr(-jCrD9Fk2w|VNWg<}O{ zI+h4bDSdOPaoV1$n-^s1WN!0}W8CrOM3#_Y1^$e;I5=kHhYV@)?qXMSd-(jhzFO&k zft|C1+N{sZvJk~SzFqyoj~E>Nr&Jvg^$`)?L_Ynq5_ph?5F)|iMS*ZAuWW#6fd0CV z7)D^%szdzT0;O70?2n5Q*&_>IU9kKU)<8WLC+&rznjr;;gCuHZh-Ms8_E6%Zzjyz> z4vSFa%qZaO$*x-06%6kU-ZPXkBFR_|Ipb8e{+v2{vO-?ZObc$)9M*5T(XD=9R_k{% z4HSL2c8=k~^&%3(Xw}~Ih-R8)tcjDG4$7L_ZojRxNuB9*75zT@$Iv;K(lV3qq#mfz zd3)iF9_GQc`DiL7gBu60@f=cA?1f}>>mrVJP-Q(Et2@_jjUOiKR(nX*_+ejmNOp|q zs=gJh9##({EN~mAYbP!YAZ2pB)%}KP?1F?a(YMpMm_LrR?2Ki;{|PEy{tB)&(zQ>vp^-ka!%U z8_kCB(9>NR73L{dl3ZV%b&gn~SnBIYi1 zi&O&;fy|mN^wh@!sQx|O~?0u2vwjsAg|!k7`% zI)kTL6_4`4?}sJYJT{l+MN=&Nc_bFxQt{hZ$$nflz_jtfBFO(oE+ghf99 zguo@{V)jj)yBn`tGRe}K@wm84KBE~VE=yi>cOalf7m7?u%Sc-8U6b~&#-G11|fLw`n0gHxar`*~h z9Y%kmBW3<`pAg)P%_qnx*Nb;e^r>eRLMq$56H@uTYDXm7QpTBOclF86&9$y>bwXAP z+256eU`{L~pr3X(hZkJ|R0ZaO)Bef8At-v*P zmWk)h1&Y=bBcVb6}8&q6^X)V9>UPTHcSfYVsx zzcJK3gzvj@e|3Hpisr^$2m}MOr&PM>U9yj}j?)1flER7h$=|tig)EJss+PB|< zn~?f9(Ed^#E%95p3zi0@>IjG?S8bI)5avTrxet6KGIhO*#wGNl-=qdz9%G*44&j~3 za}7M4-?5;F2zLnI+l~Chjj3}_7U`2QV`c<*m$DrK!`(yv#4(=_c^V?3IHw|73DI*s zZWR6xd8>J7(MeU!DcjTz&f3Igx48!ZN<8l;dcpwh@1gJOQfb(mFA4}{c6A8-%bq;K z28y=z)c2NeBU< zQ4iGenixHl+1Dq!zv2uq;bS;yROlUjgssbCxm$M7Muv*0jz1k@rC|T~ zf=~;+Pk+H3Q8pF@;D|UU@F;bws<9MYXveE@e?MqSVZ$fF=jiOK?hF3o0xDQC38F2) zQ{K+f$BERkrNQ&h&g4o~A4~FZq1Sl#5!!^j+4Vw=kM4I=DxlMHzGZUgKirV?R6W?c4w41bEg#V+wc{pJ(pyXe&E28jJ#1iKd(bKShBEoBr=w`{0 zJAmIy_#Jiyg&}pqmQqfr{U;#hS1sA#Lak(YGKanoFYWjbkxD5EiOKOQI|$ z_Dx9$SOw`iX>7?hhyDwdnSPEcwFJcF{@*u#WPMZHxRAjbA5l4nQ;*=Q^GN4k8{9h%Me zU7~i6aPo55;cOo(uV;*)MeAgbX+9iMu@{-A3~THtAN!sppkFUOTG2^28&`$qvvg}58)BjoZOcLbbY^}?IHwg_DwytxR1=*fi-@gYNw)JxEWp`^Bot? zr~!0%(HFXgIqV1|b3Qt-in|=NC(7%;%JTSeGUzy4;NH*85%wzE1<#wug6U@AG*@%X zZV%Nh|*;npGk#5KP!rqE9E z(6M$!<0n!YeFbNLJHeh)mkq0*$#<8P68UTLG{W8Y@$5fN1=M`vbVy#u;ThhXZI;f| zxhcohg1k0XeJw6mvzExk^@-PTqj62@*<&lf-gzp}T0 z*+k5OHwKT-zoJZatnP##vg+{$7vWaWWdSBXu)&|TN~Hd{;?7`(4s*fEFM?cCuY&9j zk#d1#U`Cg8R1s8^%8D0YXXjG8hZ+N1d#ULm)vLacKLL$T4L`qxV(8L4iQZtUyDr(R z9co~PM9mr}S{dO?i2L1s?8h^oUC7-}zWgS6u~!}ewYkCY;a_qU0GSulY1!R&wl7A> zD;+dNvmhcqP6gY>Dc07bxD~~qgn@__-!2RpRUYFfwDHl^#F)7q+GsJ66nV4C0AGC! ztn`iBx`4kx^-C?mr9K^+nu}M<(B&D(P@%U|Myj?9r=&CnBwHQINJEuVQEXTa+0A`c zib{Ym0$M*1jS0@duOi6|CXU(*FTc~VQ43B3sJH4~#pzeuGNG~z)4L{nt-Fpm{Bx!G zWnd91QuGtgd`p;OlYEl$2GJ7>{BP0wvG$Lnfo<((NJ@f3TUWZ+Pj;%mnxEOLu8ZIB zu@ga6yl$pvTxq_vu{f;ziq$S$W<>UXqKnvdFMtx4mz2v4oi~4}4@+*;N!M1-?hZzF zvKq6;;O&`=lQcFfSia?2?F{_khpnts071wgs4~L2Uug60OHxv!cG%J}4euc-vBBjO z8qp(^x&E!B>(h6q6Rm_!q0Fh63?vdK@5l|ZvQUy=H zM8CZ)l|Rl!rSeF_13r2d1Q8?e!g8Fwi`WGuW5)&0^!o<;Gyo9y|Ae^2#<71!HSRNh z9YaOygq5r4M+fR~NCPQOPOrN%)u+33q%;VGS=@109br3*Al-f@1jyecuD+3t@2w@~ z8R_;oLM-{PuKb?!RH|%oeQn@{Rg9~p#6b~!Gt{wT72N=i`-@)43}hzAMz*HkTeow> zeq$jd{Zw~u&~at}_GP(`T5u?!@RP!j&A;nvN~QREe-X&6%J{`@btZ)aI5L*H!evHU z&A!ov^`gCt4q&2YhvWq|} z5X!_ODpmZ0q`{%N_0#$=Vq7k+&Lq>Jk%q=JYZi^I`C){~eyNj0!3(P0Gvtc`!>P7+ zN$?2~-L#-vxeux#Ff!^rmA7jn^^NlR;dZpw-j|KnGq_nqw*KdKUMgutF?@-6uKjA{ z-M=#qH$zzj5hfO=;MgzrjO(&&sAs&`Qh&o3rDMAoinWcc5>YBpNpL=1K_=$nVrb%i z=cxTrQg;xPYvkd=1cJtYgfWeYtUaMecRzsjDcW`7dVy;)=Bf%?O-%!tRG1XmgJV*# zzq4~n!>HN}KHWNhl|#NkjoSklo%0~048TA3xIvUD1~c*Hp89Qn5^fw{7pd_dTFmH7 zN-KsmqbdY_oX_6lN@vf=h6bwLTzpSBXQ@02AI709Nw1Hnz^aIRe%PM^oLs5EqUHKs zW&Ov87t+^JaK}Skzn_s!OkTHy?JH&3IU~!e)^Qb+m?qTL1`u8=oECiMyHdr4t&reS zGv&WbXMds@r@LF$#!*r6{Lw}1L%-#>III&hAmo?H&xh&&B`$xU+I3hbUR7Kwd)9GE;CsI!*j<2Tf8B>`tH7Dt^ z8@yqw@I{57WTg?NXlIv18~_%kO(yR%*dJ;>^eI@BEo6xO^}VX3_amk@W9on2A4n&h z(FhQCmK*24|{319#7XA5Zlcf zHpj+{0nwVHCx{)jh|A|sEaUTra+py)7t+%w0P6^j(7U|Th^Nl6#})m%a#~8t3abId8e|ED?aXCVb5ODgWW#3i>$(j z2PcNed5G%0tmMCOjf?C`tgoPOel=bgv54n8{sOun@GYDIZ7eRvc;7y}flrdDT5_}D z^~RrZ%xeo#6$XUzbRsh^JONiaMt?@sax;T<6+mn5M19W_0n{D~DS?sgq03>7g>rT- zD=)`Fb}i@=tpcLeH~1-$u$y`U;ogK;vt(O{pk4lgjM0#ElL@7>Twg?JW<)a`LpaPx zsjQCA9i?*9iR;IE&93+(Y^`~nch&GAj|wdQ)4khTjwhdrID5!1BkCE`T)14M;|m=e zg;#t6dds)$KlUbYs1Iq8e`)C{f8kF5jE z%*VajWk#nm+TFJW_iwfrpiE@m$FUj@D#qh3KO*81{l$}IhANnKTJ9 zgKY&85o@sK>Q~akHjp+b3*MVS{P_-<6fs!hgX=G2vk{Pg==Mhb&~<OBx>bkw|3- z$&n$`Rh{prU(f=vMVQ#tnSt@HALhM-72!9{Nje!erv_5xV9n%?cn9$kgf zkjPs}^Wz2wQBYh6c=!VQrTYmkoEk<%iGl)bmG}Z=`*zkI#Wm?w-xz#?vQ!b{D?;bv z=!&#+!|>GN`rWU>2(o`V<{TBSVLe@(_pYQO5QVI2>JY~jyp)^kX5OQY=u&sLgj0Zp zzZgEPxgn7Vq t^RZC=wyfY4TnhQ#7Uhf|iE*Du!647qs)`%=(hgg!C0AI9Jb}v zPfTsZ)VKn$eU_8wA6QTxf!)!pp9IGm+c84}*jW_Ijr462<)Dw(52|?i3})z2*wMkL zFmD^=3|C!;($*XvB8T6DZ_aKs{TY|1*X6hS{gfJ`CLL@2gwaPB*YJ6eAw|USTcy)L zW~qKsuCBwWW(hvRTNSYdm9|Z|7<{uR(=_`LadVzdX)n+DM#^R? z<;~(|oaUZOL0Jmln|NXNQA9E*^6SGbrqBXRKCT| zFe}aVb1QW4wOD&bG_v%cltqw zk5JlB=daKTv6fiB7x@vy3l`?A48NI`<-x&kCIZCX#d*FU)U&|s01wzM-mm=`Oqp*8 z=>*HF(t2LZRn8(%~AgPPz0;3}T+8PaIVD-6Se?Om6t zZAq>;P-J6`8LG@5IVSb^9*Ya5(lz8lDh%7kdo5To(^T82XE1}CQiG>p937T1fZYl} z9YurvL)ub245Sk@wHEz?{a@Y7pvp*9AroclZ=!DJ@0_h{GE4K2gRZ`r^ zLzRiR?U!o6VAQVK@d^;CmZ=jAaou)5V(I66Le$C(u4L060fo0sRNT+!rbFR^nSz=k z{vKF_FT=>?aNgsaZWpTMns<_-CSx_^?O035{)!SHcvojgZ7 z+VFx`z4)oz(u;>HG2s$W24b{2hY+T075wIhUwdq-V@x+#p~{+tAGR0JuJ|9rx-czK zBXd|5N)A%l4bXYURA)?yl?C&dC15q2q{SMl__Ah=tKFRMp2k&dJntS97nx&Db}BX_ zS@=)SAliIc8LT`#(sz)-Wtf8ey+D%yEG$2j3uK5+mf6W|4$=X)okgHY8^rh-%1DG> z@q((*0aJv*88$XPNU&CfN@3lKt1!z`L)OizU>P>Elu@1W1QmEQgZznVz9rAk7_159 zr1%D8!9f6ho`z@>5H6wAs%`KH?eGSL|RNpr}UG{jVGMrm)qjf@ozx zZ>L#kdX)FqwF=|Q5#e_Y4JjbW%HRswAjxj?P`VqcRERUR|BV?R$P^Eix_%L_quak-g_0-`!x;i5hq5hdOoC*f z@{DJ|SFLUv+~b8C!6QO+6etT0p`8b`;o8Qub3xCh_ijQVMmMDiX|)XztMORJU}t5- z<0+Z!Ad7JveVBZxAJxarUsm;F2N{WzFPz?f6@P~GQ}|dbZo%?#C|V^xBWm*rjf8w| z3z1N~GL&h}$2E7lj{GPAXjVkM7jzOf8EZ=eVOSu6E`3seYo8I($UiAz^@uou80O(@ zZPk&GJrPM*YEJeuc_r)qaaUlG_(BxA-PJU}>^n(5;}{g`3Qh20g}f3D3I&#|MB=lb zJ22eu+nCm2Z$1Z{L=9xk*YE8^R^Z8-98p+RH==+TlmWe|n*vrmn@)LTzJ@aClG4HZ z7O1uC{tzHtU>}SbkBtij1L9q8bOtp9Tq-m{hAqdsORTVEhzb&^#f|3a_oA;JYsS>K=`<)3$N|{M+~+ z0jsH@6d z1Yi)#EeBvE1+!=)++SSDLN4SCF{>6=26rPr<;K9-VWV0n2s%RIiarz90o^mG*@i2X1d*eztCIlB(q5T$Jgb?_2cV;ADEF`l}AcU zFv?i6-sOv{d`FRF`?z6jRQ(}4(X6E9>f}uG3s+T?djncJ&#`K#5tQ#0Qj*1s%pX67wyAgxZI6DAxwv z%0qZg4SCEYSDKych(XMZIsgs zs`VnU)b6PMmsn;N%AT7u-~mzP3d5GXpR4%#SV}vgW=fI4b7RRWY#3-g+p4EFhtEnI zfK@z}hIhgH2<=<1=KhzM*{rE4{eo3jmym=mmzcUUdGP{QoXlKTQ?~mZlaTf5E7&77 zQj%B_;imbRE@TJVrnixzQv&4#RM>~NFi6D3Nv9cZ*D4To8&!EE5A!Aq^HE z-QL@gj{DYT75srIa)_un2x0tvWmr~`fmPt$g+`N@K2)HV7VO&?Y(zAQcu0fbi?H`y zD{*)&z$0Z(VduFcv!Qd72%I49TgVff@m{%7rQiZSx zpIt20K_G0>MlL8K(z4HpW|at$(Ei!Aadzw^fneBtkL`T(IjNEi`_p6LFIX*YbkqwO zX=znB-q&__KZ6=qDhoKEfD080i_dAR&?$Zb8nbzUWshcV3!o38ueG!^B0@mBW`j3Ii(OVQW|pmf z^L_RWlw&`lV!jBI^i|&e1Twy@>YQGr$CY>%I3x%>txLy>A0%s51<|PiPVE6=b`Q{% z+OOz_UTaN`g#NLbwr5Of9%d3XA_qzWbTrxnUkQv?ovKOP<&Z|Q!d6y7rX6RNjCTvy z9L$cVz*9PkGPNV^H$w6}jUbGEUlC)Fv`65$+(pu@ZVDsW7kOgYlQ%TZvvOhC{~oV9 zOAqM#j5-?O=eDAu^+O#=u;m@>?!ut3=sVOe5YWl7>V;05aIS1oeO_?AuDd;&39NC( zAj5{GF$xdZ(z8g%u;UT=C5V2=Gc2+>=UZh&@oA^6Q_+yOOUnZpUwJ!yUZS5#aFUx& zGb5w8joo2qn?0%Ut77vx^g90u`42met5S*}t*Q!IK7*PoujWNH7`laS`?!N}wlpu0 zG)`~VIRrL6n``)op6*b04=X)T5L*eF-e>b)dPX&OVDJVr6kw$%;4a7sNn+^-nB>&o z5W)0jRoeYHQ}qtA1>V&?moB*FtnTC|o^h|X#2ygx_?nG)#y+=W#Jo&dTordb8luQB+bCV`i$H!WE$zKLV~3>tkY9PY#oe^_+!Ax^AwkC|WAZ1kd8C<3U;U8c z#_}6YstVM*-1z;_?Y6%3$s#1V@%t|98)O?h;G1cR<09P37gaEGnx@hw=C@dUGadjFAUC_BxO?ZRAmUv_v{G? zPBZ}ly^6fK)VQC!)I5ng9nHL7b=q${BSUweO9NyS;s=a>z&iIQ4$`t7l8o(Bs+-LT zpt`boF@LPH3<_k#1{o*f^lSApW14qrj}saq2(cj-X$`p)WlD;+4?#iows29EDM`> zsy@S*NI#f?FrIZ!5&=*O6}$lOzLkq}b1#`ia%ssu*%!*0GC@c*c-bGuYo3TvqDfGpae4>JHw( zS-5G2rd$a@i6AhY4_UW4+)mx2ac9AvMFt%wl0n;k!!M$@&8o*V8y=W}+?Iz5IR`6y zktdV&7j$$O|EhF@j@P9NxDP0=O=pnBB}+183j!znM@%C<_YRB1&3zGHf#n5z(m`s`yghQWMXZ?%rn~wNYH}*Zy(U4yMa(n1Gnto;XK}^m-<}vm!ME&! z57?oKl*QJM_$RB&KxuB_D6a6V;&NV*wTdW65sT=6x7EEBjQ-8tOU<8P<_TtK5ghNi zm@h7tsU3Snygdl<-2D_7Y2AN1cf=-PfkMx5C4sP{)6oS#hnH~Xyx{T_>~i)Sa1HOF zq9Z6fysS<(jeR78;u`r`5=Px}OTu;AELK{;{*QW;sOALx@+6GcuF5alZ@U!KN6{o& z2$9jY7-f3;WlE?Oab^6umhbqEY}NQrK;!;|1;|M~1tgYm`6;J*O;cgW_k>-R)flUG ztjO?HA#IWg4#93Zgrmxff5tOm`)~rCXegK%e#ZX(3o0j3rA5OAacX|k-fGsqLAxhV zopS&6Uhp{lG}|lrbJf5C8hrJ9mbPGCuN%i5dA4sSg5TLVuZanh{qChSVf8WOvMUJh z@d6W=UKHJHD=R8eUrD*S7TPtN=z- z2|1IpVJ)%XJeUaG*9ABIwpFG9*R_PxyH!lMv%nDyKQqq!&g~+cINJ6GH}GOWE2V@( z>`oD%FX(MGX+OtBvJ@g=%nIuY)S?r%zY6M@GOTscGnDzdK-pd1WS^@ph)!zm;!01k zz6l2gm$1A4^5m)%>dOwv$$FiI%VT76sM+;TL~VrR7(3TclG6fC3awN<>@MIdYTp@t zxL_{1{P+HkFY=x)R0koyEl)k1G{f7P^wE%7oQ4;QgBRUpzhyU;pxtR)( zZvp6@!F=-&@C|@ef+l9PvFW81W-UdW0MA=W+FGsfsGDh#*EQH(%|5&VdOePrc>*ZA zgkbYF%ZMO5i5Xmew`+6VkXl!bs8f<;bjYbbprM zRI1YjEOi&2fg<3Mwn)*mdw1n}MJGgy6A$yAHJ*@&tjDs@XG9}C*A1NZarl>Vy-r6O zsWV%HM}OvxJcZ({=!;dxu9mS5zvL!t#yeO>ZBKP}(` zc6XR4a~$fj)xlE4dT&qs=!<8;Gm>HDV0SkjtXK|;>8hI-2^6-{{A;7?CTIfWY@h+E z*wf(`LUNzytGgrA3*UlJ@+j#WOu@l?UO>Kxee{{+p}X7ZrV#_&wuvc0Y%VFXhIP?5 z00I-h!r%~@uV+A`j&5OKpP@xAx@&V#mb7qo`?2N{`l}@zEK0?e^2AC~6)!F(RZWl* zsFRicYp6FPnlEbrHULR4eg+_t1`R`erP16%O!b?WA*iUQB%46qs0fNS7O^^1XKbQ+ zusp!`j0;@cGpf}05b+sF8D|-qU_iV> z4dwtuoOYQnv{j6*YkXJGH1ua$Ob%BQ)xCGZ{`S6OoEz{gyAbA^K?FyJp8HJLPjJ*X zoqbrP<11FBdkU|J(rRV@p^V*U%a|FZ^1A!;pa!U}IWZ8jn#%4wvNUWJN9McTFh{sG zV(z)rL7g|XZCRQd)e4uEo!XIJFLjS<$c46ODH+*q-AE)zXgfp$EAb#c>=X=_@WtIC zbq&AUu$^1F0SGIe^^H5}!KC@-GGa#UxPOo9nyu9&z-0)-D-Q0R`=`3Mq4NKMZdR3T z>eyO}2FNpxu?Dbe>+c$SLXor%&2>{nq6>PC2+@s}V37(3Lb|A}rt^0#S*`EN)#{oI zXn#WLBP3q{ay70pjs+m1XnLgi2ZHmtq6=`|Fw2VZ_)>9Uh=zLNT2fFb*7rq;hcie8 z%}Ih4lA!Ktd{bh7hia&2blbuEpB3o&8MCB#tvo2-;C@r%x~Q?GKF3jG)+RAzz*Jm z1>&~mCL7BJ5eU%QP;}DXB8k{%!btTlzB`yLA-ZTVR%l+l#L25V5AlKMsV!sm4qQ6^XJj)lPt*)%rE>~gdS}xG z7Av_+jYnMeRU`l^>98(L_~)w51D2w>`#xj+xjzw&&&I}h$ItFKrMy-EDb^4Vm=d; z!-fWvd?N{u_phidBh=Pq(v%qr+Y?zs)e1ULz0qBksS2!Ig0Vli}T}d_ONr^%~CyGUAf4?VVH|>;2T@vT|L7X3t9_@+=WHUsgxGbuJ)0i--Ss3 zV_unCzGVeE&;MfBD~n@H#2~+lGCR8uD;w303BdIgU%|~D+W6$1G?;Kf+TcA6MVq?h zl$c(i3@;3)g2Bets8w#CstBNqTSOE=>^zTY_Kzv;H>h!(oj2Hq=IEm3LOQh1ZmpAm z9Jv#Kc)@X+?qy#Gg4#B+ppNxVJK|28BKAGp(|koI}Vk*ov%i_g}}QLcRP*z?BK#y%xXx zh2@*B-z_M<-j1UCjV6Jf8eH5o{4NSdXyfb8BU#5o)FA8_xjFZmpD+xL$2!({oyoSP z4g=bi*)OvF+PQM3>Bv@6ct$hy37V4!p;pO^m&VZgDP8|LepaP55<_k~K?-9=kGIRJ z;M0&dRuSos6Z+qIR@JVqJPZ8HGY-5N6~=T{(sivt5Z%2SeJnX6J896J)}v)7Nkh9f z;m&p|a`n4Npv4jc> z@jA6XQH=|(WVkHA;_uVV5?!{&E%aSDy0Z7sV$N5U>WLT`dPoYm+&B4E%)n!rC2c8g z3+anm*-lXCWWexWR6gAg)+N`5tA|a9)u)KPhOxvG>MmR0U>(D^{O+!k?2Zrj=H~j1 zZ=Ng9;%H;*b|hdno;RFC=0aBKnt`O2*35l1g#_`rz(Z_+CAM&DZLT5t_G?VeomuEJ z#GC1e)9ATtdZC%Eq_|J=;jMIJA0GrmIH$GCNB)dyPV-AgXc|mTT4f4b zBrj6xec_R&Es@(tKA%*Ep+Q@%&g}sl9QDXeC;Ve=!Qf!=i~~BNP3420v3)0eDVU@W~7F@nf6R!`Z#8RHNj{~y<(ci;$D84PHMlhpzs;4iXfr)M4NIU2U zqPkzdN^0-!OP-rR+#Rt)bFyA4Lj?Oy&M)n*yQsds21q&68^iUwj^EDG!WkZ z7M~9tUa=G$8tD3w4s`%Q{R53m;%|Y(KIw0%dAZq=w8qbH#%XejA?#gg9yycpv?TYcBW>kqk$eylJls|S=0$>-~j&m=n zHZVYUtk6uipND1q9v?$5ZliAB9J%0>(a^MDaHryeF?NHU~wUQCO!(qeQ1a9vtW$TlikjQ}(vB=?PT zG8kM1pM8{&T3<4z$20t-oAV9<>u;2GdN4H^1WmhXHsdFXq_+S=C~WI6|VA6#!dOc1d62G~XTK2kEw-?pD);#0qF_ zVy(up9D);kb$oJq##RSqy+K2S|D^+r2wq1NMqEit6%aGV!Bq!2WKX%YE#A7#x*Ob; z{yK*n(TpVCPTwy8M3#ltC*l_%yYi1O*zfn0uCep|CP(|79RU=%ZtbsQeYknMy7EYP zm5=tAu8{+ripWNDK`Me9?NpU6L+$`KnHyzMKn#jIgI(D!TCq0n;RLRv>bn#|$NR$A z$MGYcIBnQgt%g&TpxyY?+UEWIahO-#Ttf@CO06sqZMz(Sa5un?A&9RNZjWZ3?&da$ zXhhsuf2@cU=kf8mY_qCV1h(zqH*Edl_qOkDOaOAfN#+QwyDiK1tqo3e7OxyG4{iv- zwU+>L6vbK8ok^82PH0h=PS)~1>;91KGyE-9p03I8_TRwHTmnP z6sSss_@vVT$?CivnPVx#2t+708DG*8dyG>iVG;ZBu7r4;ghAF{Z%4{w8cEyIXxMur(_Q0TjJjirW;*l-@Pr1cuLfr`BIp&@-l4^|tOhBKFg=3PB|n4OUu-|82y& zINCkAfP|qqHdHTO%SmX(SYdVlYu%YnbwR4Vv9dFp|NX=!46IbXGpUI?x!nOq(ejw>+oq^?x>lBE-OH` zL5Di3^7S6uoc+U>ffce8t~{E5K@~ivk<-0)FAN&)+Zbi9#b~v5MJ}y09i3~9*h*rVl{)3~S_B9KGs^i8o6yvemu?jxh)v?M`>ws2H7xQ`6& zKe&fTE{A#Xjfw%b23Jw5pTTAHztE@KmRjfrZa%!xE!jn}E;w}r_r3cVTc2BQXqDCR zRke1q|BvEz^$ch@ui9I2pk+`r9NgEo5%29YK+IE8r9%{FW_7TOT$u@Gr?#>f=&;2* z{}oM{x1O^Zvm5d)2c?gTQq`0MgMn5ZQcl`>g0xW3ox7DRAxk^uFh%ZKqj@%ttB!ca zGaGxfpI{yNr(4?!ZGC-N7{!o5Hb|_Lt8bw=KOx z5k!2zGUc&zuhMRUZKt~9O)PV1+WLQR&ONB1RMH?h7A(k=X^-}F-~GSA?;KelV)Bae zQcTI52FqX95%rOp0-k`?6xZ8s+RDX{Cl>EY&I>*tht(BiHf`?&kFjqs+=#pO#!Yep zYK$s!)m?u5TzW5XHfcLoo&5}L3G*L_e>T+!kCJ}xd4863L6b_goP zi+Z~1VGYAS?Ps15eZM{L_7OuIb*~S770O>QSrsl4>01P@K8?p??f=@+*b^-bVAs2C z&spD3F!SppfjfR*XBLrcZ9iN#r>O8*GL|dE{ZET9Mn9Fsh*a=gQ%@dS*gQX;QOz>t z>VL!TU|B)>5>X9)-EN>O!XVP>Zmw#x*4bb+0m~}1g4QYs?ptMW_NoBvf%O^KETk)u0_MC73ZZ#Jrtja}t=)zl8U?!Ouk9+NkDR)o$1aR0M@!P9o{TFkmlGHiewZ ziulyg3T=Zb%h?6Q8vj+%+T)qwq`zUSCj<4su3!~)nMu%^$vZ36;*eS?%_W;SBV2y9 zsaIcQb8;%@>?fi+LdwjX!@04>vD%}b)M+oeQPyQ@!!#z!yJ{Ze`m_={$2#~Hf4!@S za<;mAKSH|(y1Z^lNU-7yg(m==BF?RVs+?^KZix2*K zLU!>f>)KEP*Re+?YFU8Dn7~LbL&)Q_%ehXVM4wYLtH)obtRCAuP1o0Cy=!cot=;J3 z(|{OUs_t#suc@0YN33ogGRq*U%{z#A!qe^Hovb+G@_V=kM;!v9RnZynyo#cgYb3<~0-ZrD73Z20@fQ1ru9wTjBN{_{ADI=G2bC`?k$8qCw8{b2O zkw5M%RE75Xp?Eq(X4BEUFEuam)S-H0@6|N{?I$f&OW(T4gexPn5_BH`S{C?$q>IFy zE~~NyN*5Kkj@eH684rH$-|9<`YRn0&vHx0BrKG~42}bfZSsqyTyMPVgF)OZV%dsAr z0DEl$rK|uW#3m#9Bwm@$&$tG#wg=DTR%)KQjYBxa>Or{+*$~U1zz1?k!)5|-EU4rl z*zCR;7i1~Hnm$9CPl{yT!7`|*qqSiV5r^V5BJD+es=lp48uoaL2N{sNTQDr3B1~d` ztIHA2Oajd%deS~HLepb+gDlR?TS`&bvg#tOGHO;F<>jEe)fYQ4t-p%%dOUf4Z=T2* zsH(qBK{DsA2!cCgt>rh5Zg}0;NVF zEv-E5@}z=9WmF6VL1ufI8ClgyFmR~jeK=1*b2r_cZHYLG;B{FVvA+}DPd5D5A^Y>f zxM{lu$zIk5uM&_l!Akd{2cYeDB>jc+cJ!(*v?b6FVSDolbAIehRZ7MPMt8(eP(_z;ILP6?43ntv? z!>--#-dM_u{)uUnD^A8_BpLK(jjkf9%YxBoD#MRsZ{MySrUnT{YtGOTUJCQrdk`i`SSHyl48&v`Fnxjj!N@O z?5>wmmOL;LU42)mPe@x;byT#Q5tp*PI>%34W?<+>$Y*4Ykz)bcoB8Ku|IP#*_IUX+ z)KSEWPjilj%J6*LNakuu*;TXyXMYCgs2z z@6lnkjI|L{hTZb&l8PJ6s@iVHxI-zy!H10-jtZBCHM;%@X5<8CXW}KdZ4|5To5U&P z1FKdlgyP^&NuLd->DiSR7nso~1fZcLe2DfO3#D&=Ep{yf0TX^q;)>PoT4H z6|MScV7m+jO|8(QJKZiG1HzGSI1vx2&ol0?Cy-pU%FK1w(;EKss@Yf3ffO(iS_-J5 zuI3EeKhZwR(2}n=)i;l4WOCB|6z=={NaQPw~E?m#y7kP=4(^ zGic1h9QX-oR8){QYjB0ih5P@wN<+2xv{pI%tNYd{Gda&P`kJMm$n?Sar#)B+xiKF7 z2NddJzdMK=oq8ex*VbQ%uyWIfm$0PVz+@3un7C<$LL0HdLfiC6V|89P>NHPX{I2$Y z&&c9D=a-kfkQ@YQkiZbE(w&;bUPifxdw;%yJRfp@pg2wu0kYPiZKCffyZg?|{J=vR z0E3==>*;)%RkZL5cNNvnu4gr*F3+$HU)}mxr3fsML{NvqfV4jl9r#x&z=&xac1WG> zPq&ua3RlvWNb{abI?>-V9)bLR6P&+G*3%dFHxTxW|tue_dhb;JAi~YK`qQ&Y7u_q0j zRON>@DxH_=z%Il*9AkR+R1V1d5<&Uox=>q3SzPaOgCs^Q^28C@&Nw65b)wO}I#vPO zP(1jDK8nXQ&~!a_ubAKy3Z4SF*CNF;vrd#?4yImjW`*H&SE;T;g*7 zN1;MY^D$k2)IC-}or>;l_~dLQeL%R`67~Yi1ct;@A{gk^YQ8RzYoa2OT}9((y*a`d zrw3wZaWLA>c!LoVby$L2P1QE9;Qjec4=jwf((eQdxZ&GU%@54UGo(2;gw9#vZ0x9~ z?tFOx7lM!79OvMRrHu+49Em0a5x^1cMu9hclm7jt`i#eOcEj&QYSfI5|F#*pd{QeJ zI>&SiII~Hp3b;q4?$D-!g!nJW#Rz9yA)x+Z!_{(&r}Vga_Ksb`J+&V*%YL)xy3=4_ zAl$_*xDji;R5Sg<@3Fr}1S6kO&DBq_gbhC7Jh!>=eEyySlSdQ)9Wv0KRR+$KuLOYwJPY-cn~{8Y;U@S1MUk zp2k{9q!pjhv>8ovWGira{aa}6gMC&aRS|sKsE+R}>((%ZRW#3IEw}AGmP4H_tt9Q6 zu;eqSdAJ$iosgophTAd`iA?MZKHy2%w_LLJLTUvFwf#<)w5zUJ01#8w?19Z|k&v$Chrh!UUf3Y|530u!Mtj_atps$&qoY^-`|JCD$aSI(3L%oe`ES zYM#G?r*C+pV1mh6QA1lTN`&Q96zBot1fZu#2@h7qJp+gNaR2M}tj^8s-p;$*$Gv!Z zk7&wpuk7IMYI617b&c@E8MH3lNDzf#M{MQf4TvyDNg6WWx!heqmPBo6i(S7B%8Y5$ zxlZF`GB?ZW;;z%8&Gdl-m+DeR38&*qtyQ>pA6ObiJMI13!C;}Wyp@?7xA-d8_>E2m5@mwGu-1J6IG(6s#9@h%Vqo! za}IjCLAo8KgtF<&x#s}#S$BPxfCmS~Z@XZnR?=$GJONeH>c23V)IGWz6>81UnMKNg z6`~JK;p%W31I4$>at1UPb#ONk6;OLS%i6F>7juDIUTm}z2xtAA?EVqIFp6*Tw~R_0 z`6Dx;XE1Y<(vb7EXMS^%v2fjY&SOPT#OBAx*iEQ{J(R$Cddf$lX zZp8WM2S@}2z@FmJ{_W5;8A&QD9JHO?2>0}$|G6oa-Xks|B(uZHBJdOlpS7ht#kGEF z&Hs&G?~W1Ad_Z0vp!!PB&%vty12`})G{n4kZkAAWAB;i>RihFzZrZWUyvL-z-4R zW;54B+jt0Is5BDzi{mSC3qPjIV$e6d$`Qgo3~}Ty+lOUEl&<9&%S-~0GkM4?Ep=ZU zqGJG*s7ke&F>RRb7|DVg(TW6VW)Q`-Yq{K`EF7b}L z)%S_$t}Ih{Kh{kCi<+m}mA36ktvI?KrZfQjscccx+qm=5xocmk=GIf1mpBvr4YWOs)>%!1!goU&(iZxPV@EtD6 zNgqwPq^neO8Lo=%b`wf9_J|hUuRw%dBW^&zw3p}aAbv(vW<(iRs&r(L`tf<9w3cy7 zHLELOW)h~t_ZO^eDc_I<232&YtLCEY@nsY@Bbp^{_sRk{#dh70JuY|TRHI13gEvk3 z3_v%7WIew_M7t9KNS$TP+5Z9{D$K?gCW?}7Q&xILHm6`t*JQseRSA773sgm;M8FGz z;mAZG7k>q5k_9PZ`PGF%?pl~N`Wy9k#xpmV-N)XjC#qhF-7*Xd&Col4O2(q#CO_jsS&R1iAPk(t*>VWuf{qUA0{c&?7U|+ zSgxfE{h)73'B<>@n`iCgcU!JVBe#~bd!Df)vM7@wrzj5vN0GI8x}6jkaXGGAH4 z9P945O#kt|=B?`tO-o6tn37!n7x9O=rvC$?VPBP?SYS#au+;7l|M;rV1i24g%-%!G zO_{ml@|#)AH>mNsIa#yPKW_ds$=%r{D*;sOJ25hMzUaOTC9J3jMfdmDEBwFO01N5+3}PM?eUCe;$|-ja9^~@ zX(Htw_wI5|wK*v3r(?jWl0B6>`>VEs)|3E#8nk$|@_5EF!Dr6LWVUF9$vGDU%^p?- z5xI~g05y(HDSYHSOO*A?8nS$Wc@$*YwtUXOh3Zl=z-c{Su*KiFM!LT0Lm_%nov66!bK1As5A`Sk<+8T6 zjaFCWvwuSIGh}CBgx~{KZL4M~{hf?io;8xmH^1s_<=}((b<7KsS-qd!ghU3sps9|j-Io2lzejP6C^8=Mu#n^qvLM>A*f#mX z6ITR&EoaBCtpv<{L}c$~GdP1mkR}Za?ewO6GD8`q&~+ke%S27g+O3(zOe{;g9$bf0 z-P$SiwY7 zcxvh;SW&l&f@pjOHKdR(JSr(K*7urF2s-8awEFzoG$)YkM5re%XFV53TFrK2BBz_m z0=naR(I=hJ)Dg@zKAkQueRcpK5iRMIOl@0uo{@^^8p}V+0z~(63H~7(vWGt;N%qgi$FWsmk^&-|O5kvQDcUnE&2{C?q z5(+tXJBkR(Xbo=unhua617Y-MKA}3)TYnA`&8~keDrV0$xt@=w8P< zxuBxoMz9{iJh}FCL3XT_HxCoymr|8MNgQimQCv_$EE)Ls%W7Ttr%NILF@mF)*L4R| z@9#Hc+1KGq!ncgUnOH(_D&XP;vVh{DYP~h*d9D`|+)r#3whd2MU35N!@$TWmixTe> zt3y-;1zi;TJY@-Nxg>3v)c~{FF6TR|x#Y^F9@iNg9r+mvw#b?CYu+0{jZYi8q*3iNE2Dwy6RD?B8ac=xX&tupXS@rn0$Kw|YVUV`MX<8jcp16DCW3c*93F zyG3M+XjGP-Vnahk%0rN@INS*wxKkLcV-9j%X%#=wjPE=8UJ+2b%tIXAne^JsE=el_ z1%(oEbykHDL+~Fzew{VDtb*?u2wPdb^`GGkT9#FqcB)z8t$&l65IW{Mb{z>W&tt>bbr)k5CLo&nidN8wtcY%7 zIDg?s=_f*L6cTa>+tvd5wX$lNG;Tce0eqC9SEB({8vqCu^i011@EOpU&Rd4(eeY@? zkrQ(2Lg&*e)04>F0GM4reoJ=`Xg(&-(NsAKMsc3uezx5VQ;7o!0(;xM zj|b66_;xhf>i$EQDagm4kVZyIWa?{QOWHr6_-o6d3HWP~ky(Y?m*iU>5_O^=*f`1p z&n&JdA|KE*p0SL+lBH^vT&HDdmsxA;1luuUh_u+WndL%}<)sfLv*-f^#~`jjBBjLf z>cjR8V|-z5QVFB+6q~g$ws`_7aZ_5WO%{{~V=b&bWn7rp$pON#x@TgGu-Fgq%yL!e5nd2avCG5Q$GzMW(u3G>UcBn@3as>FCYenKW* zK>3d#@+7|eE(%j}Ip?r86#Q$)_{J(SeJ>FV@RB7+>`}1|)Arl`52P5h(~9oqC~q5> zoyztM#-tX0nHu41hm!1ZExzSXG^5slyU0|17vBj^3J&53{(*;mY~(SbII8GkO-Y@l zaSaPo247BZ5q9GG|JSM&8R*$|x%c zum;PFqpOHWL71tD_#zV#md|%uZNY`uZe&vEPQRT0eFMgOl^1vE8O;zswW|x(nO&Sta)*&vM*;QSI`-Z2b)hq8Tg=D93ZnZ8biW#uR zHs^B5l%4rPf;j}3%s5)^6IO_MSJi{Gaj4qJ=*V8$Ee~kU4`_ltZ=8fA%|WJK7u_Wv3dzcb%yhlLZAT>IM#z-P&6&2+_%&pw_15)^TVOJ-2qDr* zK8;ytIU#TMO@Ivg>@rye+#{4ev>>fX{Bv%Uq`ruQ)k??3QCza7%H1`3#J9=4cGp7) zKE#vCtl{VqWM23TX1t(cnHadCUAtQk>Z-58x{HWti*#iuzN1kTS+c~vwT1}Ui*uBZ zjUceSOiMkYA+UB8PsiTe-`R~H!B?|&ey1J4wwdoC@wB;|e4xu7vWal3on_sQP?k0M zZ}b`uX}qu!Cs=jo@K7J`4iAM&dz(@uR~}^Cx0ZR>7dFu=LP#vAf?Z{B-rtcvBdl?8 zl{89|ksQc)Z_S2)%RmeH)ytgG%)M42Lw6)> z?qh3zLIUS^XPVLa$%e_@X@hJ`8>8E-BCHq@C9y|?Sn{JeMbYmV-4P1u*^Yw!EYY=! zr(=D;X*OanyVPs?uO6oP;5Wcz@zYw7BZ0{Qq-Jv{# zm{njs2XZzPnVv`NCG1*TZzEnVNxSA`a3JX_?p(zg79=n6>Guk{ty1zTF?8jN?+hNap9L zy>&$XH>pTI_JSMcBSHF%YD|Nzy4uFr0dAXaPi3XET7hRoWxg;H@`WCvI1Qv>GrBm7 z8SH?X`Bj#*X{ossAK|X)x7W;3M-~Vw_Ll*QH&g>sbXD>(vJOHh#wLL=_9`S?g;eJR zBz{$ZWKent)f@u|GW5*G_`}^TcKg0Dh91YfJS1|^Ko1IxD~C4 z7nQ{?eZ(@dO!e{@sNbgI&ux4))xi(0%P)prfbmXMpse)k3(?PJ zXGm^Ztae@xtU>+E$N*)8v zy-oe7){iwe^s(DG$oLb#H07>|IbRfmkS6pP++`MV(&!EzLRDF~X(q^QK zo@h<2-K1MIfNF5^%AG<0-5x6E)ey;BRrBSP{_^W_^^IiQVYyv(#W!wEbw!Fy(E_1pT{wdK8=kUI*8bOUu9onB=_GQBo zyKPaizfr|)sw+r~WC+j~6;}IDC$f255aCV&jX{lFz)pz{+B2+K5V}z#^p>QsO;(P_ zW@QU9;1D4d{3_k^TMQXcPPriS-mbgU7$PfQA#eTz&^>~h2it3A>;**I3yON8&1hq&3*Qp2XjB)>29r(K- zHn6cjUIt$t)WjBCW0K)=Z6Yl>6mvHJGf1l1R(>4+Q<7@1?@7lPX{cN#fJ=!9i_GMNkyzxTaw}x>&@J_knp}sz6x+62|48%$Q<=t%rYQx z-W_g4UFW>E*)mO~AQiHk!>$EI8^px5%mIS|7GxfISATiUKtwVr372PU$_R0Wi!AlB zTIrE84(UmKXcD)sE1|V^Rnhd%IR7cGBOx~a`?V9!;QL+h{j%kh-5l1g1pA=u|9vx7 zIL|KalEgdANi3I;;DJ5^{Jw8`cO(&@TH)X*ujd)ogy1{p51oBQe#AO;1J?!{qKHZW zGVIriW;kmbOEwK!YdM2DbNW<=bosfxATcWKiA_dT|}iAF)D^w5BTPtmS~i_f4b+;Fbd!L;64!E; zdnvf@>#Cg5vX?%D8+|itOx?w&L_y*woIb+wluUuM@a@-NiWWBv2QRa>fXS=)&7SgN zB)EpX9lW7Btnk?1nk|9|^XUGgP>yi*#jNyn6qb}YG%!|`E@V4C@LVPfzYHixL1-vx zgyZ~2?L|;=21N=^ScD1**&5%niR1VgxkMGeVy+|~91WNy$GanJ+^w=PWaxLOr>KO( z*|INSghQnq%O*+{Q8crxxl*0g%2t@m@ZD{y7c-hUrb6an2Oct(aFN(3?p)7k+Bh}= zU?~7uK&HQrVw)_beZ1V6i+PZ6#)z9F42-@VzcD7B;yqQ+`;vKkazgPxMm|J!<&kfK z=VF)t6V5c1MA$ZJ$Uy}q2?0ne>Y2O?{*OR-Eph1@eeso*wdX>jI^X3*sZDKl>jooXeAdC}$FLSAOFsQDrVSay|WP#Zb~_yBpv4t$l{?HU#is+kVT z@9h%xz^;*ioZg4;-0t<|5H!UtWB0VlwS0yU>=r~t=1*1RSV|Tx35T}9&-TVDoZLn= z82TT0#!ccdW2dS8-|+Ojdz6Yqb$YHcM*?DsJth-`gtc<$iXgrzXH@A$r zuMG~0USmJ8jN=T|51h*ef}jmp`HKym_}6Eu#`Wx4WQ^8Up~1wkEo&u*I=#@FJ&0=_ zY3_x*Q3yzG%ot?d&wETr!Qc9ldtvMnR&KliBn@t9}u^BBF6^In6II zSd`TnZ|n-8e7D1WR?X=)RcPPA^EP1pP-`k)?}Kdpp;#PLzpmpSg6gH&U(#n_q-GRs zw#`fg^}3l>7R*g@WM10T|TWV|PN? z0QD91N$u3FM=x82YG-*HvN*ozRk4V8zHJv=zwG`#YaC>qHn4$Pe;!0|8r$hq-7}-Au?HFTdF$As=*Bq?PI*v_hu};wD>Gc z7zI1!FrZN5d%Zz8v-fg#9}9>zt4F5(0MvX#s!_l~S61(NJ3p8cWc7zZx>=^JA7(^~ z&L!)DaP0q#YP_u!C%Gz#d0v7U+1v@A{bv5+ex`ZKr`aMNc1D3 zac3l|=JVPSG8rshk_Bl7eylRxt}mmS*acSLf`*{cWXCy6y}{qGs_SPsX@)}yeU(iS z#Ew9u#9S9haSv+ApV?=~^6Q+Ey`*!kCyIv_L$IvhrEff%Jg$pGwNudqTJsf{%rZJi zo}W}{Con*^QcanNjyMq{OT_eXiGO5N(0&t-{c-$+5lWp3vAbhUf&414;gq2|1(n}V zEavR!iJM#I*4oThAvNt)Ny*M#_+1HjRAs&{pKuiAx})jN1WJD07;vap(SWFk_$}Mg z-Ib|l^q}q&@5WG)VV?oj`Iso4c?7B@%+gk*2Xl9#&A=GBW8VT{40ehPa3PmSzed|| z=oR>kV?Gy0E~}gQkO^<{krgNiYrXF{N}W$Oiy&RWlJ_1qWJF;~iEns9kEV~(*_nQ5St~#N z<6y%ggueWp3kL45PSA^<~Hvp-^ zGGUZ~6NYr8^>}AT;9uFk55z%5t`#cCIf{6Bl*v`>6^>8Jv43f;_1Jb_=aM!q*;nb` z3lD4C>lIk(!KC>mRYxK}hD;yyYxq^)fuK9^F+iv)t(l+zR<()#YNCo)Rw_P{su{q|djs|6H12i2u`xVD|#hism-d1!+6O%2x<wj6Th0EpE~qS0u7{|!`&e1YAL!v( z4tT|Z;EdMFd`2!)#QJLuf?Qd!sP;x7>u%~CP8JuX!Nyv<2?m0O@03=v!OVFv)}G00Mm+QT^0CF~bk7?` zWIq%rm-Kk{XgYdaYchz3W!j_-=HZcM)cz;*9KYx|l=}Xm+vXwld3G!zhii9>%853A z;RKjrNO4!QBhS~tEv`oy7Cxe}jFsZqH|(PO_Kamdoog(uMb{GM+9q#On6d#izT1A* zYe^QC%*qadSO(X9I|m|8Om==^7}ZTZF}t9LmnD4kt5+m91D^yC zf@;RG2BLYJygWh~M05)!%uNC!v5VZvl?6IgH3lPl+q@@07jG0x115QK_g~|{i6*~qCk5bd?MX1Rx`EB-xUqfCz*fqx zSrrV3Kx$7_qDWLZn>5(RbCsfky_ZD#9iHyybG5M=RPx?5rh%-QPRw9x~eA(e50Tbf&^asAQa zt~cfiY>Muvg>-Wt?91^6YiVcamqKeb(v^Gv&C0?*G_nKvww5qg=MO^+84moRN} z9~xfQ5~1x>rc1Arfv8ZRph)#sV;zrW)>X~DSo$^~cD1Y^!20Sk^K~(Y9N$!Q{FN#F z)?|eOeC-l4o(&4ldImEJE7*Jq3UmvyalxmJREpH~s1m!=>D)tGxE~Q@P!o#`<{X7d zfvn!z>DCrEGzZDaZEyP%*~r6A={sE&LNo$=iJ@!2Pv#2S!2a-#P=;SJ259#j%FFf} zJa6K3cI}n(b$3Qo-`!cWY)rDN>s>Kj+>bOXq*GXacDNaVM43YXfRNdgg|S=Cy55*h z#(v@%so9x*)`@L{uAxOD8?%BekkSS+L(hfqZO(=kB4%(7|E*QabpAYFt(rZUFmhr) zIoWu+$g{@o3j(kxCo>UJq>2S)r$!&CYq1GZmUnwd&*)mEZ#WdzS#4Iyko)kO*yo~T zLhJsmLZ9BjnF19EN)kFa%@=K){1dAOk^j*RTBUP1)ppi}^6NV{)MJ~gM)-YBci%YR z00AmatM``YLpQp$yC1yUkKLp&?K(45|0?t0do&RMe8v<W@E(J?k@8K;F0t zMU=_^rsthH7~S~l+B$-pudw+v1qs2sqG2)s??TK1k-a|w#|UqmJ$BcDH>xT@s3Z*n z$hpd0b}{u|AbbyM_CMJCR-{MnGwWE&@36xD3!mXwWk!*5KL%?y&y6x??=u{$0%0*3 z-#mW&ch7Mp?tUGrpsb(+)h819vZaA*bNjDBJY4%4m!AMOi+(HTn}0{+ z-CQT8Hz**_mLc7{_i*&W!s&7bfR3mhn`e^@Uzt z>PgwdpbTZdhQt0)|Owzh40RkxuzMw-gF0My1L=(aCJ~zrS7~9^JTJFDI;U zoh!}e1BxwelmaXK8A}Rx^AnKOt3kIp8GP-ksO?qPZ8DFxG?FOgO-$J1nmhC>fwu1( zUB>>*s-FoH7As#xp$#{v&7>UxWl>n~$fil>??!PYybf7Bnz=y7-w$&Y>k(HYA6UTc za&|rjS^@*u`>C{5WwEu`0Z3+?YFyjg3*;5A=h4h=^>S!jR_eK*-5@g`d+1DGmpH+fK8PO>`??;Z~9|&=D)# zrb3zfBLfQnT3J^2NHezrVdO@4_ZHMOUs`k9`sak1AxW|;>K+PF3bE`{fa|BD4f{Yv zMX0H3=*=SgHmNw{gD3Y0>RVo4o$W|f+5e|Ah}-L^*A*j4JGF~aM}AbJaV{mn3BXt0 zRM#XHyA;cJbcnMbTAU)!1{%JrF;Yf-P2mI?EKLwlwPUKjO5TAUN*F^8c1M;;>@$>c z(}(k)L&o$x+4o$H9 z9&VCYA0gV=y_-;Xn8^0Oe@pr7)i=tC_D_d&5~xv@6X9N&b;n6`if?h4ceAbV59+hW z<~(1-0XVVUy(C0&Y=|9)yIQlKcu|_cZ53=PE`ytN*(Wkv6%TV)8WGW7`e(46=Nlu( z0~_;ByS_Nf*h4HNSm85WTV`flNZhZvZ*|+7B_?5q7i_qkZQQ8tj|INbAqK5Kq0|vd z{&PzFrH=?>3;WSgJTWuYc#?tbkp_WpRKy2#Qp;ev2@skY|M7}@@@U3z#u@}HJsaLB z>!VFhy|h4XfvpT$KgnX1MfAPr^XZL3QZ2i?Zra_2TiJlq%&YDB2&a#5$hr_8b|Nic zGZAs9>{?FyUuQGZX|iFCU=QJi;^ll*K6lBkW0t=DL2&Gy{#DPY`aIT+6Wd&!{q`in z(yKhg&+U$te-OO4um<3o8V%itf#JhrbiW)mdSfyZx(V_{JYz}oL|@Qr*&ImX4 zy#=Awc&W0QzD`HntP;i^+M&#(XDow36x;)lQI+)H_Ua%3_?q!XHba?~VQ_Wy#&&i)h2JW+m_%dTka^1>Cz>6_ifReoOxDOJzGB8kd4WIaeO+ogVH z->r_xpOK96IzST)r}K>LeJ|aa1S5KZS|Ezs-z4u5HA(BBm{59M<+W~g#ewsyOT~1M zZB@`!0fI`%G@oMosKMDsI=RXLs-PV`5JyGL&(RpxT8RdMQI!44d!qmpfE|E+RU=&! z46_eAN5X<*ceF#(t!SZIN-x6S9@{Jf0ttL~XLcs>U$j+@>Uv+W-JzbZmT;g-ch^cZn=!s3xurU(2#2}@yaXZs;g}6>v_F7PSP_F&m60hH;IVj=4 zhh=wge<#tsl$2F^HdiM8(ho3|s)CcUuR9!Tf6hcyDv*W|iRe&20~vKTIgyD)Q471& zUD$v5c{4I!-8Sl+=yNQKapx7SEo6lyql?CZ17nsOK!TyFO7o+S^{=`xyPfMkh#N1jkq{)Ww|1-rOuiRD?y})Sc%iuKCef#?JT&Nil-J zx%N3VF=UX&&c$X`iPdfT6t{OdC`7)62?fY6H2~q{bLJ+tkEeRNSaPiUtf*k1rfj*4 z*tZTUe4HFDKUL9E@~=?@nn-WjJWLBFR2vpj}?cmmb!PiaHxq)dI~kgF9B|S0mHtC4Yn&yq;MY zTl$1L{66v30azxL&QBQQNJA#1tnKQmLz8ZuNfoduWs-nD24Y&!T`fBDRT5e7>uX6J zQQ6^l_6GK(wQA?6(vn-lP~$JXQXi;ZYN?)mHXw>XiMJPutbLj49-?PcQ4cO6%vdnH zc*nRCkX4)`pz8KKPCvZ`(Ctd6hxsa$Ahc1{Q0oIzpeF>5&*a8%kez~q_wNBHgBJ(d zEltG0J}l@}`HZT}ub+9g&+n2*<@M?wDP6@-tJ^ZK(IPu<%P{9H8s$>{sPNz8byn^I zPEC#zkLz9j#5506XD(HAuSUsptfHoJYS*93ky7bBUJPRCcO3($N|!v&Sycw$Gm<(# zuL~bQRs!GQS#=E^@lcb3nWr{fon?)d!n1rio}<% zP1Z!v2iMyt;jS0&X_;WgLNDa8)8K2!GS;$Rk0^_9n?Khzykx#}+U}j4%Tx+@#{~yP<_BQETW$a-;hT`p zt_~!!(8MuAJ@f;9hBdEM_=a$!7c|iw9h$(<3LH&=S5(CJPpMq3iHzH%ya%7ie_2{? z&;7o#@=(J3uCBkK=d&KK&*0Sqt+)-$wUm|%qZR=r@RSbS_OU;w^!>h`ZaGuQ$3MZ0 zEL~0*SXeJ-*?u6lv)NEJ*J@Z~8i!PD`hW$A_9*C3X4Hpt+zwn5Nt9uoZSJqEY8`@vv$-T$neouVnY1hAyYZ~;= zoy_c7Z#l^ehRvx~ z9CU7HTq<^zM6RIO0*3f?Ei}RycSaeM01PgKM@Fl2T3Wdgzn;qxVoI_-W6>0sf&k=240>`=a_OtAP(GTP?gTZL{HAYSj)$Wo))C z)lUPJX{TJwyD#6RhPTnD2Q^~?Yh5nUm9+?&lZYO^bMVC=x56*j_G1@|S`}bs-64EZ zkTA;j`iW(x#mh1-)~WaC$TF=p8<+ZRB2z9lB^ET*?pz!4bOrW~<%AF&zz@JMdJ~iK zI3~QIvQ=cJy?TN~Pk@^CJ+sK!m4!Lo_YSqbENGK)mzZjG;J}$18W2%CPwq0HJFHI`21;s#fl8Wg>^?qrQ>~U~WY@?;)g?!Z z15F(fC+-QZgC^U1D&1pZQ=QYia7ANHC+yGSfX)538o&8_H$Xr1@?6@K^^7(48Hvx)VS@^S1CUaTVS@lQtw>P24W8_W2dsvB4Fsjl?|jDSri#~oCexh|@B zW7sURRy@2zz|_?hOuLM;0bGb|(leega?KzkLRwU?Gm3&2aJw5u>3x}XG+74-$py8Q z5NcHc|41ETv0~UycXkV%>zC0rL!0LX9!$7g=Hh!EabU4$EZG9%Wu)mvjnRU_SWwky zE_a<15|~{Z4gkEF;X#E7e*zla7gmGFY*>0YMfH`=!|tKGtITxCf=MihcPRd`P)JlQ zVR5qy($p0e*Xn%mjA#xIAt<_fyu1Q8k+LVd%DTd>dn#>_@?G2n3x)(MwFHvD@lBbX zckota%upth0g_@14x+q97|1Vd$fk=8zU&|(0ugq}H5rl9@kuRTkQdQ5#~qD@9;VSy zwT`pnBt=wj>*f>e^G!H5-{FK~|D%Fj1}jYJjLb~0$TIlTT&n$2O-0~sr~IkUsM1J8 z&QWByf2v|{bZX#+)6RY)Y<6voq@<(zIQ6%DsZ1bju- zb_LX=mWD$!UKmV`(4wG=?UC?_ED0NQSdSN<`5Dd7!U;Yrtmwu|`xoaKzE3%@t{BB( zFuG505z;o$pktYhxxI{Tr>!vR8x-sr(DzW2s;}X1vH<*m=@CB=N-e89SRs;@6E%KR zO?=oG`$)k}o<&K?N|5Vq9sZ4KTxf0R_LGBjFA2U%>i2>ar8ovS%OdGGBe&&k@aYT? z#E!GFtbMT%n4z?pf-FB{;Ua8bx1B|Xd#%A(Wr}@if#cGXxLz?zT2A8C#Zu(k_D1au z(LIBiOXqg+Z;}E>-P)_l*qokV@71w)qHDM8(rnj)!UYDPhmcG<&CmG)5JFAXPWB+% z1$c?*aoR%`%Qd*AT^z|1>j)`iVsx<&q2?g3Tl$i1Dv-NWCMTCiN%IV7jx^kMFnDjZ zY2G5fx$b9I|El{ni%S~-bJflTaehx-KA`ds(a}KV?Ah9UqZ#?ey#`rvS?ecSN(^@E z=KfX~=5AJ7g9W5(o=VNMLGgNJSG02Ir@G$po0Z*+YhpU_9gHA+)(cK<9uQiFXb7_tipO`kQ+CZro{5!9>iiFRky@g;THS$^)9NqT-Srz`Wu7i_1^T(!^ymbc<3jEqSAE z&6p;tybmGhxbaOHBnGzsBEw-h*$%O&vDvY<*Cv8F6%n>xve*Ctj2CDSW>y^Xe@E5l zneL31SX4{TWe0Y9>J*2^sT=6RQ0`k-`#}HxpK8J}Lsbj#t}HK|J6$=nmr?KZ%m3-I z7840-!FN#uR7}vau<4JwAS|s%6+mYV%}oD$NxDsvG?C93CP)GzqD$qe)sWMT?2L%% z38p-%@)sc00JT`%M&i0sDeN$WC))yo;Qjjs+nzDSaeEG{I^5M^Hsw0G>ubmY30Y zP-Wx@w6Uv7zJn2}UMLw!e)*hyLN2oJRtmyz`4-(sbt>5G8O_A}UgT!*sVXez=~>RR zYw+K@H2Xgf6^>{g{H>!Kqwn%PHB-00$ghkL+SuDh`~}IfrRd1UvJf6-3w`L@G!>r+ zuJ7Db55*<%Hn;BLvd;^nSKY?^ZQ4A88jI5C27?q4r`qM%uZ&3c%ZFlluejR&Dulr~ z9Wv6z553C`jt{STJ2EYEp6KgS8W&h}qd^P}&!n1r6-MA@T0DONEK-+!pZVE zc3%iDRfNXOxc=f+XFRcvcoJZ>z;x#lYBR!P!Vj^BV0VBVmW*E5;zGl*z8C++*KOh= zmhJz#P3fMo49yH{W2_YK=p5Z(OOjAlr&lM=td~%nlCxMlZfYasCOgJH^}f?fuRaF( z1%!V?xke~B`*itSBKr>&R81#hPEx-G`;Rx*ExYfT!N#=?b3dsl`X~%{kN-Kv13wqt zXAlIH%5eou!0bS%i9`ab+BS1zm)_gf6)yF>Szo!+s<=9E)a<4`e~3=tQ0%fDi~s1( zgN5RS8vbdzlh;b)_wF|M(zJcIYs?GT3`FCz>I}8B)g$ZNnr+ zPr-8OMMgop0U4x3**P~y#(vk|m~_d#n_xSX_N&)3Bl#X?%g7EdP)9#+XH@F7CKpUt z&>kO?t?CQf#fG>H@UvBgje&%Mfqudnc_&zQ?jVWnxvzTAUZF4Igc-+*K`Sm?T(D1cj}8uv%Y1GXa*7xn<^GgATlFOsJvjB7iebjZ-zWDD63vtf6Qf9V4~mTNwn=4M!NTh~)N z*JCTy>^!IVFduZ|BynTIE=8u5c9_BP-vX*<*pWhyh~`1=n10ZfEa?`XYT0)rW@YXI zpx%3zySa$C4Ct5RTu_bz_Cr`R2%{YBr6BWI&T+Q}@^p?eR8A1Qb%#?ql5x@W@ZT1` z2M{*3iLfI~%3NDRxW@Z(7ef04aKc@XoB-%l8ow3}#a)8CStI6xW$Whu z-n;MIZfskP&RKlX)Skh_ajm-hU_}*73>ED#`)*>)ulP>k5DrPQ5Oiw z5eAzVpqeT(XGKoOjY$@K(It+mz(y-oc1}ynj>RERU@g{q+^VXG;;Z0*pFy=5RCP&b zzRZPK4){?tt=fk&(!!fVr7F87hqcZaeBKiSngAhu*;!`ZD#EwVh~_2X&V$JDsa3I^ zVZhz8@+&apbVR~QZii_4S4Z+LGnI=@RRm7k>4J|h<}Nd!c~eBo%+&|}@=9pb0gnj| zH!_7I4K8RK*Yr-KW00x+w0i=s8an}s`Nu4Zm}c%FJKG(kSsnY2OH*4-Zp^)k!2-ly zfW;kG-6+#EJJ?9!-c@$D^wiQXn_-4B2+UTFLYfX*jyMOuq8D`+WWkNeRL}$pXA}N9omHI+PZ)49lU7i`zd_EvC3iacq+Oz@Zxujyi2=&zNS4cK<=Q8r_jmI46tu=a>x&cw$!hN*=Thnx(-4(NP23|1U>7 z|G<1kDD#b3a(4EseXXm>vJW{hh+aSx@9ww77bly&`;w-jtgf3RuH!Tq_HxndE!y3qZB+qbD)pl2X?o*pY5 zK=EuUb^&Ckek@M?R4sWp4t3LPwhO2}EYbZk(+Up&*yg|S464lIQ|DG0bMKT+dJjE6?s2d)J_&mnTW4^hwHNjpylo!OACz0mrWm zNz)Ubi(7`?|AHfFU+Q>|Wb6RomYG7XSwbRpu1Jt+0yJwF%_0Lp04R z-Qtr=`3-1f9k(EC(f7vUltG89pZ})-x~W+?RH2Gu+{Y0S>i1#M*z>+W2bYwKFMP^M z6Lr{kBMYnU z8PyCb4-&alHYhXM8CgHP!Y^4M+3G&$i$5GOJy@zV5r~&?nk;Tb+CRg{^IU&*wbYG# zsAF{%*N8j}8KyW;(;~a^G+;|HQdmX-7Z6rmmIDRY(D=`o1~)lE7ewsuxJCXwGqd2a zCsS1M5K*_QE&=zCcQV^t%xkosMYDjd*&%$`ieycH6DgT-&3T<$5;j-OUitGAk>9Z! zV+kJESzvf`-vzE9B=;O7UHCjQa=E~|2%6>N`h;)lWHY4sr1~F|e!jhXaTfsc*@wNH zoc;pq%dQl?$cXl<^-43U+S-|=@EuAVl==4x(L)(cMkYsJ`ve=Ft5~R3pOXkgj7D-Z zKkqJ>w&Jw6!CrZ_Eq2v`V*Tak%wXo2uAG0Dx7@0Q7O-i(*c;r~!U%dooicqv@f}e^ z$KNP=mK?~c0%M3){2t*=vULVDxD^qqVDaVFwjaE_FO6FP?P`r{3N%Eb*{R+mHLDCL zl-8u?1D9Cv;^5_hZmc*ZEX)4gQp*Ty>Yjb;!Na` z>?+R3uNcWUmQiyQ&(KYmB#zPD^!+?_6cP9hJ_%f-9m~>ybk`+gCjleniF1a9_+l|P zBbi@TaYi3mO=gf4%!sAI|Y6 zcJK_W&qM8r8bX&GgXrCyz>@7mbM>oPic2YMXXk924B>}Q^0R)Yy9oN0!lULU$!uC~Kic9)In`h-cgvPz5VCD2m^Ab+HhY z8(wzTx#)m|H8SnI^REbLtnQh2&)P2gRu5?so`DRKyVXp8z#7t~(_8@vH`T(#D~1Wf zLRq3caROHf6DopnXBM28JH#*ccV;1>=0F;d6yOs zT>I5Qoq>$rr_$bXw;=)tF3viFYD2p|);bv=Nj>T##GR-eCRDwCtU7kAoxihY<}7;1E_RfsRO7YvcYT`~ z&0Ig#G38)#eB0AIuVpo+1&-n_B#Kv8+N?n>fg=Vj#XquB${qf=HlY@9KOxQ6#v;qI zAd)oSeH=SkW?$BheziaVlz@?rw<;@MQH&oK?2fF&6j|vT01af&9$3tWS6zS^)?E2i z(lxANf%T>CDn$2XUEKjokhToAjvKesVgAc1GkB#W?ZV~O6>o$G4r?9Id&y@^6VBDrpIiJUx~8ub!5_>W{^alU>;iZRZ&>CU zc9;MV-1D}8@ss89m9P@(-kT;cFk(AN@x>x$hBc$2ux9xqb6qN-{hGJK95xkHr&Hb! z1yxC0)v-FQASqev8QUBYwK}~@G`)NYAllXfghGAs zj6Tduj;+*n)>C^?AN~e3>JcXrqBo$u)Ms#twTb^YeY&XP7`}s>m6khGZC~dF>~$6+ zcE{)@?itVE(byaRE8vY9W4$?N%74*s1qGkg?qb?Ejk*81_|7fv>bZ;GzNR{~P#eI6 zjDEaeIWfSk=X^fb!0?H2o%2)$z@(zeaU4 zm_g)=Fbgkew)TbIwhzu2jaCE1u|VNq51hO#ap`j`A1!)(U`$*JTf6V&pD>j_n+WUq zW~-`d#xt;)zPqPy>}h3@X!#o{R&hH3)dW~(DJGSN@wfHF*ra}|6>fbcut66Io4D;y zKqGTI$*}uJBkCLW`Q@FURbX!`_Tqy;`zBv&B@pIit6jJdDicllPlK5kemxOpNOND- z6Ku%?V4?cw6@Z4_&U>cO>vytPACo!?#=usR$8*b+q`7m zAK$HvjEv9$Bdgg>m8Fr(VXf{wQ0CZ`^G!eUpk}UwXy|Gqq9y91l}$ezUg9BOuL@UH zFt|OrRJNAb+-@sm?;qn=;`U(XCDP$no-Yw(=X_+lKqjoojyH6vqLxa3C|g*2Sso`1 zB(LH2NSBe^ELjQv(ZAC8tHm?JYV&ZDvr*5|0Wnp2N}Cc~FK*j+XYA`bHnKPzC?;%H!f>B*C5xaZRk|MMd zZ7=lGZUA7I{pM>PpYA&8ZghStp=Ibk$S7F>hWfF;5cpb%>5Df>XrR9AlU#ALwR^zl zK8002S8$P&&A9IsR-JQ*?yE)iNK0tUl8QCmNyZQrEQtD=@v1jaK?jSYEii%y!dAQR zg%_gWJDfoXw{(qn&cR2qDvN*33+dQy!nIptPz*_C;jLH;tn9AfP=Za{Ek(DCkuEK| zlQEahuP*wGZQ?E99~KuSki!yFYe+F`T4bZE3VeT#++8C%b`v@a_`47rSjc7jc=EPV zc?UGqI-(N~8?KZ>fVFNnif9~qz+9heBc5?DSJ`jOa_!x0TXQJG;wRnM^L5wKf*Y`p4sTodU4 z36VKcl!7<`-MM69O*i=sX;wtc#bsr*8aC4n7pe7P4>rCzSyxk_-2rCs!4BNk8K zs0;@gMEk(?62>zj*qa` znyS{iJ#@ltEQUYvA%b;bI&{vuu#dIkuPgHmX3R_M*}$hhz=v5Q z;(!rXbw+>!#N&N&{JWTZg&ZCj11T1~vse{@Ou#l$4jE!Zhw>H!I^b4Y)s-;bp$%ow z1XHm9Ow)~DW?h$5;j=jHY)vvs2AeJljLg)Jl`uO*$t+`Vz_K6Yg%Qd%Lh;JmMcKqT z7s)EDXhndezyiEZRojaUcV&{})1HOOwj#A{EVkyg$Csw-jA@kK2}wXN;H*x$Q%ZNj z8$%lv4RbDvRY^C)3!6fw#|m-*xfd*gd#creX9LiBjyJA}cJM{4^Bq{3N6Pn+EIQUJ zb~nm?DhSl>=0gsFtGEk|r_*Gjlr`#2UpNS<-C)fEOJ*LN1XL2HmV-&iP8F7z} z0zM+60@+)qeE94w{7jFa2DBe&7WHYz8)u&nXx0c~q@{5FV>$tS(>~>3PngLUtv+^` zv=)x|=4btP3Y<3)6Udp)iJ0!nZgkx5qeC=6A4kJXM;J}@OsR>%I2 zF4GzA@=O5fM%A+Hd~4scT*s2-84Bx}#(0p~1Mmq2&AaIEJ;(K0HA&#v-bFMYEzc`UA z(OQK9QzgYO!nemWb7ZiWfV-Xjx~T9Y1+_Gr|3Y_gs6EIjZ#|41V^ACU$`zZWx1gD% z3wt&=RF(Ls{bx*V#&n@5);2>J==&IGtWh8uK|1*cwT$@eJsa=Q7l;eW7@1y)>$AI) zmM{rJyWT1j!Pe*h)8?bd)4SexaDYc*3tz*UGrfm!vp z|KAL4)=kl~H+qHAQAR%ao=-uQxK^h~&2z%bu{z3He5@x_t;@~nMb4?grU>P~LmHP| z9Lf7qaX35Nmd%sO9ogX~=c%F;dZPmN>U|?y9SWD zNc}Naj_Ne#sR25zl)nL8ply$cC__0F4_KJm%!?PwW1)wZ6~_Ps z2H~4lvek3EVFKK*kU#%e-pvsKzBNeij&2TLTOAMLnn&B~?nZ*A@E#1H?0!2mtvWMv zV6d(p5E1Ia7DlTBM2i^oMW}NE762LAn!4h=;+mQ~DSGO58>+s``qJth5*=qvoJlPFkhEvZEE~Y$+x4el?8&!xlnUYgq|;vsIg;h z8Q~JKO*_~4@I8AWj^nq>!;EN{ZQ5%>MTaf+O=b}l?B3X}G2Jf0Z+H@NxHdEt%g$J+1%bwjb`8Fp0Q_SWn!6?lj> zs&wHRa?Ap++LcV!4V@H_M>8`8D$z0beH0YWToljz3hc+oj#Ls|;y0zm4 zyeNlgi(si*R2+&lFDSa<-I4yI9Prr2C+JK_*KBRe0T4DV)DTJGAb~B*FD80{$R0QN z$vArpSZP_@*Lp$>$9z~&p6{UYczsTV>@*cyP&7RoJ9G5KQB{V4-RSAAh|TJd?$7Sa zpj-qyvgl8V)Tu^gp-%isN{OEc44a+id5ri7n)|dqg@<=d5Tf!*rT;i5g8PSt1c;?A z8EHyH^tIP*kyGRq2=#Ndv^o|3b557rIWwu{x#(FcxFXFHxv**i;Ir> z=Yk_)TP8uly;^%PGWp--K*=iqUGP16u!?wabt8K@>bHuZ>-<6JX%sN~j%x^8C)kp( zik~c-7z%D@g>!m5Xbzk_4=+)W+EA-=N`pgYF&(S=@LhrXXx{_KCwD(%PQl@49FFYj zdr+@-Ik{%@BLL=?AsZ#TC7YhuKHtyEKjj+K#51xlQg97L z5-`w*5`=xe|bFU z(P7Fftt_HLI&*d{7XeR$yguqDalzvV20XAaDGMcZlmzV~ zSM?*|cwb^n!Fq=xUB=89lzwaMdrTt}4aOwG;zfGP$W^YrEi+RsI9%OT_?gYQ3D04y z&e3~*oW@||`j$N!v5YxR?hfzeUKTOS(<`vGR)8n%k^oD>oFxtRJAD}zgW=>ye~6bz zO`)e6g}+;}&l{e}SpSJ^Ubfj2c9wR~Ug7SUQE^6<8R0Oleuhb%LFyWaS>ARnnYz}N zFdbI?`wnF8n97MaMZ`^ETPH(d=i|#$k|+N|Y3hv18pC)BAyE~mq8Vm$B}8|(hpv*k z7$a{k-5MLv>3O`JLD|BhXQGhcih(lIV^P1EQ~r6+F4$D>Fq0~#UtHNDjLYQ2if*YZ z-x1~cv_=)C`WGxO0dFerzCiZaAXoNc%BEIaN%&dxj>zBVA-|&`t0EJpcSwWJY5(j! zb9U!;8JW7qLOA!Z@LX2;R2Mi%vNPZow4Nq2WA?E@W>3M&;~A!)j#zPGo}vi(H?om7 zp;Kl!YhjHUhdY-|X7Q68K-B6?gMN4e{hY3kwBd78%Djg|R% z1A*~_9Xbk0@KMdKEUU^ENf_TiJB8L{-~Kz>|UPYz%*VH6uYUurd=bH`ML(z{n9f>0AE0$ zzv_;=2ITPl6d*sfHkz)hXtnf>mZ3;WU>GOE`xafZ?E|*p0rmO9yx4Xd%MGk}F}zb8 zT&Yf&SrY=BS)#Sj3yDI44@|!Dl%J{gdeHDJYC)DRPaL0enI73Szd5pZ0RyyT=1BPZ znN)~{s^x;`-67?1ch0?B!KCob@~pd@?N{YpIrDSHR4KiYM55_hhsG6^(#AvZcc~MQ zKNb|+jrPaiOlxEwq6j!pQfX$ydz>1qd;)d}Y#b*iSGv@vXqGe1Az7;5Hz0kv=U7so zhfd>IDm?W0)2+3|GN6Hr$zSLNkL8@v#LsB(P!_`iwJGW5i z&^Kd*cU)wc-gg4ABz8hpIUpS=y5MVGM4L&T3}(HR)29q*^)Va%u0 zPG6=W;%PO;9GyFji+k<7aR40~RRxh=sHdIy-Hw{hijc&hDV!>oR(4zXP*U9GLf=sh zy{qIT%TAf9HW)Cevg-Atep(Jyc4(!Fn%0nR*fv0bW)KKiSrY5|Z)--6Xil}-0DIeE z)y;oIE=^T6trjUqRTnZSFx#l4xo!77+s37J%}pFWrJ$9cXhzG{k}u-$H^n1%j~S1CAE}> zH-)r}cCxP>X2Oa|RS}1p<&v_jta27YnAPa<^~Ua{;F$X5x1pyuVEM{VEkZYY?7~jo z!!(se1ORpfnV8zajJps*U_G@FAl`wEg3XDQ{RK{-)MkCHm84yA+nS&1yoh8M!~saK zB6i8Gheqi0pFlwQFLLFGX&$IHiyi$Gti@$r+BaY>v_73}(^LtnYl!BrGkIkv6Fn7{ zy@aSZe~rib^)iRsK=K3LnU-Qy%!NyB`@RAMT060;%cMah88C#6b6?c=T-{$11! zcGjL@FV0n+Rt197JT33&Cc+D1;liN`zI1U37AKrFEjmGXSLefv&WM3&jm*{C{0e=T);(#&x0(;5iIF z`daz;^=2x(vg5XDv*6 z^Rx8R*LpB{zCNC6b|T{WY>b^ba>(G5lbRjAWRa(lj7bVW80Ze4*6spHEYJih;bT*K zrZafCCA~wNV=i}ftgccgYeslDJwJLVp!U&T+P=I(mappMZ0FIwv*lxhINDLg`PTmH zxMBY^D2ug}kukf2gn63@{bPsvxJ)b||t=05dWqVOeZA4)lYC<1^H8YBOwLdPopP=TkPsKyNl{W2lk7UeSx zOlVcrH2^9H_VtW5D6x*!*^DBc@>DAy+Q(xx)K*90FIm2PJ3Xdre1uRiT^vTpn`HpB zq(~ZWg+e;Vw*u1*DXQ4xYln0kF!4B<{6;4oXGEzY3A?^0^_ij$rS+!&I zPDn4g%yhLynf``c>cW9WB(&?PwwjDztUa(oV#+P%->Ak!jbXT)3!OH**3Zph zV3s5#8uks!0}C9>BWp)mT==(@k9DdCGwVCZmku1+^xr_GT_8xWySMUJo3NbMYk!rKkz4&bA5)ro8~Zb5)*jprqy``=YmP4j5vtQ9aHs!kR)CyjZf*uDnCmjRN9{P;M8dYYYDz$FI2T7T|M&y+egyq3xT44u%SGT- z4(pHq_)snIcT9sEng;_DZ{#&h_MEuOW0MW)cDCU(o}#B~mG}T=tlZ54Hf{@{MnNfh zk3T_OBPcfCZW}0|@&F&8Zo1_5`C)Uq#^#BE%Z?St*WNy{Wu1MwRLeuR2Y>K06!&0K z8NnnM!LWDiN62O9*NLp;K*d}YJU;ZfK(#p(;BY!DRnY7V`ifM@??47k#%>*61P4$x z7@G^Esu(V1-{uZWiN2}j`9}Zb&wj#Ae)o$4`Ea(+|G`r2R3~GEk>Ou9pm6G!Y<*}} z`!#TE>@HVMfbF8A_rFSQ8>5amV0UjfisRT@{lx8iOnrnz^0thx5Muk7aob)$GCp9( zh987(w_}|ewpiQc?Am9Crpm^AUMImnG0o54t=3(OIEd^rGuf=o2#PF7QV8ZL`DS&) z(;|O%C?ynB#dEI!?TO!hjULj_>(8fa9k92mL6@ZP|JH3$u_#amG@=!4`B9UOy6}C< z=_CdzH|>i>68S^*bVM^h`^y&`4C<%t8AmoPU^R{&?r*H3b zQr=WW>O(=PugKE4=Ij8lxIy@LZ7917U_QyNLAXx)0mn>w6>)B?rK%4+mU49A`ND!) zL4Aug{A%So#Vd~;rMP+sT)nN`MMs^Ji(tC6ku(1#eq`wC2BYyV3 zBb+wEaj`)JRI@swT7uhko5@`cWqGc()Q7B|E_|5duFuaZb)b$?Hvk4Y#3kY#)L0ef z;7L2x$ML#0_ll73r!Z`nu@25F$EnQ~idUAHH|$Y`m>m>I57zzzS81>Pn%7y#a}2gl zW6#_YLjKId1?c%>Gp*jbZmpKWu0Z>S1baB!Wja+ZFESiv0-wVH!b#_RI9@gv5k0+J z16zmRyqaJ)CJ3YZv#ahT_MuPZp$v*n9>hwhq9T~i>eL#5Ae@njppxP& zJH$y8bQu5Hq3vSy7m%t^JCPPqmk#Yq0mj3M^IP`>ZSSIpQ*oyVQJJCY&fsCGymEy^ zeMRhQ4;75`ldPf^!1KS$eGg~ct89oIpe<9Zj&Mp_LYoY+*s1N$449=b8(B{un_T4| z1}F9u;XQB}CZ87Dg&qH+h$XDC_s)`cM- zkz1yLLl$|mpMXY|c4{TbRjfs@3qcMeC@0Qs21E|X&bQke>0Yy8D5Wwu9B?GRlphZ- z$8LcyaMu8U%)pY=RHW+a_D%I&Xz~@vm3=9%aGQdw*Qq2>OK2U4w)`G!epIaC z9aNt|Wv3`!8^d8#ta(Xbj{)w!lw*9Qjyw3fl|v+%F9wA6H9rtA?=s!pI(@xEqMFs( zC@Lyqm#f?-EiY&W4{>Z$F2L;9(tHC^#SBS4xQ2|itYR8&EiL?K95V_}+I3l6*wF?B zD8@tV#@nF`_>ibMy)is?O^ z&}-9C9ik>;;p74kx{WzWTmn^TY{v9tzC)UwK1)WspzuIiQjd(aMGlieZQDD4dNy%p z<1upVg~f_`<_?#qGZ(DZJD}Ob#>=OeZBysQ7!JtF;+vBX6btMMd(v<7Bo6Js$rknr z?~+OEY5rqKLr614!mI3pJMTigbE&DL6uH?Z+LZz2FfLQ|ic(`0 zxam(MqYO!&tS^9{eL?$EaDw$y`k~6I8Xo8Y9c96g7=UXH6axO@t6ppF1u0xCiN=1m zX1(r+CeEv4tym)7rkhd9Q1MYcl;K7kKB{^w}p_LHAei+v9Z>F|jyzZ77q`xRN@+JHUB|Zh9V>$A z9ho(;+p?^S9iuqg7WNp*oc_Z|_4v%o9?hKP!IN}l@}#$xbuXKc1v|vPNg=pVkThyc zT#r?e+d}drDP*t8tEH9T$SL{*b`|za_aej9e+I$ZSTSdw5 z?|8;;+n(bbekb|UE=K4IZDED7`TZi^A2xJNa$9AkGqDD+FCwdk05$jVxq!Ndt()CBj+mQ8jpr?e{I$fKMg>L!0%DK12)}xK^+Ci_(u~J*G?lp;+eEgDY8o-7 z@Gmrpdpd~d13dFXv9_qF={44{FAq{Vyn`Bg&pD?#&fb6sVElBK;6gXMWIv+UNpyAK z;GG-nVEmTVTsdp+8)r{Mb*4u&mCIOhJ>xt`I`UO#RvVj51(pRHNX@Rl=3^?cSR-R~ z6*l_|zW>|+*{`VDoLA?&xX}4`cLL_Ul7VTU0%pC8Vsg1AW)y2>F=UU3>sJ++K*B^x zn?K>qhgAJ503|J)-UM3X6s(e!&Sf78S9F)JQ!8d*Xh|=dFyQ6)(WcysU$vqKH2jNl zzO(j1Z1?vy?gAB>4+lz04z1H;1j_}~HcLIs{P_4P?JsxJ8>t$aWTAoDbB0?D=@hQI zK&XDy@WhTTKP*FtvOgT8dwIsIN6MFL_kB%eJghk^%9n3d!VYYA-s5)D<>E#@+P2cp zZ&zQW#8#fWLtC@zse0E>(pcAl1_tVMD0XK!lMQ@*$ZCBPhxPhX8nqMD@f!9;loZxp zxnfejLC`W4fvVdNFEC+oyaSqZScsBns~$D!j1P&|-ZmH@Hj*kR%^jS!{Y?WTtb2+O zSmlYh0rEf_GVdpD=W>wYX?!y&ssT(t1*z~d*dj0af!JJWYD=GqP zht}xr9a9=#U2&a2>~Pi`1pa`Ii-r^Ka=oO~)99cA9O7XNphu1o(K~Yn=zbXv1wLA4Di!3LSk)A`za6=de|dV#>`pWH0sHp83&}KkIK?^R@XQz<5|K z?V1Z%tVN?6+Qx0J*D)WFOn^e#_#prl?`mgM%b$+q9!Z(sS@mPhpjvos$%SL?v*UlM zN?t*QlRB)qjgJmR?Pqd_x7DDblPwj`Pc-8ODW0$y$tnIVGQ12fi}y@s{c1h8G)Ymd zev}QG>+S}3@=W9$*`Jb+pWfahs`ChS|9F}JbJz!q;hXivNr+ZyZ#4D=90(2$J!qD|UPqUHf2eq>FNh_m#)|Q2cmk{9%AOwK%Q7}_fj8@rSMdXBWs@v!Zqp~@Zqg3e)-}iWBI^fxH6xm5 z8B$~cW+_lf3$DJ9Ngz9w*^@xC3n;+4dTt64jQvZrOQDItJJ7Upym$69o>{)u>|X;b zp=X$idt%a-KEcE&svK(%5vwL?PMrFNXWS|kveTnQ(g*;)r7R)C{X{h;p4BsN!%ERj1SmIpT`EpYwmv`5Dc(8d!-R^QQu&snL9*%5Z*Bjns%<9rFrFQVV&@M5}?$D zXNdA8(d<=kr-sX@SSWJ1hkDvQ;js+!d#B#9j2vA(N7L)beI5B>+pZpqV4NC7ajvU6 zHX;d8H^*Q**T9oxwhqtn$Iqd;MRpnB)LdOY*UM&I~shYrK0tv(%&Wfq-$Lr&S}U|S6cQpo!j0&x#g=qa{e%3pTC2eFus=Eg$IWd zo#s_c26V_8QDN9c5h7B&XVX@Wiy4$cevDxYx60Cchd{EF9Nsb28B>{qq0I-~a^9f? zh(V6(${DCGd!w9^3|3wQNbU2aP75l(mO$d^xZ@|RQ7J)=tYc*%Rk2+JsIG2y1=p1~ zs8eEyCkh6QKSfQsNa8-2da@{fM8|hX?(8zEfj08E<)D>sBYWYnjo2G);wn{>myfdh zvoqc{3IR!+ne!4N^xC9+_$kkT?tIXl9ssIv+e4GxR2wC_n3sf*d^RlYM@HyakgR@D zZrXwAY-&UQj%cDW8b~B|UwJz!_SvPq97AlW=M6FJ)@HX7%Fr1k&$3ou(|Gh*>`w}! zfsf9NYA?S-o1=Dkl5BVm9cE!Tc&HFRM$JLgH-R72V+n%2JeDE~+M_4(rAT>fo?(s8dNh~;yFA%N_)_$F zUzL^ixgDxR8D&jP`IVA%;cRP%=R3Pox7vM<&NA;x#EdDD>JFnIypIB!+nPNEdI&xk zlM#>~?k{Wg8Pv>`-IF(sX;Fp{Ziu^*O94MD0p#S0yrQ#hSMsqFlX0li3~$w}4)EV0 z&4}E9DD|C8=ZnLQD(VhFUC{{AN&zeZwS5OQ^SE15qLJ2iFC4DloAK4$F>E#CiO)4EoM_msZM(mS zlxx`7NQwJNrJsIc8pr(_wy#BfX>%T^q;*R`kZA0qeE~zO3YIh|HN|cfL~_XoI@q;3_(d~KurXxrmP|LV{Ke)yp2ywv zPRw7?JQe+$;`Y}%6!W9)$r}qpxlt)iGDfX&-8k8|xt~cXxdP*e#P#AW*Q&RR|AKt^ z8C-FW>Tw7L$PR^QY-L_=?Mu1y?i*iWi+86(0P ze8TD6&4w-{!19HliJ&Jeu*JUV{8u7;pJB79IP5E;bIf-N+{euQuw5!3SnhEtcwVi| z3K$$s1(tNmq3mLc;>d1PlD7T4029hDSYpOA0A%GHg}1$A^|V8L_t^D7E{D;saUA4) zD28kA(~>W_q|6Eav31pzWLZ&u38HsUZ3N|6+ZQDQ;If|^nv8OpIwo8KYJsS0#h`q9 zt{t^WzdCzdbvOQSX!*k4%%BFUtiXTFd`mikZBEX-(8tn-EFT7_tU!Z|KHa`H<>mx-epC5C+tbp);vHkwXKi_Xq?<4YM9f@< zfbJ}O|Dc&p=Z{(i}-IQ8D{03I_Xl;mV@V)Hb6ddget|)tO2#>#W`}- zm_p_Mp(}ew)<T2u{wA3h!wGD$JcPF^ zDf1+?A5?T?Em)OMTN>Cx)#_)sk#wEQ-!6S0+ym5!o>NWN@xiQ_!PF5;cjzgILfMh9 z&al5+R!?5}zqGl0L8|ObG{Liq3ICzEvrozrYqsAH%_Ev2p+n+xvCF!F$*7qs&h=dN z$OXAx)LAjvOPg$XyqpvD%p*GTtqT>AxgDf5eaAEKWF@#5Ac9eHSTYm-h44+m%|#Z8 z4v`x%eL;>VZW{0ypVjEx(?{jp?j5|DVp&>-KQWCX?c7J04O?qN@og=lfB?#c6^7&+ zX7{+dORdd^u9{YMu9TOg=>d5>KYfyWOJN>x&h%Vnt5d|=M%Ds}$G##scX;>Wy zxaCAaQ7$qLc04{<;<&lmiyl30f%%x3zAa!l*W6ZFxGwUxWU_S3wm=zTc0SU}!UxS$ z1xqBaDZla~0S%$65)f!-d}cSwy^nDLO^nY}xhnvW-(F*2ipd|H?Bh86FX6}>PoM9` z(EpVQJ%;&yyd$_SUgUND!YRGU0i!q^Al@d^x}9q z;&LOWoG)RhjI*(l=TB!OTpPF*GNuSZWX5f)Qh3Ky=Am}&C>)4|-NiIo>VIrmjwM#e zNJNeG{(uMC+ZBwZSGQZQiQaSir9<4oTq79E(|qfvToVCyPf})Z=)irVsKL7_LzFpo zLLUB9%JG$44eR*`?SBFYyM7fwXGrtvfB=~=5<=zKE|*6Fgo0@DP&LQxHFpqfR;4M5839Pv{qDkt_6 z&iMQz-to?~5HcNHCb~Q^6ro<;q`M*;CTTD2hk>23wsKh5OAq88tpZqk$1}!$W&CjY zog^^>-WbJJX)s#egyvB+(7~TG4Erg063yjp-o$ha6|2wAf5bJifYTshbq8f6aE+>N zKcbdVxiu)hT1=ul(5Osw{|)|u>-*7-0BRe4HBx6hv$%E^WH?=rOVGuxC%LgE?0`@{ zKf?*2{Tr^_*}YO;S$&PYo37tEY)NPqKQYZ`)Sd894_Wc?XpWsAYZYbOWEK#%v=2#e zLJ1gq7hGu?Mi^QbGSRwTRmMqSK1m=CW`zfS*M-K+nAW1QARa> zVT$WaW5ZBH9pn|%HK46!kRf~9teNQ=L08F>aS7#xtI7B#JqR;6+N!v7(ow4TealX} z|Ml3J!OYVG57PdO#BWt(2n%Jqj+9%7{%=)}su7d!cQybbBTv7B8_O&CBSAfzfW# zfMC8Vv6HK5{bj1(010VT#414Tom%$c;fKP}3~4lJuGe`r7XjQtDnkNU%jHsab}6INkpuw2@8JDY*%z z&Sx@h-P$-Khg}sX;QSO_nrl2AL%nf=+)0w{Tiaj<2`%QL11eWi+M$KW+ECKzXb*i? ztAUoMLEy<1ORTyvCszCMp0w~2-PlAFr${1#TeeI@e|2si()Ks@ZCeM^20+}iO?MBZ zUA~49q58Q)T3Yq`E2Q!IoFmCnqssn~PWIf)KX?kyle4=OJpoP4ton73!;1#%wFYvC zG2=1xYezK08Duh-lu0;4?ob_jy2q*8K3H-)FT*9Qi@=L`oh(=c6O5RKeSC_|i|(oN z!AG2Nh56?4KcB3WO?l2GQ8JptRzW(Qz;4qlyRsCAmD@^R#jRzXk)q($*gL4qDif68t=%REj=Kwvg^KZZ!&fP&1JaRp!euz>M$mSt-$UsB z6WVOw@(t-mrhKgzn2c?z7>-0x>{@lYpx#Qj;VBZ93bQ;yI4q`*FIRvW&>T>}my9?FEHof!EUqCDp^MI1 zh&nlPUiZeLP6cJq7Ve3rbsA{3oR>~s;jF~6?vMTx*x2Eg!JA}Yw@H#XF-P605p&=| z7NswYz7z|E)|ii(R#guGf{n@gEs&>^NE`ixH7d50L3+G_QHXSZriMc>|Q z!m>l}0vTPomXV&}PR{RaN^sXXU!|q@3rw^i+c;)O?YniN>y|sX9Q!p)~AYJOZ5dH7+!~Pgi~Iv*0y< zFk-BSFJQ-f$6`H6^m)FJKMRWpWpBR2n^)rCS61&uAJo>sbj!u>Yw)-cmw`5JDrCSp zvue6oo`6rI*zm&szJ6kLJ*YTe+vr7^~tZ*XP8m|I3)mDV#t1j#y3d%Jo9*K*6&7zwk4z zqVa28FvA ^z$iAx&{VVQ^SBT{H?ErI}lu)iwqxHL7LI$Lr17kl@oCc?Ec0agW9i zo7_97aR&_!X1|V2v?tS$tN0lsj=q>y6%bqy?J~&3%4y|3Oowu*8cAn0ZtrkrJu?WH z-EqlM&Va(-)F{9utgp(NDaiUt915&11Vd}}4EAd(Bg87e;=eu$WI`I%DE!M*+>lUD zIO48pQ%O&_TeXeq3&rM8(l9O-c%kan7c;L@JxL-aLxP=phc)|&n(_N!EGY}(iz##x zq>D4G6;c4ZLGcNUiJ*eqSuA*c{N((h5C0j*aP2JB>o#DVd7HaL`r4ovGh91ho8Cf0 zpbL;k*Dskm6dy(zfrhdPNWsyt{9p&G{&GS+uo;(6Tu{K+xW#k>8=|s^c*I8E-$Xkoz>IYL4ol=Cw%Smy(GSq2zB!D zAx1HS849=s_GNJS^R7sph}Wf+8$#N%B+A^Wsb>HySG#=jLI_Yr)V_(HMjQ@Bm=%*U zOLgaZtv|7im*`wf);F7~wvYCSPxz?N@FWNnPxYWR<|Njwttk!m(f}*hr_suG^xh%O zZQ>we@>QtPO=PrZ-?5JIE&psJdt8JLRj+Ai?W;>ObqbgHI_vb*|B=7_HH`BF4bzTp z+?rWn?^ZF!zI~9?BN~+bsfavW!tHaXCp=9S0nfJ!t!~!akq+E`i>TE8gf}jjW_cX* z=S^TB5U-Y!2P1(a!^ z;sOM|X_L=F4@x8EWz1b|gccCCq;$ z?31c^SD&Nx?PS4vS`4ck85!M?GmwL-Z!uCP+TUX%H%m)O0+g=;Zrk9H}$u43-{aNJ1`=? zj}4g}dHP@LarnXZ#@c*B-bK@D+pmh*qkX9?QFNV`-I2zc2RS>TIbl&5YzS{gKtS^e z_kWRk?F{lMup(#X`+1^>ZYK3U@Yxvh1kCaN}SdB-W+xBfs!WMpptGaWMbgwU@`c#5j!a&ONiZvyYHSgyIP zUNx3Pl&L-z<#4w?8*pbS7O;en}q_U8$NuLxYpj`NvOWqjKpN z{F}7NdAd(>SIyDP`YK<`YK`^GAt$l=s+VkVb0E>GddD{RM$XZswY9%N zW_Ors*IgnFOPq}p;M$T}@Gz=UaeM4~gEm4#^AD25hq8=EHL-Ti(xd^`ZAyaPx90m7 z!uC4Ow~`a8=^7Yt&=DvS2IHuu6w2J7C+1IzhDS8C$;#!n8-U`}mewwM&Xh`tM;AmE zeiLYsd_AYk5#BJAlg?wRGo|`NOzu-!t(^Z6n!TJp#|c;dmnn~QVa{DHDqIEF@+stW zysr=0ztq9XS$AWwpS(V*@??VJKQ3X61Lid08kHLFr6>a_z=DzeD`%P+Rk)3Ncq;h9 zFODeo>1DZ7_6gS6orp;X>HLzl^ti&zQ_j;2(XkCuH34!~%Ag(bu%okzTYx8Z_rqdF z#wyOSX`7r`L;qCQK<}U?Xv(>o?mn|M4G8#JQKTq$_EwuzG8v(6#zVlN*SWVp13~K5 zu(I@1px7&>SKVBSh&G%+W9QjS%Lq+^!g%|~l zLS(cGHYv||dgw~uND}`~#Zk}x`+U^z1nxo95k(m!#=|}>WkLqfgd2n1A>{&b@#9{Q zageh8%8q|6k3jf87N`dfv}<7nkkGPa`;gzB!3}@y>a0yr=sSB95bRa;+Ar*g^b;e8 zww(rCJJ*yb@Z&-3HR{rtN_5)&i-I%4ns2VTFm&EHMF}r3`zIBK_KH``vfVJly{n`K-tYsy z;otVOC{U*}|DVwM2+h*Ci&QN~hX_W|0P=Qlp&3m*p+%#p6H zbDVcXgA!PWgXND74`%S&4v{)WHDhV`z_tt8#hLIs88~hR@;=4>bg^v+1@sAet4`tc zrRr`1gw65Nl<=-vX6BUHMKNPArxhH|WTB{a0uR@Ess1HZ=J5<2o(hkXTj@}Jg2NK9a-?f9(wYJ zr=>ZL%b;_`snD`t)iEJloutZ(9jsFNTIYEfWuEBbzGsIWv+Lf|cE5x`F|9Ae1+bx8 zS{@#k9)&x|q>V(uJJMs8(9#yjtW`5k8TrOLcwluNY|q_^B&pN6^a2O`VcEW`GnDS` z2(rzhwiP)d#Ad>Auhx?|O21=iGZs(S@V12g@A6$jqO^h&5Y|e@xY=2=uENdElfCyW zk<`2_cN)->_DSOyvCPBVy}kxlC1NiTXoxoNL*SAkZ|Q;$LD|LNVn@L5WFl>C`WlS$ zY9XI*Q<`@?1Ileb@4xISlJbK_7nNAwazXV#@M#6Qwq7H4i7`oju=ZBHxhlU3|LEW^!h=M?}zoa^gBNq0wq20V*n{<0cG zo}{nwhl5Ty&5K(TGZNyi+FWgLxLD+0+M3wDl*(h#KFA*ppDdYMuC7Mxa6MtXqk)IY{TF5x;iPb5W-J8 zly5n7JFZ(3e&~Z{0uy%oSe{Fj1 zecV8E!RZcWqHAam2#HsjPEgaUYUxirqY!Z-XCx)a;Y?JIX&YvHEplzL4()Wug*7rq zL-0W6N4Bh>8`Sd#Qm+s+-%$+_?CMG+bZ)zvM?|Z+ZW2sRd`DtL2CY!t?C(8qWNLO? zp#ymYh0J~%Jt<3J-RCKJ&^=)CEkM;fz?nxaqgNyfMc^np%2v;Fp?JCfXG$BV*j?|$ z&x8pd#qZsMbz~{euVTAcJvz226>2B5P&f*zb`c$4eXTJOzhH%O?Xz6D{MEQ0E6nrT zzby`hz)5X#aFmJ~go+eS&)0{CxIVZXc3s9o zeKZ9dI{p>iothFE++je2DM3lNEldlz72Q^#IKxu)sn4C-dg_P`)wH{R>f(I&j$sI; z)ik;+@I==Q-t3-~fi)%}JE8)a`C6`LEClb^{xLlKs(*gq>{zKH&%5-)6 z%Pv<>VUDGnWZ!~G%}2q!MiuytAL3#DisKqGg%yq`6whATlFFQG%_3Y6C_zC+NO>%m z4@-^fja$?0jtjEg1KI;5Y%w704|JBtPxkh(<~TlwDQSgd+~Sm@P1u|GApFrEcz?0B zJPwOT=F7gAp@#3X8~EMLLTl}kwjy$ zA%YeJ7YTIil0hpz%qpAr6V5#FWo%`U40xawq<5~dqJjkpcQ*hmv*hGwMj+fSvBeB> zIf_}5gV1m4hZx-aV0XekcN85fF&9**EDBc9psW_9>;!Z}8t`_u5Y?J0cpr;i{<_&f<&z++U%|mHc!^pLfbxh zBbn#BoMR))IOh4DeEY-iQ$q}d5`uM|sy*paCshYZzREq-XfF*I{GBTU*h(v0zI`%0 zv^h+L<5_%xtVr3|S#WK`!m%2t;++?I(gal zNAO3A>1&~|SrkqCH5|^?m=4tK=67V33p;}+X?0hH`(ka3V8(4+{HWmg5w@ZD$z8ii z(`C2d6l3zg&Q!GlxVu;QVXziw>WBX-Kz92-jJVS`@y3H{^YbH-lQx2uxmKTqw@3iU z&&^N0U^&`^ra>wPfFZj+%Y4j_*70ON)MciiVWFaX&C~7$I*{dSJMUNBgmQ+fW)&dU zANB5`<+yuO?1LXr-FL&l_x*{29^s61S^7NZO1o{o|J&w;?#m$F9!RAZD7#_K3?_oy zIvKH`1-@{>PtAkr8F=4(=ypfW%Cx^Dn=~am*OnL2Qj$S-!%hMM{Y!l7CU_s=`N13IhjRIq!%Kj^Pb zSuu%9tgEf0cSqqHuBb;dI$`<}CL- z@#CBi&W)uD%jBqQ-0eX`vsUdK3c|-46KCmI^I%K3WivAhE{t^k<671g+dG0`Gg@JB zqH=3(%+)7o{Tkp1Ch&p`C<6}@)0(4$`3+G{L@48tEwlmmjopzCl?C|({<8ilD1uzq zjUT9pQz5foF{SrdJV=6Xz{5U9?)irf|3<^qIy zia{pw!Id_mQv11R?P1z~G=z`ZeY&4|iM1Yh&BrK;SxfjY?!ky_o@*bACtYK4H=u8{ znh>kIfkLgbJV4M3@#ZDnnji+(lzKkc?zUcEgK>{!7UInfAo{)mnzP#te^kKq+KavK z6MM8B8C$BZd+257n>lA)24o2d@uWnNfU0az^|E(lLx#D+;zWi^^$DZH0wpUK)VURG z==nf(ENkBNh%X410>rJbueHp3hcj`6&fo+fuTvt9ci8Pbsq5M)&@MaX>DZ=0^mZVI z#OTPCywv@!ao#V{*n5XHYh6g3!L|MRX3uNkxQ%%bVhdiV4Z*0VLICF+F*dmA*7L>p z&7>w!R$4|x#e@gfTtgS5V@ZEM@r?_nSq5hdAfI~##hev0XAhq>;SyDMVr~&e0lE&N zYzCyDK74c9%Hva12*9MB=@ChBatPpPAu~2N@s%Ux#P?k{1j`QCUC*imrW<3J=UYou zg`4aF?sb+@KR2*Mb*~j6Zx-y8Kt4a?he%u@3HM{1^r*{6zv(t7+v*CzvRJm$4kcY= zH7e#7|B;{wYo4k*mrF&FkXcMh+@%h8xW~$)R!xFqUZSv3aQiWqE^J&@~eY`(0 z%~aKWDvtEPd1>(j&o6JRcsuJEs|9^t2##)7Q#iekeyUsi-Ym=68N6Sk3%+nWFVe_Q za1%S%sK_fq9!sDB#qO1P++$Y^YFw38=cdg14pq_Qlv85fpBT{}A|(D3%D7x0Zzi_` zvW$?XdW{_gwt>1VXuix=RYS^xut{(FY*0mOT^^kywJ@~N7o<&`O5TCZ!nb=yccTE| z97H~TJE5X$;)D^^jf2=Kj5en>OFwvZSLIuW%$~vdUplrUqVe@PZ4b=hf3;;m(vt zM7L=*5l>i8)Y3LP5Ec7ObRde~h+e?{hu@dSHk*g;$sI2A#vG?e%tDp5^UnE}Jr=A^ z#AejqDq-UNT;`Z-sQX;?0f?y5zC)V1!4o@LGCQplA5BG{*mZ|h`@&q~i6G#^f~wo5 z_2A_9B)%y2B@|S#KeGZ6jro`l0DV$`QlMzU$Fx-dsKi72QMIYW1SHl4gYfGGEp916 zLvVLHK@!ZVgH=m6OSJz6H%}L79g$@b_2>T{o1s+&tR*@kr8z8U)ev?Dp!+P`0|WP_ zbNG%)NB>$CdpL7Vb-6@2a=_R5WD+K$R7+*)Vjxds4>UZ|3!O0?Ncu&M>u9d$R~h3{ z2;#S3N4>~E=qId^Mz1i>`Ibf_{MD!KF8siA!R}J%a=NUpW`!u{4|%#{ou$eIBz)u9 z2&4{efa=Um3?Vj@p;g`+=5tW>)ndC}uD!pwcXq(LYEAk0Fg@c#mP4Ok+I3mMHe>NL zj(fav90GK<+&6_R65s*Ya-{^SN4vk;GuiMYjz*eW9gKU;-XKgEJGRR0ce9--zKp1t99H$CrZNh-4n0;wb?5 zw`K788hFYV0@i1}>vasX=*iW+DWHjLPiiTMKzu%gPMk?h_9d>nA+k^j|FIPIz=n8p zg}PaQuj%joLrwJ9nyuoNu34M_3k!@judC4|hlP}Cy-XLCCGvOM^zdIHjb!Pp%>>9& z#lNvbT1VGqE>t^^zf!els8p^)s2Nvta`-s-sBb9>;T^}EKtt9HZj>keM_~JHuS8PH z;HqpQQ66qsD}FZC*p1o~x&N^K&&94$WeGzLgAcnR0g=8jhaTI6Wx&>SC(j4S5cvyK z3D;$oPT9j-o3L}k?Qwy)*J7M`%JWmO^F87x`+mgY_MlL-Sr^6=;=BQ|-EMjjci ze>D7pgTVg-PLl`(1b3UZw7Jlbv^XH_*13sHmap;+G4RL+9;3n4HZoHO@ zq?=u%xeR`~P7vc&)IiFQw^~f`@f`m_mbTB*;;JL6_wh?|#dA3dd${Vnj(#A*5ckBaC^+Q01#qxn* zCj9E$RBA7mvzFOj1U%NhO=Uf*G`~SF!_j6Eqa^xH*S`?-Tye?MXP;kqxohS;rhjXd zeesfXi&Wi(;B)!v;fyx8og;~tjnZm8X9Mo7qeMEnjSHW<+nFhC6C!npLHQCF%u(^8 z;MgjG{wJ(!gyk6>-QvxcAn+BbJPrWyO;w!nAm#NfWam{ljvkx#bYLyRH}LR)efGL* zL%%~Cw&@MtX2%pxbPXa-;;l-dU)T*59k{^b$U0!Dn-7pZHw=?jrtJ6}T%Q0t4`*88)HCDM@J6k&0NWMA11;=6XB%dQ#B#F{X@})q#>M$>>^Bk!P3E{t7N1` zR{DfZ`wqF_MIB|eXy3h0q=oFrt#XK^v(+z$P=)L>wHiRj>`09tLVEoJCW9i{R}t(1 zjUux-ebZTW>t+Key}Qgnbbl5Ze>jfruoUW*ZMt{5xvId)8j>U58h#_3amItEamJ?g zlEpYh3L+Egp>ST?3&`l?wRq=M%$tyZ0LJ$GWC03yhr$`g+&(+1ll5o3jp6$%G;-$% zjdGl&uwauTSjbjHgrz{NmOYJYZOgN2E&(TMzLYJXC(bo22aM9b^g%{A^Cbu<|4(t|5!JZ%!d;ecqPWT7 zLYu_+tXc$po`;ay8kc8bR0R4VMf_5)B;ks@;~A6k7Ce=oK0DqTO+Yah#GdiC}6NZEy zeI|^8Uu$G7G5Z8B+1HBL&Usb60S(0d-(A>6ug}2^2U_>Z5E-H}_6>_N9-?M1Fq<1( zTeCw6<`=M?bYOx&xu4X5$PjScr`Ln3bqH(j9oanU(UW=cmVW_dBeNzDEQ?;|YHMqr zUfja{&gAHU3wPq8(i4yytf9WiqrRgV`;8VyUEX$sPS-`&4+bXcX10^DZ4m9H=55o4 zLWKVG1lTTLYOU1%6VJ#`(K9(pWI1n{Jb~ojyqeIRWHhRvX$QTQa!X|7DKDSIEGC7~ zJ>09&?6A-SN51Ff{Y01NyCazc`EP3>5WDl}yxAm;%Cxfp+BjviL(V@$4Si(s#U#P< z;^-ff@e#zxN`73>U4bDqaRftf8{3rCF`_+k$m|W=fE}+ZOqfmn7oAlkqkA_-Epbs( zB95IK?D`#4nctfyaQxD?Lv1&{-UZ`O>!P;c+`eFVyvWU0)$aeU^6h`f$*4%fJD$;Q z#x{?&g3Bnz!}ji20O7Py4CM^4K+I&(BZ$n%ZyehxcR{{N_hBIsxgX-ZO0GdGmSSSH@+XRkad!*b9A&h~Rvr>J}` z@7V~lK&tb1P-T8~BYF2@V=Bg)Un=c(xLKB{_CsNepuQtC&l{KiVsE2h1RmoT)zl*z zsnQvpsr#E)!z4@J$Q8@<3?Xs~mHW$UyOE+ho?LzT6qCD|_DXZ$JD>054FLA8OMFqo zg7Aeej7;42o)aMxK`ewwtW6$&5)TB z^?9LWzvPciQPXX|b5xbwKO{eY={GHtpl?XkR7$+r^{o>mJOAxqhfNKMvpIOU2W(cU2q6_e&%PPoQuW`lTW<=YWC zpb9nqTxr{F=O05K^o?h(F8vUzABUNoUn&zG#hfca-3--n*ec3xUr8!2%4&djWWhde zBrI);>)V(4mL1J59OVut5jl)_%Wz~`tAr?Uxgm7dJGMChx8M6)m5jNpkdm33>S-wK zgT!F5RVN%h%2F<1xL$ZCKjcrd-Vw_9yfPFV7<%^6PBKA5D#=&Zr#$AsK4Z~C=I#tP zZS+R&H8k^W+62*H%!z5i()qD??eFVCD}09*=h3cno*mRMK2nIQ$YkzroFqjF*2bHR zszcHgagNIMv1Z_fn8T-%(Pd58z2_O+O;*(l^Dzd4TEho6mkJikt~4jo^v#F#f=NVD z4=8Psma_W{u6@wP_{H;neO`Cl+p4b$WEgx1Y{*VW+r&3`$BfC81`Y(R2_*v^EBt^l zO}jq@)S6?xb%=jHL4vzqpzkyvmGtOvcxktaSNf7Vhl7)Fdffy&tg%_}n)h5sa8xGG zp??Q5CpYE%*T7LR7Q8)@ToMp2>-AI|Xn?~y(4>seI{HY1e@1^%kb6(X9x5i z%H5}|nuj$iN+)evwm7o-M%fRG6s=s0WJU~cR%cfdrJE|qa~mGYNcsc7dT7Vwmc8Z6 zS9QcR(q{ROs@nlc0+gvJDZS7rQMqgd;D_uGs7~O4uT|%TZr3s@dvoxv)^Oh_8ZR-5O2=aL}hZ*4@XfdsHg>*QXOcK zq&`$j2?H%=oC~uKcd2dWxrDR%aP2Xb3At*;h3k1nP>YU4>u)SS(m- zOp!PGhyzm|ctJ$UW!;CIm*YdQZ^kjVa`m)&xT9EVrPGv=12azBx~irCD(~7bm@tOz zMp~*s*jB-OSdDS!acE@|(fCtAqIXbpzT{L*@@m`s^NQ>BDy(|w_n*i^vS%@E5*@FCa#B6nvbvjlIJzPS)B-(l`D zrV4IO><|bUQd#8_s5MV*G#T$S=t8&Ph9&V7KxnLEmKiiBF=2`oXlMP<U*BaG=}}l(|20ZY=`J4{=_s+k@GbndZnGj25338B}d(z;$cN% z6v4BK`*e_=YHag5kMu@(pagy(4iWEzq4pZbK#GT-iqmaJ|#(;8-xcebMr`$wxMY5ml${ zHlCw!8TbS@1S~R3Z)k6PIGx;4&4ccV+~u59rNl)+nqDVZ16U!hLZ9&SbC5<2Row&K zsU-{Jr2yG)*&_Jb!w!{9%U{8@p(kj67amj`lc~Z08%_bLsMa0&I;{ikhsM|dl&+aC zxf~VV`x`+g^AODRJCIq>^%HAD1RECZ(q-Pb(CzHrBF_k1A%!fnKn#AOiyX{;85wE( zr)As$i~A5BQbeBrR3g$(T;q^CRTJe<9mlcV1{9+L-W4W|GIt7U>oPs_)!15!U*~YC zSzH{htuH^s8BiSAU@$e&E#2(q9hax3n(nj}R0`c~^+e8WjKg&V#HcE%P?!Cyeth~a zbkJL8o&B6MH4#v2FUwr(!Yymb-w6}yj$Tw&JVM-=H`Xl>d zW5XT3qnlk`XEY86Gu-|O1+Sa+?n}28VeM^wD4xU~v{m;yc#0LW_|vEM?DBO#c)c0J zNCF*!6EugmG0`7$UaOM2nt<9*2M9%Mr>NL5kxx_Ut+K=c1o2E=z2=)p$Zg4!c&he%>DgJCPfbFXqMG^WyVW%S3Pagz?P#s^56AZ_n>pw@?dM>=##>kk#x0~! zrMz_(klPGc?sVB9_(HnF@jD^<#(!)zY0wv{8Y?*ju0=jHIpy+cIV7%&_nJ5>P zND-X_DUXLVawv%ppmE>blr2k#s5iwQBr^NX)?f7wYho9jiOC$v-pghT>2!}%L8kDB zFFvQPl*a&7W4p8v5X$P1kmA^-+^CU@xgcPqUZ1MrH@a)v|KQJDAxtU9N`gD+}#+SYue8vbuMA|*of{I6p^LK~<7r(-fisAZgthsyNpOVxJ!;m7h1YuVyZGO)F+QStNm{U zg9qQl2p{(k0jfikVcx;a)rqq)xg4#fP~U(HHM3Mzv?<^&04i=Vj=pabpyuRlIwA~7THBsTd6_4{;gvy6yuyID=`vNU<6LbO;TMtk|NL`}QxNH8B-;+Sa2aAM8m|aoPNekp)u9 z;^AerJYH)zUXL~Mv0b1V6F1-JDZ6tq6M%gwl9F2#BzfSJ{~8jYwtlFy+ps@rVa=!* zp4hD-S|*W+qliGgV;a-J?o7<=N+=3Fi3}T+Ob8?(yr zdqy(21N~$di~HqvgGP5-=(;?0Z#H{f;=KyI(*CE=*<(SDr^_GZGd%GOi>}RkiD1G{ zV0{GU6*v$yO_R|PPU=DC7OZF8nEqh)g-bI|`fCs#o^A(6lk}zWIs=L`8+aMc@ex{Y zV(7m4z`0ejnkp39eJLj?Sn44ICXzWuv-0h9s+|9NKtrOtI}5YmyA@^W4cC;th{~ZL zbh2(KS|R!lQJ)-sFe)fTrD|0iV2+!ai}68+uQK_<*H2(+rUS*qN42^8CsS9#lj%#!4 z{;PvLw-N_s_{;2uUW~uvS+D*?Hrgnw!>mf7Pks0l3{2E8tAM~-je+H;uxPY))znP} zdysZy(2XI~@k_kCqnKwK90DS$X+!8(ccF@rp%e_F)2bH&9kLa(?LlAuLr0oD#!^ai zHdd9Uz|QNnc~QTk8WvIAd6)14rT(|G4P#T;CFJdEb9^enIa6!lS>SDJ`2Yf1oFFO# z{`~8MKI54W$+I@1D^e>b)E!S;i`Qb_Ww+PF%MNyi;I3o^M^8&vNy6?jvFx1lPiV&o zXx#l_Ku@@lPG!$KP%Cemi~;2P;+}aGfDIz1=nHMsP!0-;e2U(`RTQt{gr{Vu1K7!X zFw_zrKAzWLTv(X@fD&%pQ#U|W?5H)B7_$kR=YsR{oLKN++mL_?{53;i^Zvn?^=R5T zPgA4>=jB-7`ed~Lq8Oh;QP z;okRdv@{5Pt1;uNQ>(g0xhZCB!7aw08+mZjei*Vdidngh$p*xqg(?|_xCt@)Tal_; z?oPn*dt2&>>{W`Y4vyZkYYm#w@z9x!qSF$ zi{STf>`-$y4X8e6M#ORT^S7B$jE zexwZS;1b#zGQNWus+K*Sd~ZI?xtDRS8||M+vcGz`BrrjVx2-2-eg}zt%PVxa3%+() z9JP#$s}2&F+8n<+;WM03PdeQ)K?GNMOlHZdUu4G{0+t$RA~vch?1CTDHrQa8#uHrN zSqf)CPX9zSa(5b&6Z$8)HWGe8J64!~IMg76$w@y1SuwERb@636-*#$Ls}p4oypMjV z*E6g>@_@50>xm<$wvn+PY9JWcsj1YKL;IsB$09<3{BC{>0{}4}3VHSi%%-R+AnPZt z`3A|~h&{-U>A9`i&9&r`yAuW00KkEs-%oZAgtg~G@!=8qNACq&O98M4=Q(EcIf zYp3Rf)jGhA*chQ6*}_w8j}>NG?OmZ#>wvh~!|Vs+w|S2NlR%%zjGx;nhFyan;Fo z?#{b}wXE2U$e7+zsrW-?x`M3$rg)&YUG6k!Oxfit%vc|ROB?N3TqXN8Dtq^JHoR$M zaYVG%Kt2sf{K5v}PkKb@U9+$5M4yrz-c*hgx$UYO0z2Zk5q!TtBAS(eH;wL^Q0tC4 z0j9nbQ++&$HLcZ^>+fYDpHATkxk#UtGpgxLeLFUIPdSL!YdVGD_Kq&j=q80ny(mE* zf|d}^9$cU#OBaSNt5R@ml?;5L7dL$aJ^L;83zQ$Bj0-s1uR=dR%eH>7vv0Zo6h}6M z#jJQ-5^JDN=m`45@xn7XZ{mt}&YPm666(`9C_H`WJFKw?>rTK#zfg_~nQ`CO`;O;Q z`@TZb3fJni|J+faHO1#$C=Uonlh#o8xbK+8KCC+fGy9xN)~W15?Yojad?me0zWM`U zcr4hsmzZ4@{W<1L=+=3IlWb?H{hB`9G0oTKGn9)d(&pNO3A~CcICx7ziTKQ8OZ$j# z5ZCn>ibZI&wbwY;U)Sg`xir2s24+x$pu)lbB{wj)P!oy*PGfy=tf6InV!gPd3vSrp z#VGzc%N;1^muTyZV~{{B^}spHF?ElfYA5v~LX3aXT3N+wPY1N^{ zo?nurGom%_PlTWXs0v8cH4gT ziI?>U?#^4Ke9Q+ux->HZ`5V>sYdM75>o3P9wF$*>qc>12J&k88gYF~xC&Bf2o@Cjn zT(1wc#ygnt@{0ZH5Em3_MwZ7J+|0BQYIex|QfqlB!r7k%0gJ)LoG03?=D7AX!pLYc z3F<7JF2?mW0r#MWb!IR32)ydbI|5mAU8_|C6wu^apO?^ecuY0kw*88I_lN*KP}b%= zm5(L82Q&mLdWo~qtYzVm(LF(~S@j;k?^!@1qs`rTY`@2KJ*q+r$BIW6?wv_({LqNG z;~EEj5HV3%eCi}%*Jlvsy#MLe4vF4zN;&BZ(A#2>M&qVd_xhIq7#4eokf{}>UL>2YxHKl5}4mLIXrppl|Rxi##__}zL zrGn{3|a9S(gFXLj%2S$t9t&rzR$mzH;*zWC3=pZC-M95E+ZV zLz>%5=U}2teTiuz6$;>i#m3DL2{+vy9{tuyGT5PASnuDiHBd21e#c?;tJn09hSXml zG|c2Q)P+5VG0l!#Opp;+*I!_JzCleGH6OAo;QYZ2UH1T^3$p$*KYYhDOQzB%OD%5e zXE%x#6j}zV~wHckZ8&B1I_BUoa7OwDFuN8c zndWz+tPT6jZA^zvfD$A+CgDqt2Zx|^uN zYHso(6;5#Z2BC4$UZOZ#e$1HffJR1g_9a8YyszS~!hn5U0?ZEH=8yyat=78MKpl%D z>lV+C(yDLf!B<;#{eWDzui)f{Kw^a*rss>o1g zDWj2od;1385e@8cuLEyVcm0ltCqXT06KGYSLv&~F2LE5DZmuOQt#ZFMKRQZeu+rxj zCg0;3_p385*=cQwF-6eit9d0>I}FJWG3z^``I(Jm zP5q|?O9?BkIu(MBHYHM$xljCOk1C`#tEBET}lYmExfl2iOO?VHifn!8Tq zpp>uln5x?DI3Ts9t6*tmvCwMRu0DLGsLAiGJi?9Nt%(ORuKsqSz0CSsAcB7ZEoCbN zmbZhQZMHih$@L%M$ZW$*LOYhY7)oA;>}7#qeWW77nU!`MlM+Bdi-U%e$)(DkR*A3| zQ)uHIWQHrQPRY!YLoNxWt7lg%}wPE&l*=nLTx3XmJNMR5EFU{@9JGu!)ZI-#gi0IHU(b+uz>B!wZE3VZI zUb;}9o165hqXe>wDhu9+vh`E5zT+8`%W*Z(xGP}s59=j_!mfK;XJ@=IwZyjT=@Z;J zp@|-I#MN?j=geC*Pb4gk&MyO%JEr;JjqN3#vFpr6_qG-6Fhz;|gtEFT@N=cVq##M^ z6iaI-_4N>;zXV_W4rmsUPPc@||FD%A1|PeE5G(g8V{zn@$O?H?+t6mD@MC7;j%QB| z#qmDAXqFZYv#Ak{r*F5@Pzb_xy7-e0LtN&!R8cM=v zg>aDwA%(+uda$~TodrxWG}+W|+r>@}mf#s-x;laHk-1^|BP$*u- z=pWqc;}r7eJD%ZS(|u;0>FxK8O~b&?YV0XKG7Aw_OV=Y9+5d6B*Q#>9f9&NhMRsF7 ze8yXu@fvbY5SbrI>7UppNVr3Ww-W5ss)mLv2$2D4p+oui^>nW41FLpEyv_jZ$x~51 z6@b;*Omu%$>+fjBmvx>0IIq{KgC+#>ie*0gaYnw5|LjB}WP4XQ$jsSar2kRu2rxvE zGAfR@cn&r1vMEwl{IhoTp<5OHjfmW zNwUTRy0if4!9@@j$mS`AwuOb7{?x6yPC*cD9T+L1-P5Y#iQchHAnrBFuD5Fi6GpW9 zmQN2lD7@iS(!wR|mi@v4c=x#7yoD`>y3bh}0eAI#=a+T3tIzK+CXj7*bbUCT24|Qe zJJpQBM@_a-n7s}GCh?PQESl5xT)%UGhcs@sYn0d)x~yLki;c4R7T1WJh0Z*DurG73 zKc8%|(=NgzrZIU)3$E@Qz8IDsQkiGS6FAUx)t_h?ZHtm`Wi)J|Sn=ld4OsThs4Q6i zSk#=-eEsmqtaVS|EG({xr_9bLg@z*RcL_+kjXg>#C=uRXBk?*ae}SjArT!f5xvZH(D2E%wDqOb<1q~plgn9^?5~R0!P?Pw)7$l>Sv%8Nxvv@o{f;Oj zWDBM33!UzRuQe@mRW<>qy(5ZgL=@-zPm}?Zi%;2U5sf!KTUEa~-N|yy{dO}UN|F|| z+O~l5f7bdQ%Qa&0d<_)cDx$U8{cAW1_L#!5j=qrmwnQSkhaVxw$=+2RID|q535`SCIqt{8YgF z|Hp@I%^gl1@p#rgy(C#pEm>yM?m~Q=KjF{UUMh!KSi%aB;m@8!Kg30frY?y(;yaKs zzx$D@+Xg)z8+PTqRj_4SS#M{0_n!W9VN>1Q1Zt;4+{o>0*Z3`)KckvYXVBp@kbfPt zLp@^V{7^+$yLTv&3-$fa3ls|m$i=0e?vS|*}-xtwI%iB?Lz!=t9$(=rIiDyhhW9=G5N*eyK$sIG>lIalV z96ZKD>}2d$#e0?62v@UsrUf?wk#E-5?4MYh5m6rzdHQyO-{$dWpDa_ptU`jVEIA^$ zH`mqc21939Xb-#IDiOf-15!1QR2V{;Rq+Y0u&%)rx|~GG4sh{A>>7y2wX3UTp#Mv! z+ON+jh+k`2?fsv(2rPKM#WF;ESL7gnA{n1qAZ5e)N{f^YX}IrnJd)P2P4vlTrCCcc z`-4p7?UUFgzk=@Ao!sm*wF_O&>N}vZi@cmed4l&7# zxFDJ8h+q2jkP+~OoQKErw!1Y5xR9)!Hgy2dX~};1*|+{10{zsWIMh-Nmi5Cs_bX35en;TRH(CBH~<^tVG)q%lNunF7-~bxg|HfL^B#?=ZeEp|SzpAVZ4-hUNY#1>e{nd#(+1|yX zWsczklIrdm6PZ)EcbB}Pd?-N^?ch?-1f~n~*Z!ZC)9@2gPXL`lNk{4)-{>Ep?O^6i znKb@rMUTnNu^Dum>Am4QX#F>nu&g3seyA-goO3)OC2YtL)t>*KI8TOm$9fDQ?}r!l zU+HU_P~)?#)bi+>>K?eUvWSO~H6~K%b|Y~4&Bjw;eHYQF?TXq*9ZhGhZwJ9?p1e_S%-%l~l`Zssve z-o64LzWVTz+Tn&A7#}WoJKG?ao{On{8k@a~cR(Gfb)9*1V6JG>j?S@YkF~^o9Lp$} z#rC!EssAW|H?N~8NEYb_nYn%{cf(J+x&rid_T+u79)oI&-D;%6tX#$+QCm2Gxh3y2 zycUtn?A=nnwvTZ$80tHyIG$5i5k#4J-ftB>4>#t6dBa5J29N{L9GzM_N{l02N?V3 zVy;n`ps%I6g6JZlt^D{8Y2iMHp$A(?2o=fC$!8TOAp?XOO*3csTo&hva^o8N%#ScM-sp>sTFU2kKOsP~ zkC>zw$ZElE4JmZH3g+3)_2oV%ShZ|vCMU*x6*bl66t~N0a>5}YsDb!kxAus7`U(G9 zI__HZ_!ob`YXTiO|5%nqlZT3f2(}hRq2kVOH??)+5&RFUsmFl&9bI4dU*bx_?~jWM z>#;42;Jf=fk>TRx>XSe#_)QWqqzNfNik2nDK9ZN@!U7`IomCgkj`$rF_GHiBigeEQ;lDhh8Q)t+`?X&!`1<3oijU#6M(H@TXFeBrEYQR5 zl<9JUO_(#W_Oc=Uwj0I9UAz$}WOFFQ5u~pd_X8(g51a#e^YKeEC4Jo?I7UwDp{%txjxDC(8Spgskgll|A%DQ;&tbrJCP zr2m7?5HEwQ|3@KH*+cAi<-v>(W#hxN)VuC&%TssrH=0EQ7NOYUWVH|hciNKl9o1;` zMTSJlV-b@-(eu3)Hev)Cy{hk2AXbYo3Ad-C+5h-TH&Zi%cYl3<@GYo3YLWPlqMD2} ze||nCWowzr*If^ga?3X#?Odyio`gA> zrn!VBY9Fo2HGiWlT1tA#f4WA#cW1Z$bq$;EHcf$zhCh<5nO)s0bw1Sc09pF+E{j!g z%hYk3ynl_29uj*y%JX?)3b=hX_&tQ4q0{~!-?D8@X@toaMwO9ly^WpD7v-9+7_zzpZ%}ANlABZU%tE7)X4DvJ5 z^&|9Jxw1b+lY2=00Cfr^U50Noh3~02`>wJN!DJu!LRquAC^w4$bM9dha&DJ1*dcj+ z0csS}m^h?c1F)55W@84&f)(oBjVf2u9!{n0`X4G(hZl=~xyZ#J-~4}&oG0Rt=d`Wj zT!Ugs49*^6NtWh$!)tymXHVrC&p?$zslx=9zkC@9qF@eXB(%pf0m>b?W1F zt`5OE*&(_HXQnc4ABt-;u$$VgJM8kUMxmsElq|M!dkO0^DM@8`q<}udM$lw86=CSi z?Z0fT?x6ZhdIy0BSGdMWV7EbkM&HkdC$zBb#UD>SGMuto8n}*Ok8u4)HeR4iZ;B*< zZ%UwiPUp>;E-7Blb%}UmY6{*`f427E9a7hCzH&EG@P#~?8F?csGcrCZZa>Gl zX6<5LP3%F=#p{Mw?pE}b#YncY)MIKtER_+HlJ<_|9P$9u*%Btcu`B!aH>rh`7>hxf zb~Ej*%!MBE5C?4Nvnz!vU4s

    E5?qKVglIR_sR*HQHrR0@)y+bGW&gcZLKpqZRn6 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

    ed${ddKgzz4-NC+Amq6%;nMOa@j*q|Sj3r5{ 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 z zGD@8pdF+8xJFE~|>+Nh`uJGh)N`L@&sFxF!1Q=W55vB~MZrv>>F&+eZ@p+_)tuMaP z&5O)FN-k^wo=-+HI-9Y?C;sT9vd#Te?iMnv)bb zdr5+??m5B%XTV^T_jHQfR!vD4KcKY)<(=(>Z}-b(B`^l0xd+xOZ75bQ76#PO=Th{O zDKz+h5=ysnRq(0H&-Mf|wzHiVV>d&}WYO}y?L@Eq-=15h=9t31lgM6~q? zJGEW1E&e;8G`=?FZg_E_bUm17R72YQ$sMu@7xuZ)jPChw~+uM$m+lVF&cQg66|nizn7FK8+;YCgwu0m zCrAP#4A?-VFWJ=Fj87QXHEbkh-`uKUN5{wkrJZ5tN0KwopkG|Nc~F{F=}&n5Y{8G* z(Ne!Bfy_kR9s$mUwf#GH{bp~ywdV|g=hX-KJ1zGnM|wubFH3Vo(Tjn0WZDU5g>GSukyS_OX0b<63m=Kc<`Jy^UJbaN~R|&Cq1B{}Smuq6H6o6O-IUMAhu61)%;Kr_R|58G}W9!#S_lx`?C!k*KB2>~C z-F#8G1(h}#>V;i6svT1YlUdU8C4f4j>4S(Qek3aFQ3gBl3%>MeFWKm3m#IgFu)Pr1 zWRoGc<6{asV(pV~s31HnpPN{4>f}dp0!jm|tUX?r*Nxg~snEm?1{M>py{-c660_iU+_rW&9F*mNpO89z_ z=q@&SDafF~oOqc+a=%_aswwSu1*l`l%&{l>LgC)Q^;ZZxEr7UQFA+T{PVvxa0_A#G%nP>czn$s5_;d54e}J%~s?@5^mzyGN_HRnL8$9 zKN;E>JrOO87Kbf|nfzfzpFgj+9$v3=^Y@Mt#X+|<*yXqUQXlqhAG@Lc~EABqd zIfrTVRe9%)xx#p2I(Jg$jDT*z&&;Z>D`k02f<2OpG8g_q5WHtY4_Vv)&?Zjy`oVSU zfo-Ed=_JYaH#}~31(2F6d9(vg*=&Grs2;_r!|jA?!}K(ju+?S~I`|9b;Or-oUgTz~ zZnh0|n@GNdIMxci;<+t1?ugmFFzs861XwY7HxkT+0?fm*sM>mc4FMEN7qLiL^)@nI}Q^L!w!z>v&mIhdAzIce}MW(9dN*4 zOxQV+J_D)PetW=bA_K=B9TJ@4pMO9NwtTEa6iMH+B{3us2j2s(u+k)&3i_?iX@Y)< z`lULtg^o18{0q1Bkf4NVtQ7p8usEq7W2GKjKSxDbyDr9+#By>X2&%l#4a<%;?qc>$ z8vC6lnARFFJ?mM7w^OiW!yUb2+4?<;e`7DfxrJw0?=WJI`_(KG?y`%^Iuau44L9o`LS4yuvW=>LrH1*c1k86%J zTDrz~>-w-AzPQ5L@7AmA(yQ$CVH_5q>FoxZ8@0b3Heonh?QEB@2m2F)bslS!BOmWE zq{#O#_$Gnet!(M_E}T%S7ZM*)`?YK@F%I_bHYT8nP&_eeOy}?f+2XBzthU|Zh{3u4 zV7d0tYKH(MktEss*xTz{cB2VM7tL9(@?&N_#GbT;46I|Z|iPmELz zP&&w1Zs2O1La*O-N}|y_nyVhe7#D23#KW1hx^^TH_Wtk~8o`|7$(;Xni>&Gz=UD%3 zr#ths_lRztqoSZ69+%mgVgI4My8-nI&d_@?O};Fte`hkkL%YU#>grLOPsfXpywAi2 zz(1v+a}-cZGQsn|gL1Jwy$MI^V%om6Jn{bd)g12e^v_JZNt8;;8b*6`ZTlJYC-d6x zm;}DO-P>jm+SBzKxEC9Qm0;-dhoY1--`)|8iKN()T&ssI*Xg$AwW5)BHGzKdl_n%$ z$5Hq&b#qj%bfG?4e|qsBdJ!X*F^1fftOLwT-*om}Yq53apQQvs1^;_zq^Lr`doyH)d3Mlmr%5imUEq=C0&a+@u#NLE>QcH$BYQ9zTPCG z_cI*yW`+l82|^&a&^pYN&e&B%-{I7Lscm<{ zwuixnKY&^iC?*>SwKR`vixZ{Ecd+8-@N44fWtsFP)-XaEADPA=`x3;WXZnsHcWD>a5E=(D_<^$1y#O@nle9)xTn2HXD;x#!U1-3mR~Y z^IQl%)h@OvB~vBh<3JHUP(!ip@<&Y{>H{OBbA;59B3tw++VM%sW?Df7LLU|!B;|P8 z4!xJn$ez_yosZ6tep?;poHrTXt)E+3MR)a*R%}Uh`+|=FMzg#Kt1|GmLdwkL{xDYZ z40>S8;LMiJ1P+v&P0HiH>M=d6+869ej7dq+T`u^!YX`eIGD<>zYj_?~mX3y*n<%JH zVYh+8n?!i1ySu-hcT|13o}f!sNbZMAk|1*9;?Y$%r%{-8sL2z=*PaFPEYrn$WqmOv zEE&VO2doE!9%t=CBrzuWS`BrP)N4DDcHl;yVx%zF$y1G?GI8E~>bFrqPK$X&sK1fq zJ(xZ-5@T`~ea!_LsomQTd=v>!;ePOJh%U5PiC*4Ka{k&&^-TlZT-$u-qW1A)lC8K# zKIjIKE0~TsVv);kkg(Py`vJXFxZc4={y4i7&_t4gPbvn{XP6Dv;Ws-GO~2bjmE4dA zv0pXq@-~TJ09n0k&M`{7mYizPb=w5cv>9AG*eqo3lBL2U`##l*s^@N4lC3@r3}QK9 zTA8zeM5{e&1QjcgnBURg+o6F={{sbJUlP#t5jnsh) zD70d-z7P}b{qOKMe6753N>iAr6#R=nTY=wO1@`M?He!QVqxcfXUh9!<{#VoMG|ZIjAQ$QxY2sGDxWw`lE*Q!E8F*8+<9 z3TlSDx%QKa4e)`*1PGPK#^z^~-4G_(O<(r0m0kgwtbauvADHp9iG-J4W&J^kvE{Ae`nd#kujjwKqNm&ACkKm)k zN|k6YK+=CM5~NdY*D?*|;mUsm`{|f_}Ohq;Dr&mWcl$kvr#Z(XCt~KCC41wGn;@=zCFwXfj1Lia-TosL&$*8VPe|Q z4%!hUa|HUH+sFc2@{63PxJJRWU!S|0BvS~dlaagEGWWlKa8)aiZ1WNAif0{y>F8&zra1bs5j&C`-2Q$bN!C3j(4RY38<5a)sj#3<}3Yn z!L&ZoIc;^9l2VXN+iL*c3#h#=P8&Wce!qAl3TYf^9kr~@zz?lZlAJ)UlU}y>UfIw>Ms`gMbsHA zN#w|yYee>gJivi63bFvZ4fa-iNL0+#$C-fGlAFkGpvwABU}67L8TD}bgj96M5^aJ| z=m~aJRrY+x{O|;{nc`Es?6T&_4I^L3Q?q|u5n=w2N*uvlz3Yb$DMXxGt|VHd_O#6n zXT$FOG9@yeNEB~sxsvp8AH53}mcfyBz`oy*8UniE1|mgPTJxYlicTefnr8>h(UwV- zfuaNvcGgTHJEjzT=86Q<{iO>MSiF{a$2PY9-6E2NYbqTrU7~j}Yg6cI%agFTs}&T+ zg*XnCRB=^9+{xAA_jdL_aghoq_bhPML9K{1&~|Dv>S(4+jl5s0Ps4&zzQ6AF*m017 zlZ!3N8G1kzc*t+RN~xFpaBc}Hh-~y6kFwo(!L!qX0vV1v!S7>Na&Xh`Uf}RV@=Wn>Ze;wNUSSY7duo7 zi5ZZA8Vh@1SB>4|Y#V{Bn=DA35VRGj^(Lma%RcG&>>w4{z_wgU;C%H{+fy~kQ`EQn zTfoC-|G`S%R`~7B2AjclxC_LyXA2Kc=F1jg1Tso(_>dXJQx`$~A7AH!q$!Rx+YNPM zAS49)-`K=)3FP9V#_Zainfkl4B0+@W;SX{C%kHwES)LMZLA=R_YoMtMAKTbLU+6s# z)IfY=yz<}bNWt_WyI7I57xA`j`U_e;vfz0u-kloIu9MDrLc?YESGq}-WyVEOI+;IH z!Uo7CbARIM=cswu;0!p~hE{DGty`4!vLVF_jLyk|Ar5wNdwS^;AB(}?85lMXb5K0bj!Qs$*hm$#3omHdWY8QH)xRv z{n-$-@!(xrJMOC8O*5p`V9((|onW^*Hhz|5RUbh$UitZD6@9Vz?hXwbc9BTDZ7!$2 z0dv8ta2O6`=%Ow#7r#CRBYgYBpd1R9ZD=Ih4`a8 zpOG8@l^4tIvSoKfmf(LB3dTjyUh?x<<#wB-wI%NrXrb#6MWI6NWfNn5ZF)D89@*Fm zA^=4|y1#j0IekYKd7lj0GOg37+|j=LQngT6sfWc@5}<=2bM`iHF>*!OC513nO6;SI z`h190Vs8ao;(fS?RQl*_i<6&dYKw;SU1TCW7Vub`X5X%71UBqcXk!s|oHznocnH2cw_Y57}vF~%`uaCn>!<3mRS6I(MUj1NOAJ=a#)M6lAhf*&;PiuPg@R>yU$7L1M`IVozgdo9Fpta z;4TTGBsZ=NGgNq6cM;G2n5g}N(fJPdkiwSjCW{02V_p1d*BnZz$Q=zVc}Ouik=aqI=f!3Ng*YiQRZ>pYv(xRH1{xXG_nE}W0XdOm8C z0dZ@I+pURfO=v=o(Q{KuGbyQzR9yYY+%2GXrbUlDu$tU$Z@59hew7?>o+gSM4-ci3 zX*IAjlq$(*mKhx9+@8{3Ik)*8Tx-A++(n5<)%2?)PZc7t^&lu(hgY zZ5M@vAoEXkSc~jkKa4nfI1O%}AV~^8d)VY^)9h=!_>4EA(fhT{y*HB0Ve+ZnksCJ< za(s~p0gk2pPaN%diy;|zWqc;4S^L+>_HiqujuPVyrC-fbq0wf+q_dRyj``EpX&R)& z*g`4Hdj;kC^~YA%v=xwBUT^q^jr05COq9rBIGBk?1%>eC44AT$=ao;Yd&jZ&$3w#2bl;nIWZbTBf9%)D z+^|L>kyCDTo8wX|R7h@)asha9B+0c;3!-;K{n8gjl49nX{Fp`kjeKXbtBq;+3rn)f zG{Ty*4ZXcsX(ZqDbchlo)h}TJ!PY7-k zC_DMW|8eaSRAVG3F(zqUC-qu&maoEt%elBo7xwNe{pW)!rM$_rU|gi{rg3YfH`)6G z(50}Nf^teq-2h6)SVQ#R%>)wo8Mqic#K=v1zkcRVN#(iLj-Uvmc&?PMZfo+6rG0OZ zBr#~8zF%pSkMTAec=TMxJ;S^k2h#i3F1#>6w_`~u0Q1uV^96s{qxMkF{#dl7T=im& z_J>w^qBQP}lD3r0)8kONxedeQ?84!3#u4U@hCbWgU6!Ekf*EI=aX>L8Tn~`$sEtoj zV@e85JYl8_bm=^ImJS}HK#3nY{6P>FpI1}ya?@h$&66biJ$_R}M~|q@>dG?tTcZ+M zUlXHLTIC&7o0=q8lIVy(>k;tUn_VhQKGze9p%>inBjq=mHq(|D7vr#xEDP#ygP_)xW#eKO ze(h%pjJwZb%2aU=j<50^OUsPnN1_QgIkx_xE*01KbGPeQAN+EY@~~8>W@C^I_fxDm z3}qL+0u`@g=Xlx6mnrcbUAyTTPm=U!7VtZgh;_2&fD(g<&dAC#ExSoKfP9=JfNI0( zvW^rcle^9MomA;w#73zDuz* zOnJgs5<<3bau^)DEntSsTMWXpGeeuyq|gQK|MVrHl@Z7R?ZU~{9!Yeuso^)0sFFn) zuevx57j%Usn4W^0?tXVFG|&-+ zI4Mm=d7GT}w$h}gC)Ol3XS1$L=1dvaL87zPC%$9rITO|-oR?%OW%4SvL{nJKyX`0e zJ)0lyhGiafvuik>RSv226E&eYdPagU8TT{Z5d$Kz!NxUEU1kpNmGCYFbt96MOKx{P z7Pg+tJ>}s>`4&Yajwcg+BTL|B#l7K^EQuz&oI7;f#WNEMDw7_jY^&lYj<54CQD<$g z#{3glD{C85aziG~1xbW5w2BC}C(dVMxuii!u`3aalgR3a)ghqdY$L07@|(P=kQ&4_ zi7p9qaNc-r0L1g`L>6%_E=xgP&|h z<#=(?#;CaI8r_*s9LMVBj!Am5Up|FBvgRh8I%N{UsbUVgD~qJ(10?CVB&68Uz7?!c zqh<;)ec3Td?trrVQfzJEwE9|}mcOxh_MTg!g%TPTLjN*G)k4S+}CN->7aQmq5a~Zj$`s4|hFlTPL>%=XeWC{CWQ?vR=0} z;-uWgU8k34S0+6{O|>RASrbaLX?$%q=Pu$}6JyR%?8KWS^L-H%T2!sF6>k#xU<3FH z5jAxzaA9HA+el=SP5Y!h!HHZZaUvNWRHu4K402EV=So0y?uHUdqE2qJ1*$F(&q)PI z<(1vdF~g{68AjL1h=lhx^wStA|D!HyLA08!Xhwp&uc5S~P!@#OZv9N(pG+b#E=L4! zY=>ByJKlI_mo^pcXls`ADFm!&ws!f8Gg&mma1m>nWv}VhjTW>-zHRq-1l(|(xv^T4 z!RqC#x4(1=%Qam3bQ}GjC)DrQW-_@|r%UYUYE8{H1xcCQ+aW`qmTf3U5V`ltc&l3A zK1c2ZZt*pOXaV&DtyBwheRx@)mrx+K3>ArM&5o-@ULoF$!C80wCVYUIWhG%4uU&Ql zpE7casgM34OlDo@L-S9fY$oSv~^NuF>S4NR- zfPL9&xE)Xy@!#M(ow0ISG%E@9KFRC`2fhKX*~RG}KXLRo)u1Hn;?*DIk(%6Ohi&n; z%<~Oa*?FFfMBDf>IwjLgFwWGhPxpU6p}s$E1j&t8JN-a>+4nLbNg9CV9%rMtHP_ha z+L(LvwgEsgi31Kb#M#ff?TReY?=`U`;mxhKC~KB&n>DL42HT5~%?^PX=e{w1C-x48 zX2`JL_DOB(x`3J2FIc$(>(|=xou|RAx!M?PY^QbTl534*m6F0`n|7#gPv^-0FzE14 z7_D4`9VyPin4joK6t}F%yPDGV!E<57JMMCv`xZ|V7l0NoL5e&Do}}@PCG~gJ7LhQD z9LJo#zxnM|Vk)DwiL=Qy@SCj_PRjvDxu?tfbU(35D~IRaUG)7i z=q`Y|reVGWvNTQF+kLezV&ZQtppP$$E9URe|p=7Y;1DgknarmOO}0`zrRm z*VH&-!g+&77#V#ni&`Z8Om|j${1v{TfeGhQn;Fs82Z6icq4r!V7w`5V2(iythC*Qc z`LTTJMk$Iu2Y;GP~RB%EgO@f? zF_(#A%%0JP()m8wLd7wr7&FWjL~!JAt*TI`@BVz5d*mEis>q{lNXkA-%k33duZEyQ zA}_b!`3?`%r#>$t#9HFkqD5mgR$SueJQZ|a9nJG6xsN!;HXhmzS&$wsD$K<- zd$?sWO3k-YCb;$+y@TqDbNG)Sl)ZTtY}E8uSqr%W3I1)<(u4noK*94lZjezI6TJd* zx45a|PdNR9hXhH<of>1EaeCmvXq%ibY1ZRm8ifd}dir^}59r+d0Q z4RSe@d!wR}I8{8})dl=8%v-0bKR27PLBM0!k4e;^cD#e@v5~F!X$p+%nxUUkW6V6w z(Sh)fwMK_#x##di+87Kt$hV5`^O>;~NV_*6M6%f{E?m1^BDA~Sc*a@T?WuOKtz0DM z=AM`r5DgQBJCHLQ*YrDzrp21hyO4J6rz6SKX}v)kcfuzBI8m3{Jx^lKs-q)UPKtjQ zle7VIjf4;#{<#mN@H@8B5|UVuXfqvN&_~m`F3up1Yz|o4ih_bwqjOTh^-*J3D&1(u zrVaW&AE}?9+9e_`BB6|CN?B`0#(0x9@G%pt{K$7bE7t^7=tE9_dow>=g? z*8A~}^bHkyH`?@uW!bU1LVX5F^>j)*&02B=cm6Nl(nyUCnTuaZ z+y=YL(J|a(sBCAVNTbYvNwrPR3_G={fU-rYKqA&ByhCayTzp8pF6tyC7}*yhxU=~& z6Ip`#01X|I24v*H;Ov`xST zPyJC=K`D8-!P38 ziD86`Q@6I%zFV-XAQIlo^~)w^z*jX5DZZqM1nDS`Q&>wwI=sSaSIaJLBnCv2j|EHD zI`Ma;o;JbAF*-GMR5s^8*&K6_nV>i-`Hy8ZG~?$qzQd|5s$PMc0}|Ah_+&;dDd<=l ziyZ=pA&6Ci8`v>2xKIT5B(!QbKUhUSfgCLo5_l0CZyXI-=}y*pS*8$%6pNw?mbyK{ zaslia0(9{|ZT5Hw_hmqmcRURuwu>0KYvy772a7zmz%Hf>lQh!M==q~xKr3y!i20L= z013)&O5(t|qn+IiaQzOg-F5qVWBqKMCw#%>M&9IbNwy6e8@8^Om*IJtOO)s-qx%|T zkCUF?1xqcUUDs+0sMXGqF!4FIq6>OTd~r5#jGOoH>+?@M<7h^wuNCR`d0%rex;3zH z1crp-@O^lP)~u0tsF95=_{=2m78~2Uf(`Rs;j%(AhuK5yd1Fsdoj52XUJ2W#>*IZ) zUa|I%tTylLslFBEmr@9qvaMu`>LQoM$}O>8eDXfX6}00Fc2TD0jt>&Tg}#>93-try^=nD^KH#3zVUO* zy<=(j{oZJhsDunHrp(-YbE+5Bjep!s0r?T8HK``j?LBre%b(-;j;CL)TPv{>r^XQ{ zm$YzvDu7o0F}auHL&(--Dxu>#&$FCXB)4_4*(F88UjFSP6nlAEm z>|Q~+)`pi%Z{r~tbzKfPcYP7h>T-Mcs{C(*&Yw`u778UGo84&z{S+|>l+bfo|T=?o5M)^%G3XM&drQQXP6jt^CkdecHwDNCM5;`rCQx75B+?!{->fD_(0_OldPi z9rbPHJE}%I-l0BfK|DMn!9Y2VHU2HQQe(|o-zDDW;y9%Z%(|P)0~m=I&E${?$%eAW`gO1sS}$c& z8*}4eZwxH?|3m^Y8X9KFiz|;eIFw~XE!!OkE^=?0(>DgepW|Bv)m$R?KG|SNYkY;M zt0)&;=5_~Ows~#6Apv_jYJ~C8EbUTOkeN;s%7|h)c=IQ){^cEQqUH~F=TMLLRYZa| z(&*9597lQ%+AxrfCvLR%9Oq!d+wYr%%3KmH z4cDLx46A`&09^Sv?;T2mi0!E%NbnGS=G$yNH`|kJt?PF4>0^5t88)ue%c2?tTycpn zO-9C`>?fxF$u<0lQ2I75` za82-U-&JV~2=$DI0gpgl9%X8gmeaE%S!G=_?&o+h)fc%D3AfT{M{5&EHo%ib6UXyt ztK}UUBobV4>5cUiQn5mEjx3t7$>?}LNdlU0^C6FT6O0EzW;}+Y9l?j-^A4p~|KdRc zQY{l`r^+&8dO^t9&X;mRgxL-+s@3Jp(~{>Dc->xWG&FHDq_2)mah29*Hx4A-{Zx~{ zW1YazAT*}zM(ReTcF-rP9O|9nvVp;MPQsZb&HH(w5Y*9w(y`>qnuHmeZS_QX)B@T$ z{n8yA^j^O6)5imx?Q?POu|Em+`tf{6ReMwEm?g6Dd@r75GAHb zx!C?{6=CuzFmzv=~jvqMvaIP^@iH{jGyek9f_% zdL64v(Z0j!g}0cH2ux2PMD%|hYr$+}=OTA$*3`5P{dL4IPsTlc)tL@}U(TnB@&=5M zSEaA$YOCVJhRoO^78{idt+Kfj;$P$SIVP$|I>8Yo6`dM4j^CuPI6jm3O@MShfX;VF z?P3uflJSOvOGv}6n7NlG#XgBNXSr=mu4+uSTPqxe)|3_FWWUTVJsvKt-caVPl_ajp zwWl_8G+hQzBH5PN2qsQS*V^+rKO>%lB-EbSeNCckj56^ZQ6JaBhum4LyED=T&?!}y zkjh|ejZhC3elY|&NziF6Fh3__ROH2-v-FCmeQzQ}X6QmT_d(tl?YBp1u}w^v$2hn? zmG@w4;}G#GtwBn3sq0ifi#Qnv!kdp*aJ^B$)O3&CKPmn@JEYx7ffS?AzJ>@uV_KmKef}#6Tzzbt+rUJ4 zgr^p|&bQC7aP?EQTDZ3IOom+Db%>J}ZFDr&|1K`19LAl29GMaE zl55t8$CPiH^P^Y-MB9n$SQs1ByMUCMWaQCXT^vFB3T*3vk;6eLxNqGyIRQo0zfN!_ zmLSvoQ3Xmgy2kj$X43rBqR2xpYyTMJD4MimYm#IpO+_O$Tg72{U zdZ1`*a!kG|al*F8aka>$avl3(l_y?}$g}gb0~uL->fK0hi*4oKk@Qzq8;#5vwz?=y zs0RGuGQe(~M%JS`O>hReKHu#E#(?v7eQdN8L{rh)OB;6Yvkc1L0okG&(uq?|i*z2& zVn+Oyk8)7JP&Pp4UqF_@VJfsjNR6H_;A}bZPx=qemi@KTh=qz1NLgSEwV- zAj5L;n7B8q{HqK(5D5<-?{yG<*~h#K+#b!HwP8kP1W?@i4MW&B#aTj>o)S3E>zvs6 z=$2}U=dUmUt`nLYh}?u6eFxUg63j@ET1IUF_K)T0xZn#jaHD@V%+xb}Qj=D;arl^* zl;zofSMcHPbn%X*@3)~xLNInTln_(fbl*nO2Eo+6KRg-7ZuDSo;KF0^p##1hc2nHC zu1oleq!s_-MvACmPBHY|rho^1iBH#o)k%uPW7CfR%&dc!kQj>eZrYBK0w#UDpOE^C zYWR^!a}f|An-BjZ>DAS360k&D-o?+L4J~ec*ABITs!uS>zYvl;rbe0CkJkRlsL$ML z=;?hq$ zP(Zs1;<1t}%#$!qoRqxBn^{rTFe%rTuG24G>kg>&ub+gyzfd6?qc>O2&dg5^!xHS& z#>GZxQcQY&1LV7x{sDsjHF-0SBPzMl;Zb5qf>((m%5@I#LbL&3!n5J2cY&89=3*OY zU`+djuuJ&XMW1W0T{vboe1`3Ph1JJ5qDjhzcfx}+Pd0}Av8oL9tcM)rB*ar?g6U+K zZeuWDN+$|+WGd`8++fy89xDD-?rcBZr`$;mjd!fB)5|ClnKVs+#6$C@Fl~`1l|WjN^&wwiOWX zP*TePkS5_*I`~JVr^$F;0#|1E0gQT_rzV&_$|fZ8fdfAXT~I-38-MVQrLk@I+Ojr3 zD^IRAuvAj^l^)WBxL|r;m&LNRdEAEl^abQ=Xi6q6G$tT+Bq`L@OmF=szJ8<{d2()e z8hLV7t$|$WyPHz3!yw9W%7yqd!VAY7dg-8do#LjB9^oBRPnGR#GU)aV1q>rTXCt+s z3P|7UqJta8cF{!}zb(rKWt4C#OeV{0>2`bt)UG)wlvs0)MZyl&&qk-<@0ZQN|9Hze zKuI##mJC->KkC@NM^j>o;U38urCuM~z@CJq8aex^?vjMiqZxY|H2D*sHvHI`$Hvz_ zzz7f@9}U(E=&(KNrM(@a-Q(X}kZYBE& zdt*`%bhLRt&|fg*JF3zTwDNWaPw!`kW$bMEelXL2bfP4)d0!lrS&{bvG#HC>7|vZj z$Dj2+!5r-oovN@we$&*CxhC90Bmf3Pa;H_=jXX!i0*GPao@Fo;llx7Pt7b73c^nJv zY`-Jx=mZFp9DzGOlA2(1n-nB^bfb!m&wX>fxC1Mrr&xk}m*& zySG~OK5pH{k!GgjcBLD@kN9^cLOTS{-5`HW!5~en;&*iI7HO18UY83`uWUEXyo4OR zE%zQ0mZFa^YekmF+)p_}$D|Q^Lb14hhJ8;gEgPOn&y1KSk(M~r$6N|Azvaj{x0I0} zyT@r_YI_46P`*ESJ=qfq%VPn%VO+gUaFS805o}*X&pxWMH zbvWC3^~KC#;OE3h!7CWi`=^9hU_m`#zj;B`5Ay&+fcT^Rc$59^So)F(QY01E^76cd zh;g0n_s2BTxGIe)H~Y8eBs!AI4<>#qQ@4ww459RQ-1x-R((|Rc^}b9()ce~oSLRj5 zpO<>C<8qrb&{!y8yS>~?M|@5F4tj^u!7K0~3+6;deFrD^((%Kv+uRP2y_w}2m~lG& zP)o=02008St@;y8`>;fY+*rz*$O7orcr1}L`T#DD!^+3zBAIby1@5y~$b^e-+fCXN zZ|s^4>c#>1Zezk#TGn zo3U&F8!y|3%Zb>Bks^uIZNSuI*72G)9*;~sj)}`>v8YJyTtvEtY&WAk5Z*t0W7Kl? z1ckyIqP}d$sX9~gtj72(U8dO*NtHw7xC6T2ajm?}8_!z0UiAjA74V2atyz zC$jiLW-njBu_v&z1x8toK-nnK_YItNwUHeXb(3UZK}utY>7kSD1u#Zkx6yr-s`L3n zUA^NtjurQ~kAB#o8l7142W=pgf7UdO9TgzlI zAYp^rCYeDQ_T2e7k3u!Gi$huD*+xiibk@$6k5Qcf-$^cR24&g~xu_NYtSvb0J8BC~ zN&A>*m4B?;m&xYrK<%$ONV}jmXxnraHLFW<;!uOU{Jl$$BQz4!JDjVZpw{NCF#5)v zG4g^m%3aJINN;h$I4z}D<6QmeEINHuRvXVpoQrOjuQOevYG3=?BV+U0k1SIGi*t#=1;{>s7Me?NsB_wEid%-H|lG{Jd(%$Qau&3fs|G17p_L zfaKRpJZhLBsTx7Uc4cjCP_Qi1~4ix`(`ax)g*Hh zd}OCHo~m=Nufd*z>S=pxX}c_zSmV6xvqJ9e2j-*d#1O?`wVGW_rl&<-U?z9^2iw@q zS>8c4I(>!)$s)#ljwzv+@fj6~Vps=xfjx3Nb{Q-gK!gwDAs71n;{~S;9Qf87{GtywZCKA`w>#M2K~}&>tmM7{S$h} zuqp-RN&~7?0dP-KUp7O*;74-d4&wf>nRiUSn5yfxC|RF&E5j&?-16*m_aea@|BhJlIRSB7+id9hGUdJM zK9%oyTJ{s^ac2l=A0;k|aYG$-wXt$)S_3vri4zQ%%Y{Y@9HxEp@q!aM8E^kd|8z_4 zcl3_#=!ZwSd6%xpQ|B;Vb@dL-@}j!6K2c;$+m}oCVHDC@)Q(lBw&myN-cG@^CzX_v zk(ipLH!GVK@9$JfyDTrqIWI=6jvQ=LCuC@#FIi((q= zjakXOL(Ba!k+7lkITwtEe*AB&6erDhq=(%>48hKL%9gPCIPY2-*KT_UKXF_w4stfM z9JeluN)@RDcbAj@!fK+3J0^F$vuC$_062HtI1Gn)7$d+#S{}bzXLn4cpKj%C=A6|j z1;7ft(?aMQ0a;fS7Nfux_Hnx7nZ*}uk_(tF58DHTc|R{U0_v$cT~oPn?XF21Cwb>R z-hX4^f{6-zAeJgU;yiAbd7nw!oEU5UqSEg;T9)3Gr75E(GlxxTYvbdUX&ulHBfL=z zWS3fwAGUh3ilfZCns|-C*vD0FA%P5TxSb5Ck-41(5H~I|l=pC;00c9XbP-O{IIy?_ zj-(zr8kYS%zr%OQwK(5lG)_zwn~_n1c{fY!X`67H;3^h}VC=ZrPaXAvmE7PUtQsdh z5IywIzSpX$!*jCOjI<%=Q{qwr zLbkc#_8i%|_9N8B98!B7!!Xz|X>xHC{M6mLo8!!c^%PWZ`a~%|uEkJrY{;vt48OzL z`YCGTx5CvleyzACu?(H;o=&v-JqsXx9aoDlYgtoyiBb@Dc3c!}e;{}Nd|GW5n_)H5 zwY%i?zBY50QLo3zL2Z8+6;a`sy&|+^wBjB>53(_CqR6n#tG=IT+DvHII&pObf&`Vf z=s=zlQq~KG<=R;;CS$9D5uCV9am2A?vmFgu!&~`fRowA39zzzjahK`gxUx6Ux4t7p zmlZ=hAHE`*vHH*ojoipjlhV0nenx#fnOW`s=Pb45P;R8gG+CKYSR<<9pBlMiE@hc` zP6CU-nTjbPG4YW2qbKfocVE{>q^!=>$xs^O3Sy`^dc>@|-@w{9?Jg5Ph})AX|48jw zOIe@o7479Gr9Kp4rj_$6ss@qC5F4AJ&r{y-k_$23edc7kI$b$syEJAzN8=rgrt*@S zpzUaQ%&D-VKZj7>n?^ba`ffK>Jo=dHpkhe7HeSQW0P^H1FR*A&b$L0(67+r z6G=NbVlt}t^dzlPC{K198|2|Qh(16|pqKLIAgB$A=*R*t0Ga4WuGP?u=>BWP{XO_p zfW0YdT*h)ZOT5XM#pP>Tp9V*L{t0!AyY=7{Bv6H{Yi(u{))lC_-oN`aLONT9%%vkY zToofuZp3sZUolGf%tt?vUyCbc{Apn8#asbkZ#?^qq`i-e=Ac@$2Bi^ZjRSE2pFjW| z82K!(qqD8`#~3_co_@sA|$phdv zhP=0~$*CgYAQZ!8y#s4N;tZ2<)v|3MCwBlK@oNn-WxhmJH1BC>u!e^^JHgxI}mYK#iVvk=8;(gTm zuYG5WrhRatGjbtE^=jii7}Zemo_mvHjxW?TQF)sLNu4$vY)`MrK%EtTFS=Lef$7%^ z;*P3uiF2bd!m*e-RdlZo*AV!lN?(S72YsYFzE|?N!|2-n#msC@H55NOG%`WvVigAZh`}@*J#MN-c6}>2}pTr~H zfY)Zbkg!fEKE$H154FuhZvWtXPQQx>Lx0n15>XkMsHRD-ze;0vmTjV0n)EYazR2vz zC*4T?*tT7-m7%1IQf?ZxoY^pJKhd?cU0#C`bhmduv*LD4NM*6rT#TneA@KI-j~ifp zJi_BtX9)|w8SyQa{a#Ru$4K98{o|n}kio8^iYuN7*$*(R*axbMeK@6w-D3qC-os14 zTrY_&eC;|FRAZiJIE;|ToR&eBc4lCP4;?+%kPwz&kuOB9Jk`E%r=6R7AbEB8=;Iwt z%a5=ai_G8sMs9h`ws-LWq^aaP8h{aY7anp|Fgbg6G|4bM$BERjk+R<*HN~#n_>57? z+lfFms#Z4*hi#Xm)$%4%^}ic0?ds>YiS;P5rwg7QSl;bE$M^}X9c_^sfx@_ZInF@K zXxYj|`)z29cp%wv!g06@uxS%N-C%}27fcj5*)?F^!R-BPD`lhZ;49UnbT?Zk0l%L4 z%uI=|%{|`RjC$CvR<it#<@1-MFmjUb~K?FQ-@2BVO9R?bi=ET_E){mSMhy>rISVj}`%$SCf{)FU1< zw)6u=ds2ja=S0Hk2fCp_kR@>%W1|f{eLC1w$+ftZEjQWXyi?+5#_lTGeB`Lx8sIItWuXflITDxQ$n-TW4^V{RiF;g?)a4M1Gg<&pyT@F~SXq-*w3aakme3&@iI7WS@ zCBo{Hh}x>{b&^9%X)H6EAk=y~?;+u-oP136r#pEv7t_$vJx()nar=h?{T))HS!Z~R zE9(`X_9}75ksMsM+!X1@LazYza#6tpQ72nl$wG7t!;iBdWOaNI^jbVE8&z>+SQT2u z087_bGEt5L;(65G(G;ndNo8Q%A8{MS4u@ew zK5c@mCeZjP{x*|lr0K5{xse&*GP&%4c!I`XjVbvKuRkZ%+7i+mWL+prKITI!&zGXA zw8v+Nh}N=uVGeW)DDse|Ia$8`YKT6;^nB_z&lI;*JpxS=T{s7+8)3g>_ zvAr9NKN2^W$1qplakd|A*oY}>jnUs<+Vn-jh>s~FbdLcnM|@?uR0sC&C~MS zR<-UByNtznl!fV%PxX>?WX8B3=I&gLFk1MQ=xCv|G8;mp76&eIBrTiE4p;QypaX~N z0@FA{x1d8#89bodt28PNED~YHfhb?(2F24y>>@R8q8(1fDn@sct^wLBn21eydH_`G z<~q^fB-4bIVuNHVW^ubM=a>A{9aw)(Z5g>60lHaP^U00ULl$bTbzFE-6D+CX&~UhQ zF0&CPywA+7Zz4bT$Z%G!#@)$cHOfWHAxtTqvo)Dy-LHwbpBR`IV<*PhrYqYF6{&- zZWD%gw6;ku6k~2eK6B_U0QG5rn5iGlk7%_p+H--;xE{r=GU}lZzVjAg|;nqHBK&Dg0AmUt=VDQT{|>G|&u8Qf?qO++S%M7OTP@favG zX=guNZTbYfu}=``Ez5Y)hgcq9e22})Bwx3)`lN{@u}ObE;GpsZ<)Qtm&gkpJugkME zxz<^Y5Vgmr`Htv5%%vY@AJ(T`h|DJ!Ko-~>FWP2C<#J*9jBf5^FNH|JGO${4B$2Hh zo#{_VZ5DEAfQ|dY$jN{|7k6or?O2{5t2=6E2rg2Qmh0e_WZ=uyq+fxTM25AAIyax2J22-v9a?e7?>r3#;5(-Klv6ujLOf20 zREk=xKb@n9lkj9^#q=8)d_w|p7s8L5sJwWIpLH_W69{&8ZFxu7(LRmd_`9d!7+uvJ zs4t;oO?vlG{qwZLRU4IZq#pMeyHa0*xcKCZxK$4 zK`PqjVgzY^w-`R9&*r9&gbbA6o{G3nQrJiy40g<@R7|CxotXP2lZGHw)9;S$$BpLE2Xs!Q&nu&#U%)t)q8pH z4ymoPi)fDcayvXbq1R^E465yTTL!z1AA~@jf0G&PmQ^Q6YWS8(zUyOE`V&w8<|wpP z4Nts-3xbacE2-~t!9E;SM}9fdez{8Z#n91c2(0}kK)^ei`*f4WWuH5k(Ac%4-SwM! zDrS=qUzmh$h9&l1#b5XX9p%AX31#GvH3qS_LtY{Zj2t>1sh3i&xBgqI6pTY z2AUxjM}=TH2{WPIoE~|GQ!=DuNbwG+_1$G_bM0-+=(LYICk#&1j&&LJe&S*sTApEYc@y2yUIJn)NW@^Ak`>b>jQMr5N zcRc-TYxG7$deUTC5cT!sVNOA`m>h@HR2_mCy^v&HPiKfpQ)pBa8jOr}=sTna8Yx@L z)Nu(~ztfg9=LDI}%{$)Jo+5Qqv)c85KhGqFDHk|r+hr;MhY-Hw>W5mB5vJ}YnZGkD znRM>*+2Fr}%qv3X$g2mVwPLbW*C8HH7h1Xmvw70NPb^mp2H;4Q83J4NeCx_(*5|wZ zE<4UV$wy2F+7r>3k1l>i+TNxzhw#tOZ}bkKZ5#@e$1PqhJ+nK-amOO{V-`4nrwr%J zY=DnIEMkA34JcV35i$M(dW$mKd~Qt(-;m$$2(MO!Z2y>KLq74Esfd)|92pfNwz>ll zh4+F@m^XnLtgPd7!;}81X^HA=9R4B#B$wHdU4Ss*O1gQe)3$gm?WAg(a%(dYDDKW^QAdZLPu)nS3dNelP!1fek(Dp@qUTt= zXtF(EGVfSYJKyjirF-rWD>10n!z+%AYOlk{BdTqv1d5e;nZap1;A)*ateM3wn0GV{ z>{sAGZcwqJkn#&(lHpiDbuvMgMa$yo90)45f+vv;=udQepFEfT} zOk5$1X)qFX^Co5XRQAJbkqs%C;s1Wpu8bN<{o|9;f8yz9Nb5(C`)0wo!$WZ4m3(QG zV^nqdxLS@slDscW8jmAAaJUB_gtJNC@$?G>{-b8_j&;98f3($5M0HG}F1zNEP8(xf z=z;+{)8kh>xT-J1E4|}6`{7XnhfgrbLt>xsfbY24#H}<6T&Y4oiX4@{6EE66Rb&F#S9A>x`oUD3mGw_b77yA$) zktX)3$PPB#0U9TcDNh;HhJQnow29;0a!)8D8Fl19v)n$BcNlFgQXoQ#TNrt1*VuKgPN#c^1{ z8&CW~A?c?nL*emG{pSWU;Y>b+2U0@0=D?SCaA$vK%G6i!{tJX~n!U`xuo@@7*-ksj zIC6EG(ED1_(CG~!%5*%7`JZT7Y7_~Qs^32s5t6+B>T~Vaj`k8--UjIstD8Zr8rWMY z)GXG&A5bsWAV5mt(uy^~veST}s8V;YAWatCiSm%3mnjZjXdT+f;Gm~9`2Q=Kev-)4 zB=u@!PyALMZ**np-QZbLtGKFlJLuL<92M$phI7xofs2w4>fW)e{mE$kcXi9()Of>RHKr$7pE?OE-IHMgt($ZFCUt@~zKrW)gFj%ZbcBJ^W+H$Li|A=Ok zdvIabKEo`SvAgC>$x`4L6+o2?kxv4fV}Tn5&{{6LWsP@CsZ}9jKsJ1?A$Swm*!xf? z?ca)PP(TNpjLr@=K;$?3Z^JyMujji9dkq zi|Ilfl$xjQ1GjfL?c|662{vr9Kf>i}Pi6-4$2Svq_UXJvJRZ($grPVskW(i7pElRo z&A0zHDUD1@{qN|S2tyJ3aVM)jC#1?C)wm2%aifW1+fZ=`jl@z#uy?vR*Gjq1;o0<9 zzKBMOd(6sf(^*x(r%bmT(w)3nBrH~BOM?E$sxOzcN8 zn_J6~yT~8|Tp6cwH9+i6xmDbRoBDRy$Mf32I4(BGs6v{4ORli>I2x~~hy#i2w;m~F zC^gpolgZTbCz=-x8L+y~@}vx$liSS3FU4MdQi|RX0FIB^_~q}g&Yl~UubE+))_J10 zau8HOOK$22uxeTyv|S-B8B7G`vWr!nzz=;r{SK(TH*p^+L!8(pv7yVwXqsTQFV`VU zSpC76(Y3vgO~BD-At^5ggR}lb(b=5;XRUw#o>>wN&n{t?*}ZWy4-J6r_-wRalLpiU zdDn*EKLNEQB(~!w`%zn?%3AuRii1Lgsi3nzt9{BeB+%H;&Ja3z1dCR3r)XRzSy$vR7Z*MT&f{}Xtzsr$V@Nc`?ML1*wf%k(?-7?- zA1tsczfAZqGaT}zM0ZXzTnUa=6BOo`U9Qwt}rU<~o_}qs=?xeZltG_ot(P@HWAE81k|IdP=uSZ|qiT z?~oc4vWWG_>}?`g17eQPJx_u&@KxuThXkOEbp>7`Dn`HRJI`qHE_J$j0vHbH_fVv;w=0s8K#Rc7N{ev_OR5V(Yr!GvW>BfgN z5+b0a#rIbQ4`ugF;tL%eAN|5W5vEdA}s_3Lo8?@dJDc=vD!R$d9YyoS z!Cc^5jxVi6MbrFsvEX1V`&q)iZe=GXU1`@o$Y!jZ&m610`BTa`~q2x0u?sA)+G(_m~u_ zrS6Cy&Ry6tx<+Dmq8QLOPTt?*{KbJO_Gk6d;ASLgmON`Dq)$G$V(UP|Mstk&$yBFL z$gii1a2Lk@u3g8Lab2c;c5U#k?gQo|n5AoC zU?hr_?Wm3tBhyKSEzZ&l#)4G6$P5FND7^fKUY3H|dr*XZQjDi_oi6-r?2UCk-3;L?^k-`C!o(_LXr})j*q=@xCIO+!^6`NAVFLwBKaV4nW169Yw!*r#8Vrh*CtjAMJ z`R9Bmygl6IFRre0;x|e3FxnJb7U9`zax5Hg@!lEqF*^BlCR8AOX(hVjx~JJ}gAy@v zdU?nc+RWgcvLAP!a&|ahnOq8@dZFKO$AeSgE|-hO!)Ey!h|)ISAiDELhMaz*BsLc= zfDc6Va+(wnRSAs@9C+ky?xBenmZ?e~QrM=8`)jSyWruUjUVAc6Xj327ODJ1QT7$TI$y1~KNF z5~b#0_!UNrix~sFL+OAF(H;TK->3hil{8nL+{E0Terab}6whRgY9J~_V`CM!l;TGT zULh&|<6zfErN5|@h6Bd%$5JiZ^!Q&xt}RLufU(8LP?+>$iELhtYZ0Qrhh1A#N7&=J zeG!7O$LC6f;O>QJV?7?IOFfP132VoN#p7gy=QY<>N|M9Z$#Jq#SbHXyKqXye@MM{s zY)Jo(rztNL@g0$r_f`QZ!)u(rrWbX%T}&c5Zj=WhYE zJNF`2GhMOu7p2-V8m%m}%=pS#Pek4K43ncLLzm~-?p*j!kMi!&1vsX)??9TXWP$y7 zP^#H#fv3*hKPX07E`kP38+6K%4|k=zQh&nVxaS~NCG357q%2m z@*#UIE@*clM`3(iYQkmxvM5w6eeVGCk+$lbG6cV8{3J6M&Qzx(0V`*Z;|g1m2Q$h- zqA>p;tsMVBQm+qXzBJBb)-=V}9vPNrjeLBz@*9XMdUA(*28lD1CiP&b@fSq0z7FBX zLx|W@WUyj(ib#-FAAtSD*HeL#Hu5PmSOomIS2u+cWlD;Lzjrky{lDlfIPW$n-X!C^ z`KCtO75fC+KW^rSm15=$rW+W4&j`NX#S3NgpVFvy*BbS(1Pb)%G4{GhJ2#E4H z{;vLLm}UzuZMGHCREy_q2-<@sqKhyV)E~_* zf;lr;!-eB1zo0O=@82#}eX2X%11?ja-B&H~a!jJRKHC6IIUt$x{ImCM`EY&8! z6R&8stkRqt-CvP$Nq*Zqo+!!r-1IK0H^wUKy-_V%92d?q!46H^dpe;$Hk^P+|bRLkJ7gW`1b#2I-Mjqo^UBLiqUe!$bP znH(Ihcro=Bz2N6F(K+TJHw2Gs;!OPnc(wpr2B!hAMSImA*<2q$HN$we8F9h2!X030 zR);tF@)ppLqx1$?@j0ASNUi@qM0-3WylLWm37zP8hQ3MPDL8!8oYB=L-olO2bsxw0Ia^7rb;GU>gV1w%&B&^8hUt=jv)GbtZ~=u7&i0|o&= z-e!XD7|tGqgrPuk*^}97mZXW1zao(2w8fn}&1VM3p83L_dL(-4T5SD(FhKay6jU_# zds6j{<}$BttlXfSPVecISh&g5qsJg??x!$efECHb_Qte1%jPtnR(7YlT9voXp+z6j zLd)NB@aMLe*U6u(g#5tDwR9rx;yynS`-C6a{oyex$yTerW9k>L7?6;wr*%>Wvj0r> zfN@PQ?5Me4bb8zzYXAZyH zl6)A)>E=s1H=oSEL(45?Z*8{CCj3!bf~P#|Pes>SCULiBkTrLpO49ionuV3$rFlv7`47P!rI|VZ#fpWQ& zPy7%xYR&(V?M}R*G5)6ET1+ExV}`QWRaP6GezY_1kQ!$65cjcaES2o@$DWg_cFeD( z+=P$wW;5;$j>GPVW5}XWg*=O~Q!Er%+Jj5bS?|^>7YbU%hAi%zALrD>?#Go5;Yyog3q5r+v;( z47h1mOuq;O@nS^w4Qm~1RNfJ7{ZNs<;SCo9>g}kX5wvs2_$Z2Rw%j1GpO?6(=M~&E2ek(Q#m`KM{Au6NsPq7@P|m$au-A zfEW)V-g^@yPY>|omn!{X-OI_z-#wkOnKJM_$9tQxbF3#9XJFRC49+#un)`vV^kFRB z3H}{XJ51t3qATxv3C1O06%PkS$-&fTMH-i&0x+77EVf{=WfN_U8AWr*liL=(qiP@B zPWmRlJ*X+hC7U~(QVd_CEoZ8}3{{;A;h{0?xi%qBZsi&X7DFp?8z1tREl6N^ zMu%ZoH4U3~Grx|rf|R5KOGM2x$SM0cv`g3FCk(OtBXujFMx;IVz3&g>1ehWfB1fQ5 z&s**5qUZoJd^#yz>hG)jx{BN$iTk?i9Odo}6z634Nlg=%_V!$zzX8@3pprLAx31=! zv~Az!>YMJ??$$po;HKSaWhLQo?&hH9E1@{r-?VXpx*Gy7uuu*~X)tV@lK7oT8DdXsgNCq?t2NLTmE6wLELZWuqz@{h{ERG8-0I|ocRzvU8 z?6o|aNMlTyWp~o&&jrh80=9&rLop!k6D+0 z)ZL0J_bmB6Dmm+fw}C^pJH`^^K%A;;8g<9NG&m7WoqnoH*nRxoxQeDYQ|nP6}RXdHUPvJWDL^YQ5`)ha<;58Y%C+4@kx_8 zqp@epWhHLwmkMvr1d}g0@~tCvBYOTNH_~Eh_ecJkbOQm(I2(*r4hTgDOz9s<*3cdD zg)ps%c(=`G?_TFfPi4q;yaQ?g+#|O^H=~$snm^GT#vjfle=OW^imo?V zpOcMrgHPo)psiy|$Ds7ghgYJJ56Rl|axl^hB;xP1O>BKv()f{}rU!)<9gW?!{TpXC zxk&55+}QjKINj$AqN1Hl)9&-cP5Mi9R1vj+%G&9T#SFn%)bgZ#%Zmp1>XOTewY@>A z!1CM}K;$;84F-buRe>ms_R`AMCV*?Tg<4`6WN__Fz2Wvt>;*^r$Q9fM+Rb9?LHr^9 zF%TK=2>MdAq{alJV;M*au6~z-MUtx;7Ox~hqNA?Wv{tNP9GY29D5p}786zV%B;;s*4--8hT2+! z8cbdFhpl$X+1x9KNF{i2b6LSzapH`>!)YZ5{7Aat$v8tr>fxU2}vh3zOoho~VQDObW(+|>}sJB`4y|6`(d+FIevbACEJ8vVfM2SMk%8(Nag5(Bm zKv{R!^%AHm{>^-Y0MDQ38dv*h3`v>JxEnP75>YRheQ*&FZWJc;gqP9N{&3AkTHhe% zFn8_Hofw*=Up>SY(cL#54F#A?+zv`vn*0_cQv+Yx+zS@O^yFr9v19Z#84l{pGuMgQ zWT_t&WDjR+bsEG-^f%3tQv3CR0A%4hjxpr%Y?v;U9-EExE-VO4`y-0xw2V2|M~Zt|P>ek2WobR0_BatR%; zNM`Dhcy3@g!w|lgIN-K8Z~8kEXagJXco$CwQ{o2ZnteCPq%XSXA&mMHTyJF?A#yKM zaEb5F8(Sz7%cP#C&GG8Sqwz-eWg5tU9$9VL3wY#k8oS37)xlc&15;(q(qlj}sH~Z- zn%;Z7LDKea$kvKrz7tL}7nqU8In(GsI@go&cK#iP^q6{G4NDS7)an;+r0p~f_p>|+ zp8W{_&@wE>5auw=lWSE%d^97Yb{qA;HixnG+vBMJHLY-OUN>ORugrKbI#{&%NzCmcA}Nl&RyF!UNHyCc%K#%jH%6P^pUUx^y&Pla>N6IZ;cf z7uMBqbymxb+i6<{e&S_JHY*j_zDtt5V`=o2qyB6D z0W`)P@1@~02^b}Qhi!5@r>+8{ikZ z=jVJ{gldU}xwL`&Pk=$+>(aOjvpy+hi2NSsK{&@|LZ@N_okljCKx zE#p{g?>E7_3$6s!^hN(bg2HwibylIv{?umaQT2uzTI72rlHgoUmXLD6-tC%`GRtNf z-Le=n@w;o4mD@A!Ine$7wG-^YbiiTN;t}oZG_c+{!^UOlLOawvizPp9vB_Lrbe>`; zeK0PJ=bxcyJk_!cO}3wa`a5fgKXw$wb8CSlf9?*LJ2x~WT!Um~Av9^1w93ZlGjYiI z8zURq^x$e@ocq0WJAa}(`nyx&#?aL9%n5jkJK^?2ZUAl$x#iW$MQ<&Zs*!lTqc4C) z8o$S{jb{(2_uOJeR!G?9lFdMLVj?qo1(QEgM5315C*}A;lW$^fOfF?kRuKO9lCQf% zX_p#g$OFWH5mO|5xEZ}D=cWn!(0%bv-nW6dMb`|<_fz`Q^1DDJSQcOKzoY3R*|VcY zY+tg0-(Ta3GPNj#Ng}&FeQ4A<5}+G^N41Vd`eAUky2&`I-^&N&m~HfR*1q9C_wNxO zpSh6tCecg37Ej>bGD_!x(myJn@w#|{@yg==rJHpY{}tHkWiX~oE=`fQ&U=#bj<1*6 z;zr_TX3G!;MU&}ohiOlE5y9yOSg|r1o~3nmFdH5?h>fq;M>x5kYo%_`DbG~`HGY3a zLM?5>i*gI>s1L3eQ+-Rq;yzge^v*H?8{%`x6HWFfrdIjGii9C%U1&NbJ!KNZ2)($c zTj2%!s2rNWWPyFcZ!-)@WNctQmPudXl>WvTj^sMwZ&bG?qt~-=eei$W;eM%K$7z zAz{OZ3%=%9xqp0hSARyz*Ok@mxZRoI&wMv-lH@GM0;k`0uW_s?er@MRg_tIDy;HYO z{%{j*F?FWqA!Z~91iI7*4^I1Plfaz0WE?vwNx})59VcsJqBwrHqfyL;dr!%XpFcV! z;_35rh>=)?PM*r~x5@a(QYB&%$!3Z|u$z@0nycf`o@`R=l9U>qNkUsNa1Ltkj4q|^ zRnv!|evJ~zHql~5y0DevPHuOrzeAgUlQ&!${y(sd3fj!@p6_t_jz|niM(nsy8C`|( zWgJPjBxkT6Mfc;v*1E`I=-of$lc_~+nO|vMVoWdw2~4Bn&L4ULKan*DpW|w@nmJP- z(ZD-;185(RKLnH|_BeKr{8ikQOL|}rI^9f~uhVU4D(Y7SnV`WP+a%~z z?R)-{1=u8!@s6*br3M+9z{-D0O)fZJKpZ%5k`rE+Cv!7ob18+WwYep25O;3dBvJYk zjUHDOEmD3fwz^`GU>3T6vdo&cj;ts4Nmec%4f}H=)g0KvSS>DF&X20dwfHVC0=%XTIu@z0u=NItcwex`+SywNao(1-wS)&$4# zMz8*vlkj-VIQSJ#%`F@`fiZ41{0iqqp|>5ZCHdKNHkR9%)f+>+SpHM507HzuCY6pzGy|=M8-8FhSAP9X%Ww$K@vDi05iLSMPxO ziP|(VVX4#k(Wt0*udERYiERB`I4AQwQx7@N#Io%A4yK{&D&$BO z{mB`j(u?;sNG3xKtRN6gxY-;!P{qYk{>nf|*krjt4!xN+3 zv`1MOKf8VK)P+$fJ`Bf8lC{Hsk?!2&$JR?K5=P;osk-8_T0hH3#nbZjmOBoATOD>( z;U7*8(HfCVG_eBm!v-YBzD&BCQb=*$*NL=yT1~O&71Oo1n3T4eg}cgkLBPw#(0?!> zSR#!-i6qJe=#If9@ekQ#CvK`VBf1Lv#IKoqi>aS!l6Iv)Goc3UCZGQq-v(%(XFE}t zSKhyBL6&&R)^T2Z90w);ORK4c5z)0U>VG5=_zJeSLDy!rc|?(R=2*98ToiqJbD)VF ziNU<`>Y5zL8`qMm;IFPo@w7@rd`RT7Yt)9g-S^JPgbyh;Pz)zXO8f)8=Iv{ z1>M;ZtnMUs0a9Sd)8=_n1K+$LSr@ya5y4yTWOGt5TjP5$ za{EVN+XCs4kgOA3@8wU-%2vR1#)~TF>_?^b^ z`zO4Xwnc?Z>_hA%Gr7U>VMxQ!Ly8;iG<$Td>rV4+w`maH+^R<&~LA4~1`jEuPp=w*J zIZ|aBY11Jo2oAXpc)@em1uRY}$&S+IkVilsW2SdB{SJ{SBzz~s9B#}_j9w!tVi!Q# z^_N+0Xqpfv)VHnNmFA%*>gYBGbRJHLBC{VMrEU;vX8$KgU$`wdJL2LD?MxN+0c&ap zJe4UWQVoERdo-NeJS2XXA$diuozOY{m`JqH+O?8e@|M+&sqC>Es_qG2q*-lJRw8PT zElJIq&W@AKfb%k*WZYwTSdFAQ2NWeyE8F%~WABr%1{=v0X>kLjWvW*Iz^_9_I zT(b)JQQH;um^4XT)<}@=fOC4`C>W z_-D3B!}uqZ_Of;jNU%P$>D7iPRs4UGO(iSNu_>2dTI2z9Gerg4*{_k6Sl$kth34Da zR{^Pr+IYK)3`v2$rOmg74fSINYM3yhFJ)M@O>MNVGSz2B>-qGafK14|`LRbk+ngo- zn(GGCoIk-e7mF$)WI|WPb)zH{H!}|~d!8KA$~i5v1!kRhHyl3eD^3ao_l;OzAvHIG zDjFm@1N&rZs#)=7$%;wIF$=Z{M14h;v$YeZ2-W@o*Usgd+DOI=_SwASD*cp`zNPvw zcA?U=a1ml42b(ET#1BtSn<-co*cjwQx?y1cjx;NQcqnmT*R6*l$hHP5V+#uwiGRvI znoMR~$4GBSI>nKC5^HcWYXg+@5y>g}!e6kqLg_C{c^d-G1U`l6fnvP_F^h~?)&W7L zm5lPrA>?tqk*%2qgnZ3B#&i!;r3nJF&EQHu(e-TbwVLGD+I-g0Pq&d~3fwv4C{&os zha*jK{$u2Mcazw^I_dl!P$MDL+*0?1Q%Nu+UoO-I)XmtqUu|Q#W^`X9U2)%V#OF?#9xrW!U?q2$PqdmO?>;tac zFoCqtV__m})aG(D^m&s@fh6r*DpiASQ|OXP18Yr_l839g{-5uz$;s4QzAF@T7>;>I zdBNd*rk@&`SUZzs4P>N+1Gen$>#%}6RrwK*Kr+MAz<+*3_f(Rf~ZJn z$j)@p?%$UGEcllvmLqAy^m~uAQ2P5Kd9zq_dW~k>&i;YeZjRmig=BL!p(zNBOFi<-Nl|IFAp_tsY&^2Fl)1wwLK>L$z~?K0}kpg_rOC(06n2VN?}tzfJ#YLpj(< zVCTB!Ni6UusCKqRjpP&_vk(dDv8Id^M;n`wsbgTLdKxDX$x50f&jgiCqEq#;&Pg8x z6UEfGIM5^`9Eg^qAP|RRl5`Z7D;eY_&g#0fi6BrE8v&jt#)hL%03dW3Fy<$acDTzo zv;^Me?oMr4I!UI8y320Lgwq5e8^}zcAubbMk?ME8)jObOh+4&$q_^1fIZ^&HlIzj6 zjP~yj>PGx~PJ4;B&Va%bDKatfp_rc|P4SLK*kL7H!L#?COT9#WR-NefB28z`+Aq66rz%Q=~6XO>2_ z7=Bn|Iv*$ipHf})=x>W|HKwe(atz@0j;RUCR49{(*2mvCj*Qr)*J*>8EP}FW#mPU` zgh()+aWwOJ%BZx%OTZjEY2qiCo&dC?gzo2BvuF%%ZsT;uuXedh86uzK@xhIEl;^fe zUwkC^IEd=GzA`vt_pL{x3cSu-U+wNLzo`D0L!y-88foIR#vMCA0GfNF8J4}xR9l!aJnY4v=$dLvEp2uJo7Tb8Rdi)v$CM_(={5L)j+4{N7!9JGHYovu zAi7WYI!cFkJnd|YDk(FWZH5IVhmb`}c}?IKy!jTFR;T>NW2gFdG7?m~d#J0n^m&gc zl=k8dO-+zS81y8L-h{Gg4W+%>xY+8%sVSgkZQOU#-#R8RHB;q(9i!Zz48v{#dIp3e zPA6-x!$`;(iQT&hM+z$5^!UFXy%T&~e-Csg#^)HH-?fa@^iL=)CyFh}ZC09M6i+Ah zsVx&gWKHs@g&LQEMM`#l4x&s^gA57+m~Za5!xwq+*G0hjO9~0-*LvOe$k7sYo?Pe~ zdb>`b)>Aq%&c!MSO!`8z%B;;W!JU~fDkNF7yQ#-Js;fV$(uHx{8>y-1;H7KAe^Mr{ zV>fwWG~kxQkp_UsJ)^+$c**T(5mimAeu{~8e?QletN8@fM>4*0SO)cpdr=i81=;2^ zh0UrlTuzB$-!<=cIGgkxKqDYmJS4G)+D{u;$sZxQqN7X`K=q`6IgN+?ec9Ze?N zQS?3iQWV!HJ3l|~9Ze5L=@}YRnsCJcE6;7BCKgmIoqQDMTAY`4OOv1mG7_HcWf*8h zcM<>}Le?WzfBuHo-`35NoEJ-60-JHn;>S|zPsjSi3c>0DG_B*GF(f)55*UF`F&p_4 z3A*e2NsNTlP`6biNr@Y{w^g(<7(SS)jwEbceH(S!^_ndYzy+B&;DNlSOBJF}^hrln zMC}r*nvj&qo}C7p0%WYUVTsy{ibTCl*|e~kb_YdRfs?*=(rovcsQd)eN^G$uQ}(r0 zl1_kGkm1hke^r($_1KR9A6iVolD2lNk1Hfp$BtPfk;cxxvk_HNI@57}T+C|+TDALd z=udL`$q|WBTGKk$IL0QrNX=g`hi^YlEB1Zakz?tn@uZZ267LwfcYys#DQB2A6eDQg-!3hh;}Y#ZP+ zf0|sU;qYg7XQ+rie+=1MIQ{e}a~Fwbc$b)k---j@QG1t)*B{OSFKqT5L(rxA0z??r zD4F)#Q|N3MaJQ*@2bcP@YNHW$uTL!^h?*Nhm#PtwDSTk&u%tSXg|0MPVK?O8GuK{0 zaUY+FfbK@ooa?O`Y-}EFY=)OfE)snlU!H`3qjNLO!RR>-7m5T3%v8XPj5Vn?{f>7; zjcLc^iJp>S+?Yconbiz8&}eeV{$_@N9<&kP3$Sh%;y$St?H@PbA*ZuAs+m*wcKSH(!sd6gT!bWXXDWMe$tXS?){rX!I>lLTm1 zCfTK3leX)+wYjqtVRR$i(m-IPpq-piuKP$E_}Cujs_R>kcd<{8v~#QhzH`h^(qU7AC#LY8!&8vyQPPkO0T;-3S>P^Z!rmG)ulC~}{OEL*`(Q2Hx zEF)j{{>79$KQPz0aBci@0x}vk|3SHC^Zz-L^G@6%Npj8FzzFgux;my9BUrGr@A>Jz zO$8%A!TeT-CzI}B`{~p!0GzRUD5USq|qf22p&*T94TjCJzOQtAcHM6H_@PH zR-oTg+HPxnQ*gc5$bGZ86;O*uR7w1(h6foyoEjaedH&*M*B{8Pv49OYI!(+?&>~+0 znm2NOjiT+?J_+uq)?ZD3qe7I-g3Q$ci%s~kj|D=;OSsxPkXaRsykSd5TWKHFS)^X{ zJS|kILFtX@+bf#dqoLN0W8=8S__ykd{d1u$V)2p42V04i&oX{*&XQXrOPR!_OWvWh z(y_558EV7_;aww5SNwNt9R7G&@q(WYKxBjjX~p{`IRVwFZIrk1mZl^M6g@uG`IP%DCg9{!Ru!_e|TEn(X_$Hr6)sj zn_P&|(%;>hn@vt6Ytj$4X)mi^;#RMnNMT ze+Hys2-dvG-1&j5RHz+B?1@g5qG_15qx)iRH}6nd2`QE&^8P#hz?i3H@h;-8%9EN6 zs#ylf+%%RPS15$0=*|sW1=R1njv+%q#s-j*ew;shV12%RwMzS(-Ch!VjA)>276_G& zuinkt*DOzlk&<`ZHr&c)ZyH!nfm?+`v!d0*!hWRPBByAQ7_DJ$G%~k}Y$xGKY|5?0 zlFml*8x9*nSKpv0VY=bCbgYk7^R;+~)$lDRd`W1Pr;YoiVC6u%%vRrMzhEof;+B!^ zgf=^~Ak3rNBny~?^E;R}DTxb?!N)o&p@G4hYUHxQTXw^3rXR*!1ApY*B?mmY22i~B z;xo;6G^IZpjZ4rCn|YG7qF03{=;jj=s-1Qn%mQBoZ*Ikj7#Kaah*vk5=xj?({A=&U z{rMALE4)vUB{zOqTL&dwC9{x2T`$+I{nJX~^nFP*G5Bj0^Ox7U-N^lvv2m4+Q}B+e z-N2_-wCt$wa>@u~PLDZBJm^LkwS+LHzlXBrM)y1?PIp?@04`Aa@Sp8^47Durs zxw}gAmt>ToMjq*yUvg9mWpDmG&*xZjLfrVNQ*xd#IYppl6To_h(+u3B(qRlz#-Izq z$T;RUeWYkJtH_LujrGw7gf{CNHt-~4V^HCLo;D|Y2Xgg8B)i_|FkXs)^pvh6)Pv4$wDLgx?(_r_`Y2zu>lv~ z*E;!;_a4E%Ow8+Mr9e9L$=m52QsXL|uqLUYCjo~9fgUrzVNA9OLiM<$HcHC40`eow(r1JDz^7HVSbzQieZ5adt6!N?>9~Nyre{q=K7mF_vE8)89?L?L=PDTJJdLtJA#S!L)7MDMqE#ga*w_>2yzcM*g`&DI=FUc|gsE*D034+*oAv*R zyX~ZwJm(R5+%!w9Zn7ycG%@Hve(XqX?~wW_Ps-&K%eHJ^L6thSE<52&YZUR zyo$-!A`ZFc)wU-pNdI|n^b=J(i8A)# zPJN(|KjmH(Ov41lJcu!jpw`dgj#Ek7;UoRO57D06t5(ur~*jh$*NTa^E01+ z$CCR2Zw-)U^7m`xC#! z`Q{myK({Zbs1{5La;!2@YO*>39Q|brns-=@z;NzLj}-0Bf7ebRFWF(WqUQCabUWKaR?xoXwpWR z&bWSDt|!oSH#WPp^)VxlcRVd^?u=I`a|Y)V*xINk3(Movr1PTL-6s`o#%t4pmElTu zKZXhc+QAodF#XApz-gVY)w3{^(G)pwxcQQqkpbW0m+xCZopNA~LsT=-U^1@iEg=OC zJiiEbJVf~rM^TD_N^PC#E403jI>oV!W4btfgXQ5%x+hL}U5vua{Xf~%-~q8X0$OhK z6D}zZcrMGwa9jcP+2O7fj=GLz|9CarC$6#*e^0z!YmeAwo^J+!J?1Zr<5wrK0Z`Z8 z6HUk)lbjw(to|48NNGO`SM1lwf@(Ux^>a9`aN5q`6rcoi zjdB@f0#Fd9iO!$gMK4{avDe0CB2u>R2IHGVX?%OCUSZ`JXSo(t<`&zBI9q-NnEE2& zY&=V*D0Vaw$7k{`E$m+$pi)Hh9fSLdRp}Eq&QVj9TrVj;jVt~gPA|fEK zx$wk`Stnd7t>9!0b#epuA_gDJkyPG+q?Rx?F>>C^CW9G}NI!!llT38eS0cVHL2-*erd=xy8>KZIJu=Y{EXSbJn{Xv=Swno>VLEpH!ggr@s{UPR@JajADLd(-AIy1r)ie(o!k%UqmSX0hj& zAB}?Qy$RIHkE(=1du)p!eJ^A5tMSPgivo0T3})oJZT1g_S^NI3h@r6N00&-xh=9fnv$U&6XOlF>5bh%4zlvquv@f}O)pO&U35X$2>u+`ii&o?^G zb+^eDmHEzZcO&wYtQp-HQ<1$d03D-1AV3KjCGJ%HF#Qo`uVd;@(98<4qV1F&{ z?){FVL8;HuMkHwHJ6R?UC#a;Tq&ii22tVDF#n`? zKs{R*p-=dT9vmtzuK?{#pie5`W4%`3hge$&u5z~<=j0D;=|c<+ z2#{EL)C?Q@=A5U0A}&UsX7#|1XxABs?;b;wx^Q+pOvykypKW(?-};KLUnz}531@7) z?F5wM%Z=cXr9K28baEqs%>Z6s{EQYLGOblpD#gS|+ zpuiY8s<>WHGnV@k#Cj5~sMedi$_Jmz0MFN8oAx$-c99ssDf%qx4Z z)%=(a;R(hNcY{&0*nqNXkTcpx4<<7A(c7V;Ntp1_TJyz7gTLz54r9k%#dR(HLOTgOVR-)+ zJNhJpm-(sF5#4dSZdIldjI3b|pa~T~?>YP_x81|+Ih5@Tqv2;A_7h8_O?Z|Udr$3L zpp@rDsS~=jyhb>Qb`YhMI%3NFAU6_v>gy?otorp-Mg!?2O9;PaKE<$_wiIyJ}D~_{$2Z z1`|&UA>N&U>Ni>7z2h0*KlI9sUQu0^HwX&OcBCTLq&k?m69_`F!E;c2`RU-x$tyks zGT1-F9lE=Rj9@+x--)uq{_tap{_|u&Cb$SiKH=I4#l(Kv3;-%(tW|#~mXU z63l(M{KOZPfHN!^`e!L_Et4;06#Ju1x=1>XX?X&tTAl1Uh2?JAAZ#zS^G_Hfj`p>b zgf(!jL?uSDN|5w}-PK*$T?CaO8cIr9vUE04vUYw2H9V-!?n}wCs&pTTccNAu4v9%+ zuGvB63EHJ$4ANzoa%T7Sc`Cog1*EDb?|4QT(0k0Nm9LihS=Plq44@XUziEq8aY`$K zDW)FXRD#z^fws+x%3DemYWxW&(qfOHwgXm`K1>N_UzwfM!xzDRx({VYpjqE2!=?D7 zdbh0jz!QKR;yHdw!(hjn6Vkpd=smVEAMG(DX{uPq$!;q+5vKAsC8rh=2>H;54-=nf zM?3i_aV`UW@K?Tw)*eo%be^YYY+TdT#{{Y<`V_*_agjIOKl0Gt<`1kXgc9$ps%!Bd z1P(rxY&585)%GZmpjcW`0+BJ5A2WUIs`!v7spl^8aHaK|U|G=I5{?*JYiqsDSn{JE z@kq*u#HZPP9iuaBph23XcgxwkTJzQ9Lk>}VMM7Vd>Cv$PM*C#x4xF!i%c^-qb-XZ7 z+i((8GQqu_?N7gJw@TgIeEf1#_I#)fs=p{FJ%U&IMBni8c{(tcU&1eX!8b<|@ zrEpee6oRg8d>}5fH%hvbvSp510QhhJeVY1sUp?f}Fm!uPFHgoQ3>}bIMx;o4rmYpT zS-Gc>vfgfgY<}RRFx0xP4BnB1VaVxBvg#M4uAyDTg;4HgI zG@u*fyHWP~F91DP`tjr-9|n70cZ-W%zY)fu@{G)l{LJ(ZLH$|1uPC+q>ecIdYLD|; zG-#>C!c#pq-UwP=Rg3T>P=>nm8$F#v3RG)S6NLm4RpqgByU7d`qynj zJmYI~q9q2%S%E3!Bg>a4b_MXZVijyIq$Eyl~ zh!V55>>DFwy`_Nv32%IY&a=e1ajqln+F8{^(RO_yHyR`*A-YFdn+0j}$F>VL_?&Ha zM3dx0{|PDXUng7Av`^|oVDFMRD^$Sd%5%5R3kUc<)w9FIM%^`Mb9D;`jcvPh`maXA}&AjR9w96nqv@%~RO#Uc6l$%iM1Yrv$PTM5`S*L8X0 zlyb#G0PfqVhbG%5FlU$q03k*|Wb6!w?nZB)F6ODl$bK$X zK5jQ<7<7AN57U6ixH_)`)5|?x=V0Rq)}$Xm z@0#M(PVo(BvwsE)XGb-2zJCJ!&Nis;&~xR~$^ zz}^DR^`(fC!C2ielAKLKr)~Qd#PyJBL=?65vDgmdg1f1AZ0$};onq(dIF|KigCL_` zK|m4~QCxev)HhGWKjDn?WZ4>gY7!%q@Or31$f(HcFY7bpmlj-T1C*uPmeU#Z&+XqF z>h-xR@p#&JK9;blUA1SW1E zH6Yw)LN5GrMr8rfb1X_T=>%y^DjK!~6eNh^WH2D{DS2Vx%4>_l4AmCS^6IwebWr$= zW7D4FH&~ffKNkTWVjUp{hC6RUTPJ;=s~TX#EnHZ`SDu|cy(A~tp&W%1)hg`Dc;49X1Id_}ZkFGX4!5)jcf zBKEczu(~h7)pgqD%O9&B6)l=JIy_QM8EYJuL9{~($Rxn9zX8UXPElrK86`&=MLhLK zIsmILqQ%Z=k(~&_5ox(&;DjqBx8otB0KRub=Q!J5WrJwYp4107_8SD}T02IC(lQo) zrRID4fA{TC?X;w^iz?cm@j&YIF#O#YJk%g=i*n|oP(i&DaIm}6*8EScoh5w z-}JE;j?3A8n2S?bD1EG->Q9K#NnR<+?zYZ{sf@RCC5=-ltyQ=CWlu_|&$<_)9G6R7 zEOZzLOmh5BO!3*}n3XW+6R>)B7ZoXFhlh?3!|afQlUxK@+$2Vjl)b{v5kMoVSD#W3 z9#ZJ6U2rG4i59_8d*;3+5^n_vj54$0q`?Ag%Rd0_K6zN~sa)E;)*8x{(r~;&x+M-+l8ISBxr4kjS3N5hcws^-DBvo5(-)!@JQ>k24P_(07+JC<}d$ z*oZOdXU=*Juvr{*`_!&S+$+j(lmd%-yL&I_nn}0p5dWT4(ID^pC{#J>a6^(-^*`~& z)fWUx7`zK10H4vK*BuiG7LJp?1wN^?WChPr8cB9rVCH5W1Mx%=_x2#k7y>s zu-78nm(uEdWC@&I!c+ig3}A1PFlW5VD5U}0J3fWrJd{2{>F^>KNG*E%+v4-sc=YPG zRxx4P#c0IdR8!qNHah#_l^wn*p9$UL8HtH}o-qei**Ge5FMn{>BzrRggadajmb%HM zFQH*S9Udp|f`~CB$vdL&8}b~r)iG<~L% zGpu4AkZhVFJPkX9X<@U*l7qW=Ig1h(zB!D{>%*fsTpVP-9o5 z6ea7!Aj1A;@dza^H*k z$~=YBjY-;bTJ9?Q<{H?m8ctexrUAt}SGzO!%Mx@7>$3gK|8+hqKUgs>zk8B)S!VKhkT_!Va0U}lagw3%9+CA)Fu)4luc0- ze#++iYbdTHq3c@8Lm^e_XL!rcO8esxg`UX;nUdRNTD@g{l`4-n*lE&)R)kIk4eWvs zUF@ZiU&9IYnJn}uAwI}w9?F?$W%+IhT#eg=O-z_VG%C$03W6Kj1}V zY&*MAx%|U}@BmIVULuOIZ4;?S4a*v>vyQN${LZVDv5TH6nj3j5Rcs<>_f4>Q9gwBs zrc=dD+1RG$GnR1x4DqVd4@)Q9xiZXs@Wo z1R9K7p%cgZ4r+`q;Zib^6Bc!L3vU0x#Z4x}ypOeuV5t(4%TxZq-QF&(yCEfBUs6FH zL)4K_DKqg)I?kNdz7E^*RTDBiG8bL;H%Nx43soW^Zu8sfP8PX7w7DXd5ex^DcYdu9 zQRe}OZ4=UHXsWSA$sxWO%nF`hL8UQd zE{~u1`Z(8@YqGI$l<7!r?r|hjsNk3>6wu{+7pfW_NZW$2X2r7$O_s8oHNf#TT#c~e zv9&0>Q4|)H*Nh~8S8YqCDA|$jlNp^+HAstvU-;HcAIlCce<3`ytL^_a3HQJP&3wVF zOsC+^vh%5)f`ofFscKrHkCpDN@sQ?4ce;J1fOXs9c&tyUi3lXF4``JLS19c-BXwqp zQf>^8(OqQTm|o#?`@F}_hFJa!OagaZB=pW-@O#O!E8!8xCF|@;;52sT_9PZLZm?+Q z_~vAtF$b|MEl77JgCLa_M3yThVvqRMo?ZYNMm2((N_MiC1EY2C0d|3-Z?{K+7$+v&e(JNLO zSe3%%=_(oFu0;w0$x3lVu3Y>J-cbdu>2jVW*PrUZ{|zp>67t}9>!!6h4Nj?_uHQY~ z8E9q%8D|N+(-{8OH<#lnL9ldzXeA)Id%YEyb46mc)3E{vS-V-;GJSRud~jJCp0Hbs zR4T|0e#i!7mXmg1Mm!YWmQdy#Duc)EbDnF*<4_n^g_N(*6|NdlV&hfuoF2p=7>57& z@ChW~-j@?BX|VdUxr`QQXPnSxQ}Txikd?T3%AIq((P~!X**}mxC&KY%5NfY~?h?b@ z695?N7+l(Ig9S6q}V&!lyb87Z51gw)}Fyv7W2jdi@9i!y`ve+ zLx`0QMz#ZuF0~YmUY8)Ew9i3F=EaKG19?%0lV|MtMxI4FPWA16Vu(BKV1e25V%Y_Z zX(cu^yVYfjRb61G&4CbQv!JnfKS|}?y05Mt82KxdK0@*JCGJ9{DDws}5-?L;SI}^H z(pg2Tz9C9?t{@DnNbGC0be%#(<@i^f9q(E$#;+aWm)MSf1tomQ2T=YV_{d83pqg@u$TrIFy1fvuX{(h zd~8$ybr;33Cw9*Yd>#qKrO!FsPk^Ho7(~nWY>=6o+NYDilbV_g){anipdAYi+D9l1 za-X?fxBvCGw&)0HEa?2FBP6smt+_*TQsZ&Aaus@Vf#11Gbptt2Egd`O=~$HP50aiT zo7SN0$Bh?xygN)}?POzE5CANkjRKNibj)FZ8v zS3EOSdbU68X-T~2M1)h*4r?yXf4{xc{(*_@{EK7qT?1`(GAQW7@!}m`8tp;QEg5vp zOT~>i7DI0eO_7{%@xZ=_tl_XIFODppX;Gik=^&KSpJHH_cuvy4hvRfhyKy(stYn*m z;FDsx>>hzaF`r6-m6w-!c5J&9p4F|)ULB`+|JbJYAIHBttT@~-E*V+sw$|74PyJdh z4wx1q-c7z1iO-ne#8N?ZiQNZS93|g@jJX_y%am4&;mqX2N~BrT+sniv<0%y@^~B7Z z5TiDkJ@Kw+H=pY$`tbdOsyCt;P%9@}vZN$AiCiiZ$1Fr*rYFc8U~G3+FwU-Lz$)m4 z3)t(_%A~wSNBCy5)PGJ3tVpM{7CGrRw5U>oX^D31DT;kZTGYCtL{aKekcqX}uoC4` zBUX+!ronfE*FN5q556l3 zX|fE4No~J2J=3Z<&=#+@Y}Vy zvy6}b8neJ%CkW(S@jPT|e6DQa)?6h_A%VVVRp}D6UruG`{6WcAH@SCEqrknQ?!Fd2 z_a6=QOK+-P5K|T1;)<-#Omxfy0n$%iT0dOV_$j>Dfo)$j>k-tr|F1FbZu;S5W(rL$ zRs3i#bEbwG(xHhth1dOb`?K?;O2X~%wds>(ejh_5_r1V2slXf!c?Ye68oUC@Hg-&9^ zJa;w$W}Vyn@TkaIZ)2T%eO$R7P9F!HpADq)Q0p~2ujnHx0gkovwp4U>0dnU{rPL4~ zN@6|z*Ab5sSj53KF*C?JsPTw=U3oro<6estk${Vhj(WHIC{Py0zJ;Ho%+sy)WR}=q z++Sa`oja09O7JWhxxjuIk3PF;&$&-IxCY}?Apwqv6*(9`*-15CnFDOX6Sq#g>3~tg zX`o%lm+$%eY%i}P=d?jsd)DV2&QcOFSO5!K9V}y1Mkj1_-zz{0X-IF6>7mc@upoNMVu#d;tLIif;sPb9PaU7B)Uv$em zDyjg>kDkB%%fEB?88SGcmP;QdjGR*QYX4&A+6$@K08pOj4m`w)j&ou&-|_f}g1Up$ z&E9jC_jaR#suj3jaewMvj%!M;#CBI6$q89Am!7CBKLmPi718y1hvK{syjnvuEvtmJ ziyPllkqc*vN!bDaq2SEJog;-N3^xBzdSQo)^~LiVk+=-KMMA>Hxd*RXnNzWpwd>Pf z$BlUTM>&cvK`xIxNh;xND%DiR?aV?6l*GP%WnpKi7A7c^?nTGxkxp zbz1^Oh2sp2Kt;D*z)ZEw?Km@bzZCe2JFX18>_D9?z&;dvMl5cz0O*+Wj0%Ht;O&CG zmUbQEZ8U{uFW}Wk-;a6B-B`Hj7ljDqV%JJh+C+5yC#dm}`EW#Cgb+5x#7>Km!9I)z)6)eBRW zhVR4GLY~!?&pAX9z8@Igiq+*io@1PDs_E`>!`BUNU`2ksRxJ4+gJApf>|jsL64jtcPzwWHE1s)AVu)gx9l6qAh7?$(n0B3>x3 zV9H2NPQFAi3j~z<2~!*U2t5T4_n)scxjOFcyU(lvxvJW~6Mv+|p{lYPrHIe~vPYJu z>xcg0h;4*c$67~VOY}>!zoIfBAqlt&7{elI#x37fO$ugH+jPd!DVYgNVR2R~twi>wY&dp+wbnRqF$&1Jc!%e%ycB+focg5-%Drq&`( z#VlA`ZU`pm2aEHQuQ;oM26q%!W~WWN)`4mrII zvf-@#Ev25@eQQvdZu??D%wA&FQr*!QA9@0J9B0Hq7U#JyPEZ)VSxs?H$%cPm918+1 zd0^Xog}<*Zb}aD0t?W0x{GU5rT3MQhJ=Nm%D821=QqOJ}_UP|r znLjk<>s@(i)fwy0aLs{dQh0jded%cXkA``>K1LKCQjYZPd`tR?Wv>K~iWqhon>0GP zxo9f*AMb~#HZbb0+x>MN=gZdB$S?nlzu%M03;o1RNq+C(Tuj)4i=vy^tTeG!mAH|pI?f=SIMsa^60D5j4yQ<= zbH2Vw%ld}7MV1wT24(LojY8Ld0cL3nmnP#vAuLJDL`}g#Bl`_7mH9 zWdZI67dMxq09#gBHJ4bL3RP%EUWx?hgKaUvF_x*%O@;EksZ3vME|2GkOW(NwSte_l-z3P2L^&<{zh)F6z;tb zvu)qe);J46|Q9FRn&+y%fGXTCKDB z=>E|@6AJ6Pk4=rz-_eY=Hn@~_GA6pk@pzAyX?8d{GK&v97paBqNj^R;Q9EDik+z8t zR0nsle~F3Tv5fac<_3C(UcjT$fUtiBJ!0{cjz0cBP}SD*oR*l!H|_&N-k9hq;?qlB z>r;CIi(||2*S%~xM_*a$z2&d(;L;u!oHHr+Yn67fPI7-)<%Zy-R0K|AlI5e1bJg9H ziJ%HZIKKlz>Q{S2M5E<)8f9s)ZKS}-m=Y`!u+Au77Vn7vFTULk=-?&$H!6LsiFM44 z6>|QbEk{_9q@Yo{N{K2?W;C3#Fn$p1Kr&|@Sl1<(^CbHwRh+9M+AXX4=JHf?VEGOv z$6JF(2}MEOG2JkDp7-GYsN4fwiV5cK%zU0-9HiHW`*q+jKj)MZh2>*>a3TuwwtcSl zC(S|6zdvUL+ojp;)Ah>ep9=`|uF461t}Q8xyeE{3W6E?pLICi6&X1+riA{k0mG zidH|t^>K_Mb?0sBg*4=P#AAulVt%zG@t zh}$ZId104u?tMrwnA}cvlZzR^ecN>07!~f`0NjcG);p5%SV+`vP5Ml!GN0K(V+{7q zDOENygV#CF6F87}vswxsOpWh)hbu%8 zu?N7o);>oK9#D$1400rGRar*F*vw2-i(-}Org~z{*{9;`v?nLxJ`U5Ua5gEa8Z5^q zA~6~bcA6!=B^Z(=FaR?eZs}fTCTmS4nCb_2zOCkm1|^_B#Dvl$&Qfd`Bea( z=Z~W59a((sPL8y)brYo+yyxpGt7F$ESzdgkodm2fBVa{BPV&UeQszO9UU?xVz5{CG zBzaawf9c)>K2b~yRH0swU1dS)d#d@$tc_`lmi#-MbHp>?epBcs1K3bDbi*QB z2KW`{HL~zM#X=lztMa>eGq?obD#lpY_OBJ1M{-3%Y_5NUIL$Sa8ZVz~E2FU%=HtNj zI!>^-a1WDT#vli#ywars(}1~q|Fa4kA4=jxw%CUXbL_m6O=qB~VaEe8E;PiRN(#xu~B=XPG8;XRnyI6HICR>||p-F^e(A9!pw4-+L1~ zTIVcx*+JSZ4`k#SHo-Om0SMzE?N!Q@{+pw(v`vzviuwVmP! z8V1jGZm2p^qPhln$I~KxLy^QAQ2T%jDpNWdb3iW#ea=U>^_XP3TofL|hf?)<1er%U z6lf}@RG1Fm18u9R@g(UiP(Sk$k)84R9d}K=SVaY`RW+Z(TV^#4sSGz%j@5o#SH5Jz z+-h6Qh2fjavho#G=ZZWg!li;JUG>b=B zL~7q5)p5ef;P^eRTXj3(cu73aRC_N#aN5k!E(kvd?~Nfu6TM#(M zfIA%WXK5_Ug+eiZ=`PsId!4Z(MY!n+=PwfRNdyU)e9FAfO-8?CDSK4e@Fl5EDwyW_ z*w!$PM}MT=C+S~yf2(p#6Ea5%?yNQiC;}J8evL@1P?+v{dcmCVDeS4X|IAEf+`LDm zaJ0LG`jZP2DiWV2BQr&_}S&{aIuM#~Nr(u*Z4J=u)BUtkVKk&Fl=>$=dPipb(Yiusn zI=@J<({5(dw|j>aRJF^hmGS>2uOS*jPFnF`%CUnm}P zB~TGc6uPe$l@B8`;R*4qMLVV47f{Qi7&Cq+NA5t(ESP5y9@>`xT*@=F`^U!r0+Mw1 zFus38XzUQ3iHuA4$x!gtCUFz!Q?0@%bu4uy(cFE97ipk>qW)U!rw+xlqUNYltCnu^ z;&cAj-Goe5gtXC=fD?Pi`u}5b6akHheEUchnpbHloTL?<+IXl*w~596xh1rw&cVpZ zo+{7DUVrBI1M$@)I+pLKuE+x2vv=7<3@~H;D1*O39=6hBlE+|h?XnN8ms?NH_O2&) zO@9gspyv5|CgGQB+$0bq(Xm~o>L3$$af@~FpDJR=6=;1|f*5t_DP$bW-6vy+=R@@Z z{Ck+~@uV26Lyu%n->d|_{(_cNGfeJa^g9k-*_#KE7wobA_^l?M1ORn)`LG zbEP71yj7>{9Z@_k=SQ+{TI{~9v!vozH7P$o6FkdqmIAzr;^pa>^4S7I&sl8By}SI6 zP;9Q5h?@;o1KGfc) zSB4X5iweV~aASbgi)MtKpSq|JxQWP=wqRGIwhwldWky`TMyq!?QJcVzys#>>^sPKp z&ie@sXFy~BfugZ8+#bXANCo)6e2`+OV@ywF}pL39?Z@=o`FbkjwCa_g%Fv~ zM)@@3Vd1gxGYdkkQgFCANK(~0%StOh5=!OqeZNISsf z@j0D%S#6R&PuFvucslMnokvr23U=Zh&e$G9lSG6?I{BR4>`@F!Ky8cKWkWtohLSwJ zT|~GnZ-Y3yo{HNIXn$?zED|r1MyMT3EELn_J|ZN;@mo6y4lxREg>dJ ziInb(s4{)=v5A8SA~;qL|N5+rnBpFBjwGdBT_|Ji6fiORh!iwC!Rgojvn|qf(?(Mke>oX{AYh6q*~9KP@n`P0`^5Fv9BRPU6Rq&;BK_ zc_^c~h75^{;tJ~cJG_d79y7$Z|0UOCds&&e`JRfaR$A;UO(lt*quh8}tKt&N*YA+j zqZ-*TNRXr&HJ)zXlj%mWxtOBt)wwB;nQWMg-~v5+OA70{nCbW&S4F|zF&&W)ugK7S zTR^lYY*5`zaE>wU5DJ3jXz>2aP~OF*MPTQ`0a4v>4u&xOGb<8QA1CRct8r4@ zI_;SJ=JpwhXh0XDJuy)YOwaZ2aN`!i!7;PR<*1+YY!7Ro`hxzrm&KC8j&y6Q`){i> zpqdszV9SDsWxSG}ok7E63)1E`(ObcUXzqpc3>8j>laRR|+-f{@1-Dk-pLfQBlXOg(SsMG4gO zYxFi_z<#}h8y#$d``Bn<)kpEq#gB?=qWHb2W57m9v&*$ucscoZ>HoccBV8 z{zP>~RMCYx4P+XydojJr)w=JTP6No*Fx0Zhw)v!16(xc#uGh@rcEK{3lfWPa>}>=_ zP3^0h*>-@@p-i0feI!HdxKHU0ib~6*a}{c*dzbWW2OI_C$zDVcNFg5YaNltnkqsvtKN-9oVW}%59C6=H;|7mf)np(qS;7Jc!Vi9Z{*B7@4AxpTW=KAs2U4L#kFCUt&BZ5 zX?I=8>yw=lQN-a%4jRc~obZ?V^Di)kb*R9gLXP9r!N4r~I+vY4;9<*1x`7|G8{jrF zKL3H+w<928Ku*`}x0T=Z6IYH)EqS`W&R1dtT(&R1U16(xYF&cmq}BycIJZkJ3+&_o z+?I6RS9wc~s@m~zDJF|5etudv`56tmInsj?tBu89Wc^(kng>hI#n9=5$TDYmfA)|u zvYfZfJEUv8KoT{QvqHl4@z9~q-ChXisLlJMq1Y{`J^+S8eF^P8HJ8Ln>GL$>VzZAA z-fi678FC(HpjMO0?_iN8b4mt@Vt|PCvio~YB$RuVbrBn`{{f?kP{vClOQT9qj%k5p ziF#+4gXz&ggTu?9OO@P>!8LH%B;sQSLl4O8_i*js<>K1yS)QCYwt)~n+kIL7#1=!3 zlss4WDR0G*uB$|=@62^_*4S`K<;|b9&3GbFGawY%1jq9JUa5o<>Bo7ER9I5M*_7g(EFY} zO+}KgCJ~@So<_lqRONk}9F%?_JNpR=^;_r&wuvkaqdMrsiCF%sR;)h<<5xN^K@H1z^wkThaxIW5URJQp7z%_ zZ*P3RCVQH*j8*ESl-W_f79-DhDAx!jJ{A5Bwe3EU!CPEUF`TmBG6&7Y7ky0)T>;8h z)gd_%^?(&TVXK~@%NM7au*MM9KCgesWk4RCUqI&OR~_#HD)vF>!Mn^-+Jcv0FIlJA z5!}9K!(B4?_0O%8hjM@O%s$Y*k=rZh%O_}a?%xodx#qa8hQ|Ax0kObkXZR!zmuK1n zsAA7VilLuC#;ZDgOAF6T#_{-tp#Xp;eMqsfpMz)E2ZE(C&vqHrbZ^Vgf6(5kTyFsV z`434z+?(YbAh>p9ZI0fd1*|t^&(PIngP#LpRU(|Bu9^z0Kn}HuEN&%vCr(E`$}wmE zTsK8-bXM>}EP4kNbI(*__~C9?^T^r@!{u&~riat5_I<^pRslHvvSSrUJ5fWcx`#hl zHKhL&*f9e0avI#D40#+C_T1PG<{OOEfxZUIJnc_hy0AiUkO2<=apJdODVfgil*|F==>Yn)2VKicPWk*6@ zwA~{>2pPs1+8k9Xu;n6YRX8?Mmcg~;K$~aQjs6%ub#T+CrL@V0qL+rc% zd;qm*K^;D%)~PikEY**)s~U~$^JkS90mT*Pd`6!o>d?-I)<;&Zm%E5+@l>$uREG<& zi7a!bREUfBE+l$8v1Jhhe1}zIkXAiupMof{+8Y07we>|SSvnFHyn1ty?l<8CS#8L<@3HbC8JJms)JJFX(ELg6C~6T2zvbA&$cN!zNS$D{3^JI1HQ?Jio%@;svR zC#shSOh*jT zozVz|MDU7?KDR+2n3i zJ{1v3+QcX5zGcek@@P^j+kFSYdCoylwZ9>$E=Q_a8}{n?s~zHT1Q;|qwb6>8Jxx0< z_p8o2h#$V}kFi*D$=k_`VfOym`7$&YRV?cM?Hd&rfs71<=_5E2%vbI^)VJe2%zLkr z|GDjRO0!Uehd{^m%nrNniOVswurF(JQJwFOv6Pim&%Ev@t`Nja)l+pjR{eCBdPxe? zj7i?ileBh=(enlPWTFl@(+FbexVk|uzW)2`58ck>R7Y2zTLd3YSe46^&XqY7GRHUs zv5Tn+NS;!UI4egmMqZ9IG{J9KqXUWlC`O#_nEWwKt;US-l~wCgH>x1G)0MNr-c^Ul z)v;O9Y`Q63k*te=`!ue8hZD!i9U*}ysv~>}!Pz-Sv?lu69RRl-Tn=7W)ZC?ge3A}R>#U;wr>^a_jSsG7%>P%Tays#2M{CT86O%&_MR3| zo1EPXTQ+Ddxv=$``^Sy@%J?4v8(anEIaxwQ2$g*AU7DgHGIQf9{? zP{q=H7E;vgfPbKpw|~gUs|J#v?A2?JRlruidTzVD`Y7Cvec-sY8aa35_0^Wmst_v; zL|WBaldYUx^wyB7ZgQ~QC`J^akV@IEPqL~9R7XIhZID3rv!AJWW~`w|hC&w7B>2dW@~i8KVqu>pm>6ljf!vz36yV=Y$wWS@1}aiCm&;xqe9VJ>RBYkv$I ztt?@sy(>QObn&JC_~wW#h(zh|tPO=gTtK%UZVysk!{N75aI%OT?sVvu&&iBa0m(P$W%2MrkALC)2X*;NKg@k*F_>CBDE05mUUfzK>s^SXl=MsX#P1zSTL4 zu^+Q@ndmi_dK9Md$qrDsBAn}M`_jboh{ia?*^HE++LkhpM$}4B?X2FWILzREDczu6 z6f{qVMgmo=Wy8|%{N6rzJRugEoX-fFeL_>Oywc%eGm1tBP0>w&rO{Z@v;&-GE7HB* z6Jwp9C?fN~XGDDzw1-HkFo{2T3uD@XYyxz+#W{t41p4iMdK_wq1iS7ZQ$-eHVT4^s zfAKDc9_jfL+*mvGIw;%9?Fht^eS}M{#;#tboMdn21M^(Dd*H4Ts8%JB4&@wm#O$u? z^KSFF#z~67i-qN?W$1ZHC+qUJ%El>(Hr6GPTb*YgzbqmCP@7fA&)!AtzAi*hw@-yREEunWB6bgSn7`?IKp&Q>ov^)Y zZAzJ57UIj_!NEDjD~D6P3r{4uSH@lhm5}!A723BypGP(}SUnJY$LhJ8>-n-EXvJ;9 z70&E+wQ%t*T{lJ^6S<9wTGEW$5mQvx+ILj(;+(_CBvB~?ECsi{3WD>`Rk{RxM`;a@ zST4HelA&Foswa{a8Ur&CmxcPMt|O>;iB4j~eQO4lp|IK?JRxlM%$-X8^yOLL!Q79C&Etto@DvIzH49<11e@4sNwO zog*NQBuNsE;bO9c!j~ zSrM9e>8uVQ@4#YCeAaQOb^XDQyH?Y?!gyC&_<-7X;ZC&I~TJz&T>Y$P5_7Ock9O--9yUJn4OLb zNsHb~#wx9-H(B8jSW2IqnF^XwM{bpgP!^R17`rcHqPs@;zf2(@pQg4$0hC24f_{^8T~7RAY?g490RUW1oEZt@+GF3f6v?ny7`h z;!=v_q>eV7Ienk&E^ijU=O7-ea4W^@-)CKH3eR{xcZ2TZn15;uqy*c~ix^$IUGg?}iLSP+W= z9u?oA6S%~bWwA84JlCm*<~y|b^1xWZdS4`t?T904H8+lc#ui!?ILTS2GIgnHCB|^C zEE1<35zF%v6B^OP73*Ba%D!C&m_cS#QQ^R;o(uQOyEr*Wu;_uD$Qqq(#8O^Ea{F99 zoH(eAa?PoX5Dmq8Hv28qMbCiV6pr>>J~av#0Sp2l-UQ6k(dSpvMnmkkeak6$KxZT+ z=QP3`lZhuL+epMJ11yz=FjrZ~p29Ec$e+p6B?bOPrIuN9IYl*Q8-mo%x zuH2c2aDoq?EXWQRfJmO?4>s5UHQNWg*u$ygefdxXC<&@W0}%hu1xI>T+9K3H0lWWo z7sZ?XHWLxxJF^r>lrinlA!%~5L_5Ff4jxwy)>?CFTr&RjM`H2Zgb}pmcj4NHhxs29Nz2Rc)nv?u+RG*t5kv5UQr-pQnlguei*D zT6RIpuOW!*(1nz8-W_(T8lj5-f- z9-((EQ7mRijL@*GtXAKRjBtm2rN>z7TrT!&A6k0EXZ;|+ww)XOf38s4YL`|%v2zFJ zG55;Jbw0jDFFdyKiFuZG2?7O%df#>`qr^|p0%Nv{1gkW`e%QIbUheSr*)^3M|MSg* z)hS=lhlne_u@t$wxkk8%O~N!={dIk7xbhkO162ABVm>OnYUeMF_Vz$=?Td5a(FE2p zJC6|;oyEx;uo5`aIkfI@(c2t>fI*$b2Qv~OK6mK+r%piZyZxkpL@4piJBg8hCU)B6QSYB!Rjmtu6<^$cR0b=$*>sSMUla0OMeJrbGao56Y%0N*tl~EeCeO`zk2{ih=dI4}!{U7rq+W zIC)th{9r<`&X`p-ihR#?a^^6FzI#PhY~PDv59S!>$V=*dWi(_;on1LM1&P2*_1`NX zusJmZhP+60GL_ksV*+bdB{g3G% z$>IYoo_nqp`{ml;v6Q&WAT+}0y!5V0ArX09w;c38Oi7k;G4qAqrVrow4~_xan2+p( zmD7+r_3OMyYL?GGt$#eMxJR7I2pPJoU^>#e48v5!9e?WF1-WOr1)(qTA3E4fE%L&4 zuK7A7RWmCS=lP$gA_WAmv5|o$QUJOP<9UH({?X+uA}UsepdP;Xw?jnSs=D-XVXKCT zeP~ToPu@`l3M1zfE#snQ=wcyVr(p#VBFm(0`jMjGIH%SiF;#gNZos_p8$Ok{IM>&K zisf*2Vk7<71oGi`E|T#~Xcov|#oE1yB?)Y@?Iwtiqz(LT<{f|x+kYg+Yj@q}h-QF7 zcDq?`N{-dYu2zRx()gh2Kk7H|HByjZ+|Jc{->-JW@er^dGsX83j~Tb)+4;i$Uf4nJ z(DFD;p0uGKPAF4mnr8t(%w$|M^0#t0GA`TrNNd*WnqH4X`eeV4ybd3B2LFGK#|JXNrF!%TGiFc5?QN-5k$+ry)Dib`DSAy6F~5{MVd^(;v^u z(*-_JKc8**zsq;A6P1~G|H)48OwrDFPJIH%eglh2*6EE*RF~Cr0B6)?3%xY`i2hvG zLKES^_GDjt?YwUkYveyjK?|GX9n}%((K(LffCV4pwAlp*(x6}0g)GAit(0X0n$DL= z9#!uq15-QJXji0f`iD|@kk3$X@ZJD6ndbzyK1PxYzal2qd(Q1{$ z)^KAIvYAE#6e1>$xwuvcIL`UXGfson-OO68l~}%vJy8dlE27^_owr?}JpoV^7paaC z$VZ9opUj!;woY0^YpffX4lH`thF`7qyO+uh@hf; zERm=8b>HCvK}q$H?EuyDCs)@^|CIx~oq3wl?kHQ)3ULnEY%5!u0%uF^R0@}g0n=X})Zq~yYGf>tm7#!L+BK{4@J-ZurU~#(t9bhP%s=U#4 zfoOTOj~&ZrSEr&S6Pg_9LAiP=N9eWx$7IAqYvZlmd3(+ga&<$p*?w^Aw^alfdR-Ft zAUoY|119nc7N?JWpIW)2x+2~4Pek#})yUcB3UzfNn7vaaI@lk(SZdkFbmn9Hpf*oG-XDYS#=h~* z9?do0lqYTYCejGHaN$JlTi>=R)`)q?g6ls(W-b&hN^8sUG7bUW{Amdm(Zsi3BVS)C z-p^^S+bkRG`?7O8sb5%|mi;O+3`s5oILoG!z1&0*{~heyM1^gQ#u7-}9+f2RVucf( zgKLCEC#s*^n2V%m#TokP9bvB8TM;{SPf6Fzwr-BIf6EklIFWpyG`8KTAooRVXQ>HN zrcq_z!gbD2(k|6OP{Q@0RiyBE{sku#f2yx24q+R1`KDBr>(3EJXHkN? zJ7&mi`HvavrpgQl%Yi-53gsP9C?@7+*%&F@2>^jPG8wgni+W+~RwhANb{tNPoq7+B znR`+&T70ud{0Sm%DwvBr(b`A2!zS?inIaq#GwI zHf%bTAIzvnZH{%lnE*#XxW5+# zj||nZO$C{PII7MkYxf>=-UXm$XL4rSYv*_l|6OJBKW+wM$>WRq%Ed0=n5TxA1JUPb zj`iFo@INMio0`Jd|DfKS{qjWFKZJ)PlyPjx$S}pxXdDaVN|n3Wm6i8rSo05nF0I6! zc+WV_RspnI$J6U&>Z!#`uemMSQ;IX>*?#d$WFk9g!3)YQ@-lP_kyFghtu5-9!M3&P zacOL1ReLCUL8yi)#cko zSksjW71&=PLf1LEddCueFd33!ceci)ij!w7m)zh_PW8bpG&hvs>vezLQOVMQNX+iU zefQjf0Mrj3h&!G*L+}*wDYd?7-^Z5*RUoq>SJNV-MXr?Y_jLxT>)J2b8{tZWQKHyJ zr2~nzrhl&0r|2JCUpjXqxPgmts^WP-@|ay*Cb8KWQAiv!{S|5L3w=3CXL^m?62iKR zXm4lCbjm+@M>XIv&Q=VX#68A=tb3XE6UdPP-Wb)?~8LK8GBb@ zTgNn^T{?YaD#PR7HR2skBqBejNHtzs0A(i(t7-y-==+K(0IF7=O9pE*G2M3kr03-Q zv3gkGE$>*y&Cw53BkhxD!aK;6s4DeQU{p+`l~o-G@6TmME$(nRhinIu$TFU@TOTLJ z$&k=+tmwXiLYW~f;)JHg2d;Wo1Si%Y>PXh{HT^Er$ry_HmHIX9LfsA9GTWnTwh<<)ZNsgcfj;Tjx z=313P782L7dO8H=ENIWAe!cwG>60*X9(p_5SAK+YM=wHE6$krQR zS`(jBR54Jyx&OWs{gN+nlo3m$!PD`1R&Je&(XvMhJI$Vd{Qm2ocZcbE7Imj1gwRhY zcO{Aj86aWN;z)RiE__=&nHapcpZ)3`)_7%}o*6%LvsZN^^a$RnFnnJ|@ zM8pVveR%1W%T7Ei!|EMU9dFI+X$QAeNzkDGR9Ge$3yU3I0am6n=%c)NWhay5<>=FV zeSzX2!9qTaZy(B{({}a=aLw$Tmh4j;De!#N_?&OT2FC77Kyg4FmJw>jEOY;|q#eP8 zJW7VFh^+gfJ8L=#}HqAW`xuR0Bf-|>v)3Pmx4 znG3(F`ENTfsdN?kV!3iyqc+EVF#U-_6uuK0LVW?QB(_%S>4gRcweRDf^NP(L`bdx@ z?e28)XVQ>e`eSiAva)GgRM7b{*Leu)#&b^H-3vv8Kp0eiNl4z|#G`V)B3O~dp(Z20 zvoFOxxnjx4#cL>CxNz8>5x<}9N<$;E3d|8c^=(E_BW+*lpEK^2y^tBr+ATiWh6P%c zURu>%;-3ivEbOg{(Q1=yUZpN;D%P;9zO8swVOuYrajyP3$y7 z?odu)FR`omB`UdmTE4>fEIUWhMSCYx@6VA#BDmThSg2cJvFy!r~pn2qE+Dtx#4gpDDTKex-TetA=4`Rnh_O zE(;=&-Cx&5Ma95+8M&Ftn3V!v2NS9`TfMmQT+TzCC-S)!e76 zWAk87KbYwM04Mh25d7Ak^>h!#`E+3NKF0>Y+t}rrt%e<5=? zXDtP~i(Oeog+H(7awT_5Fpsu8Z#8F*%QK<4N4JuSWWLj1sN{#y1 z-o8BvS(P04m?}`%_vBwvd3PjnS3y0bfZUG>K*+98FuObaRJJ=wCy-bZoY3)+*Sa>* zAjt^hv?H(Dn-T{+!jbu)93F@r=0zePhvp<^1yCMDB35SLyKgl>7U@nL#iLg+2u48g47_OP86wq{o6fn?szH4w>(zh z(t&mRBR8E;zC#J^;F4mX0q|35UfAQ?bRccMe^xklIq5E1RxmVUxoH5yENKxbJ3wA2 z8RZ>OO%c(-Y5&T%Ry<S65O}4cn2v7m||KcA|bUHcQOtBnDa(VBOQ8j4*dgB z7+{%aMXGoyA*{SApIW5>kwa~+ENJ0F6E$YuNf?I!&xAwujw-gO#Tkbk(N3LiyOZGx zFRAd?rc%aV!HfKSnO&SXo{7FXo2rF&16DE%NcA06Anyu{!-Vu!nGI#abwM9g_Iq@S zUR9o(oRz|!TZb9tAR2<%Tby7mDTB+&!=)_$bABgIAEUmmAqu*Qhk)~V zXvstgBDo&stjc>hVi4QyU3vZlHWJaG8Mf7*IXv9o${Cnz3AmGwY!fSTzRXR*(5!-_ zQ0YiNsKC`vNb#xp&*sfM!0gM(MVBg?UBfcglC;|qO6!gWUS0%4{}}i$`g^GLF0-+8?z&f2#Y;JUt+86wiLJWG=qf9#PJFsz=2ECB6)4Z6o>yWA5%AZT7EXJ~KOwm+w(N$?K zE5VZ%zPgKJ^3 z{+-OP)tv?nClmy~_FxfJ+#K)=ktv$c0w`zp-OAb~_m@nReQTI{N-{3UW_1-iK9V;Y zvhv83Lf6M4)#C}8QGsK~5NnEFQ1`6R{YKv?4K>Q{LKo;vsuw5_ji@e6Pegf zp%p?55)VBGH)>gXEcHIW64~up@S}bJiC2y^Msbp>ftP$R97iZ)Dh{FW0J=4YS(z?D zXY`FZ?u-REIHJ9iPKaHkPSsNsR8KOqcigv+@w^8zE)D2}pdl+%$Xiy8R|RGUt)tQP zo&d#}ww_af=`YAKqL+D|Zb-Z69Jmp&USF4+Jm_Ta9b25{;1+_5QY`$ieU;#4OT zP+<{?l!*r}IGZ5Cu(G6g_-tK0pmC}#SMNS+Ry>Z~q3k!FbBG}A)^%Q8clXMBh8k$- zE_5(V*z{kh7z};mqdlH8ay3LlByTOtJXL%K>6aE~`sS;psl&vdFja86DlEG8F^M_7-C#>+50+zfZi^M1T!Jn@y%)wT1X#MDbMW1N~pStEcL;KU4LyH zM<_?s`YrvlUvjZK6?8lvg!XXcw$AoHZo6#jiyIpyQJgEl2}PT?u|t|NV^mqcdYB`c zGty)8*+*X-i4l6y2B95@&787r>F5Yd$W3Q@n1vz4n7RpenvZPhlzyU#Prdo(5KV?9 zms~DeU`5v`M=l`WcBHLW8V~GZbBJkyZ%1xPn&ynIiFhShD`3#A1nkTGBt{We-A7!3 zjCS!!t*%ijTTC-!_90u>@NU)(9GWyq4R5?_MBVh6Rl~r_$FHZt2rBRb#Tkg`+dS$? zJGZ-xd#FBkR^IcURE$4mzUZb%Yf0^6;fZ&(CO$2qTJLbi=B^!fu6NhBR8dVDwi6ZT zr)Z{v#L04sfB;Y1)Sx)@g9V~^aKGH>C469#PI=xDjevUawW_Xxda4Rz@DfC*{jLeM0pgI8`CyMK$KKwp zm5x)_1qp@2ijU`j{Y&oI*ODNe5VyGY4;%SAsu9+AmIj$WRZ9Y+lynVKyg?ON3`>CP zR*^gYS`gCZzcd6Rq#C{j#rcQmVkjWmeqVooW#m2Sk*)lIBc^N?z^2*yAtb3EUT2H%l0h!wSH+tGzDTjE-+E?1P>Y4xGwzkO=#n6fgB-mFIzt>N*&R zNO6hoM#e`Pxzny%2fG?&@a7lW@Z4DwEqE=llSM%uK*V_s3Z5*r~l<>(w$&h23@a^p!F>s$F zQ@m)^u(Vg#kdm@C(bDGkOaW#9^;-A+iCH-^&tCya5X)yP!KPJf><|o`_8^btcvh&`0`Fc1b)1Dyzt>m z&gXb%@ynqi!DsJtWE|1ND|6~0)#PHLTQDQKicse58-pXSq_RRPRHO%Z8l~4_f~QJL zPGkR^(ME2~s2 zkL^*7+yoO5#m-ZZ8*cPuRlp@wav+wvbabZy`ET&~LfL&TPwn4yr>gr_vWD-%o$uFo zZbURvQ}?waRj8H@kXh|ySZ*KNxa|IlnKZgw_;~e|ITvN9QCS7uOTf@u$Ln!sK2L-e z<1=CXjV&@%4;(cTMOn=h9b2AN8sR{%)JqE?r@_P$nD==(EpW1Y4lK<-3h;_H+o&@;1vnrd zsW7ZTVr<(*%`u}UB=k`D7n{ug4%jGXn+t-50oX$I#>(S3McefqQ5_MH!d+rjEMI&n zslGdn;#k`jyK(kymU}33Z>m(#{RX|WDF=M+4c?L5Z_Cv@m}x6!2Gt=-AQ2*h)}L4~ z%T&T8*5}R*?H^cf&yEz%3uK}!^d*W-rf7E|asEU$GC>Gb^T^dEl!1l-7oc>V+X9tq zq02tElZYTlrAsmTYpn_fPwRqvQ0D5olRuy?a-Er?9Fm5KupT^$eVj<9)C0)v&I z2uV$eoYQ5Er^C9deSe9Ij*!Mw@+6Oke&=%#INL{7vCw=Jr(#aJRopAffSc+{H}KX> zqy?{3@q#U1?2d>iN&*;*IB#^R!XN>lE+EFzaKzP1&<E*z)m8M`RkzYkPjgnwq&4G9&@DY& zzb+mTRt<7RIlt@#@WGsmMP}BEdk7X5eYMS^QrR8@>QR7KZ#nMKHjppzNYr?^$gju( zPFHk(s!EIPxS?h74MTlUs-FrLL2H%Jn-(O39cnDA6*Y2QKBTN4btMti0n9wf*~#Tz zCS5Y2LR}Z%-F&#wMbc$tUgW#I^iEIJ4S#j=WN|mQg!b83MmUkMp)0b~T1>;B$JoCx zn_pL#kolC`6=;Lh0fX-1XHQkprO7&-kNLSD@o>hH%}H8zUb-Es2k7BcsttcXq1nR0 z>#Hs=RS7nJ*RyA1fX4>uA(@3*f_;FZRCFTkh{o`v-~JA6yt%+&ADh_EHRsGK^A=F+ zv*M^wFfC|0 zl5Y?b)p@NrG*IuwpMc^?IibvdHqNa+Un|pQ(E@}I{$mK}@r;lC zVn#yQth?aEkXpAMxxoZ3&vb;9jz|+0HcaZ|+ZbB(OPDb#*FQ07SRo%S zGjimGNPYRF=n@Y)zR%rC#d<52ke(e}D&k*P+)n*#W8<;)ae{)g2v$MBs+1OO6^C@4 zR>=miuJUS8VkI9xOP^NwEw<8dk6qFj8Ew?N^U}#1k&q z)ya&P<4>MEU-0-@Jj3{P_D*KV*7D(!@yz?&Y9`6wgm}=Ry4}%95pu*Uo|MOnI{@=R zNmqa&xE^G21V5LlQtQ;)FRb$g|7&dw#tt`$1?riqx)reSC4UP^ctFujS166#f~rrD z9q!l^48^EgML(>EgdjAVbvC|>>2#vP-lh$$qoJX)MJ>&C%# z3fsbmYEwJN27#){A{6l7YRj$B*nOIVELYQ~AZiD^plmSerYZE=63Va73F>gb=VU%n zvdU$0!o@zmhWs8#lxNlHjqoJ8sz3cXeBY`S8Kkn^wkN1kjIL0fq)$-N_wQ5|xqt2`GvXmn8r{ zJll%QXiZ?)RMOJLHh7j=qI4jkQF~lIl#$W{z|gNJ@CYH?K`N|9^b>Yx44`psIr6@l z(PrfzDMyLbuN?xxaa;)2T6;LvZhTrgYgDi$aAj_>^7AK{bG)EXWjfJZnr&5vw1bV} zTu}gqSk6>KO-?p;1n?-uL*dNgu0Ro;7WD5=Jn?><$ap!!Pu4D|;^k%d-6$yJmSB9f zDHAKkFS_8iob38{Hw!H}@Zh7Zw@=q{NR4>N$$%DwT%4ROu648h^0s0LOZOBaf_6fxa%08Q}%Mc@Xhq#NncmuJL#o673`9HN0rh!Xqg^x@OY7-p1L*6ZrXV*L zHtE(*-Yx^bk&UzD$r&npQSl}}+wl@HOE8imB+1043@aLjcrL2? zRctuyBJK+RxlF;TswD8M%hEDpudvPFC}Ce(!Z<7~2_l^?Sn+^Ex+}hkLf$*1GEVn_ z4kxv%F6a{EeEYv56v=gvQsfJh3$BwepaA`9C6D<@yRQcLJBWTvyc#J>x) z#Z<@kY@NO@S0V}-R;!poSvHA=S%Ny4bS~-g)RruTJG ztV@#dNy z=~N$*BRKup`DGspiO*3FB*+}^7vzv1D~UMcc#WzDzJ{M0PKkWi#>n81miUvfG!aZ{B%$zw02)``H z2qQAKnfK9~)`c$o3eTL5Qj9d&At=aCy6+4&J2b_9IwOitKsa_y7r z)0%vQ6+rds3`Z{R#pT3)ILWLNj2(pU@=Q7p+uGl{Qged509< z3SAtot{w&rDbYB~;Ht$u)Z0dNDEH!8JkXNc(oRIdPaxyNB0KX9)+P-0 zRH=g1W&#EXxZ{T`!zi7r{#geV23@;?1RSB!WsX)@%GUp|fbgi=cw>&b1{867;qm%* zHDhfU4cJ}#Tw*OFtf~4=ZkRW9Br#li4!pC_KNT&lOSJ!K9B3Cqh5v4a>+rOpYs{xx zC0#YjoJ^%pF;O4FEJ!Gz#47aS^~F`S`L!PbD!VL%`5mRUk1ow43wC22>_$5jeY!7_ zr_-_whB<>Eq6{1w>N^UgLC>x(YLp2Hw8_{0a}%BOdlc(IMOJirBQ7Wkh7Zo}krp-@ zUDqtK6SJhgIPU_D7C`ZsQw!4}0aol^S8N0nwFfLmP~?Z&(X_GruHRiNe< zNz^d?7Vr`IP^DFU!mY|1?~pGA@JB;DSA3~tgn4e zKfSd6ls%3Z;-iP)$j5P51osM=V+|(KzKP??x6>SR@l}P-1zx*gyXg^em=ZENu+yvQ z15U~3YX5Pj`#3*QRbPu{SCrNJYTlgu+q!4e_m+XAxUYn9*5oXQo{WtI^(I)!cPKFf zaZ=-@y3K4`aFm{dM!QQEUFgWsv%R#Mlv%_Cjxd^?(t+Kzc|U9V2qZF4JH9FnEC0 zILWNY4=Y1%;pNnWDL+CYlNUiFhc5L69t_xkdU4{6JP;@msH8%IL+8m{)UM%lN#|+2y4V zY4}Yhaf*wvhv@zuUWU%`A4X`Kj2-M;vrPJ;>DgyTMHmqsG2CO=Fnz6>yIkpLjX8*# zNf(v?%ev9>4wa_deGQ4ABB>K~T71>cuLI>#jjs*85TvAJKaXgk^jIvEuz-0smwd%4 z$v{E1`1GdilGoZNQXhPg7Ce;E%^%K1FK#eC`73D7YzV46&dn9b3h#C5DUfU^o~A0} z<*JSCQM>il<* zvRJ3;_D7*C_f^V9Opyk<53%ba!jYQ0XDF84w~o8Yrxd4pp0ahxXqbqlc54+dF2qeBY zsEh~VtEYg+?If}Bw%hwzG12IvYx$`1y5s^_5UuFAvF$H79(69D?K{d!GSLQoxywT7 z9og8X1(6Z4>bxr+1SNv5uzNq^%eK*FMZ_<< z;)<#DYQz)d0UeKEBfPD~;b^=It@~hbp^h$8xQN+2HAn)K_2~iN0gWW>yv55G;%YNT z3YfzyJJ;t_!nUZ|wrIKnhSOo(-&K6vIhmK8%6%TVcQAcC9rCkV&pwSgx3+~Qh+Cjx zD8kP%dFd`oB*cMu&ms!eP@Wd3Z#mqBT&NcBkgiD8&=!#m(!|UjkKx@cWE{mN0a$E+ zLGMbWI~gsB?lm}~JZHQXS^hsSE3SBk)XsjiZ1f0^u{vjcvDh(Dn&GL4u2pO0F)c?V zVMEDnb_>8i>|8yVRq7%r=wcgAB%RB2US_IuK*PcP;xnIKd3E=bYvO z73Q}COd7k4+ zOL~5KDSJp`j1NoE^`7T+J3Ey@I}3-(s7`s~Tux8tmRR&Q<=*1+GDj3Ay|qY3X)x9{ zUt<#lVX;A{SEmOCX5jzjEa1de$`nC{U4WczI-fxehdMb_MIcNrF22wiQgg{6nH;=B ziwZH=iuhjKgFGNM_8Y6>KjBrW2SM&&eA?oajFri*?uxJiCKQ8)d;3_JMJ(eOwNZ2| zP98C{Rtoe;&rfx1N4iZotS`u=En|#yY_i+jUA6CPJmkTQ+8LfAuxsfG>!#%g=Q0E=f85z;Jiq|42nUT7lkWTlU z*OjvsHdMxgOnx}6<+=BOQ>ZcMiL(30dfa0e?+A}_dm-6rLQmBKc{?K{bU}KfivC9n zlkq>jpF=Plfjd8AS4+Pa@Ig@-&zbdy=;T8;DW9rR5mwymPEv$kuL>k~m~&py8)2ZM zikL0q7puB_sNXHH5Wc>1b~)^&`(jovL7niq0z2HCrsx}6fhjqmt1H+o)-V$b{Kuf1 zP2P;iz3eBkk%Odq=FAz9?ETyYdqi=kHi(L?dZDBqNGM6r79Qe+i!58s6G%V>wB7Kg z9nS|XC%mmzFh+57Q~53t&+MICgyaHFi~*i0RCfCy^&DVS2E_a6d+dSM)s=w8Zf0Uj zhG@9l(q!Cdzu%UJF{v4;nEV`+o0T$3HBnD*%Z{FyRkZb|uHSRr$60 zqhu=FmBde7zqfCH`G~AVXw@^`v6%4L(WVI0iN2j}$FS;YcXVi$nfie<{JmC097ha` zI<=7XnqSVz9#C+ETF?|(L5dH7%Ug9-18J1EL>}V{b&J4v;S@yf7xk-gosRg`FQOzA|E}2scXO~<2OrLuXkExB* z1oWe{#a|@51?WT&0mD(8EZ6ClW@qk{fhi)G>App5(ZNijOZOAW6_HRxAFlAb2%#tR z|4w8FQ*7xglE-*7EWIJyl|!kw3DJ7{&%~7+KaG{}WCsw{yg5*P2X~B?eo>Cfu|ZR;Jn_0HN)~3feUWQogqRk< zDGDS_b^M`Ho zTg|BdO~nNFY5Mx=J%l*d@D%wv?bl-X6=NDCDM(-n8FMT2qItyCCy%1*mjvwVT;K@6 z*z9@D{b(vtU8GN=Q;#hmAkB%2hdX46_^$Wy6P35)(x){o^LW|X+o7)94@p&cTuo*A zm9w!vW!LqN=NzZn^Y!WYBySO!UML;hbq16{O$CBJ=p71O$kn8ayg2TQYHJ3eBz5sm zEInd5LKeYVJ`oZ~urDh_g=a*-Y2QQ`s?cIwY86?KetuTS17)Pfv{qL-6#jpVomrCP zII?UvXZsOlct#eP! zY|d>|IWX~nhJn<{kp<&ovqlxfks-{Q8f4NnJdu7w>vh`Jl65wtVw%Nm@j)13xRc+W ztVSmTnZ3%HamdaGr&la*6LIBUK-H8d~q{ zCR`5_%-1qxjYZHoZT<2cQBRBT7n!emS;~xr_RtN@q56$pJ+rXhhlVWX?6jC;>s|rI zk35i>o|@?6cQoxo6K@ep$^AWn*Q;g`A_B!QK-w>t`Z!QdF=SIz=8M77A&4#ics;Fu zu5cBz++U;nu#Gd^d{TCY6I~yaK_DaNXZ6hskv41Y0|ibplcGW0ZFA8a-K5QmHa7d! zNDkkjwRKb#S5XvjQx|2TKfxr>*Iw>28g!s(Nbc|}2ks2wI||W*JdS3`JGZn2(%%t3 zidM?jx^aXL`4kVn6x9Z<-L`lsWu5uq`+3dEi&0I(bbF34c%5+uzXR%tFsYV48~^}p zXR$6Wp7*s(_AyxhOcflj&9!1H19S)ONxta~Sk+=_b-i2{ zcFm^DemrD6=3{xW!u8}=siw6%M{=x?Wxd-`sr)6NT>I|2xN)I? zw=8Do38$*KiO^moTQjiyRMFewUFRVUa(jl~aW!UX%}UM)`}?WQprMLaP)(Z5b^9Yd zBLd{T$}Uk?Lx^AC_yFj+@N`?YvyEn9!ktc_wQa!k>;e#k2z+T(mHu8LQHCaobj zs3)$)$D`*)F>gdOG(j0myw31jT&>2>rMHI@&_5yP;fy3^dh2BL_@^{5%xYTIfdQ!N zp6Z-EJC}8S_TM2jY-Mfq#ABZwGU8k_5xvzC03h1*H;QSvc23!1#xgl`T+NsK8N^^S zb?$E^nWDM+S4O&~#vN5B_X6$+&w?vSzsj4s4Ekh5bR0h!f16jwF7DsB%Hs#ggKgN=v3ZG7_Nf84gp2v=@Fg^!UiPb?Htu$w zT7qIP8jkBU?@)H&nWS?&X=+%_K;f2PmRf2Qh11YvQ>6-tYrw(^xyQApG)w*GZd}nd zRD2an5y5VQ({Q@e^y>c*Et;@`&F$Px#L;QnjBrP%h+*4(y3{ECLl8s}wdHRu%Gzlb zoNWW^0z@nUrBqaP~yEH(df!5)U^}s{rZQJ12LsW3#_md0kLqWj6G^(ZScbL z7z%MZ7ln+Ug@-_T3TwV`*VB?|+5^tR#3e4y0R;PwsM*-m^0r#c_)ytX6O+>|^yH1= zpaYT#J32q(DB_J7d~}73-(FZA3MciKMxlM}k`la*ZWgQ~5KTggYUO4`e|D`GU0Vx~ zVLUH;lN%$3D22DtkR;|YbO81t00=qXT`Uw^?k}%RLh76@lh#bb7YVN|kAc!;UB*%y zIY8UKP?aDdGH}-iJlfONJU`*I>{L{5SGklpW3j468yYy0{LDT!FI=Qnfl$&dhE#`Y zI0n}k%KT(W@!ndQ4PTKnJ#T0?QEd%HLTmF#P{pB`Ff$3`yX2m_6|}=@a7ZeY_$x+o z@p$6P+nOz8g{g?dssU=F8&;WbE{xhi+16KN>E|y*p@2z~JB(sGY~oI*oHk!+zzU|P zMd*q}WlMFgD4*(f8fJ@+*FlLq?G;IoqZ4jau5GX)jD9MK-}di}KkM zO3nk)@Gt??ISC3Q`R7gNpzDN zNHoP!gsTo23FIfFmH?`clCEizNSY%50gD%4QSp^h#D^U{i}q{{?0p}%=`fdy!+meBj9dYni=fs z+ZMmYlNu7XioSSdGjU4D4-7i19?nA);BAgN>yRGagVIV;OnM5A)%tAvq-(#i=lqbAmE7T8K^BF)%cLTiG63 zkF23U*2&rokpy{Kxa}c^#%^gCiS&zxzQezBq5wB-c2!%Xzi>DCMGoFUwFAAYtX88i z3VrG9x$%WqmL~L3WLMx)B&S%#kHQ|)fLmKfZ0hHreaF!_6BVvvLC-8t3S=Pc;&mEm zC`mxXRSGjhd#}-wlvyT32B6@_`zNz={t2YVk$!{`bR>s}R@}6g4_qUZxY_LtV`=6V z%L%*qyH;SYv!owkraOlIQYf3@k3=naxil~Sn(*A>Vg|Sy6M#@}YGn z`oz^fSm+v0vzw@|Q-&T}Uv2DnR(_hmgkZ6y!-}O^HtQSmv37LkKvB6gp2<6iylgdV z9L3Es%N|QK`(0JE?sqoM)wFan()43K&ERu#o+-TlV{+)AA3R(kvdW~w`az&;$BP`o z9Z?fYz3qae0=0Ou-a|`t|YcT%<&+C!&UGJ{k%u+16kb8E~ zSc&nE+vT`}X*lCF3_}u{+BhTDAo3f+jWP)`Sa;Jdcmv5$URuExSZ8n4y{!*PvX*wm zJTk=5Uo*tEpemba$E57-+ke1wfb)<@aR{4U)XMH?6q)W=#-K`r3l^$3 zjz@n6=bg!AJX4Ac!}iR#mS5NPJ*M1aVosgr##5EYIS`ul6oJlks?jO1S>3_fCYksu zUEMl~>1CH~{Enq*u+>8uyG+Vwf1u7mh1^iP^MlqO5=E}!dBKYEwvbkIvV0LbW8DV2 zU@LNeJl^aL&_snK)1T2l#?-rHpof}KrP3<12h0T+)wYlXv^YDKj0^o|h~XS6#SJn0 z6;>D5sYgrPv)^D_!8j7R3Gi$tffr{ynhRgrYTA)TX-n+^>%qnSP}O|@=!mK3NeGFs z9qL4C2U>+~*iaHjzYsLl1NA^DBAd;50*D{K>c|5XH+JXE zMHPA@bU$rQ1zznIb8)G%)EaH)0f(WKu_HqUq%0$jv#G@YByA$-BM*3q%=+TtnexoNlC2=b$H6cQ^EsEW*{Z8XQux1};9h0nh#2Pq(;AGw!I3lL*?t zD~)(ja_KKGI-SVsT)nn?%`fSDYH6~Ag7}YN} z2Lvf@$b!U@zNm1B!Wa~e`N*raN4Z~ClN3nYBF99!tJ%)F%G3pCq)Q=Beq;3x4cwekHr|0<-PY;N3M`ZieP&w&PWi^mY2P(3La%~0ft!i_v z)8IOiwTy|L?%-6d^#fWiQvSbNR0xSh5-iicp-0% zBWuMHJnh5DDBlrvY}MHY(>!LYvC)ECr|DgToqCsA@Cu)914&lhB~@dd(5S@surXOE(Hj^ZU2?I$ONNHECz zX1)r$tjBG0#=?bF2P%I3F9JPJ zTB~<7`>+b~Y3>}e?`L@a#q`*yK=x&fLB50OjpL<6UCyQYAhFHyrnyJ_e|$uP4uie< zGBF$Y$R~A=3yO{dQsWDWWb@X{DyDXx;VEW)vVJ#i>}zH|9h<@lT$#aoP73?!WQpY< zkaFS&`B2O^u&2k1++dLy^u6Ddog$MHo4ch`YDo6YX!+t~np(767`frVb82@bjTA|D zd2Y0mdi1xDZK1T!3z{N8+$-L#ODzljo^}WHL&HSb{szp-6B-KiI+#@L!A7ZMaLB$d zA9w|oD%FMYzJu#YTTDfXeCA@4YN4hl`E}rvhwGoBHsxhJ77FX^R>8-OwEVELIRxk% z*TZ*It%Ur9?F*ZSCh1Pe#!-u)aG;?af9*o(j2$|;|%hY{Si&73UstLXI>g)Y6b(q@K1we-4 z2rdCG=>scx8TFT(1AQmK0aykoal1(SccML+HoYts?;u(=+o+2>hI;XH+bpKEfnVa& zyLC@LyY$VYs(OHZY!VhUaBjmc5UK1ar$jB~iJSk}5vfHkl=($Rq6gPk!q?T0x81CN zOm!wTSim4@!WXkEM-qF?{{MDvU{}`?9E1U@v0C z+3*03Y+=al%vZ2^JCo$4V_F2v$R_CohWzgp93k}wmFOW)HwpwY$2UKOJS&H`81fvy ziN&1Fn9ePjRy->vgiN`v?&1saxi?M1JD9yilSO?+J#)$cJZ#*Aw}wMWAKqI0=IP;@ z@+JX8TzSy1Hr`70-XlR2dS)pYq|HX>-(j^K`re3)c$L^rFwQtqh`ae!G-{zG<0>@` zgYfUTrnm$#M_jA{E4{TbwjJ+JQ~+T>p1)U%N;zCTx|iO3?@vhaP%ttxCSw8DYem(5 zNlxp=gXp3%g(oaR!R7tpW?L}5ZQ3C-vJ{Lj!mn}=sYcj|_q?;Cw~t8&+x!Rsw3TYw z@&z#IVZiPzgWu7_e@C?SmqzO5%kowgZMxIvJ(c~VPrE7;qLN2nz|3^9ssjC{Z5hn- z?Q~1BpJ4jCl3G(jC2CzCV~kG`S0UMiD()|>AMRzVpsMV&j>o$Fgorfzpd{JUEZz#yTi^h3=NLvyyl~lS<+2HB1Wq54mxt zss04jUL?FmNEOh`>w{iSYGv)m#a~&GNw7DPp&UJ4Yf9ko+58?Z(OpgRX0FhvO%2ob z6;@jN!;)?8j>qlOAE|+z#c$C4HNFra6lQ`?d&ah7aa^{3k5N5Kd+(*(C6Wdg+2J>G z&5FE#BOgJKsB^aCNVxH|hHNp)xbZ2*m)+kk2c0QIytEMlSQ5NM#~4VicB_A~-=VdH zAaNS#?JNhEvcOwqa|w)EDdS9!x8A_f3X%8MddZ5%01pWdhtcTc1n4-tk~E zNZ|#oLHjp1Fg8z5Ap;x!TNEAbGO$SE#*TN?BOzl~$c%sPY3 z&y>zDc?fJqQiG{6K;z#5wTuX-QT%>e*GOW2KZjt+rVZfk7+Oi*7#3A5fKkU5*$SJu zH4?nzZhi}=edtNVnf$PS61dgz1;ht_nc8PXQR4aDF(V=&J%kz%*W06JuiE~h)VciQqe@Lq zwecT&*j1+Clhbytj(E&iW3O%l4F_ROBU6+e+jsLxjl@-%Bc3m9kYef~k&XA6i;F}Nq^aj) zWM+zt^e~3m@x8p=>9CD4eMv@r@KJk@h?e^6S*d9DwnhU^qm=Znf+=>##C+r%dBu6y zdNumNad3AcA%w~_m9+77;h|Q{KQA@(lA&5Rxk|^$e{qZGq4m>T`eJ zxDF{+$JqA-o3X!@Jqo7BLZ$|If~3^wPOK!;I+24TMXF7SXuZPiC0^(F1-tNKRkkr(a zc9}1-U$eF~(Nnl}DHx5*z^N6zhB7v^kPt>Fg-Ik#e6l?mL1GF7QGv!d%nq+_-ep+l;RT)ZSYoHpUGysm14{F_sT!Dt`65 z4P4puUNhY|ssJH7hd$NC-L_4owQNaVEaG}xef9{s5%TivIKMHjz%a=WB{=2T_z;`| z!iI*3s_F@zyRPUJCj-06m+ySfPWYnq%AlyiJ||1-$lh3dnh++V(8Z*1q?i2EjK_|# z<#-^hpVPg4JQ;4i;zbokvtistYs{?%y9P4s50cZ4%FSJimAEhp^w8sJ`7}3(e?Oa? zTGO#`9sVR8qLJ%1Jjs9=r`INc*m?;kS|hW2Hwui-kqY7RNnb6lH-T;$3bfD44;2xg zn=5%=i;Z9yxt-Ig{SK)yE%(y0H<$fHZA8E>n?%$fkaRG0D*q*WLb{rsIoO;`Jj7O4X;I!u<84#Co zHGMZ_@ba3N6i!oq*=5OimPxH79TG{h*@%?O29uXl=pVx&+bR=`;OkAUU)iSF<)s8~ z!L-)8Nb4y}`hD$?mJ6vTT!wN4bYIyYL`0%S+lI2!pG+&hi06od z@;4go#^s9aD4{I#gywEO4vFnXcEgdu%`i6BI~5*{i>!A`$M}mj6Uz0koP7_a`N8f`9ATlO(S!Leo>Hu`G4u^dZvoPN{h+Yk3+0)LSlo6RWMWY)Rr;OCAhA3cdV z5de8`U%BsidQ(zWXM-BCjf|8sqQ@PrK7`_UPRGb@>JTQEu*A=~>??KJsXe>(LPzZ4q+bYOg2B`dEg4QtBMIeY4fs#uc|gMSG(kDYhm! zx!3oJNdtr#_%;q2q7=5>km#(Toa1~mW^&qdi6e@ z4;aNaXQlNtxu^?I*t3F1(QbMp6b`N@{2f(OUE5{Y*rW>{1`iWSCvywaJ~qS^)vD+F zf>^;P=mSBF2nWti%I?>%EouuSuRRb(CIGEO)a3*6ybJ}A~&f48RkjKeXDy5^lICRjKZvKqEj4V2HS@FkKx>6 zZ3EUv69Vfys@4KPj0A2T@5P9b*y5DxmSoLfD7j#kc1&LJCp4lab&=>*5MdiUKnWnc z2~gib^>;@KFLZ;0L7On(IUE-(fTXiEY5E`SN}X@#Z$m0T9QVPtN+S6UKCV#u7#D6N zWlg5g=*`O^9Y5vVt#jCp&nchXc!qtOd5Vr3M`>Cf0Vt`XiMZU*X5+?-3S)m!%DaQ= zDM`6|yJl0wByE*xZBnq$bCbA=O4x+Lix3kh!n5bKZVsONxMjrTx+J5!wi8@|A3rS zc%sveM>x&d3y6?O6MVcQ9h)K>~TU@v6V`>EiQ@ zy6Yt7hjg5Q@$;d za%eea`8_gX+{Y9O1|m~o5^rx*zNu<)X2vw70)4e%Lb?RDHSoCyMa$I~<-5p|X?BB7 zxM4k2$c`S*jn>Z0ByDRCp=eq%(OXVqNLY=_o1sdNqqgI7=5Ezkr%52Tn6%E165YuU zj4ywiz|qoMMTD~fDrhd-V9RbhiF_H|L`OTG+nat?k8N*rfwLv-vP|Qegtk=tZNsA$ z9jCFzC28Z_G@8ww7AiRp_X1fwsgYeWV0+62#MD7jqDw+ycusC6H8|WEs2|hLAsg66 zfn^dirtfo6Ddu%!%=L%W%|y)liKoB6y?JwQPHaO_9|ZI@1_2wJ3fD==!g|}qkYJRa zsCAFi9bx;locy<>S2YR6)V#v>Q=SH^rH^z8;JF&-hKzNN<#BwJ@+3!s+K(sruk=n~X$avpxycYwomr<;*%F4y$k9@ygp>oCNcz z#d|q8N{fqteT5Z8g2K8QOdBwwfw2Uhnlx)b_wI|?IaYaql&5TD{CG}ot)y&(B}YA8 z0fqbs9u@@U;}&fh8?NL^5jJ~AgMzVL$hPkiEHn4J4O=Vw=M!8FQ|^+wg!_0T#E`Qq z(R_#0yjypul9#O63|DyJ(P&@)WI_@{WDzhiENakN_l zn&gH~M42FfSnI?)ihpJ8_N1Q+6|*sJDDd**_cVOZwqu}C-R4Ec*f-{cG0^07`W;jM z%EXSO?i=uHQ6ndm#@QIkL&bO7r8|`j#hSNiTmcVsadT5ifw*Rnfadx6}EaJTEcU z{Dr{0j#6t9_<>yzHHzsZ>DszLB|J3fSWq50N6pEm+Of5&agww~>iw>0z#putGMM zhS+8`S&+fYV6;MNo6wY;x~sb{AnYJZ-zwj>jth9FAwbIeRoFUW>-{to5pM;ibj^zc!M z(zCkZT!ko8okjyUz~*)UEKE*glQZQujQdV3#n1PS`s`lGhnSG4>C!>p2&uT@P{rVW zkIbvC{rFIk#wA?Fqx%zh=ZyDq@6@QD!AAHjP$bVu(3_#EjYljlXasBO2T0j^n>f@A zB-13FTKL@D?ydq}DyH8R>00{YHd?-YIi+fd&sGN6m)Y>+U)~oBj9H1Z1Y&kqP zjbVe!BuH8moljCOECJjvA`TWaGUK6q2UdDylFHU5#l|7fb{%lgw1o{NAo^pqKXGUk zy_+35!->VbPWh#lmq~GprhWCBhStDaPX>~k7FgIWoh+};4M`}@V)~$!1+?S#JCZ(+ znD*D&*)~zR9P;-viBNRjSeA`J?FJBh(mwf)tu;r7IFLwXIDKi($#nYeF{iA#+9EV)9>uChD>T+>9vQ&!9+M1>69SaDu zp~9p0db~LW_Gp@|>j4Q83`~6e*S!nUyQ}eftC@6GS2jxq%*al8W;D1(Ix)GmBO>utfT=4OwtpqaqcvN zRN@(*)hqXqxVHYCJOQ^+!kG%yX3Au20tyli(%4iU^jR)#!}*TC;|IKI*Yay5)`M!wR!92( z8C;~Tp?;2{d^{I}m?c1mlSH1x3d?{2rBgPiFY}`oQ!6E9_lVV|0h*J5(VMx*DR-OL zSY_v6x@*YdE-wGexW{NQC)=+#Wo?Dhrn5)Nlp$Lc_9&9KzBn=h!X=m*v^A;F3hQLy z0Hl+OW{)JQ!SWR;8QboC^*iv$Gwpf1+8KR;wYIog$s~FtumV$HWxo#Z)M{*@8=&RFE`B%@Jx z6DjJIX-BimFMIuG0=W8{Q{onWa8jb?nWYIBc*wA8fN?VFcW&UJDbBi$>bzv2V4Kge zDQ|q*>``HM(t}dsj$=2d3 z`uRCO8KKNL){hM|Qd_8Y9+(LA&I5q^HLG{vOu=3){@1plVE9oTJq=?13*gH1FakCj z#dl!2A0s7hose;^bDh-0BG$_tT#;;L_;06XhkM{;7?_0117SQRMD(`8RxHi<@yM;* zMhwR2yjgPR6KAXf3Ytj3RrQpCw+}wNX*kH5d9h*hpSXhW`kF1ORv(Ek35RhKqKry} z0>Cjn%v+;_^l4lY)Z6eZO4;VWTTmn!{alh{@cFLOrl6Wy;~@{oTBmDJJchU&M-`_% zmZRK&Q7_rNw;-kCROiz1B|BoXDYm}dYJ}4+ketE)VixIZ5UMfgcTXJh_xz9Bqs`TnS|t>)3Xq&2Tk`GQ42B$kz;LyU>*d;AVK<*5iW_9+oszZ3kA}X%jk5bFo zs`N}+8`y5N$%Y*&NBr6jNyTR@dN`|WcRc%?eaj$tvFhQ}hrRw9FWoV<7gyGP3FJwI z7`Xg2R|o4h*^Cv0w45a&qo->+-*CQcv3?D;wC`wo>EF1KM>KX;pvG&$TH4B`4N2W| z@;9aV*o~@`5J#Cz-b#_$Xm=vM#i^15;l#@Zj5P`)=L`1xMS+{ z_jWa@uTe126Jy>y=EZTek7aw8_EKDZs4a3NC))?$f0_Vojw9n_?-SyYN*i3T0k+|? zPyPiBel&)X6eio$9eP-0&9!O&9;N*_)VS|1Rhio*u<%Rxk{&GRA-bpseI%8d>sW#} zawr!P8YGz;eD#teUb%AD8c9V z@<`$I!5_3pW<9R2ktBI&z^jTbrrq&zoHifls|ctx1-X|I&j!Oj5|Sat zH@sCN{n&CadP^*A9yjXRMAFBKIj;J{Fzb=7cYIObq$?FsZ?8p-r0}z^EHNsJ95QAa z!uV}Ay^5ENj@(@aF^EG}YrihS$snh{et;3n zv}upvIM2h7i80P)NWhE1x8Yc^o`}o;c$4}dmfF-84^bkiTtlx zj+YTI=~^aWtNKP8`)Ipd-UeBUrw>G-M9M~aH;vFuQ0w?HmZ#~H4+n+oMDH$0nqU_g z1txMedi8?}3^*tLm$!kaVrrRM&W}H1KCZ-ljDxGR9Y+fb@zNJ}Y=J469-JA;n!frL zLd$^Ie!ImMNB`Q-52PNH;?LY>=pTAn7R>PMnH5oba|GR601UENr#FHTmF8~%S{@3)n z1=Bt*Q6M#8^m>|f<3`}9!hM6Fsu%Vxm(e#ju)eU$sxmJ=@wKSk8MD-LCt6Gjb~*1)$6)dC1b{)d4{<^)oH{BYwYQya!|X zF8Qm>dT&%`EvOi-1J*7OfxAGn7d)KyC$*^elS7$Y`fai2&k5fNF6!PZzz+(Wj6+ZZ2fAQ2H&Aw{jI5_#_q~ysbPpa&qlz-&-U)j2GYAlM2o3ivAZbjmpK7!sK#NJZ6}*S=H=+zx_2m{| z-|;lwcP*(0Mh%szWL}Lqlhk6S^54fP8*q&k{*@&xw-n18{%G=6JfNUCs#BXJ#8cX@z8}*;yT0T13B;=fcjiha6Uk}}( zoo|-F!%4d`*>R}01|ehQPAXh{mAwm3xxNaHDWt8RZ>4S2PW|vk0f!3Zld@M~L`K61 zcFU$D@_%y3BGvg~1r1MXc~kOjp|s-Y=rfR1o!AX2ESf_rY&K+_iyNy0x~RT4PDPH) z;{z?I6`gj6sO=k5&F_%56h(z>&I5aA`D%4$YH_tq^=7~b`#gsjO!JV%|yGdtz2Wh3*~*! zejzAlPspYXX?aj;1KlG;_O>|;Q=@9D{0q)h4w;g@;{?(Bj;jgl9w#O>TKNwoPKFcl zNU`F~=kT}a!9Z4x7X=u9Nmi{v<~_`KjXGg@_3=<7y&gF=nPw)yK32oq4YUj%?+v`k zQ{&H2So^Ep^zWA{+vMgS$;JfUA*9e*C0CDk?LaClrz4ZF7pauk@6)zvU|>Xc4ME-xki6X`w~!$vyma#Fe0uLmGr28 zA)3Kk8BbkF_c;gOfgSyQDP05EbX>?WOn3g|<>vc=Hmi26c$OhZus-vPOL$Q;K00Jc ze7#1)fU<-5MR3&U+cwH5e8QwEE^>^?%;XbRV6IFXmtzAfVt`_}^8BFzkb*M%FHI5R zYKiFTshanFUwwf@bHXg%zU!z&!1g|62%0~DJ>I%&!fIYi$JK_`U!pPz zmm^bKKsD2foXFFt+S=M&-n`jZ3J@X|7yILEznbJJnm%$A)lu3CQ{S9-DgcwvM5TGL zTPn^qato&4a{xk^Tp{CdN(l8CZSN9%eu0B4qW*aH51r<;W7!x(#sPEzh8@{{M-}Ex zHkCHWPN)Y~YY`cmFFw;)1rg70p35zyma4D5Vl*ejbV$|7$coW1g6S|^Uyc7_fcP-u zN~ZV^C(O&nNC@R0Kv2cfkp)*2*9Z%Pn2D|wU9J29(s^QOiWeJgXxp7%lNAOmmWzTU zx>GHPB3;umJN6nas>Ak68eRKAu&7QfZ#uO|EXP9GSO#>Ay*bOUaa%{u<{$L&@ha$` zX$EuO78m}zFkiD9_HV}wW_wNA#FUyK+}Ws(Y==hgsp9I^%DUI)tRzg5iKERp!p}DQ z;N1~`+*DKCu$st7Z@@W4wY8wOk1!asjq)lHnPlRI?5dZ;U@7tca8=o}OIZkt`y-(i zUrh2pejl4){6w?2aFnejWiqg>7mN4HU}E*eJbXZUEBG#V9AJ99^i#dbkokGOXW7d? zgr5{h>MsjG2=Tk_Q!BmVd(B<4r?8ZTljS=0NKxZ33-CJT)_Ydlc)Y>)S}^@Qlc}Mn_;M2MbdwW~FacEEg+`pq zeVT0J61P~rN}^UrHXzsF9ba~gw6$GT>0BFjZwKLY^i|X+NvsvBcD>r@l%I|y#?4q^ zEmh-4K4Yag%dCG#X2_U9#DB2aDCOMbX!#ve>M@a}VMW6R8AiQyA&!lTqk@i?sfFI+ zlmka6LxM4ci=&9&+YpUKxzoF`3}4UsxBs3~+ZQ@p`?tcyW3KkE%5 z0VF=I+nReOKQ9(|z)ItYL{E6P$sYB&Ej#Qa?813Sr`@!FirY58Yn$m7m`tYw1}WMg&RBGbUlDIEhOhax}LCjuP53 zIo(RVV2CM5rpJYHcJ&nL^$H`NCU<#?zlbKjX>4XxqwE&gU}qmD^hz0=CzCSaGqTrf zs|L)2P4$Po?Q*>dIx3zfc^S3a2k=~+n@9bT6OG}P6GUYgi<#m01+xZi_d|_Nyixp~ z@j2D+G8A%{DIQ+#{{+-tSfYB?vc~DFe60h>R-;IUHFNU6)Q#M5KcQt2+ zXdv@)z0497NNc~Mn}-k_HGowP^al{2((%ZJf532ozBf_GKk;ui=CF~d=y^U#{ElfR zUE{j-FO|E3W0Bv)rirYs{hi&@4ug7#D1ZTmjeb?&8Rd%!;$(B!j72BF#wAd%S#~gA zD6jh0Eu@wK^uv<$X-pynTwYxVzJ;1Yfb_A)jGPO4&I+XimPK*~CIdMfwZ@GEQG>$KTjJThV1O++tCY14VuDRIb5zlU}X&({G%N%F~a z)!*;HT4N>#ql9xFH5|-qhRSUGc_6?hp<1;4OJkBpNBC4v?5r2#txFmBUA3Tv(F!3- z3yr0to_=W0U<+V;#}!d}uhU>Nk!#I)Kw^{?+lq(W@{tyx?@BU8kl6(eQ<66GfFFN{ zR{Gc1^7gvecr3Mw!YyBT@{2<%5NlXQiHo(L+Z4q~(>r_S+dEaAgMGi_X=z(5MrKQs z(}sw-LuTT+C+-3tjiYIret=sZ%4Dc<%MSio&XBiWGIookeQJ?~kl2pQ;?3a-zrq9n zD!syln9M-rFJmc7SLk&2$&3fIg9egBw(^^VqC#q}94AoEwrFuxU`A?f(n0-ies~o& ztaTpfoi2t`i4x=je(;z(GIV`Y+-)(mZ$0PFuhk3&J8=dazf7gUYI|@z|A4Ks7CHq{ zj$Bq~{}Rd&WAd0a3U&fsVnT5I1EQQa*#p zp+ZT@0wFOL9qgSJA6kQbnXGL*EE=4vzqQ)Q<`4ZPVGOyuug1=-@|r9ab_pXrix=Ff za-J;9Hj(y+K7_`2rtS3=&(^bbrnsi6KL_Cy(bUZ=|44ESgxt9t>Gv-qH!u%2aRo`{ z8(1)x%UdC$a8iG3U_Z3GzJDr}bo{M>7}74$Yo4mHs#PY)W=^J-^oi&4yw4L})cQKf zQ!Kf^swl9juaaLK;ip*^aB?Z?vpHaloMheo1UUZFh66XO(IZ1SX$JG$c@j-u19Ig%Uuo1TQ0+)U%HaF(bz??(EheT#qr8~Z@^?JF*DskVC1O>69F%9zaqA;;!V<{p zRsh1u>pUuT4U@-iIewusp$-HxVD&Xp|} zi+cAs6+*+Q;8&JH`2D|gNSE`qemwa6TazU2VwPL#xGORv)QP*Oa>@0}Bp_zKgnvM% z7AMA_6S)pR03eSz46h?K0_r|Wk$XR=uwo{0+^QhWy1-^^8UL(C*@^uU%G{F# zXhxHBGw?6)K>Sx<*+Yt{xhS1QMl)49eeybIr!*xtMq~aKq}Yo*ai7Zi6d;WH7bK z2I&dw<@HtdnvilcEILJAOxOr{rsNA>_W1ftPa3HLpHz{+k9oOQal9B*rYK3^j2qvJ zw3gnbCR8o1rKoZp@y>MvA3CciN9)LVho*C93lZ7zqbQt1lNm%r(_@mcMZV?dFS4MAR@!&p z7>ug~mj>M&{7fF>d1~#*Y_6>y$-2&d8{(?${wZ;jX)yy3;R!=%cccD z&K8Nvi)~3gxHIsfs&;%U-%<5XZAYj4nj|1La0yU8Ebmpx1rI=ZT&-W8NDPe!U?pD~ z0E{v;!NrRIkbZrgnd9QL);dY}jF(W=wm?TK+3<>ywfRfWQ)+XW-$C=B<0bucW$zkK{ zM*81fk>e|-+?Xe)IE)C@_=q|oC%;WSWvODe_j3%6sTwnd0B`6={OilmFDdIk@B+;R@s4&w_!t$LnQNGyX_uQhkxv^ z$r@pqcjK-B;S6cdBj!$8)x9p~*kXY=zu;6+`{Z*-wMr3ge$c1P+T?a@D zb0=|B@K&zNi2V98bLSZ$JilY}Cio%Y-?8-1JF>IH<1P&MbQUg+{_>8P?enW_l8K#| zL&8AD1H2LPh3ve7uNweH=C!joWx=I8y_q)k!0xig z%j5V21{1-_p~H`|=j!dvcSL>YaEJv10b#si6*`julwQbTvvB5qi&RzL#ueOh28fHHM{K=cxZV#skIG@MP zB$unwRFLEP$F*we6(j$dMk-Gue$}V!(t$4S+l**QWbi>sOUww~D_F(TKeEn)*-cP1 z(YEu<2J=PiE_)jl1l6cXP=Izh=b>8l^i@uB|h6c;%Zdz%^ zr#CkC1-T+4IQ<=f_MKG@XP`{ZGx#qq&o}oK(EWg-!@<`pG})d5uutZ4umNP4 ztp74qT=EfeN;xftS3!1QnOAkph~D5KJ*W;f!l4n@%;}rBE~S2->d~f~^nHb-lx#(W zxq*}RG&WpX5rPBQi>_@Cq>-s$2xL&Ew>i=+xCaz04tYm<9_$+vqW?C({-a+>@mF$} zB0E|ga_k0d)?jba>5G$%hk>~T{Djs|lJYh5B&X$a#nlOqS2Vjg+_rsXOgV8GVZ554 zeVlLbVC^i{x=oPG?|6E$7I~4q|DIgNiD9{ivt!_5Lqb+EP>aoy1B}=*)(kX>Q8*c| z7}?sTyw)HDboE2De-LGimo(KN1rVoIXq<+}KAVm^5cxpM@L6Px%fx_@4w<-W zUoqvLCq-RMsyPcen8FJkESw=~-`Qvpr=w--1M!<&^AXNyW1 zdzB!|K*y14fq*zAhUVFg8dpK*ABYj0$i-Q*7d@r{f|!3mVt-kn^^lsW<|z^*mx!%X z@sgqBH)$kbA?xyNg$`zsCdf_^@Y~SV|qvvyuS7Wq{SJx@iDI@55?E(Gl@iE3CIm2E=V#^I;F4aqKw<5r)(sU$1#Y z#ha5@Vnw2i+;ldmBc?jf{#^cEyJN-hLEY<%;dl?MgX0@-@%Ka@#aV|iiNC~UuAM>q zGzo#3WaS=-x;{jH`b8w(UMxTEh}t-$aThl}j{)Qp>d^=Il}>Duaf{vt*XQ9n)W`!S z)5kz>ois|Ysc{y`cSyCL>d4mUSWRmeSa$1aG86Rs<%`1+*Z(qEaxj)%T)Lf^!DJJh zWY8RG_U#T)R6QBVs1XA_gMVc1*oiY#K|xh(tD_iX$9FyB>Z498IML{qu^>I=_WPr- zTj}TNZdxoSehZ7$u?elEs1+VnLQJ43x~Gje5>0Rm>OJIdnRtREr~`>dKh~0osvo1; zw*pdOb!_p~^7S_Hmj5Jj7B`F$7S%X9AhR`&tDDTA-4ut=-5LQon(Sem@v^zf{ZClR zNmt`A0z~(^CNsHNZIMB3FMBxiOc3AH^p$}>Rikq$ZR5^7P}m1<=$3rHg6cEkc$j!A z$7!lhh5{iXU`#Qr`X>3U)rz(_<=Da4G#v#w>S0%Sf!^s8PNtCT;(ynTJ+3yTy&y9R zsAgv0c|~FSw9UR=jyb~#kev*ApxJ$%6efWqj#amoL@yS1cQj{nSm%+-V849h^`jV{sBLDS_zAAZTwslw2!=k zgq=B^CblE<`sR`ne6dP9H>8=#X3-EL-SI+k1mqs&UF#|@Q5=z#9p4aR;5>POX?nk& zPa9Vo@bVE+-C@R0&KO1D&HK}(w_OaH_Z>@vWnOEmy*HFpONT3!52(ijHf(%^p!0G( zC2TfwB*CF509Z2q*Ys$>pNv}Yc09}m6Bnq{Hx~(Xih;D}$a0r^x*F9H^GbuCiX0ZF z+L+yinVylgsxWMBhoMEmBQPxjg?$t8-}Co>zBWQ>HNhp0Berj4cHU?%!#083L9|S# z8@a~`^l~I=r`QK42sA3c0|&*vZipm(MYT1Q__b}HT@H|*=>Tg`^$zwae_=s*eE1LW zTP#iw-&)^o3jnY}ld*Y%DB(&r-%;iMtf;{y8sYSYYnu#RLHjSsD!M9vpYg+y)&j~u z^!d0J%;^pjoHwX=52lqWaaVnETiLI1z3$D5F)lnFQI0!Cl@A$Qb&-!kp(Mrs$bPx~ ztK4A-wcMp#qnX+`Q&yP2l0kPs{pl!g1I`?(JS{Ddf&eV^oNH>R!|A(h*5EB>&;sJ>y85|}tc@;xE5Fyby z`0n*5s&<*cew0Mp5HDjOCse?t>u;sVXTQThY(SQ{p zTPH`Xl2KTM*1jLQde41rwphHN=)@OSYqLpCZMid&y~hlP`?e;T zCHamax~1$A^kSzvQVqqoNl)WDlEyK_XGo4;*(gj&^5@Bnkx<*TX_02xHg(mM#QrT% zxp){p(h6X&-|%S>NjokH*mcH06OHMIRfc8M8b^BV$_DJOkcKd#+QkevKI-ds|6%lT zO(rf;X3+MV7(}W~&-rbuMojD4-;+{v+%m?0L6nkf$gR7mk|s1!6yQ<3J=b}~7<%&E zy%0b0fdD? zcJl{2XR&d|98PpU{p*Uv%#GqzpE+$z^V=a^pbHu)1h} zfQ|kjuJ3SKLQXRJf?kydOPKxKVMMA5Ug$E=G?+RZriREhd&fyTJ>{0XdZi)#q~AJ2 zq4Z7>Z^qv`gJ*?7%TS0C%pgj4SK*E`4#RkS&LCZ@n_%Zlev!q*-iqwY->4uxu;!C+ ziP%Wx=8(WR*7zc%ncG-pH@14o0gl5IX{t67#;a%`C{MM!K8`mqmZEAC(yQ?sPf&C2 zQVI0Bx-J58JIU0}$-hF~yh`&CTdbvnf$cR}o3E2OYl@wO%f<$&?;$Oyvpi_RhgM^Af zued9Ef!-H@y!+a&@4Kyf&m!Q^??6Psw8NAmaqsA@<@H%y370*_Si+~Hjy|R}5{y9n zuCt_eMtb1Q#zsUqv1!YTU0kH`>qR32JIswCVv9*x8~Es?#kXpxuo_vW*6AQYm2t2Z z5U4VV5Vyl^x(&M~k+0W10ri}n+Y|(sh_NXEr-}}!yY}u$qg_}4*_nP`_c1iJ4$Iv064DRI44G%_$ z=cAcqR7()!8n?RO(*^0 zcmeFS$_u}^$CdiAZs@*7RfKCf!G7rL7!dWsri$yN&aVtd5m7 zKe4oXw$U8vUhKM{_x6&Z)zqi^=ay5m{4umsvbKAlWbLXRf83we2YkoV-0PyY{J>tB zCNG%GyKA;;kaZ%<13sSIEw+Y=Hdu7V70GX2O&!+#g(25N>JvRN8;iV0#%@RLsHvK; z(0i)>NOgH)azq)z#=%@u<9EUA^I1MdC~r*Jit8P$juuJA2M1n-VXqlDoDOYJX+6^( zX#?U{zt-zc2U3)clsT|O1&o<{l#)=E$->|}ti3-V()1=I;Ye=@@oxvt{}sU8?)UqL z&BugNh;z+;(v4CtR^nq&Q9#b0uQ#hgYAdy?u^ORE42Z>_PQdAWmt9I*CS@Aux^B~p zjgx&I&V^+3!G`~Nd4E8Omi29R)e-pis*KB z-V_c`SK{j)mn$WJm7jR;z!IXEvm56CCuxvcXag)zE}vDC6JCO8udGJ4 zhQaCn6O_=Kp$8cBV9Pc#K{~+aB{M$&VL+b00GYOIM{y~J%*Jx_T*Nd+nYnhcS z-6CSi2uH|_sd96wavFL(cl7U{`%D{|Yzzb>&KDbq<3(@|DR*X-%iAhQv9t=PW>~;- zL`csLh4o03Ek?q}GHG!|fwaqDJ(ueid`~hayNqyNkUAT4n*<1R9aR6HfZ9#45h2<-KAd=+uL+;|k1x`AV043cn{7@7wcup`6U&;q7u@ckXr-d|W7nVb{vhmsmu zS{ob6*Tdj>4C9wax*8WkFQwPyq?O8QWk5rJRU^^$nX*eD{lwHYA` zli4WH#_o*Zsxzi&^_Sxn!LM-oQ#wE55u=-Wzm5<30X0%@9luO;poi2b$5U#WI#y{z z8A3;W8zy4~*BSR9KAP1@|wHTfsIg){#1*dLa{TGO=Tl@*8m=t$mT!_pES=h>B-eE z5)NvU)692JJt6H3K#-m(WBeg?4?BjH5sypRk#rXOg)yI5oIAN;;^H$|^xl^GYthn! z*;~!H=MP}dnWbNFBE^;V78A#i22OBtPP}|ME18f8dI(M>TS`Z z>aR^H8_mL*fnG$-G8xqZ*UVRRg}d8JYwf5eO9C(^J|@}82re4+6I07bB036Lk!>!M zl?6<>9e-OBu=~S+XPL~&R9o*R*GckbP-51jCkDJ@^Z6Z8Guw!w4-f_P8q=zyy+GmR z`3E@OaE}IRE;aP_;MFiKkLNOW7a;2w9|W-d8m-jJQ#xC5B&s8hRxXHx3`F#%&ziBq zU~_m?jf1q93DTj#r6DXLJJA4)XC{`x`RntkXpXg`!uB)T4@7Fp^++mwvN#5Nx($sl zPIsLuU6dr_ezsX|BP)+Na0I4h%a9KyLqyVD-$ss#sSjvGb0k-sWh$*%hp&B=+4EwS zTD~Q6I1K|cT4BsNO7;%~G@=h_6ePTh>t%W!zkTglTO3D}uM9(**@0!3YmTE0*L27| zAWLU!oI`>^Q_onmLG@`!<2(NPwcPQvLv(Cha2BST2v?Ia<0?_KS zjm@87AQ=XHAsm3#uWtDC9nsz+l0qNMfTwcE;sv;iDrc8L{W#}R&rhDU;f$LIEWZVd z+r42`u_ArZ3hlAqmEk3+iYfuy)ydP#&X8hEn%UgvEw zF!j28lnUPg^&PeNjpC9zIyv4QKX??gMSE25;NsUfUAB{S4Lxl@B_mz$c|sEH%?4(` zR)2zOpT15%R&VaBs8!=-52SfFo-R4XCj0UsAF0qWVp=xZm=c8bG}Zi$=>E)@S;ql^ zc>Um+*|d(Vf|=-IM302=-|3QA-73~YgzGF{yH?eT<@jrhROe-V zMX}qKi4}*MG>Y)Xm@!-*AkRv*UchOS~60aP|RPv(uR zDUYeTi$CeI2|rP__t(4`(WV_E5k$$i-PReEVrjR53$u^q7&FBKN9jCit71B5^ahHr z<)uwiETzA-$k-=fzsL}^@5cZUfF806ewQDiw^>_fvoq)32acxzY&%Tv zIWehp%=>p#{Q)U!GeWb3!(@aO`WaSZtU8b&1=+1Zoo&jrCb58Iy<6F3+1A!KcwCF5 zhtf8TF#l{--V&Rk{}_f94~F~AkMO}@(UAw5?gkGM(Y@vdJa@AL}cDeRd`e=yM>R@$!pGGP=1G16?kD$V;` zP0)lH<%LDbqrK2Jj1SZ)vcsfer0rs=W1#yTQ|&ReWGxWt@EJwd7KMKI8fAqV70)Z{1UDDMOcBEI&p`%?SN%4XcQHU)_m~xZ*tgnoJKftqXS%y*Ces8~-vm2=1ms zHIteeD|eF>p{5>ax9@QJX};PZun=DCmoaV!~RN69xNXAV%pdcle`lv~V+tXZUN zcX#>hR^D};drNer&I2${%Q-x z%~~#SkCS;&m)kS3ow9z$$e z<$I8!36+zBjst42%k{WC+@YhhEI>tuC~sRTmiJw!BI?Tq5gNgX`2*loABc8%(-mLcwz!{p zK|aWVL2Ztu9s9c%xp&ZYdbyCM0O8y8phLn z(jq;uajpM4-&)EwAO8*K#0 z2!2w7n*)ogtF*w{JOpyvNW=*?Y|S@W{+?gg$Ls=RrV}o!_^gJ2{JY?_n@Qe|*=Bwh zSx`Lvt=)grai|%H!Q@;+pF8%udKtZN` z3Ui%;%kqUpgz%0?y3 z1qd<#BLgE#f5K+F6>L;8Q6fZ9G(Irx)U!OX<6Qoa62C>#zj=&warQG}8Nxf+J&ZS& znwTGs(@WH;IZU_lI-!?YV*PMX{f#TZOkd!9z7bFs12jOt?@o#XM!~7Nj^n(G^c*cC74+6Sf-eM0E!-3b|b!s%eH1ciDSJ1{(c zh%_&UXm3ZlF%~zl90mhI(q?nR^-|;!>3T}kAjOuje<%knCLMNdGTO2RFSBWX#i&pN zH-*3mseJ==dIQbZ?mQeRwbA?(`^vzv4A35HJ%b}~vibLoUT`u|T3^Ma6;SE{?JT(2 z9z36X}HFIY?Ss{C5s$9XNHc6d5xkvZkvCQ1l#wM`}2cTxi&o^9UE9B6e+ghen~_t$Y~ zaPy8NQZ##eZE5@P&$EZIExAr}GPl4FLwo48LroI4vAKIip;>u?W>mnkAKkd8HQSg- zxPQ-gQ0*Q|ntV(d2o&eCdP?3wg*eEig3B^R=A(g9%)Uq_y8FO3;fp!OP2aJc{Q>0< zE1WusZx$6Vvmh{1ESE33vbLx3p9VvW=6ZKi+KF;`{8x?_X z4_@^IfyVO3q)azdI=ySlFkS{e1WnF33~zX=7E?dhOh1aIitG4Et6JjQi7}eVWr8{} zkoOjjVbmnu3^eUr#zrzOSZD;lRoK~+2J7y#N7Q`dkN5Qs zRW$QZd!q&U7YEA3kp?|>j)wG#Y#_ENS*DU8UDX=+WGaZhb}s@`O4 zHGD^LYS^uK*fEy#w&5qP_R8{IQk(a7GiKau$@>RXWicQn>6)gX9a-vWw?Ckwz7~_Z z257b<1O0tR(<;|^A-Pe;Z03P*M*ItpYmeH(a}qeX=ajUP=lfOB-MV&zIOmW2yhrwH2J2X8pPHJkn~d~$x-)>-@(9s?_F~S ztH-d?%^$&^?e_IBFN#}hE{x*=y74`uL_Y3OOEVrYtVW{qf32elr$AIK6Yu`=@~CaS#)AD4>S*@igNwW9MUZ zoP;}^CCE*Vk*j^&dF6`m#I`|~Et84ePgt!u6GgGE6A45U>f|0X6)&GLp}wXuinfUU zMDg{ij#p&LwY=)JE0lh%#xIY1vHQfp70@qxnRE`oj<|kKbIHu|UAAdmf{x?5dj;XY zXkW*a`ckj<^QkMKo_@&DQ7=t)pc`wleWK_55wW8_3s;us^@`HnW$fg?Q%}_VOG#$S zJD^fA^($3eMVNBM?aHBGLK!n{U+7X$YmNMZSd3S2B-5SkvK^)0 ztv@gUKcLUqRCs0eQEWBW-5iHR#eMnG6i6>(OQdUjQW4v` zrw9_eiGz5Z{bRepys)(z?%d#cP;0U4A?=MrR5}%7Ik_0 z(juB>@|4Nf6oD~zH_VTr$FODMq<@E1`vIrC2I8B|sSo~dv}`6&3gMT^ z!!V0cL4uVxeP%Q#7AOpkMIy-`hI!t!*uKuRz0LO&S}$zjFK*zJ9+v}PzY~zE;%RE* zX{~`*W7^BZ&%ZAwG;XXZFzP$!RIwaw2wKk1fz80=rX6>eP_<^-BHX}wIU^1mj&pL$ zmIKHD$weMnXZGSH3Blu4vOrO_J5KCHsB7oy*ok;WlWSK=A{3dY9q6y!d>I+kJ_q__ zb?Z~_9W`b5ApD7@9i`e*_&Na{sIg(x=3?}*O+p(E0l$PGHme&okkihQ0wq2T)8~ex zxEQ3x<3egQwQNu~1hOD+UXQbORNEWdI@3D9ACIppj}!$YC%$cyRE}i9DEv8%yU$5C zB$*<4mC+)6hm>2F)R>IN|+U)b?-9Pr(F1siLnWqfsK!`;79_7qevoKSL+TaIhH92g|-t9fm( zfs{wUqtMKFAM*u+&M^I!S;tUS4yg zV4awz%T>obrnrjFe!=bQO;DfK=W?AkD+?}zG?OgjX>r4jPx62a>)3VeXX=WS+VwCY28L^RB+a%7Cu(QoBb}a}{R3?@P5_9IU#M0Hh z`EKPqs16Siv5|Uz*p$dp&oIuFo9R3T*-n6Kr{u&Vo@PnBA!^$pD;dF+H)+cjN~-|& zjGpkMQ;Qr_G>P%+-e-10sChk2WTlAN5lum-9bZvdGkTkFAru9})l$dRFmYc2U2Drm zqBMdcYw5bm(`K6SrE?aLrKv>2t`Gcn`Pknhj8pPh=Ka#VMP3E(6h8*%WB>fHTA6?6KzjC$9-F{grkr}35m<19~lgsL7H($K-*QFQ>ue(1kls);TL4wxNAykm80 zlf(Ga)t&`+LbSmHO134WX03la+4ukA&lO1@AMGb>vG_65wy{(h!QN_xlDbZhX=kC$ zK=G^3`buMZRyWuZWYh}g9UW(J8kXS+VA0rPg&YgKBl!@(c0R@PNgqnWac={ z0KP0=Yu;y5yB)@kb49*_YC^41(kMG`&Cc@qI$v<3~=kCCA)hr@uxS_eDsy z#nj(f?IKQ-Z@P$!@!*`=i+Sj3dRu&EtTT;#E<}jyUvR9^dK#-56yqkC%XeH`t2mAw zvln>W(b}|mVTlfD+CptK5D~Gf@zy-`*c&PV>o?)>5$f-V5NS?Zas3@rZ(t9t8@CA; zoFTvMBSN8U`^dGkK>H{3pT0iw}K;# zXK{P6Fz?$AhyS9vzvIJpf2C|4rQbikZ@FH$Pg(-_Q(chZJEqd=4$&A_<{Z8n$6;+5 zsHAqlT`3io>5+$h)n6n-9L@*57Y(napKSb1e#$XLQQOylwk0FI*C6gS?Swp)8M{;; zP8Tl$Sn1$h8pJYN;%xY(<8wcBB(FpI1@#4Ft-#u3<|JV!G|eNw^zTM1ntj@ru^|F( zKIE>ksE7Gx=Q<%bXN^?Ua-dGk&17q}?(v4#Z9(;@7=lo_I}K6--*xnKJ9P93ca1=b zQN2#pbUwr0a8J#4s!=@|EZOg9`r`VGQd(BE>w5bzwLwUNZ$Iwv?T~WqK=c5GXESu> zXPth?Mt)$PZ~$?VO@a_!{=x2ULA7IjzE44-7UFg?4*{q|zPhEV#=XN0V|G<w!J)k_sb#b zcmK)wqw$2Vj>afdrp$BJ8^>~f=!)a@4$m#v(*SA4!Dbs;KwI7UF=1X{^;UGRYMWj? zet5`NhdrG~Tcx`eh%i*ui5K+(S>Op<1ZTsEi$Guk#>g<5N7yOz!SNF2XyV29&+O!* z!Ts?mZ%$4ia|7cSZ^&5gr@JEHQ(x%=&4Q7fUC)6|FKhu^y^34yoo1z=`Ze2_i~vzA z1X#Hn>QheX?&I@10M`t=Y)2?HEU)yavM-}Pu~T7Ae7vy-6;z+fUiS>dtV2cp+Fa>o zhZ*hu=7lMi(+7&ipo5CV=@!UwAD}*LO0HKlO^c|FuCA>~fS%6&!@rTd5yyi4Z;>EznNOxU0rw>&e z3V~#T0dbxMx-gd7cVK;le#r(MA=t^hE#n3Se*9@B$%1CFB8DEB~x6n(-U7;{d>;Vh1}e$qgu;@M!RLAioHU~7CP zT?70(p#DHqP19xBqK51Y&UO;{MR7a3OscTe?le%V=+`Exd*ZKSwkYlByPY#tagK%&%IKEu^!B^jcD%a;PbXZJ;OktylB7ZbSEt##Gg+D6uD$X)yw#ML_KN=lN@sPN~s2IhF5eu-@B zE@IZ$Dz(Y=o07c(YPg;aIm8PSfv6-O44w!D44@zN(GSiZ+h)y30^4T9@GZ+$W|Rif z25=Hmob4@&NPqm_LDl}0D6QE*ZO>dIgPL@R*iJ5A^OyxQY+j!4|6qJH+s16X{il9B z1=M;Y2`iF)YmuCvL;XR004XOfxa?ie8x>QU)K5Got9&wQx>1o_H;od?ZC#8@rx7%+#yzGC5)+RKY z%omdYn1kpGv}dcP#n)%p_m7X{b55qgO;cfrsL2Sxwye@heaD2IP4=M$6E$^_CiG)# zd@^ucs5}hFw4nktL~a!F;e!tv6lM&gsEMn$I{XU0Dys0W!=jUZb?XmEXt7<(Jo_RCwhsGwT^8jlM0EG)zL)2-r4pF;>vFp=%-o}V*o zFJltV3Gn!2Znb3rd$V2fDRLN==VK|&9vY&S;r)Ih>nBPTHlz@XXeGWics(f{*1>lbWlGmvfa|IEO7hkv@HP0YWOA|x-S7Aypa!yh=%QvPe@ z2Q|&>4quV94?dBsp#w#ByD>SR9fHb3m;plK3sH%lM`by#+70~7an4Gg&4Mm9Z;c!k$A1pJO_>n}`M8krEQ z*)wXXn6`(ONR$SzbrCEPJ@^nl#{x!B%Tn&n`iPeaV{Zs5^MxE7pMv>7@ zgC)fU5GiFS#T;xM3`hx6m+#}j*lET1?xLkoTCz^@0HFEF3l(Gog3bOCaMHT z2US=u2YJY?0Bk~$(z}lWO4V96;drlqEMr0yAC4_KJ^I*$DKZvgNx@&(@`KivRNkENidZIO6;Am1jE<6|8jUtBQg}TGkJc2~AQG{|!wd;u=y|{bKDY)(6IIgEDOY_i| z_a{Uotx3xnCM3W6pe;pg^#1Fk)&%GY0hMQ8lz^k`beFx`B$qEH49D4)2Jt|ZNccM$ zCG#hs9+C1lUMfCr7IJVqY~UD28}aYtg~&C5aG8nBI0L5E(#kRoCWbjb;}8XO_A{i^ zy&u!|nf4K%k*AsErdmc$1~27Gln0(umx1P0hpeuy^mob;>rHu6;k4^5?`TG<*^hSY zp2wm+v>vDh-fNdb0T%=0Ch(5#!zd39w~wGd1E22NbjUQ-SI%4usvl@2YynY8)hw?~ z1|j}__2y3%_O*@oazJCVZcfe~1MdVi>Xpb$2x)D1hU_T8Yyj7Lv=DS#vkLFu?FW*; zV(ld1Bm_~@(rjEq#eYa%^7V}kOAw`>8mB%QBrJvRy10JNUfJO2uoBfO5V4swBq7Y$8>hyEOS6`LV6jaYVjogU+wh<$Rt#%RL1~9SFVP!>M+zImF zf-~QbhTij192!o%x9e>@13ag<9wpuhOt&b^*2fd)Bk*nf!eifxsNR{a#rq@~i)728 z8_Q&qjEFO{E!h@(RV3R|Uw3&es2&wl5HP1U0*!CAx}ZxGZqRPl(K*6Qxi{wYX7ePs1@`NkQnGMVn=lP@?x`$+yuhPa4Cj)h76-H{4 zLeZOwq(bU*;YMVPpKYk_T%@t_6-5sCbmw>NyO z!s?ac?Yw9ov$PbZ&xZWI7~reI|8N?!nnhbb<0}f)^np5^MY76of%NjQM0%E%Q8oNP ziO(~+s7yQ}{+hQ$(RJWD%$R8Fk~h@3r%$P*%H=F4G~MIIG06RQSWQ!5D@xKE#*$7z zhYVCM&v$4fPHxzL{I_7G+chqYF^C_^cm)pr6bOll7o=?9#6? z;@wcc75G*$BcZA`Y3NA8qberwy}{#Lp1*(UA-Kjx%^sbx5x*;bb_3FU9$E*C|3V4-9Av%km>L&mYpg{$o)acjGMUzJYS=a;6@Y@8 z!rno{x?3_-C4HLs#UD8Q<;|0}1=9~Th4c>bjoPp?V&t7$CU7+0G26Z&6UXteHPM!2 z{^G371mt^AYS^lSk2(BX{0^&+WW-ez(D%+P!hbmAr1GIhDfmn|D~0c6zyeht>nIu+ z_^c)gbz*1quAtOn>4%!(2Xy5z+XRRz)a!NonieMg084y&Ctsy9yefhD@mU+aU59hG z{w;G5^RE{ZiW=))djVUOurXyYm!ar5VEdfsYKkHFZWnibj)cuN_HGVgz1lwT+`$+g zCge`U^+%PXhtsz&jjYHZU}%t$50_%ACF<#GnS9o-b5;-J8<~KCO4YEySL+YsB46J; zDtkv-I!%t~&07N4IpS)s_~shEgQQiQ9KA`#?XoGp^G7{Tj{IBE~2smg8e6btkj zoAE|+)c0wER&k!8lbbqXoaeetY6>j!Xe5V-$XO){{7jJk;3Y0b2>K4H&&?WZamOv$ zj&b}L5p1l)*wqbBamEF>xC=5R_9gW0vmuJJEpxvC#L~d}$M)zBs->g-Kfca2O;cRQ z))UI$0UKYK|HQUl*`Q@UYX9idr>n9e6<}mt*2OY5z~rI}cC>92a?yZb+C}u#IHSO} zcNewTk({w&MdH)oW9&&$5ZB;Aj$FNU-*HVmSoPt@wFSiK!0J5Gv5%@%!>-^x_%O>m zzk-0ka6GaT7@H2CfP9UrhfKp+=b^TA?OGDb_@dWGkNH-Qx)7g7*F|3%zIEvm9U)et z7Sux<;KtEbKI2qwiQ%KZo-wr<(@58+SR#_GebIgDFzen59XPp~u_xJ% z4^N#D%U#p9{0|L8Jj?Iypu4O+`jRQ#oC}woVUZS?B_`G&Veerl^@ty@Se1L3t$_c` z=0MRA@2E!pZl1qkxQPlh>STxN{ZVG;W%5k_x<$=ePA_5NJa!+NsBxmxWaNr@$1_V3 zKf9okrND#vg_gPCD2IHR8rah>q?M=MP~eRrgCqF%2gCb^CaP>h-vOQT39)6g7Us$- z=|;H)c;bekcTe5rSl5gc-}eSRAMWEL*4Al^hDE0CfUu1tPKoos@cX|i=+!(>>gw{`=PHT2Vt z@wo|Y$j)3WL+`KAofr2O4*~dTM~Nyx8}_MQi?N2MZ+PjyxR4oFpRdl-Hzq$K{XxqF ztX~Rn{BNfMy@pE)fl)^}+fj!4=v8SB%Ac{Z}X=uNrt7ADDpF zuaDV=yRgiXwOnP_)WST& zy0AS~hpn@{Zb9(!k7*M*1^-)rb*}GF#@*3bE;6W$>b?NW1KN4_0PJUB1j+S4xmc~# ze8gU$yX;6>KVQ{}8i&%X^WmntG7o#lG_zy(xd`RxLbjJaH+?2?%kGy-by@HcmBqt7$# zvCQ#o{{)1fVq+Ostm+O*f>RYDnOmL8>GV%Q)%Sqgg;<}vx9vMn%;N;6D|{4c*-iK{yFFA4uYN#SGp4x@9{fd=cjGfdObcjz zxO*jr0lEP%_$|rk^ABLs*2OUwDAN5&KyTfYN%smS%_Z7(*bCZdZtQ86=Fl`auDBT2 z8)nk2Ai0K!;PV+K*qZhngROS>ZabYKE1R&R%>wI!UjxtNS66O^HRN3m=Pu%dD3~<7 z$k37wbT_ve+8;rfaR~@HHqFtns(phPi#+H~Y5AqZGvgUkql;A|4iXF1rMcDWHI=x| zajaVm6i~&rJ6A69ga&R_n_b63r~zzdLHK>Kj)3NS^UB(;vegi}=j8G(0`x!)YFm8H zDV|rW4QM=engzC}oMjs1Evr0)qfT5)>!0OLb?CEWEcmJBLJ+#F;h z`Nj`7yv%!nwBzvfQJ;A{eV(C;1cR{uw9YNtc|ci1=CuPKHCZc;6*7}N=go4^dk_0}!Q^~2wJpNSM`6Zb?LmET=v>*T6 zWM1eom7y6ri27T?QOFZiQD(^aOE>_Nb1*to?~nKoByF%EU;1*GMM;TuIp)1kgcQ! z7$aC*>^q*3I7{4ZL5aGFZT#tsTK^A6kY&lvxgC*s8BK97p9Skh&?!Ps{=-jufg*F1 zT}nQR3_y>}9a@a7t9$51sqNGH-<{_SYN%Z#CobY4)I{fX$o?*%dN3i_sYV@y70;#( zZ3Dfm&O<)ibLoORKMz3TXD+mu<|l78i2YIcqa5YC0G%dQwLJ~!KX=2t#1$bO@R3x7 z3_R5(!~Eow=Y2b$5tPOz4XHo=3`S-TT{EfB;xI zHW9NX8+?`=#Bt2?3})|Gc}i4?%}(>ZEA)9DXntYX12wCdB*wG2fL@6dEQ6FyRq!*~ z(TaL`$28y9<(dOsB?{aQ0ii&V4Lw0jrLH`f>Jssy*i_tFL9z||n53E>1?!X8c0zfZVbK7gdMDVdc^|T~)8# zP>nvcHNz7XB`Ou($-q<=8o^IQ^Dujsb~{onIAI}EWy^y4bSEhlQ$VcY5(Nr7)n$dF z|8*AKfj_h65K)c~gSZ*hIZ}`_7K{H1vojEl@|=Z=m>(4viBno`D-Jo0!v5Ip z2yC*I_ygpz{jPyLn0b+<S(SZ*0Z1h}a#ja<0ZSma8Eb2j{@+=|#Ku9oI3B)7LT){U3Qm)*hBkARw3H)}NlH zk-QYcjK#nqxCsY4{IXzXAoDIuZf~~xj^z>b_x3N_)%ILMY4@Wp{@+~nIN}D9CR5NW z$`JTjmqDk~M(q8?U-T2y$ku6O>#`uf{ti$9y7BtMa`2^4P}!PCxr{EGqTV^zWY|y* z0YEO6G4F`-I7j)ro_1%+BgFcw%@A9Jb7*g=TtYeAIVI#&IoFqBAO3*yZy!VtRF5t| zaU&qBtF0$I^NM_ioM1J@qqWrGm;eoudJka)cx17GMy8^YzUWgi?aja7L?f1Qhh$6J zFjZ6@+kQ(dgnCSsD6Z(#Me4}y-Vs2WysJKZ1gd`ieCH}M&uRh}j?c=PpvDk3Ib#ts z64iVI0|JS~{%s7^P$NTsHz=Kd*4P~3yI5T1L0DaG3MFeL4mdlBkn?*7H9omKMj>UD z?HyJ2qM|(x`BMsc&JIv41uuC*r_^l!rGDw&2%jI!vpb;q$yt>>;E9%VCYhzVN5tau zf{3U6zGo;IB}{~^la8qd*78uxqq4FC&J12%f|A3zYWu`qB-i&)RYzk7n(9w z`cY?8`s0+fQo*D^gtr?UL0uVh_b~;R(j=>b=ubSO25^T;H{j9NT$%q`33?CtXg?}s zH^K9w5}%6bvSwtn7Go%K-J(sFUGXJJ(GpK_}y!}Cb*i=Co1Cl15CdK^@Aq>v@hhxrkL_BZY zwSZgdQCGz!$PVEZlta7FUFA^t^Y6HZaYKU9m|S2g&`g<+Bq@2%N&@>Qkv17=tABE% zY{P6c%n7&)_5g`u=Fk}9BW?JR4oIA%-vXi?ZdCZH_BB+f?Bz(MQN;Sy1SwaA$frAN)OPd5<*Gr4jji#Lp*zI()A#Fhe!**<;p1aXaw0wUM1p%Oc zCUIgKraJZ`?8jM5K(N#8Vc>ur_?`iX80aU>>(u3FW6MsDF!O?dNWOWv@gd0p6T;kl z2Q>#u?#}pL&UneIV?Wnneri{DwA%#|*I*}#I1kGi0GUs9N^>DY;dd-)zBZD#8=Ob~ z&g96N2$@sir~nu=uF-b-4{wj)-9WgAG?wRX9KoNhvRl%kzVvHJfEFtjG4p6&^Jph& zArU>aGq4(bLYz{OJg-jFHIE8qUkxr0J&D<~k4mJ>e}^-T;`@ilh2SZX7Oq5nF6) z5J7$Z94b1C)A>7=K99DKOz;;}QJaj--{OyF9U6dG6)5ITTn3T6s%>BB>5KxOb{E-; zH}Cq6WmN=f`e_uwadEhA7V~h4BznG z`Y-bCjB8%E#aEE{9>n+{qaJoDxs3G@`?4oRS>A4F1st(e$DLJF_%Oh5WdFZj)={BG zVm~g=t#PrG%|YyX|5YmWCYu)~NauEHOMv=)=~n(fdWIRHULhv365CYoDw8_)e0*q@ zj-bxj1USvHxdfU5Iw9Vkr~0m(1B#+P(C%H+biZ!j$F@sf@Yl(z3xn6Sq9ql)R9sVD0?IF{SF)Cb z?GhVnvbGhrrzi^|O}2fw+uZ?;DNY4E0yqui+g^jn9Ip^Ja)bvNYM9};`2Qz$f3 z2=q@k%Nfdy#IrUUc!!EEpr;`17gd|3ou+is4Z5$%Z!(2~8UwLs5~-OlV@R`lA%r)3%Y7ImW5t_%vI6h4mXW|aGfmimlq z&T^ZhNNAU3ik7%JRPEVe@J(#g&=XsL3sn#PEV0T@e|fKRESU3^J(gEbs1LX%fk$iLvv;i$9zKv|Isuu^j{4 zzdagI$j%7XnJLMld&!w&u@D*!(Bc;>3JJ&FM!wTyv#fo&Vcr!p5L7)dQL(2!<}N3& zONNm4F^xX*`sccLc1_3ag9Zf>wNGiqpDCLNMI5e-dJ0qY9o99&YF};~l^x6x$Hobd z_LFju*Zthy)%Nbw;s+Xq&A@Z_JB3CDAFn{{e?}nWYx{s?K2uyp*HUw=-ob73CZILX zcGfLDk{F0b_=;PkQP8E`1#-+-0PEskFS!}hog{rkf)HS=L>d0U%Tn(*c9cM#RGjau zr)=7bZ;ezv$4>FFxLy=A-Kr??y@Q&#o56Kt?+|xK-qX5~9^OmZYC1Z-U!ol1(`}W& zM(0=)J-U)APX80o$VQ#4jR`6jVY#KS#~yXDEGgiQ>>S*>vCIS7x!Cc5IX)KNpN~iu z7fyT+)Vk^&*1UG1JW@J50A`m{zeEh%txDqD*26XI#XlN6LnsAH~kJt-Cm|4$ZK%gQ)tDQaH?5TSPtHT|nmd5fRSB(f7)j?=2;A4wVgN$I}<~ zbfwkfvD-L#i#0$TUitLc(^=`UU)SnKd*D)XNLqQvG+H7!j-b+o!N{T*-G#_z)oWM* z$5xkSkXFM@NJF*QDj}$?Lfd6K@@oQihcdq>-#}uhAo!4iG;DuN;C&f&Z2=Eq`o! zwXmfoI7((C?~sOyfL&CiXVBTKH|AG)xzK1=K-K+mk|eenOj1i@Ms9iP*tqG;ZN9Cr6py?Pwid_?(!5_S$uru-I(`eYAC8CM7o$fBt#Y0W4|HZlcqJ{?V(sK=I=n=;~4kZWy#teFwMjT zKzjg3K(e6W@Z4bkGK~G2A5~Ni^>K(iNyj6|j{W_cBWr##Ue=47Hp>#7!_~*Z`Uz`R zXV4tsXbWhB1%xgg5&YlPK^n6KEj#ev2>?An!oLO$F1LXdaSNwkCxAPMd2aeYD8sFl zJqWkFGsKdf0+8wOrmByYeKx!_Zk66X){U5YK7R&o;UZY-9*0NzFddyS4b9o)EJqhw z*WI3L^tG&7UErY#4THc(DmV-orePtpWj)F#6!1W96in3iu%CGcHJmlGvm6nJ>EiMI z#~c?qG}$j!zMW^2f4G3OKvVF+P^$n>)=oN{l{8$c|M=MLO^#SBPxIl}gS2jIfH|&l zeyxZT1|gTpwMuol$wR5fGDzEji;Ky_f$WC$Au;Z7qZ>O*{l-E3#Ma7)&Gnwpfqd>C z2IdRTuiz@A?g)i5s3hjiW`r3fk$qJ$yZAg}rs9S#;V1fs z0@S98w47)XSIlYPnQzy}c)(5iTphOA^p|uzk0+$c!@ijjj}%K z?)@hW*25{P_wfdn-*BM#;v9^i=3662LwAj#M1~}$=EvX>7luv+n34oU?Dhm|T}UU9 zH+BAU1FVZhQTt=$r92r<4*RY9tQFT- zm7D4v*5HNaVSzu&;aOiOhXvqF3|zmcPEdV2{xZE-W!^dxtYL zc{8NPNpJ`4}5U zbSFiY4<7H8RhSt(2)N!wIk<8+H?d;$C8uc>f(~WKO_AusP5D%u9al?UH0|Dj%@pAFx+_M{@gckYHdo+7 z&;^jZSCO+nf_B@G)l&hz#Qt6;gRal_HBuX~%=6v9Hs}tPI+$sk&vFW4x)=@tA!ZJG z++8X|5!AzDByu`-;l6t^kWV`dfjfMMG-fo}8Ib(=SaKskg$kF-FJxD>)GX>*Tecz& z3Rd582o0NXeyf{L*Z+E51EZD)_whUy$pXaPSstiqZ^o8T#DJ(s>gv1Oa8@`}Gr~{P z7DYn`T)12`cSsgT8GaWTRCUsV z45Qv54DOSCL=ZZOJ=EDi^sKaHu%-))9xzD8MtCwFKszy=7ke^1cU8~JyQ|c`MKV03 z(c)*PJ%UMAi(wF|X^XMdIK6ICs^%!*LCS)y2k+FE0*)#hv}8DH6h}aR142Er`K-Lk zW`4H6v3zAw30DDBxHy+`xmZVdmi|slyIskxKDvP~VM*?KY@9&U?Sa^2wBOlt+CA$S! zmm9QT=q6kmP)|q6;V*+?nMhGF-C3mh@LKz#gN!)l2M>^sv!D$-tTLH|Ik{O15Hvy9 zsNOT_e=a53lmk$(ToO6AT$q%cxqQ(cJ)SmG;x$zxMbw`o-44b4T8g%!psgN_FgC?C zLGP>IQZ+=_{_I>~VEU_~*%KWKEOcN8V^oXAm+ zSlvj{RvpK_VO%2LfO(H-pf9ugGlJq5CQEi_)}+cIl+^*xw~Ln{WeACY=~r7BQbPP| z#8S2oi9nBIh(P2_s;(|mDMuRZjKf}knzjt!29U0ej-8E|Jv!0;a)~m14tk&OQmHC`l zF=Fu|zq4~(V=T;eQvo;Bjav{1x|0wh@nNb98N=H|H?RCC$%vrNZq- zK}9F<4}ydJKv{~~nPyVbpF$RfgUI8!f{h^m>^NUr|8R#LA&u8GEgBJrjZ0@N7O^c0 zStroV3XjCt4hE>mrhm1ym3MRG>^v)SW(i~xT^8|n+$sf{NL^(Wip?1Ueg zMOAhULK3fsJIY3@)<=<%gCWl((Q&EI9?-vKON>eUR!0@7Zf zQ4e-ic5sDIoUy(GE){}0kR%l!iFE8HS^XW6;I)IX;;|7?@ zEL1cP#u`@#4XjFKELc$a__^>socX#uU$2f2NQ%%ZtDkjEj-iZyP#heuGMT=OS(^sW z*=MkJ0dIaej^81Tlnt@bax7>LvDMA&5A7R&cHUSqy3~8Wzv6$chW`ksLrfPDVV{5i z`;jL|e6Ui3Hu8>XzBJM`a{tmA4)-_FRfRsLm=RZ2jn>vTjE_^3D@BAqbXgVfH3|$s z=IjGTBXgI&%s%jrN@{|eXhKve0DCXO+#d@t`_s;>o21AcyV#KDt5|TWul+lo*#J42 z5j0A04*rhn`b>LZr~Z&Tp~jV&!Fe*VjoBMw5X<2IkC7`|$41 zk#R5WEDoQ#Fhh!cKBR)}tH_8r)8_cx#Z-5<8TY<(7%OWVnOEA;#ogOlfS4?-i(NLAo1ezxP8S4`rff38laya$X-1{Ar>q&jawv~Xzr z*HqYpn3WJ*Mz4fIl$hC&)esLFgiMWaiM&sKL3>}S%XYejbBKB3*Cs>a%uu*|`8Ieo z^NDz-rc7Uq2^wv3Qbo@{w$GcO1vt=UORJa|Z9`}*bO4G1aIo`?14#bx*S&)p$$Bst z-HBszlN(ybzZ>yXD|mY270$ft)gygxG3MPL6fN;4T0 zn+nXaBI@=WYYcbX^BV?KBx!^$&mdfrq*g$B=c@bTq2vBrL3k%U<1OZk;duM@XJG)ojuIO)O8}z5|T_;z15uY81}(*^hFn9 z?Wy05h3=op1rGxWIvqW5tRG+5HodKOwFhqixldt#jx#N3 zz^$A`jN%>BoP0o7WO5Vvi&NEA4H{DJZ3MSn9jm&J&^dABET*Z0%9+JnrCkBb-60s*LnM=SE(KM{?))cJ}& zHdc)Efu2S$t1<@(M}gYb86wZ3$R)6HVkkjpcy9L*=yU#2w@+908P_bR2W63AoJ<+H z8Mi1WDgzNa-Z8E#utiE0d0^KZ5H&S4AM2*$JpY(~$}*3ok6WyHl6Egwl>`9;aKh8R z^Cz~^n>kw%xT5HvX4hsF zQv$XN{gF?Au^`fr4U(JcNx3ajgu;a)x+d>9CfWj)A`96?HP(JXut1OJGk#~-FKCaC zWLg8>-)@m`AKX0mLc!81_Q~wU(GdCCC=gE>l5W{KiY=WFa(U#9g-DVw*Vhq|#IYJz z6$mEOi1P{<1Iy=4wdn0oGvzzK+-!VOJOnRB2UuL-<2lfvp$^dlAq6j+ar^Cqd3!Pg zy~`c@H5hlsh2k6WZ{Z!nxG`vu6RDNUX-Q}@0WZW5f$0Udf<+lRyzPbrGsZ*6av?0$ z-SJi-!u)S^;za;OW=2)>AFa)WXcBnr-4_jF83?2e590~w`$c6`<`eE zEQ28{8FL1Eykvkcin|9huX;F&M|VV1R56ILoT$Oi8j2H*YE(>9``B1VrC}fDA$5+= z6SQ%px8AWr|CqjdJmUg$dLjhKC>QJ}Fsq0GF{rWSB4Kz}u;z}@9313R3{y}i%?mr} zk2M^Fm@k3y5z)xeeTZH6O@6-pwwP+mCW;|mSvkI5T#6BD^9yJfC==Rv!sl|W>)$wr zBSD6fh`A{ydIF|CNzXMb*|=6w6FcnxevIo;WvIJiK_E(Aq8xGH!HW`ZfCeE?^l!_U z5!X1*PD9jJZ*H2=fa{xx1yqr$V9!F)`F|6W!}` z7aSZrHLE2;fWV$jb~R}o7TvkQp7xHbB>o2ZA==JWBSjCH$|&X-(xw1IBi z5aeCwJn6RH2`*RgGC9IfyPs7(lz?v^CXZ!E4`fJ*bMIw2xZDFe_E03?IY;$Vi-;p0 zJVSuspIf5ss181l3j`IF#|<>FbcSi8ETcM2gXOEcg6cnU%{N9`W}GH#h78iD>Cmns zb*jRYj6oJbA=kHFm27tK!}l<{xY_(q4#eJP@WwO01O;0@)utJksXfD3_WpBR)UNUj zQ;c{~WJj8{$N-^$6p@lSgC5?$OCJwvron5Pb149c8v}cEonU0-Jd3U~{6y=l&*}LK zH?ULE>K@-tHYkk$DD8=BVwSI=`q7kI;8UH&u&L$&Pu8LMOB%A_A-dlH4}ecg(SeEP z_igIIj5Bn(x;5*yd|mDK=?3*-ZR;cPXh$3U0L!ySlwgjHwgPPNV9p!l;YV(o|IWcx zVziESmU_tk#+FA91Tzt3cAW+cRVI~Qyj(!!o`&JJse8G`^0EpmX!vZ%@ZXxbGnir$ z3QG3- zb)0P{B_hkE=iz9Mxz}7j(sf^WfEe6v%SOh@0XlTyW=C)#MynJbefdbc$U?-#!?kvm z0)@+8YWo8nBb6g@COduadDTS;O712%8&{=W5Dy8n|Hd@WlCu-@;x*#i!^Nl2Jqc7Z zk;TUXrnCkTld&M;Bp=huTAXEf{TK>)G=p|)Rg0C=^xC`1@<0MhMg95``xyMApQ#X{ zi_mT#Acv)HOwLY0df>scsccvVY-vZMeeGP_J7PA9*8qPsx_dzz!!(8)Dl)s4Cuqvm zpy+f_-=6Xs++P8xlt1~vBQSq`=b$UHY>xZF`o)t4N^lQrx`u?(v(%wq z6-Oy%AW4@OzI1`07#uZBBevsHh{z*4W<-a}F+g~}lrQVD9#*l`i8AT`u5&PDt~{pk zlpgRrR8#4MVj%_{oOI^v&-4b^lRfkAwh@l$KHNsneR5!8gXcaDRp8XUFRmVFP;Spd zY)E6oL9thu7P;~cBlY{~5Jj0!C;u#7DiiQ>gu$@;d7OLfny%t%3^M0&0bFf&9RR0n z5W9LWoV7pu507X_CY<|7-tc^dpy-?1YcV#@P)8O#EBMpJSBj#yEP!54_O2ejz&;L0 zgZV=piMZw`cMjqrg^uc)+JQ`V&FRR|?V)AOQc!DDqh&hBbJMCD0gpJ=*r4oR;&C3% z5Jx=WE!wy6QrmZ*B8bU%Md1XH4Q)3p*~aOxvkxTnIt8HNS_@Pc?Lnzx7o4nI39-w{ zIJvav2Jb(?)p@pE*}5;v#W}e?aZLNY^iEm$f{6L36jRF*i@bkVQpEUy5vY#4d({x#J-C=4fb&n**6oPd!bZSQ_zf%{MW5Q zM0tL6*BtYSY8Ol9t7;2Bp{RPPFubmdi^eDpw1#)$ zw9_uNzo;eu?NRyIHJjL*#(j35vLWlaGWy{SDhHdmUn89s?R zEGgT%hoztJqI=?Hhr7X7A|j3TT)Wk*UmMs)9x&iSq;TT#)QX}Ad~{G%&!(&a$}gfOsrVSDP$ zi;`e~Cw^c1L^6`};WHAT5?W{g^|4E;27G$XNaAnDR>+>49fi4K<0Q95U4ZkkX`PUp zuVeZr=3)djF4^OnzKc!N-{~ZQE31kui*pAF$rc1m*(Nh=SHhRU(qDHRO;fFDEEoPm z%d*=G$b-3bPQ%7?buu4d5G~qW=0;5r;CYIaS%Wcb4^Oz5AnZ0Bl(C5{LPSa6Zoz%D>*Bgq6kG(&l1?6%jFlPeHAJG|%nrwDIT&Cd676>ob}WO-1Ip~z zLe1kEl9s1?H-Z=l@fSN_s2&QMy@GmCgL4O{cVW))kl9%Uus=~W3vdsd(f^5NBqA7$ zZcl%z-+U{>4g1-F{j>aP?YnL_Fw5qj$jAyhI9jHGW-31N5DiJ@@b-6oQoKE`u?9Vz z##k{~(4hjF?OnB4{utiH#MxfUvE1?YH=$4^>g)|B`z4!%KfC_O4xc=DLON%)?P=Mk zV`{jb5ndIo)M^i5{iX`bFBP<<6nP`Lyp>#(E?oiPtLOHRMmYk55iNGD|FL?(^y!#h zu?e?xAM0A1KO8Fne=xsEs@i(;r6zUmLXToOb1nj5N$puy{KPdI+%yN>@)5Zv?yjuO ziocLtmDLRo0^)$aBWjUhaqXI}vVC#F`6q?QgGn!vS;ChYw7sPZim^D%I}^1<+uVO*8(9E8lf5`XI50$QJ8^sVrUu*!SJTzl86A0L?9D^Acr3ZqK;fhB1HeT(_?~ z%>x8xcm1|&k0v{-nm_5!iTXt8yRqc^Iy%sHmT@AJUzV^g5=<%o}uU?Ve!5zcLNMGz(IIC{U8$8Wqt{lZgN+~Hhuu&b4m)z}mWg6iVZ+wP7Qb)Qup z>m5^_r^xGW-_^==ySgpODFY%Z5_+X1u%;8*yN*pc++#xEM++ZT#REd{*i?4tC#G?m zoP#XGAi3ztE^d7x#6=vPU#P04K~w^qNmG z{erkfp2A^j-VNu!>avOrY8C)z&`$XKRFOnHcW(q*x-Dbu8Ycxd{_B+z91VTj`?`ao%33vsA!&hY z({!7mIkwg04jpO*p|aLM6)bcDtl&oRZm|qy@+AYycVKgjG`Nj?tEx+Enap*Gg`fjq zd=qn8ddihO+(@6LDb4M`HAb}4(NbcAN`~$0a`(_q;IHP+zJ%PJJgh2jaAIPh;qzu$le*McW zovoCc6UY89`@r#%29Dx?2|0JKt=9j8UJFFS?Z(y6#j z`$3Q57`r!Z2P}u9X{E(ES@_#M-4W|Up6?vyjnJvJ*vJTJUs9c7D06IbIa8sy-tObv z2oJogJk)V`eJ)cXywEnmL%d@;XH18OkFvAC5Dpj5uvhWqgnta_tQ^FZ%?S}!r&NR) zk_g|QZX#=?_Var1$pRvx-PDB$<#|i&yozr^oA*oc4do*417X*`D=|Q;fT2{>rvk01 z+FEvYgQ1ZFnYYCex4-nuorpln91cQwMCc`CTI;pg`y{H#V*xENv$Vr6{N-F+s3;(~ z#bxzm2%5?+0tss(1bpy4$g&)mE8(2=ql%syObWyKBjY(i)?7K zUJElF0om(&3g=B4_KeiAg3_nTcxkDxKhCn-`_Y2=0SL6 z6gJ)kialWO%16lrIOp+f%ThbD#9A;c?v#G-&#T)-%cyi%$~?px99N=ZLp^1a$X;>e zIl6)Nm=E_miwERlE;!`LBZFZz-{{4niD(`aS@z%i5R$CBTijGLKiDX==P!Tj8PI*O zJ#C+ESR-#;;pmo3EV{$p+2x!5Af- z|Cn=B+oRlNZiNQ>vQJE44BCym8!dQP|(-(!#!-lXtpFH}543kpWT*;L^5D2mFWwFIpz z{6`9tyf|pPiR%6y3eJ#**2xJQ5-(s}JEb<`_pv%cy$-uWLafJ|cNpW7j2E%=N9-#v zWUr?e9ZMaTL6SBIxY7!kdxtjPpXctR+15qEx=LoO_KUW+OfD|XZyW6`c9lKdg`=M*js0KyyYz_@% zFCrlOe_Z8@O#znZWlv8r!U;zvG6YxE=ZJ(9;zhRt?XLjwer#j6r~@Gn&lwh(+2^Bj%B8hb9~-ZAuGZ7#OA3yP=%n%v|J07V@QlY27*pOPr7*_R?h0 zeDHo!LFUZ`14V)o$l9U1dbZ|U`$Z=BSLI~8_#K&R!Q}{`+7dE1*H8% zo6>Gc{L$|eMLyg&kz{r6-QQL23}r3{S|9MQrep*ssMyKArzU;K`QgkHYO`)C8A{<^ znV^;3#A>^swvwBHJQJP>Uy@;9zSRB)u&kXYj3KlPNY~vkMpUaG!@x=TA};(WA9 z7=oplu$?wZolx2(`qq1Uqs0=W$du&bc6YIqr6|sjWMi-4UOBPJp?ukYeK$uucRT5< zNfc9*_2^@g!}>R!!NEjJx&vhjcqvc#?6^FuCS-HD*c$66&d0v}GT-i?##F+&lbAzX z;-ra52jZ~WV=~D>2v>Y1Q(l0676Pl=We0!I6sX`a$^QcyG=rKqNuO|Tq{(jU-P6l$ zYS3pr^$&Ya`y!+ybE^XT!bHdC#MHSZkmO#FT>r52gtf+BsU@A+Bu?w>&m0NmLpF|;^xygV+Ixe^ufuy!x<$2E3S;+`%~M~ zKU?p5$f^>qffkKe0|l)tyYfL7(E&im+mq3)t^%JDv!-__Wu_!g*i0403CxeTtd3DV zuh{5H5tOuHTgQ!39`h%c{{9JK@bAvcQ}vE8mE4`+LLvX&lg86htV?|DqBnoww6n|d zh*7+Kn%2wRQkDn%)pf03TJaj-naD4Z<=t}6NJx+-k1Cn4fabRTDX5s1uVLtff!B%hjwA@uby=v^ zG>>)R4ZOpeFKtxW`!cb~_;KlojLoF)yq^03=7iEJ8wze>Nk_6~s`Ye@U^>5x{t?am z#F%Q^*Lb0Rb{8`LsLrinv;S}o75-&c^d}|HdXA|!N`YC1R5(*stV-K#U+p~M4r+B~ z2&pmsvwC!YR?t78&D;oi5>}kDSe$mah|AaAo1uWaRoIJ7CE&Z;7tPr=xl_P}9fpgD z@V{f3HTKm<6MPkw38Br&iU3J4Pz5%9I4kJV6=O!rLYWDWikE2))$Fex(u`-KZk#g7 zx<4-{{^DTvW#o{nE8U8O1ErV>cfy>%5ZOD$Ul9|VWwwotaQiUCn{kaTTXDvuqx+ST znX$Uf%e)5VZ*@Oqx=5cJGO#{?RGVc^IG0b{@z@62FZY9WX|5eQV0Q(|BvuP)aTs;_ zYU(l*!y_kCq0Qn0V2P!Q5+-pRD{C+x@3F(Jl}l6e+(yBkKAi6Fn643&*V%nx8Cu?Q z59BbewPvL2D9Ck%6~x@y5Ks__KTJDB|CK@>-NLW3h#xn!sS7+h-xI5>&;WWpPK*E8 zuTxfs`wlp^3Ml?L@wxhBFW{_PcGj~+J(pcswtP|DW=wg6dnlCt zWmiUBG_+4wXx0PX7^lZJ1@!W^fSO=D{NlLph~`uBVw**Y44~Z%ZSk{UCuxUU{2$qV zZAvKfwbv<{GiEXlVRk8M={jjWEyNZkF@nPq0dn)Ii+2VM+-E2uJcQfc;2 zw|igXXGowVpy|ZD6|d`>z`Wi zGpaGpF3y*PWV;v%;S_04X-`uz+|no-sh9;0YfdC~s{38ZeU^tbkacx)L;x_ZbDgPt zBT9;vPt$!R{6;qJIQM&Gz#!(l88m0`6Byy^X4XkLifx0dxM|L?MjPlv;3U|%ZeK+1 z8O&h2lp_!9fPGgYd4LX-UFZQh7`gjcoE7lak++!$ z6BnWm>IE8!c*OrXuehuI$lvLcv@5_qLuzgD_i89?s|XYWgfIQA8PUKg7N<;NywDf_ zFxZRM)Tu2VKVLfoV4$$y1Gfmwb5kJ)|H5QE-u;))pWXIYN{^Tv(T$yy`V_FO5j9ID zS@4xHw{Am)6EGmu8jzagZm`oo| zc9m<|tgnK=&GWu`H;-xzB#RR#`TN?j$p5(v?x_+ytlAaeXFn{h{U(dc^`u+g?s9oh zlmPAcmAslk&2rnxlZc2kQRn8KI9dDM`Su@`wf!G4N&4rKMy%5#tpeD+fDXiJ?cjV~ zSxxhB&;akze;sP>(8iH+{vzS_&`T^ zNM#_daENusF42&wI2vUq1E^T=n%IK&h>>v=>q^faW~B$C7XvdptfXRxTP<*c^_7D1x=?h zXkx$&6kB&t@554wJDE?^4uQN*l-jLE+QsR%UM~UecVvS!QJgdBjbgN7*?kTp$Jq}? z<|U55RolQ-?hnZdCA6f}*_1ho=yc+!{T~3p5zNR)5GUcO+ovG!2?t`IfIl-3oVtXl zL#MX|NB{tNU+6-~6>XlP@^p9j4-20e&G^)uEr}X{I(8fbTdf98V5Z9gAG70)!JsY& zPnWJ2W!t|-&8~|D%nFj$C_iD1OLlN3>0QMC`gC}X_|%-d!&6BKF2nOwBORWs3U?k} z+)00m{Gd9=y~AnazReCH+4*)Ear<6lSgYr@V(cx&*fX-Xc~0n$9qvYfuDftPCo5=! zR6^fIHqN1u&+OEaL7Re_>zu?{4}G2|5;u28c;ysqh6E~Q@1;2bE`B&pW>rl5DBSFu z>(NP4sKt)fnUg=0B;pv?fA&JV(4LClZrj~Cvv#Sq?dP1zBef2{%Gn4Ny9r8BNMvUSR&`}N6wG#3~4SCf%?f_+Wm6jkg3S_#8eM&lqNQWA$t_s8lT zSkESexpz==ZhLy>W_ZL&x%cW|IN`|Lh&{>+uUQkQ^IS9wG)x6NbS+ln-h9m%QMTF`n zl#!DlPr4ss(IJU5c@)5(YF#Ga2L>ZoRy&34E}Ej#I1HNQ);y2=9|(yQo;t;;lWE8# zM2bB?&tKs(3uV!=k~Z=jai>gZKUrMLTcAwMy-8F~$5LAQkNWMg)+x@LbjiepHaV=8 z9)xQ3D3feQ?KeLuUIV-3YGC0dI}SL~)1u*xzUCG*S_ugO8G9xpCdZOA)axJ3zr&T~ zF%?LYzU&xmAenZj%_SA&;TKemgmK_zAwp9OfmUI51{hb5r2Fq!Bg<*NL#8EE`)VZs zL(T5a$axjbc3JIh69o78mJdtDiq-MQ`Blh~S*p5<^ zpUe39q?*2#rKBD6oxp?v!$4Xz;N5ReHEG|G%`0zMMOKU@#I%&rlB=C2;Rjb3`B6{v zD{nHnx26_ng0BASyuny*O?XLkR_~C;?NU6EquIE)kX>E|l`uM`aqL&d(SAY%EnOd| zllO3FL3XOj7z6nmoROjdMzz`gRgKT@9oI1WEKZwzj|34u2#5&KAE?HG2TZ;k3G!0& z4^i4tU?%6{-30D52s5u(2BfsWoP^b@Dr2zg_r&@l-}D<6bcg6gABmzMiw{AD35-2M zq;b3>pDN~LjG}|(pMXZG;><~uKo@b514c?JFhrgV=>U&gL}@mes6LnFJo^dnI`0Oc z94l(PrB?|m4eTVVjkakTMsmNaxi1^`yHl*}7%T=)YtuRSsWb; zjQJS_$$7n};sJd#yAat=Xi}{ToYZgayVAgiaZ^I-PfYXGc?t&)tcCZ` zK(gl>=%QP$PXyF5_8Sip$dC8wETkyv8&>AAIsuil@cdsK#=E4JsGI|##JT{wvNN?0-{|RjX^NMpQf7Bfq zNOrlEtw=!mOpQYd>wsIG2bjUGvQvi}jkM@7{aTF5`4!AK;SeaXL=j;iL{rm=lER%- z;8G)t96Up&;+V3FJ$JtwTGn7xOEw*&R5Avij6Q{UjkQSm`EfqRQ@X zv5GHzQr987R-E0`dy8XU04sz8#CUkm34BL2T!>4Zm3Vr&)RMChqEIbhzUm@d0H@=K z&$#`VYbp3p#bMT>qESFM;}5)pny=6jI3PPUInJQ9B{x`Xg`f1yOq_-z2sqylM2neW zT|A*fi`-Ocse=yfvaYS!-G-iO z<@C+mJzjjp(`S;re5dYIRZ(?d!(10zc%GI50mVV89*M?}K=;5ckL(dS`rpV^3L2EU{@VbU2r z?GjMuu*iXa5-Xjmd z@?3o>G@DCpTO|}-??ziBKh3jDLBdzo_3tR=D$t3N?h>jj14I=tuF-^;q4e3cFJ2n} z^fz5lK$!RAEek^avuHFghCEOE@QSI;m^?>=lU7^{^Qa_nOQ3+x%?WM-)KFE+Y_9rt z%AkAKs)gEfdm?=YbAMPq<-RsmB56*uwrHAt7(t(M7Y_Ra_CvTnG4n+%@f5ly8&zP# z_a}cje`~w_Vk*{DN4WL9W171_XGr4E`?!@+W-E;y4QWx1tXK>Rrmi6z8M2PZl6dmG zlUa9vi~ysqVcf+c>`1m7?GVfdCYtuC267z{PIz$QIhcK1rL+Fw(VU3oe%R4H`&n>Q7wG^7oBC0vW~O zU`5t52*??DtrZ>87*=N+D+j3H4!aBhEy%RBmBtR9O$CL#mKK`aJEl2R>plp9@s#)D z5&fem7B?93s;ZT8ikWN$!4K$&{e?yLY{%igeqFYX?)_%z>e+KGQCX{Bj~SJ#N1Y4a zGK0IbZecZGKgDFA0-+UOORKr@5{h*+y&^sNeLql<*?axWheR`{{xBnf@U};sg}?rC zp;WPOgvP;LTY|$14j6rW8AN0p>7O%RPv5h|kw!S=YyRl*%mJh`BM(+%s&9S3B1uK= zf2ecIVZZ$p&rP?;hz^q<*`$24brgBa;ML(ynpr7ni-4rndW zMu0eNtA@N=ZOl_!HRU3OWpHNW@x=J?dQL1@NeyF8mhL# z;>MnAxBxK!-uW*kNs(&9orq<&3sV-1lMq9HA{%#EcNLPpNVdA^uX=4;@56TFQATsC z_9(K!vTQ2Rz&z<0ZGj8hRC4|m$Q<^&LnitKSdcxPPjBF~gfd_U8{LLeWW^39wM`{t zGbCj(dO)We==Gzai1XpXW_ZOk)3x&=dARENg#Zz|8{M-5a$8AcNXnLFC~{)@qaW>G zV_zht^@$T!~bH=0mC|*t?;asA#6< z`qlXsGW42`tHn;p4XizR=NOQtn0fMbr5$?1Es6J!IVoat;oZmi&uHY&N&od5+KkQp zB^`uu^LU(3e1)JTX0y+xt};oiVr+c~{GE@o3EGmy;ub@bcL@DO-OTzm71q@E zf6%(iU+KmXfge$H?Jj+Fe)NnU%r$~Jn6uD+r#*!UIeE@H-xg>;rV?5P6#H(s&wG`C z&iRCVQs?*}VXlD%u~#g5C^b9yxXN_^IbEr~r}LFUo&ot%QH$dB=g+;+h^LKs$kc!o zFFTgA6z$X1CX7(|Qvi-H`(mtKnkrr}1(6n?-|q$WxP%CLccs$nDvum73e#xXS>hHo zgI8d6zPUEKM`gh>1hW?zQ)~L%1xn!LgMG0brk%T=(%}ZwqLSVHAj3`1;1ML)M^y^?lx=*-JeOxNqPElY@ zs&5ITPO_s7dQKRcmh50=Nq5V^#`LoY@t`}#?EJlDJ*qT5HQ0~{1SQ!w0W0qIgVZAS zaIqJX^^;5-*!{@x_@IFNRC&82S694AEyXL4(>2}H82BC6IN8pHJka$KYsEaip67nV zg>t1svU1k}Yy+4S{M+Q~>6->=C+)Ke@i=C(KD@s6K1DXb&42YQ%9!J9i&`vx$eY&E z88=BR1p|Z2dQ6h3^~iPmoMVlM#+P=CYz=+z*({!~`Qe{~4MaHa#I{v^T=7>(YFzcl zox3UDtDsdRa=Wi^&Uvi8vPJ?bi!1{)QEjuPl#bd!|Ji^x*q@M-S<+VJ5D zU=jtc@72^7_!U{5k$J)fwI6BFk992b?hy!%vybO*a=C)zsj%^6Xie31FgZ>kJnZrn zAF!vwQgejj85^-OwL9R0La#0+B6Uz>lWbHm76Hl;@R7yd`MLBPX(pB z`&Pvdbuw$4%UD=)unXqqIk8Mbwqj{VTsR0#_{n!U{~@^1nGim>SG4}x0;>3lZ4^v{ z5P4`dkeQ<`E$yPe1}!$gDR8ptK1r-2ddy5Ip3r+mF{K} zxO|vyim+cI$%;@zU$ovja>(TaYUm-=d4@>hWX2woW^hf&e^)pqV?=F#iq@qw@Q<8v z;8kp$k``*d54yO-=Q{fz8!Gz-u1BlzA9qsWwcp#eB|6Hq;cZ>vMq;aqrZzu8joS`(WFKTRv6TFS8xQZ+{$z82s)b5^*v~`8UJeGfAC*Gp z9{mPTB23zS^i=I6ViP6sE95{~l z39KSMeR|7vJMao@X753bWIn5ep6rvU#V@V8pskeU1sa8{L>nOFXVDG}LR|bTZBrb- z+a(}EHP7#?Qk3w4$|Mr*1Qy&ZvKVqyr~JEh)H!$7Xs?ncE(r~Yr(JK%saRVaga3Fv z_!;!g`CBXnk4*Fv)R0D~&>@p`C~DC#(AX+23a??))eXJmUUgM-askJwLddEkcm@B@rB;u$F#8l<)U_MKMI zLUS}uVJS3AHg`vcS{4tTJ? zR_ze)Iaz6|m1}YF-~B?&HjSW73T_s0$Z+R%R>u`J}4L zi2ZO2>G>VNux{y_Gc!V(xoG6-<7H!g4%N#2)3YB>KbEB4bLyeIjCy?~rCh zWNk*YX(_BPH^ixoDg3)>*7@60ogE!VRbMc z!D0H@#>isSNE9hTgE?)8RIiw9KE8DA*R6c4S)@D^vuzJ_D&kEus#lBY2_6z}d;1 zY8+Bs5h1Q$`bChD&z$Pdy;#D?5{}HZn*3&WDGKQ3E1tPNDkE>xdg@%&j@{{lUwc!} z780Qdm>P3KPD?_u8oSuBU(YshtG#rlt|c6a`#1QfJrl2;i3%(8j60i+_OF4 zOz0p>o&CpZ=L86TU-7^3jhnYli(koa4z5X;$f{ZLZxos0l!RGLr1*w;MOq{W`MhEl z2u5A?nIsx}Fes>wXehJ~v?g_LgI8e>Z)+0viJWv2h<0~f(ikQ3d#~DXwYZ^ra7Ha3 zD0%xQr1^k`(qG!dzovj)*7bUZBFKEnaS6J`fY^`Npzshp%YG4AJeV|JULU$Txu|j|W|XIF zJyUf$rh4UcI`dsb8(ooMnSfWPn#yN(V#lRM67QfU6u^m(K>Zf;Qaf;5z-lFnH3F~e zo{B&-ly3U(Yz{&TL@TaCHNcb{0H6JQ6>lS=QKLBR5p~eK=npg6Sip|fTo&aM4ae24 zekn7f$)`+A81Ks1!}WEJ^9#R4Fyq=A97tENzU?L%uRn5f1KnzUOx2Wu3>#1! zQM*DPep{Fg$n8^EJ=+c!K1%}XdPlU+mp5d#Q65nwMj4}ENqbJNT{|FO3N7Ml_8Q@1 z>;9Yf`S1o%RolNQ03Osaswi(B`HggRogtgsFC;#{6=KlBbSq>8CGa+cKNMnnxY@=` z<$%US$ow76$dqm1{D5txX9PkbvimjoUVoKQ*0l?~-~xlw_w?+%y~-nH+u0kFoXb5Z zEuCDCTCn}}Qa2gTzQdY1v$@7LKok*VINf-yi%k=J-cxK!?MAAi4)3g_h2iIf1Oac` zRTs(Y9m_0xDWyg69}wq-`ZdWGb)pL2f4>8EPNWcq6?;K2<(LUo$t zzHd4(Vb^e|UOYX03o4t-pH_i@w&tp~&+I5Mp%*0^?=QcI>mJD<_gAM#qEppnhu-j} zS$K4#HaUbNNbc3YEf43f`$H^jpQ7x>lq0U*S1j}N3>&f+VaA1X<$K`*-I;rdh~5cE zePP)k(%h1g$BVm0%J{kX=utkEcTn>NaegFwVwE{LV9y7I?hl>^SoLRz?ranN>sobJ zm<0|9*GFw6JNYg)p6`Gr2my$Q+qGDdUAPY{HHvu0|NFxbj-K~(KrQZ7vZ@xv+Hp+mqz;=riZF(%f;u4rlJ#ogB%NUhe9Vc!OR4XGI|PuY#0E5o~|Su%?%WWc9-!$cb_~6eQ4U8kMEq z)W;p`^hiilX#uY=sa<;1YM1^EZm^?0DC6PMG%P$91PMp`Q9s*Q|U01m|W!~NqFSf}v{y+rIPX2YX+q$pGT%qZ4f}jo9v3C*u z_*Z~=AEh?*NE|bThlR+ioNB~LL@v8hq*jq2X5()4RtmjA#5zRq8IZ{Kg(@9!jLY9S zl9vmh#m39~LVNzVIt+VPFtn$TSscTSO|Rev00JKBs#n2!sNkU$3fJOs_YP|!wwxr{ z;0o&yF8R91IxPje0uoz&$hv3w2cBPWAB@g;Or4+QPdWP`a+W{wj8EC9wDar3)ABBEK+!jL?=zhPyN|5>Wr7N@oY zr&x}2L+M#VS9|SqINgMwY#C&fqL~@CuKlZ5hvqCWh6gOK3G4OEF z3YjP6K0ZxRo$!^o$PWy4DCH1GK;)Huu>PwvBs*%q@@-rD&x(05qPBxyp`^!8WP+Vn zU)AE!_61bJIRBv#;=2;!5bux%n6x=T(s}gHJ&_PySu27HqGr)qD-66&wFPM{PNkI@0oq0z@W3M z^(z1vOO)c3_Xq!Ft6$4g4{m4xv_X?RAAT!-eu$V!6NzHK%HDXXtyG-`5~OzBs)7VL zLjTfztYf+Pj%7Y4M%``_FYg}@_TH;#QrXM5gmCFILSyI9VIlgv4|-yVYl~LciFUGm zcKL$|IN~WIAaeG_3DAzqUPs>42H|i5-@N{JXt)YtE#BixxPPb?Z{p(iM-jHkL41XC z3>0#6q9p4jRg3wv2Sx8uL=2*EZD}uruG+rJ*MnXbwKzZ53%CBSxf$UHN^->1M@-e{ zAr6#yw)pO@n-^a;He%cXN-$;D&x*g_tkshe2T)O8Y^_L?idQ=sJXtdP6u9x=29={Z zVUp*y2*%=UdUFzJZABiRzm%c#J)wXYruH?Y(Y!qkgRUX@5D9aDdX{ta-QvOK7!O9lp@OPA7T_Lhl_@o2UBnwTc@$MdP2wF;z75 z$$;&WCGQ;JX?2Z>$pgo>lg%!_%Fd;*PgyWUub^fca=v6@_#xw~KMYbAN;-0;_De4( z`&tk`SdIWL4-W9jeJnG{tM%=h!07>9Ga!=o>3VJgYB|7Jph6>$$x?ga$SP6*?2CQP zip;axrh#;nYRlcDib9O=6?f*^_u##|CG!k0A?9$uLe*p08pSU=tvnZ5cu!At2K2 zR`i^U_RTx0JfrgDy`w=TqZnlMm_f%-oa9Xgypt(L;c7C3nzy|)ow8f%Mu04|fG!Lz z>nF&>LptXPB6s6~yAEEOV|SJ)9VDf-OL6^O`%|GG!8pun>tj)P_TRVZa_Z=`RQ_sRnZriy9$}4)Gq@h+?YaDHCBO1iX zm!)+9MIV_t0V@+(ReY4UL(Qx0K%xH}8>PyS;2Bz+h;Vk9P`pDa^9WrodC*t5YeE!V zq|hAcx`=+z(#c_EqkJ>~-HBf#Fj6%nexdaPE!<=q>gK9#lXX@_4o25} zjh`#N62NnhrOM8iHr_wcjP3}UB)*_l(qnLS*F_B}7K`tkz?y#vTd+%ck#yo#$3^;b#6$pbs8CQo7#&*$ zCvI&>bZ`BWE9DWDdBBm+POD>QhEB#f?#UsP^@|C@o|%BeRKmVN|1_V`)zMXYzk^Vz zpI_SuX51ZcBas2$7l%){e)jjug4ViT1Q`N2YX8u!yJc$wZ)i^ejIHQK36kC?(&bxv z*kc-q$(B5IW5lT59URiI^n>D?7k|5g%%-#-mbr%mZ;T8arJ>H0#Sf9FlK(_B8aL-i zItN?TNB9qsw39J{pYARiKwgu}@DTxMEnpCmqE!hAPqON^hzh)78WyC@*WdkowGam* z0JW#JD=(*Yw~KJBO8-GqsGCRuF^Vo_{V8k^&r8JJe!?1;9Nfs=3yJ8lvp+f+YL@Ob z((NUQIknIxnxnj87Beh5p10Of&-*{`?3#h#(hjbsC_K^2d1?h zB1x)NCRUN0qax|cOhaRGD$fY1_!1o@fq44~n8RWUz^TS&S;}l?7CMP+j2RXnud7Fj zdSK&VY8~|osm-|!6v)H|;##VXgZau{eowYlP%511ZaH1G-q<;AIxS!`M0!hS2+&)G zXP^J$o~r7e-AgKF*Fc2P?9bgjig8L&|E)P-O+?kCIIm`1V};_NA9ZK-a*MH78CU zP-rFZQWDwUFO=0k2(=;#PbtY7Y*9%`YLV=_N%cgAq62C;e*kbtMB_SvI+?&F=f%y~ zJ~%gv3XoWG?P9S${PU68A&zMra9;PR1mOd5saQC%aSq zrW1C@Ixp>Tq^&Xw85bAr(1Hqjh+^b&_j^&DFC`*tai4khD3DhxOddD<3fG7O9)k#m(E=}U`?kfs(_b1o&KU~wl{0a0JT#KKMWoL)OI z4$XVqwJ~I=tH@<>n*6M{eK!1Ycs!1Ic*x$^lI({p)U0}7DqV%&Vvh?UnZ+84{np+@ z9AeBAtDG5d4&Wkp!54zBQYZ6wXmfyblDMfuVpz!7#{O^dKPYzp*vSuYC|lA^=Iae- z!LSNDfEcU4DagwR_Z>=|q4dG&kM8aC5-8~hl$i+7fPYo6Nmhw(kuo9RZ86=ZnN_KO%b!?gDPsU3Z^i%rx!r_F z!@a|qL-#T=Hd#%+CY=0e0b~AKxbC~co=)T%ucQ+bpUsF4CT1V_4oYR>KUd7JUQzY& zjX|A+uZmTpMO=DhrP_VIYx>^fdU)d% z7E9ag5k(g%`+!z7Z|t1&LSwJ)R@XAm97#Lmwd_+tK=|nksVBt6>WKs(@xi!%ghJ)r zTvJr*t5oyN4BY-E=L@6`Q_{LpV^NW&to0bBJ*Y9-h__Jc$i zz`Fk?%iIHpYqcavK#umV>qxt~-O@#hwv;ab7mELU1vaXrVhP)Q7a!6Mj(L>Ma;9K% zX|_&&rXI*PsP!iGllvPfwxbWn-jA8v9m}}$p-vvu$CeXgqvr(dhT6s40G#%Zd1dlc;*FV;crVwU)rj*k9;bL?B!A-057>whP*bgdu~H zWBE)Qy3oG}*BR7&MDQo`punhXN%4uU2VNc!lt)LZmja zGylO#SXAsXhd^Pg)YuuyR-|=^INNhk7wkurid9hd?t&6%pwIPBxKCDC$aO4)e_zLRBflkGdAakDyI5;Dl*Ic=Re zLbvK-iDAU1%rTze${cIHBwkFYNF3X!Lk{Hhd%$9c0Q3(wx!AO# zWv*n>g0M*x9MCwso~d_C6QWT)H9Iv-jM(YgH$B9;sZfrcVGx~1lc_c)TZfcQR#f93 z6Dvbcxp5`Fv2sE-P*(Kh;(f6Ywsfb$B4dah%^jn@Ls~-)a#r_K z4axpY8Dz26JT+I>T$F8ja$VSUTh3HHDc{lst1kVr;DxyC)Z9Il_x!{5QB zQGB$-s5oyqYWTz@9XR;n4tIj9Dy#!!3fEW(ssuj6Q8g89mp)EVM3xg zC3O~h=2qtKvTwy3aI;1$u17GASqbEJi-CF+Qgp>|;E}!^RR=8l>+^6E)6CJ$b2P3w z@kSE9&ZVj|qZig<9{7i2!gi_YsC~keVIfgu6{xBroXKhYrq z>4@b!-XECyDj*9n6BOwLRhCHb*FxHGWon(Iyu%xbvyr-879)DZgx;RCM+Ku9eM79h z7iK$4-&&5)Zg8!$r>*NQgDLm&Pb}kFYo5igWvP8Qh2>)1GUpN`@ghzvlmV9Y<0Jov z4$=0|lc5YW$pD#85HR9%Wxm6i`|LJq>!iwg_5hAm)sNqFQP(KYfz@e*Bi^<}!n#9% ziTvp&yb8ffBeIsh3`?!%l*og%f9%ea&x2L9vbRNQks73L8c)MHPY(+MICXmf4ZLEzjlb`#yhyV z^zUh$YndLQ9m>v3c96^#M8KtRH!DoMCI1Ka;Pt3jS;a-%(bm2G`$5gsai2vtmQvD+ zvk%gH*Li7ON1ZGvdS04B-}EH$+e7?i)$W8haevD1h~{*yd-i7Lv7~P=Ri(FP-ski1 zV1kinMDx1T%Y7^31L@gK-k#KreXtOV-U0P_utycctZF^lSoElORKbO975*7!_Hx`B z;%Xt0Mrm@(r!kZ}zph)4Wxg&it|>R_z7{3Nc6&qK*ey5L(wX)_%Z2Hd%-mDMddMDu zOnZik-*Xvo5Sup5@7U&Mt&^_7%E)HMSEUOF$+yFYFvAM71bIXa2wGKWs2}Z+w4^Et z4A?7}I=5<&A`kfHmnxc11+UmE{zHm<6FNc95ZiQjV=YEnmem!YYm&+e)+vz9r}mPV z?3vr6oG;IF_IWIu=+t}&wj690eTpqEg>itUQP`bT_ijupwb^rteykX;-$K%3Y9l7+ zMPdOb2K4i6t2R7)nq`5-P{et8&q->ihIQFT9{vJE5a@EMdB6wXAq}c#yN;=V+*TG6 zJL071a4TTBEQQ~OA@ueVLi2gk(zGPF@~S!ihXffCo=-LU4sA$~*r)!FpRsH~Dg3tu z&@9CoJgPODq^Huro(djudwQ}B?GQ*K9XB{DUjnn^$IBrx_xw~1e|fvj(`t*Eb1qxoAJ(r?Dl?7aQ2Ju|L1KDuxQ_XNaAgg&~WT1 zGjY>|`sW8pzMIP}qq=Bxrsn>+IsVcy2T!uLLQzK$=RZ;P5fy2=RV1pO9flog5ZHHV zMmF5kc-P@IsRSshxob?Pizj1IfQgWOO5gyK4d_ryuRHFhs+ z8|`w-xrg;CL+ozp@0PJ=FO$$e-mB=QpbIF{tl57FVROEtYV)-@M1;#?!5r}`WvOEj z^*h#iFitvKpaA}WnXTuZpSD1uD|5|Dq@RC+Y9pxPEOusdLb-%V$;A^}4)m!P{-Zln zMnQ=zTUjWqz6!LT8wbnjzFkyq-!Tn1UEe)Xb5zuAY9Lazi0f=6M9&UY?t;6y>hUB% zbgSN6Lcu>TGkE4tj8)RtJG8jR6=LPMopJPG1pA)Q*%RGixMzXrFUZL}bB~6qPt^3t zzCjti@k!{6$7cH{g!!F$k?JXLia~m+Olg9iLW; zeJ%8;g0_`<4vb5-)iKz=SOft76U;d0kRlHtV%igp-OyE@t6C*NW98CIE$8O``3jYq$lR-CW2ayb6gvfH)N1S*7XpuO0B zK8D8R^OWZ99nm?Dl&5ffQT0G3u+>#GdZ7OH(5@D+rAy`q*9R?~?2v=}xqpEZk)GTZ ziA=&tT(|SfiBWaIWnR43sPY5Ck8(IhwoZ5!QzM9m;UlIuBQ;#VJGV&N+I! zLxCr4zXKU@->yge1m3uPS2t~vLk$IT&5WBHEDQS7ax&DTwwlo671R9cujwqH)e?CH z!`GFMJbjm-_JOCL(quW(ZpHZAzNf1sEX7I0h=0H<9?LMXI-L(mofInrT5Sj zU6=wY7OQ)iue3#q?X)eS`Kz>GPVp1aI6G-1?BaTCYDDG9`~8r`IvuWP$RSQ16OT4XKG}YMBe~r{aL=a*Bc3a7Go)T9g_vcDR0B zcV<9C8u3iNktF>qS^}2Lx$#S`Zjsu^PL|RNl7G_Edg-2^KuM0*QNf!)ha>LlC78IM z*hb%-yyT{QU2G>i3NWHqET2C+ZwZ zP|?qqdhWDrblovhm5{?!<&Hrt*V!Wwf^Ojfv3w2S@Hk@GDJndBkSKYFb>@85|~{c|mk$ zFe8H%kHeLp|GRZ8T=47sv6ifALk@*3eXAkNkcOtknU856uZkA<{u~N7W--Y~K;%Ri z7%JTL>`srDy2=t`4+0Zbz4!p-M?!LjG$W$e&OU&>(Rv9xrZFi&>0@;{6>CVbm+5TL ztkKP~i9|ta^$I6_QvEd|xI-An89pTHi9r(4In){B?~xE$*A$#vS2gQyAl=gMcIAqkC~+;&h}CIlxc_VMc5{_;w32lbB@2q{ zsG-`}1J*A--3X}e^EB593lzu@-9kUrRrPW^QNa}!ph1TS+u3nG5z1SRWR#>!8~~ZW z5*;sI0S#}2b2vf*yRKOY>4Pvb>uhwBsh9QZ;rg}zAe6#E%!wI2u@(r_1tPQ&W@K4XLA+r9*KW;kPU#+ ztPJiX)Ynb6Ra153pU-AcG0x(NnJZN=k1lkip268a4aJZj(ESelZnWp+4a#KzpT<3P zb!`uCW6!C4aUeXhQKi9oY}BjIz{;17Ylz|(qr$RuRX0l9tn zFU*+6CiWa8N0jzBy5JJC;*0{pt1x%eO{UNNP8 zJ}1x4&DFwW2u9&#e@YBsDo6N`J9A9>x(?G=%5A$UF)&P%-_=vJwgo>?%`ePTG#hEP z7*3R_St^6S>}2797XdC~r&gV+6QXUsN6;#uo-;+d0-y%joxX!R=E){agY`+lu#UCv z{UiV&2Wy&&-a-$D8yPAAAv3HiBGGUFyp$vzs&m+M)7XpG*mjIv|W9dRX802JEQGKDGtX=GtUd&x#q z(DoI{tgIR^r_1dMa|}_rQ-}AjkOqPGbjl-gY3o!o5H3NUysS z_@tUs|y!oa3DR+D_t3qo4&Y zyx`gN&-RBJrp{Ci&k=5n%*zs($9f7>yW$&kiDM+6*Czgu2d*`baE{B}FKot%m*DZm zOrN2&8Hz*uF4UaYn$m5Ici2W#ii!E2D>JR;j2g?*bbo*jkkhY#z2OR5!gju&QSqO5 zM04#}$J+6LGcDj7dX%niFbLah3eDhSIJ2^8Xjj62A$M<5;a0AEy^?=o8ugho9svZc zk%3psVQt|zfOp##}$MJ^za)`FnyVC4M@=-z>i=?8pA=n0Qcwoi-e6%q_0Ym0(e zyAxvXjW+FFlG!3VB<|(~{kw*--ZOF#1<# zer$Fo@Cgy(EYm=rPqdCIZEx^ayh1c9=o` z_WYTqv0NFVLT4MJ4)~t3pmKfDb7g2WDwWAKCLPMsWuzW`I}(l;y$28~ z(+a(jN%Wx-C`xv`;AfsM{;0Q-q z!Cd%wo|zwW-w%}5G@XKTJR57bqQDO}W^0SnP!*R^d}e-IzO>)&fJWufhI9zmjSA3p zO3|hRVQlX=t>nq;_KwswuDX%X>eT}X4RP$N+q`F;EmI?a!E}a=E7?imJ2@cq( z1>CgOcR(a!-g|Qxf`pQQ`?P1NWRr?xzP#DVC!(QD}Uw9N8xZNc}v(*4V8AQ!@;Q!uM59Ui}KbiO3D z&V8hz!Fj~eQip~1A7FB+6`sqvb!DTtl4P4YOrJP3o%WZT-a}QiA($|tU9ba z&OUNBRzdRGP@$yBTJ$+zz*zSwNE_M+OH;ni8{1f5B40H%arLoyf#KLNQ`py_)bSvf{=CX%`=ZQPJF*fNno-fb+*B5aHLd-`47lc>=$5HRWC_TDm-;W@Lj{+OMOh{o%3 zjw1sm>)luBhmxMP#zA6oD91^2LPfu6%7q7p4V7qBCcxpZwGNX~`^lecArEa%(qTBV zL0CnUBV?tO0#3Wh>e445U0@GBu@=q~8b!N`L7hOR7w+vH$%M(CF0)$b#N^UuBbcCT z-VlCk7wzOABrP>E$;A@zDs*z=GI!&~E= zy~GwU0m?cS=`W^DXS11)Lp%@AL<+{}6VSK-t;!&(8WZ$lDpj#O9KVstsw zS;8`R!T2lCWRUt+u}ZN20YCo}*F5Cyn_z&_SMZt`V#7goV7P|$tdpt1w>#t6=f*o? zPH*@y)(=;j8QvhPo~KvaJ!#+syuQ|h+NLB`(BHvLOj%rMPWS`B8>+cVU92Q;hyYk>J)-cAYp=`;4| zG+NR3m{ms$M7ab|Jt|n)3k7f>17;YG=k^8@dpvVCd(ELpK9w`WFMBRkb>}pxKxlRC z`mR%v$o6T!!&K!HgW~)JBG70-0y&$UkcbbpQ#haU4Td)gJM3)hf1i zduGsGYb(+C98c-a%0VBqe?gl)q;npiGACsV23!WWd0F)QS=B;;D!}0Cdr_@jD!*9Q z6>~?K@=~v)iY@h8ufIdO<`MFoeeTh@9l--`R@u%s7v7UG2-w_Uqu`#sTC6!@lsS-0 zZ&+i9vc@Z_I;Ww|ZG`<|6{qTs?JhkkE@g>5Nsp|V-MQeqOk)y8^e?$q1nR(Luc8a@ zTQIOI`D=8{cV}+`#gQsz&0G_LEBZxM^xXx^P#wj8tpg4^|LIi^CbnX=ctS=}AlEyP zIf;Phm>t_HhyXMVI|Ow>hOp)e%T4I#R>`Q(5<*Q^RF1-*N`_A8e}^969oBq2?kC3N zx=8EKlw1MEC84)0ig^cMhoHUS?mYn=XFYM)GJ$J#v5+r0pAnLm0M~GUbf$rf|FQ#b z?^J0Glx1@5Vrg5H1cAkKWEj&G!{Sn%diKP}7iZoB8sFXJq(|%}?Zxe4-h&gc?!5op z3NCQ3|1M68y>BtjOl=S4e?rGQ2QYg=AT%lB{T15$_^$m!T7)?bLKM#>hBO|=^v}${ zUOv=%200xXJ+J3jJ4ouGn==Cyy!|VX`O>Jn!8B!cSmndAPjJ7j@30X|dUra_M!7I2 zSUwPakCRS=9K4*r3h4KB@ZaGKoyBXoKh_omuV`@^(iY2Zt6)A`RKwlBhQLF&Uy*^a z4Ay$}-$M73)Vp1_Ebq7m7W8t?V^NiOv`!r?dw*Pw5=|wjDvp=Zr`XZ1_6U~qC{{e% zt#RzHGJT1iRd8u(KA+}C8up;xUSMYVjDr#mdyb}-Sbz2upcw`yD~MiUVQIHArLB0j z*@1R~*T197^MfO4gE{ha&4s7r5)=TonW+KnNwsmfl*sa$I z_i8kmgy%}*JAbZj%f%7U(Row5_U4DO;`on zk2tkBL7KD$X*T!@cF!%dHLsx=vvr-;BfJx<8g8|s_1#Z+=LnBf?Ji;K<4UMu>CuK( zwl5-JwfjtcT|1JAb|#n0lqYJD9CjLi`cUriPzL7UI$ROEM|FEgO=k;CkSq{bs;XFW z&0CQ!dugvl!T_-~ryH)Aur}FrdH)V;VEn*)e_8hCjv4eqH1O!Ru7Z%ztflGTgkRgj zwRPu1%H-FFQM=5RG@!!gGz0Q%U1}8Z%fkS0?f2a4GMsXk#Smd|JdO~Sl=R4~0>6Xj zv*(yIY5q`zBBn`jxSZs;yBNmWseqye8z|REYDkC5YKEs&@Kc)u*>k4$Ra0j$;xeJK z45;PJE1;POkPrcJDKss2eznxOI`3LfG0SpS`X~3f)4ZdsJh#sFp-7HJE(yayVA(sNC-<%R-@85 zD^1?*!`I38?`qe{3|B`mr2#UZMc2&Q$RP*$8_fL3((PlA^?}=wMv7ISG0CY|N;n)2 z9j6r-;^X1AxOQO0G_v4i8jRpm@oGi-)t}({2+oy7aDQJ*yyTL!f{Lo-V9jsUMRe{T z4Rv-w>5<53N*H6Q7~E~%p$t^^1JZ0h|>84DKw96?@byc|e zQlnEF*?KC1Za5GG9~DwHzE<+BgSfDl`=~8=uI3c$A~!Lxxh}OANys%VP~9UnTKh)joH9zxhW(96Z$8hk-4EZGK4v^*5+=N zVola#$?!^^vOy{9leJ$8z_4t` zid!qFnYndEqRwAEpQ-@6rOQ3^*+acVDbqhOjcdedjj(QYwUKvsHd0~8=7Tt`Jba|B zCX*dabE|02pj~qX`OOnd&~bhZ*F37hCcd26h+X2LGi@(MxZ~9<2YDmO6!s1ya-Nbr zy-OHGTCnF3G;2lcWUrsviyqpnC7t4k;ilk>5{mXPnI6zVb*Q!UX71zr94O1&AS=ah z-s$O!z3oJUB!@zxLC$($w65%_8&2GsOC#!Ozp6ruJbA->e(nmI`CJq&kip?sJ;et9L_^A4!YGc-!=YYYAb zm&;PB$tfKj1S6S;IvDimT@8`#*lZ=JFYrM>)ixkFokaZvH7b(qntkl!nvDFQ7dGMV zx$g7AlUKT`^#qtM1xx~il0y+DcDVW`6UlclbslU>-0oR^>PjNhaJxg@?34eagT+=( z4BJ3!TkuZ{mJy9iYdG65{}$RGUrF%J`3Y&(yOHcP?nfrt@O$!8*^|RVJbAaB`e{Ltfa%x!xVJ@MNlYEb~)y{$s`f zaaH$>Orvmc^9}J*?m;e21(!f;1hN4Mn~!WcF`g*Ge@UBoG-JVjIq&h{94Ody_kvhP z&cm``d^&vIM{uS}v_tt+o}`r=NA&1mFj&8#NFLB^Y@O?PR@Ep^OagLGN=gR@wXTWk zW11ze3gug2egF+ul03l$|DcaNi1~`Btno`a6;6$)oc*5^pP6vCeE`gvr*ukMv-0r`Ir8BH+Tx8C7@A-+ z!UoO*8r8bnG${Uop=5m3k)ffHg~U2MzC^2K82M<`e?Ws|WvT!_#P}~I;sI!QflFK% zTNQ}kvCT!6^B#|+sup&*)26P|)t8vhT*Ezio8Xmua@51AJYILCS$cZAj}|{Y13j8D zqajU$=B+YN#iyM1bf0i*7B-io$mDKJ*mrbgsby-VR3(cvANU;0E6naW`w#Nme!?18 zY%Q}EQPm5?Ljx(<=m^zxfdz-FzR7g-Wm z5g_P=2JIf#LHPncBTb?1Z1GKgbux)9fPHkIbZifA6xi?{=|$xLSS86+?I|Z+e&GhP zUV9Mu_o>L$lqd!^`+Q@wrBo-+{&3D1V-;vF+ty3X^ z(#p0aouH745HhWN+lAU_bt7H?YnNnoZB(2kabt_MT$reJW$OD5XAVYSM4|>Pyi5>& zytp>MssDVzDpNG)0xQ%hBVDCf8P+bMrC?ol(gO1*mQgCTdmo0gPLtpW73M3j~vd74dLs2%=pNrfJ7SJg{MFw{)9+5#8 z=pUz=2fEI532JHYh(_J!?8n1(P*w03!{&Znhgy(!NB!s##)r_7LXcbNNYKcZmjOiA zX&tK^mw;PXpr6oYY+pKkmrsuc0OzogB0hc$E$&|4rJr;j38*G$cAYzfC2^;F2QyI! zuppV`G!+o1p6=yPRoO(_Ue%oVV4Wk(jxx->*B%KVgH{~{h10fhNfHqo)pO3Xo9Aur z4!vxX`x7eAr#Lu9uixTdR`5B+OHo{3rwdFFtE8m*r5t)h^Cod7BzT&lb#jJ>yKA2L zb6b+4r)w}NloLkkh{}S8x9qxM0c)${tan@!=;u_(Bkf9$vvbU1B89Z=wxFv|;ElQF zW4i&h{%6S1Mb*tJ{l4BgmdIPQ&wE974XL5a{U7&T+#`~EjjJD*RV5G;p6pPEB-Kjm z9fp8pH-=_?6Cn=kNKiwTMf@w8W8AthBCFf^D()q-#J6($78|(6zUJt4)#O%GT~Vsm z%M%NFr9`wW1IVSo%>R_na}lEt6UeKZv72F|%Nf)9xuxqZRnJy1O1 zXZPgUcwXK0fNWt{N;V+KDenUi~Ym`)fPLNIQq>*kMVDh@XSw`^Z~~#5a+u z0^dRAR{?N(N6C>nR!5mJj$J$ES3L7Wb8e*XEd1Lzp{H8irxImoh_iKg7DLds?AKjF zgnp<=6zN@0d=>elYFm)GtxDO`hbw(F+f{tGR6J3M4CDS5fCg% z^-E9W8-Jo2<-Zdme>d#lPIPD203Qa)1JBhdL?OK@PY)wJJ9>gf zwolc;yQ{LI&naP;lmUCkgD>~@_M+n1TpU0v;<`zwJTbQCC;}*v{0;_Mr;nu?*3p%XyExi?Zu!JDim-D6lb}%S)N-k4IrY?eS1Q zeSzrnVBIMe$1SUmUqW}Z{QD^lH>1lLknl4ESmv4#P2E%~i;Z1|f$p;=hBHTx2K9%x ze_40wxUPMPF?ckS^8f`BjaHdYGG*-L3Y&iV+^Rfi$OlaC1V@702X-NA%*`Nl%fd=5 z#Q2X*?1*X{Y*>&5Rkvj|Sm~q$Aow?w;=?Gn;QA!wLMSkN>kG~4K0Q%20okiBJs*#! zj8@+%kkpx~?>(}l6js=H*smwXgvdj%=@!mqN98KSH0FJ>ey5h&e&%Ty(%zjAnXp9N76Su$mlgC4a;^ z>?=yY6u7)y<;3_jQ5RYKm5LsC|FpswLGhsMUm82e98PlH{d-%IXB2K>9^&Zr0A59% zSB<-hYkw@wRl9sP!85PYMZJBgn|e{4u$^rCS{CHM#on*) zmT?5pMigXi0BC$aY{0>>&cWYBP3<%Wk+&^e!U1tJ=qz$(J5uU`>Mw)q{Audov9$R_ zitD&rt`;xQ>O-J)5>iIdRE!0(8B&2JI4xgJ7iYr(r2 z0ljdhC~56V83X-n_i9rYNWZU(tZIN?iwCLwhXb5}VB>xQyGCG6qrv8KJ!QM}QebFM z@jf=v5I48=5_!4WD1h_~+7`ZdJidith@`oMC&&iNyuC(tgl``03ca6E`Ogi8SHX`w zF<>w0?hE5wMJaSVsh%#VxX7Q3lHc(hBb>|azq)*zcBs+DS9j-p9tw9H?z{@C=8V%J z2)CsJ&lVtSQj4RXV8-X}v`4N@wd?-NY`t?09;he`@2cd1&#j^({yMr}U140v)8%OM zp55Bx2R!dFrSZa`Jth~{)bX5GATFXOhY=kF73@9%3h&sTjz{Sgb}hl*iW-DHuue|M zu$TpYq1H!e<5WB4aR&~(W=_eWu?p!O6?W6XHQEKwC*!I)tKPK?3r+3;+;sc8Hqjw{ z$5O_p59bkOkc<@NJ&HxZ-HH;W^?S}W7gX@1tMfOOq z+UFbdMD6kjQXg8Wvner_i6e_q8Ao__*PgC4hha&b+b;585kV3cN&RL$cu?oKJ)G+Z zHBOa)0Mw=6;ASTqnV}#ql2J)fRv3tMwcGJw^|kzGPG&vgWBU&28sGlm#WjkF0Z(w8 zyJrqvgj&@=J9)}%6Nl`qX!<|rYxkf<39l!*F!|8$o7XpD>mxQx*ly(bB%vXBC@V-% z=$kUptgmdkf9Z&-i}$+a>;o6M`>3CQIInB%XI`<`Yag*Nx27`}_A)z1ct+NP-Rie? zv>|Li<$Cd^Y43}QR>od`;lz=RsZu*amDqmCMIOw2XXI;UxND6ITsVmK{AHjPrHB&n z9|G|hnaMiREiUWQhWO(qWTCa>cM!V${pvlMk+7ZV==d9PU*b-UGEB|YQbeNzW|ZCk zRp24ab5+@tGtF>tRW|g%oAlK0n9|5Z$rCoj26d@B@P^63Ee0@S55zc2XzbG#g3S*# zvT;Fqf%II9%Ei(~MX#lw;KsRz@QC82qQdM!y@b&#FhS`$8XK0Ckzv$^U3&5BdC|hK zWBVi)bC~-`Nbnsy;7vIcAm4fo$Sk}Ugf@Fr;8+~h#PNR8flFpSrJK($WhM8HV3vzc zaR2us?v_0Q!HT8RcUBN3uqfR|{EpSHBmQnLjVWW?afoIek61)gPbA zCX%`D7|O_hgVN|GitLV&ON7+Om@GH}>~7WipqyMcXZ0N*jsoDUGr-jyhYN574N5R&@;6?=oMluU z*%yoU6)4M%m9TY2RxOWrQvP$S%u>5@kEtu^UpXADFrq^Hd3)&pj4}Qm!#OS{yt7W4=BQmd(y zkPdtBD!S#w2b*&33C$|+^xPq@i)$kole^f!dGb5=5Jnl9878Csc(z|+6H6fr#O0`uZ171e%8YR<_N*-T z0=My$ja1Lv^rFF3uojV?<{eZW_o{OlVe{${Ik2@XJ)l7tgl#=Y2$1^qM*4G^Dg3V2 z>GM&mB9jUqs~UH{18d`GJEIX}A^8V$VppT`LAV_x)dRp>wMEp5Jta_MB77#{OcU&sCZQkcQNpYj^2Djp)$d)z1-FP)XFYP+shktX6~vOXKH9Tvhv}f zfWGNM`5oIex)A3xQuD6Im7NBsNSn$;;1qri>yk}H`T*yN{oi3fLuHN5-Pa6jI})QI z<&J19apM>tz==pDWP33W*b_T<5GW5G#D{QI5t}7@RUpTFFG1_0AOgPF@;~v+H%Ioy zK46_yk8c6`(N__~9$m8TNbI{z0{d&-RgIKy06SG6n7`bfrp?3)N(ymcx0?+Y8W0g+&8BzDl zl40TL9EDc|8Tt;X&g|%E+xK>lB*xKRyG%|s^F7)3<7#jQy$Sm-o$;frZ<_D-bXHLi zv%6%NqG4SqR*WmIj`AAWiFbnnGe9w8Fa5D^&KCsaXpLL9^^OZdg6|1mh74#tlgz`|lX)`0U{`(gNC%)C=M8 zUga@1IET`j>X+D=29Z-l)U(hbDJK>IdbU(`rD=btziWmO(&#;$%b2bjb?4~wdJT&b)DG=Q?{V<+6WB}uE*;WCm*n_@QwQgjTSBb2*dHit#7XJu6p!a3 zg7lB+l7rkngo{0vbF^&G8}T~A8Ek=>n%i3Izvd?H>oM9J0sfe^mM&gxKR_Zoj$H(T z9nJrh9IxTFJm*ACZp>bl%S4xbF9Ojb&7A$%ywWyyg)1u-UzbV|%5ZB<)Cwk=mMVTl zXlF~Qu0o8G^ zoz{rGT`;%n$t6m4ZRtGgrkbuN$|hFwO23epY6UwnZ#y&M^&%@=GMnf8yDPe58(F(K zA6=j_8S1#|Zrgcf%fGP0{7IC2o|EkSn4p49VYymISL&-D;=wbNHj+1_#%o+t>kI%@ zxwOf)Ooxzwic59s4@IA{GS=l=N48K2V9sDGYcBtesLzMv6*fbH=dQ)07{q~qDzfXE z1nt$5eO#dA7yzg;o@+kOT`$af&=#amk5@<&8{z~<-!-eSDsnqP0H>k$tqo-M9&8y* zyPn}5+?Bf5;`h{#^!et--=U0~t=$;D&{E^Ov}px-*CRUN=K9NLXlUJU*P4SYpMx&~ z15TvFa(xcgJFq#{a$X|{TdAVG%C@(->Lz@x(F=c`cx7cOpk|6Z;p8I%zR7QOLMs#< zBn_sLdPXc(Y~cIT6{6<}d`Fac&GDWkj{bndy=01b<&nvEDJ}l=q zy5W@^%#7L05iA>VL;J`)(&U0!0ywo5!j%v^qga z5AMLHfWo5dF!~kn!hnPe;rUWJW(>yyyuQQ9qoah~cv0i1U_kdl?cVPOm)g5#kwRdP zw?(w7>&Zyf>zAKXj{t-9TwzY3 ztQ&BuTc~CH5)vn&cTjTzIC4L?gXp3RgQGoonKBhT0veWIB}`B3@G%>E=6~Gd;;oJ< z=!ae3jAs_z&TRx)xQC@Wqxu>|)^Ih3q$b<{%Z=32auWV;SRe;n2thG;7qwgTB`xd^ zU?$5iy2X*l`^@9At@Rb8VB>rNS%vD}d%`!wVpK-O|wDkV_$^n0`mF32*_1#UuMv&t-mG>N<9nC+Vo@EMghBBr^GAM}8 zamhVvkDNPh*&w(B_5RB%oUzP(+v$0mO;Xr*vahjI{#Zr*=a4d{B1^`_b9XzXX!FCQ zjD^lpNp$5Y{iGLo$23D4sryoQZVtFr8c8ShB=0?lfRFR704dy^g~4fu`*7vBb=+}i z4PMJXL5=(NyvHpvII{DFiJkTXE%{tce6C%*L@uG;X{m%i!~a$Svh@Z0)4#U3K#?hB zW*hgP8j30CewLH}5bn4h5L8@pyrqN2CQkfD`HL$0Ho6?u>XAs`6G_|Lfk z10!#<_1B+MD8*H5;2qXnmpJi}K3|N;G6rsTldeP5#%NGTG~iL!9HO88sV}Y~`F&G! zbT3JMN#HY>aqBibnK6DU!D)q6)sgxt*NRHImYx!{k?g4?Hme#jg<{<`QBd_YP!ElrA5Y zKvP@fmy6Zx@t}iY&O2X4?jmlSo`dFfadF5eRpZ&YfV7NHEu2*c{Dd<;cxO90=lZtSul2mEqgb+@=ef=ipt5v%4V$9a znUchTWA$CXibi%<8k6Og?`|$}Hk`AP59x;))67R#n{Ie2|H;8dg7%b$;#}1*Q$ajV zCzS(`95AoQLIs^7w&F#XPVcbhlbSLjDgta7@p4i4S=3ZIq$Z>8#_&7Izzf7WwTxm( z*d#6cS66)hGzy;KlraK;^@wvBWYvfCxT6DbJupFU{go1c&2-l=QD>vgp? zctL8(KbK%HSD@8DJ4R@q0sGcqTc%)v;4RhXgpHuieV!fv%QPwha|kN?&@BU?za#jk zR|G7R8i{sPA%wYd43eo-M81jqA@9$Kj(KdxBJ#x$I)EFaj-ivfngSjTV|i>ipTuxZ zZJewt+u;lu{j5os*XQ(qL^fZbqp~?mYk=kQJ%{+TyBDDfjM<+C75z*c-2P}W;SaEz zk8Lk(_x>T!H3M-OV+({dokcW^K8y+Sqe6!~W&^#vdOsYQH!W%lNGu)J&|GD)y>_{q z{?-t=Lpet%o}t}8a@l`hPMebMhSfgHR%!VQpj)L-7eE*?nr*D(tn>->bQJb`$29Qa z$MKIr2x<~yNXmdMK*;TD%JJ_w&QC#|KFN0RyLG1VB>YIw1T^DukROY)Ap3ow?X)yI z0c2WPESn`L&z8RzZOwNufV`!g2J5*Xfa5Up?TQHbJF0<=I1VSxaHWyMem6<@oKLem;F6#v?>)s{)mN=n%ViOT;fg*+43T`0q?^^K$`_h zQh@{(^hejX-93@Z2V0Pi)9(Bo(F|z7`*Kumv|Gv7p9%`ez_E2{%J*=EobWe3H5Hk2 z`QH=_B0VpO@ZnEjZA3QaAStLo03wOx5X$Rg(?LshRMtaxgo6~6*6j(}Z>Kf8J>)(3 zQM@9`Ga}E}#d(CQUp?HW(Y_W{1|d-iY8Hi!9_H-s$QwOQ6V`KrZG?sUDIqqa8ViWS zJs!&yg39hvtTU|Y4ja$^bPxKgsa+UkF5!gXBJxO6f^q!#%0?LTD+4mJJG4{&8IDX| zkP&KXDsZE6DukVFj-fXuIf}>Y)OLqM}{s zO-hh6%9z+Wpp=x4m}k269|5QtQy*9CpgW?}5kV+q!)pz&#*u~VP%c$|KwY*zb%Gh&Hk@CR6$QTtC^*S$LSrY$Rqjk5&yll7|iaOEYo1rsI@+7DE2Fvue;}t z&duz*0|NMbq3&V&S?Lqa)yEl64*Y}Rqx>uI>JWPtKa3s8-gX(VKt|n_l~{^vVBSZr zGxe7m6Rif-`g#X6VD*PnAl=nEDrOYEpt3%aKkgO`M5Hk*39*`>KgkNEXsgx|y;TuG zuYw0e`qJy3kzMm#`CR3Iu)f-JJM3Vwq_njfy5F8UcFZr!iR-{wnHx(d&UjJzoD;C5 zfZg7)%-805n-y`@ALf-)KoGb_>ZwQsz+jY^5BqDL-5}05*kjX`6=Vb7`X2**_8k0Cqc4i&Pgo-xIR(-OyDD$S4m~|6n{lcUdlgT+ z3RS79FgK)2At2C!sM)mpZGKMGKypk5^Z^~xDn>ilx-dVgOC8oOI~Dp-8AAMl56Q|NrM2HfS)|G3PldASj5EYPRe?33 z0Q~D?IwQ;TE&5#BPO(7TeA8zkEp=7WVG*Vc_lJ}|F1EO|jriI&iPsmA?MJlc4rG3D zRNrXN+K*WvIp$q#k@GXscJg!ylJ+2Oc6*--{^C->as<1>WA!(JC?UVWJE%IJ4q4pU zpyDKHXPj-}5pWs#Ky67@G&>ST>f`06?_sb~=_FE;>Y{*eTJK(?0$xAv+(C}C&rBtG zGcpQc8tl$_S{!kZH|2#}DN=(e4y)-)6vJWV9(q;20vd3Z!>N&j#w%pcMdHVy{3}Qa?+p zMvx;}4jjZj=NC==oofIr)1QNB3J*pfQmtYjR?vCiX;JJNuzo|&miMI2v zwfY^-d~@V$aNZyh*2z2EQzQts(?u&n5e}90R`vOBE+x`*T5Q9HiTyxFdR@*eTQ&i4yknV-ZK2ez?i9C1 zSJ3s&P?imYV@sLKBJo7=C1=r!E|}G*i{^lA${kX%jkWsb{1HW1(EGl9?`MMNLWt9yOyT0_#aMF>k5)HeR`riS~9;JHm4Nq7h;s<^r)@rFy zWrBhgwA=reIXA;IZ13-&B)adPs#PFZk#_573$vKe$H9{q1@nz9V;i{9g z#%xs%kzGnim&i%a%n&be?x=L*AHpaznz^T_`9J$JDf$OEXlJb#_<@Lpi7DCThM(G3 zwlSxkm~VW~o)V<){_U(S$~%@BN}-gva1oKq9z2UBkRI%SE^O6QE;OT3TeYY8V|t6u zk*pLeLksm2D9B$cv*{`DxPn<<>JYq4xGt zEBX_+t=~xMJlSowm0^qHBn?Z1x?&t{<+Bh&Bh|iFwYyF{TI&|2EK04p0Elc<6Ur0q zBV~@TMxg{j^1?V;C}@7kX@cQH+@y5{YAIW9aSYmXRr*`dx@m0WdXQnVqncf>Ifly?Y+Hmr{ieYn|b46 zHw4YcPD;{R7!qvQ)BBp?dH3(IW?AA)NtA09Wn~!!+x1;w&Q^Q7chQQWB6*;CJl)|0 zqNZ^8vLPV0sq_Te_!HDT)j!5CNOp`DA=L;)`VY{1b4( z6urcNblENSHK@p_dd!h!b7j_~BxPqMs)Ju`svK`mtOb8CE)%_)V3J)5Yw1IL`}5T? z%iU*oB7-xU7Fh%OaHi!CIKrYk-K%(cw>paf6V_+wJd8?2!vT3`rA1ri7rkcQAwAf7_*vE z_X0NTLA18JxqC@=~R+`+dK9nu)K<4@J)Qyg)YVH5|I6sPak2PH^7p>`d%Z6oF*+Cfc z87|cB8kfR~h4vkY%%Cb6@bEFU-aU~yXaDvI{Ot= zpGYs5lNmmVnx_4^nrG_@V72_gb+-12rz-`kFs8%KgQ&Z8ncJFzfZVsz^>gSnVj4&N z9Q#Y0*Vg8+G^M;mv z>3lhcE#F6Scsqo5HY*gp$HqK8l0lOLpw9Ajxs0gB<>H*l(}Fq|gfbsax0FdoZ9dJt zC4%iU-Bk6#{XUYA@u0CFki3@S)F>)2_zq|8zD`Txn5V3dm$e7NtB>NGeSJtUO1qJ; zK^JO$VNCI4#(se{Su25xIt^u)hG^Z58h+U??iGyeyEE&%qH|13 z;*G{hvMB(jSfJn>TfSt`!Kv)H7>~$C5uQUiow-P}j{RBcT+!~vWoNRQQB!AaD%}Th zAc=ajRVmgDmtViA8PjaZCu_2+R^~w=VTUzzneJq+3SfU{hfin;d7hth&P<{X1XXlX ze!KmlPRUh1EZJvl=R8#XzaP)qjP0eQ=L*?HJWv}GyfFZWrz0L`2PBa7rJXD~zI;Y! z4A(qOmb4Q&T22mmtQ|5u{m(n8uDYlRdHU0$esYalgS>g-VlW%7r%fZRZ9 zfr!IRBXvM!*`mM&TDzD4IoanKY)%FFQMBJRF15yr&cLT(}(?ilP%UyRO98jUF47ErL!y6_OK%Hai80UOI8+dnGWDc zTzcT*fMZ%zctAUPS-oQ!#yZv@{)eW8_NW&g<@PO=8QnQgb{E9}Jge>Oso_aMsPvE_ z^oj6Fmy3l%Eh{^XsJRp8h=|k;TGI+`p@$v*y02VCs3b9CXXvTcM)_7eYbl(pBMAZ1Z%jq$PSPFq!RswueTZaDL6mFNkeAp+wz(=pZ>KLV_eW1RNfdBJt zoSs+vDK)f?6(+v!n(Q6gyNla-cnso4Rv_AZUMU{WIpXA5T0Z_*;&h| z^oAARu2Z-WRUmghJb%F-+V60`IMO(*2${}!ax7VV2JIisq`qellz6tM_K+@EtFU5h zuGxkzNABb)HhlrmJ)~nqJu;pTm8f89; zb{?xN86+^!-)2+EutXHgT|k~O_Zp1y*n+B*O_`tCD7|qMekyM~v0fI5 zZW*E&z|2g!DO)!)a4XWgle*(hz3jd&|0o4UNaIyGxe_Dfu2xd^=TI+H2a*hoLNHs- zVvxp(#7*^}x6+XKl2dL^5+u@d4&FfxR#Q3#1O5y_9f%NH;SokA(2U}LI$K;1d+{AS zLI2#?sKmui$FZxc3W9_N6L&yileLY*)W}KUTZbMWDy0CTMg$E(ZzZtl04$ zV^{y+P|4e38~TpqoRN^Xk>h$Y87UK8%k>I|{Mc=afB5D!g!7r%F$cdckmmnv>%n!}eb>XJb zd9=eS^P!uE!2%Xc0ONL~-XGUS&a1_&V3X4+gQx<|iF@!AO=!#5kUdsPKV7u>`qJd^aE^Jb$=HX3d!H87#Z*yNzAJc! z+)b&h_8{B~df_nLC0+SzCu6oOZ?&>D(t70`(V*w2!?QN}a)C59@{!~s)D-Plsfr0b z*1~qPjjzGM8sSToe`Ob6gQn3dq%osRgJKDYrmbXZ2iv~wuBK3fz^PF)CX8~N#J7nf z#RQyO(iWWTW}m~MF*Q`YuMyLr#oGbbKHCK%v&!fW0&og0Sw2a%y!b5EeIx?CN2Vy} zNVB@$0aE!Z7~)ZlId@7vFtLAc0qBA0ZxC|(atWz$tDhAb_VAms<~!B-y0z^8WyAIC zKf(7|auRCVE0{6mwsdU=)fpx7N-T>6_g)V9whIxCOa&TDCRjYqppyrpP&h->+~SDw z4(C2aUT32%r@8KMjs9H1^*G5?7nsK`E&cNKX4o*&fu$ zlb(?q{Yd1$0sYXnt)Y{@%S&T@lXc)v);^;>CHtFWC29^f2;$$Ojev&5TpF}Wgvnwz z0=*`X^iqYTsc@?^p|@TZ`qbwomZ%T4QnM_21Q;_1yKL!OB-lfn$H^)2+zm?w#F7Nf z@*!tCqC^^}Uj$T~mZLB#cz(h*vp=|RB1G^L%D6?~R3>jU#8ner=fjTDGmRZE6Pcd! z|FAAq$}lA2EaL5!qI=NssLmw%Y(j{r&C@;7c5wslHLyCI-rYmFk*@5{I0`Mf+`?50 zT>C5(%0J|TJgSkx^X-U}kI+)K;{~Qn)k{6F1tI-H&)V}pXYV-u)?{j76S2b-Fm^|!_r@1Txx z%CqNi#3mI94R;%fvMwMBx=Mk+qDEMQD0ODFsNPh6C{}GjrFxd?QoaAgHIGuA(rUY! zJ2(z4I0Oz^6Wy`+(0d+iG=g>6c?{e2XHHkBsQMRw*khU3?(m#s2c*){BNOD_#i$g3 zpZC?`{=vV9`>8aG%)GDIKeA3OSC(rN-{JGyKEQ*UmvHXmG;|?SI~O*1%iF)=S-VI9 z4pDIZ?(D$uz*uDbgEZOIIiz!|djZPCy}(pmPp8%WI$vGT zJB~hv1BHB!exFb@Mq{te#z0z6Es))M{ZbvNg3yxa2b|z&q&lw1fqc)GM?52C7Ek4T zvzJ!e2U0V8R}gn%B5(!g5Ql!Z01QNyL~=RRskBp8rezi{`Aa6x!x|`xG-#JF@mnxi zI9;~j;asBRpyNn}U`bH)V|Tf$${}-@ROYeC4jK}M8(6%wzRX1{u0DMNud+@)7bhE`u-65Fa7N~77Iajwx zMIJS~exe)6Y49%*Qr1t2G*Mt6OFlo&=oIL}zPq9W#$-jk5|EGCv`Kc5)rV5Phcw81 zY4}tYwgw_E;5$Wofx$Nwncz^Bvz%`NEb>*)9)vvj*)Hv&cobCldj2jyJ+|>Fx=kgw z=>r7EAS6i$!^n^Q_i+QPtVn2St(e(-D3j0*diD?Uo~H1j+29DWAS2Y=Ci&xd}+*=EhWeposnV`-adC%Y_1=<{$>R&jC5 zyaws_-r)>zTyh>JUhO+fUcbYylA*7R zk`A0=MS-5jz9@MX6>9I|(F)x`Y>r0CwogleSRHbyexyGEjT_FXmzY_tW8vjDqq)T| zran27qEAptmgPo2+~9LT@+g)9Jq?Dq{>*ngvkZrW=}5RD0}{lU_~q^hF!j4QU@8^} zh@vWnuV9xbs$F){cU7UZ^V0&M?rGIW9r1YXuB7?k49^u~rBaZr!ieEe`4Ugz06PSSK`+aPsoR3s>3m73@Bzr4X$s|{G1%{xX_3ALIta-&UW&XRX{M; z?4n>{<{d7?8Wv+2P_+xDg0>rE4bbf$=Mf3M6fN|CCOA`c8E{!(@q2j3bIpfC3de$I zk8WOGLcR3y$a5h@=jPn`zQ$2@45=AZ-n+8t%0a59fh80{q8QuAmxG0Ax3toVIj1<& z$q1V4805|WoG-4G;vYDK?Tp5(r}v3sIKsqFP;9T5_6a8()|H@^!g$`DIl=;fE_r(Z z(BqhA+(cw=$st#;}{wW@2tcVI(xBsm@PAfGIv@#&!Kb>GzL_N31}51DaW zPmVbbJ`QUzX#cgTwB-po_)~JsLz$6Kf%g~az%Na^y6)APCGz4$`SUoElZe&<=W*@Q z1={Bh7w2I)U~BV9dLE&SqSCpT80D&j<&k~1rJ7l+nR{@PV3lb(K@|c1ys)aOP4HI{ zVG9xk8&Y*{-zbdv-F|b7FU#E$||-o z012&NUC`xMMAuy0_mRZwtDbkgqdUAe!xd-_(T%!jcZ&|Ua7ZnUuM+R{CF}a%BWW)<`cEM9RF9V9fN_$#uOWEy;T58$bt|GbQ9oi5frB)NO6msh4Z!V z4EM9uZg*x)x~YrtaQlpSENvH*w1ot2KMOa^Q}pTqKW#-h3@N!{^Qyk_aXJLIdIBTO zGCe^I__I*5669X^I{lLFV^<`B9dbzcXBSCsaB_a|A)lY$lj1{&JCqW2+CRn0UzFs=jbj*szGgwVKSoR8x%oA6Lk1CFc z=Jwawm&_c(r2QZ#DsO$DPOh+!x?GdC2~#!UCc5Xq?>pS8Sx|+v@IhDMC$jnV^`R0W z5W$?r2ff_U19smm4r11I@gds>9GXJiLpQwM0VW7DK&Pjo@PWdu{#S; zl>y1%4sUq;;xSnP!}^amH|IIiz4E}IRA_Q=64;a$p}l!~8T<MGfeOd1K2Ge zwMVf8=2j>NG&3B} z;M9ilJ=hVqCtV}O1lHQIhHe?n)4IpT4{t!7hr?vq`&9c*Ti zgvfxHW&3R(+!ZldF7P9>6RvsXG);Q3SQ1g7bg4StG0oiV7M2Hy$cVOrt|Jd6HAJYS zi@CfV7j^nspr{q7V@MY$X=H8;JB7#h6W09Z`haZ+V&0xMfLXcOYlTHGv{Q83wR$Oc~CEDI^^#nJM-Kf4OdmWq84bdvg6bRABA^S{fEOEfg;v+ zsIoDp{^z$g1c>t>US6;@n)Huu!DwezTsa3fM=?u(xF=ZAt1|y=cDG$O&1CHsRLc{4 zjjCuX4GwtAD892ZFR@+}=ok7{v3Fw-;8kAcK$s7 zDb(r#jkRTleOdkUTJR9oGH2DbcXmHWsgx28V^;=qMN3}D>UN9mYOMo-WP8%VE1HSn z&(6FoZnf8yo9MnwVai1<55;7iD6caF{X-JM*;p_km?-CP{X%tAOvpQ~W4^Y#@)jaC z=^Mn`DPThT1-1Z6s%~w1No~Tj?pm23p74O5P=A%)`W?=oUS_9Wvd9Z4Vkd<3p2F-D z$(|&`0XyN2H9hW1--jmkR6^J=S3a&w$LHXC)(rnAuyX|FMh$&?9#T#YBNaPKaHgv# zY`i07BUt9%)e@Qvxvd4K6QKmg_KxGuNR-@ELaU(lQ*Gam*dl?Zfg!YpXvwYiWP4ZP z^(2vIcgUwO%3a(26mIQ1q8X4U?#ilFcZ2vUGLEPUzK4++gibREtTWWX`GD_mO8@WQ zUl5#P?_)>va}+;9^BXr03Z_?qYX>;iU14jPi+0n0KGaojl1{-ZL_RV&lBhD1XLr5* zJ}10((s)o#y~H*03M3&bQr#Ru;9>(7`26b^hIKmJpW4cY+!!>=CtPHaM23)If4qMQ z+InDv$(x;c364&Hb}lYrpZ_6Q4)u$b6&a~)iUUWJSF#q8i0sVoS`9?f_Pc}gK+5>| z;axT!kSdDW&0CZWo4p0sHGpL<_B_7o(mH}b{RwBD9#7f(9=L9# z?7o<1WKG=(VXu7!*}6YhC*2R>=UF|%KP9?0exfhgWWGbH^9*^mh7uKcpWub9id3B{ zjE=M<^0o8Y&2)AFEvi&q@YkejIw5OHoBobzT(g6HiCk?MM;=JSTB{rkNLZJux6Vb2 zctve*C>MK}`ebKdX~XV+$jZ!BWBtT7gX_bacl|VN}WX2(d{U`7OIcQE<1Y^#zBi9=x3y&xn!5riGvfqXJVt)wyt|x=;TEHy;)BOS<}n zw#lUAVC+#{v{{g>u(-BG5<|<@ijI{_S@eOkx&ve_wSA&GJeGO2!M=Qn`M_p@veM@G zitQvemvg=i0=EPM9dfepjE4N<@|vhA06TsH8CACPE;D0k1xC6Ah?QE}0U}4mMrGy9 zjJ(sOrgwQzpH%~)(8|>y#8X^wMCKOn*arC{`^oK?c8YX9eC#7g3^#5ZMX95*x)lY@ zj^%rB>^qPwSAPb0w{nZVV;T(1oJR7-ZZ7PFTves1W4yhYv;{k7Z)(HRz#0^!MzmKZ zS!E~(3x~orQ$HJT4{W~3iS?GXT1L2JA^$-!YIWHTTKbiSd4$gwPY)Tcp6*I=ANt20 z#GQ?pkT|pFTFK?W0PTPgyV~61TaV}0PQy=An5bUDYOV!k!#R39v8tEGYxW@_L2qmK z0Uu+ME3(NBY>2L=%s0YZ6h|5e66`w}jr}@4$wCTpqMbK z(t(}!5etLP9buDjNGP}Wuz|yz7y{IaVhGvGPr3{*642Y$l(5H!^8w1E5(E~ z?+NaL+yAW~`GAP8Y9acvTvQwQ6aG1T9H|k{I8si!%jOCQPmFF;J51u+sn_FYc zzOzzW$_fW5Tx{myf-EG#JB%@4&k!yVjLEu8I51|#tNhV2|Ihogq6}C&vLdg=8y=+BwpMCp& zOy?*_@)&Ga8ci9bJN@iMEc0}&ml><0+V)3%(x)THoIWO<>8Qa5WDtvgO|?cu^Rw?m z8(0Wanf2Zx2KXtsz=i45G&`bdh?;$;wkpNaiDtMh&Zb`CgT9t2C6Y=Y4nH?}pV;$zaR zZ`;KCc^IPU+K~K?t8bEoO+J*37zDKI``#ZxjYLoev?PZ{6sSApTT{{)x4obk+$*;C zP?K|LVojctYXi!DbTHCB3rmkHjpFTQR$kKgWcot;SQeI~R(AnaS#Oy6W#w)L?kXH~ zAl=htNaCoPPZJamXO3*j%->B$57t#OY|rY6hLVO`IKp zRiZB^=T7JZu0dl^+LnV#!i2^7W?|_^OL3?L=n$;`fRuVn0}YU!UB`K(fD%xM=w>b*&M(sa!Z2|xt5qe@r-KC36-U}FtDomLjP~rQ;X+IsS!rTY&&l+lVbna z#|Y3}{zUL3d%Z5Ouy;(eWg9fgT%yROqg)lJ=;|hc+H6_dGP?>XbeA1(Ybpqur0XDs zYe(leKQWE3zm77yZIO10@hR&6i#6$68!4l4rUq1fw;<=Ojv2=N*(H88P)Ls3f~vm5 zn$uF}P_j8{>we656)X;ALww;`wZme#L&vj96uPTk8@?ZJa_HIl_^$11|o1%88k=OuVGJjl=8wl{=_m)wR0#7#HgZh zjDyrGTGPe731y?`SHT(1ti5CVDZ&f-bAv^la1U=RSM8fg)eyj>zXV3o)DMqijTXQQA913_gdqGp)ZYj|u6VmZwf#n44LF{x zV~*X&riU`66PW0;DYD!i3X)0c$}se>+Rq^1jxNoY*oSGDf@krgQ<9c7Eku78-SokA zkuE`oZeoYX*=AclD{>@<1-$t`u( z2UW-GYhx!_U#JA{CuMDl43h1JlVO zLRjdtgs(B-x>iJorZUP=W7reV3pKn-D(U-v^KAmVPr{vC6%quw~ES{0^&x5St{o` zs1P#3>8>rLqCO17(yEHKQYkvrAh4fX@}{rKGIab=D{v)?frUm~Km% z2ik=zY21z0-rndllD^MF#d2~lkxq0#a<>9W$f_Ak$n%;K(sx<=-vhaxeGwOYN_(nh zIC|J}cfR8}W;`R0({lypRPxbMz(o7NN5#i7;Ql5yEMz$5Y`UOy5%q|CquR1Vc|G6D zJGLP!mIsZ}e&P|ly;AT?K!H}s~`p(q!4F|YmnY}=FS=c>@wmUsoAMFqn zU4C$Gvc3FSp?MYQuGmUCP}N&W_vU>`1KdFjhEj$w>G}BCKT?)pmunyVD!?s`asfQF zo9q^A!qTdU2X@&To}E%c4m4oTBd>x$1A>Hd&44^>Go#8YW1k>>RYB8dI$b4PM$V2x zfh+(5WNH|@$n@EY68CfX%Gm4==0Wy^jSEdEXqfiNB+pJdTFx?#^U0^8&4$2Q&|iiP zY&XFY+O96d@UsVaBASn>P3*XRz2bTX;^n21hLG}Ff9`CXv!D;Hu}OTO`Xm`(tVe`~ zzkTyRK#4n|x!UetXIG`4x+iN-N-`wnJlBhJfR#`NeJuE~GLe>t(T8Kn`O_lZvCLu{ zx@2{MVDY#-@G7(KM2a`l#&wMo31X5r1 zSf4g15^vJNI>J48f}wWt9jPcaxFuLhU8`;TTk)>-G5z_Wqw<6{ijl{tGB}`S#20%g z^4&J)4Dx~Y|J_va=g)~EL0t_4L|NQa)CKphe2zstqtQlxKZP}X(jhXUVT$`+el&CIU=;xg?w(XTBUaE z2v!6gOc=+iHEykL{dD|2op{>sL;!WtrN&e~>A(TDox5zXGZG5tu_ox49`ZQF83#J2 z{D%{|^|D}qk#YT^+wXX0yL}G$c96cM9DzA`ok}W!%!xdZj6i$}ub_HM;S~Pst}bq+ zqiqvvU-?aWyMvnfV6Y~4PJ#Y#3L_*Yo3K&ad?5# z^aIRD_l>9G2~E)I%=9e9{^Cms$?n1Z4$158Qw?GK@3t)cSf#*J%v9S|*WZpeTh(VC z2#N6K3nPLh``mXF!<02UVX}KJ(^&~ZFiDJjFdWz}G3oPDB~G6et%-#rIgx%@9J!$q zz5hFyk&B!zS<>;wZ@Td871YugSH2YEt!)T8T_bDTb+I0&o$AVhK=D%a5CJgu3ho%h z$vlaZff(jMT9pbN$dV&aeVTj43MH`vD-Gw6GGSByl9NW~HvtgNYzCY&nM(>wBuu24 zt_$Zm;ZPBLgnik!SU1lV)B{i6GGYqG3uNuGeGLLeSfdWOd^1ULT_3JHdnQF{Fv~q; zSnN8O3odCd0`kVL9QE9kd*3mO5mlOZEE9VNVG^y@CIWW|K%$8vaB){)RmVzeC^zeD zp6ykI`ul_r^J81^Z7>VR{++LhWr9haE{PRpG|@%vEr)OK4_?V8N`!M_z4km8<1vlz zufQIp&+gJ=DI*jz zcT3SEgF%~BAkx`qrtX2Ql)MGJ_60O$nP7LAn8NlWc-`V{X*ERsAq77n&389u-R!!n zN;+^hq68jhO!hz2fYtr0)!GNB50{GU#Cd(2OwlvUg0P}{M>c>QWxr=9ItJl$3A9Wf zbq4@a<$Ax4pQ2=W1RVe#FKb9cTb&!J972Mvf zVr4))36Xq^W`vvj4rd5+7UxQ$t-FxGsMT$v;8TH1=~JGzp9Y3u?K-a`T306(ii1GAymom_?ZbAdsq@A}6$6|N7KN z6DzRrmHRdB0cGopY0eF0hT^$a02jahU4K68a~&`N*7jlhj(-wKN2_0LnuTRKu)! z-GEH%wsmdWZCxBGbN`~9RaE&^;=2PG?s)~eB!-!hP=?lfQi&K24Z!Ck`?*9MVW1*baI@E>MPNdabfj&$t}sE)Q@`K>3gd8D0f zW3RfZCbwk;C2M1UDq6}oQmOY}2ePfhL4+BBpxrdd?j|h1I!<>ib)ITV+4!9_#a85%sD-Exn{-Jp(y3b-a_Cl=dhVr20169Pag$H;s@Ms?DAU?aW$1&J+OMU0z?Ku zcDQjaM1*cp!;*t(RearQYUk>Ul%KtP``u(q592ThoVAd-Ug zG3Q5JHxX;dqVSL%UZ7Omv3KqH>x7TUMj_yA$vw{QM#c|oNigct3DGoe&jH>^RZB2! zzxV*w_K+X6eOB2X$Y7KdsFJjsSCP%6AMdPG{Y*(=f9L7N6Yk@>^>Z7uU9RZU1)kRq zhdNThg71Jv>P{nd`&FxD$?o(j$<)*miYQ|KRW@;hc9R0_JpEv+j0pqI^Xpa{@r+tF zjhvlyJ2kxEFI9n~An8Jba2wr4b?a`ItYsF`MyeL#b@hj)`yI|TKQhnRjDlp@e{?^q z0Y6~xsjE!T!9X%RFBBR=S<>C^NU0svJhEMW#bj5+h{<=7S0GE-$$(xVpLIo)Ou-wz zm)wQ=-gn$s1Us_x4n=#)E*2C~-|0G`o;*-L1&$;ul%VH+II3+|5vn|X)bnvW+~mx% zxq%EBq=8N#XVOmDntM!rpQ;!)8FuHQyV zAF`93j)=g^Jjy1b{qNX@wRjmcNnc}y@o#s4iWIgkQmkdaJMSoVl&5XYrR*um+Gh|7 zIx8!dA9d*`sF4HmNZSyG)y|W-)g{)BcEpbqjDrzIX89CcRa`+T@R~B2DN^`dzxL3P z&pWoErd}XSHo%%PU`r(ORp27DyXn@*ec`3e@2toL2*+f*t4Lz+K8{{9yPsgjEdp&4 zw{)?`K76;fRDqB&K1Jx$9VqrDP@!5}OnqUb@j%;FGkNX7jOrE2IS^aL8I$N4ictuV z2KyjYsM?K6q;499OOYl;x1r^*i4ZW?G zD;$#}Yg+=A7pp@xh0)k3`P+PVr!uR|3MN(evhV+6S8kZ`mt@7%iTKM65L5E2RI;Gsy~cVNRTtPH*+ zY9N<(qWrYQm>z}66>tMvJ z|0@VMT!^m**Pw%v&Q74LQ8W4=fytTO5Iw7yC>Yf*B>sqN)CCYG8H(@1oaQ(M(-?Q{ zT8ID_C+VU%)EPf_Ib&lC__UlI_o5FZ34u(oa!G(nD~#clfGnU|mt{l1Alk=#T1L{1{&3 z!V(&Smp^)!P=#Qj3<^LgW31hS#m>R(E#>$mI2A9>k4v~|J>!spzAHJQF^-i9Aa->k zqx%l4%|}K0MwoV8qJFYhzv6wQ3ZXPQ*`y1by#*_i1C-zPE`tZ6A_V zK~Lu9c%L~Krcy>OVMk!GvdAfnFBDYHCWCqDR|zm;8SiN@C94x-l!OTfTZe~0T-oZX zb%OgC7gdyc)kI(bPjz6vC);2Btw%LHFG?M=ZN?utBy4~E+GSu`5)5_l7}`Rq?aZq~ z>H8ftsI|31V@kbm)_#4Gr_fg0XIlwfvbhNP!f8;d1)5+5fn+u9b2T@l8`Lg=bhJG~ zbf$n!Hvql69Nrq9|3ow29)l7_w{nvnC&dPPBzC&5EeP_F z#2IQnmC6Z}@q?>;hc$N;ZRGG4(d9?;5?)z036Y5Ki9ywTVNC4xoiFtV%N2yWtIiy0 z+`{^$cR#_6W8Tu34k{DeHOsrqP`va$gLgs=Js|HTcyb&Fg>Oq>taH;SnDQOYtd?L; zvfr##s76P2!7>%xLEFR*t)%M2Z()C6m7f%6b}z5>*~yAYHUt#{Y7uR24a%~{T{k(2 z(%Jr+o#6YHD6N!OFNBp2K*URJ6#<1e&8vlUq&*_4FURqZoJmyYJXRcJoEmf;>g%9O zYg@+zzVTBufK^8*DnED6Q0@ZC{_ni(<72Js@yvtdDI7#-pxhrmoWBB%)V|E}W4c4` zSNE=Q4aQayeeSNqr_5TTe*;ZNY@@$~JBg}?zAazqtp3Fc1$;)=2)@B9le>)Pp_1Lq z1?@&$4S=22efyqKX3ohz-0|Is z#jH|oR#1Zz(=ld3X(k+kq4;tng}*`umGbH25*E!s28XIy`wpqk2jn@Nwn<>dcFvpH(j|Abk~5Bl zVX$Jd{+Yj_MGlWrBo>+1IAeWHvfd%h-KA&e<_sr60Xj~j20l(pK{|?&?L22~`Hv4sO#l*CVTB&o}gdM~yu6drE`hKa#2SjpYwim*sqNrs_UJf^?E%naE7*B1Z?J1`)@9nhm zs`T*=XP>X`9DDh!jJm^z@|QrxGs{3(B_#xeR9OlOR;9$_A-07X;g@vT9n9=Domq*Q zRnf!>R`8^;Pz@(mE1Ogce3EeB)Dw4y46M8J;#~2jcnr6GEx#T{cVxq#qYPf9wS+2k z#WyC^hzqD&x1v-WUkeG}4EIX)9Xk+w5W5QUH_z<@i#Ng3;aR=ZcxoL96ys*MkL+Wm;m?|XOcYBk-u=&uE>$!P|eBYqe5 z<@Gq~OJ@fPdVF2A9$Oh@!2f)mS(4;9vSt5Uq<4~TLW~6Wzp;mN0V6JGjQZ%VdRZCa z>LjSp;SPgGnFM_>o*{}Vhf94+nkRX2F4V~;@+2z!rZqdxw(~JXGJEGRkFe&8Q|5+@ z?1da7gS4}&RfCxjj}AAO-ryK}>W==C3^ttLJM_NXzD#NBp{M#Lilg9$wpxZwiEi^~ zF5z~Xr)od$*J6`bam{abLQgvY^=^L;5}dF1Po>l!YnSiOpU0`a)+2K3UMh{fe2bfB zsXVFgky{V*Fj#J5LuRVA40wHU{}ah5Y{i`fl5n_W#h=98`d?IiHiF%gn|=<8b@26} zAidiRE;Guj8{LHU0bX*yI~_$fFWEty#HPr_X#(Dw8?L&4q__{-xV!WNyjyPcf~0IF zJk%oy9^HCVv;n^xRKOd@yko_he6b1wpxm=dTxWz?>-pf=1OT12-!tY1DEsiVsY@a8 zbZ+SQ1gqDW^Uvt!r7Hp@2sMK&3qG4pciLs2VD4*`-GyJA6+V?=0Qm03h5gLN!J{I_msKHoxpq!&EBPh)Dt)0D>G2X<^VkDYN31d(WQ%PvcXvsJWww32xcL-YRDyrFOBA{{8+|{6Nb{L!K5{*^b% zo6{sDZ4=qic*Iw;{WJ#{sdXWzgcn>R#)cUAO9oUlBRz{TnPJNLeFluWnC%+i8On^! zv^C+he(a@3l6J$oS~4S2c9y1m%RxS`^m^kH*<|5Cnk?tWj}|s%8*^t+ZJRTQ6kHd; ztTNLn_e6*KqkT(+lM>5TsXu{?8tBr9yWDn30SmN^z#($NeRAQJRY%4FfZK%Csir=w z+Ga=Tb-^=^GE($)&0|vArkMte8xG9cD6yNQ2-`I5(4g$ilO2x;jL5a1`+*J+h!@bR zU$*h%m!ikkL%xPGP??m;-<~mT>YG)X3XYiqpuHJiv&!;af@aNm1HZH^kJX>ULvu7x zF;3w+5U zeBs*QXgy<0o&q>Cy1{#lw+~_6g<~0N_vE}9+EZ?9D>MAWag8__hp0R>Vk;RK<+XDG z3lq0y@w!0kk%0PXJeRM#F7LlN2Sb!Pj(j)2+BpgalnTMFt?%+ol3D zr?^Qype=vwq74$H`cb*QW2z&lI!{{eMbVl{hbD8sjeabw$QnwAES}`<76ke~FG*{# zH}PX0no?PL$&dW4*ZkH51iZY!Ph4J3lPQwW`yORVWvd;K?r?kJUTn~;t^I@&_5b*= zLYU8{4K7*rk_$CEAZXV%|A4tW1&S-?Rn-<7>J{(G?iwKMG0V~3{dy}A`-zWtHdLl2 z8~9a(6eCjmo0wk22VqZ|=)gQs`Dj2j|EqEk4sneyBF-40UyX10h#niIvtkohvfo~x z?M@ED-j!{FeF=EKWd8trG6gijG#24&;M^ZqUKX;$3FKYhLII7DdJ#>se?2%0S=Mhs zLh-?ric(<2x=B}r+?&Rp#LV|n4p?pTm(M{?X={Z;49Bn6)i<&+STEv8=3`T4O021a zqxlNfS!Q-n1#w&bQpF$8ZD6YAc40{>e<`?|1K~gZdKA>lQao>_hRy; zNmA>*7;(2Jvh=x~Or}Tu&)D_cI|>y%KiA2KZQN~PRN3*fub=y2M%c(arYp{zPR}aR z^fm*66U^`C5eBw;W0Li=o`tOrzc;R;8c2X5?qm`A_Flj=UG)DAulKy^d-h*3A-m&B zp(&&OR`a?gaTNeBypRPLpS`U`6-t?(9p$yAfcMp(q{8HW+nf<(TJL+TiXUkbc&x)+ zd93Gdh}}2170K&rC=QRN;P^G8>6!b2_Ti8VJd=2T*7*186`ZDR-?-%0g*8kstl7L! zO*PPl#DZM9?itXGM+iU=DJ~@Ohx7uU#rFrO9*NA2N;IBU!o@Arts>`>>sfYfI(i9N zsTZ3yeGz5u-0Si7LYx@kjZ_fF9bv+iE*GphpEElf zA_sOmKO-6gq$1X2k?G~yUs6Q(^Rrpi^a3jEg0ca%p-n9yV|daW){w^{!SPc_C)f9W zTY=3dMX^m1x3*D(uKtkMlh>BrC{zdre+=1LLERXa58>>zn0hBU<86360vT07RQe7M z3ngED?z5SMaLV?udWhHOJ0I%@=X4*OO9|sX*vM0P)AEdB){mk}Qde)z8}b9}_s^}o zp_2`kWj97pN7s9LOQ5kxeAU4f0B0yGH(N!(&H2U5@f+XR^p#j%ok4=gi*~XT0Jl3w z!`L?R4MMKIbA+^=Tm=xdk~a=Fk%aHbAz6!y9^4}@;CZrjAC~|e-jZWkuzBMEvBH(k zXdeB%r-$;T@Q-gcg+$h{Hpn9~ayPWp@4qKW(B@3np1EO287%=6+-Z8Pm9axMvr?F2 z(U2#U@1Lbtu*VW6Y@|S)M3bdlc1{9Ht^IE^b)N)+cC|>6`pzMg1-VzNE-$WXuSuk> zylVKLaK^na+TOyf)kKoEGmrbZmMG`CRx^e?b>F&!kiX*M4LqZo zmD?ap5|yzf*`jS6wu*O&d+QaX6O(t18jsjj-_JHq9-F`=K9O$?3h@loW=W&wX6d~R zr+Y^1SMpcJd%pETpOMYLl&vf3WS3c{f~j*O z(#*ATS6?-ZkLy<9K@M?&L8!M`)Gpovu~@Jy{GaZ@ zFlCZ0X%e-`wlzVN8kN9Y{2P{5Q&p6+R zES}fM`5D_V<|#?_ciGs=3CK>i-%E6@ez@*J164>9w*pV>`nLUTT-Tn$!{^ud>KjU& z2b~m-!trHG00i;KZPw`~hQS*xL!2~|nw6jNcX)iUVX+K5X7lw`HCf@Ld6F(EjIcHG zx7N-hg5doGBXziK)ws@V*PH;Me11tqAtxBLCCik~lM5|Xb;asy#q^O>{Nr8obR&M}O z+6skdJVP|0h%_Dbi62XmNu-c`2I&o1N~p}NZgzL z!ARS^mUmQvHne9buK193mQ2G5nSQW~D^D>IOfDKi*2Z?}4XQ<8aS%*P7GOJWbP~m| z`AiiVqS?Sru4U$`!bId_)p|eRC=IT6$Hr|l%znl*5F`caBm(58BaI}))8NG}mGCAR z6%#JOFd(iCZ^5|nesldW##=&}tNHWmo%)Sr4g>Qwy=oyXuZ{UN4Q0NSy|OkyjcZ$v zBvH^dxRlI{lkr@nO40v_+ulO{3hwLi6WusagGGrRpb^-m%ya~!0S-{>W;b5|9!8Vo zVO;3?aJ_&=L3@oeT459)-tFC2RSU4cX7&sW2NJ%E+)SBRgW-yKLoEd z?%Lb4YtAK#(l-VNZmG*X)pnacbWpCa5m)5S++T;o1Jxl1^WuftijuS;Tp<~L3{bR( z){ZzIloB`?Vw>rYt?03NfmP1Ywx(ouxd=B{+BqQxasUjc1yg~!^?B8mRX{Trh&HL7 z$9*PFrd$2}S#}sYE;rmSLw`typVeMyueQN5mD90OG|8^h`wVJ6q*-sfIdG)tT_cCW zJF!ow$~tl3fofBau-+L5JGzwYSzu$mJ3Nk9M%7l@f4|e^kY(^?+!^2%o2`o`Ezt^o zDe;;b#wBmD)gM60d)ovknAuboWo|B{4W})vu}P=(f6C-MIR}K^H^t4!ES36@Gm*YU zbqj-DFmb)SQpptA$dGjmxsS(4Lhh-XGGGGLvD{QCdz_~?fKs-@2U1GAW6cGG@bbp~ z8S%`3RBWRdv+s3rh3L1i^XMhE;|4hy6~I-E1KK<`G*^cA)!(Fzh~)in*@=C|H8Uk- zNt{1@36bJZ<*y5cL|tUcWK~bnmR1$HMBA>0Lx}5j^`AusNbQAY&eCp>+WPZhZqjy$ zR6u>MUmB~I$oRCiU@|vUE4v!ekTCF>H_9EhQy!qt_R5-8NQ0DEss<-eO`IY_%XRg? zKKtkdi?3^MdJgDDz3x~_Y5m}|Z3wK|#1%e3b$_gocm_7=l0lXnVA3zovVZewqmEV4 zH|R`Jwu(V0DI^a7hcCMVFH z0~3S1W0T>@V9yU*miM1`F$I73nmM`p2P3eEDk;m0^_9toDq>83b5nrVT6tE{V2ak$ zR;XQfT_VM4vrs51oL^C`BbIr>sk*VzXvSO$Nqw7Z*@<@%j1Z#!Z`^>-bcyO0xa729egqT~41T&6_VM&*I=}*cSE-nq5U~f=E1+xMDDWeT{2GGO+ylR$ zS(YVq2CY4>+%5*rsW>P5axLJ4^;y5zDP!pPhP6Kt#+%y{2$HzM^|oqN0xG$41*84_ z`6NgTBiCgW;nfG*#ui??&nzx{1>_64zVT+`xy_n>;+iLFB<{!DErALRE`0GPDyuI`P^4!lwc3MI zlAs&w0<@qbm>LF}FFme8npJ=}l2x+$zFcqOblZ@YjU^g)u3ti0Fz8k)vUXcQ_XOZH zxC|~;-K&q9LK@D+1%f2jzt)#Xo769kl4KLO#%Xv7-1(2!V>rif2#>keA1CkNm4!e?~v@C0D5~=J=?^WJ`mO_9DeJnBHX}NX9Kk>}da|t;` zlJa>ODpS30T--g5bpw%IH_JpN#Ld?{XVHHRaFUpp+nR{WfNkyq4n1NE6ZP7@&=Ma% zfz~Pym~?J=KDQ;Zc|-k0Cw8|q-~?$6VDJhM4 z7Z@R8$KxG9t?(uQX8KKDaMxYD7$B+p_%RFQJG&eLOEc>9cGMXx*9PrReZEg^a=x^0 zifE3O+NirL0-kHs5*Wwyf5-Pqa(zII!sdnO$oB7SL%UZf)_&muir zjN?e0B1j_6@Fi+Rffo%mg6P0!6$?7&z9gu49D5(yOOupk6L?|?Rm=?HCy05Vn3f>y z=LJXawm}vK+b(1&fqUoQk756-mW)~zg6bZKT^NTr>usn$|NE)L`NBr}jyqWAucsSW z^nTS2kpJe@n=~l3VF**F&AT^Y&mA}UyNIOSxh_c$tcP$7Bb*|xBzP=0;G`;v59jzA zL_jn9gi_^I=1Nn&^8UCG@Wj1di(WQ1dOzujh-ObIwq(Wc`0{++ua1k0(j+*gYOxW_ z3L}#vne69iPd83a29FZXXpSN$*pq*yacqO;;f5;-$Jcm>@sOa*+T=v`RaTrFLtOMO z7i-gI=W7-MukTKnr`Ard37jbAVS*#6p@XmUL=)ZAiMUt*#4jvBZz9jnhK?jfQ{p;TTaWkztLfD>_& zN!t3}hvbfPf(vGX3&c=Sg{09t?v4`L*7`mA(Uu0yT|S-YKE-zug`%0$<%{G^=eN>u zNKywgA#z3#8wE1bU~XP}wCZa#&jsXCwAfqzLuZ<%{Fv+8ONkq)--l1gAv4JhbA+N} zdbsiR2tLhAAhwiPgV|Ie!G&^!dQaX_)=%+`yshvC5T_nvT!OroTW&yL>g}yn)3E6_ z82$ium$ES_QE^(<>u?{db#RTI;oT%yF%4OXDkkO0Tx{HDAVSW(`+Wd8Od9}JuWR$W zM$yLn%kfnypKV{o$}s-JNm&t<5s)B)y#3p^3;`!Mt1ZYa8%&@=0&oCfg}JoyO>b1- zGu~5yGm9qj9>jcA47u^Ew300_Vej9V6XAfKny))xy!PaE{bg&tJ#()pJk42sa4mu5pv4OI*;Jav7xMkOsVR^wYh)L8I?VEZh4aftj3+}mt))K z7f3&S4AwLtuW#%Q1vKP8s>qbjlig3oxmmoY#QJkDU6hFWMd=JZ3hBD(7)vc@$9}gf ze=egjJR=)q$_kmXh?8)SOym>pGW@tNp+I~i;QIrX>-6`Q2SN~y`^K32{1mH6Siipz zf)vU4&H@9IQhjS4;4Q862V8m6iqfoPLnjp&%7+gECExYUa5do*zV4f!NJi2QBWWXt z;VliuiTy151`q3IkSCik6pDij!Pc*S$by^GoST&{dMGD_*PEhce~buLDt<$2S#>M`^?cO*+Vl)}u~5I05kXNL_T3W;yS za7)O>Boa>2+vVlRMe4kVDu~0o-sLl#p^;X@d+z2V-VPY8=f?brLoxO?ennMrmHs^o zhI_SD(VKJOqh~DFJldCpSNr+6Ha*jdyoj@f;Zpa%(4op=$=N1dAVbK4DjHBz(8s=v7nQEpy`R@J7mRqMY{M^g-5Xr`KAhgGD;iYMF0R0QD_@&oWn{= zu^MSq=<#s7yNIZPYZ?us#-kcts245r>JIO@lIZ5~9;LRd)|+qK84x3?3E5nEUm+oor3LV+^3)LUK2lHYy+6$HWJ;$FxZZ$21FW| z&)+jWLK*j1RI+9gYFbTHGaoT1nlBl)}Vr=D?6Hwnj0r0^W>h#5~)^g3rjt z$gd9KB=kO$$6z8NLl?&Y!kns0(NY=|mMtYkyxi3<30^F)qhyF*of8$!ILl&9;%T&< zxtqhzc-u$E$u5iP(hCu~+m|`5f*Iml72+hDm33$XiYL(~o|$!N zO-9Mbg3i1BBGs>coMG49O=A}NzP*_^jtJ)C$kUs~H6u@%p{<*5l!lLswx2RgjJML_ zAkU@U#sXo-eg7y?c~>~`*r36UZB`vbNnCO^a|JPsj4)q=oH>^G@R2sZ%|CYAAA5r0 zxwp-9s^zdvFrE>Osc230OCPG6xb`Kbk>q^3emC*2-2)i(5Y6=M+cd6QPy#wWp-Gnj z9EN{+Mm2|_5G0xAtolRVlFQFt-C{e}{;x`z*YMjQdCbLB`z8l~pFE#p zPmgZege)I#%rqi0GiZYw0rT25`3oDh!vJ^})8l(6Pz7Fmw*eni^_hpR$;(a6Rm|Z5 z^-JCoZ$MZm@7`Ldntxn#hvN5Yn@QhT8@aD}9Ja%Bp0Xyd)QqbQhj2BU0!Wm7W?7iE0dwcnEd7GS`@?~hg0}BOHKKBEQn3!)>KjN3znYn6-yro>PDMrns-$V%&*07VR zgBmHTFq#$_9r%%|P!1EBTt-Rn2vXH`+pcub70|*gy3271lY!B2~A`Is5X7&zC{5`$6MP zt<{AF>x;AAINUi&mpolktqvyUCwAc1AOY*CIq# zfE2C~@dt>oKfc3^fCJp>);6eRL@$54d^qOC*@^Nr+K@d6_kFHc5vdtlp0O!!Ls7J1CB|$xcu?GGw0Ux% z!X4a9Zj6w&#eah8)3!Z7QX`weYSLi*RnB6@cFyyp3L6(Tcejq1?5t$ddqxM-RHP5? z{i-H>(VP?k_noc_&ynlrGyQgKGnToM6(f>4bF%eyNH~se&P=^h#Xjghx&1t$u4!B0 z{_67P#)dW9UB{}vZxD2jRrdp$oX20UWi{yuxMgOXShP!}r;CXEyS(1y*vat@!yKx1>>?E+lWoewU z#R?R$oE${tSr&PXeHTvz5M2RQUAjGinZ*YAsq7khgzXp8Jdz9knZG-r#{Btf2^;%$a9 z-?Rs=WCMuKSCIcQ2$^b(`s-7cthmZG* zXxQ}w<7V;wB?i|Y1rJp})5s`^3mH~}FU69?>s+k*8Prgas;36p!NgHzVpHuN zFF@ryDc3`o*13y3p(EcS@Z`8pwvroM^7TVsn?X$E+Bvy3#)$#@(yOgtLUCDYzqaOP z`@a*P3++v|LJs+t&yC$mG*Z94{|u&$^DHK0l~}c{bCFdw4o^SJ{lw=7JB-bA+MF4K z42D=ixW+1B2gis;=@hz*=p(pmer!6kcm=rA1CtU!spdsXSyCRP8c=mMtU0wucY5$x z*R0Y;=eoQM+P*Q3%qTwOS?XgFaxr?hhD9*Hyz8D+;qkZWsz!;v!uaDqKBmCa1ZP?m z$}_Am50w%&LMQ8$YgN+=-@0boO+DmHE32sNwMcZV_D?+Xb&Y|EH(yOM+N(rv zn$3a%O>SO|Z+&fE8bn<|t~)+VZ8w!(%}mZ$lg}V9dK>yWbuc3FsMuhB+@WDx;PL!F zmi{ya^kpuGo7-TK*;yVsol5}Lw_b^O(u`*eOlrS0c~vJ>b^B+ zt!oXXykytf9sdHDdardGVa=$>*wE_M=pzB@^`)okkm{q7itNgQAymwQUC)c14OQcE zvle;a7k)Hj8J#VpNc@G6U9ofxM3bV+2 zL5W}R=T3fARJZ2`9?i;h z;e43EH}VmL+_bhD!!+(&uK84Dg6%U(wqunEyMf7}E4)C?CkuuncZ0s4dxouOm0 zz({Yi8U;0bSA5x~b1eri?LFpC9OJ9M0E>lD^-zYLH2wDL5l7*?WB2(;K&NgmKNb>>98>Hq&bsj8Nrv#hxOd zY>tq~HTJ*9aB2}fC1{aFy6+hm2W2Vl($Wc3@_sEY>c5sJdXTwT|-+tF2K{trH{ z1RHEua>5JP#Fv7^L6%!JAk!DL$c$%F48(nGs=_u8FHh4 ziC9YURS?=2U)UMVHxXS^0>q__NKDnId+O==?KX=trf8m|`=dFWUz-@jZQ2FB)ns@7 zCKWfs8d>N(zJ&G57eA=(*NsOnX1?2fz)y2MniEU=x(0oxgwxNvV}t|qQWK3>+K5HD z8eG7pLmTAuoSb%o+G^SAKg5Yq?<|flW0kS#M*q#JPK**5b1XxGzl|7XM}!4^=@Xu^DHRM#j{If_e+^?u1) z=SclSg>QoqW>}~f-(RB!p{o&QDdmdpJw4`EUhg-e`RY_>qx`D3P2E*YG?uAIWa_u} zrr@BEVRFw@B$rR~DPqaKnIj4{QeJfQW;AiWt@65k6zS0wUwbJDsmJw2F0b!ZTAOCa z0ASxmNz2;5|DrKxGS(=Rf72J?Mm z%GLc}T{j@*C$s1K^P18#cQIFrMNebwZY%Pwj36Vo|jB4uCbooonn?vEVf zM#IJB(}6euavyTG{Z1F((aL-zJ$Gx@93%oH?|HA_X8ql6z=wo+$c z)c_BzWqm)^%qP;u{O-vI<>=-PGhjs>9}y9Y&b|(RhBv0_=O8?yk!X5ILqxk54)$YZ z!P0iGNLpJHTGeKz|B`0E8~7~mBAYe$ZzN-CeZqFkhm@_n=*rsR`_hPy->32%X!&_L zS_-H4&BC}Gg8f|PuNUE*{HVdrsAfp8=Cuk1ipZe z?Z(CA>b%^gSHkTwS;MU(R{BZQ@6_wEB0Lc6evlE7c-OZb)~UHU8G{S9hdv7$Jl zN3rRyMmi+N36rXs&D*(d&{2XLvS)NX?C9r9#&E_9QvG3L!Dmp{JXA{5#pZD$ruS}O zeG+OIPtz1(A6Cro04gh!EZeCg$Wsg2;n9#gWe3}3m3dYN9!iL?viUwGb@@vt{Ep zsJ!-pazEG%B^D$*0l2X(*-tnlO(p?E`X}ME$9^|`%7)$@{&^;r6C^mY%GZK=lXC=U zwfs+1s6O$9Q8VM2x4&qQ@b-6`&MIA`qxb>ON(F1d77Gd=4*cw?0YQA@Lq$sV4PYwB zAA^_|;^Pc$mXU+_$aQOa2};@#Kd7>ZVnTOVUn}G4bhw!ZP#)ju)0UT85uMRU{}V5D z67kGYwz!WMB#zUd+kZF`^lQZ6SP3`Fy@d`GlK60K3z&Wv+n$^=p7#xu_89e-P&Wd* zhG5nS`7y;!NHVdyx(q+06Mh=1Z}bey3K~%UjY6b*OulwMK}8hXMq4Nt7R_u40h0Nn ziBJSo?|VA3qsY+UV@oul5WmU`G-_@QPPg@0MkW>Il^^TX8N?tMp5i?sAyoaC$bq2O zxkl;;^7FQ*FgEcI96dmu)SsNW=CL2&rLOyLytMd!;+h9Y`I?E((phB@b-6&VL^qwH zuG3{y-obt|H2I|RE?0w)9WV3@rp|{nvNiY%ckhY9S2&)dpH5P`&mJ|z4mg5)A;R8! zRe1%_fx{%ILh1%({E2KnCNeg|4pTHrefYwCeXQ@zMd=$1$5@mYD+#evS)oY@2 z>V&@t_s?MFa1Ht+5;hynvv*nTA-RMtJL&hn>7@?4DMS@~#+u-*70EHs)m2)wem%?Sbuq;Z$0lSeQj;imV;P%HFvyMWt2v5iDD zc#wGD`jL`Jw&^@n5HuBs%|)U)5k;~uvlmFfkPQGZ08p+C1ia&I$ES#f{^MCRAA$Sr zCbKAPVEg71SlHs(hTosO3)JID&jk#npq7>%gc1it@G0qmEUR zR8Wn^=_*J=Er3p?s&^GX?1H@aJAy3XzF)|REQuYFXDqYkhyIv)hZi^3C6pQ$N(6f_ zpEZtU`Vt!M-!zVg>(Q~z+!l_79BwE78O#u-ImLdI1id-c|5XH~E^qVxr0CPjAxHLM zMR9I#8R0#akL${frzB}z?UY?a{0Cf3vCT_mvLD+%lkV5jbwkc4vTvPyDdrf_@I0l+ zd@b$1i%-FNW2rFMqx}hHzO|~uhy>+UiOBzBTR(!_F!MtOq0pW;S`0~JH_rhCxVcvR zslW*Dq#i{!n*ivKk=gW87LpQNG#$Xgmh|)88puBp$S0f&t@N8aL2mBitu8I?2dU%7GKB4X>rv~ksmSa zJ~v5T)JhI?SJqHl=1`#+%PJ!BX0rlBS~u)m|JmWQkp%e$|BBjAd){7| zLNPzx!2`pF>qk}a8`UV5s&Y7R&UHPhW_Dt9f|-$RosHbii38GU^;7Q8ZZl;3!*JC6 z*8Y@}|CKZ0Lk-H&3Gq>ijkeel@p0{LV1OAIM7h!Slp09ca+SISqtEYL;*4^hDzAl! zBAIVZg*QyoVk>ryvhD^V52JcB`2%ZvY*))Eo4xOqtOLGgBz%uAW(zZtS+0rmn6*+g zE+LDbX8tRjZ8Z9PQ4{4{ynDi($Sj#IEtG^~li>Q3)u@-y9@vG_(l|kb^@#ua>DC>f zeBG6TgAL=qnvPCS1nc++=I27JB-*(2rW&^7?;8NZnakr-X**}zj!=;tZY;-nMghg) z>I@9~i#10sIYWA8`H5*hB9+=;w~CPr&WArI>Q%@z-e+=L_>LlB z4&_#~;lTfAJw)2WPk0B{q(yr=VLvkdDBIo!ztWzWS9PCp(QXfJy*VKEBB$JA5FP4; z8Np?~{rmK^p-*{=`Y7FYzn_7}^j5koC9r<3Rqoq>D-KmeS2YT9filanSOrsdosE7u zGLkel?K8B|2F&lPe_%e;OKeAs#Sc7NV(v>Tr&M9d45xw=)5j%J1&K0clAcAQBkg`7 zn&(K#nx&L~xnTFVJ)$gUHVq+OAScNMw=zpO>$wZ1)lHwlxiKBDWGqEA?D9?+k9c$# z8d7uZ;P(}lW1odJ+I)Gde0ipfj91y9rH5|0 za|P|o#A#8F!Yk+UB_;Emo-^|6L`#9q$?@PiV)(pEo+Vh%u9H(qblZ-z;61v@i!cwp zTqXkHE1zWj(Ybu$LYY0HYQyv8Y$IVGyBG|mHlXiqN2Oz3x3cGgZSQ-g0Sxk4eSel^ z_k!$o1KXhMZR)1bCKwvpqj-1*GlFzfZHrU*d5eoWHa500k^}e#%ns7B{yw-9gy!{z zUmKB(!wu;%RY|;j_mHf#d)wsOnk0#gWuDWoN(4rHdV>?8T|xj=*wfvWHgj!PNPWgL zOqWlQA5m<|Td57h^W6KRKoIfRC}a`BZNI5ZpH7MUsM{VVqGcAj;TDz@Z7=3HZ<;j< zaPDpg2{Oa8@@9>qpqOY9PYe%wA-q93JDW9?b(*5{zVabMl&l(Q6dML){Tm^wJuv4N2jg-EXR^C^V^E6 zKQ(Cml=*%W`Gf?~0C$?l8kqF!l$1EG zN$?R1@=81Ph$+L<;#5X{Yu5yF_B8rh!Eel})=SPw%b)=lugfZ{XE-x6USlnZfwcRl zBZ_nO{Qi}e<6LLn#V#Bjam%;~f2{iZ%UeZGJjZRgNtm)TbDHimusRR+D3Ze7yru*C z=bAuP&{i7=yx#BbfQO?8n&W5X{t&-&@nE8ECaI0lEu4vDUnl+e>YA?I<)-NB{cRhUq{zbA4+?Gz=Gq?T6bUTuU_I85XB1`#p`8NJwWJu;d}!9Un^O2F5l z+M<;8PpGV${BHo?ifN7%xzhSZC*w!+W+?uRtc}p-D$?)CbX=wdsuprJIb$6X*CSH3 zXGKf@-%*CR%^&3<`-ZAj80SntT0>&3VsNY=hLM}iDp|V<0%bk4W*5-xAE7n+7w)t7 z`_&He#fExD^L<~ctw~j8U%*=WOlYB&TRI2H*?w9#^!@oLj7C@3i#RvXLp0`e9WKgi z-hy2`&)`Ny+r)-M#@`gC0IK0JYCMGFqz<&HvV1&T379^5pQ8j6C0*aFpYOC?3O_N8 zgajKhi+t%rmk5Q0&vNyJ%$)b6jd0AyT_>G>+$FP&%(W;;S(D&jpMeq6ENmMz$YEZ( zW-AFVued=(Wh!8}JKCa;!I=A_raN3i+lxhfG>p`7ZSL{UaK@D;He?aV@0N&%K-_$0 zoTcJrUqF&zumR2b?Se|$IM{L=y!*^ioc=oXeZx3M97@<=D$Onq3#puKat{4~0h(EP zNus100D)vp;np+Ynt9i;-Py#!`myL~(*C4}*6Y)0-qQvPGEi)NPYdcBA-QQ^4S36X zQ7c?j+i|S4ttQbBr2gSX?G0Cv^Q{gcqBsOlT2S6*LUu(n)rJ639*#;yJ@&UzZu`=- zXTSFFJWCI}dCoRieTFj_8Vw30f;F420W#R@Fbg-asImn=!)@M&pYG~SFJxpbj1$3j zmkoJF5=S7atuJaF^NuWPj_$)S5K$)fpZbgZZ0O#ekz>}QG=c4Uyh64V-*E10 zqC&!gvyDYBM{ZxX(|$25b6X_vK?*g#jH4Jtn#dI{)uU%Y>^@%hPyID zkj|2SI!G(`jwv~=7Yb)9-YSq^KW2nbr0-;-Bu3sJ`v9In4gG-@Rc7Og;bvl#Sj{3R z;BMUhyTJLe&%4q>T^qxO$)>sLoI`Q+AD@4juWgRCw}LESmFC)u{T64zbQhHgh==QD zS7ro`Q|gsAX2Q4b58j4v_0btvl#Wm|(e7`{o+)zN;NZWs5v^fQ8k&<`~0S}3k; z> z%f8BnD}%91eqtI)J1S}85$-&Kh|a0=$P&Exyg6g{Jj*QCh65aIK-}IyvI})0Lk9kH z8SLR1SDMd?>@9NW;*GI8^iE&HY?E121L^AU;69DT-QU;cf&l2Le)6jZ;|OKsOK6cG zgHJbz38*8KZ4{P~-ZnU+ykN~=gnfnktW%ua^-aYm>|KmSvE-SDu8D5yY0ximKq0*{ zz4__l)?g6OHrWxfa!)%8ZiaQm?inSZe%WO zt!|`nikpQ^ul@6m)Gbton^>F-Y~Fn8W@N+itig(eM!Ul5UpsmoY3ys893anYGquhdLArr>j(CgNJPounDa!<7MY&sp zQk5olS=SF!yXsZ z{{JJ+;d|w0fN`FwF)E4stc?*1z@Rm)s3HQlEr&zA_3=f&;>4t0f*?{yU96k_0XnDY z8PY75;7Dd($XdWgRnYwruJ62O1)Q>jTdN5+WL#m#*e<#OPQ&<#Zd3vJm=i$XI45mMHdLsjayK>t z*jqQ~Wq$C9?!ttcuDf5Nc3?f$Goqo$+_I84NN2;N!&r6XpL|qZba8Z>ZXA_qT{n6S z1(->tWqN3Lyzqd)^^MJXgAo}R=9!AC>|m>12?be*XfBY@acuZfljIKX(iSOjBh;MY z?%DL@8Ou3e7ZYtDh|6akq>+t*1ZFh7Le(PMu)oq4Y~@H#A*&XW2(rsd?xD1E79@F; z+RA@xtjB7lC-9pnqhec>pTiY>u^Isyxa&41?+T31_ZpU`5K?>i!s$WPZHiFJkqY zGBsDFn`m&0ejEtFX0xY_1s;`7Qhd`nRxoqq2P?8v0V&rl%;poW!&-=DG&dH4tGDvx zPg~Ro3%)?S*9C>`F0#Qd*?{mTmU*a0vd+D4H(5tC4p<3&X$2f=?6b?JvK=u7h?n!i z3t9p0ND=WfuA6NPT}*#!E@1WuZXj8j2$9r&Zk;wTBjz^6aD)NO2GJg-v3CJ*;xo4E zxdq5<)z5S?a)}32A@q%aMyAGFkFyM=$Vz{d>^Hbvq_--gjvHV&0+bM9s+l)q$42o8R4Vk5zYMx(O9t5|3?6*6J%GC@eMrhxmHgG~) zYU9H4v9&rplH*<2L!rzypLmdFpPX%(rpo`-7r>FoNgMFAUx`<}5Cgt#b-EW25!fe)7WmF(#;4;KO}HWyL2d z3}-*?HJiD;T`8(b2+|fb1(AYgew%wV23owkJ5oQNOrGmVVT;* zC99HL&?jn-?0Pv>@NY9Wxgge=pJ443{6AE(70xyKR#6|Zb1n8={S^(ViXY5g#UhB| zf>hKW_|Ti!2=;7kH@1m@iSck-vs-z4_Bt=T-}e_g&hgoc{Ft+E1X<6Vd#Xei?NjYl za844~;}!p@Pt@hoP(MQ@X_0$DjMi5~gkqYbbuk~gOT*<`*d(i^<<*EL#MXceYdT92 z{dl8I_Z5+l9lTW`;9YugoL@ZPMmQr!SLJ9XVs|Cf6Mgjsbe5^g+S3=-9A%Nc`XeDp zF1N1M`_$+sTWsw&b2UX0=h0S<#yhhvWUhcip|~J+&RD6LcSFLq#@AL=rZ#sX&=|x# z;b}(RJq%ANam}NxJdIxYaUE$%ah0KcbMve?36XL;n|wuopM3s{A0lzW4J98T+Hc;( zf9#SzZyX5Xii2>}Chw6sqdU0>P2}Vfh>y{1t!NhG!{MMZjNc$wG8T2xL}LpUU(J>k z)qt)x@gF1Ky;}*Y2&f4zjjh+jXt}}hJ zEe8Usz?EH`8h_!>Zs3cj6eWR`)Db5@mtdd}zvQm6I24cgMunsr0|hI0>lveKlUS-S zBA13vf2+>V>1Vru5q1?aZPb0@rULt&b);y*{Nhw#w@14ek(KOW#?{FtsS2AUL_`C9 z-#aRK-74S6T3EqS#TY5Hx@!B#W_uj`X=uTOdJI{db=Zoo!+Ficvh!x8m?~C{tASn*<#_KJ8IF^uaTs-yNTmw`8>euvJ&y-Y^Jx}Weh zbwt?7CjS-s%w=G5rXXB6H}M#8Ul(3~#xsGlqB_b2X;UlG7gsj`UvCu~%S7Y6(ke2{ z_a-fH0fC;hQWzmAmyzPD|GYAb6xy8YiR9Ry$!AZ`r#3jYhE`qePQN4J-37@>LDDw+ zXZExXy9S4SeqJsM!kL#@8|nGnu%!_s^_fkboXX=sSIG1Z@gm+t`m%gqx3wa~+G<1i z48rBj&*)^$JTH96ja1QxlT^|nF>qU~=1aR_^Ep6T$<_?aCYBZ%ZWkXTq*PYdZ}QIy zWlo4;H%hI4B`yt``tM{@-TqZ0Bf7-j6M}q)x8dA$x7t@Yv`{K(nPXGOl~?9I;k09Z z>>5~8*qp(HAFpL*W=>O1g1&sFat1=e@Y1)Uw6&#T=wGrvqEcV0DUfr-2*_;j! zh9iW=jd{j&>fDgv6{}arWETWugExz$Am4zXyiiSxh^Eu0=r2z8z!rWWDm+n+-k(YT>Zqj`7zFGuv%UWBEO7NDgsK4=_fLrTIF`z#>5a>5aVDyF$*0rHxp6imrHp+4O@6B3^}S!kQ@!-LEF8Iqvn_{o7Y?8HV6t*k4Rr z7fjrzy{h6Wo;KqdGwZgCvml;ygq=c;GB>Wmwxq+nk!NP&IK5ePH`0DnK(phFHb-vYL{(J4tT^GlmLtNnLfyYs9R?SO?0 zMq`GSSh^>qkzR7_GAe8okB1qY3dnwzTn3vep!FK-RZLZ}#d(CvQ=Y_m=S{z4gft&lo%+=K;JH9LwmoV- zunId3N*=jR+1V^%96{EcZ&1!>%bicOKg*kbfT9{=<`N%$*gmb_4(NH1J$mN&)=V+8o-N7R7Qbu7v%@Afj2iyKcr#lNgbswTdN>{TsKKov;#Kp(#&q?Om7$& zMKtIz7d%EeG#@sq2DZHtHZ*fLEF{x>jIdMb3B0Agc>5+whe^q2VO=Z|$N~L~j7R`h zm$Jc)#UbgJv>)pPrP7cR3GCYDxFspNW}3tZsa>w~RR_``ywyUAsm_?j@I$?(tzp<| z#cjz96Ti99Jj#^-@DAq<0NmICtA`d>8x{o9y~9A#&(KD3G{T^2is*2&u*rgfN@^x-by1C_j0vIFlIPE|6Wx$q#c$B(B$ATTfXu{YA2CF2qiEJ!NcUwul_(vL&LqP+WQ78P>>&A}``6 zxDf+{;BBV^$7PaqxqLdGJ^ti2r$!mTiHi^(w?aEZT=xl?M@2FouMy(n0mbn!aqWa1 z`evrm3l3(*%MlczMPm#0!VxX-`%qu7S4`--vVd)GsN z`0hEQi)uw;LJ_6JbwxoGRH5irGAS~jyYD$%m?@Xt$3eoOF;R35IZF)W! zmzqG54tCh6-Hnuc#5ZP_BAWe~_=;GXx{Qseamjt`hi2cdKRb96hao6IO;<-!{qYxW zguH&XlS?c;!%8!(^S{(D{mQfN|4l^eobidgiW?8yq=S*TS_JwLa$L{9J=3g`XM8cRa#$^lCM)C#W5=) z@fL%;IxT@PK5r~jOwCvK#Nn^B*Ehl8uz!q}ur_vG9F-r*3|y%`*y=e@^BLS6$mUU8 zGt{vW`Nh7&=W2zilj-h^!umc!XGK(L8-!G8*td1E9>LaVWhp_;QSJXriD%WDevNU3hJ6cDP`9ka5;KwTYvOl zwP&elryA|(#lK;!jPU3EdFosn5S#nMkv)%SrqtX8a}j%OTQKx{K`1u^3-;f;_B&=} zM2)RuHC=P)5StS({*tE+T7Yx>^MEU&k+$s2zsDtpG?X}-CUwlBXY2Y!0fE$?X?y-)9Js7C}{UR^?FX60$Te|(WT)C{H@r260S z+K6eCBUz=k+k=STdAU}9Za^-)bv(~~ebmz=fW@U~eGPMf`+sl9LWNh&GDR~MdlwAG zQ}~U%(0T!A)zz3E5ACJkO)|A0#cvf}1QD@4A_G_mmLbXtAU%X>KtJGBw8xb#q(!$`p5!K*qnAa|h-%a&P#UR1ypc;1`SlAjH)MWomsL;# zU3XfI`snW;b^%^89lxqS|4u$7ns5Gw)mXGQu*WNWSu+zbKswL`?mAH_x=_N1%^C z!S-MME;yY;Tp6#gI^`M9pvGR18?_~KFkizV0A|I#GwzY0cy;^DFq*6P02oKAPfeRI z2w*##>0D@JcXDZ{Byn)CQukuJft#=@zckdrjR&V`Nwiks0tjR}qE+SrcUS7szzLtp z8;&D%dc#SR{%Ltl)iT4^HD@z+mCgOYEB>b`ZIkZZ;Jr3^1O4v&W;_$MCXyrPqeo>7 z%|DF>dTZkBM3I{=u#OWzq;bpTxQl*rg6e(WYPTTs&D0j?BY=R3-lH=cYOj^W3TY{xgC@xabedQ<+HPFs?z zr>#gcX4L2{ELaPNXIEa%ayPTQUm&U;hGWf0AzZ(hu^H1KKwQuq52Pb3d~GFf0x#m+ z24&L7-V#8 z`v1+81oYVLpL9vO^jE!XgmMgi!3DK3XlZcnX5f6k)MXRIlvRlCoYVZ!YD{IunD@tG(X;gf<8UmlD~)Dx1nzWcq{th*=^+1lwpo>LhnUIu!M2ENzZ7 z82^QbWXq1Q>JJ(88`k{DRBA&8-LkSoot+Hz2k6(k{ed0}zNG7C8g4?f5oX2K_i(sP zPu-GkdhTx`>L^gIMp#U_DW-#~V#7w=cq>hsIrCxmf4He{*C18gHT%8TE8ZuH!Ln`Q zo`JM^z9Blc^pMAC?1_TIQ!~EJ#gfAW4DK3@ z+n_q4L$p+b`K`^JSu-Jb=8!amT^T1AUfMYZNHmzTeFP)%i`E#iOh4zVje`657=AYa z+>2&w!IXrX`!HTuX7`_6+D*yJiM(adWUUo#LJ9szy?;X*>8WYPjn{?UU@EzrAB^1C z&Y4bgL0Qx#d>LK!vLW7^%S(;#!t_fP&$St!5ruKQAwDAS8C=3+%mRZ+u4JgYx1b1= zk5&x(O{MrT@o6TzJ>X>p&$#R~nBq?~<7`8F>}NYX1WkC2vSxQE8a#b4=(iTJ3KDD) zmR1?2R0v<1^NR#&Qr-p&Au=$(Ufb^(;IJ^h2KkZ2e|1(0di709BMT>pbE}`V&Uur7LKy6rzG0UbkPyoqKR+Zz92Sr{GD|dH2R&}2re1j?X6m{l zl{?VQEHetrDZOkdzcI}>N&ZHZ!qwlj&0z?(IO3=Dk?x05P?u|Q0kg3#L{a?Ca~H~s z?v=+{^SL>hvCO*!4rCR!d;tK@A#!WLq&%EqzUm8jb8S-xA;#TQsOL_64sLiWvmYNl zJ)@ZqM(LYDk{Bc4>aTCd+y5u+1mjw!(n`XPhGb_R0Ql!z*)HoXtrEV#sM>ViAuUwr@=^+z5oD9I;P1|TMl)vsB0OeM zwoOw{Sk)ai!vu<5s5hG^b-14lA{(1mj)3+qqu(u3m~DW#kC`crOWCX3&RcsJ1Y6w%J0V<^O*ELBcx!Ze z!p<9H=ubM5Zm#tVERJ&NB4hUxm`(jWA@07-V|zMDpKTb(FxB#N<->Ht*Q*F%YNL{< zOYN8B_l;*JCbD*YsFwB`6x~nPG3fa?p%JnKtXNxC;~`Y|OTJtbm*{g3cP?f(zg?1o zNi&!+DM2#F;n9WNQ0ndTch}s{cNRhR);$@sz`}^d?tU$KuDuB92@f%Hn^XsxSoVMZ z{{6{h>Hq(~^EgC^Ok-o}Ry6&7-z_IKV>qjGWg}vi)}NjH-Obj(YAxeVUyslUUNGg~ zsM-kYUpNyM-R`J9gxFX2nYCT@8GB|jAAJ|a$xqf;h;{Bs;~5kZo&-fMm-5xZ7DOD~ zFDFCL#3E*TKNo?oGuF$qRP{MmRU|*gzZoFed2)`gmWpFi> z!}n;ZVsL%Aole$>@I|F|#>A?Lm^3`m8CpZ{wACK{93Qs{csZ30SNmFVcXUwk#gyJ= zxV^oU7TIqGm%Gt5!XSemjBmpxyNXJ&Q+uf5Y~PSTy=~I!6<-f0Es((J0`9>HiY70C zYc@ytBrvJ`Z)ew+f#9-7t1EOp!6dg?YW2`=m1CQ8k))* zs!PpvlQWhDE;WET+X=?s#JhEZd-uMeHWjbljr3o1k-o@g&A`e?)IFcT$@^@}kzRG@ z&95ZO^!|1=VSfz}(ifoMlO%RZt>SG4G77Hm*b7f)yPSS8}wJPG|Y@f;WW-=B4 zR@)|C(qR>w3U0p^dSp!sr?;q2uWG{!?|8-&#)U7IEvxbM-E1<%Tg+VeC#HGM$C#vUt9$9oh7Cyr)12|6sd-Yun3N`s!?yS8 z>GIG5c&#}Z>n9WCe+HGt^&iO85-2y2Ez5+D-1WrM{0y&*+&x&5 zt>0jAQ$ItYVdEuGdLOP_LzaNKy@tv?{UJKBXp%tPOlY%3=CbK+A2321x2$NAy`k=( z(WXGlsO|I(QD)cYsz=keKJV!pj<)ges%EMt30tIN)_x&ebT3>%BSS^X?1XsD#=v2k zw`Mf?)ZY5*_b9891*EITP>8;9Oc(H(Rl`)Q>eHL8=?rBYsVD`KYU2Bv{$$ny99{3EZMu7K4)!2QX>d@X>~81E<8C zMXqXQ`p9(>d>ROh^CdSbp84MDRJnG5Cfjz@mF~vzte?$W4JEtkbb~)QFqkW^pI$|; z{uU#I`u>#>%rz2qBvG?$bg>2TlZp*yGbcEi&U3+FXu$w5WY_?x{L^h^$+>d{?4NMv zvzZyY8MQdD?(2!cO-%cL`xyB}emxF0li190_)wcPZi-^{8khbHRD*!RF%#pcu?5z$ z;*S*958fK2k+@NL@5gDvQ^tVAvGKj$?*C5j58VAoCkU{(wL<|a{ng%d;%0QSZA@dx zeQxp;Xs`kc_nmf;T&OYo$AH9|;IXxFqB5qGpD$EOwaBmX2QRf3Q?oo0XR^o>)L<(y z!MF6?3U)P@OFrUV!X07KiMe4}XLP2@1lLFcf8{CI_Y>8)ND>(v83acIg2py4`HX7C z@_vN7?i{g7W&a&X_aHF|oad(E$Nb{%K4ZvZVw9AtxnGW6h^O&TgZ#6`uq~ClwS)lVqZ4Y1h9t;N1i>dY| zwmxGy=eN}pbxU&3T9bLHE%)DLjhr&fxkWWC4EOJXu1FctPKmi`Eq?*_7lm- z(J&*S@MMRp1#KR3bZR@kO^%-G@gLA$7qwlQGxrSq&^mmv&`touhRc7()8>g*ik7IE z6C6-^6!|i)gnTt^ZrvzU1}i=e2w}9p<}lUIb7o*2e6^w^eFhtKdwitYW4yURlH|xH zFF%UZJoB1hvp{l@$Rcw-pX-%maBLOUN*4E8T?P@q3g{LbEE;ekS9`4b+7wj0-bz zFaca9)E8?JgNR&G^j%e2m2u0jPVP65k)a_*7CahniEDo9u_4B(XIDv~gzlt}id&oa zU;RY$%Ch?^^osa+h5IR(I*xQ6Yexh$l0)B$#Fnb-ie05_+&B(&`ZyGu<#5?p)u`t@ zX#1=kG3s$|>Su7{^Uq@jLa*rntj5=NxerGHCt<8GLi!lPvp2cN$8j402cD0$xvDzi zJM>^gH1f2lkrD**;d}qK&>u1#>?nay+t_gHZGazWGuiZNYZAG9Z8Y)5{QP5}uaIWb zk*TYhCHr18ig0#WnUkfpVoivc8or*n0Mgq6^-5ANxSv}80q2I5{|RWG@1C`r^co$w zf`NN;=TOYzHWReoVUb3S)7rlaDzmt>;BlR|V)bOj`?icpKt8@l9J~k~PyJ%taBBcC zTCc6YVfJId$@C>iL<`oHVE&p`C;c&eXW9P^ZyG`DOg8%%2KCn6KEnG})@3AZF#X2D zYT&LA)U~ut=WoU0hD<9n?r94r@DgQO{fBzX|fl8+co8cOKxO>E~I$;e5tBB{d-sfXf;*(#E~#bNti*1#q{8<0pz z%{N)Sv}QXQ7Q+V1k@}*GGNWl@z+aTTnHp}q)q+X;ro)W~n6IEBUX$Xb&lUK^a9z zKOmNl%KFP_^Y^Q|PO+9epsc;Oy-Ys=;f=$^7sl~+F;~ih(A;H=4zs8F>$S~RXftbz z7>O3@CK3tE2jI3d54hDfS%$)aHn&Gyqg?g3|JM^liLGZcz1|u-|HL$MllYO?)@3_- zWNxIZHd@SBad?ve5Nopx6HL`X06Py0lPdFnx!IC@?m^YuVK*Lzw9#BM#&8`>cvgod9 zg6aF9v>yORK)AnguB7>0>Xg56j}%NAN4$z|1NgzV3{X|t&G@?H^s@U3M4=H%c8NQF zh2?(0-IslF%9JINTC6I229@XGF7G8tW8z~pw8GZLL54h*yDd9esXX2>HWR9_~&zP}&oGe(tUYxcK?SbKOb|X`3FAP3!I;}IBYd)k` zxZhdEzqRHzOq6@ob|0n$7uwmJ{Ux17mS&a=-0YtIBbNPnWosp1g)@0qmE9Bp#`45y z=tHe_+lBUXg0|^GVfC}EZgbcRb`ng6Cz>N?h zljF@+upkZYii@o3x8G9dI=|?Ud_x*q{ zYs6D#JXsVNz+l^2EyEz~55!H(iJ`c$PcLV#y5YqE8JVDZz%KMyO5J1df}VSN-5@El z(YK9KG^0Fgg2oNhXLHfDaxuDJ%>v9`N0a~w*yVm{B->_m*05}S8Mx8a9%`UrW&^nzyC+u zHzF1Jyk-gs{D|sT#TgzNz0Z*9xXDC`1WM2!j@v3@CEiPBH?POOhS&EUZ#5ClCO*e-tb8jn{*DC-;T zKyl302tp()@9cO_nye*BnHg{SZJSwp8Z=xYfW-$SQlS67m=g~I+uJ=O8B-&1A*B(} zk_)OrU8q#p^Ymr#BmGJAqkoS-RlDQ|0=d%fJtaw)^=#HM;NJVy)Zg&L!f)Z>k2R0c zXsS>eUZ7MUYr85l(``UvwogCNsJBa{e~i$cvsWT)S@If@fV=qhUL&6Q(nhk5TRK5D zr|ouHSg!{!2APn6j&YMEz~qP9hgHgQZ@r7GfnL|5JtBb5BPwNU#%rdtE6m7MY*{>* zXE(}d=dXaIWh zmb#^geC&K0sDsO8J?==dpOD6cMC8a5KAzE_Njp0-JcH@k2B8tbL6sR4c{}aKzc5oDbebC5R+2#2xNje!C4;fFaqn=)sVb?7H@cBRsWTL6 zZ8Flg%oZ%u9O-)#9w0^B_gCULJfzPz~==`}quTE|#v5 z*}`sFhcz2UT$Zpe0EJfSAiAA4Dr`UFNEX?`T}1Zf_t86!&CKN)(p*o78_9&+L7nI` z3-@T5J<}+dz!($2O>i1E7-(dpAz-2453jI52=A~71vR%6@FM#M-kbazQyC%o^|S5j zA55pdDWz0N1nIvvDy_6Q{5@v*mEJx!AaGvxwj+db*Ip8Ay_n>$Nk~Ayq+e6E+tUCNBAnkVbzdscsK_KpSo# zpK`aXT@BMlGYt3U3o@3s0w~VtYk|K@+EO+Pd&Z~N6$TZO-+KYoDY-HKFt|~ngf}jm z_7YBjIENVj#`eX(z%-*mf-U<(H&isEuMNi-Yh$#x5VX>VKVtB#%|NJ`Q+Yqr%u!s~ z4`Lk%V?(myetZ8;v6#;DGoJ7BVLT$B$9e_*y9t~2zdl04g==5yE_on0=!Kj6;7GqXqpYasn=*G??TmgVn})33|yERH zk7P66=^v5O0Nw4kayFLcy%I4|5{jkJ+t)Um#NPux&bK&`NmEfPouer64o<-9DD14V z0w6m(i}u8xv2GYdnSz`5bqj(9T)%$x->_y}%HD{C*xeDcIR5u^44^-F(IPT0f>eLYiktf45?~B9?dxCmZ&)4gZiTctJrc zn6aDu=~=L2GCh*P!f;-*T~hTL-*K$;~?9XAE`5&|p5CpXieh38U8N0)&~ag7?nkLF5wZUdgA%0NW zl>7tS)+76FLgTskIu;$FsRapx_}HJ(<@JZ0k4>$g!yGqBv3|F<4JX-8GdhwxOHUJt$#Og}b4&NhiIQE8wnRbJnJhkvYLujG$IO70 zrtMX7Q1P^p8zDXR0{&xXX6$BtK$F3%S1XSDb-&9C^fwEWa80**rb&*X5|_!;93J7+ zSzg0@)b6?3^O3SgzcFkRLv6c_0ek-~>CiP9sAx2JUB&S}e2R_!#ODR2rGUmvJ4B^x zsSEq=v9WqR4VI;3UHkF6hYYg{@nt;TZQxgKwJPy=8N?gP<`1F9Xg+K0H@11gm8?Op zm`)F1JNKaJ=lgU;+<_U{=Eois z*Ih;LzirYCtlxH%pZ+(b<-G7$H4Jl;oC1t9{@O*%nC7Jh6Y|GBCNiN;uKm>?IaB=w zU}d?uUOJnKj}f|PCEW>IOS4yJt#35vh=$Y+FKAusw3oOYE`|53A&eQ>a47nXyRu#- zO}W}%Kj-}?8H)+RH@LSq1v>>aEB|=SiUj2}yR(7)9sRCw1+h~r@atw^E0F_YwEa5r z!2MW$O(z(Rpf{a^AD=(O>3TW0T0xKQLf~1!i3bU~--p3bU;iecO=D>!P7r*PoUyMI^sqc0cGoCbVUNIqYEnKKt$>PAfHSwpSd}wVZ01vZ*;%q~)aiU(8 z2f_Gi0spQse{yd=j?DqF|A=$RAT$vwmtPXtsTbqH z8ONa01xS$M@*Y;|2UN-~t0O7c&>y_N=!AdmrsG;mYoG6VMzOKorAW`O$pj0Yk<5Z5 zDPJ?XKewk11uJbf11CJ}lgxEqcTFM`pDRd-ew@x5fvZtp&n0MgnXM#niIWQPzQKRu z8(+UzkQADm%wq(%wJH$U9J>+&HHsH0C%{Kbr~N$BiW>L6(JDE4>KV}B*aa~mAzAGD z5S6v4{e#}W*QX9RNa|vUBrqXGT4Ag3V_$ZyDg<2&nylAlo5H$AT>>c*Wt`KsE_)w> z&XS=3vdHso)v$$j(rSkym5{ryZ4xRo+W}_m?cG{KU+?#|39QY+$;R1aIy>*Z=Q#|F zl7uo{fRkD@J8|1;kU-xh4Mt1Nq&O{*iU94r%hH&ORG0q$1MW>a{9@V~r3TV+F8LDS z?)0nK@M(xP_xtqPtTax2fVSb}BfZ-73LH~tv$P#-$nfxFjfiubdf#A2ZWvaQx!3$B zKH+N@6YvCeqRA+>t@wHbRL7$d9a1CBoer6_={Ve&no6;5*ju99)M`r*@7VZxRVjUq zx|t5VxyH_*#^(krl3zHxksfCRA;86P;9A`LLwes-H%W*h=xJGGt;U){XL?AV$2ZM2 zMKZKK0=!7g?=~UrOGqqlo+T3N5IX$8oI_EWMqX>{91Z}MOMCnzVZKv+i02&QYax$m zHlDNj*f`*6*VX|)>nBJ<5uc_(Q0Z53Ue-o6jmM;h**)5we*R| zX>y$XP~&m!o{PH1Zny|mlb$;J=Y}4WQSJLN<>kHlpAbx&<+b>beA_;Zj&Kmxq%$)v z-#B!Ug{YZ{6hs=Z3%(<&^niwTB@Y3jc*7hhp83ko!Ij<0b}CMGdTtYqsL`E@z{#73 zRbjqkz64F8Tg%uB=tzCn6ep*CM}}!sqx1ES;`r zaYo26XM3~pQ8cp-86-%MI+yKSKt6zB*gO`QOu0Trl&QV1YM>+ZXSeZu1IlR*VrFaL zPT@a+jhk%HACYX^N$UW>ZX^X$?7E>w(1NNPY88NkZ39CPlgxgP#=81=vtyqTjdgVp z|B>b9t#TrTSJR1sI=W9o=pJ_DWTBDv&-qUtUPfBxv+$|qPdMXD!+oqF>}=ksI?(9d z8L0=uIu!bgY}}kub#1P8l0)|~?d{&hpPTX3GoG=$4lp2f9o=6zN|PUhduCwI)~qL~ z=(;9S6%5gsBY|JVW$f`<_f5|um^wF(B0$mv#^~ab8P3%P%?I@Je{{VIlBPJ)w7a27 z41|zi{~POgTmrdx>2u7!f2OA^D-uK~E`Hfo#~CGb4J}E>9dgDYy80MbNg7nn^bUom zJg+Z<=sU3f)>@Xn1T-8bx(F#nU{=VgQ#6Tj_UM$lgM!Eyb8#i_O=!CD?VZw?PT#c} zG4+L`D3FkHjhjcZzNSCiO6$qCvLWs!?*D;ItqXj_@n%FbA-O~V`cfdkt1+MbJXJhH zfo7N#aH@iPTG7Cy1Kh>kuw(g28h#X5i|j+jFd1!kW6{Mefkwb5)kxu7{p$yu&4%*1 zJ<%O~S(#_Xi;f`QF;_~?MPsVvY-P6d>`0%5dc242Tc(n5jz(A6js_Kh`Q#c3RHX4_ zqXcMW&IMA0O>$HiqXbOov0~q6RU)#p>`xwmk}$07zq8%!cG zrMcbC?lpL_?uPHE@J1#G_dB|Fv4{eR%id5GNqmN`H-FHGIG*WX(Pq1xsN#+(EA&%s z(j}4ejtLNJ;nWSK@qT)gyVX~iJUu$kkpgV*BT=+;Ip;tMz)ssu66Y{EpCYD-E1DcA zZ+zPeDyp-8{p4;TdPgrpQAXcs?vPByU1=VK&*IcEl&{QR@1$RQ=GO7+sUiPOlnUkQ zFYIjP^E2X1_+-W#8ahX4I{E}8Z}J`y(Yu~7` zP3MYvwBtElk%;&8NOvQoQ;l5b>A;-=uO%+82g1^|rB3s5;uvwN%7<}%53M60#C}Y` z2FzzIPBy^UNm@O=z|Hl98c1X)uVxSfz7{QPHtp=6c(v3rUh+Glo~=cIWOO%cWdYzn zoqqi%PL@q&c91d0wC3f#ElyS_*IpI_td?VT1^bDqeQXdQneim3a`zpTU`MRD(mq<1 z0KD@y5F4Px<|14GjjdHTv1H6fu_)v*vvh**x3ag zqJSR9ugKpH$N3IzA#;mtJMAMXi^TXco>lu4UHk?4>d`58vm$n#YCPIFR>tU+G4?dq zj^i@5wOs29s=7loVq@7laxk9U%bvc^6gYtvQY*a=*Sh)R+x5F3)3HwCpNVVEoCS}D ze>4{-{x3N#8JY__z;8iz1$2LSXfn>yXEkl`)(`2Cr< z{{)xYNjlpClAh6Z;mLFUqL`T!S6yv<$h)IF>SFS%2fCgEnTY4#`ahRHk#yYAx!odW zCKVjHW~XX*xdkS}KD&$59oJR$@g9aY6GyKw4mBem7R1Z-t>xWylBV0BZ{*7ELCzgwX+GR-C)q+qy%%(t;=uTlSxsy_Y} zcA5i^nPs#wYC0(zyV(n-jF^}_>%PiD+QADR5k!`&KO7MvbM^JOXzOP*kA{0X0DYY{ zE+K0pjkd>0F=RB;!_oEeyT*OIK9xl)UgGOd_v-U}M^<{*EiPojR@`k%6DaY^iNpu2 z3AY@k++Pe?SQ+hJCPScgOg!^jmEl(5gD~LUR_oyNvknCxE(NEn$0ZP z52fs19|zo;#v%dm@v#=MMn0`{TTJ~0lC$ORV9fCZ2s-<8hTq;MM!-xK#{eHR3C|HY zN&Amc%qFmy316KaXGXJv`#u52Sd+WBeIrR626+=dNAJvnmIvxPic zVH1(m+aKxYWY@;-+pe_>N_#1C^7$Hz?hi$j*~*+t!~5chfgM&hS^7&=|7WDH^W^Fo@+`|~Tusg9y?6drn+`}Yb`p>%MzD3I|X$7Mgc zsAruP;J59`WGP}`CFUkCV6@iRejTU3ea!s-G*L*KyTEDlmRykI9bAvCRoUkb%tkYjE5*Q|vu1A41gaOU|ttd41e0;#2hI}<2z*TZBsBXMJYIoO6# z%VT$76*qViYjFV;E`~QL@DKlo3ZZ~n6$u{_9K|z%mC$K1+fwCjXX(c0Q5MhK>(Mae z@laW=JWWG|ZF+r8AzJ{grM;Rw6ub}@T&1SS>ja0;tUX@;V~@dLnDh&7;cdJ90UXETa@%d&ZlXZ<4DkNo z7}xXozLZc}R9A~?12=|bxZ9@3A%g0VC)-|#=SESD%za43a?saN2{#0b1V?9HevypJ zR}&BqAbwD3L6Noh)%{YK`_IlV@wI4hd5`;$fi;!M1MFk6QPBw(V)!q}i7*>H;2lf5 z*pj%Aw0PEPZS;xTzT0$BZYI8i+b^h=!-}2VvXih_-N+rW_LV!5)J98qhtss8Q)fe- zu9~G@5KYnC3FlN7C^p2+e!~JJ%_@ygmnvuxc!p$KCrm#evuQ5O6sk^ZQwm!XKHgYYTK0`kWOqNUpMcI5kjic4gMmC?i8d8= zQr#KDmpIq^yyl65!9y}*F)B?4VmL1Ps7MOp z2ZKMBB?32qkSD$9eXb$-f6Jh@IQoaLYMUC}RZy6(4v3f(^4&Tyz9zcvaZ2O4Zj&cM zJTi3W#{E{~*Zh|EA)37Qr=s~bQr#rwk)|>3i(kkw)flQ%GvDsJI@v3-l7n|uwW29B z#<}w#alyvn&}4Zbm5ws+9a-Z>BvByoN+@PS296(9o5`;MMAkO@da$CfaUqi!pS%Ik z=Jy+jf>UqLw3R$6Cb~@rC2b8(B1Xg5%;J_cE!1JmF1FkIlhaq3WKUG@o~BdAfV;Xe zgNSeC(*RvDHP}Rg2r0QLYi;S%C%@hdW!NycY$`y_4~162sK#?W*^fLm?ty_HB8p#c zO%w0_e4^Y2Fo&?vLpk0sh&xSwHp`=6q?L?#w~HGV4qKhn{j}8@g=iZMY=gP=4yebY zw9Vk&7Gy{;@7H6(EJ1DX`_<@}akiO#nXd+-w~%k2YFHwyE4uA=kSMguq!RcOSWA&2 zLw=oa^uJ99k{zc3Ol0(9Ys)HVwjqK3v_@NOAp{#|$={M=iYWJUq@*oreaAnRx40di z2@#V;jZ)&<=}LB&6VVN4F@vT-B6ZuecU0}(g%7#c*Qza^3tNJ(d?P4hy4?!EbRK{KrBC4%wWuGKWO$lb?cT^p{O)uuatY%BPYkA?#@cen}v z!>b|IBemo$dL)5ny3{38E>Y_PxQ5%*;Gi z6H-lVHP6dxj7TMj35`7@=HL#4hz=A0?9=qKI$j1~K#TC%~aFn=NaIO<|6_vw5t6~nD z3 z8pbv6LxhFlHg0i-)q`gP)_t^k?Pz}#wglAf5jc?|>$-ez1cbi8k=${e>VF_fc1(IF z(CxvhWwqiSoaHh5C2$Uwx_&Zj6jUp6Aw@F%nC&4clO|W$xRd2V{uBlWz~jS!h!pxR zU4-$b<6IAVBrkk^;_2sGK)_>Wk^`k%47etY)M~1tnbp<=qbh(~{2zcQVNgE6Qpm|{ zpZeYx(k#6lX}ri+VM2iO>*r^!W)FcA!aB2*{xp&Ee{e-V|mn5>}#aw*MdBPjw zU%MFha=}k3fa|BZcnhXKAkiatTm5fZmHV(WOUBpznpUW4$?BFO$ZhhI z&FAr496H!%`UKo7oSwKFN0R*L5{N>oVub#*tejiW1TKuOesWgSt=gyBHXH?Q?8euj zXcIpQOVj8tS&q7(LV1l(7_Rx^Wr^xg|sk9O&wJ<+Ar3oVmf7dkQEnNJ>GL;&nER*&EQo@Al*>`XkPvQlyaB_o5r@cW+E;MLOIwq}>6sF<&l zuX#m_(3dALbz7s&_dv;^>4sPujici7;Ze)i^K7*GN zC-W(=+L&ceMm+sv0Bdp%AJ3_;CK^!^{n$KFaKMyIXqU=5!nDo~gg4xwCC)Z>kw!|E zuCal*@nZjMClyd*1SZImaUiaj+W~XgJXK@TbMVg*BkuTgoHB`={bb@AX)C_J$>*wc@HfYOj7P0 z%+Z56+vs{63%-|l*oJXLmTd7RE(0jfW};QjA_eDX76{?t7-VR0vy*4qPc*Gk5^b{b zy}S@oG-7!|{Q#H9hii0P=YxsH2TLAB88i@?M*>xI}cf-YZa=SSt=JicaR!B`CB^}D%7vRas7)^*ZlYzuw z3?|L<{B|xO7bI=YB%7I6#2LroXDVTso_>NGB zhPNc7u!$SIiDWifghODePk|Bz)HtT;5TJWojCd=A-LyYx2AY#g0z@sxFc;8Lj(ftS zBD-sQWwiT=Rc!IJ`lRtF87)s@^4KtB&NL$<@^b*H@=NaDYsmM1tcbv-icK#X(j*%dE5cS2)dmU5-tvUV((&=#koqY z`@@`gm*MK#v-zQHF0pUhw9Dj@#p-})XZYg-4injoRr^@67PL0a9w1IRLoCw*iUtbo z*ROy=kEr(NL>?DN;~5ad70qaQ^lUpIh}}e`SR+mls*Mu(*(*}5*nd4FH2B-l^+5Vz zVqYmifkCcgaRR_?%=r)rWywFlFB?@z89EIGeeTUt4rx3}-!bl}U}`?g?>nIW{kJqO z5eVxrMaL^R4?g1BC=g!0ElKMtfT_8q!wQSy>s}9>otoe{RTf5gVm?RXC$a{7P36wu zyWLJrU2oQ>I^gBI-1Tv2oZwkJzF!v*qfUwP$<^5EC85X{G@yml?%&e#H=m}rySP;C z6F8Tt{xYGuabTLgf)4ie&#i_D&^8Ir;sW`haMj~!8hi=jBwVgh>&tJu3$)`!=QEr5 z<$=1G7s!U`t7%3@&gLIHIX-&0NfzoI#@62yDO)aahOUx4N#skjkjIG1uGsjG}_{j+TZU zcSK~10kqyRbr?=*c^ZJB&G-|*oPC0J$B{_0>|jgP4wIF${JIWZbvnvxl9`a<>-9y& z>v5g^LnB+SWIWeOlO?T*0PmQd#ycADq&Qn5%iWLW*qXNO^Bhio>O-xpOntrtrS522 zvjlx|1Bi4EI7*^jop|pDxY%r}KP+yhaSRaV#Z5Qx7~739R1r6_PUaoYofog~))EN9 z?nK8wv@uXRzD1tCTT2pQ{63S!F=V{BOU@gPLi%4-ahYxPE55y>Iz*)0u6>rZu1T;M zLz*6xvPqLhRly}{|i+O&yJ0`f(F-Lg^)VI1YDP=nE%8*Hj$frhOe~7T-7~CAdJKZ?# zV4-Q}Al|)X*7_I0M%E$c?_l~X1K0g>>`ip6)4+YjWO%s2MBTQ*5q$Djp_4JhC-q5n z)P2Q${X9MzrJVsc5(F)rM#iC>niT%vcfp9TtqLpG_*Gi#oQoYleo;&+ zzcM*7by#jyCTD@`zfkJ~l9k)y>Dn5Tp(R`pC!C?B>dhcU_ceY7!iG1Cpyp{k- zC2P7fu$5#&Jkf8aX+=|5X!G8~K& zhbGES|83}-CU`z)TS^#)kd4Z7@q_RVskV+Hmu3Igj6C3SBrwx(=iQs%puW!W`K zn$**X34H8ykpI{nEdP6wn&f3VH8g?pTApqaK<92!kMY4AlONcDSXi-CEukQ%EHe^z z@+YRwC_nu&JNKqt(-bh`7=LljTD3oM;IGYdNpzKE(j7&+Wf?1}H~{jOdVsSPCFtve zKHbAPdpJtphy+wK@xc;3K0Ra9H2D%7(r(P3PPl{tX23lvdU0$_2piu3H+;~#fB#UP z>!IB*PF0c0{{c9yNirR+0AH8sE~f`LoH|tFXD+*gQJ}r=rvHH6k#l-pq3mlv)c26Y z={OP|vlUEkgz3rRjXBLrmJ=+XjSK$7GchGDPBlgozo%Le_4Wx0C3rjcxlHh(cb7zo z`&?eQL$U-Z8E^4*5v}Gzawd7Y4OT;R28)BhegbNlQd~;BRi2+jf9d*_air2anQf%gor@`_oGS`Dh{m9&)?#o5fH0vu9zC_Jiw0qA4n+Zw7z&I_S z6eP1IDFv98QP7V?hZ57WbAR8D^(VZhH<7NEuvdl!!!u958gPh*D2P&@BStBS*3Fn@ z^=(AJ(ME&EkX==qj{S42)WT{x;8Mz#To*zeNC=Cqa`JVL1Pe&Slnbf^b=7()=Jvk7rvCzBxiB} z%=DF0@3O-vy3E>^fyp(^vZaaTw7O=5_vPH)qw2ja6v~Z0!9~ARk=&9XSb!&&v6I{1 z0Qk_#EY^pfNs=%RRi{V{=d%q_Abmo5QDNh*YIRxyS1_r~<88T2qOmT{g6AGGU` z!AFvm>s@Bk-+hsk?r8d>coB^v(pLuyod*9LIx0wf~@ACz55Q58A9i>>M*wfrv{B z)M@?InncuYYpv0~ZhimmdJggiDVzK4VGH1hkT}-yZ5`8sRPaUr&@&?Z<^n_|n3nwI zCf{RfU)v6Ya;0jlyF-=GOZVLe(~)K5-^|v{JGn#li3ZoFcv-e_xJgzKd+D6s^KFE~TsJF@@O2mhoCbJt!{B!$?atpjeUiIi zHf37H0dd|zJ49o9va-^+)*tbKzmu^63!tPPgr{$&B?jxyjUp4#G3!me1Mm_w?h%Wc6;(z(UyY^6Oe?EW#ll-rT^d=JOt3$UnSa%`M%v{zK^ox`fpM)M|2*VLq@IP)JgTawtPY)DYBm1vw;HA_UYcjoy{ZX ztp9VtMkTg2pzALBxmj!snWtK{OIczy7E_poVh=k`~7g zoQCa*G|!&6A<(@nchtA=?cyDe>j*_UXQZX~p#pb8-W8JMu{s zM_7uPuJ9qrc{3l+duE0^HkPHS@ej&8e2ZmN)0I-wj=)be{bl8@R2*%eFVGQE!wUMw zv$17?R`N(;>b0)yj;C=5V1RjWy@}^_qkr^sq;YOd_bay4YV2Li$xXDL(LFMES|@Li zgTp@AvLB2TozX1iHTwkFOD0$6uE2V(5188>QUBPKvSG#y=lH7eqT5?#l&D?IYKLDw zGxUoLOiY%mGD#YX;R65tLlmgTv-N{bww8a0sqgFvW(>-?N|5t1Nevxre}t{-y|25b zY+?EY2kr&sOZB=()9%+z74|hGlceQ3DPU`Mo{xc7j9(VM`%{Imb{^9jrr47QTxI9% z^9hS2ax9GW7K)O!R*ZfwDvEg{1yy-YY{S?^5)Kk~8Cwo)B_gc&U$1+KBRSCc6UOmI zJKq%z-f^{$t+6Fh``lc>TINFQgwh7cJt$lPjSQP6RUfVv!Fh&IVXB*Wi67gCGwL1C z*&@>Fk#_fV8;69+xk-{|Ia8U;)V@nb)TI9o1cZG&*G_aYFliiWu?q9A`*4q{P5O5T zlPkEe!_IL;SzMH3XR%UD0zU&Scy6l8i{}#{m%QU_Ra`ixV#C@<69d$L> zEQ4YkxSJ05CLDL%zOUe?O@k3~7p+p(gLiyh@i1gMs!!^OTHgTht zrtygy1*?4Rt8w;ps1M)5{9zr<0Owf~{)X1FqW)z7Xc3u#N6RHZ!#KAG@@uB&K(FkC zcI{=dTgkU+$m#XRCm6ZMv-P(|mX_O}dmamfHmzrQ5eDGfcR|E<-zCBJ&E7B~m~4n; z+UjeuMe{qPo*Usw(tZ__5J=#L_QRzA<48k`dXnR%qRm7nMP413Muq?778-H#)`8K zNkY~2S1yfq2`Qx%=EWC{jA%7CEy~B#QURuzdU+9$-k(DY-JY$7EfKwPxy9aU;I$e#WwhO*gqC^7v>J}ze{ zIb`{xkY6X4Y*f|}x*ZEWX*`ZKJNvz4D8+X)tz_I)T%*h}YT3jtG1&qil&g)#8XC%4 zN=O6n?4RFe+cvgBPo09>U3{mX9exX@B}P#srTLJZ79fDOfA`?wX*`Y_8mMLCDFnDr zw6X~PdvO5*L0_+F)}p<{UWO0LPkgx_DE)ab73ZYiiVxWXg#yksIcGtZRrh@s7r*VIFaU{9sC%kWB?U8q{?<0#YPvyL`Dx25^$OTA_ad^39 zrq%Y%VP3ub)@u04_wHk_|1cYN&_u%Vs@nX12d5V`#*oR(_}7f0MH=~LdKWn$n`BEA zFWaPe@{XmgKX-VM;9np7(=MZqVXL$4^N~hh;C@_@`vly&o=y>+9uuCZ7*bqc#IZYy zeq0(IlE%f_uOhpksQZR49kb~4CPQK~ly=+lA!QW*^+`t9@EW9s8j zu_EEZx_=B(!zVSQZ^5NPG)^pXpA)T^$uvW^-mmhFMk;VE7&OfG51RcQQM>wcr0cVZ zRy~VrVdHEAvs0+K10Eanty^c2vvw;72YeoG#@XQK-n^AJSzB|R}@wFT3j5FLCYDNjz;O*m}U+(2gP zI3C@Z^C!HkU3Q{JLQ=KfEET3E6YyWVJl}8OovSh5U~N%HL>yz+-;{SuK`f3ryXgEY z3wj6D@`DJHP+Bho$0X{SNt2Cv9r_LT9k*w#ux5*goSi{gwLvfhYgAh-cq= zJfv}v1STzat;*~8$ab7Ac9Zdz%B+F5GLxp~X;i_rd_Tz%bB(`uIQ{ND$mWbx4Z)tI z@wK_F_Ra#{#&__8G3R)mesm%0EW5LzAZ>%v%DnZgo-*#MG7FPW@LXthavHn+Nt<^ylM8#RsF>v(waHK*p9yo(%(@_umylicnu zpR`h}oUb|nrx*h!;oUI%&#pC==)7xMWK{_GDa2!zi%OrMVdUJEVThE2fgH@olM|m@@CqncJxghVCCJd~qYu z_y?0La+R3yP&P)a#A@1~So%v-9!*N@R ztv=#J?*@s?vZgciTxLGzO%Z=`F;g={Nr1Yv>P%0xrGSRh_CeKKck3kLE z^0Qtl68~klIRB8fL2c~noA<0Gc$DKt`1lR2Kd2{V4L~#>qLH?t&F+gsi4LXiQ2|w! zGN7R?ug-V;H-KgTRV{i|MonhHwE-6_M>s!@*WmaXv2Nm1ir{F#kv)VDc zdxg<2duWhx1x;wuco@>4c~+`gbD4%vMy}pUdzSk?pWs7Y&APBMNmz}T`x8sMC7P2Y z-Md}US^8ObC3?zAh^EcgHt}yKz-gxD$BrsK&A88d0!5|=S8fEfErntW5Q*h^3qP@S zoLJ*OvfZ=obShHPnQr*PG}cJ#kUz51c;jD;vwlvhe*z8K4iZY2wRi8BdPvIBoW5Zr z$#5l2Mjs;hO)^zGSi5$ZD;_wbpl28B`Rh;aNcD5b)&gl)SS2wZ`z-dAwyBrqAy2ZS zY8id|FB^5AU{wu(Z~g&ndPbZ-x>aaUuh;!u!FptaW#5r>&<=N;0KC6kh9lDUv9k*_ zKDO06dq=dTp0HTze+ucfNc!7RN=7RBvaS6edcJ90cfYo|7A95z(5D047rV<3fmx?v zI6hwqWLnq3BP}y+azOGswqA6!LXxj^U_DYn*km>8TLY)sZ%UP3CYzd?@MJO?eiVJQ ztBw$n;@AM3zC-GhTCp8>ewur1CLDWQLGMps%)xbxZ+_OeV@1O~Ym)ot{&tbvBsl$R zYJZ2+?ygFX#=83kJ~8oM4xma(-PZ9=)4w&?Q#Mb_e4KCPJMZGV*V3Zx(F=Fh$_^AJz} z1Y@Rqn%Tj6?*RxJo9i*TD5P2CBT{T+!U_AZ^AQaa#rYdryFVJu@gSqyAVEobQdK&N zOitY%Mz%(-84nG5x=;W<)k*)OvI_h#v*m44Q%TD;L}1JOsQ?b)+Fr`m{0ICAM7Qb!)acVyP*1yN)tkXb^PS9UZ&I_Y6+X=6JnKl@;Efy;M5h=xt`lisj5}3~6PhQh z<#%j-_|ce-Sg=|(4c7ab(i=77B*D)C-s$J4(}1q5sa%7 z(;=1~zGHw@18vf&1t`g-$qEoFCLh;E1OktEZ;k$A9P%%|LzY)d4~wA(s6q!s$Xuvm zz<%p-84MuvN%z0WYYeeMvM0dw`$y2Nc?ek$uc+*x*bjuHpA@kr8!-RF8tYoFl@ z`wZtS#A8d7+*Z6%h=wDPRP4~c!D=m*cHN&1)kmYWIdB=WbuD$sus1QB=x>JTiI`w% znaTo{u$zmU9TH^$VBaqsa41^eKU2%|C%S&OHMS!-Ktshvakek6tOWJg%~%h~idp4R zlZ00$5uH@!Fg@lys9^ub}yQCM*dLp2pA=B^4Ypt?wCl{UNLpu&HA-AVjDClb8=@Z5l$xO$Gs-lOt4V03`}#oQcNuom zzu~mH38I)Xw5e|gb5g+_Ec6_f@EFFGFNDOG#j?vJ0y#v%pSGd*FZ1)X|T)+-zp2;*>PJvPM+Qcqhwc z=4B2tDX^MsXB_Wq!!hW|c2!l?5J`Q<(*$Am#(kupj~mu7)WBBbcRg=Oy;JlK9FK=O zPFK*0rrYoS2w8p>J{3c{y&%NzloJ-0t1~z}#Q1}qESeh$Ql?zCoZ()3+;LANr(Ac0 zP1~do1&m~@>B-{cv(ZC?!YJpbf}LV%IU$Sx2yVdN1sx@{S69i7kC#tw;0l1Xlw+E7 zW7TIEk;a*~r&f?7ju-XChH61wEhut0&4n-T;wZEJ7&y5d{jN#8QR_xWlVt`fo=M?` z-FzDg4=0trgK5@L8TKP&o}p!$__Q{I$wjteZ!^4_$~9~3R1q;XCE13!cdgpz{dgev zzrX+WO4=wB&q8IGqQ;vYypMl!sYbN_Xqzb}AAyM%r9V)Gkgm-@A$5YUr2UlBfZr()BsY zR#c^bVanOZHj&EXOW$8UQ52{?+TNKB*;E%!!M==J<&xaQgmh;n_P-CQ)D{j2o00rb z%~>T-_3UG~NXt4UXZ%wi{3>tTT{Ysy%rnV`&$AerFrcXK@~*U|VdPA7#I$u|6F^MQJxLfxjKA^J*@- ze5)Dc`xxWMi`7*l3Luu_TMkZ9wQ+ys+15xpMNhr`XLZ!?&O>RF%9fc^9dv1v0|E}7<35TH5K^WIRVL|-+*_Rr zaq*K`*aA6QAPw!uR>rm{e2B?4ts)V_8QGsJObsZrnBs~Pe}XJWCfsg%l9o9*PNe}l zhTzI)96|Km&Gi#rD<5+sK7K6Iua^XCVFF+PD2%J!??6g-o_O^bpG-} z>Ou7ru7u5RU?U)8)fNG_2jP=fI;itIqpeBd0!z^3LTdm|K(N1YbGkWNhBi zJtZOq2IHE567cyFYmeU7W&H(|w1-6b;wxdSg2{ILr(x0h6JamY#C}AIc4GA;WQyZ0 z4F_BDc3m8$0{3H*!$hunnIy9lN`p_&23_(8uclaa zjC|?J;?67@Zxy+kL3Z_O?;YXQpO?-6ecj}70Fd^W1`UVapOqSo&t%&@;1>6eCPCmD z+$Z)U>+-3OdC0A*)kLB_B531Ya-?V}tBUTR~qJ82a7J3 zM0v+^e`sf0t5>st(X?-N?~~}_16RRx=BbS;q|wc4AC&u&FOzH0=>DVsQ6$ZWB8&A% zCXTAfXW1|yqU1hGmuk6MbuqotO@arG(PVgvRBj~xAt0g(JbuyANt4nq0m-*Mz}DaB z+LtHdBbuOovm=v)B%w_l!OkzfSQnqkU42Q^lMxhqn(RuVoNh$wo{RS#Qv>zqy`^m0 zmZw|fFLx*}q7rPx2TFXGpY7KasIg3kz2(+thxIx=*-*6FY!0uaCQ!&wCAbkG@B7a~Or4K9#-S^e=> zGE!Z;wFl@Ytmyc4*LZk{<50%~<&6S8?v4CgfGEU%s_$%F&6Y16y5mQ&fdq7XOSYro zGo8Fd>Lv*GV5y_uGL6-$RR2D_;n_8=%*&#EYCUDmoNBXWK8YB zJDxVZ<llZRTnB!f>}ZQQ{9KBEzSle8^d)leS4s)wf=vIB#=``j4;p*wM_s`?!A) z%+Vo=|I>!;`8T+B-!=;58xU2|?sx{*`|3mdhV7f7eNb&oS_D6dc_y-_|Iss6EInU~ z`Upbai3h;1x2bj{XV2^5INB6oX_~GhraSrmRy3^3>I}%esgivaxeBa5BNf}Hzxza% zy?jc7s=z#kK!1AtH_&e5V~i)UPMyR-SM+sxD2_Xjy{V?2X2O*)%yMP-xVO@zvYaJ* zJ4Es-x+Y$}#22L@|NULnxc?_M^c+r9sr`MCz}Z>2iX)6CEV>@G^j1SBGzJX5OffQ7 zyj;y$v(6js_mAHsj?C&3W76Z{1>RJ&eF`t*{v8x}h7KUY4BpvgoQ>1vX}d^g(dc0O8TakbQuH?w5y{q1 zjxu&b9a1Pj%DXqBf@rIBXOedK(SJosY32t@4o=+D|C9| zE>4~JU4El$Z%u5+wTd=oa6iCR*Uaigr*Iaajsjy0J@~xV>2y=>oAv;65#|@4oGXRY zFcGdS=Le1%$qPitWC0}X7vr%-)v7l!9ub-} z{l7#n;ogT)gkh0z85it?FKu(Zxa%O9KdZnhxt0N}jQa0n`*wcFh%27GKP9E_WY|=0 zdMIw=kjcTy9eA=Na7}@`T(GQ*bHk!aS!^v_<91j+m@|>q*Dd!$q~co+U6x#Txv7>% zYd!uYK?V~3Wqq(rSJ+6HZdv&!*5}1tTAH8HKWIYnxZ^bKt+=?@K+3H(5@=_*{>0Za zW}`b&e4egNUBu&apAmd+imP9%9G@*;K;!sBR{edslP@Rz_%>ZpRQ&=z+DLnKV~&LB zJVrXBxkf^GvHz~h+W}OU{8}bKpS1e4BmuQIIr~>Usp0-IWJe`rE03Cu?hrjIO!%L} zB5~N&w7xPDcb7H5l^e&Au93yp<>y?BnBRiX`te$9=at~c*=rIZY|lgBCBx)*LzQxA z`MDWWeMV|wZt$r^+al?wn#9f0WIY|`^4HQ{G;;Uv8Lv&F00=JKTwFW(gzoq`;`l?t zIBJyW93$&TOg!MYwGTe`TR<3J_6P_|%LgCu6JcMliS>x>)!jWL@+ZXX+|Z@ zYStPsVW9l;XYC>UquI6dRA?4>CkjG{<6`*{FrE*%*dnd-1!^nm2= zrYsgr#bBkeXES6+-~@4+pK3bcylSEp?OXTVdPZXH*-aEsWn)muoCFAz!NzHCMj8AL zrO!phbi|t>K4*uF?8x?BWr&JP-UH-TGS!PezPj0gkSim8l(~leOB$R%;K?N25!?d0 z6m$6r?&ycQRodzf%t)a$jPE33y6w}dfEBphkdtL=CUW)((4Hi}-{>cI9|-=0)lYZ> zYqR3F>CJ_nl3{M3dSwS)3niUrY$D!H#poJxf_KR&W{Ya6qSJ;fEE*mKa z!h@Li({;1UdlW#pj*yeYBv6eXMZN`~@<7;1FZJGP>M?*ov*Xx;1E~lnQd1Ps< z*qu^0jY>yZ3@&n=kmkzZ|98H-*kEo%$V<)q-36RbDt348hyxC2^t6(j@$#%N0uI=D z6Qq<$dXia*M2zyX5d*WW{4Et9+IMlGSw4a5J+>M-|~? zaANj!e6P3^PVLV~WA1sJfonZ^QLc%6nl0+SuSo)m`jYZ<7Z zI#NQ^NTeM60;Wb0R>JfJHNdn7s^xbzJ9IMmW)%RiKY)YjwV`~phQ5Mow~EM-kmHT{ zo#>>ptL6x*y;r+V;gTCcRgq{mQarpxL#`DW5`Q3aFzbst7lES&cC-5^^0i z3bsRI*Wa+O*_Q9%er>53=bL`c?7&gEXS-tc9`XZ2NYk_*>Aja>nw!R3;aZ;c~#&r#ayp*X997(Jn_!Q z#uvEEa^p!LHCQqIj-^RxWf3C}*<3s+H35W;if*i__5v?{R08NoSeKe*XK&cNT4X9R z2sskYDc=jF7Eb%fPNnV1e-tYS{9d2?U5;!|-=7=1{}}^P!;C=-JLJ;_y#kGYupo%x z>dmzXk-9sQ>#Y0%)8$*aC3G`VMeJzyz1}8{OaaNgmpgyNgIM^j>b-Q!$Q80m+{UhR zLnbmRo2_e=q@VD%etML#dAoz+BgVn*-Xo-B^~tFTJ%=?K)^r;U`k$mchH?LFy80cv}ku;Q&B zuiAr=;B!VY%;Vi&Uc%8Ms7D*IAJG6&F}79SlX8e>uXS3u@q5YqCtXTbO4j+25}$k z-YS9%vOAXAgB$bSupi3v9^^G`J+-WH3LDN=%fm5X zQ}sBdwPK2mp))B@{IyJcf!tgsvi&=r=Gl?2KF6+kcfIV4Nrz3HcLe!QSD>Rua;}Bc zDOWSmZM&K=If{EIPgaNTh}vZ#3M9C9V|Jtz*=-W_mBg^2bR=-*MAAZ&QO_aev#E42 zg(OPE|MPoOJh>mC+z_41?311lssjK0kP-OTz#8K)b*{~9P8E5X2(3~}PAPuUK$t;5 zKDWUI`v)a?(k%W7u6=mT_z?{CJZa;Oo-*Uvd|AzLDHV~4hPMdwnB{zP#N5a0luPUH z#U=x&c5{gR2=&1Ao)ChJuE#G5N{3ub9CO#kX!FZZYj)?D$1zX)B=_|fMME}AyPv4~ zS68EG#vgBY4*Ln6>iJ~iNgU2=pe8iVYy+2>j>9R`VFyOBS^A%uy5cDPYdax>6({oX zL(pj49_iPA5n&wer=4ZrI-(Gl^81;oDB08>9Cv58Tts2m!@@bBz=-TyqtgW2J z^7)xQ(AN2|kFoS!Lc{oy|MK?hf4mx9cHJsn_TbADF>`J zZphVUr*!qlGSYWJ62*`xKf&~97_nVAn#TXfPABroKPI}!>OCe>^q~05Y_{8DbG5}! z=QoPOl8B+mZ09o47O1pkOj0&{C|Q+#`m8Civ!A1uglE6q#MOSi6JuHCBAW*@EoDkY z7-BR&e@w&DVi;C1>E9~CEvBo*M6M>wO@@F8(aq%L0AjQ2G==@!wYZrqPa}H)@^>FW zh7Nv$C|m$V{Zd#IR)ev}Z}E?kd6^t#Mc%dhR}+uRM0r?KEG7XKN#NHFwFEHSEx}eBf(rthAb9jA^^E#>O zlhUVHnmA0nrhfus<*3<#iEts1{n@|zpdTJ;olCb_R)gIKniJqPE$ zLSOl~KrroT2-^eB;{o>0Fd5V_MjSrmR%})#e=6IsgLo=kTuUYqm_J4`Kpx!g`Je*+ z^jT9#sXe1+^$1wMm{)K~4MsESk=(r43<$LWke$F%%&~261WwT$L+B%E)IZB>g|zpl zMDKDymKjU%T>|(%y}KBQrNQlz&0sM@hN2_04-yxp__B|gccByi5~ypzwC{b}o9~S~ zD`AwnOw#CC2$ZLf*)I{aOv^GJW_AcB-bIXQA8B|ln$@N&?{IQ|T^V36E+V$gmwwv8 zI{Z0+8zPhO1niJdf$;a)=0oyQCy0fo0ZnirY~3R@*SKfw)xSe)RqU}TTcgr!O0s{N zS&jNR3neuy1;Bz88&JjB26uS_pr}HZyqObI-etiEHQ<#pnV+XVR0G*mD^2lq2 z3DsbL71S87@ifjh3VQA^7P-q8#!x|Q{p*SZ4U*gS#y4c=s`F+u8NjcK==%{iF{oeR z51lqlVDSO4bwH!BMy}hZ+iVM|zpU#YBbhwW4m9aQF5!89o4DVb(b#xZe&Nv+AU(L1 zA>D>?s0}<(Ea9g9)SgyQsa<4Axq3~`2Tv#;dM0Sji^Y`9InwAe8H2FOEzn@)u$Y#C zr`u_=%zEJ+P_L>*ctiozb83>ri)&4>smFCIS*B(a?a5ruiM~X_BY8R8Aw?(J^^ks| zI$Kmq)(2D@D?C64IbiQ%!)~SqVqGSyvoSmyx8Ml|>hbb|ku(sA?>HI{BmPO05G!suxtqy$K#Fc+` zI`RUuTo5<-&Kl)Gk-{WEuETh<$gIx1iI$)zN9%V`O-1O?=@baw4zT90=Wdl4XZo-v z{!hfy$>kuP7s%VOua4(&V2SZGikZI1bdfBii|u-^&{9j&n@a~{L@*%&GCJ*(VbuR#%(v%MU0y-%_iW=s*1-sgRaG#rUW-lb*yd@|h-xm#B8ufgFhUx|POR zH2b_Uqv8#Ii}Wa(-qWW@)~EcjZ7{V})e-{&UIop2zUH0n;edw~c0R?hdZ@cc|1t=W z6?M9=*K}88DH1fjXCx65uj?j}1r*rKQB31P%UtO0QBW z#^wFVNNo#mRJ@Gq#o+=gMS?c#nEiJJ;pdN3<~nH%4BsKO<#?3jUv-BBH3yhG^I;cP zX@ZGKOLyF9lasCc)BWIK-&s3LlfS_4UB4h;7c2HA*nPlpJf!B}Du4;~o%NhF;~~`* zA08aAVcfE-pojd-rdREy1ldlg>XWDZEw*Z+B`Dylvm+R4=HPh8i0XHvZTCO*SncOD_7M)#&e<6vNhBHdrN z_BxU^-;U0gj6hm?-XlF@Ml#hLNJ#9}rTXGO^H+{#U8bloG2?hmlm8`$p$LI=Gr+*% zeO&JZliOM&3Y>pZ9ovWa)<(HflP!zkz%JXUrl`2Ddcl z&tZ^4>gfkEaW8cO}#)i{%$|Nzh?8m4=DolX&d#>2R zYBz^?jbOevcdAQlU|bjAk3k(*(ZGTrF~Jz$;a8>36x}LlubGBKvgU{!Uyx#j)fOE` zCRsxXzHCqsXXeB}V$A6?9n4b@9;9~@_JEu-KBg0k0Q+f(w?!5j6XbU&&Ai~qJ2Q-R zwr@wFeTj?HRQmvSUDzRn?PR38V-yH^MZ{=?gpyF@4*hs7PkyNo%^sMs2yq1B7aBLb9Gj(uE2C$ z<_RREV;V@z#TdBfjPb7t+m|H}0p0V4xE-UxE%S7I=hIy;yYw$%E(VzNsx#3o z4)!*IMo*Zbx2~!910R#T7D&sFnPg2Vd>x}WCc{L^Jhy>J$dRiCdN8wu^ZD1l2O*(S{!9q{Q+k+Glc?dNOtarDw#iCcI}NKT+ZqU)*i0X5FqF zCMz6E{O_B!ShgqzH)qWT4M=t___Ip@3=b(-1`qdo2cYX!=v8iu8n& zp^aUAOMV<=Y+6jy6x`&iV-^YgWfpHFd`j&H%Befncakk%4|GA@C4T-v^ytAfQbl~k z|3r<6AAHjkFR>8t&NA>f*X*8|dHHz?wab0Zraf^*c^XMoLqY za7sL$&4<;PI-7#RE}g51>X2rFan&ZraqKk5%g<1+2XpoJ7dbnU_40rfl(XrI4>N^F z@M2^+%`(n%IkwTt$~hYiOaLrd3((lsKPqwl4SUrr=A281e-&@xS~>FdjoRUeVlRp@RtsCnQ?M4#Va|<4{-4WN<@}&StNb-JY{MqlRMF zKBOAOIL21T2YLsL=<*>K(1U6>Yf-X>5RhDYW*1Y!s1jYX)VwA24~*SH|FxJ|I-A@`ms6cX8Jv>e;$P zc?}f;07&mzFL~#^R)ch!CT1V~6XTD_r2PqSxHUR4lLHRo!Psj@4s)l36kK zSsupKuJM8_?vjS6Iv5@o3@@8>O-E1s6GxkUingf5@iPmSeAz=c$FIyy$+X!;eG=qD#dzzg}T<#gb@N|4DHEjMH^9NTPnwNOKKm?1CNTwjRj#FL{Y z0#M518nhF5{u3W-6TWeeh<>r}J+iG8)>V@b>NC?ykoLvuJRckY7;O&KNofdMQjAvd zoS7yY$a;tQFb843JL)(ODhl8`TZ^vQ?Sg+?rUk41XdqhLzxQk_>AcgSRfB=01ffEMH+jM~+llO7ruJ@xrxj?iN`TIQ*7 zgt@OPr2jr8%>OQw3Zj3yK_BNo5UdbeO{nt^VN(QHV+(UkUs^t?E_@3EB;3avhdwpKKs1-T(*>xMAd@-ay<=)pYDcZWh)&lB z-sAs(s2V+V#uwgI6b_UrZOcPk)4zb_eVnc_a9iW_eXSLHG-rQrFcc>*(FEcxJ`k(s zR~b&0AvuW-^^j(Zl)ZU-)Hu_&SF3Wlw^#ZTOwU45Z150Ebly+%`A@y9Asx70;h)%O z?~l!O6a?lcwQ<+QH#M{8q0E|#&;}0LrrRFZwF2=~TxUz!b!vE-?XjjmCd5ZRCTL`r z=k@-wFoM~#>0L9qZ~^R!q^J9=zr$*WTO38bJ403@DRU*;p=4f;D~9j%IqT%0TE*3| zDPSZ8?W`Y&Y-!7zj~t+Q`eTZ0&4*H~n2*0rK0{;D&}QN$hQP?`KGlrST{iSYQsuC{ z)BzIucXK%^l2;F`jINIo1FL9tG2^#nl*& z|Af?!wH(aY9k^ae)YiriiBqjv${4=Jv4$Br^}lhhsqcMqehOqgj&*`4^jm@uPA@^u z3NkMW!a8P7yV!-ct%!CAX`lz*b5y~)O!*Pz3E%s{1@k=`=WxPmy~El2VUiMGnzjrK zzZiUsLcalpH*;p9?_O$u zLzmU-Yp^m;P2#34;2O*m2dkZzdD4yy>lmN@1k&y^u@#fLV}rpKX+*jLLPo>p^fGA& z7ig(KlX&L`!F|DW&1QrJozf4aLyKwe+2~3Q!*tZC0HGk6pca%#ZX|MG9BvepLzpr{ zzMi5^-RZ2X((d^X-n+wTtv!52i2w82`9gxiPG?36)9byA6z1e-$As}T2CBMnM?i=k zd>Yv19nscmY}!PY69>`@kDO$@>6e*k93Pa<&tr^g{x&L;GisHaw)9W(?moTIxn5mt zbc5${<_~;+53F5lmol14<1v@|!=V?DwpZ9-FsJHO;8+I{6^u|Fu&dS)ZT+Bv_t32LXBu7JfQW-DVv%5gyN`ZTiG|iHF~TGyh8l>ePe{uYuPJO_Eo0VoTVuit{wdeT0~^@ys5G#xEY;kP znNKXcpSq0~frr)yvbjaJH#Ns1?jm&ANu3NFmCu2ZP}xk@CT$p**f6`0n@k#HW0dGS z2~PDo?E&5a?fn=jX(L5Cl-$KN%mzD&`zStv!eB`exFDKJYzS zjXB!~B0fSctT$F;n*L#7Q@!4`TieMcT3gH0NDgq*J`)fDHRX-6k(`k(PG$~A-G};@SFSh}Cc}M5(ZEPQ(#5p< zCVsnQy0Z#+{f(lfWn39kJ|=;{6sZlh2$RL;wLHIZW=mwHv#N~UDTEt9&9Qy0qQ-Bd zH+u(@`oYQnq!e{U$#OKExccvs0B&5N`|S+9#n%;8UgYMX2Ox>PX9Wb2>2cmpGp~Lt zBHUg7(`yh;<1Q4@5(VgU%NUMvvbAJWkC~ABQu#8s=V&6Xc@5H7FMiH(P+QLJL#rW+ zSG|@VRJp}OT>FR3X=Ea=sxuP;-+cY;TBe)+cpT<)(m%t0d-jnj)KkW?d`H!C&{n~C z9BjC)(AWeG992(7S2eDXr>8y|4{+o=(eVvdq^8wrjR#a}!>#{>(@!!z9imH8YDSaL7RaAS+DjCIP7vMi+XJK+o^1T}bSHvlXLQU#IAcqf|O$C<2Xx^9~2Nlok7lOs#velqWv z`pZ(X)=t!TlhMOZ0-SN4rD!;Y`;n>{htbImAUHA?lcdfiZ1#=%kQA-8!taQB*_uez z{3PQ8?X1^(fy(%CSjT|_I$b~-xb&DaR>m~WZ$ChweL|S;C|ZKXi;>nBtE-190=y>v zjgkHj+(916=OpE>ZE-KiRh*RZ_rp9wJF+S1IrHlk$hP)F6V>ystMj^Ul==A&3TEUD zTd;13{TXRxFLIRK!nY%j1%^45n!)#@&&zGuhMO z_5#om3wocUem-C0mC8$53p%hDF( zj*StK-2B-#jc;9x>m63W(rSW^tmr4CFG5|5G2cOKEDm^#4(O*25#oi}HuJ!){rplnr|o9c(4P&N`^59cXnk6kpQi11NKMCnS}yYY zGZm(&z!&#n1X*cQA|!IA1>`%PqaPvi^nx_r^~m4+Q!f)K_=e|kv@uw|Pc zP_~>!O@QVdRnL)-6;X6`Ex5R#vhoWbgG@9d+?Y0*t9|%aLsNYYD+Ro z#!o!`J0oYaF}!~6I-;u zLu+WJBF^F)%_PFQJG_ZdzMH*7yq|rpbBiQ64P6wc9@YA1wwLBU<|m$3(01>|m&=jd zg8FG)8S5L+Ns{a5RA3;fWMhOl&r|`$2?CNO*}sTOQLM%%+^$(@ideVVGBqxd%cnyb zMZ|bw=IpGF+lHYLGCCcDGE|{)WRut+i~k?ETk+IZ65+X+Wd<_dPRhE2Or7(9^=Kw} zqy^vgRtYE=&V!veNU-~Ntc|MkD~Z&jIs4hkP_$UDMj_fi>3=wXPdYc;8)dFkk^7+I zx&_hWxWZJ)wwRG^)9$d$jS&<=tH&3gg1CBAEl(el+csyK9g1D-hn(-ye9WN>JoH2| zm7`aY9xGEdRbke+0@Svy#uBCo~E@tvfa(eeKWBc zzzRk&IVL3Uc>3Z6iXuDu&2vp+fMo*nkTsWN{JcY_#GI-n1K~nU70ySo`SHO^%U`OM zJ)j%*$<`b8VP{@_}1@LUK^p6a-qO7Un ziI?Vt`ws;2X~wuH`d0aHp3c>)EMepGxnVmbVjB6;GqAMIjHwBOGhylVWv)g zE*Oj~CJNLf6@1zk-=TEY2NMxrcq3c?ome(7M`|>rFRW$v}ho{Kw?x{#waYZ@x zjK(6B%pC8i`|`3+sapD=Pop0l2nH5oJcL!|WZUo)OS?HBD)L}_wMsH`o7Mv=uj#H) z3@o-(sMsQB*IwV)>YG+w9B6PzAG#Jjn$q7>j^CYa%ZjF02ar;bFApKN6(9iZZn58f z!01Zii`n}g;iRN4)21Pb_vR>5%*+>tX4@ADrbX6jw8m4!!+Mg?#RJ&-zJm+ghr@9> zonBV{#eZJs`EdtRkHvPC9m6)r&hLW%r>IHVDB}}aou@BP@+$3hKdLg8K23i;j{Z_jKMpU! zWu&izQRV-i><&7EttiIpb{U+S)#A8zv{1N_D9rlvTvE${cgQHk(aOtBd|_g{4|S(k z6lcFt@mEZn%vRTUq^(gc{|d;dI;pd+_)x@;8%r+gNt*BdX6!I46cs4KH*q~w7@dy0 zWnDn~_BEB=DNUN>S804j4&*Q&C&Moj_KE8r(2DCS6+(WZY1vT@ z@d-TP)4j%tMl;tH5>}Lhop_42{o+eVDZ08AV{RG{Lq#DI-}PBn6HjSh7(~Tg{5X@o z1*~l=WV{d-Gf-h@I|`jh5bHF)Ay-#7dDg);R?$0@UgFp0jL0Pxzeu}QD`+jq90P*- z??T1gmLO5(sJcA*^#(5tsLupaO+3=$8sktTik5F`u!8E9zD`EL?96m+kO}0JkKu+G z-ovVsT}-km`5)e3(M!$J>)2ztSR=EBsHwi-7A>Tfrkk7MfpeiV1s z^RUjhlZM^zAh-UVJB{o3Dx;;qi|0dAvxn3{U(gh#A?R6HUPswVsc3FV`sc`h^0v*! ziqaHvGgppEE1iuhBtxfo^YVfj;v1{MOKVc1joe4ifEzm)ep`jnBl3r<#^F?jfBiK!(wzI zDGFey+C`QG0LAOi_%3Q7$ATnm3=IHn5=E+eE^~e)Y-M*a5lyG`1JZ6YGJz z%Ln#Dq4eAcMG;6^{NMqcm4BFZLu6}QAAG6E+{E0A;t}QP3|9zVrau>r6Q9ASK9U0J z84|K0mY?H9MzzS`(@2oVE>nt!eoNzIYa#rRCrb53w1nL(6;Jw=A^o4E z&+OdR=6&Quz&O$u=ic}LNb3zZ@JQG)j5Wv}jlXmEUNM~=5erihsf^-UmQjhYbTk=) z9Ybl~Vyn*|6d1stt6>`}hsh3de95y(rH3Plrk;l=twHZR3)Mtbvb)Wkwqzy)myzz; zOftVh(%a8%AG9u-*s*Zd3iPdHr$8d}_LCE-`oxO@W%Mp5UjNC&Fm9#WzL;~3zMt2l zg#TOw8;~I+rN%HafiyQ#C-%56d6A!(S{`Z?#SPOh6Jv@`0~%g3h3G?$?~@i;{3)Z^ z76kI2j0g^u5sl6Cuz~v8nk$^fc`H{NRI{MGw~0{jCJW%^7TNp%NRVH8U%!)4$`dmfz(_k%8qJibPXV_8EEc_b76%|BI%BOmQ3Iz`-j?a{ubJ3k+mME zkrP=cPZqN~R4v#4I-=Z~rUs(Nx+DYOQ`+9qwW02dWAFn$6-?<@WV}bz+t#aP=rpXh zDLL2!JMEEr$c5`7JxdnX485>E#@}=7$(u3j9WIm(<1KqQXB^-Dfkke{x_8=##n%q? z%0L)#jQDWy zUo$qC-k;Z0%j6u$o}6iHAAbP%zRad(iiZBJ1rzOEl2|x;4Glkj{wtbVrDwKsila`U zWctZ;{mcxrjn3odL^1jpjFQA4w7BOqV4patA6_CovZke38z~WGtlewZ9l5w^ST0z# ziwibP$mG>kkS#q-^(hW3R%&LxB0u5}&%hp41I$#>66H*goihNIK07j&DY*4Yak!=a zYBY&3=GlpocJXhpR9t$fY(h-qsqw+c6L1%k4t>4cv?6O50K{&iGeLhtg!p0V+X zI>~(irO7xuGB+2f-<=t;qz1MEke{`$H5RmXX2rn@IOZ)Tks--?gBDi+`{V4=DISZB zmn!PpcJ|-FG$27;Ye(v_+61f2fE&j-kA>AmwsNsYp#32|(!xhMe! za%Ge1@Rke$^%L3IB2&^9Ea_1`2NsqmD>u3eQ-V1(DVdu@ln87e-Q?KsadQ>Y_7~B_ z7`)etRg6TogTM@iJiOQ}*;hNV?6`)3#ovyS+A-O?6dJtAmi)w5$!_P?*Zx-cm=X7? zG5-IyL)?sZnB>Vk%7^&jFthCA&?r3_OquQ2(sL!U8ALq!ueP=SBdC{2%L8$woKamoQus2!G<{x!Fs zW6(}1K2Y$R-dmOlw|!hPTJ)q1n$^#&=mut-`xRHqJdK`+UY0H85`g|P3SnV&v+WOn zp>7kHir(;Ip-D9UR5qR&la^thofY58&CSFBI*u| zm`46y0=|Q3ZV(lgqKxK7<&`K$UeoS6s2`bG=)H51h^=LTO$ec}!^1P0!uAXE(ZXo= z=oYCNmR>TP>GhA1;l7#DVpENr1uekxt`V)PL**nV9)qJ%S;pg#uys2Kf%` z_yRJ)X7=tXk~PARmz`QBQ6k*fc8&0oyCVGo=K(b_ zh&NcEoZBcTllC}dyj7g10iV|aMu5m0td za)}xnA&_qKbDi0uX@^*x!~-n@BeBFs1+vEt33Q5$9TPwDK)v1bF20m50eqq^v75tK z0bTHg#*c{N$+c6Q$jmI)jNpVU)CjU=|ocrZI->-2_+3-?Samu8-0h0Ltf}Tlv4Iat-A1(+ry0qrV?yFVd(H8ZZsP0}hk2usbdv(9@7(R;>397c zQR!Qi+WZpBIxm`WYEI{QjIOJ3?7cgL?CG}1l7RHvgwwpbZcMM4*DrY^#kBROqy!D) zah*s2qBpLtZ~$x3JRNsF$T+(;t(INNHmYWd1{2m{*ZI9$Q9!AGUgTzq_tasubgmb;6X2*0Oymh_-;*OB4MtbAG+6Ot2K9$=F>aIIhLX2W;2HI7}ey;gio-m_AS^ux*h@=)BN)L+^owSjR6U{2hcHVJAPHydTcJmreved)f3b3+i zFF=N#^xxkx^bmHOW6DIUPlXZqK&>74_ZpQ+`go`BC?m(vz?x4$7GmWAx?ac++7tT; zre&T?e#TpRk3Y~^!}%XVZ&5>aRDR>Bie^s5*%ecTxqgjw@D~7Ylos;g-~J8 zpm$tNL8mtEA%mi^EJ>6%o0(*Dc+SZlR#*XNJ)s>jQ3e4?U(7el=HaqRa~;0a#%X3q zuJ3H@Jt|qyCX7+9qKs|mz*7{fPY!#FrhjXUI#zCmINjUci7`wK8R4D}!GiJwYH2m9 z)nC>~HGbVbI|E;eM+v@0br^h*1YAvNgPnG)KE!`V*EDr%Vkv`sO=%5s3$g&uy1WW5^jqJ@AB+^*CJaZLM<0vJ_aTLzChJ}H+HPOFvoH6- z7<%capT@rvD8yt|M22@@+#FKwh?96U9Bo-x_|Sv7Z9ML$Y1mPkJ1#>-M`oP-4A9GU z37KfBv-f7`z>qe+*gp!WS*TUmhz9`;$b@c@No}ZMp9U5xqkdto996!6#b$VjHI0dF z#d4s28&0%f+J}E+(Z3HY155@JA6Rs#2Ky1My~Ujl|M)`pi3*453nWix14!X+^ulon zrQ2W}kauK_xm86-WD@0$i+_oRqIe$#e0p1^0Yn_8i49!j$z$3q;w0h@^Dwt?MLND* z$?u?AE)XN}Q0}kB_CYi}9c#5a1TeJUGW*HW(UtO1$UBzPl+Gi6ix}x+kaGPWGf{E% zY0;rlI{`)*6LWQq&Zyl<>67pM$;#EJQt>^(B6rCzMk&VC&ZsJW@=RJh?V^L3Saf2a z$QdaBX0h5mtIr+xLk1Ky)F^=qdRA+Mm#4K9MgIEK=vOFx!*N^`kx}QYG>=y^lGau{ z#kcMF=>zD7<8Pv*)(JPx{KmrhoP6|>u!awX3p>+m{Z@gE58V`ShTF7^Ns?K9HXOoDbe(1vCqy;fwW;`5kfCJC_SMleAqPVzz_a(jLE}fLFjMWU9|VO ziZLcC(%zq%EDEB3>IIYsBXBUDx8Otm2bMeG9(DHj{!g8B8+B*r0`{gSCN=Di^^8aJccQY8P%%rM;TpUQ5${kg<2PEu!qgZJm;ZUwKNm_~CU@5zaz5e1W(XM?cHd z*!cdLW_j9`ke}%u0N*+a<}3+SgHTnOBp3>7i&pAb3{#-}_}3nYKYG=EqA#uK_)u1p z?~)0%JK7_XbyB+AenBMm%)-^kCY#v8hmnz^x?TYunXMQ3vwmyWD6rl?ijdg+{GP!= zynhT_%|$MHjQo=MkQVX8vz@`x;B2M*`;^2riRSioo?AriBNHF-z--8r{VoRfmoI!e zkK<{2;eSrlEGbL6pf*`!aY|Tx4P{E-?}&QmSR*+jK)Sl2cDxWme180XAQ3T^2Xc2b zfSkn59cxG&LGQc*;ib`4ToXG$yPLJL`BI9q3EiO>Y<_Q|yxry&q)gafG+E5Fr zpJ-+1wt^n}Nde-VuyCMA>bvZhjb1eV|W&pZjy&VZYh z3}0^tWhOgbr)74hey_Yk=>uc9h#*`Y#?E%0@rv=kq_~=g>^kM~PcpO7-|p1^j~?O3jz#$cVuy<%_yYa4oLFd7 zs|gGyxN?)vsg8d1qo!i?4z6Ql&Q?|Dse7Xcxm^C08A!aws3Z;Wxt2*Jne_%r+mjU+ z?!C@xtg!Xh{rh%PSglb!|1WE!N9B8%1MRr@eg=eP2L$YxmV&*R!>q16#FHnF4*$ z$g7(A{^p-dhDG{FMocIhfWsP6++Fq+v+H;6Q{e9Kl<7KQyh zosA6cZbeAzuRhB-wB#-0(dSEos-p+3?A^Tl-K2Rw?!D8-CuB%r> z&gR~A{iDSvt=+`2lcUYnIX>lV^F1!G=qbnBODll)aZ5&#xjT#K9amF8s@E;`k*X^( zCW$_q*=L7DI{T&8Su8S+O1B^W%F3reLed$@Ws9H}Xaw4aC)@8aN2s)!yB9Anf1Yl>~z~dcJX%z`fMT8dOi+-r%7akrH8=Eiw<<28T;U{+qmlrwH zyJ3cAW2B3()slQ%`;Msg_ob9wgxPpjeDYnJe7zYLPpbUVM5t~~QKZp0?a_f#Ok)tV zOYM8Km?9)%Z80fd%kS)Qy5*ZU`NzgAHAMtaNcIl@5U5*hw@B%>xIR#PgxCLhr7M_b zw*V&^C&NjcG=Wiw+G}(e@%Ns~>J-t8PQK4UU?&W=LaCB0dR`CrIpR-WR+^uA3xg2Q zxH;li2DtP!CnB8Ms-hEeB7Zv$^+nAT&m2;!)8!*Z#UR5CN?1%+$o;TPIT>FyBKf5@A}CK|;RM*`?NZ<8#m|5IL@1FluRhTFxfY-h_bZ}BmqBsjzL;H zwZ%iGZWejtx(5dO1Q#Dwp1}7RJfjQ!!kc!LLP1hihx}ob;poG6Fjqf8eGanQP$^C{ zx}Y|u)QK*x@JHKbm5uWB=>(LGpPI(Di0@_jo)NWpt`^TF)KmNp@lT?0+9N^Z)Ip<^ z*M6MXE2@8X9xE4Vd~?T5Zp{so8fCPJyoiN0fx#L3pV`%e=Ex#$4MWat?Mj~JRF3_XED7mq(>*e&nPUIP*O{ehiYwW6Lg9R%Uh|*Wv1Jlyi=R9Xw{B%t zhKD%_lQp}+j`H|jOnW?W1{4Oc>6uUj48W`(Svb1LMG!7w?IgE#S_v8tv9$tsAc}T! z;DVL6{1eJZ(3h)HyG7bf;^SkIipu+pAnY{fzSv*9U>;1Xm27HPuLJ1rQ8iWl_oAb@ zSj0Rqj6eb~(t?iZtU><)qqk#t^(ijU2c64`G`;Q#+N$Yx&#WC`P4%m8PQjP?T`+vi z#m=jIvV=Ug0V!(EP;_Zr9g+uBNv(VoQQz!!jg-$W5T_bH$er4$*HsNFj&)n~`KkWI z%6e3No}=P2BwZJEe-Tru9dw!j9Y35~+@V%kVpli@ozGUixslua`pD>62)jRVj3fjx z(QQ4KtSm^xQ!^mX{DrAzZYR^CwQDA6838bmKg5nC zC*NO5q27@l7dSzUE>XP%zPMbE#dm0sT~#~&9n3X@0l5cmpkUQ}IbxlvD7e>-bkh)3 znXGh4n9glTd)*N*S`=5U0IT{XOU<%bXN2$A1`4c&QA;CepTwjK8$DgIqAYqHU2SB8 zYZ$7BKz4;*)$p~-Sp_~h)Oad?&1FYW}nA*aAy%2uc_|o+|G4Ri%(CU zR*$uJAa%Z^^zTE$7dWcUSurO-+)Y3(E@6X<>P;ZT=fxLEnpy)BJf#zWFg}Do@(!!d zu=2z+DXpJLb=d|KfBsZdttP{f)SO%#A+4#M1D%g&ns@Hju6sab&S9Gq7T;A6i1v~; z5;^ymXo3H^+?UE%TH*21_Or8&f#Q?M8&Fh{M*4|pBx}fuu$|RiEU=eT83xy4UwM~7 zgj#a}uirM&bz zpd@>8J@a|x`@dre^HmL5YCcHh#-@HMRRGXfVecwI>Po_blKpsdf^}l z00fD&wH$o~6UR%71EANGzxU^6K>|>)6m8d~g5{V{M-tPzYRW*=%Z$?6RY){zo3xnfPIbCYlE?f{8>z*c57b(KTH-}F*qAQSdC5>xU+hqsTLoLg8q4vJKBx2v_pA^ zGq$b`-eU9LO>QStckYNx70Joc3dlxXc@UWN2sqd9Wm^G|S}lY{mc6)sqLm}-J-?$H z$foA}MXoP3atY%Iito2&^1NZ(vdggCuv4mQJ<+ILNMTSh`&}HFcPM=xAFrfwag#Mq zWVfZ-c$ul0e)U*?=5x!^(2oVW%z>_Yaao>@|9Qd2^QNCPc#8uY3GFW~+%^EgN zM_-t{>aLM@5*{XV3!_IfUDUGz%(~#cenJ_SDzrtG01M2<{js(ruA8R|cqFj3G^#kK zE3^lphOXBe*oXhTP6_3jM`je$(R+{SZ&UvN+|wmu6$=tTsj2cu#v5W3kBmkk@c3SFj@#REKk&=;l*3*gA1+LZXc+~E#PzM?a0!G6nP3(d+fU6cB)wp z3K0Gs(j0w2TLhOE6f_Z>11J|`bPGeJy>N8bz7-&0~Rcq)Q-EF(L@ zUqps!flD1;)ph=!ll$x5KN#<;fmmBSpYXUS>XBNqB$;mKWYNvR$;@7Tubw>g2a zq#ZW?=he*Sh;h1qlvowH`f1xd>#08!*Eq-2vVOP18l1^mll(+AU*0IJBZ}B->mKOh zYq(Uw&sl6@3W^cvCbVW*8@QzqT>cv9Cn1{y&{SylJE(cz!eE5c)07exn7iKxIr8at zm0n5sr#%J8$s^O8Y~P;!=?B}#*g|F2-hs?n8stU4hb12cy0f0wjv#{)T9tJIFsI52 zzICyWNalJ-D?FVfR9@M2yds&~1c-|vxQyPpwi*8z1@yD$$Fb;N$0n%foz#u;%qdC* zE(!U3^?s-?k+p#&zBV2jk=0>kertIQJ+95`a`cFCSMP<4qw7NyQv{z10qjt3E(#@7 zN*}(E?p>ds>a8HpxwqhOrJ@Kx-(I<1?m z`rc8E8Xv-9a@U(A79@!JY!uNLob*|hyX6Mi55^(6mA60)3TR6EJj4qw!KN#pJ&;E< zLn2+HTC)&M*%2jqt)+5u5!m}{@%8wcm9THI`&=aY?GHsM(i>$1_u+qqGBWd_8{m+puw?OIt|2AA)n>7FLg`jeRZ)81@s|=oANI z5rY|Zt?<)Lw><+_#9)4sxL^N@RiO-C#YfC$`I zH5;%fXY{zxChoZMI3(gip^3YpYoO4B;-$+|C%l81kI1t$^UG6siu8(FY)4nHig$)S zi&P`%f(lR515<)KYRrq~{1e5@Ly%wKLJ8v*-oQbHq8__0-gRSJ?E#6BorRD$%BU3} zAoiBbZ}lwkGZS)s4HT?KC_ehAt~TB0z~7OK$1-=}^I%e3Mdux89NM$1qW$Me@0T(d z{ddwQ>v=jR1xdf-8o2y6=!qAyxJsP@$0WkJ`Skg^90OmDU)ly1pT_7wjiVelc6X&; zN+NUpj%p65ouK$q_=^;JN_8IDT11C9%9gxjVvah$?0g#3EnTRO^^2(Vz2h0w#8$kf zCeuC7BtV-wrLFLR-aDD|>I2F0v`^XaB6V z{|ypv5);I~D!D{wIpXd4xY#`ypX&Uk0-Lviw z%jrX=H0a)hU7^mQ#JZEj$ss?3qCa$>j{Gw`yTch}s}mG!KQ|kBJJPM;3aut#$%j-T z5sWerV=NIf&F*Tq#x)Iox4Oh&H@V5)y~COpJ}gDpf$LcKs!M765rDbO@e^C9<$`;0 zOl0Ha@G6-uCRocslkMdC zK=qolyk0kgBElG&g+{fZ#tDDPwY;Crc-aK-|Ew=dg65jVhH&2B0Zo7)>_lcPRs^rb zM&Q0(>%z#Fy>;UW3)Fj(M_tlFz+9MVE->{L+D)ApiH_ZxKoJ;A*KJ5P#vOSvBAMi!JD;^M zno;fs*}1}4Ts8Z~7P>pPc<{}qv z8QRjiIMab$IMkd$V`?Dw=fR%ij)j^FZdkF@HR9!%8R1tX_lsRPCTu4!0aUqX(i3~4 zSqwk>`4L9H=CS_D&JLv)GK4)9hTW>RaCyVOOpBs#|B6WKVS6|6rJ#6(F!U43xG0>O z7+mvIrEHLD&b=s)owEGe+$R4(;#^rRp)clVS!Xtv!pOllPa7;+NCM~iDrCf120rJ^2#6wh%8>tZkhdjSs5IdJf0d`Uu<@k zNAD1E*$DDLLQHHL;pw6it2Dd}jR! zL-cXcCH6)zFmje1;XAZhhzyou=*qTaOpSb{))2m)%Bt1GC?|=`6fRd>C`wWs4#J{l zV}Xgln8b8hWjB#SZ4}l}m1T$$k<<*b^dE|;RY}8%ukg}+x}WZT3h$ZUZr&>A2%U*!j4v72oS!5IBJnxjz$8~a_>N_Uf_EZj?Fp5=37l{Z5IgwW z0uv#!b6XjZz3m#vsg2?)-OgM=S^|4K$hofJ#YOpLIbY_XKcS5z;B3VV>`lO)0f*%C z1#QC8_f%6(5G*RDRLE3WmyUFev`Wv?y<%;mE@1Ddh9G-$wqo^doG6V%Vi1Tp={s-8 zO^TAH69>LIAV)%dp-NKq>Ix)YKHQ&>#!UxRF^-?LpuW_G#~QDD-4vBR?>aPkkMa&F zwiflPxO%~p-6JQZecihrO&QfBWW|QPhl+_Zw$$_q9&UrVXD@}rS~yYaA5uQ>|8HXT z4dW^iocRf7eEq{yF+$n3Qanx`*gx0YIW4X=4ORbZ}mu#u9DYBIo>uWxkLp@#8-p_Xj}!UNn~ zp5JlJ?Rg&+cV0<^a+`&ND5v1#bqYTVXgz(x2D)Mx{A|uUldOA1bix4p`oxH1uFSh9 z?6|9*yGGllsO<$wR5n?1uf`Qgg6x@9{jVSps49ZVd10l0)wv$ir~(FC5jzK+hgkkU zMdB(`lgCTE3(gm1sB*3ZjvpB7EvxqC`Y+EvzC)Q%D<>*47E3gjcZbGghz8E;ynA(y zN&u%=N302d1!}7`}&G*T>af?i@ImD`q*OK$jI-YM(NhCFb? znDs6qcKI4)*5!TVd45}_Bfs`Eq0OCbWt07mWn3XJ8H+tZDBKTg{U2)Rc7kvv9(NGl z8W)2Hl^sPA1PIBEH=rW1ZXs+yANpQI+!joLPuEU@egp5|@;u*OZ{z(NR3bGvpIZ3A zTpWAb=ysRdpcO8`t?{!T2(M1$LSRK4U&y%`)qRvk-cGvHu*#%RLac#$9@`5EJYAq^ zQW7Mp{Y7@*G;7=SE-HbzpL`-BMm*ylfzrq#_1yUVfVAe~k@PRCi{v)M0&Zb2w{A2f zoeyO?2Bhh}E;A2ez>GRPM&wRsaXLyJz$RQs z5K+hHkr`yK4uuge9SlbM6+QXae+)eAO103Q#p8AP*3i!}lWVIEZfR|3UVeoab*X06 z6jZs`NtQ)zKi@IUveBuFc%^LmMpk`5y3j>ULd8*NGj7w;HqBi7p@*Ujy~JjGegB#2 z3Q%7K{|IT^YEE2iXgjW-9XbB}QsZ)uI!U$8jh2tiK$uF-s?ufYLg_(2F6A`?)}Qoj znbZ2=k%r(c25=smEgc_Bk=!4Fq!;_=wKjKQ?Wc{5XgCWtq6C*}Sza=353fdTuW*K3 zTX*haA}2pr1xGij0uLK&VQW~bwT@LtF>!}3UT|!rlSi0$*8+ZpGOMzX{xuHosy=)O zX~)xoxpy6QViAR=t7vLAh-5{6Y#XevbjEbLPOYdA%Tq~5%xxOH5kaE%Z5JX)t-jR$O9^NAIuTfQXP)JY=msRVq9iEX>!aYQm zz!4mg0?@sTmKHL&KH(NX zkCp<#FDnVR(YKvSym&`9@aH}L2O%Z~wd(nEfmqeF10Amj5U()A4B=vYBd`g}%&aoj zaz*38Yikzuair$BgQF?3SYn8>cBVznLU|)OBN`!6k1!Q)e*oqtZxG z5Xc!X)LK_H2!GU1Aw!`?5gbx3Ig%3elE<3Xr#mFxw&rR-+%%0sTSY96$Dy8 zgCGxP=4EFnB9V9&VLUqgL#=b!vc!F5o-jgA!e$!eGV4bcj;W)1b!kZ6_Qo$1vqv>k zGbBaUY20ILX?K!QtO{B^9yj>0fHBGCh1SFxQD4;;wA>tyRS6{aQ0k!jj%L2EI2>)o z$snM>RFxzR{&OP|IF~~JY}JV|q7?vB@w|1a8ce$#PH%c8_MIBHu&eF@Ripm`-*D5I8V|D2#B5!sKFq*9~o6W z5dxu&IF`)J%+I21XouPzf7cGnGA#FQ`GQ(`G&3neP7GLR2c^B7tS{Bmz`lD7_ZIXC zjJv3!MT88JELr&L)g%scVUfLfM{|uU42EKLDbht+s9@rfsO&hwQ%C2nlJK;96-a*H zTrzsqeBCZr7+%j;g0X{k-ZL>sib&Tm6hF^f*<<)*K)#(g2zH2$TG+vAU~_#8Fwllf zI*_Pd%^(m*J(w3?tJRO!2j^`DHk%&jDtb@6jxctnIF+yIt&i&3<|V|Saxn=1P|o|%iBoXBLLOXp;V zI?=6e>VBBdUJD8Em$+dz=MK!rg7o{AuWM38X!3R0l;+-1jR7YtMTQe9(_;Tzce9rO z25_wb*d-iN;6(5%GJFI;cRUSG04t5v*9sc>24JxfgcVeE>QJIpJf`^jLYh%zAa=trLBUjPqUaJxTmms_8iu4zJa zX|t-(pNxM`*<4w%w9bmXvik*%noS1v9oab8WnlD}r!HYG3L2KVLUn=UpoOW=@5KLU zjPGRU$>Q)j?%IRKJACG$e3ON`lN1{OQT38M{cgW&YA|rBqMf({RP-0I`a_2y4bJ~F zZMXbg6vOuu$tXPFCt7_499)EhhPe2u*4=GMILpcLq<7KLPR{jOZsm?bh*l}Vh2TF_ zzD6)*usgal6v?J*s~4P+uEgi;Tt5L?W}t|VXLDquAe;*~k~-GhrZF8o!w1KH#xkx_ zrzhf|dv%4IvWl~|L0G;l|3lt^OBE4qyHBRx0c*nKpQKQT*!ftuDt1d=idZALzRI7_ z<~tkNuC8POha6V9Fiikd38l;>F9V+5AHd^BT$?>-XDS8O@ z&a0Zsr{H=dcP6pg89-88^OoWb!2+hDth{+ay#q?~7?YHNe5{TR7AQ5}+LvaaJkQJb zgnS8|yJ7$o1hH-B*lBy`+NTh{3BN|f6y}HEdr5?R@h2V#p{JWPx#=Z@E8ihr-we)TMj2^gx!wXd?!co(W~`4ioI zah{-2e+YtVv-InJB{J^?mw1V~%2b6^a#aB#kQLR8DE4`5+6cbn{TNl*>8x{Z<{U+Y zc$dh$LwLpNjxM5X1vI{rDGJ~fDV*(O1Ah@LmZM#ZjNyKQnNO&)P(k5HK6QNISvIbt z8+^H07Xxk_ZeeBFV`=D)$QT0hi7JsKmya!9XWK)X<4%~0b=Ub1j*95A!^|kkM+wL> z-=#jSmdb#fud$MS``jzfk!b;|kuOM@2Qy;<)B(5-BEXFt{0Cm(O6vsnVI2^5rw2HQ zy41Y*9NVQJg5YfKbthXsEx<~{=LX#48dJp15BDGH8HQhiH6gvUm5@j=Ow z_Dd|szd&3gpz-n`D582I5+_KS!MM{69%)lKTwD^0f{nZ+72eAYQl%WvM2(}C>hFMN zvV@}8eA+5gm`eL0SsKy6O@Qq3;pQ_xs7Mm1s_BK--NOc8wwJ%)+ar+i)jL5k_-ana z9@MTm$j^3bQe~_T5D*rogOT8s2m&}!NEYsSx(yTyyg)Tr)wt}}x`DuLl&M~!JvFjR z!$lQ~`*SIjOPGLp0CvPTh|_Y^eJg&J%@3*4uYAlGJfaB&c5-6RzSMXsY3}%=C>rC> zUz<2ySV_?+zN9$9Y~o5wN9(UM!dmo6Xo1J?w92DN^8i&l!O)_VQsvL0Z^#<EfV_AxbNmY*kp|H^$rIeFe}{OtGlbr5v5PrAIyb6L%kDW#>2eiUk5Z9v zpLU$OHN=^jRb~2s40vpF5Ip#Zh@@{eL0930h-jRh=omIy2ICH7qn<>4;obE*&uE}N zC5s>Dpp(XTOylJ_8_|B0?n?inFSjFycRP(DLKJka+%NXT)r2UI``=76D=5?T|*=Oq~rjF|msL9p2GQ58TEVO^^b=qscN zAApmH0I!;Gg^H4&5+GfmC@&61X2K$Wxm9s#4Xy1wS~VffXG0R;TO1{U${x49J15eq z1gk>Qn35*o`=I{o!gkU-!ZgY96aU;<9jmIfW4)Nr+7Azcsws}o6NHx6B1;?fC$f2% zMlaTtLN|ta6p;_)*^zh*^u@*q2hnF3!S%YEiP`y1Nn9O4SvU~Z z*3ybRio1vQy=G?BDVxOT%2Dce$OK8Q6?=YxdB&$$3Q?7z$K0Kt$VgRG=%_7{?DK~M z%st+NNV@)_3NP?n+cT0aW;IXY#ErRuu73iVXNV#j{(`lL7J&mOnBrS`f)xGisM|>2 zYGX-G%vGC3*teLa$p9x**P2yF0lYlwf8cdIFbAbT?)Bv}DtTRjAaGbV@O<*Uh@1>p z^;P=pUy1IxtUikFk}bIGLKj*-C&eCB7(scRZNGt)k{g7&?cxZT?{^cEN)8L0;ULXd z)Yq${6Z`n^QctN`;7=@d1Y_*qQ@s&+G8psB&WJSWLc$YrNdui7{?RK zk{az1#Z6b=iAaud1(0h|COJ*ZbMGgP8A$&JZk1X+G1zCK7TqvjuGkcg zec`ShgMu|e#T8m^V+;q-d8?m72_BkP+!VzVx!1(^7NLzQTw97TwaNg4EA>A6^0G~r zIM*3hk5w^)EIi&t+lXX*WzI(InQ~ARtC_B_{}wcLq3_c??T#$^rwVUb&2=nW!zx>l zSXS)UrwD3Br6$jZ|d@{u}N&l*I%xe{Rdo)`G_IrF!w^uZYrKartcYp% zc@&+}49A zSwSt5Sru}t7+x)12G_5AIz*qP>CO+*e^O>6_Kr>0EANm-4-GSs8F|`vj3^(e-k>9`pG$Fy0@#;1S0tI)W9_%+4%J+!or!3u*hOQ(#M%>*R=3 zo3pvPvKS}vFzbOstL%_L5O3j%-@v9!Ni*M=GZVp{ZXQ^H=C5uz`_zhHayiXxWo5%} z{o%D2Dip>W9hJ%>{KwMDg9_uGcY5OMR3l2c`E^iLsT8a=h&XkNE-U_uK~-~rPag|W zO|@7AeDo8|$U@Q5G*%B-hKdCVIxl@E4^W$)O7ToAi=|YFt^uba`I&`T5?f$=rr5#e zFW9GtH9KkdRD{khc-G)S>5!T)`^huNMIBun9V&>4^_>ERJDwwb9=}#SGlbbVM+)ia z7C28g*x<{Pe>U$`dKmk^E6TzR9us`MX^lt4fn}wtXa+>#g|Ekr0(kU8gxv!h-?T={mx*hKP{1!D!v zB_1!X9xr2zYhhzoe^2MB_T+^f<|BA=>?;QnOvxkZYp-=n599+;5E* z^9gAuc54;~6<&F=3^!DOa;S*dTBTq1~D`iz8Stt1Al$ zbmIcwbySaJ9bX7Z#bnMsqIQjQ1Z%MjjimL5BkM8Et`Hmdt)*pbr{%~%q`-N7Ds67P zV~z8o4^-~>e}b8hC(K8w7aB`*7M#+_+szR+{z`HVn_^8PusN0C9dgRj!=M;og`glM z-%-umAJ!tGo>@e*f;XV+1Y|T#=WGvYNT1=kV7K%%0eO-th*UUP>#e{4`Z%f}%dH52 zb#@BZ1Pif=6 zpja;>mE2r`L?N?KnA95Cjxy4x&-fe)|Dk1F#gf4)%I80MN0jHgW9X57r0}`=w=`M6 z8LnC@aZpm0B#dPIwhLoFxDh+;0s|uvz9Pzw+Zz$NXx_QGPz4HfOOxvo90Dk7T#b&W zWSfeo6Y7bY z`j;rHviz_sx`9QOw&c%I1a?Tm6BkfO%yH_nVsN=OnA2-_Zh3=FMHsI?p^d)7*^1Vn z2z8%+5v~0ua(NB8`ExteXhkG(zs0QEe(VzdvNO$DSY`DIJABQNUJ>2(M;=2EL^~H* z?$5v5&Hf@&I7b<(*wGGba-MxG-`k;M5G;|Fd02Fvx^?krJPoYne0yYU4rx>08LL6u zoA43faHMlm#|$XGO3#nDPMxYon=2mLQhvmJ%>9li&vym@q=4cR*;O~zR>gsgg zYMjDX%$MqJn-O7Bo(e$s4lSq$;ybcBu9Gs-cHZoB?0~c6*>zW0RLWKdrx-U8T>HKf z7+NTqrMuvkc(k;(1D1ZG8b`|Mi{3LV;X*QZ+7xY z!mvhaBVxkSJT zsYx~W4rwkwATvTZ7E)aRG(`#dv`PTl#AuKcb5s!}suLk)GU*rBq7U<_Z zNXSq(KA(-1>k=vbap~>!k6|-j`UAYv>E2;k-6z}^ma8I&K;*izwh%Et{!cFGb7bsP zMr_>InZVhPLTG{b8dyuk3}t7V8l<;%C7LIl@!;XNm(j4ri9AbP%4mH>y@gBmaf5+43sU~+@A0{Ip`)Bw55XImC z_^cM;pe4kvf~sRjuIp2cdNLjn&p%nE>UQI6g!&4poue>;+gMMRsGDb+k;s$&M&@n| zpq^HOr+zHXb#?1%(N(!zT5UBn4LcAieBO~<^GJ7$erEVEL(ZuMW{wJ_eYdfzoT|*h|-qfF74-4VN9)CTaX#|SZ z(xuvwhOAOV`m1rbJ#ZN^XH}lTJC-m`bRDT0eJF7zwOoy9vUCC@$lYGru3lPHQ9|`` zh~6lcSex1zk1q0(iRe43F;TCctPyS1HJ)!DRq`z`TeAXT3DDY`u5{naC=Qgg&a}P9 zX>n~ZV-q<0PdM|1eQg=(Xk@HvUwzSzG25@KrF6xEw+N@wifx=2pS;$Xg31qg$1+>~ z%HV^cEb8lb`}r>pep9}yh%^)RW)Y6Y7m49%E7O>$3cc1f29(lb{|EaQR6fu5p@Fg8 zEu(7lQ<7rS zFS2n)kOc(7%jA8#=tE^@b!i7~E#)Gchla`H*P;%W2RuU=~BLsSQF!U)p& zSmEsi%DHKD*5Tsvl3dj`C^*L9d3NZ|vgLYmr{cXo>|RDe)b#3`)c;2q*EH*kwB&YajZR* zGWnO#b<3NPIaSCu1}XeXB3Vxl3HapcA)C8xuSM=Vrt#L=7>&e@0|F|f9?B=qctyw- z7{i>hIeQflZ3|b@lb7gEVP)yM9-^7>6V3SY8;_h8Mqt^Nr4P-+=!DB~BEsO)Ees1K zaL=m-vOfxTZq<2_iF_6P_;)xH-|TEgin9Bf;0u2aaAnXaMvI78st=8QIbkc#&~K{C zmb%%uajd3XW2jaP%9mm-Y#h@q~Kuo5-`BIpFCce8o;32A;&&SUKI z)`ua6f^RdeY8Bh142;N9&T{Bt*D3D2&N@_na zj>l_sFe&2O6CCE{$hv31*j&a{dCt)bUunrv-}#!NkD$hN(Z|>W-l}BRFcfK2KLK^p zZCg!q95n-b#gVj30?wv*sp3wZvYLDcHLKR{i^U65*r!O2ZtSNEVJ6n~5ScXUL7b8Sds45SyUG`GoOkuJ#4We=9ln9-YKOsVR8gPG0jpmg0v^*GnDvV8 zw@X|sCri|I?Gjh>aC_iN@{D}X_7Bf2J3_%0zFx*iF$gCfr+~E#eMK`fQ2U1+z1=UX znWaNu<#E5~+!+4KQZpxpC{I&eQCw7KhRZqgkLxYIp3)1w<2Xl4(L4TFVD8TI*~{Ub z!1AZxgkwsLj&sR&PB37w`bzITRslKaST=G3bsWQjhSBq)s=PzHJR@G`4gS~!2Li(d z&D*Y!teSnp#=NN7SP46alSADP(UBou9N$IQsVX4GCAvPA|T{f{Bi< zImges@wt{h&TD$(WhWL)_ZRUKjZ$m7Cab8X%1zdyu&J;P~hbukWdf~g`ij_TIX zYej`83z9-l28H2peCnlnFnK;Bs_EjIGUt6x602228lEvGX`9L6vtaNoi2dMx>nr!s z^(FWQs}*tWTqzPRu$(=8%cgi(WuBxlo8Gs}VOWcACPrMtT3`?DJvpir*7Xp!0fX^F z)zE#Mmp=&=BcwJ$x-07WViHx4R|`g3svp5&&O(1s@AVo}CmC7%Vp<_+07R6;L`Oq;vz*MEYV zPYN20mq%+08zA;(b=Y(im`c`WfFM%wSNE1sk-d4um+f41XxSHq(&K6Ki~|fo6e-xp zF~{tvNE|w0zVJk~l3x)KE_91$=cAv*{xEI!K=8&6xdDUY_0^&N9o67hT-P~|xX>X$ z@7Z&c8auwTH|Ivn5!8RG8US>Lcu&*l%$!eaa87ZF;|X1(zP{`Yt>X933$C(J$WZq@ z*2vE*Y>~wAEoKz4QL9IsBB|rNn2#?amB*9Dv1Tm*_;nWefga61i?VKyLK#G zawM(3(aVx$6AHCSI*4~DE>dQp0Jsh=K=rH?8G^8$+~jWtdb>$a<71G>Ks6+PY!1DN z%UU@wJWrc&ejn;|=NDez!OczSVo_!lju8Tp>!=fn zYS4{HtzX`1BcO5DUS4YeWg41(xoj0|_r(s;^?YVilToaWh5(fn=yd0!V#k)DYh0Xxr2_KdChmllZqn=rZe zR~X~zxRIT`zSirbeex$Bky-ac}7H@#+RdM&lg#5 zZ6NTB#fspm>^Dl=8%B79H2jFMXIEKx_Q-z~l7{}nt>=hyh3+4v^?7Lp_N z1(s7u+l*_TwF+0e?pcs^KAtCNf0R~OR>?mRjoQOmi|DkjZzoh1U#gmzVFh1xC*cO6 zqu1B$jE!oHuN`1Q8LV7;uguaEkcK^; z-8KC=?7mQhn^pt@8Hvh%&}wsiOB<6&kG(@{BUOh{VXMZ;pHtZ`0T#LUnGhD-k2qJT0WKiv<%Rt2>%Fq=Vwa0AVuC-=-vthy>;m^MSPARjKS1 z(|9n>VMN|^+b9R8DQ#N1c&nmNzOHfAIgk(LUGOBBMjEvz@ z5$~+aQ7A>mjrJF@1$i1v;0*`zeX{yRL9Ggc4iDy)KX52{5v$)3jmkQ@B1jiECD@I- zi3*g5!znB`wcY*FW%!E<>>;St%Qqe~Ej76LGERC&GBY+zMkFJwn6vtGc87S}9L+kB z+cuGr9~ewYdbDlm1`SyFHAGh~>EQigSyAxZlL3mM6e;hB#)ak-Ml@KJ5%%XU5lyg? zf5S9t9hVG_TeGm;E%q1ufxJ~c3ZO+mMgO;PR>Y&p5R_UYOIf_^2O19)#E7sIF zvOl`idk>0t)A_+qWaA{I8={AJ&Z?@<_QH(Vi3Vn;%4699OQ*u7VeW*@bhaYGEnqr_ z@(Vxa9o8Jj4DMou7M*o<-Z3c>LRn^VcM3PkPC1$ZLN6%Y?G^7o(Om;$>0VYwxteHy zA{rM51jgcfimc;3B!y%V8$frcRj+fmE(M#r0M#b+nb|Tc)Q5S%@u{s(MD-jO2js=h zUR!b1eN(b`Lfrb*ynT9Z*;?3NDelmXHR2L?vs8{m=!Zi4h+}+gDX}+Y(V<2P6|n9m z2jb9QrIoUXus$65OSri9DR6Faeo9Le$I9ohVh)a={g35`2Q>r~u0dnukFHBR3@hp) zfa*#qr-|Fb!&p{WRlx~+OBUE37|X7uD+wt3tG@Se<}PON7cu8hT^$N_%P-nJauaO+ zZj3(ap^AH@vlP>ql!bW!i4Pcp{(@` z{-7Iu%2tjbMv_k5ofPw?MeQqAyMqJ|iCdtT#$IU=t+;P%EpTWf=!e_IbU!v*Id9_!6Wz zc!$$xIG&fgvv{7b2zK z0FRlLeZo>@>FQ0PS{g*uK&79l*|~tyWZ7LrYI?F)gUxyVgfQ^#7hJ{Y$Jv_kAwm%t zLn1n^2D|oXtpH6z_xhu62yts9iXe2l&eE~5TGD*I8B7(OEM{0cXxy&jxt-eh%Qkp zA8f42CqI&{ncfufrOZ?wS(eff0cojs-yzML0-9oT1y7MHM?cjr`NdLqx#P9Q0SJq(+fqQ=$GI;-S1uIuZgBx zb&B30&EgP3B5SoL!8oH_$Aj6CTuYlep}-_63e~l}Md)F;gyy9L(Re(f?EVgArfKMi zolTKt+KE=NH0}CaZ5ghO0f+q`&o$WpV?2D4$Zy~Po#6#HYPKE$RIwfPg-t&>Y$}O* zN>u#tIl3EUM2aZgq>OLD{(31+F=!B4DVdtbu-3!_qE{910X8hD%pE+D_NKMYh-QuG zghbrE)K8vW%k|>_=H{-J%HQ(c)yB>O(5A`LvNgY&$hp(A9%9t=4r>;T@Dh=hwl-Hl zCsyUS@`cnkA#$hbTFCxwd+qrUx04Dcv-nHG>yBRbb}6*pVa<7ra}&Yh2qTE^9$Ipi z#S2!M*ZOJMRgzW!HHV$i$tf=)g5_vb89Thfc~Za_PFpK&+3}%dg?1idPRh5vDV6+P zXy@4=jS8&mnw=G!%)hItpxxXL0QE@t)4sD6sop(Wk_}5eFo; z8+@Bfq}smkuJ^s2a_2;>r1Fkxg5;_f*dS(>wm6v1RiMm*LN%Ca9f7FLqFWQ%zCMXrJa;m8H1no*a?803zT1%8n zhFV!;x9BbDsdlccsUDrP_erwIu6eWgIgR{FA^HFLfJKM0fUN0oL=X%L?k0ZjR^TEK zW~a3)35pb6Hj>yora0f5XK_a1G9&aU$hMcD-aZv?$L#tQc7?1Xz6ZSwO^T>j$}M}jwKs=XPVZna9ah(oE)O!HY>?)v!vEq_yxts?3t zq?wm|rFbs#y(NuKlO*(B)Q&ep0|a=r+2tG`f({J0#|THKQBr(Ssb(y5VOG1ZVC?g@ zkK@sEQcwEZufTQ8BY7l>jpcOnn&XEVPm_qMkp~E=cn>|4oBFgJOc}Fz|{DZ3q z#3rdP41Psw2gKn%kJY1)xYs2&bhl2kx-CihD4424rbawtt=M)0-005r zr-(oNWtZAttuC8yyU$mIzLcrk*H$n&T~&K!O(BifJES&V9AriJ6mGk>Hvd^vltKUx z8&#w%QjztzK8JWB8=)gFJKLLX8z6_{_v1$#eu^SrPFJ)XEu$muXi6So4mciIHoqBO z`<;^Q8I(iJzmRDV!RF>7)T=Xm2NK5@kAW!pWixH6I00H<)6{?_lBrtXh82uA(a%E8 zgp0iockN)cp3pa4FK5B&NGykVDZHZ^>3UEWozWqqzP3w_0=ewF$3Q~RXpPXUY57XN4d?{#AcCI!U!NPDm4n!JiC{W_BdS*%(C1ozMI}a9lPh>RbDLdGXomxGnMilY590ero#f*a7CH|ln!^5nqK>;~i zosBqXPA86l+2LV7Fhan{hYnVwtK~_fnN5gb#LA z8XonHL#22ww~-YA?FM1!KQa-~Obm!)?VyU+&Fz}%-!ATadpXiUqAM=T*}uz`NS3aG zPe`yXw-mBy=F~C~nBs#|xNsQhKiXd-t~^n)gT)A}SB%Xe1gOgy$2+ls)rlX>+_eR9 zkrU~GxbG=J)}W^#oG4~H?|>#iwvUv3ZL4HPBt<-3atA9MrB0@(JC4co z(NOvCLtZQNcQ_Li4~Y@;LTe3F42EN2J*q%e0z-r>#%g}HH{XWHQC6lwf^4c1IY4Ht z)|PVc9oD=_FkNh3my3rNt_3p5uCD+85Mcr~ehXMt9q1)j9@+-=Sa`;gj872S*?Na}JVUe5*;6jfDuaZU_cTQ5zOCJ?Iw)8i zKI5Z`#8h7pI*8%c13Zt^ntdpcA8nAwQs)6mFtA8K3q@<6h82A3NkPGJNT>Se7BC&u z*U-3bV}y4K$7GyoU0&Ilc0_3Tl^>izwGor&>7+*A!ELC6xXUF_#42uRX&O}MILqab z37RXaKIJxlE-e1pPY89y;HkN!t!U&NgKW^cG^msF``nZLz2;4#;asKg9u zu)8hGP_TgYd#GIKqWm#~5*gUN-au22-Qr;!Q75- zaRr?7oc4dLL+qQg7x)yWmvbbQ%ye-YFweqO*jM8A6ti*@yivAPxh$=j?IOPUnVmb` z@;J!XJ*`$Pq(B2$i?V6{T+&`S<#Y!uA7skFMY3|d^&Xps9`$tCG-uy24fDWoje0sO zqAns-8r4!PyN#(p)2XM6c5WCeG2#{CE|L_7j%MmGUj7xZpCOeQlIQ2}S}tD2aim$6 z%mGiIm2V4k)lKD)U4t}C_}u}+DQok<(*Hx{e+D$J`T$Xp`Dl=J5+X(jek|}+F1=_b zVX1Y*1#tp@uI$Tz2Je$78cGj>HF}3KFL-R7VQrpRVvpH$W$%PPTe#X&fkDpL#G?KP zE?`x9jXiz^;KWi_NXx)TpGk9IY8dL5Q2dN(usVXX6!B)>gc%(npwDMCirOU6D7HgI zzBtrEkA)7uIX;u`jt_a85m23($XSY<4XYlOmbT>;bRpHR7iR31+^t_|Ji6rwlp*<4aN9270^| z9oFu~hiwZl&W`^Ya8JaOlG3@9PQ7xloW|5)nrGM#;xP+6 z70KvTGX>nIvusHt7sX;&endFt70aKt1#IL85&iQmaLnl5{5jXIITop^@=UC+a67Ka)Q66rOq%?<)>xZ~r zutqGZV)}~cnh{m#(2XQ29hXLd}nAP zN%I6zQM>z>5<2J&!59c54b@_6)7OfW-_*K*eqJ-f0RcQQky%o6F)=J}a$VbBh}dlV za1oq=jVV=dk|Nj~8Jzz4QpcJJb>c<*0{L7Kw4?dC)CiYPB8%WQa}OkT#U!raxEH=K za~{Qad!pb6D^}ZPqCRO&urCDfqqtSrN82{%@B*qee@M99AGvkM=A7!S)@j=BV`{E}}$eM-Tq%eJN+R*w&8OwcM-$yqg)97gJ3T zE70gUrLeb#1uH1|Gro`b(juBcg&7oSJH}&~$a*QDvojG&Es zNI&)o3DCA|8h&CLXUG|gOc`~3|L0ilkkybb(a~>(b7~H(y8(GP3+gNU>lq%e%!mul zg1?ThGoS&M4bD~MGuA;KLnFJx#f-^*^Rz=f5_+WS1!wgLsx=~Y3yiRAs*{$7$W9+F zqBE))RG^8+wy6m8z#guh+9)F|yU5v))*`+y?h5ftg82ztt}BPy{~wM;n23m8?b@sF zkjA-A@t?bGuPH_Z?h{p>%hkRGp_*aItV6>5baN;VOjTD!NB;Rxl9_SL+ZEeI_I7C% zBkf;_4(~c2VG^J+7$zuTkjWNSTg#gxcVEBz2qyXI(*&(tVJgtSZTlX39OvOuSpIy3V*Vr zqT@Z(9Wb~cyxP+y&YG;#x%7JZkhqxvUGpim-(`98GHfk0-BYAXO_b4}KjkBSRP^OV3UAYTXiJwpreLmpHZC+zmpl=G*a}b zukL8hvT0anq^i~c;Lo!~S5Gb%d|P`5$SCdDwl&nU>Rj*+>i*2i6eJVOF_j1pLTF&l z9jHPkuo%;E)4J#nc1SET8By4fKHO_>2J8%FSQ`gujDTYVsSswvxY<3Q=t^qsZEvt2 zs{1*(vocmn6@4ywi(pyTF!I?5>QV12P6T$1OEI zR*WbS3mT>Yvigr;@_aTh&0V#6QEhluU3IfA9EPkE6SVlBn=Eu(Lg$U#ShFynRLRYP z=%w6r00iy#7Tw=hSVJx{IE4`@3bmvBa|PA1nNL}kzA#PhviN}iT0{|&!CF%$p?!+& zP&>WCEc;hBUq-&>Is*jpj6O@FEE7_XWp+d-)-U=FYgR|j zY2?*ylqe)RHo+DKePy>|rq6_kCSDqdMQzg8odQk>+7uyeQ+<1fHCJeZ*qHOCG2#?- zL`>Gd%IKYKqLE%@%S?n#!-mA})fM5Mm5j@St;OIwpjj0`X~exQD*@ob%=z5RcyJzI znyv(0MqpNDuMaN(2T>7>yUJdxMx+IP_4V(V<_Txd$T(CwSH}bfm1%U;_3FVhxmq>a zopLNUFXc#5)pqlxL;unxPGYjx=|**zHGEM?b4A*J5`3v5jTrjQYg=gdeBz4yM9V< z`WQtN|3ot~fRh+ud~TFQ%+>%aiKlt@(W*!h=hAm&R@S-4S~Fr!C^kEP<33hDfmcKm zBnN>pWCz}e{B~liDYhRjC!SALgJLXuh{#?5h0x>?I5J#UqXCnW&sj(UZ578kat5Q{ zKx;>e`#cG8EjsP?zqURxduP3>yRn(sG#=S?uA0;mE=uxCSa1*Lo)tr51a-`B9NgOz zfkQ{k!Cg!aj1*edUvpQ!>sdBXi6Gvhv*rjUGF5FMEL&heQol|R@!0P>;_+lnTP=J^ zpH(FlXro`OhmKbMeBl+sMqi{|ki^FV{n{A5#W5Klg1&0X-lBY;=$7WgVQS47T5ER%+C@yKajmH$3D=6QO!(|K6BSlZ_{TmU zp!E)x)&A@AYIi>DE~3zOV^wrvF~q&8Bz*|(+40m_6$&FAHiW(JapVEjwB6Ai5iE44 z#kK@>RqHbsckmtC96vgD5i6#%Z$LhpVSAGTz4lV%9_8HQ5PYHLoWpI4R1VMmhSoH| zYV7VN*1yYZ4`>udgS*IDdd)zBo4p7?)@y8m7-rgz=MP{VZ-uH%A$xax$SS}gG1^Vr zf4mR;ljg1-!H}qvkI$s~URu366m8pn8Z&otHUK?QfqHw)qile`t zhKqGuy)xj#-AH^5p;d3fN?4pLy?rPiR;_<6^F@hMyA{53<9kz>uFnzBz=Z6SLuEr8YyIkkP zT$W6k0eR6gjpZXHX0ay77GT{3YBV6b67o#cPF_URO;tYpWQg2O2H$g@O2~C^cNV#Zin+0p zQ~vmU4)M|XqqEQh_zLO%?qM$m*F#LIbj@Bs$l({XZ;UNf$i4ojWHy8iS^5TUg zNGdAP4r7Bg&w?tw!x|jj(5E!23^_SNmW#yN7>Bs!a$==O+%3Ie-H8|~tK6=RXAQmn zPdGZE+zTrgx^r$wuQ{*d35?3oKqf>8#Tlmd z{1hl}{VeFARX})`n^n7>Z{w&+wzAuYA;_ZVxiOStV%|Z`ISAy%?yl-j)f3zYr;8Z0 zYi}xHk#ATnQ7WXROCbaS_tphbWjXol7Cu7hLkToMV047F7TBx|&x;~>s8%sbvX^G} ziK2Hdr=VKg4=W5zUsHrGB6R4Zt|fYa102684py$m30aBfy=qi^By02?gfK>>Ij?hLhD8;Nl51dst}`6AgT60HhYOP9qQu}@L#g( zZ}n=)0gEzmv1eOAw||P4cvxjbHJ#1ZXaomH{Ye=BfqnUDDJRM-{zfGJmEX^ zq%IeD5}5l>EOi9KY=m#RFNJH@p=?8lVdff+IzwC4r24xYmtg1mAsY^aEo)0M5UlEB@D8ib)Idrfetq3jg_@)`*u zjb(t6(VV|e7j4%7XO6`UO2eTfDZ?E`_B57#Usk*$8gtv|oJW5_NxrIp)P*&GvT)?n zc}aGl@VQooJ}lYHLfwW)rY(iVX)K>NpT{(c%jld(lyH>QYSl{LysF)tG^=P};;s;F zYdHD3AmI8to^2%HQJvlY1k*<_(TW2s?tBW373U(&4n#TydB#}gUxK%92wj;yX&Gb1Rr>*+jeCKxGLk2-0Ahnr#~UJ z5fW!3RP3mwX>_IFOD83aV571NnAjd$QsL$ z-5Qn2#v|uA$4yHS5CF3w8S!1b*`hOu{XMAA2^yZ|6XD}3CKp$vb8#!;-U1u+lnL zW=I_QeeI$fQXeF2cN|{J&{z?FRec3!+bRM56W4f1Va&JlE)rtjV1wtS6mNSZ*G_g! zxUw%L9tbW_A4FCi__N3~6z8-3_p_Qen^Pa@S7bkGFD$4IRDrvyf*^L*N$F3*=Ff{% z9mg9#8eu9}!){6cw?XkxhTm6&^9V+(;MFc?0Af(us_@$Ji>O(^Q2`8753 z_f5oT^I`be`?a$ludhj<2Q}L7=+s9D0wOVKRmh9cfTS@NYik`S|QZ!OingdsN~ z!+q^<$Vp#$n{Y;s45aPL{oVUKk?9{5!}h5Ih5*4MHw(TWlsWc2-6#{cFuC@`?H-8& zl6309`B@!#Q1e`m%zYl)I1pC&Caac^2U7h;mZ%R`Zqx-msaaX}U4r;Fn~hi;wB!&ykVX72!U@^V~p01s9ln; zB4wDD;q&MmyMjd4qkZ}KO_*a|gUI*#3MY>NU<|Y3fK4k-1MUSQ{&`n&E23+$8X3Tz zh~f3Ai&4g5-po^xV?WNK7Eo@cd0By&ewDC1uz_5UapdW!wc4C-U)y;`z)=CKPC3Y; zl)<4cyD(*kIKPz3?M!oR%0TBG)Ns>`gZYTZ+gixF!nZ=_7|bA<@QiZUO>TJ@o2Y$J z;1d#6k*XCJ;Qx9?afUOKwLMz};rRAe#jxA(Y!+sUC780Uw(Y$n1hdmR-#n!=^y;6Gb&}Kya6oML$l)44H9D`xOLZZrVQxJgV}s;8m5CPEN}N7(r8~Bk`dEL zKu&q|Z$v!V{#+{IO48oc(+l{P*I7n@Z!G)bAUo2j z%B2blDu4`KQ*7SK@eCoof>^_jik!!`4MpleHj~x^TM1RZ4voh$?k;$aCs+Wx%vNFm zi-6Lmu8pgU+ljjhVrzJ-K5J?Gl-Xb|wsk_mTcP)(?hv7I#Wht{H5 zzFpCgG3&!^NbJ0H6{2;P_65q+J`=KikmW<&&7&H4i0Eub+;O%k*#&ID(yg+>zz%K| z_rRBlm1OQ9W!Lo0zL0j@#jnqF!Y3ni#4`?(lO4ewiQNUW4@yqu_7p5Ol+-W|w&0ws z63`Vj85;Q>p&^4ObSTaTV%1|Bw1)`S5zScp&zAh>*h}gF<8sYG(HV(ukoDkMflg_= zWBIafnzB}U@@Ich_3P^1vRUkQ;^cAZmN;c zJFM9x4#MNUi28G*aCIedQ4twSj4t+6@v3^c@1eM`Q-1i_S(6ZcH6_!%gBnC$`#%14 zyuX$U=(~_JqrVa01a= zPy@Z}rS}4?LZTHK04Ej~(Dexg=8$@>H-PIqlsRThqo}rXuq{$(B`lCfn3EncLWq>V z5Y|bnMB^-#kB3#+atvwy#l??Xg*X;$cb5T7kIf_h}$KyY`gIr-BjAGl%keh zn6iWTE7%NT#v*_wftjqGHbrck|k_9@z zY~T{dvUfOf9%)}P(m_1C^v>6z<6;*v6FbCwo^AUCoRqFTWaqDGt3ZU5-Z$rucR2It zc#g*BEePx*GSQX!J*5sp2eRFCYQfePKp|A3oE>HcZaVeI=YP>1Mo1$sW>PerKoC6v z9375UcU59p**vA(osfh}$n-;fQ6FjL;oV=L;^2BrAX`v<_+NFMjq`5F&g4 z$5uE;Ko#mGv;0`N22vE~U~3?_Ph__Gife)lhGiq}&RTK=7i?5qF(iZQkRh^EJeoh5g&xiv!8*~AWT7^6nEM?HCCvM6OOmd;F_0?R`?suEZC~C6K_W-chPPNkb}OM} z+q=T4_C=?mEFFt$hxE;mFkTlc-L<4Eq#ZRy!ySOU@Q78^>eg@z*bWD*9V;s|gd)yQ zGNFglW;kF%GFD~%UK@e)bL~sDvl+MA(FE=f~>o>@N@935a^-Mvb^@caa|&kj2!q6)0G6&jlYk?SD0E$47C z*t@kqJkisjS6O;D-7va-uIx$(VsqR632iixb&RgBjhjF0l6HJ}0!Ju!e&U2RC6!s9 zbonpz>^?vp>q4iv^Q{bfUolOHpOYS04{g>pI9nfi!(;nsRyijOuvMFjGY-9O4ZJ8# z>LGj53a_?Hlp0jThkOQQmG;FldE=0>CezOY1xov0r51AU=v|Z&%Pb2+vp8-`Dwyr5 zynl(nc}%l+tInml98|P~LLFRdk@zT8F>kKP7OF`0F$W2j-L2}D}k&4k!B zFVpULQ{4A`$%VLisU~O&5~SDU#8;mVmj61>VaTpnEY>-ql(fmLS|YS`cZq=gRfcHe zsukF4bp?-LO$t&(w(G2BOOPaOSsTc?xbwW@ns3kN*vM|Iokkx!qBW_?(0f%4B{OCa z4JbzMTL%<858S1QrERp4{_Dks`QkcrIB#PtIr$e>-NDiR4pE(q4(ATS@c6?k&^|gV zUS^9hEH>;Ru9>J?^E5#LJEqnOzfy!>X^M@n&H;rzbJPr{XbOp9ei=l#i-}D-gBFEV2 z5jbd zh&?uP6EoY8z?n*1%RGZEdUbKibsl-W-OhBLYdDn6ICPt4U+oMB*6x9?@Q_3Cj%t`T z#`ZnP1}a!Z%LjBS>rCNda--}_$o?XBA-{2`o+XYVn+^3(P@}AM-Xmq&_NB4qf7d#d8S=eDtvpL zJGzBM+_AO)Q=07o0+WCb0a3g{x|e;;1x4WP$wkc@P<@I#>+V~{4{mxF$so)v4&A1@ z*!n!v?2^77iv4OM0u-^?X_tks4?b-Qjn`^@UCs{+W0drG(&4LPQ) zx)tm|Ez$NbQDysv@|_c%_2>{X=^lMLt$1|AXSxhIlB1n$)%80%kg3)CAa_Vf~o_f?RNkA-1rt?1$&36^Y`n<}> z2cLa@)>;!OY_xus!XGsPIX$0e$85n>h13Sp*-K1@x zU_UMF28@aCUV)&wBl>ukNfaAT#>A5B$U=R61#`~BLr!M0yY`CKRWL;mRc#k433A_Z zi207ULZj}3bm|OOT)(Srzslm8H@zd8I~cnMTc!Zswpv7R>88q+RqcoA`~xnX6|-w| z;39Ntw-<2*?oCKKj_vymX0AN?gzR;l<93F5Y3*_7mk*Ww&uksCh+|gwl6d+oZ&@$x z3~@Snh655y!#aH4=@1+FFSEOxfMZBO#7AHFK?ttAZJl#Prt!Adb!Jss`*uOpT&H z;A85QZ=5brWD!@LY$@CyXS}O#UE_ZEP?Q~!^btyeCHB&^<|~YLs;{Zl(kZ)ma6#s} zZV{Flk>9&mNE8P5J3%i>8pwdElBN25ebn+E*|2L$PFuvRWn;6ro?KMWgbUm$ zM%K=9afy*fQXTBrs&TDwO*=v_rE8T9?{G%bm7J}J&V%gA>=+{)5`q>OP9R%NW~z+C zr7^7#{hP1@P{WhSbw&D4yiQ)>49ioi(f(mHXXp4S)_t4kvgit&D2TDGEmQ>Gr|tqF zczLSOy6%bv;zpAl{`+lb)oB09JWSNfm1%`cRG7#WndiEW%BeFvS5Oy??TXch+zL=~ zsWk8W%x|!Y`&TSaBJBU{kUOG%dUm=07lWF(fpT$aP0&)-L7l}d>c$eLc8Vp0BvZ8aNHE;&q7-IY7O#3*7%DC)El}4|L_b*4yExtKK%@68}$I|BGN&gaA%xbPa zeN~z0F&HlWX?YlQG+o`J&{z00Z(18!9H@+pVxkMtT%u0RS{h_{`Gv-gnC3a+P(s62 z8Ro(0is!DO;9utAZzV{hf;_jg9ox%U60T}p@M1f$!2e}G^@?gTr;{@m6C)rwmv$nd zDCr8uy*ZLvIW?yVtq~)d9*1Z{Sh)@5h#J=7j#x(GhR|}|o*tkT4-`+;rjY?@g3*&z?Y)QZg zRJD(qZsRtO1HNEKouPw%0Cu|jA=s&RL}QGfoUj-j&AXUf5#f7PJH_%8X=2q3Z20O3 zRhrXXc3lV1(x)5=JKpFb%O>d^RUG9l+(m$_Ws`A0wU2Ru)PfhV94j`3((KM5adZ5k zTw9X>M7#E-AlQ~m6g=Kh4WT#dx2&#(+o_KCD8**E<}%ll0<0;x>4Kh{-?59kK;Oj( zc9lzwTH#xk!{f;#oCJ~(-@i4FqcF0h@Bnp41C3F-6m;S8k!XB|*KM%!tyWlTSip#C zClI)DEQH1V{|RayanIoy=HsmqbJ5}0+1!pepR(Xks0I3_i}jb?j8F!7{Q^%Qv+R+< zze|D6I%D2-&R~qL!y{O}gszMTvwI72WKzAQg@5SRs`yiNmYNm)S4?{NA& z-H>EXcJpcslrWakFPx{ULi;@F7N6A0(Lo zL36z&E`~!R%m{)!$Iq#5s{L@eduLgR5~8C@53!;8+1HN`3n^BbxLT>$$3%)RhJ~x zRXe{dzVOSRz@2Bs^5h-RfbG~RaWrZTijuy9ixBQrGb)hiO4k4Ym*Oye`zfA_8QU8DS=kq6V%6$;D7Pf_98#ko`22~+ z?D>mt=CRBc%}I;y{AKxU)H6PLWcaW299GAu)T`hxyB+)+Z*myL1@oY_!Af*VK}PL? zj^QgYcka(H-GxtUgOt79$6EcBdxg(w_~k<6L7KAyU^Ab2H% z{C7kH@tvHw=n67xEEgfG)?3HERXu*&|r ze=JK`e~LL9YkOrSB54Z>NLp>D?(CCRa+CCx2`JVnOV&_apmudI@0jv@Y2;+E$PeZf zESmf-?qa#<98SUAcZXJes1Y9`Aig7AuDZU^`nOJg;DZqFzi7nrz|m`{~K z5??3?4TQmBnt>z)%>YEo1l0cT$FAlMeglf>x)JgBKJDk|HB~9SWo&6l8ZDlchpbcB zW$)fm%^ic27MbO1NpT@)sJ^Fmu9=i?Gm#4WQ>DQw`dYe{!$kaTuaC;Z0~%kx z(-k?!;(p*3(dv}sZh5RWR?Es~rer`)cG&F2C_daNRR$owg!$%~dr!!H_(R6D_D$dj%e;3zCl#2 z@HlsSX+9$han;cQZS?Rp6z=S8&l!@XX#}4ZP~vhy;=b9xRnTo}*#%+88dj050p=4p zx=+)@{x9f8&@wJ`Oc98Ff~r6rYaiZP$!!_w16B?S2ts64yUp}DYU0L%_)wy3#RsTu zi14s}{wo=z-~l`4`JJrfIB9RQppgL&Q z0x_?~e0>22T699?x&`0C3|W-qJVm@!L`ex=#UX|ecA_z+UK>WYr;>r;pY!k)18zOx z88-dV;`o&CF%6yp%^EQe%m++P#o@)F^0<~_K$oKOGydFQS#`fS)tH<;qxTaCQIg-( zG7x8TQFDKS8i^?Tj01h>4fjE&RbnrD4;F(m)QwD@1Wy%wDb?DwHfIQ?OFiZd(qp#r zb*hIXT5@+rRQg4o-HtOgl6=US^tR44PS3KPp{77~Yaz(p3F%y71ek*!(o(*InRi9* zEHYm>uOU8WU)23TctTF9QK8H1sv}81{*3gKXe1b|?f}vF3>UoksH%Q` z!B1H7I}xdjGWIvJQW$r0AeaK_m zDPDd~Gn9R6O)tr`S40Dwm&zDLhmGmQ49`6kbrj8sSEUVvV|C5&mzhqV@_kvlrqk3~ z8dshA0p*@Sm3elCW_8&h!GHKDFb@D#K&ro9N7X5~sy5;#1pnjf%+fT)m25j94?cwY z`A_WFG6}TBPo8?Xw<2bI|94FD1G8cpeFbgQ zv9CvUZX@9~$GGdRg${qs+klO!ofqrGOXqFwQSgDpo$(BkQgU)4>I$oTwtsu>m=8eZ zdZjwNX&HPmSyTPLssC}mKW76-sP9OIls7wZgs-e$KOY@@_VGv59udhO5Ktl=HR{oL z-jvTY`s1)Ed9!?7yj$p8zg%*U$KK;O(sfLvt@{@nHI6iVi3OTQVo0UG5`VWW?<`Z4 zLvSD1RbMLT8=LzK{kWf@cy=;#8qs{IodUS(XW8r*yZD1T%e`Dn67gSkb2~wbkd%wc zvs&HlYmfTFZJz-RIf4WY5xkcwP>&H_N>NS0imPcYHd*wIRTQl;AN!uFxM>L*uGizX z5x@E5cSIvAy8mJ;n<9k0Hdq?6xftnL(A613Om!D>Q&D9k1m~4iNzr!VMCa=r&-~OY zS=#O?E1REj%OAbv$!v0dFX@kM5u11sfDE9%)M@z2p16f?pImcp_0`k_P|kn305hn8 zyia~efR*V0g;}20G)tu^LMU1VGKvkGy<)~;&|2)}KG1{vXg^(~ox6H`uvuq3vvD1y zM35Nk+K7B3)~IccG_bk_0n1C%xngyHg-spuf*!F>zC-)MuXpc^XP%+@2X?FPcHj(d zvYe`r-JM$b;-r41s3K(sc=fsaB7KR1Z7!fj(Vp?Iw9XyU=vtkLh{pCaJ+i;oO*obY zq2tT8sh+(!^*gIn+7FC&IEvm>fOHBHZ4bgioA1d==;X45OMBtZohcuD7dYISlotl= z-oD6XUCF0>s_8)ja<&0Zo#OGq1OTOhY}I%sZ6xQsiTeZapzBJC<^bOzcNt&`O5?@i z^F@`+AT32>SGOhi;;QoivCJC zZar1XPe|jla^m6X$6Z)0M5NR#+9<*PP-7npT0;KS?No4vlx!UB6(*H+d&e?dj_hFk z6*qE@{njCDR5VEYm1oe6%qg(1EW;uoW%e7yXVN+x`$Rl2p?s{4Mi;l~w$s{!ny1;T zXQmWtYZwqbvY)4V2)wC7l=9#M?pu(IqM?FEEHS$<@%?|=cMAFTgBvwN8XtTc5NgZ1 zGFEm+jE#fn=0dm6b>>~~!^7&HSC-jcw4M>UtL?zspvSQG=U{$ju9h6cs@ zdDgTS?ZxaOxzu|hINoF#cv*|zKWk`&(DNL0w2nRw-qp*=9(u~=6J(`Lqx)SwCu`i= z>sp}$=SUPmB3R+t-Rc8x{lEt0f5$Y=cE8JLZLsXZW8TyEvKtS8!|wHoKpG{nhcFq%U;cs-Sc?Mv&A&if%vMCg*v*%xR8?4dN-AMR19- z`Ml6?Pn+`oJFJnoosQ^qRgq+bWt*$aQy9ppHoFxy=OL(VPu&Wa39fu3bhGAunZFWE zQ|Eu^u3G^HV;5MMwtr0U>scPti2*eSC%T}6#XYW;F{P7j)QiQQj9pJ@-DH<9L4MQ* zZsURRz4bi(ZWXQ>u%(Pi=|2qdd~mr|Ay&$y%{`ehUO&Y23rMXxJPq-VE_w4Os(HxE ztXdYiHn|MRQ<^)UNkm=w+?a^1tz+e}D$)bnyejh!>)#HkX5XRAgbgK;@{)=ByvEwl zV=7kT38Rr2K@i=q$eb-^vGBe8f)uGRhe>XBMogDvN1`!d;W`9#tVgtB1gOBm#zwq) z>^ZM8IFry-CWBAz&^yLuPgT3i9T!(e;G1!^gn30Xp{3nYHm_Qb_LiTl+*rp@(3$@h+_jhH-h!zPMrKf!RiqUI%#GNS! z|932T1Y^~9q(bbvdTE#=-s{%jE=AIXpxsMZUmiw*18ZZEuPHIgex6Hp8C_X5y`#D2 zqw#!QsH>I;hhwHG<|MtPNME|F1sLjWn*ZcIHNyZJy@^a0I=`GgOWF}q86kPHhMp<@ z(livuhGarq$!`r{%Bx3kvh6nBW}rvjStz~=m@NHLCg}&Q^6T?OS*ET`t0-m1oCl!v znN=7c?D|#_#}kWAQGNS>z8{UZ`4Q zWPIplE9U4Hxjra4!rDGLF){v%_skIHap`}>mpN-Tms}KsL4;UK!pU9Gp9ry6ka|pq zWn`S_zr=-(Lf2}5&k68|WgHaeA_jLIlYOC2oiMEyp?2o7zAGdgaoH9n;8!^FNP9X4ZX(Bj)X$q$ zE9n@ioi+8qZ&#&a{7`RF&>eoo`Unb_%J&Z8!YgO2S+Wxlp}HukX$X64N;`I@=|)AQ zfw5vy#7D(EQkm;^r1=hHkIvi#ulJ84+JhQ9@Eq!2h09U5as=+Sogoq7LvrxY&2;sr z{YZLP5&r_8;*cfaO=k#LPjY?T>La2$BKi`?<8yiL=ZtuRbU>L`CM2X<{g1C74261|Jj3kAZAYaqL#P;)>Isfq3`S8bExo! z$vl^m-rw8F9ozH!s7-_#^RnC}TRFFETUg z>2(d^D3fX7r0s&}esEu`HA#1WY8ez?t{!-byoy~cBz-ZKM?F-RkguS|q&!~^k8Yb{ zs1-8j@gV-m%7TY-TCH+wd?del?2N_y;;4os}pjAc%rB7o^q<$>Vu>v8~2o4(db!Koo?v(xtoJx-eyU7{a1Ph{L|#IaH6k0 zA^R9OZzd~9@9T)KqYk39aR>izaPU2@e$Kc&NrUm(T(~elum>$tI>q_Fn}alrEAd&e z1Mb66feTW3*qeA1@p^znkiK#>F@^c*TaHHAv*W5ew&`AZkdFGLc9xB~iK5BfOxgYq z@r`kbiAxbnnMH#PaWBk8H}i*gU~!%-Pt`Ot%S{I7hM*-t?mpf*wVE!QCr<^wF9Ke{ zC2~cE))mF126%@v9BwV8{n1OMuI7GF2azPWK|l878rN%*syg|0D5uA&W0*%Sd@CwB zhkEF^<@%SO(jC!AlFmGI{G?71sNd|nRgtWJ3Gpd)=4EvkMHz{SnpScDD1iyBUO*Gz56i%=PpTbEEb3VkjPB3=`<%JRaFKv5C^R@Bdkyx}qZiBP`yw#Qc=(;wrl^V~Fm zM-la~+&RsIKr6d(x}=D<)eR9C$5}NT5{j@%_7oSdYWpbOQNoOB+a>+WK0?#t2FVivKw3Dl&k3I+9zzJfs;=ngO}4hp+bUp`8*osHOppFUX(M zOOXY6l$O#k*j~Fx%hT0$?4GmUY4FRBvcL>w)@acZHQOkAV^5*OriI5Nr7+ZSv{i-6 z?F8+sZIwuJ2Bp+)UQ%lpNzHGy(wghPp5JH!}-cy+;IdFF>m-ENX^uAVObp9~q+ z(l@y0jLM5SPHh1%-cihttMg@`ASih=BVmYsQBGjJ6dJ;}1j{q(svgddw1-^?WrRzc`94>eb+4A$*8SvAFlVv#7!HL8MNBGQayzOux25r(Pg zn`CnBM%iHLNr5909~n2{AnOK;1iqG3J&7%T65N-AXY1#8He#Bm+K&YiviF(b-&yum z?kO7lhvLq#cwsF6l+>UCmJB1bxntAMh5jW(xK}WDJ?*SR7Vz?uA~Sk<7WRd(c@{Lx z5P}kDY-Po<76c?{#& zKFjw1d^Tx(?D;=ZG{}3EV4#3bFTF)R0a5d`R85+CPMsGVNt`E2K(~MWgLg=SkB|rX z(Ak(WZ?ozrstdW@9eF3UCj^VmjfFM$lWU!5=h`j+si|vsfs^$YYfuop=XaK^hz>B{ zw$g(Vs_&f~b~OuU;(0o4)}AL4%L-mX_^7ENhu{CIobZlmXa?u(&MifOc)ko*XQD=} zEK~$<4x@0^tIJe0rPKyr9LX{qYt$!my@MI0S+-0K2&$+mV4=gZFYi`$Y79XrOZDQy zY&@&X^5u&W-3aoT9%?EF)E^YWkCw+B(>&assjsXm9WIEYS}zH;pP zm+FSu5o(9Bs!sbDf3H=78Db|nk4$|jaExW4u9^Z1v2nIPl4lb+G<>25bc9WzuKX9K%*8Kl*4%JfIp|7NF7bG-S}C>W!2MD zc34_f>pI%QuE`I(%|o>I-qB33LSal@nCr?WsxUk28|Q~k{H$42%uzfBjXswn_vwuKvIBshqAPIUm_Q5&&+kqz9xwy zoN;@V`Uj3Nis2t~JMJb0l?HUSPEqBt|2*xLGt+4Mrgc;vxpun@g)it|QA7~lQRVrS zc`*%qNZjeTqw*!~AW3{ZZ_K^7JW)C1&nHT&w5E9gVssGuj$@wYF^lHvyx}P@0o<(V z?lExM5Z~VBYeF^Wuw#4ziCR`sNO|W`;Cm@WSSs5n1)y0hja-lKfCybb?JL zf|mcVKIW1V;0iL|$I?RJey%cm{0V7f!+HUQ0C1!hMGV1N_Y1izq3gV$>QvA|6dL9? zP01*3OD@DA+(M7kWjXo|X@G6BTOX#~+mTU>Dysn-IMi~GpS;OeGI6ndvnKb{4PEVB zTXMsa`lBp4!-?ZeS28pzUq#42z_w_t1n$jzwJV|_6`%mptzAqUgXn3wQ(=)y!yjus z*BI>`)13Z}fv&wb)d#fd1F?J6C;R6@PO?vc<_8O*XqLvRMFCG};3%?#;`dVN#-FH0 zMO4eA0&J$^u3@BSx3C}{RWyrexrc`eud0Xtb2h}WcAnK`-}|rNoV{@1B zDvodVG|72u8pOwpGkKKR9nZQf>qGQOK4hLK3h+Ff(eyu%mPvL2ZZ2oR-H0+U9&8IN zRXv~2AcM%l2PMBlt#UE-k~Hdks*F^?oVJf)nFlmsflfPg7o3%&lgnLf2DP}53(mtEBvmx4$vw!D z9OZ}@=dx@;1i=2)^BUgqObA{B=;4Nay2uaqVe18eWFFp~n~(;GAuY1~!f z7`j7t^R?APzC#+CMph}ZGVCrJdP78j_h*5rW!r6~)Y*$^FQ>id^m``_mpS3EwtyP@=>@b7jUX^u&^C9q%;;R7R#l8cY zd2nzJtrL+28k|GrJ`edjvDUDJ?#$*W+R;}gbBeCc=@v$-L#Ryhn=Cfo5zSV<;Y_wcvmzSvbbH5lH%oOt zgz;{jD28^RW3FpqTA{~Sf_`DW&doN7S`;^+WmoEUFDmBs6V^zJ&<-tkrp18@^b1K( zRtmoI--KTr&c04EDT39W>{uw}WE#>rNRnCJ@eG}n+;3r}()DcPf!H>*c0so}E9o|Q zqpXJ)IrZn`B58-6o8=~#vK#%0X_T&T4t-3Uw3yE51Fk)IL|9;_sdT4?K1BudSxyaD4t_lJ0b1i(PjPLq0x%VmbQ~f2kz){03AA^2jZ#<9* z!|P+ffyj+4(*jJ8lxxsg9dwPT!bJ%&LzS1MJ4`Z(|JPjpQCWrnNB*OUC#*h{<8vRF zj=USu#dN*|1FZH4fCFTU*`d-s+Y^p&my=;98tp;Fsx&IlAUGzC2}guEzU%d`VDy+( zr6Mp%iZIgz9)VZ(=HPaL(WyEG4$Zf#lCtb`1$Qn->w=*2J?Ko!`Xf8#5JZ5)5Sf6; zKGmveI-9#@baM-3kWn`r;!KMYwoEC#5Rpsy9mymB^zJ(rEB)3^i{gi;v24t`Yv!+> zDl>G5n?fa~3Ry;q33)-`1jONQaDFZ`J))rnUQVy5nJTQ+asVA(qaI72Oe?$5k~M-e zZE^0&*4VMj8itSScr;|}ThMRl9ne^6lyg+nC};?{)TIccO46XAqL3~Y`u!LQ8W^>> z1K5dXCn7G)jd7Yzw10wWBN%e@MYdn#ISP;_O5_1I21`+bh`xM}shWTRTV<=I7h*pm zdZ`8%!4*WW?=PR2>WqmT?eKs_11o4c-DX1orF7MXq36+-$W*Pv*moHhxPR_b)3LNY zK9NBl#<(ghPyN;2b}?)4{{<)D=Syewk}p+$NJ#oyu-1F{fRIsif@djyxt2HG4(a)v zB3KIPC*Lvkd3O95K-QCr72~fBSm*WhZ3Q-KYMMQfhhWeV93l90WavK~dfa`CSEV|U zpqQ`L0WL3tVu(DTdVTQ(4kauiFlRTnvb0D++fI<~N4;ghEx{gIym7#ozb!rC*k3fl zu_W!=4?!>3iAK&!lm~;WVA&_GDH_?iRdqANvLhuMgb12jr2a2PK_5^h4`*=r3p7L5 z>K32M==5rFTq-X%f=fKBmBIe{EeLwd9-j$YJJ4tMkMpiqThzwbMi!G{GJewQ#2zuLaxIADq%VxVOg zoPz$7|A8$*gCyJNTNEjBzy3tiM>Lo7o2`OYf1%Sw%{AGgPpC?@7fP?nTMszc+36Rl ze)4fwUclvS+q~MLcTl5`E^rQmySvT-Uht9G^O=mBQ1>+iS{7KJg2fRJ z)g{n)tQ@Ul-BZHI&F*LVND;X{lf9z#q5*TDWBTa6Ags-bY?*noUD9oZonueW_ zA91#MMKrF_VRq=#-#}z2SfC$g&~bZ!-eiwzef@TMmc6xe*?Bu2D`#K}aH!7xh2@+TH6pq5j%!@< z&NM{bU1YdUcA-TKv9lX-$r*9BAs6842_YB@8UMnLLD=9J;a(p>%&)wENUG)Lou7!G z(HO@ddYin9PI0@Ku*1bpb*2*NsVX;zS5u0Qe@8WFBIWY*j60b4EYHari#!brRAZncBq}}U%<5%&Zs!`A<_E;lU=2w5>F3*Jr-a_MWHk5un5zezXRK4WXd2R`@CBc%C|$kTuh6%%D8X^K)s=k8VE zqgl!|T9m`$4u)&8cu_QMC?(e>KEJLEVwraa97DJ>r)7`(Z$~eLnUeq|0_ubCLcXjjQt848 zLdmq0(+`l(3V=)1dNXd^?W;WVct-viB*UH$k(Z2V2m;7_uzUB!CST{BW!GE4=_IRTS+nik+%ok)1`5NEd^W!~XR z+W!^E90f(Iry-Mf-NYB{i?@%ME0aVd{BOtg*Ch|#sG-WP^kBabV1`u`#B0pt+SeS$ zp-9LWy9se2_+hwivq117jdDyLZ3tSG}ILl6{6lYb3c2Vp?{18{Ks2L#w78k%Zl z&<*_yk&Z69`G9!N7Frr@TDz-uiNd-i9xP1yhAC~ECf7gaBb#>VJE%d_vTloiifzFv ztN2dKMnmOnTgxMZyUW|{hd)jWZwW&jlk8KdM^Z0X$2VPF5VWtD`W(ghsty~`un7JU zgY#M?!MS8{613^=;WUo7;8BOAg*>%}GTr&%XM9I94^l_fggRYjPR*IwT{xzflb+Y` zkg-@%^Bagc(Y@xLPc$J~&{bOPax%Jl1N*1d!~i3@UFaxX7@X)p}SPlH#;$bX~zf89R#P3OObidYhuW!$umrp=NU9)dL$597;`!f-ZMmy$f zfndk_+62GfF^w%yaq^+CpCf47Q~GB6gNQX0+pdc%s4QfZ5!pCnL0@}+=-FQC2lD`n7#jPL-Ig5UQX(~{?DU{^CbR2rD!-9^18z5l-R9s zMm=?j0|BE@5hko5Gg1*x+lG?Ie%X#YdczUFBN{guv_q6Wf+!Kk%Qv{CfLmjZ4+3hro?he;56m98@Tm6b%=0Z8AW8Y@<{_OfQYch9JU1 z(2Rz0b$A*P&v7e^*R%hZ(GvfM|0YFxRK~t@!%t6cp>jQ;qHH9N{4IwOSyaalWA+ zg0J0_c+uvqXIANT$0=?eZTQwFzQnm~veB@N>rxBvZG~|xTAR@A*UHf>i zue%Dl0{!4qd?Xs66mH6Tm3l*lLLBg6hV_KheB3LW_n(kP^_VSr17!*7H|@rV_U#Li z1>Gyl=%;{{-LbC;`acxcaM89u@?}_+vwRaSw}LC*Bpi?Ing`3#A4$cpoI1Xmi0ohS zQ|RR8ob;s=Vi=$(K#bX~dlaA?f;Lti zJqtd{688jr@>1%keVvQG0L%h4o$xiBWrCB273`hb)p&ur z1fS7op^x4C*Vf8|8K;`b72w--IB+}8>asq1#+9I~NW}$Q>e~Q9*iy96*DRG-78_jZ zue-w|7+KmWi0nrMyb8VBGTPeS7CKCKj0mXV^!{Wq6^`UPi=f@n@>#WoJ9}dUJ(UfJd zC?i88rFHlWw{326KT(b8nR5=Y+FQh+=r_Srq`1e}A~R*s zTq=QX={9ewVwRz5QqH_@T;#r$P%Jm2RyacGzl(AFX|2$@t_MRMAY8D(Scf_L!e<$J zBj5qlw+nVJp?%g>X)Fwdvd<0h2y3Joryv5cc|?i$Y|p-pcNv$9_S!#}Ran{>+5JiS z62E3P4NyfyYkGJ5)klTl(M%-OU>~v!(W=L};e9*F1&b=xyz?ip*@agKt~(#VAq>w9 zuMV5Q&z0Q>Y8;|Etr=SBA_E9&-IB=S^RZJyuU_CC_F=nwg_I`tOKmh^d#d(&wbE=j zTW%s+uekD17Ae(d)N~UI5EQwcR7BR>ms>rI3;X%jhZAoTI}RU8M1f2XKGo0o&V!gh zs%jbf1Ol?jcSIi!g>_4_I>94ECWyWXXx0wSCZdh{`Bd4J)EsHM(na)=O6Qb6agA&} zD$h_h*GCk@;_lBrR6Lp}7+Ir|U`g{NA# zB!;|@ng-RHt0Jf!Q$)hKSaWXe79TSXSB& zpUZJ7QrSyq!9-TH0M?w;(lZSG%bA${S9H#M2VFhFB=YMgt zco`O&YWH-e*V6Sv-91*_j6dQj^pAH$^A2g}O$<5Jq=m&x+k{nMxgf_P0voPPBSkZ! zoeSv!TYd8zx3`L!TKJL@@{op_av4lSv?`QQ%L@0>sWx-zw!=#8t2#HaB0JacvBhUM zpva+GXQv~I)?D%@sBx*a3uiY{{rPa283!Cl_ujA^5PM)t9=3{St+XiZsLB8=kZj>9 z95K{&lmg<=R;+vi(LAQP3BnB#K$OB?Fcn11^1+k38jyV17-=4hr-PE*v4rEVp%?K~ z0TvU}p5JLFaZLFY%WhVd1?UUn7FS@ZDs<{%yJ<;C_BS9N{nwex{x-h!E?o+AVo_p? z>>~cF9~?2w_vOa{FtDhf1I<5F$)l(U;84Yr0THl|Q_WcE1G`9TT9U?H?n^k(V+r#; z4Yj3HO(lVTK!#R!N(qjhk|j|BPg(b75CT-#bf%ppC;Wki;n#03Rw)4|BDd8)yoi0K zi}Rz@hs`@f0YhI1B3mjJb@hyzg{-{!FhPQ?8zlgg%m20Z^-$)e(VXVTivrxk=dmDd zqttkEkmC_lr*D9zHIdNRDItDZk+HOg@WK51nl(#ITsSC$CGbJg>kEX>rGpY)}mIznZ~W z>^3dn&h^`C2w<+&?@vslChII|L2=sCzLCT}n~KWqWLzl6_hP>HAf6m6q9W!Ofbw+8 z6e=K!n8|NnGD{v$8L4p44$+8Sgbx60L6om@cfq1ZMC^i{AJ&M@xhOXy2k%hXH#H0g zzqU^!h;f)<9Hwnf9s6*3yGL&w(!;649uz?BWmu0k#+iMzgl*HT;WY{~D|lWITY+~x zvjiK&L*Us#;L!nAr1iKm355Va>WKo*EAZ(>N72z8SyjRs5(tW|D0s9kv*;}@`@hd= zRaFM_(Dxvs5jIGt+t83-d1K;afDy{y1HeSmmo9+b4Swi-`B);Xo38vTs;TZ+`bf=I zNT{X>i>=en@k*!Ml#*su`Yee$gyjs7ow7di`M(t~-xM+rY|iSPddYrSSw) zBv>sB4VBI7uH$yoKFUxdQKJH|*jn!Cy@r#QTm6&|#cdC1jOD8n4}q$Weh|tbB8aDI zhVdeFg6kSMYrm0kp%CeJ&U6;}sDCbEr8c(jSjJ^qopZ>bH_YT5a77m^2bLyMz*yR= z(x2NgzWRoxq+kv(-|njZY}+RBCyqYiz%F>mOP;G1ZOz>b7oHBB4j#!=DVU~F3_n~MI0}O-3g8z1k|xwRzNcctMB^*ala)+ zZ?i`!+T}ujJVX`gCz>+Cao99i(S=T9&V{<&-IK5hcd_An+faR7WRLVdAILVeV^g+4 z|7f)YNYH=i3N!{414dELG0VL~M;pE&ZY&!SmSy-Mno#$8u&81>66QzMA+RHES<)?N zX>6M!**mT@547iK=Ye!pm1YdA2yJWvIGPJ+$SE*urUBhZFF(#P-SI7d$7t~rkUS!p-+D*w0cYsE zM84cP!ydqDtX*1fskozKV`*SPCk9VVT+C8;w(nZlMs%{i{0}^u!4|9GoIE|1S7)Gs z)4=AQ#Yf)DaxWTW!`(m&+~zXjYUSMM<-Tr}zu_Iy*aOzVG%Q%zsa1H}6%Pt&s7S+1 z;q0K8r)sA3S9c57JXzijc8o2XwlBn#httO=g_XN~*p=KI!(fH|aS~4ZIpOX{9n@iU zsIUg9XK2Be&=3(VD?_T}s1&i_^r@n*ygxD35mWpzf^!A@b05-q*sC+8hf>Sz%6GFV zU^B`%WVP$U=z^xuaQH8V%1VWD$PUk{;kyFnbAu+ll$PKe(*8fQ&H>cpE6C zt<1GE7>*>DC=(%QQ=bwZ9@o6SoO}==V(#yvH$`YuwsS-Qr=CF-n8kT|5cfKPT@9etB7Ze`$=4R3Lhm3DYNuY`}40g_C zBzKYf>_1s&o%-k4;2amEJ=N_7HumzRlCU~fBxyb%H$g0$i*E#8q%(sIi+JJPplZtZ zUw!f-jPT*+DG|H&!N;iH1DTbPa}m!$S-dxh?XQ4<%-SKitA}hDTh|uM3X!^Lzh~cA zkAH`@T#27pff32bLVh4&z-z-zzGh9CHb93qD~C;~Ju7buba(Qb@~bsifnfAtZ1&QWR*b3s$N|JT*z#Ix&v*)fOYd4z;ta zo=W{4Qk|cC1>TIFkm^nPaICAs3rl}HO7YPtq%5f-t&B4lHHXB6)YP%LrUkej|Dhu0 zQO(K?He!H+u@(}}ZM4t-8T}v;B@!4Y@g3nguoeEQ*mhn+l)gRZS@8q!DCQ|5N&BZO zLxoT4j)Ho&n-V7P>d`VP-&>XL_^oI8!H0MJ$A-7N?a-({1_80|N>i-ClalAg z68zd^&OqQ6Q6}a%qifq2OUv;zGWlz`d4CNSsgui0g^}q;LYDj#iESWqT?M`aL>+bz ztCI)re{@wiz<3ID;zGl+lRT0DQQbu(eG!Ay^&wtc}S29T+m1ST3wD<#^)Z%(QSCwu7Z&M%W6oXC-)xF>>HhZ$nB>ZA^(8HAQN6?i-jnuh$S7uWc}x2%)3GD#nvn9fEuymw6@?8O|_*65_p7% zpsP;T$o=`u2xZnCk@*KmBfC|ndNn|ud~BBPXl4N@j!Wwuw)BG}3C!EkB3#7YtGhzE zMOegz z0Nb8ZXi^U2-)hT@nCCs#V^8)Uo+uv8Scq3AAELj$>3_i;Wyq=L36<_g>w26boTHk6 z@~rx}j&-erH+oi#$P7yH^bRMF+&t_KvricoOo?L9YF_bbz8Ep6JAwDbdYmCjKZ|e% z9y+JAlMD&_JNq! zF()zg#3um7v$bEuSF@^w_&c<*6|Zi32n;Z zkN)tP|20-e`AgNzqZ!1y>ik1jUv5I7=gg9%?{$?ul8Z@Gk=mxZ7Me=EL^zx(fJV2F z_2ko4{fBH;$G7DiZ_WvbH9MGgX)A(`0oqd(Da|&@>guM{+Tkp9kENl_pJL2I{Sj2! z-BL9#^HcK3qY5*sQCj0|bEjjUeBe&JikZT@&FX031aaL6p)PrJC5SsmIX{Rc*9-a7 zEcbY>8PDZoy@EjDtcdy_f)fRJ=F=#+lC=G#^33@zs_1n+1n-=a@=QRpsZ9a}&*pXY z4rv&AR=9^DZeGn14?5u;B4xQasu`eB5H-cxUes<(9rH5uYZxbgUaN#Lqwtvr5LP?W zQ~9kqqds3M=@D_N%Hn%jm_?{zjALU3Uzd?}QkDM5NWFg}@I0b9hH<)K^&yJtUa;P5 zS}{TukI0OlQetN=9o4Cc17;+oT58%R^EIUPkDNc@r6aCUG!Dukvr2Ka9jFhhLxePI ziN;R43=&VD$ZWJ)G&}?|?bClzT1CH6Rngxe&E6xEwh>U*gajj{UxEO49>=mG%natX z0wlRRQV@g23j@OY%;SGjw>tYB&MZN)L#9!gUcW2QosABX5!6v#l#E%!>aHuIXW|I} zOiTBJ2w|n)?JpDK5bw=dCRLwkl`T4ywbPbb)bN8+Pkfv}(wB=l|LhS7o+*_w1zb6I z)!Wg>6>ISHil@yiUB>tW@~I%5Dca~C)J)=xzATbco=0!Flsw}2to2AEwk-CWvrGJ~ zi)K_|9G}TE^fFfFA4~<*%alBwx0gBq(@|;Q%vam4f#7a>w?<8Nd%|C*lo`=AN~1DX zj9_EJ)V4*$6DodR0yBRQ!K{U8GXKb|MHdrxoawBWnXeh21s|#akqhV-gnNfHK6}`Q z^icX&MaP|9OLVXJGURz2*%3mkZLjEiY~Ah!vS-1|2fwBK-WfBNIA2&AV)FKf79b85 zYEUUW`q4viX!UaKf#rWQ`ouNix0lCs<|%|-ZM=VVK{KAgw5w$l){XM+SrF3LLi3S} zKDm1Fr3*UBHFuVI;2>7xol6nZ4mB>jik)jNF8G5PoFUEP+S!P(WJJ>rM}lK*sK?wR z@BbvTHI^CQ05r)x?-e#&mS-Ep4oM&`KLL$Su>i|+0Hln=AU|%*I;Rn)S|2Jpl}ALc ze@!R?vsSh2y!_R#5)VNGWTZcIU)d9qOXov!|HHD$dq*ZYH7rml zocCtYC-Kjqwn19BK0NhiFauIvosGy4S<(6Es9!8uRa6RnaKQpuZF~TzygfBtt!9U2 z_`yEas0NyY{h1GO_Zij1HPw3n(&X~_=dHK``=fJ$vyyIIKR`gB_5k^~Rt?<{fLAw8 zcMyq!A9=?#F-=ZM1d)`K@D(8!uCb!KU8sFaMzm~sqk=dsyKnM?+AHk`kXGBc#pz+`Teyj zj#ssVZQa>}y|;UUbR0!L&r8=eEC!Vs^~*wQ^H}-}4tWrW%R8Jh50T~T0KT`WVhvnJ z`|BQg1qOS2jpLXAWjaU74$*9K%k<4lA^FFUJ|;7FNaH&5BMN9I%Q!B$w<($kg3fb+ zo+#>f3AX#TzsX$I0=jmTxw5b9r*kiUJ)$~~k%K_^g$0oI5Ai@dHX;GbPLXk*vJ;#y zy@RRqOV7ztE|RM=VS`vs9~cn8yMQ}J@mTAh<7%Q}c;OAIo+qFX*J??R;{D%6cc2Rv z(78Qa(vV!pfEJmk;~#vSYQ_1EYC?G6BT|k&DolVstk7E@mi7NWR(bHv89J;L25sT? zPVYO!xg%cg`F;OR^!xo|3o~PxNU&-t+j>t+5ORTJ7pj^Q9xAk;7p&uwRT~9Ii*rYH zWJlJC0;997H?gvxfW~*2i_Mj`+JcnIkokd1aNmxJHmO-8?%jzQPC#g$=J0Yp&;X9@{5ishpw}JJNRduS#Lje8tHI4f&y5!ok!Yd<5?2?7 z*Q1C#Ct$sjvopNzbOw%AHwy+CIqLHLZc_p~NPh7`31G-u^a-cw; z?+ipgxu=c_1nkSNuF;HQ*80s7weO+PJikX#13^5o!af0yimK*iiti8O`*?0`VgbWn zL`Q|}2vFoREsl8R$2E19WX2Ft?$zqY>G`T{?n^~g6K(GIC>q$-*uk=U{tHjizoYXR z%bdkDCLk$q8c!ILg;iG3D7q5D(qSO`r?v{_S$Jqp&KF)q0*7$KW?M!y?|{a$aZ+OS z@?dEi;a3FkTn5UPrqQq8xdY57bdzpneNkb&Mr|OAR!h>>EB?y8-Vx1^MurB7{QON3 zpUz8X9~Z4_S-!l0PibZsRow3GL%YN#$`)*4u&w(%#)D2~rRm@0Hg*h4Z#(6`ic(Zk zDLC9Db?}UMk0M9y)z)ox#0Fwli4WPuP|mMu=LjkecfATBksZmikGR+!N{t4h>{yp= zVQ>|M(^rR!&<*xD)j5|-`uLujjTpwQ4j~JP915EU$m>$$8~*^kl|BmVYpelpoUBEE=v9$*!=F9F4m+Z&fB*alU&sGnzOjHF4O!tnPbqMaQZwKNX z%tTc<>yY355@KElLn1=eo{d%Fw?Ki{2MA2{5XcO;rL6k5R8ogf2VUXCp({{(ADHp9 zDXg%9wu*4UF)mQ*3N{6Bh*RnVfCH$)N<(bw`I0OHiE|TLapz}C;W3T*Z*u}7L!7o* zA71WA6xa33{0?55%zt4csj3KtGm3n&C~x#|vbr0E^RH0ojA`i7v|)beCF=TQ9Jtg~ z(v~Gl$Mj%1hfFEc*EFj!hkus+pctH$d(gCM6=uj;^)- z6irkeY5C2$u;VY-bVgL?i=%oj{58Gb(&!GHMu~QPMHqzG`INiy%3i38?h->)yA}nS z#}IUL%kgt@ihYV0BDcz z?vFTxU+OkI800!rW#vMG+*kpS#CJI{cb^a;>lVgr_L=X#qq=5P7h5(eRO>fphf$p* zU2rs6Ua*eg%xel{#W<8;)r3Zc<4{Mf3(;B;8gmR^MLPIbOc{Y=`;$XYwFTE+Dx0Gv z$~D$<%F!sNa}(B$JEgx@3FdChr^qo-v--R)4+T+rz+OySHYttz-qpqT0{OL zyO3g*Mg`*zl*8tloX$0gQ;i*NXWy*xRw# z=Pt!62=lK}EoPOYq%hgVAzN_VbNWS|&#>AItNt<3>59Ii$bq1{%45a}Wm_0uNJEVTzSG3G6s4iC^r9pS=`<>_1z{n%&@)g^m2Qt`>?MHST<`X3Ab zqrq6#>0_j5wJ5zlOFyedrvHbf>$6K9ATzOVT+a_1ZCY3H)v}|p%W7V3aVnpa&#vvO z|Io>sF~u1Zx!PObm9^}zMTbH7&xO9@InPY@#6y>ZkDrKa5<@vQU0Q$@ZmyOc+CMzXw@ zg8Am1ydAglux_z`S7W>j4^z2~u)tCW@^={X$&jiWI67quH@F&4iNyYzzDr?_NbTEg za*twZ4`DNi*qXZ(E>D*NFXj9kJC1OC?AQiZ(N0>G%N+}oUB&ueM7}+$PcD;cfaK}` z%AppAM?2Gb!(3N)U;4f1srY7Y97M&zxO-$k7+k686)KQ`wq%8GkCO%Y12P)=c?ypW zCm3QKzgsrR$4AvjI5REclW0E)&8=ovBJl0SB>oA1rAErz}ck0q2%w z?LvJ3Mz22{={t;ZnqeqjfQ+_Z%#C4FT4w5h{2-dKh1zcnZ`Z4EY^e-MNz*_M1c4QO zf6|vh@H?hF-&l4*Jk$wg?h7Bzva9M*v3)_`T=WRMsFt4epBwgR7Ul9%Pjd(~f^B@q zG-ouK2eG`1nV_*N*qtK!ga#p4&{kG4$=9P@NIZD5fLDG%IJz z?$1mOAkd~q)m+CRtxlh2v7%sF+R`5IB&gobjK-7=>-q^_wRCZXvk?$rYFtfLd*YrM z>h}Vh;&>Rh)D==RR%cTQgC5uiq9spD=B6$A!}oJWGQ69b^An-g=>V3|s#R$DMjScq zg;~0cfL&|EDwDE&TWF*gMF5mvUR7*F>*#80v8MrbD>}!?ac*L9I<;;svIFrY8GC-# z(RQK|)I$Cr0ER=hC4eUnb;Qc(7@uD*@pnk$_@pq`F_$=@j%{KW@;qZ})`4O~p52U0 z+A-@9*+9!OrYz6mG5+Z12X$%&G&pb8=zxKCU+q5iMeI1Aj`@_OeI2^e>*D361wSVb zGF*gk@AtK!ahO^Ws|9GX1Ma zT?fT`UyRojd+OlTUs-}XnsL>`Q{<=HFDLh;V=ZEf_w0tWBDXBoqz~>3NgCk|R=~56AGIL@aMEQXn&O>_%_ zeb10)W=s`w$L1D*PD?LdFW$g9>%s$gR#0(B?xpojfn7QzS9|TUbRnT+)vuvPr05>{M=g0JeNl*s z_Z-?7s#Nc_^n#Ul5GqS}%qtHsO%{qeopD<<72Fb)N%)HA8Z^M>O_(vc*SZK=jKV_!RCcOe=jFyORfL~EbaH1<18?32H?hZKO*|sjUP7p`vuroV zwHaUJx-mY6EYqf6ZK)be{St40hapxZKkYSn`=%R9XVXslWm(~J&sP1nfQ7%1K9%m!dHU z$okM0y`!4PI?o0%3DRpEYs)*5Q^A~KmL^aprXH6-^yn_^vlrpqM&i(o;6Q|YpXqt4 z<}z0>r7isoz@`mh%(dmBq{b*Oh*ah2=!#Xp{;PiFY`@xxM~FDxP*vyShn+Zs8p9#T ziH)zw+QdABSK=RCv>mHQR?YG@)@$~I76iuriWAG*h2;!xzt9DY?)r?|Opp0MR%vaG zDqozC5f-WX+*DnuSx|du`_usB7Zl3+_$EG<6Y|dc|^`GZuHW?Ofe5 zfhjKcV8zs}dcgX;WU1CisE11aSh{%Ht33% zgQu5Qrkhe;X;YMOfI-$liF3-8=4*MI6{^5V>^J3MJqu+!;rMcX1vDohgQ-aLqD@E@ zf)%w0MGx++7-2Xcb(8gjZqCWwPWNTijQpkzBt>gq19XpSTqGzSg2Xv3Z{HK}KYD6V zT5H3D7&7jlH!X{a9){6^xDLU!oTYiA2Bc3|cVyt7d>S_2L5<`DUy-T(lZYMr#(v-# z?>he_$;zReu5v5OMH)@<;GukAu>H_q;Di5YRL?+W2U2_x(pT>SQo`;q0ZCs38nzM0 z3EJ;*C1bD1x>xN$04F@IRR{_kQE9&KXl5`YWtTnEA=rATZj_hTj3Q;KiJ~5}z^Cf4 z;C6Xbvp*`c#?}o%WJ0F{AUoO=lIv|DeWwDm4oh9dC>#}L4$DCiv!>r` z&EpvLT5;KGS58y8rsBCaJ-|dzV_pC~Us*$7FvzTEER#YKwNEP#^0twnlt4XlbusU- zW>+)_i{2V)ZgXpD`~B4?xx1*&zF!3Nw^_ej2s|hh1H{)Mn!A=Ascn8m0cKotdgP=< zxU3tO%n4p=$XL**jGNGi%Rh?g7iEcC@&%;~K%IGLi!?GnGsh9j_}c1ae+Zgf=YQ-! z@FvDC+{gka-;%R-*l8WR0P}d8L2TOsR4hwql6bg2(L1TjsiHA{&i~N@5Z9b&Rd;{c ziKMR0-=qn{nnIal8L@s9)pQk9`4e;mY=NI`seP!|@dZ>Hv5ezgUAl=PRTg;gn3(@R zs||pv+`T&CrhQGV=pKzoMrI3AsZrt(1dQ%j{)9@>Y9+JI))?c$``vUv3B3& zP??;(<=T@24g|lC#oa?0q^depEyGgxg?xPfqUAs}xv!MrpvYWE93cKV4yLO+JQRYw z^<8NEV*0lj1f4V>X1Ju;u7<}nljpY{(2Qy>XKJ+=4peq9oV$hM|JVD8`a{RB zb~`L<^5-DCOSTpaACJcs)6cli3s?3mt{3`szCEbf#yNM9QD|QMq!lGqhYp1ct%*39 zrJ|@nkIK8XjQjB9pm?R@xg;Bf-S>?ERAC31}%tK(zw;PDJfK^xRX;2f9S=Jtoeu@%}d@Dvy`a<+)r)5+yS?cAUh zOH2HZQTs-ec!yNR>l)NWzD(hcf>lkZZV12{n+6pyVoc&*;rA_4K{s^S4I$o{ckyb- z1@&C2yFWpVUa48`hWb(2YSuC*AAiN2Di%i33V@B=j#3z)uV-;FtZ|##g4l17ti}}9 zrw>!A9mdZ!mWMU3UH4MtWE3$QgnFplJnLjPVsP>CisbUzh5&~c5V-Z~D%D_|eroE^ za3*54dC_f$$rrLUEK&E zLpo;U*!ymLLawt$b2$p7=&EK zV>B*Q)oypO2x0d8gf%X;NoAyyxe?gW-}(|1qzp+ohl`a55^X`$J?(7AQ#Z1lZugvA zWeB1-|B)66XwF8uWovZs{3PG+?+-sN`;{J3aF;ZIGW-B*k{w^ZQJrkL(}eCXPLx;I zTG`8S5Xze_-#f5419RCuK#N^`HDM0jpS+7Vb?H!{%5SSOYr7L%ADL}C1@W11wPD$i zKIX{DftTZhbADr}RBO`lIUvwJ#0R=IWKy5~FqUQZEkB(lTXmY&OBBL$gnU`F5;>WZ z#2<;v8PV*q2fxw2Fn#{OuMrJ~pd-RJ2v&+R0~pnItQiS97s`XQJNZ1;(W_W`d<#2x zK!Z})2F($!ze?Kpg6dQj>wxmcPO@no z`E)@E7CzSAmpIiY-}h5v^{V1QunO2L->r(f;+9W+spQDHF+Yav=zQVz2_X5}So6t( zipL*>TJ4$+S*LMakH_ZhkTK>~i4eNAFPn%N(Li5!r#d?RPo^Gp|A)GMN9KnvYjrAf0HIi2D2quohFF~0bs+X^d;!YCgqH*cc(s-M^sl4i5e*5RevbN@ z@%qv~veuJwK}NpbHwvVJu8}Rds*f=tRo<@M#)q_Y1^Y7L2mJ(8M?gc!sj6!lveqak zE*$SrwN{yHukn)(u5rU%i=W*klXl28$cC=vAJ;RAV4t!n9@L$M$kG@yi%@1{8K(9;#f7)T zyJ)zIiu_3B;*zhQQys)_(d`CBbL1zQ`NleA`*3XJMwHL4CbiAw4lmE&<;9qFNbw;q z!t4TJB24FOP3OiRh_LMJXPjRkUXN*TQo2(cDa5;4u!Q2eRe3`}aan}2(Z4_ir6g)j z!*N3((Y^vv3I+XR{jYJKM;2#f1L3!e!CM2Fj?FAwK-0Hf{EnQhs1f_uZUg}^> zriNa(#wHpPmhoe>Ztn;WGP`J4u}{ewhc#owaxO?;=D1i#e_L6=$HwdADeJpCkL!Bf z!5v#q1##gJ>iRpTnU{hmZ8v0u^2&B5G?8ituqv`nCBLi= zk6%&EV!u1Dk#2qy$t`4KOV@H}BS79u(Ut!|8*eh_oT<7K4I0Ix><2m4Uvj%1Qyd|A z%4VyhplX*A6by^q{AH)S<3lKG7}g*griCHjxnaf|5(?kL>k-dc}pFv@W}GwqQFvx$_Z53Cd113W{=#Agy6#66s&o0Sn{I807f1#hyWw`BimC1Rk589w!fw>OHMa!0Q%}r!n?0?!&@C_tCUqd~>wm)=uLe@3^#irs;(mvkNanZ#n zyQpOq8%5;Ju21T>|9WA@#LCfY;X8vwbcxnD3aVCWQ+ z3iBc9D=6p6*M17LZ65C>wC=VsUrj853@lA|aw9sA_TfB|c^pI@k3zyOiy@ztmP%L}%LNrw(8Dz&nlua*cN_{|`HJ$<<@i(*Z1qosm z?4@uPrn4Y!zewpGQJkm9v$x%wV(b-QEYz&7waslvL{gTb#1e+u5h19pkb+^%qK7eO z*Qolnj+!yebTr70A*jQEBOBEqht@IgR4_+D?I=GlZPb;ZyA%1{1pwO$pUMUv&&*2E zvNoM?YDLMO=mYV?o^Hl!Z%(%T!8^zNxqg8<7vQ2)`h(o?=F+vjmV&8+0MT0gTKSE* z=4tY@jfve7P;I+L=@6QfHJTSHi+5JZSUWWgO$15WZmjzyxM1~Zoamko>Cp>y5rQp= z3S8AExH6KsUSnj?>b3L({3XMle7^fJ8(yupS0%b`c?UFD8GW!G`J#)gVFKr&+y5$V z&e1<@`zOn3#;X#Qq4+nrrAslyx7KT2@z0xrB3rk2SmR?GyvMkEyABUs+5OlLMj24jjCd=O0j(!lAi+mDwKCK=<_Inc9w@o(Vh^H!(8~nPtqyxNx%AW+3Av z>~We&l=t|W!}C3R@F?nx!qr2t(-y%1WGr&hlE?ufTZPN?xGk1lokjyqy5CG{)vqF= zA#JVydjIdJW)U(7kHAdVtk(y9t%{fhnYtfo+2-1$2E0x(ZO+bK zS#{)3KqLF4K}pBkSwJZKf5(RAgL$$(l;9&Ap;lIYr>+q)5W(4Z?fFAgTcHFdgpav+**^Da9@Q{K>rQ+G2e4`4 z0Kl*sa&1KmOSTPk1?KV)Nr>uO;36)-z(o4qJ)TLm*4`nF<}s78BQkOM6vZar9&DI* zKEWm>|1|_IZ-Oh6PQYe)rhLXg1T5?sQUb8M4?EO5q;Z_`1c(SaFS@N_5*)1SJjH93 zirD*YQgYls8&zRYXheS!;NtZK5h0qp0dWE(T-Blw5uSh8EVeFxX{rm*T;xgJcHP;n z3em!m&I@20f$LqLPKb9<7_z?)43`*eyZJ>d4Pw&e%wM}fX( z)=N>k-gi`Uoi+R!{T~Vp3;V#T@NUG)5R_b;NQP%eP=h2;>f(|f&~n+VcpJ{0>PMk5 z(f-csKYN``jl04881&g+^>EYMU!wYY;h+MTW@+TJ|OwA;=`4DOHb&?;kf8qsA?`RqH<24w7x&an0;q#&85o$CAZnTefMaIdfg` z3|J+gCoKfGis-niuG*2=n^+3&ByLylh-RiNWN%HT>;TsW$W>P5 z(NwHMc13L8TRnHL+cXNb^CyT=M;7-ja7yW-(2SjYMo)Nb@qnhco3Pa2Zi@gzit_w@ z=P1}VB0SDd1$+-<$h-H+d8|r*`{%}&MJ=hO<3^CV`P6q8zIS$Lnj(%G1J!+40Ty3; zj3lfYEUTw^kiRL9!xT+=MgVjBjs`^EsgT1_hzKQ!U-Q`a{YaXp^$OoX|l;cDueQZNiBbue%llt+evgZTxY8)3|(*guh~%&c=*a9~(+ z71ZBq->^0WtbJ<^0mXLNdQr;H6xBpHk30z^5^03?E z+PjjWETZm$D2u^APr7|%U7&g-KDSZzv7gAs$3OUvY?{QWbMhUpzD(*Fintc_vQU7E zDn)jx3d{0hV*zLz!lYkgM~`JV%XIjT$QxnaZ0UNO0Uv=x3#5rhV)65cM#t#=X%CsQ zi+H2mY#S^oAWN|yVleNmeR}~_XD`jS=OR%35Xy}6%g;?uq=Ma%Ej#wiYa&v8I(#3Y z(K|j4W*MyUN831pm@g^~e63y2l3T$gClry-8v_F6i=_V~A~rLZ7{>z>IbAVh<-Y8D z@TELisd3{MjK6~OnRrmIB2b^&*n;j{pcvqP6oq!Xx#;*Tq^fvh!n~ui*H>bBE(No4Lt5Uig9UFABaT0 zj-_PBdE694kS>D8^h~ml=(S(@F$N@4Gii_=QFg?u^yOBGr2mpR@Q{W+O>ZMz@4Ar# ztr`^!iTVOY;kx1QvRYLS|2bFs+}1KY(xN_&1vM1GiT?yPzPNVV&Fp*q*j}CR(4s7| z_@PY|)gBm$_Ttqm*goMPGQG@1D80TqGY@Gn=Q>13$MIOzceA$a9J`pArQh2?6Ym&| zrrYgOYU!-IkFadVaRsq{u0ArXf0#c5pL&KZpw0fP5OE0N=w#ib5#?HeC1Q|zC^^jW zdN!2@I|N767g|yXE~r4e;U4qTHWZOmsLa0YHv=@3KVbcpX%cS>=05Ba}-~MQL{PEx9Aoya^wsi+RiE|0lRCPv2 zY1A^EM2Rx$Rj=!dFzaE>Ce}G<4A9Hcp^eVMQ#w$Az|fU9gWHp|E43BerRE}?X;EDZ zM>x@+h!p~vY{%|wN4q@i)rf{f@oCOedhneg7_#`zybAjh@@yivMc3*sbB>i@fDM6t z7@uftk7?r7`#@vUK`tb={hs2T&AC2b4(JFq>Gq#F2wpU6g3WAH#apx65cE%XFb`+~ zp!y)paP2QCN{*j^&q>wn*Vcl@HMs?DRecb&TFrqDS;vV?4d(sJ8qA{^vIZTJIw+ZXsJOO8Tdu5;!V-a^5Q$0iLw6r@dth^*)-*0QHuwC& zy&KV36eM9pr`R6&QW*Rip@zc35({|q7u&1G8 z$TGg-e7oJFjO;Kg1R4J&BNUQr9j}-r8E~3QrwTaDjHo1t||x?%Fm;nvf^`< z-E@#uO^2xrRNUen&yYFma2=Ct$k^|+m;^li^z^e0$z<2IUCIi9(UhHjK^UUYvPni| zbX&v-+ZwT`JJQUg^ro$21*ET1K>wZF%H zaM_xlaUiQ?@RO~;`B)GB4aSqbs^u38XAh6cXGp|=gn5GWC0>NszkcSAe|QYr)vpGh zJ^2e=1F4_T(hQ9xj*D8CUXn$XkgA6mgZhcm;cF6gn4ie8U3em0n?py@Da$*UJYpe< zLjx59gW=H8a3+ekY?gDylrw~;kEO}HE?X-Kyj5FYW+r8;b9zHRe{o%YLMkIBA9|Fa z7)9VvP~|Q`!2XNX@z?9nTOofK&;21zP?Ryj<%p@Be9+Tx?VBf5__`MbE$jVNzh zUBF!@e)9iVX&nn>$i8CJKC8^=mxGU|?{X*vfU4u8VH?r(5zQQs@F4ExdjCsqEoN_V z;^-4>Q;0;Ob{SkB&RW8?D|0W8?XXh=B2%CV6DMOdGVad&C$u_`6EsK|7@}qw?GPVD zt-!|N7TJ=5aF;LyINI`9nRzfFd=~8BTk;o&&SPowrIEhvX{xPNN8(0y=VWilD1sIb zz!pFztxL{lAz8JEvKMfR>f?)+>p!r5BdF#n||pw7#nr2 zJ=LZfD|r5@dIz!ufWsbvw%@QuN^)<VQg=Vi^&PpF659Irw_PqDF+^FahqeaC zj<^!E*_64mpv;WxfZc7GB)-2UGi{9RNB+rPMC$|d~TQk}Z zsSn;Um2ty5{Si?~Ydyr07gLhB3Dy_jtTS0(?%^dRD4;dB*NTigG(rXg&$J&HZ7c8US@y zVG7?VlF;h>+}x1Ye(EZ(Bjh|wQ>#Go(VvVJnS^ehDa+e+bs}@U*36*w<8W-pS zM;}{S_MFY!K;|lT#-so7OR}yd$h;Tb5Rt`nCb^2Grv3^-Lude$3RaS&FHDpNm1j_6 z8QD3|OH0!CHd$>+y`|h5O7}Mx$4P9ocGxXXtZz6ebjyza3~7FKkRe%N@5}=`0#<~T za!;naSKRi*)q4j>11u6j)4N%HuFsl_sR;n(2cg;Ar${YQ-*MG(t{_BWjJSA9fW+=D z1Var?DNvS|ELNq4>;j?$E4Oi?EgaM%KdyZbVZN<|MWCgwO_3p-D6OiC>;-~nGs6ql z@E{b5xScYeZmg>{yHn%JoGks0sOkJ2SDUXaPf>>RYJwzjCBQ8(`bnVJd8y~X>Xpq( zLN>~p>NU-3YFp92HXfl3!lf{(>Z;nHzDCp z=_2qxrg~zG{fff!?Fgef`|=2)wm`~2E_|JBHh{Tq()_`(d?L!s%d+YsFDM0)@rX(- zvri~ZXO@Qk9o0O@E(O)L)*nDQ`e-Y!xu}`q1PgS@vZ0|cPgIq9pZ|$frCYk^FXKzJ z3asxR@sP0Dw8)IO`rxoH0Rvjc2zqZFChG|8LODgpB$8fb?#0&XSi=%zUN$+qcR=$7 z8RSPwXWjWhyavZ32Qh*%C|z=grD_tR(0Bgv!;YXkn#vkZMf{vs_C?7YQH=^I-a6S^ z+I4}EqI!#X@?MDKi>_<%o?0C|Tw+M@TNHjc2Cu@(0VJQQs~%M!ty=T}36h{7T%O~a zXos?r!QC;(o`Tq`fX3T}Co6I+VIf2;Ti5oo5<-4ImnssZuh0gF#C~iX*eH2pK1vE@ zn~>n1Ce|^5*^XqS3Svw(dx1waQL}Q>$Lq5!8PSZ~?Y56SZpD4&bGgD=&fMl|BF7M% zhMdsWe)f`p%9M#mn=EC7;^v+0KO0#P%0Ku72~ z%yyO&FrzhyWln(zyO?v?-wiZ7EKo8aX?xJpD_1AltzYRUs`=79Rl7{9t~Ma$*rAdX z8}WJAhJ5a8dY9Y)H(L^9~bjNZTKEn;T`#gX|f)v6g#As5 z9n9O~BSwGpi~<@EIazf61Tep>skeHnoIr6^?6S0@t@~=P9R}Hl4z># z*qPh!wFeNAs61~3{TeQk*DcTrvh?MWN6Hl_0a%4r*SPK-(wsmH4kQn$-a z`6p-j(l##Cv)w37=EF{}RU%nMLAQvo)-XA!9~iQ3-wg|z`Oa>ckxLaR?Mo^9zMhHl zAvHTzL!ur|{|NL)*6Wn{NfWkvO}>dfGnzEYR>+Tdwbitz>)^#`xLKK;w!|P@nd|)pQho7D_nxm-iD}o*y1Ln?w@?_U8tr3S29=JP9L_)s(I% zYxDj7x-xGoo)bKuZ^6#j|QF0n24|tk~*mC_csT2pEf$ z));?$tk-8mvwR!`NW^DkS%W;(CT7UlrjvdCZp13r>K(@NAt-nsjBH|6?Q-tt_sO11 zW0;Q#9e6v(!eg>W;<$l&Yf&-IMU$z>ayjrudROE#5m(!FZq&z*iTKXnyKUja>l zyH@^%4L zcMo4#yT>ck*p&A&K0_-5>COcfi@bD8|0_G#?{RHTF&4RfsPSv(*In{`Hb&)MLvEf# zz(IS^J$1wbAzcD~9O_WIWlU}qDKt#0bc?HP3i~!Xw&REPGlQC++EDe|Mdj_grwGtO zsQBDLaZ)Hu9vhbvTZ?0JAH%7x9`k5>PxyQD-{H)6=Xv`C?<8!_VN7^l3);fA$NGV8 zzwB)7S-!Y2gG?%13b4sV{pT2B>%mtUP(4C>5VtzWPiS)z;vSF)vdPBQ$r=JWa&x6i zq!sv#4z=&F;_=A4upfNP)zY@1q5Rt+jc5kh*rKt_&90(Z@>|0?5EpH8T!h08k4A~b z5$7e<9gi4F%Pu^3SLRq7vh(~FL7Fjzak15rx1lPo3!WXXwMYt*9(B&<4GpsR5ZjN` zhdjix&Z|&aHX}CDP5zWgcxa8Ajmg$D#D@!bC)m`)RLcZZ1k>&`8gJh0L?@i)fuf~ zd}`-{52!}zd+C~b)P>bMxcLUBxZfi_0uNe-Zf>}wr9uIVbib0?0KTr<#z9f%TFEtF zMbdm}40h1YS#j4X>z7p|v@~D;EM$y*V;!B91rfJ|fkv!eil~oUKm6RVARH;P)(oXO zODWV}!TK50OiX?#Gt*sxj0DtTfb3P_Z`I+cAuf=>l~h0AAEXyudAob2YUx_?ZixN0 z|9n<`zA(p;43lNC@jw|~+eS+Q0Lh6HlfIYpMd7)<_SDH zYeURO{Vsy5w33QzIAQMo_(DNf#|lC%7q>jmX??UR!7W*-<8b>>|T;ML6Tg! z@Ivu&Hf7SMqKEdsns%Zl=9flITpHU*#KN+&R*R*$xI-j3U&a)`Pk1 zfZAWw)*i_IQ#V`|{nwb?)R!3pGFs?CgPTqW(Cq6?z9`_H@gv$ZUv zV!tM&1W3_=h+>GB0Qrfaj{9b6Ii8_{G%2utLK<(Yjgbkqw+k?yTrEJc+VNz|C92pi zc()CB_?_$Pf`Euc@*=Yx7>Y-DPp4qV-pdetY1K2C6~Xv3W% zg9fAGS*-Hpk6#6y5kWXdT?8uJu*1oNR%Bxr2E;L%ioqMjWgkG&;X z?tn&(?R-e48aa#gMs!)sO{k%OLs0R;e{4t&ObwUe0q5zIhRKWUtTve(XrBb#XYd`@ zEJR>MT1ElIpg^y^*+UYuFUHO1bn*xsJD^71lv21`E~U% z>5*NQqh~DfJhMQn)m@imsd$Bp)2(`Y5vqSuG%IoyaX}WrPXcNGoomm4(s*aiisX7v zn@0_|VqPXI^LV?Wvmm5sm=5*Cwxk9tM+ltAS10xFp;kbMCj7cC&dBEOanK_xGW8-e zi148TXnp#(N!#b(j!WxC7#Ukgj{9C9a0y3g*@^+bj^ zMF_5i(f&POhl*5%pH<NyqxBkEj! zz*#RHj3nf(bOi{M_1KW#nfZSH6||XA&6U!iNZPL$w^<1j$EvJPnn|YmRrGrS4QWIHN0Je}?;-QR2#KVs zMcPj^UMB_TMX~}Cq&mnyR;NvBGCS3Xm58}1&9J;+%i6q$=kGu?QQagcvf~D8)rd-< z$s7@dIs7Y4c@Xx_cFZqXd+Wjm>TfH&E0WGKQsPKoNxi7qv;!6VE&M&EK0>;j^?c}N zF`_c2_)!FA>{mP2dcz8CpuHM2$a8zD;gO0ZS)-GnD+)Fp>Xh&bYW9v{xIxxqE0Wr3 zA*O$as1FC9e5`GOOR~x(ifta+CwJ2D(a6Va)T3}ZJ5Yo__Css8?~q3OaBtfHNRUYM zS78_hH-Jk;#xT)}QEO8~p}A0w3y8R*)ADt4CR{C?_pU`zW_FkXt<)@4`#)w!)_%!? zFHs$d5e}x-7@y0Yg!^9z7M4Hjx!E4R!y06f@t1H)^}Kx1bK(j~(patj+ViY#Svy`#rNfA?AvnqRL*vyM}cU7!hP*wsw zNES5_)X$9`bcKe~ilGN#Nacu`fLy=<6diWot3ZNyf>GR!AhP3+Y)np@6{)-NT)znW z8Caiz#j&Q*1QOHbR=#TnWB&(>VgYAgOonfqANFJ7yaamvakXO&T|ewr?=a>ef=`3= zjY2}Oa60vTTtGWk!5l#DWP1)vMKp4+Zns}%#>N))8J*bMv$J2nc58%W*VhPXjIhJj z-UXk#lubG~Lf1#J%SToE!6RJdz28xV`L$KIH|BWs8@k>9>}=`^Hn<{Zuy*I3 z7qMN(PofE6-#&9TqSwub@N9=Xl8&sWZwuHWU zsHdH3j`G|Q#F)VIc2w!ecUS{j8wLw<3^WxM^<$B0pn!>?1t}ZA z?&>KWG}6ST;3uN-$_53p(mD$QHbRk>HW^njxP`0U&WyH_7~X>Wi<{bpGkvQnH8f{P zy|pw)KzAWK+#q4~sNW&g6?>9JO!*&QXO?8Cjs(#SRbmW6!2UPZaXbWaad~alAN{Jb zG9xb{6oU`DguXghf)OBH(Pm)dBB!nGe1t#ao!F$NVZ{8(3T5^c+&i)avMx{{(XX7% zT|&aF=V2Otpb5SCs*9F@9pn*Z-qgx#m7O(vObY6TyxqoR8i%_+!Esf81voQ+s5}+T@XLRD;Exw?A>D`J~)o z2RVj)AUg2iS-%>BT08ZA>ZBz5_2MsEdq@e(-iOL4N$bOu9GmmOqT){=<F)uKA6qL^bxCVZsag-MQ*?slc)*`joDJ&M|*fblBsKAK@7 z9+hi9>frT(=NrreJ&Nk|ZVwDUkEOl;68Mur`*V6Im_P}1FkM{j*K|5Uib;vhlMlHN znfN6fRLM{@6!=iA6TFe184mz7nGlZ;*q0E0m z%0vJi5~1bDXof)If{(9^dg5?=qRd*htu~e*sk?bCtKa$4C$5Ecwc{;9JDcfVF0!9N@ZhvP4VXO> zKo=chF8v`NmkRCGN^gp#r!qdP^bx)wq=eIW#|uEL(;+z>vd+qR9t3hLJo&YV6PvIB?A&u zyN(nDO5BVz4)H2oS8b0EdirIxx43eRyd)d4qQP#GmZ-G5X?DE%`%6(U-En7UL`tRG zHtrG|F;6{s@#p8jJtN8&4{qenU}-h36!e-ie&6E>;vZ}k~81Q7GjJkHaCF*2{jF)5~SmtGP$wZSPtWi@2H|1$|-I{ZusN; zLba`rV^xHtTn@fVDST)2Z$tLKEsNQw(iZDw1Z?l9Uq5(Pevv`zhb81ZeQj$uS;gdN zB6*R56dOz>wer1iMiP7S{dOWrOuvn*cG_)OBWD*Av1BZ1emC!c+9&{8B(kxH)S3Q~ z+T%F7ca<9vQD&b|@)9lu6#GD_s_#HjX8v@yiG?vwysMkR+;%PguOIWe7TD1a(V4iY zE`SF&V>V0bIPI<#po!pRH^T82P1glFJ=cJYKHk@?Lb%#zL%AL0hS4H-k=>so$?kEM z71Xu>COdRA;#d$WnvK;`LZRFp@K+ZUW$rtV&rFepF!k} z1^cmFqp;YC0&<+;-Wf3{isWL%zeQFmHfz|>>@-j!%z9f6v%2N4JC4Q!DsxnX`BLpU z#GWU^_Mr}G{_bSsb?S!}?TBMI#S}Uwub^`@>?n7}-JcfAEtp6G0StsN9ls^u=b%4lq5j=mn_u7r4Y^lbJ|1doeR z=nWZ0B}7G)c{)>MfIaK`#Rc_l_t|8rzWsR8wy3W5mXVAx>h8yZvd`iDU_Xk1AuIkK zWf<*60koOd1HRmSU0;N7vO{GWk$`vEFKoSbhblAlffN(+FXw* ze$%O%BLlk=Is9Ee9)2ybR;|{|(d+18y1`7id>VyDC4jwNAn&M2+TrE}F|9PYZ-QX# zk|(rOpGW9i^Sy`m7!@kUfCe#L6ZY|ha*7=*XRh<6YgyJYWZtBh^Wfu&i~$gR6WU(QQpq7N;& zJD?mlitt$W*~&~hQ$Pv6?!#-<${oNG2nAcdJ~TV-_zAWl$g-VkU056-;8X{YCqfCQ6?2Sjn| zOtVve%y8oYOaghE|D9-~zD7e^`-*&dCw*of3v{Udmcd?%=FMy~f5K{Uoxc`&*k9U& zmbuYnq#OD3`U?}E(&htUO?*xF2^GZsYksak&i1&pXapPJgj+!5@jlJ>l}{Co@1%nu z(cYN)ZUtkiaYrG9mQ9Q>1woJN$GERWlt=oQADwG6ZBA0swK`6JV{LS9?h8;>`Lnr1 zC2RsirlPnq*!l_~Y@_*~s4_Vw$ML5vEb9u8##Wz|@rMtF<0pW8wksvBHAcmQzQ{K6 z95>;Gzt*t?b@v&GYfdpU#-8OVfC^N;BNZ`&vm0RppLQzQ3judfuV*VD!qH4#6(*ewt?%kpI) z&?0I;EG60^eD>2FZYq<_gO5`UA*eg3)0$76O(0QT!$@(zPJ`PiANtpE&R8=4969CS z3vEhHD_Gp0Do%6J#Nff`?MRId7%6BOldnaAj$KY0j^hlgvv;BIpjzW`C|Rch#Dk2< z0wg|cLsmlwM*uqhAOb5=-;*|IKP`-KHwIld7M{@^*k|jAFt{bbZ;xK(JFuf2WsRt} zp?%O%j)tZq8Y^HJ(>g`9hOQ8q?I)~ab+trtjVRYVI+!F zf$xp;pR`>356(^7h>x*ri3fV62HXP4k%7?WJb1dcdC0?DAg9fonc|ITO~E5}17|Wg zLqNo+Ah=scp@^JGlO1_Sm3-nw{6?5^1`CP)9(bRPK9Eo}2{fhZ%^Hk&t#$|TFX)y{ zJ^7v#y|yqKgQ;!%0@G1en??^{NrEzC_uO951z%j@l(h(Bc9R*+mjTsbdNH>eJ$$xvpQZq80a-a%16 z5w$~9KYPZq2=Y0Ioq^Brsm;z7+*d<5cTX-KM)EGSLSATdkbb8RimB}r;5k;&g4ahx z9FtCjk>kcKtxhj64}f9KanP1cyO_vjT;`W+qO7u6k0X6;jB5e}&Fyg4as=xfh*kwxsYE5AfFsMq-u8ls@ujhkG@c@%M1(yoJE4%CV0 z#O+EisxsZ#1^JPIh<>P&v07a28uK?g9M*9hx{OMRn-=wSB`TVN;>2&N6Rs*}F@UKs zFX7`*$!zuvOh!)gaEbGsYyTf(gBDb)nBX~r%Zl%1uxEtQ@JZ}1*}^y<_vNM0@KRK@ zYe%vj1>x1fmXeE!^2YdNXhubMi9*K2x?^huq%et34>q2xuv4iyi_m*qMber!aaZ@0?N*QI9`OtSXVk=z>$tavYt zytX3pVJwEiv7dLF&AkI_ys#^09&=w+#UWo984cP8@XVimGqu!ER}1%g|MR2B8E3FU z2T!$qIGeXvQe13l97j|#`@)O_XlpCkf!CpIiQA5X z?4waqK<#ZKcgHnQ2jvC2Vn({x1A>e|84XehM4^Y{$dw#|%lD#G`q9n04$iXTZt}b` z*sU$_@fyDK`U$K7L&R_-*Y-UfY8dNgqqHdGP>674Y&?xjJ~w{N%UjNzlGx`KRd+S% z*jF&^Gvb<}b=^!E8FR&Le$bB^l2Fj^CW%ke8c)gRI+Ezy2UkDF#~s%ZZ#{^~Z(v`X zxGgSzqFP0FL{H&ZO^`Rz_cjs-!50i>J(0Z`dN}s4&@8MD{yU0f5V{U4-HLlhzN5;< zd!7Gdrj72mjT67B6M8=vfI7h4>@F=x$<3nYu{nUxZQP%qn68XTqwSOV)3ZuF|4F#J zuc!BHE9F@x&{oaa_Qn=u>zEzkkX&eD!I)(Cu?hR3Ypws$@)FqI9-(X?*Fp4NA60zt zmkU*%ennx9G#MZINTqhyA0wh?QmES7n0D`AQmS&DWl*ECzORjtFX@Poos7FJeR#Vd zGrpk|^$h0X#bQ+G^Lbzb_Etnaruoem11bYLGN8RRmAyP=P#-mhANUQNU3?VYL9QbG zm_QW%%UytBv1I@UBhEp`E4_osA;6l<$0A5q|JjVL4;N9Z=#E~4!U*N78+tH-nw+M6 zr|u3{74Pg5Wtbtg&xe7@waXiwRGftIHL-|uZ9Qc9$L1$$TxK^SsY3pe+Jg@e00M%_ z8x#mO-22=-5z{0%JKKljNek|5d4LhO#%sR1NiCPYMBKqL8jUHAdKuL74^6zxry@;G zZSoJ;ZQ8$7p?175j~33As_-t8Co>CV5PE5X@CUoIUYg8^&SK8kUr_LnHmT#9qv=%ce9}#A`V~v>n)ZJ~LCMT$@^r(0gx|Wk zLe?r+d>=N#2CY=4w+8dSWFuK~zR96A?ud?qQjE+9P!fiUxLK4 z3|glctWVwRG=F!5p&SFYL7n#kRQ_kq1TFXr9bO;2gG#2zDh4E^x$e)QJEf1xwyO25 zIZlhNZcq&^*a!3o$H0g1j7s+D!%?6GlNmd?kC!Bj44)eHs9cb&rfh1>qzZ-w|j#=`O0Q*5Pw;Xjc`qph`4 z8&`!52g0_Ly#Tf`ny9stp9=#QW?{G9=@1zZg}uFPq-*R);G8@opOmkN}tZIQAN-Stp=EpcKBmq zk1g`$=J2bYcn8f=g`$t}Va?ORNr>aRW{Or>`jnu%1ednmJi#`6wtYmC?WR%BIMld! z_8DuOYFIz6+((&Yr|cb6eniQ5WYTU|3Xy7tPNab1Vg zp2++hpDKbGOdcEPj^Nzm*YL?7YqZEYOEX5{)W_4`ugX(vmCrxGKJXT7Mg)Si00VAs zY(ZTEjT09fDk`^mL)r)a6WrAvpJpRcnzv&u-w$IvG6;2Ba0q~Y`q@D?8+P4 z`>RtV^q)+M}ziL5?H>pUw0^@ z?a>|5bp>}hKQrNfc!kE z{N-`Aeh1fbrJNvlDOq=ya=L0`jH{gX!(L@2YGc}X#plUKDu|pFxAl%Mzz*;kiNC|i zHPQ<85vWc4thukRf&S5X+}3mK+~Lkx(ULHlLDDliK;f}$nW}g6F8hki)?(@+wtf@RQCS4izJRm0gBsi`2uAth&H6zl(q{+>~+gE z$XqwdtmtkGy+R9T3J(i%8l|{5p}HUR7H)pRKb&XzeQ$4xGslAU=u@qqz*^TRvZK@p zZaI51MZqE-$ zy&`IZSxAl2y!Wnk)eLiRfcsk*PBRC&+b3RtxH$)#UWUm#Hg30cZT-i@*0GiFfXeQ( z_@Br!Q9^2*uWL|iR5mtw`Rl0Du&kC8fvvz`Te<|RVYV$Y?7Zq zKK8WpCzj#nc+6F$pBvmoGmaePezdI-1ogC{f9&C56m9NFC{McMQx77-E_1u=#cJGy zJ+B5IDrf?C1-UGCPgTENTA>KKFf^6$)I1~n9XKQnig_I@*jUvm^Z>3Wdc%ASB>$`C1<+9DHX$S9h76*c6sW$4xRXKf$#kvPfYBucO{O zr_!oAMQGEtOYvN;#*1zb;wsPG4?XOdp1JjU{>N4(e|~$#NY`ku?4}_nt@FcMt(E=O z<^JgL0b+vSFew=y9iS7;Q;^k=b85JI>!&S-!fLmOxQ<&|hS++B#nh0rCD->97==5{ zaBFd-_d)Ib(Bt&4kbCa@UD7I`yhQe!ijLrctsM)JSr62Y1mTNNHBj%_b)Ak;<80Va zq?y6?!P?DeG8@5qJW}h?;36`di-NHu9Yn61KzmwjdGC6HF4XRAF+-E(t8Sx(56yo{e3u5f?DfVm8?tfy623Y8jQW*J9&u zQ3O7~tcvMqF{#{MB;3@gy5jP>9S*ptGCeCsbgf3MN(N(#Pc#l_o3(3KeLWyA`4t0HyG#$6H}Ze|5?sqj+QC+?rYGzh zs8b>UXIambaI0i$*q7a6uD~EYTm%A>I;hOIG35FWORPO^%SUkKAIK4s>U|K(PgF^N zTt$B@uS*)0@!eeuk2l8T`i`QwsxHG8~^> z=VPV5TrSs}Vj?hiVHWMt9b?R^Io)nyq;~(>S1eoGRf+hBh|}tKG$g-AS`75d<<(Fe zEE@1x@)a@5tQ&AYDV^5GJGN0dXWWIRH5F?lW|-Xm4IFdemrv~oH#LNqb= zfjSNWWx9yvA|##hvjO)}Tz(eVMAf!d)Xr*vdYg{O6as(`y6NBFDy5BjJUQ^Baje50 zghC?z=^2P`-q(&tbIZ>l!@AkC=QAjNdiTJ2J^x~Ml=!r@sFgpMnT8!5qbshCs9aVgb1ozx?0AToo z7m0!n64drFR#!|d2PN~77P(7vQ_UFVyy{)NcbFtxcTI)#KRYG_!SX>cB<_=MSXjo< zUNL28R)~XD43u?*&Tk1Y1|ej>0nG#SH}Ysl1IzAx?ep6sUBx4L8}nsNzVh<0``)2F z`A7zjCv1|ZAB24a+}Nd^m~@%il*+c}UXv2;Izsvmf!CgmOqGZD*RoO3bJ*`SH&h@f3N z&j10cx7Kx*Y{+xG!4{M*ZW`B^t=-c^$+S;TjJ0gz^^T%tMDZO_W1e?&{gn9Td=#hC z$!PTMM>*|r6Zcwf!}Qv2*;-^O(rc!o;ZXTdHc&V%8MgTx{Af$7eA*x--3CuvzIbk3 z|2r}?;-+SogR4iG8e`<1eBcsgv_odC(`xg({|kvLdkU3S_8J zF-0(#6?L7rB&t9drM2RtB9{5lw-V2mB;FO)<52}hf7FLrp|G8e#9Bm7;b;qyyq%Aq z8n<#?T%wyCA8*6cHfl;$Y5Je15AcE091VWDApAtt4z&i>0~3Yh7O$WUge!oN)zpom z5CY56i?+zs^B|F%q(>XVo&E+Z+A~=^$1sA9FMXmCjCUk{)F*W5&7*n49?AhU2x%G-;T8pcK?aMJn(Z z>#67!xr+~90M46By?IpeFSpctU6c2i0E7OPaTeFZu5orV@gm=E81`M52lcIad~xk& zG92w)z^%J}IWb-Rwoz6%ZPf_r5vf{34lGFH%(xRb4f^|;~t%Sp{-?OzxQRL z)CW$$p`8eN$~NwEJ)}_Dv`DnaS*tpOdB+Dv=3O89S|smd03OC?fnZTt`qn6313bF7 z4w$VB3hewBuyfxgkBTV;`PTC;vB$G5kxd^;M@B3!B|f^-!wP0BtE+S5;&3y(cse__ zL~bba6H=z`q&}i=*k8?*=BvIaudr7;OKg|Kbu~dsSp}KwobcB&5Pob7gdhJ*-Ne)2 zVW%qXZM1j%N7jrK{v@44HJr4w5r@-^i%L7{8CP2bmRX!qbh3jOkV>f5M7G84xD_)$ zk+lzsnKdxa+4eH*c9*d(iK@ln*-?1c0SU#YJPn$`%y0L;ZUo5w=?|X4v}iOD;Zx~A zRoV6QDq>~f5^Y%T1T_%h$Mww-)1zs39B(b)da}G;WT5pmNF$-FZIvd*Ba#BPL|Hc0 zcCPP=W=)iT!zx|Pl8flT!H?q19F64G;)swLLG52Shyu!KQF0xz@^J4u`S3c|CI!xl zFZ*>p4|0>+G8l&|V{emjp>oD|eZn6yrc6hd#v!|R>eS39bhEi_$u3eh_lIq)0f9^` z+s%*#tOKd$zPFg7p^s?43iU7!U_I0Q1eWBvRbvgzHgRl>mJI{M zuP~XC4aZ_K;2Y%3>DvbM3@INNyZ{{jZRFQ>+JD3wgHqRsvM=mXN2j!$8@LyErb z36j9MLI*i9R7}|oJ|A~3*5ja+_2x)s?Hylj=H(}X1MxF% zRjiZs+WLJl5H@TmuXsB{J-IzOa?mRiBbskPcPi+J%=l_bNsrrAyyBYj(0hPL?1l{HO_=EfebY?{NYdruJje;LCxvv*b9C2)c+fgjp=jxuXs{%dYhHTSy{MCvjnU+bYdHMKTkJHmg|OP zFxUolZ+Fs_!id*e8f0BFlcA$nE=H|!Lbn73A3uS$xX9uKS6|aK*ih%0`^+lNHZ-0N z`n%M$-KbSSW9F$2a{ftEXVLHT#l6fZjtt{_VzTGr@%f{F@Hiz&crRnMm8x;5I_vpl zv19_SmFNB(@xqI2*U_VRQ+1bxflb=I!;L6k<4?aN}k>1@D<=9#rHD_7dbwl z#tNyn7wwSj6yp$+wFe7_s$aQZ^@5VPc*t=O?w^{gjJV(pqC~#}p(9d2g4+&2&x3e4 zDxeM9{nHXex;@s?LK7$(Ol2=8Hpay+-&2987{WU4VFVg`-j;!(qi&H3?Jdp8qNQVO z-l1euxrv`YyBQf4AZ|kkk#>4UL3y^3#*T*1b~eoWchiVbKY8??xlms1^^@tnl8|;{S6{Yt~62($40#aO7wy1jd%cz4NSB0WU;yX;^c1y z6@+)&bDL&W;)sY->}+HbB#*kFhcJ!4zQ=%3cn6hKnoX?7Qbqv$vzu)%fpE$kPYs(sKmyO*b4uP1xy_HroJ2jvs8#vyz|HUn3!%$vCD+uPz8;b zDq3tf*0x;W_lgzel0Lgax=w#@>lnMBv zgDaSJtdsZ1WUmh#V5dWh=+IgXwNJy008|-$W)y1Y125tqnVVQLAHTFIGMs#35Fg_P ze~DGnO~q4N;vUF5E>1QM1B+`=36fphx)sA-B>&T$=uak<>PRp;9!)y#Ez`18_x(PY&Ovr)kWs0?S0E3NgW{7a_oQ@ z)d!6grQWeUWe8@r;gP#9@SPot%sHQzk$gZ&(`&zXP)GZyB7tM)5Erg>4^q6SfNdfJ z3sM-7VunGp+5I4~U5%Gx)J&F`Wpppi=e+(q=Hl#3%rIEW>|e^23hiv4S7h)lMX)>S zPlmwWia|l$-AXKuChF(CCOLtR*w6y9-qh;^`5vrav=If9qqlASo{^Al`qVhuh!d1q zr;H&&6p7jP*8B~~sy;~m7?H>!`(tOC5ozYOiT;QOnhPiuoUFSKHQL{^NwG?K(N+Ca z%(!}c9PfGXkfqRORNvPIuXy4RWIW#)oIZ6agK#DDN^?enH3rnH(;ni2ht%@iDDsh- zobxM`wh1}DV`@_*h>)xm@Zsq*5>!X9Mn4-_4)HTe$v6Ys-In|VlOu?rNfB`uqr82t ztw93fhA`=QOQpu2Z1UZTA9$te({F5<$i;=kZrXH>W&OArI!dmy44T9MCclKtVp zKA;+ROH&|x`lMb2enjfRlpB>FS!AlaxW5LC8h=c-Qb)CY~AEU=fd%za6#|eRGXdVFsCTHUecZ+IOD5-GOXU~ z(B8cR%UqefNGzXRpQ^~+)jm7A$*V(tKmsBbF+f{Em_2BzRa~~-+A=zr{^KKRX&X8u z`20b#4iB>nSW0|$CnNa{WjHR>+D1i)nPJ`SO2U69!A2!;izHu=xTfy%OJd`Vi608x zTGOlbC$MDrZku$W*7%6}%}a}l#)pkau=FtZg(_Rjo|7eiXyntBWi?-@bJvdd%graF z$udr4NbG3_LuyK!$j}d-4>%YM?OtfcudT71{}PzfyCZenN*>TQh*lo1AVT`yOqJ#jit9^BXGTuN#yLMBNRcX74JPsu`_Q#rbWfF(BhM!)?>CTwnUW#B?{`@FGu|twGHPna=~_(ZQDj z68YO016F>@EwLjzUZ2?h0o=Vtxwinft1)p^ZVF>&Qr`#;ex@H#kFktdL|~C93=aCodcrO8bDcp@gk8?zf=CSna=x zJnJ$Y0_s5(Hc{qllY~pJZ7L{|Z+xMU;YvTM{BkcW#UuA0@5+Vyh|;d1^o$ zxeZ9jsSFg5Q)98-WA0^n6CxRwe{N0{So@?BS~8E4lpFGF!|1(2D!Dwp$FI8##>#(c zow^2bYcQ>-O7EKbC0~^xWeSHD37V%XE41s1V-;sIuDLw+N(E83MYb?U+Ew^5-y%`f z76wgwD=z<`y^X@u-L0SuC_R9cbE}>GPjqLCj!8G3(jA7Zb?)UJ^g@)}kGTpD>Z@{G z*YElE<`ZxoZ9^`+V@Q+<6p< za_UlBMefF*Jnal8FB5ShqurUz-9U>p{?0Zp8;oXim5#^BV7LPg5?taf9~gXSt~NE9 z(PjTo9VeoDf|DkYbu|_UhkCcQGC)`AU;EDR35|PnE5(XrotkXQUU<0u%d6Hm!e~`}i#RWQi(1eNOQ+>~v(CxmYI17k? z9~8+QO1?($AHi9aI3OM3kD)!sy9a~)$ux{d04!hD;cqaF97a?bI?q>MqZG<4ADRDz z)Xs6Xg0cg4UHFaFs9RGY`2pz2g%@NO;+VlAN3_nl<={<&XHtRrw|zLD+;O$ianJI) z^rM&wnq2r`%q!cr&EP)(w_)9M^dD`4FEh!|gP?9?XzjFq449sPvM7QK31!gb>R6JT zXEei2T$~Xgx;k;MJX^>(-az?WIwr}jFdb{&4F7g0u#PULe%K#2{POWRweoTQ@;y-N z=RGbITZgz+PDdMQV>R9@O;UVyRBMG|f4x1*+{bI>*yJ z;@Ck}Gc)n1w&jkARE=_ce9`mS(BbU>WzP6QQT#ERm*=#loCQbV_?@l(Uw~#{KKlp- z{DVksC;*fgXdC0&U0|zTKVh}18bTzKuhrDjxgr=SnZy}N{Jp*B@22)w$H~s?#zNt> zzU=05z(@RRy7mN-?>uZskn!HoFX_!!O?qI(jy!%rBiHRKic*KEFGTh#1D>u@E%F6A04e4}X;3y&X zsDXTv4T(b4BP4u|Rx4!cW31kJ7`}>$-(#MNtx7meG!Lsuz?Z>I?x%$_dVPDa*r1V7<5=#Pkz z?|!lF-GU>I);vg%RN9VO`fMkVls@)c*tzY4A}SL~wj|HNs~mnGx))AV{S`jAV`?jrBTMSnx&!tOdD~_y$s_Xw z2|#Od6V*7^@S{8DF-c_IHJ44^Waf|_6AIEvu-T3eoF8bbWpGle?A#V(r|;~AwgE8C z_PV3UNY|)DKk=N541R@=?r>U@4|@h86q2)sgyf1Yumz%@)$hFL(T>k!@LgsBVW1KT z`|goA*0%LNF!G$bH4I*%@g$a88?XMv)mnY=BE^O=0}oJJ-eT8C!_%X(ghv14Cx+jK zku>NLp({N0ruCY-Q2INDg!^x>A`fj7I!u=?L?}rkjWL&N3w1_X<_i`-txUt&u1F^I z=Djc~F&UP3Bu6_m`>p8YrbY{rc^$eAN@MPdB3zxTtzHUT%)=#Ek40Rwe#qi`uV3() zJDRh7F17WA#>v^>bH%G{_DNOp^!E}*UK>{PP$hP>6Q)CJafww%c;B_EBFT#j`r}1+ zZt$xG*%alVa;Ws%s5SUt9L0+|B01Q`seehLF$uu(kHxaf<|2q4bwGXi9zT&??fgnp zgf7&2EZ*~C0BWwpX&*#+m+48!mpjf;aMY>OdJhn==No3wf@sL=4c_A^R?{Q($=k-=eD7RfES?|i0)i36I-iyJj_~V-OKw4r`FhzF zAUZT8<0Wuux@M>KHzkZ?m|;dIJg+n0M`ydwg4 z7{%jH9x84VhJ}dF0#7VO>+cT#iKu->WMl5S^LX&1=Rcm#zz3yE#B1)>JmL}^ehnFC z#%mmhM>p+1)J91F+if)auTVW<$+DyaN&Shb^@FE$u(#>C8|k&*7V2mNJPeXv1C zVZ5_-(--7;4McbrX&?R9)5?kvlH*Y&Ea<+aa@g^SYJ5aA!<`|a!2{Py$NCnk&-m}2 zZxW(>7dr(h5EqnsN7Ob5XV$-i`FkW~3F^8*&7WBP-52-|7|vwQ-}ux}UO79QtIc)G z|5%?*Uj+{lwdSkYJ2H;w-QOlZ=*z_7SRuyGbC*;tT28x6gx{l~Iz3Cz1Iq9uuNtHD zC#v?Mk)`7Ymcxpif7;Q^GxMaYK{@{5UNQjhF&e@qiQRc8K>wP|G z&K*b3_~x2J{lvDm)2%`DZX>1*MfP~AeP}K(a>uTU^8Ms1)FK?R7YBS7{<{sMWnlkf zTrSoiu>Nc@pgA(GH~7#ZM^D#NMq+j{au|>#R{+IGdUCJ|^mrSDBaT10q|Q5-_P~9NCY#G8|>cI-O-0;YBHMI5!=J-&B6B9q+Ij1SIK>nQD5` zvH=siPNzKxWbUY{U6xihw3A-WAkn%=|MTpl4oEWZT&-vtHVvNRh5q1i8Lk>#31)TC z45k;h%6n=X7ktsm(mW*qvh%hd_bh@1A|IO%8aZ?9B6to7$Nq_|JwAEz0tzsqW1*+2 zwl}JBA-2^MU`YVWU0Z}Hgk=CS_c1+77IaCrpOxJmODa8XmlXN{Wmva)Nor!XlMCW@ zdTO152EVI>tBziLGlxV1Mn+F?WLGPOf5OSvEGdqf8un_2PajCZZbo~5(pa7c$b6Bz z?dHaJ*o}-dUZ9q4@)e~D3MC(NA;s0&o$L1Hb>jPmQ}gQjLg22~aoV>-k{d3H19nSq zP;%};#o{WI5FkD$)QYM#Kv$c4Z0-z<+HZXCz4TfF%r5(usIOabn{v;#+6P+zkGehp zn}2|7qWajLG9R22`mjVNqmN;hx1bx`*eTZ+QHB!hMJTwWPxzdXDitN8JPPIHju6Pb zN7sD+=ZV?q2M+8G=V+f3`XZ!ezoxDkb3rddS5`jNR~1UB?q!NX$#j^Ih6dJ)DTo&4 zCB5DGiAd+Xq`Tt`Kg|Z#V9A-#+P#lc;S?X3nb3(Y;|{RN6_Z7^zb851Z`&NuJJLmL&&CU9$`}SaI#ucTl+o zE)X3rFr0=#{F|XV#n;SIJdWa#I1#(u(FQ)dhI(2C4^3o+#r{0vf`48d@9tRo#|SK{ z%QJ4M+&lk7S?KG)K!Bvefdm#LMxgy(2%V~ul814Tk;Ubcw zxxSQH8Y9@snza(Fs;D@gS|7#Dv(uWE^ri6R0Y+x(3P6$+H6&))WCPy6{vFNI9@*Yj zj9%u7yxT!KPXax>a$_tKrG^b6)KCs=E%acF;Qz-l@z5>g6K7YYT2ek}eUYXA(U!H+^rTlDA-8Sw~FF~IZD#f+b0Cl{@123WUH<@ygb zd)(q(vL#-plP)#NoGdav0?f--bVoEFp4uCAren|&hG5aTTFIa3SPOnDpkt3(HPVh# zA9}^EM|4qi^LUNGE;->r+=QZ=XJ##>F8&|N%pFq#_Y0iI1$dT?0{-x* zg&F|7Z`pR$+>7#^IdLw)yrLU5G$G)@^%yYP^4ZzCQBz4zo5&VX8SZW9@e|zMf+KhD zn~Mx=l$rZxERU$1*h_Q-yws;3`JChQlfn#skplR$Y6L~taenVeYD<>dH=?^`&IWw% zQ6PnEFc<_aJl)*~lpD#!)lBQF>M!sB&5rdaqI~Vw|IieLWgDKrRrUderHD}!Oz-<@mVbFvXFm)dEvW0rK>ftYUYR)NM=!GXI zQJh5+gXi47qe>_iW}HFW5Ub;X==EPA(l zs#N|dvfZC*B3R>(;utpd+u!)wll)pfQph#vQyGZfabGd?SxjS?f#B?DS~v?xFdp;Ln5>=l62fSXLRQPC2zbC2CJ(- zpw4I9d2xfNHRJ_G#`16~^g_{ajD$xZSn#B7ZQ4tE*(`?k_TgNjRRj2pPXF!&f8tAd zh_Z^duFb;zi^}zJt-cMBU-MI4R$RF@d*8I1Tsj1qS>!yb4$q{4kI|rF$zouYC@b0r z#ne<})UkB(GUvMv*Rh1!@9AngzUXEa=LAIsUI(A#0=2|1%b%d~ofGX*`J``jV3|cG zG4N5YRQ&W%dUu=yuvL`6dkqn#$~tv@ofG`QuPf#qOdCxk=MkR*vkk%0aNx+GV>7_L zrILQR6a%cdeeg78(`=f7f~;Eg@)J-#vrUP6*TVg=#le4*%Ag)db!?i|P>Ik??3lhsg_fQ_e<|rk%}0@ZmUxZKtIJJx?7uyU-n6?yLfwjJv&) z5-Kl>9l)Z;Wpl%KG+VyzqB^b`5Sv~ptAJ`M$|-~p$+~0bRB#U}@G40bM*|*Y^}+Zc z?rFd+zu}Y|OKkUg(k?W*$ucwqV!jQ9#vZ4@p-xfei5Oz`I*XRlHXj6lG?^~=JEYn| zQo=^Cbunmr)Cw%TcQ)h=VW_qLgbeFr-HWc}Hu_C5VD5Dsg~8%JZS3dJuDr>C>u*@? zMPtCNrPxF41`$)u5E%QqX@LFn+M7bqaZ*)w6dlbFdRfoOJK^`)rTC7e-5IbP55bgH zV>z;oe&#{(YqJ6!9Z=Xpo2o$Jr`uAsvXV1jZdtY%^#2`Af{#kMha|^fikCXRqruW9 zD`y)LQHbn=fDy-<+vI`wW1GF%6GK5gPUq)cRpI1EX>L|+8FvZr+|Ay&~fAbziLQ~6&2!I02PL-ps zpHANs|FL%B+jkh{itcLR1#AL^P!)D9!Vy)?m(`=g1-q>6AxgwAu0U&PG^~y9-&wdj z-ikwGDYIwmi_~>*23x>o=A4Yt!H{wK$p9HkmTaOq!ep}#3SI8AC*<{zx{hr-7s;19 z7q&p9ukIhmbZ}ZMmXgouM+0j70$>-e%kvJYtpUY!bv+-7naFPsB$OftE5Rrpiy z33WQ=bPw(8Ps*wdjh$w{5}o6YWfVNaR>qOCH)-s|>(a0kKfxs>1KD|*9 z);KN+*6LduK}u}6dK{8B>l1|dRHHGoPD--ypE!<;CQmiQ#}lyA?&K|WY2$Z}Z?it+ z-D?*crMET_**w~qYL$5TyprAWO?xad$^F&Ky(22^;bqp2Lptb#DMcb}-mg;7t!8`j zSMZ*RA8RCSuqUQn&-f2kl8;o_5EvEi9o3$9Ns=Dr(l-dy&+D+wO4ozg^(K>W;Nn$r z2{JjgEzcsN?QR=)+)ke^L_0ds3LV1J<~ zdOF`K|H9tL6)uwHN6Gh&rcIK?fP`x9lb}4`E>Zp`Mg4hkdohGdhV^lZUbm-%+hCDkbqk)3EpikY+iO1kl7r#NvD-6cmrPJ&cny&bsdO(u7xaaXQpOolu~v zXY+mNvIHfxKF)JL;k7hg+iueNp@O=_(d_`73IxI&%y9#;!W`(_;NVHZn~j|y6}m4% zK!%b%E?mfiKO6ki@#l*Nb==4IjPuPK=~XT8A;>(|B=LXTx(R6E z8*_^bDK9LW-YswdqBNTgRn3Cn98OhXZaM(t(cy`g%`qwUsxoiwqe3mM*8N8v>Ip2< zL2@Fob+J7uQ?0x9KIDe*K(hF6-`;@FaLriG_vY046Su1mn6iRs`@gE(jrKuQo?Rd5 zkD2ljU+g#qv<=P6lz9nysPXfPU4AQk`>4j(2RR5C?gBu0yL|9rZ@73LXipuQdB5Xp z>wqf1bwK3iTTb(O+5Szwr%qJ@5jWWoTIYNA^-Y|I$FCUv_J5x3Hot)ldCI`l_J~Z! zPVik1o@Yfw7+R3?d=K6on`IYFzKyqqV8PS}0P&Bn>1&3Axx$kC^&%!D(8eJ#LOKRj z;ACAP%;v#67jHvf*2Lr6%ufI*FKV1V9xqa${;*`aqiPxaxMiV^I&A;h1s$U>E7sS2 zX`FO2cdH|T@1w@ak{Wx4W~e24lUJgO_9qw zD->9QupeTcyUii%E8#=V0kB# z3i#u}OoLbmHnvy`d=@GSD_eu(wy$yh?Hu2@{bQBmqYwUAB2LbHfqFQN*ri1{_08)P zw9WtP&1-!D#7Xf>1^~$)mnalCAEUxCIZQ(UN)6bf0SAwx__oL)hWjLXO{|UP<2oJP zy{chY=R9GJs;>dWK5T| z94;bI#@Fq;uk$ZdXa~dbRlZc4n=b4~TpG_^5WN9DtJ=P^!b%a0;CD8tfKtSwh(wuu zNT-}J)s7=zQ@u?O*K|lE_%vt{^U@7EBo#>Dz%XXyKe;64PgwcDl1hofv%Ptmzi*BM zN`XJu8RLkH<8bs*%Ix?@O`+_qX=K5#@wWm>_nLBM3Xifis@mN|Ehr?w0Pk%~!CnU& zIEQydZ11X6Y9-5hS^|yto>HvK2LfP$f)GFanI-?k*TNI0QdX1C&9Aw@;>Iv>^tY*F zyFqt#gdo1ZCbNlzl70;AnI3pD0_{N&Bz{ydAEuT66H#7cPo z!U$$aSpl3X!w)!ZT?don!A}L8u{ytLVJJ>z`QO)D8#v6r(YlIJB~TaZdjBD zgp2sbPu2m~Q@Ne)@4ez{b$ZLC^$P3qUbvJQYKQ66RRIKS8&z1``xxjQR4YraoSg7> z+NOBHlLM|FNI!L=%BZ?UjPBk6fQRu3D!T$~{%iN?>B31S*ERoZ& zT_=2n%O$Tg_U=Nf0=h-l-`&!fdn3Sp!%A?JSwCSV8A$d4*ZLn_CEKjRF}<3Kb#|5W z92assYs^fr2VI7;970+&SMhM3CPGEuGJYA>jkTzxZYJ>W2)FiG31qTOCUlfah_|6x z=4)gY4Yk4hKaa3()IR$TKdqS_s}E42|Mkq;&?NbkV0XOMKLNrbd*AwdKqfdaI9@<9 zsXnb2SGQZ8WJ$75PlW(JXHb}Zht$ejaVpv7cDDc~36~?ZK;)Gdh>8+&8u}!hFCm8Z zYd1;~fbgBzaBx{4pU_Fgw6}LI=ic%ARkNVkBpwkTop+X1;&jCbm7skGrkTVOZM7m% zF*6D|6I}MOA)v9}(lVx8IrqLyp7?6dram3K*cMN%xx&-J|VAO;^&jK7BN2O{ybn@EDpnRfdmN#Xl5cGlSBqkkim zGPjeYU1fP$vr(gnL^GkTS96xWadvmM+UUCosKnqo2)WN zRG`MyeH^F-Psej97Y#~#0K5!njV^1Mex<$dXtL7Yp-&=CgW$G7K>rr`z3(Qf{)gRd z?Tl^iEv&Ha90l52LyV4YX4VWDfWq-nW&MNu5eLuBV1I(UGB{1UsmbrMM0jP?ydSVX zVjvw&+!0G0pmL>aWZykvnyVFa>2fH_mA-$ZviC``YDN}$``=#yo#2AUNq z$QHZip_l=V>Xx;bGL2q0GG+2X-y-`qZ#X3l|EcPbG3CLQbmgj5)iQfk!vcwNtfpXN zd>NN-S3Bz7v{DjpWn-X_9Y*D(RZHy?xy_q;A-w6)AOLqK=2N(s}-g!bYIEfmunsiW- zo8nx6SFP#03=Ab&$SBO)lJO_B6eQh6p9G8H7P)AE7*?dh6q&7Vg$(PH+XFPJ4YHOM z5Leeki%jS!?{_F?3q{(1k{j%xhYK{=>?pt$ocD=$-a`)Fi^>K&UPXdez1yp}S{B=u z7YaK*g|Bo;P}w5wNugvf;)d&T`9-D6581ho3`%}!vqnQwZB#S*LmXvVhk_etx{r-_ zhLqKII!D5}GB;FwwVokIy8HJ2Y?lzp;0VQSQHNh?Vf5fKgX$rVU(<>f&fac*Q7366 zssmqFBuL369gEF;xH`TXGr9PekNowSlW%I_zPtoN8;R?xwc&{_?5luJMM5}k!uUJ3 zC6Cm)CArMCxRUDX z73hD~y?I<+GAjWyaD6JyD6+g#)-T&JkXeVT$;l8Y?>{aGpMEHbP1`$u82QpeTcYy(D4}c%ddo z51-8ShEEpqtIZ7}aVyno3Q7&OB^wpj@#!FgN5Gc5_I;C?4Nm8sK1nM%*g;W7 zzYwp-GDu<^2V_7K3XB51J9p6inv>u=lvW*WGDo2J@wXp~lxugFc?N;(DOSUjP(wwP zZIpKQ32mrDhCfxT-Eb0m=lLr=DxQ>e+qWESSFe=uk7GMI*hDHnUEX$TQgaMKeFcZx zfsKZB)-)If7eG1Zr)p6KmU%LHl&9E!u2@J<;RVkogJZiq_M-W+F~X$rxO-}qQsdN$ z5-4oHPTzMpXFK3WBXC3oXd)KCxJFFs-^qIz)n>2L*kwGB@B3pZ%$~OgRh+!Z4X2~q zL5|m8rGc2AVcl{ORsxP%q+$ zUmxQV1#`9Z#JB`UOcVbRR=mb1b!&4n2;{ysFI2#**W%{71r^n2Z-Z^I4K)k1yleUL zkI88AS`(KNbfMGM{xnuVnzs*s{=lgXo~H0B=@@OJS>!Tf3nrfAJSbY0Q^cd*$-e@- z@0DazBAjU;I)F~AfyCHO)`8PcTgizxt?oGAT=A>R7$a8Y2wVs<)BIJOR2FI}@V1w` z^4`W7rSje&B%$0_`>lWKf?SIW(&BYj2lf)9Z-665Q;K37e#KLC%JENZtrM4H}(Rxr^gS#=j_6n_!vifNN zH>!qsn@!jSpowQIQ5Q{S1&1=b7lcjvnssG3?V%}!@9&G8UW>NHe1tX>wjLKU6oCeK zY0>cXY562CWqJF6puT@HycEvSo>NXt>U8;1G9KJD(8Q}u&wBs3!%y7ZA4Ct!l_)vZ ze4+;2J5lLd&M)p;#?+F4if-s^`=EBq*!*D4(*TYo%ace{eeMZLG+z0r#@ml!77l3S zx*jaWNhCzSbSX%hN_JsLivQPZ*X9&*iexlo0}})&Xs!AV=j4^^$bl+Crx8ijfji(M zat*`p$7y|E<^KFDHKADAcmgivh3WC-K5C2h=+7m&&6@<^pTEY&YSMD15&ob65I`tHdW8Hr8R z7elz#1+n9dDwFm#xN%6_bsvZal~Q{%M)FSW&}Aj4);gX#k2Vv}yR{2@$fAi>*WJ9^`gFhBSsi;}ITLfJC1CP>A2CQPc zAK;cX$z|}?4RrByXH?)vj|apd_#f-i{uB<>Q;o(&x<01IQ-NguUHs#|)22zgAb{74 zs|0WTLXWN$1?LR{JUjn}@6)#xkz$M6mdEjDZras%;&4qLV}Hex@0R$JGcf<>1Ku>% z@*T*AD1C9%0fh)St(#4XQg0z;) zoN{+Qok9EwDd@wEfR{xIsy5h$_0);W?~qz2x#xTYtj4gBWEL8~m5UhWj5t#3JqT7G zRp8{?PKy*WPQ{UuLO03D%sWn|`|>EpoxkzrZ7cdDhH6WcK0u-g38!Jhf3k?fPSJHSLkr^zS2(U0*qEn$;cR@1DJYmEOza|2g7JOHM&X-W(-jl}(-`C+{i8Ib7{wWpSp*4hAV^Us&u*9Z8hdm~y-p7DQjx&K6 zoO8M4iE-~p&bwM!d_|p$_`X|t2bK4)Xq20*lV*Ebf2)vD+-Uc(0ZS)jULDwlwO5oh z^SwDdbL1D9J`(K%7(}Lyz3>w+$Gif>T=rWR`23A8&-tN!^y#VgiejBVNr31#l#OagkNqL5mvv;&QWkAF}~N zN67BOy{9XcL$&-GpDzh#{sQA=METNXrwDIz@WfcqHfE&a8f)?(Uc2K&9P^VBePFl? z4QjnQ^UrY&Hy9>joxCgpt zyCmnYBjP&a8B^YEj0EW#o7U#~f(Rb0Ns^Sai$lp0=&UvsWPoGNF5t1yetjx~N-q&F z_H$-ZM9}a~@F&<>+@-kCCSRig1yfrvl;Wq#?5i_@FYcIYH4g<03SX=RCZ&C*B z@dU%cS#5z4dj4?Wiz9X2p5f&ux;$2=s&Pi6w>71NU!Bg8rMO+!f>Yh%f!pK=L1qhm z;Sei~S%oD!_ zCp9Bd2Co{s_8rh4(yj4fUu)ZfH$;__Oi#8(@dNE8tZIwn>9q`W>O;p6zT7UC8h%Ih z6p8lHK|9~UmDD!g&nDNsn~H@5pgYtKE78@=6r}=t87pViO>}?QK(ki&$-(;WTM|Qo zv=>c0c$~0%@o<9swSrADJ%hN*B7IqC{ZFOHI$`Q)sd}kVd>EDcEL!URG5^kJvJg*3 z<%R`(*H=Jv z5B3y|zF=l7R3>ba3>GE_D07?8$wnH)GdG3(^D?}HN?zW6<-(HXQlEaZ64*&h*R8!v zhZzUT<&*)GL0&qaRQ`t%c8N3d+)Dt`dAP?}v!v9y=H~jYc-8jgX}ZajzEjxLQTWcg z%JAB7ujHsMJ0t1Wx((8=r+4e;UWb*>PcZG#QGU8#^Q9-Z4^i?PbBpxVSusII|g2<`7>(EhIM za-Nz*f+nBJZzs(3hBiqqB@TGzAlqzYxEY`IT%be zj=((13=5n+)TPlu;&%NR(wPxey$h%%+qPOYwoff9?Ea-XNlIbmv9Ut7f3Lt^37)7M}Fdmx{_4 z5W);XgG#(rONJ()ZU(H~&g?`UykBEN1`fvAKqd@B(X1#tSSXS;wQ|?}W9+i5 zU#QLurM+Qb0}tFu%@P$`;rO<81Xh`BT=q#WfLEeTS-Z=;j*{>2;w->1kfPVlK ziYJ@My39@b&z;m42ntA>m>G_g&Q~W`UdL>v3I$+-OMAyvd%+GcU?9`4YQXlNnDTHh zcd~Z618c%TJ`Ta|QI3YCJnysHyyC(0ngB|a#tIS|wg26cW|XWMdj@{j%Gj4eLOw# zn(88DfoE3m;2aGb$XjUmW^A(0ski`%_C;UCcHE3hTR2x3m1mVFq-_L11><(|luK;8 z@CNDk9}kx;wF%+GFkH&B+}8-q9prsftV~6^6^SFLDYv(sMWD?2f^o zEUIw^OU`|lwdJ6}9*>_HjJfC_;QGyjQ)EZ`oD$%@4~;*Y`NK5nxf*Qg%zAHi^XHVM zpT`l&?xyTf1#bT_<5o0Ta90s3<2*r{cM_X8oRLuG+r8)CpQhUD@)!e0{*HTej&$|l z6*%H(f4l0{CWJ{HJ;1@$#1Y*d4*5I0-0s#z>&o3Z{^}+#-}+b9kB<~449j(3!ta>* zn%}Cd_b-svocQjBZ``B<)$0ZW!1QXc9##wuO-TBQ~g}Hb1fkymEp71m3vnvOR+2Q zu#8gw>NB-J06O54y?~>;S{*(BrX#ABXN$#bTaFp~Q<*gJlBnN?`1u?tR-XyK$A<^W zoEp$o3`>YqhGP&WZJ-fJt7kR>s_YM~R}!0HH1N}uvQZf*^NbYyjwN?GRs2dc3Jy~! z1^XV^%}l}K1;)n8gia$_U?bs+skp$m!MA<^Bi)hUI|zCcZ2k%9$dIyCyaw_YT6maG z+JJeZnKo+RCh(HOhT@Yu2j)U0RgTMhrQ7pMAVV=FEmWmI9EGC%H;<;I};1vgl@f-2f~iScATN5gX|a*E~5~Y zidBeUJvpzGJ0vpo!Q2=|L-dD1(V8ZgS955>76HGFLVh@~ey6#7SoG=v+?f@$F?H2~4iIiz_xw zlhZTak)@bO-R^??IyhP0($Wn9q)1SS{B{7q0=lOBrp*q0=B0g*vJ_oph4@J9F&)?WumQo=OIHK3C8{R7h ze5h#A4h~WLz3X-Z)3nQafeJMBQum}0`S^VHcCxR3P(P>b7}dCt-ixp43Wsxj`T=&9 z)3pwS2Fgbd4p<~N0ZpDDuN|%sH^HOq6@pEN)#mLC_lBq8LZ|bBFiB& zv_@Ffu(U;dD#O-zKy{|n%YeR!l?*HQ!-X=d3}KgXILI4hzQ5w>ECw=k9Z1ZLw$;>8v8Qar^5LAq5S-Ylxe!`O>TQz zN8nUJf_DISW0_|_!E41JsG9vF{zcQ$37*L8pj7cRdJ%GUR?$16wp2<|rCw*lYRlGq zz6SMqSPQna*%94x;A=(4X9T|1Ym_mO>Eb6YUm-2+W6CNU9$+=Y2T($AVUr0|=poT^ zur;Qd$Qjmr8@vM?MD5@(_AD7+fUrab3I+Hl($-bYH|Zy~_OfZ@Jx`XR5q#;Ba$#QG z7@$IpHLOhpt6hpI^vEHmi!b0IF!lcO9Z9P~ibf_dYm8707q9q=mgT$p(Vnv6mj=V- z^yUbKfn=Wn<5DsxtX0igzY3!ZVXh1bW@V&9hIWIM4D-JgwGII4zSD?B|V0ZJ>D_3GbLsvjaZ*{NX7Krh9YDKuF(aa!0!1gkf5H|pk`}Bt}D~{f!g&m&57L2rqo@uP_~H*&A39;T_B#z&8H`eW2flX{X4qW2kb%y zqI3InCdhS9ah}}9Pt3GFyM|yf8AOM}HUPrGnQ-Sm<&8uHz6i}o^{$xMXE;%IFXC|6 zlx~p_MCmkYWFI7?ZF_m7Vpp3W>ddqshFuXND_xTQlnwUrLee-At z1}tYqU$9pR)G|?v8D?se29K?C|A6JdjkD6BzSR1Vui_o*z5F}0c^^594tMU`|ijF{$uCUY#>?hl@#h0{K$wQc5)0Z;K4cQYMtFU=T$ z&8zbRaiWTRJwI!lR)VbYTRm6zp9Wyt^$>uHaAE+R>{9rNtp!IaM@fv8e7(2xNTNK? z0Xd+_&sSY>mGASBsGas{zlM29bt;n_$L+;^$8xmCCZZ*hllQO)L|~Nf=e>brSh9|c z$%W3@jW!FF*8N1-8M&lR9GvyTSMZJ_$G0`h42j5@9Uj*c`&u^+rKXxZpR#P;2k{41 zYm++;#kr$|@gg0u?D91zX@Q+tRVKv}v2UA8NQB@TU>UiAbY>2xZ}d3Rq}hbYmm*eV zCpStb&ukOkF{Rj270D7ZeiYY^gWne9L>`A=#UY#M!z|$1I%m-OIix@{KXaoqC+Cb*=6X;NvgOQw@uq*=p85l&9 z(+?%@7EZhGM75;t?;wn;()q@9^5E20A^&ExxL&l;ei~WaE@c&uN1kx-cMe9VJJrDT&R zW>*LT6EFabH52r?OMDV+P5R}5IKkw|)^|KdJKT5fJxxPuK^16}EX5q-RTylt`f<-3 zzw9xdsn-J6>suf?|BNwl=QsSs zkwbT=l`w;k&1OvtZjTss+>Vq~C&;Va_^o5x$50C!yTNw_JAlW^|G7U8FRti4T(HdD{AQVY=<5i{xN!F8UKv-n8OWQqD(O9)eng*&L)- z654zmH++&2iY7{rz_=)sSl;)Q=P8vL*fFO=X(EU6em{$m-?QD;7P6<5G1*i5NPY2g zO@&IQxEOt;;#g5^uz-{y7@Y2muux{1+;QAB-xnOg9PL0+dhbhT18}&CtIKb*s9=U4 zS!!IJ*V3(&IpFM4t!O-wVsNwPkGc4a^Bv6DKAFt8NB2oakV$(x=K)5w7JaI#9??V! zhh_Y;1%EY{JCPT*`LVI4EYoU2ycQNtc2~m(B(0Lcj<2gXP>`D^^i+g(6s%~&)?h`A zE0?O?H!OnAJ1SPF!M+oI$JEMO5i1ece%Xvr;UZ^$b$fT5pyC!aiC+l>tXOHcf-2vH z<*X0POZu1?ZEWjp|8pVbMt^9P*iU#{Ch)T@E4zUXOWWP4?sb;pjag`818M`~fy6nBJeKFM0e827B>57TR51P%?|1eod`ckwa8 zzoi=Xo5>YXLsBKll7)=RV}blPu5uMP&^B&tF4sXEl0^>@4|^U;2x}QM0k>286H>l+ zS7vf5X8X*eUo7!g+JALrwSd;*hT=vvnf^oC-K8=j55SwKBq278ydf!6gN zBL2kH))?2POqJx8Y)b**~n=ct?zL1c#C2QVcZAa z@jGFB`!p3Hc+TRijEuOQT>)I+5Tgij$ici@<7&Mpz zBW&OFeXI$UQKjM0S?nM+`+Qq@j98Za38+0UWp2D1>tI^K`2DyBLB@r(MRZaQS_10` zdAAoH$a?vd`HyRDcIpr02tX_!Zj3Fqwh@Q*&&NMO=)Er{gn!-4h2ceg!E_z} zudau-qE~4n6g8D!t`G#1m4FDA3>&eVdyefTNxEo;ZXg?Jdz(6n{Vq=1YW$u$Hj}kAH#uwSg-h!ie>}dvqz~A?j5fPsM80mvcpS$=B!AMr*kzG+Z&zP8$FiW#Gat7wrKUf(Im%$cZw)W3~)sC`y&PIR2ixC;({hnwA zvS!L&G$n!b`lvbcE&#*V|68wAz_e0c^8&}XvQ?Va{^1^*45=GFP>_Z%Qe_Jy`|4x4 zXWP+fIBys`mBObMv3b&WudNcvJ`6 zAY?<9;RO@K7H_u&{jM>PaZmpalr-FgZ4n9E+)z$tm3^H0jwz?5$C8;E*q94q00_9E z&oJEkf{@u_^T%CWfy-3Z|Co#cfqs-nIM)(x?-aWWO~B8xO>wn+^x-dDq*u`46csOl z-OSAD#(>zGp*Yy6#F}eP^m||px=%0z)8ASoBgwmL0a*f5+pxz-{h-Hfgq00JA>$2E z_L|UC^uCx8^%C@0gj9MGWFh%SrTnYl-NMPy=&@#*%_Y!zw2`P0S14v$n5FjWTkE(P z@nd$53(F%+&$?&_G<8>OEkZASy>IR6NFpWLk!CN;eEVW@V~W5PQ`q?ZXQL^w6Z2{F zapL#n952YE*VF;n2>IK&_naX=V|iCWajSSRet~xxZkt`UbLj|qJe~W^CTgyy^ykfG9$^* zO<@tUojRHC1akPb;#Ms8lfxzRXK+k1Xp#3nIIs?+x@b0U$dA)4oTp5>KK9Gh@63t zp)pE`zRssFz}fegUoo`0LE#j2ooFPwkQ65#F_1c77I=N5E02HE))kSap)Y^g!M5nK zI!j+lnOBXQn$xv(cZP4fAq6YyhP@$*g9>P}i{CF2BsL7-T&MqhWD!eyw?w_sEXEv# zPu9aGu<%b@m-w~%b6wyj#b2)G-dEPK@IFL?Fai#ls(zJ>3Mm1v$2Pa2-RRjN#opO0 z6f<8JUPX68Ws)7Oq-(uuP*gfv;SaIe$(4SJXt~?xC;|nHcCR(!4{WA9m`CCC)#D_E_QEG|cliy!LthTIRsJlUrf;UD(P{r)h5W z3<8fsSD7tYR{nwQZ_e`nKdPMA#$}Dk*)jN@FA|0?$KHWf+oF=~=<5meq#_|~hJY(H z+-SAl71{y*#a0h;K7G?oT0E(Macp_HRtePg`*zXb(~`A>@~?rz9Tn!rc*G{*8~B>| z|CcMW!tnKNc-hoLeHYykT6<`<>9P&V34nyrEVZgs)SLm@wWFW*)H5Ii-4j~%_Ayd( zD2SI2{!$C5eN;;4%sj{4d%XD&-b@F7Ay3)(8;W$48JF!JFA?X~u2&(&7qogh%!}2} zJUDCo1lC@_ruAwPrHHQ$!eS(+>0xkbu)P|!@Sss&O#m|2HH+&8Zl~+iy<=(Tn@rAL zt%t(?3Ve0f|J;z$a{{RSJ8A_gWXS?_{g&>&Rj2_}o?zm-*SSbu)ePSNp<5lQ#iJm?O z0aNb$-M<|((D)ZmqsORknaZ%hc*oVATk}`wxAs9;CT4DCUYt4WQ6=uT1?eMB48J{};Yj{}z!GqK5WbgR3op&c5Sbm1Q6 z{KuEOX$z?hjY}TP6Bi7-*`s_cI0Tpm2#7%vf*E#fvdUP@A8M8ks|i0+GuW-jd0qzP z>Q`LtgGvY>ip{1x5BGYI!l@;1_0u4L>CkLIBc^AAadw?g*VAP>0yXUGP#>uVa)?7& zwLl$w!WjT|2)oWSHP2K3;v^CAANR~rd74Gh>Lwu?2%dYf;Rz(Tc<+v1PH+n>$(@HB zDbbhf80<}$OQ%q1I$~ZN7_anAQVQ@qxJqW&y9@G&KWS1Q774Bb^=t=;*$6{xSFur9C*)JYG&ZrPl&cPWfo71nYC?VYq(teMx=Rtc1Gi3*)z!g4yz#V5AEsUqD zJ&^dnX7}4fDPx-L07+Zs`hv4%M41%#oMMA@ctlsTF=ngxj9pmr9g8W2R}m++`Lw-^ z_HS0q?b3JMo;r%J;h!D#5uG`I;#%@7i8zVsb#Gs@JCJsWgw-yCJ{zl=ct>o;zok1_H-L}ihwP0>a*KZ5n^yAjWElq6AG%i=63iF zY->k588-mLt-+GC<4A3h((7S}a0trN+~pwQ1f$n!a}?bB%3}f#ANp6r;SQ&rYo+UL z9k69I!%s#>DMDv%ExHu+LZ~jx0+3(ZU^8RRdCtA93CI5E@5hjZF7!2yCZ6 zXa`Ds_hXokZbjM>y$DRnG{;6k>^Tklj{0MVsG&-NL}l0ANz>2$$BC{5b3ZgHYeDon z(r7`UZy#JuH+8yBC4<$nxKRRP84tJ>A@Rw?6XVcxy?&Hu8B9Jh(IhF5=flO4P^68A zcC1cSg)On~gYo$Z{JqZxp>6qs5l@%t@eszM$+*Msh}zsZ*^xim#hmG3cNJ&4z~Q}I z;FW#7b9|2IPKO(eQ+>GkMU)|oAFeNQo5IQzps^hW2vI4!1Uc1zjhxgJzDnyEZ%6Q0V`^+B>xAg!~mByRr9$vx=mPe<2<$JuVwN{;`7I!<3y z2-a_V#zQD^)0<)x@Ws-~V6vDMPf}U!a{GgY)$8daU@^!>ZzV)kr@iOjv@`?K?PEDa zh-`5qv-Z&AQ zde>u6!a;hc|A(g2=jqT=#*}VKBc!b(;eW!()014t9evh5z{Y;4pVRo}`!pg$){C2< z&tDD=MXlgbZM_WIISAEFpW8j+IZ}}15Eqi2%Qeaql}tMOO#xCBQepWU;VDYl2{(*> ztNziI(O?;NtTK_q?P`5&DH*&*?R0jh)pvNUag^UAv(;zdrFqCQ81l_NzY-VHjWG^T zgl9+My>H2q6&t?^yXX31niCb$)zjzgd|P9w1zPvCE0B^7BFMC^{Y=jyFA=zM^Rf zHc5WcEkQOM2)JTBD}H9 zOGti!E9hXKF%83+Uc)9f18ceQ<%w1!HSYn%mC*FBR7#Jj*CJ;FjG!tu87y;K_+23R zI%UZCKjMtvqui>!%=R<3rX)DxV;|5~KvGdR*c$vDQinu9g-q*Q(`t|965j{>miW0( zIy|-pUw@Q?S@xFAdq<|D_uQI{wEk$@_CU`5eF@bEC)4YRiW*=!tXhT_j0uv73?e?W zPEe>_8pWf+<`qA|Nvq-d?|9mm)~Jx;&DljxbWxUG?x&ae{9K|nv))XTr-2A$yQd;< z5T6#JE5-!+tEE+3jU93}O5`uum#5-lpVT0FP$MHolL)|eBGceczZ%w6<`5p(W7fz5TK-JSnayEAM{dGT0j)mqL^$MmD56(*d z#(KxiRH~Gb#_$O+5(e|n=a%TIR`1RCeHUx=*^W{WS$2m^a(#2xcFf@#zxJ#;nm9UE z)A^7m_6ji5yv>D5&6_KPaCa7;FoE<&_R3e#kt$A{+OKhp!#$XkfJxqEGU=-V4SruK#B}sekMvD#7>8~o??Upj$|0@u2Kius!sb5 z=P9$9BcV$^0b+${G;P;t`NM=PUAx{lUN=6sVuCNnfCp^sBe zi}`C}+#~600FfdEd|xNpCDZAA#NF{s?9f#d2;JKxbm!yCvhIqJA!@0U1tz|hlVx0j zhZ=v4+1mUB*zV=4kGh?ZBPGSlO))exF*8do30#g3pV##@;*>WGG*(1D-b^K!1TDz3-){pt5LMg2p zzwQ}zo%LNetfY5ma8aFQPhuIf6Pt+gp&w^%`!suU{z$6e^>`q7737y%eN>>GJJ7ikAY5u-5 z@pUxnndN*u-qH>fwQQf|6Y;dAX>A^q0B9$XKMXu0hr5zZ+@xuyZj!L&ierO6gv6h5 zK7 z^192J^+(0{j;XYul*m!+m{*krM%_46Tz{Hgrp;MVFmN6DgGe2&D`t6uaL-)RB*tc& z+ge#{MP3Q1#U`dCSdh_ZWa_qT7Mr3<4!D$za%>|A4S1cYWC%i!(_Yce-M(&Kh0>oA z8r?WUSUa8)`)a38a>qyeZ+jMTA@;+e3;Q9=+jvo@9KVdiN2#-X0LfZBM+->F7?=Bf zntgA=fZwYRSsL$?Uv(v&dJih`(_!B$rLNPo>HcI@I3@2?jYwCj%z$eNN!Vsn6YsA@g@QR-EXvyLa&-4JfJ)c;lp@O7$g>^JdzRXj z8QffrA%P;5VRAr9q!|jvH^?HuzQUjIdMb#tjaj4XS!G68#ePK*G2vy z-m)5W8SV|hq370U+9b!Xx_S?%_Q%Cgg&oO2)bM3&O^tc@OGJ6L&aC!CH5%X2sJkU5 zx!Sn;#4y0%h&%U9R9O3u8g>t=m6%n0$ttYaBj14Io0Fj=Rk*)SILCE!)5i?9pl~V< zYd6%7N(<)?WFfef=`q!5{}j3EE@M~GO)jPn%Q(b zi9%Vt0@k%u|BkR#zE$)|N`W!CA!#j6u#Gw#?SZj5(T->6ytBNV;7`mH?4-io**=FV zilp=trKvdTVqWd6S{$tPF)WEX90R{6ZNLPb%GbTfT<`f2=Pq8(!^7DQB%8lz9W9#L zqG|Os^1epJ+9KPRi=q>hJEWg zX>P@@p<(y$)MLnLYbCn9rd&S}wmUgVw&YrdAv{iIFK87% z-`dUS1-x^K7cW7+TLqJm-}7&G;=+%+L64&LLry6!g#??9Txz0B2`^)aY@RAfRGaws zAJio~$K~0fYcxKx*G^sY9~<5lOgrOS%i*hO?lHK6GwWJPQQ3mdHpym&-;RO1K1 zS+L?jQs<}p?(Fit-0~O2vmmS6Q$e?;OpAl4;-f`we>TbCL~kw`cqIp)>wr%p2~+`f zae$Ou;q795$J7K1stA<~u(#PM%b@S1^7-MV04oopATIdq-}#N^)i=98=r`87Sqh~fr+65|N%Y2yF$x-pn>9J_ zklNn9w#+O?dG}yv)A3#f#S518@;Fxc6lut{PgI&${M<&>f*-`{(~vmo(ieOO)t}PQ zb&Rv`l;XOPTB}()~4C7hyX-Y#3Z`YR){b3v#Gp)j(*x9E7-amI@jvpRf{&A7gtVV22Zs?gWzHk|n$R*NkfKF-7Os88J0C^!K*RixL=3lO5=$ zLF8c~VvM^bg*T=exacmaO#Z0RJE7cf!VmExm(P&;t=l-32(noD&Qt|ba&dn^wi4qT zEF4$geE*#gVqZKs*o?o8&>(bu63`gU!jYMi}8~ zYZcWALeTO59o&rTlp6XY$E?C0s%u2~;R)H}Yv`0Jf+h2kyAIFmzCSvHFjc^@$5IJxdqY>5{w-*;tx~1Na)_2*+thg+4Hn!E+MCGjQHpqMjAyy zcNxPBS{*lrc*nB!6Qr|vA$F6eLKSq3Gb*A^!31W~V8BFZnlX?8XKRr--8>?*PK{)| zO`_uO$ePYd&A01WnJRIHn1h=PEO>L767l1oMo|2CdqEn7AC5Y#S}6=Iy`NxOc_LQj zi6qK3VcVI{Ks0i+};QItAcC$<}w~iS*_}YT8VJknypj< zy2--X?4Y8vi(+9Nn^Nuk3gNZ-uz5c-$2VcsKyWTVPtLHx5WV1A9ZV z^p5J|LA5HCP;qUJpiygAPAAzxp+gq%`?M3`ea|%3C6kPCdGbbQHDMLwHc~o(vzYoj zHW1_2N01CmM_X3KG5nnzwm|x+(qKHJ8Se~E?s{LdWPCo0t5zjM0pi@*0900x!_`M? z=&@HVfVlV1J*xt0$j2()kS2F&Tyk@RnGjitwSvW>xe0@N5zr7e0*4D$K_y*oT zCJL&(eb*G9OJul#?2$sI>xrI1;X6D8?!sa%S;hF^TS{2b+}}TW8{ZP=1=4c(GBxr* znSUFQznolsai_Hz&-oP2Xfwd3lp>BV%%$RKgvZ*QD&q?^$>*kQf_tU`nm4q)qYBG5 z1{Xp<4VoI;a38@^7}qI`zdb_+vK;mftdE$)#6+6NBq#|_a@EGmkE>urAWdU;Wk!-7 zfx~$+2yE>sbtT~OS&Jx|mKfDIq7rsYEO4FfD4ow6QC9oZZ!eRy!O88CpAKH=+PF=o zLJhKL{1m?ybjJ7N+Z|HjH6U0O2lJTxax-wHxWSGGIuIo=!HyBc!2*7t)K0jLM@`<; zP9|Gz=Bxuf_YUXmhl;{m0G#K}5d7d^PCKkLH+IP5)NROhMdI|;0o*Pl1Vp8CiY9WO z!LrIn>NA+ypN&o`Vi?Z(l49mMwX>Y?x^yTZv+R9hNHAWB$gFNZ82?$;+VLN%pN3hd zOygP=*%+8*b)|#eQSLrZN7LBMY*D1g_Qq84+ z51qv{VyTZ77g_@nH;*%9=y%xi{*+hUZTAPnc>ffHRX8nAo_7L&a7+{%P||#{Eq>?( z_2P`jPn>-gFEo-Tr9F}8lgqeD8L@t?Qd(5)tLrY6$Fz}aU=*-K)lpZ-7aBlTaz5q< zRk5-%$QA2Y`v{~i_-W^9zxFCJExY8a}@ zWUP7sG0{`pJ%f56bW=?e)EtK}1iJZy$-6~?FKr?*R`*5?^0bn+e4w}6(!W=ME8Fch%3D793rUV7Q z@+Twf+?i{(SX${kVd3oH72#6M_ZtBw`74Ym-VP`wZj>*h z+7?zT2D(?}k0iacT%R%;tk^P1n?aPeVuk72Vt0K!oyFPg^3VR3@l-T@+blvR`Y_u> zp*|9G{jurcWCN3lUv6w9G-){SwSNGYz_dH7C>u$j284?0YEGOg;v;&S^SlGR`lrX# zL=>`TE!TQV+hZRLmsbP@>oUrbL+)RXN~=Vp1|&lGLF1Xfe*MwMk>}OO4N+Qo#mxb! z$+S3Cbo=g~>egj2#i%ug1RNPRP~EG-{f}VU(P@m#x|tV%e4i#oOrcz}D-C7|^-X4# zRipQ3fFbj?L7%TQg&!TQV(I;wSeOOl1ZTg&Bm!9C40R6E4zMXnQC4Vfip zUc6)L!wAtY1-23IQgUn#oZ1(s@#CUmNTBmzpl6E>mUq`suBjR2o-YJ5Nv$-o?ph@y zICZH2wqU=S-s_R3Ic7o=rzW>8qEejh+Y?C|ACT^9<7|ldj;L=&M7*p`Ja+8cw~8>i zt+wIL;yQhpm`~NpVOkstPn;*OU(`jXW^T`Nko$O7gw-yvM!Lim%?O+sv9_rV#hP^4 z+?=K$TkWD>t#`bfSwr=4`75A(JRH>g6IB21m82<$9DU68RbmRKVOO*0HJ7`KUQ+US z=3Ls(GeIoY&qQCl%p}gVz6$UT6We^CPMy zT&f)dxN)uvAS0KwO_ZNA3`B0jFKM>u4Q7*His<;26Ss#F5Vf&5kYB*u8sAB2bmt1w zGF}B(L$h08QSKWXIkP`I2#kCe)B1{MQhnS_wTuIlZEQdpeAKdvR&6J!CvW}mee z**ohbxV#_mbjI6Gg`K8oq;?@t*Vgvo>$XH*_t^YxU$I_mXxFEhrwPKSSR z)ZxcW(gVV~R{utrQ&A}=gG0XpY(=)XmO94+jwC<$xHranO_|&|(Fd|7hUY!O)|=ay zK;BkR$cf=&EulcRmdr01=F}-yChSi4$#6ZYN?8*RH3sS}>U#r89r6GgGyZdzoAAIh z$PKo9DxtKPbfPYqQ{u3*J0_R&9?xUOAxF=Q0bLy*6r&QV97haR>C@eGIwV()k~ z1*=PxOXi?xojF(H5MSe|n+w#ubu$JBo3OaD0Sou~DE>7r;L{O;@n4G+xKTy%&8Z%8O%7F>QBf7Hc4sidvA>CaUZyRNT=x8iB2iA&5& zb#G5W2!(UmXVEyAC?@^QxZ;>N&~RD(hn%wCa@l?1OFqRt70=$|DYtM>oq8d;a!qoY z8wNh{(Kwi-f(0Mhwt_BrIOJ_&5^bDa&G8DvI{mO^QB+N!<@&a$hu8ebW6(|apRYk{0d3Kn0;(kL`l%cTyS0>$FD_#V9?)_?;(?7p8W< zU&8r+%#~Y6Ev81i+=^R6G@lW~B5hHzL8q8qj`9f-dlE^hDi8b)K31+SBVqjQh?j3) zTLDHXM;i)W&8L!e+4L*p=3X53_9s}UYg|Pwfw55boh9}Ut~pQ9a=6-fBQ$&xFcnnu zWx2!=L)&gUeAxt&YctB>pFJo%s5@ zq&Ux$L9d?Iv+ym{TiG zVWh?Q`B=akatJyDq9d-#c~EQ)mnGT0eYqJdRvtjQDc}6Ho4MPO1DTlMT%upqMCMhU_tC9G3j%UT~WTdT|E& zhF$*_oUwgYX~PyHx&s%w#~TJ=I-AM91H2Ep7MC>lBe!K4hPr%j;jleQ`}7ORVCQ7W1F~*S@_j~kZGyh z7&Fn2p`!l@kym6}3+$FcG5+L{-i^Y!a*cee#wnDBV7kP%zQ=#DVmR>)*zK2HR&Z@F$@5@i(gF#Ugb#c`WwFM%+EXQ`~FuU8JpN zJb$9c-cE8{HOqMG_*A3NcYWYX6vELTit;q@f=Mm<0Le>FIJD@KrWQ`dgJ=c`cwhU% zT{D)l%sLR_ZdaiD)zfs;R>!wdl)`KC`K$R@u3+rOfP%i%@Ee7}z}WaxRoE=~#1u9j zSs9)>mG?C|ZjA}QkuLFXMC$G7hfIwUo*UrBUA?~?#YG6eW>X#HiOXh+Uc0msY*wgI zeKm25waB&a_<-Xns$O@CTzR7X^P=d0&)-~U7|z;KjB|E2UfKhsIuSoE)4+Na&)XLG zyFlMx?wSg!t-h~rVF^{zC7Bt%9FuCSkZvh0_SQgXi?xDvv7pvp1Z!OYkrJz6hvEsUs>=#w3UZ< zC5+hBc?ww!>&X-XLFhb9=Ex7rRfcy{RK9p(JnJ~}>*96kJEXP?zw({4XYjOqz9V;~ z;nU6e7ADc4f#)Wk)#lX8pPwa9X9q*!GYz2q>w;5kZJv5Hq9uQ*%OApupXDZ`jp!Yp=$nv}@4uoX`eVe@aJiUhWOX=1c^+Bx3a z?h;d_%eVl@Z%H2D_7bY9o-t!8)~Im%PugN_nXt|<*hE`5XKDx|n_Jw!!)vgq3mRn< zd$<-p_pN+&t}+;K1u;>>H5@EeZ8KPB_XegT?pj?p`D|<-6beE)nzGm>A|<|R*3Vy6 z7@)D70ndG)sX0gpa`Cnu`VJs;2=1RKZW>%Sl7;+oz9_IQoPNM{E^~b;ey1c6sMC@l zCS}uE&1@Bm!$ z1=CdiuSTHEaZ67MucD{cWCjv{oE(H;+*Vi}q)#U)wNGjMT9dct*?NQ~^7Mh_E4KI# zT5Pwxx9@O~>#0`$QD~QFL8{wERqS@`COXkA@Dmv)TmECCqT(PfNBPoVRZQ&&iA#A2 zF=9L#ZkV`H<50FcOXnLQo~QB3ye-!3-DbD}PuAA}laHDv%;oJ9P`$K&Q}bG6EqRMb zdCk1lTrdIjIi-{ZoydB0=(}D2HLic_Zo2H+*i(WL{s4L^n8tv+pi&~wIkFxKw|pfd z;bcmj_!;B$z!8h`)JNMVu%4&VX3=>ccpR=5i~Ai(?vb=nG@2i#uuJQnW`E=+(&LkU z{=0RV?U6Lqo)!04M=sNbBK{nx^ye>I7^7)$iT!}9%#JQ?l6BiyZJmxKJmRn|6C9}^ z89zZ^PGN^#W3xFB4;>SVlxnEacTigoN*Nsbb(uhwC!Cu!rX*Fhb~bB4_z7zyjl2HT zWCd>Zyr*P0TqYUy1X?dX^e;`g9$Yg5xnNdCn>fMqGhaxhYP~<2=t)f{u&D|!6rkx3Rv&RcfDV4ya71eR?)W+jO4*V24x( zp4_lYGRunMcSyZ05xMe|%!uO%k*=*X^Q;O5;#5Zjg3oxh&ey{zOg#FcOIJMi5Xx8*CU*`Aj25-!2@d(edOY%f!(^g9x`18Oht z_^+u+TU$BnRG5-74fV)oi0!P|#7`Lg#W&*~DcUVW+Vh^5EVNvX1b&Cu$GYNJLTw+9 zCkq@<4B8wS{qm*u!OGOt79@*oT8cD=Ui2E+_UC z+!X^4PSqX>et>0mp0JOQ&qIzY<7Oy8w?2$h>Ez>U>IX_kRu`scaczfDr7`m}K$$N` z(p;(H4)a3hvjKSE%26ysl0iP34n!Q^-_?ANtz9~uZ@JIHSDF$=(l^L}a8~wg(3vmG zU65Cy;wM}20?ELr^sK0sFGuG)p8oFI&QgAY6a0h^GOmdA9_eap8Mj1sIXp%TN4$<( zrF!q5MARNj;qnD#fPxkqvKrzCHAHJSJK*8HvPk!2L398gQua9-~3O5UDyJL3PIxkvkT z&4PpPfSMb@C8p&mmG<27Nl91FOkX~P%Ft*X5i3qOuonb zxrgU$0juiFhNVv1U;y;?P#SH>UG-d#NR;e!g zrVuQK+a%F%!fM}sWESpVT7Q22M>URY@MJV1O^LaiqANYoqUmq5m*eZxr?%;!RJpI@ z@Dt|P$D};)4)5&8N*dqEKy>jOZ~(L`@>t~*`aGTk`Kl*PpM3K!In;22Mnz<(v3wX@ z^+;+@ON_!nUKyQ-u@qz{8=2+}qL6`~C91MHL~jR(VJd_tK+=1-Qvk4hU$+XTU1#E4 zs(GCFUUD2*XWcubD`sEAruk!AgeDeik|P&lPQCyIC_d?wzT@hf!sdc0Ie1IMndwCK zr2%ybu!JEF3vkQF%&JYYk^JPGc1@pw`pwU(5|5k~P^9JfP9UkR_9a)Khbc~LUxKOE z1l|yj&PEDK6A*iEP%-}+NEBBCN-87LJ}p`?2Xapg3ofnvlXj?@2j;fi3ql;3?dM2% z&5VpeH>^ft7Crt^6GTndTTFJE<4Sl(&{y+ScyH-=4vd;KK=U*O6^?3h=+ma>T#b{3 zFUVqKV!1|}1X+Qz>^SasOf4nVR(O}itzM)}kli*4i5NuL=XnYtIhIgc%QP__<7|SU zxVQ3Rnw76a)MDyE9UoSJ+i_srS{))tNo|Hm9BoukOndtT0(#C0u_qtosIS_|{!z*3 zA$6z#1Wb(w%4Cxam}OsQFGVzcA_hZGCBBI`BF9a!P*&cT2}}ig=9-ZI)HpQ5`xk1U zhj-@!;ZN{zyul}oEZuD{+B|KS?uvwYvdu9fFXFO!KPDDEr+Wj`EJ5Srhvn4b$i1Gd z*Oz1_n`^t0^eQ9&3=Ow*Y0+e?wOvLu$y`z}8XpCzfWP}M0R0Z9^#E7H2+Homl(=Pg z8KtQUeG3P>W>0zXd1Jfj9bHC5*OcVpgE~xZM_@huYQpxgIz0DEzrt%kHcvByYf71u zTqo4EWuRZvHi^}U&QKSZ)UViFwGW zZ;OLACakjoK+=?d_x>bdA~gAXy~FESyD>239@|&otjOKjTDHYLk>jN}GpBE8TH%1#)a{~z~{W@SaQ=4hU|BNBfgp?*#vlX1)DB^^-=<)Mk4*3`tY*f%-oYH4**mYE?H8 z7-dC{@szet8q%~Rb0}?dw24I;kNY;JsJ%Ro64yLvnwtHD^8qRmsls;&?*MzX+k7tL z44c59h@y7FvHh|t95n83EgS5}$3U1LGK_Yrp7irM{KU{-TO{s%mrwT?(j*vF$E0J1 zxY|5@Bd&#%eh*0GMQlRMt27FpP6jum$=Bu`k;Wy_8?Rln*kwUBrPt_hli4vKRCKzZ zV+MCS2_unh9a{dgzZ~oO5YTn_wS>rDgJ_(mqbT6+yDzm z>`66K_;WumI^UCF6Nbb4hrwMBXK&G{>P8dzoV?EB{ZO7=4`7GV1Z0d;$fQ|=BVxp` z_AL)Qi|d6$iGus3XO{q>9}`USC%&TvNCv+Sw*t$U$L>sG9;J6_!deDuHm+ld9=G?p zjN)V)==e%4^ZC9?ZUK1KAe(gXRFj3fM^8H$%K;JB7!wF%J+F$emAxow1214&FYS? z2iTo12hxxBmfhd|Qpqkb{*A;yp=Yzdv+Z?9uf?dFZ2o+G8g_qgDHKfYc|eNZ+brV+ zcW*^m>?sK1u3MLBZ;)81*cNalPT)1!YFk1x z)KsRQO{wTJaA;<6r8uWCACes!Z;p54r1l+Q^$FGd4(sY+H6Tiw7O<##$3w{T*hKHr zz>Q7S+clwN991?S3nhM`@z!ed;`tF8X;HPgazv#p9`$>?7t`kkF>!!Lyj>GG#auR1 zqQd#?q9X3gBvv|7COjtZ<%Ifbd?ORrl58Kp%rx)c5el}8ZaDOn!>yXJgTVPg+SS5sLWX-K+{qfk0UyK&#+cu0&8 z^8gZZo&QHVD5X_RN!dJ(s<%&nP(m*M#w3bA+({`mSvYowp}h|Uqh-2$F^@~xx?w** z{#g++!*+~6f%Svk^#yH#ljZ1RI<|4L`Ao(dNpN}d`Be!%US~WZlB&Bh@F{#?ib;Ii zc83x2VhVCvS?u^ab+ZP%EXNCE2^pWqb{-{^-+=^a+PSYTS>gRmNN zF>}UFS2`<D1kvA^FmzBzV81PMazvX*&d`lUvMYX%`X>~jkJxm z_B`}1T51n+T9F{}SdPZ2#>ViubLqdnrD}Ury{Ft-#@?4nhBh<2HbQBuy?1xgF5Dz; zGXjx#u+Bhz$FFo@Ha7R4-M8Y|`zO|hCbDRp$PL2Q&9}j>S@OVs?@Ws0in#83MUxfA zJ+q@c_IqV6p72+9p(KxvC0B1%M7K=G098kIhXT&PeILmMaSqYo3`-kTH~YMijZpK6 zXFbe95G}nv>==3=XKO7XTMDtBO~D7KPery72BOusnRu*vZ!OQE(X7uO2 zp*r1{O&_Jg=Air&jfF{73cp>$Qb@pO{j4Jir>yOGXJu^I)0gXWZn{0j@)007n58iZ z;k>cEANTAIo}<{*ow+L$vVoeRE;)Y?;CDo=LdvbYh;MV==&;F;iolrzI_pvNJK(!q z@`5;vy77=CULyX^~Xd*&8V)NokGq=VoMT|%Ry&z#b2S;3Na?Fq<+g!Ck`p-r z8}-4w|9nurJ=t5`&2p`}XDisl$-(bnk+M&QXeDjaFf~#-z{iOInSfS0l{1RFcrBwV zf5+9!fyTt#7~UsmUq~{{g#4&4cGStOM-Z_E^I+rjNvP`FHrr6Qv|g$cL7H|7!cU*% z5JlMECPjFW*~`#h;B!io-U)@Tm5LE)@o@|7D6-Q2df+V_%lpCk^`aFmTmj|LCDwMEw(N*l!fKry8aOk?76El`?xX@v*ba{0|73*#~j) zrJl=|xO|HyKC>1LIb9pxfohA=p!$zuLg!PTE&5U#85@U1oxe{S#AF2bkt-N|f4W`w zcv8y%qGkfnpA^6wp=5J?L`d}@;cbb~K96h4p0Gw3jhW?q)IQW)1NphHf^dwn&^xwX zwKQrbHUDm$W3fRE_WP%4ZgFHEe0HDPpU5^&-6@M7I1#q9FXxx;;2lvr<&BvcUs+^z zb7%b15@2PA(yv5~N!ZpTQ+?Yc8nLeF7D5q{iXDn)w5}TqklKzv0J1ZGsuA=Mb8C>r z(2URLej^e~uAZ+-Gpu^PXsv#{@o7|!^9 zy~$TOG=vl!U4!w|BcpG_2IQogGF=z2lfSN;{N4nO-YNr{p;97ItO^3T!WAaZ;emZr-zV(9TkuPihSv#^~ib;(-@i3WAx@W zehAW&?(iMo|6+4pPIy|JOe%qt*?s$*G+p9!W4TuT>%H}7rHv*&sOQWRVxCYD$Zj`P z?aN9$x9$%eMTN**bLkG*V=aS>NK)tTT^(1GaH=ToKJpV?%bG{`OtbBV&UbRH$_N}5 z;gI|xKlr*zsFZCtYaYojj14CGT+0{30Ppp^&+i~(qLQ_`J{v}(FP^GM_NKwA;kcu6 zm?$h}@pb~ma#`Mju5|h`1nm)(9#K27$=eTB_l4v!ZSE5*$_bvb&XQWRv2~fHo+3R$ z?s=rcQ3;Jl_{myTSiR9}RLlbnMKiYN(M_%n0I&znYsYuR(>|)*zNYR166PC9nSycY zZ*!mtVJn*sEi~87bP=Qg9tH7s3+Fd*N?inpc#gLOHski+y;_e~X}Wq%*DC(ukqr+n zO|DOwwmYK?QVL+X!_$Vfa1HzMC8RM{GSA;J|(ZH4dA zSDJZpu!5@x+|CTRm{45qI>S_SIqd7(fwX0t(Zn-^O*zWRB7ETW*^VoyJ_Z&QlkHA4 z{+B~c_iff1*|2}l4p|`o=f$cP^hqWG5sgzz>*xVmI(%yi6xQ-+t)vK`xf?d%=zBEt7+1kp$g zjK#)(a;j3b+cwVlNsa#0m(tw)@K)>LlvXUA%HP<#4gLh9Oy4~7KDY>;-YAaHHLIEK z6x;?UJUKQd;~u{`+Jp2fl5$7Wa(B1D~i%D>a?r@-X-j8II_>Pve}!9jtfb@W$ue8a8)gt#u+pQc{UTw!(?KQ!A`Q&NPhCv4PqB6`!ekE&+- zYF8B0*}pnccmt%3JN%D6+UGPB^8>*K!($?2Bb>+O;RDb(?-Zj>>r0IV@#gLYCaplN`P^&M{2XexC-$dL85J*!=Jdy@w8wL`3%A}g@th`GMz&#jc2)ya zX?ZJS^bxIr`R(S0P20>sq+m+3`bm(B+h!lYPh{=B6&3SDEW_@JOs_iWEemZm?)<_{ zVgnr3L1w#2U&&f>e4(|~R$qjNT|lRHs%wLy2yy)w-Lt%$#Ht&DJ8qWI;&Ut46+ZiY zq4fDm^rk~IkZu&UnRx*R5aKe1&pWn0HmQAV;?jFs-a8gsq`}K2WGRk}ZyB|dY=?&o zPuwEAJGWGPuM8vk4rgzf8%8E_k*6z`K<{K%VSev)4)Y2R$=(^lzE_FfJ(JAyoWz9U z!2^E$a8SNOY8gO`OqP;9P-q6a6RQ_}*JYlcv^v{ihAJXW(FLKvV{zYjJaImJ1A9yz zLEi|O*Gm#KXO*K5HuX;4hJ1wQ?jr9@Pu6Mc(MN<;~|S7+aW<$iNC%ax7@(LTT5c* zADGVyX=92*65pZamI|)iq>^1#7QB$Px3E>1vOROvIM&%@i!~PXy-b3mXoK)b^vCjr zCTxMU?;koQz0f2Wi)P~3RLQB+7=xQwA#N%Ko_bQRf;{65HZv*o==KjhgQD5{xqjw( zrYZy4`P`>kb|e4Je3Ojau%R>m1YDm~Q48yfNo$I!z!JZ2`x;p)u-==9k1438dvZ4u zYDa*QH>qEq%ASX?w3JPOHC7}Eu+$*(T+L%pJgFu)@y4%^el zK5VCYc;bEuiZL$0X4(nZ4FD>h(V;WrxX+RZcd(4by%wv$mK7A`l9`>=P*<7+fnC zOEuO^z5;&5m0MitbD^Vor^Aut@mji$>^=dkF8WOg|y?heMh!n*WW4EJ@5`vKUj7>sVDF>{(Xen-?wkhHd1nT6VJ{-&(5j#5qk0V>2xLzWEh#Ce96 z$(e$GcqGLK?W_7)lL6x1QPuvPeY;#rh1Ic1jg{u!Y=y7Wl)o#aR7dzyVb{e~Q6eQ~ zA9MZ0bhVh2wFM5cX(lN3dK{Aiv(UGz6Pl8w+OO@gx~x6BPkzynrDzYP6(yn-W7hKy z?dqXPs|x+A$9DcIZW=G4DnBf7si0id|K}5uqgy@GL2~um=npv7KxJDXP}uW*nlvN< z>GZ&1)jyt-xvk_6pCq?2B6SAjj(+PgOm0q9P|iPMxp|nt>pPm-vSMo4T0>)V!6047 zw;F%hgPYi-QhPY~L5fHb(%}<8rt%Z=Bz}FJKt4=K;6+=X@Q$v%v(#qXIQ^OKewGx? zS|$~6I1O%NUAm9wI%XwlU7P`y80QbfuB1<_j(7)jwupETxG$&4Cy_-5C-8wH#Lw3N zWvkPIj`AYXRK0N){A-9Hu5P{51cBCBl_P!}k|x9IV~%fMTT+n2B`?J^S$RpP50c~2 z?2}U3fnR{#{5tEdq1w>%R!&q5P)C>k6HQCy&@Oj$(41-}*NW;xbao+=VBjVZ?B_J@ zum_%5UtITjnb7S(!psZj9Zc%MC>^Kl{L-knahdR$UfkZ>q|lSOO()T|_H8XgPN}vG`;aW#T8u6PV&4pKl&p z`gcS<9caD{^mov1aD}_ff>?Q(1oq6*nC`8UT{#5dc&;wBrAh`KsMT)J(NQZHf4qlP z9xic`sbyNH?H-Fi)Hgfo zx%!|*WUL{Fq%=-*Zw3Djq{PL0&PzrersN`-nBNXS(X@^&iFirQa8*u_-;vNFM_CEG z0pTuX-cF+VX^-_!BGYFvYpgilxD_}TGgrYr>t{)z;Eonsg9;v#F##|WaDcwtiyQ9E7eG{dd{QMHTULQ$ z4fD#tq&U8;syrC8n^!bx?N5qn_r97(W?H2mnI58=l!HdL*ks0P`g40_*JBf>xTB$p zjGhijp&MiMj-%)9mWPk?1%3jlY8ogP zn?v(L{c9p#qt%Y1$iBl3I?-9WW_OFWr5Tlp5FB>&vlNsKH1dwB*G=MIvOhEM2>M>Q zj*p{JE~r)e*y{l8Lg@t1Fh5$DA;^3<6mOBs)<13lWmwE;=+ z;if3}8SBU~WC6MtxwsCF{ZDx9(#tR5SnAu&Jun4>JuQ_T=w-QI=m`tkL1?s_5Z9ka zBY}vg8GQw^_dqDXkrqGwtAVQ%AL2FiAOItPS~A~6h*d-Tq{_tgVT)GzCO@C8*qr7$ z@s6hS!&Lq?_p{wCrse3mZZ5|LI~FQkcC{105YtGJwc0Y5okgOylWjLTw3C?Qh%JgC zyk}Z$&5WlkhK$M^z(Lp0jdRX|z~!!_LWu6&(@Dlv!#Vf;cS7vrG{$t@WefAPr?05? zy`S?oPZ7GqlpSa`jxA3nFW{gex4JbMNHhqEedfH~o#k{JCi;T6Pq&Cg)i1SofMBvK>-*3V2a9!8pUJWj%L3m*pI$1<+p`0>~B{Q{5Fb0}(77Z4uH zw-@<0*^|P+A+m;3v7!VlQ-RVgF-?jELlSpeEjV@AW%>@Or-4SvJl9z_uA#rzX*Iav zB!857awzF2^ArEmEH;`Q^WQ1QIn#m>gPMW=@8H^6E;VXqv%wk*Ym_PIV@(b20MX+H z6w*xITu3GE9&~2C`)n}CyTYmz3de6xrGVN=+MAvgOch77SDL>dv)uf3MqTLH4aRH72LP}kC`K>HVSLbm_mw}2eFFIIPcb)9k2q%%8$|EwcIy~2CHtKD#=_}GLHuj^58~1_=%<; zAf@uMx*;;3UnFOQ#>QlY!R{mt%8CkW&3fM{`+b)8mogj60QU>R;}b;BP$_u_m;13I zjjxjhF;v>cQn)a4;~J%BnB+H422%Ujt1}-k&E+Zsz~k$_BaR*hIh@1f_)hd`m?qzN zD~LPN2sCl6gbUU>eeOH37dvb%i9ZS{z-=A%@Dor=;bLL#vOk|B+mSZj_G!$$X{E8d zT^c6@Dvs?hHM~Bn0pZXKm^{@$(=FL$L*Kz2JvgQC6O)1QG4KWD#Q;ZtfWa4sATe6m zhj7N9V8gCbpfkQtK5G?Rih;-8AvOMUD$3$?{M8*Y={6?NHe1*1<0_V#k(rNr!!q~I z!88GI$TrtC#mQP~HyM$4SdC?viZrcGF3)Fw6R!@jcKdNGpC;8kRppoAQe@>6Wz1pH z;3!p(+ZH{p<+DME9}zcXD^_4&B8_;t$x4;JyAhGN6eAHi1Pj-u$nM6L*%{BeFjf59 zw56llD@h`0hJAbm)fca&mArW-Z;swut43r6~Kf(*q+w)^;-uWNPaz+c&5EsjMp zqj(UDX5sk`tMAK1#H?$Yd|Up6JexSr2Zik6BE;GOSz#VOBy)mJQ>QywY7J;M0+`EJ zyRL|8KjZ)jncT*o=d9Iu6$^sz=KvI8Ps|k4nSBM)_)B^)dangxSLbI+Qe~SU`AF;J z$x-bm#GV@J2U(5r&S{HT=|{L<;Xw|+Y_B1gdYIn#1B&y$0swfH$rXd}u`_*#(}37X zjLdk26L^@CDL#9fkLwtnu4u7QbG<0XctB69&x%ppv!2o4JqBN|h}uOXT4wuY<1n0( zQHm>YxZ#21UM7^M{5&_uuK#f>F79$)s7Ob_filK>n4wS_btZ|42|Ch;85zf@>es>n zjnw%8n(91;tnGkDj!Q-e;egj|0!-CY5RC6s5KUkUiCz({>bdXCsCY%X@{TwvZzLQJ zM^&6j+M4%Lq3S}}UOh2oZ1fODPeBu(SF(R@txt?Xd)s+*c@*3D<}A93;kgP@yH<0{ z>v)}@vUxJYwCia{PUFbykJQWNYf%7)H+Vdq&=DNT4-tzkAiD|ByO< z@+Ib<(Mh{;^Ef|9iUW>0Aa+;fiGYFo0#Ncw+0<*h2C2 z76BsW#yMQAjhFfon9@!Wr*@1!XtvF2@@_uk-8g^O~b1vG|u;dbgb#E#XDhdYrdFOSMC_5Fpaef&x4}lN-ZyG z-Ul1;NOpn4WuUH((!QaL53U42{Ns?|wGDz`yc#mfm}dgBmYPUW=<6)A7%9?d`B_$d2c(WP?Ze1k;GF3 zJ$GHL-tFk3HL{cKPU6EqUelDVS;w1r14t^&A4W>upsYR5@*P*pM{qIE6`0`gwL(07 zYCNNNLj}>LW}^&t!YHVp#WbkEy)hSmY7^f3$Dm%J^wV>ys9_E0YezUbth*z@bkY~X zg$KCGdapI=KOPQFYwpAuA0UgXNnR9YZn5dzANDZuC5-&^8(mA6urVX6P58&0w+V{Y zG$QN+KA@`_N*0gwX+9nwCh)%TWW~qa&BpQ-&DoFm)!NJmV`##GBRfpLpEi@P&$Lj< z1JLJerntj#HBMh;*6#g^NP6qnfah#uAVmZtbHj#|BsPSDz+j(oAorF8r2mV4>o!>m zZ<`MIKCTh4cmTSd)14U2S(mv1ss7x*#tnAdoo`kC*2ZCcP8mZxr!rIGE|W8G!2+&M zhTPzk-6bxLI7TwobJk|$^P9T~sQH8>5i(^iwD0x{n<7)5OtwYC;SRf1?*5^`L6SFd zJoGx_!A3pa&yX5&@S*PENn=XUZpIz&_?mS{5-AhEzfo;R3d1$c$n+;z=;7?Z7Qv42 ziR^VXDa^#UW-*9L#^P^4P2QngEoDN;L}tXd`SCk3RXuN!a5)>JkhHmjpft`6Wq8Un zYplE~8bafeDhcTOH&m?!)Mh(X$FiIgECyZCi;tt1JiC_PQ6Wat;EOjnBU}9RZ5(ka z@lJlP8IhLaLI9EIvHdx}pbx~hul>C#k0VByod#f^e2~A zFX|=P@iu?W%FdC-yF=0b8(piP#K=U?+)2F%vbh#kxi0zlKCbj^?M~;dS4clzXUEx~ zOurA=F2SJdV?eK9ww^Z`pg`an8RMKphAN zE$jE`j-Dm=Js5P%4O~ibYzIgC(+P&VL*A!pC|6_Wz@Z#n`H#}j;9Ig zBnX)}dc-w$-3qMr-=Xt3LB~ZvjK{hTuy<4fdJ2B|fXM}f9HBQ{A4vuYBIYc)f>~iXvS+iz*n5c1e9{d%j`L>@-P>rjj4W%{g6?Crg!Yq&qlBcg& zudBhow`@ko0HduAX0W-$Up!tAn|5q4M)$DSCd>N()+22jm9TgU$dceUV@&9RS} zct4=d_H8Q3FWjI^AO%4b8%M_Z1|MUVnXGMWRF4~_F|gn9l+xnam<*j7x;&-@|1K`v zc!S5IOUQ7NM= zGU7|TUFL)%hupp1DxUS<#=N3LrB}W#l1Q~tjh-#K3LyaG`&jJ&ynUL91Mpo>-iN#~ z@8$e8cc4_-*@)%a z7$?4CYO{$=ds`~+vkYQC?+?I~8>zC~i|n@E$CN!D^o9vioH=Z9i{;xAHhhEL9M`we}LfmT@A^Z!<5m^dLTLQERb+WaV~Kc zU2#B--+^5HDaBuV;;>-@7@=LVJKJb7aM(}VBm`q?nkWQT2B3TAg67K_{Ae88nMY+`bLbkE_~p?;YIQKSJ#< z3oyscjezKvOv3E1-LMAX`70D0<_c1Ajhken)a?zut4i1CNKuO@eo1!^+#qVk6Nu|$ zpIXNx+Cr-1gfJS9-rwZzky49WXaIr`PKd+oogOy!8(>6pwof9Irus=DRdD@jMGBXH z+E|9gK|-{`mXq)g783?N5Q%YLtWyIEliF#Ow|&6!zxYU=ilir~$mJ14{4*QlG=0Xn zjmEqzGuyT4#|Ap-vI%=Zxnk^qYV*|Y1Y~)^u3w@tilxoIH)xuIcV?U7Bw&gAmdB*@ zPhuT)O-D!BNNoi-WmuvYDJ z)2Nq$tsPFE$qX8|^auw3gR`=tfLuCq`5(!D=XCFltC!z_<%ZbVAZcz4MF+`V8q>D) zAqOl@YB?lXJ_HH1IxtcAlo+-=-(Lm$IQsH;AX^V4vN#~OsG3(JdxEtwrcg#-IKKHo zrvbgcJS)z)x)Aey{+L>H>D{NQz^F8A_&b)iPu*JOfL45*Zkw{KfJRWz9?Cx;UQft= z&gIM^O?oxX5FI@jbM0di%3#zmL&%(M`#C857N2J8rJp9vzHy?nA9o022h#|OBlPnUz!5x^(72V$c0gr+R$Czi(7UkQQ`;1fiNB~cTha! zNfnr51?8)wb)yZ99}bn#j$`7g$8`1iX+P054c85(W=61Oq;9E2JStWRLsjQ!G7}s_ zHff~~SQc&N43I^SweH(T8>cX?{*WSZBW38b(gY+uDx=YAWzk;-U<(}saHym8lMc%L zr&LH%mZ(KB-#^=bV(I9mEh}*+4Gsppo{oMQ-9N9M0xB{vQ*uqbF5y3Qrkt41HC86{ z^Iw*kM431g@ss0Ub0qIid@XZlW$taAg)B1V-8n(c5B|}lF^nU~GHMUr?YT}2dj!db zZ?}{~K3Ss*s9kihGeLA*jF|>BG|7a}biX&cx6>`d==;)mpfDUkTUa3>%ST$-`#y=| zUZe#XkLi5U|2wXhF5zX;_uIxcOC7VCYe7W9=y?oM<&xpLzfJScn9MYX*>%5AJzYM@ zJPIfG=R^&TIi8gR*xtr}+TexSqw|a21o<{ zb|hGy!?RHyPA(0|-kxTe9484S>PP$n1%~r;=B;4b%?2GaG9<(LYt*>Nw8AVfLvb=R zywT(`AKM`_Qx~4!K$=ey%RAlOIYIk*gv;^YudJ~gHqkLL9(fwWO&VOT!g|PY+|C-( zS`oq1_DaXyH67zGp@X)8xA-X^oq%F#{Dw{Lm<&1(*D^r=Gg82FMD^$L_g{}5%JmO6 z3_Z%js$na%YOi%a^VwY8Uw+l!&{~dyhPg{3;69i;XuK<)%%G;BOM2LO zVsqp^cV|NkALavlNqTvh@L-nrF%!731WElV?O+43&M*TqsC>(0)Urc3wzb@L=!o>n zTTuCj=@z+c(Q)6l=U;jM_O1VRP6*|Un_T^29mF-a-=f~43L^SzxYUga1I5*t*=<50 zxZc>FnJ_w(5CE8e5kG;o+|wK|;o40QlQb7iuF5^#HZFpL< zL@vJf0g7zzZ!nTHn5l6&WvZ*m_U1rlZF1l#O#dD%Up$1xiU;%&;_rB7N8DhGd$PVG z>51`T^LWl$P_J0}tqS3CgDf4r z>T1f>Nd5tQi|@W;9q_4N*c*%0g@K^knKl&^mycqx?y)-ctp>6vqW<;==f#ExdCdsxHoknotbDjl>5cfs=zxqn8Pw3({96CZUZz6v> z2Y!=PgEMU+*MsDC8~P1_G$fGDpGjno?&u#`llW$sI(W%g9=m@YE9hmM1AfJGCH_Sn zdMy)ZI%%|NN%l{dsO7GoVER!$C9MN^Z8OO-214L8;y^UgF8|ufrLntGJU`8VhnV|u z-VA$Bg28)tz5Z}Eq4v|rl$?7wWqK|z%EelS#<}rvA%B1kf z(cT@~DrdCoXTa8@sr_JI|1cOIma0jY!B~4l@#JdMn=XFiUB}O42ygb^5NDq3p-qiD zZT!U1#to1sH+V9&%x881R2e1XGy8xeaLq>VaqibiD~Kuvwd2(sK6Y%j#y~t$kMu!5 zvSN>{dA4q1QX<{9yPT@*{v1Y)9vkW)X6{p{SbWii+x#r%C2t1AR>l^yBK>A!jUE=B zalKY+a7it9wrS^r2n&yt$|2y1!&>q42`@-{3pf~N^Iie zFE<+EJH$SUkh!G@nWJ+BI&W1q{6$}F9rF1Zi$0P%@Eo&l6<~E}#%5);AM#?4q?bj| zDNpt~e*ZU@GWXKHT?O2Bi$jj`bd0Afk541 z2l;>!f6}CTQ}Mey+@533KfkCw$JNCPe; zkU5?+b^zDf4bzF+AVLWHP&naJHXT!yBx&UO_}>l}!v6`Urv(!9DMKh%(N`&SG_|2jLgi?By?{_!WFh_1ci>R|G$Rj_(Nj;2l;atNJ?B(UBiqT=oxN z@Z}to%6K)yofx(CGj4q1MCo>@!-hdo_JV z#Q!3XjXSmgk#aOrWt?H)oH*RoPy9Qi-tjk9Onpi!TBVd?=hMo-E>Q|xeaS6~2Or-6`Etsm6rU|bf%UI$7{h_) zkedV$0ug{h{4;&W*N5+-SHkoilh?SgxY!M7-%zi{GGWrQ_}Jp)tc}G;qt2 z{hN{_ytZO~Bg~&8vS)N&<;y|tbKt=rdo^gGw!+?IgJuRfd(}Mj$>J$H|qZ|<meo8RaF{v||vW|9YkA#P41V_{xQVSD@vQ}p=ym{e|;$aA@y z6lK|Ab?YI3fccUh+D47(6MB4}Q^*CUb8f{TP9KPl9!;;v;aAe&uFm^LGLGkBClucu z$7F5nKqr%g0&nnXbP<^}z9JagGisG3()&Ff~XZElh$H=;iz4nPPS=PW+X#ihznsRG9P ztdve+W6gYry@4Az$l~>@N+F!4AFzE{U80Yb^Ju}F!QVO=&#H$+TiQ|ubQ+d*y9*>& zVNksQO7aptu6_OGGTy=UHz@a=ZMyUkslelTRN{p->9ajKfCj}6dTus3%#Rv8F-m(X zBk6wsu5Wu79qtaL5}z%rbedt?Zo7x5oVI!W4Z;ZO&w%WgbWFyKH46x2YspflPWc^B z2fNiaLEa6N0*w(;VlvGQNeo4%v82a9amx4^L64OK4N-TN1^l=`6h!L+WN8U9W=f23 zr>(d?K-)P5iA+tpvaQL9g2;40Kt;P)-d}f0|D8$pkj{43S7{0&-8eDYcWL$89~}oZ z!ZyJ~X4HPjno#oGor2(9CV>IDJ{Z*VC#wF%i#Qn-{)3Cm{C$^i-4I}2Mt!65!v}Ie ze2{%HD=F$gKS~*&$d8Jjrg!UDU}%%ISxlJJANPfmoFhFm>K?cU9^QkZFR&Z@0ZYoz zRO18%91OTuB#jlk$;J|p_T`SQ;=g96>-?c<#^Tk4vooK#0jxJnH+{kNS3sxR&=zpO zVom5PsNCqln~W?`*W6tK79jTS+`Bl{>}N)$TrjKl6UDckcO(=I*NJY8)3ytcLY^~~m zE_r1MRoRU~Jvuo@#*^6>gMG^4x=u32RB%q@s)F*5!ng3ee!g|Z(nHbdJT(}a1_&?@ z+=L7-qvfSqzb|E-RpnXoY?di`DT`Z-HgZ8K9~{X$u6BjV#8MpbNg7j9)z+sTbfQ-^ z+5tYli%}-e6CA}l>A&&^y8&6G#Jc>~OY37T`B?&!F={iVWAs$jQ!JyexDKb@kNguy ztlYe1J^=pP_})x?Fv(Qw)(oH}Dt6U+Sn>bA^`VXEk=S9_1;x0X#n5;v2bLY~TzO=E5U!On0^i2R1Ni>sOKoNc|1AQB-MEekpjOo(FFNLLGe?kGs z=JLf=Hag?kBj2_7$l@JR>o>B@EDL|^HXs#%2G_}Op=lfYC5$rf;&ezn04AtD9w4mi zZGE2w3ii3hJFGUZ$?~$K!JDp*3{@@rOf(KSs8T~VM0Ehv!D8pIEfY^u#jkCVB6)MY zeC*oqsLmD@=^GJDBhLw4Hz_c~;UfwAgq~-GyZnv7r>r@pi)BnoxJPm-iF>Q0JGyqZM{d)NPt1&HmK~(l}F0I=p`vUoTUb zNE;xJG0?c@36W}E{6!ILaM!GL;;#u|#H3kQ3yI7PR&ElC6VWC)Hv3Q1$Y>J=AMkHS z2sE3$uhM(L^+*oaKTwd+H}cO?IRz^G{QRGJr*V}n*k61+A!ua07qOz zXpb4V=^a(0vt+qhVpQpNB!2*pm(5Wahx8Ur9xu)|Df98U!F1S3ooU~C53#cWnhX()@>7ULT(>P@HN(3+Yft#o_zuSj?OAn-6=#M~`JYD{ozo5=q@JxE9c~umCX)+|XpyJz3_xGM!uC7kiW&p{JY}#WO zl`npncL|SfW?cz9#{d+Z==gXC#U96;SPm=j@=H*PSNqMT=2&c%5`mFcyRP z`ZRN#Vx%`5X3sx5oq!nsAWwzSPhc%gr}}Tdbc<$F1*{U(G$>1S(Tn@=L%|O zEQ8L42G;fYJYmlbt&?{+cOrsYb43m9Mvw`0!w}zC?APO2k~Hi`7ZskG5bL&WxhTzQC+vX`d!d34+5+u#<@0rjJqSaOxvI{}WBimSROBb7`_v zMf$78iG)Nm4YaZ2TTJOQ zz^K^)eCRq|FCLBhb92X$gx-_kS;kN10`IVzU{jWLWkD^(H}mT$xaKHDIF&;it%zuU zn_h#!nG6sZvjUGCdmdbp7lRDHgXzadi97P4`z~vBST5Hkl*-{GEKRYr)T<2st4=Jc zvnE!`slJwT8nW(_-QG`J{oRqcnRVJ!O0G|%Mk?rK9md+km<{pYXBNQTZJJj=w&ZGg zq*OO->C4XtMj*XygbpcAnU7`U5E1#+SUH)U8Nv=v7G}v$`Sjf8JL@CAi7LuE=Gad>WLkM*>F9Q^e|Xo$8<_+}kZV|c1(LiU6~ipAw!hzE7E(_ zj8xyTwJl$kZ6#=n;>3rJtTG#{I6hDgCns;-)?ri9IOmxT%Zx-=@8D82s(9I8*xcqP zuKvuFzg6+MR>c%y55u7-jptOF!!QzaT`SFUyEOul1j86e*sUL@t!G@qi% z#d6o~^NjRT^0qBYMtwA9xnk~J-3Ln_143;ulUXzKNwwyqC#kRkJs<*orKSK)pGB{)y!=bxJZQ zcU8x~UCqn@dHqDzD(<~i+%yhu;=Nw0dyM`ah@Vt11mcUN$REG(q$75(E(57Z zg2+btJllOqnq^Fh1w(PCltk(LVu&KPe>yqjkI62=Hjm(zsCMTJB;M$ulVh9zB(oHM zbp8r1`l7lWJ-GbUSppLsXGVSHIjR$}kM9sqHkAA1XvQ>Y*p=#l*#-X&60((f?Z}92&sD#T4IOVf7bSF`Gtd;~D>Pja<{1M2-#5Fi1)}?x}L>{JY7H zs7Yo#u7l-+m3J(?b;FNx2g#D1xJcJ}x$~xcd9$xjH_cKb(8r|@am!@R1T`Jg%&TxS zd>`(Pj>u3Wckq3y5gLVrh@-vvv5i}Jc^na-d5!TL*P+YKbcspZsqF}f+l2lnns%VY zhh&}Nvp>3Qmz`nwHz)3bn{YP!HujGIZcP%@Hx!=uJxjfu`^#r-TuP)Vmt;7LB+aA;lf7z~Gj`DLV9tJw7;T@2Pi+%6xo6po z0FLOWbIA^UWCr0Z;MT_z6Q}-}j4*4;W3=*)q*ozDNtbN4O@22B4o$v?7}8BJ(eoQh`|spjIGueeQtBG~A$N&Gk-a62SaJe=qL zXl?-e`6mE`>${XxWc?jdVzVeQrS>ce%DBDpEdT=nE^LrLy>*=y^q{F$Mo&z z*S8c6DYAfZu*Zx=jDwBP(VHBkHjS2@CbMd-KRS-O!JO}N>|Gm@F@=1G(r{V%P=4k! znDk}PdzjsWl_${?F^`*=)aqj@lznTC8Qg19e1oNq|NW9`9a zjdFEhIg}C%DEkvmOGt;*wQHRRGtyDZE`y8vV5T8v$q-(O;p(?`@&gfATk+ETxo;Cwc+CX+}eYskFENF(@Z@7L7**{q89QRLG7?>K#m9 zWx;}kSo(m;*{$+14n2>i@HHA)*5Qi*ql;dvmGz0oKCWm$8H;^C9!Z?Qt!XvnQ+c~e zrq_vi*n7k`Xe%M~J`llj#lKx@0JfbGp2Kh3LsK4;Vfn+vVgfLvcVz8si~krudf82y z7AmsjQO41fnzrfrf(M6m`)rX;hMm>NI<)yH$&4f8-c zx6!^wVKoX#dDpx4WW^}C?hmD*Xde9~q<06^?l>J;^z)C+FvqeJo7DTjE6?z{ogr{B z^>s>cNL_~VV;nGTMRtT#lCafy{{1J{4;GRm((Tlh}Z1L_{dC{_L6&XT-k( z-W;qJ6W7Lb?fg~y?&0)&aEfI7!a)C_sSU2q_1EH46fep>EjtNm+M!=ZQy(^#1$v#w zEV;ABW5$nyaG!AWta+5*MVJQHL=dGpvcF|ou69&vLSffKJ_M|xN! zabt5>W{u{y~D= z(K9c_My#oA#V6km0dV3jv2tc-dzPKmy{C3b4~ObauIT<96#NcszxESZOXea%qO3cK zinL_zrW=1$B@@TtPgY%*8%UjnQHx~+5q{Un6O^!BdG(B^G_#J!TO%92ynj#Eynv%8-cyE!-kLsy?uj=aifk#>Mv zws=RF!^by&Skx>Z5)z6i_fw=Cjya6!k!{zz`8+VR@Onkn9vQ?dZXEYrFjmlW6K zu6W<24;|tj)81d)DW0+v!>!p)*C`9F@eOYcDp|9OStLUCyzV*+zKpD)SFhW19DL+8QJ`K`|K;LOwX(lKr%{*TU$8511<`qh} z-^-9Bv5q!=PtGg`@6u?rA?e1dx)`H{t@E_s!0Byq!bZvX7`vePJEZn>U`s-s znt(S*kDM=ANz6_TmlUQ_oT=?m4;*HgLbI4AFM2!%aNGRxPHi!D50EUfB+UHDPL%!) zL#XjjL;|!;D7IRDUx+F-?T{LZbNDCF)QsNo9ZoL-uC0sx%wX4giQ(o5fQ>{xYXT(t zm^$^0h+`mKYBsOj|rn+8f z%h_RY91|D&_|+$@k}pTF9!f`-!IuP;VjluEKD2w|+=zBNgyd03a3;{s6xCH)D&t>Q zfQhIJMp$2sio$73z=y(4ODk+L`8c6Uc(_T5`S%DqAAg1uNss}PgDhXgi?fxrGd|WK&%JS_ z7YDlS?0^ol+vZ}v3?{El-8U6cF*O#zzA9Ct#4)KM;VL%4vLpXZWn7$R5V&PZ)aP6X z9Ghh9?NC!;nJB<3q}oGLroPSzPMX;eRrdl$(C#p)R?w96-gmA$QIp?%dCA;&oqk9( z;&N^MuZPrz0sE?C4IleFd^f-(Ax*`UF+m!^t7X5nYE>mYYO>Mk5|qDg@GJ$59y;dgaZ!^UI^5$CLV5YO{~{ zc*fBC%4+zmvx?&l<;f6hdlswO)|xw;z6k<;Y|>93Y(Yd`f8}f9p<=Mm!V!$5xhFZW zRhP#QkUHp*92^z@#`0{tWeYr6?a@s-e5-EKp8pU6RWOb3yUR#Y28Y8v1H1YQi4=GG z-kRdc8A>z2o8Xy?yiUz-LX=ZKD^t8wRAY+R(B``P_`q(k^XI>mheJdjHqc zN-ZHJ&AWv*@RFneM0Y|nig5b`97V2JYbo1AvABU!WfLIAA~PRulY^9F_TRC!jdPSY z9Q4i8oP_p^Gc5}alevsJEuX!2>EM=@;VdeYiJ_@3R9lVo_!G<3V%hNwtbj7THi17H z&CIywGmdUUM{JWstr23uB2F80e&AvqB_4`~$5s?I+}WE58a@)~GcuCdAXA51HK6{8VQ*d*4*{V3nh!=Sg)OzD-`HNp$?rbuPPg5B=9EYMc0dQ|4|1$Z7f~ zA^R63rfrgKnlr|I`E{z<4YzK&IOmb6F)BZ7Qd$ zJRDk}x7M@*!CTx7^F)EJntvInK^WzAI27xKOrjK<93a$ z|G=QRkKeXN1s?z7sCjo(E}vTlfTcUWh?!vb`a7DvN28izT}{|AK{AWB$!Z~Pop@wCjnwK>UV5{**MaMq7$b z(&nL=kJKwo7MR6FgWh2^oa+u<60D!2$MJ4n46XurVsYtjQuZ=9FgS+;%zr+C_)g=3 zw1)Up8}K`{Q6#N1fi5Y5z}>XHBI_*fFafJ_F?0#6ZkL{ldJ!A4p{>p0+|D!iQCYt< z?OG)5Kxd&#E)>I@X>+QeebUt8!D;pQ4rX#G9XfYDnlUn>X&({pt$9k@E%t(;V&^ZYo&lBs7sY(S0F)BrU_ zuGtnR=B@%$4}dpXO;cKU#nd2Edv2K;olS#G{g1CR%aR<&mFR{l{Ai*`?SEs#E8DAyFU(8+I-uYiejx6J;-?23>xlpVs!76Ow}y?nb~{l{DdtUbVuBMb;sc zNM==M@@ea52#e;HIKRLaji?}-ScaOuHW%(HooMRH>Ix1z_h&@IP6gug)=^!H~#fxkFG zuiwYm1t${diul+44xX`nAC(5$XR?l#zIlHQlZYtD+&=4QrEBwSS|!_TD;bKlk5NE- zb^)wACtuHSMl_Vys~FXD+=k_f4R8^11L{3rB#m356&_9AUX!(i%gX2ebPJ4z(;R<) zf*J2ksdiO)?JYlQmAzs2A=@sw#W~@RQQyt@?Wf_xC48}ReZ@ipzc z5qBHw>ceohD?H_5;4Y|iIfKI%aGN#O>*iqgj4E6r4tS9W+RX-aXUAA4x4zdNy@0SI zM9=Nyqbj0;DXXr+E6r^>6JS?P`w1m(*hBdm9L!84$SL(s>;9(OP>#4v4yqsNio3TN z|5C@@dPJ&0z`lPSV0!C*@2QZcby zkRZ*7k0Y?v>q~-U<2n*#358bXU2c0IM)T#4krE(TO&u+olG!R$$=zCMEw2g#P&d%z z?;1ObXq1j62H986M4*3xV5DQb$y>`chgQ1%j0D6E*>@j*I+0t#lx!?GCnWJ1SHCsxSlEtrTez_P-J6O4v@QTqXB7FV=p(_as&FjAk4rnX+%6c_*?H zLEzrD$vYIq)A1oP+gly{S5}tdHjrqbxXtvW0F-^9NJcO{agH%j&?I~1wVNjApx$iB zLt|$Iy7-{_K+)TIoqqr&vm0eS4N+)MJ@r_Ui%k>cCuXFP#MK1v;fA>YBE8F#cSv5&H2@{Hs?7)?Pi*VVnz zsj8_zZH*E*6rT_NgcUam6iK)w7;b&5`(21$^esh<5D;=vccJhMC%*er2^*oT ztkX(udt6D91&&hEGemhCaW)s;7N;U{11U$Il)g=coGDQJ1Q!#LQ^RXM6O;T~Wm_^g z3ThzTJ++@|hg$Xwb0ssm@cFiRc*Qo_d2`Qj#+w5+(jS#;G`D_lVtH#q4J3!drO8$S zY5Fsn%K-lS$1dO|OBWNpWWHv?Qa=HW;~iO>uEY4+RouE|JzO`6xuaw0_@F-q?cX7_ zuAZ$;dJ?>IvH*O>GurGk^!{M+Pb)P(E)Wb!vqtW?^V{kN9Q~u2z2kh_4wg0&tpdA3 zLRsgvs#Q$m3<*GjnsIi~#8wqgKa&98NDP;=u>USt9;dI#0h;U-#k=>&@QVB;^g^|M zCeG^_TL{`5B1_gJvo2eM6Dg)6|aAjGrp12sA*~IN&*s-`Hz%#Uw#l@OLraJjki<7&%WATZK z{^{n#1&chN$@QxgO;8u7kcN~GzZ*!eccmsp6)5CGyh)%QH4*z|l+!=UW;zucDw@3* zHVdF8_nhU9zv+uu05Q9+0|F@L?sD@Lbc1Oc{X`cvirAC=4n5rITDtVMwV=AimFoV? z!#-uUoK;dzGnEVDbfcAYMO|+q&Wa?Y8xMGs2MU|EZ4!3NS2;Vvr8bK1Kk%8hqQ@oF z{Ui_cb6#%c{{r-MdreOf$~fa1;o;CUH_xm1|Jll}ALe5>1%CQUn6JK#M~oyn;_xMX z9(|=I48H>$#Z<=OR?U4~>E8VlCn{SH^eW{_#G-M!Pxnw0?lTVr;ojI7t|3)A58^Yb zF`lSFdIwQ)I?dpeCRX;AOfXNO)3zWpYIJ$_W+WL zBpH;Iubj2G+TR5S?$)bKW)a*^oA#>AXoUfQfu4b;-feHu(72jQfM+NJLIz6`)wjiP zk}KuCE!eBlH-meh0?Lk~*_7wFaKVFEbNGi>Kp)lfRr5=cjH!g!kqZvd&9#kITz3+8 zduKngWgd+hfV5z5>e8H;RY)R>C%A*H=CQnLBq_8pwQXOiZIkdrW#Dsf*YPRyDMft6 zHo`?@`*1LvD(^Cp`>1ShuFdg`B`6w4+rA`5Tb&mfu&yT87@AOd>&OtTKgi_ofpcAR zi?t1Xm&NBRsPtzy#h=jPEWwDBCDoj&^mlde^5+XJ_-?otN)QsPR6ubt;kSFXuEoke zmV6&W{XN4eXO%&-Dr{oT4!$Cz!|mOu#yK*75@=>zTVw|wa6o=yp|=z zGtRfpX-~dZCa#jMO7_!8$2tzb7u=U=q#(MzJ}hk-G)gPFStm@8!!w#X&XH(XGTmXq7`?)7H}e#_{9Jid ztW4+k0=^l`wHp`3M8lrtPZV*-Lw?+J_Rd)==z+RQggnQ4lDp@$n=XA9i#%{mZp#dy zVPs>NB}5o(AMuQ5-0$*efpu2aJLF zCZF-d2Ne#H9Ky>h9x*CyRs>V0H^rCjM+-&VT}QVi<4jh4mF|UitWJCWiDrbO#LTv6 zF`@Wg`F~tppcl|cUN6-x%wS??lOb48AR2*0PYv4y=PMBJ-6TAB zJc;`^I*Y*#<3ra*FXHGMi(kG%lkQlsxi(egM>yfYddMLXNuXpMe$w^!9PO(a_*pf{ zwxYk7S(1B|uWS;II!~r?h7CMe!Y!#)p0SDAGj5Av63L?7s~XOiE9f)6KHP{}NCI;B7D=Pap)?zPFBtvv(VM@|wP8z$a&{ju%PIq&kNpeNW%le_SeChJ{g)i5_V zKG6#5e4Va+m4*0RfPXf|#7>>NwQDO76t4)_6$XkPw#8*g4*MBac`@3BEvbgzaUsn-y!5{{7ra;pAwD z(1vmD+5AYD6nXzS%#R%L`St+XIlM}&G@wecJTEeWWH#d>W-FYbY_zmUH{9p1?D(?! zfb2kgbyBd4Oxz~^%xP8mh$&`^B}k4ZqUdgpN@`q_vgyel$b@{$F3GlgsR&}zK`}bf zXz0!XS=(6Ry}>^TsDDHeQ5|cbheg#14a|wNq3U-ga=}Ft-%t2mv@7+3131zM2O5~G z$7)U43y-36`7##hg7(9&FA$5pyS@hU&+P%T45E8hHO|j|9zvXrc=gM{KNS<9*!bbRT653)iDqOX`014$ z?<4_ZoizfJIFe5aHiVh_pE~QpLZRx7;^K-+g$8EsoS#vQ^dlF@CY_Zz>?+87ooT=- zFR`8wXA0KGuxC~W7jqJQCQ*apGBpv12La||?wF;(%4 zKjzV}Cd}g!F2LeUe*t`_DjTnb*u9t&nd^#K9nC+zeP4b^@@`DQ~f?{J=%p4ts zSul1s*WpJzv41I1BtuI-Q|lOW-|8AnOL4J+JurGk7DHX>O#b5qmmB{qt|LhkKVu3a zNC_iIlnSQq7kjS6lJ5wxn|Vey#w4OTBHfhPRI5ySeY>KetU>*Xe5l$P+26+=jOW%9!*>#_h4~30+(-W#5|_mp zZyUY&=KRHHU}XeG{$`??7BeWkJ5I1b@LUr&j8@4Yu04e}oW6{30Aa`oL zhXVS(J(4&w1XC`ZzpGbSR#%g%KQ8#Tg$S@A2N5Ou7$O7$@4PD2S#574NX0Uac;s)y z7Tn2qW8b;C_=Sd6dzx(R?9LJ#@sA6Ep^B@J9VJ=k#36Sc)K6q_wTSqLsd4rf<3o0z za|i%lME1Y1r&dd=RS-HCU#$=|&6J?wv}Z%jXF#FET=oF>9oZ6&Z4LRdxqekY=HygI zv{IY(G+n>scpY;s?~^H$HVdoQCPII_2onR3x@_1u+U3=N5l!@l7DyC@y9(;h!s|1;~u9^Iiy zEOdaM&xh@i0sRR5vl8}@WKBon_X~&BuM3x)n~=8VTrDMN1N&8?cc++D^|PCdHmp!z zEHgfU|mNZ$)p9V;hG_3(4x^l@+%k z!(Q!F7>5I5Ht60hjphY$bFvr>!E^;=RbhGH8B45?iVPyjHvN|N6*9)FE>sL4hwZR; zL{$t8-*NM1^GPi1r>g6YiEq;kl=Kr>RK6lYo+=cb7^^;L9vQiTn2C&BjAt2+QT1sK zO+tT~k7`4rXL-|LQ7B_*A_}C?w%6{?z^9}~CwP22v3>QC6A~m>Hqxu-p4|YbO&GQ% z`U1V3^JAWojae=BOdBFD6_;d2tg<+SR|+F8zWWnS zlmqgI)C$X)>+-_2k%d|{?CmH135%%YK_~;Vdnedfe)uXLU5WVzdNjSz9@OtAeSRT_tNVQa$xho06XcWJ)3NChlwEqQp4mbDJ3#mm*ct@3A}%CK&xgD5 zNs+OC__k!y>Gr`AY5V%5*>hDVY%paCaMsbQAM-*3d;d5;am6PmMkGR}R?OoR%FNca z&-#mUvH3qV{QCnwd@3bOo{{?yDPiL}XXXIf+pCP8Vj8nSaUp5k2g{d1gikMezFyMW zq@V6GFp}UzKduFVZYW%qyYG~>?yJR*VhF#30tNDfcH@M@74yW}zlb^W=>KDR09Fr9 zgzb=uc$^a&-BACV8!4n~-aJMkn(>yDvcclsP)y`x(zFB>E%sn$bXxm+-F-#yhhV8G z528GFI3c?K9u$Ck{wgn8H414TUz%!dG}nwcwae<%tJD4rA1-4eX**%17k3&--^iF= zV_Ln&*d(pdp8*A6wTSt+@L{-+x5lTgEzD(~ZD`u5Dk)J0uqtyQfL}Xq?g&Uh2w#=gfLD=17t?yV409rt$zl65V zfr=_&6N#{8n`(3<4y?_uIRV&tL^fsG5YF8awiYWB+ewb8$EjQm z)vfvoT=%MHZyrF5a5-pqMNpaYd0X%YML3a&*r@EO!UAOiC3F2XKOKRMOXQ4P&GlsJ z#v4Xf?%;=~oJ+?rd}O{iVW~W=&zfOTjpEU$?M=QOFI2;b>DwQLWh5&{w-OTtq`9D1 zKj4zF=%wA9JAx6vj%3@*0dMZF6^c?x+CilI|MR>C&7eSoguP^og`HznePGs)AGQ(G zaO4C9QA~D#T1D}x6YY+GI^ zSh!)Vs5-ZYhJ4*Mhn~{-vgI|;Ktgkg{%15}{3q^X zmOR6Rq&JI3K}8cQQPX;mSh?Da{lKBx*P;En6x+rXdEjg>#^)oR@bM~QJ{AoyTys~Y zR#Jc5KwS4nZFcBk_IJ5S-5x^mRyh_(qe(x#AMo;dqxg=~3Tt`Cr%$mt4ul*=1ni zj2uZ}b1SiRb%WHMUUHqg4a)U~%<9AzKSPUK1XIUmc9X%Tt z?5vx}B@S(c4r6oQ2Hnb8xpMGMZ}Ak5FBfWEaf z-JjKE_~pW1)8=LO3}|!#F}vF&Wnd8ORn7}p-k;y|+m^^f zYW+=pzrOlkxIvvRgegF=6L9-cm$aQv<>^(*gYkHB@NCCQ692&(vUZ&n)+4ZWAAzY3 zXZPTWV@FH;ufj~Ae|~pjIw>Q*sgm*k#|gOySjewc<6e>$`ZJ7UoF_`~ekJ%3SU1V) zt!<`FO-uagZ1^f&)6Jc03OxK>M6_Ld@2_wr+5z*h{{$1~rzwe}A?f ztSk!+pY@Dov`bB+5?+OkWLA!Z>)Gw#+@1C>oAzt7GPGcQ*1yI3m^a*z+&Zs_Qt=bX zHkzcSbJnEV>I~Q&c)&xIixKLX`nesVp@ESP08fT;Ws;Gn+CcX9m&_yUi~*Mj{^NxP zo(-XQ5#5t6+bM>~YLybvCh3&QipccDm8VNmYv`wX^E&+*)j%l2g_PjC4Lw*ZeymsN zeJoREE0PeUe>moCK+5_BGwIKggkp1MUx*5_XWVCEC4nZqe*pz zAAjb^cF6tg`(xm2=fL!zSmHAm6Ot?5nN6BPx&UrJIIQjM!(o;!F0t!LV(go~QG6Lo z*5uyl;@0wi-qjf1h!lzR%MGsBVG)%ymB#44zjuS$77|>u`4gqb^|5WulH_K3;Q{~c zrNGw6e2G_fX*jZIYv{V!m;m%vFS&-X&g_4-6?iW+Hib_50^3kK-z4^gvI=9Kq~%*iy=}t-G>X;v;~bgE9Rf^jLPwn zPtAoa|6N>Nf>`XgVn_RLjMPl90V5e-8Ws48&ac6B^E1$m^rA0vb$CBxj254~sF7?w zoolF)f8E_Ggg3%cqNPF^C#s|q8FP#zqgp^dC*Lg*7?$@uKxhMFE@q@I983Aw&?Td% ze%d~!*i&?;O`KO{PtqTaYgg9G*gsU(SdQ*bMb;5aTq0K;qGYbMjPEezvH27B<6T`z zl`a5@iUflTRz*vB$v>E+eh-ldlGGu#d6Cn6O}97&C~TFf zHM-#sR@|?t2!m$j3Z8RLtaJ_Tt#bxqY8 z=pl8!_kOYgP`&6^jCii`wJBS-GohCwT`#N4xd{{G(3uLluAjXxS)mQ}g_5i;Mg83! znjaj8USiHQ>Q8Lrt78zdY<5TNP+2@hm$6E?AI!;suldv(+dvZw;p8#%G1`qDetGE} z31*FJ?Sv=Ero-vGD--E{Jo+wXR8s1q#>)s^q-HHk=b-3k$~0(tDjD6Me2Kw3o!I(QxW;x20ai zi@{%J{;v20-##=nSX06c%Tu(V?<&8_z|s(>&xoS+KUZb&(DLWe#8!%+Kl^$309jph&P*(XGk%JID;@r8InjG;D-B;n$0C;#O#u!X>ltv~tYLj)~JbubSmNomg+CINp5+j^Yi9W@f1Xbm- zMJt%d&9m#DL^aEnoPx@FK2{37LaZ*o94+MYcY!1+FJ!lGWO2I1oMeEL#=JW^eu+!j z?@l&}w%wLDOWGb)HgyS3P5$O;`t}fwvCix<{}XvK6}MHkoFU zYIdkV4a9jvXFM?~8HGmga9!CSQ|6xGtozzDF0_TkF5+%tR_+itZ5qviN^>I? zJX@w&Jfj*xsq|*QXsH|GbZKb=iHzRdt(US0{Qf;MHCBd4`go;VI#ahm-Y=}+Z#dDr zZFRt;&crg{bOMg_5$Oh zjWv7mM0fJozNd=I{A0rPmEOf^dZ>v|v&0idSjD&9KLLzvMB2vi#+>tj7M`hI5)68J zhKQDv_cTn|3_{yjC*LS;Hpg}OcM=KjK96gY&R3h4&42cx-e?@z34GU zWzRqfSwlqvoZE(DyGZy>kn`BUNvJ0(KOKL=;UFk2h|TjDtaeR0febM}hX0cK zy^$FjSCU~tpAm)k;<;}_%i=t&f9(&bIjp7UxgAw^EAUuz^E2ygZNMY9ib2fE&MkRjopTUfG z#uhU92(8)=H#;_a|BRDF_9koLq+nzHsd6N8ZfOD_a$5M9EH$YptotfdS^@C+?3|KLc1ceGE3W-iYG zi||rLtY;5%6}PJajIrCgSffDnw!g&)+|ujyRF`q8RcLejxhOi7b|Ke$GfB_w;6j<_ zIG;Q+bz;=Wh;Pro2B#iZ>wiWT)8tdc$YXWbQ}mIC?;;PFKKIy7W0Gp6L9e!t$`xK4d?ac=nlW#wuLK>iXRMW?dLdTOrD+rglv!oKa@BB`*@(NHPU*QRWo= z8QT%(=!p3UW#A@ju}AT- z&mA@b)Q+erp$#-!Q_V#Z+m{nQYkedes$)<@u34`43zlF;hkXb#g4@#UZ&X|NE^If8 z1HSroO_M)q4qNqJR?Q;kS{5I-kEvWq^R4~+42^n3tjHZseHs7*)=FYB>`hy7Pa&Km z9NM52r}>9X zX{MIpuiG3O-|K8H@cLSh5YyNM9I=puPV6<8n#hOI7+jDkhSfw5FH?GE>}B?(h6QH6 z-z{eK`9-rYb`HU>?58~ zaXdwkgkjSwEEDl#89uz>uvEP5~&@ZwzRz3P{&KMi3LiGEA025 z1)R$llZ*4+KfkhboT50N{R`QWDhZtCH7Ux0pI;x8Tdg#YEV8{xGt9wwxF>Hmh+@LM zXMLWZ=prKpRZ=hplUmqm2Fm5L;uCK+AC&cjjw!TpC7W6SLsZcyuvoo67ST(8WVS~{ zb(|!nZ!EwrBO>*e*4u)tiUx|od{wofM5Q!w$#m&w1HFC}dTw<;Nt|f=Tc1+C9$UdO ze8kqGtF+Ey7fWSol9ZY}Cq=utW;Ki}&nNkMMEQ5Wr;5$I*&ydg%6H@rVe;5cOHGKG zlm?ez9P$6KCH`zK*}h4CxS9)VSq=%#+|wE`D3%!u5BYe%bR(WPMIGf-Q^@ zcAEn#Bn*9I?) zmk-z72`pd|mTCxc+orM6vd=y5Go~x*@Sscf6SumyI}le!@eHA69v33Wb|PpdBh|Nj z0UK>V{Vul$zSPR6Z9b`Y{ZVp_zy^==JYP4ItMG2~CMlFeW*(#dPc-Az9U*&pre*%g0K$tSYOc>L`vsf2%;X9y9G86*TV$J4J^2>D ze)VOLHqYQo9+a>yEsUVebJogUIrH4%>h{~ym?FWkc6~dv5$LVwYX(+_4DIzR-ZEkv zXDQM*Ok0Q3t~hBWADENbk<$?iBG6XDN;u7tGb^h<{{s3u=UB~!u|?E+YjliEPzQFZ zX94rRgEQH0V3&5K$;ek5Ox=|>X0()Xy8DyJ0(BSPZ$i$(Qh%wv71wAo#hUE*WHmsz zmJPlr3|hjS9d+q_H34ymo3poY8>^E5OppHCSt^1MM>=6jo+A2~&M}8*tG-}hp7Ak< ziA`!5&cPQkYbH?bA8w#-Z+zNoAxR|T_NXy1VP9mhq?M$*_GEA7<=VJEMbXwLN0LX8 z6{NUU+z?KmsnNB60*eYaD3S|HGOKqG5{H^^){wYDOt3FQlOv&37@G7S#syLs0oK$d zki|Z~>L??mvA_+6WTWSEIFy`1k##dqzYQ2w&*?TvLHQyxJ~rgB++ad9p5nxTVZ898 zm88J9xFRrN0k33TCfr)TLX6vv;JrH=o~*SeYOhjaXBZzGbW89(TUSSNKf@W_qzIDi z8?Cb9TPBUUkTPF@1LrmbD0jzn6}-h3Ghb-n^W3_f&93uxo*|8;Z8UpuQYTUZqEXtI zQAs%e^KX}?&64yld)-UtVpCuE&3WT3A+_Qze->8%%=*)bo2>?{q}o2D7?RumR&13+Sji}+MC?vi0S*`{VQu13|CCm^+5Q`KfMaGZ8;oIDQ5MW z3=8}5h8$xc9MmvBZ*Uid6~57Da3fduHx3f8Gi(d=YoDM9`R>qTn0-C1&y=}J?7(&_ zq3CMcqGv#(coR#K2~IOfe=G(+c5QvfgRYUQ>0tjabM7WosZHHl5pL~^8pHw0MME9| z#cK+MJsc2}!t$uk%HVU{P zORm`WnCIE5MZ{h8o?NThFsdM|Xc|SN^6O(ZCXvYJz6IGu^VfNXGpaZ-Ch;jXmOC;m zOC~wOZcWByIHdP%@g+p5B!Qabmh$^T;!g(2QYe`P*iTR~*%en39*5gRQz`Z4evYoi za=+5>n`!w}<3_K{=|2=Fo6##ZIx%UmXEbAv0$Xy>7;l9oM0htBP}ADu#%Xd-_LH`H z!M&v|emfTARwglreS=rchEO~(zKQFkMbW+cN(!RFl|0XwVVy}~6W}T=!^H&EdWKwZ zS+;{-7MZ!4!Wt-jTzA%Ad5H*XJR?oKdynqhH2wx~GOG^;QAMd~2gyj71>`!0j z^tNS1Uh7&+=yD*uliB-D*K%a-jJk_CI%jCl;0CcmJj#AB?8n%JUv=$w-sxvP{uAES zt)mtQM$=K_zuwMacv+Y071w_3HuB4h-bD?B% z_){xVKXK`m`Y%E!K9x&|I-R0X?jdaG^KT(p50|>?=Ujq#W=4ZYFZz;mAcg-ivxF`k&Vgx6>?K0O#nc&Frc*B@b8owj_;&^%wkfpy5p$P$|1gS?E@;zNt`3H$1a&Os|(;k86uBum;2OynH#wB6CY1 zoX`x+LMgGES)JV|OVZ6SHc-?Z$J8GlB)orodwc8)YA`JE!1Eg!Ff85V=6&y0Bq89V z!+w65Ro1V#P@ugxII77<1Z%YQ@C_%vPM1%(EIzKvE7aerh?f0Nbd46wDE^P?oO{Y20Q2``_MiSXY2mR8lbCbf?Tu z6NB?PE7J7Kc3xUs`(yrzW*jFablf@;iE_mwsQO$BpS7%Ff{#u~R-x4CSsSpQ@&1$b z{AASmT}?=PvAZ9k1&^o(+mgePu(h(7O+$+lufjCwEHL&Hc19D#WO@KXHtWMSTs%$s z{U@#(aeb@vS{>LRL$Kpa>aK81isL~4dU5+f?t9zoJnV<|cqZS)II8%CBxXah^Lqvt z*I*UxvcJy55F-L$Ipm~ZIpS1#v<1u`vw}9h(i9PP*%yz(8oj)v&xm8B1Twl-S#u^$ zt=KEy#a1fA)SzhEWr$|vZ?IJ){W?uS9YH?V=I{09w$2y z_ZqD5>8lMgsng3;mFU?Ib-I~;e&V?z9>(RU-dvLwD7Z_%UQIJ^=ZYz*P)9`Rri%jO zbxx`&%~ez-gmewVj&6p$hjZ$?IwoWG zK;Z|w1tJ)iyi^8+GTIjin6gl`RXd^{$Kf*+YGovTW>GAW`~GWYsw_}KFVjD76a==v zMcCJsx1JHTs8z=8&vMh6>pyPGBP}KW@Fj;m;BF#twH%1p+Y+e zpUB2*iv+%!xBw6=6r=0e%sK}_nZ*<$z|r~wzv9&XfCe{)P@Bm_(A(d)=QE>3@IHfklz;SPhcSU3&CPW}l^|-gQk;^-Y=+r&GNNklH8B2J0l})GVZwbd zcK=QR*VENhpY7#HKO$4Do^9V0twNr9lBYx8CrQ;Gt`++eNL+Aou4L3&Hn(Qwu1pma zTgtTf;*VloJCjV2os=2DH$DsF2Nci_Gi`Z9SU&{#xr&szaRL&Y6G@8?)^BskfiPoo zjNZjBa{Yx3vGMgX9}5n6y9r|AFkG+N=Za}0Z;>$pSeQqpmQAM%4)u$yysG+ zoq4U9is@k6R`hAVj1Cn~P<(1oF&7pn#yaUodxw$d4)NF+Hosr+R_kHhsY$7OYah2O zCy%an^kvO`ycN2NDN^OGNy?cf(mVRZ{x4Lf-p#m-S*BnQc)8hgOS|whKL(9ZHk0^% z#t{RaHSQc1c*y7PP_quap1Llj-((5%7+HA}{Wd z2Vv;DE6vrvs9v483Lfw(exHqTWgIl?$0oK=?9M7T|AbZ4rQ z9~66^e$}6@yu#w4Hy-15i(^f1;{L^|O48Ukoc@Y`B0s^6yfoYxOhRo(@!H%DVYoQa zLfWH_&#l~j)s%R^^_W$w#%_-Sg>`&m36XZedf2lgDcCz5c?;N(SjVi6VUqlBf4a#|hgU(Grsr?>bSL z{rm*-y=jlo8f4q*29C2z>#hhJu5UJ@ zBeDP&SJ5)%bNCT<1wS9Ce!INX^eqrU;zqId%$0zYAKM4K^B0jG} zX`88_ArcUa{>;8xT0YH%s5W_gyPI-P*}J`_#!6>qfWk`JeVm`sY~zu{(cB;TgYUC4 zviM>xIMcn!KNpvH3S#8yr8r}fOfNhT7jfe4zUg1Qux1q4*jEG*v;RzKK`*ZHwVC2Y zKhnDvhx=V-Bao4%6G9cbr!|TD_}pYQxvpL>@O=doIGGwO%%_hcRW@pOo1KY2EjLMO1?OE4lnB7++bMR zB6nidcEv zL;W6{YK6I0GcYe)?A4SH`%hfcg1+h~m}dukp6xTwRa@8!zd3r3fCBMU#mt1W=iQN3 z_EfkwHGverZu1HkbSu>d{c&zdy{%#JX&5cIfDVlR2`Rq564Q^~TD9cLfVuZtlfH5P z%``DCCLvD#aX1KL$4;nU&~uB=?#T5Wv;=LdXDf1l7GtFp6v*pAR|^fSYJhxa`V48L zbkQ?W@lO0^@Rf(zD^s)V56eGP+FYV6L{h*S+X_?60n?Ui2btxCSsO7$N(g!;d~L_6 za>j8DNCln95H3`RqE&yw=j~%Za{BJV9rD+st^1WmxY1}I%If7+MLEED83IlGvC zzS?IN1Z9((#T{J}DD$qdg4$su?`JG6u9h<@kNWU4Sm5kA9h_eHO0%&YXS-(Y(Y}C^ zO+y5+Vkdo*#rX2B)=(jq?Bn@F{-(M%^rFh|#JMJ95EQ8$auaObFhGObnQq7~W z_x{FYQ$Qg_RD+p`(NZanxx%jbOkM7Fgl3?N#qB_9ZFr`<3=(s7_0WaA?76w(5;t>V zcR#~B$MaHAjW;(w9qk{8%*5OmbQhJx+&Z9YUjqNgy{4yv0kx^*_WuAyHt3mR2$?D z-(75g2TOYFJK}wIOCbHUW~A!@!*|)ND$qJD-9A52MUosm&E@0DC~}aGe2qShvnxdE znQI!E#Jj0B%992~Yz*>VRZtbgSmV^d5Mq5}s?pf@^^4Z@R=^JC3#CC}xXR?%44`*& z22W4qu!CIsx!0;kmXv*jc7^LttwYhuy35{s?ak=ZJ+*B%ad&JVKuHrVxe zaIXlAe2oN%Pr;rqYQT6`a;V&RUQ--l?+@wr&)bl?$bO|--nbR%PEs@U`Xi$LT|`9T zQ+e4uBMx%U0j8)B=DG78=^qR_vZt$S_nX*xD%#;RGf`>KxQ~}BgK)ytuLcWq6P(@M zUH4yIo+7-T*@SXY;0u+O?~sWWkFyt7Ec&uO?DY@rA%(V&cc<*UxH#|*+U0VBQDIWI z7}L19?mAM*A6F#+B-roc@2n7Vp1Z3)0tuy|TE(K@d>5cJzof>QS>DH+EKcr6CKGq( zyE!tUQAN)Ub$>)^yxt_@6-|j~M8Kq~*mJdrGtlN6uE2cHU$Mhmah*iq-o39+dI%Dm z*)3`O!M4f3+h<^*5?Os>##pdqp50JE8Nfgc+}~976->xQ)E2h!{Zq$e{;s~HUuA;L@{GHD%=Rah&z?Az z@A>&}xUibAEz7BoPZ0X~)`>FS*dwlSzNLNwd}T3Ui9p=0&_>of%rFZyC_R0~RA3xmBLBDMb`lz3@Dz?8Ov zd-C{Z?ig15`P;=u`E?Ja5`34_f)^8 z?E_2rGcT`q&4W*C+<$@_FYO$D+K1C7up~*0AkF_u7TJ`3xj_N@1$AY=*f`;)wZs|6 z9N=Zoq@aRIUoU0w{dmkoR`?1D61>43^|iqz*^?xhzCk?BUR!Jxa7SD6HuceWK#Ql-PK!*BO~Hz&@9ezli@v4`3Uk{#w_kiOZ?Z!X!$<5hXD7-fGc9xIS>9BP;`||w99^EKcn(yew}pl|Cq6) z`9eRS&?ejrLDC?pL^=9POCWldqI*iRDI!#s*NA8x&LfIUiz(+EoY3-2NeI!n)Coj0 zxq68V?*B7aHQ!4UC1!*n!EeO)oYYB~2Qb0O*c$@9{hKzuSb58D(|tqTBsBds ziGiVEGv#BM5!$}v8P*kHsnkaEWHO_6cBWg~%q(ix>gLNKUeeB`SB*XM?MaOduh&V@ zRVinBKaWs?_R_?x_lCIZm*@X)swJtvI#3*VqU=?|!l`)dBa9EcNJD0*)dIsA~&Kr4Xoz zfpbtQt%StKSRbiuo@*Dw6=N1ZaIs-xDLA64oI8L^jShrMCPhCSP@@ zYz97c&map8i?`LnnjO|hRTL6@>&_z5Mq2%d@5y)P8P7T19YziH%F3*gJ~D7-50Q*MT8KQc{E5s!?(9!W$3cz zBH$U?5s|6HJ`%iPCl~fFBY|C4!{+fJvzNVH{5DxQCJQtQ?YnTOXg|Lx)I=oljlrJm zJq+ZT$xq9#272S{6OH+RclG z&yi+S!<-=zL&*Zu`w#`6!&M-DVrmgn3`bgOX8TQw-lQXxF+h_s#`I%lIx?}@;-+~8 z-G9jP@j(Gx>$LrUhE&I)ev^e|M{VL9LX9+&>5|TaJ26!iv$O18>~f&OGqM zcM=tk70c|;NJjYqRZ<*K*SW*O2(WE)Lmj{xvzpwF9dF8g@(YWk_HAX_tD5a&MD)T! zzPw8KDWXw>#EcGvk~i=4T>R*Fo6(;(8Y{Cf-I;aTT5e;Sl=uP%ZA==oA$j_-?&2q; z8X+lJGk!5GPC)M24MIjbhqGXcrf8>=6fqE3Cg?#G_CA%W|Bx~Mv={vw1vHM&YoewC zL?kw;iawC{e@G=?{goPVSPWlADzjYc^}<5wXIS{AYv7$y9-)l{AQ>wDT`_4MK$f#< zlVX!K>L+TtrxAyT4AtDQuT;pktHdqpde?lq`nfoR5YXUB3UY47hO6w3l47^u+hwy| zk+kiXIgIKD{hZh|%|d1ySY%CPZ2f06F$obx5)Hd*V*9c+I+CW{!ragvM%W6w*S;gFj)#=?IxF1woc<4GA=?V8q@uej_KH}d=%kS*{g`58{^wwr7# z)q357i-pNYIZXIRay+a1iHTe4w-yE}G$j+P-2fQQvsFZoUS8>~3Mg)p{oA~_RUfCj z|CjcKeKno$>#=|%>F!%ceaN9i7N6@kR}oENKNxNnm47 zCCM(-LbFvnmUZRGI~q3{ULlJ7l>LfkTyEi8*?ZH=r<-yJ>m5T9nU}rz?mk*t^{)@` zHIw!`Yx79lsAbdAcJhlns)EZRwT<32+RGEfs;@)Ys<4oz^KW3ga+ z!M578LksrX9i9`G*^;nHrfP(=8(dl98A>oWn@E$F^pz&u9rNOeOcxCp9J&n!#hSca zHomZvpM)~~j&D;;vf532>?fAE{6(2uF+g?Cr-mSTvQz5aM?-0TH$>EmK$cCXN0T(0 z{NoT=e>ZpdMfODPMW;+rjVW93B@Y4pOmTBXb!n2^X?Nx^)5V*7(ke0%M?z*pxUvqC z#pUxw^#j<(NG({BsD3$;uYcFjLXu)=e^}UH+kmslcGz*8@pzJslsL_9cOf{`yo#T3 zh4o<*K@u3`eHM{WrTDosy`F}NSPAWS|3xhAlC=H`aM!@kVn_N8YEP-IkM2zSdF3K$kJTNN=h@;K}%xg8=Bv7&TlRzejw5|1)cM zjhO23s<)+3B3r|YMDw(mm=uzh{o}EjD>FHc>>T{|j}gJKxdtq|u+HiZVtUIl6ozWyP} z8wkDuJZQm(WU-bOby#1T28g%^$;_KxJq`LQHm47F_#WQJC4(9+6+gpT1q3T30#fqU z;Jdh?wtP=7R50cV$5Uwae^Z%d-TEyY?In}!@QOHH{z_=qbU{Aj8et8SN@KzAa97Lf z#Wq&a_E`p&)dZ?4(?H)Y_79QEZo7+ZPoO`Mj8H_R>7UfxuJ1Cta=o1?dKLV5e>jlZy-t0|AFd;$G!kJQ{y3-p60nT)@oG5~tJ}H=0?lJf6s}DgE=wYjS z8wIuZO?ZBUG-g@Bd_-4%H;?j=BI$3?dfAP2PgW*xB>JO2)vqX$DrYKnAKCQJwS0Wf zgCxP*;_(~Vcymm%rTcmx$FQTg^=eLuH%tuL8M1m)h=go)>mJC@eX8q7PilK^^+yP! zV1(@mN~ZUlGYR&hh6%aZt>N+gxleolet5xY7Q&#wCgF{_vl%mLeLA5DIiCK942DrV zBjdKGz6M%bC_kaxkP(hJQ>TD(lX@9L~Rq{pd~epRSu~} z^3&>e+QB`e*hduPX$^Ah4qQovJx|$dM;HGy1>HA9=?k$o6-MD6q)2rRBIL@6GK9Hnit*2?B4?6dRy>IY;Ul*4U_t z@+j}dyWqiO{yKd2dukIo*FW;eE{pl`_0mV|_6brA0qcpwW|h1DD&3E0#w;|rj}#SC zS*OsCC#Wgl>d)jcw}8laz6kA^w5yG-+t&jdP6)mkdxX&$?$9`Wm{To?}t7o5@Hl-u*@I53d9K9mf+oLV@9Qr;imC-^F<$P$Otm?^bdP z7Nse$;{IX^+o51HDF_X0_e|)|aK;2Q(gakyYy-a@`@+POt@SCk4Mmh1#xM9Q+8;77kZW2HCl>@_z z)h_D|R={f7`oK?n8J5tRD2B~(AI@l$W|Jf)G2H(7&KvG0sOT04|BR$s~R%->JV5!M5(35R_OCE{}0hYYqSNuJ>v9C3rv0P#FF zQ;+97BVUyO2=uc@S8*-PKaN|O`RnOy2Is5wpDu?gHW z^HrfRa=!mFq{xmzd!(jLj)*H)e}7nRH?*;1>p9d;2Q>Fj(udkE`7qsuHU8(H4r@BEo2 zc$%w=oK$9xao#}8Rd4qSQuapv>6iIwO4|LGBBk{*^BWHv z)SA%6`>s335&ogAorD^XA}rTp!*E#14sv{kHrCmL{&*&)5H@zEbt9>+@x9^wpqY!SI`T)c%w z7l`Z}*aV$p&8Tf;JI`-m(gwHiD~?1F7mggYifmWcp8aXGflP0vy`!>B7Q@6F;t z17f1!ZEJfBV3+f!NX(tZQ@jzPXQaAz=^F$?Q~v~Ma-@^-CzxDkXrzE zAKQxq<%ni1*@6Pegm7^-;K~yvgMWEQYA7pfD}w=Gbq2-B@zCn-bJL`z^5K^Xr(pTP zB97R;=R0&;51-bC8T?__@1L*`eoGWIZK^wUGgI%yl%F*jP$q1i%;0|jo8OS4auWZM z!Pemt4**m7ncWitSM&$3^lH7oawa2Q5=gr{R|#0L$)SO}F8Z%MP@&EGSav9h@YA~_QtP8Wg!FNOKD zF|5Xis~0l8hl1%;3>ZbDy&3GU7arG4VL#F6O1Xjo`QqM${z^80-evjj4%*UuDxQv5 zMctVihpvw;ohUZ<_cO$w5URG<^3`fJ+FW2h`_*CMA{x{Bu({XYOa|wHf|`(FFGGH0 z4orBXztFJ}P-vfBOC;>}AjhnQHAc@uR+5P@lXNYrdmr3iI-kIXRRGx+MN+*~@nH)Ln3 zz`!tkjQDm5@%LJd^yhKJ7V;7Ua+SuUL62cV_9kV$UkD3!xu7^qTZ-d{%R{q^sLA~N zfZv@`5I?oUCZ2(X_}I0^fE%9jnykn!pV^VJn^_P`+3(v+vY$yF9lgFjjkYey;r6nv zQ5@s$SR+-d>hp0)*`_C3->m!^q@?(%7;o$fZ0tIvSv)}2o zIAc|YC^o>}H|;?e_o<*5I*fbyhncWj4w3sH%3iOTTam@}zkan?ujG3M!O7cj1}0m= zI!PnSD7QV`?4N4(*Ce^Qv~1Y28{705PQdFf@gU#YN6;-k{|kjP&yZY!>__@fHug+S z8{8E?;3TVmN~p<(QEWgfeAgdH@;ADX2&lAy78$2yXVYe0&Lv3tbKuwinf`Rr!8H1K6661aaN+ zarlMu?*3X!Dxy6i+5)njmo$h9toy`giHC5wO&h87cwj3wTEFA~Q$Vc0%ymHK*d153 zp*-}0A^QduCp>78d$F%Jwx|yKVN8PLnQgNRfCZb<3r~`MMc6jAB=>iqyYPnEP)I?u zxi-zct1_GUNF2LVBlbDI1&57#$B}HXG?QQy9qp^y?(&&%GxdIH-q=$r70j|9FXJ0U z7RBW@s_or`W5xMhO>nRvDA1-l>s~)L1E?{;nxY|aHD{+?ky&=s{ZAnAsX>n9f%i+; zP$lRg8a`?l=wa3!o7OtEbU%dAzhiApDDgSnhB+{iQsF1XF~FUHAu$=iyljZZCL+Nd8-(xGNKdrFEL|4qXWv@5Dv zeo}9**;775v~7RcukhV$l70djFDx=QezVDi@DP+_byWp0eP=d&$2$N5z_*=M>ORio z7A0cLdif}JlqZ&4Jvz{I-^V2~JJvaK=8rr)8rb`E{NV1lmj0BY`NaJJ*7>p`wXK*6 ztuU76C-RIU>Nim$``b>=kswo--E|^%QCv*fk3^K5QBg>BoN$wW_ne0p*ysks`3Wb^ zb+95U2nP28U^vsJ(1`Livd7DrcJG|`%~(c%DxG|S^v9L)$tvhL@hsQWIDUk-1&Hek zV&vBIj9>Z!ZX2vO-1dCXN!C8n10M9qWV$X;t97cvw7v}_BcwRsyOK7Rp(baWWK?1TB!@<@j%8+&k(3(4 zSMU~yCoQ@~c~6-%=2Nlo;x2egN{S`!v%L&5*p+s`P?)#Gy4hCwL^f|JF`%3;0nlh}amD=~#7H%$X794bZ=Ow@YHl}4W_5%4`TZ*d*zSqcZQDT& zn+cB2_WRyuYs=R|>I!xwLPoYVLo|x}qW=ezYi1drr4IrBnx`-Kc3SpA7bT$$q-JUS0Jqn&Kqd+N?)!zKs|%FG2+0P$GH5 zj%1NgeYYU?DDQJtrD&&p>_XB8{wgk-vP*Sfwh)b(SDBmTepf;!eSs$_pukOCVIT>Z z_i!QHt1{;^K*b;=EY;PCcOFy!Ol>&Us~wQ|PG1ByfEu8w6EmMl{x8qy#+WN8lCW)E z|0BRtJ;Yh{_Uv-H31b0ew#*?nbBkHwkh-UMYv@MJ_4rRLk+~1eO(<(kGy0GFw%20* zue7!)E+O=X-_6brs~OG&ir(%rT+$nxN1OHZGBF^}u&(g}N!hr#oKs#0dnzYqLBn)S zsQ$E$#CwG0;YyIwLYo<19x4Bfq+b;g2@vk;OSzS@prw740Nh74t%VH~gZo))Qc>;| z1qvOX#6@7?^m>yK%o?TI5hXBn!aOB-k}v&U`QqF)D&cf(*#iu=+P$winNYZnHZlq> zt~mOl{Y{^#h=)HM+OENhd@_DzvDa*G8zy^)lWJ6v?8bZe)3zb?kr#*!>+wYSeIebA zpjy;#M}2Q2SB^9LQgeo)Ssb+yX|#oQnI=h z=PnW5a?bBfQWh=>+mkYw&)F-~RXfTX#@_#8oDxjU61|gqkn#v-oG0-lft46}8K4{p zWm`%DHlL!y2up7+l2@dHeW&ckf^vR$g{7B`$DWadtHu>HNsK;i*8g{1G#1Xb-k>)Z zn=1m&JWQwp1{t6lFRuGFa6CFm@Cwa$gwMDFUUrqR{XITr_JPpju{&Q(MAp-#nF^z% zeyH3}4|v(0DP)38&!czX7xYVS9U;XBS5$3tyLuhT;g*`2-&?1wj?E&4ZASn5<`6>~ zItU54_K5sea;>dt^c?5>L>84m8Gd88$k@&|?}`SDH$G-3dTyx5*hA@mzSE-_0PfyS zGUeXhm+guqs5h7Rk?N?vOQ20|G)AmMwYlHwR&B`mCed_z6$X3#HvHhuHDp>(BUcg; z^Ju6v#)lRJ$^HdjZoZ13HiV(nw{QK^Vo2zyY$gEZu+fC>S^G>d)&5Kx)px?Onx5D* zvcS1qB@lr~A(&tXW0&2aSK3DGzQ73s&iQXD8PeI++D?`PBy50*?dN}nG%l19Q0|gs z5Al;^;B2!JSaePj=1N`G{ifQrK^4p71yv+V@>#_t{!JZigcX&N7?Lzc1|#0l^RNqM zWbKXjgK~=`wPpn6; zM2`LeE_T%*7~;Kg!D?`VDV|Y`3N3h%p~vMG)v9<{A2&?8REF!rD-1C=FU6RQ>H~BAZ3F@l4XbwcwMp`8hr`qiy znJ>SRS`|@z|K~Q4ESG;(E2Ye0yA|et{U>ztes5YfneTq5G%@~jOSr#X;z_=O@7+5} z#BVs|h$_ysD3S|)9&YfVLB?d>NXpuF{-+d4joI1z$n#^Tx}QbgTL#5rHYy$q>NR6Z zBd+9G(i(w34De5zE2ABK+-90Nz=BZ(n|sf~zTz?fH6`cA5P)b-yx;r8GX@c76tRa@ z>A+iA#<(h1Ki!)M6qC5f9NC8FN%HJ%DqeE3w{Tk8Kpe#%9fV$;6)f=Z^8^&baIe9?0}DJ>!;9&k%Sn%98*=@*F)*~QOG`y2s((~5@`B_e9&;Xw9^ zlvGdyi5>FVZB}w#w%w)bYerbYoZNC0yaE?4Oj?&zmR$j=jBP zYIW1^!o6&QDKJW|**S0l8fPrnM@;8f-ikTd>mjG$20gW|=B`+ZG4!NPG&_R+gv&!V zzIuh%kL;PG_Sn=y&GbpYujN%sKcHs@N*z5DzYPH*r18Pkkqv61yMzC}91p=T z^vZh6e^MOt3mE4z_Q0tGm-_r%!1CzMSBAO58cjjaCY_EVDWu{9zW(00MemyN+%TLy z=9+!qQ-;76Vez$LPgrX*z4-}d9B{2AY2fyIw0+7k#^5L$z9FBVZ{<1%>XK(4kB+fe-;OaTwUB$tcA^&{;E0rfx z4Nn9GvqkjC`Uh9WD+{uu#^ZA^y$?m0;xd30*!^U#6b)Exq+X?ZW0*7M+sl^rfvQg| zxjcg!jhv{GFHDYt=X*B6Th9!&=_Sg^kS+;YE_iaLkD%8`lIU?XF~!2s%q{6Bx@hg7 zOZK|#Gwr@M=uo?%vkTIji%B${Sg_20>>q8JQ*!DQfXv_jNLlgk7dM(Y@g?CH9o}HB zY;NtX>|CDxI_m7T>`CL=y?=iW9e|YE<$&*E%Nz+D&3| zlH?g+Yo_ESLJ<=p?_z`kT2(Pw0%iM!q<0D1n&A?-xKAo({5$DQet%(ALG z{q~3D6a7YE(0{_Wi;kGuh$+%{%W0S)2qHuF=WVi2ceS8#8E)=DO!oN9Y*BE%c5$eo zc<4pPPhgQV!z_|r=l5u%ZnqsN^KJY9P9p9JX-UL|hSA?S-%lc;>X?1l@-j?k;h;F)29;}g4@gIc$MEHtW&O$J*;&I zIyl3X*L^0}W)?VmQfMfU4nQT`<$py1Fty1PmPcZuOV{D$1Sz5#5vl5?!bp06OljNY zpE!~Z-lD+ZM-8xk%@o>DnOmJYM(K@SsoPFUCneRa&)76$MwsEvMG{`$VZ3bV0$RBn z>Y%0<%4{c}%HF=5pIi0;%-5^K#fWB$V4zIGp7SeiWjnJaxu;!9!T!B(RZdb?5f`cJ zesg|na^|?ZX8M=*`mHIN@!rZSNSVyS1b+Xn&;;iO>vd#4BjdEBNX4@30z7zkRR`c) zGiwD^w<9(7+7}R;s;3@Xq;ND^{jT18=nb&nmD>xlYc8Bzg_3liXvz~1DQ31O(dge{ z4zZN++B7^ti^K2*J-td{XsSa=2s?=}uxLUw%pJJ*WtHi%!FgDCeU8*bph5C^6>(5t z-}6N31{dxs4!~5L=T%@~?1p1JHz|?bvzh(_oyqY&$dic>+yk6nvPA>7sz3FJ<_b0W z>dN-3M#zf^S%~kRE~X8E^?BJGtCvDz-?+vh`N1{K9?^W0lK7LXl<`iuKkUE27M-_b znDE^ERzs)-FmKyT3Ih}~5E&n1VCnRUVZr*(vP2=;M; z96}C8Y77s`&xPM+*$_l8A6JAFm&63rc5=wVPNZJE*D3p#`2?A+SLODB1PxbuQX21x1qs9IDc^E3qqbG7ki!3E1| zH@-CBXHzo1ANr5OxEEGpH!-2EZiMg*q(o^1WAc(>r-_psA^l(|+^d|fTd90d9MmAO zuwr*3j%(i(b~1T7_cv`o#S-6pP$m1}o9(hNnLSbLUzeetsn_er8$lDjHDwvu-Nt!F zAg8z**mkL;cpW51JaKz$>pvFn$wVa3Bo8gABz-fEvssg%oF)pWE2kZww=PWq)p%JV zNrGlh8pAjr^dysfSvPGc48VYx=;AJTabvZF{Z+DdK@~OI{fD0&`7^Q>Uz#i=(e0b6 zX*7_V8=)37ZQL+MICodWlyKU8-L8UNOpNl40+9aPn@&f5s3=ticdW<=#POML$m(z)O$6flg&b)rhx_3 zOF~0!h$!?IZNKPXwd=A10GCApnG>Q%bf+LwJ-Sfg#&Xegm^7pK=2|I~7zdcun^D{o zs79_fn@?@OcE8&Ta=UOk#}yl7N#Kp{k%J0EFa8W^CV7%|Nf^NeG-gdpE;t{%%h{2v zf#UlgzsHLBc&{V*7svSUM!KGve&3}wYVbKZ?b(Zxt*lM{sI+D^O_O{~x#ik~Zmz#w zzrq+NiCj$-ey6Vm0|W>5?7_CMA%oKOvYFNee&~rs(U`c{r+6-s3wp63{Du@s8^WX% z1^i+P^TTVoA^u9+yR=u5?f`SbWarRNH-w@u6mSuyEFoa4^5p9(S8<*3#s*swYFKi9 zu3SWBnSfG(b*6$TyAW+<>~HNQ!~~RT=CHdJfOBt|n}1OwKknPOI;!uDfGvX~b+CaH zrOsq#qg`+Rk&Cz4m!@@>*%a=ucaj9mf-=awnto!75tn$9OpB*BiiRVJ;9i7jy*ZLt zjkyNN8neMEQMrUJ_&pnJ5{Y`#0#qm?b&Dw}N6h;mu1twXR8)ce5191A4c*KB4^uv} zf3fXjBhW^1^R1|R_609H-@r4BYaD7lVD?!y?)(E*-Vf{fEtca@1NzC0yo`O4n54At z_vCzggsP9pEN#-b*j}mkC(E!1?HrEQxy#Z{GMNGjB9UYVu~?<$w>tY0M#n&|7fH!) zDayJxl)EBY$KkFw;A=MpZhlcsj`bB{{nXTuZbRv(bCU3sN(jS>?gPoHz54WI&+2DC zagBqmt>nr*c!Rum6y$s3G>3Sa_WLh6VYN5o2v=?S@14y8JI`>gob3G-zNKKck&xI* z9ug#Ts=L%O?urN>#ZSVSZb<4?H@kp;c1LqTN1jDp;fXps=_i=zA&Hdkvrv@TD-f56}~v$>ybX&|3&anY7MxqJq;M*=w3*W-;5O48#z!Irysg49gr zGPMFOO~m^!0QR~$DDLIgs&RyLM1?e{lIVImK6{nIS61NOh`e9THlVx?yri?*HU_rE z@-ms5Npmth2Fh*V;h*5*h>I|J9*L*D3sGiB&w@wNv2I>?vp<}72aN-r^ELO03=f>1 z0|REZ!q0Fn z0Q=+yE{%U5i7*)G)rzAQwB1PEsANT2&fpb1^!aNmJz^UrZ;&Rhq*c4`2mraDlVGps zRF?u*I;WSFZNs_FE!-*vJsWRSz#xvienxYSXvCZBNyGSw^Z{ah6)-hw`454mB%^r6`4$Eo+DT!8NSMakC&*q~PGaIPIo?aq_X5 zNnE|VD+BWVZ*Bm=P8z+x`pTG6Xf0Z~;V^k5LC09VpJ@ytg{jL$0Q=RoWR_OtacpTA zcrlrqrrs)1UQs~`>WU&I*pn;NB3mN=;l=@F$|;;1E2pH)@rN#PkJEO^JPszg4l>+9 zQaV^i`{rMV`G~A6@%~GkzNB4XDcJhtr{0YFs5H z(!`QYcPZev6yD#a9juK51X@d0865WekHCY-hs%O_ZvW8VQbcWhaUs85o%t6{oh=3a zB>uJkdP=%Vn@E$c9K=Slrrr(G^5>;nih!bu3&P|>7ND0TQh?iyZ!ha=PtjB*J>57k zKvdtn1MYct`VavmlMesCLzwGe&zikt$;$d^n)TJim&z@3~Y!{^kXx_?PYwrZX4>MQ=A&q&BsK< ze&UJBMC{3BJ0A8oq`3a9FBfZNOSUF&QWb%ud0W%GtVn~APGgBbvc^TiDq!7LZn-s$R&*-p}6&bPx){P77}tlICN zM8=A5=yruMsx)yXm;O+W%cp?X!EmOTaAH5!wdGM^2r?v;H%Nf%Fp({GIBT+@6in(L z1}ciIjt?$!_L?`4`?^15z-TB-QkM>#tE)Z+lEhuJBW;^iOb7!WuMi-GH8SKG!){9M z!zmB!?R&-K@Yeo5LxjZqc{)Ky?M{M1_3TYM;Qhe9$kgl20h8dqD*>@7si|z7 zwC{kooqBjGAQgl zdvd^KTlZ7U+T9)9`Tpjrs}~S#oTo3}1^E1BY7)UjmaNOboFznY|Cy-qitGKeo_EGM z&afW`-O2H!*jyQc<;R_IG#mf-^BL%^8e?whpwDCn`K9fqF9N^pV?%D4GtX)STX)a0 zEAaVhlr(jc?Ui0ukxN`6H`d77T|*=W{O4*F%%p)Be>SO0TwI-{>lP(=Z7>z3~BGI>(1ScUQA7l*s(~ws=!O zW8`-Cg9$j=GcVMeWF|+`-ZQ)(3@P`tw)+T|W;`$G4%w!B2fWwkwb52g<6aA&Noj#Q z`~r$d|D~R_K^?f;v}6ksnzf1#H2Iz3bYoNK)<3(?>$Oir11B-KlTSY;X3cCuOahDz z4%^r-he?{C<+gEd|AjphK* zIw5?}()`TYo9)f|&~iY7{(4)wDUvZCsn>se(WukSkwm}LkTT1>X4MeD2&}A{RmQ} zxyu1Rc@-zGXRocVxIRRdl(>n_hxc`r&WKf_(raAZ@B`k`$0AZQe;fv23dpwMW)4;> zuMj{&+D1Pjs-*nQOQK%ldGe6B#5}@5y|O~;Kb(ar;ar#~2KHlpk@blg16gPFjBJe} zM1)C16DFf&7yi`s$Jo3&DR_}0-kf>x`rT}$|9lXEr#~5=O?x#@j9B6W6Jrv&2un2m zVfAE~%z$>b>=TtCy|jKA%+gw$o68*J8k0HW;K(}RdIS6_oY5P#c+@2`IR6lTWpDeP z&xw-&9x>JAJa!05?wx?0dNx=%;KbN~yJzC}CV;TU3k%nThxV`*?in#FzKx@CWmR+) z(^lz)_K`MlI^WD)XU2@}%`5ajq8e#H5I}?kOzP-wmEF|%;aGh)_i+GjNb)gX(P&1K zfcy?#=seTMyvhD`eI08nsv`;|_>w0W_*vHWi&h(~xkD9ZyUku(kZo5~pkMx2R$f&@ z8K1d|Fz}AvQaEL#0a?1YWO%Vk4Q#RdcL(6*f7(`H7j4U&-wNG&=ZFiqr0sTO4Dv1s zA_Vdn+FX&jaRzZKFT{`LY+~bQ_c2`m*qUugV{x-@(<+V<`%2Q=l2a#-wHN24h$s?3 za3%TRA?ePm0*C6}cunqQyrMd_<(DH{We1b&a)pw^G=ZclRbDL#6wd$wh$gwS)Jx*X zD}%<8R^^+-PR$%}#njlrouSXb0kcxybjo08%)v;iuYrDVV~bgE%U_9k&6 zD0|YzXTr8MMe>E;UHd|heJ>$c3m*nl%Y+YcN4KEo<; zyf#RMYzpU%~1Dm1)AVutzT(Bb?;R=xBWu&cGcEz$T+C##<_QSofp=!;!8FDj265{vSxX@Wi)>xCQG#vRTbN>|M^t?;g@XlHG!uOh znAk_fOxfP45kxwX+w-D>13zzEd{b?U;~(*V2Y zuIVnhNUeIpKvdzK?>Dc)ImhW@T0$$c+WQET_tFpRT~#7X*$=-F0VRNG3oh{jeWThg z?ZEFAsUJb88!wv@1vHLS8K*sik{h6oHC?Ogbv9*J@h4U;}$?v`_T!pVo1!8NYsT zlek6U7mCRQ9cd_jWe1#o-t27%RB|V*e$At$GB->=@x_rXpfRNMx~+ zv;RNFU-wf{2jfD2&q%KLzMxFN&1l*E`MY_YDH&EW&Zje6)^Ospk_5Y2R z)19hM@r3?$v?B|xWz3$lZZS!&*KhMr=U^|=mP)6)<2=cEe6`Cg3n(vNuaPmI$jODfk;OVBqDs)t&Z zamXWSgPa)Sz}=0B*t#nfdPRiCb?;{U*e>!`OLS01L~~-efvI;HnrA%Y?UAejY0L|w zUsdfhj|lGN21q)&aPIN7{PEKurPWnB^8X?w{=sh?qBlmUOs=o(R#y%@xR;pytmx-*k6XdV+BI#V*)%c=a5+^wN^HE8~|^TnoRf zFdSc9j3chNb;X{19&f4w^A7Jnrz9cK%D1x_96`r?x2~Ld;OX6O_&U8Z%oWZy-kne- zt=~XqM6yDhFkE+m)VllFcEh&)bPb7KlhA_BLgvC>+T;T-S(n^Z%`=|3Nw#As3%KFJ zA1xXDgs(zTFoR*#dusxO5HBUSBj{xbO77ki?u_yb4%=Vp=cRIEMY4~eV%*Kj`X1IG zE#=K@|JMkk*??FX+gBL21wY1gawjUtLFX^WH%9NQ5oBYC?;*KkYD z?Fwi7@>@2jrRT#F`UPYqPr;F4_V$8&Z=O95Ie1!+aq0HID@mbS zJ(E7;sd4p-JSp`&2TGH{tCzYflg5(1#!-^E3px24h@_9)P#gNVal)VG{5Ix)MizX< zbbY3s1i0SE z&ivSq4bLw*d>XMC*33VI!Y{n5Vymb@`=-@AY%|S*A$!P`fpE)xaxRmb@=cZu|=}j)A<^Hl-U*^NS8b2tI^rn9D+4Y z|Int8X0KkDh~Ds~XDHv#>`QvjdmR4oo|wY@JVP`+eHh5Mz4X#=`;LzXws^52Fet$O zLAryX2B5oNe?P&E_a_*)s5HjC0YWvQ<(iL}(_HS)h}*4uOu6ePjTFQhU9GyW zq1Na=WoBF(mcVy)jbZ5g+X77TDg~fGA^`VIK}vU zf9Jd_q&8k(OrmP?IQb)eCnTvvrHt#wE2p4vk3ISM%sFv?30!dZmQy0@$E!1V1T?-k zVF2rvWl*&ey>ppHB3mjz5KBuZ5TBBdjZQ~_Z6aWxwgE)ERgcp0i+s3$p(I?02`sfe zt}40xy7`#cw8&Aq2qJrTb6f1yHNKTLzbyQA=V3nG&&bBzzY9)M(^#%Ze#ADiN9eH3 z`DDd2!yi=>sK~Sn;UyF!$Tl`Z+xp5%j(EnagX@lpShXeHidJO53vTEoNnrN_ z4jIpetgy=1D_fy`vEh1KD=VxqkqD~f3fkJx;Zo(>Q--XPP_(tbSY@*wxz4Oo&w}#& zxP7WvZ!c8D2qzj6kt8=j7EY0rdd1qdMCj)tbh-pAaDHF=(Dbd|oud>geW*&}*c_pA z2gOuV_~-~qI)Ic{u9ilosz%Y&eB`u8*8fIkWAl~t4B3C6i3Nth)Hy5L26ugXV z#+56cWdBwY7FawkKF z-d+oSw-VwZV1Q;=zYv5@LTSS6*&utB>qN5XYgtzMC!FZehNUEuypAsFcdToCjcvQz zC>@f+^eo?S7;?qfP?VpS$S6sE2Wumwv93MZf4^pKV60YmgJB*blWF(pTW}s*+{abw ze&;xcatSLQBs(2JL$By!zPP|C^t5ZxTKjqcg}SY-KYJ4 zx4z-T%~3VfX8hu)IdCgItL$Ir5$Uxe1iF^R1zW>W%|L({J7A2*n5r)4_Qbzygu#v;5kZ^E$|@Of_7Z1rDkDnC6V3;C^8 zEXhJbzE?kGXL!@B#6N;eJ&%0Fz{u7xZI$8Lz42P5^k(}A{@CXg2{ghPeYSX#*qb?@ zWZeK->@JgBfL~osg5BsD@GYI*zwjA~)x;O;8vUD#uFL4^KhZ>1s^4dQcuPw|58o&$ z3NYP${AZvhaOE}@N`Ii#uWm8DQ!i}Ee3kUDy#QQBaKUn4gE0wOU@jW9w=wA*0Q_d2 zDns6+O@a)(GnIjFgG`<+<*~f$?tX(A>45xQHZA&%9L-Ff#_@jfyO9Cz=(*7Hc3(x|f|tquT{PgoJ7TQ(ATZuK zm`#!dzhX%d#dk>yITHQFxpeMrHe;=X+6E4KEhYn_J6e_=X znh{LI5*CxIrXx-n(-EEjQcKb}GgNC#Tzk{=Ef++wSrM4C^6xfO0_FUA*T*O_`f>3AH4NWY_J==aD z@G(JOJFw0l%HN1*eD-aewqQBD}iEmWn1)i~&@pmo4#JL+!uU7+k1}m>C8!j}dSej}Cb4oMGX&B+U(#kWOZ6qQR zHLdpC@~uU+k12nG5=gVQjRNXhUQ1A7o}m7b32yWy-&57THLX|w>&7}}5F%NkST%87 zLTZ~5EL~&EMNlY#Jh$l3a~<>zkLdA+Rd>FLwT{q2Flrsl$X*e+=-OI$w|ye{ZJDiVb}7u;lYc`SFH)F4){k=}-roh@By&}LurvF9 z26YvD`z~}F*dLqo;E%AHA917fIbQ@4py2e>|9wVcwV&1yF^58Z)M!IUJoijAzd?b2 zFZcUJnZPllgKcvk=nA9ySFCXa6B?51wG0@1!qrOKlHu#UyOFphCNnN|8#0f{dv4S4 zc{RO3ij!PM4a0=eUbKlvbbCCiYaI%gQ#1^ee98uY8qD6Oy%#3fU|5Tw0f`q-L2j=m zY^h=PYjqpZ#0d(TB>HHV%bKmK$1=sA&V53r z(2UQ>2A)+;l5}ovDlL&)w`>BXJuk#c57hfRuf4a=-2Ur)x65!X4YSI_uJ&g%qfff_ z|H5VPi+O8+Dd6fPOEo=uHo97m>rv18~#hlG)v9t=ehdI zPi$wzrWB5z$2nIxRM9q%kUoi-6V$jxMsK-`zi?wsASEEzbWa6)cM0zAwX9Sm0sP(I zNFv(jnDrI-_?bAM1#u{ML+#BjJWeCz9{7kidyW?X-$_iW$P^w1-h4)MjB|brc31C# zAM)~BlKJ^#8;jt9FV~@Rp4D~eH&zGM<-ys@234%&dt#rp-7~UScWuFt+>Qi<7-++! z?!kWMDNQVky=3dOF&~)&JPMWS6BJZKw_nMGie(*#IAT%`$5}A9k%z#oR$eP9ZEorV zoR**99liGIhjC-6!mr1Av*4TQI)l&H>WEFqZS>{mwc3w)$$Bw|Ok2z=5^=tdVe=ZL z?)R9}`a1Ony4Ra-+K6NvDMl!G8ckt&G&TF>lw=*K8=B3%c=J?5^XK()X*D^p3yGZ5 zJgJubjkWoWC4yN4w~dIET`GT#eUi)S_v4N7O#fN-Uc=jV-MqD8Y@d>Bfn!{~xcd`) z!0*&&aA%F+w5f!NX;LS$BHk18pvoiEI+nklQx}K5HgM+&@Ez_q_vse7<)y<^IKczl z1WRRRx2A?1vNX~bZpXA;;2w%MoswC?4bx5Pw^eXW^G~47T$bi;PaAwp2cJIT8`a7t z#-xnAbh2s2-PNu#N4*oI*h+>m>E{~5G$TvmYkC+57#9b-B7TAx2dY=#{8qh=oLis% z?rH)e?K11MnNbn4-I--EY`-xJ7t~UFEd6guJnUyU>v(4|x`UhJ+S|A-(~6mH0e4DE z3;>DSB^@J(3FpT}q2OTDBrT8Ls9Ty@U{wC+F1hn5_M)BSHX754C9OSaDahoSY`9&Ni z*g%=lDceifI4=S`Bepi)-5GVsWN*uf&jx3`Ea@5dn6gC@PO}9dCH1G-b`o!}+bRSo z*7gP~i728vlC2~hSw|nOnEIZMmO-_%|D>70`}5i-BU`Rht~z_6aBWXTI)Iyj44&Zx zPh%5TlE3;&K>H^BOt;nGpX09VE(QG_qLjK#9qp8vcsxTJ`EgqZ zYU)f5+4x*%TMbcKZ7L$9tDR_RI?jGF78R3Jw8Le={{Xz_x7+ zyNxKOvwgYcNIy9zLEY_nKi$1+n20pYOL^m_yTipczn8{6`-UeU(Zuy8nk2}%2?Acr zC0SjY6NhWUT+m4Gpw}vMWT*_~+_wvi@XWt;eF%2`gcGMbXp)!cDh4g(6_p1TUo_z* z34S3;(oejL?(E1CR5K)|qeRTB`VpZ0ezPo$;I3r^w~mf-Nv0t6xK( zlQ}H9YwKB@4PQcRaViG>#1==Z2ynukeSIl7;FsdGEYmO=NKi9Yev{3~JdTUR_-=32 z{>5Pv{hE&&{aDg=_8(z zk8XzKmCzfgr{$IW8ZvQSw1qdbD+4~g)cT?33u!K<)(h?a-1ax2vJu*-m_(91H1TkQ zBl`H7Y{#nfeD_&v?+;m?{&Ef%FGjq9jgLuIKwLe8yP^k`(!pd3tRjWZ1|>Wx0S*bc;=ij zHu!IsfzU#AXCh-7=A-`HAF+J9S#c#{1h{g{3OwNKnfw0h$|W|5eZm`)P?vZ)SR$C_ z4z@<-_8@UV!+rh46OHY@jK%Si0GwcPxh8MwoholYY)5K>u&>$Eh^^ml{Y+^}tk!7cSY3@Bu#7;ED~VY2wGQjRzQapYRG0{jEzO znpiY%dyKomE80EOpFd-zGTYS+uIBD0As9k_j(mR=>e0n3ku!E?&YomU?9PxD8C=)z zOiAR)q6%P1jpf>&Dcliw^uCw7Zxh9VEAA}j? zD{hBE(G}KoqzZOJm(%|?S#p2Lz+n+!BXBUD%@%l%h^`<@ZTpwpo`?~Z&1jv(Qcg6> zGwX77rql2eqh-f_YWmj_4_<0gwgG+yHO_SmxbcMDd=HOgTCen*D>AdmIjk4_Q(JXD zlu1~>t*P)n5oEi3=v@xV!`E?X#5OY2D|b=~#&b%1?2?wVO~?k^+i3M|kskbAigUKt z&rJw^N!toy8%LTYWvOYM+0!7nWS?qk2Y;IX26qtLth@5y=YK3$$Tq>;xg;(1GY?fL zkr9I@2_4oe`9H1OdqeVdWRPqFoI|(RY7dP%WYTbeO89!9B-y`DviapjEae+mj3$nC z@PX4Dxxm)klDbC?iTio}4>l=|(`Z=cx||g14L9m_bFT#t1{%coF$J8vIxQaN&6ab} z7&;v$6w62SDLD&^sd%^+SC9v5@~-dcS{>*Z` zHv35tfs3`*)Z0f|z9XIaRW% z^D{ljf0a=8Um;V9ByQP*e9h-*c&$|y zk#|1CRIwi-=iOlYROobKNucvtf$*wBM9Jf;WKAN8O|Z8gg3@}O2R73sfzwz{FPJ{&6r zz-X$HpnK{rAaIpTx960O@a%aX0gVm2c#<5l!#(W+&fRnD;UWwY9Y%n94*sP1P>#d} zE>y!wx3DlWyPqxGiLxE9Lv2MiYNPs=tc&)r_AN`?*V-T{5iiZe(ReQ=@kaR}UB$1+ z6vM@yP~Vsegi{9usFJdQM^c;IGje|V_f)IQo;7?w)IIC@*qL|HpMxzSv2vZT#flf+ zc}yJaGnB|fRplUz`Qi#sd_(=togoP5%FfkTxrYng^h1qY_c~QvkVQ)}FVrA=!sb3> z8rOc1BUi-p?5&JnJ{bfm=f1aNJaBuFq$3)Diy^o;UXwF2E zWFd9zZ8bU%7=Co4oNBkovu1a9zQV-M%&ZD1i`9hEX-3!@_+C@ylK(hMz1obp$kvB% zV|tCpWTv@z&6VqF`MBKAtzL3UpXiAdB=qOIeMdLodK)=L7*T~(ts<$^Z03X{AeT^` zPZvYBk9&h}tZ(|AV-7Y4(io;!f(X3j{0b}QMPeV%hZQ8b0&2_HDOx^(90lp33`r5y z*Skm_X)=Kqf-z!Pj(w8%*ScnpW4@B)D=%VMJ$&f| zFF)Idh!_hHbjIF46n6UU*L8EmHZI(tO(G~Zp%)r~8w*vn_tq>M4yX{!vnW6D)Wvt4Q)#o>juC;jqzCvnF8}Se+xqf8RMo>Yx--1F3 z&ZxSI1Gmhck+%}Tz1+hBssf^6UTAJN=dS&FT9fE z@F+_sUk9tKb2qMrk(2qSkjAgiT--IFPH#mVSfq6w2mJyhRnnY&<<+AoHYt5@t=$Ao z)P@AqVTYLrtH`Bs8%*gSG+d5Xe6k`Mz0w&H+($N&{X4t zVJcFthk+8c0d4R77@uK<1l>$OA_l1NkG^4JrHj5{V_AZmb@?FQ-TYd zqc^tXpZAj#K}F6CO68Tc==w1~9y(6o+}m>iSU{)0^}Y%D>EEa(*NdyJX@%<}!2(&s z6^5UY4e-RN5?qA-82>HNbIJPZnwD`G2HjZair=g&#wgU!eywdSYOm%NrI*v5X2_OiD;jsf+z~J#+`kxD=}1+KOujttdbx z-4N0WLaG@+T-izeA!2Q=Tq(hko)e4q(hSByPIGiKIG&MF)vVx zmVK(0HlP7+X8R0e5ClZ2++q361r8D#B?(*Xi#8%=1rTsb-~M5D_;LTXeyXW=?}<)b z#>aeUegcZT zaK$ubpWs7;7cf?L*Y|>V#O0D;3{v!*-27GhPS5p4@c90HoBR-RWXUi48QCbMM5|a_L^D(}*)LIp;`*5~`KFC>c0LAh6oTy)E?+4G2K;1tBHqezdX zOTL0>+7GY6S((Wn$pUA?5H~O3;*=--DwNgN{Y`K_f?JpI>b}IB;)9y-hp|s9sFuK-|-F6PCnwDq1a!4j& z4!Ok(_4#b+St{+1`swa<^qU{Xh%B-={7NL-ZIUeFLiKX!I6{xqp#K#S(`k(hc8r*$$)@G3#Kv(4KZS!k}lJ3Gn=b#v^UI1BaxT$l>XzX6NX z&zr@>h$hx3MbyehINn8pcIuyTY2Sq&hZ_X)>EcKva3-+Mblu>OAn@-HArSwI7b{R^ zT~GEWxHEzajQ4}ih4e1SFY6q@-z14rI!|)4wa85Z{%Pxi)$M2cG7q@Pi(_|$wFaQN z1ikX0S#+Zt5wJAFK`T;l61Jwd z_Yue%PcFMKC;oe$2O4Gd<@!}fZG@!k4S}|J6S7h+X1R+EW7?XaxGUVAW8ac;E=+=+ ztxe|~VJa*sCSI+79@%pDC%Takw8(^H<7)KC1i1hEUR%Po^^kk{@I~NV$Cc=NaL+CW zcS9Bblot<^5z9GZp%!OGT+)2J-}l5jhkrZkLMNMT7%rT7^+V0K%uHVDgjrN@|0Z|x z3@27BCAgKFKD9fILz7sRTO~xpLo8gZbAeYWG``m;y&~xcz`29%It&lrQ#ej9#@Tp8 z6^Cj4s&pq`?6AtdFOdo;!F7T9(>OnAE-eSjq!=;``V5=ekN5UD-{fc&Pr$rNuqqp< z!^1N-Y-%SkV&;GLId&BSFFbG$u+$-16PZk17|>sqh2}!}%6N`1PyG z_F!#4W4XqcHWW=vI-)=`-u#plHm9rUhluQP*SGR}z6|)=o67TE=+=H|CLM^MNa9-y zS|!Y|x(BwVQV&L)IH=gOYS^^`&PF>tb~`6 zi13(M9ljX*>n~~f%-NumI$QWjnOhlKdc-!}9S5EE*V$Wy6KP<3MGVqR_Qd8IUDDg{ z+1C_eq}Aj6H}%DfDO%*2yFd-aXv`tjRN1Pnifo zeHmqp@tVmuP=+KgP9b1li3|N#?nh#TA)|Lt_4kfQdg1+7p1n`ujySE;7QC`wo-;=u zG%xmgF0#Vp@1uHt+SKtG&8W{}RP6o6=@FTo)87YdyT^6e* z`|+01g26hNd)o3x^FUke*RY+R;yMemw6jTXB-4KwWGI$(WF(L%i>~*skvK6LIq4+z<(skvW_IY*(r2oHPx>&XP$qy(!nNviP9K@qu_0z*)2Ob%#5*DRAz~l$-I)VJ8 z(qjl@)g=9sP3qlspM~f%rqOffTW!9BesqAS#a4lyhPinWtCCT}1T#@1y7Zqg-*=X(TqxGvHYU}!&19`}OvUq7 zlWp%aiqN4d!LC$0Z>~=?DZQ?-a}YqQHl=O)7m#iY=?LzoRda!zarPV&ZyR<#0~${y z<{dbd_aOc5Ig1vDQWZ{$M4?WE)#_o z!Wcz-N=5=EC|i(y_JQERU$&IVB1fs1j4@fb(0G$N{jr$W0@&XqMf!{;l9Bk7Xp7mW z(tqcV_BUv{_d|AlR+ZvcJOv6kHoGEE2XbjMGUMu(G+y z===RPvj<-3Gv$fE?c|R^X1M1o66l%J)@K~&h(idIBEyy&!LrI&Zb@ZN!3MPd2h-S1 zGq7bv5ohjK!>@XNS^FYfx59vV3~x18zIz zOfK+fWe&78+936H70-i=lI>W zE2I$SEJq~k?E!#d0r5#9&nOQiwG0^O+{OMyX!Fw+H(2Q>n?f|HQ=uMz{Ub9GTd=)~ z2$eGZ`tBiVDOw)WW-~iBdE`>XX{L2q$&_nyRliYj1NP{gWAi^h^y!%=GkE zzPeY%HHlev}Lj)U*sT z(m6!c`ekGifU-K;lOx?$)Fs(Va|{3S~I41~;n3#2%smDGwb69qDs33-V`JW9UEp zCsFS-B_<3g`-N{Zk+ET)#AVXJC*g1#;wxT$^ZvjNex*t{fp5t79!@VZ;sz0;@=zJ( zb803lJ!@XRBwsO7brX-jbq{FA|IngipDi)twCl zF+bA_-!@h!M^bo{OtzZp}lM zWuG`H!=)wvCsh1ix-&vK#yeB4?%#y(omP_BgZ<7z+Luc!L)fe<*DHeQrAWt!8_8S* z>;h4mn*KAS@o?S-A$-PjKi)qGyq;%!BC9@w_cq+?94)`ndwu4Q?(ImmGT9>Ozw|!n zl%cT`D4rBPBW|0ERgW+2rKpstyp|?+*uWy|fk< zdc@U!dQZg8WR|?`5Owy|yMSP>k+7jtGSl35gI3{~dey^t?;u(~RzS;^GviuM8C}gj zDA<%!X&!!3+h0Ws6;NFKF@0OEv|##c%=LPHFu$iYMszm=2gr#pWH!3(!yP5|6FMY&DK`S>=^D3nKPQqXIv)8tON(*HBx`HgMe5`mIR^Hp6=YEr2jL3QAtEzp6rR7AnLL)M9L0~$RVg6Tfb4iFrX$jJpGH| zMGF+<&E#S+W=k6_)pPEV*_gohq~Wel#R1bok-RjL3g#HW03i_)ZW07n22gs4_hs9I zFNuEN4?EJ~Zv2kTW|A=8-2|#)-h8d+TY0O1g2Y_Jq(p|R_((zxV6QFiev5Z`%1Of2 z{?I9_r{~a3I^j1ziavkwZMTwm@A}@rWD0AbNW+-22{AHLW(o7n3CRvMHKSGsVL1OT zT!1!58%PrWMNV{=w>Jnt#1!vNL`oDn=(63LQt~q;b8xC`i6)9`g;AfZf~kir(e^aX z!!iMwqezyxy;;61u5sUqM%nL@c``L8=`Uuk$G9CnR#PI=U}(gO-iNWQdxcUE8<>lB z6=koU4hm)DOtC20>AHW^F8TC2(FZ%qz^?Lot=W#AKbrnQZzwS?xYsq(@SJXhk7&L? zq~K99H#==J*OY;*_0uavpYYmU;QGoAsG7K0MPjbSn&+Pi0>%y<(!YtxZQDCtcqzy4wM zI(&nNRXpn-l=-d%@{FsDxW1DUN41odnf!z}SA+#p>CXi9V@*VpO`Czz;ZK(IPfoUG z?>4XzP$cjx3ULylFJ@QS$Zp9#wO6rNP8p~i4lU@s>V@1M{_mz;ydz=jTE;5HUww}i zT8OTcYgFPsQj*T=>aeZ;wJ=(l?srgb-Q|Xt%bD%ow0!Z_{@^#+QZ`KD^ZIg(L3x;ag6PRsFRc@n48YL z!73R(p3x~)YxaZXB05{3U!5_GB5M*4JRs+usn1k5`oefUAxjL}+x0#*!H%msCRbCF z;(o!ZP!dVGowB|-6S0g%yUnXljp^pk%3&d#7-1=gHvkcbKO0bo-x><{)LxoQ(U-A7RCKq`tiiK+B%#@UFjZpLsrc5u*kyY?rynBPrB zO^Da<(uCA`<_`p>r}Be*Yg+8 z(17w4Q}KVuDJY;Q19s6Txnuh;V4eYtA|N}jqvSeOfGGhN(42E`l4|sjk##bnHJSJfR848qJ z&4eA(>Hx`IiYJS$`nFR(HD)~*WD{F{2xc;Ue%LZtrS9Qi9vGY4UCc?cP@?~G8C74u z>qRCpnN6GabZ|DQn=i>RV3+ZhpL%R=K646_}R?0zsz!hZ-C;VcSr0 zUL@7*LJxQgn@!4zdf$ueghGn)a$lkh-?9hXit<58#`D4sT}jl3SMxB@D*GZ&GHZZ$ zN#-0$q8|5%_dU2`+r|MWlP_p?&vYQA*@U|n++-I175Py+b*L`z&E0R5L%x~E0oG;d z1Nn)jMKmhJF(9-xu-FSTQIA{8#`AL6Db---2b0*l;JomJv}h5seFNbrk}!wggFCr` zD)J?>2FO0Z5NVm{4$BAhW%8&p4tV7Ll$BX1qai$MEhH{p547S{0l`t>uXp;Q?+eeU1n8Bol?c2OvC`pYs!;!w^Ow*Ra0 zR2LM1z~@0oXzod@Tl>7~5RsVK;2ZQNo2|eC^}4Sbq#Twtf*L%V6Vcvn*j-otYQwVj zQWchuTP?s|zx5qh3a{^aM!hwITNsg$z45rR{}eY}AWjqGyyGCYnzjwe;^Rw(0|~kB z|G3yC%)++6-~L%{ua0YqKW#@IdSb9DlWWWd@BX2*M9;lDbQs{sGY);5B)+g=FEl+>zS~-g`aV>pW#H_ zUPBF*DUTC_FIg3vYRq3KaV)0F2OXz>%*k&>3rq)Qu;=Mt%Et3x^Z^dDwwH+;KRrU-VDw0T%0x@~sie^o*y#)}1Qb>?^i^f@{Sr0(j-D8b%&Vfg0*MB94+bSF8Lm7lmE)@&Q_^zqaF*Qn zBW|%dumIG__Soi8$t=lc7nK(GX?VsKGx>dcS1rLBC9g?jxL{&Ipz~2^IBbV`tS&4n z@T;`j3?!)G_X|2lF~vZB7mE_j@9b=br03(JVcV>@esGl9lSkL0U9^p+}3v$S<(q_O6m_Jj%L2#KjEy{=|S~nd^a0W@J z0CdT@y6*alAZW5cm8bocww}Gi**=~u7=1%@bd&Uh4%i94&&bM%EJi15){>PqSj}A} zb|St{lpn<`fCJjS+hiI6!TPW`gF^B;?@~-LH`%wCo2-v?utE-9v%L*3x#t8&UlpnO z-N?)6NDBSI{k-}$3f9L3c>qfK%HbK>NCqeJ4t(ZQ?xRQ#p%;EP3i{xL6lYTIH8Ux( zMw(k!`1OhF-(X<7?#fRzQJIKJDQ3XkfuhxP7a0PeB;R#qS=31HF?;k*2FADwiFkV0 zgP$?J|1*@B4esJmHbC-en#R@Lub0Kd%0iB3Nm{WR_Ooj$MK<6Er)hVNO})>r@k#r* zru|QFanY4;)ou42>JEFNQ8ONFAGf6GM;yp}h7ICTJ)z*Z=8z7iq6J(t)424I3iPk> zyp+PpK1p;6S?2z!o26?wY}mAm2_XmyvwkDXHe+4=iH2pctzN75ZeiPAClv}SSTMUd zl)bVklPAn4Yu#zTyFfC|%Rs)_Uei@cr=EPaFk~_0rA|!m$GPC zIhnx-mz>w;qB4Sd`w&*n4ZT&jo!kcBHKXsLpA_#n53us}eOr0;sE3!&9t_H}W}8!O zOL`|zd=?0**a=?p7+Fo@0r|C5bF-?Ly%)!tq3(;Gzakpr2+=5y_J~N{QqASS5E$<_ z#ATyF(Fn7~QBV30F!UeR6B$`hD*5FfR%ePWXn8w4N|J!z8$$0T!wZ~y(ipSK?QxqI zNky*O-F#T>kKg;|OWT`S20NW**%zIpbV-}7( z_tfixoIPEwHUIOg#aVQ?jc}DqqEN5Wi?A&7w}wP<;-Kxa{IvpoM}a>b{Q_XBzvfpF zXvG%JXS?{7wC(eVie=ybgL(fS`wA9ipNtpoz8DC~T>J(RG6daSH@ES>_kVtHZJ_jb z8C8M@*r)y|Xi*ee(@3y?gRWz?!4?CLmT>epf_j4PP#=Gd1r{sO@ zWiV{Wno5G&Su^k_ljPMUU`eO_-Fec*UWftYJn)-vcW=W0VhU;ceXuLp)Y#Od9R7jB z6~?jGjL)jPBX7`v3`T4@zDn$2n?R~<`@Dg>6v;Ir*#@?0s^<0M+%wN+lPSCnA;vg8 zZ)MZC0#CEu3?8Wbh*@0Y>W~QO{h1*g@YYHythnP2W$i1$^9nflYpOpTGAQ|0A*2OY zdBrPw9^Rg;S2@xTb#57cZNKAWlq|j*H&H1C->_y=ZWR5Cn#;3Yg1q({7T}S^rIQY9 zm5*hHbL}eE3eqG;>o!mi5tHZ43PRbZIKYu6WfPcm@{yM8d<3Z-ZL$VOsTLa12`qQO0Y zs^mBE3SmOupA~wLmSS0JpTR~=Y&hi|^zN4MB{T=o>A^O5s0^F&jEu zu2{70bes;*_72#Ej`?{U^Cs)=DUf)CchnDaa6~mqq~KUW_fB)s{sut%ZApn%CKxUW zf!tHiLv?c@hw{+(LD%}hS3`6ApQox9L2=CCS90{7h+kM9`P3hZ;m5d|5)QnlVf6}I zsrzU5EDpkFrrHL-#3d}A!Ibfw_L$YIF1EucrT=h4XY683ZXU2|lDTXKL5;iV-4R^~ zE*QD7vYYb#<1?bM>lVur!`y_y6KAI$J|yfH4kEPn?NQF4ALeRnE2@;o;awEIf4$6c zIZeq^{X&Djk;TwESe9rc`CLsnQ}?_2lWWT9vlY2eBw1itSng*M>y|{mW%U07&^w1a+ zk0qFxm*7Ay7gsBLTDKoO`=_CZBTdTXqFKm4ET8XF8&Im31^9@hjYzH#e^?!Yy5b^J zPa`pFJ!`Hq{aeOO+M{LFa@dyOV&ibwiWTIC3ne@w8t{M?q#a5z8*nwqRz0zKcZ3A! zo*Y~#b$UhIjQQR(I@Iv3qz~o{JAVgPm6L*!xQEtVSha|C9^EPC?K76%pN^-bG>)8%Rr8IFWidZhBmz@2*N^qaY|eLE16 zBj~?f&=4Q0R%!m%snPO`D>(8ytV{a$V-n=?4ZI9(eqcFo+nfGne~glj((&dhBYRhN8}j!)_Boi@9&WC{ss3^> zK>Pp5Dvv-)j0APQXpYL}QoAr%`km3A)Oo9_@n0D#HjXo+ZZqY;7VMM#Lr^a$UPb+p z(Q!YT5@J8Wjh7Ymck1NSi2KzMP-V-|2UsR|=s|!i9v@gHfFH};fenmJ+ z*f3yC{{vkv0Db%7C=+Dh=gtWDxJy0|-Nmg$zycrY`5mnqFdlht9%65XLV@p4iw}NT1b|X?^bI+}Ct(0| z`hRo1_{5Ib2Iw{Tl}uOeFHZJ={o=l>K1~2EVXvaDj-w57Y36o@CICKe;ClmqeEjMu zk0>HZ!mO0lb2ZdB2f9cr+viwPqVVndh7)rJf$Zu^i!HZ%v`9`~FY6Lm^=q$e#+i=ADfN-WgA1GG3-@zXy@BN#qM#_X?V`=Xh(=k3YR+AFL_}0`kW3~xC`v3Wv#z@-g z*SVGCC{O8*ewLTjiTdpzU%W_Qk0{155(@_@qS>XfqxrZk{EmRZO-R!CFJT=IMB#gK zpZ;YsEuV{%e*5fivMS$DqDs7ifFs()mm$nhGflC>3oOZ)keOVfp6zZ@2kBoF2iHX& z5X@V>4}HcI(zpAy4q)r)kXtz@_%Rf3#0Q|9<};-~ScNAaxq6Hy%H zpiTn6wh@vlm^_#ke|d4%ZOr{LJb{7R!$btGrK7*ANO-?<_7T=VYg`&=Gqk!h^M*%@ z@4a0lCjhc|3ihQ-^O;T7x`Hl zO0M7f=wFyR#Ubptq$b>QUQBV6D85B-Vu~6 z`x`ysQGYrHs;GcJi{W?yh>VA66IH^TbaaiNZ6D?0Vl*dVVK^NO7R$8@IKp}9c& zjU=Q2cX>>LhB1=edI&M&E0{ev!q$)V$Wg5@kz%R;j10YF({}@JaiDcR{xg=Cc^=^~ zi6q^X;6rtNOyX8)g`!4bgA3eu`uF71jumK*YpE6-Hxlp@jU-|}Q zhMaEwa6eKT(AIkcdNFmq|B5PUsy8>M5z#RsQub|YCbIqU3zyRjSp?SRkEUHg#^S3}B;`=CYfAXe`)Q zFHj1|AV=IhV>`zeNDl9hYtk7-ICqz8^iJ-aSP^>v9&y}@i*wxNy*G8!n*^2i*DJRtV_r6v8t#bHqi?Cc z7Fyc*Hz(GY^F7l=HlLq1h;7@8I>87hI9$i7nF!P|)7GSo#Dc>7Q=wkW+N;3t_v+|i zE-?=Eg~G~oPDMoRn3`+PID%_`h#`q}d$Mi)JFCV#j}*o1>hST^hUrwYap?yHYvgPC z>@e#?O{gR(HD(>}TUtdo-r1LJv%4NpEFMetbYj8x-Nv9>?*5YO+1$Kw4WjIf*T3uYDsi<_GwEGdP)QV zWOT$j4J95~(}bfj*K=^NqyZW9>Of-;cm3iZsX4I`I3u0_X|Gw>LV|J?!hDJm%$^IW ztOzCSXWEtSms@fC!HoVm=e|fZ<9q}9j>yjOq%<4hUC(zR6Q|RuSN%wXpB=nHu%Nb0 zza)D;XE`w#nbk)Fm{wk>k>5z70)QF`kg&gh!)8--;UhN-jvZi8!u|C7^Zb~30s;i4 z!f`Qe^os?2!11EKKjOK@JJWoGVVd*Q{+f`>4{{_Mu)}YQC`y`7`nFYG>Nc4xqIaYr zZclOjud)RG2(AS_^4R_%@QUG(EwaS{O(nT#?Jh+YqdyxULa)J3%jVd-pa4H2TqC3a zNFLkQLZPMmt$+LwY94?VWtUU234&w_ii2Z)|a+1U>R_ zIZxrUdlNR{!v}K*%NPAgu`02-HrvN}%E4k8NkPZl?GK)@Y$I=~>IO$@;;xv6Qh`iV z#!lyZr={LWq49SMbwXcs9biGB%t^f>q3~i=JVJ>`!eX+&>}1u%oO6ZlY>P*5uZK$! z2%zmVSZu>@0WdJiuWoV#tMJ+f(~as)9_4sa%RfK*cw00;V^avxs>US3IpXc}+T<#z*lQi4M)Lh^{sa4oVutFhwi4)Z7h+ji202s&bNFOA z$zJSZgHq&N_N1Qi3~P){%1GfeA8J|Sny@`RXP>oTl-_LyuoC1)=FV`DfX{rJk;H%2 z>WbqSaZqSqjB8wIrwI_&KOH;S2uRKrxq#=rtY<#p0?!k9A*?Y)X!p3W-|AVp-;7|Q z+CJQ{TMV+^+)e{CZ6|tKIFrbYrhzwd1n_1{ipJ6=u!An+r^Sar&!E}}N?9BKHMb_| zS4{qJDm}L=&iCrnaeS>YWH@XAE^#^orSHr7t1&%d850PxAqV-<_b}~3eIki*ZfJnI z>yr*|nxFtCug=i=+ojZ(9$RDg=$^69(5{h}$kr^JjMygv!d#E`M~RHUY*;JH0>fHV z@iT0(%!xjI0;?rtTVCYaBAVgCb3lzmT-R67tLol`D6twD}+ zmgK5P{!zgxq^RITjRXwlZYupgVX}8RQme?{E!ksJGA3!lLX+mz`z|@zwAMTU6}g4Y zGqCSVBx8e~o+^!aNM+rY{;Ji@TFySiSi5ufA`@|&j{s?#OT>0?%h_Q58O=4Kq3}kz z&RKMt@}EZLM?k~if+8Ul?;3hz%m#N3Y_yb|v)&p`+AnsO5zaNP{$NG!>zpC}v2#q$ zV7+s~oWwP3(dnsAw>^B66WonyNcC+J3V@ei63?iDIdbe@hK)&lFhgp7E+PGVY(9J- z#%XPDueBLxPW|mFRTZOthUnw3-OM+bXqEQB_gxQ1ru7WJQ7ggNmzUhE91Ll`BfUlN zSsNna6V0y9PBrDz^^Vq1Q2RJWXKdN0^i;vvvH1f3066Nf(JCQiTT8@rrxY{XYAXPR^_oL3($VFn`|8KzXUK8SrwYfNow}hA!nzt$6ob}Zl5S0dKUTW^ z%HQ2X7!XfeUleUdbbFMOB1f_Z+#D7qsF({^$_d~~W56`qUJ%DN4(`ewWn9gn+WLF* zM=ayzwL!vNb|=!PGEHmHuvl`9K(tqTLv}bV0gPyW}b zu|12`Iy+uq2ATu;3!daI^Nv$1@VTDD1L9*6ptZ-5c5%;eMp-LXBwv4GBL7w4LzDj= zmm&o)!l~Lz&n3uNd1Iu=NT7A@E+;uF7LKA z4K;Hr&NN?^Z^3#w!ey|Xhk2+%p=@qz6~{WQ!HUN5*RMXp2<>~WH6q!Qict_|ZImxM zjp;enRi=P*L~<(uF=tTd7X`No(n zm9`joeX`vt+0f)>nGS;Ce7VvTRb2W(cZ3|YJ22zQI?ZT~wC65zUwzHjVs1Tg+5(is zan@4#^^PZ!F~J@tldF5rAUg{B$>xayKWwR!WH?Ss<+xh3f%-jdE{=#r0px6R4+%@s z7=hxDxlVP=2oRpxld+%i?+X$QxXycQ*o1E~5rStlai2kY z1ZH?TK%`%eAahK(3hVjLv^@mNu-rEQF0g#)5dMZ=xvQz{Zy+MvWKG1tMiHt>*IbfIjUlPF0U$f{>8rt~!w- z%zUATeoe0rZ3$n~q=E?(^#cN={4|>h4QUes4PyTF;(AW-4I( z7&1D3r2pZE9y|(>N3MLxd5O_@KuR*a5vRI590sdgjDO31!WyE($Eo6)@zDI+MMUsf z4JxFc`%|n)BzVz^RMcX62rD+9oKKZ>GJYeb9=(mhrldp>usd&O=fr{SbVKmS3>ivAP5aM)03B z`Z}Q?d&jSBWJyBYDKgwvh5{L>B12dk`andQz!r0MKn{#c77X zW^VP;V4GId&tS&U35ef@zqw5tW2UnEr0q`}!2Zp-{uy^6CPpsYD)jj{&HE=+?1j2^ zJ8j+a6V-S`qSj=3WT9;a@1ay*Ij^@i6J4Awf2%Ghe5it@giw^zeld&Pe-u_(gfYdbh zXKen~^i7tK8ha9h!+JdZ6rSJn1X_ggWplIa9Wcb={((Eq|87OJTvgqv>X0Op@>8w=2o7~S4M z?pWJy&HW>#Oj+J^bdCiZ%<=MG5!*0Dy#_?)=VRWH%!Z9;RDlYZ0!%+)>%&2ERoc6! zP0wiBcuM=5NCV*0{$I@icN!&c3wj|7+0?AC4|Vfb2m(huJ#PcGAae)++twHMhQhhV=N6iNZ6X?ICzp?9v(V6~Syvuq z!%}<=D;`?E2HX)rPAx76^`U4dl#$SR_s??=z}?-0e_ScdYLlERRtCE*o0dR&u!Q#qiRO?wB7fLS!%+BzYuahhQhT3fp{y(dV8*JGZ>V(HjfLPq;u1e& z8;`2QL7!bxea--~hJ4JWCjj%&)1?D;^2VANdpaMdL5&SxBvzvUsxv$U*)s3j0( z>&PB~3Ohx-o!Sbx=GR9tO*boEWZ0mSi|H#i7-xxo<0d!H&wphzw> zn&x~^JC@JA1Vg@oBH)<;6ika?0z#6sc!6!RHgsqmzv?xM`W2HZI3MnmP&EPbW@MKk zvQyy;VwgU6e8zQ-k8M=k-Z~4#vUt0A6qyR`W*~{6i~+f&S~=a?D7rz_-pRH1m;VrK zifH1xg(Zo%&^?A>Tke`iJ0Fw{`-Pv#Uh`0Moks>5%BEFhY6N)RU~LLzeCk1zgsYqs zdv$5|#C9u93*$p#FK)cJ$?2rzSvTSY-(3qH=U?#1(*9YB;5!oV(HiVXlKh?kB!~Q- z=Zb_)n+wl|Ajt%?9#XqCm7U$G>r^4A?)=V56-$uC>-Oc;%z1TVgk94jw4nQAYsOW` ziwp^*pi51zl5-j_7QVIWYKG6K!hfiW6$ud0NGc~U+lHkgu)Dvwwlz+cu2}rkBohzV z#UMA0a_axZQzHS18_9ayREpWQ97&HthGWxGeqnUuia@*{qZVFOPCWM<@C4}aVif%i zB|a?W)dO$8QYJ36;$g=JGTPa5Xh&`6+f6$IFc{X%W54It3xVtO5q$WP^{@JP{otq9 zPz^>TQYxlKy=+vDM&W~712AJQ(GPSLCttit*6naq^@?VmZO4fOp8Q*9B(I_I&H|*( zBxUX&!ep>ruJ^)keSOvh(T0wmbdA*>^Z)9=JZez-Q+vpa) zrhB>#BnnH9xwAPz5Z>3Sb~dwyTo*Z~Uh_W#U_(;JpE*6UR~NH|Sb;w!;1xN73Es;Y6a zq%eMG?kxKOfI#WQ#T9tcTpMnijPQ&Y^Neh~sh~lk)|xu5WpfxvrQ4W;20~5Z)eX<> z;?BgV3ir}r_mMULo)??Ah-W~3Y6(V7dzeEauG|km+S&wO$20WG(w3!*vSNr05Y63iKRVIrO5bI$gAqpYSGtq)@hTdQ?7;yn5X; z-*uA@?QtW1Bfb&w*@R%@`{68VnmTmTIc&)zd=wjn62fj6y*%Vg(E&K zeNi@X0f_@2hTSP!Qi-GhTDcz5^>lq$EfkYjxE|PH z!_k7t_3G+4f9&nEuX155alYBqjL41=83|ghFB1_iGEH&ATQs0Px98l#sMxB+Du3#k z8F`nCjqY-`e<&ycyk4yAfzR;tuJ8OusZ+as?#|Vn{5#|);^d!G%gc%ExODZ-PGGN4 ze_q!h3Mf7>F(9cJldR-lPq;Kdhq1kSvqsH-9%+aT-5^V&Ej+0;K`YcdWfhZ6{`0Tq z$KUv(qzxvdk}HF9@jdy%_G52ox4$5iUahffR-vQ zB>q`W8=)Fuc)9y=n&CNGI2ltB!G4{W5 z4lYn!`?$i=imL3#TF5PDjb|idzb0Db3J2z#v)L6jtGZ>uzXp%vzIKp}J!YOALy;-V z0#xr~ok~xC$xY`OPCOU!BI!Yn#9)P9(GP$-up^4XHaoc-uwt%m*mAMX$|??u+#7bL z*o+q6;~JyBU`3KHuIJz7;+ayb1H<|~ZU^+YbcHmA4Q`S~)m>Z$HDpKLC@c|CTqj~h z;s%k#a8|Zuy?J?ApYP-1p3* zEepa6Qz)J(Nh-S!G(qp*WMEpW5B#>|qtT?h`zk;X!9-mkULS$A&`IyS{Nj0ghQt025<@clR3d|mrIp!o)^cNHmJhBe)EwBKoL^tOqu z<9wf=1PQ@A!7QZE#$lCen@hBkmVa1OMPN}>*5M~M%Mf(5T{E)(-MuxM7+JA1>OK$ ztVYYLtEl2wM;wRLZ2(v;zVz4-s-2BKgE1=@1<^kC+f&PB<2*r# z?rcI;0Ze#0QamPa%|-HYVp7HJ$N_dM%Sx}s8@Ad#$G)wu70ZAcK!U`nAOZTL`npjH zJ7Zt_Kr|ugMdj>1jtdNc>0e$*o|xqTJ$O=neTFmo4iO=b2O%95{$4~+Tao|56|2_- zo4v7(TeclZSyy!WZ1Brv`k8wgrSRBeooiOH|M|_CI3m#8Fwh^5~xy z;z>n{8Cdh??xz$!+#575>xPIJ6CVrp>5$TF#_L{){acS``K)zl38f`@I0R(G)!asJLo~=Gs%4 zvocz&-qEC7}m<4Ni>iem2KCXY+oO`IZU^FpT2{pe9Zt?7!B1k zs_Mnbu(7FOIN)=8=`tm^pG}-`mvAnUf-oNWAIqSR0mnF_pXQn*&%n0v3K?D>Sz}pv z(bUTyz_Z=jy&|kX;d50M^k=g4;MkvYS3?qe#XdLLLX5|x5ePVeS>de|ti41tsXV!; z&F;8h%97?4>8ifm3jKBpFSje}h(% z9ef!J_F~rct4Q3sUacyD5(Z=7RUA^$je;%MkbK0u%PwKsTN2|$dgqBw*mHM3KW0eN z#1E?p3k50j=F=cC_*xhd&_2GnD6;p5sUV$WKMaQT!*QLIIK{`J$X>j}ZXX+8^89?EC0fOw zH%4T{5*@4dBCFK+Ot#ppG4#e*$Y*sFM6CK|XNzNJAu6zP4_Bomo4+kEyH)-Sw%*S^V~DZsI} z9hAuAs3(mmw>ib!)v@0Pw^$NoKtRJcHi5;SE5vh`xy9?F3UX$>V)wWvr(y}zUf1gQ zLMcHfPRx2pTEF@twXQdPerIKzd{PR0`(g}bi>YUj{>bC=zqEB^DATMO+0mU&bVyh* z<|o$^cXLzkv7MRwihi{D*vFs`Z?0G41BEg=BAAd=_Q}F%?WHbIMWZ2+W^JrY`2WPcZC4Xu*1AkV560Ol0z^6Ewl^>o zN(s^3^Zx>b*I2ibYIQxepU|Ro3l5}qmp*mqN1$I=t~psLbgl#fMCx^#z^$KLUYYg zmD=iU$=+O!Q=5?rBpH83X1g99<(#7{T)p#k8Mf<>+hb39ry@Y~Ps!8GCIcc5ldU7Ae{(hT(ofx!8`)#}><*57 z#uu>c7PQAbJJt0za(hTL$)45+(}!9ztFfUzJBmErAmvZjd6@dj0AQ=+<0 zMT|K6ee0HfpjiM+%>G~vp~2JMQ;-|`O>3L@UFDq>%9XbFIo2=C z^ezYX9n4Jpwy8Q=_A07WRBrjyMdr}6|7{?~US-%7$u(Y_Y-%>=mCA^!mnySS>s4X@ ztL$O)lyRk5U@ty;LAlKhO25jsj~)9;iDkFcBb*2(SdaQ(><~igMW@%TPjM4i)02kw zSn^b2LuqqOwvvSd-J2MLB5i_GSb624)%EMi9fjdm^A)2?gczA5Up~Tol-do}T7#T7?grjfBP`b9PoRKAhv9 z<6_M{H}DsF>9^(&V~+OTQZtVmrO5UU%vQeNHv_WkG>4hR>mL+C`REkY*zIE(LSz(*E2O5NbBoZi?EJBMKm!V z8P~0I7aKBBi|rlpuCaoyqS5rNJ*w=J?kNTN>u^a#2w)%6*m(vL9~g{B^!*(HEsuxG zDe^l~1+EMkT=rQu9@i#QwR?+mf$x}%u%5B6)OGztGv1bx_Q@_j8Cy_UtqBds(LQTh zx!^8)l;+r?lL2jY*G$^IB_|^(`~52!5nNDeT2LRcB%Z(__Lu&9_p?n);HnC8%1i!F ztaT~ye4`GQ$>1?3JLmdd6A@Ajvzy3|v|D>-yI<^&^2DhBcH2`_99B-dHe>wuxJ3!D zYH6pg>owL?dhX><$&#u+;YG=|X&2ew{G7_mq1q)b4hg&1prxk*a_od~RrEAmFt(rd zt$J~b;!{r!uc=drr!pSb734+(6|SJ|_T)jeZ&+g96%eb*Phz+9)6N(3J?2xi4ZW1N z$(mw_5C0}XmTHg!vDA@{{O->*&*r;aT)VrUamIxY{3^adNmUv#rKI?WQx1}`Z_?I1-aX}gf~4(&STg;^m~?KtU<>pY={i%)gjlf|_V=p);`u1FIM`*R?`;MlKF=(q zggOKMx38LTcgvC{R z3f%0q7@1bGInGhLsMriTS`nHzvCC&TF@kJjLc*v4t85Ic3z?oPf%#b0v@7A$Hr8op zT3%f6Zu)QHv0K1ehWZ3Z_LN@X9=kSlSW|Ws_U}G>TBBW-T-^?ShbJyn?`V z_(Daz;+SqV<+^UXcjJF}_3{%%T(xq8M1tK}7CmeCOgYPf9hdscib1ZG@pd74KK}ZfXhux4GCH8IcsVo|btUvvN zChj9SjfGG9D?Ta$8{b>Fid|mr0k?YI0ag0U+uTB+5s%g9aH;XnZf)9G-e*g@^%wdq zb$$3!wqQP<`R_Ty(PM(g+5DLLcyy7dTO6sxh(^+cD(IY(CtW|x{YWOuv7fl25)t!J zFKTAC!f5TbUP5%<2dc?L6zTah1eu{WeQxzd?U zRN5aiKj4Mo?{+`49`>FrQ7=XT)@%rz{d#T)B_avpBhHT1Qar`2G#QFf_f&~w^Uh7T zX5v4sr-t&$ZbPMrA(J=u?Z^I#i;UQ!Y76osrZ+Yt!J@>-ffXluH_1S*$K+pN9Wa-* zUnHC*?AOo`yS?h@E1WU>3+CgsrZrhOJ)|Qk2E0E_q^=zQRC@gghubO=06ZVJcj+g) zS598F{6rNWKBPxb%bU&8u$-?}_#YT&7y=h_=G&0Ff_!O4cc*PUE$vHJ_#LI8Kmvi( z4k>6uYH^_vQT*L~YgF0yKBVA^VI?G7P^Vz`qE>|48#BVl`5%v@jYyQFm1BH1C#uXt zxxZg&5IasIgh+Ecy`0`0fo;vZcchrB>)Nb{|6KL;m4WA8(d~%%>YLRmSk@)!;Rz4r zYK{k^n`C7c!Xuts*Hv&pS6@X-=LhsNLK=-)P#{lO59ZJ{Qn!Dqv837DW;jHM9lsi` zVLod9+a+XWH{Asq#4$I|$i@mFNRa(}8y>YV3&F?!ervrNUvbo(+S3U7+M(65-5qzq zk5C7FeGn+t=A(WFGY-}jJhkK?MVSV~%PO;-;fbU53mWKnyxr@s;}ZL2mWKd3Ka)IC zcO2(`y|TaYM1~X(az~vfncXX*9^cnaM^pqUqo;NdMb`avr^9~W>SV6{5t^^C*;LBu zqP~!!Mr6UMZG#F4sQs?k1AgY$4DCqLdpy{am;hbuZBmH+Ol~&u?j_{@`9&gsqlqLL zG{_3V&sJ3@i=6)97!(^hNcTHfCI5M~^>VXE#8?({A)qj!P`1vv$jtVapFQFlnFQ z=Y9j(k= zM=<@bjbNZdqJrb@(JRt4*jCQlZPzDoxPKIuey1yrTvUK_!FEwi&THmCMCnD0al|vG zSz!#h$lbvY`KFFzLJG;-wAe`jSH$=J)_g+&W1~l4o1aZ?AMPB|e+vFlzdQF4Tfl8w zd&Q6R+wtrNZlYa;h;XHrkgj|nVraTE1P}?k!@NCK7oB>BG}br4ibTZStVwkb^qa#K zs`}r8!seNj^&9duM(1XE(-^V)fE!_CgB0}aD|6cyr=M?VQ8+=2Wb^JY@qRk`#gcrg z5#0EmS;Q;bX(JqyH~v?&ckuEIpdB5(rL3V zwPrp4O(WEUS+Xm)UkK|Sljd0g&is%^Mkwnz-%8?mgI#`d56VI;)xOP_>Jm=cY7#!N z**yJDq%eV3x7+bXgt3^%HYCZ)_I2Vgp3!~3zE}AXGIH<0O$VZ9x%x@!BeMQl46`j| z9-|ZWyof`T3uxoo@GGo2A{uRY5GAGT;Zm=h@P3cGeuZWy{rnnsW##N%2vu1(0hHr( zJqZXa5SDCE4!hfM5YO1YA74-8>_k_S5G|NHyKMHc$&Y^Gf2lt{)`C{~78z}cLtgF4 zG%9$XZ~TNaJ~&eOR_a7nU$bSXTpEJuQM(|Y>8f-xK&PND>pK(cxiDA+70_6#uc z`Jhhbb-W z_b2xTPfS=n_uT%LG!@%`P6lOC{h3i#K-uR*R%P0^r}MofY1Y;>A9J^o-ZvCip9%T+ z_M$;Hf(lc#CfX#8Wokk$44$m_p-{mTE!S{6|HwOoa%$%4Dz_lD+*v!a_;s}x1obzv z*rbR&xk?P}uK7s`{j0H8%Lzd*Z<2wb4%pzL3K}|tq$IySv%zTy?)|@T#z#jQ2S4S2 z9Ch2vxtbP)()jeP5=?h<%`qkMyEwr!%!TkOXfLZkpTP`xSFk5J1hyCZ)5@mQX-hy3 zM_2dgHO6JDovQhxy~_TX!fN-LhGkFBX-4VV7RZhL_xPnwj_879)`B|84L5fq)bcxA z?1r)(YG#Q;K~Ap!o_p!+%4lzEb8n^fi-!0(Wo3R9#3JkUYrF~LtNEOBMUwk30eu8<+HnBXkpOW+p_oifY1h7 zKs-tj1ST#;I-C8gnAJu<+*c9{si@(urdd|mimk~DWY;qEzO)*H2Up5`Ml|RqqEku% zpt;jEfYN0%ZvwnudmlcJkYwpsw=I+4rF$J;8f#eR$)@^zu_+iKg^1D_luC?A6QxQ* zUp>V76{pi#hd$x=yu@6y5^?_&!A&)@L*uaTpDzt!l_T3;-WET-)jmgccZygEYtZpE zG@ktc493?_!V0t~I^9J9tn(xq^<=z%?y1K!q;-vuw!x}7jzla&-r^}J z6_zXxEs^sawdHP{VQ$>!6$=KrsfX>q81{6(8o}S#u82*Ud{0vEvScZ{HG1Hx(vXlv zUE0%Ert|Lo&<_Qd(vVa`)3dx$t4B0ZKb?zs@mt!q3H*K~{Y%v=_QOSmn4*LD#H&_eMsmbX(aUkRBX+Sy!=njCa{&RN_|HqU(%9E;#wGKKKZvjx#Q9JosCm z)W}qMH?Xgi1Gn^5{*SLSO_LQzn)QY%<3VTu_P?>#Yf>O{g3~|lcdNRp@_2%9`CtRN z$hrod^PX()L1X`M%xo6o5!7y1yh&I_5@s52^LQ zz{&O0;kIJl;_c^o1zH379F2FYrJunKO_Os{E!k?A|I9u&1Qtgd47g>A1M579Wl`Nw(#j``+uk!MU}k#`QRj^P5qlO|Hy*=`c~HLx1Vx3iQAYZ0c_1- z(8B$-#dI#=h8N|98QL{N%S;kW7;mH`m>#{T?t+4|EFQcs9BCrbK(M!@Dj9D2Fv{l4qf}s+5Ja> zPHbtUg-OHQg0M5NS-4AX;L$McTO3TpaGcL0fV&Md#wgLHSaitW6e?yw^B|2>-fRD$ zmD?LWtQc42&8O*g97}|=XCl++Bt@Bg5D5uM@8z1)|H&&o>>JQIA|itWApD+E5#?RY zr*e$kF;xyZYg0h>G(sfxxEuZ*l9GIpSvjQvz1JDXH59@P%~dabV7J*5<&sY#ML%xl z1XC|9`WGG!t+tQRYb2nMO}+6M%s4gEXc8%H7n;!~=ZaesOdIMR>=L2TeL_8gCtS~e~a-vV;dX&b04L+x-RGNG`Rs7Jwf@$?+bSAa6Wvj!W7L}2?_C& zK*FTFT8s5(P%}Y_gvtIb;=p=+neplgOn41tb1Tk;5P~%sO`V_CaR0PszTXNZwy{Ol z6svG~M3=W29p!l10~cHKxPD448SVhvjN{aJri&8U+8D(w5&2CI=U(g{Sp;n(kM1F5J|@!Z`XuJZ`0yi3zU?E~Pm1@%~jzc0;4G$VT}o9f>UN~c1` z^>A*4EG=hy0`zxqHn9s$tfq<=TYXf6Vn)a`YMxc8&Gmzld>;o>M*crjG9CCUrL*TC<)kEDtf zpLF)4hF#^tRvfHB?TdN_ROc(yyu3v$N|J-t_g4X49(;jNN9#}A*x;b=f*j`s#NPzS zt9Y6(x36Lu*uGQTOlC1bumA7siubitJLh5Vcb*s5O-f1bMV1g`OeqKy?@W6GsI+%{ z$Hz^hp3#jrH@KO5c8u{*jOcZ(;RuD)3MPKF@iuoCKsk~eqg=3lDB-WFT-(ZDGV3>{ z@%9Eolbv}_J#xouFcirdoO$35@XUpHj*79wDQ^)5KSI-u&2nG=o~oJs>#YWz`Zkz zlc4v$!|tsip-NUV@C9~~QvZc)JqU@Pifw;gnklw4WBcL|9c@h2vPEmD;lXN?)QMfO z0seuPM*v2G9A}lVG``tkU#}N2|Kk`*pJHa7Kw`s?8_g};1l$}%%Af1?NT=tos`wph{R_0@4Ei%_o75+9X(?i1Tx8 zs}bs%TN0|@N>>f1?}Xs}a5dkv=zhW}yH*MM6VJ%sWtQS4OdsVKTYb7vc0oAr#3jR# zWbCnuMuW@FUM!UD$`{<@)#q?VG%J)r(iylZKa646xcZJiAwhXP zgj4`p2XIFJ)i^G1b{Z!s8&QuD-@kON`fumBFV_~0zJizY z@Y|qOAszE2Dvcu`Q<6#dBt-n(#TE#EG<{1rJOEiY_$)Br@3M23Wyie^+W3C$+I+?{ zQ+Ju>XIxzOfkBh4+3Sad|FLa~RAuslk1NyJx~BgQ$i;j==0i-0_Z&WAnXilD8ybDk zj0NJi%yd+I->7j~2luXG_Lgmobb)3zou8)k`a>I?VGN+!SqEwy1rY-?osv7>Z>B2Yf%ycofjv&aiPkyxbbzsQ)E&N))5!ZN8^{W;eeem!X28U71a|B0J^B2Cj zcI>Pjz{+lnSuaPBoU!lnWU%`qfG}ejNdHqL%~P}@`!9L0pHP@-Hh6~b21%dZ?>R(A z`fI-LLgk0V`^^ialF!R4`%Wpo?99k1VD+))*L9bE|9W47*4x6a0ZUC+z|MkgT&S%> zRNw0#pVW7ZD@#f^!X|o>P)OS^do)a$J_}FMy8-ZJhE}NH^_+!x$*KPSC=qZqiyIH7 z=Z^iDPliKB^7Zcz%u+A6jzBMj;&DZ|{$5VC;)~33>42LA->ymSX_^i?&;7)w*Tplj z-4AM%*>uxp0=D)4;lh>9MUWeBa^d>4rZ?}ueiaUz%wmLQlstHBVtB&&W~+E!)@Bv&lhf@ zM%2LZ?Y4p14q&N^yw<4I?lLy9sI&Ka07kUE{UeO>eO;tyc!TSv09`;Oxz@8KBPn<< ziFB3pUhV#~EAao@Yn3asn4xzCliOZDFajABqu7{GJq*K7U%TV;XKQq^j?L7qA7@xi zp(al<@QvE*Ecu-L^vB{P^l*>3>RiVUGG?h*TP?eVfdWr9{6nk9@Q(urzP_^KppLL_ z43_jQf!&Yum0u+^MlfwQL~Yd7I1L9mSj+-?3GMuf4BFDjsq7_Am(ZSePiG(+vrG8a z8uD#11D2#U>ni zbnZ^2K!W%a)KqE{QO+a=krpZoEeNeYdSU~rI^Hr+k7z!bc)YK{I^9BH1gXL0!X!O(|+#AkoqCylV?o0Hx97IcXDnf{ea71rHyuzWC4ye40Y zZxP3?-3rx%HuT4{X9n?oI6XT9pY6Z*Wxy$}Ia-U2ynB1qYe}4R7PJg? z+mG?+Fmb>M;{}GGfJQPD_c9|>w%KqCC=!;;#@+1aT2AD<`#uRnTiigH(O~~M<~THV zm%W%Zjgcgwn)AhdP50VSpb9Ll2p0D-o+v%G-kr_VD7VQ2M>63aZ?n6+m+oY9O# zW1$rcGtxLuVqB)f#RvOk&c$S!E)}UN>80MA8Q67JV}l7?V{OiLbrQ-UWsn#7?itLG zUOa~<;`)z(17~Q znh&j^`!My$j}q+MYJX{;c+;2jbFbHN>RTf{oNgA*^H5TK z5v3Rrj3M!H&8E*O$*7$INm;LT}Aef|N6?> z(1bV##S$F9>Du&$752<|7t#!_D|X9{#71}x6m%Ho$#XS3hK!TluWxTf`K%C!`1fbm z<__)rj;_6cpOb69J4CZQoFP%cPn#GlB$#9qkW&H)Ytu8uPTojpy(qp0JLeqsln6f? zzIRs+aPdx&4&iRC=uJ z3s-%L#gO4_G|qFkqcP4qtX;%W;%&9BQ0DPI-=(}^Sh~V3ZQaNB+Zk2y;$5+hw|k{t zXtB8H5K8s0=wAgi?~q|kxiJcNPHrVJZu@uEJ2ZSW*!4MEuU4+$wla8xH4xc%>E;Em zw4QN!)5gw!MmI{x=}XyG2{^ppgAY`5XL$-YX_!L^4Ae z6YA}g*7(E4N+eF-AK>ogb(0sgRoodbw7n;YwF6*-(VGI>RQ8jA(&4K(l|q_B>hlNo zhsKF<)ankN(eM|iRDteV34<(#$alF7Ek3)<&XGk3c&%zjDDzm07Z0Y|&`R9PYzr*= z6>QdA-ysXkZ64SR=ohkp($<}jWG~&`@mY#zl5hs4Qg9+4S2wK|mk_2vBKqn#14FWI z)Jof^0SO+7?SOY)q_5hcD=@fuu{J&VaEJZlIoOoqy=J$M*RcpYf82!J#DX%r1+68( zQ1w#+@^2Th_j|Ij2|s@o^JhTg{upe^UVlE6OF%R^7`te8TdZA$BH8cZW)sFNp!e>z z5Mn%WQH2uFo96NiYfeQ5lakZ83V8|QgdusQ#JGh83+@_sLYD%pjZlULtef`r+c9`I zJVPn-rK!%&Hda>3UTLqe0KI~}AO_gk+Gx$K4->q&7^>Qm292rTOfCDD`J$AmSq?fi zq>a(YEx4#mt=;O8jTF2OgT?G`82ym`}9fGbS$yQXLWdXJe(B3Bu8?-|j!NJOICuT^REtj#5A#d@XYPOf^R)vh(e zn)cZ+w3pgfHXG|hAV>qS{lqfzHvCDj;!dd-ZvB>e01INyeF<2X3ybt4k5k8_1{+kf zA(Q;#seBH>{jtBhwxM6L$EHhz`P%Q2Nhs8z#(BD*hRfSV!Q6xGJ01Vg}o z6IP7m&S=*4JF5(gZAjYhGEAbZ{t)KTF(6<@zh{l<#OL~z=>CRsjZn(4Z#u$?k~5sM zvpl(&`@3?31$tE{9%Q#<>&FcFqotcwE-^m#7q*JxIp&e6npexR9N6#i@2$vb z-mtcEHCX6q{c!~`J%oi?G3|cP+7DMIZ9$x6_6%&4XxA{GL?qs8O?mT$d3uj_3&&F+ zY?l)1abF*&Z))Fl=gkvL@vExZaN4LN9OY$>n|)9kfN#-6JQw|NH`SU9~2gq|X)0BR;&Is(Tp!kU@*g;At_5;dY*$;&Dkik04%7eeSg=6E?F_nmJ86k!P5JK zt-zIkZF#;Cjq{U6rY=z(=&!-%o$saSJ9Ki2tlj%1?c6YwJ6aI2rJBwkH!`C_J7yUi9D!J)^t&ut_2DVrL#*CVX2}&ggry*;ABKPc$$Ot| zxuD=|QN)O~r4&|50$E51Q7 z6wIvGAVSifY{%|f$4bjF;UKu$tS&iAjP`OfCoNfxF{Qk1S`Q%E-+@kwWE^d=Ael_{ z!ptgS?x@54>^a%Ar#7J7DO-#>lMv{AsLSl|S1)&68SP?7eLs=S(8jJY2kV(#_-4ae z>H6Bk61_?{aeYi6EIvM}5&zMB&frUbUMn{RG%#V;;6E0cQ?IWCBJV%lkkgqdl<(=a znhXwua^H*Dz5=j~&?gohmcM=i8znB(M^viC&@18)Tmw$HVlYwR1EIeL-`?onQ|~2v?df7ec-yXujl9Duxih5DY~z zFOdD4umPqmbp@`b=Hf3&=3dw3km7!t^>lDUR@8uK-77ju^P>gBufu zL#KrFf+blIblP+TX-ql4reqA6_cc`$*UXO48!24xtgkcD{7)^(v26C}YFHspo5xa(kNmPMv$$yOrUPUnJL;oL_M z9)~d$p7D%v)s?^VkQ&s#8ZH_emZakg9#g)A;Z=}SfE#}V>uH=(fovOOewRyEkeH%F zNw3~PGrXB2r}t#s3u@UIg(3$NZneO*Nt4iPl8E9Jxv_ob;2H#)xn=wWbBtj2DV6QF zf$pFFEv0ITvq(A@w@a1uYjrEiEJ>~6;F6-5{@r5s4mgEr&oivCmbpY~1W9Up3$YrF ztyHN@w)^Dxz+4sf_tHpP(mi5ZMzIoJQSl>)ajtV2%4{VF*rO@zVhaVs=wbycn1&*-T>R>)DbE ziu8oez=wFHLFEd;9^LQdPFGnh3g z>Zyzta(6*R>}@ftkcM*dC1zv)mp;8o*!)}VCuh$tV4-p(h_JG~!5w#XD!s-k!FH;gW3V4ClJ*M!9*7T!3o;)8NL28e)^~&MMSV z6beSH&uC`41l~t|w&;yu&Y5YiJ&?e)Hiyitfp)i|XEAD&&x@<>`_Hgmd{x^VVT|)r z2KZX2FS}POl&>Ss^i=74m9pcD+x!(HL$+$Yey*Voy8=4R6lbcv*8d7@toN@nltwVd zTG$6beHnQZqoT?EVxdJUq9~W)YtV>-vK}=5_y!%vb%MoxaaNl#&1W@qM*1sQn{s(o z_rEtGZk9rO`8m{KY){rsaGhND>|(SU+@G*;e5nIQOyg@Ctj3?&A1lvlGH8-PTnG!9 zI4_*Eifs27>Bl;gaqnz;p!rnZF1AsAjN}caF$)gwfNoHDwH)Sv%`rCL2dKgK5urs7 zpI8qQ?$BMUwdrsD2El-S+xz|zOq~Gi?Jx4-ZAVQd|3 z;5ttD`v5>OjS@g~MkodSV7m+&4AWzGpJd3MPf|L-*UKqcX!-U2|e~QE&q&dQE=g^>O** zslUC)txb*xzUq!Gq3A|T$}~qfU$m;eR7YN_{`z))qZ-v*9ix(nKO>8uPd(ONIDTw~ z1kSPg3J@?zLy^L#g6uVIE5xM`p5HU7Ih+vPaXUlG=7vW1OgSU7|ehNU-mIs^OL$*w23JBjK4J4kx2Van^M`1QLj-DF)^N z&n&gZ{JJqwXfs_7#$yk}m1s8k6uDe$Vs&On5<1wRih7`rQ;gLmGP;Q<0f{UFsKh$vIN$aFifAbAUgA0e z2wN*p)!fxwL92W?7A#v>xAi47;A2i;q2?~uq#tOn8s_a8%8W!(P!Ho>$^2c-^XHHv zUeae!?i`Rp>wmYoBW*9iaOePU5Wf+}DE-BE#O&S`c>W~)-7o304vCG@-wN(P?omdI$)qHGcBQb{8`b{B??|v{IuOsSKQ)ZkGxjM#xTCHA{n)s1sT<{F!*#HqekxKj2)|Qrvmc&z&m*@8;D zX2&+b?TMRp?^;Sa1(MBnu;3fXGC>ACzQX38;z$I~kP8K5qX4Xt23h%s${{ z)>58Sx5V(Wp-@yKJq;S9uyV$U&~DPUO=>7NW5~;b@;)_3!+qt9#Dn7aY-7xGb9N}}Q!m+%?VhzrT}`hcmzw-4_Jd;9z=4-nHZ zn!2DtVnmxy1yGA^wai*Ht&q)6X=V{*W;77hk=%8k(^;PJ1#4_KOtPz~s z-j70c<;22sUMWzi+kA7|CP3yFL~_9rTg!4?=WcoU3}dFoW6Vi-=fVF=W}5A|xjdpA z;4o?ago6NS|B{k21t>Cj=4m4^sd)y1W$nk*EgzoYjk4|dme~G4(R@OY)OY1lIIAWd zJzTMi4?zwIxwgO5>mTUs5!HNmL%xqCs)NSCasi2U)xF-JTo2991Rp0h zAsHbJqpJ7H`4c>nS)v2Ge;X_-vbm&`@nm(qri{@_%65P&CAiznNT1T0J7F|zZcEAC zkHflv4mO|Lo5aY7Wn3fTM4}<;OWRbaFq*+thK}Dth#MOd74HLTEJJpJ+QBZ;x-#YN>^(SS$m{cZj}XpG zO~ZJSS$iltE|xQAxLn`?hodxjqF1mX2bS{jU0DU2a=1pUwm7c_E{bcmlMo{1f46Rw zUfq&f?rOPe)m2?^gsHBWhB?+ndYNkyki zvCG>gz-9W!SiGc?p*x zV;(2r0Jo^Ik{B@tJ@F#PZEIDe57l$-n)Wni2sS0W;4iHuJm6L95ImZTd^(=WwY`=o zb-?+n8#keSwY%smn;gDD(~pMi--}D92JDRQPd|w;jVVlRY5t7vn9;rZ*{HW{UMoqX zA$Upie_ae0NZ|enx~WOVY6fTOx&Clp)@M+IU4LEQ=}8M_eAFkdR@lE=uCd~lHw})L zAM8``G>f~)TERpck}%M(XoV5f=;NS9f<$!<5}adv^;oe#tfsG2f$5rTLzRrh0&V~` zL6=I|o4-u2;>(I-I7VFJMQT}O%C36SDfw=C%zCVt>y05W^TT<+fUryvjh7jAtx(dv z;rxkdOi->-hVPM3D7gPYOEyXm9dV{|{l2jKbjPW>-`8tE3wXZwbf#x20HHI#lT^S` zeV+~z+dgb(ugQ?CpHTW=<$M|(_e zuc{b7G#ugGB^vXY;7<1lYMkO8)X38;|5ooYeI%cd658LwYu9AECImo|=j#1%83x&3xh~om0onjXK)S!X z!hrST*2h2LoFg9Ak|#P^W{=meAY3y!`rn7$|Dfh_ePZDSdS^?RU5AXF;f{YB$kqfB zdjU=<9?fohJat03n`MbVq$csc^pOA>C5YabcOF@B>xHOcOAf}4KJDh%BM9xIGsbk~ zRTn{_)e)JJHNVnjk_#%e4Xf2Q(fy2*> zXV|lAKpmfJQuR1hnf+qZwjf2s&x(v7GCl8xB&=N1|zV|JlNIbGpxE8rX32WP&MP zUkQQyhx;~?ws?{?hbB8SSUIYt#Qx(;*br38A-8wZh$P|xp;KDUJg}iI@ALK%(R^{3 z)bu31M&$?c|ECvU{r=-hu#UGtG6~pnkR1z92S~}ABBkv2jj4i3BQp-ZWQwqrKU~_G zOn?8kF#<%i%2zw8o_nz#Y@A6DXRIbrwsBa0!jY-EdD=6$eOxGFOk!snU|I~$RxKpF z?;0incCC@VB{pyhi}2Awnm))$1F^j_I!^s|^DrG#sNH2M_D$HOxs*AWtT~%~Oi$de zyr*ll^n6arIYwk~JtU1hj5+*_XrCGCd|Tci6>Uv=#ckR9Giu!Rx*L=V+ebrv>HY5N zFAu>}-nTajCXWjQs$_*fVqkCxSO&+I=e(0;dv@KTTvDU_apw6Y@7Ps99U7LuKbA6H z)IO#oJy9D|w@LRe`bFkl5V63!$t}u$&3{c5xgW92V3e|1K-<@`YmIn@L3^fk4wMb( zV%HXkO+vOV(rHDd!zmmE#M(bpnH5zVXIdOd#3R;LYV0GEVfp&CQ`{}Ag2!6;k_tc9 zc%C$EhmX7tSu>l4(=(W3v?Q=3Wj$&ItXR^$#xpoWfpD_hN0lX*W&&1wiE3y4=^`?B zx4;Ku@%(hNU*K@E<<@Hfr@h2IV~Xy{FC!Gs4(ck;ZUhM0PN&LF1HZztT> zQAB!K09*j=We=k5r2mk%j4mOi+M*R$De*Hj5Sh4yy*+02tN|*(e zggXypihw`}Z!r2-qPT{An<;Jf2UQGj{u9YK)uKv*e2Iid2xlT82M8C@GWKupOZ@Q&{N->HMd%?tI$yA}-CZTf_IdYu8i9-y zl!ep=B_6EUA*r0c0G0i)1L`GVdsq#EjM?`&aXb3;+^CQLl@NPrw(axWC|6^sW8Mva z+Pyr4E8%WlM|3F#v;^|@o{{t(MFRR(fmfUg!g~FbP4i|*oM&(&73FVj9h$+NWr(Sc z{*By|eYSu^fPXZgqfiTVa!f)%&RO>q%%69p{RnElKjmyR?*m$ED}1$dzJBGBv*pvyJ8bnih#B>Es7_)Ogy4=6`<> z{XFDeR;(4I(2K9dkpijnOp&xvQK2UMrodq;x4EZB>A_s?#hT?dxHKvy4Q8Sf7s876 zIkp<{z(4Vf%stqWk9q_n%+!mcb&iy`k3IN4_F|*r>1)Din)LA9Tgu!KI>YOEQNq%p zR=d6X_bI$KGSlEpB5HA?>o8k!y%vgXq|3~ydT&Aeaj2AU3h)bOL|J&vmG538A+2KpVNxMAt zX+C5XVu5PcKid1d9&M*j{!yqxC+4nyFVr)Vd!cdPymKT7D4!!Gi8Hz5@?p4M8g_xh zzHPITIG}{X*mt0-^5=9BN5Er zobk)8K+vH5xP<95o;gN>Evfl|kxxZ$+QRNw$`j556l~H70K|`7i2+{w9kaFv?HHaK zFKai&lgB#~Yf>t1XEl2Ys_z{9KhiGukY$EK4i^%^?qNiKTz3?tAT|?zBzu=ZU-mk1 z8rh_)Aj>sxiBg3XMaY-LK1?3 zNgZbPkEZflb-7)Z%b7evyA;x*Ei`s6Pjd4@ArTvhp6Qiz7_)ll7w+rNxdOpB}>wrZD;`U{8e zYQ|csN#l-{!UcA!|0k|dE`5x^i~gHL zetOPGMjW$+tMVMHq1T4-nlF+j~8k7 zZ$RVxwBg-*1vU&A=Zxu!dH0s#9~pH3v#`*%1Wy>iKlbyxfGO;^)(l)iV*zIJjBic> z+fXTS@y?-g>Ck?`Ns4tJOaYIG?my7qZozyEk3FAFiZ;3DUy;%aXVf0(d}PYpt)k3g z%Cg{_g6|(n_2?WezQh=;oUX12Zt4?^wD+Wu$-RPNg!MVh$Ltwa9cR2LeM67`4ozfZ zzP_GHI=rk7?pG4DrNt8#4dk$~GhHP^llfQ=KEK}p+GuJ;mmH`F*W2DvsJ)h4+Q!KA zuC(!Icbab7^y@E;7HOe=zLUzO0sahP4%i1x685rpw0}~D?B)9Xh4cP_eO(T7W6uV^ z&hlbHA``jy)zEMkATYR^??3f#r$c#v!kcI3>o&F&((qih^5fcW@jf);cbCf`OEXSB zY~06s-&BItJpS{ne1TfxMe_Fh@h~!J0$CX*TPR4;edi^UFh1VoIt>-Fxa)A&B-^u5 zeBd|rj}KkU()r@f!J~Brvn;(4=RWk;m(5D4AywsripGuWZ2|QMB9iyL)_+wu!hJ?F z3J~a!!am;+*b_}LZ#YYBQ9@W0>BHKr27})f75Y~l$e9h!mJ^+y!OVhsFd>0U76-*4 zoM)WA+#Xivy^NIEy*vCO7U?+ST`DtPrYFQ?(bGJBd+UpqqF;*R5DhM5@6E#L*iT`o zj4$6d!NH9Cz`n*uBu7(`Z#e$`tqO~>NHrOs#us;=8PnW{9%C-TP(Lt2WqM{ZDSTMt z0f;9PoY{KWfl8_QOV-hu8Gx~55%pgB*BMV92MIRhE@Z_@@seja{g77e{7u1EQm9T^ zk(i!|Z?mM?g425cXCK#n`3Y#;5~4&3uy-wLUoS;a`f=wmSSg=tp~#z2~(wbADfXULjd`GR&axp6wphLfXMu1neNI|>naeUV?JAZnX-St7iRjb<#z zn6DoL;nxpswnH~g@6&6&$&Pk22Wt+~=9Y*jvZ>ztQjdAn& zSW%bgcMOHCm$g!I^kV#i8@}|D5r2OXkG*8yoc0mPAVYHV1RTZ%48xIPc=@)6LTZ2F z{b3|G)&&RhBQRBm_Fu8#01BWzSuHxnGrT;Gw#bm|V$EWOvKow#OLh-HrjN{|NNn*R zLbF`OqDX+2?q2ki@5I{;M?7;Faw=`(>=ag1ySQqXSycRC%E=&cQN?z_6#El0-{B(C zi!V-@M}5~gG*>_L%o)&}KtO{;g8MXqMkZhUK?~zsf$qDvOZZBnpFCbe<>3Dr2 zGXshL$N<_!>O}4Zg7KXjaG*~tnkm7m~)SF%ssX!IkeNH=Kzw) zIEOrnGW4U)UX!=LV`QDMzB}|K?a>rKv~Ow^GpzY!l$&wHS#CvHg@WIaRdeyQ%yD@V zw#7#h#AcA>=H0it{g|?rcr9al(St+yh=!t?lGp{zhuDxr67JH2n$*jajBL8=RqZmR zUKh^%uMU$+jV56V&tu#NRK}Z z{~6Cj(p@7<14Q%DA=@_Su4Y;(Sz0Hys{r@02au=Z@}3|Ib#y;CY?Z(b{^GJ`P_yBO z@hI_CJ1_DxwksWQ(#JKT!9st$r`HJ8FB-VV=jUGVfa?j`7eCRAY6#vVY=EsC>qI3K zpL#UL^`<-Wk*(A|FIPG3|F8e(>>GaeVCH<-=t;B5T0LW$z^vg8xeKH2o(L@YO8{de z@;gSIK1;5AY`)ONNw0{1;{TeU+My1Rpv>to9Fgzck2% zu-PwheFl?sc9M9Izp`jeZ`u&Ge+jR(;|RKudy&_Ki7Wh#-{S~G^Ia3zr3%t-PzrQ2 z{CoztkJv{3#@lGArwrYZ;<8=?=+}HwT)Bj5vCm1OQQ3b`zkArL1a@x)BJ^uR@D1x6 zag71CSb}bbxk*31AL#XG2}!z_Tpxn6{{g@@Z~h?el`P^c-&BJ87l3+s;Dy-soD2fD7p{ijjinF z(!VYjxar3nnJl|~pqsfvv0v3AJqAqO_cj* z$wOUPv*I~rPBDi{WS>?HhRq&et^JcX0Wl8>F_!N$Q!Y=zlX90$ysIPiR4xSppEr%x z(}sc|Py@vVQnO(l`D^F7JtJ!K+tZj^FiRTB6Qsbs*{WdpQqUbi@6IrQ27SxgB}8rwcP!`;I5cj+#3G*dl5FWi5)HojY+v-cEXYo}*0qfknN6UkoU zo+x?wd zM7``m70EF!*Fk+8j$nrC9kaZfbHF`$2EGRB2mLzr=UAu@${G0TJvW>1GY)w#wn#Ig zb6gdoKIWd7Z4V*)Xft1z@R>0kK|&^X6+N^9@qr&j=Y7HuNq9#=&sgRs#h`@gm5J`L zF=3Bk_PqUJrjHGhSmQyRIUeWVgG`B87$Ge8>B^zgI6}`hP$ahBW;NZ#=Hafh?bhwNRPux=yOY z3?foRadsLc|2#AU;JQCHkUmjbf8!m@h-Ly9L`ZIl;DWNVD>`nb#yI05%T^P7<1|MU z6nqo=1S_yfhmT7jC;#Y2&zJ_aH$j7h_3i!>q-3N#RzR|_Hr;`K+^P!<%bv-gm8L};^C91O_9GG!Iyy)imIN0?XkcfrDM6+qNu{g~Pg{($1(hbX1ttFzK1+E<^~ zaAwYyY2?L7K1g%xe+h*2j6U8K?ijeXSY_DVQj(n8yrxd{*~Z^crTpSOJmZ>ANr^kT zE=4bVD2fc$pc-T|RD$qx_GdMTNCY_cE^X~|Nog~dwyEMzIHO{eZ=^IRT{WItw^z9K zWylQGYI{sJKbsk&Az^PD4Q$+8U5r`T=lXTjn$gUXQB+7grHfma{AKOO4C2?%H+!45 z)Y(p*@BE2tcv{Qd*|o5(RHxfu0wUOpTiiFYk+z3nBsf$5;iV3S8 zrwvmGG)j}^1sLxKA%EVUR2|T$G;AXeo9*=j*6_hurOI4z8bFl7d3{_6jrujrykQHa z2|N3R_wY~;Dfz=Lb!zfOfLS#l4;dB>(2JFps{{+omMwh)bUO)dC z%Q0iAb43`9PE~goLs<9I!C2c{q@JrNuS#+}sJ;@IDyw)Afdo`@_yj5jd;8nHqUh%F z9)7<}&u%6b;Q8H^6*=4VN{;_T9^ZU31k85hnx?h%(i#D?Xq(JuIAaNr@(}h*;AXA< zkQG94;ex;Zf$qV?RZeF|uqHxpmvl*+6YCak-bwlno0u5Wcby>e`4|| z^pL?+w$~;7DBEbES0;$(EMF$rktAi3w22r|YWZW&%-j`$7NcIj=bt$i=Mk!UgR zF+8pBI^Xb$yXMI8HsO1*F$I)(COX$NN zW12lfYV%boX`|v{7d1A)u&^ai2hfqbN0;?; z^1jD)KmB>vM&WGM%zXBn8N4?&m0@ncFzs|T%V%`gcyYrvk`m5tf_^i~AHrRl03?_k z6F8SoAaowX9?0Aa1h@3B^qd6cpKFd!Ck;q)l4Yc1OCs}=|LN>U#ORL{ARlKtYxcSA z&E@~{$zau23HbJXT%Nc}OHO`(vawX}?={MKZuZ2~H$6df)&+Ba2q&WgmQ-d##(QX|#Ke(F)?iD67c1@}@*j6iKT=n1I{Bl4_C+ zRt;uhC@Fep_Ka=jr(ql^=!%bZ7*7V@ktXeE*C^?KW{blhWpZa=30WeJ#>nG{ksQCG zL^Gn9rDPp>;Kka4Al49#@-x04!F`!5&es{#X88+1-G-n-JnbX7n8nNyX#b@(7=ev@ z7;+?co(~%`#^~Tb-)eb?1962KlG0sP6lc1;bN zOrU~2duGLPyECzxm{UM`sqfc|d;E-MR&OvMaa(Y$3-JLC=N45CcLxnPs>x17!Ys>W_DYV3h74Jx%4o>e!y zy~!f(MY!%8#ke?{9(Tf#$9@z&Dx1#Ry01tT7q;Q`l`=h5Wx`R*DVEpOMX#+pvrj5!(ceQm-PiAJ!FVxLb^OqH%}oz@bb7OW3c80^BdXd#!TPgq{BmX%HootRoR&xB~V)!RQD8ed-am z#KHLlV$0dALq1rYIxncmP}Bdbf;N>4@jfHV^F@-ykA6em1#im7VW*E>|8Sh`h5jw=cK*ayM>8!qE3VP!8{|Hy9zl-9w^qkJR55OI&+_JOOxXYQ*a3&_iD~poj~QWL9#s>lII_@ z>;+fbg7^9}xN+0KnnY0KtC5Crn=5@*lIwP@0b9dKW_2L#kek-p*Yq@AvTG_IDD)-M zJ+wf2is)texK-dxqS3G$uPafto}2&t!hpqfQb|fKIK21Ypx8u=Rt)h1>k!Tt=k^iI zl>18OHk-a4fH8u4v)*5-n;F6g>X*#^oi^!=qstd;>@=V15zg+4e+i+iApDQ~Q*VWB zYVi}>cxAVNWVW#hx0xyV%KO;1nRqq3ZH@F=`{6M6jRer$pfD$IzV2@TDn&CyztZrJ zOewOR1#4^rx^t6p0LHoD8A{Rp^D`kY);TPjqy4W0Fz-vUfF(-iWb_l*NSiPxaUF6P z6@$*=sGwf-oeU*fC8@BxEucJ9%d+z z@jlL=&a!g{Dtk}T@kh!K%MIyG>ADY{AyM&2wN zdRO(``^>G5r%og`wxpS-UK9P zJhNiDw6EN2Fc*XnjL3Jd*7m`CCNblMT&}wanl=GjaC792{t&|{j-CD_ju}G49UL4bAM00>L zOe9%@ggxvDb;`Y*0AZni=M?I*M#Ya&VQ;%>xzo}EY6#SLJc8_kct$qCXL6FnmEPJN zX(c2#g6k)J`$V4kA;r%*=nP0L9Xa7E9n>dE+>rfW#Nx$eNc!It3Uq%eXnZJl}_hNhx7)S9S zn#;~od-yk5&`P%f`7^AEj2RA-TfYca^&?>H+R*TwepV@h2qjqTJAF4MXQob%W?3@G z`2j|*y?D9INakt|Vx^!V231OAA{>4ee55pqJFG1xI#1R5nI>uRXr0DwxaMPE0Y5LA z?jxQyfYrOWmE`5#y}BY@*0`jnTYG7js*E6@fLrC~yTaI03*{Wn7|>JQNnInl;&g*& zU}**>#CN(L-e9LLKbIqvmVqN}Ay!@=U!)v3t27^$1D625dM`0|C4{$jQ$g)*1T_rH z@U}kv#=3A~@za7L_ZCD{7z%xiW(acXpj|XVDA!gHHx`=PGtV=w!KvKgRHCTv^=k&9 zciB*tg?>mDRj^)rygd)oa;?FV#DT4*Ie;a-Y~>Wo7!vGoDp9m81~L+WID(a6=Q&zg z4sV+)_BRox?mW-XaC7^%c4?;n0%TG+!--=Tr4p6p>QbP8GL`C`+n0KFQH!uN@IBDfYp0->*^&t=_uBuh%UU-hggH=b4Eq-hH~u8(|)?Eo4xkL4V~F!r-V*6HUrLO z5xbkv!m`YJa_PL|85GZ$5bT3Qxl0YfNOh>J_4eDCm6>s6)TctF%6t)lkW? z!E4bL;!P2Um`a)lsV8m30q>uK#^R^Aqyv6bAYyL>;VA{V`v5UIv%M?t-}TC%ZiFQN zjAWmY^rU?t2IrO)lHBTV!srLgFK<mtyYk)I`$##i~GvGGi4g9woVm<>JUFI$_ zC6s`}>5YF91AIvJa4l^v3N#q;$+@wqfWdc8Z_nbg05`4EBu}e=TltA@q;A2v;9~}b z*i%Gyr;j7hVStTcS!T!NKvKvh^ElqI&seb11F8ON?&F3!95?Sg@FVJEs! zpR%Jm_sM>)HIiIh1$`g*HEY=CCV zwg8VkMc~q9y5UmhHjxpJsVEVTn3Q=T2|8*7fAC;el<=H50|rP&d`|*=0Y__38cS_? z%-Xt9`tH75e1ul!Ju7l0m6w|_Frjmm=0AYNpWV@@&_)qhS;Nf(2Sqna0B(X^sLfAk zAO0QFBz^6oSwdpG+^1=mBXsuGKt1TS6;lRHT$WqlnX%g_mZRX%At7R7#o)2pQe=F_ z)n;6zZ?GEo5y=uGF~^zS&tpV!PvsaMeGG!xWFBDk;{`QsAuk#Tg5A_@o}nD`l#{=Y zd^@`AP&V&mSLB1ZFVUEcz;(bAG%#s~=((6E8&H-ym$drAJ5d~?4cUjs_>xjTSe#EB4M79ZfJl-OL}ZV7|3;JTKpq4U5&3-djq=Hy+a-6m*2 zZj1Gj68Tv4N-%~?JUn`;BiPqs|t&lKR!`Xpww|5ObPkO_qYY zZ=?Z-+N7~$u=WD{zZpQ`5mp6A8WI-*zLdMK=TLw?b|vkRlT(0pgWJ8f%@u>? zIN~rBG=e_WO_v{`jZ`F(Wkw;!mF?N|^~-yqQL8+qT`qy+yg4W4Ky=6vRU68%Yi4+| zB6}6XQZ(CqP)ga2E5Vfn$@dSLhYJ-h&+$>ZI5W34iqQF`yH!}T z;D%+12AVI*SUjLXeBWICRiaI?xO-J-leOta?cLW4*U1*=T2%mz@jpsjg4yS{#-IeC zS2mN<1k0wlB6n%SCG49f`?o43`9+y;_?>K~y)#DNwt8%rD5$Tq?-A0-O2cw8wTQAJ zWnvc-Hp}~vl3UJv_}nhm6f|<6&}LA!@3OG6OqL{Y)nD2xf?0v(@#2QtWZFM>O@gIU zn44WpA6&Gs4&5}n=q0Qcc#NFy^W*eg_=ul>Kd4!4=aIg*h*a%o7e`*#DAdBn7nwV* zy*^qgte~4GhJL=eu5BY*a9?x9T??yim|u;;GAn&UY}}T%Q{Hyn$7@rHc|*{b?`6rk zgjiWpf9x*3V0>6oYPvCP((#C`F$Gvg!a7VQoUE@(5kQ7QKy9wjyk)DSrD z=I*-7OYsi*KpW9rYaStehk3yxOY=l&*u57Q3G1gEcS~!5#>B+RlU~@_UV!ohRp9ETWnBHs*NLS3 zF4nJTW^R(_Br1RQ$?v-aiF^(TpChQkj}pdioPtrI^Pp>!)#vvI2nqJ)IQ@-hCMFU$ z0u8P}@}CJ`U?o4KNT)9d2XrKYe*4Bj?6 zpl%yka{7Gb!f+dYf}lm7e`R?pqM?1g4^PR~KI;!+8yvI({>0h1cC$*uC*$LwZz=QG ziX8&ki$nfWe>5x!wi(VY>38Hh7Pq$_U`GDO()Hp1AJOD*r+N=O!awnP`=_>U zyNX`j+N|{a3`fH_V9&7942%5C|F&{lMxxE;@*_p_@Ifoy`ktN6J)NY-8pRo1gj z@;2@#j*$kTQ0kz%v{s*mZq=*r3i#AjhnJ+EjvPQ9xcGoGC&cU_#%nS^Vm+M{e z42a7<{Uo1$H~oT<*yUF}XNadUCb2!vPUqTO^n%Kot}!efM`HHmiYzIWrhR?S@aA_v zJSDlNSDrhOya}f8^^y+FovB#>`e6BJy>E+7H4^8x@ml`{ierwR@yzL({3QGD(u-2J z{N5jpXqJkd17mgd6*rTk{5T&P#;lu7arI9X=s&C`6xPVmMa4CGf-4>Nlq(~Hwd7Fu z=v_fQd2Cju2?qPUK(78(_2%;KSOD*Z+UOa}F&`1B8YNjDL?m`=NQbpG_1k3px0*-J z+~)Q@Ez>&RN}SNmrEC!F!Y4L3UC>h?P06u?hFv%GB+0yvb8dm^m2^cE%3+h;7Bo@ zV|@gL^0__A%-4&nb18Y>b|GgLe(J8O;E#t4Uf8O)~M-1~#k+o0%ndt;? z)Vqtd*ysfpP^on}<^IruJ*0%^T{HwOd^}pezgHvhVxrZLc*-oM>v-g7)(6$%0)D4= zzu!IicOH^ls0r)Sk5$sF(QUpsqzBy{Rh7c&nikKnW+h#}vykRHyB&Sq{zb07h`ss~ zHlqEKDTQ&U)5jP7iHV7Wr%$HzZ$t&fH0x8mJX@2{peiYm`TO~wXZY#4}sKQSrvZt+sZHP?^K9u2(IP#g57{yL6; zBJH2c>7%x1D5F)Z!f(T~_bm<1V*OgTeI}a4!DI<}p^q%-m&rA=j+>>7WY%F`sR!zU zuPC4XJDuMrBST48KDk6o$^1C%37}Mv!QQJ%{#9UC%_k36RNC>fHQGDA(nh~{232NI z!|!GfR1G8oS;^g|Q(}+qw(zJ>?5ra^hEGahCZN1=58SBOKfn71h0FB&x-!b9 z0C2Ffo1)_kdWN*OTYcRLE23*YoN?3;2{6auKXFz1L;Gf);rdJ05!Ci}+$1(vf9QFd z7aT-+p_qU6AnY@M)b&m9g6QVc8bEC(g64RN#zPSE=?@e*lxai=BNC9?2Vk7$WryU% ziwP5h1m53-WfjoS-`$&%G`qmHKh(Rp4CvF3G~#i-lVyjuMB=&1ikm%28Qf*-xc9Bc zeMU29)lJD61%vy#&yxEyKyLw-6)@Wr)9Z?Bu-+V9dy&iS_G_{EZ-I}eC5+kS^3j)*N zU1o0tGvC?B(GvL#-)jrv2V<{T3H&(eHAM|#XvIL5}Sfkyi{9?)Cejs$aXMNkbD4uz($~^MgeJLPt zM87l4uc!YNINY^V?hoY(-g~&(e{3^Nnr5rHC=!TD`{wu=(9lKP0@gi z?)XDmpYByK7`ltp#OB3utB;tnH(T$nj7W9bPE*#b|p2+?{bvHeK{0M(Z%R>4I01icX&kLy)Da)dMzBs@nT zpDmlH9Q*E15Vb38t$aY!3rD1#td<3Sb=B2GT?Y)Mg*9UT(#)ae8PHr&!E?NN7CF{} zKZ)_SUY?ng-+O)Y2A#Tv0f4r}8&C5A5i7#rk1&%%a!JM}a zBgX-3XTR+ip@COM)#x$#ps@CNs;IUvJg@GnDN}u~E4EyuR1-#^2S9oJ zuEiVk`nxRaF)_ck{UZPL-B(YM%$4wUjcs@{wTYn*;5u0ap^m^?r_MG8NMj+kgaS9g zRF=zB@2$U9l0R`MZ|7~B;TnH420~FXomN9hSZ2i{}~`5r@Tzf z1-&36myPz>&rn6AFdeQj_FhF~yJF-|8hXfMwI4mBWNK zgna_ej^mAs;I|rQbcSL2`sb{^-0_=w{A4fi?un|%hP+qa#`GF4>H3_Y%lRgX)4hL; zrO)A(9rRbfl0NdKuvhQagCm}KxRtM^_O^O>3OX!I+-Ex@h1GjFOV^oC z(1qmTL%KT}TlbHFQ8C;)wpUL*#Z>0o(`bZh!4z0C&Bxhnyax0hNF&kOvSZh-&$f2_A7C6yh3j?xJ|BX*%6Fyb_eluO0ecME$Gs*

    @-mCKrjyz2WY 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

    FU3OUA(mw_B8iLVWXDl= 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

    t~2>!ggUSP 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
    jd>-!6+j&gQ|L)L_`KI9YNWwtx5_9r$ z_&gZiWI|f)2^=oHzJZ21y%)~F(GDBbS7@HrXI9c}{Uve1H(QUC;#8-Ym+TZRuF6Db zahW$Q@F`?@imUJd)vpeo57>#zuNQ#$yBUng?C1Ki&g@aee(eg<4eO(Az{=0pLZ?WIG*5M}w}Pk&SLw>`2-ySY3nW zSY?Xz)u1V$v*)9zw|9yu8^1|ss)aLggV&m7;U|bz@4TJfw>3CW<2&ZoWVn0FJFcMK zT;Wz(i=!NwlrWi`WS(T^X96Y+GaYG1&#;u4dP8$}SKC~EW_I}#PNYW>C;3{YYW_q| ze2n>&x7+8EY?=yuzg3o{PPh{mxDUofZgt6PIGGk5ZYT8$D+hG(%5qycCbt<)Mox$K zNcpvzD!3?<>u?^Dys_VqA?{#UtaF!d+D9kZQeP{iBVUR(DPxXSfq$(H)>z^-U3gE}eSJy(_hp|NKN*}@ZQL&*^jZ?!RF};D@ar&FyB`&C?Pt`<7!?|J3lT~y9HgtDZx9+i+mEdzPiwY!km=T zd`C7!wbC>d+CUDsZo-P0pAaL7ibmNA-_3GE(n8yr)m)Uzv+63?TRPb@gdS}6jpgU~ zB+ewone8#1885p)THI>Jzu1 zQ0`nNlQ-1$7FElXLN1wgpljrw+Tg5>>lMyoQzp9 zWw?hD2TKA!XMxrmUm4}-^2=jT7=c>2#GWjZlHXZy;i(TKiMtq^@MAH?CPalvvE=k$7O?9+d1SQ%edWa=CL~zbm~4p~Hp5TZ ztw?(H)=euZTz5BZz%~a>{3k&w3va$uhIYnahy`rAoFS*1f6Oa%TEXI@g2`wrn z`BjRqZB9_TaKfWSA%QMsT2X@Bd1{%8XrfC{Gvi);$91wx_>czb!St&ZA|=1cL{e;x z!}7ucY7mhJI2RY;rS-oyg@dcQJk@JO4#e=otZo;?8-H}wBA_GSfR~t*RlMKHTV!W4 zc(_K|E`Nw=+?6Oi9k9j+LIoeGdPADZtwAUf7DtM_gX%HeQ0~jLcUl4}Of@DOH7=CV z=(PfatH5v|;!?V+(x1xl#d|>=?@y32+D|!<_*WQKzRbM-q_J^0=7-~rH&L_|Y!`nwXOw`?l3W~+{d zVRcOWM-d36G7oC{DRZXpi%r2qStLqj739Y{Bw?~99%FkhdA9SbeD|A6Y-RZ0e#B}< z?_q#=vTV6O*QJW7w{hZDqT}q1q$(0yrRI%9Nmu-bk^mgiHnH(DN+*u zHHMFcyEpKVM+N@F}K*~+zt>C)rvkW0YIH~AFA<@%DO?BVq(yjYfOwhTZS zSQ8KTkSpPMet;obn=~rMc2%})XFA4Au&l8<1r#nq65few*f7)6MSs! zc(VkZj72gN#-CU^;rt4}N@jP(`F(#yTclR<^cGh8M}+v=r!xjj48bs0djLR6;2TB* zzHiduZdZ$um4KGCE5fmZ?+AN35Xn-GNKbd7EAMh4MaEH1BPb#cnFB?|@^_M*LhRO{ zSSMfZ=g=#HiQ`>G$$@_0-Z)IVCr}v1ud`E-WF^*fa@N)@J#O;Kz+)6Y?UdtL_60Ok zM0EG9AS z<2Fwkddn50$Wv;A!bDo}xx4k0cb9bvbM1D+xzVTekU_|Nf?pI}-y7TjJ2mF(GSD>U-OjpX8iI3O zllu*(nkoQ&y9sMwcir_IrPPg>B3Xq`MU;TXw;gD-E8}Nv- z`i~QcW2r45Gva#bgPfz70+4>yNaRqN-40eItW}SYb0~bAnj;0hQGIK8Vr@+?$DIIy zN1snqeqxHtrJGnXV;`_{2@4Oi!?Ujs>SQhenU`D8%3KOTZROn*T>60sdRy5e8}9Ra zqN?cntU&C_6TxQFr)P+>S|Vhvx43jXW`Az^S#htu&j5}lWqEYgP~QA-IOt*YqW2U= z@MY4>k{6HCXNC2j=5X1C#5S(&ZI)T%S-V^t#@=>DTS`t-^gl60Y6>&U1NZvL6&GdR ztJP^HM%u2IeF9E$#Bcu|Kq$xJW(fFkO;}i#eBV+u1at(M=@O%|07&*df08uWv?4`? z!HNQo_lB6x=C(O?meAbPxZh-*e90H#`)li(6xSKK8;2yb)A-|pIoI_Wwx7KU-*Dx9 z_Qwnc_qV{0@TblqT4fXAU@AmPlhf$m!9{k0QMs*hfg8SOYy~b?qL3CuF+J6SPJz0Ub-uc!=N4g1$Jz#7?}nXBid%o zvBrq~C#L?%T|Z1T+NNZD30Rdjt~?I0uN^N)H8^d(H$?IbRB)oB`Jt1cNIF3H`ktb+ zm&o*M8WJ99Mwnr|XvT@{sQ?W!J7leyr@=hgx=cPh@31-@MTE+Vtle;erF@uZoIpYs zt3L{cN@FQ_kc~`HJqCnUx}AtWe(#$jmUvlkD_a0$xna=`aA^19VvjxI08^oaIJudD zGdoQ%nEAmZ%AT>JcR{&VKzDu&Y9)?tlNSBPpyHgFQUZCM?yHgLIa}_xEg~SS*`{5n zOD_|&nqR*}gnMXFmjuHSjZlY7CvK8s;%~~h(goMh81e}?&_26P#bDSM_a0_D`dKFt zPJH^ovP9CaxJVTe6ZhDXNd?9qhNPOO@3FrI?^Uh56qvF2$ z=p;TQKDXqXob4P!$NYOt4osCwJ_+M}fq^ZHja&doEg#-ycL*_Ef?f$P>aruJ9Y{?^ z;sEk*GToJLXp(&Zn`#99+KqVcDx5LQ?{Ti;v_=?bUn{0*n=U1pc1DZs8u_LDBjfL# zGetqT?p$24psc za%<35t}jGR1an3(d#GF*6Q06;MIEKnol;ijO8#i3uc5GWft~k3+(meYBBU?;xx1xOHd*FN@FMAhZU=vFiDAhI$YuGwgb~`t3 zURNRcZ!-u9vyfDa$f@=E9NZ|Vqd%zQ?b3&Wf~|09pbw+RgkaKQwjos{+UM(AL^HBF zM(99u&3H#rBM`FntZe7j+^9|%8cd>?wxtBS(5lX5WP>8%7b~L>sXP3)m1Wqc+KDMF<*nHq+`B%qlG#UGWz$vWkCNJ|_XsFQ4Ku_bh#7~&Z% zeQ(7ow>_*Jtw>?~vDLYz^$ovJN#H-u^^(E#U2751>#&I?OL=oqDk$@m*nUPc$3}9QEFc5gH;E?f}rE9j| zXPwJPhXp3=$Q)HdW#*m@xqgD1{Eu&b-{Ld{YjVRu%O;{cSr9Xuk&QUskkNfbEO>Xh zl0lQ0^@jsiTlHoRCXBY1G_Lm0RQvU(6&3b8B^N4g(%DA1$1*h$0aLZ?Y<4FRV zW*^q;;MiB%H}V|I-~%7-#U*?uw!??%&A02z(3I`*Z^KBm!Mq8N&-^lTJ-928Y{M^7=L zPua44X=ftbF&vRB%y8}l1nVClCuy1PYD7$juL>#Ri6ay=%8!i=0J!#Yj$6oDV?VeV zBY7W!Rl0F@kSNcVDV&wB1&Z(ISp}Y7lXgY6$2$yT$|S0w;ppzzU?kb6acdoGtMv@! zT&2QqFd2&Nyq9G7{q1C+U^HH9!7v@Uq?&IN&8Q*HV}1Ha6c7;n99K!JnAS{#Daai> zm~JQ&&nM9;;VS3xkEU%uu9hGoKdwTRpcb4qz8l2U#L=bvHz3r8W?svG)j2tAVjSJ1 z;hq-?kjywQgTS5JDe$-smbms%b4t0R2;0tIi-}%Ug}e{P!U}{ zB9+=0r1)&8(vtXydqHQb{c58=Sh=ao&UoHNsc3gEj%!D+1jgU&%!Pw$!NAY2*w$Xl z$&pf)6=STjNrTLm8&E)#GY0Cbtu-5ly?pQqSiP_h8NgL3U;0^=(P048%bzA`_mNz z3=_sWJz+}3n%oV(RAHnV4VM!?xv3uzy$@>_#n9(P;WW7+NL1WVwE_fef7Gq4nLm1W zkKq^+tIItfR$Wc;=ysG{0CO=d?@+7yp7bfW5*cwj;uH^Po4SvuO2*p=g9Nit-Oph@ zA&d9R?tJPF>32MEs0Cj5M}ww;TK|+JE5-6=wxZ))k0dSt${UR;(?NkQQ`+G-GQxpI zynSUY15Nf^%Bd~$=nLK<9sRk4it9d^#>hhYY@d;znDvs7z-9v2f(mZui;J*K$+iVp zD^_JTLKN(;d~3WbwA!CmRMtR0O;dh@9+_ENt^A;WA9Q9!1Siv#!lLtO8Kf!o5ZtSa zbG-vOBlC2sB=aCMv=AM*ed3NDTo@j=PTdd?oa~LaV`FSNTcz>mf)~MwcHy{s762x7 z_9=`7*b0YsJmSj}Y4W%9n5S*PS9e)m7zO!YGvp+^dLS5Ro4%H)@d>E|3ALh8{Z*tX znm!LLU8Kb2Pvot7BAgU=vNTHO>1iCfgUx2D6gl$Vn;A&vw{%01ionMLO(8@nCW554 zrb#SKgyONATd7^HwBitfp|yqv-rI2ZPL^?htsKod>_wENFU_3@Dn<^$j)V^794~Fr zs#9GKloC$IT+0Y2El4ZsoN1ue@==+da#~7CpPMvARQtKn5CoC!_5qlXy@1-LNgskc z?e;eU1hP>VezvpwX0bb29X`B>KDq8bRH0pL8Djb5C@a4Hz@+KQK^T}THoVEWocdn%>(4mXQHOTj;ZMQ_%vCHYzIeGR<%O5mnLOZmKfB$fI<5l(xn!*47! z*y0d%b|g@7?-wrIhFsTW!%2Bf!tyAe843~b-{f%fWuckNqR!5q=gW2Oq?ToUK zukY75qC4$5n`Ht@ElzHgYiIjxhAKkY<;VN{8N|7L(o<*>9QpbaOMhLFy6JIGzcN{@ z>{*Uj1IU_i&@F%O8GuNY!a&>;5Hy)2Y0zns24#3h*Q=%dUOyg*Q;$$dQUaso1_frC zQpnNSF7dC*Xw9W>1SWGSEExowt>rtYew0*pi|gzDz{`?k+?k0`P1m8;zKVmLu*WeI zY5Cf{W#O+Qd7BIpk!t;L2ficgp=q2=ns|r^C|VBln*-mlfpSEYCW)hp((ZE{N)jII z^U6<@Illp{isX!1Qglfe+V0H<*{PL3LwQ*OWj)hjVKB_CC$D2x z78J?DA%L1zzcq3t2bvjWELlqS8CtM~YB|Mbsqgsu6)ckEdbto3UfI}~-;FztCg`F+ zm&GB?0;A^E{g58bX$+f!+K{QuE1>;D>o%f^;{@)STH2NGPYijA*|Z8!XF^sC&5y;7 zS}7s~jmdvy@Kx+GX(jNU%FYFR6>5oq6L zTUz~TXlhs`VFQkDnGJ=u#Kh)^EhMxQ+l=Upo3*JF0ev&dJ!hiQ;eFi>byA&22<&M& zL#FtXxf$_9pAv4AEe#(DjZmS8pF@CK6F=T)^<^_EM6Dij%{R$A>@S&OI?L*sXJqf4 zQuZIM909J8HpP@g1kNhjZPV`Elo57;yGF4l{(<%P?Y}dV0Pw6Nx-wGu`VZ>~h0>SX zGNVM?iyP$`+nkKp+V3zfNeZfI>=&0<4%kh|pPNP-tdVxoCSe}49iNVmc-xjW@@23k zk3H+_$kw?PMFVmgbVKdd?Wb@3^)e*Ny)(AvM_Y zSCX|yYs-!LAPiQUw24CICP04yYa1YKO|8BpI2BBZx7O*BI7(N4CXf)?OB}*is=!53 zF?c-_iuP&OB)G;}V|2ZM?b~;^`Nnc)i|RXscW`^$GgTVg?Q{?8OF@1|3ndP)B_oM8 zn&3i9;(X@=+Q%nw3?|;m&->>=>P2O6Bmoyax%R>Xc+Cod(59AUFuZZ0ZLwX~@J1;` zMBxXRShhzNOiINzbo_}WE|XwKvXottFCYF%M@b5Ht#n-zfDSs`OZkb!&~8{mzDf?m zNhR&r;uKRq000WC_Jb6<+glc|4(ix?WS{plfpSn#L*HtQ*;@@v<8DKqn0LFX=Sj{t z8H{&WXMcB^p!_o3amg?flCV^`4x1Ii^Tw-)A6nMwCXP|=X z@3LDe*y43#ly+MwFru?B_+Z>PzN30D(^}o!iSO8|2QmPnem^yZmR8;*mn^Q>l7Z=cNB+karo3xRz zK&XCCY4l8Sa=3aim2euI2(s-9<-%RNAD=U3h165gEe@Cl+uJ4}v3>M^NJyB-&R#@c zIUGdN-kUEEIyKS^%qdS2PvRX@Z<@{nE26AkpG1q z+Ty}sF(2HLi{?T?z}V-La~tu+tl*TLaBC)@BA`BI98xsS6J}0pN!LUP*tXpgTyP8~ z2N1CReb;9O5HvE*l1wL|^%e(ZqoB6C9!ERf^>wriac+*FQb`pv6uE7L*xJN>y1pFO6;j_S2T2lTy!ABSs=vxg ztQF{{HpqpYmzHplTYY-Di67l@D^ODhy#7A=MPvU~UwtNqmIOMy?Cdje8*l@_n_68w z)OxW!M7Hp0M~_wd!T0;BsP;c)LCjF<0I7zp+4kXM5P|fsO+fD4l-IC7Fmln#oG-yn z7Nj_q~7)7|y1BK@Is89i|{h&tyPT!p%Jeml#^D#hI=wQlW&1jRSd=!i% zfn?z9H$uCEFZZOP0f$1#`0TD*p*xMY|G=HEM^f5meF^+{0M}Usx0IO56bWd}i=Ew&iOEHZ z5D}mIXT{dfw-}Si$&4yiw_f|($9f2X%*j`mP|Jqc&5pLV^*8N+Gh%XtNd>j@HQkL^ z`g2;pDish7?RN6jDun(S$HfPQ2s*wM%*#kx1#V!HnP744Lt@f6WA3jEMN}O$&}oy^ zO^l<{Z~s;Dq{N<36um>R zuzb@#%T{Jm7u?lsAD1Ub2AJ)Mc*Rx}eHg#g-_iAvuV|CVp%`LA+JR&KzYBhE$KzOK zsPLqHdV=JH8T82^juoFVH*s8O1=5g3s_uRd6j-KZ zRB`+bOl!-BMWrHI`Vk5~4nU>V4mZpmcPy9Q?3KjPgqD4g8d&pLB4N=pyBDO2aU&1D zgX)u=U{He1PKvThdyAD{Y%;;44UUaGgq>C^<5jQ1+&)y1a@;rZC%zg13L{AOX`X?b zP-mmI+y!_uc4NC6wgHF}wEK~NYDMWfxWrmyj&$*k;(koRbidII0GL}%@bC}iWY!uj zJ19~hXpdnTc&=8^;ty?=4#Enf^(^R99iyjuhqOmTTW79kCby7nrz>|d3+MZFb~`?g ziGhZ_(3z=MUI zEQXB3I&)KLYE~||Yqck}edbN#I{Rzv=EB<$R0HvEGkaCwvymYK1#5K5L(&9}g5|dA zkMNZL#_~}sDU550FlspUU8l=z@e*5kvJYT@C@}4BU5%NuFZ4#9q1ke{_ezB|d>`&p z(&#@Qn}X@@D)dR@bYd5IfP0dRS}VR+couFqdk1sB$OPXTKf$jM=Ox>0U9E( z5>4h3oJ#h9PB+(tz@=MgGr>q%0kyMl_Z2;+EiacoFmev6KDm|mT7#M zpFl#z7TAVG=9I17%~nvrukO=@2+ZVH!J)yeeGC;&dNrhZ2nLLdB1O#a{kURT`&$D` zh#}BJ{O4z3SJ_GuD|*|#PsL$EVd~+{&!+$Yvjoy4+~ zu2d_Fp7Vly?24aN*C;qcH*j^haqF)RYz}S7Q5b?-`wZiFGHPUDulMO!6(RK;AQuLF zfLtAeY>tJhHwoA4G%G29$P;?)}$G@&}x6pcNI|Y$vegJ%0g|eM7i9P z4{f~`pRFh*aWdu=l^5zNbdn7Og=G}tP)7QUCeX!8a4e+`;rt5-)X{m zVuQg`xsgKZ;&F^Ikn$pe$z|dTY$Moy{9_b$agA(|GsUx{q_n}Sx|UHY?EueOvAvB6 z3VYXQMK7S$n2|vp<}nX63X|U7Hb7C79tAUS*?2#HD==%k8t<~70}Z#xWC9kcI2e8! z)0D|EdzfcUi~A32>i50>Qa}OHS;VrexCFT7R7;zXN}n9PO656CCAMgc-8XoH-``qO z2m7@~Hi7zEKZMxp*Qi2a1%zPfmX(Wb+5Tj0v^XN4gUu*&K=j(V2H^OdnR?L>ov8?b z>9Co}nKU#$>?##cjl39kl@(lj;(*8q-Wx(}?ppz4`nD9{ST~q%2iGDB0ZDco)C-#N zV0z(N?f6d1Tmr)yb#w;0W2Q`XAE>JmG0u-O@glPgOHT*6V=IzP!Mbno$qn z$pIVfF2jlFz?{qPo(dMiD3W}U=^|luH+_q}<2`=_&UpzIrikyZ9$ur2PFl(Bg2wb= zhy<=TcjkezI&Ghs6?5&3ZAlMgfm2Y^Z&?I+UY-R#&d7Ez zDS6k=_D%8h0!chfPN|EJuCf5Ai}g6l-u`kn#=fH%*Z>5$9TR)@DS0gx%9HE*Bw;F~ zy+5K`(i@r6>IKo7$iu=*><&Fc*tBySQS|l8-3CkPv6uz1r=g_OE^>l!bt1? zgZ7BkhjoL6Sxg;qGG@MLBJYIW_w#0Pg1T}xaA~(^O-Qq!xFT^EAqaOLcuGgq)s=8W znhaijK$|P3Er8L-WO#chn5W?^q-avUoFElSP>Gfz0uNBSad}@T6EC|phphr>*=`i> zf||EW#|E?o#GL6jh z%C1uDBoi^g+@?L3#R>F5Ai911*6W4PE=)>_ZGCGIe())5N|4Y#E;gbGiQHx1I`B2? z{L}lC*=$n&1RJ;#rD}r(g)pbn)mS^Z#h84d+C4ouw1pIMeY3J7w77Hkz=Sh88THAk zCw#biCbMl<5s`>bB8gV^QAwoYE>p%Ac;eDv>!Np1y#wDr=O+gPo)Vj9=H)ycQH@W-g9|t1zgNocu{GB-@W;nOZ(?yNn$K4=mt z6B&WsopP9UJ2{p;Sf;8Wo3mJ(iKj$5+K4DD&Q_b5K0YnNPdIU=u&z7>6FjUKuk!Zu z;nRwU@Ufeh9#TNl5JC#Ll@!Dtz6wfqlg}LG9Pa|y@2L7W7u-yJQC7%`Q?=ynyKF_u zo>c5FG(gYUXNKZ=9?3Zg8?_;lQ_zg@{p35c&|_SJnh7S?+kg#6;dJ#MU=#h~-*Hq( zpBOTN=^EBZWt&_I8Eobc?(&YPzdFkRY@iS%jmW4kpKCGFnMi7~;CP20ThK^?7xVxQn9QMQwL*DAgq~T)=93i#zqmY8AiF(Vr z`4DqFzZ34M3xPb0A3;=1=3)mGTb(0a5$n#U z31P_r#6nrReE6pKaQZqyIRL!knz7vA0T5BPHe@N<@;Z`1x}xnDd76h_CALN_%M{La zay&ED|FM4z@ekoO?lc;HmbiXDn@o{?4&N!DWaDlC5<}R_uvdlo;s%xwH(Rqdri&*X z(Z^#Vk}Jk!LE04H%62xapV}iD!UrgVf@&PfpzQ%)j9LfSqX4vVlf(-4IL7EyNbQ&X z?T90qbM9Y%6zJ=etd&?9uV;1F;hB|SQo0nGIf3cAX6Nc6udQs$u6;$q>mR~QOKL8Se$^OTC7-o1 zc!K|X7;i<4&D4vamOkAyB>CMAnt4I_?fTW;>XGyjd9XDBznYX;jBpcw^l!Z`Fk?2& z3Z-wu{;NbW;D0QC((XrtvkxTE9aJ3a;AsK?OG3=7H=P*TO?HNvJYdmkGAX;{B294{ zzTIR$L1yyfky$uPtKDm8w=Tia{D5AGVw}*1qCeEtoqt%77kp11J(dnaOc#!%3zJ9D z!tVXp-8%RkUw>Lchr^P7UiOAmT*^&5*tsMlaaz97L}h%1U3hckP)sL3kUJ5^*(Y@( zXf6Vcxak`8oA2;eoW|P6^lY3L5}5BFi-D5r`AaI$D!9-tei}=K`xfFPi#sMhekE^4y*&|!^g5pm1PY0HmDPM z2gEJlND=XSY-t@XY3`6#+s*oLCr(fhmOx(Nv^GrPT(aDGjl%x$2^H4Jw0u}W`6>l5 z(T!u>grZ8*`~ zmp#PHRoj(x0NIG0uUQB+fBP-W9R|=hU%+Yd6U)9(DWsbK&|yn+{_8B@>00AcJ^+{z z;dS;CE-&KETst=D>pL?F1q>j)&$B;d()8reifyXxh8T??Z#>Q^Ho#wIX?HCBi~|k_ zQtet26(!Ai z`0K2&RE9<}pPV~pZ!qjm=h*U-P*gA(*j3il)~<@-<0Fxu!1@8dp($Bxi1ytkaD7y0 z4uBeSyP2M#DVcMO^0|>BPloCB!+A>)U2|}b)*xt79_?FJk-#r@IFSVV7@Fgqb)i6# z^ta2YJ#ca>#gUnnfCye(uRCxqY2)?|FLdwLd1{bK&$SzEtwGEbw#Nxn^crjC8Lt@0&52$h(TRlTWvwaOqS1w8MqE;n7cSd} zDN4M8yJB~+1~(HY5F4a#B6ugyUMX=V0)c!TvQ7#!4BL_e2wxKTYL~Ri$96>_9sLAF z7DsH$FR_Z=(%K$Tw;Kv}CQzl>VqaKM0crA5CM@iYeXNGkL<*II7w-svV(Uli2-)nR zS1g?CX$TG&YLhc(rIG4CyMm@a4DN`NJadbE)Zi>#ey6AkrEU>QH@j?a#x^>l*dK$8 zdIm$Y)#Rgu4wDj>VUUaKedYw8U57D9!S`hUaw)t6>gPPPW-rI{hVc$k<)hxAy*!-& zP(ZK0&x|PqGb|VR(IMY2cRSWPq201$w<6oL^?N+8$gUolk~roF#`EvI2lpGKp=&>B zOt^QQSO*Zcwrxet)%5DybEA4bjDU>U#}DRFF`aWrC#{e7Qf~Dpc=28jFN03|Rf#c@20O{fFs^4XOux}`@al06r{dD&B$Z@JIhlYye#Tg*^a15@)qrtfgt!)foVL^zb=>~*a%6xH2@{kd=4r$A*99sQWP@Xn@Qr64(L zIzSZG$5(?w9A}_+R&g^mNL&)3WY*7eEPgA(H|NK7ZSdmYij5CzO%9X?=3!B#T$tCb#r#{}1+)Up~q`xERf^ zOQ-f2I%0ztKW2=(hPgMvzWR8rePOHny|+Jf_%Kh5p6>&F#a3>Gm? zx!6;fQq;!tfFM5B64ZrBhwG0SIf61@<5P@_=DEMAn4cg-Zn>K$-15<86Pggl9~Db0 zqgVhBb(Hyz0nFiyKe1t70>afgwXwYS_}W!aV+pp3nh7Y~1Oa2bXceP0BnFO_ zxZLKj?q@P|UIc`)JDl0@C)l{h672eQ6}uj{=y9kJL~SS9G*YxCEXy+HW16Bkcc$=e zb{iz>pqm&(0krtp@+zMG>Xg1)C5|nW^)_J}O?~GKIMg*Q&x1ajNEG8Wj8F^F!@0C1n+!BjT0tGOtgq z*&fan_rD$sS7P;50dHk#2i1LD3v2<)S#ikM%lx~QztOP2vf$4uvQZLT#(!}6vUra0 z`fDV4A23v&G_=v4wnR13Ij?|~;`5viJSa||R^z>$YZC^1&+<-6ZXfoSJ(OM&K+J@T zx}IhPupkq2oU@4!Z-A3l7mQumAVO7sNMi+nslh&~tn}lSk+4SQ3npGmaLS>y9g#?-n;4d*p4(uWC{cEY=3=di8EIY2PwT z$p9Gi?jW|h_$-FCR;WO)HWSxgr??c{xobB1i|jqX0ku>YF>O(ZzwQ6jk*)Is)K$B= zi7{?wYOUZv6YqW~e7D(0WtHHlVww1q5BKmpq_|;%vMF4u5B#v2Y03I>CF1oI%f>`^@O1?}>cUrW zyi86I`9+`nwayRB*mv1NTzh|M%ICOxyYf)kGWY0Uk2w(Kt?*ue@O#yQP`yh7F6f{> zLWKaGf2S!CNaUw*%G~j~@tHVRO|lGc=ct{iM@?qcG|}$q(%Z*`cVAd|wiN0KL$*Ha zKe}>77LtzZcEq-4%+{5~t9$MF9TmV=7T@8S8IeWwFk3vy-4hc+3zwwcc)LW^3w)lbhfo*R2k6A~$K zCJXQ#oMkI?M$=Fcpmg0p;q?}GxrsLO%c{4>6oRvBiG?O&_P&Y#tB^R32RPrsD5JFplOmH-eg2?YEnVVjqp@|ry6+X>IZMIG?VRw{aJ?i;Uty-B~kBRc!> zjzSz!7|#aiDbHpI8@4?g#@W`1uTmRBQ>*Xeq7sMwce#%Y9ZD|o7SIT-bF+ft9bjzk zRvBkrAUMZ*bpw#QJK$^wm-2bt@a$a6J(W1K)$y};U;E;>{7f>Kx4`jb0m%bj~Qxvn`>uCui>6~NF4uiGS-Yx zhz-~|<+as1ZVnp^{K)7vsTssFGcC`x%yhrqcSK>=vzD*?jY5G>><=7+UEm4^+o%&% zcyCF+p;as;D}`fS_p95~gXt5?Fw0~FlQfiprX>BAMULY0HYO_|ns!hpJs~S?^L3}$ zCk?^0c%0a7qAmX+%6o?vSMc6#=r7Y7(xPW`+U$1BKvuU$1MPF+-HZkWLjt4U0ZZO@vSHF92C?2Y~e7b)PO zYR312_4=87QjoYLR_u>C{pDN~ zRn1H%o_caUj6M)dl6^J9K5i74N6F2Zl~C(vyhMLT*5^BWr}G?kd2i@M)c_5uU*C z(zUXgoj96qB+X}^3@m>l>PP78yoB}~{TAOO+Bz!34S|;f*o&q z&r&C`1=UY@QOSjG=F87}*+3cJv1)x8wTRZpuGdymX}Vy%JUvrE_Kx3gs@Jy=G66$8 zLBc(2KWHF3;2J|DwlB41YC2nYU}}vpf~XM@MJ+t54d)3P|JHnV7s5=YsiBJ_@n-Q7zj)*;VE_5#X4#D zbXqhHJ6MT%`NvTy83-_i856e8gzc_gw*L#H~;!J|?dNK=l{lmg>cJ>U_z*X*-lpnM4#)p^cN~ zke`fN1g-ePERIpAvc~2W*cDnkYrQciX-x{0Y)<}T2QxL-+hjCquGum!F(Gr1-w4o- zyGm>{Qvn^i!*e-0K1DU&FSDrN6DSBmd^) zOL|JZ#vOy#0G7VTBgsRB86e%bn^B^aH(l;(Oc!Nvt9M}iEnQu3Kc#Kj*s)m^K_&VB%Nv=n5R&6D)AW63FU+NSJuQvc^Ptv14-!@@G?dB#? zx{N3=kkrG_>miLYl%y6^8!S5s`T8Z^5wS!qa?>mw3RXAJmu0!jJ`moFVa8ZOOolQ$ zDNHtdPadl50BoRIqzG6)p>Kq9hOYe@E|`@a^?bU&DBWIywzh-LojcTGD~#f7AqaTt zN;cm}^R#b%ENw~IxGsNT!#+fE=#L{Z03-+YNRB2eL(rG+}o43{lzLU zQJ;h+Je)}Pj;~LX#I;1S>M2DaLCii7+<}qVn)pCS!;WzKLZHcxDw&Kh4-a}FO1|(@ ziX*hNR+yITqc2BpuacN@nVfc75%M%nE{+~}$UOj-a%@Z^SCf(z+~WC;3$%8#P4I}0 zcH8!@Hh7k#!8xJn8J@5E=@O~>@{+3;7XULy-)&2p@N$4BBh|^->Lu*hKX6?USsZh* zEpd;}H^(OIn;&b8awc;t+(pzildivds!VsBH*eESRR2x^Xn&14drW=39h^({6SFgt zYL(%nsXcMdlmD?OPs8>X4Sl8 zcl9g*1?|>30N?JzC#0S7Y%U@Yw$p-97W$Ndh+ra>UlNs-H0zisBX@tDiS9g0o5Gaj zg-UD}-ZJ`f+(RdGDOs@?eAbf!Ixn9PPX%=J5AW>YkamO5j>^=S^xf7_+M{3U?S;F2uq$K8>eT#X7Z@3BqhOv)B{u ztNJ6m%aMahdPOM8;w24X5YBHk{$Q7E{LQoNnpfQ37uT3<1rwH%j}I-awaXh9W{HRG z=3eo1_t`Btm!LF~UZrdq_jHYf`k-3{F+~J+YhoOXO|UXBFI8z&CEJ|BV&B$f@6bYW zcbosg)L|N*<=EzI>@5|aIn7P>3~}zp^d`C^Lx=O%kM9ntzrD!eQbRTrF0B-#$VZf_ zAI{>Q&a{~Ao^Ns8eaQe?&1oHv-m32|V!F6~Az&0-Sg&t$hY7l9&4y54DK-sc;5fk6 z67q2^VB&H{#3J{n(VU)WCRrMM$FfBz+EmW&E~*ip>nHNt@gi4~yq8pt15g;A{=Iy#iv8F=YY2;KhucJ6+AEfKLPy$vSwI8zxA*4}t{m3KTc?;gl`{hb`pa79c$;N>= zQO{-nvQxgp>*tADyS;nE0OBd_-aq1;Ep~w&sw_;bua#nQsC`7x7H#J4;y@Gb`I9f9 zPy)TR$@FrS7XJNVYZ-r6Q|<4fbhJmbh?cszxp|?QbY~tqO{eG=DuV6$gt;l2y}!3` zZjjBcjfNLy(Qbk%GEQ2&S1BpE;r2!nYYD`b+{cV)iW||lKYvXR(c&G|(NA`mUGDBa z1tT8N=aHp*X5jYDQD84&3hnK1BOvBrscOqMitKs%LX+$m?(}ySq{^LLNOG%1@6u&0 z781^t{4B8dgdmri7z{7xEwzkr(_62VtT{#0eT)V_!V4#tR!tyk!f!bg`%vU{9(limjw~z0xAK+y8_K_hs^#eHEQpyiM> zykkZsN;Q5PIRKgjT089XCr{W5!>Mf|0@Kq19jL`ljNgvQdwpz*1Q(S&iYQ|0|7OfL< z0?w%q-%Qicsrp=&DynEm^hZ(Y-Nf}6rfn<-_SJoy7hX*Zav8GeGUdj*WDOyhwWsDY z4adWnq0_PvdZ_~Hf*QYC2rF*%6IlHVKv$0yrDNi=L|#kYqv?bbJO(%ThY zZouoD6x`pD#7(k(x$kgY`R~>K51zWo&K1jy<*>}q?)&zp#u!0sozvDQDo%>&NWLPf zOaJgZa+Rb;2qS2N!%Mh<}WfOGA!HGzrQHEYc|r{ z@Kw)iP=OH4TZ)d&ob~D%1MTGH%HKb9dzjDuj&TX5gq+D1ZkMgfaX&y&H0NR2-k~CA z7W8f}rQOY`I)j`-n60$YR%iWO6h>5Wz_(!Iq-_h5CM_o=X)2DqligWKI(n^R15FkbdhRs9CAdC) z=m;y8(1qQCMu~R+k?tfk>kBfZ{h!H42T_&co~6L)+6O<7fE`QhB(sIPXLXhsP?LSK zDaJdt{^^NgDrGEDtq{NGV`2`pv(~Pt=S4=Esf|_t*2eAM_B9Mw5^b8|JH(p!%op1WVsuk(x=3P z{rSN<(OIX5tmzw)%O+{m+~@QiM3f^kxNQG^GGTHShlF<{T9mEV7rf)ZX!M~Hm;Zv= z4%gP;4GSC0WnSHPG5lLE7t46Z7L>P5gvq*2rh2gnV&xJ6`>7`5`Nl!Xv_f>0O!B!j zcq8a9il}ELt{KS}zC^JE7+@215*OPt9s<+hEKHC7hTC=Ey3?xkmhztFx3HI;t)ywc z%<5hX7~LmXsh^1Yo7-+qnBDqve%_sPyR!R88@Y{=z8YGvH8brmbPUx2oX2%o+KI+y z`fCef z#U|P$FREQcW}x)P7#P7iZvu*|`G}300pOP3@-gV1@MdNvX3gZ=v3<$?SndCYwTX>?{cN})R#M{E>5_3hW|Z(}c6Fb6m7HPIXJH5kW`1aWN6Infa>uB1?S zRNJShQp6UGckm`JQ0<0@+K}@|nm6EHljs~RB?5RuJ~7nRoS7)jhm(fF&h>X@qKE>D zzXgAiR&Y<6M71a@4qp{5CTR;Ep*2XC?ccawAQDuq$lP2ehRw>7I2O{JF1vG4J-QPD zLqFyM3f9Ser#32m1FEY`8C4L}u;kxT+0S0H$vd3uD}gf@+doEe3MD##y?z-0Qe*D! z>l#oF2dB1Nez>8BMCQ<@xN8%65cIL3`tSrC3?f#GwZ5bdN z(c>!fje(8W;`NC=Nmp&tMP`WY>L{bL=Ym0Y<4H#>>%Fh9vZy%R9_rkZ+DVwre_8%1 zoDOt3dKKPst~o@V3q5c9D{kHxX?&q4v;$rd5>ILih27VkN@`&$^dKDJ9ZZf#`3b1M zyscLkuP2T+R4e|IfQeQZwz1hj9wd1zvN$K^!A?oY!xYkjPH9v2cUXNQC^}_j4(g+I z5N}6fva!@jJQsP5oIbR{Gi7qDc-S!*`{Cq<{`uM{dyhUdd8m|$4PEthTTLWP$$ZRa zfq-7ToC><)c(8~|yT;Q1pK^K{W(D!XW?JyCMZ7}mTR9Oa(Wx4&->6V>^$l0b2=;=N z3>1ny{@OKm4wd@K8fE;06aC$HJ)k&x<_N? z+5FeQ!X|yI)-nnjGbV&Z-b@ZT$)Z(qCjP1{6;P-h$Hxzot9{4*nY2Dz#K>EMQ=O)I z%lpa8sUy#QW1#3S9atbDtLgD^3(;yD1N0r;8aIpxm27$+@}Y{kc0k4oE=J!^Yr>nI zMu9FBSd;Ru@=ok|_e7-XlXa>ff-kVukA>xe3sJkOOq&nqZ_K=(4v(V;K6M_qth{tw zKu9TS|;gj{o2`;7%0GtZXF2jzCediQ9=*82Pc9tqnF6%f&)=zL28U7t#;BEyK z7x1Y(E*{Ll@_}>1JmJ|#ki-w}5f@3L&%WBrEQ9400`#+qjPxbtcI|1yzljj?X=oe4 zMdB32Qrb_${6WBzq#Fw-D0QJowN8#s6d(SX5rW^pbIXZ5()RDC)Eg%eEsqT|Cab`! z%wG*D{h!L+%UT*C6OUrLZUuKRuaRq!WcEY0q+3nNSX2aG}$n5rkb18E(TaBt-a zwSES5qZKo!A-EJ$T*svHGk@+8f(d_tEjX5x!Wj#IY?x#6qV%YVJ+!vZuVw6gEF*+& z#manacvcbPUHb&6iFm{x`t%W6e@@3Q23Gg3$#!TLZ&DG^jHag!YG6r>_Q_K<>Nt)V8urNppz#MuC5M-22@2E`R|%b4Xl8%H?|N1wDgNiB|?qR^A~Q zKb_y77~yn`LXa!t!*yd9>^N<&)lM{O2?@6cys&*Q1OFaa+Exr(CrTSWIj9Jf3I4VJ zd`_Jm5ai0jvaFgiJ#}+CH)Du-p!1YW3q*)dL%0^{>SU_F{^|zKqdlm7`n>lEso(oo z3{L=gC&4IrprsTQbaxwfqxIDO_p+srV1cNZ+0CqXTBUtD##{T(tr&ak9bmtLVOKI! zp3RL^`!J)f?57k3OtPC5={Ur=6HX?FDRGEVy`Qi@zu#UM~(DMS%$VFC#D0UQ!X?x!^?O=F=Bl z!SpGUY%K8<@o`6si#ply*&F!w!^Zk8xkLB33?5aOX_dLS5#g46xr>aZf2Yh5QGYyw ze6LzGW|>`in2aV6Y^+8o;|*_BwiTCW_qAq+xj)|PWa0wtl+SVtf0qP`YL7}cn3ecJ zjnJ<{UL98mcxBK5=6Xi^?cQ8SzF5*=NdfmN8(UU^%I^({%j1yRHlfjKo za5r|bqqk`%TM*=@_AMwvcx&?$*BNmsgQGE>0079!dAWU{+U~9)`>qdS;IYwWNDYiC z6ebME5T-{FaZJzOAszj_@n;ctuSp(HJNmj0HTiQK+v3wYh*fUz5h#dO@T^8GT3Sx0 z#$QLCrD9yB)q$(;2m@$UU{=n8o!tNw^{R)7OtlA$Dacr0E*gjJHUnSRG?8Ub&*OUD z=_%XB&kK)Ot{w{*6o$w6T|cuM4l(-E&qNti?8tNi#L{w)eOZyCoh|3u(?60zW_uG! zqV^R~7dI>7R{|N!H!w!D6mf?8SWjsU+eA=4No&gCkgyWn>If;DanOtV+q{G7`7+j* zWimpi=!5Nt)KLQ!d4yXNypx8Kpm=kOYH`(q#o2oY zp1(;1o^#$RjCKQ$cB&N&l45>{T(@^Br>J?$c$QZuta9oqz8{#a-b-X8vOMU+c) ziUxFaqX$UVk-LyIjy(Avd0a_~ElC@zc0mQ`q)b@2%r#s{0h_1b}A z0`KFj?Lg~sO@73OjDUwW>!n+6{1{ay&QpKK6$vxgmSs;IK@K<{ypP}yOej{LWbSB} zEG}X!3p9tDalpav-gWrF%x_Fy-y!W0l5#kJ5SO|619XRi;KPDba-Pxq9W&7l?0oy; z-7|T?m3dFT;L9uoe-gl5VAZtZ;P^DJiun4O(l7;4qv4a#`b-4g3^20;T%Tn=+x4oL zxw?`~J>;D_hz;lzB^_^cMaT8@4yWIFP%qaQS&toh`y(@>0+XTKnCGPX4wNQLQ&Wck zPvmoyO1tHYY>B)0BJCYj>@-VIFrjQ`@DJmUJ&oE{qzhXNyFtSNIj%KnS#8Tp$>0D# z{#*!!xMr8a@W8Hl>qzGk-j)nt%{Edvi#hH6fYfnv-Iy4Wm#1dg>#z0mIh>eEI9VS1%Zhpx zAk;2JaNy;oG;%V^^Av!#j1s z4W)&C4*~uQd)D^nib+Wz=+!<$a}5e?;q}cfRCs%&r?pe(pRYjU@cX3lED+Lo_7^QE z=2B0&KzlJA26Cs8TMee7CH=QxU4(H(7*yb}etl4g#{$Uyd*UQ=@t#1(3l%|2H!k`B zl*TqD?9(5y=2E3UG(HK7=Yj}(#}ivjloj#-wk705?42c?>E23g0$QqZxgPza42A<& z2Ialcccmj}zQ*<4rgsG71FY{5#%R3QZ8T5VpqoLLs4&Q9k;g6*7^ zuOcPFi6UUT$vo}H8s^~Onra2!qhhZq3NDNOhN06{s`*<%qqn1}+6K>X>^0dZuY~5v z<9BpHEH2_+zC@4tE%&5R)jAfN!yyiw>1haLxS>EG2@Uai;?MK#-mGZCuBxTRcFHx@ zG0mQeCDQ7!dBIZ8b}R0Aw?i1vS$*G zypJ(xLS8TlwuR4#TX~!k@%v=TL`?m3^M@e@Ek2#6zG?N}BX%6lW;Kh|vjueVKdSUI zxrhA8?9n8y;_0(|tY0$v3T*2~>G<$v72D!4P!S-7=`?Re7(;o4!k*`JDP-hI2BZZ( zjU@$-29xDpplnLt$kta=e`CH}H&-{?(2y|{g9;&R1V<-`Ey?79N1-riL?3DHd>w59 zTKnTUdx^4SV>uX7_BcSuqLt^xfjmcy3dheu72E|;sWp>9SH}^4n~p?aaj|T-39;D; zgwuAW3Q?iVE*G+gTkEjg;+Vs;G;@yw6{Xe0Vx`AczA`u=^{Of8m@VtJ|2$nFhjc<7 zbX3&dNA~lS91*6^_cE}LNA?#+ohemDLM*I`TGjX2W`=`zyh~9s;cVZ(SW7Tm`u1jb zG#Xa3%Ee~_B*viK(7%nlH3&V`1d%uFF8=wbf{WGaXA1G1<<9J*^b2K;0R{X|S@S%s z3JDMU>L|Rz%KBj(u?!iAqQZ@OS$X{qsE;jzka;F2kdWqWUxHcKLv;{2@IK@1@&G|< zQ$mh?Yi9?{;#j3T{uDL^3YK}ky+i7!DL{lmnc7s6+}D0R`(l7U0e&+tc}b#_#8_*& zel?u5kl@TJpHm9?eOf>EDG^hY0byjhq5$ipJy^$!vmH=@n_YVm@=_9wjryde)GZO# zRwj@~2BgpzpDodTO`a|`QTIEP#-IoW&kRK^%%BU4t~QvK(0`IfDQd;em}g&)c*5;D zf*jV@O&5FBh(bKfx22ZA9kUN>Z)@UVB2L?}ol&D3D2dQcPF@A{Pt&tU7m3x3kfS_VzXz8Jrx&{A8;O#+;?Nr| z)cKAp;ZTwWOTEH8E}^Ud&_3rrB-uWJ)(R31_Z?uoL2)s04YKZDaALD&<(_-~rF<8S2#HF` zNwIl-?o%R;$lLq(^qViaRZ`N$BCuGal`C$5+R zuT%EYX%2~@w#(tbsK(UWc6!lpo}3&NT>4D@TEthe9!@rvA6O=p(bv%nxnN-eAf3}9 z6A>@C|2IWEN^ojhqx&!ot_26;E|c_MSQpjBHLjV(a$jbGJ^lIG+UH-vuO8smADIeq z_N9Z+OZsbBZ#ObeIg%rT$ZA8|2V9OZAs02&hbd~-&GpiMLWv9|FG~iKtIuC{6V%?2 zYB?P8DZS`DcaRyi ziAKs#i-|kta3O4Y6qWe;Q!Vw7`sE)?Op)>&(-2CzzG1{)he7+GuL1!_vuD4HDB-cT z{9qQ)@~vA=8%=QH?fNw+aa&4BKDaQSC!uLBrW`jMR(D^OF!TfRA zW*pR_dr-;$g>i@tc~+b}+K)~*2)2wk3LLg?3LT z7}+e2zlqiS=yqc?I8IGvZQv~|nuFWqn;pczwqK>69!qbUd{+H*1IS z36I@&R&2pgwI35CF&u0XTZ{Um!O7(mrJm{?Q|T}7yy<1ds)`t)9IjT&5Cu}RU(cIh z=a0oD>g!2PUKj^=U17yT|9Slqo_bgvY!ysQj)D&b18n7#9HFi3JJ>bEO)ep5bL>eM z8Ax3vreqxq-c>}#8lna}>NQVX2MT%5#np})bD(orkepzX?>g>e zp1yv#k@qmdAho^Kn4HwZaXM&aXAQ*->};AD%IK@5XTuUwZ~Apvi>#Xl6uY3lbbL_O zk-@sy;6zX=!GBBu3*gytFQKc+csH#-9)tZ(-bl& z%jD(^DxB}dC8)`o*l9-sidRXNI0s=tIdZk~>11g)Ky&XsEK(IpOkub(TGjKAaT)5;dmVREI%Mt1fRo4B%Ms(jyav zbEX$71uU#9xz-T-8HcjK79N$~JC-O->dl^CTnJ4#2k(0SR)lAhZ1N`kpcdZ1@ofw> zPbZrI8r+k7RI5dqmwjlW-*Lt5R`}Y>&BKJEIVK%y3ww;*xZIVt{uK zyT7&BdMv%74LeJam8;88Rn7ST|LqUy5=*kW`1WMwN@+)Z6mTj_xarbIDF{_!Op8^V zUGd%l_WMMv%htEr9;s-M_$>GKOB>8VGsg_qbk<~VX%#!ez{@#c?IPZ%k6VLIGGbVN ztwtEcRA0Ss0vg%1f@%>%{(WGch5B|I*|N#B{NBd1!6?7*>K;q4B7V1B@b(wwaCiWBo?)ypY6z!19Yd;Z{^M4CLHgmdifZP%eRO>7p2Fhl$=R0&(& z^Q?j7)s##GfD?|^{U@@>(`RSv44&Lp#BzUbd?rm0OrJSCR&$0sPz#xbkL&g_9DywM zF~IGi^p&Y7ml_;Ahv*V$VtpK{L}geLwP?{QeJtzR<7C2Hk1SaIk3hnG&$XD^r~9bcQ}9$F~+mh;AW z4^1qcYVQJK%IzzVohq^Yo#qa50XKC45t_{5bKC8qe#J6+IGqX;Y|Ed@@ei2SmYAp- zUl+5rXzvwD#xhX-eXe(yDI4(N#n(2wP;<6=wZPg1afiiZ1g|t7jYv;zNO;5VeY`gL z2l$}cyRD!)OlFwo@tmHzx>RQ}yrWop94%GDZM%{cCM^B-#TfKYw}^@9$~Ey^eL8^} ze-g|>TmT2>`)OfSfsE|0mS2x4s%jA}Asf92Xt>lSNjT27+z-1s8R zJA8BKrju$9KPm4US{kI@8ria7Jo+W%cL&zbbd0oj8glCy(fCL%3@>q93Xwh8#q$jD z?lncZ;GUTu$)PUf7v)9~elfryq&&8viuKF<{+k|hgnLWW^ z?t)hCv>eoz&Le@o*D!eaa@FiHhUM2Tg5@Q$)}!5n9l2lZI~I;s@Y2vG8%A>F^z^e) zmYAHTXgQ`=^$sO!w|(x#_El^H#58(Kc!^dG!{+p}&XZz(G~`Rr)^pT|R`0gDYz^J? zK|Z|$su9rEQGVm$#C-coj#{kVnFXY=h{ym=+h?PL#6oH$8U9(7s^!f7t8Ktd7w|P(Q%EHuQvPN%KMMNgcavD6 z?iv|Sw&LxT8-`NY*z^f6_+z`2;v$^FSqHoau)gT8UIDa{qyE1tfFjue}b;QeqpaYnxIhakSZxbOjb=LOUnsf zq=3pa`HK*hc1CI04{nZ|G~9C1WWt`{1`>ei9nBSYnwXV8oCU0Xe36Z9)s%GcTCQ*P zHGj6etmJd27#H-3P5kZ8L{};gU#;Vc!N}5s zQI@W7+YFq~9V%{F!fDUAF*=b9A0KDRw&XOsuOL)LnjmZL3IaCmQu}o~?{S6Z(;j3= zSS}B%j3ecc9w-F5~<0PqXAJE7iPOpW!V`X8}Yyj^+ zxK}Oj%%@ue15EejEMt*uk`%b^_Mc?W>?)-`mthv#@!CI^j*74J_`a-$u@!Pcayw6J zqI@H>I}kPPAHtL|Iqe1Y)5Hq~X8HyCiC7{51bH&g>`pb^UI4aQY?-bEHI(PZ;`bEe zt;yN)wFp39&Xyt%m@4@@sA$`EQ7Fl`Nyr4Waoy9{q&>eACXY$d1CcrxXTS(Ul1)gZ z!syNng?H!ft?$S}?tEWkNFrm0A0)R%oIzyMQ^xzk$vrCuR^n}imN$YYwV8sXo6 z6(bQ(e|>ugNZE4lPvg$^IUObv$iAq!&cw@oyrteAQS6!LHTdJ}Ih)3)CLR{pFZS;<&? z+UhnEfkBbbWXbpwij!8u4{q?zJpPwje#aDNJA5l6Pd@X-db&9rIw7v;y>pxq$c0oI&P@NKTqM%saAxxxwSvS@&A{-LwzA)6fAF$?c~^`}4&~MH09D z&u6C`oSTtgmA*gVk%}YIr0gn>J%_wV+pzs+^KBQ;a0Kk73BJig(B&Bm>ZhBDEDF}@ zl5j;w}K@wc>>s)P8%1mIgFnm_(hdimYZ3H(^O&eSuqj`42Q|`*f`A zafLw79t6q@kf=?!5vNOj4(N|hNp*HFpp7l;3gmWq@h9EtD_mK>6in`rqQ(vSBmjhx zxXH3%XxFcq*DeK_3DXMTF(5?V9z{$Ci$0T6(I=z`b1TD42V8OXh(=- zx)Bo=8ttMT*drvqe6!d^GEdW?1bH-gx~en=IbmIW9sP==_7Q-{lYlf`a~$q_dtPJU z**<`U)%h6iF=or$#iFr+X|GgT8Z&G~;?QwPKN0n3bM}*2>*c~8aTD!sl)Yh%;$#5n zIn?Ww!x8oMMdu+`sCn>ATO~d(38(muE#ScWcH5y{HV&db*)uQ-X#)T(jsO%Ec~A%- zz$aNOcHFG%dnpcwum0;C)jp9Zk;B!;ndnwa&+U`F#zjJf0yf{9apb((CB8hmj5^}S zMpf)up9p2LgIQ0rB!-3YkAoFHo4bgUWMx}$ZX#pP$qH?TTRu8^d7-)NT?>wB;e+#7 zKqHOXNCgV6kiXz$MbkexaVM`WZ&1)*Y|qE^!tk=3Omu2N%M!6vlPTd>9};+#WwhB| z6@;VqPpBR7oP9#ksgo>XylHHeqBt>L6Kpfkr12XDZ>RN9=4+$eo@^VB1&PgkK`eL^1=uHN&Dn>nG}KLdGzAa@ z_5hLY!JouJ;Bq4WUpqrkg%ZAGSJCIn!eZ-@KvY437^>c=9DTSo_kaQnya$;QxRrZw{h<-Mnqi~P?jeZJI6QpmEJPk3 zslJbY{!T#LHG>!ySnSCf@*P;8J&8pLBx-!<8{qaNfwhCSvBZjjdHbDL^V6vrGz5)c zGu6j-^sxv08tf{XnC!r$q%n9*OQ>+SL`7_63&5~CZV0Fz@=P4Ov(io`)=W>`+l~UG zPWRYGU+Kft@{T92l`yrONrbz@?Qw=?OFlRUE7E`?C^Gg!(Pdj6CKhH8#}oxX;WpYc z&A+eD&W@4u)t9>aKbDm{!vLeJ(Aj3u?tK^J+U}9cIKVXz7da=|h9IC+UpPv|wDkk7 zB#tkmBh%aEE_lUqiv>++>o+oS7; z{P;5cW1Q){r=3hT27v7=U3}vusNhW-2xen3GfR=ke#aJy;^^-UjG$~e3<1h?t<_PZ z#Xwmh&9>zszb&pZC@t7^Y=-J4)xiO=E*A%WOlp53ieezlEZY}#q}R5 zZnJ(u$gNek-KN8_uKur6n(k~`gsOelaSEu927*KhCDiqvHdF$)WFn>kVaA-W(snp* z2p%tKH%RgxZDBjvP~U!r6^f`||D8k0_-}RlEEM|N`|+jef+_Tx9Y^T;XQX|NUW1WS zb;sCN4N%0m{dMr*+b3}hw)8u~-kOU?i4&B4EE0WjOpZvxtD%Q=yq_r{&}Lh>1e4M{ zmLy^FAsKK-630nymhDiqCf6wHWSG{T84yo;g2kBxEmH#bNWOk5;;i1Ru&Z|yvMHfa z^LeR&YVNi8adY9F9t9JJ6_PJFRz`~LYxCm##8un5@hkj_$E%Escbq{ciSBy(4ru8w zO!=F=vT2WKh0%(;#Y=Eez1NYwkq@>733g7q3sGvVFpf9FU-Jw538$a%sK4I=OMewj zx2(SnQqT#Y5)&@Z5anK{?XLtM2YmCkk5-7UV6UHGJ;m2|09Qb$zlh>e0zxx2^Nqpm zvRX#i)r{<;G}Ji7UuI?0+FG3FeWA35b>#gYND6j9q2J;3_0yr1X1mv%Bu2J+{We?c zWGAnpB%9J+vtc_5qg>w^w!@QXFa<|~51+O>q$pF401z@GP8hotRj0&rT`yfOUY1}Q z?9TG-&m_sicF2(v$i9|{fYcB2qN3_k`hVG4s)0769OPLiKS7$MygXZ}TdG5;7vbYf zK?rGA`iFnLzBueP@Pp`b`ELXusU3?)+U4xfs#ZFgRv+Af4RycXW|uw>Y$e-f+b}th zT%K&H7`Ym@{loO5#~00T6)7In*GT20y(|Y?RTe*){5q3(mr%0)nZl~9Ih|9OeQsI{ z&#%`_a<`<^HO%8e?yk_%o@RDiSL9lUEHe7BXYy<=G{8@y(wDeff@pnzbqAnVJpG~* zqq2&L<)Yafg?6bYG4J)n^&w3K1(lr>>1(4tZ5@Y|_KbpC5o3gT{+^_H{}Wt4Ss`z7 zOlMkc7OfMk6%K_H7Z7ZxcukURm0GL)eFKdG8x4g`ACecBkbMWW#@(ksd&y^S_1u0? zFJ8kCLGo*?ISj_aX>V=%qx-AV&hoIjd_X(wXd5iP^JJpfzUT7U7DsrIxawzW*AQ`h zbuud+Pv?Mt@YqNq{4(2)9DQ%bX=AL?ZiP>s6~(djudWjGu+j%hE_a5v_LAXm>Uy6B!Vl=wTO(%)Q=c#v*3eK2?q^Kn_4gK;Tbt~smgT(clC zv2V#@S>?hxuLdB7MSP^)@lRm=SzVvqXIabiEIHT7%BohGv*#G#k9rAHm$;Uv%;}!? zS>*Vo{t6!USo#$cgv$bcD0|34t#27|U7Y)lX185zQvU>jeIprkz6D>gGJKX|r3>zA zl9-3a9^N*?u#fOa=IC@7-h6}cQRFEP&ySsGP>7Rh z9{w%UJ;^)eL2S^d1u=bxVdJ_weQq)oO5aM0Z7EB0o2$cb#-r|;?sQa@#4wzlCYt(mYSvo;o%&7+VPM?x;&+T<}%cL zy!@jF6BjiJuCivO&IldcmAP47SMs@PrRtF_l^5F7#O-=V*2iJ;wq#XeLj~}XQ$nNe z*p#}1$$=rb!|}=PQ<52JU-aUtOI`W+i|wR<`fBWAt+_2P`A^{FM|p0E6{usWj<7u_ zl6SXrlRJZ(Sm1#?T?Qa1n4f(H6DljasFxRdDO-{(mG=z)_2?;QEEIQh^=PpHg|$V> zb_o`o&A028?coa<*jb%9v||p#+dXV9+b=Y%Oh_VcV}=#apBtBgN4%4BD|_}yUZ%l$}c6Vke8rGPMdy~8zn&=ag~7TRaw|40Mvit6u7 zf`a&RR{LG~PBvJz_ctHI!m%e@u)CR)@>wa`?2T2XyZ}r@iZec~-+FlwQqN3*E1X}d zz$D5dY+FDwfG*|5s@uF^t3%Kxb`b1xWjb>OvV_Ua3al9FZ4|^ zD*QKP>+i1-05fpWoKL6xoKm^8kq5ls$z8QHazD0otXp0;Vo{N=$rzd!>Jn&Zjn529N!6q01Iz4-mm9fd+6f4Yh{Ex<2|AtJgWqJR>%Yj)sU z&`+`W@ezH>+ls0bsc`=QRyF zaP4S2|7xY`N3En&1(dA8$sO+L&_ZKJ{ai&t7Jl*@Bd#;zB3WYrlZGR7_SU6~ZCUM$ zYiUN_%|q}BDo-^*{Q0}rp(MnzB|1AC+v1ebvM?Kl7nbILkv!nG&Y zQAvV34eUU{#>y7aiJvvwJE*hgfRGU!vgm)(rCF1OD{4%W`?BwdOu0=QLaqCht6esN zxc%&-=)R8Wd#tRGVy=9Imn9b&>_c-KX{}gmJ>8Nb)|jK_W>Hp=Lw-=U`V_FSNhIf0 zQ~M#90z$mK`2oXxg?0p8{#d#wRdRk%Nj>ltP<$U5v;*+D4{}@IyZAahK!gKlbFynX zKIIM+$QpOYLbbh11k-@#+wcQfK?B)BZ8>Cu>tLNyW@i6mdtdnnV>ozXy|DZ`Blk$Q z{zz_?d`7>a+R~0gDnz)=a^(TE%H*ND`GRXKBLcgSeg`L|0MId+y?0zB7joqig9-_{kr*GPYq6wXxBj}g%#ui@Dbm$a7U&S|6S2@_)HSz)X>f$!(H;FIe%0FSVU{t> z4&l;!VdlTg`Lp6)He{CMp3B~P_}?ofHZeeKoWH#jN2ev?mD15^wSyMkD4m*&V) za5gAPmNBkWPv&Gk)g_BN$yf5sXQiey*Y6Y2F@NnvLVVsV&t|}93ADuRMys|N`$1+N zi`N6~v&LF!yeH6u44!_ok-mifr2e6KvPj5m%=fSXn%s(-H4cNXq0w9g8*!M&&W_f~ z+Os9@ZzTwY6oky96EgW(&M)FACwpBoHv%-SUfpVWR>0S-Q*(8mL#s`FIF1H3S#-SS zP!()f(LWNn;){YVOe}ZT#*rw*Wkm2@^h!I}h%Gw+R&ES_tS~X96T4kT+7J8~Pb!X( zrf7u^rMFal93H!i+VEr>4c}Z*bOCQPKp`*sFkgn-pG_ z{GLgJNdwnXTp&lvw8WtX{eWY@yWNDD5sjRA$S zHy`YsR$`Zz*)U&MtHUh4pmf1(X#b+Av{05iV~Txws6W3RnX}3_Xp;vf@>2p;U3=2+ z0+v2$lm67+$mEP&{s~vbCWWtPuHM$J3`^j}r;#c6r_KMtHY>-QoFQi$TgP$R7L|84 z=B*tHKaf`{7}gK>(H_*=-(e*1`YJ${RR&E7uCY>ACFf=!S-=)X^C*l~i^8;H4^(^| zfm9d~E+204J+ctbIl7G{)K?eFT4mpDL>k<0r}Q`O&{6VOa9-W_42%`hPR~Uk!DG8C z-XTRq+fAx}lN_*?m`ie1P~V@XeJD51WjxaWo?yF^%c$$6*B*N{^A`RIE;>yyGAT_S zvp=Y5+hEV{u&i9tSnxrof3`vy>x@iK{}VgxwW$Q};*i}))~Rfw z+l0<<>;}++i9S=1JzBn0eH2;kk4VFAe4qRa+u#jUtB5e%NsEzo3|1Tn1}v|l1eU!R z*ugyiz9kZrhprDw5iS1}L*=9USklo~SGYeAbZDt-KMehird=z5$KAI|Sct*d{SAqo zqY1PtO_R8jtqAw1z%_Pty(3(s)D$1{r^UQbuQ3}PsL!VLbYT49Zd(iEe>f$w0VnhQHihM+?){DOh|U{Sjj@hyDJQVyuf00r_8$AG#r=p8LRBBhh7bo_+T zk5MRkOJCio4fs~I+-Vfcl@yql^BbQeAWQ@Hp*wh38^CmMMT~qfY73Z5tE=9jl_f$8 zgRZ*1%ZJrY1j{Q=sFaH3aMNsj)f{Urj&B`ok)}L2~ z7IUE%`zu7%J>jPHM()25nBKCx$gE*%-dut&_D%6SxL#?NE?s4edI{D##(L-af%~Y{{$FxB`fF1SUbQny;+jzOT&#PQQIhYoH-d5@_l?>u4?0#P z`RzX`)N}i%J^AdI z@+Z2uk%Nd?lm4q_PnR>hA&@7LuS1RzV~o~rBxu;9NaC0yEIFtSKt{fBRf;BDiH{=4 zVCoOF2W|iBo_mqUK?oW2WQO}ZUU`wS#%e^mBJ|>8r_;5tp1a8TPP zuzAv8sezxl!x&H(V-%G%E||kC=$L)szaqrQo+4!8TwuTMCjW1nfbDXtSe}hfJ2cMe zZ$jOPkV!p$wJgT{g4h_+go)7H?-jn6Q)||i=S!9e&sJx zz`@<^=3$>0-rvJH0BH8NxAmNC#C6o&Ty>HYF8^1bq%3m4a~%o3`1XyD=CfTHa3ySd z0PA@2t^Yf!p2~xbDW2D}&V-z{IZ5>oQyE`_|LwyoV3f70$K)2l98F#M2R4y4EiCXRbCj>r&D%zkiB!@ja9APqmIW#%9mSfo zf27x+M29yBe2jw!{^XLU$E{eUVscDyD-K&@t+F%L`!d#3ENlPD0_iP?+URXoi6r`7 zj=}kqv`*VGhQMxibaB{C)BvvrjJDnIZ)Ms3b)yheG%0%wP&m}~)u@j)p#Q!nq*-T$)KHux#yw8>TuKLN#|IYKuUc(irQ?MX~WQp*(~=a^vwJq(%|m&)Tz z^Galo&Q@;jCP5>ir74hwhgvkV@6&X)TIzz#0xGz(hNczMyK4BZQhGMKV z%C1Uaq{#{()YY$BLaWnHp-U_wd~k?-S>^e9`9^Uk-20_uH)vX8SqFpdcuwkL8I%>GhC!mW=Vt^dT^u zo~H#4Y~Q>O=V0vZ>FAVMj=K)WJ7f>zV;1>se%i z+;%$G$s5^9H*IB=AjCFEIU(_!|2{Awgm}~&+ubsC0tTY9m;H1ARyZJL6CwJjx5MzI zbK35%YxeGBVGYv$tHDIkq35z3J0pv(@}t6a@Q__4@+x*gZWI`ckG6M#N9NIm3j<^W zHR-ZB-*G`L$7HKd84`Y7v5F>MnoKJJ6SYTWDih#ps(nr?Q=5I%R10-uOWL;AE`Y+E z?^)SR`x?Ks5<2Z4^}ZrH`t#Xtj*a`gNKGxf54RL0{{UNq$VnTd#gG==8vF)WHGsou-G||m%Jtd8=EPfFwmdBwk8Uz z_BW`UUFsWL6V|#`2Lpy;p1s)c4JPHrKjoMqL=`9pTwu zC?gY%EC*q5qZK`UK)j>8WS9Cuf#~{U6=OLEjPHvPBvZsRSjZzhUFc)wP zx4kTpD!L#uV?BR_p0c5pipn63cjycLJ|H#r^YjFIBU+r#VNjPh1gOPUM+!VdwRH@Ccigy2?f==Z(3@G?tI zqpBIB1N;RN*Y%jrZ<%BT77WKjo|YWoXA;S(U<{{r4wUng1+j8|MdgbfgJj4$iF|tU zt)8D-iwGpL)JZ}wuxu`y-7pzgT`P9QlJH!e|90$&Z&46$Sqzq6nQg5W5!J=?rF1|% z$K2o8_DM#=RdSt=RIo_CE-8bbC^5UMjW(J|A4HY`DYugSzd$+>ReW>jEneki?k4P= z>qL^u(JD5*tZuYpoQDeYX-NCf(2a2*t;2^KpBQx@37h2d!*ciOLKnhcUT z>1nqgcBR^3kwlXn?A>TAKT*Ujce1bKuW@dC#hka*rB51xf4U&ZZhEx`X|$d;cq>?b z`24;~$7QGk3--NigUj;{sxRY$Xo(Vqt^a~1)gFfTi|xTrFTqVDx2`48X&~_IDOC%f z=15@ZI*eJrz~3ll>>cS57MIMH?5<$5vnJcIqv)_$Db$kp{|I{*Bu#asiE=|XF+f6s z{co&wJOpy_QPyTNW7GGqs*D5?iibb88Sq=F50BYM3J%dT4U~cF$Fz-j${O)>y5%~# zSN_qKwG`;So9(en5o(m}tPnREK1X9wYrC}1ddR$J{xc}uv>*4m3s-O1ZeR^)(vZsaErat=F=E(2$iy|9w#CZy$C0lMUBiLv&`o2p!xDCKw z?7+6PbI!^}S$Mi>r^6uO&bC?G{$GTLq6unT38rP5ZH5Bw;A(zSj;&?FP+cJ=YZ~@R zR;exp$=R-$xs1X=R5Z7{`-v>FcMvW2ebVbmI9D7K)JnT~!#Rft#8?mnHrDr=Oiqx= zFbN2RoxkL46;MaYi)%^i(F!=D$hL+v|KbS6nHv~YfG4jNysDMi;v6xbvahZI%53&) zprgS0I8aPWDs3~hrp4Wz!KLAecYC6EkA3`sxX?Bzshd0~pX_!aY!OLON4{xeI`}hN>_ZVnzyzkAOB{CMh^R^P&tZBuz zU+!4Gd>j-{kmYO8E%I(sWGgs{xFFxryBTnqYS9wi+7MY4Eijyk-WhxWQRf1kEzVTrZ2Y{J6 z=xNZ69>cvuujCw)I;tYJ>TicZ`?F)=3> z9Ap|>l%{@}h1mK+H7cg9=YgPJ;zo5%;+nI1njA09?DAM#o+_^s>lvE-?sPN;gzXi7 zr6fX$y>1PsOSl%3-5f@j#cYW~=42f^WpRpIU-XPu{|lkxGtXm`4M{<_V}yLYO`>=2 z$l@@GaQSX5(LT1UbX?N;8F24w^|gA1YVD?d+o|5mv^3f0|LX}w@m58+glc7*9m!ap z=Yu9u%`I``K`7fKrC~Zhnt`A0y)8v#D;;DlW!j(bi25r_odP_FfxY=(r-{*@h!%!o z3u64{Dv(Kn$&+AI*(+1hiFQes`7M?aaYZE%yi2M<8@D7_)a@UzDmq4v-T(^|J9!3I zy7}FVx1!k8$eqdzNU>{W;fXYf$zw7=<~1Zl6e2Wr@9&Qp8bL!_=_ zsam7vADZBT$6Fa0z(6{zl=l$pbz5N7aKU^Tai`@Lf{@h3;WovAK*{b4U(AXr?B zf%;Em%0C8P3Zhpgo2WY#nI^OEPUw_f`O)XVBe2>B*BX6>m}MJ{Zq{u))_RrJcBJ*- zM1Cv;6ihEmf^*5)HIWZ;Hc0)cQXz{hkpIn-8-$_FeDt3*P@1&LWbI|7OUAvwI(dq! zzowX&FqE}Td|sV*A@#L28@oVs%V)zjd6nfvx^Di13Cr-MJ>u45GbWG9vmQgA!f|HR}r5a+5pH z5QWHEiH`N&ffdfM^eVVTY<9c06Gwv*+4J(C|=# zd0&qIPtfREMP~_7HkgyrcG=5I9Z*Q`^;=soVvFy8kC924yD|JcScICBNUOHj$zZD; zai(-G6$>f?QJ=x?4?crqW7{#`+>OTKy7w z&RhTM%YaS1^>w0>w7>uQ6*r#ZHWBJy(RHwQ75x$#;`ngnU;I?9Do{ovSJ-O0T3*G8 z$ZbMsx|TA65zhPDN=AW%Iz`>PH0*uILEcX5!h}5bVd`(K^JgzTR7Em`>*shE{{Hhu zv-WcaHh71z_YCzSs2 zD_!%0O~5D1iDQ~?w;SFTA+2ixpEJgBRk$QGq3gT_+gHF_K$p9G$Ym&^AjnsdD^Ct3 z>f@7O;({5_t&^pr4428OD9}o+Iho8BMYr7CdcGazU0epAX-breEpq;vz$w7Eb<_57 zn8T1@^tA^Iwx>xdU;z$uQfo;J2>c*nqq}x4rf?&Vh7X0a2qZ4I@Vo?6XEX6j#DVtL z`pg<~&aqGEDB;K5Pm5$`_Um|aEH202&b4MAU#uzx6vU;PzA@dXhivYxA@J+)nde}q zsfKNdCb=FeyJ;JHo>1=P7pd@ORA{@6E4-ym_)e5 z_8$N!Fk3D;4n*@y<3yqLdQ!wn88_}vg&o?LV~vF{`!XJ!GI_PR?E5Bt-V>x@B)mh?5yLd#ak?1AAE)l}n;+^HSuime7?jDh9 zZIA5!8D|HexdOK|_>RdTNHabRF{*DS@!M>t#|RZV(_SY0gcrq8?zU*gR8s~RZvnHE zWz=e7nQaFBrs!NA&I~lv8;Z@g>{I?-0R(rd=1(3x%5JOAJy&TkUX!CG7*eB2XS{Du z7Zt}d#x{f*R^vCmz5R~&mo6S8~dobl7K@IE4D3mfdV77SuAECm-1LIieQb*W_C#7Ln&9pw&)vu~Oz8 zQ)toG99bG}F=E~$gu=WRNM@vhsHZXDt<_{PtE_%^XDF~st20z_l_zF9#fPB*Ww+?7 z{OuKCEVwEJ$_*JIb0rpFa<>IcP;aK44Hd8bMzyH+d$QOj69kiIIkQ}do?782oJf;d zz;20_4)i319zH8Oz-b2)vJD=7P*mGbd2auVBJCuR+)h1c=tsW-TPg?My<@8VCB}T@ zSY~+IEhwL3d zWm%!kV1Jn)(@3PV!XAw!N(on3U+q8pS0ckYzI#EG#Bx z=OP4~IRjP3_0&mWgaK&B#w%0cQSoTLDc1D{Z__72C(OF#JPkoX+9_C~Hhe z{c83b@9-iEh&sve&P#lLG1ql2qL!H9LIKutn2dfcFtYr{-~cbig%pp{E{b%S+!42_BcNRYUpQLNx$$V-T6ONHd4SpMat=I6}f3w>fio z2vOdN+4(1pl?k?%!2M?1p0mS2>e6l8WocRLHbS*$Lg~FDD^WlNrLs=ohClh(S`e9Nv0il`V@e}WmFsm=z=NOON`3& z9pL1REAnI>Zo9&F9Q|hdhnppkcf0i^@i1A9Z*X|_iE)>+{I)LB>;cC$#+O<8wrl$5 zv$^`S2{n_lOk7szaW1^mjy4Vv2E<~>jkl#6<|Rfd-c7J{2S)T1^I1%?@fp2>>O!8i z#B!4PuTj2Il7F6+mYi-Rn2#<_kKENc2xvF}y?osm>6y}ruq5?ezu35&8ASX1B7_~EefH{ z9YnGmJfCAP)0|}9w;3}$*L8V^)2FwcRmt&jk8Ma0?I%sya^(tldP_q6cmMItF}^J; z@wyCIG>K>ZG)g_9$kainWOg@_e8PCXr867%sUY#h48L(USg0r|x@RR8-2->j4zy^{ z$Geb)`LG^$x(-q$b?82u`0;_|q1UUCQc|t?^d9>=mJd8H^ z9ncv^T;xh5!Zg30FMIvA1?tp8{L2&g|G z0ZUi~PwN{EES&82*D8%V!@hN(t0R9hyNF4Yf;k84g0cE+Hzo{(&w3Jyafi6osJyR9 z;)TP0IDM{vL#}3cWVxl8x^WF_S$7vXIC}Q|(sV4tTH_s3l(;n#I1m)qS!10C{o#>c z|1Tuwt8=UPB5N|Dr7CO82Av|`-e&tuC#3-yD`vz-%0FIYcO$N%R5C+ajZw*@aLfWl zAojMX{a6^$1EpMxv<3%AIUHJtCM?qVPtElcNk3B}<^U%h3WXb3yFsNaFK>C7=C*up zRd1#Ob@3%ksR6q^$01j>z#r8u!SohRR7#{#HW&8c746Q{{NrPCz1uL#IkBJ^h>?}V zR($;8o}7)>Q7$hYtA>FG<-US*Usl|yEb4>_1wt*bqy zT?_9>LhY%FPPs{u#JQR^B7dJYf7cRYRX6;w*;(fSw0 zzHEk*hnyaRy$hq2o9f?D4z0-Xc@F>$H2Y?7ebPwQn$uT^H*#6j%5$6i(-<`^R3y(|hHq%v zMMcno$*di*z9BzwvvZzDc*;&Te_X-D(i;}>D}RhxPBAW@hqp5`ayG2q&GW1C|5={G zuuAv*dbA%{-P@GW;=r@z?AHlNCzCo{)gff?%4Bu4FJc+%-Eq* z?XB22<{eWAoK`U^8FH0L_gu<9+q8{Gp#p!o@ex6B!cVXE9i(I*Dxv`H;12GURiB9p z?qW#0tJFKX5?LWAmB|S0i56gdi1Hh5@8zj-_2{0DQi?q`c%{i?Vet$P&y2vZxe34H zi1T!P>zgpEY@gjgMeIn6yGW%hj`F0bp>$|AkQM)|Z9s=IDwDo7c*oS&J3*`zAljWY z1g~$w&UR5bxtlR9>PvDcE`ygQ0~dlRezjx1%2;POxV%COsg8PmI_ro(wGX{DFuu0S zlpx%*$KZrEI#nm&~DOxnM1mI0#VV9Gtz zsQ|$ayR=FL_!@hSPc_PlZ4?TRxlYDZy{H-)smS(Pq}U z+Q@idul9O>V(aJXcCnl!!)f5s?(p1#DA?*~m)2>bS5r*z7)s>oE^W-gneRVy!W}im zhXeHrN$>Am!#iHm>()Z@ueWzPnNI?|H<9Ok6G5cb$8t=Sj3jb=E)Ed>D#Zos6U)N= z-62F&CBo{{?_$`w$OAUbJb(dDI)bu+veGK-7;GOFB2~{LJCg*!u8(=Mq6sDTb0vv0 zZ?w%&txovTtl8NfTa~7KbwU}OS=0R4rAYbMMfJ_%_hShH%qc!4{p{txc1ZQ$MNzH8 ztW=OjifMoETKvsqaV@5e1*Xyz+}XrTxN*NHJBsY+=SYeBAb&U(00LsW(|3byiGXWp zRw|Tj(&-Hw`3e2SS6`Mfqd%!?t{)gfkE!(6rYsJ4e9YJLuiyi=KCKzE$u{fv_KQuJ zlNj^n>V%OEkceBR(+Od`=5}Hp9L_ocLph;UZkU)ALzL5judaDRMp(?0rjX=q@TW4x zrA9ZIQ|>NuEWp9@2;Sk;9u6zaRnUPkM%E#3|H=b_{ZDOO`_-)67e(jMtH-6t!sCbA zMyfT?*$87lv78Z0xLJbB_HtJuq?cc4ta#Sf5f%rn1!F6e#F}h%_yX{gYv~6ZkcMfk zyn_nl*SUs${54&me{%SG44C>ilxO!N);x8YU<6ex4cDiLHIEx*pAtg(SfnVbkbOG0 zTaW5WzMlI#ARV-~=vun;l!sx1lSDjBkP0sTF^TGH9DWo>U^65H&cLtmv4xJ{;ysFC zNg66cW>9eW=P(}hB7;*de&tYAD0E%xOs~W6&X>~8Ow=X^F@i=HxlCThZzNQmq zr}Hh}QA8~uGs_ES>Mcy7T$}nrngVW2V{WBz@-!WtOX9dL71n-yo#%8}ju%G7eh1d$3b^;>Cc0<{ zs?nb+diHCNd|=BD4p|SC9`7a4VRTRx|MTk`i%_DZ4gbn*E>NZH(7rO?1#AgQdpS%R z0JKf2rX|&9uKOfM#yIexelUzvj16ZK=y!kt`Z~WjmGWX4ehaKI3?p5*Qe2gyO6<&b zyQC|4d5=P7)>7juh`2N0RAQk#agq3L79?u#NCbwp8D+brx5bw=2Sj~uB@yvDOd1o~ zRsG(eDx6-{cJE4(g6ABbX`X1wfCZ6QGqJCr1-mLwf~&Mn;$|AB&LUK}(r;fl=2HWk zv)^p{jW?-wN1zTdY2p-yZ&w}KO3_I^_k$FVFEbpK{TWbGR}tLtVE&qTE1<0h#9s!% zGjS41?4KthygptRZe>1lwN`UxNzzMB1t51K+YlqmL8WZJ%xKu(!3Fg66q6F88uR-Q zxbk%60NKc2*8oKodNY)Ij0_$w+x4TGjBxrfr`(2*>^Np6zUvrfUai~) zDQENI_H^WXl*Z5^d{h~!`Z0^*2$DXB(!$98IXb<;e~=}*E$mj zX6u|jzZz!Uh+ByCC@PLtfw*exkb+O>8Jn@hidgpT{Wdh0EIa`XnfXjnx|1;1$1fldF|_ z;4!M3b}Z@)86>IthJH{?~ER~wXG)GAT@E*Xy9+H6SOJ88^__yAl@6>0E5Bq zVz_=`sUoQU(qc}snUqwkC6JUc$R67u$I6qi+jn%>8i%5NK&Yt5r-}qoyMY^eg%aYE zXRs^jHfN{W))%nNeL%UvMWd4)mdXI^c1o}={-T`&?U9s0rio47*hS{y<6A zgk*M2L44jOJG1pR5%xkmf4-N`G`?mz`4d$f?i@8Y7l=ib6xEv+zrS>iA(B}y zP^tE&VL9uY%U8@4CHwNV3sg+KMG3~G%G7~~;#8P*0lB%n*zTI<%)9%Rn)kP91LZ6NeBvpGShD6C2#-*XlTlL|NL0F5O6h0;v?|^DQ z<{F%^%diSMXi$^sQexY?JM)Li1XiEl+_Ani@rMj$ceiRHBav!7>N~7HrVN@To?q@# zLQl9H)8eyae3_G3M)q~Q^=K93+iTV>?}Kq6v>#ZP?|>p%2EP(OkI(*~$)}b{s(WT{ z=p*KFw=r5B6S63!N2$b8tQ`+;9=hbi^Ql@$?N(^rVw`OeE7R0f$iA;y>x>=E)XU@l zWzxMByCOFu-{h@qW8_nswm+4&0tuA&dC2PQ^txGk`>p>l5)?h-G(LuyN|k#KfNA^W zh;C@?(s?dMqK9+kh}3sP!8tvdxMo%}^wYMcY>x^^r44faL>#gPl{Mw*t}`H2kcfZq zMP1wPE-rGGFYniyJ3@-g9puUb)cjC-#q(%3@{^mv(?w>SsN9HHqJfjXVd$$ls_{hf z=lbMT5zrC76sIVbC&p1WZ~J3z)so;OAcdi19p$Oe@+}6pePsmC`yUduoaF0A?R$78e+SZV-b1nz8d_^r6eR;7wpx;c^J$aL&?Nh+ zxfMyU1zVjCxcht|faT(PnY=5%^x`ghYVMP7kkv^#yk8!bZf?<DF+Ls7fUdU#s*SoviQaYf9GPYtNkLjefS7^1*xQ-iLGRaJU zwwOy){RAVO9dczorfJFUW|W;_=~H?*56j>^ctik3dyWi>B~sGu-m-CwoTbLLGVECH z&XQSot`ps~6>sMx0pCh*&?v8M<%ap);nU7{TzxPgmr8{12NhSN)6J<5SgtMAR8r6m z0vl^2w0cd5lufR0MvppWN<4-q?|1^w)&A0dQto;VACmL!9x__$&R%<6ZC23U$u@iE z;fA){Zcr+S?!9{zA$|YaDJ50>k+?;yypH4)bPY^e9FBfn17tU-mfGVM+oE^4i7|LY zzut{&mBoW}%*-pOzFg|WN?7J*jF7n3cVvc#b09YHR?fC_y)RyI!^GR%&PK_56ga2u zzvtI_$J5*HZc>TpWtq$tKv8Yx@cCa5(J;AtIwo$fQcPYhWJg<&(}HQu%-Fmk?Uo~7 zBhv`3e{pgZ&eNVYA**8ld;#cTR>!414J>YlEhOc39%%keG-TDdJS)7Qone6B*p!o9jS5cX3eY9&_ z@{g@Ae-N;L*_3gm9SFznrZ@Fz%CWnFDo*fRlZOl2Nik`H!~TR9$r3tc>&?LJna2V- z_pqYt;AVCXY>|WUr1&7J#i(*y!pf5a@Ckr${S<&9ptBbOVpYO(8Y2xXr(4BQhTg<3 z;Qwl%HBq|}MIXzF45rbC*);_EN2x4Z)-MJlYMjp-JbV2-BQQyp=ggaI$GP(FTlts( za5%s;AzL@OU6Nati9nc<+xS8SDy$&Go%JTk*Xk~TY!pl=p|J3t4)&4d6neSx14FRl z9`2}JFFsYIM{pYWJE+j^K7(G#hkNvGjzg8eLS@{2OtJ^aLAwW!TR!{hnBwf*W5)0( zy!bp86|XH#+m$({qaUd7r<^4+R}!|VzlDd$bGFaPN6z8mVkwBQ8bPVSz!dq!zTH zbkgA103KP)rF9bPK`GFNG?gt~F>mO*^e*FQlU_bcxQHmyfLN7ur{Go`F|Ki|w6r>O zf@u>lI_v0nIWZQ*=z9+PFWB?1#XXC!>Cp@P-TsyH1Kg?TI>bwaN_ek^^pnx>Q*O2+ zo~NBk*=26_z`2?J*|h>~xVUAOwmIcX+Nf2h``x05P07GxI_Fieo2LRxXxFzY$vVmq zW->5B23axs+X^S&wZ4?Q4PE#Or!RAYR7nxN+en;K4nku0Sx0+O*K4XR3y}%b*#5Bs z1jB{;1mW|c3638&lKKg)XN0RGUni!xCf(QW)I&9w(=hNj_L-en!3xYL>Db-9kJ%vk z@(W<9pu$w-3~D9y+JqyoH0EXe+Gl4qwL9a?PZ^0?2_xKgs8k08Er)0CoH$mQ?Tr}Y zr+o>R)BoSGbyCIE$KG{}C=>kUgy-M!Xg@$s8*}8s9NFZe+T~LglK@0cYCPE!%<{kE zh)f`24&F7u1)y*t4-NM>Xmr#Dv_m{ zXu5*C9WJ-aI!79ncj zYj-fA(1j<~aLWy+?^$sV!7Il!?pi-uL8O^uqsMh>DH3rBC0LgSm)0SVf( zSbNmc0;UaPKUYz*bIn+`K-iKu^VD!&V$3)dgnBx2Ftiy`Zfcz|(bD5)?Op718u zC4F6UiHFH=D)o|n_?D+rVEt+dMrE052WH+N7afSiB6FE|I)`*aeRNW}oZVrPikH9j z+*qfUP5*p-ai?6tsg#d_lRPT(j;ocl_x`j4s|@X-`E9G%oiL}7%Qa~&N&vZib50iu z+vn^lL#n0EG+l`K8V24WCE7D)3&sA zJZ+AKUoZTa-{bdPUB2~blJ)3d(-E0zuHj@j#7e1$U=AVzc;v6&% zx<2E@x}_7mij~dpXkssTL7?1r=@O62xcyFxdE}tQYJl9wt4-teb&hP=FnGK)yjw_}Emk5;SgzSi`tr`FhO*R*n zDy-Js4_8g)W;(Epna5qM^F8M1?@(g5d~LnlZeNM18G(dvNp+|!q9&XVTY9%+E9#Q9 zyqZ3kxk!=|gOPWDzdkq9PdstFgGgB2EYQ)$~5-|+UykkJeJGtkuWK6yX zxeDj%&q)IlfoaE7A7|V1n%#scGFlBbem@w}D-ZUDy{XzR!0_B93d&h^WOyK~PTwcK zVmku@bBRcaO51=Qq+PnDcYZtoT<4jOb4`s?EmF#|-mEpwbur^?WORNZ%Zj5PZAnkH zyU#d(^}yJ)U`AJN6F(3uR~mmto-eJoc0z(~y#Xz+0y^8@kx-_4NB)FVBBryK5xbN7 znYRLVI&5yNDb7|VryPnqFJQvk&q-cIL@~EVV9YQX`Mo3C`%Am=-TUqi4BG9ywAQMb zG}A`{!%vd~>&(HsrFxz@`ib+OArOB;icc<>m5e>oHkT2zz%1EcSD zCpqc0&->aFtp>4b8Er`~Z>Yko)iyNm08@?t<)Z_<#4T9sgo9QZH<8LBQ;=uS2h(ub z&6ahO>#SX&P&Sq?aU4a`1KGn*;hNY>P~DSnWP~<7&Or*=aGCKsg1qUSFbn-$Z##X=@s?He38Bn?a^vW3u84wcdp08>D$zjG>_C{#9=@nExq8^Q;RNHK+G z$fdu__3gU?YM$0+Jz}qWUyJ3{hJwgQuRIl}GoXdOO`sYKFY2tBiL=q?D?EElUB~3G zk~+Z)t}YA!ocfi>#p8eaLy0}O+xjL0$x&LJAgsR_9}4E`=bOQa^ktq$%TBw!k!zp@ z(+Jl#RxPm-<1+#Kvm2N05PWPG}W>?_KCm#nwb$5fo zdI=9OY4zaqI{sO7PL_XsZD%MjU!7M84bRwB^a=8_dsG$w>k2zA4{|-k9M9x znEqtwlwHcM>v}t${U^FeQ^Be{Cmyw2_fZJEXFHk7DXDY)72aj7a9oG#5vo_g@4 zt{+9b1p->DhAQ+W<4T6_uGIyRBv%(uYCn9%+-ywPvAipmz0rwyAUq;3_+&9lX8n`u zrD$R(cm=%@#faJG9CdILNX2Xz9*-sNR9^!2NMP8$98VzM$KvjX)aBPUM-lalHfWY8 z@lK-kT(#4zp~#DNY)w^wyRwM}-G*1zzH)US1-)hYhs%gU%Kc;?f>v$w?{lcDlTPLJ zP|(_aer*Fj2t|jSI4K@=jO%O-g=VeS27mGo+b5{;Pk3?7iDN0dxnc1KgKamzA}uY4 zu4&n%!aDesfb&f5Iu`RbusbDi_tk_elJG#i!oN~_xyEf}6xhC6Ln}%{#HBMg0WYoX zXSm^SQ!2-UV=~e;u-DI<@1gRcK^h^E1=vTPZZh3JdGJKOqTO_1i3B4ffC?^ zW7HUMLJ@GD^JF?4DA@e9CyjvON)wq9eu;@M0JCQ->(gyDXOqeti}+S=JoWUY0Xuta zSCR$?lT5^0hnj6i`BtD)Y+LI$ZK3!L~k4L_Y=@)2J*XC3b!GY6`9P&|=Je zETeZ!!srgA2XU0{=?E#|(c}SdV2)I5+0~)k71gP9KGvrm1D9nVupKx3=A8Wrg|*6) zkUWrw%f35Y7Sek|vvYc9YYPhB*0fBdhfRtVZrS>duUGv+p-hv*yX7MX|UzmM@=fqYiIpnb$0Hy7|&E3 zJ}2P!S)5bceii&0)~^OqA%#oTb%bTkIo0QZ?oP98So=Sp6UZk4!l_eUZvPUMzID2c z5B3Q+A6ng3r@SNUXG^JD-RJJWskA$&Ly&d@0v-}tyTK&L;kZ?G*W@W5rWxHX+Ec8>zbW`>{`Bw zu!=2`rI?hsDVpd_f(DiRu&8-->)R4TaGU+HLNZBxa2YsPJ|hKb^89+#-of-}#K_UU zbnLD#hG4^ONsN^F~>RiN->?`>RF0!Ralr;^F+9WmY%RI1EWjkI9E0vL1Y6xB!EJGZB zD*1k~HKy@XES-|Q=@IN{|s zS1{;C0uQjcIwU1enr2s&+^ls?u%Z3mpd|ZT0x<^bmqMfGJDk10Hf3(K1t-IqKb?y5 zsHCOaL19Zy69n_q(rD|V;u00{OnZxUqL~2|-p+}4B!ve*r|T=g6qm1TDqEs|a`%oM z;^_H+8BQMQWn+Rm5DP7BA@V+%<1mXDNGI7w-G$9Nj6OnwN{NhSdkgD6xIUnQT6P-! z@y<+ob3EsEND#zz;M*OxPBH6<+wcM$uS>pKQ0=~>hmW8%9bpSJ@v~S^w&QNcNqQGgq6B9wV1Sdpm@0f<#EV^-H_W= z41ZHP67#GbdFz{7DPLU(?;Te^M8U0uax)8mVwts{kDB;xTj@h12+~$})O%>1v3MNq zK`XzO$#AEgH~z!Z5WOP{nE54MWfo@V!O;tca~R3wh$rz_!_xyeOhAKeM^A5ZcC+S? zBmV3q-=UN^O;rSV)-tZc-%%NeoXpFHO&QP26gVTWA9*k zaZ=OGjm*=w7ZnDd0tgAX`#MG%$dj^Zw5P2>a+wjBRlbSHawj!n+dHuSkTl%}IyBZ~ z6ez3_oLFD7zF_xcrI0qGnTn3*Zpdb>BqxOq=G!eVJR`<;NHH(bUp*?PTxAy$0|2o%V&eeh`?p#kZ%_F_b)`0{aOrE*QB~)?;!eO~_JHSv^lf zTHW6Jwg~Gq0I&QyhR@klZCFVeSl2Ot@^}usfO;yBWVbjACOA~les4eF!BKI_3;P*E zQGr196;DQ>&T~Ztd3IXchNQq^J@_l8pmSWES1Bu(iL-#q+n!B^JjR046&zCb?XP4v zTWAkFyEH!7?#tOAe_~ub`=Fn|BA?f*lh0;!x%4sDNmv3|p@H^4AW7N}tK5n$YnzK$ zd({)7m}xg%e?JiKfO;z)w910v#JbudNMB^DM%>btN!p~NmQ)?>v+*sqm3~=m)Pl9h zoO)0!+4oJB$M5*ULHdGX$qc}mCMgMAF>ZJ1W!fk~p7HKQP$6PC8F7>9r8W7d)D8wm z?Hx|9TEw-Kv0=N$p0O8hA$c`1$Xy`50TlzR*e<-&?T58t9)^Saw7f%4!PO;y!iijP z-k$NZBPdo36M|Fvo!g5iFM-h0Wvf78T<%`Qg)Z6he#E6i_KaEHLG{^15G*0gScc+^ zSMYfz!cthxPt@B(1MSHf0TA0f@L>47tiFoZ$N3azKVd~y7t69r2G7COe}(?Mb&xlp z?G#i8z`<&^bXme*>rgdP$}YIXPNQ(`TT*s2HF{47ljD7Ogsn|2y}vq3_(R!5t=$K# zF-Pw%@0?^rpn{D4*jqB3EoFcmHc^AeL@t2ePrdh!Wb0p@l)O6p8(tj6Q^QVZ&0tFsQUMJb-DV@C()6g+=&5k+%aAz2`sM8h+utL zCaW^07t7(zaRlOATke26?_7Iwk3G~7v%bk5jwq5@Z~ zpoe_0m>B0fnj9b8#b}(m%N8~=pzBk6lqcI)J4Rj`+T6Y>$gDWrMxi|xT$?R%oN%Yd zrvDvEC+S?F>U~T?7xez^8uqfIr5Ze1Ck4whe0FSBm(VnH&BH$d=vQOub&sg$JAKF1 z$1B0HOw~Cy?O8A(aH1Qg+Q}Fn6z33RdJfM_E5^VGhtdg5bK)FhSUU>_*7RMh1jACE z)OOz$D(+-@8G3G)+Yw4DYHOd{{UTI?FwQ*8txiXKBCh=LcUn=m+CJ?aTL>Rruq-** z(= z_+e>v1FL1>XyIe5{&zrnPOaLAy{0?O{qfWCWPr}mW{~EDX*e9M`ppxv3t>G2JO80C z(N5y}Ncre+r->~3j!b+#ct6o`nsKI9^u>&Z`CVU1RpoFC5y=V~_%x38Q1Ce>0pp)Y zYD6NaV0jq{fs`niej7g?%0f0$E1P=Pgq45iu$Ypc(3sW=E7%^-M>nT%ggkHIq>l1) zoyl#NlINr_*6xt>TET!Znk;N+ww7t#5yscmt!#JMrc#eL$11bn2d>cQVi*tL|gqmP(jxGO7l}_Yz#79C6>MWCM0nLCz z=l~1~H1^atKha$gUD)UpgumUo5|GS<+}7aGs!Ptfrp==umywS9Ud7VB?k?qn_VDl2 zNg?$NzTJX@l)E-$m4d=+mV#OQHOcFmwlH*Fg)U-nQCzQwqTX!99orrZ{R1)pstXCh+ zlELw!TuoC`*J_z$8Mqf6iBY8~JU+vW;j{gQ9uw{M+8>Y7_$u8AM|_84p-G_a@UgrB zZ70699g_t*A3-b9?C$w1G20!LH^|Y;1p0pBiX$GZ%Pi!^*po&cH~w77FTp&Q0KQ!+nw3POFOM5Ueu9P?xhRBNZIwqi}x zS3V#B?|lyp_Gfhc{^_~@bTT-_$i!gVC4O-0mvFS{*USpDNbbh4lC7KCZAeoQ?K4HI zEH32s!M2QG`il}zM=Urupxf~Dyk@fzT2yn-{7YB@w_Idog7(JNsjvN`U7Oq>{_<8{ z!>3ndN8Gu=wv@(}uTX&?9up=+{9PXpa?;(iuqtsl*$a^DVT(GdZy1DMf}@Hl9+uda z?bkqy&WD4?c1}t}_nzjqLTHa*-EC5+2h0S|XrmAZwrQ1#P|5jirV}wmK_KtSc7C5i zH&G4w8c8TCQ^qMAQpy0%*8k*w0 zCDnVWpY@R;nqZC|I^^v>o7w%6asEVuD!deBlgO5cE4xQ4Kh-F50?g*gH>n-F$%ehc zm~mhzML3D|uIea|-81(cPEX>ZTVCfpu8@vPOS?u~Z0{CAj+qyp^bP3$JzaMO8CuLz zs4}s>Y>F#0OOx0A399F(z=U&V20l&;$l@vmlGAiY$i!y0_3^eAWN}3$=sK~uyZf7B znaLl@UxIattEX~NF2RsYrcVh)#c7aPlBO0WZOH0$F-2l#;0)=8sEc%})(L!tNYPj= z{=^iyLA1*^-2uQQJGXo2*!erVO(8RE|Mqus$EoR{>+(3=+~vgg&2cGs*;MrTK0d=s z-a2uxAY8KEN!AD?{4^biiP6KtAn|+(6uGAikwF<-S`E%L%th>VNUje-55;o!SSZ71 z0SyS<5D6Z>kv>^r8-*R|zZD*Gb)u4psU?H+OIwi9aHL~-sI*(Nm#Al-6JD2F zl5q{~sDSqiUk5w}6E^GmyW&!rND?G`ziHpmX>SN&j*^IN{pgy|tz2BW`rxG5M1g{F zF@>UfXkj|O-c973J)8c?K1m|Iqlw&$)!adtKA6{^GEUSygW~LcFf2$1qC*|>W+BeC-Js)N0SRG$#dKa$j zHNLV{)qq|}A;{=X* zCj4BOvl%Z69t5S}n5IdM%!oZw9r>s+2_~(PnDRfo8yHRvL6L4#HSvCBPU2l|%iqUx zj|stv9#gluU;ofTj&SxGBkjzK;TnVzO`#T5+I+U=~O6~ zJ+e~%#uoyaZEbei0*wZW7CH83deB~t^e#+-CnpByhO(=fvGt&g=PFs{4<*zHC`OpU z&qP{ua+u!u*TL0UC6cz6kXNV|UTLU{hk4KGaJFthY26`UlJ?*R>B2+fSB~N!=$U-> zw$=$1t7%A5Kz91>=}sUxPrAE2 z&7UtjhxXOj5B2p>E7%VM6I_6RXU*?cu$$c4JFxy1gQf{ieDs*=I$a{Fu#a&qEWloD zHH+Eyxf46=Y#h(-TIK}CX&BmfFeyGbIGP)zHG|@}>qo4i=j&}>=eiglRCKu+YlTep zW>~xoi1O=XGeta{ZXm61_w^9m_W2s)znqXkU5A@g*1omT zo@RiW$dL6Pzf}82|L39?u%7g`y;+m<*84=Sej70H-~D%JG8iO z4<&850VCt~q-}tTgG-_2Va!|T*TxluQS!@d=iE>tIfr>G1cvR)oG7A+E?mS+a6{?w z7~(HOgQ?deLPy%BxpL#ntw2FJ0fRi9ixkm^Z+nHaG=LhJ<#PU&heGZ3LXj*Yy5+vz zhLo%H^3^Sfa0!^0*e1_xom^k}$;%`cA$2#yw_sMVyo-_u=q^f*t1s#I>cCvpASS8V zQvc+#bLjv6h}UyCJeP-?)F5<#Us*mRJ$fwt$`4aZ6aveHzm+2PKc)_rR^{6@b<@cpcAIy_>Qixb&AUDZECMt-3BCgv_i+F7dIxRqSUvq zemH%U<8(>wEx=@>Cpqz7G{@C& zelPwR|8)ueU&YTJTE9oiJw0(>`JHdoWK>Z0IUV$ja0Iw4)ACU{QYX>kR?4#HGo#A` zjP{TE@EuXyB|*=;gtoQb^RME(o_v>%jy<~<+vT;B#P`vz(+*!fJE`Q2(PCNI;x~wa z5Q)2Qir)bqkrd>0nP$oDaBi^_dB8_;|FMEZ!8kb}ai_f)b5;7t=bZD}$DYe$!D+K^ z#fmH&(h#1#5JH%E1W97$cMVuUaXEp2S?ZIlD(+X7$^=CD(qxDz+W!+#1e@o;n$ldl zem#y7?%b}0!t|#)2`VJOnba6_lB#5y2*j+%CQ`4!O22V~oVgK(eHzmGDDEt)+N3ze z2x$nm&)Us;mJ5=7qb{9TIQ|5Mx`aT z)Si~I*44Rdo0qTZGo<-lEx zG*{6ewoQskllBUK?d^I{SA6zicp1taX3`+${zP7YuXare_EjSkGcQAGj+I?Dh%^`| z<2PjFyPj6-6;ppq`BP1kDVyCE(i4Z*K465%jJCGKJ&KX$cHyc(fV&G&Yx6`|_z`OA zA+7Pr=`S-$&y$WWcm+8N-kC>D%Yi$Sm*DMq1Krzh1loV0c?Fr#!j%iRuY)x-Jk$E+ zaf7%U4QHe(aWfC`aZEsh6XC*kl=iLccRi~jf%oU+R`yk!l?K5-w&muDV(9p2-tqL3 zw<>{SDLrmZX6YyNx1p@Lfkm}l9CUkZ5^X-MeaVmqKZpeq%_9nb%#H-xz>NWaJ%PZyH3-1T$~DsLlN*wdyi&m4RD?8!D`cJ_AT>=C8N z0q3`TEI~sv|Z@u8TI<$#i6Z^ig=4_E&u54&QZ6w}~lQ|=gpLkf9 z!tkG z@Y6w_4p4_&)20bUJKaoJ$Ggf1gp9FsMGjzE4kManJeKtp(B5BM4P!;#^Sz}6yxh{mmzYFPgC9g)Hb18 z>mh%J8;Vk$9dagNh~9Yc9!J!3mqf1GcbbzexC*u4=GgRI{htrsVbOtXG$eFp24{$I zaWU)IL1!FnoV0%xu7} ze;lQ}UiTU$XqfM#t<~_b-a#I@4^T>~{zth6IfdE4dF?08`0tV@8^?DfoiHN~=8t+? z*rBgCekC~cD~++quq9l9&-On0NKW_@-r`{C{9O>p*8y?Rp{C`Ts0u%^^$$+wX*=oU zG&T>c^&eA`@h8fznSkM~!B|;UDG$r#xhb`^{GmDYNbYkjMOpB9J+A;oY!}&stN;ei z?tAJl8A8=bag&*%o$ywGBk(-78kr?fHG{i%Jf*)ifll<6+|!5;G>?+$Z>Ms(yZ+zUYQf!O4fe$Syv*wX0|AmrPE<(Fv<|uVqRhl*bN^7kissPkjGbD4=>YkHRUUpKI(i3&8|UoSM6X$a6hc_xEivxc*t%gOS|4Ud_uWt#yY-Z8~}y9EnV^yG<#LMM0? zS4i7o>$Wo2MRzpFnJm8~GBFZ2iNRrdnZZu_&?W3q9sSMygTe#xbYfS;yd;^_t-QCV z|I$7ZhOgF(!o~o+cHc{9)a?0(%-f@ieZ>|8Ov(1zQ50;Y-E22VQpHK@4R_Z>2mF1k z)6Bfp9lTWcGy9Xt%eFg0ti2&H{vVQwJva&Qwcy0&xuzabLXM8D#JFcMn3JG_?x`f% z?#p8NamjevTt4Dbo;6IcHX_v0ZVOqsGT&wTEnB!0dF zflrb%j~RrfiA&mQ9`vby!U*Ks7Q{<=pHKVvgU+Y=45>3as=|nI60i znxSB2AG^_Ydw@F8|nt-h6%G16QMVCNZ= zAv@|~I)f6~9Z<5mQ_`hr6~8W4n!Ll=`b*PT)NC zScK1iIKihF-OEGbTS{?T;j%b)Bp(+LwpV-%zUp20iA3XC@tgMbK%eo4A#S%mknM8issvL(m;{ z3e!0`K%#7pMQNukIs08YY*vqFb`pjn{)wg^oJiR#m#Q7t4eZCHdXr@8Jn7;kF8jl; zJ#zLoW8R7!)(3CuPd0BRGwXp}fI%Z?r+>+P!x3@y9C^2zI};)~Gk+4#E4NaY4)Wz* zt!PwXLh;mF@1SD!w{=40%e)ogNz5M}43;_+zAG1jY#)@qv|Hrh>gcF6%OJOtu370d zxdjzj8js@d9bfD!HrZSr?J&D=5DpIeH4rHW3qj{m6--QBWW0Sud|(fRMQ{W2tU7_r zZl92@h$coQGP~qjAI=jeVy6eh!<&01`_>86+%9;r1V_!7Xr`)~U zF6I?Ze|3QpM3Z;-gHDfH++>&P1Z{2GSArrc{`13O>U4sRrXmg!rFb`X$UCS$gAaBk zK6=@}Q;6hEBC(KtPM^9TkXu)q0|M`SIZUD3IJ$#V-RKv{Oz~{}1o2lTShP(R^(C{I zI3CSX!MDj##XK=`7NB|Glk?85NwDXSWCL^I2D~YGvpskHw4dnui6VRRSf3$6%Cb~6 z!VAeBOWx;_D@+P~EdLA@g9 zO|#Xq$zR5)ZuV`+$GlGXBkeBs?Yu+lPfF!CdYDdNOR_-p8CpSs@bHWN;5#>SlPbv< z7X#g7+GWg`69q@h9X}z(NfNn|djZd3*X<-jwBuTC7G(Ql2MVMH8QO*0&$B38=pMN( zr668QJ>BzUS5N)PNbB+St*SVdQkfn{Cvk;LbkqYN%Wn2BMLgXh{L+4pnb;G`J~kXW z!H8Ln_>QN~2o4z+gEnzR2o#1l-2ZN?kXE>8Au)){txiWSc5DmMH7PM+x45_gg!b|u z$ZdMmzwBA=_cYSvR zXmDLz?66((i^0&Cq)c%9D8w(DnDUv?SJ^q!;fk+MSvv!mD zm{dK;EV{OXZ`&qE`Kzjt@DCcVV|+P2Y+id@dw)XW=^)WL>$r-)z%xdWUsJ!xT1{Kk^SiO{!lFG{&ynrd{O(`>H?*it`xEALZmG`KEX&nm!g3 z*YaBBH*NMr72Bb*xevvLWZ8AOmJyfpjw;eULi#Tp0tZ_GSB{nyyaShr1b5h|Ieub` zD@Fd7$ISMV$@3&FaR{?F=Ewym=d=gJk$WQbf*|mYsio{P4%{o6do*}^VCG56IfQnG zERF{aH;Ed_dQq)Xxs@b zj=2w?fO=1ZMh-eS|EDZCwN*dA_&SOyMQ0v#OZ>+NoJ+pa?XTXd3937^+%Uil4xSm1 zPlwT89RS;^@YA3J5I|Cy)Q(!QPJc8V2Mg|GBN3TXR7+N;)&(ZE4cR684zAUQ6;J@{ z+6uDW(yfghla)Ti{KF0J*8okUrwxFPF zVp)Q~9ELeb3*r0G9YBDLBvp2ulTmF7P-Ua&jRZR&^ruSrF`RkF5id>?6jOAe0Dbh*O)LtD;`b3~n- zh9qL1`{s%7qtyupP^DfU>q@eU)ZZUb(p*zS4DZwLAnM>SSgIF=w6klX7;Q z2Pe1zrrqtM^0zrRU-s3i{K!W&Cf@D$+crPgI3cwj|DH%{=nY!=vc(ca$2A`>6?HTY zr`rZl2h#B_htFp7++2kB72jPERBbJ1cbi~byHCp@iTNAfEyV#FG9&xqU>%+c=$kvj zlMC`w+dz@@Jz@RwNW1us&k28yCd)WaL6M)fHi%lgeq~MbBrU^tHPY8lJaPStSqWam zeUQ5u;N}R4odKeKV2C2q$5rPRoHfmII)%b>@>$Q!0mg^<4y(gYgIKv^7-e;PLb?B3 zC+b($_R7?~4{D6bvx;0eRc*q0bDRc4`aIxW9bc0##nrK=!K~b+_5PF-vXW|l^|@zs z_fZ>N=3IiP4x8AuOMt32;TD8?kcyZgeDj~};BHT4pyc5?6CfVAAcQ8Fuo!ViZHr+d60Sy$_&exV4f4#9^ zTJ4(?@Wkzbq~Nn!uY_#Ggsgc-(~+m=ZIm`q;$kRuy^PUTS?JxV6%^2mV$AI2*qw1- zAhJ2u{!gLXx8ZSd#-bnymSx@?VDKkvyK~}G6t?kh4Rjo`QyG%;2m&tm)w0Pt)T$G{ zk>iWZ9I^CZzLPjB&~|(#6k@9=8Oxe7b1ssZn2fpDHMNvk9p58kE=RtR#aZy>@9`1= z-dX$74s26PK@+EdJ_fF4-zX(bfYFZ z18`L=Y#*X0UaqP$hdzzoNvi}+&@Q7bup8pMGBWQ7*aJlF_h+VX;^sYX)8hS{)_jb% z+K+ds?6fjn9JQjHF(+71V)@&$MWJst2IZU ze%$-aV_W(^79oz?XgR)HK%yArv=Ry7+JlYfDUvF&|I27Kr`t~%M* zhpK)Ame>BIa@Wf=_EN}uS9hlrq^g?FLJUldFhyeth;W~fuy`Jt!gKqr5O4l?P@$H! z1+}thS!Ap3zeA2^BXR3&7ogIkaSHZl`wDJ-u^6^54wpq_1>Dzw`7kYHU9~yw?I*bY zJBA&`M?eom1hn5fml-x3)h*WeMUyX9lIKWmAI zXXAJjG%|ho*UoMBl8o*T+Wv5F$b!I^&pb&~9anvY6l|+UCQVN08SOY30Jk0TZIUSn zmmOd0RMg7NL`n3V)#nQ=EVV@by-0{jA?@AZQe#7RA))RAFycHk%?LO1M+d>T9>YdA z;3Q|gUi5|bXxGiwo|`x<`}!&Br{JO-*u}HlRySsfg_rNW4^FG=@D|pnlUjE0bMDGR z0`x=qo7>p_r-y=F;@TgSOy+kaf=2ar(&1;<6$`=R>T0e9xu#^!gm}&`Hac$YHAV2q z8k?qwUkRLmLe_s@WzfLKGNUt?%uK891dcfw%B~f_`K4F_U8+3*6B<$JVA++$!t!<5 z64D+KDRWmY2m8P<`(hP5IB|t_re3?e{;8K5o;>EAi zMla#lw>c@I-Bs(dnyrO$w*#u!UhYGyhb!m-Q=!cKq2j49au0)wyP`&ATzgqAyRPR> zW}oViP+70XX|CE`Q0F;UkhEbuKQ{}6rR5*T`iO9pxT{9wt}B>nOfOgJA&E>wozUiK ze`T=Jgj$(Lza>j?*hT{2g4xXtQ^R*;HA0K*-98=j4Tj91Iin4Z+xcdAWGm8k!jG{S zZ>7|=OfXnx7X}(=&#ygzuVuI52^jOf#jvDZP1g4F`++w|)3pbZbW%HGiG8A@cOO1Y zOJKm9E~$bx#5&!V;q+R*AlCGqYiulc@hUg(hr}T+wg@>833otK&?-k(s_12y{#m;# z@?zue>x)fA5L@Wd?IKh%6&^nW1jyOyld(0G6IuIr#zt@}s=|HnFQ>7w!r67sSCgpc zc)sDC3MCel`xbJrlT*?kKd-$}uk|m7uge7a3Cl%hrR&BCxPnSe=OdblA z8u#-?nTR3L_T!S?qdIyD(3pg(-!$E%RP^d;Ie`BPOtUcpVCG< z_nV8Goa=35t+mUR}33>1XTLRnbS#9ihLgrwJwoo*hc& zfqD6$#DRVrLvVrR?b%dmqFM6P;@UZrCsVNR+^JxCN{}#>pl4$e$@X|XaXpQJHiQN+ ze47F5s+1m#7vDY{2fm0IKc;&v=WRCkc}0`g{>`18j%N1qsB7i7BLn+g6Y>u(J#%2I z(nXM&4TL3cVwf&;A0XO(iLTJruK~>6_j_sSTzpZ94VK(eIrN3)9PajFCtpR9c=7lDho(UL z7ap|E*@3Vvt((cqPjqpl#JFUEZYo#_Del1=k*lRm*|n&&gvm2p+-)>SlcRLfniBd{tDIX$gLw%PR1DCY*gR#w!(@Yo@5dM+0}-D<29>9FY=$U2Nv766zoXjw z%L_$VN;8*w*iaJKUGy1D6;4pa2ZU^>+*U*sOxHSUha60-n=A46m+vgDxcY0$--~(i z1YFio5i$;N@9*7EYsr62inIq;4=XRLv5lZ^b zTgw7ordD)zSan}RZl*gZi$5o;u+(7;yjf@Q4legIC8{MLwcAjh+kQM9e8HB@`VrCO z&0_>g&P3b^n77R`SobZ);D1MQ^mC-?$;QIYTw7^iE}s(Y7Y3Kk6NV&!!0E`SIkDs# zbvRhqvGu7CV?Q|irFFR}m?wMshYaiv#eSa3$|@=q8y2^68{C5PidoISEJyIQagiG_ z7sdto4y^XTf^mt4;NVU&UVF2ETACc9*E-tm`_40{s_?}-3w>iIGiI6Xa3VzbrE#j5 z0#mtn!X>k0H)}p%8XWam2n41I)3c}9XQBWKy2Eb5kyvBcu_I$t0VC+VB{CG}-Uop7 zw?j~9{i4g;e;F3w^DdZPEybA@2LelDLPQDV+kwhw>YNXDKTM#mVPQ!<{(YWu@J)7D zmKB`E;S}bg+Ss?rb}5(zUkkBVRIwT>?h zX!kkM6N%q8@1r$UJ$H7NPc9!e|qmVe6u8NA%Y`bg6HI<>KI>L(`rmgt$ zi9pr(2Hr81{)o;l5JT?1?SfTm>&qdpM{))3wXsI zPL{j7z9%GQCI@0EWj#_pP_vyVP|!fQ%tcoKlCh>xZ}}xCL>#$yDVSJ_x9@hj0Gdcn zcTS+Syd*I;s()qvG6|38jF+q_QB~Obqw39aI4U2hTmeOX61`I2tS?f-2cTl(Hp%Ba@`IZLPW&Z~bb$ouM{qf-)CCurla+!u39R+p4-79r0 zR$Lb89mvt&9(+rII89JeWtl-FV2VDh1gX&&z=5s>|0S!yn+{=<0=2VnCB!l>*IKABVa#GERA$$iQL{532^9nitGl-lXX4pVUiEp;z4A)f5LP%N56id)m3-M34ShrPNcR0b_Eq{ovM z<+4vGAU zu6eeXJ9n4KHTREVy9noK=oanXQTiG3@o=(`DC`0T(Po0JF`NJ?-;0r0X0{L11Z3Xf z^#ZsE?OjaWJmF1xZl>yZFd=hY{eq^Aqn<0%&USfZb8l^*+@v=M31b|DpK$uoq8^7C z(84wqh>9(#4N^1$Ka-zz)UBWF)$V=3<4*#=TuLXOx?cYsOJ6#bsKXH^vf&4v#$s%% zIOhoZoaU&TPy%ihqjAL&&T^}%jK?XrWn+fM^U_F8VgK~MvO4u1Q3CZ7nyje&4 zz8ftTyMaYu)c)`p=xID?K*FDB;+qS)<$At32t~;y*-Hv#^wr(hSRvKR*zd|CD>Ah9 zg8r}vZ-ovBmSr+%enK5Ft0#*4zJ|!jmF5tAXaEp23kx=y6gre6A!9gA7(d@ahXm=vX>-;SB6>T z)AsLY)A2do*%I>DWF3|;I`^}?3e8~dtw4gRb?AY*n&p0_%;uoAKM8^Ua0pv=Y*$o2 zO#%BxcE!LhNfx??uXD7)TwOEbfVbva1Soq`f4Fb(hL)O9BN%JDp3OU~y+5eP;%K@} zyWIo)!IZ(pcr)PqA)Pjd`)nwwPc%{*y7n}!!I4En`%Tj4p(3z;xV69J#0;V6lx1Z$ zI5yHcDYkeLkqRr2p{Tj#iBd?Dc`SBcNp{dwLVv>PuaEqlm=*qa$ynFS2ayS#ePT++*68&CofMhRjy{z-Zb|=qM#0wE!@?31xG_dQK<&3r>tVkB7c&3n z?zN!MLB|BElyTp6PS62Z7b{(24=n^@Id7vZ{E4lZF});#Vb%57Mm=KfH~l8EpRvjx>a z`%qW}d;rIA9B}AU?oa;{RHVr>bOvSAhf!LkNlCy&?s}B zS%T2*sHAqTnXIgymp2r3eLT^AC5+{571VN5%PWSH`w1+*w_sYH^KMXLCucG0H|2bt zz^Q{J`Ucpz4l z{fV`NnRWj-e?PIrw(C;n)|_~#TVW0GAw||-(X~2@ucpl%(nA5_TVq&J>1e0*27b4W zY&zQP`AF~g-1@)JH?cpHWHw)h1ez9R5{~dYjvM{(j3Pd!%ddN6tuIS~_Db+9p#YlT zx;k%{SCyZo8+ErVd9p)Y2agynX`7jmxsyW(Pxx)0DS%*d4@OMO)&N{SlCIKDI3ANF zoTB6y`H+ZLL2gDi&zShQ#23rQsZ+?<(tXM?E1o#qDTtPco%#-yuCjIN$sMBq!p%PU zq7T9JMS#rb;?Fo0x>po4y0KS+PFyEC%{#C-pXo-HR?i!9GLkR_uH0|QzAvHyZ;l7fz&f^nI}uXc?cM#Sx&8!8-~ zv092_7eU;$(>Dtwk=UQH3824LPL`Vsa^7kF^djdST%ZP%D3<`dXUK^h_nf!`H+Aq~ z;Yu%~*4FG~H?nxR5|8rbOhDPU4f!zW+hElo~K5Ymp>IyeKWnH*^W{?km^ zY*5g#^p%r{E6#VASswe;X8+03j;Y32yK92tgCKm05j@7C2D6yF*Q9&~Kv}fA75ze+roo+ao3|P*In1Zt>-{JJ*u0$?v z`8!83&O&VGK>^|1in;i+#Yfc2A^os{mO*f3BeFQr0|BpL-u#Xv06A$>3J-aWr(N4v z>~4^iOc|Di)HEPT@UdIHXZi;1kfXg)b{FGg7~s-8;neW0gnVKdfAx13-j*zeTwO^0 z{3Nw3F6J{!Y*mmZ9b>Xl830e%M}&~i3B-a9jh>@8-uNA2JT#eIR$PHba!8;z+`{po zqxA#^z5#-fnYhvyj+q)0an?+?^_k=qJ_|dA5~qCc197KHp922uqxyjAu)dYq(0y`Y zz$}p77#Q;18(J1px=$D0@q~zF3d2hsmgNuaS49+ z6H32c_DJQ@>2W(P+WKmp8TdhYsy>GzV=q%${CCS2L!I_K4r4)I`dj-$w$Z$hk%3>b zKe3$=TQ?^*ZYi#ri&L_~dwXo-874!J-X%!H7VJOEsJ_!)Bua8{hoVYKc!${;{P=% z)$r}-mgXGgwBiey2T&NrSwzllsE0s<3q~NO>lBHssh=6GzoWYP(T>3iQrY8ohMy)Y z$w_8~6y%Z=2UAHa*()SKr$kBPr?}P^IKplDny(U5WPubld3|MpBDElwplx4qoffcA zM@eX#>sCmfFu4peaG7h;zi3x@VRK^o$?wp59V`~+J~;=-XKu{=+xZ5+bPc@-#^F!R z+&PjsHlb?GQs z#89fC5VExP4Mp}2s@HHSfZ&JGn1DziAdw7?1J$9v$d7za%RZSn;8K5{Ug)+R7NzA;^L%vQ?!rd(I2WM-uvAzV;@$R|2hJ|em8SK2qG&`3NwS0tRG*qD--6!4!_QtH%)&VOAkCGg@ z^bYTc=#56h;+pTL{Mej0-zpO(U_MZRO>T>hARC*EvV3=JeBfcgfQ_9-O7bnn z6~kFVjA!;~2q(4HV^T(`090E)F_8Qj?Bd}HD?3w2~4jH1m?a4Z4}h~&Xml{G3|DQ-*2Um8~gw$ zF;3>mdVMe%fc-c=eS;6b+(#SY?VCcNAo@%tc$myoF0U&NjZ{i{z-_&Y#0PJvA}1+< zO!InxUXw-dpOOVK0!AF%pw6WIQ^zWzi>g4jm#=*fGBA$ZJJ`Ut#5H`2ccBZ$)V&`4 zs(EB0P+XjRceoozHTI6C4}4{N31-@cmAG)VFTIQcZ0BO#T$up{ZUo&*Hf`iI;VWP) zE$(h28QFh7pP(G4@V*3}ZWf|lz`CF33&Tmj)K#5qj%y6eR+$99vsZahpNyLB9Ze{+ zq)x_U);)GU^+#M&N`{7@MG1UI*Icjdj?j008?4He@a$FK#`4tjQMtTMUSEt z0FUx|aE#%;5591a=s95L&AnA+jmL$x42VFneY&j^ResCw%Ac=C2b@2|wvs5B$Q2rO zHOZXrG?0My^-s7wWi#oL?DkG%hX zTC7Y0m0A+>@f$-Y15UNYM`a&8bQA=R-9CAR3aMYTLBphr?R}BR!^Mz$I~&_}S-E|1 z)g*TUW}jK?$^o*1<2L5edDpCIj9}jJ+!-3j&iI@ksqJ87f^`Lmty80 zgl(7#E`72hS=heju~K>m7{JDKXqlN8*UwLqo4Okbv5Y58%}eY&6ZXkvqLQHgsm5#A zGyvEBRH{%cVeOuvU+SZ+6M=`_!{ZUYQ7^k-H=4;K4Xbzxr{WOZA4ht zmg?>jR%9IZ<2GcYS2el_M{rX12d&ZmuM_@iMeP6iMP5;L37rJXl8u{TI@LwC|931- z4{V*17a>Rx>?0KeV|36pd=_=K{n*jaFE2H{JCJ^19Niaf-3B6(RL;NRm@kBfR_lVK zQaa{)&`ZXYxk~GLlv7#SzoVyp$CCP2{tssz3BEc$@lQAb-vdM?j-9WoovczLE#@!3 za}D|Qr5&j0;JriZb#?G8fg;()J;BNG5{G_r@-)%0&fW}EvHWc&r%5;NC<9e>9MdZH z9a8XPQ!p**i`L0XlVb81YxCgXv@gwG9tL*s25up;{9mx(+fnnHkFgd~g^xz3PIv3v z>9iiC)jPbNvcZJB+5kDL{9*s{xEp& zXnGlm!6kF$_FInCB=87#X=$|yjxa_b!Dnv1pyWvG7M(KKxfOjN)4y)AJCL(Kmejkw zG|_F@fS#ss^Cz#LW3`TtzeZ+pDOq{Vo8BbAwPzR4zHwxEk4KRB=!U|~a#v+!tI7jA zRP)j#C-eRPM^v3a6dLi(Ki;+T(sN-&$knCPJ%_Y8EY|IM92CG;bxV!50iB(m`R>S2$n*}q#{yiDQ&|`v0WUOeS!+B|KsaibTrkG zX8S_B5MYDN`@h(DMH(FDqen+N(!Zy>ItxrXFL4!*eQNJbb3pus7cvhCzTziO71O&r!V^Ze`)(y+!ff*6Ma?qAWo1!GLt56n@mJ%WZ- zZDT9ZRSwNFzN?Z5e@{p5aQbpvf0M+&Pb5?b^4I37j@o-JmKFeSwYtcs>MP}xb7TL| zX~KW~QT0h;0XiW@((Y6Kh{rfROg>BmcmdY!qr_h2^uz zC6N0>BQJ>PgvsJScz5~Ky=qB47(Y@LYt`8}qB%fb#<75peVVan`*Y`HB>59i|K#g^ z9M1_WO16E8J3!=duhW)94-6Y@hLKUSIOk5U`YHpM7xFMagV8&zUOxuGlFRTgWC;a# zb;hMcGk4#5A1vjK+EZjcXmYYB_arBI04>R1%GFOuk+wU%a&_x@nMP$7JwkPiVDJR~9L;+0yNgwMReP3ZbBpoy@*PMT!6F znU#fMO~D}Bh9Xy4e0|-siYI7Qse4$`^4WHy*Ce(e*(FY&oGdAu?KJt7QC-0y9aV%H za)%kWlnqnVYUx*GSMUFWWQk?G3t!>VeQnhfH(!ep@hD2_lv~yMP%oobex&_f`izB23ccVTIf}@^PEXac$ikdm`${?zY8$;QiZY_}mN{ z0phL1KKN(ueg_y;Tre%c%|7f-efa~%dR*czjC~-sJOChu2M#AZZN7TH^p-7yQx>K- zdmut-*)cA;iZa!TMw!oER&cInik1ks*v3P`=^*R)F>1b2h*($>-p#1gZ;gLq;pVM3g(Acu<{Zi4{@%?gszoK;_Ps zN zyIdMv&kpmj#kcNxQl*1T+%Blm%Gb2z<%76;hqCujNaZL?444y>xzgJ3VL-7f6&~B&jik-v_|9C!f|Fib|vQ_z5Wrm9V!gN`F>ICXG>j$KPEVd|@o{d(Tf9gw^V% z&e&VF%EShUfPt5R4tO-izSi#q1&bbC)(FolZELKNaN5K;qnd z;vXrfC#ZhV`MZ_=wY?&jdp>bDs1MXD97)QOjC%sAhy&8qPIHH!%y@bzEOXl_2vs{S z2LFBs*N3T>bYt`6Gni1FM&o7dC~*+5)svv!12x!^d7g+70KIn`c*z5Bq^x%=JrtP} z<56XrAO(IWR#nexK>PQ6I0>Jj?Yf@UC! z?`WG$0uVew>3SkLFrS!2!MUR5adSJ(Frfx;Lb4Es!g)t_#-$hh%Wazub?cyHHr0P} z77KSw4G$z)N5lmf=k6E)c9pH@d|K&>8qyfZdMGWv8WWuytjk>%y{`8HM&)d!%Ge2Y zF%2I{A%}$8{Y3vvRLa-kDjX}f$yp|l;J&hq_6g%V!YIeH$d`qM=jpV0xv&gd;m~5U zzT-@C;Ti`~E^?zHr%fF3sNFREtye6))Xd^uw)?GRIzQsFv)gZ>;FinL<(k${+kr#S zC^hpAZp__w05B2pqh_gUIA-onI8V9K&sw|R(Pe-jy2uKQ|s zPL!>S)d-pGdHW4N?>fbEMLfA9V9gL2%&!Yro#|#YO0f| z?*#7L{8Tz4AxD9wV5iiG$kteCH=?k!%@J>zrb6 zTPA}0Vj%J=n*THReFxIxpw{O6jeJwJlHZIXs;!9^_61_#WNZ_3GxKYc#+Ln^%<{DT z``6d?74p0hkP-$9){ zsP9cBK(kjF&+c%1jIE+yXB9Z@;O7-NB57l5g=(wArrr_7QaN`{WkxE|z_OT?v}?_o z_&AcGYv4<_U6PlsjJfS<<%~Ed>oMCtGZ9R)Ipt4mkq4ktvd%U@Ho69rBO>L>;;!;1 zlN~!A?Vkp=^Y9cHD4P))n@wZTzaxnfJImM-H;v>RbXJOME4T8qs@%c*Pl88OF~DmK z@DF}#xs9SO3aoLGGDNCuGja=PZ?C#fDRbCbLXI(#AM$CFQ-|1;*IK3tV8(gYe&ry= zyEQmgcz~(y3WT$;|EP%E5#^o$qPAxIIzFT<98oq-x(e(uwU%U$uMsdoqt`b7Hgvqv zqg+RYjd0>H$a_Z=?@TO8Q4p`wS(M0vw$u1z1-0KYA2s-Bd;DzrOag&w<)pj2s+rrb zNVgA&&*U=q4y#v=;!aBWZrn`rYc;6vp;q6t)U};-&5#oifE{GAHdCBxV?Y*mKSa(a znz-7;o&?G7s_=MzLWsZj3#zQoS+V8db7((lfa5c+enzjupkva<$ON5iiuR7Fmyn%7 zNh5T)3EIIsak)*lIY8|n$5uR$>={sCpHx|HV#&hHU9H>2&3b41NC67!>aQ)>ll;-q ztIAiz6+%IAw=C=&Hu?OyQ&bXI+Oe($Y1474+FgqT`_FJB!in6dzll!keoP=lZq)XP zmC+QzJf-I`&0|eTMXvTwlMRx_tB#S~xDm0yzlr(#@ z9lT8BAMGH@ZN8yFIpKR?VFTHxny@+b}%wmk#DouoH^<|~*=v@7v?>L2h@ zAh?HKkF2M&uUIop2}yF0Co7DPLF&o?gMF9q4yYGvL7oh!VdsYI@_zRlk#!FI?`N6~ z9naxCta8|@n9FA?h{3!Y=j~4$R-*yEeIU2;U| znHm1U4&K+4_(T8XZABA@C#aJmf@jP6*sixDoo*6Rs64FbI63}Jex-;mL`|v5A4$4q z6Yl+E>D_7x7l%cYg0IQ0o_BzuQkheCkx#~lqEuro`Kd+=o)dWh%SlF zsjWmqZ+P+G@ooDKeHvT812 z`yCb}OEsDXwfpJ(>Hw$S3wX-r%S>h75%o$kh?48(%{p28Fj!bf2~IW)2kVz>f&@xs z*+<$Kv)Zl5P#b;Er`mi46h;s^hj7U{>8wkJs=c)#pFrY1`L^66L=G!0OYi-c$(>ng zDfJJ0E+_q&uj=%}1wZ!lMEqlfZfH;uc8woSd~Wxm{hegi~i23LfNCWHQsf zhAF1_3I_Im1=A;hqD+dRV3UZ7133|F;YHSM(TqSk2 z)15#?P-qR!&^X2f(Z@`$n7V0v7HJaRrWn?;i{i1p-GGuQe+z}Zjf?OCftS{y z->L)-KkfX);V8U-b!S;u9`bqWz9LBj_~&9fSMW^kDk9|JgG-{^9+wG)3DW*IlKWVG zFI)ZdN1P-%R&s9IH#*+WCBmsmJGY7s>f%r`ZZCl<-*vCs8KDInTO|SR#uLx5eBHbD z9a68fMV=(#UM=leg5wmelf2@e%uZhDZRr!*s46dcAj`GZ_Aw^@6CC+H z++aD~lGT{wQy;YBTHTTyDW_H(Ira-cJxnq8mIA+XBwwJt1B{`7Xq3QfO|e(=KpXcT zvRkwt-}?0Az`=67rY#7SWXG0O7C+;0|HRTiGUU6V%^IyC^rDYPpqgnQB3#bs*l2#z z1k}wtdNPmqJoVk?|1(U)?VGizhyrV#gHZWfn;;jNCb6BJ^6(8Nft5Ug?j+52PI9M= zl9$7!OEPMaZbeOFi zQ97!xcSwDp8pOw|n@*5k0sK5sd0U+_>l1iHf*kcZj+`;mHKD+*$sK9|0 zR@3KVD6;wf7St3QeH(L&!|gk-jF*Jf378oA$JOO-k@8>90m}iICLhYOg1# zgBdX;0F+^P3n94(GQ64UYdBJQc0Jg4L?I@eyLn~%TAd2~C&HRx5I2M-bMnpy7-aj9 z9v-aDHgXx4%Ow2?s(ehEw;K%Lp(5~#ti7p-j4YnZAbd)(#N@(7sdVGjcCIJO9J+}1 z`I$!^N)gWSz$0t1ZT3$n{T!(dN07_xsKA^alVqAaD-WMRi5D_&SaO)DJII7j{gyaJ z5#pIYzr)%3H(&cA{+jL8RWMEt7%ifcf^AX=L~hHD`ZdeE{0UL%10N7mu*biy6-5=9 zyE7^e_XPdBhq!jBocy%OQzYhswHP~x>*;0d#{%6jd_ee@VGr{Ts*m5qsr=F9q5ej; zdU&-8W-@@lU}|Q?yugki#5|(B7}L!Jk(Rd)*Q9)h)vw^vF(#`i{;?Zf*27S|A&L2X zZ~zY`PYewP4|Bn833_=Z2NkWxpNkEE+!?Z*?WvQnrBz{YI8Zq)k?q5ZO04tA8;YuS zo8}_4FRt;71piW!JNq4FGPrsN)qCEcQ}Q8|mkEP>#CAViD|6G$jdkQ$J@I<9)wx=R zbC}b~Hqd4s2x3nf@~_}ZUksGoHR@My5710#xpzL~Qgb)Vwx|n}N4xfxL)rMK^Jpga zI=`%V#nUIK`kMtz`SYP5aG%SpX{_t&DYq#sTg{Kd=l(FyV5K;O2kc^oL3Uh&Tn~of z_>h~sqv})CU{xZ|F{*y@z##pwv!Rq9ou=%cpVVG(nzJ1<3nwJy@6)A`ptbBjf%LDR zbtRgq?FSi;y+{>oY;Gj=db(8v|1^+h)62_n-CE8cw~O4_$6%0t;`~%rP)HpE9K1@{ z7~@OeaLb3+kb!cnGKhYNI%G%7wYp@Y3H=GEGY!tOx-CPiyrT+(id=5V?$c-Nd=v&3 z?0Vg%q3;j__O69t>=UL52vqqnLs zaSXF6?iR5vb=Vl#H7ppnmB8<4`es+$%GNDqA8u3`otM#V1-Eh@pH!o`&qzV8JlVEb3qp5!ykyNp;P=%!c%Er>(0${xJCdC2U5${Qci{-P zAN|5Ru0GkR`E#=ao_peMsyZ`_Op6AN+dA%wLI<2)2OZ5Aw?G54Vx!M@P`!DpQGBDL zaGELjA0JA4fzJBhc09fYT8RF$y}a3c8`H^`jiq$H@MWw6B))=UdX_ssu|@6_wUQA; z9$#0YiFXZumEbmLgtNK$zF)=*hQkbQ@Kq?*R6cRjTBrKqDO7^i5mWE3 zP7$V~#E#&rw#|Uw!v!&4|Iq2i3TsQxy6uKhJvh{Y!FhSax?)>dXG*rX1P6BV{qj_P zM-tA&^WSlGsL&;h3H;m#JS~eGyNHiK)&>i{b$$C#co56e%(KbxGot(Y5_wVp9TOz- z;tu^_zA05@C}$~jFncG+{93WUl6+z&b*Q4%3J~jn;x5oR>ElyJ0K;eoX4I?3byyCR@~Fw z%o1%h@IRqMKN~bj2D83N*q~fGX=}gaIq343B9Uz-8;L+fyK$V{es=OcT#cn1IUIMhC$xaw4*S=^+O3(~Y-a$lte*`yD zDmA<7cLF4|HRN%V9uFU@B`HS?Lo;RO4HTq>%@MO@0t9$>AN`4|L|om<%x;wg-Y_|& z6@}O57CMQ~D}EW7&6qzhOZjmz<68fy4T&P0=Z;kZB`mMp>v1J|u7lM=8rn(k^z{g`H4mXmWroz&$ zkF=PY>v=4u7XOZ@pYE7~$V~dOInTj{_L@}pRYpJ6pneCN$h0qOgS#>oq9Ffh2A;Z2 zV~}k!VfqQ`h^U0vPKZjF=r(f0K4}0$4tVD|A?g*4zbx79WUD8J*va`gG3a}`rgu0| zmL0*6+{}IgT1d-#+YQ{QElq=&DK=x5EJnMoavHjS_{zDX15H6TY#lNJE!&kZsnP>` zlK$=2e^ej5$n5GFs);5b556I6tXw{%QeYk~lim8dNmdbX>nscPj;!{CaCK6dDP;T! z9C1#T!tEM$t%F0NI&P>?s#sr7o46GxkWf+Ani9z%{;;bFu zR9bw4EzvGIFiGkD?5@~^a@{-20&THvw--&Hi1wS;-|qlphjeUPSb{tsy81+${v8aa zUCk%VD96NtTh{J(^e?$zo>VM%_Fqeo9!Gp{n?Tza1opwPlcOv=-|?E##$w+YOdA`? zJV8!rBo~(y1Fo{T1`;Lua#<1c4l0Nn#})$-ew{RvCeQOQHDv5>pn6S76(H?#Og4Hf zi*@>dxJ=Da%ilX<_4Oa$-4RHsBaA37Iw_a75}0H_o=zY&qbfP}W74glzD_S=F|Y@V ze}V0M`vT)9o_@ZSzPYnoD`7Z9+|}C~ea5^R`0a4gNAlr{Ir2KM7b#AT)`A*3;F7Fh zb!}RWv+IPcd``u|4A~R6iu`^r0hPs>tUg6wWi7P{)bh;8;h7#+zVpLHl@M#vx`uJ$9 z71Pn*UnFuNb`6=)EC@^WMwC8+HgD){~d@q;Ts~FVt9njiCQWi%fX6T+D9Tu?`CkBzn0k2G( z6i_hhWNfY(`7!xMp4@WN-=qAPxV-P^0`PWpCgrvaBNd%>1}@$?iUdD-+qV`0bgF%j zMKkwF@s&?|7)n;zQ{bJ`wC|;AJk8+aJ2rk! zk@)2(Zr&kh`JLQUDFp@+sahT2_ej?}ONtSo; zIqN3^Mv>)y;IH0-p3eA5vfw;SKa8DanS5-c2X(1dwV>Ro7B|J{YQqkKM275|0RkkRe4_C4)=y3#I4l383070C9T+*8h2$xA5fczgCeu|@hy zUrsq$5}{*FaEJ_K&EL5T!9S``G~!T!d)^?JShl{tm`}_1Hcs(`YR4ghWtHChYDy9) zOK)Z{O*u{~9Ymz-0CMZt(0npeuz_FE#%?TM@niP+-#et(qZ~o9WC>MG5qD0-ne>iav?rHhHgh%N&*DzI)a32o&92N=V!YCzbYNGL^22kv7_yrWhNA#XGd9e}i6$%d1yH ztj^rhJzPa>eHDWh=T#KW%fQ^BTjvPhb^}i&{hw&!?1UpFa?6fJW&%%D->9 z5jauGZ(ntJ2Ey9Ei-KA%_ooNydYJ_zB??`MkJ#SzV7&7dNZIN({v!a&+K)5egEZ2Qi)n{)7=Yz}ro z!ERKd@D0h;;c_^Sj*~4NZ@0K;pGlc)V_#w2MN`l$Q+iFFrEk|FvNDOX93-km76pk> zxZ96v1=u?2d!KYfm)qE7^2Y-y_Q2X1&Q}ji6*;HYLP+#*r;~tBw9GD7mqoa5F=?m5 zGOak$q*cMzy;d};zTD1;<{m|dJLM+bSKHIc6)KZHC#ia51rOh01QX?&B?#EyCHU2w$H{>;qCpH3+a7KDw2}Q7&jC}$l^W_8nI-r!*AUnAST5eJS+RF_17cw z2_kY+a4q4lxx@sQ$GB~k!YyH|!Ksr!1)cXahK36~K~CT#xlR2$p48u&vUq4PPIq^0 zd1rTRDGDZFf0myU3&(P?z9=kIMeX7x^5KPpM8>j-GF+T5jfM7lQ6$1 zRSN6sVa0qL^-eQ&M8ldo(zH@e>NPVrW}!S2h03LkkEsl9a%~yMi&^70K9`W%XC5K( zH(QpUMW>X%S7?Zx^C2WRS|!Of)v&8O{Ih|bD=ci++N zJvuNb0(1|!1Vv@b5@Tvh!Q+FrGij!3y1^~c;gd5|LvTrUWs}PI>iR5y6-`eH@~%9F z_Y$*zMx_ts1RYpPAbUnzrF1)taiUXhJ9Mo%t5Lu+iacND%Xd6Iksslt!?MWzU~oTh zrLI5u3~uM7{QwBXMV694P3}$98bBGen7DUJE&=q8DqvQJc$N^U-GwKC0BHHsgiBcP z@D9c-L~NZgoG)ynCm~I^Xy;_fCX~uYElxb~%>~DjLA)Cv9)U31#&nJB&@PiP7tZW> z%OowjQL?pvawuZ_RjhT_>sgM47AzXz+qYM2gcdLG?BY~b!^bYz);D3m@SNq7nWhue z3swNuM}`!HtvxE3zWmugT~}9x!WI^_+El z5QiCuG*cb_s{tpbqd%Uo(}DOm@riMiXjPpH^NC2bPkBd)+y8G!4U+-h$q?KZOH$PT zndK;?vp=VAuy=hAaDs~FSzbmu$!L?Y=bYdOlq;K$U@5{cUwpp9iXN&{Ev4_~%V2mu zS1Vd?zDwV|1aQdQ=qOE3$;c{UeEJ zK8B{P$GE1`y*-~ZgQ~@JS3t&IfRye68fC=&I~@^4?QaY@SjrJMlWrG}mMitSlXl?% zZ+v&C7i{ish9w1}68Arkd&*L*lFWiS+I;REP;b4%xH9u=7lS7uc3&qwgYZ9_mDwaN z=-v@<_;MCb!}Nl-^HzmH&9G8;~_Q9W(_&K|wDOuG3rwYO3s^MP&a`S8zlzG*op z2RD@MVD3E>%!yUDu%(ZxI%FUH#h&2g`E;|L`k81RJAc>3Tan6S6-Y4sx1YMIa5w z8F|OkQ)T&w^KgZ*x{dNXO}6W)VstQh#j~53#3eWFrL4fAgy3`f`t%f1e?q~rlnl^a zdXrw=G`Rgx$k&6;kY_Ppjy5v3V`>Ai5CXzLrqIcMd3#1EakuGNU@zI;mj8IsC{Tgi3*xBtQ=Z622+Zvzdt7-4f0Q17c6P;`AoAfDx0HIoe{MN)n^ z4Psu7Ivj!Q_QIcgzF=qV#9Gx!jjA)zYKQk|`PB!_Bc_&b`u-7Vo7U!9B{kdzl9bO%{5?~oG~N%O)Y0JLtT z8Fh&#;g-JZ7<>H0)t^#KQ0g){m?k;T`o#GJoa%676zeHX1{xy-ea2of@^_LrdY_^Q z5|F=gBcdREP7#Dl2o?4{$)v+aN*aOJ&8#~zRQJ}p-d-v~79tGxm_+p@Jtn(ph&2X! zW+{`3%saNA5+8D~JO#5HTw;+w#y!^3acw2!XdDGyOEzLF>>Pa04^_UJ5^u%m;$xhn zP~yeaJ?#Akw{BzBeNIqS@f=!QV@R-7NeVvqGB0DIJ(d(?`WrxwhGDe<&^wx#=hQoG zn=CM@p{-=v4UxKEF$c0d)w;c78G80Y7`hTd&)Y8N-9Clo;}%ggkte%xW&5%><18kO zi|kILncSxd42c^@meGP1G~#Ai3rU;!pjoClgH!m5=?MLhL*z<9k;k2co6jUAE=9&X zjaX$6W}+cLu{K7_rXaHl+GZe`9c8bw*>(35Rg_9!j+JPWp4FE+ER7s4OJO*+;38E{ zmN~nY&W}w<-mc}-+f$MBsXKm^E2>kMQ$nuxz>qc@Ra|?C6?x8q9N3BsPTeaJ9MdEU zS$5$et=*)D_y^chVf7C_#Hrc`K1)fn)=D6-R`Y>cSJTCX`U5|Gtm1KPo(SX8{I}I3 z1go}`awar_O0#?9@ae&4^0tQAL}nOvHD z<1ptwE2s{)qhZXav|emdM{HZs>NXiDx0NS{yW~mv*y-u5sg_#j2Yg8}^+yw6!uAH{ zG;@NJ7+pA|OO~l_{lb%4Tq7oKfp$Aqlea08qNtjrDXQXFm%QqQKkMj-&m&pL4l;+afE zf;?htK~*O{#jud-);_9^;1v_I%DvlUtEE2OezI@CF=={9pCp>yndO#15wAWF8Gljk-@(<0O<5d`D}!t#mbC3Cnf@z2g3Dy( zBN5F>L$*qxcZ?IXBgwVfc8lxFkz1`9+{)nj*}WPbL4?ZL7UGl*~EF+ zKBcM@PH5+yLD0nRDZAYlzg=q}T{d{Xg#LSunz%;Ag?w<@Jf@}2&N60f$}?I{t&%!E zfK>`A@SbOh!jc3$42y$i1^8lL=)l==N3hH zT3mIx(1uTi+@_T*N)W>~w>?)Lkgu9rog=H{ex$=6qFkM^t0RqY_+_Ru@3?xtl!qmd zMO&vQ_O|@lXDE7LDQ(8fCrpLYimih7$Yzu=gqpMIBvyI6d~%N!PK;4cQ8Q0LrTWiV z#UXa4X5w?jfZ>@!0j>mzYTyv?dyh;j0K#E|(4G|X*k5glLJ4Z`DLQ63C(#6zs7uQP zzWCmOX}OxmANd;5EI)UJtIQDVz)sj1nV}ANI#=TV2`oPTFtWrX&$iu~4NS#IwtK*w62dY`8&=DBW#42OeF;RV~UUSeaX7%OOz3Uf>yg*V8wXLdsi~ zZom6A&8t9GZ8qPNIMqj!q99T~*)3%w=sfM-HazrNF=!Ls)+nNt>}Ey~dE1LL1WZ2A z5VV0ALZORW0%VHL{LS}JSUpRMl375@*!e|n{3YGJ%V=fB#DWSikW(sBtnlN5MfT#_ zTYv2{LBM73mfmq4{c$OKhh2pe)lgQM+)_{U%?v$+B-%Quowv$l!->#lhmvd$htXwEaOjl?<{Na{x>6$wtk7QDU_>+q6`kg$hX^i zpzTX^XVzW3g))ga6v_-oE79qrw=uM8SX(1@HKrx)eA6U+!z?4Vs0V_GiRQ8)GvsMG zCppOsP6P)cHEbreNts0?@QM_B)<f{YU98SvPIf%y;;kT(zfj z?4{0SW@?Ot7ncnJ#lINd$79PuDLR99$=YGJA$CeDn~=+McucxX;Ahx2&$v{G^_HqJb0i+waG2)Lv5V7ow6*#-n0 zsN&DTB9;JGK&ZbI14~gcuUT4u6ZOGwU;qkm7)HDss%hvK7?%g)lQ~i0TEDo^72>-2 zo7x{CMQbNQCcVWp({2w8kdGH9t8_fGC9`(WMQfV1+|ZO7Oa7oj`Ho-Ogl6CIj;nVG z>3gq{^rAhk;Dq;TyjPJviVJ@5lm!a^_F725{$&y^+S1L55Di z4?~1PL&9@vHu<`?2Up)-z^BB3A_=X{Qy!P?;I=!|wX^8Pui>%rpTt`Iy3>ZaRd$0q zED716LYvBM6_JZ3zyomQp|oq^>WyzOFLR!FoIH1|Q4ja{Ly%?JFK^}&=3)CJ?~zow z`5}^g?0l@b#@DYJT#@xt9n?$8e47s^#>j@?Aa5_NNE-*_0P{3;2H;AU(R-^G6-h{1H zOEK+T-vO2WfKt~jX@6>R|C2JSFHp3ZU;R_iUS|df2`bAgH*B^_D;KKFVZre=v{Y!p z0XdII+^FjtK%jM*`*LsP_u|Fi-vJopv}Jgh6HfpGMi%R0;#F|NzZ@q&T zQyot6`tfM5x6EWfV8(Me&iJTCdD)jyo75Dp87R~G>D5d@euC?-@B?}x@6Tj=TBOOB z>vU|D?9g2}8Hd&})(v8@oBkDnzdo2dM6>mN34co!SFMp8=~yNSx!sPv9iz28)%-p& zqjJ?g)6->OjjPhgC+IVxi6nm9J4>GfN~P^W4#APJG!{;W?#VwNQ&Y)? z@Z4PW6`xRdVHG@f|5h7OXuXLGXG?uk&w>%J$Yq}leNV}ES$!9RK8JY$6~G*OH3NDU zSlc9WUZoEE3Di+gd*mnaE~}gZZ83l9bd^@I?A@QVopWtZ{1qULLnD75VihPDhHl4j zdg>~&)ny>K6jmT+Uod`T{4XptBR*No!y$NXG4c2=M>5Ia(zPh$Q|v50aU5I%Ef$$i zbzZY>@ZT@5M{`CsCx^=-vwG98tl|~cK`nxRc`c?ux1lAB)Pxt{IRD;OQhb~4TicKTrKp2H1f@gq4a(Z4IYF@#Tycaz^qS}uV zf01XkCZGJBcp=Qr7VTRE?`T^^Y$T6%Sfi}Yy$fysh9eU}oWuG38YL_gw-0eOel zzeKV+c$@*+O5nIpgP{p+ReYtX3jQftaQzrKOTeaqtC(lsY$mpf$A zmJWxb{01iP+$=8%ZIv9?B!lD$343XR+%3tNW1dID7$K}c&tP7nchkN#yCPcSG5?D#;kSNcE9>AG z!8rm;XhVqDzOTg@j(=o46pbFK1MQ;t-1aXPMh|e0JRssFP8p{Eq-v#QNB5aW0C6nG zWx!)%5sZhXJvGG&t?&axNzPw-$CCQPVu?xme%91fi*z%FA(Y8sF?HVdM0Ruu$GgcW zYWVC2Hs#`@=S+|2awPAFLQm%m_9c`Hzuz~S>?cL;)Kaq)iIBDJaxhzN43{S8BPj4| zu>~{yOB|kl)DG^DA`b=qvdGWOtbKB3g5dV4~Mu+4X75VN&TN?+X~HPx!SqD!&dq zJ+^)ahuh^gNofKSa?Qtfz<0MUmIIHOU9QMK4`CkR5ln;%7ssD%SdXGaS}NLMUQ-Lm zhua=(xv`TNJb*B*o;A$T+TokLX8wd#Y4!GL_*HzN+gEOXjG=S;lfJQy zWYON`R9|!4T8HTqP?@P6o2T7(jD56QyD3jHqikCI#X6${R;Tms+e2g)Y{du)e#73f z$i4YVvo*&C>ZAH6k~l#@xx^i@=UIGO0dPNrd{_+(_gpndUR`+-7+_Jh8!Sa9+BpE3 z8FeZ9umA5IP<&-UyJU1cd)Ba#-JEH>(-f@9CT*$YYxdjGS;uE=ka@UNmdVT@Bav(h zuwwdI;JI!hFN+Or%?Ebw8I_$FxTGMRC;W1(s4c|+W5uU&F=HPfHy`d8TZ zmF`asUt)37Bz2WfP~n+2k$2FiwS@(^Xvq}Zt_*??e!v)eEFIugmAHY6KSvmDax2@d zA55F1xQ28rl7DOQ;k^#|gNw<>RLf>2p4XSP({ZtbMJlUTwH##zWR&t!$Y3i0kX z4h5vJYqKX1M;B1RXV-m7P;6{Kv&0ZS7<@gbt$%c%gA+_|kLhTk4wlW3C006<9S`Pk zJ~Y|GmW_<+sEcuWyV z_{F~Z##iZ2F$@2+mcGM_Qyq*;mqXiLq$q< z`TF`5Nmy;3m*l-qmtR6huKm01vUvs6s^DY1U+WN#TXqWpj#HGMN)t!^x37muWUxw;dAAHZg#XrII7s=KV%Mn{pClsch z3-bVRlZ>o?N^x^cy=6hS4Kz*1jamI7hUh6xo(le$~H)wdPPE(c`;@GIF>b6Dufkwupid-bu zVOwumy?7JZZqVOd{2h$)V_CnKmK=y;kh3UBS|yQvgCpe%wt!==7+@=uga+$`(wmO= z$ZMb7L}7vuw3A%lAx6(sU|X(YVT_ASI|8rC;65+LEjR_=9;1GwFD9-kbKqg?QvnBk z7){-gToK9sr4FIP)3V>VpAy^F(HyonBnkUb8f5Gk47G+C#p0W)jP>00A?w)#3W<>- z!e!Y>|C6dcmW3H+!MKq3Qn{m@TGieW`&IJ_L0Z|}Jz=%9fBGiOgAJ;`B=Cso42hA_ ziI(R~Oh`)BE&{`>WSz84K{mmpHeMb3v&B8cH$YB{*Xxy1!=w;@!s_qt_%AGr+c)R( z7n}=M%L9T|&3!YA<#@FNVxkaPUb&850h!*C!9&0c!K&B#+CwXdMWzT%nD2dp!z2k& zy6@P5x1Na{oDAem`AD_*{cbm%xj5OV|LtEpCB<;|lSIW0OlE8y5CX^(k%&TSY9eEp zz8Q8iAI#ir$^&o&+x6jVtR+f$5h&zRs-M=~dgM?Xhr}|z!Gq-loQM@SN%mT_3iYQEd&%7eQ zxMFVJWpy^OO8@Mtf{bVExJ$zKuUjJcdZgfkVQcOyE`ExywJ^TGwPM+btKHhrQ>YjAU$Ni_;GId3c0UIkZgX z;MoGzYxZnz*$9`#v6tVt-hU+7Kqs~YlzK$U;J<>J^!V4bE>#WEY6deVMID#x^d21k z7pjAaoHj;1OfsM4O(bx3Z69o+9$J5i!VN+ie3ZTc4Daste!RCIfv?)V3coH>x7?xf zRWsc|Vc=ti6LFjoh~x&(QLR@s5iZ`JXu{mpbz@4gRwpw`(#J5}pp+(oPw7^b@;UKR zJb?`;LAksD-unDl7wGIhzha#;d;nMZ&t$ii+Mp0xH-r=fV%1Md&#>L{m-+l1ROImB zTO!cyg0;XrCtu`~Me}q+@ahoKebT&qNZhd@O04@Q)X?Jn^=<3%#IURE!IxiO$Q!!L zW0D+_-j~m`A6`#%QPH?|=K-2qWH?XqGUAi{quGmoiyju6V7qujIKx z#0_j2)5yatY?onNE|dwVl>1m?{`&c@`u(y0%UkEV85kYfJ+T23-Vg4kDrwj{=~lAJ zStdYuM!mNFxTkKoah&(%+FdSjJs#bEkcTG@(aC?QwrpTAiOa&|a>*cRBtMvaR>Fv| zV3qPaq98F9ec*zKU0+i>ZqM2A^m}Fl-3w_8;* zIF>Q%;Le5X;EdsYoAF|ZXTsT?oI6RC%ZI;v4=lxr4o>9+yG|@wOnqtv1n*L?tW2$g z0_-u#uX3O-Z*h=AUk0-59ZFD!3w%mER1TL7YrhN*F#|q_vJa=y+}AWgNxS(`A&<`d z_bF`Acb*pBIXdq8s|m|Aa9MkOV5W#?>r)%C zDUm?({re?<_^0cmgJc|Hb4y^p?M==mtz`9f0FK=SvS3uS6X?>sNJs1+qJnp1asA88 z@{(cT^Qfemc?+8C?gk_CZLa? z?bH}L0=XyD32c0oNNoeRhMGy8B-FvUR^&52&SmyOSUkRB8jY@P%6368trT!Y~Y7dCIXR@B4uV}kq4jW zVEa8LMsy|1=QvB@gi2-!4kaCnpK1z+Q9kbgZO-E0Qjrp7q*~_$XL~#CM%l~;swHdq zA7=LP4k}bRN~cdw3mKIotr)f+ce12(SDpi(>#2up_aLAHAEUK1vDjR&#&Q4Ez_~-} z2V4pJLS@b9p_KH8p&-fFiD9)v=_u`HfM@$tD@?A5!H19aa&Fm1tsC`ui}U(I1t_{$ z2bO$BRdSdzhmy8q?Wx{D$E`N=TbK1o+u5$McEQo)+&`=JPDt?mI*#@*`X^StI!6XE zhf|86>@T)i<}RHbPg~^Ir1@HepR~1Z2K|vfEMxD0dPKD=WS*N*Aws4e^C&wh(lI&f zWJRX^#k8PN89w)s+d64^!VpGQ=~vIBhZbwe5~RvZIct)#tx5&8VaXf4j%nL;F!FD; z;keohm$J8Yx|U?v)Q>ofn18>$zMB-G5+$8E%^;Qq%6Te#I1i2*qY8s^x!$#a@T~|Q zxIV_l!}42>?1VPHIpSDw?eup!(Q>Hlrt}z-R%spkRezwsc^U+o%4so3Y>^1ve#@+x zI|GtB|5)27is0lGQ7J1E4Cg9U38GD*wZpcU0Ruu;6MQLWj5`eTl4LJnwAe+u{)T^*+$yI0Px4PGccGS$FNcgJk`-ft74=((Wix`xkI86*EX$j-_ zBoaE`@$=TsgwOb3OQ1nGX>@H8GSk2uzavZiX$6-1h1`-OV@d|Of`oIr{Y_-=r%x+*a++0~ zs_)&b>p1Dh@|_*I)B21(D3laPE@CcKQVXXK6DK3IO05= zl7KBfj}l6KNAu+_N|DJ-_#QsQpG^xj6VcD;Kt9Q%;1KG_ZYsU@Z+wp36i$c;77-^o zrxR0zmWC$N%G$kh^SNqp!lu+gTcJki>lD2(6ZUM`o0{{h^p2qV%L?P+_P3 zR(JK1B%3Vz2(j>)iUP2%AOj|A0~w82;%}W#OXVM0FA-NO&>}9?-x0Q@L$Wd{n}$_xoPM=5zN+9 zjqgT9(;9G>dpI%vwHie%oc)urppbg&9UMxigx2zy#lECy-^Z zJCTv`(VqTQHR`eT(6%qe!U`?y8GawkpKnN@#LNchj&9imPqyIvkG$D3-0l+iKT*VK zfNMo)ArG1+kVVw0g|+nQl30|2W4{!3@p$)Tv2rhW%*YPPOW60ZJ+~-BgfmH&NB*CWO%pb28=YZeQFfuzuYCo)K5}S zE9tkUO8JyA`y{-G3_|-OCTXvhlNJ6gny9>dyeL-8Q0Nh@g6c5Ce0}mNBD|;##HwUL zV~5RchW08FM84<-c0a*`pMEwA|ipnW}Kohl2p^H;I6M-%e2MbyfAz@_nm9G4{n z=I(f}?B*EJ4)n?H)&W#d`l^*`Me@BioX`ALA7I6Zr$3!YHZn$VqLJl9UUwcgQl z);ejCw!eRPmHdjXcHBvjEB8qVKp>sTdGlZ-)-F`Tc%KM540tuD6t@ea@uWt%-5E$W zpSK?<(X#b-hnPvrg8OleC$Ao)^#{IXO_Bo{Lr8dH)&gU5>vm%}iZ4!6*Cpm~mUlp* zhf#uI$%W_6VSKYA`9$A|Xx*fPoR9&WMvby~XxYdd!dgm4mU7fW8OKH+#=HYdJ$>Fl zlp%hFUtMfQ*7T2T-{@A1l+J1oCy)psOOZHjEkZrt=bqGYKL5*nB{=#86+hClM@ zK7Od4E$+Zk#8{cFN7l(`<{eHiSj4qt+}9d}DU+Y*46o*_7!}Lf{zd1+BX&|IuocTl zj3}(-Y?st5nUc9$&rjG+1Q(ez_?B4hJtTQ#z=k?L6nWnbQ?6{w>={K}znj3BP{qmh z>nXcFwi$|~Z^wdW$@TA2I|t=U%WT>Bztkod?ibH7A@f0=o%996w|C&K7$`f_=Kz~z zl7Svq!GtX)D)O}irC`u^8CW>Es z9qblt$1E_UjmFybu1(K4q#K=rJGW)h#cFet!pre_B0$jf6I!KsI&z@%E7909(F^Jm zCTcD$h2HARvQ*@FN8(bQppR`osU5m98Qx@S%}+I|h^rsyt7EHX?tN0)8Kn-YFz7Xz zKomP47hrBDk}a4?EQq4x1NC;Wk)`=c+k_NTl-lhqA#9y?-o!pDFU2&VX{{d^*tAp` z{H1(*nM!J{V9juv8r~nWLUq2Hl(@_KuM9pAg^G!wn{pK<>f3yTa~Xg}RQ3Mq#= z=xA^e?C`%sim6HsZ%efK=M>Z4O*>Myq~C#WC5QEf&i!m!N}@pN+y-H%L?Op?ytRAz z*QDi+szy|I?w-uq<@}eYfqCfFJAMAp?Pl{Y%9J{b0dYaWy&hys7@FHx*~Do1sQp1yv)e;Q8i(OZM`{KPssZXWX3zB5b&#Vv}EgN z6K>se#)Oexfj>yCeDa`};6me?dZ9@*Rt4>Nu#x?>LAhhOA{NwPg@m^H8{^@2vWEaM zJ9{n^<1?J>Gu#_3OUvW_2?s~tD8vBva{3w(Xb-UVPd@|&@#CA8ZpajDYc-Ja4%)OG zSK9`PZZ#^hC5Nan{cI~~13iXkHc&bA zr6=OLj-F>ZH&Gn4{BdznX=^@A%686P`@VP!?cyBu`8%+!zr{14R_5>!oSpr#(3$wy zF&`W=W~ODfqm=-#uiUF_OMdZ;5ko)OqU$8AlZQ?w>%!B9Gg!MWlTERzkycVd| z8~r}-(ysmRw!K4(8?I9|6KK40mV^@FAZz${|De zb*YFp6LE@?B-O zsMrISv7t-6O(3vD9adf26-Y25B;G{QRIYY5OBR6q;qM^K_n9f%FOfq>w2E(e?XqCJ zrr{Q?wUYwVstn|CqlBC6I(3vHUhWQXIt7(5iP#Jl_ba4e#a1ycPY9hk4@$GV&{&h1 zvRe}SY}EXc&3yJda{P2wE>u~+|Cv!Q>lfN1!s+kq===E@IC%ow-P2?v55{o}1LaPh z_eWJ+Qx&j%EfD8bf;Dn}FWLWGK1B3;T)p6iX^C(97!zrn>_%p+)|Zh8<-+Ks?;R({9XlPIKYP zY*#;9TY~9og0=ftu9Fv4w;DN$Yv1h5N!#=CQznsPr)~oPZyl)R0#J5o5{?d!C?l@C zL+c0o`XV`Kx?%ho1Vg6KTU}iiTe*luyv-I-hvyb)<@_Rg-#Jj^SxVCHZ!v$3B(34$B(pQ&IlW^1g5~)*g{qlu&xl)adv1k$!c2u#) zB_`nWd!LfWH%cRe&34jFk_v3_kc_CI=lHex0*29-6s`2bP6vjS6*a78SP0zstlG|Z z;W)V#J|v5&G|r%BF2g#AoOYQ}J8yLYy}yGBE@%zfCDXe3`7+gL-JIiKMRb?}RbrzR zFF6zHd#O$qe{6_WgRr4%!mjb2SPJXws^(T244DNopr;H%w( z6V?xdD)bXd+;xdW9$rOOzN2olA08e0mxt}rBm~hCg9$Q0?xU)C8mIO(GCm#2HdoHW zCv8SC1#PCLPet!TzI8sS+NqEn1(Evp~>5`op!d)iy_(Iw2OR@m7`Ms~n;%N@7ZF-dqw6gm}Ed`uvTlY}op zE>|l9YziqV52MJDs8H9q&`< z@O!PrXHn=PRqeWK2WX7G+fx9M^`zf|`JHPJwJU7>QfF5*JvE7t`K93lzT16Cb;74X zOG0z-@K&}<3=UZmX5P~lC?Q7CFV_mG z_uOp*y)$xpg`oUx%n||hw{{oeGf?*2BpGn8mBTe^7^R?~-OAkS`A}7cw{tXmr?k(H zr?R{8n&yYw=^oJU(E5cZUrSUXs~JWiE;9zOk-rB6ru~^TNoN$wyouS)ue6K_LgiQa zpoJ)q-aCnqsb2SKz#)k+RJr{$wUu8TtwCu!osrBvoD3s`5ewtap^?lC+S%Jb@x+Ca z14uZ5Qa2=5_Q?fjuOaMe7S-*~UvG3(kz2IyPf+?c_4B{XYy2RIDW1qgVHZ~K(^R*bzW5ET=P0GlHvl$ZVO+@O>D z`VF&@b5IF*JjRFyFW!|W{MB2XqUa> zA6uR`mifs)w$VMNez=2<3F&^~7-JTAnKXZ}jOV3JU8i{oVwba_Avu3>wok?X@0;O3 zOf}FQHCUOTsb6092gvt*yV(S__nCgIc7(gHG$UylCl?p5+vv!PSm2||!L``sc;C@& z{VkHaaaAx_9_@26ijrg^oL+;W#p0%o<=kfhWq^ZZt2!ip5V!lP1qdeY+~Z5M3W9da z0fTvk$~V?y;{h;_UQ7ar|823oNqgv*kM|ELa<0ecm8)=~s1zTQy$nt&hgn4-?l;TR z?zN~Y&6XRTB`VkunJ&So#2uS#)_@g+2bx~nt(u1^a z!qz+q_*na12RB?0$4SI?-xSU`dYQ)1cU~AmAQLr){QMOcgtMTE7AE~f)o=3g2B>8s zoXE7b^)myN)KYnC@>jFr1<`W3MO1W}6KN}BTI}8@ugJ>UUz-*CBiax!aJ+PwY{G)N6M!V zu|Cd30eQfX4h@H{kG;48>VTA>X6_8Pows&jgXCUGyI@t96LS*vgqH?tH?1;}U#O4n zG83cKx0F9o#iv&Sj*?ybF9BuqqUuBrc^a)9hsI5hjTECv^TVQpDwD=CZq!Tp9DgaC z5Zj8s%+g=~>`4o`PR=2T%C)+Z6l0(Ef0#spMBP?=HH>Bt>m$$jL69uYtbWJTzdE4@ zHPap2OoMox<+JtwCY~65K+%rUH`uxt^{FJy&f{aPe>Qo7B{iX`79coRp z^Oz5S9&e9i^48Ni-?FWof~7Xf)+`{7NoD=S)n8iV?N;P_5d^Gsb0FNG=qCp25`8Bd zqOl$Agu9YasbRA2Hd=29X0n-nhtwOWdds3@w`vC;iJGuqC!5Fv6C^er7(IeS?w_Ud zcUjDt90$GjXf`{Aj0xL+E6x@9i7qa>s-5QLDo-h4{9vBRvXXM)6m9J{L#ef2q$L6q zY7buh_}wa?@t=*R0=Xh@S2mi6$E;4fEimnjXN9mg9;t&~sEs|kgCo3li>wn0wj6Sq z9x##iV)-t<;<+aTorrnPmo84KGmUqzl3LB%wB=bR3PXZGFljxVFiag3C8-F*{r*H1 zX&@+=?J;d8Z4^dnv(V7VGq6Q8(%-v}CBsQ-KvA*3c4A*l3%_m=!s(Ss5HPvQuEQrc zC-SC8xlD6tqpEf56E2$saPDTQ^qK<*^jPDC zd0Xc7Ddod!tJ91SGYLy#U?0FhKJ$A?q2y1*mtyJ_TQDz4^XsH&MM7#XVDd`$aKCByo*=8(N;IviXhC?x>cWi&r7g3!a6d%!sFJhl}W( z#^W_+iC@Jd0fjMo4W{J*an$G6cxJW#ZM{cHwSz{y)y@nBTJQTvo$EN`*_&K6PJH5) z6nD3lWv$j)64P<`i7!5X$d)T?n#Ty4_3pI%0-?UR(&Z`0`Gc=I^U1CK%3M)rMQ!+BnJ+1^tut>b0d$X7i?qC)l7U(SNVsglNK9`3vIP#^9n#+vy4X)9@|#py`$Zd zW9vtjKHPDX@|qQsYklJhH~CGrKf5jNgRpTJtqtO2=YNRVS8NsfqCz~&3x)N|*^gWl zQpdW>2Ti<%-5Qx@@Ae&ce|8B-f{zo!B2rN#n1taur1lbPvl1ZT0Rimr5vvST)UF^~7S!c^Uk);>X1A**bHfA~fDcpw*W|8DAV`?DJhPR!Q&?cM z|1e>_L2Wy4{wKN;;V~uAdh5ADQvgf%p%N$Q*paRzYws6D;nQCYp2R6X{b5z;{$GrJ z#S(&JmmDoy&S-P!Ato+ypZ7Ir=G#OoibU#+ZgYstpTzF}%*qQ2W_3*o?2I~lV^LalkifjG3k@XRJ_6<{hkFzG;zj7xzuD5 zq9xEe3;^#Gl7Og>vSJe@>p8I*%R*B@Rueh=E16Td$E`X9hKw6|`6^3@srIK58C#8^!OBw%lU;5Qi|jna zgT%13+KLavbbLEY=jpN$r=kPR&;mm?r-&V8yhFtDmN_`xB^rY2NO zR-MPGMZNZ#CaCSx2I2Eb_fT88_Je%>j{6v9`dh1=hcKu%A>i1u!_c#Uyuc*b%htqq*n%5Oo+O>%>R!KUB;CzDa|!;#8%=S= zPV4#?wGzYH$#MHcHpFmdw=?UAouj$9ps+IbF)gQbz(3nHVv148C2FNC;tt=zQju(x zwMDvZv|9Tvh0p5Erzh(^sByI^xM*`pzdnT-wh4lW83(JNDS2#ADD4hJ28 zxmipg`%GHh7_^%~lxeqaPzwi1h)vA$30ZE<$hz(QF-c!gYhW`U#w90N-JbT8=bZ>- zrV&KtzuvhyO+BZvfH zD?O*hO`dvqAcCCwaVfkb%l%2^zPj-d5ZY@kIcEp3aPe-FSk!@7`j}-id>IuttBKJE z*8};lPnC8B6TG-fe-%V+dm@*S@fhgL?xKI2$nq`Zu`mJJ+CKYS9Mq6e*`F*}yEJlg z7#qj5^*Gn(0yiRzD>%58^Af#Xc4T4WaveyDTA6)vy=;?JJ6G$|qLWTAu)lk(_CK6U z{v_!rn1JJ6Vp}psY{iW^W~%uf?J?F3v}1R=l3rN*mQA51=fJ!_V^y}f#;wZmhrVtV zMN|42uYHc!hpRMk_e49+v`Yt8e&XpSNC{HsJ~1FyOkIYqcQ^o!L;en=_B<4YHv3&$ z^MwSBn^n+7a(z5=k^>zUpFkHfZJDsrA~?B4!?moRip+|rH{9?mcc@aS&W$94w=&&w z8(QHl`j}?eSVDiXFhlNi7awJXINg7Ihh35CeU4grd;q1v980E4sHdu z(NSv8{%|A8iaM|1QSrvzS@udjBF{shFy`^3Vha9mH5EafP*3&%|XHdd@cJ{SXe z7jVzFtSl;9+2J?hJHROE!r?Nx6jjm+X)uWa&Wz)6VyL*Y4|DTP>XYfqa@;jp7{(1+@}=O!279|+814xkL{acDLpxb zxCsck$vHQ1MBRiFIN&*30EMQvb9Jt_l$ADPb)I)$PTu|rE1HxbR_-q(fT+W}O+=Af zYdOl=O7*p#WG~4!PP6XStzG4_vwa%vh%VMEr5s5d$xIXF$4&mF4!B_hJMYf7UB{6Dxz1xuh*R+wJCMMOk zw(Sp2&a<1K*N+tmTiLHUZbTAgQvT%UaAOUcWx{1;bQzoW^OLkULt3W@ltcT0QEj&e zj4Iowu93nC6M`$>{G3^$M9R}gYmjDnD)?+;8{d+r|Ajuwfh7tp>OjH&(E6jcLAR~X6986ncG+K)Z(fAkn;$Tw{5T6 z1bzPsE;5(h#uVUKUz@-Sa_#M*tPk)`Q$uR)WA(MWHVQ-5o8`&nOOAJBA^LxbS_wbS zuA#)o54Pg@wT_S<8Eqen%;_A4Pw}KI*nT%#=9J4VD&Nt>g7AW0xrxhldtH+G_TzY@ z?PxDuyLXe%fIF9DsY2L!F1V7onn0`a=+3{O$^>(zeuzTV8y&pa$N*c`3C|6BW?C1@ zh@{=iR^ukb4<{<|fmhj>RM4nQ-Jyqt*Fhhk1iunQ;Y3wtM{$q3andnjH!dW39+c3` z0}XI(O6+9J;S%287b{+|1nK+=hf9Xh!zE|$lard}aYu$-QEgDLBR_(@)m?A@7u@+X zPs`zo8rs3t9SOIG^} zdZ&nv{@w%#)GzNYFdJ&1qfy(d%nwXnEQ6vQ%utdL6xnd?MN% zVMY+GRV;u8j8MJ<2x{HPad)1z*W>LMn{byqIO@aoJd=dJFQW{+qwC{tA}S?-eRnwyf%-}FaxbE8I>|kq z+PQ7x_lRWeYD|A>VI;kH=lF~%L;1i?^}vGFbp@A_BH_LWcx8wGYiHJXXH~_4QvOrp{e%)n`;2UjK-A)wQ2-xuVTqy5^^? zBpN5=V2|$q0ezfl9j9sF5JB6Zr40ODmErlvTg!->^+*_$$kwFyqN@N;*sBdhJ4!I_ zcZzT}`?vv%I@=#9$t`736IhFv+2sqU*rVxygkVl0Z3ms1Tz!HC+W2(G_**1#j&CqZZIA>n9dp| zOc<|veXQboV13+GdaXTpm?_I`)o6+I=Zmv(QDq*qjZQO9gET3B>9L8b@SMJbh_7Ep zmYj#t`oN{cU1WG=QL{XFarhFauV`9!$5eFST9^$?$rO!^U$x~PNZ*x|^t*dU=&m*Q z1^~usfl2#jBCvIX6IqQsu5J9~YA5GLS-zWeNW0EwtDtvW{rQCQE7}%Ddf&MqErt{A zf=RGay058BD6+#s_dM<}AA@fjYS)TF92?xAk}Dy^EW<-d~(ZH>}VG))fH>S8_b?v-U)I zig<4lN3BXl2E!<2T2l4x&A|xoqlzSq64$>dlbbfAgVRFey#kr+mpCj1wvg*KXxx%X zX_;&w%rfewo4GEaVCG)(ybi1L-Vp^A@Cw=_$gOo^GZmJ~u4To58|5tr1V|HSA0zF63|cMvp1Vf6*nu zd{1if%ta=Y?H}ks_$FqtD5TVR_`I-{9`x(3XRNt)Yxai;NJcHpITt^XMINXDEI}5^ zSjY*X?S0Z+-9bW>QG+A(whSOk>11l#_JL8G%%fUU37`5$suQ3V77LLFYRpS6jOH%m z7#Eqj41!YC3I|xSlScuKovqXy>jowI{bi08Jonbt`BUWdwYT}X&h0Tq4zDMJv1>{m z7#u<3wW+W)3m*Bvgf7UiXq7C8pf@xj5B?syNya}by zq;t%Y_Fb;9nlKSkL+?{t;gTKh&JFv*(L8wf#)`WOxPDefg0lV24N^8Ks#@H54 zB|C!2V+8d`Q_&Q4;rO^&6j4v-VpIZFo~#U8kwSGa*=Zla4Kz6vw4N*Q$kMmA%K2JofS`^>1twccEly#D1Lv8pL#NGDIswaHt`^-)1q*(#@0|T9L`7xMi{kX$u;rOQETUlgx z^i1R45%o-d-G%t-f-NkBwJr0Nv&^BU9e833y;b+}l`0Q*&7<&b&o`qAF|8o@JrBTzk@eX4^FxKz-(as-115M=XoO6a8?C z?ZJd(!4;HBVes7Th0A8ze20Xfi(nv<*}A-mWE}X{v$|vK&cAq;8Lh&C;7d?g!R^n% zl7Ho6bt=^2<}e|?t80?jh2WYQhOd$<7NX-w3t>=hSs}ZzdYePo=A?}x{?B`PNrv&VyBtaPWe$? z(W)=)jeEx~h!Wjlfi=4%~q!Q)5xGyg~`PiYJRo zy1TXO?#jye)FI$fo%*bG6_FeUP})?DvI1gr#apBovkN6@@Qo}^`+kPhevq$%pGBg2!--yU}CdDj`Vi#04-kwF_meb|!O z;de|`Vnd)}*|)Et ztG|pZ(YoJIQ;A?wuc4EtL2~?p6qO}x0b-4#z@vj)vW=ZZyLpp4!v?9+T0L1X43^|O zrrKXuhaGcZ)UbUdu67f52a5eB9=%jvFF;^&O5%Z6OynDl_UUcM+5JsQ;|bdtbJ zis*Y|;m+Ks-5%*S=%^hA>s>Y@yM$)nb%Q(jLrCUq6R$~iNUKe$D}fu+LvbDUt%Eb~@tYxh`gO0_1d=SUy<|&@&`HP<+Z}zxR&lemX(YNmyH%o|5VlbLH4UYoJ_f z=U8U9X3POpC1J;C3>w&T-LrH;RADOGf~R8$YTU4vv0{_~kRNg_AqLgH9de+JKSZw{Ozy!b zjRT6>(`A2~?;7&meeRXWc`RkKN|y~LdZ_K0#Bwrlg7|b@26CmvWCcEn4~WlDdxmDg3{!@m#Hf4-xDHs)M1AV1iv(edptsVw0LSioGw)tkce4sdY7x_ zg!@ckE8@Ci30Q_t69WIK<*|uxx{c^%vm0(fiZ1n8*pAebY+z$JInRx4&tn4w*FD#4#>i5YW zpp$h1nIsG`F7t;!vjjy(Ez%xDT_y#4Icv`zs3Ly7p(9@K(xn|B3thon_$X0&Rohe z=W$x4MAqz&h@In7A%dFOG6CJ!-Pf6d41V}j+~M@E3)BfZL9Vfm2cY!24`R#?3w%8{}601du`aU|Kj&-oeM>BUPbP=gX?HZCL@ z%af7YpColp#~r-EhoS*G$D85vaNA)B~+Doc3|4XLz=BSuN0*H2#DXr#s!C!J!%& zr#sD8`Kj%P8)S;eusUWP2Fql&z~R2!)-LQ?KQ|}}>WoVzMfJ^MYNF>cWZhqT%q*n< z(+mbVg$dN-zY|Cl+=yKOK#rB|$~;^>UHHNBtGs@P7s)d?meoY0B-(Sj15f)fF-RUr zL2lB;kt*#FUFKxVhr(?z_zd7z*B|mg52eJlBAR8p650b9|Mo`X($eFgX0C!+&_$O0;8A}m^X#g|6_R+}F z*8Hrq+**zt-X5!O+dQ)NXs^kK-m zXlVb{2XKWn@O#*#XllH-u&@L|yj6E(A;2pciLb*^+#C@G<-WGA^QNY02F|jbr{$sEqanJc|W{;8>@O6E0z@K`sa)vB^zB4_NB2 z0cnrsitA2P%M)~-si(4Z+>5grTKXkx8s=m}L#&lKHZqcpr33z@edyQRvC7inW9S?) zMK345B}ne}`_Gb2JoWJ(c6!O=P=P2`X0ax`wak?3PX>zTAfu7??6#R>DzS&+*84PS z)nL#UQ)gzmv77Ai32w=yX(5y@FQy%9DVNb{@9kVZ;rj||kIycgEHgye*+_?O%nG~U z=cv{l%VDIWce?d6a+kgajDB7Hh#mr%kK4E59^^R9pWymi6bhV~$vSurQVKU?c~a%5 zKHE1&k1)*8xCNgbLYMJ=Ot)LHxojU&tUZhrb%B_c34VnMh+I^hYinTdhsFUXWt#K@ zZk=r6N21Rh=hO6w3Ws!vI5W0wcfl8Kubr6V>S;Vj8pjZI_U1xysro>S3%X^2YjBt% z|GR$|_L}tKE=bIJdv^^9{_M=kn`1klV}6UDtW&{~n5&Fc>)C3y(EJ}=XPT`kt~2Wi)n)<4H1nTW`3V^u;wA5oyUv%DjW!rrO*AsJlwGcEDX*|> zcEzgT8W>36YM-~uQRs*(b05N~-q(**i;iD;u^z@2rDZMsWG8_^P~5EvGFA*moX|_g zD=d3V$_$L%4mQYr7f(|M?}<~{+e@FH!20tE7qodY`;sE%RG$R~Jx#^;>^gWfmW!+J z=_-=k-ILT$Z0)`jYI`6xvQf9NB-t-ckmr)v>bPKI;Tfn+P^(CaN|sGu8xH`6;O$5;B<7Xef4>O7kD(- z_)A9-@e@znXF8q)7!5ke2k&Tn(6W`2lf~Kx{ku_QkoyY9ffp7 z5gr^&&Rp8i$pNjMwM64#fH^0`3h4TF647#s!N7l^mf5Ok_bpts^xT{)5GD`CrpfWO z+qK815jc1L4GKqH`C;&Y!X6Xkoq_gM#%2}1&osN5yrw930CgT`UtnT@%7Af482IM#ubF zzTE95bZ;mc+_8`sy528m=&EW)^K+vsfMy0+tQjF zFJjt9P9u`&o0`&$CeXv9>F${__?DQz4k2$m&zv4p(1 zYIAEceqxC%xqtF^&>4pkYAz#?H+@spUKaFyyJWU1P|z6W$vXD53B$%d`ZCemcThb& zig*c3sFdu-Ks}$;OICo4hillgrEgEp*YJh>zP@s|lL}+#h%~3t4TtN;}p)7ah|;O5RrOL?9NT! z#E5E@bul(@hC#Ov8cfPFM znshP2d~DE?w@4$Zx7n_J(m)kQ-^{_lWQgPKo?J0F-M1(JyGwpdn_VvmSGF^4P2^Tp zaz6%9JA~CSRNqbk_CIKI5l{4#;a3UpGwp+cEN88|cGtMO4JbjMM2nxcZ+_h)=rJJ= z^dO_#Tl$w$g<|Skx#LrtD%ihHDdy383{{Su#ypo*lr#Huw2ySyPoNB6D44C)+4tI8 z&jbp7+BU&5N?65KdDG{+wb#n7skON+&j~Lp+I(H7tj9~QwrB9KP~@$a-9B8;dT@Ok zE&}Gf7(cII8u*O&>-q9w*(Hu&9ds&3#wVjL5*m9Phc&eP=(;!P0ds$6N1&<}XLeE9 zAp3kP_rcpaHgHt4%;>u&vHtY z?sOy8^-NB9SP|Qt=(gCdToHJLDZwKSww7($6*ai#~C0r=m_y&#ls* zTaq{x2is^D%(_n}F)%7&1phO%Q8*>)q+nmZ1yBFj@Mj+OvLRAq61dVvXcbMn)df}5 z3=o2sT&RsC)e>g<9@yM7nz_Dg81Cqz&V_%uARlEdT4{$gZvoq#v3mc!ml$t9^?_ss zt=b0OI$o|wJ0G4NJ(Rw)JO%eYCdd9!UQBK@xWcg*b9Qk>jz@BhHIfl}+q0}Lp?NCc471%6q__y@611@*ngR)4v4qEDVf%Xeg0gn_32);X`B?y;%I| z`)dlqq2g2rC1Uk2iO97&CU23tRQe z#9w1Wy4w7cwK(;P!COu(OWYFyhx^GzqeAM$*0x}2F}Zw>=sT*lC#6W+$niLLgjaLD z;8ff%{>;K!_%w)dC<65))sNn(xs{7UfQ31~!EX^+v?#&1T$jmByP1sGoaF{p4HvXp zmo%xRuXKGzsfs`{c!VJUf0|tPJDL(X=@QgdrdAmzj-Ts zpfvE_=@c!&{sb23{JM+pBnns9-TBJDod(+0vAwCmg)gpI1v@LFsvs#PH%k`A9|9wa zsAB{=@p4C>VzelP*pB!Zdg-jvo?XUDhey4)pJcg<2$kRGWXUXy* zHdkbCH!y}w58_>A3dQ8Pxw2Q4UeBnZu&sIo6oomlpQUBj>5CqxP_8JwJNYtCIw@1O z>FFm=1_h_hTf-}U@rFv<9asGW3S(gqgdNbme> zCb}c~#hA0Boi5i9n{nfS`pJgb4pA8hXqlC~RS747et{_YcFj-+Q0{IgaS2hI^Vuc@ z;Obh@EE)%p%@iP*kyCM@{3LDmnf;JCzgI!-hHJSYcNKZ(*A93q4B z^r4v#;Rc)UBjS)7Lw(WE51B)a?G`$w9ZMB6F_}d<=xinKkrQ?E4a#78Y*%X^bka5n+;RtB7YgWfRKDzdB38lDt?8 z>mGS0ZD8#xjmo((t2GbJ$_UBDyaMp;vejLQ%{S>M%ja*Ip$O@Ukd(K%c6_7ucOc@s z<+WpN|H9rryiuk>);U&KGk0&N%HxDEVNaAg(zf%8--{RuHNK`{BURl+F`MDLFa+n%E));v(8 z#i+Dfl^jbQ%FOWUtz(A*L@o0<>QYF1#H7>>G|1d5X_U%~%D`gF6^U8qBsP2zX~^B8 zD(XTu4&U&^XhrAtHR5Vt>^$EoNtL&FidOTe1gYj&^S6t2cI!aY7%D#@9und4vW6Wc zHZAwLW+QxlapfbJcx%gz65N@cm=ON4WP3@-mUCtk<7AIT3EZrD=XWX7`cFo&N9UWM zg8>Ksa@lL)$&DtSm57!Big>0A1+|IQ+n_4iscFe#n>*Q*O_l9t2b?LjDGlOx_w$)4 zjx)j#M+fgg9|$54H9Ja^8fbcqv>=_f7SfM3`zYIvNFLS~^ng{I*!UAo9BVNwNn~sG z9;UZV`r++l%S*}&7hwvsheN^dqj>dFac90v(hiVG0ZdeXeIj~rSAS(n-XNrhOcq1H z)VFeJOxBzL5JVl{HkRl(OfH}wJcc9(f!xRTYaf3H)L))bx2Ead4`K36P4Pl!S7`vv zwu6_o@cs<$G~ouyv03{c2BPgf>^?BWQRi~h`zykw7f|9^wqG+Cduzp|Ph(lU_^1!F z6nL5DhRSR8!T~Qs^W@e}=W8~oNS3&HAz98y1NjnE^ImQT`-B3k>~Qwm>R{s#+$$kQ2fByolr=BfkDrTQ4LeOXEUp>irt zyJ-G+{$Mq}_LYjN^yj1;j$NP|*Q>AeJlATJWg29K%A7Qb2LbJv=JbQ1RaM7A2f^U^ zYr5RZjPt%y)_?Hj`FU$O4)0rNZQHMHLx*Y+@4NN-t@eB{uw2{*?`I7!{fp`};(sDN z6nX1v>)5p2IZAFj<*ndSOen>+-(~q8QZ1v4FT{sp+j?yOfO{V@ksGEp@Y2vA zA3L7oGQwGu;ZK#&r-U_48nwABzeW~4pc;u%-#MAGofl8#>P1@R|A4kR=OpgKheQaI zwBzK`ts#HX9#nPy@JzLv+-Y0E0`%$pM(ZfVe!NKKabfy7dy~=XeHgNMMkJTsQjz2 z=a0?zoB$v`lK2TZrJttoYB-Z^IN+*Q`Z|G9S-dzQpt2805bE%3FqEpsDePWHvOjkT zaeZ+L6;>bymJ%ho)Uge?y#qj4k1^!!knh!H|61jT79Fr9(Up!qNUWPreipWSNkdjg z-aG!E*rHu160RzAm(SN%AZ;ElW2e5qz4xcO-*KEfP0&f4m|G13$lxHfv}*kPF}vCo1hpXI*&MdtDQ3JqJ9o7WG3|jkIm)xeksqEyLOwLN#fuPty{MVkj!wIUWSOub8oIi^`cH6?k%E3H#Bd#; z*mohabLtNVGzR(7MF8a6P~7ZeVZ`@*CnsM;UA{CS6wuz!ckMVr7YW^E5SPqcHgWR@ zT^~W{+Rn|OivQOYGc!}J2;t#Gmw*~xr{B*%!Nr_T#7ks@O+&tLlaK6N8ETmH!rl&x znN1&*Y^GVdi0o_V?GsqnMAWA#NYRaisN41%HsXuI=iY`8M5=lixP(_MhnDc+1_g zN<6`=8{ltQBg18q7M**0X01zkkj+Yy7Gv;rtkdMT*Dv=L#S#KK3#7{mNY+g#RA?RE zI2OS9i-RdwsQI@nGLt~(JVk7_PGpRSf6Dc-s*iBuYU_MU5W`jtAn^E-%3PU^9my(~ z+@FO{FeSX)M7mO2Ek0-GaI^~PTkJrQg^145?Jd^?Z~qe^ynSL;R__~QQFkU(68BLw z#W=8hlTrcXyiQNU2|Vn>Y_EqD2_YOV+k08pBxsCAFvloG?F8JP}=gV4A1s;f~oHv^0aIYVE^-;K^M(QdtJIQjVI9 zcS*73&O5Wy*FBVW2i}oDo(B^>97Pre;IotIrL|`i?G>SZq|lyG+a}hQQ9=*7-;K(q zE+YSZX;u+U#}h3{=f^-j+_5Bm3xwFD4~|)nZBN~o^hET^s}8B z{0?mExge-JoA>h|udp-TZ0oddTc(Hy_-gm>>X0wp*!ZwO^Y8aWIo%dl?~smoRzbZ4 zw{&i^;Uy1YyNpvW@D&o*t9e7N%%`@q{TugAU#E9L{WIaV3X^bGc8g`_frRdt^ll5W zc2MXd@}*qKZtl)Y_)08qgMb69HCpxo#jpKd^Wi@9DUD8ZT_q^=K>{U^B{(XJn3v~f z7!6wfttH)Y-4*O6lTHi_z#|FoY$B6b@X3<{eTm=z@GXYlc2X_F=`n8Vnna?3}?{ zO)%QpLy~vrn!VE&!z;F1d7nPXAPOfEcrY;8Aeb+qG-B#NIsDf}*=D0HqRO_n1A6rO z`ff1Wp)-_M7{h?(I8CYz)FgUEpB?Z{Dc5IWB45ImIh@SHT-13l?eA&T?AQxY1y6o< zw21XJtON$kW(3dL>5~eoXiERe7^PrcvIN6!W}1?^K>VoWgX_0lB=ENT^mkHpgGV)p%U{ zFOP=`uKimhONu;i31Md!@7ma`#V1$1KVkV^=EY4$`Pi~VBvJhCT>{(z7Z+B{yH{>S z{+pY*#w^gS&h}4?;z9D74_WPyHHIO>uhcug!|Bt@u)oB$DXlJ+LnfBy;EW0(TFtH% zF8XF~JWG}!B6F|Pp2U4xK5c);CudzD_3@=>m`H1yoei20>s!PMA&OyITqYAwlg>bO zx+9D_hhXC0&?>L(OH=Du7QD408s%?P8(cgCPd21}_ZzFO9+R|rk5E8*Ac@$8qr-lO z`h0cotp%at1FwPs2*5-Z!4tc^Ua{TzQbbHPwMHP526*CNh1ZmgS>#bN9MoiVF|-lL z-C{^RvOd>8bfgu^(I1m|m=suku7w9NVmh)X^<~#BH=Sx!8Z9)v7CpGk2j7nMxB~=p zMCHa?>`{TAnb1$0i7}|z{;kLLmW?VD$i>qzjV8*Fc7wDd4q?=|>zLb3P#M24m&CU8 zN#PzvI8ch~bdwV7rqZmC`GC*51A67t8&M!KfxbFtLW|8`0VIXf=Y+@YUwmv^UTQMS zTpu-bHJR|9?hLdp@}MzVPA{roL=*Lwt)6h&JiQ6=+O?)Q(f=BtgJ?-r>#NG-UdEIk)a+38O_tDNc zv6_F0>TgqC-Q*=bYGRKISNe|O3o0g7X|7*cux+URp1QKnv&`J_{xWx0V91G3CS5)M zDOit8=9BdfD9DbB{_q!N?ZS_6cuc7{IVUS97F0~p<+@dYVuphG&9S7?1?FK#B1eAdi`?UjM|Dt36QOA%sGSe>#i?ARc- z!ueZ$ZqVNH{Hxg*kwog0J0@6L=X}N+m~Hb?H0^V`4>=Cl`=A8zzotjVG;SQcP)0*u zkv~1ZC^S$~uRcl%mL|4fsex*Lf_IRt8sz-io=8%)S7vtNOndzRiQEpeo|+Qcx3SGQ z9ewW-6M8ybt3n+&zxnpk0^5q>*-vo=W z`PQ=mW8NyL);w*4 z6&Aj$8OX_SDghC3te=vg6{>sZfG(osKmEh|T>+gv1q8})W^wGxpYu#Ve(Zim?gL4L zOoe4Mx`@eJWUwix&rr$WXqs)GBE=C^PY1U(Pc{1t@;C+FIho!xf|o9x5cESn zo<+7wSPF9f`pH3P!NtcXj%LB0aiB>GmT9*9t1x3+>u;ydc8TUA_8McCg3@!cp@Xb6 zeI0R(f!01z!5x#?4(x{Ku0FXl+G{jt9#lEo3pa}@DDeZ;A<%d#%e5x41Gcek{`}+= zPhW3dcU6A5sTUFw4;F64?((q)yJsnTb|ek$%`Nq+02ii|(L+%7Q@T|__048@VgiqQ zX6@~RpK$9PBav|9anN3^?RK_J;XzA(Y%W2yaF)lckp0$}8oi@A`}wKju_4x$bkG60 z{A@KZWIbHo3A9~{`4~LQ|H6UI{Q&tD#P|2)l}Rty>bCvUsV^do9Da3s`cW(wO1R?o zqwzAv@z}9{8Bn5jytm2fq(z94YhX$=FZ?Zg6-LMk-UEN~2t`56eomkxRam|4W8h4pg8p&IR3j5t|;y>ehMvIi~Oi1qJ z0DW&X6_Sqk+G(1A_ngKd4qGbPh>Y6AK%Ol3cDj<=YC_I|2m9L1sJ@IF7d~Hy_Ov5k zjC1S36(Hv|qWetV022%c*Ut7et>%ZxkjZ$El19tUB`=8h<{+PUC|iF}nyR!O+}ZPh zHF9%Z*zvk`*8-vTNFD$iN;ba9KY%JH02V*;r;1dBbVNwX-V(vdo@y)uj1kiwIeTZD zjTCt&&U-a<${`n3S2feh$Dw_#Dfy@Ss{)G^#u`*j7P+Pr8=9L2fo3euo3YT_q1fDk zIyRdQK%}&sCs&dc)yuF#De~pKZ zI0E#kCS($GYzbw9n@{UeU8V0G;NDO99%*g1g08HRS{`#lR2QD1IKHR1c*L3@&g}c< zk-pBgik0XY0{_IfvTIKF0>XZus_=T=bRjQQrT z$dw)gt{cR2_OrXR&U=it7Ado}E9$Xq5CKAhYMV)fV`F?|5T`5%lS}M7z)-wh#n=SH zXR?|Sk+=~lMQ-U2^8qQ0QMd)m$L<}emW&ns2^RNz?-N0s5d`Z@NO~r+v7px03a8Bt zC)jh@4oa}(C9MRu*!lGl4`zyXpSQev{R2NsIK38FJ74om3@2(-Da_k!nWe_`vQXo@ z8_KW3Gz?*s1DxUFmi5>KUAv8^-!VlR2$m)jvVmg68$DO10)86Qit(KZ0@GD)iFm6o zmqq^Ake|%Y{}oGQfw01qI-2hr{uu1oRVJ>^vijhfAwoO4t^BL|sLj#&U0fOe054h` zT+Rfj`c(QI+S-q^mYLvzZm=E`bz85iByq8_R+NA|T+H$vwXQN$e~_E7Gk=m(Y^3rN zNk7x_Q`5405O(HpbhZMbRVDbBkNmgjL_ES((E<)$H^jf;28R98_b6VWl%9mno3@Y` zDhxa)A1D3cT|On3%N=miYI9214mEpnfFr~)#RuasN|IBAhem^apX)nm8z7LMwLLZy zHrbhc6&GmhZh?bQrb^RjNo*R*D`Qv0Xg_*N;t8qyHJF*`Xbzcv;mU$fl16bON{L4- zZ)&}JQ;CCfVFQj%|HtLe>I9@QyPLpt11-8(}ft2jb>WEC9~;+6|F0vu%W*uI?snq7fzBoH`t-Q_aM1>qR13r#DKm8bEf zN!Z{M#-I8LEK1w;Lk3(4JMouy#1@Q>QR&fAt*SxbmTepkt$}QPsYZDF+I}gd&>mU! zh0iBMHCHFp{A!(_)xgOqxjkP9l3YZ?vZslmoS9#k(!WQB>kzkeq4!nN4G zt9yzX$J-7IhhloJR$d3Vl~F6fp*;+9T#=}#rrToSTwI%h^H_t4iA1A$ngylapb#iB zq2g}KK%6|M^bwTs40k?T<-1F?gaVYW{r)f0JH@s4^K{$pv_8swHVdFx7bDuyZ`z&j zQ$bB7u^^2E6Ra1k6^q~pk|LwPZ{Dh+io_I7m<+C$pE`87w!(1{s}K$W;kJHl~_1(lX-&1(7S_VkHkThxs;o} zhvfa^EYeHvueL-{#OQQ|k%?}rS@JFN=bSNweYAgCGDDGKRFEpTGenlA-_dAHouqE@+FNqG~OlR4)T?qLXf4mlyk)Fja-melK{lkpGl{8|pj70fz> zcX)yPSc8stxwqmCjLT25B&4|a!Vh!V z^0YIg!O{jyTnAU~(JmTf7GiJC4Laz3AhP;;XZfK!6gJ(qv zI}MtPT+4hi!foV6$}O2+C25*cuTUGz|9n`rM;1`<(`1`bEoc$fB&7U;u(s=K&;Q_Y zzTE{Ge62|_{A5vXqF6IawJVr2q694Wg{*H_D(A)!3--X2Ck<4=fE?|2L_``_kfcb&0LUeRnJCA9`K6Xw2+ zg0-D*J;%fEk5i6Z&~9iCmONb8Wvr*WK1!~?S*f=d=(KN{fVXS!`ouIK;8H>_e1)3{ z*s29F>Xl8El1W`xh8D+Ro1Sa-kL^HV#1<(jRAq*{he+<%8yD~_Ep8bLOQ!#$&m_9j@g@>n$dj#t|Fw!3pM5|00azhrNz<99utH0_MdH73dpk{C$x7s z>v8|KWElvtz9!D;!sO>8UlCUz8&**>r8GH`sK|cB7B4M703Cf2=#H7|Vc3TQT>b2b zLVT~sAdC6rH0Jy7Sb9PiJ9Ed-XMcK6=)+^N1w@>^wkxB66lK_w;8tP8_Ke96F8Jra z;t%-+w2D~z`_dxw5aPq73q_-9&9td}uTju>=U1>@bL-2(fU&hyM>3J5Pae7Buhr+v z^tFFhV1a2^>+SsD9W~^K9fan9Rtb%gV2_;PX?M3{5q(UVMeK(p3i5YK0P$lh4%mke zBhooM&2+RX$MNYd`INhd4NFDTI+Nz_nc zX`-)*Yx&*CX#qJH$S~YaFC}rY$XL|&li6Cn7Y*td>UG0e+xq)>s zbaCJbi*4$;AYDOX2l79p+{*N&&3gwEnE+;{z|OY+I#*dY8F_R;bY*uxi(Nh^EghH8 zKi8o~&T4jEpynr+58UDlXmodK0ye}`gG{6sDoxCCTNQyj3YKHZMzBrTObb z*MsU+?yfSNmD22ao84$THS>dZRhPKr1PBrx|AMOngmsu@WxlLwKv*5_5tVxTYrb}5 zJ-8lQXV?4tl60vFrMI(92{$I}`-+0{eZB%jm?%9gc}J(YUa}_pDc*V@cO-J9Kav$5 zqe{H0?m-2m$vkJeqzt=_^1JPIoqT-Sjy^5lKo?asFhAYQdqf@jwV%DFIP&aD#M$D8 zKR~T833|Fr!E&pssEC}ID1iV9k#<`Kv0lU0AAPwys<_+syY6ulWoQ*OOTGYdH%^ss~-lGJ)n-WI#hLI-IWG20Er-P-yKR&7`Wf>-h)93 z*Kkc=KueU{%YL3;Yd^O&376m2D_U_{v1hke|qWh!Y2rcn_&5+q^ zHtFvT^Nm&t|LV}+VfCkUBf*d2gBpN@mk}jM;=(4G^k*h4#a*{lg};HN5t;SbK1HwLD>?DPA+aZ5<*TzmFrc9S$g@hsyT5G(6d5 z`5j=;R@#k6*OfkDQkkDhW>CqvU|&^Wjy2UG_j6O)gP_?S;GJnsO-MfL6onGyoIEor zB948)6Al$ownCKS@#>zw@`Bx$p^vqpk~-F22McqP{1Qlb+t$xo_Ye{$;?WER87otu zS!8(Sqj~gyuF3Y}a$Or@u&haw)UnDGw`ptjoz{H6V#*OvR4GTm!LKRVhm=U!Hi3`Y zJ6WzVmGenqtw}mt)%QHv4E;n)|96(t!|9cr_?TEY?AC?;F&Q$&TAk~bmmQq5$oZzV zH5cCCY$*7B4CLR1yDS%MqQFrlas!GQ*pn6{+2tR(GbhJc2tW55( z`Uj^`$!@tuP{PX>$OtB+3E_?e-t)$Rs=6(=etojZlT!8aVMg0S3BvOV{c=Sm!uI|Q z@7B%t$SlAnUyH-#ZdLH^PCcl@Ki|RuWMnMrHD3J?8MuRq)$V!rp>^wDy<2a&04;Kt zixBxTD{r>HeM%l{I1pC@5-w&&+4>BehSp#CxE@k3A;TNmgq{|Zr>9M_O*P1w$!#WO4z-VXWe9 zNm9==CaX(giaP&Gx$2>W8p;agl0J5Kts8E~X`pZA{dOmi70vL)3_8)=7^btJJtjx$ zR0fROhb3;0BXae1&q%U`UAslOYxm_r)}Vhv$?n9(B8a&|9HFIg+u73ePj(q;rxT52 z`RXJiv`9ihxJ0VnhaBkJPN|^X5w_aA`fslmq9x5@sMcSL>e zF4861Fo%zc+315V9uhLjv&aire*g}!req_sCk$YTp05BXDEF(t8>KFS&NIbf%CE} z1;LZeJA@PM@Gs^7%ZGMZ#cHI8Zi%qiwI<(hHCruZ-_xp|wC{0tC@qPnN=tDmUqp#r zUR9+4mfzOC6lSfI$+jb{r)lC%%R#&3EYrvOqfwlF{N1hIm$RW7)*{p+#B zOtQ>3Pkv9b**Lkjk1Uy(t#YS!jbsk1je8{no~Afd+DGCQ;Oz{H?n9mJ4(y7+wr>0C zVgM8+Tp_1zV|K|WT*n8j!&#j>w{XUi;^r>v2q!1LBMUK>BC_Rf)QhqS z7ioHn?Aj-{il9zQ>R$5f-b{R-wxm@z5AR(&`>&0lLJ62cfpy87TD@zP5_q{~wPpt@GZ+6$Px%iiAAy;WqQeKf~y)1eqze+ z1_MN?Iay{SBam=Ht$5$3U+-WfKVi}VPV_}( z5MRh4FMM&Ung0F67B6j)K2^IZhXA|`F0RvNNfllHc1=D9S8y{oNjjkQ4+X#lHH5K6 zKG9eHsB4KM+QuSQB~mD^Ps=ev;nhvKMX!A>l?6Ta);F2(2nNlqiW&QvR*uMQ=F$0H zM2PyDsYOKbSp~5Yi97erZtq`7(U0efebPFo1xou*tsrv~Rwkjd5sv=qE~li?1Genm zj=hm(-jVJ7KndV2sH`pXK~b&=LrwzBbexKaK^;Sn11qSPaF4Vz$EA;T-}I~f-y;g* zcM-{Qp#&=~ZjM^;?j}i88dw3jZzWA7_%K#>(r6Z2=Rl1#S)4C$`C1Z4!m&!1pUA*F z!2U8x*Aj)j&t#}&jA1Q1ew0|ACIsET$yP!KMZ@aGB$zl1bh$Y4^#fJiBMFjqfoe%> zn3j%$A`eF6|fy9 z-5%}9EH)ouot>CBoO%yAj`-fHLlcY*^A=0?H0zhk_rAlL`x}d)_N&w78=GA7rsc&w zb9%(KT>MuMT}UdCI_4A=12RRo@WI;eF)i`ot@m8JBzPf{k_Ew``xxo~!(22v?XHb_ zl1P*t=a~9ctwLsBvI>1-?dChK$ep5EBGxgqO?I-R@e@xieeSPV?c}W$D@Uo#>uik7 z2KNCZ>-054jtHX6hGMC|ba!z@=!hEj}V=uLfb`6Hyk? z#kIS}tYlBJ^imh~)p7{2^AE)bc?G7JmPyW_Yg7mHACa9Zf z>_GBNY*EygOxdlakLoA>C!lz7;#;;1kTJF>)6t2Y{a+L)ie*Skpkr!?9|-%2;}#gu zj0B*0+AJW-#`AQ^6Mc^60{f0Gc1uNU%SeaM%!D0o`@sh}p|!X?oX6djh5IP-55^cy zo&aJ7C-cb{Ah!R3o{Cr^KNXqo99dPk{p=8-1}qWr?<48cEDTDr(#FOj%sAW_&<(HS ziUjZWxpz}MAq7>+zg+35|Bln8PcS2$l6_s_GL8b}kRy(X5>sKMnE+3Aa=)3Mh@w6T zmL=Eo*!Qaj&$Hki1av}~RD!sC?cb`@GCf}`B3p)glEld;#6{8cmOvEC1#b!iumd7% z-`IS+z@0Zn+kDBGlO(?ak~?sDR|3Pv!~C8~wRC_Lmblxlwp0|aBQXft_SZWba8 z(!N;QVJYXFd)5QfH^fbGojopPZ3b1oX_Q^sn&jX2LXTh~Yn67hm>b>SapI!xk+Yyg zF!?a1yn6iK`J{sCSBc1#EZdSg)=Bv_pZ4|whrK1+askU)*YsfE`d84dz$@vj$!(?@ zJDqb5$kLsregcdE>b7+InK5cApluw!rrKmkL7=zdqd>%|?h0HEoX?YG+V~GNH!<{e zPT2(LUbC3?f< z#ooly+1WP_ooK3)Jv-jFt_$9O0<8yZ!)yV|^}P`+NMrP^&K5}=8E(@PYBz2>mzS>> z;T2z-jm1DD??9<)=$9Qj<2Z?KKG>AVPb<=sLdy;+rJdFJ3%{)J`lw***lv?@ESTRW zA3S>AG)h)+XX#rFr%%RO0e}F`Fkt~l`VUf0gcFHM{L0^nA;zWF9~Daa-FxA6)~{HI z8yb^iG<%#HV~jZp)9=sSj>744oh|Gda9A4-8LRfz4pf1ab4_V#0$}zsx<1JOLqNR0 ze4UnDG@P7EQ__XOz>wO2y+48V)bvTLT;s~M1lLRghX}nL?Yp{XXWDP#hGK9K3K;3A+jJcI`j0qM zM74&%cM+))spk$cF<4CnK6V*3axcr0MqdXWLDqjPLL=I^A2{t)f7$VO4AGwinR1?5 zk2dT-4L5?r3s0U#K6yq4$cyO(AUV1kdtV)PbsV}8?EN@RK z$UbJ#uwO|`6xLZwN=dx@UqEi52i2Exom5#TyP-5eX|MG5B02A@+sbZ( zF#$h>4*hg9eT!piZgIMc{x;uQR={dEwOcRug zk^N!Lu1F==k_r@qUw0Id)5le}-8N1|gi86tj`VeD)?0V8PGbUpxYn;!klXn&yJCS) zp0^@F9|tlB(*5g0a!1ooQUFg(Ph`O#;xt)!Hp%&_2`|9a=XbkAvzFoS6@pcXE+9U9 z`GhVhq^qZ+fC(mud6-?^@|oLQ-|{Bdet6JqLV2c1-y4E~<@A#k*9SZxf{Cj(=#-3I zt^;JQe9*9BAXBf$r=@zt)T*3_X^Epe zn-c6QXv_H0QCVugVXXS_a-Qa)+r!kz26kjNG)c>Y<(4t^2N)+JiNh=+<*Ittn3S~4 z?SGB$sA%%CTO9)09Y;;mr;@bJJQ~Y63GAuG_&~Q~4A7s75GJtqvQ^g#jXZhAuMh^3 ze4zXoGJiz6gSo2=wEJ@kKD6?nohekt@z4_Bprr>dN7&Rp~EV4wk9~zYkWQ3k7JE z-x8(i2)5tF?%Fc`JGS1L>=19zEwwok%ZVwW#Bus{E8HFVc|!{y*elPXC+yP`K3w+c z8;GY6qL$qc7VGUfwgWe&?TkH=>-{W`Lla!n=E#s7TjhukNu2`#-eGqQRwL6Vx;>)l zAK2MvcuAy{L(TVo+MrlXq!H~x|GS=Pvm^T3aI_2&fqvdE+K1WB+dHJKzoXbr(i5A( zb`g?fOlQN*G6ATn%t!5v9hV9q$2-nRrW)&<MvqD=2f7N9C zd;PH+1m#3QYx$Ur5KWIo$r_7ScWgf4P~aCc8zC4^LO1ve)p3}1rUXlvi%-P2&Q|Xm8Q^%A2~Aap?&T=(W0r`reZM#1xr3h>|C# zI19NKJpV426@)J|wUloIWg$$m{;%{1jil0^A*819XZY8r-_lw^_1mq}CBY9~=C)0L z>;)3CXH$}ttmw(u{JAwnvs>dRch{-fRO95ExIQp=3MiDqO3)=SW=(U&Q;zhRYkY){ zx}!*D?EhNX);{bRji{E^ihk!T-4T~k!T+{p_2M}1LsjVh<-9AGr51YRaM31r)%=#l zX=c!ozcXC>xr@8g%0|Zv{-X-*IoR?6Ia{6kezAD`stOd(9v_}Klm~jPPtDEj$t4j5 zU{0zPa>R8j&y9@z%u%6Re9Qxdu)2^)(!c{z@8(aE}; zP9vJbhnr6iC=|U*P$zepV;Tzblw81NoRdHKmn>;0v0u|ufP)Th--O#BN>nNjv6-E$ zd3^X2SPV$RypjUmMEN#I{MKc(uV~{WJcVI|zEp}c_XJ)wTy!zyjn}riK`WrDXVSzuaLbriEIlioefF0*CbETU z_qSoHR$7eNrHZwowYkXr7OSZUxfh?fY3!HgTJNa(g?rwm_n12K7INjQ%49dEX3jSF z99ygq?XNE8<#@Zm1%CLQ6j4L&R3rlBTZH`&)!lX+{hw5-D_3!F7Br&uOs<3r%-6H{ zMWWn&y6$qT7nqBn z){uBASLtFpNz#hkeSzC>&7GCwGGSkeSYp?Nzf=iq)He!wyUuZ znxX&)?z<&sHS$RiQRmwlwGUR(_FY)!b#a;f1$50?za{Y$Ux!j$d#Im|61im-FmyI% zl?k1%)bg+77Pt5;OWfHfe>A!Io|5fZ znpa9_^~2bs2NwO@HZQ-s8u+<~wL9(7Sd6D70V8v)2L41iRPv>lF>UQC1)oD3)Af@=gPj#4Y&RZBg;gyd`A}B$Suq&mDUXSA(5$eu1#xfZ#mTE zqXX}{*?R&}g3N3t3bTwiGXKd}{pCB{!-_%W77WT2P>WME5xQ*uv!$g+nV#<-80=t0 z90B<`_jM2Avx;xbzrEO#Wll@wZX>RZo2sAPn@2iwk@e5*HenR?i7WB zg;|Z@_TZ?WV0b+LCnE3D*CdBfqQTwfuJUT*I}ls#r+=if&k!y#)e>z5(>{_G-C-Gr z3{u8mUUHbLbq*Fz#n$@{=j@Zbmd{L;WT6MYuEX6-0YlPhICr-ShvS;Zl-qp8!}9hI zd8o-r^QSQP|Bfw$IkvE`q}@JNU%jJyw^|!T9e$F--8HJUFSZtoEMDAkKB(SqEOkm8 z`im{BsA7$~EnjQOBL+rWs!}%0dhExn@YGuW*uJG0#mBA^q~f0GYd~zDg=SCZq^`?t zW!~`xigA;Dr6j=bG6j0a=Hlq}gbnd*XJr`WA}lS9tjWP9yhiMRV81wxiR&wrxLP1v z7S`=%G*aPb@5MMoLQX0l)wmY;#p$+vRN4` z6>$uZ?r;2*mrk9`9g1b0U$x?`uFkIxSIPXFkOBV3v`bO-+xOvEF4i>t;Tr4yi%=}t zqMCkt`ysGAzp~~-`q`F4+8$%jM^gQScSb~!4}xQ<3*Nkd+aKmyU9$X$O3>5f2~b+w z5JEpYUr^_kpKft=Lox^(^&|vAZ~YHhHO05~)6EzKLYqN!3w92xAK+Gz!+;qVJ>T?H z(mWi+xkR+oo@e~b&{;lL1{I-^(4yRAX-UtL#7h={TLy*2HpZ=Tu$G&~c5Guh>d?-1 zk0VySk0x{59L@I*=IGBxxtveifPV`O>U=J#!vv6S+wM|ja^mV~s>0n7J7h)-LtaoC zI$U|+9oE@Dy-4HPj2kZL$`m|8e)}QN_4o zTWZ(l~YoDcT}= z*m`7iDKR;$wS6C;{2gx?x8&*K2|*EiRP7N*Dz?=A2`r9#kS>AH*r<}0DY2X=&>0*j ztz#T~e5lj@I99i|*JSgPc=Jqgzhz(*Q_q@ey#-qKH2|pEW1lk@0cz=G#1fFAtuk+K z=!SuaO(}MpGyYgvPlodmk-p{Reg7KR0hU-oqG}W6lF^v0;93((xpVW1nVXwI>@J3{ z(HmR71T`{JE(MDWVeVY6pZ!Z4o=7^zY7^yh!@<)q%L}qnAQ#50yl^!PsRuSc0MZP} zurWIJw(vOR@Ab6fEpO1VmoH3%LJDl`7Mx4QqIoQf?ZDi!kC^~Mr^(C)#>$IZf#Y_G zOH@gFd&%uuWX&3tv{Z;-*tAsxyE``(_+r(}ZQfx;9`6R1 z>-1vov>(WHU?9)uW|m3`iyt>lxWv9r2o+G5z5|6_;Gi-KsvUf$-4Rvo6wK_X0^8Lu zI3(;}Q~_9Y*S`17Y$y24X?z_p+5K?2y1pl^F2Mbct@hY{o#t227LU<9TYH-o2=ndE zM}hgaleS116f5^s2`3r@2TIg!V|# zub;oPY9pSWla#_yquftZHevEVJ==<9y;Ha~N(C3|*`bW|u2FtTW9r@`XVr(UXt4!t@*!f<080wdJy)OXHr&@ zakS+^44$#Md8PpEFS(LnrL367@kg(&IF1L<;PicoD3~QKkxe48bJnR}ARV`}Z1+<8 zALwV;Bu;FI)-?<&)pjz#GxP{7cM6Mf9dXLPu965TzPTV^?kK7x(-G9_>t!?jKT2~L zlD?{>SoQ(BF8X6J&k;$Mr5feJJGYgxU(F{9^h@{)Y(c8lbPe9L=F5BrP0Ls0kFCn%V~jkAvnc2oNzZE`9p*twqPbGx8U)k1i@ z9k0F*DqE6>(I;3Ej8ejc?K&-A!~BS@zf6r-l2Hhb*RAU|!po`Ze)#?sDYHC|+|@n) z`1R^S%wgj?pa}0k0;0Zc$A>(GV1%tD-yfP2k2OR87Km1hE9h>A`1J!>Ad=yDtRfnJ zsUk-_Jw=_JT-JUt6IPJhX1X$07KAQb2OgY6wmKvlIbskIuDcT|!Zr$omp7`ScVK-h zw1swTN#qc=Lf~WU^4Pb!xVAVST2}g|R(AcWf@;lfG#(VS>&H}6;e`3;7Sv17LJ5y~ zO2(p9`r9C=!HGSJt9H`}wuZjUT??qg5!*kPhCa;hy#$8|S)CQ|j;#;uYPV%@3>F;G zr1TB5^EsT-_8A%!vYUUjr>c!t|ZL6+(PpRRERhlm)QYwEk8`w%?9tRJ=KP zweF_dz6BTLZV5oi6z7ss?`<}%^HBIK&K^oIFS9L^oOD`2>F}Xd07kw3EwiQ@#%yJpR0`hh=Xmm>+Y0z#aTw3d0Aa@Q2rJccQ}sNSP2E#efmPsM@*3if_h0}OTtI3c17I3+!Bo; z;!T5R$B|;K6^xXky|`66t~9*f+=y{B7R(3au}J#lXar<3_|VH}z2;>P^WF zsy#UbkjFyx(6zdm4;q4=Mo-0SY5Ki4D1ep#U2URYa`ii$2_9GLkRBZ;YLRQtHXsYK zOQ(s+f}x+DQKtMFhiN#Bq2E$lf%M0rS;z(+c#4!qU+zA@F*-624GP0nGy+81LB*G-tOA^ic$b%<-#l||5}X>9}(m+T%e!Z`t3 z{+5}AyYm@Vz@!FDq0gVZ?<{oQ#U2fyKDp`)MmlxEuQL`%P1m&8Z`;XeXCEWtAA(k|ZKLz*bEywFgMLhJt>dj1~ZO&OO^k zr*0gp)^^Xx+}^9{Lqw)^3@s0-? zcbmg!RY~jhD8ypP=$&{KZ_;=`?||Y^AAuzVTHtEI3lFKi3$s({d-;T8!h&dWvq8=_ z78%vIjNQOzMdnCU+!s{H_;iM)=#tChkXh0-JIUvvGgtAaSuh- zB~P~(ybo;$zA`M!%QTUUmX`o>(U)4r>`$iJ_A4De_-Qwy$of%I;)W`Jnj#h5eiG^4 zH+=T2MXW5De6sils(KpI3|cL_e=8&2X-w@roYw9w;eN860RcyM)0X}$6o}IQx z-$C(I8|4W)xSMNXTyr*vq?r30wJDYwbqTaf@GkCPvn)~$xg0)-j)#f-%4q7c5$DEY z(^pKbZiMd9{>=+pxi7sn#StIcd7}o8EC>tzccX1}lnKf{Nx2(AVgaDdxRQ<7?9^h& zkQZvQPs%^#Cw_cN(?x923Iz9(ZKvb@3-&M2p^6pW;$J@WVm3Ufi#&K}!yl$I9K50u zL+w*7M-lZ}Dae<2rX<^C#4ol~V^dJ<&TB+UptXWmD={`C)jDPPOc}2Gr)B!Ki1y}b z^bW1Vy+ps12IyuRoMlh7CTuYB*fYu9*%Ua_z2!@C>hps{D_M zBs(bTifNTF+Adz2BY-=7gC-P6cxi2Nu&kgC@4ciJtgi4=3Kft8-B#qeA5^>!H2`YN zV(-^_@RSWATd}V90{$IO=rM01UW)3RRekU*YYEBE#iHuB8PP~uW z0*-!64e^}%N7b#EB25PCk|o1Kbz%DW&_%2aO2g_$s+H_}Ds?R4^ zyaVb>k?vrb#A^PivbcesX@+X&0~p;H25E%czAI=snpGa1p7}o4boH&qNyBa`#Pyqs z9nnRyl!c|-Lj7=qQ!M6?t-AX(-c`%p*Yr#Pk<&HNm{5qZPE@O#@(G$yEKwpsym~EB5SD|Day3%n;oR zcSa7^hSw{@{p4<`o-|f>ya>!o73VQ zuDbj9sz6D9OvVi593n|V2X2O-5A~|$Q@uuE1^%vvqa{UzHJ7K{GWH>2@{k*nCr(S1 zt=KE*f3&7^Kl(;}*1prPqUba>WHYi2&^N2TYf!~WqTO3 zjuF@%JA;9-Ii$p7^ngWD%wuCf!knz8_h`_Ti(x>Od*vZpsNq4Sl;4u%_AQ5 zVuF+3S!%jSWNh6{U8Jh@*}t<8!GvRE?G~0byE?VYiEr*6s!8r7Q*w409r+<9aRSHl zd5MtczCotL0aNkm)Esg3^dm$d3W#PX2my?M z2=RC(FCF+-n6mF*4S}MI^0JC-`Q|PlpRu}IOqiV~W-*RC14Y^X7lQInZG!0B$l5LF z>+5S%9PzcmwOkP2@zx6uZ3B)M#J^fP9($OD{jtkv$klRPoj;Eq##jwuJ)7(S-|@uy ztp?o^fbnIO5_%_`@zX~ER6IXrH&8XhpZ&?!d2i)~?N>m1Txp%jV_yG#%wzdhgLFBY z4s+Drqsu0DFG*rk>^C>fq^ktJHS`b{O($lbdsJw9pPYWh6STb=luLv!hvf)c;M3k+ zH-+DQaIZg9ovrz$E(0ZY-m3KtbQk3u;P?b- z;mdvKl#5loxV4wvi4!aGS^KR6wj~v^Wed|*p~k4?!~1! zW(A5Wfp4f)u&me(adI$D9Bg56EUgODQFkK!S!ILuv23~)R^rh#=_&k{DY!r$&r?u_ zMvF0Po3#9V@qp1h)XJ3K#@uF2qFc*}WkR-IJn1^x&+{oouK0ScT0eR7(wj2%VJh>< z{(&8%qB(&C3yhwjy%89AQ+;XoF~F`bD_7!q4i}kxUmc1G%X2R7($OlGIa?ntxTNok zeGeNnCdV10J%W(+Q%+PykY0|xLt6SP44%$`KUccfxnNq|VWLs1RLWCZDs)vc7=>kg zWMv0biYF5{YsvUX%J=WkdixS4mjF6^cSQ5w?m5Q`VC+3*VNdaLRj-_O#c5Jltj7-- ztIv8MB8iM%Vgg=F@U!(;@IIb;AnK5roH=p~f^rAa$8g-y2~_2cn_Th$lom!_DX>
    _;v=+aiBq= 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

    qzBVKL0f0B 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�nsUB9xhzG00|Y;#%Mkj^}O^0GJf=7w@S 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

    gIas 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Ξ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%0DF1z-S8#!Tt_#b?Ij9!$+%0kauX!Sk=~q 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�em8Y>hn{3^abhr4k+lcc9q(>W)m#BQps67tq6;f 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�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 z

    w{8=o!^Kvd=>S3l8LStm9T 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

    qQ}0n>W@TRoN3{l?+To8-A< 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 fv!$2p64F_O_7O>uNG_zmv1vCBt8 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%0D3XjwlZG$cApl(4&&=qMy@KR3n* zVjg5q)5tSLF_W1!7Dc}QL-kc>xNxDtx(^)tQwuc%0JOB?srq8n3`hmoF!y+b9`%>`u<01Y`z3MZvJ|fbLJr4a^Vibr5xA zY$;;Z-j78RccJD-bJvRx7}>2w`Hq;=a<(Sfz5q!c48wJr|RG`p$2uE_JoocKFrLAmks32s(pO8i;;_Sw^HC`qF`3>FK{ zyP%!m1ue@OAQsPHsZlLvku*G9m0OC} zj*?vaw8*-`cPYbd1f*)Y_<9DG9rdxz9zqw9Z!|uYw25Lf(3T+f1AlT?BGIg(JyQWJ z&*OEGqkc!0=ec&INZw^E1y+PPr$mKI0=fi6Bk%u%V#-;zc%ro+~ z0?PE6O#o6rt-n%$9Bw_9h%c4F!A>iLgEHDpUA#ZM_7gW*3Y}BTMBgE``RaW6n3UX< zP)Jy;Oiwp35;*PYRAOld8qY|s;=?6TR9G^@2L2>lc{sz>Bg1wCAYy^rr#TUV#VQ7t z*85=({LbbR@m`;@kMp%Jj+AI8tdkJ?2a?W>4wnqGgnxeNhj?JaLO46w(bXNqLDWao z0WsvWUZ{<3gLHLOCS{_mvbdaY)LMiRKq-a%@7EBCkmi%}^7_)@l~pClS4Yw+4jVR6 zm8L8~KkqJE>iDHX=m*cg?fHyB^lryD>&kfyrTxY79Jf zqCv&VxC5Pvn{*SG$hWS5vS6j&G0p1noa`B?s2wjRz|+&ASuzoF_jv(KH0BY4lVt@7 zo%ik>VM>4TQb!!~Rq>jw5!x>;7?ZDREoI!F`JZpcS8k)LH|KuskCgjy`UXo;P<&ch z0bK{Chv*mnDwiS0gIn~lh{;ZF#Kd~R=2LhpGnAuEHKC+*SV+qr8{dj(>lk9Y3g&a} z?B|mKe#M^dkn*_Z&QWe(n`kMJ@mG~?fLB#fgyrxoox~?}xWdFt^5Uvouvs8BTKydy z-yzMd=-CGeEUU=p(YA%22S00@$uw>C@G(1egc{^pPZPuJgT!I6A^Fsy8~M?MFZ04&@y0%IS@$WCQM+ z5{~5${h3QYaSj9XI?a1nUBCfTZAsj1j-(rZyY3L3mA3D2+e3Sczvc*caC1fD1jjn` zm~KWP)U%k_0?0-Iqac+eB)?zb*zm5=ych^d3pRa9R`juqO>%OE2;TE#|@mz$KG@;1I zedaZYO6A(Q9j)@ythoM96PrbQ;USP@$}z z7RV~$?)xmeP_VB$ss(1ufF`PQgyObX2)x5OXIP%86Y_a7;BYEfJ_G?zmED8}&PZ`t zYI}u!=*pT2AB}i?oR+uyr(W0-)O>AiZqg%F@4h6KrkWM7ZidDJ`ZX453k1Usb>s4o z`ns$rnRh&O<|7g{^pr(6uDM-}aA)XL?Hdo(Nw=lbSwJph^Cpscm`4;9l_9vjsS zsV~$>t!Sz!K+FCWjAK;u7E^g&F~=uuw;uRVv6gqG(?uxtfc9%=y!@!T-mwiFZ5{+i zJX4gd<8`_YVW~h6=#Z_8{jf_x#{b;UN60DE`ABj-8=MBu&Z@>A4do}Mk*Ej5(L04p zMcYxS6`2_p=`7R4nSiOlwpjC7R0$Q>0Of*N*rYLIe2tVqR9COC>YN@mpNlYd8MD3x zgXYxb*wST^z%J>LgT3ixYv-Ar|8tFH=b7h^H3(r?xp~grHT*`(GqJ~o?Io`1xM=(S z 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

  • Tfdaev6jv-1@~_ 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�$4tqH}cQSv+y&NfiZlq~pqP&a*sZUBmbF*@F zNp8Uj$E2ctg|nk5-a*A?`3wr>hk6>&f<1APw`jLr0F+S?>ST`nJ`wD7HRM*PJ0_n) zJx`y|ZUxq-6f&vA>D9(DLcjVTbY~>tUNv$V-s~e&;(mU1&?s+gHwt2-VR*+8UdJaK zN{JMhk`RKl?SMILq##2%;LjpA)M80Wwz`jo+QFwVlnmLoY-2e14yD)rC1BlWZeeh2 zLoKaO`eaQB+$#+q1ngcNH_SAUjfBbL$W`R!q269M3JmoV?-Id94l3WsZXqF^82V3B zTPNJ?a04Ee+3{itN1k47Q8}-UD13(#BC2QbCeZ|P=_EKfpk)(CaO1K)T%a`UD@_q# z6IF0dNK8=O)s)9L*HF}suXV0MtNk_Ba0?mx>=omUEjbL=q%|qvMsY1nzC8C2VbXnh zp?feTUOzV8?FqHkFOoJ?N>ob|t4olnmWK_;hOhVJ7!1I_RFG~G&)ZU7OE9Hv+XOhmPkvXvJi`G!v911eOfyvNQmU>urjTKMxg}O4SE{p}XKRjL( zT5nH+NeM+@b;Gb3t}*5y#tnwUK9;?p0*^$RB6~B~UG8!lTHW~fTk2bp>j$Q$Aq-SOU3GIVe9W!HB zfdoO={&EMBs20yNvIYI8cC5dpixpoOQJq1ZJVe?Yco3;`lY3obs)7(U$tS6&%~yg> z9g_GT-v~^ZAGl>B-r}Q5LG5Vcl;coClI`vh(=ZKV1hq`3;~h}M6EsTwwpJKPYy3*q z)c<6N;h9;&fNrE4cEUbcDrZO|jU{gZSo3Mn6G25HfJ_Mpq#gg~FbU^6o2PqwUN9=7fT{lLdSG54#3S*FSr^1Jd&3j47WF{NMpNL z4-MF4HBE4X&o8Q3MA4s$K!NB+&ju{u^|klDi~)$KX4r%n=8Wk|c~ept3e@+u2Nr;r zpQ}8)KK6hLEi4SqAXEMj6>!Gh&8dir`*f(g@GIp6cKKv>i|J^e zK_@Jq!K8#rl3V1HwU>{tf#Dawah5|X!F1(pGRI)ta*R!7;Y1okjqMG_XkYD1`-mZ2&=%m+yYbkmKIIUz_IekEW1R$ZRF_6G#+G;!?J%2wv-DPhO(P)m3F$ zM}S1AS%u-K%FO0+>nCRTTZYH7l~3zBAkn|y9bt9l%d;C$9!UaQ3(6LPEw*JqnY4r; zkdEoHRHmH$Cs#hiY420L)z7(Y1QRt}uqRgpi988(OTK~o+nA87u4u)E-`tDnNtx5w zh!1h1-Sp*8_N@l(dxzA^HhE5NzLwrtL9Om)y_0?nR>Qb$kdL&Ibj`1*LdN*+kl@D$ zqg!!=)a5DGBzJ&Iek?de?g{9I60gf{ZwxM6YJ!ILnX*AJbXIG-Rf<)S?^r@D`8>7{ zJ3dq_lQ|&0qZB?|c62Raw`5c^t{>Yw*BqCQs0EF@^)89*Eijrv7L#WyhAJfERmttGp&F(xjDI)T9npf)>gT9UHM5^ zZai#EJ&oLWE2o{)*XK?gafbzCa)Y%#zOE%a;oVdc^TBZ;Zpdd`E-a6%ez6-Ah;TBj z--Q79xV02Z|ITA1vQFNpRBY2;IOLUvuT=x)m4v7gQz9eeit66}a^GsUzp7?Es1S5m zm+y&`$2|6IJm!#eoX%*V^UG6s@SwJDhr*_^b zz_ixtAi%}9GkD**!Tq7_@?4XGKXMA$WU?fY9JrFW?0h){D69^?y-g-Z3);8rmQ65+ zfe!kRyERoa{gE&u7}Y<;H7+<$ea=rzi=Llo;zpC*nNw8Qs6L&l2skN^@4yV)g-5DVtLwon zD7#p8J&`H+9w#ZDe%}UBlA)#T1=-hZ;A9No^G_(aD@&7ugR5(MRHkkSqJ4guP-3xY zxBd}v<{Lwd;0dR-X_7bF{c*DwG5$znaRVTiM1P^J^Q##Q7fKpD=ULO-?F}A z33A(c9-lZVmX_^jjg?Z_L`ph_dJx1Yr~X%_LYHawwEy1H_OpnuB#pnGOuzlZfAU%~ z5(#p^=}Md;DM(1q=~b&#tc%;oEO@zM6lDmcD6)NbDWieSA^Y#}`aB}2lURXTzf7_1 zTIl~Y!E%MbJq?wpw4sFG8n(o84EI zN~Wwf4gqOliWB&TAXq;3PlXQ8EwkQH1r6`Kek*R?R+7Bm`6r9DrI8!>BLHH+y`p&Qe!(bX?N@- zJ|$BXOP~0QG>Om6k~o1Z$sGuSlSDiHE~dna7^@y%&j}@&)p|7baFMFzlDY5~{8oWo z{SXEE??|L3tP?J>U3S1`itWLJUR{i>5qjK7*#sBib(o2rKrYJuWqcPw#kDI2W&1m) zESO(57uN*>NEcvExeN!vX&ELFm-V#j2LFc!7;oJ z3`y!C7CI-V$w0rD%*j8wSaM8OP)JE}xdxdV`ty`XH?(8rv}KKG z9Q8|~K;Z1KrqH4ha3Vjxonw-ClEd5K7ET#Mo|5UMLUQLoU27Fh-g4b zNYic94-Qx4E(It`0_O%!<#ISKdHPhh-Tau)du? zghwAjtnZKlEp^Q|n&j|{B828gR|y`~&9Ez~V`jW?AO@JnC3_MB1iO9s5+80O8x8e^C`b zayE5Ax@FqGFB7kjCu!HJivzWfDphjtNY?(AV!RE&!YRD6iabrjAu=2#vQe^DtTe7P zxn{i5-m51wxU^F}lK><#FD=3DpA-Q7i#@#3@vVoerYWa**)KM5GLqiKK`=?FO}5!% zk`c2KBbA>Fr@zvWqKQu|SdzGbBv7`PVnTA|uIRvenPkFcIxf%xtB`MJ3Hkhr8<0JuBK8iq7*8ESa@`9*l&F zPxF^!kz(2Vb0S?sCiNCbeBjmFu7V9^k_W^B!evwiBe6emVKr=f0E*qzL%jp4{T!Vg z=8ChUIoiQWK_mW-0Tc-n4p$pkWp|Rq0cAw<6yCryd|QF`V(te$s+Ist&)Ca%)xBhb zjl^xe(%;ee@fDIZU45aA5O*p-nUW-`_&cK53|yj1UaZ~{ui*kaU~2Ijv!Vnc0Uxp- z>tedH?V2d5=w(hK(!S}Z!Dw^~?{{3W61c>bl={eMp2ADP4M;WWz8_?Wav9sTB4Om3 zPc3;LAm^Wp6$uU(RQL%diZ<~j!3QLJcf5#_zfIYe7w|>f9J@K?^{_tFg!cdLMhNEW zoX7h79n29|iMW!u*ssYsk?;0QZZgZvmN+3vR)p@|_wC<;iqP%?Qw)ziklNtV?`+9^L>8$zrjhwl8N{378yxD_xu_1|K`V13A5aT9`*LJre-q=ERK81>Fk2T}08pjHA8bDsZ`% zVO>#SHsRz;j-IOxFUvfAIy+xv^zWj*eh#LXsa3 zwIy)QN=^1UD@(8TLAr_!)9CgWf5XZY-_cK1=mgf}rMGdDKvWqkqRQ{!?ZM7`)IK+A z&&k%PA?I)yOXmc=_YDnDMDf73zkG4l!}n_cWL&Pv>*!?LXPt-HC{<6Vvv2rXlFv$6 zwot#npXX0lajL?7GU;nkA51QhBm$1RFsf-YxxALh3EBpFt;jfBgi?4ZD_dUC?7_Rc z%Tm_FG`sBf5l8d0Adi@$CJ=$L75N~S z6HKX9fd)63QBG>Vuelkl3sQ={ac3`Pbqa&dJP2P%&&Q{akz!iJnpe+gxgNLrs^5{4Ccs8LXz8SZ7&`y34yu zIAE@z?apI@%~4-JZPhQZS!+K=V&N29EG@#Ow`#`})k6Pu%u6V-oNHUd=xU4}z|%~< zQINvv$6+Rlt$*&y+n6=X?x3L|PeoM3T$T&nma_hWi^AIsThkkA0Vo0DKM5d=tnZ5|DM@I67yE-&^ zKu#pvM*sx;O`g2PL^s$SE!_hTnW+%QnEPP)@<&6bSb{orl^^S1K*16u)m&lOdCqtW4DjdtR&7O?f| zKcL^O^YW^nX<^A~Ka!1GFSjXqN7sY93-Bai(@Oj)k&nffT9eNcj_ON7QGqJ6`He=e zUI$CN*f0-25%rLC9{G)0#WBhr=>=Bb?aF{M>n}<#`O5mYDot$0(#kD~zm5v4%zSj8 zgLrDu5|rFa1WHwfBlk)Yb8(7QJL<(rwlns5My{$HLKmH*_AZW9Iq11Q)+mZ4Kmk|L z#&TxpGxEHwnp?^-%ze>9)SMp0e}D8TTIS2O@blv1g6qf4Sx43)66!%Fvdz*PC zMRc|ttx@&;@Pcr{o=9|ARv_^(hF1_dTQ@ljc^;vVdQ~BX?06IX$ zzhm1hRS?IYRAjLd#&PGqy#_0a0eJfy4D7*Ho>Fei)JbpCA6ia9|rD!J?O_bXMk z_W2sKe#0{{K~4};Te1ZAj9RnnpSMI_vvqtyYWgr?$5&|WONr1(<ItpEa?nbv zQV`-FheH}B?x7}CkZLeb%qdTs)E`?cq&^ILBA))Jx&&3V;~hS{Ce!1xryFE8$A@ZC zSbU?(blgBQObXri=p9KP&5K&OFj?}Q2gemq+e1|h$bUQMY0}Mf)aTNRtjLp+`U>&* zS`2i76cqxl>+#te5L?`N`z;*kWd??0Ea`29Q*otDl2@w7hbt}B3bwST0S9Ty?3y@H zaepr{wbom%U8`!E*pgl(cl8gB6hpl)`85>sJKvf*pn^~6?w8~X*UB5C;MC9 zLG?i|G)k;<9XUyQo7&@b#;}Gvrc5>iH+HEtDPliqv%T}0lwDehGW*c?C!DzNAX8#@ ze>x^&r6e-qd#T5kNY)$WWx~O*RJYd?s+iBLt0EM`mf|NN^=Qt1fMhI;{kiE+g9|EP z#0KGTK@;QJ64sUbC^5kJZD6^(K*-us7A^-~DsbD^_5;SR_m1xBUmi&ub0bgBbO#ii zrVs*V^lg;Q>c*8!fM}VJZ3XW+#xN&D?k_q_1k~y(1tdyk`&*_=M!GJHkDQ^rRjH38 zC~o^ttbN>O3q<_t8==B4=XCqBV#u<52;|+7#cf=du*)_vWyw#?XB{bWXS(f*H7a_!2#C@OYFslrRXx zrk}+nH9aytmk4t|3iUmZzAdb`n8}@y6_9P0iFs<>m5_u?@t(&hA;FPaDxZv(20!8SuRoB4GrzhaJhf(T zzhJd-mzWKEn#2V$*qbOOSXoCOz@ac(J~ThrdbZE#`b9VN`1-q3F^*(xIvw-+QW9y& z0#oX0EK5-zjnaQ$Fkl!cz$p7;?s0bB$a{Dh(bS&B#j{i{S-nkJTYcEFg6rL2q$R^+ ztEHB94Zh_13$s_h9CxgR6ZyK}3t$McpU|S}72guYC=;Y_w>Z+$V;tF@Au1EL8Kf5S z`=`6=7C#hsghxT?BM%Tx z?I&AFm-)_`#B47q-WoFcAG)l0CE4!38L9ZPn3KeHZOL7=oow{h@7xX4>1V!khZNtw z*p@E_@hlIJ@whcaaTpWB$7L{4&{9g|7^s%jr8QgHW-#!~7~jG4t(-WQD54(wDE=0p zu-Lbb;c8*WZQ81#*)vnKJ3+jp)k^lE7mJD{JrGr7>AAgRV<<0S!{yw6JG!B0*}JmC_YAE=6~5Z94N^+Z&3Uv z*E~F6T%1-WNkM}(9-q_ z5Yqmtok`Vr2}nsF2EqP`E0VT2mtZ6}gAsB(d~woBr`=zba<-=g8TLN;AcW~n5bpr& zcNh@Eg5h7jGm`u%X?KT1JUzvLuoNoiG2PlA39L@((~1W${7Bgqi3n5Cr^tOj5d~3u z5aBC)u%mT*+x<$yqYH}IrWmp!mN=)DQj`w+2v&{w(=wXjYF0sfN7bvO^A-mjor3l(RQhLv9qb zNu}1nC$hew6#3{*m zrpn}JsF^S>eV%ANq)@eeq@f6E92^JNB}sK&m{THBYk zXUUZ?)=mr3WoH2NP2B0>^`b3kmQr`WyePpl*D+RLEUZ%i7w>F_bxw`G#ORNt7ki?d z^+iVO@q`k@b;ZnN&d}y4qum-B2%*%0Oe}dp#{``<`)8_2Y%qvZbAsGsQsg`dj|-$_ z5S*?srreYJfFzBr>yeJ&*jmVb#Tnm~i|#4e+R3Jlxj)B)xth6XzvJjLT)9)e_VR!f zR+k`@Ytv#M zAN2U~SIeNnEx833+-*3*N^-z*)J*zj;~fhWG{pkda%N4o8)*lu7_6tk0V>QFY$>Zk z?sUL(C1l%bqXXa#Xm}2O3?mfJe#a9cu%{bd%2~MG9{WSQ&{@YNJJHfwQr=C_Y{59r zYicT&`fjRrq|*Tv{wlBBq1{L77ckgb*Opn#zun;bO49l^QKZb#!MtebI9a03*&MlT^DMt^-E{9hsC9$ zu$0Cn9Q9O|5>yy^udLq@d{XW;0!4X>iIwqMccufQ^w zTxNnunl9H%Z$}%}k5TT0MX9Y}c1>@%;HMi~dVnnx7Rp-%_=jZo>1fD*62;ryxevi& zANd@RcaLFjXUU!MFOSpVvlk2%SvKEqY%S)&`GGZ0mVmu=A%dV;4TU=v>-abCd%ZMgdm z20ogC5oJfKW#bQ{Z;~EB5x92zFl2;~s~OjSMI}HA-2IjXis;a$3d^lnvHlLJ_Vg|0 zrIc=Ma}71)z_k3<*WjF^GQ&9&D{U_c@!m=DzPUVwC;hCy71Mo|l)*QYyWIS}RXSi)JOij%8Y==q zz@uf(VwqV=v{m6p#_krrU*k8t<2ri^hjR&Lb1c!t(oIV^B*zdEQA_h{u3+hBMBYx5w-4*_g3A^ zjBs-hCTmXPP~~G6Q^7r03xE&XGRAgdtz<47uZ1O#TlDmaf_im*2re9;dV;n%3P{uL zh!4p^j{@5g7rpIzL{NTk+Uo%o>PSYqXjXpbf>1;7hePIkNdR${eBaUGX0PbRAzkXlh+;NZ^>ibvVQ{R(s5XC4L3?bapQj@<$cBR#;h#H0G9S7NjL)SF zyzOcV(1a`8?!Ulz=$X18Y_MpUz2iB1W)kfZS9o_d6D;=GP9h9<8Vy_s-qQ`4iVEhr z;biHtnUf#c{l^iy2Qt2TQ7(VawFq?gvr&eOCUJnga4zvIeU;TvPAtHS?cjGU4qKRX8Fp7^<{NAVJu{KldqhYZF7~{xwfIu+15joCuew1DhI2I1$7$ zHe-GN=jIlEfW98|c>uU$2k92lcyfpIE&jT9^+0kjahpvgz5$2rP5+1ue(ItRiv_bw zn;t^eIq4a3dSKm)gP-6@i^9C5aIMw(32r2%`=dO;_-KJxOZj?wT#IE0XW7k8m`_=#~$toN{TbvG85=y%^^FA1_m3`S9 z4a<K+gac0jupnC+=GI?H& z9%03CVT=Kstf9oPKb%*L_;@fn7sh`0wFlb*G!5_tcm#lKb4K?oIPJg`9En`K0QaZA zVKW<)yX+DevN;Nj4pR%NS-h6-la>q`Hk%{KMUV5L#x|nq*NRw||D&7_WzZsyel=rJ zH?)nca?S-koMj)qw3@6J^Y`4KhJQb^xma4Ql8rtZn|s+DG1b3_R_(dZ3JSE&v8n$t zZPiq(!Zgty<;neE43l>>BbCQ4_H6?ds{G|-Br>J3T_W3XS2ZrXJgFyWJ75@W)gI8eTI6AgU)8xk z)gOvcs3RM`w;n^}zvtefF`WzpSi~3|QwfZfta%eeeJ|h5fx_vTy!lwx=fC(-rq-S0 zG>Rf^Gc%&u_K*NpA+0sec#>v`0|Yfpaf@{dDHd7x7sOM6jbC{BTUHpu8+|f$0+4}yuub%FYOuy(|rCKPH>J&GA@o2>y1T^gW6PzyQ>a| z``m2Mdoob};)3=_j-Hi7z{JESI{>AC51XLM1YL1o4DOlRT*a_eEF;f6on_FV+otJH z#5OVg^L_Q(q#0P2efeq{ZKsAj0BzE-mj=Zu91BI%eY?bJSfnc;_e6Gh1|SiS{7#=Z z{TAEEm~Ep;Hui!%tcpImY3*FKdH5n_&)Cia56y4y=`%rwnS;_hoYcRz{I3L#Mz~*O z^@~5SZg9C5#wqo8b`Vw)Z~KLby>}A>1B#|m%!HJVy>H!pU%!qtUnAf*28?HCfO18c@ss)s;SL@AyLrlHR3|i4RwiM%+PXkn`tbAjh z<7Q%v?}(0m<>lPzX$Bg;CBtL7nbhLOvgZmh+_40n-Fz@35@wJcKGE$P*PvKN{Vn&( zAg;-SeiNC%hBleM%V>`c6YFN|5PoNKfiy&N-t~FN?)q!9qF_cW%)#$t>QrM}y&Zr` zo@J&alMVYGYooOp@2)_vc_Qb(+NLJqg~G@u8LfrUQ={0H=-c@{xKH76G*6InSv*Bp zPEN!u^M{0nmT?>+dps*90?_lCudOk7N0di)y!#nmy0h94<<+l_(ID7eGmF=LcWy6v zT&JsN2LL`Uq}w=X-xHk{RR6FV%MvP(k790({1#t^j0knD+Li%0$~<1hBp4`h_gxj1 zVVi?(6Arjn`t=>|k&T+WbmL+7T5OI7cR5Y2O48Z3J=xLsy{${be`h+V1-_8YCgSIz zt=|`NSn-UKTjrG%Qn$giu+v&1X*mHX5P&}< zN0IBVRsPvOwPs|=LBxpkTqm5j~n zPq$p5lFG2Cd@_qFq4-5cz2LClCV*Jlo_bbPuZYq<@`3P$z$d-Ol&B~5YwoQ8hg}8H zOhJcm=!Z+s22g18(m$BW*3!Y{PiiF!eD9Ozq`<;R3{C!oS-e34B3O#+iYpFWxY{SF zX6m1%7p^b++N{58eml;8R4x8VQEx%@@}%)D*&jM(lv&E<65BOfz&^#MbdE^j_#n@> zIx*NSZ71vFAN8ADv@3VQl3RHE#y+ z2(>{yKLp!)Y~urL{7Wu)@7wB+1Ze0J2toI~QfS723!^8=DPWn4Ba3DLDN!EIPY9O6 z3jL;05YVpjLU=&Fck!Bvg=`ti;yVNYe4*dhbdx5_fMkAct_=gZSRNSfudl^4zCN;f zy&3GlfU`4&e14OQXwl2(d6Rz#4o5)>L1dLPhd?Y~u2~Tq&9=2(rFU z7nw5RgU^L3n0Pkty28fY-MGcUv~g(tclSRCJuRT|$tjI9kt++7M5dtps8L+}_jjw3 zIarw}munIuac|c?tAAP?f@DGt2fh#4nw472U;FmGzgKtzm(txY)8@vOyu-BLs?a>IpX)rD$L_IgX}`upGU2gwR+mT|P(uV@T%eC$cEF{WVWf=(2g9j^=o4gr2ND&Gn51 zQ)Ht=X>80LV4H*SXgkiA0t)|;;c7A%XD@Hij7RF<}`7Q|CoK zaz!&r$Ld%NOY$-&Ed{skslik8iPptK#0qB(qu&2S(^IDSm@074)9BL-#%8R4%+Ecs zUYeb@Y^H1-R&)2|ez|B^ZZ>W$SCSI%ua#PlXN;R#B8IN&?4v*C*ok|jPbO|14J7tm z_^mN`rbiJ7tYhPPF<>hC`cUhwt&(=|ZAbGRUFsRUaWWZ_PD9ik=7LYyrDC;Y!Fn0F z%N!e@u&o00a<23G{lYP0|1g?hZd5l3V&vX&@#UK0eVnZ&k1lcIpZ!L8L8p(WnpIO7H@3oD`#JtO#cL2jj=)-25V_L z<bh3fRljta)HQn~?^h$@N@(cu$RZ#*<>O0{hMfr!`YB;u@(< z;-C)TKn9I>XKN|=TejrGTVomTOO)^UPUgfjuDWK784x3~5&a*Vi&}OwWNam`RzL7` z(u$`AZ~s&R2^Hww#Uu~7ZMBtirlim!(Sr5ZZUFQ>mES|lY7r)nbPooxu8%@Ge%b7& zU_Z|~`;kMl#8umyAWU?|O*wEEH@Ab`9gnACaNbiAQzU3#t@4FL4i%dqDcR&{-6 zbK&$3D2%5Q`eWoNEJ@zeQ- z+uDfm>Je&aezKObT#~&&yf!OPe*G?2IP!N7c>zWGn)1t2{p9-aHpA2crt*2iPf&LcigXV3W8#5g z5Q6L32m#NXyD^EPnHXG+75!(+y|~_PlYDyysfeE+V_!v*LXSi+6;z^Z#!H2X^oPlt zCh6qeZn*-|!BF?Lq=Il_m;zD0W(LqgsC+2xvHgnscr?uvlkK(PTR}`9S$r?h|G-$w zCgin&XAt3r^ctAtg;U1f=H+i%^C((-*Y~PX@r98P8s!ISIwN_uw0e=QR zyBNaPc9nICVcaD%=ce>vPp#j7M>I}2^v$GU>SDimv@Mkr9_m+#Hlq2K!01Mt&+LNa zVeE_CEX3;KMI{wh+x`87)?cRFG9j}Wixh*uMLV*d*>iKV`r0$b#lcFaJ^5^82fl4L z^vUq!LrlHL)8}FV3a6C5EK}D~@3yrirvNDPbX=peTSR6gSmc}kTRvjLI!ipX<7@A! zSjLyvxSLUPmfgfVfEFHM;m`!ki=va64{&1lf{#KY;)lyje)4iNVCh*)urHId5nt)? zwKTp0Eh$^}ZEb~%?2ny$l!cvv@hdp*^A)Ug@Sa|`z; zm9nTjfgFcBJ8ytL={wcLY77GvivG==_4O_L19hMJW0S~<6849Mb`Pu9E613!xNdBK zlN1-tuqeUyYf0vTnPGHSOo);*rYt8**Dy$j#C1L@@_g05V-!(`^7*;VidWXKad=lB zO6K4&pFy*D-Ui>%K<>Jn;TD+B&YtJQmGH8B_l{xD`n2g!OzIF%fpNOU(CG$yDPT+UFK zl@J_Tj5cDe0NiODk`O*YAI~U{H`at^Nk7Hw6HuAngSA9%K;Mj$!!=Rk`$~0d`rtE* z1K$3ATOD>BqB3}t$+Y{JGb>*_OyH;b#1KN&0>tYkYR?4aVle8`dSrv}1$$CJU92cX zO;Cw=TOKUf7Rkk`=hu`5kv8Na}(=& zs$obOD4Ushy$5EH@-O*@&>>oJj25nOHu1#HM$ZW3l3Kah&b)!J7O55p_Vto9l2QV$ z99)7a1G912&;*9UaSQLr&T-01V->9S*Z`U5R3$UeHu?|ZMa(HpPX4Sxn-&|x8Mnzf zvDkBys8=|h5f$KT%HhuY)C0r?sp@G^l30ghAbz5Nv!rW~fCjffhiW_LZnH^1{gx#} zBKsnRB5(@H$KH2jWO&t9yEME~J!&kJSip_Jm@<9Q9+x67{1hYua;$R41K$KHEeJ_85x&Rv}O5E-IY{gql{f`rB>JBhs(cEetT7F4D@9c~PkV|B{wyf%LCUW|_1Oo7xB#)oM+>8KDyN(nD=%!# zdOEk_9z6+I@_YpEn0i7;xsw{MNvV=a@ZCN5=d*06)!+Nh! z|8r1fU-C&UtZ}Bu;4DNP)pW2($!1ohzyEfhHO4+us#v@1**DP69X|UwHBtGH2U9F* zytcE!1=C_c1ymeF$vo7lemC25dc;Job@4<`6n&p&U&2I(Jwg{T#HQ_EM`$F;)X;_K zd7cZ|p&%u&!m+VYKQ8BvP)_qg7ML9~+;T6T2M2fY0-yZjGpS`&`Q(!-#8G`W&L-Fo z1HA(hi(737ZBJSPwaMZPd*~uYL$<+QX!3MGq*tsVwMXU;nwEL z#eB8AUzG2-SY5WBP0xySWuJ){o{L~XvhzCfC$e5cWsOqK#Sb9DWIM8P|1$!ZtJhk* z7gA^eS>w)L>{xbJlQ^|D`j#?RNF$x+Pskys^K{|n#Qww^OdR80Vupx?E|6L%*Vaqa z6T7(Ic}SRNjm>6mSzY#Vj`o+}WAUl!-_1Cs-b7=qbM-^NM*~1=(p;=LH*BP{|r09I&EeM1k}#<40jKe)(WJMek`lzmfN&w~wE5tyfaHVN>Aun$;9l6;4_64sC3R#aAt}5!g*2iBU>@ zP;Pk}v{<#FdIQzwf2D#hX&B1h&-H4;h$;Q%LMZiWWF=&!b`YT7ZIKfPWqzL-kn%#Q zNW}EXQ&dc)SK>vL_~A%ck=vZx22af)64K;&QbjGq^FrupOMAm~ouRDrEDPqW-NO-k zg#e8+Nq5rj+JFdW{j;`8)lAba47$^$Rx1ecx`7?5RVrOG6vUM0vm#JPV^CPeKC}Mi zmddCo>W%4&Oo8S2y)JZOTp8_Tk9t>ndOBcO)z4?ncIz)p!up5Dk)rFg<9a|}Dmdm8Ml*#9wT6%sCM{EQM zTMU7(t7Xd5cTA}h!o3aa9Q2slM#FYs{y&e#R3|(My0s;RKE^-zkxf4 z6D{OL=@z#LK#%r4M>*gvGLNkw+?Qe|byDgqpt4jRZ0<*?f}PqA)diF4qm0l<>2kq- zct6|~x4BLLLvc?OMBlg5*%GYdT-8h0>Kv1t;=Fw#SQX3F(*Y#TQys?miwCd~^ar3XyT*(}0GUttcKHB1 zvC;upU9y3ShS@$?blTt!@crTHFR#d+rS#bd`M$b9djevVxkBjHbuv2*pGk28rKKjn z+@MHa)4?TFQgHh2Pe^^G&`u;uzJ^5Gg?*i@9_U6d4GtzkR^bmYuFfhpuMZOq6Wi*@*A+6r5O0eyJ8Im}9&) zs&E`+qmjVFh105iYgz-v1$uR;ESStzL9dD-IqM@&o5>lTa6!Ht7+O5zoi!5XxfGKK ztkoki{l+zjh}1&PK4!7@a!BUJcX=UNOUHKpNnv{T>DxQ9feI6IGm&!~f~OUZD*v{;;nx;_mp(JVk&fy3MmkrhRSrF3T?`e{o-(ijUyoj3XlBZ^F z7sPF4h?&_H(y*IadCJFrLgOh!CBU`4Xh6?9kbIU8`Pu9!lYJ z3ya7z&}cg)MW)s9OXgYej0U%{Gi8hIts?`_9lxwT$h!V(Cdc(S`*P*blQ(;FPBj3? zoP+D7Fq~L<0d$nLtlz&oO4bDf2!0J(&+UT~)Jzu(R_%GBwIyupuWeCyttEDZQf^~P zZP%>%trr#YwO_&nifT**A!!Q1eV78GMBT^$+*xyts64g{lL^ef4Dj9xeMU?d7ucP>nR6# znIHRk$s*baCrJR|d3}-pIpLHg)uPQXtn8YYR}YZvz00EgONFZi(;JVwXCXxch#XZLW{sMY5NmX#ibJueO8IW0p3>kEbPP}^uHa6jR>fqSj75O8(D12yV zMcb66P1+Qh!fPp@PpbNbt=7CApQR2YiZ3-zMKl)Rjg!g1Xz7j_4kj04iO@iIhshj! zlg~E*VQQ9jM&Kc7+X4%(R~rfZ1l7NN=$MDVkB`qW_jhp5CNj;YCFiI`*tZ^T_%4oE zw!>7v`E2tMMhy3t1c8FNdmRK9Q-;>h^?}hU--uBtk_6Q!`A$gMg%?veMN@v0Ldgt{ zgs{p6I?f5D`4>Ci6Hn2yN>X@CH&@@kZ9nPiGe8my>@qk!Va(8F@$&y^f z2yAX_Rcy_VM|y>~Z7^hPGP6TK!D}<#6RfEB7)yb4^^v1nWu7nnNaQ$o$Goyhsb|qK z1HFJY&^4vTCUcW zn0C6H#5=4w&J(G-98=jPg6VV>c8S8xx`$72Guwj#A8dxw*aOZiKI8-WI_BWkVi1N_SKu8`FfM)6(iRe#im$MYf7tKIQiSWkKb{0@u6dH%SnXb+!CFg zS-cjVF+{~)r3mvX*Qbg>_+)2`bMgR>yWA{>Yp!wgitXG-5^8g7`E^Y_26521aOX0z z$jCDovk^78ZBZN%&Lre1>ZnVrcvf8H7aMK z9=kNL-4#>5XU>w!2nuGKIkG(ifb`X5E2a?=$r^^c@Kc(O8gBs-ptC92qPhl65$?$p ze^`ly~*D&*7`D3Sr2pu}}-B#VD|*_2l!3Q#IB7rAVk??s2ec_P!+*YDnAz z#qZs3Lk-sl!<`bt<4|ZJT z!S|*!|9n|eO`f?DG{AG&-dL0m76WI>$%pSSx<>hNbRELl6-+_4AlXF&3D+_M{=13F zNs8vd1kxH?-s13X)A`}b|5R=!mg`AC4{+5l4H=fyhv`PEL3->f;Dk51+NuYL{rd{Q zK0tUG#Xd-$uh#b0*UYqqH!@Mn+EeVYi*3$6te`vMD&-l#pLH#q=VNoM)Eu_4{C55O zcNpDf^$@=@K1bu=uN6;;#5#--H>S-lHLV^O&VDA(x}{w$O|ie4?eIIM&hj{* zSd!Of4I88oVMa~4ed|xn1bSk7>@YRcFnl>^B=(-Ihvfe(U&>-Fi2i=!H;5ZNvU{wi z)E0cxts7K#42H;HlgCH?Z1RKDd%B_t5_RQ^)~#sz>iQ735-T|G)9b~V>Un%f6&jO4 zS29#*q~E`NEQ>(VwkY&7)jnV5!yz}7s!x^3J3-*?jY+e?yl1n`Mm;T->9mkxr3vHz z;+Ote1dq4F-C32-hufqyKb2X*{qFmSM|JjXFrj9FVby}>ef9VB!bBz@tI_L0FZcAJ znJwaiYZ18lQ~h57g>jOUo3G`viXea%fj_b9^DOzZ*olrGNs_Fe*o?f*w082RWB8)t zE0!@h5|a`<*Q|L3HYl!>gRl`g6ZdqWuaA>S>a(LLK)bF*BTE2lqb6K}vVGblDWo_u zP}@eL$Gi-oun}2k@j=cMd2wPtq6|db|Eu{Kd#{Odm;u@XA=Gaxe`=#Ewlp4>lJsd* ze)?O~*Y>ep2lnNR1RTnp^>v>6D*M=L4wucTj|d;*FBXTw>4soOYSR&LA2w;h^mcm* z3!YNza_1q>}pD?9Ph^jy_AJ0Y25$PV(I@ z`B`JvH(SsD6L9^%xL}?e?W9>hKlE5zEd7Pa^%6e4>q$0;4Cfan%*Sri$BTeSrj$Lb zgy%$&t|_6P;RtQ+x7Ol~`N|kVrk1mDT`;vWPE)P?Yc6Q;SuG+d9n;E>WqD?^zXPqP zNwg%Qms1+r?%yasMb)!oYNo~KD*jQE6)-<9;Dugwb#bAfQZPWGOkGb$DZvuXOS8-U zv0a~XFD+of&nZffX^PH)tn_cuLTcXCr z?5W2^@|L5(ygyLzsMV2q+HiAjZJ>=2mm4+UQQ?NGx16({iAXs9)c`4sQKpGOnW;aY z$=@YUa2t9iI#csViM9Mg+kCcytPU^tF_HE}tE#!{z5(M3q{C^B)HJA2Mz!%TAgH}| zK7(>A=!nP(K4qsG0ZMEd<=6o7gVVj}*n{?2cxpniI-T+zUmWjC8GENGHc`EU5hUR9 zIoGJE2BB3e=5rQ`!ej&y4P0deIo{6my=b~V)_pCe{>_Oz2_WD9FS-G7VOQs*5M}Rs0#Qyat?eHE38yFUETRqKVzWCF zfe-Djsf?PE_;L@+2HuK_tPRLaK-nWxtJ|Md5%!NQ{KWMmY-LR)71eaq$v0JTcVx=G-w=~sj~(&l3aiSe<>H$ ze@E2S0}l}<^>s(@4HK%rnVD*T>&-%{9B!Hj2&%r2=-Lg;w^z4;faZ4C%?z`?_<9xA zKO26PJbQR!!c|5UZv50XHdzS~1-}M&bI%PLZea0~W4}@+0zSPaXL+Hp|EpRsV(J-F zoJq3wWgJ%?VqBqE_5VZiBb#~mB}}9}ulgkJ6?K)V6MQoXU$oea=p9xZXR9W1gcq*k zkw1z7;_YS4Vl7Cx<0sQL-)df`cr5}A^*5XA&HAuU-!c_a%=M)y+5<}CXffmFp;!_I z#!|Z!)45E%1BX8&Mh8Y=KBa;-!r>l;q26oOBNu4-E=2wgY0L$h@g>VuCpe)CTkCHu zI9ek4uerRw@!W?DRD!7v2Yi6sL-PQExi72oAjr&BzE}!9ysnvbluu;f!7A1WRN$u; z4MpxEX(pTod&ShriOZp(xNM<#A%d7bl)R!08TL`$ovO-N2QRc5^rfx^Hb86S$G!8) zZFnim8IxL~Ccid2j`g@Rar~_A3i?KURCuZ+2Twe;>rsJS@BtaLi)rwbdS`APPazi@ zRhDt}_VlXMDj;KzpH{C2GtgY86b6CFC7-2`kW)6BG3mm(5*64ICjX}A3ASJ=Q;9!4 z*I@e7=X&1Ed94>pp}5bDh+KY#T~; z__yXl^(23=14e*7e>VE0`YB^A95R5f-NyvBw93Wl0V-XVaokxXiRF<LeAY&3S(bW-bb{|KDBzxp?Mo>;~my$ z8emY?8hs1KEk#EfIpaCe$h5z~2)@XjvICwuG>H~BxjHwhWVUoZ`8e#X{RA}L9$6jJ z44YK}(O7kJ**+|w&&Z0tmJjAx7}bq7J_RYx(2W;A;9rU9K?gVg%bE*U;X4N6^|e{E z(0q)`BGOD*Nc(nvz-ymsEI86T3Ph4O3&mXPzEutr%Df=O~t%*GjJFujc1C=Y}O+6WhVwO z6Kq0)nRDw?)ShFqH{S7dLgxXO66fgWo;>(4&ZE}wPvM);_jmT501WO&zzXk0gAc%W zW(Qr+@A-Hx-Sz#rVpk0Vk7*i!&48;O*{%-VcHsPSc@cE)@xxgx0p@2%XXn9YP;}|G(p3I+v}EZ!?ONi1(#h(_8r?;OI>%Dc{t8R=mCdY z)1GTKJC8j>eGUujLg#xgVS!TN06+NPNiMD#7^pdDacJe%2Atef{>6 zna2^NDR`w?%&+?U5HVk%*bFG>vvg8io%?l&Sjp7hD78_5Emu6$h&VD@lOyv5#rB&-pOg*@eB`?edsc3aa0nVWc%DQxAj z7;yx=KfXA`J-9B?aWuLmqY2{@;8?SeGK}GKo z^{Y>8%aG&ZH>|e(MIYusEz^CbC?_6$fZ5!pUCbWnJV&go199{Gf?i)uhdrq?s(2R3uLHSiX+hZR3bNn<2jQ& z%B7wD^fGkuK0h3&AvS2(4w zf#R+do|In}QEjlTgNF^2Wi_(9P0n8J92-y;>g z4W1-%#k{TJT|o||=ET4NMmoj7e3EWFrN%k6 zOOlj`O?(+1+vB(ZS3s!03HRo+9DxV^oMlzr;%z>%^(Z$k@-r9I#c&*hSJqDPzCAAz zdkh#~u6P#!qiLe;^!Z&zwI4gW7S%W|WNCJ$$qictbTGi?UnZZpW4rXIpRgI)Z>tV% zfDTxeg+0ngADE^dQQv3AW@-tXZjvV?SpR0`#JEiXfn8Kn?-0-+*?eA~+Mvle^XNAE z9_S~e{+)|tDS@^;<)&b<+trp^^FMF-U5>D3#-O}9dr1%oHV9;N5kI)YJ(MH&P$;v3 zy%>{C;K{|=u^t`(gHy1j9u~M1v*xPFi6zQJerXQ0*^2Z8O8TWZ*&~YMeQER!t=Gt0 z5&eMLS`OBYJV#J+uX%1-efzK(3^h@ShzhTO|TThVeP%37_^Apy1XDYDsy2PpF zM?EGaWb`KHY35Haf}3YU1eo)+gq2<1=aTBvSIKecJoS=8#7Yq{mf^>)U(L6;5h@h9 zYl7kBj^!RYQPU8kIy2Ef;!?SDpej2Bkg@XrPpI?dN@;I1qU<~SL!^)+11E7geA z?EZkrZN@Y>@dUfhIq7|e(=l-oJ|&2P+DaQM=fa00-B#Au=M+~vS;>I8Lq+}AkA(zD z>j?Ju8IfGI^mc&3Pf%wMO64_rL)Ri}9W~0e1-Hh^S6V%C5X`PW&Q1@Yso%A=(jWA^pTmC1H{IG#6v?)0ArXUddssc}oLm>>C#+sv zi&qIA#zrO3Uh>2)WJ#`0k|ko|6O;#}?U;kX`;yn>^OT`#Y+oK^J&w|o_aUWM7BI7x zmEY%h+lkhFx3?v2quNiJT8VU4k3~v6#HmDIz<}lbb111`&hf4U0H@gsM)dgO+UAqp zJ8DY^aBkz%R&TUhx959`<@&w4^-=vdaXp6Ss<(?6Rwtsmd{JL1EP)}2U%vSRvUD!(T9ZeX~w4nw!obPPG@3{DEZFv9&58Of< z-Y%0p#D+{nuWeS{Lgo)BR!zk51O0h4E_V-!(i%o&bZiwCb-v7nw7%uZh{ug)F3W}R z2)1;(vAs7xj{*U6|1de}!HihWFP)x(d|5Kzb0K4ceMJ%3)#VOkNrsoX6(tC^Olm=4 zb@KlN)U$UdS7NN;dL&tvQ*l)`ITr^l@FrU77L&!K8LGwLvYsPdxM!vGkUl3!itI^{ zZ8>=$d*fwE?FRA74MyETo!Zu42vMC2Xb8QY@T!jj809jd|5V-A_Fdw(zg4n#M#f~KqR)CF8YMeXg#)hs2u3Kkkhb@ zwORavoIgy>=iX(;?V6cz(&(1H{F-}wqvma-OIcDF0`Z{WaY$^<7MraN1p_~wfPOY# zZNs7j2?#wUI9e6+qxlJ^U;nXngK=A6!G}f@%gBX=KMtJHi4d3cytDgS?97+v3?7>~ zOolyfsiN=7?>k?F3t&gMpL;B*%Fk{mqG z4{N<1OCE$FytaS>iCz&$4O91W9a4-fy!ASM9%Pq(p5cw>JoyA?@?Ped^<;l>!W8%^sF*50K# z!h|KkpD$mCqyuFsvj)tX(Mdj>?qYrDJFc$#5FuYu1-h155a`H&CtRBd-Hi(a+uiLM z{~_)&!Ug@a89?P^Kk+dSl~iFrL{Kgvy&4d{W^R~hPFzUMVYG)>$#JfZ+?Y3o)4(%c|Rv%oFbZ`sn);#xuVopPFpChRF^YFCDqyQ0N(yVC}`1)4~^W7!@M%W4&fjU^HXMY$7lA$|41xvOOk6mOrJ9Q+N3AMtZBgJ?br@mEo#$I~H|F*gQJeberF#lG=@PhC<1 zo4^tgA-&43X&VLM=VWKrHPJLA65)D3=Fvo|#(uK1lD6<}4@d(7-J-#8BP(uz(wa^!|V(v`~6df^><#u}fdp`vkcyZyW2^E04>;mY0LTkT=1& zaPc15rTjA2^^7Q-p!p7FpJz#}%*|4FB zQW?fmtobtPap6ejtkt8bZOzr)!(yXcQu$v7*Qy!&cGdPj_UESSi`2`3t*XgTC9T!{ z(Pjj$567tkpZCqnJE~FYLbs%+bx9~80;5CeTSsXslv?dR$AoL-vUGWqZq1B_L;b4; z+atO9+k$afgwQcF>@!^^2~_hF68BHe&Wujn?}{ysnau?>$u?{In4)ayOGdm0bN3`v z;wX-DTFS^HC{*Q#C>s1e+PApps2VZhgshc`Q&N~?xgv2FJjA@ zdY`_yRHc->twi4b$^50+4SzQ$1T+@kP%WWp-o}8C&SLSAWrC$(?}R~eec7{47cRh7 z%^W3BBcCoeBjx_Zp-?!Tf)>$rF|Lsj-G^*WVI&D88^sLk@ zDZ_e_17yKTw{O+flk@bKB-`B-Fd&D49s&%~NlPh=e@i%iE&F;fUA8lxO5kc{Yri&E z+fm9&^)wBI4hrv`Qr<{t0(T-!X@hL(g>YMR?^JQtl>OS@F~l5Uh-f*66AaSO-wh1QNMn5Ab%Ah!1t^wLwzE+ zD4(PLyoe7bC^%#N&M3_(S2cat?=xH<+I~H#t^*xU4NMl~t(>5uLs}C;nWqtt@-0OX z0|cTUGPlfk0Vgswq=XeU>8qb;#w*jn1mc5jvDx@?2#ijfkdA!X;DW$=u$r$x=x`@i z$`qQXXTx-{c6dv%F@!k)T=Za+xnUX4CW&?Pjs$vYH3VcF-8EBysL|?=l>^G@W)4_y zo4J_|5Hs%VJI(szxAI|C-9o$e@$EHa9O|Tg0|dJ;q_;R}{O4)YTN?HKyB(MGniZ+b(2k?0peN z$jC+8MG7yN7?zd$375i#(HCNsUzbJ;sbBM=PO_$QFPlTg=!b*8W4&fJr$Qe%M3%LQ zl+3yxX4xmsBD{?pztI1RDUHKSj)r9{6+se&feR7z*88^~L#A@a?*`$Pls<90+|jm+;N~u4B%dC zaKRL9NtA#zjOv=}XQql;gdFIf&e4E{bkPismss;Q7|mIQqsfSe_0(JCS#O3Xqj%kG zK~#ZK=Z~EWk@K zVKVUFEedXSGvNgIy%>A%9o@Kc#gdFbfEK%sON>?L->6x35hoOt%^$3ua3}?C)UAc2 zO@a_9+iZ}r##FzR_7am=l87fP($G?tT5#R<88ed1%VLr%Fu9_%EWZqddBRP5qOLW6 zSQJ{{L3Pc%1VJ)DZ+C4~faOM7AQ@89Jt3+{8M>?bh35L9mY~-oj$0ojl30_~`-WJar~7^f(t(?4myov{`Rt3NQLh=vq*9WE$4sR{qH5L_Av(3W z8DyZ4-kc8C9T>ttLKX@Y7Y4sv0>?lO7m-4~p(&|@qfj29%Z^o#L z%5`Y|@rL(&2bRXsZVVjIY{s38Vus!>k|`dPSujv^I-c}|$231dX^xvnYi(l6HmmlZ zaC#;XZ8D-zu@oGvdlr~WO&Lh3xTE($!@AfI)q{v#kBK;(k_~aK9$=iNDfEu3!%7p} zNyx{SjjyAurVO2#p!K>WU&cqN7+Ije%Jvb~U9@c-!~hL_#!dc?r9(Ips&=86aw&8rG(%iOibC7D z!Dq^DuJ%V}G5*_6Og(W272d^JHB_Ws1!DeL*)4gCW*y`gV1IqFKuX z`oF^&$6Gp6wW)DBVk3vo){fr8HC`fG42u(9kp#2}Cx%_7z;pFZF?#*uI#E0$CuwwY zF`LN94iNcYjhv!;vcWK8SfS&W zW=(d6DJK_IJ=P$&BRCZYKKwHOhN*D5^!48*3gXGQz&cbZL8GLXOHTcZXkd?YkhoCiJItD2 zJga!N)!W2j-*8NAUr2>hJ|9gl-{eY(RKcul1Xik<+Zc=q=|(%85mZFI?i>q@sX1VZ4?5>cj5-JwIDMx(pb@YgbbbRDT`0?gqtLBqE9&yKJFrblgGb) zhcoVf9l{7D*mYaYUa=nIovD^7NjGw3O9Z5Npa zn%>T?k~Pc&npmpO%*mX5X+Mj^kNfX+XBjU&M8!+y!p}wd4rL@E$dkNlmy!@AcrWf) zK}O$ZS6w?w?LD5yqlzTiVwUS?86gxwimX(9N7UzAN#sfNv3$|V)r$n1s~!HalV@Ez zrUZ>$#?s&Vc_adN2r;Hp_a}OPSj6N59E;j`&Qj$kz<%jA4kcT0Z(R?fsTZp$p-Jm* zNurEW>kpaL!U^7g*(Op!Y4SAv&p@Kh8OJ-U(W!_*$#pWnIi{TTP#SYONf2)_%08I> ztR{$ZSePMY*7PpdlNg-O;lVqge#)cL_5L^?(!hf#pP;nbRIUO7Enyo<`$!8R@g}#< z?PPtnn+efaAn*x?*J*-3dA3I}pW+3W(*}MCyAdB7LiB*qoiX#%>ZrXN!9Iu z$7#g;4kz>k8QaJ^aZ$Nxs0fR-tMIwog(^UHMoiP6%g#;M0p~=oitAmYk)QzpLAw^J zK6~8n2#=mK8-EgQT@!=_un4%p%?%JwKoT3qgE(Y}>#}IVm%F&t!FFn4f}jWZQg%R4*Jx;vv?gir9a6VvOi=}RTy=pl zj9omAYR5tII9h5#_c>@033t|aw3!Q0{wi_lkKfUx@!lApu$=JiL}1Hy=fhT^DX~j2 zg+eLW<0}8Ww)+1t%Ff1HkZ$GVT~X9IW8@vwctQ=*ja7rMOrqp}f;%-*7;>tIM3U0E zB<5^sOR>VG=m_FJVS8&6n(PhNa~hWA+E0AFs%tb#;B!vjVy1rHx8eV5PDD6=%3fuR zK!a@nFkq;sYIoX@3@=T%m0x$Wx!OCb4p&TRj8k?qenWs}kq}Rs(>Z{hX7gARY|c$81L3GdP^0X!_QEFEr=U{uQQ(cMjP1%u{i3VjHgIw~t`9qjHM81vLr`^0bq zATeHxoUBc(;vLa3B4Q+tW828yQvw*o?7hW|b_L%P34 zJPN0SauZZbQG~psO;XAO>6R22~cqu;jLR3)h z4v@I#C!ta+aRX_VLrO67e!el9w9BA?()ir;D3tNeYAV0w4`8(41GIB(>*s(~Q_$T$ zqsW(+7P;4qDVuHGFxT4*Gk79XX~yF}5sj3jOpdVIsw>0ztZi z);rmnhCc*r_OMLW8)3ll<8-%-^u8w0itifnHH0_Tuk&g+Zt3PY_AuilwNNPuss0G# z#%Y;pWf!|lHX?JDLMiwp3yVlz6}^=au@c*ay;4_iW)qtjCapcEr zF~;j!3!e)Ci`kRB!irtKBZ*;2|1!bT9D0*^NJ83K|6Z?*vN&27?50g-;HHAGvai-G zH(pB5XY&qbJR;TRY$yPD1GNEQ{G7$q1g9TwS$3xNU(Lf%q^ek4lpdi(YdaCUd3Ity zQS@6x|ug@e!}VbDUTHH zh(>IL@_xIeoZOdO!TG>eaJJp`FADBum>CB8W{>gU<@yZoh{nwet&$PSMA}EN_vg&p z2UdV{$W?!oJowVYpGI!jxre!7q8j)cZ`8Tme+M$YE+8oAYK^y2TX#GPtnE*r{im7} z^Iyz>=Vf0YZ#dkrvxX;W=v0$&e;{*OEIlX6$CAP|B*$Z(Qo1XT8gKM*XeC0z2MCZf#^ z2{_-Ju`qY^up&NJD=o0zr9iIS8~E=TL1OH_&7~16C<8oZP#^B>E3)nwYPy7yKObWY= zB~uq4HOq9Wp5xr*&@L_K0ViCOnxjO7yUI+(x4=Y~WAyOkWy$Gmbi~JNfl>bbpw98m z+89O2b)MBjR4HrXG8&%lti=!|uZWZrQ{T8=9Ys7e$9oSdTuU+4%vpWX#O38m)xc2p1&)r0YW<++3;KzxcLhZWoWE_trX&C0^g<}9 zD&A*dkr_rhi2wzgiKw`N6}#2tb*#IycR2S5N4l^lzUp&XrDc8nMGVZIfC3pnJ_4}F zi){`>d>`L%S=Bclr)DOj1-p1GrV~ipXm(3;&XHieM%{5lf?-`0zTI%tl&7v7D07yC4 zRufcESab#V;8XH#mEa^+9TQCt5CS^D(_ zwxIg048;<{k|BnpN=Re!)~~-T6Uxj@F=0D3a~%t8>=wgmPNOs(|C)^}lyTvSX-RkN z9xef@#iD*uALQ-E5@=UJE4U1k!j#Dp9n$aU)OToGrq*d1(pJj#Q^i`aaCvGz7gNofyQ|;6gBrJ?jvq@mdlpo12z40rL@+hG zC2HnJ7yc2rD-8@eZ`13FPNPsc{;a>>vGm*t*%I}Q`SK$mQS8y?NRHfKIEReqiQ()u zfga0EyvlF)isVi)CqNG*ANU-K-+})YEqQD!=!n$4_$VW z)a2l3MixIgW}oP0g*3i>rSM(Ols@>tJFuQfCulQefH3nM$*YqMmlYAT<_&uc*BT~| zdlHw+MKUzVPjn+Z73KVmi$x8+)4kA-3i_Yfh%vmPY>F&0X)9|9_4{LoXQ|JpTx3578;l$3mPLMFU#un@E1In|p zERq=Ned)tZyol@7SC|&_W0oz+EQ9Q0vT)Ud z|J<}1B-Hw-=0JC&K~5Pcn~lIv7#MSqf#^y3nDn&B##>YF7R%gbaukJ!s{;Q?26EZ( zH;r%KMb$Esm90q*38J!49;j`uk6KefjiewlCRpC3O+WAxzN1&*DM-G3y2SB^(rrUO zfZ>2LkC_cJ60Dx`(CESd{QR1TiQ#G^MSY~`PEsUpp$2C-r7{xi^|a{n7@3|pjtS+ zBoHMNT9Rv>U-e_j>%35wrpW;0R0&RwU?#UXXvuHSh*_=UG}OpDq*2Df$mGu6U2qeb z>tz+H35}mQ%?(Y@2io4mK;8}RFp35y2y^Snd_qx_<{Zuub=n7JSLpUkfSlPX^Ivo-+8YDsf__ z&?wpJn0lbuvRj)cTZZ~!d|bHo$FS4tLAAzPmb|vbJkX|iiV3{7izz6OvDFn>PCr>K zJ992`CqAFV-EM&o#DKy%#xo*UbN~C^JxcsJ82}z4>4G>$rC`BaVHRZ92hG4{@s=}( z?Tc5~q8Uf}cM8rLZ=_-DPiyUA4J8nffLH>WD*^2 z#1yO6MT^ED0Em|-wrtw&#dbHaDBsa>84pyoHb@zVqhMQ5e_un?zatz;x|vk6*k54O zH?%>w$kB%0wSGC-a72v8F9Q8}uShFc!PbAm5ZPus_!Cx3)>#b9bT1BW&~#{bE=&Fi z!T7@n`So~fup3O|yB=&tpazSPH<=kl*E0_G+7^)Sz-ZGg1DsU@r z%_+xgC2E4&$03izXM_t`%{9ig>Y3Y?cQ~Crli_3X+ri5>X9j6>B$G}+uy3B;s8l}Y zl^|#9wLXbVkm9$Qe&h~o5B(j>)kA5(6PTZ_4k(1;RWFy(DAjXv$)&-z&G>M$qn^qG ze-cE!)`>HB3jV@N*@A`eVk7SHCE(qq2ben3IJ$bm0cAEK=wtKnbZo9s)p*yQ!&%@P z(Lv@XPpcrB@$C5C@#GPY+L3)*9COg z05~5>u-UnMAX4X${)E#LryMQ8{@ePc>G;_zYQMX3w}b#Ey{ABzb=CL4#A=(0JEv;n z&zr60sG}oLGDOS(Px@Sqm{52t=32@1dCM%(X_t5XDn=E|_OvGZXo~jrnm!?F`gM-Z z=em}9Mb>vHIkd!mEPRr`L!jj76Tgh)epnoJ>MMGx8W5+O^PoD{VV!tFbpM)lDWu+h zXOS^6*L2Jx^Bag%b2`H8Xsr71Z5WXSnA`QoL?r= z(9>EzoGw751h`hOY-Lyu0_;afFu0Z(YHomQafo=(geNmwEDk(d-vAcNb%9SAVmEIw|VUr zG+3-kwHRuz#dfO4pyeb^!Y0~FnE+45ro;M%XXcO0AkXDgQ;a2R=|TK$6X|h6qW%Xc zKoND!QWo!0Fw13Z#ip}?Di(ozY zJG{Q`%Hm$eA{RvmptG!XSyCnpI&8|FtaGpludzQB58)cW_c^H&h(I7!ObyJPaD!w1-7ex0cnWwlhC z+u!mm8dpu3(y%M zW6;N)?jIKV!i~M}r;N`Xxi0(HFT$mM+Zj7y)UVhm>*D%Ysb9;HV=<~-8+i=zA4)WcSm!jTaP^Y2N$yz?S9{SIlA zvZ7vc`CN<75)l2RzvGy|2&4P#AcIEHskhx?j{}qMTwWFlA2~>uZ{lo`6V5LZuL6wY z6*ejFW5p}6&p3T_(8dc3)C3{w#a~jJ8;2>9zv0e3rNG7aT|T*JEvP;z5$_V{`3iT9 z2noHmlQl)#C{U8*F7K^5n7I-)X$zyCbJo)`Fn0ts2GnC=_%LqEKrC4A;{Ds>NynlW3Z>uAQy# zndRhSKCMY8vWc1tOocYHNjz}|F}1{ZOrzFSdd3De?uR4w6Lt79rA4x<*8TRK1HzI& zpbsV}SZ)_a;=pHDjfA}wYbf>0tSMZVc z$>DJCzf0D54*}LAs%`&ss8U-}UhwQ(s7^jXj>km-Z!?k61E+Wc<)nhr>r>}}$XHz@ z5>6AJ8w>^1v2ZnO|3{O*+2iDt1DZFb0@hisS6Bb>WmZ)Mo!Kc3qkKLgBIOj-aMm~P zSUT=I%gT~0W5WyyyVtUEF0T@r-lkktj}@|J^2}JGsYETr;7?Y;q ztFtIyGU}??WZ|TPNM7ai@V47c*tU5x+`es>C4?6<_D@prR+gCaUZXY436SLSRf`h+Hkv7Je;cqjbEP?%rytY-U~Q4plh-jR1lrZ z>jNsNczQ9=370jotUy?HI<%xi2mbC;lsJVwn&vE$EG8s{fx}rd{G-Mtw$2ZjJOCCr z%k?dVQtR#O2;=>=3?3Hc|7JaMFSsuy@kMV%rqv5?_e4+HJ!U~yd98);{5SALLG?v= z&ST^~^S3w{u529ms|>`?A;*owyiosA*PWb6TXGi*crD#=UxWkSL5%?&oJ$4(C7390 zM0n4(VQgeJqtHmJ);$Ocv`ri5@tJPNguxa7Qontt0_m5o2$%Y=TwzTT!nMMgQ_KWx zYT2^>{Hc1kidLyb;Wsy)@xqTEz#3jJ=-q^75kzBAv%uBXk;Q5_$`0EW?qJCtfM6-^>yl80S#+q2+@yTo zl(~S9kNv4)8M|-sEqBz|Y%NgB+S9*LQId0-(BzELw(b6c=p|2%A~*STvY0z5q4Z7VS9ZbZ!(A zPi?<#EstcZdxNv;Dck(_%-PScO+gPRkB8He_`awdP&3v8_RI-6=diA>TKR-2dIGe< zm>GWnQR;uPKLY1{)00n^4is{*{-yheLTV50?s>eli8$zP+n^rZqiIpNmp$3!sfh^V zh^sTh<~dv?F|enf-@*ll^mm-1kZQ>{o)?ctwt}XUc}RiCg_{!uuPd2#<&h<&>udTZ zQ#F2mkw2wv6EX|X!@j0hOkwOb3Waz+y|)v(av5BlAkOT_W@MM_3*$9!kBF7@w&(Vs zpqBJI6^CyS_=i0X$q~{#m;^w$j^A%AT zJwc~jVzIPTe%%M=GDuEsG~=qh0@AxS@8>Gl2D9i2_^+vC<_9pZaK$j#_P}U9#C=A5 z{pM@DOQyb73PHJCG>$2xHUp&9B1M|dv#B_<^oMrGRk5a-(?aU4J^t1OJ)kl673DHB zncr=9#3#S4M>n8N;q21`g3xZG>UzAn;v6(A&C8`GmzMYSA-mV(8Wo*Lm%B_#EGxop z@S#^a;dEIAgWAZpD2`yU>h)5sUjf-askfjc_&MzD5sm&%+{-sPEs&ZRFU@x&fUw~U zaHE12c1=GAm?^W`hAgqo&CALBCw#CyMm#++iFnDjt2Qc&2nwq1H6&-`a$5n|e1>dN zK_Nf*sE)SS;j>XGX5sL#?Z?Y{4dCa&s95!UG z8AdZkSKXwSIgRIkg+}GL-Xp^i)p%&i=3HZoC?RGs_OaA#&Q!;pD`{`!*5%wvDPP;1 zQLYNEhQzYi=xZL;#nfVagc_^}b2=f2ac_H$2l$y#iFHA_%pBplXN!K8$>i5|b2oVz z!BT86@e1Z1DXNh$i)k%urcz}9R%ExH_Vq@If2SQXmB-DU_><}5v)n(Ex|bE)v& z5skS;bG!tW$dzsM9aKY@&39Oosul){_tb0puNhG<5}arfESl>S=eWC=S9GKJ)ckjS zEQfo1$H)vy>U7Zi{hA%Feq|Zh%7VeGQDCR;QdT?YKa?6g9%TQ41l(o&QfinNV>9U21r+o!9w5Br4z9#+ql#gJJR=Fe-2!g_2Pm_%c5*pXZ zF2>kw=?&#m`zu=1!&myXHq3JybW$~c?94|%eYkQBO{-e6`3YfP1Ggp)))v{E^~9n8 zc*wD50f5qD)FNYEZ46itj$CyLyQbC8wz`McsSmjmF+qRXVPX4Yb|_h5=x*PRqR!$A zbqd2>T**a{wdVu4R5JV^dnB@ajc27SPNU)V2wI&cl6eTkZ$@xX^{1%Pl_elOb3nn& z*d}O{ba>Zy^3K6qrKFMXxZ;(#PXoyp^r8G(yv5#_dxwGm!f8CocQj*< z0q+ugY`q#SbhfDVF_<15HQDAv-^le~|AB_$@tpF(HMZ-Trne^_{rxeeZvmA~O3jT= zcH^M2*l~*wW8%aGd6QVb?Y_TMAx|med~MiXo2?(w;s*2PQXuTwBa-m*lYE6XPLa|! zC>I~F9hWq|4HgTs+4aC0P}X%F|IS*7F0f)PHSa}8`NE?1i>%tBI!D8Kx6DmeakMPM zqO^3J^{sBE3QUPoUa}|>QZ?puA>A+DaWsU$Lw@zYdRPO*dy~E+rR;krWT8>dRTHfbE77^4OkD4ajycoOS`io(4QR}6bxB$45_xE+UmuqqPcLr8%B&SS z`h52?-U^Ix?q_OwX>^BN#o+?rG{~!MpoTxIm1dL!^@Mn#KYd1bIe14mzQ8sbmyYpi zb%`9gCNv!Wpj)^55Dc7L;K(gnyct2m@?8!PQqNHJcO`3wZ5CXNYH^UA6vp~@O~ zM;L-$^3}8&%SVHO(X~^Se?qx?C@7wY>o#jFxjYxQ2}#<`+bM3gq0j6j*9+h0gju@r z&$~Kl4WX(Zlx= z6;*ID1q478BObKdPk3R3*M{Kr+noy&Xy8}}%yKrjrhKkO+0m;9n1e+g>?$sTpW3xK z54m2QFaob%<^3L39AUMh`}V1Gt4kJnd2H$r18;G@Yhh`c8>D29K#DqRpA3XPe&FRs zNaKSeYfB?zif&8BX1=lnNox)vxGfg9vI62Z%=QflDbLcSgk^vG4(0jK&YpqI`Sb{A zpanyIL7Uenr&X*?#0yZZ#Ud5T>-OA`=K*~4D;X+?@rh|T&5pF@x63T;c8R<$@L1IG zxMLsEl(4ppuNIbAsReheXUsKYX_S_1gdR`*jrKTd?w<%dgrGFer7X9mUaKnZMO;41 zg2FFyI`KsWu%2z!pSJF2p}L#RD<--5gD}@a>ZFGv&gE}Gk~t^-!D++ubO~8Ej5)Za zW?XJi%W{CPox&%9&GGeXfi>dkFENm^C4g#^n@CBTT>e-%E1NelX5HMjEKt)u_w}75 zG13oPK{6wLbhfo=t~L62GDqVFJDnoH>j*AB&gRXAWRb?QxI-GKx;ewIWsQ^%=Vk{2 znW2K;(R4s#X_QO;V^CI$+8MTXQ}2vkk}21Ix}=H5%t5P<@kR@&;xvE=h(RfUEXIK- z%J_%!8{#=0SnAb?Goad{zN|((wd7b3jhPB-%Ewb5YzulI$T(rjh1P#zGOGJ4pkBO{ z(2DJ{^7;*M@76rbVq| z1uo@N?A|A|lVgdEisx^PfnE?odok~*IzFa|jtTO%xKz*)A z(@}Uvf``lp4gD)@w)u{FNcFxNvx*`^phUS)!+j5J6kDRRo)4G z-nnTk)Th6XhB*4zw#Wn%{rJUQ7>dD6xU{%i$A80{pG~H;Zd}%fD#c`g>RoW#cA)i zjlLrsiTfBbgXUa-^?a?sqN7Z>M2e3^YSoX(@T^>5$1o1^a!F;0i4|THP^XEfzQY=a zh$9IZ*1JUvGxn9HBb{jX!cB|PX)U=WHEw9k!cJn*mCdY!UH0xLre1T4jtT92Jmy%h zsnwpFJ!Q0UQZ2eYPZxfa9mgAvfqkb1l%G>s-=TE0P=S<*^3C(C=>vdmpL3^JpIn(h z7B!&R4eyG|W!ph=Ke+<=i8GmzabLmIinIr#+8ZsKT8h{y3S#9fcHQuWTtF;bLP@y% z4B70c&+{R)bH3G$-fqu(3eSwfLg?-$@9;+EZj?+(?^*Z8oMd6;XKZy1ht`;CLIKRjlZAFZ7)m@t4%-w~y8!hwN9N4cFY&5XU6ux>r9jE9DjJ!FG( z+2w@uMc$E{%=ERBoTg)G-|>ua+Vn&piz$i!Q84G)2rVw?WS#3h>fR;XU<(7>?GPm? z&nox7zZ-vv`UA$W2l=b0JALLpkMIuXe1{Eb0vgsu^sft;!tP3%H<=?IrjU%txIqd} zpxaI^W2M7H(VEP9D=z%lcUT=&RT>dfx47-&>04IKmjr*nr%Ux)M`G3u0xvl?+7N|7 zw*k2u+9b^z_8n9w(-x625%HKOGfMN_ag8zow?%wLo5X>fwIV{2@A19FHRv=a%0eGL zQ5QeK^cN>KCQtKn=|Kh%wZ3$Rz*?Fx`FVCwd`mTZPB{w@Jhn(DXTp|yvir&GbiBfM zIHMvL8;buzSw0 z1ClM6`_a9PRIbQz>6xN{Z&={U@7Tt0pz$zk&M)@ewqm?~j6M~FkTko`oKXXti%V*6 zPw@d+elwjF2HZsC-tmlkIDZx65_0lxnjPQba>wCj1bw*gsx1Hb?z*)b@26IAyv4_hz7`v|G1Jp| z`iMOPv9jZ|tG#$8s1$RPwa##CnV)+Y8BXi?)@0R?(XE`bNU<^N|1&m6l9GqnBi4cy z(3HWK3xvtb77HA3D4XqkYprV-@pnZ1G7%RO6xX#oG#V_$Nqab$MXfj?#sQ3M3gWc| zycR>UBBl>wTs=9e*92W(|LQrC21-^I37nq*`|XlP9qz*k7<0Dw&hVh31N6jf$PS`m z=e@378n9}Tt0fpQfoiXSQU?u{(w3NlB~ILkOcPJn`{0OcGGPqX8|p_0Ye`qVXti9qY;qphH;RoO|;ozB9LriR3|3n$rMB1 z@f_pfv@|X^+1(axSo+pJp}2e=XAMAKZ$;Wc=f3G#2*TJgH){O*z>?9R-Yho?_HkqP z{u@{TT|lD0zh4>+lV!vcQ+)slN}6|+O)zwntYQ{B1ojlL+xCw2Z0qn%jv5kn)-%52 z>DbdE4rVzPZzK#{Wo>4baEW`zu}JksL_FKY#+pOJ5~yr#UEM8nCTeo{O5pYDjpuky zByi~bR>wt<_|c&Xk{dtf3_oLwoea8%g77k7xiv(!i3?x$hl6PkXAD)LW4;EMht%N? zqvIynk%pqIF|yt^3P6qfUOZI-(hu9?=5U+~g8v=OJyKE=v%+m5n_BZl#GRK-bcxmK^)Dc)f(OiP6-^!uHE&j;HS~0x>aXM zXBIiDqAZ`j2}Pha@0(Fg!(Cnd9nIJth=z%-c=kmRHaUyBR+5LE?M%VnZwop{8Yf1j z{gZ@~TNc#gt@7^s{nc-whZL~7hNth4Sk%?_^ESC3#&uIuSG%6)*Uf0sK5$qd&_I>0FOT#5=-)(d(p3Y`5GT^%BC>oOj?Cheh{$aWXtH6FH3Cj4X+l#TQ07*;20sgaO0Z zZSIP)a>ne)Ne6;^*K5*@D{JbezcAM=tbdH2Lszsd)TP=&OWtKb4uF3C1GTT1o&!}_ z8%j9asm0Kxo&l=#biDY@$gSG{#Cgn>x9jN!6FXJHvtYI#_*}(ujOW7&Gv5=e9O!yu zyi6%y5JtDOiin>dW-?l^bvBPQbQ_JHeo{m3-_#RD(^nQ}tGnSJE?U0m57vagV5c&^ zV)s5JPISK6P1%%Oq$MP+=dMEMJ6?+|N&R0SP|vYLzJ3E7uTE(jRZ5#e$T@c*ZXrK3 zq0(^Yy-KK=kUwBlhI6efM6nE}2K^4Fo1_$xEK4{Riw#aU+OURj1i8N!)QIqHw-dUk zOVI3``UFB1Es`%8eS&QIi|@b&>;tYPgjttn5hV@98}qqAMa!s_wdjq*7)-7|&$V*X z8BY}*jZVGRh`CWGo1kDxULi03cw+t6<&p0N=La~X zeoOb0TbJN~5sj9&(JS|ToiLxsE6oA-B@C=_lo2UjTTBhTmkPLkvNE6;T!vj``W)H4 zBTD0Ospdv}d2yA}x8qVMDoG|Ax1Q_+fcfHa39}~qdP)WrVcB8wiF{>CVj3%*OPL!Z zi{i3u2ps#U61c@?LkO&gVT3)Rvd}ecg$VY1v#GrV8l39?j%OTi>g}B(#$Zh#Ru{~D z?dO^I&y@}^adWuGg1`-<$#PqnHjpPB`xkwQKSRqY#PL(Nar!i9q zV^NWG#2HLZ@LZCE^R?GZ-I5Kq4vhDwlTzpV%!cqC+JFu;o+UTb9JO$JZHp3VgPvH` zlC!KhePbD6&DxrT!X%nO8mIffyyyDYNgDG&kt`W{IRS*_gF*lQc!Wp*ni3J$KG(EvfigOz-vNzTAoNPX=vNl;PJy`0-~c$xy+o#jbVy^Zn)c-qMhd|( zdqw_Rrk(K53ykx*Ix)@sJSge`6h= zOF}Mws%`9Eo2jnKj06#ihd(wGuv1rgE$+Dze+J})@BBnets4;4k~?VHWbFyhUsK8g zi7=`DF*U*RZmv#XojNua5Yg;XvE$-pvLUai`q&GuCB9_OCTmB_Dk|#n(-X27W*(X~ z4Yp(e;m80Q#0 zRa-4=sPmYHa{={pelb54OCNLHHHWjnbq`&10;2{1n)1+zS@fN|4<}@=ozKaDhOUi) z!quuNk~pI%6nA??@`vZ@ezDu+G#PR zH$hQ(Vq=zfP|YW#tV-j6G7UEz7i$FNEl)c26#I23nT%vyB`)yAz!W!IE)&88JsMTe z@g+_XM*=Whi-#l*>2e5G$%WlzY)j^rvx162@wEE|SC4`5P>81ZSxjb2A}61HiNa|x zm?GvS!U&ri%53Q7Qlgy0rxn=qiIi3wt*S_22RqYXcf8w@E1^gS&znx#Q0;C%wJH=| zE22teUj7RC$oA~nTjCh#IChccCkHI0@Ttw%n4r3WEpypv6Z{IPfzryFn>_tFYn^~4 zI&G*-u`;)hJEg&RE{RQ}BcCIKBeZP3n0bfj`{nf1f@&MXvMPh)WMvbOUH$_O6w)bw z{=&>_FyqUNPs)HsqCjn$Qz!D$=k-}#DwcktsKLuM5mI(AxDFXjQvEf^Y}Ck$v&$=F zag3i~Iy{td{=#Yd^a`c4A#SPk%eVx$;s(Za7Yw_dAH!xlK`FZ*YqbsNM0^0n1$7eT z`?@{yig9wN=(XBTo!fQ-A39va_#NTaBP4_G_iIdpIKyJV>s*E4{5#9XIm;#&1T)-^ zur->7UWrK7|Det)sJ$ift{4}eJqRLH^rz$6$NrF4ABrFC>9_`A@acDvN)TBU4e;tv9WsU6gh!fT@s<)gWH_pRVJHuWp;@+fEiJQ-T;{B`t749)9gY1lV8^g$eGj-hydyIf}4%Fr`11 zqaE|9$wygci&pIH;_^w2KTNI5)xsgVvd6K3ob>pT8%qE28l_m#TDeQinmA3?M!dtj zT6n3AhEMwy4P5m=2RTXxdS*3$x-SFu3CN4dERfD=V5<@`lKIywu!YkayCMoEP|Mjd z4Qu5)x#k6H#ibM{j?$GEm)(nQ^N>UQlfnxUB{mJsto(EN@G5C>H5O*s&d*AP>91?q zBnFj+S&hr??a+gatW8rc?R@%Vn%Sz=2|v-an-?A?%JQWczGPn|7iTVyV)NMVO28e9 zc|{1X=uWj%DyM7Dib?-j>k?3$zZOshgYR!2R<6i6&1+hlSsJ?@7(?4Jt-7(^5npc1 zJftEYN8lO6Q;x4#iJAm0#VMGS!PNhWu-$x>i;2X{e%Z{B+4t!Ola3P;U6YQ0@j4k) zm2@-um{i#i(VcW6;8uO!fl(EotxGTBVxBPFM+dv(akxc-7)#0>jc3R9o|qm_p62r0 z8LjjwODnrpGjlP(R3C!_LV8{$TufwPr==Rb<1B8P;DWY8lHnYfL0-m_(e$_&8!Tg^ zdNPLk9*5UR+AG_cha*5SGTmO0EC#`iD{RGnc94$|JUlHLlGb7iz6}DSzbvxW^4s_- zmaV_2PNy%<=Ko_b%c|@F1W+)<-x|&Rvp#JS%h{oaqWInGSQh`QZu7PU5$^`^ht_Ib zKe4q5K@lBu*WzHR!-dvf{gb+2z#4EPtI>Yu%!OJ0?&ZLyA*sX4DuOV5ZpUg=El2IO z6z4{F^0UrmnHW3VK2Ea}ZFY0Tqm0v|n?yq>@fAHwuG?&N-a#GxaGwCLx!VS8RF(Ls z)e;N=tLn2hR_&2RLvTVk8f+el023lPA^oNNseV)=>4#g>@TjXVV~p%C_pycn>);|n0mg{rdqi9k;-a?;1<|vc0H50nY$L5q@!8A#M4}VV# z_ft-)wsc@vs2cg%Yg3_Mv=j%lyT#21{Em9#IpB39&I-^ffC%$s7U+H@;EsJYFTW}4 zqS$7#_8z)kO;K}qrSnQ-{1k1jakY0SS|)-{j!RDO>BwIkq{8yrVkWyM&kt{CGU79TL^}QDV*51S12|*bTsyk(fEmnCs?=_y!&8 znGbgY#nHfw<&Xg3I=29kzh~KH>a|G`mK_SeYZN7FZr#QtVrP%^NNdWLx36!!5WXrWycVLVvf<@V-hFxnl-Lr*Y2n5T2eK~1?yuvdai;a*2i+ZM%Q|l z%EzQ3F+Lon3T3lvWJA%MT(aYgQ`MB`qeo*47+dyk6D?cQidZ3Nd_i~=R1^CtM{d2Q zw~=(3*VNr=W|&Xs*zu#*$=FaS+!_RW_r*O2w9hqx{Pi7F>sStz;?$64qo5?dId3_! zboa4_#0MN0B1+WwbR(6s4IA9#BqzA1KYYhi`kMokf()};{Q@g{{$ELq^>Ke8Q@-3z zT@c_3?(;AXglX^1CaU-M2TlBB4WD{O5+)_uwaC#^9!Jc4jqAV7L2h0CG$Ph*fFj&D z6<)#T3lsQj5J{@BH#p!2l3cZc))YnaQ>?rr><_D^^2-)lobqd)tOfLfU%GA3?1rhF_s(7=FWnl$m9b_NIgq-7s@!iIN$TsbZ; z6{lO4HKV5a38y`vr0k6wPcqsu>$m>LN58=8qMaq7^Yj9h zg1O%l@{o%(y6uZP=IOjLJk4p+rUAW+qg{(Rx{4E#otdmMKkBFsGXFWu9UE6F8W(`O zx$;(OLmZB&sRT6XumZ3Fv&|EU3s~A%mdB~)A{uSO1y^PW;=IG^BSH}{OGRFG911Go z&PdSwWYYQHVa{Jx>SwgZ+@TL#y&XLc^|m*{l&tVttu3y&Yq~T}sn#B$OnIZMFibk^{y@ zO0pEwf=3UgxBF4CZZ7@)j^}w%q-zZm$}~3FDA3~Fq&`O{3&F*HO-**Xp6sdVpov_Q zuj`lu;*0TQ0UgK1HV^OcdUPE=cuuM!jK8f?jhhROh}pSiVVZ_ITRN}{w*Q3LH(nIO zmG9a%v@(V$?N3N8J&Jr;I7_Y|y$fMBMz`c_@{02xNUE3nnpV4!+qfwx;n8gkj^iJ6 zt>yk?U@ERY{Lb2B3Xx+IIWZNyLrEBex=tczW-`Lc+`%SqdqcvX?6bErEn|KnY8kwG zVY0h5WxP#rlTiZ6m}K*Cw{3Z!M%qq`7ugZD#Qh z5}Y?5-S;vT`!MCa5U`xX3bvMdHwtWiV(d zJ^m0rhqa3}up}7Ek9R1ISWsYKR#L9-AZejjSIX7s>AM8cRZ<|ovLNEE{@^YSw@^zm?3Y2R!V&P%>=hi6w!PhQiVwhvZITXhbGhJa`lUr z9VUiO`(bR>pWs^IRJoT@urv@jrQK1Cg$G=gj-|8Hm}2?pu(17}B{n%Wqk3QhJ8ePV z0rf^#+{+^M*D(X!+3=1bN|Nr6t-*GjWPBr3O?13@K~OsGTmybZ?oNyM-tUlln+xso z(r06pF+(r+Yk~jm|HRTt%9Eitjp{Xw)pyK2 zT~0pgf^*s;Y3S`!6v4npP&H8AZE9%_DyD?M_Sa=NI~x*0vUk zk3-XNH})t}1x(4wE8<2{MOR$)EsZ|_U=Q;S#br2}w=)ml5w;U9`sL0*YBDDTr!(!p zp(@WcL6*gqZ%Im$KjY>#c#=xqLknFo@*V^|3kqarH*zT=VHOEYOm_1mNSlJhqbW11 zKC)9mvuPNzu*PIAba)|-3A}r9W&C{pLo7yt^}#bNOs3ekLsxK;arNgoIe?l*iG{7N z;Y}o%G(dMZwvVIvuHM<>+kA)8bJM9reoQ1mEXzm@yUBn<4jbQ9P2*Ni$`NH?>Nn;b zO9!LCpZV5dP$*4lyNG_tjBFPA)eZ*lo7UrA7zW~-6jeZjOEMeO_`~H}8TlTh#F53( zor}ge{*&j3Q~B>WjRhUnPR#>cB#=F{M6w52*GGupf7qjf&cW3d!Iohom}PdNcagd<^L8JD}(NDU%DW z_gsG5K8%}9H5L;THvs#?mWc6$S1l-(9B!v_W|d90$&?uF=osHoHDjOxEmMRigG0oX ze!8J%9Pibp6it1%=5vTa;}(n8;#j6r>RtQyX(Ebd1XLho-b^+x+xG2H=PuVZiNg&M zVHA9cw&a-in3Q}*2}O|JmOMMkKVSM8#8cLOcxoD#tkdLClfb0XRrbdb$6M6lxKulJ ziQ_Fg>71#=D%+B&-bznADwAhKbm^{_gzTf7_#0zCPZd>&wTlfScD%+!|KG{mAcPR`qIa9qxTsthwzoY5EhO1`qv`qYBX(Dg#O`MMVnoIJFk&O>~s}YHt zThndEm+N;{J_Km|8bB+qzVj6)Q{ChkzC;^?&&Bv$qHIo!CzZ^J_w{0CBJIw3Y^q&e z`a~iro4LR{pjHNBfr(`NHRv?ex_ex;Nd=}&kB+-C$sdU!&=7g_$26Q}NXzbQUj{hI z1L5#>+^m?HNP}#?WoG)xpVjxwR4PcuNAGv{<*0T;Kqx04WBj%6*|=ExM)9eb0Ww#{ z*dM)56!G=S_o}0msK;&GyL7GZzYJh8=$g z)vMmCmgD>4XPlPZvmC2>wxk1jwPOXHU4(!~zIaKGoF!Xd)9yd;U_JihG4+8M?9BLr zXC>=n6;t@ZGEo4ndCcE5T0KY08GYd>vmzO>9~l5v_3UGK^p2z#mm+3DDsY_sE;~;f zO2;uhmjSYZ;&9tOH(pU%T!4x)oHbw9K|!C=0eK6jO(OTP4TJt+?gsN&UUwkhx1AM;)UcNwkxP38}9BM;ngFoBbC$b;p#|bl7P!{ z-!$$Y34Ap{GETREwa>|6S|~mIv8RWp_3JfR<7sF6t||POl*M;4M9RrlqVZ!{BaX@6 zjvwE^6>Ej*N(LvY(=};J?!J5>ViZc#m@n`$xwfxsnxtHU#B_`-8@kIXC2YPX;kruQ zHZ$y-`}=Y3PNI{Kq;J7Q@>@H{u-yBBSFxp6G-6=<#;gqQkHxM= zuqT`UgSxi+bS+mj&8Mu0kV%R+zOmG+S;zNVBk|9u3~)o-+Biq}aU9pvYSq9lz1L!t zl1ebX*K7_wX|0T}K6CtdTwANf=2yQw*z^=!Z zp{_Ci&kO8my}KsudRWLCV!)&I!BcQCGc^jGZPexk@WN$;yq{QlFe<;({?eewl$DVd zXn@>HkplxkM5Sy*CzZ}gGK%Ih&BFx5G2{MuoE@$TQrXvd*6k5oKN0p(?_G;;_^O9Z zmoMgFk24_BNRNSdD@>%s=4+l)4dM7yfLPJfn1Y-};v=oSV`{^SYppxYm$!sU@ar`= zrRyA{ogJy8-Ch)`KDS#ZMGD_lZW|PVn{NBkBjbuZ*S!U`;ctT(prMlDsy#>tV{=Qx zvbbOx%I}LA2!c*A$&E{5JVORn`{hUtUz7*MvmGrS)Ce(78rI8j7oQ6c>=Ak5Nv;RZ zo!JFA)oaJ|9mK}9&YhpmHKL8O^+W4Jq4XzH2|e*3PNOyMlD7nTTb^ngS%_#C+`1fE zCZeRyL()Jz9(eK>2LwO9tLu4onia^gXH@0y2pa_S5;GHdQzvEDfkd1TOO*Lif%%Nc zp>VkN86Erb8i&V?Fo1p+Mr7BwWSc@t{rxGIhSo|;j3F~fQQHA4#ixy7UgIoV)q?(+ZmPUna&1=j<;_ zc|49=G#Ga=>?hRDxVauiJasec@auL`@g~N_HjU_#Q1x+1+C~)VmTjBN)kIM~UE$~* zV}D{w$ihVmONPCChtqGAO3XZHEC#3Gl#}+<@ssf4)|k+H8}s0JJ;pow zldf%&e_02OOBQdRCSpLZqITIH@4esnT58(r93@SQ18Nm4SKKt^LQ-a$teo4r%z*F% zeLkzut51(7-m5nJzl1df)wFIe@iVEwrfWo_6n7l~8@o&vT^bh_H;T!~k?L??xWkOt zGDwLZ>t2O%^mnH+d~=Zps7Ev3De*?eBwgcE2VKkE*s{k3@7*?1>hWD>^(UJCrX)+4 zjD~}gifh^>VVj87rnv`alFDRCcA7R-%X zqloz1Zd-)_H=4Yis(_nU;kd_IGH9q26OLHf@DJ+EJE%4Vzr@2VoY~bqF=2I%D{poF*>=Ir&R3EM8J1( z;9KSfa!SYrIOW+o#XZNaaPXwwA(S41GIsI%gMriwEDJZN;~V*=Z{AY}fCH`f=?HU% zWz5ZJqaD8fili(4UVF!XpAMq=LwIIFbU>h)>0K9cm6uB-R=dD_6`Pe`FryzfJ1o3p zf5j`R+_GmdD^~1 z>ZO1EW*OBEn1GfrXL9QX4U|sbKix7j^7MR9hCwGYm03;^pUh7Zks><#tE0rOHP|zs zK(=+rLWl`8WHnJga{7P9IKi%}IOa4BV=sPev(v&ml4f6gRnFy#x~}EgTVg@^w6zj6 z!U*8`VB`ds{M4V2Y{vOmS#S>cjPmvQsb`BcXnG!v>TFC6HU}yo)xr2`d^Ud+kQ-8K z15iS$;GFr%K2ENUN%fC0*BycNMHS-`R6pXr8MM`RfX&M367#Z3{%?laWnXwtZp1R< zbv8qsxky4t0!5K)U=)xXfP^L>0s z#uHAV|k6FDG)(V@;fugd0o;II6S;w_Mh#%(&!=GT<=MU9VCf5TL z%@sARBsG+DyX1@vle1^!;BedS0zUrIU3qrKx%o>(>z0R1e_5jLu$&lsrA-r)p^XeC z+@;#k;4qNmDZeXM3E-G6HeL~NcK>`V!=>e_&X)(v`nk(TO|@_pG-5?ouc1xh?*f*eB);k(QzqwaEtExab(k%b;`$AvtB%_SHvE$gQ+ zM2)7sI+&N>MqEQe?P9r3*M+!_>E$99NwYfwIOU)@whyaVZ6k++Yxn<; zzJ$M|8#uA_;XtjENCeDkhw0SxJsYPTha{+MU-?y(5K$jUigYOtJ2%u}GgX{Sj5eeT zfoUM;(gQovkZ!4b3Owik3e@fEYupxfUg`v}3)Ut0kz)EQ7&AqwZKEuK0uKAsG9CXo zXi*oR?x%b)f3lfy6sh;*iTMtvp-e8gmz2fc3B%`F#u?7IzdM{GX-Vj2_cWVs=gm4k zEzkZ27LFA^?@;=aQQ5uanXUJSRtg-%JL>$sAz7(fOZ*4>+PXn`KBUP&>krMm+dPkN zT1cRlPQ%PQ-rxIUg>wCb*Y|RmqVc>iVvniY=6Bm7BB;re+ z+s~P0gax-^ASMzLoW(@J5qC&t40@_WuFQ~Qqr{*GO~4ENHMQp zCVbU)`N+0#6(3)IQ$3t^0gHx7DlU^GV;q0^@obMHk3_BUEV&*TcM5v;@;YsR>(Njg-ld*=3tRDpT1(sYmZ44 zI+BMzYDc30gQRT3arub29&RK{WGJm}&yqzRgv?7>%+|q~U4&C8-eL7U^w}VVKHW!f ze++oE?HO00@Rsgul#yBUa|60|BC5r8wAhPyhqCuiPWBFnVx2=b`IHZ{A-tqU)DwOZ zacrPV&jM7=)#F!sX>$kAvg1YLX>lC=d6X_1XQT%@PwCz^g@?3Zz+WS*ke4Z6TNyGh2+dAX-% zKxnRWLzOP?XfrjAf_(A8&$XVi6ZuT#1l5e-FYz(y@h%_XM0Lf${~0!Aw#jDXDVn_F zVIp5+L1k*Br(`dR+cP6_zL{^&PfV?MfQu6Pj$q7NI!^Q8fJi(3OtxwQ~TCtdiMqzj7 z_Rk&?vOCY)QW`%*%JXeK(|@M3Tbof_RZb#Oj2XIW(a)CGC7T5Qj0@-*oMRT>ZjJQW}cuk?uSL2`kMugDa)cxYpR7m zarFaL^LU3CiUmY#BVB33#f0&iY6`R z%h`;A;c|K&{V^g+2iGT(lk0BK#J zIZ^Rv6SR^O@@7i0qBZ&As6q*!U`u59<(c8Wf_a)d@i8H7&ujZ_6TO_0rZuG!PURjc z!_7x0{G4SZRpUTkObtYw#4U>_6F;T@J(Q+`bZ+OEEdGSpPgBj~k=>^1R}z0w;qK#75nxB(9*{38>&PBstNg{|{& zHf=BE*gebK$^6klI<09oYrecod&ku~V`!OxOe>af$K|JZ8qaKKE&~&m!%Zy^6-W5% zxiT-j1s=7){V0>$qD6u3duq;xm&llJwJiw|N55had^$462So)`=CJ})$O$|b#~ct; zJL3YU{~E5haQYfwj7;`e@rO>YIGgG8t`6da}FRB%a1o7JR$4zN%Q($(;vHZm)17k>j5|ROm94 z_WSrynrtDpba1H}FVm!Hhv;i6^a-uO)kI)~D0bTifbKoqi}v0U>yCcSG3X~hfwa+` zXql3Wv$~0D+*v~j4cnpg4EfyTzgZ_v19z4{l6LOA9x$1oofDx%2h&1PJ$?#aVZwrF zeeT7Va$D6lyLXoWVzPozid8t<35PE2eOE)f2}daYigOsfgIN3^#`CQ>Gt*V8UlOf&f~ z4BpQ1#-zhOxt&dYn&CA&I_CE5;k__#&;e3i#HZ^O$x9JH+3~k1hdv zG-U!Y*EYATmlEYu2!NPbh8v>fP|wjVzJqBNCKrC0(B_O&it^7&+4dw{6n3Kq8f_dn z5sIQw*_`}ju6?mWObyoqb@F2i~0JAurWxlyVv7~52Z=qhucvpg&&SJ zM2E!aimddH`TA%0D}MjL8%930p5!N{e#~nEKPEkA#uYxp(N<`}ehY1A7lw9169wV~ znlUS%gYWuPO>6-*allIiO>AC9D3T z9YnLHyecVkn^gaq_D2+BbRQQIRq*J55{fjd8wtuM)4aR^nHM+8WSM6`p`Uo#r6yh` z`sznyKih_EXs+;|50jBU{f!ai2{1CMm%`yLX`X#DXqObm-RoWcOVtjCiGlu!8WLaY z(Sp2xLhRe>O3V})#C9k6>rMq_9B=GLhu#$`?>-r+m~dCd*d&&5j%nd>P2Oo9(aFVC zKeu~b8Y zJ5+%ud+2yWejZ(}?g#tdqoU(Ijg}q&wX+~k942ib`V-9AqSmeu(62 zEWXn<8v#H9pwTu(7he}vb=wog)|y9`N{xU}!-J^%i7@piMh4$rU{Jmrnp)4$8P?Y6 z3tNrbCQp?}1gPm+%}bwy)cJ$Cy=$HP^%5Ip`(A4TzhBPX39Y%b4Jnepx>vM4{!R%p zNr_zR|=S8=x^Q-_J)Q$V7RHYjB=$cZZ{k+|4wFdP!3jI23h_I zrk^2!S5}r$>uOd_yZj!@mbXSZXViD8+kJ%JrEpbdm>8%)6ey?3MLNX8_Z4+~)A40* zpHfK~DqkPN4b?h&{g9BpaUCL`m&H2- zHiOmyoTT{T&_+lf%a~ime~O{S2a&D?()&Tw-A-W(RKHM8Y-R(Hhne~2R>l< z)T|YUGcyY8rNew^8z*86$!QTVc7HyJcT{bTa*LJ;Hg2+7-i5@z9N8#^?n$bY@evEw z)qNenr?@uCslLk{%8&WR_zA2(uE^wBf-Tqh1v?_8rn!Tni|e;!3<7;|EDckZZ4bDX zKcfP(uuA_W+O#m*EG2rANXh4J9BdkHfS3b4%B*{`OofTEv?2u`aHlv^{dkX4pws%W z-y(^kKh9NuQ#E~4U={bPQ3C|tVLke4lQmLVnefyft0TUu1L>0jmf6UZUlq|=xTX>E zidMQKW-6|W%4GfU$7|7DrA1e(@N*J>r9ffmu{+d|)?_01W&s?{;t)0cyiM8>Y_WXG zUYP!_zf8y$Rf9X+VrSm+?=?mbi&R$*;cQscESd-fz(Ym?C?_c5in3NBzOOz>l zzJkh4AmxUh33R~jV6IvuTc3v@9rMdn+VSdG+_w|=j%6Plg$r{Z8!w%53wScZJD9CM zA(orSQn=Z}4xDyqqGoaL?b8RZ5eI&(NKRp;ZLWz0!{(Sz>0@uUn0*J-tnu!>iWDYf z%YBKmK}3${Q?gamQCT4(+<`t~dXl1t=~S&BU<7#uDsFPzmyZxO+fEcHksqvmbNY#} zIf>krySdN0W{rnD;dYB$8Xsj5%<3mY6zYLx;N3Xp@eMi}vXDJLv?E$XjaPE(45I>a zUnYypn0;1v!ZDU~=%#Ep;9#5MLj>F`Vb%;j=_sMax11kn=^j?go$xn-%$w64mIWa1 z2kuWMo+cuZaPV?QvPhkV!xC_^_nQpVY_;i;M1JlXobgVn!_i$DLRWwTZQ_ua&vtAW zGp*-BKUsMeqxW;Tb1k`ZL~IuN4zGWCHHB9-+Hs2DVb9Y1u#}dWUz9=Dle&4`*W^Sc zKA9!+3lz|V^LdBUYHyJ><+L{;s$eGINM|D9$Xic4*c&|W<<94F@^zs(By!H(p$Fiw z(i^5-V>;IMr9s=I(ua-SpN9l0oYInz5*Uc_0()ny*^p*(jkHU9vcaKTMJ6aew6-2e zyKoN@H-A+g2$rZ<%S+l1BdAHAe?zhTfp=l|X@L5AvQ4zF00J3CDDPml{;HI;@iQ&O zOIJ2OQG!ImsDgHPHHLM{G#dEQvwQAmj{drC>G3TPtqYIhvBA`UEn1KBmrUA1YnN@M zYNGz@qqw5m^>S`O$v6)TiaPa$SGzpa9x?w?{(4P%cdJu%3JKh2H^Q^HqESYPT&IDP58DoPgBL>c~h-2BO`?s|2r3{^| zd|^Knr+LcNAZ%wx>jN#;BY%lE_5fQEa`dUUbNjdufcB1l89X?JiVZ%5ONuuAS-kxT zcIF}>+Uh|0d-(OBZ~x;kHR-Qg6iwL?n+mcf#&H-&!2z#p+RVihL{;E21wKTo4rf)8 zuG36O%22n2UjpRIx>2 zGg|D#Z8cg+CAKk3uf>~9An58BlhDS;=9BuQNP1h8G%1;Wa^$BIrLFNHt&q4z)0|Ly zf0~2%Z_>26Wmq!J!jNiQRzvi>gXtHFh?;2SAy+mS=v221ey(^GorAXPTR$ig>Nmzh z2OW-W5@X^cq>6d05yX3wbJFP2B~x*%lLW>q!oEHcSCb!Vc3sG~u!%7I6V29x*U)Zd zjG1Z!xo?wOiQHV=hzOSrzgFJ?_0@@(n)ps`6Ujj`u-VcR8GQF^7dlT~OtP56jac8n z#(D(xX5SoYA9yW}1_q=G!J8A{&0DUD7tgsRX^f)rS7~kRyoqz^Wt_@Xp$bq(N~s z_t+Q?t&{)2rm5;aKrpFl0f~|CYY+g|!}UYefBe*IsGvmKw4`JARYuf{f=_&RCGod1 z?`+{|$c=-DO(D){b;lweipoTI!Jo?D)l^fHDE%g3|9Lc0IUT?AEd_M+H^OIuTUr1k6+p57E@|vKvvFPXFcRN*WmFU zpBq3IZeap2cPiW9vMeU(dTCnz zN&o0_|ArgWXxrj2&b$8m@bt5zoQ*uDqp!h`ARAy}BuTW+sF3SGwrDw-NRlpgz`*c? zS94c>G)O_@z>rIBMDtWv@H@DlQrA}ZZ*=`6DPc3Jv0p+?al*-YU)_^p>ZK(F%&7U}A6iqo7qm!>=!R3@GMeT(c^t6#sM&Y_q50S zHwfxGm{v!^z`RLF`)T5_D-eL)smuv9%n*~^c9~#2=E?Y_`3{bn`(938!y}aVGmD6O zGj-_VE%xQkogEq6jPC>k*%^X1Zk~Ebw(SN3gPbPCY}ZDXM04co($q;g(XgvP*11kS z2{x{?a#wC&d574cg7;a0CW5`$9*2qV+(m-NpKLv|eAFkY`<!}S z{>0V3K2b0c6PxkeS-84qMVa`l(4pE;!1%Ild;nGN7&~Afl;my?xdxOxE$6%){l3-(jJEWS2O%mDI$dt^vV``{QL zd9-ZiYjN=-4G4B>scKGP77jS7qvNVX$(&WOu#sF`Y*@XFC4)pt9scy?JeFChP##CU znv#Ekp~GK+G*ir5L`=LNqA4|iSRD0e<|)SeEbp$=1)R4ZNJ&+L69)4h?i7D=q|C-r zkscyn&Kb|Gt*ya-XBcjU|D(F$C&+%LYDzyRUq+NH(lR-K@ZY&=iA;_s!3q{?i`$^K zqwXp%Q5zkTYW`1DEn$_K(Xj<_h0w@fm>C%9n3b;krnRK*ydOEy-$ovwINz6vS$ZSk z_o2*N!%BTS4<(aLEkpRH)0SUunFwO^BfBktGYjtLOUspd^bDmgI#Hv8oH*~?hA?=C z(-Cp<$rQ`WfVmiwp~}5wD_=HW2_*jf;qFiv3XD4ju0t_MT~)(22g!Fddw)3BC)Htt zWWGnm|M=RFiv@w1Y-r+0(;!Xf2k&^++^tRLursWRtMw5^A=yLHjYjwp&i@UupZ1#A z&)Kkhr!~tiB}oPIs)#i>OukoPFuWS-16t37MJ!kv{FW|?sNc+2AB;~0)UIRgTA+~~ zBO4kgTZ8d_S3Z-KYXZdmVK8b~4HjAJa(_uGQkZlx^&2`SaBo+|Ec-p2A(9+zM)@6u zIq3MO8IFena9|8GE@pFs@vs8mH?6$&6-Hyx-Y_x&tJ#tf&Ez9_C6eInohFGPLOxW; zXKjkKyrZ{)$zsOzxH~{EGXCg0p1#TyB~xyW>!j_0YR4Ac%)E=vlk#;WOUZ2*PXbUU z1{S?DWC|~hkuEMzT_|S-WFXy-Ia^UgLe3~Jh4sJBqOst?Y}|D9zLin&G&xb zYvP`a*Kar}h9QiBpW5dgR3{gRi+O|Eb>trxBEw)S*R`n6^AQ*6%CEl+w{Y?qEqDxP zw_whIk;hf_6IiQSpkz{F#D{N7aXX%@NY4K8Ytkb1 zDgUVcxXX=~j&MMRB5CuINZ~BTCrT#UbqF~}=dv_82|ku*6kWGSaYDC8KIr-lupe_J z@sg&g@(!^7^fQ}Jex%b6vUvZF?JGRwJSo#{qyjg8D9Gx43V{HaIvPXl7BiEva%2~qyeOhri8^ODC+LjFDqMx9h#}c7r%N$&X$^UocUT?baH}?l!D{SA8BDmc zSdyFR16j&R&R1hz7{~mc%&DTZM)2r~FU}nEn|^iwMAN=G(KDGBS`Qp~6CRawr{V{} z${0y3vBSK*@jh9BxyHuEXLU9gbylK&l3AGqFCE(JLbGY(-s8YNF^ww`-k(wEh> zYBsR(am)^zSx}6}14pX=VX$q;1?=!+TR*DNBI1UtVb|XAwJYbYL-Vq%voGxWvYF%` znDRz-HJLoJ3xW;DQ0Ld4^I9enKJ~e+bADoKv#MKz^ECO0N4*=*%_O$kKN6Fv85)oN?IO;0M55v@H(sFHM zWOvEw_PI7sEMLBY=ud=F9GX-bGmQWLh9+=hpT<^Wyo;1twDUZAu` z0`K67DYARNx?J~t*I7BT+C~k7AG=QI(~Qz|S6AGg1a4wHhy*N?LTDW6j0bZWo1l#3 z|6RV)08!OKJmRVwPN-b{8!piYwgGB? zhg3_a2#MT{pOPD3%ksP&wjv`7%2$0ILqy(1PtAw}jEmx8jkpdx;)$rnVCDS8a<^DC zDM!{QS?0!RZ?b{7rI!8-RY1bJYmW+$VSl$lqFu%YvLtcqK0kPZsqCT%MuQdU-A^S- zykRh5B@O)Op9+QD`FKc2@Xsb~vIAAlo3%ozEAvxxMdXtcfFox6XI=EilTDv0T#B(D zC#7wefRp$qrRg^97Be!px6O3xqQ%9-;+&^-qJhLYr%^BvNfGt^xv+ntDlIG}ZrC1f zmx;jhj5m5!N2qk~T!Cht6@$5X&X--3pBCld0 zK9@%V@W0s+JEb;j!^;gG*ivVQ=cE^6VdOn7&#NCG2Pj( z!jkrOOY%Q$SvT}*P)>|&N#@fI}*S0W`5(f$~(flN2olGM}v!>?X_MnQz93H z(6{{Dw#oSj1)`~qgE`>|{X3IUxi<+V?;p~a1lDla{2vbao@WZqE^^s1)7IiYo%AMaVa#|2#F;EfsvXGa=t%1;U4&Qq5pOnL?)nwb## zyiZwk@fqx92`*O1_DMgk!L-*0MH2?(@X^_KIma9BATxsVX+nZY=&BzllkwF$Vk(y1 z6#!d6q`%AxP=x!7OsjAzRxSR|(e^@^P5amclpkF7;lj_7F1(RQl5m4E9(Fp zVkqKkBQENNoNTr}RigK)(}3qK--;lLsaFV_(s^7U!!%JrA?Nh0f@akSbV%U?+ozW6 zI(|Ok*W@&bPI_KGn#~$cD-xh(rXs}`ACI%{hyyY7cYr>P0u$&ZYrf&2nW(iJa0SxJ zczC!WO@cTcN>mp6-M_U`$AG&-hxZl2f`h;{nerhD0!fSAL+8a_(niCmnlQ?IMu%{c z()HCc5zx`XxxSbCtXwbdm9wtPImzVw6$C+QrHv9gC}@{h0&5f>ZjJzzoGxa6KqTVH zM-c<$we39F!t}Fr{lvGn%3!Ob@pZyc?Z8!z$w@oI$QVl8Vj7PAksfP8yVerV*_|Y#nu*JlDXg#08Agq( z9da0&Nh-}&oa|UDSgX0u`h+MB_+TFF$dV0Z4hd^9P;O@TwdGHdKt;2+EDl8zET7HV z_d`ytw}}sJAVN}#`vbcW!ib;(N;!3vl z$>OpRxO|er7;&1ZYZmQOJ3dDuvI!`w%KzwIFkgS(B#9geKr7K0U@hi}r#!x4k@92% zj?*$xC0LvH?kBG6)j*jU`>E#@yaPG=vyoikF`M{m#fc2fKrbXIey%Qi#R%1K>VKEdEu~lnC4M7qw)H zEXl#Ga!I^=z5|@*dL4(M^%8AGd@^UXg8B)uPJSZ9I$tS^r%ho0t}=U8j`MuJXE`@` z+?NmQ;==>fG4cw@{PrE_JET_I9ZKb(FmH#m%Oc(e`$3|W%s^eyK1PYjMS7#J<)T*AbMI~V4KSr6BTK;=P${I6XNpK zlI5ZFEnB|T#^Ev~nGBl+v$Z+Yu}XK@=@U9j&e=fHYqph(X936g{vZJ=th?QFhl+7D zQtkmQ*)JyYrz@$kiFiu!B-^z-a4QG$QEi@b2;BC}U!?FdaBQzQo;ptSO_)4S!?A-# z%a>hDnNs~8Zg09-k`>|TUKuTph6zQ6Ygn{J>w1_f*E^cMAMHzkYWc&N04o&Y1AUo+ zl_)4K(JA)PsuWgWEZP;z#6M0?ROTloCcC6Vs(?{x_9mz{qf&!@U^&0>^;B7hDz_<) zXtf!AitSM}Q8}k2K7E(V+}EMuK>3miHqr1=qP~w0m*y7A(e9C?tSz>eTV}FW-6n^a zgjnb_Avx%icV`Y}sKjoL2)Qf%B*Uhlq~(yCcU-;cg|kVa5lx2S4U0H}W+X&gzdU0T zM0a+hnr898Y`uOVEMsz1nZZW-Y}iY*|Q*O~^Hq?c#QUlbUmhtx@X#|JQo+68w z%_eR)mrH*ZZsS3^q3BMmiU*1nsS{szzhmmBs21HXRJs(mw1OEBLu&8hC-uNCV80wd z$QpC9ZsrI${Pho*$zns=pRig2fU^mkXW(4ve-TqQ&M&*R`!aUKy-uP?8EnWSh93`S z8HF*w9$B(4c9bGH+C%`(raqf8L~eHg^6?}_i=dOT(L*xLi!0Ww|lN}Hle8)y=RXT53$7^AL#5H!5!Z~HX)x{(>k+; z>kgH-=W4n&l=`m+cDB0?(q@qtK#5cc#tH#Cd_hNnv{(}>0$a0C6*sFGuFEr9Qi{18%p zqPu!@6(i0-#Ka_`hP&PBgRgkJe5Mim>^NKt5@VE+ypKtHrLaF9b;LWMyJe=z+a&L} zoBhdu>-gcg6F8%zb^*yfp~d5NPY&m+$9h7|L|URy_~dL8)N{u{+{7x>gtOxyY(l?1 z`mN;YF{y)(%O_(vT6imCFa`a4F}KrJDz@zh_ea9(4C8SX52>H=QS+@=Y4>3@NG?8$CGV5`sGn? zs}4E#X+-~yqfg%8X`%&f9;rAw_zWk}NIAeEFR38KNU&g%jP#I?*#B*(Y1$FkIg3E~0z1hsR-#%if6l z?{HENrw&ILYgsqABZ|IF(*H@qB*vL#7r#yD!Kj%EX0-#BBB1&)$vt1YT&dFs&%OrM z?hqK7h>2xmi4_F(pV}=6yKEf`f9>o;wTq5ru-IyY7pGdfc*hr|PfXc8Wd>V4U~ha`?{Rt^}u%?h$$mkdt(4yj|8DkU@8F`DIZyiaLCJF7pAE|;sR z14Pc=CjF7x2TaDK=sfuOisQ{N+CWYo7{VMK&Il)yCUA1m#y={mi>F9S(1W5qd}#QY z@5yPL`H=p5p8$#j@QhF{h^PCf43T0)vMj=5D46;9$R;D=YU-+af|!2*qwxi6D>xA@0S2&rNcPa7P! zM4me``u1721V$!G!FJGdo>i4zF_j*ZK4@l)^R*HYlzS3ECz(A3H;-^Wz>rX!nq1%k zyX`P%{GJ4X-Z6Eg9&AiB%ChMViNIs#n2btX2oB1TQ6YI1%jo|u$Ubfmdugoyb>}LO ze!v-VBk*i;O?xF-HYc*C-A2)7e`?zE1c#S++gRNc3gpNB6&RW;WW0m9Tb8Wmm<$MJ zp`KmHnPY~7*VYj`g8BqSQ`_HGCs8gW#;IMXROLJ>*wHENEvc326+z{5-4)}zzhm6i zo;L5sI=<$WH|89ZetAAin(6K;Roojvv<5e?+yu0-T0PF>x!nKp=*~zweFb+Zn**$! z2Hu)$B*PgeR^i2uH3mh?YJxk}vSHTcms_!MAH)|h64NWJ2byy!m)|oq4~X-$E@j=| zK>mDaCG!05naQc)`Y&qru`iGh=`Sl(f%LBOVq${o!{~4~ncWQ_HT~U^#=oF0bhs48 zOF;1dsXPHw!M%O7k{QUlmHjJ{y``h-jd=<@ZrIZ*V9kW2y}ye8Mx?YH$JPab*p;|~ z0-3qQ`(o4{6@5IKxaH!uy4t0lIv05*U*1ig;wQG24X#>&=Sh9HPL|!_NjSlDO}R0i z?WBYTNPXE{WopAKWw8;zpn}_%=ADA-Z7wv-k6ED3_Lk@WXQEe>_``9x%{wt1JAq3c+Q78lC|2tDbponO7_{5@lW0vgnXd)~oxibI9D zeo!1Pl`bb{uMbZi(bOmv?rs6l&FZs>Jnfj6#J}=PU@rFZP?X}|sMKe*m~ghv)c%A? z@G6S6YkN{<9h;M2~}k_?s4OKR0B=Nj2yHyahzPv4VlMDVo6>~Zu4F%mHVr7BCOt#L%}5X$A9mD zK@?e%IhrPLrCz^f+7x@w!1bch8M`j%YM8ta?02~)KhK|t+J$n<*8xak@})exFjG+0 zSs!exw9Ck(ktyKZPv@K@VH#y|V&T($EtwQb9}PBtOeXfuli8U+97evXJhdBU_SGg* z0)5LeD7#e>G6@mJgNUvRqKm=KeO6|7rN$wqJjnMyM}6<;rOLnrO*U**(A+s^clylf znB*Ann{gR&(7UXh?8{{fzxdfioX9XD@0e0c4yMV~KbnOja&0uA zZ4Qj0A>>c)?YqsLe?x4;pUTOkH%xA2cIKDiLngz&cwl#S$u#iu*Npz9MsxvsxTH(^ z#Of%hHt*S1<#YT^lK~kenqh7-9C1><$+X3VoTEH3lvADGJ3uH7dJ&GVeFt&Mxn=gR z<&&Z+EvU%mdv#$Lz(id#ldN^Yl#AyP!GEg<|Fs}Ysl*d^#8b246 z%@w=bX9xCAPW5-B#Hi)&I^IzpM@VhJW#~XN_^^19?7IGKRUYDciVLRe8v?8L`_@-% z4GFhZE+z;Zx8ymo>08}w0%wb5aE--V7%FWWoI3Xs=8v8zkXM>%ZgV^gf?7QMc-BQT zaqg1hj*$Z5WXGM-J4}dRZ?`PA^3G2#SV#2(4eb8Q-L%GXw^+#8Nc%nc1_CVlt&TT2 zvad}k7^9{$xXG^Nz`z?v=A?9Kbwpuu@qC>gNxb(v_k&E*rZF=)g{T^F@_H~?@@09x zBGD}DqKJgeivL-~Gu;@l9cFLK{$Ej?xkaHQ49wZ)1%J>d;<_+3i9h<@IEi>f*BVjC zS1|LA)&!6h$0Ca4e$a3^T41+!!H=6z@w|yozLS97(UpF3?)F|+cO#7FjDVnx^`aPg z0l~5~=SE-t2jFID37V%o<`PAZ(PZ?0qG{i}c$QM&bwYE+m$Y7zKi{$<=7&<0VyUXK+%aq`p_lv0Tf(eE7YbaZ!M50-ET<#8w`-D&pkj8F z8QKT~X1!x+pVYRuw$QM~JMHo6!oQh|(!H7!f{evDcPtu~&Ac6WQO7gzEpn=}@%v9W zJ)T43x@w@(L1NcGxSkk8#vfeiq(#V)xYi;uGj9^Da_0@MzH0)S8{M>{PxT$%+c1WR zLZbj$bbqlqJalPWc*@R5P`MmvW$XHIr#586w|IR?o$Vqhnu!DI1GYV+^j~fpFOqjZa3dJ?`FT%T1PBiXqP9Iz8!hzC;)lP3yKdF)Z znPr}_0-dyPz)>E~-YRu5+=}W0R=O9}U^B)l;~h_%w{3eZs^`>EB@hpnTWDpqnLowx zMrPk#it@>*)PX8;EOjXODV&y#%zgrEX=>M$J5Rb#ak%rO>IKt!6g5msKrB7gsrHw? zp}#=*PC7pY48hn^zoY5Z2)s&;LjP`eCW=0p&KP4_@sWTunr0_S0a?vwm0CfZmQx}T zVPE&FryJqW zZmmXzC~(P*U}!Pj7+ni6{OF9=rz?0Hc?6%dXj0ajH(rcWP8vZJ)e}I0@)zV%D(A zTwHr6V_Ry#)3|Z&#gKLs*6DT$BL3oK2qiOD8t?rln)aSVngnNNPy_Ll4>v`xY1$pa zn0~A?X(FG3TMudwt|<2Nm>#)k6#)Cjp2*Jc5$;AIxJhP6Q197-gS}v==9LB z8LR{iu-!Z_U!laCZJ|W66)QRJGc&Y<@OSA$Ta&=;@hgyLrjR&0zD`u(Z5kyWFaY9~ zHar}2**H@MAE>dYo1{+EJ_1wl44>rh>4@4Jf`lrH^iyl`m!8FBs$Y5-CNP}6WiWjTCJ@k zy}Nr8*vP|(fSl~f5mjO!jwFtQ4U62A2Di$_7#S0++g*;&tgVpRrl- z+<)n=qVcwatgTrxdkJX;m;)T74rAq<^1ZY%^gF2DgNQMS-NUdWlLYMKl$`1|aX{`W z7|>>36)ZK9?ZpDhHkc|w#TT^VF-XFC34y}o5v&0w1o0UBXhALx3x(l7j% zc;8X<)T!IeJqZKJQ}{c!t;bd~Hf*EGmI02NtznS70&@E~WlVhI9vPrh zv<{Z-bEu_=8scUXUsBdyhutA%woYQTj_1xOV?jpY8DA`61A&-eu1S>Q=OVgKO~(2; z|B0yO$)uD$8x2J;QHy08T{9IL*EbSTlTbaq&+4csZ0{z&z>>H(N6GmPr_rT1=#nxF zb0|0dJ{#EI2f89wvaz62I_G^WdkZ=h8;k6aD8~Ff-aW{g@}Y39h#K~OgD@FKHX`zx zM6KElbYXA9M@Igb)I_V^cGCjU;bQMR?*jlKPpYN-^iN8$&*x9C5GgAgv+yUfo+VXj z%S_f}3y~69CeC28n5a*2uz8fTGqK>FeITNR-uQX%U>XL0t2D`bon}pVzin!C z$1hCM*mT|hwrF&5(ToA6`(H?Q-Q;vJ!tloJ9abAah$YD)+`eT2xF69;Nfo*zm=3qi z8Z!l=c`$%U8xCsd;e4t(!9+jU3ARAAU_576duX_LAUNwrk?8}+CD-13Q8+4|)uVq33{n1FF*ZR{gwV=)xROL&`<#&`6;%`1yo_$bq&3N0R zvd4UyQq`EB%q`)&p<|0!q@{L`DALE#xHsD=hzO=^HuF$(yZTNr;iQ@zsIdbPHqdIt zzKo^D#r|&^q!f0+W03cbs0Spe*L&g~>_}PrE6U)_U(&3$=Ya}h0~+L-$7Q#Kdx*W0z!Hsx{ox-z`AeCP&1EzdjVDXG>hQk zneRJCdXwh%`X##DqANW*C2*vYee9wA`swO15NxAl&F11E36R6_Aq7u4NdcL{6kIju z-yo~{CG^??yZRwl^^H3Eb~*Jeud~n$OUbl2TRKiT4g+Ia838S}At8^SZYKW+=yLg( zYPXO&5K08fRUh?`aX4?~vSD?;lmYQ3IA3m2z!ASIDfz*QOOG(iw z5utXCNN8`vqm~Phm3fr*Q5#WoV^*GzYt$n2nHaw!;=hVRDO-x-=CqRfJD~dX1^Q1= z4Q;!LK`ABjmxH9J`D0$3(WIVuIM~bX&ettmHis)NOX7T5xZ`X*7A78)OkvtbS1ODo z?#?0AT`hHM)Jxr%nwcO5 z0Pz!W{t*XH)HLC^hc5sb8<44O((tH=wBTZ3EW_hVh{Vc8QcG8%#Dc*8NWrA zb(2L7v&V@kjD6Rv^^PXcJ)EUE=25Ua<-9=cz27Cu@M4LG>a@EIFRni^T=FD}k86n#^S~hB(y+4T5L<-B8*`+4BymTo6>P%HIj-8QfARGCj z?;TICFX2j}Yg6_ybJMXNhUampuVo#OLL8?jJ^n0_u}8xRhgECnrJZZ~z3)gmIuf$v zE;{4*I?z;_3~Z}1x5+jp34j{t@4R7DdnOb{`)OGU@&_NYz!pv4CPSFKCBNWwvO{SW z|AVvMt^dSxjLW`sC*sof?&UCQ&~dWKikt52%_kZAk#22LqufXLm!@)yt$%JJOsxdc>}?;~$vv3Jtv))~-IaZ47V z-vs9^B=netH9xw(pM*31+f8mVoM?@$L@1F+KCkszUB{cCZH^lSngr8R`qKqo?b8W# z74LXazCA#1I=-w?Gy&~k)cu(6{X;;3oP9sq;y=-yJv!y-gp8fL4QJFrr#>!YUUJ)( zAPzQmCQebr0cG*C1>&)|RmC5Du|ME6VyV+|pnyHO?T!N~hkW`yQa7HZ z`NLbZMbszWkR%}%r+bXEg=akv81s=j#k@TJfj2Odu=veOn*&z)fYEcK249Bl8z0^! zve@|_ud3rm@6?J9n=-O=N7bwNg`Q7Yhj{&QgI95%VKx#@Q-Fx(ElI1b*B^cP8q@ha zAm!}yekrD~{BnX1YcQsQW8QaQHS^Msnk8t)>>#)FCSQ5c`qN zR2dm1k<)z~QFl1S@lq6W*Qos>l4Gb&zrxu&1L{`Zj;}XjdFUT9+`}|uO?QLO{kx=N zwm)P$S$!mZHMYb#xHh5{IJ^G?jw|k(xdU>KH+D7S!}}+)=e;RsXC^$O4gp}|DLiXg zP$sNY+8^o|a&C)jzOC4+jJaSrG&%WQaQ9g1CA*9NNMGRIxKtt{J-Zqprs$W=Vva-Y zuc_T)QO459VvbL1n>dG+Bv(GnAX{K<)xC=YDcN5)TrC0>p5tBvS?POfh7Xfqlw`5Z z3oS}*EdIv$PAJ^p@sWaQTkahKx3x^&xQ~YIWnGVDbC=QnFN!ME_d;d zMlT9W0|v2~XU=xCwes)rZdNn9sF16cLO%b495j2cBIkCQ5-up$35hKgPH!G5AZ&Rb zr!*}C2Nx#{}rA~Y$2RPBy8#n^xMr+4uC#vjY6|D*2Z+qg!#Ev3oFIi~ zaKP2E<{xbL$XYJ-^CuK^{Q5lnVv;y;QKfGcJ$wsNGL+QnqlSi`y6(_AO zaH}7lFWbpHJCkNGs|GC3=8Zk)fABH#jvq*MB0CE;azSsEsJlp0^c8p^*?d9ZgWQb%PUab0TztnTW(GU z`OcuOZil865Pg@q*2^8Ge85a=L`UjxP)WQvq*j2%I6lwBf#pfY42u(hh; zo8IwHWbMw~D*0xe5zq0htv^i3$lf-@s=G<^`{Ga&n~7$jintUXmBfj1nYwpWt#8`J zmV^Txg{UE33TT{(=DQwD{e8lXlwDkdHba!wwF?@n6R_s<1Vry8%}-eEJ;IgTgt&M{ zSD9JDNYn?&=7E^b$ZjON1l8*~b5qp1k>`OGgCzZ!1`tVV)6!l3lMKlFAOS$FrM?V_ z@|-of8S9Un9u3H9q6Kfx#$Apf@!Wp)B>=KAGb*pzodygnm^(G7T{%CgaHS5UIv=WyOMh+REJb1ypN`hd}3GbJ| zYMf^&qHZ6smKsYxMSw`|OWFue!3}6`b&c+PAm27@u`}Q`17`7?(M>QIiO4~Al`xI; z>GwOJ-fTmb#9kZ&p?-Pbcz{zjYE8{kDE-rf78KfZBDCO-4{)g8VOGeF-{4UNv!|#T z`_lOOM?Q@=7l*%ATK7+E?TW30NiBpOUn&4?GFc&VHXO?Jb;I0AH8QrwRYiV&sZUZCg9Z>=cfS$;@wcrVv_n4N(&H zLfb?pA?Kd2w=(AqyqW;y-bS)1fDi44*|g~%T)+aO+5bcj20lZxli8t4UOO0P`M0JpcqWNh$;TrnqA>{NA%)oVK>%5_#u95Zk4=dgl+ua{j&(piD z{@ApoX&HkS{|xra$TPdiJ4Qg++*Jtvyay0G8b~<(ANnXYq$gb;HC(oNx zQ)3{m17Yon(vZPF?2|z-B!J1U`>e*yUlaElRey;}*{~9w)Sh9aj;xH}B~{V55^}ZJ z9H1~6XL??SK(ZM7B_4Hhh|4>mt>q$ElWDsqz4M(ZmWfE_>I2vx2)NRC1*1wr-DOr} zt`vo5XRLXWiQN7K)1MA?HVf_DsE^FgBB$Ng(TrJ;Y`|~=5t0VNxf*FQp#%9;(R>QX zjh`LFeL|>?%jub9VY!OGYA@N+PiTFfB+ewb^xJf{7;@k5c|*D-;qU-llT0$r6Q=<9 zD{j2b8IM2=eHusZm?S#hakWz}-sH#DJ$?fY%43)wpZP`d8+FKmwo?4BHpq_tHTj%? z+NeZUFdCY88os{#39O|A$dhscnc(-QD6tPfGVV_vmJ!9ZY<49LXq*%Qt=0{##`YHC79%x;NkJakzNZ zA4Dpm>Q78*T&<2t{xRfEtHa1OBWV+E(cveb9!hTaSE_T!Ns0U1Wv=*N(KOku9rk48 z32b3TmAq$(raTOX196G?tIe{E1g=AM^B)_yHtv5Oiy{ADqB?f)9m>|feMa0U|Jb$| z`#FlxaTK!zPkMEd#H=@Uzm-+eF`7sw36GK#bD!~$f8uCa8@}YtGoOIY2`d+_uz2V! zB({Ho8pW4dN(J-@BDH~M^AS8fLmcbVmZK+r9ns?tjx{Y+9IV|yo$u)O{=$^Fhw=Q%^6#~>C5@4l-O5n4MMs@nN+&53qMXYBfo)h)sc=0H1a+N3rt#yHx6aVO`ESNBvK>Z9lsM|Cix3dSPq z?0f^O?D^kWyCPKhv5HVYy+DFCiRjMhj8c{|Oz4~s#!@y?x_^6dzCll0zD5{0`oyzi z8UJx_U?=?O1ytVTWy95XWc_4|HYqnY_kxU%@LpcC5&3nw&Lzz8YtGjwx%)^NoD{$i zTiqP9W9>Vxqdzfz1AnO-1YdkR(^OAXHf!Yn;y+2ICI0dv;=$FxFZJ@{jwZa&&H>#JyBML|mHWXx`DC{aIC5Nq+OUG@o%VbqTe) zB5F>OZ+H^CAns0TC3(~LjNub2n{{aYcuXLI8Y^%=|6{hDA^!Ws9n0C}aL^Rwx2ciL zm#8TOJrkc*x?)(-r@CY}MaE=QMf+9~&J^Hz@AJOCK69_(u*52=155NV}p1AL5ua?bID(VFYCx$MwJy(3UCGCzmNL)#-_2 z{NM5PRzSo_veY)2@l-aMi%)3xW~>0RIL(X~`cnLxI0{^-huemnhv=2*V*y{|YUKg! z$(8&8Z{yLy(Y&HqF?axBj8AWj;iB%omL9bPmYx3sAI5C$kV~I#!&f**!@TZise%m? zfM2r@#{-D`bJ>GYSf*v~&qcTT*#Sr45ouz-$RzlFDfBynet^8fBrV~{3@akd{Uu9rhjGUd=K3C^J-nKv6+KA81v`}dNnKE2y&xBp5}RBX!mR?q ze#HPgbs!a->SXdtSU0f&xSY$$kikJTCzeYtmi-e{t69otHiuARy2J;Pe>P7|cux;% zC!%6Yvd31~H5Y^BW~QAV6bgmX7XvUURaFj$C#vV?Nkh?^n*GEY$#*4?EX@ylhZpg% zDQ;#5*LM|17=0m7j=F`X5Pfti|G}r+*vaRsc2AI(nHZ*_#V&Bk=_@rAAW zsYTcND4<>clFVokqp0KP-;>=09`;I|B!}4ctDfxbFra2LaXK$|yMZ;n&y~u$IP0D? z&W@^MPpHGs?NgpZQT5_UKOX;Tn>5DXQeKTFnxApfK9Y`c*CF+>n1gAlJ{DtmaxjA$a#O;sf9|=WD}6%I@Z_8g ziLy*zu&`nR%~9J&QZec~S46T1?_iBIa%oQpys# zY=^mKJ|Y)_`8%Z7;C@Vh;5Z^Fm?tL1q|ZK2tggoz<|n9@AYo5x`?Z;ByFUM9daj2o z0(~gB!bYEJ??bhB-~m03Dy)H7FeVv_Dh zaoLG1AKvIrIy&ti{gSCcLtn(-;tSHPxH^8ivL|<00FG_-o~8PcriIR>y6E{f!RYS3 zt6@&y(j1&^Jh99_te);qpqZlTIs2-0_iiGk9PhF?v}MIQd5F1?uge68tCBnS#N)im zORj{`asE(uZV~l14gw`fVD+6k`NUwoDnpXXa@KPDxzu=`6RxAs3AzfEE-II$@Oa_} zU5&-PL!p#dzNHs&ULF0PX|>&ZmcfY6Q>0vKn>>E)>K+RP=gaZ;yrbz`u1l&@RNPKl zKs_;@4nD$S2b|iaX5?Vc*J9GtfF?7h5Qq1c8xZM+5i-WF#Juvp(dIm?QvpKoy}A^bW#IZikb&Ej#^ zs$|S&4#a1-S5X3$*ndue?KhdQo~SFj{MkFOe#~J~YKLU{19bG8Yr`Kv#rFFita8+; z7l+tK2ZSp?SLWkMUSpOLe>yf9pSN5V45CFN;K@0SeRiQjZ`)BwsL-%?32U3n&fQUYqpzhLzU8Q*LqM?(5C{qppvd%59*9J)!LwZCGYf zCdc6JR7m|(T(n=(@Y9Co71`Zk9+g*#cEqSqz$du9R~&gH?*`$8@pp$OLAJVlxyjIE zTZ}MUlXo&jk#{h?|Gw)Fzh?sH&Rp46+<#ihxd_eQfo+cu=+RoZ?A87O7+EI8%y?_Z zG%56`F2L6P<(&}uwt3f&ELY{h_OJX9m-!e)eY(*Eb0#|O4@Yt}Y~ZeAN08B=cJG0A zNV$iEa^Qvo!tsoC`8kt-SU!a4XdfC~&-m1pzg?Y`wSz4j;@>(9h4GG~)d27*3zi)& z&W?rA<~XP%uj2I~{$luhGkteS0I9^U3UZZN$mmtEff5UNJL@7W9e#&)&XY7LIBtx*_dSmw7uUFK{q377#gOeRlYv&Js5 za)(`Gp|~lt1%x>F)j-3CNR=?3+)aK5Ks(R85hU>T7G%OasJ}P9u`XYSPv>=b?VWtw z`wpjdy9Zs-jqy^y1$P`jr@Qkgl4=?a5S9OBd%JYK%%KETa`24u?D1t5Si|WyipSc< zCdRm9YYil6>~wZ%%#VKqYL!=@1#OFoP?;erK0PI)a+`3@v0Q5ph0IOeN)j06QQ$P= zD_XPg_)&JtD9txYRYmj8Zu+n?GaZ7amvZ-Qsx@FK6uZp~3aG6$FM+rYK9ciT3jjswZx-DS2^ua^@4MZPccaaTvqh z4mx4VXF{%U0^Ks?md(@vte+q=M~(6mQ2XvT72ES7UP9cI0Sh*@F3`7iW~nu%ji9 z=f1o5!aJfiYdfbGNxEz~MOPbz z%R}b7{-MBtoz`RjHid?JeJiz(%Ab@e^)pt8WX;NBnq4wia3yzPtNbcsV!|v+3#Z`9oI z!_z0Dy2f?4xU{F_e-#z);QJn4E|}mRHXdRsxA>&_q6Qu3Eeg*GMwHQ~{ttGb!svC; zCcUY9>On<=zul--WV3A0)&y*zzl>9eMVrMV{a>tr#H|mq=kc+ES2Vf5EN0zO&3;zH zfbXH%TtiKg_02iSOCp-PT&Dfc7A5LSAiZZZmP9G!I)^YbT13n{)A?AO{e;!um8xwN zq21R>x}{NgP97mRgw3!)=nCsZfv1@rcn(H^!$zD1{AqlxcSubF>)7i?@-k_6*pus2 zMP#w>%tAOa1AXO`({J=T451T;8Y@)S5I+HZy0+Ros>f&C>lD8%_{2Z<7wy$dsDcfTfcbJe1`*pd&zn%KXLGWi`{vokmP&ke6&EZz^P4_f~guZ3F7kV_ZY!ibbfU5#n5 z?#iN{GHMFwY{gn7Qbu)nkNa@vRUe)I(nf!~SraB^3(mlaViv#AGV~l0sF|k-FIx6| zsDjp5`ZvaO8_d*=(ng_ z{O8$j`VxoulXM)e#Y;Joxgrdzk^z#B-V~e?ig#mvqV={rU=8}5(Z@x+6?7qT*)6iUsGO~Q{6Nxb#B z9w>|A#~$%nw`s7J?$Qr1R|9T9gp1?kH)1@L_h`ZQ^VtX`OzL*Z`;Sq(g6j_{@%~Yz zFfk8iG7DBKyU`OMCmEx&j{Y1|7fCBkE}ry|!vBqb!kpz>mA?kn>X9QiBAe^RM;Vlt z%c{`73{28liGK%5WRZk@__5OJnwrSpwP|@YXlGG#r>Pfw$JIOAgX~Qsc{@xh$*Rp< zat`oww;jSe^`0Yz21@z{NY5K8vh;N-m~2>D>t_jseOrktU*`Y!vr@yZq-O zWp;@PRo$d!|I!n5{W#dAS#R9`5Y;<3L&kz_Uq1V`8dttCn`4z-Dzsn>)FYmW6jIg3=ScOAuN{NgQ^&M^BZK>DSJd?%h@RLj4>u?Y1fW^^XVj_o=gX7yCNNQlvodI9?UHkX|;y%GcY!G4D zQ1=2G$)&|1$)b<$Urv2BkgcapNR*UrF3}$6ok7SD-@)K~v9}{W{65Y9Hjn|`gd^&b zY_OkFUgOK3VA=snnv>v3Vp!4xHLyFohC=*m>>c*F(A52>Dr*BH*H!44=UgZPbdmy1 zFH!&+^nYi@TkY z!QnNS!8)=3N9nDo`Z4M?zN^i$nV+|xN_1mV0}o)vwg~6wUd@*zNCx(VpSD=_^%GCK zQxcZ7i2vQDf4C>GF4t&#`M*t{NrD{j3ISZrah01NUJ`14FpDx%N%xn0ht$Nvk0d9Y zW0I=ccP%(hOWrgGegB_TXFoky!APQax{wu660@=!Ps7nX|BtUTL6RKTvF(P!WfH|f z+W*E12PB0{cV&J1*8N^}RwP2AKn!>Ij$`g@+<}sk|5yz_ci;(2p91(5h-wObZv5T2 zcEtz?3*%xRj0Mu94?{-*NZY=47dE(l3zf*T4GN%Lm>5NL~5V}wPK(WSWHH4F`#Nb*GZ614>3-*{s znfx_oi468v@;;-T1wZo>(7-4PVLgiiM5z1w5FDRuse8cV1 zxgkgKe3N_kQ0~zuIj8bk{hN{-8!s}(Ak!}?ATv$<+=V)1;Zhf~+?~*e5N5j$9h`iH zatwOs=_Zsv9pxwUdx2~%<01l2>EO_Pi1pna;ZI#9;<5nWcIz<%wToJ))t1MzYIemn zu$m7r<|nwZc0WrV$O}PnQk0aX|LKMx>UwS8*X44C55lAEe#OW?A#o?2eEQV1zCiDL zNaLF8TuR_>r#ij@GHUywCmZ&k)EiU2)8 z!oTkF7Jh97(J^(GaSo6|%%N^=BCy6V5C_vCuX0<)JYQLFJ(T&`U#^n3-f9h?ZGv9d zyPWg~+k^r{HPl@~a$n?^?XtChk{`#<%M0#|miol${FUPHl-KdC^@lk!(mh(stl-k( z;PVhG0aC6LZjyG(g2eNEz;xZd%y>-5Gw@ z$_et=CW>jOY2A^vZ?2vP#GTn|{(6V^Xr6kcTEb=!8C2C?XG1s%kk!eg?Y^Y|a(m;2 z#E1-fllw=CO7LB}>hyx19$iy)){jtWl$tWd5#or~8--CmqLa zhMCVW%nGLkBKi}}d|LoXF7Gr%1QTR;I)MfD#BE2rI6~FlYoAYM;8JkJ(1%ZhcUk*{ zhbKg`5?mMhm#MRlX-m2G@7(5Bp4ON;2*>b{5-!+xnb6fYp@Fy?OB~fkF?AiAH zJPkQByE^{>-)upHO1?3&qUFhxCylbTAh8{^!^9?gQp%8WdN4?*qwE6N+12A-odP|Q zHY4#V31V_JM5o+V?F@B5Ak~}hDfxxt?>?}*zaLdK7kw3IqRY?;jafoz34{6hkvWot z_TAoo3}9$lQA6A3q{HF3cE?X;20zvfOn>CwzlzF%m3?z-2oxNp3h@gERA#?Ne4;;* zU88KP_dv<%z?3$UMbILpz@@FbB8u<28VQqPl>p}uZl=&tAGFF)>|H3(0~<9-n`v7+ z)r3fERpENFHd70goFaMJMI7?&UAtB)aw~2rX+>~~vEx7A;s7XH@_nmGC<)rqO!BiH z?6w`XOng{yZa!m|!pmJyMY!!Nn(5PVy7gp3;5(9w{jme|TeKrM&}@PD$>`;U z>|Apl{BT#Z6K>a7T(XTy;Cwe!>%oj~4cep|Xzya2_vejiF1P*Ho_l~uZsM6jIpX2P zO#%70*2fgvi4K?0ltDV!GY=T!PfT+d(L80>rc)|T_Pu1*URYm;DwLg+jG;1Q(NuYc zj*>dI2SvgJ^PS_;!x>jw|GQB66Ad+nXba_^WDOuWMjt1r7Kg*w_XfUg&<2Q&wx z45{no{#$!!Y8+^!-7HH7C9xsujMbk`AwS4I+MOBrS$xLpt;}{*4B@E?;MyIn>$~C% zu^mqa==1HoD4kMlXRn`hYm*#x93w$c@QVDmpjMX}KDuk&^i+PXxKn?JHTNY>p9HhA z$o^U8#Mq$;#mx0C_xbW@oI^f8rS#+*_= zdh;>C8#Y^`dX^5-BOx-T@3st>$ zFY-o}@PP8TQC#_Q*WTQEI#hM+;XJfpG%wf)KHB$)Kvb6{oPf^j@A6Dt9`PHiOt_ii z*J_jv$N9P?@tEc}cTXUw_}q9e84l`}vJt)uLNG%6O1Y_QRTNU})4xMaf(!OkuS4V> z&3I)_mt?R1O!#}gb}_vL3y6#3!lvn`N;T_vuv-&^G)X%x9acZv|6tsBWOcl|+Y4?w zeQEa++_!L6<=XL=UA57NN|r;RK{dId_Ss^FTkki0E=lvSnI?g_le()l~A z(vMPh(j-@Y7#TAuDNVUJc$#g(z&{a$*G&oaHtHpzMs2y9i&2IvUT|O6tB4WR&n5f8HEfcBly3Ffm!yU-cx04hmtJrPCyMr zD3M~DB)jXZyV@4Z%$7hL?Ci+Sf>UA= zuxe^m(>!VSsJs720~LZPY-S50Fph$w8vCBx;u=GFnuB>(THt7629S@xr zpADx{KA#PRdQ&!&m*Gk(t>}nab_%`0@2KXrar7kJHfaQX-q-XU_5pTHi$k!()gH|Q zr%S1-4K93jG3IMHRH~x)cTm?n+x&cdrRp+H$2ld!?3o?@HZhay6kJ+bAC-pAiBxWA{BtOw>UQCu{vqVy*K ze~QQY6U{ZEA!9ceABy4{L}gMu56^j1Bn$X!rHOI2)z}DZ|0Zd(-Tyxig`O1GUi8_R@t)s z)0f&AORD%%kU4%Ir}ub9u7(*&e$Zdu`ct=m7UMGta8WbLuIc%pp%P_EWO7J~x4Jqt z@Hw%Z{Ep@M*8TkQCG-9s!Wi6z%Z>vxVaHtkp+9H;+Ai}2zJ0dwl7v|OAGh}Rfa~OrlK{avue_)ZS93)LVZ8ydl4kiko;Krg#2@?d zp=*i8lU!eRFR-N!m_lx>0>t)%JwVL;INrPNh8o%;CBJFLc_2f8Fhh~V{mE)R-K_)f zx)_Q~@e@Xqi04f4ZGS_zgWjU4XINty`wTnP!;@H?MMup33+&ee8;85|BWbBaslgFZ zS$67pcG~9`JQpVi2=K4+mCNLXW6kI=D8mhp;a7-;hjWht`|JgFq0^D6;|yoYTFmF-i1W_i+K+K47 z-;E2LF}FQr8H;^KHt&?qiKL=Z@k*zSeF5tnq%ZJ4FhVlt>&69Yq1r&YshVW;x_cJ!h4$ztVjh;SOagxucX5FXYXYB?dYRcNt4fwTy`hC{v(b&&opTpy+5%AM*mZ#(7a?+M<8@^7nAUIxS&U{VF3JHn<&xy zYTe4_{e?2>0gcNRT4Z(d!ts&XcKO$5)c5C?ebQZztMgn|s6OOEJars`H3I`O z;)+jFgyWV36y?!^TOzZI^PV?uXGQwwu3&#KrCEdo(Feg|EDrd!AVDd(-F-?uoUjcL zl~kYoov-4N9@0H3rP5P(UeYOyU%*Qm5gfwc+MI}muDi#>Cuz_0k;`q1@d>r|Kj=pm zPoAQG8A2ovU0!^0^Ptk6MT>Py%&f#nJEK&i_yl{YRp*Y5CsmWaJO4u#)uWjm37kk^ zREj9D>kv6(NwEWs86w1BZs;qAt0X z%hh!Qtk8PW)E}Dpi%KEu0{c#+-}w$~?vu)#m#Dr=p9Jc9vA~#K9D>h#IjJOXiki?4 zVRKV9k)3SpNV1RtzGIr(q}m52X#u2tQ2*cJb1KMVOATWG15kF%jz4x$w`KOm(Pnk= zw4v2CSN{F><~SL4BsED@GGxNez^<2IZ`x}G>Lze?7VSH|ISSJ9z6EesdRpuHo~RiOTe3yt(u=VS4TAJjo&wI^2Y6KV?uJp#I3=!} zqdWbGInU*4w!itOxE1gSswe5XdNfkOshK2$$?dpSaNoWN>(fJ~MPkP1Bj7~Dg}0RY z?zua{8W8r}dY)eOW*BT&XZ(vdBnElvOyh+}*4i+8ZtVHkhcnpVxh^F8=Ryxy%{msc^rPvc$x8V|0a%)X{ zT~iGvJNDFmRpA(Y1`Jf>&KMWi{U_@$&~ajN?5ge8@o1D>zk!X4t&<{|M+Mb`@n8Cq z`fxcAJvjC#S>&jUhkIG<>wr7C0d`n66<2L|%ilzG&6n5f?0uV)ZTE0^_?XE3%QE|e z3<9znF-f=b+BrATgI?(NijZJMl~?C@8VlX#d~;r8W6mHqJ?Nd)c>6?*C<{8y&A%d3 z0&mozqdO94l}`7zj4;0A8P_a~NY;lUf1En(^2sEK`)uk}oZ+Qs#Tp*RB1Fld25J{X zV5lSVBY%P!WvtU7yLP~{vAh0me8(7KkGc&)4XkGb<{}x{jmqL7wqAdXWSVYu5$u9= z7<(RAh*p9>XaD*MZ4R_rhmfT8f=?K%F8&Q47yrB!AL@UrNbOZh|HbwfXBV{vvm%(; z*7;+(J%XC4+qsZvnJS_$xlvt+SS7SOl2|EMmma?t&|mW2Iz*#VbNtTy9jXr*&zCjH zh-f5kxRAKWtGHoe;rDocj%{RF)g&`@c@wQc&)f>)Xs1Xr7NGbq667C1oBG#funM=3$QzqkbtD7yhl<&g!y6h|*ZG338S%_jt+OE=Gx}&kp{q)d zc3@T6i?_;61364J25!gqrWlb}bLi{G`UpM!AtQpMMzEtU_Y1wQ2loFP+9+|I3<*L? zaLn$IXk}azPZ-w$6<++(Uk?{GUKAF?P|dGMrCoyM$Dd7)2amEt+0h_ak*Aad}guX$Rc59g~`3lr+&hjFAn_Q ziQ;4&12?-gHZWB~9L^#R~Iu&~G!En!hxNPMyINxI5@~N;)b))eU)ksqJYwb-&QXJdq z;=&@_kZ}f9ph0%YMv;%hc57QG3Zt1;A$f;pp` zyNg}WcRcq9#|I`L;pb~g7{Z@9y)N zoQ@M_BOc-tY}@fUgYnxf$N{XgKxmKj7TfmfHn7h*vtIG`VmkU5>KZJY1nY#A`<<#t z!heT0^y7*%BCqykGzM`IC+j%vZcU*Q!;X2?4C&AV!IJ|h0r>Sye7qZf+aY;CgAiGq z5a}8@kB4t^8^Bcn8EwXC8F?{aUOj8jl74oO@CN1Xw^V&2t{1n?Pb~8T^WnCo3HuUd z7m2H-KHC#{(_4pvxgGJF=gwPAPAxo^3%L%TLVJc z&M5KG>xfDk7pFsrwK$ON;+Nd0GUGG+iDZ6OoqXtSn?U4DuG%So1qLBsV_Qg~j9s z<7C%GT&lWINO`$vJ*4rRphSWxT=v;J!pj0gJkdf@%`M;BEE{&zYO45{Fa+45b%asb z+S{p4SVffighz##RnKCE#E3|(Gu-!14FT<3lg&;cMAoWu79Usqf6I#=QJV+IbF{r9 z{e3@x+w7pJylR1m6lm`A0@`OkNGhzTPmsFTC<1=st2ZHNnQF%j2chTDa z4(S?2BaBG++&WoIwbd0DQM^HoN;`w<1ll?OLG$rv%-cHVZyav+wK9qS4rL5N3yjE& zLtzm<{N*f``*97t{wf$I3`nkNw1?FpI!glSJa&)gc|ZrG^RggE82#24eIJjiP7Hf- zN+e~S4r)@b7$Vs@q)sHd`cW4$M)wC}dMFs_z9j&g+-^ znWCD?G3p{jDsX-cHkcJw+b*Bl1sA320GmGNA5##ID9ta8guSDCAlM?lYQbusuBm4Q zLW(4LU~w8dKyT(^Im^HVPH;>r7#$x!BHA;U`H8`Y#19_)lii`=SAF_4D$cYEuRT?o z8yzTX(UK`!u4it|1HFG0D#l-*N7(@dlH_}4^*TosqNr~~9i`|x7K&neCx@64EJ zn-vHG%3FbEWw}ThNyqNah{y3FpfSQ5IXd;}$Erv~{jsikInD4KWG#s^)FyySJJ1wr z>bwr=pnT%}K+oJ^H3T{1BW=b8}76*Z+=We(R@0 zvJZ82J)mOU;&N2bu-60nxyTM`Y~U09^ML@^NzZPBw7~xWv1Oefe+M=0jWfT`^lI7` z6chjl#jW7iM}H90V(hOsEq{i5j;OOXBwz0LJz5WHT&zxlblQMU@4@@oWvJ>;1$aLf zdQ{)^Tk3p>j2Tl|G0tOF81ONuP0YDp(3u`oo(IWNHR^~-zHK)>TD(}fI5veKWE$r1 zu6BR#*Z|qzf;wsplrmbR$1neR1XJc&B2`ld*T5zw=$Gn`136_2&pu1p`yvBTHpz|j z=vx5k-2qwa@b5_KxZ~L@W+bw4$BO0?TD)DPP4;rtxhvPQ5Gz#jA>s#1J+Bze1FeI@ zN{yI=kS(DIy&@0oaGg(CYko5 z+Ox~xmb15pWf6>L<|IfMld7cwQ!H(Z)(G3rvY`N_}tKx|5pbccdp zNLG($T>Nk!fdVWv20Q1+;)Vzn$U!|%Z|HmZs>bjI{vn^JD%-1*NG*`6RlMwB`11s~(BZ+5>fYft!w4oi!H%kne;M z9bMyd$ykNLTYE+PVGa>_;BuWVcc7SW?gnAQz*CqiY@)5{4eXECv}jz2GK4j73DlaH zL>#^kP&wA)z+2t!j@NG6gPYBpGa_9?S61tYQwVmWP^;;-250DJ$5=tK-1p+{QC+V* z1S@&7Zwi_tn1RqJrDyQ6Nbw~`WleQM3TiE?q0Np)poO4b?6IlzNXEtYnT;U-_d@m? z(aaM!~ z9Y(^?1J|q~oe8XMPQ`;mcTJsApKZ+Hjhi?OH|Sfc1n?cqd`l#6Uj^8wIhlojhefkD zRdk}pw}&n!C^#-+o^y*(FoKcwd}1((g9 z=#di!)&8c$G9nq3KdeXK`F4EoIVZ`?_%}#$v5)mLeMRlzXMr)*F(4#;YJEVUJ%y@v z!1-(J;~&|2RN~vKkJk)so*_@sTsDh3WbVw#JE$ulVHN&l|9xTER(BT>%sQFcO^Ie5 za^~e2en&Jw$EDLA+qvl+8()`2q^;ndDO}`}QfSeE$MyU9=wMcDF`2J8N*`~y9uK9C zfe3_0-%BnMtlnnmRK}|86Z82P?PolR7DWV7#FHI;e!ZYoyTIFT2kGI=^DbLkbX=KYBj|eu> zT-B~LtG>E6{a@6k)gMfBC6faqg4bHYU4`0<3@)+7OP47OV~}y zN6_4x^GzmhL^YFSr#~{xS0Iy}Cg{xSVd}akhk%dAY(y39?I+x;`LG>p5O)u&tvYPz z`jr|PVGW93fdc84Xe*V50wBvO@np4l9=c0J5&DqQHABO$(n42g)vAM?FQoonhQ5JoPrjaNr?jP8%%sqf4Q~E;jvEDxYs#HIHi??UrAs ze(rhlj6b-xuB1yxzHFJH_le&(k`Kt#sH$kV=>yPhBe}tkz9mS0HR)eT%s1n`M%x$a6&_9dhfRxnujyLxK47U2Va~_?}L^^ zaaFF@9lCGDl~*Ab$WX-o$GKSJT-hySC6zZ99&B$YRgdfW=BTI-*X9>480inG$vJH} z>C-}1jsp(ZR!UbZ720C@ZkYiFz*DIp)_T_0%e4nIZV-r$)mxN6WF+^nk3!2^ZUNOe z0bXUcnQx0ZGU*$0!B7+9bSsDRJDMT8R)8=;k-vYmMeJPKUp~}cvu_`D_xx!cOm;lY zAWT)E?;V{WB6PJK?ec{h_7l~pKsw3sSS@dTe^vHH;mp^LStim>Fi?A!hC06}F#zkU zA_Wh)^WUd?E@YhQ=slchuHJNoWl@4aEKJ~h?m(qK`!2F_bo8FMaM+=(D@!LsL{^P->wU8lknG-Qn;3hgvc0%uj9@0@8G<7MM7tK# z%=cvqREj$gifXt0b4)kS5EKF5EKX1uZvu9F){ge?!lQUatHPG3L;tbdURqxZeCFUl zAv9C>PHw&b_#-*XE$K)o`x;drXGfcN(bj(1TGyTxN?BjzVg1KS1UM2WqZ#g?qmv%ktgj;Pwm1kQ7Gof<(}@7WDE z<%{#FtrYbq(mE=p@Tut7Cb?>n*Sc4r6hlrG)Bg@?KB-Y{+wTwq(Uh3bNU?HKtO&AT zl-t2OV?Fu^WYRHg@++ZCyZtLEc`W0??Y@ufK6W8IRPwA?Wl|?BS|#q2a|+t9xy4iP zRE};I9$wVGJ)4_00Rt0cu-Z#UYanmR^gUM^+ZO^Tr)@og&V4` z9PQ@2Uhrc?)&>HxI?u5>2TW(x;2cHN2=#9F4ScE-C>ginf-H*z%o8RyGFxo{y;hJK z$NQ?^qZ)kv3e%CYDJh6Au`{;2H70E*Wb9kPEL{vl+Q010i@<2%s%=?jxPH_FN-QCP z_p4(KQJw9GvRp99yOX#og}OzoI^Sm0%!E#Dmk#!Whgj9HU22-l>FSR+f~vT?zS7)Sh|<9h)d5V0u2t4x;JeUzhkR; z#MY~D#JrvvVE2+2f!>n5yi=|ij)rZmQ_jT*-6A+(n1_i?LxfI~@pnvP+EzRF5tRNs zp4PenqFcdH2rveO_Poxl(g(d%S%h_1p{%wZ6bB{05q)|<^96bh4nRy+B^U?grekfl z4-9Od)5AqrIMaoyfr8VJRC$^8^MZN&4rsV(R49<3{bU5*jh9sl)K0j=-27-;B_p8P z#v1t<0ARAqX8SoTmSFBJzc~!dIOc-^FmfL*`XFoS!{xV{JlU4r?eP&4aD|e6F^f4| zt?sB|D{x@^^AIUV4aBUXsWISpaQDnip2_dkjHS;|t3cG9PWJ!a}hr%{)P5exEmn-JzRn8C$v8S}BYL^3Zue2~Ax znctgpA(2@O_==U;7`cnMB%7 z=(~2|#&3PN38;N6*FME{e7>u8&M3dwy9mmJ74LaLxwyKI6$>KxdmtcTEm?Xc{Pe)) z8|w?nwo(letFzUpCPDkxp-y2(5Y+}p1PqHPNjh)9lDX6FnO1pSxNg{6mDigDH=Pj=)wjc`gyinz8tCB9 zUx<9xamc6@r30#hgCSTFxWz1AbzXG~=7#=S5<5m(YZMc~l=I|WLe zQGASVsL>Lu2SA^F3kTb=+o`;&LU=HPpH-nmo^&$%bw9nFGj0;d_92DQ_?)O9l{>D&Wdd4u8gX?Uiw+_)^t>I-VS6{K{m>6r5b(E zzSCZ=Yqq^3Z9JBF@xq3L#t_E>Rv&cJppAL6-4^>L>O4UJCe-bPDqZoX2pkFPXhkZ2 z1#=G_tqKp){d1$%N?+ec!Otupt$T43kf(KOK&(~T%IknFE+Y#WS)tb^$zvIFlL`?M zKB3+4_gsYBe+^`L)XY?Om-C(1 zDha5|g2+1Iv0f@g%H+gqy5M(Q6>o$rBq3LPDzBQlJ*YaOs=c6H$i9A+sinBpXjlf% zavK6mfTSR4CXs*da}yD@q?y#Y!gnmscRy10xd&!7IZXGIW)P{zOslLO-rES({R5k6-*mpl;n?<*3pt>;pI_5qY!!2$I{=URbnC=YuMA^oWy!QpL z(tK)3Iu{}LYYh{pc3o<1!} zAtZ`)7yIF;2n(|4Ixn(77ys(Uyhm%8gG+@CYCyK(@rtm@cR1&$Nnl9=inLx=hWrSN zUiK8H=45ug9DA2#^2vtAd?hW-rkt9@Dj{9`9stOLN3+Oml+^*t$?ao&Ic(f zxLY4##H=f$Tpi@jdO2WIgh%XKT#AJ6Q0Dvya%A%z@H4G(f0ry}pQi&wa~1sFAAu-{ zCHYWboj>XLBCi9j$`lhY3C4;LyC>#zv4aWH%A&T^KS=!G(xJW7aG-I=4y%JCo!Dj1 z?nszD2y7l0T*n>aGQo=g)p4Fq?6_XBo3ciN&vulH^No7`YBna`+Bw=IhRnbPWM%1D(_U#U4Y)MwA)Os~aRe{!mPv zy>~?UikPPF+}ek@vv^PJH2-YBm~|6K(@_3|MwxA zM>o!O?umL|kxzK9Zp)w&^YeX+IXA*1?NU-C0?h&dgaV>=V+|iP^=1AEXf$k{5s8NO zvA|1ip5Urhb=#2@p*=EoW)G|*5>TW?-K8$qq0@mpvr`%Qeg{_Od#s(wa;c*t3<{;e zVdf&K*^TZVkbXbmc3<2v$@2NgnGZ?cY^B~CxC%ghpPw7a+pE0inI?uSrxFQ4jw%?c z929TD_jM|EOd@*r4s3^2*qns@$E|h*ljd6+gvg{$v^<;R&cXEs!|UouH>6Osf;AC+)UK z>oEFLSy@izcDxu@kD!KnOLayh#83f9bjb#LSEo22_}LM5pEZ)M|1*bwP*4;$(`O_y zLi8DlFqVEI8U<4E#Es&F=u}wAOv-<(*e!o5{*U0O`f8N z`Alvn_>8pJ`Ql0v2z~N3M{k}bG(RzMB)prb+zlC*~1DyQ6K%? zp=wFzp#b8>X%vIi1I(k^AX-|#RLkKzoH<={W+WQ7_o5bsSxH(wmMT&xRkd(g1T%0F z#R$OKH(LB5s7Xbke}azTwZZnd>O4jF0J<)~QfI_erPd}`vkN5w7len5kbKP=g$Uq; z5X(M0^W^nL^I*pLaY7`DV@*lNaBDVQvs#)4H~x&xt=_m5`e1q5(v9RJjx_2VkC+6S zI{)+125PIqigd}zfZb6-J_?OK4arRY1Js^zta+BiR(m9EDr)ud#X~LQY@Y#U_zq+~ z7iQQy?aCE1Y-r23kRS2vmiD6Tp4Z}`x6`|Q&3wRocb#Jc+-qCe1BO*J7 z1I`2Dq4)USE+_dim%KuW0Rs39A%C=g!-rZnk%(2;a}he$K~3{6SK(33y4q=wY=f*9 z*<}J!+Cl&;zCzlQi0UPm6B319^off|BUr`jYS%&7X$*bxOEJ`ZSu;cO$-QOIs+%C| zW-lrc{hG2b{$r_mqCUJ#;yq7`F6_lVMCf9u&%QIXJ){9_tB@c`YRhmu(FBTFz zj+Fix+mbk4Ry-dIex+jNJI=gybPOKfu8SVZJl3S>n^{A^rV;?zqHqufy;DUP*dFcL z^EM&mZu0dp+B@a)v_F)V`N3B#&#(a&q!Wyt1Q0y<2BaU^mktC?f9^VKH^?JZJXE&p z9>_P2tQ*Ct;4xDkyNlut9Skns@M0cVnt^#ejai7glqYl`k4v4ve7vW1gryZ+G(~~L z(Z{;l;$ZJgccVPPS!#PVsPeF8hwWTQPWECq4d$#Ze%-!#ENXduI{hgu*fGbnnmZT^ zSL@C(f%Yp_ptM&_Uyo^ccUOpz;2{=?F7)aaDJwt$TMHm?Mq8|(=>$F`u&}kbMXbz9 za0Wcy%>+D>0Uxi;hau?M22(oWaR9(H#(YSTL>vr%Wlzq!SjC5!;Gll|)Or_|tFLom zk7eZQ=D8Xh!z_)<;aGM+U;T)3t~o4tj_8B82<+>ctvo{xFgi;kuT=8kNeI6E(!SrGj#9-pe@D1DfM~ z|LLtTwU$*mW;FK~PQ*nc!ipNE^&+u~n4nCD?M%BtnlKTtrO3ziW<}j&nh&WC(?^B# zC486dIYm8iVqc^yWVirKVM4rbhpjY4ShG7p#Pl{}L-x8s^Jwz?>=}UUUI9ONqJ+>| zRpL4h@_|SyyTf-QPuNfNsYQwjNV$Zkc^xh!_ewwN(TsMndD6bUiGCCyA$@JSh;8(I z_G8YcG5mPf?%mWi+3R#Ea7tqRiyI!ucY#10Gd!b%&Z32`u1z0jYaMj>$d-jRvA^r49wWLM=mG9{Dk7$WuF@eDbM?C>`k zsnqPoXJKMPaUyyT-yuy1+vQ48_qMB06k5z8U*vaN60a=#eAq1qxwJW7K~6HqENwDn zZ8u~~akkcg8k6qvxykDgQsxiknfGDet zoU5N%f6?yO8im-NL)9y9svt#;awd}k6YQ`~k0;cj#&M(l%(h9xe+sT`a%duuWnIuI+l z)UVN(H+OjxO!3%8_jLE^c8&3roozs2GV8WtrOL3T7b{C?Yzh4QnQn{R082^xR{~P< z6U}^Yp1(5%hSWlst1b-5lG#5Bl7m8JUrnz#*FY@QJFod>I`EYpwf!b--FwOTkZPB% z6w`XkgKPvi)Vq^<0_6lOQKVaM%+O`$Td5yns_xQKm&liW2XT#U7F^lwaaz*a59!BKjDm<7OEtQHAuBif$5uX9&FKF zV;_FeJl^He`E)bMZtp!6ZZM~GKs54Q_vrt zl?%d;%484KKlpVPRM5;SNQBtUAKWu43h;3w!u{3Qmw@`QZqAd0Nu?sf>s8>uoG^2A=;OZO;O-Her|ry!R9xrM={nNuco2SJ(8w?gm7>Ky zwnI6DoNznwQWs-Sw+X-MJEA&|xM%LmjaMaebH}AC4&w(^@kPiobB8YeOx((M*##oS z34ah$w>tp7h)H@p198_NNCNWBBH)8J7PBp}9pm{3pf zB$WA zvewC6ojO=*ce|eXWOHFoS(k2>rh zav!c>nuVo}PeY(bPA9p}WQ1VcwyWO3!I=47`Lo9~F1VwY+NZ&W$jkXDkCg{Ct@Wp&1!vhBnX(xef??ae zFcP>g*LBl{PrN)1OW3fOqKx~FXxz6@BhM}_FP6RsJ_ovzJW0q=Y{N)S0dzg_A}Xq; z?Or>||Fv5DT{=Q+CN;gcY6La& zbb7`7p{m@fP;Nh-h?LL5?)_SaJeEVx)tup?-_k72=sQSBKS7PWn0z{NuX?eGp|zdG zfbO2Gtse{D^hGt;PalW{HLGSah7QqetM%VyGL zcovB=kj96~Bv58&)hGn+WjEccWReFphzQLOFXAdmHGE)}S{mMCK=E-QX|WUHfZMgA zE4i*KrS+s`?_66O))y>Ld86fGFJaya6F2g?iOpA`jU2R7Q`*v&82Up)%*(oCAK$~w4wlkoZ zH#JF!PS@Z>w&YZHCbDX;heYqCGk%~Y7uv*QqjYuWntkD|GjRjv8o4IzuFfHc>Htg4 zsQT^h_sG(W%riH$Rv}m=*Md>GK|9z-`6{x@@g?TU5_i?Q1Y06$>f>%eFG92K()GL&U@%6Mr zlENIA;RnKGx-Y;qLx*bzD5ZmT<}CyC&}M9XIoU*rvXg$(Lg=+(sxH!vosrNMMnXl_ zX-(dYQ9`PP@&w%8Ylq}v)p^XzZ&=nu7F^|IbX|buFD!PMxa1R78F{Go3eL9g1d@Ds)n&Vqm#GKCcrf;I#9bIy1WNp?Xz!ZN z_CC@Cl(+L0#9d&|>@f%}1q!zej*6Qh36HF~Xt*p%_+&QGqqqRaXmjx$(J|Ye6YCPxN^=@N&dAQQ|i=mZ=Ge?u1 zBZ(G)`a>qSL{&YXv3U;#hJxYGGx@u=FLVh4L_vbFZ_K?g^NaLX4`-Yq=SG48ksR4i z^>SXxPg}aelqr+lMbnMt@uuQv7sI9?zBzcRMoIh~&*1$w=#iEbH(ih+ro({>Q1*$s z?qc&x@%S7bfHC%{WY*xmmQt+1^KY_W_zq{(B2Xk<*Flk7P<_R7*s5(-xsMphu}dlK zN=I2bY6c{hqe7DQI#_ke$^Q=Jns17kcBcm}a1x|8Q01JB>Yon=?i8R-XQtZAQmYaR z7z%unE(P0_MUKJJ@#K z^jI~B!bQHEH6+V*^Bk4;nco4iP<3VtU{=v)!hQB!gc`vHx>Q=keqkY_r`zlQH*;Hi zoEG^!PM)x<+SLPVx1SUz)yom^6pxz?XEiz?))(Mb;=xvKR@w5ZC{jy<$L;u=G{czJhi3t(b0X_5=Wh-1oLjEjUXhD9DUOn8x2ffN9(| z?aU62c5_}NxkyA2Inz7FjyilS-E$y#WN4`@Fe(tj+bPn`A2NeXF|4jT-QMl@I~!5W znF!QK7tT@GS3+vcYKb^aU?_C`lew|fp6vEnhVZZ}Bc}0Z>*}@p9ZQ;rx^-f3Y#-tO zrRe4TgO^K#F}nTf0J=6uU59$4+e6MjebF<#sWFW(22;FEvq-C?_h(Lz)H{iU?`Py7 zNIqVwKIx^q>g7Ash#kP)*2yj{CO{owvD4k2^@UqILd)}u^Bj$zkt!-V^2cgVIp~(C z&lMS3s5cchL$a>wKS8ecgBD}K)*aqo(3&H#G6HjkBoy;Y#Dxzw)e0y;pg1qA9-i$M z@(Yz|+8sUH$KEB%m(fBtz#QV6`V-Lj{HyOB@5Q{=ug4e=J1puDnICT%)fvoBbrn)? zP3}vW!ztm+urkW8SHg&=j@z}SZr$|EAeio}YK8@M3ed$GjhjV|*y`E65hNJEtgKF+ ztNPk`zptlfJ`zf6ylSgbt>C#K5jMvff0O{$fG)b`I8NM0iJ`0271bA&Ik1#y&#J}C z0be``gG%Eb;4PLTYS`9Nb$H(8df!NMtp+>htErfVqSVobor#P1xktmqT!h~+!1 zdA&JF^5T9Ap!j(>$wX!bA78NPVuCs(t-A1t+a&EYkwx7^f|!C~ds9N~G2OFBgC&`o zR~@?W1#hJ?FwPCq;u;C0XOe%?wJs*S71^mO>z0fgaeF`3nc{T}v79Pd)_rd3nvn95 zVqCpNGw7HRD~M!O!%X3+P(hC-y_GN4zUhUyHKIxLjrlyA0f+s+nU(Q(wC}(wpE6pi z`o~+{*Y4+V_1CAHzEFfZv;$6XCzWAycpV^mS3hBmX^~SUf44LkUdhod0NGUBYUoAH z2B7fLRHn>+Kg8limAfOd7Ah3!7zxLQbVYCey_&R_0 z4kN62s5?m#i#m}%w^NPrsdn3BZ62oR!1o!S%Ce$N^uWpSCAn60KU9+M^lPgzVwz2( z|8N*Dfd)GdC+#jSsNEe!^R=a$Q|q3JVX_WtG2cu`AjURycdxMTS;&ZJVj^Hk@)e6N z6YSW!SMd@|4DzzzJ$w#*X~M3^Z$Bb`Fojc~Z!*SaQk?$;GYWt<@Yy2TotXQbl8Q;X zR?yU^%Py?^cj0T=xpvJQDYILZk?;kFtG-r@1T!bZ&GlIE7~j?31Lf(m=$>6}C!7OX z;Zr!+TJmWj?PcGhd`>6_a_2-Zec&eCT&(G57BYgH=cp%ah^v>9B+X~`LQ&@}E}bHR1>0hEMZ(Z| zjMW0555jrg2O_^q{t?Yk`N8tj1z2y*a6S-8>d)%pn!8H=(ifqV^CSqjXvm6oAW3iP zy<^WDF}GixmaBVbm65t3M>ezyW4^>KWa&Vdt%b#nDhZ-=zll6vvoo{>+K$Egz6rwg zg2=1vkMD5iO#(HNZ3&M@eD+fD-KOlQFYu5Iri7X0v;8xNzV(4l%2Q)OV>l7=cm_D` zOW(At`i^TJB+uNONL^k0Rq8OnTRuJ6}m!jqW(9r5~I zjYMI0c8IZRoPCh>thmYEIvm+uPkz>a&Z}u}1_&dV!8dG|W3!oA7UV$2#pZu#bY11*b>#M~^yExxg z9P^hyb4DKxQ#Z5 zwRE8dP22_6h=|wk=mx%skW$KkpBwKFCZwf5m;4G=`|kAqqUzCh-Cc{H2g31k#7=x( zk7YcvuXKhCUF2xL=7=Mt(M38JvN8UcCxt$U0FO|SxgJceEC6nk5C){%F&*aC6?GFLr)e7?C0^pWTAKk1!Y`T#y6uJC_ zJX64x4geCTjyS&~8wtQkkU$_0y{g^Owk(8RcnuG*zqlf)g8#i+lj?+GBrWAhbAJ$- ziv2`1GPV;TFT76|W4+6pWPum}+*PedY7!{5>R0J$d-0X9*9Yo8AX*SC_m`c-i0U~? z71-*%>=qM?ek&nlB0+z(iBoPqo$xndt~gc7uT`0CEuMM|Q|p`2-w0-Vy1b4M7rOn5j~`lA)!T5a4v;g!dKbOz!dJg z{t&Cb?9!aGw95|{qNa!Bm;*Kvq%cX}fIJjh#u{j|LZiHF{d#QoK99N2w*hrLBYoz8 zg*+tO6RVt$1>HoFvd&sYgTA*>u^yiPt+XfxfqDBmOqC9~_qbOlMOvCY6k_Nkgu9CH z6UqBh^6&@h=(Z}@LtPSG<(rA0=p<5?ywli5P@@mHAVnT-!#JVQ>=Uk9q|8VcE0+P&(&7w@O!EE3(B`+yg%pO7C0940ld z``Ku@z~y&pw|b#Iq51ARq#-7E!Hhgk2Nv!7bbz=}uRu>vU1M%ki0$5gke1FNVRf=k z6`tEpFet3m0v3Q}Jn*A<50T!mNHey3#OA5oeVGK>NkKoedNll$lR8RGCr!> zL}DQiq#_EKh7J7n-VW6CFp;jkm)?%deK!5)?i?9~9b#J-M1y?bGb(p|-zP0>_PdWX zpYr5h@cKXT%mYr{jV;zP@50$KE)n}7coT?DRYq4`>TaNYK}f0y=FJWicE>+*H*utS zu3Ps5kq_PJHBl4Vlcn2#>bk-umE>A+MeSL_&`8pq3$~95?D4DYKLeR*$lVZt5rH!v zJ62{TE-7T4&Uguyw1I@wqQD<7(d@v_QqPVm9oiG3Z+Ay&px=#BM zQIRlq5#&e4)BZW#UXf&_tXoY2rXuzM863j-kK;r@gXViV2eLu;cq(~1tz~#!N?Ac_ z4qeq_(wH|q$>!+B1EQ$V7HY$HETdezU_qXU>)Wr0l@Y=@gKm*g6Q(E8Q7y;9N{fB! zq~55iLGw{iegZ*ps_GFmD$t8>lI&9|Yy^~FPc=e9MO2MQ&zI^lxLd`Xu;HsMqeyZy zV{wsnXb2s?8V${GMl$RqNPD)@x}%F$)=r@CcdDZJ$C)ZuTF2~wO~PpGZc_77VM7~z z*|8DO)X}*P2aH@RSvoOnkZD9honE(z?wl+8Ns3qdx(gJSRNMt{W(k+xf~15h{({3+H%Lp@u=AcSv>on+_IrPLG-JPhrJky3KcCW? z-NBs}JZ-r#MHCQr_QQ4r>6LX2Uz4ah+`FsI#q|M>qp>d^r;mV2B*O1V$>WYbBX> zlX;n)YVuWk>gu+&We>?9AtXHPDkuBr-@1%g?9q)_D5|pqy`R~L-6iyr*4?T?D~^2i zmV}9wI~I^CL~!_Vuexw{HxBzK#H1aKw|uqto4=zJ(l^N*G9CZ%}kd^^v+3S_I611It+vhG?gRYx?in>|C=96nWbhb03P-`jo zH<*pbHqc|2(;+K$ds)vcj;co{sIu*;UZ(1dr{x|32NNDXP=6Ie-i7|vx`-$02*Evn<&S^ zUf*=z+hMH=9?`s==E&PCNdt#2WRU0SCUG;_JcGQS&vF)k2EYHqtdn8d4Jim<4>g+uEN4XtqM9ydm$-Qbnu#5k=(S8;>^?NnD+M(fX6gHf9FCT?gqOH z_z$qdu1F8NI3rU6Pq1?vmq}ph@bMDf}HJS z6i9fnJ>yw70+`a;ZbRGJKz5M{mcOJd#+{&bLdurT%FVfkEve*>G>4) zc3O7a#A97~Bh9m`X#?yi9bkTkb&T2;BBXB)AJ$&a*2hBea)^|*RMR~#52q;l6SlMF)%6#A*_a^(9 zmQ=;!JDPK}AJ8DVZ*CSUxo>K%kwn^)j5`r+e>XM-mq5vpnz!VIe3Ia>Gr|K4p50aZ zm&&QQxN(*Q{uA6hOg&>GTqHMi;+<5{=eFbR=EGu5(6@3iB!QeLN)GnJ6Br#8PPW7L z4&3yRhJnoGWJp9MBWb(qk!aXI_-f4p1mI$p{W`JT0;T$nWmw2u z@F1;X+cDr3tV#xVmy-dtUIH6#Xc!+7L!(xa28^!j#lxLCksq+Y~jjuvs(dJ8J} zPTEz+_2i}rqIbr=`1ea9nt^}3obia)hL-Veb0nBP$A`|z9@HGo*OjHQ_F|vgl?Ou& zssZ*Wp?UBf%RDipVpb^E;<|~LX%lo}0%(1yW(AauWl(>jX{+B^f$ngN(+3oZH}Rzz z(fp`gLnH_R31Ds!aI(vXDEZEX>Qu0z?_lI3I9z32FnoYDw)PI4_h_#9SzpYP05IuU zropG-#W{D2gaq8>gt9d4mpLsD*wEsz~?Xg}JpIa_X3UBhPv3*Igm_&BgH0|i{~<_%Xpth_T(ad zz}W6BcEp3SlMVhtm9n8!Sd#nMv?U2abzT7^I1 zjN1*~m_)*19UDj2rqUSBeYoq z)SkMp)t-E$ZnY`k_Sp0;CU-X-c2brgLskO3>K9^+t$i9QzsyfiqfF}jM`r!ne8SeY zR3uXKUP|f2-4ov`M6*|NDX z!E@?;lUT&<@@$Ae$?By5z&XU2&}!_wly?%8{VMh8tD!<(KIe!nwS8MI8TOoWTrsO8 z#)4RzG?A^iSbDH`p{^6qe9V`ttG*;ik7YK~&>(a5kr!m%ei?CBg@?Ci?i+}*I1Uvb zqXd1-4zH6QpDGXsYrq1c2!+*k6C2v^n1)K_(gttZdh-28iFw2|r?UQ6+>D`jb<^XXgxMH|)K)m73Mjai?4w6P zl=r6b8C=5#RBe*J2#w9ocSu9I;%c>@Z&hQsa7YZ9=gToVp&#m-8H+yDhcDOo6Jkf9 zx=~(icBQa48UGp2NSVzCB4tTSsRDxz@{SXZ^fVRv^(H#d4p|ku7V5@Rz;&ql0u`t) z?TLpoLA|gcxnf~{KFau+XX2Y^y(M<=$h0oe=_6`u&rx6_oN@cO#YHD&U-C<1a@@)s5VMY+>kOJ=<~%4R>1_qY1e z!#g;QRZlF^Pi(^WO#yIGuyuM0;Vo%YvvdD^iZ zmIs$pBi;W|1<()=$W0Kwi7m&iUIM;#k^g==;X_laos(_;Vb0?H>*>*h8MlfPB7xLM z9^gLN=7$CTp_2d^De z&h$0F*KuE^^=|IS2Mi7<&ystQJyXGVOqdmD^ld_le~D^{R9{Ylq`_{BJQTmZDi(8~ zk8L&4gU%f(v}WAoZ@KfmW8GxZ$gHGo?@7R88du!a(>9D6na-R{#1>EXiY{{K)qT8! zlWn~nX3*TaoFQnj9I&$t2KrSD!9$vJ6wm(6;BjwwD^w4OF~=seL% z!cOvvrqb;b#W@eqQr=$_hDS_udhFJa;CvLo>SpX(>oOBkn-A}mWHiv+X;^5$cCuk6 zKTq+(%edrM;7E^WzBbBeT>A39KhkeVTR^{!OT%{=Rcy`c!?aC)#;E;6w~AaL-M76d@H-E{xl>Hs^XxS+Kb2+a!il{ z-ugG3DW1>GX^{7sMN80!B{~nXxH**KW@z*(i_sH*?(lfD;odhcAw~ILl3`gehoB6O!HtvgS_^t zzaZ8}S|r(V#fwFbHOQS9%i5{FRzJw*1Hh-_zi84g*?4^iGw1yGNk+!RcgMc8TTDP^ z<6cw0ti$1wiw^CF*T$EXCy&66HuCg`uFY`b+#=G;=ceV&@N|YYKDaxNao|#Plckm^ zd#2rOqUKu|&FXa7*I7C#r=tY773hxU0(~!hBadiyxz2^;gLnV9dp49S_%V;~gEhKy|fqXpmE zv1DSaJI;`fWaP5Cl>S6BuKv4qrokd}jLAW)(E;of^*nIXfTvw{nMxV4feisd)kH=I zeV13(gU52s51uT|XxvW4g$6Ic;y?F-v8+5jCo=li=eqkqJS&mMr=IcO(RFW5*)}JP zmv=dB=!dacF0nGy&~CVRGc=!(_%c@UPwCLs0$;OZao}>@3Nao3(DZMLZR0#M3=qs{ z1Hkn9g%Q!{*6zJew+|)XffVufNENE;wMt-p92>XD9V3ZYg-`rJNN$n;X%y_QR|qlH z8IxyhXom7s5}bE?Sussu{Jdp_rg5b$n8*|PFJW!rh$Q|{{65=jL+jzR5suHckHs}S z;d*kaTBy67hV%&N1}^-Wy&KfnL#-fhw{v;x~|qbwY*L&X~AWGdkNLioZ^fJhXd+)+Z$ABUJmb z3XN^1PS-O-t#y-*%C-`?Dg^&?1@^J3xkLQG1*KmG+aAy881K$?bX|EFB%ZJfi)Khz z>$?Jtf%T!?pF~?2=8@LHcCvTJ20tW8CKXnn#b^B;*L+O1>yn@9kL-zi*H6b+H$_(K zJ|B+T$_h#(&Lk&zI}t5wrU+Jp=dXC${MMLncjiebM0kcvXD~jk$HPA%O2z{4Ruse= zCK1B9f_Z?^$Fp7IL2V)yAmJ21O!M(ve@G?)sSsO75P3f zh9VI?n@RuZUf^p)REI+3-3gGEhw9=_%{BR@%jURE;XguI(fX+(LoT`D12IP!z&@t= z9cz0uqkp_1KQfiKM;tBf(f1IiSU(}+MBN+cqznaE0OBXI`O9kFZdTWciPih=?kV|o zMB`!2XGHEsXgCfxMSQ-5@aap7D~D>aAMPZ;ElO9tvMqTtcoOe*unGS_(e`lai0Aw( z$Y@h*PkpfrYmUD!h!*xYkeyHU8Bfr(EjQIr9r2B;)ppTvSV_IFQyfey?Qy+t-aNLU zV0Swq5<+EBYXE%Ab&>YT967zz%YH3Q5KdlzJQc$VHDlobKpRwO*H2K_2+Gqq>qZ&j zox3+83q}iDv!<5TnGSaO?ih!O$n4FOPXPn=$sO+k@gt~Npd6mW5u1`BX=3B4%BsA& ztprcTWg&(rL%kP{bKzcGoviQj=D7;6B3Xp<>5#q8#oR9Ov7bU;wm%FdQz(+wH7=W~ zhGoQRpXZ4DfAVulFrU-Aa=F1mTN7e}kDjK~u{eO^b~ zD3{ss-IwFdeoQ zy}RzAeu5hJ9JEO9gav$j+}Gg_DY9f}h}6nz!Vz8a-%lUhNxSA()dM=r2)pRCam|ebzQ}r8jM2VslY;oI;-2ViX0mJesvftR*1in4tgM?G=UU(we5Sl zO<7~#{62GT-%X}+E(wca7GLIblI<-+#cd*)zYLaR)#r{ZvI<0YsI3beSFa5iANg`u3*_!P zAi&F?fJU0^d`K&NbVhz2ZnCCRm;!}6KqZ&Yz@8GMGBXqU&+SQ6#;f>rEw$-)JVT}R zh75@&D?Gs<&UxZ4Sv#HtXyjD%X?FCDcrN-87xH2QOQsG^0J#?$_)k=$J~>l2Wzq!^ zBjznu{dT+YJwHQkcVv3H%62T(D5sm1)Ese><6fEB9>q0|Hk8N<{3aZmE+%~V*5*be zuXLrA`wuHca*;q@5cr1>dgr0v&f*4E$E`f7MD4kRS#KD?S7N^bGW)v`DG^>h_RDI5V7K_PBcmMQT%Rw&-1DuGuTeu+Xr0~N4(SnDQA^kkQwpUo zJJ5@L*;$#;tA`{nZ{zQL7V>^+Kl7chn5=gmF}cZ@6>Q7m2m=-+j986XW2|U*1#9DH zfQFR(_5hiINKuUkj09V#`X;I2kqoVPCxEe_K`Ou6pJh>W_g%aFRx*G%oWqos*2o34 zD*tYW>$|oNBOi6tON_p&uE^|vWd>s}cI+d%G@p}~+GR1i=-K)>#bcRb+owco^Ly6S z#;fAcv-qVSP>IyFw84ef9P=I5s3n~gc_RU@qjN`*94a!7I~qKHF>ydfWfP#-hi%e! zYYTG&V^D^foluC9Z^(@v)p%O@AGw=V^R?{09rYkf(0q75Gz&435-XM183Ie5|3?Jy zcD=Q~J6YR_SpG#I505-+j5@uQ z!tKv zwpxJL5kHqAz+yTUkICxB&2NGY9@Th-og?XX%1?hyA()q4Zo%;QSdf5Ll-;6?YGn#~ zg)+P+2}n2U`Fj_7%uhh$d>5a6quL!)<%1)+iyQ%!g75uBe1LK8f^Iswhnsf5sCI0- z3OwNWbkvv!eMdE~6}Xe|d5%yJ!y1W7C|G(H%CVeuvUW@p8wqo@w(*{Ie(~T{Hvt=I zEX+2Ba;)cUL`7lhUc+}g0fY4A%UqAx@lCF5E)aGk`Mk0{r@yw<;1}$xT@+6fKIVt+ z!w_Ub9Y|ot-@#q;K=lF2A@XG4<$UIQ2)5h)(V=o`1stPDO*1`Ft6DqYZipkkx|p6w z?eP=Q=q@{-68d2*VNRb;hYY_L;z-5oO#`??X)P?})ojj=c*)A5#DN%#uGeXf$8^tE zND^nT8E^YQJ8H*yMAU$>6cM-t{r0MuR^41hRYKe}RLD6LL$wH``6s54Jd4l2xyeE= z8`Sb-!cZ-}x>zxMboc#_dR1uk$O*YF);lS$M$W`8*ZalPOp7K8aw!Wto z;ph0SOUcxB&<}T%oQE8yu8i#LkRu0LWqZl`TD?|%0Iqw$pO{9y(z%swaqT-@FF;jw zpeSvp#*lHw6Ui-7ISh*UHgD>6S$f$yPuKR&t@My)>jJlu3|s6mM=^W&zN*~Ips+CM zlXI527gfN{-nQGJ1+4&9nyTIbUt!ZyU&eE2#^$-{sjmc`1H+_&ZD~#`c}yme0gB?h z6}Nkq#rFX>T%Op~{YhT30CAMrcUBN6K(85tcg99?tY82Y4__Wzub?d(WZQylOTT*> zC_u#Db*_~71zn&aaGFjSIQLgAX%FmqZ=S@_L6BpSm^&mLva`Od;!p^-ipfcp99~sn zk>h=!o*IHT_4b9}n<|KhG*F&5+{%jnpAOfoRzbdB8^?k_%QK2V_`?2xs%}<}r9R1-{xmX}lx-m8q=B;maaa0}^a{60a%~$UE5D~Bi)(7 z-MT?|3(Q=S)J6Cfo+`0%q1y0D66~>zoZVhggE_l5iT$N%)*H!zNea|=b^es41nExO zwWV>XBu+2TzGq4^T09T#zu`Un)I?zBkPT&=+@>Vv`k z)xfC-HS$ucOuVgDJq2Im$qh=mxD~j#ioTT0yhVD2v$(~YpgkQ{pxoEfMJ|Gr_8rt5 z%tNTW^06?5fc~B$_28DNPxf~A$JpDs?OqYSH$o3p8yU;nbjmMsl0A}nurC1G?uGim z6|*(H80c6dat}tW9c+wctoRU$Edl_0ZghYBpHh*)F}JQyGIvee($p6hWPW9M5n3Jo zHh1e2aK_Yvq(W*@5b{uSxap)n^PWvLQ;VZAw6&%$V5?JM``^|=2jduGe zFfAKPR>;Cy{SIo-sqE9@P*=}NA2IDAwuqdKE#uoQQ;jv@e#fs zmM{xi>?f*uqP@;WJ73n;*S^RE7Ss>~Wn0LRf-MG=FQ9Y?!m#Kic4OP!J_L2!I5>O5u9UZ86T05;{UFX_P zDSW3?0$fy>AllUmZ*|{!-K`?3(3IzHIUh(se04YW+ac9G%959xjc6un@g`~elvasj zeuFPfT%{M6DPMN+;(2&ZL<)96fq?W-5IDNVSq9VJ;fyQo_91s$Ws8%TAYSr@KUC z;|?EwWT_8H>Lr|WjuKG95Eb@hV|SWZ;eJOq&k?EH$p7__#X$N6e6?Lkd+*G&!w!=eTiH%P8C$t(wzk;S|*`<^gLnG>vsJ@H#+(G*)( z3ngRUL7nfNlAAfr?~V+P!nuHRd~1sK>r5EO?bIY@%mKB8W!|;8Aa>HQLgnD1v7i(I2DoT$;2ER=Y-0e~ z9KRD>53H*xLtkVXm^{MZ=Ze?0B?N*;w%R(!{^#c}v6F(1y%$shP2UO;9@=Q+I{8Zx5 ze$I8)4I4`tq34lxmdjXh5rVL+du~tuM!)mz681ozb6u&ov1(YlN(Lf_R{coKY_U~G zBqP>nClZefCZzUz_8~Yh=lPGXH%-$NN1Apwl)(i^V%Y!2+HaGDOgvQoIN#~FDl5YS zgv$pTCI>5zM}9L~i-&>94y9rg5XigZ)iZd84oC00IFdjb4XPbcQ)-rXqq7B{CPj0d~Hgw#@fAA@> zrfBNy9hC4tG>h>PiytEaSXybypSwF3-jyC7b+y@2a^9kVzV}BWo5=~@2QxwqK#?>5 zn0ij`EU(CpwSRspyf?Nb&aXU~+nTa#hH!t{7_6T0X$F31U*akKW&vIf&*5^fDqp*= z8diIKm19XUV9h18w;$QSV=?aVE|Ia3r5TqqUA7u2NnCqC98M;NBdNUu+S)1KN#o1| zHW!q}j0TNi6K#}y&g8uc(|eg*bdJt5Y=Tsgxb6GgdEQY64_=(K#t&1AeaF_Df=agpHR=8Z&>pAV zb!J9(n$|3g9ZcSgTX`fNw`WsGDvOC4lFrM2tibR1PIFIFI;5x~_-rT1>~A)khqr6u zDinYd!7Prto~ez5P;Xd{K}`L_i+b|Odq;J*nq^0%;FfNWdvKg=b0)Ny*@%^8ei zU!E#6NoP2ZlAutEZss$xG359(G$Nd`_HR%0ohUvG0k^ZtI#L+}FDeB*%0|N(ztQ6S z5YpMwi*Vpc4uNGzyO^lJ2T~`rQEnz zY_6?eXtGBUNbp+Q{eB8_mNaA9`qNt(JHjH90B^iDVwc(OwW@}Cjhfo(E zG}#(e%L3wC#@XCl@&+>~FVFB(0;u2^z^ap_Bj zP1MGyU)ScUN}pMnR-Hqi^N;UsqY7veE4e<{_-qG$NTo_VpJ9F`!1rCg!8zdRnp$0i zR_pO|A|LEffv5kx66Ve3K+E}IdcgVe=cqCGy>xsNxAkW|AZ%aHNlA&D+sHsBiOIHm zyq9RQv6&vTNuBPgSdYK@oOC{KEVKrHM_K#3;;m@Imb4Q|TNUpkl7z*rdB9_MwX&i~ zChi_*_?#%JaVh~DkF*)LBW_aX2b5C*?5z-y)g+M(As|!hWI-0WI1+;k55~`0ZT)xC zIl8>@aqFx9jHk3uDJwn0)Vke8rRo$XZ1+w*kxL;^JJ>gz%za0hN~h;H3j(#q-D#Jn!rfy?0D!k4bRA zb6TwJ5bS*I0VHbip9WcRWT;cljgQ}?AR7+|^TM^u$Z{TtkXG&dY(fXg#@kB$opSZ|jZYwAf27c*4b;vJ=KbUCCAhpXs{d01wh*E2}vyyYUCXMfeUgucq zgKJxi^(zB)bKs<)-X^xmADUebB8{_MR!0cF?n#(;?s2=;_Jx_n|Oz}p5ivJptu+m%)i1{N!#z!xQ0;{38{bhVnqIHkBZ4Ji;if%4Jox9Ikk zE5)Kj1~hGxd|(2;YU+VNJ+J{zP}AKfui$%puk`zmi%jl-2>|1pfKInB(f<*`son0 z0;OZN7(Ut^D~{PfB5o2yGwd<5n6w$GWs{GDsUlty z*B_J1cPx85CebDkC-9H@K;+kKfc3@Kh7QIbJ(Ts8T|1>nPJI2&92e zfJH0@ll}><9rB|V;ZedRb69UhxBuj^x=B4X&X?g@Ja24EO!a?|VnqX9VI^=EM8Adc-$(SE_i+LA@!Q!0RyE z8n%`b7w2Zb@L;eHz$%teJ)C3j#2mV3j`xa~LMOo=a(uYQrBbAQJ6M;Q6JnND2aeXK zN&4K;0!|}%9qlh|!xqins*@AzL?KPLbx?vK87#wCg#G%c!)bASw32A5rm1()G~PG# zlKFNut9LxPT_*>(E;`WZTTfuGz_6d%1bp>w;D$5Hon+`fZB^xVlvWoz-|@ly z1k)~D$ds@TugSho1^2O;`tt@;AzjzRg2y)|lJ=E)B~Xbu(ZO4&iN8LRyUBaXvQeObQyv5Ns5-OXvYhKO4KZ$Un4Tt+ZQXkp(L!k%`>bg393hRaI|;uf&>4>T?!`g zFnjncsUFi3K)Ybs-9a;wQ9}M@kgN+h+}*^urFG(>R`0mZe#ABMzR}efcq3#B_hNVo zIYv?vQz7dNj_( zvu8^0Do=8S!D!tU>%1yc5=%4&4jA65Bk=u2h`+g}($Uu?;#CTk?Sw9U%QjkO=Vc4e zKOFKVZT3IZm?tya$lSCm235t?YWZZuwU~P6dntR1rn!v;B{S92g(m2)_Q^(@-McMB zVaZN=_X3n*6yI4g?CWQBDVL#kn6z`ynmhi^L9#tT`#i8}6mRxqmK{ls9fK^1qjt|g zwEv5%N+Qb1gy9!M*<)!RoS2lb0LIvxM&M~yBa1JGp=z~@G?%j?dcmnJLM zr;29}tbJ%#Ew*2FAPD>;1U|-k6+UdDtVIq@Rvlnr5~P45tqnU|B$C0Y1MsoOm|`^XH%KDp)jX0 zrf>!!ZWHk+vo&-29g--fvwdaoD4D0taBjJGOggYT&G=+>N?YQ8A6{in~toI>B+XL(GP8l0} zdIQxl=jK}(gTX>rqbkbUR2UwB{I%Jik3WcP*XR@AwNh663YXM?^4dQ*Sto+xb^RUG zdRZa6ql<)8jpvyFt68aEr9HjuDTvbC7H9nF1A(p&W)Rtd&Z$)+_xZ2Hr;K6DSo$+G z*lhh$7!uh{$`ooD?bHcT=bok100)nc;KHT-OLeM6(_u)s@cp zVj^J5&VQR^L8Ie|pI8f^su;aZLcfVsQ#nUUg#ZLb^!gldDZHyEC}nXWNGCjCl!6mN z|4)+W4lH4b;XaE@0s(7{rB$4DsiqsJ@#X`uRPzq2@jSN5qofqJ>1Gu%vAHck*NHlj z88S`i7k;37Y5aj(T`rTKN=T*HRO1y=YE8)ok@A3oiHq?$grxDL8PiURhgqaHQPz24 z-(X}s{)Cv92--3hakx*zUVerOh5yQ@39`Kc#bo99zH$}A(Sk_-vNZN@GX;_aFGkx9APIhIm%6uIDMD}~jnG|GZb%?Na$R^w zPL7u^S#X?DgZk^b&|=&B`%)fHGcBc--M9O$MjuH-U^6x5?bB2HqxxKYP{K&t*t^Fi zBgS8xYmez}G4W?50g$|lOn^7dN==439wL3*q}z=Sf*aKQMGl4!TmPkI(PN6}(OfEB zTQtl`u9tPNOadlmFl}LSeg`z=IMHbk&PBG!-FYkl(s*usVC^Upu5+>ieTP#^l5MMLn)BSNBBeJkf#RaN7uO`C z+)k6;bX^gxCZtYP0yuS;3iIOJ<@G0`c8Fk5;z4xG+lNC28QHdHY#C;N0IKu&)0v1j?J&X82Ih2otS`wqx2$W~tANJ~dt|)Bcf} zA~304JQ?$<>(*Zod5x#DB;wfqld5H8(Px!%X*mfjdFw)M@dGX)ObsL9Z}&eD4*>>3Jj+8Af=Crjrm}yP>1v1>?Drk|kLFkRtnJ7HcR4pKEGM4gL+V)>F5<-gmwS}at z&A`VHMInbtN4Yi+eAb(b zs1>=l#D8S^WH~0jO%{KEh_^;tP;WN6YBiQF^ebh%++Ajz zOEm%u#&*>OIT62*qk;gz<*+44i;MLQ2X6JBVu3xXmMvjU9(Zs}LT~ZRujx2qLA*{? zY1AaFDK67FM4xUM1lma9D1?ll&iv9kcn8&1fg9{e+_u(axao}{^5ZyK(+X3N>@(B^ zB;3K=@f@j7{fw_=pqt`=Mcr#6l|Lc1^u23t!k+lW5O(UOfRr{Dq>uKN64f4usj8JT zmzsE+h}wTgQu-UiWP#+GA8l?>B^o?L+0w2vpi`(ej1%yO96sOE<#b3gup7ur<@dM^ z@1_DO9lzjrFfs9!-tB;kF_|k*!Z{1zFzq6a1I~UljZ?q@KW8mfn*Ml6Hj%r9KQpve> zpPXz^CJWZ7v%K0N>hEQx_Rjv_MrYrD+w#R|1IcdvU6;8Y6cT zb@B%ciz3Frb%S4YsbCEcRvSJbQZl<^u=O1{X$l>W}8v&@uTz()I@H>be?75#Hl;G}X7O3ygp6paJ`DJZN zg$EWdQBV=HqY_1mOf*Kv7|opRwr~2LzISKK{kfZ{akSoBoJj_bUZ27S-lX_EqN(mL z*^PXndYe}EhXha#_svFM$$Cgil$l5Kj;o;)Hde-Xaa^ktqvNOXBdxdJB`2HC!BbA4 z!Tlq|i)=}zVN^D8szxWuS}juGC-${Q)rvVtlNhf$Rdg4s-CbU#{V~S=@tSc(8oeFT z>Wk_7@uk_X6q$ToKBlHocdV&jB`E>Ajs7P-vVIx<%K#~_?QzhK0wu|_W5OcG7eOnG z9>b<`@*m~bGRb1s#^WNl0ZbfmDgo2IKPCh9 zKT7(=#E>IEC>F;TKEDRkKRYV$0+ht=uRqRT9MthFNu}_AF9o)0RvJAk7oD}Q(fF!5(8Dnb^AXF;rpS%q2N?7V3BMjSg#ix7ZezU^V?v&f+q#%i!1Y`eo+FcZir@%iMYYNBKCJ6SIaJ z{$wQRIQ-*impq$Pf`j#aW;@)YleiGS_*i%+W>RZ^W9XG2x#OVhsNON@%!e2`Q{dcxQmS-uEb%*52Rq8yJ+j%a+i8ocHgUA5XhqZc(EjK2GMm8guj~sD6-?xn~a*x!oS#YAAD?cbbOXI!pKeTS6#=ca-?ih)79X9+TfN0Bk(7+ga)NyIZ};;F4XX8)RPHO#OkCm%AH zEtCeIii?rb0T|Rei0_oS=uvI`?HTqIc_T)Qrzy$P6hO*(t9IjIXB;?$g`;=92Fv*!Qm=0- ztrFIhYgJKyL0fb>4jMbfrMTlvAJ+WTyzNe5tZ^_8e>U;l(VxTIgr;oYmO`#9Nxh@1 zj8cW)C7ZC&&W`!%%>a4gx@hn~6q)0y8N7zFPEww%=b*2ArvSy&zBU#axiiL^?3Xv62Zm{R;IvC5&r!v+33Fiot9*H+V(M6Jc?i;i(^){>cPp6|73 zDdafTP{{T&X@y8bC@S0df7Lap-at&WtqXD`y^ox|p?!E3J3r12kg}JeW!Is$8GGlFIQp@j%`tG)9%$=FW8f*$})_mA!zgJz^v6xi{x%!Dm z(`)uED)@?T_V*?bx(<5$iK-OK)M z9Cb)?`6@Ai3eT(GCFQ!o03N0Q8yMF54{tQ3Uj zwk;sbf#t#TMz7Djr5~3~9gdS@Hk{;!b8zZ|uvup?nuiW# zZ05T|kcUgoM{w_W`r9L8Bb7DlaU;VpRg0AIi>m?(9yQAEguTi&sjRN7&24s@F)&GA zNY@%re?TV_KfDH?^$;q7lQpx({*ELsMfUUigD2rXNW05AFgJP%*{eda_mBONf=TT{ zJFb87xw%kjE*+7LLUXxX?r0NpaS$ot78#&%!>nlOs<6-?0xY)=pUF~Qvx7m@6(%qht&}rl_$xa zR9v>00{?t#P5G{g-__X+GT!Nm{%z=|@8ucW*TcPkVel1E-)+H_#1_fn!<%eDB2n2z zDrb#ecvMwo!@cmVFz)l6Dk-B|dM zZ)F+9@w_DcWf)yJ$5LhWI%!&7FO9zp2F5hGNc!{@7kohvLn6sc)s{ivT75WsF<$)`@MnfTeT02p|8CwHBhW@lJ5eJC-#8D* z(YT)UP=b;Uh(*sp^N71i%Nk=~^m)9i2{ z+BwpsE_l8y9cnzOS4Nisf>zCxc-ZuI#46t^q`zpxOZt+v%5Ox7U4qNQ{iEs6A zi=3Z;T2FLI7D{B6cpH7Nhe|cy-rYG4P|DB>a%aN7Euo+k*VRKcYR2M|ev!1Do+g?0 zD|&(Tt4LB{y`&XUGGV*E`X_awyCs0ESF@~jMT;|#B@^uM{Sd@%OCfpn{>qi$DXr%wb(VJ{{Beg zjI9Sulj8t@E{?~**zIrt$5;XC=W?$uK7Yd++sABJ;E$0B5_pU0*?UL@_l1_f;Yr?` zL*%Q5nlte1q}h}jqdD|7cV1NObRoU4BBr)o=$re(>yiUX3o?W;)Dl-q`q<&>?0Q4ux~xr{nXF z?;T9v_TTjicr6k|3uiMm2HF^m^jn1*I+E$=gio#&2W$dkA%MZ%JPTVNv(oU0F0xIJ zh|QS<&y%5jBWDwl?LTSl79*K5M4z=++t<+6=OhkkMEd7b1%^;vhvcJ97yQk|6T82eYlwa+e z2QU&J%Z8Zq7;Z6If|4EC6BUN7PO>kPRM$5?YApvk+G zVL9M-aPS_TR|7lD>EgJipTO=GS%r=qbL}h%hhljURXZ?-PYxHDbuv!EkJ7j%e_Sui zP@+0Stoo`Vi|moF7Edp>Cngw!mc>Pb+r-4B!LxvxmISG{F)SJZ9jhA()|34$w5OQ1 zezZy4kYT+_!?t2!x-n{HE}dl@6iJLswdF4L4VO_DNzYLe`b|&Q&3#AJt`iKwGRmQw z2?^}DS8eVxTeJW+HSU{M|*xtRPYK_2NsglB7&bm99A&nXE ziIR}rnnO}j#n|ttzAdBPgj5!F>gWg$QDXODEASIk`{u-$)H-ymBNN6fc4KqEB{(?F zZ+xYw4GrHL7}uB`kE$Dn)#aE!$b(|qv>MgpX` zU%0^3PdAF#&e9ieK+?1OQ@?|0V%)n(lBZVc1CPZ3EuA(9DdN+O{ZNq~>VRlp-X&HY z?#qc}+(FOj`U$0d_gj(=hz~^gwfMw9`E(yD@;1}6S=JKkk;tMsRY6c;VwsVc!(Kw( z?Doaxjuw}j-*{-q<*ogdX-q=VXCA83x3Cd1I+AYQPN6ilCm=r7*(d41_0fe}L7zAm zybud2xhYGfA}UZlO>RBwx_SGKuR8@Gnp2ZZ@v~0^`YAi zPf|$s%!=Ps!KuiJeV>XUGv{(}mrqy#fsmK@DarV=V&FUBUPyzLmO~RHL@Hp6) zbhG-s+r}f$up8)|pK6wACX34WnKb#}N-ofQ*Zq006-X;bIE{MBlTI4amQfgu1G6Q$ zi5f!xFN+5d=OZ`>iLq?~a9?I;_VWz0LK=jq&S@Mp$ef)FzOFdJ!P&RZ-f zYPvv^NQ~2;zO{hk6f-vZCiW! z`ive-f~t(Emp7=C)A!^Vx#0~vy0i^z7|Nw6RaNoq|CrS;{t>`6n6?``49#fLzH|`? zDm8-NE;b}uD-PU8v~dCzMODM{@v$Rd)>llgnF(ES+nF1=rOD=6gD<0zyaU?$>8>M@ zYu56UcjP`TVhS%dyRN1tBTflAS4Jz&NRHzTLg3*+78;)PDIcMz_V(e!g9Le*R|iJzUf3-C0j;fo-JxjJ>H@m4B+=WnkOw?{}`0Vt#o%5$cK9s}hC%vvvD}lIWb~t+#ivnR4J^JVmDg+#hDR9=8p%Xsn|#YtP()5O+W3yP<>eJ|hLJnT zU$ULv-3QykIhe@oJsc7@^ZLF6l~<83DXes@ZupmtACUctq;p7v4c5|pru0}B9jUXX;AArDGE(UwEyQ*PA3CIWHaTguS ze`tQzsM^UE3sS2lm-VQVaG&yJj;394e?s$2=LUP?#YpVjc?SICbVpV>K1JjdQ!fH4 z3zA9CF-Yt?mPBLVhtk>eofXL(nH>(^t`oqMz5hP%*HNdqer)brDE;nFs;oI9uFDv? za-~Lg(LcoNwpqgOMmoj*Gf5~+HntUOHXx04)w+I~M<}kNA0{en{G?3-MHTn%I~iu> zrj}C*3gF|@iVG!D?W3*3GwYw_CCSY%#Q}xU?tN+KpueAQ6W6~u*wF4@7H&PP9vA5vrw*f2{-Ko4@YU&8fG)-X%^)C5 zU=BSTDeOO8od#>pS5(G!P3(6_S4-KI0C}AAlv?x5XvWfzYh_8}H!r7~)z0V&SJ}di zDK;B2Ln5jiaUh_FlxSIdNXpjnM5jG^OW21kO2NBEQZz+jRFX#{w98v=$c*Qz&thN` zI-{uTK4)u+DfO5H^;73rZQG}ecYRQeX`{DCF$wz-6MHNv$KJ3m=tllnjeH8`azDyVq z(HwdYqpZst<``->abkRhf&Bh3ZwE)7t@{26r^iEaEvvi^vBG=M@Q`B7jSrnZ3@3I>Sc8rgv(lHF%XG@5;yj7Z(|0cA1k9oux6(`NVn z4yb?k&>az>&kO;E2Q4}8-geW@62OL;;pmtX?io>ondv7?mpJ_cpOP8Y*cLGUbA&_6 z*Op&__1dVgazqcZ|J^ddI2`&|r=a#A3zPKS_Ohpjo{r?$#5wC@f{Ste_#NM|9Q~~^ zz?R0Ei`&9Egm`XlpQ`4L$pskT?S*z47R!q4pN!KTBb>5Uqi&~ypvz^|)lX>cgp2(s z7lFxQZv~mUPs9Ue`D6MHT7*sevvyns)E!isgLnIkybozp=TBso;^~!$_>Ynq+)fi4 z7W{Ea!3BJr2{uI~!m!wWW$J8H9ebk~Jvu0b2jYjU}Oht%)IpvMGqq^~h;JDINWjUbo&#~3-DtGp4+5(NFF z#iVpjCe7&^ORJz71agP_n1G2ezI`&HM%lgY!g^~mtW5CQhnPW}Sd`&xHJX8KM@2EV z=!hzo?-{Ma>G#^9VF((S&nLE55UbCzDJKWSUk#%vnVwQhHr0Sl8>QzggB2a-dmTXte(G5jFe6 zUBt(Pp0j&=uz7OCDvPJF)k8|m1amMvd9bSMY@(t0M>4;MpE&w)E)oSqGvBb`!Y8{L z?jL&kvtUm~P@y*xf2ZWKhUnTcA&~!0a2?+=-U_GR^M|tY4zkQdxe>kxgko?&c{^-LWK3(7F_vTIeAIeTq>1&jHIPMGt&dz3 zVEpS_fUQQ<-rOl%-{#=vUGL+%0JL%H3#?(Qgh_q96>2S{4X~xFkw2(L3Z;X? zPExnfBzC;Pag!_`>Sx1<6l=Bq;%ywDo-jm(KFk1ndnw)~fbXld=yI33zvVL&S0D4A zb^EwZnpupnH@2CE%+Dx}nydo9$1-t$58kUo?NML479-tp!jEaV^$x2?Rg?JXhFIiq zlpc%$q4RwvUqF(UvvV|0@U&-{twwI&NB{BvM{M~^nY~8UU!u^(`K2~Yp?*wAOIR03 z5ez6Q*V$=I^my*YpA4E|CVY83Lu_Bnym}8C>?3YDcR4BEV z1jGf}tieUdr>4Mo2|)C*cTgaWkrm&o(AhbDkc~-DU?5xDgga`Kb9rPb+dNxVwrJFx z1|)m+!|GVp$;Y^=^QI5{x?<}X$n!gcOE|S*+WO2Ib(Le7L z#nTSbrHVT~@o{%=ShgiMYnEHkG3i;RtUKCW?~u746N31Juc<3g{yy_3)mI_)ji~65 zsDVDSR_)dyNDaEd1+2(iG>fVx8&00;rm`;~h5a`%ZA8bc#`uY+mETuIs?MAvGHpDu z`xpub8|smhkMWH=P2?$h0HjJ}nw0pEhov@{gUPN*Cj_(M{AWT6_P^EBzSk_ z4>yF&sx=;b6bs05Jlmpb&2hPmf_&`UhDYVe7zVxLX;Klpc#zQQ9BCfOTb@vZ%6^w? zb|=g1PR6hQcgm{DDF>ItkH((zAmpzK{3Itd0j(Vl7g$H#4dR9hD&*(ga2KK<$d1}NGDy+`-T{f58&u}7|}SC805lYHCvo-SzH+zl0~xjoVdU*&LDb+)HBoFX569S7EroJ5?;2%?gqGpJb?# zDNkd=4#m}>lZO=2B7O8Dfi%w~2OC{tnFI@VIg#(5oP!!wJJg~<(%_o-6^9y*uKS_X zL+!TTWbZW1doeSW`NQ};fKM*tTt^QWRm%2dH*m2C>4Ue*hrGcWj*^X4J0{Cc^@+dm z_Ae__ow*tmr=<9HUUrtFuQ^%Qxf|p=q+TgOh(tuV6!#uOm@yul+YhWljhj^@=4Sh5 z9k;xu$Lcwk-9R1%A9-dmZO;g9dllSh)b=Wbxk$HZj%0n_lYI0~EIk;q z^~$=~EqxGQ#I45|1#-+P*|U0rE$;3J(Ys;H_f$qzG9^DfaDs1}+|u+NRcjYh9wsLB8nTg!)4ld_XZ-mx^L+Js>wUkn~4J^As) zGJo6+=c&9sv?G9$ozT@Y7U(qn#gCVsbFt^MIpF!-`$a;_NaODZc)Ln=}a#qt^V9hzO{C{AsOok^=ABjXkhiO|Lox z55LFq;Mf?icXBUYL~S%ubz{#y;a;y#5VV3g`imkzGrou#B^!1Xt(VIkN965x;F>jD zve;0M3LNpu0ZoeAWS{0T34;mi;eR5!T0|g6H1rt!jGb2gbdiOE)63|P3Ukh}=QtIM z2>|kI#Fsuu>y(=3S6!x9nhRt64gd62pLkwXL|sL$ra1|2@a9(xK!<|hCg)Jrfh}nR zcY^yp5NEiu#qVj>w=}FX8|EjpyMt5zpT- zH8M-8Hj#N^X+*%Y%5h<*|KNU#oHD(2Eb~r&)6~s=IA8zrRWstW)WF$kOTzVm>9tM* zznuf{KM#_MJ2PUk?B)`r+$<$B}8EO2&5Nkv&F;(^>2Bz6GhGoDv;GJ={ z`KHHW>Q5uI?oim;#$y=+?K{Kodv@#yw;rE_0|it1Yde(Frj0lX^J8U2vB+e(m`cVq zPak$rz;XL}zqsy`y~p18q(i&?C!+p%&M*Itn;n9UZYs)mP=pJ@5Su~ch5H*f=_W0S zUVV_ZzwN3O%F)x%g^M4+y4x7R%zEKRcB#P&l|=Y^zEI*&GeeISu2pHQHn&MWODaUg zU9WaZoAd#xS6HoVtn5dU*ce&tt7@V#@;DF{HeK_YtS3uf^5!y78ffP~6B6tcfA0+i z(K63oQ}jO7^%`B{@;8jk;*MGd>pTOwGFKs}kN4tx+*>*Y201w^#Qa0(MDes!1MLxX z@T{;3-<6T*HIm_mt^(x5!Sh0?Io^uR-=gmxuOVmANL@@DNU3!L7SoLuMVo>q@g5O- z8OfDGhT*=I9MsZ7#*b~;Tu7hHlWZU_hWg-c*X8>7_wQh?_NDLXpX#i8*O-oDa7TEk z0>nqzFGQfeQTkuI(Y`iGJYO)$Ya>sB-WfHR5#+%j%eS9yn%qd)ct8bA>MC zERIPp2LRG(O3dAO!~%>P8y5|N0HrC9xw^fj*reJ!_;&X2~h@K0l?bjB4w z$%}3RBt77vOVgW=os0t6`q5_m!IW-NIRkJSug%SRHfY6ztSAe$^YT*xxonn;k85w6 z2!Fc(P6n~~39BFNN}{=kOj~0;x@R{#^;yB9LZYT&1g1WZCUtbWrW1MW>$Kx}2h(qj z%6QbTe?9}fot2j}4K#r$*-#!?s7DfA2YNx)0`cd{ z*=-Lh<kE*BD}M~}WM<_G$v<)RS66|47#u&x6!S$IcY}In zM9*jGRZ0F0bjZOZ&h}z;RiSoG1y*ZmeC5|s56 zx?{|MZOfPZi{i-rP+xq(%b6yW2v$>>opEQpQoR8Ub>8S7#S|NKc8nKIC&F!v%WcVc zGA(stz>c%Ft2+He){nI^c6^zW>zvF%7(x1=0UE}Ti~bWvVWNc>Iv&U4(kJI-P{ zN+HA6_qV{Y?qdr3y_imCJThc_`(_c7DC1os`R&n zMxr9I%Z0ZP>`*!$;2c6T52^bP7=Fdr|9eq z1NQ7HU<}5ccC$yNGHJ*D#MO_uW+B_+VCY+Bk_POa+CF~xVB1R^D@*ubY>b}y+K)KSPZwF={m{kHDDe-skrGg3(m|?W(++@o{ zXOQ~B{Y}9}wx_EwC9xm(3;4nW>tou!xj!=< z-wKk5`c|*3pWFj%4*YwA3O55Mek+Vg$2#E?;(i1k|xl3Hl>~ zn=d~K%4`SGG2mE?&I_+2W(bB*8b*vK6oIqn&*zhY__+Ej^;C}fWkKB<*_ z<_E&`twyjzTWm7AN4>_(shIF>F22g1#X*@rvGic@>Aj>|*(?nuP!zSqY>pD+uX_rC3=#5c%>lDH4$#!arLE9sf)(V9d)IeJjuVK*`Iv!hy88* z76bHG=X^GpV1cnr7B)q$RG%meg>?0!q`ZxsjPbj0xj+cS%~2y@(*=c?iM-%b^`8h; zSYD3IORW=JSC$MjMmh+ono)ES4@gM!cu# zOyT(CORF3Un@0(ZObQH{@mds59sSwHe&;l31cF7jSa0obSv*!?l0mzp>E%Bg^VwY+ zu{HldpL%3HO)7C0jDGt;+NkF439wSNJIp>kF0w1i&jA}LQudqphUsuDG=Fr``uz#0 z6-wejqLR};wx&{WPK-+^X@k6WfPx#6I8X`w^QV85UgTpwji$eu)xBeB6ypT-QRBn4 z*y07@TbL6=*KE6xA2H-Jp1RRv4BQ7Crdi%Ov&8HtnnU_VI`v?hompHZ{|X+_Ht|lZ zrFZ8)qoy}a#ftPN`g>Bc9@7ctK9qC)(Op^0``-}SF+S2i(GvH=y|?OeCO-}Jjrqe# z^EL)ORe2@i$ZG?4|6^n^Uu{Wpixa*Hee%~=-hyg`f+Vsd5)ji^ILgSK)rraTMu4wT zwM4Z{kGe4N8|Z!fF9xFqqQ?56yYPh5zNkuiEOHI>$+b#WH!lSyIPrX={b99eG@cVu zf(uCg$m#zXkRP0$26g%PCmVn_|KY#{BCx^Mt$vyD)CRo_QQpIxSovO- z_>u$Vb z>bXd)$M}rqzdqrAn;#pscFK==`=So_C|1v(n1>vbo#_pI(~O`PH7)=7sP?{~f%ZuG zIkx5*HOT>lLTxfWrZTWm2?XWzAon5@OK0|0`g=c}Oa?!+7N1~RA`s(|$NT&!23Xk@ ztw?>={1oOf&P_hCyLTBiV5!9v%rBH$J}y+^Xd0qX$o^xS36*jTi+=yf2JrK6lrWPn z$(TGd_BgdzcU#K{LDj`Wc0Am&gS~#jYIlj)j#zIxsj21d$>}ZwqVT?*ynRob2)2N? zgNLGNJc=n^P=0KSyJ)?`>I3Yvrtj0WAKU!e)mEcYH@|myd#)ME0Gn<3Ahg3YUChMe zq^diAHG2u?f?e4U5n1~NLg8EnvBSnOLW&Lb8XIWGgAlRHloWxT-)>t<7X{*E2#wM> zp4%^Ewnx=_wNnETu*hz$1U$)wPU0-F_8ilrBBK5{+_IJLcIr5C*~Sagqvc1rqXjZP z`0F3{GWE>URR5ET;&neVHP=6mBL$W%Tz3&G&k2#9tJJq~q3@l^@N;SJ7091|&AD4( zsh=VxZ5eAm%y?{4uidRTv76gwnG-pBZ(fr~p?MTik+PX)4l3@EIg4M(Nb$6DR4I-q z9k`jD&ULg3mrDggUmGQ19B%3X-{zd8SpPz!C_#*AC?ucQ;uy2#9aRrX>6+pAF>PmV z?xfX3%r~ZM=P{|LCT%>-;|g-HIlw{{TiiB0z7ELZ_h$-FRPA(MByMbaZOX6%GdNr_ zq%efc#!x7HU{9fqjIiM_wrbG)bXgZ??FUWMBk5p~E78ER`-vK`teOU5EU(Coc_HL33kV{crURGE&rSGbu*(l*Of95~)d#OOiB zJlVMzxR~U@32ab>v&fr@}^pyCc80XD-+hIYNQ<3AZx|D zUSDIs_(x`_p%vo&%a`jBb%^+-dV4d&h6n?@ICJKaoUp&AQYMQ@H65n2yGizc@T4Mc z*@}ORMHEZ_{;z*xDs4_S&jQTH9ns+{k-aG^lVcxuR3eR(#brmL zgn+_hVopDCwVGQbM=gI&_u_+Rlm}0N^Sw@1K%{SOVoUML-@dA$7a8ckgJ0LM+wX`v z6k9CET^3J=L9v^2?7|`=@)y@V(D6E(c1qjvahxJmMYZE4NjR`I$&f+M=k!S zfg2#u(>Dw}e-^;Yj^fT+jBT}VF6 zr3v~*uXeI5PU$+pI_6(}(H>QYhl}dCOpFiP!Y8pKLIB^$fJ2Ls=1c^R5$aauu~ zZLm$F!+`v;xZ=e-rdGn;nwQ`Lo(66Wx!aj0c5zp1ZVy>I%4+}&NMy@6ei@?au=k)t z+9P?YAz=xjggKY9DWJb|^c zL=4C6k|xG8mij}63P6Ja__JmUHdD(rMH@WoLdC@%97Q)iHA8tAm!e-qpB_`IBy;6C z-n)ZAqv$S&wz>u%MA|qRp+0j+S2v9p)A9B-=*^hSfaE0Hcu>Qe=p9wNOEQGVt$+u2 z%3w5>7ausjV`>b;EViR=iE*3mmj*G( z#(sP)&e9cll}+2^c~YxT1?tT8ozA=A(5OA2OJN;jPFvw(x=UYSoSO! zw*hG~qZpgvV*XWr(4#$`{)oW)v8**Qe4)FGjidPAi~XMvPF=O?Jk-0Jx-hy?L)PSC zF!xm*DUg1I;t<#6ylrWbRiPe!)bQdM3sLISM$TQlBJ4T3_$uT8K|sF0oxGV%WvWyF zW2u5*UVgccEv(2pEi7g3H~=prHpVXh&wplH!gFU%faImSYK8D+h zs?BjT#K#Q{cAMC3s1jg;HlExTmmO#o+cm}iKEOa4!Wco+2cf@T@@jn2E)wg`^X?Kug0uF!o+%(lOn~4nNlrS#^zMWsPi*t*JxVKhWUv1 zu9w?MDSNEa(U@>FAJsYBhSEIsPSpCYA&ilbW?~*Sy6k)b)ctUP>hUy6Ul!vr>Z`?6 zC^yYWZ||0>81=(qs|TAq!x~p0rSWx`c1+9Imr>NUh5d0@>`}E0u+=)dOmu84))Pj+ zhp}pq8?y;Wt}c^SN1bsv7n6-!sZPxbyGr?e*Zwu6magGG0$&C#VWLo}Qc`*fM<~z) zMwr$~%IleY?rf$zl~;2g(}v&C-TObWG=qUG!$njn|h&|jt_|FO_gSXX~I%G1b!c(F_;^@3#8Og*!B!KBZw1L)?MAN#Fe**4p8 zqJjDSs`vD``n6U$kidrA^F|6#Q|b)1^dpD0>61Obu+M0NAn zhoSm+La=I@<`C3HB1uD^6v>AZX|%Fcogk2YT)-}sm$bsN^c?pCc>RGCe#h0o(77@o zCBSJX8Ore_ngtY!w%Zst(v6$JP*L6%1KQovS+RxU0cz~{Uj8epv%j;tj&!fusxIs; z?Sb#%?mogQLu|->Vw;lfYa_3SraNprM1%g&gMC8kFEH{oT~&O{E~A|o4`nA-Z=B58 zO-K!-kpuTE21J)BkkI}3;P;bE^-Is{5nVk2G!wCXblE#rJ#k$}?_-+7&F{$K!LnrcmyFiYloF>=Pgcu7NDegGdCZ;Ma@cVw6Pj>Ypv`J?2oE z(lFB4ojBi2Di0(0-YkQMgfh26JkIq8Gui@sitPPAM%w7N9rUx-dAng7z6r#V+Sbp4HPMdE!n<=&*&Yf{7)o#5vj zLb3EbnUZj;@dMWmrpy22(imNcorz6A-feR7&Z^4dEw%+*t_%ZrUyN|+*(Tt^0iWvE zhrUNvT78o0gyb?OynPig+kkl5*-Toew2h{5!r?}AY!ojyd&Q~mqwczX-A`r%gc zM$p?ZeWLqL^2!Xh84#OgjaU*B=?DK0TGuh_CYQSl2CPWD$n)1^TX8i(jSMStw!uJvm^&_pK_Kq=Apc%BkzujYuCco2vLbCeYS&!QL!;$-a(!H)00rtWoGI-nBrnU z1IfcXHmJb77~|}?d2Zmag8+v<@nUi{lBxVHzGW-aAI?=-2iXN0$Vc(h?}wA!mVu!*v~tl73>BL3w3 zGnBOcB=MOX8XZZ<9ax!>Fl9NuMt?P)cDgGY5}DNr0hr`7I4n$$73jE++vSEc#3^Y$ zS2sYT9AGIj#wzh*w@FLs9a96j#((h-W)=g9XMc}eRGyE;!E$SAHxoZHTN;4MJlRks z{^Hwx*>;IAf7VNisU`1B@;)NOI7cjYd6b7LNeKxElo4j| zUKx@%6D(VfifS{7nKoHW`-)k-BkNs{xYV-k=Wob5V~+6P1Vl73Q2jfi-h}7l-z|Fh zsdaa$HsT1S9Fxb&CI=LF2*Z6{phTB$L%GbWT%hL5l)B@&nLzM6sJ^|)P2|rP(72Aj z+)mkj++#T-vW;C}xYjM+@S*OySREEQnN9xh^d!}VM+=5k4PH6t{gfk;ue`X%I?jM8 zcbO%Cz)a1!svU2jnW6xld^MXY&A8((|5b%{x!pmhl0K9fdpyksC0B+dh4M2GN!TMDm*L1r-wZqlf+|BO+1#oj zqFX1~XpT26gU#;G6Lawa$bARZ*c|Z({_%w4)*bBCI0y(x8rxv2a`QfvOTbWOhe&{u z6OABYTj~x?cvT@BH$ZVeakWDws^p8MfM)1r9G@s0k3j`1j6a>ntnK@5O*oV8)sz0k z)qDS%G4x>iEmxr7FvE>ss29q>!Qj78CU(U; zsN8C~N|eMUU~JN8F7LOZAd5cZmu2LjolwR{Xp3GUUdwFW6cx|(XWlWjED)IorySSr zSg{SWQOt&F96g57N5~s9I6ukT`1w%tDuvSL-n|$ZeT{Sz9IU&)H4=B-kdLLw%0Y1z zcxGU3?p;p7nELZ!+C0@NQdhRc=#{07_FKCV%hn6ra{YtHS60{R1^N^p+4_9NG$oXr z-s{3&Ji#z`XdmlIc3Mw+oOL_hgLfXeg)iTT-#=mXFTZXlfme;(!r+9S(4Yrw-pgDk zFnb=va9|~6*naTOmuD}@J&=DjTY4~kv|P!NLJSy*J;@5iNcC|iu?#Zzzv#^Kq^1;E zn^oOd`B0KziuLfy^8LLkRX{zSNY@A%#O3#3#n2`pjrs0&Lk*!^*GQl7kN1g|a*Ph73puB1s0fT!Y;zate7kc99Z>?o(t9o#%EXDAH@?o=j ztw6=F8Qh87`eAo|9Bhh!VNruW$L|bKf%G==07$YUm=y=3eTnotfYRM2I`HIeStgI4JEeNeV{o{cHh$%FJD8q~9nGT$A51;qBfjR3`$V=*Vzot(; zlD;`U)4!`a7a0+fQve=qGvfzVV@Nw2OJSuK*q-km!F*u7wnWNEGKaYH3=SYsi!v1&ch zdN8mrci-kHWZhJoIV~WBJ2{V11p;n!$Gs`2+~^VctmBY@?Uw;uBWjmPwD#;@&q*YT0j}7nel4CIjorMi^D_#nA3o zS?>v@KcJ|wHHw+Q+B?>5Mn&18lt!4}X&FU^+g6B!0(?0NLV|z3_#K^{Z12=#ieuWH zpt3lUSpV6aJ+*)0s_`BWd{?3sJ{*0GwNl(3nZ^-${vx`p!=TNqkq` zlse%FJFx(mg&Z$R@+p(SVK1ig+FQvu*xIm+`F136gn+lVZd{M5!&|P%;RU9nGaKTE zfNyym#8sl;GhlyVQaAQUp`WeFKD=e4O98qyF326Hxla_JqPqLD0#736sbQpwP3i7H zDFlATRbC)69+r!#@+QNax{EAB+3`YO#y|?MX!6>h(Z%wg{(d!GNKmoyrQvx{2Wc$a z@ly7cq|}ZxO>S#IS-8uw&!8E~;eIphQjR{q*xNO*R#=K9x#jCM8oQ~eR>vRzVfkwA z>!5^C{2n+Is;K3hPC0-jFDuwHyXM0?st%LBYw@jX={e?nGKTw$&zt4#cm{FEH7hm1 z$;n;o5EhPk-X`DT$l%vR9efAXZk0Q7IO0RQpO6g>^)wIWkjL9FEfV+$2$noI8+K)g z*N!7!vSb&ry8Q-m)6 zmy*lgc_=3aojsKFk0}V2s$=la9w$CM%SM}sQBg*#SQlS4&ue8wgLXUsZmF@lrS1k#Q#gqJ=pMD{oMd#z5Hq@;2RZ${nnLzu8f zcJ_m=dR%b~&}`aYqio4c&H9$|Z9bi%fFG~}!sDbPn0A}QCBo+SCznG(wY&Hxp98>j zQ+7mN_Q?ZnLrZ%%J*oJyKrY;=W|y zW(3vo;!sAqN5CM1{8cp~}0&70)*gK#$fGd?gd7YEv2%Nmx3878|4GhOf z@GzGFX5IHB!OgIHeX+}cE^J@2MKz|o#T2O=_*?wWW3kBaf#suhG8>kvDbC9H84U9H zsKzdeH-asVp{FjG_XE9LDx2w%{d5=8{X5SjFEA3FKsq*4XZ@4xb?f-p-kf4}Z?uX+|!d>Q_FY0L0XVQp?IH z1v$E*x}mMRswN{UZ+KP4_dmCpiILOz9wX0yxHpfhDBYkIkB22igY*7Sx_=@&TV#~t zm_N821Tu}I!r(fXL|%AFz`MrDX0tPhAhPT=>tPm#CT{u;W$)PtbwK}gyj_yNXIjl; zGS0<<>6#kPsuf`5w0MrkTmnZC&WB;*P=E~9Psp2MYI5L31WJnT-M0J*g3s+E_yfLD zEtIyr3^OuTKDW&cIN3OwwVHdor?T0DNO1~U4_>y73mHJs;3*)c1{~LYfyD}3b&_RfJLCsXWsF&xo&(W|72zab*2}N|Khz#in^-;-6%R-`1D#Spb1KJ+)-S& z8mK;o$yx<0=tM}52ecy+@+lFh$lA#kgOYOQ@ZHXiE8#TshT-F~1%FZ!m>}Iu!Ts_6 z-NG|I%_VBdUtUR1MD0eY{7D)^Cr8Q?HQCFla6tdsa2uT%mcZ7l;e<_5&=oeYE@WmJ z@vkO@u=*@D9@0PX|MB+j-ilpyNEl7F(H^#<8rrvBeE-Wc-=d&py*IuD5J7P@y8iqs zDU2_wseO9Qw)Ei zXcx!^ssuEk31&;v6~e}&Nff6W3(?D82#dE9!-T#O=e*00adeRx*s!VOL=Ie8`8>1Z zcUbK%sZ`3y$>SLF69A`8IthXUPKGxuk)|DGd~ArkH+3mEFjiI^8WU}wD@*?K)Bpjc zawvuCbe!vk37q$r$C@Te7ISZDiJ4u3l467E-DGR663LwNRUT{1k0uEwqb ztt9}$HhJp1N|0Rc^UM2O2FZ-R*ZS^vObtv{#GoXHt&T<7kY-Ke0B2Mi<|B=|mr;P? zNK>|2%Zbb9;%;GwB-n>O#Ve#fqAac3q}U#dtv|UAxDi!UBHGOl;3HG-nVTDB$PJJWh}wsx!E|I3C5kR!iba@PhpJt z(nT>UDI>1Y3myze(@u?~m`&9##Xc-ODrO$K> zGT)IjXi3@0*AP(l2W4IBZd^`!QIEpBM5tWy7My34uH~_4BVS|wU_#EqS`K3FPEE6Y z0|nwD#to}QRjKa+v_G>E;As=Zo5MYuky0c+$1alA@qFl!s`-9R8Ss!E{KnH9PEy5fzVhJraYz;@%`TFe|Syn_SO816u(UcQ#`imAzhA&brq zb{68@D6)>?mC;78ZFfw9;o<&}8nuoaEP=zD1gB_0()WJ3M$}#zoJj^Q_nA!a1GvIz z{C83B%4Af=xNIalwiL^l*rRbV*54Ool>NItyQQn!Vj){+jOy0DrH(^=GFrp*vNp!K z4!6w|kkwzB_F$2`XDDuFC2`q&3+@j6>P2YnPcBr}KHsQMDZbYr_mIeKF9_l>27XQ0e02FitoUBT`RgI>hZ@!3dWXd%*-QOr3p?}Lu;h1`DJ&@O;xtD8F-ev@}yS!zZHz_o+=3j$*`C;W};RNVPsml+fc zT1ORey>>Tf+(hB0I(;$$VpKC7Z)c1?$?(X9$(CS<>HeCdwV?9apOT!&&=Y#*iipNV zI0L>SsPRaJ@u2nzzkTv8Ikgs6945_=MLT+K`=>slg6S1nPXF*zjMnk)LeU8FU>r56 z!*3wl;-+vt3+{&-^|oG9u%$vI%&e7b6=Lsk2N(0>vG;`4E)h{A1uZt=g{?Yz7)g$! zeZQq!b;%W1xJ-h4j?o^xICla;4ewLhPBHEMFzJs%>-T+7N|A?f33&d=A%Uj{;zG;1 zxn0A_-(mYBs%u7f15k3YQP@7grHUx^mv{U-(ff_#v9*7y>ZSUawl0*v^Ir>b01g!d<~Z1E(s^fx~m(QT3ywKU-e6galA08MkAd zcN`H@G)Ha@a`H`O8wNM=28Zj`)NPUw9#y=Vj&v>2vD0kLs=FJay78`TFD2Q#JW2ga zVRq!zO+DhU{{+3VnaODz_d(a7ZMAp)*wiHgMQ&olPE;%#Hu0ty8ir zsUHqrl*n>$&>p=ca~0z;&$^l!R(kS3b3)QdX1B+Bo8zBgmGZ@QE*DDcBpdhxRYKFUK>%YPpg(1NGtY_^beZTgzKYyh97!& z$S22nW#;Sh;{a%}5bGPHf9MB+vKa#-U?aXq#Fv)O6Fum6Jco*+?EwJdi*0on7l@sW2=`?3}0hWz>A z-hK)1ncFe5adao)*o5n_83Ly|SpS?IDX4y}i5@u{?x|@r7;%Y5MjP>*cNDHV9f8}` zt+{vJnQhqP`^OdMYp|v`n(}XaGXJP)qG2;)QnfKkW*`-rn%#_j$qB!U?NM+@b)1(? zupaFO(DGv(da*dzKhL*<>d!{`8q?l&;z@!ycGOXp>8Z=u@Sc4y@fUv=8ywqiYm{yO z4c@_gs9&(?8dQs_5+(C7J2dEQPyS!@k9ZLp4Vi~`*))hk`!FpqoozuTMw6*zkiQh} z6jgKljtl7@#Qk`WR>o}FAx0lG)-M}{={8A1B?;(cQ>xO;k0RlzRpO}#<~$(R;E&MF z|I#Q`WKI01$WjvPCF229FQ=hIQBaJrPcS|UQsh(Z#=G36^&_LQY>tww{{HI`HJQtD zMha&>vm)@(fqMnBy!d|l9Qfjh<7VdzfJ7-aqY`$3EQ_@$h^a1S5xS$%H(j0{7?Amf z{x70Vu8`8)FmjV#Wh8O8*pOF^ohTXulb4jp#gWFR_;;^W7yr2m*o##tiTG90O7V0EpMMv!dqS+2#>Br^9EYivZ{J&4w zf31Pbb&FoyT{B}8wA;7La0^OW{ur0msM_@_?j*J1M55U)H5{glpgng#Nq~u__71)l zo`%mj`GP0z3fz0zCsNZpo_^z9HIGwjB^#Ik{;`RQ`MimGnUjoS-8Qey@zlTy(DpDmUz#03cXKs(j$_7ox-Aq*RZE#;`dz6d02S%UV}K zN=Mb>uoNX>fV3NE9B0H5m*d^xwilc_WJru+f>q!0U~eEX$1n2ypqV!dDX z#OEdDneoF;B&UV}2zo{CEOLU6KFv1!C!F@(Ur~0KcmtH$g$y~It&xYhb|(q%*cG0B zn+Q6oiOW#w!w@D<%1A1kd@}To=K1QCsrkcJytB{W&33hDCuz5R{BwabpBDFond_b@ zC=>6l=Wzi!{AB(qp5|;>*s0&Jb-nRMffX<8u8oK++BHFIw|Jo#tY6RM42dC0mYEU>R#srp@kcs)ga-VG{IMrzajLD}o_{}d983uB^`1F$gP2&S|0;W$fc2OK}ge?6;vNccTv#_mE^&_r7jNqi>s}g{; zfz_#AsgLXq;s7Qp8`leX9b4qYUwl=k@mj8&ASsOV{tl*R$@{>(3&ixOAZ1TBjfUCT z4&mqq=D?QJL>_kJvA5IRT@ozwqd4XdCI0^os()=7l@tRTrB%`~!)gz@rPCzJS>cDh zag?0pVWfR%p0;m`MsocR%N>Ps^snq<>IfXu5H>*J@B{7E9$=%O?hkJ^;6G%or$vO? zZ;gx=HcoG&6o;w)X(yqGI+w08Au-4reHfEA=C_+eNRWmYgKj1<_J*L^B@$>yD9;v8W3vyICv&AS6p843TU#io#$rE2hh!+^>KfD|c#zmw ztJWiv*B<4FZ*xvsm^|2!0%#jT_QXCQr7u%!h1A&M$9nuz-xbNYqgpPkwHRQy&fi8A z75~rZd3SiDZp+MYE2LHe6y9)!?#Tumfj zaGHaZipaYuw^pw`1IXg7w0s&!5Kccw*Vpi`F!HsD%0~HWfL9$|VU^CkLtfb50CGR_ z)70lIk#JL#LPRLqnoq)?qFV13m!=|o_&rc$=-}^MUZ|EMw-2 z8Iudgsa1hB?rbt+2BYEykB>Dye8nRnU*a|Z?!U*>qS@0j|hF4p6UE1Pku zF=)rQEjffWLHZrTz6)f%JIxeL`c20Sk)`M{M+!Y;Okms7S5VQ-x1dVXil4MgqWn!0 z;u6HjJ{{eRtb*A$oO0!}PI$#=%O%4jMO_mO`6s6S@*+)N(*1IzpJcFIx0k21->%lM zUsCZhg3%^dmgsoK5F#GgKDlY{a2Y>!&=u9z4|QZ}@SQe><6`BwjN&j-=r(ztRL6>u z;?PW;^aCkH?%^D8$#tN7seUP%y}!2$ zi;xR-{~`JWMP$MUzrx8);pf=b?;)Q{Q8VS+XSG-crHc)-qq>GTGNzJsF=HIo4)y!4 z9|@@`Xhf~2t%F-J#j`>6&2l5!jLRg^dYvq@hbSO=bBw-BM2CHR_9jS6?(I|TOCdEa zjbm@D_3`r)A+5H@EPO?7sDbj@z-XR;B79V`X*X*A3|E$W&}T!$c69BrMB3Iu=ovd^ z*cb6%b{PmpAxIBT2GR-Tv#D1;!0Ak4S{PB9ltr|Yi0KS=>pP^T8+q(KYa6L>gXcHR z5Hi}U&Lm;TC#}iRC2A{U6SRx9gx3p*vY7qkPelC;)xw%v$@QT$_V$}43Imwqx2^m+ zrjs=!&F7>Eh*EG`44!?f7ybYtD5hQ%?UAxk6*WZ>D&+OF-S@`)Io_Ew`#}B=W+9*j z)NsdZOK6O{!~k2&Y3TQks14Q*h>ve|uY^!v`-TptB(}9IQK`9|wHoHh?-xIoYb>cE zQ!_UC7+J+DObz4{1^3U&iUi=QP1`NAKwIonO&|H_rp#CE1S3xm6m-VmV>h@u?s`}H zo?9!RX6bWO#v>ZB&YTr+H4?C0`I$A}qy}{%6tQ_7!XSIv#;hV|SslV&$%JNqqH516 z)v6l*1Jecs0Jh9fzfBC^iHga%%Fi(7i2iJ}a!dor{6|&zU)2#&rM5{wqDU+TXmoT|+$KD~eq@C*YdN)?lpGrYwA5Jqr7rHc0 z<7=AnF&K)hjb+1ST_f^6+vplm2Oe9CpMY9|6#bF?#2`A*%sT2jiV)_ud4}Gp!K$iP#@7*Y`R3r7>TXKpNOZF4Za??)+E4@;f$p_@?$Lw@s>oZ+PsT1%lRnl zo|%N0r2F+H;HP-{Eh6Tlcyq4cx2sHbi^q(i=`@7Mn3~(z1TfYz^7Vx_$$-UTTun3k z1vF4V{rKcMxrTFZC~+u9AbU-ps`A4ezs>Q+!PxZ9#40mEsW{aFN0~_~_Gstv*`+D4 zwzrC3U0y@+2My~C5(_xA&lHe6@TPhPgfbFAq-!LqouHl&sx{@{4OxP0`{tjR+S|(_ ztlutNlu$oHYWNz!r|4>oiY?JDN3EW0QSV`Zy0gZ4Ql~VbK5`IoG#{2DCoQbvX%D?& zVV=4z-v#nFt;U4nP)B9*Ai6<2am0K?9Ifi@#XkRn^~tBNuL3&yDN>q-1T@|Z3TNO-vCkH!9dA-~tMQ9k}58kfAtxuIiY`#F@f(R4db zs|a>|`_}AkrwkcfNILD%`Bw8AgFeQc_(|(gT%`@PWDfaLg|OiBVL>6q3|0->RiB)m zC!djNhBcPh`Rvil>C)!!VEWm<{xQc$(|0c!*@9?Hy$=|OAfD;!0U6u@1_~|fF%VJN zF(8i_rzclOqy7FW9TiV2iYon)C9bg!V1XiyY}pWpFTc^_LxLab3Y7=U47Ue?nZNY< z1AV!#+n!+h!LGzd014*H1&&V~FXOLq3Kr{G!PP9&CI)jFC&2sq;L_BH z+L`qRtmxLL+x=mN_0RW1_6-CtPx2j;U(o0vl& zArm{;kYwJyEyU@aa@Hj|Ir3wmD3iv^x}(b5_`U8GPJdfU)G%P3W5A7h_=F>CaOLi~ znPJW0c8YPsMTl;4cc~j2wqo1V1Uw;ac+Ri;6OyJN+#LqIYy@>{{g~x1J};>KqSrWa zs4pr8(>~kK=~$ei8OJ*Q;t!Rh8dmD#q7rp=Dq5I6gyia6eMRx!w_*RNaHF6+&AS>z z%LFUfa0kiBE3Cvc(>s_Q*?{C|&!50r5h6oK$Me*F(Ygx(LvqK2-0+W|Bvb_p2kI6E zu}@Fp7COHyPg)QSpBmK`lC9h>wt$7oTTI<)uNy`aX*eaV0Dp9Q=qVH;*?hCd~=EEY4-q1o}*2Vq6uJFJGjI*#oF{IG#m zPp9Frw*9(hYTk}4#3W9+F^P;W&eUF$3=nL9C18L273sI=Z-MnfL@X@bqYp}-ia%ZU zH5JUYJGKwypE7LdrG%ADG^R@T4Sj43K<|&4V~gWxM+yETBzR+p#_ zYmj&Mdzca%A5hahj*kORK5MD*cKAf{a*WAi{go+k!*sP5zTtV|_LA@kiZSt7o*z!r z`Q!eG`_o3pm+Sxx9DSe$=}M@tn4aNP6P7nbfvXpkiv>+Mv5m zf+pD8G7fkA9p*mp4yvceBl0$y=xO52tY}ZfJvin;O!VnaMs=)m(Y%h>)f88g5FN+_ z22g2m=>0pSzSkG)5vhPY;F<{X%t>29bOur{XVtD5R%0ZMAvR8VeJ(bbjJtVXKE#b% zG^s}enlBz@p{T9j+4WC*u&9fCH-*{R9{ljE?7DBSf=ItnXJqz3Q*L zM`~8DNg_4*n2i!=b!CwHy_wA^CuSnl#Gxhy*zEm8x85<^?~oekF;d7s*-gxlJ_zDb zVcPb1W52OMx*Y;BjM9p)TDSl4^`>c>>NwZ#gd(|cht2#aR=Q;yFY~bL{5fCkH#1TJ zMpm;L=Gur2KebXq050m>IkI=!JotV>8)wQ{kM>U}_8?KI-%%RK3w!n`i?KrCsTxOK zb0?V~b$p*Rl??-3@o%owX>^e_rF70N`YOV)4i(9}>pG$isuT;W z!#*N0!h3~u%~y8)IZ|oUaEC;=dw+)D+IM!(E&zQORa+kr44hL0epzwsdOG&_5EqZ~ z?Y`rBK0Dwd#kJ)hhP;cz31h}vod*!*g!Q$5^kt}6TLzq858+TSl$#^JpD4y%Tdm-R ziYJOR0LxE#IAfHpjd*dDcpmA*0C`aY(@B^u8ELNvz3P%zLN$0t)aDWDSiZ77X{hQZO*nU2V*tr5E)fGLzeiX6}y zYx{tyA0a6aic}DU7Uy`8``CnYP%V_U{T_itnf}eg7m;i8-`}Pt*h%Y>{`t39%@BZk=nY#H<0=q zafk=z&LC)8B)lV>VeEcp*m!Ggk`PO>%T{aaAN^qaXij#qh z{OwXvPIwf~4U(~k5UEJyMImEATJvU`^bTuy)LhPkM7?oAqacBuBFXa)y3g)i-Cg6A zy9-`D35UdI-RGg1y*dY0N>h!=b%e(oyn|~p-jr>V(DBFBVV}sdJp2nj&sn0Q(6lXM z%dL80%5*+0n74#?+4!a5K5uPE_mCds@9kSjdiYfmB`%U8%ZCduy;CqCcE;1j(Y7uP z1L`Hm02W5HSnUaiXWadcWjKmhg8zerhIiXTPq7*VOv$LH{TE|>g>Ukz>w&f7UO2h@ zY;Q1+ud@GR-Khzk21K>)eu5gcQ>Q?ZYsKlgZ*VsLN{(Hz{*m`(D7_qNFe#B^&8}iw zxHQOh;xhG$W`1mUpLa7r6rCq9L5QZy0_j2<_a$9fcN?AB_aiHR)59s8vEmiF(Q{u> z&8fg`2|S=(XqWD)P@3C3o#*3jJo-%`k-($C>utfgeSCUvs!2>`t=C&644eh9>7sJ; z3T#M5UGN|SOB#`VfFQB`n^qfy%{SYDuBk2BE_+dRIAk!`hMG3`Ke6z6M>2c3yZ!Ob zu^gBnGMo_X^0KEqOIM0;yj?fhEhOQqeGv0z1qX=6rH)oJK7wj0>WV7%mzMDVJFxkL zJbN>STYs7JjnTxWK4Oh4a5^=H+4+#(QK-F4tG+Rhq7v)~;pabSNEeF!{mQLQh;$zj zaWQq(sJgkWUUYL;*reJ}I1#aAoaR(K@1IjY4q3Rcf2XR5za5JQHQ*c8VnF&}4EKN% zvK{g4vh8B3h)9|`XRsi*+;K?)yU;8Uykv5_Fp1JR*7mmJ*J!|_8Z+txaniNlZJ+u6#59BQ4DQmAmRA*-Dk$yQc2PRScpsleflsHZ`8G?|#Q<92a~kS{0v zR!zBHo_r=K4`-h5%Wbo03}#P$yU?W_SB5r^e z6anTw;;K#e4y?`B=ZqV;k?SwBfv^rt^enE^Yy7^JcU!>ca;SiE;tp{|`|F9f0mu{T z_dAkNzS-~mVZ(O$iV&alS+OwW-5i*U>z{2TI*K#Zn)k!~n4<8ztXaN>gTY6bZ>$&I z_pTyrcLGQZRf+)+h%o4SB%N%dyvz;>)ax63iT~_XQn;~d_|L#bky1N1l0SS3UBcbQ zmLCG>iXh)Rv;-(PYaD4W_kMJS#xh>3_X-I2L0Y|o8GV3Vl79}tvbfJ_74*k;hSl2B zo6=h%-z65X?nAqX4EX&%VDCDlf-T1^e3}DL>>3T9cdk49j87lHUBqWhz$3}I=!?pG zp}reLa0_bCCOcHI_)Pa&jG{hr9b!@pSL{&7-*-Ish$sEw3&X2e?mm_8^90{GMkjxf zJ=A2d1w>YsGYMRwAPA4_M37Z4xR0zTyuCvitCQO4k>LHC`UODCV6(d9-ZLiCn-dul zc84yCsk+fMC1ZaW$$}Wxi_M zoJ&wrQH0Jbn&+#!u_{G_PiTdXu0``gO55ySp~C#d<4G48|IiaX9&Bu*?3B;CZxXfk zeup&Fs;YA#fl}%o>tEvH-%0D3^Qd8f{UX_m-+4qG3n6?l7+RuR`>#RN6@KF@purKZ zk?d@Jg?*_ZjKA)UQdCe>;6mK=CsDiD@R8wid+tZ$zt_PC!qnYfZ8k4sfyLu3NasXee zDRi6|0x42d`^GJ)&vEl5xU8`Ah49Q8(YgnaT1x$dHL8!!h;+jFdIGKg zSe{eH#UqQ7`rJ2_?arGj0gMDX$MQS#^O%M@Z1tm?yPw@Eh#f8$wgLNvP4t2%LcZ5h zrDms~E%2>f)FG*99;JuW?eBo%xHjU2!!93+CFp@1cTNeaf@@l83EHvcLIi-|$@Rb1 z@OIH%kUa$uko>+MC_x;MtIb=!icv5FV!Ad40IcRqIy z#PodnX>KERJI1C4=EFkDLMTW&!Y;?=y>ww%|LoYk{CGYNZw|$e?j6cF$jS0_1c`jv zr!^=Yu&7vU$=J6S8VXUnoLVP9-_V5>Ra4v535rfXBCJV)2K+=dszn%(c5OoPevY%f z3H5BeaAy%y)eBz8V@`t~!mZKSiNG^qd`18-57mr+#WBD0WCb+tAi0XGsmr;xXDIDC z8X`?n7ePB&aQH==A>P15o&#NcbG_yb$@$#zT;rpkpvH+#Uz~Nqypeub+_2cp?Wd@644$CX(fx8?43VfJ1qo+{L%jJ# z0YJU>_K_W578bb%WhLQ+Bir}!mrp-4=WIyxpBp6vrR@c0l5VsaSA{96`VtWC(4Bsw zK^KrxU?*CCcMcv=n%_N`KfCiq{R({PQB=u>_itxc)EKOu5cFzA#B1A1frnddhJD6z z&VE7}*F5JKWcD*Hrzy9Zos=*zA&iNSmuw+?ZM*cwfF=)kq-53%%%)0{;&hs-Y>jtF zd4BXh_W-J@_C`L>yX~zmoDP5}Ci^Qj;*YB^kbh*MLo_xRdPIGybabRo8Q;FbDkBGU zG9-*Jp<;SA+Ql+GA*uZ;3qVZ?ma%VmUh3KFGSs5$R+;G5`d#sRR3iywR*tBKgj~6{4FcWLXiW~=%^M&{FnRQSlR);p!q+jJbsDak1PKErDJ7fDKaOZNn z0E+_t>U#ikW|`37%BlG5h9`%tNZ--SCzRZl%AWn2qS4)0d3KelT*Re>sB=*l1Gn(A z?|E`_@GYAkgd6s5l4<$0AOjfRKw1@wf>>+dP?vQFKdT;tn1){T( za~jw0ZnRsEpZwS%79$&VJ|xdlmidW?onG>N_G%U;J6lEfUN|CgA!2JJZI>r}1|Ptf zug_QJAq^;mo#Q{0ZUXF(v8T(tZw_ggs6-d_L(wJ)lF8L^<#P;x>Z?>NPR73UrG@57 z{NZyz+`}40ZT9M#_0qa5DGeDTr>BUx_!qJ~Oy@@Gc$+4by8bz8fqCw+G~{sMI2IM~ z9naiZ<>nR;mJxMe%^U}+Tb_lAV@d1gzv1>{`MwudDNgI^pm~IWusG}Yloh@#oX#2J)crq9KZAhKlY%;1fr87sb5x0 z#H`v8Uh=~)79SgQ1;M5%YKEZJtp$u7JqWMsx`sPuJ>&9re1|jR3BHFplb@?TnDmK= z>K}N+7**Ai&+2%TmpJ5E6b0fip$=oKlnJ_emVh;fh$d&LBq6Fs>hYlhvgJ&~rS4?xu)zUG}+^rG}O z`-lkd_<1TB(zp<#?Q!5twf?w<1K?|B#7>0V^p(4UU)xN>nNg$V8fDa1%f)ndK~oXT zR80V|A;8JP0x2>43SUrT4{9bKr$Vx#R;L6kn8lKiALjb7OA^?JA8W1$4@tadAgc=_ z2zumkel74llwtK?zvCaM;JXyvU9!-%M*OkAYk#DI4C`nJ`QSDIc&>`Dtc964AX4jr z`$oNE&5-Q9Gchk8n<)=$=t5NYd<1ka^qzz;iA;=<7Ezu?@fRy%c9nW}GwH}H%UDVT zt@6ISJcxOitpH*`oxh}J;L1+)ap=a{BP+<5uZexoq6hd!E!bIIqg%czdlG^z%*>7A zW_#?c2r=4z$2GHar$8c%qOJh0OJ&!msvLBrsT8PAHc+xWtCz5KU%){y4iyPu{7pY@ zRAL&*&?%64Z|JG1X?)f!mhm9#p@)D>c`LaYzd3a*wXy@;#u|EXu1^)G{|RT*WtSyq zhmmc9wT<3XG{O+hlXqkv_i;7x1P-NO1gF#Cv^$codqeqa&@C9QK^bhGnA4J;5Tz2{SKIKl6*fpF}%9O3jLn)+8Z70oe2Dv-f> z4)S!mmC`f(pcK+)$w9_`cI|5}WL?sKJ)Ssk4QD(;BU083&_%mrg#>Z2c~hH5fQo5N zrf>D&bV}HDEHr=b4Ape>C!BF#To+>1{2~kW3!_OhEj_tCu$Z5%a4ZhE{O6VE$L&KS%8@J#_YNHkqA#Z!y zMXiX% zP{2=I^WAwN?ZR;no{7z;z$X7;J$VFmfwAszx?wVcm*@( zF|{uh;|8ikFQ*(k-O+ztN!uCa8-@1T@kT&Eu}tu$*D|TOl*$K4)&rW8m>T}LBJ96E zb_Lmul{TkW?=_p^@FMd6NGL5b7*^DHfeUUJG*MGUC`%@gZ~uc{l&MnY{Q=bxguvnw z@K9926{I zkQwV=ukH~m$seSiou$>$Hb-*_8hQ^Wp7YHyv36SNsyYys#F%vsd)gRSF92oqWrl!2 z0=tDf%UlqCKBgjK(Zp=bA{5%_JE|~0JJ%M$c2S_HR=f*I$uUfN;S}`w6{}Jai3kfw z&^1O@@zBUy-^lMC%sfV2ag|bK3r`L7l1cibc*GtI9Q=~GCEs3^m8#QWaDHS=yw47h8ed~v>Cl^}UKxEkR zoWg0n0+ z2Vt!=YG(^O;pSfm4$n`7sRnRZSy5+hkPV%Sd};oV$pPd zxL2__uBmA0R3rm@_x8yX=s}Hw5f)=ayd^HMP8a=?q;TQzB>oZZpf(K)P<&Vv^f*Oy z8Vl_IdQB6T=a&&}3X=cxr<3{H<^&U{7)9{0x?j2!9*K!TjpF73{zENIlPlGVrRzJS z3BheWDMMy|c7LHk)sRjvM|j?fnr0NCMRNfc)TGt0GP?P?ZJuP97T1?zNXC?4$Z^-s zR=ixtOuIw0nXR!{dv4DD5d^ToZ_#$?%Ss)4pKBe@VJ43)XOPAhrt|Hez{bJ3dzQ8~ z;uaBb25^!;Zf7>Ft1E)nlwSm<3208~4_w4~>!GMczuz0y!-KqBov#R&Ff46O#3+xA zPEwdGZk`yFwepNSNiUiwDLNmEtcVKwC;G%=nFY@cY?^I&6O*QkMGZs7S?ZFc-R1XO zbR2Ze&NLaoDCpS17Mw|TtfI&nr|8v*WZ0jeMzsN7F|$!Q1u*;1og*zKl>oE60%B3M z-dQ5pn-;f%3^(+Y^&x_|g4!>RR`~)kdQ{_UbJ}8dIh&2P$W~irg4z1$_s8f%=e*R= zNF}ee5ZyAzb74cQxW5%S@e|T~P?o3rRBVxz{;+1cqp+U2Jnd;(xjjZKBxqqIBxF&>w`78ttdxES%(Mr zB3s#v+4AvC?(Ff*3_$Y6G2*diqF89vLHnZ~140;No(RsQ<+kyEiaPNX_nBJNbxJ9# zC!Gd!V<|E&SLlkFW>bwrL+w~~<%wrdWkoP4cDMnG>Flh4s!$*LUWv%4nK#9t_)CAr z<7zz>v`$&%TamMA_YH;8TD`aznh2Tj&h!_lw3Jek(;z0Tr5RM`W6ibR(bN%5z{(uX zmkdByk3X$3RVnBcexn!t;gN-cwCgx%9wB2K44Zr+dG=Yb}{>0Jg-+IL!HwyFHB_6Mr#OM3;0<< zN(b!jlgL?ASJdCLc4h6kn$yhcZVD>nb14MupJ3VurdQPU(58ia-4^%B9#~MkC}){) zpE+4UZeMnU|5))ILUO%M*W)e!`IbgS-OgE2F9K&7;@7etzuazJ@-kwRmTd$OLcwqd zUy4lK*a@z?gyF!Ys(P=O()_qC`mlq4?WteAqRy6ro}_cT4$(rNa->mu(J55OFWu?b zJktu6xw^cr()WJCx<^>VQTsdES_* z1#oj}V$P7h!r}*5YqATwM*#0-d7;@a!b(keU6u{*o!14J3Aw_j>uk{F^0&l94{D_A zVClNKAL_DB`EyaEd_Bm+<~iGb&@=P&IS9qsmn%0wm5cwp)cu)hx*uqTQVasxjb-9YCSoU_? z6@l&1BdC07L9n}}HMn*plPpu*rb@||Y{havF~U$uQ%Z_(PXD4MMuO#9^J z$|STX)0U%+W$8kV*gbe}0x<7@W;~xocBO{7i*FTg+rVv&+%r!M)!N3!&fgJ2>XAZcFtn3p2np~2-8(l{^HZ^fCNP>#JfqvOs zIo^TA`R(5W8+2un-gUM2P3hH+H&XZNS5&==6ve&*OSQ?yy}_ndtq|CbD(>)(Y6La- zi)mxWvP9o!321EREyDpjgshS^gJTxA@6r)@OG|E?V;hxagoVqK%+}1zcEmMLy!h z47IWSX`5#m9iL_K34!OV*L~3E73eMd>l7Tk5IzY79@YRpwdf-gOG;_u{9zuytCZMT z2b!rYlYIH#6RJvK&XHwfV8u$jjt6he?_0i>HXc)*C(08!DP-C4S}H$+xLI<{Q7{)2 zVs`4dE}E>T1Sl=k+)id(0i(Be{FdOX=3+CUtYhQP$)zAp0ZpsF)u!c5BgU-l?MtfB2*#I=I{r44I4Sx*>F1R#d zwKLWAoQ zWv&cxQm-Pr?%VMRlJCKctEDpSl=0&bcDZzqRaZQ%23VDG&s0N z82;v^er{z6X-ZGFPH5!Vh?^%q)9p}55q@FJZxt$nFr2`#E97Qnf0cbFRd1L6{~eTg zJR?E6e*`im_NwQF;)crh|B`~Or*d)P{6a~6G7Vp z8{eA~8*%xQWkZT(*XeV7dlW+Z1&mR;feJ`H%OW5|PydgF`sH4;9}`IrW=u*O?8eTT zSlF;XORL)g%_=-PvM9DdKADw7PS$oggy%GRTUD0)1~yfWV)$B)dQ4+V+LGsNOI#|X z5L#@nDJy&RBt!)g_PtGzi_4Y@m5`B{`ZdvHZa$$BlO5E1AXi%YsJ;CsJ*#3$?{WzB zlB!Phr)qIO6%{@?3s5?pz&nuUllbMq-1BT-OzY6KyPsV2he~6{Qf!uVe{Sp>#RVgR zZ`-8vLv}3=y&MtMLb_gNHy6gHicS6rY(A!8@2GpcL=9p!Lxvl=jJJ3${0;Rfzq*X5u&7$wL zM#@f2`Fc#0VWupM?mM0^U)uzW*#B5`7*E=alXc|gpYkQ8NX;3{p(ws%xc!`^=HjYL zFUS5WyqowTz|}(2O zpD2D0Xm$bF(zfsXt#K9mmIQO*ycXRWVx`qRtF8Ov)}u}pUoMcLS;tY)tt-}=oGJl~ znDpmAfsJk#UL*4{)r5a#`u2YMv4 zA<34qp$MsgLZVs=%JT#uX76O(vyL9I;HSt}>-=S@uAG;wb$4>z(@zB@>l|B~6=d#3 zcG?t11E8u4cAHECPgjrF3|}sQ3HpZ$6k}nrw0w2Poqq0-r@g<0uRN%^DCyKjKve1n zoN$sqvlhr?)Jlz19DEvRnJJvA>O|% z3^HxfR)u(DtW;i4r@|t6M>UdA=_BsExc#JSFw1dM9Hv#%*0DGRMYiwN1p;(XAM6O@ zt{G(6UYrE|)v0+@bFWk^XLs{9HFvVh>=5uL^l8f@b+$sBX;!5ATjQ&sij-cA@Wf^I z=3-Fx?Ea%>bE?|t*qq*YV<)vBf9!l!ue2xZxB$s^)~;hoU)xy{DnX2Htq~upE;3K? zYnx=BLVZ$ENp29Bw?f1hG*_T?(xydYDSf{Tsp9e7q##gc`#Qm(bBCBpyA+CIgTpeXW1MU3NNGxz!LIid_2LAIQ3ba_X zZZc)cU1P~SdKoGS~&ySJ%sLL=h;ztU&75js!@nI z-_cUZAr@aLyQ{Xa+rdhU+hc(Px2dPq;^GWToF0hmq4UG$D`{D%z9X7L^@~*9rBDUT z3VI9(#)FmnyIosEeO)8&Vm=GOu3Dv(qgxJb8?~#s3$B`RyaJlAvCefwvR=k~fd3xp zq%>zCTJaQm#AP2-As~z0aX;2e#T-Je*6BadjN9kie+4zWA*VWW;@0G&XK6(=aI#O;`r%x&u@*vl za($___GqA_PaSeQYE~u+uaL&Q+UbrcrYwvF5~`>4dRO#TOkm;M;fJyY|5YC#DQGLO z(%TVItkqx9RANYeFL7_g*gn1A6xy}suHpk47JK%W3}`k5kCRQ z1d=A^ucmIR(=HX>yxgo|6#x-lxqUqg6^onHO2{<0;*80rU5Mk|mwU4+c}Fw8G$%RY zLngJdgQUTx2z4@}2@wf(6t&as^$!$id z$!#sQpl}FDQ(^7mToFZ;0H%CdPWxnSwFQkXJbbewJgh;(w)%;p0rbZimV_LP-d5Mb zJ-TI>9aQ01M^|_*vH%Nc{oPf~c3cem(#@)u*`Er}9@k(#x9avXO@&u|+;{DY*9-)v zvkaucCks{w!>vk{<(;D1+;!t?4B=6f`T1MgW;FyYe91`iu}5oa1VxY>9V?4a7F%aj z&Ywf_?YdYuwBJuk?&qe%4C+&nrUy0(fZ8kU>k!-0%7RBfK|A9p3W`Q$1}9p!=8#)k zCzqDI>G@Xb1Wj;!es(;kiTmkH$X_KhC=IHb(>;=q0T>C80v7sNO#9 z)5Q>>ZPROJ)oP}|Zl(#+o?0aEPCwI;$29J?hOaklrp*kDL4V-}97}YzGYkOIlC5Xh z=h~Zsj!B?wH@IAuqRMM0IRmaGmFfUI}}72n-_L}b$Z-A z$s6uL7PgYR$jHF<9mT94oeb$Mhng3mlYF^p(L?s67O6tuaq)sGj`DUBLX}@Aw|*H( zCt$gao>cyl7`xZoEg?r#w+sK$>8&L!=^BQ1R`KfW?i`z5yBFK?{nJBYf+X4_%ykY0 z{DDjqjKw>yA2cWY^L!c!UhW3%`-y2Jqt1rRai5Uc zv1Sb*V84u@V&0bLnK6T4iTk16$PD&}?H*YFyHJ2u!HK=Yn$tDsLlz9}7Al-^Jj)Q( ziRV2$V;7!++Rs!(jLw}53AkmEBY-v;&h<5z~gkJ_Vn=l$K*1 zc87Dbj$n?wPLwik@1OH;`3kHfv=BN0ga? z>|9`6OYL1SMAE(?-5dG+9nl=?cLpT#q_+|vS)8??P}P(D!c&XznaTQHPgEsBenRSR>OSY_`d-jf*B22&4dv0Z4q|<#I>z>~M@3v&YEDrljX26M>z*p$ z9m*((?vs+*=T)b*&V4QL2iH3Yc)nXt*vToPq=A7=y~Wl!u(ZN-WBI&;f819AZVUGC z|9+ynM^x_jl{RQs;@h_Ne-&=m>Eqrkw!8UWdoC1E&`J)wNzx+GIR9&w0`E`;Yvp$C zBO{(9V-JKDQdo3&JJLv}3Yx(Y=lAj>@fjaOz#!EJVoE`nM=3FIQSk3Osyc$|^J^+_ z89TUgi`xAD%dT1w6`}8Bu~TL;eH|kvDGac=aC#1Jp0S<^=O>_fq|3*VPLKyTVw(FT z30<#KX*S(r`!vh3%%r^R$cJdWQFg@R=Nj{HS{dP3hPHnR^oa1uDA%rLujzr#W4RlJ zUDx^mWX*jNGNY^kmSPUAVa=N?6cUN|lxclECFZE3pT4^_W8T~xXv4^Bx;|%LAOeu~ zMKxJ!`C3NR9lKT1QZqxob7r!4C}~9EMKv|2TIO8Nc4PxNDZ7Z!Gn-#lHqf;iYUX*6 zZ}fq9^+w)-p5_eD0OfNByEVCWa(L*(6 zD>{JTi_F(MoPn6V!{pA0pv*s?!(Y4ghA*WqC9vJDaJ$?$ig%BBZDcAlm4$0<0L$9) z-u?+`lkP)`K3iy+K*Ku9&75dr+<3&&$*}etY_ST__9v-wvZif3mAJ4F9yq)}r z=yK9~+!{VW@S^)bx0rAvQk?3bdoJ!SqCG|I<^MGgL}f-A4_HWF@4$vp;~o0au^gLu zb@Ii!O2emcZ@8s@AbGa}%#Qhug!01ofIeE#KrIjZvG$=q zwkh5(o_ZGf9ql2Ae@M)(N3no9iKWgaK0@mRK4&3F1G`E=QM|(%>%QArkoXTv3(>8p z^+7xAOkMLzbIi!<#+(W%T3ylgnOAw*z$MD@eaCapPtIy>gv7YO<_?695Es(NWeR#2 zLvz`rQ32p^y%1c%5&a??;ehi?WUZ4I34(-t1r^SDo;-;cJj7Hf>Z;9eXi))9tgRF< z#Hxloxu)3hMHz3{KP!8<;KTjjuPzK2Xe1Qq|rQUQsHGV(k&@vZXkJ zL#p~iov5UUmfx-3=8_*}#sXVKu)*t%H5NtE zh5ke{Zn{V!rvcrlp57bd6gfW*=1OkIxC;5|R&g?KBax%lCs%%nZYeks=eWs!bk`ox z5QV%u=Mjjh9HD?}NDVu2_Ux>RHQdXb86hVW#=TXvMeJNV=5c*5h3ELpH6$iCY?^t} zkL(-Uhqk)*Dhx%!j@K@yYZR#W7nl(puX@?tR93r%ZbtJoWbdd3$IuF61QVF-p65gu zbW^NY#IM=?Kw4FjU-IdYILQWAV9M%S9+~=xHHM{!*WlnC*F8_T^Jus+=3d>pYWp&_ z?S zo+c^O!=Cr0Xd4RfsHPk5$OhZ+cJd=*aPo|srdPl_u7UKs(@p@(BfG!Wk{(Z+$;q=h za)OHs$)2okPuotoyRWKHYQ~mgN&N+UKxBshuep%wGnOlEF(USv?}+BLn|tZa{8*L# z>~)_C2tfSy2vL+`Ngt|BV@bS*eP_wsJMSPxN1})-_$#a#RDfJ=t%O~ePeaa%rsbs$E_qd~(O^Vc2gvA5wB75THD#m_+8id1S7qNK#jTv?n=B zfW}h&+~n~}@)_tdb%1+p&t<)}cSxgF$#aUburZv_MX#4>~Nkv9uRfyQ+(Nm4CthTicIa^~%x9ddJ2)FRHfF@0I43Zt_@sj4cF z`iiQ~mv;T3r_7XUz;nVMILRHhX1B&pu1UF@v^>H+Y&1ev1w=YXyP;GUExVZWCp4)C zHBYtU{y6G$oDh9p^_&35M=6-YxsY=GRX|-yXumFFb}ZRH{>Kj!%7bX5K5{A~g4H33 z{4jMcM|0UwyQH9!_pvm$f4@FVgAQ8M1(2oda0pK*l|JAVhpKl}_Tqgq&nU5gEl&mvKnoi7dE?r=v^6kr5m$o8@X> zwkp%TK#@>Idl1|tc0c(9@4;& zQ3&Mg9n^e@mz_mu-e61e&}06yw8#YaK`FIA1c!JmQznwM#kC@!q~IE0%BqP}U1EP6 z&|9{U&kxzX8P;eBoE-T+?0_T%?r`}oR|n1PEoGT!ttHFEC8KFE)7?HU%DcA=(ypJi<+6X)~ME@iHr(M5Rv2uPemYWd_!ZU1$~=jzhA zk!&iZgzsR$VxPW1_|xq&P%1E$omaCmdvUGc#~y*cL`6XgCamYLr1gj>kBF|G#L-(8 z-9Nwnf;jQTym_VmbDeRy(J8vmmkATDXxce6diY0(_4SmXPS+Wel_J2VkZpbZl>b}^ zN9s4QW*eQ$eafHW(X;oxC2yF)QUN<9Cw*eKM?iB_$-V@m=r!O^P!R7R`yz+8>V06P z30jQnlschZq!_J$NQaUVZgSY~>mrh2m~~%XYhU(oHs@4(Tvm21oAAFbBq-}9r*PQc ziGpE;mLWTe&syFMN5A4sN6_cH)-i|T(IF*Ff!b?8%P zrI^3Mni=VGsLAcCkcT~6H~IVv)x5PUy#TCVlB}Z}0*Dk^+JwM-68J%q9D(F{vPsq% z1=5Xd2Zv>8q4`kPiq(e#LZ%k^I-eJ8q=mv8PXcL9{+V50Jlhe`geo{glBu6gf33j4 z;9F*82_U0t&)KPFQLC~HjAb{O7R%T6P?hI(0ikI3uh+W|KjX1lT%+pQ6nphk%05#JLA>gth_=R^YL*(OzAW0zfb}9C4-rwaHtY|>+ z2rZ|}#4*waDKHwN*P`BD5zPiQbqGEQ+Lk`=phl-u9Ta$N*2KwIY1-L#=iVJn1#t6O zzIzw6p#qUKd=&m@B>$tRC73yEhaMTQ{*IRdO?dLB*xP^%M1ydZ;}&m|r6#k#&SY8k zzTEgSP=WY=T=}ERo-xe_)C=uvuV>Nw+u&I=la|`FFzoYfg=|r0Gbf+OXt&W_FSgIN zzf9IgOl5riwG1Q3O;I~JkiUxOCK(&RN|Xuv=@{!Z&UOMY0I>xQJDth>)FF=O{Lj-p zGGo2|V1(}IZD;j2?XVpgu7HKegi@>#K-gNJDZ)x#f^W1)GCb_E&q~B&nnAgV4PmWJ z;U>OoK!U_wnG^-C_zA^vZ>A`^bkR9FQ9Ra}aK&F)gb_rYDab*AfI}2v00!(7{CV`S zgk=2gwf=Gyo21QaqJmsI-gij%49Qb=IaD0hL4j8D1R0VzU0M|W5G>DX&4kH^x;8kH zTj~S5qAqPke*zlokugB?7Ak~h4~acw*ql(=O+6oHIYGlKh!;-4aS1FCV3TS)G~6%sl)OWltv_awAjuk< zI+uH5Bv<`fqDQ<^M=xIOf&BdWC68s(ntr;=5LCNyW`B07WYc748=s{`4dCr=*Ftd#`tw6Fas)PyQD;e_h^?fyWTn0RVpT*L zx^a_`BYb|FY*h|L+jo`J!ICO$;m6zU z8D2haviuYT$rsHT!tDLKZJW`I4C!=9=6*V&4lJc_Jw*v$V*6m^>}IF+$>h~e_sL#R z1SK20L|sgBFN#a(E2!CVce3P3nw0qnM8M}%!|l5S@lqha1y!}GkXp8d4=tw~BRz2L zh}p@9;NOU6?vd}y{xUa0q2#Uu)qom1lGti;SY2I4$VpbmBz!()W({d7MJ-;Sk(aXc zf&>5M+T^G-G|M6(%=bsx-Rh%FhlP?g*8+uimBKHboWD?UW-rC42!eQ%Fdysi1wNFDnN-!neP|SosQPCI*wy|vTGm$G zTcHUSE=4jSgTOVPahGb@?J@*7R3y6m+CuZ9AKv#>!TeTjXu-c+8q!pJV}E^)0zIg%1ZF{b{*EvI8K=A3|5K#^9WkXc zl5VecCz05Wj>HyoR0u?;Xckv!JO6o(t~z2W1J!M}{E~=utt|2LaA$-CvMmg6l{rcR z2NSoQY=+`00`7dKU->rJ|Ex3O2bTjMOht|FSwEh=oUW zcS#WekF>TA2Dn{rn%Dj_l6knnmRx{&1uBJWoqg8zp<(ki^KDC)==55tFOzGeRPmB2 zY$z|0#!JlVHg&mIP}h8Kp1;{U%gL@J54lo6bpuADASwGA5>p3td2D#cO7bi$^>q<; zz5^L2+L@Fei*`H_)+7cGUb`}67}uA zVk%w;<1MI=EeIH9&GRJQ9A_uUtRCtH?4GV?$2mq(e6|Nf zTZ5>-M)*NVr&|;YZB0zsQXN&6>BTqlG6V$Tso?K-IQM*IeG_?aKdl$q`P>jA3G*4T zO9Lo%?P?|k=x2%IXxf}TA)e?3n38h#B(UfO-nc-VK6!<@@v;B;1r+P%(B!y4bwn-x z_!ft=qV{(Rd678@=d{UkDZAIqi(NKi$|D&C@-?#!yOi5Ky1YN!%k7V@r|&Yc_OaCE zhiK1SF=RYfelay^0v4`gSDdUV^u)gF9aouYz%e8jGv{X*kihHS_610N9oxnYil}Z>ArfqWiIqk{CEcZk<5nnEQ6e4&6#sQ^=XU@#&z8;bBz>N8ZO81OcqhH{! zF*A+)CuO;Z70>b7oIc5jW0_(E7tt2w<1X31D&>MsqRhSRtie+h6m$f`wHEIAF2@f& zVgwRqAk0U=%ART=T!!uLJwF<@IQbANM{zKvwUMeki^`F`-1T4F`%9}6KiKy7&tJfO zWG0JK+z8B5ICCN$1!8<)RqeJMbaQv5yZy`AOUosV>QvRX%}U&dcn3-`mpRv_{1urM zg(EUAxJgVw!BW7o;%;-D5I|E~UmqSQv7zFMpl8U5X7{G7+{mGeYVr=Nub3??OXH-m zX6gGL+_n10U4t&q9DDY?{PsOYRxU*y9mDC~x3_>Aop_a%zYj=s%X06)X4-TUN#8I& z*b9_WllrAxG|dZ4a`~)Cy4;Fgu;ePl0qMEsD{rW*$nIm0#g5y2cMU;LC#Z3afO+lI+YSwTvZ`gs@EVEZJnyHR;tz{ z@V!2p$_pl!n$uhIJ&$Fy2^6p%Uovweo-|67WLX^GJ$LjyC5!$pr#LALp)*xleAMfi z2%_llj6P1+s=F4D%;Ec+O$cm3SuDI`nm3E{CwX;qA24h-MI+cZlgrcwQj=826%#x8 zoZK|#IWi4*phZB{C@Mx|;{-vRbU9h;&{mqgV1HQJY)eWGsLkB(J9~HIeS!gOYKDm_ z>@in6u5MetngEYwBp|0tUamDHY+E$YHmNb|j^ojGj}72|Nv)zCF+I98&a7bf3g1f% zAKET6oOx(GPus^XrAKl*I-Pd1a}PU0d;xT_biB5d1lYYq@kb|3<5>J?6Vp|EknKh=*Gxanr{ag8AE`Ggee5$N zhFgcBkLuYr;E(AN|C$6|BkM+>xa`b4*&y}pV8{P@Z`ZguoG6Jkps46rD#UX@&P76W zH)rvava?N7BopI;O#ZezX-=NhpHnby{NT2Zpz1i`ohykZ(E7TNKs{SlA4;eg))a~i z3cK1OTS*u43TxKrTgh84WMX8Bls~UDVrnA`Xu2V|u#vAlevx+8Rqf}HcjMR(gvtUfT;@FC?cVu%U zH%XLg1T}b+=d;SmGKaa?B%QLNu&d=d1Vc@s5jK@Iv;)u2BE>_w$E63A(ykNQ#k)OV zWikwTV^y^gOU=3lp9mG-_T$&LfNq0T$D&nj|JhYW9-f(N56d6;32GknduR}|`<9#z zD<^KUzo~VD0;N-C|BFRyUoRS-+M5lCYOv8!{0f=&m@M`lQ>Rj9%>44E^@@H)5-#Pn z8DBBE$=h(Gx?;G9Yg&T5z|pM^qA}J~`$-MTQrh5k19@fYkBuoMOYY)D0H+V>4_zZ( zk=^WOMTo^yImvt3(Se9dQCP(ef3>?y^zGg;%?iQEl&(s&=J%-79{QKd-E_``ZZ=*s z3yA7^S@$Nb#(qVl)kx*{+NHe1nW@RSl+>^+_n)lEObOqKvpp)fiF7E;7wiCCPkS~+ zl;X%@3#+YMPV-pbfD4&x;&_KOE*NK0!Xw#~69U-f0Ec)%MN)Ht4MDzUgrRgxzyXhk znpCi`jG`swiCjS|KVi+ddSULPePzPCcc_#lOn#7d)l80@=(zC3JQZ(tALS|b3_6&^j!z}?$lPIL z?0In#4{@Kuh2pHg`nVoUodeV>uvo%a;MBe4g}8b=SHa~&6D#wDxfI#uMnOv2v%~Dc z%ArMG0Ec3?$7*>4x_NiiHP%mP_k6z2O^0(BR1)5SfAbo!yP4+xGkSYt<_z;`o?JcQgVP5@=SO{Jh9ljRyi^@ z8oRw=c*QjCH>XlEyS+Dtuq*Cv(q+ljCZb4Bkwz7{*s&gpqdJ`}Ajl`4=<#IwpO8kk z*{PIh?k%3W{i~SIEiWU0CMYS%c84i}Btr-c@whj~Nfb^+^#H73I`WrY@rWtU=XCk^ zarju^f$;qCFEGvuk50FBE{Dh*M3g;lSyTeH-i@GroVtb|Avjqp2ut-H)F`~2N(qii z?o)_CkCNcUo=wW$E4W_3>M(JWvyWW9EFermpK>GBPo_W*WZY@ar9_^>vg&FADlYR; z9=8u^tm9md2dw!{^zRnuO_Wdy&EBb`OH6RD|A0}VH1NzVoKcBpiST9rSveYh?D;^$ z>52*EZpO8u%vUJ9g1Yh1vK%7d4Fg_9civ&m(M6|Jy2QKCd{aadSlY?UF&DQKDwG08 zP-pkBt9DR+pI~#>p>L-X89#w=9@T7~DmXz4!8%CGxVX2N zRkvk#@Rg#>0j#jRz}m`Yli|-{p)LsDJG7C;-F*^El2sHSe7N}(I^0BfTNjtu>8~UwUHEm%4A|GLpzY~lR6{n|Cvqbx>Y>~VG$FAPGP4NXU&cAg}t;@d~m++Lz+J> znJN_4cR&;1>BB%|ShUmuj&vw;@aoi;2kFfKU71F;pjjhcvrZaz((*&J;5J?5#5
  • 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%0ALGeC09kTE>}%&$Et%nB4>CX5wkL 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 z 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
    x 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
  • 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ΝX^(ZV5iV*>94AylX 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

    &mAQb`OtPpEqjEPqU7S_)DCxje;9I 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�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

    r_ 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%0Dn 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 A6?BumT6nkjs~{Gv0yBkD-JytlHN8D}=N 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

    Tm#3^{SB#G8QfRXxI$vreR~Qmfj`4o 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

    0^@w^YnYt&Bn*j0+FGhT6yUVA} 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

    9dx8Jbt7FPbW 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

    pJ?pBK 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ⅆ$bnaQxE7Cr=v$iK4(}vUjUa>y|nhn5bkQO zuV;k|GWwkO2%E_@ zN^!2~l5lA|+$p30$xBYGV`_tr%u}c^IQqxsSA#mbL_!iF69V>m+c-b4UR-%k^`wWF zED(B3u0E$W5Fvd7w0>o zI3jAvJg%+_0s5trL{UlH96$ukfpTS3Gj}`}zg1@XwR|>aN&TkR zh`g#yqFscwIgXJ=3Kncn-piQ2?Y0Z3XZu`~>}vg3zUvf%8N2Rgg$Xrn_biArRRCYs z2f;yD&`p>2MC!}7r(VczG%bi|{V3*W?5;&gy%MKmbUkW^Hfx5T{t2(On^}C!Q>200 zc|2)x+Mo+a&TdQ$d@L1Es_>0G*l%WWQ|aYm+w?O%Q6PQaokhjuPc=mEUw{yNy7yni zcp`aC7NiWj2oFTko9miOHDFl-*P~5o^?Us)sI$iu8k4b@G%aE_n*mZI8+RjuCXtEe zR+~xIbh)|_)-m-~&EoCn`w1lVNJPWLMc1x`1B6@s?sI+`&nUldMiMg4cYXqzJg$JX((LCsZ=)E2 za`o9&w!gphzrX$HtbZqvwH@e1ijEBT5==znw|?L@^^d9_X0Gh=q00?KC*b6H4-B?@ zrx$0amk_pVzdb2GC$NZfDRNKw_f8~95mIVOA2SIs1;zP!UZ#(PrH zeYgOH49MznS++UMI_=G!fMKrU283|_;~ZU3bwiPT`h*(Cxr`UzA%*d^-Tz=T6hTNQ zttPc83POU}40!l)$n7S=&HA8LkM|=0Cka_(HsU#C8aUpk?9b<CgKpTk`#hmCEO1M9PVZg zIxyKlCLgxHkL=6+H)RBT52xiN;1o8sd56`NoAc2t@RE!@hqI&G{Y9Ex7K6`IdTUP# zCq>5DxFp@46KI>6ZQLdPwO=P*5|@+XY(%2aO0g%_+XwR!o(rZh5*H_i*8 zoMbCY5`a5XLc_;M{YkY2d(zu95Z(cuBOtYfNzHdRW$eq)o z>ro_Vuxu##!B$8Gg&03b8BD{U*hWBng<$;f>Jf6aR|7&z@&v&_;u< z7AT^QX#l-r>ieA>+SsJFXMR-a9k;VA@V_8WbBD=tOG1*Iy)|dscgw73S$!A@vlimG z`ux%uT3Ee+65%rJZmkmN<4(JhAxJxdI^`E4KDE)@^U>bzlYa>9WKV~Dy@M(JVv_?V zHLLT^1B&8{gpbti?Mm5kdq$JDatHI(~RkwDP1I$!2T zey^v5Q@FFE3+%33%0iuo$nLZSHnDCL^9tr3r(1P+p<2$9Ow2Oc*~}fTM#Sy6YvMqD{<`oObOZ`&V~hM_|w`flwdLnP!VEWsB!o zKGEeZhO5UQe4xaQ-OQECjmcMsl{8A^M0)HZ#~ub$0)$%s?q|tD*`l#l?N+Q3aNn0X_&cW2dy824 zbE32M|5itci}OfB_iPQJ>A@*Pjm1_~O$G+Ws$_s`SMErifb0P1C@U~iOFfZMIGvZI z@%C*-mtuoI(%%sI(-#$|e#o`c>-WalFoFSpfw`NBve!DpnD@q3N#D`+z5dh`l;kM? zKT(P6i8g&f_FAlA3>;T$rwg#nx5Tvq90R~crCj`P+Wc=#kJ{s`; zd;zD|BMg_m9XAwH-%#YUrEH)eHp36N>Ntv-oE;a&Q9a?%5gg@F4>{_P{s-mSeJ-0> znuJ9F{~g$9y3fvzzZcp90I9eb1;d7~7wmKEO51BU!L-EQ&Gi%SL%Kdw2%oED9-&kcNA) zA5z2=`K5Dnjps}~F$<$=m&un&q9D>3*RSHxol=Vx`zoNN)Jp#fUvwA+H@fdQ1i{y1 zBl6OdxwWWYoQvi7;wOF2F2tzb@^F@GgTo$QMh-2We(^O@h_{yusL%`SE z%Cm@5n4`Hk=1itd#ju|9Y#{e{OkL0;i&iOT0~_rI3hA}<-raJft-H*eo1Wii1vj{k z=ZmP{F(LvVN2&gfyFOO9{F)P#VOU^$ye)Wj%S3mGkwIS-8zRRfzhf%!Sh!jx9r92cTLB1ok z#`4QZz4ebWqR~6N(aAMtB|@w=DGAL@%3TH%>ToOig;~B$Y%mYn?4uKD*vL8;bd=+` zo{98NNaKJv3GjO^hXU8aTm?jq>D0RhGe~y6jZU2a%Ndh~Wjw?S(+3Tr)_$llDVXPE zQ+W&8ZAm8JRF@p-?W-)S(o2*#x-H*g8Krcfy$hl*d znWT_vENqq|OpHTW6>rBdHoz?}WR9)+0*Xq1Z&c2oOyEjsFMaD%h# zmSx59BU#DGt8cjbCS|cGxfu-G6l59cep?Y&CM!jNf|}zcI>b|d`v#h1TOJ8n{3f0r z$k>?3-%{*7n?1O%TuSUU{m37&2{k)7+d|P<_Pc(Z`4PP zKPg=@=f5NDc$z6oJ=5pD9mQ3gAPCyES5J047T?rE-f(`j+3b8it&yPHiZ*K5Wj?a? zw%H~~ThMM-)y&$0KernO+$(mmrm?;;rT(y2{ElPfW;m1FREKrtftNA&b&+XfHieG* zKvt9cT345C3~CYeb!W`_HsC%85} zQ*L&bm*OOV*Q+ltB5^-)^rl**Nf{TXWjY2-6WNVXUBSP(g^KVVQ~DFNbT)T*q48b$ zl$68((+X#)I2^aGdI>Gq9$f$1l|2unOnlR`e3=fw78B!3O0@_j2AHG<}*sR zO8LW6L!+}alzeoiIz<08ek{`|=*r+t@mqj%-ftkMqoooDq(y1rW$c~Yi6 zmKuYovZpVJ<&Ng~0Kr}+iakSndBo&uF&&93Xx3U2 zJbZj)N@!PWFppvp&Ek1&&uD>Y;{ME%H1}iLkQZZKpi=vurUv3~Y<+~3N0PpLyDqe> zdH71N+J%2)GcXmVsB{+*Zw`>{A8VDrnOeXrmT}9AHYqaFQ$kZ^MArqb53Q!GNsFpg zHiQ4{#A<;^j3w9>tsOif$I^cU62=QFtpHK66n2tlrcSPNC7oYkFssXe+4aTgKj&x(S?Hpdrv+N`&eM$P#!173gsSUW(Nti|1y z-GfT5>vK#L;a%OPGn1iV`F_qzSg+vaI<^N|Jalt*OXxW32_|k^eIT6ma2hb z1Q7z$HYQEFz;ZplpvdNzg{$diFtaXX{Le3Kl=)&!Hkr?7M;}C$aaD5RS%Xh&(3J2k z4%(}68rhJv>m_FSmE;|_U&n1)j8S#1uvbhbJ@OIHZe@Ne-9f^4zPOpq+ReR@03L`ILBrn@%@kn>nF>>64@{}`v{;G z7OPYdgJ)eW)wH3{*AOG8cC?RZBumH59%=n}!M0z&zT-WhQAUa}iBGs8s&!JLp!#z` z4k85U?rZU6JVaqzytfc;_zLr@d!k!npjU^!4_yYgERK(%1 zE_`8r2#o1WLhYtYc1sjo+2);19v4^lEo0n+8l$a7o|HT6LVxEF_znUCBJiPc4zk(M zIEed})bfnFp7V1twXElyRC#?gxr8*Y;=R!9d|fB@QFYm}9vEIEnsD{3bRYhm8#HKuEu7OhFk zxiAr}K%%aXuT8;>O_7L_R4A_4_9wi+c`O-7<_2jke`~K;|Cy&ClpGOwEPbwj^*wux z%gX!E6)>Or{t9ov{yJSUz`wF0_il_|la4@ja9fHjiO{>kX&aZU5P$=gxu3O50P7#* zUk@wyv)u@j)VXD;z02EvHOeHx$XTGHfR%^EG>1{GNqE*IQ=BpYF*q&5v3Fo)Jg?9Y zqK7jsWWYV`!$!p>Tm^!Cb1uEwG5lpvk&vyg=X;41BVA=`rlY>5C zyk>bP^BhcTf*bt7U)a-QsilJsENIy_*Q6;EEt98sM>pnzjWPM-p97!3Vd6ChrNzq} zg$E?<=1#T&O4gy~f!?I=v~|!;sOc5fQyVneTio|-Mk^ozQg#KLH*WQJK(WUYScvRqCj@3>GwX{8(#@|4 zooT0wWG1`zZfd0mnr)C0wBDTM#ZMrmM^aNZtgGl)Ew*pS6+S0MI`~f+b!t2^7bKGN z4Yp{mNjiaYe0qWVI{b!v2a`rHVTYzWR{AZ3M2RgLN4~%*tXcv zyS@Q}I`v7^if;J$y#veR{G{(K4m48ti>WntxmP_L2`UBC@n_Mlb=}fpBJMXo4ID5x zQyKNRYR`7{5kYC}N%YD`jfM~TV)z=R*kvBSp#QL1o*2cNgO1gdI0u@!%kItk{~4T@ z-_t}q*U{r4TkmO^0oPhCZU#ca(BUu@kospHre|9_qO#~kVA*NThUjZXsShH27U_ofHbLARyRBxwg`m&?99F0iNC zDFhr$CWVQ*jh%rB!ipvNI##Pp_-A>L&e}~jDsI=mcAI@ZrOdW37}K;^KfHtK2#(S?l8j*H_bz6Z^&7(cS?hH&C|$hGjs^W# zD-x!c&v24*fcg4UJH3M$4@PQ%)C!WVxb#i(k1g&?qU3#E*OY`8 zWm5FH)7w<>&h}ruz=n$6JGHem!el9?X3?-D*%#oogg#wcgMH5K*s?zccbhQ@CBkz! z!?J!BlV#oNz=|b&w0r}^x^oBLwqL935~V}W+3jOB|p)Om)6XNvH6;a z2o7ca*sbEuOn8wOH87nV+G;p%&V^vr?jB$DGX=V6GdynQYj+OxJGKs4DB&O3n>DW+ z@OBWOi#y0z;fECL!mrfG7<)Y#{z6viR}!{r1&PS z3~?z)E>08oXz-L8?@9@rbx8XDX>SmKGae8+c=09y*@IF}`fBXD6zQqBp}tYoUM$GwmSN#iP~Zqt3`sks4g zQ{ySWV$>t9o}{{gi$ba307xIT51mT?h1?)Gzv_PrrMDm|C|jftkKwo z@*$_j64kEHHaM}PEb9CG_ZdX_*vtdRGx&A_Q2R0EQV?k*B?c#4(Q}-8$n#=9^JUV? zh0c7|&~k;ShkxEdu+KO18R9x(0{qAbNYcS={(eFlud5kU3SHnzp_!qwi%U07>bVs-Dyrpp1-8Gw%;8>;c!wnBx~v+eKS z@r+{NY=ab}T3zE2Mi(H^$4R)p0Bl5R>V4?J^qM7aW1s<#uU=Gc@l_8-Hqr|UkU0H4 z^5gHQ!aiP^GC25hrzg_W0;;phoGCn`t=SyWRsZ0JZ4dLE#+3EuT9^4RoCq=jV)=+|35inTzgoQcrLBwY}}n$ z3%j^m{k!&M6L>V%vi%Y%89P4u9n`pbMVZ7^!RP534_@vW%BiL}ni}X5NOg-CPW5FH zPL$v^Y1qwEufA<=Uo0Zneql_&qK4ktHA2Hp74bB(5fad}Ei2N*ek8bec=2TU{;m3N$pwp;1=;6%8`-CTsJ7VODta^hHn zpO|`IBDN$zuk5Jf$c?n;b$#`rvnqjc>;051Q;gm$m%agkx7T%nTXy$z^;%UI0?+?hQqIteG zE>y^HVA?!&=_5#FFPnp$FpFp7NF()luJ9SSl?{gR%o#pR`g%xdoa@qL_T1kH+8Utv zd6hHp+UC5Ze)`u$|IkZqb47rDrRTq66#!aX8^;O8803n2e#)FmxI{CCn89(FaJjlY%v%qgLHtsG#Brn{xg{?i*%{4 zV(Zq-nAzC*=+xOyg7!kazM; zxrW^};rjpt+h13Y4=nqRVEWda?7XNjp*+MyvkwDd+&>r3Pe9}2FKtNdJI)~a^F7Yt zZqvG)uoCSz3}amL#=clV@Xj^|?a`A*S6h9>(`lVWY)T28x^&2m_e^p=NfZplR9Q|E zRxS3NT8T!AkxT)ZU|-Of?z@i)U(t*;Zu6m}(7cvuvK+|kcbB@}Wo$S>>SF4p6Dm=pw7(+22VO9_5zi{8FSDarMZ_b(q6vP* zvU63ctyK)(CclCOEvC>hLIpY{jdZ=!X4*W_r@I}PRo~RP9O8s~r6G4}K~O_5FO&O# zAUHqUjFnO`NZL7WpZ z22MOavBQe3Cxy|4yv|EYwNhw#_3o#K=mle z6DcmxDa>(KWmTq&%LI+6wpwDPhwStdV5bL#v9C%9g#+|##pUC?8DjK95ZUSEqJ2t+St!nK;S~c5j-r|HhYDI6A3&fRY@6)`- zW}-ggeKr5tR1wTMo>rsFqja`FVr6Bv z;0HA>bH!H)(Hi&!!9g1iQkuDr{sBz+OYpTvG_Dt@m;B(Caxt0%n(9+;Sb<9xFZWVF zWe$sDsP7n-FCpjqvir}%iF`d}JfN$&@4BYVjEqDo3mS2oBl%cc?hq zEc}jop7;A*%dpc~)QbZOm?lV1LwncW{C?Qp)Qu@=C@nRLhPKFUr(23V%LIj6 z)~=8OcWQUR9DX&p! xcSO}KG51IqE{6sS$SFKk1znOaOk_<$B$ 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 z{424

    ;wwBm&kqLQ+bM*wBG{&y| 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ǁ~9S+x<_|sGV+IwquI&r&)Kk}A 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%0A0=XDVF&!$(S*zvA3GhQ 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%0A_>|h*Vkb|a_Gx4eQmyiA!m5>A{l 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

    }Bp?s+6_2Am|BF^P0!{q)>L~GdGu1Oj}gBAh; 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 c7@e#+95}yXSHO# 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�wyC2b%ct*$l#D>p#oXh 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%0DOlsW`PhXF@`^79~XF7I{(VZ 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 uaX07`$ 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

    ?(FF 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

    kEHMHp{oE5p&4lwoLXLH(8l% zTMGtH_4^tp3PL_fDmpe5*{NEqrAZ+>Z^;4MU;us1nsSS+?&|H6P=9y~-Xs+M2xYNt z^c~w8)A8KIjoiuca8FbcK!h%m>%&zAkC2ARg&K_lvLajO~^L*1|Gw89$q za3gnKQcyN>XO!cYFMSePDKC}HqRZZZTd43YO5q16M-%J8Db&{MKT-ALE`ldDQGN7t zwDu?X&#I^=?IQa0F@64*H4*a#&mR|cS`}5~1{-Q}=tI=Ip|_ZIJR{Se@VYVXEvhGN zzhQc%eK^(i_xoJFoTOpjED1GsnSgI#WZvV~OdPi_r?3`BFI#SrgK8D)GMCcEj3&Qa zPdQLu%f#)JPuHTTwXXG4nc8?R`jJgZUpQAq(`6^_yXA41{d3bI@=UE(mZa6ZS**zf z9k$W=Fgng#s@-!^PE++|gR6MbcuMV`Mq`3Ep~JYqV)(8$AFfEGZ@%y7GPAw4 zrWiRN{0L^RAkeK54Bjyfp3>b=EbMFZf>~2fUF!iOOo3J^=cKe19D$MUK8!=1k;n}8 zENSaE5q#pT_n~^z`Hxa{$>ZDs`!Vvt2Z{xdY;se_gaJS*({8?=uC%((f?F{*Pp#5? zx6yR==f(MsW8v~+5TNv-UBG0{DRFYRaog>S!Jbq1>h(&ddS&r*dpOLHAokCdPz&hp5glEd zW9N8hdewTdwk52DvB)anH1`}O;Al2&lu-2<9cf{G<6d9?Qb(0Tolx`aX5;UeuGC}F zwi7bYlW77(=TSfVX{>Kp{ttIv1=DCHpwy|`G4?&KiHlSk^5MWA>b~2( zU~D02xb%1}6%Pm1lDY4fDJM3^pR7PIJoTUUpp?16?3hOk1!YZoixC?pF5V;{7`)4G zeAXjKGt}~Y_*xW^t+*1SF^T9dkjn_4oB##a*01QlajvP~$3YSGHJy$n7pcu1!|R7x zkSd~LM=wgQ;vW3xIST&

    K9km% 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�>l=y7}VfIApW70f9veE2Tw( zY4=p&cC^pE<1Fs@E9ujF5FCm?a+Uq-_IbL&uBm%<9;*I?DOT@$gY~!RZuyHR= zHX)bl3X~$&^hc`Msbe741?Qqs*|`a2JSRAkNTHunvv+HYYA@pX=G_LXMU~+z&I?_? zci;?VaW_eb+-{^wQmCLg-Z9Pe?fgg}jB?S!i)TA7oEtU_NjgU-R|%G@5}{JkX)SLB z?Kf=5zJ!}RoMGcwU`XPYw<(dk_{hEF02`eFZRtx2L=hv}sk zPO$d6FMEeIU!13Jc0G$^6DS?sLH!c#HuCc2zl3?#mBL((}3{rs09_mF|lPijcALHE~QXG=MC5>clPhT8T z_}*B+h#s1cO4T7Hx_zN^98Mij$9HCMo3%QYF30zVvIjMfw~tHiV>wzzmeMkl$t)3+ z>7Lzqdl9#t-L52#%kcy2K61ge{*O!q*4`>ujPLkw2$W(=z1a&-B`AgKy8#!&qhcO-&tr7EyoviYK8KS2aRaAPg73N#z&w;b%HPPESCaePmHbz! zRHN_yzCJcY_U6fkC+Yo35_0s_U3(URFF18h!F;%GsD#7mO8e_!C&oF-QS$ohuI&>C zMEbJbfjb?5AdINa%bEYxX$C_m#=l zoaqx_yZ3()oZ|uJMBS1vN?m)MyLAy-k$FP-Alu*(mbbQopKBgHKDv24~vD$JE%DsaGoTRMyf@| z@y4Q4yKc+S;aEgv1Oi&0lx8w=2PM%GeeLT;{r@qlLFN2 zlVJ?96w*)>SF0N+=c@JPx&S(N;a6qg_}vG1MDt8hcP9?_JOXYozs_}a-1tM6bn=@B zGWpa*DWzS3SoInr7B8QZ36ErM{Bwm&z-HVok>~wmeE=y!NWd`gi|7HMt&66`BU+U3 zphbF1{UHLx{CdlV8=3n5(f+po<$hWd=SgM&?4sC8HyO8SAQ1PB6AUotP^l_A+HU^3 z1{xPV@3H1EULU+tfX5Q&L%N4%Pf_DMhfAsaaC65Gv6V{p4oJXKi9i@U)l@!1?s#C1 zHF>A>{E2r&BcS5xnzE`a)vk-&ZUaO<}7!aU0qCYy_b_j{kf z#2(W4%!()Mm(IzJAdJ$_GN40cg=glMNtnhJBZ(x=s(AK@JWFFwD8!U^JcFub3H#q4 zLdQ1?oO{>`L*{it#xm7mq!PSaozj_h@}hkJ8(tW(bo&5>@)sOUs-}1LGFT`7kM(8` zZX^IFNg~vzQaFF^Ep#eM+jWb!o|7cLQ4k96M-CJ^1bW(wTd%J|^BvM`-JBx{4EZT0 zVtAQHf=t?EX2{y{SZn)g+V(DFEetSofpP+8+ZO4RGUGOw2`)x9iAgoYF_(~4A5SwTG?R&ZSA3~ zFyW$kzLCpSQ_Di>&=((H6v+yqYXUS%UB zsk?#${M~O;R}X6r0-Pjy0@7N0Qa|Ha;f;365$}1fIaph#PHYOud`(c;Nu8TEA$Eqx zr&@{!G;w6`Bk4u$56V2(Qq>7~T;)fgzV61&#Se|>F+`9iP5u77KzREL7FAON?>JiP6fl;jyRu&y|$(E7br#6RcPOb>jsN+ z-8-&XoH#==<50Z3h3tT1)O5-Q9$aQWQglv5fH!3Ax=TRtodW$^Q;8GG%%|Xn2Qw$9 z&W?oop(YlP%Gi;}01NcrEqqYWQEjsy0{@qGuPNVDwq-5PByjiqeuovu{p$@RgNImz z?sZ`$kebfF-L+kGJnd)$dR@nhQ=04IY;JbsmorjalZS$+ z=Dv5KM4@-Je{_u*lO!HuJa;E#)|B9mkn_D6v-;R% zTgFEqB!V2jK~Cs^k_tdNl0P2i5x%)o9@Inu!kt7dzh;rs0+syQUBWGNP(n}Yp{r0B0v+07&vwZ zB|Yyq8gcn+=S*B-ZZ2ELbK7|rea+a-Aw;#fwaqV*$AoIe`X|M&a-IEF^EH><>71CF{j5^Yh6}4r;3w1FGs9h-_cAkMWY&bqRdlr zpiTk_4-U#eypzazhSvRx8d!uZVFy)UnwQ&tRh7^UxM1rF>vE>~Cx_8P8zb=c2^NGc zo;Uw=Qp85N$zWrZ+yYHx2N2!>u2)&?7?At3sJlt}^UZbON!VO;`|2{PXmNJvm>7{H z5_Qr3vOw6-66akBdn6`Mk z0K-?!L@eWyyTiZcXbd}fV`}EtHSj6mglXfow`}b=%W?Y$6kIa%o@_-{o$^0oJy0< z#rO0}(*gA76HWDz^V+|=IEZAZ#$MgN{V%AX$1-tLH$(5=oel-HJ)|XqFIJGcalxcHez=-k@FNji+=?&t)=MZ3s9$D zL=tzS*AuTgMfnvRg!A{zi@2V>;N8n^7gJoj98mBN`MvreVy)j@!cOpB#kF}Q?@(|9 z&UwZs{M_S%bJrv3@2tX@WKG@5CY5fNnst~>#%Cnwqp18nJT1DhCD0sQ7rn{?4COrS zb3ymxRUE$ZkOwv{4mrDb)h0>>SqyDzMXk6SCm)zFyZnr1|+CLl`IHQ zZ@6+x;cNqBRE%>iF7>OviPeQw)su*w&wRugFUcjE&1S`#^slb1$8(Q(N(a1(+lTe= zu5Y%!bRUz79!X9PGoO#8c3HV~_g*d+F7<{*T|Pg1Lb>N>U&&~`lhB5`50TIy4s-c< zqMWVRQwHyLZHYAeg;?noqwH(~)A%B*Re$P1=Vq_a?0}5W$l1QEQm|2QGwvG1GRb8_ zYmrHbV?D&wtgyP%9tlhgI>Kwyjck%Ypx;4-d7^I@*Fj1|uqtk7fEAh~2FUSRpX-IyiE5Ivz2M(iY?^2Zz>4;T zHE>@{X!}o_nW;ddnp78BfzOMUh{ofAB>A($VfQYa$Zom1C<>W{qnx73xIh?Y7v>8x z2!>8{gwH`c!tR6qSFeEHnP2Auu4fEnb?0@)0hj!TrkxcKs!xhK&!&WJKL@GQO9(+6 z!DHL{*vW=itsBdq(8gES*^+lSbi56sKylnil^&kesH*_9+?9P`N1I0)g)Ijy;21?VquXy~`5w*q`Y+Gf zWfvOp4)WT#iUV_9R}4!3a>C|T*Vqp zbY<tzW)}K+mi;=v8 zD>sTew~vAqN#Ez88K3M8@Zmw>v77s(a1+u~N;-`aPOtjexGmBKgK}2YAmF30AUY;6 zt9HoA4WeY>OM+AS*Ju0=W!94LCjs}Jie_*W#3m#X5GCGfZT8+e{(@d##JJ`i8yFS|DK z@lEIS7-pdsLf5F=HCr#2jJH2I&rSNr+<|r9X;!0dDc) zW8!gqJMZ1T%N)nq>60b+M0&zWSOG50y{^i?*C8hYpGpa4kEWYvFRszKTT~ZoOOB<6 z^p5A62gtLvHRzkM4cfowCi&_8TUtIUsW z!;o79(+W`6dqXNQCzK}F@&}Bc)reSK&Fo#p6!?}_-JQYR{7=K^5zP|KsgtGYTq;oT zB$bYI1falFGHi$O&DxiRe(}Q}x-e5&TQ=6z$G4WX$1#hu;8PH$IhU9_gSf}z#@s2Ic*gQEy1XV6%KhT>9AkYuN zO!tYqaDgG1ud2~cbC8LSb%2NnegVmQJmV${9XbNMQA!s-6D2DKuoB_5W`=*bAs?5p z&JnF|>aJD>w2^~i!0-V4`AMJ9A8N5*2KlOUW#?`*%k*=}wWINfsKYbb=ky{=zEU;z z%4*SZff!cG(obCT)p@Q4iYu#ddqC8ndiA?2>aB`3nIWa%HPD$9JoJTBg(7Av@=EGX z_X=quZEEbrbpm$2ri+$I_+Z73%1(GbcVP)e{G#SX=XkO_6~n#Av{h9cf|m^+HMR#e z_#`#vK46XIRy-(@!uF_zFHZ~g0=h!yI;)J}A~Zqadr`T_Wf)zkSh%o1L5)=4oJsG0 z73Tc%1S?p#L}&{WcA-+uJs$46nc?;=`O7o*>~N% zq!`(zA~t{6rfklV#r2i0#cQ;a4zW?jm(|hAU%jmdHA(_#lZEM+PUpB>57=Bwa63@U zZ{pENhX^7dQph&-F3CImB{D<5#6$QeqLC1iPf9L%=%M+qqKCTD<)~2tGlE4c%iwj^ zMRd8~r04`TSIqmW1&Cxo570#W<9dqsrd-CFHQ1RK-$kl!72iUGk7sJX{`jnb%{$UU zjgnJ4cPOQO1@7YgZNt}t8`;2llV4q=Pjf|?$<0-&fQsytvvQDPrnt7F=n-jbzPt>-`^m0!=ckS#*8NHB!WfGw?0kQ|qr_KMr^1dU zQSkxjX7?^C;u>lTl4Sqpp&DX76udTIQ-$C8u{IqcJ*mNSIUK+s>f4SAwAx%^va01) ztI|KD&y?%zg5XV3?ceQAaHohs_%b^Ga&u--qq>7ji45D)LjVnZVQ;in?>vJ=@QTc& zk#=463u~ioOqfwaR*?tR`H18E?~9wuH>i|s>Xcny+kRj(RwN2bvJM6d&^6nvj3yS1 zn%68>x#cc-H2vDrR>L$&OvIx%<0fRBm-|>U9LgL?Yo-$5!?mxitXiTiF$xC z7@?s1vJAr+P|cAzNRLn9#2L_hU!KC@)-He)Fdr*>SGmaehPA*_#esPuexM8i^PVX^ zX>S;i>f*XTd)yJwoHD_nWLN?HVsY&w&vz$KR%p?xSqvyM?@Cv(X+Ll?Te+5-4C_g7 z=pXd18Pv#3*%4<9hoo||>YUD1ji*yiO3sL`P874uvLmldnRMvXGsJoNrikQ-eP$nh z`H1QsImwBXmmi(yAi4yh-wFkmYg!0@I(6I&A5KI?@gNH&fFk@}nC2E@{|nz$K*PYT zP3~KTMG3^;5fkg_I9svG*2?Q2`}0q7@ zm*4<61WP!Ulxl;MVQ$<1zSgH+p2S?WK4EGa1n_D%*Oj-)ccm`BKKyTHSo5RvJtg!` z8FKwacOnitzs}AEP*LMVVlFx{v?dA#U*!n-ixVr8>RwoJ(Xifu&3XW8Wu*$*gy%0% zthZV_h3ww50`5byzL1aJM8Kg%U;Exy@(7t)7PbarlB)k%XKD5A zW}N}{nCzV=kD%+>A&kCKP;g+PE@3XrmKB)!6Wh4zoL5xH(xF20^6|*8*Fp~}UGqqJJ}H7$9MRS$Z#3)z+|o_+*-lpoWM+ zEj@(;ITM|T*f9+&3tE|Cr+GKWWNwa__CwO)B0EHq>JEKs{v>_=^dYVNJE&RAL8;`p zoV&9EbentAod*)Xtf2jrTh_le8%o$5ViTEBhh0slT^SIo|My@GmS?S3-}lJx8=50o zbqSAp`^wee9*=d=+BX~2g0n+kuT}UqcWwW*oE)Lt<05fBC8WoHINLFktf|X@`~!t; zeQ$j*UydXttF+nd+t)y!-HK%95P)+ekuvmzes9aQS2z=0TAfA-jlRkB;Ll;nb1>-Z z?B%o+&s`&$@+8et**@?5EF>?0>>-v%Qmy^t5)l}cLrUx=S%njA3etezkSyjW7tTbOD zC*V>fcGiUnjOnbst_4rQRt&&C`+j1(=bQ72nq}x_Bkw4G88ldN=9cl| zb`y&0OfGB^mzZuB$!Di3=-4HnHhhl+1vRhEPpz{fFWn(R&frMOk|<+Fs$w9PxG@Wx zCAIr^NXdbCiR^MfrXA;d{NQoa83!Z}Al6Nl#(m6XPzU9X(u$Te1<|=+N7oM+>_0_&qSnBw^|ocw_)2atkijY zFh@o#ZJry@C2VC8x_stKOfD>(TSNzL0Cz7RXYf4=Ny%?eUw}el|6Op~c+=gA>U>9b z&u_ndZ{H*CIkMfOy-{&HMt(R>udL`Y?~D28r8KC4waKigM%^+Ce+4zFR;NUEZ@a2! zDXJNf@wF3O!@i&KIrg^mvKJFy>-P%|h=}k6SHk^Dk{;8LRIgAXQ4kPzubpixW3+S+ z*sw<3o`AGcEe89G+*9TOBKt~M!A{Z3LOZk`pzV!VeXs35U3 z$OJ_%*xAPVX>raiTPYVB6_lfX%+q@u<1@RNU_-G_z>y~%%bo;6HFg&*?JSg~Z!oFP z$N-LJu%f$+;@wBs*2}M6B_x+2Sxudlk*w*zKpft%SZOh;qq|Q(?2=FdRtUZ*cuZ0Q zY3~6nT{kzodVr;FrKMn2ZfX(itV~bBhrZ2-XU?r|FRkqm_x#KPR9AA`D?ts*`)OX1 zgVd*0)_iu7tsIcE&dBsQe=BN_V#saQ+bN|knzf`Y`A9Ah3QLn1xS3_~wb_hL))$y) z1a1?H)C`#r7p@8|=g(@o2Q<&mr*{Hc8A(RoR)AVDB+A#wI@{S_0FeruPA2R0%lO{S zlhjz@d}$!`c-D7Ls&;2jWJo6B;h%5F?7*GRtPTmtTXl|D)kbppz%nLA8g+Rg`6N$i zb}n~xtBvwIsEHqSMkF_>Oa%h=aZTaNc7AbVk~wy8iuF=0DPY8}DjQ2MoSei*|DcPl ze;|-&NFz(%om+D)M%ADD!EWO0G_-Bj7zwtlvWxJCcMjb@3Hz4Iz+X|rY<~W`JjQcaE*`4k`m{{X*HG@21-9+0gh`* zTxt(iO@ljM>M>m?0lP$*`CQPrqf?p|ZQ5#&TZ!S$Ot?1>x1Z?h2+vb=aU;53Nh5Mn z)tvSZ;i_ZfYK69|4sfdTrr5%C8p&i45auZ(4EPIy@R+PC%_AmH)7QRBbQyzdGZ*7x zJ4EUptWny${#-#zsmJ!Gi}E0@wiCPFAzkx0f$ssfx^+aC+sUW~JJKWDq}+4%Iz)&g zSq9OeL}hm&GV;tdO8Nra&Y0%O^0ZC5pW>FlJ!QD!Sgi0|{ux?x73;We1H43|DAh%~ z57^f6F*5TY!hBccY9K(>ZlS>}5AJir>Z#4+{qJT+b}g4;w&&H^{?|Ex7Iz;~w-N-M z7b5zFm|*9{NOOaNUm@}l+Q5^y&WH4^i4H)R7&cY0v8wsp<#t#g?<0{y6VfELalRvl zcngk!$BDF)KVi++cDs}aGmzyt9LWcktHdQL+kZPQ)o4qu=&bUDg+{oFQx^xkZPa65 z@rN&mvJuzV88^6*{?QdtG`^bCkCd$7DSQ*vwKHBf{q~rdu**@hvV_sK)Zl27hwqXt zxS7~EUl1f2_NWPr{h7MSx_XCNge2FE%2(G}IcwVS0)S7la6?Je{^HL)vBxu@Y(9sE z@C_7d!*VoytGH{C1hO0NUtth!_x$63>XI7nRPqe({#_J|%m4+u%koS#g)fFY3wQAj zY~*ogNIEuIJGKBF%kE{d_JU`BtnoDiS2<2(r_F)>blqmrzpPkie(+jnIP)}-!`Tt9 z(#SV4h{mmAD7&uEN>PZ&*+(VC5%N06Q*!?Cs~yj_GhNa=y(4KO4P5!_Ttf@9Lo5?s z`x`+DJV;h3`IkUs7Tabe%0T2iiZC%jdFsqD`3ELWPIj%=t>CZ|4fJKr zXQ=q@PY8xR-}9-F;6plpZpqIyrYK6xv|G$FiK@n7bQ6>P z$3q0Fe}ft(mo0d*PTNBYv>&Pjn&I1*OVs3prH&;NvCbG3xg*?K#`=>&Du?;j#~zP;B@Y_ru&I%d~%_$9j!Rhab9Gd zY7LwKQ8Ksh_D_<#x=S;|qR!-$Bk!55)@L^J~`9r`4iCjkN1P((XS3!x`oi8@k=xoRS&Ef1)%kgZAc@uPM2h1bjz47MCZuJX!eh%kI=Ua00Yj0 zY6n)bPhF%mw)5}S?@Kb0ImP!~=hfB>tFIrK73MY5X00WHQIyw~5yko%Nb|83QTCO~ z2I9{ypel=HviNzt4-sGD02(y7lD9J{o<#3pRy)OOiyr{k*jrdda>5xv%?iM=?g-ef zrl2%4gmV(o${%yd9@NO**h>CjS6SDr3ME4d66rMtvn#yHVo4oIdX-%lNV|bp`=8s5 zP-eRgQIhTxqU$7|CqLVmU)lS(X7Xmg(H0%A`6yzO;JDmDR0$lx0Y)NaXu11-Nz(sB zHo7;bO4h6GDj$KV%qB$zqK}EHWcbWV)tX8Xiq9@@y?zcnkhH21iW5s~@mD}@L^Zqc z=*im^dzE+KDm&2M&V_w~7$~ACL9HwRuBL5+SV>2U);P^H>gbXxG5Z=9$EuUkh9@0GDl-#5eQQxEkJroz15v5V@ zL2o4mKwh~<>L#|0@Kn@Z5|B{-1p0eGWo7}FBWcud_JYpwf#Q+p8`3(`arno+lj>ho z4}gAAwY6m=j2xk7a&!J~Kg9d6WI~esZf#%B9CS0sc-RmBhdV z;GN6}0d^h&7e8q?;}=xSBN`tZ1W8viK2`tn!m2d+boJSu`GjWHAPG366vy_m*zv0& zHQIo(x};70!fW(kM(qYSvhMCs>^qM&vb8sf27{=cbo1z^+;Ja!p@vX&H{oeoLCpZ~ z`=QL?2+YU;1=Z>tHIQ&-vqdtOS?M2;Nc41NJPaDkzJWz)xqSXui^u{5T7{TY0)`?# zDN_0;xN(M3&)lbCH0&v`0Vq-I8!=?L_BFc$4A!aTeSlh98*TFTxk0A+_m5u@(h*ag z$H?=x6?;i!NHKDPmZ6p+*2H2^Dm75@%3Rnz;7Z^GirWpls2#M51YP*T{CQY&WRj*) zCy7a>-4%aqz2$ojHoQ_o1pJO@@3S>z|GK~_3G^A7gkQ+)9@Lm9L5yUd zq=Zx^%=kmB@wwehEcALV2U_+tm7Ghlw6pUaRm-%ob^A`*mM-d3CBcZiLU#eRuAmQ) zfHod?pu6u9()YjH@s%mbX@d|M7)H+?{U36HI6|!zCNAF(6vxU)giXIRkw;X+xS=^0 zvij?;Pf6nC_tIuZ=3LDRa&TDZ(jJDPrby_$8&-ICc zF!^2hSTzqTsHD2Yh%1Qf_3=07r+;{+j#%cmpM76hxRvjFuKRJg=VG(NF;QRtP{n2? z`pBjBbtP%P%*GbV8OZweP`o60kR*vjs^HI8RADHQwcL@}aUVR`yFhtEaL)O1c-g48 zQF2O8DH0B4yi$y$sw#3Fy>ZnK^N$hDINZ*Mgl)Ph3G$YKEU3CS+b6ZzV7{G?Wzjhn zH-p|pvoo3$J!3mOpsA^RM%rdgj{X|b_3DCfqDN6b{Eg&?6%p{sw zfu3@)niBJLRlJIDu+O;A>vq`KqdbS-^BKRI4@7s0 z?l~~!9UzD<5Ob~psUvIrdLGOm#<%30##YY_TWmS`aubMUo0H3_+tfc!G}X7LTopIj zSbT(b`v!gS(NMuEUsUjTgWn$)Y2k6kB*&h|4qQaEAuJuUL7EMoA6|i4M&#t9_EH&% zj6Na9*qAWMRBASz` z&SYeIraD!e>O;4m9FD4uX<{O>Y3vj#kT{MpGAPgW`NvT0(B}FbO&ZUqdJe8TNw*JU z1f3F47*pZ*gr&~v17SQWN7WAUZhUGNE3n5qeIOk?o?)chswZMj{WB?dC%Kh{D+kmM zw(BvA?X;B@MOJFpzFE;#^*=-%xcql@gCq&Hr55L^f~A&Rs+(S+v91D&lXW)K)6!jbK5c zoR1~Z!Tv+`!9KO4N?b!bl+EPTOGx&Yz*Zh1`E&zD+tR@2in}%hYVIDnRSgYTb10Y) zwa8=b-SK;oD%#0sr|2-h1Dah#zu_>~Q-3@})6#~#u1J&#wGqFdLo9k-LjDv1-*S2@ z_zVxA@NE^_JEBn~S4V*$q4s>%!S_H-hW?q-PWtE!OG!IqD=NyNXNF@x0e+V8SP4a)=>5W+}C>DbBHBv^Q-Gd%rGqB7YM_f zvFAIexh$`2ff-0Evc)cFuJFA%<@tHO6wX`H4;qDCb(>qr_4 zrKK7g#?VZJq!OfL#R^-Vj~h$hx`D9a>->*Y*){!yH1cKhTn%jcx$i@D)V`pCx+J3r zm^0Kk#N^2j_$@@n%OL>I<>DKcBsiOQIC(xH_KFy6SS30MEPZEgeXo7sqZv*A+;d^; z!|~)yYBGE=fXN$_)UHWToP93s8hl?m;uM$G@zwc=JaNZMtbW(OgXIg!wNg^8b&(_O;wP@E!Ok4fIs#)|*$0Z`_H{Ri|mYJc)=GmK& zjQNy!vS{M7yLVC}<1qcCTv{dyVL>)6Xs1XW=Ua09!wC1e{P)a-KB^NT#-B*$$zihL zE;AS`_5S;I#}4~dke8i20`jvpg)+!RR+Y3mOQXhd2IOF6-;;^_ILEkT@X+JmDHQL} z<_w|rv|YD1@aM$eyivP*-rmR3D0b=mqu@rRg6lMh3|SV5y+U^T@SdDujn=vK(T0^T zO{7{84#$U6U{sc}k&l_6R7fkEKMtecAV$K?(W0wna-HLvKb(z6M6>z0PiCtwS#e6A z$W~BU=I~5*Hfi!*j@TMB1kYutU07tTH)a2vD&V^eAfkEW!fJ$*o7<9k~NK^Bcjz7NJ?dMUQ;oviZoa zYrnafM*m?;-mI{p)!fMd52=TzHleAxJ_Xi#P~(g{$q_EmvdXc)*1=^e_KJhcCUcUU z8nc;UQ|d(_>Oz1xgqmsDJ07YByvG!tPT*#B>zYW5T!|7ilV};R+LiBUjIkQT`AkHY zhn2_r`@wuHc5HGrtnx{B>{jL@H@Wj8#6(#KS_jGK`5}fu;#;9+Xw)j{3B%{eA})Dd zh3iMQE$*=Wxw`Mc%(n#w1kz|eaa`{|u>I?s2yWkb5BzJ?iPqpNBRn_}Zb_tL{SjWx z%*8V;@*FQP99K}&%y)EgJ}OV+F{<*tW%0Z27LOS~RTNbxH&s!pRw=$3TB2G$8-ZT8 zPN|Eq%K+gW)Fi6hoj?O7aLxHhZmRmz6*P4?le~Uui~Gss@m4+PJ|YoO)(TuY<Ib&P6_TT(R{qGfNCA)~$vAJBMb;%qy5N_w1^1mY)REPWY zdG&4<%{&oIehGa7WxpsBomh)bOfbQ*DsQ=Kx=St%sB& z6Cfnw`nSe_2pBzVgXR~;+J7+mWncTW?R>+>w^WzMGwLSz;0ZhRb$2+uR}55(qb(j{ zJY=DB8=5%pLMZqyvnfrkogwTqK5RW^Ecb||cIG+O($~VKTwGqXxmQO#hku2R%?`WL z^Lzn&FVfXN4g%8~0sGhofW?u-hKT&Gr2P&q&KKt?9Jw|XHel(lVl&fuNoU(XTtg?f zh`67tS#1hB=(YWy@S{hS=Iiqu4*gVUN33h8gf~g}?B&&h7^c(53BoBy_vBO`=f8&L zlGLw%1ttE^n+2uzsS0HmZ9n9mYk<=hVG;%C-%YhsP|Y|N93cXp-Incz$-*h$TY@8% zzAs*nWZ-9Rr#x8kgmHy*o+FSYfh034;p+*n zy`z3k>3s9jaD~{}Y+&t@fj# zjKckQxooRAm-uSw1mih749lSY9Zi~#$Wk?ASQ+SdQdp38gli%d!n|8Dz=|}NHn?NU zr-;9KRYiiv*z^4Hf*OI0>E8|25#J~~gpch+`^PZGx?lUjH?3!l00iuw%WFXShmOg; z@kdWaZ4V)d|6RNN%TYUs$C40?kcALuNPY;_s{r5^tuQ;(jN#>% zEnZHGp3gg`VJvh9PtR5EEe;gKvTM#VE z$t^!7W9eT_uN^pqi*gHsx}WW0PvAL7oL&@Tl0vva-l7R4wfO07Kp*H34=l}>=IQ!! zTJ)1_0|Wg^(=0BgFk=_=#Ey4HXk7qIg(ZD`hTCKX0Z8J#Xyw&2;&=x%do?FIVhL7b zRheLB2}vOUe$P%}q0{Zx^c%JQr7Xxx^F*ohoSPaXd=mG2JoC+YvgRAntqmK+hU?%KpM`a73xUjs)Pex0aC7(>SJhT525zK88YzT70$en!E7Ah+_bvl{9(w`I*S z?u^^3?iyi<-vSA{x+AfiWlX3T%%2~fKIEMH3C;60qXn5~a-Jj0ed+dqzp((46=kHx zS*f6p{2l`_x=tBr+Cr$tspVF+7idKH6CYyxD6Ag!7-9n22 z38fK3aFhcw8gdWvgHs#2`aDfL&L8%o z2b1t8vM?iyU%Ak?>zhvqOPO{kkU8U;A_)BAyi--8!7m&#*rG%-mfV1%KVgmHBX%%f zIMgjH_`q62fb%Vwe@-;lc+vIatv-HMPqVh3GaCkU(nh_bnbmY0Waze8a-HsnG;itP z`sdQ!So(@u&qiAK5=7s<00o#RzUZQGLm4)-Hx$O=R&I}f*2QO#7rrMWsK1eh zK^4h!tH9n>U&j3tVo^asVw z{)i0mXkhJX5cnQuhbo@q*&lXs70%92XfrmSd33WKQNE^S5KRYc9j%1X7R&ZvA#+=IY8AeFeSie?fb3rNUmbOc8`cYX1V$Q z8v9*AFn5!@`@=eP#59aR>}jAc?f}e%C=H(LR|RWTUsAaP_Q*$*7J|QoLhQ+}g-uM7 z<%b>baC{N;Jet``JByJk@#+&^p68-1c ztOqkvP;#9omw*RY<7I9_3IE_l3DCZ>C~oJYIpe$mAZF?w40&PqgLMVaCH~jdd#JUd=`f`HID5p!!MH^TRJA3>>FN!n3S61`*mA8?(AHKXcf zby5>MYgciFPyw8bVu?B<+5r#1E+kiyw?Qbao1;0qRj6uY(~$oEH4gmIot$xmc)ZN2 zx<7dl>7)Rvx+zK{fv!;*%IJU?sSpct+_y~G63OH1lPhN~1H5`WixDw2xftF2&a&Ft zF!%yeEr@`_Y<)X0pUvomqwY3`ac*arjtds}C!&#K@uK3cOPvjvybu-X6mdd_a;i zWMEAyqBX{}ZLSME|6AY_%=>&Dv*vx-Z5%%8NkXdg{q?!Xy>VLqA~SotH)XJ&nKbEe zI{`J=q@Ri%UnPUsF{i;@WLi7t%xyma>^-KD#xrTWg8P&01N!$?J;Vy`P5vmc-^ zKIEpfH^=&64T;*>w}YQ?j3k~Pdl{6=;S1EY-KB0u3re7vVEn8JeWLNdr^2)HtX?{EgS>CP@0 zg7n?O1qSAqLhE)-9BpMYTk2_)gk8%szQD$Jt(9Fs`2N)8=|PMH4S}%}>ees`;DSYD z<#5NK+$@18u~ayzC0GA$&!pp@E7-NL#P9!I2vG@1tm0bDjK=cDX!qMsWJA8-b^;^z zV=5f==dLM1*&;9u%4T<)z2Q;vZ9&;zEfwrwvlCd=OHHK9xB#y2u;y3aQ*=3G*b!Zp z;NG-KGS%Ze)X}Rr*}b^Ar0R$LvE5Q>?}DZB_XNVD8QB>MBUT_fTLFxOQqo$TMr-px zqb8Y%pd2jOA+nL&Y{Uw_Px9uhZ*TvHSMittS3s!025{{z4i3RYZxN_4VwV+}TSJN{ zE_@&W8uQp!HVbP1+9xBYz(W8L%FN&=nDM^cHYVm>bQ+CWD?Z{~nIKvL|Bw3=D$hjR zH`0uUyo6={+0}y|y)gdVsp^E&_tf4r#59`^qwF189kP$NQyZc6$K7n^&bw*@NUU;f zLX>#n2^teoJWh*{U`gEeRX-y-ACG*TCPbi~yWV+@%ndIgPTTQ@Zz9HhmbekZl;H>> zUfc>&Zty5oF#4}Svr*#?^b9_Y_dKS#tS&BFku;a#vBIKT2FLMq_pN2~kr3k-Atk?A zHU%`6HixP~r{qxmue|LM4esR)-w|Ggv|s_6(blpl$iP&y>nzJlg&-5xnf&3~fIqf-Eah z%2{o3!zIEh`ezdM4zA9@q%$9zJAlY|CcsgS%9^9T2E-$<4Cg1P%S%@u-2i^5K+COc z37pd5Q$4VUH50-;2$^c_>jFs>N8LV=As*7e zjNWh{oh7G!c0MV|S>Tp!o>|jXt{E}x78ycBjtd+qnV3YSdr8bmQe0zBL{N~ z)Cl7-A3~IWmJ|=&qW>XJVYgzQixWHHT#S|@pA3#g2Q#@`>$5k4O?HVAp&(lNVs3$}FKI&ez0aSc7Cwqr7g!*onk(_S|Zt;3J@%`fueBQYZF;&~fceGQ@RCYqM<0ysYT$7$|!9$%<)c`e=#-Evw z$9Xbf-j(Thxg{8ozZN?-*nYXjnR!-V_Oj7&yPEJf{xt;YQSd+KHvR(Amb9y(xlHX- zU(q9*U6ZpSn-gKB&UKI3kmSh#_M`G#w)6CsahIcJ)Sl(fSZ8TXK~|?n1XWb~>>bza zoLW!bRj1Jr@qq0F=L}(d4YU)Zx4OANVJ|D^4a{mggi>y2+}`0`KP@tPNb@CaeMJcA0oOm z=yGTWaIjz{77`{#&vjSbHdM4hukK^H7N`xv(ifJ*BN?e1j%4@Q)yXE_iuNDv@4WhQ z9kv```miQ_e;^P5dQJ}`OWd^_S~pw}mv0!{i(}@Obon1^6OSy;&^&u*hUzj*3s8$> zLeq~pm@?4`&X_dmCtIou!Efcs+0^xr_L4Pk``>pr)JJY7Nuo=$b(qwGhyaL?giD5Q zW`eK@ngYTB{2ot=q`};OEXvJ?O7Xpen$-Y2NygDh$@9Tyk+Z{dk*cC5F1}X3HLC-S zSh55q6?HLAK=Bl!EWtF~ASU?$iX@B0H4UMC5OI~90q)8I0udaUZR47$lM{#mTl!{J z@afI%aZJ!3{K)Kxay5BCwTup;Og(oxTL4f?BKeQZn&Q${r6_T%fy$AvZ55KOmEecK z|KCB)7uC0u`!vL5NTQ0nP?%U3wpzE0?%6udRFPtROv=WpYr3npZCFV?k-WYR3mfNWp0 z3fm?|$g=CGn9r%hhW(lsO~eAYQtpZl$4@Zh8iNT5VyKF3x=%CkyvYk90Ro-ut(zOy zg|)9%lzpgx?BB5%o>4buL#4?=9AraP+v%U++I(f6tC5+}y3}$t6Dt+(aKFb@2l#|d z*Mi-nI>%1)S&(d|HFlbmUtq@8x2k4TVn0g8STe$2VS)u{y`q-=d=sm98c^6Nk>MTH zd|q=wDZnQ0CuKp~2i=VPR*h<>8+^sSX~$UbQt|kPVWr?>eSWF=_!ZUl9B>?w*=BC* z956Cbgj^%?bLp0OXks=X0y=$`Gc%EU(cdDxnxHR#I-2xo?h%c{NrLEKy72pEB4^Se-SJyyDC?1VpU%smvBk0O-XxnlMi$Oap8cVv1ko}O?1A?&*8 z>ajqy_G@VZ{<|4z#HDqNJ|NTPMN{HoQEZ4v;XMuij2bGXUf*i5N-F&Z2wpJ;cB4B=A*MLO)Y zkSs8apD(RZb8eoM$e7)A;f&tFtqD>Bawr@D*JfSn2Zb_M*Qv>&*y}=mhchyEXG7-g zg@xLSXhFIHlYFkUjLwQEn^4|ugkMY9z|Gg9)N{6Q-d@p!Fwalz;;L!WssE!)X=hUT z5!y2=E^hH*a}E|zauI=WPQI0iYpZOJjh1;?gHSyqPfp;ql6zQH)L;n1!6OasF!R`^XaJ0C6mSqP6gWi&k7^k zZV{$&&$Qwd%5{xU+;`X7d;8xW?!IMaG;Qq4n3c%=4|i;m-^5Vg?lb3}fX_2+E)#Fr zP?0JKGYJQc*cmt@FS3Ay@94(O;_OINkD_9a0&MzSjR94HtT<{PAhZqQ%CJjHT07vB zr3;uj+A!;0Q1$mFj)Pv@(+C?E5_A0QEB+ z6^2LM|GHcvIu<~+SI=3v3>SK!q3y6Fw-H-u|M&9lYrMSZ3Hx3O7%a~1N5~o}qV0Zb zNd&)cyXX>}SlvPvVA57(EZ-Wdlf}pD9Znbr+j)}Uh^H4dy!9j%M9w&Ki%ydB%G5Ha zf+s(-+CP%9=V@uk=Bt9?PblMKk1m#NXYoqU`m3==XZWwsXViM>Q1X+*d&ah)%EPPy z1pv)%nfyVuiHsT7xC;$ttFO*$8P~jmi{l)1#-yWhWt|ro&MIF6hmLC-E0M!@=afH~ zO2^FAlz^+=|D#*p#NFQkjS4CDN}I+^@GQ{@bwc#9^kPRzKrmg{L)8)ORMRgN@e6Ap zxYU_}0gCPbeu5g;TJ#}F((1}<5yeqQM1C>U)$L-Wczphqgl?ho;tR`aRc=VsOQQOu z0a=0GX4UP)Nfr#U!4F9GWf|z(FP6837J2WGSvSr2CG9O`H?Da11DHD7rW5!M=bqt^ zxid*QZkhoX;Ks&&zW2Eab79DSw-t&04f`2q*Jl^mszIttA%GGX*BZTUJ2s^>@Q`^k zM%{z!yIX?u^xcK?1y{mA@S)eR-dbcEdrNu49JPBhsUT#uEZ3!LzdeZ6(U-phnWbCo zIKZ|~?);J$?oEb;suG1%?yoVPl=pKwNAN}jPVu|s8q${!T@ z_ULM;8)xPu$zQUAtS;iSz`B-*m^BH^HM2tb>?J*-Fd7jUlbqRGP~w4nZ+~)i-kFWE z{BXE)P1FynHD-q}6FH~y@1uRN)c@b1%t%6)$ZqFm`{MQ3$qMo8@{r*lE~Q}P#{C5SXbm_YdVvrafLk~$hVRwa3sXXXmWY`P36%?9s z+!;fN0ypft_SGc0t;HxtlGoSdx>bhy+Qz=Sb~Y-_ex$a7fnd(`D8W+?3~D=*o=s^+HEFLh7kaETnksiTcVame@SAe|JKJ(&o7) zQ9F{pY4=FsVPQ2~;4W)vyuyaPq4e^Lac97&YG~tuA0P{c<_-vNaLUA z?)jkRY`f?fIdE&Q8C|!j$->~}Ob7Acq;pC<0W>pIzu$_ zsIk#uT@`2_`-PA+VW%dx&{QI5AwTh1vb>I`DR@C%-@%-t3&}p!#-wkJumj@_I{^#f zN@6}_6N$(DTEZaFu-5CfD^QFBN42aAf_EI(s2H6L$&Ibwmh1b7{87dTaBXNVOh9kh z&`_+cc|a#aim3}Kvv#K}l*2oiFz$93k$g#)92i^`nT6WlQvBDk50%+4j=f{zKvU_K zrwb(E+4nA6RKa1S&%7N9XwHk#(SE{;BmX!vl6z*OgoW%*olX7A;f$#3Wru2)jY)P# zgrJ}QZYP4Kap|g5cZpVE@EI2Hck88Q)#w~awrA(YwLvdMvtX}>lzkJS&e)I9+Kw%< z$}s;m?_C#KiKAT)@#@~Ax}O6@aebmeAurs^>#E|y@$zlNIz@@rR+-t!Ys3Y)vkwJ# zWRU}O4R!f9-XYDF&7sfnQhV9JL$)8H$|Q_TMPes7-KRdNDEBLTs_~1|zb1(G{$Stz z4rfOwvq6I`3C6apb<~2y&sQ-4xp?s@ojWfr@N+9Fwdg;M&HPcNf(&}p@d&D8K76;aec-A|rnI=7J zcXxqBjtn<^$!7=YVusK66H(th$N0L6>?Iy_c0A6QjvhmQ5rULQy`B-)k zzfxFzvRU}^N`15BbBp>jE>O}tsQJV^YlG+$P~da39LLuyYM!M$U6#KAEM@ zwww(Vr>Gaa!&`n2xCb=a4+xSe)8fd_3i!{cON8&&FP%NIvE8gOyT^ezAb8_1-)5q8 z`x&r#II-)I5e~4w4C!L+x*)Ne`3W;r&E1 z&yOYRnu{COq$G(l}1lQ+M8mdI8Mcqt%ey z^80CD0oJJrN)4=EYi}627+Sl&|7BIuBr$i*Rr}?{jl&i0&P!nZ@6hVFWt|F%5@S&)s6C!@_fP2e z{lZIUY-p4}YxOnyBBu($!;F4*GR$N}?0FAp@xlT1Ocuv;NQ4DKXa+OcWmG&oTz> zq9)j9=fvdyJxAf3dttyt{AfWAh2;1yp~z%lEu&Iz*v&nk80vJ#=JM%!mMIe;EwBUcD8yV3Fkl=MUWnOa4pt0x|r%+-BI7!Kxj; zg-Uz{73VSP*uHDCma$UQ`iN&21P4}0xqlHKlbWSF<5VNV+;n>$$%{*~6`R7JY1#;9 z?qZ-of|yapLqG;k46fqEphO&e@ZUq+Sk5&9_>e+W3tR8hRU`g^)DoTDfDIA>Wb-2ae}w6h{B_d+AI>pL{nMnl&|=nRgAMB zaSh*mivm1)?d`bn=^{ma)&5C6bZz1)>$<7%onzP)wE4jw3!)L#xZ|7x>0)y_?TjZm zS3q7AM%EH3Ry!ho)iyDP(vAB>7Nxm;n(FKnFK7PmSR*M64yK5AHnx!YQ zi(qsuuj1dlICv@4bKB;UgpX%g3`+K>qU8FHXztWodGFNSu~Vi(nYvGi5eY|~CIc^A zSr1Vt1;X0&R$ySq_x`)!pTW$>!(1eyzpLi!e=KG5jr>!8B5;wp0Nb4RlEyDG?4?8I z3~AyPYoVKWWR=~MAN^mkv+{U!wx7`Ad`>-!r_GK0&kMJg3NebDn=v#dBpX@7&UuNN z{5j?4R=-q~jU?Cogf%83&Vwv5Z|axS+j)~^>b>m7arXgCTU2r;q!pKy?_5-+9SAqqofvvnUP)I?EZZrT_a5>>9b- ziI6uMlQPV+L)|uqjtu%+TT$xmb}Y9&ClxMohR;PTU5PFkMAGA@2Jl!$vF$WST*Q|T zJC>%mZUOpIs9wTar+PdDFu@Gl-rshL=`0^TDFC%!rEQO8B%<5%^nENnzl(9E!n0#= z1zq8yCdQd+@f9U5x2Nrl^f_<@W z2`f*+wu(SMrwYBmYY<%EewH#bh&%ivSo3Frt*cxEw$yh>Ky+h9$79WoQv!R zjfxDw>QLMS|A5*bi*2k?F-V%1#of1zZCh=0=P;RySOjG^i1*=MQYRyhb5t&CAA@MY z;-!bUR=$H8>--DWqy1~U!IdS6i@SfJsiPyptDu+2NmE1z;C$c1+(<#orN);IGT;}^ zKjWw)4vOnar}rrMP#C8T!T1tWkSSvwmIe^uXKo>ElNOkiUmDSYNf%nvL`Kj%FTlUp0nJktTs|Y+gL+PYSwU=JT_6#rK)yD|?7+HQ zrKIqSP=z}@n($IsWcYVf1HX1%URgsDm0vutHP%+%{yCM_hOS2IRyO4JSF^2Mj}wuH zeG%ClB>M5y^@#2f(HFK4Q1G-b;Mt}9e+S0QH+}!b55lIOEeLF)O<8P<_5o-?gwP(Rs#%d#GBzCGz5gCCwsB^ zn0w~~P<%!n-yn0Oe-v;^yMsVtAKqgbcK<{+ub8W+ar?^UL@;7M^dLhd5quw84Dk{> z9W^gLH$8u^!AdO*yVbn>9nH*2p1q;bD31}jM{4=iul0@pxoH8q(CkJ4w)cq8fKb$0 za3{tGNL3u)FN#v{!0z$2!GA1n8MpXLf%&XJvq1w^Wo9KrPLhZ|@V6XF*RCftm?ovo zjSG=1pI!l#v1GrXKxXGyJp~r6$F>)C61J9YmblXf7Pn8;vaTq7ksi_Wd^)MhHtt+# z@1Ja(#hJg7pYK9A4X-R;Ot;&Lx zS*!i~Wyq(bpYX<}{pv(W=fjAOp3Ai?#b{D^JXVj#M{RQb!2g&vW?g7M$*siQQfgc)@R8oj^q1!E8JV-)`ba~eJOsc8yPlc zqUoKPKH499Qjf)dp$7Xb4l33FLYD)+^r&hB^F4$B_zq^CZL&8Sj4Ffu=j0)~rQr z)hMN@10SOJR;2&$H#a&bc##(hi*EJ3%0EXOSUs}nPN*7Yb}#3!Zei9P9ZanoIvm67 z8C{~ei4&JHZlg=3+tUpLQ2i6zIivFg4)05dU_KPXE@4fXAtR~dO!kge>g&_ZC$~Li zLuyvgQt)j>4Co!w;E!F-jifJ4s^b?OzpK?$cH*k2z=Pk0?A}z1B-9-;6{sCVZ3n>Z z`9ZV=X?0S;jG#PCx-5(y^y+@7i`t5o!{$Nmn!!m#0TP9JPoZ64Z5=>oEMK39WRGQD zDzWqtq}alS!UrZu5!Xi(6_n;yVM`^Z2DjE(QjK=J&!huJYX0MMhU&qLQTzob(zVJr zWFE9%J5K2_pKa*)x$~JUwHTJu|0Pj{qg2SkWV2*Da0VAzQIKaq_|iaVVl!J_zE zUiVHMZ%DGr#yx{V+LXzvyT%LAg*rTM6ASzK%pAV2Jc3H|9Q8R03Q}uS$g7Z4*w>@a zI>*Hpg19&ouj=Hw{%fvCvZkAb-KqQw?`XzBN~8Lg`cc~vQ!1F zQ~u`)A(%2Bi~~$6*h(dX_}0ccgEpjZ>%R-V8vgcC><1s4P?!|q4Z(x5?rjRYUE zZz6^9o6n82l-wYE;j4Phoj3g`AaiqQ=*kYiT~d!@zNzXWp@3qa4u`#a0X1uX3HT}e zgjg4lC^s!V2y9RQrRK3z4H@bw_S!#usqK$UbqD+D+5022vlNfJSV}DB~u-cKL{y zHyr98L|Uk}S=4i`8z%=D-8UxIb+^Fg7rZ|NqyJ1fO{NHY-;XA?=)bs0S2|RWETjEgAU^5 zQiT>SBl|9{hr;>~dSa2~xTDxC&z3JnfK}vS>Z4uxbM#F*upcHH9Crg-fF(!4tDRGE zx|bC0mcrY<1ge17+AouQL^Pl#ms2Le7%0!4pRPjH2>;ybQewX~9riZ!20WqDoyMbF zAYahC$N$7Ka%FZ`ySx)I5rYzZSajEpO%V+WjTV;)hQsrVePY(sLro z_$;%Sgdl&1l}qkbarp=5&YlFWIwR^)m)MICvq0w0%Z|wlBnGP~&w(KhB6N}fu%?j7 zJGz;OyxKnbD~fV~`AFhsWaEPxHQ~b@WLDZN{uGl(Aw=J>kW>{E$q$~QhcaK;?G=xp zn*MMFI#lB`L$SNIRE-`Fddec~a-Q2J&rUOl-3{E220I4^;~u-f zgW$(2C@?`TT_CUIL#6oJj)Vq;9m*VZJM9ra#H2Hyzkr@HBKvn&IIGs79Ke|KJ?*Oa zgXrKke9WF?6|g|D#&mj|-mJWEl~_Z0kYJWh!#BsoqZ=sYtMrn)?EZ}bn5p#>mv)cL zzV`hkh+4t@(e|tMCRv-kkTe<<)Sr61yyJ>9F3;P@wJcF9-#R^L?f?!^2-qC+ld~Wm zBX-X7hV%Gqi1Y~<#=V_N`b6e=Kxtega3+hR>E{7ws--RNMZ-@l^GKEM4YCS6uF6e!j{E*lNPnuB)Cr}819GS_>4i?mELYf_G?5E? zhcZ!BFeWeW^J!<+ZUe}=y_sdzhCcBPq6*mxtFwcbt}crjWc?f(LOWPujlTR}$$;OL zUBR~5ZiFk&fA$;QsN9O@ZdX8BX6yl5K~)iCyJBVKW-}cw84>+?_pc^u%mBHBMT!`) zg7Sf>@_=SP>6A$*&zlmVL%-BDkCx@o1n$VsAjkHk#S;IN6C~`S7ZN<6-vZH53mkrdv?#k-4$UDn3QAo#WsfEqMf3mYB6tk*!mmE-00bd3-9Ml< zr*&tiDkS0HnjxHr4jhH5b8S_8V9L!beVY5CL5{G0Y>#g+vz-)bK=sf!t?$t0)A3w= zp*tk^NOnzcC8%T{qLj>Y9)7RNkd z?{X@{JfQ@w-Kjf1u8FA?D|y@HWautSs_Y%hNJB2go_F#4z_uedk)z7NWw>QG2}yF{ zKP&8jB1y<;~8@s#jfSv|P(gETO};L@Yt*i3o0&*;!c~_PX{Z z?_efiqlGS^zDoxGT}~pYEB}UnP7AWD`#HqaA?~rGvQ1W~9Kqq^ZOCsIH>OrkX-w8{ z_SQMf)%;I*^PTl|q+?R$Qpu2wH=%e4$yy+HjCWPHkcx7x0OEZ*g8a*xx%hyavFAtq z=5ftz;N(e)M+F61H^o1YT03H!B8=sT7h6;FodQ*U>u_CQ_eyGN<7y>Kpz9S=98)Bi zlkBWFpWgsnd=uAz4y%N(gxl*{4J3Dsk&{yaRwy_xBQ*0Rx;NsP;gmjdS=h70H+cQ zX&X6})mU`tA`7C!-@-pu4{8$0zk!_SO7uU0<@tO(VduPUH)$b}`;s*cb_Z825HX-wnf=SK zr{L^)G9t)y>KP;Th)&o=ej_EJPr{?yC|!c5sp14)GeP$ccZKQ z#Qb<1qdvRC@asV7S7;#2p@OP;;Jj#$<#}fv;0oMn+vYMIg1fS6MY@&}PdzK}_)r;o z&?)IRyiwHNUTh~6LxqvU5O0G?(bMmhHtmZ3LUyFV8=B$)Aqm+3#++{;p%5SKKgY-8p6Vm5=**R<^SV|o1b95J~ha z&mloZB%VllD)IP}heM1D>&<`Y$0?vbr@89w=-$iZBzt!k6N5DBOdJp<18%Cx-?~_p zO=cUU(*s{1_v-!$q}}+EghC8ya$n!12xU82P^%QiS^GL2Zcw=f?Sn}e_jT^_VgKQQ z5_x2hPq2HXoJ)@tvPZ?$(pOp64ISaYj7}N&AMzje{w20`8UTngM9tJV`-j$qhBuW^ z#Iy$2xpt(%E3AI5RbrEdjhxuF>}HAvh0M&HnmUi7$0Q<%bKbG>c40NZqz*J<2#rrw`8Ed|tYS_vv8f|)MA z*6hcRQR5WKfmF(qv@)Xdh6@sayZ9U(so%w}NGLx}!1xL1Y5^&MvnPwb$jT44F>%Wd zX3qH^b^wuUec!O%lI@oX>ctsBwV!hO;ah;c8^A;;^BdY6jq{y7~=2h$** zwrsHO7b8!`5oe_H1)5e!rH6FSN+^j22qb~R-Oq{Xwm}H8@{JQtDeMkr@w=Q8Nh!{F zy!UL_4(y!bc1+)=e1Fzl2|gut=~WDZ5oZJ{f~ijK%tahrx}WZ}o3%)_3F47OSbWCX z1&sf7d`>Iwa9V!al+9(49v4W{;t~RJ%A@GDwm<&dwtVx= z6i-9mB@rrXofxx!;0_r7?hgl22c_^P^KGcCEj^%`Viby9ESvbBOP?f`+bheMbh~EW z*CXO{{f2h7(C$LKKFCaPQwQss$#i1{WIu|yd#5u|9ph=GSv_@Aedb7R%xXVfZdy={ zu#mRg_?teEh?A~4iEq)7I$x&L!PIpzRdVXFbz*S-0eD!3P&e34HxGEn)Gp*r+cQ4X zG^(h?qI*CWciH$_m6cC{FvndJM|&ncp;L+l){~D*%Bzd#dORfLqknT1_VGD0a(1~v zSZ@$l-8Er;*|99AQ{Ilbhv$&T#r_=egYDF}Hn8Gp2*I>zfP$5&silhFx8o*$-pmtT z(3FsMPz1M4rY#*`4l)Zzls)&u{Er5{(9yJeG~-vce5oubs#g1^?Vg^T&d|8W-ELb~ zig*?iK?hx_Y^R%zmG#jpLWW-0M456dA3g;=p#HsG|J`nWX36pg-C}9vjdqP}Xx{aU zXGaEVc$BdGsZ$Ac;jnJzfQWj0SUy=z9g#ueN$ zAGM`y2``VqN|6ASEA+l%X)g)_CF*Ae`2#4-l`^z61edb;b4IA*GTX8P0XReWZZf$V zZzaCI>NvNbVA@-{0oiDjIi2_q1(}R`LZ2?g%fK5R;`d{&$9V=^b2zFDSZus6heBi) zW+}(pe2{q@X>^wNqwmjuB5VVcl=gOoPh(IL{srDUAtZp1WHXrI|cy3RHbz~Y_MeTp<-V$+D;dX75yDDOgo)uOAfyhC}8 z6`RWQobbSjomBi>)58=><5`-PTfpaODRt2ftyJ#UWz;B#JloQjE|)?{{nJ;vUeNpWI}mGYLkb@qkyVjX{*dFJivd+e|?z97y4$ z!i7$;$>AZoJXwXn2#eqTdJ@e~aJ^Q7Jt>eVk_JXtpyIWOUqQabbaBbv9Qvv1#+kw@ zQa);YI&6@5)MNR~O>rTWXC$}h1{FVi_>E=Sqv?4ca7+qZNf4JddVSyM$Vu7fn}XjL zm)nBDw2T^TeTCIqOIrVnYtdz1^FGfo_G8T^-+rr08TUszmoCe&9~>2fyfkm9~!h58ss(kF8rr z96#~(@yX4iJZE>>KLPZQ$sP=g@xvRof)CV;ree-h=IR?1-2;1t>Nv(H?~r;#O5y17 zOi1%<#pBVsks>PNv)vKt@&Td4zF6H4LPHY=$D=d2O^A$lJPkgXpi#n2pF{&8#sF&_ zL#7?C4X+YG+%BhOqPT50Uy~hRDT*l_6*0j6akOiDK4MbR2ib)rT_yjk#CtXFJI0M8 zeW!bsIkrd}Fk<8B9j5?aV>9&*rcX@7q(m#)#f$z>FF_@6>u3Hyc@Sb;dvy!|Ba>BA z8JB?ur;<9+p%-|t@JIEN1VG;Bm?l=E(?@;BRQto?!Lt6eu|Q(!7fIwP-Q%wSe`aHQ3HUk0EFOmZY1&D{zh)G< zg(1$I(|Brb{1lUjY)<9LpE*AstiqqC+jMsnC#;UtZnZKdU=^r-}A_qfTaOSCOsK=r+}pCC}ZAY0Mc*1xkG+c$s~3iH-HlPelE6 zUyYzV(Gn8=wpW?TCUuuyR>wz~mu)Izt_${)eZQc2ObCbbO-=Fi6YsG4gsH6mK~jyV z4DKt;hc60u=&cAU52_au=uXR%Q?DT=4CJwx|_^GVb@75NE z1UVocU9;^~D(7a8WH3}MQD3XT1e>L3CRZ#&K_O`mF|jw_arGLdD3Qa_8<{VTI0%zT zvxM~Mej-IGIYzsQXSf)7lJbNnIqdl&m-qnX9Z>FP=}zErS5M6^^Xjy&E|?i_0`RLj zj^HhD?vs}>Iz%om!2tf6OREYzs}E=2XG)>9Vx_QD*r76yUp&EKbCTXJ4X$V!M&+@} z&!>Oe8LRNs09`udj*KhJA6;kb9Z>Ip;a4W%YKGz(au(VDc636VjhlfMK9q%3#mx{{ zidV>Vex!**G62?Syo2f8uPBzsg(;FD`u{Fi8<8&0Ho7?e6X}xq-s2O@AqRNiU;3W$ z!lP=trAG6A5ccEFd$zJsoRewSy_(R}JGy?&+#JiI^2XHG;8;8JXIp(6krUJetmrDMYgZVYU8MhfS2pU}5E zS?2)#HUGMDWNk>o+dJH;buaT1t!jar~qsrD7KEg7T1_DlCSD_I0$ErTkEdI@_*EHaf)&` z-aP+Pr(Gkf)VrI$eu8V$o||WRB6d2CchpCl@BNBE7FGk`FnRdNjUHk^=XJ8v^6Xfo zDD?e^`c6)?${p&nBSj+ZgNe5bgR*0JFtb^{^o9pNPklh+#yK!0_b(lRDvnT(^&L=y zfyOfcY0pm3W&}xGj?+%;jv!8a3ga5c?3ipEpRpD&zk&nKoDJutOzab%pNRUIRuK-X zVXPG6)Wmrl1C^Vq^VHu=L=GRkBYUyA;Fa?B_ywc;Y|7=@cWLWcXX zKjifz{^f;nN<5U~MqmQG_7w-z%LE5KF6bmp;~*X6ZX6T`+znHaI(CQD z0HB&j-i}^{@wAuZuzq`WAoIR4zQ2{xK3Z_a(Y`krmgo)*)of}Trmy2Vh`)cG%}ZDp zvZ(KMTD&&|vz@gA{K478if!jUdBtc zYB!g*pSW74qV52T*3vh?;JX<*tN4PWi!4a%&l1M_{0SYf)t>WN?kT}%Z=w*IQFb~s z`A*aF1p*=i-hoM`_@15&`!b_WOFnG!SEm|Y1~20ft?x5CDwJ~OVPs^HddZQ6M{ZeBEwE8&o9bS_VOE=3B!2;WX z{t0S1IV%*1-6p5X37h5yf3URTva|L4hBl#DG0<~456okVAG7w6s+g8Zqb0j65@vT} zo}+uedJVo~JBk9xQu$kDzU*Zd1iz`cSNH1?@a7K|$X7q3G zlA3GYo+|i1K46^Nx{Xf$4|ICOQHRCuZ*Z-2JMSW!yK0>vCu!Qw(MA@R?Y~t789)sQ zHR=!lBjBmDaJ5mzZkC?!nEFyj1WO>2u3+(pNHzHChGz~pd&|KO}f zd&rH_{qDu>F%HB#vVOQlngWGofZAyEBY{lL0GO`X^uJK8n^r}Jo;Umr1e@YmAy`J!Tya+*hWLpfDpN@<@*pUN>yc& zNHpzl^w?x=*dkN8y~po)INESMmrmdxH~68>sK~ z^}G~Q-+qf_iLJ7Go1yHrO!$Qr>oIq&gkR)%t5bp}w$71s*x)=@CIUWB++G27*wD3p zjR67Sj$V?nlJCJXZlRY=Eb__4ZDLTM@&<}c9K3IF9L3V%W};dGI!*&pqTbeY)eBR6 zC&FQ|)R&PPMPeEQ0M7L}1$NZc2U71y8Y?bcH`oMh#^yq(w52rFsk6(pi;v$Ry11rf zCQ%b&^fGwUQmS~9m9UiB?IXk&A|LT(p`pNmufO57#C`4Gtt5b!<37{HWaMvs9zW1~ znK+REyHRewPcqJ9X;jPaAWFl$T=#6`n840|0x@l~MHQ0ZlSTb5DEP#_QE~0g_P5}~ z*q$IMxKE7UcVNxhAg)m0^4q-kR__z9?4b|rqG664c`v7jEhG7=cX7@s7ZW^9(VaZ-GDmU#Sw||4_rZp8x9xIq_dgg+K@-KXU9-WVE8At-}4VPnG%lO{UMaa^@*fX zP`$Gi-;$ZLgEr!%(_>Fonwce}Nr>;r(Ip2<$2s3-jtT|$_EM}x{>2p8-(lT7Un;mxmq;J;!uiL=a5R|Bo0QTs75Ek z|Bg1({Y*uGyUt>r5=3W^EL-U!-lQgh^Y+)c2O>=PbR(d1a{hWcOt*T zPZ&>Y2Y+X)W@g^i#0Z()F0&zn#GJoM0^(^sZd8!$#Weji%WO8Pm(!QxkRt_dLKvA{ z>3NKqd&U6Icbf>>OihfCHV&@vplbZarJpNC-n5IpjGy2&1*HlrpL3BAe^2JjQjO%j zNsXv|dQ~#}p9E(GQTypp9%n-UT0o`0vQLhtiMuB5<=iC!{q2IL^3% zE31^Kj88mi^o#tr6_yBq5}%dM--$5jW<0l_0FRyvI$-cJT0la@Y>3_8waPjV(Iohn zZ)9WdE`fWx;vaLztBb|rOm_V;W$$SEJG;Rq>oUx_Zm0>;4a0eDrJNhG^hH(}=J>>U|nsh@mQMbt3E`?lUAz{&arC{X;3MyaC_F|Y#TT-$k(!x#Gvv@2~7 zslaEjS>!vA)+z0qm^#~R$+{mR3iR)_VAkn%xoBs8NlVVua^=Q&d9+@lomDg7`iZ8t zXq2?^=`C|lS#;AOuy$WV)ZUoOG1;vRoY@7};uRWK8TD`I=G*gcChbqlSmpdD0@;c{ zL9@$#1xUZv0#xx$hwH?}yR#f*2DvgOqo~KNYYHL$HWsIludPqyTjwqxT+Vk~Z9*7l=)WC`QhXe%8IFN_-ArdG&h0u`#g$dW ziBWB@w;$;v#0s(8w5i#B#ML*DKR*Gr5&;S(GH|C+_7iQRo1zz*jae^03V2ty;>ucz zPXtJ$%UH)BLT1=C{|>0(2KUshDA&`~ZFzY>kTAd2jRRi?EMxqC@wCoP&4k>tAW$?E zAv6AoSYkzADZfiFji?=G_&LW-Y52ngE=NPZc6W^9C&VVCy{EnTK3WnWxobn=ChpJ( zW(XgCRK9|`le|wtXz1?&($l1#xHTGR)Z)UG<7j4fyQrAdcAE*>kS);Ka7mvGq-T1% zF#RaS&10f4-*s_cjy)WNAsly0CjaJCqB__9LeX1-Lu+CyapI53`vZ89+sj7@gEV0u zAmmF9a$`8nguI^w-3jc_zJ#n4N&^h+P%)XQS(6bTK2AFp3JD@E&yi#DjXxehU$ErM zVc>9XtLoEPAsn5U_!Ck8{K)VWR;xh){&oop#XWN5>lWpSx0s~WwfC7E(-7XabqaPfy9Zh~eC1hLSWzO^Sf@)@h=9?8ju{F+YUv{d z6)}!ic}3Djt-DB>JJ^XlIT`G#{V!LdPJ-gFZp`kZhSU|i{HFzDqaJ4~%G-w3(ZYW{ zw#o5EM9_SG%adRHXP;=?)XWU>e)5;UU1Emt2%>*Ol#eA4PQ0$QnV8A8<1I=2ak%+d z4R|=mlGkP-v+v(Y9MPG0c;;dikAoI?c*pJx+9&1*Iehg(^Y75Q*zS6AIG5pvSA)W8 z)Wf*=Io)8b2KfZhJTE#Zi?>q$;O)%NibDsKVVs1?pb`;G8_&`{VwJue5S=zZ3X1 zoA)JLJ&t1nSk)wwylb`reKVl_-ysRip=D2XzP$j28caQthM%zdVNwo9_`~67>5yC3 zF%8S5erQ;+IONDbp6*u&XwShYN4c@LJ%878`4DSTL=ER0#C#$VrIW3tNLhmI+Bk@GhtQ(8B+#JtF$KvC!A z!PjA%Qcd#lfPNouy?&^nTv3FtP1APITD~KBo%Shh1K6(7j2d3)u2(K-v3KHD@{OZ# z81es4ZAQHHhfgmxx1E#){kDTskjmx`ERQnBPmH}+5GhkbAE&1QR-9p|g^$@EBB>jz zA>&)(;Os~ddUj~6V~PhG@>Bg=G4+F_^bHTo^RUzaeTbL=2b4+L9?-vAR~86`{`X_F zJn2TPcoZ7D>?fo))yU-TjhU)Vio{ksEO(<&Z!XyP5OFO31e|qe`kU6<%My;gxjwu@ zDgE&<76;yIa(!YqWD`OvoRnnpw;CjxGqXrMMmT0Hb|eGJ0xkF`ONgXpZm}@ImPEnl zxp9{l#*lN!Oha%X7}6(^x*2>9{2_HzTt2yD_$WsZFNfpRWVnvIfsKmZT>yV#Yc+s~ znADO++&S2gdZY!9s!8Xb_RNI}<4gmTcoH}m;bSfb*iX7&$UCC8q29&A-04G&m50lY zP%7Tx3f*foSO(;f5KSprTn9fbtbWK1!_0JgpSaphA|j?lxlGN9y~Pl++|OIC zZ5kl1Zcv_OA}}tQ1Gy_7wg5-ouU|u}BFXGXb?v>0gBh)l>qn&qSFvxn2?6h)Ocuz^&}m+cQ0L;Uv6Burv~I{ulSV*x#D zhUgkUN8gyOjl1AZO*DW_9%kgf1{ush5%&5?WK705lgv*7xc#h{+We3~ppBj54;Qm@ zQu=lvulmbtF~Z58hGgl-&$-9cYo^lCg~oeN2>7nHFNkw4^oUJmchZn?G(hmFF+&ANF;7T|4MF%wLe3+59W`bh^ z;_*a?YkNY_E;q@93_O68qul)OLT9%VtL~}bc}}%nk)F~zo)2^Nh|tVdA-w)OnpPo+ zbeWMs8Cezl94(_qwl>pvFxlw3&F^a>q1cc!$$xTw*Y6aLwHR z^N&k0uA!Q3y}1EF2S;KBG&jZ4_B(x~AC*B|0%h>P+b$^Gf3IjV@z0pqv$c=g=Em9m z#Mo%-yV#d}zHV|O$a|d(TdTCH>>p6ZPH1ar7`vgsp;R0$a`vY_>P_r>0&1mzc$myz z+*KX`-{qz~ew<*H`1ZTbc*7kSz z=92n9*{ZdmMd`L3g~#ntouG|u)lrb@uv_vSQ6I^Pj|l|JOm34j+D$G)x|^Hv&oVdI zwVH1O#OWdXztJ(+PDmpZ-$DI^)AD)k0P%hG`xDEE=!c@)KJW4Z;K~wTUj%jbKT1(@ z(U;LQJkT?U$MNHfNXilj%2Kt8%r$zxOL`7yj_>yr>nFgDFuG}(akfV;UjZRy#}-OQ z+9oQ&bA+&#-`AIfpDM70UF2O}fH)H%5{X>I@3FyMui;O~6OFyEhy2yW4tzuk{3OVDL?6+68^>^hB4bLR} z-;wkWOw0w0SPSqps}X79j`i$ht4r=l@f6B6h6P*I?#o@i(Aa_$wl$C+AB^tu?Qlmv zL^&fxMRjs^H;11HTjeb#CKK}NN|tf1v1l8MoO9Lj+{$&m&ox%fXW+$A~us*2rh3W~=~H8;v&1^Va< z?Vq69rNY65t9Y8mNEMw#-o=G7m~vgd#yKEU#Lv%PHIu?=HPdlVP*&5S z{gZ1|oaFq-)W?wrm}@}MjXF4ffS-8erg5v^zt1~?@=IP!VDay6>(^`!7j@o$iN=L$ZvS zAj%kpja*aV;~&K@!LHwi0J!h$rp&hehSt8e^Dej7xhjo|jTx*_2RPHKQBH1lv2}O{ z`EsZNFs@t-O3D_#d@5PCh_=3{R7*@Q8zbt(MQt8zv?E-BqoCMzUHDG5NLtqXt(b$a zhK>Eh8e{pDW9sp=>jUm3QyceL;0{<^OFn~1KMleHt96-`0Herta3KaGI5v+#_#yqG z{YQu838lHPehv= zmY)0myp4uc+8E{nwO2=4??R~V6PjZ~s1dydGef6mV-T48v%3*0SDLF%21OB}C5d-@ z9SJTfru=?vk*ba0q~OQhj-J<;H&@=5!@UmVZh?s1s z9NKt*AF`!4hrCXXG4~;F1ic6C2&~n_h@&XsJ2$#n$)!`6sq^@7}!3qfRdZ^x!c8TjOAZ zT(@W6CMPy~2Xnl*z0}_dvkiyJF2}uERs5$0nMiB zK~tVPZe@dLqb#udPt(?WR4!m-Pul|4i+5s^7tT5?jb|1gw|br^nm_TJEglV1iX<|O zznCN{6p5#)S|nvr74sfEeCO$&z=%w~ zSGS4p9j!diERqOU# ziy8r=P-2;sYUqp(p#KW_C%#tSW$`qbIS;&&fZ!;zntvLO9OkP-aSoK;96>0!R>8iI z>~K>a(5(K`UZM2TE{mjz*X1O8tVy8>EOM&F{hUylltRgu_#C|HksK&Z`+TRM!|b@J zpSW5U-;~9H_dVTJ!gkf?s~MGx!;IAm-Z#~4Seb)6D&Ry7*F_i#a*3CTUc3Wp0KP2B zCh27;E~VRdqgVG>ubG!tWbfHI=n%;$8$@A)`}zRD0T&Mh!S;@$o$Y(oSnF%&4sLcC zbe>jf3&njs<`@(?7|mRcZupa8&rTQ}G)DEp6cbH=28d%@gmO}itD&h0A3rg+Iy2vV zO=&9`@g`xlz0Mv9^5k{dor3vYbtz(Qq09OQiNv_NTIBW#Kw(kE{SNT1MRiYDSjfA2 z%7GP_zm`8nii23X>uR2Nt{NPfSk^&hcO^4>C?vDX3_#yemHw=d@dXxOS{n&u{OkaWXDLINpS2@Twn9#R7m=bN&bWg<9AKMnzdut?d>c&y$7LD2W{$8N;| zPCG()>onnrf07xs=B9UXY1TL)|C6vt_<#5B<{e&7QYy)j^79HK9kK~`tdy36vr2e1 zB^k~SiyA{{p|K14-={1f$bKl1Pe|=<5mj@&W>w}myeCV7F<*r|Vmi$`ZF$-zz%1&o zF5~@o2t$zudgh*sAOC)hZS<4jX~uU1ymtIXGRB!)`!Y$)?x6yXZW1!Vmdh%H6Hcm` zBNb>N-iEycYTUjoo~AmqCmAI)I8OI|qewurbl6R1VORUmsb2T^bFdz8<=8LlKO;}C zb_@T6(~`Pan#d*|WkSZDSe9;9#ZXxvsxq#}@JcLA^d_vWgw2mgRN7h>q-{So1y^*B zcbk)LRm9A(=tJBo!UCeVzrj1DgX1#jX{7Fbu~NFg@i`}N6V~_+(mDj(?Y$?|Sg#k* zp}&4<(oZz~d1Yx_rNypxB#T&R4e7AV*2EzYI~ep_-3|%Kj!7j&VxbdHGdhfGVlcj= zYD1ss@=#>o*dRQqDpm28oH~Q|q!}m{Igrc;LRTa3J`(qtm_ zP)0wen>NiRBmCdVjPV^y+rVTPndtHLm=l*%Hf$r7uEQ9JirG!)5QmS6!~itPtBrZ=GQ9*`xw{SU}Hi&!$)R+?iX-{QHSe~xi!a%zPlaOKhVHX z7@oc={*e~C>)Cxm^G|fmYBAqTOaL6_*Trh7%(&C&f^bW*At0aMyc#+fRl1@&Z6}MM zCv~1Yb4R_u!)k@NIGHPCH|q?eJ2<&1?5t-7K0fS}8Z1K80WBS4_PQhmncG)Y#M}oaiT0F&((;8U7cr1a6zfhWZh|hac|f!FW?MitHUp?U7K1 z(>IT)Y64zp=*EIvf-M!}MPCkcsG#3$6|}KfSu7)HGVWvTcQ7qyi;RKJd2Gfc2}`lM6R8? zuTgcnXa6a5_+|xy_|G~Cfk*DfNZgE$;#ZSt!;jzb6Ii?5AZ5Nzc!8yBW&{)iLqd(x z7t`Hm<06aKY(jx?B9mED#Va@*recxo_%HO*1Y#zo^kMX>_}ccxU;wwE^5fr~C*0g2 zox;s zF>!XVD)+9_2;Wha{_ZqI!M$y@(i`)eNajv`K>lzu534^hg3rlh0#@qcjOg{X!$+^- z_@!j_p!$;{ck>>z%K+i|`t(2d5CuiGnfxmwr~y~mS^M|!qRN`vQK{%#yZH|1=<#S2 zj>fgIpBX+!VLI^r1zfe;IVp=j_GB8QY_sAG;8~rgo<*YRqlY#TxK~IGpO!_?ETZqY zF+gNmI@TGr$KUBdgFp057Kdou;wi>0;!W{6PqW?wy{Kpx8=Ca|4X)*I5j24#PV#dJ zOX55M#WWIk@jy751|a@JUjoC%6Q$%Zdv3Y@dIm<3kWvF#2p1h_ot)2CeR$JzC$GGm37!r^DqpXGj6-gA`9p1{-^ zGAJ9%tp%|CK4chWVR2cT!ZK(vDb|9vx=Sp+18S<>8Hy&`rD>-EXL4yw-TPj-v|t#0 zs1zrjcTka3a${UbJ;l)fhX{J(X#7Oe61o_g1=QMB9LSL+Czi_Dr+i9JEMQ&uAih{e zVpDI0C~v&vzPlx%S7Ca_5J5Bt~Tz7`sr30UzbM^@=oK(zPdY#P}{aoEi9W?Q~4=uotz@A5veV3~-$0#4D(EOez~amrqtWiCNwC@1EMwnA6`k!EHU#^R34}-7pMr%wz+UZ^ zdt{O)dkm%&v>Q|ArrI?njwbhGMa03N;B;KmZA#~){5YQ&*}NlSgVblKqGqm);U)vY z1Hqc9l2(Osx&ZYq=cPegqpzPT!$Xka>9@d7q{WnrDx*t1ar_D;&Vhpyw1c=&9}Bp=|9$Rq2J#ov3UKl1c289k|KFIp(Ju z?BPIa>#*245^P6@em-~gSAVH+_WopUA3)3ui@T-@3B4gnb=_x#(RYzY&DGcB_dM~M z8$H(274xdj0YPa&b*G7`1G5vCyvd4h*H3^=hb)VjndCElSvwaA8UJl3_vkp;0+`I5 zo%S9d1G&`b54-Hmd^U)5!e`?`O#Kz!^OI{5c4bUiCfBk!;213UeYPXx6iI0_VPDJrb}IRasnu}MGLhtVrhzIG_c~WqyqEFR3g}`Nx-85CqaGN56qKeMTJpFoulu2H8eK@Xwc)TVhqcPNB+WFDAF>iZ@-_U!kNTAgOV$@TA6fMx$e-{Ia zr9YZ`hywq30!hK;p`&!Z01O~)^NfcN0>>Aw8lqh5Y|d0RQKY~#Xq|@GRoP^<7KO_F zeRzO*)e5Oas4ULsHP+(CxwyWpL|a{yki)&rVrZ+}4TmB=v*H1cXQu5Yx$j__VUMPs z8sEAbJStlU;Po-I)OyFNYO03l`_E*O_&L4yo(HhGNk&=-5EHR|ht+4Purf)D@i`CL zu_Ww_#+*SBPSbBlPx&yfKxtNuOm||ZT}>}De(vH!;h%WgJCjdl(j?ew6EN>%h5}{l znY5|Hlncr;*bpJYdS+r;4RxvZvi=G^_gETZHH)Ch8fZ2))*yVn&dCmpX(F4`r@hcD zWkvYL)QdCaLi{Uz*c)d8nU$J*d%V6~R(zW`0aael|yThEV|^iGg_ zwWSX5@Vz)AlXiBJlS`7Jst)=pN*u+0QWY{_)<9>-@rC-j!)h-QVrFI%cz9iM;JW*~ z$jpj88y2Lf4Sh-uNMUto*q*#88^TG__B4x%^%YCMLT-BIB>>VRwHXD7m4Ko>`0zRl zFY$a1QM_DHf0zjtU(aGg%_F1gvVIYc?_gRMy4jgH*GBGg^+DhU@vH5oriXS5GRRjO zacH@7&8D}1tWVIr_o@Nqxq3c7|CG)urV{@ku_?mFI?f_#qR+Vc;wF+dhzb|U!GL;k zgUM2=#Ae3WTqnIuO1N9nu^1IRCSubr`zNs0VxCIiu&j;yB(A?t-7|vH)`H4hySnN6 zpXSYz1I0=+Zituyf9l^6b>sqcOHH3Y!9OoVK`O+P&{0FpaKtq1Mt zxN)jV&r}{y6p{7p2MS|!#K%Ud%|7NiH>k0?QUqP6kHjUQX<`XymQQ9+XHwD{te1Bb zotFj+6YKDa(+pZ;8JnEArn$1l06DWs>hA{`ktG|kh`DuI#{BZ&iMh4?Pb~c_SE^2z z%X0o@$%fYaBo65@L^4Z*`K^Lm29T45f=o+H=jL4JtjJs{a%pJDvMmDaD1>Q-Tt7Kf5HJHB3x(6Amh$SfTGYurFc@w#($99wy8 zJhHGjL@fg#0k3g6_fKUXh0@S2WxWyF=-pM9L1A(j|MLWVrN^Fh4K~21qAHgO_Zt82 zb_`T_Wwhq*;gGr(|NDNTt1UXxwFGb6$SHyB-+XlR2km{aO?N@x#-XId5AL=?%Sm_hO{#b$EvNE&6Kh+nxL z)0dTmEHHdsJUx1vp=uzOLp8com0h8;&{h;!415sjovZ%%(9IyAqlKgG3kD`b;R(71 z?698WNKy$!dTyOTw_&Wc!_pkLF-IrYG%Lshs~*63&E_JlN73`8JfzUpeyEkTk>)oE z=ESOQ_HQe~Ep@5_NMtuu#i);0JB_rNsXRXt@hq20f5)@+tf+L&HpX`C2$cy?wU2Ba zr`Y^!NY)5ln%Fi6d-r))oNEZj?UO_l>G+a9yTfVk4ss><-pGbFXgg4B9XDD=yZup8 zQbCRXr|kg5+20I&d&Uc0p2Fi6D=_B3JDlb_P@q;q$Iq*QHqs5&GD+xsNy=bMHZm|Y z7jUYYcG^@G@wC-EQn+Sp9rY7X`{>27%y1`Wv;*|g_+fD|bTvW1f_yy2!$j-!a5mrV z@eps`@lsf@8lX^bAH|nXVZXwErj`e`@A^9W5u38H;a{d@lPv6<9eSY5wYrcw9-ze) zW60U-@|BqQ&%FnfC1e7~%6XMlUO9ek!S|}hf{XuQvu;*~nv)qi|95fRu_l-{SAK`o z)N~7^N~RdQaf#9?g@Z>c2M}1_$)sa)zr_Z1>83F{*fa}9EfV74_>x+x<_Qe^7qZ;Y8WAu_F zs+Z#AU>eQYWD3mZVOQ*Nqr8S?OL-RAPRb#d%l(nm4YPM%9 zQphHD*syKdjobB(rol-I{7Dc9kr_~L41i`p&pn*Ic@cf`h8AS&*SKQb`S6AlIY_u^nhb-pF=?C`45@(7gbniyOKP4Kx=x%@tz@i#Q&A@U5I|QzwIA`1 zUF4>bggGTfDRMFJcrJF8=+#=O%2>%6$@pF@CNF*L;&p#YVkn^Jo4Z$%>m;bbwl2Pv zshx-X9jW;#Wl8jiL!UlXLOpe1FY^p=;`mf;`c5-!kHpW+>q}bf4z8!Cdrq?31T6tB zC@$^z2gS^5;Br&I&0~j6a+)lbCH!pOeJ7mA-|L@XuKu+tcOO1GOq{K1Cy5@C-IpnQ zB^dUuPs`pizIYR^0>Bs9V`Si4M$TQpO&@Ff4J~Poi@V<6-Mk?~)g&(VG*yE&p$0BAUx*Hg{#00JV0wv^)&w5?eBpk$Z4 z;65n>CI0$jvqa61jgtO3)R|Q38XWZm%rFF8;uqVyL)(#a`WIs(f@v9hzcaR+E(ZA_ zYHT#TM<$~FTYXFp;pRea*}>2taCgL&`@4$sjT+_QI!!o+MB=;lX4&#S-l=0q%KnWZ z0cA0nZXa^r94NcOV9_=-l+$M8aTCj|0%7)!M{54^*HT1%NU|$y3(eya6GFe|)%_T< zEDif&2_Bm%*8G)whhaFc%43=A0ppSLPd+GkHGZ|NIW`w4lSs|lBaUOe;ehj$$nlVm z#Q}ao01nwM`8gZlFn%{ssZYVp%IMRiNs;t1EtE;xHP^dNEDu~f7Zp#R56YEfKpv_b zp>6$6y}d7{264z;E&cn!e0F^nfsX6D6D(uVTe_KYE z%I5r&O{ReQ%Tvn6)7(Unki7+J=t!|RBA5G9ld+j=`6wyLGqAajcKTufD3qfgCF*Pzc2O%m z1D1sHZd8tgshB~RICMJ$hV0G=H}Vf{${`+j=-ztVqS$e`3+6kXe!q%Vpu)bK^UXOHUZ17(60EL6~R!!i$yP+edu4mXa2{we;QvTrV9Aom+!E1GV$Bxh&V&|jqv zZca?`Y%q_s>|Bbx=616|<&$-{5iUv-+5J1wJTTiVkLrkDw?DOeT!P&B@I{W~5}n5c z{@Xd7gR>yV%Xoj|ax93KjRj^sp*uh2SAjG0|DtK<8=@q{hUai-HyV#+NFZeJBD?u9 zmR;@37*OI&=Z4J6-1fax32>XY$2*!nvK32G8>?}^ajhJ>cS!FoqZrCuVJ4)(_-!eZ zpu?H%F~zkV3G}lVA&!<7%Ux}6ap5@L>((ZTTE;6@;Zx(Pd*-!D+$f+=9Nj99^k`AW zZv0~489Do@^`t0_X4NCeef~z+GUZK>yk;@WbjZ-e5nBbP)rnm$2g}WT4wxlQlYq8u zxBcXK>qUH|0)R5 zeUM5NQ|X6_k{kAlm$`TgB)1RMz~pd#LHzzMdtMk9xEO6@vuWsFQHwQ)n^!n}Tv9YH z;g=nKC0c?H#`cO@a|}7+q-j<3iT=w_yVQ2N`VN_XprUoo^tWBQN#E zClyEIY<`uQiE_TFGkVw)2WcIeF~R6n2D%qml{p*(<2 z%JOg$_G$RUcfgqNnN)*ISxklY9YkMBd>C~Zf`df-=7Hy&4tZZUtx5Qs8a7Ddw+>_qj=%ErK}~( zI&LGW3VYd@7eI@T1k<@I~|r%?Lme=y&c6tGz#Z)ICXsf{1xmCSDt_Y|W^S77gc z?;ufexPrb+kw)k6j-}7qZ(1a!`8>ed5%EbcwH$4`_h*?Vi7B=vhr5_U3E&W3kAOE* zZuL|HTXHDZ$LaneN8JIoFYma)f1F|$-Z^D}ZiA#hiPueY9cAwh7tI@s6ITq1M=3Di zBc7(cbN!XOP&{XUdAYIHec+Lb20soCBPT3RnSv5m@?ZB4DO^`>`m2RJzB?IiXD_#Y zipnUa-ZdShZA5pSzbGl7>$2%XB+N?nICQds!P@U3vn^AGJx|!t&}3Y6fYWkPE%WxpYA-dp~A9>{Y|Y-Ptgw8ocuviJtHHwzbE1 z=Wn`oTX%DB9M0I{US1wE1F8e>_cRw zoSQsU=^~Ni!SJ7yIJS>T;62)G0o-gEfM1i)N7kMz4)g#O@aC5XR;6$8nBLoolqB!H zowiek4d-HJCQJp{ecJ%)C$N^b&%4$J-{ulG6d#*g68+s`0!EZ9>d=hPb+AiuHA1Cs zL=(n{drP9e{VL%qsJ?a+De}Bm0!Hqo%b0KnxiCjDj7h@r&+%oFEvS}lN#D}Qw!(x0 z|M*-~0I0e83Jzi9#>2pT3+*<9zGcn!Sg2u5~Skg;bjsy_2c(w2frJv_W z+h_cud(&WV9Z4DHEqUtsoNg$=ZVo@FeMOr#rabWz8NHLQ$p+uTZFewjR3dU@ zbfgTYCU|j?!=@LC=j}w8>Of+PCgjSuf2uF1MIhh#I-%9#gcp5HBUQY^>vx>kkrXDr z+ywQstS*&KS7}xq!eY3S8ToS?voFeSs4ma#6csdy1yt<;LNed>B{V&)U zAl|5J4H9^0_c*8w@jtDTsxg%R#RomRy5{{$AXGs$9$A4KNve%6%3KvdkgX=#n#ou8 z7Lc5!6MlNeB8rI-ABL5eS)b(d3r8B;uG=484;1S&I#9XyGg~Fvn2u0 z^EAO6VR)J8z&og|pK!7_a*2bklKA5DWe`?c%B9aocpMJzjdqPF=n^91jQU&JYof@z6$!lqQ>6#k z@Dt$P&$d!`93(g5Vid?0!8tz?_nlfYFnW$P)r31rtD*nL3TIthYB2uiI?dyL;%ZmQ zb*J$CwKgq)DqJE_^~p=@E&d8z^@e!(MoCf3TCTFpuhl(%b{SxOx+*BJh7GPzCYdkz zBq?Ec;pRJ7LobF_Ds&5mKPq%z)_tDrO-JEd5q|tfb9o1IwP48MtZ~iWD$W_YNo@@u zSE`d05F0(cVc>v75*)q$ifF<3)(^>^eTbDSj<(&Z>s@?bZ@pqRUQsSRsM3>j&VAv! zbALjjuhVPgoSzetS^DlTskIfI{V43qmr~JL`oOE+tVt-b_HU<4{(P&~snkW2X+jZm z-%5^1;oHk8jZ=P2Zm1^$1b$1dudtd=PZfKTcFWZcaROS#x)&rFCwP3E7xRr-@SLTe z8$v|xqYH2{4#R5qgMP=f_n0CbvPYP-PtvUwZ#f2(vCHfr+p&1J$6)9(=EO%@{oV95HWSujcD1zgy_V(M&t8GFopKd{ z^4yNu_Y+bvAOAouW7ZLmWHlmWLSih!D=waj^>*9~4XS;rkvrYX{tugW3>x|~K7V3s z6ZtCsBzVZ#Dv!>@Y7vPv4~T(M`HtrD9Z>Dxo07MLj*Y*R zkdXELH_*V z%i&As6@cvgn_^W=prTj7bKk155PTzMxxq#1uwkv8(0OJ-YV z{^uL)7u=?~2?@Z!S%P%0u5pV3%`#?KMO67mBTzCjPt|k@2&^-$$M_{Bp%{7=+DO$$ zeZ`Qp2HwW*JY$u7`UGV?<^rYy!F3~_ZBkyX)PgI5dlmF7OYJzr$tLHb7xGZVvk31y(#-%11Z)C$>gdtlM38yT1$Y zQ8X@GP=Zl}89xdynx`#1AD{b)#i7n@F2>J5dSXJJ{KV8xk5C?#E{F$lLn{zY9nzYi^TfM_+bJGfkQeFf0%fuy*XSE5|;}{Ybz!20a zvdM8;BdeQUPer@#D$kXw#r>x&n7Du`ds;A&v3Wi59LE|5auABGX8R2IV(A0z{geW& z5v0_33<9OB#m6QrF4o=EDc-^4{$y@wU@?<8{CDb${8Xfl{t&Q*2}J1AfrBKC=+3*6 zfC`baPBPGc5Ut{GH#+(|ux2+?MVu6D&!w(GMPGJfGU%RN=cu#yc`zY-$>apTi!<}| zk;kNA`V&!qZ_3r6b$#=nFg65SIZh>#H?zeVvxw?uiwM>46NDe&CCJ`q$yC79d=u~# zR@1xIf)7FD%k?o5gM#NAXRKYki71HLSp{Ag8H~a6rN#JDn^w}CDKz{<(mr|-CsD3_ zc9YnhnA<`|ti>Ra83$_H9#`h=z6N1uxiqpQDz(oP<{d(hKxrCsgi$sB*d7%$nEF`e z-jv7l%^i?-wlp0*hb?9(3L?2Y^KKO%5(Kc3)`c`xE~an&4z4vIsn18e4%QgWmUx9Z zsXI(72RZj03C+b&45VpJ&d^1SBV90$dYYD>fclBPBt3FW*#3LEo!mS<$~P5ewqQyJ zYzQY0{@riaeORkx++5eB=)N77x<{7ryS-;g70x7zgO3xlDgY2L*YbyY)zvI@WZcbFD_L(v2jiSi<)JFC^mF#&v;zJ zKv2A|W&AFpaQRd%QjDz;*zfdR%-EhWNqmU=r0c;eod$h{$@8>HJmk9m%mMRlo-qa_ z2jsl->#QrDcGkt7JbJr8;CMPP$YfpIlufI%W91IOv3F zE!aD*hQz55C{NT;cN-QZwhqr1soA>;F>9IYPQV4;u1jKG@pxRErov78>O~YvOP+gF z-G{t5{g6{YuZ|4OG;XH}5$~*VZ5&o*nr9gb8>G!`s4&iQ=)zAx{heu2B9{E>l9XBM z_K_;<4UoD>)%aeXL+F=d4u;!>g#J!Z_~QNdZ%o}JTYdZ}Y+bn`Rn67bZU5dOw&i!- zd+}YJyLEDei%&0E9p}qAIv~v58jL#Pbm$U2Wi+9-Fu#W;&HVNK;12X*T2RXCxD6+} z72>pCv)W%gO$KeQ%!9A@WrEm$vhW&9#rS0pNoI_U4yt=7Dh@Aj-ob3`dJ(Jg6bjn6`wVm!bVnWyMez=o zxEhb{7D(l?aZ`>{!l0fMW$ZNk4o`>UZ>T}~bm}Lx{^IU|_r4h6EIPTmx_u2^J&S8s zBfk8c()()Q+v z06uuJN`gUn9dyrkKz+iUmHq(4xb^!5M`<4_X;6auY>;x|x2S*cGhumDH zBKr_czeDNIrruweSyIG7g16@UTB;{wZtg5qpW3ntK5T51jrH(iuoX~R|59~PG|eBd zicHDpebi$z?f{=@qVxRXX?9)T*z@`_8gGI48QY_s!U{*T1=GTf6Mf>RvW|k|iEX># zmuG)zXM5l77?WruJtUb+=V4K(@CiUkm5zk4o8E zkauGQCw|O1qbhe)?k4q1@Tn8GI8!Kix>So zG!zBEYK&U9s(P{;1aQ)2vrJVdzp5@RoIXb`ofwJH&*894)_f?9iSI=_d5 z8vB|sb^+p5QZ-1lICO4XTI4h0o1Am=Ar#d~G3}~%Ok00(O5?m4>jXHD@h5D^oxvSV zco8|oo6`b?$>CX^fyU4>g})=u;wPiMBWmcS3YC&<7>)eEk4T*B2?y!j@exaM&RxyG z=u8xo3of3?-c^*UOw;lwl$I^)k199P_4mwXRiX9l;1h#o^Swd1$M!hs3NC1*+Q#WJgfc0 z*1ofwM2SG?d3vsfDd62$BPtkOxKMfdu=!v!H<>?jq_3r80_8^gEc4$1HNI&TnUdSx ze!qmBlF6{#B}txjB@%9Jh8+OYH}TN_1e=arGWyW?{RWu#9Z_Ehz@iky^>C5`GJGzj zoGGnGhgqm!kD-%u;$kqal!$F}YmSP2P_?a?2NRd@b7P1_3FO@dpj-@(zE5VuV=wAX z(bX(%D=Hb5)ikUFzhrqNyiNsVaQ?+>CRn}YtIy4`4m zC)*en$;lg~O+#GI{`lKs&6K{sdty6UV|()_k215vZ@lYnAfs|h>0y#BCM%A8I}him zo~EU%F-9X5#P|A3=xz~RJtC!Pcz!O(sYT~BnZ$2!W}{V2O+7D2Cf47VRMEl* zw+&FxE3B*8P1Hm45gcq?3L6kvyoW(S$T0H<;S*Y`&lmI<$Hxd5d@%-3)gtWkG+iA> zCK@GXM$gn&n7YX^JvyXgG9MI}dmQ$PCf&fsaI#H+>Anp(IYKR@K9UfXk|eyje|CbD zXut(VmSgvrI7dfhj8QsA-UjkvNZ^Y6^S0WAGI~h}G-EpGF<~;)8;E&Rot&tRtc>dP%S(J0OTtWQry` z*UTtMWSl-^xjB#H%3%t!Jb0y#htkIoH+NEcj_%5Y5I2*Pv9Dp(7Wr+M*NQv|lX!xY zo^+nkN$g#2LS;5Xgem!Md>4!yACU2Hgl(jBvnNl@!A`T>Kx<@kyE1m5ZjZ}!`;6x| zh|_V#k9iZv8Bf(^l{n*6ljWDQ&;sj8Tr^4s2U97RxT#D_EOIz`%0*=ppZlccfv~`~ zcaB2F%ST8ovVb(P=$2*#Kw8fyj zZaYd_f<#5aW!7)$^Io2>yvg>hF&e=m=&HLD6It$T)4~$|A!DSGAUEmACs$biiLRaN zn?`x&NkF>WkxmKj$}=(H#=1^0M$~yu&(w^!;p&Xc8HH|CHv^Dsacv3VxgJ+mYki4j zI`;7}A13+xxJofewnZlYQheWjtjR1szTjMg(|sPR_Vw;d_ll|)n5VWLpg#?-n}mcq zY;GrsH$x2Y^S!QB;h zgoAg3Zr^0eftdk`dOY3`@#J8%j$ZgDoc`?}Y7p`EaS8J{?Ltu)qL2A>oZ!KviL-tP z1846Ism&#FfW2<`?D+XkfWbHcdvT!tE56bpxi_Qow?q*k<}|%ldGZt+KVeJ zR>8a{`7FVq$Nl^csZUEFRi0IQbYsBWuFeB6f|t(XRm!!r^5o2~^nD9v4R|0Xf?t1s ztC1j4!X4Y4f|T%OI9=ld<7IY?>CL4)ruh@4 zw}y2_f+?^*yigLP%IXG&ZQyVQ-id=Pk+WeDj0Mo=v{W&5#Dd6_=*!QDZRYsJg%M~k z*ZG!<(@i?QvZ?AKHZn2ND$B8nu0xZv4+)KTV7+3xblGn&5qfHl{`e3Ruv9rF(7DV<3FP~bq$6uCPL3FMK4T$U2<>H_(Q-S$E;TK z#&b$pTb5SZuMvHVs;8qnZF7f>YaU))ynVaWBS*`7*+wa1-HmSfpfQ^0#x$4fWHx<5 z-TiDW?~wZGR@R0JP~Cm9tWs!k5LFbBt|fbmLAXc_iV>84L$DzFOVQz;!3na-UsHF5 z)C6b_IFxK|5A)Ma=$pB6M;uRJ9pe#{D!I&&tpPYK-dyhR*OP&*XM?qOI6ayTIV?aW zc{Gn~gjmwr2rZ*6Ze=*)Ztcu+Q?HXt-%T>;TO{_oejj)wXC&SxhjpyV-)vMS$8)$Q$lf^hh5wbkpU+mG<~y?R-E~`;Y@W5XzfRgwLh-A4llEyYoaNc z#AXYy@v=^?q*?`z-FQ@@G|9VB@?~FObOvaq%l>)s5!BIQx(DC&B@lS)PMM<2pKS76 zLzYDjY?He%Vd66tc5yB!0L-hF`SJ0gYuE$o5mA4G>2Vn@)o;~|sqYEO;UE)D@B3s> zlrPK8m&6nvH9wqNkFT~)p`87NF+2eR;Qk3>#E<@&>wK{;cc(;~1Q_Y#7bDuL?zY`> zlvwAd)^m^MY|*Il1`|BS418E|sitQ*i7qi~m7$fP9`lf1y-Ng>0LtdI#6}AdmxmX) z+kR+Y9f0?XEMeWfVK??|o=+SQ6112T= zPV*-~R0*J}4YD%ElD?^kUxNGA3Rb?kWhARO-*m!#@xCG7^j(!GoZ7i;blegAJQ1J zQBNvTVt$^V1S70Kh{h5lnaM+T6;Jvre=Df7zsPn*%#o6wEpCEgj*%G!`UU_X@I*AK ztMuE)J$daa8XoEl&%K^so%bD0e{I5-0C_eDP=eh%x-|wFNQFNc87?oNg|S+y0M?8e z5G^yKyb={Z@6;9nsSq|xW*@nMCnzKu zJ5CHf(<~JW!~=GM-O;ZYySBn{Gb|Y_n1dm7hLhgYNVZpD=jsH-DlEJS`y6nwu5)vo zH{J#Ve5Fl~+3)^D)zbOa)A=N3o-nv^;U1vB#f@rd_<-uTCE7{VIjX6;iB4)T18T(0 z$_)>SF-;rn955|KVHznsQF=^7?+mra{oxAw-dhRh%r-QbFPYhwuf(aC+Rc~x z0*4{CDP-nLlFB}axDpSlq&_86?E;JD;pndTQB6h~+W`Xo1&-b0Ut072kF-v7dw*oR zMDpu0>0={HVqi<5*fG1`)ur8hmtzp9_?NKLgJ>BbF-M6*Gs)JV4nUR|1Fj6|%(}a{!cO!+28s($ zI&1$|s9z6?twK%y73yfQ^wu}sc^tCYWE{X4oOZiEb(TJHZ(b8!^-t!=$szG^UZl2I z-1z`~a}=8myt*a9a2!he6XMlEB#l!yyZiZVwVoV|O7FQ?=S!tFxw9W^fyPxuv4Ymf zfH<9qR{s*gH#!HRZ1LO){CusU(7vkfE&G?H5cag02r$nE+lOSXTQhOsWo5sP3<_K~ z;T=!U-HnYl)N37u4DZyEu%C&Wxwoi-SvI*c37SzjT0Dc| zDo$b@?ZZ2!-a_pfs^BFa#g_9L;F!DAy0rG=_!OhiCk=88*}1{+KW6u|?TCYC?hE%= z1uLXI8j43o$^zU8W$mv}Ssb~x$-(ztuA26wy0b|@?gWrwr$%YqpNSwTqL@GCY*IvA ze?6mHP;D}Ph;a#Bb28Q3ca5DV!5EHr8nrmSJu}INvEA%xArEK6zh#($)_c8!>a+2@ z{)eT<;%=f*5aB;#bJ5If(Ip5AP<|^H>L&j6QzKnaTnsV7$Fiq^&HM?cy*L<`kWx42 zk!*Cv@ovY$HvS$EylpT}N-~h_joNVR74mpv*jTlos{6kVQPW{RvW6?0yac=iXE73o zwWj7>pAmp%ObZ5R?Y3sL(=Q-&oScK4R4&7VgPJ(gv}8v_YB4^~JHTE}iFOG#-H9KJ z#*>Shg1lOn8M1HoZ}roePSy~NLFcOYL{5eC^NDlyl48Pqhk>$bY9nPGu@!miYj zMuAeXQa=Q=$uoyH29(=!^-_h*tTPxd#=J)z4y_PZ#5%V5<$-#@9V9Fvm6E?-0kV<+j* zMrtwA7i_pVB|dG*%p=6its-ICRdZeYi`oPzzZ8BX#y+x96JDOhz;HneKuZ?(PvWywd$TSfTjjiFVX z|HwuW$FcSoB|HlCwi}GCfI7ylC~_GRGn*Ue$Qj&+y&DZ%ye4bOqm5-(X#YL37FES~ zcy0`2ZRQyH<@U-XWuX;>YV{0*e| zDgSpBD}$>ik3HWhm0OYIX)>8O8+7r~w0|(T>OHpq5wGfjwEMPhw`@r-r{cTWTS1iR z#cc7vgUU%hsHlkSyP3yE^}QJBiMhry#O8nF=tcLfV2mSzZQ>4D2stZl#n^D#ut!nC z41YkE<0i(D!;6%pBbTSeip+j&Y4H8x6$v6Lkb%L)yOj#z5o_TrOnOI| zGd>WL9upc%eH34%u$nPdwQ?Ij-}r>b<&ZBK4I7sS^FE}9+bP3^-8N`!hK7#^O3?2eVf5Ux>3^u#b795-%GHyd&v_cD*z8K92z@kzUn* z230)qniKoCR9v+`^K}i=dql;2{*uLq8AP6+pxWnuthdLnlU3p~oxLIPlkib!{B_Lu ztjIUb3Olf5>Vj*xolew)PVtITml}HF46O8ttJ~%R zM4?A0UJD=ta3YO;{^QHLda4u$ld-YShkg6%wnmId4HlAnhah<`JF0lB*0AS7p%(R zwh!-^`cCCg{$3|lxP3j1&yW$cG4(ZMVeNU;gwxH)%NNPlmpkxYzvf7H80{Jn1Czjs(fq0ckKF4w0{j^gQMiFlZCUjhi4<|PSD zt7F&@$J=MAyPXx@sN|N3qX|%OthC>e^&a`+l+KOm5 zJ&#kM8QSrJ2(Wq0jla{^226ppasW1Fd=?ZnRym*ANI$tFmmO5Py<|i)CXGH8 z>ve*q%dlks8k8!U4uiS*m@M_(S_qju3H?3;Kx9oW&_d%i>VyM6P7^<7lX{Rr3FF;Q z(o9>rO`eS^*hgwT; zGOaEj4HE%9<5Tf4q2{^nDHsJna(;2`2w5a|l1)sKHj{`zRo_hLB!oCDr|>7ZK3q^* zKusU=ILX{3>Zg|3Da0>-x*2g(1B%9LDMrco!!QRT;*TJDi>pa79Ov2k$_f9? zM{QOkcUfZ7Jc+OQ-W(I?B~9Wd;`Epp5xk>OoBqVp&-K-mACfthBoGGiI1G&=IS&Ub z-0#-$T^T_*6Gp_g%qu_L-q!TIL+VI@i-f)I#xvdVb<2~%-lb*x=>Kn1avRH4xmDKz zB)<+hIrR^tt72J* zXr{6cO%Ntr@d;eJ!IC!pqxny9nb_()&bAb9K8)geaBUoL-C28^q|ZnoE?y7^djq-g zP}JCHuhvS^71-#OoQ*1kxw8u-SU$WET0DKaeO--FIScwQ*mot-O#ivC$l_o!o;#yE!59-E>9OR!d#FaE>++42kfVY)bIyVY*(xk^ZHxiVk>-d1+ zq#N^6swF0jkQtrXZ+J*Z(^q zy4#KL4rg!C+yfJwhn`tC2WJwV6PgM5n0=Ug-e1i1y4-oK%gu3P!>Z07<t5O3A?TiRwC5GTUnPBCU>^b6I0KTRqfGyfCO*&@=85@ih?i!80d0sPi>64cGS zcxNECm1&V9Ey&4QPld@fA(rs`*pus%z2j;FfK#MPJOG^3wo}g@6Y5(V%EJV0n3mL; zv3pcL-Ld~+nz%VLC)&wIX>~d|PLc`owlPT5UVc`z6}7LCqt5Aoyprqs+F} zalOFq4U>ca~gnmiBt~PE3m&(X?$em;^E2mFt^qogtTeUQM#x?u}5Xpu+ z30yNf9Pe=2$mHJ2tk*H`w*IoF5|Ng>E3|es(he{cEgGg{8PgHWVCL7#FSdKvhovWK z7WU76LTlfin3oyk%>?8?-w4a1G2hm}Wb(NzjGW?Cnl2k!n30CuPm1Pd(q&81Iscl( zE3oEfd5V6S(oAgmgNwbalZ?y`J3ivIb!%Fu9U)tyvP>MNTQ+e_m@=Xg#{g)(qiUD% zhNdu}DJ!mb46@4PYJ&iTmqlz)Cw+=Yir`Ymh>DMEd4A0UAdj#9e!@9gJOT@1^=8gd zLR^>Ab;NR|=@|&S9mTWa8eh?WrfEkN|JyY+5mgQhCMNa@Dz$?A+-}tOQAG4tsC>@*c0fx?k{z)#yd!xQ z-4k<({$LX-y#B22Qhc3kD4C|jO?9}m8So`17oTai*Mr7{!mW)nH;ivw z%`$$g!@VEhF}2!2yvw-cO>LMY4II^`^s*|LtRoUD3Il_Ks-56dNQ^DhmN-fSlv+Lv z6kAA*gLQIbHnB#ZG`&L1o=>#_`5(?#ZR#>K5OO|HRXZf^@V^O`SAp zbixN3u+d#-m~%2T41>ZAy7U+UGD^uyJJ1Dbd?%DxJdyj(t$%Pz+W^H(t(`(#E)n_A#A z7;ca`(gb!bNCJDFr8=RI{@SG~s<P# zC*~B_k|#X*zf)XdCusY5;$w_u*pejh-een)lU!^}Y71cx)9ATZKYmJnBI^%}bd9u; zS-x{;8nztv>oAU!&X?_(Z^;F#!7s9*)yNf&Nc`?!SX_nDyE!o};j#|ZCbSh#qrnwf z0F2S&4i#|Xvs9*Z&Vi)fjw3k|L!|m^`O1utl6okbeM3CjtgrpMRr@9_L0uMgf-8fs ziEq+a3R%h-my1Luj6{+z`qA28)NFK`pXhoTxCba@GBp$0r0niBd)M2h@ELFHn4G>y z-0OtUQSwf+tj~@Zz$ZvYVfAuS1WQ?m6)#9O4flpr`i`F*E^Q_ivFZFe4MW}zlRkfz zBD`%Bgqi)aDQ|K0!V-?9$laSI@Uu=c=E&cZKvwj5aiN$V+D=6~D!mIvWvf>X)(kGq z_Y+9F-C$RWJAE4QSiT@vq_v^L5&gzKYwS2M|EQd zrgC>Xu4bW}dirvc9 z$X^dZ9;UW&o!LO2tv%!c+gTD-l$rV0ZnFi~R~5NuZ8PJbERo{69jmBI$b6b(1tiTbBDo(~f!f z7*)>lBnCX77xS+FiKSg?P$^OWT;mM0MmvT541Kc0w6^ zNJ2F8pV-kdBxKIdJ}-4|Wo1TqfN*(Z&5mI2^wh!EVSe_9^u`TL_zqztMfj6UH+FYV zO_C7WOezFlo5iZ>B3l#F0%{$jXuVI_i*l<26LutrKW+B~PpDy3^2N8_|QshYK=t8qzb>EQ2UIY{u<&W?k1-}-rCvTm+>;|injMm-t~OBa7oZ^ zGH`_Kekxtkqa&`~VdN3UeoO9zp+md$AxXN(-G+IV1E{pl9O5M;RhtQbAX%oBC2Sz4 zHvGiW6SQcPtjpZM?Qh2b)tbnZ1=L!z3wbjIu1>P@#HQJ$k#4!3(*DWkHc7FK z^7Up;Vh3u~JX#eIa=y#P!uianD4yo-w=>}n49_HO>RFbxBMrpx<3JP9)~{4?Cc%~+ z?wHel%M}+h1ErZN0W>L#XE3r9LfrFtFd9LPFX!2s%??{TbfcMY;BWVXP@F~(4Z z);+Hv4Me>0Z{OqTB(95`Zu+?g(jV@$_Kv0JA()eu`|xrVDu`64A@?`z&CKJih+dy& z+sMxC5j(~_@0^AVJ8qNJ_QF4*j99d5fsR~!Ndv4YF4x-SabkXMDt5Q5QgBshM_g&J zxWs}a?OPJFtedC@5QO{WEGoh=o)wJ}l#`R)iX;reZL#C$v%BkH-Q`=?Q}&UQd2gv{ zbaX3qby?0YttVV<*KM4mdm9Peax5Zm2!)|)#EWf*(uDs}T3k$YDK_^g)tiQc}$ z=wH5AlbA@K6Ty_2yqs>myCIHbDpW;I@UHYOA5W8>0Zc-D^MG>YH2uZCQ#i+XO-CQX zt~Iy;tO*p>bO0c8^Cd=;Kfn;}Xu7Z(bDJCt4>JCzrm}`g#1{!bag720{xt|uN$s}r z?Y;(u6Qt=;$(R$4151slQo?+|x=W!*OjGVBqH%zfvXe}DUYqmHh*K2Q%!l_t#G^Gb z(4VkY25GOf(;@LQ4sAE*mmZg*>hRVR_9R&6C;O$E{Le#RdWs;(58kv3Rpt30tev7H zfsio(Nm7RSSjpZ|^h14U-B^5jn2_&jry^`*!Jj3U+R9~q$i zziStlI&a1#C1`#c-y(lB0*InWrpy$Iucwt|HJ=xY?BxJFwd z)+7Vs2i+&h9T&^_Yt0E_B$p*@DqZj3+DF13Y!W6>#|x5}8;%3#r_9V9P%kMtGVhI1 zp`bUQK_y0GD=>?7>!9}9^763B7&bjdkws!tU$7cQG453elcInm>x9!KsWKCjs2l4N zU#1`GTa8f0g2eUtE*R?$?&jfsE2Su+Yeb}FBg&v*;ET9SZr$zRC2oD4UXwdjaCVQV zd6N*KNkNMn6Ddg3#mH1i>YgsR^a?O_)3Z~gNz|Z>n#Jg!vG_A@*^|`uXNg*AfL#l; zCGP~(H(Rw0XLzplSf{g6{l^naX&h~GcY=3lwOa<8cDc!1JKp%aT*WBI8H{EtHS21+ z4|m3OQ+UW-Zqgv)*+&;}ht<>Oslfo}f;Q-UP7`=7tjx|&l*JN0$(s(4=!=6Qm-81Buazq7*p zxKEIg=oVGyc~{#7mW6?FfS_G0NqTQ_sw{zP6V9_l*n_P?l`cpaL}cWlt|+*AY#1vi zLma*W9Op@#NrV_3irJ2M(LmN^Fg1epQ8x3Ad67VH#xi>TC+SvMwl!h<%jBT>_0=h+ zahmS@y}m?C(2g(Rj31h#*l0-Xy)&?a8Me3{MMhE~I9$@K%t^~Ts4h8i!ky&5b*I5r zqhyo$Y!_<|_?}jCNApPWLEKib{e9@e>u96cFpuj`9OFc_EDjeiCwm>}oD0V>&r18V zn4Ua^SlP668SvGXP!V330?QWw;isDv;`?(Ss$j}^Q%4^+M_#YQncL}hAEixrsA(P` zY=lqx63tsEfiv(Xq~7t=@u^*1x3!gtCglp-8T-`vI}5X>R?L}3O9rNpUVQf?-rT%( zQ1`xEiMf^GQdIi7R1{gSF(FUFeBA6ND2&cmWX&Ft?sOw^$9S77|EUN-)>j*bwGWJI z*UIl&42@`!oczje8gRm!W{zD> z*dOJRV(G_6q)D(7`%w(kvy;NmusJ40;f8QNd5XsIaGLFo?bw8}(`}wXP^xceLTUaJ zR<9**%H)YTr!fdHfkA58K#5wyMuVvRSZx6VJudK%G}C6SGB@pPmX?o!jY1leHZdkq zM=-jiRQIj=DEIs)xV}O23|8KoOlwW@qW!i#><-!F0M7Z$*9vN!X|8vA|2a$KW?$wl zS8<>=wkTiQ@}P@=TxNUml)L7KauBJHZ+^lUajUIwq+U;P4onhfI4Sd>Q^%plLj}RrqQk$-#tt8 z#tA0r+N3Kr58ykj(FWX1Nesm1n1>U+E{1E-NPFrS?vM>_-GA^5thz2~BG)*@q{=6G z{RGnQR#7AqR_`xmpH4EjDI{@TRN_`Le+GekXAducR#+!zb81A z4)43*NEQuMjdLh{O_Q=gM(Oc)*n#UMQ<}p51vLG%DOy)GRkOO5%DM?GzoY4U&`ppXmJKuI1X4xWEw`+bgpz*q6Z`aJSeuCB&P`|-0F(j$u zT3Rr58%Aa;3MPi7W+;-f536^2T4@avXr9n_cG6&a8mhyX1w-4e8p zOEP??>?$WQ?Kim8LsQnSSHun#usC7%v5S-BkVF~x1<;d3Tmx8~@iw3H+(g>Y$^$we z?T##|68q4}wnb0tSKxM-sv9cndkJtceDPSZ8D31j@ivjHTAP_ZFxAMu{NqWrz(z57 zi6MD=o!yVN@z!37f&6NgrSDjuZjw@W+C4+eYDH2`UQ)F@ib&1x5hs{Do=xtf>SA<&KNOi> zcqqh9s$XF3@FE^IZ5!wzB}HXa_|=GsGZ;Ra!RJ)oF0l01j`ruNKuVTSPaR7vEwLYVM-ZFw`$4td_BalIFG9R zPnHqZ`>pIE%hN;B_gNqJ4rCvJFzBvz`q*ZuwO6&xJ~WKQC%{FB9}|zwQh=Es=Y{8k z&h$Y8^4UHT#4(P}cjnHbu1}qG4z{3VmNB#JL!8%154pp@^VgQ4S+IXGn${^Yz!%)O z6>Y6F9SPv3)f|C{%Gi&Qky$MN$%xB6xNm&64TxJ^Qr~7h_%hC}@+{)_|3V}b(lO4o zayMR5bDGD3KWHu#jKTupcIeT$jS&ZWd(kFRlI!9uUrM#z&QDNxvwcB^)WvF7Q(^gj zTG?DxhnoSHI>~m7?O357{Fm}-A{QUK%6U|t1O z^lO2ufYNwWRN-gvKGTG(RSBj{xFKaz=Lox?L)lVcvMD!~;&V*a9^d93M!V31U(k|^ z=6akYWpa7M%v>qT@mh@9fe48de*)Na6Y|b%g;f@`Z!=I8Kuyl!MiSdJjMRTZ8wpAa zN@i7dfTb=I$PhbMr;qz-F4=}nfgLpCK?J$#{I2!Wvldc$a?BV04r=dL9}LNYe`I_A z?w-uyZ@q$>l1U}6B@gq%rlNSUlQs&j=y6z?UHHAUwWGUyCs1PR+7ee;f6qGXHSEHk z!lhE07vJMRuD9NN2X^ny*6?isTReXTz3k!)^mjl#gBI~^kodD3rPbsue;1e2*z_+= zd7>hIZK-paA+O{1Rww_5E&S>GO1_uI=_cA%4DXiEt#eE;-nZ=fg&Pln zHqk~Z$P4+hSCAA3Yri8)<0X>QbA%yir{h}Y6-BbmK`7GiH^BB@Urs|L_4cqQYL%LI z`OOEo{dEe*1#6Nbp*V>ZWFr1%cVqV_LOW$UqB4`9ws_`7uya5chOljoC^X6QCG4YA!shGCA8ebRJpA+iDEyG$R zj!0dQvjG3y-nH{hHyUUMTeJ**YA-cE8?lfN(~o>d*1J5|l#pDvDW?Vm*x~!awAgb2 z*tv|Qcm;uGBVq(Xki{Ry9hpV$^##toqv)?oj7sLn!JX{FnETIEe&_v>q`Dy)GMYg!gYyQ*`CQuXXCiQ*oCQhl?!i07EMofg@5BP4JJ;p6YnSS5eK8+tsW zMyVY-7!*U24wab!Z`)1fo_-=gZmwrzkM7lzx^S9athmCr?su!w<2c82`A6QCT!ocp z2xTkUS_DIK!znkVrDhV##$#`?G3xx2=BFDH8oB0zuTiJ+ zsaIXI};)DhBneRuXoem)Y-Sjulk-li^TUtKlXFsg5)ot>;B z%6G7dr-a*`CcUvpY}d-KtjZnRv-5#&`L;SPqVSj|V!LUPTX;q#Knja-&e53*y1@y? z$IPb(s$AxY@D65l0?g&k_>uj1+p^W!z?PQD^_qahRIpi2onXB0YfhI&M!!eD2S*xMY5hVx_?T5Ohd`9Mz-)TP$+4c=r z&R?OP9$)RpUDV4epqh&;Aj^{+^vQa24SNXkxw(mR+Rw%J2-@GTu8^%F+<5lypa#wn z-lbG{+&@cty+;ej6@@BXWAC&RW|Y?!`j`U3a`zOnX`|s?#>QV=S)`eFtjV4IC zc79714&P)10ex(~CvT@Dh~n@28Pv4Vz9xWyphXPFrL=#->6Z*#OyO1MVTP@>SPR-R zWpS5pMm~6QO!crGyv8J9^42CyL4(2{vHTv!fD?#-Ne_O$kev7aaqI_gi8Y+CYACJY zF+>56mUr408oJ6utLr%`OsIFEBQOC9KjDp2uB47boNMtEuvTk6{0d5EkpIK_5gw1F z*yE7KlOv(@SsGxLyk309@`~#jsldW4GIS4#9jzLqENnL!lvQ0Z>6%`+&15_ zl@VL%>mSP>cZD9O%R3{3z*Uo#g;` z3gN|t%TI*kKQ=%;o@2Z|WpsXfm z0Ij_sYUgn=Wa%#vW+o8(VxGnAm;r{Fz?ur4#m$#mk?;CB$mO{tLTm2V07pEEzVIKU z%7~@k#*j0)1h(1vNGxOvd%I1}6l1%YD=mg$5ZVnSXiGob3{nkkfV5fql0fRAbRD!y z-0N=w`5@89r?z)i77Z<=_!AX$Q9dIDnirTa1yl1jh6Vy*%>vf)-rT9 z>t>fe+)+WV>%2x1SkuK!6Iw4CT(f^78mD}}frM_8E|Kr{VlIvv+voa4C^%?`8AuB2Aj-taGf~;}R*Hx!P#;T_&^u6P` zjT+#`acTh@O-$B_{>tG*-%X$vQyo`@<<@@nYAw#Z#4jig=3fjZ%U;Dhnr-jVWDUQ! z2=4wPZJ}}OCYLfYI(LVbW&$rhV#x5(tGn;C5{eCB&?yu@0_?TX!BVx@(3XiyPqJt&%~v(?ycn2+hezoQ$6UE`K3s2miqi^ueEr3Ian6rn;4 z2(|+`op@IkBAbn8@3hhA@E zw+Wa4PU6%Aspxn$`;O=u5h|LY}8fiPUZi^@QY1Dr$ zh*U?tv-Ys_@@~{2;U4Sw0`CbrLi)DVKUU_YR)p-3x^i~SsP@m7iS9j^L-|^eBc86n zdskKdg%Ig6-7Oxz7&_xJp9>r|i0+%yvs&?jfsB)d67JURxjPV7UVF!7)QZ+i08~J$ zzpb(NZ>jD0#@P1ga{mHhb#llLtv*kLX6CzUzu|K7gBXHyqqGCkFi;&ud76OZ;~t0q zI0KIe`a6Tj$rf?HjCY@;Jbsw{F-I!o>;f>ZT_n>5c&B9ZZ{$LY+d7mTkGtJ2%y&$; zh6_6YF&a+SOhb>V9hqYvdvkT2Xmv)9jYBg_U+~LW9O8jdD+^*WUMj0v+4Gl)`UtM) zr8HPU?M9tyB}@;3Y0IrGYp&^_S8%YHV~PWqnSsZ&u6QCkZ`{W}AJ*0{mZT&Os?O1r z2|wSKh;3@$`cBk+Y*!|hT@a->Z-H5}0@$QPXYg^bfkC9=C$L@}B%PXVu|figYA#+A zoX8}_FhcYcx`XIAp8+Bq|2bo5uLP{czrL~Bvn5n(mznWsIBnx|yJsp$`PrTVNuU zwrq{6+CL&0p(s;BdkBg?Nsd2G>@OQi>H(FNC~4a_?2{kqbGF=V7PA}T@~6>qZqQfq z(aSr$dvnc}hT@w`Pn;W&d|-iFHNq+pgLvmwKhRW@t8nXF$mMUP_oc@sbR38o+Ge51v=e%x(@ z>$4n271z0jIOCFp8D!HD)D3mASAb=+18W^2SAb6!vcR3&hhXs?-?sK7c~d#jZ87zz z(q7DqjM36}3d6q&9L+{Q2N}{V02%w6X+}Hf;$3|VrP}eOR z5LDY~!-k^l-rZ1EbH{0m1}8CyE*H^>+nM==X!pRzbE@|t_ib6p^p9>chxhN|YH4c? z8s7WC>SubBZ7j*2-kdh&UwfZc&b0!lmjQXd2@y``KO~2kO!=eza8OmVjw`p5<*a5v z@CHZai`9%5CerRUE0%Xe*LZEp-UybsR3T=??OY6?u#z{4VRv2>ttnK1!>-#_gcdg} zCwqg1e~h%*42MbCE3j=HkLsSGTyED}#C|aKBrmnr+KMWo566g)P0pZqI~+`lwf zn_y#32Qf&}H>h6TJI$H2)FrHkFEvlW!k!NMs;WCprauKmn0G)Uo_npC!guhe79X66 zt??;iTY@wZQ}&t=Ze3;;amRXGZc6?FQ%fWUbARY5` zz;Z==AhkFM&FNoz8Q0>5bShGEC|gb#t2V-XN3->h4a#Oaok+ISfRwIhY$8nnyrp-F~xI6|xU;r4=tsk(DlTaBV?Z))tU5RIR8 zChS8SQneqt(%Mb=kGfS6BJlpDLie z?A7`O7>I5!@{Z;?K!?fXj^SFgNAEGsKdX!gLSy8+e&U?b-|UB8~8Ir zDW+c2LE9{7G`H^09}uXsARO9?ZZI%DuEAuf-2i5GTlgT?z>V6VzXWaG!Vva!GxK+F zwI6h-oA^iWCiqxT9$!r@vfUU*fVT;Z^|S-KL^O?!#r|j-^>GA2&Hu99M=brQL)?UN zy1Fb!s!-&h>rC``mi+DP(kZ-vuTO+Adqxv^yO{P{h1kw2+s+S0QV(hG2TJTs5$jyY zo>A{f;I8wXQheeZ_lj(q;aMRfE@n#&o#XY5FiidQpX!kv4fJuIXXjv#sB>2|{8#t$!qRFzNi;bDM)cp$kpy(noP- z4`R3=+2_NPLZ`{wiEr|G%P6F^H+b+iQ7JgA{ZgS4cICC8HeF`(F5!Y~#O)pRglggm zoDT4CPg8oxqw0r8+T$66RLGk&kcLc3bbRgU*j2URxnf>98YTEQR&P_lso-+S0mGz~ zH+6#_5@tQ1F*_A^lWHt#gq#38CA`#2^sedFDoYb!%lvEYYPJ%RM7tPkp2Zrw>X}Hh zvD8SW zoS*^7us%T2g2i$DeB3aDg4G0r$>R**!a|RCx_Hf2VUt#aupDPlIC%#*+67pg6-D%C zHC^yYIb6q0%AnP(lvK1hPG~=*12c+p=~X@V?okE2{#95Xq4egUii3}(L(k%n)1v3t zCQoa#e82$1C4+jq`SiONP=CWVfCXOGFO}6EOzmk&6wU+MWpxJxT(-+2dv$6efH91* z3(%m%3dGMYqmouW`2mvv0wilXm{j?- zn5`89+@Fcq9nd&QUHj73d4*cH7Tar8^o<>-2y1JZLLEDxOB)oETTYi1I#AGI|&z#|Ldan(ZUqObo*;f{;5?1P-|zal({qKpbK$1s?51M{E4eyxHo;1KX9L# z65OuU#5-8)NJep@uIOp};}a=)51JAnfsLYfvbgwI@+zF#?^_W!56Ra!AQs*B)9a0v zX4(4&cUx3EYc-lrk$aH4t}#PDPeWXl6X=02{oj!d*Z{;$<}bD|Y^8T~XjJ=D&LH}@ z<4t9%!R;T?99vC-o5$1p9F!=&*!YR1-?i{IGku+xZp<@*bx(}T2Cu$Ym4T@c+BHuj zRgrEerkBtTBdF`Ko0o*fIu~Oekd|FNY40}*h5Fbhu!n?QTu@DK3Btaw*zfY+=~x+S zsJV_SK;24^7~xTu@}5R%WV{e&KM+MZx<^8W2N_U}?6vMvFx9HlH1$fIe3=Xyh10g3n5P}>9qq`K{R6X5G=uB;TNF-V$}M{w0KgOW zOnuy}su9IE*Xqlsq=>xY%}JM}t>TLW8w^QKnew4?-oqL#?@ixSfBf9jf>*icgfw}B zjTS5wpQjv*Aa>{3x34j4&G$@C&ehFW-T|HC1ZjQ(pT~=?mU1M4?*eyHaB|Ju_7J(| zgTCA?+8XscixdNA7tQErGtb;tXj|?F3hHLPeIln56&^J1MqM#maQi@@^~Qcuaq?V5 zG>FcMJs@+WZ^~b*r5W+}Sj6sWKY2H8LRyXGXl>A38|i#kQe1wXj$#b-0jxDcociKTe7T?g9U5oswKnsd#Zh5HxHh<;ssK&J7klGG_ z-)TzU8d~tqvzcxu{0e&Ndy;+=+LvEP{M_Fc6j)<3sXse4@4H*8JKsXRn4&wJJc^M*uyx^9{Yopb+G4S$cj= zx$elui@SH2s724j&G`;k(v}bM5)J7q0!9wEVr%7l%p24+WlPRYCT-v0j07oOCK*0* zLT;UbE$9;#Mmez&*BJ*2>v#jX+}?-#%aLx*-rC8}u1N>nBr9Hrx{x4dKNc~XQ-?10_z6*UQ#nm#r`n8haA zFbz<@eEwL%G!^U%Hv`l7+!-Hz0QF)7ydFH4;@prQEX!oQO#9IbtsT@>(F3<+q z1ZWtItik-GRA~b{SQ|BRs=Vu;pWXn*-h@nKu1!_yR^ZIjr+^F&W8|4PR~Z>OChwpD z^c8{Tf>07h4o4`id;w6~$#2-CIySHcTeqwR=EI(1F+gf7xz5Mii4w8)v)r%) z*8jybDwzJV#K%10a|Ai?^U$|CtL}rUDay4$XLed5hUH6SmV;Rd4hb0;;x~x-j;a>| z{~}{1_=>KV+>SLWe8+RDt9r&+D75rd7FWD#kHl!_5HWXG)_O;jd!-~UCZAc3fbTosstapgH(uj~&jD*R6e`JlRt`ky-*w_glmz|fa`reXE?6W}=8q;OF96T?y3?_W$+ zsU7b2DcRL4J=0tbQ+Uc?y_jSn9P`OhtFod0TI}A>yr;}dIh-kgkI@kWYn|X+Q=)8v zHiO&TF|`opa-@{-TQ&)R?4*k||x!02MrIjK-v;Zs@b6_N4v7r6{TvZG# z`YBH$V*(}(I5waU?aYTUE{ft|649PbU0kUTeN{k6o8d*+K4wRL-(uze;H4BAFC(Z&A1DE74ma|BJ$NM^t-AO6jtzv|Z?l>d5AN zDF!{bs8R_BG}ut;X5k)=h9P zQ^BO{o7@;q_--I#up7>dJT`H?)-TD>JDR;lb{jL&$OUT}2FfhAA7UnZZFf+82h{2Q32J6) zH&wB^UY;jFZFY+|CE$faYydA$v&*tsI!6kSG!_UO1(LJW_CiI^vV(-Y~Bzh)$K4*QwSEGDQ z)$g<<|MP%R-_Tq+gC|?jUivV_hd;I#aUa_n9`YQ|`+=3%!#)3l?i)BIYX!;C#UKr}(u#P!_XSVFs`wS=acxM?sm zQIrxnJAGI!py9j%FSagI1FOhK=GUgY2Xl_6BaGphU&{?F1dq)u*rbNgTCxB$H!4@anbC(5~!j^E%Qm!e@f}nl-L38;`KLYLn_-IP= z6J5`!a5&{wJ@a{CupBHS+o`5`oeVEQekPKIkwlrKdlvB~e|=Dye(e_s);1&V|s8f zuv(rC$kF~jm(zQPGAebrn~Ciz{IhX5sACr6l4$DE{x8o$QGkv1dkutu0D$u-FS-v` zoybR|Sid9clb|H-<^d8SY%NH0QQa*;=uDx+0=Pm65}d>HCS_{J9`f+dFb~dHB%jwO z@>t=GgrK>LtPM=$n623!tS#HWQiCK8^K(H)4Oh!#I8ZuNPAyge-e=twfak8G9 z9>q9^w@PUasan+%89aMZ@_)cta1&-74rIs8T=`0j?eUIeygD&C(e{fH`0zC zTN&F1ngo}A`w*r8I~WY^KhyBI3HUgHpKrwvk$`a4Tqmtr54# zEGwi9{VMCY-(ih17$zr(FPF5CD?_*|Dke(LpD6VLC+6-lelbHP_P)#no-y+QV)Av{ z-Es8lpeT{U3oslVGbvh5qhD+Y_ZxAgV4bwDHjk?Z>KU`uV-UEQ+tQA{)Hjq}5uN>( zE64Yyh_CBy?E@MmO2T7~+UgSrc4bibN3fA9Fed$wB83%=C*R>+BQXsm%e>ZZz478Y zZ=`V_CCZqvUM}7#2lW)|l{J~(8N>4_M)8X09Oa#8ob-&X6R|a{+-f(@+w+aJDEaEb zS5RaJFt-w|lHe|wtf_5HYk*>DY#jxVwvOcy_FFT zE^d9s5qw*~H(~|Z^X>tD*($YnG<~s_pmCCtT_Q;!s8;Zss$6Revh!cL1Yw%bLYwL+ zl&n`4ZDP_mu|_|>wWjWn`nwa26MxgN-M{cIc4a3C_Q4#S=$3-VRCQ`(u7ZsiC~uzUfPf~BFWu~&Pqlx7H;EII9rvT)UJv%scU|r>sGRdHu!o_QnR%*)i@feh00O7_ z_3ji;FH^+e+|()9`2E(&PeH`LXj&Gmqmx`Z+WT@S?FLZT%fc;*d2U0?@jU)=q6p7`09v%(OH4(IkA%J|?&<`@*r`bskO z3E!=!?%5~YdqT zD4#0K%pqY2dDz#-eQIt1jz4tPfKhyaMeblsus2y#4BA1FG@juxTG56G+=MsjfLw;7-4WqB4b=-2 z6$;aHiVl{``Fm!5N7FMV1Wrg>t@58eFw*C|m|2ExxT2?ttj(M|^h2LpqweC7jRd|@ znml*h4iWmJ8{cKY-A}mao5-}+;xFlv_4ao72}jXgWe3&8&`TGboPQVT4^$BTHG-3w4 zx~=lid@3e@ku5daR=?r^x0Pcvj(*C#ApyIr{U_A}`HMqzCn?{Y;3N1vW zmI&GvGk7cij;$Z5T}3!e;2guDVi;s`DsFtm=6*XFac0ZbMTXf0Fty|aQ5yB-w>UYt z`^WGCE+^GVOO?}DC+QkqUC(Vp_i1*};NTFNe+rWJ(lcT#)8+@|K(kP3hkFmSf_Fq? zULi6kD5jQ5%ykdP~T5q<0)Nrk_-0{~p%wL}Lagnv2t!4-5;v{wH#qc!tDc5|?w+7I2O~ zr5xcn8>z=0MpOJtxrh_#2+mT#R2(MJhKCR}LeKEbRKHza@0fZuuxp4yFZiTt;YX?i zUh%DQOTZm;>wG2c|Ji*S4>No92{eoLf8+oKGp6&fIFmNd_Ae*q3azf01^I^IWOc_3 zaV5eDteESV`1QpQ-@G`bOKL`N?~ukSW50`Vlr>yUm1W)8((=|nA&m=x2(;978arnN z>l`NFS;|uGXjV}2Y}bU19@Om1*DV?n{@ZFI>t$BCC!;V~tv&f{{8N|yE zng}DP!|F`gSK1f_Y~RwI3aX5t?o{5+>}lxw_Ipsun=_@0%}>zoN^qmrmun|8uov)! zRC>AJhBQE1W?8?8!swapqvV9w$rsmZBp;~Qf(LonKoZ-TGS79;fxU7%9d~HyRPJkk78P<4n`HO1Kp=nBkr?j(l4%FK)?%>(aizF4W+Vs4S9Jwv+n~uH&Us z=XAc%t#YrMKB|9$7YFT540(N;(_SIho+-uR=iV;eInFz)s=9x?yklTiMCpW+`ci(Y zQW|jl7zGD}Zfm*|s+PFv&N2<$BK=ZG@eHC@AMv-Jytxg@JGy~bp#q>en}8i)?`YA_ z{Z`dh)jKxe%5KtjtoO=h*5uMye464zLSmmlyE~fk_V&BsH2hH7?)sxI@v*#h)wlM^ zZ(z-5e_D6ZC2U}b6qOaiQBz) z4ajI*uCjT%Q;>5kzhSouZSS>|7@j=T6i)_5Ny&9HcPxK_**&A33T4L>4%?{=csA`f zOBiXKSm=J^B=M_wDm)QA3jicl3g2gga4ETd^B!!k~NDjzXpk1tnc z0vbxb34Uk$6^n14%B>e;>(+|(f$Qjte&PfEgISO>D&R&Q&gVyoc=4&)Pe}cUpXonk z!7I#Eilj9*QwJ(7`L!fwrb|q_P#&20MJTX~Vb|J!qPQQdjn+orN?i&n^>Xvf9eNuS z0RE)c)xNcJ6rF-1(w+wK6_#r77tIH_y-!kx%eCIN3NDU@4lG2m^GiMRj;~)iqI<%r z-JLC3(9&=3)ux7fk)guW6G9?Bxhm#yTL{iMVtYhBQ>UO{ZTn$`qL2o9QemH7hqHQkt`L;$V?)CV$K{* znojEM*FqW#>-|N>T$u`Q?z4<=sspK*M!iou<<38lS$A+flXnUzXa@5jZ%3VtkoBPZ zx|p_qm5JT7helncT?7GA4heFKs3WnpJZJ44&8W>q|CBst3R6NDp^SrUvZD2x6RQ(M z{*v52kaoHRZ9}zOTV&Nq;lUzct<*lO-zq=4OeTtk0|?&#c6=`|j30{eO~0`@PBj#C8}D zpAUIJCAaUeUoG%HHU4T((OBizJ!{F&tcz5>F^H(1vw-YJ(iQ3abQ}cMOvmy_SqKw- zeZe9LYaghGoABAPO!$CG)<-)sObqRMk<6~1j z4g$buHOOJL(#kDkTaIFKQe9|KgS)pM(vHH0S17n-M1KidYhx?FW9y$@hVaSP@d#$2 zVr>@J6_pob0PKQqTisKatc|l9t3#cMl)YOp#gVY@ z*m}m!@H@3=H9g}3xy8<)ijrdNO!;g~B<6u;?dw$Ei?)F=Y^P)Kfvrcwi|7g>8G0x4 z$M#4~k3vcf#f?~7+m;v8?$pG?ozf}E{Y?jm7@od>bLuJo22a9Thf}v6b zu=$yVw3>v8RsOs|h^Mo1b4qM058r3tauY$m7eX83*xa_n!7O=)7jC%>e^T=izcuVW zXo*D9d2Lxl&g;fDK5zQM>g?Jd;?^l-;Q^@1A3Po!*^emT6oAUMVf~}cMAOI<9C83Y z*!YR9A8pY%S=-q_LTo8JA(+K4&S$T?h9EBF$q2*!rxF$qKENO$ET8)HiYJe^rUcH; zH!P6!@fn^WgU1O_QEgIRyR~+-ML}@4SfJ+Z-f=B;NNyj<_4DEw_xl&>ChLlkb=t{p zU#k0R)GD(4T#dJqB)VK25IGGuKt*x_$Q?=Q5M}1uH(k+;?>`Be(vrzjYb9w6nw1da z;N`MOl^)q%?Ms($lkuZ2Ol1w}uqXY&U&~fSbCe#<(M!ZYQ)g>e0%|awTIQzX^reQ> zSv*ZGx{s+2C?t9O-?egabI@$qJ zl1N6AvL!D+w`6oZKN|G|gvYPof{Rkgl?a60M}90oX$k%i)nTH zr}Pp5_0J8?CTiJxlp04Q(mD>ts0&I9ro(VDc9;V;RT(Y6XY#R**$!vK_9M=vJI9*ES#qXzriivLt z$=znX)|zI9QqOw*kU;Y@B}U9?Tddv`%e#DjcZ4zsHtnw_G0UaLcK2JBq2IjSwC*__ zRR|AlL3Y;%ny356UMu!ML-&wl{|_7p0iAgyg5#rFxh+rI-)K-GxIH=Cz-5)TL7bbQ zWf0!@hGJt-!I#Y9<@B<5aQ&irh?_yRU&P-Myv=s}g#0ePh4tMJoVzGeQIm$_w(0@C z@huH-2etR8l+Pi2tgh}NF{~We?ohwa7X}fC6Gz){N=T2j7RLp-!K9yp5}MBhG7LG{ zqj*QyxA+8Lad`go3)I*cfv>15f3cwy!#pBd{{tdj@52ICoRx0OP*i)LCzan&Z`{C5VuCY?ag7zrdTgiMsO0e&8wg zAO^7G3hYQWU|4i|p<1D@Gack4xykuMPK-tDGk*v4ys+)Rn>ZSzNnzO2Z|2Z=OKat_ zn)VM<4ES)zLxdMpAH9&n(Cq~qi`^}YY7@vockYowl@Z5mWM8oyX}moW`c3mO{c%d#)z<%7l3Z3vWSG9|x_P*@ zLh_tawkyMtseQ!u-fhC(5!DfqGCBq*zR6*XgNfs?JrM3tHd3y1$suoFgl`OUm2vhQ zVr&$rZWWkMD#v7YukX;t?N{!BIJ!jk-jThV8UvhlvD9astHoy8C#3|9eV8yNf|7)| zuut?vGWnBIN=RoKAzgg|Pz>wV&ial-rse328~LOi{4p4CJ&}8s70{V@kyV$#2Y|lf z@$^MbB&utapRhMEd7cmxRD4?@ZBtcA&CJhTO2<|#AIy2onGmD8_Q%SGKWTCwsiZGA*E_s^v%uB_|LzAvB0=rieJuW% z{kU4B%942x@ryu4PeckB4!e|Ep}e7C^Cdu~Xhx#kc8ZPlMZe#~l5`w7!7v}2b82?F zeCy_+xYf7?IZs(8KB9=2E#%JxNl0BVA#Yk_UJ)kzCldA%PcLd4+=zzyM4_N&SIKHQ z0GrqO+Be*A0;hql`^euE?mM(TIov)$DXc5b>1s$NE(**8Vr&h0U3^s8@?ks1K4$@# zx3gT_=kTzV0{`a?cA{$*dowX*T7xVtfRpxW{T7qGgz2-Rp|&^@Ty(;-1bh`9B!~Zb z?P|J~?R$Tx$VTe|bCZtE0NJ7z`IS+@J|)8tBS^eF_xl0hXHp~37+L19^8ix&B{G9j zLo0m8VzrXLwXzzUdVO!LA(_2lLDD{`spWkW_i7Hmr1#?d-c$Nicj*Ev&G_)|Shn#{ zl)XispI8mpq1oElzxHHl7J|l^R?We>9My=mC2N~_w)`!RCRatIocThAj>!7q7G)Ec zkcgwsrMm70r+Z%0gc=w;wD#EyPhu7Hbj%8 zmA;qTAfd?M`qO{Zb?pRPqZ+s~`LzU1AxsLhF{JM|;|0b$wz1fRwuxMsYZQw5gCvSU zm*fuc5R)^P#M3;|UYI)@)k*txGgBRcu>VS7jZnsWqxwEs4LrjDsd%=s$;MdaBHGT^ zgmvg5%oWRuz0R>GrX5S)*7LQ0iG%epMqLY2^Ot}02X-6y*aX2Saiap3CTWZsWQkPc zgROAz4%rY3G2QAL91wopJGk+PZlX`|XT-@qqJiBlSL*_q_eK015AA#=VpZnm{;joh zosF*i6HQOqVrw#vPks$0UPAW$ktikZq4tNrISbG&P=Rpwa(U!ik0l4`l~c~C=~wAO zGx>J0_vHa}P3F~ee{|E~46elDZR(9nrojAZj#k@QD?`q1&uj_;onXz6-vGKAK|7Oo zGZ}2S5;hxX6wEP;|K@eKhnAtqU0DeSpB7R#C99 z3aD@~9!wKZ1Xh=eJwS6A`?kA)8%!Q1GVHRiXmY>W_K~ln%{{s!h-bLk5lir|r0?KHY%O1d$UJw`bcM-Z+-<1}em^FGXowqU z9?$sYGDAWbqsg*08{_mbi64=S15UoCtg)grkvP~s&F`q-oqqWEv9;fnvIgI6cWnFy zPO05bjaqt_-}b);G)j_P1veOl)#>c80`>@FZtdI_4A6k6FGpx7Q`9}+d>>2D*HlB9 zKQ_KSu7072ok{f`M5+qq$A0>tqJ02+)P1g^3Aif80S?jzE=h#yIVYjpb}}=D^l;09dgce+t>6!pj)F7v}iX`wf#P6FGRM=zi8ARTj@RT zp=o!kl%9{L&$`p7LJUnQI;#W04$wqyeTfqO;Tb}0`So2EDUO~i50W>nr>SLCz$}K3 zk(xt$U=NmAYn?!Psq{VuVK_ml%*jeSOb}K+hNL~5ff+bdY}Y+F-1GaXhexF)7|MYQ zWLU5OjJE|n`hdQ&+t_B0L4umo&zV*a=os(muCdR!{?pp9om~^y-oaX&uBrnKAt(ufEe+ZkWtI1=ki&QD6F26M95?-+-hNS14!)|bJshJk(igDWk=t)w#Rjjy@+TY z>&y5}x;>GJtjE^U`^U_r$Jdn`T7}lKH>;%yA1EkCuI3;lr(OS6G;2ESb2`u^849btcQ*TA>>(@(o!$aup1s}WU9G;~-Z+n~~#oF1NwvGu>rODM>Sod%5 z7fGjJO1ao%e}pnMYGW%$a>$O_QWRT5wwJUok5~jRI{T5PZvPlR^k}*!N%nTzS$=-2{IUBS~3G^8jb_1f9BV16vohApU z&a7Q}=5yOVPUEVa__2)n&V_Q(2lS-}GZN!@W4*IWr;DG1+tJ`yaH2)vc=2;~_5Rj6 z;szIFOSU302D87(v=8l?nv|WN(E6QrGc8dr++A{$;bXu+_qm?~aOM19W1aRL%HTCH zi$O)%=XTyUm%kgz9@glS#I{^Te=|dea-hW2zExYwAY(kyJNw}`>%E>gj6*?sY&Cpz z=X;xG_B*0$94N9hnhbMkTQ&(S7!SP448nkEtrA#+z`Z<(Of^}Z!85d^%46&Gd_6zW z^m6Uo=?FnN&U}iw0b=|%=@9aFB8ppYUVS)R;ix~k?3BUOgrU|}9RI66OKjAxafXf# zI(Fp@dLGL6I)xn&e`tSxlmimw&}|_B3NofJA>|D_^svRul6(9rk%;W+Zf~BY1ikHW z1LNFYXB*Ybr>d8Zm6vRsZIpp*yvF(_8FGqZ1Y4%B8H8dQ`$+LDQPA6h%0t3{y4@9a zT5&UqhILG6O61>&#=T$WHP~_Ma}&hsF1T^NLmOAzrR+^NJ*<&iF?UWnB1-<0OvbRR zSWM5M(7`~}6iONURlneFd(y9ujX*{m8fizT)>OnJcJ_BU5lA(gmJDQKaw}SaxrNIA z#DUvqC^Wer0w^Pz{>CoNNDiTM4d#QWF;aPw9v6 z-D4Vi!0XQ2C>0sa?F7{y)Tg?oUj;a1*-{ za7gxYC*gs&mmsO1@ev6E8e-hlX`92-gi6tVx211cryBq9rrPgr5%>*5_u-VaOxgJ!?C9cr&*hHdNF_fP9Git@lxI?Nu+~?BvCz`8A zlT}`b*r#s4QZZG+y zKcMifJTk#!I@+r>nZsK86b_v7)MFQ>wjBr8jgf!rn~28bnbpKNRVuwpz{B%mS|eys zh1NVEsXpC!GQ4N=lQ?+EwpUG}JU`#s0kPo&PThkkJr)XY;3$TJ=MiE?Wj9A*09$PD zp%d;RwG^+5pOjP5HHO|jMYuYDwIfGF^rgi&Y2cg;ZjQ4Q@OZ~(-cF=Wea)(J ztMfGhqz4pgL8>9x+r8uJvhrmeGBiB-owzGgc;tv zF~Ky`$eRmZ5kk-*B^jrI%|>)`IrRSqfWl(i4MC)SMfQ6@9r~*YYdd2U+YggFVVVKP1Ynxpbon^)qY3)cXxZt z%7DxLF;9-r=II&%PMbNORR+50V`l>jWB|5`sFm!@x8M??Y9yfbn3A-UD(o7i~=OGM@jo=%zmpcUhW9ond3cl$$_5F>~7 z+ZrjXG(I^cYOrk1Mg+7S)V?L9y$7M#1AvxoOb=L1w!+onmQ=)pERd4Pw*SKJM^OFt z5UCQ%YfE}ABY|si`+Y8W0jU=q8he2BKdq3uLa70PYYWzZs}jT<{@r@M>le;V!F5hm zfn3=#KBL8_?!p@9j^wWp~}0&fMExsDX34Xu%ztqGjBzy{sv*qo5aY}&>6 zDc*}aXCKgSKjkWWK%JscvWjkW%4S(5e?)qd*-jVw!c?85KtWf1_uc-lm)*YYFWDTj zUjfQ~$qtW*dUndn#JdET7DJ3R=%+9^DN!+1R_bL7_9D_B{hFLA zuwxu?vwXuTGdmePu}E7-bwB%2xF3 zQF)bNU|AxSngVSx1a`~gtyI{pZ)ETI@{n!?Jscy4d12bPeCH+w*54e|Nr;a7d;x`G za#rCoXqtNV=sP{p!IxXiRfW2Hb>)m3ieoCz?>M@eNjo;}bfT5AoA4K4025Ow7>ztT z{R}-M07+P#Br8flIZbGCMSQ}%PCSxxJ%>qQDY>uC_t2VOil&k?!1TCA4x@C$RcLo#=qL#e3T_Nn7z$3Z98nugY zP}oea%ZH;)kE*W$3)D#vj*EZ5YzG(QGpygyG=D`48RgBnee)q2}sS>H%(#i-{v+xu>G(343A+5772sVW>lqBamuwOv`p!+3rnL)<=bttPp24(7s*H~IFBRAxPtQa}|k*1PXcmpsFk z>ZY>oJ`KH18cv%!+_FnP_7gq$aMBH8kLH$g!t?ys0YCFN;7Z)`QE_%;0w*0byt620 z)#|2WJHj9`Gp30gdigyD50@-|^X)@|Vg%On0gOqOhZDEf@-Vs99bJ*OKP~%8(4;*y z8v+9SoJSg|4|dDXUvZ-AYvfl8r{KUhiX>>0JDx-a%kg1&+oKuNB+(|hin3|t1E`0w>dpvR0$wg5tf7+^>f9$U-KFi2 z%AwWFKrswN^c&eRp3|*I)h=-VLNXfhCR&fO$T?L^n12MHamG)FOVr;pK%2~+=qY@x zyA;fry2GB-Iy^-bcfmj+YH;CyvV_?YSgQ7AmS78tcVBB+W>d^nxA;Qx#-Q1Z=pEb` zzi&$6Vr4zmk(M}Ro=#QWhXE9KGMl@|90JJORg{o2S!_#=oX+yj0e2+hQ`^64lY&lL za+^OHcO=`Jv?q9)9&V+aaWJ%u1?Et)f|RdcQi69t=i2k6Sd&l*f|V;iSzu1Ar^O_S z#-+L^3<$IoI!Fos)XiNSSuh2Os=}eD*=+UR(RIO|auX+6+UMC$J|f=87HkeVl(56B zf1w{PrrQk6bzefi*SfCd%ZqHp(Q5$6l6^{NR^R+{`V9k8WmY3iqpE|NAOHZ!R~!i2bFy?SZ)yW&k#;= zjpW@~lY0QHw7c|JqFDBRo3|Uts#Xcro(?oQv08j&>hUsmF7AoN@s zHDR9H1S0zsCQ};(!v$9U+l^bhAC<=9Fg~I(GL|fXtA~X3U)eL}TT!aJ1@D`l6hgm2_>qFaZ zBwZ{!^GJ0Cb5y@+9~-!-@b8`-;_-$TJtf_Y}ENf__$F17|qBFMplb_tnW zYQSz(xd&xH^Ys+s?pPz}n_=4M=o~l52$h9TkWmKXV-(F8IAgS#}1G zSkI;~WkGPq1tVf~?f=rxIV{R+mH5F^Ys$QE%hqAFZ!0Y})Vc-NJd+wHPMcE|>8AV_$$$FcKDY-G@W#tLi0&h>`4!ZX_2SkN8z`hVi;1=P)@WLX*Z zAA$#t)VCL<)hSe8Sqbe{W6KB7Mu`;R+hQ~UQG~w)Mte9Ny;yeD;V*&F1nK3vTmg?N z9B`!BZKA<*xCh@|f|y%jzI9GYpk%W8ccsan$i~^G2-9ntLQ`$dEV;pQ0h2Lq;Gui=69>1cku$LW$zVS$@q*lBs{Ixs=VW3 zW58DACfDnbP2fMMop(GvD~U-dh?4Ql#r->x9kxN1bSWKD$^dCVmcPi5-+37Qo7Z2w z*ZD(oW-;WEBzadCu(QxmWLxVv-ZwX=^&alRK$+qwrJaj)tLp@ONJP+pCkOPo%`otT zp))ntT82cf`D^*CkVZ$o-^KXL`0I~Pk?DEhAZ>ShY)1)2YLym8;Cy}e|+FfmS&wJzTjygQWsvP7jU z^!G+Q5QjII#}!s~?flo!7__u~Va{dtUj>$@tK__68x!Z7Rf!tm zoX{}%H%T6DoXv}siqgp#TR>SoZ0)ABEhQYw+uJZd`3a+c{m0g48}kcGqH)@At(|0g zX44P;lcUYVMuGdTp%aH6m|W;BBVt|M4)hgL8iVHJBUh*DvgK;POip4i0+9E{K^2Gz zq;O5|56nzi+6&)z7^8qZ0CSVyE-Tg&n6xVy^sRkdQnJVs(#_h>S?QHgoL^k0(069e zed;rtGkcGTMc;r-ibE*}6mLfdmca5|+zs4VJ*CFXa5z z5P#mV3T+(cdqG*k-+40*53haNp_Y#L`J`%WN*zhk?%^o6h6(!HvXvU+`W1s7F^%tE z$(kvP>+S$yT%h8*h?I7P)}HVZ85<3y_EQ^8@LNGU@X#oH&iLECx<;+icWm9Qra-A= z7w1bw^+Y8b`KxMZWK+JqFk2aLK%(AL7<+Hksf%aQ9N~j^reO9F3}6#*c7_p6fTPMe zAA13;J8?p!xQHFB1!h^D9VN2#vx2IU6#vA$-@)`7M6^mAm~ro!ZP(TQa9iy0Q(6gW zr+_MEMJX{D$RyMWyJ`tQ2`4oJz+&dHeWz=J>fEJr6DrXp2t#(j$gZQjmk7WAlk1AN zAPl{)VC2VSa1D&e_Rsj7~fxIzxoZwm%meAA; zMTy$4t-M1UcuLVIK?E4`rClTJgpIjgv6`4w zGH+tB1r%fPC0pg0gq;~H9M0O0cw&!Z6aiPCjGW1Uor#&j>GpU9gJ?UKnJISgIRtDw zi|o549}Cz0@}c!RlrErJM4^ zY|zoxFJqw|T$czcHZ0y;R(Y;MhxqJJnBU|ra!bdpp8jB*(1Bf} zd4x-OWjWnEt(lhbfleYUovY>V)Ep)=e1MafNU9C=-sCNxsJeZsg(#Mhz@bti!sFul zxDFwUZqrC$dCTfGXD$Lry5Y|%OXm4IPb7^^iKp^qv~TpYW>Zl8z7?$!0j{a7p4z|j z7M$AHIfa(KaG|fFKTgjhNI8y5+0evuOSeCytudMWlrd0bV<&J8d>}Ho6X(JfxgGO4 zvDryK!I2fX%=6(&Q_bS;oZ$(Hq8xN!LyRY{0}_ATY5c&)#CGQGXFydvgA^d}=}?R# zdf4idV93C9YYPOq%%^?$4u*dV-7`L?R~&WmY$w}URPT2p;M$lJ6o;TwP% zoYs{smpT)Mj*OklbDOpS_K zm|~lpPu_&CbBG}t>foP)Pnpa;&1Hqk{6hF+iknn{)<4{bdt|+++HQiSM0gLEH>pUH z`ZAuirEf?oiPNZa$0<&d0kpdMtC>-rIOKlTzKUrZF=>+0s=5HkhX#5x+Cd{0Lmrg$>*T355sTRGI9aCT@5*z$(Iv{&U$NcZD0&s z7b9P^a)+wn!-1(svyTU(Bz{Cpg4(i{3xZ8`MqDiT&nSrp^$pTED@j-TV>Yump1;7G zum2FFY47v8`p|jnW|o+<&rywVj$xj3Gj?3$AAD@<89Yhf+PrRZnUc08#rN~5_SnX2+)du^tL3*ot87{FzpR$u+E&(Z zHIS?_kazj1o6mPiNRzCW`tisQ$O3%{<## z1uY9xH9BT>tuI<_rF{+Cp@L*n$=^~Limr}BbbgCvUXaH;6}LY#Eps97yo1)DuZugM zf~vwbbP7gQfeOC1m3K7b0I3X58WQ`n!mq$JV8C;_aB|i3yOp2)8JwCRB39-khIY`} zh3AYX_Sgn~c!xETlX#Zw^h~mkL}$Y~v0V0ZZVIr~TAt5dJ*NBI0nNIs4mi;Uw!zjr zlyih4ymtu=Ez(eYpeFcKAib~Nd23QweRjr9W-oR zxy1W$fNky3IMhVFuFH9?hn}#I5+Fl zrtK^Xr`;3oQS-JV$(_rCGdr;>wE@XbB)v4rnufQ-=~KES1c{6DmVJFW)n>+DPUYPFEuK#6o3m7R}x2$P^ z&&p^$EQdBQw#5_!e?l8y;Efz)!{`d&S(;$aY0{?0wp(m^*0?;Ca;E=v>zR8pZ18n!}6s6w~tEJ3$rh`=<@| zr67T$giKubmw6+%bbUq`U#=<63aZ2oO;w{Ea+a#o*b?KGj|mfzJnyXB*l(HUKsvt(=cBzD#TIu4xNTlAl(`Yl%&8MkMB*i^Yx4eZNqV{lMyR)Owhvz#X^ zxIN+OdR++%U^yu%vrPW}tpl31?R9Nc$@JM@a6>sRR+T`1+?XCE$0kK)Vjy(q%ROk3x-qNgUMRI9PEh#QMt}-y?rATf zei&m%y6{I3J>I2sX^O-GiGR+Q@1XkkCg!D}vu@BW0h(<5*mka|r(D9nwcz-A2HewT+4HXM>vYwgQJ!JCH&H6g0o%7V|I{uA`-{(Se*^=>9?sQCl54O4rjP*H zcexLP+M(6SLYt%&T3P3sv7A{Ks?G8Q-opf(p)`J?A5%(&*MVqT?Gx|E15(O2W5=fk zW3GDIkE`wtCvcTPCz5;#ZBhkGDd2YBVf0n_2G^1~W^z&;e1TS71b|FCn(?~7MOo)n zv7sH{Ba1UhG};Bfk&*jH<<^2~>9+@^q>Th#uyIL}r_X0V27%gYC8Yskb-B1CCITdJ zk6*JW?1t|v^4K}H?@XZJdJ}$=E_px60k&WkTbXJQto>H`vfnD$$5XINjm=9@o%DS% z+Sc7!rY}`S#gxWjQu@wYFjQq2gK*I4-kzNPXl&RrBMkhX$pymq zc6>S4j_Af2Bk_Sqwi~!?mz)z(3qsM2s&xI|;Cadp(`(wZHWb70sv! zpj|R43zGXu#f6Eh6`=583axHC*(9^#*JDL ziTZ?=RUgbL{}R&VEliXA5rog6_1a0h?9w~9QGAPYDd*)mpl#>nTC(2`6>BOV2W#`Y zI_t8P@xe?vNiNiFe^Uuym7j?EM+fh6mjk-#FKE%*{wur93$O$yaq&3=F`mU#O(d#u zrJq2$pCX)h_ss<%nrrNL_qz-)ap#9g2k=Dqi_Adw_RDpTRg8!FyD->jUz+WI_{Q4j z??ii~|32u&3T!l*H}g{co8JamaKpI6Y)3B{Jg>^#%%nZ=k0&D;te1t)8kAXZnOydN zetuV%jod`REX7u#gSbB1B?!j#0*uww;wv zZrUAMFUfaOA1$48Fwxermb#*uH`N06A}_)5lUp}iypRH|Q5@q+QHf&L*Jf3*Y~%HP zOjO!OP60WoCeoqJ*Zs?v$-T1QmZf49!VVbWjH_pCvKF`;%6 zG>UNgwYt02AxPUfiUqo239{7qW|ixkXMBg%v*)pLy&s<1iW0Hu5aMm(mb)ToCri}_ zxD7{l$&A45<4(Y%=EM08XMmg_V*>pRX5{TzNYT@VMeWTM?=Lfiy5ua|DnV*fv|>mRS4{mr7AcdNV0KG57M#~h%Pr#weno&dW58DQ*r}4D@#eV=Nx&AHafWy8 zyB}cnJG7BJ#mQvxd=;apX-#DX)XwN45b(q|Hge>3;BS(uP5QuH?dByfyN3@X<{i&C zO-kn2*V;wLux61x{k(TF3H}PIZOn&{cJ$7%p;kIa>dGoV)iTkz3jr8)u=&HCSkZ0c zMGBn)vvKBcv3+L3=B8NYaEi}oLAUDBCInsQRR!aJPTtdvoC!hkFEh~grwWYHPoCd z;$|m zd$0LfG3{Pm&m56Z*Ui_dw37X-VpYDg0g*fzN_l)u(J&d|`&RxO#$^1<5O-Sz6nsE2 zzH7g8l)|c6xYlE@PvzMvC)2>sz$xmtWQ*b(DdAi{mO)rwnch`BbR-BQFv1(=q>S`)iJu2p}f886MtBv z*jA7c^-H8h@zn8j?p)q3n4`MS)Q;?q3k?9pLg~^g_I7(6;cFz7A7O}CnT{mW#rP{q zwU!{>q3z>Q{lm2wmxf0&SpxG9eGD7Lkk@6Rc2%QA-op28E^=1v%<5-frFeSvE3W2- zo>6Q=p$M$S^-});vMgut8~T$_Lrb?omKQ3`7IswJ36YS@ztcLi@5|;Bhb|9mLYbJI@ zs)(kmjAUTAZ2l^&JyY|i_r&;nD_@&V1vaMU-2?N7-GlD0anpPaZ3aW&f8oIP&_yBQb~WCd5l5LU+5>GvrspZ2_psi#b_IYl#y z#*s`EgW^t>083aSwe%%akk#eLDxw2oVh=EM=gXyTmQ+r*`-f$om}Mg6uGR2sAJ#Y}ZD)17P_4vN%f<>Fne-g;Z#4ALQIc)KfF`_h7 zXM5ngb8uUqg|O6|#*^)7gTBVDL^D4=vbts(zIKJ4h)QInUqQ7Fl-q)0aG;qN7K>{T zT+o!y)o%V;O$oNaqz2#7rSTn}-IB_9G=&}FUL%71C_y$tL)E8TKajkPddP{k({j*i)N zhTrjZMtu7lfqk?#%2>Yz8@QY;xwPvB^R(x)-o-#LkB3^frJwN~5b)fJvOqM3^G_UC zkAs|kRmZj8{I*s&nCb+a<-i}yEW5AkoWFs}X|cw$ed;N&I;!Sa`)8M~n7S2g6`QjP z=3w~AcGOql>o>0_fhc)-(#|T}mBX2C$ONq3!?z+v-mlNvwB=PKXTHQjP6O6ZQo)` z%z@v`F5xPBXp&X2n5$I+VPbfn`(J4JV&3}i=sGFBo$>#~y0S{N5bPP~Za7+-C?(6% z#R|fsN+^9o{NS)N&>9tu7B$};)*a1we_DvHK`tQ4M$(3#jPQ))E)Hy9F}6#AQQ$1? zTiybtF}F6A?sYdesaHT(8b|%;qrTHkqhPzBI1t9dcp9|yX^7EsYk|77a6uO!lv+3c zY;|+j3%iZ$qgq#JPlmd;qL4(*puTWk+9znZb!|M{;ESTETl8r0e|g;kk;5*D6ZqU0 zwC#>%obfSoc?nRod=4tfRfEVnEcsnO9cP2~$@_Auo#2xa*agI?QLx3COcb5-uXIIl z9V*%WzZ`K`8Pfx(uvtvS&v-ql z0>%z-cG`08%&W3(Y?Z|(CV_nEd#Md`NE?ToC<(fneFeX{8BW~;Y9-GxUY>ZJ5SH4{ zaebUZk!X}IbpDI)*NdFS&990l6a_2W%WJ>ZUEA>6JO8owP*@!YSkt$nII5x(!>bFo zxCwEEwB;ao5LZi>C8=hahX{of_ild&w2gD5L=Hpk(Jvr}+m;~FHeqXPgO>}z#rE;_ zjKzntrajnW-Zgs57Dl_uz@D#v*`MEW^`x1EP;HfzT_wV_6!YbRle1U~YY$F5(=?|o zVs@Kf723xJ133XIeUzDmQnwxo`CCFgUaw@$?i^59ARGF4HuLXfFFrN~!G5WoxB^vo4xcNe6JaO#dZpLBHrJu5(AtKMql-xwO(?Z0d7y*_v$y>Q@2N!JnkdtetXj9w%69=u}cG@1p^!eai!^yQ>b4#!c;hj?O6W={;sUmr{ zV|q@cqTD$qy0_x{-nr? zj`Kgd&NNMO6Og!G=*@L+}KBH1N9Qafm)s zNe*M_cWhpRY4@G@ovaP-WIFKBsF)-Hp{Nt5_&PV7C@@er!7SDqk(HnINal~RY;gg& zO&+QfBry)UeDdPAe4~6T#O57;?XM}FOJdzdwibnk`zo&9fpYL=@eB4TlILH($_ZC ziJgS-^z{-UaG!UklZ)X$FYxp4&d4>GRva8Po0COsLxl9?Jkf$y5N*qFX@QYZ9#-dp z`ez=;Ok;?VF`>|dUcBFgvJ_8mH;)Qr!Rhxvz^KG{zTNiHgP?{{7&YEcR~6xZjO!sQ+h^>&o#t&l2KfjqoaKKpSoN`0?-cSKA~j8d>1HhG0cOFXeU7 zQ6p*X0ZdOVlsCh~Xy4=``-A)Tc9Tr`qb0X%I5D&wW+G2J z9LSSxlRzAX!i(qc$P)Y20OsyB48;6eY!OtkIoHeH?2eM+I{M+h8xD51+T}Ni!h7%J zLu!;LkCEuV%-b$$6vZs6Vj+@_G7?p;1Rnp4NniZT%l{F?kk@Wl0XDd6^!2qwIfj6? z7C}g)Kh5`rQEeWSs)T;kSp0y}oLv2C=Q4iZ0&?uVLLrvkc0%)n2)*3~aN6Q8V1Qx! zU_mt;LlQsu_VM(|^L1f6S*02=1Ug}|=IAG)_R)#!NlWQCxQ%smJnBg)n74P&P}|6G zlP%2WXvMI(HYn|lE)+b^|JGCrtoNLvd;(LplzFh>j00~|lys_#H^yh4b`apS%Cb+B z!~1x!_*CMj6H>mzY1oWQkZ=aLJ_au$pnAc@A-_;8+-#=`Igd}_*?W+lF-4s;i|dJI zQD>t>rtbeS+N|NV()X0q>p7XO9hYG4CIb^+p1`4oWMSfAvx*GMr~4bDQefV+1+bMN zJHKNo{gAWn6w1OVGu1H2ilGBc#W8s4yKH0KUE+k?iB)P#VQ^_wbtKgdN|7BXcK0ipWN`t(Xwq25oK`{ zN8_2Az9?9ucxtw}-*EMq+!;5C>SvSS{?N*xi~c5j*5d2^!9@~B-^raev@QWo{jixkBiVFfLNP$UAQ0g7iswD~%G*r74I970` zBXS}s=}M#-LiTV9-?i|6F(K{2v_vW5C+ZA_iI#-!QL-DPa;-*Srn4fJ^5)*);y(LK zMs~JtHx%dlmQwRem(l`jIvH0beIk|M+To2o{cJtO_$;TbR4+*WF2|# z!_UPaxV(TLT6lXu~xGjLBg=)n()+D3UW6ihxDtNV6 z+I@Ekvx2bElMqotjdW$7oKP!>Mm>jgC$oh`QAhzRnmc4fHUEPRHWLRT+{?+(#pU${oPaS{KFCGhRCp7W2E|JEYXJz&m$8 zDz}KwCL|S?WiXW?&XS>g9j*w@+lpJygk}rVu>Hk4riF9&C!`cE_e19@GXcL4o@qzw zIooktm_8Td!}v*&i`zU&2N!+!`GG5EOlx5#u?x~tFO~^4#9kPrmE#RX*mNm?5BU&< zjkrNs5^5~wkaE>gZ%?Ysn~Kk73t9sEiwJrPrD^9~qIx3znay3E1o17hj|HC@|C~&k ziWS;86CWnQio>^4s?}@0DMTwE$jL1rrSWK+UD;}529xglwmAwntE>0O2lPHokD~zr zHV1CSeQ|mr`QiC3HiZ0+t2YR#W639=-*HF-E4jPX2|C?p5EuH&4t6Ydq~02&n#Fft=}KGd0s`N+04koDrtQA2+`uWv0g9Tfy31vK562f;EF)Mn zyG?9(KSbkV@A^By-Ykgi$=v>MW;0ZK!-icnCT5jVFr0cc;gB71L*(j9YBC3f1y26O zX#)5}5vjkv$m8^;$z>}y2yNN4X5^Y`qrwd*%RTR7Sa+hNYD18mWr#I+Ab`T(Y{_ao zr71yNsiF_rwz($jCbIHrytTclVp<=ilb$9L7n|c{K+3cH4jof@poWbPfk+L zVskuuz?C%f(K+Yn(HihimO#Ttf(|z#DK-=bf6&f1U+?v+Z_uJ?rBkZ8T#l56qQ7O8 z7kRrk;Y!l*B_|orTXqp;Sc51@v%;`-@RnHC&7W`_am=0Fo%cJycEZK=WWGM?-vhDw z>;fSy>6cN-Bt+=!uFD$#+Tw}Th#IWUe`5^sMlb2Hw0r>56W>PH@dE`&8XjP=Lv%j_ zaqg%xo1ObfPhPBai^hN|`f(5iwVYm{_AQ*I7=4N4$tr(O$5gYT5isGirI~)X)>!4S z9n%SC7GtS5p8d_Za}Wv+78_=P_!3(C`l|6J^{?$K6 z8wiXi?-%i3ey=+sx%xvAT@9kY?XL>NtHL;Xd^=oa@ibh-OmisQB3hZipE|#$Qm@ zlGM@?F!wiG+#QBDeF==PXh-KDozR(%jeEt}x1Et2E!jYA7x7VM*S_##don^V^wI-9N z$^J7Tp}zS-h@&4z)(s?XG|DH3S(c$j>nqAuzX0tPRq1Ex7Drij+4j6N*z?iHM_*Ce ztwlct+KSt&lcM-T8D6++rhGPGDdIXZ__CsnddMu8zXE)qqoR4jlrv!<`IEV}PtE0J z+*~3M`VIDOdXqd;o3R{5dI;o7P0+ zS6)^B!I?(JDQxivu~Pg2K(K-MQU6f`ELwjE3snuxQh zF%|Ml z|0PODxPN;JD3LtrougN={u9mN>z+KW>UQvU%n3vv%q7pg;|=*^nVpKMY#_bHUeBv? zh8qapzu2m^0Gn*hC6Z^+(rC;Olb8gfZjD5NiS2C)71sol$b9wj-%N<*szT=v-%>M> z`~x*=;q=8TY)@43=MEGM`7`z2n+@RPDAY-CNlgu*e?) z)O4>MhP?xNh>q9<=gzXT_SF>CCLPAO7Vx85eg(-}L>-kSk|(rFw*!lIC?5J`V7JMQ z$qEQ$Od^`otr#f$K>#&1${oT$l$Ydhcftt z0O1}vjXqJ?5#yN^q_BSRhCP(la>DLpRkY8w{SAO19@#Z)FE+M$#wgI1^RmQx%Inh( zHwDEtwVfv`lYXAz)3(g-wvi-VXdkVba~wqDRC;=^Ta|3~Dgy9n>JWN9?%AtxL)j_b>eEZ!+C6OR*=^i8wP-9{t3jzhkdS#P zW2o^Fz}*waPhkB_DR+am8Q#iQLgy(zj}2VG;ugmV{#miL7zT!mlYg=>Q$q+svUqQ! zaRt-(oELn~pMs7-!v!$1tu)IY=FrQ)3UA=V<7T$;#L1JiVP`F&#`BQ^JDRmA8#9qOGiNsXQwa{IRoL9gsjfvKGRK3_0opXiTbUO|u-*QMa&i^KZ z$H8;qbEb8S0PnHIjcH87i)ZT1%pF3ix7tWjG^~&eXkQa6PIk z$!CpWbw(xfHs=_`0<)ud3WA)bIrbAyY2j>@$5VWut0SI(fcAA9i&KtBz~!og2drtHRT&SuuI%GN>w29^=kQ;@%laSSTO+GIWaEMUhlKaYGB^ zzWqIQ5>AsJOb|I?AeRYCi!|1=s6XV2G{!zO10XjCCh^2|AwqoqffBhhW-pfi1Lyk_ zO+QIlWQF5fueCyP-Q4#>*7?F=9L&$=##DNq?k92;HKFOr=Cl~YHRC(5vwwWG4F3Yn z9+Y{rq&;Oz?xn)=YrgBo^pGuiufif;@@LNf%=Bs)vXTyRY)G zmKb+wWeJWHlv6dQH5L%oy#}Z&hnAS>WtJfcidK{-$ec&y#nUaZw<<8_;+6*-+})9b z@!Q9jWw+c3D$iGAnOTRkDKAV-()CtuDyYUdPayS4`YWsh78Fg~f-VYdZVA8cHpa6~ttMfexDl78rq~82*?Ges z%yz)QIkc=Qo~%v_`3bLGJeA&=yrquJxw>)U#Vj|z@n=LV;~>|f5_ZM)BR2ugOpm=# zLB5CqE1IaUdo-!?*RuPe;Lu4A;cO*5Fee9!4M~OKB0}`+i~Wf#E0*W!UeuHM*U6|w z)G9nNJc|S-4Fbn66Zhz4Qd-b5C-2n*=$0!Z(a9dmEHa1i!s4~dCbr-&B)Lb`?qhK~ zxg{cFjgC{Ci70+;!www`G@E(Vi`wG^W(2qPo;I#M3Sp* zL*n!}9dKOBZieKYA1|IpV2lsH_^dMF z8tGhlGD90Ni#O%xJuaAiF$=UfR?Ay4MNA!Pkg8)RB-t`4+9LJom^IQkpZ7jgCwBDv zhUEle0i&YfP?yE+)#6x}SAt@Ts7a3|2%S^|bYM1S`v5dv(Md3YA7|?$ry8X|cljCythsc2(t*eai+gGA@o$RUC-Gy6{F-8k;6{^n8npf9CXEg2h>g z3wo3r-!b)0VXp|p^Gok@uk(z_V-i%~sz1GXZALX7jnB|KSq1GL>zg>&%nV<=jaw{@ zmy{}hGnW|^EBcSi`7t<*lWc=apsR~7Inl{-KE_R% z*Gz}2Tj%0n6$!4HjxCJ3A-|uh8U2$rs7toNd6ZA)uT)5jo5K^U3xf(;6y0TM~ zF=&~3(TMQ!k5N^@r$>F$RNQb0XEO>M$*#G&_9OT|V1B^R{M zOHGiXCNqW*Ia;f~>K84nM%qe;vNnYE8%31obITG_Ead?Xaw3cTM2)V2FHlr0BT4Hk z;O>v_!pN}oe3yxmcNF*v>-!QxG4|ouq09{|+z7zwSRSll(xUMg++;f7@sxAYR&!uT zH^J7;WUS!p@?xQ)K;rA|flzj5?Mn==l7WFtU>bQ;`zAN8m~E2tIIl7ZIcI(!*JF#@ zQvN=_{M#DS-gK;!Se!)~d(-G}SF7Q)l|9ZBU$H5Jm&#Z3KCobg+fy0asDVZ$H7Ijz~r*x%yYMyq}0V?f0A&N=d!hK08y6*MGkx6cd?;p zo>QbmE@{e%g~oU*Pwt)QLgBk(moJ!diuG<1*JiWpeoxLr)FPMPQJdtQ4@1^`hu6$$ z)7gsdNxycrVbg{Az+qRS+}It)qEW?VD!UuE)nen6cw}~meT7n*h-QMw36`K2XAq8~ zrhGo%@^|nRuBHCIlP-&aMNPT6aDmb$7F zxE0`RiKD=_aIlM|m>7dh`79gr;ya+msYz$e-p9Asecq~$SYJgbEwdc4!X8Nl{Bj;Y zPyP%l5BH8{+Tq`T+CPtzF#qMji@kEe@c+pK$m z8uFuKyUib#(NHdI&cK9@V^Zq7Ge$_R{I0A$wM9zWQ8U=NOI(=6tOz1) zvk+NdQS}P0`QfF;-Yk=SPvu0+(Q2^RlQv{s5l}IPXUn;XEj|^X)6!BMB#3{er=Ol9KC6RwYgz5WtlI2oTN0m zrZagvntvPe#=lu$+gk5%vi2QyS|)8cArilzrM%C-6;T60Cs8*EVVY2E>O7{ENu0^Z zOs>%+nsM}1HjV=#?RfUc;Shz*RO>{b>qXL`ht+cUL)?T9Fup15UDMb3hFP+@c{w;* zcVO1CCl0);VWGa@Q+X|Wtg!oztM{3gi1Q#uCPA>wYHg3h(~kgII`fNW`*z}0sQ&4? zZ?`@Mkw?m$%YjP{vjeJ=Xt}Jp_zti1^QB>eT$V?Lk{Cak<7@oYOhBJkE8Lo^L1=_x zY(-`-`=mLJE%b{l58GwDvU)URbif;)^Wyo?E4rZlvB}o;sSdUxYaNHFa$*)!_@pRZ z+#>O0j9{1ZcT9~Jl|OtLJ#8(Vkg7wlX2R-fKIe>LrXQoj`WVq4ZARzdlt*Z`|M3`a6cl=lf^Y1T8K^3l)vd1+FnV{BqkUVl zdC6rt@i`e#p<6(Ae}Snj<$ZgL!vbx4zgtwSI}TlmJv#4kZcoZfLtP+F z)rjgRwybYb!#$K%+ohV(%WSPzmur_zF#%;=KKTcdbs%+OwLK-&B!?aqOyV9N*Ku^A z%n#N#02_gI^kJ%W&fh*1p6kFZ>Gr)$|Awgw;GUMt0d)*!KB94>XD)0D--PR1B#jr5 zl8SRG)Ht>V5X-{!nxP&i{G6tA*yr+4C(su4xkG5tw~U@GO&2QDZr`*21lN*yUMn=o z21}Z%oUSc(v9cPY_{0Qzd^X7ZMFvggV~EsC9=vZ>Ps^_XPYb2*d|+|1OmQgoy-o2)H-5O%T?b{a!wRA%+crF{Fw|4~GJZYUxr_E5X4k*Fe^uH-nw@GlK_ zNxgzKfs-VVqns|^R861EY5r^?-1$E#>A{Ir9w+YZLr(uZe|A5!LjHv_RlH}*vNu!T zWY$!h^q(xPV{*T|C&~EH@d*3dtF<}$%ab}p^l(g z+x_d&1BDUe;`SVN#$AVPPrrlgHF3UP7D1wlxP+6?ho+YzD@fPK;=#|@LnI!a<5Yma zy)(EJO_T9VP&;X?v#EV-be~(4kAoF^Y9`?>?48hX%TD zB*hw7e|6=RxlEgv9L7hnAHS%%CSIrdC1ddCs`ul1rI)69u3D?I@TI~dst&wQStUAE zSR$tksdF}ZsX=J_$ecOCG%$fMY*h-z)z?f^-L&GkT@a;hoUh0~zp8LOyjHou>=eNB zG?qT&29{xu1{~Om!MFxru#DLvR5nXdeDVCWa?S?g-w`wos8lp_Nt5$68gIzpj_1X7 zwmd_rt&o+XNFN<%R4SD6W809Crd!QC_q?~6>+us&OP!@A^@PsVWPb&c!QeP?!jXWS zG_(ZG1>?3^W6C6IatTRQ4Rg@^&qIvS^wuAr6qTtztxC^7Cz6KNpH={(r<@9>x9e4?5L4qxm+yno?KL^7ZxEK8mxbgJ7jtRmMdx1? z-MgIK^}%mA(ueI}uv&qzy#xI0Ow zzDE6yr@0v>kvT!j&E39KMI8-8>5}lE8i?>i%9PWhld(5sZ zm-Zj#G>&nwtL^6mVRuaUG(8`=uhuIsswN7fW7lAH;{M{8YaR0IjJJ7O)5*@+e*Gr= z==xyiDct#3C}%v3cGC{v4qX02>gM>QUZcb7Jh{ORm*w1m(X75_Ii$Wg15557U-8Ia z;FE{c&nh6`KyaP19J6uRcU;XpDc#-R?KWAKCSd!tfD$+BGZvE&`p@M0Fao-)?o^WQVmiDTRK0NN3$EtBI}+&*Ce@o7Y=pRoFg`VRyVeZIr4OtN_% z>R61Qrs60UsVBI9p)eSuG?M`0n}ctQsL#uxb`lrcI{U5Rab5^H_i0EQd&dzs^{R`u zB>wB#xiuOa7RDH>wJRBAl3A029GF+Pb@&Oe7A$#PD>Ei)(dV3KWbR9hw8Ay0mH5RP ze?Z7HO2(tZ-((OyfYbb)%Wr>25Q{uNLWaoT@Zxxddu(J8+?$A#J`)&GfbXH z#runGeG9NL-Le>+Rrlq&IuATYr#Vep1vwq+LC5lJSa{9@_P`Pd1D-w-C^A8PlU=J} zlokek;tnPcd!Tt?YAy^{ZG{rK4-b?F&b~>y-DLM~jotryrgMKJnX?E9 z?wJ~%V$mJbNN_`j{B(9bf=#|2j*5iAjR9_xJgIG%`8m17-(~>{sXv`=!s!ZDfbMAS zEP#s6`obA4N=aijjUPQb!-z-4KswL ziuVl1ZnhEkq^<%it>ed)m|oSsMMzqEG$e3HqQ#RlBDA+TXdaNkCZ`Qm;rLz*Fn4_1 zt51LPh8~XHc5%}7|GmUvN0c{};0$PHo3c}^#?31b4SLqyY_5Pq*c+urfvN9c({yB4 zc8K$iKi6vpS5#LEt0EEU10L#+`~hvlc}>>J2yKsrC|}{?*ezJf$6$Q1-;5vmx{6XD zdk;jlH@#w>g+x&^WqsMV8-LZybYGp>ej=KdkMS~9Aqn^DGLe$^-DVNn^%UU!bxx=V zn}BA9xw#46*^c)C^)6o1!vzpk#Sc$H3TP~9n13$)Nr`v7^r9sGhnIz>e*W1HHD$Nt z7VR>}<}0$$_29(fR0|H*fiX!meBXJTv{!D~3WR#v1jPrSdiQNrP(y09+NKN+HqSJ7 zfo9<(WHkIZFx%peJ=ERqqZ8LaT-1*A*FIsKyE7`K0B@6Sc^8(F*UM9-91Zh44oxHw%VH6&58 zZ1b@=(zHjz-jX|Dv3By7K*+EKM7L&pb^1^+jX#p%X|4?NlAom;10VO1Jyu}=RY0o0 z9<7Ml;04AXx7j)F1CFnYzZ|UaU{jsYHeTx!h15>>UTbdFf#(c$JEH(OeQl42%ye@e zMH2qDAj8z>WN|-Of^o>9p!+;srT2dr$qKG*>GI>jdD;#cbnP)=uONpZ=sOPW#nf)l zGPK>a?R}Xx7L|4XR2<*I^vg|@&7|taZYloN)7{LsRmj~jz`~Pw1&!D7m>l1)e+k=O z40miti$+^~AI7`+39RMpUDAH^gQI-az+@B{36RKa_d})lyz$IKwmD&(@KZ(1fM1Eg z_@>#ZSQ>9M?-Il+U}8s|t`8sDyQ$RfNQ+t5EnLLvYo0u&@tLN=HCg#%4jcXnr=RZJ z@l%&elWbr|j;a0y&VIP-z09YRSE7gJL1}6#+0dA1%7=NwWL$5Np}~`Kk4#yd*|KYX zf*U{0Tz2&)h7ny}c4H=1a$A(;6Zi^C3nRb*C|+!-{T)$L^UdOJqVRJ&s^){!_;yUb z$q+fYYbM1t7;xvaKZxJ%<{xd-x;4QzDM#*za{ko*ALU%d)+=xEHu;XME|!m8VSv-C zjkHSI+`N?G1yB3~e9DH6iF};LAh9s;+W+(Ba@+LgLv{B$Zw)oYj~{J*O^5n5Lt)Dj zrmUB_3@HW!VcdPkg zK}w%SsBsu2+i3qJ3h~{gn7%`6M4)_hsqyLis)8xLOB96saf~>HwlQjb#+c6q8xiLo z){>P5WGk}oaQ1$dY98Owb~Obf2p4yB(@#xNf5O7-ZOpcCPA_;Ew5=;AxX|4D(zObg zT%{+Ng60;Oyz&%3#4zp zAkt41?M{KbN&kf~;FthxoQlY~1EYRuGU_JFS&NLZp*y9pZNQHV3D~EH$Q5qyn~MlP zzVd#=RfywjJjo+4rZ}R_HK`ix?icG9YI{kx829VRl-yEj!muzq*X5Mf77@4y;$ zGgsDi|8x{XEe26 zy*Qs$+$b42hx;kHk7;d-676kk_YVptKun))t%jUSn#70VFW$~~XoCW4_?;~7CjYS3 z;^aSDbfZr_Y_t+ExMRO;KDaI>DuG1v*nAYAAn!_VM35UIG-}BxH`o!c4)eG*=8UJ% z@xmN#x@*J9f<6M5X*!lCqlB?~l4!N7LpBkO8L@{jfN4|@Do|?u3 zu=AX7P6P|_H@%F&b}(Zy>TZ($;>g|%*4~Cp$;`I$S@o}=3ye&xGR4-+6eKR-Zl1pQTCk;SD2Fu^e>RVF}c(pnB6TVi@Rwm-Ta;_ zq7XFcDZkgK`Gne0QU^35Zlb7D?lyOS-+sKWS*ONUq1B>N& z=eQ}Rs})YC^7r{At+{czO=UKM;23I*j!$cS8#_xK<&m}5EY5`1PU?d9bxMt=pX~}H zWdCRUIu`NQe7H{$)%(GQ;%C<1nxPyMpxnGIPMb(8T-&i8y@LB~CrCU?<@Rgy$lQ9hDnh<}~;ga0hr zFQJ7yc;NAO6|t)PIs{*bSysP)=KA~I_orJCcT+N=PvfSE;e^DFbDpLlPo!~pTjMlx zXD?Q$M4A}`$0+aUdfy%up&TuXUkt;6A#Q$bx7Edfj}N1lc02WwP z#Yf{iyYF~&xeaQWISYx(#oZ9<7svMjtJOS?(VuHzHg?`Xg2S5lMK&s+4i*qolXd=HTm_h4 zSrX7!$Cz=vS1A)bGde__$N8_{6c#Y$cnG!B?+J0i+x9)^{cmpF{S#cvoA5N_5aS0q zkmpsn+_uP?qMYVMoe+YJCp!Qhtgsx{w~LI?C=VwimuI#89ZQp$$nZ3OWF|Hg*w)oG z<>Oby0my)r(wVruccwG%0v0 z@6BaXDNxv(PNvCRr!RX{I**QR&Z1}{pq!0j&ktOI;Krxi7#X*?Xp-q36pf1|UNY1y zX3KOfqiQMmebG#f1p*2F0IKY)uJ8EzjR!pw4c9TAKTa9cjCy3%9OfJfDo9%yRxTbs z*x}P?IJZowAB3zx@Gq4dk@WA3yj@86u3{BcybkyCd2^@7K{g!7rnh~1sdpk4|Lm^P zEo*~wlB2bH{yU!DT_&Y&e9B$xXTu|EpUlGIKV#JBi-@>vGb!GugA{_7Gky{>=VsQY zBIS55!fRyxo2#O;Kv!MCITF-j4M0LYVaD>s^=|9NcwU!ZX=Lx{e+*(njo=Oq-vRaJ zQm0p_})E>6KZP(-qdPTL+QPo}CuWC+;|w9^`P8qM94QejtY8_4f?`h^Eq zlN5b8;W<8jE(kyUhg>tB3tnTw$B>YEd0ZK!`X+>PBJO>d65e+h&4D}Tn!0h4GL>NH zb8#;fll_X^Ei&Xoj*J54#+h)kq@uQcN(WX^Q!=MMUtXXvQ3b5ef~OKQsWQfUVCub^ zkppX3cV=X&7HPwBc@`^UI@d5mytFAyEXJqz70)v?5iJv;F{G|W!y&rE?vVTs%k8pR z*Onxe&P%Utd%??1eyEQ3#Rn;#V24NFRm>Izy=OM?6I@@6=a#vxE+KR8?vk7sQ+gpF z`Ky6D!63>|;XqH;#ZZ_9bVYh=!WGKhPZG%+#j~lzxT{FwV;fffc2MZHD5F4ICan|% zy-!C~X@hP(LcHv4(h~TJ>F%SYtn|IZL-fjT!_~+TRU38iWN&{9_haOVI`;M>iO<0@ zxu%@LZj9dbJF1?EYUWN;IT^=*i@>FB(A z#?!76Q7~ma?w&&2pDAiXjItVI0d~T9kMT+Q(`GKt(|8D&S|e=L$4~_^-$TfayXOjB zdtivh9P&H1KJ99)dgff>NNzenV6IAjKHhy#v_r4`lRq4f&9vM_&* zt6-0~3pm=ArZ9JDNb4SK8h&T{JD3qNoOWx?_3%09cT7#|J&TITC$&vl=D01fFt^cB zVYM_V&@wBDroR_oW7W{nwxxhY zF(@7di+aq%orw_oe6rlBQ(_?ZubAS?XfY|3Yd+{Dg^v5WO}0^+YC`)5sJhu;`lQFY zT&6X2yz8gD*7yN%@w7C!hvTi^$1@O>h3s``n-BKqlW zAbu(DM9cW#&A-EIPYgCDL{PWP!Q;)Wcjz#GZVd!4qb!yPSOo)=_+S2c!5{xo&+7 zcUAW!J`iU~r>h-4hnDB=wV1~BCA&r>C_p2Xzve02x zVVtu+bw@16(lZWcI7S!o0Ab>bfoOKce@<=UQ^XxX24@?im!J4rA9JfT2NyM>Q<0Z^ znUSP0)!~Hc&|1+M4@~F`8y&}dy?llUG3i}qgJ?=mpQ2@woDVl%hKm!`k*R;-B96Go z^X140X?4K%x#O;DrVBb!4sJOwdUr#W|3uZFQPzYPk*`NSDtavrQA(>##&@j&R-dkH z;0#Spr_DpPy3jk4Y1k6X(=B(Jm6#w5zhiUd;&{j53>m4**XZ7E+D&5Ywzq$t!;sp{P%oy z2y20-xl0Uu{B{6$;lz)-J#Cu99fRnDg`0s@!KQk4*${3V@^0ng4toXn)@X8zMqm}~ zbOsKmLb+{nA?v?U+OQ~?jyW%M)Gd?)Zme|j=l_48It;6buDQjDa!3TZoS})aMJZcu z`ct2!fl8S;^-{{8oMp3q&%sj80*?#_iSM}f{sC4C<#m}46sY|8Nk;xxdG6Y$Fmdkb zT4U7-S>KHa57xL3UqV%<0RlX#jG|)y{xoqR8@u&ro|dNYN}XXIWjbR4ho!K@h%+3O zYw9C%tg9k9>{0#?$l=Y>d>hEOpSW7hQbg3eajzO+5U}%;{?95r+Q@xmqvbNGah%<4 z>j_q6qL3G;uCMGvf_aYjMl!#lL>Q%weeD+sQ{wg6y&f=Az=3O=#1m_nX$A`0?;PX2 z^OB(1xRbu4+Im#AK;I^Nh)o(IlVOCIQ0_cUK8N`>DuDBl&5tPuC8kpo<0n31=FG1b z4PiCu$FjXoT#%VgW^4d+?wm(Kmkh34p(Rr_xCRvG9RE-Ut)PN^ywM^R*3l1?GP(%k z11Sa@tR^ zHz4Deq=C%8Bpwtv;@gP#h4J}F=Y__80P?r$F#0Sf;^d<||8~^dysU`5iK5W%`{7L{ z&rU%;C<$hYP=>m2-lqG5M3oElCp_vO<{*rzw^^CuX>6pj)w-PT+`R}{CQ|&_i20x* z$tHHfkVa~%&ne&WPdAeX`BTN6Fjn(t7U1kvF$Fu)lzLqM8J)}Z-9&L=)KvUf9H^aJ+uWKz~D@v|vdMZeiUz4C|Rd;G#) zIw6@@rhNASLx~7~Zmb#7Pr@~0V(|RL*9u}-oJhm_vjD_6Lk!Xek=x|2w6irkmMlAz zhke6t-w{4?9~fBt?_lm8%+)76j2v z;J$+DbH%bNpQAsyKA+G>K-9PjW`OG|P?0f$;x4{fxIXlf4|o?WWXDo435aGp(kzVJ z{YfmOj_pT9N>R_Qc)xU75A7wW*SWn_c{7eociRp(q;B@g>J>+@|^Y) zU_W9Sx|G2y5ShfM7ipCmZ|6zilkK~bj5D_(qL{aAMuIL}FK@T8!Z=z!->J-nLF;e% zh7EY_mfiPTj2t6=#Dm~%8;ShfK^eP{E&{P}#0L=$bjJ10lenb`*pHJ^IyL0vk9W$} z-Fb`0E;`vWR*@=)XU2$Ey~ z2C+8c1z~uOZGRQ79hqF3OOCKTy;lE;r5&e3Q1Y})yB^@yk=@M-1!BqK4gna`#@R?_ zi*vHyjTd~4L!OvykBwY>4&?T?H`kOD%AqtaaS_wvmJ&~P!vhw645NGyve}~j)8|C;Q^zk7c?28!yA>HT122B&+ zZ9WuK?m+U6p&MKcH(z>AL_!CySMi^|l-i%5{| z_#rkqjo-uFCuOqVWX5VuS!Ds;HpQh}GHOD?qTPrGLLnM#5y6Ql1jp4UvB#0iJec_N zrS#LCYGGY2C%Oqb5P$dc=>B$wjg!%%s96P;{@8#5uX3Pwl0VRsI3ySNpB0RvYHQhY z)D#Xs)%cgP@V&nzm4&KLR^lO|!rq_^q#UBk$mf_ok0$w(3ujil@LH_IAGn*sYN<@l z3av2Q0q-wQ7Fc3(-kT{)UE22;ND`ViwovXU1xU)|bR|q{aMbUxwtlFDs0GvP$DKX> zW!pzO63)MEp|_csLOB@keYJmSgA<1GqE(2(N=FTHzj5IeSi5J=hH5dnDdd^Rv`Pg^C;9C-9fQI`IC^weaKsva1k?vmWgsNaavQ zrq4D>>CXwc#)6XT{!&0cKPmYs)pvzZ2{c#7=8+`ICEWgg#NcVdfR&4W6%Z=fGbk z)co1&YT4wWJ-#S!@1q}XG4b(#7;}Q-luz8FkdNe3eh&7b8euSiSWK)&l1OU2`kyb1 zX!08#Sz(<05Rt=osOn>`P@uOzpYYBQIh{7f+E{OF4m@D6AJ_GOcEI^thBnm6JO7>2 zE0SIah`)(m>TC(Y3_4DPFNO{_1?QjzlJ4{3)Ou(`t^icevr&Oz+%E6Hx*AkJ)1_Hh z?S|<+*q%oXV1RUVKAr3rCmTATmH)Y*@pTyUKHk_e>h;LN*zLURf)!Ao?TEyQB=VQO zvixh<-bayJJ5C9xQ=FJamy~8poP1N7rTQzJs{Yyi$;l!9#jR_|15Q-UalEo5YJlyI zyY!FQ8<->(@vfVxylu$w*w{YFh}vruD!J?cSlJ*C>brDjj4k>dPahh>=7bh{&yKSs zk$7pHC062?1An^AE>cHta&;qTfWjCfA=duxC#HjLv+D1tO8e|Y>m*s&Dc%@bM0M_~ zxkE0%S9T2`lDCse;{JEPF+BBx~bTW~=28w?U=AvVGdJbx3IGEdpCAd+r zWSc#YYeX1N_ujqNf8%SfP`pm2J^f`#8Y>NerTndJ_M}zk&^BhocbSI0+#S;R(zj(yV$u#}mcH zH*{SKsh7NZ+|UWOdpG3~a5yZ)+u9!H&JGoHpPuJ)BS7a zamhOLZfxpOy*Do(%6_D_8h4>h2_<>!7IPP@UnQ6-uA)Vz))p zuRBpYB= zxv3(DfHr){OSKHnL;ejs@?=ycPsg~*jT~Kv8OAb9NQdnMXsJ5+O;}hV#Y5}ITuJ== z8u%j3F{?=&tm^Nl0J^gF7(Kd91lm+#_A7y=r( zn1r0#roj(XgJp7=Wi4hzSF-tLlx1@Hv7EosK`o@d(Wu;H>4M*el>Y1@UtDolv^y94 zAYPU6?0OYYm?wZ+yCAyKs=q4@Y_-;_aopq_Ak0_O?MPMb%S5O_HhwTd_kqBfL!ZwZr8z>B9Wu~x*N5% zDx5@8vgP8*MAl$g=-68ZLt*%u)H^ui=;Gwx!BdUvZqCjn*Y)N)Uoe^zOrt1v`J~Cg zs8QqK1cf-`$YYL`(I%ZzlO6d;{>cDk-%<6OSY%Jc6rv$;ziEIv`#KDe8Ibcr;^+6i zic>CEa$7qgrj6JRp1XB%v}<4-??3gK45u8GICLU=E%6gy504@ForjMNM==^^Q{PLP zmh?PGDLPFNsd|Af9b;}NjMacH$pgiB{hT;Axv*?_S6?5CP;Qe*Cx$agTi22Q9BKaGr2m;e_ptiQlgt}q?=(3oZ`uUKQ;h`GkEev);=jaq-slt1k`^l}g?EXZ2W`6- z0pK$dy1g!v&OVgy_vr1_Pk?TE1J;*9Ikwdo2IGry@(@0h5R(Q_h3Vxr?@ zwci<83+UrOS^*Ow89V32YDWw#fJhi1dj=-2s$;ymxEu_ZW_I9y-%qYHY=XccLp>aqP3 zUAvma_!P0LeKD(cZAOE`%q^e8;4o=gIdXM`m0W;|B~V#RYF^?UcESEc(kf0EpE+wv zFp?m@z%n+#s?8y89HyhVA^#gcKaJhliSLntpatM~lGceRl1a|b5rMpH5oPUeXuzEQ zdu5qu^i+-otJ|T;9~1#+YA8Fa)Pd%E*)0k-ErzFW1YpS7Yj5Ue)W2->5h&2yI#>KzVq>>c)ak zGQbycUJ~ns?J%SPcj(4;?`o8Vzq5StS47T??_zIy#d!)Z64cch9pZY*ux6Y|Y1Bjs zH8kwC4)RrMg74-2Lz%hWu(x7JyqE=9q2)*~{;4&b)Z4v#0~?O`wY?ooUO|PV#)2); ziBJOBN?;?N)ko8kxsR4-ti#aqUm5~;1GM?;quiqD+i7t<<5HLqufqxeO@&RjU?Row0&Gkp6Jif^w$LS6L+S1JJWCNxoJ?cA9PULZ$Y2G*bHqnkY zw*4Q?bzFv1$Bo=r+(wZAO7#i)4X+=p>xBr%1v|cZF+KbAKy|r0!)5B^eyg;#r!;+s zlf=a!zWiEAwNM&^xWM$xq-o5to_|{+Y0(09oqg6qNYSLRcfy_2#^NVurPt*0w>30C z-0asRjPxDN^Wv1oabdN~7w}wM8GcaWRsi#RO}_Srv#^miRL}Z=R@t2{UfEwVID8*W zE2{p8l*o}TF~~>l3nuXzGC2*!Q&3Pbnnr%*=A#e`LCB)Rp3qDuvm{Ff^s2DAV<)Eux%8M;3_@ZaAJ9 z5aHod&6~RNY1nsUFzkXM)3cQ|vh0cJ=;~d*4*71|_Y+Fy>j@{Gh8ev@@kGmf^V_>A zLYwCr{XRo+C%)|n$c!*ie?v0PI#Y;P%c!3(R2J74kGmGs(PHW|a@S!~I?86(SG&%2 zGs(l+b>6P-Df_p%7-zO>^-iglUcad59#n2o)g(?X7*O349X|Meov|nuD@vGg+**+) zA(O>uJ~f5IRJ?~yOB5;>lZii>~;6PBD|=u0mh!Fzz^oi-Gd4 zRhFthFdqpF=6mliuIjJgQD^&eEjcD}Ph?4!hb^3IQT`>)tl`)`+j7DecEmtAm0W)* zREjIUmL8Wf`ax=Te;D3I#<%)vB8hd2EPC@Jl&mE=;swL-=Cey#C#w7h{PTB;re_E; z_6>35?g0q+j_$74@(t1RN6{AODmX+lOW{vE%gTCNn%v0+t-&REe6ly19lNRjh~ZHNWccK|G|J9T zRPCBkC3(m;dpPPLTIpI92NL>Yx?6L)@CLTIr?QF9ZB)F_ca~AtkVhBWu6;+;@c(zE zc&2-CSmsB-QSaXplgk02xu~L&0Wes5-ir^nH_&>ne?`S|zUb_>fR6s+&{nzm^7co@ z3*Ff`6nh5T{YW;ST71P1d_*QT4W=h8Yjz2dWSk<$3XnY60#8yy z@PZCEnA?SM8RJIjA*?Ryb1;;PD{aiB5}f+gmO%nwjpdO?1m3VA+HTQ2rNwbg5Ef}+ z7$b<$*p_{ta>AQ+Pvw&iJn!y^&0p+7mt61=cz-l^TU5EfwyI4IC3Spxam-O-HEA4x zTEdhL2!X1X=YP+5U>~liSdod7cpOBy{A147A}amMyQ_2N?m$pV8D?P!TJ=c@5H@CL zE>@|p%iTmb+M4*8_tvzA{;pd#w%gN6lkSm^Ix!K=m5%chU8~MT@kF1_43n_6jl^Z! zgGia%^swS5oxUQ=(oGqx=1qEs^C*!S?Aw&AhSLt!PC92szPlR;Iu*qhVLLUtWH)=i zOOt5U0g#I#5;Iq#PPv`3&o1q4$U-=G<9FWTccLh|4WQwMR#{wRPD9XCDmj#sRL=Os zTT+&OlL{9i1Ir{Lj<0~}=$jmVXiTfQ>~H#w=)z#1guI z-l(0}%D!I5#MED(lKIN`-?g+TdeI6U7bvbcM*TfENmaSS+XWC}Oe7KHTqc*;Ran%Q zhM@-3BT^#Y zH@|SEVJQw^=O&DTWbJ#XQi&9JI}BNLNxfcd-|6+e_s}xSVhYzK5gh=iIi9jF-DXM#D za^v)ipvgVCoo+yeCJR6C0-WJv5HJ3)!i&rA-UcQ;A@{vveo@zwQ+$!oO78JB!%nkk zR0p~`yOEbZ!AH;`HL{5Wo_#3+U%yNS%ok+hZ*D-16XLmSRy2m;ur&zq&=V^{10{#!po4%^*ugz+=yUY1QGN6o~Kc zgcEJv>|w(2VbV_jh^*yi7T+=L{VCOaUR>QpY<-g;Ol*LRcSub>+i;>|GHDz^Nt1P) zk(oi>{aQM-c>4E79;b%1uM1LKR7-pO-J67hq#dct>oH{~iR;+;)(wc!ovwIr6~XX_ z9_T)ELQ&;M@4avRegkW>1JOIBjNa$CV!}H9Lu&Hdknv1xq>8Bs8GMPj)*-jJ z!&xh=^{Mo21sz9w%k$?*yvsEElzZ94omi!wJb;Lhgx^f)v?itUXhEITV(|1$^{J*l z9!^}n>_8a{UZ;F0uhK1JYA3b2mKkVn?0z09Hjr-giu36IHn{;)yB=Kw;5)VkwYx>| zJhMBH3Wr$SOBh7(l1wFz9@UK(qo_bM`*_F`0PI#)`L2Wa9YcRSBy6-W?nxq#`rk%f zyH3_^lyvDPtjRn&4oCoxa3kMIr&1tt?W3BXP+F?i2$!9ONj!dNU1&KSR(@cD+s-mR zGrsuAlqIfWp07hNc=K1KBYxxJw|G)N&!x4N18<0X34DaXcs~#dHBlF(={!{-nxvXA zGlkhC2Jk7G9sN2Nwt#vW39}Oq@`Rn=-S^MzW-eT^yLj2ng$9Q%pIwpdju%$atZ?#) z)DYpPVb2k{dXvv*pX>m|)kX>uP@OpKztOd%B!A8>6x`TR%tHxlp zOb=}BLcyKk3SIxoc4ZA{4l7a7ZScjCu0SDEI5)Rvb^yzAf5Porxn%b$2m>zlw};C?wk=o_UGO{*WvQo{ckR zw|WIZcDqFyI(~x7{dB3~rk;M_<8^vvt}@ZT#OGzLBxCzY+A``lnY8-ahe~-ER7ZKs z6aV#|>hbh1k0j2!F#H6wtau*=*xOkG?5;PC@ZDGab}%*H-Ay>*O>vuURUBwB&R#1f z#ntTkZZSJAh6`ryq?u+E2(I!C^naNZhk-WF8~mtK@>1N61qk%yoqP#i_A)V4SbbzD zW+(W^(`S8TLPnCFAW^EbHFGV5cGEZh$cgfD?%TF|x`^aV2K{AA)QDOmeyIXS^yT4N z>i5F|hrPvmik!Sv3!o$Z_AX7KBK&Z(BtYhI+uj(=*LL!+=osC$K1J>)V@SWYj;nmf z7MZ%nCT=G`!i5FT6Gealc}h})b|hleq8dO-fsxO##Ef%z0J(jd6J#fSzy1?X%M5Tl znSh>?xTtKz$0fg0H8{$lvdU97t(&6&Y`=_6l%%#{I6nz7JGs(>ihrfshuxJ_yGwO$ zOawQk+|N-tM9p0<+rdfYaFB^kX^I(bKgWf>xSNXnKGOTvTmdy<^1G5d)4YdfWQner zO(4mD%kvF@6`>6r(DQgOa*7!h7RH*#^0a$kz20X!il?V2=$%DgVCy4bk7$HOMtlj) zLxM^irH2*4#^ zO_fOJg~QdiK1c@L{B=)>aLB^Qz?wiKjCXggESRm5`HHCYfw;Jxr}nGG;k5{VlJf;^{1X_N8kw&Qbi&kxR`F zs-E=Sl{-bw-Op*BvgXMxAx=9g$HyCVRDtb1FuVuR#yQYy5iipvAnRnNQ z)i>TGgN%yuL?lkg2U*CU^mp^&tggj?+Fn#jn6Lt&6DpArRM^U{V;%S z(k#zpD5^pAc%E?_nEy|v#c^I1yM2Bl>yN5#I4^hJIwV~j8Ph@J3?5uhsFEej(zT8Z z^WnpOW%F~4?~X|j;5(+hKd!SHN2JRnmZboG!nduv1BT=vp%3!(+M(tM?}H>UcAMAsM-x9h9{1_6W%JKx##kl{SxF5Ly9vZnt^>M1I@`}D+^w3 zUyQg}Z$oHB)rVoZR^|85PeE-I4zrtX9n23#IZlt7+(ac~mFopM1v#n*gUM7Uhc6b| zEugEP@n#^qx)kk=?yreNLYXyxQ^=LowzcSg5O-y~?Jsz2P%#+M7yc3gK#M~&6xeUusRIT0= z!IN3^d?XXjOv3MhtxZmoFv+Hhim66h><~$#+Dhzch_hBt7Xm4M~^G1Hs}mO0K4h-r)^(XK2KM zi+96Hj@CATAA!7<$(Hmxs{XMlb>Ezb0bU16ncX=;Y|hCCLyp_oyrH98%RVIdL^{6j z>1#wgd>Qh39#O`2tle?YIRyYU%>t&`vMWT_woyg}cL2w5J+ODuHxT#J-JqzF;HKVf zHoc=d#K6#TR51N+#wx9}`H8M41F<=2?M;nStf~0#hAc!(VN}^tAb%oBByaq)#8C0^ zHO(aU?~vN76PuG^kdwjWBqEl*LP?xFFCQSaV_3Wo_P+GMjjiQPu{fohJWz`VqE1mtKK*rkMeEcxX=d2O`|A&QmD8 z(S*f$;@iVV{WQE-gU9bNM481EE=G#1i;I4cj`-{cw>JLrncjkYG5_FIAAoS4X{u

    fIQ!x5mAB6m zs`ka@oHk~1CP%C4`*deeidXblhRj`M)Q`U+8u9EzuJ4fg=HS)w{ z#NSlWfn_dZ0#rp=JEHc4ID;B{=a>J9I9G7b=*yZvp_-$nAL>Hian&&av&%~Nx$G)E zxFs)Zc$zcHGaKKvis=ufLTBBS2SmYQ7U=-;e*KMWBzKEr`+M(9eoI99AHsAkQ0{`bu4isF zjZe8fCC$9wU&bY@FV;8ghXSfziV=`%ZVhQ&)BhB^aI?Km67AF$QgC9BILmgn5t=b1 z;Yz9U+$#k-%y@`D5tSAZWAGi2&*{i5JkFWTcaJi(tP*mX$q<&()P@-}LSE+_# z&xNhJyS#sH2Mztv;>wL`xm!b1clYCB&9$FQ%e=`%ZPjT&)I^J6e5)r(yj}AzV_?0T zJ=J$y6&emkQ>FLjnvG1r$+8nN{93;#J{&N&am!+Bb$-tZXyxgf;pRH7<2#zvpAu#{n<6ki}8B4b}WKoT) zohq?3F&7*M^N=dcZard);%aO zfPCNdo;c6D&r;;Q=T<+|-o+Ps?053=#*`+cw6-Dux+YF1?39Ou3cY1!VtY5qJsAX% zKePSAy4&+LWkn1|rm;$xu_$Jc$4GC7WFID5>7V#=iw|)_#(_iH@c?GHxe8ufe)Qg^ zuMbJtyu%}l?q+CA6`A~D6_hYuPkZXf6fO$VIamSPOMwW+)Zro1#93!Ge3?KMZ2;R? z8;>1;5S^_V89`r2e`+|3ku>*TljR;&536VM%e0B&s57TN&0m{Bg{s?e;NY|mmph5$ za=U9=9CUQ$Iw+i#dwG>D;V&$`c&cR07t#Z7$+5E0Hy}Vakn$g~7F}dFgAE(rF5tpf zmpJ{fCh$({JE*Pasv9e#OH72P;{6l&GS40?fL!jBz$bLTAv}Q7YKJJVkgh(4Qi%jG zkc@oJsg|E{Dj%)x-_TmNs%*`BQZb`4Vg9`>woWL# zkNs_*qEPnslptz~Su|)N75 z)6TYdny5(_GcJxcRxg80aA**2>i$T=Z!YWjf%*~eZ$Mo$_7|qahU$?i27JeJv;@9a zRCrk?M-eW!SvpjP%Cn*&+r#*9#^;y?9x#;MN0KCquT=|RrFRK4#nmf1SeklF*YH&@ ze?U6+HJ-vlUW51tpfrl9x}k%Wt7Bp!Jm?z?CQ)*0Ssx zeCNqDR?2vhx=jL$VfOkU)wK;|r#U8Hf?}45xW*M=IQ1w$Q4oJ|u24X|@=_?g;r4RmWy2n<1G_4ksaPQb-#1U6(W`z)7v}HOtHP74S;V_(olFnPBjH^OjZU5~4q5q6xR@9m&{ zpZoeQwxQ5+`~1bi9!w+wi+a z)zY@Om~~ZYlZOrc3a~OZ4iq-G+^(n{*($jl;Dw6iK<{DebKeHMz7S1XU-gL;)ZKG{ z@;2fHb!)jU!?0FK$|NbG!<{Cffc$7g2mO$P%`*6@nhL%+?`0BUl(m0rw-osos>3ny zW_ZSJnHsKd|GQQ+{BQ3`B3F}LoLY|42c}O0S|Rg~!!EkS&^t2u6WecS?X`)8Nk6$6 zU=VEVo}S%9LgeHz&{76R>fZ(&<=XX0J^}5N?_*?Im>j>_9VnQseP^&R8Ef9V$u%cX z(P%ht-9li8K2RLGeKQG*R#AhXegGWrSLOViIdH$dU%;pU5>#U@={LH-;|+N zR}nwZXw}9Po0@O5z-F zvw!@K>S|XCJk3P9HI7P&o(Ux>YQ%@S21H{=3;~gQR9cQdY5E@JvgVHU@sZ3~&W?F`WOJ&-m%+S( z$?b!Kr^(0Tm~UnUJhps4?%;fres=+Xj}&l@>8p6t5${+nM@byVd>BJSkuy0Ql{4iUs0@Zy%NQN=f+la3IOGTv4cd0q_L+q_Z^@Zk>c6fkL9)IGnG#YtTQa!1 zFT~`2f*0Il$BZ0lwy8m!ag-2j-VK6p8cV1O#{_501;L08VD=mi^S~C)DO4{li0v?# zu5ECv&a-J*{y`Jl_|@V;3F=gfl~UY9LfhQvn69(c^dxbhHe+^{MD()^@g3RTK0Q%0 z$#3H+%L_QJ!U2|T2=HwzF%j7^CMKpx%P21@rQYiHqD|l!TYg8=b2yDO-`4*4 zz`f+$6_OdA>~i{gij@tHWhCwg%GPE0)F!Z-XEg{F{FD+#LECaun47FO6_*nAMX zQ^OAKd2xN^d>-x+%h~1!4-RkvhJKBS*iS5NIsq9IRqhCCeNg&;^<&!HTT0$`@p1LU zTxx-mi@7p!%|sRTKv7wTtXSvH7QvA@(ra}>V7Z;`B;F2?_|s%K*@0xoc_XjvLYPY4 zNQ;&M9o)SosT6zrH;SOz-)AV}ue`NGl=P9}uVAOP$e{JG78sAvWhgkVtOO#Gu@s18 zEI$08QeSA2=hYZKhzXnU+IL9pUK0fqlak5iBq8`V1c7S-PM8m)f$~m8H+n;d_jZg> zo#t}^3tf%y{u4<{kClA6%Cl!Ad#OjHX?mUT?(^EL9&4}7;{aDcsJ{kd!EL>r{?ztY=;Qej=~BZGs9L~`CI(Njdy_KLk2tM{x?ycN+KkexKS+FhqmIQFV&gaK-d z(k@P>D|vs1)=#zy7#9iv;x+62RaBJ;;Gt@>xG-9LmzaBu3!Z}w{PTI>gkje-{DvDz!acKZECgil(K*3&dLy9T4l0+0t z8o7~+xmKs~E1l&!7v8YMd~=U%@G@BlqhqsJV@cunPTx~JeJdd5r9_2|^mgEYStbjr zB!%YN>TbG7L%U`TO6RKkn%pI+x;Jk*eq!oh-7S8Sw2g*F)efZvcZs30Da9SLi00{I zbUg4fNGrt^X5ye5RG7on0eF}3T^e!K1H)Xb#U(>cQt+6N#_28-h7jECQVbdkRACTn zGYo#;WT1r$T&CyQ!aR3>g?iRddMsNN8I6zGMgqVqqKh7jHXJnIe^4)49?73L z6O-2b#f7$;5zu!)TRYdePP{Qz90MElu!gHqE4DQ-d3b2stcENan&U8atbtbyv_T}v z{nf6g2Gl-$h?cNRH>{G!I7TS*C~=Rb>w9Xe6DKClV#mq+ZAD_1wvb5@wad1Ei!5@} zgW6V_q_o{*=v{t->zKjZT#=n=a$p8T&wNV`@oURLd+eW>cezUUHxJ z+^9!5%?Pj|jqunSGN7^k_ESJLOsn#QkHkKb^G`_aK#6U6$@j~x*TAf-K6_VvVt|9H zt-rd4W~S^iJHUe3>-a7T+6b#HNWVks$PVb12V=85Ro_P)z?_e4)?ZZ>$(-}1+fOFn z`BUaT0~|2rhkn5sKXih|@~}XlSYN%{6ks!11$Dc)*oWFmPi4_7 z6z6@{1&=8>u^nHIS0|bpPbAEPS?cI}GC+xJ4(5LvfqhU9j0$w}w}%;Nd=VB5-nX}|=6NmhyfEuLe$fm^y zz~52bJy+fW2rw%fBB*}|T|h3o&aQkfh!gX~4r@5$jK{~Z?v8l{2N5~o=(7tASSETw zkaO?oV-p138VCb z1l^K6S8O%P$&RnYScyC8nsFHnya=SBbaIP4^FTV}XS5O(7svv`>m*7I!(M$y)G?l- zTgGczrfDE;+Tp6XpL3-SGrbbloxAZc&w+YPTG8OEfcb9LLhGdCoC=EL?Q@ z0#}@z0z9^ljyScacF#}6%f>g}EECZbl2~YL;F3=&oO;e}HWBb)BPm%Q61ga$xS?6FOv&Osg=Xdy+mW`h zEOZaEvl=eg0Ga>4*zEFCs!xVx+e>P-KPw7F)iZaaTY?H7wGo`fY!zD_ce`bFU0J#( z9~`M!QV8V%&{_ivONRTs{uNIL3Ba|aoaH}_xrvnEicLwh-1nIUi71lBb(no6|716v zExdmgS2Knlw#Qkz-+WyNtLLRnR7=LAV>)(J3G&1J8_r|U-4d0tF)cA~uyd;(+Qd6h zdtTD3ZflL?Zjo#P7*ZYE?Z6AOo*xv!BwSk%+`qjNke6O^8uEpbgG~%+soc%=JEE41 zHZd*1mdv8|&~GOd`)E`lJ-N@$$r@?0f5NqT9w+0CIq6GW^cXK!KQT3^=_az}#j4WkKa5=XN@V6uX5N}tOH&d2b+`d7EOO=RNGuwF2xS1Gv5B%@2F@o z*%wgKHMAsUNa5-;Y*8I)yOs!h6WsMdBMNF306DrN+ydY>#Ka@yel8#h*zB9mBxw!sq}B~ww` z(gRePj@G5V`*i`Yuu6YSO4`s%Y@BmYbUmei!Zd9nac&wBo1SYzc3^U==a4P#3X6v^ z=$tn%HAU3V5m_6oCevB)1MLKGL zyY9jaUjGwUt#CKEmS`s=cV;4y+xS7}*?3y0s4QLpXI2@LBHF&oWb~otAja{Zh9si7 zt9E5XL%pp9mpfiDA=*HpJh~aXjQ(6ozQ{K%{z2)An^H5scasjgPGn{cpcVf-F6rG! zMc;u{&qtirIp-=*hsFsXnZrvXd(vTMvoDQ2xjNhIfSK#uz!mC7CYAk#_BG);F=98dA$cqEcqvVAd>dto7paas!(K z1TLPNx25c>3=H=reOlW@Fh7PKjfL2ArD+9~ypv4YvDL`qu%yIlDct|5H=yXqN zY@F8vN8syMJ*Y<1@{q`s(1J@^&1*g5z-Z6+b5H>0N#p@*iKh@))hZ9{UV&yb=@GL( z-Cva-6;SB`DNolG+gRQpCuFZIifo#X;%R!{CfraQZNBgc&yDQqXk`n<(<|*Q&e+j} zy{TGpkQWLpa_rq$3LI-Vo<=}KsNrlX-%WH0C7#Vt#|&_}2TSBTnkHnh zL8N5tk|PU`$|z~}i&RDK*_(3Z8ee4m1<^r)lI?PXhe)cUHiP=%5lH^yx2GkVzE|GF zpu`H&0Ha%}mP!Wb`JAB14(lt}YC=mkcG0Bfp>@#c!SEt3rQXK4FQenL84bi1^yK~b?sWv%U z0$I08`%+Z)2bdZxCM|p+@$R}-9@51!v>hVxC{H|T40ZX@a>^~$Kh=HI>Xi!$wJS1x zGWzOYTX&ofjIhE&X`3$Ouei$E<2q#;r=7>$(N2G7Bpfiz2Fd5R$62`U?lbZSW^eK3 zFxWdB&7SoDH1A~)899@2iN6;mimIn3F)1-lu>MrGe?u4ZU~l|b6*6;naevMIib)s1 zP8f{ZlC=AN8H^~5#s%7-P)0!<-{(Gv2Nfl42%0~}BvD-t-5#(SKkGN z_2k4`<9&VU53%q3JDWfDw$&@*#QTEH)&3yb(C1!_p~a9g&T`k=D1S(RvHlvYYpJSS zE^z!ER!@`F#u77;XAXKWigp7XJ(g`;VUXNhm@F5KOosB?rj6{=w#N4d0p@qLu1MMk z4|y`u1%rJPPnIpzF>E{j1Ws`WSDe$L#T*4C#WNM~NM08>2pjz#5!>PpCLU5$ntipt zi8#qeliXZ;gYmfD#jqY9oCTscF@T8JXk#i2+IsP9SwxC?pd1&9nfveVQStO?e|51$ z?$Bbh z9ld|ngQ-&}?>~`d@Wg7n{QD0llEo+BW&gG@$NrT9+rW|NlCf!hH;z+iM?X+3i7uaFIYxm*0FtXS6Xzmk*c?E`I9BB?FCjPg>+di&*wg!OQ8y^SY z{4yHF4RX@vbLQ``dZH9b64f1(0+AiXJ(1qk_!_9N+Mqd4GSA-zDm)-BO{s+P;dc&^ zIBjubwToXo$?KZkFm7b{P;}k<7G^(=ZMyewa#Eb)r>LxIwVTO`YJ%%4LQ!vM;X z>FP1n#Jw#x>P1p3J{y;wI{DmeM}2a;yACvI+ns7ZMT~1B7FE8Pi*T3NguggG|P8`^c#8PX7axfYVj<9Z`cFZ7?PIv)~m>rW?7i z(+0`tp5+`DY^VNEj{y05m>5MsMHjN&<=-{#xlqI?F=3GCSq=DvlK`#BVu!k1|l>8PxYa$T4)1 z_ypPDG4Eah9h>yrti=)&^fCnGaSAi_3m>f^mA*9+MY2F6x5r89X7Z6t5*uH}s2WFS z4MwOen~7v&h(7Xqk(`v-1vAXOZM^Xv($SB09gUQsfF4E3fhGMT;(!8*ix*z2M2KuC znPr?fOtm>}%WAtvv<*#V_bZsY@A#ldMnvja;;(8v>AzFn%OyW%xPQ1#L^6seTiV7Q z8sjpg0B%`{6`S#c^_!4(lBPe)3+7(f&3OGSD)A$64Sj}|2c9=}izex44XsoTlu4%T z%#~JCyo@|FMj~Li%J2B01(Dj(ff$Lp!EnOd_!DJ4TIWjvA~6Va!DXI|b=H{VNU6}L z+?8lyGd?yambJg*=@)FO^N?f6Lq+w66SR?=!1f)i zzHv*}FP64P)Y4C?UJ7M4#BMj<>ygDAvdh90>6Kc0qP z-=IaJ=)nr+?kM^{VMA#cdZGHqt~XN7`Y2d(RGDd;*x;?+x(rOz-!9yA_uIwsZF?IQ zx0vq!)|9-UFOTdBR{$%N)tt-(+!)KJL=Tee9pqBdY`Ub~%rlZi{Oo@xx?f@NA^EHh z_jeVMWzd?L_sH>esH9|Y@$vU`&E!(=n9EHDBr7yf0vEqvF$=q|kgm0dROcYuL?_tT zuttsQO7SOe$XDTK)o$z=5^!`j$r}8r`Ngd6hAr%DrSF&;BYLZpNbZc}&c-Ll*6|#5 z<2b>zkSOn6VNRG;jLs9C`D6-Ul@wt)&Ev@^$oC_}XEx#2`E(6NU8gz$Y2%mwDv^5TZsLTS|6EpJt9c*fB%$3CM7?kvKVwXaUN(+Q8m z8}D`4^zkb|6E@7DXwCjF9j7=gznygptFJ;tjg(YWHX$gT@o7E#Iklf1I?gO;G?yCX z?)8taH$jrzh_P)q6iK7cHZ*+MO|6Pqqz>Mu57Ydd$ zUCJ$ZQw4QFZuo@UewO)IJrnz=@%t6@eb;#Kk(*y=Ld9=7-T`&_w&1+T%LUJ8 zCQk~p3GkLME=C_3c*h1QmKAm+!B*gJ;!hy&l z16skQR)9a?;qie zxA#9UI3|9OS;fG>5fhjE4v^t+z^=baZjWg|YOiN7V!gvs({=_QzFcb>^_Lwxr@K4{ z1gh&yp&Svake%^(ZwfrVsrYW!o`8Dpb~a?TyYae%3b{H5VM0dO0N+9avX2>q%B4$) z2lcVhCOF?nO05adMY)@PxR>>i2Fw>WB-L#66AtA4DNbOv=4t7AeOw$srGEKsbaxh* zN@T9;DS{UP!Ro&V{x3q3rN=w2o-dsX$rFBF__YbqIK}rAF=q^WaABTf919dU$NYvK z`BvHdIR*0H-`H4UU-g5J2jBmKpSpbf9pW6xe2`LPKRK^f;B<(=teE57d^tLPZxk>U zq@1{@vT|57retSxjA@(#dAn(f42{F>K*7z1EW2Z~Bxb9%+6$TORnQ`i{9P#bh#SQp zQ|8guN({PFKhN1Eu~3IIasPU4 z$>n=`IAF3*U$|J;W`#Ox+IFhZrdHi9OASSU1rd3UP(;|phX!iFksQnMEsN5_8Y65-kK8n>fPvunA?S5~;ELO1`*(;TiKSMmHz}3u zBeRNf^#JzuwO>#Xd`BZ!T#u%HkgO@Hti*VXJ!$B4E-UEZ<45g#tha!SB4ETw$9Kw5 zKf8~ENOeLv+>}4xL5)h=$&Yu6Duwvx>?SGmpL4w~H_ zxE*Z!NvtvQ2Vv#Qj^CWfe_Z}PS!!QK<~RnQ!c0Jr1hvT355?#T{IX?d;Z#FSKa7BS zU>)Nh&tF7!*Uny_iDR(Gd>Q|5wV<;iByQ`jrwS3u;OqU zho~wmpQ%}gOlQ{V!@0iBB%O3{pH)(qe!9Rs@nKd*^Wu4a_-vRv4bNGt5^Z{gSZ@SIs>{WMF?>~>LkwFtAJpVpyzK{zwnx;xz@n2L zZ&YPK5+gr2vBm?Kl0eU7u9GuM9L|vzE_L*HsOLl^}DJ zdAeyp%P)6?9#0-G@3yx9a_>Av--p?vwNJt%u7qF*bqonwv-mR3sRS_<;G8WM*h9OOoz}0?@`|jc@peBQJQQ z#^5U2q@ty1g>?^NMp%$^pSpjWq+obSvNcWm5eFZcg5YE*8@9a(-xE=%`tq!fS zs%J<54{hy~BBdeZq&2H%fs?g7p{QTxKOwv2_&>fgqUyMo7&~ZayQo1@%bm#KIYdI+ z^6AcOeWan9fTGTAQF&o!9Df1EJeGUBvg*e4A={1Gsg3r4tdc)*A{c3oO-)g+B3w&> zVTnJd>+8u31zkDpK9|=X!fYW*%wIwEd<_TEeips^5(vA|c#wmY5r){t6#2rzSqeNm z)J_4N8}?RrU^c>-c1ivq(>@W+`rrAF5M}2U)8V>yrHQI{<+9u)A;?6#-=B{U#jlHO zjbyMG8DFkV@Fi2xBO2v@#8HVa4Z+zwjIDtULCc=C#;0+=Ty2UYTu+Z!bnOvO9k|1!;Y72plfsv`eUp`*S-%}l^26C^~rlj)xmb%l^v2d zt)w#y+6NUA`%f3%`O_GuQ=3k;XuI$5A&Se-8f(mJ8C*wqLDI!eX+A%bKKT{Zcv7Cc zp_|?U0CaWFrE?6GOYStsv#Lt*vt<|59s}-rEG*jP;MAYPQjevtZtVB`fD{(FMaHLhh$Syzxuy!lH719?kcb}7O4(;KFrB4uq+E1C^9#^lzOLoY(% zI26e|my_P4hqDWoS-pbmnH*aV5Qsr=P3dsQABuK8v<`TQPLVu!`A}Zru0!T7lU4Au z{m2hG0(Op5#FB17^iQwHBr<=IHLsB?h{}b*UcBwVuIh9 zT9>)H$>bO>&$=Kxd04;z$yMEItKXVhJ*F|D$g%s0iDtWV`z%d{Wm{p#-12hROx#&p zmd*M1%3JET|54Q2>JO8X2DFx%?y}R3qJB}|Yfs{;7*%)@%5FzFQu22_zS)r@p5Dzp>`3$_ z)%6;n>&|RH^FEa4FVZiqWp_-HDSUtja`a^;V=^rb-r@0g)`XJRN zOAt==8qmh%i_*D!^mSQXxWq^*#5!jdnVzZb#EW#V#*-~2bPw+6)W|ca3U>l3+eAXN zLL{0mzQ95hY;|KIcI#_5r%vHrbmXYDT?egI@M@33wIUB$Z zO~Yf#ncdU}Ji{S4RHo99s+JtjJF2Uv=;A5b4f&)_jbP}`sK{eG#;#Mj_B;9ZLT@ya zXwnzei@z?63}%T?QTlA*C$!}WX}qatElEEsE|BO%khizRJ5{N&f69r&W)%f^Mh?gN z#q7t!r5Cmt6ff%fZ+(v*);+?)Xq|qUJ;J<)3Zx{v%I>MS&{$b56i}oZ$g50oz5#N> zO-%u60cj@1Bxpr838Ikr3aoY*M|55!`tnj^I~6?Y%Je~MN9iiby|a-9ntJFQkgso% z$n1Aox+GtL^zyM-xy|-^jWyH#xS^@t7*qg3hUDtv2vXrh>X=inWUdg9x=SVA(UU(A zNghw9wnV2x+V`e}?mr+AI?-fOf_$F{RAb?Kh+#qj!YCFp7rN-{Z?x1?erlkNaC(A% zsE|x~nz;T#y@^W3hQ1z;CEe!;smzSCfHH9T#!0C@){vxRJa5JItr$iGbh*Pdg4CanBZDeU%(>g zuDnWjud+gnw_!yINwGYGiY(rwUmSecW=SJ%gsd((iopN%W%>Py%;HrSO5 zro~|8(A}kf^_upfN}_SR&Ud`2)@93Sl^g@nOI%Xfc*(n?{ykK8 zE#R3w0iGAb>ifr-+hZABY_qv=ZXT)> zD!xYir8&;X9{aL>pEy+#Wq7GC5|(>D&nt@ zdb(`Szdo*WE4HDAZJ4|>9Z#W6%2>)8_EW>L3$p?|nG>$7x~|)=#kPmh-N)?)|B&gd zOT9-wc742KI1x?gn~)E%O0x3G+}5)|j}lTH;vaT_FStN1xJ-+YniX46KGF|;&mLA! z+%P1;9kSI})iE|C``Y0zvl~^Hr;b6)0b8qcX?=to);Q-Ysu5Ole@N?S z)MUY~&TOZ!s**Muu-pFBZ{78-l za+Vvs4@9^x)~32}Ms%?X7hFp_08{M{`y}^A{WWvaaGxt$x6SXz>;MZ^GFK({#~PqOB?k()w2*EA?g$+7DpMktf6O09czr~cUgDa)vg zLLV@l!Z=7C8nL>1MnleDn{-y9YLp)RV@`zVlB^Y2v1I$x32_wK`p6 zK}i~Nd`*5kvUn1DtDSOaOlw*H4r%1@hQJ8i5Rqw!j&il1Htn%4>eXYWAY}QD2`9BY zaR?GGLQWM_O7O+d^^+9vgwk`j+eSi}z15isBAV3t6%xFxB?`kc$DIwm8U&J76A_vZ*6o+aG~SjcX}nw%W}Udz6&Gqb z8u2DEaHVcL6fxMyjGHK0cB7HiQZ!s*f;3|9phg35k)|QvY$HGnOzmge^S`@(ALWR} zG?ynVYiRA1{{(dy)2}s8K?YGNK%i8x$;`hPN*-5#e-Br(Xvv&hVmk!c%~aSm%gPVD zXx)Tb8P=?n9dPennxq%%3qKysfJon#tZ5FcN}N2or;e`4p13b<=~OV-uw0WD)4|^9 zfoCNSU&$F~G@P&o7g#D`4=06Ggg8_3!aIdmSYrcuKgBjy5v%>OOST@0(4+(@>W*u< z9lU`k=M`v^3aqrFjbPuhZG%d{xNEj4UorLi!-98~;K^1!1QDyKaFhmNi2YUBuN^KZ)j*FZ1I^*^ zS1`S@zP+-(XaxmWjnjgC6Ip46+1L95t)Yc11Gie(^e2^RxE(1XZJK2dgz=Yb!7HSh zg8orcJELBgMm5CUBknJ|9r32pn$ZVSRb{V6G-F@iruJ~crv(;gRR<-gWX`3H3yx_^#;k~ABd3J~ zy<9Cbh9H(ssvK@t1QTb=S3G_0mtad4$e)}3lIx*ZIZ)L*kB@g96zl%6ThQIj<>-pp zqTRvoy+!|mS0vB)E2P##N`3Yx?Vj6FMcq(5fI=y69@OnZo3sQ+L3hU9X`eFYa&^@oVL~kRb|67YT)Rf3sPBU*Dd7mb_?1&=-B??3zEnQN4v*|mw z<-$9%YdkG7H$r+vT~M81cCMXtMM?Y=GJxyv2*$EK^RD^xT_s3nSyyG$y!cP=aJs#> zmFk}sefeysyAM~KQD*J>E!coV-P zyL)6_dL!Gd`tMvA(70r%?DIy^*?*W^E7KS9`gR}OZcus)u8D4HD?#_5@;Tm~Cv(a& ztw-3R9okfbxPnzG6O-)AU6~#|2VUnku+B*}Pi_8?G0q>AfJYR@3$)4+ev`efb7=2< z^0VhS1w7l3FWdU~NYp9FP8vNORw%lDe;jx3HM58E4oqeyuXkim;glZY>(U4BIHevhiZCgBzryGlJcJLMWowlsgFoU}R%4W5su^%J zvzu4kpnVdZAP*;pFgEMMFAQD;PLiYB2#mx4BfTmr^&M50D5F3`f>lu<3~rcwYq5<6 z$7Z#Gc+>)9*x5dzc?k*N=JHe&hqc~O_um>3FQSi2l9MLga6p^VM5A)%Z9&OpJZYUQ zb`=q2wKwgY`03fPb^_i)4O;S5C(?IBUDV#{Mf!a{0tL55mdnjPi$T|J*fjG=_x}FE zF45|y&Ekt+gCb;MY$FonRsd;NNp6vS;VZ5-;&KtlvXQ6U;~ZY(a@j*HMTI{s8EkK+ zv20VQFj#Kuj%UexA=xK6{T)xg>q7nH=3w4wIAA>sP#gQJrOyooZh~dG)j4r#^C=JB ztu>h0PwMpzN0L2&=gxseCpR{!8Xbe-6*t zs4rGE-%EuYLSFK=g&V)6#WAy3VQy z_zJ4@_Am^hiB%*@7&JAndxadn(Em?NSa`=$qTe|9Bq4d)o1Jq5d%C!{5 zM7PCTnx&8(W;y05eWk*X=uTLTW%LEeyL6swN$-L*cUywXC?4T*^RqRut8xHeQuGWC za8JOg&JoROl7sIDA|acvOuTk?Csg_lRp_uIZr{abaDW_@ieG<)HRAF-4n(bPo_hd9 z?OiNrdBwYMbHTKVoFYN@mF(~Zuo5iv^N>TH(`F#>4r-K{k&FcAF`TE$l(A!6GBVeP zl*qJkEL7~6+YzF=S)*0EmQk=#v(JPuRMA<>&)m*M~#k6g^M$Pp9pii z{$5LjbK?YCxcjHN1aXcxX(XydcxjRJSZ?<*)gY9(r>WOJ}{bywTqH%sDPSfLzlh3=8q-sT2{eotDUsl#7+VLcC z0mWFMgYf+1KFUu97MI3=AcaqM;Wkm3h|bWs7qEl{7|co0E2X0?szb#N`j{&)v;__s zIu&22i=e_go{oA;&Z11Nfw#D&be3R`H$lJ}E>YEbh-m|A(N8q0%5rq>!#wv~0$;&>=HK@lbxdFdAi`A+2bp4s>6xH!x7_kw!lpP}Tg%HbW-cyIaR zZs=J`6L;UTK7W~zxCG?AODwUjyf%2CGbggDJVi)-MQGS8^5%ZW1n`5;occGz39SqrC4zL2UOkGG9J0?EE zm*6n}9)m@tcrmoz=J3>^EV$P+B4*a=%G7*EbN008^hqL8!vhrPHr8VXQ!lD~A)d>1 z=2?Hq$mMo1Xz{$W0_w)te*OyYXu1+-O3$Y9-V|+-b3H}*$j&s%mjV{HLyc#y6!e^G z)O=)AlDVPfLwE*a0(JNbs@F$}f;;h=?`6eFAmU@GK*)NS6xwf@`_TcPw*k@-S9wUF+Z#G*U zAj9RvCwwv52KE3uboGu5-B@5-^=vx0zKPkoRUu?W?Q3V?-x-m4|qm9KXJA!l>gU zSEu*3$^7?uA52!OKT21ZW!^`yrmrnOV;et`fC^HgtZmSFhOu`qY@-1JH z^-jZSk)#pv_xW>6s!fK6X7x}t2+C-{K8p>CRMdTJqrw}`tNJHZ4ut$S@2Fb8G9GfI zds8lsfqi>mqQ!j4*Ea%q0U2C^u5VEO(1ObT0es~87Y)54m4Vif?7*fm)6P(>eV=l! zTFXsstn!_=;tfXnE_w75ye;r10;;t4=1vK1ZVS?hY^z-c%NzA_2FGj}-a(DUBrHkZ zmF9Er6DQ?2+#&>DSm}wqmi=2?qlBOdJ#BHN*nA($-})8A7#kN#X})STfn!N>B2zT5 zsu$HXq}ePx#>>eNl%mhH1FZ|b06Az0Oy(xk9l^G2gtM>6dQx(>Bx1|575j4&`j%Cc zAs1(msSOwpM${0BTX2Y$=pWjC$6UK(*&^l0JD{<-b*?1tncEi9=h?4WpF=lJ@!z3L zR8xeO7!_ZtCXW<>evpn4N|#v6yu#`po0cs4>n)wCk_MNasR|4EimNB5$3hZL;$+IYfrna+frs84YYY3>m7lGaN=x+b z@%$Zi31g+>`dx?+NAEeT6mv(%wh2HbH_lduguNXEl;`7mF8O#0?u3idzBsApVRWc? zR`iQPJ%ipsjfdlz+r4P!MejPY%euAukWHynEbR3r{Cg%yf?B#WHU=_0tO(54-zzPv zYx%%?I8R-T^!pm6c&pep!-a5P+6p?^=900L9c&!lt_|JF=xWj_o$U6jG9sQ~Bw>Ha zC&6Pn7tO{R#pD~8aTs9#0~;9gXtFh5bKu<>v43m?^J{Lh$kI{3`^X+ zMf@J9tvNF}YI%U0UTdc{L=Rl`u>)FTc#0*KlmY<6VCMII=3$NMx;|47bhm6ohwJV{Kd?2;h0B+&FlWj4PRrLQXG% z775(WxAQZWA`nyKjo}_$%5!dh*mNI1JH{uZ@d7hzFkd(gw8Q}GQ*iV3Ju{nbC3CI&(>GV;Q> zUV_0(Al$(nEx<_vzVmBS(`b;#9Ky+xU~F{vNdo6SRh6`wH-RCtc-zHx>gi+3)h${Y zXVE1NPt~pI1Vix-YeaQ92dy1~LVZliPN{PLy!ls?5`4`z3t)htVV4GkhoL*p21Zvu zmamw`TfAMHlrKXDua%<7%JCtic%iV(OFU&qP}SZs$gi9TO)drr{_zOk6K zG`()}cVr`9xxr-KX_*P};`5U1XNd?|+y&?=5ZzTz)@i{Te$nA{b5rAmbNtu4>vv0I z%E1}|qJ1X@=g;MJon0qm0m!2AdV!ZA$KS~DpAU}X{y3(osxLhxl%%%J@j+Yt%$^=r zFM6FpiPE_p^o8uhf#ztcRt$ScYb8>8Jk*JnbBEdHIMs~f#09&e&6j^ex;>(fpH5Dm zM7BXi`2lrMPEl zP^Xy^t~>|9Ja2iJEDCdGjUDajSPrquPKblaMZ*2hpJ+3lg6n&SG?HiYC8Uo*XYtJ% zT4*QaPBfXIhQ=~? zu{4$TeKD1v;_^(m7x&Pf5zFWTT9tS^kp~1k{|=~*M>PO}V(ZMZovf}+tpk*| zv1x9_XA=V5X6SL1*9avY3xxhi(cC|~aSv;N0NVX=Jxyy+g|BOm9BBA`FWmyF1zn*= z?CfSrd&bx<`KXUKCI9#*(gX*iC?XcGsOEOUohDJ;T7Of3>a$p&o&>6xyc8C%qFQG6 z62rDp+eWvWZeqrVieLGGdi6lY_86yclxgxMph?hgJdK7os9g7UdUc%0nB2c&AZv1xt19BDO)@c954pH*HieRc^I5W%MQN zcNUSGmY>@V{QBDRs8AjT<;iAb-OrEer9hKe;9R<#vFCN|_ELQ58`sUMWxABmtMIlw zp5L*I>HC$TglvfJ{Bd(l+O*N`-~i(aQnIIsEB?oc?PBPgBMTf9@%!+UQA%>XSL2W0q|Jm2v)bG34i`dY8R=+&r@dEOC?%y^Ad zt*6wzKJD#E*2@_1$nwvPh?A&5(_EH~pl#{8?zpRpes%bvK zrOZ8R_NYRI7|RI&jme4SQsMf0cS$Z=CX|*`H&pmnSUp)^xBJFL*;sH&tg%0>R-K!d z4<>H^^y7V7!nUN6-wSqxZo{2B%`Q@JN5O>r z-8kRaeW}SBxeeLBCn&{PL4mBY@Es9v&UaM(j5~+Y$BYZ4^M?Wbk>e(tR`J3RI2llq zdJM7vn}gOCF3Zk09Mx4a{gHz}TmFKP5YccdPY;9Axgrb22P+Zmpuk8-P+LcUim0GT zN!ifsS7GO+wp28pw*LXvxX}KZXDH)&NbfN3+Td0oA#by4XH{wm1x`2~UN;Hm0<$8k5uo2?(ni8i7T>^?3_N`+ zoFA`BI|%LP?%m^x<77WTlD08epPBdeZ+v93iILgKzK^8(3gEH^J0UaKdm2dCus>&9 z9>}Oc9{MDMA62-AU56#yCUTsaWX(@Mb5u6HD?8F@{|fCtzFg&hx#G0zQtR8Vutq|< zA>ba{nxbJUX1DHCy~VDH8Re`*(Br7v)bMhhlp=~iiOq)nk2Q2cZ1h+>wjWV-WI%>I ziQ~#GixwPnP?elnvpB|J)Yq77$vUjL?ZKszoP77HP=e0L|Gc=4`m^(F-*4SSUH$4Q zXu{zJ*83c!L-}NNl8Zv)6}ARF`Z6O*7E9ik*x$8O6`6eGh4p-g)*%Aj6c*h5Zcy=`e}h)J+@gQj#UA1{={xJ6lvhjjc5jS$o}}$YcWVv#VE?qQ ztjGr60-6M|ZCBu&6}IFr|1}>`Qi3%Fsyg`!sE&7+KPb}Qc5y7D7A(IZ6D>(5lob{# znS2ddNDVr|%2+PlZqMqK4N-(%E*)l08AK-6aG8!Ib{ zg)$>W;hQ_JRBCK=lV)5@nveSz*~UZYx0!2I!Y0R*QqZf+$j>`2pcAEt%lwO$LO36d zBs=-OgsLCMP>aQLay1y8!?{a%{tY1Y!0vH~o&a7zp}%@N9!h|4XGDb%Ge54kpKv@mmLvtJ4z)3eE(=Il;fpNI$ifI@LzYkkhKVWxPAXpR_K=VA za{}ps^tprme1<{D1?dyQ{UhX!MHV5F)J?g}$x2Wv&Mx4_T)*r@Nwnk+p;h~OXUirM zm_3K{98bsxBDf$-u0wF0VqMEvh6p>epaAO#S_M0TNk)FPKD>&jN`V`tRu%7Xy4*!} znq)-QZ=F%!YQ$6BSf4$S@OQvQ^7}6cm9=O)rQ{DecomfUYtN+OcRAuw_2Z4hB!ZNf zT28+v#G*I+LvW;_wu=O8Z&yiZa`7l1r%T z$=TO-+s~@rnUU)c!0b9S06w83iaz=ynv-*07SOCpk|a8Xnq zK~xEO9j&l!md1T@tPdR1^*CoucFb9$isMal8>{pK59HyDug>##I`^4%LfG1#P|;aB z7laP2GZJ>Hj~39r5Hc>{h3jF}9@p)nBuXm3m`GjIrp2@P9d@-= z>Yl9b?YDc7=zF2x!pc}VIbN6i>&5l?UxqA6X(%3u30%pU1og~ZnY29b+0q<3II0uO zNTM36`M6_kDKF=dEa;8|yC94q>-cBvug0qHp!!GWOi5ViDqMq0$dP0S%E1ns{JdX`g3fu| zKAH+Q+`uq4G&gD%zi!opjoV0vvCAxJ4}v zUiR@l1t6Y$j<=RwmKY_jr80e?%x%B^q{witk?Y!cROqB8>4B`A#iVb3-&S2ksLZSX zb6lL(=94X1@G(k`ro7J znBW{?xij6cOL8z&d1VlMsy(zWGGduK0a;V}%%5wyTI()89sw$%6~#+##>c>yLOUW` zL;H&sX5<}Q8t>0@H{f;|H^hf#5|>s2#+EV}v1fz=msC=&k1ak`Pmv<>Dby)=M2U9q zJEZZ^J?IkH3Nn-S<#bddHar?|u#kO@6(II+Hr4{aN)T^u;Cy&O3qz+l{P_oT(ZkB) zP~FUn(eSxvW9)^BWk%8d34VvkJS{e7yDuz2xZT4`y%&=Y71z;1ll1tJFEdSbzjd7z zsdK>K%Pm>6yM^ug)xG*&BWNqWVS6svFTPcWUxb zvq4+&P>BsF0q3EbjDHWLL1uE5PCuy>$c+eq7<`~g{$qRl#M94Eda^fJRu~J+2)CX7 zqj%R2bX4@rUvqwMP+mLKPJy#fdY{LS)t^Vwo#pJ5Kr%e?on^$u0kPj#AlH~F*-ust z;%7xFdz+h7mbN+>2`8yW-2JYK&&E5d`NBxtRPhT?#4>nWNEf$M6bwcIj$rl1lA1^I zLJxL8J!?{bEf^uKe1$SzRsA3-WPOc24iH7x$pr)oc@q^0kk;-^0RjC#J{k!Lts-D; zWnm8z0IN+a^mN;y`zK$?W9!?%>|Dw0BvhROf={ZJ<3tIT;QlczFtTwdndB)EMcv#=u3EejUj(Vhp6*>WK@x@MWN zYEbP2KiGr1Kdus;l}PWlb6HXD9YK${-M#%ODCxUU-W`VRJcf6&HyPp^ZWVX50L8I_cqb?!TQ7B!p1Q zvd7ecY`%`Sd+f~9=FW9~md`wdMi|vPDU67#WXs*FU`~ucfYHucH)2jitNpWf^1%B0 z%MYfc?7BDDz%zdk#XWa-Urs3 z8-Wk|aFnTl<@cfD+n0O8&N3n~|4}kJUbi$@_pkMU2Q{`j+4DJ+>m@snK}b^*It*Y{ zoT0R^U1$!D3^HvZq1*dk)*;xzm0xHV52nk6*&#(o2+zfP)ZEOvc_o(PCV%?5^rS{X zu{YE?VS)c~Mqggba3gU@Ap$PhS8kpEJ>+#HgQo^h#~LXDoVpIJ39P+jizFpDtA15S zs6eN+(6j>%q(~MsmBXY4Co`l51J^#Eei7%ZOYsy@@#=PcrO8YknG~4~Fa|H8o6@3N zGD-DCv3@Ai0maqp&G_iy%yemK+@Y9pPD-uId<+dHDG~oPr7U2^2k3s@)Q;GeseW<^ z%{9wGH{$r3!}U-`s)S4le`8i)iS2(?*h+znXod5ddsmlmU5#t=IichVI%UgOtC_U= z1gE+5;~n)1t^|~$pw;R07?hF~sVnaV?tJ_Iq&{JjxmjAn7vn4mZ^f&VC86cm6Z@`z z;BI~wXr`Aa88^pR&e@xfzV&AK3aZy8 z&ZvaESX6i+p&59pSLmNBs;kft9HM+|;+IU2bqVN6yKYv;%{5F#to0q($VtV@@ai&> zOUdhlW_%O-LW?6CqFo#+a|(rD-XY)fzn@hHbZ6+4JO!B*r4w+p zN~jhLpR4pCh0Ky6|@sT4fS$XCZ4J^p0n2PLa3(P!6cA^xXCF#lHQ_8oQT4 ze)`L8vq2tGe!AU)7tF?WlO)Fkp5j(}GAsNd3^|y@>adXmo`E;}PF0{s@L`jO_{$Hi zbnVp(CDXKoyqj#eZ=@v^j#80(`YGr3U|V`DPuYz*xq!fZ1Akw-e5~XtEr>EnXk*GZ zmjqSRBl0gSm7kIhk*y-y2c ze_}O!U(xl9S)b7fB5N`sc6-pctuJq%uPyX}9r5Ji*sIR2^mDQ*M?YNg3wF}m3zYVX zYHXUEV(H{=;a9Q`S-9Qk zI|2~sBDwwrVB29|ez`iq5rdI-ZCg}p2Er}?5gypRAWz@1jSY%ZDj{$Obr8mU>QF*1 zRvv0-RvcU+5^F%oH}vf7#D=Bb4Iz}t(DyLFBSPb=NAzqgnfS`M+XX>nS%|s>lFG|t z0V}bjw@YKmVXtQO1a=-s!t3j72+_PZl_Q?<_U;doA2sMoo|I_U+2VEC;l{Z)3i{W+ za~vFIm+$gmb8<)oz=~FZ4#-T?(<`2C8dcvO6$*lq2`9h2xqM=t_!gIf)Of zf$%x#k2kGRrf0`C5Pt{PZxp9cy1~ml$Dm^l-R5G$S6B0bs?WLS_(~Tv8b}zYtAZp^ zBRBekhc_bWRf%&ak+n;kUa`X}H}}gz#@ZYez-;fvb+W!Pq!nkET>qI+*=4JCd^QDi?uPsm9FvS~I~2`JqWErZL^H z9(o$$jGowB334Z4SeB*ZaX}fWSBuL!UNY&fPS;svzZl$fewkrs(A+;nRC+jhoNHE+ zfmy#5-{DcM{WwAsv`HQM;~&s3hg7)k289Mo%AFG&+J(B&0uZ5na`Yt4a4_qA_l~EG zvrLvo9a}X+8F4d|mCqW*J(@TfdKbSO7P=bUDnWv9*Bo={emOwxXCx#0cyIOLcDtyywU_rmp;>;0 z$tUZ8fJTdTxH40qtvy(13dZL`ic-j9#BYgp4a+0@vkh1H4y*Me1V_@^%}tfVPITT) z7zzrBA}x=&j*K@O*4qNvW6`W77JBjjxa5gtfJrXEB+)TIx6C1|L%gFZ^n7kmO7#}K za{MmXA;;P8GB%_yvX6ca=aY-Qt0avp7HylMS8V+}IZYA{dfG?Ytjs11@yXOU&#&o6 z0e2$XZ}b*)OL8OnG6AYrSML2TJ?{CDIZHC89l!MFj^(PX$Ki%1x=0LG7?qt((U`Yu z8$k1UEH!S>E~=#|0l7=lxL+?z)!aFD;)b|{ooz&DR-F?vId*fgiGGb#u>kW#ow6EU zKquIMQ}$t;8~^Ja)#y7QN@7v2^_X3pNbF9?a`EzCG^cRu*>IEX*-@;ChfmdHUf{|4 zpTTrKX};>CIznMBa5#`scE7Sse&B>3y1hHw5eWlc_MGh+)J!F~G@+UhM8HEuX|ViQ zNapu9WoiUBPPganaBY;Yzpg62K{XI)+PrPt$WyVJjO^MW7$&ST5B5yao-4}GsAE5(wT-dBP2xRH$nWjP$Z z<)RIw7x*#DIKZ7R(xoIAdpmKn<3XDKxCKg#A@CZ>Y2EL$>rFywh-VY>vb3c+e7D@L5FL^i~eGbU5`VPyA z2xuU%SJ4TVwK}3@my#~*7s;v$-jK>s*_u}@6Ut%jK278;PJNgpTo7>U=)!1Jd;*$!CPwMwl9M;vuD+45#{*@VEw31W0ukl~*TE}) zgg~=h$HH|+jzVpO?)bt8zatxE-2Jc08xED~I9#A?v>5|#3TIHb1WxHtXrWaIu)J3T zS|70JuMdu>21m%rl%Nlk%5J|6h<_0~`E$m};+c;Ou9$8Ltwl2YyWLM!3==8_9AD)n z(Tpc_fAAJ#@iab4WTlYDyu!aEJ$t_3vY6(4@6eKEX1K2O$u7Bv}##OqsXvPaODwD!|K zt^*4Tr|XPZH;5YV>13FvcB%+nBy<4P`-_{{+K`FB$;|vv-Q4tvPKJ*%%y1;7{k>Am zNNgZb`k^k)o5YqvBtZXMq}e()aV5*HeOqKc0n`9Vh{d--a0A|qOpswv&uKR;rO0Q# zL%K#to~$tzlDXF71EMw}aO~3|Wc6q6r&em9DGsrAxcQ`}qi_w>xMH~Yisv2&$O^_p z-PdHtj{WfAFTG-Usd~78*$(yK<01l`J>hHF7tLZ_8X+nyP4@3#QXgg6=kc){1SNr) z_oCAmmhS8Y=T%T$1r5?5e6NPpw)!l%-M}F<7(i%8{hpwk(9eYhE&3azD8 zt5=nYpHH>qh}wxRyVU&+Rc4Wa!Swwc0z4sIJtWK16^v^*CrjO4Qg(+)VaI@Tu61oS zd|;Jyj*jN&Ar8-W2k1GnG_!#w&sRWQd(W;tJJnb(%z?QJ-D{I-?IAqu#k|Il@R%d= z#<#E68*HAY>EUwMiXNy05(C=({mFy?I0%9ITd+`n2x#F4D;{>Jwc8(?BRhIX$m?k* z5w`%vCde2eo!*;CAs67nh5HhLoL78#KB%X>ZksdKQ-f&j3BDBrRe^-K614d4BK~zK zz41m>Q8*-)uaTM<-@-ehUe1<>Jjtk06}a8H+>WWDTS4&_wf@aikXiaMP*L}>Ah$4w zrL~54!_aIg8GHpbUL(y9c8NtDcmtH~&F9+X9fJOiiC$akCTxC>b%=8ITs!ggjI|DF z0^b4E5fIi#3^{~Y7+Kzhx;hXmInt)LU(k%vCaGaled`WA(wGR{`g(Ng<_G!?s9OZs z?QQ9d8`ZA)GxnV`N$nsZ+g0uC==y>AWcg+Sr!HrtgNj@}^h`>S$0Q;8o9~l)9Mj5495e)iSn@FU0H#S10(RPeB7ShZ_?$Z+T>%CAY0qvK zvplUcvxH@xC{Cqz#F?eFO`#hogr)T%g_IxTpP~=h4tN6kwQBChBG|sWr4aBAu8V^d zXHOP<7DJPjB=j3l7EA2IP9HtllD7sTaLkr2p?xi&Aqs9x=w{Je*(r!W?N>m(j&t&4 zaFo_6hOCKXxU+p;w^zN}E{Ey%!YKbWs^44fUp6FMIykRToh>HRxGQ_Of(TzU9TzKJD_o($lweZCRU%7ZxY^g zX}+-?7ao8&v=`=vvEj12nYSWNd#qe_J*su(AE&2|NJ!nm0s5A@2NuJ9$SQnSYO>m> z@mg6d%|DPG8PkeI$VR3w2^=@EP?y(hg-P1$y?0El=OJfH7T0PQW3=dQ+tStGSAc?w zjz-+Ab&Vr?8#$+_j3MeKV+KrT<1)U3>eq$MR}7X*e9`G;#%@Bw#s9KhGwo`$u$@j+QMtMC|*2?ztP1q_DjN~&Ie zYl#_MPzhEJ>%Sz(&`n?U=RUZJL1fcX2n2{ ze9U^~cFnW<>yGtE`Z034^q|%a!6gi6Zc1dK5acHOFbEqmAcOs~(W1y8t z*glzON)jL0)2lmPZ)C_5FA`OuK`806wzE8&0-ye&Vi<*OXSX}G)WWa3!^=O)5aPPW zdG@63U71i}ob0h_lx1wkMNrRiB0&7NVy-7C-Q&%>U?Cg8`lz8lQUbAvcPr^pS zLWz=8Ia*;jqGX+Mwz~F{WM&FyiAro~ZQ8>Mo6u$PLVC^6-XV=L(g(GWTdT|!14175 zJ#P{X_+FnXQ1XbzYyTP9^-JI6`5K^KlI;Wq+$r3mcVwgQ&R%ApuNs{JXcWFYLr4HQ zQk6g*ITy^gp$@J}yh!Ub9eH2Oc;Y`E)TkgcOG&JWu#s(jvi@NYXpKm?JDryqck$m? zx5DUP@&w9sVhKpS#m&Q=%2tjz8+>`g@31y8n=&UH^Ib91ytaY80eE+-~xQ8Y!)9-5T#=;gw~lU{g)j~w?7 z=IWPPt~6Cx7@y~m5`%JQ&syM9?pkfxaBVmLa`2Ukj^Kim-RvJ1@FiZ@gSn-~97#ca zC_lnV^r#~&&)ki6Lm269(i+6B_U~!L*9?Z#jZpJ)y0p^`$#fMoG|O8XXn$SUR2bet zjX}3lBa!n7yMMcD42!xb6B1fP5&!la9yU1#2n$64+l_u(QG+G9a%TVEzoP1OKqiA< zh|B34gD{CNmpXx=AGNuVrHo)^5icK~XG>q;q)wH^P6$QEA`kc-SC>(+i^2Lyr~qrn z<;rdL(-&#HvrxtsuQI9VC3f<3|qEjavqgr_f(r>sDI2BfsWr~wWl@ae0 zR{N)=;f^nOz$8c!iWX%;ckIkj9zZ~IBFo4jBB&bGO5DX3?akJoQ=BKZ@sI|ZB<_Z0 zDeU|#JDz!C6u?So%CdVPQ@0MAZw9hjxI?tD2k~=U;$e*x<&#o$eYCapLN=>1k52-d znBCer2ZJI`9Mme7r`CNywRtR34w@XYDfkMgr}1KG96*b@69)2I)*KE2{s73eTFQ(7 zEXI|yr33^V6?;umI|LrVdT3i-zJnTL+`_~p`bv1pFCnC&0ws@!%l!4N#VUukVhx0r zsucw1vqsbK3C$TgLZG~-{!P3d%`O7jPlcU zZHQpdpsg&}nzI;A1z^3SyT(Cx?hP=%S(mt$L#ugdAY_(e3ocbaz$?ui+^gDB-44=U z2fk9I=6ihs?Eq)9HJ(y12EH!*?|H|yB z*%!tuanYOuCUNTWXAK!Ogm|SzVGB)xZWVAD8iL$7sXJ4St*?8VXllW(UfoW(D zKU&P_guoD8MbbbtHF5LJ2NTy_Vk#dhnt4 zX$^70xt;WGZ>f56|HNO|dk&U$C}eESNnU$ylanq1r6ACsHRD#9-#-XfZO1?APMh$h;FL-qGi z_7=$2AA7~)7lO+J8przjJidOqxrw+dt5dk0YF3O{h!q*l$f8pB_7Sy1J#%nkKXlGR zD?!in?Z!2N8XrCh`*QUfwe__>c*yL})lA#H_EO zJ~T-zr^SXTx^1AQ>KnzPFIbEYI;fKoXU z^OK!|gJ{`aCM8dd(mUEs#k@w4BsU0Dbt7)T3$I_usm!iuT(ymKjcbK!_Tj+N%I1D} zvMD(QzKzrm-Q^l#L=I$=9lgZ@D2>vxvVDgXM@arzSh^OuwX03SlTQG}=pKKu zLqOXV(2}m(;Uo$Y5S-diTI&s;SF>y&>-G{(11o(!R=Q^a3-zP05zf8A+Ulg$|o5XI`^I=fAH z|4^}DZC|+@#prZgA#5fvK}`jRBD-=6bZwe4 zKznJR5?cAH`2UWoTVmS*rXGQiw34?)fQ;XBb|8HFV-008)~EnTRblpLDrB}tR_N!&OIW?c z_1_)Ii+Tyd9Bhl47TNh`UZpb2nU#;qp@6Zhl5xr4Mc*rRH+q%-JX8Z3bh)b>9neaZ z0WmlG-eeDnpUoPwtPRZV~j^C zg2OOmgHy8e^~U>d_yCWQ9eOhN0(LVX{^83r;^_Gi-lQ{WX)AL_6n)T5NMKLTL0EFz zDSJutJG7UG6;0l_{+TzT^Hx?3e7qu+0@O^$+#1=%Ub!D|Cr!G(@YYhE+YLu?5;h(O z#fh^LmzzQc)0u_A!0F~?FTZt%1c~$WJE+`?0q0BtP}8p#RjKosi&EZVh$_94`OcMm z-_Az|YpP5XPb=#`Y4i)>7xBfz8IOq64UG0w#|$d(T|XCJ5-ln$7vIwpBVwc=K6(XC zqll+D6eWC%r;kwju=e(1CLY_CBSiP%mh()7B6LZR!h+K9$zMN9j&WUC>sh$}Fm&v3 zj8^ilkN;Rx&+G7U(;yzl-E-sT28&TQoixnRSsD*Qsn1CuM(RDv=n~Ge^atRnV*WNz z>7k8zwsR$+WT-!}-9k)BRwH?Z&6f~#D=hrAd8gLaYW!w%sFD;?WA`RgGKzhoEJfBfobp(XV$@~@&2esNn*1>+d%XXUaw^NLu zD?8je4X|tALdju1aL3WuUm@dxS4@4pT~A+20>qjTfVtS<0fjWT_!@;4ILe%{AyXq@ zT@>?l0CS;~El>R&%Xn#>go7QhIP$nMAt>HKmhyJ;3Q7%x(`oNZzWG28Zh?sHAXk9> z8Y)g)IS|(m%IgzX>w!H(?!5TdP$%yr?0P`FmK>#UEvQ;+>qI9>CKC7_o#d@+$%e9f z`Ym|tQKj+bo|y?g=dx)5zivN4)Z;d=J)M?}IY)Le6L_-$;p~cN@wVipW3U}1c_s_MA zLTYU#f9zb(jh7y&nnf7Q)s$}KG`vIW{!TSKnt-6R;$q++axDO0(s()a`gbt*CiITj zqoPCqcpFKw0~im4De|w)+Y?j&?839647+^tv!fIO1mmH7qiVHfK>luZ$Cde8RXg|_ zPWNWNz>-e@US1@lFaMyGBH6AFA=gOr@RyhfLv8W%{KM@I-a@s7T@93yTOsfC#KAu2k9su$~`16K89w1UrSwl`IN^i-CxE=9Pkq zyuRb<6UypjN=Flxh4yggSu`T;Be5LDaLp1q=@;9+dsrrTwSufjSsn(Vcyf@=j&+D^ zZY%thQ+?0hp|$Y>y%5KbZ6-FW_c-NCPYt!K4Ndzfs%;z@8ku8H||s9SvM&MaGXL8=U~6kQx*7s-VJ(#=Qddj1~*)8 zzXGe&sh#>>qP9T}k%)kb4w;>sH}V;&^kT%u_n1 zCv(5qeS%|0ep->w?aBjnSpm4jyA>pPH79iKfbms$0>7VaMp?4sC)&^E@`4 z@CjmU0PUw7bx%Fe0k{1x05u#Tu?o+m=C$2ZQW~|QyxrY(eycZ0R&*0N+<}qbOlt3tMuP&M(i;4ipBM>U zMG|4d!Xa2~WUFo0%T1_F>2AI-ty0_Pgg}KrBfdf!XPYGc;86`^g5QE?dk~~#O!v(?QZ4y!3 zEb>%`cUYRUO$BihH~%O1V~?^ke+SiZdDSVFDC0=^k4)G0N-4qpJZuM@`bs_g90R_aMM0}yVo!7;1gFr?Jz9i_o#DR#4NluLAQA=y2y->^6(lQ*F)WRa%@SYtEd33a z4uj0qZdR9W8SYQP)u(1Z17++GE!19(FU2*&6onfNr8?ubheAcpQDBGPQQ3InaC|Hg z$4P#Ni3AsPjt|^)Zd1{*1{2rBCbSIr>?-q^oE4*4{uNj~M_{8OuR0`5t_UVnGnQ}S zamOs@SVe@NX@w5-MpI?u8*5wvL%ahTy9=jSf;WI$1M1+@nmuU;&%FF2=F0$w}U7Z%Y>Q1WmCe=T^lTt5iR+Sm+iG^}OSBi+%t2PN0kazuC9{xL zf&7lFlTNDBD)E=tcHOQ;Zz)bt(dBfW{XF{**n6ABx$jlo;8aYWrJM7O&Hal~^#nEE zTw*zS7xh2|F2|-o=I@PLWeNBGWk}EZeO51CWQKqH{CumH?t1*vG4pszFH1_7+7+@b zv?#bO@`xPR7M0|gfP%!UECCJ7Mra<_qO26Bz^;-jxx@UzZE8?VX0LIke0d4jdvb=K zKe8^TQr(JZ-VDy=pL5&h6Hb8`2E2KX^}k=P3;9c7(E}Md8#*OJV$KGW;O7)!`i@qH z=!sm6F#DVt@>LF38I-`si^U2O5$ub;T2kq{!gxR?DzA`g7kaMFp{zwD_Q41;>XuOg zWk^y@7dz9a=7{vtGd!s}k?E^@JL4CQ?8YBpEJ!&oD|reK zH8r(EjhM)-ZarLMYf9LtYp#Djqmi#6Qa1PtE$Kc7!^;~Hmszf%41K60PQo;!=`7Km z*sL{Or`Q$1q&#N6JIU*eKUXhBj!={nx+hc-`2b14InHFmL_ zfrWKF`*M60L))OL1f8}K9GAuM zsI^@`N=M=vDchNp$ZRUH23hE1jra;$b~^6%Y_;@UDMV(Lc6Xbpg>7H9PIKN-jP~*2 zP-b^UU)75}EB28p+T&`y`#KjnoHZAzFvEq|a3>e2TuveUomrqq5>i9-bew1ilu&@K zdlPeTX8CdgVbhmX7chb2-lXkPcHaRZTtWN-2t3g%cGt##eE1$y8Zl8@TbH+nBn^3> zAZN7zXH|i7^zjcJG&J(wU6y>g6=2h0U3wThOjnTmMfYa`#YUdH3igL^4=G#kXDL=JdJi2k`*C%CDw@ClR*RdJ7 zFbgcZ##6zdcr$q~Q8amI8|B&7l<}RUYnf-$jKFduG|wvt=AU&5eBP91La zG4eZp-@Eb@)cE#G?)izOU$X6d1R4$!v&W@=a#k)cAvNPuS4eX@`DFCf6ckSWema%trnvhH!$=>!I?t^Z0 znq_;XVcAQsV-MH7%4S5oFom!xF;37qc473qY|XG^$VzLlvtPG2^mk)QIa4Lx3ux!9 z)%81~arZ;1gt%_MjEK&K=88a9lP!*$0IsGe`Im}2BhB>UeX z4IEDM*~q2|YCQxqp*i9%dkt4&-OU!+d_#{|z)j>Ek5xZhh>Y1=|0VJ4!HgNV8&IB( zLb`Q}+5l(c!U=xz1333aoi_gf_@WdQ;w zn|K<&?f4clsO~=Ph{vknAPeYfq5^ljhs78`MzMN*2hvTaDr`!i7xt~o)YI}bt-Tmx zIu=K+R10e;08 zT(E(t7O12we!jqqma}RE#_>b(#zPsM?B#nJG)lIiUyP4cAPLrz-2JIHeBmmZDQr7H z1}=*gC_%T~kL!10<7AbM=#Jw4b=QAoZosFlS8orGlIw9NF9d!ARYNE!%ITJ*JQQeA z60Zn63Lc(QO{h}DH_Ee#kN*m)_uH4}Z6r{HE*vmUUc(vJO;zvJ3^Vzf1&PbQtl{n- zqMAos*e2QlAcFB%eM>L{8U&9LPNsY=z}T@Mk~<_iW2*@pm1c?6$68Gmw|?GIHgs22 z8MI@6YjIW{A<738iqM zAN`B}MqqZU_P{(>yCa+kMOr3fS}nS01;nm`&dAnz36XHC0J>fE18T9ZpCTY7tMC*K z`W4hT*O$+Q+_a$=+aTi4O_;m1qZdp6G@_YiZ*+fa9kR~OKWyq@cPrQ?==X%^CFN&VU4K*r0{#$mY?Sd1gEw_PsoCcq>k3}l3 zJj1f@si@IC$l<4@nnzPcG@hj`;cQ(Z!kh@<$e{`R8C@b4H(3?wRVzM#4z9sAq;PIm z#Q@%}=k;x-_5?M)e6Oh~;-zpw@B7dJEqR(vna)L67zyLn5&`-NstFjL%yTbFC%QN? zPI|>udjSc3(j}a9tP!wKYPTw+0?%blu^d2fgWN333$AiaWwTv(bygrwj{i*#1Zpx| zo|^L~!DGwzKDvgy>fbu{t*x)GkO{Lm(OR~4QtQGRy56-2`w~5B%M%>k0+qQmqZ`1FrzXo{TRuzmjDVD3$OL6y^WKS#tO@U@%)71HjtoG1i zU*;)f@Q**JB`&Lf>ykwnxZnrB&6+C^P-&z&=Fk_m8k+{`w?c?V)e#zKmgB=mGa=TK zydbM>1jSbnl-~r4^YbG_rnWXm8cCgWWBRFlIRtW!|2bHF+t%Pw-u8Rjr?H^4;bJi+ z>f3D0n;-)+vRn29#O(&Gi5gfH2)^n?m*Il6&75S9shr~l;?BTkRo(^jrK7BT;v7QZ zoduVYmLW+vHv>jHKJMQ&O4%#8x#l;O%Oi>7=}>Vyvi??F{2$ji@axl#hO6~t?m=K22&)rUYtJ6-0u-q7+dG7GH`g z_;d98DHjgeR#1Y0cn|SnYE1EzRQC?3YfrV)vpEM?UFJDAN7)>y9z?!aO;DM{efd+7 zPTVFb05=bX_CBNc1yqo*D9mR@AfYo!o}9JdTX98>S~i6!C@eA@w>CUE*f46{1!pOk z5@!L-XE;b&?Yu(jqqi2k^u}~Y7XGjp?C7mQzC9&et`$yFcG=hFKHTe|1T*QTlvP%_zF`k3G-io;t*o6YX(n99Pg6ea5{Y^4AB@e|Q}Yd$5ZRDnwh)4qi5J1@|L zs_1`}lc}X#iVeo;5@HF>XC?CxU-WW1QQo7eVSHge+{V$TZ7n4-pH<~bVZuQpp92`) zk%a`tU=6pyuGpoi=E$e-F_e!}PQNLBaVR{t@x6_4NuA3ZSN;%zZA;);^*`-kyFK3; zS|gvoZMsO?7)pqTWOE{ofH@@~%Un~!yamtOaLr|~g4k=?)XzBEdHdcePSALmFk5<= zD&jPjvuV&JV+VJVm@*!(h_3Om-8^8%;p-@40RvV|Hw>sd+ZDQGKr+C%EG@KkHXsnj z=WcZhVj1JXLZUlI|O zbnJXd@A?&3e_Qbxk_17YbEvOl(pzw^P+0L(gzSl$nSEGq()ToZGgpd8KKzt*^Kklf zq(#rv_#FwY82d~nSF33)KGT(D2xILe+nwr2A$g8g1v)&sPyVjW0Pr16|Jq~zxEtd} zKj#qM>WUiOZCh5#DR^#VGR<(kl6GlIDAO*DY z647wg>1$f!P+Yr7jTouofDu&g#mCuJG6{%N<3bp)`xiCmOuBfth=V?vdb133TNWK& z_ySUV@oIJ5Rw>A>0x1j**4o_@bxJ>V96YKvqPjW)N+e;dzQ%cL^G~t=q6ya04)&>8 zj{#2EW+NAs!?HQ^mGm#2DUaqF-`S1Ej%)lZ1129~d{3SE>sO)IpA$8}uhTSAvJZ-4hoG97Oeu1qK;g+%|o)(0amvkte))$TT9jNu+MDz>D*X>Z>G`s6zlVnNZfdRxZ=rndd5QAN& z8t+*8nT8=*s8Yol&Pq4bi#Cp?%MUEBgS8>2nDtfU_*5w8?_&8QC6v3Vsh;;cpmBYq z{BgaO%}B^z0>dpq&Dl|nhirYbJ3k5eFyR2MlHwKn?2#dnz&KQi;~h@NAvU;?)h;vL zLPJ-VF4LWi#O@JB*2Wb}u3J1xU;q&!nsXsWpvY>Cq$0vNKCbG%%n0qPq!o;iWS{*x zJX=1%8?9fury3XwNYa8*IZ!yYYD{T9z=!Ns66=%TT;mOZ`3kP{Gn%s^eb^rr7UiBR zx5z|3r~^qY9BmNJf&-}a88$AR`HbJrI@wez|9)OweY1Io+yI;no zM0Eu;4V0$!j;E(;c#trf?6unA&XZK*7Lqu<4fP%8w_s~F=041{0WM0p1T}XD2)KD_ z!@GO^D+U9b{mm=1I-b>&uJJ<=2BRHrIH@At#?D3WF^+b`b8j~P^tQM5)0}N<^A@zD z!E;k_qjykUeYfS*2?o+}S}B6RV;0flQXGJ(uCFI>x%IzW3P>tVh-uKFwwe5eG?~8! zqEATuD#@O?nRd!xKb~>NFyX_9VA?uW?pPulbaL4toCumTAs}a0y{x~6>p0z&(H3R5 z83yrm3eOi4+$!AH;?U=3o=D-F6tiPnCTO`MROgp*B00+hhr|_hfMVuOYvO)(a3PK*Dq=IIuE_$UeSypaVAwG0k3??U{9a_c#b z*=zvc;fxyu8YE)bCkkz=%EGbaKATXX@s~f;y!elDKC;E{r~>!qL){|D_BH^H;nx@c z+TfJbe_gahH>P|}g@iE}guxrBBh)6WIR06-0A@g$zxQY~giTEc0rz9qa>bD`Zyqzq z^pqc>sUA|tA2ugKBEu^hmsTu+O!2a z>uaWE6|kM^IaM$D^9Yjb%+3xIs5UhmOTH&N1ytzD5k*|35{t}qt}7SC(qp~6%$(u+ zMH}xib!tn43yD2s5QdJ6u-{6HEy&r7+W&SA*r>-FYhsn05AFjdzab}fN$W6k z{?R=jCLPXwmF?Hu+^qnWCKdN(^B9C^2vnExOjcW3=-X$~LYA#@pxRAeA~HR+GLE+= za4bdD@*sjwwB|si$(SOqWn^;q)HM*c(;byW?-Yb<0|B<=j?+IN<0Gc=-h4U&;y|Rw z0JHK->F%GLl~rmxGp<^0s@1u-%B%;jaEw|U$x`_p-r;nZwsm%&N2)@7B7@^K*BT+Y zmZPj&@ZmtJY1BGAS^KtS_l=d;A)s!=?X=Q-$1^^ExR5R{ye4h@o;pvrlh+REJJ@C% z>cN-X(|rv>g1dmpA3)Yr;e%hn^mhdvlH1<$!!3$FoNX(Jt@s}8?FSNo)$?(VCmdYl z1H;s{uo(W49&$UELXz)7?Z}9LH*(uY{zXUZ(T$C*&P+1)-f%v#-l=iry${JJW}5~FIWc5h#y^!Eib60a6}t%?d@fRA9!J^XJj z-v{QoKXe{D>94L0GAsnm4 zReX}q);j%NtdVb_y4`V>r0Z?^xTyLOkYRc|gk*DlRAKEmcOTbW3H z1v5@Il=jQH@uw_NSY+I^WgWJXq3j%%pUxrT{}^^bI*^U5Rq#HSh+Aej@N26?Rl+Xi{ASqp zutr7Mo&k3_bx{ zUSy~oU5$9v>j_b&s=_Q*7N?C;oJsa-r(VG=%{w!@)|!Y&y#wk83Ra}c^bL?9_0ncf zP{8aoQSr;(Q_12S?zdG)v*@#u7qPUJI~q0ms_7*Z%H5fXphePXpZBI#8C@1Qtr-&t ztHTm`i_;(buec(N?iCS9(3>xwZk8(_ zQZb`0&Q+Hloo15DYLaWvB~eZSZMj{5v!Z_oG~)534enQ25Qz(N13$Tuoa%b~A%-ZQ zR`rR)EY4XPh_X(#mYy}wuQ9+APCwQcDce2(75Agh+yOkU*0zy*GmCEJS~KVY={MyN z=&BES%K2ejFPz0Yr0(e4phQ|z$~jzMKem$g*TluCLEC?w8edB$;r=+8PydR5aLF-i zcJe8blktlY-NP9Vh{TO~^leRhKO&Y2ZvUw3S^L)my8*G&`Z-ZmS}2(+Z46f7P^F88hWj=t4$jt~_;#L}-?XGD5asu+;u9+9QWK8c}| zQqy6C@8`It$6#h%9Qfa;KB-+aFiK^D_zr7K18!1xx^|^!*Tt~9VEK3?H>#2*i1p_t zZx24;SOrJrdeR<-oeaF;d1BuYby8x36N#6zun0ihA8NRYNc*NsYo8%rn^^~eZ2Fc# zB7+TGYC)CTgq6PH86VqEjaIm`EQZ9J5PYef3jqVL7-o7V6E%8TyQDYfSaTA%il?Do zU?ru1K;F@f9h{RUFBj5JGUdkQYVNOHnc1G{Y8S1tfkQhv%CJqeln6{*x5@<9%qn7& zU-67%esywNR+VnYlvwYtI%%1`sHl+eC7hcQkNr9@P}Jb7d*Jeau~v z*eTr>pnYIrDIL)fac7-UHmoR5cOtAJo5u8A)tPYRCE=}|&O5N!I*tPj@i)y zYyHFFc09#`0hS#_jUxE&@lJuoG-0jBffgRWr;|@ir3dvC-tdH^1WI_0S_&4`N*@a7 z5*(g2vQevULP&e50$$K1R{Fjm^b2q69Z(uiiS*r2d{AS8_y9ImLZ^dAg(J>#FEr>IAgGv2v z3tKgvW4i>P07%?JR(=uYfmv?b3zmnH(%!*z#e@rDB+Z)T*L%W;KGBQSOEo_m7uS6* zX>h7<=WEsRf;it1aqwF$nX9WWZr2Pj<5+)?Tt;wr56%-fW=u<%HTv>6MS)2dm-$JX z*G<;*ZvQc}??t)+ODuD4ux>T3p8g$A9r1Vp4q;WHdpMU{bJ(-G)+`=9q5FY`+GLDw2 zv!eZUNjaa{6lOW~?|7~ekB?-KcwcMD2sTOJW<+r;L`BAzT$v#cJX3L{{Lv$?a_4dx ze-S8qMbq2v3x;Gydj%8kE=mJpfsbDBv+Qi_FPp66%aQcRi_Sq3rHMOguO<@r)RCV- zD=I@o;(@x-;S!hABH7t58SkgoPD~!w0Hj2>Ci#!9H$l=A2eNKAlz}m5fcTRUXzpUOB!u_ zDHYGLF`uLoVWeZ&?f>CO^gvpbEoLN@$ZQ9U@ETyG(xg(ae^RB0;_@*T(BxTks($5@ zso@!3)n*hM^;|R{Za@!fI{Ogd6a3bb5pY4{GPefdx%)eO3z`KI=D(0Jj3Zu_(;S;eFu4I)GwG#@#U{1fz4>mS! z{CDmW{$u!_w8BY1YLDxg_=87NbeX@J2;|7q6QG(&elim|A00#>ff77U8HP&@}&9; zz3f<>2!2=eE^I~_$Oz6>;oL6qqFrG89b5b0M30QOyi9Z(dcM5Rstlk7O!Brl>}@_p z%Bpgp5F=+wP1Ki2N1lzx4*KB9kvAF?ka+`2 z0tmqR&%*lP&ERVBG@-N;qNIA+;Tef;t>Kan#sgNU$o9@jOc4NA?Z7k^_-B4kCX7Vg zL)@bQMbJO6L-?zGTG}cN`ALa01^s5Mwi2I^6Yr5Pe0Injnbo_I3aH*aRA0d~HTzRk z$tp6>0ECpeO^{K;>Ogyrda{~=biK#X*v#)Ds-AULF}<#JM)SOb>c#AFr|M&>D|X#- z`{nY(QD9;-Yjj|MDt30Dpr3Ygai}*JA*UEYsG|OgB(|W=R*Z-wNuu#-UWBv07zgqH zg97!C-f>`=otBxvPw3t_)N6IayPMegb^R-%)}}#`v+n?@=N}?L)jVv`Gg*c5!mcsvtiMGP{#M&6&A;g^-&gV^)#Dde6j{~620kZ zy@N7*nNX-F_sfX_)g$omj;wua=`OE%Vb9nDY5EyGM~S~&W_`w*J1@?$J<;YIyvU5W zm=Po4>AAVzJD#mSDW&NHfqWC~<62!Nvu%Fk2!61V5Jf~f&2*b1N1$^tKC~0ZXKcvCNebcRqf?aFoXT%`LGKBSfR~Mcs#C^AJ;rueMBrPU(`= z#E0@n3n}-I_()(P`!obftMAM+1Pa?~Cl;^94U1mH+;HN=9TS?po`?|mwB!{`ZC5Ky z$pUz2A88bcI(UDjst+muXxQRO=25NuT?nAjtMwY-pU%3G*O&{SD>Ht{Q(4~Ih<8+H z|NND(!HN69*}1CA?ufm72!3VWjhJdL<~eX87jL8BKgKfG1WQHB@c(XFh1K-XPthd7 zgt=}P037B#b;8wBj@tY;(l(#9P4{@W({YIt&bnuGrcz9cNBivXf5Peq>bmWa)=Aoi zlEm!T!SP0k`(z?P`Fy-50*-^k%9ZzNCY8=}hUmQl+L|u$=QC<^|uLM!Dsp4lb-r&Pnvzys7*{n!7At=+jdTM|CIOGqX8ZCg5oQ#VO3P;kfB zG>#L}`o;W#S_^4&gGl5E1$|`kc!1D8T136rcGrdY-IyN@1`yEl=j0wp^twP{{6FU; zL;82>FFYrk@yPkv%PN-saFo1V=5vQgRL*gXkDE4QWkQ^w!^Nu-bA7K+#Lyfx8?Z?E z8n@9;EG<)t9J!s7F4CUGjvMjG9NQbM_~F?`wCH9{@Bn5bY|x$`UnvnBzs*n7H=cq2J$Le_U_lgsJ&I-VcvKP~E0K_3pg+TyLST8zB=p9vmdzy-rmn}Qc zqqs$V!43q_4=(wMvd(<&i|}?%xZ&$euAhvpa`~LHE2_PJYs%d4AP3*}NZ=wzmvaE5 zu6Z}a6DWLh3SmUBB$H??P+(k;5y_6_N7bqa)4sMM&~}*sTG~SJ@tf)m<7U^~spM93 zascQ3V!9_;X+FSh?va6@dWF+`BTtBuMe-ExEsj17pEkE1XO7RC#cEWL?IWNzL9=o< z(HPD*hRR);u(>wbI9werLu6~LJhI3z4>+RSIlE5UL4Wf1G=seZ_dNSDDa6;gpovFZ z7DJ)n;<3&idmu`_vLx}O9*;6MZRpbmMBA2TzX;tR#+{3U&A#70hQfZy^#|fyV~b=G zDg`a-5B-lGP(MlJZ3*<+1KJPjN@q76WM;pA!5cWcKnL3}i*YS)j5+$Jk1p~j5D*cpj4)qe9mzeM`2(A6JD#X&nl{rX|cpHg!%I{1o&T$0na;>Mrb>sNoqP9 zh4X_Q`Bzgs*nC=-tn2as?%2kGe^Bk?zPBk4!>w~tx7_i@T@SNLM!rA0r|VB(t%@vn z-p&)mdS@3hTrTfp9MR8nWL8_7`=Z_jO|qU6FWSj*DmsVBH0vE!GuS%ClFYL67$k}7 z5-fGHh)0#y@@Q1taE{&dCT{6%N?mclg^(K)$%2KU-%9VW`Zkh{F>966)KFynLwkM= z%bNJ;OnxLjNA8U+dokxFD6EALY4sgOwOoc z@0y(?Gi9GUBV4sy)7hqP8w(#U>#1@2iKu;Y^-kRTY+fzCjc>UL;h1O`e=>qDF1Swm z#`^dn>6`#OifvZGV=TYLn<8o?$rF;~sT}aIZIcqwAhsP49*^BTCen$>tyRJCl~+rJ z6^VPN6lWBUS5xPDhtr{K_n>@p<0VNYnP^Zye`3DbwA@*_k*6=LPqRKQ)M+xDznS&F$+QQh#w5z_m1U$WX%X zK9Gdxt*WfS#!~?EJE>dNU7Bc*OB28~GZOPK5+mdGoB%*m2S8nkLjATyBsT zqtQkUW}mc*;yb5&bvG~+xX@1PH}m-uT)Q>Ig=8Q<8IGu^j?8iy(-)n5HZt7r168EY|r*fBCFfL?6Bv*CUxmQ9B!68C26D+rjP7I zk<1D|N)S1#KaI&duwM4Vj+Bd0Uqar(2sR95qUmy|nz6Z!MiT7EmJe~*Xl=)bmr>fa z_xTe{`^-)awbyxf#K_Y*Oz?~sdzVST4VyzCeP!-8+iebgJPL;Oe7)&+IKAM97@4t_ zKjMCG5Wy%Yly?x9X);UyKoXI@JHCjW%}L!9-OclUu%zS{3TV8Y{{Das9QAZw zuvqtqdAEC=Dp&f#Ml_{Q>47_pc7C8la=E9;&J5D%vDGu(-SG}?h2{3N6pn72*+%Ja z@ZTv5rJ;g{-^VQ#_lTn$H>7Xvne!*EzJw4b@{<38`5j4>;F{NwaNc~%7molvyX3=c zFmJQ;AL5cm3uI{nrl@{!HNYjWeHS5qB=R(d_=&R(jXxX61&e`Yh(Sdmg8J_OhDGM) zVfj3V_@*v5I)pk+gMVV`?~u%`(bo95cGPH#cMS*b?2{;Tx}VE)DJL{Q4VNQ~bTOi> z6konob`(&bj$V?2WhFWA7CU^9XvM}e$cO9++n61XIMa=aZ!qqb>^j%X4(x)hk#m>v z{NAzj_7PrWM8A8?oeXU2)%%^+V9H6P*&dZc!s zW~Q*;^Tp@LYA12np-xqPDA(tD6mlg2U+de`v)=yK7t*{0z{Re%>#XvUSQXOk+RjqXe}#KDp9rHFHYg?Et*4Y$8{O!T5ALMvEhl0t?6A0 zOg-WX3eWOioM=ROyrz*dnXL+b!YM7Dgr7&9s%5J7WqdCO1Q|;PQbzF7gws?FzEBw$ za&PzRHbWsiKe+V@r46z!n2;Rh&4y09_Mqmsip#=~e*gqwZq;?aZR4NKIxluC)`4=Q z^2va{1F0>LBB27B)yGo$WR?vhyVoMyMIS=JRh}O8-mCMoA9X6=1^`-Y8oLQ(RXrua z{*R2ZKfCEEHf%-vGwRc9SF2XOzTA+A;WZ7JA*D0Mz-G;^X`gANf%vPFM_FaC=7{2- zn64I-X4z5un`#8yf@o_D>CJX)MwlGPcT86Z0{T83q8PbcmJDBzx_n4kDxl|3BNl@l zhYx!B&n8%66>3xV5ze8zDwF?3y`V%%CIUHS`ceuQU zm5lEe9IttwqB&@C*xN1D&@T=swcDqb?j6V3;@FT`MJmIP*8fnmMJg(Skgd}3?~r^= zWSGtXmxAvGr7aC*I=MBuc=NU)E)Y3%U`S#L9N8DE?B#3l2hGZC3 zEvtGnLtxysPMZ)ekx{BCN$;KoIn#XCBUim+>LDpj;}JgD#Pj8?vm6`E_vGe#pvF<1 z$nsZiIbtKQoivngDp?Y9obyv?SAjKN<^>7zwuN*zn>NIJKKDb$eXigDCTKzlBze}A z@gFLs^7uFPy}HW6JEGd3mC&)~Ik8h3I&mpW@!1OagpXu={$qC@-2iTJ16;k4=}iT& zN?-LuHYU@Zwl(Ah36jGJ;Opw!J!IaweozFuUsS@fYQfp%k&%zwjc*3{{ytiuEP@U- zrt%v$M&;a0*bz1dnj%Y4AK5H9U}NBPD< zuSQ|15(53`{1s8p2xl8Qx)aAAI8J`LW#!DUV+_892R0`{3`vYLhWSuQE@G*%xJgXB zvTgvD@W$XX_F7M3gOE(y|h;frW*{!MI_wrl@Vu2&!pbacUkLk!zE7&<|sZzCt-6KJ*iV+e^l4RbhM8iCZztO&kAvLTP*J$ zU>UZY2b?~kx*q?h;ZTDwk5R^|08Pd+KenMt>A}QP*_xZqwKveTv<~jjP@8Gf0IBTUbw1V48VcKvQ>FK1Y_N)_o&AAGDqqv6TKKtJ^T;?Ek9i24cCQ%C$< z(DyL+-s;e?0Km#eJvKg=*>95}6WZ-43iWqz{)EejQWp^ndoxAHj#R<-n z*Lzz-I=wwwa>mUzQj2p9xpjy{DQ};jz}h>mcJYc5DV-O0W!UeM-O7BL3zyUVLke+m z)7BG)oADPa)%sY}9B_&ACu&>)Jqd|?eNwn(^Ik`V#0_2#0*tRASr2&%LpJ(23U2$d z*e@@(EzCIB4i&_AJWZJCf)<%H9kL-LY2ZmJS&n}0V_79t^_-+A1t#!1L$>OsX}HiW z&fa~;(#|)$$a_$@4G<$mqI}89neS@1ve{Y=J=IYq$^q@U=T3)uxXvY-h#Nm=iJc}yHqi$TBH$lo&n^!7XVqWdbYUsI72IMOINJ)%f~ zZG&`)9LeC|n0%wya9^&-7+E{+Zf`XHz%abWmKOq8ws@}>6Wr5UU3oX!XZen+9dQVf z*QUH{M;r>bDWR(@LFUvx;)KhuVYkn98L7NNLp_bb6bGDEW&5K3-Ql#6q}Y-8Mwnk2 zW8%f|Tep(d*zik~)>@~ECw$%KjkwHfLE9ZT--tT0$TV2Ice2gMJrz4lFa z(h-kp&`1Xy@%R$Uw9!ozaxSn@p(QXq?i zj&`oE0D#KW$*C(&x`13h4M$?qw_WeZYEKHJbGgMBk^rmES)AmkN$RtvAAgDXb$SU7 z9I+jCfRsMk%n*c31M?@I_6oCR-q{rZC=}*VTHd9pYasH1?AoZkSK!BEz`_s(6u|Ha zsW_6jq53PF#=5;AO5zoM9?$%b8ySYx7XM?!L#I?E;u>+AOKKdK{f6e$K}!;`9sj=8 zu_cX6V5*MXCUMY`-ORwFV>sDFH?F+*`Ea+li6pr=%ZJ?xu5&}fm8x%mO5-Q9P%s$v zrn%1O^{TWJcSjp0t-C%pqp9O|4`?dw#Y`isx*# z0bI$rKc`LbZMWsDw2Tsqi6cmXFqwa}K6?vBs~MDI zBaIus8d=IUB1wH3dH$n8IshN!8ygfy4ocWEBr`!UA_6`3O!<<&pjFcGo6;R$gX;bp zT7Pl14Hzsh?(jm&K8?Di?=tz_!0Pl0lN2sK#}NCAFI$+Nr?jX=UHL~9PE5UV5mgep zZZ;cJw(kfsYzFR&N`)h51C;~S$<_OmIO1sU4`jAwT}QlD8&-YLPAKDW`s)S`j!NJ|2Od{SK%QA6NfVoYWlIwJw`ktY{G zVQ7c4m6hbj;d-@kp4P<^c=EJS84`SoZ^V6!TVacZa$ImQqi?NZ1we+^~pflTdz5UI+=ZI#csyZYOl?y zlm>pX1>=rfOr(O-Ey=}kxX;7wr(XeGJspTGNddW<>^UNekmVhy$fou(U#ojKnA{8y zrjAcJWl3ai23RWK`uusL+)=fU4$36PjQ;vWzB}E;A$|zM+%aU)F5W%f6XV{~3vrO^ z$ww$Q9DYaBp+N8@Wpy`x6`{G$$upH1pH<;1OQJ*T-*IIVU~qUgl^}tdpcH}_7U)kX zEknYWgzkrS!`4u}9N8#N%Y_F*6R0l#&`Sn3aa_%HhChX+O>z*Uc(RM89FAo-S+>hxz~(

    -gwM$-sab1idr!(ziH`FiToqh~Y?tuE6Yr~Uj>vkP! zwl?R3Es2k~Y{pZI4-jfwG1BBdns7sLQfF%9&ei!2v;3+cu*#{uY*y5^W=GeiVO!MMio$?0?vH$G7-km`^qjAk-u6HTj9((AuG{%Gq>;Hgy9^ z>8?XJlF4aDOr*Ej)V;z(H>q}J$!T#rNo=Cbtn(dGvv9gZl|(bfs&jb2n3cMFM5H^U zMNA?H+X$p~$A6*VcKxd=nn9`4KId5eCu=LJmbIZv%6xsZqBu$t3_xuK8V?b;jqy%p z!fOMHgeUp4&H)&6p2HncNC)4@%<)9VZ6#6_UlP9E;UL$7J?;3yGFx^VyCd1Cz}Zs#7oP||7d|Ip1zicH7O;kX(GXhFnYqYx9>iy14TP5JDTFzxn&H+Crhx5)K;}Z0_a~v?G2zX3l$=-Tr49ZhP_1+qc(+A93_h6X=H z2ZjbcCXeh=7YKc$mf&RT(0P)=odbi#j-tIVOqMZ5pL3o6uvCl`VjH%f=-SnC-sw9{ zCvZm+ITDd=#M!7uJ?5Jgl-`E8&L*LmVHU-_gx}h^?kHmJej&bs%KZf%O##K#E>8{H z9iUB);*X5^`;o+`a9xtjIL>hB6?Jo$-`?xXf$kMlN5P%xA0p8Jr^m7gFlc87*E5@s zqa+g?6q#5$ThmY>#d!OhnOOYK(Qfp+>--v)Fe*l9HjR}&-a^(hB~sOBsw&NR)YPUa z53zUR-<17-Boh@+A8wsW+EuFW-4EgX2WkN$_o3e)DXVC!;%DA7H_k`={<9k}^UNHl zu(oZ*g^$Tn#@hl&n^x=Kf8uKOa`mh8IcXyz$xZ)PcPvI^4Bs15kuEuE!r3qU?VlKP5{Vr!4Fs~I4k-5p`&JeCp zuZxFP#CfrE_YUoOWaRI4GgU#9oF+9i>B%M=>!(Wqu2z-oll5$6VbOm@u`?Vv@{Xd< zm0?bzB;-BMPDN4NBQq*Dh)gErkaxfuMsE{_(rQIC5N%~ovj5mxDwZbUctM}!7mQxZ z$eD3~SUql#sSvLE$ND&)`1LGK)k`MCkZh37Fc8ku*%l`W%E#iKJ*;)(_b_RLpTJrc zxO&n~Hp{0TIk;1dxrMab(mTn!o9e~3JSGfYa>@H+aBl%y^Q%4yeGUeUY72&B4Ndkm zcz|XP6H|ef!~t4IlJD@It$sr5!gok=sO$J#{0PlC`5jHW&n~hw5{t$y&yr_-vL6!= z7Gb@ng|Ir?kV(hgb&&wyJw0qzzBP~IcPxD}BBrEdu&Rlqp%~!`*P3h(Yh5j_*U3@= z)3oK8cy1Ef8oSjh&Xi&A-r=-r@hZ2n0jbAyx&E|WkAFSRxb(Jg30c)&6i6{QMfgwi znD~+PS%|~$hWffb0FQrCTgdUNcJ+gsY<$)ejO3m7J-TB{ox*)xcg8;5V=a!fJX;L% z))V&7Dob$O-0)HWvqy0U@$e-()x84t`y3`IppL*7VR9Eqbo8-UgHpbay-Qxj<{v}X zzeAeE?(UA?#cE~}00Bgy7`05ikOTVZQ$MV)u+ILuMVc1$e!wAi9I`G4haO^+8So<` zk>0E5xC^4@9)Lfo+Kf#L>cs{>`3Xe#MO+mtW|RP*hTabA$HO>{q?g4V|M0p#t;mjc zybPu0O{811zpO}%TY>P7<+f?!+PV>P%w~)=vLUZt3ng_YBy2*>Zzq$7L-bPqnB<2Y zCAniPlOi`Y#Wc|1k&GaOuJ`qq{%yR&J%a$cr*Y{OUtaHTk0MWpo3XgtHsL0ktJAsA z^s{CyqYmX}XmPknW=>pWOoDdCV5N!G@oC$tpzekn*WZ7)J^X}l-_Kj?&eYK~fN=IH zwFulpL;WLrUKgL{RB4quhL9t^?O%jf#dU)xacba%BY12V{Ek29<_c=;-lpM2{0lp( zh0n>2|G?6Be0PE?-L*Da1OMY~t6+{EOvbMd($#2?<4c}MeX=KaEs z8#V4Ss=Zp&qx?Ye&!Ra;i$v`p2-LV}-3K~fai;N=?--4L7t$)xWK-(W6q3H-za(?> z+(9!X#O2!zE@=rLnd7KO7h>CF^A;s}ZC+_V(cO&+$3Q2%%(Sf?zM6{#QIVjuGK?eD zSQ;pWvGBy0q}twG0Y%#Y%R29nYX9i&T3ZS&BRliX*~$)OlElg&yRRgnEtBD1)DFpw zNbfc>{%7OK#XqpPQ^ikQ{Y8?&cb15cSt>GVtFbr_3i~`kP#LYPR;1AI$B!FG9Te%^ z`-&37F*)yW&UV7LwV4W!e|tx^aT4Q+;}ltE{I&^)p<;V%hT@Z#z_#619%DhT=F1Yo zJD{uOB`OfPi%k@YKT7`i)A6lzQ2?&mg>CxU&2}%6Ii2hD?6`!YaT>#OhKM!gDXx^nd%}thzA2f@)MwJ?0TD9S;`oG)#{~u)Lxtym#~qL>Kbyn@bYdGl{ZWW6>xZ)19Z{?B zM6BHT*L?u8gCt#jT9ZI?8_0xaX*+E+VF!_s$!*D<=oJv>9W=ijWr^1kMB>COS*H70qu_ zt;MytPd+aRzDF{-Qj~gRlm(bJSZ%i!@ureyQdYlj8ip-=3 zfFh2!aLO)fCZ6t~8~ur5?fWu~y}1c(I0zx*{L-9JRC_B|M76}x(HjETjud=OXpmgt zGp9kTa=C20!Bp^?)Vo1Dy9Q*d#NWC5k{3>ohTI+1-xk0Alm3LQb|tfekJ;rXgwwUM zI{tV3bhd%h$Fj)O?v=XT{Nf!@Zr|FjVyr0M0dBCEuY+ zj$@DX@W7HGNHNNbf8{QfquWH>eWk1FT=$>oTK3+Ry=m!fwze0!+21!jTkhftPyE4U z(p`-Q0>;TL`Qmrw=?qmhq*5L1@e@yfb$21o-u!Y>d|bBma-1S)5`)_P$rz_B*Px=Sg&?5qo_wuz)vUqdY6Y1JH#jN=ui*fovrGiK%dd zx*l{0y0Z?sf5*~GUZ|BjaLCQ3-lzl`t3nJt( zj-xn z+Kqz`3e#7>e(}#2`FO^wX*G@zf>AZCUV!dmuEb;RsZ;V*1@qEzy767b;v^3+)jPP- zUs{!TBmlpGjf~?B*VO^FfBeHgP?LQbLvDnpcN@Nuy^$|@K9GvFq7#nZG1Z=%P9dde zE1f$eYf1Z@5`bd6$NvsQn9j?YmZ)y{Q17o&m`*nJ1*2A5oBc%9F1ds3UFrHviexWp zWe3rWvoaAz;+n%At+}KD}%elRj&F-_b(Azg><%;2jOzZ9nm!Zb`}UeI1%RT z855$@Fg_g2T$YiqnV?`mVD=o_*aN+z=vPV7^n~Kpy{iBCsp9f?`Fq|Nn!qe{I=Vy? zb7&Q&%q*xt{HuoD<5!3(IoTBY;D{#@Of;{N)~4{H!!1XvoW!+c`c)>zmjqH=4UyRi zOO9+H>vXa4dm+=L{u$*i*E_q^_aHuC>4RneU`}a$aVx3 zO-GRB-RY8x@d(o7kod=_W8z=(Al>5pC#se(;~Ip;AOG6W3BhP_Rw0dJiyKnYaFwI@ zFi${b$jQrq$Kp*56q79Ot)6xRtO`2{H18DFiJn&sxcBuP2)WwF&DwqzQa|K&F{S;U)S06f1C8Ys*|qJ2|gIO zv^9MCm&Ht7S@7H_VqF*Xb2vlS`_cY}*D5FREH`d!FFhhHAzmc?9~FPEPYjhGJiXiM1ISTmb9*)I2F%2?W}%~S2Ct>!Zzl=MH{ z0KuHCEP!6QBSK+AnVo~?mQj&sk@_9vVgA@;zfz<->betv`663Bpcr#>qNaOy{xgQG&C!N0-;-WXURl!1SxS+5>7I zpNN*U64h9VcbnNS2oCKsMt_IMDG95 zpoIu;z&H8h4rDh+J3Asesy}87$B&X|kEDkpS^|Ue&9m1ZQ%fknJ_2BWw@&t8@b9L+ zYSW%8l67Nj)_Yepby_-Qab&w%bovRd=Ss0GCB|i~Gqr#=15*l5<&_)h)m)7zPIr2( zgzm1~iYZEz>w9n5BkSi|V-$AWHr7E^1C7an=K+?s_^>&SIU5%In}?bedC|bkk;Q3T zyv@wJqodzJJ$aKPPSdOZhR+C&r-OO!v?=;@QgIQD0QAfNZIeR2` z3O^?;%RfPFBZoiaX%4kInX_B?afEZ0G@{vdBwP&yU%59bJM-a%LJ0kz#sLwqmajA( z;3>_N?Ki&GM3p;*uhX~qf~64AMuSj!<(tg)D)ymC-?oNw6r4j#Ycob;i3j$Z;y6D$_U-6&V8TJ-Bzc(p~+54Os1A(8wm|HH8;A-SEp%rjs@I7YZj zXtbjA%m>6i#%2R78>0gpt4~eJ**2s{DB`64!Jrs`Lithk?lHF1B)TPQtLX>D1;eJR z9TSaAT_&D!lM_@(;lh@ii68bk%T$JwJbuk8T0DDeeMPziHR&2~Ogbi8BY?8!j21kk ze6hP&1k4x{F`-alO!%O$;$GdC4%&HtaW#JE^N=(J-xnja?|1>Z%OGQ5#42smvR>2V z0$qm3?+wLaJP)5OEO}zFy80c<-aa)LmmBO>8x8E7vM#aEcBf~V6kHN)2ZPwgIay!s zA}e^7Ar^-nZyK%DJDxt)g?70?%HEE79>-b`=4C^pB~_Wrv@9tAzD(&>hdHjLnjW7` z3Ek-1+saM5y=Z2U2yo`oJGx%(ig>9m(S=xdF7|j-Q}!-pBCWEw2dHbTv|Sob)y9Ry z`=r+@(?A>gzJtpBk=-?TJb&9I?V|O0O&fk6kNC;}T~H*;{#4(V1}2f1Gj# z+P3?Aht&>wC5MC8s;)g;Kr|OKw*zYjP~7+AtPsl}Mdy20H_ozbPb_ukDvOB!c}%?m zrsUWWO}AYmG;r#`(d=oT=~z$ge9CN3e}WU+hG8XpyK&J*Gyob0R`?xJFPf?{I^r6u z3xjRy_WAQBrU15|KFFOrGGp7~^zA=H5##DYsr5D_<`8R#aEbbW%BJOyxgh-5itd_ai2*3KpYhV>;GwDdrl|3 z;B&N@$p`{^2BVK7zDqO3${K99pJnn-Q08egX% zoAG?JB(xKsbbK|Pg=$94gKwh1Ccxwz}D>mF)es>CCMUXBC%1HK&Hd;G9`%V!HFEza1ZAS>Aw{h(=H*i{y$(*#2kgNB85G{9w+uepKZ>Sv1-p6g`YEpCX*^u(RI zO-Qf2i^pnamB%5ZY#phb3}f3!%{hK(nmw31k8d|kGj1?@Mmzc-PVATW>t-KWR7h#S z=tW<1wFsDY<~7S~eUg5E1(R>CcmzW#$5+S8*F&~2`-3)2IF25IV!LZyWc0GElY=CW zEZ&Ief6z7A7K4dFfpXGs;@`;57TMmU5)Svy+iQ8T)nrTXP}#EMAxPe3F$MC!o9E~J zAHn+Thu206r$N*=aWj#i-DbK2Tbt^LV+1jLtW9Ay+aYIQ53WsdPkY?+4be2`gukP@ zC4M3*QaD$TU0FM}SjDxz!JIf-6mH^VL6QN9=26$4EdHMA1^($_xE~MZVyIVIF#ISK zR(*!T_-r)*JsilTJ6i#$b*6ZsYq2pr+!O=|hD1x2i_-AIddIS-7K_q1Q(6WiqxC;9 z0X-+V|L7bsB#0E;$=*y^c1hRxi69pW+wEawT=d5N3LjPojO>~z*h%l4a8wF@?5!% zV}`yx3#D;yz-eD>y8RBORVbTSnMvi^M2V3Na!QZTE=3Bc{ijUdZckr>_AxBSdc`%z z4uP!VuImfl_)n))U(VV+=6_;qsIYCjN8wD&My{l1ngoY49)>PD4#sevj{bokKxO2x z-g1M)X}d-!M+-dsAFx^vtG_=baVAW=2~r6;i+Z+AN|8mg`TVhgg5GTqedA^(du`IW z)1pODj#Kq@$botssogCge-2GzpLIP*2De8|IL7!##baF@rGg8fF9cA`Uo3a140rM6 zcQg%;y+O)kVKmJL$(m!Qxylme`MnaLG#`5Fgr9bABZ)w|8)`tvbgf@7#}-ZLr(B7= zLVcMQo0xG#KR6ux;-&4f&b-b}vr!&Lw8`d2#N+rH16gkGIFv5Bgn*OK{171pJ~t z_-2YUBX$p&$vJsVu8W2)jB+}K8W5^?IK2#ql}X++&SoPpodp1Y3;FSpu)y7ZXz@Gh&+HJ!ebOgD&G=2{xvrQqXsHmU+zS=< z5d9`;0V9-P(U;tM-GibnN&T@MU-Lp(C#$ar^laep@(2DhDodx0o0(n^(^X z#Q%FYtzdfEgr6zI6BoQ|EFC7^W@5&7|9Nct@?R~6RYg~^K1Y4 z{OfeA12ZMAL!`n(EC6AJq0W0NK4r-5?|=WK+UVV3feM@H77t~ht+G#&+_%zICH2q58baWtw_hYYR&N|vHgbF zlB8&vqUAh>fLLr?$poQWe>u@05YDrq5dOG}6;9}qriqCY8JqdaFNLNBboEzwXKf^i z%%relax#8?g8kwh^~S9+L3}}0O>9!=1vqS3R<9}_J~6z+G*VM!ZIFn&3oc4c&POAH z_YJreq_S;j$7d8$Ph+{AN1U^vXpAq!N9nCNdIExwxk(ISlyZY-WfYh=H~bOWOwnBhCH<`*B|S?m*5C? zWX8MYkdrb;RdChWa`zq9-p&)u%!J06-6Gsyt4rzp@f=*2{SQdaaya%<4zwu^@o)(w z_~2Zhu2F&CA+?S81~C(3#50dU!7kXHq52aRNoLg`UZmIKG8D4X=A?}?b)XAj44XXt zMANd;p&AGjT+88SW@#|UNg{wcA1>kR)6QVgux6|0)qtH8ijRtR*DYGU3vxzO)1I1uTDg63Wl9C$W1eLZ|y?#RM z5h{Hn8{~Hcjsyc`j%kXU4AEdlVeXUpdMM|+eZ!`4+h>&VN_ z1~M#mP?fNHCrN^<0SW1(CNzCMr2FARZ`1*uC#{jbgQDIc^)4JrrbInWnivzI%~mQ2 zk?Yf5K-Nmg1iJL0IcMTT+I6%HEGwdx8hPs-PD@B)W1<(~kgrHP;HO5p0}f`0+aI?n z?vqstlM>&z-RHXu^nR6H$7i`jB0R44(TkPIG%=z#Y76yHii#~gGrYef*`A8s`TfMH zPLPlAFe$YnHzSN zdA?RIs@dU{VcO#Bo|Dnvm%L7kt50~7k~eJVX?e@Qd7Gq>iFhe4B`c?e>+n^lj=CXW z$|ai7li(SG*xvCSR8N?YGLiS2{4L`;eSLRo_FTH+{_#Wi1f_C!>O0ZF>rH2YWBYFH8Px%&=h2}#d6!H(&LK4R z8(@EZcN*WReg<4RURFlsz~?0=%I?n+1!2xH)e#i+GA=R&%C*>Psv;ed?XA26D*ccv zksscaHNwB`CKKir#er*xP5?q4;DD?Vs$D*!lg~rMq7Lb^yHrq(1hplV;g>GZAs<1j z`v}?G6>pg&@9`6MYsY+pOcyX`i{RkgfIe6O7k$p$g2<)3^nfx9DyabMg6|_@S;9caLCV7!d zxM=fQWxFwVPAeriB*s?h#bIS82R6Rx-<`jawWFQyG``Mi#Ml9$zBP&HoRbs;to=w$ z&IV&TID&Q%zi0n&U&)iYF95|^#Bb(ypz`|7ei32LMb51HV;BwYYVU%vm1 zCSFh3vF=BmEGFJz^{B|=Af;U=yrQhNnh+>HrW3t4v)A8!l^HiLt>ps|h|(>-fzdcf z_4i008Zs@Q($AITDvoKO1C6md3RueI?nRfj8ztR$J(^=2V?2o{^6oq73h(mkj#DhH zb`tppQR&TiitHN^mfQAc-klFvmA0sW0Ti_g(*K4#5?L(HxYZ^kYyc%4nRZH06PKg4 z_f)?Jy=Ny;Gj$&||X%SZ(Autb&^#0c)9uc8jUuCs?j3XgZ;f=`j4 zg!maEf^otbAfGl%k$6Eb#)0)0Llc}7e8yjrRO07eRl)R8Q(5n6;bDaI{ZJ0D`V<)x zDdjv+0xWkNUR6%Q?H(H|e%phzQrS-as-)hb936sEwuT9ul9;4^-0PtcH^+SiomY3 z*P#OXVv=fH`ectGy=rkkplUcjpv?+tYu!sx4u`BX)<-*o!HH(fFFYJJ{?N__H#^wS zw^6L?$X;)3SOyUI+5IY@{ti`xa}q`krx8kZ({SNETy99>xVse%nHr}LDfzyZajxU8 zuKOpc?~bHhBt>Kj2~Q1MR|%zM9EscRf;%Jq@7@$9nQ-8-10 zb>O09iflLUVjwHvL1REuvim`8(Ckj1A7A^W`vaGe1)P0;Dgfa)}CZAGRi(z+R#Y|IQ@b%iDVV#mRvO7UpN z;l2xS=7~mf+9{PMNOvk)c^@V%A-K?_EgN6>WFO2$NB!o47^ppcqIVV`Gy|@-!!~}J;f(Y2VV*@Aj9-TT)k)r57Gjl~z{mj9dA^H!htrfH zHqk9b=cx=Qp6eJ3hD}=TZFs{YmfN*WMB_}~7&YtcWl>ShU@(f1cvtzl482-d@E3P# z^Z2;u*M5ZV61zIUh~LO}5}fF~OgOtNfx5A(#J|z@zZ#R^#We7$QFoWc4g1~^^)y}2 zuKVEP_6582=`%}Uk!_xhtN6RT=Bh9NazP@<@Uk+Q``9=uo}P}#(ez%sX|u`Q@-kcN z#IKu83@$zbZp-mbGMEiV6P^fc_4x=JMH{32#M0i@x&AxQ++w*f?2|XGA5FTGnOvOb zp?MKq4Qr<{H!T##QB~K0q^dXvJ|%Yis>`PWi{j}$zlPS*hMyULLbM-~X#(oi_^k=IRQY z2++9gd&Sjmf-zEHXIGE{7O?!!>+8Fm^PY3BZ*6-GAje2VS{|4ljV-Q*j_d5^~e zC-v%&Ml@l{m~);%KDWw0fv#kUh5r&IK8H+0w{q|ibQ5`pp$xl&c{?CVxYXADB8WR zrRxdX-lVj$yv0qh3W$q4%OU!eW?DlAgzM^s@hTIX0b?=TsbuuS@1VApx}jJyY&1Px zpq);SP9QV#fX1m&^x;J=$axsK?&NN@QmP0w{NYK`g6S=rXqG7WWP{=Z^N%tt4;{mV zd%3UPB$P6MV{vKdpbudm1bp2kNsDK<^!VGZde;9r-EqP85{PVz#ga zI={tXm{{!{l6y7NHV6n0fg?I}`IkL6FJQgJtgvX!t%xb~0w$8YGWQwfTGRlLlnwCIIa1EP`;X+W=+Ce+hTvCI+<#nsD*()egBeI&|e`HFf>Q zg{UdT&g_h@9j_j1*eH*fk&HQ$$hymzx9E>u$l-yF?kmHe=yHETnwCTcN~Y)v)jlKk zZOGkB-Rd_id`ou#zK7dx4WN@vds&_;<@i4-9|hH)m=ZV_oKZ=EU@k5Lku*>#R-dCv z<5;aY*LgB#rAk4Z#@51ojSl;;kg{-#SBoj#2fIu&K$dyak{cvSHEfMWrP(q>1{Ch4 z)G5|*E0GGDE~}p3(X?e!yp}lE@ammRvB|h`tRgW0*vwIhort423!Sa0&Ek8o`~0Bp zlH>aVnJAi;x_7ZH*m4Xc99`duY^d4AV>JNG9}~&Tu&-qJRTi*@ z?TS-QNtZq=OaeSwc$%GXOATvo6m#N6H~3NJnsW!Yo1t?hQ?0E`3#{mk^PRUzfBvMw zS&vUOX@#`*GpluL*&d(g^SEOneymp^zH{q0Pnus~$Olr*BTyvVtUr)f+)(yl_XLa$s^Ph0; zA|<{X+>;R@G@Q%^gxJRVi3{QxLmkmkE(4oWU>PNEG6i+&kygg@c|q4kY6+km#5b`f5U4T zO5hZ+!L9%0^6dxwTJ=#)E#_+i9bL=07*Y@#oUiNo?>2(;P@;zDEz1tkGG0kp96F43 z^yN^Hd-rZ+p&i|lZQ_5%_dug(Nd>UQbcw{lruO^p!4*~;gY6J4QFgV7<&Fcfn+`=f z$y4(iJsd;Rp^IFlzS2vPld*2c?H!PHtO|Vx(nem_ z94jj?tCQHv)VQhMW^FWZi94syNhp87B^JLncD#wpEEo$6$@EB~ zr$JbKTIGOk`prnhbM|wDd)Ef(%d|Xqc*m=2swFn*UW1_C3OZ(<`4Nl@5_)Fd4CQLLg?9L|*7wsk|-!we8%(#f&bn{ZM-Y#7qGF1ww%>;L` zDl6@6d_I;Fle!I@i&B?2LD`H^`+yut_HODLq9&oE>~`}lVXvIav2pmjkd?VUHMC$* zU;SYzS3^$rTRg7Wq~ZI(ywb_L0h%;UCPn*%w}%x)n*`&ApfP)u|C4FILu&WOuBuz( zSHrOENdsl`BuT&|$A)YtZJ4AMRp?@F$^K2hsi3(lz~u6GP5X8u8Md7Zi75TQITEZ-ZQS%^Z$7!Dp2-fT1B zq=dDz`MSnmg`D>!>jXxi4FsdEn;d56Shje8EtVTq0s!3oXgE$sl&f29M9Q{=DVagR z{^aUyHVXfvC5nIMa0ds(h9i48tm=IC#qaQ%7Wpn-CBj?=RYr37oQEg3NSVVoqF0LI z!*oL^tg5>t#MwSNQ}+~p?Ndni4yWB8x3iXz*T&1qTI#u|ca($EjDdc#LM`62mD#9z zXWI|QpXF=VCQ`!}$xAWq{SlG3gEUB>9~z)Cl+)qyR^=qs2xTVx;Z z$1&QETYR0sLl#oe7uPP^he%eo$vF)UWOSRW(cDy&9IlsjgS+GJ`6x~;Q9Yg&th!2+ zw2rCdj+4a&_+_TtLTnCmyGWKtsXo_7xe(ZvZ}^~56sM$TwIt3B03%ap#c$Q(c0I%; zx=u2$KVh{@E|MkUDzm^)lBD9a!Nj+G!hvI#zF)R!K^Lev7osq@a%~cJoag_Ekt?pN z)!#5JtBfGVq6dAVcueNN!xrBcl$meU+BaQ_hwVZxE!Nxrf}|j|)>oTbdWt$YxslD| zS{b=}6Nh#4&0yjvxLrEyk!9-s3WS)nj-R(7?B-JH@-_XI)x;Wi?Gph}E~!M~6dV5F z&g&?;wG~0)Kw*q~3>O4JP|D=h%ha;?_y?s0Nm%Vp{n~Gx{O45sgxALc;#(eaY_ocY zRI#j+RCdN5YBB@KfE(KcMZO4wwY#yLT*h?#MAY!NySyW5cd@9J=&0M#hFIvn5ea6Y zi}^zW9%40)sE zO}V$=()4D~xjT&dLT0-Ae!t<}imxeE?CBnxT(f1~E@QGmTtL^wMWZtK%`xrKi+O7D zNZs%pjNx<28~4k_<&LG@!Xj7-@?*sqA_!wz^(TgaucA5G5b!4BKrKBCXkPAS@|pag znf%pyE1W*pg<2_z7w609i$8szlw`hR1vlx*-MTVM#xkfYSi~*^|D|(XK5WYsPP@}Y zti)&1@BJNug0Ua&Gi@v0Lu>jdh@XK^w0T7`Q3KqarJDLwrWLU-hpE5fiBG77q@f9V zMQM`lNvp&QR$n~S_iz~^JhS%Gp-B?Qj0`c#lS2p*m(%~dP&i5T5pj4Q?dz$;#jT7( zyqJ$=L=aEJ6|v$`M1wdHm62aC+D9C4`dq{5{0SGeIAH4}SC%hFDaF)NWxA91>hqd7 z_cE{@J!3+%?-69Y4>^-f6G}!TXwspIN{?IdDY~K!!(!n}+LIU2YjLQR3;`#hgD8Q> zJVX95iN|J)fy^?<*_fG(G0K1o(-re|Efjd$7pn3Ore%Q4wEGbBX!M!!xv+X07>)$? ze3W+aT9{UtsuDNh;+!w$g2hoj6c}A(*L?|@nzCxWGNikI3u0)1BACv+BGX&kndVLgG@ zLJl&$g z!wvG3Z)349Mg2RLR=;IVENHATCPXqbUe@5_oG(W|Aq~glD^!%lls`D%n@fRIEF(X0 z--;#o<3kPyHjPM=p@kB{B6bPWt;fCSCx#USp0!r!0(yEutK#)i1{y(vraQizZU5|m z6&U8^Dq6W=FDLeIP`_4l{ASoS;ax4LxzwxP#O_?neAFZ9-Sn0@(=HmI#o5-V=gy~+heUGvqX23(BD1VM1Ij;Cbg?>|{gilujRWxYSR>m2)Zq47?T zlFwuw8`C~Hz`-5ih~eT`xOWXZ#ST2VvrJuO4siayuf6we;#UF%h~L?p9mtu5{B3py zr_go}ghN|P_U66;gsn5Hr9z7W@Z&<=aSGD%^Xc7zwKO1B57rtJ=5J?hi2VGhi!#wa zZtkKu+YO`Dj+a_2<*UDQN|W8))ZP*8{ZVOd635R`-(cP0%GySr2^40c20htDj<+QP z)qsn6LS33vh&k30Ed73cjq$ZZt&GbPJuXvZWmK^{4m=5dTWuk)reI*KV0OB;2llMZ zcCoO#{}^>Cjvhv)6`=7j(bkPxGDWU7j0wVWE~C#gS(2lIO4PEG_8hJ{u(WT@ObyH} zyZr>zs&8>CS^O1qQ(-#?fpyK!(xT75He=cRMaPIGq1~h^5A6Bg(+8>y5_jyjF)o3dL9A3tpqP0YY)a2KIF1l!2%|e%s)6M+t7!wngonK{=;%NeU zd%4s0IU51SuQgd6|4B@268)Ba!*sIQ4UBQ1lz0byB!Zqu#_xFgr*_>nz;R4xIy-?m zfwQyRlj|nh$z#NgKhw28WiW4UdCpA~BB+Fa%81^Pv`k$Yebb&^ZTO^k@CFB+}>g(;hk3Z&N-QB$D8UV6!%F! z5d9niW3+RTiyj?M3T#FQku6+wgog&X-~4Re5w@c&LL~%W$09HxNpd3?d>m0ds?%>7 zg|6nJmvO$F=sAdq**lD15h1Nl8IwDv_W6rbiEZuW)+^xECp*YE(A*~$!w#NfbL2(T z*~k9cS*qliJlz0xxgp;>u#WA3T1oP+w({JOgo-kLZ0i!@gy#e+S<^J!%L04YVEp3K zvcYzNeEY!}x}$0Rq-G$%U8fNaV-xoZMDlboK>MN5=wWO70&Qpv#wkQjU@|?)R=&Oe z5frWQzwbQ{iD(J-$$6iDuv;=?wDzVFX9Z%DODZxmL15u@#vy10Jbgw%fHol$d3Rxz z3sC)(8&`Ctzr1_My)UDYtj8o9b<-GJJuSn@iZaSfqf(t6aT^fU&`_Flm(MIo`_OEW zc9ATRNI5R=0HjlzcHiXeT8!Edau*%S!Krc1K^$1WQZ|8Xt+s*7O{tVVMwNzsdeHp2+KEf$zNV%{0r7~^6cjKSN&Mbc+JrqmNpr?i=k0m6M$aRpz}@rtxj!!*G-O291)|1>^m?ebS7rTl;PQ9eRzD?6f3&i%I=$P$r!;plgQ@G z(47m<^YPt#hT0qdH?K<=RE>!cWAD?&M!B!b|FEwWQ&aihMYzmbciPvEy0cH%{xC6j z;aDJ3ZtC=>v4KMa%PvR7)A1=$bvt?c9aDcy3`~mrX>8tnVMch2-F2$kHjc_X(>^$U zm!~sfEH5egi~>%l{QN#ux5G>eNDbn#%uEJZkJ^=+04+F?@la*q2zT`4C(SA@x$N_T zsI%&1(*BOAhooG-;(@vQYiErXd3<}ycqz+7PIfP*eT7moss5c{C(g+`X4B5gZD}?x zfr^x8!)TsA;XOxP*_>N*+Jj%L2K~#A$|YTMp&tM5E(3_Cqm2)_Shk~dDPkt|CKK28 zbbZl56jbR!ojU7vns-r&uMEUYK_&i*wkA@MB{Lb~m^sI!tKQ_d9PYi+HJfzfJD|Rx zJ5`FyaOAm=f$%LpiI7u-iBo6!gBlH`AZ42@S)*RI4E&I)6<6DMhtn|?7v=b|PeWsY zmL_rR1R1;E$x*nWM`Kf@a+@&?Qd$zB;I7JL_ffup=L)3b2d{hZ&7f;a<6`H<_w5}f z)Aqc(H6+w`j9M*U!as}7=n-=!k7o%OyA@I#Ec`Sk>+V;GJwVmva&RVk*`xG%^_Uuf*!cSLKRVd{zpJ}go z_7lG#0b2WBkR|#bN3v568tp5CYl&H5lyL*UwIPyuZC)a!3a0Qm=Lap{l)V%5N)r*m zf4h!|DGK7&93+)@Kz;9Z-IH(fkQ=07A+gVsLUe~yF;tLd-%N6CYQb(GYM$-M8S?Fs zn^T>d&gLoKB2ll$qwox9X)C0fBlwWx2y_cAWc$X+En19mWj)`WP!BwlKEYIo(aRk3_ z?ybgZHm#TRBc2*A&H{Pwr%+Nbxkp3pu7JY^aOQ|Ud%2G^iE3b_86Gg4ezyJem5cq& zD@mfs1{&J){6bC?L+QtvZ)!67Wz!{m_&q3mCt)KVU$QTeJZ#Mgt&__x|)2oNF9Y#?YzFMa-}hbCLuKIGbeC z#!T*GbaF>lT4>7G?3tYB6Q=@&xM~YNzOpr7R2vf|$EuhH)o$xp_NXo{cUhZSF3iB}+0nDNqI1tb{1Nn=jE*MRoPFP1csg z<6jzTSn#iAKbvMNQ2CFxNFww;i#%NdUtmJkkBwTZDTnNPL)#aKQSiM_`n% zlgoUB_q3~bMY5-fu_(0n<r5yqfCC;g^n(#PjI1YXYhL4PmV9auJV0Az*K}k& zspxLBhGRy}IO^{iO{l(D4 z{;V(2Vo9q{rr#m%{ry!{Cv|zs0AUyQ2`0#|U~IUI(qD2YcwEXm){vV|O*oi_Ag8Ze zj!&y{MU?t0R3gt@n_j7@AKQ#q4rvwNm7!C=>(c`3W10M%KM#VOdLxBCHOIr!j7F0A0~P!_1<`TCS&yJKnh?=HYeo<1iH zA$)t0&>AwfGnkEuv0O4cRD+vB7hr()49mC+map}|1sk%ddLNK4BWYjAIyyCgBF!Zt z=w1P()gcEHxr!^S`qaJ86GwAQRThE>&ILCOYtOK&?K&B$<^woY^Q~VyzPybsr~L=)HJ9=^h*MAvqj!ja$*$kU+2|0?iHH}uewI4o z{VjPy%O*KWm{C%+m*sF=6AdPN;xDw`9aTS9Wb$?LJk%IG-o}8pBzm|q?dlVm{W;>f zOq7tTfYlwvI0HPFwSNbb`>`S|Yr@{|gYDGAbs%*@*TkHI?i%MZBLb0x4igxPG|5)@ zsU{1Sjo&A{_itihQp4qKk~_`n>-{Ddmw1h|{S2)CQ1D^mWN@Gjt(rXjms1RkX9l-n z=kkfLR$#qn5&u$sZkh-UxLnt1aS1rysKo;HIRi3MXj%-CyXAZI{_I{Ex}6mg}9p@9+XSb9}oPTI?c`4&G+!cKKx3{m%qiu6jMW=9^zlpt3}1+jPtwE*e9ES z3qe>^#I|Spx1*`xHmH=?(_~?zr&;~>q0o#<@R}~faop4I&G{c-W8;)L#0huf z#W1K@wl;YJ5CUb`?9b3`7IzM%+f2)+yryDmMkt4fm+8>+>4#iQC-=5x(ltp#-pilu z%vP%Dko#M@aR-xUXo6N_q=k1>{hS|Ua3l+-y&(8M9DFQ?lN8P3QW{C4aES+pP1%6q zUdV%(TT)?A>@&?*KwS&<5d9MRh^rsa;w_IT1Xa&&ZW2-2#8VyjKa-AS)HO7nWf>cW z%Je6H30K{L^dqhuEK9xAm-`OpXPW15kFsF0y;c0}hx*Qb?d2v;HNvw9AA{*Ye3^a8Hzfzu#Q1c#k`i zmuY$jFxV$7!bSJZOAyxA3w~vnZ7dGv}$!70oi6oAtk^yjV=VD4Y zKJtXf+B&81G!exLBLr9QBraTr9s`of%660xKk>991^1F9v~KP{qKUY}Gq8g7XUVg&Ejt1)6%LFA%zdX|7s_xR)1M!bQgD`=gDGhjsI?6Zw0cc+Pa0 z=y_d}FKWE^ebP+^ej5+Y3_RgG;Muu->BT6v++$PzM#ZQ2qJ%%^UKVk-BQF#)U%C5C z+oi;@0*A6qyZLh}x#Mi(Klx?)rJ&lKlI~f`T&u?MjV5WEoS9e6pay@9^X^+Z@;8=- z=D5wues#W@1hW1|ANdZdNA;b*sa#x0FhL&}CmhAeo|vgmEH7UOZM0KeqJXfq>pO

    zPT(EP^NWJr!XPv2bXTdK*mehf8WZ&(R>)36lZ*G{^4UEmj$C{=&#X}7OS!+Ep1yY| z9`3yb?|P#6{-Irljh=6LaJQO1yG)LBr@4*)1lEriSsZ1(%N_;)%5tAwwvIIx(ie;+%+LnK7(EAd9S&{bUb)Bqk@f>A>8` z^)a-}BN}lOK*p@^M$-JjSM;D7v+&4d zZO}u;!sS6Phwru%H^0*gGn|@gjx2G>BOWt|J7{y-)C)KEx0S+C4kD$ZLa`D>(n<_6KE6uWB`# z|HzpGqE{snpQoMtS*?d`W5M%B&7;M%Z~e`k!UEzcZSpRWb-?huQ@m&gQNEZ!Ei1>x z6wf)m2wYCGTNU2%VeqQ>6UU^#{SK`I1~O?I6BGl1XVxlpOG!@&pAZ8WI^Qvqj=(oH19S=xgqd&TkMILS51vvZz{M`d7{f(*GI0gu6 zlk?W;utv0e91(GV`kHpB@N~=MmbRm=I9fwx@XKa&9uL{GkCY%^MuOUB@@0l2Mh#(R z84Qi-n_XpiNAF=b)wnq0_`6(}cTBn>qWSSXP=>&=eM|>?fc@*c^Y~niYK7^F3t0uG zNs%L@Hxt3CL=k*k$ejL|E}@g;{L}9~5w#+v+_iVyUoL8o4iAL?QIf>#TxW6=cvk*> zFF`UI0@Eq~E9fhj0y7`4pxiRnJ8BP*+NgA3zi;O3rmc^^G zI0Lq^Sfyx<(>Pu}EfxL$vnP=lo2~JR)!cnlk(nDC zOsIgvDpF;5l{RV~hg?GyCvmR6LL!7UR5SXf1Zlm&k0- zSmQ$S?WxUK^{;t=?cP!JybT8vG5X?$i0rf$+kC4^IaDM(oRK<;qF(Z;XZ_PWt-Ub1y{U8n6f%C%2t zLlM4waSVHWy$}}{Q|<+m4EQD9p}~96_g43V$nC?04z-xoAG3J8}|AoyB_`N&;v(N+(zJaRiXVB_~@~8c>3A; zMnt-vn>_viLTPU1c5Wy#yJT`k8OMrDaLx?po-P3K9E>9S@vO*W)eixi9#c!@=M71z zvr+jU<3L<1IxY2LBF>I_HM%0N7qMrDYi&Dgsp@YtDj-xk;u(z(h5bQ1Fw^(^iLVE! zoDT4Dstqoo)EudJvk48EA}af+9^zMLM!0KHl%N=^rX|#^z%K4!m)x+wUE0Q`I6h0?8nKAF2T5|2;!JZAG9+*#t)xm@K&3W(ozSej|$Lj`Y0 z{rKlGMwoV-yW|h1Zy?<*=lLs1(n35s=23ji4C8$azz;^iQ}fF+Uv~F%%Fty@8ngmD zp2Q0`Y=Gy|OfVO@yC-s1vNk8d`#tkRXtBm15Qh{dg?SMx=wZ9k>jd={G5H$T@0iDu(`L!%~ z;%SBEReISxra6BJwIocp`_@uyO29=ksBRVf*r@D+4enTI+T3Ad18m@cGqGSS^cRl;%K04G$52q0GYb zaUKxh9Z5}kjzi~%d4a>KuA7kC${C8q<7>OANZOnr!OMiEHrd9>tlQU#34NAofV=}E zzVXGE_-+@2S98R##TGyb2r)joc|0 zc?h5xHaM?ZQaPWk%wSEA47g>h#na8lg!O9bQ9zWCzjmw@6=!ihKuH0QoeNjWGSS`R zcUfl`NQGKpN@*#pp%k&+Q2^?^$UoG{_v zlaxVBOY9w2?QxO4&(#GEb!ih6~{x;-y7*`8} zBrKr{>m69>11%pqLJ8xG!}J>B7es|`aEL&I7*mWlb-86w!TP;^&2|*e**~(PPM?8a zw)&Xk5ovqKHMYunpO%bia?OpC9nW`W$^*1p-7$NUPwp>urpI+{EiR>OnhZz0h^aEA z=mKue$MPBIiL1ocB3znLd2guIXyr~JWPYUOpO8umiG+==gNb_~V*N}X{VWDXa!2eeJcO-?k^*9zXICUexxb5H$>lh8G8?NpP!}k>;?~*S}!JnaPN&r z!Nde(vMs|%WqT9no;cc>7AJF+R=*V^w|KP^I>gM}?d2cfJ8ef8ms~s=8wkd!F4ZP; zQIYSHtcHa|x;dL-P1=;RPo$`wAw?%s>x|xpUOcv00OO#?`hSY&f&ZN3Hsa2zl%luVQ2o3}XH2>lu*41Db2TETZUVmp9$ zOlOZtX&XO31A($HqtfUlm_+A~NoXU|(1{#}%N3AS9bXxL|9DxQWF^}2)Nzn(i98=BVs7@$@%%IH(qH)BJ$*}}9=%A2PV39vY?=6mgzVp}lMt|t^s!P_O z1JrULm}HzfS={?+x$gm`v_*=uoQDLjQEbA zK$`8Y6HY(tr1HDVCS`(GY)H(+uU~)l|9XI}Gf6iM6Zs6E;~n%xQ%%A$#nc*amcw

    qyeps%+moYfb;8y10!uuj?`s`lqD5oV&x_&l!L8*($!%hH~>L z;u?$o<&FaWC0F4@Qv_wQxcWg7S8wzZ2X2LRvYXeHHd5i;M%sM2oRSD!zt9VcsJ$mq zFn28{3?>3BiQla|GwW;v0G*`ml~Tsa8$MHfP1BG%aeEvtLb2gXjj`sh_|Owt`|xi5 zWqzq-?#P6UC?uU{!x`B~%`USX^XPAnp!^CD^pF~)A?NqRLeI5F+?)U4yf+&4Q(xEbGlA|I_AXA}YK=-g|yCYAw8XBFeWyIQg= z6b6T3>Nh0Zmw`$v$Xsn7avo1CXN#pYWasHrIqrAtHlEoiry7c-&$m%Zo9xigA)o!; z=rBd*9mX$M5QZzp8C9Bdc*gVGXjOn|AN4Hsizdo-rles`lcdD9tD?e1C0jE!`pQVEN9Da+pR9*VdH}PLqvIEY9%fFN{UFIdq+w+CXy$+<*8!L zmx^UG`-t;Bc{W|Q#zX&K1w6H_@H?D-x5BQ>x;ZVgfyaGeHxfV39fY}XmfgVm1@!QE zs8o-1+s|Jpr~08EdEXvUlk`l7k~aK4EB-QqqU>AFN1kfqH>^i>9b%X@Koe{+za_1v z4P-_C=#Hd7IB}8OendWdXniyyiX|dLPG~$R0nZ8ZUsky+nExMlkV9W94gu>#Wq?#y zY%+q_WB$M}Qx0zZDiOtU71_|mdZ7GGPT&W;gfcHuo6hItw20=5VHR9!$ z#@{2``nN|O$1HllOb|NUcQaYYn?QkHj8xX~!PIf>hXmgRmSmSAR3u& zas0U^&eN0PmB$-1@h$Br|ED*)Luxl0oJz3caW2m>@gpDu9)ZwY25?271Q+fhg^dv| zHEs4z5fLD_NPNfAr~Gg$0Y$i}(gvK@mVG+Xhnm(WH?kjChVsLA_N(d)WU2e(Dcn|y)r;*(T zy>xd!0FMwut+PKbTb0cFterjdR?2<_waWL7Jb&zUx zf1H|nSgi_3ci#39-wtf+#9nD^egH#2yuS{yZBBO?mWs@lr{PT6z%>|m4WP+VZTAMo z7XO@Ios%c9e%2#zADm>@Vq^I}kSaX!vXSRJu)K0sYmRp_i zFc3tRt6XJufj$|@O_d4s=V^xy{HJ1;>ab=?k(Ul3-Lw1HzN71zTP(}3lRh~JP=7P7 z8B7n#lROzARP2@GsbnAjfeWx2=Y+kQK3T+fRPCgTZi#w-a+z2Zp$}K;`-=`E9@*tJ z_=ZB>BvdFhlnGRVG3n}F%L$FQeg73l?Sb{17|JC&PJX-&Ohv{%DuZ+$IaR_LzMU_? z?ynhFjTZ3JSXRi!zXD@Dl%tjbJjz;Gx{;Bc&nI-@6Q246kOBvV`I#K z&FN?i-|^)h-;F6D*|ie+hUX%DXWsLL&Ap>)-Cb5PkBm7c z#0Pi^Yz!Zy1WHU3up?jcjUA{~o=?0k8|ke)ZcBo=+zqDMJDk2$f^muD)ZrQiTa^aA z>-R*u^3R4g2TQ|2@f41CELSfk^d1;Trl zzp`{ACI`S$@+6y%(|Vd+&^9c3!8Vl7v>AV1fMm9e%=`h)zBChH~Ttsli zU@{n^EY@sE=NmxIpfcb%Xtl*VmUgruT*g;$PAphbczuCh`Y*ZN`~UHoZ8+N?wY2NP3Way{ z?~f!7k*IfaK#`*s9j_*%^1Iq|`;V`4%d%8QmTiZ2FaRL|{qI<5nj~b-BJ1bgadu@! zdVp~G!ybhhwGsM?^nDHa+BV=%!aR5IGsZ;ziKU+>2$u-`W;eRpfFR#CQj_PccPMCa zE^dNTn%Ko@d#2lUD+-4+o3Habpre0q=RZ=o)UeBbJtnRjJBnJrn28284^u|Ng5x_> zKLDo@cLdfIb`NnanXJ0^c9H<_^+E_DP&w-*9dd`1o^ZR|Z>e{k zIizyh_1{^qLK@@nvz6j6;T)!gp~U%1oR+iRpK~eHGI?Aw)ccxz5UOz`;irxkUx_PF zT3`oMs4+!=b14H|OX3Om^OM2XsOJYb>Itqe;ww)DPG>*oELevuUnm6yP{zv=K>MYG zvo#q%M^T}!>~lgg*zI=D1t6*e!RzJ9V(zIzi>zFZuQiw=8lXuLEpf}eJh5PPP|xf6 zjL}t{pl2HVz4k-XKHEy-@`QKXQC+=aI+ewtu(+WLC-=3#q6kO!)Xgq8+~iUT z1EGT?x`r}b?$qvod_XDwk+6J18%c@`ekPZ@NxLkhZK0m2G3LKkSh!za)H0=**EqTE zo{M_~bI?dUe^(d^r3;N6VqPN5y9JXH)N~FP4LBs5Hxvi?Hj2%33R=F0!EbK7p*lte z)$mXL3xPb-9kDH0#UKPa7a=OX^BQbN5~JK`3$i0FT>r0P^AtRBQN(tJ4)BFA$H4!o z_DAQB?EVv9Kjc@--woc3bZ9(N!{i00N5!mf zyuH*V9}ag;WpoHIbROq~3+!{x)&GS==F?J!kM&lY5BWg(_6WlGjid2}&{Ifd#H8fC zF5ciLfGDAwWnzX)-#Bu7&&y*M1vAnHhWj3L=TDpyzNMlR$;g?PrrdXs5UWM24A5ty zs>KO|@TrlWq*mu+9%0Qbhhqo(=%Uc&a4^2Iq@wAA)JqwhPQ#h^qRQV}_L1=hp}Jl+ zXYezXBIB&uDQ1?_>w+B#mpFFB#b^DnM;Nh<9jmC78C?6k;uCAc+a+Mg;CJAfw&G-d zt@RJ1c{mF%%(A!zW*c##N&i^^D4_ARDS7j?O$n^Kp>TatnVOiVUu}32tOzU^uM9uR z>;ked*1}D6K-n})+jm@@6L-L@L{m4rn>*;{)A2`n*BvwG&GmEZ$Go6i_Iy=c1#R5t zr-Uy)$2dgM>wk!qz(?1iQK^y}>WaT=hT?qC&pC&5%r?%l_O>4{V2s+_xuc>^__)i6 zWuRb1txT+dA0Z!d;=DY&}6&+&vif*{RHAFsIFOe+)C4LBlT8_ z_ztmF+L&v4UgobakLjm=8Js}(pc5m}dY`c#Dz(f?>mAwI&ofL)oRXhuV`9?rG(bAY z_c`aE4OKbLGSX&NA=O09Tyngkvwi{fRQ!6Sjvxk7@$RG=!x_{T68-l%J3S87?cNYT z@tSG3er0KKD(7iva=0=OG(VQ9ieywn;!eV@x(+9<0OhZrb{<-RY9E1c_}ko3Gk)Eg=|9R(ysBmjEG$K$XeQX1jLbns!U+42^2*Zh^>; zWH*2x?SAAr48;a+k60?B)xZ)C%@g=hwiUX@2c1 zdJsz1jO}cj`&R@X$lH*-ZpRzH_Ru-)v`L5S5hx+9k;b#1Z*j|d21?k9y`oFoctpzG zM-IS^#CLs%ql(tTVqlrlbn@pPP=y`sQRJd#VkT(S+Q#4=Qdd&Qa43@unu}x2C5s+} zD*t%6H6erx10Kl{dSWEcoPLs<;U3{Ki~+WxTWOfRKkIp`fhS7yie$2W)@)~+WM3ztR{ z<8JktaDAcP9K3_e_%r&qU274zGtR0wKtHZ-viy#y zn-67Zlt^;;)*t0awnD^qzVTm`mF)pcV5WeGA)?F}CEY-%9TF6a6={!=_74~a#Ii)jk{ zbg>Iw8kf>Rb{6Z-Gl?G4np#K64q4c_jk_#(zUUnaY$T$sZ=7VjM@Jc zi8GsQ2}Tpv~@)1-SK~ZOyBUB!V;(Budj=W=yJXV@1OGN z1PFhZ&vHZoo#TKD7X=Q=E>1mzb;|asF1aO{4jGN6F$+@_PgW20oWsSo`FzkZ*$1Qik?E{h>~f!8L~%TVDzf4ne;-n^RZh9aQI5 zO9v%jY&zDF# zmoCFRk4Z;-Bu81m&Ek8LWt|aW>d^?A^FXmsofwazY7}J+ub)4t%dw!1f7Z0%yMr0%$wm z+&QjNMMn^TahhXDQ%>s^7?Y!j*e~k zzr-_JAmgPel~eYZIr7FlE0{}iw>d)zqr7EEz15~RDq%4Up18%rOwajyuUL+Cys(zR z#m<}^8t|(ckb&GXn3FYhK0B2Wq5>v%j0i@sBH6iXCdd?WB8l?;^|2d~jfzer%OY&@ zGuKHt!yfLzQqwnnizcO#8DRSa;qSz3%ykwvm4?15ykzA0rAVpWR-c__=$6Pf2Zr2+ zET;E$e?UHHVTz3fYlFRvDn;tj*6kknCWUd&!TU|_zx)nq^x)7f4^+>dVlfFoyV@QA z`u8$Bl7h9@W}qA1;9_8BOq#B#LUd{;^G%IYEd7nawnVe(c8yH6I&1RTrdFvgPJ;n8 z*M_liKzO-;?%fzzPq$aF*El{L+MbyDD@&sgujj%16>9?pSC^@vDgo6fY?{KK+GT>^ zA_f}`R4uW5O13hUFJ9e9+U`i7>I#bPd1T7p(8+z;&67am!`e!ztp|rO;EJ~YJ1_Ch zr&^FSRa_IiCh*I#*FQ1!>n^Dtzc5_%nX0gl`|c|2e@Q!wfTm(G8XOQ4n~ui?4Ms+= zTT9H;*Kajgg>{TaMf%1p>-0@dKB8V_22<@LfWnsD*#-5mAKu_?tM(hyg6EVoyL}En z5%nG~X-6YK#GKt~5N-h-=&>4i0co)VzU;xuGcT8%+dcYqR0o!bSu5$26s&er=i*#Hc65wyZZd?0>^cWI!NmEuXppga+VTg2>)Y%6zUz<1o!GY~;b2 z`z$VDI#qmw@VCnl&%V%ibfcndRLgx28#hp}=PP%TmjjM4%S*>6Ftr5FT0lIvNITkA zCR}oU_&^M|p!%0~q|X|K>avyqMqCg9{K{_Sy1}rhm!Sh>(y57wIYO%_3xA|}p65@; zErNT>%|kW#>GA=IGWYUHR>m;qDzl=m8E7?E=fdSQPXmFl8yHY;33z_umlVpVFOM<( zv!x}Y_+>8Xj|~pK_2q|pQd{GM8fG70m|JnPz8R!sc?P29`3RBj8cSDFwnA;)BMo1pDpW`hYPb}V=BlQt*! zQ_ZBemtw6M@hWX@V#Ud!Cgw}Qg>_J?HqO#}_Y4hZz8iNUe$aho=v z)h?rXfUf-UIvJUgGhjS+B!i<(lm_9oA~H1?HjW44 z9{1!(?ugD@$EW71!W-l8#<|o!)f>1?Y60$kR$#rl?KFfP<}QXWt(j7GgaJ;)`Z_-| z6dd6`?-d2ruimT_j(Fc;ndMIoym$1kMBA&rY1e>}lu(Uvvsgv9cOR33dBNPdCF-9~ zscHpwjHh+9BYw>pU~2WnZ1FR244)>{bF&5Qm4YLm31?&TWka)iPa>nge=WxgzKo;Z z&HC4mFz48q(iAK21z~q5W)?E6F@5F3mo+z#=;tiPhObQ&1jyrK9j47m=^M!jqma&AA%faPf`>Nt`~`mB0D|%9ojt}7o|AhX8UL~kai+>23Z(XMz|BL z&MTNbxm89z>@rPmfB(#~X83ha@6jCN28MS@{;9vl6c^aUW~iU1`O6|h>VO^WUQq#` zq?z0n$nzqZy;RL9wrH9t|PIiX_254Vj-D;xDlpc%A#j`rguLe_+s<%(@{v;O?<>=VO1RRdV z27UM$_`tzL^U+dVVq)lv@(k17H!WoYqwA`F(%>>OR&98tLiM~=K8)q}IVqM-2g{|y zx$iWGryKLz`WUPeJyO#yf6P);Sxv?$G?M3|yJ0`f!&M;HY~KKI#gcnbF7D+Cx4M{N z5Xw#xXnk~Fd6UQK`a|`QV=)s(f|7`HuS_(0qw_GF(jQoXLh1~#EZQYZejBN$=2>cl z1x|Qe=Lk?}zcQedJFW@Y_@w1&H4#+$;O@0(#>*mqv&r?DpqMy8EFb}ocbXEtgsq#A zj#yvt?kpzh%;jv8VMKj;A1J7Cslc`bl{?i$(i-8nIbFd5s%*M>-Apf^J|2ST2KVq; zn4J`>^#^{jz!gl#>1XJcwU~t1GdVKKig(RqbINmoH1sEsxQD%?ma>+u zStQXnzw0E%p|@=rfQgHc6|@R3_t(2_xnC(`XDQM3+vsFqyML){Dv&guQGPd^EW6B{ z_27TCp|pxv`;-9*J!TNMv?HF2n}wi%tnVNOc0qj0BB@b_O~W@2_!u@6xJoc44$lzdB-*y74a<#qa#n-sug#aq?b|G6zgKD3fZy=$^?BVL6M)7h2W9#1w3Q>g@YR=bupHo^B zz3YDn=_rzcxq@rC3+7=}w*+7wun-as!Du%z^`4vLOb2kEQ>>+?4KABW&`8|0-$|(R zb+f3JG-9~in)(eIy|uF3UAr3&Zw>~SdlNm|LT7obZ_z;pS=jj)wqnN}>6Wwh zJ)d9}40#rzH;s`&Sj!<5hA)Q?#WHfGSeLTmp?mN}$UC^6Hyi8nrb_k`B>ioBFMq5DmY~aAbM_j=cFs#~*G}g-kAMQZ z}XLsB=g(e`33eT#}5iT+cTM-(sp&$Y$6|@yzI{e#yuxnyxI6 zAz&sl-g5{xhFFIKxeu03#aeqUhvxsD0qMEfL;b3PVkrW?F0g08)JyN$M=}@xQu?eu z%=qKT=eP1Pa#0sfcXQ)TWqubQri-pqD?kTT>`8}O(NlbZkF?0Axoh`6FJAsc0r`f(d$@~`zeO|7w+it?yCHk%0Im*FOK$@%Eh^Xp6dxwGHm#c%Y9R@d3U*X)RGxMSWj8Y@hb?ZD~F#!pbh+TtRwy)yX*nB+$2;OXHShiRDQdq1c)5NZSn*sG?jGbAs9iOE*KX~u@0!3_0DF2SC zQ;&TFskURgB4@5yh8qVU*8N1>~bx_wj;A5;FZX7(m+Gq>quhPf}HYuV%w5l*_qgag`8 zy2*9||744IZ{N#01=ew)WmN@!xYbhq`Y-=!D!`peQ{dVg8?aCl>{f8s+={N`OrR%k z-IxD$vw#_yTsVAb~p83_CD4Je_ z7x6Mhln8F-07{S36f@;46O0pfwE0asf_+qWvN-Uz;`>>IQn1eZGy_mnW$RIm+#P(X zQMSp1nO%}-S0%_(Ro}JTS{>QCf}DM-lUjo=U$jgG&`GpqTbuT{3n!|fuiv$wZ0thTIWSZa$J}F5 zqmf}Vhm+dq-?PXn=$RbfjP({zPe-C=&4icUHyn`7 zos3x<*+dT6V;}py0~^O^8#ojrhRIbX2x@Br@DwD}jb3iUGqy?c#vXU^`s6wQV9i<7 zJD739iIIsyK|Lfk)Z6g+$#L(fwd(F|9D;V}UazJOS$l47J?lOo85hT^Lz$(t{P&~k zz|;aYGfUL@DHGui)FRu6-dWw5u@Y->lA{LkU5khM$EOM=2XM$coXt7!lV_-CdT&{_ zzN@*iF^`#%dX_r4f(>yZ<`fc$RGw$qCuu`2wy{fT5e7A0-$h#e&G2fMo_ z$470n9c|2ZUDAh8pq0B-`mW;5w&N1JDPhyNbG4W9ZMfH>8(*Gg;CL|Xxe-p84YOPn$cz0Kyb_7r&Fb1oa(Kb%5%_iM{ zkTb>z)h-u0`pg#fznsgg=98A5^EQ3QbdQ)w*`Nn5qtr7q4g%Jhs9kZn;F4vRVEvP2 znT`NxKLRIfQ^L+eiWgXyny4;SX5so31 z&SO;50w}J3M>MKQF)`09Sh*?roPD2qn;#%4y$0~EO={h5WiL+kj9hKN!qS`!dD2S*W3 zQ999r3Gb3Ly?`@lKqKr*O2%+51@`pewq<}zC-&?tj4-}*krhdA!CP%~1f8?`<4`TM zrbJvG@auCi)v6Gq+5!Am_AY|hq!K^UL`G}p3lY1)J)jl+=)SHflt%dkQ(#? z_KsQ**S$rc8~J=+CPJ3%w;(NKvlkuoe{e%?E{twVQ1(`eqaN;aa5Q$3t1T2nk`BX3 zAR~dd)sTvo% zmrm_r8mxcRUW+tEpG<$?HNM+&8!9ts$4`1B;XTzjR82P2L1?puw1E1#N)1*BJJlo&U^=e2o|@uj$F5vfao!`+@2tYnve#aYB3VyE{RjN~gQIf{#34TZ zw=HE0t=A5)HGyLLKgup~F#{UTI(%;5a7wGBRp4^2n{zNq7&jG>X4q#89j#uHW+dz4 zzMvZm2NV<^mi-Ef)%2?Q)!1Xqt$Jp5Z8)cUkI)dU``in{1HzT8TPYP0G~xMQ0W8t9 z;1R)m9`sg((ltl69Sz$%o0bNadPq&Wj-*7*PII9{J&t+cmusJ5+ed7zJ`ely1pn#u z!i?F9;M(TwiBQA?{l)=lnUc=X02V{~UdTTGoN3}1C4uOf(29f6Tr;nCQUJ;VnFW+{ zo@+T=GqEEJ*;zX~q4`Ak5cyBXvfles%IF>2F}^p|=1kjXWu7TBjr|}R(^J<<4{eT} z&Xu11X)d@|PUpMU*5e3P+CP!>LKt!;-}GutByj0vE=!LUQw2w^?$|7E6Wc8{ci(~D zQagSCz1tZqg5I%oL&GADCYsqL$jQq9qLzijD@hBVU7bSk;69bfP3x0$EpH@0*Wgi) zpu{Gt0-LMT+(FCDnwD9pcYUwvaBcO43FsZNq!yc9zH^xF!tP5EtstIqc!D(f-9n|~N1FU$hw++6mtwE&Dd!m0iz*I?2D9R|K4RD{nwW31~!X$qJTmNI3KzwN(NlUdj+3sOHXk~4;K(2pp zaXBI>g}Ja1dI4c;wITK7QZpy@{_)KZY4P+-mDlE77$^eVZHNI_e|fN&o_`_<-o))a z(tbwTV77-O_2YJ{8R$XFcUC8$t}9c-+vEd|IwUltkcZZeOut0eLLV(`%Xcs-W)TXM z5HOqBxTi~suJ%RkOmzd7@g3Y)-sLfAnFErvi92xzM~nP zlc<{4E=P+=kv~Ndt5M!2cwOGMmi0}-wHr+g(;jrg0;o+L51oOjT%o(P4FKj7y*FDIxg>( z$mXcso~Gjn&HvrtXe*eV^_k#RHOk}KL;ZrJxIGh>la3c z({sE&y)}rjsyg3-S|`}7`BwQ~Tygy!%_#Cj*JJ?_SwF14O(0)NX#JSiFGv*QS!`+9 zZZ)WCmvj0*!TVgqK7P|7docaUh^YzZb3M&d_YdQUBWQ_|$7v``CV-O;Up>d% zP&zw1!!LYh53d&rML9hpCUD29@5H_A!ByEHx4@saEzSvf>oSFy+KMu`eiB1HnC1V6 zGtO830%o0}-@4V>0Y&3BfVor~vJVz(GXzfPF@@dKK|U9gBr1>J4yy;$MR|%?n|!xx zFx$Cqy5Z|3+{aYe{aHcu)%R=Wfy|4p@CCq&i)Ulk$}oK?294l)r`7nIR|!Kkyxx(C zog|x9X-?Q*E+UQvq6CE9;Jb!kMBu3&+Bp6)r(^}ZuH(30{kR7=2+&8fVY#>U?I*}P zzoU}d*7ED*D5Cwwd@l?cnbBNdKK3K5@u+G_Kb1%3_(_sQ$su4F8h}B@Ip;=p;|MIz z))dp)vdlAi^7AdHzC-C6CbdtfwF{eS$2tM6Ww>L#d%6LTnIOI`GYFLJ(pDhO=PXHM>qk={HOO6KwI@sZi}669VMgg5XRzzP0$fb z`GAi1c+TC~`-KS0l6C86JnCwVUhXvM#EjIc}Vd%f2)_GgoTpu>tI7Zr}T0&=S z-eK?f27u($r2IBVA5M;@fdwDlA&J}2$2)1$;Li`)_T7<I2R9VOIAza+6nV7)ki%6T$#E6`} z+Jr`ovWDdG!;s|cdwyM+dPv<&N6<_GA}=S=ZG0*v4x3J?G?=XymRt1|8vqC{TYbrg zN$1gh;OAs@pn5V#3cO<*h+z1f5crd0ZV^dweOyji5C$z^pWN&OU2B8RFdj_qdn;9% zPj~^?{2kgriw8z0z)VAxql&ZEu55lK2lYn%;j{7H5h^vPTC@7Ki3i?&%QXp05*A3` zErJ3X1P-w}dF{!qpK22W@Tj&OJ$(wTC9!=osrbX=Dc(+hI|cH4Xn=RBPZoB#T*)cu z@9=Vee~r}1e5AgkX%(@d77&Qag%z-i&}CNAfihfw6Y5`^voI@gG^{2q*RS1g4{E%_ z)G=d$L%#vJqSu+F`VNjAe#ShxH}_lp50>w1&BtEDvkZ2b%iNe^>xv8Cud>Prtmkz| zoq$b>DflPkH?tdB%1YOT>q^repHQxIlk&pEF)$-!+&T^0(5d*vY4v!z>1To933I!C zk_PFm-xX|u*%F~?vdn8m0D;pn$@x_8FxN*nxO4+mXsGDv?j6xsiQY{b3+FqhvK3uq zHVuOgRc}~FhpGx)W7;Omx@dXAa;JVEW}vVm338P$X}TWU7yyamiG|kbriM~1*eCbl zuShD#K5dSApu*G&UFKZRdD=AB@&fvTwfULZ6;W@n#P3}1667ARY(!(tf84HZjgxl& zZa%-el;Ejxcq9I&hB2F47?o)_h>_(Di-mJE*SUbHehJ`TN-s zEqS+9cr!z{AvxEDL2XYB^X=E+cuNLb#R`6t(q4oL{ zVw4v38a&L(N;Xf=8NX#C?9_cWf8TRe#nV&wDRSpc>HL%_weSFO97Kd~X%Sv7{gi+^ zIMb^^R9q(Fp!=wA$LKPxD)MQ|JF*UBIoG!L1RwtBSg-&r&hRZ#ru0Uy-fFCsXOgOU zo0XI)8=}5gI`M^-rKAK2^` z$e;zCVs&Cq<9daclxy}W)x)7iKrKr0=`*qsFs$EbkWA`&8Nt&?E>dW6s}Wx7v1Zg`XIKkhm&C1ki2Z`q)jlSQI+uoabtO5);F> zQ(XJpRLmvAFkX}eW{i7ls`@q4X#w@yUcAn`B$vDWJ37SIG7wQlU)I;- zy>fq9k#O(@te!n!%AL`R&V#Fmw$}AMxU)|T*ElldtrtH%0$T=eKb0cE?V?_&6l%7G z+>p4-u2q@^Q~kg^2!hhNu&0QfD;vtN!eYdC!4q*bcm%$dduK z3u?Us8fSi2B2V#^*Eh!-^Qlsj#Pexg)PBm5)8u(_7W;F4cJxy&nVmVy=U4fyn97K0 z>uY>lGXQ83%KS0#;n<(3qeRizm9@}jmIIV3+5O|;alzR2u2WdEFM9k4tzS2d=UM+* zPv8=YT&-RsrJsw_RK+84JT^IfUz}RJaX%Umwl)>_^1++x5p@{NDUv6ng=n(Li({@7 zcqFK}^t!u2)b4SJRjQy{9fySY>D<}Gvh-zr0x=X+*FHWWchc+UIYN=u`}2deH*m9Z z^66rndyv#{6rV-Hwl%Kt(;>kmT+R;{k{(OX2c+kph07+UX;6k11}%Vq_i|}XJQ0)i z7Z0ehnu1Yvf0W159^5BAB9wsE@pMXOBxfIb^EuTw=n}RY+ykS+)W9(34Dz)H+H^rY zD(N-|@;Q`$i;rvGp>;XWb07G_fM~6m2;&bE04iukde@eVe9or$0C^j|&sn}VZl|N+ zwd4E(JhYg`8*CXJ|EoZqOY*ayj9g}-H3^!EVy0vd3c$5`gMxK97 z%U*A(@s3F0tBlrtACFBtU5}Nd2XvEw#5!P{+@VJm3v_cS;CFbP@qIQz=goTA&woxZY6w(;n)-d%(JxmC6 z+d%ToImOA>^JS3+yL_)FWxOwP_zSTug#t&n^R=UPGOKdwI9erIGdpwSXXA5mgV-__ zK0?q&d&kp@IB_{|!1->g#Exup>pJjP8Jb!kI^2TAxdm_=r34Pe!M6GcRrD@4z+umetfK_hRVnEceo>_;n*4=g_hGrQlp>o2sj5Bz%92<%wu; zHck;cR~bDR%V~q^d76Y86*&w`6Q26J`6B9>eW=NL5^)wK1!Dux9;9;A zYW>yMM7Vlyly1Q&O&d~MVP{BYxp($2<6>|*+!XgCP;p*?tq|Xx$NNZomp(2$_6J$*0H1#>?89d0eLoulCN8(h0;s8Lm-vpc;hWYf$tw)t>zXN?%5FtsU7;nH|5MG-0qA^ zHSuiE%UZ7GvqDiM9oKt`*a^nUHBbIdQPhJ6>c$;)!{C@B0iXnNsEZhM{l;wV_6Mrx zHNf84iPn~9qD%1NL0=G+@q@9_tvG?&aCu}Mv2q*NEgT%nobfU0N1MJi>{w@*a2g7 z{}AyxN!WQ<7EmR3e!}Sq>M48Sa55(F#GIJx)XQQu>I`JquC|k;I$}la*Dx8CO-WBW}0;xlu%}i&fO+^-+=~Le;sDJlMtc|ek^u3T?m}rA3AV7rg6BH zz_}a@MD;UCu*j_zPdC~|p7rzUPKj##P6QOknCn8@T=y;7prB-5&$r2E z*E=0n{5FB-^(^m;i-7~i35SV+#4<b;VB>aK@uK(vGT-FB- zfOvPKO0Xs|L!b>R!!wf_Idm-5#4asgRA#fty+3;%HXJ&rs9juoi1e}Uux14 zesX=#gge`T2Yhk}vtYt++wn-DH?5#gP934t$I(Mk+6F#RjF^sk;lVUN8INwqYStiulW#YB?wY*SlV>(#c4E&7h@;hREw$tP=$KoXC2+O6+EH7Ji!^TjyTZp7voZmHDbIk1O$0^0gEG8s$nj}bwH6JR&E z$3Iltebl*Z@1|W;ae#e2;+QPihuJvHF5>qNtvlbJjiw!Q5Q84=V*dLd+vr| zCp}FLohG9z8(dvA`_=^dNrO;4BOIv}vSEALmHJPhSXxpt3>FyPy<-Y5AFpKq^6ngU zopQc?Jl&93`=(>GIC`maDwBhp3eF}J^3*AVI!FTBq=FIb3}hSg+{rs^g56bs{%{I# zBuzc!z{=L|J4TU}@rYU;FN=$9;n{c?bf!=R`;zxhxM%Zf){A?WJ{{3^Yp;@iM85I9MqC+=M zi{+|0T%tmk5wSO2<+X==upl+<%doH>>x@^^9SojPRx)NMnrx1T%(NTd)th4Jg2E?E zO`U6piQF=ZTjy|FryBdD*-$si`{~A^WEoIZHXJ-yHu_&$8H3&F!?Cdi_Kb5IQ}euC z7`UG6i$m+JZ*9;nsA6-vS@Xj_9cAyfYY7Hz1UWbC7mV)o1!rgh^~`;xJ`&BgZ`!b3 zt-W}t(m2^`?Cf6JV5Sxw1ziv8W8w~<9O=-ip3>I22^E?RiZi{kd zgkor@lV^L`-moQYQxBxbt5?nOHP%%)qb9gC(%x;lx8at11-PZijjmFuQ(lWkBd;Z~ z>z=9Jg|CV?p%Sf}1=%~E!MuQ>$zWtr8oR|Y+b+WdZL9%;T7+ndw=aFsr-dzTM4yAP zo4eHTDKXwK{O>!aW1MfLZI1I4BT5pL_L-#sD1mMupZj1hB(~b&{&Aan`Xl&7ASL|$ z#SI{DLr1CFie0A2!q=T`4hoj9e)nD=aRc#AeS(5L?(QSi8euFe`9pBHj`AyDkCtPt zVDIq(lEOKWrhs+GAt0L%!+M6gLcSuFqtGi`e7(HYI}jz0&Um=d%=p9;63Zw{Zh5sG z(HwpQzFaF0+u9r`IvQ`Oe&pCFnPZK_v)$V6q68j^gLXeC$G_tlL-1QwIF|O#tZm$$ z&;!+UhBRtyi_r9pdmf0GwUson!1`-4Z*jFsioEr^t!u&cgLQvu)XEL?oHeVXGuj-SglCecjAfVmpP&AI zj}xQ>4mvOR{$XEHi;DmhtVQ%I=SY1D2?(12w^Gkn9!SG5lXr|QAKy1Q<1i1h^Zwjo za+n^RYze-SEa~Aw7-0hX@e-&8s__?JwboOIFx>}tuBPT%c8!b*fhEy$u3 zQ<&b?pdk2HaBSO-r+8NyXVVyz8nq^uXT)uXI{#5u*9wFQ*eox> z@GWK$noh(LtiRNKHfnfuua^%oMa9v@6t7juTVv!W)u|h+ztjU6q)I{IB`os!l-!}Y zPrXd206{M39oKj~jo6dK@1H)FQl(A?@mBVE4iGAsOJEJ0XaGe(y1!0M z?=%Q;i+#h=+@845*{lh5|-imwSa;DCEjpH2c3)Y@*as7vxVG88nYs-Ks5_>P8>4yu*)7c{Bu!$7V_b&e;dna6n<^@eg*!1wer@0UtQObZ^jhR5D%^UCn6z=SjcQl=odBMpf%Xy`X5n-4lvootVjOkqNxSrKkW-gjDo4exWa@2&<<{u`@oFsD@+QN5Ba!hn z&B^j#>_;0`CR_jd3p#UJz`=V@VKP#m+hXccf5@{WS2YFSyF8@`%=0}Ucz04&IleEr z<_g)P(&`d9{kbQReE2L-rD*446CE1c>L9BB@G;Twoin%#jVsF)?=brHu_^r?uAEHm z2l#0ge@QwKw(s9@kM>?OL*+lt`L-@RI_(7OW_I5zkEdRjLoM;zl(}!VxVE{5YKa3y zc2jzmOu@w@X{BR(di7ZK6`QW*q3Sy*EVF04&QFjYq213LYoKp*c8vulCCY%iEx55B zp$1STW7Ls)y4Mnv=-X(}J=8>{|1JQCY8xp@6}S2a8>rROUGIwe$fnrRA7uOGaz7)D zIGr(9zxQ)7lrg*W)mb8}rqUOkNHIO9N=chx^t_tn;ptjWnW>GT(Fze;UkLl}H7%hK zf4Zi6qrv8yYOg=h^dlwyC1-l7SvQ}m)hC`Zc&UGUKCr!r?D8N9(CoBN{bIW}{x?Je zlFbv}v2^ItwQn6{8glIov8z@=j~W7n35$O{?UP%de^OO3*jrj&Tb+KcpEHTOMzbIf;Pn z<1R{v7Q1e5&&*{eK%u=SEvxTy?EFa(&Ouf6H%yBeH+e8Oe1`t9QD4xp*3)Vbt)vgx zw=_&L9_@!62-W=KSw>zD=(A?;>zPgEW{vi#ld3@Waf(W3`URIjRKnSBZ!Ua~y|}N% zb)T5^3uMH7G4*)~L9S+8+B~meG&~=~JFX6dxfp^w2_q8i!gM^(^^IB0ZHPQN5hW-zabfZ->TCWf5A)cz( zMyKK~z63(>F1hi`{-rjenDTgecN_ir6iOJAnKBcLZoVC;TomS1&e0-BxrJ-LaxpQjj45RPimRsg>=VDdz&y!R7 z$w|uA0F*&GJk#e50KptSfsWi=pf#~LnL-{yez&d>e;;R7a0)k1j_*jiM%~r@F_A1d zgTmnPl8JB2_T9ol^*4YMJJ&Z@DtuaY-1 ztM60Zb8{ph=7KAbp3s~wOT>+NW&pkmzKsjKyhG|r(pS<*8z!; zA;39S>+_Bm;<&cp_P5f$1-Hg`T%&mG+{&8Vor5cW{Ov2RKQ@y~K*VI&Hn#r+u3rDc z;nJ~}%X$It=AQW|vRh0eEwv)M9_nyQ!IFVmZUXX*wfDtUZ^63cExE>Ltpa$bHVA8^tv)*~Y7k5^S~k+_Osr z7A$}+$Bj1|F>feORxHKP3bNzj?wvM*`?s=5y?eG{#&d~MsSG%avl_%53#%rV8;rwf zX(?yJV(SphV-Em9a_8#igF6uI^bZ!Qg1bg=Byfgp^PZ>6UYrT5X|PxDTGp8OLy|-B zAk=J0&Oqb;#-3uCS~@?0^soP*UdBanYV>a`*N;#eB^>igfW2ZyznaQe{U70fPeJHf zfFnWwOnea7zVheFT@l^mTT|{9Np1G`(B4^TpSHFET@2jj>gP6BDqcf=pO7n>o>Or`;!dYA^0g^RT%At>lr^w00rI#r+mk> zjc29Fwx|gHnlbr`Wx|5`>VC%7O%#yWMXcX?=>dCErz0J%6$aU z#CnM!K4J)@6Gf;X!~(RNnrv1S7k&(1Rg*&MLoTr^ksv>U(kor}JDJPr^>E24(Rpj$ zxQDbq$2`GG^E9wyW>^!2p}jRPcmC8nywOR)v%KYu`Z&TKmj;wWI~)96OW=&^9?5!{ zEYCWS?PMAprfb!|{%O*uf4%F}UJxtgU9evBCWjl#hQf|9X>xJ8Wo=2cxOw`k`VbKp zm?Zs+j>48tIX746pT@EUG(I!(H+@C@K>24WDn`XNzpS zN%A+U^Y#&dKwKUK65@td6lly{|J0MKPw6Jwx}*M4;Iz-0=YquLK)QDqBDfK&EW~HC9iqEIGMo(%nYm^LgInR6KI;3Dfk3asfzcnS!6T@`!60tJLYxrr^ zl!i(qzSM&)d&jwW=hMysa7viCdh{O1_|W81(g3nv8CM zQ(r?dHIoK)cN^m!QI-1ndj1BmY6OB;Q2kRY%GBB0Xsz69G-l4Ab!wV(|N4d1b7ymv z^HAG6%j0^8_eV$r#Tz$jc!#o%v(yuJFsm0$Fo=rcWUyHIvjdEBWy8EmqhRg~F2?aT zGiCD}1|jc=#st(^ve{g%z5%`imvwByhN~eK#b)g^1mEourud@y%WT zC`u5M3OZgpxje|W{J~Ey>mEuM+P9Pgi4xuRNdJGPN4d)_{*xWJ1&4z}{O z8||pzLvHI*6(@lgPdoSQ2RB~EXAfRmK!&z05?GZ#&q({5pf-q4X1$T7dfv|1@3?GI zp0U>QmK+(6#Ri9{wfzHhqmTxuOuR}cO7+}X&%bSL0%qvRrsy4wUu(KRKf{EpcXotM zXE<)bejEh!@AW0xY3tp0P9A|?OE8cSQd8g?8y0b(vnI|PT0?o#mofQTMv}+~cDOCiJDQQn&ymTa{@R9* zQT^Lyv2X}~<}@$W;HkX&KTyIBw8oFi`8kq% zG9#+nMuZorIIGXw_{8pL_La98;k`rJ#{t)xQ36lS^QrCAT0j5Y?mV#mSN8nC3US?| zc-@ZZ$7S2yU1q;EU#{-ZCGp3POm&Kd+(WzT-M+eud}1GJh+IK4rY;r#QmDQUG?XXL ztR8L{-m_0d8)Er#LQx!JL?~J%ErZ>P8&WUzpSA6kygp4df6v0lT33^Cem-Y83z}vz z8S<=&>i0BW5sfxZbFV)SzU!-kh= z>TBuI2oeY&caHNCE-lVFs6T^I|AhKyDY1Gc6rS5u@VayHe4;IDmw&ymW0WRhRF`;L6z zbjYgJhA&yRl8>`1(*(m$o{SBw4-^vnc`6sqwD}8K(gNw1EnG^P`pq|aFw}gNpNdNV z33kOWbs`2f*cwI$M4iP@OtLg~!umUwW4thpOoW-S{hibd%OpKsf=%ErLDy_<(a0iO zdxp#dL;x!QvQ&eDRVfrpH>`fg)|GrO@hQRJ1Zy5HAl$s>-Np$|Q6Mwt?w{1kZZip$ zu@1ZGxnU75XaDR4Sc4Ahn5*GJkirQU67nMu0o;|186CO;b3p^A8H=p6$!5C0o%q6Y>wa;6Ih`0q-E@6wtPoOK z`@0jHGBI8c11S^(FO;bIMS67tRp7xYg@-WV_5hcd3G+Z8VL#kUoh*L*LvKZ~^~?4i zx`M&Z7w1HG#sY$JE-oRM8N%7x{FM8Z?_DWP;C@YoKMlP<`pXtiAHIo4i5uOW%t5~X z?m&N>ZLrC)D&T+_>|QlJ_i5O{`DNSVeyyBxgnaCKm6>As1f46ivDXoml4K47Q`2j&RItkY1kLQzP~#nDLzY0<&1!W(>tR#tIf?awiV#No$>_ zlmd}xJ0*lZ43eE`W{j@&j;1r>FA*wParHyyORYIvh?O!~vD?t|Sg>EBL-dB*}?aX)=6>I#3?3_xCS!{4~A_AYB&;YdW zc6(e9-es9D{}t7scwXXEvNd1p?O>|8kXC8{=a?Yz$1u|hJv+MH_kk2#n?xMq@-aaS z2wI4BdtBXbZ^7rE_(l@FeNN@cB z@T@SV!J_)m-36;DO}6Dp>JV4gpJ+N5zMgklO57jQGyfL+#px_yfqg0~rGFFaVR+`Q zob{6vY54hkFJwPT`UIaSoIDPbCVe#zUdET&c8ovjH8DR}X)+%UOxn4c!7t4L;VL17 zr>dw`-x_p}Yb#%imd|Ah3yu98&!}i!&fe+@+U^M@-qmXoISX$kfL^Hw=5#ROS}-L= zGU@i70(13fM-Pd2P}c~mna)!s&h5~yD|a4AslxgIprNaRH0_BHNif82q9$hAx@)%b z(>=9#N{>fXxF&b2(erNV#+YhXZTxLniz-NcU_*^wNn1lzzhZU}>n~&1M%nnHp(wOo zg4esLo&~x1=7+!_#H9hNF!{1hyZ(QS%4S+R^{W|}0a)xsFZY;#0C)OEe70!X1#-ix zlo;ew-EWNi>iue2FfqKoeL125_=DqJ0X^F0k~xZHj#`}LDJ=JjB=rg9Ek-39g`h89 zU%%Li#yM@m1m$#aN&?7xMV%_GnnQI;WfAu+Nn^S5+w(`^jq9!1UEbnP8_VYej64C~ zwH#0pIRW5Yr9q$^iNxJKtx4S_oI!a3-k)}RifLSSVpkq#{zd8_Mida>>-Ki!=7u@y zA$*Wo|1}W}d-nU@#9JnJZfCJlf95>A@7Ve&hhi!9R@;aP0e);oS^ycl%*l6#&h$K9 z{Op$p_nk|4B=uFNPj9WO%`$rwD!y5Ly7^yO$jF+k#8 z$|nU~vF+n^4e+3^{F1~sf>(Wk$M{s|^}m&{>uu}#U>AiGpZ&HMHtZ?WWIqjyYUC;4`pjj|3hdxvL?$c-EV9A*239WX#+g zRRnq80%c~8^+vWmCpH^_vh|LwSKRwo+D^a&tUWADbAoAcrb(%*PZtIt<0~`5eRzE7=U1kttbhCww8YaT{|!>#eL`cN;N{slY9^ zCBU53g<5%o!oCJzzCJ>iE~~d3QVzbmOOQfV*JY`t3b-G$n--bl`ZOSEv5mLa<|r)v zT|iTwFssRDvhT?*`PfN)+qwjiN zpNYEsZe<1S4Ayox@^jj(>rlmxJFvBH+ybXpT{}?ae-w2JuG41gBdUi2y9|?hsqcps zgNaVnj}jW;leNVXanShLEX=0rvBa0W9u8RKcQm7Bf`EzRv@1(){9E;Wns^$*xKTrP zr$5+ko8i{xUn1krQNDoOi`4i`44X^vm#}Y(s;8^e>hjaAN8u?kUJVX@S=F8I5J`-yvn`KA^d zy+|Z$W^sZZTWoaiLDfRBuYPZ_GQs;MA3@aAKpnIOO_%LvO)+sMOaasGj#DdK$30v_ zwXDI3$mvHojxJvjjTcBhXV{&l!i7w^eLkKqp5xQ;$%bS;kD8dSmp>ZinLVG2sfa


    *A>C< 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%0AB4^InhzbQzV^)&6q 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�s2RPoK5}vx`Ef{`Rg*!k* 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%0Dw0B?lf(E~rPm4Z9)6w9! z_?Oqp9wYi{!YXPi0AyjRQ!Smgg*9s0q6{>pPgPqf_Jf??=8hHQ_8r zSnbR^4x1uv7i;Rt-zjVgp0E0nw(|HW5$E{r1BjyE`i+JOMBB+-h|n=+obN_r5Nq-M zphzt?@7ju_ByI6YTE;xg9LIzvzD-`ySuVJ6hSzb+<7{R%7h4gI~hw9O4+=Jl$&F97*-)CZ1fzf4*d$0o$hUJ?-;rJ8fswX_b2oP$?7Ak={5-D53KT}zGC{(%hFmQh z)-#R3)71MBi|6}NlLgNB_=P_yzK)d5Ma^@w$RQ~PM$tycGoO9gxQR(LEE&1k71hhi52T*9Q-+s~3@(yxv(uBBzF*z=p zys^{PmZ+K8#J4oy%kzt0Y{up}P^DeU$IfX}Y9HvTyX<`=b@^ftq!!ix;Loa+v0Ot!QO; z8RJpn5MJ^(y+NPETq1CPB!nK*HNHA!Z(O2E5Ui@77hGlACT)z_N(hYah+p5jhYi!& zE6_$XY!7;glAd;o>^r*AI+Z>*v4tk%r1?pDnXzJX0ad@iPwwzV~a+iBN4UIOCakEs%a=k-_hpoccH zW@BO^$$HtW18_Xa*~Scz)E6&DY61tRZ59g6|J4~52>PtSWwn0d%$uHE{1aF22E@iZ zr4HzP<4t?!$3}Ou@n5*ZcQF(kxIJVpYL!6cHq$Hn;EE!^dW$YU(JxV*5q5( zS}qNdWrzDR;7IDECV{7!W1F>@bbJ*cM2&}B~evgnz$LwNqN8YXfP&yO!zFtmZLI+)pvGMyLU z72QuD;~*)CV+*>PLd@SK*N7l(yw$74R}MAVB5`Co5b_CH-JKHlN)&h%JgcVL_49fm zvR*zl3TEcYbSJgMO2y#Ae{$Riby2~q?+gz0H{*?{|DCoa3Rq#&RenGYBdC7oovj={ z;++S>>SYyHkGXL4_Q06&IVeVu`IqYSCFFoDsp=Uop9`lA@yzq}@5rV4r?LvHovJCv>-bwk3$bvLl9>$3$5=$&Ck=fT(h zJp9E}!Aol-p5aZw`gKCBge*Bf@Qgj4@ye9HlO(B3WEEM4Jqottefw%Ow`Q~KNN^#% zya8abL&q|~MVN}$tLgaNH;vH7TT>lQRWo@GES;a~1UWdDi;_!$520Io=~(f`F?QmZ zEF6sZ{f?&FsNIc&i4}e5$t5>fD+;$N#)SiwGV8Yi4&0zIdT(|0B|*>vZh8iH)DSz^ ziDF1Tz+=kps*Gz8c))u?J|;}fX{g4TIoTqk5y_5 zXJ)ADKM|>m`~8X3>13`9jwyJCY+`1(XdP|hB1J6M7Cin@c=W>XcvPX*! z396;8z=Kafg9GP*fS2L|o=^$P;==tb>0!LP?pjTKO#467T6=KaS?z9oOq8HkWA$tr z9XP&46I~;N70P&L)QS3#jnpc1A@X}Ikt2nDex%F#iqg}Zi;~H5{|=fy3Fm_d$-x{g ztTUPDPGOcB=rPAT64I={w#(}lLg~Uw5wJ z={gLzIGEDN45%6=?Mv-+E@w9}!7ZD?-TnX$)(`HPsE*}MeJX|suLY~T{l@USzCrKz z-l27&rW*<-koP&QLCt1ykyD)p*S$MHqIzeG33;@%k;0}~NM9g&P0`{V&UjE1-tu4_ zazVR9V+;_PfiK_LWsngqGsIij<*@Yt>@P~YxdO$0xc<){;*2Af5zO6B_r3Y>_0qV+ zrX^dG9CS<4#0<#l>P-c0SSs&$F|G!|XROFGx;~FLGo~@^YBrbv18yTIHmcf4Y%Two z%D1*5*}SE8M$~i1f+z$R?@XRj_W4+Pw`l77@6oiP`+AWo6Jj+bcsSR07?EcDfZCMp zV+^E|4a?{$&!2~n#uOmJv1tMXx z+dgv%dO;+o61>Yd+Oibv8ju}I^?n@_85MWEMU0w*`vb_9!&P@tY^wjB!x;4)JpIcq0GW>h z`F3jbK11I{VR>T)T3BTrk4d9%xZMxoF4NnZWudGM3^^#rxy`P3#^&`+PODp`+{4nh zY#YvBVV@pM>anQyzC#0&7^??st;_~_ezOt)H*;Rpij8?FeYROj)N7E>;NyX$@t#z1 zqXXnE=N}SY`xRuMsJG$X*{HbYgLSdt71+}H5aw47HI4IRj02#(RN*t(zeCffMrft) z<((CUpnYDVAKB5KzgdbD03JrwKV@HG*`_OOx~0N(AUyXx*mqRgfD_fxM;O6rp6S`* zXFAbB%>qs)y!BmUntCQ-BNcXSq9Uu`ljU&~e{c zy?L7@0>$-3w&<}PJrOh(=8dw#JhGWx!%KmX0qNni7+9B-{^kk8Rs7};NMRi{i{ndaM&=e zaEh8Bkk6zU`J-h#Zh0rx$2S2lMH1_#?o%Y?`Ve*!b<7w1M3JcNCX!w264t1PQ`1;v z8cyJEYwAYcMrDkh&-yo9*a|O|uqfP-y$>$O@^j3eN>)9%d%UjF_w%bUCNhzPpNfaX zV%s#f^RiZ+_6dy4+^Rr&Jg04nN#l%+f8eJhq^pOdH16e5N}`xO1Eh_yL6AADw=RP+ zKf_t_&$cx~GOnHlll=&u$IS$>H;ri#6xxQlJIZGt$=5HXcG| zp8F^FuL#uUe7k35k?F@ewKha~xanCePC-gtA)FdxFJHb1J+hdz6pL@+rR} zE-0gmWIakf=pfTApVw~dUe-_jgC5*9f>ZVewCLD>DaUSyE3+JwEM9N2o4*%Vn3s^; z>AM`9AI$_0#H0^bJt(Z$&R(8~afyV-y~j;I`ioH`8BM7AOW2_$k?$#1F+wkS`q&^{ z?0F5U)A$7$;^7_LHNHXtP*8lE?@po-HBZbHPBV(MIo|=^#PqSxUCM+m(*`#DNwMlQ zKfNV-Jma>5eaZdp!_ow};`I9^ACfCH1i=PKrN%OWS+#DU+B0TaVNLLqD;QXOY1+1c z>hbOYX?Llb%L&GJlJto4D#2Rp&Z6eP2cC7)?_>{bNR)!zORRFrKWx-`XsO?Tx!F1} zS_(A7lM{Q^>VV3%4)!<%p{vEwL~6!yS>c96{6kFPLb0 zMO^O_7!FgG_smiY>RG;Nqs-mrg&LU=%HE;me#6N368Nx_))O{_d$8inp!NfNX9FW} znh<`WI5k*k%}Sf?nF}7e`@fI*C=s%%@(i5c=e#$rnlIke*8Bn7ixQ5Si8#q|tYlXc z+>ukYq4*|m;qo=az;5jtM_iK?dFUGUDC@06wd9>2d4$5HxHTB-d5EfWGt~fvZrUmT zV*5ewpz=83M?Z;CBS{*5^*C?N#mqa>HEy+5U`0ks8|~!j4S2(H%^h(8^J-N0pU8ST z7Y*~`;h0(k<+bCLi}ta%dr(PqbIy0qhA*^%2<`cj?4a}M+79j=&={`3!@T9)VE1q0 z*1t^udY4PJe{OpM)2KwUPcy#NEHQsdAm{!(zQ#gSyoeIRmEaBlH zdW#06)mg?VQh^Q(z<~Uhq>pOLG;Uwsm3)z({SBZTM~U)RY8B+N$&^gV+r^stND3c* zeLbjSJR+rW0JdQ$uZ5vWjbT9#lsDUWe7pUtrY^@MYj}iLndp?W`T3h z-4A+#j$4u;?tJtpku0X_!N~o=M5KBicW+)U7+D`Rf#MjKuXvfP*ZnIlHy~X0E1l4e07{s zA4F{9lTkrcrIf|lLT#`4F*a-g^~BitnYFIiq6#OqTId((phN5S$6WG62Yl{lYd;AS zV(NjlYAYI^3qbKX&{Sk&TUI`>DZ55d)2ti7f#Dy8y)33pDq|j#7*04fE>Ci;2ZRmT z7jTzy=p0ursf_VI49HSzP*O8cA9U zXT0VKF!fXTr>4Twh@I~+?w%-NVp2v1LLn&tc{?*B&FF~i)&|rE1MH$t1e0y0g!Z(W zRz^!-BXI&5PouFgRr*^MA(q)oL=qB&`-I37>Gc*aG;N%vvKMtoyHPh~Zv2U8R$K#G zaeUM0Nh#)Ue_-1ZG|`&9lv^%K3iS@gwTUg8^>&RM^5KWsgG&7d5d*V6sdyixRVt+s zQX+m+c7_vWQ+>It7N&g*T|zyv#u}02Np|;8Jch38_>dl`;nm;i7$2ROnEbL+!6IuT zvAX6aAP&dRs_3>==LvCpH^B&=@zk0C;Io*E&pVi2xrv8~+_I~LBxJKTHhIsKVPCN` z%l6+0Pnn&w%`L}hZxbA|yFxW$p^E3R`L=c;s_pYsf2`v7Bp(wx@uyF*{z?PMatm#^1x6!- zz$4J>Hq@pKSN{$w^@2ns%=>?Qy<4`XD%Q1Ip*3v+qFDcmB~J&W<7?!_Zu`&mMa&pe zaWD@3urKN$LZmE~1sUS{BnIfhyL@BdRxOXj+mUm>Sr=@F{sf7h{3t=!V%HZq=7g5%X-HzjA zE?A02P~iXWP7?r&woks}LB+WD!z3amtD?o*C!DV@J~9ojnbWMJU|&(hjj~#Yob}kX zu#{o+*JjC`2k~6k)0Zk*4{mG>M8-sk%9N|nlGschJj1BD&5-AybDZ?XE3tkxwd$b5 zIV}y#E=9vR@q9-!f?>4@M9#UAYE(~$$R$wfzBkao-+_e)DV;{oEQgBS39vZ@=>7Gb z9P#wz)Cie~CRtMlvdziW3uj>rV6;@ zxf;yLoZg+zFJ$o@fygm0CVo|W%&>?+zC#(OigZp*;ocwt14*HLpO??%X7P-V@;7xp zR1Vs0Pf9tM5pOLsbcv67Ws7H=CS`LLOUr&64d{E}V=4ljBvCVTkP6)HnBzbC zXg23o-N=k__5dE(ft-G?%gaE9FRo<`rs86qO+R88S!A~U*`)1R_b^HK`8OEB$*aF` zk@^6uDx?8c6CLvum}%YgM1)c9bzwl^@3tf`9k`*#Ze0nTM#^-GBDjOFuU>>1xc@x# z@8IrU+LicU-f?M~OD!!lr))$%7NJ1tCb^r;#b@DXn4Xit<^vE%yX4p1xCQdud2lnC zIk*>KsDFZuvf~P9jgm82Km6GYph>6N)Sn)T1#u7FlQ?`t8+HwLob>ru(Zuy^7@ zxEyFfjd!JXfF%4-YpLlqpCg{TV@y`d|KGIZKVQmrrNP9>u^p!O&!)b}dd+iTTMf z(XWX|y%;SEs>$G?K7qVY5jVyi-P)hw?%oGh!3ZQy}@1Zv{ zcOsJ%F%i^OpL17!mnysQ!n}0$YuS=ykf7&er_3zapYvMm^$BDe_s^C@@ z{m52|FMM}uXYftgdG`1AxjRr;W2bVT{cP6)!20SC*!DP253`c3EFTndWO&&;cC>2a z>l;c-;f;z@T6!GFOakZ6{!vdXYcXg=mel6FgP-85cQU%iLXBQ%rJ*eDyn<60kU5`%1f<_f zSHaxlJZY%lp#7H|W}=~yP& ziH(34AAow6SKh;s&=S)Wc7CF{dN{+7XEACJ55jNQdP^bcWlEcZdDs7!*%nCBswR5l zOCAi5-KH7J+cAO0@38WCN~*b$Kw6fkDT+aBkfl?l=`%j5C)lkvIMXQP&*fEH_)HyY zrYDC_&fgJ@Lp>(p*D?tex2N_j-kJj^+^$t5od!7LoZ72Q4)1!Yq!VRrVoc1X?YGQ*iyFxNhgQX|&$b(ob! zZN(V(m-CrS3W$Og?UO!l}{@J_(i#=(Jk%@f4jy1vUKqADW?$jc#^iB_W; zyJ&Q#zeo$gfmYYx1^Cl$2K23Gf+FfcZ5DKMzKLRr<{n3>G`+Sdh9Z|S2US5Tx=%CB zMgAU8#w=uV+Ocw(OH}DuPgZS~_0~75zJ)W+P@`vt)z<9~&_Hc(Cj#`p#;RY<%W9cY zZ_Vu1-ekpNrL7?kxQHcllYa~^Fl8&K!5_B?QFSm%5I0kff@a)ak9f^N6eGz*tDwBD(xi|<-iXWy0k|A~ z(9sWBBpX=?Z!U!M6J5VrB4sx_M&pPP(n>fIA;62`6Q{L1&k@*li2eU;ci=-mtrAze z)f?|v;&@V8VxnekM%cKNF6_G`XsG`YX{1M|d;n)an7?F9q|39!E<)El{@$2`|3fyp z#Z!7bja^?H+WuGnT{`0XYXgpgkKj7&)u1`pU7qaQOJswLj9$s9Ap`W1De zZ_Cb<8ncR5-Cchh^ZF3P(^a5Q#oZorp}UE`9}_t!hrgM+C7yPD36Uw7E*25Q#-uE< zk{c89ImnYP*yU22Ot@->tpBqgkAa>q@p3PFHaWFzHw3t#4?ooi@pOJ~5dRXF^ydRg zVlw)&P~_bCV^4?*vx&KA#0_=A(rGRcB>esTey;I;n1^uK+#aSrVEpKg1@Fb|G}z`H zqJ1sR%)po`!0UoSVKuq98EF1x*oAjYWu!$-wxK*M^D%+3((HPoAQCi8Zb_2F(OcLm zNy}OTejeyXER0U6E5-0(SJY$cYq!umFMnj(nn<-%eCwBdEh^#gvzehxV3WKxoWkGx zNgpK3=jH2RjqXSjJJeha0~`>)d2`Wr47_bR@yDpx8Yc2|*%k*jfr?hLn$$2p&81pg z$7qy9xGZI<(-Nh-v21D&8Qpc@#3BA(;3iTN2&Qd+U@7^uC@M%oPG3GQ3a8_$f=HK$ z295Hr26*DIH~lVYaL1EAsxvy2nlFzdoaV<%$CFAVbl72`e~%<`cq7L z7>&+lw@p2SZnTL334HC^(rvzdxrQYSz|AnV%upx zp{*qpvFEvj<80TYGL1X5fe*Gbkpkgo^RI}W@2#b5rs*!~Qj-qQ%Czhmu>x2{!daHo zm}Bfy&%1Bx<04&H3zKbkd)g?orGIP$T6p7Fbs1R``Qs*Vyg)nTV|$ZV>$wZ&s$sY4 zZ%I>P@_#rJxE;hRl4BnSsx+f*N5!JTQ2TkC3MKx?>7F6zZM&(ZbVXK_NpcnA%v~Go zl6eO-Ufh5U=G)!Q;9%3-xnUj3OfF`xWqMdV(^E}}o5RLy^p`)lW;^Wn(@$JIVK%1a z?=TSMndi`-WIppxW1DB%No*$NeB;}jQ>Nv~BqGY?2>y3Kef1v1v6P$1ycz;N<7fT5 zZWLF)0IEj29oTF~Wca%O+o6dG_Du$(Xuc)2pmW|lLQ*lB;?_I5zJw1)&*P&G!28mN zvgpijrX3)6k|UZi_aQy$$FDL_Zaf*U1i8_lU*q;#wbtrr#GwQZ64jmto*~z#x6GR1{cmCXcJ_aJ)IKM+#)~J)Jo-*_DKo?Hi^%y6zdoEoJdAM+hMX0 zc@eXD2Xu{0sT7Xvs5c~7=WSMwM4<^yZA|-cGnA>Xa+`>uec|>|Im0OZyxxdqR3^D) z?bF57N!nbk3pfzGgZ=6aQsPeX^5ZV+sYcE5`6L>}at>17A&ntdZh0H$6YDK%MTub1 z?s6)K7j2G|M`^1jt@;h8*;KNDfVD7Jnzf2spb}h__1&9BhsRcGUD3foK{QLOaQjP1 zEIOC@W5$v;8BXaGki2)5><^x=lA;7p@zbjA`WnBmuLN<1@qkF#=sLRbM*yB>Yo)8{ zEk9RZv#u~thx*9nKseR2*l!vG^W2N;%e|u+-+FF%67rQ<7qn!(8fxoAkCi#ZhjhD8 z6My46Y+}!*nE{1OR1)$7AEhk;jn=zSD%cjlEIaRN;jkBO z;7Jy#A1puMa{)j=*Ym#GWIL@Gtw8r&%Q;i?fiSyGN(bs;`K34!tSk+eY*vl6YL!ISEE{uaN@>rrloOy~Yiq5I5TV=4lLu$JP%t7W-@|qV zH1^4mETKrPP{4qd$NcJ(JPxh0iDdFL!B*q4@pq8aB}Ad(9; zG_R_`9)x@9>X;X!$6+pW&0>(ZcFwZ6jLNDm@3A zc_i5$z0P-B-V^0ERM#hcN)~xp3&KCc636vofrxzixn8n=>aXtn$8a0H@7;>^dd9JH zO|~un1B6unzv7RhR^R*L%LE|@I^QCP*VOmIr}Y-$oud~xh3XE=Bd9mWt6^-0kc&%(3BZ>FBY7*ktFmNh7RG-rzwSVGiCbj~?-&EAlAjr3W2 zjfCLPi!i~i6bg4D3KzXi3Z2CdK2fNRI6i-Ud`e~FN)>4 zU{K&{`>z5b5PrpT%1I{Q>Lv;*jW?z&P7Ub}ACmtLi#MnEIWw)+#PGrqinK7RWA&5H zVJM7XKc!I>&}h8HvOL(md&~0&h&{c$4`SZO?{dRhCv$MITkHrQ3CmMi_X&{vPu|+8X=H%zBM8R~K zoB+uZbWwc}a~N4$CKL)xYbhZw;##rw*(#S3CosaJ70nx?vdA2@;5DL5Kii zIQ(loC7^7Hlarga7t$)R)?MXM7!-UHme!BUu^EWWmEh;c2^|FcxmWS@y_fG)hi$&P-R4Ss&oj;5Bwj-K#g|samBvQ zWd1Rb+p@_#qt5t^PEtrcK{jF~1R*2FL)twT!-U8j#r+mJ-U!p%g5riGXULYCvyX+B zo&aw~+noQz)YFj?vdrrjCMN`>F#zNNoeRP>pAKJZCYSad)O1gq^e7>tC-_TLR2b(t z(yF*aS{;9xZVTjY#7b5!wS@4_Ry))BQvP@RYN+2*Ho9d&jLU}JK!5C)^eCiFH(uAUB~Fgc`a=N=iyKSBAuX|h ztAg%3|4#i#(|X(w`Q1P5l2r18`vbqCI`@8?HRj|cTD|W<@d0$%dm71LFsh6|)Z$%M zG-da=5rVz8Rn(lB^ZX+}QT3E4^5jpG^rw~Qf^De@1l62*U<=|N^>B_7QS%e7dEe|{ zc*+v&a9AViCisTLYXuneraWC)yzu-V*Uc2($Nlw3!3m>27+UkOV<}9 zL7@ylV)^F52jsMDKOu7l*DH%~#->#(5_N8BPp@t4-CDvx(*K~iwP5vvzS*BTp=r4d~UUi8=bMI%vIBP!L{SP3i}8qug^+CK&qExew%#hheH9p~5#g~~pjycW^S#-WZM%7x?t5koxTc zD9fVH+rX}{zzq(UirY7oLotnwQX^0zz->*~tzB?%a7PsNzqkcVLN;%Oo$QikHm?Y% zRcYO29GZ2`Ug{^Z{`xw7vMeHyZFExGJ45Hnc)&pVe@xTxd~?lAh|r4@w?ywwn-qbF z`j|2)rcr&1KncYqtuinYH<-hmxXbP1T&C7w+iEHr6nzycDjOCx0TRFSd3d1K?)(JS zFPd8;leoE1c0z^ECB*6n!w_?BXH|T=ao9ykkgVGT`%1y_oH8|Fw!nG^G)i!hDeJ#q z|H4Gn1ynG?9hX%+;!_4mj$AQr+?bn!+OsP~KVawz=6yBPd`Hu(@5Z7OQF}Gq0TJc! zBtbH>JE7#Q~)u-q-qF4;flh2+2`FT4 zE7^ACnGOnSscy6V3TAjCgj?%MW(&^*CCOO8$jk_HEK1Ii8T{?o>5LVIj~PqUp?^|J zmh{rMFq{G!cZ}GSV2$_HI}H`Odfh(hfmDO^YBcz2t4HdCc6msEJ@?{MbzCe8XNuP} z#P6n`*ji;38>JFVmSYB~JthR@L<7g6rxJ8oIQkdnhVJ|#SQY4*sf1YAhviTCQ-##W zJ8^FXI*pbwbdcnDDUzr`I~>c!dnT7Tcdh1YrVeID7bT)I%NeG;$2Uhufu$ao0N!OW z+OD4%NK#v(XQZI7hi9=U&mGOnqaHexV_o+M>K>9A!=UU=j zo1v{>GTh$~9mN$#PM}EVE;A~cfb8bHBaYtqqE1wG9Q%#Jp>4jQp%u5iC_x3o=VeSJ z&k-k;Q|q6TKi-_|dAHLB>r}`4R78^FGP-lP&c&{qW%p)EIyp<|?}Oo?XpWJX?k*LQ zU9yka-$}pL8*VLnz=+?A6S0t+E@h8a=<1+wFnu(xLBhJTd`s3Tu#RGijb{n&XVi{HzNLzQShv_>QNa>_)Qu7#^Zxd@h1TAXWi{ zdpB|5;ao4?F+%C&r%($)^Sabb{PyuoO$}^8zpE*QH{v6agSVKMNj={v(afGG)04Z- zuG08!T3#0_LpJ82ERT*iDijd*A-}`v0%H-XC3WCJdl!?qRuEwdl#uzE>rC%5AmQ7- z(2D{PFSnbee6XaM8PE89`yEx6){V^&^R2Fl$Vow;H``V-30@Ff2euyerH({E{`PCK z9(GxqSy_`{uX-2hp;7jognrx)e9>`(KuDLd#_0zY}Mv~C$KXCg*HpGQuY;eM|xS}GWN_B1Hj8h~T zAN^z|gbTls@@e(;Zbf-CVXMM2uzU(JwYaVxm!>S>OcqP!TYfBdjcKsByQBw2j*@r% z06G!mzotR3ns;Nnc3o~WsHIW;TE4v96kOLCilSbkl=%>5B+z#mioABBWwW#=(1VZF zFNC7gWtxMmbw(-&PGE@WcOV^;9^qXg>$-rt1AM!~=+5cXaO`|gvO5~hCQX$EZZH+; zdbWz&y=ID{&*3JFoH0m@%@*_8mv7>a#CseI+)6@h>%uW%X>T@}@s@Fs?-_BXdYJ_B zwS3>e3T#wTI>B%y-3gI`98VF~N2Z%Gp$1`QrwALGC|<3r-rSzw3c#m#pzmnm>jU2Tm7g%*O(KgNk=~&Tg8cZ5CG6 zQSm{K>cb2f`7N`tcR(Gq7aQpkW^8f;DL^H)HJgLFQysojKLvGP#K5l`f0VRXhk(Sg zHd#g_HrRWI)gP0Xmms5qt2_SPnA6m{MyHNU~AX1 zkgdlaz_}F_KhgE?O$1EbbZ2GDXmd9nIw>ECmgfncpz+;ELhOd!x|y1c~>CyliOb6d-WQb6%6U*Fus0&_k@h*Ia6Gk`< z4ZbgQ)4w8wi`9dD(Y%;4$x=9l>3qRPudMoy2YaNvuqexG@c9#2AEGo4W(?uVbA?sULJ#SHp}zA;jAb(7Hj`_cX5Oyg((P~d$i*TUh#p&Gl`?) z@lib^!D3uOwnMD~VWI(QBz-AWDYDelcKUX2xUdMHgNR(1U_C`QW4P=c zCL%{;^&T)7w~2KLhqeSCOd>^ci~|Ki1q{JGThS0HNzP~s<=O$~l|2ADW}DZ2MkmS@ zH4Aj#-geesiDAYUTt>l+PrpsVx%vEk6_}pKqGjETG_I+N)pB@TEK3+z)Gx{!%>#qL z1z;=L-!Dzi7FT~=M}rjBrf89a2y2O5LrIjC^Qy_BZab{;VsN=C&*N4%t1tPOeN8MC z(Ai5jaW4T;TRqR@ah)n*_sAy9zCM(ZcQyoFH$hn*Z-f;;UkloLxShU5n!iZ%R)~6Z zFcq{%@CKu9Y2nBxc~w@YET_^&2lvPH$_EPtzU6)G3a!u`la? zJ@&ke!t2$V%cHAM`pOOYxn!sA5ZA*sd$es`ydP^42{xEZV&b?u=TB_CHfZ!q@PQMA zijKixC1z zpBEL*@GcCx<9nkFy6QL3iR2ot$isJ$Es~y9T+FU(|%NnX1$~o@->NyOY!FcVy{Dp2^(!rptCjeC$ACmF4m8^p~MxGklD8xC+Zc^ zxsTU&Xb*9&P?`GLNPA|Eq&0Q@jBJ7|qvv1%&Q{H*Wml1DV$Y=v&sa33-}Ycc*7J9_ zy#z2f@#u-{y!5oEzArOQlUk2k1ST~8rmc$rwRv;p=7KZjS54PL8XZe+Nqpa;iC4+Q z(TWRhRUmu@*p&?!3)a+$DNyJEF-LppKsv#*xc?3smagCb6WBQBByZUu%zH6O$OoTncLMu$d2+f03 zlR|Bsjh<1@Hh_1(lRU5kZGqk&h?>ckX4PO$NweLF>F77?JS90ZGPjjVEq?3uF@@RW zOE-zf8KKnQIJ#MBJO`%mUZj0!a?;AszoiD|NKqsfH)*MtF4V5R5oBmFK_%%Y%^6li z-saQywuSbjCJ{0D-c3p`!S1?((KvI_QtqkP*xf9L^pXVHOi74CNM!dxTS=nvgR(Z_ z=^xpt@d*W%nM4Hu3eJI+_=!PIYH~z2$5!y@Wj|XT>V;+tY99px{ z(+I$p5LoMEQ(xy;*L<;vl?3ET$9_JEEA7F+{;`E}<**o05^yJzpU`?8AS$M8^(HSH=ZMuWHka#m-wvE!O=Cs1 zw&|1vX|qljJ~1(^6nzIX#wPN+JY<3(xX7K>|>KV#t0<4!|3lXPpce=2)jWA4^?vW{3nPT@k5xQ$JS5w)wN-7 z6JbDJ#=T53ro0Xf*CjVc;1{*4y+=64}y6SBNnRdQ~B@ts*{r z=rx1oqWB(%Wm))GTV1Q|;vQd_E$sPab=yPg%GFU!%tm8!>I~#u4%D!_)xac4#AaF6 zq?aiSuXS5AFAsp&tEAO&>Icn(`4ikY=E~i*(|Md|dd+>l?5=T@+ZKa1Ew*A_{Qr<| zTOi?72D6%y`k?)dcT^n_9Unn4A<9r+?F2_rpGj@NWXW7O&eqP|N|OwCB%AagV&ETz zNnpNpj`t?R;_|571X?0z@q_r~etWhI64hJ=i2xLqJyel|)M0))2lB|zLwg7F9HP6g z6>XW#RJOjVnrvFDq2rB?#scEx+gT`dh}wrm>9bZQwJLBgs+3tg)#Lx5|K5R>9$0s` zEU$key*iCQHAOis(wfIpvDI^Zqb@p&C8Ut!QgI{mFgx>iJfrd!H-Xbq8!nrwOICAI zvO(O`f8g*lP4+~)s5`%_nM63s&0GWL!PU2W3jdlajllY`F7ZQ=jiS+NSSBXEay{X< zr0Xz_L(VQL7NqT9Ke2#t`btT}a&~$4Sh{BH!o;Se0o`UGBZh0h?&i;zaPF+Gau5jb zL3tG9SWTU-UWTi#%R8dplr&?@d$oc6LthPUvPrNBwwV_ig!C~NzmWv)C+rJU6|Fi4 zgDZbW)580StY3GXrzzh;Zz*wRvptb0$cqhv%v)XS2hq%_8Jl(o#v*!e#J_hi1E^FQ zOb}r&cf_i{D~2;RU=RFjt4CCVm31xxl5~wbx&W>*fiqpSu^m-<{hU6?ecYR|zM1h7 zwX(dH_5#`!9w0UrESSnYlThKPPP_E@9X1=+@TeH|K1wJUrWvO170uJk6%p$Z9I|FY zhG@|VV{L8ed#s31+0@->g$gvxC(jqiG2^*PHulR9rN=W?UX7HA7uLeTEa$Bu*0a0( zubaLc3m%q5rJs4`zuCrp?B(P3fCcwOaOE9RXFkTeNqz&Mwy_;;Etjt?(`$FMFIQ@F z{fj>RX$&4`9-;Y-b!39VhjGCmR9#NcWAg!WV>B={%3ezL^NL;~NojrF2~3OXg*pwSwV_e9TioTp1| z)`VFEIV(KmowR6PzN5%JheO5$UB7!?qK;+hX-w*b1Vr#}5_;I;@{^(X-o}GMEXb`E zGClE!^mh+wWbsDHyz{EPa7$SAdbBH5retZITjeR@yHB8~!lfEFM=_ZpgNtC};j*CK zey;ddye?ZFJ<_sNDae%cs(!RBBxROBqkUirguHU zFe2U;oKMCTsXt~L0lgz_?YzO!P^=lr*XsjDJxqx{(evz>~mfqpP$~htn2rJUfdSOP}vFrHICvx_cQ=8vvV*)cg8E z9cg(Bd_Sl2?AW-oEm;iZQEm$H_8LO>l`R_(e!o`pz;}E-yQjv?JS0s~jOHMsrP&dl zcxxP!um!;SWhf}{uze_}kC5&jQs_s%EcAsNpRiSnG@!EKFR4MU z4v+{v1Ly+4XKhi*Zi(I0>1y)FGS2a|@9;XRI5mPMJ5p;r@oHR-I}TuTKB%klnmEP_ z8FA-u)a1%&cju`~);2(o*vh)x;_oKEN$42*5vSTVzAt(@`=pn{>8|-MO#xGA6Fh`umf= z(4y4nq16-?ukq$M$8xn?<~S$~<=eNECl)=6I3b1JLcY8TV{5}`Q-NL!xVz?O1|YvS zN1Pa*xoBL*vYs=yCUVkhFYx2&uA!`#o)$|AWvcr}0f&Q=hj|f+Q zW;lL{?jyYMIg;O*`ORrhLI&N%hw9@yH~S7{kn2OLi~2X(0|d$wobg)^9Db2sw++$U z;~kRXUosp4nYv?9A4yr)c`>UgDwoHWVrL&NDxssR!gCQ4Qny(7WA5Spww&fh_{S9 zmWqmZm}st2lm8wRpcoh3vHE6R^ry{mzO1oEY*&x13(p$*4RHFh7cYoiS``647g<{; z_mGJmi=Ds#e9p28E2{V*uGC}c?R$c$iN`GvgXf`y$YiXxp;H49#T@Vf6M!LGi{0`T z7FOE;@{+J@0-B}5J}V0g2UXvg$D>g~NBpl$f|ul7gNYqbQRT&zM@@acT&bk~iev#l z-&8a6e+HwCa=LIS`2;g&-p3?T3r2}ZJf+YGYC^llX#I=`;vMq?)_6U00{1> ztO0VCMXs?U+AMLx_*9F35yM(ksmt6XF)~3r9MO8JKg<=VvCqL2ARRM2rCu<_HkL58 zE_!A_%Gyxs?bBn7xQZ6+^6|TVG!}bo<3eeK%(NLY0GZdtb1h?caa!qp!nx7E)47-v zj0xiEaF^Z!Jn&0zE=f%==JD!2^}@kz97`ou|8r{Nw}{Ki?HJokZrtx;|2V^08>eNY z%+n{VP|@_2R1zPP0t{;;mvO2EM}1PufPii}x-(J(`M4YeAkn<2+)!bTHxUJx1kz&f>v z#@ka8-zD-g)WRu1+(RNz;4Yf6fAG;66wb-9itmVOakMWu?&zcLi)KIszg%zbFX_M@ zT?eZrF*8~4SUri&7qhuJSgneKKe{=vY^VQdz>{L8U#1T@b2-6z@aRR`Rx zToYoMl4a=bFS(m<#7@52gv)g{vk2K^CUVjg*5`Eoh+4FuQlHtS)Y$bIVea|S2paB< zf`$Uwpt+gTz6|_d4pT4qlUMHdrlSSbPkEzj24OFaK+!O?c`DJ5fr-li zu)nLxKCJ^2?d*Jj4sGp46N0&4<1)ge$A@LlxM&i|oTIhO5fABR&vQ|P{0^qLd?mjs zF1jkGK(qVAplt+R4?Ln%pYM=xLjUYiFT%$Ut|jj|fs`r)(Disu6MFKSq0bK5a9bsa ze=(~rrfI)Qiamx-tWS-kd9zkCfet7t<+{vSrC!i@i}_|Ad|Zf25wcS*Tl%CF{mK1M z&%XrUM`XQ}Ya~svbqu(apsMZ*=T17}!3e1hBfhZPFN%rfrV7ZQy5m+nK2>RZRB0Tc zmdKe?TAj^cvgUK+X$KjqEQTaVMTow+2m(<)*8{%T8dIYCB(c858$y~fy58}1##Vhi z9B~$K6IIbR%yZ0!IFkpaL>}!QRFm0{wz}{M7ZUI`9x z&O!3@(KXjHSJ*IBVZ`o_I3I!|e&IqC$ru)jsR^%O9fYvmsQ>mvscRq%=)8D7&6+Vy zKZw9`&h0({(_X8fX2Qe5bjRP3^(|FuR85xQ$zX?2QSHaq{<5qDi_9f4&aE(q4*zYt zPUmqpp60COEu0i!6ZWIsh?;barkad+lwlLt0PQI9J1U;$tfuYS&`tmIdj6%v=X-yR z4b>gZl1th9s6X)dSA1g$ltk5JsgiwwQj5#t)?zBglOaJ=<@psTTx~JFF*V)cm<;LA z{$wWw(?7FA0<_WnQeo4e@@X4KIeMGetkl%pGf@ZJWt&PH!949vJxLPpI6mgiEuLPa z9RC6y-dy$*tlbydD~e9ccee-PoC6bdrOXg-UsDU1<>HU;$kKRJxy#VH!xgBk)dxhH zZi}vW&T@>hY6c$g;y)%jTiBk}PyG;Q{rL_kkIzo)P7IQsFO~`@Nokc~~?ga_C*_`ndj%Ifj z8_DVUt-v3%|I~p-`Z9cw{d*kecv)ao$d%DxOhF^RdIC)>KWhqlOsVtwM6ac;)IdKO z{jx|4XxiRoW{bZDup^>g1~hUeLQLne!2C57-yd>s5sLIOEe?ur05J2Jih09> zOWtChJ|^&>>LE`fRW@SguOk)8>W&tr{$7<3sK1YCkLml=Ec6--C;>;aNRs3JuFQ}ETY%qAl>?N z62z5#Bao5mnt7gIb+AeznWIik3__@L=-n#_D) z$D7Uf4~$q$tHi@$n?DNPe0RD*DRwXX-BMGxXWpj>s|}2kBFaW`)mMvHh33x{Q86X~-3 zf?)Skps%?N55l$AA_Je1ESr>xguzbUKZ!Oiu$~Ogk;)gsJ!Vn6k4j`x?Q|me5&PmI z+*X^{ZnS&~@pBOzNBevG)RjtaR>-5Jq_FhHXkd&xjis2+1)Nn7yC&r=$ z)=yJ6)cp0bVif8$oKvC!ZUn)$AoZDwNDR})4Q?B-=m&KLknXo|B9fzv@g;FMlOT+9 zkatUY?|4kRbzUh&XI+E>V?7Nu1%qG-%HGfy7n6!0U&Oe(Hyc$UbP40g{KVD|l1QAS zLp%IQl(C7`yPj1o zP$+Y|WhTrF3e2RrLgpxjhGAf-4OqSXIuQ2A;yBn!-dwragfKZ3tl(@S0{3R~6{fWD z-O*D!%>^}1+d4<=HJc8(pm#J~9XN@zi8T6xn=D{LYnwOJ z(2jo08;KK{ZG)#Iq=|1AjXP=2Z);f?itnbs&cde*IU3dAs8f!TiF#o(XxTfOF)0*< zGa?O@Y+U?Tj}%+3$>I@6mafJ;S!(}MpWxyM+{*RyUgRNl^lO|xYPs0(e*^0kUzfm0 zVshSS&OLJr2*$f-!3-B;UL8!z7iHB;lBU_H4A-Th%Ohce3)d$|yv5QF6->@7AE;R~ z2P_-vi;1qSc#AdnNY9FfJopZ~E;fSdWmUn`8!4U{$qN3-7YB>i^4f4R3d zjrjxf)-60lYYvB}v_u;)S@3A`Jtc3#0e)vv`B5zq)945qaWjZjWFv4KhV1@qo1SH$ z2uX5t?lWT)py_jK9?H!A0I=;eK6)3;uh~|!Fihb}( zcBb;TG#V4fRnzl%7uF90BK%d16&P^Ot>xw?gipbZQK5`A!G4>^hNQw*f#Mr^MB6T% zuzB3({(!mN)ab=8`2ZAbr%B(R zRTsqckIkHd>IP7$(KjXdGfBRTw7g%YGP&oxAD0J6nAyx@&$P%Q3NVY}&djPZkNsvw zDxy)Kh`A}@y)si-J>k%)YPe(2%L!-jyDy3ur1FT_{L$BB`VeZ{v^s;<`vdI}%N8|s znk!>h{lwQRa4|Ozsi;2Qv9;bgi)Ci4xi;f%LW(zVm1`rI_PBR#aB2o1JQH$=3GtfClgNIJy^PMsp_95C&6#f1XWm95X z%XnL(D@4{i&{>)LlD+vtScBEzx|E6Epe9aJfs#ak!;B%KpLop83d*Cam09ZI5~_# zCngdL?LDQ4o`#pDS^Q7}Q6M8{H-0ALKfmq^yE;@?230|tK$vG4?+j}2p52lm@H+S4 z2*SWB$1Pr&#D2un%8{edF;UU;ZWU$Q{L+ySY{Z=&z-qYo?FH|>xP=h!3a5Yvc@0f+ zGg8t|P`O7HdQB4CaYiRPgXc03I4L_VP+l&Dn)ni8pkO5!n_NkHhTebI*y?dO4p&lP zC=T#zrtx=#sR!6o_Ph?YdRvWQ8SrGY_H5=xw(J1Tvf0N$xxG6Hvqaf*|H`V5Xi5)9 z_4cuu*=0brD)|g90rs?FJ5fE(`c6Y2Q+W~k#E_4fS;D8*Wk#{KO9CCuFcT-&Mc1t; zn(MJ0ki!}x^Xm==K-r?1opy4*r!~>-Z9D!_NAm5Q5Xwi6lDf|0?`n%!4K9c z??UNM9Us=BEt+E=*@`TVWW^l1poCaIDu+d>7fVKih+^Ej+OF^i6WYq-_{Lc zebvY2SzUX}FRR)f(mjrNLvLT~{caZtC4@5=>=kv?;vg`z_<)OF;}IYHsd%z5xs5tS zjN87@Hv%)Z{A<)cf*UW991eujEMBAxWIGiQJoTu~k4!`d%Sjjf9kL)VUZSd=@*#cT8b? zaZ2QIUlATPJ&nf0Wxu!3=goLo4xZRVe8lXlBtDJ*mmvw zo|+?L)^?f5C6Ln1U-yNO)zs%?4gxxIj-(T0p?9~ZK+f^{NabzP@Zig-Uk;nJHDs#Q zq_yal_R!pH9V)RbmkE*b2xYO(ygt=>70lJkmDq&D(ROt31FO>7wVjVHX7@b^%llxQ z_OhEvSRKTrOcBp+!OO`3B7a*zD7sOeD_@d--H0k3@(?yy=$~f0OB|A3HvR4*dtw*L zrLkiFYTx#WKFCM2u9&)Z;31}F&AHnm=0@jRZ}w?>r?gI{u_-LV@AYBF{ZaZ;zLt26 zv#aGWRR4s#4xLC-U8gw{{{%R`#H;T~ER~3?nPwM?y!#_di+`f+dz!O?$zYw#^rt4! zt%2Kz7$s4JQI^BfWLtVTL@mT-qhi1o#9iT~Pgx+u1`KI?fNJ*@Xkk)*?X%9yOhrBo zMn_EJ%Tr1RsB^kEwt)P#aC}m@$ZR!}Iip^Fufdfb0`S|p=gdKRUWWZk@}m2s`6;YX zor|i8v*$6D4aqyZ+su*A!HVpQ)5*%qEJ(^nzlqw*^ZKChAHG=aCtS-u9zR6X+(m7k z`YZK^FAWoCmx95#G(pU=`p*pygQCj(copz}Qp&vJ!cDEG9{QUvN#Eg(2d1@V*<4Mi zKJ18t=*$6GY@+8kKaWN-4Rfyv=E}J80f^6>{+5O!{!$rl!SqulmS#xnTpHW(x4hvY zd*c4x#71@)ZH`1SC*y{aW}8Per+VvrTySUO$M!gmE(MVnt4uKdc%fS7hc+X_1v_sL zkF55h0o~o!yLLQ?PMV{G%F%C`lonRMcNkCZ7p|f7PF;f1B0a zwFq6oN-)b}C2vFizr#7l*-`qAXi0ccuif8O9+`Y)X1Lh3__IQ#NQ3seo+$}`j0zwx zvKTf0S9IePZae&lU4Ck3a2;H=3Jb8^ zC=wo8tqS&W^EK9H4aLrDVCV37+}nJfCtxyL-DGBC&T(giZkd2ORtMfGdst*F~Hb9j
    Bw-I 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 K0`>Kf z&XK4z7N<|SS_6cIyrE1^^rV(SfNY9t?;b6!2@~a$)j#BdHy50cg7!pnGW>2gPt4B%~FCVR|kjZId>O8@0=^>9Yr1iO>_!2vL${?t!uzJWmdbQ!Ho zaucr55%D|;wu#L^k)5(2a^Ke?qes*eQ*LSedRc+<4Fgnpl&KrrEv+{00SmM{rOT4J zP#eMJ1#5M@Z$@CLxg3<%^}{I}k@Ym71B@f517RQ_Ue0bv(utijjhXe^1#0*r zj3t9e8=AwmOuubr3+EV1C=og@sa(xIn?WeMm4P+wEle#*%$X=jYt=K2G@ zNbY@(DYi>U?(QFI!y~eB#^v*aAi*4i=~DHTd4eowC7GnL+~p_2fU-4Y?Zn;nxxnU| zZ}lC^*guKO33U223Gt)p(m8x0aOhp=@?_mw@D~mS6hF5|dJ&BWhfCJK80yjZ81VLx zdJWh3oLG(+>`MrUTD?5CnKqi@jXlT{eR39IQ*>V7DVIvQxz|R6W--rx$JEbKqjB#0 zdwVDjqDiawLCQ1$J)(2->2t5k#yn^+Lx0(gQ6?nV@A!+V7?ef7P|B#pFBeGy+UANp z4Xxm^AUXzWvp^k^9j&g~9s>3N?vwF#5S zNNj2x!z^acL&&d3e9I=($sX&&rme@(eSr&X%_BmcwWp}TNj{wF9x#>lApmO>M)UUg zBJelM{D3hnH$|-Y%mw!+r2f4(vgW}W$L$J4hs|!wQ!8_>{{BBts@3^jUs;_PkelL#A6xuf9K^|=dk86IiyCosjt*w9H_N2{+dsrTCzqGm$ zP`}*7*Sz$R_+Jh=N$qWbrc{!!6Q7bcwU8?H4s>V<4`HdU0q@lxej6%MT&{e64CH%c zqwy74Gb~Gfm9r*gr1{BV`7H(cK^Y^NJz6x@0qY&`&(G=-?VLG)c?Xlnd+QSv#}|mk zWFzI8lwcOy7UdxO)Z6K452A3)*PQxhz#qk!NLS7E=%Q0i3HvXS^op&FWi`n^5cQS4|Nt zK=Ne+PEaJPL{0Hb1Nc)Xs`mRMYgT@O>$bNAawfb`hXVynFrw)TBzAQ^h)HaMU9bfC zS-%mR&RcnAgg{k(<^e5`o&=y~B6@ZC#=Oa3Em)-x@O5<@3Kqc2U@Rt%q$y?PCL{24 zsbrPSr`NBbo_0XEzeU&4P{^WmD+(C;qy@VE?ZlGW)Xh`Ls zsCqjfq9(|+UU{ebCbDbtHHi*qvz`A@dt|1Q^FGp0;_zKR>nw({qv0z}h?z?CVZHr? z)!iY=tw}hpPqS7I*n9faI7zPPnj{E(lODzcbNHIU+mpcVET=;|>pnJ5XUwOkGN#A1Ja5ay#a?d3%5p3Yeap%giSt@^b+n=M3K9z~% zX6{oLg^IxGzl8gGIGvt#i>k@5cAqa(JsKi={3mwGz}IG~4p18AA*}xt4q$er*LzZJ z)iY*^_+k7KqR2Ckm8rSVZ1}@ z+9~(mwNo56)F7WV`#%F`t$LhCk?>nL@d?3D?&40ca?uH9*M`yHWZ_sq^?X1|?*WNw zpO@!AQh~W*|53o_$_kW&>hfG%xFgKtc@t$+5}pd3mUc6JpLaNAgrh{h>6A<`5jv4{@%xs8Gp%2!2JzQwbQa< zmgQ0qx8Y9xhq<#Ss(_*zn57-^vi)=j#1i_5@D@cAV%*M-Yc4N?YN`E^dlW1jZ?Q!` zFE!uf+V^(P8upnoDDWPL&lv`R-8QUw&<#F+*tR{sUfA6*G;tldPalTgu1cKfN}bnR zzs_@7!sZfW{FIR0{Xa;%W#iw*K_F@~buCs{VWwStYvq zM3kcB{2uB#pe&qInOa-k^>LkFTf-JqzfHu>#4_r3A32O_Cy}!y)f@p7=sj1J zfhAZp{O+GHK0fiNWeU86S#rI@3gdLQH;w|XOW;OnF}l8lFd6K8?p zrdHbxlLbP~?gJyEkh&exEpFz8|ASqd_0kH`f-M6r*M$mhV{Tg2xl74Np^v-`rWKI(Gdyz?Q~HvglBzN z10vR^hx_ubfux;glOV5|c*Zyl$rvV4u0MTH?>k-O{WrW`Zo`K+ zH9eJN>J?rOny~;SfwijWhy7E=vj^0nJNMb@ap~z8d$^fg*LRgBkA}v-{>V8frPg7! zZj~zI_ibfOuo2j1DJzA^c~QUP>Q%7bJ0Ju{0n}%mw&c3bf2pxf3}hI!MYaC~?8o-f zk;PGJ!G}jq-B(?JIpZ;2UW148pQcs0l-$dI-!?vXKkCm9WO9NX$TNdxx5*Irp6hkV zostOa_mhW>xQxT^f7N$ME3F<|ZgSj{D=GJ3cu-=ySUW~*E=AY%5> z-HIQD8l>%t!7|oZud!WM|B0BvH4Do|**ppw+$9eg+nrwPiUy*1$2ZbvbKm63ct+Iq zu}6a?Al|Y)ludNgt(40Q5Q@1fFjGO(<4Fz@O}Tz`{(BrFYeLzqC&bM54u;0F*$7y3 z+VJ#1i0|<88j*~2<6HcRYyex&d$w}*lCsKWT{{#lntF2Ft|i(Py0SoFqm3aW2BJeqD{hFu-E{_n0LfM%|9g5e&1U(;g;QGpe@uyj_T>YeL_lk$nmP zRHxO-I(2vM+F6@A)E(_82Vf2P) zL&Wg8ze700;m)A#H>=sM+IQ7^==$o0DKBGp*}BElgov6Ky-P4TtPq`BaN=UU;0J3J zkLI{>+1Nh0O#uTI7z2(mJORfVRreiQ8E;F8O{gYgG}Ig?4XMe!=iW2iZjkY4nax~A zrEHHzL#oLvtsG_HG0qR_Uyo^wqZ?flb96Uz&S ze>7uwHXdv%* zSX~41zK%{#Ua~U7_xhW!>?wrZF6TlDkP(rm>rb`GUp;#=pttkMfv&Ij@kH+b#55*S zS4SVZkq7^Otp^Mgk$_u0HBO$g>veoDHt?^IMs^Z+vz}yX6@xLI>hK)c z{&yk?=)C&^Y%(r~8wQbs^Z!Vf+nfl;Q@$m?S~ESUQIt38rX(#VZ!&47 zuNBXmnZLRGqr4)pk(p=}^zY~J=pD{;sFlJQ72fM&sz`CUmh%lR(sDRJoot{O6oP7% zVYLy11o*_yXpUJq!d`*sN=jt8lzuvH*1#JYAIxk9h6A7T>HR@@BE|eGD$f;4APIWra0qp zqFr(jK~Yy=$0~I`Wk=7zVBhl6 zda^#T1x=ygi(k|q1vOq_GvlPhU8&o(#KrHNft=o294*a#&aox6Hioq2DXg1j7Ddfy z&*5?I&?<~0)U;O4e{gZ@_gRazo*R-tE3D?{Cl;`o_I;xo(D9QJ$H_h1 zv*(1pf7zTt{^9j2n4C7vVacve6qamCF|U)m(bmrgGcAQW)Zz>=dDAO8vHl&~cv@t1 zR%W(Fs0sVnp7RaWa6)VAS9wemS;++XdI4+Bdg7ib18V47`W5sZL5wK0_)M#mj;3}} zG?5Bjj2mmt_X~Mrn#N6Si&UJE$=*5POr4VX8$T$DYg-<1gS9 z`BFM7@Df%XIIPT#h&S-#{< z`JC)jNV2hjktNfWWKR4A_dk?xowp0Au|z|G2PKjM)ybR zN3}{0lgd^9BMjf`?G&H#tIO2ZpE3vL?*NZ}=ZV9~8qyuPFTs(`T1R;2IRO_EpYLsg zvnZ;b#09ql{``2gHG}Wl?-!;(#x6?i%~)TV8)zNu*y>YGa~L4!_oV@?6%NyT8`(!q z`*f<&8NKGYlf0Wr*1e+{8+}nXsV$6crK3$h{OmTH*VH-^KBebt@;o}$_cHHF)ZLFb zPzb`AeW46mOygB)no`fwLL)=w3a{|VfK2M842Hz9W)C*o5n9Z!c?W%fynTrGbj6=* zas?E}D^tRj>u_)p6|z}9D&~tWH-~z_&FwG=7JGp+A9E9Gj{1Mh>We3JLHct}2X%P8 z-^!<2f#Ms>vc}y!mO-2pJDqOUXXC~wWt-y$9#WauExR8)>FMiC4%(IcDw|Af>lOOZEof+c5J@&Fu| zk)wXFOhDL}BHAC0!KJsK6V2GmA3sSQn-!wXEEITvR_P#2PQ- z1Td+uf3GItI}J#9Jus`ZA%7^HwE~@HS2Zq z53c5CZmD=isnlqkzxy80*EKnZF(_%$5{P%@Ihy(p{Zm9xZO2Mfz`|_#%i^@&1TGs{ zn?2Ow?bdh&IL?)s|Ls2g3656#CuE`RLc19mA_So znj2wbzD|ti*(?`5Ee712gG19e-`8e4>PtJ#d$kH=RqFb6@4z}e@xF(*&$+;A!z#Uw zN>EK0<|YJo(BwHmu)3W~{gwEb=d!9k#rq#LbK*&30em+X2zX=*-~pEUSr545)taRE z;V?Ov!1a}01M#6*AdpROdXWM+T*$XbaIuz}{Z1@D;f=O#SZ%t4GHV0(BCXYuYSD=f z3j$_LBuKhlSXsY-JIR)&MD_*rC72P42>I9yxjYa5S%J0|)zV9AYxffB*`6!rNKx!U^b3a-0Ich# z13d$?laZjUsM#)quCRecfNQo8Ng-7(@Wcq$Jef&x?bFZACJ+&M>eCjtuaMHM zi0BCGn)8zI?qa8WV|8~8W}6pMf3*3VQzcHSLK7gay(j%~%3t%Z7LjUT%qPWmn_?qk zb1p54lV3(V^=hT#C@7VZZ?)8aOlK*_&aI>piKVQL(r8Ct@5_OR6q`(!8ifG2ei7U`8`-$ zT)_qC;|25EWEYT)SVVgxHJ|tB?~s~jO%16{Rp9y0)n<@3xQo!%^vCAe=5hdoHV4)H zp+QtLh8tevqgsnf)2FJfby*~IegaE9FeULbY>V|gWn{ggiUCzJMa0bDC={Kpq{gjp zdo`{o`~qFRGhY7^rBq1Q*+Wta2d})iwNtzyQ{<9ne>anb*Rlw5YEYfr~J}Y)jd41*w$u05x4%4R%5kEVh+%VygL!4JE%kL2*K=n9gEj zE1Nc(G}u3O!h;qnPvY!P>7@y;D(y=LI+ZDN&?kei}`XeZi`7L}xv|w8*)1 z)WSQSYsAy?_k~QcDF)VZ1-6q3fc^z!75e{*(QmvK`4m8z3sxkFgYW8_F-RqIE-c?c zrT+09pX%Z=`LGi#Asny%*!ZM%oS2KOjqUq{?UrA)Ior+SM>=~1)zf8Tbpl><59FYd z;Xa;srRn&+kbV#;I%-ZTj+ljBV^+yBn_~vy{);zae)sW=w|`G~?ypglPLLONB2}6% zI-T0TSXU&#p|^Y)Im2iL7Py@}xHl?>@Yx@AV zuvSnHeFbI@^Z8L%qEt}-P#&lYxogVw)le?1S@+sf*<`ZFQ?b6z`aPus+PV*3PtD4^EzA~Dtz?n1Ztlc13_(5C+hCwmS~xa3XW zkbX9X6@0~A=NfH{{I+k^PMD1G?3byZ+1a)H)x5N+95OTp+A} z=-t)>aGUErIH7WU&^8s>^ZH2G2&h<95+x()>s9a-&;J!=72eY{m?67iYB_RAHTkJX zWP$y~^ide&g{kN+h?vfKH<~FWpEi^g|8|NiA56D*M~g?fLp?`02XT;RkzNmD_Tk!3 zIQ^OxXR|;GGYfga3J>?Gtw);efTPWso#-_i@`@67RRX~fcV6~jXC>|ZyS`9VslTg6 z*gVT?e+pc-ex${7Hle$g%f(`MQD4lrreb!lfEFoB*Gk^nzPZ0GuwJ_fM}?;!j*ljm zj0kjsuQ9Mx9B(+mB|Td1|7EpFvoS`lveuN-*`-FmD|tN`EwESRPGC6L?^XH)!bZuq|fj}IxS|%#a;56D;tR8Jv z#pyH`S!RSr)qjU|_mds}flJ{K%;F@lQJnVQ4KFwwg?hL#EwXB)Z8ax3t~M4LIDDW! z2&bm99!?vCGu{NMIenrbfY;RhAXOU&GZzD7v6vv8xo-e--`Wv9<1)@Sdv~A$qn=_8 z4k0~1o5}JUU%y_O!zPT0Dc``z-#IV|d)9Mud}45WGe{fD9-IWn82%YMsgnERK%|Q? zNI&23HTSk|nq?{XUp?{u(T77~ZZ=87(2Eg)F9t-ZqSBjED5Hja|i-A^M*G=qMG=HBNU@al&rO&7<)(u#tww9O!mmB-Ei6 z!Lcc6SsxUp0b%J2n&Uz}bA5Jp^9vw|P+!h?T<`G4)e=8sQ}8f343;e#@<4zwQ?*@U zrXF9rJA_;Dvb)yXmXn{ zaH!~`|E@XvaB;PFD5=*-jh89+wqW`9fCaw@1uAFXmoXPvXk0Y(<|Cr&dpDwCz+-UY zOHX!>*Ow@!qRKt0Yww5pwi*k$6o#McxCB$&DbgvjmenBq0^4e)s9B&1=rNWkZoK>s zs*IqNxbdb}nW}%1M*H%8|ITb`0L4+@s zgXGQ^u`qH7&|dpPw_K_XH2`IHk>0P#VV}RA>TRmB4^mymWdk0o)*+J4p)a8 zF*Xgu;4b8?n)#tW{E*5{4#i{$#h^nscb@OyM$O&XnLl#Nc#|KCB{J-ZMf{ryoRAz4pzWERm?$epdquD)lQ)98Ctk$t1(|^-+viex^QQW|fVpoi!Ro3|CDDWg+vNTo~uaxUvP-GeT?XFJc6oLIjjp1TXo{3%D-X5AvnI%s`9kp>JU#g&09 zb!n9H<~9IsI*Pj!JCZeS+l`e_Lj&bs@09)#^zxf?ox1XaDij7D^>%*5-rfP05n#7w zyKP$-qIg-)Vu|L`X17VACfVmFVFg_P4wrdqc!aOu=zmOh70Wo};$?~tZ-h#5RcjWo zYh1)kKQr|f2$TUfV2l)nQvoQGGaVkm>)74{Iih(sOpT8T(cDQN^_Zg#>KMoRGB1>B zOsSI}zGTb#!YF5q4k`ICH*SbbJlreyC$L_EH%8{cQ*n9YAYSw$nlC9xV;(2hJ>ihh zyie;Q8Qa^Kzcdl74;w_qbBxzE=HGY?7|lZ8SuJ7BhF#87*8&>lbFEFP?@w7c;3ZzB zdSMiGEe78d1NBJ<@=c=?eMflqgwA+!kC)Mjg?qLorK& z?icv1m`3X>ZYDL(x@(s~%T*7vYjEzQn?<1zpyHB0Ba$5JOg!Mc;GS1eN!QMc$5!i) zPR^<)ypiqIFVA*0py5#4qtg>Rf+@-5#4(=VinG}OgB_+k-0AiP;->XHwr>#t#g%$B z)fk(6*83__3aRb@4AVvwcT>u*FYT!>%YR8`q7c9;i<{K}$<6!;#V@v7U6lJ`KsD&-;KRq$5%9{|lXpC0k^yTIvA@#> zjX+kRwM}qm%_(7l5FH5FAEpQ&$zsb0mg?U1U?NL(=UV)P)Eg{OH{qY2YsUt7mL7Fh z$gF-{@0sc+EuUFE^3b52rQC#)&1T^O17~!XS6tU9uk@EuVVkA3VB$Ht$%@=-qLH;o z@N}BRn z*3@>cs}N!i=4+~{l*t0TV;T1iBu>u5Vpgc8U^mr%T6UJWvjK$P24LA1A+i2nFy^0g z#mBpi^iPfdTN4BCkI!>ysr_8&@wLEYuCRE)mVNM8LN@ZUliT( z%RE_eh5q$D^v&~hn4^^7U9y{T+_rEGE*h}gHN5d#TJ zM~feGY8tdOaO3YLtABf?9LE{I8 z#U5}r8Wu;X6>A)wpE#W8-X?4OXv|;s0^wj%;hiaM%(i>K7!iL7Htx+~m!R#VuL5{0 zq_1(Xf;z^-X?YwW)zd+S1<5|IkZ4B%=`Qt3VMSuSB_%pljwuZXe#mV9C~l$kCGUA5kGgr$#qh%GD8>*qheY4&V{JC~LZDo~l;0H57*O9I zX`Dn?@|?J`6GCir;;%6+U%8oCliY_zP7>#u+-rN<@4TpQ^rZp!4lDMPB|lDdV=e0h zNIHiT_-j2}mP%2aHh-a6qk2OHapaO8D@o*)Pj8zRQNM;ohKg^XXnw9OmeOGHdpe#zyM2>jyY z7Q^;vO!9V8sp{-E?JOq2^k$KPw_qIhAB|_6FO& zS`9oLFZ$2gmDCb;HX=)OAddzlTHMVjEug2m3jpU$&EP_;&~aBaYw|aqr& z47CYS`iW^gn+6xZUUK2^QvK>b5%yS2BW0yB2VSjYsTcL)H%=x(H+!OuG$nG(|2wcI zxLVusp-pT5WRR1jDJmy67A_KdiS2OA3H3Y4v#9{fIe)4EjZs&>9pRwHZn>GhwKukFEsn99o>izXqZk;H+c5;F&FyyNA+Ihn58p9H7d#f-Yb!KKB<*ZleBglUW@x z129Djgp-K=sl;NrMIHH=Zz`ZX0*XBuJAe4#X`L*z=Ax&@8~pl(A#}sSbU`@!O_R${ zXkZodrenEfG$l;;}vAZIhQv%%T3XG2`+$W z9zXE!p{jkUD3p4$ciFcZl(wJ1W>;gc6GL@)nbY^6N#xfA^uQ$klhbK^plKv7GBhF~ zHJbYo?WAI7K2h~z(pE#8OcCWVCbJ>32FMr{~_Ef;w({8pV z%s|xr>_tc>&X0SC)wITISYsU;SJ%R`9)YrI$2SSF34E&G36LApyNPJYFBliejJc}& zA2vA40OTjKcF`P-$%$H^dqz-B)o;%Drb$D=XHkTXt$n*$SoygN4P2EbWmUl4em$V3 z<50s;8qWygEsAvfqcyC{*2A(wy=pEU&@T=Ta2H#*!3n&RnJYW!%D-~2?lifv&;x* zx;a{{>kRgQ`20d)#x?3G0oo>UQYmWI2SzsP7^Y62?Ixk55lZAN9*|S!(K+C1)wJz2 zH#E$ctC>PWtp{p-X`gW>w7j;Vx&XQ=9y{QsIh377Vg-PS*g-1m9I6y6jXAG`=av36>>@gSrcx|>$ zYg&9~Xxd@=3CjWkT*u`WwA^tCQdk%GRMQ#ZLO*7Ba*opY4M#pEl$L+aO@2%K>ImyypOS1(Wz=e;vOU|{NIltOM8 z2)=#+a(s82Nwzd0%_W=3AJlEIs+>F@SGX1z z`RBVkd%@B;oK#I^rCcLVfV*IaG~8WMe@->f4u5(bR{RTY?@t9&jcBMOf?^TF(q)@| zqUuLn1Wp7M4YQ_#{9Y^y_3CW&qTz0^oj%|)^UbCs3x=weUBp}my`$;*;8Yf;H#Cfl zEa;b-B;f03U5$tmUR6ejUXMme#;*CYY8++!FPEnJ#lnN_vBW;=TPp7(%H+!Mnxt`o z_~!_?!K<=cWTH8|k~T$T$X1#_@BL5%P*7JdOY}X+2hj0j2=E};Y}{k%^SK!uD?$MJ zvtU4eWDAR9c#xjZ97GBwUA{IyiYoQ2)M=dPBslp}j|#Ze9tJ%Pnj6)}fV!3cFc~TJ z;7>&OpQL#B^P@$q!E@!g_J1wGsqBtN809Cp+-uCnZkhgm%wIf;U7t4(f?StaE2 z3QJkrHu=A;xMI1-VY*eQz^h#(u<+cgx3N>%14f~X7#*bwVg-)Rt}i1x4;lHvN&LOt_!CdV8^o73H;$M=tS zcaN(sG?7~TGJNqWwd4En7xo8ggD%t{HK~EwADa}>mD8&6a>>>2bcY$*oQN~|SC`(x z>qjem;SsN0$7{~w5=Mcw)p~wg`4pNwnOgMOq8 z>87`IrEmeFf?J}cA!I%B|8DF`teJ_^WYLpc1U93A>*Qj8STb7O_7oA z=jS$xm2h|H;IYod!RgeF$>93+aMyELf9?vg1luvQ!7Sjmo=&Ss)fJpxY z+^#pvGI|BrgARrH05$@fv-xi-fdzOI1z1YKZBQs!YKi;^+Ad9J{fm3(dzVB0n;<-G zQ-IIUvJfKEY%a&lkDt9(rs**XBg_f#SLf4ivJAdHNR$dCjZnzrzzXK!Xe_#kiwj~y z&o#ar?Od8V(kspPpOJx`b`KF#+|O^GIQsNbT+SN@qr<6+f?}Pf4$749qMCGlH*G*K zH|E19VRe25i)u3Cq?7yG;HQN(;^Ob(RJ*`)0|bXKy&`E~5z`JvenSS)8X71;`)Y~R zh!bX4@thj|upZ`mOABn6JHS_Q zslS2tluvx2;<(2vD@~E`xdLz6mgIVbvK&dK)go7FKuJ@-A;PhG)>Zk)VG)Xmuut>% z#)oj8B}TkEBK9Rhi>{$7aZ)H1Q(0{bpGC{9{_yldmnSZ=g#j5MbbW0LT2%dIbyDYB zCkU~Fr7r;!kllgpq84`7S|r}UGnjrp7ytYkWjq!>%wm#+lR^hL9i7sdx4ycCHdda7 zBsL}5d^-^~!>10lC41PNHJY3HWolh9N(VJ%j@N&r&RIIV0*dIE|ZbZ{d5eS`>wxt${^L6X~N`7zF50z|g z`TIbsXyJQDjcVL-TGp@gYK<_dOqA{&)R?}B(Rl;PGqKiFa-hcMx@3~$^Ay!b4ld+I z0zl?6vFydo?yH_`7DV>dzN6}zs)wkYD7pKaqTo&or{YhmICHH+QulVJ&2xK(mRtqY zywD&mXWORW<@DH?$pR_txg5NMLjxSJjL ztksK93R6J+9Zeh`oF*rijG(7}+b&0TYnTJN;NI2%Ogn zj6~#!>Hfp7By(erZdw33*~MJ%QI~+@mD3n#m&TDh+}-34#jIL!*ar9~wDFkE#%c?f zO9S2eW_wF;H?BboHps@OnQqmvc3p{cnn7H`8Gb#Wu_%PJDcH*G@-hIgFp;ufBd~?E zcKU#WU5}D|mrB}>{>>m;Z2Jv4w&~zv+@b4FtJGD0^D_8T ztsG>dH*tpPQq3{}cjxV9Mn4htYDA>X!~}F!0P7i83(`=vSA0~@dyu{S~CrWIcWxUqiUW8ElEW^b7|-)MFYBmjj;kju(lrcft8 z>G4C+rz^cCYb@Sz-92xo&gaRd0s}69p49Vpb|p7aUY%o;X>8mT?ZA<8n_JF$!hb0= zEtG)=Kd{r>+XB_;_k~`)n5M=CqIxx4UQVwIJs_Aim37n+LR(5(sx6U9v z3z9}>s5Qo1mEj)G>x&QN7F-FciPK`8LmrVnO^YOZlIY{_^sPrXt~zL%H34o0c(0Yx zzPa`l=&)H_H}{NV4*D|&O374y+pyb8--bT<;6C+W#wajrP!a+6*ps@!t1lS%6B_}a zjvT`N?{JA80Yhdvb{oRtcjjrt)^RXfzk=#%AjiI>38%^1{%LTASb*&YrD#6gfBQ@@ z!LXW(0dCyWWdjrb@P@jrcRikWzakhTuJN$04hc`?GBIO~q`Xi=G$?Ejb&a8#iLd0l z?_KU$g)>@oJ|*+z?aN@dN0i1{YK1s<+zY=aXdhFHp?>*7NM?&#U&Xk4%YUpNSd>ou znuy~tD*7HubvQZ?`=TZZz+xqUzT+E%rYsyva*HKBuEQ&}gb(*9N2JqPW-4c|J6{#& z95TpE<+AYny@=6x49_9g?1U@U!G5fCYuUUSzqZ$~Z+(zH^N?odO=n2_inr($S2NU%NQ5yJ^B_h%2I~^=t-I}((WaJgg zuMb3v=^F2=Gc<2Q#x<1*19o*V_ye)3smOREAgmV7qUsdv-UbXrnuZ@@<~@{7)jq_^ z1l4x9%m6C?^+)@zANy)w6yP;lA89lxBZ^!JnK>+G#FUL7 zggwn^sX}u5vTMFP=Zk0myVmJ(jRi$#XELzP3*F&ZmQZK14!ttPEcY`}ZUcZw6%3!+W z!}#2aJQtCn^O$nn&2$jAxM56Leu5ht7O^sKd`+H19_45`L4zc+!zS4Y82emFYKLj> ziPMTl;ZvCK$!=yM{0?Q*1vhm#N+HorGnlH^Yh)hC^Tt%yh|U6OtyV>j$hzRiKr`;*Y$iun@G9tDyx zM2bWv+XvsN-crY)LDF|32!c4BVteKUE%|AG(A&csd3}s(bO)f>#E0UkAEiT_t-Q#(sPDZYOZt+0@GwGDIt0~pi zTI)ISROpBy20^5{;F~(AyF8n~(zKl!uso{Mg63>6zCRSOT7a>KCxm!*@2&u!BRSSM zNpa0~`{8zyh`O0suyfYajCACEIRZ%2`D3 zWQ^b_^pMFZWSGtVJ!9?*T<`;0aF|Ea**KcDMqQOVYqmi@#&459SS7y%pTshF=0x}| zj9J_n0k4qF7dP>GLA~G6^{U})Jk2X^cE3{QL)Wj^zr za)vC0R__m{@$0lVKo7eedcyELgCM+3#xveRV$2E$`M~_ag=oRmfO~K)rDMl4PLxo+ zo)FqBXITs(ViQ-Tw-`)Z4sjsZ%=7msmkgl4Kr0Gp#G_;mozQp&C=zUlM8&I3eeY(* zRx_E|9FxgWp?tDVo1@^bHOFN&lOurOGSn#p=`dZ6pU`@)5?@mq8kb3TvbC@&0P}&( zcqK_RcqeO8hEFg)=T+YHv$<~8qRw9)Okg(StHS>62(nAX&25Aq9e~McLqTD7 zg=|rNwHtaY9rt{Ss@W!%W@-md`EsNnD{7Y_Z_`BlBg}Ab zU)p7c_qf8B-{5i&PQ`g#=1M^%)|Gfqx4Tb*VLCMznKlhsuXDHZ9L(=*KMS%Z*YT@w zDnp_D?Cof6C!jP)Tg>Jq^tLq}&R)LuqcN>GDsV2wi)4tQK$m;=L-K-^Wa~WtZcbHU}>OP=R?ImgNS$=IwdoW#0slIr&``04> ziTG#zK*EzD|Km{2k$7#jZm=LG0A0^_u=XiqI?;O0{a+&%g^|W9)3h9=;zh3GKufKb z>n`8T`l-I5dy;BI^vp{c8sSCzP%`NyE<~0Fxcn*!GzsZnT;prT6E6?DYZKeT4P2`W6SRMvnyVQn^gg%P`LY@WJ& zoHv7%A&_IH`6pM{S5`-31 zX-3W8U|Q3GL&_3{xnQTl;`{la>k%h0d>!!`PU@SOQ;bb)5NfuKE}(L}U{N^s0BnBV z=>eYjcJXX^$Ol8_Wl%MbS{7Q7&PRENG>&`YYqGSLd`kUe^~!XfO)ajr!x@)?ySs}@ zJSCI9%)l<%DyM0RCh(Om3FbNBSJ&y>-5g3>w%xsI^fLg{I2+UpTN)KW}tR1FO(Q~g}itk1!H z){e9Opa-v;+5+o(_Lo25m2s#@;%|dOi7^&aROE2%#sih*m666pNFM(sBd+L!tAaYx zhnM3BWn_cWykZY0p2ha1$Wb@hSYtlsc8L&S5%hfzMnWT8R;G)pymLCkgj*qY%6OjSVYA^SJi)X zj(Tej*v=J0jxJ^Wrlz7Pn#T2vE>L~;p6F`jQONv6*AqhQYfm>uK~erUVQ$n zz7l%6G|7Yc_=a09xUd5{WY)j2usLyyQY(?9Ag@TVkRm> zU-Kpf*H`H0aNeAd7>N-ilhG4dvz$(j;MiVfYXzpmZNX2LqfgCRgx2}Ot|^qU%@A3W zifVVWwi~09cpE(Ayans9YX%2Thdj%H*cAe@L|Dd=*Jk#guWj5RQT2EI8r+158uM+; zgzo`69#gf9vU{Eu$n`|m*Jgg;31>n(3IKjSTyC*H59R6_)Tfx5Ng9ye!$R_j3+Fe{ zA3D?-KrNyPOJ!2K;W@-aF$37(lynoV{rrHfDW=gaUCrI+c)1GbmDf7a0XjE$-I||< zZbsosm2mI#r~t?yrBXYWNtfWWy)ZpI&w=bB;gbU%C6k}{@`z80R}#^EwydhWlbM_) zE?T#>R$g$!lRGYw4Tpp>pQ5GUT%JG7VR|rQnkwREhEg{X7yyv4;hvN3KpD(sVjhKP z>gTC{#E@`57H6GwOJ{d}mJu(gW6t<~f*Pkvshg3G4Z99Ra-4wp2W=OjCd=hQWtCF= zC-B51J2k|@Qkl-^;DmgySx`zP zxN|r8H|{Sybc?6wgKOXpndzDsT)>VBTjgWKV%MU)S|B?Po`Z9{t& z^|qf&mng>a;v$2i5W4h``cG_*>42AS ztS^oYR~)ad(SY`KX3C6^Ve6u598S?P?Oy@t0_p21%JCI4?XUWlsL5SrJ8GkE(1>?n zJvTKQPAmXy?hfvIb(;VUkc{FZuu3w-H4cU7A^1IYU@-1Zn(~;nj^`(){;(R6Q-UGc zx&7==b26P+^_lQxupW5?KR}|CMTM93J#Y4@o&Wng`6AKPPop#x2^I>&H&R*=jx3tK zf#mhHOu<5AKbECWSx|F1H;RIDflg!tyI(j=604Hmk#wDc`huCGu)8+@suQKI-~W@uh+4mM_iq5me9TjngSs_A^)0K*h#xfu%(KC9T*M z1;{BnQGBb#gQwnaOKJGmX7o0pdIgob#@pFwohU~aJKL>vSvWu-N2iLRoOrz;r;2eU zE_f34y*-jw(0V_)oQh^7s>bC6w7j;6kRs&XJwF>9tZEtLs}u<2H7kv{O9K`jkeH`9 zE&C(yhLnyu@ z8Y{a->^!77dK=7k2V&%}wEkGozn2@pvh#`V>jWgrH1V3|X1Hw4Sl=~c&!37#K@H$j zqjh2v_#AJ^ZMzLcB8^Uys*6K7CrWgjz;xy~9Hjk}s46Jnn>Ot$k~A<*jmwG8LhzAk z{d;I}Evx*JrMzR{s?tVoKATEx=4^O{qX*6LBb!ikPt|8XSNY{9x-nf9m$OLIbsiph z47$!~<8w}8PYq_@j4+nvLXnI^EU5`wv`HiESHQbPlSgLCT}-8ZwFzcb{7cp4{s=Xky}2JHf3iz6%d)ck*g@albau1)|}a zvl-Tk+wY1%;S9Woc$-0;*rGagvdOMh?ma8;dIC4oNM-;IDQubW+$qkFb7-n8)p=AqN`I@Iu@v+j9lh z>?u0_SLLl}#u!d?O(Z;>b0txzxX5P)c_i9D&t0qyu>NFN*gN&=Y@C>~vQB)aBmfi3X6yJxOyeCy|ES<;7IYPyrw&ym3)MnX=OKEJ~1&sac8!R{f?pG z*jF-dHK7+|$bDYg7CQOEo>`3bcy$iVDWYaz^pO{$Cd1idu{-?}oZ7lMo%J}UheaPQ zp3SCAB;}x-!g0sMAJw?Hjw@PX7OaYImo^2t7G@ie`wWHNNm zxo)|dQT*>EOC){FRr;zjE*=ly;#nZ3HAe8T?pjuUtWa1feeE!8`UEh8Bow~y7A0vjjl?oug^ z2j*~XX~H{;cSMDqoR#J;19je=20 zS?AOT`gjYIv(5YV9nk>diI&OfKVB;)6|wc->+O~%Ez5$33R@oKCcl+X69U#bTkBIG zjC#Y)mGYl3!}Yotjt}KGym6YOb!FgR`kM$L}!4 z6y#Q>7IVW;X;R^LPsnj;RwqLgQZo zMp%|4oT+`thV)4YjivkWFuZXrOD@1C7UNGCtnNWkqznFC$ttScqdI!qk&es3C4g1| zTMtV?w5?!v9X2ej_ZM2AMulvQw3;FZZizCRB|+`4o`IB-0-IVK3)=7W6JDQahy7Eb z5UaA=&};QTfQ6s)kYmx<$OyJXCyKEyHP`Q2kEHEeHLXQ+_h`abNkWBvId=2J%_$A^ z6ykuFwbvY`xphmj&9!_V8v_29z)=6kd7a}h#Xg;L7`Ma`YGt%=(GZ$l=$TYuo2%Zl zF|eV5nDC{Ta5t8b+nqj~K}J;L`CMHv*%_5slZ{pg@^W5kF9?_DJSKMwq*lzXOh|6D z54rwqv{HYrGzHVEwXhFR;4OvVDS%Yqde_t5$x8rVsTWgC0Rv(5p9t|#Kl+QI&PMXS z=HS`bNHBG^o-Zfdq`N`y>6hA72OFuk2)t}C|3B_gHO-WMqPtk+oDE~FTR(Ks!!laOW=4LQy zAXwQ~(VAX+StkvYWXt!AuJ#lHhZWGjIBjYTy6+CiV%rKqIT3r4=-VFyTVR ziSjwNxpAaJPsW5vLbuwQy(~_4@0h}fY1G;7Rt1l1TZ?Q+MA__KYe^CfEl!cm>fiLu z56~ZGIEqkP-0n|JVudu0P|Mojwyvd40@qYu&p8ZR*s-IZ;ieV^UAiMZn!zj}L21_0 zHE;`sS$2U_n}_%}(?Qgsfob&5xcr3I%Ox=@^WnN`Qrk3IzD!Bd(vByRmQ()0!t#ip zq>Z{m{mN#$Uyxz^OyY{BC-LTkSr&wrJh#RP!!LWg51Y*#Y-#Iju@5eiXN`KAFc~#N z_y`8Y_-F5E%1D<=;_Mtuu1}setH2;*q|JpH1edB!g8N@G#9FxVU@6n0AR$?+Z@^TG ztDo}oALH%%?Yl2mJLiily$mis+XD^#3FUd!gE_|T*KyodM*CqovxF5?sYp>O8uoB9nUZdmStrC-l^VZ+}K zdh^4Cw=|J5K~`G}_bf}_>gm>?T=?R-wtdg?ic}62Gfq)izyV(}dy1qp^a8xfBJ8!R z!`@gKCV!zP0_uIjO^;U3)*M^#ifVH_iA)*!kvPl3s7240Hid#2^;_dqqU7%b<%1i4 z6&8__^J2gw0RSHfN=C`b2qsI5-c+rfWPS6cuGgX(FRP{Tx1%wMY4OWWpqG{j&jn$2 z(bdXLXvY&d?n3jI)x_k>s6-)M<3VX&qB|hDExqQF(e)0&ZF4I>48i{j0?D_*1Z#dy zQWbfYWzv|~fXd&c*J8}LWiRlLEUxIr=Oc@3}~4h5=LZFIk_&h;pRL(28>4ecm+( zIeOKw2DGsG&e!s>gy%)x+MLv+*nj=f;C`;_3e;gcsJ+KDoz**M3rK0t4L`w+E;yVG zF_q>;7FfY1cUMo;5XXE=g1=hNtf6-@?%7@Y@n`y^JpN%M+#|V0BsGtt2%WQQeboz# z$<2drVPlCc^(>MPc8|7+i*3F2e3V5xyU%CH|5%g~-tmktukk9gyEXp_8(LdXSD|8a zR6is;7)^~Z`a6oJ8oHjy^RcoaBf2GL-oF&JT1@@hYxGL^v@WcodOSM_z1f#o>2i_T zU5FKE$-Vg+zLpg=J56B=X+V4qz7|_EC$|Ca2>cw8Ye|f+|%DB zJi^3)QjN=^vNmduFn6;#u7B&E%hq>vV?GGA5+TTG@GaTKc{)ILKaM;gH+Gx;c44+> zZ-_AYy!)6SZWFKn6TTlKlK5I&8df3T2Fq6EBUys6;xZxrB zeL2nbT%4vJ@eZo1frn;vc2 zGN9gR_|?BtgzZ|Ii=!yoC`j|Ii36LtVQKDe6H|FFxg-DHohkAoUPWwXe8FR2qKsgqP_z zU2JWQT!$wxYc+opRK$c8nrA8^5jlt7tO{;dy3)$>Yigl@I?yCER^wx z^fq2gqMFX<&dU3MELE$S?ch(44)NXR{2h&j=Z(G->(l zv9{Y67!;ZU0Y4@bg&Nf;1rcYZV3H^vRL0+HJfg;rmm|SU;_+}}7$mt5>2{=9a3Gdg zPomYgkw3M#VuC_jl-Oi}`0Z$>s5<&BbYIM4aRA`3XY;ggHOlQn!3*nd$Cp#nYzx<- zVXEdwE#nz8vwVlt`6fYROZI-NyT%_VVXBt1gW2xJqs;ZI4nrdNKMKy;_&sc572#|d z;4+R32V#qbdU}NQioRWFcVBqn7GAFrBuA)@4YEUeiDln)j8f@ ztH>GhntEO>Ug}j>R=h4HIa+PUJ|-eXtFPn-I~_^K-_+_*D@j~HHgHj2wIHG20rtiU z%H^S1iuq*%cbvN?9eBQdRpkKJrvyF?;VkFL=3$$=5J^ja)^{0&sByPk0((m<0jHwd z*QX~e)P-~g{;y_z6A6!+4w-Kt`j@r9dS>Lz65RLj9Y`3t@*joxasQYsX+)VU2&!=$ z33mUFPVi@z*XxttSFJ!PQ27fu|_?=6_OR-7;B1Q$+mr}R$gQS-&H}j*lKe(l{S&JGb_3baOSqTIa>B? zd!9*SO$8j|Vc#`W(+D%qT=cEm1!WUos$!=Sis|M`&bP z3Brtj3RyfwcGJyiPTu2*)Ij0I&OzaURI2@P#4)x{1tx`YkB>}xCkSV(#IwZOC7bPW zz&5t_wX;<^n6&MF*dnsF?k|!M>2#U4q;mbs2C_vp9!`@TyxmLUPeWr@He$JnfOeS> z0+gDd7vAPD#mwq3wr9i1F2uC@*-`pVoX;z;!5|KK@B9Bnl%g#c)8cs?&o$Odf5-^w zvdhX36>V3mYM2t3*q=OW1=LBzK_p8=!d{}$%%K6UhewMNp(#1_!22GZClsSIp94HV ze#RPk6$v^JZ7KNLGYH{cCSx#PxTYt>Z-o65glPFoa^P@ID=Kss=G0k6g1#-ze4VZy zj70S@7h~H0s>J5V z;aKSX%wfYjsu5J1jWet@WIP6?Vuk11(A z1KZ5o`9GY)3aI?aQp+eiq&&F?|IsehlGt9m4m#s7E4w3lNGF;%V{BXhGqf!c$?tZ} z@h86VCFaIc%eF)gd?xc;qR+B0A{yag;S*E4+b|xhh-9{A@~8X8(6?a5S4UCaCrzef zh5UN$v>#LX^Q{JQ%Hn*AA73~_ z&wel?5SDGkAPalS!HMj`WM{iSHXMqm(?f%}m?uSH&1dtoIwVP$mLU+x${O92jQx+w z)@}CwqBa`GZj$P^5TkGta8=6GTU`*O1(#gwC%u~bDEA4U z0`1VT&MAc%5ls2?%2H6Hq-q|T0(Lt}1>h~EzJVJ4(A(eU;fD%}H=#*w0`W2`3%I`i z5!8QrF>Cj5ZgyY&(-SWfk)q^N2iQ@YYv#~;qPl6?E0>(89T=9;+VSr|d&F%@7Q;H< zY%lo=svf!?l#+QsHEZ=V;}g5cEv=(>~b@NZ~rUM|Vft~OKWl)bB8-@UL6)7=myeZYd1-k0*9;^~D- zbIuIVvK*O@GE03pw2NmZw0sC~6xM;&@D~H#rBl z3!yXFf_UpVL*ye(VE!X^VVE2Or3LyFh-;A3r#ov$Je2D{ zoX(Yp9UrV(IVLRUNz!;+Rqs!9xxYrSH&34nN=$YrS|$N6j3dnfj+Zsf4Y74_TQ%%Y z#=TXft2NXLKf(0;BsU%n+l*Nx_7AF8<0GU{U&hUmBu;2Gk`lRCVf{NTuwTtJ2P-e1 zsJ%mKz>rfcPTX94*#J^MFJ)r6Py;*5j*o*%eBdAAlp`B8*b%o3OU8KPgzV+2&hMbw z5f_K^D$-==cL|`d?$B4q7IV_ZM}&p@{lKchtgxwb~B!~ zvHehPx$k0RJ*JZje8E9ShRqqjsi8CeBwL3qTo)%$@wD)bWY(`o=3irJzq%8thZa$H z1JP5|&EuR{gGXh0IFXG?VWb|Fc6J+Pur)rRW^Os=OXZRR%&%lgC|3{Vr~;Wjdd3VX zey(`|0=H!EI!aUt)XklTVVm-et=d7{ zqqIKwfukDNw=nH=z(^S>GQn=W42JUubZ+@S5w(y1A#OSq`jGPZgrN~I#i+s(Z1d`e z-F=w~ZYHazU$oWv)vl>`P>ptbio2=4bV8zYr$utH8mSOCHedrQjwv7C_z?L?aup=G zJcfby+wtJrJ-QCoZ=82?|04%q<9XwJlsw?R1QNt5Ga zs)TjHvu1vWb@x}NGMw?_00>Gh<($R@ac(lpx$)n`**_;kxIc*zWwWwQ2*TWMr|c$Uk$uD_ncxq8X#TIzKV#q5_5EG#}SjIL%@8 zlp7{4P^nn2vY|M^q^@I`CErGyXoMFA_i))QkDag-P7~kbojoE#aU{+ePxA_@tu@cR zmf;}0OUEnnb!W&z`1ecxx|XP4o$@6$X19qfi(O zR4?}6hud9hQt0-E^5r=l45_X3Wf%;pr$8W1?i|Q5I6sxRLdyN~tCjdh3vYeY-!2%= zQxvJAGl&QBqj9?2-u_}aV=^O>1t(Yf-(#%GUyKXAmiYH4vYyFB-i&YM0bC2SmfiPP zXxdTF?ov&B?6L88D`O!F`U=PAVKxPQfB(5#xPIBE}5U)W>vP|f&rL^&BpV% zTvJV8!+Sp62zZ-GJ&b18aeK#f_Y&OF{l?S;XLvdx@QrF%80*~o`2J5xa0r_CX% z;6|5mlFlN3pHEew1w=3BDs3~4+(cjg{OjtHTNXdm$oRE|+sW`A8!B-g~LS zP{Omt=gnH6=DzbAT+0UHY|>U<&b`N_Z9B{_5CZhr2Pblt%TH(EA!CEgcywA2#7~CZ zTt0*6x;|?4iddT$XgxdST&MA+ncj@R;#=8Za&aRkyL0M+AnNJ$ z5tzem8tOobK&op1#|6ciMk*w`(>x7dp51)Gv+;8c=Mon$I+6LSe*N*!px*{|8|K4N21xPTs=5Lr1zmE^aA}Kt#_p6 zA%I&4;_Uc4ETsIqH}IuWkMCMRyk2@WZ_QruZS57x9FrmYgK=mhmGK(VCf$+b_T9yf zPc`oz%ZfM(09@B$$ir&**RW8L^cN=KLQvc;g@;P)Y@x6tt70lds#VURw%n(M$pvyT z-1H+#Fq2NsC#Y6pipRM^cATA3cgYc1;Tyji3K_1avm>}mYL^Ma8*jDkj;Qk5y5G904v?CeCd=SXE0D!S1JT6{Z~pO2>*7M$X5 z?kIh3x9^kKl5cT=qkB`<$XJM@92iP94H%*-R=x|^$pM!7~`m>pN}BQg_bIM$Cfp3&=dnz6EY z!R8{BDBFENbJ7${{)4ZG8t~(+lufAQ$pz7%Jzk7WS99#xK!EP%^{^IOq{zc$f`dyJ z;G7^UEHrJe|BmW8OUm9%xyCs@4uM{+v8d~wGD&ulU!3$tcVi1rHuh_XV-4ri}&QY@CWgGiw|OLB;WI2*5Ws^e8;b7ZWO<5 z{O9i5HAN>y^VViwzqM!$ERhiUc_zDB*O$pFkZrY8X|2qtC5tRPA;M_;< zwZR5eO2*OqdDpv4PF!zI4EXqcjrV|2wjG#+snKpCup&m3{9}b#L%RCZ`RXgo8A%kG zWc5o8QJ!O#X*wgFNWp!;QMlr-=~ST%IgxTsXl>6Ac}LY-rAF0+UN$D-hjfzc0uaw| zayq$Wsy0nfvWz$mFHBG~+T2S`%l#qu@eZohC*o@EMQ*=S_04!K-r$3jkPIi9oBPNt z|L~gIBU^Xj{9Vf_rj6c!fD4MxWX-*m;fbx1e>$73@cjv}5v9+hIZE7#19FW<2&j#L z>4<-4(uJhe=cL>dq|mkrar^;tnBPNkAm%%mMg%@#Yi7VZE+&IfQE|(zctX*e52z42 z9eBAsDOM}Z!@YSD)O}a2IE9|NzeDF1(b*4Gora@XV(giXJxEk*Q-68L)X69y)fd@e zRV>wuL;2Dz3bpZYPOY)cC-EIvOH9oY^Tc<=h;T2*}zuTh{y zm`;B5ibk^YnBuc}_8F-n3>oI^zRRNXjxXXicfa_`5h(Mm8yG`FQ0ZaZGFN_X1vcr_ zl^sP5U>`xPoSet-4zKBFpOv|}4&ivE^4&h`T80liUu5%rN>0KU#&dk~*9O>k8J<1p zUXMcN6-Zx|C+#;mEu#b|c&?W?#mzJX>=nZ$vkBw-SguLv3b=OmUx3ZHi#JEDQYJU) zPfV?PN>xP#l+(bM02Esu)O{<0*Rsq~`EkCycld*kLisiXv?8p_4D3%VbSB#BE2!SA zR8P!!2d@R|!3^9bTTvIE+?m0%F2;Ffy-8_kvrzC&Gro`&$@(4=^pILYue?o`smXRJ zf4f{2<0sq|GLuE&TQ*1e!aI+rb|3xkNlr#HocOtSgC#NwxuTo8+lWp5Kh)%7Y)IbG zJwvD55GuCV01nLzXQ-yIt+e@Fl6UYrQiiU-Q5Nt;@9v2X3U)CqpHDFDNM-pO!`h5= zX3|6P+r*Q$iVBqrSH#?~y4@UdAkDYIL&73{@#dQzZ*d;&JElHu5^1yQtB!15DIM9* z0+B zAx0{=r)~CMHDPzg5FKYRt2_*C>K*wc~LL{xX1dk;>P}ib`0+ z&A>ew{TK7%z-MrG+c6oRn5xMqoOb)c+{`$cjLAxL-ce-uz6ML$cs&EbzUd56y^T6u zewC>g>Bxu<)+W{75RiJu(zj#PITQU!*Hhs)kK5Cndc;KV{UVCl%e240q?a@**TmRv zq8G<+&LsM0J|L)$e5?+d=vhw^xr7xb#R-xu->=3=zGg8jR$AE(bG6R2WilfA_#b@- z<1L)_h^l!eBARKM9LAT=<+5Ls=Nonmwj(RD?9R^|UvjevPRC?dwX-`wN3KhgS7v9N zkiGA4?{9qVd>0wjZ_}jVkYmwpa6*A;$EqbA+_dM=7UxQvM&pcP9%K(7N;dq94{Fknu%I@^$Bi*^RwGS% zHwRKsG(@p^8lsWG9YZd&^`dH_pdM^x7>TYR7x!Y@0gBO6jaV8_B~d%Q6*5L#gW$M zE-)d6qsD^2Q!REMUDMiF;wRUc-f?_4um#&yFi1Ts?FWI9 zY@b!$$hkh59IoC()ImUb`FXq4a9ZlT`*hsZ%NVL5Q*9I_sT=OE*7KZ%77!V~CV*~b zZ9em%NcgMCyuU;07hYv-%AeLc1(sy-!7z2I@I5LtTAVfaf~NeFCBlS0l0IiKAE1*d zIopBzd{k>>S1@^+zGLfHtXo1V08z%&iSmhOKR|!uPeu53cuK2Nvz}CY5SBS+K-!sfO?_QoHfzM z7;Abe^<|>n6Ki(Ckg2{xVXOHSYu+Ak? zbaPBw&Mwpm~D|_>DgJ79! zj&)^}KB$&CW1bZ=xjQ@F{B^Fwk*{* zkjDmGr&nR&VJ69OY_tZgl{i{Aw(E9!!7`v^KVRhtmeo*ZLnqSU9yJRCqp)M~qYou!^zO_;(|$G1cmqEK713PHc=X z;+@5DPj&Nq)(udcrt6_HPVp5~iE@iim~j@r&&4JN%Q3Z?AWn+;M^pu7yNcssQRHNk zrloSSD?!QNxF=Rg`Jv1{EFM@U1n$f~>ub9IBFGWUClnVDOH7uk9K zfT*;Pni{}WNt;+Pt+Q}v@)!9h+ej16uCwvmlpiTj&RNcGWBW0{VAVf4jkyte&kW{)4KCXPzyUPKOuzPiRCzlI=`tCvf(P3;Aqgoq^ck|xABDqc?t7Wlz8jL<^|I-j}Wxzyr>b+h+{ zuOQmCZ0Oun}~GxgMH`t^LOJ3W6c@iw!L zx+-N8=&Xr>T#>b%T3AO1sNgs{oSC8R*_k6R*0!()Np1xf_1#RLe#ca6rfd5TbYa@3 z7BR8ce^uc7IpOG;sbD@l23(wQ02+g%S9sHYosOV(Q8e27+j=ga%w*--jTcD!y>hi; zV^=kH+PBmUW(_P1WY*1;duW*fPeqrZpHV=Uh-WIi`Lok@kP`I2XovaC7W zpX#HW+eM3F>S2++QQkFf;U}*Crmkj#!uWHH!w~}*#GZuc$)s2ak8GJpl$sard9p*{ z7V^S|rHw1l_KUQsE0jI-Y@$uK5wM&)F&x4nLG9qdw;Fa?&AZP_6bR-MRcR| z?9a$_EHUES%X~Q+H#cbs=lv)O)!O4qlr`pKkQVZVJgspBLWljR;2> zgvTdc8i(a-o|`xX40Q{Dv+=I&Q{#cfk2a-=3vGZQ*7m33auOkBi(#xrGWflmpN~$I zk@kG{iZMhV+)b0h4?(tab?a+HDV+mJf51>Py>vH^nxU@{0R0+UM`;#HrR`pZ)$ z=h!}b5J|Nly<^M!lZmc-a8aS4d}VFjc~PvHP<=+x+LY{1iqT&nF-6oMw3iNweERyZ z0_MH1D&t_}$&Ru1n46muW!V85eygtS-3z)fr!ZrePeA=^(+mY#`RNlB>^Sa$n}_AI zIrsI(-Q8(xIEdWHJom331XkvQiO{N=o^r;%I5G7dRm1mRB5Km08odXZs(hK)ya3v6 zJ;+Ykb#-g?_*f^4ygc5K(fE>c&TX5P%bEhnIngR~u76Y~(7z_;NPO`q_jg$Y z);zL(#u2lAYZaDaE30>8ZKHA>QoPzHUA_aOSf62>@+BDRb{mW}R%wxaNlL z=sUF1LepJ;9}bCw6wQ7k+lQ7I9C&8G7->HJC6-y|7=WY4VGf%B49Y0t-?5Z_iu&}# zCY*n){^JiH&sY)(amqPEcG7d4@D0bMf=Eb-A8iv>P;!xAAM+c?Wm* zcbKaeVM#;W^1iTP7Y5p z@EfBKO7RnyhDUaHhs!$nY1+A!)zr}B-#VH5B#BhF<&P99?=K0mMbm3a@iX^&KlpCv zl&YKAo*h!Maz2}2Foym=LFWzf7|xCcyo&GaUVd*<6;NALT$PpiHjmXe{#la4cOZ zZd}t0knVItzvJlxX7MrsE*N_lx(L|k36Twr#{BHjK%3N*4;)*bt&Vi>#!3fpv+bik z!L&qO37Kd1!^WwmYI3wW{m@}de%0IAX_~pn;Co6p%~3xMem-OmbUHh|W5QM) zqV=>aDN-hd{n*E2m~Dn&3CBD)#gZ6)8cu^no}s?ZIkfBT1^2^*ddJY~A~7*F?Jf7H z8#WYMT?=u)rSWYY$d_{e!Pkv&W34-sCcz z9BNV-_Nz}kmzY;PTIbO5l8Ju1N#3l;M zc#Fo!)PG}T6i3D^tGf@IX=5RQviuTntmW|P&z3dOmS=;cGbVD|E)({FIC8~Dk~RHbDy4Ur-7BOZQ>DoXB2 zs}OrJ^GDw0qc@m2TQ--JcQ8#Q>5`Ww6q<LLL!YE<5U|X#i^H|BK8km9N5mBsJrgrk?>GMs|N488?3@8VoQj|pH# z^I5sX&fG;Bo(LD{2*f|&KJn27M8S$r>8L6x(hQl4u;acP3Q|;nNElb=mKEG+k%L^% zGRESs;Ce47ZYJDZTSLeKW;3z^m9g(EX&KzsS!!;(TU2c~Blj|~kH5{gB57`(mz*?L zkha;nvl}zqdp#eKjwnu$(ak=psrrHWbo@6{QHS^<9Q?qoA$u%FF#W{TU!5{J$bVZe zq7)hB&Edcg{h-~!1wn!~p#J z1QnI_WS;796913=WeurS1p?IXAi3R3vyz7lkpTc)w1MY5Z#$M0mP1e8nnS<-uyA7x zYkie;R4r3jR3d`(2X!@Lt8G$v#l+?{H^IGNGiUcIACX*5E=%KdsLu;!g}BVn4>8zTu7UP^{oy-Q~HG8>2g7`hO zkSA_WQ6lmjb3(wZCw}>%uLG5*EZJpC;Gi$r?#Yu2a4m*;g66i21?!13-%r+>BI*yP z&cO40pmcS_^|DPMRh2K!?L8&v>oY?+jt_1Nl>8_z243R?wd$OWPgpHAReC1CK@&-V zGP-+LrZvxm`Mx+j>p7)!3`VXY5XM>E#cds(CyUWh8NGw*vp5knH^3Rsh6prEd>}hg z)~Z(+Yi{%a<72?RM=%S&2$?WPaz8rq5Rlkh+6@6lBcTL`_zVf5J z0vtcN7#>txH(pJMPn3!1AZdEn#@AwX%u_BVW98R8MU8a0kF` zb>${|yUQgu4}4;$7C+KHU&Y`!>>?Z;zv^++)}CCRD;DJ((0{O((;^b5JO043GK#(gw zd2{L7<#98*StW2->TQd^e`4!n=lp}l!>n+3$D}B`qt+bPT|$@CF)Zf@?g* zdu3vdmCrkv-r9+Y$u~bXpgGIz@KH`>0)7guZ<6hz{ymo8D}xEYuj5WfPHi<230U7h zaGykz)}D|m?gTol=}V$Ki6!jmlFD*O7?ZGizA26Ezd#(%_l|kR;ntS(2rGE?^$x2Y z@5;uM*feGD}dWG)+XU!dmZ3I&k_{{}X}q-HfvF~WXLRTWgnSc#NLl@gt$ z@t$eZQFD9-0n!D>gz$PSDv)zS4{SXK6o6Y343a6ja@)mgGvkgweDI>|I2_FJimy+7 z<)f)}toaK9&L0x|O5!*&y1Bi^sL$`i78Ogq%~d31%G7sO7u1VSBw}3j*C#Y#;yeyr zpj|M4GTZ>jLY{m!)~en&oLFS7(JT&LMq*iH?dJ(ccr%&ZS4dZ1)r*ixpO#(O9&E~D zmX9@&A{KW!Me-Cu(M;$t%G_qBOO+~{&$#iB`VU~SLVMnua(Vnbht^hJC^og@peC4_ zr->V|%goWwZ6+m=^R#QydG}5e?W?l<#5O3Z9#ogUiYwh$_8aJiD3OLmW!1iN7u1z9 z5(oRXB5%&#>uLrlP!g%guX`WLSJ-?e3gcRH+~45ZeO!JhU%iy@=^GYPbxmN4y% z>p}x)GcTh&=G`yHSIf9X(y`8^$)!wIYd3?|IQ(7k3@{pMD z325Q>CaA{M(!yO0*^=||nXepPN++)Vdo@nOrP+yZ5%KY3-SKRwyDE_Bbrz94e!&P7 zQ*L#OxS8;u94?IhIyqtO$aCi8kfcrFl5$~Ere?t!|JmnzG>v73;p5Gn_euNALqjjF z4_8FZjPKj*Kq}JtFbC)a{%shrqReT#VhKFDJ_fDyaB45umH+Ho2&5Z%T<|inJSlO) zO&?>GpVQFmMifZ;49`Xmay~>OxAxwuMEhtW;uBhK?>Ye*r?0wl3#xB_Ma;y($(3%j zaAjKbP&^m+xJQ?98I~x~V=cd2K6_9tFFoYU)u$0vfYz~ADMDZ$ zI--oLadnk)l=9Q0&7w(paq*94d2;@|VF;_=Fx6dCSV0@EuKHk#qv8{@&iypV3p9KB zr;ctSm!oKQxLoe0rsZBAnf+3=ueS9kJF~{tlY+LL*8~JV1lNDMvcxpdF4Bbb%w~En z(t323(;lhG9U`P=_xA_L{tiC^+nG;|A_n&|Q+?({!ck$9Ud4vEd%enp7Fb z~~Q03HHg1;g$p{hdg} zr?2iK8*D~>JtdIW-aI!#*=C7xv;ZHREjdf^YN|v>`;>#qlDNf|8Hlfh+3BZX3uW4<>i9SJ= zns5qf`^Vw{iK?T`ol+%b;>tMS10cTd$&N2US@gyE#ROTx%mXqDuyt(wIo8Kw-he1g zoIfx#3g_%!EE3d8Fv)8EJD5y2UQPggp|<`=u%WfbT-jZ2+Z# zENXRp+a37{?{48KW1j$cAGn+ro2J*Ez{~kGJaV)(oZ4!dw;!c9nhZ8bxn%S7qirIV zvmr1O+)RLjvv4WC*ns06ZYez``}4pQSkm57)r zi1oyK)}Y>){usV3tU#Zt=wjki3~Th4(FA=6$23)gHeH}e4+il&nkF5Q#K>F$bjq9 zwN-_(S0x4h?%0OsEZJ4_-C+BFl81MAdG8T9ZGJ(Vj+nbGzn)EV5ODt^F77i{j!V$fxj z?cIay9ZSD~p=QECje6|QL1%)Vq58*DVB65B4@=qArY-R5(# ze`0ENQ#I7QsX`w|K5G4xW<(H*#VJo*9t1SDJmvBmZBnQAteQDkgNaU&|0eIa+M>LE zEI?}ALN9t;Eb>;nljFeSfa6-{f~icCc>#k=2uM@y(N`3ttDmC$6H$Ls%IBhAo|Bo6 zcyu=&Q?*fLIdCZ(JtoQ!)FeK++INVCP&{gbi3x9U7neJhrz~ogamG47;uYajCsbR_ ziNY(N_Ls3Hkh+1kOxWmp!i}yxO%77bIoxBr@F^c-hiBnLE=uR~>B$>nl_T&&OkwDL z`CfCEKI?8Dqa-EJ{v2!ZxFgD>O)n<0D`uT+wtejPj;i#is!#GYyvlHOU(C_Ao_7SE z@{nx@9x7)Xqr03;nB#|xb!3KXZU!&4cDZd3^$x2g(xdM?ceiHNO5bZ41a)4_pF{dH z=At7N_;ot&+oUaCc6c{NbP7jMaAAd^ls5;;yFwk zeaL`5xCZb|y|s=RJ##IPcYBxC%kSX2l3EgPli{bWDk_2ewi`I6sJ z(-vuh52jm@ecDs;f1+vao`{=ps@;Q1Xo$Gp($G`hL7GRVuu0{GR9be3Q*?kp;m3WK zpj0HAGr)UwBhYtPO;0?Dy-EKTKiB*ru7uHp?K>GXAEr;rI0iPn(S^?orqly~!m?rU zjTb)GyW7CLV`_Q5nrt4@9)4Qj>$Pr8^b)7p2ZFF&U2w0>4%-0-$~=CbLYqDM({~_8 z|KyaT^1Xsj{n>*)^Lg?jct2O_#05!pv}Ej8}Yi z?(tE>H)2Anw9Ruuf*yRj$#AtfLNgBMF0jK;3{x(5Ym*&izJ~|I_hNP6JCf2P5o?p_ z<(NNen_q^>2tz~RFs&}yB-^(-mOzEeAT#qjT=$$r<00OY!_GUbULsWb=5GT zhxo^|fBYH+%@DiG-;uQQ1c@_&d7gGZ1tsNa)e{v9Aj#V>akUq$L!uiP z*|@X0Pp7$mROUD}jH37xPP>24>IUH-JU&*@=nm~By^%`-x!FzYcVJgj;m!HJCkT0b zo=jCoJ#*nW=}GM!+0mcW)y%AnaIE#yWLKML2PWWvxIp_hx!uzt+jL|TDa3L)YxiI0 zJ8qKFC(&mewQTSoTndOb?uI4awXy4{C4R-B6BLT6|9P9DXB$OZ8V+N7A32)uy_ zmQP)bP(}R0jW0R}823d#<5HkyI%xJjh*ueda}zgkJR7kj+|dJRi)lGmS@`1*luPyK zckZHCo?|Y+3R^&LW3YvH7}Xvh)1-(?k_9Aa>95)`*Z?$XO=~m>sxMPJc!$*PmqzQP zeCmr0ARtrw3BhKV36h!}vwe!0;O4?_O=T1=#Hce5{s~3?V32h;kD}Nl5UE$JMaa$ z(m18i{%ME7epF`u{td4m`X-0vZs3S$7(Y@={9;S+CWm!A2RO@LZ0yH&iEj^-UqKno zX4~&zo;)QL!!jwK!m~@0Hqmc9Vj6N0a)St1uOq zy`z_6P83z$SUEwGI1N?B)jKUeBR_Mcjsba=x20K;teaTa$B&MjcpB+7HNVYx7q&Qs zJG=^ zAn+!H_qnMo9M^ulgJT)e6er`e^;bt1Coj%nOXH2p2_wnW{zT?9*`vCUIlEt8JLBL8 zN8gFa_vxS~Ej&%m_+%#KwZ}WA+`7!lg%RKXqx`KbRoDV;>RH4GPPEyJw+z&=3QIz+T3g{hihervA6D{ZT zJvIN{{Eeu8ainZy)K{xhnCN8hOcIC_=cS}WUtb5&vd_GRpc7*hDA{8oj?Q{?C9-3_ei3ODNmB<+m8B^)k#)My@CM8AQq2JDlI@LTL#=k7<)@yZ_$Ui`^$?Smk9|5*>B&sG@3X{=3H0U)=G=`3o{71qB zb;gu z2E1BP?C-EEfZgMqopRm!fxae~Ues2SCX;JJa%h`5Xd)E3n=^IUW0D?*QaG|%#-~A1 zWf}~g*x25`-NO`4``UG4zdL(SzfNFd0Alvu41jwld1kv=n}f-q@d!Kki?pU7`o1gI zl&th-BP%>GP@sMk+^9IH{CpLtnc>8ZVlcAe$1qr~biU*eXWhl~WgHjTrj3KocYOEO z4^Xa+MaYf)NGO8S1M|@Ls9Rm~@N$r?ibucZC#9Mw?J1D3gQ)Sj)OR~$00e7bH zv_?^=%d!uFt+wHOjx_M`;vg%yQJX`cqRBa@MsJSkh*wyH5;Id~Fv*M?P^e#w%^=au z@yT4(?!tDI*nYdzaVx1up;Dx>^8MPQ9&A~<(lLKDi}+?oGR^m6S#n8V#K^tzfya+M z+^v>@$jW_O+T}`fhpyYO1Fn@!x#Krkf2eLo8MJi(sQfY6|BMyc0Wz6c;IMmTr);I^ zp66ye7n$yuh}EvYF$U#P=JVWtnS|76S{WolCK5=KoEz{fm;Qod4JX0nby!s)HFpfx znM1=uZ(!0@y<`XcL{Liut-b^6B~hhiZr5B#WB$PO(dQ%h{XDC*w!`7fnlyMmX0M32 z^a!TrON3TPyM!=q?Cl6>)TAx3n1?VMpwowNQuSGC1iBzT#B zkW&;>FOVuF^HY|{>cXrGC`(FhSi4>VBSBbIJ}cU#;TzvWD~N8y{BUqDMrf%15lYjo zqx?kIVWFaAQU~vYgMM5rg$L6ZtAgj(PEhb&NxY6u?H;MK5i?II)LZGN9%qfET`HB7 zNjYU^NkUb|C1MJlJC(hA4JJ`AR%36;q>_(Q^Lpc#A`Q0u^fy%~d(W4*5ZtR=I0h;s z5sM#+D8`I=2cv3<`9otd1mn=3}-I^Oj9(-K;d^({_gW8TwVT|A!1rbeVh znRSL?#d{X2NZ(k-bk#hgC8EqXFm{HKV?i&UKd4{@(fbZYt6a<~r*50jU0?pbZrw{) zCw#Zse*=W&mZ*P+bX)Hy>EHik+?i*A4%YF=&kgX!JG6cmi;Ky$DjC;-O0AfvdSZ@q zneUy3BR+k|QoeMdn0=KK;ZQ@q7-Ih@y9uXss27Y(h~8y$&*MX834=r4u(Kw6fj&H9 z1-@^u=0XGgk*H2=&!kCr`OR`tP%Qz7kSP_tKFZkSuwYC~-r6kpUUR?e`ykPRb>`40 zAZzU-NQw{FMZ4QmtVx)GR_tS1dAqI4WPGD#5{zGHGB7Q<9@rqqXsJc^Bt z#P5k;>KWJk+tHq$K6*(29j5pX-I#xT6h!G#I8TN-RUX)`^A*wE0#X&uDz?uWE{UT~ zm!%wyCNV3xf=<*?hvDS047J4SK^iei_FvkGHJ%<&&E5q!R!8M>f1H-3suk=D5z9Vu zd<2n}(&UBS3KZ83=d1Xs(^4d=ms(I&5(Pf|?2$>Yon}`ote+!gACCY?oVr~@@JHAd zp7D+Cy<@FX!SA6OI|;nw_MYd-NcBvqD6W{F$C>X`!`?bFP`##n3$l-PCcn|GWD zJ0C8HFB__H!IijBmi*rjYwu?q&|snKA01m^z<0Y%F*X3p12IAW^&&+*GfnpJm*da4 zZjAQKnVB-2hm*k(_vCad8K+5)_mB1cTRr$-STKWO=>Wzlzm##tU&vBAaC-i=%Aw`{ zSuth4?^+e)%E^pRf3o2|SUxymO;`J55puFZ?jIRy@7@#8BdW@K5;!b+N7%o^XeF(rPizCIx~ zf9MP^6M}AUFhL4O3p(15cnZ+lOjH?70XJ`sY8=hGXQBcmWz5D3Vjb5H)o_K;Pq*wc z@p4G6s0k8c)F&AVp$ke2zPTTh1tK;bWw%LKQdiNPOyaeI<^N^UQRB%i9wqRcC(Dlu z8#q?tK1IQZYLaZjn_yX$M%cTh(^-Adw6u%GIlUmh-&0mtQL zvY)0=ET>E->p@vNmdOJ4%P;Q4gpNP)=TgO_TqSgNg6`7=WL;*|~}r zWAxSL&BkJNRzcw^+T&YwHy;6E4_G=|r=Wj=>qi^FH#2=t--p=X@AI9c#k8SC|MQxL-J;A(J=~eU_;y3-e94efZ}m#B!N@uL*sXy1-an$=7ez{C$U)+v^l9 zlgi{drf`bD!`>!Tm}j$sgv3{$&Z`!$0*a5Arnt}dDKTX*?B5Lof=*z&j* z2v9j}R>(rb#DOE$#izs(kG5dDX>k(O{WEDQu71F;cEF8^Af)H!1~dSv((Hf2!Jg(e za)PvGq+5BL9<-(@hCu(s)b6`R#yqEH4uK71_#=rngwd(R7TSbcH~qfFS6^OfS`vxK zk3I?iA4{`+^85Isn~rA~rQW4VXev`6b&YqKD?M$DE0~`x!`eyY5+fiZdgsD*|Sg!P6Z?N=w z_o#?L*5S8FIZ7rg(qSi4G&n4K@s5Z^Gh7JS2aL{4yzI$MP@rhUKVSBCrBIB^Dfo7g z)pu~c3Kj_yiD`S~ny6gvw3P5Fh|KgnE{3hkWE^WK{k@?W z9^X_P7b{sZP`W6+Mz^-3vs#=myD^{ICiW2-Kc1L*+``x53t;tr{=#`Fm`3-=N1cRo z`5Gkw*gM~kvkDUF-l0M#+5|JpIMH4{+eCPn6P@!ypu?us@1V~9vT7dZx=%)Hh++)= zj%Py1x_dDQHBdAh=}okp9mZ@^zENV1DnqV$Kj=--9A0_vC%dNbgGzr=Q{E)&?$iyI z7V$POI~?`JE&7`@ZfiOJ<1UTNrpEczu2Wh*$OlwubS zNU(|1oY2EMO|q8)mW%Sah^czdnN3fxe*HpwDxUuKn2ED>h{J3%aTw5XXO+&-{>Q)$ zl-fRdsl?@Jb}NV^MZ&cCL<0DCj#A*{H}~rG6ICk?#K8omH+r*+f!w6A^jFuwWiozX zreQJww4HP7^M^9@VCi40r1F0S(-xY!(k@^9=1!w%^Q$JJZ2r>-MsS&qZc;fZ?=vqA z;ngRf7YR;{+2=c?RtB7vLN5b119kpE5sbpf;og*aC%Tf&9`59f3#(vZpzeUkRXpE1 z5QKWj7b|1iZ-a5%@H8 z4P!IEvrjTdQuKP3QTx3Ey8074D6k7Sz}tW_J5tQYaOH?|4(!#9v5?|Rr)@I8-D0|J z{uQE?4i{MlTaCv0>m@evom`2SWt-?GIM@T1Xfs1ruN{X1#QOOUNd!*I=XtM+9%I}A zq}GYK9>p5Je+dX-{W^AtvrEr$#!t{ zteZjH8U?Sg)5M{1btM*+@O z*_0(v+)2w!Xpqg~1e3%ITXTcAGe?V;J?1NgotLe!KVh|61u`aL{u>JR{r8H0B7Pe8dFKfW z8!X>-gNdM@vltiRB2J?pibO)2cXUGiAHz-5exCO06IkvKtX1Hr(VPyhR>$kb&%z1w zY5fx}m80O6$)H>I>>{8I_04Txe&2LN(jWx+QUT7|!>JY-bcbO{BKOAU?4b1Oq~tp& zev|nTC7zMLN)|$k``SHGF_pr5u6=i+UrLzW6eR`Obq=^PxYW#DqZ=6-H*^7D2sFol zDFrW(k;e;4m0tpOi)rugOlkZUSpT*{1&Io47vzV0yDt^GwWCI1aCMo?4~t39rPY$^ zP1|d+9Bl$7!X=ctXqp~WVW}&hs43%LZw3^*7GEz%F$O7dVtq6Pig$~@)+aFW!x(%x z`A5%cXHyY5q)iXbPlP>*i*rc@J9Z{wq@82Uu0i3wk6BCNOpS*tb@0{3O!1>q8H!&8 zSkiNWz60qgfDDd8W<220Q)d9Wo-lW8c=p@w-wjjG-FtweAV%oZ9wdzy`;8>ref`ov z=|T0V>RJ;~vW~eTVVgTgJ=+@wFTT0o(XlnW_$45#%^funza8U!$-$=lI!=wWo-6AT zRbjI?q#iK~#Kf9v)FyO4&T*~;LMyFxv>C-2UKSjHA>TgXw67n!<*jPrcyywGmEh(` zqX-UJiSD0#F_HXE$2Ig7E_u35tO+C^BD-Ck0vQDg?L=JAkM1zzA~8%xp8G`DSnIj+ zEwMQq&DX DjC57$uOagZ#iw$bFH7n;jU|T_wPyUqbWzc}nEDeuki0W+0wE-$N>q&;UBn?FKOPY@Uj;x zVb1;B-cCK~*83g;#*jls`AeO;_@e6*Rcm%D;ZiVN(_4$oz0MLLYIZ8Q99t|V zk$a7O&#)#Q()tx6Yhg9UVNQ3~`5tAp;xsO=5aPRAk~2j?d%-+H(BtaR)C~AAE*^(p z!6y3A9kg(oc5%)X8jjm{Ht8qc*?@|}I+@@-9CT(sBlnAvIge3L{I#!#N#pXLZ>>*v zbDg80Zav`wNK)IR+<}28^RHtloxmc%AKGcqnP|3^o1muTxPhBoHD9ru1R=GwRJ*-gEKtFCKjs|p7K`&y9Lysyg66bwdv3S zF3cZr;VGI$ue7-nCt>&q@_u#(e_6X@8_<))8Kb^u&Mlk{Y^bxhi}{~39;mAgi^-~9 z4%S|L(}uegC&ngFwXO8sM3xzKm&B_+pFQz3V~1Q#GdGYVW$nEENYo5$;_WbnUK@q2 zTF0jc-_IVCIg6=}ZtTnN_|IqMkmWek+hST5oA65O<0E^10_zQLbxU1VfB}%+MBx3mfqW?W@=32>kK8nC)>QUakBO0 ziDUNYBSq=C4D`i>@R;1G-XS#tO|G_?xG0W)oLV{FtNE!3GdrON;`wZgYs0bPnP%i* zNf?%%52O$R(^qGxu!>q!6R{*`{;_&Z6EEctH^udKr?5YEzj#?1vJ@(Je9^uWfE>gf z@NDq@q059`Xz3p?+@PiU%iMJ+zJJ2&LkqDq=jKuv)aUn3A{N;N4$W?PlziBFnW+>S z6^rfe3Q5bB9G@^++AebCS!b-yjb7ZS8Kcw!ec%RylG~mhndCKhlUGSxYsm;m(xN&H z@ArO- zbHf@)UL8Ng0pE}OZD#woxMe)8slxozrf>2zrFJD5K60``ck{XS`b$HlS8 zeBm0l^{eP$#$IHw8$GP4+8o$xIx03@TV1I29DnGl8=S6pSiL+EIg=XN36xB`nd9xg zCKt48qc3#Y`2i*EPU_7cg+vXS6qK1<@z6p9JRG|154VMHP6Cb9YQQ7yfyfY}WydKKw z6bZxzCWK95qB9_z+SUJ`kXp5J*L)5xW6S}iB{8q%kczx<>M%1l2*S&}zQ1a%`3&js za);tOGV`?}jA3|;cVr#n)R>yANe9%TXO?p&L zX)m<$=|3OX-j9?zKnfLS6R3!ekChiI8fg*K2e!xYSYP~;=6>9A#=&6q6d4d5wx;>> z@6rIxmH7U4Efzs`6?I4H6W-B}m?UMlK}^wccbK1+^fp>eK-Qf>S^4%4nwo16FM*cW zg%tj367(?ou>vX{uVtQ-BDES9)KK#K$A|(Gr}4YWFzVQR=K){aiQ{$eV+ymUJTnXw zX;DQ;sn4Os*+kiIawCa6!i72kKaWcgv8g&|%VWhbZe+8dRTlo%&4y9LnP6M*$Z8fX zYlRm|sB)<3ABRvvzQkuWJAY35OB0tAvfQWD#v6unLoyqT;cqZ)k14gF{sX0=s~*bl zBdMxBJTCFhC$42WMh+8I_YX)~++J&bFeCrady5;v+GDi6ZU{v2&57&$39#%fK>qqU zOWOm(i+>{z0W8_Et)`!h7N1SaGGef9{fA1I`{>1)Uzhw9-|ErycPO23i2i;kZa&?3 zwWDv0e_sQjVFK zy*n_akpvjbkB+sl+WYETKo5vFv-dE{j}~;Jos3I)AZ;S)Vb)~w2%OIUsr!*Cbc78doEvBo5q%Y?$6*`4r5yU|n> z==``z-EG6fGyZ}JBpi^Kk^=u{XG|13DhurdB5zCni_Xz?ST z<)3Pk9|uT*^aG@w<^_%DxjCaQjEZkJp5<{>zO$hP1=un`SiDVArmv77)Go*2vfW4w zmS4gIEv%k~MA(cXZSkrEeERK%Q>q?KspUdS&VM|^739RMxPc*jIk=R>4L0ECscF?@ zwa`RkG*1Fno4V&Rw(!-PC&i6D=;QJ(nTDIYTDmL6kEt_(e~fGs{HLQYef|JOMkDrr z9#+#ZExYC_lzY$FID`Z9@ffZURAl4706}0Q*^KL-)dPrL0j(_>rA{kS8!Xd6_~^%9y<3Yz?H#6dj)m3K~E89 zQ!WF=@7zlco~IANqrwzO);XIZt$33c`R7_pcpeN^a^Newd@|=(%Ap6=kJa^CKn2TZ z_bWhL0!)qxaLdGg0u{*dd$ST;LbT5Y|CH;-uZjsYRnOg(vbjoKZaU~YXip5@`Wj!) z0oJq8oG5E?q;;GMl-8(DO!4SqOM8_`&R~Vy6~A6;ET{7mVeeQ(+C)ddm1s2(920Ws zb(?gnlxUqSt+Q@|oxn0LADENSjb}N>Ql9t6T!ne=VG}e2tz4XC&&>C2L9+oN+1yto zelnZ9Ve}(KcsDnWrk^>?02jPN+ImQJ-wDFSsfe(WRv#-xN{5HLjm&K|Sat)@h5J3RlVI*n@cJY2@TJdnMY?;=KURIJ17V z09q(Ll4{vQtK%3^&B%eqQ49A@Q;342YJy{{QhxC!P*q@U z+lP$zH>&pD#L|SWG~A0M>W+=jld}?2Qu9|u&-XThvW6$8?Pk|wnuIgLUeXWZe+#Df zP4F}^5RbfSgJ{s?aXRdl*&)u|Mg!PbfD~M1pS2H5lQ_99jv>pjr??P;+h4^es`lkq zqs(+o!ZDO9*JAVfHZQyx$_zOfWGPk~z;m_%ZjXGKxl79CE_?VQO{Ods7(P7>V^At- zv#e&Tav)H%CSxstSGin}1*|ySen+buFMRJNM4PR&P^NP6iFZg1Z&)gClkH91&DI$d z^atRZrs|!-I7R+s@%(c;dhGOpP*2=!8aOJL?LkldV|OwON&LZrxtO=mEO8}%BW%Wy zMbu5~0-vN8H}vt6d0XqA*LI;Oml!WALmoCQL%0pk7$qXTe3SACrN2MH4VfxBpo8+8 zvBWbL_=iDpyg`FoZ&IDQ+;j7Qq@SG!Azt!f4Am2b-D?{-$X8%pK(sXCCiW@jLb>53 z7XSV>*$b+>b?>v2bYdi>IP!qZS|YvV%xX3a0J)Z5Yam6`Dyd4|1Uc=kqSpJTTS+BU zC5#&QC&@Eojl!yOu@_dJ=y5#W_F4}A?tc|eJLmt!-Q-q?qqGj8cz*xtn2t_B9hGeI zs5f$$7s2Jl~rw#^wsY^~^ zlLm;6Sb^RSswPW)+fRIAXcvnNGr>-$!}bsbzmTW^9$XkoScmIJ9+U^IzPiz@G!Y1P zfQzBLPC+G1G1h`PsCb(WPeoeb^SYZSMui%>W0DLzrn=xnN;SEl8~pIaHlmsKaPmjK zc)0sp&pEY@Vy2FY;gZ&ev1iefxMm(HW5UfHI7{9Cf6Pr< zNX;3moEn8AFt>Fh6R_dJoJDKU;k(*v0(ssZ#yO`NOA7Bm|8UPJ=UBKEb1Fve~T)?&k0p1zE5$bS)7*_V=PNJf7Fs0f~3o^#sP;0`cUrEwk5F0G1|7r*@SXCyX^@ndmp9iE1YMA zA;zW%nzJz;h8%7x@CW|L{I5y#Tx8~WQq~zB6FHk5fl(zdHvV64krqpvIJyCTuNrq89#OVDR_0G<}}&smntkgYDGi9BY(WrTmS11Xr7;3WH%bZn8dOeg}v zrJm}!DT+pS>0YgNlkM{R*nWgyIV>RaQlB2{!d#9aXy7Y`WLvYO7@X_8*=Xc{)OR8pq+LZ&;SQe@pGslrPJ z)vi8!BKT)8IaSt^Mj%Ijc4Wmv?;PmrPgt!NspL%b{=9S-jv}7WnExOFlqaYO=V3AO zN|TUqVm)}pq2Y!^#WVVR$8)q3E_Nm>+4v~OnSuNsHF10|-PA`A+Qb_0>Oci$Y|8Ln za3B3|?vX80x9LFL0ZqYyIYo^e5z9zvS2x|70xSm@=N6#I^;wlt|HPTGE)K>+3pKkc zKDsttehMz@Zj^9{$Hy|%!q45&Oz$}QiU5KpvQLJT%BXHxHMlcYjJz<6#J1*{Yf9`` z?Ja}Po^Y)nn5|O=_R!=-y>*l#6oySUoGM2lhp}{kq)na>5>uY&7E$ch{=5TD;zqM&JiN?p z7Al;A`L9Tk^BC|$iGY_l0apWI-c;E%a;FRTGDA4M2}c01OyKh@ ztEk8(sUq+4C$whOQ$)ywDd3`KQZ#ZJR07kM%$7;I5!r^<_y>a28TL~5yYyI7M7e5% zrFTqwe|<{gAh4X`bpgh4zb90&fv4La5^Ew}vMIQgdjcZE%;YODu?c22i~n-(xZ1~8 zO)@WcwLBzoX*sG&0By5kI9ovb4rMK7HzV^vpd7|sOFn(KaDc3}YAK6g&m=nzVf&_P zk;09+Z`Z&LMkYL%hxEN132NhKO%O&5Dhuk0yM}j>fI$*QWoIt+H{u}c3VHsZ3eBJ3 z8s@o(mI?XO4+-dm@vI_$V_#%ueLz$;6I*0x>YG7egWIx>{!}uvPa=HBvh_zLeH5PX z>Iy)#y7vI=pdWEMTDi)j*tq#9U_uP>k#<4Kp0(InH^*P$h#F2ymbr>Dt&6wmm#l0& zH!;;eoDl+GFwaDXQx>(O9+9a@^1pLQckj!^P(=NM%YD>6od`iFCZ=dYOUh{vQcklH zsxoQwB!~}R)Vd4_;%`3+6h+k0XIU9sq+=)igEWix73J|$g2ykx+Sc_&q0&SR098P$ zzwJ33QI!PY;hBE_g8>;O;rPxXs~_^Ak5hcga{L=!e}yfJUj_%{t6N5ize78{lC)&J2ra&qEIt*&qHZgVhOExtXaLEeCQE z1GAH$uiJ7r3Y2R?GQER(a%4^2LxPgp`=FhlSeYQd_uW83e?qm4ax&?n??nM~=bVmV z77(JITylKh7a zeG94QMOc~a62LBY8Yl?WIE3U$-X%sYxteijoYw}3Ai6$|i2JqvZ4$m;J(0ooifh3a zxN?WNqkib>y`KPk2UU5QEW7(?8?}fbUyO1uKM_f=BCVthb}mH+n?;P z8b$lSWSV&kabgRH`(VGYbp=N8>9JchKp=UANvyT~k<@m-fCUS^&D!%6rs4+`S|Ro4 z@*lb=peoWf`eb|_I6h^yLK}8~vC&SHLLEz(k=Gw(_sS;8zy_a?T6a=;nNa-g7Dcp8 zUN5_OWfHeb%~tWBp_qKqU}q|(=Gj$XXO`=pBq{|Hjn5~l@mjqz zI^i6xnLXXnsuHnA;w_CqJ2L4xM@=#&8HhWZz}hXKee@7*ahAV<^&=%+aMe8zzl)Fd zaEOWO+y@{ChtpP8nWzCfY(jdx@%7j=AZj+@ zGR9I4JSc^@nFhoK!nZx-tkH&8+<5ThQM>n!$HnV7dt6n~>Y9wuIO4$kJ^dbHjNfT= zVt*&{yH2M%8L&9^RcKfzNwJFGr;X`5uqKmK#LLW#$gHq*qDp3IMnlG|*(+H0$X;R?&v2ogD=`*&vY(5ub z0iF6KOgi@+R$q5lI_9>`r$dl*Zi3{Qly~I{uhRH*$|mH)Wy=3qzDVvkdr=Fn<)_+4 zjjX@9T8H260fZdiD20;R;z3_it&(=*IK;Dz4t1=g@DwadF{}v|qYtb19ZH`xiGqpF zZ&@Fjg?dRj)W&_%3QWPhs;_k0;oQ}1>GlsB^r2jlAMxz&5;T77X;!YF zs{^BJ^PWFRdX{yP+e~R9Y-O%OU!`1l=el{#JFfc1?#jAEEyM4WgPpq*2@<9@cFR+s zF!#0+iPq-6k1?%;ba@!tfzjUbs{mI#jnH_*xTKFygUGUT@n(#?bCrca>>)f??~?c%Cx6sq{O@PUpiU&6Ig$1S97Z$ipflZ#+>we05Lsd#~cXuApjwRf4dl!zv&r?JcSASU~ z>>YuOeaKfAw0*W~*r5CaNV)jH1W~G4=Kr9>SslWt&it8{>=V%Z9Z%|StFms&3sjw9_A&C4DBRH^p2~!_1=|WDM11s2kN4qmQ3h4 zFD69?O@_A8#Nn6)PB?j}I$Fy&cnK)V;|G?rMpRlvD!AdT7?K@2K>V%KYJopixa+Jh zyyvEbhV%=$mGI@Y&VY*aN#Z=cre3$V6c(|a(9`yg;0zgn3RmD?6kP2A^_R^ zi^oJr*V5;HnPW*S8Q7|((WyjRl&vcW_dLC85`VC|O2JQ!O@-H8=a4s{v zZRO9m$>{kBF88CF3P)R}I)FHVIFE`HrjU!`zi^ z$$G@h)WFnaAHt~jcRo5I6QGT^F>J{R$*p8i82Fa%T=0j;+Tx_KS5QsxseCiI1rmu3L88ri=(dJVjU!Zv7uR0}cp zc_eYr6+29Rqx#dE2q%NJfz``equ6)CN+-L=Vgb|oRrR?Le``#p8?GfPHBlM6y)l=J zDcn*;P@s+h#>Ou49AKWKZ0sy-&=e_@A8VG4)g~swH3D%q34*Wsa}E zqgA0VvbHHc4M`W+!0VJLz_d4vDt<9r92v>G?wm&!;p}aeb8EUS`zo93VGs(^#|>at z#I#1|9L<@f6JQY*RP!HJ>H80mLp${qE2AndDHp8`lo04L@ z3-^-Fayve&=9NAd`e_zEPpijMmZ!z#`YG@D+I=IgC9SG~=nq_7#;`WNH{56*mj@Q} zX5%67iA|WRse@w&sYZU$QVHZ(`%!PXJZef?r4?OHyTN=I?ko>Q5>*Xw7o#3Iw4NIo zoP74EfHQymuVZwq{o}uz_Jc_gCYT4a_iKVoHXrVT0nldcCIF`5q9asRi*JK2Al1GP zeMi++PIskO?qzNsy%#iMe3M}B|c z>mqlv=$+(z;3K%Y=7Ia(lf|M*1OPRv5oGxnHxmFgm?n z;^i9XZKo);PVkqFl8XUtGVpU(aH@;t7iUlrH5rln5J6|34$2q-0$(T=Vs%c6bI;YArzNr0X0><+5=B>fBlnH79a@l%$IeDX>11hUS(^0%foZmv; zB%gZvJ3c50;}vHE7L;o;7Lq;pe{kg$*wGU~&E=vnKWySSk#1gpkX6eh&2wrb-C={3 zrZZqnK$c-K4G74!3ykosoa(3AzPhuD4qi-Uokxu3&Tg3iZY9eWn^Rs?mu{RO)sthQ zAYpW~_-0lN%K`EIgw;v_2$nb7&^YI|t;_;Roe%r>rkO-lYuz3XBg$}8+$W=4jhU$| zpOQrOV?5>|eN+2V&rd7#%)xUm^%1Y zUdn9I=KZS1iKxe;JT7+;Bc5&2Pu%u-umW!}XBQYmvM)Q^Eb{rj3=$0lVj~Z;w=_NI zS3qk&O;;0Snteb z0^v-UA@D?!z1u7t{g_mu9Rf+j;t`z+Rj@; z)}>E)&l}V*e0Ozsxf>^IpKF~GJzN=Blw<1EptUdMwp|ZCKj+wwX^Htu^124o`f<5q zBAa412wBS?J52xh3K!eP$3F%u(3rasDvJ0%f}|ABA>?l*iCo!26gok z#6W~JF8sYio&TY26OT6!s>Z3Ggx_`%f@Z425kPxZJ)&H)D;zf$+%>d7icxo{)E_(w z4m}RdCg1w>eFwj2xa%Tf$@X=o@3HjvM-6_VxnsP*3{%bpKse_uxdSS1}QS=S+kSi5+MF;AgL+^?yF+X`Z;qqQS`ZttXyR^f5{vu zqSPZ|G>$atQ1-nTM8rYuE~P@sGT5DU0>vIRHX$6Y{lrtGYp?w)QaSfc5wag~L?g+o z{mY-Yaz9uap)evDtYZF%_j&*%eCS?PPR1M{XBpPt#y41{tK3g@Vg6_cuvaV%6LZTQ zGa>SJ`4nYi3X+CE2~(7P8KBoq;oOcoIl%7jr%NPOfyXgDI1wuyQ`&b-ePDQX@mN0s ziQW7(mcxV;!%0`C0*l>SPwtf4ZGK9DL1CBE`?QrpMway2w> zLPFB;7q!!TR`j%9WfIfe#Cz;wZ0tbtFXnzmL8)1q-$@8?=4XTdTG+~i_Qo?Xe!LDc z+f1~K-Kzva@MX4rrE$t^dE;LK)OY;DuEw(!^9v?|aZ#?qj_se|8f5Pl?-FwTQ$}E^ zyi7Jum7Hc{afoMDWya|!lTaCiQ8@LzE&&wtL#$nav@}_Hm+@;{E(^uI6hC-46Gl1! zYHXaoO>T#dB|Lyu6bGv&24McJ#$$;%M(O+ss(osyC-2p_-9@vezr=AcFCFn;?_X*{is|leOi7z<+hlvSF{1JoEmhIAM@D7W{-*!yOuu(; zhnaq#kB2e&n(g}!F)xDYp^&X>9yCfCLOXH)-I1`{yuD^@*G}57{<$|7F}pR@u$2ch zo<}z%o$`&l`f{awLh8+l2$xrx+*yR{oK#m66~^SAx^vBqbeRjnJV$o*V>NuwXHk;O zWrB&HUU6lkB7f-;4N^O#?CP(@?bP@kHfY38$9iOGu(@f&E}G8mlR*e{ zKfMtYR!@-k&jpXD&W0QCaX${KldTGpyKoHA}4pX z!bHK(jW-cZSSC+3?QH#vyl{Fyd>0>&s!YCDD4pCBb_G}H|1h{vRDD6mBED2B?_r=-c5NE*bEEF&jXK=i-(!^^Pm&`CoOIDVZbw6T9w!{XaQ`jR1bPlLRs@mLsNnD0szWoLfq-vR+}@f z*e7T6irvvzI49LKIriSgL{JXqmGHF7K(Oy+9-aUP^MTqcuxD8>@+JE-)9K!L;@6Cc zJs?qG`e-m&3^>NMTY)=J=j%K)Ip)KZkvGh#koureehVPB@FmSo{@ z3_vF%nzXpoSybjyhn`suh`2ndzaTREEh-gKvqreZzoc`@4j2=S^1`~{F%FA3Z|KFF zhZPU<#Ie`N+WF>MxYnqjitgQiF!S&qc@zWwp^l2)*qR$2A${X(^??YOvZolgIBDut zsYsySm|q|WYGuRn|FfCP_>ZowR>`#l-x<)4HONK?<<4fweI&^j`Nrc! zb*=bLC;H56P=`7wJZ)`Ox0>nrX_cVB`gE?+GBMtC%M{iT%Z$N-_>l8JYR2aTQq1J4 zRIC(T}$j@WrEwajne^-ahl~MAZX6DAqy;q z4HG-lZJ#!#UCY3SXRPO+|Lr@Pqn$0-nE;-wD5kV7eP;*Gw5@rNO7o_DZv%NSiXIdr&dL&fic$$txW|%tB z;x05?tyTVn)slPVXwvVQYAo(Ftb~jLDl>-(V|c;ZbT_OlA5vG|$B{<@=+~fW#(NpN zws%xl%UJTzTqy#J-wYSS@VG;-ZaeY^=)PbM)~+U<_H`O3{lWQ<&oRj!vQzzRN6}zX_yysk^iw`YaWx0JTkOmo2DL-eP{!PNL`X%z zyuV@j08))?)J3X*eq+Y7**(TaTVnc65?~h?55DpC=ykGsJmX&)1Ml z-`jYe5eo_%&mu`O{6p*X(6(r_cLGKB1a-n!`jxqBB>kC)-GgxGfXWIx!)DI6_7}i> zpPQd-7KRcs_4ze;7Zo~to#Q)W^K&e_Nr1j%>Rn!?Vxm}U20zCshPpe}CV+E}=V0|S zt6Ygp>pD2C`7}C*blcK@e*MkI;f9p?V|2)zCZ6;qI{GQMX6XF|!N)E>3X3J)we{*d z9<~_SUyVF|{v&Im1l~!_@MWTHKKMUnG!O+Dty)U?xipAw(;_A?mzL}>DGvzauLYKK~Y|lxHOk(qmhLk_MIlmuMgXYiJ;w$uYlS(Is&RGT-dAC z*k9;TnTaagW1L$CyRU6bdygqwu|Z(scUw%|wMfMwl7Y$N)PDzz-Mt<59Q_GY_yVa;I9vohj-5{KtDEy8rx8p6MCOx-dtVD*2Wa4Ev8{x|vH3pf+ zg3a+2s^KGa*1b4@xH z<|k$e{p$KeceLQBy5C|y^l(09ODnZmw*9xf+MZile4h1~z=Tw}J<&&wkFNMTK&^rF zxAz-|!XWgzjl5KAlH1ajoQa&a5hu*VFbjlQ9^p9 zN4ld0yv$5X>p2?+b=%wI1qikPs3B-J%2C7t>+6iT&4t$fx*P4*;a<| zG-UK10lmV8pTJI9E5Yf(!Sh>5!aQ#$BbO{ThzBvl{A?5 z&G?ljYIs9JvYt3O@5oAji&|qMUo{xuG6*~-c{cVYgLTZb&^Ip(Od4dYr&HmlpO2?7 z$2xu{ggWPKIdfMVtdic0`|xFmTl4PMdz|#M=;Jrvok+-w0Ywh^XKq%{p;GPMVO7uV zDN{Zn^;B@TV{YZCY#BC}%m0Hxih!kcb*k76Irn#xki4+SNthFRwl^=U#1O^mYF5?Dw9l8Nx*t59?KHgNLO}?!flmj)6tjp@zMcyt$q=qS-wsxv+vm2u@W;AEQqNZ$PL$^ zmm(bdu23{yqs~XC%Uov=6{~aF<}N(!i0$}H@%%MeH!&H#et!kk3e2O@>yOzzVM8n;-koWzReHT6)5+!c zq|+L2oYj`C%`-nJ&q_e?V>TPpd;)8kQw+_M#O$z^gAs)fBa^D2Vc3nDUjMgKS)6;k zO03UDg1YF3IKVrSs~;lC%0iFun+*A(NaFFJ_lK~yQNXQkEwcfezvD2OJjDuup4+yx z>4>DW&&jG9^9htye|rMf@LK09YUY_H!?O4|(Up0Yjtq2MNtw#d3m7qajE;x?e0Gg1 z5JF?V`VJ-a(?k}p*SBv(PuVFnaewWs$l~W}dqcnz#=y76O8E{OhDb?c0*6F-fC_%Upa8CER5_avL^aalIMj^(GXvZ892p4ge6<@}A4 z@j=dPPCP)bSo4nYUTrS%5^?2u;y|_f29CyNXZx4XG!!vK3NbuafRv?2mPi>9&Z4CAKGqz$RGgcjGJO>+aA81cte&Nu##d2 zV%lVwX(9&@@2NVPr+-X>qAPqdPt-C+jP$2^$?xDAif&)U)yyKlJ(uNy61p8YHF1Zd zQ^Ea4girR#hzuHgc;7^geE=mebIO0cz=p|;STxYzrWqzcWM)s})}WQ(UAdwh>w`R{ z^*B+>?&&4U7;cxNHNQehX-STpJ z%}G9PQxghekl37*nzyyuIc$8#1T0q4q|D7djH~J zNZ#x2X_Pe~B)4NQb3Xx=)%JJ9Ti3gV+M#1BOWs2YkdcFw@+V8 zO?3gbYpk+v7{m>M=RfW+G!4fB6B66K+t@HpkE?F~LD*V~SrIT`LD}Pnr)iBV_qAqY zX}%?|RuY5PK(LROdmA#x?CjCHF`DL`Z7i%&A`2`VB%Z!oct^CgOIUuH2es=yY%kb$ zva}o-e5;IPK+k;~j({PQyThFWE=+wRUm?_ch--}YuxXC-(oV$9e5?EkuD?bN$Wct{ zU05|Xe?*kG7wsj1d3k2hNZ#Vl{Vb!IG4K~2842ymj{i7K`G0(!39_v?vTP@GE(QpJ znE%8omPWX8f+?qi*N8lgA2G`M38eKCRZHQOrwK@YcU?CeUhN|1hhHvZw;f=h&&h~NY8$&v&M&Nx zovDzZpMH4LA_d1}xgGCnm5J_?*_+~NvMz43hG6k-up#D$*Gv?Gi#2~^n-*xsETJH$ zh5YHMT2Q42CC(;W2yd)U7|qunhq=1FGF|~eg-(4(`Bx_Liu~GxX|8IVuue)R^zitS zKR*DWXPnWzJ~j#O;9BAoW%EbQjRrqX)`NnH6S6yYUTP`ZT##Q*ec;%!h<>hu__43$ zxBKkDv=dc{n{-B|MOg4ri4*YUgokGtcaoKt*+c#%L`0!Na-#_ZAozV`2gL_EEWYlKY> zg;5!#SvW9-EZ+=tl95TCMmU!+GKP?Dz!cXs6lv3dH9ryc6U2fOUx~w%vB6CdW@ZW5 zZ0M;uR@Q!0QkuZMrv!?6DJa%hf@Uj%UVQ7D7C7v>-$e>^}_wPuKo(2j~g<}@DL{xdb zysg_s5q42IRKb?R6;#tHCS@|iOqnu1y(S2l_t=oXD1L|zYN)JD^|l7U-th0-&g`PH ziQdx>6fEkgk$`MZS7Wre$jO(Fp5fmhWIt>(UU7AFTIFrBm2higl&j`>6UZx^H%De{ ztO{p~;`+W6cNk|zzAjGDIZznezTO^T-R&vS(yX*i$sRtESE$bo&1+muOhp2`*t7Siz*<~F zTy>WN{v?4pzK@?U`kT_Nf8OpM!U$zwp4kaNP&ao)xo0UZ`Fu(B!UjXpjOgV*2O3G{ z>pO1~O$Vl24VVIxeMoYiIPGk#HU%9jJSo58$zoKj1Bn-_ev(&bl31GpKG*@;br;E&M6*e4?Rgc)FAnu!T85*hJ-)V#k z3xoB@*;lM^GkHPxZY(ni7oM(A6Rp~eJK9jWu*Ok_@vq%IdTm4Z|CVrK`cSp0Azgh3 zRjHYf6}Yk-+E_TKCV;gd@@2L81QmRxT z)8o-N&{&?!)K$Vpx7<)QQrt}iwR!&`B5$DLWikRKa)8ktUJ>=#E)C<$Wm{12LajpE*V6x3h(Zk^_!hjyAoLR>`g zTK!s${IFpZZPlT6i@R$#MD+*jz_zwG!@a}IE#86km8Qs;9H!Z0T1PzjA{c>5l(s{E zM;c1Vasy6Qfc!oS&!2eOJp%obMVF7fPr0?E2UEDGt0 ztQE)>3Fes){jn7~B$emj;k^kLRZCyQy2ThPG$N zGPBIodbIKLub5+tr{5#GtPp33`+Cq#u3bWrE)sr7lf#uOh;iawQadlshJXm{#=hxB zf8AS!S5$Y8s-|#AT$c?_0F+!gJ9_mZN!%`|j268&u4Hlf2$**d{P;%)7L=-s_{}k0 zYs;77V{)xbq+!wkT$gu zT$6VnM^P9e|BG*xt&haZVzt;2~%rd0bFb(3U$7l^aSVy?S|A=Ws1?>P2WZi|MAVzU9Z zxb;&S>skC*CM=vRluGgHBMP3$zn}uHqMqoFFCqAAxcuLcQajvt)kry_Kr@Fac^v{! zADx#*G>4lXAvqD>y-NhC_BP%{MLkU<$_(Vq=Y8+Uj((mrJHf8U>@`zTqhpjD!Dubh zX8^|2al2rEdESO+%FKR9E2^zLKI~s2rt_ioR7xhInyb~||1|4_%pX;_dNMSxc>I>P zVX8$hZA@!K;MNTk&@(LigFKD_^7RmM1xs-Q)!*2jL#|}Lna6EPGDIH?hc!vH?i@n1 z8xE(VXN^L6QO-;-X|C@#4~L8)i3gla2N5za)lCHmlzQ@XRE?sxrk<7nf|< zZJHR*2kD8g2E0a9U)t6zGv9K`@~53FGqHZns|#^5C9_5n!sFti_=g_&Hu#u4+>dXL za2f_|6B$!l+K1tZa4iNvcY%jM+5((7(;Qw{C*)M?y!g|7y+9j?Vqse0P{n`yE7i2e zjVlFpVtJJwl;SJA1`OLO8#BI$!M65g1UL%;Gzs zDx!+uCg=4|4^dvW4~KcVBUhN`DdJHDRE^yxj?d&@Ls2oo2GO>)O$iXsr)_Cq)9(e&3vDV`vS#=mQCyZl8O zI&tmBlp8{1sx}b(s9T=_P?*L=y<2-OGZD5ied`oGCW6)RUmhWYKhOdoZVdMJ4z3NH zH~D5p!|kn`+7`!d2|7ER*vRKLcfDjCH6~k#TP)^uj6vuR1FD6QdkQEOG`p_8^pmlJ z(M5M$7R)#Tje|&$=0_~JQ#z-iHxxb_TOyT+MeP8Fy@NXYIr?V!;3st6&NKiBxop>@ zGMls#n7o)!3mEJ9Q#Q_r>1Betw+`qXR_j-`%F8TX99PcqKFLNL=@?GD)sMnkA2pm(HTd`_aOP%*Jx#3Xo$lL-c^T@V!**3TM%!R&2|~?Yj@moX zO*Xoe3{TEv!WI@7$oesrfqx|BD^uEo@9 zxlJrhVBM#iK4|M*5CzN)&C9fq{F|u~+q^CEHZDX1t0*gx_#UmFiX@0?t2g2aslK>I z&tLL?53avNNm?D#m6xyxSemmwL!SN0cA!p%z8IO~lZ| zOv?LXc=ESPeA8D!u^3#(E7HxV}TKFgb2z>~0z>Fsmf_pI1Bk0u#OeU6ry zDv%f14|NnqV5K_kl?icy4bDBTbC_fJgy zov9FK1h$(+Q1xba^tZP3o}u#&SY+DxM0fS9j5y!f(h)e6w3q|OJD>*r+Tdx%OM(jT zzD-p}RbcF`+DfAliH_={QYW3h^dfbEn?rO*uEA1P*3H6~G4wE~qRzQP{RyvCEFx>p z+V~jNpelC`4p`*Z?5HIv$vli?HgVa3;GEPai4|7M`G@M);%FPqO}3etX`j!P3qRT< zr@Lp}Pi|W!Z_J0EgmT*?ASA2u;rRl9z-$NK@!b7vSA7(*rv|_(%l&7@$!2)RQyq-= z;l!iF7udUA)+FaFJcVJ+nA845)lPS+Qxwc3+*KG(R+RB3e-hV&23`-oB>n~x&m(1V z$!N)Ttl&@buq-dqVIAH5E26GPv_a84tCo^MK+!`x{ZRblmry7~rJz*2SFNXe@P;bg zZt(Umb{*QRS!)H#HQL{+4B&%DR*9i4GBGr9sUK!28i%jWVmP5+9}WiJ^zz2ml9JaS zCDMe~(yqp+#G$r7Q@d9%eT^Y+A%@5%%eXgBs>ADUxx)I?9McEX-Ry#o9_q%r+?>kS z40?BXAg`E`6`P9v#MK4`)j(5&ow5I9mU1pH>2SKgNMX}4$Dn*O?)m{v-8DFnn1wTK z9t;^Ai0x0`k!>v@h^2{b=Tz#`mPIPvCZkw5_4D6=h=MyYt3{u@{We~rAurke#6@;} z~mXPC15p13{?nV5k0^l^brKUUKN0&G4e5(O;;(|7s_ zr=KqQu$6gE0VFRO*#HIvKeDw5s$0zeBwaFB*o?6e&%{0e38+K>`B!18g_L`~QeGDc zZ=Bmr+HKJy7l=HwwUaSiO{Ll+AmYS_E!l zYa^l;z9*eeiho2DJO+>lhENBGMP40Xn}UA-XLl$5d}H=(@HLS};wBkFD)f-t`0-nt zn>U{WEAV^0+wk@HLxd3AoGBG(S0AUm^lOkM2y?T^4waGR1c7}=SNik%WNhNrcMU|X zgu<`M;S9uRty&mn8B#?LWsJq?lg17E6Ggj@MbwPv{Uoyjskdwou};(n%>oCRPY!ue z9GOi=LXKh@L#k_bW7zn`u%Au#{2f%k_r%lu0MOEymuvFU1aL52NX!sVsii*sW&GED z+I?bc3=m_e`A`Y}=yCR_TAf*mnlvm<|4k@{4Lw&C3hFfnh>`nm_H*UK%-$2j(&V0h zVlGvFWV_zq93gei5t5m-3QL(xP^nyY{@+t_inbZKCDKm=hw!W7JBS}|(8R!gM>>yU zH4BnY`63$JfYLFfVv1HjzWX<@{;XO}?i24+B@rBmHOVwU@mmd9E60=j7z@UVRe3-n z5(~e_X73$KzlPyw(q{7}M-Lqr1Yj&9AMg01uhTkzd%^n?CYE3*pZ=8W4x^|ubi=KM`0$ThakF7WBE+F9MP$);A_z=uDL5?%u%@cHdXC!OOAm|tI z(F~RE>lBy%>HRX}vDGL)@4$MNs;o^$P)?9ci1^69xlR+E zv5CL)kK$sBr}TIz$r%}xnJ&(3enX185;#cd2NzGgwodb=`Q(IgcDTFOX@UkRGXA|8 zrlk`dtnZDdVrrPtO+?KNYfRTQM8Vf`X*8UNzocre`Me=9?A^TwTa|%d>|OzDwYHl;|g$GT)rUyVuWXaOBq1oPqAKc&~2k?YxAaY^4lQt8y)$16y;ybLZzc^*` z%k;oNV+o*Z-^!Wvk1pri)9;NHRh1H-QaDBasDdOUF}Mdm@wC(=z9t9BD$Vj2j|~?* zv?@CrnfXY(<9zg5ad$_7(cVyrK6BR&Al}@eBDd~;R!4?l zT@BEobQtAPVbf7Sm;e%UqeyY3X@G9`Z)ELQ%UcuEl;KOMI^1zOr*s!aX~JVPOF$Vv z9P4$NcTfC=M~{{#_%R+=7=4^`r8+1)uHlVwC%*me>jHGty)ie&1Z7%{C1K|b^(uLQ zZ67K2!2Z|qB|q`>H`eL(KADZ2jYyU61}erde#GJJ7FnADWPq?GL%SL-F`kUZ{zilc zPPcvLY=zZFJIcr(G7_k9_aNh6U(1BQ)*o*htBNr^#(-IjAH)rxQ(h{E`Bwz92K1~o zu7*!JPv5x36|h8#1EJEY49!qB9`M-#vGkbnG*91KqNkQ;RV!*!Hb|D z{XX1r-cu6-+2p6m$kdeOQ6$KY1Xq_isMDfEaMbo8A+aw{)y=l&@kZ7v@^eL|Fq($= zM)ig5W;&%}xd_knA6>Gl^#FMO_1l0~DLI{Slx)heUk3A$+;!#yhH`pQXE% zC3)W7!#X_9$<5f%B_+%r6WB8lFk+4^aBd1{e78~SXM24S0jv42wS0z4iLs>M)pC+?yH51 zEQ7pxi-|e7!cSIBN>dpW?IVO*#n}K(MI9%K?Zr!nV`oizlCFLpKACLuJN@@6pJKo-)&d|psW9k-I<*n6Koa%YP_BtBT2FBqZ2gYzj3rRqE@F=#-=n|M|MWq zm$lBcN)+sCcW<*pm?*41yrAIPjRe$o8SZN<#gzRCl9hO13h!vzW4e{VF{wX{u}KMz=>66`R)~jR13D^6 z+=40vrTCGF<%-N|ytJN}K`>Hdw}HuyExpu(-huT&ubeXrcq`Y+-|**tWJ>Bn_ZZvy zO#s15?#A5P9XKGBop(Psx z1Lavzw}uwM_uWO<081|A3*{ThdCyHyX1i-5&x@z6WlzuLih^rx!oD_32%F6(m2oxz1QfZLZW5vjOAn~hMqC*vyE4$}hDh%q8k~Nw;&og| zkLD2iRPhiV4M2AFr|8$u385{*uhtp~Jg}`b=i6A!27u|z?gru(5N6xw-p^3Y-aweG2Gi(eE28^H2s4Y;|BlYfI%T-19q<~KgO`XMDjKPL*gn|4{Ni?4wEwT#V zmml%h9kTlvxfGTmU+b?L%GE;A93{&fcXV2?3ghM9*JJ7u?ez)T+N2MW!#$m%rCrN= ze;J9@)DzOJF`bbv-+`Syuv&%RCbYr&lB(`7c#0HmcPAknTrob%(;;`8hzkruo*GRQ z!fd_y4yrMdcTqNhDLI*5!uZ9~?ujYv^daJrHo0wTgyIWOM&O7ljr=aps*jnf0&3r# zD4RHLn*H&Kn8&d__i*6{MtVC=T&b$y6yQ>%eI#)Z$kXDe|6l;ExS0*W3L*_rucwmz zjjFvnd1&$xJw8<|VxKNa5}c+NdxBbVre*=PZkv4OC#S0xms668zlN-kBH{;c0HS^S zl1#ZJ2;_cq3^Rs!4Acf6J||>E94n4}bDRK^5fH!iw7t+PpeIpoRhrGf zngq$QZMHYTi^3&T5I%QDd97A_V5ki4f9^Z5hD_a?qb6ITffKAVlu4{vS-hBBaK&2r z(;$j86YQ#>#8Zuz9e9JhdTCy_ZPe7_s zfZ|~F2*0g4y`)xI@_s#~Mv>mPmsH^{BAfS-E8YZVCVE2VG&L%06m3GyUVb;3eEDY@ z+V&mDom(K3+ndCf z>X4jW3{BDc-Mpb5Y|o7e6ns2S<1`+CXKsgy9}&tjjiuuvx=;XDK&ZdYG(y6`iTZLI z?~%1nu2D44S?dtd%VjbI263`2j>oCAirvsQm7|$VN@A54;aJOaz1<&^6NS{Xz^>ip zsT$QhxG8hl`Q1?>X;3R={EL$N-WpT1(bv#Ae#(qpOwagp#$m-D>H&!%W%qsjj@s`@-dB@t68+lWJfsG41)2*mG!6*N=Ce zZsE#aJ4}0;={FVytNm!;L?)P{IBe%9s8JF13?+&t{=Jy4b!y*GCraiL!s(2Sd5Ib zap`T|k_akmpZp2c&vg#tsIfcx8lWnurlGv=-LEGOhReF`^1zvx?kE&b7NphEWOEs} zcr8dSpH6px^F1KD3{N0GeK&Rrt)9#uu6zNHv;Aqcg3Vom{j!5b?Kvfk%xJ`5Jo!K}{ z;kKO<#tH>^$Gj(&Qeecpr0Gv|Z5Y0bu^CsT7xHrT-AoL)N&wo)I4QXA0rWviaT(K7 z&?wNGp9Wb_*)N8{DHD;FKGU1pbH^Dw_RBbtJBxAC9w78$o@Ls(0NfqZLB=ed>jZw# z#m8Qelx9S;SBj>Vu+}MRt$b}xiers=GmbRcZ(OBt4($dwn(vI$)?`WL(=#bzf8k>l z+0hTU3UOiH?e@S^c5(UpQ`$}@zbpu0wsNML4CYC<5VYzjq2eN~YO_DtKoRwN0Cpxr z`P*6#qynRqh*q%?2I1PH+IpXHk9LR(iTs*Je}cqEf_YT=;&g+gvAg<^d=@>zSN2qB zSO4^=$16~0v}>|_FuX#P4q&;GsTFHE)DJ(?cmto&^1@89UA?P)zC-D~ip(^D2l~_& zxdTJ+?-|JkKPPqdX4f3L!N)pb4YBE;1c@3xZ$_aWV)k6g6Qy0NofD}ozC2UEIHe_gng)u%N0Xl7#kRrPdTle=Hkz2Y zM3%pxO^PbD!cOc=#_*_L4EbwZQ6k|PyirzWaah)~*Z%B!Hry@8o+bV}7}cX+xYXpR zwq`>+DC3zH;{6+2YhfU0ZnT-stV8Clxc2-BfZBFkC#%@U*o3jcM9&1QGX{M`=^7&M zQ2Ns8&~#;$D2HWYK@t#0uGI=danY{^x>mAqE+byWS)WrUkvdm*AW>kW@X-gKc+B4Y ztGmDFhVj{K6H1x6VHBQD#yr4Rx>^L#gT)2i>mT7nG;)5 zPQYAI|1(626!ZN{$Sf=3sSPR{pw-2lcVz(%wB<30&AY>9eu8TG5{hP3jJJ!I=~4Vm zxhwOs_~A>u*WvMlTr#J{=VeLc!nhgx)(*!Trd6ho#o{l@w`*^=;qen%?}^3GTpz1T zDJ;9i0rEo2r1QpD#g@>3GZuGVqf9rOfx;lfhAyu_%Gv`-RVqKCwf%sOJX+fh-))C>-Wikcg{nayTczzk?aOTBLqm(z`ecl} zL0~!T+B?+B9oPDdTHc}cQ*_nVl9Bkc;5%d?{)`DJwTs;~Cxn@C|3%Kd-Fm8eW}2sE zVd(IIv5GevpGp7Z<=g}KaF|?SXg3hLJd`g%nk&; z?~aIX!_(o64m!>Uqhd02(j;l@+`*gNxO;cupehAo_^{*BjNx~(TVraKq$rm{*o+md z>;moyX+kCI3KBBMbVu)aLCABDA_*DgNLQm#xt@t)2aY5g%m!s3|ywn2KcKq+3h}zK>>5|%dvUZ?8qL;B1>%YWjom{lB z(jtb3RTl8e+S-4TpT0KxXfg`A&Wd^mw)NAkv<)uazG1j&5-PL8SyPk4W_tf*dN6%- z7aPaTsvjk8a_g83LO!>V!%tlOqzi>2(uG|p8`4_Y(EwCzalE5YtlHo7l?Uf~GxHY- za1~>WLsDbp;}lq=+-~-wy$G0MOOWLIGgIa#crhLAavtnZ9iTy>Fp0zWZrfB5o1{AY{f)f9hzLTN8c z%*(j;qsbe{+&>hVK)fAIeR|h-19mrx>*t?sbYMORkr9Or-(+pNp60TRqg0e6`3u6J zxH{&m(k|Z$KM*TjMX~E{KJV;gp?{qwoykLP&>G>A>G0F6eUXs!l^5N}Yuzf|etgBbL%daQJ9mQ|A9QYATIZr_oYEe#SC1JXcdAYkz7jOLS9tntVQDF zAGIOU@)87f-UcIE`2Q&APxm}PT%}8mYwUff%Nb77Kf(33TZWkuzIvwnWcI~$6Dq;M zxI5zak1jHLm4UZHT$WArvl}b&;~T@ppFsLkDis&&?uBgC=!<%dTB_gLZO1@;Wc1i$ zkR){|*L{#tkDYFivD4t}9a59d*sEhEXy&JXj2D7QotggujD@^WoYCNP5D4?ffrfylROIVYnil#;8<^yfED|e>~?}sl=lx* zyu#_Nf6;gZ^0W)UZ7`Xljy^kB^Y{ZX6IFNQxrW*O(*n2*F?=06i7OuW)@Z{UJEeG! z*O+N>CB`dpi|2Q6eeo>rCFQXx@g`ukhZkhgAFR$-QW3tIuk(dM$!be!v^LR2d{R@< z$2~>}?|}M1K(?6_;oI%%`f56?w~xflYQPRK!zzOy|g>TDk#9ndm*2cGqR8uiq$ zT4C8Jm}N1J@dYP$(&!PB;+!x}N0K+RlXuECd%>&zoy2)E>IL5z!V8pU$1;?f#;Oy{m3|P`C)n##5S<={7+X z?$f-NC7s5A?tymH?d#}I0bnl09Xj7p^{SwB6v_nLlLpGhr{YrhQpIv9AeIu#?OUOP zo;1hLYI@!4z1V&p5LgI&fI6l9IV1(5XyznulN0l8n#kl!E0cZT&n9#7=?JORA0>OY9?hArWnuS2Ngh^e> zwufSnvE}$UdcyjRt>vp~p$V$g2$|H6Uf!LE|Jf9w4!`XKM3`rpyUkpzVJVf3^i^#V zOjG>Y<)gW?Zoce60k^h!6cR+>C2dlQ9aj8dPWYg`ox~&}qocJspn!51yua|g(V9Z^ zZZWAU2lZi$vyJ^BNFG~f%c6>*&ovf2NQUPbj>2To|ELQ=5pUf=hTs3ODo|v1e_DN! zxm%{Ho6Iq`g+B%;((nONz=_Il%o{J1ip(Sy(Fh|)0Y~90eisNt^9;pcV;<6#zKs!v zupd9+!!G)h0H4XGqO5mM48H@OBRqhXBMzo*s;S*C5_DGdIDIKnegkXC>elvB+ABkW z7$JspvvwoCoO_vh5MC)&B#N7F13CAvhK|AJ8}DeE4%sd?CVZ0T+bRHLT5JP^ z*F%|96NRt(SvV=0)PmVmU7_V}WSsbv;+)*wN#g!HZ#2145*X-|HBIe^Xc;)N+>aDE z((3UPZQINvKhI>8yPvpn3#@@oW^Zp!KzcSiX#9?1;FQFPt+KVM*xkQkmowg&?8wCA z8zW23%U2IZKAF7k)0X#e8?pS|&DdKiTB90~C2XF|0TKj@Y{e+aeHo=D$Vqg8zjogW zs>w#BO2JHdnLQq$=--pqDt4{2zY*kOa0q4rdlXrsSqB=)77XB%abcTIh@Mwq=h_c= zABGPmVI76%q192PP>cwwwe;!UA}Wq9+nMTsCr?J`MBp3qW!IyS+LkxL#$*k%F+4ff zCKH=B273mv7ONhUyrWmef17l^;>sQGojNN{YD3jlx{tt4wlju^7+KrIp?*TUT4;?! zKRIOMA9@;oP*Bc6dD6u2Fndc05RP0_eUD86Ug%h>)8E1DJsoHaUJ=iYh{kNGD7_MJyVjT#uTqYbM*+ z5=_NlQLl(Z=<5$Zkl0Y#4U|nsFSp;KHvnv4t z&ieOhZbV%(jL$omCZV3h$pmpWxkNK<#+tDYRhlyRb(o!u_FcElPXt_r`20+M;zYnK ze6+#&_r}tA$8`47q|N4jPfQotd;1A5S?%s%EyR_~J8_*t9Uk)}iz9yNXMOBp4{3*u zEc%YAd7LFNGI9EuAnGC;N9Hp)S6t?iyB)s^*J9b-l>%FM2G!5o7KTt#rFD3SP{h!m zc*j)Qr3WE1E~3Txd;IO&F?q4Fbc^(qkJQ1Ff6|u8hx=yh1jd~*0cAPU&Z%c#bWP?` z@7Vh1Cu*j$<&*UUAH3HxgmUX#+-&$HXKAqc3;UVfWH)!pT!+b`D)%vkuCbggm?FMg zbVRFtQSv97g-5m9N=6%!1#QV%aOCxIkJ+)xn-0&J+MO z=89Bg`7m9w{TcpV6+=EO1#e&yt|eQd^7g%?sF|IE_3@alHttQ8nu!CD?VXM!tloG< zsBfYcY2HH3J^VI4{l$>hM75|^&WYt;=ny_8(2?s)2dAXHRpiIB_2D>gw2D!s-hFjr_wZgQouTQaZEpU4`>DT$Uzqw>ftAi2J; z2Ha2zcS)x>-S=cn8QF*#Lvm}_1N(}x++@sW3JdRWdV1Qm+|1K}2DUGFmnQ-i_9)8Q zY+fQYQRfb=t4cvWTnWY7Mf{Lp7kj>_1OGU{&;a<_k z@HaIIuW2<2D50;4C*_~0S|u(@W}I(lwt!;+bupN^C(}`W^K<5Rq#y>LG>UP4!Pxw4 zngu-=HzwH27mANy&Ymqr%j6#(X3)b_?Xm?xGg%w$i<0*keao9C`w%t5YZyz-I9>mt zXIF#ihq_ClOw4)#{v8{bSetlp!cuea9r%QD8CMNUMdTy~{kX}Xd>-ex;Bydw7tzTq8oIlXRH`k&gsjh1CchazdqKj!e$Rug^?it=LbwF+vfPYj`)(QP=uKLXQax{_3FaN{AoLC`^+$D8HbXIv3=++RW^LtqxZk4e15IBre%m^|7r1i!;-iyw z`Sb&+v9uIPr;Uqgo<#Hylt&+^bQC&BvDl|B1(@hxtiG3Ov7u+9HMk}%B1ps$P#Q1a zW5UH{?a!yWVji=CNL&)sfNleW{@}XgiP3&gJ)TC%EJ%HxgDV1%FnO+^Y=w{Y32stg zZ5mMdmzTbnfzPEyS`JsyJSlD*?*eMp5$Z+BLfT<9pyYH@nrThfeM{=+) zx5z-gO-kV0w``!NQ~oSwyw2-gE(2&?xcJ&~xw4F(tG37=>T8f%qiM%n-kAL56FZun zW5)e;pu+j~pO#U3`gQVH0P94)8Z}_trl)&&$6YZkTi+oy)MaWEOq4%2?<-ds(hfH> z={VU|8<@-F{ZnV)Lo1}uz$fctMhfUSeIbbyR*$NuaYr5f6O?Gi@Sc1$lW+tU&6Cb` z-Sm{~BBD`H-abTR)*d(e{&npstbWc&v<5t{1%o5Ff|)79e~M<<-0FHIm6(LKlFI+}P2iq&q6$i#s4R%0?FEEJdj;8H1} z?k0wq?-LB-u;JN6g8xymd17j{Q{`QP;kC(`TzE!(sO(9LIXJwsHJ+63;T8`qhzq@t z)y&25du=Yd?@*d(d#YqhR)N;qCg7KcC)`s8;;tPbiog{IT?4a0L zP8(dKQO6zdXmtDp*AF&qOO(&e>SKo<@o;xmw2}ud=0qNJvn2^jsKvB{w;ih+bLfCi zx{Rd%4y1vJ6F=>=jhESPJn_e41R75i^48Yhl4L)I{AcCyY@RVQ*pk&2iwRYt`^y@; zht#Jxm3Ij+(# zX$Xmf7Z=GKvE6HuM^+O*d>jsDh)(}RSjL^`5!#Rkq%0hKZYiiC}_e8{OSIrUtZ3)%=qC%cLnQ5wq{*Ik;YhXPUihGQJcy zY0|bw19u=(B7t6C-i|$*qkV3tvbWkRTPwm!jwd#t2=c;QHy09%!-ec;Bn6rrwZU&@Du)ZdGzzK-du}5(nSS^nWRT{Dm1wrR!8EtM+ zcl>Kf(Bo;S$|M%1XmBQsibytMm)#XxXe!`?jh4pX#7@4T!_g^q#7SXv_E@{1^|t$r z{vAsD%qsgbj)zNrUyNzv1{(mEe+e|ggc%fw*5`c4z-6Z*$8V-X>NP|LiD+=YpNM)$ zwaPx0k(qhv?D@<%UWR~^?ap?;z=)T0LJt$xTyJT*kIKJ5x&NI_-eTYpR11lD$u<%A z>3-sg#V@I|-2D&#^0@a8^PQp~vu0Xz{oUz2?89aGhHQWU!C<6O!2dcW^+2v3h{hxk@D1u(n6Yw-dj@1u zlCU@*NLxt75VpooucgiI4Bm`qp&M~0r1y=4|BkAkqKYs<7Gvx=wo|*M0cy$JZ|62W zWTxp}t{h+#c4xL-T*S#XtPti|m;CVLdQ=_Y)%-4nu~^OUl4Xm-vri1#U*3Q`hzVix zRw!aE?4I0v(KhNuC~P6M)Clhqk0-G3cW(mzC}~ldvsnWwIvK2B>u`VzMta(8X$!r$ zZ23{sDpeWDe%0#` z4(U+gla~Fjg=-I_?~^YfyLlVMEl$8C*_Vu3{5-*nMr~*1V%Uz9t5EZEtL7pn*fI_` zH-7#xDtuyUr~9g;`5CMVvtn@w8(d=i%iO8tfIVrO|9@P<%e0H!%5>n88o43GJ7W(Lr4EQz)D?kVaOPVPf(@hfqQu}*3eV{DYH`ZVq} zPntb(8YUrdq#_r$7hq{~&9=oEpD?G;{Y2Gj{nF8Z?r2yWM?=A$(pxfkeU+hV_XNuM zrhO0PES|~mzXJ%!75*b2(1Yo#t0)*z(1 z272uKpc~lN`x8z3#9&uSb6~QGy!P{D?k634!}hCh#Ll#nUc`@Q*V@;Tmzw!8U=?=H zhKLpsPW8vtBdXb2_rnk(({RrzYoJ}3mK%7vrRzcAm59B;r&VK55bK;pANp)U6jkZR zyXI_gI!2E_AW#kUhN!o%#W8=fcpO4OmpIS1eAY|^V&@~U2J1Whc$4>N`dmbm$^)|g z_KYwQq=H}z6smtSe;5@;eonyLv{Cz$i{j?u=?tz5YnZ#uC1|%aIyPTwNtUi|2=EhI ze}95=M^$KFdG(O9@eu!fG3#BVkSC0A6|Xl3wz`xo?i>Xd^LH=V;>jJ1ugeUPzT^$< zrAZ#@Tr96u6FnN(YFyl%duwEDd@fSo;XCW>>|C6OV_qrx=+%rG&LlW5e1@*7x73Uax8sX*`rJ5d3N z*WHR0ZAHe7cwwbr1Mf;Vv(Z#R$n3|bSldr9UhSj1mBx?RLGKb2KKhBy&jAa#PYFo+ zGl&3fCYX6nmu{AOTN*ZviOJhth7|cbsJ^+WjLHlAuak%A!jEa79bLn{tUfM5*x{IA zfUb)ZM;!6mM=LXwN7#o^j~0}?VD<=H`LfnkEFdx* zKjmDFq93GExz9-ZnL`>6ZA$7pou|R+ZV~FUyKoE4ZXz&QDwVnVw(ei#t{zMuM^-Ln z1t#`hk~S!!a48-fh*0VnTWuK=#}#J|mp46?8wl2_?)if=dW0X=pHEEn^FOMgCGCd` zoB)v848TJFGRx2^X-|$Q*Qs08b&liMd5GGxf7nFym>NX!5U~;@Q#AE`aU`K7fE>qA zclx7e*slGlHVa%~KWz~#WR$Mq2v=(9DzJz-g0qaX75jre9Cdr!e30o4Xx$NJ$g z&;QJJm7iiqn~ui0Nq)k&H~b#+CuX}czW5?jn$P}H!K5CH^t`FKli?RGom5j=;@|KI z3>CZe6adsjUpWJY29N)#ugw7Q=-})|Hh2eh^w)PZa*cC=sR{Y>r|JOJ;BywuOp@+- zbO+;BS|*W8rO)^o269&R#4d;Pj;jenA8SwIF5HCs$ZdKsIp_SWAv-~%YhE{-LM zCw4du7LQ9rt$u_ko@n}qrv;__F@{Pd<1HLK@2iOfT=<7jKF3+;Ixp-eu@te1H>$VS zkl&2sE0z|DA|t2K*TE`$g8PZ>>Q5?iH`KdiM>v6exg0QtW!_?gxRcMqCXRfTlM)Q7 z^@n@Cf_C?9*gKwn$^n-gH_WMfsK`Xm$&|9#q;UrjoTh_L!@N$$KxjO3Nke2R)TNr4G)*CN1fa~OE#27#a2NzE$%6litgO57Cr>cr;?=Mc9%T#=+ zpHP~N6EVqYg4A)^B!rt_JkFhpGUl8hNJFnwg_AXm{Rmg#WjdjdXg z)0`>kovdK;a|}=w(kjt~*eSw2Y<4g^ z=)&@G47b+|aQ+-3lF@c1IK0j!W-#`lzaWXA_y=uNa8#b<3Ln*kn-kK}<;W%?7*|R0 z`lRNN|(LPXMf-)imH)`52%)Oj97q}_6h>=k@t?Sw1iP> zk}@dGq?+fB`#znf%2qEfl4oEAzzVKGqzjW2-cRNm&ox%w(RJ_HLv%|}O`0GAuo($m z(kG@OeKOs@M_Cge*SQ$-1kT{NUBK(P`Q0mmDDYbZq;v3|26KT9wBweOnt%B&Zc;Wi z#8RXXWIuG$WZDCcev&sf?sEC~9lu_8PfYzJDW9i%^3x)r&)N_1voYwfR!-tpt|_=8 zgFI2x={|=+h^nm%Ur$x#!ZoMxnJGMfOLjkl;QC#^@)iR_}ed zl>0c=syIB@Q?2|y?!uqgde#)nviP1-?55~rw{e;QNYsg81y)|>dl_x1ld&MA$qBQ8 zs?fInp~v?idYTlwa+S_Wze(Vc<#ITrijE|CMJdPmoLo}`En3u223tJCU-s@Uq1NeG zaF6Q3>#s*e@}@LNE@jW{k7BSF3b5SbzZqPb7r0CnO~%>HF>sN;VE`Nb|6hhadi=*- zM`+EW>`3dk2wQ?|W9|b?Su@sQ%lf)I!{aoe!wV`1VsF4iyhoGK9kEaeHW?_Ly8L}N|M{?Xn#WLhe;_sqsO{V^TQRi zo#|*XyqwZ;Mi13j0UU0@!fmg$A_(KuO>H^tfxqKw$dn_g78mhyR9tY1k4XX&hmiOP z5IYi@uI8{UB5?L4(}kE^21{IIo(7sRz5e& zgpuGj?vSzLDQE`&sMj*LLujJmm^CJqypv5lZYkdm47@nS@TRS{-|zsB3}6JVgx0vp z;ba-7+7602z%rJ%?~wY)P;ARnGxuvOHH9jjEcgoJv1w!?*#}c=ubpPJ^u{MZet2^* zNK{vGVSSMIdtCjlt87bDSjWerw^p{%aj?8++-uucrEa?`kSlh0fqq@I`r}s=79nU2SY=F zSM8&DN7lgKhpaC7d<-7|8sN0;mqasfvqYE1NgBJ~xFC;7{4{QJVc8zW3ODBR^|jSt z+C>7_@{szl+efeyXG+>P^^&(24r6GO#DNFsk_}6dm|YjwYL0&ATuhlL%9n!;+bHDU zfi-1;f1x>D++NK?0|&FWR9;D!FuYBA z5=T;?Cnj`%R(<_09}DTnofS3QUB~nrXXS0yxo4308A{LP@Gb$$UAr%U;y9pRusuqa zIM7Qdb9l93KtJ%X$fp@(Cc{^?9GY&C5bVUi13G#ZxLZA)?3=|w4Y7!L&aQZJtCOB= zUBQhT)H;LvaJG#ql|0%V4mfMEWCZany#&Ek{L}%Xb zGD8jNp(b5T*tOqBs3}z(;$F(SCd#CSZi+4w)DQ^Sy|SJTiTfN|aYg?qF9BY}zkWIg zhOI!go*6(K3iSL&p;W;v<;T*o$JIVMu`XXrd&t8RTW6Jc|I_122IVsSxw?rq_Xb4Q z#%#Etvj5pN)ku0M-@36`SVmLaLQZdL`b4Oj&7QdUXKHfPEgZf_jSF2iCrG@b>V>7K zm!~p?&9d>C_8Kq>6&72?#c_}TUMA+HSk3NTMy7=7GK5{DCK}t&cT9JWsi*FV*--Jb zhALt9v6%e_B{*E{@lAs=JV*+=>r>^!xZ#z_li#lMgv9wbhwAih6g4mFZi%H>jPlz5glegp*=Ct!aB)T;6P;4(rbOk%ytaofoN^P=D zuq#UUZPNS(nD=Yg&_ik`sd`^xOHwAeDpYkQcLq(rC*~YhlS`Va@O6DT&aa4!nklo4 zcucbGC#sg6U|*s*4_ax^dGPU$FK%B)A+8Icf|HSq@G753VO@rUUE`?3b0H8=Z(>6J3G#%rAQPPePA8y6P6=vnvV6qzTXj-i# z3g#gQoE73%Tp_Lsap(%Moh|BWuCogE2|TiAa4Lb}^-RHh`b_#Kp#JJAN*o0E`0aI) z5>IRLcrDT!ea<+oka_K7eB4hHKKxg32p`-ORy=7E>hYL>8};hDaxuZWSbc;QcecG1 zEBlw`8_Vb+61y*x;`dq=n^&v6H|8?$b4?(359E~d5GaH((5dqD8OhzYiexE5VCSPX z8OK^;-=lG)BZ`l2U~BAhWk)8iboq9{R$#cR zXR>eHvRMO0d*xPYXag>95ttrGFaA%d!(P~U*xG`*b)4^YSd{Azw`mq&n9Bem8Y4JM zD)Rj{Z3yWE{APMb)ECdy^RnV&9s(wPwhuv)2E~_g-s;xUuuWObxo3GM#LyPT!aQ^J z=5Otl8dUqrDghJI6^D1FB+Yr>onofAG!P1SLBkkc+Ip_X1VY)5Wz6>(!z`v?_Kv0z zix1eBNqXb)^)yoJE%qgO!#YLDi%;8u4UIGNWUVKQved-Nc=Js5#?>OT-#89^())X| z8?EOM0h3#2SP>)%iad;mP4t2>_7~8~(Tmaltnr}DiIW-PVsf?x!ryyJNBI8Rp}RC2hv`wpunw|KNj5E}M9QMb%ya&Yg5b1|TYNxi_LI#9FfL$6B1 zguVCFBv%s7)Ad&)Gwh4Wz3P0=VmfQ(|32-WKqxL+l`EC`YcNPexfi%Pxu;~KPTyUE z{oBSqhsk)YMApUg9>9~;%;R*h`GB8XuT9SSg^W`i&u4Z@;W_HT_(+<1+|5)As;RA; zWZHP89O<{xU`g1R-XGq8^Kl#KpJ6xi_R|%^ft;KZdFU0}dG^?-wD~FaG3|lPzVt;r zl5}=IVS7KBUrXY|HStKiY{gK9DdEsm-2dIRf1irtxDtR7A{-Pq;iLb3mywN5Wr&Y@K;&?d2W(K8ja-)E>P_ zU~Psq{5{u=)O%E)%WXC@*zamn_}me!AtpjTXj#+olK-DsMag@{0N_kb@2?&by}k#t z1PPO>u$aw&FoVKMYmL4`>g&_eQG=)N zH>7~KPoTjYSDW4ReGWMAyZc*aOlx{I!1v&^Xx2EK+Yelq0_u|_5iqkP^^5}wPslY5 zFdISm-sbBW?9xQUkkrXkk5E)jyfnEI?ms=PBI*+xNSN`qklCLEGq0>4aCdhcX}LtN zRg)+n6V&HUgHZsRj4yovPU8#YL`*Ze4Pn%dUMas%s|yYvB4J)}k(zH~O2YjO$r4E& z&#Yq*I9+-TmDROOFhRInTi;T0Dg4fn6~@+2kx(W$2W&PXFQ_|C{lYGNF&mM)bazRdSrS4e%B)27mF{`YlFQBgkcojq<#Zj zyn|{kKgX>Z2}mjj#A2%!C*F-Ls+tH-wBaq7dy5^r8CZ!Q@AmI=gGv>T-qb!>a^4@N zWQ11szKXAgmP(RC-1~Hlw%jb;yj3FoV}pF5CZE&fW(j?5bwi!YHw*7b)^^p&&vKQ4 z=eR30A-admFvpyq)y;A?`rT+d2g@g&GN>2?wNppX_LyatDADIULQyp~?;-x>DX-VT zX@Ez2<*DAqkRtnejsJoesp%SnA=jnJtp!b*bQ2*>Y$I-If^Sqj5$bmd5S>%9Gs zrVN(YAj;)U@JTZt))BWhfzmrK?yDlG;OATGB(S?B@OY5XuUFy6D7$6cnOxWpTveR) zYY0BTwFkTy_uetcRuHpo%^^eRIK|`Y(ZnqN`*R3?V(YL<5iiNttNr;)#uEGn%-o`$*)uu5zNjGVY;dAafn>$b^qx3_94?%LW!1 znrIi!4xTH&p_LXJ=^JR|FqwxKep;PSouV{5kxBc|eYx1o^)fi#Hbw7q{b4N;-_4J$ zUXP#+wX41fya?X$ESS21qYySU|JmD~bQRF5g;6imHi>XZV+r4|f1dRi-Uy z)9DZ#A~c-%3XC!Tc2_a6-9$-FK%MS|xB*Geu6iPp6rMw0L!BDh-9o#nIE0IKCa?jk z1CS$$Z(xfc$?0ziKdRTY=2EWMk>8A{*B6Q!J{@nPQY7w3*^^%*{!GTGV5H7Au6@EBXpXs2N103^&hv}eW z)@9BpTB7DgRK`@?BzBE@g)4EAWj$J2^C2&uV8 zQJH>}I%uj@=+fd5osZ0Z#?sL z7W}ch<|mw%sl>rV0(DaLppuVrZ6Ag-JM;R>wCmWF8XqVA)NF?0TY<;n5m7S)186ZLxXWtki(Me=qP5`w{1eT%U!C!fC7JT$z_> z2c9nNi3ph?xh3(lwuO$7a$wCan~l5?@EGNjw2QyCT?(On_OL9`?2J;)nS*Mf&ii>T ztSG6yo;gaKJMu&lFj}cBDICuWXKQR~52c zpA?O{1&OEMSs9_eXWo^h(evv!NIVz*YV8iG)XG;sxyw`97)SpSsOT~=7xK0Ex*Mxz zBc_#2-KB}AWc1&T53j)R6~E#%iTJ7$Ij$Iq#TFMs zz9|&{^F-Y(F~YCh7{*>+af2|RzkmA8zg@a`o1vtOC}t~!?Yn;XTwZ9M82LKO=l4+n zN4{@DW52?R550v&zGe}!ns+IM^$cEN8C|BngzXMAes?|Fn9>jRoRxPswV*`lQj$MW z^;gF+2I+2o-k8-yf;7Roe+&v2w?*66dCqxBckUR&?;YdeeN4aO&v)m~cRc;t-<8Ax z$wl$iWEk&15)C3xrb@GGF|`f)Ht?zZ+8U!47m36@v?S|27&;6?^7bucshIj9($bQBjLBoLh}S>qUsJ6| zBv?Jz@CRZIy91--*5br2lwslrHVP()7IQuPiK<;Km0fwlyBnquaHgXrHn;DS1>J-N zU@&NMd&~ue;I{$=Cb*$I$m84c$%<1*4b7FISYjD-PZVOd8S!h~PmbJV2!^fPv)w(2 zps48{jINxx-{gi!Gmu&s-kv`hyvEha+v;jb$28WSqUg-U^*w-{=eAZ7y=)%ZekXrw`mssL!N0l{4fJ_^Ff^og43iJsjaE?O#3XOb@fSHR8VU_ z&ADkIyYp&7t}HH$!>PgnCNylM9V%_hf*wG#4dg`~0C0r;xUmiezHB0yv6W zu73^Mywm<~%{2S^yTEF3L|Tevi6iF_UrmB>WJ%N~@;Ay(@%HyT*l|kUQPVw%ZVC+$ zZl9ZqQ<)D_B}%x~&cbfU&+fycl_K15!;z|Qv(940!mob@B#;uz@x=Cyq)(H$m^S%K z8B+sHPyMdKxUXk4`{%M|JgAr<6?z{nXH4 zz(BrQvGb29)ndvd(omip(q#JKB~9Tuy3q{{u4_BKLux7LsBrEyEsy{4ZGlvs;M^<) zZ45v;1R!}Vj~KWuwq+JsA&%GBW)^^QU$Trfq;`s+RN{-pOB!n4=%2-v7@u|10{Ytp zhK$27;8B=n;1WMJsOK)P^I~iTxKI6GM;-;Fo<50GimG7*a-~yl=z0uXpwx)Hg9PS1 z^m?kj@Hp+4meA?xCU>YyV-;3ThRx|$$)pC-rjdsrCQ*9YKt)0qtC4f5)XvGL?v@sC zu^TqY56(T>GO2Vo5D_R#c(UUgdPQ|KJa86|lG?-7-u{Uj6+f?~>jd!jm}zDiGwG?4 zM(n`WJq3~JH1XBJQ(1}kj;ra%=gOl5J~dqaxIeNDM&oe9+8#YCyWDIgi z*oxPq%%`FRF#M|M^~Y2hR1lT1gFwBmPTMU~shF4yU@M|n`QmjcuBI-Sn~fz#)Om9s z%a>r#3Cwf4KY#*13*$;wD3d;D)F+$o-bmj2f6TgSOzkXXRog0MR$G)MsL+SIF~B>H z!&f^l2piTc+^6XhveUo^+s4_T9IfW?-O1Q z`X%{}LFbjQ$tOVf#J8o7aVn*<%v$&fwVUL)Ha3=<(cp5Wc#r#th2T>B9-&4-)6#UQ zfHi(te<+}>AE&mhL=V|<4@|-ti=G|X%5p!R`{w&fnVvrSTo|Y5x*j-Hj0L?veuvYdIs2%@q-wGAKpSEFZKse8=73h; zuS+lkDlkc{YR~E)EJx|P@K!kO?1)4u{kQmcBU?yiVis)QrJWluq}>@;os~p~YjO>0 z)slVg(U9#p>Y6*Ky1l4T%a_i#g6qAdSd?VC)An}UGf})*xi5T)0d}L`jErEKi}FVs z$#e%KHh39vZ^zmG38HDLdPcF-~^x+=GDI(CVzOw+F%Yq z%x*R%?{J!@X0D{kU-2pIj;z>a-HsuQ^_!ZNIKz>Gd!6QDl2*GHM|Lxw9=*mps;j@U zR&uX74O#y`>`L~y`pk0(kM0Q>7yop(H7Zh_`;7oVK)=5$$V0KDm5<`L45V6>5Q${l zr=LG@^@nv;Qg9@Jr;AJ6^@lqoMgx!2k}G4r6iW`1F~a(n;mK3iX}0}4lc;g@?@DkI z$PxzA6s|jR*O(~m@*uQt@5YoX8i3AO=18NlYNbQQ;Kr?ISqI&I{l0_hb*(6r_&GR< zE)uoGUnjd^Xzgxh9R&igJ)2wan)=xJE7XBr$Y)X6zGvGttoG6>i4wrHkK7ZA|Jk!z z)Z0K~%_ftNYO*N2_-=QfDkA93%eL(e(}L{_1AmzIr7VM)6RQWgG|+I^gm#$i#ObzEoq-zXR)&%1dYxtlEaH0qezm@~&JVX&F-!4BBGm z4f2mNf5o<}6w#M<8-qi*odr)`p$cf>h=Cc}VV$-<7|yg2Ab8iT}o z?Kn|{bh(Vgpqe~N)AH%Hr>Ocs;HqQq)Ah-jdLL845q0nl`^e<$4+u%Kh+3U`yY<1& z%xtK@(oO9Ke0m4f(E&=*S>x+5Fo&kNoW|_~R)Q4is4^t=W>B#>fY4Mxl#I)k)033MF=7C_9vx5W4<2kwpE4n1} zzpmq!{|&9bz^{56hm&kebPY;ox8t-=7v2S{`59xXsWge}IyU*_=_#0|h9l+j6k!fQq`x3D(z^5|haC^WbDprV=FgwD@bzFS~&nQ!7#`w-UP=WpET1 zqaZPgOF}O{lDZ}2gM!}F>oYQp;}jtxx44gRKDBTBIzoLaQN9P=N16zcjE-g#wC9R98R38%{^WEhoF?wNSP3D^oNi}vB&e{vu|PQ5gS6*CP!MUB>|}ybDzc+o#oQ##Q50(kr~GZ4Y$=(an3$v zXM8zn=Dj0oIkEIa?S$xm@(G9(c1%3sTT6elJmY5`BZ)jg`+$z3XW9Psr5Wa^0)E12 zpH(GMqWo2ifmuiTyHOPI@R(d+H)unqZcC|+3Y6i#kz8agXbdyz!7s&0#dP(UB2Dk2 zaXMTIA-?RcbX>5rkpkXE2Jpm8H{Nv~hNRmiQHp&VT`oFUh^Oxz(D)NpU$d8H7=IcL zN|WKu?H*69h(`^0R+F{?-oE90Uvvd6IV>T!pOm;LEaQ0=|@!(~@AD`qv!aDnWwA3_x%t%t5?|74Tm%)R_C&#oA z4kq*4q$Mn;#4(ox*vzFnCem?`@Bf0hDzHX8&CSR%&wBDQvRo&_Rw=ytoq=?S&v`CH zh9>zFEQ{8~G(C&-{l0QR6bBJi11sFh-gtOpq|k5=Y!j9TKejWpD(sFQl6L`8Q!bMi z7HtZwRqx;bBztrq(f1rA#3Q5B{C-q~)!G2DD0zWnu9vXdb1hDI%gZohj2jn(Y^$=@ zNhz4A-@QDIBzukfgY=>R`m*g7Ui-A=23W9S8bi|Ixn?Oo+U)p4T&5P3t=+LX3%EP< z(~#r(uC5hNe@#czpnpcj+f^9}PQQU!(^oaP4H@r~!h_kP$x8y%;+>6ic4k?Be+eko zU|M#plu6`Y?MDT6mnPv-%Ied`!*z%~ZrmnSve`C=&hc{gEJN(oFf#9u`Yj7>l1a#h zIQS#O1GftjhDn zC*<2#U!krr8!ZO*8kw^Bt`wG>1YFy6SCyaCXIjB=vGl&7pPWK*OQ`tj8kK*8;~O? z4_LE>gF2w0_{%%RrU-xf%*JXd5}(h5zIaF0CL*V(lKbkw1+`km2UJYam%NUuI=b$2 z%FS`Q@{|G~CKT_*BbL<~o1b{D77qy<IP?pY?QrzCu3)qX0NP-V*3_yCdL?6l^0ZREvZU? z_xMglim9}iauX|wpKct?1iEIMsGTS%ERzo=H-)PufdGUZVa5(XwzCV-10ehoD^^UY zpKrz?E8bvn+}ft>W}^_lY+G%TBsV?kfj+M!ZNm!8M&3T9X10%ek9ml|EjEBaj54zQ zr?^Xvt>=TQl7XiMG(Zi<0@QiPIoiMzl@NEPzKYaCZ5Y3Av!<)G_`Yy}3MaQ{zQq9{ zTtDqjRrz-6UD15;eku?#5|BPIBaw`zi)ol7^c6pK6Uvp&p25$xg0?qT+oUSl5JolT zGaNFR!woGSJePc%PUc)T`_SU>tc?3@O2~GBywMvx~jmt!*AVQBBcI_o? z*jy`|w~&G6sv9(bDlBif)n&8DtO$B~h;2T_xp@ z0S+jm?Kw{10`s~L;x@DeRN8&1d7};C3iPkg^4ddVuFXc??WkFa7I$|#K|2h@d*uGp zfgx9s%IqLPa!|3Z9fNH~ZgxSx!)aCbSy_^FTt2X)N(85H^;tso?n|bc!t_7Besg$? zyas~rNu;0>mSZs1;{AY^TtCO{HK=}~l*_rjC;mHn;oEFYnQm!3I!|&yOz|EYY9>W# z-F>$+V9syBNrkibXH>@}Aey?~6 zlg-ypWc^q(%2uy2$^kyQW#~KU9OJDxa*VJeCiug6X=t}FB#GPOeCq-BlT$M`us$m% z#FoU9*+y%LZESMQ_o!9x#iVXBC~f;YnTt3WJi{zDFRFJ;P4o5?SCR{8GO$cAT8?B; zu`1?@I^<;`U>j~KZx?Lyo_o~g#v@^$s1#A?ETQ54BZf@9D0A<_4{BQogiZ82~Z zNBZ(+u;{LQs+|lE<{Po8h|d1b`h?pRw$*KH_e{Onlz^NNjHjkw6Bp0nvWtu}E~f3s z{sjlL|4;`~V9kyFge?h^oR#(6ZN2}nli17ZgitwWvUzEcjQek2VUA=Msb#wz&;99y z%O7h&L|(5k*S+tWb30ac+PU8;J>~cQNqa|>HU1z2ZvRl<0aCfI$HmuT>Sj2%E$f(^ zV0}DRAuF%4xdX7Mr-C@+Gjeo_~{QwPRAW87`XG&ul&G(unMSKt|%b1fU z)TvirhrFWdT!phTCxPM5Ch>6Zr{ac53g846#UWYDM=1-5WK~Z5^+*T}>{3PrDqD(u zN7lvz;!fgG>N0Zwl&B^~D9m8EFQx;&!o4xYtP3`PCr?g13Cx)E6zUT+<|nK+CP>Qb zJ7&iBGvbS?1r5(K9kp8viDDJmzJe$;h)!X`f)wr1Cukd$_ion9@w2mQ`47mlLTmKk zvvVki4n0@wWzBk&^vDvLK~CHkiwRJ1M?33tM{>kQSB3NXN$#qVv`;U!GCW7{M$;&$ z^qJ0lBpC2;HWwfRtS%4T1WOESA4fqF8=X&CCcoi#L=9thR!*hRo8}3&U6<5_#~Oka zJdhhl{T-;7=FJv1`v$0SXa{dHJ9{QBaR-wy?yrl6p!(%k8I^_iJ79=aIB@cc2La&9 zvm0~rA=W9|r-6yZIZUP(c zCns@gfmQF1`Y~_vU=%hiNHuRME_<@#c3Qvzq$ZjCj;vR}NtwJ%#E=9D&gjT1{t>1s zf39+v=)fhk%8Z>xy|O#9N<)-=xc$CDiE^@q0<2_{QQ-Zkw9+f^%M7{;0yZiEL!+`2 zNIp4BTa}_U;ctY0-7z`Q&_@w9mPqfo_MR@4#{p^j$;Ek*w%OL00GgM1h)B`KNXxhg z3_?dW0JzDLM&xjL0DQ6XYf$Y(RYv83&*JXx!e}?xSI7gI*%4|E+}8{N`dRlC0ICU4 zp#JgEZYrE!l0&9c`A$7T9adNc^q!Jc56GphasR1M>MI*fW)Wf6h2>C*K@-d*C%08i zynPEl0kxzg9wil^%NVlkDKkJyh6Zgjzh=X`Uo5+9wgVpUTnrXcDLCf`s7!(M*&sYh zDmAjnqWnZq%gN zxo$>R+7Oj9;p1v}|i0iel zxS587dp`_Gkx3+uA(BE*G)LbzFmd%k;Zck6JnsTGp>E?MHIELwNaywZktLVq^2SUE zM;TEVspf3lNS^fKI*ISN+UcsyO7QlUYN~?w6x7M0(K+EwrpI+>CDY^EUw|jDP#l!L z>9nk$!vn?D+G6OHQshX<1=5vr;y7Dlt?lNyIhriK))N!LvA2+oz&f^~j1Uvk^K3kV zntjEvt9bJQ5oT6DW-?trrK!jG01GI8#hs3>&;KW3B>C;2rRzE@oYRiZ8dX1pn zFAyuqJ5bM!I-G_Zlbq9ha(9(k#wS6q$D3wI`fGV?f+yMt{_?vvNrLvNljxL?uy=EQ zVFrHt2mBA9ahzE{#s>zLQ=a6YEEB?`r0D=Wggn;rB< z_mb^1#VaN{?nyZlp#S7hxgkls51qB&&>FDn%uW7vR=k0fmt5?XUF&!hnjKn0-n3r_ zgsmp>G0H6TMEL_b+@k5vNfQ;ul)F1n<;(TMcj_rmI5Z~IzYq1Rew6XM$7m1l4-k1z zsg6xc6ucjoT@R_B^ILVx>a$Pmb7*x=Lq;KNvRh>q`TLSS-0%}_Lek^q)&n#NMO^}p ztUqYf8r8Ft*8P|Y*r0O3}mTJd>0C?Kq<)?XrF533z2b#t^xW`_rW zaoV$<=-oM+H;z7Yhylcizy8PeEYHOX)*q(B>H%q+(%+rb1b1dhWAVfYB$}0nK30Y5 zSI0RO5m3w%NB8osIYsW}iPWnHtXV9HqLk;eNO8pc+~KJo|k7aO-37N-r1o*7>%}oa4>n!&-$4bDU+?vuR&^gV*8`BPhe}vwJ1B%tJny#O2^h+Rwb$;ywysBa6SoX#}~m zQZCUBzTU=u+k~3MtjY2G0KoBvG9>K2&=t4D3_ZA;Ew@$ zEn0N0h9AJ8cEeQNBOa-(je*t}xyNF(_2Sz5( zv$wq9SH;w*Rjb5THq3`{&OMB>a?t}sQ|Ln$sW3b%ckS`tYw8wEk}?s);y zAG#)j)w{PQsqf1My+zd5n~*Kp*q(q$&W54f*Vywg4?qvBkGf|hZFrO-R<+);#2op z_qmBhHnvk40f~_jej@2-TMAW&pz{O9SSShI9z-;rYm$WJ%{ni;Zmgb;DYHWxi9E4s z^~uURpgs<(JWI4>o+EIb@+xyx%J@^r?CEl7IMKwm57mO&;`pWBt3bSr zq_p6{a^H`E?t$>#ib8W+hx{Qter~>Rj)a`tmJ_-B{aT;lPeG9od$my_V_UK$7p!{4 z^}viub6yyODR8^6`wV%-5Y{HT=PGCL=M$Hf_wcOW<$XAohz0Gl-}zDtq-AH0u}1@7pxtSeddVR%3~v?j zjud2W?wsy*@qQD;pKrXg7^COlH43yb09%>D=ev?rSiR7#?8~Sxj2Xn@b)LYVfalJM zlZIHB3+i7o1lnAWs%Q%07%?G#KDL63vRPLSd|uR_(2Q;p2}pumS@w#+UGX9 zC1{1G;w$m1mj8Sv&v7n)ccH=C9smj-dxk+hM9aCjZhMy)Vor&ju>#1mXCjbmUpbOP zd>qh3?6dg^slO&oOPD#hVhE%(Y^Th+Pdaap%CX3cHt0^Wr0KOaLZo)i(2D$p>Wicq zS+oTrW+l(U$YrStullOz-68RHu1lJvU#ah%q*0`Y{DoR*VQoFE$j~=S z^XQwqt4x7ZfGqs*)s=fj99WyVp$WFQLXF%_u8zdrK+hcoInu`aVko~A*%D0Ms@#ksh6Bp} zA$~BGtI=<)uGN<$(LK7g!b-!piKPNwe;ex>N4wxF&5{+dF)R{W!Rbt+cyx`tzoJVq zHt(RZ4H>pxH!pq+Hw%8dseE)}ilvE~pYSWst?H@WsVQ7AXoYk;w$6v#pQ6(r3|D5i zi}knniPv%g0NOOTcj%8}aT6P;Ck#KT6rSJlRbZ^bp;|eRA@tVfeUN5f`bM z;%HEFCgCHFaC%oG`DP8hx$A&b6uq&EA4CiXb) z76*m%4qukNW3vms{%{SXihZB}e;JekT1tI()8{;fe9Fb{<6QN3?59?-;TF_YgQuUC!u_^=NZ_?-`ZFRo zvxYmZDrLaT*tWM}Ttg=X_Bl=i+u%X;0lE-r*(ER8+?%R?)DO!q)1(J;wrG@*cadv+ zv(6}KFIIdvJc+3$Qf?sIVy1XPcNn?)A0tvH=V$?W7~lI9*Ve>bFHtJ_35F(kV$uHe zpC?=@7f(Yx!YblR&f11~(21r1ad;xb_z%oY59VsYFzvvmb3$!0p1#;KG!z<$K&0oK z@df#PX(6Kx;`?z;s&+_w9r zGg&6`a0a^N=-7me@aj91cTiV3U=|_PHvU}B=<6f z%Q)L$$wzIXmE(5{rl8t<>e?zBK3=pDY!bpClkNdzct%v_hZ9d56+0`TFSL<8Nl;XC z(b*QVY?@SlK;C;`?Gu1#>jyi69ndyxpO=WEPN2eEQGp-E?l=tD{(CdFVgtm~jey&O1(Zt+`ZCMWq z$~gW1z?b{j#xAka5{hYHOWrA7Y(KNS>CX2zGo!2ffrp`--fhViM=#q0+# zTmRMO86k}kW9@`W5Ij1rbCBzX0A-|Cc8M&z5)k_qQ3vZE+abUSpXoKVv-jiuJjbt~ zo($k@N@l=GR9jmgOs7qv1l2D^GFkVCwu>wofQMXBIPuH}AixUghWnv3?OJ{!8*k9* zln`6;5(si^SU=XBt;Go%l7U4a)F~gE3HH5d3OW)hz6dIfC}x?|EhpipYqN^aw>^3J zOk#9-8c`*L`+w*BC>#N4MRZ94Hulcp;yzz%qHPzKrthf6Xt;LA$%cx|sa3bTJ2u_B z_+o04;>+APOSsr)u;P5yKp`rSgSO#i2GQf0N4qEOw$a5H4<8C2?R*3snRK(@B~wV) zcm`}+7b=b+Y;5xYM`D@RjiL;%gS&jj}17D2kjv+J~s@p z8uE2^@9~s*mhT~;rUC%SmDp>R*>ytRUUYyn-~jDa{+y!MQ*@$rmEB$et@)D&J&JK$ zx}zjmGhrG+8DmJVLiZOlmaOK($lciilN~vSsw#$@vcoY{451mG9;w3hWDM$kUI7OieOP=C30S7)b|jb_Ni8T|OZ25Z}J@;o?-?U6R4H zy2B!VQ<0~dwa3Rng87yklRf4oKHn4{#dWC`wx+m>#`x{B4+I1P{2kJ;0peVICBBmU}bcqj$;JR*i`IG-NY^<8asG z>ukGl_EXcJuG4kz-QssW&74pyI9!frED9o+-hSxd}V407$pV#dr*rK@CZiiyut_Tby zK8_j%QVWA_Q+i8XRP=mNa2ip~+snz2I18yLHzSc9IQEwbOm6Xvf=(4Y^VahM+dGjj&yMYF%nw8&HAb0h26I@#_1< zm)$ENl{tEZ4GFyVWcO=-Rbyn&0K$jOYcWQXyI=wRWGkX!Y~Zr!T16-VQEAn|>rSz= z{f=swN!9G|>#7FKP>td0t?J5-5;h2v&vLtqv~Xrf)~mwn>aA6bQ%jd1_=Pp~P)0V& z>ErUgmJlBV;fH~i)etJjW=%NsYSocLo%`HUbUOW|tqRt?IOHrto3(@#-=IX)uxY+F z&)T$S!X*r?s3^QObBsF`qmPt|{W!_s_Q1*}M$P8DDj>T6zqo#72WCL?IrXf4Z~iT8 zW;iISrR~mp%aReH23#_hvt+@PVe`yHy z4~T?wVSOL6sH(*fzC4WJ)TFbB|F$cDB&(dB3LyZWv6#y1oW?^Ntl#QO6wU^EtK8jr3Vm7;XW-QS_UN zoG4jRG4#ezQ-z>#PChoT`vSvV0R=8KUS$ve9oCG>6F6WP(Q0U}m!@V=cF>VnS7fJK z_N`3~LXgTRXsK?}38nc{ev#mt0ga2Ub0Fc<3V8U>wY8L7M*?Typ`#h}WK{CS&bj?& zr+|)_X7m0R8>q2R`PJSYK@Ajdh5txv8gPBH;->!=uGo-vd}`rLZ`kYL((?lTav&*Rj|8}bQB<+kmxGvNB1r6P766IEaTiGxe+gveNqYl9NP^xb4yXfNX?8ON&K-43!KRl5e83ShcqfEvA1$6kWU{fey2 zF&mu7GQfc65LB&jQSF{BvfC^)qL=j)VV&aOothTos3%qBlt%WR);g_=C4g#|Z}dB` zIj3+&WPJ{?*Wv0}XgB_~*{C=OTU9@NXR}R9oVoS10uoxb;(r}pnKMO+^Yoi zd~RR)8bc%HaU@lv_S(IOCUS5O`ughn45rHp-2t_$ZaIn5fZyUs4ctj_9rwoV^ZmQP zA1YjX=?M8%5Jg`@4%&{_A)H5%XB2=+;8lbmN9A&-_BG>g{pJ#TWz6!dMo166%)ZkT zxsx>V-Z)BE) z{e+6x^EVz*cR7uf(VMmM2yK3SofwG(z^ZwCT9_40-<2Cyy@IUE8n-yaLxAzvHD z->sm>Gk2!$L+S0|!dX)8tBF8#Ia3vD15>-L!dy=OQX5)Co(`e6_#&sB|G4G|X$}jo zp2oul$LH?=ttr(m!bL39S8tlRUUb=090MY~6Z1ms>qM^y^722Bcs;D~<_0D5+AvY0 zUXf;nOn&bY5oax%aWIOB+v?J)Tz}+Ca2ZbSi?1@K&8a;(3O*zR^*bxN#An}fsZ+U> zwPEiWoPnE&GEkvck-&|d2_>2a_a3(YSl4ZLn0Jiqf=5|kUoWZ|e6 zr${Yif34OADmIrr^{G<-?js`ZsXy_IyRKSAZoOOHjrEX3u>1V^WC7FIClzJ7J63OE zoa%jNQH_>@dxsQ-cKq}4U8Q(9*L-Omu}#6DmQP@+)HxyJV_@HkVoaEK%0!ToLG>;h z2FOyPP~pE%3J85G}LAeqE`gE*Gy*;d$S}t35463I>(}IQJBAsCW;* z^^spSQ#`ObUz}xdz;)Q@okMTPF(n1+?L_^tGN$3EQ{UPXIKV*h3ku#DSJCc>WZ|@z zC=A7eYH58(HnAPmvv}P^G*ZGkEUtBT*D)3WF)+N$xu2(1y;v1|$grSXqjW#x@f8}- z1Dfyf)o}s;M?0$Nq3nH}Pkia@&&g{f-I*j=%A+$S`b7onUKuBI5gdYw|BY(`ylQ9N zU_32Kfz1^%#Lda-#&&2Udck`aZ`R^^PgU%Hc^Sv}A6dpK3RI)9m;Ee#+CNOql5=Ln zdC&ei<-Vv(!Bo%*zl%%h=D|nfd@*X6S&(*l-tJdePa1FU<8c%XRG{=zd@yD=<3rDJ z3V=ote0Fy!?L792_>nAeo?v`6HXCux9L_|``qt5IWPx&3Pi zH3FLTZkuU5ZS#~EHi$Q(w}JuyWUA~RtDPXj$~*^3*(t1*(PK*D`w3{IZ-|ks!M0^R z5*df+xq7v0Dajt}+5<(G&eXokvlYRy>Pqk~jf-Wwi%v{($7Ey4e%l!7J z=W@TSMxPU5JKV6X6ea6J@gh3%bo(KcA~{>t5zpPr;SN3ZT%v<&YLL>! z3YOU!FgknDuM$@t)qHVzj0is6!H;%MYVWmdm*P_M_)m(pu{C_;~a6l z((yc?I3p?ph_Z`XVPV3bUIQJ=-Atoa6W$xkECLOdSKPu*cA8!eEXEE*-s62Y?os6# zl>@xF$`Awyef-|~5qCHFSx}PaE|mm|&?e&$8B`AY0r)KT`A~tV8gamHzuhtJ z;r@PDgWl=`6P^DyYn4527X#e z+M!Zp9d1W$ldxdk9a-@%hJzFR#kbO$!{Zbt<##ZH+0}+KP#QTWA^LIqTs?q z-Cl~!0ZDvTPS&Ld$O^PZC7nk9&6N3J*Db5ZynuDzp~V@R7uYnWYv2k16B(9ut@b`r zdUMx}()+-2b~&1?bpXX&E5$e0QF?`TdprX!(9S_}w-QcfjjZ3R-s;YQzVzm|Fi>M_>c; z)w&}kP(_hPL_7-Ox)5Xglsia=)3LEqOMAH;(?)e{Vk*b3(br1_4k%(&v4@e>!- zvmA21*~-OMWikz0MAb@Pb;d<4K-l5Z=~H7^E#tWFV1|f-eUolG7}bBMIOu2%UlDR= zY$+gGKqR7z##&fegoW9hfKEsN>1{RPvDA5xdZF#afHhQh@ZjQi_i2c0v$hRb<$ObR z!EuAk*`(!e(kLSm%l&tIF~ONZjWjTrlwotZN4vGajS%S(_rbYERFh+M?b`C}UDjHX zJ>{2DH~_#Gr(^KR)~{Ui1c4r8JbJ>vPQEhn#0l#3fps!h55>D=qNCaOB4@_f2k(oxpSw+|(Mm}pO@W(^WJpzHBq^ZFZ!(lv|>e${S9F%WFFnHSt7j-UV#e*zot z&-s+sNfU7{0q#!M7oP+mT=J#afxX1yszPFk0_2AY@4&s~_XK4AH4CILUmTnrt1QsT zmie};$gR#IVq%|yAULX%K1&r@Rz{h!%P3fzt8QoZDcJ80*W;O;Nu07$8cvtCR56ae zgSRIo1LKVBjW(ObO9h>;G}l>O%N6!FwY>_aB&> zj)Ge%LH1+3HCYx`=z2RW>VuHRxsm_}u4~urU)` z@_+8yu|6+H2H@Zc3bS)_DL$BUoi@3p@0bS1 zyP;9iX!?Opr2(k1{tU+&D>Bw^nQ-VlD0f2o^GSe|$22 zBO7{vEjiYkiS|N}qCu`I2FO%xj5WI1Lnm|gkL_?i1pqtAOJUB`l*jfxkSknChwww-UTo8L59 z`UO|*)#-Hte50lnaEB?vMY6cdmk2@yZP9I(%;U1Bdi{D}jhKd(TI=4ED1hr;)b}@e zM^0UXu3XTX+4#d34xdZl+37mrSP(ogQ}#y|IQA!)ap}XfWYC8q4=7UicFMk%v=Z!L zkTjp4IEgI_*9@&Cb(3+X^M1M^f=7|`@QI1_68W{r_1I?ihHdE}C&6a9mBy;-FWR$> zH^5n!by1}ty~V-=2?q2!7LkG9;%(IKv5XOSgKh~OVAqnuwe>ERQbfVT@?KDgfcr?< z!M&c|#cLA#8!v$sqs6vR1JqYrsq+)o%$E0<2P#_j&y9vQoj|UwO^wf;hgE(Dxf((L z{I$M!T6(LOdol|8>no--6hm5PTw)De#g5pKV3;JWjC{H9=OrtgjKZX_CH`u5KKSYc ztU5XKS9Ri^F-u|kC$4eSvroPgM`p3KoiIo{Ke14D(kb-gC0$r_MuHOm-BCbNHoV*; zEvTj4jv%(v{i;3XVU48ev`h8_=W4iEm96f?HC=;_C|FVIleDIkzhFta!o8Yg;sP7_ zEe*g?o976|CDXPfEctGdurTawXq36(+DW0vwl*w~)#0}=R=W8%^+b-Mcms4@@f32X@t?RYEKHh${AMk)?Gm@_luEO>Up76?=6KUArfzDmHMz{r=)6v<4#hR0bj)=J6_p=V8sLYVWNSiJx38Vx8lP9?&Yc>}i0> zkIMub1oLBQ<8~`+X9KwDRUNEHG2d4E;F|%Hr;S-Fwh>n4-sb~v#9%f#g1l^NB)G(4 zitNW(tjPeBXlsj@30XV5$r5{1c|IIZ)2@*!b#!np0oJ37)dFyn>sZ)06$F_KjqGeA z3AZQ!=+%lx-;I{)^H6_68rjfkm3SiQJ_7DAbP<&}xiAFKqgzg&2Cgrux-hIdl`&JU zdM{g+hH?BJ(%joXssu4}vi&Sm#M2p+mf&Q^T^LyjLTb{2*CIazS5jS5A3K9(cfL!s zK1&ZugR-=bEQst_{5xakcBG`$^Gwk-V;w zJ(78}OZqTNvkp~R@pnOzFh2GDCvg5PHPrN!sCu?AQqiyFOe*JTzU>Kqj^js4O zFF|J!7V1EQa@C#L==$};MPl>0W4Z&YQRn1nv1F!zY?slLM*1*4NF zvlC?nm}QlRC)RD*PVuf_n7iE=4b+;u!eA!KBHT7y~8?QZuH+9z@)jUGiC%cmk zXjR#K00Ch9Q07dV^k=7GNFqNt?K2b0_uspvX_t?acQt!fie`!1PS%BC- zK7R=D(Ur;;;hjQdw-YYdJ_-)O&bVC(qOSBu348ocOmqBy^&tsv$4ktzV|7Kwmeh^l z{PWjmP&!$4Gwlz@Z%DmM8bpEjB8heWIdjuxd8c4DPfapb^w}xFc2LT~jTT?- z>5e4Q+pp0Bws-bL>AoF|oM28IT5t=5`YWbz&4(2G;6O!P5~85D+-B_hkDzjxXr`xU zr`qw_lRJsf?doaJk2+p^G~$SJ;P2GQGr0)MgX{Z%ZonWVE=e_SWcUph)`heeb6KM> ztJ#rUlDuTmL`9UlNb}oB%Y&M!(wUQYxpuk=!Kp}VMyu)Cuz;`??B5e%Z2ac5MYn>) zg>%-QaPt#+sNX@=8C0K)oO+XYmp$eEK*&C}2vFHp;BDtkwzZk_`A9j|eyO?s(5o>T z5v8HB)Z9yw#@NRrS7!PUcKEGJE!D*b&b8nZ+Wd9?KIT^j& zfXpv4*&sFtX#^2O1m*m=_OZqi7LNA`sOpFrC_9zSliq!e>N|+cBbwcj(G!hJKTqaNuk*#yK}irCt7w#+y~TjV!iaT(5`r73`?z6d#c7o_Eu@N(_t8* zL~?txR zhcuf2KfTB~sROY0gzDzWCh|JYO@#{Rd|8MLM2mTgx{x}n6Vji$+~r;0l(9Ud`H*}> z0=WXXwtWl$3!NEhe}`xQfT7JY|7b&jdTkm47C5(}Z(;&{zx)gm+tR4B&Yz%0k>tLS z9G+ERrSJ`Vc9D`S(mRFDL~Z1`VbmR#4Z9cRtDAiFZ}M1X?O&Z~Lx*!e`K0-3HeEZn zAAJbf%w9mML=nN>6^2gFr*G#vi;YhLE}7o-xGN6PalW#t9C+-}CQ{{unZewzUh)LfhEYLlJ!zl2A49Uz`B`!A$A{QL?O>Pyy^-Fi=1q!2e^{>T1U4| z)mkn92|hPy%uh_Cr)|UWW)s3>MYgL2Mxfejj!Qg;h-aYxb?71lc1<{v8tgg2@@=?J zJog+MJ0CKO6d#}VW_b!%j=kTS_*EPvidb1DY@RkGq@^e-6Zv2vB!v)Otx!FpdBJu@ zBw{<;WURp>D4UZVqHsIkB|9=yg&Q2swgA)(B}%dBV8?vOSNa`P8r6uiA~SSlu~lZh zj+DTYn6KynKN;XSnpL#7s6^6c*6eUrROy$F+6|8HpKoqPblKr$-y$w{d^h&W7qq4$ z>Vsvkd0nwuzxO*gcrF#(VuT?lQWkc+vG93;vGsuF$6q^BaEVzn?~5wJ>l}pDw|9kC zfj{)(LlCqmANLSXf}HcdJ>J z$vhMUUm{oGAT(FCcp68`Iwulrf$WXE8D^ThKAj7^gce@bF65%bbheIduh;S9 zsLIUz166svGFm;V@ucqXagIzvqG|F!?3!iBQXd7p_Hj)J%h1p6lM*^J1$V_bxt8J=gO!NP2 zkD6=5yebEKG!qp8Ka!bvJs(-#=8#sajHEG)PWFlSG9iU8e`P!T<2PpdcVbN^m}nn- zsYz!7R}f%WymYuduF(P9c?^ejbJZm=zZ9nYuUv{hhy{KPnTtE7Np(UZ-d5~@2jq(W z4rDlJ=w>E_B!_>Pa(EcCBDk4wheJJoquXxsQO@D? z{jrqd8VKTz$4AY7oMM#shYtojr{@aE%}Fjx8zn(q5`lp4sAju;_koFc{;+MgfAzdY zl+liN*osxmuup)cVo-)Dj9rq8#N~XXHEs5Zi9msWLh8lbJ=`XNWGjM%11=036!mvE zZr@C%Ab?!Dy`zZ`nG+{j{5|s$uT$RK=RBlQINfLXxcw-vj&h1N+RpZca@n;MtsN3> zNj%PBr=9J_9&2Sx*DF?vV*+Y0%f(x!F$Y`o53~ zwe7c0AZ&cf-cPRCh0`V9R&O56HG@eXOG~aAF&SUY<>i{_C9=N3)^^>aj>^d5@yM3r zP>oDK*gDui#Nc?P|9C({*y8R~N$NC7+c#zGy7(~!*#_Xbf>GF5<*cBtg^H?Moee6g zZdlmwaORQrjLi&M+SNqqvmt0;N}`mpzQybs*fNk~-HxJ~fNe?Hn}e;LY5bEKooL`u_Ii`wN+IG-fK6es4Y4 zF8gco4Uh>3o8R^EFdX$YOP@5)6KnUbfwhJTnaOk$V;lQ`0tq;6@Yb_)ViV^Rp^p7gN}mQ)9U>^Yu8s@WshnM-R@47WP>5vdfh|>(C5Qb z>h0y`++N^K2t@$4WZSQjaJpjRnwK}^1pZ-U>TwNqvO9!NmpWDwg8f{K>=&)cM<}Oo zFC&<)&GaGwGTA(H7>sS;X3GqWFR~bBeTOyPVfc1(_p*6Gr5N2V8luZKv_&4ZW9^8O z)f=!vX`50SwhzDXjUK}_f=KQ{R;U8T+}FI7Bg1WZ|=^ zf@Cmz;-QMd{_)zzSx9Z{OOX1aOg(otEx=I*XDaiGSGh_eWXx{1g-vm~=R=gde3r8S zO+d202{K2X3!_#6t`GN+o1Zw2}l)CGJr}^kgy}Yn*)=zaZXzs ze0vDxcmlF?nyorge^38B53tmcPDqN^^MS} z@5Q7D_VdYW@pZoKakY7xUS$AL6H&||rs4{E0PJ=sVZ~j{b{7%%e29-^F>~uzabOSU zp5J}@+`a=^up6|b*hH$osy&XjDWu?v2=FF6Dn*EKsB4wofx(9Lk7|5)F|b&)58RIVHNkbhp|A>Z zi7kFABjiGkQd6Ojd=M}%tWLvEF1w=QK;H$k_o|gSc7_hJ4-U(Tjzr>v3*tx z@aIbPjOMYdkqN@ZyhYM?A!5 ziv`Bje)}Lg!In2ERG-`(;Cscl^z8x7Q{=nJld4}TkOVueX;FPqT3R)wVt_owx~4b2 zd{^&z5_sIchz4!(UemCjpk`Fpr)yd>-MzY$X!NrU`uI`Yz)%V0gDCpyY}R2#TuZ_7 za(h9UkwFi-bbcS4(|@ZPG#0v6TvIT!g2eiz zc0F|;2gXy$zm=t`3Tb2|R=j-FX&AGcNXf>TiGDI^RJJ!Modelc?nA?gsV^3)6Gk z$U_cRW0`z)QCT6hXOJgKcC^nf9dnEaR`>n2c|;>+c85xhM(X z7E**o-(AK9M|8Tvbu67Cddu^8)tB&?%IH+X*j+lIOiPY@*{peYA;}RMr<~QN0uv ztR47z#^ZhF)uWhUpbL0y!%nZ?>4`|@aZ>W;Vt<)`157F5C zxd3`v2eK~F$~Mqij>pOvbd&=H7I-1xQ0w^qr}ZVvZhY=gqRK32Sj`KA0`M?~^={Q8WRtLqv4_mbq<$lH;wuWk+=!i*sKiDo^xtmOgPJS53{0SOm5 zXNDA3R7}rur9GFRzwJH4BMDJq|&bAeFA* zC5)wlT>K42oG3N`GNIpl&x=Gguh>qRbXQxMPbOpy@@7Wm)yUQ_;=p{IV%W!Lw=>-V zxan54oo-q3t5eux8dV#tNw$nwWezl5bTFIl(;M7kb@z$xr`*H?As}^Of3cv*>_40= zK4wJLGvh?wu2;Vqk1Ed(Z49}qn5`$5q~BnQu1hZa?8_;5GHJJZTMfEg{^1aakH5>c zQ~3^Olx&bE*~f(ZaB!MmXG_@&o-|#URHSIcg7jLYPlB#x`FX(-GA268oM-fUyu$)} zMDu`qvF$c#4;2^#m#@{k`?QIjAJg9r3-o7~DZ;nHj%gQcnAMX1UBR`B-t#p<4Q=_m zb0<-#DZ&79(aWYB!#`^O&Al9ftZTPxtyD)UQj8YVdb)p=IpS-<&4+>;_P9lgC2d+k zYx3-6^^1raw{5vqTp6O@LLDo#9$7ivu8AvPg~E^*9$90aJPr zbGCNH(S+)r!1XUN+Pgyqy}b#$kC5g}*KH{21!cPD?842n_v~Bk34>)<@Z36XL#fNI z;DDG#r(uopQya}NM*m;zx4uzHl)EbX-*Si5U3syq>dc)jTQ{>S%HtrD-(212`#IQX ztSs=(cR*==Y4^CzH(e-PC3mStfKzEtiB2-pL;44WaMuj9$CVY{^5=U6`B55I<|-OD zO6N}EhkY+(2`@mUR4KKuLuw!2<}B7^q&Qyl#9nDXN`UUc_!>l*L0GN^ziL;B06Q-{ zzjVJ?UHwGlzAWqI4OJTeZI-_Dx^MYPpGbZ<;fSE~&m5Gff2OkErL z06ZW9r0W{-x)ayQgUy#|+d2+G@WF5w(kKT_tM3rq3W zix@Xw>jLFBAj3btNh6pxPZXFy#1gKRY{)J(%Bnbc^0{O>P|%{Ze(aeJeE_O}7k}%_@U3)8$gdxL4>4cBuXLd5Q#f?>=Pyr38+c z?s0q|PU4lv5Ib}^XMnGCDB%$zx62qwTk8NHq!Ubb95EKR1r;__=0rLpa?gcJhG8N5 zyy1FLPV9kQgJ*s_ZxZ`16%vcsk*h#ihn76AvC!~c(#AO9T?VRM&q4a_2I^6)pnk#` zAAe1*=fKT7d$s27vOrbV+YGlql_(yP?mW;QlsOCdSYOv%5yn9}>t@o0<{G|JkU8*P=nYP=zUCVaha0@5=9n%~uIe!wfCMi~v zJ8P>tnw{u)h@CKV$Bji@iCLw10CTLOx%GbK_nid>&J&$joA=SW)j$WqzItWPabWD$ zusY)bW>I-sqLS$x7bbol3%r#<_Nrb}@x_V&Q|*^R19a&MpP*1z6Y~?(I7r=Ol4d=wiV>0dTbPnp_eEQzj=q;% z*&8dMXNPI8nnC0mm3u+*HkTZ+Ox&bH*`V;(t$Xxs$2dX&2nbEWlB}GNf`!SVtrg2?& zutTTz!W{TGLyqN-+I=R(G1V*QC_XkRx{2aX2j}t3WA2F??;gSQ{!yMDxhbuaP0qbz znd~xVq@%(PE|2%@+EKa?FD8KfM|^FQdPrl`_U19!y^my5g>6~d2K!^?v+A=h52!EE z4>;|G?As%Ipchc!2x>m4J22ir+h<+a6&0pcrLc5n9bjQEWEP#};;>i&0}51R%p!Ir zqaa041!UHXg!+hPxVqfVptNs74h@6PLxsUER2CE>Ua(3PY2S(xZ&C_8L)At5Y%EKE zMW$vb^KF45@m2d8%h;E3r?!Chojlo;`t7o$vaF@>;|sh53CLF<(?GkG;5JJN`;KXD zk-NJjJUiV?B6cq3O!?%vsEtZzzpwQgi92o2)Kd4|)J=v%jg0Rv;C+NN3IOL#LMq*K z+2D>Io6VFP1BXrXlHOI2Rj{uQ;l81q29aa&nt9Bd-H*m(d2!mzSrPnk@4u7(_;^`Y zmqa3+O*l7b0=xC;hL^gH4q%4LCUNi`)&$%*X)A7wj!1L6gO>DcemeS|Wo-8cS{7cLgEwPCn|o%6ZO z+_3;i3b(s@4?g#*bojckVa2k6xbNdkZ`v0loC#~`7L%?ZB}>SF!GXP+UD*K_UNM`+ zI~A#BDXa@CW-VrWJ+La_+o8ADuZ!9Ut7jvKiN1AbC%5)736Zg~$=zR|)fZ;9%Xg|1 zA6=yg$~lJnI`n8W5sq(u_cNqALLyyvdu*8)*i8WaeSv^Jjx=janunvET}RpHLJ#BgS z!3p`rQeuR3&yYN8-&yrX9KdbGY~3`}KvBsQ7;T59cG2+N(>7fCvkD#Zt8|e)YyQHx zqjTv?no;?XBwyPf?o*QWm-(=HaWk!Of(yHB6SB*6jTW+T>n<%GAGNX z`qWO?WYu?)WmQHWFS1$^>H3%*EF}eS$c`yfduos=+e()f5@|d+a*l)nPg z3iKf>lq7N;ob@T?SovBWsB2r~+sGt$5P(CtXusOvBdUA8yL(z`giZ7EbhlVV&Sm@H3I;ZtAZ;~rrSLcz^1Ms?40hGL-i70lu6jT zDyp=PNW$wxi+I9(Z|PGR5lV}Pe9~=!u6aw~(OD8$jUm@OQh?#IdSI>(uIV@XEns-D>~tym-}^#Fa6eIeNx3y8u(fw8P}$9}d~y=M8EMa%Da z#ABMzr@T_#Q5)2JXlENcTX{kQ93@nQZ0}H~6wU&^w9vQ2?H<%GgDsEg9vKPFq@&P9 z?J~Mwoc)lslyN9NFXtifB9qn>#~*N(xRojdx8RUU)U)>a%H8Tw4S7ib;%r3DFNi*B zN76qQ6#3WWwZO9t;`CkHZekxgbGfX6wriyR+^bXS(+e{4fP+I^8nTe1Z~fB zKTiZ1hq8P16_-U+otwr!Ub5Do`%@@u>N}_~GG*sWqDL#z+YXJM3RBDxwN$!0GH`h| z)a>h{rx<~8zgWOAEXTT^Ale9m(wck69`g|S%^$W@)<-|SXO^!4KG=bO1YA4&QDOn^l%L~2=divn(#S5^I1as$Ul@KJ2? z!uw3Lhc&XKlOrwHJa$H>E84Dku;cuekz8Rz+r&HE>+6l$W+&*F-oHq*%0Uv;gzLYG#qXbBL@)L!Ld7tX49sFWL3Dxa&Vo&o#4Q_eZ!@becn* z09@TWel;D7D$;i}EOLa@Ue0SP69H*oN816c_r@Lh32WT=PKaa~y%f^;Z^9x3@ZI)d zOhz$4F9kb!_o3)W-#(s)$VlKtA!X!uJZXIR$r3idOIc$+JJJD;PhGZ8exy&*$u(_3 zdcs!5FEXuBP067w9P(ZGAS5fWOQUMQuSQU)kmRUkuN7N9Nmx?RSAc&xJ|FjQSBnmJ z01*e$F5xO#p?r!*{k6B5k<3t-VAK3EroD#eF;h@MtJ?R5Ci}iJ0<9vl9?=zbihzl8 z#V%Sxb}7v8udCjIdcL)khntt;cK#f*a^lV`EA&J&u{Id!qm@I?e{oCF_1_zdi;aUG zfTFxWpgpAVxurP>QE7&R%k!q{(_NdC@PjRsAc4V(+=n8(>|ai5++qhCLDlpk)igtz zpW5X|+iH9JC`V)dsjecJ5SSjdHL7x!5#qxiMWHpRv=Dmu)F!gYjuq0@(>2UmVEPz3fK6QE5bla7C>)kE?gYEGGl&kq2=9(?@;pcl zWYvKUR+#sLmBnm=Hh310b3~k047m%dTfdxLj*!058ULau>$Qkzs3r)K@6RWXtE@Xm z(xi&GdO(0%-GmU?DJaz{wI;f1(VCqV(1>XhM@7$6>62btzjH-Asxm5(&V>9$va;0u z!e{d_srCXWVYWtVFjK8@JT|?ZbC(xy&Le%9t6PG&pBgd;4k0I3U2Q$3=(^TDwCveD z_^hs_qg@E!J{kxseOWPr7W27KT>&N2^6!db;@8RW=yh{HAOvNzp`9?X1i9XJwbd}l-N%B;-kw0*=D?h?9qaR<7#u+xD3 zqE2FSb-j}H?h`ly#2??N86Hy{xw3mnA{(;lE@8W8PfD~z$1#`LKF1t$cNsPpw9PhW zvBqb&I?9U$(;KA4gUT}~-$4czlTX=^GIFw;PUYnT`%{1-{+n!Mn~L*QkZd%H6WPJB zt052nDBjPgMmor(@N@{>yQ2CitVRS7=zSkpBs-d_7Y0kFV|5$&`M^FFDliV*Z@U=} z<;ej)6mf~`=Q~MAQZ|)pyx1FO$?mR{k!9CruMT-DDYZcaJsqBx+b@_}k7eGr*#$^W zS0R!r-kqLhz5|v9z3-WYK@{B<+y@!aDSIRlc~f5|Di^Zc4;+gZ$_{AQiG<3^=#L{Lf= z5}f9$2z^&gf7#3QK*q^|{g|k@HlJ9QruIV?dnNjkq$q+^?SojVn>|n8z6DuK;MHG<5;JK(Qd;&}$)!77WYm z@*=c1qME0>cE6@eJm?Ur&}-feQB__iEk9*TdDurar5wP%TnC%(^JN~|gP7kuvrb5T zn@S}qP#x+~Ngz+j$u8~mrSRGcpon)Ud*2>x*mE`9UORGYo1tM@KYFEkvb#Zh{o+(P z49bmE%hDWSgDR>R}woykgBb5?$D--jx@3 z$F>^EU}NW(39=c6lJFk^n>|aTF7fxzXOqXpaao$iMI`G8+qr~A>0vkIbdKwD5bZzu z;(WPC@ZOHaOQ^0RooE%;;ux+H0$=6&b!;7xmGRcDp{yh^$n0}20-(q z0C)ee*5}zrP*ZO%HbYW7z2zX{m`UhLANPy7l2jig`heNS16cPF^0f;tATntONThgC zls^`zJfrfQWKP2i0Ve#b$uOgu?=25?ys7Fn(lsOeTL)EtOdk(vJ}f!Xz>6PF!6{9* zl8p(R04iC5;|l(Avk_ArNvKmG**n}a??a3dv2SdO9CSy*ZmlxIT+E%h)d|pa+6))g_VDBB%shTbX@|OwvzGh4{#uwh?W>6+Sf>hl>cCipN2Gu4(fGpofJ2BFftK!nZ2e{jTr$P7>{rjq}|(kd$_Pj(u`~)C&yR zxC zBC=ab=17yY^MioGL0Z(4zN49Y{c1V8x~Go3HT;c`sGiv}P(i}$c@P+Ouz|3PB_x0g z@o0DVpluG)z*TR;4jPk{?q%L1&Upm5vy?8-X~X+;(VHD3BBf)W@jWP2*wSs&JwpXj zflv2&yyNFQmU(%=c?{WW9@o!>b30AxILqM+A_^S+L}zt20(O+M|D#1&b*#T=f4Wcm zt8v8$=J~`tQAa=>LSzg~sqRbdqBD@XQ>b`<=-(gm-z|{yOG>-C9>8KLc%oJ!&QDn5 zeRaBHgp(vcfy1zwdJe|p<_>>S!iuUQN~~1Avcw@-hn<$mzomo2ufU#-dJC+p@y%8_ zH6-(`@Q)9X(|SiX09JI2B|ZB`mP?vk0yr^iZKNZLAcTv~3xkigx2gS4Y~w0%Gszsc z-HdCpZfaV-`Q7wS(IdTNe^LFrS{kk0cW+(#jebzB=$^y#D;Md2w(L4L`e073*tYU@ zrdpF_jAa)9VPfytI^1SWC@$=>geLzTQyvMt`$_Vw#KkvxT@W{`1%wH9ZDi{FP2Z}b zfVnyt4ts^)zNREJEbod;*1_8UKkm48eZ2Cwyrg?-kj-hCsJ4F8i`b<^I_xEG>+@`T zZE*=^;=m4_VF6DAHQo8IFOaaFXXQdsW%FcDh@a}1O z>m10W+g|z=;F)dl*I6xz>rsK(x^lg@lPYo8MMq>UZkaY~d-)U1I7xS6XOAq+xkS}@ ziS~dLq3-sLVVR7=#NbanOC1pF%&tY1EweCEzZ*C*D%0~7RGri9I}fF$sCuhzvWK2^1}5s+u?E9~B9UUt{0AQHB2s^rZK zR9^#=z`Pe%%(ls4K^#BIdAwR{jIi3sOZWB3j{gcO$HAl+@crYJ8ocDux+q?>o$Xpn z0Bbw%-3${JA(jJ6$~3Saw4d^h-sq9dV^!ZIEM0|Yp^h&)gN?}rGD-k_l~z`>I~n|% zKv36AkPN?;nKf3j6Y{GLB z{72%`woBs0#<|BeT7&zYTGRTJUipupNb_baSph|8wOrt4ZRqWWpq$QDtRCl#zY_gC ztkGeHL5d72uiTYdbv;3c2?KZCrCma5Au9j^!m3y0pc8k6HOlNv1Zl&*V+vu!WVswo zdW(L#E$5FTjf!lE&=G)TP?u;tRTyPIQPmNZi)%w| zC_=4rma7;Z_CqcP=^UZeiB?zETasvJb3oPdMBvkXdtY6E(4t74=Um}OjfTS&hA9Ll zp0RaBG+8(m*9hCJ5P){BTCQ`-1?uV$DN7PKKG7fii+zFqzv z(qQ_8(Cynfk88sT5EA2Kk@mZSLnGE&k500PRy2azPBBouk?b0A3-5)*`}XmChc#w` z_Ow56jM)xPlY#r=WBec*Cjj_Zkcjm#TQA6z>z@Qz^!5qMbqn?4OX?Ap$-OCX{Dd|> zIOj!T3#m&E0FCMnRY;Tq%`A*aRDFzT$p)$cZBfg3}_6ha_azAe^Wsj!KYFiOTH)X%{MwT(-b-obvAom@d@DqIJV_vc;h2@ zNCTq~IvWznylc}PNu=_Pxr40T2Ig{rrVweM`%WAy+s-Pb3Y3d~l(9XWakOJ_1KX2Y zZTJCXM+T`ddT_@$yFf)`17EpQMc7?q$a1_YgwTu%36lTeP!n8@3ZtGpssLD#%!Zn1 zEc!E%hJ88u66*l+wo+FLvFFCx@d2mR3vt z*iXKXO$9$uCg2_s2EvY=&c(;|T!z`z8kZm_Q~Fa4-oAsH-&^dvN!($DLP!&Bk*U;s zP7FTvY~||G1yA0-kclfYDP*I(nWJ8~5#O)(KQYyLy34?osCOV~n-p`(0lk>yMuGih zN=fCI{#6w9WDe+RdMoie3NXL8AkC0Q4v3b#VM3zu7ldWy3ZWto5s;$^$k@!wKVqS& z5_i-vw5%%y*b!&BD8`$J8bbhB2lqR$F~14Ujs&W)FDoq>svi=ilAO@e8Rgg19|4~u zbUXV`y^WdwpwS)3u<<9D(ay%^9F6PJ@5KiJb_~VBDpYS#*9?{Kz}FX8kamchJvi4K z5%gCsz7AT($+Ssp_4ysu>;|IGNnH0pJaU=U=$rdPZQ@X6c;9$Gbqe~W$Ens#j+%N7 z`{jCK`NdslhBMMY=SYIp6jp=%j&ZB8`q|E*30Tp|&^n@_{M*$@98~Z~&Dim#xPP}p zu^(`knZXkooTfO*cmzw?6Qt-;dq1&>wEt}>`?~XiYI0HwZQ^^(&yLNj$SNS@w$67& zYY%L8xao~=6OSbkpYpC==|_7kpKyrQ3A9^rk6*7>*@z~*XrXur1L6`A4#?0OZ)pv= zHUo{@%!uS|wEu1$%2OI*0Tv%ZJH}=6!$9QX%ulV1*ukcN{TsLs&?%{tB&VJ_S1Yj5=3VsIDKU4 zthyR=P~kkcIygo0KDoz8ldKi6OtOpfT`9`L8VWYSxsmijLJ&@v;fbz~kNV2yp;a17 z-1MaCqC)aRO=r0%`GJ1D^gWir(F$mY=dfunTxk1jErknyAd|7i?<^kd_LHSGgy_w2 zAa@7zb(O&^-o@~KqMGNr=V=axRM2!wbQT+{h7PWZRTLM0dssCLAUEUhzt-ixmz{wV zW6Jx*kIPsY8_Cegk=Sqv|A7fE(~l;DKQ>ouEa(Tk$_NJa5ieiX&<}{MAj^F`(nR|A zJES>?%$BQ*`&ORM(#9d&F>6yBAfe@=BnbBtTl7sUg6;ST%oR8m(!y(OAMjj`0YRu2 zX{{dC`0kt;iL8l=YM<6u@-*j1>y2dDV6IG5cU5h4#+O$C_q}S%H>XU$N=A7+Z8ZPc z(l!fBYwMTWPXYs8)CxH;Ub`@?jf<9%ywba7e@PL?KN7$j0!AvMz=8?j>DztgQH?{M zz20ViC+q1ulbKHySM5i9Ge|&O>)fRN@EKEg8?Ze1bU*8nE21k|-ewa-HNilk^CQo5 zL-zb7M1)BxQgK64SYt9)tSEA?-<$2b`#CN&_g8xa)|FfL4Q=K@h4}&*Zr_d^e*o?u zVAq#U*wG9=CQsWF4iGa&p#cTmR|YD8_f$3YJEr;RIh1?j6p|tiU1{K( zeu&+(6WoLBP3)Z(=mpPKFcq%QLxMMf;wEcFDe8p_^qWgV@5X zeTk!F6y$CH7b5y1*8(3F6B%@p4}leY2USKU@07_>b^ugzSbJ5u99}Ksb>X{tWhRR2 zcFMsq>0XD5h2`Pwm+S5Rbg#>0k83=u5|}8vz84Oh&0T-ph%l-jTnMh=QaLr0HEti=PMtl$2AU@6DYBx7MHl>%I|WmIe6+8iKNoHCxA!*-azO@ z*9!c`A*ZMz0{=2w_Gsp%SCSjEE$}Xiy;glZP!48-j^jS1U~#!7ps7Qz5gi9>)9zD@ zE9@?fTaSc6#4f`B6V$l!I)xIPbjdRE22b18?a>c<2)p?Q!cGd{E9@>dVnJi&CYqal zd~((|uCj+UZ$76{dTXd^B}~mWal#85c|F2z7`x2|!BQ+_0a^YKIAP`9($xDM(7-E^ zgK)KM4eHGx0(_{D&Z^4U0f0eOkYr@0q>E7Ic6^(%Z2?+y$gmjQNc#%%tJ-!CYutKH zqIB}a>Y%A(o)+k0eE1wV*7{lkROBYNj=_anMIXaY_S@^iM?L0ww7acMQCm9HJ?^_c z8lny449i0myFl5(+N3P2)d1OsQk}Dt2xJO$D*}9oU>#I++rpi2(c@Sh80tNRf$NfO8n2Zl90L zrCYe=S&3Jmy5oOq=!TUy7D=%IN!D49H`8(xc~WWbs6$ z2dlkwD4K**{Tw0uHD%LmhnfpZAYF_EuT31Ak=3;XDSx6Fr>J(J?Jup$lw8l^?ihR?*WnFv~eU1MG7Pl<+sIL8}VYK_$$umRT1F9$B6O!c~B8LC0>5 z3o3dP0&2GRN8wcDTtfqWTjcggMnMaQ5|pGBvkM6bhSl3Z1gLUvSS@7xBr4nV< zP{MCn(@sCz*8K@d54%z&4t&Lx2AVqz7fBe`S)nBy<-N@Q-Wpog29q0wB8+@t-sG&2 zz!uD&Qy>3fu;pP*ppyUL4AT0^xkwhGLm1iTq0C(S0U)blzhLA}h zg#9cFmkbR`wdG^${O{jYTn}pGqSiN+*W+H$N8Pt2SRspLro4Jua&v*gCt;&tcd4tS zJzbj2hu4d2_3IP5Gia<4jDG{nhGk@CC!4bUS>j{VypeAJ<5M((Ipe(1>FKgR`)zpHJ1w`wB zEWPIF+leA0D)+LvA5DG#=uZ^|1(3V-hl~b~We(-C#8(oxo#>)ey#}##rs?`SjLFo1 zDd`C0yi}syplNHM1A0FUs21A@qz@3bl54P2-E>dNmjmgnrREyd9uHXYew81`90E`)V2pSH2;HBB@^%t#jV=E z2kUQD61V{!0`1C{4^XKV=(Z)n&B}*k&E7@+txDsam;3B@P(yFq+UQUAaj$*Lxr3K( zUrn;jnVLXed;sAPyn@fNEx(I$6fhDU)dSooeJ@r6Y#qCB-*IwBo3f?fx6gBQ3+wobM)FYdd_>8yssU8Y`rQyXIYITUfxjJ* zV?CejYty@iap$wF51G*=ECe=rJagL#TTkp)1G{ePlBB?xnkge$H#UMp< zzP&A2C#|60AeHy+LJ|E$+ui)KKJHh%eV!*#(q#oEDJKR^tJ)HG^Fm@kyP}F)89pW>-WRa@GK%a7@)$jzoLYO^ifkl(4N_$GBFvJX&K6hJ2fQ zgq;DW*8VG+$=JG^Ga{{g-U#lM;izn6&?;dgE%P2!r4f>Ts5y-NgA!bPds0R1C3f=i zi@bf4+WPJ}``mT1!4}&c_xQE+hu~_Z095yG9j+uzv^#D8D(O_IUaY z8#^)bOE3+N<839VsI~@XF2d=|!1$CAUuil8Br)W7WC?{;_t9i6^&Qig&)UsI^K!s* zT)P>EAlpHHQtO9;7`A#|8@R}px(FhYOv89fQ2y-5_}7+RF_YHX-dn~dE?W_9q*Htp zFhx#Ltx3!@);TFGK-HI^A}B3ztr#J42saW_;&&Aub~h!=7nksu-UtRhzrZNlI>sr> z$a)HaPdQq4o8TIP>id`tqj*8%`2>|wtSCVQ5f=WAYbe}Dr%5`l{#lR5zFkSW zTeRvP{+|+UtxQlU&A;Mun<{C7_0S<|^6oYu;QjBIhSEhGJV|tQL!NHHzRD^yKahco zC7CyoqUIt2=gT^z$8nE1n%kjVn;bsFh6`<+Ie>y8SNE+s=3ADg*D@(muL-#?`$Vuv zrR^e<(&v50^km7teB4NOY#+m+F2Bk3Q=c*$1iexN3e=J)GJk&!txQ=Rv3P`#^13JX zfO>BoyJzIRFbaJ?bA@f&g8+nXIdgM;fQA1j^7rR{S4ggOCA$Mo)>~-3#h_#IUc`cKhh4FlLqW3s%u2$18k%VR5jcFk_J>w z&LB!sQ8pQ{Y|>h~vQ2NQV*A%zPjD&7qvD_6nrx3}0NG+^MqVz6uwbo#H14e0u@}x; z_9B-8gKIS0I`crJOO#Q))^5tv_-ourud+5hsCl$6H(9oSU5w)}da|FemSpVgsH@ji z)t#6Gg%G?W&{oL#6}QT%+Cizu`7UhlQPp|2N!1`N#Kid&p81tik%%l@yjJhQ!K#BJJg)J3XVX3-C zcB>S@-f=ZzGy7&2>v0Xl5g!ylC^i(L0_f=Y-MI3PPWVvQ$kw++ea`2^k%yymL++3} z;G)4*KgsWK#;7mGZbMeLiTodFgjws-g6Z_gs|oNU-@e3?uYx_`hSoi;^`x;~^aV&{ zYYr??S>1l;`SPM=Zr2mAj4^l_=%+g)?g~Q_nnn`PT98#wq;1^HS6s{z*8jRtTqS=4 z@bkML&xQRRRhv;cY@3^L-R-W5{>XeVKx_i>Eyz?=QA4Wi*h)oz~e+a?R1mu-^qG>A0hH z_>0$VV!7ETe=0l?@tR!|_EzGiK=U0=p0BNSKNRah=O(XxE*d3!Mb7|#*rF=k-|7v! zEbN|LSuar*68QH6`jZk_~9}=YM}ygWYzyEaP&v zVFTF&dH;vztcvu~MB|ggztabveae75W z_sHgX@+3|&RM014mr<=L7?iZ#fXww0l3D;?4ChqG48_w!Sd?5=M|=~P^qA6&sc$at zbua$$GxQ>+tBi`a0Y%8a*Ye!CWI>lUftktzRv_GTyn$(Z93w?0;33Y95*<*GY!!(9pxk97$Z07r8GCi} z%S=Jl^|zV+ZF7L^lw{#5Ix-j^u(#pgjqPfk8L5xA86vEj+1CfsgB zkAH%QYeYC<`BhlHM>F0S6iK*$YHEZuo$$)tg-n)uO#L@u9Xr$ESjI_xNKy{rw6jTl zeJanzkrSl)ugN+{m9p5)@a8HrHMwqsuQ=^19Af=$Y|rQZ%-ynAu-ax<@Rs3K(#B&N z`|Rk%NX#Re`s3c9UzO3AdG<>2Aw#o>T$=8zYnnP-^K~7Mi7C77e|=kXDH@#+>98-E z@gYunY~q7g=botEA2TdvBUH}6y1VunwiHF~Pc9(kpP0rBDO-j{177ZSm_}H}#UVy% z-6L{{ma%jX2`3~f2GUAQ#w>NIZYA)v`VXSNiUrvE4r*Q-Fd{A8Yq@~p<8j~NUKB{j zpga!1KuoPOOsm3nkMO7}+aNGk(rR#1e?=q7V_4hFW6husA>w?i!p`aTr|09!&dJUw zObNa=x|~9(qBas?b}0HKv&*@)!M@mB{@}7lRM&h$q-p+s6lVi($^%H9h9%9QlQmTbf{kVux-KgGSg!{c56o)r$8Y&0nt5%LhR zS*MI$s&&^bjp!-Y%+4{5LWZz3LdRKO_L4KOkq4Z;g6E0w-IJg7B1(1_-g8r+gnh&_ zBdFE;zBSti(8`kH$p($p;<|^v1G&ZtzYrsVT2|Iz(*RLGuD|U+;AuR5ufTb^qn_fq z*nKSZMnTs|g-A+w^sY~N7Y;0CK$v@>{AbE$fJ zQhy<6q`oO0mC{AVjxGQ>P5vpxRE%}J0J@Vb9E z6!`tA)E`ixU0>R&fp5vX_T^#}Ls#T`t^Pf(ajfe|)*^N8@+Hqh0d9M&wNRl_yYouU z6~@-?Bgv<`=GfV_Pu?n8;>h!Dv4*@EqHPAiI8s*0y*?PS9$+;(EE}k1r`ibwgaYg! z%6#Nja6ei;?;g@4rU|NZ0wjcf7|c(D2q)Ig)YZ0P#7?A8oS2WCo3m=E^!lRM_{aaW zC0*C2%;$^u4`gW&%_FQbpixyv#HiHg*{7iVPzXYWdXD~}yS(Hg0+~x1*pKj0PxZ3#u}Klv z0n6E(WmVm?-vu3J!HQc|6OV@z!kEs!zUMQKNQ9qyUcW<{qrc99gyA4~Is498>Yw+e z8pO?=T9?XYbFHnXh%R(S+9O!P_ML$sni2|&FVY?(sL|GT5~O>(Nu7<1rP>*>pt*OO z`CPko!K$I1U!z0K)04p5KHkT#x!#OrWTY0XdJK-YT&@32yR38d;GiO@@FR*f%8w4N zV`YEy5|Q)eOw{jdy+YcHFDprcX+PyYApXg;7vh01VMiXhrT8?dw+%rpq z$cgQD2(JY#+R5pj@9i~f+sVFhj@MmerfkwFT1LUU2BEp|t*S`>-;HpNE=ewi06*;B z9#fu)sM8?Rz3FQsuQ;9fx6dhlG`V6MHGR_0f^$>S_KIk%R5OYkTCv~qKHS%{3ZS>#mu0_HPU?j zxXWqyy5?3PZQQO`J}%fsKf2nE_E@&4@ch;iy=CCv@mHC7gfXEtpjTl*(DaPWX8R;} zuq;ZI3as8Oyt>v>v<2Zp3}`s)G1D%~JuCAp9xxy-1TPep5l))N$8$C2qvBJ@kp@I= znMmOL)&gv{xr`b_vx2>2{h}ODU5g&ks4afsA|t4Ytm#}xN-b5$!RrTe4H}Y?|5cnyn{DJ_D3Jn9BUfy_GP>d@#L`1Uu2;iDw+6_k}K8x5udt==jP5a5Nd3M^Qb) zAwjBaTJ6`8*8ZS{K5l&{LgK^O9!dT7@sSiVPgi_WHmVNWXcK^BjA{~V2b+sUM)H|m z<${{qYoNb5UyR~LSVN2@Ivp~)wR;$=nhM%WZFE803R~>P+FKXg_D!cl5h8qOGW>H- znm0St8O!L1?m5OzqTNES-kjO({|zGg+=Z&PX8S9^1#y!oX@=qT;*!xx=VjC zjCAodv?~)`nny@nStTqUoCyNPdB)=SNj z<$S@8@i|?Vp6anB@8sUoF90?-!9MfgASEY50_tBM6Q0t?=IQ71XQv!)mcdte-c5BN zz$5J)JLqNJ_^m+fh`*@X5y~|~NiLSNG3UXcHDv$ObQOc@#+N2&tbl%#+L}gW%#*I@ zGMafZMZH`Bbq%DyV;ZX3sq-Me^o9B!5!lM!?4GYB<0m&vZv7SaAsi zLjZW0uzN_u86llzKv*~3V7qCrjqXhc$&D^#Uv@=%_C`SSL65k)rAS%2c-5N&c@L@k%TbTbiJ1`_OtUG;F(*9B%}HjhZf7!p%*X-4dnwO2j#5mlH` z`79gQ-uy-acnw{0@UVc^E4_xldumitb4Q(KbFO8@+SomZUu(Y+$w1ZH|IYZ4H~(N) zveO)`ok$Nvt0(Rzq8~`6+~tID>77osa}9(~xUTth0R(}NLBly-H1$VJX{Jff*&uoz zb}w6`F9%fDW{7I_0Xl9OGm!^2Plel2@ynhA+`q~de}^;PRVP9+p%u(XWJY$X#TYx; zO}h;L7_^6lQ^Tl2$KCe#`D%Zh_}V}y|7t@~pGPL%BOuGx&EZz6|BDc3-8M!{vEbZ4 zi|B6bDF`K3>wC7`sW>TM%`3gg<_G@*$3{qThU7{km#Xlik9Is2Z69Q#Rk~KtrTKqf z4V9yIoA7;rMjxUi0XO#$D&==L?__+qttSxot9$UWSae(f;oy(e(#B z0f?6jLR>8G#fxbKGj{wb^goPg!Xo!@%d^0&$`iwA>=~%r`%IgDAG1+SS)}PmeZ8cC zKy7Wm(@#v};s{n>yW!jY;32GeWFEi!*C1s8{e4|#cEHX<+2^jfZ`W>Frf%np0^sF9l&^wQviAt+KxgBIo-RRX%4_)YZ(Z)46c}Ooxj- zw)x&$rx$Fm4%CWreO>fPi-82jNK{7|;^=PqJE9@!k=z|}r#&V9yI_zk^EFjWF7O<+ zJF09+R<{WtAc{afwdnC;v@jx>g-2v|O(&FOA4_R$owN2r;X>>uDru1w@M$kZ;7rh- zw^edxev!1#^0GSJaz*`wHfnt*KSnS?YH$#7JXY025;hbV;aO!SqqoRqJ78Z#;4zXB zadLnkjEZ06J4Z~jCW?KDgNs8{9X}*gZ*{}DPAm`Zqz-!2mK%AU(&teft79Nx@2mC6>1J|yDJyTVdGobr1fq003CG{eSF3P7mm*4T^ zdBB~wem&!8cfENq5yfQ#M0(fm`i{ zA3?6>3M1C8-O?>z%{}AFde9NcP`Dwh|BKxl`e`XMLUIZLaDl`#$-qFvTDB`G-tVg! zIIH)r3|02=TV`dqjV(&`oFkIIH@LwjJ3nWm3k%>os&UB<-XjbLxlod~kph@!D)QyE z+Udr!K&lkxg8!q!Msr{h#~M?Of86{Y(+nznpj6zG^)c2nj-6gm4GuY*Iw4Fr$J%BdC%F2X@36-FI3=HF*GR%gosgzlr-r9&!XTzWtOKB_6Pg@8?s^$iZ6Hd=!k(G`!*H3m67T14LjS zF&T)D2muL?maWX@U*Ym+@gGC~9@jYL-76B$W7Qb(Zl^@a-|U6H){p0Yq#YQkQYQ@l z>>7E#9Xq#q%YI)mrNO9A-80g9{_Tt-rd7AmBQCN+j?BQww(qWj=iU(G0WG{^JLC0* z-!}pp_iwsfF$N99m7#*K{;r~hr6Umq4s|S=#5`wT=Rc)p|z}I6;1sh@A1v zm*$S_X#=lg6LV}C^Pw?#~x_){;77;_l>~}Eh!3?kJ)H#owl{K(SxT~pH_jS5Y zg(~`0mkbddAFo8TAhNTJO8K&Gu$DdkF#BdWBUfk3)r_4l71|06WI|T;(j*?b_ENJ_ zy&^>E#kb+`Rp;OcqCGkjqusA)ERSedE+n^wWI?tL3wt{|EK*BcC$hXU!s60EA@-@% zI>kboUF6@hB70mMO0WPw0gYUZFC>-A?s32b%reWoK^wUm`iMH0Mf|d^O`Fpf>YJRk z<>_m)5{y^#`uRmYcSLrNFU={CoI;VK_=~Kp7gR6PD%5S*=Z@tkJ(6ZWdG`pwHnhJK@k*xEr(OMi^T6HJ7iDf7_!T&`1MLfn;;IiD3h- z2e4Fy;_KuPWr%V57Q48@=9B%Ao$DM#-Qdp`6fY8SBcK5qNySn(uVgc)MR@2|xeXH4>KapZCvwsH@&umsS%1ehj+4_L%T_6L9fn=n&$5=93lbl;RM;_KJ14>WbkTKjlbouea8%ClmKPUM=sg(G1O+0y zww*6>9vlh$*ypRe+@r!SPZjgRzSq7kp^4cmwAU#FFjo%U)Sr-#S1npdorjErVsh`h zH?`Uk)N{ORSBAG7zdW~mJr<>ZM;qB0w2u=y>3fv{m|&{sLPY4wb2dfrOU*_IZJr%q zPZT8f{|#J2c4Duka(S$P$(R%^FU+&+FSY0Wa9?Fme9z@inmX1;UqA*?@BOGk&zR;R z@^npYqioqoN49bLNZF?{2BAf%wg*yQ$GYV>&TW$-zJQDArSKinY-Ky~F@l#^uBH)^ zp(>Pdsx7go*<(g;NK7dJjPQQzcB+wBOn*9)~K}QxhfQRD7GGR0Ae(_p2A&2yArN-Lwmc+4>2fkvZi>+-V|*`mw3@ z_WFG4ZRG6b3c;AB%2=jxSHB~(dnog@C2*z)x^XYgI@VQU?3{~pFf$kAofNPFY7WDu z$MP5ia8>=I#DXA-BQa&!p+D+7urwc%r|df)%Xf)VTO@`d(w9wY1PtdUy63g_scgqP zx%=;eNneHikWBA1Ap0EBEZl|{?55nccG z6|Uh?mHGM{ID#G6YPAwx%p2vTxR`cC!@Kdj+5XMzLXNc{cmTz4?~ibporofVIEZJO!!`Y?6mMcT|`fRU&)*jF3-fG|!u(uP#A*UZS zJ1x&OLFsJ|vZw%Ugvzn4dadMR)FZ_*mH=l`=~3AGoA2FsWNo~@ZVVY^-Q9oSD!ajA zFZRKO`_v`Me(=S#p#KfcZ^ z%TgTa))NY6p&sTxv9ix3p)C$s4|mo5Gc!EQL71%BO+$K<9_x{Awqk}MKv~Bqp(s?g zp1YETMRr@_vYX_ddqAf|#_k|Fk=pn(J!(2JZ4je;7hq-!1%(38b}j$iPWXB@lJ zD~Y}X$@2k~VVJjsDt+?!1V&fA<3lni`YcS6fzcKz2BssD(Ln{qPcB`LWgccr))$hNKvtaLO9aWo8v5s{eOaxe z;~gIjhLBZ4%@HJHOM^nEvN;3g=IK`~O zqB}6j!v~sOl(2X^2vZfbGY#p&*1rRqUD2?BM4CpG7_bYs|3=(^gOAA9Wd(W_j-)EE zUJAVS1`^9dv8uUP<_pvG9o1}u8Bxl1GFQcE!a-j{Nn@LAoKG zu$JrK+LV&?6Uyk1occ&7vjmc&d$X&Tk|TPe!1^pA79h{_YlykaB!>)*Li7Ch7t;FS zLkSYn0v?RxV8ebqUDeJin?78)Iglt5AV4<$i51pBEQFKgvS-DfO&cinOyLqX$(!tE zi&cElFwh37#5hruQR#A>g~F4PDYtyGLl~8!XByUi~m#Q1?HyMLei$zPI}C za^0qF<`=+!tJNVxC>4E6^w?R}))=#~G_9xOk+N?~*-XPN1wL?QvNmcxN&L>OH*)yO(|D!RZE&UH z;f_9*ild)$fc|T5iHgDb>*fO@1UqOK}=H zR091Emg}KhH%8j1iVK^Tx={Tp*|7Uq_zTSHag9PdcOE2eTM7acorkJ_IXBM2<@NZxCNpHBXX z;{KxZ7i6?(FD`D9W4>66Dkk$2)-~cHU6Z-wErU9>s!5dJ!J*sV{nYKHzI>}JeZqZH z4<^{XPl;kb2P2LT?2$)P=2J?JUCoMoVL)r|xk)d8UE5w+pmT`OvyA+K0!M8R@L)fd zIZ&GmoAs5v!E6o|Kbqi*n3 z=w^08g%uaT07*@d7}}fy*>EDd8eAnl7}X*N>jt3sld9f>ny32L|1lt+^a%L5df>BU zC9Q90+lEBF=w%0&k$rx>3n#b5JAOwouvwN^-J$npBm1EAa&TCj)oXK6Zl5*|CYNfj zg4ePl{|o~m*`YEjSd+lpD90wE5!$}i#2(ZbH|Db=MR5FSIuBv@^<-%R3X4mFF3f5b z`HLsbfOVt5?d=3dr%ipd)b@Q?IXxbYa~&h-iv=-+L(fiZrTG&Gni68{_A5(Zq(xVd z7utipKZKlSV&-f6nwNVhW7Cm?Wo9epc5ty(D)%-e4X)v3RjDX;ok${S72fX+@u6D zzjh}(x|oJeW1vDDs=y24$?e~kY)-CjH7g1xE&A+n6@(;c#Dcrk7hxzl%8_lU~U zGmZ@SPe0qm;Hu4lW!9(<$gw*QJeG!ZvdUtL!9f|T1IH_gF~cepXmXL{{>1e4u;vMO zF%bsfO-wTK38!K`EXV7J6G*8{fuD$4b49M_#Q|DvN7D(P!#SVx|B5D@^MI47VKPJ| zr(03M5C|HBcOLeT_~3#fQL1yd>U2V+tY&3xe;8>^A?(}rc;pY$DYTcZ$DH+8r#w36 zZi#;Q=0#w9SKeMdi*uyPmXrzy`Z`3)43@HpVN=#y*y)3j?$Hb*gFM)dRSd9Q4LeBE zpgBy(Q#gY`IyZ+7Uu5c}or&IgtVN=8ua{=tJD8aiV*sSdohPzSb~7{W+>}Aw0Q}a| z%|>FMNI2eK%Qft*pg@ZpG(>k%ig?F0D zrX$$Yh0t;?*r)Pr4`iI3n4El`V1GRI27BLVX;ozXkz^6U4b+xErdme`>kiEQDAdvDeZ8_iEqkV=kbSh{Eq$yxO;u7 zn0X}kd^$epa6h|6)`v_0>??^I)0uUQl9^2DJ<=lcLiJNZ5}`a)hCiRqYG3_|D4gTQ zh?LHt*;RWku=BCjTqX^!i6Q=<8# zkpUU(3`YcCHXq+Rd8S(;WK6t1RaJXPYju;jawJEbY(*hGcnBgh z?iF@clX<^qb>sAoYmD@=^Bb>?ah6b zq(4E8Y?(TI4~aREqlt)?-aC@1P&i%N+ynVc`R@N5NFxe!e_(+Q@m=KCIb@{yj;f9M z(BL*QzEk6At4Ny4e6u)bnz6=t&3mVHwp|WZ7NVT(^H3Ikftmov4E6c!u8z*bTdk9$ny`X< z%4mQLG94~8BU!GEBigfKX5JNYPDM9i67qgm)F5+4Wrw)0+LF4XCY)OGrj8I?Kx%_| zfjkUW|J-$SuMOpiyzkoVWrHDmbb}d<+tL2CFY?IdR5*1!$i2apB5?h4(^YbIf=(ZJ zjv|WSb0nSS;W;4PfgNk62ur5r9nj!f=gxA(9s1!D;KNt!Hxj-i45EAI6VQK2{|(9s zZIs1Hb;@o&)KTmLvR=MM5FXRGNpkoH{>5&=Tk|&hC9YvpBPkB5du%ldqy%&*YbE z^11TtF^#m{IgWXs@o;BmT0l2CgO)!t#EE-;Nj15?FgO4MT^!RaE~0uT3r^`}&hCE1Xkw`S=Y|0v6^ zOaIA|061oyH`#OXE^_sM2^MBk`V!Q%q$)$$)6%(!Jx75_ttJHTz`_iy{j&tqmJ4gV zU5aUG2fG^3+OZ;gp#Qi1?o_U$fxKvV=T~p3)JpU6rTErkm~ZO($JW^Xl$J$U&)cUd zkQMrW%SD$^($Jf+e^*fz=FfJhbyH-0q7dAD)?F@Asc!Gc;!Kf~F(YGml+6+gMp^sN zO(I#h3Xm1H0R{Xzn+YRFEoEA7)iqtR_AK=_>JZ zg^jp0H*iGRoGfDX_1teq=^@Q=e{t`bu*3(*-^Xgh?IuNoQzZKkS6Hz+8b%>)tj}SK zKRMhL&SYlx6UjK?rH`^J#DrPg{R2)j*=fh>9GVAcaI%M$yxqWU zsbC6n_s8d&+Jl0U=+CDrhX4`54b{izY%!^BO$S0R2$q#3z+Q#EvsXD zTVOH?i?`j@=z>ZjPNlv$UppyZo9DG?0D8?JM+VsF0DXy35lcGf0ixE1v#;|Qm_F1! zc|w#)+mPq1{dvAT7MWNb&l;| zi*z!-x*6103NF6xkRqnS)fR6PJKBhhO46?04S%^|_LxQns6A_M_$Gu!k4e4ryL)HMm$`+87_v^~93omr#A%nnb^%YwF3G z!415iADBjon=R=y;TD8nw+(p|yrk)0G-_fA*J!y?(ZUkEB6`q*+Ppsf>VImOwqE=MQ ztgt?TZpkJKkr`|4K4}m3)mr^9Uz4DkuU&m za5GiZMryhL(~rW#y62hl6b}1aK%QWqP!g2C5kdd$oHNOmD&N_>x(fv=0@`MM&%TR1 zznq?lXvSmdn+~_`Yjz~nQ+d8>OXqy$IymuCq39;O%en_CT<~5#HoumLF^$Sgy`wtE zn4(g4GuISA8`z_bB3JA43?^G zpy(R1efBk9R+-#G{5nvL=d3QGxPM>D60u7C+HeyI%Ze-%5OhK}0LVM4k-webnA|j_ zEvN_#2Ejpa>rYs)16eUJtWGPiS}pJeq5*TB_A zPw}$`e<qs#r!efGBO$QjP;& z?JO_F5;_HriVzO)cs`o|MR2yTmmsRhv3jHSt(onSjoP5ae@?94NPxF1rpw&iK9qVq zpJ4&=ulPD|uA>4;oB}XU9J;SZ`E-A2)}O_DJ|uE@asTgYLJj^!_jp4lV%#&JRT;#q z1`={)%oI<+Z;Sx{xd=p5$A;z zCJPaw>#gI5cT|H)lbcg%_~UK;g^aD6tS1T{lea?skPA!8L#%~0LSk+sq)_{-&g1%= zlzJe~p|;{XyQZkNlxTCF_7z_JfKZq?bi1nEISLU41k7{0_43>D`MTj#7yFUBjjHGV zR2J=ljY`*fkJkMhQj z6}mQbfXA)rIN+bG;Eq^#8y!l`qb)R>)wkgimpsqaHMh@^l3klfijIJoa09*&o$Lfx ze{ItWliEupbFF%!fL=W%N@GF}^M|?ZBsW3zcPN7nnlGfFfC*X0J1^RQ*$JVybR52S zXJW7p5EMVQx6gE!cEnPAR%m3tcZ~(#Z&{SrmuhwoY`(OfuMzN+ek=l7kGp7ZbrsZg zE;3`LrZ|7cNj*bwny*9Xx3Gt@sLZ`0O7ls1sSOH6Z4S6m&S#d+_Dr>_GF0iHmL2B{ zl6&9IdKlei^)bpP6QhSRYNLx>?d$f%=f@5P`~u2v!JKj< zF1lQ_fU4dxP56eB9=ScA<~C6nJpc>eG|ZW{TU0%anNYO*v9p}va?C2+<%7R)WB%9A zq=WtwwW9s{3*VmY<{($s#dQtE<@e>rWdDa6`;~@!DGvp)?WK6UtY&c}%3ftO1zmHkx6QjWzYMypwvM7E@(yW`!LrjF zL2GG^OvPnwsz{g)Z8LRMLKs{HT7XHlePRM744TcXKJ29{G(lpz0vNXOx!;zfUE%Mk zg)p}Ox1qXy)xFl9C9{<)%0zb6n~@e=uwR9~EFwsP?UPXKq0Gj^xs6Vt5Ed9CK=o9x zCvEvwX4@!1idB=9(z`qilMhnG^LU|E>n`ja&MaKvH{#w{L?DST;<6KcueyVYfmP<} z1B`}K0{uAcOi9tqR@T7H*`G@zt~kV@eu|oUP(!UFcY{artkPoLSZSk{0UTjMvaf3R zCjxve5J$_V|Ab(?4%sS?ATKqLcU%)?<2*+fO(U9yjPM-m`J7uH zj|v@YaA&IcWV7r$M33Yh(=4oSOV(5lo5n{74Atp&MNG7Lv%3iBY(KJsW+RF}Ne*WA ztS|SxAM?-AzsEF3|L*cwxD<;}(A>{On2oo0^J|vnbL}Ex*e+Wr7>|gW`K24lB3JD@ znEB}g%Vt?4#z$ySF#Bms_Psz|Qj-n}*2WxdKD44a1o#iX4 zY0;VQJ{8#zv21M8zT6~phs~tOAMBclz>-$_`dxg3JvTKe9QjKEf<7@0ZHjVEB8`BV zaDh6MQt20jY_k9O=#E8qhHnt{|0Y#i(hzty;aqUB%I_xEHt#G*RrJ zd3)yL&Bc7z{2DUt0%J0jIi#U^hjPtVm2mcQ#N^bgLq;Sp^AbvIfRqz3E_t#qI0s&t zHM1FIUWzj$&)3jBxfGSEFSz^T2N{fz(rCy^XEs(xOg_Z}vJRHLv)<;JA^n2WF%GCZ z!q0AdrD%fF2GzZojo0x#tMY*6`RRMdx|NxK$$QvKA=lOQdj#ucN7|{3A_8TH`b9-x zs<3sg{$hn+@)K4aaa9~SD!y*Ad~uJkv_Yx^Qhr~KT0Z7=%agWRl7xp%qXa~k8e}%9?dhVv8Ec!MEe#mn&NlyrbF zDcm7}F$RBD%0)%|QWJViE{`F)P#H-Lm0F1HOe*C0j%vVb3z8j}rYjgC(#Nas^o3}- zG_$2(_V%3FhS|V6-~jR_jR26TVm9Al4BBi7>7P6PG|XLkv42xi@u^r=dVHsu1W{J5 ztCNN{iOpQJq`A?zs4Q46Ez|^8`S;3!nC5o9IQ22nP3V#%@}zaqV%HPw0?}o%ybsS@ z(~D>Ll-;B;ckGhK8>(@RO80&JV^EnRpEYEqpbN}N*hCl8RRV{_iWem(*Ch* zdhc!r$ePCQ5vT_fXD}pgm@srfYbM5oFE^PShsLEVi7~O6tb!P6&Y=)l0vrkSEZ_Ra z-|?gw58Fo6qyz)!+s7pC4)(1IT`bjhjExsr-$dYUC7); zur-02^>&pVB&FmHaB0vW1G{Z2?PUp#ogTH=9Xm?I>g(V&mgvqUO3a{kH1=;HZwtNR z9a^24=)1rU-WBU81PGgY71&b=hptAsAN6DO*|kU{xQ+JrjNc;~Oa9_SNDj5$NkF1r zEag9E`pNn{dl~;Uy}c%p-^$Z<(NetOhAo=#uaMGMTw61Se?i>@lNlu(_hwy%58SZ? z2>jL9n_#@YHmwMYVm7xbe3XS0+7%haCB?SA;~LJ7B@R{9Dhg%^s&9(I>qTN-(ykMG z*EY97v{`CQ5u~r^Dgtdh>cx=Q%4})r-F|u{A~!yGDAYh7 zm>;F;Q>Xj{GqMt#Nch0<>5?*4;McdkS3ZWhS#T}`e_VVroRSvdBx9Rx*>kKmAas@ZQOKN^Kp#1cPs z=smDm(mERw@kmiDbGF!a1xygssTe4GL<>*Mu|9Xw+0Cr}=`<~m704sugA3Us8gHy~ zArmZv1<3qkOa#+R08PaX@n((6;lB57wgp$RlstXk4#c^n&gSYAHIjE=gYDxZD_ZQl zE9O``BQdxe?Gnpjr4~0Sk<)2t&-tg8+8l_ZE9!kSv^|{pn0!Ej*shX&+3CqDu8Wh4 zE~wowP5@sS8$ahPdl32td;1UmDLY2!^Xm6##_f?TX}c87%DvegrcV|p4`rp}pw_u^ zCs?Zt^5D_bf9`Sh*B24U8g3Rn6)YI+H zAF8NT+G9bF==l+L0|Fm;XyvtXo`jM1j%VJlsSmQthK_}9gID7M8g*F)#e!!R!*U4& z?X#b)XSmZKm2+_I^8*d4vc;RH$m?vpq}r`?*ti2?+@W(53B|S#2JM<0!_%{r*p}2} zMk-GQ3}SV(&ZlsVhczD+)i$79F*A$S2|+oL@t?)r#NWQa+LOgp^XgtNpNO=!0PinE zojx>;dn_}UiUhQpNTz^QZWq?C<=so`9QrXP1kqkJb zy>@q*ud_roO4_l|Bt+jKnG)u355|9uVho1f(& z4T^7ZE+pqhAi+!k6T1tAUpc2(HHR6=L05!3d9mah^zSW#Z6Ek@z$}1P6?$M@aC)6;~PHH1;)}e@8QCBsu-d{6Vya z!Wh>61HgAw)i)NHZE*nZQAr(dG5Ch#&4@g$Q$>^OyXw5KfBvbhh)_wgIn+-WL`xW zy8fBKw2(-Mnia6;KHFAuXU8c|t}l7=i}dI54A~g_j~Q-*OccBEfYyTj6EQG!i;#_c zKpIr1IFiAk3T31=0CmsjWuJLLuIF>@?@>KRo7|0vky<98uqt~Q`;0LUe3-r%Z>r;( zmt-;`?nK|kVMnT|p8xfL(m7L-72S4X=@(^jLra?Wbby9b$eMwG;@q^aPx2Z<%TWg4 zsY3pE7F**(W`p{d6e=J)2DNDOUM4k40<+5U(sN%q_;jz*NcA}CJs#@$%f^EYy7 zyUxzb@AxOI(W7))q&IOBnvKw!6#a+|?GifH>pF5XiOfzwQe6y(fi!Hk+LpNLriu8D zXz*)FA$dE-LQR&@0^YGZ0e6KPHMwUqoq#J|GW?Ew^_HmDv@LVho`SYP7oVs5$@%rb z=Dw@DKUy-BMiwPT%YAEC<|gaUy1N(OOG*Oy*h6(whWDdLuQDwE+WYrV=37hds18bC zUA!#m!=*;q)-FayFM{?DtdPKV+hgV40Zf80qiQcRf(CJ-Y7Oa7749c4OBilLGau1h zQL1+;J4(wmn7XK51N`T_>7udqmx`p@#EM{x)hIa7%b%&PuJ)zTI075E`ZA0l^X@>2 zbCzr#`iHgoGh{DbwFHSw`~;~1pcQc7nzl52@V?AMM@(g0bu>n9z;WwLkWOjAOHl2( zny#0VE6Iu=nTzNYOvp`p}fJ;3vc6%2Oo zwFje`QiIfhDv;uK984l~op(5M6$nidZ3IwztMzvHak!TkARIEp`>OcwQQyNswMP>> zFyWso94A4_`6B05BrG}=7*{@b`a7~ANm2$;vaG2lN>Z1oEoD%?x;6z(VuwOibkHx- zm-NSHD~J+DG1Ol+=?G>(fJ$dbGM`kGHP+tjOl3cbr2p=Nm))mI7pu+5NJ?qDU1?FO zbi{eoc;FRRo@j;2;DnW%U|S>8uv@pL!N;Bp+UA8ypj{5z33s;j8gOS?458jdY)Sr4 zP$NCnq12kU6b`HH76*~8V<{MJUWKZH`ZLfic_iegz4WEU@8lg?u5~DbA!*G&{}@n= zIKUz;b#LAa0itZ%7BRl;VpA{yz^-G7#<5Bgb+IcQvF5%B`Vej!q2(D`9*w397rP;3 zQ9-NTXEw##(IXu)Fd(DC$6De}j@njFN0!|fvHil!MpQ#?ymXG_$?CJImoG+iY5?=s z4Vc$GlHD>w96ew|!DD#-#O-=2LRa>c<$HBH;+bHsT6>+6cHu9uK2|Zy?#0izop15Y zW~hrg@t3+&)RXq!1E-z_7|yPS?BgD2TG zmp$C8{VG_qDCa$e@H;%%n3R-&h0RNb7&9Lol(LOSM?#?g*5IT=C*TNj zD=gJ2ld-; z{U~}OBOvm3c0c!C4ESVTRyL*MY3c)X&1s1cwT3qCVo^f2aWjrF^R63`{vE>va<%l& zYcyC$_f#MO^TrQS5w?U6PAhTAlK&-u5e)`&w`2e341x{Vnoy5|HNPCbQRJE^t@o++ z$VUCvI>O{stprD_H}%1U8`%UM%Jk$sHi2Mt&rfk(uiS28l2p+yx@C;@j%eO-{`2fG zt3Ve^o%>Lyd3ZhS=CaCvBZ8;?4193-{0eQtuH-|#n;Kir`z)VniLml~g=B7Qywqnh&oOOND-T+cXTA1Oqw`Yy+p5$uR&4!{u>M*VLyI%Ty3f$br*vF*KGic#6! z!R3qBbd31car2ypE2n^mBKPFbO{7a8Pzi7J#>qW@9-hIZ43s_Lo`F2`}-k~ zG9nq0Ku9@NlvXGugA5it5Au$dv>}% zaAqU0am_kK5?^?^$SiR?YBC9FYZvq@81`*?B=-MjO}#F9>u&AXJsl;iuTxYme!>}9 zdoU#H25h3xCcDZao~}s10!Z-1J!O}d)9-z`F~!=%w(8@kpL@;Y8QfN8RA|N@bu*_7 zfZwbPkwJ@<6sL+H`c0$8S}xvrs$6tVzT;fk85Q-T{J`;MNb?a5I{T&!fd}d~YouE` zM7PnozjBefaBGv%5yTtX_QfspS@VB}Gf3_B_dwt0S5;EG^l3~PJHT;++>?T%^sBD4gBG_yXix76RrLy3M^e`%dALnE)G>T~rR;gW2$oiGtd)#7%206y-)p*Oz6TM^(;qzCDsR#0bkTt49n&(@)iT<-C+m4W~pimBO%@N{7gs! zOXpRcLBTwJE?VN4VO$u`pl`C|`J6(j>P+Yn9Z~mQt#7?(e|iQ(Tqhli!pD->ng+Ru z>{`xhi=hEAc%4Om=Sngt*IBar^w?J=En&v+br&E$ec>!HROrVf(8Za#A$kb2q58(V z{)#t_um&5r4%#H1q#GX?72AzXQCx>EZ-{PpwG?u*C+%CHz*Hq+gE_)gKfVq&K@B>v z&AW{!qp2wku0{9K!OT!Xk+ z&*8={1{Ew07d)}2?bSeDZiYQmHtID}V+Eje)3y;d?+?vo{`L3x>)}lnm{xW`pOlha ze0t%w5!kue(&*>|+#rpo$nZpNK=r<$TBd>&D`fO_wqx)PZHU^{vuEtIpwki5UC_BB zC)-LL)wd~7Qe>e^#@>9YsI$*a{kJ0j`Xq)|Jo7zyy7rBeoY#bKe%`(sZmvVywhrgE z#I-D`E#a3Vtn9^^E{EtLG8`$#e?@f8GwsP5)ipc7PmK`3crKWrpXaz44mmqc0kRQ` zh+XuL@ydE;5l{PuS>2Ci<%lWFkKa8K82u_kfp$RU^$WkRWv<0>M^f+>@mBw)1tY{j z8{G9%j4*foaE7%aAEWIy!?{2>Vh?qykOR-8Xo_?PiR;$AdgJD|@+pt)=}jr^B+LiD z0Q*m8sSzkE%H?05y~lOUxIA@d0r7TGG&RcZ!mXR6o|};gaH=|_RL&97iEGzgUBz4= zbU)$rVx)G`B#A&u5fH3x6S8+JKiP|PYT4%OK{K*QJS3Gvzs|;p_Y)aBA{urC6~d&u z+@7kf7idpJ?;o`!R$2ly!r%VLLf_^;wwg}vq712At?bE|$9pV7IFrm>VM<ZH~ks{f8C&38tswy(M93@W&t;fYLxGSH?lW#GUqg#Fu2>tuN+J?msT*?uJ`Jva& zo+eTN3waudH#bdenT;$WSgY#_@;vL^4x9bfy1y zI|pc`XOKtv!+UVXFy2!qNb+^A%1A-)NzCCy8;X~r9zt6CwjQEe?_APlG%#Fl%3`%BD;Z8r$(ztPRA0HY- zBcgGDA`_4l#852aFJ@0nh&7jQk;b$S@J5mZ(V*Q#xtf9}M&w6%Qm;26irfMvjjR+XM@xS}W7+0vULkcKdp9T;WWo&2NZm8gZ*NX0wW1<>-C_Y9pXBq~ax=CI&RuMl--# z_Ylw9u0?VQVvQEDXp&-sj>?m+&>7c%10tgv*oVRy9*_A`6`$l&2*3w{4}=e0`!%-@uJp=1w=|QYD?eJb zpE^Rg{ewOUCqoQ?vZH{K_{xG{y7Kj1OuJXiOh$dpm=3wkor4hTCZ!ENeom}$LCZ~q za8QlgWEF0gA5;>KeY?l~HQ4iL=9lK&NEowzpikdhi`9ouszjF!SLd>M`r2)|u{N!C zW&bKNX%5EykGD0F5JX6bFDtKlwXp&9?C`O_E;4#Z_hx$(-C#@a43sStF5|sj&{pmz zpz)Sc{B_Sm)mPiN(x)$Lg;HE#PwEZk36j#g0;>q>M76eghf?M%vUAI@k`dZO4tlj= zDWpveQv^qtnu>Mb-;KJ7ows}qhz2Rz0U)A&hEMQjPZ*=aT+R=V(HYoCik%P1r!Atw z9Arts?zbo!mOdNR#uYa^IyWIeqIxgZndE3jOuw4quAXvEo!Z*@kii|jpSI9Suv=xA zI)lA#(tf4wB*G2|i2`f7{W9K?G)0@pHT(oMYBKnc6pL|_vbL86(rHnI?R~g-?)rfV z>b5{vUFJ*?mKnFiEvuiPOin4#-$BiO)#;FAkR^3y0aK5JC2Ha2be0tqlDdzW2mo1C zk_(&|(J{E(?*41j;W*wgr>>wp?mnkFCl)UMbBnmzE|Jp$1$Ek|6xYp(wdV27}d&*1u zL#uo_nma;O7|{Sj>>;mn4NXW4VR)Cvmy&l6CeEo$XF{T*q)vEFG_Wsuqo;X|qJt2p zgs;-b4%m%d!{Q7>W0KLOyCW)$?j6)XV^-*p!Oef_cCt~cl?-E_k8j9iQ{%AOP#5Ss z0uz6dhMj7N?dw`}l&a3Se?pqynyW@_oS2A|VOCwSaxuGEZtRdzb-RO?k=4Abn?qFv zS7e!2lNmm`G!JH&Q`lbzLeJ6`R&HJ6H~wQTo7L{fssHxfD1#8wrDjR<8RBybustuT z>cqm2Vq&!d7V)hEn|EY`i&1m0v9W|$y&p!XN7=UFc%2=(@Bzx_;xxkLMUQ6z#z3rs zb6NEZYpv%$e@8TnxH2_J)DM@u?F5WVeV82ay%w2HgxIu@8y8=@7kukR$zZ3l6ViWv zb%T^uVM9iGH8q&&{o__7LY&9$H?F@Ei7>PYmYOA6m8*JT*?x#{fs@fK!uADK^`PcL zwlEuMF2VThsp9S0hR=b;%<0I2#x002B~d18aN89hjZ}D6G0iLQi%gA&yf|ky_(bNm z>FDF`%u+~_LMH2q$<$xBKV(f=qObnbKeszm_uYi#pe}ZzD+_)OZ9JygwUv(QYxLJ`ktKQNsT^4YkP$L$AK{H zjTCvEBo_BpPMyCJBr}$AkATEO`SIl0Oz{DR_XkepA_PMldTjsX53^Vr72(2+(VTd3 z!8*10|wV5mGmtOTno6L|bXVocco%tElTP5fVny zAFgmCpxIP*3M9Re@^TaA$ftVYRB*#89>cc(JT{Sr8xJ=T53<5UvBgv-6p#0>Qqv4- zyuSKfa+7n^;t2i{+-Mr@|XMQp|ttJk`G7h3s6Kaz$2KfPf<1m zTI~v12c~&%hvJld4lVn}F{3o_xKz0^{8M@P-I-)g@DtOxXglcNAA zmNx9M#B)9!fY^Ee<`d)uL=(qXpF3lHyW{@AJ_e`2Tm!#GAGtfeA>N|mK~}WqO;O_~ zs&UN@W5}@Fce(*n(m7Oj%@w%wjSAZuc31icg$~;pif+gFtS2E$MkQ*z;u)f7)p?Gn zP^ZnghTG2CQu%HQZQCX^l8Zl-XI&0>c9*e21WitY9c)T2VPQyA43nRN&DoB$!c~#x z_IQ2yB%)*%`Lzp4C96AW-_~6d`J9rRFy#IZ#Q@p~!GU63E$_I>$lGnmMr~p~Y=U>$ z5umZ_mn>EzKuUdz6z7GtTcIMTSw8>%a^UHrb-seB^VOw)E?-VgX@f zZlqhQYSsU-AURplOvQnlL~-h*z!Dpup$u^$2{U;XuJ9|ed8au0kz!p+-;J|ru)5p!HQ0ztG}y~XWw z4UatePb~9IUH|OY3c%E_I{bnV4MDa~-39sZgr)yS4yHWMt&etZ(nDpMEkcaA%Gz}! zb2C;{41d=e<`vk~v#L&c1Yah7YjnA1=^-yFM%mzayYV!LIA6#cXBM%e?jYM8i+!n~ zWY^X0p*Yo%4^p+_875h37nq8*-F5do!(3RoW7VBRrONz+mbN(rTfW^?jo&fNwdCa- zb&3xGItF|^RBs_LI6swE?~EVIcMDKvsk?6ItXwP))N2XfyVJCa^}J&m2iqx+ppw@V z%srsg#l5(@iEC-QnfWsubv13d^{GU*JWZls2k;%kT#jCrs1c^0EAla!_o1W26=DKx zv4Jwde5=BJK$xlMmWfH`E~4fB8`sA-MojbaaH1p5kyZCKROnI(<;xd3g3m8JI~8f9 z*@LP3Bt+b*`oX%cxLG5-Lm6ND)yLv~wTP%61WFZq^5mo7Qai~Yc9n(>LHt-p-P*CR z0OouIdLjLUGiq2Uj_h=ILuzCY?awX{wKt2F8id;6a&5Q1(&*d_HP~Qrcc_v!`i9gw z;Xhy5WD|6vZjiArmELnzg0gxlyL}Nydb){sF!QZl zb~qt5Qa7wkB&bUJnykN=+TiGFF=uE3rTzo?f9*0X0VAe6D{R9*)GLaIPH=zuq}&z_ zkdi0N06kZeZP(DX%Zh9kz89N^Q*VDhxl@6mZoI383S2J7Vmn?y0v^wRX)gd-I>S8k>CF)H9bqLnNQOq+jjldK`>@1-bog4G@9p0RcI^nT+HMsU1_T!;utc%>z zw~J@3WeoDk+eityGTgaVO->TlnKuQ5tjgaJO$wGX9%29OESRq28Cy|4y8Cgdhg!b-vll zk>zWwCDCw;q#+w^<=?;PMk;70+V}5??;m>=a!?+V>>Cm12#sPPZ2r22<6YEf*puPi zWC;mrf_7NiUCc>!!1Rvonz8kI`#cnr8lxL%EE%(mqM~w7Ip+QXR|;pTs!)6eCSY`* zA7aHTx+lMt90BDqy=l&V^trUG6YaRT=>LNO#4MxAhv^DBisEMkXrHIP>5D z8P$BuZ#<%Lue45mOak0MKVH!cT)qipIF8y*^ctRd?Qi1W_Xj&)6KADvH%_^OzdoC z8I1Hvi44h^$m4(W5OiNrjY&xhUVP_6{!6xz_QZrl5L`e{bnT&@9-7!uM6;?vTr5dq zhwvrQnXRg<^^Pcy#O-d8R4}588?hBX#bMi#QZfj_!Szr#KuhItKGqhu7bVZ;#@!~v z$NbM@88TJY3jf2!5RA<|zaTejBD6=9f&&gv>ps<=6sQ)}_;c6s7*F}G5`+asEcr6N zs2=A#t~$?>kF^sP%$p(upWY@^$)sWz9QL*006>A}TD4CHl5ULk%V!P$^{KV_#`<@H zy_mrH=+F<<(xc=CL@&E{-$sD7`K zIHFFU)k=mIfpG2ib>G4=t`Rp#P5zNsni|vd)WSou33gp4?Z>u771lVn(qrLZGA+ zoypQB?)rZ8Cn{0>$IZ5_nO;#%CG7?^5>(U%?sJH%UGH*PM09=9nh8Kv*gt^Sv&7om zVBRId|9}=Zo5Y`x=7S=0$8(bch$vHvfKIy{+Wpw;A>yq|Qz+wyOm&0X1Uzd5HZf|{ z{thLKYb_=pkwBArKBSA^6x{svtjD|fxLx+*gU)i$KDFnq*)LAVt#lzPOX7yZjnD^o z!>6Cf#+Bj>N%wPjR(0>*54rn>M4Z1SjHr-v5MC=E24p4w0a{ zDz+6N?6^O3%S)El#RS>eeF}?=06c`f;|idPW#zRWA9bz=G~XC08*R9yxy?nZsE6Xd zM#3Cn0KjChEY?jQ0JUYV=MwWzrHOOT@s%10W#0P?v61WagguOOJwrpUz0h0mJyb)< z7X2ILC2}WRnEy;Bc2`EUgsirK{H*o41_uztAk_MIXk#7``;eO?DctZO&%JLYz4Kk? zxBwi@s`KZlJyojeGl@-J`vP|#zw28MYus^8lZ4+KRcjcgeUep!9qt=E&Z88Iy;oGk zpPz4OETJNZ)d1`Ex~c!a;u-7q=J++NE`Vz@R+C>mGL48j@&<`^NS{bO)~@xpSjmDh z_FA*1;I!he`q85pnc7K`bROzK%6WYJp!*7kt?rYmt(e^$fl-e**2UJ#hrSvID)~e8rW$4}wTMdaE2e=SZEz$} zG`GJ`G)`FUu!#ukZ;e2*)JB%CkIBq~UyLaI>F~?WHm=vp*%mdcrXS@`R3jH9ud(lq zMi+f1bqTu0`iQ71E7%S(@L58vkTHrdIyzvx%3#}@_xq<5@o3sS;TKOBMOW2nVBcn~ zS|d3+KjL5aHL}b&lI7)Ti0pZTH%u-A-9wLNMcL>hU-ytkW^$S&6{pPYsYM*7DEbTq zNv3n7+u*-^%LX3fC?Wb=&c@_LY}zyOXtFVQg)~4wEq_ z(xSS27dsd6yn9D9Q)lk!yl!SCqcqushYF&2!nL)7?(nz;t!gJy=;{t~1EtOz_Xcj* zFQ&AIG~XfFoL_KXyR$pBFKq#}!wopc{tj7;qXMRAoQOx63{o@MR^4A6Qc+v^94~oT zbC8qUzv4>YYarr(*iOQ_Eu5gFfR_Rg;FgWAvx1c%6EWYCiOmJ!Tv*TVaAtQG^yZ{FBX;MTADA5#GjZtN+W z^Cy4LIiHE}IjCCLcnEd_T)x#)qW4AVTthyovRXzrBJ*Lq=IfIe~!%cdc zpO$Nu+{&5x18>Xh>6W9;U{yGr*d;4>yYt?*0SaxY=G=E!!=}7Bhm!W@Dq6e1ecL1` z1I9Y`Zbf^hnVB9p~ zxfu&>h)O@S%NaE5iS_wOS+HAlppW&hUvbR&N$K+w{*c@iIP`E(FhRNf+z0X%d&Tt^ z{JE5FvwuCoo^XUo`toKY*3*|rI-;}$g(!aRz&y5*4$4gBa#meLP!!fPUyz`=VV0M@ zT5&wcnpSr$Ymrl}RFG1^{zNm9X6H|$6Qbi9w>yeTNBm>0eAGpMFX)_aCzl!WW+;54 zd#CCU&Hcba`Ybw$YL1!dh8R$)HCDjV^BU#mM4b5Le&y8>CAVTzL{&pMK-P<(n2$vh zPZY)9U=t5%?sdwLE;*};r-k@9HW#jp>2OVLR)jiX*GJe0n4M$xXgVak4%htm9mM?R zFKnuD>D0bykt6K-mvfhX!{N--4uNzsr@>rV}b! zL=-klM^g1#3>A^hLtzWxXYpIA%Rr$=KDwiL>`>@QM63uoEgTgJgv(l| z*&2(=lQw1B__}N7diS0=_yVr_fvWD2ja=j$N)C6_+~yWkmd6!FO^?1!0t+me4OnfN zJ8YCiTA(G=Wd#CTp3it@L*D6=h@(g`!qy=w2^c=^F8S@q|K)YSY)Sdw@Hy{|#@uk) z*}C_4M598go~`L;MfM=w05uhy7IC=?mZ?{BXq^@U-lFDkxnUpI%=D}(gip8H z;&)85lB{3pnvAEqt$Z^InJiY|Z!2hf`L{rl9las8N*5{R=YI7#=A*g((e^=%n-h)O zt@bR*Tu-yz=Y!`q^!SVJbz0cecc4P(Y&ecW@P@KI2A`H?eQZ1@r zC5D$9bBif3^0lj@$+xrL*RPm(fKOF=eS|b$nbRh%UTMm?v@gcuRDCIzgO>bV>W(~v z5`BmiK7G7Ms$8yK_z}nCZ#DcPp}Z8P8a;{F_lD!8bMps(mfpLdbs&g;Ogrt5TvLvQ z^O`m{(gZ>;DAXq6TC|%8z2cgft~TM^P0nwGwi)X-gScGGVl^I&y~73xvQ*8dwW+6F zS5jdGTwafX@}Wj?XyRQp{gn#SHH90N?Ap`M0>(i$i-R1H^~tJGoT1@;Q3E}ixmiZ0)$$y| zjrQ;C`?{@pvpO4OM`L%@0ip0G)7tU>ap*I>_E@5jx2?ZRo9iSrb^GR|{6Gg$0rnD9 zqo1ECpbx#7nHPbVxZ#QP_{>P~)Kp|10IO$ISA9~THecv63T}^nfAe>IM>LylXHZgK zWfk6TY?M_i(A5eqsmcCm*f)VN`#T-1vu54}?7i@gK!Y8hWJM2Y6q6K+8G)OsnY*yG zs#<>dV~Z-0z`_})>vfd?eMK{2eG$Domm89E&-wo1F7>cR9=PyFxG9a--g0>JiHaJ` zKNZF**+tS;BC?a8lxh;(h;+BosUA zY(s+5&wO(CA1`uZ&S6=yu-vr*d3vfk5#1$3hT!-ZA6YbeBKt0>(L8@#qE?vD2)no8 z+&iTC{#amQ%C}C#)DeiYvXE<6qoP|LpN{><`xx(=qW)-ReK!97Ye_9D>?AJJT{ zNX#F<=R7$7>sZyNRIxvQJI_uetb>GHPY z>pLTuG`jEma>c*k)i**uw5k7Mr~c$RDJz`t;)cWm*8YQc+I+gXb_M9}g|N2a5oxGv z8^!|JNlK`B2RHFm&Zn#Zixu_?a^YC)EYzmZ%Xo5mp$}38`kce=?AVJFQAI z;uw;oXae2SFM)Z5n7?`@1WXzL{7}vL}S=Z z9najpIJdknCLPA^lWnl&w;1fPx?f+s^;c| zV;`1cio@x&4E1esH{QC-;(~bBio6Imnj)S`W$v za2SUk=HM>S59k%ida-$;%-@kEyf@Jk{RwBr(~Io3$$GMG=StL3(op2lcCw;%BlR1t zjnyG_v;Iq43U7EzYj>w{+3gbV`4YX(J~#jPfE(_m+U{0m(t$jO(PAlwiqZQx@VTCQ z!bU@1M0_H9xifv2A{Np-&pzS4kL54GovjiV#ZsUZB7!nOqfbC4jkfKvaRM|sAJpXz z1Oi}xg)lf1mOgm(7&20bOu;d_M$j|oA}`rL0x+{J`*5dh>`<2&eG6%G7>JDA#L3XH zf!8xVb>3D4oqd-@XF=Ak;g-*wkCeuVl8I;j-jQS@~QLJ@i;f+!uF0N3iD8VdEYKDN|Q&rE^$0Uo?iG-*c#{2{{-d^zf zx+s3m%1+3dISXYq`L1at!Q>pa)#gLf|<@? z%Z$g4bd~$jUT{2g$m5__nfX|+Wl!SLbG?ZmyrZe}U8R4pQ~X$?a&E7-G-lQA;G#t* ze0BTCh2n?4tDU*cWd)}0c?m4Wel_1l%S*bPPpRqZC%Ta%oj++w`)E}Sq+lzQ4Fu&) z{1Q}k+ffmju)~dth&oAI-fr|t(#z3G{zvQRc$SeMJB^YpwCI-L?YChRQ71c8ixS|g z#jx-N~3TYq$FF2H_UMTF}MEI)ZxNiF)~}C@uysM9 zL?v@Kc!IOZer?gc&??xRiK=T-OK+6$R&S!EVSjnva4^t`0p+(ZKp9bu8>JgeUfS5Z zBF}cVnV&!kn~hQdeOneR+1fU46#1nhOHV=hUv3KhiEi;=&XFi%`Uh?oqk~P%vvI#~ z3&rR*dWwAhWAALo)oR$Wam!tPDxG2}f)XLnK!uhBU-X@Vq*~$KY=-9{k9iOnwwbkS zt8G8>&-oym7A9Z67A@6Rtt+$NNDj1hyvu*kPCcF>sC30XD#=2p{d0kvOZSwB$L|0E zhyuD-A%~|;ORMQN*%(@o?i?%+}y7z?~GneX#&Buo`nQpC09KJb_cFS-a3UzP?ffy zfJP4J6iWLIbyE+jgnff$oXMX0L5GP7bqvC~8lpu9RnG!4zm^`5r_Do^7-penAhC-PM%f9oATQ+b_!E zCLhlqjqYq6<%jVImzF~Tz8DuI!oAz!nO`^xf=^(dBml*lGDm=uNQ~E3(dNt|#&z(uyA4kmtWT zzY=F59Y9zjavY=-EV*+Z6ldbjRdWDHDisOzKTD5!cYx$_$HIDzQ}>vr!Ti+;mZgfo zv5Cwmv%4LyDGj+(d1<(KZgY2^n5e+OE1sDMAXi%bdaMa-fx;a{79+Z{ z*wQn@^k_G4s*bN-rMdGw1`LI)+S0d{l1DN|0nVoc5&E=ab}Whr{@Eo}HgZoP^#~lh zVYaQr{NSvLsW%mAaX%BIM={?I18pw$8!60=vu*%d53p_aq8{m2sLl6=%lTs*)Aq_b zAR^MN_+B@${gAvnVS^|{on@TO{zA>}yRO3nZYjy_P1Vy0C7caN;w~spvB&uH_*Mn+V1`VA{mY)M z8)9mUn!vA1nyj*lU zN;`iNs_Nr636Om4RsQ-Ec9(diP|~du0INf#$Jy6F29U+}$@liTuOXmmKYKZS(wnS# zQzYDB@wr}~RB`brL5pWhls3(9BpwBwU`PC{>Z{P0o2xU^JDz#WYcD@ai%T{-_?)F) zyPuY2>}Oa`nY9s-ywX0EI{+(aO==R2o3$9NgPh&YZp}ZmR#xYy)b$fOC(KSWD zTzVRGPATg#+D~YDsXE=%DhJ`bx6{$Ig6Vk&H(#CSZ&qvSZXKPUxGhXFN?`(f{40o1 zG%aT32}@Ev~> z6NJB;S0*c%zviQW^noqq2c-#kyWmSwfW)NLXYo$#5(zg~#nlxA&R&OIJR(m|mJ}}z z(4d=70>^NwcD;0tNonpp~wh5f*b0!qDIQv-Ap|M}HwXX8-|cgwH?;7J)$aEuYjpi#4G zbh`dFyKRVk$4@t$5ni3IkSt!)=B(g5_hn>B6nPg7E)#Qld;MdHyG&(S4U8W};el z5mnw=!ltWstNCn6uDt)eq2~3ezL4k_?V6gj%^L0%%`?6!By#4(q>J1U zxL(#A3q(oV1i|cVH}~k3$r~+Q-1di{@va|`66W#tSC%mhs1pjPGUb3#9!!a2T1CJl zQnkzS-42o5dDJG_4>VRLpKI;Id%q8?+>)cmS4)0us91;_f4F zdnn^rSMoOa3#@^k>YI{ccX7I1C2wQGxPzNj1YvQ}SU6jQaxIH`20#!lR&PTWVVz7W zA6xGc+{}@kKiO}BXR6^gf51rB1TZ7DxRgr}E05ba5Ez^Ac^%`bCTJCH^*el~r0f>- zBcL+aI4Y2atsS6Ir3785-8^eb`$2~a(pAu1`;6PGCmEES>;z?v@eXJnrP^Vx_5?(w z5`dtvfg%eysVjX=88(ShRJg1GURz14`)}+zo`>v%?y4k=S4?>}DDWqN{M;&D?J9H6 zl)qfQ`dAfeq0(I$fm45ook*VrN_Om9oL|L~5y~7SRRG+8?(1Xsj&uXcqt->*ne3$# z#dq}7CF@aPZfxW|%r zInp+)Ik&kbBiBQX7r+AM4+F{(&u}rnAW>FCJ+@Q<-poE5HQS2xdZM(5@5r&ua1$ad ztLVldx5>R`hsjO-egSVYq|q=nYHsKW;>6<{kEldX=a?pe+7|eYH7gD0ZaePBk`Zrz zDo@>Bv!u7a%m`=B-&*w*cQ$A-ZCwI$P1wnEI^%_mscZhlL8b7hKJP(m&d51M~ z!k|=;>5;I^$Bmvn4Ihw6xr`YS{?qMFITIh7%a&2MC)VE6m# zpY6J_UvW{2ts5tmFEm#x?zXftdAQvgv?@Re0ocHxQY_8KYQBMwXN!6x7_ZNk@M_v5j)2vns*Ao|{TfWLbJ{ zbHd=-cQV32XMdR*RJwn4)FO{F$eSc}z$xLgu=9u}BERz~3$H@dI??br6d>KTOyr2u zlWtHFWAFB2ilHQwdPjhfwvU5k}w7mJu5T9U}( zGhU(__l$8O=v`$HYA`HpCyN3aW%GTvsD^j{w8gezVW6UR1@O>nx*Hqjs+5g@4*FWC zUfj~kt~+1RwE3NZ^tQlV@xiWE*9vq89c!Wlx4|`q-Lf#n{+yqP$I97V9T3Qb&DBB_ zL@YF1wP0|4Z-$O*o$?NDGAufi()Aj|RKWqU+t#pyy@SF|+&^v+4IB|GD>TL@*CF+S z{pUf%rKYo{;)Yv!(W-z;G$wta*kr{DmW&Q@ozGWP z;xD!j+-2tBpLcDc=Mp0-}I?VN5V0d&e>46fS6#pbdF5 zmPW>s9~&|h{O=`p%fUVoy;AuNz*?{`)q<}1?$#P&?Szu6Q4E(xCw3Q`Z5~b zxROKOF%1cY`|R#~E>9sDnL4d$U8b16^Bqdnj|q%n!Vp->`ntJdzc z+`D6OL0#$=SV`%!(<>ZYP1SIf-)F($FZ}jI5b7OG8^MfP`(={TH+R;jt)3f%VBNfO zLB!8#i^Ea^aufEkiHJ*t#=ka;-cDKtDD;`1z-DBgy3ssSI25Rm-O?!|8hdXI9a_hy zvKjoCYx7U7-TV%CCKM;j*!jz8P&e6R#N?^F)P1P#xT=Lu`tvN%5HA&v;?{m^ zmy93Ramf(q9nx4X-_R)=14b#xx(c{tor1ZPPOz+#?0)V;wFGG_ZDTEvR7C0*zaMo_ zd`B}+P&ZuwCU`&3_aB1q)@X>*3#T0)dzByk%Sh7ME%8X^^)+NGx)!w49aUmI)H`mb zoCpL%0SR}$}6E-1(!E#Q7cU7!$qpl3GiD#1ER_S$^RMH=mBo0 zSHe5cNlx-1Z=cdnRCPo}7O!n%*Z8yE z_TLfk#8a4%47ChrWT@h=_OuvQuk2n?j0xX~iC{+AeZ#TDFk4jP-3)5=1qEcRKJDTb z-hyazCF7^p^Evtg6!N9&z-td=9PW^KtKb_zb`QxRIzn2B8b=Gq*+wvI6MX)|45nCU zZLk&Yej%>j znot=CApRAS^#>y)pLR#fzN-?6PP@%fyUMF5y|th>{d~l20K^u5!wxcd#;5(htVC9* z&O4g1^uFO$hSHrvR6+MF?rgkz{C~GgBd=G$4!PN1sB|s+7u-5RXsSq6tb76s<7-Gl zOfk&w&NDZ1N&-n{V|gDg!$QAvAM4jq-HI z2F=xO^q}5_e{Kb>j*C(j4;EO#&NeDJzA7$Ch(h6gie=Z5@qwH|Fp*Pnu*EW*PKOhsg zy%dEfG@n!zry~P}$ks5qdsc7nkm`I`p0*oY_%&CzVms`@9)GT6DjVI5pft4ANB+fK zr?xH7%@jihwnLU@!8G1MwUHs=QZ~1EUAll>a6`to5g>|6Ac2<=Nlt79kXl{fK{nFI za}l8dY42@S$Uo7HY!toTzMr{%L=bRu<+b85Y5LSZCs3c1 zi9P(OMm(_5By}cbJ2w;prFLZrs5&YzAvZ4^NP|n+DTlCoF=ecAWpAS?m+;{IJZZ z^sGTVH;o5-m6-x~m5A{|y0AtGJUE6RZ5qw4q#woKH@J%J(t&vgH`cdznkDxtjw7@L zC6U?zZ!CD{=}w2F9|{syIP+wq{vc>;SIkx?h<6~P(02CZiP?Ziak@Wct>Ox737grL zP}49SI@UJbsrJ}hFBvs*#1hZx^FKj8y#pHgF}b&vuSj%4;+#`y9Aa^l?K;*7s_B2= z;>1@{%q#Q4hoXjJq;yL^(adm2*S@n`ym#1TMbXEF(v2nF$*rB_>d)-mSFbd+f|uV=NgM1%fx?3KvavFDqi6KEKo=?%$Ht!Hkk= zTh;}J1{h|3HT*rg`R#kwW;#&TbR_R4i397Z3L%aORGtlsTiGI!vw@e$lmZKE6@!0A zG*42V+JLL7NQ_wRKa|p=kVl0|M=jDe6F&R3Y339xg#@n(!&?7%itMjMln^N%is5&5 z^JcfOTE9f^bjsj7UJ=)1 z0bPZy*<5L2mSR+8Tm9Hv?M+LDK<1Ku7R?TO55Gb)J)AVwHaCPy7vAf}?`WY8Sl0HH<)!!gGa&Mad&KK!9-4o*&!3J6zm&B=q3{BcAvW0Pn5}2*fV8=(u}|ca;^u+O9;AGE zDBRtH{i#Emt5@o3og5)ETAyNsWh z!ZZK7U0w5rw3Fts2AXC6%{iRaAWXuxjq1e~Va~Ko46B~lE7=G0D|tJ@o1cF7nj}vs z|I4$rIxDh>1X3quv#YyGRa;8A<0cnfuInV$8H}LpM&8ahwR>F{ z2ro#AXge|8Ih3g8)F+V+=_ScWDD&!fqe)LZa=wvi)I?VBNeeQ}at$?^a@u=hGb74- zZs+)HQlJTK`@eTI^SdW;v(&t49|wgCo}+#CcNC+L8;Y2sE&g0ebi3eCQvmF_#?AbV zyLlph2-AT3H#94L!kmwE$|RlP%5PXf;kG4pti3XTWD7_VUWkoCv5}sEUv$~`b?Kwn zDpb^WG_!%Mp0RmPIzRON;~K>jL@bmEV;LJ7i_ZHnxLfmWlo<~JcsGaV{}@j7VC-WW z!FYjv>6oxfkd`3J{RoR()OWgi%$mU_aGRS{rZc>RCrrg0bvyGD(D>+`Es5r$i2pPu zVQaP0o5yF=m)#PrE(xB5C*@j9cC_E~=B?qei>>~uB#l7Ad`%SAH<~L^i#>9`r542q zx7&Fcx&Tx_tG_R+pytG7H`vEaH6Va$%iS25%0CIt8`_;!U%?GF!tGQ^$J2)mI07Zr zI;E&QV0gJp$bnK)#Y>o3pvt_uMLXCWh=J3vFXZ@eES>R;FRU{qQQj7n8Te%JP&G|^ z@#{A+(PJ7a%6IkZI=rof8lOc{jRa_ahuW3^ z&xc+u(-O>*l1SW_?4Vj16Ve%pvDrJS8I%vRPw~@=R7TP&R{Oz4uIz%kr0{?(hK-Ph zASF|p=LLG1{oyuWu){i^qzGBkCq8!LhlvyU7hEZ?Rumb0Jd^%0`MK1QhsqVehCWp^ zjZQ7HlP|jj?V7;=TG+ozvm>xMg>bf{>kJ4;B%*7OHmta%>$35W5OCNb2%PRF7sKQyIw7En@%L0e|t6D((g+M1X zDgv}uT*5o1kt$p0V?MjC)f}X{i^o$IVy_StfRa4lTY_KSpx8>@n>>zVBUaIturkhC zM!bWXX|uU9;H54#&IVqllQ7+zaK_mW9?$ZHN_#VU=w0O6Qd~6KG5@Mek3eRMY{>`2 ztf=5i_KWlS$A4xYUmdO>>H3GpvK2Y&o3ghE5qIM*b&BSiL_|kLZWC9UZe}bW>WMS7 zal)M|S=}>x!AE!sS=oJm#o>BFK|t?cD*&cmvVtaad$wPkgcex%q+dPP5mB1QyN^dO z;uS&HSS}Sk0@aGvv<^uVDn`0Z#mx$lcfpRJ3#)paVN<>A{--?DCYAjMX*H)*5Td6XRA0zd6XuAP@__+HJrr$aXzHh8_FUJun0b0{M6_| zL=?Ax28+TpaQU60dfTBZ7tKkIRRm#MZ@+@M=EJ#qLkY7&lwBzjPY4eWv)t-!`izHA z=IVm3X<&7^Xdo13n)aV91V=>0OuguEbUET?=l6;`m9I?4o`<$sW!~N>|5ipW)a=R@~Wi?qbV!amzIXDh{l zkgFHKhRAXJ&tUHz)v(3Aog*3PGi0!EK_)GtTkdYA5OKQb|^ap)0J?xL^by*tdi48D(t=fNSK|p9i9+TH%Xh#NJ)=`&O546q+H#(EF7B&4%kix zOlr$vAN3)tTok(7mJQIFy7tTp`is8vN%IYYze-sBgf%|B+jBYaOPS^{d)tj0?A?V; zb~gJwM6E8H3uQdxpBp5}@>4^t(q^31Xq+1*yKzoBxK`3^l zIfwH!2Zwq*m_dg%ru(}YAdaC`bVHQ9dGUfKOrUk5W<|GmI|a5;+`05o<*xKIYf(gb zu=E;SasHcV-$NN$8>VDK?Gw%Ushj=Jfjf2xrBiY7xb@1=1-AQSo2()!aVbhHI&nl@ zTAWv*Fv3?{In1~`XnI#FuqpTs&YDnAA&n~jCedU&}-C6NkgFv{=N+J))y?x%b zKs@GtqH`ocSS7wbdS#=Ph*)^+m}(0pr5OaNRh zpqQhz?Y*x$l#5=db3VEa0_$QGeyDbV9c?O-r?kE3qlS`>cm%Apxf{GDKh7Q&33mNO?vSupH#$D zD{XEG#leXR&M36Wk8=Tgw)h={0?H$#J_h8n#I^z~j}As1rgLK-^8Cbz?6ayjBrl_+ zu(nK%x|no(z&zBS33IDMJ-*&i^)*C>`%(`E z7W7wLrCmpSlsn2SiQS;^ zmMu0FvK_rI4?M=asg8}QMb@)*7I0_RDrP~b18&y|ALGA!GYYPqKP&@hD?9i{3ua@- zDC?T}Cz|=3ysSpjS{h`SznC_PuWtdhTNjGgj<(%uqWfK$@2<7`9q=1jOGuyHeTi*( zG(8JhG$iTk+y;#S%;}A5#8X;CtiOt|kol84n%?e}c5G%{ex`LbgU1p< zNe@>Jr8uy5vxpzc)oN5@5SYp}NB*+xsw(lnH-ty_Towt4{L@?1(Hzj7G zQna;uD0*PmxmGXlxXQ@YkRd^|sLfwvG`2?ADaBozsh% z##7*EB%J>a_963tvu5yI@73Oc4#$=Jn(XF(jl6p+lN6tHdr$cpJXrZbIlodDk`8bt zR<;NTZG_E+`5o9bKDzKZ(Y~1Z=<35K+B>fWs*9!tw(Lb{m24x=y}Cw7Q)b$)m`34f zF_q6o(PxmG4IoO0GFHzJIkRwlp~9#c4YkN_w?KWhO>o{Zh54LnH^{no!HkPS5D@=L zSlq7q0$K5FPFZXOj}6#t35Gr9R+F=}NuQi{k837PIFY=*bE9N3R6E7c)A|c!bJlv= zD(Wf%(LkynKU_QF@I6)ua^V+ui6g)}m^AKMD3MGo?jnNw?mlTBt93@hx+VW>Za61i z2!E`$?0h6KX5wANTb)x}8s|RMt;9DSR_iQa(>u64pVWV3^7tA*I0n0^mMaX_2m1#y zR;^%}hg21S9yNFQWVLxjW!%284@B~!c~Wo#i6N}(p95Naj;?+4@kr7K6t>6bwwDByCUVzyxB(i7$di3)+@IeE$>W*t%#%1ZwYWV4 zEIGIA*zv7ZhSxc|?cp<}gn)hoxi#%@vq)TvrAA+$1akY1sm%|LBu?>aEtgEQP=R5( zBNpzpY%MB9*C9MIGB^&q3sut4Sd}^gmdJtK+y~XA$22MfCrKu(5FY*z^6j`$tznXn zbA?M%Fnz3H0lOMVJmInN8(OvTl*kvt990B_-r-!M-i0dZ6DP%$MF&{gVHgX)`=3*? zEs=@dJFXq*l0Du$U`xQ9RwWcsrk+KiQ*=7&+xQdNs0y4bS&@Db>pCBkDBz7bpxfEV z33Kr>wSBe!scUvRa8m*;X+_xI?|AN!3OZBLr!+DRPyVB7-G~XN`=Tx-`pjAYk``(-YOJfGc(-bN0t2eGCp?i8XXT!o{g zjtce{A@wiW?H$he-XKZBInt&yB2>szd@_iy;{^R|@Amp1UuS}3Ic{sw4OJ>6&f5RR zj02M5rJmaHBYxQJ>Pnbx|wK z0#k3@(m#J)7li+LH<#Fp~1c<0<(;m=~C6{8&F7RoJseT7Hr*CnN zOw`64caRDoa+`7&uC3+m;Dqy;z2n-S`Jt{4F^@yd)$+;K^ibl++tKrOblGvu+i=y? z)aTE++u8!dZP+%QlqD9eI2`=lR97o;({TpbQoVyp^B@%f_eh}C_3>X&0&-D6df>Fp zTx0c6QKo-HL*tZnLq^Cg+vPs9W&+f3$t(DYXC5X`+HDi1L3KpVv}3bH{rKv}9OFP+ zd0&&5;d#1#%589xp9)(Z#O!XtgD|I~rI*y;!b6G0U7uGcwwX?@S!~+@y2=xxGwM)miICoDqE0bUe(HV_?Xmfc zzC*djX@VUIRxn;`C>H#0UaEh^ebZ!H18_bsB%PmYg*vzxg#adjDgA2e_BciZ;y#m= zRjXA%lg&fX6{LVfgq z+ZtZB?%7h13K+wlJ~ONqOY>IvRb_NzZpjcP5EwVCnwfkydA94d-lnTa)%O#LHe{<^wckycTeo~{+A z`wn5YX?dt?FKKU7eiZoaE{b|hxDL8nfmTL!V!VAhVgG@%x|HKb_uAtahdDcm9pmZ^ z%!<+QpH#uLy(1{kS+(5{>KY@mRi~8*bGvW_`RUttyU-58~5c7jQNV9jw%$% z1u^VXzF1{h35!qNSFKt$93+Xx8qm6IqA9EwScGsxH$HVBUFPPXr zAohIHo6lRlw(T~CW5=g96LE!ev}Souuyy|I***p7i_l`Y50TYQsQoRisDcJxQU_o( zenq;3de5q+RU*9unl+;nBAfTP>VsgN!0w@)ae5Ju2!bt#3UL?b0iUv{IT4y%`d1b6 zk*^Vdk7s0~;^j1Mi{j6TN9FRR=;x|0V;8D9T|P9L4hJqXAXkND07uc}H8Uxjd;L40 zFy0uPNIuu~eOQjPce8#o#0xeAn3dCXsn4XkIssAUITtYRHGgf0gVYZNG!JBAY2ZXA zWEaq|m|z_GKv1v6O0YhD4F53nv)?K&-pwD@J9Z*OBl+Thy)4LZgt5v}Nxheww|{cj zJ-7*}aZV)dwCc{NrU&@Qo{)vq#9CoQy0->t|;@^_808@A8tB<~h7LRNYOH1bg)U$e%Z7xf+8 zGF#T>EMnH*oPx*tgcd0d>Nfhgee|*L0G`;Jtj07JTI6${B-a|T!a)@U(K(Yh?^w;X zCCw0b*Py6ESWz2?3!2%z#xSnHx;~M2Bv1AsO;@*@T zQM5+#xz!nQ<4(LeqTcki*8 z6Ti4Y8lmSxMw72c4+Sfr-oS|MMwY7I~F7uYE?Hi2J zZoUJW{b3FLT7>}{Gb(v|brj4>f(^{(l4W{FGj1|CkYE<| z{2{dfM+I#k3-TZCIoQlUBRgEMcF%Y`e~(R_nBn%V%6s$_Ohwg_>=jfViP71Q)r}TsNZjy<>JEAhaGrtzlEK>zBI0Ycq zh2sq$f(CT0(A|Prz*2=F!!75G%9=_`JQ%o$#dJr5D$H``(f%A(;{;{5N)T=>3vsz*IDB79H+Q8`Xs|N6$P8 z7`GgUa?p8^TvW*BI_MQg;B?uS$XZD`<4eKFn8tS=P15#nELG>!o%oy8J_pUD|KD zvE#dh^q59V+dO-#xRgs*23^E@Q+*4(Jp|EJF+<6nWt_f z$+HR#6dX%X_x5K@Zn`5o*oOPgL~3(BtYuL!A1V!FZY%!A#NH#{Z5^2W>S zwaqf8K$qV3=TOd+yI$P#LO@tIzUWGLw-XkRZwpk9s?4ash~#^Bw?tg;1XFzP`#uGD zBv-Y#gk&6%o5Ra;iIlbGdQ*>T1;hIzKOM|Fs5%c8IBkYsqMRQZD$xoGVY9CD6L+q$ zDnY9gl!fF9yRaq}B%*8V{CsJIGB1<%RdsW5ZNfSh@`$7;uohUuJ1u2&npIq42a^zWM~_PWJRv;G4n6_1&8g z(>3llc#p^qwx*+19vr%sVit*ao%MKG*5lxkl#Pr{FeOP|Dhe)-wMGSwoU*+CB}C+5 z%_bKbWCO*xGE1mV4i||d%(+@bN-Lnyr3`GkP?0UUECm z55!)Z+I{_;Gv32*@Ikj$r}^8hHDy2TZ3S1zRoQyicUnpG!pIKp_tM?+IicNz=ck5L zTaGd82z*C<&Lz*E>pk4tf;yw(uym*iqWRB9_n(adK~vc65nq6<*%;!Cv9adD8t|fG0N~6!?LU zw}Yat5GFWORX#c^Xl=wZUM>QeL>=z9zdMy4(h$e$kPD6t-kCXNFIGIJV^50jl}r?&UKUa(=tbyaG3NDq?nawi!}$t zj~F%sU#Rs$ytk?q-BreInoXDi4XbUX zQaEY4>+&3)McKE{OjJzl9oOhFFK0$J3azyUfj<_Ic@X-J54q)Y@}nUlKn3!P)=lkp z(YG<*M*Hsj%?ER@(3KC`>< z5zD8lPLHRIco=S1FX$iMU_qr$VCF7OnnZKlS%0T!{P@8ZV_9zed+mxFM1}iHGYa(W z)eR890CZXGyNOCGIn}OFI_%+*Wv3cxNW0o6q^P-5*J0B7B>9C8gg_Fm--lq-#d`O}!-` z3n;24aE))X0H3!%JDcW)q$^=^T>`wA$G)Qh%ct0Yhtp;_ztfV&3TFvb+SL#KTnF5C zRjq=uqR~;)GK2s+P>&A84#?XJRqGYS7?NC&A%R9m&~Q?0pnzDhgY_~${IkDw>S6tH zA)uH&N9m3E9}5Sm^IGQ~uVtk7kaph1yWkbmP#Cb7W`(UrF9AEZs7qM%SI=Y9tbsD2 zbrdx=w?b0!N@QV$-ivUf4xfLb8fV$*knqH#G9O%(RUFIQto7+A9WJ$5x^s8qA2 zxwjd-XXl{yj;~ner+$&5IXl`6U9GrT*SdTdTpasaohDl#Xc3CJ$~A*`*??M!K0@W^ zB_zC|M{Rb&fh;bOAVc+%vkKnY!`X-A*{`E@#iD|{fyC|90G3%uSsIb!TcyIo8DsVf zB4l=tLf1o_IhZERi^u7ThZYtj1Xb&22o|_zEYJYy0f2W8O`|=yl(yKJGyz6 z`j`Yz*qXHkuN<~Q)(Iz@`Uq8y`Y_TKoI6h}q2(l!+||zL@tdcKXC5d1W)~e@LaXs) zc`Z&0?)SI3?0KJNuV%Gn;Aqc1o<^ClDL34XtNje8j(99n^DNbg=|+bosNbM9S2xlX zivbDAQs-UK_l4{H6%LP@gD2-{ehSujKm#9kxg+GMll{QDY|G71!-Cl2I)F_jm8y^I z^z2?}IE(4A9qzURHs0~f2h=>%Y~|ITn|WOj8b-U5a0}c~xqpD%>~<5SHTtfD!IU&S z4IP6=)DKMnm7IA;)#f*M`}XhB#`n*qrF1L_^vOXGBB28jIBr}lyiFdhGY-`=!el6< ziWfi8^g91?)?)(-UiDZr8eY3~+;y@LSXtPdhuZi7puGgz)B8mknb2alx>!{bk3B&< zvEw5P7DD8|P4g5p>J zN3ZcYb(LKkYqsL}W}SwBxyUOHe+8ng(}}!dwTo1CST{ zgo9wclCOwrdOW4w2@4*jFa~eOx2S4-cLCbe6Rl0>T+8qB6Wn}To}p{nY!?Ic<)WN` z3@hJm$TjcCjkabHUGuB&AnL%wI6`wnTWMf>00Tmxfy9q^=gx9m)P6SQ21 z!ojdin?&RfPU)yDPqz*K18Ssg3GE%%AYojAYz;(N8?uWxBsW)R&I^)UZ7=6m=V`dC z8^av{IZ)-*VxsV~$*8>}8tKuwj!1_+In1{-_BthB7r#(eMDBGsGhk&zCDhFe^x0w; zuuVEY8hVdn_8U+fGsCY_OdWXr_DdBtdcdl~j<#GCe|P7}ugwrR8cVGU6!6dIjk?mZ z%!d8W*Mk{lN9YOq+#FBXI$}H_a-iV98APj0C0(yjFsM9kc|zVLR@E}3vc}Zy`kG$f zi6VA{%+0^-y}h4`hVJY}xt@8;`<%a}a-@qgjt?Oh4`0 zAYZ#}_yS)!D9)azEQMSZa#P^qL2o0^h|2tCv*M1fYPpmg2L0g-;V}&c#^ppuwgzIg z7~ntUBu%XyZ4fwX8^p<0#-EkhSci%3Bq{8W4Nij^u@&O4hz4Wsg6_!m3@vIJ9<^>b z7V%`mCV_gNQw}q@$O-;yu7Y@poDoM@WfCqxfn{TtKw)|@BF}el^I)alx|WeT4@0(k z_EduEdC=b-vl3xDaq1-ijI}74tOg&5ei0u$nmOQ$eR_RvCNEg|mQ5=6&!y__%|8z+ zmU1g7OTr;I)&|{tt<+HgVCw!Pw|7i+T*43@uNO?lcha{w(*&2K)LoJl9oJ^I9#JaZ z%F4nH;}mdf!n$x>LGOs}am&TQpHcFO9l{Iah*g&X_f$+sW(xCcYy5nx1}tr)rCm|q zyLNxhS2RP_-=b+wJUQ5!JP1%u2vSzDH57KWA! zTzmVufZs9A@2nFZ8Kgh`&vx}#O-9)ys4eDVz+dr85=&H74b{+%FY>N z>UBWhaph45Kzrn_-b@btbXOgz2YO49sdKX0>Iq!353l;C?BhG!tj>~C|I;U>$0M3K z0QRFZ8Du~h*!@I-0l0~6m3le@GSIn@bHr4R?{fF;*+yOry%tdJ9nAdrp+F{jXiLCN z^uw9-C;qQYX+KsDOokp9vb}_IvqN7BS{4IA-bJcEk~NXn<_p15a<}*-3wD>%eHM*&*QGSKZI%>&-&*r)*u>N`3k zZU5-N|7}=t>YPJ1Ixg&^17thj8TR@bqJYUhg3NVaVNHzm1@|$yuBq4opz)hjD}u~^ z1oewdbR5s$4%7pIxb@;naLfm+-rsKj%OgHFSw5&cLk!&9PJQvE_pfE6}5V8Z6m=GVm7HJQQps3-LihwcWm<^b==>nI^cG`DQ&kcNoH1i zt747SCHw;G3nGc*PLo${5}}?h0>01wa*e;ljTzLac5|=6!5TfIyGWW7P;a+uRsSX? zQOBv@M9H8z@d;D znDA{k^VWLASqVjV=09=0-Ywbf}hj8P%CEAm#;LkRj5l>Ibj_lnsDx5 z-IQr=xyoIY(=!%!$8MCgBoo7(XJXX z&1)CJWbsY!G#IAy4G)CSueD7L_T&UZf)97DSDf-Xq| zo7=YI3qI4j9*>A%m&tXAm;-<4c76LGm<|;7?WnC2e39QR`$}Pac`n<~fbZa*^W+H} z2gc{R4~Z*mv#4_-sTPfW@2;#WOd44@tvBg~$$e-B$G7cAZg502(RNOmth_2!(21^= zr}#BaI1}#~96uKVL$lq`#$;LA74`*M!$lN?K zVvNG%P0{rndv=G(t|RageP8~tD-+bxxQ4FpSmsXI>5?dS3W6=5(HeK%O01)nMd}Im zT~H+mA*YqzFDF_E?#{LS!Wtd?L^Be&(^?UND+?W^DL8njDPHCs*We^v&X|O_q0oJ+0P#~%Dz588E&T>=HZf^N0yXWK zmfbrW^ye>y7;=0lpcWXmZVE6Ubzmz7l$fR419XZ;j~7?R>PQ zkot~k&X}N1q9v#%r(?>du=wl|6NcU1Ej7!Vll#1OH3v4=QuRt0a9)O( z+yzq-;Y=RR1IPHsv9$`VQV&?&nEqwAfGWD!M!wlzlgMM=*=L*&Ww~Jz3FlAjuBm41 zpj(GBM$bQy&0&DkBpalwg}Dwec{i~Wn#%B|yx(OvJuP$zc}JUYxSw4e@YnNDN%VJA zGc9$l8huxRxDI`1(l{aQx0(^Hdazl0BPVEBhCx*wj4x(QHO>)`o6*zk4Qkg)} zPy}UPTFO)ckhv(?Rc_(e)UByz7m5L!ZR0DNHluOKAely9T3`XfmkX||a6tb#70SMN zVY<-$o%ZvVEy9g8Yr`$6Oukv^pJrOhN|!IxfSCQ#az=2o$#mi*WG=-HLVMq-WNwtO zJZ-RNRXuC2?{hOpMNVGwyK_L2j6+}X%)&dIz3^s*v^JInunVhs}{l`=E|C$Tv2 zg-UNJ8U3+eJ%m*QUxD>O`H=}5;f$I)K%0cE*<{%XqwUb6jS`kt;J(OFVNk5r4;f8^ zo;%{|WK!qUzA2o@1V)BNBNm65K(1WASgs@?B?yeWC$HGI#e$LL>_1zHGVsNW;PDj^Cm|UA)>%BZF3nPMQ5?_(1}qk> zG@Uig$1>10?KiGA;!5N2s9%QtIRrp-ii}&>p)+Jp+N+VK9APrH=w)P&=kQo-4!HjQ z6)WoTOejZirsR)s3YOd``^g6d3um2PJ0^}S69jC=Z%-GdtvV}iA;b#;FY(87d_;7O zfXLLGJpphzebTP;g=P=z^F*7(wZ)&KoLTg*>JaYBAv)s;>BaCLCANo>M=XvB#1!r6 z5AAughgbtd-{EX_AKlw};cBYgdkRTs^UhE=iaV2K9%YBV;(4A;^Rn?!-PU05-o0Ow zY}LFRDMg{ScCLYJw6)2B1$b|qQa81Z+gj5q5kv~gBLwpsTphvnS{q!;Dl7u?nj$um zv{6+CLI4EICgSo3w{Qb_a=1@w_?b+*X6P?laYQt{EkkEcA}XYbH=+fA7KE5tk|`Fs z0k_~oaY;-_&|O(v9M`#CeXU`}S#y@gm3;IrSC^b+=H(xHp@S~tdRjV{-`t`-29k3kzE#8W5m7BN9<8=MK_``49dk> zFZqpi|7zTfxaJe{q|KE6SxlnepagS!qW+KMlt)*MYg^I=wzb)nHMd6)85MN>wgJIA zq%vX}n83Jkw-~>vL zdu!qn9GH)Y@%(vijr>$37hK)3zp;O=if_HX7B!T1G2Z=^{+LnB_eI`j@{`)K7x@?5 zhtznCmXWgx@aUIbTDUvbnYZFUwUHx z5Cho8Dje=t`4RC;SvyMWJmT(~W+|Jo`T|qYxRh&c>)tU9@2U`dD;YQKAD7<=>ar5u z6GhDlQ;e><^~C7F0Ni_@5h*U&f-z0W&1~-fcu0dH7((c1SHUTVe7ZKsleCk&%ZiQ< zz$5i1u;X%V19wZ?5TDjTuoMbbsr_oXj(7&pB|xZzP#kqljXaa(n&q};M!DXlQvX&y?>Dbp8Z>zm09sCd$rMF zZ*GNv4YoDRE3kQ(SWm)ClQo`eo!i+CYvTY{_SkOG6x|nkHLUKMSJPUK^N^-FXTpR? z$k;#8j3N>SB|auqoyUSNwZ+t$L9(!f;p9F$m1>z_6W-!r-^+s5x$gJ6?#38b{~~skOpZkC!F7u^IYkYvdT}vA z^Slj>TRDgU7|5lef&e_KHA04=F^tfnHxl_sS%@0oR)2@a&JTYmRv4a3T(9;38B9_sm|q0IRx{ zeZa0%n7Zt$=mG<4Y64aYTidwy>@1q{ z=jCtV+}HDDNZfX}<7y)E&(!tyueGI-{SO945o6*%XG2!q@*+cN=SA?0-O<+?;*|y5 zFT(!uhoH-dt<7`YEAAIz42i})V`e;xWtNs1$BLaUU)wWRBVlD_0{^++{YPQzv2@5y zNIg|w`{&~T5*^RLuHX3aH-q2>N2EuZts_3+f;NYW8p~&eO(5fuK$ZmZ^7Lnyudv2G zk%Vil+q%xt5IYuno4O<{bOwqPn{pB9h)c2l_Zj z6tlD7nOR)@SWz$4%;1D!1SV;9hJ)Lw0taO`raz4bDa}FRO**? z{H3~p{AfPS$2KN0KMKNxdj&Lb2f^8qe0!%@8OO_^d@3>GFD*zqPL4nhdM6Zq57muh z62g}tnr<`$ANs>1s`>6bFGFPC^cAm5d3V0)-;_6!!;GZs#X^MJZ@pWef+%RvuEVSl z1&zpl@Hxj1PLH&|UcHyPRP6P;!UBR(DwWD&1@XpZmGf_juxbLhk6BHiOB)AY$fzYZJrT z8f1G%N0h;Nby@$FWt{OV$-7Z8s21=$j*%DPLuMy~HW@1Vj2SiNsr#1LCE@2S8Y+L- z3zfE%eVZebQ~@0H6sR`YT_agjD36{|;ybhfhYn7O#B@lofq!0|-GX9({s;p{yfd;Z z!YdTRjcowKB>&p84V|Rik~FZ}m^c6zXh?ixaQ@y{vU42L#mqnqa#Ol|Uzu zS$b-ige;C4V87!T{D%My(ko{X5^^e3iGs#;(YoiDd8&@GY(x=a38YyidpzST&`-K| ze#bGm4*?Qn;j`Xc1^+lA)@53OVL30|H}EXjRr#FYdYVV5ApmfDJJXoAAUhyJp4M|f ztr5v<5)hQ~Fx(T`Z)oEx%RN(bfY$b$QOdpXQQ#aaHJ5!1L*)f>?PZAC+1Qtl9)kF; zqnGySmpg(Q`0!AAB^^O=uNZo&R`D1hHeoaSVr*Rx1w6Uiu|UeL3IUEF$vWboyH-uF zpxQ*KK!&7X5J%^5ksOy$fF<*ID0`rASe~w!ar~k31Et)jI^L(^hPG=@`i^DH8DK&( zQ7Xb23>512g{}#GrZttTi#tLuPPUHf9yQ zXQ&4%E{aSn>$F2mPCCh8BO=grZDT3#5iuWGgKJjL;zFZQG4`Dk+0KM?F5ptxBWI^g zCOKyq*iVsx;Vlc%b@)izyLlUxNZzD-3f;vcU0#2Ks`E9Hxn0gi(DcD|D^(mLQnxlu z=02X2tIy>C6^`w+ana~W;Exo7_zr1y_Rt{Vnn`mMqKmdkd4gukfxYECr_5o&qd%MI z+O-Kp;}QVMe9YB#pry+AiDtevQuvi1Wj-_u>+IOcMDV<&e|d~}@Pi1C(-p@&`RDLd zAkOZsn~x_=zts%ukXzcnk#8TVt^EY{#prbHbGS|jBOfK%O zBR9Ipa;($M!g!4VUg3<}q;nvHFQHT>-UkqI>DK-EI99z{JAGCsToA@U_^m(F@_yEs z+SCnX{*G#PN)RFWKCSl`H8e}j;5-)an@uh}r?rnxc;G544es|Lf>HL41jdzo@h!ZL zcR;fl@gZ<8?-pMSMtR$ay^)StFx7}Tsg}M~0erJ#zUNNC>nK;G+ZFu&6U=;Tju&wm zQRyQSTbP_5s7Js|2M3{N6yQ`ENE}vr%uOX^0tTSEg1cPq@m6{g9j@gBp;$|BtQ*^~ zKo6Y}`F0*)_;85WSO(#i!zLk*psOf(vBBF(R~&KZ`0J6eer$*Cklta18J5qjYkny= zpNRE09dg)b*0#OyU$o?R=nBbF127Nymzu?RyqOZ;)Nzk$c5rYb5mmABaUoZN3vg;> zfZzDBCi)2?m5z!5>K#$eU8%69Uo^g@=b!3AzUH=JTWJsux=oZ*Nlkqj5t>{x`=f~&A>N<3qSk`gt z?Lby-?5UV^UB(!Uq36tO?I)-_O1Mse%#@ysy%zjN--c#Zo0LP9XXZu%U1-of#A?rO zXZp7!nh?%6=Y@6B?h@!#kK+ zA;Emi?DeaNMrG)!Dhtso$Hk;?Xdw&ovJy)ai*L)?mM?|nS8p0tsYW#*(4G@(1Ow6@ zAs*=GBZ&FWUA;4!BFU{_SqvfUr6kF_t1e!%Dzmy99!<~<%*9b$zbONNvo5>q_7m1@ z2s-}}w34DH{AAzi(96lDBao`a&h|NPGw$}V2@7zrcMTLKf7FBFSLDM(8tlj5>_?!1 zn|lsJ#kZ>;rK8|iVEL;zv>k1Nk~X*@>LFinDK5{nvi(m?^Lr~S_3YJ%WX&mBLTlIHN; z&Nrj%rdBZM;nnkA7-&1+wEgnsHfJ%b0o*&bG(WuibCnL8T31yN9^J256?WK(Y}vcH z$-=^v_O_C<4MJM=W8UG6+s&De#Y)LrKP4+fEC(xjE+c=i_IiMz^1erM-?cSJ%?|im zd^Ssc3&i{r%#4PV4G&FZyMVNA64ZT6a*G;w0`vbsm7`aX^T-seA5`Cp+d$+fG!*x- z8DIVF3A=2&%0R-b4`G0k;Fo;{=0DGUCamE%Iv#XPIkXRjW4W|9UC;JO@0_B zn60Mmqrc^?8~p(k-O<#Y8bjdd+)W+Mgj4!@sPBlLv(wWw4oR{!!ix2fMln+?E2PLy za!C)mq0GZ*kkrQpW%XNG$ z#$}maHbVBDf`mTFr@xRciCNZk{5(uV;SOBC)!PnIVkp&C_2WLS;D>bR; zTED{?Q~%g$jgBi>K#~ZQOtDVT=MJ?w{)>obo!b}2uwAjDJv*z31Jac!2 z5niM3PL(_WL%l654ih6FOKUsA@NjKj;GSzI3DxD0veCH#MPTATv9u8k*%>J+0Wk)A zzC?(cLw&-@Te}$+bq~(MewQGd9lPwBC4$*I;tQ`*4(~|DFg-$S#MYsxpVS{45o<0l z=S#*|{!tueHzDuIDRssx9$B(@>GK~IEP!@s|5?gBp#0WEq$xDoenXoNsc#!8;8&s2 zDPXJ$mfV`dQu8J9pdj%4f=5G3`h8I;^Ea{B4MNK zaJQDlCHiw3%07|-q@kiDx;(uPDv}2~DlkK2x>F5=Jn!4^(tfg*F~d>N0b49f~GW+^D8(lg4U4>4SlSJsi7D8=>W?1KJVwnMlLO(2sp#DPaZA$R-arlPdXCsmS&bLe{Ne9*DYGO* z+!inQQhMI3>S>Z`{nEaTVT`_DT!) zwvn{Yvu!$~eF6D_l*LE$9N6aQBu59iDYe4Ysgs~5nW&ddEEw}qYDw9|BRsSd9~%Qk zAwKf@)ZgP3)ir~<#;`&5>i9Vdn^ z@VTlMCDHCyHAjU(Y|l#6MO;2CiBnCZ%vU|B!gyS^Qa@46H(0ta%q6f{%iR>1a>x1c zzAnMk*lWCZsz7vYpY@3p)+K^8c6ldz&+)%r+(10Xt9B36Teu^x5N{DKzIVpCQ9bDF z#g{&Us<=C??D-Wqo15+UPeAtw$mRT?p4bz*Ca{!Jm%+!hJ-GY&vBvGZ-RKwy z1HCyap)7a}*3`TCC@r`B5#iftU=`)WQ4Bca5d`zK>kYeFu;f9G=xIi&m1|ok-t84)a=miJnDPuPNQyF#7IP z6iD|sT;L~hySfcF-5CVwIEjvhvJW{rhtu_xNc4F$429Hv+MMCK9 z6w%6eL}PUvJMR&>pGo1tasJk6I{*{7{m(Uvedva`anmd@&Ad=bkjAj0>ZU@VuV}6@ z&yH>*X-N$+^{2}Ece{gSSRUoYK$CMvVZ-WW0(#o*Imd*>jL`xAuOk!!$mhbiN zGkPvwCqCXR{*$(p2vCR>2JH{hR06r+zqxzg5(Tk7Wtt!ntZb zI>hwsD=lA4eh+GPCeCtnp<7k%Kt%OGif7&O*^y-nHb%*v6*qc=JWv$}xb<0?0+l^; z`IcMjL5+*wDUQ%lqd*1zx@7Mr6~bj?WtTG50f@Fu2LQnnC4T=kmTpT|2NdF}RNgVg z`I(WjU6BWR<9*5=8&`)-?Bf;AoJ%;isW`Ppgx>!y<~r7g z^aO}(5EFx3=lb5stM1Ls?|nK5@lC}S}zUvwI6asp_d&8LWEnB^$u(3F+^uSva;R4C=rQ{ zdMQyivocq~uRlaE4_(a{ObgV&Cg!H3M9bYdZ{p!UQH^5-7ZOF#pqAFWgkv+chz_A& z`GG;tu@0U~$2VzBFbUWltsBo@`r~&%v)P3e2@+9kr~)(3a0_&pp(KOS#a%<2?h?FY zB@3)k$>kDya+y_crow+8^x40`jAUhk3BnX5YH-Nt|C8!=Tl%)BgSut@T>!iUDxanxpS{BA@;Y$L!$27jb)Qj(H17>!tRNc&e9nPY#@`$+nw#nk8+s`SI%ZrYr z8QVGp`)kyMMfN%JIV8#A!w1=_`vlxhwRkbHNV<~P)$#_ArxH0~y98DRUR`5nC4@vp zu1l9!JhQiiBI#pXv84!fNmr2hOJ<++G{X)Jm)plG2B6!D-OeB`pGuduJTGqW9?En7 zLX(78kZRiK>kx0ZXvpsL`qxk;n?yebXS#{~9Ng3#4LktX4na_H|(d7LwTZqr;(=V7^**|n9`?&=-WT<|zk5)Pr= zMGLDE9Jc<gY{iN;2(19#&A<*;$%)Sms@vP^@*YlZSOcnR2m5 zl%-VRRug6;Q8BZVxVU)R`7MLgLmRofGbIr$RZZ%EXXb|T&p3z`F{A4Y_l@8VS!O@h z=Z5~~JF%bhNhQbZZjP9oEy+#U#CF6Ua^skanQ#s_?W^ouV|4|Xy-0D{%k^)y=#=jX z1iW0+Y?(u{B=S;_@9%?`ePKgEa`ndIYAaSPW277$rNP(nmT?Aaj9H6JhzU59Qj z-T}=;N+(O+YURgezp3*uBHnhY_$P_eNkw^3`12Qy>hyBwB3CoycOU}?6k$v9*YZg` z2d&rMmZ(FVOy@>vX9tCM)6vB@hnnrWox8=#W38mpTkbM;s@Ng(hGyyeDKmazEAs?- zx~7NFax~DnSaB#-ic{IuIjGmYvi2#!$**V9-KOeCWw7^s;S@t9OJB16jh3LHii*YUE z+FS~!7i-(6W2tWA+LrC-E0}oB#}XZ?gJ6kl-f?%vtKI$$yFk41V&R2EgZ<|7#^Nm7 zkw2Ss|5VQS%&t%Db~)P|CuOBs>5*ZniIS8=XHPqyLuW8LKhm|hpUq@&hX=u=fKF~$0ZRFZe0bfMj%JsNe{k>wETM}nSmf&l;k)EUPiGtQbr{ej1W7Br+ zY~~h48)QGy3h*gDG!wx49?{qukmsB({$$1^iM$-I@aJBh-noiqow&&mwt+e3%I z?`WQ{4J@D?LHlzu1^go|;p@<1H-`G>n$&eFpgkQJc$+A8ebj?hnNT;E^)}6Re~+5h zFy$w<`Jg;i-!ECy(4}jna?OaBpTe7CPLel$0ggDTNGpxn{|GurkV_26k5A>i9@Mzp zoFVDT@=J`BZA;WbxoiAvutC>MZnAOsgXw%Em4|0(uii|SB>={@-w^;I#X)S3kRx+( zBiz+P2OOFO>=d2(uxjb-D$ox|(9z4H^}=a*q$-=ky?=$gJc^;67o8Caysrw~w-tTH z8D&U&TF*w;j_2jz{|A{7C}3_CVWq7Xn0s}-C1E0JJl1)ibCg^i7KrVg{j)hh}Ybx1+5|D9X0Y0~pi+DTlM8O4&NOxbt+1UJrh?U_3ro6;!& z4!(_T3kgMBbt3(lZsK_Ni?Txc25BsSSN}=pm&}%jHT;ae&70oS63a7 zgev^}{w-0rO~w-No>FJdS14tE{)|P?5f>z8fCRaAOM~?L3}`?Q2O0R=?^|@O1*oJR z^DnFH!au;b9z~sJo2-3#Nu<;5#1aofxBF`T$^1jj9CdfQNqR}?kg01ks-rU^>8zdo z1>pne?5_H^FEf8)8{;)6MlzUI{9j-^Zc&NCq-zT&f!0G|zK^`A4KrBTsOTJRG)Nxf zgOYY|%sZ^1Mi5&cZ{M5n4={w?Xxp(|>ifYxe`^Hx|L`kVAv9JfYco~c+GiGvA1`r& zgJDPFonb#&M}E1<(Rk&Qyx~_&mocC2HA)VFK5FTwDK0BlFAqsSv~FKB+mM zJsqnE4A9%NW(|Kfw-7;+J3!Co#oD*sjqzG}bhWt%B_Gr?KCc1hO@GY7D07;@Y zw>o6-5nO550(>xI9hI^BH54!Et-_xF=pS;YWNtwXQnA_>A$W{;Y=ih4TlzfTC_jmu z+$eJOWHAAheWXwOE}ffDlfYII!5xRO%82wQsPWM`Lz2cp&~1NKv#|QnrDcX}8}^wt zA`Nvhxc`bf945t+(D_MT#|TZGRNheyQ@;pD60X;&g3BRN%ZipnOdDS#;g~Dl9kk|h z-BUCkBAb&L23&$td&Rt7N?e`E^#~fiM zdu%F!z}_G713jAg!dy$+0g-|(&Zu^wOxVFr(J`-$h-X#hCZe#PReFIeGS{;w2+1a2 zEqW^L7A)USOizmR%nb#j3Gu+k0{oAHNFoI+C?td8;TNZpBA13U1|jjR#2=e zp79gZcyCUR1Uap{{7C6_Z?=%wcRh)rA8Z7R!iM0w@Mx70P77FCi^&uMl$$8FgoV!D zIVX|uBnvVS!gX+$rc3wRkr}_v8ITn{bYh$MXr<4!;0jjqi)Y}|O__eZBbtyY=#ow| zk`FUD%;plGkPIoIDl3A*YBfgng3hMKX%}9|(&FLpcxdW;2Q&+CSd&1qLJ@VuzYEE~ zTO}L=Udz|6JjUjs3924-lPr`iejT4M%)h7oL+c$${50I?@1MZttMdeIPwL)$nX-$% zD|Mw~Cl!F2xgyu{uY&#!n{)$vs-}}|;0rqa{RwKGbI;)1BEk|2F7={3A+YSyXxeYU zmO()R))$a7))RMMPw^)#fFBiQ{SImF-r-L&WC^N863(5e93hd`B0EbJ^}p5s_Grk+}psRM4KW=n@dj-WSZp|9L3WmhOCb_(-qwaJx==?-;xPc z5g`RNYkh|@*Y3BQE$!M|9bK}lhY^^))lJO$N>Ya153+8@;3$OadCRyl;bSD40U5as zOW=>;^-ow6H+}cAN03#Zd3Jeeg^h z^r^eQu5`{dqzeBypyX6l7K#%4+E+ts|6|-4!iCqCbu7+1+`USyDq(!R&fP04>xf2J zmb%?(c)cmdhp(5;o4`+b=`PQz$L+eTkP4R3J1BRx`jr-aeR^zDfWOF3#Y3!p1sf z;ia+<-GZPsSfgo4Lc1WBe+BXT;9kzg>gALfN%4j7=ZPNJ*5t%Vj+r8)0R9}0Ktw=& zSZCV>Ln9p&+hJzMqtldjfkZrmN~eKG|E!LBK=aX1VLNTp!Va-OsXqUbHK8BuCQ1Aq(4e^|Cr_SjWB(yydWb!iomYe&=hCR6mo7U>Kh>ei zzR$Hj#1N5khT&xV5VP}WMwU)z>)e8hqr@scFSxJvrJZH?H`jj`MnqQ7*_#`!h{FKg zjOtlLB7xa%<%K#mM>#Lq#d)tZC)9ftf@RI~>Sn5zrqSu$vV-*BTh}ms^QHAvb(}%n z+sNw_8Zfms)}WunR}X32uc|*!tnW*iVxy7$L@j5Nc7QpiCk_tuXNrUGi^rlaWlL_M8c|0p0UMecilBDjj20p!e;#p;Z>V zBO14Ba^7UDpu8W6O}?CoHyWj?Pu3sEgo9EUZ36Om&noAF*o&_9+~V|{?r&pL7kB@8dvkLE^^Y$0wgeHLr6h{N1?k-{ zWkg~de4ErMlVxie*stHa&<5kbBrvs3nOq|Wt3fblT`U)xm~beEpfYItu0q^^X$Is; zyPPkB5rpA|jLeW>H3KvT@Te5%=OxJUGqI$NMe!yE1a$I0lD0?GMnoiSt1uR<#*Q_g zluQC5g!8DpGRyGSl-)}h_Rbmoe9YNAlHpFBE|+LUK~XRx0O@7Xn}hr7 zE~D%c^MYMg2MNf|-;Q%a#d6-uwFRtjmXw&p!c_XM^W*XZ3{j=s)5o0J0?0VnsHq0k zu$yKxTb}u}mmqGhC(>02OlB)IXa2nZ-7c_fCuo+V|D40GMr!Zi+B`&k7wO<}8TzI3 z5CUzc__|b6!3Rn~x@}rU7AGoUiTAY*T-dT6pAynNq>%$cr@2$}Jm=W8cCswkKti#T zddQI#;Yb~q(Jw*{drmQ!vqP(s!Vgil^gE&fJ50e7Hq)ln6R}eRiL!n`L{75ptMjz0 zEx6smycDfvV+p#t6|Y6IV5RqX=Hp=;(!#M-*i1uIhLj!ZA$AxJIb8EsFN0Kz7|Thf z%a1=DfiFnvE0A-5dlSq^H2duB+!IjaM;kt}>epWGQEnf~*t678gj}kJl-;Vuvd>_` zB_{;qsI>aSF3i}?~m>Q){k7T8&B`xEY&2xe3`XzMcdPUleP+{Nuu7m*aMp~=M z3NSy(*83;0kt9Q(hn$=HFN43j56xW{`7X*ftML8=Jp_>T-mVTjC=OjjGCca~+B~E% zpA~rL+qykL$&U?hV|007uy{^J!%uA2`~Yu6 z?l~w@Q6T9KgKteT|6KDzFh#xI&gzU#m0;g!Qm_=ENtUofj&hCA4c~F~fqRPQnE9#M zyU(^26M;oM`Vz8~#2(82yUeYxSK!V0C2K)d=q#dm8T^DazB|~GkX4j9;w6FFQ&_ha z?K4A_&82M9KKUNMRJxJ_V*cfcf)TMq zm}2IzU4LlR-WxR0naK58N%0@b6>uS+5!i2NquuU&N#y(T(oPA8ETp!dJ|OzZREX~5!BMt*!^Kf;8BgiafTsNoNWjP^N0YU+sTox z1uZ(*fdIoPDoW&Pe|U4djyhBKZTKbM>2uUO-M~0oX8kqLUYzTAj z<0<`_x(4w=s$k8O-5xP0n9PXgV&Y#yq&m`3KYQw) zhcW%}>5A5)nXk>MkbtVz!SsoiF8?~VRVqcaK{m6j>QwVZ`tJ66@(d+k_)1n^hZpY?Uvu36lhC{4T*v^mic{F zD^Yr-eeLGEzJJ^hsyVqnr(m7k4|(&@@HuUiT`vjz1dp=@9+ljs#&hquX7A>dNW9DC zD+xTrx(O8gTn_a_9HM9LNA&i~kJ^_WJPls$VxVO+9l-U+U4 zb}TMGDM0Pqkds#6b{=*uQ2vP> zBVl?~m|jiIRC{?+6eGnXZmpl*VdWWC9*hIgZndhc@|8O*5Kno5MXAo=4R*C72S7?QY)Y<@cY0mjQKJ@69kC5c)?V{FhFv4jQT%2avN6Sxh8@>u~por+p|1sgXgs+pnCa@CJaa~x&;qdoBLk2|9m!c z+U*?4=12&28Fj}Rdmz)O3x~1@Ve?TIsm^IXvDA}e?mUOJg#@jE81P!<(7K6HX zWaF~SeN;j#E1r89)R>inrw#khB$EvXVxtE4uWfi7^=^0VM`~@MO!OX|Pr1wUAw)6I?@4N(M}%;=a~WlKpj#LiSK0S3sfmJN+WIM?9myExmzF8;;tt_Du=+EN>i)85gAK z&yQ9Vb#3%-#m$C-Rurev=icq_e!`h2iChh2_fkMBjOR-?rR2FWAAO{)CzL|FY?cQ0IIu>Qp@nr_?)deY zsEKLLwwxZBe7)iD)r9KzhV={YBaH~1Y%EJJsMXE-a`4gO$rV1+@ZpIxf|+e3#7KDg zMe#8KB4lNX_;@D358l+yQ$=H0=#Z`_B{N2r=#~evr0ffn>8wgLA`nUA)~}&UQ7P#l zFyT1$>Vb4~+_DUDV<%xu*a63$`$o9hn&HT{-ee|z=)}b5VEZiUlw~_$98t%2`q;;fPcSnP^@6^ejxSlX2oCAtvY~fYH z2Ubj|2W-8AxP-vaJ9IN($GTM+5d6e5Dm2)TFy_}>gcSTt&@e_u090qkkee28!47lT zwl|e)RJOhL%eLdI>mZDwq>-EniOl(090s572x2uy7UZ*(M-+68T031Vttlf+jkc*c zGyt%o2=o)mJjktkhS`HWS8@O6&aalk?jf?D{-H;Oj%1jAEy=5C_^zj{P&rk!MKT9K zJN(4lXkuKQ5r2K{MMrRL9-p42>2sf5z-H1Ek8SY1$FP0)n>V%vN3i zCsupmGQEJy@2JKTYkeHT<+jLpy^a$6S(N2&hR1pSC5Py`LT)jlzk~Iyc$VtD0 z8Wv>9S&`mY&syKfFv4-Pd#W9}({gh&$jdz^91L!HM4UmZLGe@vRK zo~s2~0obqYbO=k<=Z?EY|Ir#or2(fnBzE56%&`pYN4}^_^?QRWdRxYO9*3W3{22r; z0?TlXv5D{bh1@AZp(4T8kRQ0r5ze?$TkRqb!jKPuI;#q!SkIY`Q!IZH%)3)64c2>` zC!!ta>@dG z)yg_1t#&IjruyrES{ap|ZB8AW1=m6953Ek0ZfSWhhz!&^B>G za8~EiV0=e1mkyo!Saiy5HwRLQ;sE4lyWC4M8lUGwrSa@LBfiJ$!x!qSv#nrur6l-? zhT*_C-OhbPc*#zUXv#1#vm(rX{MD)99S()YW_TDjNT4BXs$%@0&TnlAsw=6)XDQo2 z2=E2yu=E|_ylZby*r?wLgeWjJv(INi>H8R4RM+&QZA@mbszKTz4b@(Lv(pdq*h)wA?=&3+};u!FD;Z4LXpYkT(A6=Nh75&8*bTqdv|9nFJ{{E(V= z(Z2)x$<;~!qjR?-X)m*{M|^q>5>{kBPcRf{oAf+onVa^c(&Wy98M!NKu4EypkyX5D zXJnqbolccho&ovT4fdQ}Q(lc@+{p1M(S3BZ8Q|E-cI6N09?5NY$e(qjMKx1pb|xgf zP!^vVOW$c1v9Y6lL9@K|Xd~DtO`?05qzQr?HMg6H%bwlsfa=eoCZv%wGb~8!Pwh=? zEB3Om8Ikpqw%dtsO7pdAo<$LOudwn2BJb7l`bd6aX(JZOY@|XK#yq&5&tky`wop%v zlfYcGB+JDU2N~6@X38VGvkEZ%OP67UGE!qceI^nwfNCnneg&6jM~Q*?jd$(=NbaVh? z)9ncNvYgajbGL0c;?gM#x?A0>{l6dCXiT!RBBT3MJPVe9gJ52R(Z7sp#kql4tq@pd z9vOVRnBo07I`iDr&;tFhNUOdB8aw0+DbkPX`gMa>>(A+eeyp=4tFO?OksVEQg}}Af z%U(J^SPvML?Q1dH1DWT#!kc2rH#<-3AL3F{u{P1EA5V=!({Q9kcSFux$atJ;gr;Xc zFRsz{m8}C+$30(=*Ay<6uBtBFJ9cud!0B7Tigpn?_V!zi!U?#DE0Be287H!EwF7oO zjD2bk78z017-5(ej`{OUU*Szvy@vZ*J$OWe6p^n!9dVY4C`2%93G$KgNS|6Mx}k3pAtsjTn?mIud*OWuSlDuj zs{Kzy_lU@A?X*e3h2&tEOZE!9sv-i|35QWNYi3R$B8M!74za(Z+`gnJe1{Xt2q*O2 zj96sY7gqNnOXt=sv)07XUd6VZ@?-BK3uJ+@mUJ_n?{%z4GA1+`CgcU5*Y0UmU_^=~ zZG$VscC4vuVQ~@u;FcWg&|N+|$ZRuu>iWk(lT7>MQhaTIDOpE4DvbIY+xYyiGyp>z z5+vX)t8hC%*rzTX^UEK>bM>qUSUAFeTWugK(@pZ?9ncumWT!%6oD-8=ZPrCvh^xi7 zT+Q57KD5Z3x1>#Phag1KyOJ2PoAfmm{R*h(~GM9 zXZ26?QDh=iJ77t=fHnQDQ+o5;k_b7J}g(IZo_ZcWDz*#@o5{p-(Sq+cPL{w zn}a8Ag5EHEXyQ_JJ!3U{)TkM8T&^)Hq$puGxF*Qf*^y)|-}ichUo()(#dUyM>%@X* z_S)$;wvo7lCvM)7P(>^>&d9T#acO3!OMQi~0YTje8FHIpM{BOtev4FohzK6*^lN|$q3>6Yx$*67< zF82$S@@d;~I;fV|pE}wOHv6Pi6D5R2lQbqZ`$M}|3+WPV>r;4#l;_#@0e53Lw3ka3(Ft?CCCYl1^nqx#zBv;Oz_{y5yug5>DLjh)G8xos^ZUvO2Gk;pD& zQ<8%5GimfdS?lJ-gkgEfAJqC0(Re^mAW^{K2;6@ywtFDsOhbK4Ncc)o!F1(_@?aeLD;psv9$d0HcERD?wuJ2(oU(&tLiyjX zYOEo0^yvs2pp6UZehBspS{*tc5GEbW8;TvfHei2NmS7yV2yy{jx1H?i2!h$916j|h zv3cA5gc5hX7x3dZy7}JHe>9TUZi?6|kW(JWpPT(;MYC3RfcDm+h**L#(1~)rn96_5 zwaJb5s7jm+>BdQ7Uung5*hGRUx?M_W);!VmvBY)nW+(ej;%C6VQB4 zJ|Cf5U7)DsGL%bBn{r!@kPk=}B+EB9tGBBtOzCjPatvx+;R|f+p`>}h9h6-cwa9)z z+-sqn+!AG#K89%YL5;Qn1eC`j(3rvCL5VInLW({df1V|B`wC=g!gb z;=gtpqp#Nib)7}1DbbhSw@&L>4qDxdZ{2WvhyIE@NST*b`;Bf)Nn+31VWaLb`6C=5 zz#ve@L0SR{*nLPXZ7uqi*}UG)0%r1RdmV*$KttR&r}GoRN>yOZh`Lr@v2N{Y$B^ih zJLB$GL^c4HMpj9R0^FwlpQuK`4I>iN;hnZcH=tsP9Los0J%R7p-z+cfeilKF}?0ue(k$Wn;?!kp~CkeiG z!-Al(MMmtipiI5wX4<)w@&dwTyV^(g9e7g6wlhe@shYu(io7rc1UIvwEq@qJ9il+< zjw;Wn@&M5492{Nk7o_BJJgVBJy3e8Xc)eHNvUSBzKFLVT4tXY#eN5jxs##$spO_#V zcdZj0lIs$R@fbjiEIZ5O6;)GZGC(atovBEr>lg;~{Z`Tcgfy-cD3Vk(Y830rDA&en zM~6jBQSI~CK*iRW1$%0Xt4xF21TImFkJvvKZXVC9DU&C24nkHU^PiidfGwU@)&Br& zfM1_rU)Pet3C1BK@S_;B57rbX9B6Y^rD>L~R)c)HM~txMQ@TI<%Iqi(*-Uckl}7`l z@=&m#FDDiLLJ~&}<@pGD>AhHLKM{=+K6sJLjn_H!>cB2Aaa*;6bRV;)bd|!Cb;v_$ zv}h96E8)1bkOT$Yz8XH4+#b)|Rpjd*`tir2Xff!x7n3^z5>&Il3*pNtNYgJu)?N4+A;F`0iZq(Lv5)q1TfP^xQ)J-{_DWIE!TQ#z< zQm|drsO*9=bgchwSvwqGqDUj4d!Fg+$|7kKr1`@R(m&m`f=ss~ofc~7FT!|HZAfd; z@f#AGC`+)%=qE3vG3$bIyaEd6e1GMi1ICm3s?*dQstz65nQo-|#I#6l?@{T)qIB!ha)GWCCBwf1n#=#}+!|fa1c*YG)#SU1ZWk+7k*FH&Mm9)a3DFxG0%EIa%}l`W ze#wx{fJSD_p09n}BG94?FSpn&H&V$zniOm4&&G<?$*brOtPy4m>#L3qmif+qu;b@iBz zo)nd}cUTh!;C#s7#F6}*ZYp1B-w zb|eZ%Pbk$6R^7yRd;_=<+@q7RTM_+D<`hu?7QHf=!)^|?EK*<5Jn0*;7{A{Z95`ew z3zR`@Upn`l5UgFN@^NXpS%0sANX2$XHTJV(C_Wy_lOrKShSUx%NCK1^Q7-WLzbM8d z=pguCd%H=ocb6Z^b8(K`yH+r=?^uRje0D}8UdNkmjH@B7As0vC1jkVy7i&B50rRsU zcNqHz`^BtI=z1#F!BcD6FYurp_-V~=HmJp8U-=VUobStXHltx-iz6~%Wt)2Ip{)^u zh>uzIX&H5#V@pdLk@9lasG06vis%Cg?17BC!?}>rMQ0zzT4;12i@*l@THKB734U_ddY5_D{HfeayWp_wQqO* zed;<_V^@7vR3+q6dxi5{txkr#cAXg~XBL5#IICX;qDYi$(eE~u_qEhc=oqi#L6LxM z7u57ClzE%hIDDt2)BUq^O)pNpH{j0p_Bt=KKu+lT)(()0N>aX@veeW|7Nxk;Vw#c- z=^r%R@+mmtaZMy!=RqRfAebQ^k=D(=1Mm4D3j3Xi(3CO(XX;p$2RFPO{wl~Q2AiK~ zEe~m~Bx*0NA&Cm6r2*2u#ro6IGr+gCy|KzV@B`J_8o{P*%2&~rjzaK8{ErIh3-jk; zjSIGtqJ6`%?5jB_!qkeeYQi>lW8e44MRTf?=wADb=n_+gj4JUbHmXN5QX{-bKqKn| zb%yT)(Pr@fjIx0pJkF0N*m@bDAevBw`BVIc_@t{7ft3j(f{ypYK2KhNYY7w)DziU@ zSV?|Zy}lEt+^8{L}*bzgY|!Q=CNvQKqto^`U!Bpt=nHLU}8~Z zcb5VwEHZi?Dmd($VG%#55CLv=9lKnfZI!N$`W3BB4Tzg{HrTC~)7P%v&CeC#N$Og= zvKKjuf&+EqQAam_S-K*v-K<~<|5Zg^yn~tjv^`5KyVx=;B?dqkO=^|c>dp~Ibl`Ym z&n_yu&?42P?L@1Rvs}a^@h6y3bTm)Wto3#9>-Ow|pLGs{DvH@%z8Q45#K2Z}K*AFV z6s83wev*znp2331%~N%Ae%x9*xGvq7ynY_N8BV?B>;s3&j=-*d z8osB123!$XxiQcuQ@*1L^NVu^q|fBkW`s)=jGS2MW&|fw+-y+qw`TI?k{Z%W+TTp0 zu*&L+7l7`>egYd`no}YXgx*9}UEnXNusPyTpxQ*1!3&WsFwB)U!@ECk&35B<5M=ka zHiJhtB$+Mi{6pXpP4sn>F>N{)L&wg-sfuIS+e?9`q}wm)bvg2y(6?U<^o+D>xPEOt zM?CWllC`0I3lRqc=$8=}lZ7f+XeJksU6*zyJB-DCqQJKPbIl1V7~O@q{fTBYWL*`T zt51}7{v2=&I^eMaqf9x_$h4E)3H-ihCpXxC7o)R6A7tOx(D4ud&@O5AL6k8fi4A|% zc!3ibmQs5Hw}v#t8J;I_a;pOEyu{vDe^$I4VqQZbE0|Hf<9!^GQBEIy;(dIAZ9I^P zlXPBWa1B7I^(*_}HS|DrYh%(!a6$G7og$D7mF3>ZJ$A^B)!Z;~I#kH)C#3Po-Bj6# zKZuE<)5dSrkBk^jmn=j{B&Lp2ISGu5R#op3ELt8o-t2P-;_-}E<=jZ$hCjV$m-Ak( z?5JV}frwE-XtPV!+zjQo3bs+5k3l|tG-fcPIJ)}^(o@7*@&DZ}h{FW0SNfJ4ARbzR ztLeeHUQBLU(LJoA-5N{CY39x)e%t+<=RV^fs?4m>7mN8Px>*KvUL=ZjvXl#m7VpR? zpr2J~TU6V(qM_m7XA#}yYy;ih&{1Fu7L)QPsBr^3Es|C{ZHB{^LhSsg?xejjoDbE; z2C=-mszNeAAC=U?_bhmy^Lz?cr&zfvtHpO@ZGL>D@M1;UrNsfN`rDq^D&w+!4Hyz_ z9P-S7HLSIYtJkRNzBf4ES{ps0`Ry?xxp#$zz*6-g(`Pr17r{R$Uuc~y0y`RJyZspT z?{ac>%~2^gBp9oZt?->M&S%*jyJ4rh~G zxGw+Zmc)T&b3B962b0W$8m7p_X_6mD9nTN7di35>`Jp|d%Ne#?68?Y)kyOyTD)K_X zc8PWKJE$>>w2F>$Tp+W-WqN|(3A|3JN+q|y0eJWtv-_$^ozMYrih+|A)9JXr3-TUL z8{x2+L_=U5sz3sNF5Qg1>Lt$OnDTA;ssL`(BY)919RgGomg*~x>7rXYQ4&|ow!s`g z8)x;jfptwDxAQSL@2n(!&K6hu;zj^zn~sC{$?F2}(F#tB=YM~DLyNGSY3PV;w~XBl z3@ocitY&Z;YVVQhT-L2$F(;PS$k}!r$D`lCJp1W*zaq*bBv0cF6|u=jawTy;&M2}y z2C300_Id?nRy!(C`&Tna4fXfHo=k*q-(fsYhMbLxX%xv|nhWd9&rN$~7C&_osRV+Cv`pG-31h;1gHJ~d%rs1oIWE~#i|JWZVo=77iy+x-s4_+s$va}(4l@w~=jdg@K%C9oV_f zhl)wjGe>bTS~#13}bX~sA_ z9o!=lH*Qvo-DL?IjU^>>I^6L~4B2DKs!BocalhIJp1klm9pu?-?e~F ztvb-N7Ewuytmqa90hXi6s_ZAEdxR7yOXxah>UZ4sGTiWSBxL#phHwb1FeU8=INMLm zQN7a@Y)j_fD4+K%(bO4@1No5i(RpCt8?rNI-Cyr(C_~6WI1(YL6c;O&xn-bkf& z(pif;?IxTKTi0@N+JhAj*S9#5M>YfVjE#W5`sf9Sf2uG_9%K(5HjR=Ol)K{Ls>h3B z8%f_qUT751tF_Uf>?@eQw*4mtx4>G^j{qNQgVE4P0x(?usi0`)PGBB!YExNkx`X9L zpf3~+-I(IH_$I7*y#*3Di;yfiI&`ad0Zv5DtW`Q|Rhr2-mrO`3j~CH=tvGm&QaL*X z?yIXMlsr;6Y{}rm*>$`z4G?ImHvjd(Ke7 z4&s4_;`v--{scHM_a*d1&LB&5r5FXJO*_&)4yw+jDOLBSqCF^YYd4G(s_&}kguHM5 za3z~Tja2T;Njg-Sa{#75^G_-cN7O0O)OySa(Lh>j&N+^B3z&yF+G(YM&~ltyC;DOU zxCZ*(l98ozbiTC~3G4!dDiqyyR>&d%cn^`5%MPziGG+FEL%P&l=so^3nvtR)QMzZ~ zn0_;xZE6C1IiG!L<|ZUE6!=|mj?Us=#4E#5cDY=G*^i$CE2df1H}?4dPgbEOwf4(y6$FWXaCM4b%vJ>j>1W#%zbHO&!B5I^uJ2NvrnN+pj(N( z{06AJQn?-NZCFIHl8#OF5)9EAvsAo!f_i*(Aa~V5p}7-F{MdsLQLN*$bMmC)%Ho34 zU~Y3!-$`=M=&V#Vu8F?R+j*a$rR!!#OtxH3k_cesxYl>?u;zD%d)(<{=cX%qR8wZI zJgL_<-4F+}3sMi&Ss61oU)jr_FG!3FtMMn8(W*q}-p~lH4NXAZH|dUt#`2-8z%1Tu zv)pS-zco&HKBlAti|qdxPI@TwOKTs?c_s^-?Pm|}e+VT_+{;HFL@oxBp!FYQ3-q4u zdpzg%FFNBvhns(}(5-T@-gpRUg?DsmTzT;ub%OF&*73D{_)!;eUDzRu)_t$WH(n8I z|BV~m;x6<56Vy0MPNTFRb0|@YM)N*`nyyB&jDC5PEc!!>3ZR6u;==)^U*ep;e?lI#n`39qn~ib zxpEez8}2SjCxX9K4TkNAHx>uaY=+Wh=fV4CNA8acIgmpj4jue{Ex?9G@->bM!i*Ih?AbI}Bck~3V>3I>G)yMec# zh0EiDIi`rfo!Ge){D@|Hyxi1O?9wV$j46LQmGo#vsp1Su9~0#5d9!0=nPit>s%e~X zJIt1=D!lt%7xXJgfz0b(4v4y|O&c}KOb&YHer;>5I>S1C7w%s1dMMXE^ z1-|~Jh+#=+pG~(DIM1?A&y2OS*U@+yQq|+VIkytcJC*D9a!M)o3>DTz?Y243e%H=; zJvId@YWPdQyV=#AK18TIlHpKTvQNW{lYBNw1iWmmlUhcD9C8M7_T4}FuCCQ{p_nSr zgyd^D`rbB>R)6%Ez=o_mqn@#ULidG}3PzNk$;)quBT3~nmV1|u)q>MTH+39mGYGAs zTOkx>&sVPkrCIEI9|3{Wcs8-yct_RdIrs6nYg|Viu(0%2(Iam?1(3p6UaBvzaksX; zx{2WGN)cic%=jywkvZX4qOwpG_EFr_=@yAVw$+yDRWJK;TSF0IV1K=8!NveuK&8Jy zcp9AyME-ln;=!Erl{rx-Z_0Q99*BB``f?!(2f$AFj-e_%yXPLdE{7|uS)w2DJAcwX zJe;`-b8aQyGL2MLdJYNt%9~!QolK|l2{hDem9)VL{}>eol*HyZ2xnAkg@ma@$MkVA z0Q)!}@5-|4oAfB>iSlG#UtXioFHl*M9*(tus?QBycBSaz^dKg>9CN1siyhzSD0BI& zp$KZ$!A`SeZxodz9IA^tx0TJAsZO2)D#bgr7Eq0X7AVWlLuB@EC;ffmV*r~zQ!*Hq z0jh@r`-58qhp@(&34oo&C~F_;idz^PNX8tqS8a^mMT;m`ez4TZ?|90Lhsg?hsM-d* zy!&-8-Or4iwu(`w?!Yp`Ev~iv4Anq^dTtxNXZJS!l<)Ci+6=}^atAH1aT;Pt?r3g_?)Yj6Xs{Nz=DtvWiZ14a5abD`R>>R>RbhDi549n{3?hk9G zpfah_M4WEKd#d~s)@DgQbIamj%GT!z>-tb3!phn~?Y3V*g&}fKoMy=+OAb#jSA@Jo z<5_m4e6sNdMeSq_QKaRzUJ4mq-CM0C-VqJu?hR_i57E0~&p>vn~;kIJb+wYoxHror^D+YACJQ*`Ii94mnJNs`@H_&VWtAiSo|_ z0^ao2_P@(1vx<0oM>ydHPQARkvcq$pxOz5Xv866h4MK~|_=+Z_D^a`NFU5~{+h)bs`U`S=h@8%%i^1>d< zI8W8nH&j3=F(`hlf7A5Haa9+#?5k1Hr(zy(JaFztE|-}Fg9fV>KdWC4XAZ<5U|N#^ z`M)iJdX}zF)!~K|!shT5kcRoG1@z~a^DSm1Qbf4h>-Pa(=pfC zR2i%uVO+l82bndW62h97Fi(IPi}U=g0nsCx=jy|Q!S_t-h=V0k58;UH!Agnt;=-oa zjGox3I^V7jrwodBFmqJzgArG#zSKO3DKx0FD-Xf$o87*BnD&+3bMNGnM2o}@&Q`iG zVLg>H{TF;=1E9PU%|dr|jahL>8e-+S%n-@o!6~4tuY(8G)aNm~zLZcRK&AL6gG`zD~9+Ep$DvXE_A(^pgzPV;PMm zoMQCMyiR9bTT%!;N9NOVQRBtudp`PJ*Xf8M|0jrTU{Zzr};>l*T!3EfJLk;9*> z57fMvU25^KDQKJ~r&w4P=WnYag*3pt;%3qz8?HMbPZHcuv~`!e`(a0x!zxjI8r{hr8hW*=6MoXwMa zmRPT7;(&%j%49lc)HMxeZG#I+X|oxZxNa^`qvCs{Z8b7e$o`Z=-=}Qf#W-+uC0bb~ zbm!2apY&JUY0*{4XD^_b?13dfQD-Pm{c+k?<=%*eSFP8cx5|%7E7y|+E)&A|B~PR1 z2Bg1{F|{Z#PFia&7YCFRf~J?@jkab?$-+HR3!^#PXk#Z=bt$xiUy4U9sD6+{%w&4z z^T&EABcSK5e2HRbevlDnNLmCyaeGwZx8nbdvR*EKfpMH=EX3UuHG0Kh(Zj$0|z-po09`%?}8Px-0l5h2NW6ZLY zz!;>Q)Mjz0X8y^3tLCUX^f?{Q1c?GJPU(qvcmo6?S|-(l>m5)4=u-9RNkP@X=G$zm zw*~Q6pKu@@7^(Wu?QD`(^(w!Yd*COqUR&O6ei9Z{4z#M!&K|SDdcNo75MiwDZX3?{ zGA)x~VoZx%?a91yzdwr;1vECAFft?B=KnR;>a%fTjkDPtP9k#0t`|wpYv` zbe=9(CJ5QjYO?35CgJ3^1W*Q3QNix|$dk zNtkz7SG(@Y-XJO0@(QVycp=Z_$DO>LCK$m@9bJ6wj2b#WD}Ubf=8}mh@+8ZxuYiWU zMuCC}VsUvH)PX2;&9YjvXgAwF>0|s>#XZnXZ<%s!)^x%ZfUX{p)M0B`HupO+ z?Q&P{xXqC)2F@C%n3p_{r-WL+mJB-dL?DDQW#JH|6Pi#->mGS^nL8c%X z$nbBlS2Xs9_qW`o*m@LX{^BTg8swJPUEc}pIn;{1uc*sUlwm}fbjtVbH19!%%qw&B zltbsSobgi%pq9B8f4xIO7dH9A^8>YwU&xgLisO8%@P<_6?I<9NZ5ew9TlK7l$=8tEb(&bzu*d07YP?Bd|l0pxac-0F*3zZC_O7R zIwru1u&|z!RF`cQQ%l17q-?3Gj&ctZc*H`dtXi5S2zfNK%nA6*MZ({4bvSr|i%EYI zeCmCH9WgCskf)$519smG&QTbn4O8G%vtN;wt5u5EvcdNeFxlea$s zhF&Jwh=j$xa;od^p{@GQLQX-Y@sP;c8OJm;)@75v%(B57Ez`Y#ZnhC=Pu*j48VI+t zWo(xHUy_V1in~WqGd3HpmD7KK&5cuk7FkL&^kMO{o6bWPZ^TH6&4zKVermQra^M5c ztYAjIKK?Z;0czt*vOjjjwFLLFydFsEvwB$OCPMp8^7p7d>RS%t@ZEzfPJ@|5qOZ+q z>XP>F07t?;+JKw7&!qeU>Po4YN>V%93q^){B)gClDxlj!F~FH6uI81XI}FD66Ibh0 zig=mz##yR`dcB*FImw|h!O2CGWlBmd(;M3Ae;f!lUbj*{j$l{~}+Wx2!Im9l(u8)tQ zS>Hm6g5-&reFXLiK5K?>UsFMNaDM-x<%fp&>*|Bd_3hIyLJjV0+%89H5DW?`2oMz z70WxY4y!1zGNl!3oH@~q!ct+-bZ>Lx#l?l4;lxZOoTqQInS!?c+E0nlc6?GDT1@?N zfsv_O;k05i=*yoIqofg%fiKP|4v=|*BxLx__M%?ME_a!cGe5sjLW-sjzl#`|C{7v0 zSp)FhOSk3>VI{8E5i@7zOB2G$PiYm4!K4e~pZ?}OAZ*shCnsKJV%p%+tP#0WHr;00 z#V5n@JiD@yNW{B7RwXJFG|GMsn~&5sLZSXlGh_NoQYWc5a-SQgcVuIlT13f&YdDXA z2H%Fe2Tnyh_trU?|FZRn95aJelO=l&U)*c7AM00vzt@Vi=vZq%f-|3et*HdCYmDf2jP6X@VO+ZMC+dMXzf$S z>mwi6zaXMp{lDDL;t&1c`m`SZkl!1~r?l|Yy z=4e{@NL1{0%2|p($MzLae|2JH?toB(6Ga*81ZQ5=3MIv5P!k*3>N3`*M z9?1ppuNS|tF)ORPoEV)z)VaY?Ix-P?!7D~ z@!??@J(URIin(oMy+m#!9oPDZ(Z-k~!YU1B9P|$69-loKdxz)VH6q52ubt<(KYR)4 zZ=NQ9pCNmnadI&0iN4^ZJX{?--49!4{sb|ObW7HBv9~V(Sx%CKeIP3penc~DuR=XR zf-@pi?Mm64pV>eQ6bbd8BG%hN1;>m$BaoJM_TVLAHs z+%Ous7M{T2a!4F)@WN@XHE+;Q-yVA{sGc8BRozm>eDZ(&Ov+a8Q`6*UTDDkeMsygC z1$@T;zq$2KElcDQ+N-UyPR^c)_-_#T>jw(jCAQjW(Ui~ZWV``Sd|x(qI<>$zZw0Uu z<3Fysh&kW0S+2RPUXsVhB&P?{N!YLslaxT5>dYK+L7bG`#;b`eV@sZT^rR^{UC4Ii znC3vHFx=pW_oKc#;9Q~TmNH%CytG11C*k&dlES(nC z(Ro7!z9mF}dXj9VLl=Tv$CDEhEuB--o05yQk0&6L+inVog4;Pg0qR$FY?le`yh9qt z8_)^a#n3;Jh^U8lj(`xr+04!XV-YuF%{R98CNHn8e3@ca1?j1oDSm?K_nH`&@`iaS zVIDNJr@J)&q2e9c0vbc$5a#W25+Os?+7G*645<9gP9>AZ+T&f1D&tRlqumwPlHKvS zNB|buyjb$p-ZG!dIS0Nwo4ndN0~Ync&mjzG#BiRqPI)lx`UER! z@gruL<5-=OZHUv+l9<2Glp>45Q9cGsJ)WL6VOs+5b3M-h{CnXFp>g6L3~+2GyXB%e z?VJ+U*CN8-F~@?ekSBQM70wWDE+Sl>n8aSmn9hG}{J7=g+4CW@0I3GvW)Z{?JZw@m zow}|GJVgz-Rv~S?A<;FllwIeB`nV>S@s6*b5W9+N$*ltCWxG8Hsxy9wPFhVL6i|cj zE2^&m_C4KQ700;Mu=wKP$M7)#YjKTpr4fn-ou*e6>L-IC@9dL!YzXxlXS=2W5K6Ac z&v7#_gFMuo4UAZBLZ0IXlG=mnv~@%XYBEC5-RZn2d^#mts)3F)J^@0x4=1htGPh%} zYHOJcAJ}zy-T{p?3jb1EIHOVs0B+^rDJsqbk(=HGLVPZ{W|=yxDt zoOI>$8v?(NkttPcy@KvVXCG)~yCqZH?|QG)CPl?{n~C12vGew$iyW858v@p;Ad^eyl&K{+qZ zKZtig7?^YAHYK!su$D+n-JZpb^uXpRy4sN7S+2^k(PqZ)aC*rC`w~5@T1m}Z8xB$B zY+bBbt8rd5Rg5;aU@eY;YVdIigtbB7iA4J|8W_R!%SH4{q>mPJ=D);(28w#OYPhwd z#uUp7@I&}yMjdlWjS^wKE8Q+H>&%sDMaH{hsTS{#VM-5he1jri0wZ>#CrE&4k*E~j zZb60BM;W#UASf>kTR4M9;R-W|__eR=&!32T!J=QY)+U>=o3tK}i-ZMoflH?hO9D+4 zZzy7Nqx-B;oa+-I65uSOcT91_L=ML{-5pdyme~t@Wvyey3*5>8e(bOLT2& zyjQ+$0j`!A?(xxG0tKS=eYge$opdMP zTr%f25bRG>J)^_GOza+974=Vofc5{fdj;n@oE4v@6ISf&+C1UFw}%V`xVEJBISO}p ze)yR5hz5!W9wrC%aeFP=ZtDDq73d=28YGys{0T3{nwIOt`m-<1IejVJzkVSjg8r$A ze2HD5t3!xP{4TEjIf-cgJhvuKwr-vWTi$>gF3 zdhc?e4Aj5wp{`05KiyKgavw4B;Tu8!O~Z;EQOu)x9*xm2*fg!!xqj~?zllOURNhjp((C| zyg-d_^3ia>JmwfyHb~jrvpksE6YOQYDzY`Ln`xV{Yl5WZo*#HmO>{+qz&fu6^fR4p zTx(eP1kW=qj62G25MwkbrX{fV=;l~|;B!zjSwPjIAv(4AKoxGd$d8*9u-zje1-XTH3)!gzPoE_9fwi zB!33cuc(dz)wwk~;g(K5ZPIG&bZbA{9~R;{XBtr$R}|0ydJgUC!vSu&44yIy6(8~R zu_Zjqnm(X<&Z|Iex3Pd#X1gmOzE=tqKwF0)Hk&~qW!1^0i2*m@j;c_NY}!>41~ z3ENn`YTzUIP|rydHF=E9F0sM3UkLgLsef$ZRR-O+HaX^ZVfW<} zmTMV#;WvN6CY+yHO+QG0+gy_+B{rV}<9%ad|J$G`pfRqwm6stzWM8}sEMw#npe1G5 z=}}X2LYxq%W%psQ#*AusP2p396Tr&mka-WRW}$sNDDpHqG?u0>Re3&4)*xoKg)EX6 zq5qTGXwJzl5XVMV$ucvwllltg0W97f?rogG0DIyYOD7?YZQ_&gZVM(*fpOU)QN<82 zJKeMPNX7s6JD7nzzps9*FC&)<&ANvbEx~t!sE0Xz)t?;TFWGTF8Q=t0iofCihp8%w zy|+x-$_EOkM>hr}jbJH@(n3;3SRFp!!R^;8$|K zYXsIcqUKo(f_Wh&lxue1#AA8q%^ir<%?5vkN&K9IWXM-v!fQRAG9D765j^eUM0N&f zJC~tI>hHOG`IinE*&05uFoT%8QY6x{HS3JrHs4ph!|A)zOEk+9A1IJ^b1jUzNgA#S z{rCn(hxapKP>Ib>?Z{4Sgdw(1!^KN`?iwpvH;>AdRAuUKIhZ8ZZ-C?dk;tLzPeCCG zb1%~u5x8Ah>qH^d=Jo|h^}?Mwy5(~J4;blx^P1V9OX0T1qdX3Lb$)f3jqKvcmgMhb zh9C8i*Am}h=7M@Gj^ct^xH?Je7^A)CcT{0SMHbJPOwGyxqc1kt6Xwlt>=@gViP5t< zlA(FD@y>;3npNlZX+oMQzdB1jnm7)X%Izupg@oib7N<8?iHZLwL}nZ`fDYyM%=_9( z=P^!W_58WMX#tcTz}43`^{BY!`q3J~1Nw{B=u$g~(^$HnPvjk8pC4VKRtmpn0HvVv-S2sZfR|+z%2V1)>&NP+o|k@`Tv1{e&u<;98qKte(grgk#^rB+JoDMFPmi0^>kNPD*~VY-Bb#UaQTj<&t*tl3I1g5 z&1Yf_h{o4iX&Udg62;n7d9ArXMJ_RVdI!TpLV2=N;RRYg`-y10FJ*5O?`p4Y%Q}Hy ziW?BAYylE%$ApFRxnS-Ym)4)>RF^-zlj_yC8+BcJ@y9d8^YADdk7K+%72%-89H1>1 zC#!gCv5!=dd6G~}?sm5_+Fqd&q;LG0ZS;1b?d533cT{0SrO%nQhhanQ)#e~8VUnO?HptGU-GW{IJM@tP7ITD!ZD zWKb6Mi9QH0)M3#_eQq6%w?C;TJ*G6izLwKjnfhxF5(v(Y;RHIqcu65&veg&j8V>+s z>tl0(AzX(^ylih1r4UcIKhcf1*M=u~*|zBId8K=bTy5CPCN4ZVgA^*1kuHMBGKypP zd_b38#QiziR#07B@Cr)jwbWV|@Ig#P=xkp;Q@;3&D*l#xG&-HL5A3gTR%Td)d?$V=O` z+3FEb+oIwrMw%OV*K9y@;nU57DX9G!YP2m{?e-Jac#9lhYQzbHWty@Xqz0d~#j}JJ zvR{O17ra&WuW-gIBa1_%^f_x_!|9FhB>;=5RqVo%nCM}a+x$>EE-cm2z@ey|TY!+vPy z^k_y$C#EIrPH*X`Qo`oQs>InzVQC`3#Jfx4Dfel^g=gq%3j(Zmg3ybeLGe4P(b>VZ z1nS^}MZ9&_J`;?2vJ@)&g^IX(VSiI>-_Otx0OK7_NGX>R)_6_FwpzBJbmy(06`-O`H_zdoe*T4&Yrt6^-ua!uiK@@(FW8pYu#{|feqg?Ix#n{M&RKi@ zXOJLa0fU1VH0+)f%1mdoGBP9cZngD0nvud|X-9Su(h2O&Oe(7$xam{}bbkx(PhAfs zTGW$CTu?il_O4VI2C@1HrRQ$V``}bT+?#$6EG%k0cGpjO;#x0eKTZe_3^Yx_SO0|p zWck_jZ^qeFMGgka?wNONqcd+T%Pe2BS-gklQ#moGr`%Xh-~XHdif%h71(@h{xEw@O z1$Y@&5UjjmEZ$*_nkgxV-+56@ttVVWVB?r^X6k=q+nZXWTt<67m?-2)<*fw@!q(or z0C(R^Fx6s;fMdo$B`Jf4%^*TS_nE8gC2&?&5S`2zYTB9h@X$jY`GV}&W?;1psNYoa z-{Iu(h{)mi9?t)?Ci5GN?S$$jVep>c6|}>aZE%)xAsVdpUZ7BOPC-pp8Xr8=5lk;8 zMY_cHU_Tcp-H1&1e%yoXL@GV8+bk1HrYv4F*RabOc?g7OdJrP@oY#|vuc!%zsz#|- z)`U9zMA$tD+Fy-*feS;mWPUjcMI!4fq2grzY{UV9PZu?0fO<}HqgB|P@%xUdUwugf z73_s~Hvrm2OjszWD8r15fH?AEYAo5--R3B#YqS4pss}auwv;UzT!f#gsW*=aVxc9TRD^mBKx=r;7Z<|x}=wG3D?%AR43K zm3|39M!IKgrKwlyv0T^1Eq%{gQ{cJc^*PlLYG)zN z%EJ$Np|LXS5gNf+d<#G6ly@)nz^YP!!vIG+HZOpuvlN zcMuT#fxj|}z83gvx~ES6JESl|B5T7#pG~9y!e_|yW>?+4+czUGP*b4n&gT`W; zjVi}$OW$+~g)`=ZCs|wOH?w7^!Lkc{i1GFR-Hhdx01O)864+8(sekPjl7T%9B@48PcXedImz9aHZ7gNj$T?ae{}wy#WF=ZqHCYY zxqkC;bMe7^?OX3IK`2e)*gKSQr=4wXLdoH)Ke6#n=geW208nR!th(ez-D9Slta+y)lms14ihP6^NfBF)4L}uUT>>*ynoGOu$6?(>8^JMYk;=hn z8>H-#Usw8CiV;$Gvbu5`oE+Pta6<7AFZ0t$1?fK%q6oTN7SR=%Jk&!qXH}VgVGOEz zV_B=!`?Ks;Q2ld*Z^=||YCU z^-GGT>p@(iTc)s1x@#6#7{c-_um9EaJQ8~c|Iq7+{ebwN`c0A#Q^Ho1g-v^G`%*~4k>H8bHU`S6NCq`8SUzMdv0|Bh)43G>-k znO?aCHV7e^mN%s^4aS^_2Y@?yA#kJ1<%`9?+$L4Vg*su+ehk7|OygZDho5GG8jwtx z%k284@aa9RI(zxXu}Kfzkl0!BurxLwjYP zs1c2mnYj>a;MXj@F=v=1M3E-y7a|43c?=^KZ7++6w_a>8$Uia+fi{Z^lBr>kG%p$P zi2;OrxmDknDt^~56q>gt`lmHk!m7Vs`fgPe;TXq>aEVr+GjR3lvWc43(~Y`AS@>I` zH~5q=m2I~g1+?n2+##=@UxY73)WxcC-8J;HVC&ajmZ8dlQj}v13)H&vbIq%8 zMiD2vB|ps}juN6bljcTrzfKoKIQY=v6ImCSo1peRBn}v$Aeg@>2-S~Z!_)N{Q2oZ% zlarX1U>jZHh(RG!z-)ednBFc5Z98^SZE%9<@5CD`d!LT>XUT(;=s!NVZbj0Er`T;z z;Q$s@>+#X&A`eh!d03Fes90S8MU`)l`wsdRdgo`36|zopbrI0y}m{PB+dI{b0ib|ihMpw zv6sATb}-To4rMro?*CKm|AaRtOk!1H+Uwx+0F5J`%lM3O%37y@;amJ83Nn*UG?_GxNv!OcY_bxD{b!1@pI$jVDK}-KSCX-JCuU^yIvjNsfjpYXw1)(6EsbYH#@2qw2xu57xs*sk zICnA|TOl&fHTUPNVK2C#<0H(hd~Z{UeaCT*XH%iNS#+v&*=p~(MFC@{iS zZ)@n`zPsgk-KP0~Q&BB!_K)3Z3uq)F5foH{B^T!b4z$-U_Aza)2SoD7J|6(z02toZ zEYOKFEqx!4T{5V`55+Y%{zN*gFJe$lub%+NfTX4&sUU@UGsk zY>K8cA7deRpZy7`r_Gz1n{~nj)ytJ+aXEkousuF$J8a^^x~mM9KbmJRIb86RjvJJP zPAs3-TSj`ZrvULUfo~wiK8sc|3P6|Dvj+6!M6lz4Cc}a`^5yO+^{Tl$;y~xTHuUv2 z_cb=(_9CDE6J0;%cS8=ARk#~Fp3NzAOw{dnZL))QfU)-37J+RjJcm)T7=9DeXGsUJ zpvxOv;$nieo^36fMB9}XFA^L@|jkt>zIrExgNfd~3vE`J05%yl9EBtql- z;si)w=_d*E!Tep=RsIg$6iOeJ+@f9za^zktAo1~Dnt1%06GV7VW-7ss(3x>Hha*mI zY&QCp?WIGAV)&N~R153sVI7~{Bq`VWR{%w3E~2{ow1QCt5jVrUrKL63mKsZbwzdS* zzp~ni)?$OP=WTqA14?$eP+`*gaQ(+}uvST7Am1+;w%&e@Xhyl3!V}bI@kJ&i)7eWTtH_efVN^hQS zkuM8QAwCIJeX{#VM(B>@i<^4eA!KHo%@d%U=~BU%U8mjnb^ji41=P`k!11FPijU+P zwD07EaZy1Hj(ajc4*SF-%e(S4;fk9{rSZ`K)@}PYC7fvPeMCdt_pZ>{?q%-q81sZ!L-jOwBnK>`0EFG;A(z0Q~NU@g_n z69~bst+=@x%D0idb?XM3v<`jI{~+eT)~Mxfz9q<<`M%I>yi@or0TM=(h%9EPk7m&#bga5W>68Zb` zL9uEf-904LX=hqZ=|h8aJFqLUcUp`hxahzT8xS|$+D}`hrrQa^(Ue5O&i5bLiO9}z ztZLrASfJU-394%CIVe}gonx)ohv$Epy zeze>n%)s<|$dVCIm6yS)%oY?C>v6+`)!&4@%O@_lg)(9p*uZ+sJUL^JSAT{Hy#4V; z`M;k>BOFz7gXwF>*&se75cQB61}(}TH{{J4{Bzdc(RJ$J-RPC)0x7O%yMF4Y!?~KI zx_6brd^uJ?1}yizsAM9{VmBt+ca*ixuV$%*)usTq2$s4NtTC$xyynH=j=g{A-lJPE z%a1^=uZ`5K1O6zv7ICTwE#{fd!^_^>1L_@B_h-7{S)%A9p62#U%IZVva2 zjGvL_VFK3|Vw~=pz8EsN651^n(lD!G+4tnlc=e(}f3lcbTq8{?dy|Q6sEnqcQzcIP zDE5Udk62=I&_JPZvu(1*+_(lzoI%ZT^~adI=sTzmslG+9L=9`TvC!tmS79(h7dmCF zT3$fiBo=givk#dL4nEU1(_=dhk)A)K7cw3vP#=-9eONm70E=&>R6 z?UUs57UZf$b94DTuR0?Tn?5|7dmz1bgIrlO;51)=eARDoFqg zo_r0S;bZsSLK!cO!zddQn@w@1k)EI4H-EL>1R&zdag?m}p}K|@^HjH|s;3%M;$l}( z-{gWUd`H%C`Zu&n5U(}qn29A%q_zRZ*2VSS&0%VN3tD?(LQll}o|~uMP>dsUTR*n2pEa0QLxi;zFA-QjFM`|s8qD}w3)m3ELEG;yBW!x5x=C-Ari*x3HVQF@+L(&$%6(w8ffeN_OJ_Oc`vPjiU z?Aebw@`%ASVgoJ!hYxQ5#1G$XA&rPvSyfvwWB&(_NrA;)oxrW6yxfyj1(NS{GHin3 zkPOl&BUtmu;quz%8N9JsTo9?!4E^f9TQvP-C1r3*=82g<*iJuj9BH9=fpFX&d`Zo! z52>4k&8<37uPU`?=k<=E%beXXD#I>O=j@sf^6_0b+_cjeZ9HWmr<+C0JW&Ula;KBH zQA?4juJd(+Tp+(?Yg=&rY>P|@y3Q|mkXL44%4js&UTe4&Ox0)x+~?YcG6P&(H7K{4 zgnnMSgf!+7qEezjY@a6ecCG(*_mAhgIZU2J20MA->N61nW-|d_^_ieVHAEo*yMEtp zMAXrEH*`wjZCnE^@Us{D>Ri&y$|tl}OROi;fx{r(wJ=HBd_fs*>bF#Fi>22_uqiL~ zcw;n;Z~_`av$nv)6#%!LYSdj$D}QyigYD_-@ea}T*2*rcK^3<$gH$_b{jB06EGTba zWy^q~4@{=;3EI*39F^>g4;f_Q06g={>OcW?lE4kK^1{5uf45q1$E9M$)pGGMlfY>0 z$R7~~V4(G2&NWI++ZcWg$v*~l(SGT7JmY&iH7=o~9)%dHqzKQOP`$tc`_$V3!22GS zFv?4w!6BXwKDdkNs+&l+60ADS|fX%fMXWZqe z?W2AhFE%3ysunY!TLHy3COM5&N!wr(HMC&%!;~-nnuX|+yiYOfrZDUYjK%f%>#@F{ zNiKEwv6)NYPeA=H5uK98a4yypTf8|1sV(^Ce9s_urx(*nJ{gC77#VVjtHm7%>3rB& z_h`o41|B6tqhfy{Tb(WL)8nMoAvUZy;RTv(XWr$Q_6!Yg+|eydWW?O!*9Af>_jpyM zjoNE=ofp6X#H3cXw)IR+!Fb;H>?G<{Y@&TxZiAM!g#&#KS&<#YH|DkAcsy=d(J3i7 zUUW0nJON9$sSA9A%9Js8muC0_M7_mjpoKRt$chIn+^cRlo2N@_GXvT4Ctz6-j!%!o zo%HLwwFrQt!(~+|6y2F2Bh>1q2t}mzYZ-P&)L`c9?h3L~`N>Kxo_?T2s^m9X7@GmQ zeeD_DgE#;fcjpr3vtaHF4KB)>FIns7xNo+jB0YT?LMf;*=Y~^xiTdpx+kjV5n47hU zY%NW+=!B1JmP_?9B0w?=;hQ%cysNBF@l#7%@pSRGI}2c< znDOR?8ON7~Neiea@Z3fxcvwv66$%_H#uSeZ%J}A_u7i(~=glZ|`ZpC{u zy7*U2aeQ^u-Y_W~hg`Ej*vyhL!3&>z$P;l+vxz+ACT@tQJ4urD$-DKPBbD$w!Y%bF z=VOFI7B7N{yO!VyFxxt81bx^Pmsy#xo_DY2%xGgb@BwQaVTT{v5ePA^G4&2AjG&aq z1$}-}%YpVQ4Olx9H+5+}GP~IzY8aT;mW>R)ulUb;u>mk%{G$$P-2HN8_jhoy-+Ors zy_aE3{mN+{&D4lfj;QV2=E$_&M&-3e0Z1L(h&W+#F}}JBK^e#VykqK+_*;xhep+x7 zaI`mPBUn#(2#cypkXW~S`XQpc*lo*M%thSm8JE)DCp=g&jX`tK(4;1kNAs9w#6?+? z#GKk`mN1V^RqKPj9g$OO6x1Z24pDk5`)B>8D8?qYbS=SqftZtO9qooTOiiehmKJG1 zZ(j>)0_o@d*c(>zxz6b3w&z5=1M0BXTP#Z8c4e72{$bi&-{%50xr9>)v%L^Fu%5iz z9j_16Zs(?w(|x@fI*PK(j8fmhbwK{zXq3p9&B4iqLcSZRsrW`a-i|g{*oi&W%-hYY z`EHr-&xC)0JpW=Xw0QccOJ`Cjz=bDN{}WbDj@d>E(^2S>qFs7n4G_{IR!`rKzs36=6@Y3!OE0T7S{DKw+cy8#ZJM*Yel;hdCw3)^UPnWAmy=Vd}TX`FD? z;b|RwNP6vb9iCKxm`n&-#0TE+-Yp`o6<|44A6CRBk#U3`tr5}2)t zWqBRyMc^x;Ot;6+U5>))2MIFeEjY_$2(X{5DR+u0C!j>h)HhBP%cf>!J=T<3&r}L2 zO{Yp^(H(v+GlkJ_f0&eV>2wASc6IBb^c2N;ww_VUgy%2LD5sesgMQX#YMb?!WEA!Z z4pcn-^jxtM4whM?Jk2hgbw`R(B8G}#(lfX{7Pk$jRYXhPZ6rV*3LbjdL_iuj7uMfIcR4^0v7+m?d`_DQk2h^@q&;L=sb?UP(xY9`C0 z>K37rjIu1h>hp+BKud@&LD!x0ZtUqVTR=1>y-DiP9PfUj{$%gy)WdgBaU5_GHwx6z zM#2&L)-hii$c4>P=~)CPpJnx-HTx_~lEjRj-h$2p*W)iVm!cUEb9j~5U^@gyYw&s< zxmpkMIfoeu*3uKbxMy&jQTemBxE^%C922NiODjxAzGiO_#xT!Y$tcM_d76Jq`5OCsDvg$OTBUzj(*G9HAi!;8F!U<%# zDV7K4n5w~Ulv5an+nh*}6j(nHU5aJQOrTP-ZGP_ixXX<4Nm$aWP0lkbCn@78xKW96 zbjOX@gr(qI$ZqDo^Ak!h+MrP8TmAL?tau!(maW@J2m`t>bu3a0n$jg0G(JN?0fNl2 z{%)SLU#3+GXH0J(Q3fW6=W5lf$&~Xo$loZDhGGb|Abk^;U1k=NR&)cF#MA|c3+e#N ztiQ24ms*Hd&4qa&O~j;Rg0m=v2P7sI_BRG79sPKJ8x8npFj^A$SZ87TTZ zp6{T>WI$v}Cb6rncjP@Tid?|2=SrDVE_*VQt)TMR=6!c^P~G^M!RYoyTT(y+*ae#s zDPEtmqEBIrG3mq2xi?>zb6RRQEA#KCDY%7un}h*5pu|r$bql3mZz5BkQqh^aUyML% zCbG#lFVL^Ii0;K545TI9x#wG_r93vnlNKKB|2sjkUnckUeaK-7=REnETG$lO*4FIS z)Llfvo|>?9XUnXj`4pR_CI1XF*vosvcX)%t&={4RL)!+Ey0saw66KWczuEOM8AMcS z*~<%XK8ZPO52hGw*kxh*&Iv6ZT_rWiwE`T!3JWLd?L3E)AG8?epuL8tkF}6$^DHM) zos?~Mm^-Vh$?$*2(;BB5&(X+Qi_~3^JU}vBkVF=OF@SW!eQ1UL%#sz6HP{|FPe$XS zeEHS1aPA(CGB|C&K^qR{xNAk41U@!CB!mt^*3JOsz0Rf zc4|yY<4AEWN4F*oHV%(^OViznud9ZEFCVreV{4TqQ{`f10LqBQcDcGiz&yF)<~7e!1EyW4J>nc`DBfrO%Q`-de<3+(EFkpNFXu)oTAu->24 z^L{M-LZZ?=4NqQ=JMVwCD|r`+Vuo;2CCri~qmDHfYwvKb@#-`}VI#ZHb=nz+aq%p5 zPzuU^A?74-#7N(Jd2}I)q}tMFTcW@H9&br?cm3V>#ZTm{$ATNgp06I+iq8uas^xG~ zH13R}o)w#wFmId{H$&OO6&HRY8?Q<0N<5HF@CM>qbTtfW)_YZOI3@2ko46vUUKh#) zBd8hdIhoLmF+aK01XcF_vP7s%^zxSxlT??uP;`P1U7vwTnLv?W9G^i~`*^+M3YMwi zjj`EBWkN_tzfPc2imfmUlORO3OV3~fw%`Izz9-ut3R`a3{+6!(^mNBGsC=@7E@oq` z-mSp^59Bl%H}7CxSMiuzlUO#8Y~)D{>``m-SBMZ;A=;e-q2xh07!<2iIy8;&3-u0!vqR zs&+FZQCQ7Z$>O>Xi2D7u3kUj?t3*sh0B4e}WUA*@PzOidKlq}HTRPvRaNymTPH z6N2-PexmEminx_Yd;e+0#O?chD#8IR1|KIzdA?05Oj(`ObD(m+nKu+e6N5;+qiF<` z8jYR{SgGaY1`)7lSDUyF>tAKyVhDNQja>^#wYyIT;U+GU|3cS&x5s9VNMxYS~j0bR4tbAofVEN(%-#ozI08v{zQV_@r(s? z21oJyHO#xyGVsO^X5M_6KEl~;??6&dj6sEW{j=FC(^J*JR1xg$%ELkyD9n9T`Rx(bfrNVr5 zaUVNmLObzF7uITq9Q8QxTD*E%5~Y&$*-9-7I1rC>2pQyFQG^kal(W-8(z4!}*&6jf zH>(osaNnn5?mMK>n#7}t344{x7GQI!LiDq0r9NNoiRq{Bcr)_DcbS%zcPFZ~iu{rm z-ls+f(Ztb{h*Wv4(or=ogoyLuRS7Ff`|Il;LJ#<`WzLDd$aD6oxyxod@vm`AVk77j6!@3rNYD9?G^Mn4KrW`dEOUSizmzAb;BJ?NJ-9)3_qJ$L?;6|v$zo85 zBUOrDiG$4T#jcPG*%bwAN;wvX5o}hh*e*h!%+gUEFf+heN?@T}&;1wvrG+$3m9jSr zJiAK*3qQLWBDj5ob|)t%Q1|3n%;Jd#27dasv8UhNAUvTM{mDd8L?cFNl#-L411XxaP14=fomE7WchoOk!5xHUOOE?|&hq21b zf1#daopaNpl+7(9hA&!WeG9d(7@yrgYHd!8Tc2j+(^s!k%&zL0n(kCgCbmUjnd0f3 zmhKE=xAV)vmY8aqX)%dbSYykx4875)# zk*`lDwK}Pdix>Lc$-t>xL znZRLWpGATevPq;cobEHp*yLJ-J9!Q?GV{>28C?cJiP}BZOoJPVof;zhN&?-r!0AN17*L%88Zs_l~6I;v4*!0T$nP+a%L_)BGcQ`bwM*e ztB>P?M8YP@Ez4!&Cksi8n`vf`LBl-cV4Sk?$Guoh}8JfQT6-23fEAGi}B24(=SONNGEf0E_c-((Q=)KXTe;;FXj8m!nx~`lg#$WCQs} z-mxKzwHd+i9n%=woUQ0)LT!yPYr1-iT5p*^oz<*jY*TH!_GK<2lh)Hk>Q3BMX4wth z;sa>jgX)dId9-t#YCzAEkBoucHaW?6c*+Hm)GZ|k=~hli;VsCS`bQS7@3TB27$Jn_ zbA0$}_CUA*ivDDLOTNp2iV^GZYq2t>XqZD|`pDZI0J0`WAHJeJq^lq8Q>nUS6XwEE zo$Z5cbM|qrrBTFM_nCc!Q}|8ifFDU~fwEW;z}tzJYb?N1HLs+f*m`Dcgvz%>4>Zn2 zQ5ad?E!jOIv0gW{Vkxp&vQja!xEj?&UGs)vqF*u9ny1IqvNcAx=13J$OZA%oZpSuo zfxyK4X8Nl+FRYer=OsRlkI69#f887-mhpTv+h)=;J9%a5SqCM2>7P45u&D`R$bp5s zQOpXb%w{4@+~en?s=sahc|8VZ+I+-r@prH$9!wyR6XQ*{J&k)w6_*S+IMCZvh0VO# z>!So3L5v5X{EYA4VF`~5=$b#rmZjA6ScPWTfB(~rW2_A`NA^a&!B*w{0V*4tswxWZNH{rJ(k=XBDj-a(iU7&?feiX z_H|%llVI0V#Kg!-8-Vf*C(E3S>~J+EnXGmITd;-pUfTcIM;!vhWE*yVxY#K(soymLC z5}GFlPLx4W3$)=?pqu&I9REeBb$lJAYrHR49Tcw=ff>?u*|yS8lLebuvL(pi#& zPj=zb^MW}YKZBw0^=078kdjT;cs{DGL7KRg(#~t}*`Ee^d5X=)dok#)C#tx0Z2dX` z>(A<2M0*o~e1+3t6J98y*v?v#?;{YA`ejF595=UmqHZ?(OY@b(htRZR_ z6K8!z_w4<0E3!|Kl1+LZ%+)O8YmFT@yXRrf8HF4u?y99wE9?XP;C`e5nmkv`E0mgc zS}3K}*6}4^9Av}o%B?bP46|RQ?b%!ntDZrQm2V)4(5Y^k`j*eEO-y6hUuxEFEqT8a z>UH{N;j&He@d&%S%@j|i1Y`=CH`*#=62hqYOB;N|(bFT0Nl z1EA?>p^APp3(P+4%l36az}i1NIeRz*DpoYe=4>v@g``E}y(s(bH27g^{p)qn2>IN# zc9&)I0k}qf%=vxz)3B{y8`~b<)w?t?CV>*1HeRMMVU_mGLD1JYO%Ls4%W#@f`CqAL za9hCWjd?Rs)0gJb;YS@z8^ZeW_H3jR2RhJOERwZ`B$_k5hNWzbRO>6Zc?WbH zCxWn`vW6HHI3KjXg6f3#8dS~L2ZHA&3>pttnMWXJ8NZ!kr9a07vp6e#Zh&~R*~>~I zbA$MfBaLqipdaO)&FWjxn@!a#NkQC5&yfvvEuAK#wZ3vtadR|-L4ic8A8}Vi&AxPs zMo8mx(-M+z^DxzMnAo-Ws|Td-TW$_Glm#H+^H78UCGbIQGiFYUsV=%xDLEDp>dWrZ zweQHz@zRv9f%_Z2q2WgAgPy&kita_s0dQ2X61ryXdO5GN#)BpAGmNN3ciuinBJxw} zjiY#z^$V!)&&({5Ev+Alwa}5qefKeSUQ0{Szsu9{GRITKC%Z+ihkP_(H zy_2Sj+pOfjmizg@QE#(6o$(_}`GW%3;<*NDM7+tMlFxMb*gu}RKAJHu>XgX(zfA4_7luFL8tUBP?I#HLKYi&>9dJuTijG2md$yk9EE+t^>@m~ z#6Ms4na3}wyoWS^h?f#J%)AHg2i?l96vP5Hr-Pg<%U$hKcFc3abMx;V@F%YQhk`>7 zC5=!RUX!A&TRV_%-JSDU>##Us+7Rs~ey;VgHnC=ey)Tn?S*(5VGueZ(m(71%5Ko-d+HEa{q4h(9QtrzdW;;ST z&ncVmp7%-@Mz@y!V}4oh=*FpPkiUKLpW~p%_2}n4t#D3GIwIO}&I0ev1e_q+oD22l zB8z=!@{WM|rzf&xkfilPlmO1Zcqi7n1m>t6Vc59!;G2yL?vzrIF`431QYr0(*TN>v z{lP1oJnr7Rrtcs!?QBXS=JoX#oQLcbMc5~RH{YQxxB)S4j;gqEfwz&8rpxE&8lnZ% zyEq7wFr^(oirvcQ_R0zW2`fwxw7Pj5=F;~-a-L*+hV3POZs-Qht4sNTEMFE(@p({$d=a))0f@;mcA;#o^;%=O(J38We z2hTr}dq#csJ~JVg*G%SovzTPoGhu16>RIq89QA*Ua}`;~BGlJFI>)B;p}zA~Ip1H7 z#XdVdZ+dA<9s)BQHf+B^5ZjNgW0=fS|)yvAb+Z4%-`V>#29fUHoxr7W}Vgp|o# zWMl}r+0F_N8RWr3o5Wl2vx*~{P6ax|nWQK*2Jzoe+Pd?DZ^hMtakZ_!Pq;`9DUt4F zExTNGDI^J3PEnLYGI1sSqpYj3rH)EE8eI}l_2Io7+6`7Awb99J1LXg{jJWUD(w;)4 zcq7gcH)-jgcuJ2)85~cuNrM)-&X)NR28Zpv!b^CB3Y_NJ3YimG&V@;xP@}j^CG#Co zhj1P{HMlUBbH5a^FE7caw5LW*Q`PN6_XRV!*?HaRIp1^p34sHre@t1{J#azvgp2yz##7?@{0p)= z8Q&`!uSj>@2cC?%Z$tXiU0(m#2DYerN)lfZy6oeyg}*?GYwZfNz?T{!D~pR0fZl&v?rFLHYtfDA<{#zqMGkajDg2=2r z<%Ild(=`#BH)=iBO2RJ;6Y%{Gre|o#kzgt=>*ZPE)B-PGHY$;n_mepIg&i`>I5iqy zt{!h3Cmx@vD}p!s07VhXcw1NJ5U@d*ssfTR@DX0y#$1n|WXr)+EDlSR_S*tX78%V2 zc#70w9U}D(Y+Uq>4tZlRXw2_GyB`;WHHfU+Ll}!`5gK6rmlpG8QO0ib7^yFl3jJsH zhwVom(TEI*Fl+K(Cj`_87MJ8Gx4pb9Y#^@~))>xdaFY}CO6K~VHR-$HP%IqJ#TV~*M)Eko|9iP^+$?G-|Nw&UZ{qK?mJe`BW#MOQy)N$ z=GfQDOQxK-R?%`!a{&!=nUTScx{Gveipw6BVb=YJ?W~zNPd7Vb$`;-24O=<4)K%aQJ zcWA@E26HE^XSybXyS2Jjj}XA;6k~9oLBo&4!G)yRaLw8lWYO&d6LF$=+p(6&R!? zcdR~O2NhS)@&N0{;{O@@BQ0<7ZAMtp_`Mo1=4jpxw zb0~|aY*lUGTCFjg8|l%cc&|me6f90~*1~~ak*%$Mq8qQSrE&HRPmM2q4OgPca?^CT z0r`n}LC|)Ri)k7@@(VNZf(n$s(^E5j2Mdkjf?2Vk5t&RexY=gaE8INa z1xE>sH+^$}v!X90DM?KF#!p=1WGRjBu2Niod3L7;!aAkGwmWSM+SMG9)rZP%;Jyh;vyMa|8j{=Cf|A~zsN zv@eKDz3=nPOfn!V`|53rkjGum#px0`04D2caF<+MIhPHOta_sh@B}2U-7Xu5`#*uL zifv3t8aopI99ufnlP>$A)27H7eH&vrH+G~yFLL?iuB-LUv5XojfV6klhmd2Bs57Gu zaU+?jEiU0f9GAsRg=-2QW!sttlF=+fKol>4_fuBfzI{rdhyTxW>UB88NCpgjG?I+F z!61I=L+Y0e3F8s9p=5InDMYT*BLs}VgZ<&3zkdWk0e;KtZlb{t2<{j)Pl2Dr)o&o@ zh-B>Tk`VwJ&GA|t!Q8Rph_ZdbBNWXjPtx}ko7TeBNB}i#u1ACu*MbVGr}?B&H$!uJ zqI4`qN*H;3aq4$O10^n9MR9j*Q`Z zD1wu)Lo$PN2BsLNn?s}2%MGC!k(hC0RIdNo=4i>AYRVQ?nUwLnW>+-5RZ4B3O-D0c zPJvH!Pce9^ZZ0e2N_HE^VOMJNi<J$5L+zYByf3$&k>Tt|bdw_%A%7f+`~@5;Z)H!`JMRU$ml{iSweaa4IRg2r$|y zmbKZ9lrBQmI3;Ln+l$yH==t~Y#M zrqKN5M=6%h(m2G5JW&vcrsDJmx^YoRt*>@R=rS6{lzqs(D#z<Y{cx&gzS z-E4y1!QJD{DSLB2I}C~L$i)U&)c`{@Yj?EpU7V!QWG?F+M0RdBovo*PvZr4G_0LU= zNbng>zu*z^i5t`)N|UKLL_6%#u`{MoqDkLvC0G-;dhaR80Q$9laPdPpN}_OSBq->S zXs38B6tT`+*6SLtKQD%JzCBs{S}f9V)7`h$N=lJ;b|ya&j5AG*eeFiBW&Bb<*KBxc zj?Ol5A=)`!CjKdHO)HD)Nm?B*QH}rCvv}Up)kk%%fdj`1NT6G_LoB}Phu{ktwvW-r zD>X+6u2dW!I6Mw8n~lCPDz8c8gme5=lU#wjbvaQJ8&Fr57d zjJCt#!+XI)|C&j(heG6Wu@Yt@)MH&G?ZaRx$qfl-Av`@mr(c;vWZu`L+J3j z16rggEXHByR3A>SNJ;)fk3cKp(u+ngd-rX6Vcd{(c2jMj+|6GGNh6wGIf@Yp;l&{! zB})7tg#MYR5UF3$B$Bl{;kfOO}?qTf!d-`{WaZISOdP2$8_6WAM34M zkCXfC3FWuU(>3|KOxUc^YgXeCO-4-2l12A6FB1=nHZqQ&RApl>@1o$X%6>tiFdVBL zp~>3^Xt{2uAm6g7ViW{ApT22OXf~rvzk}-H8V8KX0HMeFYAw}wBh&*B#sO?1wwrOz z1IQM?I!wfo3|EH{0UUVSHT^`=vvn3oB;Y_lKg~njOP~DdpiXH9{$_7cGNYyuCepW? z`J%Ss!|JDZEL}4G5FL`1duITG9)ll=gQ*^FZr=Fgr?D4DgtCyYsl(AF=sls~W5`ZS z4mKA;d&iW=@lj!o1Mnl|K&Mn2fW<`sgTh*wn5`EHc&-Bu`=Ubb1#GqRFWCFlD{QW)|D@S?EOI!_MLhaczCrO8O>GKdHxgj0lWei{6Ij1) zAw(h=7Y|>`?#VM`n_6LG$Ug}i{!o68)xQw z`Hcp%kwtj}UE4|G6zO-MuLIzmd3Rv8Hg7?Z5PY8d6UumH8ixrn*A#e0D3|dRexH+#j zBX@6OM!~Xuwg-kSFWQ=j{LSrd!>xV}Xj?eF0BMss#un}+9KaE0n7Qe$7sj+Bq{rVkcvUj+TWTGgz_qo!K;EHavWFL4TI{RkBcQ?hhJ_2EE z>vnGMc*duGb>hq7BET@Zmd#~A2B<(-&n-GI0Uh~gYtH_w9tubF<+S1Jb+=x$+to=%L*yF{s$j;jLF7kvoN;9~ zQj4riXxvn`1#c}g<@@jxuXb}nT~E!1&t>;6RMSsZY(e!@bg7i)u0Cu6!Yt9@3}6Db zS(l%f>+Uvw)1;~1D^J6k zb9>3mV@+j_gzgI}#L%kD`Yz6|JwLy5|H?#xl&bvYDm8MQ&z+Ohi0Ta5fo(2o3$oAl zxzHciFAD^-h@t}L5?;1`=z-P*6F+5t2r!R)BqF33pbL7$hT7ctEs z)TXL8RNQ>edc~5y;VcSfl(8a0iihc!>|YS**}dGWSydQi#Hx%J#4C+-Y4hS*?C-J_Wa4jq$?zH2f=$juhOKjDq|TK*2( z(myiVG)q0*zH@ZcL}``@N-08<+nlDJ@cLCdq6);dQBL0xbv26vKBU;`^((W6^FFMEr3Xk%UrE%L1!QOm%xa20@@)nhhw zKF(Wx$ut!>rISCu6O=!qb8U;pllikGKznPvy!&HBf`!g`x*=XdYMV!;IPqIZi>?lWatl7- z58yqEQmYYa%1ztX(oeCCwxm%Z(f4z3stWFFnn8eNJ-1bEnBvOes|6`e_sQslc4Jsx z&;fs%wiZt>2p~d68B4fq)`5b4Elq8rAIUMR92_ngiw4H71)BLE)G~+nYt(B24SjF- z4s5I-p+rWJ-=^Q_!M);I<6J>pxz8*RPw+)FN>=6%(t|nHW-S-;GmFI4Pc(f@B0gkT zWujT40py%BIR2l_k4|kbm=QY5UUi$Lfci(%_T+f9bid{#1at4>%O{N^Sbq6*=&y*L zc}^*3(F_2tFN5uJ=9e_(EzEGZebJ8OWL&^_^?qSodwk*(6<;@LI>d-%sN_C@B=Va~ zW6%_R@a8&CYws)30y1aWMgelY-0>596xsRviM4>jt}Om`l5Xb7F)y;-QG`op^J54Y z>$PSc#%XV<#B}hnJ7!=tC#^y~eOT)u+#2Ar_t>b&LEagiFiINN223n?H`Dj6waTK! zpi*U7B1$n~4v6YIJKd}76;0lAkA@@;P=3)ylP~MFuVg=N0>YPa*%lA4^t9BpH4bFV7pcEcF0n4%&xT%xWa=7__-ZW( zj2rOMml5FzZ@j#=mc)$Jw&N)K12#0{55{xLuvrwc)#JLfHH%r=2#_#u7^tF~^$qW+ zI_)m(%IT^Ed?^%AYRk*CG{R9^R4<@DG7Pru6ELpLTX@VpUs)ZfCT@x!{gpx+ual&X ziQi0HQMxHsmW#w@g7LIB4w}x0ow*NAE6Zn+s82pD#(h7*oIM%}bH;rRD6NU`oHCgS zL9%+9NBLBb|BfYr>ACW#L=zsjCb*pdgMUrx4*ba{^@RVGpN%;n8PZjQ!;|?c0Hb z5Lj^#_$k7tvn>)z)Al^yarJu!s$@+`3xAkl+F~HU-gn9Neg8hurdeL+hI^}rqTJ8g zsi?^R0^YV*`im27@<@xrUu}%*RezW^O#^k?#4l9L>S?jBrA z<1b)T6sX55Ub!{9)MZ*R&=f4|U?oeWa~!n`d*x3ClfvnQ*KjC*zns%?zIq9%Vg0cA z%uusiM-DcVkcFObgKQp2Moc!V4&M=-<9qAHxNjLE&{iMHvvXO<^zxZ?59f^k#?xog zFPYj_LF3c}Vt-;OJr<}q634e8LtuPV>j9$!Gp+!JG(Pkwez5B(<*+YIq`RoXA2UNH z87Afbj%VCyqD~5ZyArex)VQu^t*Ui=5^8SI;;v0)?O43HIWXB;{Q+3~*00|UpCq4q z8|}g4tAF&k#`97FmzeI{*vPrX#e6hYajD3Yp|mq_3;o66{!;t{YxZjH-aid*dqBOH z3PII45<@PAEKSAY1Zb7wdC{-bTs$s-UF0)1=9N=cianh>6{ptqeJtgPtJ_-z*p!kv znN_`JhP%Vq&o(Q67C*O^J9CW;QhhrndWvO>P5(79G`#gsDB}@nEH1snS-aNU#0X%X zaF`)h3$&TIea))E=NP}H?c4a5kW9b}eDUuUOxH^eB2?C<`z6bcsnuQ_CMwida8c9% zl5}wqt}m_r5=UB4q4i%QoNH>-V34wT6})5XgWe!Q<=4jNTD)TabcZeF3d6xwJh({1 z%f)usVp2dD8HZ8eN6$h`BSGoxG9aA4bx@6QIfgYt>6|-VG-v7qu>?l)4x6cDA}_Xu zV(w10L)^amaRt;3xB^T{!1l>7n-Tp&&(&z|x&0{bY@5a}u+A2$097|*T`RlKWr^^P zW;`8=ZuUubx5>M6U1TDjI}IMFy6ZWcMXtPW!{qhz3#!>Zn@dJCprS&%S#G#aHq zPkJmA@NTH3o;kMEzP7$9Zx~r;EMC0qSJA#&RPv}Fay^r#X~JeCx>d+Ku+FItq0La@ z>Q)fei$dutoIwQ2AL$*Wmg+UJvT$%sTfB#O4Iu3dT&VqbTGZx)h&PL=ITB~} z30lSX4sR5cv8^$2W-+nT`h-DH+Z>@DaK?7VfM8d@FHSVt)<3utrYO(9x{#%{iO^3t zy;p)fDYaI2wq(e6*F$Viran5Jj8msEK{6$XdMCq)Ey1KqYNKLZgGA$Z6I^-+HM&Wd zlQCy3dY|z^6eHf1ttp5Xi{UKC(RsaQCJV=up=7}$_4Lqlwv`Yb3P{L(d}gIVv`et* z{(%c+%-(bHpf^<2o_R@>zS3-3BoKDl(Yp1*4l7G8IN4uI9))y_kd(P^%wo(|sWy}a zszw+P42R;V>D2|d$)0lyRy2`za;cg{xQ>0d?SI!R(69@azf6@ z+Q_!fe?q!1Gj3VnyjDGD-d4@Dc)5=NQ}EN7^6#id8xDUG)s)pjIUqxTez1XI@kt1~ z7j9gswR^WLUJDxZLTr4fv;LZuQ+)f{_#Imp?g&W*IDor36-Cd$sS1IecbYD@$h)rU zX_=MuZthB#+JkExcwl(n&!{W%2iTN=2Wlx}!rW2`bQCK>Ig58u#BE~|2C$6t?+^)H zb6d#+3Z=uof~b^0VHZUvrr-6=ozERB*sH+NUf~9`KUdM5S`j0Pc$=siUk?*b z+Yq4xbi0AfJG@R82#r%2uhqp%^lrT8d~lLrL%Yd|aOlQEFEEB2nTpIfK&zQKFT~#V zPq3WA>Ojbeh1*x%7Ya>j#h~eBt#ykU>5;Qvg{p1wP_~b72iU6+;GxgAO z_YSil|5B5X!9Rj#fi{MyHzZT?XNmxi)qhA}2zSI!;VA`mj$GN$DD`Rj{jQ?k53VYd zbJpITo`9n8=VxAJB*@@q_5`&?Isc($-ooj{<*C$-)uwC0{qbmDZ2X9vOSlb&4bS5M zPvFx-WF>D`X~*Mw-|p!%jaQ}QB0qC?mWWUfPIWjJ_hGdPWI}fqrzEGRd@BFUeOOFl zN)(tOjuXIrPW%jSc>C-x6-qx!P%0zNb+--vu~UMVF~8S@SF(?K0^VD`QOxqEv9ZF9 z0FY_Eo{~HMXuexGJsF8siQ3ui?pJ@epg;yL`%@FV$gJa!z3sm2*+FGZ-6&{Kr(Sm2CF&5N8RxR%u^FBrK*dCpq=B2qA%=e%& zOvTHlFj1I4Ke7}q+n7q=b+S;(p{*@^h6Fb4`Bo{NH~&O_A{ob802E+tVx9rTS@5wS zeGG{b0R!JLPbKus=wJ>->(dJ6?yjoa*pBZo#%e;8N`Oa)tN7H@oWUkr({rHgy}Bm^ z%Ee_p4|DJG%~H+QBvW5e2f?ks{Zv|LBR{ruE$hO0bz|(}GA#8>-;(N^SgsSQf_q#G z9lQGgLvuifx?gbn>@Ru;H43=A_r`K5-~d+PRb$nTTwPwUGpN_~aT!pYtl|69#L;)9 z(ZtC2{D%#WBJ1*M0a7JwfpJwuX{TG`B@(ii@|kC8>R*`)yBw3OasV0G<`|_Q>hj60 zY?1T~DQ;yJ?Z*ri040Ix+gJTS@0}t;O?Rixg5cR&sNRjyUAi(G^z$EcL1OCQ{UC;A zM$*TfMx%P~GW6}Pp0w-hHlTih{^px?b~TXko+(Uh+uTL^gbC*bz~e)|6j$+eS?sgTAHKDUgUUNR1_cvfQx z`NH@Gqtt!Zdd{$ij9xe6V5%rtBpHF`&;Whna}?S0`Q^r4G~NA32bg_?#xF2ECK$o+ zQB2DOxX!_lY#2SpZGO%Lth8;)-oXr*2UJVgcHwkv6$8C`)(wH14vcrQsV!5g+-4+% z&B^B5Z~XDL=Z=!aaQI$bDx!X;h;ON`bn!&5S5|F6&)w`N`SHFj3?MmP9_BKqm~?Lx z7AV6F5y$-iJmdT-23lYvB`BB68)6x#W1qCZ%`-k>_Gz84hn7J`JvZ0lqex>JqC?8- zw|Z<};dGWtC~azjbB1>stu`q>`etcYTv>1M0(l4_u_LAw&S5%%M){cHLx z4HVtoGkH-aFUwnu+QlD})5kO2e14mm16(MaX~X)OhzQZ z?E-2&PK)!@q$LRoIvEx3c*cGOLMD&AJM#?PFRv?iJ{BZGucGhoaMK)20Ss@p}?QQP^-Jag?`4d|7#tv-#1*`>!XoV;Qg`<|--2nAO* zaT*aOYB287C;zQg4l*>*@Jy0Gz7c1f)qMo@c}B-*1O_aN^!GcuULZ79rf%5m>T8;1 zS)W`_`L)d}L_U75sZ`UsW+hfD9O|SmCub(a@9r<)SBt5Cc$bdm$@Y%02-BILpdX z_4Jz>F*KL5Y(mZd=vb5($1ztPFQUyE77i0AX7&$hOx!hU&Em@(k=KeZIF!!w={vPQ z#3HtZdfNSVf1(s1%B1y2M9JulYbJ<`wk$CjyeyRp^?>iP#XG(iiDYz~w~xt1 z3#MmCaWbKZ2X~jOO&`196)w{f<-!sqMSpL0jS_2$nyqi~b649T2AZ&$10ye_W(H1#az5dIgmQ?NAmj_n=^L3teK zTqiC|c&wh=DPxv_q?u?_?K|afWA(bS`Rwi1VT==7Ra zQIf}*gfFVgx#3k8xmy&k@OGbpOFDHi)W$z&3tw*NiY$!C4tyUa5jSn3S~7i_#}g`> z4{aE^A$;+?_N<3vGaUTE z`B)^NP#kW1@}awa(T&x$jV*HhmTFD@IWkaCX+)*vCbmlkF#FS_ti~}h0)G;Fe>-PO zAYoOSJRwcEjvDfCH2o7~SPOf$z@OcVg6l1DY~;*S^ZC(*0RvxZkPN_R^5n#NSavS; zNLzM?cHL~$nJUAHj z_efEh4a~5oTu7 z&~rtg1O47*R$5>0@sf;_VZHByvx+(wj82R)7lZINO5eW)0TtOXB0E0nmT;dd&hLye z(jEIm?nLWRlMNA<5p^uczE zQr-6owEm>aeMz!p@xKU13aHoUQS?j%g~HPE*Rm2ha9d7s(D{@WoU91+r%ia^7hjug zx0AGTUEL|j?Cu|4K#Hvo5MyI!%C*HohA7D!Nh2d$)DAj(_{3teXAoVmNH%( zsT`1$@%#>c(r#sd1Yuk<1=X*`*z5!qG>rvs>fdbUtzuJrk5+10s=q|Pevg*SUG@n= z7r)86lLljVn6oHsc+@YAPaibKcPp;HD7MbjZQ_K7RUhUZSsX8|%~#INO*13(<-Cl< zGjoJ&s-BHw?<(6hm|7&dxH9{o^eR^t7npZc9Z(a+(?mGWm{6D8^SoEkKD{`DoXHeK zL$Bhpr19K1H$}z`&(a_6-JOjN{En(meOcsE0i)Ezv2mvXu-?X~v-1jmWXH;jQs{W=#OysTV|u!8nDPty?I z?|8c0RTMuHh=I|c>XCtu<*%omY~${8ySS@#{WVTT&GuCuau{_y*@bkR)$Tt*jf35W zeoVV8bDxmbe3ldChwD!4be+3z#W~nGBDqUBtFz6bf+e_pRRoIZ?iDy3%@cIKNuNaI zhZlp=Q_d77NRA#8NT4|xS9^QDnRT_E}t*lS#z|2Wk!h z0`8>CV~eJofX>3)_#9t*UWt?u!{QYI^wuK770%kQ@R4G zcKXx>oX&1ySZh!=R3}*LRcQezI7h2nzfm?&Z!|P zjMulhtU~F$-w0DPT$28oOIn%uUW?IG4TkeODc}*4mwnd0r%?2Ha#wHpGEA0F5{38u z=_{6gqlv1CC~R36GGy^3-_eoP-+S>VxL92+WaR+Wre4PGLPG+_m|>>7z^q_FXT75v ztx98R{+#Zk4F_C70`$w}u-TJ7aQ7)_ebMDL(mr4(n|WH2waG{I-J%-jTL+IaV{u`| zx1e?*%OF2A!(U^OAWe5KrmcwBZwm)DVVVBF{W!D*&-#C}&t2X*b?J z6bvkim(j#2rTM3;hb`fsCU~g*8p|bo%OjdAX5+>Rv1kAzBdinCf$Z08pgJc)Qzk|wM(^00jS}fHf_TqOkcW8hDO#ePw6h$^p zP|M(XV1k26S!KZ|6>WiYs`!2zO+C0B3pWO#q^%jw(4+T=IDj2%^NL3n> zapi&>2-UmR&%toZl+C#j764#9%zzGUnyL}`7u8-trE!Qd?(M+hOd$o-RoG2J{6qoP z^uRK;z?3ABv%Jmb>Yo!o>%nF5yKO(qRRuD37O*nq2yq%G^Q5bBSYK-=&09~b#39^L z+JbLAEpZP|M)u7bWK&I ziB9NjA5jpT|HLjU0114p`{!%wRFhjV$tIdpc-c?mA_djKA7@gr4dTYK9;%PEqnkBD zqUJYfp^TioG`gT1`7hKoUC)zsQyFrAY1O_1>J=NjOc+He87EA$(3t0~Np-Va7$??u zPQ9+*BR0Jx$SQK z(b-02Uv9w0&x`kT{h5~R(ju#O=PnQW(k&Iv#>_;9%z*)#1x^(gBqIzEC~l8!9pKWJ znYWu}a$aCoa46qutuvUBjZ*5Io%tCD1~b=UJaQtxy7n$Xeh10r>FUu2)$em}8U57H z$Wp$Lq1VUr8Q(pOO!ilc>=~8yxFiyQZlgKif$W1kXkMEk2?EMH59SP6zs;4ff8rS5 zyozdU7j4a`9qrTLM=)KEAUaTJG_<Itc*ArUfJkQlL$k_^KV2WtEYk7_eh6dvmj z;#Qwh0~$#hC7L-E#C75N(XX4qbiM8K63pbb-i!ma&6_<5cQonMq8PhkGpko7DpM;K z5rRoL$OQTJD4T%{B+hmGhb#ztqK7IMsNRi$e`4fe#^wiz{J40kKqEGEOZ^TJ_3%9t z1kLvvtAzsyeq?CzFK=4#nJ#FE>(`v!-~e1eqrdVN17IbIp&+n$010ML29hH5mbp52r0`N_gU)V5MJ~b*o$wRf<-k> zbvupsS_}tRdaG>cNwZvQ43jhp$abc4@pwMLZ|#eHYgCpu$DWh9axD8C|GuLOFjEbr+>m9853+?u3|8L@lQ~r__H3g;ukxt<}gaprsQ> zPcW00(GW3-g%Px<2PD-BFXh-7Tj$cBFfeH=d|rqJ?Y0O));u4#**g{>qR%d+*86F* z>pRr<53}{5Cn3iCBRA4Q(Hx=IC6F*x!}}^r8_9j4rGekyuZatn>vZ&7k=R>Vop-Z> zoJURrupd0^3}~P?M8f2*UVSz|GVjHU*1*5FOk8yVq~OMs%wmppEXxMYCgKSU`82|K zhxNR&1}aG|uzJeqIxeF22fI|eIaF&ehC%gdy}&O)ou8LClwW>x{zTPtL9dfhtDKih zpx(V#iLM)@>*~{t?R)S-4&K_f(2pXV-($h3)vqEmvU*!#&Dh3N8wMs$Vct)|eBZPA zf~2OR{v<((TiFgOBN6GU!2!DN_I$pX6!Mmeo3Y&EPyzZz%Ks?{8Q3l4qzD5#n(5eq z8hQ4!L*=qLp7z#I*Cdh;tk_d{jo6=f>M85-ln$SoGiW~FBQKDLz)5lN+HorhMIVze zt*I^LVzz#Xu5Q{2bd&Cw_!HN7XUgPoa~8r2cB=Kz*#J^MX|bsg2b~d!pL0!j7X@%l zPVTvXr{$R4{X43G#1sEgG*`z;Q?9^k^IA?W*0*mTYv}u8J<0b{eCQk1~UUydmw_+uAha+ zJB%?efqS`2vdDZlYPZ8Kf37U!E?rj3M^xAKo!C_Z#tuZ)^R{m+RtyDK-*i|C|5r>; zsUi+0JPDtOz~rd!X_Dp$v}@32JHG4RO-yr$(~FmYvE1Cy`O)o-vL zc9AeO?tPKnV2U}4w0;m}kvU1!5!sl=%q49TLD_Q01(63t#`R9#K@A**NSMrxUmR8b z#b{P}sBhKsW4G1vA2$=C)=uP+&yuwa=Pme^S!$e-+2wKEFP+30Tc;YIkT5SG-1`KS zoMP@gM}w!n7-rX(!H8qLi;Sw&a|v8QFArZnt3>00fhlnC=DqHoZZI+s1Gh?8iA#y!=?|J zg{3gn!C+RF#bU1St*sh>xX(TCejv}{2$(xheH%guac0^XAEUiO{lJuKvmC{yyCq z5@7Lnm>dU@tKe{`INVUm8z_kqVJc5AS+nSwYxvu>LUw*5~Ux__$q! zJ6)oYn(_~dPlhbJphLdcOf#Bp3UG>oiNnC6D^^P)P^kOUsd2O~b_KvCt;t_g`U)tQQ0!!eDsVJ8LZ%;@pPP7GOjf8q!wxtI&9@#bfPf2_+F0%QPRdCZ&d?(b+Z7VI;r(`bRP9B zAzAAb0&VfVl<5aZveOnWNJB8&HWj$@(qj)V=?qcl}2V zl+$|5<@Dj+9bJ(CEG#BR;bU2*sJd`l3@wXaixOzB62!?Y1!C z`{AkoWIbwi3w!E?mhcWN_PA>P))K-7geRtD3&c7BW1Yi^T7j4C=~A* zqU8?_Ergd7c>Tsf&d-rU5=GmfPa-m$bE&P7_+=v&-u3p8xD`+DQDPYN_8BkJ6Av0I z)TYH2mIvd8AWJ;`!GF|fGY16>ye*Tfap zaTKX9nHK>#u+7Z9YNy7m?>Wz0*zU;j4(T2TN#pQ>)R_-HO4crWL6F|sNjg-bndD?w zH?Ji)v-{*6G{mMhn{OOEtNs3-thVTKkFF(gP)&2uBk|3!NE{N>mK`SAy;sO?}k&i{T)2Q{HpYAIoh9k4!g{9XTN z&2`}mc%fkWCkMNdMdOwHTnBN+rh{gZov0mDL6sgTPR5ec^wUV&*%t#qZ9W{jEt-C| z#jb>Qahd>p?Tnx*xH9-IBO+U;;(oC`&?jYX*0Cl%dc(jpxctSw$bH7&F?D5_2*vW$ zPQz!}bVoQz58EcCZ-({Ps}A1L;y#5eeajv3w1ARCaji18t{?S94;f=%8hTsv> z)&%3SZ1!5?I-23)1cIeY)<8DbV92*Qk`~An2VsWZ&i7~4q>#p2)B$9-YTYB{NlgeY zF>#g{)wuW0^(Xq&g67M@&I4MdDMar?Zzq!tfsC7vPGeX?t~hqzbT5dk)mY=KI@vFc*dL4J~J_^FvtkS zsT`#rl(1A&S@15VW}-O6eYvBf=%NebiZAmbXCclA7!nS{n-|!UA^?qW5F^l(_<|)+nua|eT3FtSAD3^!YF&7L7@Mi9{^sdp8 zguG`6jGa*0%x*${lPbJJ70Ic%%DPOX!rRMWhS!1f5z?hZ#*DgkVs5(Z@De*M8)!?o zbdE3TDT6pT*G)a4Pd1Kh>f-03u7z{=a2ToVGDv=*RBh(!*Hxk`t$zes+zOm zaS~dF?w)&V$}!DsgVvI7v9=k~H9~4t`M!DrGP$m)*EMkpbUKHK>L>9^zFx^EFWvAW zCmUQ>PNyQ*y7v1!B(f(>DX(ADUvWZexv3U`N)Fh zN*^c{1=Vwdc$fH<9gf6Ia*l9+hXWVXRlzIlmkg4EOQ>6JD7^DAdX}GxK7Shv=!z#xtn)>-YdbDw@&o ziG&H8)9w4z!qDc-vlW9LXqP|%cRWSS0b`A@ zoo|+?#WdblBlx_Q?o7H-$KgAn-3m=YcZFgq%4cETExI3{2YoYt}$AH zkO^SPS?H&PE}v>A!IW}@{>264WYvrY?42eGpPbEL^%+XbCgUetw@7-HOh=>c9M0Jb zl#w-cT4{d5Bo3#2`v(*j+Y~Zya4Q15S2k-E5;Ah`mEj>FGBhrbboS11RZV7!Q_K2$ zTuJ+j=gNvOU=zi!pR%vxV!ek)$S9E0`N2=A~*P_tgWb_v&SgPZh zOl4H>`Unkj<%@l)ak}Fv&WV+r|CV=1VVtJap^fH)iCzNo8b)f6IIqd?{UOwY1mYq> zx=XIwifmxvWo7#WMtHtH`H8G&grxi(w%Kq-sz);=NJ&zSLlFY=6dQFRf4$9(4hOt! z`VUCkxvAYdf@2(}T+cV6Ad}=NQt;(R`BabMeEs7RWW+5Hj&Fb;2F2ZVr&(#;Q+NS1Bd5*`z^T@Qvb}v&1Af{7*KPr_YDW3 zxkUtQF9}L-Fd>N5Hpnz()VIV%*j7qE_2xAyN#q^6COknOUGcSn$D0{C z!TmgEO@E;~ALkdIL*rmf=2`7IdFjsuBA~rf?mZyR>*z7X*-T7eEhPt0_Z-cA@&Wnm z>&SW)Q~m^fsQK;+b3U`N&n#@;K2I~6&Zvo(QaB5Ko-^B-vXrU^bh_k_@DnWYz35r7 zdsvVtfdQj?QSraAtoT0x^+eRDns^%64xNAWT+kYn3H1VXEuX}JFp5D&_xG3$B~6UU z4g#;+Kkt8Km!6fb_Bo#mrLZ1uh|M(>`=Bt_Un}QQm}A7fsB6@Ra2%eXDZ=(;0(k}z z)aNYmC$w>pNZC?RofYAEHXBY`q11f0*#_l;?&xZ9tX1n_oFlS&v`N`RoQ)NR??2z+ zjOOI(+_%YXa32N> z)WBrLv=H>TD$BUgLW_u;jh-^A_C~7c*`*+X91k0WCOlGnDtigJ|FoEy)tyTL zG8;U$2_?_Kh)&zezM~n5DT~^JT$f=3Yt2{ib~&fXM)SGN4-^HSqYq5>eK|d~)5vaV zUk`ZLzP1+%CXctKw0%o;X5OZtQIdDFoN(=v4f3tKIy zG5<_cgwiEaqo|sK#JRK;h9}V>H>y|m>~3Iof0T#gQl?4=q{=akTRVgkJE@fp+qv{DMGlYV1K9VN47;=sHQ z*&CAummkb=EVAJHF0k~3j&_ZX%YYb2P9QPu1-b^c-zBKR>q1-+rY1{vmy=*0xIGD- zmGJC_FA3t$VQX!74zq*~6z1mVP~<=HwT@O4V-zl)CiJIZRcrv?VR~8+t+w$K^7k!F z86MeF(x@W0?XN7!ooDtAWPJK<5FQo@#6R@hTvC${IXXA2nLpj`;(!^&n#v-+#uHR{ zYiBc;HXc!~t;_(eH(sWwvz7!;dCpm{&oD*k>e0>WR&&smdUdz-Y}Dg9HPV3aYc!yE zI_)@$m-(Xu@+bcIu}lY=T|jVL%AIS{tA*sVZ|UH})5XaCP8{O>@ct{aVWmA8{Yx@@9Q8;6-B623ZpnaO+ zW~N#;JoVfOdbN1_DpiyFFiD)0_G1CJ)E_XpXLY)v0h)N?E2d!(6z?`nL4e+eTwpru zoA5^I*l#Cnx9Zq5a*m5)@^%0SN3Hs!EN-&aUJ9(i` zZ~03(eBum6ka-sMh(3H14-`loUtZ1N2rwD)xqcqv^_iFM2_-Jt{`E*jIL|pkM8|i* z*OvOZZDylIm;VnQa@y;+J|Iqa891QgH{-3Pnyu^DmA{4^jFuL*8}u-0pb347=zjZG z+-({1kLAP@S?nSJu~9WKs$VRHp{-vIe7T^O8CA1z^BT=J)5&LV1}4Y+u?OZtM!RKK=45oXoF2;z~+&|UMbhpCX_ct+>v5Li4-#4G0H z`=G$CN5|bdpu)I`-k~l$nTY&ftoMT7n%oCqp=X!$4sD#RHfsU0x(LszSGH>v&i%c) z@m0D+8Jgr|B%%*jacIk+DV?%5IX?mA9?>W%jyWYm)LxIuyU$B9VFu3-8b2(qfZ(){ z#a!krm=3uOBt6W&!m!`L^#Uuw+(cQxoOxx;>u(Gq|Dr}xQ#xgMAF<#tVK$FMR$Oha zmgT!YXb+<1bBieC8EtkC%chAfUs>>X5p%xs@&Uy1;|pM*pgIXSHRdMl zbW;OqeDwum5BvUFw#>{E*&*5Ynu|bJb6t*b=eYn*1jEWx=kOg@-{YsSe;#tg(~rwQ zR(e}up@h_btEPkc0tdycA9Bk}e-e{l<~I`k_y=}ek&RRpRHaJ+X0kWYa6T4vsy=?h ze#u*PJYZ&@*4~65GnNN~1+e>D^rl5pdL-m==qaa7->6?1O&Pk7y9n{9xsf^=t7Yzp zV1jOao6oZ{4YWkf7r(_x6i!#7OhGxEkJlvGZfVS#PYDwJVUc!I#d7<576@s{W%Ykv z+X9g;0zbSRab{Hge22mNS!&i$(t;GHKzgvVC&1=sj+oWo7y_)BJD5WdgG1it$33Dz z?jDH_8K4fA`3(4~0!?t{D$wyr+L>yg^&Oa83|_4DFZA*&hL@C9z2f&(bIBuP7`2ZR z%@hR~kPEv>4Pna3w{hx}ojtP9`_sb#vdP>))!HQF$2tV7=j|U_ii#xklnrOIybOk< zQd+Na^JWpXsiyWhFgPG91-EjN#fmQ;3O?+Uu?)2)nW-=*S-%O)$ic zQ9f9pnSq28t^pw%Ta$xMAJR6PUc?idNeXh+F*D=1fHd&GKmN8(s%bZkHGt>o# zW!@F(l7_J@>OmQ8-mhy|2Rmf-$qU)?;MRVl zOfe*p-O{!QbDXF{IzadkW%qM?pn$riN`ka0OKR(;>%pd2EDkQrtHBfidzVzGj~s7Q z3K39z&kUTW_DzFQ6mdKjvNSd}*~nS-P_sw!Iq1pvTKtWJB>hTrk-U}Cam2hkXfIa)T(~pmg%8HNgZVP z6I}n=8cmbvd^jP)N4RVAFkKX7x6e7Hvg~NbEcazU=#(RIGmvVnwrkdkA3K%$Sn6Nc zdw|v;Q^`1rDnyZf4wvvhXpGHB`|noT^y-c#?R3~5UoBEqwuh}JoLus8vT9h}@*%;| zq;{P>Wj-I%A!%^CKVi+-%roYlk&ys&D0)rVw;Y(CW#=8lSN@V&S0MfVID{*d8T^#E z4G5X<(Mmm)AvIA?hg~5HFUK0n z)o-FCm{HfBO5->EQE=?+Equy@zN!h_sAz0?!$LKz{~&U$-jPPxbEifB`@-G#+e4(L z<@mJRjhLA@bF&3FrTD+dl3bWx8306to@Kxy!kTf_sFG~WDh{&YFkS)WeFUV;&5owF zhvxk)o6pt2>rj<5J4-Z25|G}Z#HltC`9i~_w&j^iH$n^orT7U`Rcy!j>d4pp~yo>rH%PQ|Qi8Gr+beD=QiZp4_6tki-T=Sjm7bVzJn3LI@!!^h`* zmgcQdF)T_g_*|!@G{^11^?|Vc*#jt&j=xT48Pn+cj_q}@2dh8K!x9xLTv>U}sf2s; zU#LC#vH6OJ^l>b*Z&U;p^E<3=AdngtlW~$&+X#6ss4o8D!DnieV;7v{RA-P4<}xBp z{M*%K>1_XXu1Bv83sYtA!omcRZi3S~)b!)d{bj*~`shS^=qV-kNyZL5+nRWGH-LM6 zAoPx`!<|!9!d}oAwcBS&VZA`&VEDPe&iz=}_*q%p6kY2NAkq1!P3ABA#}cds)Jw`p z+RoZ3b$P2}&2P%si@m`iu6TVTPqBn*Zq1YPRRS`jmkl3NwJQ35ZJC!Ug!H z%5J+}+FocM$nG4A=LRziU+P@fx@E>rb0JCbPq6~YU%*SnH9omU!~9t3AP6}@B^Qoj zYfW;h{G76B85OyBxfe-*P-0w;f`Z;RqOb+kZ~mw{7y()=9HwF{cP9>MKEnpv@4G9& zULrU=Q#4Hq!7AHqO2n#F=l96q$@8bPkfQ4w!xWXg5lES-n~~zoHMM=nn~Ob*rtP*0 zHGW9;=8Os2ZkscOf=K82Y5SmH(s+L)?}UxI@kkl`@VC!vm(d{@j!9d?KQ|gkr6yM@ zk*7f~sFOK~1MX(FKI|RQlLbnj1>Osm3DJQ1!yOO9SV{ce9N3}J?CbraB)JStppd3x zp<$iN*8C^1kqufJXAN??J}Wd-KgbtXpO1Vbl$1S}7uHU;tddd7JY7W?sgLob;u*bD zQX)rC#8IP zVkSGlWo^lfAsQJp>2I^*RsLSZ$PV?5#APPMY!I6cD^U*E-0?$|x4x<4x%9-(jB-Uc z%vNNs9+KgUPMVA2LMYkBEHPOwd1SZlM&!WxiTjY06|y!T0aq38LeL9 zZL$U^a|-nb!5i(H>8Q!qV^cgK4Nv!j%c|v!8%bub|CrTU_2HckmH&yUzrSn$@56yq zl`Nt>CRA8oOhUnZI{HA9h{Y8CI)B?2S?oU;#~4Vl=3ORJ_ot9c4md&gjt1T)nD_}u zkj2)57)Zj%o3iY6wqkWi8d5MEHk_}i9e3whV<5-4eGYyVOlL>)~a7s1# zvU%T$k-B=QiG1K? zWF<7*ciiY~Ojqx!uzG0L6HaoCZa2n0Abx@S721d__R(Qkoc-!W!YUn#|L-`0hwN)>S?W{>I-0RSRjnxHj_0%XlUn`p%7ObRcejxn|Da#o4>hNpJbD zX|BhmWW-L~ee77z($#;V=@r=6(?i~5cWdI$)Lq8CW?H=267f2g>YJZ@n>}kQ&Q0B| zSy_FG+$fN~Jh&*%FFBsuXL3sR$RG*SKXeCk5>c!3S_u1IAW2B!saSAdw*^#^eA=h= zQj2H2vGQN@Q@>p|lSVDRX5)!sWG;VDH+^|Xf!mp5y~wbs9+{a->)ZVoBuz1O1;f;d zn_fS2Ic{z?C5-suY0KBVP2Zjy0k>J5poh3GBg5>R7Y_xdOHbKZDZ94P(LGa}8*J@- zgO?{sg~zxPaEhz<`M@}qz70b2XKHmF03w!^Fo*E|WM~mq&(*o->bWu?ebgGmDn*n4 z9Km`4XLg%=RKwhdlw7^L<-?8p?}v(n0(n9?s7W${G^WZ4VCXO*nG-dJ6zsRuyDs_1 zcVPNG4|7V3%B1k3wQBk@hF3V`6VJW-W*}3PIoP_t&VJM*6-1sVSGH-LPu33l;`eW|QUvYme=oHWx@IcS3KPdO* z1jFqpTrHAh%;y#&O4-svij*uyTzSZh%3QyOg8N$cRUQ^kxl61k(KDH_`;LHmgdW{K zp$na|!{};Zb#vi-AL}1!rY4T`EA=V3tid~|ao@tv)DFfg$v;iQjAn62SllU(e=-xw zX}bRP@%chHuKx{<)d%%^&?na_{rp-WD6TP1DN5nlb*)aB*t^dkD?@FM%6#L(&i|5ks50CkMo+`8Hg+%mrX(Qeq6>cwd7_HVVVSg z5eUwrnkmN(C&j))8=$l@mYU9#r^(xv&V;HvFM$2O=4&)3C^v3~6LN!hob&t`pwtWa zgKpU3>En}1qf>Y zX0a-~(LTY+L@B3O$5Y!Pfl{aTePYn=d*>!MGu_v?6Q9v}>ndkB1s1g{s=R|4cOKMC za6wbc^Mo#6tH=p3ujv|ekzLXC0>qzSG9S_*QvGh_3Jim}81Kl5oi;<;2z)MTzwXCzA z6hVS)-|`>$C)c%W!YOv9Gr*-qG@3DCnBFj?@%sbZ(1PhF{8kEQSFoyZYMxXUt`5Vw zY%t(IMtzt+`4U(HaEmZSJ>l_f)F>%RlF7%0TH%e{DW0Y-i+PXMpSGr)$>yQMPwR{j zO{cjlN2p_Sb^g#cTl1qSJL}w!d7Oe7kPBFv>~*f-f7c0b@%GudBRi8n6n zN*OFU7x_3O#Aa)B>ek@(Nxh&XbZ^kqNT+oANKT;hZ`Qct8s$LaW1@QqVyrw%CO z+?z#3YNUu+oj}!loonU)XY^K>N6mKQ9ZyFRU63(#wy$iYsXs;mJ%5gFbZ@REGtXRr_?7RL7TwvVs}09BszuJj@`tSFwG^NkW;ER4gdg4n8%Zds9aN zMCQtiH0s7Ne}|JsJj&j8T8DhKG~~tI_td4TFAl)PVWwGs0@kl2vf8#l`E?o(t6rZg z=uhq6q({ZpTg|J{Fd4wQhpJTEY;|)ne)n9Sn7(+ykg>bn-C6{I3JGFD+H3BO+Xuoy z0p;RY!z9*~Esm$T7|IBeVMV^S-Wdc)ML z(J$<%#BtU8+I0^hmN~OSUNJF#+e0b1?h<>!#JurKbU6}~T#B<|f`(axx5i%2M9H(b zy#@-aKN+p+Ga@X=hV70b~>p$bpvAR6{9@Bm`+WgWnu#pC)&qR>wmW2%+WBCcLL zmD640Qhmk?p5`Z{@$R(8#9nfdkf6_aiT@r<3NJT#t0z4(D>W{`8KjY81NC@=OiAW5 ziyqc~eHx%Dv~xVJ*kyt47bzE(kW(SAQ?8w}mt+61Y7Ay%>Xx}jtH_<735w~Xsl$i; zd0L}zuG!T@kOSneaJkmpp(@?#k#vaExwxO4_-ZY-CI=3p`B)^Y8PJ?H`&?heC()fF zI)*CXCWlIQee>*Frr2X*Ru`{1?XIu$T3A@M`YVeb4eY#Qo4Bchu+BdegcVI3AD+^A zS*B;QgbvH}5G3=W{RX%kMd#8?ohzB3LgBDJ|??llAplfP;cyXM* zC9i)DQQ1jJi}KSw7f}a>e6~em@VIUqPx&Q$!5a7}X=!1!UL4#pB&{#YQifcgb|s3@24)4mkt)Yi8*3I{b+GI-#h+*!=mr^4_pwxeaIEtDD95$U((ci!1p3^fNYSr1nMuCgb_kBn@hXoD3Hzk zN`t`gCi75m+&&E{^A0EXXjpFosED?#M_MdpBNxJ+-b_5CW{GSsI|a&+{ve8kaGso4 z|Hr>u6$R42c`-F37p+-i2&use$Ca9nq^a9tbIJuD7MVR6NZV{Z0S|w2ul$YUw@oaX zXV2Gmd~$paIXF0;;G$7+R=+G5qu~P^9m4c(MbOL-e?mLq{Q3P8QR!6Z0o)F2D;ZER zso#_9@gJv*L|ipj;~IzhbGUO&1BPPIzWZ35G-3w#w9jk#9bC@@$JJ_-+kPuN$z|J> zP)L5Rh4$cVG@egM2R<{0fWa7ofa4cx8%AdTf)6Q{?&^6R+H1n`G$*$Rx4pPs@0m4d z9!VQsRIDHRB=X1r_<6AfYlP!zHgowGPeid?*CrzF(n>3o}-zA<1-Zl{T3h%0f6 zrLuT7cl`*fwF-*W^W^@7)#Ez%&eU0Es{vBqp4Pd_kpxXQ{!YR{yS96_ojS;n4ooOwb4}z$Mge~z1d$bEl>oIy$ro-YYLLe7ecjAPM9_tx<7(+UZE+q-T0TafdcE~ z!|NQgaEF;_YPh=(+3U;GL+?P{^_Tyg&Y{k{NQ5P&tq}~>(1{7O zo%^f+&~!&-?wS+`R#HZ+DM+V#ANvj`jRVC(vz+c)T`L_RuL}c$X>v5!^AWMmIIQ?j z_}QLTSrkd^n8^Az9i)egT0CDYG#6&A~;x%L>%#cbc@O^n#^yxRO0cx zwWxJwS)|Sb1Fmy%dphNo;fk>b<}}H}#ml`c2OQ6+>4S2g+m{Be!s%Cu2%BvLVg0^z zU}AI=6>|8!y{tMUT(mFtVccNOOi4(5+LEUpZ&KO!L_m@Cz33X-?2u>oLXaNqWVG()`KdMDVoQao@rR9w0YpFk2H$V*?QXbCj z+rL(!jl?N%ibREcLCR{}7OxlTfQys`w5e?pYHm?OT;L=K;ASJpBAK%fli?Olzw$)d zyd>P^bhRLAcXHJo>|vy1F?&#HrpDuR3xcD`iLMn)6n4C?ki=;G677bY7Q<6ULD~dN zWTe9Sc)0gXyiEKO}EqSs4-H^275^zRx0%r{#a*EsfrQO>)>38x<;@iSpL#p32~fnf$r z2A7YJvY{KF(>P=hmZhV!IKWsRT*Z-w+^CmhRauq(L#&{O*I{B83{7@yp7_-?WuM?7 zq`as&@O9#o_yFR1#bRzgV4$Y{6#7p2L*Q|Q(+?CJO%Mrpt#Tj0d7wPH7H3i=z01{7 z+7NH1jD%m05pfDcvL{?5t~Y}&zT+7KauGFaZrV=gY1CSiUBJHRfgJd&)E~s*DY)(K zKGbi{@23yJYXho=biO>0jew7SZU1_7olAZ-vgQpoaq2!&V4V!`;uKXu$k5HSliUI8 zv3y490#ERe51@gXg=o(y1Wih5?UpVCICr^i_LSQlG~aDkU`6$DLLb|c%-e(uv6g}-T$ zV|qvP#G|@gW^B8$i4uxDu3}3gyv;MtE)C$@b8aIn|2)0k3){}wd#Elq+nskf$4FAj zJm-7y(=cPQ#@`aZs^V8bbO!C12m!I+e1jwC9PNT-hk`D=r zR&!v`M)^LoKJnTJN~R7$I?@ z?GeocGC=GJyO(h_dZ^Ma+j z?PA@i7;on4^e3m?1@fyyo*jt=J<{QlMM>-U9kGm%`lTlpCl-2PS>Ok`jYhXa1Y&^V z-?7*qL!*mJ(g!5DY!cc4GP;-2@o7!bLmRMdh@7{IpZT;-+=k|Cx$q6yT=s%vJ-v@I zvvr$YQ(GW(bkBmEk@K%6K#!#B_FhF){A-os36UA+?&AF?)Yj9NbceRH4+yJl^MMu? zl!ksmiEsOW&5T%jK~P#2kDH-Fw9b$FilyK_zg(%GCRHjnWKV^gNX8#>xTX8`Npjb%u{Op8BIQ<3| ze-j|F!_}}Az7N+XI53~yuf=J%p5S^B4}re_n#r95Xj%hmGTaOxuT_Qb9oJ~5%EcCc zwc?0!yG0tY=H6BM--Ey8r`swy2 zvOXeU3@b?|mi zFTYF?dYY3nt4?rT=CUb{^T#ku0S$D)z4s42AB&wA9rux4d9K!GAbyI;W1X_luI;Xi z=k1r=(kBf(koOksWNliZd79Y5Pk237-73l1RSq!~mdcBgZz}buS=*s4P(9SP1!9|N zy-QGWVcXWihW!q|$cG-y*t@{sWIR#t%9(D0Tqx>aZ?F~cbBh=%VB-3|Onjgg?BM|k z7iu>HxZd5-yssAnkAI3rWRG{?SCDtIPEKoU#a#MAPIys4tk+5=pjGE2awb^n&o6NH-EQC=$k=nj*jZ9oN6GECJwlyf{2C2@374xgqVNID^* zhd@qF)@J^4FSDgTv0@iEErZ!)W7I$F%%D_$-z^HOU%hu*aH7FEPqujS?$L4qpZ8fL zk8N|HVR5~zn!F{c=^n{YxPQUoJ(}1W@+=0Ycr@oizu(p0?=B{ObSz0;{YGnXyNDag zp4~ojsuD0v{ui+`FP|cvBfPtZC$tKSfbsR7Cm47qVCY~QY2!Ng)p#o-8Ew$bdbn?- z^dEB_xF~n}^r9VQOUv4X3zN3b=|PDo297sJBy z@|V8ZL+Nc?7JV~`k>~1CJc4?4I@wsfMZ;kO|6d3801#o`+X^)C#1@OeT2pNc?d2U= z9tTQb!+jMyk&0GavbmV|)2pC~&@P~IkRaO(fwv|Vg>k;GVq9^H&gDoTAqNIhhD zk3-@S-e=V6wuTv>lBV!j=G#szr9L5#BaqS~DSeW?N~VCLt_k=yC6{i$l*KBXck_#)8w#rT+}|%$y>`0l$kdpjB*Pu0E~XH z84pc8PCl0pylRiC)gxJiO*SKCneyMeMnTV926^jM$DlSu8x;6uS&ZylS~SLjpkhmf z63}hK=&<|-L~qpN^j^04Bahs4b43 z0AOp%?ZxFTCCOQjL763N&8DQz$?K6CNBz7f=CR&HpwUJxR`z8AQtLmy`Z=S2MO3<} zb{1C?*z_Xf@)yvXSe*H!_41r$s9>w+aw}A_SxF_CXggZ^MBih-@6Va;A!O2cP_5_& z!(gB-bWxFspQ?#!E_YXDLA%=hLnNxaXfFahuPvNOQb@zlVAk)bjuDk=?)_YaKLDzs z`FJjnETG$OB+5ZjOODG#n{~0fq_6>)=Pm@i7VNKWyZ?@`w{$s>#*tK?)l4JcFP^I! zrA#uRxUP%wV7$SCPSJYigk_r*3L~Un3#1Xt`0A*>QGJ}H4n3E7YM)9iw{1ob&Rwn0 zpAxwhT$f3O(%{VM0EHTd0>6VvBbcJG2D#jv%sJ;5=n|)t9a-G_MXpowWv(hxkNdfq ziznc1B=&4>cit;X`5oFdKEX!&xtwd=oCnW^Zhyhn@InS1#8om>fN`G`g4mxC6&AJE zRLy!v)M1ZVq)l0cIc5@!F;j8-=z{=GK(W7M@)iZRLlx(;jNcC$$>MO~gW=V_Dh2Hl z$goN1JG?Gvn8n+~S}jd=5)H_V^;~<;8d*b%Pt;YE)Y~}I@i44AE&29&%e8;I*95RM zBSowqqkz&*?T^e8j}0a_?enY;$>6(pNW|sP9h7VE09U6c3W}Xy)%O92y05>o*qVCJ z2CNQZ%7uj)o)K(ZdGAOSpNpD8JuKy+tT)z;RZ8_tv;T7|mv>k_RUWPK2C-5WlsLqF zlf$eB99gVr%5JhR8LP{~$uw+r5MiGOzKA)t|8C@3EdArxj}Lk~FNSH_64aaBK$-Qc zF9695k%GciJr@spPX`+8{L;46yBT)KvKgyCBWmkzIRB1t6upPaZ=vHKS07o_#_1b; zg+=n^(wc0p>p&B2QvxC+s?=l7o?(i7UvUId#%UsHqr0;x&>{}RVA5eSaxHm&*n`nJ zVqeeiV3_Zs=3I!oRmiD{ZhjQu3TV7K)!^6-x+e%W!K=j(CcisA24?PevL;N2`@+{E z{3Uh{wojhlPXmfz=kk;Mgw{*m#@B>F>#{yl)DH`=ik$tLpJ3$SM!uu9f@>k;=nt+A-7MPov=5O-44mh}tgsBk(eG>fz; z@rq+r=fke&_F1#GuK+pB2v$C=!A!LN)aCdM(^O2XZv{SC&%igTL9umyRBjHNDC3*< z2W85+EkduF)k}@;A2Cy(wPTzrV19 zcL}IJ@uAQx9&>{BLGYSPp$nJHdJ3J7q+d(tr(EZVZk#TXx<(|A3J)BNDG+!wxP3B@ zMuq3h__;~F=CS3;+8&MxctKw0*RHXLQ2MR-UXdpW(xC zihXaTcx^0j!kh(dp&)d+&zTn!hIdf+`1~6tMFO#=IHI{qeH$)Fe`pODCL5Z$O2YTc z_=b(~z1Uf)3v}x$fDsEu@+Y`)&Xv@$(lv0Qa93`&NgeIdJa{jly=e4g*bwfX#n&nt zqb2m6q1IPzP$N15T*DP;63NLO z0mG72X-f!6C#YF`LUe=?pGf%bZ*n%to9L-LZq74DgniLq(pGa$SCILb@KKhL=EeOE zq`MwuD4Yl+F4R-(J8Rt+?7_>g+|~prel0$5ky^_hPp-MR{v8uwh*Zr7P_;$VlX+|) zagOi0p_5_x^Wsd|Zcb5k5MPdseqS~x z--Cho4;#5>weWPMn&Td6f~pdp zMpF{xs{j1v^BZRNp2s06n2zAl_FX>}lLATO8>1{|1ZgYxz;Y(Kh<`m|aWks@5fHxd znS3l-?#*7+f{Jc1hUt7#dsi*eZ&xkJ0>--YGC!hC?Ia+qkA0OFU8!I>H!%ecO1 znEs*Ps}))qUTj&UO%3PWKJt$dH~ToBx+30<2A`H*!)~8w6V3Il zX-0uGI6mv38<*_Hi!mFcxZ4v312DvyUbK5 zT~aAS+hj;!qZCG@Jhf+R{GS+*Zj8u#WR&w14z+Aaiwvn|EA9-Ckd6F=5GbC$x6h(( zV&b`!y{#dRZga@?84U6wPQ}=;-i5}2XBhyfapM1=H?2D0^|(uY?!#qZL^obsqxvw3 zbS(>+YTmBqCVkp-X$08K`F@kl@M5JF7zH^+nax}Lt_KKeZ1Kh4JhZQKb`*(*>uVU7 zQE+1fQZs|`_83UjM^rFP)}S%#XfxzrNK^s!Y+RAO!paAV+Mm)PBgS6kB_(zUi6%E5 zrBCUSnB`JFol>=|jx94~6d0csEgk!@&4~-lf{$8QfsDisdlP@1MYmp3J@)aO_%^yH z`LRo3@GvU5_ihqYP&Qj^f?U(lfS>1-tV5pFRo|*B)NUTO~wDNjJ zxMrNrmXFo=FYeN|u@2Vbst2QlkrEon@LVp{W|UaG4L~o^7@NSopGmkp^A;Zfj`z7a z2Li0t%wX?my30rwb5o*ovx1UL3r&7++SN<$qP8sjI$((zan@SJ@ccNk;O|zQJ%rL~ z#qO%PAq(qi+7mzF^~>fWmER0W=huH~qS}WQcT??p_M9l18K*as7cSE?3yLStHC*A3 z>^}jFlmu53&iYS9HEWp)l&Gq zD5fH6v2TmBCK$D4g(Cik+e3h*?}bY6)Gi^c-%+Nb=$!j3iYB@>*@U_OZu%md?Wm;i zvr1uGzlgcbRt*E}+X+><3BmYoxTbW7rS>v@BI_mHb-@$ZxA`?l3wt;9b!zXW9dGm2 z*)7u$Z+25?aJE@lS}-X{_pf$f4`v`QE&&Pw{GZ~qGB2YfAaqH+PnVo3$Z!d zr^7-!9I>h$&}GHMJGAF%4V;PtOinan7C)yy2?p14*a$u-xX$T{EWk~45s=F6tJOb* zrnhfyv_k6FzPOsmb6&2Ogui7t>nj+X2bC89L7fP4;yitp#q&oWL`j0w|xShtw{};dlp%fyN+_gXnGZbkOUYb0uY0==J(Lo-UuC#o5f- zlTNI~!PdL>v@U;B=rfmzN&RE!%GvOnM{?N``A=HbOObL3n|*!}4_aLP-py^_nYM*; z|6(;rcrv@UVB*}q=7zQA^b5FGDz4~VAc-3x?iEzn$IDYzj~ELiTO_q^dTJM_6308{ za9!CyzJME4%hhD!uU?1LF3axVztGj47j8-hlNVg9)Nwfy6IEL{EwrE|IoF)A2cB)&l)Ip3%68oC(JJ++8UD#=|AlU+DLpaAJONPq;0=THR5YKAD+t9vS5WM^;STs-1$7a*znI$|ET%{yRtN+*1 zr-u|qZfp}1TAW8j>&C&!7KoQjohFhhfw^}J&zkMxw#fA$k$;-@tVCtvkJw}nrl&+P zGGQ4X!TpYqQ7x`TUJD+2`S~TKTTt>6`v8@bPus@*VCce-Bx-KVewLnTk$ZfHc8=I; zx`q+swe^XwQ~hYBG(@^z_5qg`W)mA;%Q_dJ461$%A5bLNb$ks@TR8oOy*2yB)p^d} zLNh8!#w0-P7?H3iz=KiR0@%_}(4Hm3v~6}g2`dNx8{QEOY@zs=7pv#%#m;R@2~+sN z>JAE_^;P)pGHY@OH(6j-zX*s;Yj+)RDJa;D`3|j15ai~mSrfkx^(5Y8bF)h$U0;&6 zO{OoG>SG5SV)jv?eO%TvU=&)v0XKDhM>v-CH{%p^w_GfR1~VMSqezg3?0&ge zt6%1OkR>l^EAl2v@URg80lhPn!stm;%uEK!#ae{=gT>d6QU9K6n}cu^Q(YlDa{WHe z&7hN3A!e?e&xM78ImTO4&CNwV(Xy)jlTkAMSi97G=o(Y?*fOW253u z$pIS0$5l%}PhJ`tS1*?;=8(2g5#iXBB@#EXV-0GN!yVwMQLxb4CB&tabA3)u6jQ6= ziny7y!wX7;omV)g`p(nTWi_2e{xP`oQmj5D9bstg8pQ@70ei00%Aj44yZhZ~8@`t{)_FhaR|C}eS7 zglUF^UBd0|CwwAedArAxnA$6QFJ|#|Y;b}hj7vZ#@qW(o1?*K=oiAEM(!^f{-FbWN z2>dRLEet(2(;MK^P{F(Gcd}1pYa&k~&`cn81Jr%*JwKD2$L;e ze*nT-gL>rhb=c)CV(6hiiPN8_!>=SFoYL{x_bR|nX)PjZ-eIv=68XWnZ0vN5-_(zK ze^#|z$*wjOw1b*rX$5_n@QJ-_fsAvWy9|VF^`s(hHZBrx^#Oz!s=neuFm&>{n2mw^ zoL&$+aFj2%qaIBe=ctHqBex4Tsfik+JIJD*JzA=zqr5@VEJCz5x;Tqi5Ut}f!vBlh z5#d`9SHX3Oz|sht2-^6h?^IdnUEIai$GhKzuF>?Pgs%yv!yF+ns&hhI!Spl#`xy0k zWf5Jo{_)M^VKKeV_1i05ccmrs8}npqw`*y{I46ct(e}RbTsCB-qPmfe*Jo6)ancu`(yhK|n&GGB(*uK7T&zH2O~8TMOFWX%GyCA#fvXr42M z1VrzCG8|6a&Q{%bhBhnU=|cQD+xYS?9x~{9E`pz+#!+fqO>{C$jp)QsF}*yJnd6$r z3S;aAL(@zLT~Q72Bq~bJECmO%k72wb8h4#|nrQy4IC@@5ZRVaCl+HI^0e9_8pVxw3 zTfHsoiynX@4lZ5T;1N6gY?AR=&O*9Y@)Gt|r7EJEJkjXL8bOpt*!-AXusS`74L(4FIf$(exIzoc? zRt2vl+wn^yD1A$sE1+@5iL8koh8rZKfm)xD1N#mz*6;?WO(xruup$m+#5?B}3GZm% z@u0MLeVLE;sP2)Hl*PFzoG-_1$>?n^FRy07YV}Nt7;(7)gjmUrZRnNx+>=r}ZQn~) zq6*#jq=>7D?{mFcOidGS+I!{M6Z%z;|0Jz55xbF2s##XHPW=qu-oONjwnjwLC)f~l zO})6R6?@0m5BkybxZ6ewufI^W5*R-xj|-sbxUh^tw_9NW!Q0L1vT(b80p^&Z<#RkO zAmTyX`cdVhP*~7gk5X#1V|rInZ{a zqXp^CC#U569S9wm7J^tiWl?Z~%d)8S{#_yxn7Dil_w^5%$re`6=gntRSLFohYUQ>N z?^7`i;6GPR^jG@eum0WV ztU%%ULzTd(>ect%;a&AFl|=22e#H~bCs|_3~x66jyhx-<@ZB8 zWR~;0#B4G3DaJ9(?$71pVHRG`vdw=k(Dr#H_=A=49DYNMmPuT7SczFs48*&B>mjyCc-^;^yp zRKy+1h38lWh*YS9B-=a4AZohy2KK-4_hre8L|4PfO;efx7QcVZJ1Y?*ZM zBh>8eLludv%^hzB2l7mZ5MjyI&;LZ!uMx2{fgikl+o5gRcKe`CuW8eqt?OAvapo{S zCa&s8;hW}b5?|ar93s+u>6=ia$VNxr4K{(m*;ogZTK4e(4JXqm0}5#P?by@|7jkjC zr4DE0WW)t*u0B6HCc0yAD3)f!)Gsb4tVL@1=Fbq114r)xNUR44er?-n0}PKfL+qE2 zRH<$u03VKE2Cq=x**Q6%uK>qVxIoi{==iMfvGTTaoZwAA$pH-LLbuB#l<{o_+KUNO zVTJb(DSCx4?h*)^j2T?F47co+26du*> zmCHt8R4VX*XCl5t1NAjg!c}X96l#vJ08*vU>AEi^UHMxuK|zg4rudr38`S#6#=OQ2)UONT15K_Xff5ul3;b3^?19K7hzFaei?i@R+sO2Ur<$3+e zvpu;FX+0$@Xp4#DYxMQJAljHM8CEu+q_$14xQJdKVh#$XQ;Z6f%^%jEkSethu!Wn{ zinDn^9{66?lWk;_nsJkh!AKx?ah%)pZaV+(n9_JaD#`QyDmJ01*E;4hvVW~w?!!sK z6!N?KN7cu5FPP&$$cfvWXhd148YtJJs?UEP%e%(fM25p!GWn@kwJp1BZbC>m zWkG}>K7p%>r<>dsh?^J(`1%qKQ%$3JuA)v^J~&!O$^&ST&+jivOV*Yc`I0jG1Ayj` z8h!U2(s)9u&@;XM+(3YxSrLE47#9;VzP)V`61tl|&KxWJT?c2~iwjm`232?mHKvG- zvWeZBuUOe6IkTyG%33#&V3e2^cSbv8cOPzKWYRL56e;2pv_eGB1QEWbbUD48Lih_6 zw?VL@NI&7_nh`E(vzC@M57?MTHEO(q-p16wIjK%& z4Uy26nja;^13$s_V~WlesY#eSVP?;Qt4;b`GAfkNQ#xc#t|ptR@zlwJ=JkVEn0HT2 zxip!aO{92rih7P{*i7dWlz3g@!~&{61KWxokhY#l{yUEIloI`NL7y?QA9IMC+z5^VkeL?L`e@^7 z<@x@iLPy9e*5qDvMh2`y-Edzjl8mxKNw!Q^b?!WT@*liPC^hPipB9S;Rs?HC2aLwDH@+$jO zKV*qMJFO|A;gseKICF2i@oLnb;`2BWP3c#QXq@Pl*MGx@K}IVqqJ{ z_)-H$H+NMGy3k~B)KNTz^8DPIDY$!lf&;%&D|(lifXV3~E%Lk9@Em$q;i{M9DuEt& zjoWjO>U*Vm{@`l0aQd5r#Tg){q{V9Y;=4V~#ak&luQuj_bv_dn3BxQ?{s1P%6l?;D z5BbWU3_zlK5GznO!MQt^N>t@wn~V$D!)*632F9)S#Z8S|7p#7j};`HfMXY^OMg@?q*-G$U8^R~}1 z9W$nW6e;uO2B`?j9KYb}3S(rVET~G}Y6U%idTO05EzoSiGM?fiNUn5|xrErbxil>7 zAw(;l5F+0~GQI6rOwZ_ElufDI)*islID5B!zYLTCKx*@wQ;5alW+$~^d2!({UZf2j z!DN35hP9x^`)X`WerGY~6SNDQSb70E%5edavnKL_q_*7*n=Y3>f^_5VY=E@RPXiQ1 zHD=I7nL9JjUlylX61-vIm{8x=#A&KG67AZ3L(pd84v5@2qj3R31W8X_4&Qsn*X`p< z>4cyiG*(^(F%ih$oF92fCpHZYK;by zhT7>nLEw+m`CYN~{&P%8Awv)Fbj9rCH`h;khjWf_l)nMLnoxG&%f7ti`#a@_YBfoa zOu&THA~>)B@}wiSfNY~$_x+#8dq8Kz-pqL!iOB5GRpS0GQPkW-M;7<1h#(e8^T*P1 z#$Gb8@txVj$LyKHVTfInqU_xqbZ&PV7bB?_VqJ)%sHhWf1A@UIm$TYGR#5FJ6Exc` z*RzOo+3B+tmOV=05`s;k>mnlLq-$Dht-+rM056wX*i-OAg?<&HNDZv^#w z^ep1xEGxi2za9+n!Wd(>n6ugs+FJX}60)_!l z>b$df7MqEyXMsTtO5bQdUprsLGhUlAH!!oZY#9#ur%k|OJ>J|@ZkZ~<;B1JyN$$KRJ(B4|F|%}tOlveC~U;n8mf zO?pN1kP+_O7Cy-dzV(jcZJCOH?ORXVz|?)&n^n@Im+k_QOOZRXxoFLGErpHy575%w-Yd5g+PKX9-5`Sj2ZUBtLukZaT9 zId7RCIwwCelUk@iP4LS_f)W?jr~Zv1>+t$}Z_sfvkdNiT87A{`Z>~SPEqMe%JlvmK zU1v6~{)cazwAV-F3abnY9pM7^deE$FPud}K$gyJ7p zT8&;*XdIs#GKJO``1dZb3Rr*BdF8PfszXSX=*kn)0H28QBQJKvoN@rjPqHbe z6fVEI0|j%9k1jWAW;8f4+5C{B$|QxIY+`dUG)*lC@ME~I=`{rFc(a*OW)f*=^ayO$ z?6ZD?8ZWO51-9GsC$vm(uuJcG$kz9HHNfFn&)e!>s4G+8`a>OWbD^<%%nwPde}8^m zdFtLrRyWIJ9TuOfK)iBQt0abjn>35dX$1=`x5+owy8pBMRV>{K?GDQ3Sme1=Th{Zg zf9F7s^~xNdshLD|=Uk?HNE`sQZ@({vRDSUdrJ3UIw2s6G{i&UG?CZ5E+qgq}rxH;k9*OpK>2JC2&ucV+=tS4WYnA7*;sm(IX(uw zrSlwI^;pZ7dSK6?S<=?2)C2QS{S`RZJcO|>(f5GjTe97d#aHtr==C07$Ba*QBva(% zy8gAckbvQnAupB;&nahX>^f2PhFR^vS{?qiT~#DKJsl)(vdQHvt(*B{F~DOz*fA zCd(ExY`SnhbE^p?0?F`SP67(*7-vZtT;}NRIxfuBzDy;NFPpTsh)bE-+~49>H!qlx_ma{Ev}xy z#ok0<%dN{!O=F4;)`Tw1ezrHfFL06R67U()?r|J8xY(3%ICio*p2_=Xr~KBRJf8(vS#lOJ%``#3%{P|DFKAf7Nt~sdHWLM&ZP@a&e+K2^Cr0134)8Qra_l^to9%fw4rVbuTa zOq_a%Q4O$J6dQq>_@ldWGSRMwe{P=M@%5d;Ekb96CGu3+wO*+&%mEIGI^T|MBmX=; z3|Eu(eDXkO)4%!Wbu%NaE8D+UEWWuUW&yhjvvqK*0~ zUiL-C<1aSa!tpf?yZM<%|M}Q%&K^zL*?Cco<$iFf)mFV^qiTq{Y#8kjb*(<*@pJp+ zm$q2?H3OAX;>38kxeMaOoU{gFT+SeE=XqyiwR2n!0S<^Uy{0ipwI4Mz%$)=FEytqp z{*JC=Xm0U1kK2dMr&czT)+EhI7vs1@NwD>GCbvwLae$}hby1&F*`5|ZyaMT9nY*z$ zgAGSShVX(#!dUcIcDe#QN;fmE&$m8T3qQ-&C(bl3QK*UdeaF*3IdM7BP`sBz$yr4G z&UDs<>~)KUlR@j17U1|@7RpII+?f3d(M63__}JYk7tzUMdY*}0L62_Bp;Y9qm&Q7(Wo7wm zOtLjBv3j6KCM&oDVVPnx&v#&PJR=hK9Ty8EX&O2X4X=j9{ToT*g_@r;VB%*KenS`> z=a2>XW-Iu2D4ij4N1?)@!dm6qw6K!h8VKpFU?#0m#~Ek6$^z@j*RY0)Riw3T!Qu27 zVm{#jmy9*-j*q>3U}y1uTL3F3yNUhuidTs6dg+^2L(LaZEX@D~-qJQ;g$e6DqcXok zy2lezrVjgpo@_?oE@*LyP_P_m;9> zBjq3an|d&g`Vw0wqG92&e6t`}9Mo1H_bR~f2h^aJY`5w5{INlUk^Fdp{KPiaVQ@4- ze>@UzDKR~pj^8`5$$6fUD>gu0md}k{xsB9gcSK?A^!(R%6um4;s<^LZF2I|sWt{t* zoiL|w|Mx>_LOBz#PY1C%&Nhc;b^i>d8WPcTpKPlk$L%JLA^a=mY=Bl%`b8$=Dr>Jpvnl zIl~KEB#-2{ZrZ|sK+YEt)>lBCMt6&w3G2B2ZHAbuB{#N#wOZ}sqZ)sp+nW5&VwU8N zo;xU?ut?LfTfsp0+45r#R8WhYIQ(~TqaR4ZqW~qEbgENk$1{YB`M~U;nnLHyi*ysm z?A!yJt%aExHI+|a{3_vqmg<#uLl<^IC~q1;+m7_s)0opXH^({U6qM16wiB9|XgzEwdO<5Fic2L3H0!o-7ieD7^sDKbf?|UG4w^puzzR|s|G4Xjr7ITQ zgxU77F8V3d=^R`fHwq-r2b0=Lpw}gA;tdsZQCegxR3e)PGYMKFx%RObfRu?~XT7m~ zzy-Rx-T-k*voN!$kNQ}SHvE{mqLjMH-079p z+g0Jyh3ml75&Wy)vUD*X0m}OK0HKqJRGV8AJPp}LWK$UR;7Ioa5GG1yI-OxkYgupD zSz%)FxlNeKC75rR`09GO=FRE#pp4VAphxb1k|eqJiSFV$D_27AOT!YK> zM2PbSoU4bNj(^gEWz67+s9K*;3QqFKE2=RVY*fsk8_TJfxXaycHheKXiCzNH-fnL1 znlnbhzMc*E1evhXpQc^rR{jpF(^v1@s&G^?R;(@{dH)vW1YDb+Nr^<*wN`R|muMJL z6J42}5vfTBnD=a96_V4#l`22M4Y&o&%=)r7_hdQo2z;(&Se%>fz}lwA0Ap$`cS9rw zX?@u-(7wQ+Q)?_kY~#*HCt0TYsZPs6L`Z5aVQ{yTG2KG235>^r0|v#noeAo~^=yU^ zsT*yv{u5G9npvgzy{~KVkVNM7dsKq;Zv4qPM>qAse#1<)VcgY_Nppi#%QNWkUq>l) zyYIX4GU2>hLDIDH_j{>PvKj5w(~X1W+#mcwxU5OaDUm8sOyQip;r3wXES?)VjsC^y zv%lCR)E;>Dr>PaHyIUD%=2)&|m89&p*j(*wnat&*h$ao7DaQ%DEn=XA{4rlrc=dme z$8|AtWH$SZ2u`pElj=a%>#o0-AP-ZSA=ew`xg_ebPIK&}LmiJtvi%)Ip9E$NyQ9yQ zc-EYZSpYKluOGTAt!Gx~XP(2S`rOK5ZNwaEdlD2PhuZ{(|3ow1m@+qLfd$~1G&9dm zF3@@)EWcD=!sUKA5Q>ppn=^rnOUQ|Hwe}W6GJPGS_{>W?B@;`V=U&j{7N?R41Z#sp zJ2DB@&t))C;3t=BlaN(;aJC;W4E3LT>nEh1w#%4w<2hs`P^QBt5N_YDqih-+xkuR% zSm|_KB$Lo#X(B>vG-kyuR%sS53H+jDn z#eRzghw(d)SVrN!Sbak-_PGgLc=w1vCw?o7K1AC5XJOQ}Ewae*T8KUGc*gpzv=9Dp z6~QFW>GbsVnquSFkWRxSa`UX>K=^*e)c_ALFM!TCM6ofK01@Vpt#@o=2`4HhhCTBY zOX$a@mn={weVvA3JMG@h7uW7H?hhhdOfgP8c&7~N8b(bky(%gs?a0}4MzsK@xD7o> zgX4BpKMX<;?3ld)rZS*+o=bx1^`dkhFDd>`+0}PQ16Wyaw-!tt!HSu)Kf>nnnhZrT=dUz|&u=%(%OQkMs}PYPrBMNhMyC}wXa zW>F6_yXDz(Y8&}AC~Xn-lPu~bDPg}B(|Qyj@oX8>*jqap$owwPh4ODft!UaSvsA6` z^f6^pBVTJP^Jvoz16BCh+r3Zo`Runuz{Ix5Y#dLC3fKuUog9SB_MKZmSXmAWe?miHGpCv$Maz=DMhA z1W4*jMURMKLiaztZ)NE#uOnpjtVD3L4*uI1Pm#=xNKn7}v?`uljJCbz}Y;@Lx!PMUJ!pObU>_MI;JoAY%+5b-sNRBQ2VK!-{;# zxTF3UCg}iGXHN?Zo*7?sY!E)qi`Egt(E540$CvoMcQRXpzubT;bG!2s+jFj{ve{oP zu4|YQ7{?gT``hxMwDPK0 zwcxL!j8LBSa^W2ArtU58I4h)nq8i6aIh}Q_SM~J~K=m;pF_2nN>L%POvBh82 zSmHYB*JfbZB2MO{tGuGhYTFq3bs|&!Rbwtk02K8NWZQt<5XxgN=d*ohW3ixoGdIgx zufr5WJ>^;HHYtkwCJc)44({&3g+@&?vw)LsdnU*W47nFg^(tG`bTR@lZr3AQT+8Li zZv4JDwgBgdf?SRm%jF6=x9FzHZl(iamfc|na4%i-FQTI#<9xLjT$OrlJyX_JbkAAA zJEk~dI{R>McfAN$4PjB+WD*j?L`YMpvz{^Han!8M^8Y1FsvXG4(CIcKp?6d*BY@oO z)%TpCpO{dc-bTt?@OIchk}sqI|2Rir9*?Qb&}QCC1rD-rey8u48W<1W&VS9R_*!L= zwD@!wHqCbj41N1t@3uh3abo5jq_b_dZfHr>%JFe!Ep(Q2 zC36j$MANaUHWh}M4Dgb-Fw3n7dFuLFR4AT%yfhWyNW+`ZX5s}c!hcLn;M&{38=8(y zD5Sz>W<78>yriyyE?UKFK%q~!SnTLz$JHwh>iuSL?-TO32@^9iL8a1U<}-VK#$j89+Auzh)Qp;?E=0xHH8c+Z={?G+OQ{_jU5N_O&7sfWq-OW6d3la<-%iJ_fi2rIcZc~SNbtAF>6 zZCR^}MbANiSC(Xvf!6prjK`VP!e-Y`Tw;CN!Tr2uSG%CBb z>~m36PLLuTa&|D{qG7y)x@S;r%=4PC$y`d{PPL?VsZ?>IgYE;x_W0l3bgQ&1vfk!0O?BHQu#2wRY$CC)YNiOhjL3JdRA6c*VUv8W)1jiWJI@Y*`?d8Vo)~64z3gVADdshP zlQb#xop0G>%f+q|B$Lc=F78bIRPGq^1k_LiQg`WBL~$M>Pv8h=Dz^a8ruBYta#8Jw zvnjTmvIN=xF2|cGv){)`dTU$R?M7k@WqVibR0c-&Wyw)~2RBNC=$lH+Ro6~BxlorP zVi5on#D!z2?rlzJ7qh6<0H!L(RM=#d`m0^?K+=3}6k>E>RJ?a zX1-R1CuX>MLGHnNdE2n+ob0c}8<;-=>S~r2Q1j)v-Mg|>3J0@_6|g!!qg6MsgEE zl+o@*`svKJk}mm;U-8uupx51)uFjPXoUN)>dCn(Z)q&k!MaYWwT~(ZM*7(m+g3m8* z6s_%>1T*4j<0vK4wmYLfUr2Llg69|6xny*s`%oGM)#GKYCBEJGSt^@>7!GL&zhW6L zeCow_+LRaRC#@|hTZZD;?^H+T!VhlV9y8NhK`w!0zJ*n8ms;CYxx_RQ4zWu_J*VH7l}owLlQx?+@lGOb^9Bk?i3y0znciWAF_Ca;C7MBYY84Jh zQ)<_v?vYsb*~bivW5ufJM72R+-A*t&ABK_dIsq1q>vl+>Lg{ipb-ct%#k(oDeszd~od`LoAL|%R~xe~+)ziflUB}bWt zu*p)fOP0aj+@-z=fT6-W38IO60eH(> zi+LCIYvj5)#69XA&p1t)DGE*%;8CAMj#`!7IQjW`;9>2sYI<I!M?rK2Bz zwY}IW4j?+pMLtP6Wm@#{T}9q>viZDdwXed%2PvDMlMlZ)Z#eLVO{4 zNR!U7WNNdE39t&Jpp)eztyJB}{OxvbjB2r9Xn!Zn-`ZU4Sh}#>pk4+a3j}e8MS6Wl z7v?i`<*MBQFVTIg_Ag^#+~1cp1pYqi_(Q*AS$z#$xlzh6KDQ&Dj-MBCa&O!DMO~eF zbNTlE=}s-TSPgV8GKCl6n^;lc9a`0gL!f%#E;S>TQg$}$AwJ~qSjwm_bH|;;%>+B} zVgPL4(0cg$is>FqheOET-JC%!p{$3#j_q#FfZBgS^E{?HuDDLKynUy;-V5*^$BtpF zK8)7!iDR~9W#dNmQ3^O`Ti)9a%YjvENb`>B8i~@`mI=3pD+$LsIlkdk&W3Ms>;-;y zh=0(ytyxhIQP0qE(;jdiw`@(GeafzB=-j5mzCIE5`HF9xDtEfiW`>b%C8`m6^shvYnexvn0oH;}(RO4>ywA?^BH!{dK$O#P^>n9Dc?En*gbed_QTdH(04rY4D7Ho z(Oq-85Z!%L09t4(=bvk*9@Dt)h9@R^TH=jD1ec})0EBI4eirvHNg_6MA^NiWslm<^ zM=oIBH#$h?kMaqK**SVTCtqSzX&Fta#hiaT5p5eH;TC9j?0Th8biaz7@U<4k*OU(U z;q8IlgI=L``lsWKEt;8nwg7R%8FycCP)gez8Wa9KUQ=-i23l?VS*tM=}Jlo{y>_PhzF1LN^4kXK_eCdl5IW4(f8oPJ+S$JAJ4HUw~sO+Y$Kl>U8`S z(@2=kzlCwbh=&sqh!Q=zReXb zFAz-8v?&+A;+vZ?r(c3Edj@`f31_7OQA`}7e{1b%Qz1=6FgNSy;9AGeW|QLpjMy$+vWyQPne2ng??~=>A-N5C$wP^4b_~zWCh;BCypo-Y z3Et$~={ucMo5l6r-RL&0j|>t^H8noqqYstayznsD%;PhPk3S1@4{M}_PQ}E!O8IlZ zk(hC;iO9zt@GjBR@h(&d+I<1E5Rk#ot1u=Snt_UPlaTDUTTM4Y@_Y`i>5N;+5kNFX zdn7~Zz|T5r9^u*fw7(mIUfN7DsC3bmN^_#|=W?{+YO1)-on^19)TLhm&cpsgz^Zeq zqYq4=)## zFJ)~ST}D%PJ_!-6%{KtMm*e@AmVcu<55I$I<3@H)CPU`k#tzVE-9YJ<*sH_G6;6ei zv5H68e;^l&a3C|!Lsa5jAGH1)-+5g3$n2e!`NdhIZBo@2Fj#KF{s8cStFq=geWGGN^?r7|9Z+h$sO&*$ z%TfQ8Op4&wX_w_wz%bLv6msP^jXYsWHQ_zZ%;eX|5ld_p4X!$sz2KEn2Y@p99kX9S&QIVEBzQm*u2@;9GY{La65w)$Fgh)?THb}T(mgt2A4y%Xmp%FBEQ^@AET$-8Wjbq~__U>m@NrTT67#nX-5 z&xP@hua4W<>6u99trZ>Wx!ZLD49= zxNu-ML3ziBhI`xU$F%!{J5BR9?wGK`Z1tR|$z!ksEr_L$FI)jgPfi@t_O3B`Ei5>E zteA9vP#A#N|1I)mG@@1&Elhw9Ze4k4PQ32#@J6xcG|h|dYPHGU*xYslEJ6fb(vnw> z3(8>_7%DX~}XSs+R%3R(9EdCHD`NIdJZ?H%Ck9UyH|Nk3?e1l90TNeT9PjQtl6nOk?!-CY+fi0q^taj5sJ{-nfH z49Hh7BXL6AbYD?5>%dm`&JV~3)HrGjcI}E;PjcTQ-H1{T^L6S`zj*JT4#5h$ydn7B zVa;`8>(zPK<=U`0WILlIWsHge{fj)Hy-)X{nr?-ASLfPSgl;X5^i$mI?kB6$1Dngo zPU~bzBHmckR-5-MMVeyh;YZ-2$ok8BfiGJXJ*PA`2@d7%p6EgT&bZYqF zYe+A6MD@&PiTy!qfk&rJe^49lWJ=<<{5#gw+43A%VQUa&vlfe+z^~WrE5bG&r!zZa z(wh(*syCI?0}_L(h0Hhg;7hW_~i14tmSt4A2j(CJu;f_?5rbRviAP2qbohAV^e-X-FrMES2?Q_0kyD6h1ns1>tuhu&s7nMsPGO?afTr6 z^SUY11TOp)oHpv!Z~kMToj`p&fAZ;HF$nSSt6U(yG#@32o%PFF()-M1b8e^40L&%i ziHg=i(9OSfG@=zBKuC% zJ`UNtSJ(QLrMf#3p1%ZoXHcWdx+l72JIR5!$C868{3PcK-)c&UjLoAp{po(6!g08m zL0$qt0DgO`U)(#YN$%*(&M&n$_C_J7UP_k=5>+Y|^s^Cl&m~p#j+lrRq3OdC_zGe` zC4&<=19_#Ynkque_y;x-NBtCtiuSwa$8UcwNxLh7gP7urc%bEf3{*~wL|kKk_r4ZbUq+L7{g!u3 zaX!JG%rBKt`h+g$rM^;}ZAh!DB0(~5cOv%Ft=s=-o!06RNaLVmeyxgnO!J}j>3POB zMM$09>P~^}mBXREu@~sKU~ro&r>z;D9XV^4r4{Ln&hJT`2bAWQR9s(z*XWWhGhhJg z_4hu;EiUf#KwCKGDEpVKb&Xi#M2s>g&Fv4AX92b-o{ZoWcBz%G5ZegR!7bj$J)1i3 z+=KQgY`G5IYgblX3U_fT+~S&!qGgS1oZI=cW%qFMJnAHJ8WSs91;d5Su069QIbc5p z^+wTn2-(&AE@e?rhgDH^sd#KEFwbQ)b*l4@tBkPb2>n@Rq8W_4L{oiw>z1|oCi`by z<$p4(uy%`B#f7GQ6PCiKFgsHc-B(Qa2x_VtCROQl4)eJghEy-m#F@4*DwBGY^PV@5 zJVgZji$|B%=gU7acm)vEIld?-dP3{P!D>w^tzx&s(qb7Ds_NQ}&Y!P?b9XbI1KFg? zN%p2tz_9}yRaX9URSbkW1|%}`?ofo^2&VSb^A+DfoQBTy+*W6RDz^Rk>Ex!zf{=8j zP|(ZWVs)cyWmyynidI}j;M-YX#4_->fm#iynhbMrs<9977~%d!x3k%DI%n!q=hDPY zaO$ePf-zCdr31rN4ecFMmkwiRGv+SpPY%eR@?#q(CiX{RJGmM81XaaghJJ2&HT%?b zap&zo+YKcr?;Y6uuJS)MhIGSUA;E31E;~BAbQ{aCIf5Dc8(98Db&_N7(h^iRp!Yd1_=(6*xETdsl=c{)x<4T70>D;j> z$TxoQrlKEF85E1n$o99X^hm<@AX}rl@Mr)&2Jr%A-GNu>ay8J8~T!)E1J z!r~4yk?eXg*4kwo0}yIK6!!CmwwbL9?iH*;(KP^5_v<-AR^|#GAeN<*J`@^ z$u2Hsp^k~%&a%jY_X$$;*Jjuwng`suo(MBOLL>-o*}rV!NmYHmvvKrGR2%J#|7TF) z5ai+xNvdw7^<#$N!Cdp}$;1Aq2#|hA2FToiKGTuY&)bJ3*RhTFJQYcK8{9$al8dE5 zZkFWr4r*W_`e|k=WEpg=e>veGaUvM6IyjopVY#H|oU)A*US5zPFs=4u9)#QznQDP~T+Yj>#r z)ldzGKa0dtH}Vx$G%Q^ujs{GiIkC5i}D$0 z$%LaUF#*AEL$)V4?GtRXF8JxAtsv4RA(k|j#V#?=$u6+AiW86t(v?|7$udAk9>Cjw z>=itqI-l4yVcVor00mK1iiE#!_^V1x&~%}luuxfc(&0C5hTws!Py|029UZ@ibRO8? z=LDyJVhs{DU#bsI0+pGk3Ns_bsaOC=d2EZNE+ThXA!hgZ7*ypy7Djd_+gI4fVcAEX zz&()3b;Hr{9pC6*k}Hhg+Eyed#w=k6>tGM18&eq{GNQdu6_)PDGWpe1d9MMM|Dg%% zfz0AEc_GezOc8F#s@jQ=WkE#rcQY)t_T;8Nk&Z64?%=VY!~iW+cs^r;o_=ZP64m^2 zJeA*3H#K;EWVCZPTQ+<$EKSKY4wm#$HV@?n;#<($9~vNgPD(4l1K_vyfyXsRV@?Le z)$fd(x)4aes`CAHfcON_!i0IvP`VzJjMEte(_@S9Cex_4Sk^i6BIi>B%NnX z*8KWo*j|upY<;~4e(g|hBNl2`iON`^9*4+a$&Df9+=qpg9s5fZHNK)7*K!)# zwOdNGN(ay5H65(Jg+7CIIKV6n6E`g*i!ZDWy@%rB_V$BUvS00Bde)0LnjaI;eO%Ghek zMydhay@W=}38&PY{2?|J;TKZUW17bs9;oG0u2hsPQ$!5JDrk+ zri@_GJ!5|_l`1A{H^!ig+8^D%FX4JQhKt_;juY-wP+a1LhMk}UY_wf8?++z_cp)Q; z5Nqys{U|`o=~x`BmfdqR{}>~BJY%01pn{@iW(9`mRbdKmWm#Ao!suIj9W9@(csAT5 z9J;7z8!AMM=G)p9!5LQ_y04H%LU$&pGxAl;JK*)PHjGw+hK=Z8Et^|&EqR|Jp&_)V@D*es(rPuOCS{H4>fzQ?%g7z3?K=jL(bumMAgVN zzi_S|%iIXT1FgOi41!T+Mp9JMz$zBJDpjyGz+!_KE?hsB{ zppejH8LQ#YD-Sk!fcAMi_hD0FfiT7nqmCchG3Mn`hb6S2PjNf{B%~6A_7r!oRS@U^^h*?6tL|2A@bcrnvcwL zHkOOR@9~r!UvooL&{X9UY_!V5UD>f#qU;!0demDr5EHZRpD#Z_4TO7u@!6biWmm#D zI_cT;Lc(GG`igrDg@zp#6- zaDuZvLAgI46!HT4n6fQFP(c8eHMl47B&Z>qvgu`_MhLoYW=SiN+9BMu^Bv1b15lu7 zK~fgLqN9zJJssH|SoRkt>*;AvMOjj1#vmwTuuJfT7pc`@lvS|6@34kaRH*3}X`<`S zYBo>!O$Nn=XAYkD6QD01L^AwxSzJYb^ZRwdC^6Yf3yW#Q)J3&e<;WpUC2lPdUJ~_H z`%q?VHVuwCJVh_l>7G>u9XeoT;l9#40Rh5JLkB_-7+N! z{-dB1%_Q{4TL1<{=liv7RR-GyFx4yLzXO{EuX8=|L&);7!<#_9NJej5##Z1hPQNQ* zsI5CvK=#$C=r%UDMdY6g-~Rft-!Y~6+&rOkNs2cNXm+=y69WKfgU80W!RSqZU>6&< zjmU@dtDT5>!qHiMp2s_$QBp$hyqGF%d}imYGOwQKQ0C+T&en3jBb8??T@{v(YYd2< zhcy0&%ou}*_E=BYZ-=*Tcfw5Y-@%Rd?;47>Vl0QI{h`9()gh`fjH2m1l)B$s@Ah%o zVL5(0FHI{BpM3Tr?@%U=;PPC4?>;BI(pHx}`N%%oeILSzI$1@l17~7+cg7-};Rb#T;&<4Rebb=?tIPqHz)uk0xryX&fzKViE`>YupvGcI?3}(HI4;I%IZ2;QC;5r+@kmBt4`vO;0dmEi=XmmBGVY~FWrfE zOwUR8Pjq8auH=KuJ0UwxcYhzdi066AP^3$?Mpcc0Vt+EATY}~{gs@y?f)Cm5j{nS5 z9^8DAz9^-Dd{kHf9A64?b&QJefGbEvJth~rj&`n;00-Q3!MB@x;I5nT70w-IILyUy z%qTi4sNHuk*TH^ZG7fV;DhaSdE!H0-Ku;pq2-8pb8xU-dP15Nd)Xe6c>&dmE8fY%b z68Duws%~^I%A48Uy31N8P`TV{LPA1!9iV6Lj!@foG;?m@EYIT8D(M0ofsv{%r5OD}~vxOzlp*Z;lf$Cb*l&`49iwDUQ-F!>@3p0T?f<1zb*!2N5PV4nR zg_w#sG2*Eo9D!&jV7swdwyOs@RR;oG3+Mb5+ytz&0V5aCTJjFOiP8`V&ai;{oJFKw zmyI&FUeNXvt;c61&aJ$Xnnu!KAB=kif+xf7y9tfpx>+`3D>8u)5ju{xA-?yq2$msN z0&P?UZ$rmA-*(>RW3$S72Q;{p!5N;#aZVG}0V7#`oe~~eb>qcx6>P$b=yWHH#24cH zg77&v(qrmzrVV8K4r;=mI>8fwjH0ROI9$MEyb~thLgHAV0_qw^2u$oxgbYBb3R$2DK0;* zIf9q~42Yd@a*{p|>P`E8mhdh`*bPTy-NgZydps4N;gjX=>l)+_;I>;xplG2JjMn7bbXJ5fJ`=^sy%p)LborM@K;DPrk=l% zroDDNmK{RbT2?sd3i|oD5&ULGd?DGcGGW%3)lHGNAzHLHw(p?Ys8L{aVut{`cETFk zA4r4?rL39;aRY;&%6raup%2iwuwCIrMF3&LGx!+D6<1`TD9g`-;HRV7XfaF}qDE)G z02SF0okLWzsu()3C#oYisL2g&<-?Vw{sUfo(-y+WSp-b2xKSO$cPw*(c*pLHY(H2u z#~N)uZd0SxAAqb<#F02qyIGqln0HJZRWO2G^P%rX!X8=yRqwFo{p+kwci`J()!kkY@M|th)Z-o3+#GaDCpI3>4xjX!#6+z! z5!%+8ea-a1Q*MX>Y8cMAK*sIO70_2l{ElUo0nj-q3N6>ja?V*m6^o$91>%GG6(&o; z-f8b#IMLY3oGQcsSHrr$i52-{KhK&^I(!;8`{2rB|B7zp1t)Xzt+x6=kexIo6N&Sx z;#B4;6gp4fupI)1W+rrQln5T|&zYEqGE+G`PS7Z!sB2|7eWh|qHxik`fhAeiTgaQ( z>5~0#0)A23l4*2*Iu*flGvoyU{0eKndY;WIt`JhKQ0b^Ghvo9jg)Vd-M&PY+=r#=Y`JQx@)c+xwfxlC{t=MNAT$a*DURB*AIE|x!PHJc%f_CQhyHf=;Vig$r9 zYeaTawP8FNp>)B#FOrV0*|3$ur zdQ5&tHs=`8xtut~h%5Gx6MC9r2py!zr(CNp+Wo*|?El}^VwS}rB&@k`LvBD|fbU?& zA|b-%L}lumujkF?ZW)ox2?8+sD}yuMRJt_6R?Gs|nB*(6Yed!&T-XV=PDxSSQ0<$W6px}*jQNqm!9c;Un z)70L`-C=dDLcQOFM0lrX9)3F)VfwFIKIa#So6S3{IG>@jIOCxjkqM&F;@-niQ#dk+ zB+X6kh$rgrfjQPO28Ia}=U-XUgJ>fN7M%EHNW;eB*6!rzAW@#+WU_t@vu-Q%+Nv~o z=@}Smk9oVRPM@Bz;$FM1cQj+_9G$Z1-=Itx#x$d5z~ij`SsbrS1)Ssk#(z(y*YWmcjnZR%Ku9PP1*3+>{@Uonkj6w)X$ zbaT%-G737TuX@5hGjU$BI?FPn*P*?gaD1)Z-={{Yha%V%Fhw?^0JKy>c5+m=(2dAi zKykZzj;SbIqCp~G7a*I2g;#jyEUq;w$X3{qc{8I8uh2%)gska$!r~8-vQv))r32aQ zSkleWZ)=%?J2z1$DCh(T^uAG4$0e%%3TBjW0DO_Wv5zDidEOxVWg^v#k8Hf9dV(c! zNcv)zdn`0T!Cb6e*E6%Uv)%YO^@lN+-Q#vI&*$cacRRO>jX~j!ikwO+pv?&NR<K@wsK=i_LW5W#`M%!T2XYAjx8 zlj;)Gp7?#Q;ZAcQ+9hB2j;D<44&r8kl3HcDgQ}FJ&$W<2X=9qA1_^0)C4N_F%?2hq%crl=oc^))4lc%n7uWDxRQp*TbH2f%Om^J2n6SnRd|z ztkP&NxuI7?qn(RR+yv(+K7irEp^Ob;Sz0CyLSDI+HyLtdUX{d02H(<(C2+S`7wG^u1zEa9{d9{tkW0w?!tr`M^MU!W=5n6S zV}`)cmsN8P;&Ij77hJ^G?2IGbCf*jl3%74=TEuwGO_eG`a!5j@APCw&-2IMhg0G_U zHMynAVsv#gQ<+V`T0Epm;Z+htoU6H`i}dyah4<&D%o?MBIowNm)dN^ zL0>7gk2&Bj?-By)*;(WZtrf=HB`v&j={DUn!{6Mxzkzce(>zGckt9(k3IT)5OPwJS zkcmYd$cUP$U?5{1^(y$F{Bo$hk)3Rq48IJ5dN`xpb+RTPA1R&fjK_V0#>F}_~EKb5E_ z(yl=e!U`7;=w^vE%PXd9Tx+T4?R2cOjl6{YMd{^|+Y|?tTg$9j<>tU10-%j@9#|Ww zv|xc({#(MK$25}V;AdixE~JX?!lmAB2otK$dUgTg570 zLCrE3f+m?5!O}LCq7dq7gxS!nk_>9dd4i%#u4iv&-0nPk`j;9Yqtpm3zAbkWCjp#N zy0Lz<+ToFx-WU%zukIk-$22D3`YVu5E6Ui!7~qH^MhJTPC<0t}Qy>)*p_ZX3Zwo8l z@OAmc(j=gE&U57}O_r1Mf#EA{Z{VX(38*aL`_mRYCcq%IZ&F5K)|=PklAtZR&Dk&k zL1$F(u=n2~&12R4sF!U^^kJKFJlM@~)EcHmvFf774!kAHOW=iW$e|Q;r;J#*QjAkz z=J-1`RG$Nk*d}B=s;N~%<*imlEY|e8sypbVZ1&3l-Pc+Zd1ARN8cKsdzoT$kP;i(EmKzhfF#UZ-e+7g|shq;UnAVbzQa&I`@L zmvc&ub}J{fU*cSIg)i1p=Ry2>&+K)dGPyDL4%xD*=wPxFwWa{m*0G=a3$E~zNa5Wa z{{C}}=D8uO(Ef)KEEYeV@205(*cg(;M6OuGT?R4m@u`4gHd7$$m zB!geYT_B}&0#Wc>!i~{~@N>Un83_q~rlT?dV?Hgk;{roi^poh+M`6(1BPT56eR933 zw%oBx^U8d6y(BZxz-yoKj%uKrq7yW$<AB_e%;_d*SXK^2H%{%Y>e}A->Bl zjm&KyY;9L?Ufl%bz5*I|O77EecId*i1U+^r@Z1tT7n@@4@fxzb*6zL0uR<6|huX#2 zCuGci{*(ggv5oJkGcw^{iJ=>;0R@<0OJ@a~A`2sM#I|;r&bfT351_!4WbL#|sk~yD zWq9$d4a-6b>dKscabO}8Aa1+Gv^bgi*Jm5X$tIPp`Eqeg{vw<*cHC^Q-vJGs`sln& zx<7RvbQHmPt6t&dpfW|IWQgsT?l=Lz?`oV@|Fz9@2l}k~1U+F<^Q8Qwqt4Gnhf&QU zAcuy{oVG$_-|W2$%63oX;AgwJ4#9$Gfy$(ZevZQjwY=kpQ1*;!o}@km^4--+GKg3K zWpItWE{yEbfA)V_pFid+48k4PEYMUcEY)}8Hz#=0m&&&?mTO6z3%w$Y%aV-f#jE40kKLf&U`rpKlWiraQx7g89_a%p<8vHTf^~Tlxm4(pBvh* z+(j$Atkc#L)y#F?-B(Qo&>M&jwJmtXG&^*No7qhvH;NUTMCd+tM9(_c^Qgj|Q@6_f zsV;N@?j+Qx&!v`i=J$^ zo0W-8=7;R71tCU%cOK70;5$w!AztC!v+MMk>f43gHJUc?GYmi3%GxM4=OM~)Q9pN*DTCCck_gGAYO^qaJumEh7-4|@|klM%84X$({|AD@(3yh%N}qu z6KxTnxnEz?Js({0-o>7i9naM7o6MZ|V1D;tD}ZC&7)adW7Gw{bHU6q2kb<-KA;(8E z3&{v-kF~?TfRzdPdKhYZIfVs)%z(h$pR-Pt1dt${V_U*XlRpB|Puu z6aM(68`uMxvSksYQF3y1O!aL>@&wG287W;exljtJx{yYB

    %a26iQDw*Y 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%0A9HVpS9C33@Jo$Ae8Xpj74FOz@ux_b;Q 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�MsGqsLU)y?sfDDT>D2K44}tF!3b3iH>pk*gnqn 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�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

    uezJ+Nf#ma5}ius+Z*> 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

    Ylk^V|>yHONlJ-ScQb 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 mOKtL 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

    UV{69V^}_&ol;EU~9mHIB92z2K^NE6)VGL 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%0AA0O&07BR%o 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 z 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%0Ays0 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 z z-u-Wnb@l|!CA95Bjpadt!2jdER!8e#0quLwEBh3#ghk7E$2Mr+>AKT5eqRrgD!ZJN zK(#F|@71Z5C79JJg$G5TLnnb3oC^60TvuDiIq#6t49RnMIyV^BZTJ|3WJv06ixiCA z-tko2)h#_#v=aiSI$T!Ls{pm%(TqIc;*E@5RMZacq<+ugp4zMu1N+LSb&VAvTCs%9 zSTsBbkz3)AVfarV;}k)(M7C~IR{8^PWDy} zl6O39gp+Ooo@W10f2dWCE-4Ha#*jAryN!%ZFd?>=eQs_(jG9zg*d93g`_B-N`ZIh@ z0PHV0L!ZaGILU1Hor=7kYh&-^;;n{svp7f}f}KPbzskS($J*?WU6cJrWKvhwe8m*c z854<{Ez~>=w0l*x8tiDZ@0{&e@(IDJVOVnUZ z)@qiDBpveD8x2WT;`BS3QF=qLWca|7o|7qL94ZBx^^?P9;h(i$2g+EobI5qQuY1#u zE+cNO7lJQR8shGQtU9)hVsBjo)zuh& zL6dhN<5CM=Wup-xeR}udfjn6>#g27aNvC3F5K$3U@z{*ww)o_DBa+woe+Sd&adt{P zC4O7|YY;VktIqOMRA%II){3ICsP3|$XL0~KZD#t0@pb+Z=)8j%H3&RP49z@Hcr_8z zu=#lYAzGH|a)54rb3$p-r6R+u-313Y)%*8=Nte079+4HL<3e@zBzW*Fhr_ac*x*(0 z-I?<>!EOZj3=3;oZo_$z^}9|-x@|*ayPLlyIy|TW{7KOZYUHC=O%ZRiytT^s^W0N} z-3pZ&OUiY1(=#SJT+$-;vu<}bd!xDu3jIVij&r24PM+`8<^@?|tK&4CRQ9IAsPQ>R z617l!F|ZM2=Z&LYKiBZe>f5MO#CK4`?kPnFk6fb178rjn*k;Cb7ChZ!MoFKuFlyCt zZ7a`RFq+0gZ`x@f7a508)lN@?O#I$RB=fldAStk z+8f0+zBQQ*SUb~pS9P>il3sd0agFaS-s50Is>DPgFooPCPVIa%#$S7Oh+e85SODZy z0f}wVblz5S5CowWt+{I0!)Ey7>Rp7dhB_%8Em_8*r z?uh1x#v}xh`&Au=LRAwSjKUmp&26j@^1;!ZfiOr=aX^fr#2~I=LLWt`>K(+qFJkvO z725WyCdP0aGYfmqLz%})U^D=tg4RGC$##p1+J2W61x>Q{b!{kHSO2%XFBJ5j*v30^ z#w1&UEwj;Iv36V_?s2M@&y!<+Mamgx$-0voE?5+YnpoE0UU8oQ;DW&EIm7a_4WmM3 z3nMEtoy`=N;1`xzn)rps#E+~kdEEj`$AW#3vccB<+-x4rSYX>_d&_Uz%Mu+Xs608T zePsaCed}`!eaql9d_CGwv=)rYaWT>iL2^12A*&(TS?q(}l9J=K5qg!o0uA$3I%1mh z%!p9MJ`{srQ8L=VyjGJ`wSQ?W!`g?-^9W^pVkx!^5c`it*q=Ep|fwm)oN>nfgotuD%Ucr5I%FEI%Uq7@#=UqJ_K)C%_3 zu3JC3Q@s!{-!aXJ5qwE>HqIpgz`l&Hf9V)Q$I;KczmeD203Y&u(5c=rAB59pn$AEJs&moe^+)WZj)y2rtYqii3ztH z{ynPtl-f>{bYIpYXednEH`o!>Izh;>x&i5vielm z*=HcAgi23}OwI9Fw`TvSMZ+W^XLN3gR){)oRLKT|Nj#m_U;$9a-S4a|UV7c6ueF+BO+<2&}!#kE?#g&{AnfXfQ$fZKj zlWsT{*4T@5LyA7u9cm?YR^5Qhc@^hB{)Xez<<9^8FwaT46)R&;ed4`3=u%4*&Dz5` z*=6#5EK$q*t>Lk@ji96Jh$~CWjfyt{9^)eVruan?@!00j(}|Fn3&gJO2@&RsJp4bT z{|{A~VNTsQB_wKUAatsaf4ZMJ1 zOKvJML0Bk2smJagz0V;^_!W`I`f0@B0SySf)fZfW5xvTVF$kyM6j>qhEFH6!^%z2^ z+(~5IhhfT7A=veQZdgIgHumY&JF0oGnOG;t=j)LM{{_v@NXhCa=0&7kVh@9?CfBiB z6*QLL%Ia$vI;Ia(-Vslp2c0yHD>V+o(|hcnt6U?XGBqUsu{^LJw=GX56nE_d><=Hu zg}R}JZ)F%VkV+C`7oak|@4!Yo>x{?>DrHSXl7Hd%(Z;cQX-xv>7ir7FFz`;xxC1T? zU^FH~LPq}W%0_E8^iUsjy*XP;{SV%xy zI0tmOLZKM3wxm#1KvFHWDE!J&TSTXdxQ>wBFMjmnS@Aa)rxV!kJC?chh3&{5+dh>p z9=}Xg*|wd-(!JRCYKKmB`2Vm3!=Q7~y@n;&b8u@dn_mk?lY3f!M>X!za?iVis5RT! zrA}5czl^4p_Gqq-u_tHp!c2qcXq07US`jU8YmoX5W`5u0PRo%WUnI7}Edf~;u&OZ9 zl@=p;A#!#})KnRVVpN+uVG3EIIv@UfSmj|&02qSNs4c5+xX+jtA~Ld{ltckO>rh%` zL>{@MxF!?@Ghu!!gRsy3>keY(n1+$63xO|SEE)bZ|A*1pHUrtnIDUA*R^s_#^ z)ET&Tyb~mCyu+C|9T<-EmUb~HcbK^_?DZ3G3H$$9Z@`6|LVW0qf3ChRgYk>SnvO%T zO5k5pRWW9es=A?Zv3s3YR-LK%?5a|K-OgvqgxTH~)kfNXi#xNQyYxb2_$VUWuEx}* zU3`Z%3^r1|2D3|kCaX7)TMeSIon2f_oo!ssUS`-}iH>#fTf;M}iL55ReCp z*H|C5e@;V>l%Nwd$0Qy!-vT++DO@cQn-WG zcTZbbHq&vcj&LYH-Ca>sA(#ht?B( zM&PnlDFHj*!0}ax0*q|ibu~xkUbAl(M*fe>&Eg6JQEaUbi5q*nrL+^6dcV$iL=kfp z%rGNprk-RU-L_(tGJxq1;WM(ign;-pXSf5JpIsZiW~(CzNUm%yNlskVZIBDs={&VM zEA`SP46-TWJl35fvmy`#tQ4`&=#~C*Ps*SY?x@4{G(H&$Tw(Y+}$% z*UuH?_p$2m`A`qxJ0SeMX#&x)Hu_;<+z?egw zG6R1HG{;1+9GSie4l$6i%MzBd&yE@A!W^f*PqZt}rE&>g2!Z$p99q(U$YtD7jH?8S zqkY@T6J`EV(08b}oRc+)!L0%w;<8sJ@gBrp5KQC)zp9%v=oZM0?BjoIIXs%#pgFD4 zg4hkt10p72OVFrAcjcm^m@TKu@%kG(7M%zPb3sUiX#M2>j%o%~{PXHBIac-u81gLv zs0`9}b8Jh_zfjZZKgK|Z{G)%Yw>KqBd(LemZU4kIQe-1%g9=(2m6!WM%LqRDZ7Q0h zp0Q=3%Fd8I&U)S@y4ls70&+Y_<>mI@Cirb@~p0HE=Eu z!Gu%F!bS1r3zVM_C(ZZ4iRXb z&%(8}&!|!q;6OQPSo7j{G9!9M0-_^Hw+*5NFwa%Rmo-i1p~zYaJaarYxobN+ zC@HQ4jZEs-u_mH8L}^mL24Qh?WsiQN$=7E`BOLP9m{rq3i%l`(@6Gnn4mHEQ#Y(VG z03_{~_JhYX(-DkD4(KLd4&*wDltpy@wjhSsA8lNrba|!lTw0jZ3CJ1|DOHtxM>D^C zc#N4Dq3FctTRc|)+>8KL)t%5V6OV=pxPaZ_b3iUgV$#c0U|aLv{t0E=rrlv6@K2+% zZJePQMc=BrV5pd^yAA-F&yzyK#vE*4yP^ue0!={$Z{1t0YJ1Zc{SIy>A}2E<2DUMA zQS*QA5Yd9&7BG2pI;e1C^CEb1vJnCia9nZ^_Ww9WlT74fMwd6bL~S|Z_PPl&BRtq8 zfaGYepe_eMcQ^7uV`M7kNR-%hv)|RIthaiW4{#cJhhQqDldQPy%D)g9f}Tn>2Un|f zox~vE0U2ZGyTSMpigSYLdB-z5TR4pc=S~4mpg^$r0%&urL6O^uD4NR^RFcTALO77i zhx$Y4y019mIqKK$D@BGM)y{UmUk6OI1HD+8>sFuNueDWkDI@@nj~uNJtIJ!<0#{zU zeN<|J65^71?JKx6K&aU%jg9q|_`?M2AC8A^cGo1pQmd%qa=0M|$h5HVDXMHYRY`TH z^F<(V#WuMF-+{FemzUSUHB8o0(1+PUvdv$1H4N!2Z$UAu&Ndz~Ezs(;{u-J{+5m%j z{ov}{5tR{AfPTb2SuE1g$Ul`+>6n$K-kHfgRAh3Ig6np!sVeDI^0(`X{8Dv1m_FZ| z&$B_Fi2s6%VvjZyw2*UHog?Ue3s$T;-=U2zB%k@KcSJSO zp4z%VZ-VY-4QWpX-pSJNxX0R?Kn|aY9Bst(RUk%#vTG)s^WAy+rty zr&5ZPDQDXi^;Fi_`(Ob!SOP~ELws6ka6fnr9?~^K!U^$;+YJ|BQ6`1JL>zLr)Pn`r zAr8C=i%s=Dv)d3?%vG)>Xj~!%@)J=X5n1+T4Yo9rz~@OfnIlA?F=Vd}J6yc`O6;-( zuy2CacfdsY=@K0u+F>3-nh&KroD*HXrDgrkok*>YKv~1T@qd`mg1(#LbImdDXeG&9 z8MOoZWb%Ynw%aD?+~hOQi|)Iw0n%@5BR@KqvGKvGo`3S$3ZmOgaQChdY$;sag;_3@U5;31krP=c7`=*V6A+qH^q#!S7T;g|I3y)rrpOn4(PcY+(fVfEae%jeX{-#l3&7mGi2JDMW3jVMT6^BR? zk6kCaEzb^VvFGw+9QLN%)8U*H$9FhmGLyqS0_htjhK*xBwo{QY7~A$EnM7n)MqiYe z%AQ>87ny;CLxgE6LMJLc{tjy(E3vh6MBsWV@f3{)qIf*`B*_%{|W zeJbG*%@lRW!80^X!YZvo_Nj|};&ko`Hb~BFc>c4GLWwd>hv{Oc@YtTGqDKrayOKQ3%L zYxdTn2vWad3qxum`%!6VRp+XQ{A8vpZ5h|qGkMH7XDO$f4dEr|OpfH%A@K81fmFG+HO&wb|9%)GqWLPM`0N zR2@YTO2`_Eok7 zHshcM$2Y-<9Uww|oVXxx+*%k9@Zg_oN^R>F%LGJCSjCQZ}Exw{kVMcWg$mymFa(XQ< z={DcroiJ`9%1Wnjx9%dODU^>z#l|_R+>64oe@8WxW-~NKhRbTGY)rgPlmuqsij7Qm(L9mAsEdWFmFpo<(k;F=Br-&th8)uonA+s z>!FJr+7H@qs($UqFDWh$Y$ir0Ft!TtQb!+!zCsd-9b}Y{x@bD_WW>;<-(juueJC6pY&f6h(L?hu^1K zec3IoWI@yYL^aQJMa0v3t0-WpK+e+`tN~=VzV!Z+TZu0SEzt=hyufACRYqdMC~f0A zoHjpv5;o#!LDuHj%Py?DUHi$t5@}L#;7a1|TZ8`%QrA*qsk(FR{`1ri;TsQUjv1jc zQi?EmUCjFKw|74uH$<2?tc~n(-@Cr%z0P6H^16Atqgh4c+`bbBo(VU+dqtH#CXRPl zqk2qt((apuMo4^yo1mmiM9Wcj2k)Y;xCLRkWo=+*8$`FP`mEPKkLf@1@#dZy(kYC^ zvSZbqP=sl=A)5&T3)qpI_!OP%jJD@3lDxcM!fs^= zX$TU-d{G^%=*&5Zt<_W zDqeU{S?ynUl#2kj{#}mfsIq4Rrj||+gripa32a;^PGQ8iZ9|}PICfnoT$Q&aFY}Nt z>K1*! zJ7byl?Sbd>{80 z^Y#$!CL3Ow1u*zpoi#iRbGAYNNtX+e&KZS@xT13a4*5u1|GWnvQ#Tn7{ z@3wYo0_FU}o%ay*B|FcutD>S`1SnpQZh#7T$p(@>dP9^KiXN4%f5$bG5>!SYK}AN= z);nHmTV&N57D@|0l5iD`@`GSuc{~rrdQ-&iSBhq#2h8*rhCQOm^C?keBPtr#C@z2( zIn^c`Vxi15ycVhJomD6smxwb0dOF9zyaFxw4PbVSuo)c(uG*Ua*aBJAQ8>APJ^#_Z z#_rIln&x@#n{#RV=P2ojyWiLm{UcRU;0txp)suh4Tt-;)C1vMI*4=IcJhOcv3zcw# zKQdhvnt*h?4kiAr&?A?XpSn z6$sLsKZiXmhTaPRXkj;@G`@owPNg|}j%MZh00CUoYIzNyHX-F|0+pfa6G+k?i@Rbs zSJ>E|cDl}Et+d{O%;J?PFt!G=>I>j);wA&nd=_TUqbv*-@?n&-j8>A{#rR~_O7;ozs)dgENHDXA}ljLFLfG zm?QMIg=U}q*+*zjSEMmM71)%a2I)46+>C8}7w|_fFL&K=Z05n&=?ZX37_f*-uHOC? z(>0LH*;$NC14Vn|FSPd3eFY`U*DA!b$gUYlw^h%Vn-cl}uA18{t!C5l*W1kY71ab1 zz+wa+(Nz6DAY@f_=D@l^%Kx&fr@A6dTevX za=JLRXbLCf>xB)HT)lA3=PMMQoR+MT6(9DuN+V73*_5%~5e@0z46TtgOKmneR~R4x zZ6W;+Z=CC2aL7V^U=%cggWuo^J^W>lp5*Dxt}@#ggr?pfHGSv_^a6`Tm+K6Rx#?;og*5<{eI&A6vcMF_Y{SN%CFjLH1SC1wHj_qLWyz z6hKyveNh4C>luuoE7I$S#>EI_c(`Y1jaZokEjJ)zu;_cTNX9&*2(T@=1@GELR2Sn+ z>ShN}RoyGYsWq`(23X zY}zQ<%Z=6VTI0xqDXX~zwUph8%IDdGn;T&#H#(72;nrMsr;6z?Ogp8y=l{kKLj1{L zy9oCHzC%!o{vX%HH{)Z5G`@dlHlo0yYa5Ps=dRvhvG^dXl$$G$3UbO$x4V_Ci`z~( zi-1{l-`vNq97#m8TZG#PCN2h5B1Jq~+fl$B#~NLE31Eewu)d&dAJ6eYZ1$ONQvrNu zA_5uYstlu%wkxkHJ@BsIdl;9hit99BcP+Y}7D7A}(}c6)vL33Kh-&Bg6V7~7m=R>K z$Q$Y9a^=y)tGbU>`RC2YS*=*Raex7zUI>P|{^JgXzp(CEp2}M5coqO2xS=E7!Og18 zk1duFYpV0-BT&nQV!xP?Rfxh_r6!3lg+MeiWc1}(TRdq{Uc|-hX|`T5&4@f_(^@J) z=Dc}zMU*aq3|bGq7C;fOo8s4L7t3-ew0Z=ii*e=|L(A~%9n8G>;W9F3T$luo)8*@s z=d+E#Q@UCwxI;iqLJ5bfDABq!n!?i|0DtOE+>n(gQC43v>iX8rC>D*8A)*RrC!}`Q zw8g=C+d|KYF>97po#pvttydg&n~yk1*oaM^UEmsjSoP+U8OUfc@W=(jXQyZ06C`Zf z=p;YBWo8yc0{LVSaw#V&MXzWdC~E(S?HaX6n+aP4CZG^(&V3x}bi`SNq1oQ)D8t%{LK1{7= zIO9}9V8oNc?!D(A1}EAmfig3!7p0y=1Fw=DHxgA1nlF->qW)ndeTm49fQHO>hRewI zuj$C#u4k^d45-704={`}M7m|1fqOwX{p_sPhu)!N!Phw`HVGW+-#v=@EFwLyVfvGu z*4WWz6V>Wq5Ae_$Iwv<3)?;Epjbh`4 zm*k-??$$-_;4v#|ut*WJJIIh#EN9*!#d(=Z?vAw|N9*zlq4HOmI z%-Av)3iXPux#eHZ2is+Z_qBu6GC^2B^_y#iG4v zarOC$Y%~V_uD!Xh@1Zv2Ci!!J4uMoU$DhwnwZCT;*tD+n3D0>fVme;cik6XJ?EX6E z_`ly}ciI%|z>C-gA64Qk<5;XJSrOAWakH|c?HT|JSn~(@XS<$?ODg?Gf+DQRn1kkM ztqBecqLvyd7Q29!BRf20gS+&EdTG#n=sf^P;818zb^?~#vcE%`pPO@Km_a-%O;?@k zf*!-4Tg`2%+nuc&i*b~T^FG)kPvMK-UR@*LS5R@pG65{G9r^U_?vxLi3(m@x#vkwk z^It^hzF#`ZaqbBVKN&~>>dHt0O>o{n>uC5nuEmmMNy6qYo(&OLe+1shJ;`I=z98RGZ zRu+3}Yn_U#%0JVITMK-iZ7ci9Ez1ny70f763PeXJ=tah4A!76~Q+A4*4RpfpQ&+Us zM1|uS1|mtYG~bcPTpDPv5QghdaqmWa4w31a@NZ}|=oX-|c@JI_qa_5GW9@>LyDYER zpI%d(4EQ-(fi=dx{U3M#h11qk_#zKz_hnumvf2oI9afmntoX5Z|Fty=JlnAufn2Z$);ALo zJPay~#xV5IWBA9)9;-Ax*Kw~2-Z91b^^eSbt{y)C1+j;EM5bwa3Sv)WaG0-U7oB@Sqh( ztMmz;4MlG{QXqmWe}0SAC6-&{VzAz_D=o^=NT;|+XS`hgV*}tJ)%k=XQrVX)GzAn0 zwiCgOViOE-e(&@3dq)&R4U!+_IrrQnpZMA2_6g^hMHIJcbkEAwXW-Dxv9?qA&;i_A z$|^|l>i)YxY}j|*+tUoQspve*aBC!|f7Q>m;Qo$*<)o{lc^O39J!!X;!TDk;vsZ@e9z zy(pl5%UTQ5_Y=-MHsoa%3(a!+_?k$$@Q`DJ^ywts@UObytCChOf(+ZbJGnbsO>s^{ z|DnL$?0Q(e0b-8|k9zo4Qg(HhDw4T0PbG zxdUDJA;K0v5sd`oT*u^iW>qonTw*$crl3C6jWHq=BQJxJs>qVt4z)v8SKnKBl2`rk zLLD)URc(Rk$UZEJR%u`sYNuxvB9=gKWIp9^L(qL@4GGyenKQEwIv)CX0G?1j=wK8# zFowpL2G23N50T&t0l;f7lbtBP*v}3Eyku12Z%oV(fS{<;D{7NR5%$C@oVlwQz$v!4w|zr^D;KIoGs2juHRdeh}%or7=w< zwds?&b~>sfk3+f@K5&-vIb56?rkB9_o2Y31#5UerysK+W6vXy0xXaKsmdQX@HUI~r zVM{!n8La^FsY$L=dE9?qy?rQljfm=ab!Cz5%J$l=K?YoANsF2>HilJh;fx8n`Fdb6BxnJ3Fp3JbsnFch(_1iWLP#Jaf2 z@V!>`zkCOl<}>m`K(Ct0+D-=+-EV8*&tt|dGo73W%9-Rq+=A(*ieu@VVY zcS>fF)MgmM@N;F}=(E6QGS#UmyKEX+7p~8h*)6oA=MUuD0O9koj5@$ck2vRvIY$m| z;q<7zGx95fmA|ze1Y%@2Y2NNw-iK9LGVDVXRE7v3SUWT16)$kpPi!+kCePSq_gD-p3I*qL zYpaWRjU8}y)zTMKtl>9+E1}oN7x9mPkuv+$R|B4cb@`akIO!2Mzhayi)H0&Uq8;q+ z1yZ5@Mb|S?ri&eFF!6c^R$$)(P$}*T^JN`B;>sgqCoA;WiH9ir#*h(cyJP|pn~Uhk zu9)efYOW<*$rL@#bNVScV)`NluV)Uzh%@H*w73I>Df22sq++X_q!;umg9`G@D=3 z&k%%+C7&l@{6o>t{!$_SLT!NjFnQnoC$u_`(=$+z33?cwsIuP9s7!ArFBuCGUFuXm zM(Oab3x#FXBChD~TZvjf<`Z{RfM8SKx^Kdah7Vr;3NV(v;id8Al5M9n)m&MjlHVpy#rk(C{;{Q9U_>WrXZImG|R70{t z;#p+nJ9(d~y>}n&rb18d{31SbKL6JZ%yp(?Uz&nP33AjcN|ojF1QF02l{yPD`pu?> zd{(gS$OJpr>~T~^BBGieHbj&)9Cb6Cg()3&t#4KVhrkJbA{z%Olf4mf;XuNB-6|w(HLc7M4rBlp zv%V--iG8NpapQ$tK5tp2+THdG+4mjFfI}46kgO{$9gElo?H(YZ$@pz_0(iJTzs(`r z&LM4L9-MrHqkzBy_GZ~L@q3VDvSbqbO~*;UvCS9ec^iDuQW(2^x8ruS?E_Q~Lw<#x zO!nAF6Ca}DN82SQs8$F5FRt`EqB_5};)o}tfQ2Az1!afIBKJgcxJy@}4LRvi%S852 z9}2U`vVCscL5dT4ht%fxM#e@oNa3LYXQ3uSPYClcYB=RkUz-P;MSQ93SOpC5lzSPe z03k>HL^DrzyX~0NX2{iHme~x`<05)S{Bb)FPkUP-*L786KsIGwH2(R^{9OaFpY@z2 zB=pGc*b`M*^_gViR7W&9T1Qof_PUB4&;^yF*<)DMFMwtH=hCBf$OGA(jzKJ6$XLyr zGyTLikpHE4&hBt7pB)JcwR9$R3`1M?QZHL~HrbT0X&!e42MUtDW=wyMuld!68xhTc zlCvW*`m99&s?0{PD%5;@`fx*3*PIgYtSNCgQMW^QK4FK;7MxhauYBhWY1Fn1RoyZ7 zLH|3ELFJiU<8?8nywn9SwYF65$Q?y-p<;C?R?mpt{pv!EQ07+;DH72Dg`&EWsBDSs z&y`KM%k|``K_C4|`_T@OeRp@^Wu$H$%Vvr54rYGu#aEGMcK5?sc%tckugV`7cZbp* z7%AE>d+WjJh_`daqoWTt)B36_j~9d=t5rgZY^T8xX7f*6qr)wCvQE#J`o~g@0lp-) zOrdoNua24-Of(Td@rTg!Q zq0t3)dm-xKs-iv=KPV)3F!QtTURXF*YGNxoTwnVOrdLU$)7%CLe;4byZJG-RsAUyj z4{rQvckJSFMMsa@oiP94Ph4~UU(b(P#D#n|Tdo#WzKfMj+KGz@RZTB+KiF}ziK(F7 z!UtH?gBhQiQz8R?7pemh7(`_e2+49AbsGv$6ZUT*RKNy6=bb0#4XEd9_YfIym`dd<1YoKbUnM%n*eu z)i;uxyOmX2S$S~o8C1Klt`KfYO(xku&E>1O@P0W2!BXAX=u>;(j%L0uQuYPRJE#{E zL@T^vvYiQk9t8tm@^Rmc$}f~xlt(Z`rR+YjeCvgi`XpTl?qIHUoq}`Sg&G{FR_k!Qw>4;$5H^4;A~Z_)?zrigNH2jzSPYLkCjyXgnZAZ)LJ}DnO(gZN}$pc<) zBh#`lC8>w49gK*EuX`c00#%DhpZ@hzK&*WAm)0>}GK)#fE1KE8IY-hyx*|Xa7eG@Z zU|05A%OA(HsKomP^jV>PKw1_;rXnEu>8Ln^8L7M8sT+B)qEe8)F}5GRgs~fCh+@Af za@XD4T9}gQrnZYA6?%|o-fY%SU?3-;;$|fPI@OJn3T&7C%EW>F#5iE~1;V7OcWj!} zkP!~#h!>M4Lnly6?3<*pI-ozGyqJWps)6!hh`T}xT zb}ogLa4$w=MH!(*sNEnieqQ2DVfB%V z>pd+fCp@WDHx8V~xAcd{(?=q2p2*o-iKa7HZ~K@Y%Z&tZ0=BHo1o?Arc6*Ba4EV<& zNcZ5vg_g@ET{!(?(Hqq<=@r?7d1?2H1!pa2eLL5Eck9ben_X)jpH->utL1Rl`4M(I zTTE4Q{-cOGzI@HuX;_6n?>(nW1~)5EQ7bnlzJ#+vp>p9muv*>d9)EeG=2v$CQ&ZK# zbtC03pZ2au{|;?-D~$>~_RV5Gc*8BGfpkVpJXd?2an)1x4LA1^X&^7aHMe*dujJEr zM6*?aG|ASb%h?Li*C$dlWatiRo`YrV@qGK7LR2`#+Z0;>QD{ZhZBh%q-ra0bnkVzq z)n{ax0r3D=20Nbv7Q|xnfaGuI-_ji@&g$75rSwahKl|uhsMAWI8?fj$z}8m>h0LJe zSA9k@+?`$lPHWoIJ(F_~l^)ERC}t(ufPBwNfz0gdHrOjzcQK0N6L(JlF=4XXTjZAB zF^#IT-&2%$JUb?LPk)Bs3G`pvl>fTRk4PQq%p8h$ zY~Nff+e>jeszJB>Kl^T~MF;_HQJykgMFc=VFhJ~j<9D1=$2AV<>QAyBo8S)rP* zTiuM($j3n^nu(+Cp25A%Sw0I8Z?4{0yWL+q@~0g9#j9i=e`ARh<8V-yH+w-h9}@p- z>V}J+^In`{*M}yZB?u^ylx*!cxcf9!r%VFhdf0b%l(1UTy)(vNk8la^bdyhT*&_92 zp~t2;6#E&gI}i|Dh|qUDLuIZyUoyZJn13`NXlgx)XjZw?;dZ;QCVXkgXUo|~y;diQ zI|FLctK8xKwc_UcKIy*598rxKco9dxfW&fDTZxDmoi&qNnNpX$MdlhWOV+_Iws@#@ zO9l|9w$DHD%%^0@+{;7pv!M%;&N?#!mQ^}TokM=q0vRkXxl;0Y*kIl$4Of9GNHF-n z%!E`=7a%FDhfl3}?RmlIndUSUBb6$lqw4L26T3?=6sn^}%?>mxBVOfeF?!M?It_}I zXC)i)X}}yWOeXFMLJ!Ox`6^*5Bw9-VZSHp5n{)L6o-^=nNIVO=l4@m31H zcn1|nOqRNXL(XOA9k|q@ZZ6Y_$MWVK4f>-BR?~j6fELs9mBY$fJFx7w_N{*nFz$fn z@wWWU1S@an8*`-~*bcugHaYpo*i%6F>=h3+C!~-D%)bUcPNe;HWgh{h`G`p2KolkI zMQ0~ja-J(o-Xr&y{bXw)@^{f2g(_F5)#PsQu$f?74EpW=)G{LAZ4WZ}8EO3lc-P?7 znUwg7Z?Yw*lUO7{(i5T8FfA=)M=-t-fg?yhAGEEnWeO(+jYZYI7MMQ`%^LRer=DXj;WN=ZquR%e!2U}+*fK2IY)n|GcTxml{L)oPWpZhCC zHvnJw8W!REF6RRMC9aOux8wOsNzsFu_nXryWAnAH9FK?wDJ|e2AmDV3l)e4ra?URA z^LEhSk z8ePnHf@49cU*9tG9@ESPq;mjERp>cUlCX%?IbVnjaK<lRjLgO_R>gEG?^c=jeGb;cQVfud|`v6GzyFL{kV95 z{UhNkn-kX9<5g!~qNyXo3<0oKRN*j=`6*_@kx%XUFk$8iyohorBKlSVb?_!6%;eU@DkX)U*s7{5P2#w@NM4PtX_Ezvm0$>3tbNftpxLy* zyX3MK4SRcaXm*HXdcGIoQcxxT_trSv%N2FKy7PGvd}C&yB7G(MMgZM$NV2FJdbDwL=MN%TokA5saTTI^BwV>$&38$8C-og zT|-|;at$t@>|?X{LD&BYXJ#exH(NLH<%t+jC~r6elsu)WO4tfK7hHivx@Mm@mME@? zm0cE=0A3kjs5ND4i|J0nk{9iN@V{CsBx}vBR48i} zxkpoHGYs{T;p&NzTG@P^*mNFas~YjG5j#MJ@Xx^e;y12$?6yVydpL0a)APur(PeI* z)t@U%)TQ%~+;$FNyTD-o$SSxOE1Mm~N2?TA@H^D7`rAfVKy;%290yEkFt(5VC%{?l zI_L6&j-YU-3QA!Ut@R>&*q9 z04Bp&UxemFIln9^oi`Zv!duE*>TbBVs`}I6>Iv-bd`C22Apjs(BwqfG2qT>;-(a<3 z-6++}IaL3`5x}QFp&JBsA-Dq~S9s4moZ0chyyV*vd3p7()SQmlx1lsnb|Y1Cw0OCZDcQ{uI%P)%^o!D7UcVxXh^#M8~(n z(3ElEPaNZ7^)t#?FClv*3L^_ZLHZ}Eag>~W z3ETWiRnY_06{Tg!=d!8_Ot=4xedsC4oyq8-fBm$>gY5sq7n*3_&+|<*$gkcQ~`!hJR@t1A;KC{Xjey z35qrLNIh9i@Ze@IegIh+7Fu=SArCI#L|EX-rWM?Fsw*S>gfs5i?3+xsN>vDAlVNISrjs}T6iF@8JIoJ(U4o1poM1@c)g8`-iJLuiNTqe z=p82MCn$L@RtI7}iEYWw%(z=i1!!A&c&+*J=TKv00VpZTCL@2y1jLvDmc%s%ykT8b|))`O=(pq9{Z=eBoF;utd`- zNeXQl46v8HtJA^Dva_pv&Zga1^WjS1v^!zj65#qNz=T!?>ZTG=(m zXj#>{?L-|rB86V~N#c=(-Kq%R5zT(r*_f#kayZbfxeFrqYeyErUhM4tRPqSzrKR9905N4~UVsZIae0&DsaOzZ@jiK~0 zhIFW>OTqFJ$T-=>EAP08q*D#>nJjhM40wHUL|i>0iqcqt0U?Oo6R^7MmhEg`mOtzl5?Y zps_ni_21~mmsj#=ER|6}2er65hDIBH}Q0Gs{*X_o|Obfl!CqRqD_Ks&x zmy0KC9J*C>&1sLygoguoY!8oZ#Qt^PMzJ!&cb74_0U`XTmZ8RkE#PdvVPf9?hVuRc zWChs>MhDO?H6M4>TPsu-A6qg27?~tog_mM#z(uv`(8TH= z5qU`XA8W!a4t0?78(UWKgmMwQ^RvnJU}m4>=hG3~s)O<8tJD(-$RS~s?!|n_t4#Nk z?Vx2X6!2ojE&A!u|8UjYkaV32)!K>4dio7+l(=^ zOJLV_u4_KFY9u;srIBc{g&5YFz5Z43{F-R5HMk6kYXC(+} z)$c23IyXMSPe9{CgOO>a^Rd~GhUYPkF+Pl1?{SReNzCGa2nS!l>-R+=ISq|_tSN|Vf@2`~!mFS*Kt0#3_3p&W`XAq^(=ldyRIl3PKot)**}2%_EP^s9_BAyHXncj{pWOa67O z5K){Fk-}rv=j3g8QiGr5Br)NiMfZeTo12W?sH&m2dxmh&#ZD%zUz#HxNt&6-b9mbE z-@$uUQHgdvFL9+0{o0gbVC!yp06SF)GQz`WqtEzOhWBuWvp{t|CjLALnY6XyaQm&t zJOdX?yYPglhE+w_T>bv=lCwkB7J9{A@JShfXU^1L16_o2OUi>roql4QYsz*f@pHGk z3GLjde5@(UW|8AMR#L%MwjN0lPMqy_D9)-eh!ywBcT9sDTD`ggp8WIx1sx%Ia*UX^ z>G|#bmrgM}MAI#Ad(z^Dr-Fv$*7=qkuHwH`p5Qb6d3i7rc zy@yJVYvcEE9t64SP9v}bb#IiE_n6qvtV6tCKO0Eg~*l9n})RvnL8q&xjQDbL1yJzgGxDl%p<}EXl zzInFpQO%IN-iE}l(+{4)Q8&e6B$8FU{XW&_W*^}!9u?7aT*W%msQic|@hhOGvTUBL z>-G*Qz0tfEyHh4a3bA&BlvAJq_7B1*UUQk|dZm+O02B7JuPVd7 zKY;>P^JX|)K?p13i#jrGdE1&@`=l-<@ARY|)(k+tc=LBe;~n<9^3E^eDp(b1n+qZ- zedwg$S}#;ZHr=@BrIXUo9LXgkAP0`;FEJDkYa+WKVP+@Q$RQ4l9g41qQcPj(nP3Yd ztT?UrIlOi_X;Y`3n_pwRaQ1Bsyw?hLfd#&Z2xVf4UD@=kg5jZK_ zCzG|tV4}z)mtd^L>3zO2U%bG2*#&&8KC`0L3XycL0LopQ@SUjz8H6+3=!IJe3(Jbn zAgXYG&UtMjQEDdug;K_bLwuzFMmR(CT<&@Y;uaFHZfTp zGT+jt6{|;d%}hWZNBC5~Vei44WcCD-Urmfy*&b_V>_xZqUu>%ng(M3mr`W!9-t4liY1SJYI$g~D`dVS28!y5LV(v>iOGenE>K%Nzzc?-FSoC^T9_ zg9M{voc(t5RUKTxE)6S#LF8I4O^%3OSiV1}bSXNtXir^n(Tq5b_Pf+_=N;l*=r$)` zQd0;6Cb$Q*ih3U_BU-Br*>5s%{;Sl$ci&0vU;bLPw{OLjN@#GQD`y>5qVLih(Nz(eO;}My8Sc5G zXOkHZ3Kle`4}c5ol+q^)d_qyj(17gE_M!UMU|!xfio%tHG=HhKM(VGZm>Bu1qik^- zOWn{{O06YC4#-pW9ru9x3@16BweBQ!{N+&F#u{jxQun~#0P}zLdn=n))n{sMIH&KM z?!d~fJU4kL99HK$E#}cra6=8nr4DhfKem-qdfBfwv=C2SmLOQT?OZCb3|WBNtH)Mq zdVhc-3!=3Cj^~<>%kwvryCSAmmTOVhSS59GiG7h63fR==P4P23>sdEdg$1Skn^Jz+ zkF;&lf8y#RF0wcSdC{5W3g&(iOJN#Jp}*gzg$x!>QxY+&~5|z(>EJ{lqo~UCr5+@Fw)g zajwf=wEDq5wJFZo2mgZqM#1@5V`e~MT?I8QEH5IjUq-mcG{&gyx(1zcQ;uV<+LfVe zM>}6agzo31_N1KZthUB~J_JkpH2qM=Z`C3Gorzo|FU0KjlA0Qu=gGHmll^35W!7^P`mDwU3Z))>HatuvDD6Xj$&&-nY6i{y4Her zXdG=|&#T03EFG2~`754ler$Kied_LxgS{WqTWc(;7jaSE4L$(ck(UafSSlzhz$_^V zi2WVU&=zXYD>K!F47GhvSp=_yIi;92Wp~_L$23z^^{@y84X3X)Nkp%SF1>zbNe^be zEG8#bkE!DUtBP7=tZ6?PTlVKCOD-xa>#l+)fE3%Ft;Ok*ZRJ9EzhfC3`F0OK*vD8a zD+U;tvms)xX|Oqy^>Ma!2vneAQ=KXxtAMz)js*y2U+_5%h?-05V3JnCZ1;X59Nl+w zZY4wMg~wwOaBZ~7jAmqciOEu-i*$<*Y6K%auu}>^Y}lL#_F7`=fo!!HSoYo!Bd~cq{p(RzVD;y5NAo_*;!J6`SIMM$sMN`yaAJ(Lw|DnSKtZUryFGN*8{1uVRLS! zoe#?^A{-krHM2jbN|6vdtcsqjB~Rg(>y^kZzPK4tTF6uc!yCy|dEmg+&iI|cI}Q>< z^S3#t68gTXhB1Jsy4J&j>AJM5%`O)u+TY37$Z4y)9X2q(gXUsL3vTg_XozjMc&{qM zHodxG-dv5c+Cfcejr%yyhm7T2mPCYeC{WH9aea@!7{{Cz{$#{c{8LNR<9EF&l_LMkBj;> z4djxQ)9Y%`YB>ql(|UYSaeRf<=L>WxbjQ1Hdi$=LwC3HISXGsc4b7Fcbr#~FS2dEy zg%)k?MOm{0*A6jW*rO`XoHBaa?t%pI2PKvtCv@Pahhzf%a5!>xVEP(Yw(ef4vzP;F zw;3hBqqyc_YB!QfSkcJoGfG;okoxIZ?3d)beo=ugpm%j0gu>Z%tksm07X)jr(OA#d z>pVbY?(703xr)?;kvF6i=|RsKt8Vq=Mn4>PC3}UVwP`-Rwu7L$ zZ+m<|TJHGLJ?o~KSD~Ef^3I)ft z>6^!Qw3=W~^j(?4d@J%9+Q~jQ8f(4%ojwnCe!8}FkGS26qN`C8r#P*}DGwQAuZ_`l z@v^M$+PY6i;%mL}=luPY9&?)J6aq_5xjbC0-vH;y_EJ0E)5A4dYb?36a%5%#183^t zz~R@GNJZEF(#bScN!=8`?>&w%2;V^sM0`uG3<_05C*8?Sbwy47&uRg0JOq_i@q^rF z-6w+PO-4@Ww5XPN2Ch-Vf2FC%!l|WEan}v(!AwtVCEYD}vy-ATP{Mp=KreIQjvc5- z$1r-S;%>>tPT!Q2ypg{t6U-WS7lx5Rfw_z znt4Yv+iquD@<;6yb|JYYw?3BjE#;xz@b*;3NDlJ_%&^a{DAjsf2j@+9m=D;}nTXT? zO|q**J$qgO&H~fPmgrH4dpnlBr^+cbSMlAn?$MD`Oe!DNwvO{Oejdxs9n+L3u%e%c zM#6+=3Abq%IZ6U!J9=7@KF*zAvRL4m?1 zf+)%Foz;BP;8PSYoT7h~I;*kAnID~x3N|qacx;cyYK?Kqon;Addy}h%ZZqO3eZaxR>TU76e zHP^-$yge~R2HfpIHb`LsOriU1EWa7vf2FI)I(LR-xtwcK$GySrhE*Rrxdvqv94s;q zs}#b2X46*b)EFYcVGjYY@5f$c#8c)*)>uL z*p2kl=AXp)T~TrD-Te$Ki~0$d5%1p zV=a@f?TFJH09X(PBSjK_XVYr8MG*#{larqww?_OuQ%ZdsV=(~=FZO9moAwr z05L1g{ZDSHRS~wHNRWrhArV>*`;M;KCy0nxqEhbNZG-Zo3o(Kktgr_Cvf*K=c{ae8 z*jgA?2ZxHI_@uCiU%B6kSq9V{>$ugypi6U{a*w_vnt+Dl$=nT!mUSR5KUQ3?-6RmB zL$CwU)r%HfqA)bog9#Ql9|H4pt32rxe&U(0%_rkX5Oj5iW)f;0lZw`WY_nI;B`05G zjK&&dyHB*ONfAzkhi-EgFJY659Yr8M3_f}^`4HmV^b`o(A(#Sz@6 zC#!pIJE8ht?tCa-fgrBJp&BLcpeEeG8JTpHD#rjI-bWHkZ814}Tgc16d|6hAp&kJ9 zx|i$)o}@|=|A8_*w3~ZJHaB=sGn-4ms(CaFbXDDSrcqNFS+L;JL1%{&iOxkQrL8Zd zfX@AJSsu~M`?!+V!7%9l(y|G(P~Cr_#d%}_Vx!p26m^ZCikF2WuOpl$vmh|MNBH$J zAJNQf&qz4?aVHGB^e5HW zxY+YZ40oP8F9oS~WTN73e&Eu>vSKNGTWa(UgI2YV$0$*B=&bIPcIO??Tyns~Oqup_ zO~gZD@cIl912>pzqX0WlF|O2a1L0+19DSs|N-;dTKE5>qnM+m(n57pvn_PaaT;n)W9<{gRotqpLK<3+ zi8aKrR!k?uZNbpj%VjKn1@t_e>#3M(ANnP`IVqUgw7a@@j%ZYU?2Cid`nKArZiBID z=6MyKH(i%Mmfh)6l>0lt*>JYI6z{t#E2VePD%WpTJu|tWl_K=wjLf)BROkRvK(4{QFiSfl|1gqpRR_SmE6(ehmzKa zW`aOlq%)upS3?t|G3}NVY!LL{4HFab`Ra;BwS`IcLao>^6wQIX? zYE}uVtjQO@>t%75PSE-osw9`Ret0}QnN1>)ezP5ln`}t2|B|w2OrtPyQl>Q;yK`(n z@NpACaTDX6({`e!qiDj!WutuMW+KyWmdF>G*1=D9QgMse7Fk`$E7n9DwabHm7;ISbg@~G zT#&gFj>4`_KX&*~=(I`Oqd8Z)^n4y%99Z^zf9R11_7Eb6z}g6p%sEwTqZHSbUp?KI zQ!rnDu0A3k5#}9MVoJUG6WqvAPRyj;)QgN{o{v?L;>=|4DyiEPFlX6v(nDBV6GZJN z`5bS3e7Hz;xia1%%?`a^gLElSKF&FF)F2471fd~`3Nb4-Y_cxlU3i@$HX>{ToTu_M zKUiKC!NR`7ieuUXGt>U!Lmi!Ny0gGwyxOgTvd;kcblqG|H>_L*dv^r;im0$>%k?{b zGJ>1&P=EvHmezrOCH zqigFXUFoC$t1@NQjxx`cya5sBP(bc&RUsb8EH;x&M&D7zQGLSCq?A*o{D?VlO@g6B z`&~;QSK__I&baufXL^`Mm)?0gOia`N&jFv2fG$L*Za&$7M!sPBUG-nL32ab+^*nZJ z6r8$eqrJ?BI5*dep8Z4DYKAgym40KzX+-Q@t>)cNcgkgP^c_BXZKhB5(BWAHl>tW6 z>FmoM&f805-8YG~?gj-vavvkO(O`CGW!f(b-#m2Ja96$nLa-{p?fy2hBS*s9x|^*_ z$QZJS%u2(aLIy2A5w#J~3 z$(Vpt%ccl!S^QW(>^r1kzSEtT+4-`O))dcDz+d*yJ#B&=0sd^+u3iFKhLG6SSOHL; zv*#Mhai8a2IJaV4v`W>V*hZSX?!?_T8?Zn2)rZo@XYLl6dxR22f$7hEwnTh}^KEBT zS@{ibv)@)FT$TjeNCr;Iv>F1e`KsU;fau?pTK8oCn5Zx zf+!}xqZ(w$4lfh+_{GnUr;kh?fn?+(WJO?)r>Om0;a@7E=Lp5*Sc^VC-X9vWcN~3i z4f+*xQk1tj7f?OWh|gr~awF9o;5X!1v|i(aqrQ?A^CP zGbX>+CRc9%@g*Ib9gn)oaQo*DoD z^2Q}$4eY5Kdyw%32fXbA&vJr}lH~;|9eFc6eFrwG?hZ+lUh_D*6F&9(|{>Pu^PM3P3nyxP5cuhv{HG@>V`_X+n?d`1OA(O+?%#oc#_WJ!7=PQJ z96fCt!i8nOneC9L<3Fb10j2aYE9_3vjM%0NI?$dnCOpb8j_J zPru(kR4!*&dvXuT&i6RC6^3$^L6=T zwN)_LmvofZecJAlg@d*(;o@@6&u;A<#~>hf7@CmfV++b>bL^@TxX}zfq#<>nL9aqQ zF4u7M%*^6Z9(Mp1Gry!` zI~U>CY1rj+A6-3O7pF9oFY(k7-++vF=WHg1o?C?rO40s0nOSCXneK72qir^ZgbO*V zj@pGtx@zJuE=fxg+eVbn_8Ra5kla`jsZiuF3U5sRK{9;jncmkA|G5#&z+H6ba58m@o1H3Bv}m-nv3Nst5YeC7wM52_<=W2P#dEeV zb19vUozl69c~P{uS(@lV{6si1g0ncG7jJ(7oPUOYdegI~6Dw*|oue?`t8c9~T?vLB zc~&a`?w|bjj%HvmdYW@_O;GoMWz9uga8(KMfU~f6KE*u~7^~Wr!(!Ua*`fI}9bZ@M zJF408r2sFuJStm}w{N%e1nPio6$3%qPFa8zeDnmc*>hImV3Z>WM^YF~2iqkd|Vo48z;KU|a zcg18mOvl#Kfaa4o0MQ?)|DEu5Z+g^Hm_7X=&JXXP1_QAFkFPUL(-cRV?S?9N&0G>O{7Jfy(?EH4gt8U@DTaJrG-y&V&Hs zefXz~+75SZnbb$IlV|f@#HlpUND2YW^b}t#t z%%&DMRd#qh&nr8S{lj0b2h&p`%*;r}3%*?vm*;TN3b85MUpff@yiTr#N320LQyi(uTY0*LOS1ajuo>Ue$m-GlnBV2J_M*uSz5#$auj* zI&~|34g^|0Y1i?1dsPrY_Jk%rNQ+dBO@+zU>D$3Sir=mM08^FAXf~g22M0sf^xn|h z*&JZ=3MzNR*HuW^tW;Z~KBSv%{vgyflV6Mypjma@QdNclyHMVFMx3n(6*BxIAEK-_ zI-$}tw9OggP7UjC829dNHo45mXBZhO`xMLABd!*67E&+Jl~axC6-XT$Cis_;HCbMr zP=m<%bNZro5WtU{6LRr#C}x?Q1XrtzZWItF=P_#@(aNa_V0s4^dRDG?R^C@!9#xIQ zkK1X!Sk)CLG6YY>_z!N@61SIktwx9^a-RPvK8UDGTV5hywzt#Du?gt`XaXqL_oc9s z*&n(3EyN?g`~Y?N2n-9M-QD5=S;g(kMRkPLvr;SnTAKr|`e|(v^u%M400&HLD@lr# z%?%4$DKE*CCkI|ArA=kP6ZE4!wRbcF-~j=XC!XD<6iN(Za^tn-BER)nxhD`4#n+}4 zUrt|abMI%z%v4}1!6azkQFX1B3mRq=C#yKll-*#fOCMxN-`BLNXd~F zANNtm%KBseM?859A;iH~y8u^=V2<#kxuoLJT+A9el-#b$yHp94c0sM!P!QJD5096p0-D z&e-Kg;`?n(*P#iF>~p4EX(!Zm%Tm^#dva=p-SJHCi=ifMEsOg|zDw(UA_ zKqhFrI1kf#L#ElAn3Na8FZSG5Fp(V)qI+7!dq}#~^+(XwI$nM!KOy!aMMO+oI~Q4< zOZKg^d>73sIN=z1Os~7zRnz{&L=O_DD(#jd9!$+Uh|wmAcu6Ojz1fZ!-JI@>(2jV1 zJ|9N(bTQ7hN2M*gI=-p~lPW|@i`4st9lAs6b-_U*r^bIKXRXrUD3AP?#sBamE;`ZB z`sNyQ5z4Dd%l!F(YiHShA($0N7u~%eTe5#~)13fAahVZku5#0^ZKVM2)^h;`nRK(C zu(K>Me#N=;OcqS0C?1DJnfpqs=5YI6Te{e%D5CgWxTwC+&6<-rOFb}YSg5rv%Jy|G zN1k84CBgD_itgaXD^ud;FER15TfK5(qk%IUPp#IM*$s#hn0moPB8qy7*-@NwsM-G& zPp8RV;#$fx)5QkyR&KqB)%Xl^Tg(ovB)Kn*cb4hR6uF`vuw6MbZx|^b-o-trfe$zi z&NV;l=?)WmR7z zD51-m4q?R?$G&PxiAAHl75+HzTD}hC#HRp{3oGg;nsK^Sf$zm(#n^jMBG;!s5c8dF zr{Sxhf+BrpekBnj({`?{hKxHB&`-meG1*-Dop)fJ#BhmpDH$^(ll-Y)TAYCS*DWyn zcr?hq+=Bv48=^jrG^x5R9!~w4MBpkPb=)0R|K7yBgjTui)*&op-|r^~XR9#=%_X_g zyxp=^Z^qt{rp1(855deafs_AZ$lC`VPe%JhqDI=>2Sk7QIU<9Ddk>6yOZrU z8+++cx$dyX14Oe&LjjH~*CT!sM4NZWAjqF*R02Ap<;VG8Ze8qYT+C#0_WqSQf4Dwb zjS6EFk*B65H=5XtfOnkXvP++~iky0DcVWW2t1?*c;49eG8zuG^7aS_;(?0n839f&5 z=bgCG!kmAnT#1UO&U;o;FDqRkTugfs4!cj}SkrLyW-dQ5Kc5TEcRE@UeBxBN0H{d&~0vKT=I+baY!=9@aOWxfwpZb z&k3B1m*p57{v7TT=xIOPSNyfXR>gg~!vU!@x%$YRqO_ZFsE0TZ-<+mzOBbf0S1aV>v{LjRg9A!h6-SbC@o#oAVN!D#A#xS{`%#Up=|vVtA^5rL!2MyA{WNcd zk!3I$LU1|7WEqslZA7m$Zt5_{E;q=J)>5JLYZsDbJGk5QwxPmk_ZO-d^D54G+8Z>n z{nE!ayRk~8TNk1wc=Xv!fXHpZJSE0YG~f9hVITC9pI1etdgR z`JG%nSk*VWg=sdIobT|}ikJ2=-1l9JC5T1YYBgszwKSym**5;tc3lJq^&PCfT&>2~ zH@6*bC%jcId8yC~?aR;MzJoe@RFM*;brVxWCAA;84VP%8Y(zb$S~8)3z{|@1kZGJ+#zUySi&$asv>dl zPxsAX#(kQyK|9_ErF}lD7Eapx`4-O-G|avf9h^%W>Wfp=ewNSq8QaB$=#g3P_%py( z0DATO1kkMbcTk}p?m*rS$09nLcvq>IkbtE1eP%6fm~1M%lG<Hw|Axj&|}+O4@Ngu z>vGOU*ySZ?X!29S*I(pn0Hf`D?hz?%XZ#$^e+eO__Ql%_vQ^TFS;3J_cdC6C^c=p| zWaGKHKp9)>WgZp;besjsJF=snY!NFnFjU|43py2pgOxNBT%4_?PPMdehXC;}K;UAL z!8w=L@yE#fj;o(@u`BO8%v`NvL{`;rti%T7L3{-aLENe#vmJDoy>`wIq?T;uDia9b z>b_$-dtn*L-K`w5C3=FT-Co{2wh|eiOMmk7R%Zr<4+hzEip1}`26Iozb+8!uWZ@{7 ze#YTe(wi=Xi2%j^a(r)2xAOhefY2E5`P(b#kZSA93rt{ew;uIu<*VDi<2iajO5ysZ zXHKDXsMhf*f$zvy7lT1-zdXPr*oZhKC!#ZImU*m*P;WEc;a5oQUH6cbwP8rlYdT38 z%szW&fq8KO7G>DYxCMGOb}oa!yfEcY*fZf%%>IsOoa(#e#uVqU(u`xfo7)vbSaz$< z09C*nnNIl$iJEui9d?C+>T&ra|t*%Mv1*h?tOPN;o5$lNf_ve$w)80oF0 zX7!&lS;oa)nd6NwcKv{sx9rj`pmDaz-)sl18Kez4b9KUmq)Lo`n1JoiC4oxr>7NFS zcup}YILa&5uX;_fq;ag3xsya1U1VJ%iMBlb?-ni&PR4JUo2|(1Z!KVwhp4(G{g@?J z?o`?U7ccqqe+M|)NiiuUf_t5I`NN-!t2t1BG4LEZsXxp!h|SyPSg*jw$NRTa$^u`* zCB;*Efh!UvH?_-Rp!|({nSIBJj>mYxQgJ`BpTTy-d1*cxDL_#j0pH$vfQI~qsJ`Rs zFEX{{eTzZHIWPhLJS|%TR8u3}m-a+Wyh~b8mlL`GJdE1lphJzHdTWZK_DclzBrfQF z--bg;)^^3}C|y!M@q0R$s)8l3kNZLl;W_(U#OIfskzzT)%4Ex6po-&FImf`@O{{((Dh zf<{<)ZtZVu1zh%iGE3(1{e%)I=y8-<-o|!oC{dwtZ!LcTuGUjESa%!sRryLhsMHJA z$Nj91AOWNAbIf0!#{*$B(kkZDdn&kni0~Nmww+|zMa63}P1Rt-RxE?2(DK?IQJOf&sXyUi=L-Z9zjpP2fm4_6XX(3X>) z&LIUV?`js$?O}p#8Fe>>>muwx^*IMwf!=eoH+)FQ|M*hMRWPIKhcYQ}kKIhVtWtHx zWh=IzCR+~-Im+CSrHMO>V@=zW;apB&iv}=w$J4*Ntm$?|Ph{b$VkC666W$w4mh?fI z2i1YoF~yhRQET7C!7!b`KO}!PU)8mANss-pwz)&=-(bGSB-ero0vA}h>8*dQK>#h6 zfUVUG=MV73i@r7)yDn6MmSfmpedUFUWn8b1#GRy6ofB@&#&#!+CGZnr0a0?Ww#BPk z(i?t@6hYWrEE$->M?pzE<7kt!If%9bO0eYY+AP3dlH0fQHTwT<|Nl1nH3{~POor*> z;=J<;Bk%p{hc5{qeUVuMT$mlLl_8mDFGCmrhGdg!=m1X8yf7rNR8r~J+ByBg0o)Pw z0xb&^nBH*AAV(Q)s4})T0i(9yO#EBW_gJ{vcm!_MW!I$S(ejl^pNbW8Vi@^FI8l6~ zOA=qQWe>jl`KctH@F{9zur^z+-bki_;+mmRl=o2A>WB= zN$prLrU?3A?Q5C3zy+XAm@vzB%rQxyF6k}19S+iIzY@cQeIBDD%td6ESsRDO7(^Uzu!o{pZlMWBQiGw=hw3630mxb@B1`2>;Eg>RNmOBhfJKT{Ap{(Oo@*!l$IhI;PZZ>HX- zE7T8pt%=@h$u`$m*h zt`fgXIK?+IrRb9a#!ZZ2x?$X=$naOy04)Nr$3g-BJFvx_Z8^tUdirxZhp5(eeAyu? zqJG7RN=b?Ah~k_2(SGhSIDz9Cvg?LkusV15&dlvnCYdj_322Mw^heC#KEP9VQ2jN+ zrp&=L+Y{vHv~bJ-5E(YO9W4lINRk~O{6S{Aq4{3d~T{FqZR}fz9PQod`C7mI7jIx+gOGwO4{8y7u}Ve z%Hot(DmFug{yz?hq1udu{rmA63nK0N2~xa+>RJ0x){d8OR0?29*{pk^-DQz28&7fUTt zeTULYd8BDR3rU4j`}F~z67|xj4?rH{(ktIn;M97NZ`2EM+inBE}QMQp9r+8A0-Rr;J3YUDepvuEs6#kQ38 z=Ne0?ctzK=Ix}x3vULLbX~mD(ASMc!v@9a&lWm;q{l8B_hR*fGfV?9a6ACz#NR=KYV<8v!vn9mItiv{P z*%&4u(x*YU>+T{dmo)sd6;1mWyj`J;%T+8&J{l0)^L#^yVAbKnEEvhHa9pI8IC;{~ znA5-mXi9rpE)WG^-+x(nZS5q*Xf6Fuggqmjch*jbv>D9>l@71bk#diVG&y;@ZVnl0 zN4z?Zg9ENiK1Y`)xR~Ey>iFEq)+f$EyX%Vt_BuwF(0pL+ugP1-wXhZvlkdY=F@HDr z${w%;8`AeCM}ZyVa342LV`{o4IoQtf2qXjI5>HJpoI;(DF)6mXjV7Gl-Hlleu62|l zziI%Y8I92?I5%Z!hp3!7iEiwj1y7r_PbhcEv~21wZ?nEPWtVLPGy#V!xxC{Tla5*;4M&ZR}ZPbHZ@WJ+Sdo(&Ubhjg=iye%yp(C3AU_r;FY^Lp7^jvvw zbWFVM#9ShMqNo+r)sxeu91gB*e6j73MDsRj>6UW*fgV5^US-J>HAs79hPRc()Ka0h zgBrF^JjESOzuzupZZJo-gO7p*8wjreLNxyqMsb@bBWBBs0yv%D=^M**%MpAfO#%vg zuTCIQGO{sNjnsLramf*ncLZb2F?nf-_!dPhA4HC zA=SQ}cI{LoXR9rFZ;Ki;mppFStxx&_0gZzm_H>gYgG+9P+v3>Tpmx%ckAL1?JLrrM zCSL+xYPPjzlWVHH#H`)GB-*PU+M$ zcgd>uxx$eBQd?3~aU3a9IST5nn6oiQIOULMHyhSL)Vi)6T7%x2Yhp4*MHJ7FRN{`9 zWJ){ktW-ahpcGrDS_RmZS}4ynlT;WObgI2ruy3=@;%nKA4_A4ODYzjMZJ2G%4^Vzz z)&>eDkK;v752V!z2V^+}}dFy!1-Edm-OgXRUT<(Ycif_ybL%0Db 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%0A|J+Big{H+d)Ip^o3~ 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

    R}~j|i??yJf6=T?*gNXyPY=phEb{T&&rhY$j4s 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

    C)oatiUM zob!r*O(EE!p|T7F{%= zIN-W{vAR9(TezRV##Q{VIbSYBVDm&V3*56JYqBS6B?CKCAKh8ZRoZ|+Y1y{nRih$K3qT%vsPg?$;xZAv?q6zv zMOQ&b&4cBc+{=pRo{et*ESeU~b2V3b-8YYT1h24=E7eEok18Ap`23-0G{P7KXNJ_t zPks9m(h}*8V$3Z>=E&6|?RhT=g?u9DwK~1#=6P#$pHYj@`urW#J%jQ@e!gk9fqimT zVFJ#1*mo)Z_v|1G^gq&_Z%UVN1r9-|MqaJm7;Ad>3hf#iY`HT$ao%32HjX)1Bmt$C z=)N$5lgdC%H`HK7V>g|9k&XnK*sLJpczn5&kFW;uG@t)5W?@)p{#g@qjx( z##U=}dXn{gP0me{cK^s$u+$X>&r)77Xzu{886at$+e1h=tS_ybTAhD(%jUFxWP!IX zXRgw#pK9zKitqf}V(GYj(k~Wx#1m&cpjlkLcrl}6SCkT!@#v+at}iZnv8o_4Ckw0E zkk{){EoS!M^;~v3KQYZ?@5!Ap=33$Qt~Bl(7z9z8fPn#x;|HS3tr5v59a-BW39ok6 zJ^)WZu)h(G#|LR}L^co_`J57313G~C@dHad&tt36UBdZM7h;sAvRdr#(y>%*VHMt= z-yI~}i9X6_8~PIGHcbHpm^be|PHBFbL?9iP5w)CJN&XqQK}QxPfq+R_L@`LvMD8Ei znuwUaLmWk(-C>}zi#oD;0lArP<=fRD*1pqMGS6|X%$19*i^lq=JP(j&`nZ16frm0r zH!M$ZvAXgK{uj3mVNCW%BMV$UzSh5xctm3B?k1G#chTKcWODZt&Uksw@XV-mY#y69 z!k}ihVTfD{qzJ&5jGhlA#&KjeAD^6kjqq^UKu+XeF!zXR2xDYtcj69~l}8g}Ur8&- z+(`#&V2BKx5b@kH)oxE+26z)as+C5^x7Kj)c-n|34py>d3NhPgw~y+V##aDUY<=Oe?zUWTr+QJ=;Pa%FL^p@s( zLp1qVV}JA|bq@88WeAdIr+HS?W_A358DGO}O`rm}qF^$k>fgu>9JjtrR&$#((qBfv z@j8V-lR#$NvR>5SVx3@`+}WOm+E}QY5m{jbmlvVEuvu5li=3TMDso6&;&YvyKucRT znm&N)_aXOa=4)$%Rh*QH$(+Q#A5k|C{!q?sR)w;lwfh)8_-!~3`Q5f*mEC7)-~0U` z-eC85kqz=Yz-zusvN%=tvvZ0}x|CS!{bvvmc0u&;S@w95qT-!_LPKD}3`q~Mvww#& zToW>6PmEHMUS>Ycz)o}JBUgDSX|*c$KI(26pt84!8A z0-)M~Sqy#b-zw{OwsTGypsu_2H_>3T#3~LzT^C${xvpg+HD>~{cYg}mjo`{i=bi2O z<44O7F*PaAIOu7EWYUFFiLW7@9dt)gKL;I3gE(K=!;D{dF!9W16$j8;0hE7K7GMzp}~zbNbwdR2q% z*sjP&da&A9giy%t7lDZX18(&l?w|l{tGK-^X&mnlveoi3f{oQDMA~>}-+3-m zW+0Rw(zY|M@xnUgli7giza;m;7F}D1-mCTtvbGDp0MT)mRzxEXx%#-6{NTDjhKU3- zz{%P9o`J^TRw1q1Em$qrjX!HXGKsHadR?x5X#cAHa!m4y??uxg#IQdnDbxp=+l!eB z?nI`S5+3?z>3N4fMbany#iWcm5=BP}|~v*E;` z`wDEOW7b6p(-J#NnuhGGBagLdYE`HKMXhp*t3yhfw}gTP^s12Gq2>9SCLZx6F9bn5 zY$eKDUdXPq-CY^Y>`hPGB{)cL3k>^T`a(0Raltvo(~)^mc~7?&3j4MR0}4d0)pfJ`4G4a2NQlsppW%DL;t>uIz7^KuBG@J7ytkc!G4=ng-aD!Hnz#Pf7}=(o3@;;96zgJPfg4rOEn=$-Hs zSG{gkF8k}OIx%PxDY0izS>--SR0ma{=3tQyMKC#mILPY#6_I^4BP8E+Vrco|(4fg$ z6ujr=l5xS^?62MK38rOu!HVNn+4**EvI&0)wcKC9xDi&KAE4LZ`P#f>otYa{(H#0j z;$~U=YHMi9W{C%df@P(urv$D_l`e18pQ4KOj%)A&vNJtTl+YEJXs^NrN1oL%NA`AO z_LaNBiKvGCmAmsigP-dJm2iEPULEevsUV;1rfiqM1o!C5z)j{nYVjhH!M>wY=vd}) zJSY|*kfYG`uYYOvVv)vBbLnc4$$wM`M+kFV2e&i2;-CzAgWJpB8%fBGXKuOfJ)57K zVM%f?$+)JRbr*L9jR_{>*PUxbH46l%cXG*Y9)T{RV}DI0EH9>q+e`~NPp1|u+7RO8 zhLp}&mL^?ICeWc-2_b@(jDQA)Vr%X+&k)z*q7TcFSX+nIRfo=V8!4jmCmJ=7;jV2B z1Q*U4Etzw=U3>dt4SGy<#uS}t&$V@Jez<58S{{@|W^UaB>A9kPI zM_r(D3W6$v|AGF6sxCkD9pk(VJIxc-mAHbnLW>IYLy;^v+ zCAoFX*N5?GS!k1_iK&p<))<%Ns~z|? zrzwmC&#?5>F#_EbL(~b4s=3|YH9tF(Jhtgn2#CRp^w}F zE#Z((k!{#fzO+R=q&e1v|7pK5IM-Xr9hET+?(*}d=Zt#NT=~aQFuWS;h>-d=g?ewPb3TyL=L42`5-?_IhAg=xn1L| zpP)t_sC@%kRHhow5dL7hP3eTxyp$n}ukf{KXCkSB3>p0Uty{u`u=kJ7-U#YR2c0=| zZ@CATB8HpltqX(a*sOQDeEHG@MX_2)sKL8ELAEyL>d@DI^JNcdr1R?O-2QH}zGuy6 z?SLbznYZ=^dg{K)bC)N3YYVCGa9oH~_qGYWPWSuM%PDwMCwbx>;)LHp2gQRguZ<82 zG&+jRP&Rf-1sG=;a?oXLt_Q&h+fT{U5Is4+5_$qtJ2Dh(Q1@k5_)nm`kR7l6)SE4X z%w#|#iy*D_F{gSMRUm@08g~;@K`Q=4Gs>qnr{(viSA2O@tVOT=+a#4+2QCm+rTU~Z zy^jq(%&ffb?%$Xg9g10ahc>5Vg9*AD2SxX8S~Py((Mn;Z!V+#6($3^Y>95hCU7sQ5 zSI0M@*n?>^7|-IazN>O)f8N4xloEWs08|R5fzg8f+P8Q`lL~g@C{8#Kty64LxKt50 z69MRVfO9X~Qg6$Ol$myd5tEe}>L^=Qi#TTHX&rLf0GZ4NU%v~+1&=m0&G-puqy?y; zs6(#Hi-Yd9uq;Dk^p%x-)pirWw3L^ckbhXU7;pD@KGTfOeiS8wS3GH0EM#Ycg00%u zp7sS<{#mE`f@IF3bM>Y!Vw<!~czg(rcr-H@&*bGrV*PV~Y}@)5=uW#HFo?zr zlZ8oV;6IAaY!+~vC6@BiP{Lplvtp49)$nRNS4JR>^9IF?8)Cq*fdMlbCsi;&h4w&- zW7J)?DJ_pxOS|S$=iygg$fKE^C*)5~PtxHAUo@I^0_cxj6f%i)y8AV5N*@UwK-FTZ z@WL(;p+?W_&@%ZQ*K9$Z1WMhaAUIeQ0NJ*l|8gk4LZR&MUB}aa;>{eg+M^XVyDF0R zmnaC+Ti>#WGy}TEP%$cD193vDD@822AU(XbsMSUsGGIrgI%+>%sUy~dRB`c<#+ zkcN6izT+UP*{>&;(H|(oSXU*=CxN$_T8FR=u?u%+&;iV`m$!{s?0aB@AfoXBG`Riz z`%7=n1Du=n+Y>q)PEmN~2`v<^rBSN^7Bms6knFbzahtwVo#PpO%?%Mm{V!5+4`d|r z+d2BM@U|5{#cH~mcrso-pS=~ibz@eglbHmB?-cM0V{DnrSTh04dm*>pQB9Qc-C-;o zs?`VCKb5z#>5n1*Ytm(Z%fZK@>DK}1x`IIu06p@Bs!CL-rh!vP6Azq6a`0w@})oI+nze(aVS>7Ek$t+Oj7N@#OEd- zWp}X*u&Nm>s_M(+HnXI|VLiKq^`I6zFfS`mmcFKmTWN@X99w zvZk<^nq2+v8N$2^g`Ys$2&Cf@;c{#Wnw_fren28qS$V_Z3{?nzh?exfU2;zjG&a6DV?GM&nm~p#N2G>tebp+*0(Ayi?&GpO$ zV^s(30^qA|Mf|<+Bin*??&35sMZ9hiI^_Si>56M$j3%EvP=}1%hK^!$#J#WWA4f_p zd~$Zu_GI$=GIBGBbH`)REpml^F-duc6lO?HfhY`u6)Fp}&Yn_GrNoPd?Ub_#%{T#+ znrXbZ2#^tFQTpcqqSKD0x@RzQTmAA+bn{J8nY*l~BDNUS>mtrR*0xEZ7Q_jjU#2oK z(pf*O=39K7n|pxXKO@&dn2xLtf9n+z}Tts9!2c7YXocvEZf23}C4jthDuo8}Z6Cls*x zV{GSv#gUl89F=Rg-zSNiJX}f6v3R<{3>n~7Ws`1Sd#cGsc15?i_3d zBp`3v;|}1pvMtPI7^l23Ev@o>gDpY2_E}4Kzj+@DJpH>}N>VB>w|e??X`R81Gw$rq zd`Vv(88+!(wF3^rcpZ3%R%+~9yIb%o00JOk-2}1|J-*;09?Jlh7r38S!pUn45OJ7L zBuPYXaV;}l*E&{J0<;SB-1MhlCLfB;=UE;f25~gcpyA?(g)DyCKNdvet5=EFhDJQm zQ{S+)ltUW~FrC2Qf=ZaXq~QiZO0EET{W`La!0J3rp2Z#Qy`i?Ss#;RF2(qlJp3`*b z4hvam<{?$=HL{PQpB&s$&BqrO!lM}jx)Qt&r@K6b8p&wqa9JBs4`OUKnT-tFv;huu zS!!Nq4+}>DJJ0jJ9F1qAZ27hPo?*>XZJ8T$=prS)bDFOr6sQ77M0QU0)Y`_31$Zh# zgnX&icdg9rXX}HyK`ax`R-k*HfO=&G7BHumJ}hDkd5W&1YjT`fUU9<6MkvPsH#d!{ z)X?ns=5O?XMj7sO&)cgJg_wYnI5w@E=);*!7>hZgl8PdtUU?JVFV|0n0>`iZKsG(7 zF&HSF=9$9AA%V{fE>D<8ju%xJW%k|PoJ3fUmqa7L)q9yZtza6>OZu7{x^FRH`J>5}7DNTU`lqFR`ortI(AG`$C5OF~3I--!JvTE<=Q!%U& zX;k~WGAV3)+|0Na#na014HH>eiRh|2p+i_it@j;LnGdEoE)X*T)gi>?55GX!O+>b5 z*T%^D_=}0(Z88f%y-81`fTZa&j1%TEjsTX3Z+(} zFC2$|gZM?{{He9lBO7()<+Jdn(t{CH{bNlF3~psfa5{GM7G{k~3RRUQxaO=o*?02W z9Z%kU#bGDD#{sL8nQU!3V*u~a9zSZYl}PMGB^Us7ADrf=R88=gv|5S)Jf($)ps%2? zcTlrga#|-=fTt8=h~T)UxK2y#raaED>DeM>qDR>Bm-~({i57pD+X6nhE1CEXz9Spw zDRvpev;q6O{`nbHI-fIf+){KS;H86P$74OXS_B%_D!=iW$$kC~W?UrEGk11clv4iz zn4Fu~XN*~=m0UHX(l)_q<9xq-B<(X#=t@V$roaGRVpS4Zp)`G-lh@k!u{btY-N%6i z`&ZRn@sdPm?bUUI1Y`;vHXP4a>RTT9t=_TB1MWO~EIeeu<ti zfs+ks)wLN&xFA^Ah}-n35b_A5Ni5>+72dc!E<}=DR%Mgxvb>G9fJ}tnA=`|_6!iK%-QXBdSaTF-d;Y3c3mhSO* zW6P}*(bCcSvmLfK1TpXwhK2;c$t!P$9ZlpyPyf5J z8l*(wtxt^$N=W%(v$glZcOlayn5MhYv5j9<;h- z7!iTl*##hSH_;6P>*h*@mO+%&Ams^leJb=^H7IywaoUJx)5pxts4e(mA_U z7T%EiaYtZ!%}oFtwoe6O4{9i3l;lOYb zWv>~k+mBN>x|4e#{MWTdY_mat%84_R*s(=Ur3!1)?@=t&rAO{`$~EMu{C0XZ_fq9a z{Vsx9za%1iFyrkxn=`$N>VQPeX_eAKaz?JSpg^;L%u!bB!o)&a)vF-09AY!eGH;`R zy`p+L1SfTJV_MIuv_~i-87cOK7W6U7ed*A`!a>tjMeu#txHiq+V(L6PQP{<=64NqT z8qzPNTXq6RQbl9mJ8zca1^eKIAaoS%tsdvqQ6vIc@FNDOVV-iZ<)5+4QV9*C%(0b$z717GQ-5&fb@Z;yGC5t1 z%345BzVxhtzS_3yl^$M2SQ0o9WkJ8A3iItb6ouiocx>bcCg0I&*yptKf^^Y&hBrxIroOsQ_;dj{b5vd zWk8`RVcn=7i>2#NQ zshuEGadV56rq$yl<>&HG_#8INQVVLEg4;^TQ7*85g{qz$ynTl+;=6}6*we+Co9LcA zU8VC{tuS2(BFdnu{eZpj7tFnS{~}x2h%NmlKHeC!f1GR&XM!srZMwLLo7XS8o;|m+ z>0r43WIk2ZrrgJF%SnHaEA4^={JHDyot6lVoo@E2_M3$-O@$uZC<=<_Z%Uq({@u+c zuEw9mp~?bT)&alvTrw3bgqSl@W}(k21q$kDA6<)wG7q<}+Ka+KZy+hBu2L?VSlWoS zcc7_Br!EDP&s*2zzXrFZTJ=nFF5$wc{6sWL%hD&{>7^Co_FPGg2{_;PZe^cvi9b~~ z1$z?(mlyE&BFSY3JiCv_*OlUN4Q)g4w6#&25ib5Sn^RFCXO~MVD~80>Kr2!G z!K_9xZknMsNAn{5Rv$FRPk3{~TD}rFB%XFH23P6cT@NL#Fw9hac3=0Xoe=vdH+`9N zr-oti`dBm^djjV~e%14z`(xBivlGAP4HR?TSWW0OnMJ6YE%InZ=*8+p=j}dEHqo#J zp$EJpnp1=7*&J~6?&Xvy^^;ER@O#$l?+}xAv9D!@|UBHspucT$H5;<%j02N90m=-X zDXeuNkLZ2-XH9n9;6pA%xq+{+ca~e&?w;zJOtU9U$21g2OYQS=N8~QTabP_c zwm)*~a7mfT(OofZ*`2Mlj?7B&BI?P-$>$O2yLut4`J}uy2bR8unIKBGG|m_ZMTvEi z8A~6V$|0{(P$|?ZO_^=>J3J}=CzhF{Jf$GrPVs2ftG-}ie6E@- z-sqn#%c{!m9gI}eDj3{!)(=(VtNd5<75aPyhqWn1mAJYDLWt!~5DS$)4tTP8b<*~# zyB$&}z?9@W!QZn@5P5uS&e?RIGfC2v9H+i+J4B#~WhLeF@wAeKx19)ihyfHG3k zuP~@*=}$nTreoul7=R1#FZdmPMuiJvc6e{nw)Q#r!IPAR^TD1*t?W;mHy6pA+x*kz z#v>a>0Hu8|I6ZYI$?t{yu9l(6X=jq%>+QFm@RJ#9N`3DK{F7Vm5!LzfJdt|`wE<^w zV^e+<*abYE<3fR4aAlU_5G(ui7BA;trsN!EMpidn?M7ld$b=0x~1 z9(H7944eQ~s5Kj^ZHE{pCAJp2aQ}&Fq{-&V8zsWc>Dna{EC!h*My6uQVuO))=$hXZ z4TaiXurG;PC-|N6jhgkS?s>jD|2~WHSoa1!Uw$d^P%GatR#6qv%7k~b@}ySbMp;WP zM_`G~kwn!_I*oaddKR~mOrT``E2d3+AC%xRN&_-Ykcn0ADK}sHKdv0RCd)HRBqTLE zdI$6*D93|yh0Kv*bn?;@3X6J`pDu8>bX-umA?+tB>WT$JUM;6vw9R+?j%08~?f>`h zgC5dcF+*hXK;a#_2LzU1HbpQj5f5FzqO30FZkE~e@pGm&l?oU+XOm}`Ji%{`?jy!-31KQi!w3z^1 zhw@~Q@!mwxywhyQ+--U@^vjp=U?%pefe}w#z-Nu`#&IK$~p+pr3@zvMrz{9#td-zUWf`B+NO4hF*|VQ%Lil18Y>V zQX{e-H@!Ja=VbDQZ$*j2a+LgA$hUgHw-US3sc+7&u+?4?wTy{BW107w^D%RL%>nIz zlcTD%b0E7JUfhqqdi&=Nx?#CD_Nlwe{xm{BMz;GdY;|&!J1Q*Gd$gDOJ%+; z_LeJa0UkjIQy7;JBV<-mT;wXO(Mdu;=!3-L@q|3$@fD_nzIUmQR9_z-xRkczu;cBE z0bLCxtgFP5wRo~s@?#nn)gLEm8e7#)#O$00u-6WEMnkYZd9nG8 z!dzNv&c6$^vz0k{@JSQ%aj?MF=+CX}Pkcj!y*eAyp8cwm+&%meb>m5i_^NY^EkQiZ zWpzC$c~PVjE|_Q8kL;67h2MdsdBTSVK9aWrxY)jXj;_xBg>{JktQP}S?y40&b4mWeAO96u zit}+XHQ`(@s;fP8P^S;j>ST-`gz`|b!jZf}$wJxgh!o+e(a;D^@*T=N=)qGtRJ~0n z&Yf_ry1q#&e9xk4G`G55x1JJ~8jW@(j$2@#31{4+_q0 z)Uyi8+1osK1F6KdY-dW~i41HQYA$+0y&cE)?)yjHBH0rOwbJsw1N4JqljnDn|nw8r2nhtHt+lH{Nau z6ZW+g|A+3xwz_Bkzst8Yx5m;fnO}zXZ`AP#wx8IB8GMD3c{zXnS*JwrSyh^)obJH8 zAct&u)ltiwR!%_le*aC!iuWn^`MW*q)kuJj!1)gTuwz_<`;b z=^3h5I1=$ga+#>okWs6hlF8$4FDW1;+EW4ONzKU8ZuaGVyf-O8%-Ro0;pE%zM>O|^ z)ft)oX>G3w6q+65u!vYLwz5$P+!)U~k2EJ3sMiK}eO|@-A7W?L`6-?r*}lB7mVcrf zw@dI5%DK6{crCu6jLHBxKgdF4$d@W$MIKKmKGyCWLSty@RwnB!lsqio?cIVfL7-)A z{KM%2&Mcy4S7{HiY)P(L4~WPWwx23ET?nxTA>X!%sxxeRW#q&(X&CbdlkJm~FiFunEbz zkXzIyIk-HUlnKpYwhL484rhMNON4=93~fCiwbIx!O=qHRNghM(OpI&X;4XOc>vO>Bj07G3QGHY)2D zn_K))XM;af0FO@<5)W*o?@r7tkYjI=QSmm{quJ*T{`f)6e;dzPncz-RGT zS+n6t^^82;kqm~Gol>&+wK;t{hI{7P%Vi1G?Yp?F@GYv$2_gSAYx0AXH&ux%Z4xi< zXvQbUrJ641oCwt_qb#KZK}uG|FHmVy@2i0HO%Kb4PI-(EZ9sMBbp(3Cdb&fDxHnLj<%MtlOvPL zXE0(p=unuyy=|`~mTm|}NDEMrd=9v3_IEt90Pi$SbRE=0(8?6@PgxXpsBCGIkj-4r zOWeCb%@$Q9&Nqnb=i6-IVS!D-#Qh`O;G{Q zc7!Zf%P=J|gUT}Ncn34eljOxW0z(4950K;RZES-JABAn=gAQ9!wJN(##3c#cKDSC( zRlJ+a>2IM?G25NRKrwQO7U;8Xg_zLUBmQ3Kpgx;7c+B+85Xs$Zh`w;R;VZ_Sf7sPig# zBe&HkyA`Z6F+|rgLG=q8m?|NJs>%(;QDN#W?r8NWwf;M>`Q7#M+x?K&7IKJ%iwqgb zJ79Rd3S!s(QM+9x;aLo+d{s|(zQ*f~Tk3PU+JhQ3lhZRv*KO}KDd=y3e0c3qHwgIM zO9Ppmvmt;U`J@DhaeQlbv0LO;=mHRM_l6~S^N#GApCHK__|ZZ!Mn*~cehPp%A%7OU zildxcl)H~565+;0tMbO>O}Mx3NQR-U{pS6U`wD6%Z%5kNS6H7e`+{wC+BtlHprH!~ zuT_gH%LkR_qJ3A@|CB){uD1M%2^wgFz&~ONpXgZTfnjr}fcs#FXCocE8@ueKkdQr( zx_k;45uT#6)@Bs2p7`f78<(BuX)R;t3f3Ku zYmgK#pKl?wn(xV~eh2uBQ=Fse_DkytJCk(*VJwm5&Bo5s`DG_dhlQ9RElTjkkJ-rf zd3M5^t58cZ2z;C+x6Bf#RqQUdYU_5@_{L}L?yq^uP^I74<`;N(q^!Iz z(mbT(1zImBPKWY=mWu*+;7}{ari-&E!5fA7yxk?t z!`YY1WDphL&6ftO!x57}S)sAYa3$doVINZY88?lnCZM2mG=I#&lOuwp7k14QnH9Q< zYZO!Eil{~@s&E{b`N&t$hlL9``-*7}Qk1Oup!#NKE=suE6RQsWp1SRGQ@AQE_dWtX0h`EHlipYB(?X9CwozjBvFguseugxf zr%ukil4xTxsmz7d1+zpH>+Ip6be7d&?(Ob^* zNcsG`?ecN%th%XcbpDnFV0XgZZc= z7dtf%PU+u;VQ~?O=)m|_=gCfPS1sj2>69*|Y%;KvkK`TD@cXS!$-G>bRhIPCHAvK8 zqnovsQ~JJy)zHShN{)xp^&tolL|)giv&U7oO6V0?oJ-$srAZ&D*Glv%P}JP4_dOI# z?J_`{6QR#j#B3tCTBh6pjlqMEgWeGhRmbX-OvX+YxTXUd^+vZa{eBq(c2~Ff+{d`K z;g0g@-Kwi&C zg(gY#1}*@J@?p2+m)B>-OB}Nz@UNC3_qwKif1mEPtFcUe`uKFk7Lqfn)X<(W81b*X zSy*8Tn>@Lw(+}2SL^O*_r(#}|By$ALtZG*zr#Jv=Rb@J7AJxr3MUH)jiKk}U$ow6W z#MYgfX?t-)5i1%YTJo+YvSj7x?%?IB#eUp8OKIfB(TZTVP?I z4&xQr`t)2S91P6!OGYI5Z=uxHF zfVa8MR5h#MNNoGSg!mdU3^~=+mOS2$rIG>>vPjkc$MEV{6Gr;Y^y?lr0-B@3!Na_^ z-1F!DVT)3QA|@Z4%;-1_$0mkW@fgaRh>4Z7huD6TzQ3*$52($6e1-y;I4Jh+4=J*Q z6`AaQidC}hB}a*kXh5`bs`W8Zf@E{bBWGuKvWS?7|K_4cyaZ$x`f%zU;+%&yFTt~H zw<7`rMb*HHdx^;00_BK9UB9s;6QvzQpg=sfXNm&yV)ghxv5dm5F-LJBUIlKT^=E~M z0JN`W*;gJ5jV4mW&tR@|AUGH)Ti7V?^Z%9PtVj?TMu4v>9i)VDr6+ zt07Xh3GXmTQq3EOq}=L_`q$j`;KLR9_gFDZj zjkUT7Af6KJC(rr7zYC?j1{HZqmGpV!MH@N!Anhl_+37*hyzuB+c0CY}tLj`A67*Bj z7Mu&kG_&GGBbvq6>4x1?_yO|a7wuriF(zS7&-4;WLHTy}!cuehGk&Ymd>^K$9Wso` zB?XNUlrE=zU7zw|X}rUkkWgo6vaqSb*{2|<``8%q%m9y#(}OXEuL$*P5Zwu3{h{@+8it*-{8GkF$vT*a zR`L_wtXN=b^8IFU)y^(_EA~79NEZVFP`&n?4dF(a`tZxL&J{M>{a+=EhcaKE(=@G3 z>ayW2$dC_GCZ|SziW{Oqs9B&YR<&|V7f{4wj)E|}vQIP!%K}dye)kOS6ORY7fvjk% zB03Ez^5W7_@!0F!t}KRMm&GiGC>4RojRBw7WL@9Gd5>#;{~ZvH7Ny84pDaTb@e{qJ zCF90iMd<>SiIf%04jWQNjbDQM4Z1flMIiYVT+O!V!OPp(&~Xgvzp zV-?l=L+RYEk5kO@FbuY1cRm9L`}g^;vNYN604L4h_9Fb&tV1!dVJ(X*CKM(1xIgwo zUrQS?Ib4pXdzRdmip%l25c5dJ&c4CVYz%VkH7wnz;L=)F%su3bzR(ovXvjd)RAs}b z7*bStc_P_|5&9+?{)%a)qjvVx4b5tm+iogpS7O`b8r~0j}vWm6T#Xwjfz}3mV8WtckeU-~Ef7$8dP#RNDlmkRx)lPR{KH4D;23J!7;kxw7= z5!T35?d@a126s75;8w(%!-%FL13j~S!#(=ubZM=Z@%yxp94 zW1t4a&a6O=V_M6T#7@=zuZx@9O-iz~b$=+Rrd#C@qI(?y6B3JNe04z;+Fj=V;ZJ~V zzCy<02zD$Pi4MP6Nyw2YODCte;cQl53KYLJE5qv$`O+wovrTD&?^s6B+n{Lj#n{~? zVhCW+pvFF;Blc0d;QCtWvdh~q%Y-yQL3w26EIV0t0z~g8IaFGT`Jb>xnhJfbiOWk; zLbBE3scd!}ZVwf9NEJNjONGR}(cK5rxL#=M%-T90A3GP~nuGDyDVj`^_U%2;`Xo@J zPK3BrFu*5=3jM2~lT~ceyH2nXtM_YsL-&W$&4_DWG)~m?75H7BT8s`8geaN5cI+FE z_4dD8r%==V&%d%$iGkoTo2|Hs4&B(6+F6y%4s1Z+VuA5R zv8zV_!8hOW+N)8+Fu4(_{CIka_tk!SO!H(FUsD3-5|9v5{CbDn>5S`t8aWw+XYfb5kW-F~d< zKUk4=m((x;@pz%&fh!~UcW|Q$b=GE0y4a0ec*^1J>&|DNLP_6N0c=U^Ui$7ARfDeM z>xL}U9g-w6o7rJsYjDRqZDP;HHskoRA0H9b`H(!3 zqmU{(NL|g%o|p*gz#`im&NK`=5);%aRFIssjfp{J&1z; zS(e)^DSzaY(YQ^_^UZc~E`Kfv19BnR>4x1VZgD?RjT(5kXu@I5FD;3NhSbtz=(arT zCpf88=AYHuo235b0o3%IuYhy<@2Aw}>1kc^`?{8!E^2J(k+!WF2SaJC)B<<-tGk4Z z6xbw}+uFw2)cphh!RI|a!ET8B`0$)0h&Yfd@8D()d^uFy&fa`8?s=qoEd~4POXS@P zx2bH{`~9{)wVu15LdENn{HrA~0~u*D`hGLMR7lvJR<#AS`^v@9Rt1VG7@`SJDz$5; zEf?E@gZ+%9OBsGB-1K0k4p(!QCT6&|kkkVSIPdyS?s>E=55~5C<8EU2u#tf(rg^%Y zB6qj{ssZdTJ~NC?)C72@E1T%h*X=a9u+1&6=`RE5P^4C^eG$BV!vG{usBH8XpAE3b zG*c5i&D+Jd@-s(vfi|%7cGjnhO9!4PAMEPp*-~Cv6Hfq5AVg?H-?tUE!qP*C?PP{f zhicPLa0BenAZlK&R=4(IT@y&2c0mTViCU{wPF1p+Ra;T*8z`sja=He5R#*w|FvecG zMHl?$zP@F0$P2KTQe14G0?Tf4i@M*5dMn1}FHuO*?s}GGFl>pQPBH#)erHJYD0%kA z;Zt?vDY|bVi~Au*-&`xGzft_CUnZzNanb!_LV2icWkx>hdvNG+&D%D9j>Z$;nPUB@ zWe$tpkzexX z;NyRpXSl_nW%VYa)j(cx+kRwI5*pYPWN|Hm{wRs~iFE)*ub%+xsGyv#$vAS&up_&_ zEVk?R=NB?Xi`V9I@?z`PNR?9D;a3&4=4@Vr-oKRl8P2FMlb7LdzYKc-2dwqA52G{O z&0}!;rk zVNg=Mv-p?c*sGLyLBrv)$NxB@{DwACmeV&+7jl^@hN#EYdwt^tc4!n8alpljNCmHO zsO8|r)KdfoTJb%}uROsBCe3%pAjQe@L6oZkrr>N2W^dK{lsvg-_`LX>cdm;Apf&a< z@^!+2iGqqxaEjM=@Q!Nq;i)Hew-1)GF(ZgmHd0sw7`^K+C)O7-=={UtKyjCL&JoT~ zxkD>I!&Z#^1U4g^Xq(~T^r%-YGET!$@;ee}zy9waFd<_jfnt=mp zkT>n^0I1Z$48cCx`}83zTh>eE-?{vzXoQD#<05R=0Pt^5=b%Mh@U_jF;vc4Ta9`~4 zdiDMr+C1c*%fs?D?@aD2pbB2Vp(ZgvehR#xb(1nyIT81vg>Zx{ zrQ9*UAY^@j#B6!3@h_JteHawC1I$0y!9ASOX*y{W3%=)kMtHF`-Bo=wA=ZjYHpiM4 zYXPuI*mP>yzhp5!V*7Jy8~BcAXihfxn$(9}&<~94pM`fu7^)}>MgStt#^(}y6!CzG z^7nM(U?~IM7D7Q|o$#+BAFl%KT>=}&nF&>S$2M>n4XUPV=*XBPx*eC`{0jUT9VYqm zN98%2U#qLDfzKv%+Xln5d~vjTFyj-;L*pkYY@tOrPY|JRrT|Mow7-aldY?cNJ5TYD zisX=_a}0+~N2#h3WITm?zk?b&Ma}t|)DfHQCF?lcvqjmHc?#o1H9er9RKJx!SCmuH z*q*xOX8eP3i$m+zqO3yD|@mfN+YqKNcKyECD}@nqG&CWKsogrQT_SlAL9x!tZwf zs_=|}hVx*9v`IB{Q#CzXnA_D(RDu42fAMsk?(lhT3Z9KxVNI4T)1zs>O-I_u zHogO~9(W1`rz*dx? zR4%cn6U2}Z1LSkb?EQ1RX06H>V^tmj)C?oU>mRQ&FUfFw`Q08gKd6|W;Oab1K1;!N zXPs{BOmt*f+;Kjy!&|6jR6(;gR~}!kiy#tofXL2I<Y3}}5T`GXR{o=5=nS8;bR zIqTkGS^*|CdnEOX;c@X2L&kF{pz-rLH|!D3<5XOugI$uUULo#bf1oWSLjy1bvhPHE zX{Xa9bQX0j^;ca%PYNwN>Uhc44^fa2+dWTK9h1XtaOkLls8oOWiN|uEaI|z*feYAX zb_Yilp+(pK`JW6h79v{WL3QJvOCKnlm3I8Lggg)@XyG&Vp-RbPf(H#z~m?9AG4DY+00SSxjzrZ!9*a9VY6I0LtC)ta=A6q(@Ir@ za!V6QSS#=FCw)dh+>J;5(BzrHjOz~OCd(Q7$HY?GZ6jmVy$_s(s?6d5D?~+fnKr7Q z*5wXbkHRvN`&Px3uLX;TG-sL4-Q>ehV*S{?J)(fkIOF%e!%474HqlNlp7jY-Bpc)_ z;Yb~yh?ySHDCg?8dSPEZ%G%A&Hip20704IMVv)(OsK6+03>+39o2By!M)_DPxOY%_ zobT$Hyc{ZB)%!R+BDx|GgTUf81rM62Bk1f2EU>EEE1nE``rg0%Yn__8W)>G@AIluy zaG4(0$OCXS>9?fpX7GJ1#T1rI(!mrTf6esLixV}*1m1Z(147@AeF+kH5QC5G$1``{ z#0mqC3H#E^(qX&!=c3~5echY4V+y|Kc#>wpl~mz|Zah^l84>*iHL|yJHIr|X1j1== zh5=IA)(`o11=UruFv8zx52>cQiEjNN!B5s&yc*OP(B}Bs`XpM$FdvuaZo4ry=8kit zx1_{Mv+R<$_O3G%&L~*J^K?qAt~GIslwDV2mi{Y;H^Q226tvCimQTtP4eoth`$mOhBCTys;AOFM#MT{Ab>V{&SAkqejkoXt%oyT%TJ6k8LhCJ99IsS+9Gg z>-N03x$ny1iSK$&P#8t6K{zw~8E98m{$!F9!n4SLvS~Mo)pBaK1o931QuoxKVr&my_!*Ez%cuiuONsEE3(%Qb#E~ zz@=f>eCarM<+;ncJj$??5o>(>6U!(m+bqBz?GR=iL8W(rp;#@Ws?GUoFJY4E`sK<2 z!iT_JE1zTDSZ#l3J&%yap@y*OW+`^q=K7R%J>W~+cZP0O>ZF{UmLkyIiR2<^2=@kG z=9Alg2zY`9L4#8?pkON4g^(Vb-QUxU%LRpyJ08Q}>d@{;jf&fIw$$utyG+%-)>G zsmMf)${xW~OleNlOboDf_a1=5sOfjKAB;Mp`1{#QOQMcOH*+Y@hD4?JF=fele1fq( zqB+QIGi&cS6iE9!Fr3?5Ld?z@P}9~*A)!qSB{!CB@=Y{|=U35FmXVYHEzU}st?d+~gl zbA;eokKUCNe&P0~V06Uulgd}2aC&TPc+1_sP<+y_lM{5}^A2p@YR=PS#;o2A!F$Pc z>*_BS_~l6;W(bB?-D@HH1Ljz0Hee9djSW=kAt1q@u*SFNM9tiG5ZqtSO=sTDx>JE= zwoRG^(4YcAUVkc86LnFIoL&gG-S|-iz+0c(D5#p%(Mh+iGFfR@vBPk?qv`n>taPk7 zocxwTj$=!rhy6r~#y-`Fowvj8?$}Fv<{zVVYal)~vPX0i817WfoNbjl6eIGg&!z^XIf@7bn;h3@!cOUa%&;|Q)|!YHEu>_0TEBw$I4`tMYbXvcLzWfx7kBL} z`=#=&Lfnm#HhvOsiD%}7`}C?D_)QSyw#pm;gUC5A`3I_jq3aUx=efcZ6e*Po9;UW+ zJz+erDni$F{6{>ax4WIc$&z3*geb+?%m_K*Ah!QeOu)5Li^*QnB3JgO1iCzZP z1u@ac?CwgF=5u!fCw1Y1U`23>arJ1f6(kxs#o4H<4sb=K?aH|T+sZtj>?i}PcQDrs z#@AN%eS|199|vGrR(R%;pvBv^)pMqPzSDZP%wkcQTE!=5TxHz2TfGiDf1;X4%JVtr zQFl4^%T=IKYU~#avpdn!Wpvo~@rQe_Wu+omG>1+}|J1m|AVdgtghgjQ;)g@|h%3zpMqWSr>hBS_;*zKG7aKMg zum$sZE{nA;h;!P5mIbz@6>BE#%NgVQ)Ey~Lv4!Q5QbgW6wmhGi!&IUa*G~9Jd2NRZ zl~!C6X`hk{5X&wa5!`jcmF8NlXs0^9~r z?vvS-C)v^+ssiU5XX(1%agDwC{a^G=j3@-knVU>M4=(K~GW!R(4JA zn{{|7_DZi>zND%>w&yiEYqLJGv+k+a@}{7l-QMPDMFRmTR)s;0bcT#J9wSB2cmMT# zhKbG{yuro~TTeI0s@v|6i7~KBB{Wey$Hkf^SSX6o&0*DDgk9#L#bUfEtIzylTrr}$ z=Ql?d&vv_RD{v=o*tZj8_!60cmy)ICPA;;uhT^IDeY-f#mNq$%LRWU-lN{og9<&8E z$|xsmLXe8eXmCxer`L38+9fLPtk5+DcctvD96#B_+`9PzhxNI$%Wif#KegtfM91nr zNW9G8?FjcYlz`tH_Dfyp%l48I%rp=heRI~IvZJf(@41k3lV8$t@Rq^KqmlKFYnGb9 z@hR??wA}sdCBZbml!^?ZS^z2zHIS9Qv$w^y%F!09VrWzz?Gt?A;f!+xSCbo~M!|D3 zd&?Wz>2gTDmf=WoG^Mu0;##7M@mrA1TYn?ERm4vj-h*i)8lQ?gmvH5=0O$$NzNM*Q zhZ--^s3xpT^X=OyLP|!OQ2>Ta(t*VxfEopw7s4y|F-Ayl6m!#}~xdLmEi>8@gr*uf87vA*-hzWn@=NW{ztA zWC@cY(cwr*H1490jVs2zzPjXqXSdwk44N!iW@NG^Z~qI29OA|OQ}Ad$t-{@_dd=U zKE^5FmsD9fIxbDQaqd&3jCp=tIQyUT0*@@tL**&lX(>URtSo~-dfK{9hxRJ3C(-V0 zY>0-JN|mui5H`WNy1N_LQ4auRgbNYehT!3~;nX1c zh)f>XFs*fMV*@S&*mp!TpynUe5!t`b@8q8wT%Y#WmPE)OVno)`qm${X4n9sh_dyuL zR4e?$y;Y(YXi@RoOTG-VL%Uw=JGwH%BcH=zm6PiF1Y%RlI(3(%4>*B6FUv|Pc+9Ie zrzl3Qcy@Puld8+{4rYMEZU~&fJ2sgNT*(R;?MImLa=>;LF7ydv-|D2f@@w78JZgr| zx7%K=9+X7Ci#SVMEE=vM;dwik6G;e3Ivn+M?8*|z57bQ)mXJ0*PO25VAV!_i+O7)f zZm%B;4x*XN(t8+f`d(WMo2iQOZsrMqR(qH}pH#h2j2kx_U_a<^x>iq&FWa&H_dBdX zE4`s`7RK(($0oGmAD~b>;g?;fvGWB{iL*axcAxb&n`t3#L)M9|8=EI%Z%+x6;d06G zH4lXW6J$vAj_jJR&o`cKqB6x(qPwz-3|5HVj;!X*2RrNEu4o5GDb3lhGnjkY9{UKw z@%6oVEHghv-vOX5vE;2PMp&C7#|2{hmKhSToFi-!%y8YK%9vzU&PwZyPQm)`^Bo7I z_I4U42m?{_!!)NaU{%u4P5vcQl3g7Z`?z(*DV?mYulE9@R*0lAy9 zR~jeWWD3*YSzck##(Yq9IuqP%APKWe`-yIj3Y@R$jFwY{Q$Xs7`n(J1KXCEjE`HB< z;Zqb5lLoWmN?0>-^XNaPUp&4n=f_e{^@g`A!bT=ha&2^hVtFBeXtN})j)vL%SSlNu%~y(6lU$@sWJHMPE3w#-7SYdKo-SK1v2REIYmbgRdPbDKG-?M~ya6CP}oQZop zR#EqOplbeNvTnSAqFBvexm!oC;Z1OUmDKl4HV$bE*{~>QKDsg5{Rx2fkY-`xWKG1l zHeiaqmb$fKku~@N6~dMbVnRgjW>h1p_V#u$#9r17bc`P+Iv&j+{NA0b8QsM|+^b4b zQyLaLZ3EBsDWTSmoyn%mRtKoKM#+L2qEfKxtaniJrTHKQCz2$5O-g0E_8+*n!vPBq z9Po+#aL~^jZ~P1FB7LG~tB$kMB~m=#`al*n&t8Hhk^! zU3gio8SUs&c`kTH#cn%ot9u@o4PB@#yWpq3AD)d?E zZ}b>smy)B0)jVRNH#R=k8y0qf53d4S_^c>&z6Wa5f-0U9w^Ey=#E^5`sUaU07X{fG0 z0CD})DR?@|RI2Mrto0CQ`?$aA%O1#$m>&T^lP7K~wxW(6K412F#%v%XEvAyxBw8 z-`<4$`y6FSF};HtYM6JYZt@_cmH3Mt<1L_d_dwZM31D?)Egw ze^}glSfgiwzX^NQ9?OGAYybR`ZER2nb0Pinn)i%CuD6;ms3N?(ve~ zHw-ui?)~?O530uP)Xn7ZCGjH!>#^Xh-g2_HU3(PZwpxk0qEb|e@e3^LwJGV>Lj>F2 z0hRgsAc`=@t!lbk@K?+Wu5>w2!tTWf8e)&t=b20I`=5LBtubr%F^5dt9b=vqfAka7 z{P_AT1-{q99xyCKpH-X{BG#-rZm}m^zCfqpzubQ0johY$h|&QEWFFZ2c4}41k?^0-7!x|$EV3{4{AQB*7d{fD>)yq zz&}_S7q!y(+LA+NEitcNsG*s|M9IF5r-Al#W@qpoo@5XyFz9W!04BHtlos+1ZC1kF zcr%NzqkE(Zh^;skbCpC+r72=g;$``2)$LZt5NRQUm>e8mYV{t-oEE~|j2+jvKuR?I z_PIX99R}ibZuZa?Y~ggIpU6ey8F*Kj@@KN9=wyKD*)}fkpav`PcJ5~J1)Gu_D|O;# zF3586*v*0Mw`ZntE|G^b?i?gL<(F@@SFS~D<)aMtpvDZt>6@ABQ`f8v3O5DM;xvtQ zF)%4ayh|aqcKO=blCeIO3OD0owvh#6{W81lG0nFZ9jw5&uqNX8))be4EkkeqCX0b) zZn^XkrPVa3R_0PAD+0v=$vkJTkSSm?gw15lKfNnGV*5YA4dK<>Ih;UEpU%^@--JdJ z5Ss#_KJDV3yhTS5^&au)ul7nz4L2T;`se{PT_8>?zxn0=|T6ufwtsV-W) z8GC@>%SKL~*A9Vfc}b~dLMj&i~M(E%JqhsoT_JIOx5OjSFH z4A;A;!?k7eP5jx;d0=Dw{k#aPj#{(!d>)UbA?gl|*Iu)nmww(>k=LIct2=G3i6bRo zJT#Ltu(dY=?By@0cdyzj;m0 zzSoN9=RDiz?qc_4;&RZQ0DWNHY=^a2ZZGcov&M|D!)r<^3?EROTlFbZNBgfu{`wu( zOi-Q6d2UJ3DaxA{A%9Iu&%$*hhuuEXdjm?-cJlm1S={RJEr{Fxe8L>t5SgZ2SsE@Z zel4Gug-`(ldTnGl%paOo#m;O*Zt>X+W`Hs(V;S9`NV!<=xQ4dN-O8v_R9L z=zfBX_Os3SWaA36FIck^JHz)O`hgk4M%`ZjL^Pk2C+<>q!i7DhYQ2Zzt_p3{)<6L8 zJJc@J!2_EnoV`w1r%T5Wu*l~`%!8V14Nz7%;n_2Qy*5}r;r97g6X-Qi>&hBrbdQ{E zMh01>R-s@Z(;nC2!v00BJ{4HSkkP8b1r>cqS0>oO*__DQCK-|QnYTq~DDGV=tYY%3EAK`R@1hf1kNyMEEtyY^TV(M{NZ{jZv|7@Gu zS+PY4xz_o)rwNfog7EU65nbbqJDJlOmu>IZYjL|?H$hl-rrY&Hk%F4Ck{!_Z)q!SD zE+^6;i!{Vbx>=7sik-;?Mn%IEX#?D>1?my$$)bL&)}9yjRdsHVC5%tdxW_b` zVW)Byh@UDUi192=R7#7ueNCyp2y_J-&EpRC@?SS4o4hHW_w4|yWs1D$!TZ8#TlPpree!-icRCi zM0hPXZkJ7HqVmc1^H?}LGfRym)=#Uj;pQgkF}POO@PbD@vsSXyDwS zDK+bhu+OAPFnOLSpRKfwI!k3?PwbHfqF{k#Dz~!BB?RDL&qolGOOFZXKD$D-_;lh; zznNnEL{&yq#Whm!t1N4PXm!OvUOa6d6>Zt_G?M4q%^*Qr_dIJg3w}ak?+s1kxUWx_ z1`n*00WGjzp5Xm*^!SgPLtyxl$RmwkFYDor>DXuFQ9sL#rgvseH-Wd7R5*8y^F=T+Y&niq}X z{y4<#C%PwxQlcXaT*Y{n?^>J%3Pu;Aw&6XfdT}^LOO_Ex!r8sPR5+W3&3oTyvC_J{^9OCc;hR!R+y(GqRB2DU88UfT+E{^k00)EizM>>EImD{I1&OJ&dXIl7T!1} z+N(JfN9XHQ70xYc; z!fDA8^Ep}BvlbKeoa{`yCox7~t>yYwiuZWZxPzU;iNmw9($R=LrccKxO(;b+=abU~ zZ)68_;fF3Z$$!oLH0I#CCL}Qb`w6A_@sqqMO*dXdbibLW#3(M8v&QnYTzlFEdM~NU zk96Aj(hYaJyr2{BfaWy^i4%Ha#-wK$#3V<7TbC@-k5I>OL0L}#uNk{>LX>r#+n3A8 zJHU*wHhH19fFQU|N%?@Xd1UjRgU0EHNjm$OVLaZlf^h{ERa9}&vbB=3KPHEXI{Jmv zn~VV)6C$CP{KPX3w-Y(3K~^5SVYoCg>$|#i;6xp=;mljEu%nF>ofPiw=cHtHzQVm} zm56Rkkj`=EI+@dj7N6z|MM(ZN^@&Vu$!_6$S`4Qy3myN~blwMv?wA=BTtWOIMtLw{ zob1lvbb_HM-$plFSRbDYnHBxnr;D_%TwJ>~*d;PCXY)2*q6_8trXP4nGhM^r{5acW zM$2~RGvWLPc$*R4BR-rs-7wcTM|c0~6vttG513sk?;8|;YjN|mZu$vsTy34f88?cv zkHt@cIx>Ak<6)Uw;T$2$YFC1j+AZ@Wi0$QSGW zgqm!RADL?Dw!1ULIz(>AE}BJut&12*y=twMR8SyZ;!GL*Ei(!fQbX-Bwkn zpIA6-%?ufw@=k`BTzE29c}J7yK_Y=WPDbgsu#K#|7B}F;!XRGHPLaw4;TP-X^Kv|Z z<9Z4@6bY>@J2fx%m`mwu-Hd~>b3>5bm=Cr>cLiT*$+Zc{}6cdNZR=BqtmK++n1`{L#N#) zN0(h6hmH=>_q0gm8jDV7Uj0eNKt?4RBLbjO4*$e7Y5*r`(#fi8SU=RKXx9C?NtS)t zGG`+o*ozCb=O=sbBb@=O9`j^#EqnLC>?56ldCGP;`L?lV6R3Mt?{8Kn70?BJ7nNPr|J3M zF3O0;Lw-~xe5RN`2+@RcpQ9jwtx2xko$G3Moq8zPK=RiQYYcF5edy%vpRe*D1V2FC z>?n;jAawVJuqM~8cv;TT%)BjOHZmQt&s*hu3SYNo1bl;oc5-cya)-0ftwf`F=a!4wbyw8{2-+o(7wu(Lkq>|Ms@8ePNHLQ!-BT{ z11rXtCYs>P_3W=cTyZ|bC)8 zo=Dr6W@H(UlN1i2CI_ESt`G4Y(yVHoomrfFBObz(9qd|UdHK*fE;KkjlwGrH(&rGuQ#crQ z#@nW|OND#fA9RNiQyWPDqNX)M0Q)Q}P75~BL>EvxQLCpVzwPl4N*|MflYdMV6)6SK zMtRmt|G)wvySXvCQdKziJGA+Z*S<)X>$twPwR{INF#=FD zaV3$`f-Auak_WT*&l-88Mg@se-S;Ovy789GfsC#6WZwWxy7i)=p;M!WUvBM)XpXwd zOy<`qwwl#t(z5zG^)p^oAu0iS+r}2K=>%nsh^ppx^bwHF|Hbgms77uoeMt#zQW=_b z9wqi-*R@M<(9BvhuXj`D1H zRankaV|R8uXBmEfVLC=UvkEVLS$QJyAShh~7@~^Gxpkf*h5zi-ajh>+P6mq#k)aT3 zO5J~GmgLj#%ig$tYB-&;QA7RF#Co+^|KAN>)DaMcjy_GVv0D`m_bhnMgJHR(o!{|RYi?as!e1;4lY z8^p|c%LdcOC!$=DJwau;Ix4tY9g@4V<{?x3=8h*nEx3ndrS`aRtE;nJ-n`2yhq0yo zgTgHa`Ip6S2>YW$w8sKV1N*WBLV@$9`pbl_QU9yUJ7Ss@iBm9H+0J|&DIUab&eb6V zwMGcXd^@g4xKbGdJ=~l}vF$ML^6TVDj}40b zoh}FQ1{GO#IJ?m9I1o5?{wnhKpyuHzAB*?=mLvc3zqY7d2~{_B1kY%MZ4?^U7?FnL zFEep!GID+gH0PzAaCw1!SPfA>&oX-~&U;soU#<_ z7%#1z|87)1uS=NnZo7HwbcR_krpKZ;hz)R2*^G#c;=Qfiogg~zEvF=<@E;=+f{NpC zJK@r&REu8DS+{=vTH*m@>Y$b_z{0O>(KMu7b)wjOnz4Q}&Ug7_Y zi&#BECJ?2IW<#;oAedgSbbo#vT38>6~FwpGf;5m8n)<%Nm=H*Rm zk$+Gu?4aZaH320PMeD^5yq);ko>z5cCi@DiX`z#cUgwfdpx5QX)b&WJ$NCcsm*|B%2c#>6jkpu zdw&ibTf}1;jAOMWZrZo;8vrhs5C4Q7kR_}UQ%~MLmDbgJ0a>O(@(E)E72r;+|3r+> z6?Sw_iViVWRnLcS=Nt6umzlzdD$G>SYi-u=Gj%f+mcHGRw=2!xT4q-tsIBh_YxF}Q z@qg$i)eSP>)rjc-zeAevDOi_S+cfM>V^^*!&JDKe#P@~$uxOpC^APG4?#A+(F>+7u$+F-@%L z{gK06Mfy~kHq2BOtr?&5B4EIZ9M^U2GZHF4k*#QO!}G6|F120F!@8aZ2-XD(bN1QW zqvAaTcrnc6(?p1JAu~C$FX*vJzTBU6qVgj*<)h5kdhrr;Zx&dppI>*J2Q(i~>UZ`n zwlGW^L5i#oy3pD+v2M3NxJAON`|+#_7NiW~*RsliR8>C)w>_8{4WDFig&vt)f=w+= z#*1ioAByCt;Et^y2;*vC0Jv8Q8TgNtBF`k(w;m{J{ZfTSP!km7{L03(VO!@kpm&=v zcw&sY$r2_g2f74j4^@?%8#|}IpSy1orLwnU1wUIxy%X4VNqHeWvS7E}SpTJ?g>SFTPTQuwXw<(6y&innZW-bRk0(^I&>j45v@E({9Iu`9-?JGdEyM*`;ZuAUaBg0MMarWVez_~VVp)S*$3{V)U!V!mtddjK z&fVgu-tHFoWjHkg$s-Qe z$!rk)1SrC`j?woH5eKESaxJrwW1UBPA_4Ih#vyj4d1p8S`6 z&Uq_3iQ^FR0xGJ5vZa2{<-H7oSfbwg4lvI^UuXPU?0^MK}D* zl9Olz*7U%R`L%l-CoG;Gpb2i@iy+goSGe&9_C6vRMDzfQ^0bt^yE#zrF6#>a=waU} zVW^@yh}HZ+jXGli2T_>?_1|%g5g8y&pSKO zI);Ut@HNeu6!wT?ldP^S!VBx6Z$y;`Hn4fYEitjRkljdhnE=h~+})d09mnvHMPhT! z-nArUCbLundJ+EL!OU2EesaCsrZCvb%E9%C(oEts9|6htr~W=sW77{b)7Ec_RVXVm zP5y;0&w$1)=akCEoLOFasP6o-*V`w;Gfl<(;1N+U3Yy8+r%ka+4#W_dLM8%7`DIg# zxbn;gy$(M&&oM=lB4f9V-^I5fjxO`mO zSO6KT2VF%o2{i#nhqb%Be6F+^Il0#F5*xX&Pg}z=&*AQa9YmVt9afpSz>+vGCkgMy zewX`kZAGJgTQFx|e5X}SRI1@q8(d!71X1DkuvT;$21dVwN@2g#zZ<5w1rvOoHNo&V zuu0xi7KJXvQWnlXGOmumwEEdyf`dZ`sn_0|0wa9$X$nH$(}&fIX1rv*4pdhjp&$&c&q(x2nH;M zLUab#S7X$psUsTC%*Exu#<0(RaNY*SiA}Kx&43xal`s02QCE0Vusw)45GmTxlYex~1Gc5mOD`Bb7T7vnV z`AqwKj20q7{G!fVcykDeJ#r-{ciaE?I@4@PaTp74=miJQX8#*2eZt1q5oGm`?mk&L z=z)#i%?6cCuvQ_}GwsT!rJ zm8;996$N(be%aUg5bXGo%HAeb6ji5nKw;r!V{}IkrVOdqg>_}Y%-Z zxBC;yd}EG{IRR8GhloEH))b!^aJaiVZKb&nZMwNpQWuAHsI%K8dSMVF$#)E0&JIkk&^Siy02~6o;TgL>ReS95% zSVvGg>rgK-mcwxV!5>_{iGHpQIs*(!R>gHw`Cp&TcsS0Oyr^x|WTay--cei6am?T}Czaa1DL-l) z(kd$UNfnLl##iz*-C;Vum0LzI1Edjhavd}__e&n|kM=m*MZ72?ZlzV~;%-q@qYEXV z(GZ=esWM+|c{Zj}fH`MBg|MH0LYuG6w~$svE>CtCYv;G@>e7f-7eby5=G9L>4k7`CqL5fb{O$Aj=h) zy6PQ$$234~!HJScLRL{D|AgCJp{v$)rftu}m+s)(1 zPzL=V+;*0bMiwp#LGex6q(=A5-Q>dYpI_U^hL8Kh+88GrKJ^kwqhVYX$#*=1ac8;L zeOc{LEAxOmHUf2jE`6`ul(-7${jmFTmGKtsMc!Lvx9GZuT66~Xnle)Q4(rK|&XYV> z8cjH)Y!;|alUyS8o>kg%gmk&fDAZrH0(>h2L*uP$^#Er6DL$~qx}q#?G-oDSXD*W+ zU@Hn!r`fTS+-JGNyxPqaMTnag?@&RU8>V}`h$xS!1~NN1Khg&j%Y69OdlKn!+C~hr zWE7mMLtCGPj32r65I%Mb<&BhBV8RMi>MNl6ki4XZQzUYK@k{axAk=y6Zh{@S=)&@R znz!$2e&)kZyx5;9iED7avW`5W0n4@nhU@~!04qr+ZSK#`$)TDfz<;fXl%FtSWHtsL zi4qfo^d}=n(2|#WhPuW48FeP{9nu^;lsEAx8d630`L6Ah{W`Z@dQyNN=e*q`5i8wi z4+AywZC7PHqdG#g)pGV~tt8loanL z=3w^eyiyLWd8fY_G2IpQdB`{qiRx5TOe8Z3C}PKHXBr%)TodGIC*z6MybF`c{1~R0 zCAnWY*%8#dH*OweV6w9|otdmy)wt&dXzN0yIF;j6V^~*-TM2m>Y!XYZ)UPtFmJgOjmr>+?Gqp;3T%T+tYAmlM@wvPA1G&t>cLHwb4 z&_a2H**fO0n0D3q-uq1r74I|W?i|w#zene(~Gk73~9W!dQU>G z9k$O504;S9W@Th;&uZQJnc_(sM&D}+e3j}}Ty_eQv;SCGdq_iQGt@h8$3p@6AGgsJ z$av)^3<7*6aWj>EPO=^CaO`7i(!x`LV6h;#%6B;9^i)=h$@MtZVx38o{qT=^-5*Rs zs{y63Wm?E!Mpom%+3e7+=|$v5-awk+mca=1Mfqn&HZC|Akmt_EPw*-1BrO^W8f1sq z<+!8iq==zGvq@}X$8|)NkK#|CFDx7U+n_QVRj!bRVH~1aboMsOuB#teceF8JHBAY-8?YD@ z7tRRRuPOQnYe*ypXG8v|?I7kOS0y?ZhX|pvqUoYP*?^MD#G4&Dpzk#n2|mjE*P$vS zIW<@|!O!D@%GA=n#5}<$0s2@tPC9!_Aq&-JC;bGWSr(_v?zi2|Bte(^ozi+lBMCSi zlAm_tHo6Q9dSa`J&8Rl2!6F(xc}FYRjZ_ZBhyXl~0{6eCt8d%KJEoB|+r51RaUy~{ zz}in;saN0OiJKB9{M_h>Wbv|{Uh=ply}Y1zcEWSo{?vC|ZPdCg{ekv6eHLPeSERsM zM0NXL56_XUqMIVfC=YU(EFjpIvF=&ZcmS~!!qOf~EE(q7ME5iwW#?tBmyo-`RboMq z&gwdt&w8(1Zu>gq+E7$F1^mQE5|&>A*YhjE*Ta|#e17x@EkGx7u=W6bJ}V*QR?5Vh{~&;Js7`{*1$Ob% z`0!rrgvrLSyD-(_!35Wuc@b*8W1953;GD=?zD8P8SG3#x=_@)gvYzSKF{{LmdrvIM ziPIgF7BBikfpol=ZXVGb)-*25hR2mPiWBX?Ci>izVZ5C`g|5q;jO2_?^zxUe2=tR< zQ_Hj0n%$}RHDP;Tb0F!A$mCu^^V3N{J*}cy5P57&Et4!+7?!lhqO){RnPp?tq@r~| zcji}lhrHn04KcjEo&{HY);h$ZSc~ z$tgkdYB9XFm3L61HgR4g1%uY;WNr3+S?r=doc@I*V4&TPEr}MgVHKSLJK`=+@^qfn z5nZn|b`NS6CQggY$lk2FCn5f;L-*=liQ?I9oyhi?;`(xw33q~4Swy#_dwC}dcMYas z@-lKjPvH7-l{=sH8gmA0heUVyI$gr{`C%ijEh;QeSJqVdCsGM)+5~sfR>9}*pyvJI zd`S8=v4TqQ$)gIDJ4m$)0kSYaXhKityErf^7p?6xt5=qb5x+yBk?oyR?T!YV)ePM_ zz{lHxv4U0oGby0sd1ZG>6nX(i!k$f8{u(i4`SS z$0~KFvM{SkJqEHY%3n7k>h#p@V7^s9bvkz)EBr(=zyD4_%zQz%x*SYv!0Lp4+v%n+ zu}Gfn0+qJ+A*&G&c!(y=q|~Os_e8|FHrF`QBWN7Fs zT-8wy58W5t+q?!{)>T?@Ej?*>r@0qZ>lw?q;Vw(v)_s7hoLX(&7mQWV@qq?6X_bU6 zLO&T0+yl{Ur3oSyvM|VuTveXrba&Bzes0(3MVtwFImCMjo|5l5A97pS*+!2|Pb%Zy zL$RoZDbEIXu9u4;JVXIEAb&sF?vyeW~os{6-@o>@#&8s(>Ynv#FbYQytOYr8m+ zXASQmnjb53yC}h{hLwji`?V|mv7obaEOMm9l||Fjk^Nn+?ZpcIN!_p|g(wlSqppSY z+TGY|j7cuXv#%8T9Zs3y49Li0h4_J9gCc7q+oqItA7_C9S?^v{DL%Lk_KMu6B=NoE zch`?`r(MW`pRPmN=G^j+<)yt8{W(vseVzp5yM`nt2X>xe*T^Sk=h+_cdN(P!)W_Q_ z!Xui`#tUtilu}!C`%vs_QOTz}RYxtpUG{0SJis>j(%Pk0rk&52h4i->$$v-neD`;* zhKDIfnt9(ENP-_d9y`Fx%>Y?IroXF3{ZWFN)lh_h`I8d7pN=L?Z|o-zWYV85w;!je zdO&^|&IzzbL0Ez3v08T1$l;|mE!0Bs?enuHjx_sLa;x7eP!{_^U+MG&cFncKHD)3u zEJ=aHDK8>7~?jKV}M4qOZ$EPBCy?EPOJEjo3OgXD! zC>-qgJr!xL|Ft?u#1tMiz>2``Yjs`3Kqj8|OoaW%booH~)Iw2i7{pi+jG`4dRH=jV z`qHHlq*|uRVjj%>6kh3=9?;lEVBem+m=KG1z?tqGEuwb;mB^&V01T0kHCd7u0a}CA z2cjIztnyTsaMzpH_4H3*^E~C7B2w_>ZgbaW%UXrL;jV&nHc#=_ z!-n8zH|mj$RfPS_f4B?8Z|ZR)G`bK40$v%r(R$7ejZhw=ez$=6czMr zhAu|7`#0`N8Uf6mr4=#pifpb@5RKyCluR9-CKn}CKEegxw!hP`Jgxygj?Q}wt`8Mt zZ<998iLY&nE=s^_K8dg~pV5VLa66^-(fU05#j6o4mc5TWo>8#W4Rg-2#iN(_ht7G= zvK)61>xR5;?ouc`&W*A@+gfj~C*7ENnK*Q6fpLm9^(QRrJ?%|6ENpCUb3MADz2>-MS&eRS?#+J@RPPW z#EDBRn5ST6w5~$sTIs{FVV-MRYZYf$pcmp0hpG*v_l@$ zHBa`PtL>4liXk~`E^4>PW=7qb2Q2C-s?jRgs5b7ednhH0-AH~FV7ddE=iAaWK2Y?6 zLj>abW1&TYf5uVdY1W!0E{H+Ipy*VYEvtIsRu)(mz+_GoYLcO*>o-Z%EcQ(|i zNvw!^s7#IZPlwjjnAflrdA?=$PS{|sKT(b24f7FIm1|L5yo1~&!!D42YuHu*zg6Ya zAdk@n9C}MciEN#VFyt4LrV-B=JjQsFzAR;|E)uScbth{e3Iss3pph_8d}~BX6OPW4 z-|g(<*ek;yAaGUxm7jpdjS_u|O=n-FJ+!M09D{1HXZO|-8{!YH)7x6&!*+hRtp><* zs9m~SE5DZ}&dM6St&<_ad#iSX5O=Y(gQ6heE1`=)>-#9egBgMgG0h3K(%_hnTu0T_ zIxu_f#c71Wr-=%L7beeshhb7Ziv0KPoW1;p@xMbF=`kgSs@B9PE&>uo-7F4pVzk>+ z%vvgQcCEw$sw4KVsdMwK6d{Ch#ux8cD35B03`Mt$v@b?|Pf2ZRELP8ru~N`KkeAdb zlkFK-!D_qA-UET?aN+WrW1WDwRy7Zv{#byHMsMHvI??ez-M#DkX~jX#f?C=)gF8}X&i2J zo{n2J9%vC^#&aj^ytkw-$-2O)RxmN{UX&0bYKI(=4-M0y!(q}j_(@?WH~LT|bbSXE zN4K3Aj#QVSItOO)`a`H9Uv@Ogvp5F%Z>^DVz1VYE%P6-G7}`TbxIM=r^H!CJNZnZ! zZ2A-0%#&Vs^AS&Pqu{1gYdKEQ#yaykPj}fZ&L7R4+19&(<;y7O$)c_}EFJuJFhd^J ze&w%1U+gMUj$)mam?~XKwa3VBsfv)zYK~b!HMaonn33>07ej$s^U(45cSJ)WHfB%U zz$&CgxAR@mo4wQp_2%u&iW}Y4CeYF1*6_N1yxhHV)g#dp^7*2@atAaDl6)uccqlH) zt?92W)kb9_s_@o~RCUw!e{=t1B?;S0r?%3$3cg?e_~Pbuk}Y>5pk!I74_)TV8z^f5 z9+}8-xP{Iet>02`LGUNEddCD-Y#FHf&=26$=JN3q)3{HZ3JJ$xJ%O9|Dw9lKu6qmrD?O?D-^_|EscvWGwMt1)|(?egDB?Y-=6mCeu0&NG(kdik@7+Z3w{lUt?V zTiUL^t(qffbXjEH{2kRCvO5tHQ^utKAns}CuM6tiZaTm=Qe^iYH{Uq&Hk_t)VSCDLms)GMM4n`XoUHBuenRIE&`S4SiZe`L{yAAf*on*cqpsk~bF%;Qvjk8zcEL!~N*@{QZ;y+i8NrD*b>7bCWy|^&JNhDWV?SYy z7guJ&-r6%y9il|%2fX>5M6jdY)d}l`)S&vymbC3V7FGA01wry1(Y*X`W@HGvJ0x}& zN81o1R)FY$#1HK$%Nply>69iwf!#E?8_y}ejc+}qQP-l@S1OZ+$7iYkUBxYs(o}Kp zw{}^!g!Ei|(Ycdi3t{~`{iC!)DdH+)_2}YDo*by_{73QTag76Bd`beb;~8;-raZ-Z z1p@scs5ncE=@9M3*4!>fhz}fW`<189>g;seo5&e7l_~2J3mo63^FkO#b`e{Y0}5hU zJLW?a`}nx4`@b%~dV6SaUR51GyBkzr?$J2W$GgQHmK@wI zri&g!LaAjlf4+^R<2(A_BkMC0xO^W>_UGrea{`8Ov1_?u4`Hd4?xr&Hq}X4E3dgxl zH)7~%x{T3EUaw;sk7LyQ^+ZvMzFktc7v5SRdXa0jQCIzUvZ(!yk4{vy`yYVr0x)Ly z+f{t4(@B$RM?AksoqAle4yc~Hdsl&=PxJ$?_BHNdyYQk6N(9zohZ|beLL_zIxcVC^ zeCu~7#_Bw~QP?^)l7CFmX^5{<$!{`Iu$$_o-ylr5%~7f$EU!+#$pv9o%iBn7f-C)r zYUIe8{@9P>Tepl35b@~Zm4ouQo8BytT7)&;Wd6w22jD=92_&$(Qd@7Nbbak38xX-b z!y!Z?O^a}pia&OTt5ex}p_|I+Avztr5Icj+~ynQ6q^vzciGR9pYTnewX@oE{#e##BgciIWq(5O{e_;^`Kxq7?^!ikH5%Ui z9OAa*LTAcqgOYY2MYUR1`>`uEv{GDYbnEhOb`DiIguKeQKnRuPmXvSp)#al(`Ddg6 z=SDJ~6_E{J+sKIgUQMntzpy>btEaootLxHgb0E^zRYsk9|HLvM5So3>ku;C{(I0#J zcFN-o-QCr%^$#Z3e6>^B*P$*aMd19XKoPFlL}Wr|@h$YgcSN&&Yd+wnz*Xz&t73UI zJ4fnYUFr`Y%EE6K$~LWsui)BavpR-aSl+#%JeYZyJy~NuqaXlxGOj`B?G>1vkRgy^ z-0W)HY)?VkmLCpnBUzZgN;BQzj9abUWn0R_wlNzx(iDSVQHMkg)9 zxP$;}4&wR2;tK!p^rl4QVNIM}yY6MXwwyjr49Yz%z}VGVuef9PW2xbd7q1^F=gGnQ1kZ|0iTbM4CX!dK6bO_Rvyv=sc$h)1L|gk>IRPd;K^9NtP=q8f+0C&y+Y z=CPcY7?B@IdilVd^gOL3luFyT5u#6K4;9htXITM?qb;0Vyp=8A`u{ti8IeN((O6!~ zy~Nxo$+pja_RZnM9u0P>Yo+9FOggf--KrP76j`(5dcVvFXCe~&t*>gA!s4Ou;V}@h zT$5dMEZ(YF`C1vcE64}~-3GA-=gb?6ie`4W( z1J4ZG>NQ5OgG0lw|=RsSmo7p+=Z z9<1xKm))OB$JStWLzic5F3G;F*_$I=PLcJ^9FrpJTRTTEXoQ&nM*k4l;s+!1L-(6C zxnkF=5u?X7TWu#p^17FZYO=4+s*$}Maq)O@tbr%`B^3`AO1sHGv-wqI_pJu~4r&;U zS$p``unX4Sa(q?=o`E+wUq$XxqtpoB3;>r-(wh!yBCik1RJ6Z?N3BLukc3JVlk;n_c z4)_m@=p`8ooM*%JVhr~)J6zNd1n}q7MV%tzD{x5G`i?5hm*!a;+3F^;W{y4M0(nLg ze!kH)cwltym8wdA z)kJ(bT)vli_U$g-qSiuQmX!G3L3&IR_jeN{)8@*-&wmJ(voih4;>=WFn`}Ofn1L>R z5BFAAHTm0l=}j2b(k{owgGmr1na89c1Jce!#eTF&?n53eUz@tQD|s=bFY^yYBu5r^ zA|sKp3j?NWH^umlX*2=pyr&{ys-*%zLK?7`u-h}Z{zX;*1|=X8ct}lGA{UBuyD7(o z9{tNE+2bi`#N&Azt+9nK1PpU*P;#dbZ{K5frwF}FT2fLg#~O&9v=$9i#amADc>0JZ zvDttFAqwbRAq=5JHwF}0&U<|jT?lSI*}jY*a>d_-ntT|&M1g6VDQ@3GAD!$=$6>joFMcfXVR zv2HkYu9+YVSnk-$Xgus&S=lg0x++1m-pI7KcI1w!j-cvrdA1y}gdxM_`rxu2vEqg$ z@iO%Q{incI3VWTWesE5e(igoQyEp3_bHgL*aYW?l8YgZo{ds+d-WZPkt{W?;^Ac5X zv*D}O1#L^`m-k*15@L8&j=ZCqha1<9#u-ua3==oCgS82)+PZ|Ek_tb34=G{@Pd|-2F&lsERAk;Va9y)cQ6Jfa9yI%&B85H6}G{YkG#hTKi z862_{?ljFqSn>?bon1>4uxN77xK!AIvTF&%Hai8k|>Mr2GUma#0{xgD^S;{}^y| zR>#Z0MRrzklZ)JTc5>E*>X|y~9h~azK|T@@7#ZywzCxOcs42W<>QF>F%WV#tSOXO= zhZcsm0V!4A1xx^CzTUwntWEe&B=bD`7!m#IYi{Xb+<7^YpCz8PkDxKvMD{k>wlC(f zgGO5`GJFu`0clIQn-Q7|(jE0>z~*6vd9XcI!=O^UC&N^%K#J}kk?+{tO)r-xT=tO8 zN>ZJO&xJbhnl9T@Mh^6q$?j3j)9u;XWoQ-&BC#<{2mquD);=*=M~Jo{=ck?f9+} z9=VeHKTN7ToLPQ2Ba&zTOt9%sl^D+7K>zOeBW2p zfd@0b`FOgEvHkr5GQfMwzL@JAT#F1N)LM!pzXyhLv1*`9leWykrc+qklry3d4jr_w_!-E=Qn&gy7giMwvIW3uF zvvMG(=;W#G(q-@c5QqdRo0;ctIb!vI)!p+LdBQH~kYS(Q@|W`W$L?{7O62B3 zva5%*;%NH~R)#=C&|{4(&bt&F@w9oXMG|)UB0}0j@MWV=LBJT<1*}OoqCl+dcB`0o zb)W>@?m7iX$!|YiQEWstwKS8HAPa`vQ-_!BZd5+9MFD?h;YA8GF+s&NP=B)M;%I06 z1$SYJ?{^x(jCG&=)974dBzB2mD-GF(f3fFMaPYaL``{`>_wK2vVs=cCAhr@FszK+^ z{LBa;r#E>vk8B<$r$k0D3`#|y8no+4D}s!E;byVt!X<4R`LUT)DPq{UQpNlEF8y@@ z;Zcp9R&s762pIwOgBGESSMxAeGFE+c_z`92lr`GcptBL0Wl?hc0HZzL0OWT}qoz#B z>k>GP&(`uz-$IwLUniAHoq~@PnsE<)%4O08H7k>!qF z?p4@j#~a_JNi=fYFPC#0w;|>c0V9X!#?D|?7sWgxG4(=9$Z>(D>f~z8#I(wTe2<+hU1!}n%@gWqR zGQQuuzQwIe?wODUu40J_GL`5ge@8Qe@l+i)*)1z98~>m#Wdf3HBT=&|TW|AD)Ce6CEf8yX@wKhay$;8;!bVin2`q@-{;lEAmmFI8RgR2u;3iN-xxC8Dz1kw4W4dkobz8`Z}eL|jP2b;;+xK|J%T z3-le(XhZUyoqZ2JO~!yM>qee~tS+WE_({GL@^aX`aX8Ffsr0SGY+LEzJDz#fXUohW zJ5H4t4Y#S`@-2lOsmTS7`>__)E^wgQs@5uzt)ynM{u(8cwyO8{6xFy*@Y4cK1pIR2FH6U3Zr2E+A>}&2S+5uG1nK=>vK|ya1mGe z5-UMq=5I2zN8nkt*&6XRyYu<8m&&NF$WWBO#GcKodgft=MYQTMwN+C_^@R{f(mUp6PzJU5#(u zn#(u>Qw1BaNfY~3RxxRF^5gUz>2+1@G1Zxj*p~qS-*|%9_T(t=ui$`+D~g4xZ^X_^ zmIoLV9J0VoEcxsYEmkOr{CHRK_o(K#&%nB>sIz^>X#)`yXjIx%m&USKPL?$|vv>)_8ADe+1C1>bV#&aWAf6wB_ymMKA!~vliyf9exG-Pu5QOO)YOr z_Zxr3@Owz}vMrXjFYg=W>j)I*J3s_at+p1zZK(2JGE9P~#aeD*`IB8ED1FPW!nr5< zv(3O@q(?wkBSAU;k)ei=r~Ipr%eR9e&6+P1H{_PKwYjcnSW;WTeMv>;v7?pvV#PLt zDKi+n@Zc!f$(ecV&&o9{10Lu#ha93VaV}+H$p8J);S$Q?uKBiFD%CM=0NxAGCxDZUPSYK@eZ1^Y_-pOiTJpvt#03bf*QxU-c#&r8;CiZuWtyZjFrpGe1@z)MDOtV`(14+t6ExdFBYv+5XiOgpRG*e z7cLp|2ESL<>+WcV{ur*!VCFQWx`_J`F{yeqm>KE7&you%V8~==Sq?1HhbQ@S_Jxe` zFO`5q${e)A0+Imr2H^73WzV>tL+&{n0+Tf2Z1?}YJo0k0*aMfmpmr;Y;#9|xYN!NWTOPcFglR_pH z(D8ppYBQ!e?ytAM(isHK5!lw*p-%!7v2&ygO)k>m~O_qVXIcD>>iNC`mEgf)Mj$(;Z)LS1eHsvrK!;56@f3f`Se-0hy+IfpgSG0c)^ic^vdQ~&5p$?Ut?3n0_#D@cc zq8-RzSxbeb!GbgNd58-2av`tO(-K? zm9cq5(?B&vQiqZt?!S?itE#O2cVKN~N2feS6!^4{#2i%x1?=1EzUUP(?F%_ZwOzUj zjAU6>dX25hBNe?NEo8o<>hmml&IW}OHZT}VBFLO}Ij?rWNvxYn)Cs?D zvBdBlc~jD#Va+vm1E_j>8Kd1KXWW_@83RHl(;-iSP`K6>e!`L9y##l_(om@yk?zha z<+Ww{3Trgo&VVF4>R8cN_X?S#3Kzlbf<5+{EZ;s%%D<1U#r`CrUO*6(A9mjiWjNN@ zK}0o$edsmKRW7fpt)9L5G~;A1(?FG}*BAI-X8&`a>)9Lk+2{77SLixgU{XZu_gVy4 z*^d(6h|9;@y=fw&Dq+S{Rjaz5-(J4n;|uNK;|80Xh5CgcpptH@_Zouc{E2Inan6Q> zd!;+^M5&{H8-oF1G}sNqJm!IAbH2Cfpr>%{M;i-n>H5CInXA5@U_ClNS4J4Pav`8C z-;n#>$*RT*CB)gZt_J)R^eW7Z^y(&J=dus!^@Mv|v!Cl@1zE+G-aSF9u;dGBZ>th_ z?`RS1Y_86>jxg{jyUo{f&If`*%>4;wB&W{U9;-adn1d~vA$r2@QEBP`)C@0r16)*I-+V57wJ^U8+{;bZx_U}D_1ac+4+DQNel}e zaV7acraIJN1Bb(7IhC^b?}9Y@iD{nhdm)M5yKHgrAFC>U4IlE{CDUA0bDK&wfV7t& zN#F-7f~qyf*gvtPanT`r*6}Y}y&hu{D*(`bUpx!fTvhGE1afs0p-5${Nq{A~mA>s& zhRyBmJCIqo_3O_KYIR+2C3V&Xx%-;R*o41Z1VgQ4hpe*Awv*5vI<$u$ya<70%b~O0 zzbsc@u6C{{CIIwy^M=WKx>(d!XBMownxUWlP2^Q?bsI%VUaGqZ9&p+K367-vU24ss z<`~J@k5qs5gD+fXbO76y<1+X|6^f;QWJe*BIj)>TQU-~-9rMr?JRREWWXnSuhxq0_ z-ug*v9+FTtOgq!Sje&I8&jwdWyhOjVZtR`%hlD>#h;<`8_?bRs&#OTZ@m$k5 z-4R%XfEW@@U{Wg(r1Q0O;M&wGY)^%yk|(G)3$N}xCqk_RXh)9I%fTzLWAoEYG6^(BisHi z<{oTh&o2oLlzo?YUv%B{R^N+$0_*cwk+ta;6`ft7e~C0DFp?@rm*Pvj=f7Ls8uNA&mm$Y`-@wh5v7>}7>s}g7C01f9FJ1HA8aNOI@6BZ z_ujbf))Tbbh~?ZGw|7k9f2EjaEaMun4-+>LOB0MF$9((`jd}b4&oaQ4%>URHDJu5^ z*A0kQA4-vSvUzFSHYKr4xv~=aDGUD5THle4_vSoECW`9*;uFBAV_S|6fjs-Za^5iP zwWh3Ox1u`~bn#VK_*0$n^HTI^9Xi2|X#GFosQx1ey}Kz8Oho}*O72|=fDpxeh@`{7lKyP0d^bW2+M3cZaRMUogVpDJ$r^S zFSg*B6%O|~)w@|mqH<@)Zyi!dk&ik6+hjXk_DajGr^PUYZeYzNAi^FZBEixV#iQ$o zPB$YO@Tlw*NYuHd7mTPJZr-!jpPi^o%_DVsS0rCvMW0-@?$#BfWaFv&_W1bG6(*9z zD0$={=RLYZ%KB#$T(330EBCrvNb;GL^rq|Mhk3I{00XR|M0S{&O}xG=0?IQW$A-{i zHu0TiD7D-0x}~>p%M%q|QswK2IhHWWvr9;oTS-I9tnX0D48;c__6Cv?8Cu>ZK?U~~ zoscoW+0Y6N)ZCfF=CX8HXyO-g>y?DR*LMY=Sz0}T^()5`&5q#E8I$16O_ zOy8qzOYc+zYtGDF{}RS1^qub*t;kU`lY8a3ek4lx^H8A*GV^uF8mGC-TNc^l%Qf+n z2%uFL;jG_K`Weyy99pM(Bb_!~yqJO?a~g^A;(r6!Ji z&gbJ-3W{Jl&%ZU>lD5Br0k36ZQ5*E8H(XXfPo=Xz_)Jg-ml|?m-@NhEJ&V_0(>_Au zwAL9KIhr};Q~lgC5fBf{&9wQKD{>3)j&wf3`0HT~eJ<8FGLQM7Xt!z1eTOqt*Rt~+ zT}4+ck?f3M+$5kpKi$u6-wxQObo=4aTei?V-T5oDo_6z}^s>G7c*X`a$9{K<2oVWG z-Oebk%A$(hT!P@SI|t|zMFBtJfN?3|!u3R}EMYxi+n@VY$eKY7Fl~-+VymZnN-u$n zg1bmxEAir4MY2+J$qa!gMKns+R;VMqCg7v5Xv*w@(upA>8}#d%4rNS(n9!?=U;tim zGW%Lxd`<4~8^{r8p;TwKF}pP0rGcfKRnxX2R1>ILYMmzoC`1sgyW zK>-IL{PpIGS+QNT3=ZC1wW1J^DK9Mg8C9H5%2PNaXsyj$Y88C)T0$~JOKNRGHDc#z zHJ6cz{v|AW$k_OdEw)$(!u?_^Fr%75d3BvOL*C@SpmbGtH+?Gg!irqDepZ{E>H!Rv zl?~B+aotVp-|Dri(ld`pIEOG&x^M(t7w^$xxNB?15nTnmn0E2kGe3kdbGMBOaA$~g z$y^f+yyGA35HXEaT6XdyJXxU-f8y=?EcRTMNW;D&DGsSuAJmE-gp}M@=5BhNAgiPD z-S7qJ9LEq7coDE%eOcK;pFAkXG}7uikG z=6Av_O}ZX(A@cunmsrAystso6>~h7QmBZ~y%uAri&UK|b{?QYkF%8s8&i53%?lbD! z&|njRw_NNZ`JxL^Ll=QAI!K&7rRKH||5(it3c+nE^srsObocHN{`&KB_Nfy2H}ct}V_p_Ry2gpBNj?XEe7p#AR{XKd9_+t!ms_@VU zi!Mv&pfc}-PU{)5PLpOv_loH;+}(S~ntF z$SKUPuf<*gkWF*A25diJjf9=MubYpW_9~<~3{^;20oOfCS5m?|Tx%<+E0)9a3b{Gc zs$R#yClzUXzN4BG3FkqE9hnEB=~yLX!AV}6mnsrgLICtkT{efjq_9oEbE04O6Uq3_ z3Rn>z1;!B*g8FM1@+uo+v z9@ij0<#K23vRiVw@Rd4+Q;VFchr#&zYmHsOyDxshMRBlMiB)`rza8mjKm)&$odSsj zx^V8{)1(cLXSqL1Lb~C#T40~fbYE)XEN8q%Ob>J*{VNn z7iT&iODK!WR-Jzwv%M9AUqOX)26fM_`}RS6eC?EyutPc0bu&rweZZxhnHrq5B}@a@ zK&x}C_Jl(Im06xK4MW)#uMk4 z=9M*C3-ZmdHJ6P-!G>>LFAxupm6HIP3pdctGfd2t*1Dth-ikC2WEiX4fBy56FGOLA zXh6ep;2bmb8OxdK!OTve;`)N%0j*|-&mTZ+thKlOaKMj*%s|~%@wHAAMK|* zR&kxe@pYp4qL-mEHhPS}M2NRC^;YR4OVl_H1kvwnSP+$Osin)E;p}9Mdd;biEQNH~ zl0f7>p1{bPNL`=t#C!&M3~IIl>2mW|)fFzTol#y8p&rS+=4-kaFcL_>X6iaskUe4^ z_VghMmY|MeW2>&YzF-m=1hiUnunha>_{t+1`MHvxK|G39Mg%>Z#Y)G8i`1a6fblqW z!H8wR+5^!#B<0eQ>yK|Cx+j$JT~!ASV7PXQHxGQ!27_-dprD9$6x&p7$#v>8-t-I5 z2L(u|2wuM>w#y1u^#(4yP98kCdD}bNF+1*KP0M1WJ>P~A88!E)rj2%yUK_@rk|l_b z-sOYhQ%-*K_x~Etz{%&E>*yLAi?`@DwpL42kt{jgwn$w%06vM_+ow6xNs~M6+BS%6 zpboSE_z7#|>PoJ*^OTjE#@K~MdcBB%rHw@`Y*}|;-5kZaRgZ0xL)EgudeDXb$CC=r z5%=XI=wP{|-Ig^9tJ%^e=n&z}6#vE-tO5wa(WP~@Q;uci%nF_6_n#>s3|~HbFs@am z7JlG+tgf!h7cnro@28r`d@!?2Y@_p}&)H+7{8Z7W!5V4K1eZ)W-n*Iqe9j z4tiDUXg8v@(;x(&40-2H;O(o(y4)*8C~d7cKjXE1^nm8uqsnHVXRXkJaoT}Ipk-ZW zexbLn>uqK>R>CY*orr3U)hFvuWvaAGd;{3Z`?UIHPU}$(CT(^GB=QcczDj)f+A9_G z6{S-`z;`oLu_KA=-)c4JlNqBAb3@4w&9E>3bjvwR zSGSq0Z;KnJ{st(vKergQTSVj)6Q4#{qk)?b@jhbnz~-dZ`H$>CHkW6tiZ^Eq`+ey1 zic4;}9V^5aI;dYU)d2h2S&~o)zwV7anlfrP=RHyuomKow?I1vYPHQG?2b)cjPSSI6 z60PjrxkESAKJB3cj$BA)^k4@Sin8MP(T~zcnqGeO2b}Y?VQJqBCjyw?P$Bk%IeYZG1(;EUB*S+yct1n1y< zP0Wln+M(jRsQhe~vU9|ePX4fizIKRjD*0|ldoLm};$PErYR;dSO z7D0AIA9x~+Is2SR{JAmX)i?8D>O$SpS?ay)!^!QR&#BKN<*6Ha6$#_xF81e+%%(L` z-YM00+C(z$Gp<(v2CIkIAzBW{@buSzVTLuQN=|wNfhNKNNRG5G9r~-V&t9Vt=SQdm zDlmpag{|WOyQA z#X?GbrHFcHb7kWsNQO2_-=OLSELk?1Y}}xw3`%xyb$d<-Y%PTny9tWmL}@GY@voOQ zw>H;3)jl_lPr?vYu~m$LngzJ_NAZnaO!AtFR!=jmJoxd zB&(9vKq)X|R^Fpy_2m3%t&ZZ8vx|CL$m7TTbNEUMA_C>kMC$u_ zYkj|>**vfmMr5A3Ge)Ls{RdBgIj~yyGE396To8{}9h-`!@u_ZmXu%w7f>^QAdu=K2 zh^`S)942^C%_O~FPTR7`H8PX&w#CLmHH$0uvJF zV72WiZdfKL#u!{eGp>bSLW{CTkx7W%HHeUv6l z%y8|uoDXY*f}5H0)=wca%HRmdF3+~z)~7mFbS{-}4Dq)Fc)mu@-*L4W*PXWGp@vhX92}(~)+%gv4uLCparrOEpGP(N5o=7y*w!=44U$|bdb59IP^xpla!Uw3U6|!F z{EjAHz|Ah!?#B^-i<9#eOBj%CI|zR`ecJ_oU6|b8R!SDXoxqIrpC^RtuDMk~_{05# zEO{Q_Do%EC9F-U(P-t;i3LSyzq20{C-cU2NI76G6TdAlY%qsc0R3ggqy2U1rjD@k) z(??bYb5TxH>w8|Ud>=1PUQa~hI5`p0>a=Y@Vn3qW39XV5lRkFn3T&l!kj|mfn?yk| z(cSL5SF6E2%Gc~fRAaqd;6i%s*3{+5^LMuYk?PkK#AG1g$6TdJB2vSvI`uY)<@xqV-xW^0KnTM&{y-<}kngf!Jvu1~^?uF5A#>%81;FVL8ehBHJC1SN z2A5a8uwc4|etzScVpN(%PdC7%32Nu~@fXWZXnG{!%TAYjs{FDK@ROP%(wYJd5q!8t z=Z+EMl5<`p=9Yq(i!L23iyU|C6;T#^f8njE1!?lFoLoEj6Nu;}Q@nScrpGfN0p(^# zB82+T5zsPgvZ=fw6C!7ikV{oqB9N1!teva64CPZdwd{P$U(1mvocY0#zrhmQM=xG^ z#fjTNmL|9Rt*S;P)M%goe4(JZm8R~0E-uxO!IP3=zGE6jLj{r~6iD6oL>_nSk{(N= zvAcwXliU_=eepcABg&Hvj*Ag7z3zm#7u{ixXQ*nHc=9Jv&AwKp4dU@&ce5#f0(o9y zkj${H-n6$pxtqYwC`Hz*@}^RE#6AnRs`Fh0@eXW!dGVfhGx=Ic;GPC<*0^?=TP-Y* zP&?oGRAzf++_`O1u12-&|INMw1zmkdGurPG@7$f2Wills#SGXPT$_Fpr zkpQ6utn|51^HsEqJ#TD+-q=4LQ6C2>j=Y^VJJXPz9{4=(003T*4+)8kE=D5cq76=n zGL8s+Cn##yKL9}<(KU}!20+RoSs;_nYVqvrpL4_T#hSe5?(3(uyCEL>Ou6}k5-sVU zjyE?3c-IpQRQw#E({`fBWnU`g8W06``(?TwHY6@s^Q}tllW-Y{2#Y<{58!t@bXm0j z$d%L~a>MkJkC%i*RD-QiZjPiE_4ASde!qJ^*K-?{S~Ws@uC97DfoxR=o6hn;nK2ye zD5^H!5w-c8JY&;R$V3GWuq!8a9R*U9k7`?`>l=z^YBGh2jUZX6MEF2|N2DIe;71nt zk#69k%2EMDYEYTz=$-GmP*X_Btg90+_ez=>8C?~0;MWgzm;8?AIm%>d#^yqsbV_abAv=ah3o>OdpZ30=Hz|{b^)?w*+ z%XL0bH3owPN1ru1p(Vp%q&*8$x(x&^pXqYw=ouANEg`gvjEXO{uPL2H&F6 zWNNg{SkXP()OH9#Np|Ur#oiGW7A44fTgko&R(nXJWOOJyoM7}Q2zRb-G*E-Fo?i+zup@j(>T_!Awj4nJA(@-=UKX1sVM5eAvnZ%v24Jq z6b08tSoQe9Jufi(c6F5v$?xq;fXxyYY5AOuTk`taZfojlp6+5CbZ99e0$*-jh_%RS z;1IVN~L^W^sC~wJ6h-IXH21 zDH#WSM>DD+S{b&@di~+NW~W3}!7(tH32AB518n0<7F-XyKUqzwsjrw5F2pumr%>Ll zM((IaI|LaLdcJ^Yy&&r%nN{fC5kP(!L6gE!lkRNSJ25|ckhgIIX)zG6=gMvI*UcMTJfK-Mpf;s zNJax{W)!iM-rQj_YB9=`XXe*8qIvaxVCnH($T4f(Qke$)I}^<*q;n#v@iyx-G{%tW zQtThKrOZT}Vz!A1k{`u{>?*GQ@?>?#s*5k8MpUq4pU)`W2|7p7$qWERH#n55(nOuH zvFD?=T?B!6xk9WAiRliGCfcjc{!FjEwMTW$=j8SW%zjtTm++##WD;8(@jBsAg{Awt z-GMZVK_2sLbm)|iz@hq`8lw+=p7UV4mXKR*JuCG7mr>K|BFYn@52RF$G{BGFYm&>2 zGK4gQWK~k@Ex%eUk*8N_Pme6l$nNU8sdKy~ZZ=Rd?c-beGW1}hzA6UyDG*rCtuv+? zdX=p5580SIqIr@4OhB{0?&?}yX35#i#4eRyqtuiE;)k)@Mlob6(wL-$Wf4`7VO@ap zW}n{iK7jC;2CcPZABwmsu4?Qc{9;M?$tXDN9viU7zU=L$iWo*LcZkfyS$H+Ra_i#j z{T;!a*nwuBdGCmY1DK=Svf?2XNLm`Kxn%qseXNG>=p z5m)o1ARfyV=TmX@yBFu3{iZ`+k)5a$}UXs zLw@IL9?&R8oE!;zNLwyf=8&tK3v9!R6}ahWkS&HJBq?bSZnBNswH>$ncO|Pko)J)G zjP1rj7l61i-9y$Wa`jz<=k{k+tivX&RIX@MfJK;m>5OEv+Y?HU8@o$P3Ea|cmXjE7 zOKf&;mZx%aq9l+aB{|tKM=ZZ+qedRq&c}{e3^V?nT2MPkqv) z6D3a|v;q?NxcbuejdiygS%Rz_3*F9skTp71jdHny-KwuY&8xySIQR}|!hhgPq7r>J zRh+Pd#PN=z$HwD+c1w0Q!?2T|!Twj;7z03VHviIsnu1oK-yx+L67!MZo*goO39c0L zfd2xMtd*h>u-Vwqt=^-Q<(1~UJ>hG5H~F>-xq}&Fz{=ZTn~UsUnfnFckX8cW1wZFV ze@sb^w0oj+wIKBUu#(W+=R#En<=Aid-eM~^Cl-Zw@Ro;{N8RnD$>Oro!rqF`-`udP znJzV}?I|ixNst&HIta-}G=AOq}3T$Peijj+8#ieH=Gb zoVz?qubL3t4zH4p9@O0ZRo_MCEe`-dvbJIwc@;b$^`oLDR!OGj>L`-77EJ(KRX zap4WJ)iRURam?Gv^QF>L05{qqmNicS>jjdRvY+#2T zT8mm&AY`t8~F5 z58j#mQjp$108NzDe8iV1h!2tbx~psOcVI)-vN&7P+Qp+Ppou#d%?`c%FGiPL7desZ zaX;M*#AVI#!LsFeWE?K=yl)I;4{3gCp0+F4I2oDvo?G3+>>*N03*bCsz}S?5kD8-a zY?fT?QLeTEZAE)~Z>mjqMDuIoP2u0AbV(r4QN8`eqV;Rj8^Z!5rz*5s6+&?nc7oi|?!Yc4qhD_3@gH}88= z4`uLM?Wv$TV-I4Rnt+8ufmfZ6nSR)_7W2^T8x}i0BLQE3SfWBy%*yEK?y~pDCc|#Q z#&>bCzGE8%j^cF5;u=rOC+HKgM9NWBwjH&ys9gnz82j+Wf{E^Ll`$7%jeUmUO8jpQ zzaG(CwmWAMr8a?Ipipw|k|_7tUan)@ZIV(MtfR3h%A6N4lX0lClTu&NzaGq>0T#%T zJe@YN#iQuvQxjynca%{_Z>hR3?AjkBq%Q=uT!Ndc34|oKw)?z(2Q}wPPL+hAAriU? zn@Q9^pB1s4T%;^y>|L-ImNi&IpJQWzMjw^05m3+M zZQRBw{Hxl^OBLrfff<{m*u1fG~XFDHse*h zoYs&pfL7g=2%=-eg1Rl!NC`EOBYB9uQ~??oF{BBmvVZOCpY0k@N)Ylc1;;GXd!BWV+k9< z?qfw))E7q1-f=|VF-<5SBuPB@z7)~jgWb-W=(5tyRz;5|KXn3eOYwI6SVL)AHf72T zt1ST;f5$b6H&7)z2B-p_z1t931=}ewq$qTIdrzk+U_0~MDxwcF0l2>j-qqes*LD= z!nsB`p1L7D%ERS^+YgsE`xy2zHE)E3&eY&p<#52&SCZ^~Zc{;&S&mmt23WAXaD!+^Grum!riS+0-yCy@EVc-#2W^<^2`T%MJ+#q}U^{@~L!r5b!d z8RLE^)AiuK=0YBiC*PnUI{DL}5p)=jn_u zFvA-?nEmfR@}h^-M@aoPrN+`wWHxHqWDC)#wi>@`MRILOTpXT&6fWXERLDCQ9m1CoR?&HBW#K;JA^OaFR^mO#tKQEe5uP!S{!my6pzcU-r>T*3Q4@r=|M zPPQ<3s9h|jZj)kns| zn;)GsCGqCdO+Wk|b|0ruBOC@HuE^F&B7HBA7CYzcS4CyVPWt6c)Q6nwe2(;L_vvAc zMSO)W>4xv3yG@B&)DNn#9+6%b&QsCv%3ABZJ1JZM7o}4DaIqZk+~hl;`5F@-`YtA| z)KL^5YR|;Te{qo$UQE|^>JgA!Lr3QgJZ&aFO?Ga*1sPGxkFo0N>k4 zX<7IwH4rd~o6ZDEvJ9S<65x%zt}oC;s=-?4oARs;XeV=1-}e}Q9Ym259&*+n8doYH z_d$`sF8}g0(zoC|VC^SwMehf9u$rauvq=5<9a$TJ`G^EJ6h+Pf{o|^TU$Pv8kn`e* zL*(2B5EbDyxhd>myWFu*4L~CtZ#d37r1`bA-(yXYdTv@<1%1K?>3Syh&*Ds@YVw@= zi)rnKnBs`PIFflFeI6pxHZ0$LCD|E^B>}czG{qc!&8+NDpS$LEq8K_k%;|Vaan!EV z%;6`H`IanQHzzbNv>XhIl#*Xwy@xS4 zKbAD?Xz<)}*@oE^*9nc*_7oo;n^matz7RRHfB9J_K>I)`N#t%2sAH(Upm+9@Ft@Dl zeVPY1?pS9-Qm!Py*s_5H|EuFWcMCZD71Yy# z+@#2J$5>Ea`#}2{H#W9;t5(U77Ss*>R)=5(eP!mkH3iz7IZR)}I; zE-jyTj#A;dIZb`V$WB(xFGn2c1>*=LfC zoQ9wQ*(t7*TwM27mKLq}YD?@d15h?Gt&T2z`%*i4G$ZreC&q*`|Q=}Y8det>RLtI zSvpGFisd8{qFr#0QyVn zAJbj-43>h#Ey*_9o_S-axY1_#jI&2$&J{$K^EEkN-x&RM3JqYJ(8h}O6g z4R55wmJqy^Cf7fP*w@{#j<7seyBLL*({?>=bO^TayIE>+(u+D;SGZf+(sHPg67@Xo zIypk*`3Y!zUg?I5xIL~wp_tEY2i8&cssRihs&9toG>w{0vi)a;lJJbfpygo0hU-WdT=IJpVhkT1ISl zO`X-e$d?UzDDu5Pln*Yt$EgrncuQKdQiW7iLcB%y{sBDlklK86J`+JE_JKkLH+fw9 zpu*x+_1Yp**{XGkl7T{j=o3%nB{yuS*EHZKnEA1ht?zl}!lJc%DKB%@f)~vC9jSYT zvAUkb2vEUXSO=(7v+r~A>*m4Z8Q8Vzq)0Zvb!{&r0m2V^F57~yvYw=p{O){)w2ca2 zHSPC$W@& zR3qy?$sCd0lMqH<%KdfYx>ZH{C`5TlnQK%MH-n_LSGuB~cOfGn)$?G8zGJz@@rE3U zQHXsCed8813_$z(&(95TR!aS z2kb9&j>lE$lih#^z0GU#4j@rOfp|u2keZHX*hGo<&a3gD!bs8iMuuFnKDBd<#FKt?Smwpe zF5u&UdEp|nrD4s!Fmp^jSi^~`HPUmUy8j*2NJIICV?!K$rr?PTn>R6tg8jLSpsWI6 zY^+X}wbNg=t*k~&UDu!P6`bEt{&!5HBZ3Rr-Q%kXM?atRvp!7SkQkO#4&>NqTeZCh zV|n~^D$`fH^C02f9xHbhG63-6tjlOM6cM)1e4_i71`XKFwx}>qxx`l|fyaC7K;utb zQ`N6JG4f0sL-ju0!g%m`Q4%AN!iiO^FPQT~c(kE4*XVnM&wQhQ{xG3uG~+5O_DH*H zrCtv$;{x7@O|AXWd*PBf;Gj7+3xed_qd1smV=CPpnp)Q`fS3QU5tul&WuNpNRhfs| zlQ+{}9h67>RFl1#*`Zid&lK;oufO zwhWHR++5AT|Cbgzc*(W);lMb4=lg-H+HRt8lhpGb_rYnnCZE=wBE2?Q^dQEc`^@`; z_fV^1?}j)RQw61r<#25Ps*txb?>nwRg{n@6WI4Q14iaGf&G^G!7{UpU8>; z7X<2-k$O|L88MAZ4pyZ9S(znN_j?g6OCb-AkI34ttyHs1qaz)%nuoxGR1T3fLl}Mi za@S@gBYDG#1RhY)j#=7J4pb}6lFax=|M(PH0zXm=l!pNP#h1=9pxyEIl`O+*ssL-v zmNXh--}W=S>1vPA22QLxAF^^<^(aPcOe7imGJQe#Vd5)-v;w74Kq#lXCw=sv<}~&5 zrS|rS%G7MB)hF64bH#Yv4mcmaO8kC*##&V04%_6Q_W6;Os9ar&s|Rsb>gI=vl1 zO_WCUPgM>@jgW$YaDY$m3a!^m`9)HMj|go6J8&KHCCG^a9|t{G6d}HE;(M% zKRT7c=@SxZI5^ywNW5PDZ_A7YUjL7h%#39uNobI$_28GfK)Qj2wq;zo8zRm4f%w*AJK+J5q+w@y!3PYpi zYK4WW{i_Sa4dc{Kbp0J}&B*4ftK*Va*CCKl4Iu&Q7Bk^Y zCw-;p{Bk~j`3EDSG+&%&Zn%bFTSd|gsQrvxn00fDV;_0xjJ`UNTvev5*Um~k;yyX8 zka%tg2`X5h{VXIQL_+3NHbH<$ZU?9@3@xMDV;jBZ)7j=rzYJMTyExa&E2xxSBA15b znR+dJ#dJMi9hn<~so*UzS}nT2p)b?}k4uiil^ddlMXWlR3c4cv`7nNgx&9h{jcDfg z1}`%C0M2^TS*=9F7XHOwcZ4)IfKVbY)>3lW zGgh=WpqRplB~?x0GUfzG?KyeDk}3BLsdTJyARyCa+m8P8Ps;WvW`oo@D>$e1Wt?~Y0n)L!BKr6|o%jbZ ztqTGoWspA$E6st0+_eIYw+HrGVq^Ghc}p(t@1RC;)Mv7m5f^h33JfvSc6mSjK$w)| zW1A=gL)^TR7z1YU)8gVs-L8IbYJ$I*b*Oz#g21;LE+l*jquO)R0Ar0VZ~)fEbR`S8 zRT*5Yb?C)@RE5%fe^g$!$s?#T9~As2U%70ey@>9~ri397Q|Gm4&+cHpJjJm2n%{sO z<^0H|+&s{}x|i=rW+3Ef;2{FrLkg6wuTAVnQG6bbMo()!7#s%skhuY`fZaAYY+)ZCXfbqbFC>-L;pUzXuejVpP5E zTpf3OR-({S@F@2S6J|N*8E9)(QNRk;sBPR{WSbPdieKSB8f_12!u>8BXj%K0CT=+a zF6Jh}+B`ikv?f-1_6w_0NtIIfToXdqQ4P}KWop|~Ot5}p8u|M25eY&+Yr@IK0-%V< zR~GkXeTWVK)z+to)4-txY(Pd`zSSNWC%#=Bgfh2VPKESQeN|>?a08aJGatA=*uU=5 zHcDgT{P}kH8C2Q%1^d29126y-E3%MXTKy8Eb&ajEn4d@7leY_4$u2P>1;68|#EGGUPMb zrZka%{6cQ7Zf>dYWZyv1Bb+Bck+d^_f#u26-Rf}bAc3Ig`+)Lxp1zS4jpir!;l4yW zJR?42-`HZK?vaEu&l7#!K79J7qccMFn<^Nc&f`qQC~b2CZ%l;-y@) zD5j9UC8@s;wXS-`)CvlqmrWz2B1U9#*Gq1rKn zmj>cHw$acwr#@OXIyO?6ALhIX&;TIcMJk=McdGJr#nNJD&_ov{T0_pp!sLbhIK#R| zSY&OhIu4PBVd&?om;!7nE(fFCWX7aHJw3eW4}vzbcLBWgQXBVnyr7XrOrxK@O~W?= zOn?rmP^4Qcb+v>U{Rl-x-e^@}s#o{>6eSiyTld)I+B}J|Ahg*r2W_-rbYowH@M=4vc1V<|FHcx>@O=2Y15mTd>2+`}(+) z2Z7t6{+`q`&dX@2?vPQ_`G6%^RK4Cpny;$*EfBVv(~FQQEPndMOFIoF+0|~ZE`(k` z(oeY!$ql(0#cPn|UwBV5qL~D|yiRQ+b=r~kC!#~@0z*j5sl(g~wd1xv;731XvXxQxR2)EJakNSCRDd-K7|P7q-yGRz zM14f$qY(6}7VXZBn1pNTRkn;LL4F=jZ*b2+%9>vDi7rJN*wpszzi4@lNJiV(AU=X= zZn$qDe9o-dbt?mKkDjIy8j4D2&P_YN?h`HU+3@UO?_r2N3c)er23bqg5(H{w6ZZIb zY<R41U2sPdPzl(VW1ELqH=g5F^Zo*zBO-pq4rXgr1bx-4&B0pEIC7MeF%HpfT#RLuscQ%gQVQ!L*V5 z>2-%haL!hAEZqt_E%tlXnQ^$PU8QT*Z%rR5X`NBKa9|9+l(i8#m?tDEY=^=v5L5KV z;}q3|QVJqJ>%hB&k+`BaZ^stOE4b+IWIm!V{l0}HmTL(6wQwgu`(xSC$G!QuP!e&r z&}l8q?ez&}X4?~^CJ;CChydF8+>|~ky$?8Ii)+D63Jp;x0pGEOdB8n?;{zpQT6$hw zR@J1=?z8Zy^c9%o+e+2mDvS4(&e3v9Vzb3QH5})Qme!1Dp6-97Z;%!XO>}F?J|Ic% zc43dzTG9cC;L-Bwm<4S1Xcv|$FTTtpoFUWR(1oEH+E5)X$}jh1#EeyZ*1el}ygQsD zAZ}>RvUv7i*;R@1TdnVb42^bU&?%H&Bcf`S;MZWJ6q3#_s{&nM0U> zoh_VZf5VW#+T*<$Oe^eHG2_dJj<5r^?+av)4JCR_{QfWgTCfg(&7WIJ|85V~V(t{w2CMi&b&%UdHe9DP;H8S%97 z!9#yUHlzsiAUX4Dp=ye+A=i!*OoRMe&9#h!5D!}2%oa&+vuKUx8e~5NB9oByuLRD7yK6f(uI)EUa`|k!aw5psBaGh56zX=Q6k&Qar z$&b*Uu1y*$A;-SC#PBWYYoZWg){(WWO-Fzo> z;KIgVbDWQGTBx$auDDuxnCd}9wg%gGiBuJv3CVQdQOzzplCIlEN(rp|Et-Xkbopxg z+t+2385!x;Ke3EqrupnfS<)R3{4fKWYcc9eK^TlQb@pNa+*JnN zPjI7o|fyN&i~%QWd8G+ z%s`48bGp99wUm{h?ehOjD6M5{{6RJdvQPU@?brefPIV>$w~yg=UwGf(Bcr1J7C)hl zQp6dMXqYP038>yiaP%qBPOrr)KxI7W8x=X}m325&Pp6^TRDNl7Bc!ppZpl+Nm8}WQ`#T^Hc154C7;m0h#c?C6`SO{vW8fXg#v(yn@AP%l^bU zv&XvrEmd=q3Y^0psWZQy%o@;VvWVn@l(4{mPRHYx@A`UIz`|*jk&C%bCK22DEf>-vJHs zTFaiQBkIKBvh)GPQLF z^8V~C><}=GlUCAQ8SQi}oDA!+LmT=;`CV1onsvtUWQLr)8$AE{l=6ISo~gaRcos8g z@vaTM{VzB?PorpA8avAM0_?n~9c*xTxfBXM;|nkBYo?vnW)0Lzg9w>$NW8GFUXls! zooG=t7V&FjnUIM-#sW#PZE3lh$*n`aZ+VKuG^pFPsxRrZ~9XGXK=6rM; zqLPVr$5zV=LnAu$Ps&D@ zfK~1RO3(K0%EL>mSW`beT*gRFz-T|gjQSB4B$S;~V3&YuaWGgrS7b@IHnf~Lho9@p zYRS!F*2FwG!&A|!zz;OpeutFi1M;Wey?a{tK6flZOyt>%|5caDQnx_tIS*OgjB5l& zu&8MS*VtlvxN>-Kkf#0sKjF)N?dC+r{ST)=!L-JI*hWhA1sI|1W*!*LZ>E3U8yMl5R>svR^JSXg9heMkECb&si`z5cnN3RH5@~naiJ8Wc19+RU-?5Cc8#W{* zC>Wb-R9qQM9_$kVjbmn(wvjTgE$f?0 zK9y1<7i@{oP3qtS9_RStB4upQ7xREUhWsG)t{Q%aNq0yi2~?6eYfQ1*1J`vRF}ps& zbkb-j{x6fI1vP|A+u0=TR2Iutipw{F9j|m&-!aXLrM{v4U>x##pO6Z^uhJ&?EHDTh zq2;(Q)H#h&6(u^Vxvx@sGopFU?-uQ7K%pM&9{QkGbzKwA6#ty-v(?0mMU$E_B2vxp zwoh5%emh6PWnaF;C-qEt75o~Z&Eb;sB7Y`t3|tNcM4<%Q_0(ha9W+uG)>AOm2lw7tmKg@m>ix5zDUU(B*{M?y~T`{5zLH4veNl8>Wo#aE~uO z10$R{G=UQd0!s0*IOuMAtyZjr0U`p7pSbCM42eFP&nEQ?1^Dj`90i=1-Bb#JP70*Vn z|3o(22AfkN(b-yTTr0v+SQefq_*EK-q)8k(7NJPGPE%4FU7(no#EzwL04D3Q`3`DG z{5GdW+Wm6q2##5|b$VTeWD8=RNe+V@a0DwhG&xCJog6_eV$WmXskb@~(6NK%bd z4)sg*tC3(<`j{nhbo|7M5|=c_+|MDylj|6lUBwJU%`>z6q?|AEh$ET_bZb6K>C3z? zx&V+oUw3YKPVQ~D`h3@p*51Tfs~dXU2RpZaEhq07=E3%(5FG>j+&g~=oY}FH$*1Ff zFu5BwUZ*QUi*G>$JBgb;oN5mTwi#B_se!e-2q?1fE4Xyd;5>07Zmmj`E@yn|u!>0_ z@`KuRCP=v=qEGVnOd&F@*}=+d_t{{z{Xmz7I5k%vB(oU#>CzA7AH|C8>@q(Fs+uKu7}SKe6_0NXSHR z`s?1VQ!kt|UFV@QLjHV$qasyZKPglG0I&w&$F=Amd`f%qWU4V~KMzn0v;8iN5gC)`lwOjw?#Qs?Jo&%?m7z_qghBM;?eJ}@_r>qMqiN~+Bt5g`8v|Hc(n;+oX^&sc z{5C2;+?f0 zh-lv&(1DDR|Ff0UC)`s9+r6Xd$r?7Ke8A%unM(~~0r7#3^tg5XV}!{F@44shcJeq) z36Mm5lK*TRjXNRJWkYCgoQ9nLsS1t%eRl#7&CP_65zW3RR|GBGdn!sMDhqC z<=K78y$|>}?ng~UfXiU>?DlUM;niH+U9Z9*F$SHkkoXif(S*%Qz5M?|YmZ8lNU24S z){~t(%~zT87g3&9@%9+H8sW^igg#~3TWm*(OOlDum z1Dc*Ur3sAE@o$JVnIr0W{#Tpu z<)V$u*nhnuN*(eK9TK;fbrPuu>%%PmfoqeRp2`F{$%zXdxw=kHNVrFn8J=R3n$k<~ zcQ|cOd%}w>cN(4i-x}`q7p_h#F;bz|`yhf35)K0<0iL=P8*}h%oyOC%< zv59wVXN&DFvoV{tgqJjiFXr3_*l%@Zvimr@=olBwwAqQb3A@(aOObib@s6t1N2h3! z2Lg-6QwCLnAcOU?@s>@TSE>=V>kqiQa{g_`NF@S8b>#9m^PsnWfl>;nAp%Y~k$Yiz z-3jYd6;Eh8n*=9CBiXii9?BbjQ1+}V>@EYhrMUDhaV~-|swuoZRkjM!4J8fg!Kv@5f7mrtFQcCAa@yU@=&2g^1J2|mm(j{v& z)Qfd>{GG0Vef|X3CR(THk!qw|v@FWd;-+giU2L5cuCv7*7HrIOR8|wx&}1bLwTpBnt+mj7#h#>?o&Q92IUs!>-f6kWX0EL zq$dPP3d+rd8j@rKO)6!F*=XcnRnsO0FE;R~tm3shr#UyLbFvJ3N7KrsQ`|^KXJf3+ z2*Mh(0+Zh=1*!(05gja*O}!JMuAp+AmQW_L{wt8wq*+dgk#)v_17e6z7WeEugJz_o zf!%J3HWyNR0MZ|ED()lmipr5pz0m|38vl1JOnyV^-;EMB)W9iUE3ufNC@$rzr^mu# z!GNO`+uY56$i|9j8EjvA=>40~qKKXZpp1<&( zibpM?qR=xo!t#6loNg(q=gp6ltucp-#^CCS{maPsg5jQS|AuJW;#T2#lbHO#22@OB zHiN%pxm0|jIPaL+Wh;i{ez->n%*Sawdz+dWgFj27@R`2E(?Yq}wTFvjx}T}riP+%z z4RBL9ZEJi&l0@rem33Jsg+)&VfHIoEN4dq)tLRdU(&6n4Dn@#0|%X#oqfk zsD}gzn9Rq^87$3i%tdD5u619rT#o3U6PK~H@GbN^n%4QB z@Fa_-M^A|pi3v{ivw@`MH_9f`t9kd~AKJUm(1DY(3{1?yn!u+iKY{dzRV28(K#=K_ z?2`i_%veG=OV_TXccPg6GJLg6phx9GTnI$L3z?!^7L z8OCXj4sxD|AjvRwnPr!1<+$<1xc7E0o-}#`&(bm1G=YHL;q*PSjHhq*3h!ji$&x~8{) z#=DIiB2`DNU=l?q;DGfL*m}p)zMNf|8dPXpI*o>U%J$<#J~1`QA3C$3l~e6m^Oo#o zsJ)HB<;h}yQgx1&d+F5S*4jeo*ssS$(L<{n5URLv7n95C54UpTvc$#-8?M(0Y`jKt5t5)JbIPrSm-7Q^htM`uVOp}jA;>(Cf zRSgNnoZVJgH^#;FL*9WkGre>FNz+L9`mfs&u8E91+UE?1&WU$<)9o_~715K*F}6w> z5bE(Qgs6C$ncfLMQf00Am#}O=+-2P7m_{rPhz5wYSOq7Dv1^jX`DO+%mXoJ&x?dZt zJD&dFiquQvPCR_8%6=o>`8bpJD_;MBL;}!emHi( z@ZE=I@jJQ(tT{!LjE^_tLnB#f$>zF|DN|1uKb-=v2%+UWb7W59L}*~Rw6RXs7X*@u%XOPT>W95 ze>U+=CUlG(Et)=u=QUCeCk0_Yl1?3l*?9aXvPQl=MV;gda~LvGQjDzK z>_9|G2X#`VAYH8kPG4^GXNDv~Ru35vWZu^E6LzD3TGA9{vSOg=?^tw}u-BdYprUfT zV>|fNb9cs%2rfo%$CSi;=6(t6}MIi5rg%JiD4YXvXc{2G+5hZoIS`_cZY zz~M@|I9k5t5QnVQDJ#@xS|q_bA25-(%hXXq7yKrYD4eEla~A1IRk&?eXWQj}($wS0 zb%aQUC^|C>{=k^Su^x9k82IbyIq!KO)A(%+?~x@vaC+$N*-vEc!HGBdqiLP+ggxr4 zva^9)x0yGfHN%sfnmJs4z{SIU=xSL+t^X}ffI@Ru;#E|=N1G9rH z<6zErJk5FJ6j74abaK~2(`=iVK(s7a zrioE_wQKkKC;USEXPYtp3Hmf#%Cy>>X6!G{K!@*0_3oK$=&}2~+YA>|oTdLeoKV3VXg^o}T2LsCJ^-kK1miQ1QES%jQTUo1=F;QI~HXOW4P1y4ulZnxCJl8 zuXjsVXa3+xqR%%f>s@h2jc0(VJ=wM-5;fcq8+-l4)Q&XF zNWOR`qQeCh4IP&v*?c#W2~*VF#@`}DVy)JRfY1>@7Mce&Tl2U|@?#A)1y;$$#~XO(5M>Y{hPqIyl&^T z_c?%dyBYyS_r6#ilGQ$rKe$Wo^Go?gF+InLlAAYysm>@w_<*Jn%Qy=VknPdqogde2 zrVJXRl!^nq6ZtYKIR7Eye23FYH8_&USPyz8*K~5^RT10VhU-X?^>#9Y6gmf##C#eL z?Bc(+r3#>lZJ+QX(fQlcLtT$EM)YxbkIEOucX}vaSMK{}R*-MWgNWQ@CMrsegDx1! zJ-d;y0N^RUrN?#Q6;`{=M2^HC;JKmE+gx0reP@5>a`u=*EKZfINLc%VIpPH}>c&i1 zHyO|99Zl~+#Eq}K#j9nQTG3-KzvOxw;XCRl14)AH0f7Qaw-j56ywrrnvXo{(ck(`hu zwObqCdL%-}#}sULO&>B-5w13qmsytcBp7P5-g+ETFBNOsmlQcS?%I(ga3oJrXrd$N zy&W^XIHCot@l8_tM^6zqkvG_XjH;HQVkI=B4Y)S^UdrJN1nkuK^-nAG6W7(hBqeG- zlWS`WQL_4-`=5;c~Ns~J}psoIRS@GGRPcm3yGUbB)O2rU+w zi*cqXuJ^?UDClmv)!H9!UW;M&;`>LpedPK|?u}&kHHlP2J)rXjMOUXkF`gJ~pPhqM z^Uw~sVb$jdC*wGpjHGnH_HzOXax_R-eP#fK)1VUIGX#`=rv9lyfiUUZBKYnD0k~i> z+7u;fVeD^AV0o)DZ0ti6LCvg%1wlFo&wZ`5RYz-$amv=;_RYM1!|Zj*+U>j9yl7ym8;N z);Kx_MXsxh4gLVaedAjdQ!Ca)lca>25iW?-T86=2cz53ln#OgqfUo!qS5r*h)h-Ua<<2y-4rOnR=ayGWfWWdJ+W&8;(<$nxA2&n06ouWkI zO*NV7$)((<>FM?W9tc4gP(IH81GK;RBJ)JUdQz04Vlz_bPelDtpIB0}mmFVbV!(g; zkZKoEJ9E=|GXdr(Axu4brI}#+sdU%0d!OjjUGb{7xf2I=+vkzv^_$rV? zT20LYr#~`h{NV$KJ2Lz~|BSD|_J&KmM2)<(yG&!qhnt1VdkBCO4{kJn)br3YY$3wX zDj6P4>6(-=fJ{+}oYV1mht&q^m$;FLXBGFvY>Nfs@NZj;mo zKE3;fJR_p&`70mp&KRd_r!ReaiK30H$pXIvYNUv3)%r0lj>!__#{stmPRnlK85xFn zrrfSuFaXXnYA7vZBPMD(x9=bt7vh2y$$<5YtYVyBilAsJqolvpW8=F6aTjf)dvZZ`z}k zMDmOn1yMmjX!{1UDw?LKi2-94Qs0tv%HVyyIf}zoo=RJrYC~ThyykA3%<0~Y7ECTl z<#R`)SZY7tlovdlxPQ7dsP--R8J~6@nlM~>sJC-=p3TGh=Mp)BS0?)p)K>py0ISxqGQb>Yr#GJ1Zv#jw0e?> z1H-+z(g(nn=RRK5f;Nx~J7sQ9ha(?YyO>xdW}~YSw$RzKzy6M;875q?Bf0yt!zKQp zi*ndEjPcY;(i5WflDgC`-1jw21W{&gxlD_5xFZl$&wl*=NftCd{qt6MXqVhT+WAgO z;9OvCXqt*n*JN%7X7O}`r@|hr%;p-jOJ)Sl3FjL$^7{cByMDEBifiv*nd)xFnvYHc zyY|H$swhsRYCF>N&SJ!*F?7PQ9ke6&hx>Ybr;h5*j9~I7a!X;g1^bnh#j}fyCq@p{ z(1qNZvk7N>wY%$WYRBSSR@i91&QyW2eHSQ-r>V$Y;z?@D(Kx`|A#OF!tYVn}Q9zUb3e>lfK(bfLos?PZ_fwiHHEHm#0j>2RGoW-MbR?RBclz=pqA~lLw3+^Panrm(uV@%gFxZn+X+g;Y z+Zh?}pn4{UKPjrE@xPMXjO?K75-2l~a8V8Rr&>siav!F-Hk#urE23i>MeQe)o(3qu zsaK!Tl4Ki)sc2y}>b@Eo^g}X_Vf0|8R-cjJI$^udV|ESoXfkSiEm^{yykI3G_BI48 zX;9+c9piO4O45^F8+ZQTfRh7Ul8e$ZexJb-FHTlH>ws!Yb{2ic-ig0s+nO!dCH5pj zRO{spU6Jv~q;|8HNf)8u)8~@BobYwAQDG!;=9#1D1r4%%QcW+Jl(fQ5Bua$GMjrd4 z^jxlq&xtSkgmEqS7M1Z*M!9z`j*p_{bj^*(-+Nv@n_dOfi#f=XCk7WbhCym(G2rK3 z<$ias%^~Pm0^%E3Y%hP{if|a2t8C!MOkU<4Nz0Y6Ch1~Ft(OXrSvNrvtJM^%&}JQ5 zM-H{?pOCkKnms#19cmX!{t2ZON-!otAw?~@KFnU!bl~vR z>?ZHX9?p#Yij&Ctl_Ci%^{s6%90zSx3`-m<=QdMXZmlQQukKhCM}PP$pX_7;*TYzveN zz9g&=pR*-kPu?0~#2e{*j2yDEy*W3(5jU*k@xWMnqJb8(xc?WEL~|QG#7q2MoGP5sPZQrQiPx&zD#w5t&1ZK8 zW&;+X#SduLFNd6cdNL+HD8NWL50mZu$Fc(zh;ATsN}WC`j|VVv{sdP0V^i5pxiu8i zFoT#it_tdPBVEQ@cr1ray%{u__TC0%WoWznK^b$1;7>69a4Uf`X)-4R&?fNct*eY; zbGDV=0cYBBm1S6-WF>AnlL=SFn*Vq9#m?;9p86lMq@+-tVUy(V zA$DhGL>dhqCSLH4r}2OLt6!l3L3&;WlPYo> zs@t<&_(v*}7z7+W#Fw zWsKxZ0$*p=@BuW&MBv^*HCoFh#$=ZBk=yRzU>99MF%8bhql;D0dyyr%3lyW#<*I^5 zM7&gE!e2AV>m5^b2giMg>0rDc$0!p8ntooX_*|C}l))`e5)GG}bf2`ykf&I`U3QcO zzD$B!D1BT4WfIx!&8G16oZuj`x*d`knPy}f39h2pyMTk-0H12)0I>3*aMeO-1{W8E zNyeqvbM)N_c{K6>VisBBAfy~Xo}sqqE_RscxZnsk*DgTnqu1~+9zQB5c8`NMI1Rw| z4y|1#=0d4 zR&*buJqyh;iGE-?vpgW31A+JTL#L%h)60HHkw}h0@@jZLMt|~ph`Tnom393GW8VEl z{HYbOPXk$_c=OsbQI zEM9D)s&WJ=il^KbnCCSKXwme?cQok}$2R+7~0DG2B5wlX+VfX%cAP7+J(q zMs(>{X08R(+aq|AS(u(tETiBB1;5y(keSeq%q0JikvWb{;O;SWAP*ze{B%UeAxpfE z>WF9>;`M?oDa}g!E^G(FS~8v?YxmnD_V^dy81U|$%dw3IR1)}yupK1t8{l?cG-Eq%MC}oYPz)pK2Ar#0t)ubJevS~ZkcErIJ81aUNGMPx% zpK7?>$i457`ptLT^)~Yocj5-v?vsi?4TfzszZdCW+n(vFb8&Vj@yWr2d4dxPeu8Rs z3Y1B%l zLwk5Zz%N}OFsWTN2Of&mArA<1YaK9K4)|%lL2iy#W$#1Tn_a01 zx=sU_74JIcfH8 zo0u0v1vYXDKlHa?Qz-3aKi4MAx+gR6{@alHxs35E1t#jodPDz`5;pGXZr71yd~rC} zl(INYc1sE18kbjnRDE92ZG9eb-b0deCe(_BQzr0#!Etmp;7#wIZABY)$X#A|JDTS3 zJ>>p^nYN%>Z6f-lXo$X4Vz28C?PV2*dw_3uG2$jpJD!Eh1alN`dy>qo>0sgcJtk39 z{Xy=x!EbTt$^<6d*Ofc4`&x<*ORjyoelpWF%Y_HiOE;<&f&VaR3=3()Qo6}FFj>nu zp}7ipVqNSu$R!C6JgPH+6s@s2gsk2TVvJILleG)K612YO~ufMT9F&4&wg_U205Yn*OOTT-s9#^a3qTrMA&v8yAFGh`S#lUo7 znGESNMi{5buJM*kcm5G=zD*6|iw5NVb-O5{e!IY>+*!Rk1D{2VA90!_KjO%KnmEtR zm0pq*)e`(u37V(DA1OUYa$pyYB6+~QGy=h~!R|3S)*|Fs`Y__k`40td?& zsJH#>BbX`62(<;H(oLH@(Bk7fTg{)?T2XM_)pwZ$)D?lIXufHXB2@+;@9?Ec6k3Tx})0P6&3a==d<=%iUFDn z0E$oP%NEabo=D&zYCB69AMwqXv;`#O+kO<0l(<C>biXewuFA48^TAM}nb z_1KiQt0sTXx`aYDC9hn0K^7AsiJD)q|NAIMm3A5Vag%@X<5qT{ns0oIcPM?pblpSl zeWFCOpS%{MnlWygFx`wx)@^bwxuno%cg+EfV(4?{jji+7l=2R!zwzYisJXHW2&W?K zs#OnhkFJaFy;ruSLsJ5NlqoO9k)ahHL%gj0@>n#z!^!>oiTnjFWdx46Yh2-Gh;oC; z>}Ja1Nj~$Yn?Yrr`Nn~Ck&px0SI>rD-_C924kUsj9O-a9uIpKrV^#(|#>4>sZJhlY zc{jHfR&ZAabC->Fz7a( zb`PXdWY_Fta0D|(seZ6(vSA9mWeSGTq#oinmtUqi!-}Ic{R`9^{@pf~o0--#5~Ql0 z_Dalbr)m8zC(G4nZBddGD2_(oIk08jcGu$Gr~v+>C?T}7e_5n$6wuwWjO~`eU77h+ z*SRmSm5#_y&w7n>ZUxE_Z|P#}IxWuYmqAbq=LWq+IDku-A={&)5u!F7gX==?e46A( z)ZJ-u`6KO>}ZLKEcuWa{$yABM~uEigGJ1%lrfHYJuIuoCvK7+>bfiU?(OtM>fX* z#TnP|)6NbPR@0RDqu-s~nBtg26?ts14`gD#91L4bTmQO_295G9PP(bmJ}W7!EMSJ1 zEFYGbOvNiMyw@II{GiFBAuh5!;hElnrGBQA%b9Mp;Z@PBX&=i07?rS7M-5bfP#9S# zawG@3vtMX+#}!#_u;S?8eo7g0j^mrirH)mgPo_w^1Nt5nt-$b@DXdR3+Fp z{E)Y@A+6rQ+;>Vm@m1nF2+aB#>rY^MzUH+_pd6^&F+IX&_f`Z@%?(&!b+AyPG>hYR zKE7Dw78wo4jo6lzS7o;p?{;_h@&FT#A!}&?Dvw{6SHp3jfE!Kp@<`+??2VnHD%|aW z$%e@`UmS8UYgRckSNc)FYZ0aXl_e>Zl!@YtA3ZxE6S2?I;TMq)vn{IJ&iA$h0zw?mdf8McRv#5L4s4W!Lsv;RjVrHZ#6hf-i9D6v z{_kA*1#fgT;7URAkfefrgAG@3@{$@Q?eDCf2aFnwgyVi`+L|`iF%_{O8m32P*AL z6e-cN95TB34X`DHO*vc=WM)BGb#IS#44bEUNm+oSSQ`pQbTSa-aPurjA@sW?XXOpaK;j+G0O_v?9J>#Q87fR(3G$1u%W-Fu;r^lQ8-sWSCrzYwwu_VL@44! zj~jt!GKs0M&FJ(5U4Y4~Cy{);OaT+`!0W?#k~DYhO@Crv;Z|<2A^5)+h+L?b!<-aG zblh>c-QB9YI@U5uvP5(VtQm3kIq5$UEF$)?3IE69MVAgEHI-sNQRSAlMXMCa$;gR` zEmbymmN>>jw%M^2!C;)(O$n^pPDd(-L;4aMcy}j%2XyN_pd!JchCt_}h+FR=uSU=* z7%bS`8VCEV(;yr$&oYtSWYcHZS6H*x_Mz9&gKBSDB55<=Udu>)8kbam+xJUMz&y&Y z0!LuHH4!s8=vhu32zEYS$t^TcKH5tKQ`;*Bm6CUOz{{C*@6Mgnu;jFwDWe5=nS;== z;x#sf4jkV%h!E(9<~91kwrLvR+O z`%I{N-3&l!!p2!R&Es$fXHXGQ?-RqH=vwi8^C{uY4ZIXBFZ)l|=qqwGHt!Hwa2wYQ z6@kM+B9z{%i)$XBbic|<1$6d2aD0{}g7wYaCFb$2)q~`9qzm^mA>B_5o})@nYoMU% zJkZqtkB8Vh%S7I0B;mS*WW6O`j!{|1?FkFPB{)`Kh286vA^kJlihs9Fhfbw;{*}Cs zSa6-_=Ua6*NcthUk#-DQA2Cd{UV6=qoZMBOlM&}3%8^kiiNnDpETina0)>X_)~O zL69DX)cAsbf@&#hXKcc5&)Xk7XRDP3 zSwfFFj!aU6v*w4Zc-|Gt!Mxx>+i=X$7A-Cpx2xO6CbH?3{*#(NQh;qedqvYFqoIgm zzqy6mPk^aEyxJ-hN0BoiL`Kx{CI{R|6H_Zd%~$6IY_|wrOWrKujks_kt>Xf9BG8XnbnB1!Ge5Y>&0Bk;unmM48@Ik=DeZ`7LB7!*8Z&c=tsSoQU3d!&3QJSz zmm(|jr7K3=XMB^_Q~z=_MEzyOw_uJ|1i+}ow~lnaDEV2Ww?U}{Fi9iP|+Mem@tRtjV?_xTbrPDs=qo}72~?8$Bu9qVG7Tp*!~ z%?l67q}%&iBpLTbUv43#cELfcM5@hn?m@=K(YE4GkU^iAl1V4y?h5nNpdoR#<(u91 zs!S6gXi#Lo5)+I5VpmHXV|9|@V(Jf<@3gPXBqW8OD?(qRP{!C4lNr4 zC(uW&U-+l7JGN|n)%X)#?$If2BkJt3Jlb1M$XaHC(i|Ty@R9DU3!<~EqiG_0i)ub9 z0eQadpLKw2dfHVdN+s4{?#~rR9IBhYL-{@&L&gMkF|4PpVUX#Sb%SpPD4W6rtToU&jH(I=l;8@Qu-j@REqg<$#v~A}1Do0#H zxEAa=Mv)-QtXuF_e);8gW-xY4S1^tOf(D<szG6%Sw(VgftR_St#1}{EItJ{_DCj#*PR)IU{Q}Bej zT&3y&LF#1~sm&!n-*H|2gpt?r03B%okFPimqaM2R`UB;=%>aD7;ZkxZo146>y)Q14>sl;dV~hsJr7*x$PZJJ4XCqk+n$HcS5RWUB_ z1~8?JQR}xk@$^r^rg8Vc4BGEu${*(JE2Vv70;mFFg`aZm8e!*8j2#Dd+!Ga=1hZ#g zhOk@BTM+Pam$U-F$f??-atdp@t zc6EsOS8oXkyqLXsX0Ec%fORqSa{18s?IHDpP7>d<59M#EXs6x9TfI${Q(mk{ zW)1fUz2(1Jg*%+~+KGz^t!$s{L#w#ugH*;tq|ZK#4I1bC?M4*E2=`sB?t)iwy-wR8 z32HM5FFWPW-KzrZMT_W|cM)eSzQBH`$3;;JzgS{$4z2Ky&8 zMM3q=z4(}%^J}25|Kg2_@@#aDSx#;q0Swfr9t``+{E#d^xT}BUNe~@|9J^$)IaV?r z7L)Z}p`WVIVbMR(_9$4?m5-t+3k8<#zKbWbyBHm-kHt_?Cmc_+D=J_)zlL@SrdM?^ zF#%jT)ED_buqH-%OLzhrJ4BX)<3!;f0@5xGn%W8^ZQwBu85?{OuN2SK50VOWyeoZ2 zt{Kl&&2EI6of~U&fxWF9;#rRJl&Lxcy{#j`Pk~=xkw&N3=c{D&sufM@^nm=1u&yn8 zp1nSI$rUb`6YjEUJrs<{=BgLbWV3fVlH|xX^Z(Oq%IDk6g4{#v9aie6O69q1=M5N! z>CLzpMO3##4D)aCgoaD^_V{cb_;PNO#xvdVw=lyEJLzv8=^QWBPJ2YQd^l*Y^t%I? zrS+l{>YF!^84+x%c?LHbPtvJ|_=%*In~*R!S-g*_3ddkEF0RJ&R^~;a!fJY)c4hK0 z(Uy{qsX`yXWQ-&KjwQEPM8e#q$}$<&&^CavszdKpr#r(p%*FuX9pV{}vA`j+k5ksD zYZel7>cAuZrQFBT393ZlM_R_>o@3|C=_pp##nmM? z8O;v;He?9RnbM;^E2w z5ZhK0I(`S#kty&ncXi_9aYHHr{xMcU8I0Bbtg3aQ*W}{FQQC3j2Vv@jqUZ>9KFo6b zL{fXd2?LXEyl**&4ye zNHKEdJ~>Efmz9PKi(f)5b(zSMa~)@~B< zGB>ntCQZ#_m2a%6YekWOhazcJzNmO0Zw1L@l7bN2I)s($_%E zMp9qgXE7tb9G(6MS=E8-#L>7!0HdSh_xjR+2NvJ-=g>(3-8s5Q_JD6=H~)cEPmK@MKHhnwRZwAg z@Hj%Iobm)pL)rNcv4eO?)qMI|ARQhfFF;QVo9LO!1qOFw>oO{C zHbT=FNIW(l2}-)!Q!a2dj&vF){4}H9cQC2NlG^!RRUgF-?#%d%%4TvR(atrsZEo4X zAYq!A5gZU~+lSt#+h$!q;q>RHJNB7_Ak(ZtDODXPAuE4M9Lyd}%{@0$=o@iz4-szG%mH zI7bWT9*yr1!t5sa<0eHr>fF#)5DFzFX%ZoMeP1aYQM8(OBUJrykmKn_nRC}QpvN&< zLM`~=^HG~5J&|EU^Alq3-&h}}OuIkqC0+vYk;(UEVzD6vVslkiLEzKuJjNNPfigj5 z4G(>B@e|kC;yOfcI2ZT-PDpD{W>EP6F>4M_f4dk;GejI5vh!%r0bs;6USK-d{}5?V zSS7cxBAa7EZn?9{oz>WMET65BE9^#0r>cOZ*{rlVnFsq-Ql!9~zLKYcsXZ79aTq4! zgs?Q76w<->8PY;^xVf0JmWB6It!#n6JvO=&KtMCT#=Qk0gVvyIqGx7}_Ai%gKXlDL z)ErQ97k}j9pi#*nc44{*Ny6nBMfgs!r@laX`*_Hr(lNtAY< zL!fx^z0R(8KKYwg%1d!40tMe$h7wpDa!ILtP7W1UKjiQ;nOFG6Ng}+LTd8K&D9*Q} zLUBLZvP+Y^KjTxDr`95J#~fz;{0^sGF`{Qmgk`J<(He`SYWpTq`ea%ROF0UQ0a>{X zf*!69=30y4mN?0uMkPI(9uAM3NtJ;^!LnPc2H8I@`m;8TGHPp-rq6lJ&eAY>BKQ*u zsYYATMqbxFkgWXou9)%@*wHQ<(KA7%`Kq1q$?X(s#RGUswY`ZlY+e6edRezsiiM!6N{HgaHv#9Tri)=e%A!W+f^ zrzFT7R)6`(n}Xnrvm7`iM(yHvdRj;Xm90K>)bxn3KdR+W^Q6@ zikqfGEs$8`BCBDeLX&I978Sx-@2mGUUcs4?-c9KNbT+t|Z zXZ!e4ibFjAdcEzV`rHs-$%Qf`$2Y)$^q-ZKrLviU=U?OP0jt;PSC zw=9TdD%u3)22 z#d_jPK;jPNYOzp zZC{Kio8=aYbn*5bpZj?5j~W;mSI;vZXM^={!mEln6Yu>)esx9fxxwE#&pfe5GG9+k z6WsDW?^S^9B#E&pzD{q38KrD4gb;_DH`IjF3bHb;ssb)!ac~QmT4dZG+C(IS<;#?} zN7F7jku{Nz^??Zb=3qd5%_DG?iGp*mknHjMMGCXtDd{B60OcIE+n5EF<4A zN?hvX#ILB|x3=&<$8QLU*un*5>#jU*#@mn|*pLRS7=IYN(Nqm!evX7SK3j>hZ z26emKnvvFM6`SB!djvvL>h9%hh277>nF;H5cjsx-1fT|CkZ^! zX=FG_ycKvrlbu-+{=nwa2Lgb*`4?!YGHts5PI)EoA3)8D!p_+sfjD@Sd4p8Ai1q>9VA@{(@`$*FPGJbVDFHw)*Hav#KqZ%;Tmg>@;Xy=42(=s zV`}K@!qx9~ohOZ)J+ylf^=ZdNEKzp0SjgfyGY$31#2R8V&1m2p@PD809;@HQyyWgW zWlU36$vcj}e;}Z^+V+L&pPc2{!%2D)}3xz+%p#|=Y_XXO)uO)ja`g+3(u z8y~}##D7?iUaxfgyR=}L`1A#UyA<+}{0$}|We?HNN#Pv;eK=xCP04XvYqn_aN|C!7M+r-t0ZmpKz;&KawpX5BN3ijn14!_sm1atd&9kq2k2Fv-ja@ z{*Q4AC&eUy5Npk+51R`;g6-`EDJ!m5x6#5^GwlKEI&Dc`LG_T7z`5~lPQqD#Nq}eS za`%{_4Buu``U0hES`tea+x3I#pXq@<*}w{`4=x~aGKMf08vz`=)Xt3TYy?n9TciDx zq}sR|Pry)5&rnIbZoc~tq-TJOM)UBVHtqp{d8RrGrpu67nH9wt8dMEi$LG-IY_V@8 zPS^2Yt>zs|8w->>g98zmJgCyGUVO9ac<4~InV?drc|0QHEZF=ME{kGbb3{Q$9!{x5YB#nX6O z8@x^F`Az1@LV-Bz0S3roXh_(Mvj~6uZLq~oY+EHxY2;5JZ_8I-Kt#O_hqOu8J_c`z z5#?|QVZJ;N+XcBqA58)^SO!~Da`&TXsVvZkUB)|z_F6&JL_w_hauu9Eip68UB$?zi zkU>bl;c+>B8}>k(4Fc}G{Zusv?x3So@MtcqtlE7qvL?mVM7b0W{EUZ`jDffV%3U!& zxoaUXRKm?oW_V-(_V2zLEx38%0Ru;=$SGMS5m`37(PbT1E2QS$_}8kL*PzCl@Rt z%6wnO5x8C?h$@BgFD(fLb@gwGjD4|#AGpX{fXg?hnOXPcqim+Ye#q5u_Kb}@UcZE@ z3` zi!xwjyK%};2KL6N$jQex1t-eagM?90#VX$7}%qMg)eEzpAIv39Q{iv4eGj{&fWN9KE$K%*X|{DEiy`Ld5VZQ z;Rk8J^cymA=BvvWp+u$?qG7hM=mDBNe2(Ao^(ov<&_t|$vYtY>VTOO}oS3rg!L2(m zR6ESz>ez3M;B0Pp;&b-pXsUSn_zhxa1_X3Y8bEPSmWS_jCxlWq*DZ^~4f1#hU5KYS zx$m3+S+gy^V%Yrv>Z_;VD3a4;n z&xk={HFf(G+qlE&4~_JF=E=h~u`V5);ex5OX{l>o`P5Jq>Bi>-MWtP#OLaNttl{ZU z-+G0S`>0LiOax={ggMg|euGhEZZ{h}%J`9-Y|5EpQWk%BnW1_06z!UFU|;tz?l{|= z#PxGlspxv{KJIb%3fjnAZ`cK%+4I{W?Y1G10zh|sm_w6CZk670gk4VbkCYXn^Ap9c;P~kyX^$!{j=eADpk)?u zXKfwJQXSO%IL#TJdvYSNn9 zMG1JOBK4}XBLzdJW&41~-SM;*7dobFU0onETK+^eV1|IWt&W#YeWhUsX^)&ncZ%2B z&r^kiY@^P1EPYNQD&|X+BME_Ot54_)?m3c^e)qhRA3O9obeJCvR1u2k(-Q3`n)d38 ziAjO=Y6TgK#EsmAVI`S)v95@e-j9UJZ)$>Uc92<1t&6eq05lzW7WPHGX)=*{hu1Wv zw)3vODH)AAFTKk={fZ*guoKM+ZND*#cwZ+w@=b=5&*_We1m~^6H1(KH^v7B$aNgDT zF`0PW_R5odMdnYOaQlZ3+glw!x@{LMVxd2yvu zV`9C0mh-;^iWF9(J+Y72)ra~_lmBOl!#z+i8G~V8s+D}qg=hSh!{t#9p|+oS9ZR)u zB!$9BJu_YC4y9$%u8hl}ni6AX!ykp@1JleHnT&}`t#x{^q;cK){cSz)Bz(O2zM^SI z>AHa@Y^#btbZLM_EnuL=Kf%Otb3N}r6hf9}U@N91pdt4)Am9xxgf^W6>ySv;(S`Z4 zd<0zIuV4`|lWM{tHkVGV+;>ZW%-NU8P*AD^_q&#Xu2>Hm6%PH>P*y{ZZ28i*xkG6+ z)1?e9Z5U_LOYd|$#&q{Di|1<$XFTIEDj(k_)T!n4?PL^f+39QS36?Qkdk;qXj{2Im))zh0_nxkCnGJR#>q)ziG%zR8+ zp=yS59fnlBecC3!KtVBmhK|1Ha(=DB?~r<$iX1L<#5OgWly2L=0SZ;^)~hnU9CbLl zc+Z&WgqAc?Xa&0ZXi^e?7#Dest95e_Hai7=w_mcvNN8ZAwV%JGYq z5f<_)%+0@)U5Tp4L<*NFg!kl0qhf=U@+s@={1A;qp~*9ZO9Arh{+DsWGj6DZZ4XKJ z_-+mqRolkH9o#FnEMuS^)$}>$G-%cNm^3l~^6Fy%S+sq&4geRiWt1lcy33a^pyJp{ zi$lpftH^yUtXH8XpFfcC+`PQpUmD@y8-`8|Rcn$9ZYNV+vS&cBICmZ!~=~q!=MmE!)22~B#p}U-%%Ycs-yGdr%55_(C4KY zF9`o;6PhUbu=_$z$dfD><%83&B7LLr`z1}Nm~wyVNZ+v4vth~;Z()4m(Ot#gUne`= zxaKZEpHJM8HQ>CDv=Dg`dAz54ujxNc%})F<8jCM(=YOpPaZ{BgDr=(UVlaG@%kvfoKk=&(>3^a zU)7_rJi!Q|1kw`hsU%6w8%~M;n$!V<6bKqV9asJ6ILHHd zu9bc0%%Op2Sddeg{K3n8ht)u+i9#!L9BtIiqIX{NX7pnxO$mTTgVe=LwM@$=ytyXR z-}pAkcHf*iLh5x>f`N(kc9~T1De9vY8kJLKVBj{#xE3FS=NuI_>_L-6IW%;5BC68$ zGo}A`K>f*SB)(4i_6fs|?7HD`lSg}RI`vqiI)NL%KY(w?0HQE|?f?ErYBfKn7K)~S zJ4(y)xEkkZ2d=#jL{!#UTMp-jZ@@5im(}<~CbJgrMgA@>6)eMs?GLW$J9)EFZhy{r z?}F3K!c-+{Zj#X@V3shAXf#`LRXGV1y5@aG3OSpq5rsG#g)wxA400`BvIq+5d3;Lb zEHE4^mE=tNRBSoR7S`|&s)~~(C8`uSZ0;Y3w93?=MeBSTB~BQah%^>A z>PlE#j%y)jtvE~yyhx+WthEm`0Y>F{qNimdr;G)b@~y5;IQ#R?k;hZDLOv3fEFBCG zb4u*cg=-2tnWf_QA2<(f$#P4{TmPHc%k_E{HY`dB~D%Vn)Xza{P z&leLjei_c+lN}TufZJfLNGzQ9Z=3j7I13i9p?^YbPcYpHJ&w)b$8u_-YcN{ODJr>( zET{P(MuOOv&5aW`m@M}BPVtAoxO0l97Y9k1{5WQoXMz|v*}=zIKXCAMTs>nBYZ^8I zzkJ*fwoVdm9+)9{(E6RFJyGwvA)+tNdD5oQR;mZu4uin@4yE>^ ztpqM*&*zD3uWU&2HuJCz|E_p-jP_FDUB`{`BwA9pY&IkyVq1n^-f zt|i#K5r9serwKko*U7F2Ssa^zS7~_K7gea3Z4&X0sjZ$8#7m6z;(H%WS^^1{-6AYY zkYYFQv`YCf@?ZfE>WFWQ4o!%JM>?rOy#i{*8{A8_3U$H_pjmrVvpQ6tIYy@OK-nUj zQWD>tb5c0j>td=d$6lt%%R8K&w#C0>AhaH4xGd%v%(bpeo(1`!Jn^1?V_I)R!m6$4 zHPEVY#LqY|L5b$CHZMYkC6vlNNuo089gke|I~aY?TR{H}m_&Tn0A z1=K9gaAArUg}iU>p9#6z!!=?vD!$o9YqM101N9CbiW`$J-$ zAcb+Qk>Of=O6Sb^4ONW-8#HBG*F@=5r)|cKS(@~dg&R92&xcGSH7Rxx8Uv_OG}seuD`J(pTsG_m}Y>Dk7F8? z0$?6KWQ%f>U+XSt)V=Y8e3rHW_}C2_ap!V3ZF`5;GpE>>u;3?;VRZJU{;V)+_IYOE zPH~@6`pnZLPdMASHg02%0<`zP18VhC);JsymtqkWNs6o{2SXjiEZSJeAjOQO{wEQ7 zLtM#m$+(sj-~WN+Q%LPy%U`wkNm=n^g!tMoFQy9+-)kU1c>ekR%!BaAdxXcvQhjht=6GT$UZ1-1H@lJ8<>?H`THCS7YCXc+dhoGJe>Hw z&(u-`OxT*m;jkBKAh|r3=BdX;=QZu+#pTJZ3;%6{C*Pk4()chI_~^C!Bd zsF6gzgll3|vl5{1Lzqs?Qs76LHLK8Ci~HD=9oW_*jWKEhS<@K#=N(e7d-I*R@#-<6 zQ=+VmpnR#tFFmH007%6-ImaGzna2e)zqX=&Tb%E(noB@}dI?R_MQPG`PV$-YK}$Dc0)i9&s5NSw+n zr;oqEemuu1J|db2qyK(~(Dw96tV^`&Mzat62Z~|O&skbIi;2~zJ}=?wx3OK7W&4m% zRZ$|e&*rxAEa{(e=_jyuenh#94qzEy2BVTPOR*MayxU|zg*J&Rog9oa&Lg`=4{X_C zT`A#f6C`_u6m>@nNyWF!V~sVGiYWb7-Dil9lOJq4igqJ5tt_j^nx=VMiv|-Nqk@I= z=U3EG&I!&Xce(XQ@mkUwKeO3Y#G3_FTHWM*0*X*T8O1Ecm2Hp6>;B zQNfL}nhmDnJVO+;344YSUv04!1vfmH0k}YOXL7Y*=6x9XG94(UjgRn-sPPC>xf5^v zy6lD}mljRl1R#!sNx~2gBeTQ8O6vrPWw*0U3VUFlmTmHziJ}mlLgV$k1HAg<)94#` zsk3dhqu*WhM1|}G?kJFUO>`||sOF@4PWb6Q)p5q5<{R(jC#wG5DQ_qA0&LochKZX* zWT0k~0FdlV9c31U;j&Fk9#DNl(H>>l_3WZFI<8XgJV! zI4w1addVg&o}0O)P^fL(AJ3JRcQI5(rJwM0oEpyzKx2Z8X(TcDB$z2*R=#^o1?8yz z6_L9S`3T!yKDr+!N25{9rOsOKQHoFmn6b86M-?H|QRAA!Ze;n76HO#%OGA~+&G2|= zWZpVHEn}aELE8%17NBRKVh}BT{ZNkaWHsXl-YHvH8RcPz`){@WWrSt zM#fXQ*sGYGLj|knZ|^&lp0FzkTPi&!Sf5sj0y)1R&N)>52WoIvGqwlSw5Zsfv7yJh zj92}@=W86TcR)>vF^PZ4ySgUV)JJARI@)~--qz?5_kN81V`6ZYT(AG{LRrs&4}Tk* zaO_|&2kmW=u^n^icYqySb==t--K=CwO6IW743HV9F9;iT-dwy%-42@Kkb~Z|iUj)V z*!x;EtnB){P4r8NQn^GuUmaSEW=5Ou8ONi@FNl+?R;>5v-sXQuFx2cC{lI2NK7Pk^ zv_u8@k}Y+dT+`U*wMU|5NDU)dkcZe=o`_HmPOWAfhk72g9DI%?}H z^Wh_hQ%oC22-Isb?L#YTaa(r!0krF;)g`9Up88LD9S>5@PgMOxDUa_jb>(#Lam>nl z7vIXVHhZ5@R14g1OpGddp9xYGx6EQ|#dknGZ5}GTQGl;wpL4A*08_!%Y*>wJqI7w8 zDH#7#-(D!<4x|B?j%8d*?@&4(^&o@i%QbMtE_SXZc-`?H=QVzBTn?j-0_?b$aNC9g zm~#t{M9Je&t5-CAUn%w_Td6e{#|zTDXQTc6osc|=`6rURnZ@r;>DAJvM2+h63HrOU z%=UvAX4d4&mKI@@W9Wdl2$jDXK@1;Z$>p9d7Ev_xIw#T#<5tHS9*my7AdWkPPQmuH zTI86&=qska#t{MYkf)DHeit&}^FK4U);4J{qCDjaNClOgNn@fSr0dX-o82>}2d{vd zf>t_}!go`GPZR*rG7peBCMA>Qra-YqHWp;arVFT(4_BT_GO&{69ZCn9oC2C4;Ak)` z1UVNod&tNq?T1a`akq@DHbCc0&*Od_WQdK2>$*wOjkLMcJEBJ6O`>3)%3SUsqAeZ+z{J5erl9d7~Fh zXsBXDI1W@{9Ol}mOb40Ho4-yzkzE>v_%4~U=N;Zey!(z%!lwO#Ra71n_1kR<{i)3PkLnXQwyV^7s#M(GaQX76}$5=37#~WE6=bK z)9R|c)*8+2()RHy8AbfhWKhgYc4#kkSLvpu$);FtAoIQ=&Npl*FB{1mk;@(-PkF83 z_7ZoW)f5}rMgu_q4zF`}M7u;pd|DVKm5Y-K)FmjDVS43QZ+g*xa(6aBBOe24mFLY& zls#jv_X_E0GsV7y`Rc62yF7^s-l#jfMz!Om6x?mv5foOqhjTCCTlhN}iK8z65l@?c zU7DV3iy@X0t|9SBN0P}{5jm|Q$`iOAR-W*x?W4-RZhMq*(!eo1@7+6?tv|0%tO?lc z-JvYErk&-d3>G>5)7V~83ZvihTp@8{_SNUOsL%Uc^Bq%vUUvfLcpRpR0}tn*kL;5a z491WgpEU8(dh@Tw9e+5<{||%idEUUrXG!iN^AlIgNTOXT_ZxsV!6b?FRLt2OcR$Bg zOZvoL!?=0MB)&=UMq|)lj}yO56Xod9Thd z)`T{jV_uYIi?Kg)AXBzn5Ix<@er_GiftLB7EE959G@<)nxB zq>Bq@L&IL78Z7gqk4dGBS)Oc3(#GA$XlW|~6q7=8M(Edh?2)$-GkBWP$_~**19)>c zM+ow!(hz?ZOhnXL%w6!ZCbq_F+k5SU5W)~nXlJsL;nybV^Muv!!T;2bsKt*sZ&Woza#v7H!{QIc)&S{5% z8Py^-L<0bWlDVroWkz9}jZWg9?2Gq;Rs3v!AS;DnKSl@7>$JP#9nRj*xw1GklXIeyeuZjy4zbILT+P|C3q>>Wh&x~du z#g{t)JtS1@c6S@-0mSOBkG%oG?Q0KC89d(9%W4csv94|*Tvrw;cE4AQosCbS!T78W z0S0Q|BToRtUu%pzoOYZogjI-StAvHhtor;~B(wagfQE6=dP3P8y1=l-3%;k4J0L-vX0`YVX>Vkr9m-{5=u&4$1oNWFOb0+N6QcRavetJ>)h3IqGE_E8 z!-eB-W`pVt>&y7$*WkOoBWw`4{bpPq*Q5)PXfEqy=25s}TqO??s{_rg0sAglW%nor zSodhh{hWQ8l*QR1@330l6!8*NK%Oi)$uV(v8UhBS!F+=y&=77@oS~$e)^x?#Ej!Ex zOY7}pVxW*3q-ckDd1*;v*GXa~JLxcG*80wWDst)_^kMLP)$sTiMgT)nRuIvF$#_T8 zXrR#`acmQn&N#>$eEA9XrIThOpB?0Iwlh_wl3`oR6|K1^_+yo^Zu(gID4f!Y0o}DL z8VAz`rH}?>9_xB57UD)@0cJEbli&tc(!uQN^A0G8O`7wP=Cuv;w*_=D|usn>>XuPBE^cxT>#anBc3a@-cC*K z44AR;7^m~lh{nVa-Vrt4*S;%kdGj#Yt+>`!I$1LvliGq5rj1%(SPx9Tum|&x*}%9U8DM$- z1k-DS#dlb}JKyhd3eC!Zd@xQSKRO>Y<3Trh#!1m_GhKvRZNeJlI1I;>*}#ia#(p9T z6;~6l*x_OVecRj{DB*l!db}C>?&u;5{%XnixBS-0t(=Z*ab8WmC*J=VO)D}XVoI1R zy-V^q)h=?YL0ugOM77T8X|N)cVI?zXJ{x`%UclnFr^kfYL(iMLvN@mFb|;yn7{A_! zz)Vc`nf{pK=e;CRHb8OFUL3Z=*u>GD`dW;^aQL!S);qukHQdF;WZOEMg-GVlQ9Z1H z_K6{dq0NPw$U5faGr2``@;V96#%+@3n(3O}Zb zk|q@T`q-gi|Gb>8YEiJBudlfXqSCwd4lRbwd2v}^ zro}q9mFZ!=1L==V$sIXos}k9^z@#?|s9ayR$~!Lb&R$Zwn}s8w_dnTyrOtn5cS35? zKf6eo^y9$LJtql@>AG=$7cvY{oDONvpuKAI8IbU)Nw+ligN6#L~_D)k2vx=+;UrW;;j9#cu_nJi?NH8$&Pf~aEPsB z*Qv^wf?ty|Q2cjavu5;(y#B%NIl}h*NcYxh3RsmL3_2!de(Ev_MeP)pJJw`MnAL(2}wLw}t1TAVmia(wA z<&`hkJSEQh=r&1P}kWOOwOnmGrZAu0zh$Zr=t{? zTHCf;Fmt5R6X=>1`0rqvAKflSCi+k=D0w$1vuPI=kiLAOFbYr}>OSX=3^f6ikz3asrRX`p{w@RPA+OG5+Q6G?( z8*7NcLN=GTKh1B>p%H$unq=r_JUWs$%>L&IZR`Dm4#P}ua_@}ezFL`|v`(~%(ocA; z0v1Ix{!zRiZfMNLBD?9*o&B7JSE|OlPizOG1FHi7Bwn((K+4Ww^0UKIP|c}t7fCbT zpSXpMM3=zRY}+&j$2u&ze{0H`IG9MHN(ZZ*D&UoJnHd$s1`xKxw8r9!;w{SF78iM( zQR!jwB0KkZcKTy{!0JAkRq&{7=M7^dZrvElwX{w1D$?WajqIo{l}FI5Iaznw0q0|77o zq0{FRGiE>jtU%&N<;j&2qlV)Jz}-*e)>bQs-w`$g?_GpVz1u?viFyU0P#Z6EJA28b zjsB!je@LU==a2Ld)z^x&p#Vj;58~||RJ#Gi*UU`ZkMXV}&xh)?VbkM#Vr1Z$;)EpI z)XHSK2U`Q30;`OPXXY0DXs;AeFUa9+0!^FpsC-lomvGJ01;+N%(8c!Lb(6r=vm?4> zCOJyv1A5m7m*tM7AM)#_NKey~xZioJFN{}Uh4*}>X0- z50Mfag1p~?K*pWAq>()4Cl6zj8R9^JRzAUL7^F)>hH-nSGWlX3DwckGz}H0m_i#Uy zB$xU@hLBCi0HcvUSrt7uEM{rTBr2Qq0``mUSW)!CN%PDxZ=xo5xT$;!2W@6f zZ18;j!NFc9i@<{o`mp%prqJPhcCaT)$glmhqUnnt5jFXUc|xdQLQ%ZgN4gYo=V=vO z*&Lcg<*O>qK@2*sDB z@H4QSx=hPTM%QW5bOz#XvcZ41j)QTjBvCx|&G|&s%4HN@QS}UYoWDN8JL`;TNFZ21 zGN2=L_ocsbRX~Mv6mk$(7Bhy!2Y3?9_=%=JFDh)Nz0$5=7GBdkhU;HJ_C0$bp*x5XOlc4Nm@5C{hoQlNk z*=@{tCMESRI<%td#sF@Vl*7DPNZ!fRe zjFKY0Obr+B0bI-RHWg5wPa|1pSxP!}YObQdrI7Jl-}`p>Rhr#6@IqEY9yU9Z99y z=%XAmsv98t_+rcC6?_3CAA5|7a>z%!pIPPfbtP;}d}1bLluh%;D6q%30ik9oCdj^1 zEf~O)nc`xS?;B&E#hs5e+4({)D4>3^T`IOos7|6~K2k8vZH=p7R%p^*$9$@RW{+(< zhH6nMU)DWAY?yKy-rbX4-aE4Pz{JR84(T+Eox!HrrsDq!BgI=tJe16K7O4I_^h2J( z#Wm$j`H5gqJnhL{_hh8HmkrHfB)YMK&CvK>fJ<=M)2auJ4=2$@#fIDIc<-Ys*(WvX zpO9Kxd#TRGz-Q#%$W^PUK68E+|NTYtSOX7Il{inUcGOnmKMtNTclD6{matb}mqw$vd=HEjN?(v%>hMlEL>NRPq2}#J z39IB~as(s6O{!GDNAfJF6ORc5m3t%$+EGvE{k>zm`twqj*2_M?BI^0Q$7glJu+DtP zDg~C!apPRGG;=j8C>(y!&mDP#>z7QBW#ZIN^_{KDjMx%P*v=!;GVwo0c464ZV9UO~ z_)ow(pZ);+Z!z-{F(A_SP9lB?&2kHgOwBH-U&cFbscvYR@g`Y~Ody}4Yi!~{`Yn5_ zJ?PbKmvhMstK=V+Ao^uz6nmjr# zta~wOTd;nnC{2HDm8IoGN(1=fEJ9LX-05a4@h5QDHrz->Ijqe$|t|Av}Vah>mkZQobJeFs!p zL`e`pb{+dP?^_*^_eVAIvinTTU9uBUbCyt}jn^ej9BqJ&SMV;briuLytoFbnV{dTm ztOn6E%7#`MIa9Y>E{Fgfc{FmjI)#m$FNzgoKQIl5V(V+7t#F#DYF@t!?2XRd_)J1B zR+~!f=x6L+E=l$1G|L9940`8_zQ*|>8F>d&TQGV=(NRSLwv{nz5b+lEQVgf!O(jI! z1ipO}sm2)#I|{=Nz>?+4KsRqpmM+Y)zu;~Pt?4ypu`V+V4c7$ODW{HFnNdLdDyh4CjP+MGpahKC(pX_ zpkz0djdx59VUo9w{;s>(6S1-e_vfsEd!LT?!Qt~jIN&};!CVXku**C_MRw6-eEU`y zvR^!zJG`@n_g#3CaVFO)q1(K03% zr1Kr7d26*}d|;cd4PLp~jzum9Amv|Y9PYCC+oN&HZvHz{Q0;(k6y7MNJbRl`9Eqi> zdw0QDp#5g0Dy+bmaWld2P35)!Cs--|kj&TOV9L!z`~kj#oJ$kPTU2XXEucXxf7D|P zCdt(UO|zmqXhpepoW~d1M!~egEpK-dUk3B&kCztQn*ji!B6E@^U0|L4hs+?4$$`hA z*hHk=tIfDHxJ1{Fbxqs=*S7a}?M~dsGWqC{J>v75b81~RATk@Cn{eqg&4bp`hH5yV zB=e8@1240D4Q~}v?jb2@v(R!1D6Ni*=aI4zTb-~Y@t?WYeHn>?&ckrUF4qf(KS?+| z4cSjb{S=X|3;fY%T(ECto3xM$U5eW%m1~7^X>xz?qOFd-&r5_>^ zHV)VJ!I2yQ{W@;1j0~hhE|^~U3m5;-we+bro2PmF$a?N)C345nvY=>|QLggs878FC z{<#+9hSd(zvbOD`V?>l}%D<99o=IxVQ+#2u9r{^LoPCE^Tgjd7B%K%6(-cI@%hG5h zk9qD^sw77rqC(|0S|^`*xQ=OJDj?hbg#lDV?F@-s86WTE8AbDP8tW}ChdAfX43=L( z-1-B`8Fh%c@>pidIu%P~{CREB(!LXuC*G&{;WKYxr}@hm%h-ju7ztshqkLH&=eGhNpdWt#N~ z_3{!C(DOgB<_Vq2Gxb&5;^s!lHaxK9z#+`aM0J&u;ZavxVah- z`s4uXcZB^bjBR{!zI2FT#~Z_(dCG2xdKB*K?X;Msu#l*A&N@Ir7Uq#gKCqfS|Md#X zh)DG|Lul7Bs%himW|){@U^~=EMxN)IuE%Q1Sdm4hM0i5p)pN!PGUhf?;5(*~Kcglm zs^`c0{Yne}h|{vo^N=J4Y-}I7wR*#QLzhSfP@)DioU(;d`@;GwcMnC=ZrsJJgsdq& z!yTMo*ok|vx0EzL$u5r{{d7`XkA|9Y^2INEV6=e#|zAN7Jr%Lr-Pz3 z99*=X(GFSKYe7sd7q^G>Q$A~_7F17AqEvz&EACXOc}Q3sxYbS;SMlH*$Oc$#(z5j! zO{`4Pm+Yu`;ZS_y^A7A9nTj-CiuYO(^+2K=1zP#(|qTn0L6`jPd3@B93KDc0uY_l{%q{-+A@ z!gMAWzyva4S{G}4w=l35VhjLwo0Qbr{f+WI8-8bCNN5U4+;et~^#j?4iDS2?}Q)&#L8Z1P@)VzP>P)0&`dz zFL?yIl{q^P__uzv1!^?i@f4NropcHI;nVJ>KF@jz$Ah94f7MJ81Gt42lHiihUZK9# zELX1w%Ziu9EPHP}py$0&P(DoiCzxEpjF~rdO4S-h!3j7^)Uz=qR^$MB7$+y5m$bj< zh*I)+Q&4ahq+yr@iqiNcmD6JBsrzhGs<@y@nO73#(YIDt)1O2W#+(7r*}JwEwG94x z&E#HU3g=lCc2ApI7_Z_L-8EiY?pp6oB9F+FMb~5z8SrxZ_aw0|JI{1Si-HZw8v^|E zmt2v{`%@xLG4-q@K4m!WZ80v#d~{oTaIH16%b#m?dt)^|*ESk_O&%yQEFi;EDn{0? zy`$=_3Vh1iZ<%X(45E0>C2pcgF~+_eiw;u_(C&L)f%lE%<@5q!K;^p6uTYMC9Phh{ zPo-c)^Lms31=!_Q%c2ugfmweSm<=Y|lbO01ko^XFJKNHH(>i|{NwjeK2~YcI@t46= zYP!s;2BwS)7sK?XS9O|-TRwBy1lkM3T;G0$81a(2W>FO0>G2$g|-!a^IC9FH02 z)Sou;f*4t$)*`2#0%{!ESd5A3uiqF5H+Djrx z7w1U66V{hK6H{+S4K|T!0M>hv<31&ovrL?kqOLD&|C*Da+uT_SXX8quy1bCMpuOUi zI?LOP|MA%3FuAl!z9FY<<`e2$eJ|fBtG}@2Et(MyIhwtn53_fy+C%+sQ~VgWD!|bW zK!<{EwE^-EHI16P^&jdGn>*68Vq$I4PyIP%Dwf4Rh1Nqh$1Z&KCW9e}|g-`-p zXH9Ibug9F|YD(NUyLJi};Y@1pNIKT_gf7W=p$788y50s!J~3uI%)p9K`Bq$8oiFKG zao)Eq*2flGnpov?e57D{f)-^G;cY(&Fn((jH!;m%`H~ABU}*<_^f@g>pP74dAFQ|! z_gxFO;PDIG{2f)l=X0Bn9IN=esIB!^=cU->f)^@sl8m*HIO%7$*YJx;wwpd36;kRjhTEl?ulndjwuC^b)o&ecA}lLWiDjHhXmA@2-H0ohq$G1Y-W73*g=~`n zpqq^~(-8ZSK)x<=4}7wWhpl_OiyPCtBI-#%Y{^~PLJJF+QR%{_s}&7Zy30UIC8OTE zhwDi(L|oSKiBDz8{%5m#n0?zm;Z}u3$}$s%*Ex3=m~_81q_S-6=DEUl zV-5pL5JTiiUhi0r@#4tbBnxL^1ppDrHF?yW&A$!C(YA2SGo{Znh{RTMfXeYv@v`q7 zNgS_CHA9r4l99p+8~j>CJo_zDH&xi8xloTU60eTp!ovhY@a!;I@YIgYgw9lZU5M;F zW7wbY`eiHPq@V}K0t*D4`CQ%T`fP67%D3*v85y^gUP<4$FM`5?bDI{%JED=FM4wc8 zbOA+_E!`0<%45p~);Pjj$CNNZ1VColJLSbqngaV?eAnLbj7}EfB*%K6#r3gGL{`lX zpbbV9vLl835Nfb0w6SGtNf$2H&r$Lx3v^{*JMB5XP;n zlaocpU1=My^;u8V-VuexXJGOUsDEYuKoiOjHs<`GFij^-l>(VjoMBR%ZuKllK>8f#Vl{f8l#r3qngut0DfOqc zeD)4*U=+oZl$f9W+<%CaY%cntPu(ZMHD8Bqu1)I^1VUy85J8PX*KUCRXk);iV8*d7 z9BcZQg?y*(@C1Q3q1W{Q+^Z8|KyR2)xQ$}!ft{MHf7++GhY?x^;rH!b)cSe6J@WO* zXEjmn@sLx9lgNMqSV7J^wLUllF*V58zDxLJN=*jw0VZML9nA=aVjCflMYs~u*tlG2 z-?pg zA@MX*DCGBSgW5*ehTQqPc;@r%{)E&|w+NFk*{;iB?h*?)7b9>fKqj}(;B>>%bT0@o z3jB%#TeI0{_wQu1ZAgPxWT6|yozN!P+grmBL6`4ddnfTDOje~{!U=%VlyX9?$gmUj zm}AX7drC|PT%`FOPnQQdZw*SQj%`R37*C)VWb8?%6Vdj-nt(5Av%XM*5VuXpIZc%@ zl-|LNCQ1BBo(9M%!}haPt^poqw@R~Fb~Sa)sM4wFJ(>_&Bq_ka(Z*t&_x;bl#ixGM~ z*gT8{P%bFT>_jiA`G3v0T0nOXNaZ&3XD7y>?8j8yHFtEbZ!;C+WXpik*G*WoMwbfv zJ8=Q_y6>dy&9#L4N>9YrM-ypR?!J6tAK`@VF1($9X4L0vbvJ}M+vzbRGlX-^Yrq^- za7Q7-=3VrTq*F`Mt_@_i`Q~GOG6261$fXM`N5*XuD z1Uy8DHQZwo3&?6#nE8Ou?`df*8;d!;tpB)_6rR_Np7i#QH+PLtD85nsUI+^kt2N@) zDJI*P0M@s~;$p62m|QrAo`dC`7Q9UNz5WTNrzCME*-H7a^N+9YB5{qOkyOtd2hRli z+S-{dAYyH$hK$^n9bX}3Ap@Piqv@@G3T?2RT+a-|2*<$h3c*_Es;Hi7CV#fW$D+{D zoSbTDBhAcsLGb@9iy(aV?mzLPM^q5@MfR_i(YK5IX%x1Mg|ck8qrv*>i6&V&rQ#H1 z(2VG743OXA=b%Kf^*kArv5U=;;vor=$r534rV|+n>n}m z31hsplk>@EpC=ho)azn51$!-1JdQ{P)Vk#Ph14{a<^#NG{O887<+=yu=)v6B!1s?! zTuJnr?1JZls9)8CTHr9(zq|fZ7T@0?iK%n@t+M6XuJ>v{{mR~`~%dwNM=;rr#QOZK0d{89V zu_Rv;CLpl&06+I=p9aqTbEc-VR=d^SbC6#!3AZ2YCz^igLZSqXlpMx@*m?bTCRD5* z^=p9?)T0+12qsv7qwj7&mG?y6Wh`KPWbqEDkKK~kloX%m!g0Y*y#C(w>=HThU{k|l zLwB(4TNXP3g}0h#T^8^_HEBi2?kxPRo)7Qv`t5SG>B+SaT$u`pxA6%R>3|F zKM~(6KD%VdvWe8b|8fEp(s+wxatbqBBuCIwE^u8tf@7Pcs!Su}-UgZ@-{ylF(OBvy zu3#G)zK9a_RPyk9AV9bSvXBOu38*?2_p3h{MtG+Wo4^ML+B@$iSa37^a#wjgGfW@) z9nh$9b=r_@%Wk0ahayC|t_R#9_xD&9m*c-fC8gV<1*mybg`*b1;7R;ogHQ{G8GOf; z#u*y?o84q7*}!Av=qf8Y?5BhH08Z`GZ zEwzm~ddul~q9U0?p*HPeT!{D9r??v37MYsdrpOfn@jvg#E!yMKP5p zUm{8+!D_Y)7;TU_Ntjlo6i7h(mpefVrT0qWPS!KF-M$?GUJmKh^%(dY-<66~L6^Z8 zBS>rN7*cJ^)a&31!anIs1YeS*zHzn!hkQ^s<{HV z(grULHudF-rFcfw6jg!q^ElG8He|5<1gAQ|J*X_PURDVr-06Jj@pFd zTn$3-L9XZYaDWM<@|TqYb!ANvwqdDf95i&WK~625wO=+FD#$$F$&%1gPXwJk$xe43 z3rW@HeaYPv7}hc-so7t1Ojmfq3p^kQ?X^-TC(h_6pz-oF@W$e*Se+!D$7?a$iAcB{ z3wa?hy1nzFfF5t9La0&51>+3O9O22BNVW237^i0eCvOLfHYaA}+r~{eoPvTRla=y{=+c zK%m%6pF&28uOm*<8Twjh89GGlzfbp^XR%Xn#=|v%A)UHARB2bGQSn2PfZl@^JaMC* z(=ZRJ=F`1XsnV&G4#>#o|F?3ypILUDn?ni%__WpGtsZsA-{$Vy%oL3IaKfB9zBH&6 z)d-3r9OmB~5wfYYk(>&ZquwwE!;@{(bP&s;4nEwi9hKV7RzN!Q`j)?HVT?CMB5xEm zyBy^)XIVV2QYHuBOV?0OwWl*L%W2g10y*KCZ84@rq7nZbf+h*BLs;>&oAYd6MY8h^`2m>B?jnmK}yr zs|OoVCPywo#(|{w)K6^8w{ORIg*C30Q<+>gdPc(sH-!$_)H7rnw3)QI4mY(al3kw2 zrGx4tei@REo>NkB-|i|ctdXWvh_is`Tlpk9#nkIL_SFE4{2fhyB9qZVT6D1)2F(o> zz{`5}Cm`${%eYWZA-(UFEEckq+1zMZ%;q_h(bw3cl~eRw>E8&5&80ww=j9f@??`$P zE()c1FDT+oDJl>Pi@3XH-`9#!K0xi(?`vXYSkb{RTO@~Nig>)HCrqoa{Ly8el#^6| zJwPRIG}T<+wVteF5zD6E05_6c z%Z0;u-jrvI;GOvT$Eu^gF&D?An1NbvBxxooI6^Giq(%OiGt+{=g2+>jUuDW3;P?Vz zQ$p9iXSITyqRng*n@HoZY0qPx1~lb1SPAegHt#pDW6>)6iKKsYP$|jOi_wHQ;;g@C zRd*gTeVv1fh~)h8EED^Nr@6Wr^_Xd_sO0yQkbDQ!MRJqal%T4o{}bgYTB`kTd+L;! zoU8yp*QbPR`D(`YEp|=g=n(rn?g$#0-9IGH9@gl~8<`TEj?XZqlvm55sRRID4z)+? zG6`zC9c0D2+n4J>9vODufDzrST=3oXHM+ zMb#y9#bSy@EGr+aUv0Qz8c%;(Szk*QK$E@xpT6mh8n~>8pd|f}dFo^R|ENSixP>FS z{s}_4ghOvXYCI%WWfK-A8ZLaO)^5)CauER01}JoDi>Ysvxb25)P7miEukdWs%X;-r z5!Zl1If%r$tvkhYo|vWj*|F|1%g0(u+zSjtW^C4+GsD7;aJp`=o6aO;H^2Yd= zusP}*IOdE6UvD$AyHp=U_wJ((3g)pJ#e80 z$4l|(>f>A#p6g$9zMj^ZM1FY6c9v}qDdrW@7}>$VJegS<^df?=T3}x3z~jdpfAg+Q z$J7%6cWDAIJJnB~$mzlis@|Nx8v1M|FiaoGK)@7@o2@Wsyc8D@@hL+sBT+@}WsGZ| zA33RSF|njuQtSp#sptE&s{0+&NCDzvvKRCIOUR_*LPeVrjQM069TL_kt z+1s5Rj*l5mwvNf-!#m=KwOvK$R5JHh69koPzp0$;>6<1(AZFfAtqVxij&}?Zv^cV!rA_z3(>>tB+=AZnCK%+ z5*Kp~uney8jU2qe8`yEO^0!GIU(V(VQEg71=9&|p@voD`2&gCVQo4@G?PpaM=*8d@ zf7FuP5OZT3xFb(r>ygAkw3#bfE!r1Vdz|Z_-+#D`YoL1VX#_?phwwTVUJ*E)gw)7E;He zUQ^Q;Wbk2G&&+UUEmlO^uNiX>rStuDD#9~ZHSKl0ZOqBVH|60u z-Qegxil!D%AFYUuN%7{w8GPgQ1GD$^hb`66qv&8o1LM)e@f9w4LX^Jw{@O5#$hyY8N6Mo1O@A;Uak=!3dT zg*X4o(?qg<+OTLb%}n)X_K(#AEsEPj8eA-PADh8i+-?R*!M@$ScwW&wSFCuL&=%98 zV2|N)_6)5t0FIWy_y-XGw{uxiW0k>+5vJ94YSZnCZCryPpory zBA;%lRZ8(b-0vqA;MxmqEz#1gAhU%%7kmB#{-$Ln^1}seVKNAElxy52ULX1l{_s)|roI&rJ3f!#M zZ(OyUrx{JcKs{q3IBfH>H)?;Xw<&EIWo0`0*ntUoTz zfag#bfoP*b_VKF{F*w4xi^qYlEJ7tw3cJSM>Y@~Hc(GL1)39So;$VWw_3Ao8nLqDf zfqG8%{PgN3x4zb)Td4HKIIxkkZ`>?zFi$aSa7P=;3x05$_C} z*ivvOxCo|+E)z$OLSiRwlvbZuTDTawpL7j^vb!f+JZrlkg7=wJQ=%CCH zEE%ezek-uqOt@ZxAjgaL)I%9P9E40{V4Nlv7;hZzqjqBb!hU zZb;}k%Ih6mhlJ%u$kg`CK03|RQG&EIe#mS0k$z`~vrJ5oHgrB|&~Y;@{7Y-D`B%O} zNk$V=H|a)2w3_mLp%6HySfS7vB$Km{*l(F*tc1yrHke5OsRu}d0)&~XdJwewo${2$$z-^YqdQVkE7mmd z+$}9_!_!%S&PNeX#3Xdd-RKpW%x}%(@#Qpq>`Pnm4z5p2a${tQNMfRFsIjxop0px5 z3_iwLVs6n2LOvE?l#ONJT_piyKWFiogmVr&c;>C2b;?X2%3`i3Y znDhldmGjGkT(S_^M0coQP)4vm?HyU}fl-C0u!?E2OEU~gQf*<@L0L8>rb~<;-R6P^ z0rkB4+@3q9sK>LL_#MwknIPWrVHQyh!srJncM_A>*B-!v)o>rwnzC@R~NJ@aR9)j6! zyyNP$y4;AF=xLhwDfm$*4b)I2hiLxmAXBZ?EFfg89A}l2oTOIsHWbG6m5ns>>*0{L z0mjq@!&XHB7j&O`)fg`@Epz1>FkPu7S2msw)MdD{R$)nIav|g+){)X)a|qbfst7l#e!M_|4umpjx1ffOJeRisgk~UXx$_ zh#t8U?Q;0AT`u;LS@ zUgqX+XjkPo%8E0Y7LXNA2WDlNBpvpX92HN8fM!uLxk@z#k934R3y{p6owNuvh1v#j-j!DbQu91;vjm}5*nCN6^}Ck0j3fFD1R^co31W@s$D>9@^Vm?7r;$(R`~ zoT7-f!s3s_=4G>W_8ld9`9zNiqA}~<0gZM*d`!j)yW4DE?BYr|j6Ovp0BP0~O=|KM za&9UM0(c~K+X4<3h%>lFsRWgu`O8mWJxRuvwxv2S|Ha4=Se(c3b6ou#5=%jsJuc{& zxPd|g#+v9)+T9B86;kO!mN|~R{UT!*gez82^N3jXT_4Zn><7f{>UVG-Q)&ZQW74U? z>NPDpmdmfrpN%o~4saavn!kaOdGT0}Y&5z|lEU6p7FTiNB!PO;Pg7H8QFJYQ9$dIS zYa|8IZxYy;WSi_$V-{izdA0#J)$?uMi$*CoBBvKrCROs)H z#Xr3@W~XycVK`iiwNcZmJy%Lr)^f)F_JicG$Ya05>yVV(xS4nM^;Vxzn8H>D1iBb# zCP~D2^Lzo7U)elTFPy(1HqUHaenJ{g?C4~)WlAaG!xcY(V%uB{)Dz1>&9f3yri{h9 zSt*~pyoA;-ATP3I@4&iuN`{gt>C7qG8V}QjPGG~YY!a)EW|G2J$D(GF>1Jna#9bX6kxw^f`3bBiBhfLb zE**Xc2qi2q@(eHKDNbmioWW3#{PP6|r<%Lm;MEspfC<6B0~&X)n3$)o(lA@i0E^Y? zS)`rM71w(<4Y0XwIxeYN*NCv=UGB+kIW2lod@_ zF9DIWCBQAqk*Np7LU#L592oKRWF#(T{S44)d#+L3k!lm!V^b9Q?Rb z{_n@>ubb9&t=@tAl`n$0BI}}Lxic{lqBnmVR4A6#tEq44 zbxNl9gSDfOy30fs4HKUvrcaaQBuCiVPA{U!co>$&^En86RcsL|bB}Pk3mrImz*jDL zbVACoz28rG<6SC$qpA9Q5K?fcIcVBCw02|axCPLD6HT4(#zT3yJBX`Jm@2r+%{Pu~ zEcJ@+cS-I*!pSuYNhnVjAwAL1eMZj*&coRaT{P}ZW;lgRmx*v`S!KY)cQ74HoW;IW zNnfApT%UjdEw!F}@LIymA%7c}PARC^uoc|Fc6vt_d}1>$nGRf5A|I3ohodfk;_Ior z(J;B=49GzS$cvX=yRuwDhh^@nKwB`nb-2CS&3l=)D4~DIZuF>*@d}mC#fCqvb&;li zJ=UwLfY9oT$_6x=;W1Z{^|{^C?|`}zP!Cyf`5Efy$E-9xVs1U-nV&#LB%^jTNtnM{ zeX@7YVW>C@3Y%SZsDX>>DLvh=1P|ZaMN71`sxR7ABj9Wt1}=GrHkJsbjmE=5Rs9pt zIWGlkMsnKtmuFg_&TKP}6{;6R8Jh&m?tS=Milc{mcd&C70ka_xoURNysGLjYuHDG- zE@v3vM>C%MlhB#3&m>&v??FSB-P^xcWN}2MQao)YqH~p%nnAs{nWd{H_iaA1GgER! ziv5yCP(RSfJWdwEJA{G!fOolTIX|DHQifxTg|_n1_#wWC`%6LC+Fa-oDF;`&R^+w_ zc?Z-Jk;s>~R0kZjjMxgu7DL?yzUe(U08}bdr?2!6gn??5Hq3}Hl@CK{pWczv#NDkxMPuFB}Nl zEoK=Blk8D@2ifOX;{e~~oE)B?aC%pA>2)yPx2ZMeUiCPvXB!lt3yy`bh}|_C!R%{> znzhNg4sW2Fjf)4h2UerG2blP3G#)l8Hl>u=qvsfsc340ki4wsLXPWrQYG8~Ar=xDK zQ-k9#cCn%g4Hl(#ViP2(0eF2CzWmWs4a-M`Oz>U9Hu!HuhRzW(^>oU~!VDQ1 zU{T;0gX|UFxLM$3X2yU`)ZU zNChNv*^$_j3R%YTd44q~2vi>**P`=Wgdb~_DYo1*>AZJcN)KQR&j0Z#Y^8WckqbAo zW}Zm3Vf*M?4j(QwfgOoV5td;t1N&93??}=-vZk`$i#ud#6WTd0K?|(ic*i$N-n#)) z*1>iRvY~a{3tOm~EzF=VF+Ou;Q4YKpDX4k*#4y-W_#Ms|t%{k+GVXGNcqnO-4_F?= zEzFczCSuZkvt*j}ntXNKU5{)oT~7aTBj~3RKS|Loyzw@b&#`Ws;}PL!=VS>6BFym# zmpueWn~o*BNO|Uwc@wueQNc{L<>Wh{P>x$tL`tQqfq2 z%(5K^J|iiyWdcQJW8!yYBZoGEri`zi%LMe019bDj(AC9HYJJNM7ksOU!)i8738v#v zUFW5AVKw(rvk=b!JBXf1se#G5A;9?*Q@9r4!b=_YV(}AjuBlbC8C&sKRw<|2n?w70 zu|3f}Px(v#qXpRSXn2}Jg3d`K`1MtBHOaWtcJ@N1n}1HNPRjEr>g#8-@aTqf=uEWa z9m$wq+ybhgBxXOGjDQbHif14#!u`WuW5H|s&Pi?$hA(81HfQtsAentgS}Bs=CKORL z@4z(lDFtwqsvZ6!%5*nY%A$!WPtki{FjlC^jujn{OfMHCoppcaZ-tb5NG*TYY@e*w zj`gW-&mb~0nK(QxA~&)Sw8-AsCh!uDAia)C1(Cw=&qLE!bw#91QRWv8Yi(HJ#4ejm zNgyp2l{JB9F4YB|Bbf#3$x)-^#6=fXX`_Shu8Q!+vm$%f&({%*5qfvcThDAA#N)zD z%b?Jc%{2;EY=;l`0Gn*j7!7koPo@?P5bApzCdMf8baYP>$#qORa{W^oJk~jLx18Gj zWXmDTI`12QA=6YwcET&4=bC8Ys2~JMc$dl{twJuw((zu;xP5KcOc_A-Sw!}wB+WG z=s45_z1v0}@th^R17?=7?GgeB1963Bx{=8<#vha9^A4qN#fzAkwN=AW%90XN2zO03 zL*)AEbHbM&2f|egEBs)U7?xaJD-|-rRJ)@5&hF>(3ayuLMdVBb1H-~RW~sAmd7$gM zrYOFd_^=w%gdxVZa@>P9bN2VtL(al0{wfhDst(02;%GwYt%=o(4i?&ZUFAv?DH|6- zj3P4F0zo*LHTj;6tpprBw`G$Fw=36seCV#0@j`1JXTb0OZrhtq{7ynA*n3W9){CNawwi> z|CV6&P%=Vr<(^uh?`ZCEqDB@s#U}_6=K_7M7qL(u*#J;l_8kk!ID!1h?&TAK9tyb`VONU|48J(JFa9|E`#-QyO(~*T?@2uDLQ#U z9x}o9NT7r_gGhQ<^(BXKmPFD-P%`)VOYiM@I9SqP8!#m!;hAp687xqP z!}a|R3Fmo-By#9Q?mq%S*A?VyXgE~a9e4oUH^gxb4YAKLF}R?WO{@(|9j_eU!Hih+ zu+h|7vJ<^$Emxj$Q8f$Y{pH5Sx^EYQJ-N9pPU+ku~xmOZQm0}TU&qS zgRc8AF9H4I+7iHP%{o$OWN(Y!p>*0vImqfbYuB&lxe`!y#AC>~s^3 z)Yz^`U%7WY@(U8)1Ox9F5E{DtC#3##;@+XnaS=Me9FtV@6bvfSNwTLi0qR@O`*WTI z?31OsswY0U^ZdaqvG{1%f~!r@KK2`>aW{YJ7P!r)jh{&Et`!S)6U?buoL~^=291(1 zWYRvx!ZCa^Zr(el5z?V~-@Q3EnO6~3ZCM?>TU=H|ZYny}jyq@?bG$Qd5|oF_2R^?gzeK~3pXgB8?gE*mtyqv`vN z`cs3f0OC9RWZT*hC_rFW5DSwJhMbY=KCAI>4Um2Vf z;k7z;u;C&1#kF~YJBdizv7lvFeoy@#uqZSZ#Z8wQjAi(at=GYg!&#)8X@Y-8c{{RZ z@YgOTm;{eAF)zS)i!fe4-}9hdsA8J;;ZIC`QYRKCmJ`dzQoner>dRof2OOythL6yt zZ&i5|VYzb~e71hKj={q5$iQ@KWMSXOmsj&R@MTj3mA}eiDzq$+jo^bU*%%Gt_vQ0( z{*8r zK+Zj&lOCxbB2hPS2y}=XkEvFevzemrM4jYx9Z>Mw5Y3$+sm62Rt3bjBwCsH+Griz& zyLWUQuvSFel#0AdBTEds7~4PNc2r#FC1t))U%b>mot-z+wI$}7lLP*|`d2`ACu@!seaM!557)f2#E=uzs*k737DD zXNYxixhzLw!|3G6TBe|qFgF|As++N+>l=f||CH>|g+C>4S}Z+tpOoWZ9fP%Y(jch$ z#c=fzp6KqTds&0vn@Bd>X&&M9i79LwBU3+Z{nUi zybrAXSax@^Zo@VaSzUza>sBG8IG&XU1FJ_Log`>nSJ4F1XtZp;4a%zatC% zNQt*u|6Hw93?>jI?pD9GnWV`(E@9Q7D*kQZOfnr}x@(WAN#mIDSve`7e(Q;~$&|z$ zU~29wNDM5rD7HiOK-oNsF+x3v56j{Dui0jlWvhnQ%|heGo$55C&pWiyv%uTr{+;uj zh!|6iX}0_VtKL>?wo1j2i3Q`jTV6Fvd znR}{t4e<%hWghvx1!^(%yd>^s>(qk@q_9$|+0)#Q0oK(=YD?-r8iBaT4e*`Q!Oi+D z)~^B;2D=L&x)pDAEVd#$p>e#);B54s^-4_AcbS(RX3PtV?LY?9n&Sd?${TnRICaBQ zhst?37&hP?P6zYUyQH33@NG^TsVyu3^4Z+WAjVcM2YOJ8dv1z6BO?gbIt<{%oDf}t z`hAHhwSamLE(+(3xRl+Z^=6b0^mqyIlW)9v*Uk^aYlG9OOj&)oYXSllb-Mb>UKW7u zJFqch6@ybmszp}&pi{94W=4j8cXTAC&fB73Qdl~iKEDr*TWpe57Y)w$)uOPv+Hw(# zb4TfQ@u~|aEkZtAulx`^_%QY3KMK$qyh+F)VgMZ77s*UW4cXCwM3*4}-_iB71&0&* zty|*NQa&x}$Z9(0)=Ip<=b+=}Xf6i_|pS08>-!*<}WVVgw_aHGd~W5EgzbfRESe2h!gb-IIw98l5e-CO*cX~W1SF$cBh(5Ei^ZnV11uacz`@+u*7o7aAyADcO+x( zoHa=iwP}`cA*uXu&_}%GOlF*#uKzIRnT@CN9H;A2N%IT{(OUZOgH1eguRw8nOw`U7;630eG|BC{_VL9pic<5N?jh1IW;@(%+aA%gv+ z3T3#I=D3V+F8I{!O%7MU<$Qz3p0G$vYMsOQ4y+3m6_GV}N}1*F1ATaAbMtGy(!N2| zWa?pLGhjJ=u8)xLZi!rCmhr>jkZ^{#Sb>^Jy)e&FpjmfnF=<9?_YHf%6+JFpUC~a3N1VfYTfs0UY)XNq9(R3mBY*@zis;kgKpY+bg187Kxk* zb!U%`k^;4Z$ME8X3oHCyEZEqivbui;eB$$kZDpR;hjr&=^nwsg_~ehb*v5xOx(1PE zg%mMut|0-B)E0eOU7C1kkxqg6c~NXTrL$J^jOad(6T##W%>AD_i8=Ssir(;(B3LKO zY)2ykUS_-k)%QW7kOAhIsaX^kHv4Q|k@Ry7MN=c>75%m|bbDqS*ecw{8qAQhMn7~% z_j<=c>^}w(K5n2m@!L+kx32Y zLQtVi?q}H&FJufXA0Mc}rTOV6#O;zv$g-c?T0=k$H?2oKj@t4*o%GdG-+M0&guJ$e zhl8Qe8d&sG*?aAaAIG7dYcr zOHfN;$$RK{h$?Q&K^|vX<;H&^>s8vNl6uwkjZs$jj)}b?VNTZNfjy=T01MA|-c{j{ zH0qO*>c6-zHtg?c&hhprtD%JZ?u>tvL9aPa;Qs7NL;|6O%Se5xUcUa6YAWCwGgVIN zqwvX-QAh(IBpxQZXUS=%e>Jzb8R{QLfIa$j>#0fmbX7%$T4^8B-v(=mz2=rHp2o4JQ}{wmKJBVu+7~&rbhq#@CGN5Vx z7(h_vL`Uz~z`6 z&C?%Z8Lk48#N?d5( zOeL;k%}lb(b8n}n0qOG;qBy_##ft9gsX)BTCc@$W;+!vL0ncpCS3mgKewACQue0Lj z!d1UMX4&F8J%|1sM(>BjwxlpwUAE-KwweHlXuOa)5pJr*>6o!!>KW;DZ5hdg&8^6F zwb#G#^P+2kjn7|r5)9iOR3Hz;@TCclywNcpNMp^NC(e~%AZ&(xAc!!&(;}AzBa6Sn z$OGwpld-WPF|d8$Qk<*d$R$=BMF1;obEBU6))4=EvhxLw{h{(Ok3PShrxic@G31EH4n5<56pXfL_>M7<>2Lu-C$PLOPwk; zG!CKX>xibuZHsk5-sZHDMGJG$(+1A5qp$ij?=ON zFlMhn3MpIKrdgTHw}6qKaZ(DiIcrVd!F0vX`k()k7n#EkLeyN{@9BD{gk`dR;J|UZ zRcNB0@x2W{jJ0lwnNj>lR>G2}gUPPFoxPe4mmw;+z<4?C``~k^AN^?qW_~FwY<1>@(~uQRSE#>XM|e7 z3w|dmVu|DZ-Hn%!ZWjdS<~2HhIYmdE@IVqiaJ)whJfhERdF|p`FyF=`psy+P{KV5U zK~VXvVVTc^>2+6;?E^`s%VlQkmwp=~w87onPokFJa*o<KSZVjH`!gbmP8;!aRduz$^biwbi`hM$zZi%b1AKC~G;PiEREmOqi zXyZQtS1c(Pu<=f5t{=Mweh(_7fL3)8gLgQ6a&iSNAwfHv|9e1i=v)Ywu<&c;JC6lw zJ+%OQ&Q1ME*f-9#SM6ZJW{y zUZWFP_zl!tD4CgB3ibXX^70ehczJEqoi?9z!_hb##hN3eUArb!tt{~G0vp6_hS|Jt z&elK@YPKF7W&D;7N zN*t%^ZuRv-01HuDJNJ8Ll*rX-)@sZK4!3zoAasMNBwwfK7OrA6;B6EUQjRV zS0Cz2GTP7|6VRHC@5NCEYK)PDnl<1eCnd7a3M#o^6D%9}lLp;QxMpaz8`wMe{A%1w zCZ!JRs`U}#H9mCChhSYsUgRY#w4P=IJ1wa4Y6^Sd1@&>lTR0;grSVA7xcKsrZuS)X z)E{iU*Sd~>vR>LI5piH=1({@`2emw?b-$@{@EkXjz<5P>cNOjn(&dewogo|Ina?TF z&n-C#mg;1(&Aba4%LENMd$3c7dezO)@Oy8eK*o6@jpy?<`=K7M2ivH{R2XM4_~3zP zxK*$Tl$@b{MWLDp3%aD+-Ts8rFW+|J4moW(n*=W9?xnb%mCd9XtHu1{zf$PV%BX%%5JkG@->t?B(JdM=2gfUP+SLt|ShbV4a$=i!5vNifXHtXY3Y zHcD|3E!S;5#wE4woqt&?U8kSwDeahPFGV+Rswwp@kAf+W43E*o+)jHW^(SaH!BY|Sp88|W-mc#40Y1W_7yd}L(A*p9A!yN3ep8OqCPXniN`3b!2 zG6F6_bPxv2!B}=(i~CdkW9POYlXrl~b6I`D^7pZ^r5RUvVaEuZWMk8 z(ehq|$hBFHCSI9A!}wA#WnpLxN>Bv(TAkITl5AZf6^)@P-%;J;l@(PDNacB39pHR= z+Gd*Sg3{;)U5myBW)!P<=)pL(e!vboJW+5f;e+o*cXXAj(43iJDf5SC2&FXf=V=^52EpxPx<)<>W6I@ zxdTYXaR}xN&%y+l4(d5BcC; zEp-6}N>k489nl!|CM9pA(r5XFMKBQgseZ;-6(LIrU;^Ap&3hm_&`eMYC0rRMJIu>@{76*4R?v}jQ7d4na z#uposA9HsPD%5E-$P{cYbJCU#&nV`?)++z<_OacpUuPL1wJd&auCIrrA;P)GWnVfz zQqYA>eMO?jHW}-^`#RV^00ukhj3T3!t#d>9ifsU`FDRDCf$TOm*BsY*ATm_-5=BC# zHW?^LT+P8HdA$CCI8J!cV|`BT8cV-`Ay>jMJ$LKqP<*c)WU_JyBZ_SihC-NpU9Bh9 zG^UJk!TO)V7Ey4-S2xgN8M={IZs?SE(V5nUI}xbn#1c2)Dok$<$ML(|zTwha3dUv^v2m8W-5J&WsTX3)q>;UUu2>LaL}P>k#b%iuU~7b-tEVu#H#`XI(d7O8+X z_c!>7tbc$|E9=9bCi2aD;xNPQROE&=dBjnmqdB{1Ww>Qm5_#H8iMO8f!n!N`$msNN z2J#7hB^cf80+B(pn!_kaSY~Y=;{nuXaT7@hz&nHO!hrC}qN&jpuiw_7N7P}nS8i#! zex}h~NTj7t2TVeFLkk$&R&qj1}U>a^=iq)YJU&g)=5 z!Y1A(s`ZOGUckfJy^xm;RIHp|t5AD12R4|=0Tc&dsW0u_9@&_QL%9U&?2x)Ba@Qzt zAuPK!CPD+|>`)?#Xa?RxY0m#Zy)Y?PekT__k}(d?cjFMBUR(#ZA%>bMQirys(}Cda zuz-d8IcId2{8t{>EUlV-d+#v1Q2HgdC8~7mU;?Qka0GVIYDc%g-=sBNj%6VqI3Q(? zT>q3;OtHIZjz!a?eTUXxRS6w2yJ*E}h_Z+U)T4diuWq-!1SA*IMq$+#U3Q4GjVNc8|woGxra4Z^>E9R(jb@=#u3M-UZLMA+2M9XTM`Sg6}=ah zb+i@w@8HUKmt^sLIs>?^*W8J(f%49YP=U)}1T_FHeFM&vX|vgXZ6mHlI^rjgUaCO5 zq;K5ae^(yQwV0f6K=kTr-7{w^^&dKX$(Xnrtrxrqc4Gad^y9vg9#0MN8mq%HYK|36 z2&sLY?nc?`diIGYYhN3CM|30aMMeBXge6;&U{ZMT;ZAhtJG23BDBl1>Oj*2f$lT;} zYSS!nt@T6lf~@2E^NcSn$_qmeYct*v4M12a;|!YKxhASttvqdXRL^JF98bJwRY8xz z7sng=$I6VS@?IA~(!AXB6mNNlHastSR37r*RFBPW;mxhGs^@(}sK&o2e75m(Ow zjgX1)ys(TVxmt1gX{fwTL7*KuLRpLPO;Yg>IOB71m#HK{V!@Pg_iK^Fd5HcASIo>kTv$?`m zx&%k}X(3&mZ6gXsVI~&II|~c7CMehc>O<9{`Ctt>;$aRRuzG&f26xRZ9MB8H=<-1! zg|#V1(`EtbdGf=>;@CKN_*ok<ygPUG@ja=2NPdtzoowIZ&yQ%s8+WennH zySXu%j5hJo;$O}s%U{kjl`u9rN zGzWen>UjxbCSZ=Y6$$f&Yo*Uix7p}?ry60GkT`%ME?b^ca8viDqrf3EK?Sr-Zip#Bt!F=0LTdXhv#cmhyT`A!;P# z!bjjfx7*cDPTZbdKqN_O!MHbk6WcRTPv~!7UlfQQ(b-EB@iGDWU6(hQO5!VyNRoVO zw+9sKTzH9UITvXvdcV!<(|S35a@j{J}L>Dpf*(Ab8@`f{>mZe)O zQEcK!d1+6IDN5cxIJG^VarNFu2a~J>)_?@TvFretIc+XW$4z##(C#U*@6ddoRkIi{ zWLK3qc%h5BkB3InJDLNSnGnq!k6054=8E&@PS?IVVbkWjNK-k*t$$j=CN(!(wZN_rnR0r4&QH1b6HLGGZq?uQpWcfb zq+u=Mev3`qYZ)`$KPpt%W9HN6{4HZAUoF=jv=Qm`)UX!n^i{AQBC5r z>`2&j8hby3ni#!huzRpo-`3Y&K*U{l^BqSR?~83_t!0*JqnfDVH2Ns{E7vCa*W$F4U|+`ttBDEVs-rmHPZ|31-O+)M>0z!7@4&7R zSgc1n6#KFw@W@)BO#=|k1Wz-z$`S5@31t`XONV>7N?^|Fs|$gY``-`hIY*36Py})k zdw{93>SjcSPEq3PnIPkVtrtr?bIK%Vt-ag+H3ba?3 z`MyQW1Q6{P13R|M+h(TU6FUJ41@DGsdx}GRU%aqxnz9k?&=)!_!-yRRa;VE5R@M6%zNFB4Y`wL-gT^O(ymLIG z4ZQ>LYe6N!=IPcDwS1WkQOyMBBJQG0x#bSCLe6aDte;3qkL2u_K*RMm@u0;)E2b== zl&N?Npc_q&nX}rZWMfjbwx{_sYo_xj%95NtkG)!-m z;`i0mfQtL(blTAKfZraDFB|wC-8J5)R+zgBQfU!a%k)_hCJ6Y}W1=--8wMaW+wFLi ztWQ}v9Bntlt-a%TlIBgjs0L>qcA&QP2-{Rr3WwVIGeFSNnk6lX1 zHb(StWM(K9;%a(-iRF_C;-Kk+&Y1bT zyh2O;JT+n_pRW&)F%^b`WZxfn2ba~O#Vp$#dpF}W^L))>@=TAw>?(8ba7IE9FO!|O z`>)|55*Cw`176n^mYo8^31_|f!YEGpZHU!B7eI=uChsA`mk&0352}pUM;#tvDY+JM zJr|er1h{#(CsAZsm>HQ(g~=RsNDx4^p0UV)xF;Lsc#?n+Kw1UI0f zkwjf1@RUnaPhFrii(&$8y`d^-!h>;DwApd!mj_b@ zgZ1^DPGittWpi=Fzw^5jj<-n3RD z$7XfswZ{)p%N|Y|&*$6Y5@5+~7RlI4rF*tgy|El+gng$b)&HSdV> zINKVP$Rpj>ijt)CZ8IrZ0BbMNval7#r>W<-o*JLnC~fa6M`9NnDgF}sG4U(_5qfA0 zyK(3%*#si6b$E7WwF+28YvkAR)YzyI*?=wtZFZhpn-Lomr(a2i9?5t{6x#CWaim}n z?JwBsMZq18UXonetWi#6bf04Bg1zn}gL+q|1?uq=Pe0XSU8bhA?XzxXdj;7$_e9bR z%{8_oyN$4H^P@h~MUWxU5qs9czH)Ou{yVxcTx#UYJ#Wh_C-TEN)TQZdS{L#sNP@HZ zpzy4+(n{iTcbM33OmOGS;2l)YlA>RNQ`{H12d>A}HSKQe8N+_VTe{1OPE4un%h!Wa zr@jmuGab8p`oaWHzJu#<>-(hkPDu47!=L1ZCREE%hL_Lt)3*1K9;|;3FQBQuiAKd7 z^j{E@zHX8hMy~`;WpB{gPxBZsBZ$%XOIlctpYZ@vI2WPy@m)rDUEa&^`+9F&y}w6zkmtzT@JYJL<6)r-SS4F4E?(H+j~{T*5d zqTh{%DG?7djE@**or_vd21{vMVu%gkj{3pYjyXF6lSgB4nhRph*Qf*zLK&^C_?IVN z$>Bb6VMi0IhH0AT;g;~ALv0Q?v1QE#wM3WV(&ZX$^inm^yW!h`GDH2p40`bnvIEiX zlT1#l=u-*#CQY2iE!+1gzA0U|FbA21lGran(&YUJ@Ul_b?(gPXv5Z9+M9j0`nCZ(P z2w(NxTZONccW`Dci%(Q$=0LO|*(XsBB-?GRQbIT^n7h+YQ2omj6_Y2jNU{ZCrOwxK zp0eJDnf18W44BO73L-K{5L@6UF_0FRR3VQp_?rM#K&ro2aH9)OgG|5ZX2E{(HW57b zlsHLLfj*8bw|d`oI}gp!7Cz!@|JExCW^|dUvESFJ7eHc^N2ZEkvy{V3eNn5R_Mn7$ zGz9efPNld7m<&?te2-)H(;aYL5nkOCyS}J;*x8L6yDFX%m2<@iN&%g7v7MeASLmOL zF{Nu>xPi?K3eN#8`$NuoMA1JvaWPqQs|E++;leE1>@1>92mH9O%)h}@+boQE@Ra%i zZ1{Dp5yM!Zh=X~`vFY-6h0xPtPAQ!@a~lQx%=B)`1Jx24YL%bpqdQrQA{r9<^$)mi zFHv}X11ZA9J+<81@7gJj49XsmfOiD+AG=7PY2N_L7Tq{S!kg5y zY+buHJIk~J-ofVnfvq>U{*4XYwbm#4IG@*f$rN+e@vnfc4uHAgU`FY#J28#BWnXB- z?aFuNUG4Xxm*Tiym``M_?Bxai3@1fI{^Y7Fpw4W##lmF5zKXTV!L$CIS9E(j_;agz z1Db8+7-Y>dnn80~K`EhZ%cL($67d)Ot-!j$<=qIF?2Z=yL3j~qL202^vCV2XAq3&r zuOdZ&MO5}&wYzH3n?E&vdPpOpLy*=Bof*ruB6r#h9_b1oLXO)CGA$@McGzX%x8-Zq z_2QRm?!4T5^^g4}Y*O1g{e;&KdnR!+W}YQVaHZOs29x<1XEv+50UrtlYusJS3V?0B zz8?fO)$}Y8-+_!N0qjeb%Cpx*u-N8q%`PY!#_On=U~^NglVHsR_S%DMj-@Dr(&xZ> zDD};hFhXgEv{nl7@GglQzW->tr?-eTzx0$O$GWMb{N5%N0~`768y{qIBuyY~4M_YGOuvK0z=SAd2n~r^7Pln&6C>l8qbTw)U0`qoD1e2u zu6UA`^%K<(JCB*h{5Ic#jXhx_V20v)7x3Yt+ahN!AGD#7&wvV)mcY3dmAA3kIi6*s$`5WmyJB zPe%cT5m4%E1DCIXlajB6RB&W49WFy0HAhus{f=rJrPAlvaZ!n=l|J9$ zJ^oRSdy#Fbi?xZ*R}1p9qgQW!mz0negAB3fYQJyx4gt55k!*fK8!z%|(tTE2M>S8* zbft{0=jQp}$`JOy3!H?R$Lb-6xiRq}7ZzWWVDpY;D7WbH(v9J4LGJaTzw4QD?82tLFN zk89ZVh5INyVKwHq9ZVy(sk{3VRDWrmhFQ2VO|#9*-qDQXEe2*3*vLK0rIfeh`y0CFCC{r?KFhH^Ane!H=5dDBZ{t2%6eEH} z$ICKd4PaVps+f=5Bjg9`jO_ao5+&m|`!qemc$(x`tyHL_CkHl570sXqh1%1SJ6Ijk z%9t0jm@+E-JDARPx}jpSQ(Ex3SpRJEj+eh-{g1Q1rB+@lrJ7XBLOEc8yFCjxM%qq5 ze@FA2@0OC$RxmVM2oxd_S4Z6KYcUx_Twq&tXVDAyf%{Kr1|Y+MKl>_ab2{g{j*WzFQg*!sLCNi*OI92PggcX(Z4qaMazIuFY4^}C!x zLjcw>139O98?&%zbpa4-H|PtwVc(ys95_wk~0E==)vlFlo#8>p`EYaEWk@ljXm^OXAP9*6*MZRW1zz zJykuCh`Y^{KA?NN8>-|TTPOJ4w`MD=^R{w&S(usiitrpR%3uA!rd)V}Y!as{1M6S} z6Y}KP$i?jWSbhTPpB~&y==!VJc@2${@tz|abrCi5O#T_b+3hL0Pno=!)u0e{CV`F@ z!fvupuYiUH+kLmw$^dKG>4Q2yl1bfh%xOw&Ajs0zxSGwW_An}NTnb+fcv_uff1>IM zw7F*DKJTi7QPP_(R47jBWA<=C8nZE{lsKQ-qV(!q?S~07vM~C+jEQCd!^F%yYW=$m z5J6hIsw>B|b_?}`Ul1**r_{_n2o0?=M*-Y58~-!_+Jnv^9YC?cLz6=k;V4B!RnvL!5t+y;uqdSrkqeaL2+&;-biTL z`fpA|;ybDaF5*CF$P!m$_}Fwy7rZzaHxu*vYuW;{c4|j_8SVif*n9$dfhC*+q@SQh zLTE!4I$Afdy+qKQutpF93mvK^XV8kZ7i(IBEP|TKfF+I4RGrPzsQ#u?vVD`v_m1ow zkBbotyxcJTZY7lRR7UN57aEY_VnCNYtCB<{nI?na^=ILP+Q9akz!gXurif&pimKO> zziTUSIM|S(hEDbQ#w&_k;~WkOlM_kI2?lt@(np##me5c2;k+)Xa5*QBHBegouBhB< zK=aZ8q_`Q5w!92ssZ)NdTLp9WoGo(Zj@D{6Ptv~Kxu&e z`AssRIsHltr(EO~S0Vhzvb)#3+p1))EWaragj}203TXs@v~R|fwJIGj{41PuDE;_#sdasVRO2eDc6Ju zlI}Az5>mg&#LI+H9^$#M#DO9dm#8}MF*?n4lxccip59+<+(zS5iw z>>3|ho2B5NzWZF9@qcy+d^DpR`Ixd6<>g)d0`ho@O0hZ2J&XF@`-r%SpX)i3?7$T-gt=AmIB>;VQylGePx!wWrA2Fh-v z5T8!6{!H4eJlKGmcFsllxV}GlD%0+`hQB#-x>mr5Z_YW)CCmHcL-;x&ZaPX`SeZbb z^KD8GK^pTltxbM)lud`jTMwjoW<+NpHJFJIkQw*FW+G91F2b;Z zN07qeDR|M%UM`RjS+?H`AsJ;lCvN{?YGHOpsD|K#Zaz@&&~pC<8#5Dp+M>KHdmBev zWtfBrm|B;~R>S>RG$GHY&H0$36f^I+5*VP*#jBz!{Xjv`tOcK}n_Y>jG%EIlLn~JY z-t6qI*)?D_ZsW=NyBI?ir(^wTRdRXZ7g#ye!l8UlTU&(Vm6Fj;|JDRg$_)wLG2P=0>YyT2^LXl_PzuT*gyL_Mb-jyG|k7xcdFMi6(<#JB=5o^E|#3 za23sH4`6Vz4{~jHp+&Hho9h-?|LtxPdLWp&yEmV_DosGEuoRvXS*S&eOw>LX*rPt*#yh5~e}A#fRq91y z5`j|L^42%Q4ZWRHDIetI%dNsT+dH{7Re2PF829cUEBzKuPnTkFLQc6Blx7h*@pwva z<#V|Lj)Cyr1~|3S?ijLnZvY(opDzcDd4>p}Kv znKAX2Ft&2qII6Y_Dyq;s8t^YtL_Ej2-u4TerCu}n@i%%$Q+i)_hHw2g)|2Md2hw<( z5)slxKW*PkHNuk1*W&1<9#!bVyi}i$ZXbH2gHV=3;(`CETa{Ms>#seGMu;I*q3iIRE@Y& zQH~A$Hx(r~-v$j22o!BDVqE?Kq*XYh^*sd@zm@@@EZ5Ftq@su{NBxfzyF{5^ul1>5 za)S1GIAx{i`mm7-$VZ#B{lwG1{BxYtw1AfaT4E@3O;{PUTBSS}Zz^yBe8E(I30I`k z$?pl|>0F1N*wf9I;gMx1h$FIpXcg9*+i#bQJnI5_N(@J{}X;*!JMN!6r4!S1l zqEBM3_ZN>k+bkeLvvisAgG(-9fG~aqNYIKTK%Qs*3Hh;^A?i;!{e`8yi=JdRIRt?f zodHwJ?ZO~?8Q-BgcwFunh*8{P51v3B#a{w$F#9R;;&}YwF zFo5;i=BoJu)oq>SJA^czjjC;^SC_kagA-kd))9Xz_pydn%XOIMg!{}c%T=<>$DaQU z-)pJmJfxdisaGc=Y!+VEGL8!rH;?i`k*U4$%7vU=7>4o{GH1F!@c)~8Qti@MHH^qB zr0&vHLuzz;wq?$tI9WK))p|bF0JLFb;!K#8L!r=IoX7EBuSvwF_l<0yzp&v7C-v(; zXR!r{1Lv-KulcV4rr6SNG`z}e;iWOL>}heKziKV**6H@I2W{6JyYA)a#x{@9C?HA<`@@G|8z~R zBY^?ugOhJJ8tL$M9UlJdX5Mee?fDi~66_xpo1*ETx)_?kAd+)nVLx2%6YwW{=2hS3 zzE*ufjyijVIj&&jZ1?nu_uTg;RWXg8zq@0yhqa1G#mKS9w@~>kGTN>Bp62xIc5O>o z(=?ssK7oVTr7(Wt>90(a59}eXz1$P6^oPGAV`b7@J*O}>*Wh`16ZzC64BY*r3PJVnVe>F>v##$V z%5T?K;C|2k1U@FxIty4y&<<4D>;^$2>yF00u01v8B!;p$#h5b=Ur}RZdJZC78`tF> zRUQvU$-024T9WkvX2M|he+ScsdLcP=4Kdzj6HDz4eN%58t*2*{a-!k#k2j@&#@3`! zGb36Q6Df$i!OH4V0pdJ;jx;_bWPp$9mubKuSKRQ7D+y;TsFXj;k(*<)T52j@a6uN@6g8L1WIN=SKxNI zQaKh?I&r#!veDulm0_+<0YuOo-Ykf!wtL@; z_Rr;uNjCFfu|6Q*3TPnUiU>He-C8~|c5fl42P-hnZmlZkeh^XxcZQd%>0twXakh^+4Q$L(TP4*WYhgx50Svz}Ckic(v!rqx7dcaGqfCkBf}-5* zYW&LGF6&w-2h3P82#7m0i|O9WKi^l+-0(25abBhkl0+FNy8hU;b}^igL@{tepP$r8 zq3HE+fvDvQnCC4B^6$2`1=Fi-F)*pe{5g<)Sdcj+q8@9R2D??k4IkTKBb@casZI4* zbJBfPeMX(t&qXq!mAxPA#=~UZx47}3m31#v+^p`tGI5E^l2MLQh!cmhayY@ewh@ANA3s?QCO{k*zTB++kd zNj!F(Yk5)Gg@1l&Wt=FX29cO`5#~q=F4<-T5!U2xp0@|a=f283k!c-?iP1%$izQ0l zls*?F3S~ey#J9ZB&Nsau3H>{RzCLoy?o6^6E3ei02CIzMroI++aXSqiTGMyFmIG^X zU5ualY3eqZ_qJ?r7%MuKow_7ifrs$nX};YkALD%yyoF;AwRi+VUHRyj6i(_nN$eWF z<$c*3|1s0AmwL$k(zoTua{j!Rf&z!W?O>7<$M^`EA0%ZK8M|k>Ulm&#!SkO;!@hE1|flA$_!DG zsJp8%sp4KhAQu9pF4dWXc5TMWKPBS-E!d*i#$@3BR=L8y@yP3Or}=yM6qv8Cswj;c zX(c!cCHCW9NtW#Q2UI{2-Q&2oF-lrcNPlRSFghP3UezgJ0VYNe56}FwlSJHNaq^H-hOW13%<=X5Ip4ylzKFdOnFgtYua_KaO zKj?PnzVWDeDU|;Qd<|SE@n>O9M z{zNmMSH}tNtJ_az6nht`A7SvI#VX?-JK$-#BbcP5#VX2;=cHb-rbQMC@0jlS#`!Si z$S)u^p#NNgoZ|<4cjU2XRsadJzq|-OI;q9luPSsqs$UCJoasPXFAVoreD{dX=P3Y! zqMPHFE;3Ok0%$7y>{2LEe6_|jMHUGOP~$o%%-4SaVK1yAy7z>I!#KRX3|=icL*@;T zw>>7Sou#!(przZ<1cOmf-qsV2@@5QS3&ZKs+Giqf?!nh1a`Gkh=E^YyjDxIFQ^NwQ zN7-}5zTGnSzKU64l4@nQ>_6=cLP`+b9j?>uGaGnd>Z|J2pe13 z@R*a_V|BUuHUe9N9JEN{LVB||?UO&?;pLG#or;OrkPHA^=~7iqyi(CUJhjrMBhUtw zPyE6Y-eI#cxIjmIgYd|p&R;O2lF=v2ZKpi6!M2Dn& z-h4ePjhM*msOQ>m6Fq+FdbA*(Zov~as(PBz@C`W|`kW(0{_9qRSqG}FeR!?qsqu8~A@{imvb+7Jb^3-*ejm|BVUt_0vNu8Hm{PtNgUL>9U z9mWtcwlJv7TU%zoE~|W80u#)xW3{U}8=GkBRZ^fki^IR-NwuSkA(&PWcKWZ?BI7gz61vB${_9=eY3>PviUI9YU$H4xD!8kSc(YATa10 zx&X`wF;nV={kDzrHtMHUVncz10Ko{tx4G@C{Q+zWn<4^4FLQDMfENd(L?2{ z6*x=#D%@kQ-X_Ad{2A-ABQ5UT#JkCu{3pIT;&V94r5?}jXL8@dM20y0auvLQ2L&*< zfsZIcaZZkM7u5E}m3Rl+?Hy1Zw=JAY%(c{>{00MQ(M_)K^$%Bx4WHO>l4`(ItdEbE z&GI)Co_V4gIzakemgWT5|Bk7R3OxIPr6oI5IVX_|>#N{S?)fhGnLh*pHf=`>d8Afd z;)5*+)et}H2V2PUF@|OsRA*$K$jkcnqNU8!P{0An8M%uXEuOScBZDt&TStSt4sM7M zV*c}4C=ts{23~i=`-$DdpR4af%NZ5qHP$)-$AqFono)HNcC7G{6xM*zc6}+H+7YvR z;Xi6P4{aXvtBc@Blj>OT1>I*II)Oc3LpWKRTEX6H(!V>Oa6(qPm0O#1Z)UPx^K(iol8YYqr zb@dm_%!%u@c$hd_x#$=Vi%3*_WwEngE=DU%c6+!R+GxrjPNvRM=`m5} z7uwdJt9hs%3}raDD8sI4aR%I#y#*D7dwgjgQw<^-1D(96R%zA=y{0~{GM|m_&@_ELp(*luUQU3 z5ElU9N{h4?UWj$BSEzEr8qwXJi>3InM6q7Cl$P5aCU-3$m1|#|rm4JHSZn(P7!Pe; zk*ld}`j+)3cG^lR{RwS8w!YqU{ZGMq6=182$9v^&ZekJxnzk*HFr5SOE?(Hk$dVr{ z$@Ue|EHj;41~zP^ezvxbDaJH=sXh46S+L}NJc5A3CBy7LM2;+_#cbT_7*z5v^;G@| zZ_J&XiwQPK74dO5mW4V8epBhmpF%9Wls5}dYK^h)})d)1tD$)2{wjsVewG7TEA%!9@M;BoRN7KrlA3|VT-?S zGNH&AdoAlubSq>ajbsT$t4t1kH?vT*ijxHHPi&C~HS3hKCvl)I3L{`ds(3Y)FN_dG zhWli>a|kgUu?R}rr4Zn+=@RE+X%uVOpRmSzce)}hx_!)xMHBIWU~4Z~3!y@*8+ohL z%@mJBdtXmcOF zSPS8emh9Hi(edIfv_0>g%UzXUlK6;d$jYYknfdA60w#-$qAQ#XgQFG2vhvoiiw_2e z_-w7puSf`p?SpkM2NHI_Tg4Gvo?llVtrRhJwsU?W{1a=^KgZ3fvSVZU>X{kUlzeAcwsB6Mzm~_&B*&#mxVeRwJ{E)NDsc~VsU)>SxSI#cVQG0uk zbC`_UxYE|cp&P!x@kZ;*k&d*Ld zx;szXbPI! zyZRm5kiSh%+O+pi2&q7_0I0>aMOhB0CF=|kK1d*JsqGi-ZJ)I$Arit^)pI%9ZIQ!wr+}vksypPO5aooD)TAYCi0+6(1R@e}xu3xSps6qYuO3R? zXDE!wp$J*i7K9B{YwTAApo1x5)}32|d1SvrOw#O!(&EQwXf6^aDBAVAs z?Z=ft+@Y3tP!H^D)v5s;&3&z+5CAmh91;2J7^GKMP}6yG!7}{AjAleMPj?58U#odw zW+b=hZu;y-;IbzsLL%5qy<(~AR;7RV27*So(9HaSJk4wELyT&* zZ1^j_^a!q$9Z$B^bN*0Vw&eKGM;u|zV!Zu_$`z^=_D#sn6tc2NZt;Vc^&Q89MW>2z zbNOtdiQL%{KQ)sB;buUtGf2IoB0}&RFu2~!D5XFQ^4@S|-$N&*xtfo{o&O-oLPn9& z2~Q7uh=JhX)&Z{9qIQ1;mj@v!b;9Pk$mQ`OSV zn)sqbji@FJs~^ndc{>aToG?~aDSCWrq+lCLKF`zb#YyHCj(wdy=v|pUfA;1%o8y#11Uj6JishjGGN(Vf}sUX=vpRr09@l7IdPg=+Z@YAz9-ziH=tVaDO5 z((KHu$TT9FJ`zWuQu`D(dF-|(p{R>`+8uU$$P|w7CKk&%oOnWu zvU{c$yVZK|?5?YERJ;}!`aR;;x9GU~+*W*u`K+Jb_A{J$;7R8w$yF6?W>&M?ubh;J z>mP`f4F#M4sW6MR$}PZE)?FNWkg9(OQCdcR?qiQILYi1C*qki&mgQ(ySh{p_2gqN= z693@qD3+6>&csy5E4Z~S3h)Kh;q+yLXf;S;3_9-K;i&lI|HHg0nc{(at|88%mL3;s99cWx$cs#m}iIfJzZ8J30}w2P981^BalhZ z^}FD`TN@aPWk}At zAqj!$C$5nWI-7Gx{Y@6>h|dGW5^eAf^{Pd3I{#7A89#fc?PZ7tjX_oeNF#r;Oh;T3 zNA9#v^tapMsp-s(MHSh(Th=QhtKl`<) ztK}WdZz-sdleKH;r~)}W*#9ZOup-sG)IfzgOfR!{Y%@i5BTWpB7a@M;h*t5+718-X zq8HA1xX8+>V_6i6NJc+J%;Lfg@#Ebio{4~Pawj9uw$2c_VG0Y@`EJpCf~vfxG;MR_ zGXj09T90gh3kJ62QGYnQ^Q2ZYBm&7*mA0p{Eh5%QTS=5CbDlOcG`(y!>LYe z*zT$HNp%#Xz)kRz*giA^M@)mOnC?Cn!C_`se;IFscRd^SqWh9s6x;wNF1pu5xasS` zU~XHsf-La1B(L>PWFsxyeaHexA@EqeNLQ_Eiu7A$+~BjX9+!_H9ZQ46Y1T27Z#QKf?0>zRcyb)%fUBZD_`^FJt53N*E|Zr_EvZ}K8LH}jfL z`?mOT1v-y#>iY?AT+hz!WP2c}br)P0`8Oxl#S`L0Q|&xGa`U#i1hLtUI!eRO*qgF# z`_O&BPWax>eWoeT>P!Ht4C{d>HWgX7tnS+y*~9qA#Tsf6Kr9F#$_-k1jnw(7pvI`q zGVic@vO4yTN7%0t?zHM8~cPf=n477`D!JZ#pCnK;j zBTGY&LNylty!w1$WpIiRabqyB$HInyYO=kMff>T1G^&2!zs5m5sCxv})!uwL5&#?S z6+6ad(%)RvYb>C z$eBS&o|A*huf>bLxRkj7&l}Bt{FUM{2k7G`rup3Z3?neYix!{6q3U$rOHF8aRQtOPQzmc zUmr3s$<=(c2y?TOkFlA@GWa%!(>wum*yCEtb2~JmS^tN`@j?Y^OvvIb#XtiDy_75m zMYA2^G~sZ?JCsfSWNkyaIL<*+IGo{0)-B?8pF5*`P8Cr)4#=W?Idv%r0LgBlSJzjb zPqFR|%Xr%JZJ@5yY%uMQW;3Jm8zUtX=mZQrDJlF)H5pulc zjVveP9n!!e9?8=;OOHiQ?`Y%LBV<{v$sMsR28g~UP8?W0VIj&s~^it1U0YIv;6P%)}xu>I9MDNtFp?= zl+))eZPJXGgxH009F7@wpF53BJzc4}@E6xKpCw^}#0?UT; zUPRvjZ=c60OCSt1&K3wiUbbhzO?y|ve3t5W`?aj=k<`)l9;tM(S=pM~&A1goj2ski zg49kfyLyS1r7HwB5xK3fgn{5c5L_Qfq#s?%5zP#yr|OsL9IDrsclLo!ac1CRDeSw= zv`$%A`RS0({uM$ead|_@JU`dKJ*+n3>g6}MT)8cfRJsotHdK=3LXbF%BTp{nx7}-$ z_Mt2l>R)nL-RI=~U|*Bx8EVdjcpEoh;nh|_e8G=uk03m=bvUO7DXs3R{8+er?jd_ajXRL%h7yY}AB%g0UWeWBXB~DyoAD8d@zEzon zWFQK!?-*tXcNcO~p$Oo6=fb@|5H&pY^d@MgG84xeXUq}IHRm}_U1{+e=6Y6DQf2~qs9!7 z{ZOrt1V4lCFlc1#8MYP|9w@&}tgi}XOl`mB6eFrJ);ap%qoWB!x9M~^V?>F#+pURx}0>!s2#G)&*;nj5;;d)PdaGdM;##r%PC{gLQCn&LHj*-ch^58m2e)Y z&!7A;0H*qDlW_0MeQUUtW5}|}8kWfN@7U&D>_kqm=d#QpiEJPx17FBMyed$I@ve$v zG{19`O4XunTNH6f{rjP^G$NV>FO*Ke-S%PPz@u@qqf|Rjf#q|QaMkZRQ7(dqh`&}` zKRr%PwX_6A?)j*t`0DJ#iFigeo}qI)QL_>e0#F)gFckSzjO$QbQIATJz?LLG!%Viz zC{+8bnr^F`xAQpu&)FL5siTuSK`slKC^HYVgc(YzRJL`2jM|Y0E4LWZvtAa^t(|yO z7DCa6ZD;mC0KDB^hDCV9e81q0_WvX0zd1nl!;*qAXe%>CV_;HhL z?83hn(VDYs#MSSMkod-u>TsSXV?jZtWnXYz!W5}+(4wxXhl>rziN6+q*2E#&o($q> zV=Em(+M=KF7s)d6^~VMm%2q0!mfa8`;b#y#|_86Gaa56!*d@^7HuOSNI%}Eo)&Vx%t z7&x8`l2Q~a9Cg)S>g)W-q@c4leUB`eyC(Eh9xwPOhaS^AocU#u$+587Rnr{Ft%@w) z(^0c7Lt9OhM2nl*2XoVZbX-S>*oLqWyXGICj~>drREno>9K}^x+0CdICGyNzMLNgi zC;`DC`hrnGfegqGdHMd_Dp90%ej*yLTW4|tQjZbdQ0)tLkN28c6Zr`&wJP-<{`!Kh zhn<5Oaa(Hcpe1IT1k+t6XQf71hpkNoGZ3VFxTCEU=(A<*lRgQ$oa( zCheC%Vu$N|%DF<~Mn7LXOzzu-3We2lFtD`{#8liVv7FcEMPhojiI9LVqN4OII6WU9 z;%_~oIDc8>^CT9q;<7?)$Ft(>}_Ul-Jb3oFAfGGnDzNk+_lS zKhhn|BQUHbFC2&*m&IDh(Qr+9Z%7lOc>SPle8HV{tOzVVK%4KN1~lwA_d(augWy^v z;&4X(S-nw_7qB0s3rq&nI^^XATatRASO4stJfczLp5MT6z|g5KuyMSi1gL(36A>_( zCGdL_s;;BPiwGI{a}$QgPe9|jIf2tk8pgP?DMp?P1hjQ)qu>D_NSBfW#%+%mT-E;c zsF&jksP%9dNPr~=DsSRxb+VkZ>>Jmz*Ud72 ztgieqH9byO&iZ=mh-MzAJ|4lrP^xca>ns<_x;^uNR{<58LbX^hWV;SZ_&A#ny zLl`KDg$X=%yW#gX*DSzC?2wh1P9R#D7DLg$;zHDSnz+CF9~SetWkVh(tCPO%-m$Xg znjE$A8`*sId=Ac03N)r8j#n8&lIn9A+HXT}IWV*r)T~31;)q&4`Tas7?@Q0D$1>?` z_SO93%7>{Y**iP-bR_PBI8-f>!t=tfG8py%yVXm=7lyLm8ZJ%JLUhu>_u6|&za;<{VctB_Un&JoWT_Z0f?t@WgUufEQsqZilMMonF2qDaYG|Q`|D6 z=&I7fyf0MjpVzI&G#?z<`v4UnW3#`*^}y;q&3;=4MAbttj0EmSO z%%~2l_`@U24ZNsW%4|f-Pk3`%-zl5N(${6api|qby1SxwyrSG0n+Tt`%lk>eh8(Fb zTA5a!B(Vj4#dGfSg(Hn4x-AerT764^F^seS<(n;`(>YySr7{avSVc?jdSWmg{@~=| z&uhiw8IP}hkH8&nrmif1?yd1kMu+pJWI4o~728LVdVHbC6r&rhzB$0md@WqDb_A0 zVf!Sg?RCfZ#vMwlce==Z91p(^+hF8!1eVLEVAf_GX)glHKdYlRIv>j;&MdVz=5Wo0 zFT>3d+}uhV0j=~jUE_ZZBhnq}swHAuW# zu^_k^3i<8}Wl1mqEY8H3SSl=b$MhLDr+R6Hyt^m%@uQd9<4AKw&{>-l1=5^m9I;eC zn%$0bs6*)uT!Da5nCU+-@Pj3fXuxKt{`?-9I5W+q+uG_8<1Q!Vbyoo*yu)GdAM)`T z=El4nd`^XbMXaU&;Y4c3HYp=wXaZY7G34rgqD%8xG4e($FfJ&1AN%+*p9U8!m8+H5 zY%_(u#u7@{z3_T?k`DsV%}e7vzGFE?#)hJa5w)_d?f)-8oy$%$Gf%k>+-|3;BZFIA zT1h69YM*pOWdhsm{1m&fFLp0Ohx%}aCdi{h9KREiCU#mbS&@L(-bRtVuhLhLj@NOV z6R4EQc%q*rB6{y|hL7FRnVI{8!|coX)ls;*9hwO4k*QJ6lgp#=t*Z7d=lWu4{mcZJ zlJ6gc3y){w7@U}Ce`ht;v!WZ3z_aon`V^>i-75PDGU}n@+$aJ?#ymUX)ULHMwx<7* zTiusujB@nNzx9|hp?Sx5&-ilR&bM%D@NY~eGRPBck$C-VYdPQ=DbH-~BjV^38$at7 z75)SC!J=D#l3*J3rBl9D&Hpy*in+h=? z+6~+#nn!1rsPw!`glF9+HW0OEimMK&Cj*PG>7>VXjE1rsY$~9hVM#-tP$7iwL?feY zJ0Xn!cTL?c{UyV0J4c)Fvn+YzZyaljcSu8%=x`b)Dlm6d!&sWrWrBm#R_K8cF6=P% z5&-&PpHv1fPG-p&QR_!QA1i27>Ln@sgf=qf?a1%4h55H@#>TLZG8N*@^ROIIH9kUP zdY98O33T$_Gg-MDyBciCcO3IDF)HC|u7^s&+1qg*D#?jaG$qL?;8^U}b)He&>RG3m zcJ*y4<5_5rF5#ZPqZ&nt6EM;JQ3XNDYwx`k>w(aj60TSn{4NN~JYmpx>A(d`H7d&MWQL$0$4pGR5Wqx1U%Y0q2a z3N=1^A~Z@PK3`e7bL%tgce|sPS|MgH&y24k_3^0C+YPu(6s?v%Zm?9kRzGDTt&5{I)+9wCiBN>V@ z*{PN;Ga@>bICa|ZQ6G`a(4?x5A>OZbQyh4OZzZD-Ya>x^oBwp8#Hh=LcTDGu=@THB z-M36R6K|2h(`UD{qqHX}4sI0Nb@3p-_&z@@#YQl7#4<&|m(9eVJIgJM>B`U!!g-s< zv6kIoonB$z=Nkg5S4C>uwQVnlMKKZS6gqtq_e>amqq|0UB<-}Qe>?fwK9$&JTF1Z1 zI^R)&hcJA6ie&w@s1mxs?E{s;X7>Erzj-iY-EFlhH8(&A6#(w!G~LMBcVhAAXw5no zQecvoDEk!Ip3PG&SpR_=L{u!~zlE~$4(yr-%1^7iss>HUo(C0?j{IC|{ZMgkICPuZ zQXz5{iOsr6s5e3w+cCax_ZK0}L%K&q9rxXy)sYjxZxtD=R8&=n4Tv;7znJ!aG5_P} zZLzS&{(Sqg8RnJ6g0hW3TK~JGc2zg(I`1_rv!apr_6J183HR-Ty5*wz##rMRo%;O` zmK`Z!jt}r4Y`i^}J?t?8DL?Vu^MDW6o=cvS+i2dRZG$q!CguXwO=!i(yD^PZMG*A0 ziX!8$(*-TQxJ{>zq0bQy1von1lDQjd^ZqKc=4wiCw-ZeU6v597O?59)gILPnMM2bM zNJ=<@z9UKFP&><#6l@7Zt8V9LEKX! zPf+7=rKw}}9AjYri@Ol&3!BccPhVh;jmS9NROvDOr{EgZIgx z8oKl}u7=}0m)Bv(l_uL)P#;9E}cC|aUvi=4)t{LZCUaMK9n@6{0iR0Rb0hF&a zA(xDlq4zIpA55SD&pu!UuT>;dyaQ_UV6l3&uKHMGp4-y z-dDJ4SzyhGW1=)zer=#;JR@;B{}L$TC2x}D5z6?Y26TTJ=P^aUa&(3Es=w@0lv6p*E|{vX=m}Xtp~Qbqw`yY6?k630omgI8 zEcODT_KNBl`aao-m~ieItc-zrbhI|hN$3f8cQSLRA01><2)6rcUZEW8XWfy=_7(3_ zd=MgU%`*P_Ypz6Mt>I+E{scH)MJHskJDmr;J6}E9LKmAA$&bpbVRz7To%uPhQbhpw z6m>V3Q~%!X^f<jCOgH85c=P&n*2Qb1ZuTj-T%dNyaXVAPsE(u(>k?}WmInH-xtoG8lQ`#CHb?dK z4r*ZG^3ew=c{O>+_=l;R0$pBRT#wHK<6j92g}2FWk2VeODgQFUg6~V)_E$g zhf@z8XaQfZHGECwbs-6Z5qvm>u6c$Vmh8@MxK^Oj<~-*gHJSL>!Y4$McZyN`#x(JL0T+n!f0lt*AIU|AXC!CtYI9Ay%jL zM@^3N%?Mj91pRy$F>SOH4r5T3Kz6{-Wyso(-xm|qgPNCJ?pTuoe=V*B2cGM=#%T>Y zcC;UVxM6J!4oRfJWKUjOCy_6{>`D9wm8gd_?mMSj?uYx~>8_pf%i;-@!qSzj@Y)hf zcl@d#;Ye2hBjaY&l zp4bZK}Evc}0{4Xg53i(r2COQ)R_8TSQ5knM_?* zm202oDR+3sL^9?G&G8FTHM<$EWmT83g?T-zhqj~Z;8(@O?x)Mg>o&1;TJ{hM8+R8t&; zaEOKi0sM1y`hwNP_|C820OzqHrP~1!SR0E84`j%)WT=;*U{uVtQgSUX{=pqD$PWL8L}4_$RR2TF0QRA{6$_~@%$9dFa|Z3~ zOLSEiuB9FBMnfPA#fHE7!o&fYsFHF}hq;1+=GOW|Moj<@0+k!-C$4e7bP6WAihIb0 z{W%f*x?jfMth&Pa0Y_Qk#XCkezg9j@l6>gJyf^zNV8=rm_Egy!n7g0nU5&Zfd)f6O zWv!zJWuxKV^b6zo?{IMSVv)+bQ;HgO+HV8r$yYUIKud7;u1`E#?tYppP@*GvWO`(2 z+@<55P3Pf={Q2cIBuCWz*}-62Fn3T%`Z3TOfy_7xikWD9Dx`s|SC+NBwbCb=D_S2x zrVr>cl&CFh72uc7swK`n@vYwKLCxWlvoPI{P6p!+ZnXcSra7)xUZrxiW9}lMa~IUu z#l(CKGg;YY{W*RDF6ReQ-Xof&Z)ad4eidCm8Jv73aI3N!PC0r|)%qKylQ8b>a3cX4 zE7r@6alhb<9!{B$t#!Y&W|yJdPR?RGbRY_te$ipW&;)XtiYFyk6yL29vuG?~rhjMG zOuVj#I&YU(yTps^`i*U-f~%J&I{$U)FO|@P_93`;=kLhk$E7TyZTJ1vCdAnbBL6o= z*JGJY9rR1uj*x->Zvyv1D}Djhx)buDfJjghKyIp3gH;jmdy6}E|lpPlUbmeCtk7h31OaRPryD~o@FX$#qx67>+@c}qnlSA z6wJew_ir&pCQTNxIIrGC#)+sPr%&mFo%6Im=}g&-dSf47ziMd-=;TW&lBv z5)J0jI$ii7Ut*wyhft(HyLgWk1H`Ix@x>{wZvNHV^`J%ycMc}Ur)0TkU31^=WHDVP ziSKLK>tlFz+9HpmS|kJmh@i{b|75_R%kXz(138;J9dj?swA=Tb_6t-=2>w3WXEL6I zUM+?J9a(sUa4TTyQ!u3cqzl^U9n@R}L&tQN;(MJOl9??{#g>SifK*niV!iE>SoRF1 z>*P*PjV<_q&iz9$*#3^F?3V1}f>sFkY1;i8-e{@dWHNcnfe(U3w&~SNXS)^gAaGmc zxa_$;cuTX06uJWQtXD8zzrPAiBDv=m<%`Y(`M*elm)oM+#XEu2w3~;z%7B10S zm(QmwO_WQ9u9ocIKpH|L(~T!+44n}+ng!KiXI|m*O^=MS=fDqgrpGgf_K-8tN49e; z9|q{aVF{t7A#L5DFYJiAFAyjE^BCNQNWvemVynTdh93xu>mRDP7mLg>e7d*;HY(cm zY#QDHK6|R_6?)r3Lf18?L8FMPN!Or%_{c5<9Htiy4;4|Yzd=HTb`!7g_C?k9K;~S` ziKd8UaC)Bg8bW0VNbZjjG(8C#U@@qIDFk~`*66vqm|Iv4@#_@yl2QLW|AV#G3hd%h zA~-*@pv(PC4;x&NEb>Qx%;2|G`<{vL>dS+`lNK@v<8NX@L``uldZ+K0%6MqqTocC| z(G_$bRJAq4Q%xmP?AA_tYqRbw+c?|60%H1ep`=&>DgO>+em94|2M$|$c3SpFkafIH z8NFps-~PA-F`k{*7f1y5$Oi}e7{+YJKX+wYJUsxr(VS73|G;Q_Y~#9fQf4EGJhWrC zRGflV2&O!F9I%nPC7=cz)t=uAs>JwTyPy0pe4X0Oo0gJA}&{U*Teb9*B;SGkDhy>CtV9x#WLoW7s&`lhIJwB zGLGDobo5u;^l2_O-7_=De_bx{5NgFcrU}XHbj+L<%fL+Ex-T+Y70$z=z;Yf=P?3%l zM;O6ACO0k>w>6)re35%RqWLAYu2w}A95oJ>mH3$KWz-WDh^>1$g#ZE%9MPN=U|EeO&m@xxrs#4@U;kK4kBTnE_{szzYdPdz$TaS>G8y*F z9z}=b9m1eKWanc#D@RET33HHZN%DXG>&i0mDi~`joUE(F%IL1qm8w*my{ctdV7~(! zGV|G)neajv)K_*IrRY`E?1H)>P;@c_!}36O_VzRuUOoL~-V_OZvHAaG(Rfg0+_aZF z=(N{O`v+_OL}KmewoaVy=0>)=Xj>;&-#K*a4+!O2#1h;cxhT4|W0cij@F%=+r$Elc z8avDIlm!R&vRY^3!!h^yYzJk7!dhrkhxdf)#U`!SRZIPrkLjU|qYXoo9?jZ(8Fm9S z#cpB3jaXzmty+{(g@;(#MDDe~h^ z2?*LN0nmreyuG6hDAR1Ow$rBvhDS8Y?aRyUo6+ndol!AWLZQz71@)GjU~ISga^&JG z44G~v$Fgt(p%rc|+&^;W*<^K|T)Ag~rAuVj-mEN|XUQ3wXnIXMHD)F_^*n_E00y1#t zReu{JuvH(7_CKc! z&nxoRr+}xd_*s@;n=aEYXp1rm(4aC^;OGGufPjl*O7j^1{=?b>QjV;w*o!ep5*f+_ zVfGmuxiAC`4Zp^36a3&_;$++FJ>mn*o$6LvOQaA-U3o5j+ zL04oige=M8*Lkq}`;SOwo*YQR=aC^{#rb)(4gSHVQvrKa_)+o_=wYT@n2KQI-OONh z0xEgeMHlBC&mgT7=VYFHNIcuA#!q~`b)lF9$f-D(UM3X96-Q^fc7xU^ZTvXPS^A0O z9+7ymb`#%#<^n=gOifq(zSP3-M5EaHpCIfs41;%N@iP~>7T1&u=Hf@$=pl`fQGt*N z#>XyhQ8G@rO<9Irq|!M$_o12(iELLFml3dTI4}tEJArpn8Zw(8`_z_Nz6dKG-T({~ zCuD-B+e7fq;qpq1rKw%!)|M{j@WhpMi!jj=eeo7d-V1cZw}oSmq>e}!XouSga8#8-c6%)>Hm)BoDa^^ZhH-{G3|v(E4Vs) z7G+y>$Y>9@RksRj0v(h7HRL8lC;ZHgD9m4*8~db|=u?g%R83D!X! zgk~TMz7zZq1luw+>(r4ytSh z*n!vqpCx*sj6==>8GjVlu5EM4o7f5mrHBKqbIQVbhY27?yk8fYeUstK;;V{}@|++f^HyRb@B0a}E>!Dq|v{T<%ew3p;7NQhE# zUNft}w9pn3@`FNSs%dp?u)f?rV&}~#wPa=evWbn-JB}wg`dq}#L7%85N>f_6h0O(1h$=vS8ZsKeJA^-fq8qQ^q+3Q83JK}bp}D8QDnkJ;!G$Gaudk~n$6)7h z3E5|D2dh$)KqM9`OYLZm`~>6DM`3nqW1RYPfvNOM%fxiouj1UoJ+7n zNx^zI22^&P1pMGQ8JEf7NhFJM39N(fWqVS9e;puQqz~XI*ys5a`S7U5adOHfb%`h% z{juKX3Q#t0yO*6S%So&0L?x{-S}!8M{O3e$(bcdFPUD%sbhUa+_C0_+Ld?zp%DR z4Biv3FiIOpUhbnCrlWLukGelI6Hts+^W2Z!=|5NctVsod3m#nO+2p`$be4ST^JTdP z3b`Xl0AQvSM2CfZ(H&)Tm7GxEzWP2j&Ub>iA*(uEhqm;!4e($FA+GR|yJ<%>fe1jR zBC9AM1waP^DVSH`pIj5T*gG)GUZaT96;ev85YRiKImzif%byK=Jzd2h5@l#H8+amN_}ExQ5U%B>E@Jj;ND@K^S$#@{PG<3pl)F;Sg#^ey~;T0TtT&LHD#&k z&E=sidS|ySs{M>Yw*P#1W2s!AThblu>vWJra>9VVdK-^k^2SK&fKKDwP%4!Z;k5oP z3@tU_y7r`}RjF6wz`7Iye!81u`JC%|aPu~HswD$#k?Y8ud-d0IY)L4&Vj;VUELg+H z?hL+8_AO=%2a)a*YS>RGqhx|?iCWFN@@g(frhcCXjyV&1h`Y_JTdDAeib%TJDF^-? zieQW=Sl@psYjZZGgHLE5Rm9v*3Q`249!ZFVH;LtH6>vv%GgN8m{F)<#MB1ZV?@*T-{N0{0)2XfV#)!cZ26XzTlf4OP&wRvo=Cr z%3Q6E-dfr5hz^ESJyrX**4<=B(Gcpc*Gcy+5U2k`=eq|rF1Jpv^qHrKQFLFECtt&J zlTOU?bz`e1vaHrXVq~)n1F0?+DIczpI85(|=ByirB?zRp2y7y2A;m5}$CmiQiIkH2 zq6R8)=DZ+I&2IcY#39AeHWig$fGKiH`Fi~XHm1w4D-j*A1RIJ~eUT%^1k7b7>J^%? zh_mwTY+`WF){-pMrzUsXe&9d-*U#VYrM7D;2!E37Pw*+=QLMD=Yl{I!0*)9~Tg?%! z7vt6FW=}duRb;a?-Q1GyOZCA6o0A-;RC3Lfg;Hrv8X#I(cT$k-3mAd3&7S3%6W&-t z$YiSPT0XV!>4I1vq^<@ri|jH&n))VDHv5cAv2|13MAEpco5(_^RW47l+wwAm+gOYT;qy+?iAoV+^?(%4OgrE@DWZ2I+Z>)@Ws1-J?;?NA1z+O6?I)t@D4!MI zaqYo${Eckf`EF%NqbhTe?DS1FgJ$TkNUU*#ZnB?q{bNB-lB}n3%*AHo`k+;hPzE)y zz@)^z!*Y!LqzheUdsTy4;A{6gNhV0pJfZ$aSCLr@oR32@ryKX%sUmx5k^By5-tuRk zc3&d;+;w}b2a>)XDU+Ke|E|9AOp?cezU=FK_Pz{AE>-$=7gZV9{X{dav2&_X>ByY2 zemhppHC{qRY+uVDb7=J}rx_@0EG*#+{1hG|n4#!hU`#^IswC(!y1f6v^0OazKK%cg%5>p+(VPNauZdo_J*v1Cl(kWft%!c(IT6JUtz@+=~n z6dyr3Px~s9b8;i9zU4cf(fT+&@@$Bw9I}KwVZFyRyqldZKoy|K%kq@DuR6QiH+A0& z>ykXRi2~+NNb@W5in^dtvhPpLa3E=HKT0e%p&Hv+iKKIJvPn!2n&o6&8UL85uQTdU zx0CvEoi@XdbWn(e-mBk^di%C0G$`1ADk6|qCL_^8-*bX|$rD$=jT-IYL`Y|;dP z@z{Pf1V=ctrG^>_S5vk{m}Z?x3eba-FV4)U*`ueRYI+%O_n?^arBx>`1`{&FKCg$M zOWr}%`5m3UxS`|_6Qslse5w!XuRTs%0m`;egvnH!P{wZVpTOh+L&)WKRWm|q!@t>t!jrwAW2_Y#!)JF3BRFK{Cn$J;Z$ zW#I-cOYPQS)Y@;~A5Oa`ZRjo!PmcW!?NGER77ycX9b+_C)XFLDmUm$H4D5pw>8q_r z>UhU_LTrT?<7_b!urro$0)EBF2}Yg#J4AI z;g9Vs3`Gw$1M#?I@qy6={#?)a!Jfo(54^*fyGZ9kGJEO2b?Bbwkhw(=47T@RpQRhX+uGqb)%9tJPBk8>M9nP%P+>eYFhjDw*+A>$!c|CI7#c|e{Y}biY$602FiY)Y7 z3gT*|#L(to49Ijlsq?_aDlFCOLycp`HXou-vK@i^6tR$X5Wdy%hYxaMCs*MbERymJ z8OpBPBi@-nMOzC%<@U?j9s$kjt$Ft5n^%?0gs9KiCdkUVNPy)34hMNr$JO*oXg)&m9s8rGA|r6Pvd>UcEj=2 zSLH<1UAgZ+A&pzkiIOLUr>X)m6SHDS@~^LJvd%`<++*jwt`!u5#0bPZ$DC>OhyKP0 zXwLf}N}?oZ-^VTE^z6E!D{B`P>}sdsp1ah0fkn2u8(7@L1%ideU_&h>@jq=X&1-8Z zyY1`W_kG4j4sR<-#5KC^ruI;YWv%!eP_Zb8t-)~(>=Hi;sp4lec6ArC9|X>bCe71C z9;dAUDi+%wN0i-<+dF5RF_H|vfIG5!i$O+L-q$1Ur&LU^GUE4YQ2rCuI8aWTtT+!y zMzpHIsm|iXY!BIy-jbLL4sU7&f<^3uFtGVhsq6sVSPL_uY-XO6jlZEU6nrjmmC*W@Ev<8w0@d>x44H8YvUTBt#u7QDxQ)pWgm6ffnHd zXHo4^lL3%jnasYAQaPH_r>i2X%a&}vVqx=p%qP^`*^<_OoT3ZHaA<2Xj0KmpMdi;9 zRH;%BzZcUqYc8R`KVm#IFTe66Ba&IFTn>@(5-UUt`HwKCoQKoyyPM`vnqSNttjZP{ z_Uyjd6nry6YcnkM2wELW`Tde@$~&sTbt_JrtayE`3>?4@*7A$lPQGrJlMzLQ0s~Ip z18(hA&l|AOCV(f46gRuC64T?F6?r$a%&uQ9AVEeC%k5IpIaOg2pP-12B20A#?JCCO z+58a^++8x}NAjE}V>Q7!k9h0m!xaqZL~AF) zQ4H#Bxx5GmJ0R<{>u~z&(;Tsf1Y;_C9%(NQ*cC}N;54ieBNvdocWLA^ZOY;h_zr7G zKbLy~1C?l->=0}#$AnY9J&3@oE!bN-(rj9?7U97EXZa1{VgJ70h~*x~*%_07FjPjZ zxB`?O-s+aaT8iM7Mv4%dKb*G&>1c1wv8Xru?Bv6MVTLp&Z!jj^Z0)u-C>F86wd~s! zrvvw*x8mt>8~bN%CJJ*R^MrCNxPgg*u@2O+VNzV&4C<{qYQKI~J+h~cbHXHJ1=%<| z8`uh0&C=e|#eSIU7uIH30I#>IlrRR5%xbmCHx6jTljcDJO~RH#Q|{%8Ph=00LM=0Wm&?WWLAd&!YLE}h(Tuxnn;Mj?Ny zG*n+o%E{HMmarO^{U`QjkGLitP$nOYh&Rzg9v<6@rFB@d3JyC|N_~{b z)>tBo0WqSA&kOJlXm*$|CNTy&PFzL?Sj&}&0b>U#6Im&Hj%jX{>{;I^_AoIHiX!?J zmwpZlpk+sgW4Gi+^Gj3^nKFd&%SHPWS0P_b~!C7EsE#D;3r^EAT6M+EwL@S`xU7Duowl6YH@ZGIA&tLQC8P|Mpxi4|V zuhN&2%29E@9EE38>mJaHd|FquaD(w?HMZMs1%8C-)fc5~1T*j>=kC})3V7j)P{H5! z93SC9& zau1oKZ;C7Fr~B4wR^?w#59?&%+>Nim+(*oUKHQ3aW9ACL$fdA?8TBf4#;olNGio0s{XU3!pUIP<|P0&b{PFfg< ztuY2t2N6USWNr(JT1oFe;mp$we36-`lC`kwP}-*>3e|`eK%f1O$cq2E+d$;-6Nb1d zIcI+8&wkQl83p#~WXXy)d1^{8Yrf_ZRRa<>0hB7-c6P?=9uj_s+5uiW{#7kZEl)b_ z@?EeI*hojIFDfq!KU!kS?bX5S4?VSIwVzn6i$M@)J1;W4WbQ&u7ai@zw)*;z0-ZsP zDlXb43ywlX8dh&el(3q@375zEZcQ^TIE*#&X zS$-U$S^jqOhX>g2Q0*jJT#Fh5SJ88)cnm-Z`lX7ppdbP4{G?Lfz~^7R8()B)Qz-m| zKj}W1%Pq@9$V!Uz@W=kSU$^>tKn$qi8)W?^{1yz$27vem$PH^BxU* z_YDzsjmSpWhh*wcXel8Uz*n-hG+yYhC z7|?A6CU@E4#?U?0Hqchm80D&R@N9QFAGS(EVJ$BXIIdRWXLKhlwkWa;nofN)Q zxhK2MnbW>Po5#ERncWLZE!$U#p<~fT(ieUq;m7VB5%8eckhtwvNe^MkjN|+e$-IyJ zzD7Kx8PiDJ^bz}H=v;0oxvFBjmb4WoB2&vWl@2sY*PDrIR!|(XzVlZ39eZuraDGro zMrgCBgeHlQLynnwW^EFaER1Iag;3oNEbg~QFgTr6+X)y!7lVx+ZyfZ9hO;|@8z z&^~}$$Y29>uU3c$W}w=m!mhD2GNEkDb}kvVp9RYDd_17bwr`=W8O#_)I6o3sQbB@} zwOJ*o1Rpp$1(lrKU{CLcq~xVKmzQ5U-+^ZN^RM>Nl9q!S~p{1LJ4+(&CyAS4DY zQWljbVmFII8q*&Ae(~AkBgDi1L*iz;zckVs9TmgT5fueC>k4df>sap=#ElTNwR+?k z0y>7j$j}?S0kAPa-ho;;gtrV&c#F|xV#;JC&##2ji0U4%S~s99TW|&$U#e&?ugNB| z1QnZ7#oOX(ytoZ;FcAQpjvi2(u0WW-Lb=Dv|Aa-vyJML~DiQwRkiz1hmpLL5z_bXU za1)>ak^@2nKGAs;$h&W(WsUI@(R^f{wSiX17TVGg6BQNnvmc*ioXNSiMoN?`QBBU5 zVD&D@tkO%KjBvFde1|lK{pVmrUJEYD?yP-NUp_9380T3j#I`-8egJ$4;3NSe-NLox zI=bZH52tp-GM^U%5tNV}w(%r9N)9eO^`ppLN<595k`g;14J}ae3q?@+L^{qSIm|Uv zFeUg>Z_#TVy2Ge@`E}wqxV!s5CP6lZwnOp9O3|i|E@%i|Y#-jgp z5+oOej21eTeNof%T&*y0>Jau7l2m<`tYnJboCVJuwCUHBKiglthJMUh=JHVu8Qi9` z1;>-N@e)a6``vGK2fJ`s;Wb%3`EKU9U@#ZhKIXF?%^dS}tI6sB3oC;MjllCz60>G+ zau*ZD0}QFXX+br*Ias^OyZZK;Hu-UTVp)+tT?&OtH5^!i?8@9=GYKp#pIy@6cR=OA111? zH=tcCg<^GK2Vz?#URizbDmeX)Yyj;}H=G1gAc|m=?wr{mNmiPJBo2=inX-_=rZ&>e ziS-0cGX6zfE2xW~VCK_fG=k^Kc}b#$Vtrb@HzRap>#jon7j>$rj%4oRatRK@avlYU zxKmK|>qpd>&{-WUm(!_{Ejv9p1`U?>VNa#ClLUvi=%KpetES8|xwfwCz%TTj6v2&# zN=hHD1S7DaaCe>)!7TuzPWwF<$?HnaQvF>rxmUL;j?8*k?;gg0OiN?FbHPQaF-v&I zH5<0mWl1*1^bh#q{&#v_JOqf!{5LjPT)LZH(ssBG1n2Rf@k4x}+k>}!FdwYM0zuTu zhbq{JYGf+sN!mGzy+rmlLLFx-l1+=$FP?O|k!;Mwr8`N02saUR^j=Z`A3xEI8yK!6 zw9V^Qu!CL4?s6eYMZWVy026Y>`OHPUK5^@(pq06PfqXv76Ztf+P@Y-;*@xNa{{(`b z`lPJXVLRT8^ORTSdiRI!V_bksoTmDriFt&tOU2{qC#dLS{ggjxF3sxgM$GS#{G_JrpWFl>4wq)0LTo3EJ1~!5WQtl zv_YQ)-r6%XMmkGF%GtUem^Mq{uf@N|Gk6GAOId0~T!Bgb5Z!R97L!RCabZVf1(IOu z-E^So_9|gr+LZlzu)c50P|)As_mM8ZistygI>DV8@FShsUD1*tp;!Qk*A6k@(HrJ7 ztk*?sn%g2NlG5QL-(4lq%yWG+>_Luk-=o>9m`XmAPzXQr?z&9>k|i>pfmvN&PdB8O z=^v1^Z@`ZSGsnozmPB4a?SY1L>v9YH6{23$qFA7c9n(=>t}+*fZ{j1vQQN-WGLLBZ zk(`|+$;eHVkL}~I3_3+tq9inxb!J%-$cyAU!Owo)Q?}12)Z95`_hwg$+B>!xT7KC! zxlvz|NvpMiZ3rvJqCSLnw&9Hy zg-c-_v1x`r$=Tv$$L0sVmo`Yatis)?@Y49Q~=>VgG~%ZPOQcD?}xi_|vt>?RYN z=E^2TIW@q(;sBAbQQiFck}^o>F^p)9+F-jdHH|jx_B~6;GW)5vBP{}QeqaS8?$VWZ zdB{PsB%44-h)M~#!Ms2Uegd0MkEEStX_%9%poqdB6A4*oTFP$AP|F47?*%<_7x7xX zAgX>@Zj4YSY^>e?EQ#2&wfExT40W`GAQFN0E#^b``{KnpT@kEDMsd)pP9>2uvJ`smMGanl z6r^WR<7{^;$-Hl|k>mr@_ruw0L^BaKmn*Yo z436_qIsaD+De8!Z`CoPB(K6A6le=uMlf%1q0V*A?X%-yZ0vR`0FAm|Bh=;A>BO^<$|XT$0A7w92|I>L zk=(~W-!!6`ew=;r?mDXYcjV`ZGWL-R)~gcV5LfLXue=Z??LTR&R}u7Yq=*0eT(#M4 zJ1_D$fh0wCqXA8eN-IQzU8--qW@KXOE~$ZyLZwyqBo5P#1;aa(V}3_KNp3t$6+p{G z`Z?VkRUJGaG-6GXNbF?Zf00dhO=(?XdAWU_-vUndcAd{V=d?(4)#RI{AaR1NvS$mN z0x5dzaO3nKa*Eh8F+diW(pC0FRSJUkA%pODR5MxLJ%7VFT~_b7cNW!IsK@;Rh}(}Y zt1(DJja>bm?0i#VMAiqu^dG1j4{PE`@q9$-^~OKEjq&_H2CEiidypFcpzw;kupi%q z=Be;Ok%_ivwm{;1j3|1S8SP2cta}GG0WX~zS#|3GRuwyxm~vKHk(l0}HxKziO1b23 zke?HFJ-QseK*Y)1=O>i;=vYl2_2mIv+}ium&!Jp{^Dp~7N3W$^rryleo60KJ4vg+y zfU~~lsK@cCDM?Um3{0vMB(L2)ZDp#>^8VI|aoK%`tX^ZqM_x+6aqBzX0a;N3(ejR& z$<-~e_8+gi5!c9=wNoX*>=acbMzC6&6xzyr*|3qv%NDOjLtgOtCp+M|3B37_4@5rr z!fy6}+6agg&V;7w`Vd=Ls~zi;57_Y04+IXE&XPHi@OYC;qn-*XVeNqeyn3u+E_A3s z)H}8@%c)M5q{kHj`2&jWaYX~~R@b3WOzBc3Yxy}}0fBHfo)mRqFqS_HOuXZ3IY%rE zPBQMkN^QX(eZSSe^1yI@SHb+t-VI*SDQ3ckk|Zftvi-tKNUiP-V<{zS>33A;{D!<3 zhnpxBMMqGbijQ_%Kef<-c*ATf#wINK!eyiNn8!RYt4ifhEcb||dzFEI4AP~gBV3}S z32>{jT9i2tinCRbnQ9eZK|w9DTEVR#%*ys8z~*;Ibw0F)2dei$_jAGi12yTgTrs+} zHZB(BF7JpHaLhvv-yjRX=)h`E5N?c9EOiTr@Ey}AzpJw(>+O1O^9<*HsfqBF%Me@o ztf5Q1yOivNxjNr?)ZXL@RgcF|^!(32=HqgA2hO3|#z15S!4gBz15pbFL852@oHsOA za_+TpsP+1sdoc)Mly<9-*-uy_bEjE;D`o8um5psxk}BN$>6R*nzr3j|Ah^UJGJE0% zmGJbITZ?8A8)uFKO)7b?Ja}#x?ii9MWw-eDswyD2eV&kF9ENL z0GH#qKe^;Y)5embLXkvUzp6IeRalk9(EaebsmaXrraBhwB2G9%B;X4#rnzD)I2WGZ-Wy06BWm|Jq$PLh#MAzQFu52@yNRC#8CMr*X;5EX=I z7c{$;M*d>=Nj>_uEg&NmQqmdTX#!&_Hp)o zvKto6D_=r(_|+(P(ag11?WsghmJ>%+;Zc^L%B6V+HPGGl=r#Do3^*ucP6l39!;HQ; zXrjK!?E6^0yT5KvA!3CXsGn-hajyJTyq$WtL*xL2qS{T&)CRKvrh$Vydyj3m*pM`=nzg~Flg4$YjI4s-04V< zE+Qa}CnDokhA6nswtxkK%=nICcud%{_;<5Ouy!jlGIP{RrF9PGTvjf`tbp|xayO4g z*}qK5pteYMEwE&L)DAJd{6q$OKw}x#hamt+?!}(`>L`fkR42GdQhZnnyBB&^Hy^u2 zYx)l;_$HJt#5}h9!*F(nG|!M{aHI&eYNCPMq7p>3xUCaJJJIH2~G=Rv<1;|Fv+T_Ihj~t9?H2sm_&)Teqxs* zc%zS~=J&*W+3kcv&w2-Qa-BhqMnqtfDFNwYlSkdyb2U|RMe1Luje7}!h*u;N_->!z zpM4fwB?OG^Pz=b2p+0`Qx3Y3>3rs~}>G6f!3|H)Bc%Iw|@_jLP1I%zJYxXCyQ4KhQ z5(&$gZzN13vi>+b-bY>q-Cg5YRpoF1L47J_E7$2hfs)lx5EDTriOJUuGY2@2l5BTm zAxq@k^*KbT&0Z#UcBk6zoTsWIambIw z^X-xZ5iCo;~Ch?$ReF-Bo ziqu4Mf8It02x}8#-!0hY=vnLq-Z3%?$boAieISE+Ec00V;2V2@FO9*B9d496~59RciQHx{Ka`9`>S|CZwRum)09#^Bhro{}6;Rc4kWXG`|0E`Ly31hliTvR>o$^3_Ena zaUfiXko8kKCkFQR@_er^Jgi|nQ}ZxXh!JBZ&`{=b!y6gsS?o@_584@4+p=0c4p$rq zVF!2n`s@Kbk~GgYa1*W}6|msFIJ1hCFoTcrV|DD60`(8%f^Mx_5SBwPC{zzwvxvx% zMpQs#jHBdqN~ku681_+@aNixet}h${rEuB_M=VyAc-SpoOT7(`UADq@#$9FM3v23e z4ZdJ?RwZ(=(YnIiRNbG-GDBbh1=$akjG(Wq+f!+S;d-ut3)r`Y`VM5AopNyYTvdCY zSUD%bUb~9fTy7F(W!WPhe{>sUDG@wpUrh)`hYR|T3Y#71H-oCjGXwH$jos2E`~)Az zhxIS%Z+^opq81~&#tbV+H-}GKA8AX{$|nKHqZqhEE9U;)wJvE9^)Nf^kLEc%46Bs0 z$QIHpAFO@ntMw0c09`<$zh7pcp@LWlSHId!N%&oY^pHlbF1^CGDk}^V*jZYhUhJAc zz}rU+8L~prpQPC#RUfQ2g_pqnAH*>GPLm?8Uokx^rB0wsT#RbG$J?71NvVBxd159E zra#v0jdE2ACp*vAy@`qN<=z1~roZo)<~pfRWP?G#O>)Y|Sek~=uhrn?z^oYmAH_An zWTKYxjncb}wC%6je-l?+Lc4VTg1z*R=9y+RvhU#*ojKt$OdFtW-MpWue?J|7ooTtw zVUhvfjd72Ed!IusD}(N5&|WM*+sB5(Ik9(_!=mh;Wyy%YtbG+)w^q+h*W-$F^`pH2 zZhS;tM1eA68>+qKJFfY0q2z0xGAe&qq{T5 zfbc$C6#3(-w}{47-`SF|qqFeIj(vq564$oG2N0d%TmZhtxsI}s^26;OV!#a;^qbz| zAq^6TeKY@jcz;`UJqDasN){J5&&M#exc>1qHW_CfY_;Yr4Q?|NcC9>$OX0;d%j&S5 z_(T!<9nyT)PREpx&tfXY5!sR!+g+kWa1@qG7xZdFxin-$QQCGy*kk8(Vo2}-Pwv5t zWCTr;)wR_*qUi-lvR3(JlobFeV{ygj<&-?tE!e5Lwg>hipqmk-=L7bPh^xM%nzQZm zze;QppsH;Cl^vZz{n~MZN;+w9^1Tv*`u0X?=ZK06*7_%`ahsfTyxo%WfdPock+076 zPHMogJJVCdt{Mufc^TaAa2J-_1$h1OwVL#p@;u-T5jsm4_C+0IJMKKchEvTwtsrlE zTvV6AgFk3A?0?2M-MvMvQx?GT!QClxfPU_8xhN$pOKB_~M_3=4QXsR`uYhjAD(HaF zA}g^_Dx3Y?&5AKOBblg+Tt)SM zB+f|T7yfy|{3#4g4q@N8-q3M;!*4vS*|a%h66s!bu1>IL)!*{3xEQ%gw3ogFRFl+- zc%P`RUZ;PQP)}pO@%io%(lwCgwR=t?cOWy!%qVIV2(q#k9hj#$>69iV8xS3Voz z+7DGg5RTt4(;m-wa%2{l(ckw+5cnV3=I7Z$18~^O$ppx{iL@fw5)mNJ8Y~=!Vwd2b z9Z+wN;=AAWxMtht#7X<>agTxz--1o=2b%rllN(O`DqRc_%7v#xLQTY-<_j}ljoP> zi5s!FD!MiZFJ;H>AwNnRSWNCfSxrDVAB(TD>2= zk{cxm4f4F5^6}hTcBIQob{kZQvfNoEe@@svoIGj(XHI&m6^=V=h!XbopaIjdY(A0b zvm7S7qwJ~_Pf5~{@0>_SD4n%^R<=Eu@vvGSWy3lbwFJ6tgnkxqE6h{nnz`eNmLslT zDl^Z&3&2GTP5*rR^~t{Rn94ZR?PCL3+_EJ~5uDM30gNDlAiC``Zz|kMQ6d9_KD_?g z&-5@x25QGYJFsl;R4f~_g@k_e5M1UUgKJn@CMTE3S%HwO9tsB)f+Bg-<%YiBsyiOm z;N4XxNveaOb^M5@ihJY^Az#cF?7}(~?%R-5P-mo0D3h_ng+6cn2};smJ!!0t~Tp4CrTc5(G>1VJ9n(pacGwH>xufFfP$PU znFVLZKD~;mBwNf+QdtjW9_#zx1*xoQ>+Ceu>w21FMt&&NRDnU@$duHa_n-l5r?~qR z_o0p*bmnEgbs+YRYL-NuD#^KgR6E$H7x>CLxxRs7iq8O7@+KZKh$=0dgFj3mtosrc zn6*@!TDrVr8Y+&}nUV#{cfi^Hn9EtV7LIRCe&Gc;q~Iu^Ha4v|w@&uz1@rEwP`4zE z;@4O4N<3x8bGXiMf^#uhbN_B2STNuxVD2A<7W}-JD%O!rhpFtZcf)we6% z(EIIGiDkt*t{E1t2xnekqMrCdtNM14o!LQx%-71NHD3}v`_JS;lA&NuZd~qEP9WzGK-!jKea9Hg{3yF{e%6pt*EaC01oI)PVpv$y-bj|I?-0eReTN^~_&PJqk zi0xqB-BL%WfhVQuE2iqyl-&X`v_y zskR)hx*|)E0;g83g|YU<1w5KY2Pej4!qqXp-8MX?JY({tz5BTODN1~a08S{BcBqq7 z#;xF^p;Q$+-K?vW6i42sPl&`0Fi`LGpQy%Jx-Aa@innC)NbCLc3~P6AbQR1>Ha~*_ z?g7CETQQb3SP7-3V`h>+l#S3?aOBYSE#K~uO==5dNtjkr*YKCnpch{~ZgI_Tp^USh_Nw0{#f9IU*9VZ>2WJr=i*DMk8~1DNC@ zV@t2Isf|H)6zp9;b$2|VV?MOreo;RL_U6wG$L$lT8XD}jr2@dUQrGGD8Ym>$^0wbN zF>glh)Xr>Fpzo*#1;093l61Ko&CE{k)~z91^|C0WQg^#6TZqy&7&`ZrRL7w>vm!Q6 zoT9CLs+4+QGp?S*_gxVYFiO(V1c8xU)7YLzR8Xil%D^o#Qd;03R9n&0CijqB7;`@% zjnd?HQ?h&M2YpqysBqgA%cAFzD7jo}HS!@IV#{&>8riiyc)zrLx>|W8=jfI0+o@o@ zRga#&OMNEZ)LB#GKj`)kvf*_4#j-&~qHEE)x2p`8&l$HA|NgUZ>p}H5uI)X4msQ}` zE;j}&Nnrhcz;!*`r7>kbf~8Ja5g@l6Q*H+er*B}r$1@--&H0gZe##af4mbDW0fOB7 z;sN5YndSI1+gMAdwEI#}*EJ9ZkMCB%BWokDGTE)Gg~h`tEkPS*eM( z6!1@e-*f!)?gYB_xwQ4b#_QjlAnCJ1&3V@09*7UC1_B0Li*SM!C~4VM+Yx6FCqoNt z6orP!F~?TwYpm^2jYQd;D(O?~sR}5DVHc^E;SXt z=->0VVY`Pjz_nKH0@?7Hji|F)9S+(czNAj`ZXzz{92!Wn5ArH`w<5b0h+S2v(&_eX z!ADKfLz;PM5NuBID6%7hCWTA`;N7mvcIF3JTC_&WJ>%+!ljv}}ak`7jDZPVf^Kn_` z&c(4X`?Hxnn@bYQgesxs9(@OLl3-UJwHvVCG1sKau}dgmz}W?$?r-Fw$1}bgXGl8q zFiu|gs#t9!57N3UBO%_r&a=DD1n~93om@EQ)qi#SS|52pqkC(qqqD2paxx|<>)gGf zez%-yC(Hy4hRSRD%VUGI>;40C;(GxCYdEmg_ZiOd&-G{2h?FutS<5@$AhI=FhnP9o z1;Fhrst^h0GsfGZpUyaIS9Kr?8M^U3vgSLkG~)t60!>udRB(^(rOx)!<}ti+I{O3m zb6vFg4Fer^srLW`Z7;_I18K-3UJ44zyQ_vg zXusyj+sB6b0avhytH=Z+kW1VWWn`Ju-SFa`b&~{9zj;S=&L?;O156DxTWmfc zjyLcj6Q_DmJuD;}$Q3Eqb%V9|4i$F-mD0+!O4{)ar1z-C>4pV)vXRTG?Uyc3g+(R_ zc*kvv!ZxTKmBTri(Tj4}-*q_-I>szDK?(TQBEQjVPcteqw$DTY^M~@<;tW-3oEBol z#qi@;5K-CDB(a?b&|$Uy9RD$!{(b*FmLccn|a`oKbWbJXxFb3#xdF!cKm~@xNk}3JuT$RJ-gF%*z6Xef0JL5w6bmpbGip?p- z+KDRC*N(OaH4l%cI-Z7T5j%o)dGjc#DZa#|skroMR{WFCK4mp|xye~fBfO^mGDG%| z&NM>mNxLk<1AXduh#E9GyRKuHf}Vv6?O4i2fG(yV6xQ&H#f1l@$LsT|?NN;sd05hJ z;NE010Smmk?ZLVF!~;lxg&m>@*`?)l&~+dY)U^M62lgZ-2HR*? z%3_;g*ftKf!yKb;rVLns#*J?8<@bSBdYmOtaGx`6kE6{v?tjfec$aEqqf@Us+7A7< zdLaggAQ!CMOQ9b}2fz3u7Uzh_G?!g3PQf3WcKbK`IVKQ!AIML8(S@~cXKE9H|31?O zQX@($WNfnGljZGdtPAe`58W#5>=qSvJpXuis^v5@v%&n z?FeW42=E`%5WuTXM|nHIx_+74c{IcM$I|XUgb5&xPC7F{5m#6g5T2b1r-$wGtsloId5Gdu;cJ&HZdvWk0l+7Vx^IZo6>QAsRKZz?ks} zK?udfy$1l3f&t0z7Sdyw$2ymP&829p;dvZu*p#8DJ81=MA)(Noi;kazFO^p0PQcM* zGKb#c+hi(G%a<&R2XxKj(@Shzy8^G|Wp-1;+P{*IwIc(6ZGC1^`}M+@KS}^3bCm_g z))1|*^8>i%LCvnwnU5$<2fEpFwy$LlIn>BQ2g4WS-KJmBpZ%mks+`@hl?m7KCyiyu ze`x&>RNd#JYc3gWUxaMgZWoP>p&i8tvz91N{A4FDVq(XYu>32h2nHj2y(LA$crn^O zoB%zlG+#IujY3B|?jTjoO8LfT+bMJ?pkq zIEjXKq5gBYph{%32D`t=h2Mer`eh*xaq(HZF^6UT7hpWW*U&5-J$TQ^O(ETFX~~BW_~k0eY;xO!#23x7iK~J zWy%dv;pAwOG{iF)=)!h|V9XyL1DhCHcF@Oj+TS4!ai&&!!41?S=td}RvpCZNzv6jh>)UT`R4a$=}MXfXlOek8V7u*_f2(+N^By;@(ZJoR=)+jhBb)jilkJA`Et1 ze0U`#?d2OUVIG1Xf}a!PrXhbUqYWFs#%_#`%n@qhfWeML=dbNEh1ZqH2SU;H-a+%yZ$*6I^w5pn|1elRh5w*AY4A2VKV|o8%A$MYHl>O?z7Dhvwc*!BcfTG zlrRudmnw(2-nM1GQ%%Uuv_SowZQvVC^L9Q2i%6Pv;^;FWVbQbaqC1vxri3HE1j<6BbxECyF{Qm=do6_&;(5F(v8ZHME85GS>GYeD#=YF8NP_!TyV(} z^&exaK42PH=v7hdac_iDmyNUU;}h_YT{J=~>-)O9 zjC(W!KrN`gJ$ebpCc%*1R&v#L;C#QvYBQL5kUdem?Vb86A}AO)6C^7WfdY$o872Oa zqe#a?LsnG6Uw1x^dMhQicGs__<_K$UiEjerZ}*t^tp#Xsk4H9>y?nu>lP#Q`Xs}^p z)R)o{A?D8=A5v9Nsen1ov(sFG^;F&PK!et069hl6FaR_B(A9PIumYXm2giGc++ zCRWd^91^i0+B+2>YTGtARHPRnkYusG}1yFM*Gog-_(U#X)J(nv!{(piyWM{yg8 zM3+;OIi9;3EFxn^yjtb#15+w{XrgePAZth?6=U)$GW`~5Gp70K2C`4-*y-*gcW7Tc zCgGs5u3rz(P1>XE(d;MjRXkawBaI?Q>K)1)sMqYmtLRfsj6weg$10)sJsG$5>j!uI zn;XUG1gpsczqr)OCaVjs>k#-(0UThSzA#VK9ZjVNL2)r_*=#>RHdrIJ&R9mY zO}yUhSOX;&4PRj1i-Bu7nu4JIq(uAqZ8nO|b4+xqYDVqmfcE1SM}zu>l1l0y#%WsY zwB#cHvTuw)kVFrNe|7vWKt@Qj0IHUy?d{lye@;cjep`Klf?0)Tpue@ZCD2}!G3Ac}hPv3CdaNg`65L#F1cWd>PuEG{*9lWZ?|PBbATlrB91r5duzAP&3AkdcV|o^9k%!n8(>St zLejS;hsD(uL=;4B6Vj>poEZ;sHm;jD;z-}WHrqyAW^v03iD$@lm{1+H7q^N)t zJMgH(oV86?ae%$K!l+XKsv5Hrf@y(Nn~N zZl1epLjRTK5biaJyPU!y>Am`R@@J^$5j|(f(>6Ay!n$!buN`OE5LNg55?bfIB08Ij zFz}%(6`I5yyDEKAmPB1;zT+A!dVAXc@L!|eU&++6EL!C%SQJ2}oSV8R)5Fco;&g?x zMSd(D=)4T%?Q{c?`T|1Cu;vTwU!@7+s0y+vF5kO6yJ#5IF8-%DVaoEP{f>5(fC1mJ z3|AQY*Z;sv!{VQcVEwK;;FgaEaKYKPE+VKy7=ux}Yw9|K0CM@<7q|~WS@mUuEZxdy z#Y9wn7{fH!k3QR1HE9P>_Pmk7T&I7payt%yf^IHO4pIUFaI|A_%#-7FK75#FP~){- zcjgBFoOCwg+I(xv;MVb|mcr-#=5bBP;f4Bp zh19SR%)!oLQ8RTw64p4%ggqhqP+Jy%CImH=+z#OX=ymy^fE+p2U!xI~o}cf|iI3J6 zD$yo+tts4IH@ld`UZ!3GL`7)kDDpHgs=3xWpcf8S`5HcYAafsk<$pl&t^Hn%rhjz* z_^s7xqXc&d(VQS~5Vj8h3GMOSW88lc`7mX>Wqe7rCG@H#s=d-rT=OV-3deS0rbh2( z!={$c>CP&^kf~Rd2~b#*3ZB<$5+vo+)e&>f@C7}*BYJvVr#^BjH&3zTR&)YXtrP|V zt095M$3Ba5U5{9F>kweuSxn@ z)x07xG!h0bC{NXPwEwd0!|k8A#x>`Z$Kb>Br?;^?xNRIiNTDKLRInRS5O%wD(bpWC z3wI{88{GFRMn3|Xz3p`|TZDFfwFyda_kxBl=xh(|Si5^e(h+CDHTQfrq!-8f@}K?` zb{QDP%;@eSlD-iBq~Ft`%o<$khD z-obLPn<)MYc#WXO=(s!Qk&Gqk%0T=4NG~Xh`_(F)hiu(N@~kBkH+K0|N8k$GkwkHn z{>xUUUB@M7#uVMc6V~eTm_D-$X$b?)eU)efPeIN{S3g+r&B#p3dKkr;-Xf>6Y>6xo zwB~z9)<$6IRy$KDAO-l5RPtyL!xqeeYv|AcTf4#9vK)M2MgC~FJ)&V++fUEh7t67g zwm~=O1SMy;Ad~tv)2S+;?T_7>Dg8f z90(O<*1;gh9*IfEax;r8|Y6cxG<$DG58^E^}?VNKs&M8^|pC4{OGg7W{s$*JzMZ zxQVrBcNN6+1E(LcjBD0n`iI)LUE<5)$bs2aR;i%Tp#X?_MTE|7Ep1t|xkv{hB&mEl z!&tyDmNTmgEWLvoF@-yKqrM_HJ^mC{d?Xc!v?F`Ia8P9Lt?Mjw!<&xOg_dSfqf%G0 z`jD)1z&f|p2+Z?0Nb2?D6E5!?F$X)IMa88cNynbO`7cDfl~IXM0Xf(0XusUz5zYM6 zFj-;^Zg>5JyY^dU^(^W=7vR)iYRGIQJYL8Xns%bQr^>Vmm+Po%fuOx9@;?ziL^YQ- zJ-CxtQ~C0Q`)E+xwMy-+C~azxQ@T$#WRFr%leF1?%}c`z69Im|!x@{K9`Zjp1x?jb zojR110A(cs{)$a7O_r;yX@cR=7KkVMKtwD0Hm&Db7JoZ-xjtz0I`lCDNM zf9RZG4kjLBof;@aRSU*kS}ht8m$0L!g^9bVeVyq(5Qjb7bvEZniXI>TSxF{;UnOO2 zGeQ@vl9S#doGXEypFE$e9V9@P&%v$7G$4oeU)jla;T9Rz_NYU+ACUM*~f zLH=aJM$S%{vppxzejM`{*{Tc~z5rY9$WRA!*#2`;6;RwFw%8}lp=_cnL)-|6N z+sRJHu-tr|p#BX1e7-BjG4>^@bGH*|p038K5$8WV7YGRV;|nq7U)HSDV&*Ea7O_5f z)c((PxaAJ3HtjLkZY?F~wNMEqCvCOtXxP?O$h=oq>SdNYO_nXJIc8_*Rl;0@!zn z4i-HLR)aFuX1yCO8E`}paBIx)8&jHx$u<4T%JnJu5bv3b0QeC;Xz^jN4Eh_GdhtoN zJYm0MQ894Viyzuc{!5$_j$n5!E;9Bx6j8{hqB@g$jD+F_u2QJcgxOzaUBQiH#ssLH zg3rsezgY*jcKj=I$zPe;5!AfToc@S-Tkc|85FxxqmBRhYC~}@^Hjptp+_Bh~j~_&& z38lOviU)eV8AqScS`Tc|>8O$2!13_s=`ZD^H*~|}=1d(NI3oLa za6z)?`H5z{yA&NOQQ`tIak4XoKo@#Nu>ax6YPss#*r!4tVz^};mlkQ_^O`>bd*|cx z(F~Tj9W}K7+XhYbvAIZybvGcH|66tDpOhb%m+5jLcu>-m+2u=-_5sfFQ08OF_@Fbc zzl56*DM`+E88ttE_US;bSgM9ZJ2=GL}f@MV}hJhYaAf*g$P{AAf}6+kldn z%ontgV<{tfzQ&?P*OG~DDwI%G7qI&`LhJ z{KAoZ(PXf1q$K*h@;##YsX6D7C0G~45u?6%h+a1CPjW-vHHfsn_POCL_J~WIE+e)8 zlXj}>`8}NVXy(i)TbjOrd$&cTKyHEOn${}83RYIOMb2onA>LP5 z)6l3p>CtM!V=F{JYi@>*@Zpu6o53Sk8L)791@xw3;w)n$$h=nJ013VxQ9tLY_Tn0$ z)Fzd5f-S$zJ}M;IAj22bZFUJtmL7*nvf2-D&Xs5i^P-g$uVEzz=ZvtZuaU*tTEr8- z6Co=F^ul+w;7CFZ+l<5>F?c_5oy8e7ig+UmOULJ)--D|2Sq-CuDk^8eZ!Nj+#~gbs zXBu8Tf|Y76_>q+E$g=M_$@gA;X#%`M8Nz)%Te8NWuPd29V>AJdYYksRaZ!DFE2K+= z)#vCB57>aVqh!?tIPcQdEm9L-Vp;bS*m!YHc)a)WPXdl7z~^&A*JZqVnvEXMKsteOc`t`8NYi_g$zmfT^+D6X1>NxvyR?J$gK(1HClRr-9@wI?V2nY`tc`tXR?UoxV zdB&vvOdBi;;g+uc3nvRUQDUIrE>W~Mu_%>d7Wj^8&LWECZ}MQ*!B)WTsp|^O zn@CnTWgYLc?Q%E~JoP2()zp1xBG4vAyB6k`zR!p&&$yV80A!i6C8t}ZJ=}D%&`jNY zL~^&b<|=LLHi~EjDoVTg_56__J%V|rFKp1s$?JB_kOS>(ig7`x%&wGJ;Q7fapyxNg z?Dxj*OH8OC?JzJ~Ha2`|>m0s=8p!ePOh~6wtrpTAX;z>C#$h61K{sBt$EfYC{gug^8?`si2GW z8>1T`NHiqt(}(r)h->J>bStva%d(8UU|KhzRp1MOUOUUR;G*S0K}hI=!HHhy1sniG z?1fyiMjY2o5!rf2)kfB?UUhfT!=gjuGm2Vs*9|OJ+O2c9vbOzJ$7)@0U}9i6zYX{D z_!>xfDD%DLe;nMa>X%a-y1J42EA~(w{M5q~{BhUo_k76C#0oLF!O5ELAhl|# zH-Ff9U|O*Jg}Rd>T`?tWJ9an&_8Tr|cdJYoLdrhdl}sM0x-|x;h??3NN8)aEbQNRL zbv3@@Df1wC+P3c{DB0Lv^oj7AO#Qf7#TeM#7X;Bu)y>fRH77yPcIp11kL zs?KxN+?d9KlzSq$f1p76f=j2%+}QOa5$t-t00i|8wO~T}KPz3>4mV0rpGTXJ29mWq zCla?J*)>>?gS_LlkeRM2q7b^m0n=B_5k2G+^$&2?AC^9X3bp(MGm2YFx%U{YKjIla z!T|)S77CT$wg*8)pkA6#Ic(3SGNLxnl^1KbHHJ1KEFH1ZygmrO9@cDgogRscLEh2Y z-W)#lEN`vs5_$npLQ_|DtFhID$4)nR(X|uDaOzuRgovIp(m9gRX-x~tO8IO@Osx(W zuq}h!dst$}G%rY0bU)g4_{iOt%Y`j*C|HBCa{UQv+`KLR!<+Batr=R`K+$Em5Q^V2 zO+LfK#`J7W$Re@raGiu+o&AhwMR2F4B^v#XY6zfpr%94B~!!o$Mewcf*Xwlbvwb(&pkTU_!2|3^;Z5a z?jvQ&H?XSpLuq`3G$U$uv?J}R;HoX%AW|#UHVuV#Kt4~GPBOY2!@4z zC$6{n6VbSEof?Ut;_}U-o(QVqhtTQja0*EF`RpC2t`jIb&@dTgZ-cW#2_FTC$5Cb~ zvIC4sqTHECd66`pg*Fu%f=nu#b@^w&ROIGkaHqj}Qi*$DV>%^detvxzX3mhtqj5eY zT78>(UxagK&uFD%{46aEEUdo^H>+Ustsz`QOz7`of|OKd*!~Y2h5CW6_ps&yz=@HJ z+^-$W3S38#niSnl`rizm2K|YZwZZpoG`Gv{ZryPGHT+|$_0Upg0mwKxVEstP%z=+}!|b`~f3nbvT( z-Kmax*iqudw)J}q1<$_f@e6Y>`9^B-rQ+g)yyKc9ROd{>`I5Ch^Rc&Zl)Hy2njF(Q zF=hVagBR%db-AhC8tgQb2EO*ocR2H$TM8%nTNy9`B7K-1s3IrrFrwiL4q}HoZh~9U zvFl09kMijblrp!8l&GidI^SVU$h}h~QF>gA9tKzQKx6bN)6RmQQ4*p?b3(fC7lQkv z&l?8~x8tJ)@DSz(w_jk*86R%Yndp`@=hU2yC=fxsR~O;GtGjS*o*K*-p4QFXIG?H; z0)ur5vh0GS^DVSPU~Qtet~-xgqrLjQKQ@WrKxEX1$Hmb^U%T9Xk78|_FfLq$Fc`Q) z$^@8LVi@@jXb=(mb(h_A+v1(qL;}kHs#CjLSO}s@`-fBX&cY82369NK&w2S@T3^(& zPu+Gg(PoU*H~KGTUZ=Lbw;#1GdR;~GwSdE3t1qlQK&MM8WOU~d4(z{*`Xj6~zO)Na z37R~j-A(nhY4otHkRF=(fcROr$~;{V^nnZGSmq!-@59!2EOQ#@LaH}B_ZpGn0a~#x(;^;-eol1V9M>8k zx91sKn&+B3KPi76)u7m4=bfjif`cyHohmD;6jZWtr_Q)V>I(Aaaa@8IwelQd&?-Ob z$xEviAn@J*(~l=t4c+?Pn-AQ^wnjic&HI%H~EEUA|q9#p;* zy+=T!O}ftLws@Dg8&iISeX|v+?<`ee)UC2|5HVpt+xF{=%^?+pJ?RCBV#agSU-!is zRU1(;906DPxRe22u`{ujRQ5OIL%%(W0^zeZPK~HF22Yf0&DJv-Tpvb|Ba}MdSY}0d zV080%JTSy-u4B^9F$>E7V2!=R?bzd?R(GcHwpiLSMHV;NR5H?5OS{1d_gzRkKauqj znJ4W83`~&Cx8%w$#9Dz}T}yYAwImWXdw~sTTjq8b>s6gN+fV7*VZP%U1@`6C$ao{i z=gys9T4+!A2PNc>k-A0xq_JgF3s;iV#$ z!45POYE9XxZd8wVRPzaidq9FQs?ZSF{V7L^H7Mnh7>Uqy9s=vIguq~6ooF<86!{9s zvxE=3)jOg*I*{wejFgu#wHGAIcq+7;-M;V`iT^+|HszTkM^Lki4B!wy5Q004E>p3zWIBinaa^YRaOl?{?u zw&#%re-4*&YAW+S8DRrHKeUgx!Z3sd!in>_1Hvwy&861?7 zmC=_#R|466=At)5L}uIeq?3vwL~r=i0^uFjJXECY+p<6?2_5255iiJ-1%>pFg(_*? zQ81V68K^*ie|9UmUVxzeg!t-;!7ilV zWNJ=0r4{24|N0iw-q-L!i0!tX|%1kXEGx|$U<9|wSaSglw(7bI z-xr(*Gz!}oZ&3!o28%;U#%GZ(+yPd`7E@TfI;*@;1YWkLnHi?0lI&7V&*%gaaw*?x zZ64Gh*k8_xj7dF$lFN;(r{-*%CLA|wBzY&##}DKJ>&R!8btmtc{X0T$@w**qj;a}< zfZTQlnPt2&U1M60b7_6<2F|ntfTc1^9;EX%3C0Lq1`S6rO9B#3H9w+K7&D$a)zzcF?iszUJ&Y7G9anq||QKu2%R9e@tHs$OL5YBr?;wuP6DP$eq602xY-sF;=@^V?KeJ?RfvJ43e;P~gR+(8_| zDNq`_kmWI2fWKSUndO+b%?l% zy(bau#3ZgM8PUpl93_Pb`3`JswJxVk@-1vys7}S$L?PWsSkd?Rg+w()s36;uT326C zP_>G$&2O9bHGTJ}=F{>d&T)+b-t%mjHre=s(yVAa@cnOid^_W?b!4n_q51rbbQ&R+ z4|g^TC{g~8fXLu*=XUondIT!^ww&_VpjAQsCO!jenM9nm0LT+#gNzV~dd%}bvc6lx zg?CtSzP*0i=`HLmR_vE9I0{HFX<7<~UNR%$zkRthxl`dLEnkj>JblNKW?H&4cn{Z_ zO8#>*t+fn*eDRdNumQ6*M5{CbRR`&h+5S!}V;X49 zi}?R#bhQKp&?uB2xk8pS$MdfcfH^-~wmX>dY2|p&veDZYWNYFk(0ws-Q^09fBbSm} zeh7&zf)$d{NcO3wU{Bq9==+LI&c7cq`J{w;?37`Nb@NZr0n&KUD4p8=Koy+)yh$iW z>z;Izi*DvOAHlb|wKirjF~@bT&jc{M z5t5)k*cxn{gNk02kgu7K90C(}nIWZ8;L=1r`6SC;TqyW!ynTl=KQ~L%ZjT$4nB~^J z0Xg~Q4Qn4XM@6o5?EZky*xz#RW7lSKE9YmRT6Fv(w;rOArJ zT2wsrF4Tr3OWul#s`}vW)YAW5t}8A8tLm!0GKc<&X_U6*uC?DrP907ibta_&K6 z{b-+~KaXa}{@X8)mn(1ST*4LToB30HJ{vB&4jw~?4Z&@#uM@bM-(~*-z%DyPI^>Sf zl-4rHaSZADRI{#ls`PoPJ#{nWyYyI-_|M&bz|V-(wl1K(tsB`VMM<|TFb{G1{DUpB zQ5)V-UGpH-;hU!rY@qFjj_qL{+o!C~kh!=z=eCwaHz*3I3k?iKgg2`4EP_~jRCbof zrBX=WRPa?FeL!+xlOqZ4I=dMoyY_umw{m;=6uM8ov;>Fm-FjmY8K^23&pWIzAC@Ek znDsn=5;(W$vw7*Z5ZI;Qek^0Q282amLXd74r#?@_+Q@Qz>ZEuib6--fuhlz)=AN4U zn|nc$@BL)OzG$&vu(7!S=TAP`KSwi({$QeDR#du^m-46Gr-wD3k8>uo%VG#6JYtox zfiHpBiR+>pPbeJwk74CeRL9azcsK;)jcURr?De0BM&7LoLVw1|taEXC}9l|OH)#rdgN`Zu*kIYSg zLLDM2lEIE{oE$_=-@;yBv}h|n5;oiHJS z+c&Jmy@RIeC#bC9%R7e=H8Z85H<7U@9EA(6|Ga5#kCd9lS@4g^Y+#P@pqQ9}utgM2 zH9G;BZgNc|B7izXFuqum9@egD`*Zu`oH<#=lO zYm-YXPwK9uZXDcq3tNC$IjLzL-x~l(F?MuC3h|4II0~p%nomfUa6V(kqkm3EJf@kq zoiWMhwGhbmLRrel$5gtTX$oNy`D~Q~^HrAeh3$AJI_T@cZo|L%EO765W>Ui9AUfk- z3jgG)us9uz#=^39b)#KTl;OQ~cCVwe!*dc+VbNi^z4e3Q^m&f(Xny7-9?~2jIbo7x zEn{O)|A!uEj4ak&_UEVuwN7NZ!31kzK`<0}^vqC-1JwLADDhzCl&6l%s}*E`hQTAn&-9|7z6Gab%SW9JnH7fp{_+0(~1=e z`guCKri(%{qZ3dD&+@1PdJuVlcR1I4b$I{)K{m$;C&51}GOumpW3fl)CMY_E|D%0F zw!2U9xOh7g+RqWbcS`P?Aj03i<;jZK`-yIRcz$Y;meARHjJQ~->#u(XWjORHs>8P} z8)zDov2j)noRL3RGnQF9wnl zRAXYPGy8W?^W_1n$3akG{M2)OGZME4cfdASK#G(dgtLB;NPV_319NpDQ$6CWNBg(z z_8ryCO%CUVKfXkwZZovLXkk#@8S*|&Xekaleby=st!y1q1-`&Tb_CcD{0HaV5n;U=RDqRG{w2DD@rVFESVnIGgLlf5W)o((>{{Ld&BNr}NjDPO zRCoZ5X;Jy-Xk~SC<-N&*mSK0^bhYh#N6wOz-e~%Ll7TSQixc(UE|cimCQ zR^+45zUoUn?KZv$B+KJry2Gk|Qe0;r^T8_hFv5Ia)-8hZYp1dzV(t)>?FFVAotA;* z@Y7^6hgO;uG&3c;ZLk+^;zIKvV6a+)MK4ux$e=S|9@w1DtaEg(B$ zO=VG<3t-9K=K?ygQQb45q3w%R<^esQn&oZgdeI)PATV43xm#1eI?Bt1F87n|TY)u_ zieTASOX-ukH66Dk&qVV}t?&+M+_X-T^agVFuB@v?aj0~Mu-t8=iw`~zqG2JYqEZox z_gLUK+~Pm}@;twD3?vV{A{lAiS^-vazygfEXPiL=hKyN#fB)z z9yN>E4byc2PxydudSG*k?DWW60{s$8GNvnP%8pprJ|=YCfT}nX^uUje*Xfq8g2U$8 z_|DU;W@q8=1WDxDWX`~3yD`REEbt-kt>(Xo4FuILv4aY`T9D?96A-st1MmVup?~eU zJg8Zy!IK0O!U6zlK$X9D-F=j&$7OM@V-%3IP}vJ_ewum`ArDkmM$6Ul7f)h3Ip9SW zEU%b`W#Hdib}_@gllA9}lyLIIBUvWS zc&}7N`v=q`@YJ*z!Wfe9^Dh@QSfar=$=JnMCrr@}ISDiC(B2NYz0L*yV>Uv;_T@?D zkYY)00X5?wtgl4SDEdx46lvL*^+F5 zHmdzSX^`uQ#VJsW0ul?Kc5M`C8yk9ug?Dx6rxQm zH$Z~0zDLeea=@p~wppxenO)rOU@4a0Wwtu|{Dd{XIa2m5Bef>MtQLiLV9f}Kl)2Vn z{-;iJl-C%9Ka4FZk#uxbZ-B}0x#03(u6epIfbN)P!2%v-!$0_!+hrA^UteOG9-NAA z5zJIbHBzwuQi4!I&%t7m36+;Do8+^`26g-Ham(rCNn{$eh5mCz<|U*97U;Ot4#X+$ zm}D;^LbT6Sc~*38*YU`d;A6ND{I75Z(iJI!al};@kR-BJ`Niu?Nt;NzQRIp!N&~U4 za|^OJZKTK<7ZkNVS6v>_eWxH%aUbvvp=yUTq1z$Uw!jeXv{p#;bwCCMK+X@igb7Vi z$gh2wz^BDIk3)6}ZS@^knt_qSX&j%5C^}p{$*9wX(^S`&XNG*nY9vul-pP|P0))iy zdA|`zo<|5UH>2MZwT6B#mH#na;1+xaO8uUtwz5g|xkjGl>zSNrN1-YU(%B1?*}*%H zKn0n9qG}^5PuzBHH+)|N-4Pzq(q}|c6sglq;bvWB zci<9I0M}fmv!71UJA? zIoYxAXse2@;3jTtzZ2_BnUGjM%EB}L3F#Uk-7}KDTQViLEE9lX8Qz3*^A6cet$!P$ zfhxE7N4>Xcd85_#ADcIisEKp+^rncc(}{`pH)mTnq|t5e=-wam zE!MuWLrM-oyS^kZJg931A1c#EcLZ&$SjAXy^B49^OJoK_PmGq0w#KS%S4}A0N2^MdPZDKwM*J@glNJA z!DN>1*8>kL*2GR5=m|0_kW@qr#jw4ZI-HQ@&`IncYGN~iJax1 z6!wCO8?8O}t86;&-~3WOzRAJK^j zF-B{Ok-f^j3XlQdwX^x(L5;c=?qtSVYQtArJIhSUlE*20kg99&RPa<29%^*CceTQS zs&eQC!qEkCxBSF3>JsNp{%qY5tlTgq4h~vPGlHd?4|($$()ts@@ziU8(&-pv8}<&T zj?5ji3#8etP0@X$-Tt{bCVC-rNJ@5h&+mDbf`6i$nhOSpRE*k}b1XN}Y_@u2vQLPT z2i8U<8Skq5Wu#$w0;z}~O&t~)J5I`tDU`g1x=7mRE_D9K(@|EKGoNLE$J9qYaP}mY zX`75gif)3kO}X8+S*Ii!s)v1OYnoVHA6!LNE))rcuWkn&LiP12e{+E_j`L78W?cA1 z72)L4RHOT|opgt0v^8Y11}<(+uvYbfkr%~Hf5MkkEQ#et`?A6DsAfCo6iQYSBK()A z$+z`J>8@d+FxWuy4l|QO5K;mq{x54B)UA6|_|Q9;nG3FeJ}eUxzRLlyI2TN$yH8gD z0wVf;UI=@(ef z=iX^ErNPcgAk{9UAd*0TNWg82xOYf(e0M1fYL8AEZaR+Kfq130Lj<`q&^2GjiW0)-8|ijs4AZ)@k`V+zx}fl@6Eh z$(1Yej&3$5PMj<((bX=@K4g4`#R(fV;myz94mYjmbFP_f%C7G3Vhg1Ipmt!Y0!r18 zsLRtlNB4pf?DeA$7}>HvO>Iwa+A^e~xPhyD`dn037IRv?qr5y3T;)5SGG8D`yMj;` zP@212m$rdAg8O=}>2Lzzda54xRp50BMvy-BP%#wRRIn)J%Rb%1s-rV-(j*5}&c6X@zMnlI`)wqQY(qX8J{lHHcqcBO9u$cg8>4ug*vH~Kw6#}xVRVPA! z08A`7M-jvcjOOA-S7OS@Fle>QNDFLuop)?)9PWIlZ5Je4G@8f+WSvWtpO0&EQgs8a z&9#HeD=As#0?{z)12%I1eXK_|8uUpNB2IO4$B=c60I{GJKwySrE09df)`6XkbOJPz zX-V%`XL+NizIGIMJmXkHp>!dJHTHA&J!xN~9c(+VtHMZ*LfXun!2fJ|9ay0p!bhvf z;m0piHxK6;$2t3OyKbZm23yCqsg(?QzInji;53Sg19{?sK%u5eQ~cb|NGlw_vxw`i zy+$C}j)=XKjyrjo`cMA?{A84e1!fqKmsxi$yc6ZUTUBjOi%Mwe&Y?_ks;xo5przY& z|J~(YD0|Py%BVtgFvG?_E07;gtmE2z5?F<9`enHJ96DNYu8SNid!ed+`;MrNy6C1) z`ZHZQ4V09XC7Y{ixlq;A?W5fz7+^^40w?`=;4S1%UB);5d$sO;#kAgEyIuCmCduF~ z&ekA^x@dI&G=&4lDlP!vp z=cMj175Sahhf?$((^sJb>YuPMl3T~=ZmV9{swOFGz8~Kz*azj;lV&* z0d#GU_rK(}ue+F$>;DN-$v@d`;S(I0{&}5QX!#tu+G&$+BPjDC`p8V0)gc>fRdKzy z;|*YZp){&1Rw;krx?F4`NOb@STohy8QO%W`6DQrsb@vFylvU^O1?!!%>2PBkm9)(6 z$F@&$9TSxhEC}g@FHa{zs&h68d6G4B4yux3mA9L{34uJq`8fqRoq*n+8_<<*7g+K?1P{?Ex$5o1mvHbo(lV(G)_3nH-@oMAGIn~~#KlrJyeF+R!l>XDft#-M~?YJ2OyA)v?wj|?_Ur0`Fk`66PK}_PNQ>!E$ zq_fp|VN4O-Xc$wR_ue7j3}NW;-|d+ z0S?v7KbLSrfmY7WV>z29S1Vn$HkzMX_Qo;yL)vWwG?x@kpR_uDC)xuB#_moxIUo== zDjRB|yKYZ~1+EwY?1c_x@3q7V@s%WJNFzxCnP-w7_*ZKJh$O?hX(MW~*S3DH&RUQQ zB;CEAELxq%zWB=S7~528L1QXjF^-sgP~xkt1rFrO45GnoxrW|yVb**{DOmJ|fmt|} z(vK^=2paT+dd#o-#Rz8>Oju6dL^Mo>9>FMX{c4Y4^tVh^Iu~YLH{KsGZR-}Kf(V?Q zx~anZ;8dq}Nd3@7ddK3weW)j8M zcR=%#bA`aR?k-p4-XwquNy$>>(lEBa?NB(ny{NohxWV@*PiJgR5%aOHH`Qkx*B3YxNe>`Yac?PcWCJxiL%{;l6J_7 zpVUncC=&Ge(upT6nLBR)X)8;1q7w%@9-F}#P#!ynzjjVDrjZ8PU3zzs{{M6R4{I%! zBQX=cO-_jf|?V7$wRF*r=c#hoU z{7Ep`vK)25Tu>5QX*F%b>OXsGSgUO~TRsDsa9?PtEOAi`lsJ`VAAyAOgX+zUD-{-aXF@YPArE#%1dlD~Tb-0YT9I5QJ!J=(oLHk){ z_r|G?B@;;&?3L0EwQ8p$_}IRNXjv%1|3DD3jT>{kOy1mZ!O^FJ1Cpn>)Ek?Ev0NB{7pbp?sw8 zJCynLU-k+tp90LbO4KQo&c;cd8O^-k{sqUKGhSNlU4j^2*gg#O?LT1cFagv|Wg{%3 zUyn>y_`n8RWN>|FP3e?MP@@}X>RKTsZn542vBVQBsqUlD$4|E_EJlf0xs+^#x3Q)d;>;MqppNd+1p0s zcO6apA>w5Qt-HtvR=8m;T|ULX)ms7a@aG>e)knPk0a|pnY46(mj$~8-7s;D`71Tru zcL_>XxG>kS*L@qQ#D9PdHt8@I^kdq&hHn(^7NMXkBJM8dHeB>wR1NKO;2mxk;1Qdr zZxmgWY=-otW+LX@fQ%O0fcpE|6j$r5VxWqLCk7098!;3;zH|deRFjh9yh_AbHh5rk zjJ*I@eJm(<9lM7rFnv4VD2E8%$qqOdqVVRM6JpEifZs8V9OWnD8BaeTS&;Wq8{NRQGw4RiATr(`s<524bvq7nHZr6aFbj!< z?=eXJrPr*wlD4z%9P3}E-VCaZsF2gf}SCv9cV-g?WRJua*_U=5X=Vj%N zfU#oB5?nXoHYe;ci_+3Dbv#7>0PmAyliHMspclm3%fKRHev<1(2#wIPFLeY0#dyqr zZGSUdlR5PU>3#|l_pVOXN7`w`1dIBPWS*c4zysPX=TZxX#bmz+DkfvkhPyagXq$o) zlCt)BD6kSD<`E{;F#Emr}U)as01o{1F7*krSYbcX$eB2hK#1b#Vc9DUo;EXP% z;M_jlg2HV~$E>7JKl17$q&gBJHz`ho_8+Q=G#bb)=tUYCpoLH_=_}C=5=Irp_qIGK zxN8XmDOuTYsK>xNs`<(&x_cJ}AMN)sYu-_k*xP9eIYGZ~0U4Zn*OLsqF+_Vt;+<*q zk7Vf#W5$th4SATgXRw>w>K!**-B8$|D%3j;RE3pOrzj-`JjJp;O_aHUOz?dY-oN~e zM@)U5p;>8b$|p--uqxH7?{ckN5i~C7FKqj!%GKUf4cpE({)z%x0I`70Pcf*KRI5bx?5gVjxw$91w))roQS2GuL* znsk9la{BwzQN_DEuN#NJvNPMcQ)KdEs&;dC<+JZ0;A_Rp7{zz8SZx7x|Rhq2E~;q&kN7PVr+tDXw9DVIV@A_I%Bwuq3fbA|)} z-+`d(Oav^ztOgSFC>zy7#CDy7w9Q8t5QY?1nsq^4(G>87=0@^;#}wwL=G#dSD-YTz z!Z);xy%_Kf7};G|gDqb>Ntk4_WOb2{HOU2EaC}*Fj{wGM#F844tiYS>Nleu&+^@M7 zsvcSatc07abU*FM_HB`yQquKnpkcq3*9nVa`3NjMW+P1^O z3tbXjV$G$#)KudOM`oq?3r6)5()hw)OE$+}Jtp!U-@}pjtJ58pqM{|kvgyM%$JDHk z6LtC_=-Qb?hY!`w5kj3W3g!)BnpUx>HnP8E^yyAlR8N4dC@G3=)Uad>O98Oo`aB3} zEMh4vKBX5pDWqNhajV*~@7Ea1I8D+gh62>F^Bm)@jm{XP9ZC#{h;YlwyB7D^kRFYb z4c79}DMQov`aVRsZiM-Pd73U^qrzER!b(gtoCS_Ui7uEjz?@ZnG$=?)Gh+(84b~e* z*8i~;@u1=iibP#us0P(5p{v=%bRw74(nW$Bib>L%_PNq=6Tpw_`zvs+xz_iuoa&5d zo~nM=9aRRZ(K%{D=kz?iHrB=A^{atxII1QQ`^FigY+IUyfcJ-v!-!^%J`)Ta&>ok< zY67ZV78&lGcN6Sq+#0n@+@q;FEa9l^Uv}-Dtk$z9EBp1Qg8jf_O45J6x>-6pTk_r; zFB@zMF&Q)exr2~+v~Z79@y4_V+k@E=u3@5}G8A%O8^={mw00vrLtB=n7qje>|n zdpQH*%Wzj8R}%pts&W_MhdDmrtLtKaZo1TQ+;H4!%(q+Frde4T8Fjs6bew zy=F)09=@&g4H#ZkRqRZ&T^6_rXhHdK-a)ldHD=G&=_w&1Q?HR9XSc{STZo3m@k&po zY5?`Mc>?)iXuA(7$$5*_R8kE9fy$ zc)XO!*)#}qtDaD=c=BR!@SFWl?N?Lsj%k9ALcWt;*gTKzEPJk0-B#w$(yF|$>!Lg+JGkHM_@OMxbs>A z{)9BD5Xh3;1$T~SP%j@?0cMf4GH_du1xRk-6^p1K1rXD!LEeXb)=vZEQ4EA;aGGRv zM*yWD;9{Fq5v;qHa#Kr<;sXeZ{n2K@UV{0f3Nq21c7)_+r7ug0{vnq-LYqn2X_9Cy zZkK+aJa?7ZVeW!nXFo_%{6h zt|GIXz;t5u{hciGG0pcl#vNAjy&$ZJ$}jF^LvkzN=X0|#D(0)s;du`EU3E}rlsSo{ z>Zpfm+#(KYO}>D$tw~jpm!Gi4hvsz1-_2q|g|;X$6N86ihlhZh+)N|gH)@k32CTSB zSmt`4UP&XUGT&MKk0YHAg))`yr*W0p`97`_`c!-$`}}#Ie5e3ybAOdD^VS*9C>fzd zA`*8les&w!RoPDiI$EtZmKPh;)@i&_0T;{})IZrf#iW(vJD#~2D&%OE*{YU#o$28> z739skpxX=h3stA%5*JVk)4c0g$)YDG-hb8}L^5Y*g#pNk^1J=3-Ulh1(dNNGq=huh zeZj3*4X)A}P&gAb%?H-!wA_;qVqWht1Ipj#dM=iv+C)FGjT)rh)ikxY>Y|aT^+`}r zWBwve(&fH-9;*arcdjfLPA`EM=mNLNPho^RqBt1#q22{`*hqRe@t|zt$4(k)(wEongJ$sV^f z2@$z$yNTB63vL7OsUv^KHY}SgwmWw-g6@iV!i-}>8`1V3>eOBWwyw&ytz;vS=I}~8 z?shZRj<KdRdW$oF-u^RCX+~eNo>{y6B2#2zPJ=EIw$;B z^k+shayMMacB4c^JIa3kwxMR0d+aK89SLfMg(PZUrJNV`HzL@_5x1}XlR@q=O{kOe zA$Kbf7mm_34{$Ky8IYNwTJ{I)6j>##%a2E0jwk#M5Agc6x0sR4@Bd;o{8sx*?uvX` z?jF-cU?J?MAEah?F|aB_21XXh|Eo+ZpbS|khw5O-j|Rj&Zbp6WOh~j0)#MAfgdJG* zlVSNO&dH2H0DG-1d*wq?H6YG3ux^2d0QNF@=NE74eG{}@xRV0E;XIk>)+k(}Ivc#hMw>~_YOyjt0 z5rTtA7I+U3?dMAPj%1wYMwy*`CvErH)bn5loTFVxZBU^UvM4|ZML-cy>69+D2Up*CTG;VK|%0hP@Z^kbrK=)qRh0( z>rf5p{_2nCetZE#Jfu9X+UA)Wd%lHY^fjY8YWzXvJ#?d=88~iQ4Yjd25eU#9k`~9p zXEpxU>l^fRhcxb6Xpqh;O@avWO1sTs@_rFCWhyF{NPmmcnzD0z1)ErI;M9Uh_5b9q zdqfi%1_iP?yGI;D@6z9D*JqAcQ8|cf8{>!`yOy8N%Stuo(|zO8V3n~1NCIET_w$)c zqITUXXPdUci9Rpu$BHVTRs9j=Ok|ODna7oHMeXwk;g%J4Swc2;-HW7+U!d!_X`m#qD5zTd0 z_pFVm=jQu?>R4Cem={sc&0<|M{kG_4wo_q2cDA#N0zTKFUn80(-T@6^h5!lD(QZ+X zZomf08r8m7^^w{lY6q8aVbQUBa#h%86Iwv|E7Qj}mH&alyn`A?%KanV7HSjm-W<>E zh6~4pc*CGs%#r3}9o?b^SG?^@$MQsA>Z=#=IQqEw`^eo14*P<5fnl~+UHb&R{OfLS zp)$*V2*I3km)coET4PV$k?r;BDgu;1tMY32($(?MW>4Z2NRGBPFeGnobEV1xV?R_j zhQVLcNuwQa`#Cc6!`VE^P6YYQA0MI_&pg=GHCVIi{8)NQYqbwbpzGGtp2f9sLjS7O z3P%^Qku$pI?nKU7{>mS&D0e93oR7v04ihzxT!MBH1H%wxxg!}Yjnrq_n7DaPtw^{_ z0goo}faY-~Ujs^%LOgoEq559FoVf(i>};nf!zueCba`U+8X!+r zg_0}j3+v?J; zdaPYVkPqim>$U24d*s2*62R$?n5^s6g_9i)9UX^o?bB-z5r;-$$BFv;DG~yHFUlUV zEa^(Szk0Saq)`G~p0#QBg2MV3(!9VTAuqOwRV4wms`$%W{yH}&F7}V0MV>W3{JdW% zmPa$Mf0&P)y|{)WtcsV#3aUC?*R71X08}l&bINWMJsGz(Z;1Wm%%3lz-x10vAf4}s zntD_RNuN!~qz>hiBMFQavY3!S9HZKWpkt2vm-y@z*nU1~a3{FnS%2d_6ix z|4=i|8xI;zj-9J#v(jB4_h_ong7h)XuGp5lEmKtre*g(2-0^o{!#yfo_xvo&Ff1mA zpb94s$;u`pz5?J&0rPg8Pfp-e|2bWDV>L(MF|c9%1V7#Jj9h*F$2bHf$c3IMG+V0l zl-YeKIB87$_H}xUauX9%_z&2chcw(7!fi@hHY0D#tnk^2=mK#hwk;z=F6!o$!r2Jd zH5x6{0*b&-{TArGK6d<^usJh=>evd7*h|L;4#Or~U)+Ofu?m1ht0|$KtKG)R!5m^f zWWOjAn(~Eq_Go5Oq{wExu!>H*&ae@n7rN14R?jC`L$Z}&@5?(~=#3CxB(doBW6x>{ z3^G$ovBUWZ>HglL(;E?OsLD9EPl}zvQZaDD0|EHj$#xY=HM1!=^r?BNoo)uKQsOq} z{(e^29@S8akEiGA?nc!MPnGbcq_ERuZAG=(4QJAlYIp*ILc3*!WgXqMT>=doo}NE^ z8fRF2gyl)Q-Sm(L5NCZe0+6y(jaV~Ug|d9f61D3iwUD7ZWEsV>EJBNQSw|upT+^3o z?1*Xj{;(Fw9W?hNKuDL34O<-?`bKHfmL2qc*Wdg+q8Q3Y5=8PL(F7Z;UEJ^^Ryr#KzMzHkoZ1{vydTTHtLO{Y99K?*HJkYkTcn+RKC#V(w`@ zN(nynR02z`dY+7YjZmmU;jQTz7~wdx-#FSt`pnH#2jCm^iLep+}; z$$;60)$O{39E!M)&b+-*u(r~@{Dd}APq+(ei*1$hC~qyOB`2BX)zZmf1tbbDc9?y7 zBRyi<+31boQWoFKcQm6>jKT9WY!vmxO91cem@Ztk-7HK2rK5HxLBDk4$V_Q-vb+M) zV^URlQDm3wmqI0RmGS<7FhCo$BQ1OexE0obN=Fzg`Zb&ADvp1r-r9nqJ8$*NoyYp0i(rOP)bL0$rm!Q=f4 zu;!tS$|#0=h<&OCWrQg!hLG3?%KV0H`n4;VF^R28zhVj!MT~$0&RG4Eyi@3RMpYC% zRdX)aI^9X{aZ~D{Zc?vDst+EWcCQz>#|0J%?AIi_TgGk5n|TK`Pg1*GsW;KjfJA1H z9k2Bb9G+(soDq*%cYkt@N09|-0iK~8+lkh+rQ8Cv9Zz&{Sf18xx&&{A zbSyf)?oG62NlZg1_vVm~)p{jIHPZ^YCiSnL$Zhe>4l1vL6z0u zx=XIJY`Ya=aW|JL(Ra085_q4m9g=WtO*}}DnX|51(7gO3jsJRTdY=qNvv_`4G&r6Y7Z{* z-oCC5k7V5U@EHNYqRg{SfZe86ERgyK$RPh?F)T1uW_=yp-Zb>GW)XS+&G8TB=ia5G z+k_U{hi~oWnwDWq_ToKNh`5aj>dM{|rN~}bU-bv9ik6?K``M9v$wV>{+4vUpjOgdL zubHDqHgA7tH}?Lj@15$Jnpg&a-ty!15LE4W!-|*GUL7eQCNO{9RdNKD2o3kYV19R8 z^HsKg){WRbB*OH*%P0`zmMl)AKovdAj8$Y@o=ElzQF&Q2umWv<^|7!7EZe6~#;!*+ zm=6(xBLbZ=Q30np$NYuzsEgQuJHjpDCom&T=%GxoqiR!v8T+VbuT>eraD;&(t8@E7 z7x04!GW_1sBE55{6J*7_RMp7>r^V9bHVeTGB+5d@`_NRsMa}N0#-*0-X$T`>nFw<} zk31ay`Wo{sdoNdr*rt5EOFdA`tr?<8hNM1UW!*cZd9@|a)u;`uiJ2X0mz|92m|c94 zx4Ml#2>dvAu2~{G(7t~j9e)7%&6*S6e~o=-RO1FgW|9BWPT!gu+n=Cf5=EQnE6DL4 zGPF){&~-JDZa2@PS3?oLp5joP_`c3AZzxAFWNq{r6a~)LWFL}N@XUc$FUuo7L{Z4f z)TGd;;G-UyURjNRkK-58umb&_jVx?OU<4f0K3_Q5{LqyP4J^!dmQ zk5rN(3m;zc>cBV)_ z8;8Rl!_qHe=YBN#2Z_129VLO@F%i1N+{#OItH{3Jnw^?7KpN3$k9e=iM+RUls4tDT z9QTZ*AB%O~?Bh68b={sQ@cyT@vfqgD(N`M=-`bvB8b~z1J@W1L; zd3ahaUp~5b)44XBsH+@mJwpHoq`SqY3{J;BF;n~49TA-U%_F#b;D95ITAqT1-EiKl zYRaJ|k$5hx7P9&b_1cCcRCnUL*BpTGtpwpQ%}>qqH)D}UdLe`*jCjLsH?1iy$wQ@S zxKG3Y7;B_M5d#f1ZY8t+gfc%dk~adty73O^_KL`vo$9i~&^#cqJP6yeq(UQIOE1sz zIe!xPJ(xHT(wL3#`qtkaaL``Bg@OcjmR}9p#HI^n*G$(6g*uxG|C#i47Tk4Vx8Cuj z`Jx;u!pOR)Lk(;c>qr`k88?3LU%elgoQ2?h|D!q5olbmg&L0uYQYF2kLi%Y?cSki| znKK^Ieo@D~oN*CU)@yOygIxjMRh6Do#rfZ7$_)PM?g<@zCHe_E_NWGPEf%l0>1OLn zG54azz6O!RveVr*Nm7O+j63C9bGW(4GTZsa?JGWuM<8sUyMF8A<6Q9-k~I`#OV3Lr z6^Y72B-qJ7R;jJ!zt>2J9IlF+47%or1@@FmPcag=>!f|+Y43(C}KFMKbYCeS^B|qY2EIBj0=zN`T8By{M7DBn@{r}iz~X|F$WLlxP`Ly| zZX|=v5CY6kJfp^j``B>oTHh~VTDUH&J1z}P*;C-zAP1i7rLhAPo4i2VzRsiL`pz%4 z4v(bIubt5dJNL710-Xu^RugJUi;mZp_Kddj~f@ zd*?nnOGMIdWXp4E9=YcuA^??Kl0r6(72yprIkltB;8GJdR8d_YNJxznGsk}QPT1vG z>I)z&RrRJ&ux+-!9FOB^9OJbq=`!oP6o14t+islxVU;_BnGXohW$e}z)*qad6_v6V z9b~cYG`9I$JLfE!y0+?-;Yk-+CPqEr60eVD%|jaM#j*NyByTD=4qUarew8OM`j6!} z397e>@~hR@er6W2w?{STpjMRP{T<6J^Q&91pV%W?6+8ygOf}pvSwI9}7l+rFzq9T@ zX;{3^ES^0Luc@hZV05n=Aybnv?MI6%**msto+D4(4B9rKcfi=^F3%TSH$xz+ed{Bu z3uCJ3FNu36hykjR0qajp<7TTjARFN+b?b0r_N@5u;`(L6V}!qs(4u@}m0j}&^Rn`| zsH?)5{^if9B!StZAAvP6XNhg1%>O*G2o^bZm)sLSO#3ZR#9EDgf+j3O?~3{P)GKO)TZ03W47p3a>6mx*<3^NHowe+;I8VZ%7^sh0BpX7R4*bM1 z?h%-eK&0U4%rLBp6aEi*dt!D|mhTlvua}bvX4J%*g zQ?EJuk#c8qHsU|DW^hx^0q(3KObIkrmc4t0x21aiOaRX}<*>O=>K9SeM#PqM%jQd3 zsd>H1ZZbn^fT{BW_wh|gU(|70u%GmKix5m3RS678`vZucUwufdjs?5j`p;_oA8_Bi zA;*~q(?pBBVz||oR#oPrukbBJIwHDp%zr@r?%3wx_RP(R6EsM4$ztK10vNG`wWZAj z#%FOPYlDG*Nx_}r7p|2Jby@%P%l3fgz}5+n9fFuRochW}_l1_VeN!cJKRKKzW3Fv3 z1f--Ju#Q-~3aHfUQWc3;NM(*}+jqkDabfCf?H^HK2m;Y{R;Ef>+1Um#FQ|+PhDG#S zvrE5z7H)(zQ?@f8&)uCf!iiJe0j4jfhngYj&yi{ULGwrW zj;N4s`>VeQ0FqIgm1j6T^nXZG+qqpfuc!<|%FB<@g4H2ZhY*o;@)Q}5&#aA3o@K-T zxL65nuKS$r*edGyjcqR1A$>|Z^e@o72L zvAYkp08SItb5?T(m|+NJtG$Aq*^SyzK}E}Mslzl=Z3y7f$A3&8?x4o4(aF+)iI&S# zxSTMplcUJSMSCIK5w--7Ium6P|6}@gTua`_55H6^uYmHfG>+YCY`TsG`Gy;6W#Aej z*-`G#R?27CQ&S{e?#_8PjcgsBrg|o1Kc`em&PBOw-qHN$cUB6%b9nQ$k z*TjZ&O{2-1_q)IVmm?cG_T~h?IzC{Ehx%ApT4oYc1%1s@Jj&qd9nS3TuXuxRRB7Dh zbRQm(y|H*aspme-^^jIMao|>gRYA*jK@?{ws6VZaM=|^O%X4vEy32HUKwxnW~Y=_(F{R3Moq}=6r9i3p_p#t}x!aSo#^x(Krq07$~1MLD_7hSgbk1}6_fZdpXye{|?N z2Jg#5=(40^=={Iigq}KP(<3NP$(=@AXQpiLwpQ7`)vnS}K(klLmwei82}34$D4;*n ziR>c_#L1Gv)%u18}8@sBx9bKo*X|FTWP-IY^i@tO?Q4)d>__Wc1jZ)Zr{{ojT zL%j#b@)O;i3)4AMGlE)=Nm9o7;M!EBvDe+?O6~vaQy=AzH*&0Ue>8zs-anZf=q*Co z_t9BSh0E=r$m7h&Zw zx=SZnno>+Sf0%6R^w}~O3`Mai$?@i+FY7PBeqA8no~tc|KD(Jb3{Ah(9zCM5yH98O zXaw2SLGyk7iTzcVP71N0Jw!GOc8~zAVPqx+k9Kdsuk~HL!x@y=1e=lk&y_A)?nZ!0 z6a=o5Vp9r((HBmgcJ~<3w$G1Qbi?8D~0wjAL=JfsVnAWtY3D!GL5NPE(tTHIvQ4S!$S+FzRbzEKi>m9CN!4h z#fJk_nTpF;Ne$OgW-|4HjQ-modQfo&MGi*@R8avw?a0DDjr^!n)jEKY9pYA($noGh z)_xHUPZbx=pvFE^CjkuvMmqbi2}gAUzokM9Q|#K7i|E}*;^Ijypj4Z5eO-yAj3v8g<oMcmY+Sq|S#|kOI3st5yRuF? z3;+a@kj7b0r670PH)9!C0ncjdPTZ}kgq0S-2!hbjc63nzrOwMtk z-pRl^FL*~Z?-7WOI0)jIGkF{r8e|aE?SCGta68)E7t4Pc)c&rd<>=?W*;KI&2F17< zTP%E`1=deFDvxY{K~wx3T&JtD?H0IbPA;pqMnr&|?AQr(xB{7xt0%j$O8S)Q^LXlfO5|{NL0?@7<^e~R zS+d=A6p?F(T9~dqYau`rJAI~6*RGF_LGd=Il4vgbeA4rDvL6c2CFiq0V3b`ja-633!*8T)Aj!FteOt3=eOyKL)3)`GgSYhNmEbKNb5twmxI?3LNXCJ9mSU zFJb@!VWu8po=ctL1NVgr?XC#-R4A-awS~yhrCY!7Djv#}M=19U``TSe6MKc!H|-wR zSYI{Jy_o6JCfhMPg_~eUJ}KA-{|*4XU-UUbvSc_yB6;I6yLbfl{s70Uc850eSSZj8 zKxY+s^mj}$*575ng+0Fq4MJnKewUv>`Uu1lH|2xyMfgKt>Ym@4ecWvOGtL{&nxU~4 zwl8`)D0wZiCP|&CMEVvD^f<;^CdDx^sahTVISnpQeP8Vs5V3CwQ zaxg<)&YX9_9hy!^;m}2qApZ$%JR+w$Vq>KV4HV)b`spkv4xOB`XRN!JVC}*aM`oky zu!Pykw>FMPGaEK%IU?ZJ72b;dH`89xMD@3(O80-RVET-AD#nT$UUyuyG7hdyXzv}- zkf2I19MieOVJ$8M7gVj?jx$4!)y7%0aq-8~b?XPs+Mt&6+(c8d1DF5fDA`*qGaOPh zsxuM|tT@?Yl;ZL-D+SxBwkuTdk4J#s-IBXu{vd~Abx`z zZJV>*&! z#3n(op_z%NL}JA-6nzQBt+(g7%7}VhUn7w_l5v&7YD6tHigvXX9Z>{J?1Cq-XF`G$ z?X|oVa9^~{vpOX=v_78W3^rc2$FD%@keW@f87=o5xRF1NwOx}4)zO(yeS7En&*hrV zrT=>&=t7-6F9znQcCy7=3JB|g49&_w7j8lwQrg_W|3o%&biRio)P3rXP8quOhcrye zMlY@_y;c9bz(uX#Fvk~UFS#J{*8n#_$iKYLW19269DZ3liPl^|_I8-*8{|mYadu57 zQS7c66$X`iw{qGVM1hcaIjuS@8dPWJFdr1j8Y*O6^WwXp-n=j_M}Mw$s1;LfTT0l; z<{S%tu4V^{&)>t(_J0+ML^O0vQ~nx@xDD~sPdKz`DKy&4DBJ84Er>(i#29Jgem2i{ z-#v`pq4XI_c9E?YJ@LJhFu&%Ty`)Ft-eK0D)%gj9YhjCdPMV^ZQNHzxNTh zkY+%huS-$J=xx5caY3xE3p>B_&x_YoRBp9q)JMig$68O}h3MBG`HQ{h;XGM@l#OhZ zek_q3tkTK$4VL4nP&05al@ViLVP{XeYBV5qjASpE+1Gma?|A0ACVS#W>vMIwvC?=c zl*+LOI)6i?K$ImKb&_g91}|n8TG9-D&Gemn5?8b@;VN@Lij2EvS_^POhu7Aio zFxgwWet#ESp>@w)V6D3D#4Q>1Lvl)Y3?l=g@rr+g8kLBX8!;nREajj3j;Y@S6}HO{ z>pHS9FBY6=b@TaE7Bkj%$Gfna#smszA3FrMQMT%9tlLw$i)`N=>nw!ZL}8HNwjpz@ zUc{n%LG>^;64g;{y52E~+!a7b_%lW7Z$))rw}EY*>x3a;x~LMO5Xu^q=q4zIj^qIVY#WZ$e^g zxRyPc!%C8j#L<%yaJD!u*;~AW8T#%CR-@y0HeqfMyw@eS1|&**&QB@n5MjLOmY?cB zwz+HB>mF)Bu@eY%#(XW&oS&d(Ol7P^(k7}(_nPb%7PnL7uY*ljcK96k;fog z1W{PZ9^nT8zQP(siSrwO$nierOMR^{$k}O=GfC{sm$g%N@vi6F=)61CF9zqp+Vs6c zegZ1R+7)LPJE>OEwT25QRfjF+98(L zH+tg*nHg1(N4?L3)W87*AIEpoN2LXS2nfWrrX_UTKa*VwX?Rqxp9owV&L z8C!J)SmVZgZCe>iBVp4(7(_Q%9UUtyIT_D22dw^z@;{->uF+YI;Le1MOXstrF)dZ+ zT`t~EG%Ht`S-a<=e43oRW9MQ5dj7F+enPs&Jqx#yVVs~@q9fsCoRJVBpKW5MqYy5z zr5w)oLPXgyKSa$t)9!)4e`y)bNb>C1oYI)0IQzlbQ=&{kSWcZ=3L-!%dkrr}smFGK zr1ji7@G_Y)y(5_i#+m2r2UWrYohU3_t^B$_eukJ_&!TIQ9ALdwlMm6(_v=f(VI6@0MmhP*cX{e2lT37=ZTP{^}uM986|E00v z(aQfF(=4l<%6Kc-sZ%=A)lK&f9O<%~f+Pwvac2F)7S@iPNG-5jIiB%OMc3%pqUecf z?yg}mvMCOdO(QH5WuqldEoy#GIb{DBori_dwr|Yk6UW4w%ps7K%;H2PuHNC~84elx zbP(a1&44nh`T-Z$7Lx!oY-N2KEjd!XiAWeOPNLUnH3b;9AK7US$!$vJm*zYf+#vd5 zZlHSse56h6-amKPwZrxdZygJN+{Fbz=ae2byna{JE45-*W;f!)FzG+h%%<8|jMjsx zcX*`vj5_BbRkxk9Nab>LnVn)=)()MA;GV)fYR&hky~IH59n>6%I)xDxn@#5`(Vyv6 z1(=;GUXC^GLCc#Z7%~z1m)gO$D_a(oM0k8a>feKJq}>qIQe0wTDJ3ziW^kb&RB# zhrmkE{;#B~&KM}1zr4W}*?e)Hx1C_|)Xg!wa+w$ekfYUQj=~Ia_T_Zf*|e^d?SR*{ zq;422Sh@e6(9Ur3;0z|GG2&qVAhS5M!!i@;>xyXe4nP*bDy04h;l z@+D6oLTT zopc4)#9UG?GbXkVWWp|SYk=~IU5uy8>&|?rca*XQkA8pE1*N;i-mzt0nFuGgT9&MS z|B0@SQHWC-A(e>D0p&FuO%c0eH*p9_*b*jYqiQEmnYQc959$sO&Q+nH1E=fucTj`R zoSfK52czyyi5kp02<7O4wh?cn#OFEZG62VQ3ib!J;aC%HXKVj@xIDp(&mKA>+Kf-V zcsGl#z$Z?PQRsu&T|Z?<=Gs$5AifnXA302!!xetx-Y*=9}|`?aT(%4530hRs8d2GRg?A zBpYUDYjncx#e61q%E9C zh3O&WfJ{SWS@~_1`ouCJw6Gje1CphW)gXDZW#KnkCT`igk15HA9Lzd}ma^eotQ*D) zYc&^p$5H1qxo)s2ljBDhi1flXJTK5Olgv2?|MSxc&}o zrb|eVi~ypVp}7pvrmvI`+3Z?%WwM0&$m3nXdhpqH+V#}-iX3jZbbjxc=1vU?B%)T@ z#^Ro1k4g&u0-j-gg$2>%F2ldZMpeao$l;8$o@3Wxh6>~U70-+&yWr72Gv;%)LOV|P z?e;G@ognF@VaJ6#ujW;9@`YK@YZqW&=6UG!1rE=D71^n}&q*pDOw}5te94GCam_XtT4d&H%K~SL*aANF36lyHNn_uliPn;M z-tefkxn9p21!P>7epg0!Afudw5y>rHMX@acaOhepyQ5wdz5Rk3{xf*uLO^`~0j34C zt&U5U>yYa{(kcjG>q9*@`o&#mvay3eDLuKO1^zAyrrn$iVmxK;U?=Fr-bROY2!_To~ z3##;>e5Os3TU+`YrlTrtHtfhY{R1*r#n8ddH6~xm>#51H$ReJ}iTICz?#_dbP$79Y zml|97Oj`hz&;Va_8rONevdDy>6rSf+C*vBko<~I2O95A(c%B~5-BY}jfn*h^&nx>R zn4sEVv(Q1DbYj&kAx8$LqD9S{U*!|C;zMrDcR<&8V-Ce8FaNu|(aQE9@aM3P3Exzl z;T5t9$|UD$o?8Dsx8})<5wu$(jz0om%07WGdyOp=ti$ecqFbr`Y~MYmPhdKhpp)IZ zn?#4hucu3J%hgQ!gw|!R<$)g}ge;&CDg^xws#ms-Y4k4g)|uT+5x7yZ+V=C#0)M() z3cy8IXJGr(H4l6yzg z8DjBj!|m%(L#69}t@hCt&#K^1qc35llFJVFku9U0ZOTg_tz|&6Lil^f^o*DwgMebu zEJ^MB1OevVx2p=y@d9JPV@^w$HOW0_PtlP;E5!r;eFS*^3g$XTFkWi&EC+Solf8Y5 zv(keQeu&wx?`sw#*4YLtPa}sfL<5e}moq~cA+W>DJ&f44>X8blFPtNySk7-wU9KSf z%Z$`&n2!$Uf{Gh*T~vEE=GYBwlt(8^ES}5Ld@vSv_Y+x%jKr(uZR}A*Xq4rVvYV)} z>#^C-IlouU6*K!1g?LemfPoZ%Re>}dKPVrMXnbUzv*VsxEN8QS*aq2@Z-;KyD~c6M zT571H@@8XYUM-*x7VZw5f31SBIse*d%h^}I z6kV(%wkZRU$aG2f$Y|SaME#2a_94|JW&+0#LEahBs2m|VX2?~Wq+ZIH1XvmzoTrG~ zrsWuFt=1;fJ7V_@*Jdbg@aX|Rl}Z~6W$O|b)D2ymT2z+$9ol$#J{18U(9eZkwt!0? zL4CNOh~5trxKRE@p()ei-a-KNBYul}k$Yv{zec4VPv0L!Cpsd;nIGBD-=}x3QsMXl zX+wqFp7C~(2+X|KIvwNrLp3V7%YWeeXHfH_BVV`m(GnLzzZS=a1;)D>!zybxGD6$* ztsUAumNuMl0iQNoyY&*^(bN$Qc{^U4Nuj;AdxHQZF!fWi7+HOP8}6-JrnY)1xUtK|J_?=NjTNT_165ac^O+7N^yZ7V%6UX`Uf4@~&=??Czm zdyg@;3dRGQIcC)ZeRzFEH+8%^2iOUQ0jX*`)sbC`C)RXO!rL&_W3k@IepU}A052+= zMN?=V?z2f`|4<$Q#N&V8RH7wIjG7-OTXSZ@vJ~ zP>wbCiEcb9X6eEEFhn)DK@FiekC9{U|lzv*uuSyOteX2M^EK4NV`=#3TG88{~r zh(n9P)zA;22oM!m9MSZ=0v*8CRsuw@`%pk-pU`@JZlzanO2}i$-}i1)vpR%cbEw$(Mq%Ae1dG4rxSapq&qd%x7NlA{plYax81GR zSftlaXx;NBI?)l1$SXb6f=WE)l^Kz|9%5cIPku<5MVb0kT}djn6|b!dO$qt!z| zHyV$9O&p!&nBj|wb`^s?gb|jXmw!=K;w;_Pn-(OVYS)1**`b9>b(1r(?8`o3d0PO^ zpt?Chgyo2sRLvrV5>T~|ifz1IDMUOsfLW`Ur6qodaT5uM=Q8%rGb=`IU6HzbC zqGLr)F_q=AJJw`8p$J+9vJicUC@-=2QfQ5VSj5z$)zS=ke#0F+iZV`5M~K)@RDvU} zkCASIMwprEKXmCWO{qM9Yq#g3e-McC`a>=nj4ZgQY_RmVo_S*Z>nF5cmpQo+*`rNS zG9=WgHrrhkz*RrKt+Ca+1bN4EYfpUq5t_XPt&8fTe&Xplz{!maO)u4&^?`K|1R-n@ zH9Gi1iIM(WbQe(9VwSY(7#e~@7Ge0AxR2|v%iqHq>nbRYpfD~`4t6CG#Xm7tMZ96n zt8-IdTUrVTowO_Wq`VbgNJNkIKS0@TXdjBVx3$%Txop;lysGR*9R8(N(C^SX z9W$QIYi|JOv0Y>V1<3EBETSuH(n0%NJor7%QferssGn)~00oa(@?E2gz zvd4iFlDJ`zz{?RgvH`yBSt#w9W4OV!D4fI&ob-+O!+(c0X8f=n(UQ5gg(C}?dB$#M zt*rCmqq|e^Re+5ZnNkqtdSreW0gV2pUV1R24T0x~i?iCXH?(nB|G>vpB2`TJu$cTn zrVr8cx8$9`AdGUnB2sm~ZGb%zyIw-4t3;@dO$l?ZHK5qv{6d4M3d;g*z%scF%=fSY z2y#LSpTjcV2)Iin6@Pc>BzrrS>KiM@6#vOtp#iwsYhk$>}IxU{akH5{m_!)63}#pZ9Tu9;xe1qjSEg8BS- zk*!er=MKNIxDTd$i2)%6t&Qys37+9!e%{=bjgV6vuYf+F}^P@ETr`Gul~eO8ycE))P{*T?a9hSST%+!8b5 zTnj%Aa1YCbDl#JAeUUm8_DqDFsfxWBiIWW!W!)9^u$-X+^XdPbp}R9Lqq7{@V{Dw< z;C<bnvTM=AIZIYPQnP+tKB+whL}jA^nCquMZ;WQvudgl zdseHGWpkg9pX(hO(!pecOWkp@<0X|E@Ct8ubi^`7BCX~?-{jfQpZU-cJEP?d;7xvx z0z%_d$IZR&ub`Te7Z~pyO8?rN;E2wIR01Hc^X{DuEalwc**DkHDe1}1bVFgRnTn-r zumJ)ZhaL9g+Grv5Tn)vM=65m*VCRd0&&}X|75UL6dc`atMqb1k$`vMPBGnXeZYm$& ztr^FdTElH*O{(oVA)0W}o z6F;#HWQre7X23#ThSpVMi98XMIMy{{kHp_i+$)Tv^k)0b|csp|NMh+aC? z!XdpYR-Vj`mvbtlVW|CUSYZ{``Cqh@C{`iS`Hesabyob>d|f1_CeyP9fw%+qMa#*@ zq@@%8@1`jZ=K4RDX&%eygWxwZddh;#^s)7`jje%hDF6$L`hAAS+_VTCt+-v|Le>H1 zJbtW#J(|whi_UMv-C`9X$@K!%4L#ZivU=6(rfIYG3EoPJsS9FChln;56icsP;vqzm zyKq^A*$AAds7cNrl?7NJt5I7oWLcX{WG)j-!PyU|D~*eq4;}Wcj!KSAeUf?=@$p$* zBjE9Oa04>q)J9tFQ=LDVM|&|OXeUY$-SBeKLGp@kF5+{l1xLdOwni<{-JSer>2JT@ z9dTuDt17PY)|;L|)m|di z()7}cR5pQQQY3>|5;_+L((76%|C5}~zg9b}Vnyl30`lYiQQ=;}jL)sMYF%Z9aUVED zx*hc!DUTS&Ob8P#qjpG_>vh!C%iGESWu`p?8TT0+M*#i^lnk?!flTF7qS~- z?~2nw&=vT)AH$@PeW1wlRaXxc#YwWYyoFaNlZW!O3VW9(3p~10nT>F&6#{ppDRe=NqVCfT*4!y z)SIlacVy_|4mjcCH?}(+C^?3EOM65nsA9%C@J;iqGZ#8$kUi5=Wd zMz|5XyEvf8* zkjp!CcM+|*IhLoS{lk01U|*L@V_s_wb1`uES;aPS>mH6%5}EH=F71PFQZ+FcfEhl>^V(rodV^~JRjP>KjH>2uus_AUY#$8PBMm{X& zO$-~5*oFwXoAddUxxPR{Zi$=DeI9N*Z^|F}#8Z1b%&%kEl@vm7jlDHGx>IY=mYNwe zb#*6-P?rTs=7%gVm7a9^V&?~U(8K9Ais^JfAJ}-=G*VD)D`{T{%cd0qiw-J%k*;gT zl8)7o1FQtj|NIz%Qvcb>?!mBSWXWbnc1+*x3$#2?Z)D7nTebT1AC{F0opi;!tsZdT zleNX`d7vU}bxR(+54#c=x@VQ{e#e!^$@VH6UjZQ$kR|gb@J>!rM=Q?Mxe2&6_s_)$ zV>KGod4uW5PL%(|G|rJHZ(1#xjs&KO!X;p8cX|y16-~;PjP${!eohtO|2EliznTA# z4)ajTcx|L>mzx!%BnA$rf@Me|y8(BkyU3zb7!zqg4$f`KE?x`jn`n3Q*Y9$M)Jy#Y znbEV1!V2)LopgErghSz=G-{`wX_h1Nli;=f*Y2!^^7K%^hS-l5getbz%=$Tf zE-OnZhpNLlaJ8(>>3aC%qE!X4HmDXPW|@{XtT#$s-wBKne`bpKd;;tG6Ulju42ad3 z-R(+l)miy-M7ko$pR8cy{KL>-F*(3oYu(LO1#HdgB@iP!$COZSk!^r5qgsWc5+2rLIJ}xGjB6^ zS7-exrQE{lxd}caQY~vn1KRhPvphS^b-}0Y*2nL9F~7KFt5E0)VQce5;r+2rm{DBg z0FkU&MhkGUNv+Au2dD01R;Ag_jZ9_Gs5~AqDWI4Wz87xHA3w4g$35bpyas$KEg|Gi z%R?8MAC7v7{~kn4Qo%RC|2xhx8gpk<3v<9mR-KD@34{-R>qQ%fDgPg|QxB~7jVX9# z4VqC{be5{=U=>VA4ZfM4Q&qAIL#3FWJO=lN~rg8(EY^KbE0z^=^~ca z$ry>)qf#4?;5sk5qhW$$)v~xU`Y2oM&Fx$hYgMTnt|DdCXk_?gc4T;h+lXK`AMaw# zSW2}jRX)=jhWfo+Q=BeP71EbMJ6!9jyR_K+0@CFgzM^&Til^(Tr*OB)A+YIrdAJ_$ zdL|B>&ug+60az++iW2x3(>|Ca3(#HMRZ8~luQ*B%gIPA46~3m_rr9)*?yJYhyN$TR zKl_|G?sfwDt>kB%#m$;*qS>L-OVpz%z(=yK|1dO0hV7obn|EA254HDyom)~3E{>(; zG@FtQkR7?qHCY#i7g1*;e9tnsx3gVkruvDew?)oobWcN-(GI|q{V!%$w-I^oW1IKA7In&`pY*>tyFlgcxF`uk&yvgy`|-I?DeeIZ=Q~{kUo%GcY^bFSEXR( zhT9abqwFp5`ei?njBg&~b>=%-tChg@XYY9}J6V$|D>?$ki|2xr*r7PpjQ&E(@o3|< za)?gjJC2bO8;6TgtLhE^VX|wFIntf@-4Xu*>#P7I1`x#0^7S&&g;pI^g$oK3R=KOB zaer?6I_$P=Y3mzYKR$OGg~US!#USVFR*Q1;9ij%}>08mbcAPOHkm`h8<0*6QlAR6y zd1b7Q?oMZPv?87UCRt9eh?VUIcj7);0!e?AhB&k+q8gy?cEwbd$Kn*69R;0!WJC|@ z9zl_z5sxURc*-D7aBI1Do|JEqg67Bj+!_=M8qf zvuxZ8Wbp{G@LW?p+~hXEb>#8rY`dJ-#vCMLQ-6=0q$@p(0{J_fJifS=u#wUjHetZH#qbU}W4Qenqm9CmB((w@_m{R4f`Lhfw zVBM7P! z@6uf==Mz|eop2mW^@>x(ovJU-R_eFHI;#+BES&kK?AvB&@E=xYPkxg;zlv%9+dFq4 zIiJyO1P5^-d)8eym*1=t>dnGe?Y|2<>wWOS(p7Tw!&K$hwd!GvV?!}r>q{Jj+Twr( zrff<7W==}1jvV%N49YLMM*_UhZ4y^^M$z!-Y#xzQq|U6XZu(Q7@VZ24ivH5kI|w?q zE-wkr<|8M#G|n^&X_*9r!#cLw_Bwqa*Nc!sluHlm9Z}z=C8srFt)xv&Lp#l}2l;pH zS}jGp`LWVn&{(Y^DsAT&18Ak%xbuui(tHByH$H^M0{&KJh5=r6yu=Ic1_h~wTXg*o zsefIGT{*B|@rH_<4?$#;^A4utFcOr;NEbI6X%})$s#(tV<4~ZoC2Zeo&)>8JS4Cgn z6bXCNs<7gQ*S$nUBpeoSqdtSuh+^fL6cx*h$D545pbf0-0HU97m&7xcd=xH$*L*1i zob5!~%aSgB0TelZ&2dcx}KH-g#Nb;P`a#G~VQZwdJ;@y9OZc$9;2`=Tmo4VBsMtF{8@ zms1Kx>X5Bdeg`$yX~|cOFb0H69~hh8iX6JRJ2zKQpFF6Isw=%;QMQeaA{TZQ!hajt z_7haknot{E#8>Rqf*1KoifoJJcm(wB2mKKoKb$$_4%by>NBY?)GfgIcxrDv~8hJ9s zrg;PoMs&S^^I3K;OC9SUWP;!*lBfGgknPcwew2oa!3jHoVPYH*VLPO4B-+|saPAVv z*?-5^M>ffigp(oVT!-wKXTkST+NlD}pFhJ(eK^YLzmrgSAHKk)^i*&z_zXr`G~;Qt zwWHVsKr*N=bR;a<&2{f)q`0k=?U#a^us|l&ozoU8ore}=74VK|too9VMk@FJ`d#@K zhs+Z1by7ac~QsKRfu8p*j@VTez7~Wwc>q;aASi&`46&d`#HaV?;xy_}JEZ0y} zormn(_GP(y@pa3T_`(D95YxtjC8w65?||mfc0~58g7~YB2urY7&OXLqn{P44@C;RJ z>Jxf9J=lnYTGp5x*67kt)?Z}( z>sKv!`|EJvQQYdo>S{K6cAw#sqV$5eZ@OIr@pZG%+WuO8&%@hORDiLhAL1dAN>ArwB> zQxjxv0xu-#nD|4aAdEt$H`2s>Q z=3P(w9n&>Vk=Nc_>k8+#2MG!4y2aR$i%;SE)Zq6a%m0VkR?^WQ5_gB%M&uicgb4a+ zR5xa^<4Li9L;?7c8NFBFG6lV%bv`oEN-(r#u|`0YkQIfvaqt6{7fta`Q+Bk|(zq>(kt#12Yo_$639nE=o9fyjJ`6)-f{wv1V8l8{PahvYP5P7M}pG{_cvW z@3b>+DNOQPcY)-z>`cLSh-kn5!Fsnc)DrAiBc%jxYKp8N31Of6 z9s7I6KCie!{kQ!>X!(hG10NlOi?W;04YYix&ik> zq_I`loZwy|#c`Ni6%;I%%y8U9{n~fKCqTrskZKWZv1(W%mw5*K zeXN<)#KU6EPVu_6IUj)ZgrQ)E+W{gXF2E;XeWX2)A<6xZ{2$OXn@(dH3=UIVOKV=x ze532tZS{=(&{pxqxksGz*c|EeP`h`whSn2JCc1yNtHVZa@CLUyYl8xuRYjBDp$t5P z6CV*HIt8Kmhtk3(<6#*a#ga9?@s*7|4%rwbpog30nS&wZCg3*SKwj^t`ayyLiS(#y zfHxfLtxhv6MYGzHxyHI?*N8^OVu<-dw5+c!an{!0{1eRx$M=!wp{@QXFrgO*V<+)h z^;TEuAHwF|1l(?=>B~_ZD@(folvqx`V;N0I^_kx7YSnTX{lS{IKew%GFx{$`o$Y&( z$(YBhqMu{c3vx%jkom`c%&P6h47?!TAR9ILM_Y7HvDehs5jE+-&W?M~wR&ZGy+(rI z_*XMTvff0Gd25>3%`OHsD59Q zQ$t;b#gNl;YS3^CW;1htLD$uJA3uFraAPTfB+EAD0 z&!5oxm+z#<%bTio%Uhk!azr{P)owlaZ%Q zMgnE;8qx(Ms=}t`ZeRMfne5%(B3&w6nNJrhUVo@S$O=NT!ik1t^J53+VRa9K1PhY& z>O4$0utGI?wC7EKtd2$gHHchwbP;LUX}bx{tMKj{1v?u*Yx3P+#C zO5QP1bVAv4Y^ZBQ-|drpp3$nsf9}m^4c9ao@(vRrVY?x^kX}GF zJD@d^D5yDEk+p!QEOQo-{1weOQa&1?i(HG|5dA-rPRYK^u*qge_$0Fy0fSJaez3EM z7_6{viXTV8PraiV&&J0i{G#gB{>NxBA++6Pu?zY-U|=d_r{;{{=bOC;)b6Pc@wjt> zeQD=7;J!rGF6v?)QS&o5z4a4br`G1ig=Da=%G9kiS;Z~l*|px=F8e`13j>(M>qz{)oj5mu7(g#&;%)b|h2!HH;)a z`@4HI1&Bu2VKnR6HWKH+WzsA@68eK z9a|a4yX9|4wexCWN}F`k+|-+jiZY-Gun+-^x7B0Ks}sg?OS-)<{t~-|Pe8c`s?G+Wo8C^{DDN-z4xDcUc6Yl!5Er zEZ~K%9vMKM0$+(3hd*0^(rnm9KY3sNi+=W`9?Ub|nI~|&G9~i|)VibG!O-=Nr32+i z?|7=BAaZVtln+3a#ptpZbB)&TM6!i4Qcj(6UW&rAZ- zHkoL4!yBm4UKn$7*(YSTLy~4t1FP1z#_^n3t)bbm>i-bk%R#VEH_#1Bs4`my@uhIG z=v-P!==R0eC3osW4pqo{$CJi`vJ8$Wxa^{!;6N-Br9X>HY#bsUn?YU*9h?^38~}EO zGXvYhP0Lg09m`1HS1Z9u&AO{$f0Qj7+}-50aMA#Rm2FvgHEAoU^yvm=NP*s*)sz!q z75{-^V#Hks^Y7li8Njzl!p52>73t20pcFZ4gW&9OOs)Q2j5D^}$PSP#de~e7- z4Nw0Lsf;(*DsW(#BIxSX?`id{Y~FFA){I0Aj&iWfzZ1Iaf>|p_|5hpFvy1=z#<{kz zdPx93k^)KOTLUH#LGS^0+t6$q9MvrW<7ba;&F~7(TIWH|L|3JzRGsUV;Yvb#-TI+`Y0m`y6gLuB zNBUtLx&(JBRojAqcuOLa!sO0pKjH2KlFktb18=5kQv8QDPF>T#ggwmjRKaaAUtQfT zq)~ylUJP8MA;n7j(3Sc-nl2oZgO9v17ZUStkmCp&mFX?k=G|6O2C?UI@ArBxs)dsa zxVr}f?4SKU+~>i%_x_6h{Q;L}@oK+fs|UZq^%U+|jB(K!)UOx+hjTA^-9|=HfXPKR zW`^cFQxo++l#q)8mhF7Q`~LQF9??C{wrB9@s-bHk)H1j*D5%2VmCk2%J4t0{2{Fdm z9RCoCJMOS4y2eX*L+_|Yg%Zj?D`u!>gjW!d(Y6bGUFl#z6!R5v)>PJ)^`{JR*40*+ z#;OOJiG)zv45amzDtO{*YxFX$-kzb^z3k97?c46bWu zas7I49gmwsn}RzYOpU)Az}H&Ff%NfwPoqg1?@BK|2Isob`8@1_o1}d=%hllZxs{?} zec1mH#tv9P;pNF6En9?kKvG{|1>k-16+sy+jkosSko0bgA!0#L5r@MDJy8E+L(WuIeY4e!iVX z>Et_6b-2OI)q5JU#Wp##d?4#^YZC#2Zq1S-K`j?p_3RqCyrNr5Lq0Mh40uI z;C@g^eWL4b7TH;poJ>W(GbeN|ws=#s1XK4xs_{o4CMCFvecbbS?5${}EdK$c@>rg6 zf;@v$cC8=6?Lr!ngl(N-*haK=v}4{?f_rVUsmnt4-H1mSphWmh^(L@LA5%tmlZl#+E%@PQh`ckG$;9+#* zA9UqF%KHafFLr%I`t7>-=T%UK0V-_A;DSo{aoif#Y z+|eekaIjn=fQVQnsq;XZ_ni>W$&f`o&r!yupO|_McWx!C-mUft&5Qn0bK%o1vSyGs zwvbUoZtSe5ux&hj0Wmuxe*$gvhjswXaLIP6{us zq-phsR*NI2AXr$~w5sL#jwbf64wfYkXvwem=+chaa%5uFCj;EbGcNOtu;>-YhTN^*F$e7i#<%)jkDHI>k4f}M@+HvYG?S&+l zFw=<5E2H{P1R;1fpH)KCKzD|@mIK~cdpgx!u)h2~w3%L;}y>u{Rnq0=K5 z3cbY-;S*EOrs`;!6zV-zh~_*CJ_4}8Zn=JPNu z9eGd%KNb)tmT9ydFYsp~KMWjfx%WjExe<3O-wvn&o+|)|#PAHq{tsMb@(70_ocZp` znD%!*44-F7XO$bJ(V7!JV6oQ=vqPSCteYqC1#@60d;DT~_h8C+S1pA*A?#G{D?Fj+ zs>7-NX(`-Nn?*LDi=M*wfzuz)IX!CN(@6YiMRg4ps+)|kmDS#(H~a+HJ3FUZQsv0d z4WuaB%UNG_2fW&iDeqlE5CttxXB zG0j@4*lat+6bE<6e^+U8jJaYU{U)dzNa)_V<7 z;HIprx8#EG_8NP9A{puo<^!yI9*Wy0>f^B3TehblnxZ}2 zY2;D=U9RSA=WkuPC~MheVOf6wr9a_yEJ{wPgRQiz04Yw%C#Vh9RzkFC*w`c@(w4!Q z(J9Io2cNCQffbO|`lczNs^4Z!zr?yQM9z?!Pv5-SRg2 zqA+0|`W5T3|KqM@j!_b06st&;)5AUigx11Q-F$*!Q+TIFR~j!Z_ku9mx8}}0^U`fv z1R@&y4yaR`bMh%loTn3QImQ*zUILsDsz;Fe+s+xK*rg2 z7)o%)nP3PZRN4Wv-?NYPBREj39jKzao{}q@u$Hf4AkFN}ZvD6(kyw_WbUIwpQ%}nmT#>#-i%|=g8HF_3F*O*TJNZ*}7 z52ucB#^6N76DYdTZ&;cI?N}r6F|V|n6<{r!X1HaTW2NnUx>VKrwJ4>IH4J&j)KPmm z2X<-jCsz06eDnbXYA3srk)^$6UuvbM%%y3Ib@s{LSqDyhC&wbNzvAiV35F#r_$uBn zf&C*y^!Zo0UZ0#dmlk|PfF6w1amzTx-dUz}SRH8g;qmJ0-|>v0d~Vs>QZ-YLh4;9? zb|8^=_c1pruvm@TnXgUr`f?tc%d`uoKf4MuX!|-)g8cN%{&(=V{;{vC_r261KJkq) zy^}33w;a(qeeuoV#)n7BQE?XC0#Y=KeTX6jCkY(HrE=)0LGNF4)eF-z`?z`vcf#f6 znDjN*Vbc?)xCQ?xvV9MaV2y85*@hQP#pi^xPI8-D{a&1~^!f6LrmKb9?P;gnDL<2n zmgs_1$;}S=BgQp$xM`DSCF2KN=sJ(ft}R_&mxvHW{dXv%+=XLl&HtR{23DHeB;8eD zM1KZ3zYXE&7ISyj*`Pf$p+%47$?SK70zi8;Niv5oK60RCy=hYr}oek|L!U5ZHn&rg=X6ck!^$lNnXQPFe zMt5>moK*@Gpa&|FL?X}E(u1Ztd5({M$B3t&YbRS;rF5t`H`tV(7b5c*`x{rZH=yXe zVeAuA30b-phhfR}-FCNW2{^pMnZ;!xeM10OMmoeXSq0pW3yBKgmHTB@ls@6nlWR>M z>yXL#fv2qM!mm)eQCKdHKDiEYPs1B%7EFBd$0Hh;?iU}0c5e|DHF>;1=^kRw<5^p+ zO+K;o@7-CJw`)-d}Hl+u3>nNZXx14G1kuQEho<8q{$&8{^-`q4mO0hD78t(QcYC+3fRW2DzoJ&nWXd+S)pbw>OU_W|voivE?&sR2hgfc#Q zayHcE)$q59J4%{PC@);H0j2ys6y{;&xa(Lfwz(TWiW+sBnS6lpJ)HTa`NYJfuT(yp z`POl|^+J+==F;hx>VsX`i7YyMMw@VRe}NQ++s4rScB@vbohf?p_{&&A+MO zL^^Lrun~uV`QBlS^G)`KB(MN3;dTj98GI(Ns%KhPZ^Y+p7D*Ys$0Uq;URRotlQNF4 zyiyNj02rGvF@J3NFtxXE`P^S5Gyj5}F*|j@C|ViM;dWhvs!C%Z%K{_OZb6&Lm>~L4 z_3s}>%kK8KS^gg5x_6AT1ZdpL;PVWXHK}##f04HFXAvS8dWkMNA-LQ2nEG@?~(1(@PL1G44*1cD$cMc#T$hyGPO178Gy}OW2Sxr#i+vjrvLd zd8lUL{doRnrX_Tu;H20fa6Ql8If$!xLf`BW0q=CObe%#B5Q{{|g|+DBp``(laK}yu z`ek75n-@^r{x?*cbGtF}LY7Cgz7$=UpT;$sFN6Wk5!UR*I?E`sAMaqwI7N+RhF)6S z_G=#CJ=OA_cKEG34l)>rXkZ6%<)DiWb+cDOJ=V@bc;?8-72S{Ps|wje>&d{Wmte&< z2!{h>x2}x|#<8mmx4T89GXwLD<-TAK3oDyR>V*a-9MX3{t|^eP@Fi@sl0kXG3AF|Ru5{l-4Cfd0A80}j$1`7N2}W_CMhfd zR%{j-iE^Y0>d7r2q+EiYzg9h;VEP5;+)K1T1W@C&`SoxRLpW4QpD*=T|9L@ZZ&wxc zvGpWgQWCQh|M)+&SkeIFIPnq=+}tIOnFPv4DwJVov~CKEB=7)8PcT1!{yzBeL)613 zGHz>U?|y34`zLTBsoAIAe8j=fW+Y7Q{aO`XxC+N$MIJVnfhTpC$C3|L=?S*pG(?NE25VcEAf*fQ@ z4~Y_ZS!z4ccYtBMJ03t}l!LVtqF;W|mYrK24&Ux) zwM#&~$t>qD{2-c_MP$P)iJw_W{tl;lHoS=?@vUkv&d^%Q5cos|fkM9HiQ^TL!f{EL zg4#DbR@E(2vfGV8hfW|f(+L0pqAyE@f*iI;5K~jw9lSoBPaxw>`NTWA!}^k8X4AQS zB2c-^$irJ1gA?hcikz zXImmK8>>or7B>-;nVOw%c%o7y{@tX>d~U8NtV%?Ui0Rd3)}c&1}X*S%d0igVYuH0+;O^#n#*C<7BXAEonv=Ni z_y~Lub^{96a?|`>uI+6%%kcQ%P!;E^h!@%)YM+JKfjxiUM|?u;0EXg4sNHS$u-BxC zOnx1ryZFbGJ$AlVVwb5Tp2Fw6QJkCX=whhYanHf3%pdMLJ*sba;G?&*>f^{av7D1W>b~Mm^+RORJpz8XvGxG_TXVuC%UnM}s26N1R&ZDk#l5mWKLo5-+8C}#4!JmA_H+D)3rj0w7IhWxzf7DsD>Oja2{@_F-Ya(vGA<$9h05-jj&%Z zjd2O|T-Q5xCTJ2=HP)vlBK$=qp4Hu)69lbqWlC!Ccx(o)57Yfy#7bXbb@F9#@+F8> z8SMFnK5wRk(ZL?87x3(wgh@zy={rQR{HDPS+lt;%N?&`l7SrG}*sE#-6mihz5$O2# zX4{`+e3TfPtBUtkgv(GbH_}>zM4wju(2eCP1uQ>~mE%vq7cR%$2AMsH$$#X_j(5_M|+dAgM{*lwlXzA7* z8}ptbW+#7$DB_8z_*JaLp8MQP)ZIT^;P#*B`U!7*OSWi52@P~C>Rtj+DeP&~1=|$I zUI1&WXSwI{bZB+p79yf%aK6Io`?=z6cYxk_3Ei@6hThQua8j+`F6J*LI^3Q|+9;uD zmUJ9vD)(|0(1H(#O`;jVq!XBL&_a1qk+8N3kaSm+bTa!b|FH?no9R8+TTUnOC} zT2TCzKaq_0W%(N`&dp{xFsrgQWnEb5Y&s`%mle6?wgSZ~0~vWiJV0G>UNN++$NB^B zh{n9DwSv?X6Yh;Da}0aVy&&FNx{YaRp-^5u;unoV6c)=$Z>J)!WP!QwXII30^n9+a zBvC%Wji=@L`#DuZuR-;qQW99?Z%RkhwdoK~OIER}{Kv^g!EhWa$cNT%Z zn|`n5oLy-5v8I?noDS7KLOk$3#N4KEF-iIRj^-MVrOi;l!l<_T)j+0~6&}Od{V%{U ztif8!Skmk-v1>fHl^~we8JVJ<8bHB9Yoc+xi6A)u<@h7}bUV z{R;(DyaO4Fuhf*QP>~b?4oWY(a35T*24aM8vUP*Y50t_NEA7p@1=$k}g>M}c+c7w} z9y^RMG<%+74Jtn2^?s!hF5Lreaov4oH_HUG$W=q{yQI<`r=$aSwId)~-$GKtS z#J^+e2H*wSC7KJ{5ijm0BB0rL`J``P2>HtvW+l1B_DbWy5wR`DSE|#6*LX)Uf?#Sw zr6Xn#;c|}oJjUq^b?%fS(ox#PA=P>)QT}|q&Kxn8My+3xo1aL=J8G*-7JnP}yn;s9 z3@v=RO%7dK3U5p?4OhIdRRlP^p;Tm-OW;pBVu&?pS0eG9Ct5F$CHTRg`h+;rQe#}Q zu$Gm2Tgn$D7&D$emTg0F9F?HH8Q&;O;ji(pH(_En*J``^iK*WwPP^o~SKV*cOv^>Q zCvW$J64s?tD0MuE`r;1kEllTR?PG@=Qr)~`-a&PRio!MxoU`Q);S_T>sNZ2krqnuw zOB9NegM*d^2{ae=z^+Wg))@z0^dIM{PnjTHV(7Vae?psJ&2qBoF)m7;*C$eVS6oli zBZlvo5(ziHAd{xNv^zzi5pEWcxo@hNGhC8u15GjBUV--d6COczp6vO23C6^FfDwt3Dq zFJEN|&k^j%tVrL%#PPtg^M#q5Evx__6j7c1a~Hi$D$z%Tq9~&!;le5>`YAj?q;V~=H{Iu>1$=2m@#V{tV;ngRce)&7R4^W#h zD{nir-N&tU_R)Btsd|l%+u#Mur5#jD$zs+^LMH&dt$@15H*qH zC0A)iI&Q)x;ME>;%4-P?0Ql-nB@j4q_t;f5$|Wk?Id13Y_Kw~Pi1EXcXo)uZ`u@33TR{Agn*f>?WR zE>p9G9ZN}{e5;6YQ}+@9I-d(Jy?}R6b-cdpyoGvf%l6>7Z5iG~r-2HNp6T3fNaCJF z0-Py~>$EVzT1H*dKOyxL1@AJ_d6gbFn+UB?M$*Mij%!6Yw+42c}{q=dg zLW$?dMh?ve^1o{+c^7$iVdKG;XL!hNzWet!2nqlNbyRXnBL8{<5&b|qVq<7+A$tV} z5X|8ip43l_T@IquHal@OH@RXEMqbMJeSDI(VQG^el=*nUCQk&vJd0yAKR5H?JbnzE zT0A`~F!HBVJ@hbfz7Y#nPAU`iV=37ykEgcS(cKR)1B$0bMsTi*pg})jjU(Bo{&8hkaVPbhKUPe+spcWQN0mcn<1A3KPr6K>{e zha|4o!aJDJcsmI*x&iC6`Die-w&W&vDn}FhiRlpJC~o@gq$VYgd4iSdR zc!72*Np1d)aDWJ$f{A|DrR&vzt3XPs0P6T;)rLr}9HVkQNZ=*)Zf}wUt4hg;NG&MM zJEqPDD^CLx+L03ZH2d`IM_nq#6J1eQ>%SY@IAQlC7$_SHlo!8YB!O3@pRFCRw%8^2 z3lz)TpPx&xrtMc4#`|~enJ{p5~tPSz^i6OX-(&KtOt@fc~#a7?`Xzw?(sDy zkbAMM3I2&?F|M&UT2?0%xvG_14LeNzd)hf4l}$l0Gzc&L9n44ojem)(J{DJN$#+v3 zS*7!g@udADmJfDCY#zq;-@w*a%^e=A72*oDhJt5Bjul7?@zI3J?w?vCEySJ_oQN6l zic`b~m7bc_amIHL15hSMQi^cTjS=F??%s7B18bEo75;jMGuHD@%i>`Z!?Z(zo3zf8 zqFW`%iNE17ogs^~zMEh@n=+!SX^bzRu)fuC*(;{eXhOoY&l^~lAol1^Hm`yh!ftt! z7@%bpr@~Y45vB&S-D4K+4n|X)6wxu83eQVLpZ^&h%8O_h}t;Cl_^Bm*S9NNAKlV9G<+-I>lDV6#`&1HNaVT3 z74W}07*nKemQr@uhDFxnyKNT|5vs&HzN=j}_56=jW^y~(1(jr47>^xo#U@8Rg2_uN zp29>N$pXd7GQ>+i#n}J{r9L#MXRFG=jIDwA33%uctQG1Zdn!NKt%x`g1mrE1pKOD} zqZN7eBJdXgjF56~uIlMEIbYjc9u~H>>NDt#pbXi(9uHz{kia0VlBYsx5zd5_<0w7; zl#gn`JUti)J*3*T@k#E=y@c|EFAG+?6oHnA)0{twLD~0py-LS&k^b`E>T%5D(`G96 zuag>c{56RtJMgm~;#8v4ci-pu5PYaY%e3W6=Sde@({3jCE-Du#4L5L@%-H7> z;y6j3#TiwJLzIK9F3CTC4s?@AxT^$b{l&N3$=j(4bH7S!IMMQW4lI#`071v&A!xH+*{Tm8H!Xd^n-fE0l@Ki9iEq z<5lIy9W7+7>D|egh&L1Q$*+9J(#xiLHU&bbW2)iTlN`8}hFlGKH+UNx*6x!Oj-&6i zd1zmU>&#i*FgJ=0HA0zSDWJ4Li`@~qbUea-#wnV*$wa+cLC(lxt;R8mD57-T&bZE@ z8r67fGSH7ZL;;*hsC+nn#=BM!j18b|thq<6)+w7xhB%zU5S8Ay={Bz;7U5(x@^f-st=FMp|~* zQ=Z(hzZ7FUlrWwUBNbS5Dvan;xl>h=88Zo}!@JaV#oFEF?p@1;#AhnARY1{Fq>?_d z)Es zi|)*G#kC=SM|h7H=ULpvFr}0a&G~mj$g(5ZbZ}ED*DgF<90)8M1CqJt?)Bf;4GVhs zza#4|9QA7RaatxV%NgFOnui^Aq@V;H;I?P>F$w|1%Y{=lgeV-2t)oTL`LIsk8|7ebXBxF)C#Yo+r<80=zzUSoB+;F*N2M>y0R{1eVNVxK8FD*2YUmNi9k zlG{41%#63>;K~vDcqm&gWi1y}p3-l;I(vgU@@2z^)5_^yg*l0Jk4tKk8x|Xddrlx& z#MdisH_=~&x>7K;ThM9P3Aj#;y~ z#H1l`zx?9!wP<=F=e$g4DQgE1TwXSd9yR8>s=ODQ0Fy{=f?gDzLS)X%5{xXAW!Fy+ z2M;F19!#_PLl(De9wiaInk)iY_L3exs|^-zM{C!V`GXyO;^;Vt%Z%6PepFR0B4~A~ z0oyyio+U%8!kr&6TQAGoLGf+uHRG{u#G77%kQp3yA(DiUd{u_gg>6*N6TKiL~H6L7oQ8xOyE&qPBx^ zlr6(MJxT?aoxzpG;lW=YYSn4pWe=OoVp}UPX(j#CuU)6h=yX?nSfptt4J6y2Ga4 z&{XfQ-yKwosCQ7eSKS4PAXy(4*Eb?CA zsH1i&giN1uM-d*ne9<6Vcvox80`ZCrN#}RuPgIy!cEYKR<3tnC-vOt~Kf2u(&Uj^> zfe{DTR7{iGTh-}dQC%GGU zp9)WCOa~RPa<%wP!3z0yF;;+8dZ>D#oo{Ao!g8-TzWjb~qb$1H=!CU$7KIk5#aTIU z5&V^k9{@)IP_YT3&cwKgR(wujq7H-J@Pw3KvTrVOiu_F2|LGV`h zy(u!J=u%v3>Rw&Xu}@Aaf;j6pdWSMDT8Nk+N@d&~LQ_*%y-cFHNz3~-BJL=yQlspcC;4`b0Bcm?v-=pG(=~f7D}m)Nh40vlCrSS)pye^zKc9ei;+xb6#Ma zZirEFnsM@-IQTLDHoG9g;hs{RiwT%G@2WqDeMn)O++bZTuoIAT;YYM`TP(48(?N~R z$>8UI<|l$0b#C-(8*Y&5QjsWku4iQXlf)I{M)>&JFeu3mv>j>@d4zVaHf{(l@`G1n z{fTQlEE0JLs$CxtNVi9~G_G9ZHLm*H`3`EW$Rz6+(bzvL$Lawyj&MIkxIK_j?ZU`} zNFqz_fT+$Uh{CCt9hL)nqihT_6^VT%ON;QN9$YLCu9{;K&VGf{kGaz^v#Y_V$1buQ zR>$q!lZp&;nx0zTPa-v=(n+BB;eX##R^s2Ebv#GdF}N@Uu96nO=o8>Qo>$A_&!H)w zQ|@h%F6gmm74094k1th1b8zP-ne0{^YiwQ7G5wF#L1vWMYrE+6x9`z6ntxgPezcR9 zm|5Q35NTsbJC0ZObbl^`y@?SZKfdY0y#pFA(TnfAVRssk_YoU+*Xh;{E8Rev=U?X- zUip+NP9006o8tRF)^fy>&+)=YDns}}tyd|kJigcLSdgGJgV^w#>g%IeD9aCPgi?T*LQ%?fL3 zt(s=h=)pm;b)l!(=hy70Dy; zN%weC;+hZtCT0~)PpO3}!z(#{R+qU_@SJD9|NhZur@K)+SDno!P5-0|`)JqQZV2&>={@f?w z`MntQsP6FwNz(8Oud?WiO{4KrVUgPn z22pdHkf1(Ql>Y^vRFTZ63Zq}NvC+Wo2xPrD(q*SyLNFIpD;j=B5)r<4TwPYmUl5S1u*lv4j68OE1%$<*_QARFJYj4KwRWumIMx22?emZl|W z*v|CYQu;Vu^#*Y+S@qqd89 zk|-vJUv)bd-!YAiUv3%u+_`XmrkDPMdu*;*HZ`R>@%{NwVhu^GWKg_P z`vt7@oWIg1nDOCTqGrfx7s|pb2OmV;GUQ_9dB{AL7de~?{Xox~tCHkJdansQ3g!JB zNg0t;1oBTs)P}RMhh`MG$0{EMV=0)f^JAkq+Wc4f35Wxut$w52v` zTR@*bX2N!1snZ;<^xP~%9ltLo$UG{vdV~>8(W_nyufU#;>Z}kflQWh@V~|W2)ulM1 zpf_15?R1};(Vz7~b=wA33>F20m7VqdtY1|lN_@IKAvw#E3HB;Z15y$qc_kfxKQ^)NF63ZVnGbvNF64f@237b6`rX0qdIEsS<|9-JUwd` zk~kk+l1vaVny4x{7+v967m{ert?hI!F6Xd5c}_U(+Hi04rJHb|KjDmce6VdFM^zz5 z+IIffzUuQii^#KHkAq{LO|X})ZU0&d4iI+#Y-4R!x90-neB$fsVzsd>fv7LI1(m`f zvW7IAcAnI+-6@VT%e4beE57S}vkj64^3N?DlZ?LKLG=UfOiS0uQr1RvJkzSvNWqGm zvZ!B}fD66-N3uAeIaz3v#!n$_XgK!e)Xqe$kSwY26T^g&fCCoG&`2kD0dUW=s;?BA z6xr%6bIIE+Y2VI$=n3Z|5!A#xo&gN5H+2V!_#y&4n{l1ETi59sVUH-8 zpJL@X=EYFl17;rjcRW3d*CyBPu9oXKv$Z>~Wy|2Ks|OVj zer1)zcr`e$Jq?U;{RY=RK&M(Z`83fxqu$mfjZ^2|F1R#sZ34DE(OtS=j zAHO)39?uwOSI^$)p=`2;;8&{poRh`TF&7Jxz>T*PokNo%_6nR=7hVpuC|dmz&GC?O zZ=tHE@N}$-Cjb|XTE1g234m_?12AkGzz=u7v8yTWQ#5}U2V@Ey?;XfE*W_-{?Yg_d z939y?`OqNwtm-A6Ma*-uGiK#oqltED4PPAF_EY7w1=BA!XIJLS_tzVy#2&=CxuYd! z2{-a_d6XE}!)2XKOEkJqmWa>*u3cQLK3;-@0$orW{@6<=AaczW@f@Ny zp~n$DZ&$FCC0Cp3ZnU)I&XeI+Pv=o}etdmAbw5YT*o+*iaFrsvjViEE_a0I*znhk? zi@SRNx4x6i@IT3%?j6SngQA-yiwwqnPZRZnb#!od5bHP+suU^HGER4E>4{ylsvNt{ z!GAuJF_LT?_vo)-RXlEJ8Izzekz~wT<^N$W&x%CVqF7rM^mk__{sRK=U{>6ZUiDS- z3o7-FE{>DU&twj)P9gkC_Ni>8er5H!u>T;I#p%YH?sGE%aOiegHXMI;a?2*_@rkH6 zmyc&`Kcs6UWEqVwM*s)*|Fh^2+F9`F^|nAqV^Ar*)ZM4THj&^D0I>cutTaA2vNl3; z;#C`XD3@B-JU;AQM0a$>ZqfHhzDS)nN`JVjt_q1J8lfz!(WKOkvg3&W54`-%<6M;Nv_>OZNL18?PepSpo`)F!MKULA!XU zW>#y)j@O_5D!o~c@7vbs``e!yqb;z~10#dqc^kF{AN7d7L1Y^EESQmlZp0so0q&y3 zvu++0Fnw^jf6j3|j9w!>ZfAMwS~S1}SzgFz+&HcADn$fHGlVj=D!MpMe2J5hKm+wd zyP!q!^eBAT9YKd}H3=id6Bmfw6GuZ_^Ysq97oQ8FJ2QnHP=KjLaUKtbjX;Ce3E%?^ zmbWKH^b=bLZ$4*B+*xHdn3Yr=eo~U)jG!EN_|igIC=r7SRTGSUd8})wvL==#?>nM8 z&a@})+vh*)o`cnKyfpe5b%-~EMa?ipZej)|VbfRx3#^(dRDqBPe@HL2plT0_v`twi zMl1mqx!n!x8i*hulB8{l&T}oWTy#|7^c8-M2ybOKc6*oo9?3I~w3pl9t_58gEQ1^y zw$*3zOT{xelX*?osaW;nXOVMiU*zsAt7Ot>3hSovvYvjlttVAp0$iY*b%C8z2iHX2 z*Ms5Nb$5*K(XYtet!?)wmVShsGg)Dts0O?nZ!q2i5EU2gYOu2B+(hHYB;Fti-5m8*(@^c@i`+2tny% zjvcEH2o}7=OT%AdcMoQ~EQf8g&5}J!K>OF)>GfAfG_6jd)bQ*O-CAo%OrnlcWC%`_ z(&tBy-SzQPX0e5ndOX9n&vN#o>uu;B8Ohjt^3@Y}uwTr5hvayY8;QJ)kn3WwR&?bC zW{Aig)07A%eitoUw$tFSm0#;@HEN8a># zBIM3B#IJbqskZYcm~p^!*TK|v5ze2-8bLFr@NN3e)b4BODy6$D*_6l!gg2s=mLGcg3 zT^K0pmI%nQGYn}7HZqH^=Axn%FSJ4g>{=bGDg1y>F#T9NHj#=Pt1msp>B= z*=YQ?9e#^@y*#(fKtwfG68vlR*?7e?iU63Bkm;hj*W0&&6sb(=BUhIeC@JB#Cm1G| zebHoE>3-`%Y-R+!lr{bdsTa9{@wW5DWJPDEoi=Yhw+JYE_PL1GoyvyeoY{ZB&};T& z@*z0?Liw&5a<6cnj<9{4FlqlAS0A-6BEoV{`V8|tYBFoUhSdz}$C!$!48k9S1o0Vj zhu3R^b-3YNQi#(#v|cj#i@$lw+5-CaCKUCXVh;9N;J7U7tx^dQZmsONEq&jcWM9Q6 z;`-^<+M?=>fDIREC5&_w}po1f|s&^;KIIw#m(R(b7vxtVNC@JH*e#ixYLi;?1`F0D5Uu+i-W;EMS zCcgq}xB}QOyhh&%BHdzzAw4|Nv6=QUO1*0dfiyG|cA*u!emgUIFkMCPaqgsd{u`$T z(i5KNrA%F(0=j$S=KTdA$!d)R?!*4`OAmB#J>T}ypWCr#zqu_QSGTTu?pASQY$4Jh zTwIC_cg3%5jfyGzQ16ZqAH?CuQa93ty%;Im2JIb3N4z|D%i5SYta&7ShwUhXb`m`~ zpEWC5f#h*KLZG)w#D!c$o1|%tuV3yJ(bG-ZA83-GcQ!8(zpiz*ot(li8paF+1mxjs zk(FR87@n0L^R1G`?@0PNzI_pi%IXqh2xu7FU9cG95&dsL^2HMwC{_Q-Kt~llc+s&R zvpOkkIuu^~iKnNYyX9&QfDnrqyIT6IvpuZdY5^>g_YqJrEo$9SGu*E2CcY5My3S3z z@y+*G-MY3b7-rdoy!}QZ(Aj1?l7uWw=@!V=}?S4hqbF#WgBh z7?Rl=HR*QRx>g0;5Hht~KBq(}vi6hxEGAAYyQd{9zpLCn4U@SvCf@Pf<2iNHg|L=H zfh1BDznOeT85ZH#^{=crnqNhxh0`;6A!j3^M+N<56}o>16vq*71-Db(H?>MOQTAd& z@0ns#7NJXmaoiE+Br9F2b>Og&*Xreu9~?^4GI z?wYR^^g&f-KDzF6@K;>?yzFY2&$Y>|f$J16j!#Iv@^+pi-bD-S3Tk@sBh&2%c2rRC zu`P9qjtaNM25-r(h;^-T_O4Oxy0 z=S3fLAw~t0!0iq{t+YL$4gh-Gv+`jzDfWWl@wc}aKcGvZQ0`qka~_V2V~mth?4x+K zan4B2yu=|sk@S-to4!cifxmxLq4wb8^xmaQ=1o%php?8$*12c5@oEw>QX!T;;!lH`Egyz-E*a?i zG_m%uu5q$+KiM03)VGr=5lA7Vjuh~kw)4sfKSl4I^BoQiGC522{y7mKqH)JXA8@08 zAaAij%GAW%ckgR{?Tble6u4S$6ya3gy)OYTU%jhT!8@KYw~36oBfH74Hd}$U*d}#r zwe&JR^QuOHQ5oJ*TuiWw1Fip{xGjvRX1>E2Pp74C=Fr#1EPL4gJevVDG(0p!#zUx{ zzk%k~Dw+)la@d!ylQ*O>*-y!df^%}QU;RY{Y!UVloiXX~Eyc9@YFV)eh+Cs{J9d*a zdqb$)1@NqXgPW?tf4gcc3ctBm5^GU4&XW$`Q$3(wcWCjEz@Y(e&eA4r5wyYP* zlTwJV;R>7DR6>p;%6jG#S5FBrCJ|9ruDJaiV4@576JhM=8n;<9%X@GG*0jWOo)ZiA z)xKj{aQue^hsQH!afxyqM2L!$_~1mp^az%sNFRSY6IwmvbM~LIHe_roi^x0T)wGdO zW=Q@h?d0`V#fg-_9PMJ-w(*dPF^1@x{g2!Dk`ICkhn)}}(l#zbBF9pxEIu69ajR+D zAA~K-XOr+)-vK@y;{7<45^|V09$2G*yOK!ou}eI(9Kf1gW-i4~-nn@YTR)%xeefn1 zs&?O|YJ@b7mCsLD8x;|P4t}MID+cqE=Mdq+zTMemUr+yxXA;QlRyTXXM4uP$A3B{q zs+komty3yiotHS~_I!lIkF}^WY+)?O3kQu*Kn2+3T87hjP1uU6UV~l32xKD_n<=?@~!|k~oVg?#U>Xb{GYY&|5 zv&akr40J}L3V`r!;Ub}OWiT#0MZ#gF8NWXF?ue!zo7~cN+R-b4febC8*4^wFRQ#Ha z__>jT0Y;BQ(*}VuTZY!lT&XtZG zOxZDhM7aSw5EbXqP>{C_<9(5>k*f#cI)S%m-CS=Yb(7LEZk8ruKx?PAZ2JT&Y%uU! zEJqrsLt&xsfX3D>w_I(#{PR*LK{{hA-u`?F3S?!>``zR$Y!qb{BOvybntP#pn69ED zJV0Upp~2H5>}1L(k2kM^Ww1S7^2H$Eb;AcIPgE(2i*}38sFUA!gm}eMFQ(twnwZA; z)X9`iIox!Cd{8ZoYNSEjBvlH^Es8-un~=a<>D>4OX#swFW3hI2uZTuR2cwczsMb9Q z*;}H%7d|E8ZCsR|01!v{M@ah}S&)bi-g`0)%h6}w*UvoQ5%tavW~FmT&PQ5;le@^O zN}*R$uB}XUy8*2_K~a$(0Z>HG;+7IEBTVihB6{%YRXk2v(-Oq zC5{EHYNrmq^V-HguIpIq06MsX_KCywMv?)ri{)DRA%)lD>t=C}^DOVC6DLK$=30e$v}t1k!X*p=PTz}X4+lFcfrD0;`ICt+d3e? z3&dzdz69Ux>7AGn4=x)B7Di$eEUAW6!KC+-1;4VoA@BPB1M}wdlw~%vgRMDBAPSfF z8S616hCj@kMQ|;NL>iwLbJH{$H?ObX@tJ&wD4p^4wCm;71{3T_WoL$JT!H5aFO-uc-?A zppTen59%Igii{2`_1gBA4xiHPyMQ-yyL@BqebraXxdkg%Ft;D-NLft*C z(W=0-bjH{%5U`qq^@39^85F7{ zk@a-9a$#KyI>;Gv6m67I49(mje#DHb1jSNNA5x$4cQ|Qe%xBaf_J)*Dmfbl(MxlRn zb7=L>q8&#DbS~EYf4Pj49bj2@UQ7ybQeWj4=oELZkz0AQ-B3nyDgg+IO{)weGEzYh?dEM^eVymB}{jeW_8_oLUP6n_Wvl8N%`VFw} zdDOv&_F&E%-?5C@rBf@>zPk{HT75ji1~rSM$m4v*`_WP1m9PlX3Ebl*h&uJX+F)3Q z*huCBkJ!Sjm}6gCeRAd9O%hqc<5rvd>vqAqu)0k;>@{>a z-$9KR*HD9&yEeoC>OgCz>W;dX$Z-bF-A1kToE_+#RzCkk(=S`-l~zh0(xBGJMH%_sl280(6%Br^~9TW0W;dFGy?;X0!y(uEc^w>mcWx#k8P# zEb3kM=1~i2>o~|WY4g~*V8+(*7`yk7#C0<^wLf+W^2|;+HqUEkL|t;K^7@}0R(s}ap7IWBETf;ROBM?d#mCK} z#S*bry0%^g%Vb?$V(__5A`w&Eoh)7AFRY2wJEF0Tety>9!0ctBZp9Rf=ta(SNyfd#Wo`=$Gsu#O!xZQ*4t*$bH>37;g&aMd6-m8DK zyonZ;eql`JC;!}!wxh~LQ$7Rep7jQ0kfKjc?0tSD#X>RCi!|p|f>bC;#yEfO+-BE) z?YwAKIed2&5bvt5PZSkY+p$oWZ;A2(%PFbs!M|c#(!N7$LpXHbypP-=7>ov)R&4Y$ zI_-7VP!>PLIInQCl_a!%4maKNTrGh^2PprwLhmuPF&ySz9B#%_VtEP<7J|#-!=t^Z z-%el`ai3WnHDkrhTA;a^^;=cEp>OZw4|SXoROvyHugj%K5i+qwuyPQ4?`^j3YA*{C zOV4-ZHJf>$I*KJKYHZ`Pd&kjm`4-3TRVDh?f?|&@DksqW8%(*T@a(##3se=IEi}py z9M&(HD}SP?J(?z(X7^^_Nz|d znfiU7=-Ma{j$f}qcf}B_rKNGi8@O&tsc4;wszN~=YcoLwc5`s}TSadS*^j64FFV|(mis%rAx_un?5bn%S!Ik_dVOTj;pYe1UcR$RG#Um5V zwNu^YB4e1j)?w!?YK;C7-9g=+m_bgo$>qKG^{ZlRkvu&VUr`3sSk$cuJ(k&FfP2ln8k|Y^uk+ zwp@h)iE_lbF&h6ex(Go>;s{GAs{Iq#cvOMfq%N$2ODIdP=s0z)?1@ax4>Ge^mBo0_ zT3MxzRSeH>UDF;)>}UKp#S(!^t9sW0z^$2+j^a;yu<ExeygzehXesfvo29dZ|L`E}{Fp!%if zBuhYkTL|_a(&K8i5kUj1E?oe@G`odJ!qtCm=NlHYjOG*4hR^Tv#J;Oxw`f1IGznJw z(QAb4Mr!sa*ZeC2pcA)XoVk_ol+h=a^#gjmN0Bzqx%^O~tI z=8`DVR?Fz@uE01{5+=i;(U~dzqywvZ(am^LxXrIX>NygU7v9!(SsALb(dTZ-_*Wy4 z#7Dq9jek~lARq-y-J~8FUL(q&^~vQdGCOD!pZy81AEeL{__fhMSXH_pfvOxosI1*t z$vTCGX9&U~o4L#wsl9pXg6FF~Q2ur45zy5OCg)iqHm9>_cEpElx7?#^rfqx8yYsTI z^c53rU2)yME5;~WA^i@gfBY~kDd2DQpkZwE$dbnAmb<`%dkCz;g!4$^pP+>YKBW{* zIlDQ}Y6?H`^jideB~!JUrHBuwODnDy5W%g#TAax|tH}$^M5S?2Sp$(Bxt)>Xv(3t_BdD;rMZ)b9 zRZju_-hp3c6`T)`6PO-l7(KXBsgYP>ttIukgHASY@5^m6*J`H*Hz0Y7ce{TpzHL1u zPupCXs|62?sp?kzxXFufE0AG2>h>sc-96S+J6msmY!W^2nuBbz-yuEYgp;*hM@Ou~ zU}rD7egrTSgx=!xGo2%3{3e93%yeZHI@#?cO89kwcqsh>362k>2D=uT%XgB})JI1U zt`p(fucCA2m?}XdL4-cm;0TyDB~$)rhO}VPIX<+pkvv~G<%;V3PJDL=T2|eFKkC%a z*~Tf|DlWnLUpX*qyc8#Lxs<3{Xuo6Zr>T)F3o=-n>O)DwcH}i3f`^7Z%tTvGARbpc zL%pHBRjjgJprm9``iZI6a?ZF+-04A(+rYJsu+_~mAaou#y(*50x;jOlFH1#e5rAD& z-*_g@Ma1RbfrWn1Azpq?*UgkUi44D89r>88Y6921h6QeiqXK$%5tl>Yop$c-%@Xkw zOuu$-A9=e~>O$QIM@nY3C~_s;RpH+iww{hEnKmMpHEVuHYO91kek+@`>^r8>pg8{$ zQ`;Tj={N~1raQczi(`I+Y;;gl zT&+V+*XG6ussmp3TwWB|5!d}g1A0U>-qzzYY(#p+2Zob zGS9;qS4#9E9Q10`5(SZ7Awc7NaVS7{m{g4tMm!RG_tgFle!!{Rr>s>=oq$tO4oM$1h!$WuM}R&; zK~7kFIR9KY&+ZxpfBS3JiM<;cWW{{=LD&A*5@y=Ort0MjvGU={^{{&R&ndSx zvqD=<{DaM)$$zj2wLOTNtSTqFwzHUmyyKZi-TmROEpY~1mQHPe6E*lMS0i`m)K@KT z$bdHT0=%A_Y!Q}oM~44ER(m{Sav9qi6UUQlW9`uG)b0EGD-8VYFOZqsMeB}e+bS{X zbPBiU`h!>Y20QIOzxReC`UKdon#RAR6;|zcbns+*z{bbf03yidW4Q&S!d~J~MkWLC zOCB<~lX3_U;2lxwAD^6a=*Y9V^BJWa8_t zALlz&S-E$tP+Y9byr6)5xE9d~ByU;!p2`DOj-#4yQm&AF=$Jlep*^bH?>y+2Jo?+^ zJ>f%{h8?V`&0HH20@}VmWE^cj{T6|0By*-uwxst!_-SRlFjeAAXRaw%1tQAk^4GlA zqC}c~OenRCiGangZEpLC4m#qmv_KDIRBx$`Pyn`D#qdXWSDR^*+Wo7=3ELyvj4~+P z7pNvWRG4Z%@8w_^?HW?xxlquuj_e)UsOQA8#9uO*L|i~d`Mws@W3X<;v}68cD_}qi zhJ*>Yks0ZzpLVxcToIl^=O?CKp@?RAN+rx`&g^MT3`5ELSiS37`d*zuPl&*)9a#HC%ZaDt>7ITg;udY}stgR@%#doOpsMBh2ZgD|FD-q9(tFFK z3Y`6aaVK+VvHbTzL%JHFOdgzl*aa9?^1UvB*e2Ypo+mu8;jtD~{DUcLa3zy>e4#(9 z+{WNA%S zp|$ycO?}Q1V(Vrw=NkY|v#18r zFg^9ein&Vokf|Gi^$SIGOHi;2gQfN{!W%z39IS|z)sH~lbM7swl9~LmH1G{MMWm@9 zzoU7+FXd}+l}=8rpJrLmr*xH|I&C-~Br&{vg_NzJ@oY!QsAIu_%Z|gvV}BwW%V zfK&A%hvf`re^qmKc^oT|I`sQPn1Bh^L)O;E6t%lJzQ_U!Blda-mSvXe{4_NZcXefI4&KMH}c~epmlZpA&1DS+j*n?!LntdwG#8PwG+Ef{k1<>6`=qKgK`M z>ZkMx&)Go*s!A5mSjK{kmLBy?hB?3Hx_EH&qx*9{~Eg?4kYo!=!m)@AD;8@x~E5>a(#I3w$}mS2FM0n~&m=$#@R8{ed!->`U6)>D3L z{XgH}h^Gh%-{xki?H$UqtJ*}!#nnb9 z5@Pu3-W1kAS(UcOyjIuxptb#Z`QU>O=QiOfNDuWwn_Yvtt9i^pBy96~VYK8*fIk6^ zLtdJj?*!q+U6qX;8#<`Xuw03?{ewC=nte*IxY1vpa+>JK=klu#)q=Q3VFIVJv=zWy z$FP1gn8*o&>9%wfF@wnS2F+MS*RFKx2k-Jcn_IEM?G(P$21h)-Nh-?V+-=S}&v4|E z%dZ{CDxKM`EIO%|%_=}aj3%9E5~%(6#m}-PPMH|lx$yAn)6e5k9Dd&SNSyfS z_D1Ezz?hjoknhi8w*}L`GT4=@m=2T74-z17yG4n6&#AjEA6tpCDqcrKyKL*`CsA-9 zvMtOzobkp~dj~lY-3IcPVC;@Y=ydekDO<0+c2oyAIMc8`YQX~U!ll@cTbI#jGFgkK zPkFHs+c?}x+~j^695Wek5C?D`cl>GtlU+!`b6dJyCce*+zo4Ifly8cl^vmsPB{vGs zCix85#PzqNOI=pamJ3VTbM7{vKOL)5g$jyge0U!WoJ_O*9o9HQWNL}Vq=^X(EVv%t z0I1h?kg2PuRumf7!|mjjw)b4iWh@Xr!~yiPuRetki87VNXhjl-1oMm#* zhNU$R2>?EY8K5-4)v^`LJGTB|bpmBgQ2tqAB(++w{0Y`(WwU(z%nt&7N4C#Ph_eOl zn$GP*<#dG8za=pzWzh84Kt)zCyQ`(0unZQNDGEpjLNE@&CZo?nE-{X-GMQ=@^UL(X zz*jV-->SDVGF8n}Nd(AF3-yKR>jctiz~@+F+Sx_5<))ajH&YKpTtxrh(TpPvcajt9 zl)wWCrMQgu&y3*Wc<{9z;knzYQT(fD4&L<#F|~Yp*jq{Acag1N#*o6@oXbt&9e5G|{!UZ2S!M zMvt{`=93Li(3Rbg!`f_9O4IE!?f65WmiUYVU-4Xnf+OxEC;Bp2Tr0W;@`>&7<(Nb% zS7-M(g?Ha^Wiv(YuUH+Mk?;aVZk^%VhL*&pQ_n8y=nUr%*#nH6CW zA4Dr(mFae6$>w~><1)&y`JRYS_Sfex-FZGDm z0=hr&_JwQvd7-u#+gEq&ZFHU77P-kelm$5l5a0Ez5`gV-sG|v`fFaoimm(sIbA3S~ z6vR<_5Ts~zzpfu8kK<8j@Jklgg5e&62yE)?e-eATvzJ6j?B~-!q2}{=J)u%-?#>0t-Du+cU>9{m=blK4p z;Z|Qn$E;zm-y8V++VdhyBOx$GG>B*U!uuUjr`#U9GPTsNEn6XkzL~D;rOKIpF}qi8 zz>wWK_yfYY<3*IMfz_p#TnSjJ;5g%Ve0@-Kh&4$gywG@1eRPHm2w1k*W}L(g?-V9H zsemRp za0wp&xo;$vku49XldyRXS4=;Ev)oY3r@IL(X~URC+2Po{g~dp46;5D!+XV6F<}mdO zwr}B#954ph3qtgYo3CYsg*z-?;g%HT9d&-DF*$ZOT*JF32=IYgd} zl=<%09bU zBKDs3lnvkH+seq()HiF3QA|Sk#_H1g7#tfHiHdh5&1aF1@xS_XB*<#TNrBt5Ow_dL zie(B&MP?Gkk2JQ-i1$48{VuZ2Waq#Kiyz7?0y+3lDVL)m;}oQ z(=HD56DRI;*)Fha_AS1Hy2q0$0PVn&Pc4TC|8FsTWv{jHkr|SiN?P34Tch^xyUXKe zRz_F&{^n{p<5<;1j`V2u*LGYQVlF_$gcxD{ce!;<<33ZBWLxc18&fe)CPnQD7mJy9 zAo~bKNnC<4j*G&6t4vuPod!+wgR3S4#1M;1k^aeIz20TXCth5jX&JE`V9$^GwaiQB z9bqRd9*sd+k5hE`ZDUY6v6e~YY$X#q9jojFvp?$!0FIoCx4}iHJeR8PfO?V=ffB;= z0?rEPbnlC96hC)ybcH65e2IUECpg67%S)|I48m1QmALt5@e@}sRRVdO#jxo|MiP6P zJjjz(yi?8-mQ@a=0JE_ycyGCT%>SNm!Akyp#{0_sfJ&L}6NyHv;Q{m3Bw`!&6V^zw z0xnA6^}*5xUD{Sc?#z)5=MBf>9}Fc0)Mx!iP&N;&fA$3=Ra60t*7oXDvihwp){!i& zVsLO>K*yr?L<^oorr`_FQ*}#@p9DQL((*`BVU*?jqG}8`(Mn)VwSU-@mzM`ZNm&52 z_U`p}1*Oq1jXnY@N6!x8Q$}*4&$wwj7u45Z{jRUq-bS>-1v+rb#b$h;g~h_i;LE4{ z4(2)El;YR5z_cPa8`$BAkwP3J*qxyh?(}WB_xa8Ij;%xU%}ou~8f0sT%iT<2#&@C|f-ayJ-TUgGeOiUceZW zsovr8rjgq?6k8J>OxhM}1xj)T+^6e^VOk0w(xC7^(e>9CTOLp5ltMv{lgE_XCUCq@ z<_9G;>H#>XqFsDML}{Fjp3b$E_wQIbX8RC{GEkK|^0%fzbY-lOs|Q;|Tf5)_4<;?t zpynpID0w2IQ|8!EjwQ#pTz~=_&xo!Qnm)aBSr`D(@~cj2un&J4Mw>erb!zF(A39PyKfw2c|{o7i$Bn2@W}wSt0a} zZG@)OjezJR0iYzgxCz4d*ovR+Q~G9Z@eO{^`-*fq34wv(X&?AcG~*!Up`Nxd4zNW} zE*A3FD7*J!+ZLGgE})Y0YzB%p2v6LGzWO|~Otr@^`;IL1sX?R=2gG5M`TBnxkbO4E znK=-t4{YJ6XEbI_1my+?JMm1JHA9)ZmUk#)h$$i^I54-Q3e0iumjo^1V3zg(F4Z#2 zdbavt@=_Er61$uvRS&t0bAGs;3Mq~E)^a!=RCA5TjwfT}YD62xhGR4kUIVzusd@$} z2U5ffj2{sod<0GQ^c_#`H(aAm0&;ihw}y|pygdMdzWV0ihTskz_2IwHb+J5J0YTQXf{>CU7pp2{AB`$5I>B zzRo>P5;sk8FhS42EZ3E9>!H413mz7LRygI@7^YKP9_^^jW{;T-xSK)!L^R%5lj=V4 znQ#M+wqdlZ;jeaI!0aBQ0BLpC&(GmhY_(U%1~k{;3`ZxvLq4sC(6k!g;dM&Dai)IC zUC25J@8%;Cny_ufawi0}O@N;C?Qf7%&UY{>mMh5c>3QYvhrrnrm6qT-+sQf+mP^`E&Z`$Ns zT2GfL^_flYE9-VXp zj(JOmJ6a}ft&BzV4zKnG-FK|k^LwvUG%1YK7TKZ-o za``qB5;v3(rQ22>uoM~llv)r+1!gKMnoG%+$Q=5J-u}5_pG{#>>;_`&tIqQC;TB=R)6NZr14O7bn#E zV}W;1Bgq>x1d~SAV6c|nUlO7%pnkhSoTMu?v_D95UbX=~C{>m`5V^G6pgOZS3lHa= z(Z`(JXMDH}fwY?16_o%4= z?i~f4NR*I5eD6%9Rxb;uWB*0fxC@h19m(yeDQ1kfs{;KcNW|{2d;*$rIo0D8Sx3Fs z-{>oMORB)JASfSOnoOwLn_feX;=fJ~z%3)D@xR_2moJosLK(#pL`oqOpY*CMmyDpT z*{4%&Vi5z)@UNPlJQoeKlVf|z685h5Cmw}J%041FbqEz zJ~1iiiQjN6=VB7F3BHrY9fPFo*$)eNh;5e61Nvpx;VMs3n+-L$nkbwFSBv*N=FE*l ziA0(0u<=N)KV^c08%uaunZgy?{A7a?bH)66z|JWjbZ%FIJ>95 z06=%Mol0_iFmYj__DsQ;3#k4)VXD1pdj~PrZbggAw9szq6A(hpG;L*8U&<^ow5JTG z!EiEo)Y(M>q%mttHj$fY!@uHr#@wP!3S8@((?4PF^1?4{x~N;$V||?4 zYGLE$m zd55ST`I1jiM7{nmZCbKupmMasYYq~*^cV0AdH}aO32?NTjm~{y>mwa~@h6UJ1`2e3i-Eih3wBh(Ggj#F#7?i3H z3GUnBWr>jQ`quhuzk06D%N1FRUG5lLQ5;EF1;;r_W71}my>+a2_+%{qMA!4rH8Qp1 zDXBkj5Oz=iGS#dZt-6NGZliu2spyEJD}~eiF6*0YUJLJ_!Z_E;){-lB)0N1bz0lpY znylBQiTwnq#wNIPqRHb_k3_K*-987@|%?f=y>? z_fa;Vdh1Nh;Yfz3Wi^US7>)lm!>DQc8e(7^m70;U7@m+Usp?IdlxFqep)kmackVrM zv*$i+6Up=|%mkFFU%zE938i=VR~w6{2(g4JK_*a`9j|j~F2e3$ch{nT2>a?6rNKyj znX6d_a5SSZP`TCL-^5Pd(T$e2ktor7awe_7`KN7$5L;aajVTMuY+L{U_S+&oQLB)X zxyU5*Xf^qqyLU`Se|aKO1~j)E-VRh4fUe1%$!6@L5ilj(UD|wRy;4tiM2K;w=yYmN zVjCchfK3YWC$#=LVO45TW9!ejgRJvXvECRMv_B9Dkcyl8dgoJ>#W)VCw2d)WcHu_9 z!~hh{$N_h3(>xo`@$;BYnPA?Tn&rWWuIBHu+Q-YraMEI^xN99T<-!XZUdCeniKl=3 zVpejD!!qAyUyy+a7+V-xdrkX`Y(|xkW`OnJ~1z5pT+!WpGrR-nIX$q~Yh98Yu z2_tCkiRcO#m)R;(8GNo}QobF!U9|Fwi`-?FIqJM=E-v%G#WK~FEUs9FGi8lSrFOQAT@!d&^skk|eI}5= z{lx`|7x~5JnDB;HDOX1%k81!qKf$0iQ-$84ySW1tC1P+zd ze$@m2Y+tXQXt!n;RzWW>cyYq8W3vJF&02M0=riA6`I;grmR<`4(Jd1%!%G$92I|dt zJYt$cJ|)tUSq}$X;m+W>yPlK!jN&pc0WD*C5J9tOSDkvtc8n9Q{Ecn63vtsYa|Ud1 zqvq0(C9JAV%cOucd2^1;1P1oP@ejS?%M3)q-ZD6okcpj=+~=YIDj{C`E8%wGQ}iUtx*7OFqcT8REs?mB zpUhdb4gN~ovgo*aAf#!IsjRPBy{2`Ic%K)?pEc6u<+i0if%QYw z_?21s)@PnBG>Oen+upqxD-U%ngja2;Qi=$~i@REe*FLI}Ag{@P9O``Zc$Bl{{V^p= zYPZOla!^>SOBStxKv`T%Ub{N#Eg0Q$z8-CC{N~x0s{JozzlGFOq-d4k_-)N0%aFsb zsq@y1c>D{s;=LS)l_`jPOU%jK7=(=-_TX{ z!q%0DS9zTVcBi!2Ol1=Hy^r)}SDqdjRPLSLi2ja<7p11j5%yUA|H&! zQ~_@7=Ec2+CCO#z>cP&EH~dFXJu@C{4H?`@ubHM4uYMw%g}6B52y)_E5=P{J6TOUL z?Y_!+YprAr^iNzP0jSzmanB;1zGFf@LkVKH-@=*mOX1gD5wwDG)FMx{oPn}5x zlg68?X}fl0n;Y~UMOHiW#*+Blb<9h=_KiYu8xi4L(wx3wWXHU)s zk6z0no6_RmS33=#Cf8OV;hE@)GeIk&5DbxgK>w*7=Q0PwjU>1}7{fFSQ)d734zPCv zq46mZ{cxoPo%6%(B&qmUL{%GhyS+&*bM9>!cFUQ}4&8+}_kMh7P_?LfP6)?mUnymP z7;G+)J<9(y&VYx10L%nlncaH*Mfri>x=Bs(m7klj60}z zG&iWqaqncNnV-|iyJn4AhW1!m<|f@49)x+~i7(YGK+HygZI>H@#~Xv0nOrDcsP$(6NE(E7K*aaeLKs;K0xg=l$W*=#c}>8QHh;5(kKNfn?`*0OPGTOFbz zEaH*pDbep|AE8##p#A7H*~0ZMKm-7;;iHbGY4-U; zqeQUC8IuRa(Y1^L;Sx@SHJRL@lE{4})@5n}r8#U~XZgwY43@4Ui1AyG_b1O*d!N8>ujEbuO@4Lvfwx?t` zcz^li)?YY2X$c~wl;@(Ux*zB!A(;5!@gSJFJwt4wGV^wo1hp}fZfXTXOeIAodFEJ~KrwPf;fAZ|f5IX@#5#(_9S7>6q~G39573_oeLY7M|hY(ppBQCftm-f@lT zmMD}^8E&7JMG5qrE-;_ zZ4S4K8VV!nABb$*ma!Gvb9$555l{6K=K0Pu{t2cRlaM8Y{AC@w4bFG5C)?QyJ^ziQ z)9Vj-EzfzaFNNXPBhg#1!TF>jDTZUb7G@$S6WUG=nUnf?8o=O0CEDQo5wQB?Lm+!@ zYMd7|g$JmO)AOfzlHv#>{b`DgzgSvcIQkjoa5EQp!0_Z8?GVUtE(pyIMj}S;mlKMR zm|h7;plAQ~Pi^t_ch#tpd{!=WBe>5(XooAfJ@64VX?fPuc#v6d*-r2N6w~z%wtoE` z%IF$JkUYdw_ZcQOKc0jBaEq+<*L}@;9f8VP2-@W6#8k&;+$rE1ZaDvXo-sH}I16gHrnV$Xv|%>KYkpw!`n<6MoHPCcclHbN-y-SF1`J8) ze%ZlK^v?KDhPmxLB``gQ#S!n1?8G&cJ-4|;yDts>WunX93lN4dc$~0&*gbu66Vdt|vs1Ba_I?)|Cn# zaV#_~WCgdyGa<7Fn(jpPc-Q;HOhAB?I1S*ERr{ABkOB(hB;_GTY^&;aypzeU|6v=p zEedkNXV>Fz&M6}6csG+!P}rj_Gi%}G9>(vm&hel~)-f(tk`b$nWzJv!e<*jRFm>HN zooePAK7QV5#BB*#j=c5;KLL$nPF=n0(wjg{V&MaKDlo@-X$GPckLSD13i_JTnWT*E znL%O+U;n2sa+Cr}srdD556+R~xTIn{&*C^sFmbVD00p@!O+rngjX&#WmsEuQsFe&P^pIetK zUkl_hj1)H#N0`OFr}n}?cU;>I8N5}RmUk8Q)6_!cuzLFgPV(2a*?m0&DBNDZ#@s!y zamwLF%5?krv-KGvWoE^I{7QGLtnrGRNvjrlFzV-2|3+41BEE~XNQ_GI6HC8x;Ymj3 zekGa%B($`rDMiC+n^O=zVoIe6x0N=Y5g4^NdJaHl{q4YscPO1?7sQZcMMv#8N40n0 zbX>;(@mw1F;X;4gdZC`$Ycqm7nBL<$ouCL6lvCryO2Er2=MU%k9$e>0ghr739r*!C zb98Sz-@DOckSHnZOs*7JRGAuPOY_h12K4$ zDzWMSSq?_-yMg)c;+V~V zBQlPv<%dZcrKgcQ{5Is4vV+f{rDD85H?k6xyQbcLpMs964`OkUs!ym)U@?UWXXvS% z-|>td1zO~)bS6Wv*omw4cEGD})s( zf%eCT^jMX$>UWb&u_^%z@mHzA({4(Fz)Ix<^I-p^oMdROcPyP+7obI+T1A=KC<_jF zX?AU$?BZNf73r~hk?K7jVS;@U48h4uLkpP8VpaJ6Q;@l`RuiHg; zL;V~#w+A@b=B_3gys^`_C_#>n`-d9th^m)wjTHGt{xMx!X+h)|ucGBJnH@#f)-*=d zCTSywTdXR9MKC+hcTl5*6EAW{SKd{h1JbHB7x>&pC}w|J2O@#T;>aMq%Hnw41n%Q> z-&HYt?6!PIHu@CUk@cx>UfoArMxzTxCuB^GDk$%(g-ph7DBCyz$poMz zClGh!08L=(V)fpG@UzG^1}LQ0qJ)WIR(%{UZ69$ee-!fe70Uk(YFsR$M<%7Ed6wcX zq`e&+ik9sW=uX@hE|^-Hl%!d2(-S*O=hB}0U(s|LU=Tl&G4VpQ4@Zk{){s;s>_Crd|xrF&Y_}Q^qE5lIvu;X*zDe zmd5fFb0eoC{)96Qk&-vGguDplu{Er1^l;r%<;^;`zDZMw34s09og@^_bEz`pu4~1` zy_=GrX?(oH>#C)pwDAem#M~4`jk)qQ*9{aYEZmG7nJ5w5T2N4_iW~Q#ai?4>Meka(vz8T6$+~qhAH`|-!QlmWNEx%vgv0s#6Jrd?8+DDik zr+m=ssh&l~iGHgcp$L#ZxZ|pfG?Ed-?y|b|XijKj<99^8A`o+uCD;P}2Zemc@Td-q zlWyd#8Z8N9HQr-?eXk2l%&^mf0+HHOIX;vEduaVD6nzq7=2`V>_O&nP6|;eDUhVaE zdW};wAzYNDm|xj9aGjzVf8?kZ%?L+@I36k29E*@@qIZ|5w}X?K5gj0qUUsr4Rc6ha zuB?JFo6QW*AmH3*k4ap4AeG@xVrS=I;E14FcKS$Sifv3FmW;MO(R23Y__3?@o=tgC zU+}MYmOCjZz@Ur(E@&?=7E~^yeF89;$iql+252>I*n`F-Vm$`6B%qA$QiNX*EJXM`Ox&y(5dgro3A6 z_Ij`WZOhAGpR?D$-OTA3hn{9WO#O`+g*9?mh@8HkCUMul_Fr#o^iCpA^6LawdFOEN z3vjcZZ4k!ZL(^d5d3Bij;sId$aNE>cB$!)N(DLbNKRhaIC`RQ3cT!qR(^?6}#@y*8 zFg&xUO6b-cvqR4;4_!d{pj2{C^%B6veqFW%a*aKT*pow3#MO3|2#@%pq-bP(?PHC}X6Jf)(Nomy+q65= zE4*+rtIykt6FDKc$Y?zcm1FM_y456zt(Uv%6qcqY zR43KqRj{vKQDyra=O~;`3k>21)O8f7UhBE;wJ=w75SWv1k_CDH+L5{qO-2Zvf9qSg3cqJafYYIczb1rXnJ57`79o#74#GXtl znsj8jlP2!O#u8!I^^4}pk-Hlx-P6*ia8&I zo4ePn`uz2p?zp%)rhA(K(K7Vu^K-bQcm`rX6iN&oSCPQdXtmD@vLRn#hM5C$qnJh4 zc%jRTr04~Wu`g@21}fT(oA(N?^x)#&vN$)aQQ`I1#oKJR{^0FxUKu5sF$YJWTzCk( zCe~5&^JXXUI%(3MZs!$LZSH$es=(zVw*V2)`6}5KaDTdg>l?5S^q_mMNzMP+*%;0y zBzRsDBXB)wX~+Jias_txz$n4lhnnhb#6D?Go_S*16u#UsN1JYD!1j;DB=V4&$aB4w zCM$IP>k)O6x(JCf@cFo#!6E&oa2bY8U|pw>N^)7g*yBg03qcKQuJ0@+_4pM|`J1O7 z>#iPA7%z=nPUXGaE`MDd@p$@aCWR4qx#WgnL9XTdqUwsqjJ^JvP(b!NYm82LJ3a>~ z2w$Y}+FB+@2xA$fU^=k7s{`VcHQL#@kj?8S>3{>+@wXxMJ3q(S@W{o@FXbnw5moM- zvOH^F2HnxzcOsCb-MKjjlJfNdIwCgSV%}J3aveybn(-xT{YgE4g)|0+5i%t>F{dpY z4BoOSfaAus&FNicqVK~SV5gg5Y3fh8<<0q&D^U*hKM<52%+X_EfGL|%|J zSpfC{RCzkxc1$#@2Q8wxRr}`=(G@S$-vRZVVHB0}178KK!|Qx>>P*d5tg}UfuV5S& zogmC$+*WoR>hw7WZvpk|BM7WB0nYSdMs0u3moLLDoMBIPfwGXksNzCBs+txeHL__#w{6q z?H$Pogrt2Y-<`^@v0m@yx+4T}FqU9MfqDF|32ow-rV<5GmF`$uQ+06de~YC)+=pBe z#iYbe>R5z-8DZa-joy@UQ1_Uapn$rPYgVBEvCR@0fWB$5A|LS&NDdL@E>{voqQo2K za?Ses)!mz6bpGW1>SSnUrPYuz z@=_LiX~_qL4-9+@?CPX|7+Qs0kAhQ=b*e*N81H;Ui!iEWP@GBQRC+d*fcodl(m`jFIh+O(w3LMWb>=MqrV}}!APhzWc z*~a8xe``1s;EdS{IORT+QVb0f7Au&$jd-7zni2B(2YOQBbQ*pXff6e5u~=?N(Kbzj zkjf9daq=Q*6IgROj6=)mYw7Xo(`B4z9aog>(L9sy*v4r}0txO5oGxla>^4uApwP2? zPa-I|%UM0`=yEy$_N)itX@@W1#^zu06Hn;@DQ}YvqD7=hi3{vR?#_^Wxvm-$pD0^o zMcEHct)+UnOIVh2tnHC&IKMzJitHYTn-Uvmb9*`UGvd(L*gxUdlN_tDBMmoQZn8Mx z^8%_rheq#dItpObUwelZ%%BBE*porh2{zcQ4I=7=KFc|A#GYSP{U~b5;lF>vrrXA) z^;ijtGs4AT<$HbG;_26IXax8GuEcWfr3^7u44c??{U_#@%r>5R)53(6CW)oDi1|xx ziLI0YAr!**l2Wmatkfu!WMtbpvJy01c^KDRhLd`mK%p)cYfRAV$7!dDP35tu(Ox2J ze9UeXQTHy1kSHNeZ$6bifJGdj25k+Ge8Igil2Ny_J#fTBWBo%XdkZHTpTZN>C09a#bDjWu02G0}xl<1F_ng+lq~08)k?xnm92Qrerr9J$8zlWi zG~Un{Y2S-N6aFIe9IB+VeT>YFV*r*^bp=Y*zyX#hDKHhUtfT$9H{=0@#zU2FdxU+TFDhUJO--#Fvx zA@u{yV=(jh+w7v`k8L&+U-K2@kb~QwLOklUe^CJK$M;lpcAk570qgp50)6)LE@Zpx zlY|(gUw+SKQAgZSus5nQ4?eeFp&vb)!s&JwQJhN7PyLMzXTkCve2r&0xj5CNX8di; z;1HEDw*dKm)DqwIh9f28zR2V?`|03K0fY~$EE?D2rlJnT5+cpLy_3t!j z{X33(d{ks^z!|&kYf*9CYL>QL$BEdSr#gXjgKxSLLnzmQzLAK{Q~yeO*3Z=J717X~ zk77}xPveS5Otfo}Je_@pzEo`m4P_b%RF_pgX-}_)Dp2S<+Oq9vg44h}xY{(iUj0O_v z(y{az=&*hJ8M@;=w_Wv+A4n{AKKzMXZ2mRq?XmR18$?RZ@99HKS)bc5Kq^MT^n4~#O9P$JZzM~l9ZILP8UKsUEQ$e`B3?DN( z-1CgfnWTPb(M70=xM8<@;;?n~mst-sLe1_V^bT&Uk+YI_v9E$Q#T$x5qv*?|4D{tT z>RtvHv>P+Io@?^|vjwa7^zDV#JD4sO5MfkO?3<~OWZPFbH$HCjo{h+u+7zvx6e_2A zT+j>H41O)Ww=Z|s5llbWB2yOmFu0A@CB4_vUHT3XhxLB*sbIiJxfV7i+b&6(+Kjk0 z3~B}Ip1Iz@yz>dne#du?W2N++kn^4`M?K<**LhcY6_?s+hB%hZ3*1kq&S_NQ{GD2) zsQ&u7=VXS}%iOHYeTG+;a)1WGD%yOWP&#n&&3Zpe(t7b-fMA#x$ zIxbUI>ik-!Ec-|@ORameldbNTU?>a8eY3q#L=(u`!+@fCaCe!XxcVt?)XFO@(l*>= z%g~i!w=g4f5}6ROI80Q6;R&HTyc;Oee7cCwfb`y> zj7LN%UjN+f5R*d&-?w$LCojxklaVIQfH=)o&~B0Ylzq?4;f0Az{(>sEa7H{T#ieHJ z<>4jG|J9$5xi=lB8D#{i8@cQY>|hyDI}AA-YC9Hf`tva9lcI{#@lDcTbMFJKE$lvulE(_#M;Z!ow3 z&!2XsF)fVfdKN&HuU#iPc5{PAc^(##_n+YU?RWKLj;8A4tR94GHdI}Tf>;=rL6Q}d z)|GWAo|3u#izEw`Jopli5*UlGV6bZOyE2wc7ElTodJv+Ns&j9|ae!iN({f(5Utv4+f60 zr-4hEn_k0#;k6+mOD{gcOpX`iAUhaTvK9m{N*yjVNR4ZYENI(amcPRqB`@U4!~)dJ z6k`zP(^fX<)^Da;k(qUveF5+b7xB=9!u|IOg7F`4cf~TQUHFxUl*yk_%vr=2F%3`s zvHCOSB%FOW?aN~b3oOAiGwt>^Jx(E&SyA(jreA1Ro1pBg|K%UbgkVJX&NmbtUMB9g zRFTiZ(q72|Deb6rHM*2a*qF)Q=E&>&lrxrmoAFxDDlXbY>#~R$7Pi#uEP ze?ehuXu>0}XyO2R!mdPJIu*liA9P*jYFW$gYvQsZT)rC1Zc_QE08v1$zv?^=YxHo7 zr4MuFFY)IQ%Xno<+C10QwvR%hUSh*FtziWLR=Pp~W0j?l!!-t|!fB#UF^K?V(8rp* z(M!yq^UIp&Qy8yJ$(s?k3*#^}DZ8urkY0U0iYRQ{49-;`ak-p^1T*2wJ?%m*aC~z0 z6H&kPZ{=@Ez3mH??0Uq5q7ut0A}W@(n?2P;#&FqpWTGBK-}*=K>95rw3-;NzWh5brEx0mhUH=0$e?us+Sz(IYa-VEL#WPM76O@`XAvey?MH3Wn zoKF$8EQcS0x7pfUc0Nx7byExl8x~4S=;Qo!d#uE27Qct zc-dd_JFMQ4oRBE-SZ_Z=4p&h#F@JKrYqR?{^XQNL45k~QszU~iA2 zn`NI6C}9D)6R31D^J3t49-6b;niU(LWIBNfpUDa5t|@zEH-Mh`2Zx$xa&#A?Q~XI* zMC;a=S>xqKm|!>Q>X&tdJRw)N;XwJjn}!DiOrzalAs^YV&Uw>2w32&hsh{gbR5=PS zVGSW3KTGCeR)SBE0lJHriMH$HWFMxCO2&@cCsk1~^_kKs_GE&KYlD}Ig6Q<~1Ugdo z0WOS>-7>_+7j)+|Q)OKJP|J1WGq?lPO z;}2oFIQ4XAVD(RFS!9l2JC1iG_xQ}NW`sEh#TeHHW~p2HI}BU@h9iQ;Gm&^p2p(z zgk=h>3ezVHNo~y)zSJ@mS+ADPMx$)AG3!kc<-j9gep9%QFUBv7yuq}_=X5W&E~6fK zoZQ$of2njRoUUnfibPpItW~D(PhO(9D*A}}$k`DbxG;+{xq#H=FwZ0!4P43E$&Ln&9_1 zRBoemY%7TR4;YnA5ZZ|>v@d)jQ0@x^&GS9dx7+>)Tba!e`|!s%8!o>B3SB_x6roby zYIBo*>vAoVFU$!~Wii7V8dJfQBefWN-f~7m(A8^kQbS4m`WgW!s-7l0r!oMgn(Rk0 zO4px=hb5W7Jb774?m2qfwTUIS=DCl&YyU%7SlLSWbTV1=fO`$z%0p*MuOR&Z7o*I>dOZE z^=MN-n2YJofix?$0&K)_eD84LNCKp9L_-$qKD3amLpdS1?1-_C2^*%Ul#Ns7EYXro zNH>#|n=&0&N!nC-@m|l3gmfJ;=pHw zi`_qGr-pWg#giWCsV$?1Hq#V>>&BLeH>^t^lYmFG8P7YI-d~@g)!YD{y+2ciz9{VH zdhH7EtCvP9$ZKI?&od$0G-rIO%Tt~ZzKRIa+eyEsW<9!Im8jrg#%*K-A#X}HH9%Zr zH~S!EwE8ma16*iJdCoM?&jbX~4EPw}ws1x~xtCds7~zGbDgYWA4Y8tK2Ty7#jk3ga zb5Z+0LtE|7r7m3Uf2am1tkUn2puEk8@jT%M0PvZfd|X}Fzb5Xum>OjWM+P#HEBj;D zC)3yOeR2zCoNgfnR~Hx5BUuK{LF*}vP6Loin*C1G4k9tT^KR=#BheXY`tSFr8kQou zMm|#A4gb$qiVekFUuoa{w&go-vVPO1(m`cXzcQP!bxN>Z`NDkqs|yS>!iN{r2(9O& z#;9bBGruzx-K)h<)`TL=K{vPthj+A5cUi}P_#RC>zy-J?e9~ZYJp@le5Tz2`*eg2# z?cgWWi^3_CA`~pX4C*W0(_X6=li>;Fg{jF6Wb>*0s<`rqi}WqUwvoEQ1G~RZI<>oa zr05x^I?R@jVXlyP%hzTane|6(NBk^H6i7ecQBxCiB#rEQsKPiM5zUpdO_*iGPQ*sc z3IDt@mo`WcyG&LPQR@6cQnqM%kt9YXhdVEh=}Z@EI8#4dRX66Ts}T2H%4%*Jq=3CU zQZ9mNip%DMzhJu!?*9&N%qSYc5)jd3QONOVDFk4`ZLWN!#k19v(0gZLs36I1M>cxP;AL5lT- zR0}69EVcv3wX4G{rx`dR;Cq?FD^?2_6nff}SNLMN6OiL6;r{TAL=X6abI`(Tl*=2> zBcGIZ}`9r#HA?`WD!^RDOWSru+z?#Z;Fjv9EA8aB2Y}@?i1+}>Ciqm6?m@r zI8p~aJIm~78X+#h1|iN^RTBq5AE-^dMPe5TBr=+Et6!Hk!6c17;`!Q1(6GMVW?qibc!D@qIKIUrv8V)6hU za-|dz0+x>_h+_1MrBqmBSRt|{%0j#5ZP$vDLJ6G-g$dIm0KMCwyr4uh?V;e5&F1)m zNbo7J(t;T0hRn_URtFg}z_}W-(HPX%W8H17?2si~frAlgBiHgj@!NAiccazUHlpMY z<2nU3W)!Eg_G$KeF{-ldgEfk-Xd2*3*K-`3F%|Z`d*Q!7^!O~xvoB1(f;dOwxte~; z?hTh9mp;B2@F^GoOlC+zGLe+oD-6zc#O8qji7kWWAbhjh&8L# zGIFp_p_cKjIt?Rv>?DJ^&4Fk80WNEC^lu-AC1R-a_c~;%eS6P?f6eCSJs?_Ci?KN< zmEY*>Veck+{J@wj<=P_1t;*y+9tk9Ml)z0^q*T2|5u7)Wa)2AO zpj(CiDFz&d&56M2^(Ba@*!m1t^vcXYbMe2Fgy~_X7-a2Zkrzo>swtD9L)G9*6!P}5 znU1(x%5NS27ScH3%G~w)^g8hmJ4@b9w5q0K-K>*7;Dyyo(e*PVpLcpWQZqwdEg~Xl z>i9inCb%$)%A^dA%c+skBCObGie!oD&3k6-l$lH?gLrn@gMf(zl^r$(1r%s)t$3aP7goQ-D5W^tLbGt*jZ zwEj@BXJWNCMOXykA4VZwKoj8NIh`Eq& zYhyssO(nHbc|vwC4;Txq2_|fe!QS!BK~ZdDf&%GM_7irlwVOY^{I7pcS`0T-dmGIA z1{vZ!;k^6e_@3c$rxDX_@Bi1o>BJ^rAXwo=2-uZ?eJwq%>ta(@n^UQr+WR( zKJQ*Ux7kB|taKE~cwJ|ga<5}MDrx!zQae>Favfe;7T9?bD)wZKvE)Ah<;6{nUpL(=SAhjHyV_n5F z#uH*%f|AZo)jKeQJ(syiz2A06C>}BeuD^sYZBR?NmM~RZoB60g~m}Ulzn+k7&(bw(`s;`0={ zMGyMe7u;l5?>|Kff)Eq7^-IkCEd|_woagdFA}tQ@eMj_sWp@XT*w*pJd9c>DW6Q0i zjcR4RO&z?AHmjRuU{$=hDWG8#g-iAnCV=; zhzl*2@l;fOm*Zu=c*$Vseh#UQcD*}aTE08lYo|4Bh>uao*akmBw~t{l+Lm<9=RBU^ zj?Py)m6)+Q_8S|2IrEeH)9T8`@JZOZ+n4Y`_P-A&=h)rEm+9Z`%1|CnF16X{DWJ5h zT@bBw%CKzd!=f9gRqi6gc7PU$aY0^6eq@m$XbSZUc2K7~yC&H?zHzEZ-SvAJU%kG< z;=26_UX72tvD9%+ap6>sHKSHK6FXCw$bGZDTNM4Sg;5F3w*C^vF#~m8Pnj)=p_0`5 z&pZJFHjs{n(c)sxNN&`jrcVS~d;bt$Q$Pbj0i}}u*)_ob?q(b9&Oeg-{Ug9 z4lHV{CO9!PJ^jeVQ!vSY_ieJ%@Sr}dqSh@(5zi}kwSnF3 z)7OBD-cD!k+%H7+=iZW6aR)0~ zY8H-9ew0(?BF|YaDIzUgoZ?Cyf1usBZ+?(s>bHoJsg*^AafT4aDKiD};h; z#pyJXf$wy$j3&D=a%7{Bza8{iXuX1iQOP3yFy={ZQjf*mw0`<>pnM7{33|CPVT}f* z_0xvmpkkkotAI>1i|lte&*!hY`=*ICMg$Pa#XPr`C*VB{kru>#J&n(wU}Sj`fh4v) zB%%Y6lTSXp0veC!?lZo6mzfeIu(42IyfJ+bCZn}nao3#WZLCQ zv1lSa;r|3hnkn^jYi!?Kex3sZ>tH`P5h}PR0}t%B_DQzkltpWTtBVAT^hb5 z*jjM?%DcnIRvs$+0y#_!)SVkI2AYrS>W9k_ot;?ydf27Ud11*~1$~<7DWp+~i)6`R zo<|8c)MbNpV&>z&Uo%9SFQ=wE+Wu!nDtUZ4#(vsu&#YFKD`8Hfv3r!44yal{T2?&ep$qCKi7ncXH0WMuB3I#X%RNb0^1~ylClJq5$ik;aI&i% z!Jj0!ai^ROa>Vn(Jc@*n3ZGC91vf@JP%H}$T7w@D8P#95Tdo1JLz+bH;0Ddtn&#-=w$)VMOZlUYuEhwr!tUCJL-W7ZOy&faN4_pAv;$7N@m5q$q?`)8% zlM48BG;9F8m;4hX`fa2G>Z;B7&K&SB9J*rZbju{VCEMXeBvvSr;(Q?r6~rBm)!GJ{ z&*Ga6qIn$zFfFSw8q)}@;`yb8PGn<6pZ1o%@r9hAL9Ug>(zM=E*+`6usmnvtAv?NM z8*o7YR1M3tmKYnf^SND+07 zdXxKR2>bT>34UHH#5N9-Cf~^?Lp8rJwls6RbW$tqW^oXtuP_J7MH1E%7uO1L^LOMg z|HtyHg;RPwl;VIMtg)yCHq(V{3Nmsf$`1IG3E#p{<(jlD!bQa!T$l~L*7%9;Qb^sv zD#5vo$QQ1+=Rto>9XB6(z(b^_I|r%;EXaW?%sh_%o{xY}*60QbVT81xBYq<5N&IL@ zy#8%&`G7j3i`9c&SR|)JlQ+?GwwGnu4<0g?onPFgIqg>|M>xGPNMc-q!dvzi^{4}B zUH@5-_t~{9mAKs(hKE4D^^h4{Ai~Qy-Kn(MZPjS*FOB9)OaFeh;9M5iJ4)bm{}xiB zdw;e&DDkwS1OcqsH?@uY_(27Jfp2}@Ke=O1YQ_afl2+aQ1F2bAB0Vi{{lesbI9ORX5T&eY0 z%(I@Eo*#y9gMEUdqY120hkh^O6;y9W($RAD?P^Hmx!wGK2iW8?h@d!k6V6?jLb^OU z=a`|M$(K_@8RqL1QNKGxtVBVM`Jt^LVOd;@DnHX9$5#IxM?(mY-{AmrI=8v>6EB07 zBA<_0V!cB;dKx;Esp}1H*M2=a0p{5A%_Jafj;s_z=P-%7B7k|Ci-KBb<9sxSCTIf3 zPh3}vXCxmDO;%6R13~7Asfk!u6f2S>UwK(wkWh`hjCpx+Waj9iJ};K~-&ZWrgmJDl z?gjz8NLBCHf+kl=2x#MGUxY-qUH7Ys4y4RQ${=pDZi#Y7`CSPpq>k%MqEoUySY-&o z^ggdY3temYCz5m894gMS#%#n^hV@jle;+ivD4y8I%8S+eXp534l>z;cvixNjpwy2z z*ght3ALJFlaGY>=obml9Wh9Iq zT*Wvyht_#?S>!zV;6SHvGk;+Yw$%r(SUP&DeyjgU0{gPH?*Wm#o-rdp3z*>^sG+Fo zHZ-4LF!o&Qk=gy?Pqz@rUz#Q@pnkUDS8~!{oP|R$03UV)x}NCt1kJHB9v6!S5mn?u?9T#ueDBAb8*MK5B z$Dv|Af}yw3hS{pkw4VsmxLfC{qro4m|G=t;gDf<^#(KKJeH~x3WrdPQD5|hmJR1t4 z=*c|YGJk3P)SkVETx;szI-!V3(*0)cTYDKaxQBnlflTXHVWeQj3sY%Lr*f`o`&4yb zl3`vc^L#uK^6Ci71e*@a`l2(4t8GL~>XA=zj(Y9TY_+grTT+J2RoqqoL{~6xg2u(c zSxNMHBQ6()SnhdtnPe9YWZAx9I0~o}Dw7D6v}KEqiqNm;<*G4Fy}tzeoR9hvw^zv_ zoiZQu!5pvkvnO-N;FnLE-of?k1gR3g*)X+wP>qFDKNEL-PPakG(8o8BXQ6sE|D1ZY zPIy^;tF=`)KJPb$G2$R^vpFwLs^nnb)00~j2_4k)hHCml&tQ%fNsW%Vg&pjJITqpD zC+%F}bS77dO4@XK3(=(}ZGQ79O;nRMJ^muLgeKS`V9@rd%YOVs`=R)PJPMcW)^9(t z^-`cQDldRf(}MMse~YQ9WhiF50hU?8U(1de_*C9p%TE^Z4uZNwOPIItJEm)VbIRRP z-!@c>jEjqpNbM%;mg2Uk@eYjf>nvdk!7QZ zUk(yOv+f4sH)$2ZcHicFR+|6Obih_=ItMoLBoF_nP87{}cTzM_oqJCrgKA1|o=;Yz zmm7J@0QJnSFT`Nh6lpK!Pt#96g?}jrsK)LoJdVOUyBO}@&1F~f(!&e>uUln1Py0^} zZR>uTUcaU*FVIh@y>Ur$tP*eYPWcJ0M|XZsNO0;2?mDA2&LUu#GQ zv2G;Li=^>eoDfP!Qlzuh-|?+h0*=bKl%kk2$22=uT81kx4r+pgZ>F^!&5ycB~8B9=n&S?tt4Q{w_-q%toU6KptWalT0ZI|LK!be0}|L=OLK+%*y(RvvdzZX z5gNfMlxf+hY0f9*p=lD7BxL)A3Ty%O+g41<7GM#nUL|AkvlQ@*hPe? zsmZwV44k-&ty)W}QqN*!kVD_xzm8Hj8&2oXHd0siBMXA*<31*Rf@Y7mRZtnNcmLGX zIe5Es1u2C2Y+jxS(1GKR^elZ+WM{Fho*YeAb-bp1Vx7+=BsM*MzosNbf{FIKzyQoC zdS(Xgs)Fx$o;;{5eKE8*_Dwx3+&fRxpy^0`zz)$S_mqVtnKAq{DwQgcm5`&$=T}s% z2Q@NcXHll*F6-IZR2p&=UegX~%Cdu>r3$t?3)U5TrA3h(vGEt;u1C}D6p}cU(%iL; zPr89VPFNZE^uy)dbe7R4b0~~}pbNDW8G&u7xPiab+;aZT*+yLbOM^cNX>QK^&b8@C z(A1x6zMg27C9~mI=jg&r^}mDG?EkH>i~dx>Z*h!GcC8ia`6O8xr~ZhD@|f+Q?5-T>Y-6CTdA=)b|eJau8`c>3^@un zJZOXL#efx4qhGjfkE!d;CDA6qJ=W6NZ7Eqjq}3%PH05Upxb|BvjB%P#{vc11k;6_=l_zlmzc{6m@Q zF^#S$wE+o+@U~aEReJfvEKrTzt2!n4n#DUOpfYwYrR90nOnKO1wGF-Amw%6Hq{`f? z>SeOq2sjUMxm6?k3*!%``5{LMATD(IFrYo*X~s7h`53% z1KaLZYY}0NMdysg)#bQxz=iZKF4|eMJZqCLd5{*|lR2{{BmfI$CmRs}vrY{9n8AI{zBs!EESlUbGl6m}|U32C{ zw8j_1e==vg&JQ|Ak1UK=rd*z-L2oo!Okcdv!6KER?V@B1G1#^w1(PhZ9_aQs*HWG! zp7_Db=QpYk;(1=m=22oRQ>3D1bBg$fLx-j9YGo;XQ6RrEn1UFKf66Dt$5yV&u>{E`~EwSI3Cf} z$OpDEJZQS{aeTg(h{sYg!dplpYgu2OkS?)#D2i1MkpRp7xlHQuoZ}$fy(uh*_kd`s z)H2Dtxe%CRnfzGW*1i5E4MU$o;XH-x_2Rjnj`&Ls>QQwkx>VX~a(BDzhNBp`))-!^ zR2lZU@#0^R7}l(qx=Obd0!rTRv271!tRuvn+y$(6Gzju)D?l=^e91;C|GUuu0f~3p z75853@Z?r0Uuu|rbpv<@H-@+(PeMnZtd58g&f>O|u*bOVUdwpM?{<9@rh&D9e(s!u zvGr!ZOS#zhq(D`PWHteX~MbbmI=p?5?&8x0Nli>3=wS$ zOD8p#?*L~lRUuJYuBCLSnHgiI#Q`mI1v>!yWK0l?iLzsraNpKozhmpqsqre2v^reL z2{EGLiuV!)wLH@{mS({S+ys=YfvJZb)RcSJHxo~OMHI$VS)|HcZVM)cd$jSa`I6Cj z!Y6cpN(seWQ!nu9DEg(Ci`d#O8a|M<7IlfA*!o8Zy%L*~V2DnJIzA=jX)d(k<{5=1(LftqROgNS$(L0y{e1~I+VTrFTb2Lf_8bpgNWQ6h-p(yg3TD)|$8*T?*F~jjBDc}dPdwuUsTPOd zeS0oorRLLb#?bXNo(^tk)4}Izyn4ThUYxb>h_ID~ogva|{d<2`axJ!_JFz6_m0FbA zCMBNop*8Se?OO8Yb7|$Tz*b6n2u`_!oOa(I9O^B5jST*xX5E_7B6Nb(a@ub#xJ+$Ba}e6#xOSi$(l7L4X1As{YOeOiMZsPv7=!nu6C zKzJU7Mleas9Pu62DC*!-qRs2ti#2z%e>IB`358rvkmpji{-prkF^$NBwZUdeXN61X z_^!zh%o7IH{(IecuU{e}I+v3-dy^{BeTR}!yMC7dsf z+c`f?;w^}=W0+v>wh)fFo>O}c3EBw$nm8RU=PeqRceby<#-Y+g<@9A-6Bt@6@njk> zneXYeXIntunhoE9+4=S$!6~R*PVpVcxK3`eI5Rk=;b=d3t4Ww&1tYH{GF~6=)STQ~4A*aB-~*Noc#fN#*|u(CE$&f2T}2 zoW>@gT>ct4wXj+~%8g2SG5T1DKWzLQ0#uJRSH{y}BBA6pZ$ZB7b~&Q@Baojm^Mm^G zRmXjOXJhG;MWh5*kXA7K89_CdMUvxxo9nSI_?ZqieB{c7-oGvvqlcAa*rhHoZ_E7F|l$5=9={HQ-hn+3l zVT}aoJG&N+<{{a+m4P;XF%75(dXaC zGB7=^e&yyyr%d1`orf0Amr`)8!t1HF8MDBG2E(e=38`lVTCt!VGIQwd{ZL}i`MkoD zmS9r`Xs+jO5+9szIU2iNWq^mgh;b7FB+$uS>;v@M!Ra+K@~wDr0*R%5i|J$Gs_1&6 zf=Wp%9c`vpvp6yyY4!mLNI^6yHo&HCZeK&gsrQ)@q5&0V6D)xklNR_1W<(PkS29|) zT(b_^KbQHMqZ0kNm}p42KxSL{J=d7Z;)YvGEb;5V{)rRO+l8Wg1|OOeSdFgEasgQ@ zllPYN+G2nu^~LMM@wbOGZaa9E?M?SnbE0P9el-cU#0VzWs(f?Ye4+5mCi~wOnJQXv zkNWVa84-+!!VZ&tgTMKM8TNxai$z9e1}O<*p3JA1M3*&nvx_yAIUXk};P3%|@6m*j zhi;8p%WCMj!x>#bFSt=+P+70JiG(}Z2`}72_Jj4Jaczh*>-pH=L%JLvrWFEIV&>dJ zYYa=uc9Z!KciY#f8DVIn=t!W)dFH4}Gi{!6qi~GYQtR_rAe~$E?1QF2lmuFRvZrmmiEFmjDhk9q< zIQa{7WM?)MVUcmtI6Q^b-Gu8NU$q%R8J=Zi`s?<17w`JI!JqJF|eoy?MZ&e4UH?QsnBQ zUz>-hUcA@q&&6xsN;W>yE3zR0+s-XqvBkhl6ZSC)%#63D2Wte_Vi!fx)W;Pn0efp3 z^z3oc>AD~9SVjdIaxX-VMYcQ27d+Vl1WQhKK1T%SdJb!x*8bu~Av$H7?*591D*L-mWrLi17_suPs zaiGZDMUoMZ?j~SYqd!C*NxV&%66EK?ElJ=$rfx|Rxvr&bCaquQBEV&@ecY;|Rk8>6 zX|lFcXh+(tIPi;}ZW#NgNov|nUcU3)eWZNKH{05WroMNlFFI9^t+#EBTUoQo?b153 zfh?AQ{?rQjQu$AkT>G+=zok3xdJp&vyL=Ffr60555mA3@u~pg#@=X&;VH}oWsC+1w z^(qc4fjZa}j9`kzbh|G(%e&=HXj(P9SvkH#>*~fis?M%uVRr2)DfO9hO~O7Q+1|MR zzjM+|3nE9SE&uAbjeOOdq6x~AOnmSiPv^pANS25VS>JrX@IIpx(PPoWG;%K2+Ey;> z0zQE}O_GEBzEJ=0I4>^l2S0j{)w~uW9QmVPerTm+>i1}@3WK!>er~Q;V zPx|op?jiNURt!r?3ptVOI3?}93`bB|d5QQ4)_?D(iBoA!S5`O=WnoyQBI4PFS{%&V^Ebdb9ri6F|;r>At$EF+BnWhYF< zQ2+KtVI)L#0yh7uon_cAmxb8X3z#Cp$#QCUBQgQ|cOM(QW9t~le15y3A(}u z5kh?at0b3P(_UJFOQ+e?kDauHeehPk=5H;g{sK?s^p}uWGdsIhHGk?3GQ)gBwHk*Q zg%5Rj@UmGd1s!El3x;~~=F~jkMp(RKeaF?A{28hxqQMhor*!Txyo7Cp4_0&IgAZ^O z1RvkFlFX0ZUou`Xp!7S6ewd(I7Uo>8d3#{@4Kd_lI@B_ispJ&2c|G19?F zZL@lq%Z=73K-|au5$FY_?XvFe!+i1CtiiIM;1p zQj_u0;|dj5(yL$zRDiDQ29~uxiN{0g8qBBce&wL+Sl1PsdZVQ6pfHcG9+Yy9^Gz17 zU5Y`cWutbu&0T^LJTI5F+_7q?$d=uvo(IdJiF+moFMfjWXu1hPhK4B(@Y5JQ!g1Zf z0QfOW#rMfw_26+!8p${zm22>DSsodFwO|} z=c@6}U!PY}bzm5Er%!5Di>_xbc$pX6nMo_4psZ!_oW#mK&sAA7n8l~jD^dDYPV3=l zjHdGn{~(1Zj*i&N@G_AWGK|>~l(|g=GV*T({|v$@EjdGeCT?e6bkqmDn_o0L$Sr@C zPKu{zsC4$_cX-KVMlSMD4g-D$)g|i@$L(sd^$1Kd45)Gzp+i<3U#6vB!ul<^T4wg( zl+&5+TG99?>w%hcoJr4hvr7A*nrTSFn}@SV+_K?a)WR82JG;@NLYj44g0M8}RVrA& zjR`SarQKir#!qDST}u9sC0vc+(HK=y7dLHbOew_c%d}QQlbBk+$6vpO9$@KN9i}Fu z&3sI=PIy42u%X7{V1&^PpDodch2XY8ag8roQg%3J~J38k-peYcRWf?$6G|!$b6CVTG z645sJz@p=_&`bjSnnCP4xH0C0rO9n@+k(4xA}rZWKQa|{oDaq`qXZPK2c~=792r9g zdM=ZWeRq+}cRXY70#&oN3tL%a?1d`Ij^su|0F}Wxtgkr&{Vc;3B;j>tOc%sh#5uKWvU`Ot}ViZLA%#4~9bVn$M8 zQx!{M9A8Ktg)zz%(KRJgn-;kQXf-Q4GbGtbxFaRQvz5#yqQa_xonXhTM!iz(s;@PD zpdedxy=AyQ!7K2B9iuDo%AznYOzmYXu-1wm3whySAZ>)78fN)Wa_u3F>+Vv0&NXE` zXL{@U#7<|mX}25~*cbv^*=@>G^HQ8U)ll@YIG{lujF0cYM`Zne5nb~=RSXi3m^XwD zc%D$&vMl*ygPn}V^8}Sso&nn1>ozT8IcUFsuU7`WxTi4m!P|mt@)5>E^QvDvDnk;^vjZ6K zrPGlLdI8@fYK8W^Juc_n=V^T0FjAfq`x-+G< ztMC<19Do`qn|P%i(aCHqdz|P>LBGPT_1sQhE!XlOxb*u)Aw7R1=r(@HegYcrjx5g9 z>n;0>4gDe(+E#hBma)BNJ=Ob*uLe8FZCVl2*$x|(#Uv#9_t0Fib@!y)X`37cOOL`M zmk5t=^EE6G(y#A6+aA*xdF(k3405)34!M75GlM`26LO)8a(^T7ulGh)R@e z_v~#;)GlJ8Y9lL|x%|6O5WQ`1{ElZ#520)FbQks9L#E_Ufg9;b7V|Wg>e=1fYH3E@ z|6KhLLKjjS6Swo5X4~TF2V9g*2+sGinh;*=T$E<80DL0=BHB^A_vlT@XO3qQUWYbZ zjC^^%D|rXjZFzFzYo4~SV8)5oq$9mmhg*p)&C)3*QPPVcfADCpB>S5$f8FuLpuLCSNA7uj3M{7MYgugURK?K-V5lqp}vOMhCDsA^a9?~)J zY_}@!Ymq{Z9F~&J*)K7Dk7mc#)FfOZD5{;G%nK6SWh$5#N|#^ump!17z+r3h%hYhp zw<;mqP6xe0KkyM=qc?kzoIt@W4NXTPKF!GMzbfVkYhm;@`cxj=qhXnf;oU)rWO@{m%C(Zkn#@%i-ODJ zbhkkYJSd0i0tda8xqFT}wTrIAE{*)@OOG__VJS_6@yq=KIPEe>`)ybhR^RIvF*gOA zbIcEngN6MZ*p7q6x2p_^f|}Q27aLF_NAWHj?U3y!l5bBPb0YWlIS*@LjgziQe3c@J zQgK)e-XZ1B8D}Q3KEH91&R3Fd>GB72E=1 z35)@2CP=>ZDckeKwfZE@}=%6U1br2IT%LPf_oO0G3S@EcaV(4lOSpeXN&Vpd@i6PPSXQP?T%?{Ks6Je zJs=g}cw)Ld5|eP61b3jLCd^1<*~kuBz`ZD9vuv$*k%>9sCA}@0d{Gc<=ia`f>&dct zWB#}ZN^;LuQd!@cE7MDDc{edE!LnBHa8Zvnez{8xU-`9t8xi$uMWju(Pc_{c#Ga8P z6FN6@3H0rz{`AMN=45p>nrl@xfqul&OOSB0tGVDOwS8_56j~ThiyV$r$*fA_iE^t^ zT!?0K!G3}8Z?nKFQTp=>iX1g~GdrWF^33)VP|u!lIWsD{tEtHj{%=A?BiPyKxjbP} zGGWfpaTccbrSZJ9H1`}I1>EN!FARi1&U^NLI^J+=92cf6k`{vqq!(a1 z%*pH$RQ+^ELV(G6%hfSXjZTCY+*SyD&F02%8mH{$mt9VYe@wH?P_NJpDS|20$F_kQ>Z_n40Hh%^z; zFN)d`z@wF95?le^e`qtEU7Kxsb+_6fM=Y6MaPh993FH_Y4KYL$+;W>w|%;RR~uSYxcwW z1UhIb{k^fy#C&lxzk{^ZotmYmU0Xz_Y{wZt7t_kiVsINo@QV6x@$TZ#4r}1c-Z7p1 zv(s)9DO|TFujnGve3FQ8@>NY7aCE=TW@(r7s8eF%_ehHa_WzIsp+Wo<3sPWhx_VZA z=WBVNscfAtjqCXYODB;_lzD=YlO=};E!>^eKv>uE*#g&a+Bp)pv!F1yP31TyLo$By(Wxr%YX(mn}S|I?S6qGW=rcRaoDF=-HCbTGA~23M6;~m z-!&@P{x>1?`9-zQq#$&usH8U5;1qvFgO+JfDg5#1eNTo7PPI;Qoa%r45|Hy#2cyQ* z64b6F4sg+lonn!j5%LC6_q6^T8PMY#@-Ir@eEBA{xFMr6>Evx3u;e;I9u^Ao&vQEe zfuC8-aE5Ymaj^wy%sX6G1C;>?r{#0~XbxF4ihbupU-dtIz(1k%m!-@NAXqch3Cf0U zslf~pkyuw<$t2g^5h6Rl=(vl%k2cZuDM96OVo@~^CuqGd4xy$(fkI(y(aa|BoJ4|f zS(q$ZQqt9PxbX?K^luejLuxNiR8D-g@@w$}^4dtt8`R+ODN&Th!+FNSckeXU&0uQS zfG##okq+Q>ePQYghC|KM=R7n`*(Q#o8X~Ln1xPUjh;}}^4J0%bA7g9{`Rwsr07O11 zWeR2MuZ+wM64(X=O$BeV^oEtl@bzhgD6A&({?Nok;1pBXh@;;P(!!=1)m;*|g5LLojt)Xzo&D+Vd9(M4|N}?$8(o*@=+`b}l1> zxkiL}VvI|DeJHD+b^1I00kSH|8Ew3RNvCxVCkme)4(U6o_p{ohYLF%?mTUfAU1OOm zc=N%zP*=WGzogJR3UFj8J~=ftq*g8+cLTw$?i~&)g<;bKI8j-3Pb>SPNw3evX?3sD zBv$h_%NO%qXx9C+u2WpiOW@3Xq3QpomcNtdStRge=A@CnQ(F8Nsq#TCe2Gv#$o|n# zOGo@WoIa1swfv@z&jxM4^DBN)|7RO6h4TPjK%u|jp7WchJB4Ovwgavyd$OI|HhBt~ z$mmaW?JCaNZ619BzH37=XapEUB&#%KisZJ8C-^a67e)Do{kdVD5_pO9VZq!&X;{@W zYbdUjSg+)v&)pa#4qRBJ>EwZ$-P7b6l(A`WN%45)#pM$yFP4uasZd((7J(DS#Axl$ zR+=vJvYr`s{KPTfqh8O;eEj3iMLNn!o>>6HaoBdzgVU#aLXn?Oe@bF$wxKj=?0rstAoO4_?Uk1`+ z*r|QyWQUo+#Vn=T1K-t*&xRu;SdgD7^ zdd|@N#L?dGaITiWMcCw;PQH^vXCOLYQ%(F6+V>@qm9yLjRufc#7v)JPQ-CFxi{F9w zf7ai!@oA^2bX2(0lc0KTfT``r#aFj2&#DLh=A#$H&FwXAHIE(FWKG=m)?dMFy#p6t zQ%KibCIBv*%KbPD%%dL1L9x0YyTJp42V23SRCkZr-+Fu6Uu$WG))%tu;RL!i#n&ChJbgk2g z$JL6BiYuJZcOI@Bzr*JAIzGMyr0Rz~Dx!A=V|ho_u?@{u^MkjRUAwmz;iF#3C>&34 zno86>+@wnC)Z25$A-BI$fP!fmK>SRght}z)6)^ndk{2giQXly?(*X$Et0``g;G@Jc zZ=KScp;yk3q0Z-hW)A%%M_%hYGakznU zcCtaW!TCa4u}gdUTxgjP&{kh~h}XAIE5x1L?ubWupxHDmjwV)h10xnU#<7_92|%0l zCHGk4>2K|ByYn)m!69Nzh|9X6UTw?A5F1RBv(})2%#!aJ3%268j2-LGFFKC`>xFlv zWHQfvO4^<2|Lv7ZTyczKMnd)cC%v_BY z$N)D{Y^fTOe_8s~u-X+TMkY>>4_J?jQSys*!z` z8Lz8Y`w*{HLgeF11-NjUt;giWomJzqoO()huw08M1H-ktL}s;CA;5CL$8O+j z>Sq4?L6!d2YT`zHViH)#YB1h|4@b9k#nWh@!$d4Hq#(fI-EHmY-)D(sl#ZPZ`x92H z0#2sgz|&3lpJsAeq-C7^Mg?5NVX(_E4mP7!V@*cVKYbt(2OH<$PrSV1Y22$55+*=+ zuvgCmj-M)#meHtasXACZiKN*c*Kz4=kJb0JLJS%bRhfqPf0DL_O#NsJb%GwbNjZ|U zC0l6<;^?9}WQo}$t`z3{n)OAv^;6~vag&cl4qnmUL!25{%S2b#ys{}3{VIB`>jXQw zHpsr4yNweS{;9)wr#* z+#9l<%Vg4%X38OT3lg@!C+Pxw(Ow_y%Nz8g6^@#9muz~V8B+j>y>!Tl;2UGe6lc3i z%l9iINgG*p_Vv)|-$8UNGsH_t;5*SZIuTZQ*J#efGcZYD47z3jLY(UCuq9^tunk93 zOm+7^*e-?CG}TWLFA)fQs~%h;?%3e<a#-jqh+M-=c3DB_;}yzAXNU zs^y`|xn%ROxx^4UDibP7u-FL|OIJ9p#7}G~CkPEg_QmnG%psOfQi_7Q`oY$a1iaYk z6UB@J-vm2DnDk_oGxoHw=TP^3)?RI%Qsxgr#$eMBXhV%Q($1%|n8IsCxH z;Qf$ilNtSH{L&m`S47z{KtCcRi(68$t{d~i3xTLlHLw~?OWZIpkxRZNd@KU|VB`n7 zMdRn7gA~TFaBthO9817ZSo9|Z!k7IML#&wks!0^go7uwHG+}8%5MxZ9FD6vun<_9a4bH2U@;0;* zLk=KX&${q-NA#ay+ShgqG5Aubs;Zp6--!=!omh41C{bK^PDEs;sAx@wAPSV?wsCO& z&~^C8k6d&R7KR%=5e=`bWVf9RYY-rljb%lIaT zM+a(ua+ipZQHr=zmfe`If}y36l21S!$&4O=hhXhBG%*wOpW{rLR%B;217ewe{VcI^tYwhFiWBPs&>)5=jX55{Z%f6}d zTEd@*7T+%peY{cTRr7&#iCc?ilFl0Gm{zBDI@ViA77rKAhf0d@VFSi z+qUT)$KJvqg|h@O&B*vsvv!TRb8GJ_aeW#%ttiy!2FJUIYi+IL+6=bnQxIPf9Q`F# zgbAF^c{c$Xab7oy?LT4IcCBgCgaV=dm?%1^_Ab8T*kQSD`}PURQE<7xCQd9$k*+#c z4c_LVMLD$YFy3Xx^=UiY$Okg_3^zfnY-IC`d8mzA-%*tol#(}&z}t(* zcsC8?%=$JVZwhoN$qrm_&c7nA8>{z=w*$&B2}4?D8R>Hkhy@v9e^BImC z2!W2V1&CW6e(z=_3ZL`m3?+Wss5AO`SMpwwoS1C|Q2+=3VYes}){`L%#e11l6KOcl z*+H(Z$bHrlZ(}(=3vh+jDB@RTVxH%;siNhCX6%S=F8k%0V1wd=^<$pl2g4)8g(s`l+#6RF51QK-boSl zH^)#V+JL9VrtVpW??v|0mUe|b zMDQnFY&o+;_cUlGJ1!w*!cS>Q6b+TtlDVK*{j41^5!l_q;vHB+!(EMnxjFq8Qp3%j z#x-rjVm_j&6Tg(FHFmuVgUFUKoM3I{z-8@Sk)Z1^mWVD5&ON9m$b#A>XLw$wRK9##UorzI5N?UE26h`*dQI=;L%QI$DCUY61Rf zdaCbOTA>O1QaeHe%phEb5Y^~n<&@*9Q5%l5&JZ}@i~4L{qI+&|0&?4(+ih!EWUcT=w5N`G_8N%a`1HB>eJ}oSVktyH{jVe?N`a zn>i-4yr$$yAglWi%Kumt{I7c(R8@u=|yXNx<=WK;E1Wz z=2NO@Px?CeMUM5GwXV2Y%B%!T^n4};kR%O8c~mVQrm^9MzlRSEui0;cbq36@;cl|+ z|KrkJ<7qEX3mc#?xGRoT|E*%IJoMd~$5CdO@Houd82((YK69~!nhEqtoz}40X#Wgh z&i@%i5oBpl$M}QPE8Dd9tA0MK(W>)RW(0T~_hYf4`pJmNU@}lcct{$p#Fcjr`SMpJ zXTuR(5HTU^pSCMcOhH!$P*2UfGt?P82Y_o6Y%(&stSeffa?xCy28M(=EaknU=|%Zo z(>WYcH&Yi?>7FPI8-ToXo`dr~%QnqG=uKUhi-W#S=B0m(aM2zZ3)6RWSG#Pg$!29i zZ)UR$u5%(U6pdaEPv{6PS|2Ev&BGV?z%{Mzq2FCT(M>l(Ax)m)5*Krm-`nc69=6P@ z>+IuoI9Ue%F+hvvI6o5(eG(BW zgi0FP)v_SMO?#V+UT!i;)OSR^{1rL#Jdq-GX|jtLlehd)yPO!4SkZvq;4%+gcy~50 zinIP!K0XlA`qX%?akZpgX_+rCqQ459E3RD|e}7u0ZaHUpUOuMDH&PNl`Q$?8dmD?- z3oyc$%7$WUWV%bdOaM#;t;a#sXSiKvH?26bm<&2VHqJj?%=zdZ>#zgIow$GTk9O$h zuGW>9Z%2AepSyI$*h5rSM}EcpHfgUnD>^dZ9YePY7~x;ii8b*Ukbs7*GwYqb+Gp`X z4E>9PpUEjN6H`cl44V~b{>&SHp4!GNX1h#9k-BB7<8eA%o{uMEemg{q-tqJzSlmnu z(Wl|G^rG)|+K5ZodZMYFtTJ5094a$r6mIty6?(i|<0>5B;*tw0d2Bc9hL#aT&^#Hi zIcg6E(IneKQxf4%`Fx+*h`i3MOnz*p0-CUFYQ2&hI z(7d_-Qf<7G9brm_3vTS*hoStji}i%?&M>GTY_Lriz@%-{X!aa^DR>)?|e<>lY@8GY?dc zZ05^AA#ZdulSasKi7WEx<06r566-l09n!0xmyA4``{!4|hXCOw3gU|Sk!>)yv*N;R zy(iU^xOnVOXKiJLYmu;tm66{qnc0k+s8~JJ;UeregZYKK#KP6w1)khPjLt z$x!RWWy2lL1b~2PMptYe5Y)n-oF4_%H;lP*iB+mvTf=X37h`E~hV@&z;a$9<$Pgv< zNy4o;B2zu5BNf)-lQ+npvTB?b1H8Qh?AJ~vr{5FN9>uMRkCCOQKMAJ*^q)!?Pz)n< zn47~fVk$5Wp~3|G8lE|V{goWD(kG<>Px`1p?KEJIQz62mn?Nwcu; zAC^!ON8&qb@f?lekY*((Y%}gW?T64>pMav#mEiS#_(3f6v19yDg*wKB@c;`9YW-Jx zqXu>~^Ny>MHW5poz~{R(*v{gUMb<-8y_6YC9WGOkms2rSASR1`XEnR3U(v@FRZk0| zZEmm)Cw-qg!y|ErEM@egIF92_=q(X9VfaNo#~))`e616gUw*nKK zbqdb{H)}WFs$JLb^W9`5C@$OK38_3zH8aa48<_lLmpt(PI_F_QP@PjM`5Fz*pi>{34}2TebW#3Xitr=KrRa zy>xozt2aiHMQnz{`{*S9rT zTAvSZG`1Jz1J8o+1dzD?_C(<{dy=#>HASHPxrjC5U$;@jZb^&HX+Z=bbwIPuQ>}XI zGceQsWVyFsdbKI;CRB*2UqYp1qPEh5@&nzvJ^lle0ADbwWVGbGEWmZI0|u zKMT7&29o*NXto%I_Lztq{Ppfzeqxb2z7#qCSTXSqr%zkT-K42lrrWxZTPc3xBrnc7 z+R@;AA?e+V7J(}skRam(pP4dQjOX@YFx>*{8@@*7q(E_^vXZ%jH7hg7;XJhwz3jTI z@i&*XV`;DQFq3a6?c5GopgH0y5j3AAv zz+ZBd_;7JD?)R`C-21#XlG<`1HaS2F9ruVDV^--M6Dv5 zjh}gN52$4T(K=!Mt<&m`>EQ$(A)8L7HSu*(7dY#jDt(`(HfSr%L?U{q#e8Sqah?68 z^+bOAq((Xx6DW+iKOVAU50ue{nZCO!pYJ=zgt4D*Z7FOt3VA&flv~?gA z{w}nwcXDp+?=GFq>xEG)7+S|qk4MdNFR40N5gRkxlLRn7(w=)`Wtmrhz-@YTZ3HWR zXY>}yUH;G(-+b4X?<$@!_Mz#R6jYcKz$PEgQ}H#HhZ}M+Wx799XIeD9+k@Rn?X zHtIs;JK%g{XN?riWYu&rg0xN6PcZH4gZ@d0H|;p1f|ccoK^yi>W-r#Qq7f6>Wb~c~ z3q#*AN6866ZGhS`P8MI_n-)|rr$hi{l53o?_{WimT*mXtN*a#Wx{|EGU37)qZtp36 z11**ZS_VVHqSgbU5;OumKMs< z-yTR8AxjN*kl=COCi}c^72!Rkv~C2*@;q@#t2q-f7IUb&fXJJv1HB{a&*pBNwf&mG zN22IB-#chSzKuhK?H>*yc{`p+--n9xc_N1G2IIio zrmqT=_5|*!9^qCC)-};qrpl?D@1Ncv z{}t&+n+M2|1n2v3XlSAJ_m&%EaavzR>5E;FonsL}&915Xa85RW=Pl5!Q`(Y9&1szV z_<}yR>OG{^(})Ht1Z*-#;lEP@)>3+#cC{S5x#&x3hH9rT^s``q&%;W%!%nj3z=fk! z`s~~lS|=1j15Ko+F*=J}eojKv`PQClEck&SMA1Gz+Y`r7bH``UM(`3aD zMm)P?9ui0bV+JDsx5k(KD30o5SksJjOQZE=)5(-&JzOO26rBI*GcK@CM!kRqJ)!)4bViOy;f&Ovk8CBr^37-z}MLY zwvaGRlY(+&qQ!PzkhWc|g}d>)^K0|qF@^X3ln1zQ&1t&8&P1`kooLw0oV ziKb>_2p>m$TRtq`TS#pTTV1L!8J%1_{w~-zu8gF*=qPTE6dzT*a~D2M@}r*lDUsS} zM{bASBwB~4K+M_q9beN(?BnU>5QhgrvTa*c7S(LPHaATi+lR(td25vIK82uNx{pBgDaGo(8^sIV+uqWQZ z-2KJX`8kzikZ> zBqF9@hA^cv7q)ub92vzrA8kWyHA+N+ooc)ED)9MXY*T}IQh~UjYf3)h`U9$Y@6$>j zmCIwA$zmuGKR$9{n+x-&4xCvhsl7yJH!GJXQQspud@i(WcxMYwiM&i!n{nrr`Gj$S zAUb;vCEIkmJp74htG_yN`IZJ}**Bm~zot?xmbUG`p@VM7-3@eTl1^y*Rd?ibec-bJ z0*Ttg#IB<4bn$sjfVzdseGPTYcMR=Fiv$WvVqa$oWB%r;P1|^f)1AMw;d4~c&Sf^% zl=+s{rpccjtS!zDDV82oyWZ0O72&g;NoDg7ZZk^-hsN@t*tEGN3MLt&{KiXkj3?jW zv{v)h6a<>>45ETi7>W4lpf2ro_9^I1wXnUiR&Be`KYQx^PE+d%eFWdi520_&F(SWS z{S8uq?=$`yUmQd+lcnr?5~Bq0wpi@|E@*K>lf>&bWYa~z^E)(DC_O)l`nhsL8S^o2 zI1mwDMeNX!c8Ay{IprD}?LbS!bvU^f7cUY-ca7ioGdn7(o*nx{<#uygc0#f=u{Pvy zuSJGU3eYxWUHA}*B6Ya08Uow%YM;ef`O=N6VQpkG&!+AGEe;8Sy#FisY`^@7Qt+E$gt~i^KJr)`1`YLT+@LID_&$DX`b==Q>+IVDx01?F$ou zubxiMAHCDul-9|6vqpQ7!9f`|r8>n3%ewX-^4d{$cr!`TUT5Mbs?G6*OkVD=NaEl8 zY&zu!@_dXMuE2~Pl?o$YJInc2?b%Q)$Mm{R?7v(BR$D07|GngQ{>u_*acuoyvHS$) z=?OGyW?XKDAITMGJ@cE{mOh~>h*#JB&G?rC#n<#@l+XifiGAOCH97P=ga3Eb23w(XmaeLWxlfAX9=N}(Ia^$9vU$S`MN0x5FB`4>!I7FKtYDXc z8;xpVlM6z;d*}D>TCC5Le2#=5fdiiix3c&M;vHYpB)Xx5inj2$bR(JLehmf2s0~ZB z|8$q`6Lr`bw*?5l*}I9s`7>8h3}>szcV%_T$T7K!+yLrlke)GH_687@J;>-b*NKM? zb#m0ACxc(Bd?Vdli}Q2e5j8F6TZGW~4deM+m5~JZo6XT)TY zC}E`d_q_ds=H+*}5oshoy&hEl6mrg|Yv9zmq4`!eczG}9PXu-+<}vd+b1Xmtly&&^ zi_}syeO|FEk7L?4nY{n8;?3FoJSn|Vt$)@)p!%Y+Dbtf>yqv4U*j zsx`T10kXd8$4R|5KBsgUJD$=!%@SOP+6 zr$NoMT`ssot&$gat7H9RQ}T=T=!Y0^52&>;hpO^~-uHPA6_>ww`peh{gR}uKZOFHH zv~e?R(Y&@vj-D|ZI@7K}gW5QJuCawk#(C{lR=uNZ(6$@aXW|Yw!5`^@o16(UY=^B} zWEi#?D!Si^$BSMbRFttoYjfjkj*nKVxoZDekq^+X4{HA1rUyi@l2A1NC~ zo{k+n^v=?`eUt)}FgzsO7px?>os0p9&Yqh*C>l;StciRAK1P&wq@X(MtU#HTC?ycQnsA zry_@!?{4(C7)^cN4t#mqGl~a0k>QS8LIO`xJGmmg13M@gKC3q(%1zMY7VVQU#5`k> ze|qF<^F(0TYNJ+4@7;Y(cHsHIWk#17FZwWjgQ&&jru5mQE2_piyG8jtS<=`cmA~zo zECtj|K7kOK2wO)fGnI))#DWub$cMuZ)hqoibP0t zXh>C!i`o8E48CDYTjPq3VVh;+p(?M=D0oNLOQ}lsL^OF^u4>aapWk6;GSR_hV>oaQ z7-Gt3V{9fRkTcA@cjf3`axBcZn=8A8Lps-*&*^Y%&waMJvkuC;skuQ7UR(6Uw{3i&Qo6xKoN@A~&sC25ULNQnlk73Y zdPUM9$+wa(Mn?{k(x^O6_#^XlwJ!4+le3XYyxOKz!`X&F?OLuVLT5O`a|V~A`Ik{Z zkE~tC`K&}4BN=FVxcbQ{SOpvtBx~oWK9xEXk7a;M;$UN6HYof1jqc3%K`Kqx{f6dA z+ZDg#NILQ1(*C%VauvNa9CxA!*d1KUj`&GR(Gf(ov5odSOW5p77p+Cq&yO~nYGWsw zI4e0uP`35iNY`-?T+!{sjMCP9anwGI*sU3SL+%TJR`{$n_MU3pB_RiGCjLthF~S@iX%u_~I9qpfM)DxhoqaYdz$4QMS< zqOrWjjuAO$ILgobnQi;A80X@m&-lMMT2D}fAHQbX)}%dE@jd|Y&SesLMw4QhlsXP5 zUbo$?JZQuA9>`w1P0>4~=jADXQ_gtWOISy~^qts+PB&Op8@j#4X%0b?MRQbA@#G&3 zIktZWQh3Exo`gX6k&`8=$xi|l>3X^|5bO=XMM%Jt|IyA%b!b&|7ME))3;D~Vz17sp+`!uA)Q$R-;bjuDH@oSu#k{hMXf zeD9F@CIPx9Bp&P;{ElGQm3^#HQ#RV-;|Lxv^+Pc_+ReD`K<5o zT6Tx-$*TOG{DhD)GDWSjqF`*sN&FVnO3%4E#UkGa=C_)$cb!Cm_CG|Gdn_%JR<`Hn z@J}WdkX^V=35s01##@Ox~ln^$U zoxRcJHfRwzx)%!Z;N$eg0?7{i{-_ZS))UU_@u&`FurQpG$p3*jJ2KWA7(>AaOOIBxqm)gwrPj zy|PP2#>@{jFdy3>Y%*-Xa`P#D4DD(x?W2R`iB{kkbcw3r3P(Hs%1;hUCo4U3S%-7u z!t&?FfYXRK2cO^ZYZ}lZX&Njy)Xqbt+sGYYf|#NkO=9OcM_pn&qk|7~Gj>Nk^`)4~ zO_jQ`yc?e-mQBAm9WgaF$z7S96Rh^0#B$=(!4=l0^rSyv)*~yP02*dF6CtPEU;IFt z;q$IjJpFT1RZj6UqvgvX{r@qY)W}bGH(SRZOhK`I@1h6%sU%FJ`+9PW;+}pu_B!0^ z1dRIkim+3dZxK5sn()B0 z|31JyXurjOH_r%+K*0))O|FC?F=HGR<-y1}JCkFR)%FmxIwX(s4G%fUZ@mx}!Se65MKot0-NWyUObngVJtDJktiZF{ov(6bUv_ss z;(9^o{AEuEY{o}f7mK`EJhY)z|A!_~18fHjh9?`L!%9g0Gk$j?R26x2*#e}XuIe1F z6A?k1@si510C|3!i$wTkS=9pSqq1As9C}SLH@aJ5M_y9yu&X9HrF6m)bm8zr1GX`` zI>BsCJJO3C#_?Ho64c&C3AYkE|8(|^zz!cdZO288#=}=d3l?Wn^-}dcS!iwYf+*flize4DHI26mX5gXkHTe- zrynR4=$Na!EuJjdot&tJLs?vhjK59x4NYa?P;O5z*!3UV+PD}7-r!H(B_9nRVf8_W zD4yz`Ts^r&4KzWsD4vYrsh#>5jKIm}!hN1m(r?;KKEd&S0o}7GsO|c@wevjjBO23< zcnZL+omIUJgwFvtzri^EKLqcA{|Cy;#iky7ZIr(zdO5z-mz6?NgRXq)07-DUEe@eaX)M6 zGVj$1inTQNEQ-wWliTA_p$PKpN8aPPTRckU;Mn(xGYzY(>?0`)G0Unb+p3irA0Uk< zbe-D`prn6v$O6Y39KB`G4ntuBWygT?Hu!eR41*K&b#P^{aD$nQz4 z22lHA^T32Oe)kwUWRmoC4=a|cJQlH#$B|N-6rEQ%cgJe9wVg3ca()Y-l4Xp_4(9$Y z6^{D**Z>|dmi)K*38=q44OyVh_DbboIB2B_fU*n6r;*HAsXFXEPB;dErbL0CNpUqr z0$)aH_zoxc!(FrD?S4Oha<4ol?VYkqH|X&fJpe3Twr@Q#T%1t4)!5I5rx(uIpX#;> zsqW86yE@+m<4_kgz>0dG#R}-p(f%E|ldFN2eG(^6bp+{I1g%NL@*gY`2V9ey^L~ad zQ;2az9czDyT7P2h^kgAP^P6i%S*u-=IUyom_~cPw$cy_c$H6+EHtNzXH2(BEkZR-; zfsn`dykL!NX!2csq&0i{S~T_?nLR#5NSvmvd|;)KOmGyUAI-v3@XKk-EHK|umHyEw zo5K^nobixYA8eCP0JZrxyQx!~Q)AoQAB|5m=ZrHLCw^beRGD_=8{S$YYcEdhPJ~U3 zIdNzX|8%zirH!g7Z=p$u4RNJqTBVDZ<0uAp1`cz6hjaFDl*)HuznwJ!sW#!g+&+2D zSlHJ`!#t24{L1vZKE4OY6z|<9S*ISPcFhy8M3 zTG{HF#1^3^yPTm!lT=-gPUxaW{v2&6n!BZ|wEqK$Ci>J+cLIpNF$ii7dDlO5+=J;r`P5h-q-L7K7o=hLHIt8%#C!LtOkv<^?@F-5vrHiK zyG$VOg2sYRuKobla&>*}K^0byDmP!-+gCyn+zy%63}cH(Uj}n%J*cT*ob2d*o5hB3 zvf3uK{}1*yqwb#jVUh$E^tbpI%yEvYB%+_>mr}xm@UmVj7Y5GJ&>2}7wQdBnpN&wR z!NcS-{cH?y>jD1-Em$wOcxr?1|QsAi|6E)qP2V0!eKp*_Yi+$0WEV_T# zJEp70RQICgz2#t{nq6r_vrHe6Qk zs5mQ|E8*Tv>t!;sWtCjvQuuqRwXFa-d>(ePUh}(bf_cG|(f7G+|7H$n=;5xmkME z5x?EnR?Srg(wBNNw+TQp~J?; zWz&Z=G!p5h%`ZiC%+aJ>Jnix+wWm<_b}?@ko#pD@^thAE()htIX+5zS5?rkB885 zeux7rn5$)|ohm)jk#E*S=Z9Zpo7$BKohC1iDZ#MK;NdZC*5a%)+cPQ#-?CHd-%)Kn zte(ziOC~!HUpl{C#6J1gtSG%yHNM;l~-J{rQM$#m~Y|JgbH#7VK%==~kGFqrnwRd;ay8OnW(*Es?O!94eXv%VG04KkoQ@+JF z-G>WTtyTa5b#T=s_9`M+4>stk3sT&OKdfb2c>St@1G<4~8N&j;ie(U!q^OYDFFzD# zke#kU#N}zCWr=FSEu^kPrd40nCPmUS>O7RoDSccFG2SH56qC8y87YmqSvn7Hvxy$Z zn)0@`pK;Ez-7bfFF*E(_LKRfc0f)-+6;n6U*GV#Jy{Mz&v|o0* zQGuN`IuD>a>xVyai>uvxl?qDAT_dbED6y?5Ri?9-@e&?W#q$z1a}20h)UePr zX)&xTU4!!{u9g^%n$gi39_Wxi@ue@b{NupGZWs+Z;N4R|i?dho2xX&;^OOms0~F&X zaRlY_>)S_1q4im@xS-J@8}Dc5){2BNPD0BxW#yF2*_vfu@Yu+Q9_WX6Z$;xOP`4sptQ>?-Wyi zcPi6wSwOC40=i3ts!S{g0CpRiQKP41J7A7uc&tz*8Z1xwIXiInK!|!x_ZPNPv0ZKA zlDjd5dwf&c&{NnsEj3RY=_ms;Fc6s}6R%@vJ*jwsZD1?+gE{a0H6*T4we&7pX#Bdk z;uuC5bbUOUba(!GoaI}NiKfO6eKdY;FXV7>F32vekJdjkrMNj9ulk2q=vNnkSH`pb z%hF{L)%>Ylc0eUhx~S?EhoALzbv`Hv7uOez02mTKGUf+)c&rBBk@OBLlhMbgAe~0|RF; z2fG*MBliMdFoDj8y)xZY=Q&tC_+F#ks zQOx*Hw?=}>Yb)-u(m755{$8SZk!C;#rx!0k%ly~hTNE-s&M(FS)4LA z>0#BO3)(Z2njZU;=&}qG^@mkXG<`lOfZvb@H;x)yoba_gGtl@Y<=PTC!6r>7o)+(_ zMS*o#iHM;WWU6PsFR}N#m`p~M*y>-5rY+vIp16Iw67$B!Yk&=9Xz+8G6h`0j!3^bu z-^LS3RoJW7QY?g5JP00DTsi~uisRK3({Ete6c2YG6XclqKQ^*8ns&JrrSA+$Wq0B; z#ag@!7Z8zdOf-L{Lm}hwXIFH9*_gz+OR0jmR?Gv|9@x)!SiPNUjL>bF&?NFBo=PRz z+fEK!Swf#MPkXI&UXqlzdWr;&Jl#VIJtWloTR17Ev%ff{a6wbE!`V^!LIA>{Ye-g3 za*61N#;JNB9~W^!q}m^W!V4Q=fEAOS(+M7T_Yv(+eEn6Pw4fUv_QR+gUWKP|?t}sM z1bVi3NuHU`4`zFkGsGwYE@>Bj@(LA72OyLtm{<%ECDHOoA^Tu@GmK;1IJ64m`lsf% znfw9Q?=Vpa91<44*7!Fkp71-WyC(pRTIdxXWf1XjULJ5*v?U(}*KN{~oV^bS>~!ZJ zVaeQX>R@W+m70eoIDadBD>L+GHw5@@5VD2B^_f(3f^21M=Xye=asJe0V)ofo_B3(vA?zB(@19n_4{Ef2~{h z@yFhw^=+f9KW}s1-4Dr1j%8@PO~y$>BM}L(u{J(I)H@J>aXI3GUB5yAoi6~1;^@n% zGb(Z3Z?=X@G>y2Eo^14QJ0)zB%r}cI=N)-@XoJMLN{d6mifryimOWVSo}U~!#ndm} zQv;THi^~buWPGxf1$;1C_j&OJpgne*}Sq! z&d<|$E@SsDuVsq6IG*ymb`$`BMR`sPseLYh{S$^)<7zodbWmiE@}wB2QabWzwC#1R zd(cgmr5_*Yqw6C{LK+7x{fNZlSyNWCq>3+B-o&3e-3qABUC(AEWSM8*C6v@-%ecdv zD+RsmvYJWHHOVc|0b(gU%vET{Kj3x>qhGxz%T8dvms7%Jo;SG)A`@=onFJC#it({` zK9b}w#|J{Cy!6%F zcjLL=@IDL^bpV^Xzg+WbP%T4N;wSPZJ~7eIFm5TAec9(%@(12)QZ)JlZ@EkgGZ4kI zoBuH*-~MOttGGJSr^@T&s8ePrCh&ml9+Yw{ADz)9*7e~WeevbDV$Hku|djj1XDCXROKXsp$7_7)s$ym0Yxv-0y;F- z1`uniJhFMZcgK|sMq=UYZRz9 z^WI&9U#rf`MPxE}^Eq{yu!05vEujwR_R=E4q)&AL1(jOv787&_(i{Dxsk>nEg8ulu zJ~CRo!l;3sG5z%qKy=gx2C>ApW6c8!M7;LCgIL$XWI2*B)5wRru+*XbwXfl6Is zG{C!rJWRT(zz4|2R4kkJRKv-b13PgUBcp@-9IH_Yy??E%BUhbkD=;s?S5VJ27$(Sd zgT}0wBFwG4U7kPmF&hh2Ys)(LsptO!j&rq#6IHS%A$6)hb zMixt&lA2I6QxZ!ak+J~7*_<}26y}NNCuF(?)bc^)esb;Ez!LrhDx)@cuOmdecQTSN z)28%94Qv`JCW*<~;OUR)kLh5(qDmc%C=Mu!YLU%cw{w>uah_5I+Z(RjM>_tW7>cek zgb^q=NO~0O|JYd`@gd(2@j#Z>j2F}A@VCa-l0&6{VzfRkt6j55o0(7?A^rXIHU+P$ z%LZq7NOS!RA&HG<(JU#zKzxY+Dw>`Z?#Sr~uWg%?tgb6fyOZtWF10I04q|bVjiXx2 zXlwGzdC0bHSXN9fvhRqt{{EEIrBgbfmNluLQ?o}ecVCmjC&H+%D{;WJPlkW|L$(fC z3FAY@RRR6>`~^ZNuHGtC=I6}p-)C-6A*4K&E}U5x4Xw&7KJ`!N85!8*A|G5|>AZ&1 zkC968{eIP)e-gUACXsij!JL#wN*)xQ!L+00L^t?)3{cusWku!F)ccG4mcP-Y5bW1J zxEK5L#^ui7+jMc4xi6L#6sY~Q_=h~2$CZll&*VKTkD2VHIn$Bz%WYfX^vTK{x%^tA zg#3pf>&yU*9KOxW;A)PST_ib<_C0|%YQ19a;|FG9wuF0!(#I*c#wko9ou!{@P3Hza zQn`9O-B{qbbh!+J@@iDjLM8U3Q?S#^=fbB(Q_oPUj8EaY>@|z^;;_gfK?c{S$naI& zPUR#)>}HFla}D%wP(|2!E?=A~VoI%fNo$oGhgjf!Ed~SR>C~G3n~e^FvfG$q{bQID z?`rE#k<=fw%<-5uK;6I`b*7HxByf@tH0>W<1TdlMA!BQNt92dB>E%;e$i;H zrz>pYDYB-zoC#IvN+3Px`mpfCL!qK-p>)(NWKK%I3lf?s~b$`PbPNdHFotUu!?)QS%T% z4t}8`ZRUZ>eaE-;_!`~wFaU;h<2K&_Gy9!d zVWD}BF36NbNZ#e;hb+*zj{?cyR)n+h^kfNyW^vU1JE+<~-jJr&`_ zE>9+f;7Oiutx6=`rsT{f*ws)j7CHNe_-+lTJ*8B2m=7MN3#cR45U)XB-v)}SJhw6&ELihwlU5q_N&I&1Af2SS zVY68%K>PA#7q6&NkE%#Zg>kuU+`wQ$MgfeGT75zr%>u0xrmue#;?d+qtM#A^v%oC7 z_un9qc-|=@l_H6bd`4II?7{>0Pkj9@7O^vnX8Kr8fG~b>?zF=kk1YNl1JJR>L{bNI z%&;kp_MM%J;c9{YeoAVnk~WcLBD8=fI5=3hkX$E2kWp zzQCb1sCKBfPgn{d@5u!c*~PNBa#sdIy89YRgwD8vr%D{@xG@gZy!W#YC#I&DkwofL z7neOn|FJGFi08LP_f(y=5aweD2f~gj$4xE&WD??9BuP`~IE76nPAHWGNbD(DkDu^L zi*BpaLX%2>?@eO2Q;jW!wf0Ko*88g%H%>0d6v#WzInBpp9{i4_rO!>pxYV4CQY7C2 zAA41MhjSZC_X<^Z*-Me#7%V(rDln&Usu6-;z844a_;9D(_Wf2@-F9AAYRJRFlX9W4w)q>p4bj?}!?dJ#B5M<+*iK>5v8jmx~9#X%6>X1ZqqGUWfy8Uz?J~$js!svWT z!{ez^N&Cj_M1|{({2^&@S;`@oOHGHCWBF(=#q!tZnuN{hfDy;pBHb4Y{e#j@~p14^rx}2v#mY2aN zy!XZ%C-t|-suR}(FRr=Uskj595B>p7K5H&4~)u+Xl9`5$N zs#a9JKNqu;CwdG=)qFC$b?aIwG)>|YBr^llFe4_xyI^=K_tXx@F^}ZAee*gMRF6sd zoEeJgb<+Xo*&pw(y7#%KL*C_@U<>vr6tM)f*<+I3noY+^^4I#+(kQBiph@C(vJV(r zCtRoF-b?ob;?)-lwr_Y3!)%O$I_RgsFA*_I2p562eA$%BA zuKK;h5O}fQP%@sW%^4<(i;2eRCyfth6wvx6R`3&6dwY%P31ZCH@odVYaCOJg0u9i$ zPckB|lbXzl^q#fSNv><|jx2+P&uWjD8iXZ@=eYsqo)l(~)sC9&coz4E&^x%n49q1; z#!=6V&5WLU9HZ-g1Sj|`u+=m`zFLZCnf5l@o*L5oy74t{!HMOGx6sgcrmrz~Ou%1D zF@#D1!G3e)fmaly(0wJiS*>}Yk%QIk5HMc38J2jVkM2H26)F=T3-@_S|w z9l1*P8^T}qlfFflyVtl6-%<5qp;9~%OY-gMj@$Az&0`AIH?ESy&J#+%Px(;m9+yo$ z<`bP6+T-uthY!>9{*=(6Jx|grQL|twJh^t_am>X%w9T2)v6}9(A{VVWE@{)E6czG# z;OqU=(XywEtCJ~v-EAE20GsJp1o#Cd-^-JNuxw&nRBrR!;7;?M}9G))+ z_`+hE5${l%_DX`^d2aGEc* zRAcIoN9i2qfy?-@p7UxHWrM}MKn@;JJb7a`vMW7K*Kmc3F%24SF0Ze0n1C9!B|SEu z{@KCkk4$GG*34Y;;_{r3lV=S1bx#|lIypCgDI{<4*ZffjE@GedMzCV6t%(vcQiEsMUA&#^Qj(K%TZaS z`8hF5cF^_7`Hw{kZ4=bCEYHZ`JXxY2lg=%R@Xh#c^4t8eSZKlY&I(4SEG43TdIqo; z$8yy58`!OB1Ckhm-nI#qcyc_LXXIIm^41fd2%m<@dB@YAjh3HhaTgjmFZ(iyv+iWY z(M^a`mzpgLlSq-!!t9BufH&aKu`$nk6B?tMu! zU_}^{sYqd!X1)VeqxfgB-(p((>8=vY*K2I>hsFsP0NNY%-Gip8%g$?@6>Sintj`K2 zlKb9?)cV&>ZgxHt(jZY zf@7f0Jk~GncTm0S6q9oUc|PuR$fr=O%oz*y_KCHIGXG?^c}Sbwg?kXFaM7v*Fk&&` ze2*z|?%vQ(sdPgA;aerOQPTvtlHE*OB5R;9RVQe$S((Lde|2ByOUsuJ6hw=u7jhzT zYK!K+Vi{uczCDmzCWJEQvbqX_?2FhDKNWUeyw3Ka{oC#Yo8)u_8@|NzTz`SmEwnz% z7mbs#m8r05k@i3uN)=9ibXG{+Y0N{#a_eVpV}EiC`qu?c#D>G~DEi#6khpQOx^4I- zbJ}#9sxYG`6l6y48-E|qXW+3A>b;%cma8*_d9R>&@T0!g0%~8Ic$~-$-%i<0DrmP! z;#t8&@kS8EY}^W(v^lg%0^;&?}Rto>Axz3(!KuOG`btW%o5dv z`CfzFpY$Q)>M7@BAe2`rNx!!nJ(!-CNZ5mgUnN z?$>*&`2MJir*ZZ>uwGGC0_Q&S5P=@XXEjka3xDaPN}9n-?aom;ao>oRb_AB>k?f4) zi;VEK%WHu(8JZ*_=Zb3nI%(OaRWtWEAKgoka_pqWc-(-FfBIB5*8ut3pcBUxW#bLj z0F#GBrpkrGGavaQoUCfDr+G4}U z3;o9rLT8Jloptz}q$#(`qVtOT^N}rNY}3F5&!&>*xi! z5_Wu9QM1}GQ%sG#PW%0x3*DGfe@bnxYotT^<6H9ONSVKbGF$V&XYO;>F;p);7NZ z_V+1&PxOt(NMJ`mZ_t5cbTo{cwcxigHvh@2^x0yt=@p`=wVbF~ewKESS@)jS;dj1e z#n2E1Y563(f17OR+%=2e4>Hb!K-h2jan@k7czXsx)b#gPb+iSO+m(FQ!8p=wgIte= zO*CbbN$1X;WrMkco@iPX#s3DnZgfp2zUE_to)NfCCIj(~sXd>{?F6qj-Sh|ARPzo9 zZK^!g#9gi9Noe%1!?;!DU0A)s~csg8LbkmhIzVCv1!h zI)+6(T)d6xnoLqM!3^_JFA>XTpTX+9#^_Gtk=F6T`4eF;iAC@{=h{T1w@4ILji*iU zh^M(~thc9W5klGZF1T4ibY92ZYfH@ni?Fi8wYp?{9$bW))`bu&AD zpr)Bwp7*ew^o_+H$9T$;wdWYOx!4Sf!nS-#lR5kJfZ z0>3A-PJc(#&r<&6bRuUM_m!*?-yMv}m>-4ZF^B zUNPUA{EUeJDv*7hdEfJCu6p`W{tN2&;c z?1=DPJ+A#kN}bc~2CA^W=ZU|QMVcS9OjZAB?AhXKVTs$Bh18$GVnD)IM`}gi;MOit zbuc^gvIzqwcUR)DlK_kXfq3O~Pe;u}b78oOasbc9wWDE_*M>0cZnVn~%w9VjVjOa40Fj zj~Gc(zCXk@aEbA;I?_tO#r(BDZ$b5Su;`tV5OIO+f;97V>+k%MMx5d{UT}K)R9v2T=>bMKFgD$c z1N0MEe~UG>)9jkCNCH&6PUNJ>?S%o6&G!yEhcbc9L-b}8MCs-LTk^=$XaQb9US)ia=z=U0&p%P9PdIaGLlXgg2Xmb*7%9|V zzBy;+$kr*+cVT!3sfhj6#@MHAXAjB%H4kna&2%wZS(EY0605fg?~e|UF5%HyJ$_J9K(ZolGp4C@^pOsNjEeGKiGFU;1OC&OZg14j80IsQwlrf3}9E4{7KKlhpA_a}-# zT<8Y3E%*sp&dwk{oHI(RxJ=R~r1g7oxMLhi#C*?>iHoAzdsM2|S)Ue6;+{@9RquxN z!Npxwwfvq)GV&~s2Y*>B3~z@ECSy261%XWnY4@4T-29bzLBtz2}lm|de6J(q{FiC z0 zUl1fytPsO^@j~d*3@`uMA-9N{%z|<>Xu_9iyR2L8xCV}Ay8~C6VYLbS(9sz#`;Y8{ zgLxj-p!E7jaddzDYMjAzJQw9paCgg6Y5SlyL(WeV1Z36T$Qo0IK#rFez}zM;2_dh= zAa~-${eOaL&g2o0a`}q3jDl6>r z4K4;}K}Frp6s!fMT+X`48AF3PQ5caA?)*`;n~Rk#5Kc$W8o7%+VZ-<=E1m7D0#+os zN78F@PefEHU>Y`~DHn>2;S{uMcWmleXtW~;eA z{<6r=tv(d(DlT7;We;vAF_eme!I5s13^(ZZhXl-yFRoUbw&Ii#?-6}vwea8U)(a1&d>Dd2;q)FbH`Qu!Kn-ockd9f)SzoMx4- zXGI`DhwjUXJ^Pqv>=NlUeoo};%gecUKNwQNO|Tda8&AL^$!rs3pp>??cCrnn5dX(!K&3e4&E!>|_C z(NB7jS2?2^2VzmzTo8gf7~{}Z7R;(&T4{%4H7R|e0Ebv0%23s*@!!R|XiS8ud)V5m zaI8zFcXa)(s|?RP?c@c>7#zq-2O52SVa$4%IeP@lW@e0jsh_sxcwJEeL2`qm_~=Nc{Pkt9_7kpdJ!(g+-;Rool0Y%!cm2Hr;ERn%?<1*3G^l-J^ zC}~ekkl{3JEEo2z%TykWeA(~E3w~bUpL~VlV?6gp{6RJjc6_|fR^MOXa@n`rcx4JO zUT>o@Z(?`iNBwlYQWiR$5f~rlsR&o#^D* z=PJv9i2pfe|IqIt{S0*n%9q9Y%sY&5gWMLeYfU*bO1mlx@~ctTLhAjAsGT1N9gCUq zm2(jbvuD)_XfAhzgxNwnKKAfuo+{ipg!~@kMZ98aIkOTw@z~w3sREaa@x0VuCx0Q9 zKulWA2rf=Df8{hQj8|)5cs?4$z&^T61-16DN>#_2We<@Wi{FoNRup^JC1LknW@^zy zc6nGzO;s(8A6KGW*;zE8`X6uLWG!(S`$7^G(Q_RC)3Fd(6ZhIg>wIZ7Ltng3lc`^E z3oL^G#Qf46WJCxwRQCo$z{KG&`!aFTpHN!XWL6|V_~~3~AiSqU=DU6^;FoOHE@_j9 znYo(o5S;fk-cvzT!l=z`T}^}I9Z{31+C=8e(2%Dd2z|CP@qen`kL!FMxGLF#`nUw2 zH2%$@;p1@7-Xwhbbc1ZSK|F2U2J zh3<7R2~PH#n=z~ewLL$FsR}2xXh`Clj=})97O=OltNW$$Z<7S!l{pM9EfojIDLfec69e)_?e0 z^my6@44Lyrb7S4&Nwpzh#n_^hoE~X^l&?;Vzitz~(Kuz>v)jv2(l8ELA31WU{RVAA zpL9o-p;?P;Kf$%->sE=J#d3~(63SGKgLF6JbEKC|pGB5eQ^ZMX3QwMl4-nhf-)>5g z^u_=lr@Zwhe(T9hZFhMNK=B+ggi4E7A_>=ybCx&R<;vzpLuh=sqVaj8YlO(>WKg#Wj&n#DnI^c*41BP+h4*j{muj71q_mBC7-2J$;J9G&=eL zm|bl?5V7Jz5o!O?J*G6rd)x`3NLt?xfM=1OC$tbrjIl#*W3=rzwl;X=NWDIOl?<3Wk*`RYx$wv~;sP3~1+Y?-qfx zd_JG>d2?6FT9|Jiu6Qk`)DL+P&v`Nb_P+yxf_O>}Qrk6oKHPdZRWypbs8QjcQQ6_B zTfbc3AoQB{y;UJLq!b=O#h>WfjZ-`>?vE^`dt$i$91CHhQi0g zez~BnTJijjrEkn(dFHgeHTMNKHYmylcB~}J$6Q^A-?$z5Sv6Sv1I^r+&X&`iZsxxp z7#%^MYvh{O@u>0@r>2^|Lu9bFtdnZhA%V7u|H&Qb=5CS1%3{ACedzr^BqoK`MANtO zZT1E!aPX81B3OON1U%Z!LUqiYAV%pDztvd#Gpbq!Wa<@4`|MzN%Cj!T8)yYAGnTv% z3gu=G`lEOA5y_jXnmnr zRGsGug}O^m(dmr^V|Wu<0WWh|nQ*d!TupZvtR_SCdcY61YhOAB3ZY(hrL=9gNu(oE)_w)0xK<|tsm;#5LhpwDZR<=`s9o(MpDn< z#O=Eih;CqNQWCy*pkAp_{%@vP<7riIDb*vH*W0fxM&zu&BMlcLiEO$M^0;*W$@g}h z)D4nw66_|L_vrBtf$8`!RzYoe3m59>KCk+TuK|*`(h@jb@L1prA5sQOzdU>a4Jur= z`O^y;YQPmw1bAq+BpE-@l^=gHYknS1xi zT@mBb>be8TT}S7?qk2BLyJ<&6Q{_vFie@&&?H&35)1kK_Ot|IvAwyI9F{gm%(>jQ> z^y7%xV`>MgGCYyBcFeU@D9SV&6smUOQb*j}6v=cjD4w3ym{VTti@ao(@oP)cBI-jZ zsGYcLt`3N%+rO9wJsz^)N~G3+KuLRc%+mxc$YXOSSB^-N10nzK2Jjdi&|r1~y_Ii7 zC#U~L*9!5<>s+Ur12WlSEY!#~fKA5RDyd9Y=*cJSvkI_=_YnIPRsZ8;!<8MpF(~;tbW2dyfi7NUn+Z6 zg>aey)*-yt;UFw-*)i);avFA0Z9qrBGD1=^0w@6XUFHx)yOGnCj2&u0^yNQl9B@Jo4m7D;n!k*Bc;Qe$dIy%IbV&)q1}J9L@k&YifO8|>## z*lE|&JyBIR=jfyZWj#(LbK3V0$K@K*-fv>CR_eOrx;!7lACRi?gM5j0qaP5z;j?Fn z8@zIWeHX$vGp;zPX-&vH+6x%wW*PYtSVV(kGRl>HHa}AOh2L;k)_-6ao7%|BhSCO}9FhboAKN zzz9m^i@mInn(*2tZl?^j4L`tQaGCH;MFRt$?W+(vOyUT4#0gTs`Mwr63fimN-bXKf zkb8U63$+t#E^N>StAz=9vU^!!(+=G>)u0Fj`=08lZUDz7-Y)q6-FCbsRn3mnq} z@A0diU;0Z#SDud#m^h-bw$ozb0EBQnLyZot*JLPZhe|A1lcCs>$Z}n%nKAD1>$Tb< zN&Ps*F9M%E?acA1s)5I1Bjy*CVy z;)-y^Ji4l=0f!XLE?GT4W|@}U)BFYZ`TTHEX<_xJbcn69FGIsMaXe==wo``6n=_U{ zkPiaTy~(#~%!^OjGZ&ndmhAaWqmD$JbMx!n#Nh-_Z(lJK&T|>}Cbsh1#5nvDi_yga z*d0t45mZ^HqLaXH`=RfEo+D2FrbNqwLrTtNSQLMI?s?pPN*~)t3u|-N5 z-!C}rxa#bTBRddxa3tgh1pbb#iKB0#Z(>;aysRCvAF>oCR?G6>xyTBv5Lc*@&y4p9 z@xPSf9g7NaQych+roTEeIEOVpS@Ylm;%u$(CKZWne6d?n`w#sToNF26Q#6Ois5Kt$ z;-dWTSf0S2|^bg?dH)PQ}6>9-(S)wZu~k!c13EbM_A?vG$0gYSye ze89Tog~%($`bRa08QTCA#D6ANGTECj=-3}xRMFB!!JJ!EO4sW-?e!!L5DD3hAs`Jd zx1&+zpgehB0>yw?ZPSYri}OCagWUDS%^;%w&F__-$rt_7UUm^13KG~yqgUkv^VQTT z5hn9+OHzjzKOxG9WBJfvZ{b}1wJ|keIvpoLhEz+U4%?|H})8IHmFW7lzhHvCum^ul-=CslNmxZ ze`ueN#^%ZzCHxlJ1ah{q#10=5mxFToBJI>=_{<|W-9ncU`_NyC({m4#(x|Jq#m7?_ z$tRQ0iFAlk$0v)Okgm3#-^Iu*=sI`0+6hs}lmT~+=2MCv@}M@ZMOAP!{lfF&a692x zipsZCMUhcJi-qL^5^R#D6wSuj49f*2JYB4c6OHK5K!eMF?f8HdDgXL+GO3Fo*0zK@8}+y(m*tHEEf-m%kAV=mY@3pjcvacRx0o>QU%T%b zR)0*Ia^vbcCdG8b@fnN{uZX4dj7J2!cB%s?gWaiWsANBrh)Y|&FCZ~_`fR=@I|NK| zVaNO#clR|8?|30hK9@AslML9lGT6g$n2UTGo+m{Su4PdFW%k*U^BvCF!>MBtme2;> zPB=*A(<|UO)4QZChEky>!xP2|NqR@BBdfMfCJg!5XTyqjU{?<;x9-u^9~z@)*jNGT za$6COHe*vOJ}}lXAMVsV0-q%gbL20z0iwCu7Y_>)f3PT;48Sh2h`2%%>AJ3P;z*si z#2Ak*;ZhWNb3mI2Iu6od@KxEU+>`y7xGigwiu(@kZqZR!vtY4FqWtxo)LGzC#i7{7 zUIfYiG4RwBs|~hqCjnhZy?ku|6hy;T?hr8d3R$wB303;IY!w8RaU!DM8?GU+r&t@IF~%_Bcs;xhgI;OIqYbc$-jV7h+3{!UqnFsPAt6`zIyVvV_RupV14{*Fj08c3GMy4=EX+a@!aK_`s-pe== zQDu{*zIE~yQ*YC@3jc<1`V0?n=AMz?<-LE$<<*TFIpJV(tTGl8a<_Q^GWK$3`vAl$ zrlz*FZ?(<_fbY~U2{2?AGUQHMCdbW2`-2QDER>!e;#?${mMe~}T+2T>DRjwtUBqJAZd$c(Sf!~``;(h|_ zkx6WJpYGqC!Ao+p!Bu*9!?K{Dd30GZ9o_WqnjH0rry)E|_FKNnB!cN38!XJ@61913 z(>UKzCPlejJ2uXDo=T~>1DSif7(}FS9q*xM2z2G8zl=1`Z6dp`u+Ft70p;;y_UA-> z4?VipLB?w`MiWz!W7cDiUH~CCqr5YL@EwV!e$FxbiKkt-m53=GmjSgK6n64umO}Q> zOsguPKG(*k&PLy4aIltRIu46+`OE^K|2q_ChliP=%U>p?`j5<+;lK>G1MCja8T3*p zH2%|+sryXT)RQGfIQo+WZU8To@#Pi~;D@r$_7hpZ@T$LNnqI~(DOOu5z`$GF>P)DO z!wjGWF>z9+0E|nAP#q3>euvVI5&TOLqTFFZYvAIn2E?D-fE!23TpT9BpF~`JT-RA_ zo1vewpF+cal$AB0_PvRISv1jeD-f_ExF8KU-OgrcFkqFzq5Qa!;Bm0}9em4^U5-Do zzg#uoJ{&(=Tt|Or8f&Yzc3&rwweKqBt$A2IUXesL3Zq65A$#-dtewmd)!uxDFilxHv8&GGuo7V|y!t=V8#jcSQXX z78?_stN$=IIETxM{zZMiF0;R&#JWvzA`bgD(Ria3W@tKCL3p?Mgvet$uDdHo?3Iqm zO35JJ%x^c}S{5Mpw_9dqCUSlo3FC6P1aw0GYsOLm_xSAR6jMLvurXOTBI!K7)eY%& zXxERJornmL^U$vE7Hv%a;r@^PDl5AEa<}&=VJ}R&-1imRs?CK+-@&za2pJQIt5cM~ zA9+DmK(SZ^+Q6HBX`FGLn4yuofyf<+>Qc{kf60E-Sb8u!;+@y>j2Ea&Ivl=1$>if} zqL(y}Yn;^w*+svyE<^B66IhU4Wl(v~7-tV8pq@C_Y%URqo z6OfNDjyU4T%Ghq{LO}FuSWx3>Jqtw4ENIX8?vvDFqx)EQ$$@TY_TbnMpK`mfIo>Im zqan5GdF&=Sh};!OTN}VI?~mfZC?Kz}o;vdoyaZYNF|gRFqs`*4sMfXZaisKhQbN!$ z*B3g7@eCei{BryM$S5nA)|5lS1ZC^kCb~QvKd**5hy=b#li2`&no{Oth`Ln4i_JVa zGwbf><3-xxbn!V4=wyx1iWSi>i`e{jM&$SzNzV0xrDl6hZ2G)OQgJ9cZVdY0 zA+_%f;w9o2{xQLkiNfLD;bYa9r17{&b1o)1tln^t)FELPN0ZAux_wWm-mzi zwM|$OzW8<8<{)IZyP(S|nB=e)+}HmRi&QjCt73;+DH`fQeciMl|0My-K$f+|w-a{1n-%k@a^cNVhcXdKoIaY=d!7c^j^S z3S&2DRHU2D(XBZ2oJ;4)*JJT>sh(gAw*Hl0RnBMKoH`bznCLa7Um^dH`p3U)NK43= zZQNqgobUfzMoYq!ILVolf9*S*Udf6@DV-jd??!(Y=#z=HUdUTIDG`O#<(@DlpvDc+ zDrB&eo&V^hBAI?>XNA?<5V0sl|G3_IJ|_s_CS z;au%xmk#@Lr8)qvvZ}GQH{YIpDPXsw@-m5@m65N>6h{)+7nkMEuzQbBYc++`0XL;q z)M*}=M_r4zsZCues*ef(k`ul;!&VJ??l90<#@$mEw|t2In{A$H5X#_m`-HP9q$fAlfk<*+sCd9ajk~k^jy20P z%Z54u)auEGnW5TdJ@sE?xOD;ple5eJp;{GJPm`5Hi88jE@UZxb!(>^!$QxxipFm5P zTr^Jvcm4aKVLV+LmBgKvPpYXx>iH28C2ubd!P;d)4qP752OX4=d1^N{l?bv)2X_8onXj2kQ+DPkYwyV(QZ+8HCqxo z+vLDjM379)=PIjV%-+HD0R$XMc2t|`D_tz`qZI0W8%RKOytqp<3@rj=4Z7Fx4F;?rD95@8a#N8@Bon1?SqND)|AjWmr-A z>nhUaTCy)CfS*zrKY*WqsJ&lrru(f2=I%&squ!wuV?s{qI;XK~h|lm9O_sZen9^Q6P#{ z2;|0+ce*#y5(8}(nqT-5k85b@r>hUNukB`Lq)&VE}>iG(O-9MAsUDJ^ytu3H*%zml#3 za;SDF)?EdO@5cSLefW%fT%#s%$|Ue3y}n)CTD1Ose65=H!7=fRVa_{wgf+}YNqZI9 zmunxa)xn=o#(}!L=w{F$zZ%}g<{cH8Z${|>aK5f`+>$T8?-ZZp2G$4S@{(t1j_Cem zlzK?l{CYff)3|SfYc0B#f{uOdcyXm(G6Km3ma}@S7TOhscmAR+b!y|oc68!bjZ|OGmz*UxX1MYo?h>UW)DIWyIT_MB;o%dasT!=2=g)*~%r{6)P8C1pA z&+6li&X?SPvYxAH#rcD&#A7A&V`u5w?cSP8a@%V)a?sTsQtd|zeVy@=y%b`c^$u;2 zZjw_b!G?;~KmsKBY#@QIEA*`*RGCCR7P>yTSV1fL)^e&JZ!qycag18mRhuI-ZmnAZ zbu2P8S|v){0<~l%+R{AX0`f*+-8jAi(e#jzs|;d3`HrZ}(|x--cVa^;V($$#nwKUu zTaHbL-9=?pP}`GdQscl2uTbH%{TAM&4^FTLHB0YqfXV)B!PkCWl|3rO3N$KP;D^!! z9%z+H&Fx!)Tsg2~wwCD^ipPJHk3FIxZkQlVq7S#rhQUV5R`AGG9=-XsKb$9p66InH zxV{ADQ}I+zAu3CUj#2DHkw1fqGrVJ)xLl`ALg-v*4Sacyg_{EIA)tubA=_ftmtE;< z9P1O?Qpb}}wS2U-{PH;ixIJNGq9nT&iV_%zbE@e(_WMvQpnG8^*qsv_<{pMmif7+- zJf^iUyT6J^m(a-b)MVGQWRITYBscy*xLSzx?%N`qbJ{TrTu2G0fblLD4^saG20+K! zQNH7un8Z$t?3<{kcz`{7+)4zi$X_mx9)8TJHf#*SZ`BR#EA^(d$mn-j`cP2wh-RG) zFA}thl?mz(moTn~;R>l|Xnx7dDtgOnizo{O8YfOc8JN^k}J~xuI3xBGc zy(Kx9V-a;@6z7G|3ur~%s2QamQ7?bErpLlhRmKAAF}&lM&8+hx9l|e^IXl=Di=wnS zKp}ar%W^x!c6P--lN6l}C9_)jL5HpQr3#KX{Vn}_RQ)Q;ofyea+3Ar5;lHM8JJ?Jq>ZALMh&iUOk8}aaFI1cPlLQgAv9{ApzqHLgq7p|$ zwM)+1Q9I9jf}FbId%AP>ZjzivnY2(%3<4>tZ9-*nz&Dx{}R$LFIX&Qwm+2rW9rZZL`4GLmC6y>?FxX|C&Xs0pE$H zR9dvck4-48#IpOMmEeNRtJp=s`H&ezscyFUxn1uujrXpTCArO{g78&j-W2L9U&F>K z;~k5e7aCKD@PclWRMcAp*t5_l-eHY{1ZUE>mv$;9isSxq^V5dx^(nV1eCPYo*7`w+ z3*TW;j-a=vmweU*=#<^fh zDB7=z;w`QVO$D6XRla^M06ds69?8MYbMREyWeJyZ@-dkr5P*AOu zIi$zZtfw6N#Ikru19+63JBdQ1m{Hre@WyGM4!PGqVXUJX7QY>qBl?NV)snuvuvb{g zeONAdO!JX(dUN+(UsK5h@@aF3a${y`A5S-77N}~oZ-v#VNJ^bt{4yz}J-GEO{E2B~ zC)krvba-zk!ZEuQ{DmC%Kvhzl&F5Q1!|jaTgY*^_1%X6+`VAIJTJ;yeYuL39qjon@UGrV&96YO)&)WWGbe5_?~n$y zB!`~K5u#Yz4M(c&PTMzDB3Tq0oNb^wJcae#t(A%^Nj-IfPe@LoRlY+S^R^s2^SrIDq^EMHxo^ za~#m9b4U9}GsBKGbH(k%HV%K2VTm2nNun87pT9+?bz*m@HRfX7SXjOWrIqXjC zX-;qxBH}=1xj)A@J)}`5!Is3<*WMe;*F$0T$Cc!hjOyU9Vn2f!gLj8_KiKw{B{$;8 zxEmqeP!)HF0W4rF6$^v!9b2BSz6+Bum5;(EE67AFkek!V^a?~IShdvXW{)Ipq$FJ& z=GGvu8<>7^0X?31qI|3!URxU4OD?hJTv@)hS1tzW44g!Bo&w2FqhFr`lT)0NePps3 zx%>%eK0IGcy85U9>U?H$)p#odfWg+r+_95RjVUcS9<29X`hu7~HqT20W)7LgXlN+8 z3?Nq?29{2*Te=cXsJ?>OSAwfrwHXLkU#+asW@F_iQWOZ172(@aK6w@Tfxz*IW@!R# zGWb!j^50(bo)>;lAF?J#b|6T)2_z>XBB84+Qs!l)??fotu>eC^la%J+EW4Q5D=Mpz zMpRCE-=J!+@OSaQ6Ny`a_h6nZro4_Pc?NQ5I#4KI%QS?X{9^*+;x??z|AcMQKD}DV*GeKvli)u$?MwZ$X<+C zdX56xltW{~uajQ=)Du|2^e)D3bto#p-CCl=<(_9Px$DfSVL0wQgPaMd9- zxmm9ac2~3}SHRl>9^-JgO(>TZl6Q$fxYF9NaekhA4!nAIZ=DWau4@Z$%>ZI?QPZ!ZrAVS_5ka6X5^7&=It&WT3^#q zY2GYusr)@p_K;@%=(I=>SeI~9e|>g)o`UcBMfBpBXW2)+0?}@?*{UIANBO+AlEnhb z#~0kThcnU;jL0rqg7?aB{=0twyr%0CX&rn_(n7%c*bD81rsPdjig1P%8r8|tcQZG0 zPnfEN>UVHMq9i*dl1fb6);U^DX=HY&P^t9V1SqW74>u4;kp1qpUPp!ZnJQ5E9$yWnk<_xy#~?$L~k z)p?LErY%l(uClX@Ir0EJK*PW3^`bBVGCE5dV%LgST+#*dd<{k{ryr^a_6})~+H>x+ z5#+*kyp56Zy~z<)z{>MX!-rC1oaQd&kKoP~cHwQx&|^K@Ke3Ga0s^Ev+JyyYwQ~p) zl@0nMxext=t^(1*+A*(zF3^5ZQR`B`UHReqbD$X?t>JC`b~i3hc=V6{T=gtf(f%J9I$u9GW7wxgaer3( z3LkxO`;_SHG!=DWQlg-Q6gnSNUkc#bGF-9mq#fEGzao12eJ4P=3G^&GIeHBo{#xT? zs9^jn@yhmvvEVt1dspZf{BkQgnf7_t^kGIjLK+XNe1rY+=@PX97_ZTJe~V2{2OAEl zsG$+YO{CQ=x#p>+8Tu<|KcX2g7_>*kOPM^}xzC2;kBfrQ+D$yiPwM70YT#_CiO+iq zU<=Y6|2>Cjo~08o9D#}i0Az?SoqrLeGq`bwxZ`AU!M>*ob?x{pg9E!H80W5E;D3-s z^{+YX_7Nmx<*Se}dlk#^cXB*pnaR4dAj7V+!!o#n2!4QHF?Lh1rxpaQVy&LI?4h=H zh=HN~wxpV1c2T34C*XiTF^zGJ(;?9{8}*01^jd11T?s>Ug);%Gm=lVNaQu=Ks;Ox~ zQmC*##79Rca}Vh(NIRh7wUp4%T;?krXe5%P%qfvk7IQ1R2b;WBE{IYy6p+60MrDdxIm&*CVR2Dq74IgmZSNM&?oT7m z!Wx~Ol6=i1;ETw6;TABY=bKP7RR)^RrEMihJ(e#>yMR*)c!K{IzvX9UM;r7yIz({K z2;9{He22QQRCkuty>kR4w=LNbQMH$M)~Hr~kU;FYtXj(Fn1Y_RiW~7Ac_sgZHBYqX zYo?$|E61<+Xu^WCv&}YS=4!Z@>UHf_TH-<=}$zX41o`McN2MgOMOFR4I=9Y zl-}kH_6G%+WSMpfv(xa~iyqMya=;~%m_a~^xs1uo*Z0I&mTaErv{tHc#EF zFhc=lTvY3WVTDfqF4jjn9VyiFe^q`)TysF%9VVHfivv^wFDpywGUP^*j6&d=2zZ7S zdwq!#pLjc{kJIIi)`v?l3N=ePK3AWGAc$vgZfdcM*8ccHxiopb3tHbHi&hJg+W_jH zCv>CM7aosQe;XYCCMJ(8wglYs4r?y8VMa1?5{^Y;a%nIB63zolx}6AnYK5ZbIYX|> zu<0a6HayQH3NOOr18p~=nfq)Ql8$oS{qw-cfdZRl$d5ZN>^$cJLQ)7!Oz7*H&==oU z&i^r^Z}8b!kAQ~ucXoaxhfXOdy@?ctJlMa8d)mTYyO)A&Ul}2vTgTE3N<&`7L22$u z`xlbbgQ{~{(>nT(6n(2QF`x=z(>VGsZf5U(kS=)(8=5@rRdh2CT&dr8>>r+hBdBq+ zxW%M>E!=(g5rbpEE{pzq-tPVWxJ{BZ*W%1w3Qv_!uvfvFuz7mi@Z&!ZEzU0}b?xw+ zRlvEq{^J6OA+HZERYorW#A03VHlv;N^sbibk@|V2p6o=9r;Ga&%t%Jgh@|FPb1_V- zt>fPMNY?<}ED-phvIu3~myb2`w&%s{;n{j$uDbAbk8s)7k%PSCKyCV36%|vFsCHo- zXUE(l@y#3PbQPVaO}HSw=JKIBFanwAEccMSnOEMNx-Pl;gI=_CM0RGD z@B(bsOYrmE0!ArLfq|Y?z(Vh_YmzaNbW`@4p{lC1-FIvQh@71Z3Bq?l`4Us2EJ=>L z>)3`Oto)u=*A-fCIa^j`r@YHE+}|>mGni4=!i8ihBfE_17&di^@mgf_`SoHXYrSIC z$PHIwJsY>cJ!P-mWmS~7{EBLx=|01bFAw+T7Jm=0BGV-(daz@mg4&iAuz%qK!fL-I}@@9UKoLfYgeMC45^1os+}M(lX7WTOfB}?*`+>jAxW^AU10ck zJhS|V1c~bb>+9)#e*Y9V{k0=GT744t5*E=(9=1l6^7UacaW1H2dk;Qxtg zJh;m%Z7}CckA`<$V45r9R#!wo{ymNvXu`_Y3Oxa{LO{GkpFVMsTmT;aF#H-U=`;kbvoj%C zDJD@~3W)frB+M^L1e9wt=GiKUl18gU-rR_B zSd?FYl)@cj^#B1Gk;x(Mp$#0*v(S7 zNX|Wynd>hO0t)zeM>XmaXF_uOi%0`+S5b)KEhk^imNXsnDvN&KU8AY1&F(C0@dNXTUX`I%-1eHy9dYu}rM#mEh z2`e%@WW{V3MH~=T#6f`9p6( zLfaDYJ)d0q!TjmmBrTX~*i9;cRcv7a>8`sr<2qw+x*U!OzuoT1RmWO(K|=ZAq1Nz6 z`KQNI&lyi1)-<9<|LgpaRa%2gwaoe8t2x=_5ZfAeN?Wa)eG_ei4I=&xlk_j%Z$vXM z+|G>*S%?w#=Hx@33Yks9Rhg>07L3lyd>84_bxz1J$1^$`yJYlY|3sJ z3DJ7K4akh5eJK)X!38(g%=ro`s&l)%)>5)VRHs;k%Y>}DiO-)((&L!(|NHu}G!GAA z)$bsf?8UTS|A29$_e44gMj_@>zCvOzTO})4GCj8mp3i@(7*6~NYNjGj+RQ8zJQrA- z)x8990de7PQQW%;!1FS6bxOgvI^Fs`FsC# zy|y&SL!hA|yNT$g@q(ubBhSU%J-3NgO?3}jo?TTYREE-qZqr?%bK!x z0m=YFf%0DiZic9zH4?G384KVM1Q*xJzFcna{k+FWR^C!V+4l(geu07PY~QRQBA_x_ zZE;9RSpRJUq<17^nN^$`X_erz>*aqwHb<>rvd6L18vRJK=9jsdrG#Q7l_(|vm^f7K z8Z?Yb;`|AzjgY+5c29v-#oN~mAXF+;pils$1+ks6V~VPljH2XD(zheXF!!MzoGu2H z{u=#`sD}DLff>o=TtGYJLCwfNnK7Up?Z@bZO4csbYkAm^x7joc#s@!c#@=$$A|g~9 z;26~?;5-X~{wKC;#O76hfm+#L7CXG(w44)6I~&hp{O2yaKC(pH)Ka@F>MO z+7HW{0=)h0s@lTUGWwxxvEcu?EbuVWId=Pl`$L3u#1is|g;7aJ0$D|=K@~hKYcit@ zIw+()($|5-E_<;x$g~TY?bYf7oM3UP9Pgiy?h%rw?V|;8Fd^E}8BnTZEw&C`vU|%}YBdP(p zD>3}A7lMC~Lg$Ft*#b&vXW)^A?H*ibd6qS3CixX9tD3GcvA`D*98JO+?tuc5FYp2h zf3?U)TmybrU`IM)H3%CPts`sI7D}o(;9puZyRs=$o(-}4BbMEC54iBc$l2$C>h@J) z_JGDK7d?}6qGgE=4u^Hd(gcWfx0hm9E0FKho|!h43Z!iN^~*l>1X%INuXI25PY|BR zG~c_}@qnP#)k(lERa_pOAc2nU&=yn3_SSZATk!nsKRuommR(4k55WF8a^PhO;W2-;d*3oU(3AXY% z32=$Eh`<8P!dueGOtaILJlO?evbbgJI<%?r)+Ps3$v{F94xp| z3ElzCL)5Eo%yq>vgP#c=VQVbOGm}8o4>ogdbysF|0y{&nC_Y3IDw-wpP1gNSSmT9r zR;2H?+O9=R20u46H$9tbR%JZDt3stt)a+Gi`E=2L)g!@DN<5(6VO{g_)gMIe?2Fd< zjr*=x#!L^ZwV_2|=XIsb=-R-F7qk}zoe!l3`=gdw6!xO@?xOAfj%*%t=iX3;Dq4z6 zxB3($=`}YN*L0K;5!xIW{<BSSDNW3tE`OC&5@k<@F!YSnjSq#}hY5x9G9@V-bns z>Hkpqn~bz&)`z?;>$ZidL?l%4k%=k4Ed1Xgm6@5m`hMA*{059ppJ_6dR;urmFMBa` z9$run4x0x7#w4>1bdq-YP}-TXjEB`Jl8l5^^&x?z3ThThHA1_;ylucH<)AA{(6OQf zcd|3riTwpa?i*s_F%6h&aXa7U0z~%s$3Dr5#K0ynJ>vC0NX=Pu_vp7!aW}_LJoHD- zwcQn~9>K-v_Py*By2c!$-kmJ-{Cr)@xyxne#k@K#WLY>w7!i~rv$ow^|Q z*%vR5gcSCmr`+l9n66PE#ff11Ld=w5ki1_BH^>WDs8?6K5{B5S^|>> z6|}<)%|X*^OvCckKA7lPGGm4WG!;_Heu=-M8mh#lppkv~2JxXz{os&nm6a6E;41CM z)n)N$S7+H5+YoF~xmlkMNTJGzBe}%;{2^>L!Wu`)eIjW$1TV!zdVK@F!I9P!^Rz>) zft=Hhi{4rufzcJ6ZU?(AL9sufjGSE(^~$D=L_&!e0?bonhufmHbe$GfsdR%ZS(RF8 zNsBEwauUbR1csls-Ab>pp2d=rC2y#nt7Nsq?Q*tjOU|M)9cv_rl&CaoKx;b(A= z59bCIxONvoioZh}0Q};NNv_K0ye1@uvck3OJz`U`y!Rl~WF<}3ru#3jQf9%D70JG?`H| zP$sV%eh4Ls?F}7-^p7n4p8uH%InFZ6vbEPCI^wxt>VCuTJ)+sw*6P}FWmcXF%O_n2HBBQ~ zGc|rrv@1aWm5(0r%(uPP9~Tj~Lh5XDXXQRi_B`yfh2a5tkv^WjKVy}73wg$R9vV#r zuSF~zgoqq)YdKMi`YZG|f|`ffsgbAdot#ye)C}3nKe?`f-X0>p%iq#{7gY$qe~}U> zQ&!se6U%(%uOHM+vvBn)&BiI}c_isdrGKr93+S_*k@R>BF!duz3zRg|+o}gQzAc9; zyS}5EeYMjgyQRk?^M?v7w&lW(#H&GXu0HaUC3XS6d~Vq~wpZJj?{C?k8PfQoTF=(N z+gB-qT>Gs}x1H_CbCMy6e~$GcHCNnJTb`5Z_1Tl2yPo_zoSBRo&UrrRJI~PhZOugo zPKIp{zwu&$70TnpKz+?YQWZ2SFVO#&VQjo`GEfPyfHGY<|Dy%qkqya&;+~Q2tFfA^ z=qj|*^t&}vR_RkF#8#p_t&j`tC;*-%yA!tBD6v1cMLm>J4Z)3M=(S*toR4@`1v=uJ zBlZ7rXme08Rt}=vR(KDNOFLpxH~}$??LOZ^V;F?IEPA>vlH=LCQ1eYa1jx zLkm;GM(U{hTreD}5HLl{eZlzNpw?@XdwIt*w`$Gu_2uQwQi@_U3yDODHTE7`6NY3`r-5;fuEbADo6i`Yt(AZUD?AXAe!LUT?*ZBcVCr$w6^t@TD(E40*)eV z_P#+LVkB&$J{*5WFweVxbt-eg;$TjEeyBq&HLjUNJl!Sf`S`rTmUv`7o6!SU5*5(9zn_Ns25&*;l5sm@ho%UcXfHoll0}0=H)sP(MQ4I+q9Bdl&MwW*xv0lA z$QuQ=qzinliy^ssj1Zh0dKs3Iabf7J4wH?+tzIn=eSVpYFz@ zmzY3ClJzB7q+Hn2_}-$47ZVkh@+7I*)nTtv%w2c-8q|7J*L-T8znSz(2h#VDn`}fK zBiOiHhEYuKaOfeY;I(mri-& zUsjz2ebP8X_45`NCtf}~^s>FCgxm}`L&tHYZ?QBYo3022(xhX;*CLH#_rO$q9c(C1 z!Zj!i;5SUO#u{3|a#fUyx`UL)XOoOCcE+3DSs=bFD^Tt+f9_TI*`&8kV&j+N)F04{T zC6Mn(ose0IBN36m#JY$rQY(o$h;QN>!(pBBU4=$|RFy!$l53;gvC zXg;az&Y`IBh~JVg^euTx#q*o(ms>Ir4aoNuG%dG<4^KzM%ggG20$SM14o>009Y7E`^0TWcWh^xHbZT8V+ve8g;(In&=GYMh2w9 z76=Zr4V`~8_hY{Qh(mHJk{DY#(MDxj83V1}z*!~fL)U-CGGDLDzL2z!Ei;l(4@H`b z4U+zB3nlmjO%qu$fU{V0TzAeY#s3=wIAw& z4V%LUNGef(vJ8u?{C`3jgde*Ue!3#RZfF>ES`GL>LT)}B8k)B(j-3^BA-SH$_sU+J z_4iX6=Td!_Ijd|p;H_T(HjgRHFUYHG^u=Ux9qw+^s_RErk`%0K#@Q?tMP4J9FQ!cw zx>V=03unY~|MwKdLHntlB3U?s3$p6$gQg5iN}6zp2%FF4Re7|p*45XXLL_d>XRAcc zq}m+ss7B_tyYdG`+S3lvGzTJcM@DLrQ+zLchqaW6m?9KqoI3Q{x>I4#MC9VcBscJb z?Gbzu?t57C%W}Pl+gh1tN|?}YNQ$a+(Z5UJAXa#}jMkI60U#{~o3q{|tz8h~#QXUj zOq$2r%Io%amroU8hO<7^GoOyJh%(vf*Jg1TnW@%oNzckhu&fbysw!c=0~!#&diK11 zZDK|oZbVzUSMGb51=&I+i24zEpEWw0Bi z%_)o<@3#2z-ZY*f@esP$>~iUFZHf=u*c;uVzx0dL(k2l= zy^Yeux_>awJHAx_Jg72*vYH!>q!xtz)T$#?*K!LTG-mQqY`ZYW+hx_Ql17VEElI&^ zGj&sO)h4r)k$)=rJI z*Fy)IefVeJpU%t4-bD+Id?SVZU`W_&N=eG`#z0Mok?jUp{RtoIFP zE??BD5=wCJ=rShrDHh6>%FVTI32cixVx_aO=#p6-CVu<4;~m?8BvmIzwi{QFRS*E* zUeX{Ot4mD>@Ffri0+x!(!({FUf-$Vpn@i?v!R?{U+!QT`qdB2g7VdTdTx)QhFA7ded~1{0_L)eK!UQCt7GI6x z>uz6Ck{(GNZAq*@EJ-icf6t_ZCApo4r-ca4M%|<63VtLrdW!1j0G=&0NaNPC-{i!DzW|y=oC2&~BD+#UJN6{ddpagBm4m3Z6`=o?k$gCm@AK z2F?9Hh4K)qOZLgijf)QBn&q#Zc(t2w%YzTLqQ1kgsLGJDtI1)0StYU)jk@A#DpWY> zjp%STgC;yHf`C^sAeUok?PEB;@jf2QnAF|G>e1SdNdl;yg}ybdll#YKPl?K1WShyqQtX&?Xp- z8;Y$DuG7zVV{oMKL8j%$DI%A4Rrzk|OOMP08)Mt*lt`3XuS?;qiS>xK`xNkTcNlgh ze5KK&Uv`Mn7{@#VDDM+M68+~!y9YE1+GI()ORGvVc{Q(lR!+75SXWk@TWag zVp%;ka}6tzrS|+2(o9L7wgDT--r5hg607Z4Q_HTcb-sWditgbrZSbmXZ^o(Cia*d% zsDCQa@Q!B=Mw|ti@SJMT{EXv#D+185^t%}={16ob{cWWB?Ip891pbh`WiIFVxf&s+ zF<{T(howQ%Ji>jH8EK#EbtQz;gO6Cl+#bW-0N*E>a%OTxcN|Gd`l4ZDVIZg2-N56~NHPjzUCROIK|4jHp?zb{bq% z-INP_4|#3M+zkPg8r#?UsQN^Iq{rO-nd-fT;fryZaUhw5txVH>JtVVN=jiLkGqg3s zOo82xlJi~F)UxG&Ze4;aGZ~P(so@^oCHmK=F)I#`7Fnj^_8Li%QM|c&z!42xt=)xE zozQUKfy_=M0~(>gvA1mwvAmQ%Ln_Y{8_+xJ&&?&G&pz5cOjB0|VvJN7v3yywkFaL8 z?7T>h^`al!F?aHgEcZ#B+a?t|(5)?Ku1>QdwlP=S`$&I%>IdA`V;W`~_BgzRWM#He z_;tG^A^e!(`eEl7rvB3OiUaio|$S!l`S)_~vBa9x-HZj$poZ2#C@>ik0EEp0ZxtE~y87891po*K9J5{fe zrFl^!`))ts*S>X!QvD@A<}tMyRCQ}69@8A!S;?JTU|jao0qa_wn}W%qE*42B9$sw% zQX*~a3faLKC++-HwD7o|_m0IR$gSB_I+r~u-3CB;k?I6Q;Oe6rf1nne45v}q5||W# z;7`9D4`n3F!dB8fq2v*}906=NIpDOhG0DD(3F;>F$C3;coV7W$qkXFuMfB0A-9lfI z%~hBZ)mf1tIvjp&Yy$EP!qVl0JE&8^QjKo+0dF^VCRuyR8+XAV)p^Ca{Znq6fa-80 zu1=1`rhc&=5d1lG<7Q_Y=E4THZ7f&hLjQ%FcWCMc(7u=njiM&WQtBPh$VxT%f&rh; zi9@(Nb6bNg`ntj8rLy7!BN*&UB|+I^9H;z&)4wi}Ef3Cz%dLF!S$kaL$OL1+VxWw`__Wf4N&(M+gRr%C3jY!r6xZMSc&!R_GXhPix+E3nqWoxchX3h+ib zu~w?Qt;c7(>mfY{9A|`+F6*8vv+S$5+fMk}sWAmP;5y213&+h(mbkI*-$YiSRWIzD zI|tiS{q}I^VU4R7vLu3*vd4y8wl#Fj+BPluayhPg4OhK3Q77@>4i7>MxWELb48;9RIcBUSle&S~OT^?)VBfb}kdKO6<$_LXun2DkbJBR8gZnb<`!8AORM2S&wi{h$`#X0hyxEo#dpir@TWGM zNdS=)?S-hWAGmk~`LFru9Zj6k_@t!m$}e61%nqM|jdJoAW1TU}JoJzvAzxjMNYdo( zPUSLPakzG@pZrLVYp#rYQYXL77sqa72)dUpGr904P7C!3W4`RcH1uJ_mTYwVhHEjXXkyuvsd~H7pi?G zqK*P7O^}xv!fw0Off?5UAs7C@nz)+NZsp4}jzQG^1JYpDKx);? zaOYGzX=m4}QJ97Ti>A&{eDT;0`33GE8iLSA+?+Z}kpWYG{&jag&@CWqnW)wuzD9rk z>mA8l5tAi-nZjKUx$NA^AaatzW3j=9H{?lAP$sdnMGc6K3d1FEZAXRe+e-3Q05`-wQ^JA0ouT_i_c_+w3{4crq!2v-cmC< zA8KTC!`XcdN*SruubrpIGaTyb-Am@U*@!a4LrXB}l=@^KC9l-w=<+okvy)sHp~>H2 z)^RQ=Q9H?W9AA@{%W?DL+}y!kX?eHi+{X0=Fb%a&I&%l6NjKfO=356tsF12#Z>jMkVO1Mu)xV z=Fh!#R=MG#{Mz<`M%kdUK8L>KMkgDi%B;u`tlyQ3`6r|qljUQ)_L>5T-7>3T!E!&R z82s`E+PhBwX4f(#xcuB1q>Oh@l@x`e8F?UA_{OJsWJBYm-mSaYDi<=rXB49zn<6Y1M-~j-Y+w*AwE>~W>zZA@S6f^Z)KDe;#C9e5dObIG;eh0H8Lowil`>3+gGLHlDW79jcOUNj9tC= zFE#X0PHh399WGUNUJRXnXiUzv=odzFP9tg5N-!m$=eRp4QfZ)YFQOrtQQ>AM;^$kH z^*P@RFxNnn^UY=S>5J=;R#O8>!vFrPlZ*W^8@Hlq5pp9y{yu0o*?qorl{scNjxTizN3|FCJScG^aVgFtsl zpBccZ1Yrb|So)w_uQM?dr?dDDcRYSMi%(oLGpA_}{z6P8cxVw4_(t12`0 z>uYuAkYG1EElwRl=S!=yN;mmmYDv<@j zgRy2{qE;pl$`I|-*N_G%>uSF7?F!$562zW>%KEWK%aZ8cF^!E~L!}SiUzTnC4;s!_ z6t_*%H#+`SF)ywu>rIh&ck$ZRwpBSUfWp>~u1j~uPdkbp*31XaaHPLoZXNvhrC8&^ z;9U?fe&`|NJJ%`^xHV#3!vDwD<+wi4U>?j^+O_lIkB=o0jg0we9pZGJw)E|)yJuZ% z_mEx90V^x7dRixiJ{;*@m{46lV}*!lj!1rKJiu*-Ic9T$BP9eh>}7F#<4Cb#v9l|V z=@JnFloTc`5tsG_bqUa>rGMb%^;+z|0?K0m+(L(5x6Q7z&pomX(t7f?@D@mr9qLB; zZQi#jF^w0?H9Q}j2(nRMMh_m-nE$q5iJLQ9mc^N7~jhKR9PS=I4T-z>r&)I8Y! zm+^94l|y1_BHNpa!mYmfLy2nE-*&;rO@h%*G*IZRBKJf07t!Fs0#R zs?(Z{DTn%l$}u9avLlHYAVU><>a>U=UDj22DlY$Yui_)3x47xSzauL%GDq#@Lqvna z@o1Sbh+ZoffD2CoZ1$0l1=&Oa+b)QOPPwpBxWAOl?(=T58VVSsu?|zT7s4Z!ag}bv zP->Nc7;p2XOGh}pjLFWd+LlFMO5&T zT~3=(4akG0XuMzNq{{T>9n_%eG+Z6C+rf(=Y&hMsyQ)bG0>MG6^himoZnSog`EK=( z65ajUoblwCrsvPsy~i~!);M;CLKCn!>b8z>=PJch6g(VNai%du7f32?an#2^}zmAL1-}(#T?+}W^pxlc1+n>P3 z``-tFtRUuTPQDIQb{=Dqx~*K;foZv7dAe+t8ys+kKZ|7Jiv96hPt7BWBOyjh)qW+H zGYqE_pY3%O(5XRTe*}jY6V^qlwQI>$%N~g*1i|Nn1>%$udz^1_)jWdNE!y30qXEl=JR9qoJ?pGRv z%f?srr|woE+f)RC&b_c|oNrv(Mc11O@%Y|(5Y>~KQgHpU`^wv%9E!JO#?T!^n&{iR z)`cJ)Ba3WRn6ywahIqySDSIikKI%K9k(`{;*zv?qt?FJCYbjGt_rZG}TxnfNev~5a zf%KxB7X?~hE=cot+}FbxXFDZK80{vPcZ34al7`+Q0rQPmgcLyC4EfIPG9Pv_@ncFY z{JqrW;h%O9CHxQsmi!KCa2cC(8JX~^RGOXb#tcwU6uDp@DYUChPq}er`%FnRChy)r zJ>_>dwEKVwdPHeP#NR~zP{`_u9eY+p#IMVjr>$W`YF6;lsB|VJLRxa8e_Cp*-D3IU z=C?1R4CJ{LHy<8YfzgwF=Swj$0NlA1v6MLUlA%CcU!rn?V<&@{b!SAj%=evEnez^6 z&aa%v=u8fQ-=AG0an-Tq_MzT-XYh&K>-9DHmq)UDwJN5sTyUP5tn=1|Fm3`12;Ec5fEZ2)QpWbe|@w zP-Crg@3K#6bD(7SE0heU?0z~ccq}6qtlF)p#{ zCW2&RSHjEg);o0>O@J>!3TJh-kty`09*BPe8^wV095Ff_mG|ijcI_e&{uasL+hG_Y z;Y(Ex7<$2o?hc5Zhui%h!>3Tcoyh#Oa87On)FGhll=_z>qj55*_zwNL`;KLZ^;cT- zCB>Zeaj^AmYiQKwZ^tBMCTs>e3Pvb=b2JU<{IO%*@E`6!6(9n3IMYxzQN z4EwbuS!m}w^V{v->`&sxV)#^XBzNnu|F=8^m3?|2&B`{84FU7(C+o%n>@i&5*^#j3 z(;{cXp%QnwNafzPOa zLbV;Isy<|b?P!rTpkWbysk)Bkkn=z4As$K|r@L6LMvk*#&oi!_AAmks6^ix_8IQ@b zPR;F@q+F4K^17iiCbB;g`-ybBvh`De#Nr(DFWaDt!QA80(VWQ$czsiQjF=#mtxR#L zv`xp14oSUBZ}*{GpxfUY1frh!>av98kA6Upsm=`9nT%K7tQZq!1X-cPD3Jg*Tu-MD zwDX3g23(!glNWB3nntnn2)^M&u1A2!P=HaI3ei2%u+bc%_4BBzo#YhV%0a@+QQXFxUS7jJWBn_5#LvuDlLGqFVL$0AgpPvy-QUKp7G?>PNcVu|oz)Is36&AgOm; zL%^&#g%Q%4wdAWWvsW)*uiQlOy>Ql=u&QpqV^kN1Vb_ul_FhtEBsARbY5Ry~7Hgfq z=(-Y%a0VypxRsmhJSctbkb+Fx=p#~vseTTJ7X^eh4Qg;SV)z){j;IDG$~vzf1nsN^ zIhP5C54bHYDZ3n#+1)40ZLo^Y+#<7D;bkGjVwZueEFqMA!mmeIv&d%0$M{1O@AS!QJO!D%am1@-Z+^BYtddtOO9lW` zsk^C{tVC9>fRk_Wn*WTlERY_w$WEIRMsz```@`V9NAy&YPG3alM_0llZ*Qur0F~_p zR!dXgzt7b=dK%-b-53wZNduX9d|CyKVCJ{u`I^SOX#;r$p|g#>&Azx{vn2OL>w2)a zikWfUo?=M@M%qrq-}`okG+#GM*a#xnH?#H|Fup~HtN@Tz&PRguU4u+XqSY&+Aeex! zssR#O`beOBKzv3(bCBe`#e{2=4F23TJjumvc?LPkrL&1P$MF=q%%c#=S??up*Rj@+ z*_YaXdg~F(T<_QGuWk@cBIk2WZ`o8?nWf{~=pK@Gr^sF_y9lbN(At@XC?PdoMFRW} zUVa2MD@dm;#^{`jc_OHj4q;YhC==SHld2;E{$e%*FGr?K3`UUacuD|9>EN>e;>AWp zgC)~Ce=+;CbtP;DOS(jNB=*Aif#4M^4>*x<=)RY9&8@$VbaYL!_bPG(Gt7Z3mHnXp z2U2Iz2~cwbBEP0Ij_*0uy(}?tSJYR;Vj3;#g~)T2Kn0JvH}97T7R5UJjPaU5UW7uh zTz8XmwnVr92kb)`d#-pP<84>M5ljj%D9Vg;G>dZLQ9rQrBbK2$Y43);El{#7gFKsE zOwt5SfMnZdA{pK5Itw*8Ql#oEBDrL0Q_N&H4O@xo9nw%$YtCZyWwRwZxeILJ_stL#1 z=4cB(YKZ`(y*fWuTnL)**k6H_bG~;j(#MBfopU^r|9Ck7Xps>xZc)c+^vjB_4=Lsk_2w-I z`F&Pv1TsJ?~%(8!eH`s~NsT{a#mKejx7XU43% z?1dj}LIzn(RyJ8~s{u*NO(n3Kb9k1%O>x&(5pPb#H=}F9p6O=JCZb9aRk*BNrFT?w zyM1BE1y%at3qo3152!#X8V9-nE*29YH2&?oJ7t26O661jU4U@PUlsKc!UU{d3BgOZ z2botE=q9GgTa}Z8dq8Y1oyGn5&Uuez*h9CDRTCgvHH422oT&HT6>Sfzob!2k+J;4} z+(sY$)Ma`83nkNT3T1^^2H(o}Uw6nHhZ*Z-Q9Z?xPd6FwXu>?to~!{iDOcEqoh%8e zi1t~5fQ$Qey<9bQu@XFAtKKL_8pkJf?`SL-KRmfdToVX+S;}THS}a2>gOF% zzCTqb-zBL(!>l2f!QGYq}%)mwk;KWD%cGB%!q-lL=n4!cKg^Tf9P9Ny6 zsathuoBqkos3)jL2O2=#ydd(NIN27{it zsa2m*V1~cA?i$w^JwGQSJ*H7`JM)p2M27SUBHig$rcceCFQMR<>eTgT>cBYqU`)Q0 z7Q7CAUP#wh{o-7YXofjQyOZ;0>`TAb(;?4Qv20`fg5sAbPf`e+_Q^%KDN++Z6e3S` zKuaSeY$DQy^ZNXk?_{#nmN5Z<(0ljy+L^HT{ z`p%^~0ZhdcpuUM3BR~5BEJ!b0DVxr9%_Y)=Kx{NHbOk0RF4u-G!x}aWW%X^|Jm21F`Fccp)baKktynFywOLBb2Wg<(9%$23Jktp&=-vYS)NC z9$H=m=SDA{@_qB@*Afz2T^Rzs0~#}8dtZL2wh)_mjB*)>6ox6JV&6!Wx8|M+u<+BNR~pB)YILIRV=jpGgIFMlp{msKX?_wI7wp1I*% zD#Pg=(CAt(=Qu_$1Xknzi^&S!%voyk27o$Bh?{z}8sYK^+#aUI$OpfLRw-RF$tl%a>>Cu;$sVxZWJE$^Gktgb! z@Ize#J|`!qQ{bu1DbGUnDm0S{II7__ZlQ?gRILq4_4ZCcp0A+hNphAW{fh8xQ*vC7 zNJ#=R7R_JAn}-Y|tmeQ(U7N>11$D@=r|i8x-uxcTJ)*HZje?9_8*5?}m~B9Ce9k0_ zLri(=nr9{oqm4u3k`mVKFXE37ud8WJL_YDh@-$@Zy0!c6K*N|&f} zU=UQt@*P7YK?ekvOM8FBFlaniVEj?`Z8meN)1LgJKl2lSLNG)UE*~2WJ5wO9yGfwu zYN%WbH=WQGwq|Cf&Ipz4RGETTWOD*?Imt00j;Js6YV{TP++b!_iEHQ4q-wByj zj`|IROMA@fett{r_7zkZG4-MK%Zialb3CnGrO@BBb1XNy?70ZzM4TGehURwgp?n00 zI>#a^egrhnP;~~nU1C~-5Q4qU0*R|=lV`QRNay9O1Tp1+!eh6O9&Rfg6w~GIVVkC; z24<(^9EGjjjX(Yz>RNS2ifVN&FV`jVV_1J2O@0}msH43`Amq|Vj4vlw>3mp=uUH0L z&8jY!V&658NtqYNY+NklZRCbUaP^n;!z%W=`T~Ipn^I1-2~jOi3_3Ww)y2F6 zOEXP+?uIucd6{RlWI?P_2R*aUCziL_02j5zpjX^Ra{yrvp=VWm3@6s}70h_wVjp`X z;qG@@x|~8Fgw6|H3m+>qVR}lZYo!QoRu3`$z5u`o9)J^Zgs*$e!>J=4OWMFp?D0Q{ zL^}c0R)Vey(7c4GgFHIf_xWuRh@(Ba#h%M9CV4CInrRY*{_AgX?J>>wKSn#$jP+$s zh*lC%<|V?%DrPa#{reHFOzSdv3sqvb8TMokzW}DH&b8mMjB++6FGfl&>P?dDQbWTu zPJK&qH{Q@suBomyeyv;l$D!X!!AkDfs8l3h^W}SC@7__3am?k!M_|&T6cWK*lznGT zjl8)@-**)?W@-^0^rBb&GE+R3+5&C9wEgdR+I(W3vF#LZZEWHVJ#TUBwv&xphybH< zxx%J#%fSXBzxXpZ_zrC*aEh>_z9?E6R=ub{Mp!-v0Ue8;SI=9aZ-nWX=S7|&cvkA8<0Mxu>5~~kB(sCJW3Z7p#v20BLo6~sWRMecC~r)42eIy9e?ZvZ%k8$G(^N! zryUc)-3xB3{!e8`Pk7eXYXFLKBTBU>?aooTbXQuE#ws8c+4%|Cc*;)1y*lz(Cx z6;c{NKH1Gmg|#6xzhzVKKt24iGC21bgg84_~9cXy^2qAf^73;%;4&xc&2` zaO-kIWLYp;7>1%J*qB!~QPTTGoNV8)Gml()e1BuQ=ffjs+jFsBe~J!AaLmXpiNpOy zk`k>G>m((rlLCYCf8B^a>BGG|L8ZTgY=WxuB1t|T0n;Zs43TpoBbrLnEVFy~hYK>m z8g+9`3ehEM)#}cw!jF-9k7Pcw3n4cSgF-AYnI-i<#x{1^(Q{TQx8LTP&xwn|%P7t+ zD@#FKC1e2Ykggidcai@akPuj$$D53eN$s{x=@@g72zJT#MW*8M9btnu1ql0>2$R6_ z-lWy5)9Sur8Og|*j!1#5K03Lh%%%|3L-u7!z2EGtY9zb(X-yCm&F%&n>5YbT7>W|fthuDQ4M?6S9i5&eamYKV=>8r;ThrSY+cN#Vo@lGy9{X)Oj%iHBbA9lHjT`V3KWDKj`Z?fGoEH+R758{qh2@{XMrO*MxPehcDJftH;#?k=o1hiQ z+!lgBW52ewMvji(7zH`G3eLI_tnT*mLX5dyfz267rrd^XBlig+uP9^)UFHfnE3Xy~ zI=4`qy`6s9fUyu?yU5HyVJ$fRgfo*9$C>eVwYFzgJ3o$xwy!Tew!0lTwzTo$>4M<) zu?9@@2Y+g$DAZLrIg3VenC}u#{c_)d&H0TpAer^t^0a?_6jL{omfYx5bvjtO!mn&X zYVe1=JdWfA#Y%6gUaR zjp0UuD#+!kfrk>kRbsMnraiwhCVLqQh^tNzVVXH0ZjX;OA-pK@{s_0laLYlPX zEe5c!xMl(`z5Yh)a9g#rM{e3?S{lEkPvLL_v{XeAD+AT|0!sX$GQkyd1-mJieDWUD zlQf+HiRMjG)Kf~`U?Q)wsIY3(5kKp8a4Bk@gt?*0OJL8oDp1v_9n_ppkb9s{ z6@h4X?SiA)<-DqTo&wd2*qtOA(Nn}??Qx#eoeRrgsT``_;=WlbPeOTrhczqA()w8N z8F@t3O|pHoTR$AaM}WvGd9P1Qw!4YzPjcmj5Xv(Pd&e;ol2zdDeYd$4;|nV_D*Eq- zuFHR21d57#YzLT@un2o-Wq!Po8=ohe-=bCkf8rSziqju4lv&9(250na%Bu}0Yvsch zT!a?wz-J{JZJpBg(!FGJpXrZXvd1&%n3oeEIf}BB=oveTtP&?0!8f%w06DH^Ar0*X zmEW@y%~*G-M>OF5O8a~VH4z)tleT*f=^dWkTxL}wh-Uz~6Ng6dYN}<2-_LHG0togH z75VE@XC#e?L^k4abrHUjm7g6NWpBYs8-?AD;(!XP;e~JUrc&)y-HmL)v9E4tu{=m# zv79rSWCxh})yB6#R@7ecOAbYFy@_YYA3Jp^vass1Pt+S$_?{|A1lzVzI*HZl4_$^w7{0oa@cJ3{FwaB#PI8$%jCVvM z2{{Ea+MOZ9Cp+8-sy4+-*^_I>BGVLmPO6S({T+?TdKquJtL5%!zv57N{y))-TBKG+ zBhZAEk{!^NkE&bY#fY7I8HFYsf!3%tqDKG;ZU&K2&J%kdRyW7T7|`PxP;pBYh>bC} zoop1|@>4f6$R$R~rx;Dd(@{SQRmS`7ILGCjMmL9}#K&seL(20&-`@usWT-Z?8H2Q~>MlUl z)R+60zkev<_b#uAM#W26=bP`a=E|-0wIt2ps>YH%25LAN*RU%r>d9AA-SvEYWTN0v za(0zTOv5f&OS~0QhA=nVkrw8rMgRlJwG$PD>=mNbW4gRyRRc|EwR`TNw2O!ux9n|L`W`s;kp6(S6aRk))nGYcreemhSSa_I&Nv($)`*G%&+rzk>+vC zB|sx(Gj3_ZILH*xn9a^DAdCY<$D-N;z{$9+vWR2E`UBQbRTnJ_hzNp1#>JE19nl=! zI0q7)gCb*ImKa4AoyC~^d`2ZKsufz&&FI$r8=mwbb!`Q=aepq6Jfc~u^_K)7 z$zlz=A#L4P{q`{rwLi@+^Pt@;-1|d!2Q-g)^Hl|vf2i5TJF4LVW3@7%Y@Y;bF&;Uz za<01(x&6xLW4ifBP{u2-ws@XWMmi z%nQ}dnB95OIb!Q3wjHkSvu=;eA)y}$yT>rvq1LC{{FrmnEFtx94{_^0*I7dFezQmW zWt(IbXPhXpn^L44`{KrNtxH8Ex&_+#36t``=2oKhePrG|(PMByQ-xh~p>KddRy{1) zmY)~64N==?BUv^jCOh5t#{boztn|8Oq3!&~;J^nz*pA~-emnyJ8G8Mq<+<5~|AHqy z))JYj$PqkCWZOm9&(A%w2Qzp^7dr=*qW0A)R>-9#H-RA+iHjS`Eukx#>*}Z@9^vaq zqxvqe%Y-|zuqEFi)%pD}6k%;EeCx<{fn?=V!xl<@fsq#!P(+isRo8M^R;83?Yv^sM znoa&fp}&He@0T+myTb6v@r{sSS^a49Jo#~Yrq7aP zRA#(wqjy`S2+CF$N6T)_RU0t;* z2Ig`^btOg6Oz2pJ9nr%1VnBV!OM_I!A)7vn91c+ZXn=Ys^F_ZLm3lJ&IKyC`|F{^0 zg?3G3UuK3xOL=am+38uETPo`=>tPmI*Ex01C3-j;kSDoEkqPfC;1EF@3D-R-N}tZ_IuSm_Rh1k7j;Za(SVAU z>9b6rB8w=R>OO&uZc|kg zmoG2MLCkKoE~*TUdCi-T-YcxxP2Xf_pJ>Ry5L4`1Y&!8rvLm>VgoSrkfKW`;^$w3b zQUT9m3$nS>Y|+#QOnavvmKKTneoio9+EVyMnDPDdAO{D~MPW_$Mnufr)LKn7LlXr0QoANY`s@_iHbps~_B4sz1Ro(T{ofXvV8LM3(U319ehUnnl z`o=}{phmrR&w^$Xr?ODuZU|Xuuf#LYt5jW0|8l+#v7)n#T{i7hJLxXw{=Y+2&omz+ zi5s4-YKYO=p~$5z`i)OO6!*L24`Xdm=u@_}dq(*yilR{J6y57{?dMUA+vN5Ho;QMZ z1XHexG??9N9%&_eS^bDq^77wH2*7eU3!3NEVHvM>ViJqhq4^p@es+ZH5de^~8=q~g z&oO?eW-Arl!!00%vr$mT17Ff4&_M$qockKUnn@92NzTj{Tt~o6*$z(lBy9EQ#s%Y? zNUKSYTYg|a>cCgTsVl#7rR75WIi5BVJkZ*%b@0YE9=WiaP>}E|q|x->ofGMw@=?S| z@JCS@UBA$GkQ-smJ4u1~+Brw5L0JkAKsF0YACP8s@(tVEg>M}@+3Tx1=waO>EXR`Ef?|wVVP9JF*ww*& zX2n#TC$fO8aRb^i)W$pINs;zgTqOPP8|R^v`OwmjT}&9pk=~q?Mzz6+>xzpFL?w-w zpj@i4Fx0{!V`0_VorWY@?TPixt*Ute5U*vD zJ~G|Ax4I)zg&N6Iyky>eovuChHT&Ws&`!1Jm92p^wl>@CfB`4=@J`Lut7~t7rmVnUx|pA-l<|JnPInm z&rfDe&h5CqVVrOv?=qhpiJYImt=j#%d7e#aY&-;ZRN&z1?`v2RTzP2(p=2*c@Ca{%s_6FFDk3-rvPkxIZ#?qtSjy5B%ITLR9X+%SpiQ%9Xv z&G4^8*{GPJ&eKv45908dVWnjRY%}f84@k<|}M>3vO@T_eCsFDd~_vXL= zPVA6ItYmj1d0NVbOpR{A0Do+HF0K~!k&lRFK>zKnakwA8JZBlx$jpZYU2}`gz5NiU zcHCJAxxP2Mbm&Jdyd$g=+wsK+@j5&+e7!%H+syrDk8nF*lFgVLIHo0Gcfv-X8b!M$ z#nLfS%1E-44SZtN0bs*LhKeJ82r2d*(x~Qcr%S?S(~T5!?rTFoxomgZB>s3ix3Nz{ zOJ2b=OefKFc>sg1nJDfr8dSX>T8SM~YLQ^okUk&qn_!~WfH8K`y(W}Ik!{ufVhK6c zFX<3F0XwR(PO&;@KLtlkYWwF2VG>Ns3umSv|KZM#dgY+X)H zO?@54RlfHn9@+o`-=SCD*M@L*wUeUjd#vg}aV!3h4eG`^_p?3qh8+^2E=m_kRpmNg z5zQLT>5{1`C+R-+@AnTgtrNzDn#0_jxzPJR&ByWDQr-Ku91pW%`nkT9cQW$(?q1i)o zklhJZ4R*(ii&sH_v8pElc|d(*Zl0c1P)q573GFv{)9MTwz!8!saP$Ghbs_oeSplU? z3#~}4;=`U%m|J5N``6BrQJ6X9)Vd$}T8}I{#dl1jAb>fUpd>0*KF~U5HH~$R{b#xb znp8nK5ncGrun7y$LpaiOsB9qBlMua~ zm|n$&rR9s z9ni?u$rV|#r{KrBIkeef)Ks3t$%&bb;IX>luIn1qlgy83-ad3NR1s>2A**A zKB!U^kFp`@e>+pMu$mXqs$U8a`&zWq!aa&jk*KwWx~VJLVaBgX5u~iqu-cSVH$lT zG#6B_U^CTZz3yN*b+n`j-mVcSM5k(D@zow*thOG`e8(z3b~Q0{Q;5Yoyjev$UlMHm8rem! z_LQH+bOtY^H5|5=-qDK_O@effDm=ia0K2qwC@i8+Y`sS_PEzivI!Z7g4&Yv|ZN5_w z_Sp#4L=fW*5;m+{nKIqg3C?R5gy}jO>R%;Dk7))KAW8u--az}Au6Uy%I6M^Zw&hD( zFou*u``&zZGsG$NBC`)mG8Ea-cTjU?16PvqwNeQ2q0ma-u0|ZJ=6|KO8I7SOtsGz+ zC7-JGqD&BgmxfX7pA3;kJ7VBe8BDR8onNoL+^Cr$BV668?E1Os1?`_bN)fJX16ZVp zbwqHVgPNpOkC#i^&pW(4Si|w? zc6Q{sD>e9H(vHjde9VHdUy`kfFX$FGr6C)mbNYC~_8qfqhVA#?VQ7zIT>6=GO|6JT zJQ>vW2e{yl%GhX<{kmzDT~VUe@1%sHK$F1gmV#?-SFAhbOB8tx-s3ZCL;MOZ&F{$P zB8YO=HS%-vjN0bf!}VpX46`BFZ-T#-(M1$aAQ~WuOg;#_3MAxnV%sAcZLHHG`BPN| zr)gxBrzLW619j=y?1Y1jk`Xu>xVzv4r*EfDW;{tg#r8a`0h+quMmmJ$-dOI8N8+|I zVUl(0z|zimP-uCimyJ>d+xLH=n)S4bi6M+~93&-S0@j^0|fNYv4VHoi&t! zlic#_qWgA`MNr#v2R29#B$yIJgtP2i-`oJ_m&jd@Ya~o3NR}I&v8CJUKF_|4vA{Dw=l3+q?y5es9B$ON3wzm9!;3Xo2omxEbEe8XZM?zNewnoOP9e4lC}W_z2bhh>8MH^%85ir>J#7U zaXfFnm)qdznHF5b!W^w(duVkjZ&*p5LNvYefLWMZo)P9FGk%bvr+6%^oW7NDTt@UsQS4a1G1Q4UqBsUeB?ChE1ej<`Rm^KQfN{M}y&Gx~o z(IxEVT_m03gLOp#=ee$2SX}=(1e>Hvz!yZKuNKlHnZ|Vyepoxe%EBLEiUo`t3+j#HmthHq`9np!| zW`)0=Rjfx{WJShC#{%-;nO=@<?6t;lX~F z8p+*#?Q4C$Hs2(wrHXx43@bk+|A{KiF)b8HS2TQfkT~BKl}j(J%FR)dZ!4ZU!%jEE z&2{y_Zam`DwZsl3wh!W{M-fI5f-@u*1CZDmgOdx7U5vQ}c|?v|M$hTsp7nE)=BDhWlU($(-~VMtI8B zeF+Pmyv#OL|-dh&FpRkYm|*| znc%J7;mp1kULEE^6s8}L^8L~L%;nwi#f7mmK1%l}Q< zBCa&_n{H=GvRYX9v|m^B)(YAZ9v#`@)6q)eE-Lkid*3LW;|6}HOb1G_qke)Bdr0$u z`=sQ?*;;65$T%JJtMY=effF_vhNq$eRH^Ljw=Gc~D`)by{%LTE^GD6^0nO$XhGcPY zkC4QIn^N4uaC0T?Tgf=7VUQ?L2zNwKt~o=_r-9^h_z(8p^U3ypF9TFQR{dYl zTx?4}tze=f&~7`|h$%eOo1&e`<;0NBW0U4Hx_<2GTEtW$V_X2a{w1LkysuWR8U*HY zOUv~22P(j{g~llX7y89n3b)Ise}5_Xz|KXwQzG5aVI@6#1H#Uvg~eJ0i)l%^;1RHN z8W7JrmJZs@#d<0gf%#t%w8<-=QGqxa($~>#6N-Y`yBUZT#x$n@?d%}46UgF`;2Tcd z;vcBE9qp!IEIY}}@;=r^9@BiaXyfb2$Vc(jXlIEZL1e#TDRzxSQ)eD1brr>_nWovA zi&h`nLAXLK`|5W%^Tl!}NHkTYbM^LW6_Ewrg@F1B)4OG~UO3hgDH>6m>=`4mL-<1P zQ06;zB@Q(BQ%hT}^jCk-MZXvgt;!r^m%Rikv**9So{M%W7ld^+v`vop5oHuFx$=jW zjz={oeOJ%UbswuSSlqYyz4*}P52VeJHg*9kXXPC7KOIF&Z+j`!pYBgou8Pz~@rm?#ea-njo;)slsF7}0e(Rb# zpcIHqlb-AdHdaJYp+|1O8Y>P0gXDFO*d@gDVoiIJlO|;s{EllV5Zum^+*Q!r!B-V` zErp+l`T-Zlp{gj+s+)b3B@^V}f5Dt{bsq6^X$)h(oHHje6Nw$XW;uG)UNj{T5Z9Li z(igY1+1y`#z(ACyxemO!{{R3N;Y0zA2UH?xcof`Jn(rN2nU9d{T|2*NO&75ZSy(Jr zi{FmDJ&5xVL%W>B6c@j9zPW{9ZLmUx$g#&Vxly;XB~Q-9CW2;<;H7}Vl`Dc+cEBxR zsLluL&a#2ALAR?^Tf<-Q67!UIP(xAghB4{iPgDv$$JPppC1x4B=X@10OZ+tIR(d02 zB3p6acZvOPaSO!wiQ4d(<_ZbABr;y>w=x^hYiT$Tl1?U0wnW)Gkto`i4( zmz(;OiX@PS<#Q)HEZL{;n5y_~Zq1@qZ1J>Y9?~e4e?Y9+KVP&j@9k(z!qa)#$%ZCw z$!NhGQF5TbUfrA>YCOf-H$&N@n`is(qY*bqeI|a8po%macDjMjuL7HSoC+P=>CV?S z9(KU)Ar2cSVr2h$XxCiTI!6)*YONj_jlf~u_Uo6M&>?OdK;%SjAlky%!0r!<#T$dq@6*d?14``r|^ts^oXyy(Z zZX|*?07)LYLH@za{8bY^71cB!ffnIlmbTF(Wz*65@}7uOJhOZzqP5O_TY8)=g!G%i3JN}_m0)GB0ceMgrfSTXvi*zxXR2M(+SD3`W|BL)K^^ zO@YcEpmktE+R#~PKXBX%j-6wkd->+iDToi>ybq!VASwSwipNlBZU}F|c(u*Kp)w;GC-BERNCZ5ej>7BhaOsQv zi_S&NQ?GaooG8;E+dSnJ;55J#!d^wET*i|jFtGZp&Ggxf+OhKX7!EB=U?N!<9W;3M5nL3x;9 ztAy@AebQdjKPsAUmYoMy$F~JD65DPIOUEXBe?>ivyML$ZpV_fvnIlvG?Bc*B-M=PJ7=#H--IwnPveP=9n=L_6*-iFg&g1-1M z4e&U|I~T~{fh9Q(31j4J#kcEc*n=#+{BT$+<5;!Wv11s|lmu4gB_Y@#H5pt5D$25(ax z4KytF^I_b+p%>wktq>3@;JD_=}ERnl9 zxQISP4n|gS&r(POlI*yKHga^!4vSmsBJLFtp}N>P2{P;*&%AsCxt!^P9n(4Cx7QDS z{@Z@e+>`zIL@fkel%T;N2E_E1CF&xI_l1-*aji60?`L(xfHC0IKd; z6X*GsOQaCCg7B-iE-UCiA&ny*eM8C6a)s~yW=!)QfI>m8LZwMSFW;gl)?8y(B@V4( zrr~({+{K;?nL*dt<^6hyJOc0;VQbeNjMnk zQ};pu0=W`I7t_AvLl({Nz}k2X{qLg2s?K_@R?^ybpTMiy{DJX)2w7bk?kAvw&y7nY`tdrEv#c!ueG8WuM;IR`OREnD!>B8g% zw2`9J1YCKS0#7;IosCB&URA059n8G%oGZyV@!kakp~r4DH3Nmk#LQ^pLWf@%#EXZv zsL~&xWrwIMQl!Lf)BlcXh7y->bTW9PZ9?R5s2(# z6UDVQ_xln-2&R(0I(lYCS!byvU9iIhiu?}f9#W%Qt6N){)62+WmvcTp@fBk!;YUZT~1Z?G2oLyx9Fn482bOkv1N z)Q3NBdtwUXkb~U3Tw792_KHHx>_;zZFpwN%du~uaCX<#4p2n!qJ!*1JlvKBP3~NBv zV}_ZnAxSpNE`rB!4YtJsu87R&Ts=qTs?R5i1jxp|K^o_l4S_XuS#hrKQ0feYX~~)V z8oD2}C%N~iA?lnB?MCSR&v?q;ntgUMO7&UEQs3#D%IFFs59J@X(x^J4@6g(~V4W?A z$C7fd?R+z3U+2Ve^lDUS?Ic8c0W8?@=AvD#*4V^v;`sIhe;p#CnVAy0WN|9E?6U3J z;@k*++D`97w(8PzH_v8|#x~Fn?O`ZVWER`(ZFH;}|*%A2ztsdwX( zaiA1|$ifnxAaM$`1CHX9I+=FQ=;sN4#WhY;@dQrUpM~>)iT$BwqMUP-9AvwWzKa@4 zv9sQ+PVVR)6zi^P+@n=UjZaWFC>p!f$HRg)d1Fuj; zGCFK18tdHs9nw8RDnn&kmgZ;!P}Yk=RH2Dl5g~fPv{ZIWZTD1UCc>(|$f35fKpkdZ zA;ojtZw@tfeR9!&0d9;$!4pGtu9p4nOPGp-fLVcV0D)hGLaWnoFDNsoIim-iS8=L+YRi zfa?4(8EpeY--Plp24Z!%MyL#5jwJk?=5@^PFO8_?1A;3F`d3U7aFo!Ex8pJ|RlsKo zdu+));l;Bi>&|%6-Ed+UFMOwWIBC>v&XxomwH}Cj+-Nsi9A2fkk_267HeijN$*qti zA3dy{#+ABF!PmrS#xgoK=SzY%+N?ohS8LRaO&@VD`)!w_kFLV|=*v*fBJgs%x|DB^PDv+HuM3q4Un6%}eu(1Ea7ern=EYEOcwNSMp#vKET(xaN?* zIwbIP=f;OIZwC~>=>i1X{ciW0G|2o>*b8YJnH4%gG2s;Txv2>#IX~a+S2*)rU!6x& zE=?-FglDsu>Y#=Hq3Boeyqb+T16#a}(_;%noz2j^30)()H0G_!o0Lz&)ziqDH%KEg zud?afMZ6NY;eyW~9bb29SBYK3drgf&YV0W+zN^f%TkwYM=e0&aX?$wUb2f#b$g?<6 zVbelxL@16VNR;jMcV*D6z7sckxNBe&(M5b=5k@R|+#fI{otG!NCB6pDGQ)_jT(bse z83|++L-B&TiEoAdKUA0VaVMB1Rc?}ZIOE=Mh9qiik7zu+>nfCX<`06UMVWY&BF<^w z90|O*61jjOi}prB%qZpyvK-y6uBsnLk=2l*wT}HRVKibGI-w}NiR?OqAHBc<3AlUB ze5spSbYCqnuFvi0sI^cv^jB@m-e3Sd(ictzf#(ZkilA@_BBHr@3ft{;$d_$VX zuB7rs!kIzM7fJ4RIqMZdXm0g$N}`79jyCq%`z1;$HFE1FPmkwJ!EaF*a|s75E82cw z6h}yNr|lk+VRN*Kh{mZjTVbcPxq-Nr^0T7x(o;O;0(IjdY>LZ?2XBNs((0EL-}7T* zFalbh5zX0^&LZ^#1{UG5l0zSjv=$y+{mVT!kl(c6dfg9Urvq(Od_TjjT_uv;{`Zz8 z-jUUrlssdzS68*O1AI?i>|X0MQh7H%(`bY`*-<18^|{nh{*F^!XS z^*TFlBg8%tS@;p3Z^?c=lYpNAP2;*)r8PCvx{n$os$XUnBaDe1yF6bzI8MB*8|8k~ zf zHk&;p#L%C=8`G&{YZ-5!*(}#4l%Bt^nlqG9gIt!k;j%{8UI8|9*<*NA5%DkCOszi& z;FBsQpl%6R(vtk+K;`Z1rEc}$Su65z-;&HDqA32qw$;4j$!jA*_#udv(3I1G4uhpn+8>)GG4rqk@t;2W=YL}l?Nij=ebgTXy6W_YD0+F!aSoAWBUv|XMeY1v zKfR+zJlBlJ@qVs9YM=7t?K*ZlqThN>K@wLpyLFJkj?hsn4^;}Ga=2-_AdSh{6H2ln z&$Dg(Qj8z5-SeFH8ar%{;^X22c0^@Gp1XO>Y#b4smcbew)TR6~J3t7#hW=6$#F|Td09Pz}5oe9neVK zuq8>Vj2zc&KTy-cQ54a3CU-^MzLRw>$EC?TF~t-PZvoR|*WqTq!~`?;yK6) z+;fKiXQ|ODL}1-hK8jMG>6@L7xzK^v>I}(;jE96Erf8Z(kPnWVvTj5R@IMu<$2RUc zXG}K0#v2w2^k>~jlP<9X3UC3rA#+%QUeo~lA@X)1vVg5i;>}JKz5u^7LYy<3+f%vK z7&XXh(Qiyrl=oPP#oSQ7QP)X&t{@tr*)~T%#kb-wR16 zZsl7xGqJjougH|5)Nz!ZJqFH0NE8KjuWsNH8`<2ywDT*Y6WA=CoJ9#1S>!J|i?+$` z2bqOqcATMmePNXr9F+EK1N{fVb}f0K2i{vm6OHWON_- z4?>N#A42Z|bqShT^uJwKQ?(BwQ}&Wo-@zR}t!DU{sywuD)i{Z=IUrS1FShQxoRh1) z%dv9C=`%2?K!9|k?QPiR;L#X-3I^*P(4gc6IFzVq?NHkkI?h=%GYe)O+l7O;fJy*a zSl}aL6t&pd`%SFfjU*Dto>^R#OE49%0|A0x^dAI}>`-5_J?rQ);Jkb*PT2MJ@| z`ac;1fFMk#%6z_~o56W9N7ZWSI^Y|7Z*r-CVirTJgG#QAeuK=MO1)69Aju$KD!ZTi zY~O0d00}N!yGKZ#%s4Lt* zOhHCWZ60vX*I*9?&%c zB7>((el#GNY!+6&btzM2Nx2`uzM!;YB15R)-|b3^7u-()oxY>F<|*=}Ox_^$?lE#( zA9)SfYWpLR>T;sFqpp=!>x-tFgGejFaJYnuY)9Z+*`xm<>OP{nM^K)-p@TlcfC%Qt zO=BDJLS2J1L{}wJPIlWwJV@Sg_eqM5>iVIbHUk>TJM>DN`f%yXvT;9(g|vp41=Qo3 z%w!i-U1q{|Tz6-i8}^fw6AV%Eb~IlR&8s)Soy2>^J|I;{f;;g1@m7Tc535pVuuM~0 zjU^(cY$^d?1q=>uN;g+u(Tqdwq)GbyMNf)YQe>GwmW~aX-w!&t&++V1u9}h^6(jfT z1w~vH^Qhu4116RB30v{*ad6UhBWvhH|_p4_tUbiazuE37I#a{-hruOI@ zZr5WF3IGfJU;N+^)O=$6aVI`JQB;SKm*2DxA;Ra~1}FEgQa(A5L?R8zI0f~ug(YU# zdi)v@_J~Fq0CCdk7*!RU;FKNcPOl%y%5P@c3s9FkKuqvj-e@ZC-JU;6b5E*FF!?qQ zfp=JCesjRO0Y)r?287h@Qdqn+nB=?LJLc*#jBA)f zIx;(8^gcoEBqfx164%hUvAy`lDERTObn|frI_077Qhsxwbj}ocmh3qfiPAT(3eo!t zZYBgz;b{4+iJ?pKivPB&G>Y1LiN3~_MSX?p(NsYM5sI=6=%Tx$f4KvUcm@hL#9n;| z#oS_@46R5+RS>m2l>biYtyJ_LlJJ5qU`(^5w|m?QVuk%_B(#L+m7hsJT$$;E_#JWC+j6$&=i1Aq9f=a;HbVDm}l6r z+Q?%VKhlmq3qg$H?r#D95mT2g9DgAln=nIEKmfUJ93pW-e+aUna% zX-5%o$UC4iAJb5qQYU8YxFGo|XcpmEMI1)wcdqXpm!(5DFaaO%IkM}$WI4V^%RQKJ zok5Ot7wh`kdA(c{@}CRh+fVmE*c@g7)Blm(zUUFzYi(9Op|~Tq(8|y>u=BJCH1Fuf zsxri0ZJ!$?l5unLl@uMw4&au8gsuDY+j;IHeoieCj~|Y*GnSE$lGoX%ngGy0 zHX&wKcTg7+4m+}ad|3HuniSb5oxx=LVqftKqu_yz0boFO_e7fH5=nMnTNcGf*$<4q z+gdSZFL*?mFIAV7ma?gMy|HE~u)e|%hZI0h*2axJT<(J;3-L7x0djHm=F#)$4!O9 zn-AOnlYu;}d4kG7lT>y41@CnWD*_=;fo$dA5V2K2*XGpUXKQ-9RjT-1^AN=g_Z`iU zwFrp>?WBy&0Bb;$zby=;k{wVHjPPMZit>T6UsG!s+OhReV27Q%`cZUrF0DssRa6V4xp9K3#yS4{$&DAEq-tWkgDGQFL=V{Q zc+}Mjxt5FxNg11kKPx%;#ILn(f;J1{Yvm<7-oWvi!tyPTp(U<OBG1@H zJ?$(>KKCL(kKQ>pvAkgxNBzIF*^7T>%LELz-)75W$&ovCy(<`r8KZ}%u6hSGvvp@l zT4SoN8r{-5=pLV91mvnXw^Qm@Q8cx{5cL*SDX<>vL$NB1aln%wB%~BTaE#}a13r<+ zf2fDoP0z4MVs6H(W@#CL13Pk0HJ!ZpUP-z_&s*?`?CR!EVet-TrT_?%ULLF14_bP% zyTwfESZh+3y<0xn%{^K55)aLZ6r=dS%J^GLV}vn_Gsuyw$}jN6;qf~Fh;Hen@&U5S zFQZZ1bjpBdTFvzc>s&4-i+Z6rV4V!H)Wj-cDw(vB`-*KIp`N|zY{U#Q;;UmHn@%5C zzTToE1TIf*zLv)v)A|-xtEryk$toXeqn;-pr2>Q?PGBk%i zJ)@heJMYFfPjf`lMn#fcNZZ;@yGO&6F(SttE(CJhZ(%A{|5&WmvT?UA%x=jKvn;nL zyfJ&uc5v{G=sD0L0D?^4a$7U7dAPl@raxFd4cU2d+Z5y`wFu88IW$yo{{VnanNm}g zgw4D8(-5UBq5e#e87=ow2$VhuiHB+r(q2MKQK5TCojSh#*h@pK{1j*{_rQ_f;B+NG#@c2QOp;kF|QiHPB-UER;RbC);{O&71VvscW8;59#-(u z2zV)0HbU0rw>)WvV&h0lr759VxOrDs>`ozt&2dWxx^Vwuw)Jr4OB>=ODj60jQ-bgr z3#zCh3Q_Fz9ixdv0Y}vmT$D^?9zfC`a-iOU%*6xTNHACSmFP^r`)8p-f470mwhU-> z^7*uL9BwF-&H9wF-J&o7ZjJ8g+NPtCogd=P00Z!os(G%)*Jxm8s_cW2d&zjhxoJmH zU8p`5kxX1*B`O%A!!?5H>-CyDDFV->nZMNJMnr?w8tR;4Z*@*`n2b=!57ly)F z?R{_MHj4tq&t4SrO5*2}wnl78ynID9a(5+nvu>_Zpa)-v-*$qZvd#{9MR%geA-~TJ ze2^F#SO{x?O9E!T_B=f2=Pw0@cTjO;a0ruZ^<^DxC*@dhJ3r)BGOC2}2}?uPsV!5R ziE%V5@neO{G~|#A;T_Dt1cvGrILxwkPER5?O+``&$+lko{ZTCHh8aNH{W`vG2QM~B zWRkLJ(+0d&E_?LrM0^D{UtKT1%PvK1Z6y!@(M`6>!imSatZ_G@W!PRJ%BZvyU8H>0 zqxhDK;vLi=bOonOGON{TW5Sd{{M<1eP}CGI!N;vef0n_KqC90(Xb%NRYFUvY#-=~l zJEl1ssLW5`yXl0>MSYX~ZDO-@0czLjUUoUcnJ*H(j-~NMK(4_-lk3Fi;Odx9rSKKf ze0Pkv*>uNsq9dHnsPgfp`lYbi3$Py`4A$x$g!}sIK?7Q!zb?zGOOJd>CSiPL@yu*l zeIH5gj;b?Fxo=gJRX+DN4f#y;A4D^OYR2jJ$VS~Lx zd(x&Sas26MgK?!5mAm0|1J1m);ZnYH_PM>BZt!R3FiEL~rOq9NnQf{wQ)CrgcS zgVQ$zoph~hk1vun=O+LT<4_phS2XjTdEU<6D=7yWh+e#swX1!o^@nMLy;Kn){0x5} z!LPIKz9cCRJ2NY?7tq%8tdybe$mUGPIh1gww)u4gtynk7J&hz9j$P)%^$8oEi2v##Tjhtf@uRSxGi5wGCNba?R<)_8vx`TBOStn^^~ZncbqIsGhf;E-%W zmh3SBZaig4<);#o6ol|YWP9Ji4DL<1d?^_Z^<=cC#Xez)_@Gf!)qdEAMz^Y@L2wm$ z|KJe0Wj2W|vl!HUMKdZQ$dgWGvha0Do865##);0o{;uL=#owGpG83%&6TvvTbteb>zP=QG_u`6I2 z$k_GC`CgCQzXdovs(FiCeO!WLmS78$*F(EA2mltTkh0IZf@q$Rx7h+d2mEH+c!`i2 z)4XTOsS#QKb56MSdPVFX(H5rhCawzq$3SpKFI%%-V)s5f(2`gZUN6JU*9$ ze4za;jBKP~zd6=}qx9F9Dp-Sc4cqw3m29{c*R~59!pY+jsHlbBR1Pd4$KQVIYmdn8 zd4xQ5Z?3BhxyeR~+bho2+SExB>}`?5r4XqKZ{T3FYTk+}XCMA7k1VQ@xt%x3ZMCUW zT1vBW>8`TS0p7wlzDgfEt_(d??_sE>tc|JX?#=({_M7^9l4eP!kYmTsdSb|V$oKq5zqhd>v z-78f%Z0UBz{Y^&26_ivO{DS)`ITdbd-K`H^5zVIQCWX_&Dzec2EgTmeQ$-e`PY*y7 zq%3K+NcJ;HZ&aB$%^xCj#p%N89ZeoxfD!?2WGp6)e~lP#w5k09oVJ6$<=?zxSd```)+hDj;89VcsEe9FC6=a4*95B zpEKB1n#U`qQJ+}4{^O@TWT^kx=W0=c4IGM2xou!cY}WA-HZrs5_g#OloYceSKn zfwU2b>$W0!FDOvt$eXtE_V}1NL{Yj#Gi=f99N)UsiGeeU<|hIdhay&A!F0!BFFih1 z#n?Tv^h)v{L$Qbr&A7|%KWAhWOVfgTzA#NvIx}Jw+-9Qq=HmVj9j(Xe8@v4bQnCAk zdGH9Xm)?1|zjLzWrL;GfxV-jNj+aGCtgN|O&sLu_9fCI+f>XYtcT8o*D7MkVl^-8mk7T|w*JofaVt@1~j*v4+bOUT>r=!aszKsEh*z6kqK1k)Q z@$Kc_29FOse<`dXU{k9c#>wMM^|x|~M|RDe4y#$C(mt;1j9_5y~-JU`07e20sDhoktEM0FWh=~J; zokL~LKg6RthW1bG*le<1ag8}s48J#(ILwq=7H_ol$I9PKx`jt-r<+@K=6_G%qHF-v zNM80UmN{OE!Cl@NH>x%dlBw&;brQ#71-s6iTx0h2xaiyJm9aZjqj$%v$+A#lvA;3o z8H?rbO22-KMgyZO$1@f6lD8Wc?^=+tDT)3{1=AID2uf3OMOqx@+W&fBaX}A!|V)13C4B4EZNC00X@}( zRpQ(QcCo!p0EC5rr2_Gpc0YxrvNK3J3qR}?*W^sQl!RlI)U?RXHwq;xjZhFx)r8d# zyifsAQAOWd{6#pKMG?&OllTAB)jX~-6o{QF8RO>Z>mm;7_k&DHImDfZOZQa9+qOjh zAPHeVX%myx+kH5`jc`XiBMn5~PvVHTx{5$^c*_de(Si2&iYp zO!{@Eh-)aj#MqNKIy;)fLF8;R!@}AIG4BVOo|z)vo7yY7hHIwF+B7W-Iy*rp%C~7{#Gb%e#>kP0ju}(R zM|TER6$E$u)XkFB-c|`jfdzR64@+PEL8shY1?W-;I_N^5F1vBEAqs2CIAuqrFz$Up%GShaX>gU`F{VQvX${@7#nf>B9Pg#x}cRZWv6bZ z#S{To1*90$eTkhtwn~ROe!pWI1NrFON~rhSNYDMs<0ZV(E`zB`@2+dU;8uJ~qCklY zY}}gD=4$!k-0>CCsG6Ks3GhW-zc}7)y9o-Fwd~uo3!JD)=?8R~Wumfh;ujc35l3cK zbOiBycn1~dJGA7@6{b3&gm;Jp8tS+Lg|Pbr>fXE)xwBM7uCg%4Dwoy%;@eKnduG2-oe8&TA_c; zkr?MZ1ssSHY7>!AVqRirqRtZi`ig8`v$@yWK-yIC(nr*q#Ows4=(3!zi(Q;Y)ombu z$~t$Jtx=8l+-LFMtXDt<;AV^ptcZ--BePG4{;YLDf<$3xrN}`wx+QGQpYp(zIooV&UnQU<{Se0 zWOD`ygr<=>F`RVWX}cfC{N@kfXu_Q7F$VcqQpWR3M3gI{ZY~d)rc9V>?)>eRQO~QC6W*G~z`pZSZ zLmCVB=mbjUNkI+u5<(2@y4F;>VD7Ux@Cn<#OV_n_xKH;IUq9OA3h}py=HsQ51bqGu zYhEG{C=+g|itDkT4a?$7gd(W|{0%+VeWsk7E*NPZ@lCSC?vP8WDS8m)roCgDmn z+M+=J3Vn}a(Ygd**7<~;b0o@SL)duZ<#+i{T=Phk-zVKYZB{FAdr97vdeWd`HDAU!e@yr&xbybH}<_hxTXy{<-f| z+64Jo>tM1}Wt9zQ#Zu-H$F+3cJJlyt)cvR>9rrNiKZ&}(BZndFs(4vsGe%b3JZcTj~x zN0Ewtv88L6AdgnDt8o3Mo)J_y=ez3z6w>3;pXu7R=e3naFcP2 zcDB}6KUu~xngUJhWXi`E(<5qxi9J3-(k%W4s=SS@$_qU5}JDNCS=q!N3$xaqWuhfa}%+2om@Rd*2LbM zVZ}S33A}MeCDz-bI9vI&E+K>za$OYp*o?w#T(W&F`Nt=tH!D!Mu;(C!*>@2X$UB@o z!x^F_cPr$JIa^nR9iC$pXdj1*<+bQn%lKr(;=InNF}3~+zL9kfW+g$jK%63CALI0=x->9y_Bmu#W9Lv_KtE)t0g!|p zo9e12w@}y&a1ig;QX7j{oo=4IDETv*Gm^e}`5w`8ggkFEw-*ku9VKW#dX{r&n_>*7 zxzUygFCRkl1_ir{Z^zcJXih|#iTEAU1aLv1gtRH7IcF{0QtTu=Ch%QaGYKX`I-`j0 z5cD9ID_A~3fMqmm6kqTa&bUKhP}+f0G;hRsMwLMAi%aSoZe79+ZRi0eHura1fIA#{ z580-)%MA;^&b3D}i7vMzxuKA4Dx@w??x53iFxJr`f{7q1H>@8$&98_sC$leW@)=>h zSIj|WCG93;;0qtgldst3M@O>ebJ@ItJy~C(D(T{`>fBgBh{!;s(u=B?NZ?0O?x|&J z3PSl@-Z71tUvdIv>9*K1YIlig9aR_Sj|cI|P86?YE5|GHZ8+OM71foTEvQ0={I2?o zoljh0MCDmKskv7Kc^kALNO)?=pN*=cRR9aE0ZZ*r7h*?Hs#IQfHta8D4i9Ejy6N

    =Rb4*oy0%(l+OIiLCRtn3~5lc3TM!Wx=mhKphOw;_@@K zZFH#`NDnH;)&PX59_m*#^D7(k?H!x?VK-x)PkA0TkB4cwR;H9{$MZic-;#LG2c{Kv zk;tK|{=~2A@hSTXtIk~HS^GQ{u|_?@Ar>z~0NXw|oo5UBUBL_HhvU;&02|A&9cJCY@+SyzC*~BO>Z8FCl{I9Fa%TWaaGiTC{b<~ft z-vb*4YAJZurgUDlbi{4qQlXvXvizGkk2_30(!LK%d9QChGekXpjhsw5R$7@_`@CVuZTIBBFz1njRdk3j`_ zjMuJP>B_D)u^v~#JoS9lBrM-_TX12FyUEhhREj{?JFYyR6-9S(BJe_J*#CcRGMfn@ zn@ujp;eM(P>S|OfV_z>Q&595tg$Y#T9nySKD3`#3T8L*mwCBcab(h>KE`j*C(90|b z5pGlA^9M4~{MA^L9RIPM@1e}Jboqq$ZO91-+^)LJAdG!?_=EdwUqWotlZcbzhS@1U zD@*1_j2f1f{~rYTpjPcb@hzjLbt2xe)%lz}hr931VhI<9-A%iMUIz$40W+RuP(o#r z?X7I32~St{tZWv1W%a{2+(Q~1;S~Ff8{)1E1A{vyin}BeCVTwS9whH-x7wuaav{tD zu{B;iO2oH>oGUT;PGQWs6Ff=^*(_SK5nxDG>y?CZk6p$xT=qft^Wg);I}{qoXiToU zjE1%PN512k6#+a-mh{qrMwjEVMExWNw+~VNUA~<*u^Onxm7@MQ;IPCJsSQhtUq{^I zsq>vteK+niEtx(5A}ac5adh_Vxa^Zlr;06DiQ;Em0B#6T+H;bIDPV9R;yj?LF`xY@ z8|1OgSLb=0@%7x@6r4IJV|Z4 zCdScaI)@w}it%zDGnf>m9rW8 zwJ0}PVPE}B&KZZT-ou4<)k+EQ$FieoHzKLh`o9CY=S#X=1`;IbeN7=Y4mcz$j8z6K z6%S4r_17kAbGp#0wvw(}cRtIF3l%}U5R>R}Hy38K|1&q>ujuU0ozZ#9=BiknNdNe6 z-Lx|Eqp(`|SJz@zC2j^hjOy2P!_F@r@1mnt01W)+BLg5gtEDujB_j9Bump~fD3-V* z*UHy`Io7CvilnMf_XS5$cwOBmQ()rnXwrdlUz>s5Qh+mk09F`^w_RjU2!4g{>@^JeWM!~TCIbya5-PW$|u#= zK>ID+r;w7YLp}rz{wucmlsr?@ipWgDGC(}a?x*0!eX`-|>6-g^nNgCjmva<}xowK7 z4LDwt{lYt{d9`)UB-3%pES(aZQWHQ+cJ{`i?9e-;P3bbZo!7V;LB(z2%Z)@UX!LhL zZN9?#V+2^-47t(;=CFe4%1Oat~)@Z77q-wXE;V zfsV>T@L7pUpnw2WTN0lEZd}pekmjXjf>2KQ&ENKDhCp|6)z*@B%cnm!2ho160vDJ9 zk)b?Bq(TX`wv!2q>>DY6(76++FAGcP?`!|tT)AzD!Ae{W5ik49W+mdZNr&{R+)m6+ zevyWfq^GqAOK-gb=_hwDOh4bGN-@lr2~O3e90VuK zWC2hopeQnI1}JfeLR3-v`QihOH&c)7uY(Dm)H*sl?I6S=%C zprYeD6vg@uYHpYyRZ?G7zVHPL3@DeZ-a6s_u}{2_GhMm7QCaDfXI06hZ;=zDBkV7=nZXNfjgT6y&I?+)!oiaf zsNbC6z^sJU)i%5jkaa8bU?g-rHN(O4B^kmpliE*+7Dy)KZD`_3nU+k176LUn*>RY! z=kr((_269gFo-JoM zv)*-DrM)A2G)eZS_w6Jax#J3aK=p9_B$ikkH_r|@9xXEVPATpfD?A6kNR>}eqnv|O zi7!CTXZ)Fa+6Xb({O(?qTTa&gEpFF1c(qw>*x9|M>dU-;dvGs*zP+N>X z7Yw>KrZxd#wX+tsE0`RPNWnJm!L3B(bbK^e()}fdGsCL$oR>kf(ZL9k#_F2eCBs$e zp*i?mTEP$du47XZy!bLzoxFk^Rm}ZYP~&cK%$v*0tot+CYe4HkY>(I`t--eoMoK5^ zRQYFTRrzw)Rhik5d`UhMN4gpMjyR}l9lpAFln5zob6`6rn^cM?@byzS)H>AzGVle< zY6v*k_6zo4<^%;2C2lt2y83~-p<6t+|HEPRiI4OSB{8ds)1YYC8Ji1yoJ1QZ@1Bk% z>@CVq{^S$a49pXEPCMV-K?^AeQKIj4lv0ewxN%Ik;q@J0Z6h1EuK za`q%$l&5W1m|y1I_&hFEFyJNU=5=JJ`E+LM>Y5qsA6XAGh46R2_83OKhACNr+=>M^ zrx$|Cn!DmjD1!+HLOr07Oe$YGo{hg_vxss&Ky3NFmYA^&JmL&{R(E(vydfGDMx^7;hjFg#aS&=hCcoSAkut& zv#_LrjjmlK;>FHbx3;9}_X)y)H3FmNyC7S;__u&|zhav&%@Z|xKTDh&kf!~GRe@7L zvsIY~44R+>?8#HJHXWF-OnDThU`(M` z$Hx!V@)=5&r+|&V$ZJKjn>42m<+Hesx~4(LrC}w+Unkd zJlQdK$zPE@3GsHNAY?zE@j@&vimxa-zL#Cz+Wrl1CCJH+o8O9OX&t6=xGhZOH&E;d>I=61bdc-JRNbVdq*-d5tPZ28JIn_K0W`M z7@BV2ZFRw z7|UR65GqJR`i#5{dtDJQ%%ZHg%6UGrzuR{M_J=>5cNZcAB0rRazfQNE_z|3EZM4Od z2H@RDQ9UpY5<@o?qR;FoL@9wCiw-2cyasr?n3N8nQVBx|%StbMuOlqa-Yzb zRWH!7UCQ8xop_6}z*kta?su*vs&-Fb6_LCMRdo&uBr`{$D(+X-3};ddX=5@ zF?1YBl7f&j8yhaQ4?`Uzifnsh0HsV|t7bOakjB_SukLqDvy<(l$#fk{Bn@B5ECg)` z6OfaYcw@(?ZQz&c;L7DR&kjv}dMYM}f@XZjGhth>B>~`<1z(NP9d2b|p1^YmBB1-9 zj^#V`{8NEgA%19uZl5$4|C}reF%ipnWUk86E|j5_som;8x=(ntWdAsBigx8Y9vMCY|)tS=n~hzLg<-mL+FFO zRhRC;jC13Z$bu`8Dr_fIS?ab1#Ptg2oald; zkGHNHbH-Tl7J!T)2hD0vtArvl%7U(XZ+9aU!Cc+1eHFR19MC)$tp|;zFnS)}7xYLJ&6*Vt&%)Rq zE#x88{q27RT)FH9yS_*7T!ip(X+N@z!Yk;xDyWZlTyxZSd#=vMll2jg!(n6H>M6Ufv@G*8 zJf5l|4%yjYy>W}1)*l7Wv3ins9CIyudrf^x95B^Nmh#xAMQRX}U5RwniY>B+Q)yy) zCZ!?XE+ait_9BzHnOyff?y=URN{PK>QpI!5>+Lcv8ZF!AtCo>21Y%lGYHyI(Fe1dntY>vy_S(c zudGo9Te;)K(i*|c?3g<*64wry6WgKAE>*YY=RTv-kz#UccoaJS2a%ye6sXSsq(7SD|Yq!#P&PZcjs`9M9Y+Mq?co?Wo?>nArzBHyG zbaiLjdEv}w?nfv!GqYiuV5x5cIXT^~Iww{MlZ8PtH-QYA)c zx+04SW9X2*X>wxtb<60O-RB(9*0c@rTXIq5)#gKJ2$C}1k<9ny>`42%1uE+lvLt_T zLA>f*6QYh3QUATj`b>~u0WIU_(iV}50xvWt#;GbW4)yMu1jg#Q(O#dd)_ zfDzI)OPDIr0NtoT2+&=ZLCRZ1J{!2*IqdlgE6>x@hah%;i-vCmiY_HbKw(kTiK$A~ z6x$m`h5T`hK{YPPhK3|T6i54aIHP&Z&Wg{KpjZmFce+dvn}C*l zI=ncyg>q6MgnLNgJo5;NgiVdCu4q8WtzB3U0M}?#_!A1lItuZ0Etm;J^e&x!HnK?j z9ZLu!7GF4`6S&pb!Kux5Z-tJ)j;KMoCi^+hDU)lcnPN2uK!dgJWBUiH7n*dQ7G;Tp z8S4+a<`dXFNuH?P##PE$$76`eq*Xb)vvPM)Uo3J5Jqc)>!;O>G8p+$?hA0)jB}ivT zapWRrMB2x*4ZA=-!OIm`U6=pfxb1e?B-UK&$`mMiQxw7&fCRBttIo2TN$wq0ns1O) zT^-)Ay5Z=au?y^zXb+j4ihg8nn**EWuWM7#!gBH0YDkv}T3gDmi0%=Q&qZ!E?~Oim zmFZVWJ6R1JW04fmP%I1^zb1o=_hSvd?pFYVc#wlHU#O;4$2`(@*q_^;(Vg{#Y^v?Z z$|S_qju!DbyK5Krl6@b1|AD*UOMQ6XeyXk7(c14F+TcLu&Vh7aGtqjC-Gni3gKI?3 zR4K~s1;*L&vA0&Yz4TDA9^W*!??GBb2Xe@2W#>Oy546jSB&v78&~u=HRttT`5A-SY zJ)8|8a?3;#_w3`TmK>COeMutCh{iPw`O(^Tbivo$kk<6j?2OF{7@E~s=jIy4>xZDj zwqGJ$eU2*tLNH-r{8yvtMzzCk{g zs+eVXYV|MO${ESP@MU<9w3m7Njv=RG8)Nsv#5ey%ew8JEo_Q}<9PJeGEfU4v;&bb> zJVFG22%T@PK`4D8BrBN5cX-!4N}jOqwqXoO^$=Or&(3EeRS0EN_x5__bTxOE74cEd zH`d|O^tCSa_N{2)f!*hG-HyLBZ#sA%u5qTpN@R~zA==l1ra=Qxd5$Md-P(X!YG}JS zVMR))${6S!*qF8D=$YHK$JhI$gS1OqkVRIU&`Znk#d3Gq#9K0uD{T(kZ>B9zQ#+8N zlJyQ~#^Yd-v|(W|0Y}YrZN**Ne?vm?zt;=4!tXj3I|>1*c*y9|iVW7} zxIS=v?OCCFVuxp1mR)MEO)8|VnL)|psKuoXL7J^OLbUJc6UZ6Y#==2rm1p1L&$nlN z#hvHV@=Si)9~rgOWd$i}6jVM6~9UFTFCx*=KAk~s4#{etm`-`1hk)!NqB;47r@`rt(}22cP+#J~zG z>_>bx@x0Up1>;2fBG#aYEVeXUnp&Knm(AA>_A6KZG#G}f| z#JY2D5lOH0wPRFQq>yPKSab*f4rfkDQtGadaL1kl#Bke^Hw?>BGiTNVhgdN6WC--O zCaK=a<@s$*vo3zgt((;dZcmiD-jUt&LG?s##o$wQ)1M|?wm8AJEF7R?v!m$3G6B3c z`5#g^;3cWZny1&cQr#ZX{iJZ`MKYZeNe43cb<9fzn1RyKnJOL29C>8!dpDZ0++B4n zfGZ!PrTfjWoAJ!d4b}n0k24CsALc?*Tb#sXHmJ=|?uGhRaxe21hP}@?m{%51pq1bL z4rfkl+({Cy-_)~g!G#`08I764y0tPQeyh-rY~_WyMm|*kiAEpRzU}1542*T}nT0MV zbfESq_cE9#s|(U{bq7&kcQ3zj&H_Kow4h{VqN6w)|nN^tm|tkoWT&}!CL;&xKqI#dB&3LOerUPCSa2Sdce8BfZYkdWq; zYYf*%_hNRc&r_M#pTuj-mmjH}ySKU&s zC76d<&5tsxjD_;AtY;PlqeU-%1>VMY_ygSQvCLi@5@g=l9npLJD(cD(4HM3M|GdsM z!frmtSmkWrL<+&qUOl2H`OEzGiD&e*a3Gz(xfLViZ&v;GxH}%rYVR9eePtwbM#%F? zU@INMb3Uk>>knypyW5tS@*icNowSF}a(x9iXOo=;=`G|s%Y5C3$mWzz0xz5J2>kc5 zmNxXuXW>8s-VV1DOwmX?CkPvE55D z^@EQ&hVxcdkFwcE+7~{>^{Gf$(tt5hw>hR2DT#_LJ#esRJQsJ@AInutsqUZn-X7ij z+I$bmT`c^?h(WGyJ6xrC$75ql)D}_Ajx@{BU8R+>K^Ox*{!`=7cTjUQ;lxK~&Orf& z&Y)2rSND)tBS#iBL8s03qrnx~6e9R~H?3v&Q~jleGQzs%h6L*4psR=n?6JVDEa&|EU38V z!i_Co6X37AyK;TZp?AY)N92v);mp}_>7_gX%Jo6mo35MU;)gGtT)nc`_Y7lM*|T_Bw0DjhgKQ^(-x?2?zk6+D* zhcn`-y~IBEr9Fe2ZAoW`yEEWKs=*~PADwU1k&|mn>BEx2B;Kz6CR8D02r{d&YJdNwJxY?h9@8>dZy? z4+||TN8x$~kIGLq13|WPOV^?y-F}9aWZ%@>;bBhVENKJYL!oUB0KVg!Z>=Y7YIv1F ztLTYt!oI~F#gjU?yML!ZL|VU@M1mn}XKksw(*>`$6cRx}361lic>&*cr*^xsgOc^^ zaKrNwGJ?xSB*99cf(0W@5;tOEhaIA&?^c;@oC5fKN0sKOB6Xvu*y5_Bt?FPPF1M;5 zadC>yzA1ht2ALju`5&fC=3m*)ei(*L^=Cs%G;>7T*^hQ7sFEf#z^FPOg+Kq2#A~l& zYpJd74&v=$hn(og2VkeRLek)4HJ{?iqU4~AyY9Qye!2vE|dLe{5AKl6&Y2AI_w4)KbX>E!##b)G#^?2mR^Dm zsjD!GfdH*!d+{Tgm@9ZZP(xnQ0|Qk!Hsqk=q|)Lhyu%u#n%sOy5~%jpFv7AEu*b3z zL&}bw5};^qa9-4~2Dq1iC#~4xLSCD=;WP{Ipz$* zCODVnHoTgt$@=FEJQDQ;4WJlhmqk>E=67Hd(%Sm4gl1Z@H+4J`ghJ4QSKM?|Tv+8j zrc%B5W=*7^XnxLete5?vPt!5XS6HKqyE=B8zC;vyTtNr8vH*i2Vk>+xxgzt!hhz&P z{3*-dWU5Pf$@o&0FU`*p(Nprmhor~C&}^xrqOf-BNFBi2eo<$1MR!Jfz&&wYME0#A zD%p#Zbfo{hv%wsLvyxr&MFer}SZ$_c1@7TCkgOD8Q>2o7WbrPw$X+EZNRVasx(Os| zEQMn;gGpUr8s#*lI0f*%i5bH%07XE$zthWqm;KZ+qQcRy&&#D5sH2xKIZ&Y%m5sw8 zu(hcoSL_qJhJ>2$sdG19-zfhqL!Oueld|%beWFRUuHIqH9^mpB zHzn4iP=#BkG?7k%Qhx}mB2KkHv+m*CSmE~bka?fN%Za{fZTAjlwg5wi0mMqZ=MB)0 zEpYS*lgy7G>qQLDZFU!g;e%z%UKCy1@k1)NRVJqvYfLUn31@0$t27^t_yhQvVpMQ*tTlLRnl-( zowM4;phE%Bw0ifPel

    MS;Jfxh4YP_M{!X0@X!A@W21!Xm$VTKdvrI-&Pz9iAo2# zatp6ah+Z6GA8p{e@*mqUyJE`P$D?m$&$v9+(bsoy<8a@ev+buk)oclQ9)_*(bj?)W*YUKIoR1$079P;>AkX(Ke^k^dojzc?6`L3x{v#_$dpB(x zu|N)$_1!qy3qS>N=yxeXK%-=X6A2ye6t$Iz9rUd&eZp~l1G)O|*^YLi$y?|sc9ak2 z*U9!GIr!x8f5bNQ_{;L znc4bwjVPGt;c=H5kiU$nmVNhqcK_#G3-q?^X9K80uBHtLQJKdKo^Zrc^Z_UCUJF+S zf&6$@Y>#3ge}^|p+D?x|@mtcXtH#t#-_hOz)^%(0(y@6#Rr9QXE9wW}pf2B`&V%Iy zcLBD&qZ+%3;v~tgcBNje4n(Um0%g)&)uqA95vw?hjCgJUHDYMZ<`hoXDw?X7y1$pW zCD_$BvUhOli(j-9}XOhr+r#UqRjTa9akyeapJ~ z9FmGsFcPEAytQyQlK#>>Tk*bV9gVwBI3V5uD$C<5n3(|@_955i$QR*6+dr-K3qR4L zbL5QScCM+voipk@kq-^g^_%@aGEh-8=_``iVk4QukmP1PeQs8^F4ljm#Yb4O&UXB- zw$CH^`jAtz_T2}-?JwCcsrLTY&v*mgLz`n@1oKy1VaDZ|yM-4ovAV0bu1$+GOZKCU zHKQi;#w1^OTK2cW=2KuR>+6)iy+4VoPs(~+&X-Iss5D_xmqSEFQLO~G$DIg3B)#@N z^G-}(mw}r7?f2FlS3gK`NgchznO6y9NxBESm)3P20Y&2F{(Q>`(YLgX0A1!*P=_wI zryN}`P1Zx>cpN{N?H*2@PbYShRfRId=;rhe{Kn^LDWG8dAxpr91-q>J?L6P7IyN=% zL{-3??=Z%^y#ya|gL<~p+tz~UJH&g0*eh<}9ZQ?Fve!~Mi>_y_UgSNM7bz+2bR+k&zXgH447+BdKr`WO;?K1CYcPC1>Glq$fP zj$hgh9@0IZRQ*eCn{{vJ+e-Y!SxN9~N~lW$D#OuGrv%Gamzp6r_C71#lDs%Le=u%{ z#`5Hd#xr-(^+d#jVWW5zxR9#H27~G;&k3R?4<>*@Z!!Wn1C zS(Dg{Y5mwUchHjYV>$fX`9ZFlAnF!m@3eb<;N){W1HyDNCSJ$m9n(R2PTcgd4E^k=w61axq*_75NTm6p^v#a6C`dVHY8gsFy9@ zq9t3FtR3;_>vuFWwUk1lvFvW_4Cb&tll5N#$7EUL`m#xWf}7FxH6_a!>CYm|KJ|=c zhVeE{&lPf*)*gJun^HVq;jvJ74bEZxnY)SUo-zF=cLQ;GRBn6Oo$sxX??uWIFJuiY z9EwJ1pfCuF3U={YOua&C1L|ru&Y#=HXLY=ZtT*R;wt-yTFo8F0wI~NXBoVl8-n{39 zXm>+p;fcOO3G;lDxLe%>grZwgi6TS6nV|?8!gc25Zf&RIURGg74!%?zy)_t#>4zK{ zsOB;zZpGyo0{6dWKY9WyF*f@;;9CwgwGYz|ul>g2%y?DgVu@_uoV7+%gz^vCXHo@N z^c^5nCm0?+SBqcq#d(1#kY)0*RrvK{rSMs zI7&{KWRfAE8ZtQOsO)UNrF#%C$lCQwV-2!cr zGpn}Y5m&am392M9_O!xIY}0S|syd|rhvK#BL0l}3Q%3v6M+fPLLZJsVTa@H>$9EKi;98RB@5sDIP#IQ%k|3?x z=>8nd4lXJsR$Iq`=wfDKSzbVn%ml-&+a;hcG!9c0_x__*=KflY!mq%_$xfcSvB+5i zLF9FcN;MViBnI&OS>%*M5Uu3Ub;dc;@Nn1E&8H<<@Hp>y>O9z zwpQSOP{5QKQ2OcorfZ|blxGHlBbnTILRQsyzMe|Gc4f=8DMK~&c#0+0BuU#=(seOb z=0R}skRR?H%$T^BKGa69)V^4;#4W*@)epBI|6O?TB-H)RevfdTUF1uP9#=%H0D#Z# z7MwxHvxW~-%#t&W=4~s#N=c6{&qsAnvh2d*_9miK}n z)AW4@HC`fgN%StPF`L`@`4`@c@ zD@v;{1o6&;-Grj6@FX>qZ zgru8LaEN1sRN>-~uTF3%tWSH|E*pWIfu_}M>V}Ay2@}F{&hI6-!Hwb`zoHu#Eu={x zVw;Gm9d!Eo&6UxrK_010GfQzu(lZY91(JLU3Og~U7p%>F8#x|#r^?WVt=$>v0d|>^^rGllm%9Vi5S*ci-92hz9j9! zBtGf($KmgiRLSD7m&HK=y~QeO_g^uMilFqt$+g?H-eIqGeBiCZ{FWt{E^h=m0dzoNB8W(X2sz?io8L?AWW$Qi?kU2}}2O{qgm1xxO}H zX~D8=m0+)U#*uOorCsNO3uLP$A6kcDEwAl!q3au**)^86#7%L%3cE4R`8o3T7>2i2 zfkeqFxZMkriaLqUBhtE2|6r|K{Y1^*TMf>2FCGO%d~J$1UcW?;HGN=udrfYqADmd< zm0e$v&BnX*v<>V*g#j(&vvU%gjN)LsZMB23#w|e8=37^}m)PToyfaldIqjz+upO3a z|7AqwX`8X~Ho$=jb5}(R6bGFM*~AWasfW0OI2A^v-O#K<>}*ktYrshHhiL;bwV_gM z_1T}>MJWg};$^ZRJbthpt1*iM*0w5BSll#L^lv}|%gVhJ-@5#mFMBMrR)Rkn!C5~~ z(#PDF)k$&L9wAzyQ{D10i7v;2Ge`4_d z{N8nm47>Ndkft!ieUmEgcaUNVuN*t`?e zA?kf^o^c<$(pZ&^7;*a(qmou#v|jk2m{%R;m*Sj>Hb=tz9tC;~;{vI3TN$?N>f_Tvds6Vae8WK^ZTlzq32rGR^HQemNL|kJJ|vD4 zV5>gy{bLe^EUf(rfWwye4zk;Syyrl6Sif zU4qwp+ep8o3NtGH_y__2Qh#k^$i#b=#NC;B%M3WVovrdenLDbtB4-;RwU$w@+fUpC$lT%t{tb=GP>QKD&_Uql_c zkhIy@NCGW*UCXD>;SQUCD5sk*TIPYUJJf;w9oHP+I*}3tr|O~G@ebFnvHJ0PRyDa3 zT+8{Dhn2ZyU1#T;H>^f{!PTGAj~>p$8k|%6{Qle+O{d(&7rMfDO1PeeA|x5F5hRr} z7gzTU#xXL@Lm;LJ2IMQ6@$z6)+TXm5u_HO*@mK8Un^C3m@^OE)-xD6{>PDeF2!^>o94scs>D-Tr{(HG;)ey%r_w+qHz1jP!C) zQFlGklT!HMPdYGmR$qQ0mi)8UwP%$ci~>B$=-M&MZX1yCCXC=7t}$T?^Is$8l9rVey&w5K@i)jQb>X)-1<>LQ}LVt!eEZo zPC;m25ze#j*&N)3kpHYCcV&yG_-5fF;t&Oxgt8?qlXD>inX<4wgE=#^C}TdE^L~Xh z(zx?0?Qv{ymWTq-RaA1;-4}G9kdSB-6c{r7YFI*rf}^7N_rV5O2~8rp!p(&?A|jPL zmRm+f5h!aB_t}KR?4^F&#VbGgtgUpvVE8`0LIX&sl6HkVLW{9?Oru1AW*K}k_ZX`M zxB+EBf2~}JDjk{~Y%4~j_B3GA^ga`eh_rnTC*2l);$C_jGZ3GnpniX50n-7twFVnu z)?vK<;jT+8X$Mm8@;QoMDbL5w+|o+BX)JQNgo)iSBJlX(lRla9<{{+r72C|>chBMp z9S*U5;wZN!@JVWLcPm)tPSz7aGEs6a7o@J2y$-+BE3W~JDnHl*J*sgVJIj*9v#Pjg zwKnGMf`!Rw_+-%`w+wCpsH3zsnh~=Qna9}o$W5rUc&y@+P-Wj?UGtEW!E4-AOd_B8 zlE=JJ&#s~ZQi2Z!*Yu^^g$VGJ^~mD<*?oCyck>m@%mF0t9FGSNgK@*1l|hX6?*lVO zdVTGpxnNXW+EOYQ_@yz}e35eg7{_}Q^9s2=b)#XiC2s1Li?cE(O1v$%CT1$qri@@> zC@3ogh-#J*Bi!w~^XuJfF#`^K1dfB(M3&hv&Of`BcX(~0;+<#df;&Z3d+ahuo1Q`e zKe){`?5Kfl)j4I1xBx&Ui2Jy*~Wb zd%agE_LEETUeF49k~c&@^`UgNnqS-@52lV-$lchds|%VQXl6K+;^+WLTi^ijQ?$SfynsoJ@%cB{>YlSPE!D@y`9zUw z^$3W@)n6bO4`j^0YiC#{m*!ll6}7C>{^;%q5dLUbC`RhlSz6JZpX^tud>^xJ>|t{m z`-BWxgkI2EfuRLx^|(DS>lS}+2|cty8mwne+wo8-6g$`sIi8n$?Tzn}rgCFx@q%Y{ za%`5qJgR%2n}AFEZ8qN{x<*80=#=Q`r$ov?$mOF!lwk##7${mbEQC*{|Ht$914g;k zqO}X1$jN&})W&MA;!jS^R&3YE3bc>1C!vXPA%-rvr;d0%ngKhN}t4TdRf0#CctY?{|+b4htu=+ zb-X~`?8^cuxo~&0>Aw%YW7I@Q!UKb=$tm*wUR0k1YSF#9d$V_E3UM_Fa!idJjY;6#pi|MXh-sO}jR z861SqnuU7I?9_ndQ zn1hIsU;$O5S`avBoC@~F_)moCoj18!%i;{69|JFsWIz|HGcG}msEFH#af7|SjZ}Ui zhG74~{xWZz8KQuv2pgW+5?r9?l1&+aOO#Vs+Mc0b0AyxHC};my;r8-zli$ z5_;2OA7e?8#mfc+&*1IESGXY;Uqo8fKk)Fvs9te-TE1h7WyIvUoTYKm;U(?PW)hq& z+)Wq6(z)B5E5n}`wZUmH0p0ih1>#}-iAwdjhRAq@aTy(dCn`SRP*#E-`8>h(e!I%6!E$?mXvQ;@G&PZL(Ju4@#%-0#rqdG4~`Gx4hqJuhK`X@uynh?9&=EJ#uZ+cKDD%VCC2=1T^97UvIAr?HcJv~h#91nDJ zLInS^=ktKwIQ)K`Ok9uG8v2e!sPFLFIm7ECl(tVOtR})+QLt9-p&&hF>3&pOKBtwI zk<`aIWQWprE?2<&2~hW_=GW)^OMbHm48VC;#;#>^q%kFZ05+z{QxvVk&&8+IvUvl8 zFEr}vuU00G@2KYY7rh`)+XOQ*ZAfXAJ$};FK%!@Ffv)=2Uj|m!iPVjBzGF1|i%I11 z%E3T0@VP7(DP~cm2c;>Yx zg&4y~^@5MxHbC>aidMci`dza5XJUF}5V=Ig6jXzVMfXBwQ-ZDTsr)pM#SYAogfr}F zGDSh)!R>|Ddee(>wYh(Xl*ajX>LrO%8Xk&qtj^?YeZVv<-4n)Q@NC<|8BGixkQouddW6!K_=J0&2jPv=IbDiXcgSU_zc?};PMNRDQ@5MV z%Dlpo8vi>CQ`p-nkLVz(NKT-`RxGtIcPg?8gM(^E`^E^^GW^vAWg{ltfT8Wf`v0>U zVl~y7m$-lGPLlrg*raAZeT1bl@-FGKxh(-b-*g*Cx4D%Dh?%XC#yhN`G*F#@=_`vQ z#%U3n>&nX3)L)xSyj3UQ;o=5^Bz14XL)o`@B9v0QQS#c2XjJyY);1rO7vV0OxNUlv zldN0DH$8UuD&`4ypy#o;gd9Md1-Zg|S71}cAqBq>S02yo$eoS}?;~z>Ot{ukMi(%L zbM;O?07mTldpL0XyXsrA$Fk3h zZ)(LH#2lH0DCWp=Y#>1*>nRtm`*UMP`w%JKkv#(_=VJPpcX!oce7vh@V=NFiIW(5k z69kUX#nN7*GKu0B#q3oIop&$;(Nvv<3H`n*``tz3wLn9CR|&e7yn!yO6v&5CYx6d> z!(DvKxQ6+zkNd0YCZ-t@`J2p=L<%aB-c%gh>W_%m-P)8CUwf`Au>eLBcd^T%Q0p8O z*BSjK3)iC=#~KDE-W=l17s027OYrSJbeHQmqxmo&7AW)M66vtu);NN1XlNveiPJll zJRgk@QK&@x%+bUp)d2jsXD;Ypzy)1}szXo`bnj(!!v^ZKCyhay7b~ow!S320Hgt-j z3rpC;wLdsK)%!cLd98HnrHhD)oo_o;m6x;~5BJ|#qwogQN9n_0@l?6V>yoy-V?Hhv zJq66)Y5TsO^@Z~;896F`Fkdd@zi6B;vhZ};iG@K)+jiBP1}z1tSso|l%5+Rt8ehST zYz^Pir~KBdKBcn#5UGF9%<>R@JS8u~;t?YuRyN1lh`ZBq6Raip_d{BTcO=6UqGktv z*X`DE>ds3$lXoZY$`vC->Z4+oQAG0?fswU=>npJQi^Sif8I6DT`8Vi*Q{}^vesyVI zwO;bJ2V|_^tGGU_SP+RPHVx?GJg%|!4%wV!4qNHGW%tFj+C63P^H+Lp<~_mz7pl&> z3=lg7aFSp9^}e?hf-ex)V-wYBKq7A?Ah72XA{uU% zZI_5Z?risXJZ@NN)hre_pf15#|eX@aguH)v)N7kmz%q-*R|>~DP_#|_eCY1AP#fyj!xOpC zr6B+vYXf3E!ue}TkQxV7E-z=5afDD)(d#9&8 zX~o4oR?>e5GxuJllX##`RN0=ml^_hAJT|{RA@NC7nf_hA-(i{opj$R~IG*2@q|&@Z zy2^xg=y%zw18`wm$N37fo%8*X$o*xgb5ui&>QV_|j)wSq^&(}PYGPQAG3vIjcf9R` zKS2=l7gK%4G~S}~FPRS)Wk-(e4=WDHus-V)u3{F-|;Lz z-(d~$$O;eB-FU+CT@HPnkI+k>#STDBN8|4H}SqS8OBvnmhj}mMhGJx zlmUU*!LNhI);c?LV`~;_h^&@QzO=cJ^r`p!7U=No+}x90e|1KX-2gu~VI#iTJas~5 zyN_))XxGc3?EQ~VuT;d+RoX;Fz>YYS|9$igf?fFJxIpf(ZP7zY!ViuN_=K7j;@Eq zW9MBLmmu|?*J7Xgy*V7dVtLYI?Guyq+L<7Glel0X9V#cS*_X4N?L4gmklBafd}9p? z!ZHVpIPzFtyT?AP(TsX8Z2w|T{k}t-N6AZZ+!xncwSn+Znoi+W#tq0+I$(J9onE6v zr6UK|T5KW`)R>(8kg*#v&CR8=F;ARlliIdgiakUDHbc|Z8q*H=jp}t&ty|D5k4XxJ zdQxbl+2>>q znin->Uw^}jj=*-;`Jj3 z%*h7Af5Jt$2rVGlWLBSX^TQ_?lennEil^ZqR&*tV3!)-1 z#aAZn%UH}KXcKwK`To#kCya{l1E)dukN^UIlYfO!T2#F(fQZSgx!C+q!xS@S5O03? zmqs~qEM0B~{fM!4z2p~eeZ~tC~Ld=?tGt#-j4v!f)x}%1|QAl7?|<@ zmX1emD;|Eg)jZ?DBY4xJDWTm%_*1)x<;D3lD#C%&;P$1B*5hgS?j1;Z2x;^4`UGVBC$lbKjrRwCX^?3O838>%rg(DOtab;8~6lrdOQUmknB=`kAlK+ zrqRbP#k~kHyUbpg?idVCf+jlvpAB8X@`Lke(e3@~yT7_iq(dijU513x1RkeNES?Dy zdjis+Sg6C?f+W+c1IrWJhAl*p^oG?7gm zDDWL^>T6=#qn~19>vufO%CSJg+@&sPGaQUbVdf9fSdhJjxja}adYgU#Z*1wIr$e$`93k}+S4&Xh zVXhfb0P`Y=j7jgCovKDV>~KAbzj={YCn>&6sEBpHil8IAHuyWPqknix2m- z#Zjgx^JT4cxo(rpIChCA4PxzuvzXOKAV8Nd?dBFs^Cu~{_L}b=JR=F=4EvY{$~qaSCPFN`Dtcvl{G&QjWs2^ED%ZclItRa($+)3v7aV0Db8jf< zt`E$F0`W|v5U4IP4SFs}#BDB{6ACZA|E%g-R1MpFiir8!XiDkB@lmQ$rq*+(D4J>; z4Sd{#7O>9pC>7MLk8I<=dV?C))xsi`Goc%p&ZtK3Sr9zaDY@XiQ~_7R8^*T=Okj|Y zFSJ~Y9U=GYFTLFsPtGkKviZ83DpF#vynCH^z>Uiz0kTDz2jWblM&A_Miw8~G2rNyX}4stQOu+^z|>fUcPr_XRJd}vHIxlYx50< zTnH!Exk|dkuI--jX z;!cv$o^aODMJ&4y4{4q!4+mK}_NoQylyikZ&>%YXQFzvH+WQkl6L|x3c)$#Oa-Yia z7Zx`G+)+cCyr(LW)PzCL4YsgNVjxv5pVzViYBY=!b|zY`s(|rg?)#LaO8+Te5AYwi zc@-X5Kx8wWU?gLvBIF3~<$nS=TLAEPqOCMsRAQYGU9eM~S@k}2oXqye(R)z}-OFwT zLgX|y1AUd5XMeYMENxSGijaxpT@-@uED9y_yrx`?wHimgz}E5c;x|{o$H3|}Mh2*E-{^@9zgKqTZ8VREq%sz% z+y0>j);b{R3FGp&ud;@BV$Z=H>wZ!vgVB9LrtqPDsLQvQ z?*1kV#~M8f%ac*oE|%~!FA)~OKF;{=@;&(ilcyQV=R8TvlVgKU4#^|+XP*gKMb$wIu$)GUrY0<@ zs3v#RIG^hcW4~q0(yF!cKQ2?kxch^l(9Ten?KE>yoD-I773SHLtJsD-=eG#9bBu2Z z^PJtC6HW%?+xOKG;T&zZbBb~alAA%p5EuQ!dEs=q*mzkI6NrYnjdFzx=hInX2#+@i z=+^ayv8|p4RDa0#Mh+=@iG=l0Wt|cJT!&NGnZ8xEq_L#Uk zrt%}rfNq>PX521q<$V8K+it}0cSLQgdqTL3oV*P0x>NFBPsf@WY&!($kd@st`-tbi zZ01gewcldIhnsZpt5w&+Xi7RKL`z5us{z0gz2KPo99y+qe5R9Z`ucwmO~*-v6d$;i zJZQ=2>htn_fe}b!!=9p8Vve0Aeit*FGEs_Ijb7^{aS+KDZb>$!(?qq|@7N59mp-(u zQsQ97Szg%o+nf7|tbOm|SAKPfaYIfb@W&}~+-SiV)MWQe<>HvS5Y94i(;=*QQa4&_ z;ZfnV)2|NEE0O+7270Tg05-FuLRJ;>Tzs2EpbaA%NsFDqkWOO?GD~v`*s*^J=d_qo zk4b5oo9Z-x3BTW92EsP=)OoP4J?`;H4wnBB-jl_VE?*2Dpp!jn@^>(OG`ed&iNnf3 zqzLN0o;C-Kd;kZn7ebldE8D<9B!=fJ0<2LMQ}aAUF|dW_Pc;1yT@A|`f6+K=e^{{2|)BeCTxafLcZrs}c~;>?U95>Brbe0!uax zn!jB}$Z6_jd5FhpzJn~iTuK(iW&AS(3iFPtDOsNoE3q9O(^eS}#h)3heNhU`P>aiK zQe|LTJDE??|4~Qw%n)aqp6dRk>GyEjITEoF(EP()W}P1|XEzPnYmx`cz&!e+L7xqa z)O*y{H`AqFcU)Que1_0;OiuABCGB=h^K1E_?1+eu?uO%if$(nkhgwDK$EpO+LqIv` zP41(Y+Oq81aU3%O)F01`J<6Ay5cwZUWUD=L&Dr_ajOW89$u z$Zj{83hHao{~0&XzW5UH9m(^;>g*#elT)@wl{e~j*Vq2BM%BJEaVpmXiQtJkAJGN*CDEg<-s~sid`I4#l!xL){EJ()o5$7(r;=e7bv1g2c8EdcGnsp4 zE(ag_0Nu)eb@cA|cQ0)Nh+Mq0n%_UY7iVHn(m`9rDD=qcLc?*{Q9=#`QI=!Eb5Ryl z|6MAaHgR*kdj!vx4+j>yxI1@m_ESX49Rm1Ve4rYL2y*TKvfT7}wreukWo%0oU`nEL zo626RXRY}rNl4Oqeq`FdB5Xq5=TYRP0K8pqzQb$tLwa(Z|5jLLI8a$uVAteQ5! zTkb}AvUl(U@eb}Qdw6moZpbJyY_YS4;a8AgS zP`po7A)I!1UckWT8Zd|qHpy!PG6oxx2S1K<_TjptDz4L)OlA$Fto`&<`6&*wby8wy zyy}cCQeU(t`Egv0vwbpZNyQ3Qys8SLtfnTKsXf$bnH>Uy>kGI~7jyd!ujeAAZkE=b zW8<~0Z=-5Fjdq&>Fuw*({-kccVG}^&bh9BHUm^G9@=<9kpoX+N#h+Z)bs}_AlWdT* z2OS@Jpv$Vq$&Qk0Y7H|ed6R9gDLc}y_YhGgK4lVW#Fs;|0=@Q}W6x@9+Hs7=^V+>3d-~lxtidc48A6K!y>|NN>j5eJBRF zDlLOJTCP>(fafdM6m2nI0=>}Vo1v&^`VLeKO1zc!&1hx-nh;X7nQt!DDcg=n6m$!F z?sFJ4GG2rr5sl5+=6p!{MVvLm|Xy0nRdi+zLD7a5PN75HL~Jal)IV7On~xe0el#lXQ4gdU?4V~z;FOb z?Vn@xC-Hdgv>)6CUuL8&oL;@boy=0(ADx#bp|)GdfEEtBCF&%^{65J0m({>=>FmqX zK{BHsJm#NB`l}*o>&qLf`y|?^l_i)RSiJ;C)2RN1rJFDI+0S&Nk&{pOFqZ5qkf%Zu za}p2*;tRW*oC8H2E(#fh8@;+0vD?KUcH+i@QMi$SD6SsD2bu?MLo5S6(JzaN7GN*p z)P*7#H9@TsUS(r;ePPAsqEA)O$&GeS#=NVq{K?t2Jh@nhZDzdt6H$A2r`C?Zt?g|< zE+Uh!W(Asy$nm2_0awGXUA!h)#nl~FP(X}^!Zm06p1M{GD{^#daMly%WISDmZEEOu zO=e@#w=iD(u}kv7{K+z3_UOA<&Mp1KA@p+}9|o2!lwRq=pR7z?cd23^lC8DZGjv;2 zl`#j@x^|)q?TTUOsZCZ_(TyJfeR%(%zAK=9sfj^(LP?4Kam;)E^2PpjxCd|X{At}c zRO;L11t#i{+sjkalqztaI+6d45?=2FAp+%ti#P2gyHaO$wOU?6Un?Kvk zqg&Et)GmBhchlNOn!#&@pOE@@7ug%^QgZ$9`2B8XrQ;!GAg_ltrw5X##y!>}^YsyP z;l)fvz$VKL@8dpEL``1lJcSzJkv#0avKvx4Qi%y)KMPp;p` zW`v2!`;Ju*O;G6+%=C~Ojm7Z?UpTHr|JX4dU?e#f)`CodP_W%PX1I#7gR%0^)c?H zw2h}q2h}lw?10SHvqcJaQX~!iq@I@L|2EF+MWbt}1VzlLg?~rWzOYLG?Q4P?<3_uf zgEyaw&q@FenSEBlseD*Mt*1!xkK&Xlm3AawfjqsWxRP}A4A#eD7;$n`{Tk&W>!Od+ z#X+rcl4rBeKdDFnXX(==PK#{zOrEJ^sh8c)m-`!Ae@Zo5Qvgr8H-)alMI}$#3M(}$ z2Vo+w09dxk3bOl@49T!ivfTRhXl_Am{T$VNeZ1Z5$*|b+bjl-Snz=Fdw|9N;u8T`vq95v`4H)chL0jla zd{+GvP|HbTOrl3P33jvdws|vz?Mavis=(8N<0pwg^;5^i$AXH%Q_4jBO|;t=Em6Vr zg}X?Tun^;}ylu9fG1tzMaTiuhn9x1Taw#?(i_ZuT+()BMvk3{I`tq9rO&RRIYYOeW z*QbiR>TWVE6W?7Wpp(aFL;SKt>GfD9-@g;{_J@ey@;4{bK&-4#>;b%jDvd6A-pbZ3_aa#V4463;t_g9XEBP@N6GQh*^Ym1 zpY)}%e~5RuwZ4wJTXQA%2W9lU7s#hg>CeGDB~sOfa4x_Pf(a1i1c>pqAF?3ENOzOA&8RVp6DE?`1j9Ky`y`Han$}fA5nn4 zfUJzjsIvSMNX+o}Ns9QmvM?lLtanfst*fQ!Ok>iMBO#@E1GLv zo268GZw!9pC*epDN=cN9vAH&%w8U2h`L{FF25g>|!kg zkwOrH8Xvow#xjo6kt>w6HH^GkBN;(uTnzt!K+@vXsMk{9O-OvC^2Jp>C%FK5+?!T)vd!-3Q{ON{COqj zO~tcibe6MmScmWfKBAimgZ?3({eNCpQ)##=IC|qK4Zr(D| z1MN)6_Q zIGED6#_?J;2!X$D2tm!Wv)cm5;K{JHlI(p1cGN&UF9R09Wq2>FQYY~JJC@QPjn|&IS?B06O_kR_#M>QACR(i zq``3%I616{jdBowJl?(AltjnKD#RK_v1Ny88BkW2k-UIc=kGI3Ky5Q~L2%5{;2E`j z6#KL52uo%=Ex5y9@rvBdM7UY|70T7Rl)=!%bny5>ttz0lo4Fu39*0IaJs%}u;~%dw z-p64ht|QN$ItM;E0|RxzmVBH!pbC5$lk_NBf)>jWH(8S&##?t5m}k?vm2VuN?u}d{y>}sLety5gjiKnI4Fi3=qAX;%sY(Z%l;xIk+ALY37QkccE-gH@GTD6WPIud>OuXe+XkGGUjENxnOs@e!dE^ff3Zq?WbCdn}mB zO<2gNv?=kAuNZYzr%Zuxia`I z>6}O2^3v-!;73&1jO#Wh^m2fQ@Gmv?K25SgC0nBwhkRXdhI|GDN_8taS4xO2?JeOvihv%#Mz=Y{vxjQT*HE z8v5TKxN(M+y$HC}E=9F`eNWRAURxSpVm=}^xau$u;wl<5P~9h+5aew=8V2#RQY)lO zlMTPHHM*_E^f>UCc;430WVD@i#1vvOme1fUjVur$?*O5uapVS3VUPgg3r7OLcx@S6 z{)g{n3n}+UL&`?})G0SYukWiVJjK7kmUmpH2M#;E$U7vZJnH{=41kB8PqCo*br?eT z9nJHi&i{6i6USwcs8cpCBI3?FmVwjDh%s<0juAQ7GOrM*S<2FIeptQ@Ald*}K&QVu zlF~o%tD&spHgybI7HlovUY{4y^MQ!m9SX9cKY%g(fUW$Mda0Fu*y0BuUtOZN+MmMu zPnfM}cRG*g`iZa!>|T}eShBg})m^&zHIt}8{T^;v#tOhK*-yx>Q>akYS)o21UR}@R zUzf=iQ@j6nrD{YNC!P-j7~@0dTIiX1d#c+s%ga^DeVC=HkAsn=aA6a!=y3QjO&b*fuN(5! z{V^UTxW4tjDjQN_Q;#v2#@4HCz(M=*(tM7+Pu{MwlwO^CfQ*#&z!xfXrk3^-PdnOK zY5UNS$Lv3FQNOIC`D22#xS6~LB|~Lg{@E^Aj;PSGIp-hv3;xd!v-}-XLyccqCALf% z%{mo==*0QUD6IHeR3fC_jP(sE|`l&EhH-4Tly-HY9Q@MXXR}E>@)6LCxE%O zTD~ODm^wYRV5z99fzycAaoz33p3vNEQ|W=wXZ3+!uHZflw{Itx0)@*Q;30D($iNzX z&ufK_=YYW`5VD)baB*#;xHYXAe5?Q=~q(o&XzB7w!G85V955`FFLM!0IEWCx(R>;>;rz7h! z)zb%d4K5cLS@D|2Q`|V{`42rx*@;diU4fx{7-SVvFl?@m-GqY5?Sea$yf;qkw6yUr zCnG6h&NJvUF3+!j6b<}Gm&f#FG0jf3lvZqdD17s&hmxvpe6bZ)+UwZ*LA4*WH$5&O zZ`Zg%$~2vi9s;MYCs`u|8K?F7V)iSJc5+0DEE-zb6%VB*PRr>!xCnJeW#s(r4Yu(< zH9xG8PZw>1s~M%X@1w~~@!vdS%j+k&rd@pJnro`3`mV|$soZ0=Lp{Q#`SwTn2V`^VAEBDW4fkkERgO($7W+-!vGoUa z3ta*O%N$5{>CxB~f8d%vE#Z-lTYe7pMC@c+Qx>bU+1K3HCmx~3)RJ`(Y(&aScK@h} zd=WOZb|2>-nVw@-i05~^^6AH0hMYzYk~+)%Db5nt-JbjB4;QikW-(eSOw#$2Bj+!U zAlJ0qG!x|JFq+B>tfOaa>RkI`-_f)TP=NQ*T-mTON#ATFK)%?ii@>jLxlQD`z`R0h zYVdu*fjmX$iD_OrKR>t{O*==G3z=0Y8+-vryqqV$qm1wDLB6ONUg{%|wKtbmg1)(HmvchtWv0^;uRX;%iqmU(Bz|o&gvrPj z8o~)*dsLl)Pl#rXtG`B)I5@}4sanvi+*g+FVw(CL$ZDIEB<A@E^R&PF zilnPVUQi-e{TTE7j{iX>;GK(!7pHsRa%N3HmA&OAB^Iug|clu-|_TD zyD}rG9$t1$F#n>89Ud{fHc@sQt-VR5ea*gj6MHHC#v}62g8Y zaFWnQv&aVDY$aEBOrU07j1K>bC^h`^B~E0K0RClD8*SXt+sIu{K!P7AdRm5{rDX3o zVLl4iIyB2ZC81Ig_wDXWSZyb1=F@01ej{wT>8#ty>t!%~u^dV-Y-?Gb;{!L%j?+m& zoW1SbHn_k8=D`OUXYvagt#~@FMExQN5F>4~alfY;hx<-4pGLzu*~v_12?ziBX6_^9 zkkx?cT(KDfj`@6u@3?v^2QgB3@lh9CB0-D=f0hg3SgNZ8a&)yMi-yAolQ`>1i=@;( z2c|WW{>D^=U$Y2%+N8iVo$_N}o)I@Qe^>WqeFEYB94b;pb;cw2M@RM#^pwKcTXR_* zI1Z+@_cS)qz-V(tVamMtvK|>H;auZY$8Y0wTi`CZT9^hfKt*6@P7r2h3|x6_pW&Rs z&zp^J3$d5u$P$hN!v#DE<;i2k%?A#4ciAx<8V)Ac*olJq-Aw4JxQ6^m~aa z8HLG<;g%&Cl|9kOXwr-ld1K}U3S?dwE)KUW>hXbhAMc+)Wp6oh?1Pq-TiYS z)g2R`J)XtBxG=O9U$z35_=Qn*fE>Hnd_lM9>rx?>zFoRV=4)}jPUIu;XvaH?Cr7v5 zD=0*(eC`;BZN7(jmCUdo#KoCdz2?tNuEJ>y;7er56BBfY2+H5m*^{7G)^a>lndZ}*b7jAgA?P|wXLt|Z6X(31&zp_aeTb*AOutjz-y$z(@(=l+BX+Auap zVW*nE;V(6ymNubCGHlJsSiSLhF&Hu{q$~y2r)`HfN^>)k`dN#~=PCAV>3V6@#BiM2VwCG^q`4cpbz zAq{<7Nh!SCAJ{hsC*nP_8(2~+O{y$)0zQG9q*F3+?fZ)7nSYma`55vjqE@MhB}t_+ zlYz0;dbk~}-CRwYJ^`{RvmPg61qSIV?0aXqEQEoLf&C7tiOXFuCE13Uolg>0^g$S8 z*&RFrI0u4;Ww4_UQj_WKM4DNx&?}HkzhRR#j+T<3NnZGXdLJ2ykiOgOfHT5qZV0oZ zLFeoHBEZm7Gtt#y)Yh+}GijUoHHcR{eNG{g&09#$nU3Rb^ue=)^MS<3<#0 zlfryjlZmX?^(}8*qiP+U2$Mf}lOh0cat$sv>aM6A2L<@1i{(b6bx!mNq@owMdOf%V zuJ5HKVWmF4fH#T8<&3CiL2~tt-t+=c10Nr3vciA77bhi0vx5 zslZcu4dqu+<)6eIHHxo{u~#=&F~qxpxjrv6PBy5wA$M`&Ky-fYm=sLE{Y9RXM%4Mj z3QC+Q-oh}UU`We9_+ZI6-9>`EraVfu78lxS0PFZ)krOQ0M$^psBe$dvFa-gQm!|3) zDyb#?bjb#C906dJPA$`3zBo4a6jt>uQtYMnAFSn3JG=vGbj4fzNxDU+XT*bwD`7Pb z2Ws&?Y)Tk7$FsAkH#_I}&RwHKj)gWNJeh5MinuAJ)MKLZ2I*@mH;l0JZdhFOIv1}^ zK*}2dH?qO$N9YFbSMzq3bkbM?zvIX)4DvRbu?F0Uk}h7&X6FcFlWDOX-#Z2&rN%MpRlzD!kF_vi%_1Ft(D!;Vb^-)!p+@p_x?E%2oH6ea@kB zq|j|y0n9t*l=f2k`iZLz25+$_X=H2{M*6#!2@`lx1WnS`eCG}ZiB1>9+`|aQCCLUp zShix`_Ek~VfUXvhDsE;$CW@S(Xe0*^)74LX0vn;TB-2!hobPyB4)r}bELCwH6M*)Z zuzX29CM9g_ImePYLD;@+T3qKQCXaT=NqtPl4=7fi3s`F{qXym&+3x-fa1_ek&(T@+ z(!5wqVq_RJoFz6`zvoY6IiomOw+IC__zIkKvj9nQN%%s(D4N_)Pn9Go6BSA3>)3u7 zSc48NPQ$Q<)Ao|-xN}DT*r2j?*&8kFG{rBZ?i$y0Nd=e+Oy z8M{r^3<;jetbm1+)AYL(_UHzKIY1H^cH@1>qH1K)3=`NOZwGb0 z&z+;ln|&m2z<=X&F4!~tLqxR(bhm)O4Pw~0ZQ~a{T zIPEC+jT=|T-G763KyCSaZJ;p zk#x^V0M)~ai*{=+z_)0YMY)`T+|Zc1#ndpJ*(}2R(@#a~eZwz*zDu#M-Sz%vzVn1x5C*=7jl`ZzZQIr?k)kAGFNN$1d=_>&;I)&}ymkR3A*plyvo)ca(I{qUz&A?hK zj?j_2D#%@r?lCQOB6FYo+J-GhAvmt4GJJ73M-agsfAU9jAKCmIAMrcByT3jq^tdK$ z>LE7nK0(b7X0EkPL2tsQwspyql5rp?R_=-N6N#Lj?R!$8aN7MMVx3Yto z)`VWV2nS}5=w>ft5?2Myvh=m)RVZz?6#W^3Bqs{#?v;w^pEWJ4pwU)HhD3?4%eijR zXQH|GI1g3s_tO| z)?&jhf*rN}C3uMNSk!u>HO^}wf6IE zUcO|@`aqR-NlEz}Fzu#lLLmYbt$&p#jOF`#Eummie@mK{V8`Ik6h>{vC3W1F@<+bi zs(PbT8SIukPhWojMwA?4ch)96Zp^^OECB~zQ#ctYuxO7uhJViEaR#Hqq&utL@$ysKsYyI+`-qbfeN;+6nIIS`Hc74eV#_B&|z|RGO!a zwZ|04ckA;kaVaHB@1yMv$nzsUf_i?um}lh4c?PjLR4w@>Zjt-PavoqXlAJi^IwfDDH zI7$070HA7$E67&fO3yZFI{<^5gR<5F*O;?uUo#q@!VR4a-1`$ve^-pOsnxGRHA66U zb6*>L#s;8E);~@?D`X9;qYoJlKMx`*7p&gDqR9R05+Z~y%mD~-mg6T4H!&UP3ooQ- ztA@iEgbl(Q!`8nWu6KO?k5{|w{9bxE@%zH}v?<^_yraLeI>~0ke^31JbJC2AEQ1%d ztEqr^-HRgtvg}Z-kiO?ld|WWeMiDTL+e3AHN0|EyRN~I}Byms`ZL)Qmq;FM(12rwK#n3J}B#>$@=w$E9$=C54 z(&l`i0&7J54c2CZJJfaMj{|_}GX#w^jL)|tPEMqa_DQn{{@}DHh5I=TDQFqv;BB8A z6vfrc0ce!ETUVowXz=#{N}zh$nCd{{&i}J;vQ`+}XtMT)UMNjn&+8pXyW${H@(*p+ z+ifhNnd*#RBNOYmzNC3MSPMs)QqTsJa)abDM=-^Fk{=Kk;KmRFkUbx z1m(SJILrzz#l~c_$<(D9AaY@6aH%p8PQ?kukzT$_P2XzFyLH7E{04=^gDHe?qgK8hg;_oN@Y8$z;{a?)1EAHhyG!jm22)(VV z6}LkG;X~$MG=2}L-E(470@rckbYk)2`9DL4%?5Ny33g5?k_QE{Ce0@7Wa$AS&oO+eD0=BJ>x8z8}a6mdJ5P1yAtTZ^z$wH zJ9y&L`3h*l+-dZp$c4I~m7pZr6F+7;Agdev?~u3BQ&d4IS=O)lbql7?uSKU6c5oWR zvFMGPan?O&8s@({+xCnr))+0r=GddXJcl31Mzdtz5r4Nx;OoaatHpNrqja~)!K56S z04PnQ7TSB9v7bs<3LHb(0qoo1hmE>BJ1sX3Hz6j>z4t?dPc7q&a^4V zAJSg4smH;d%>_+Fqa5)S)FnJQ`~=fpSZUzxavGL40dbzRoHAF04N3Cu&{kZe$L>1* zGJLo(J3kRo`CS;-NILrHE)};87uFZ;@OyX_t$oeXu;WP$hfgU@Wv2g5$dwD;v^d*j zo}SzQ`497q=%)>W_Kt7sXQ{$S?s>5y^tPwTgL`nMobmEZbMHh|DIU()#c;UKWey&A z_x-Ev)Prh?snpa>yJuV2B;KT}o{+uM>|TblIl|8rCaf)-9Cu*5xPHM~TU>pT zQ&et41a`OS8>D-(Np;3pq%jjvnX!y;0PxrilnQosNQXwpn|VOL0Ld0fZ{mtl_uNvG z4v|(i|7~D}$E59AWh%!XDKf&c!8Z0qmH>U9Z~KPU7tQ6J2=B=dwUa6-KSBg zT#v!{-Rd>utX*I`d+}R_svF+&G>Ez7RZ~7|xu~(Oo}K#W#5NyM{!Z8d3T~Y12Qr9? zn^?oYODWs*O8N7Hd`;!%Da@Ozt_T`0NZ@wqq`BZ52)nQ-QU7&mT$ z0^eo`SHx#EsWrTV>J!0J1MU-N!~q}IihY{Gq4IBUSk`_%MFAajjiJVk6)KXqw z;+!pHZ04)B@8_jX1rW7dtpbkAJzF3)LeR1h{wHq(eQj!E+~72MJ_@hRTn zv^;*+@*6V7>I?v;FtqEB)Brp26Zr_6lCr$PZq5mcnny)p?FbUq<1U2pw+T@YP1Lh- z_zAD2rplwlvd+n22^)tv{O+TB%NW_lb=o3N)+eXL6OwCUGJA4N-W4yLZtI_cH3gAd zM^qLBLw7LIrOuywPHdQ3B@mV^VP9G__!mQ^Jyy?ofrw`h85f={Ws=XMoik>CxI zo-a|7$5pp$m0E0}Bkz~{DOWI?GH_Y6ne3*1Z5~AZxVkdtEj}enl6|T!v51YYDvFh+ zGa->Cd|3|zcxy>H0g_1{dD2vi&tP4^znYDnX5iOkkMoYNuX8JzQdV0-BbZzDm}IE# zOFm9xRT6i^VY8<=BeNcwx)zqdOpq=fC!CeAg3pQxh`&}+hb%HW)wFHc7-nBCyK6d78qcy1wZA+}e;A0t;u4DQz*HiPW0dvfAHt)j_-#J?eiU1+0530GByC9_B0U^dUCQLGAH*xW;r#Oexym+8vh$Y z0f8QNkz+%X!N1w>cAyHexxpm0lELvb7Bqoju`Ra`TsbxJ8Ckm@C35yDHT@25m5SPG z^MTAM+U@t>84p0tec~&}H8};5wD*aGvtjN00k)~}^ed#5&;ko_4HRFB;Hwq&(IXbf zj5}3WqUkVE_@h5HxK$e|ZF3J=KqhE{e+h^7fcguo^)@@N!-j$2jZN)M)VFZrOS0md&Lo9>JPK0|i9-!_%7BNdVqHw7;V%mu zW8YPQq2vJJgLUwa7;cNHgI(ZD!c&}3!%5z1?io^wQz&(l8D{Q~;+cK+Heg3f@vdXh&Rb*O{}MEb?;vhqpNoJB-wfi;83%XpStk)%$J^Z< zv3=*{!jgEkxfKCD<*VF=X>UoX&b*zF3+ zNy~Vbx1Cqy`b)0mSS|jJY(pS{X?&HLkR<=dvntVcG{WM2YwEpCj_rv)B-y?u1F3UU zb*UJ+caEqYM;XZWNFEHdtUl2}j1B|0}@M8#wVN$&zU|6m8P<>7oCu`Q<+YsyhBbq$Z$978CTOQFaS3 z>g>o+>o35yMWSSIui{P0%*SZ2jJ@ez-M3Hbs_x}pcRIzE)76f3+-zm12R5za4S}H# zBf1_^kBJ1%64ZPq6T7vUV0I$CXxdXn&Hpo#IOMrzqy&DBtw`(4#LnV7oGZ6*RBWSe zH-@aJFfEstyrR83kX!iJ(dcj;E@NJTkD2Mjoz!ff9t$m)x)A`UAza|)Y7nrxslU^M z1A+5+PtgD|xfdrcMYWB{#xd0af>zo?((;?G_5Sr!?U7wAGPx12lKHV8dkfDqP#8DD zHj~X0ASS1qpNPUw@RB3@jv$UU;{M+mi3hm#XQgtR3eFXR@SPb?E=il(^yHI-B`)KU zQ?lk`I<%Q4mc`rG;(~~_=VWV25(nARnWQ+c!@MV@oM~+$UDR|XFo0Nkk$lU^ zut!p4*tY*FJhe!w5>G?|b5fS4HtR;Sz+vQ3l24^1BRxL(=aVj|O7;(|E^`b#71?M~ zAp41>pPcJ^45)$DZMI3=C9d?s3ZBi4rzMm=aci_AjJV8bJC)Go&|po@JGAPr5~1B~ zFYPjTbpjZ*<*0ZMP>Ci#pQkf^(vsXSCAC}Gb6~mEK8%a{6;adR0SZdOMk3s)lDFhd zpXs$Yr?y{&2|w-kv9Mg1F-9q{A$GSIglPIDq1MA`CmNRIjoi{uVwQQUy|*ltx zlb<|v0w{#dU?F-@xywFe7lx!Cv5TYnv7cQS`=J2ZuKGJ zAjQt|h`ch3erCrfSe)PLnmAJXu(rCJ#H!dy$bVJsFb=9MySYIxWU;N;kLxCqpN~j2 z6O86zsJ=4QW>I)}->ZBc=W6WUJ;sFBdo7O;QTv9K+~QRA$(T%LoPT&!(Q5Mpi5fgD zE}MoH-{{}}&}TsNdmpBa$Y21}E;Cj~niqe7zz3Sj;d71mPsC1M6dX09S>d zHc8G?7?#iFyMnq~Or;JN;^~ije`m&axRjDkR8(qX0nZSyue*7hD|0>+aK?Ht(now8 z&lm6$LCZcOL?R8hTE{@YviLeM64^PC@ppizzMU*K4sF{u37ArsKH zwi{J^$cyzye9hLxh!7dM`)CRnq`QB)j6Vb3-5EGq z;yYhUSnkK%T_Y147vsNVG-YaR?NT0f5(G1k^#kmRechc$IGSnW>ojp5+18Mm9p6nQ zj%rk&%ZRd2)GJ)BbV&xk;uq;#XH_M#YqDh)ic{-Qfq#dW+aVV_l6}v5yOkM=j*~J$ zG>{N3hqx5<3PWAuG|wX384Kw5`hlW(Sw5pVTI#O7;c>ZgY!t6hl1(m+xt%|^#7uU; za+I`5mA&&Vr#YhJTNwS%qE@l=PmPR?)}8sBC43WabBv=qnRGMbxx}#;eHvWN(V zR}rF<1`+{wxKEovmNW=-jLrb8>-~?ONMRkVY}@N3DR^$oqlp{@8! zj<~c>KMg-YijMMcNQcJhE^)f|U*qx?)YVG2y_VRwEA+%4+v6ZOsXoj9bvR8@_N2*< zK57#1hGUb%ig!tVj~%Ou)=vzug6akCu8a+9)AUj?2b+5~l=*FfEwkQslJFKAsppOl zcQJr2G*(PWo8j$&b? z7+2#@Nd0K5k^s~``asqRl%`z*=4#6q*hLc%NFH#mI|AAgdlTPHLY^z@B!nZs$NT!w zZEex@n^vUB36kRcrp`aMy6g3)@BT z#~j3kjVg9%+=roySusX(z9&n@P0jQ83g9WC-~9=^RcLz;Ew{?#nk)+hiJE%Ltx2&acZ}@>;|3Tb8k42+;{`I8C}K!jMDYzH~e)z zvt$jeT`ZL*2^7&hzpD;vd^=-Q2c_&-CUp{+Cev9H_h!NZkQEn)c3<)EChI+q3+J+< z<))*~NnrgMjx4hGJ_{BwDmf;ZHHIa?sf`1HfhAJ3u6Ma1c9M<7d9a)Q5}B`&ZEO4N zj_u2WnpLfF)8Y_;z#jJ3+3m&ZAvZ~@JE8VA-j{cAS!^-_R{i6n_o15i+Z)~k5smp>rpR0zP zMToo!x=m6YYffOc%ZD{qkE$PX72zCBM{s39SRL^qRO?}Yf6h2epmo?2#Tn-V_04I4 zfxNr23N!!78}J?3(GNL^961GNyzjoE)_~?Z%#o6Dpj-6TKGzTtj6;@j9~bR0x6fXs z2GepB9Lk?vPGU_o%i?7Si319FN=E*feiraicFV;PN1$qC?^7n0#wvct(`Pw{<|o`H z#a*XmHItsR17Heb^W>z-6a`Hn_l1tPeEY@JMA)XyN_=@F?);t5c?Qo(uQTs+8n`9k zYq$Ms3tlvo2Be}vbxjeBY7+SQ) z;Wm}|szm0?wmCd1+xK!CEgyPHEuhlQH%v;VNbX3vGlsEQVLp$!+dj}%e<p8F%|t^^T<_0eF<9ZWYI&5DPs!;zgC-`AnizhZ~eEPRlkGp3%(;kKP{@Cued* z{0XOhZDLab9J?Im0S$0*H#5C`;QjaZ^ge1*vF~8GVd6U|a^dOHnJhvC(skL>XXtXU zrn|oAE{d=N1jMIA(8IO0@GxDcMG?r4#SDC_imSW8Q^8Ez!&->Dm~s*zZU50Kts%8x zinx?04on~{2~d@Z^b;>Hx!guw)lXI_xF0SqT6HievJr5j%G((E9n{+L6jaJvdwX-6 zNjL0gchkuLDK7gCk5fR%vDabdJpP3ny4NFi2^>6<>ep~r!KD7uG*n?X+RIiXv_W7Q z7CAmSc1)vph(~h*FnwlVaVEhOj!uu7e64bZ=gOqxi=z-9_5IA_#G;f~+r(xER)pop zqa3SY+G0|{8|+&b>D4N7-6z=swi+y@3~B~R0YMo5yRYD$>avn3X%&2uvR+OrVgSA_ z#{}}HB$=dTK_tJJ5;%XGuqI<%->*4fAl&T2lYEb{UGql=vmA8|!ZZvih6F-X`lR^gBOpJy}%H@XD!kgHF z^&L_Nom3*_O{eTmYJXrhxdS_YA3(Y-lj4Q z_s-P?*D^!wGSMR;525uwrtfO|OzYubq;Md7`jj}gkXIiQpT!vtvK*4aepY{`Nr|~tsBkG;Wc{K{8l@18E6fd+j38$N%>~E8F z{Vu!i$$$*mEt77@ZTq-4{xFPR$40$lJ6oA6-Xyoa?QAp|z=3BFZpwu6u#5s z1$v!iPU3)rxVFP}LB9CbF;G-}MsU>}o+ry}_L#H2OU9why-tCpM3&8tbd3+C%yK3N zx40WDWQHRj<2l82w|>9IK>X}c5^GFpE>X8&>H~vQ5Xk?> zd3u&Ta3>3Ujm8xScp+|S7l&yvS&F!Cw`HuWPAxL5xr>5in-x&vo4A)xLVyBFJs_oQ+9AgY z>|6;`LB}pSPwiyZc-)S7=A#-bU9rvGlRkq!xJ(b-V~X4SURzNKdytO-xq5(AR0_%)lWeEEmf3BnOVtrOw*7|K2DT1d7jJ(AG^DfQWPC8-K35F^L}-a zJCe5FDq#vQ^%tf>oAWlwP2K`O%ysH81E`tWwf|1|0cA1*K_hB1& zDbp*vp;D5F=u>iJnZ?|bBsaJ=+k9nOfsr}Hv%X9%Ami-mhQvSdv~umD=kA0Ew}J>m5U{&hAtduiSuFbjhIy&QQj^?Zkou zG4hmUT-}RV;xM!W-|;ZWRSJ-tO-z${6ugnw%*d-wX()c!W178z}9mDm@u&M`}_b{>PS~GUSlXI{P;3d z^tttyul_ndlC^V^M37YH;x;5Z;(gB8ih={&(Il@H=YKgTj$5W_OA}f*KDgwRd=(t! zd(cK;JuEV`#@}OgF8ubi?8Z&VK(BF!gFYE%sRc=SlP`w^Itdmtbzbd*c?Z+Sez)>< z{9DKH3~Fs-GX4P#=(5`8iqe$&au9*R{_oa&BUZ}pyN_*8M%4yldq>o7kh@|`w%JEl zi-tUasan7Da!*&L;E->#nSzuVoR+p-5_Fv*Cen%={n0zN)L-7+K(6~eS(Sn0p2)#b zh|U@=>~Hu(1L|^$1Z(I)zSiBidCYyFVt#f03aVy=O=L;1Yx_i&M3v-l@6))9nAH{s zeCy(|VNB+r4XUJku5L5s&TzcGOeR}QmF-RvLpzeP*M?HN9Ddt*0^T}+l98wG#r3G; zJg_MoKZ(a{_TX{AH{S!j18IHQ22HZah{>cTw+ngi)BSz2^rX#oVrNVn&A`alap$H9 z6cqpXD!0I=)zvP4Jm7awZF94&dz(e{ROQ;Xe}< zaT?4Eba>#F_^8f8!}+}f^0qa9pYZt9Ci+@gC12><8;-@>Rq5b#h>;JDcCL zt#IxZ%^`hDltNuh2dq@y%!_~`JF5E0`7iNXoVK+WrYX5X$|0cq0LWfaQcCX*M6S*|YB&mg>?qceFPh zfD1HQ7qja938dx6%9_*~&b)y|z#MpSEon{@sM*Qt@%dSmgc`Hq8yhABDzB|iYy>BXZ+sRj+0d@bc@_u0R4y3y zZ38Y_ZeP9r1lN+}*7uN;!6=Xwmeht(D!4KnW`)%RO3vcrk@cRYTUti45O{_oWnaD| z6cy9n-=K5@ithLcsJc{E4d-l zoLvTA4z$jigdI2eOvbC{AwES%R3&M(IZgrP^l1~+BkJdtQzu*kl?M!cX= z&8F>1nL6!GE@Rd=3H5Ct<|9oz>ve;Z^<{?DV!Qg&y4x8ykhXBI(^-k*59H1eUQuj5w&xwpv^Gfu`ina9aO$olU%A#nK|bqEdBwKv#r-%bhSBu<+7?}$>5 zNFb6T_}MykJiw9Rln)X$AQEOMUO!ezKU2^7x&&4gzmC{LH$mq#bWA}3XBLQstbB)-R=o(?shexCJIG8eI9NBC{V zTzW@IXAVq!t z5+w=l7Ef(n@LnH-&$}FK0G=X2t~wvKDJ`0Ic_ghMF{Cpl>L!1L{GgrF&Tv>Rr@v?N-O)kH{fF0=A@5_NPnR0j$^o0E$VE;k>gMtRC_ zK86k!7o_{UP2jejvKz5{UlQ-E`NtQMZ=p7xq8#Ou8>Gzx<%%J;VN;z)3U7k2yd8ybxH2KyqD!HO)JCRKU$_)ag zhXKfPqJe?V&dcSFkGrfX$IhIMWKNSjK^0$__&Bf$voCqxfwg>88I+mXttDJ$SRjDM zt_S4EX|t-TlN3q&Q2HCoHR1PfA8(=J5jpue5xbUyzJ80GznN6Z2AXLZ z5Zkz~|FK!C!L*!RfvFI}XZ{VQW634hR}|^o{8KoIBRlp;zGRMg{HspKyD#h|Rs1#c zQ(UFLu9~RNmk%#GTl>VIr6S`G4Nz#@S8Os&#Z@4N@hMP_9FzIu1#ItIojh(CvPF$b z#7U+*-kjC3>Ek$odi1ePt_d=&o>)W~JY6wA;s`r_kIQva`2VI`<{ed2;fQ;b9+HyB zoIQ34ehn?Sj3?dLbR1ONW3rw2{mnH&{DbH37JUV_j(SIuTWwpdCV>vRaXXZ9Cn@ti zTk*ADq_25EG8#vghEF%8Qsn%EiYkty%|>!vNV0OB_>zdC;1WN&64NIN#;!jNj& z-M5k5b6jL@j~Blcpe>`oMbbvz`Pjb;w;Eu}k(D(G$kOfV5-`uhcWUeh zsYbR*a#35GbAl3HP>A+V1xLlzKf7FWH?FzQj3mkCayNJIyh?-7;Fj^HG!gfkFA{-x z6xJ!6QdWNoow$wI3;dRqHKu;NmATJJ!V(Dqy00hs(waKkfsTHe#>q(bt@dbdE>W?j1l!``rrlZ+sAa;qaxWp6=A1`HDek8m_4LWm(wLSW9R3o0 zGa(iwt4yaa{7Lz4a#cf~VDj7$xy&5thd6iM+!b%-a)XxGyaX? zV0HSG#D9a2JWg0W-@QM{V>j+jz+wKU74M0$uRq=qj zkLm&F?s9zk6DY1ex2>$n#36RhN;AbW6japR7-<-pYzLn`WDVHd6rUm1wd9zsvAg*P zAXyu}%nFxOHR1v0gO!OkhuZz9#pMcuME2^Y`*JGo!Bj^-=b9_z}JLS$d@rTaYyd*Pm ze||pDUvs0!$#L<2@*PhT2aGP_zq;d}&iA=ZTsN5eprFQZ8&~t^iN$A)K&^?WF-RIo zwDy!gAAXIa<;bFZeL>h69LtRno6DDEln`w38Q(lx(=oG*^9@-09t|bR+onEyOV!}Z za!29xCZJT;gcE;QLl`6X6WPh##Qp%R?GvU-B;W}Fi__QYx^#cKiX!X!_C6X}HhJsu zDW#f05^|#bs0Rg`dnEpaf1snRu7UY#9m$pl)y#4cg?bUa*8Zzj>N9oR+a6 zMsf>|YY_wpFg@egQx-no&3?#s+&m#b*DSX9VvlKz3ypO5s+JlLc2QOdDr#k zNF}bfG#lDiN!a8kJWuOY6zkA?`D$(>;g{#$JxScx?Z2W{Hix?>sT#4D6&-GJ(YFFO zw7(^O-ZE~U!diS-n*T;}^hg+SZ>Oz*H|mp!)Wq5|)Prnm;~m2P;Fu?&TDX<(F(O${ zNw7Vz7Z&&DmrSwZX?0`eMPA2@LSW*`{HM&5VVJSo1njI509Mj&l_O!J+5}C>c?^gA zGtW&`Y+;FIY29${q;`gcYJ9h zD5PHaixde4W+otPEY(go;n^up82yN9fyu@(czhgQ3fNU0pPANqPpzTx zUt*(eN;e4_&EZNdf3mlWj?R|jAV;ss4RR~5uIClowf5NZw|Nr)MnJj0sJlB&y2XGx zpVFK4lbOph{JSQCZv#kKniMhN+kKa@OFnJvLejIoOjG{+gX#emlR8UvTP*n56H{0hsw?4xaTF8~UYNI{+eiy%uQxu0wXj>&N<=AD#(=G?C+qO z0>~z+BwixdH0E#K)OLyO(Jn?`ZQ?aN>l<~8(G=v0?KZ)cgF4h|Jwd%cZA%o^-p&<- z$xSq<(RRfFI47<_RueuhhWJs(1f48gyuPNyY|P}jdGyDpH%ASoWpS932i3O?#x~e( zcXsR2rU5fk*6^#Do}k|Ce`mrpU6Imsvsv z)K)3TKG3_lWoluB<=~{Et+j`{mqf#YY2Mpf`PAunMK^wUc;~QPbEZ&Yws5#IQOU!?rO7 z*@3Oyhke*l3r`whd?6G9g9MLB?zVp3VkD6J>;dhqgZImueO{zrBRj=ISf|lDnqL=M z)JE~%$UlIW2gVDb*L|w_skGrMe~LOQw7W%Cg-8VX8trU?doV#%Dy-F<8kl)6lhY0A z1U|ZnlZ_{naSy?Em_TM z^K=9U!7uGkWTTsuO|<=-YAl0>ru9l2I@CKdD$WS_^RoShMKny{k}iscvP{$&cY3VY^;a zB}q~Xx{+j@K+1*9P$lwjaShZ%{*sgV4cc|i8kH4annY$*h}`>^-j?EOD6=H8q^>S& zmQ{!NRR*jaKHEs(JFjjcL+4y<@W@Rgh)=IVXuIN>+{#>Z9%i$hMaV(F?>PF%K=Q_T&9YZZs znkslIS;~%Y%h1qxJT5;Qq#8s!*WyR2?VJ{c44=;Zcs%PQ+CVE5HMOBg6Jx7s-d_7h z5W_~l;R9V}Nmn|z6iKCgp-B~CV*;g0k}N)?uZzes`85;@uzT9>ap%MnF?A9qwdWMa z#(wfLU~~;Izac@DWP|4PTJqL0t!yM)@_fr;(>s%FuXE^ezA*|Pn7b4Dicf~#!Q_6% zDYp^8@;{6q&GP)B84Q2_!TZ5*#x;)%Iq@*u%7&EGQ12hjY}qOnA@o)@iJ$0#-3$C>&`PN$;9_Ck-UvbSA0F6OkjoA#4eIplAM9; z%Oz=~U6cPco%S+`H_*-Z&QY{o=e=!pi1O?v8PoskQ8l&nB!Xl@9eMZ5Y18J@;AJ~D z)~9QmG2sU`Wh8TCpM`XODx(8ryKBE55>xmTC1oUXHC9qQUrsjaV*O7laTgbJKuBVm zCB_{Ar_Ly4n9DSsvT^(c3!Zj~)%-n87b;77Nlk_?p zF_Rf>Cch2U6w%#J62}hJS!b7Uc%?ozFeJ3(%gmP6FlaSeL*{3?+>!KY-SaX_*#Fa2 zu}0P3Vq|VUyUhmdbUCy5XQXZb+5Ig8qgV{aRd!rm%_3Qc{ITT)KfD|3;1x?BkR~{j zAL2VA8rn<3R%x*VD*nxeL(sFFOyV7l8Cx6w4L3oif1jL^8c}tTVGw5=sn_ppnVIUgfJB#$ zH8+56=aprg6kT&ON|*ItZmNo?Etu1;{2k}xmB4TJ)xn2yF-Xk86vaJ)_X|#LuZQny z_-sQH;2`Ih%Zy@assstTB+1y?uZ@2S^5yWf$cL80wn z_c`2FfQ>?#DuojBTPuuq@eypAUFy(i9M_}T(T(A@C?N)pC5i6_nu`Nou7BWMYe4;g zD~SUwGNT}g7PtnA&i6UM4}Y>dFOvclWxOo`4*Ahd24|?Po%`q7l$h?dA8`#($}+l; zeHDM#+|j#|5JDK$229R}kl`CGRdr#tD z5T%I?N1(#EJhIdu4F$sh{vQZD1=C}>boTJ&GyL}-ybC+pwf4a4HBWl4NxkSOJ2$2k zTkvWHqO(&FeK<*)Ff{v1S52<2Q?{l22h! zh0{>e3DzWQQOhGcgMg?ihjzxHesCWvM^z=4iD^gy#(A5R0hd#EWn}uV(u9a|e?Usz zaOTELOD$!dwI$$=y7rf_R*su2X`f7vA|xE|o_RO2$@iyUlH%#}EwLy`A-l6L{(v4` zQG!2tT6;;P?uu{HWw@BuNm44B(a4dJBJBk1Ks;Safw5|of$JAfsm9k1d9L#lZ1imA z$9n+jHKt%pP)JP0l`k3bWdoSV{M>jul_cyA1{Y$rpNu6%Rr*_0_TC|LIX@CO$0SZ1 zclpk^*dZn>T0N6>R>oF-;=>9JIXsGTDH@qiEUZAf# z4@BDfPbmN@9v$v;c4j+q9J|W)r7~F~=pP-`H`}1G9olXgwfh7pqefs2=&rH94NMCh z?90}eY$<8t#~_orrk7t&L`Zf=`+4=(r7b0Y*pJ-bSr-v-{A=d@ubQ=|$)E#G;C-Up zY{Dl`%*Z-RwAnqiNtEOFVQKvxUPE`KN}t4m(0MlrjhB}fEXJ?Xu1C5&r~4(TM)C4$ zi(h0~?$%sxV69hN?aLF7GUe-KjVS_aGC(xj9ndFHoRRCis}+enUwJYqznYkyLE_=V$eNu=*RgvN%!56h1@fcu=>4z)os- zzn|aH^t%oUB}}q1>U~MhKNo8*RmHu3UOP*+$(ggTKX$p^4R+%&S&PiE{MxIwIQEvp zMW1BGmnJ`g3Js%`YA;5#11JKg3I9-_+%uJGD?6*w$saq;sEnxG-IU-M&VJ;i9$_0_ zRwAY5Z8oY&>?thwqC3H^ZD0l}gTcuH9O}jB(mLI!#0>FbZ0SeVdWY2DI7vjx>L6kx zOHIIC_CZs^xCdR7N7A>^B#Z(oLXidb*v%hQheON`G~IQ6NW8YF`iY_dKe;N$(oYz{ z)5`@Q6HCKRk!1&bq3pu*583&sVwb0iVaNcxdjHwUGh@8Yv+s5wQBqer`f~#k8-Ld{ zQ1R%TzWbdIySVC7Jh$1wy z_EspLlctgu!x3MnlW2y5v|jWE#+OXEXKgN&wR-mD3x3wZ>U%LUD{1iJL^x9; zNo~#K5oJ*~N{~b)nQaOPI?uH$z!fe-!5gyS$a5Y|R9l_9oQl#n*4SpMicjgY@Y3ee z>V-oVF4l|l4BR~>^5q>r4a6dPO25R;7D5MlK&dQ3fw@}XB?}#gnq*}}qX3XC>A1~` zUU%WhRrr`9cJi=1p@VMYVtj|xJKj>|i1Bls1Ou61=LzpmX&If0FILj7CqFwkQO-^Z zZHbF#p1W-5(0z$>x9E=k)m4b#>986OHb25O@e7MpLrovrAUS65ETH;q)}`c~oZCck zayoeU9aWR)N#a*h3AnFErRU^H2sA$LXdRu&0f@qs78s=fowE%lIVPIrAx$ToM*5nf z_ORL|48s!imfaViHK!<%^j}6lBKuYs0gpz9<=L2Q+%QFYe{nK@{0gCY%q3Wr$MxEW zz+gnGW+*y{EbTrdI}UITGp}~L14W?9WUzLXv^~TA1k|62M&AN%O~f-kj(wt1ZIT1M zXQLRHWGYv$SZzHO@(@yh>RmPuv`UX+B6V0Lz>Q9|>b< zWkq!spO+C8;(tNB-pqw1uC{-ms7d2jR5>kSpFLsUrc%JcmZPfS+v8v>1kdWIcKG_N zW$kSwZJ|qtJ$EKm{7T}sn0ljoYGP8Hd$hx27!o`%F2@NzSZtp|{h_E1wn6f(a%EHl zaoWol_pQaz=ec53uDap+*DIahXp;si7$`Dstz_9jQv8sb-_GeL43H8 zwG3wTiskH`w&;|StuXy_aA$@zrxJk>d!pflh~BUmgjE44KW%=$dpmV8o1z+1IWiTutn4{ zULsSncg)5$6Q0jT*t={4R@09BgS&?auWy`kLP})P{v0dr@qfK;a zD!Bpr!r+i?fNi~N%lWyPYZ3K=8%pJ_S?p*9cVaSz{=t8C%GE)=vD>;QlF6|+<%{h! zA{D*AjsF&c!UtHm#k2P#6&ZZ5SWhF@lq|lv9s5j`KR)Q4{Y&=NtRTKP@cFk?0-vd% z(5D}_T8*W@t-7{^t7;?#%zdJz@XI%@mZ|0VOSntNU$9w*MuM};5oa@=i!XKLwaBFK z7sAwn%RMpO%~N%<1*^`XGp$m7yY*Bv`EcgLS*L@qea`AeFPv>%6hCXQ7Et3cB~dEz zbvvwiL(w8HCKw+_oN~>pX-P0S9e5MB)S$fw74oDdn|F}||9zf%y$z$1F3i~wD!8+W zf+>Bwwi={z7s{bGdL95P>`1}`gQ?==2X@{9>EIXGl+s7_4@rmOJ{|BKT_nfrDF)&b z2GG*SHjFYy;LN&rGx9AWfPcB->>w`V!|E? z)3Ku2ro~~RMX}0ZLn0=+SCi6tht|OYB2j)IVR7KJy=lBow5iOMj4`1}EmEDV({78y zEpF-<%{5K6pQ%!fsGlKa?SfwM1iBGo(bZKs+(_(aqr+86m&-?O^re_s*k3%T0v&U} zns51#HLsy{X}kobk{Yv^$UFDq1XtkOGdth|lKaH`iu!1ABLvoj4$(a^_WsrAXt8w2 zAk<3CKBEOU!5&c!$5YGP=nn}k3!q|bh7F%Sn>yWhg~d82cFeAV zYuswHS32AF%Pm?@$hSUP)y!m{xR9KM<#R$=%I|s0eY*qXE_c_eNsMzj8*h8;fu2Xt6LgiQK%q?md?naCa*PG7JXS77~HlGD6v=CW<+= zE4>vk1BRb}$I}FZcabcSB6K$bz^Zwk0-(CU(tg^%>Cd_K4XtB3T__|;4c^h$8#+z# zweG*x1~s;EkZKBFCp)3PYW!RbEnE>Nv-@g61m0)xCpHzM$=y&=*z9Ph`-2VN0@`y6 zNEuuk#^kjLP~1tO2*vQF54dp}+T0kL(i=d52{Ip%2jcbFRhQ|?Kal}7q`QSwz6ul2 zZ|(&WZ!$U1Ola6qu4!dvlLJ6MixK)yMy}EP{tBA3Xi9%$N%R9H z-=s`DWn;qjwY{mqv@EbykazsIw;SU~f7Zajpbp|*o}?ZsPeBH zP7}XMc{>7lQJ%L|Cx0WOwYvvTa9a#+ePEOs}a_mi5!N?uPsN39uz0Q7eH( z+Qe6y9M@@zBL%#tYpF;#VS?nH5V4&>s{;*^VsyY4YO+71?-tR~Utz7aujtjCjv58q zW)e0GO3+bv*_6b@VVj7~89~!2s-up2tn0yMb5gT>N7lakt^D`q>F-pl#cibz%AZ3C#ngJYT_nq$SL5TGKeQ$ywT^C0;ty0Dj#;P@JuX(y zPCH_<*yFtKZ%7EY(1OtH2im*G*I#0VncT~SIRzy+Nu~&7a@%`_i>4>-b+;(8CP$AT zrLl++N&RTwKy~kptGkP7iNM0B@RN*s{8y&io5#0R4|kiL&O~Z=o!EmybDNI3yqiDV zgj-m-hqW;jOqTN4oB>B1S@Tf;JwUKGjQFt~S5N8dUwAQj0J=^P?jIv1#nF(}J2Xp} zEi`G*vB1w2$;<&xk~HYE-r2F~^K(_8gqWJJN)y9{7q-q$!TbrQWy@6crx+g_3l<5U zxF8;fcI|YENJ#r;OfXvGiT48VG5(Q>K1=78CWzn0)jfK`cWh^WRJpBm3{<-Ad0u(O zlb9vjQBlS7@fkpifHu*G<1V=e^$dR8`Y|u5v9!#j)C)`_dkvCUFKteuiE2CFlez(I zq||&z0f$K{qCHkT9TJasV=A?i_xAu^p*5|X9g5{%`|PoPud0)M`M%Mw4U5Tj(~4`< z2HeWyCfZgJjz;P^6My0B@w8>>4z&_pHFp8pK!Ri&yJl#1ql($ZR&*X>VTN=Z1D*j; zdKoD?TJ%T_#h`o`Ff3HOqejYS|KoCGHy$)X2RX zGg=pFiZjoNv73f%lr65r3%^aV^k$Si<|EP6z^WQdsCPWQaTCE3GHWiA1{nO_{dyFQ zuBNjV5&0no0dii`Auck`HV2qg;!x}}xe@8bJgNM=@I?cw8=UMDS`$WiMo!f;g;tgmUjqUsghUUPY#w-j;MVUs-y$E-`ez2lq%+p-A( zi5#W>F+n}x(%YaXjxUwZXGUo4?yjLp+y~n-gGO3v;)ba+ zHVP*RH5n-79m3iVHY-XtK#@j=Yy)lPv$)PomB;dLPeP>INV!1bcb7G^BWy-d&{r+C z-LPPGcJR-sxjF(0J|#f5G}JdVCE4RWT<63%V@Tw_2b<`OWi#uSgaweBGB6-nr!nFy zq|%3NB2`NG#A)Wx6IUmf;!cG}!5H6A=|_2D@Ytwu6Ft96KCohO*QfoW82BC9D5lbG zIY^cJ&1%gp-8IoH$<;Y`m_F`L&Q$+K&%wsN@lW~q`VTes7uRf4RG(v90z2Hqp2<$_bV2!^?OC(myR&mCW5{OS3VFc07=F?%B#m?IuG7D|Le>O^BR7 zx3-wV1rF#dmI1v_VpM|CvW_2`0+iKJrjVyIJZ;x}MBP1#@^F)(rsA5_^&>yyz=z_L zcW{{4_D^vA9%*#SYkyR?7;N9j(%C*wJ%<%W(lSY}y^Zhyy%Z6F>M0ZIq23MM@D61k z&q+t|VCC+nf$LVHKZsO0n84b221ZwnWwk2mKy9dg9fpOa@(ADPfy;~=&A($CS>RBm zovqkWp`G2JruK-dFPrN9u`Tnw6|6mMDT;U>)0Bs1hFHq}VIIIOT#MIhd}9o^(Rwze z?SiCx(84~To_l&o_zjsvU4i%c4;sy7n zdeJS8N=A`yM@?apyqEw}9YlZj}3)K-<&Bc9}4 zWYo6}@w>R)!AaYfiS>Nnny5by@Bk|4Zn*E*#OdI15Em(^Sv;QCiE=9;BtVbr`Cw7Q9z&64p%3~DoLyLUvR?SMbIBctk8G#dmh_9gQg zJ%DQGP&_FQ*b5Os=rY6Lo0ELc&Rs5djsW=yYJ6!*-6zCvTMlXIUdyD@S;CkDTUM5g zLOxuWPcT-OQQ8SBxFE???Q#M4S7c=!hg&80VTOr+vhA7^Z7dvu=rPchNo~WWda-#o z)9hN2%zMB7{b~77F&csN+pVi}QNMA;QjT z4Xa~t(!a(XBcNV#!<}R*Y~1w|Ab4_mL1Qb}1)O9yahpX{X&&~^eS4!?XKrt$XkhS> zl89z3D@C3>KqJ?rKer<&Ywuz(&1nK>A(oRnD5Qz&kdEyvNKZkC9xp%Ell3o{aKU#- zBTI@hDcRxGO`q_CpY~+JjHO^54Aaly-1YqIi}!sSAEeFQFFfXF+2rxutg*)nQw_l# zW&B}&AjG%AQXnxwtuYwzbpxAGU$@)Vw}QkqSY+<8`x@uKlB}X znLjky_yP$Dbxt4YN#-vjq7C3iUfe=4p>H#bUeffE>?SB!nC`R9Dgfa7+6KzRM53Kg zJa5~-yu-*n1wfueCv7(c#`;ar|GR$nkuW59^p_F0@R@msOAT%U3UBU@NsalBB8gbK zgi<;i{iaqQt51I^!p`iTAT+Y4%NYLANY-RzySOH$>V8#>Q;r~=C-+U#>!&yf^V@um z*xEGvTAYxmrHM=ClDxAgEGTAMco9HLQrKEE0|a|(bbwmkT|VA^M>PuFmUDN`WDwaG zB6==Pvm}-syRz|$7|a|G0y z`KoG)jEkm1t>%+ic;?`!9}I!&?ynUR@jO)|>`CY@v$on0_?sU)#+0tjnc!ld!EKe= z&(%b4kfo+K1$iK!Q*`hh%Ql{k){=0@ty{}-lDKAh#Mwr^a2Xoc`z5={ z#>qr`-m@DrUiB2_U%S2@+bAR(eex6^^PbywW^9g}t~EDWhR)XqRo~9^y#+HEiPomY zY;hP7eU6V?C_O7)nvkIU=S*#AW7I^~>IMt2G-|Bjdq#9)&+a{vD8lRIWy#{G34d{w z`(p>a`1$@uH3@H$)Rg8xA)zK&6PO+CO&0evKd)^gw9k`GdU#xIsJh%*1W}KmJo1jF zC!pQx}%1bAY5FiOoj~hsqlmk0{e=_eQBvC-Je_ z*VR<((5|Qr>1AqwfV1jz^*ghsmgKuDv>N2UJ+V|ItUYknK@u+e_APy*;Kr)7F(<)? zhK@~m5*J%7boa+ZD}&yK(ze^U)Idb(hDVczTs`Y2uyWJO z%Dl}={6>gxZZ`^f_;WQ$5M^v}8hx@J)GL@J3RNC8wsFU~3=>J&UEae1%wgl_S`WEI zjaEPR8t9?k^m+X%zH!Ri&}0vml1bv^e(4nCK!T50X5?qfb~YkW`t{VXPEqxHB0=!HdDtXf`w5oRIYpqiT3!q znMZ<430B${eu?U2e2$rgjM3`~`d!n>gKlLK!&Vmg&p@nxh&3$ZvUm^|5;#4Vi$_Tj z;RkeUt)LUbYNXM^CnYg|?5`+b)asx4TretD#!aYs+CR3His&8@Y2sa85RA;PGXGLb;~!5^?zQ(f&lc64*IDz-C8D&upqK^@M{g^POJ7W57A~ z8NOQ%@NQUpt7p{u$3Z*XO!t+Y_-8=l{A8&Cz6I3K(8m%m1eqmSkWD^$Lu9hv^)CC0 zPwIObUR(MwE@2*t&QSjBdRu%wBit&;0nblLO+o^$KGWIqWJH#VwE~#|(4(6sMCH5_ zIp?$o{g5-Q{v0$ZkU^nmk}Km zfMZqe-tB&_e?Ig!*Y7{-5uU0JO5OFK&XrDPlsZd~TY5D1K{Dd_Bn2pxG@eV#+r0Ui zR+}AA)TPgeV%MU=MY|bMI9PwvU5f#p!AovAKhKm+i|=*9JF-3=IM#s?bPEGa1EE!# zxT{bJ^)1W{nSn}0Qz!&k0s(FVlM)E<2VjFw&=R#s8>Spv8>XOL>R3K8;Md^6#D1r| zAY}EnLQl?FYZ?(oql$w+f9&N!oZep=4+^Rm1IMPa8$#CX+=Y4_AnuKV&J==c|8`IP zvihv{WgO@oIfcH8hoJj4@77=5^>_|ZDuKC7H7hOmECnC1(A^N6#h{zA6rtM94B~EX zv=6X~qTyRRvBlD}q3D#gGJg5LlcM*-HEfzP@#zAoR4Fc5PL9rC&3wu$ZK#?Lf>^tV zyuS`?J+>~RdNd{__|@45Ca@{VXWiQ}$_`9)jeBsijSuIX%?$<~1}lLl_<;se9C;j; z{HV#h4b>{X$!We^fC9~@2LHCY79SM`)6r<12pr@e)tN%-)1(9DBxG&3a#h=S zUN#*?e=q1D0CX9992|m*OEH#*j+!jD^-D=HQ~30n`e=TX^%uvI`htt)Ysw;P(bY8qarBx) zwG*)I>XJ}AXW3jms}$~NAH2PS>I?2;ANkp!ysO|ollPOLgIt#nCAUk8R_-uK<5-q} za{$bbc#F+N(5!TSxK~(%5O6@3Y!Z9p(@$aw`+kiQ5-#iWffwv=c3TgZ+HNhb{En9+ zOY4E-W{Y>5(BV6ro&g|D!lZC(!;L%O%w9_!wQdFI{Iu!&y*wwS>ttZ&MCQP*H-635TV|lPd)Ct>2bqC-lGk`JG!%{Ehv-+EKTEb zu$ovV3x1dF%52f3>O9AQ^45NOAI1QO8ycLngzf?Kj-;;yj=k?I%VzkDnyy5re#SM2 zI?U%S)WZz!%(kU%XK9=;8h~Yty4$|;HxIr_AO)u_?FoJAL}|j%?I#jY7GjA8(wp3ohiWv6Cb-CY=Q?lev;}w(B#s zqgYSexf)BB0-GlIi}0>+`Uv?*YwsZQX##qG_>R_QV|4^gA{o>o(FmutxW3+`g~Y`4 z2-|}LvRh~*=@9Jsy`$@iD)l^G411B-z)Tu9unJda5jK3m?bg$eF~^G8x`;(!g1c-{*Zo|+X@9P`U$0zeQfj(vWIGe+$YD)+4M z*tCG6Y&>n_$nr0g2njHG&gPe03+#Pys_~5k&N+b@1*X^+QmBQ~^SC&b`PLkNK6@xO z*BwPtS^k~QsrajZGQ6qFymHtG)GH>ac{FOE;WNCeUj=wgNl0SDR2P<)3682D>DRXU(s3{x}}#pi6jl{_{!Q zWJzj6hvivgo)mOGO?U@03QWkA7z#T49dIH$0W0d!U3^p=6Lz+nbx)b$)APbO>5GYZ z6c%px=Xjun(y!p-Gm#5KemII*eQ3O%#TkqBnIefFJaSHCKp)211r*6HhIdT4AEVsT z_{y1cF@Os@j4hx|AcsA-hWZs-%-4UrzbFfQ0-Lkw8mz_cuXj)*i9@SI`lcmshTLsB zm{4JuEFh(ATb$O@yt=$(y&M5x%rE!Ef4G?8%{zb&QaGSff+N4YlhazeeyoOfs9)~s zI_bjemtqR^GR^eM=td>q8&6eaRu2Ef)N{8ul?6(fVSAdfd@MaExt+am)dUvhPI&xF zTvBK!-~>6&HM{KnSBpbojs9Dd%1qLKUh~!j=^w1uo?aR$8FKJ*`5Y2%n<(q84N>N4 zrx;z#C(lE<=|FlG%DLNvl*{d~n$1icih^LOIrgx8P>Z?%Lf4;^T&Aa>iaf_ZnnG^h z6HCRFM_d|~Y{4+5Rt2|lzR38?dm$E|9B%AIR}Hn7=0Qm_b9pw#~}hGo$TSZQGb+v9q4wtTIvvk4{rB_QIvJJ9`Y>da3cX1@QVgVj@z$Vhin z^Zr*2&&-~!GAXG1n8HdSZyAXgq0-fj=~a1r4V7Ck zJtc}enc&^cQcNh{*_??kbeQ8nJJWs%Fm4atowwYGXGShr9PQtcsDc?V4N)gaBEj(Y z!bH#pB7ybh zXy$(xta~GAWh&9Rz}bD|CHtE^a=4h2pQ;x%4*IMfM=OF^@24;w0mfS2i~p?n6}mpB zs`q_$jaFRYFOXbQbsIikEf6N>7(T=jmcZ}ewsEjY($o*;ER{65o2mk6g)GG`iGpX7 zW6@PmyJ_~e$^o;@w2`R%hY@azWt?l7C?NT^yZ8GE<@K@|mKuP~=qBk9*4CsGC1qgS zf}0t_oMqQmfGz!}im^iK-dui<3WUS$4YNCf34WY;E0ounyZ?s4Lyt zQhvLLDz-6u7lX21Vx}l9k%!(eru7Vh1Z9&n#uVbi)z`TR*qxdb#|h=pRoj2!=v4p| z%3uAoQ$i62OO)~58*U?X)uCP2C3+XfE^yy$$8^YSb^&UtRN=D%T z0p~^D;8ykJj3o$7V*<z4u=&(0x2`V6G5jROTLxxbw;72cR3H5TP% zW7yt?hUI51+HP0;;((Xvqk4j>3^EEBP)c%qdf^;QdA=}Gim6M^AH6_Mp)93q6gSsO zwj|@IFu#_01H5fR11Dt09;zAR{2bOhZL#}V#3`-;r+`ffEo!ytUIS5E%as!-6N8UQ z7{g?33IN=D_Ck#RvaNJZ92Y*P+ypbeG!z1Bg7js+ww})ZL5DM33HliCxuVJN`VOnf zZ@##B!xa+Jx3`008F%m5#v&>9MgX5lEoD?g+D-!OGF}A~VD?+i7T72k>&5LV^a-kC zq&vt2egEtU6x}wSm2!A4OQ5>fWCZ!dNH+!F7vnDKjGueos%Is|GgMuG!gszMH z_Z?2ZQbedk%)XY;?reFhnYAQ?KdG0^l*wotcuKbW>7aLVt8HGv@;d-f zR9zzAfK8bJqM2M&5@W^?9hs0$8&MRwF1XJ7H8H>Scu-ai%@Q{H<;x7W_7BICE+JB~ z!;G5qB!ha?=WqwA;^GSM2|2`B<7JG3o$tZ&c`@RfJPAHQN(yJ(Xd+RvD%gUYp=4s7L+Xpaz^(A2hWy>DHmKP(wU6MV&zSa^gsGh#Xqoln)-L3_Y6jWf^?5VV( zlAsuc7k)>*SrA)unPaS7vX_1Xk)JRFxND1>l>EdrGJ%S5RDw76(>jIkbVm;1`&k;;onL?PhAWNhyb9c0 zKM>=o*O#mHh{-?g*a58WcJ>Z%EOHvF@>F5;tSZk}bzSOjq%-mpe{Nx|)|QpQr?u%m zoaT~uA?soV#yhA{8;DtnBXGg>0n zk{$Jy^RpUe+gB@r9vW3Su$J*kL(q0HukodJ$@pWsGSOwiUk7uJ8Obr64wrE`m|uL=;2wyn`8VchM<_5GtJY02;%*|`0hGbK0&H|0r9pV!PU z%dY2SN-7fSx!q^=#OZbVzBVm-+ek6C`iF*yVj5SVIF$^RYU}2lN@gvmYvuf@ysV+Q zA^=F}6al@0h3^i%;CSya3+GZT(fNGsaunOR|8C{;EeInCPZfrixhd}*UEd2lCJ zqwPKevTbD;-!ZWV(kmuk@e@i#-(Joe7f%jWQ;34YNeN!IZTV)4U>fq^k9D#G?vjtJ5hZd z&bL4zobq)}W#7?_wYR90+#H@|6Fik;^I2wLUR3(JGy(kvu|O++N4~&5s_dw zsMwpc#7vVnJ5FAl+m37!mLA9PIt1C@KL`XZoV$mkynCbSbi@PBP})ZKFm+!d$0&`4 z+b1Ddy9I)ODiWEdM=Np~1{wOgJj zEf1}plB|HFBFyc=t&Ai zF@58BY(NnNN*0%BV=Ml}wQK>6m!Qa~R5)$GXPfZ&Y`0mavf*- z;uZS^v*ugmK@pAj*7`wqTt=#EPT=*wyTBr7VvHKXI2>Ni6&!kh4u3 zxY-x~gw}JxrhzyzK@$yo%5`SmNcD7|&hjq$Q|6qk;67)~Z;ieF6t;F`rGVk&_91Sh zX!h}>Y8qcb7YCVo5}RAmAG(9>c|ftQ9l42lq1hFL0{D%K?ezDWSZuav0p06;*Xpnb zbZH<`Jfl&U)nxE!H>;6Cy4wYx>+x=O<^eG!M5#{+4q0oNJJcab(CgD$K#^VJ+fxya zEvTVw zz{YDNgV%R-+YBHvi4BEs27=?%xq{c0ktb?_B7=jrty!5XjC!;NT`#4NOAd}k9}49C zY}%ax(@=}Sgrk7rtLO+8UyLLe)Wzp3EGTLom@FsQ(~E6kYUQ$hRwoMR7$2L4DD~&K zYn3rEd)mhbXd#kF%jSmgLRq&#U4mi%#*I1{TWSXHfQlHQ2`39&GXcXsBAVBM2O)qvMt6e zvKn==LP8S3;1s0lGxDDkAasY_{DjsM04z)R0m;N^wWkl@rL1%DOu4DKZ)-+s*1i@4 zIMh=O*m{mWPP*3gg{)REUFIM|w%paRTNx@#msW0rY&SS1gvpRY>s1KCdcIE}cgy^+ z%ON-CkGq2?#uHJt-mtl}tGgD@q;H3%Y!X0zWoN|4S8s@RA<-SWq;u`Mb4@n<+|EzE z#THvHlN!kqQ9S>O5}J`N+eO0W2Y(WHF3r4a4kk`&$-@@bQi7njb|r{fNJmq4y+Dei0+x_q^)M-66CFN{p z`?G0nDA{Yu8sJg4ct?4Mc~`lC9lf`n6kw1)yiSzs3^^r;OJoC<=9m7l#F}%cD#kSFPPB z!d%edl$-St3KQ0u(O_58sjw2-vAN3Mb}S06qrh|HSwaWg4II6JD+{Ni>?^hG?nrQk zI8`Zf5!rEIuSOm^4F`@o__(unF)rSITUoHJ` z1Fik<Zv7wEcXvlKXyv;CNkUP?c|soqD3YxK-I5U~xM|T!2y3&l8Oe>i{+I{;HJ- zY#R@#C2$}ZuKu(kY*=63T(1|Y_nK!Z{barFOmvhUf?<-4D>rq3?kNxSY_XN12Zpoo zHlA23EL6#uO2CPfh~vK%>KaT(Ht6`Z0`>59$dA?bD)o@-mpx7;=uX)F?;Ti|JI#lN z-j`cxgZ{4F-Q?+JA_zuN_{L{@dgYdG`>Yij5XH*l6OZ!alK`%Gx`9oGVu`1xH9s35 z`E9+-0#Po_YqrJRj$FE_u}hlC3j;i{98p^U0esvj1e3?ZX{GlO%nwj^ELgjkw*VL; z1T_Qx1dfE?tJ0$ynfpf4&PN3GufLZs-=h}MI7e+~Sr(&90KaiYLxG6Azf7~QXsuV1 zHjo^{Q~@Al_xA9HB`)=^ct+M1ud>ZHZ>J7Zp;{f1@ToqXIGn`s58BAg>fQ>1qWSm# z%v~CmXYZi8^GSwRnX#Ok8AXNfZe(lBdr71gF`vjI!Ezp3n}A z`Zl8vAt*LOz}>qFWgBd3sqg{88}W>nrTyf6yfkJc{CegGQm5rRrASa3;#f2B@L}98 zLFgdPo8Vi#MkRoDYqeT_HxoU;=lgG4N_dFIl0efs2ye@4#jb-~QVI5=e>i_EaUU)c zpz}m)YFrn)nPO07?RF4Zyvqy);ta^|lY#7c1@QNVW4rC(g;w(o7#m*5wkExJfIliO zFqjyF?8V@i@7Tt!0_r82wm#dEx=MW*b2^!i*O8WNT`k|HJv(OMPZ?DUlKKwpKc59J zaZ}`b$I}%kpnD}WGjA7S<>x>bcD9iRNj`k=I$XDNuVjjJnKU-b(&f2vcBD){5R8;M z#NAsGF)%NNRADfPz%)61 z;O0IWh*(gfPl7nvt63xTj${BS;9&xo)WI&A>6s#IeKl!u4pssJ?q4UYurQ(F!>@nE z6t0&v&ibJ&+#?yVF3~RqRle;*(9y2N;W`8+RiqHrdfv9)+p+U6SHz(J6c<3n<| z2Q}blqG2-Et3|mPwIYpqzL?dNRQv6M;u|7T^;x<|W1@AdWy)sWP`JDK#1*ZWP3%@!*4xk80}cQ8GmG~Ql2oa+*NaiGd0U*xrtU^2Vi z_SEPrUUoJXOcYB#=szI9*yK`c((m`zA?f+-m_aK96P?k#05g&(HuTYYXJSrnA-sGe zPggnX@RQWx)#y(oJ&B)6;+qpnH|XNdx<0flokOD?s`hTsrIyKCgDDNG=KvQN%C-Lb zm51$dj4Sv21`JY*@%>pP3EHGKt_Ihltic?@RdIG~%L54ZRy!dcZ zPHk}^ut6o*ULFidyV6;Pukx~UuS9)6#f(5KvRVYD!Bx$d2H$wpn{9PMir1Y-C>_Z! z(}6*Sgn_1N>fV9|3zIzN1naC)uH{2bx5v|u6>Lncj*2ZlH^fD$dFJR`yd5)&lFQ~C z8D+R4ruz?LI{*gZKz^)JM=AGH}ZW*;*61TFw z4jTM5Wg3}xKV-}FSq&(%QG$zy$rE*{wZvcHn_E&g#Gt4A%_yE)yA8s(xa5~|b`2rh zCB>TVm$Wki>ff9=m}n60Zb(6u89)7cBVDh7Qa$1b(u7hl0phzaUl!1pEVKS*a&vuP zn0j2t`0_MVLA~(#3k5ehR@>3$LoLASn87oUcM->$T`A}@rpnK2IyDpfSu%}SdMnV# zm&u_K^=Ko$Xx?u15~sc}2R$&Cn3YU{q0EkXqH(YkUB*AuUl@5=?`XygQvwHvX{scD zG#2G@d_WhjaxoLmO#B3PQJ@?pg1Ack80;+WT>jUmg2jkzJg33faU{;4c&jym6z?*N zs|0Fz8aVfwe+Ntl^Y6{z`wYPK41RPgup6jnaxBBdw>;XVZjwA3%*kMX`30> zBfi$-JgJnapq;Y2nBcuGxxP``^TSd}=~u0?2R6`Ww=($UZZjzf18%yGS@NKBO`?VG zX|Jc=9C!xoQ^Fn!{M6Dup4mo9ne^PHS#4g5W8nz^XbNk9Y?&s20#KN!8|tfhQsAJ$5G_ z+b(4PbJfWAAlZa`g=jPr$_)$gNqU-g-v8%~4Se-I=Hmg3f1&DDPt}vXrS_{%#NS3O z`{;}x%;AowXY|%cO@N}fg9E#_?SopxxcOcmyiVg^A`5E2S?iT3tXy!n3+x@{HC}y7 zT+{uNw^I^cvqq4h)knUhPVM}!BI+f&A}IjPHzx5f{O=9w%y&B*!lGAgI2}&IFmLng z8FP~DMaN7MM%^q0zvA1v$7X?iS)>f^RtU!xxz8Es{lr$3y=lGD(t&k+`+hkCDUfUmUt!^2#>B4moP&%A`$_V#zcSeel1@J-X7N7qiP55 zd=cd~ZOz?0g`77hEouF6MNC*ly0RWxgv=18ek_vhA8Wi8&v=O++{^vA13|9!nyans znZTJS+ltTRWOr<=LyawW7HOk=t}zH^?_Sbn6$T|ogToDyR1OO1YCICm`*8~R7}$=@ zEkXulH)(%2BEg66Y2gZfE(_@O?`?#1X<5l$-kyL+Jf~w95l>|ebeP~8treeAXhUVv zZesz|qiBw8#fePA`sWiGzR665UOe0u;1JQ>4ErV4EP zkL808(!=Va8U+?+k?Ql)A&G<;Nsa8QPSf6l9J@H_2>;2@osr0SodXXp^D7YCP8TJiI(pCM7_+o!uE zaEzGaRm2?ef`2n1w08qf1;Alm12_2{-uUn+#p?s>#;88A%vr`1kCYYn-PHCdG9fS~ zGiUm;qjN$qa|L*h02A?RgupO`4YE0L)QfF(m)2VL=8&Ii8GwtB&0LvPher5@emvtT zZx6v3&%O5iDC*@c6)w|E67#Lz68Ff6|24~~dbi{t@XGKsobSXY&bRd^KsrZ)?x#FG z&tEBq5!rZB!}roPGTJ;mXn(53oR^Ny_7rQogO*P_*z08Pv~BB8J*hzYIJJmxiEv1c z$XCG@-AbB6{lm({{iA-3ZlHr8WeLP$YJ(tq-?%FuW-UFozH}&qvNI>2v+dPJn6Gm(@p)U<4ri$rcB~Th^lAW(}J4Uyjn)Z()>7 z)+MWIeXfmLT6~Xu1@Kgd9{j{J-j)jP`a{(|#P`+INA;H(2GQGz%dVp3T0RDSwh>ahpW*ZkSs?Ufyrk_$yHLoy82_&w?=Uk&X?e>&^ zlGHw3)XL+kfzFeqWQ`>3BdpDbQ@_?UvEO-*K1IzzaiT#~b%#c<_C!qZ#&{5K(vLcX zK(_IKRB+RZPEa9LL_Ig=7KJH;ttfVB_gr&ooS7v&S?h+r7Njh89?M5cR3yD364~;j z5@{wWCi%LdOAvGr|0JJfRG*p_Z}6&qCre-61W}kRn6dghtbM$x#**KomL>q=TA}BV zs!t6V<`g0$1sMEkG%fL>YQr~Zek~U~1v8<22i1#N(JtA>T#nPMNgH>+e7ary&Z~1* z+nwv!v_6nwgsOfy02pG};kLy|W~s?ww(roo1yO-_2?N3?0|_-`0}t2F`g95mOJ`Iu zo_4YR+GCm1O5or1pJz3N5_V0>A8GLP;abkx$xmNhHdTcY~Fj=@k}1-@RWY}GniW)_+%TrxC{_3_+JBc>4fEFN#_ zgr12~ORy2GqAw^28}CeuZwCU_=dq(-NlCiQ1EToGz+xkU3;6beXjorwB4j?obqJ1_3AsI(PG24#L(2e-w;>87}Z8+ z2PO#FN0#;52XA5cAf>3&;GCLuJBDCGhWLBht)NDOEzTthbEnT9U?c`lw2NJ<<)ivL zvCr_j8r=hYbzR{4lA_yb{P7*)a(xkBFt`@jcztbi$p~Zusm?nlL0sjQaMv?ehqz~4t0KB35Datct-m?Nw^I)~8fi0Yi2!3y;e-}$zhOh{X?aFX z=ZPTc|2a=%03gEUW6sdxFX0-Wzmu$oL=hlHj zMU+cen==WCBwWwaBRknu^o~FQ*Jyl=*_k=+6*Wm1OJxUi*0a4z74lcl3r2AL?7Lb{ zIU3{yZ&>5V*W(Sh(E*DE+~;Lq%U{NNb~jInlW3iFrBr@;hJwWtFcz=4?lHzaS|_;w zO4mcf+fMfwzhQ`u;$)NPqs!=mLA%4Zk}xr@|CFqT!QJK8n{-5V^{AA{@ez7d*cg@0 zxdVDJbE1!e&f;ytN&l4RmJ;Tr<=azYhv}D<*2CDwdD52hvU^TT%Hk>p2V2~E6Km^* z&DS~mNfiU5M7mLsG%HKwHjE7X6H3pGVp*b)S6o=GX6+k2idr(aoY_F%08C2Y>+tHJ z3%M5>ireeq1Vo9>rY(BW1LQW6$~(Y)WXlE{%r3&wtOUVbxe^%^^%qW~QwFhtbJY6RPD31~C)U zUY}lGKBoeTXB579XBq;nz>v_jkzM`EOVAAVWP@VqFqHaqpEaG@;jp&cwg4h7Or*_w z#3N#AK9ZBzn1IKgM8|7Ff7|skS842Ip8(dUbwy|v`INfQ_7Sz-%FGP|IEzu@uPAbl zYb=@?6%+KdfvKS~2BKKmB~@v%D;bK;ZNk6M=kH)hQqMYNmb=DDGP3;I@Qk2(h7co@ zQAoI9B+)tD$*=qHKZ`?-BS^jjnGJKX;yb3qw6x}Y17$TQ9oJTQ2R1ST%uFQulA-s- zRlD3fH)BTT%kTO>QK_lEmdoe7tQ&-y?XBi13(h&7ddD;BU$HYeR903pBCIumyRRSE z?$ta!XMMZ;m>nV~@!#8sVRr*B&jo#bvCD@e&j@L}yQ||R0`vzVy86WC+?rwGrGCcp zltdJ_+j%m(=4j4Gxa-~g;sG(bzdp6&dT>t~9YR)D_BMg&G^%tit9Ej0@K}>-^yLmYV7f$=cQ6$+8iUEG$gA1a zoQ4uorN#GU@8CuO3M~^DoawRFCyogGv;EEzgUhDv!!GrhgP?O|RBxyUfZ|DukkNiZ zb205>kET}HPoGdo=nNu@ujpB7``!~XmB;0KM-l9{LA)SgZc25de`6xbvZu}ejHQfN zl*%z%3NwN`$;@lg80)3W&lbE)#2qsw&3Xl|kvo%c#wzH-S}H&4H(>T2KaurXQ+!Ow zn=Wj?@fOe``SC7i@X1t5?$Z19&Ih}C`KE`(steD;j#@q%8O3ytL*9DEARdW110)aE zk!tGE@hfCf8EE4qbcx@(${PvYWP97+#}4-!W2NXuF9Rv_M1o}ujuPDdpnsaBFJt7! zT95{y(kauD!(AL0I2;obbDnZq{p1-WsH&q%C}$Io2qRYAd-$#2h7Cs%ZiXN*;dR=^ zF#|+536~q8%h``}bX~Up9nfeSM9{o1D7+KlLw2wK|NcM}IO`Izb0WxJ({J9*x%`h> zKBC+~^ONmtzSw#Li~Swkcvwx-YF*;UT?Ja));F}^><+S8La!}qMqdps%JS!$z_}($ zSbm&%Mm+uV6EicBr2?Co^=UZhKz6QTe5Q>HsAh}Z)@1dhudo~(dRfE?F;~sRE_DCL z`0h}R({H|0gO>X6C#)l>+(|(w}F<7}dtUXsb^_ouRN)gs;cOaPmV2CP` zF-SaXDyQrBu8uYM5+o%Ofc*)Ul^f1ubch1hzE9B3&Dz|ivnZl1o_F7|q!CM^=upw` zeBO;M8{fHC-CPd$?k?IJ?<4FLcY&O|^sDDvx>=5@txbXB+TOv9pQX=G{=moIEDYwtSe}J;8LiisND*$~=KnpM3| ziR3lpr2@U}i#n%Bu3n%($*fl<>dQ94Qn_8z@gt_ItgR}>(IoYMBh>2{j~yqAINFo? z#d@3T4s(aKo-t#2zvH_{d~Gf?hj}R z(Ud{DxXv~kNp_}ck;`XlljGWW0*if;A4nyR>{DW9l*hcUs~_(Y-Mg}u10E@rHNsOAtMGgk=MAqxG)d&SynuEuZmxXya*T;tno z_>>Z--))W($0+r%U-sv>(!}kR@pr11i&N`GOR=#KlceQy2(6&{=O$jJCh}{rr>|#c z*@OE!eZPZ^sTZcaJ2A z`mZ_nvz%e*xY%&CYy#nb?pzen0Akz&s*-~lgD}Cq-GGw0csk-;V`1ee{{s|V3BBm8 z?L-*QsHa#>qT(mEegQXXro>!rGTA&QJ>~qB1iUK+ZYG_{Gig3`JDC7mBlMVQU}lQ+ zRp1fO7(uLZBP-xO0uw z!jpEE^9XBZ=-*7u<*YHo1c@|C{SKlasE|Z03H;P{XSmcik6?kn@14!+r_DIJ8q~T=mx`nr5_o|Y-cRL zuC_9&aWmcOU)#-PVNP1L0b90TkN6SK)#FKhUB3polMADt^PKY0V;5BaYB!RRHIF6B z+PdB~Y_~u-U^BUyAU8<;Vm_-*#kP%eHQd(9yMU>;jbXlv2z+i$RZCGW*%=qktxGV` z;*Kn?!$75u|K=ASQDJp`uv0`$_+KVom{DjCl8rkyfPp!&%FJUD=|OV%(lbl4+54YO zoU;7EjcftkJ)qJKdA7?T?Qk5k?Sbf!EejQfK29=GbzW=D2i(1F8f?tk0#yC-g<`2c z6R`On4cYu&qYnL+p=)Rm zy2QmFGMwDb4~3mU3k3YYJJg&dTCZhP#V`8=4yNkGb-Z`%jsgbc9b6fYO355xj2Eyw zl-Q?QL7v1rU^beNi>4OV3GbsAzCoJ!jENsX{Nq?YbX;02JrRhWi9)fTB62ud9L|O0 zWTWj9%rt8gh-7KJ3J*<(jkcL3Z0Z!YO(4(vtC~`DeM5D^(gYRj*cZ)LimSVd*z4{9 z1>xXhc4hU6hfQ@o;_?WdG)+_(zB3cyjAun@ew?8ilYG+Vke&mFdVmto#k^}Tew*c} zVAD@!j!BW*(G*mj=koX`n(=UwmX`J3ZZ65dsjroq_ieSuqDl(4tG3Ngg4=ik5W5DJ zM@{G}nqQwvZx|MJ^4$q#^8_yILurIp`lO{MMi)@6{}Vr~6SAd`+<1HxccW>oJ)87r zehhPZ9OpRcj9Nqrwfh>u>sm|K%5fS~L0K?n)-G2uyMAQGGOOZ??azq5rg#V7y<_Pl z(i7IEGVD&@Mu?jJ1PWzYE)T^e8CF6_z?bVHN8gB+!W z+M)Xf6$~qF_;7L_OaZngbaWN^f5hzX8*!vidP%;s?5wFe-zK8CB`E+}Ka*I9T5{eS ziEEt$b&AQw{KYQpDokuFLuoj_+?Yo|{B}vbZ57hTH}x3P)Whz4H^j@gS2kxN z6z1C;9n^q~jk#(9w|#0pDz;Jmip*Jr{(qL>7xju!ebj%ta{+40I6jz-$O)9>wkb=2 z!9V#S9P(ewEH)r`!u42MB@P3`2T~i~Vg&wZn_c^P_z7-&f5NRuOWxcw8_Li$iz&<<>L@5g&8N>PIhheVqyV6)d~6=wd_1siru&Yl zYptF;**t5aV+0|FR9nERCg#1jotT};nr##0Y++7NXca8BePd0vn7P+GpblU=ccpZ0 zChvQ0WuH8)gmlzV?hAfla5S8l3($0Nh|#ghgTkmm^>eNze*OdqacMio+n%- zF|~c3Ja8k>|AsU~z0)dT0kGx?X&t83Lnp$2uD$#YXd9;p&6EpFKrd}DS`8Se175DJ zI~Z_)cAG*0TA$1w^`a%TO;8bjZC35?P{zw@aB&z|HZ8+}d#xG2!;~d0A^(Tq!<2w& z)oa0er5$fgci*jvT1+(~$NlqQrw-&h)1cogF~Z4kvCCRZl~9gn^a+El-+2jL;CMnN z42Gt~O>!xpqKOJ6^>R(jO)jXYQK*eX5Kq}9d$gOMVLcu6VTVoGdDQ3P;Mqgk0Ipek z$x8CqnZ5_s7b_>sO~kbw$vU0{E7{42=|4$2gylN#+&JL1;^A zVfXB=DXsVV$6J${MMZFU*ohCzWrJfK?RA-ogtDai@;GZj^^|yw@sJJwHg-ZUC5a1L ztZ=_^w2 z=;BOl0mo*UGUtF$f$|I}A+o7o{r4+NvSCLw2WMgm?7qZVp<@Ki3vk6x z^KwCoelkvG;%$SdcPQgKZ$oaRNE|)HF~FC6?)XGr3)aCB4GlCPF0!z_*EJIqO@ys; z^vyf2QI|DqOrYJTS+}7-e)|-RQ+>osJEKvvUAD_Vf#lXkW76swb2D_AA7AZj;J|%B zDH-vO2-kApqh4U$3jPbfG`RU{Tr$w-88L-OUARi{q4L|Oac|JA5i7t%=ZzF5+qr2y_&V2olPM>z8 z>hYw^j6zd#g!>7`ZF627y<_ofk01K}$BMp1)vG13H7QZf;5$Sxi^0655%UykwcVy^ z3FIi$l#PFdSPB?Ir=CcH^=Wj)>Yq5cT# z5~(V@@UIt^$Kh^to)oA?&F$E-usGvJ(EiJrR@|MADFB0M=DNkoyM|_ixu1CY6B0Y~ zck{JjZ@>BSq*9w30&DKEFWn@K${O1kIiclnC#nY}lD=K3nKlNQNtbp6LhELbiAoMjw0 zw;`Hwn{YCKVuKOVG2UP7e+4uK?jmPyvP=s6C+g?2)jVa;8r-mhSPjhNvd%iwrWaG01tn0Cxj>3l}h^>L#<5Vq+}CZ|MR!=-u7tlkf9-@qV}nu2c+-ocF$ zSjzbnON5DeEs}0F5$RJpMMke@$!0PV^_48HX7Urq2&8W*FB@`f^aQNZpGii7)x6zC zwNe>Ae*p-HW#pji(%RA*M_5`c9Jl6x`@j^*(l^+&pqu>@Sy_VGlJJ}ZnQ8W(?QL}NY zG-f8XLy)zEZtVl_g16K0!*j6xd;O$h)@DU-x^K0AJ^o=;t$>bRgkLRhgLMnLoFmvv zgDPXs>vFOUeRqb($!4o|e|8TZGP^&$=|qp<%jHmUb?KHf|4-$$%c)|I^7=RhRe$p1mf%6lv(9W9??!qlug^G zp-Y}ueo5bEX3>nEy)7Hw;fw+Jl?LoG$St&@Bv_Q}WX)P#+9APwa&ZN4G?@%jacH>^ zEhKLZK0XI03alUN#>B);)P=QV{9)@h7CT_opT7~Y)x{PnCn`KX&g8lcCJvlyuD~y- zeha8yCE{dm)a=)4Gkq%JlK z&sS_mmkB>b$P~nGCPQiD251Sj+CJedg^l<`PB9xZ>{-p-(wcZyASe5tvi&n79b%`^)L(tLQ2~|N^b=>upEt<3Htx` zqX5Kq56qXsb>_pUcHB4j5xlpc=ph;pD%5jiR~yaC(H`%xI$`t_ITJmYTCE%D@&E(r z{Yy*a#YA!iTh8-Q55e{$*fUD@A=Ovu+XqHR$H)AlMb_Wuy|s1EZqRNpjhvl1WEGa$ z#@q4@c0~m6XSP}1G{=7wf;jEpGUmjRy0z#jS|;Q?H)fIzL47P1jYwX}h9UbUbuuHD z*1W=K^Qj7y(rxonkc4wa$UCO40Ce6BFUWu=EH&{z3Y^+arXf~!Y=Dyjr3XutCBQt7 zS|u;G8D$u=Y}*(9v_;j^LZf8Dc6HvF?w%Z=;DtIbNJvSwESE40r>C6D^$oq&+4f$@ z8~m&d6wa7a+^xz&1;Map8@K8aBr*Q>BK>un(EeT0@HLHftvz$#7^Pi4g>fmwo&0&Y z(=lFNX_G=3Xx8pg1U|HV}I-ji(StJaB>tF&>$vz6S%ab!;z0#Z1Lf zW=iC>#-96;BncHKu<8B_JZ!*;0l9lg17xOgJQA-@@_+&w@n{4NKRHYxxa6mVTfqR+ z^{UzwA!20_R>~#{{Rc#WU7WX0>}Ef~W-X?kzZ(Y=%ani%JukC2F6iAJHZ|y$^>$&@ z&vtba8chhHE6*QO1k6vgq5|q8!b=29fY0Ge+mb+hw>w+Z%hg1iPx-N0Qsq!@KhSwZ zTI0jK4x|yjad|DWyGKS1eyfalB=Xr>X46K>sNv0a#*R#+y^-R+;7t4CrZOsAvDJV-6Q6(qNJEvPC8k8CSilXPgQ>1u)hp9$rC}9@9TI zm>Gp{Q$#_%#?>w*zqtoV6xJn2n4rL3dy4f7$&gQ(%NEbs18Sj{mnk#@!`z zH81e;sHnWHsm#F=M66|=w0A7skLH4R`LhUObUqGnca~cJzwVwY+wt%Be<8rupUIKh}N7!IJYkZZqFsi?{1bKqS zzYjdbpXf$1Xi0oCAum=-5JkhJ5HnxzigQg((4c1&_$OmC5>%A|j)oeX;%{Cy@2HM; z-(9dUkxfKV%X`iw4o5)u?7+tBCu#~BryxMLVwdpgsT8L-B$xm9zm~ zoB&%Hp4{~do;O5ICa1ZypiKuaU~1-TqCc0q-1UzLxCSfV-4n5#J(F)^uHrTsOt`of zOelw}Qs1suB69fh@>ln33izS}HC8WD6P5_~^?$y@v){pue~ELkdqUNGj;NsfF00)v z4%L!^_)(17BeHRjM_+^ zaNm5#G^zu!Fadb%R}jP|t$3cMm+25Iz}BjHxB^x$bP^Cm0L-y!vR_yyzg-n4ped3&cWHb5H+|zQ@vuD`Z#>RMxpL+AczDOS^3&qk8ktmm7sSg{OZa}}13p6%NVL9iS zLGIMVMDnp7CcSw9CUc|2b7HaIk(~YHh-}3T!{0n1VS+FuC(=cGs{ZW1}qe{7K5z!4|Z3GuST$_2^ZoMI&C~+rmS6`u^}rdf2BXsTs;~p zaNv2hk$Xx~IhvHqLD%(zKX_zwD8_Y%)!o*Fe3aTOR(2q`x?kD*@M)fVM@V?%IOT>|SKO>W~?U-9>%V z9coPIgeBfqf+Do=DSI9>El*V5#$wfveUgxh&&cZ;SJgAg5gERymk1ZOAM-!g zAMGEzusef0=~u1jmJC3%YYF__JdS$ipWBMs8#YETfJpFZwlEOb$yd>=K-G6x_E69T zb;@^iWt^>6eXooEoh)tYk(nZ&1!wjUzEn7aMx2mVM>ML^katSpv+0?5oOej)I8Q1X z)RaXqc%n!3cDg2WE>M@vxHLZrcJ=IbmkSqKBbef#7D#^D2zd+g4sRrNn3yt~HuDxO z?&~jl_FS?#^XguvYyd9jd6y%{13TRC^;+!GX=V5?5Tpe&ULPg+aRp)Ljs1ZCRS?gB zSZBb6ybu%vS`GC%!x$Uc3 zDMxS*{L^(cIh?Hm$II?n(A8dvtayH*KyDT0ARG3GNaO2e-gDygBrorgnx%R&b=f2K8PFhe_(;vi_b9OSZPi4#EzoyU5r|g)8$j>OX5-Upl8_{-<`2EU`Af)VF5@_dY`;{Z>&UE=@wq%#nOn;*5 zd7v3;!tHxlY%<<+9Ai!5QBd_y=pxfZJK3%IG!zxWT4X#OApEuY``^Kg1TJDG^-AE- zlEBN$rUn1V`G;reQ4JX;O$QIHUc!D>2j z`p$8P;AL=;gmK24X8*+2=ctXQdCK41k&Jj_`N)~E+!7d*txB=x=})(+3q+8uCtgd0 zwJ$^wU+&tqudlpz27b;~(T~z7r^B z{UGJ9sW-l6PrFvGu#qfyTe%n1iKfpP7!GQZ3@3Y(<;#|%hqCoIB`PMUmC2iIYu-7c zl2yxtA}n}_`m8VuGyYK1&O^fWqpbw9l|Cd;dl+5Z`pOM(axKAr2Z#nPEf3^|R1Lkj z{*Z=H2C5oRwY47E788s`jK)c`K*;Y8qs1OnSA)7b^HP4lldM}$@$HIXfAFOiR|Kzj z?!Gw6QBFK=9CEU}N#60*zvKhw)dM<4Kq?Gm)iPi!Z2qE3a=jPpsfS1*f-v#RuWi+2kWIiO?DB`zyr2;MddgbZsud%l7r2rMf@@8wr8hqcwZ4q=ZA z?&Z$N+7!PVkIc(;lo?S$need_YG)3*n0wJmc@0$5714dGrFLdu+lRSnk82z#F)sy` zero1)G}VRYT-$W2(2Um))cVGfpkB=L2&2n6xb?RKo&QRb1TxMOtV=BGZa>L_Q`&%B zC)*oEfpkhS?;4;1!Sn561LWHG=eKoIkLMaMEd65^2zD!E684ex(b*b25kuf*!u7l_ z%bG_+)u*2H$-_I#xLUOr$ zNlkw2#eS}PG>dvHEotYsn7xen!eAd}Jb$*iaN&dv+G60oF0FY8$Ox=EssuiG>2=Ea zF&b&1^*RKmrGSWDTOVdka!PDuq8qjFD)-z3oK(NJ?cmz}Ce01Td1ram{|>u*C}U;{ z+ww#$s2-cSduKm%8p#k+vlh->gzaivOJ>rp54_8m zZ#~VdK4EM&KC#T`V_gl-b>2;?(Z(aEutPSxKu+@b7{0fV_L05Mmc4mf4y@D;4oJL# zPio2#Q^0^SXW|_)=6sUYy@rI^aN4l_q<)%->S4wK z#mOib`ySNaF6!~^`7z|o^EqcLY~ z&}kPZxWndjQN4FGqsea!%R_Cei6zvW65PL9u1M^se64C4vCbXWAxTXeH(8*?pkcfNKHrOrFz=vVqOhIv`g(o% z(f82Cz67Erc&7P#>)}ZVOFUrc^ITmVyMWp>_}2;2vZlwUBG}m4yS&}CvOd`6`}hfF z9P0Bw>0aO7fNiRHl8LM!f9?<-H7UC-b26@v&Q7~{w}y|!P5HC4MonfLpefNTcg;4e z|B<|HGV9>ea62Dd+@Z4NWkM6fV$@3Qi)I%FJ_c^>7qJ6v6XH1V? zDiA?GD+5E>LbgO4Jw-ENY)x$cjpMvo`n-c0gPLpYs2NXw%thGc)Sq(F^7rF@ue!KK z*WkFdW1t-L$I~jc9V1@sVA37V`igBIg%fnk3;dgP-}PcT0);H&(>kUk9BY%;WBtGM zi8k%2A8*{DY~}Qhp?_*{El;7N%v%QlXZR`zq!!@Bpqo-{JsMSRD#|ZJlo!eQS=X@V?@+H zyQ>vn>&rw)DE+krHbX{^b`LreThq81nL_0^nfrlyQ!N!EW;4+L&_C@#jmgp_xk3EH zp3tWwBFUc+@sh|geU~sh zt|^?kzT@4J4wVZTdQLy@ zf)MVG!{FNiQ(-TIU+*$g@7PB26v^_U#hLVKez>SCmQR^o&#jt9PLpDpB;0ix$r72x zxlF3%uCP_V+O;E`e$sDpIc9@~xz+ge&Ysy4DArue&|*jN$6Xf^um)RfTq0sUWCsnO zZM**tXz&^C)T`uh&q}F?63YQ3%=P^2H#4pdQHQcQtKLUOftNHu_ znbjXM&UCn2X^Qq9*!7g;Lwz(M8R#NG^*=F<`f@S`mISwXe1W8Lw)v*fN|ACK$X)fg zTL~9RR0Hsx0u4PLQc}@=(g)q*@*(ft0~wV8OiS8mYcn=DgEaSTBB$r-GV$+(_qFBmsp$dWUZ;Q7eQ z07*c$zYpVN1k_ITy{Z65V#|L(MzPCmJJ{X0?!q5j(fa>SYue7m^m}eci^&zNN!;+) z)8~FbQFSe^dlf)%3xvITmLR*24s#1sP-TKV%bAmdWCL$mC(L5uT3KR!s4nz4y79p+ zf+Z_r7hMpn>~{7rVs6RC06UO?&B?Nv9i4lr2^lz7@>tcoqs=>@-e2CLSNQ3DX8lqeQF#vbXc8Et9dsq(D|>ht`Sz7cf(rsY9H4ecX3Uq+!!=N zCazP!hoORxz5z;PM>h9G<&W@6W+`4HEIpcb9ii#qx(^(Q+Oh@Mfo5|p{`9i=FMy|(|511o+Bpt3**Xfk$RldK9btrgR-W)%68YljxKkyH3I5d! zus+(++O6os{a&y#bK80xJz3}51RJ?UYd)OMEU8|xiPw&yg|87Z$81jN5G;4Uk&IB( zhq2Iz=IqgEQTZdE$-PrwY92EwVE}h&&6z-sOl0oE$%*yvr_FS>?;(dLADjSS&fX%w zqw5I8yAdldt$xgyDy{M(HKa%_6IU1KLi2lDCeY^(I3o_NbN_?1AYh!4G)dpf7o>E= z)Vj)Bv`U!2HFURV;6@9=f>0?+bdms5bC+52QjK6Ce!Ur#r)zQJashE`Zf9PxjYY~W zP9+OB`_yG^d0qx{Y1T59zF#(8!nf zL&kGN(l1-lC($q~!Fr~C*-Ie6@2NS@&1SHk(l|sG1jw*(wQ$@Q2R1S#XOQ=$)ziZo z70GsgFLjh3JwqyK2QpVKf(gzY&PjiE`S5OQFwAFCa=NSZJEUG|?@HP1*KYrjHfEFc zc$)-wXD&^G5DJ1dGnTOc6bj{9=C7w34q{F0@`0(Ae?O_NU41teqFn#?V*mZ(f!RbcYa#Rjy@4Tejjvr?N}*K_XKQa*(Z4BDN7huz4WkdZuCplt zoh?1`@s%8u{Q;qRpl4MZtB=`@0vmlmBT{bB9jk!_>an$wLsC?y?c%VKrzo+>%E^?> z2No3Gm!I!r`JP0yn8pDg>AHkkd4t}W!lQygxO(aJ*Jh%&>8jcAMC;7;Ho5PDoAQqT z_VuA8(j)7@>3jd(SfZVL`*X=>6X+NU51jwGeMkLboN7G99o?}C_?mw(?mdWmoF#HL zPCQnYZt|)&#z>+}z1%UV9_YN7xB?FM%e?b1JttEp$C1@2htBg0|>UaMB?I6ENi^x`xlFf9} z$&4Tge}b)W+Qiv`uWHnM7thf?e)Xt&RDEA^CrwE}9`Ad|-7+#;jl2TZj26kh!0RO^ zPD@TfU?S)BZ$~He3cm{S{P##ev2~?@TVzU*%QpW5?d7K+1Ne30q|*Au=e>gY@(E8p z2n<-B^|%iCKkhh~g&l=+%ePXpyYr{p*#6J4Kw?LmoO8cRztmSxwUndwe%k4_O`e<_ zd?$mH^*f$XLZ-H^#11Et;kg~$wW_|i>#Y}?4(x=o`FXaTeBikLX_4l9lY>F{r)xwH zZp*>4~qXE>rn@x?`kH8>t8Op}Ou_aNnkpCS{D4x-Vi$)2+ zGsx9biyUrd0O$nYQ5V%@Tz%HlGeD&pakF_3d?j_PCjEeasLTJq1M6G4TLj9x1Sbe7 z3LYgJst!7k;h+$GTOOPsd<9eX-87pvI;Td0pNIPzjV;tkR@1)u7Fpps5Bqczza~IZ zgn*koIi5zdB6 zjng|N>iy;U)uZZ<>QDwRv?<<8Qi*J=t|t9`*QjEmyVr#2m#uvEEEuC7|GjbMC#s=! zXJ2{-=qcU%lLO#T-r}^Gr#9JcO=d(;^Ft))O2uotr-3z6#r0E~{Dw^+s3(2Xlum@` zJDO3#L7|jAmD`qW%#GJzCeQk8aVO9nF`oKc4CJ~)<(>kbm+TSEw?UQ4^(*qyL+Y@l zTP(_i4^6;$Zwz3gD81IAZW(p73;Q|aENVkLd0_MygdowkjS%Q}Tw?;)_>(^xR*3rE zfxyt9akE~^`HUdjrd*%1t34d%X2~LlUgakj5YN?>`|hJv$R)H7z+Vq)4bu?XVb>ZS z`VYiyN^ZuS8E_;s>4ZbS+@?h(`py?vNHKMEz%BYDV?Nuz?^{qU%{a)q7h`>3wI7~} zRwsp?O;4BuQp1h9{X#n5WU}6|>>~jP-VJv9`J*?kd`4VzN0lHU*0Ro#R1C!(yTiQ; z$n1f@Lg1bsUdD9yw^dRwX?*oc+`whre4-_8Pr5tD(R(00KO46tfGH71RDWr$D14YJ zf0t=K{~OjZ-dBTluS=Mi&;oeY=0rVmYH0fJcDghxG4v}FaF^w07O>>6#algY+p{MT zU-A->$9#gdmYj=O#9X2%u6B^OnM$e*xwzL2tVX^Ieo378y!>`d3TY%FNRu}vE>k8@ zr>E5(XB65hI;5^WuQAg)hXI?A12!VB2l-xpYkkEql1^56%>%YqvZ4QTuUCY-ZozDH zr@Wxcm;(~lCI)X7-e;Bsq80rEMM6lW;}32zCrNUb?S4hU@rM7vhR=8<^?PEO;6n!) z0~%6;4tqJ=DNv)<%Tc@Upt_Uo-I$ZOodkJV+KSr_%W(#A(LXkL6Z6DegiCfxbZbOl zd)IoH)2H#m2xq*uR{IJ_WFTw-y6au<4aUx_D_Fw(l~rG_+pg}Ea9e1I>wSW=L;xA* zEjGaK`1bJ*nU5S{ijgEN;r<5_?Y0BXW^Zt8loPh;2*pVGoQm5QZb!w0+1`Pqeu-tF zx$8rJ@KIv2yDRG{G3AL6sVz9^&c@jYv`+<|gB|uGP%pbt>jd9{jHWubsWv@Sm}RXi zh7<0VNsi`AaTPwmaEn(W^(8GXN7^TUo6~yvJ;77QW2;rm_2kB8bS6c2`+TI16iglp zlQYE^U}UR}}08c_L3f zy?7pWp=B7u*ZKXyDW;y88ikUXZE%;o?`sKfg<*d^at7u}sISfkG`|4Q1B*QcISGsv0SH1O%J;1F%GaI0qzTyR1Y6dL@5#b1lKV%O0 zB{|yz9KahfCIMOmv=mvv9Pwa2E-pq{KXF{X=49cd&Ugvnz4lLbsiGOTTVqk?sA1Pi?)s5f z6IU4K*vv%agrHU;r=>81-mZ0Z9E!%-AA;N?rhdEix;Vdm7Iv9Txn(ur{=h^P za}&9GsTWw)wKI#tr{r%=yt(GQqwAV8w|JD;9-8tzI(&15rL~QN-84;l#*U}jD*JYs z`PDn_35KQZM@xyR-8D*X2$Z$&VVG!=-12x0OYa12wH~E8a^yeF_6Q^J#l6KZ=BQ7m z)YiGa$6t@(9?vmOHThdbyUX0+cJ0fsKf$wtq7*ffc^7SfXu`HG(_l}?vVIRhq~nY6 zs+jV~ltT*8d6s~_W&ibfn*p~r(~S(pE;v32;cEJ7nqx2iXUaqSW31M~>Bm~6NmNJN ztVsoT{d%B;Qk=|CNQxsQLaNRHTq!0aHpwS+BRdM_9DVdc?nLj_VY9` z9w%5}m+%j%DaF;*u^1 zYz5Dlo}w-#?!pj%D>)9`M9qU!01bCAQ=kYx-O}gjqs@tuD!s?49NN6Vb?)t@6Hur%@yNgab~cU4o(-P;(?d zX7!DHb8Uqkhp@KmIR&8;n^xPvXKBAWgu7|3 z&ARMtn2NTJtdT7fhkQwubJop2ag0Eyx*1J|rTf87D7zFd`>VxLU{c@gyYb@sLiLPmK4rg# z-{rd2@6fJsqFM!hO#hGCUf#@My+}y_XpLl(nS#7Dixaz$%VASgB|i2>Gvcd~L*`~+ z%o<@bYCAULr}~lmqIQRw6IAJuBEcZswRbd-zTN7wCcd&YLF?yc zPv9YD7Tp;`2Bl)4cP>YSgKFR7Y%CCb73kE(C1u(s3;~;^*LMjxl4W~ z*xfgb#Xr_4iZ7QQpRzZCI+NaVNbb#q12VLXyg8y9#=jNf%u$SfvxhpJyL2)A`gbhq z35aD!+p>^!%$j>YUZ|RsHKgC?^l}Gudt}o9qPoJ!byi7WpDa@`iCOkf{VByHiyUH7 zJ}Xy_WJSl(8SA;!QAs>)K6)x zZK2@`wd0ww7tp$!DLtG?Sgx^clskC;hnhiPu6>ON6o@9f1VRSC^3%*JdDp+*X$x5! zQ?r`hnHR7ndX7`gjwofAUms<(aUM}uTihza1HzE$?(rylOHw{4?P2A0q~LgjZ5Dl! z8S=@l*^O`NjkC-rOpgiJ&cOKz&)GRLJAVReX5&OQjD}M%!=&>FSaZIf#S{ftT&87U zxoZVqf`sJ;FMoENlJ3gu*VL&+GtPGF0CBr;cUQFbKyEk$a7RwkOL7LVEHobskt&&U z34(#3ie36&-^liT%@No(0waUVh|A&JIIWn~bB66RQ+xsJH7~sr{?1`Ei&~$cu{C~5 zs<6Pqe8;l)^xc@0^$K|$m(;l90|nmw7^o_;G!oKx z0_U;Y(p%fT@Yiv7`4=c_fcm2Cg4+H^*qLQnt|CixLK#{@2sQJc*z;|GFm!b5{Z-|S z#^VS%-dMwCwD^!v!qa!BgYlzPW}tqK)X z%iNVud1~V6x`CGlTKgEEVC-Ft-3|$L_UVbzJkPTDtmv`N^WucP!q+~f2Gt*(3J6Nq zWU#)t#KE;seok~oesXm^9+9IA9kYS(Sd&2sw9lLdQgOIY@%ln`E3&N>b7E9dLykWx zvIx|uM*|j0+n_6yS#Tcm&JYy_Fmf;MNW-6)zwt|oBliqI`rf3cJAg+*h!47%B&gdT zsItT;CncfSw-3>>3%;z?qea;J-!w!J{j;bnoO1?3M?P8?lW)-cY7p6@9eQ;@GC`YY zl;D^R>CRzBo96x;E-RwaZnesyJj-HL40g^Fi1YwlKI!BaW)qX~Dpl(;&EeuOBg-<$ zImqMbGbt*lcA7<^6gFilhR|DQrRGfEgpTwm*)Gix&j`JC1v<;?GSwmle^pa?Ws!M6ZWJeWr5O5Vc!uzj>970*)=yD|b~CH-GGxQO$cH3o zWgpHhqeXFbD!GIDc!|1!Q?TRZyvyDy(GpRo(eJU7#LHbE1UIA zbeqn?tLfUb%%ZDY(&wd7qv(&0k$04fd9`a?E<2;!%G`|UFk)By-AG-S<5D5D-iD)# zmoqzrt7!RSFZ4U2y}$e#m*CDYQQ8^jV}E7URRz;e+rfw1!HAXXuL5ko*&!w^`tvE)v*s2^YEWe57@mt~qwnHQe zCDlloBoh-I#%a!x42JhKVTFO&#LIX#Ue&Ind%`OkDG{wI6uCxV1msqY@4(LX_K8CY z7-8&8#giJ_{(=_aX&2|gHZt4L^n}xFEipOoUY=nf?fJKzi6XgrBwH;<^29QOD!0!n z5BWyCU@#;$iNFm|LrIbqHN~kopFefU^;v8aQ7dcrn#Cm(GNA-78ETqP>UN;0;@UwK zL~=L|zDfvA`cDb*wcK=u`t)1n-{=C72YUK0i;v{tVwW-SjMb3iL^>%Rz60tB z6jtR=Ntbw$uhsNj5c6Ja^tXYBnP8z&yX=#*4{DYsP8r#3ZpGgb9c{QIY9)V7_DvZ_ z9=7FWwz7YcW65RpRSoykv~+5;gKH{WK&6-h;UOExPiFiPPyH(W%-?N3cu%JEn~FIX zv%32>#-|fIJuo{u;dDL!v7mH78LWEh=#>g@0IG0#^9u^~c%806k} zaTDLxcKn3aA6})#A2Ve?<00w>3=9tK1|zMnuItVoQ}65mk0fc#Uapt98!7P}P~T^Y ze+jp9oy=q@g(5kxUUEQPnJ2Fj!byPW>n*3^g)71yd|h7_SCNoc_R4LVn+gZzxzxf;^qBsBcQFM`3~y&T z(}|`DFvFf~84d3{tUi|$8xsTgxCad>#n1-v6_1s94Qe>?h-=Q*(%Kwz$$GkU;W zoUg&6Nd6xqR>hWE#yZkh6ADdqH=!7LKjzgNQAquUo`4+%0HT;!)f%^qPY?gAAFTnk zeiTBcbdi!7`XpiIlWVu|pcs~qbuh@JB|Gwp{qaPf~MjqlTe)}m%k2yV9bw9>}!!Jzo-qES#s%j@E1qE`a~ej1R|?{3}|!xLS+m0^Uz z>F{QV4MA|rJ>l)e%i&)jJj|&T{c>E-*{h`W{n$HvV)h2QVE0Q zd&p|tYL&ZSSngZq@#MJdw*FaZ(TQ-qDGw(U6>#Pqe>LUOqPYur_~g|^kqwCTq?8QS zWCOui^LQ`cq4X8dQKv3w6F9LEWf!_^S6+ua7bT`$tRkdsz8jz`O)nB-K_lNiN;A27 z|K|EAxV<0ryXpFPKSmP(818g8z!R{a?eNL#w{w)@psy}5rgM(E+W09K)T{5tPf?YY z*TvPOANK*2Hu-txtm>TK6UX$zu`HUjJT{#|D?9wZE`Iz9+R&jh`u;nzqm?gbo1fc; zH~Ohr%j{yS3Y_@g3lJ8r0CyMg&Tvc9hpQxg@Lf#J&14>rObqRGqQ>J0^H|4GjwN>a@Y zUFus}Qloa3PWq=9sUqriXPvL^`SrnIS+`4hvwwsQ?rlR44mlg-Wlk@O7iTN9=s)$lckyo9YBgS?(u86f`oD)|@VAXlJ)lX$a%!VWx9ixe2 z@>fJaTMd+(5!~llf2r&$yshOVkv0JZP6i#a{W3w419O{+zQOo#nYLP|rpcR^DEfo? z{7%w?`D3nm#!oqW9WJsa=J7MrKdp?&lS|>o2|xGO7-j=jzD@?S8?cPs4j1JJTXFLa zXDSY$Vf>_bcxMmqh&vqurU@R$y}@|d5Z{sWkQX;03GHRwgd5bf9U~vX(P?Ng)*sN}YP?mdM4?`jQ~7p|pHi>6*t| zAx~uTNV?N-1#unc+hfdO67F$N>df1+q^Q14ev*V=M|2%D&$yyWdc#1|vNki^fK z%J2vFCe4cXQOkg&m@E`=cqvn_49a@ecYKG}0UKg$N*8)HZ;~Qm|It|&q(;Xg@&H0Q zhFzyJ_%kr5rq1nbQR1J2FY^;dJ5YDa<?#FQDDiAv(Nx%=6gB=+mv|9CgimwX0NyAm`6E~EW0Hos6j8>`R6 zay)+$TL|uW-ag83X4p0{&ax$pTrk$=7a|x2DmWI151j*o_b3IRrn%~CM8NQW+}nk#A$?oC*O2;&x`efW zoNUx+JW649KK`S%DrXi|d=1Su0Xl8AJrO0vW==G_xb7om#U;D>i0d8M^CH%|d|O^_ zn{_L1t9A)nJ8P3G--mJ@Kk?ix9uhjMy3@QhlDIsPvc^%!OmU)sAKMg_Y}obKwlP5?^L+0Obm*hy#CFd(Z7Qe{N0T>X_N3#crQ zF|TeeAv`~pRSGS)$SSDiTudbB+$Omi_?xtq#_%tiMSF&2#61hmfzZf~%>I+3(dV?M zMs&51l+^(bO-UW`lUaC^JfBT5fr%3eO4Gt%;})J}JhZ^hZv2`kLq3=4ifrFoWR&Fq zB&{fCF6mZSxF#>I$)cj%ctF+G=`ho&T?oTYQifG*&DlGa(vOtb_`onmai6u6HH3vy z>*Z+ZjhAX*RA4c<5G;M?@*uVtT(94ZX~ohQrD^R578eGTvtt}ts}!Wce%uC2Bl)9A z?RZo9L)fgPa8sLVCwg_oxu-v2^@H>uB3MV6q}9I=v(gC&=VSLj^??HwlwWki9I@RX(gE$5UmBhfHudD6g8(O3 zoa%JOyOgAnR=m5&1$FV;Y543z*U@+HH!D9Y?k}+B_M8eU-Q!bXMgcVug_P=yCC{u{ zRwOh6wp#rYB0jxlEK*`LJYHONvz!6&m3>lSX69Y2zkWy7mMuv%PO13sMtsP~NKQuY zhm_MyIJjzJO;XSZIl6IDW8@nRzekZIr-a;o zQ|MIbnb9i+Kp+kIXW7mz-GQc+&vMwHXFucX0aQk`oN;Cx6ISXei1$XgGK3Y?}R+ri23 zee9dH)7(u=@~Ha3U0(tcxZQy)HE&<^UPwNC4OSIO?xAeehxl-uW7>q&>$|7|$kDaF zqwap0W3qKvT$(e@XSwhmZl6n^8cuu9#NA{&I~k5hb9M(}lwJMmdO@SO&R6$;k~)<; z_!J>3-D)YLq5X-qP+Yx|tn5t?alVX-Z#oAg4jg%$eRqV9BYGQ|7f9`4HU@un{2o)J=UC0J+qCG7f5;h0 z$o-QITtn-zk+9JKGi4z$fu_0^hn~d*uk_ii?#dHo^0G|=Dn;|_{^7zK`IN+0G!0jq zHkI9Y*IAR1#G5bf5)>~dE<&~v6oUMq4SooxYbg^|@siMi85jp!Jk;mkX%-o|ZL zTmQ^boOQV4K1qBC6J9P0C2VI({P@ceg?~k(gK4l0=FJ5ge*$aG_|~-y9mSY|C&d3W z)$jwI{Yf3LR3h|co1aa_brT#G=v!%y#-I4Pd)FwfMk7LJ{PXJuiF9!AuqI>rn-RiP zg`D*2`y*J$DPGwh|fP1y9nY8@l+L%@6jA?V>5L zU8?}fqZBUkhFd?`E;XQbn#A#h4K@vF7>{Rci_7HP7{!z;hD6ni<&TNwlkjF!$g+dA zaR3Kh+Y-gf{2QU)5oq%@ig*cg6Wwn zz;bM(67bVmpofv_JbK#zsyjP&$9m2sC*q}#BQS0nu@uhla2X!2=Wedf6z1pKs2)w8 z%k8HM;y%wAhX_$@oFBgjH>)uxzfi~f)>KeDeb6JGC)z&og7_x|a*gJ=r<#jnoMGim zSaV(c=9(29IG(SQWfDg{Z4(6eM!zd+zfTPK@u#>j79M;!s`Zb*pknI1 z=plA#=f4#xR6Z|StzPUOE;O#T4^*Zi>Ej*fo>?{l&qEeLK0A0xYO#AVeB_3;O1g|t zv0r$Kk3<KWtqfj3yXB?E9A&cb|Q--m~yydJmwYT_DIBMZfydebt;%3pPhcD9T;xHybEqcIp*cktk6YsZ# zhr;V!=uV+t_DM4;Bj4zXH}O+pXpL)F>Ul03aDqEqO~zAtbfYGQz_xs%$7?kG5uVk= z*q7!aHt%*DWL6Z@pcJV{#)(fGSn$ubHd@7t)lSGleRwiKn7y8fuPC0U>i^jsk|KJ{ zXirl8I*EQuEYEC?<0Ne}2&?O~e5$D2No{w>x$QMmmz! zhJ(`3la_Yw^|6L(A>Hk2D>Z)~vw~VeWHtVefj%}_1lued>Kbpp^L3^9dm6o!{XO!J z&-c(vY%bgQ3anKGmC$)!%dGN(3U<6XCY5-gTe|yNu`uS00(M}rQDBbW(nvpUeFC0u zfa~6&^xLG=5lNangA(rTarYZo^Oo7iBKB{)z3}Ne`-2S z5cj}$!4d8!gK@KVNI24&{s)p}pOV!roIV3S1UwXg+Hoo;lGWEFG>QkJS?=shrZ==#eYSfV=HmB}y*Q8BJDv6WQ8+-l5cA5C7MG4}D$#4gY zNof2DPjEXv9h~(S$-9Ns`@2fzd=C-Xsg%j1xiUG8w@fDAH`f_Q#c-zZ0k(9Q`&EDs zeh1X2z@l-IsG>(QDbe^J0;fK-ZyL@Eb(wf^2kR9H2QJtSwmLcJIDNem_@SH0D52@D z-0+Vgf38oV6Z2V#}2=RHxU=|#FIdNY3vbC%w8TZ&P~F#=~vIBMf4nS&B=jj zySy;uzPKgL@ew*@{K4i?nJKgHbK)XXu^IrFB88(sxXKVj=b>aH?5}`DQ~|T+4_4 zaHq1}{OBHV&8fl~@kGT9*mzfBikylH<85knwcCvN3@7mpv5zuNN^{J%?fa=d78eOA zM7JN${$6gSL$dFbds&|wV$<2>*#M0Vgyl~R?Y@J;S+%wwrW|T9w+Sn1RkfMwQk3Bb zw23E^$==18lNZzbNyW+(ScrcG0z z!>1>bJ2%Bj{vz~IK7^QiWUT@|KNC1KnrT)dAeO6S)%};5l~$`w_rj5#6uqR@}x5RIi?+on)MjeHF{xC(5{c96tVS zx7E%&vR(f{aU#f5<*dg(lvOv5-(pd?p)i=#*#IF4^g#Mg zCO(?)W8&i#P5hqg_#IDUm#0eRgsAtjRlw*WDo&dR#!tVejTq$(@7e76jkcuQToyr9 zeOUtqi6PGU3(I2jaWlSb(N*k9+!u}#%qWLB{*D8GEGBS)353yoqguJ=Sr3I60JzaH zNG$96kg01S^kGI^*oP}#AVX*C+gY@Az=wY~ghD z>QzZVX&J)-V3ft@Jb$t*+I%w4Xy$sG+Y2we+58aGRHsg`|Jz*<{~guQU&8xSKPc}S zN{^|1m9rfuswhLd2CnMzNgaUecz0TN&FjC7f+A|~o#>n_z>_!UH_)7Q%$jt@rR4US zVWKU5#ItRq6MY#zVD2Ll|AxBDNU?tmAuxmgo+H-q+9|(N6$`YCoOec=2Ca@9uud9k zvXB@j_5{a+j!%Eh;O%UVYGqonSn2VOrm3VSXq|}0X49KO-6&cZ_u<+!yBpJ=1igH! zX?N7)vsKh5^|}%AiVRD>r(^Mg-e;4OPvUkW@|tGZN=Dk=@%(K#PCFhWUfsi;Gio}1{u(3&DER?bXm3z5@-)&Wk!B67kWdaU-fu_J z-vB9@KGG|=tH~e6H9>iv7stY6fJ2AdHX-~uQNN`McbM7G2_(awGN0DI7$D+`boZ$W z*8=KeYVkVPJRjS%$u!A%hk6@V!wkf)NxpJJ0b&{Nq9mvX?}O)I=j$h$*1c3pC*sgH zE|k&a@#2%S+k9DFk$!FmsfacA$iV^O@<+s~6Oi)tIWSjPz1^#PPE5g8XGpNGo`x*a zr?)bt6uDwdGW_cZiHCL>KfTHxes;tPr|BYZB67;QB$?jGAB)5^6?jU(+1m!TT99tm zyUEn*JX47d2+M^6@H$m6>SWi=Tr1wOHA3emGfoC0MsCW0*2Zs;Jo$D$B4>w`6D-x> zj>vk#@n-enov`2+ClKAEXuY}yap z4u;}`bJwDI4p8OdOXhKqn~?@P@S^RHT_B?DtNTf9rg{HN-0P%L#GC}LDD#((-L&F) z4ox4Y9L3Zd{&3FP4&yk*d6wU%E0ePbc{ z_AZWi0;j$h(!cORTjL{FaIfG_K=ik9-lF)EYxQG24`+7$e(SF>e%{swN{I{5^g9{# zMh>*jB^QYT8O~N8?Od1KK#fdb`{boR96gQ-LzIorCg~@vyM=YN5+iyZJ57nd>WB;9 zb;&NAioC*(503lQb7q!(u4!l&X&L(H@Rpy}mzZvg?dZ?1=IwQoTK`iseoj(u(#M({ ziG{26S+y4VuCd5j-^UV!`UHuhU&>Sqs^L{OF*w!mx|%sl^!V^yk^@C&P`0=A4*#KLO{yMU1 zc72ZXs#L5Y=!qG_C#j@`Q~CqUjYvE>xvEMrwgn{$;4arsiB>_{hc07<>QSB+K_?QH zgJiJ-B#r~{i~sL&T`ew^;^G*(q+0F757Q0OHYi@~A)Q;KcC;Bv9ATN)pcMX))6gy% zQ;Y-hj;p_gqH;1%TwQ4752O_q^TAq-bEQPK=xOAxV2eH8DX#?CJ6PegwfQD$CxE>SXMb=?-jq=BsoOHY=#CnW*Gk?Py3Ve5$UWx>&0tv77+O$adq2YtL<5#3!~pa|3`o8r_|VtkG&tI0uII#}4y9W?%~C?m0;rToO87q5xKj zirjC0uDWIO!4BWZKiLFE`YaQ>Dv~&$tv>MMEu7c@9@u$poo&7~t4?jFhS>P!$p=_1 z1Bsz&l zWgcO&-9Le2sHf2~pV@-XKH@u(YG}v2;&I|9ayY1V1G{b(kJ|Xy8-9Sg z-k(u85)9@uQB8RV5kX!zKUA$2NCO#eP&l#ryqv=+S+CI(P<^$HW~y?EqpjN6mnciC zLm9)#BJb%p`?vk}mUt>%6BpMb`@}?Sl<9P8yW>qU6K)D2*ALJ5cBXyelbtUA$RXDB ze*g8q?2)x9q_QjBII_>?d_q@A{q(y9Q$+nf z6J2wIS@ATm)UEDR$4ifkkE>ZRC_o4%pRLkUDyHn7u$OrMU_d%e!4FxGIyvbb+}YnU z(le&E*C2_(g1=qL@RncBJ(xWS%*yloPIP*0zEB5E0}?OAPJ==H#L^#~K;j^zIs+nI z68tguHgI6+1t`oje2)~3de)NmnNcFx6FN65`!tyGhqa`G9H4|oDZh-v_?3yrg@sJS=>XQ%V z$F48@4y$1wx60UrEpVEECB&IXIs3q_QJK(sKJOM2zx$fZe&T5kg+{I~FVv+paeN|; zvq(SvC>4pWy|zh$TnPy^K0AtwsG7&%a+OR-yn+#xI*wCcC08y-69R9arzT{fxG?Vz zh4CI$lH$L&_&g*j(Y!oIzZI6>z`eta4$U>o51AArgQaP^l1jNCA; zJ}pN<)r8XEYE$g>R)pDlYxfUbs3rS4Kgm$?JPqHwqX;{S#*>|sE4{67NsWdwheUDP zLefM$?yE?k#_J)2BKGOxs~a$w>8tXUXH%p1RTpClW zLV6j6zVOHPZk`mJPFP8r*tC{X@|sBT4+drtRwuM)t-C>#ev6WD2FhEaUV zGh;I+FN__y+MY}1gel~JNkCJljWK^BYRyUIY^t`j3w@)Kj09vD<|r0X#4rzAwmk@L zIE_uvEmy`YY=owvjMntqsK(xr^)Yj$ZKCjQD|!(?{cS@2a+%y`3r0fwRF%_wCC7+s zrf!6`WBHI0ZtFEV_2E^PBN#jDlY?U4uW1u;Af|D;1Y!BL=gPx6zajDY&ucOt6;D;o!PB=wIX=8(L z)pc~D=Opa5$+q=097MdZT#;iI#D84e_X3Ts+eG%?5%ruY&L&H@XrYYgn|RU3GMRb! zYlow6npDY70m9gPa2B?>&?{BO_iticEjJ!O{?NHqZc(D4Efc$ z#yXHIgrHt#y2Tv0E>?K!haMf{nz%$;W)N``uuuFkwlsqE6Ia2|!4={=O1(H?Rw2=D z#(yqx8njghEDrg5pJ}KNDgd_GWnG)lNJa)Edxv=SBX(3>?mY2-cpZ%tT&hCYGtfQ| z&)SCh%?aB6989;QZrT+!v3s>G);pTsSXB<^W|V8x?w}|igL5U^^=sUM__vMDc0tta zW5Vv*t&EEt@4n=-YecDuux{dTGONjx$VYT|cyA{cBiZO*X2Azk%YoSK_8u_h8`TRF z&uKZdQ>~RRRo@ob)}LJUjKHYeL5*7#U3^OOtd*_-#EYa8#^?x^?qWJtiA&vQOH$Gw zT(EaMeKI8$r_`_~uf|(@{KGe$aXMB^t|s*^c}vB=oDWMGWI`m2!*`f+9(96aJ?r;L ziu%}XD#CvGK;o4Cl(DQb3m6kGQU&8K2?x_Z6Mt4}-_7X(L7Z`~pdX0i;*W(>kEPu+ zr+|i7wc2b&KGfO0e>1)n(?)Y!`S7M0HAn%a;~--h%0 zR9gMXL(E-v|M+tjx2$?c*2kUVcEXJ~Cga*D_9%+RmRveQ&ZHq@k`#uND0Ayc98F4a z$v;nq=m>>>&8HMrV+d~IcT!Xqw-IL*<(!72YK7Sj4Ux2qdi`ji8BJ6GaZOHzsVRJo z9YkWVc7AC?_Q+bwx~SGUlWFu>a=HPQ}E4G5|A#3ly9JicE>SRD~Q!$qypK-B`|`DbB@TA50`f=TOA)Y2bQ`Cz*Y@9 z*9#n;DZ#}FhmdK@C>&4SKdb6AyM6b0i$CdlhjjkM)b^27`e_~%Pt*S2#ORdi_t=)5 z=ys%uugp^dOz0kzqTQo>(a=w-QE<%i*;pKLpz;%gN+!q0M4R{tuhj}-bV5Wkizz|a z&Ix#UV@B5RS4omT)h~2(`$b92J1ePSKrA*5eMPdZ{e2^s-^aXSPvDKB*|fV#=mQrN z(SUJk|KhySrH;z!y!LHcK1uI>`w(PpK{cnjtui_E%^?pw+$k8$_dgZ_-IAMy|#N#%ECN81Cy*q*pHKb_l&|<(Tq9# zp1+c&+vN}NSb?8r$MqdwhuDbN`4;x%M~((UFmjhbJJ7v$L5vfHkx^8$2p{h({%y-A z>>f1L(T8W1(|Jyk(2SYklN>|lUM!g1fi{r|*aM-@)E@?50SsfFA4HY7xTqs`&e!** zPf;~npsmt6C9mvIYyQIQ_e?$N4>Pe+_Q!icfxpJ9CS$1!-A`@`I)-wlZDmfE6zJ=Gja0S`8D8IJWa`K6R{K7gq1ma z8N>`u*ZBVlgJ0`U@kPL2>FNNsL&qF^Se~p{m{jEHvr1YqPlEjK;QG2<#Ll0M5i`z* z_I7I_G~QD6@(vC>S%#Qr2pc1$lLy)sfAo*hnIh>UAQ+wSHytL+=>?N+yre9@sEL>) zItSM6&r)kwkMjIMw0nzHb_FL6(`|c))aO8=b+Xdl%O z`6KlSi1YU*CX^=gnMLVbapF8(VGb}>f|%ZRugcI7pwD&_p1Oqraa-r}HKZdGos^Mj zng=a=^67Izb({E6&r zkySi79xbELm*sNWOisROXSq{xVGCihk*bX=jwZkpjU<~8OeyPF;QR!4wcrkB zig*h=s&FX7B!f|Fqxm`xJ}jwOu3b&^TATkbXYm$D=`Y>c6jMxW zAK`$UZGw|G)p>4wd(&8$$n~y~@@037YOns%Lh`$ekM<7dXwhhFP7!uZkQQ#RYbqxG z;>FC2H-?rk-^uTsoRqY;n0o z#?ez2hg&jDr<26s3@=+Z{~yS^Xt(z^PRyxRj1WY1ArCD zRlS=E6-wdyHY7myeuW;`SElcgk3wqN$XR?&-K3NK>^jRI6e`{GnI3|tAC!-HEz_(* z4lFT^5%9$>?kk3N#fim926PKV8t#4F&2^T<=}yZD-AKC{cI>b1XOJ#1NO~6H1twchUN1d3hOrY%M`g+P>a)hxKc||s z_sRC9dI4S28K-43zyppI+hWYb<~wVtzfzVh?yJbp>Rr4kp2oh-sg~Vl7RfY{rs8ql ztp`=cuLd$iaSW-=<7lUZuZlBw&3ofG{@@x{f6-u2uqR$Wj4fJtrH4nxW_xFbsTqqS z$KDt8!bY+Y644(!{EsQ8Gm)n?d`jC3dWFdZzQZ~CsUmNaNbX6PIjOuc&6iCn@tN2p zbjGtm4t5~YtLcrLaz5OXi|2Vx)PGQkanP)XeTUdGgUFmXs^pQw;ca_KP_!t>1G2RNq*}+ild8?o>`-3! zVY0!heEH2!3ZlJmP&qMjvxl5kfM`&(dsp@kLP^{P`&h|Kz!W=s+v_vTH75z_tqnsw z39ehJe??RpTsn)*$pw45-(?b0`$ZK3>a+S=#0LMKwB&P@!kC0mB8^QDs~tnX@AFhz zf0?&B6~7nfxBf{p{xV@D`pdGIWKaPzGn!j5T-_zKLTw$EP(^D$=k$swwaQy>c^m~G z=*GT=%MyR;?TnvzM30~`3aRlrjf8({G9t4LzitwZawHK)y=WM7JMZczxK??K#0gP$ z{2d(Qm%cs;$qj$%3}t%`5OhmZ4MIX-G%*+CV6(`0htj)Dh@6{f8PBRPAqn(|1k_2k z8Bt4ueF7Wr;H+0W{?H=<%?@Y+2sxW-nTh-ak@_w>dgA`KrAwO16q&-*yb#L zzmx+LsbD1V+m*L|0&3||Y|d5mIUg=6f9Gka7eAqxZE2DrB3gTG0jhdt*QRY!Yucs1 zcdcfh$Jdhy4AJ+FuOBOTok^yjCf0-9j`si&2EHDBKzKVoS0%W^gf*?V8VS|xigNvIKtkLOB@D7>$5~wwT&&%=BP=&1gP6F@C6C(x{Wp7;q}pl_@1n^O*AWdHl_d% zzMz1bOa@+wPlmU0)NK?}Fa89I+BUDg>g(}^Fh_7;e?G3WHl8kMk+=reY5bYdR~~mD z6J{zQv!>eNZ(jxrk8i&w0KBx|($@$~5w&Sb?hx}M?Gr(W2}o3nZo15>@^-blI{#j0 z*=9%+d76T$lDxafkTr^=e%0!V%*$UX#PL31kdxjs09Av8vE6UcFLR4ej*(Fqet;>2*1 zmWh+#wTD|x08S7@W0{>AKN+kO(q~>C8(Nyr^*>`dd%q{nCq`|%i;&~x<@q7=I=ELY zo&dLxRCeg{17vq{Bp#_O1m?c%d3!7^TUN3sOySu$1u?mJNJfhO!)J2_Zwa0|LyIy@ zy?FI)Kt{XFfb3~=C}CLhe;jf`>+N2pd*0RLUelF4DP%EFG-oNKkP!VH8y((^#f%?C zoH!<(=!;k4V|h>mX@?t{r|hR9Rj=L}Ftta(t_wDCBE>BqR2EeAPWCeH5Q!G?HOv2_ z(Q}@Yfe}kBtMcE`_1So7S=@G+ks;7`wbvpt4P=1v><*xTYa~acY0L{DNwv|iDL@T> zfekf+{`oK&2MM2D*%Rv>A0TJ>RINsTVN}OL>@Z*oTMbirIvLAeHd-p+&5MBy-a+;8 zc&S@W4d{GYi_T)S96tQou&S5_HFLzQiEB!C@sf-(J4%}{JTw9fSW ze`P(Rds)l{q)ONxhU5X8axR1EDO$<2?%6*LuOb?dgDoDu_g31!ZDjn10YKDfhrdCQ zuUHgZCIJOl^)Am5r#{JYrZ-g>keCsOy_|_&Z?pN!JGwrRu0+q<)lstEvT15~2(4Y~ z6W#9RsZTbOFpPwajP~&)?9-SE?+6;1D?{;&gAgCHNjC99MfDM9q>Tgr(FDh_aY21} zKSnd(!Q%|wiFp69WPK9Ke#>8>d_fFrK&=25#}hY!WTke(+q`(k3kB$!i)a$Sd}uRE zvuSO8B)T2r=i_JoQ7b8=t0n8o?S!R0;dHYUqkJ7Dvevj8Xw%L8w|QLcwuz$d&WpL_ zRA-bA=41`1C8a}2TW~%{?A9}VjZ~<)pX}zW>O~GQDw$^zRL?Yk{M%*4VUD()J(3OI zZaa#qA&D}4&ZIJF5J~f{>4jmr%B_5EqMh)-XTqfDC8oD|%8tDoMPT-AS{6Uyw5kY3 zXF6bSdj*fP+;h(3SKhvWkNY8Ry{JmYgbgDYWSyVE_gVd3@1C)fj|pC}bXAUAxt!cL z&cooNEqY?6C_yiEPb5a2;%(OXVS~A5hpQZX^pk?suCD2m!NUD;_cyNcId{y)4gHb< zoQ?5St+;Jij*X6+7~nTcDYOlk6+3bBs=pXz9G`dw#q*qQrEK=6_ND-y+>roXhtCPf zsfp1YS(pvNVTY%d8i(7UBlqaAbxqh9dVF5I3az_qAWy}oRpu4y%#e#BL5@5@-rB*yeP9VW_wt07)X)_bC+<}~-6 zJ^f`u$E<;-isINt>(nq8^-zG*eZo5GO9HqH?y1|5b2*;%962k;K9uQ1LI37@h!bn19H29_)8 z?sHlV&|D%IG{$Wwd-YkI6jk!WnLY^ae}L2#Q3qeDOk1TTF_mR(b)61~U1D~Tq{M45 zGx-tyd&w~}ktnZ)53UsXzaL{?Y(Uy%)!-9k*um(xjvN<9{G^6`u2kg)bG_p07@(!G zjy(Yf4TN&MZj(0tJD?_Nlwocr*89diOEh5s82bqGs=53*cuk zzXR;>8F4ocLy2X?^47_taP$3Owfz}YlrUKP&_0L~ihZBubJ^#7W`xL!BM@Q4g->}# z>Pd8n0h`@V2g)Uw890B9<;bq;$;M++)XgTY9|wW7`oRlPG#xD?)+W|i*Q8J@} z#_*!sOs^RU>t`Y}!7R)TrUmzb9>8=}?~D{|C-I6c_p7g&aUvdPw9gDe+1Y=b^89i~ z*|}g~-<2B5DLXoeMNoTzjoR2JtFRe2M7;j&Rfj3I24P{PAp5xn$1=FiMvA+if_F0@E_9kkZ$U zYhE6t=W+k%(`$AJ`KnNH)=HB|$j0HmqaYfmdxLYnA2z)ZQoKw|gm?uC*~@b5feTKQ zOXGsr<=?t~%GW8nzWNb=6M=?717;1lBx6~1M3&XeSky1c1+a%_)a-y?!>%LZ}>wL;E0Qj+l$t_oLhNbJC)xF(X;721gm$?YUvQ>kK)6A z3lMFXyU$v0iL9*4Xf)$yzn5t=j=8E!H*eG!BXb_|J9I5_at>a1d(Z3;AioCn3gv1i z3kD}7;K`di;i*pXJovqFb{Lc!T{!_8D=q`WL~R-B(vV0@qjycxd;Vf1Dx$vNtnAG* zxo>owbV^-wGT7i?BB?dp>rXj+*u?w3E3F^yeCqg0#wUGF3?Z2#w6HO)^{>cE; zTFT~B9n3`8G4{Li7Q2e&+-}>wzl2RvnJpm`43c*;uW_}z=2nru&Wpps7J2;W16Aj- zeUl1e8LiBzh51yVU-TnS^KtF6NBy$hQ7rvpxzFm<&( zKs9Q}d1Vx!>dDUgx6XErq|JQ9*F-KQK2tl`ve=p_ZOFD8{11+2TzFQWLP}ho!n2+1 zJDLB(jyCU@dB0=Y`k}5hIVo^V<1@oJyV=kUN{-tEY>13<=PhLPEO*<0i;-Y{JgUc! z>ualm`cNN>?GQG#>Raz(8+FFx(50T;iuh>Yo{wQo4sIzzoHSsPR^<~RDG5Zi&xVnk zcuoJI(i{=uIMgCcmC9C%`OrfVX?>7z){x>OW0|a|er?Z5Hs3stq%C z@isB+n5Ez(MrwQG%4nM?!3>6?mNPL6(6*>uPdc2CW?jT5>he6L*mq>P1y=nfvfJxI z0E)AooSt#uRIr;)0<_Jzs$B^}#>!(s+{P@UBV|jwT%Vp`HKen}qy$b!H?eYfndt+Q zyL2LQb{iRr$uu_L4_&xrW^}xF^RK-GNO)x50lR1r9<}hN+L;2}`-gVa%}}y!gg~rD zD2P&Jolr*n&&B35C(6b?%1W{!D%OLtG(7L$BDeZc!Esx&uzyD=D$N~sLZ`mIC-Nd&}gdCC6lz&cB2dY44dWd;}YdJ z>HF>MwuzSzzP&rM`yH{jv5mRZ%MW~fy5cMj6~V&h<{W;T(| za!-PuX1D3wviobj<7&6@o|NGE+Ty01huR>PDXlwbMK}I3qd&+ZaU7F5N1{iG!)F*A zxqey_+wz6nWUX&4$UV> zdWBzrIlO`S2M`lG9v`ZrP)8rIQaGT8T>a^&8{#06W!IK z+Z#G-5+j#Y_Gu1ZI2qm(Ks1iMT#(0A3Jj4V#-Q3Fni)p0k|@4g2cp{hspp$PVVvKh%w9BWyOa1lzh?CLd4~{lrOyiJ1gZV#_ zaa3`vm#kz;Ji}c6=*3|9?{L~^V;9SFM>gJhLaRQ$Vl4J7PeD_oxul=v-aUMRlRpVO*~O*! zb_t?=AQ5Uv{Q)YUU+YV12Wm$Y8pcfeLl%N8YMO5nYTlB|#b#J%D3KT@5oo##Cq+JI zWA+V7Ai8sHnX}S8MTs(rhH6dg0+CQB&>XVSML|ksbL^@#%U@+d{B6VAs7)6?S{wz{ z(t}DcCOumWa0RHokG%NtFGg*IM~7u5LUiBr!&XO}FaoS*hs#qRAX}(x6&6^mh+>LRej>)7_`?`GSQz*6u=i0^kteY#x-?DXg(USYljz*QFt^0aO zx90&XqS$Rbl#8$a=2#O;dvq{AnRVV1|DU>`I2IVSwPiJ$f@svmmFsq%i{o5$3k|WI zU5lL$@T8(?0=v7IpBUWk6I29i!DYUpw_E-LhT>vBvb+Bn1DLpYyoWqkg}DpTUnE3C zO4cvLvO;Tlvob%oS(OnICE`C5heEy^?m&kEc{Z{XB#L7))sfiezBncI5|H_GE>y#6 zDKjgd<7}SXYDr=#8~$YVGr#^-E+IeS8N!GW1d!uwk6MA8?E9_j;Ud1k2e;ajABAub zN^~kkIb|xa!6p347Ke^HGuh^I4Y7> zy+HY7I2P$~sOcrdGA>$xA=?bZ<3?2KPzN_l%NT+vxpezT>_afYt8KGnE<1Hg4}wxLDx1E@#m zjVYt&_@J-!&7D_xXMdo|=OM{oz%4;-wXgF{zG3n zn~J3$b~%0WgH1)0qc+*u#@U`1=`#8(m-WcIEMF|=oou!9=xHe!U19nspmrTs?q@vq z**FAY2beB?YUPG_q-kR$YNo?x31OM6Z>V8r)I96b?3%#u;Ccfu_9u=Slh%)v+>K%P zcR)39IDA35ws)bR%zgUJDlW}#Lg=J?XDUV09-b(mAX)cyf+EurM3;F#`lkF2R8~ea z9A6jb{C?&TI>6P+BTB?}_f|E42zav{M10vze_=M-bA0haw{u>EN00L0;px=QeK#ZK zC|wY@>FC9>F9y;@x!8n@X$_c4_P6)afb`=uMF=fF73pfh)p^*_@_adsGm;r5-6Qv< zOIjvnA`_i5wtYf5fgkwW7r7kp*+}m1h*B$CDh2e=Z*=rf!ky%tRKPce^4SGsINxbj zQs;-k0=x}j9lfkJV9&S~a`X9Zufnb$LQ1O@L<2=3+0i$ERhb0(z=h0gp7+e-9GZ4A z{5MgAHeZ|zbhLnfw3=!_R|9kH;(=n*X$yiKJCJF{6c3jf#cry3fP#}R{rD=}kEcoL zDc1mig6%jnPv@rE2hQgwww9`jR1#5HA88MysdtfhjkxBo%=Ll>Mzp~GSQ z!VcT+`he-Sp!%dtj8LiiU&W0A$uniLY9L`RalN?u=fM(a+6!_2u%mIdJB+PKS+s5$ z)(d~&bLb?Fndyagnqg#rVriLN zywDC-heYAx;>ecV5jqLVCh@6(vVuh{Mm zoDe&dt&{DkRIS8=IgRYB>B+zVa1ZxwqcjP|9a3G%O|e3>x$-N0(j#ff{Ln^}?$(v2 z_{I0cAjmY=lPCwB{bKuN)#lq|5`JoeJkk^J|H-1tqtg7N)dWX1Zbp^ye+8a47rOSddQ=6nx9L=F8S*Cky8y zM=jIGl!NMZZiC#gBXCf@uw6a2ogznNTc1zQEu4NEizJ!_ze$#<{x%end3y(Js@2~W}TxRj|r-bE0X6TDzFPa9~xVkyR5+dzVwTLQL4E= zM7CORTYC$u)8~CHGY|pOdb{oq1aDo&x*m1AGNQFx4n7Mfd@L!ko;||LGW>@lfb$w zgTy+NwtoU_q{ICb!sVKX2N^j77h#NQ;x@P6W6v`H`lP~|ie~M9T{Ur+SLe_8phffK zg%jk8tRt*k6Mhi>X|H1cY1MxC^NY6-Kk?P(26TbTU>5`NU5sYC$7Qa*sA07-bJZyw{P9zkr_L(M^v?NXv$IUzU(6Oavtf!e&u;41Z@x#=a;G?>S$C+9 z>)0c|c!r3&F7X+@WHS9WSUfvDz%K!#htm#|Sfh+B&Z&U8>OK8H#W?BZmM_mFG0sS3 z;y`8=3fJUqhCTh_cs@YD%Vci)j;^n>#2dwC)GUCxO!me2jwE(${T{1;B9T0cK(<+% zi=@c*!A)TzlJje{-vVm)@>RbVUr+bl4n`isV(yO*!R`IHbh%9o)9_d5EjCv!Wb7Od^|M8;VfAOF zG>#^N!O4mYo*YDVfCKl@&0hha;X6*U=qPi*apiGUJ=NnIDrj3p$=;OvQA9B>>X@?&SiuP& z!^92W;k9lVjws;vZBpbikm11~+e8iygw!1nb7Ek-*(<FCf5vC*pRZ5U7uToYSpggM>k0@xbAr$6WYC%z7rxQ~y51!Co746E`y zuEZxD9zZ2*?84r2yM|a`lCx589zi!O21Nb|rcLu@@wp1NHj+70n9XcKGAI610KS&jekHHbCP%h z2MW;TSERSabe0wqd3@tQxfJn%0f5SIYVAapEk#ZXaam z7ED9o7BNJtsDW4Tj6C z1&(Nx*W6Dg^SOy{7e)HnbkcYAHYlMz7S}g`>k_HxG_~+QP`G(&o>4(8ldAcKGkp{q z&+WSZgm?D0PYhA&+d;RigcJu@9B?=y-lym}AoGnZD68*m!#wJ7VA&navXjBSpWpsG zzw^UGYm?cP4>~ud5!uK}0{-6K4S?qy_FX69TzL%0cXGZHUM-+_dm{Dr&xRb1mP|3^ z#a|VHv7vo@+|p>Aw78Jjitf|a7LW(ye;DbXg>%8Ks1vHMInFITB3wQxp;=3lkta0MHH#)G zKD(6W$;a!Or**7yjwwr z_)&Le&TSw1iI0;Zc-#xB*rZ9a3S=&Iv`7adZ2- z3w?#Bk*-!zjuyBu=GZ=vQ7xu^qNwCVQjg-G{rKyjcIszx2E(6Z$V|RXX7+usuxWk? zd?DA5_#gK3M*&=3AL0EErP3Rq?Afe{j^Ci#O(WCKU9`?;IFuCi4f9;AuLRNau+rq^Bfxy$=ozC}?B0zlgIY3K0%B3$2=-Z9|idf2D zb~G)V=K5RUf^J&MO(MB;p@l5oT+~S8tD}41?(%tL|ENZIf8w_{Sn@w+sEl`v&_itpkmKrrw|^7^2Muk<3jPC1 z%d|ChO@%46NYMAy&z0OMP}Cj!>*%2}pviI93s>YOQq|Y?*~7=<&WpPlN647PJ((PY z!;=c%vE2Q+NwpyqueHydIT{$AhGQ zPvp=*GS-dVE2gb z7Ll?y5>#$Po{?{v+(;p*K2SvIcDf_h3jNInaq@LwA*}7v=lq(x}tN84rFNdrb$NIv_&jbNCG$A>0&lQa@Tx7~(miHIVD4Rrw zG(-FeZ0~`6*5Pm#9rY_``)&N$2Yv`ci3Og@Wa-K+otL3rhH2ko3W4uvN;^j)ej-#n zn064c=Sw}q7#tdQFgUZb$f9@I7h4sb0G-p=2Jd&4(9W;!bC0IIWzar1@GaBQO;p;b z`3wQ~mjJ4Rr8EDLjXEGrI$KdOp?7Qo8-L6(7suCSY#WmAyx-v+{n5pHh1byH(sy#@ zihd`VNkAMows2!jgowq`dP#b=v6gNp+<-RMB~`?!*5$K~`&<$o-#2oyh35q4V`GA6hx24#C}jV(Y^~u|2Qi zwFihlAA}xM8~ZxCqXYL;TWKSpKN-l=YUZVtCaXc-exm4~km_${M~*;*S?Plda5~Eb zW!Ydc?3-b0cDMu%^E=_`K7X4`l+3C39Z<76DO%;os&w^Jnm~%iok-P4C3s3tEpc#9 zBm8WDQg)v&#ra-egTAuLchqFqgiM%B%irPk(G#rCQx}jgeb|1*?QNd62;;d=SR8K& zq8nZRO0}oFCtMaF;jzJmOuTGg15HKM9wM|)9@&jo(vxBscEvAz+^Hc2KqO<9-L{~# zQK%L^J$gKGNLA<7^gwQ)uAtCU*VM1wYb2@Lve{2utvuPAh~j1L8}R`{7uyE>5DdFn z!{ut7+!0yKTV0HHgCcFt;Nk{dpZF(Y*&2Ggi0z5@f@!tMYbdH-<3ncjXW2N8-6mb_ zF#$Jsp#g{Zqwv56i9`_*$Fb{U=BuDu4uJ59a>-<|ydf8`XOr&+W~XM%QHrS2__pg0 zDdWZ8(LWTYW|x;tx3dE<{TS3?V&5@6Wmh7n=5}#&?7+9 za=xzt7=Sn3=~9^@D<%8(OXpW<_1*gRey_?Jy=g{5P`Y zv%P1Xwg0-^_b6KK6vvZE!dU5OxE|l=Cbl$U9lTJh6|P8=me(j{6iQXr(crb{m>vc_ zddJg*MG6eh4RUubgHXnpJaR|Ly`GXQYh|K7FqQheZYz-34e=Tp3g~Y~n{3{Bfbq)d z7;M^iY|UAq>`LUS_HFA5g&pXxvF;8uHm2(Xed4JjzQ`*EGhjB3*RHLA*pq#3I0>qq z?y~-qSJ}PFtu^lB94CQNXv}Gj>iDtu({RQ0En~}pp}v^xxmAlc_xs=x#S^`moag<6 zdDBGT)Nm9xa5uE7aN?AK0D>C`X-owTFQ_?Wn z-47D!Alf#&6Qtu1`R==YQEdoYyh$E~r@S8AhmJwHGiD^eO&W;lMIL*84e9qxv8?`~1G$70R zpPV;^(;(voZs)Jd?!gS8Oxl8s#&8_7<%(R`ANKJZ+3Jg#DHZJ#} z0?CX7lBuD^<(DR{ST4tx>&gXz!~Tkh@iL=ZNt51RO?i!|A9c+Jm3{p2>0i?E^Z_sy z*`>So0%iJzXs4}H==Zi+Q4PJ3Wg@n00GyBO%Vw`d*AXj+Qu#|JB@3JoH^Z1If{$5j za$hc*Km*$SfiYPOiKH>&x|r<7b;~U9KVxcF-?;+829+qUEeh!O8ZYjdu4h*&x$~Nee{EQz2^<9^3Ic9AbFdz= zk_ABqs|F*RXBHH_gpp+2_j6M$O#-6G2$YM&>Hl!}x3x?P&lQCB+#XvcL>jJV2hD!l zlp&7!>LBR&?ped?C#H54!|&vycu7h#L5NGk-OCY3+u_P}%$3R*Ce)^_jTZ@q>IM+Z z;-6VrEZ;J34&Sjohf1|MYAXZtbW2OqB+~&BEJL|Li~M`mwq{t)pxS4psu7HM5XCuW z!C!bI#neQP3XhxBV+6EyBs6>gett{n?2F<}x3!84@6O2${1k!xNo~xeY&QbdCb>`I zE1Vt-i9AyR+xsMOOH)yZVuiPURG(25ZHtp9Pf-QN=4RU%UbF>Jq>S>bX4%5%l?uk6 z+?=O7KZqFO%2^w1EE`2^tYvQlkngyJ8Aaf6DYxw4&S9yqN($mi+yh?gm5$?CVE|0HLMX}``o5=b2kl1LC zHh8&5%kX!gQu~}|G5mZ*bs}T&lu_%=p4}t|E|6IJhoL59A&Bqosa@+oDJ`AJ86aD( z%klwL&`lV<{t$S|Y{R_;7nCj8?}WA%HMlj%8)T(;r$2m!T3r3TzY@=y8C^@*D~qsa z0#zXMTA_DPJJ=5DJa-}6M^&PE+8E?q8uIV|_3?CQ;iYN#HZf%-Y!}(vmhUh)2xnZp zxFf?UF=QdGgRaQU`NKPX{86M3x3u|*swHfQo3ckKPjX1uzeTNV8v^{)&osG%02++U zU5=hCL==9B^=9K84101!P0d+SS&p-aByBnZs>eR zo)~~T3_hl{%La4Gsq#M&wd(RZ*k#{~3*To+zde;%0X|@8)%dq{qRO0T`#J45Y4~fJ z6&KD5$M>t2I*dT1%@+@X9*LnwM^s!?B#30T!_E3|HK*+z1EW4ribKNU*v@s@|BL;g zNJ@X(prp`C&M0U8(_(_=$C~xI4e<|lhEW-H zIDDYx(W!OpNBfqnJw2=`7@_%bO=1@1WuW-SqIL1{8WR4qj?3T8eK1gk{I%1Z^&M0v zvD_=9LMYG<1IzX0YEP@svh>eh);E49#_NtGm&w4OQ_fg(@L0DqQv02cuc?m0>HL*D zRpCDuINR8;X7^MQ_sN>bBgt>!8LY~%^`3+HMF>XyF*P)5r} z>WIvg`l^D5{UzGKW9?3UxTMxKRBO>=8Ec^(p!?VAxkl2TQ~p z6%3vSXzC!Hu=;&;RVy0DmCVmoZh%f0O7OF`vUWZG^Czw*`X}z*AskLUOc`6W-h+^Si7Zn4HCDq^P2cDr99(krl{gn* zjZMWr>3N=p93(mC!xX?16~vddd5bEypl+#8V4dKC+Sp2&Rji&*}|){atI>3O!rl_ObvnJzFlXH+I*Vpu2*vr!oL zow0*0g3%{(_E`LPj4{71T!Lxqk*J5cw~vW@w_Vlf^4SDR9Of8^JlRJ2<35>+K3xbi zku-_6L8vIkx&Mi#z48z)H}q^LEfw+2vz75e25g4gP;ocrt{7xhv{Nuywcv>UNOn3AJ{81;(VSJkXaPN`TQLwN# z_#Ib2KD#JDc~)fMie9O>T8S&Pz{W-C7;o7nAwllo*-YW@pat|np@fg)7gf!kxa2pwO|3a-~l+e*c;&zrDJ7PbPTFat0pYJ^diajWjy zd#B;kAQPr-vNxblvT5s2ICl$&%)RSUt##*~c7No;bf}jEvP*O!64}z+U*4@PoTI;IN8Ql4CI{N) zi!T%6_AYGKo-}-bXYCj}96s!6rcH_-PhPly8lI*k^$z9iXDL$lq5X#|#9~ez)vjr) zYh`6rJBq!<&2|g+o6nbn2d7|ulE5z4%dg#44X2+ZVbnkm`1N&Y(DQ^MYbT@a!MQ88 zp`}iTLhWq`>jD=X-01W^K!1wn>dy&(vc2jjjtsZ0+TNXBQlE(Ij>{d-s@X>%-j561 z_+&l2qbfbNCYARbKjG89K#|?;rp;@V&`c`(`_H2JDP|>!`y3mgv<7G=9>w9liBUSJ zvV0bL1@wYjt94jl~3Ao$uW;|mbdU!J5|a5MQFohy_k zL389>8)w_+76F}}KVnDU#FTpFfw8&wh!hFU8Id37@(q>K<0CDLCJt_#zIJ=Tm#mhZ zlM>#B{!N~on!$9$mEt9bx}GR8N@|Njb&nErcbT(&{gDCPFloD8*5(~x>H*Tq!D2TU zMk%rY8Qi`kbCqG&cVU+>+99-~$BLt%K{xnXh1>e0F;f&<3j&%uvx)%-7qn`^IpOT- zc_sdvn+Bf9`kJz8(gMYf{w2V~H`GbNG-}k5&wo<&xHeOK7RewUj8oZJdvCTL+ytG? zWAs=MF!jx6{C%7ACL*~qk=ef1(>11ks$us*OWds*JRn9LBN^}7np$g-sln_E^#7+7 zWkQDdG9T+GL3o%p9)E|_uXU)B;?7*<;e*8m!eDR4hO-l+%w;yI$4RvVcE#ubyd=eI zDoB^8y}2El`rN2|KcPj6t@j@LN)MQ)Ssgkd%QK8+B?JoD_(7w=f>gEmgcyzQWtvptwqy)nkElTTX{Tt<__LtK zW8_Eqftnf+soKbQc*Ra6uv|fo_7}*+^BTg1l8`0T`NVQx$e8OapQ5FGt(*(Eoa$lG3}7x zXTtZx#H#S$L#5f6o$v6P?9Krl5`@QO3=9UtcOYf2_G5$K1V?E%l3m;?@}uoX`hfqk zjlc_%0o!-?qj*~LBPL{-b#&s&rB56$RHSN_^rI{|Ab@3?aGeYjA6-CQGmSQrMCSS= zL1T8)MMZ0c6u6B~@}q%?0rBex;QVuq6CsBR!Nmn+roS7|21elG8Upe<8(UQ*7ovJIq);Sb7P;Rl^a`jc{~Se% zV=(jL*yc(;KK|uWJw?Z45_j~tLm!8PNegBS$ZV7MzvSu)U4sVWF(f{-!D>i znMHLn?y;NUZH3i)YLi1*g0 z9sf{&2>~Q6Zkw}~ zOf|2nlX%+Z2SUVxgTMn?mEjM4wY_TsUN8US-ETzI=sP*k6PzNtnPp5Rr6g;TCMQIz z-QC7?$vK3dIqPc6m{JYbKT5MxFIUC8xF9#UQvhRy*YUWGKZgpNA=+MQH=<@e4Sh zX!_{o*pW1f|0o=U)47to3e)9`?;>wOQ%c)J?eH$FF_I@cPAObX0xs`xn#lce=vpch zQw=YBGwD@ZXNpF^%niwXpr3u%YVg?AuNyz*qLKYl^{Sz?dqJ$leU?njNiwmvM&N+b zDL4S%36xOI0%NMXL8&Z0qKz{`n>y|-#>7A_ zOxXtvP@Lkis>Bu32SL;X*809fYPtBhqBvkKV$J#q{okG13T$BmJ4bDO!n_|+^&lD@ zEF*WE+vN4*E18DuUx4WvPd~@^Ka{~wjKvNwWrFToO?b7?;>1V}Y}^QtVuT?Sc$_zWdNx%OKf>j?zf=CzaZ1Gv|20Hl_&= zC`?{d27yyi`yVBS!s(N;Q@-%$+)lu&>oA}TIQQ5I9vW^N1@{HTi1H#nt}&gupn})| z`-!8yUMC3|5q{fSNQ?b>SUWefGmc>r0YV+1M)j?}td?epm9#w6^G=|EXnEOxfN7J|@ zAA_x$`fP6B$Y$&rgF#X<63qd=%l9`2NAar^{6D_l1W9rn*0SADxJ;a>{co&rAX2<^ zSJpTC-TmriW*{UA#Bc|XW%i-XM;an!m%syv&|LvVDX+5zS2caEM?272HJPFVlNZ{V zIdy!M>-0G08742I$F+$BGoD!!Yis(d5Qv(?LYC?a9GG7nr z4(MeOm`Z{kvGT2tuFs}?0=Q&zVt4Jk-FAb zQ>nx^V{)d5>R4EbdVN6l)pT6%*8d*mjv$H--|;S zdb(%WjO|1ua@`uY(&Vi2U1s@u_E5i(Omsvi6O--cd$qdQr-kb~_i8iB=02Uy$&fCo zFr&T%(rvjZ>W5H#*zt;rzQdU>%Ca#nq4qwlID-5czT?R*C0v0f{X425Y-MN1YN}8-|C7p!MC_#?)*a%ehGwY!bGRp2?X|K_z1+v^DT`}%RKP11 z;|^lA!=Xm?G zuwkJ!tREa%KyQ9X>}{`g^Ez$>2#0hOTn0*0LGW5oNA?Fc2C&3~^z*aAqU3bHDDm`Q zVpl~C!du?w;wh}^m+iePbEe%#Byqj0XP1+^z`uM&9?FENbj!g^S)mf@ti_(i8j(fj zQg(P(_QXx@*mUUvUhzRIp^uY`Pm!FWt_Lqw>hvrA32VHu%l&=3V{A5bVA;wPN(SzQrmWo6tdcVvb&+=Uwt!gq7CU}*rkW=(hau-E+qUvyEx zijz8Ct8O&+VX!H)<_Z5VRHUxr0G{nmoFIk2I3&`rKqq8#1%uv@5>?@Kw zG-4~d&z%-6s1<1`v<{kyE4m$X--14U+GJ0F)7ueMXS2&ey1E@Hj++Uq_xp`%o@39% z@M@PaB2$hgnCa>m5@9CT56e%rRoz{6J*|2P6T0i$JlB3O9;s-GmLzVj-+Vy zqV%frM5H{xmkN5K!Cq7FUfr*0ZYV*bE&%j*G+{>5@h*VKHYFu}DkhbIH;{t8f|s{g zT#V9J$-|m+t&=l6Cmm*d2Qk;vm(PiD3lbPe!Sv)5HR9;(+ciz_r+6tqHDmz(m)ME3 zP$^iasQemiC;Q>{YKLFQcU)tf-p=zr!d;F9$nCyVVk%rY9ox0LCR)1)JM(!Hgli{y zN|LS%Kc}!aE^fuNU0$<$9gb z-oexnj3r~7MB66G(7Z+wy~Nx7Me9tYhXh{@gHtbWt3p^3E~7F~r#h_s4rnZ^ac1z3 zMjb);cs9OKK|@xsPS7r&JK4+R@MTMKGS_;v%mR<NbEbWL(;L~%NW@MjbrQ`y|RCb+pew2 zZDlLB8P=gYwP@US$EdR+NAMr@F>$nW#?k1h`K4AH=Dc#dHkNTAPEM*{lb|c7D!YYB zy}#O^j-td`qd4@bz9&MW2{Yj^q2Sl*i`3izJtmPV^$JxxPZwocFo%rN^SbpRIGj2` z&d`~9t*;wt4`+T+7sGgFQO~B*ry)-tanc{1DwEhz)1863K(Adv59N$uT5_og-9fWQ zwrWIj)K5Gk=Y$g=F_Ok1D{ zb_<)`u$5x2X0vo83ca|nonvwM`#gFH*sS_3eTOrn$(#Xuis4-5nwdi&yWBtn8aIh0 zD7@66ODXN*(R3XQM{uh4cSYv**8afJX7m0=A#+qZ5U4C)fRkI|&GV+T;YOl%t23L~@ zWm(E|Owo^5>ESz`agm39v*8smfs6~;f9*@7D?qQUqC+ZHe&xR%qSj^IGb6v>j@CXWvacmOGJ~U_JRhfHQcCt9H5N4oHEs~P0>ROqBZsgGEiCc~@{&RM(BUy2}1fkNem_E&E zq+3nsG6}X;6W*0((%&t^#bXErdXG2pH?fz7@~>9nOq~Dw(09 zAe}k+hbZ+9XtVT6E-flOc>~a<()D&vUaHd3@j-i+H@Tx3DKJ@n;X!Uxp~OOP8$4z1 z04Y_HyB?hqQ3Xq|SSn0`1;1C3)lkJ6jR#cV@X@kV#W>{DUBAl|2%Ic~JyNO@%uxjo zBnnl{cY!JNDIRY4U+yFG?|4S`gVfi#{_3?UbvTG1$dAORr&}Ol>=gbkw~dQ}@VBg6 z$lL-4vP0w+scX{oaV}fc$^1`f<3fec=icI7E!gh21{xb~UT zn%Lcpf0<%^2QkFV8hpNV?%*D)E$rzEx|>IXl=(s*gOHOO+X`hUkxNwnVj$ya$sp!i z-$9II42$oA9BPkleN(h@g2u`?zMQIThCap>#rYkbfei%RagA8?ORJsE;~z}RJDwSk zWo4k4@?t7Zg*)nwHQPdBIoZQ5?uCC$>}s1-*%S0VI8YG$PVJB?T0zYK(z*UXiP$YaCXP*NggT~Esw zd1jf~UzM9Zj+qd%CuJm8CEFDs*H8cFqvIsA6&EYo`?*BH2=xH#HwLcXvo?oXMD`#%^;J+O?|sGB_9vi`1)=IC&|+1X zIBl0YF3hdem8a5IT+&uCD_|$G5F{L)D!Yh+UaF|jJ@ND#wvlH%%q{@C=LL63XjIyL zy0S`z|JelY=mm!2D_cjmcrmdNmV`3;KsS?Tq34u+$5UoJq-In`Pho^4tSU-b)pv1a zZ*}IXt}-B8`&IOsgivn zxRt`XX;&E7mJTnqKi^X7%PHV0bbe*e7vX6Dopx`=od8k zG(RpIA@;NYhG1E&8ull&k(P@KUr?f~eG!m6)eXVBMrGryb)lwM(|Kk%tATKU__ibs z-eLZrhejyF-mbyafqbwG)y=?VY@Sa_sgR5Qj-)?=zGE!n` zP&dmqlB8>bn75Gd?3QH3ks4-N+DfDL-Bra7)?<^Zx^M_e{WWeI@eG~sRuFirh*`@T z&VE#JFW+ZmK}i9eaIJM9T`_KcGPKuaP4>C?WAGCCa;m+hZ-M0eN=(ea=7VxAIcl3C z{PE!I>QlVO1AI`$kljWtmh2az9N*@!8X|y|sMMYnbK<2i z=nI%tFjn4++{XmgV1}&B(H|MK`)%hcSXX-fTO3qi312swrHccH|#;)QLYX ztgbECFfHt=!iC+t062f*8og?D{iv|3o&l;lvn)eVAJ}RTbmgb)6aJv3E%8gcSMp|E zoq68p3nyX3lIKJ6iE}!hm70TR)`pvf*O3-ogbs1}v9Z5eGos-BTT50yIUK$Jl+YuD ziEx6&hfVj=*-6ayiZ}%o?0yuF3O4*yd7$dxz8gyfVN-3k9GUvPDVafx6j&```mD*C zG!f!s>!xZ{(f!4x4x@+1&1w~Q?c`^UV10La4X`dqLB&izd4JaCtXz3 zkHY@iWeuZaxYju3gJ&b#IYH`wI3s`}Wurn!hdM%kd{?g8YhSTV;Jr1amRSH-V3s=9 zSH7kd?-lE0>IQ^am|mh1>*XnnUvg0_kqX!o`B^DVzs)$uN%X-=_hw?qw? z;PF31Uwh8#P-=eCcXmO#{Nph?;u!v?R)PN6L+iUHY^E1bh75NzMgijXlF0)iVirKH zX(jb>Wwj+BfF2I=X)oB^8PmAD@Dscd<)@5DNuJO#`;m|V^k4h-vDbCDu6{1+H$``S;BO%lB;2^n1iLajYW4UglP=j>}0T7J)jV* ziz=f_YYoi$up?mZydZFa0rZZ3N65D;?)lSvGS@}0t3($Lev?4G1B>T;N=WG=cE4eP zK8)q9DtNe!lqIg2+hsg}qcfUY&uIQ*9YWvqHa_*XU|4&IPYGT=mS1`A5!%qbvGx`g z1xreq+-08*iNZ2v)~2UcprEKeQ)U=7whfziVy19yZ^nxwk^%c}@cWRYv_@miJDOFe z*S@VecaB6wq(Uz#OVoG}tuN0~_35I>4;mD-NxXiA?(bFGe61xgThY-Zh=JIGohwt=d zjMrgdR~=EgBbj=7yJfi|H|=xGc|%uxhc&w}90e0?`K42#Pv&&k#UOOnj~fnH)45oO zw3gHy;;U&bSl_K-8_2BH7<~$IT1}eIpU}of*BzJ}cEKjQB@e-)C!9GqJv-OpQj;$` z7Vt+(b<_WJz6Wk?`?9|s_s-|%J5a#NQoP-e^GrFquJ5))h`%3wjv#Wz7HnasGLxt%<0>l*k{~fV3+UCi zRdi9+wBS3Gxi{<`axY+x2YcaKvFd{3n$bZA5tU`VJ;62`Yv$TWm-Ph=`vk;#Qrz5y zv7E9)K(};L34Q{rGYJ6fU@%ogN#sLqAFyhg8IgrHb;~BO&oy~$bG!`Te`bOYG=^h0 zjc|Y6UuyOUYTR?ziLwI=TRC(&`5yQo2r)gf|7l$}EDrF566wI^h1)2k>Gkgar~lhc zv@(9;7$adAff+`m2;3xAl53Yz2}>o$VcV`4+~2H<^v#X1TeD$Ot_Z$=M>5F#?Q)1+ z7W`78$rNjNL=%toH0)~h72cW_+5g{;D6PE%q6Few(Uv16|E!!xFcWonF`Z^&%WePA zirn^5XJqcRZm&tu8Oc8{d;ibSDq^H#)ywP_d~0&KHK*oQpU}Jj)n{b$jQaxJOICELPd zgCCGJj$Ad<0YP5NJBQne%A)<;uvtfRwEbUX*he^%bau7dSD*&5%t&;m+Bj!WBUJ<; z6J^DfMKBVP4H*h_rhEcxg44`f2|wZoBcPF}FS;)TneaKVCg^VGd4K#iVJQM~KY;+3 zpK)`wDK2ja170piAp={A9t8@k6zAWbGUfR=C&&K9St|73@W!q07K8mBJBHOBGPJxH z_$*67E2HD)Xv|UH&=nt-w(fFUe`tFTX?3il47-=ncVJ@`)A1O*{ouq2$-aWfzG5W> zA7CvB;?osqo*5kFT~eY0B6ORIa;jd;%UI((ph4&ErzdY<;Pd-p8LP=iJr{o zN6}ywO2@`_+RC3mV(C-rI(A)6u_B` z0T!Q*bGU0!CsvA)7s2)s*E!D*Ua+TcbJj=3;>Fc&l!*cTc$- zhJ77}CRsyPfFW z*Zl6G*t#^)Ic>hUA3N*V5Tr?1;4lJ(UvPVu;Pm{YD(~R!S!{_tz)xf|58&VpG(h!( zKM~8@yy+$8%SWR{Y$eXSC7ZMCn%su?`NXc^GWqwxZfuEUVEz@4J^wqNUR%&y?EMnZ^@9l1!g z>sybtM5>A3d9-M(Ohgs+KG}jp>ZK=DvHgi;yf7zdF!X-Hh<+Cek*|Nr6()y%Jl6^G zbRwYH9Y`%$S?KL{mfmLS9?2+5tXBp&UmPW5$IiNzr{i9(aw!t5#Cn;kG%bxsP z%AZ=@U=ULC}D-wdA1pw~3X<(dIFx z`aRt{DK7#vWG7}clMjM8L#6sg;`Yqbpd>8K|NEbb?s+sb6}Aj?Xgx|7GXQv@i!#-B zaD5)=i-jN$Q`}%9r*o4dC)c^&q_@Ut04$f*IDlZD8(30Nfo%iR$8NHY77JVO`2{7GjcLiL)LGih;-eK@@r6384hkt zM1<&imaRIR0!1@-hMEa>F+7nqe@N-@Xzq7wJNZ|`(q8=PU$ReaNOEto$|OkgeA z*Vf(sHE6q8b)7%H<~Gs+hXlNC-;11HUzLwQ@Nb_aZyIp)bEJoC{p2GBiC8BgB@Q-%T*SYCHYNSfN{i{xq zqXn$}dTS6%oiB~58jfKW38z!Xj2W$}ZE)S0BR<-{OgKeHxBHJ+8=)GgLthII4`gU! z-1Ca+Frl_8+`#lt>G&VEvvypTE}4tVcDyEK?ZRZw9`L1@xlT#7=^^?BR|F9B6WnNo z;3U?>2-^Q8Y!9rXT6LW@fn;0N9WRK1NFm)EXHWzHbvn@J$?i-9nFy30xc3NVsCQbP zMOfk5t7*4BuqIa!joGDC)>I++b+P4k*ZEiTi4^_MsNipP{{Q>_)8m@i8&YBh;kup+ z3k4MSPnC$IxakB^f{ z8WN!qGWv91D9l7elC{soz%;y4Q=A$rMXDj8o$7$>Z0G_BBABY>thBq zl49}+Gm13gc*N>JEX=$vy`6WT+qJv@Fy_!zI0GLS=~)9~cbTlh!vA1(dBiuT!4X)S z-yGQ*(~2PEk&pW!>fo*d?#p1~ngxnC z7&EOzJf^Bb(i~S<81Aj*A1<|7ur-lj)PO1BF&vdU81b9f8g_|`0x->q14Ko*BS46Pw= zB$Nofv)SkMv>P8Vp7wz$eZ^&KM1_Dc4~^ZTgMEco&KVjxo4>6k*C)Bhjv#qHx2Vh9 zFLJA`Ki#am-2iuXs$J=Bt9xLrIwPcbmcR=DR z&_rVo3SV^L`?3h$44tBj56OxDj%$uXU@x+r6&*3sc9s2(!|yk|uj4(%pQ=Lv7Rd_M z%yyn0iVUUE+m_EG8R{Ax_9CC9y>D>@rYp)-?MN~`vus)MK~h3S^EJlWIwJBSs#bUv zmb}XN?{MZcE&J+(osTLV7FYJokGCGDn;rcoS{tG4C2-!hwDA*Am%YlJnJ8az&M;vs};#z(D;?w$A z!=hN5TeWh!w6X=Er1^y2UKVl?q-@oh^2=HZbhurcfgMYlW4p`|n^K?BuZYIchRv9- zQy`|Pxrx_P##(*oTK+4O`?;0lX28;nz@VM3ZJTByLO+Hd$InO%`bSVlwO+ zqT2wE40h<~gI&6aE`G9a8f4E0(&2bp6Wu|LQ(e5wjt>8SJ_#fOgh2UmbtARfuwn$g zQ1LslVg%_gS?IvG!h2wzaZs{{{Nmpc4L*wfRBJ%6;lKEDoWTDx+aMx6{LDh8?-W@$T znLXJRj^(%N7I2Jy)!AnpGZ42{311l->%iqO%%grufswz6v}V$o@dqDY6-pEf8vfEh>VGcC4A`k7*;b%_BWU2)<+Km4xPj z4D@BM=buGjr%aT{1BwAzM|$=xwf!vt7(c|piNzxIt++zrI=AVE2d3=k&G)yFmWMUi z1syV@58;%2;6^+J7Iikd;pe8w=(XJvGPW8>#M}#_$6ZRn?`Y(Fa9*gr>`pRh}lBsg00T}o3o4^-{s4|neI$c~RXm}FS>*q78UQEU6y;bv6&W|c4^ zn|hU3FndLv#omfE5L<7G)v_TR_tpx%rfM_5C;(q8nR z*AI42PcZ{LnB6fpNhuV#_xCE};=go}UA2~k$=K5qL>7lSr3}TP=xVL}71wxJ&Fk&5 z5y}#z{PUE%)lr|TwG5ZYOmw7Cvw*0AqZd{^>Ye24;@IPuz%_geA*0p2#))3<3Vb!* zh0Br-Cqb)`T1jme9c&D_p9`AxpZ1yGu?$6ZtLL0z<(59eIss2qF17dgShaP5#22X* z`REZe1 zGq4T16U*q@SyEf=ZFF}z5dfihL$ve7H);enC)`jVT?BiSL_XYpzKDuUqF4ag!M1xY zFR|l}d|2K($y-uo`5D%mne@`sT3gur&~WQ+XvlDNP1m}N~9~bLa@12jE z4=MTz>J^~OA~U=ODDu77y~7%JZu8vDFDV%|A(_7Ir#}UqWFhPpCUA1Fle6WvybV%P z#JfJ->*Mo9JMoU`8mvq^cYp4zE`#2{^6kmB00lV+t6YiIvd&D0$vL7+dd1~*^P<#; z%s5jizTc4yL5kkJ<}Tt=mXL*PNr^K^pb5aa7B4{7wbyB3o{UJc#-8r+{l-zJzbIzU zP{!N{Z$rk-O-(^!z703mkTKKxs|3BZdwDGuOQbpwPrbqvKwO{g`_5`N`W?WIctoGEOVx`I7}7~yd9`=WU+ z7U1LRItb-m?5G=}S~8R`NG#v)Sr!i(6$NV~3u+Z(>?=f(noLB4Tth`-I7vwrJ48b`Ux!=o=liC%3G9A)uU;&Vq!Lu8V2-z#Fd>DvS8C$!~mx zW?_ubJdf`dN>&V2x1Se=r9&c{z@k6Sxm!D==Duwrkuc_hB1!vUrF*=L-tG6rm2yPn zGO%3r*V+o(Nodage=_0)P|8Zrd7%5fN7qd=69wFjMg0$2Xx_9@GCN=?1 zq#FS)SXS?@v#~5b@~t5-SJuTP3zwn*;KgU2z)BK$#VW|b4ZJBtco=itZgp#P$yhb1 zV4%#)6ZsL?WL?b2{lVBzT>VdR_|fy(H}~^VZ)S)eB2)hz(d_+UL*AH5C1BymWqsQk zQ#cF+dnGyji5{&B8ZR~1-dWplclZ^hemm4;xi>e08P@##J#*u?qf`S_a*s{?w_L8Z zBhwhy3SSl^cB<1?U1jwHygs>zx`PJA1>-BMFc>w~P5pT#hvw>FE87`8nIp-xui>0! zPif+FI#)E=T_nT<`y#(VzeWkIKqjy?Y(MOMA}H0zt1VoCr}p|3+C=v zdXZ^i{QJ~!&9_ieHbY-N%A3f?9ZVb1B$qcR`y7KE$aW5*Gyi45?fx7)t|YPXuR6Z^ zR6gLDQyt|YRi=bg&<^hNeUY~5xatOEL8n{i*M;54hAPjnix>T%McndM{m;Og3wE9N z2J`fHh3nB=Ga6scb`Fc(M1ueY0T%x@u^tDMheYE!i?%=K%t{G|vmgRV^S45L&P~je z{*4T@-3x2M_#N1Qk<$RUJ>X_h;C>#9pkY->5+mCRvsQKN?0=KgDT{h2h?`Ys&VRm& zWZt1%BbJ5?b$;{&T@sMrVp-bQ_igu=Yz!k8+9~>`K=dGrK2@T<;4Zg?7Yu;nn`>Z2+KZifo2uYOhb7n%AADhNDlWJbR95WL#kxVjnfF%<;-jxEiv z{~Cu|0kRj~0~~lbDtInNg(^FbZY<62Ta+lb* zDOOpQDZ;TMP%>H}1BhCE4E@X)5lTJM>lVjDYBMCy+)YUYxbp0ZRE3S70;)1Asm-LI z;aE{bhY++BzEq3l$=6_CZFo^O_mIZ2(!OJUS=Q`U2MiJ4>(4#-W_cfRv#54jS5*>P z28A!gNT+1;-A^5mzhTiJZG$5y>?u!bQU8hRno)VtUALkigU$_2TREhX?$D6j7`NS7 zRN`(K8CtDM*gXX#=l(=9KmP`-psI(Wwcx&n7xSp(c#a4A%b4B%r#1Gwfp#LXY=`J# zhxDA}j3S2m)b9b=UrZyQ&T;f5>-vg6)&ww>O52bc&~udK#0NsnF*h21yr3U+-64|D z4xPV#T!KPpSl^MwnU9<)Sp{Wjr4jNJ!l!2|r~8JF+xF_4{kTu6qDGy3;|TOc{k4=S z)a6CO2_k9qC3?qvI(p)qA6?WK^JVL z%39`qN0nz(BX4igk>KvDipBs(I+k17ec%NU+kHyk*I?YDiauc4AQ4MQzqyZh}~YWU^wH;aG*nrw+xL&qw28K z(>?+DnPmTOK`ybk7Nt(yTL6JPV~PT_Vd-;mvacV10nB^e)T2D2Vf}YGSCUb*Ol-WJ zQ9C<3+9a)~t#!TWO+$zJ1 zV8Gy9)QZpN6WB?luc;2rQADAoqqt%9GAnW@%1=erNp^s)POsTvzCz$R(ahs%t}SQ{}UZ`m$tQj0pcdqOt+YnARCJn z9j8LVM^TBmSVo68r?}cA!?lX6Ue8|-4-@!WC)vh*V)q>knq0?)J9cEEC5P% zcr0*R+p;ipMie-3d)+&wh2MNKut!4+4qu*=jkdCqJm>b z^LQ<3?^s4_3tiG)`sT;V&izCwY<0>Et|R8Jg2qP4;aE3(1~#a)b)X#FkRoQ|GUhLP zB@b!rO)qGY+_hTzFsIT~Ay10{sI^k; z*|vVpg@AO^@F`46>)M_)*RXlEcc1$reIrbJP;~}H_U^6#Jt2q1J)@U6wnHPk^y3Jm z#mx-Zj(AANR%v5xEmWhAmFN5HR3joIj}I@CxogeaHAjzCMdFv-4z@-e1Pi7f3;5-J zFzqS}QW)Ky!5;G*&UI&3U}YCy*QOrUAmUz7Cs82~r9o(hYO=zYr7N6#bJ!Ok5I5x2 z@w3D^51AqGw2pVV&pVXyrDbg5+~r~&8br12bvK#WB~)m)jZ2@oc`vkiG9uOyg_I z99>);ci6hmW}II&4i^U;PK+LKOld9eZE%?YE*BF?!KWj$Zx?oz?woSBmxVd#-vQ1? zHpboJ*>yR&Ncc~+05@LsaAh|b1-j8sx2q7;t4qDEVIAW6$NLz-W0~77(=>fX6m)6Riqlovz}qc%xMO zMb8@wSKX8qu;&IZPHcKR6a8z<7P$Z*)3^G@#lIt*A%@!ncr$SBE)uJDA6RZYzD9PJ zsCd6y*DNF)0CYf$zlQcrHq8KjkN1zCKnAkZt|IK^fHn&*HZWGg7j#_%$>sKhUQ1Tk zz+A4UEwUlatW9r2ATjhdAG z%q2ltznvuUTysuZ?w{`}Li0zVH+bwOtCpEBChh`E#EY2BB_!yNC$P5HdyW5e zso|764ARFhLDlc@W*_JLNzUscjoZ&XaRN~GjZYj@irxK^)=H(Z`4uT*VEN+7)+_R9 z?=`MRGhbeVPDeg2!WX3!@7RhwFDqhsu|e1IXsDZTQFpSgkoz2pw}hOsD=C#XAJ_(( zb3UN%$CX=cot_BCVDpQzd%s@CI^Zz#SCP^&Q`UYBJl!D^@yadqormr)=Ep{wMp|xz z-8x}Sr{v|HTFd3(%6r00vaSuik02U=7jlu(;x>l_ygRgbP_xagEG6O0M3oM*rUZ0y z)jr5VwYp_nd7<2aWz;3&7*<=tN7dCX3yGrCua8^1rB|C#k8ai@P$`|CE%MI3LWgUd* z5SXxiod60HkXM{d*;n(QgAb}+_Yxjbp06*tO?lKkqLZ=hDJ3as*`C-R5uLK?0@9Md ztR78EHPy~qTUhu{1qH1;g71Ll#|DYAFq2f&#?1w4dv)WygrFJ{@hOiNSB!KVl zyNW7ozSicWYGA>3QQbfRTTyLWTY3JBD0nlLqbL!r3;W-d9R+Wto=?x`FNw^@I+ouN z^?A(u&_$K0M5MLr+mQP%V5JJRx{2@T$(w;e#^y$VwD^`se?pR#8hhj;}vS%$SZsRX}h+*BI~n?QHc$Z{SbIiYX{zw*WYiQfCn>JLKeVZa9Ovr+Aa?ezSc3EM5zk@|^f z=A}N&oYm?)oi|f-N$wQb%|V(GgmGZkt}nx>)uMG|=bSX5Rb!8?|3`#YXl!F5u1cK0cnp?zF` z8=BMl6``P!HkT4W;Qk1)i|zvC?6BE8vc-pn-em1^%Z^{^P3O&{8-{y!0IA$u+gJpq2!NKlPr{z?w=NXBdHmb&5gZ2Lg8*Sq`iz{=(ge(grjcS ztY5@YV_{o?#vSr+Fr!}=)u-Moq3ccV#UmQZlNYo~w=CbTa0iJ!MGhN=jrj_tjfttc zB-9&gJ$}AjSfBw`>4MR8cvn@yqjjXDUYv^;j<0#1FGRPJI=P%`6J3hHR;sDW=*_5> zEFHZ|RRzNc{K*dItD2ezHs>b2qMBguNw&GZ5Eq(k2|*jla@L(6RGX`wtnVlUm=@CP zHLQfrS0lhXnt6~KmcouRf8^R>4Idf1)I1p0$Pks?3;E;2V~g8#x_vR2i=waz zyy&$=@sNg4@Wpz}s>$n6GFgPgC5vn;CGBI9c_t)vgq_rT3}HCQtDVnZTwj^xN{)*e@6%`ij15?zgYcYKYTCYj(;W>*E@y;+6TiumBfp!4Dip#UOu2 zHPo=|&YEA(^9#9Ilihf$@^_8X(3Hs*!(9?Aa#F(XOVGG9|6g?L6y42ibvQp!jVy2l zAl#K}eO)RMrqC**bIVTEf9_P@V=LjQV#!_P#<70@!_8+U)wq&mE&CnLyyV8a}}f|5o44Gjuu%L!kCR9Vp7 z+)RN3j$+rwGsk~DZofDT{8JUD(DFN)7}|f}GbjtoB1i8cysUXWs)_KpiktrB4U3OJ zONU&xDrzT4$8GG*dSjbjd~WIPRl7GZbTa&5E5wQU_rsd>g{$I^hVIL%I6`sRcBLfx z(qtKOqs6XYWWhB@nsMuS7$-b8c5Uu)@$z`)>_{0@d4tMFs@zsbE?J;Z+PADb`_?S@rA(L^nldBS?zR*BcSyI15vEAw?Q;FtAT|6&v(j?`NhMS-Mv>_KN`^=y z*4)hBqJ7CCpc}oD6M}MJ5pDl)crWV8g>dEwk7Rz!e@>EcbEhlmno4Dl(WN}$-c`f& z(?xMrs|_1%o%=(cp-1m;XeN*7-acDIp2-6scVXbWH-s)+Fge@Z6mCmTofc;2I4wRa zdAx4b80Ewv6s+%{?oBjD#{s};)4{j<;ZpR`#}X0Jh0jIo+SH76mvB}_{!ILN7>DjW zEUqI^rR(4M3F;a_)juc?{Dd_T2I*d`WDqaF6L7amz`=rCO<`u{oJA$+auuQVPx9=x z;l_7B*ZlmN4?lspcNKc_1>H6-Vpqu5_>4$hH5)8t-&|4b3fLUQeG8h!pNan&CO{l` zrwypn=OORDkO{}iR!9JLB{CN5`0@^7q977;^#(kwiggeL8GE@U`v;BnSaYo{7E7Gx zd{ADQgN>5~BG|X0+xFap+qtf)m_lX$HY;FVoz`7&`bEhfSJj=L^&M0gnF_k4Yd4=d zVa=H&E-2%Cv*nk5QNm5n3fpxZ6%boCnBx;6VJG3LI8jY8HK61_;x`i zt5qZm5pg@!79hI(S`)e0j0}8Pyp~RbpBG@|o~W(jMT4>`B#lqbfo49qI@RzP^nTS= z*31NBb@Mnd!fl_F{v42h5T6P2H1j+Rh$NRz1Ie|qM;hET6(R0luMeum7= z0}B5_QBAjopKNz|JcpS0X1M+5+q%w!x~Vf3RC8Ff6N`krm`iG1a)-`qx+WwM=as3 zD;O7)#vWIn(#vXAM>oiY4P?%ao^?iZ-b3J1KVf=tfsVO71$(6&96#uwgpn_r>* zwv-U7zWWYkys{WwR19e>xdM>GAp#lt5ree1$2fR?o)4?g0Q$yk7vbDc^k{xAt) z&mZHYa{oj&vLzJETkG6^mYa3yK$m}WZOp6Xj2+VF9CfK#fUt!_3ls-JzS0~#kUDM? zn3q-&!sL+UH*VX#tN)4}Ez3bF9f(jYj(0*3b@ltC=lTTuv9?zZ#OSZ^oja=09Qerv zC8(^p4vBUl&+xV06EjsrQEhFkewc?nNH%Ywwo~mh__t8nxJDvF6f_0OH9xh>FE&ub z>TVn`hO0$bKIB*WCGpKfdqVvN8i;I>k8%NrT;Dty?x@CX5}T905E9m-os(;)JK_!tg<^h245YteMSHIwl_Kl)W zv>)s-yxOx=5FT$XC$oX=;op6w|ig%v=aVa?((w6EA3>21%Z8GL!vn=+rs48oH z{~cPK4~rj4)6+!E6Zg(dz#mHqC9x*AdeEIT{WM*to G+i#a?>7x{R-%*WmPpVWp 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 literal 0 HcmV?d00001 diff --git a/bcipy/helpers/tests/resources/mock_offset/time_test_data/triggers.txt.zip b/bcipy/helpers/tests/resources/mock_offset/time_test_data/triggers.txt.zip new file mode 100644 index 0000000000000000000000000000000000000000..bea7e646ea209b7df74e7d3c7a3ed328c70cbe5c GIT binary patch literal 9085 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 r{{y%3-y{FmRsU7 None: + self.tmp_dir = Path(tempfile.mkdtemp()) + self.raw_data_path = self.tmp_dir / f'{RAW_DATA_FILENAME}.csv' + self.triggers_path = str(self.tmp_dir / f'{TRIGGER_FILENAME}') + with zipfile.ZipFile(input_folder / 'raw_data.csv.zip', 'r') as zip_ref: + zip_ref.extractall(self.tmp_dir) + with zipfile.ZipFile(input_folder / 'triggers.txt.zip', 'r') as zip_ref: + zip_ref.extractall(self.tmp_dir) + self.raw_data = load_raw_data(self.raw_data_path) + trigger_targetness, trigger_time, trigger_label = trigger_decoder( + self.triggers_path, + remove_pre_fixation=False, + exclusion=[TriggerType.FIXATION], + device_type='EEG') + self.triggers = list(zip(trigger_label, trigger_targetness, trigger_time)) + self.diode_channel = 'TRG' + self.stim_number = 10 + + def tearDown(self) -> None: + shutil.rmtree(self.tmp_dir) + unstub() + return super().tearDown() + + def test_sample_to_seconds(self): + self.assertEqual(sample_to_seconds(100, 1), 0.01) + self.assertEqual(sample_to_seconds(100, 100), 1) + self.assertEqual(sample_to_seconds(200, 100), 0.5) + + def test_sample_to_seconds_throws_error_on_zero_args(self): + with self.assertRaises(AssertionError): + sample_to_seconds(100, 0) + + with self.assertRaises(AssertionError): + sample_to_seconds(0, 100) + + def test_extract_data_latency_calculation(self): + static_offset = 0.0 + recommend = False + resp = extract_data_latency_calculation(self.tmp_dir, recommend, static_offset) + self.assertIsInstance(resp[0], RawData) + self.assertEqual(resp[1], self.triggers) + self.assertEqual(resp[2], static_offset) + + def test_extract_data_latency_calculation_resets_static_offset_on_recommend(self): + static_offset = 1.0 + recommend = True + resp = extract_data_latency_calculation(self.tmp_dir, recommend, static_offset) + self.assertIsInstance(resp[0], RawData) + self.assertEqual(resp[1], self.triggers) + self.assertNotEqual(resp[2], static_offset) + self.assertEqual(resp[2], 0.0) + + def test_sample_rate_diffs(self): + response = sample_rate_diffs(self.raw_data) + self.assertIsInstance(response, tuple) + self.assertEqual(int(response[0]), int(response[1])) + + def test_lsl_timestamp_diffs(self): + response = lsl_timestamp_diffs(self.raw_data) + self.assertIsInstance(response, list) + + def test_calculate_latency_defaults(self): + response = calculate_latency( + self.raw_data, + self.diode_channel, + self.triggers, + self.stim_number) + self.assertIsInstance(response, tuple) + self.assertIsInstance(response[0], list) + self.assertIsInstance(response[1], list) + # check that error response is not empty + self.assertTrue(len(response[1]) > 1) + + def test_calculate_latency_with_high_tolerance(self): + response = calculate_latency( + self.raw_data, + self.diode_channel, + self.triggers, + self.stim_number, + tolerance=0.5) + self.assertIsInstance(response, tuple) + self.assertIsInstance(response[0], list) + self.assertIsInstance(response[1], list) + # check that given the high tolerance, the error response is empty for this data + self.assertEqual(len(response[1]), 0.0) + + def test_calculate_latency_with_recommend(self): + recommend = True + response = calculate_latency( + self.raw_data, + self.diode_channel, + self.triggers, + self.stim_number, + recommend_static=recommend) + self.assertIsInstance(response, tuple) + self.assertIsInstance(response[0], list) + self.assertIsInstance(response[1], list) + self.assertEqual(len(response[1]), 0.0) + + def test_calculate_latency_ploting(self): + # stub the plot show function before calling + when(plt).show().thenReturn(None) + + calculate_latency( + self.raw_data, + self.diode_channel, + self.triggers, + self.stim_number, + plot=True) + + # verify that the plot show function was called 3 times as expected + verify(plt, times=3).show() + + def test_calculate_latency_ploting_with_false_positive_correction(self): + """Test calculate_latency with false positive correction.""" + corrections = 2 + + response1 = calculate_latency( + self.raw_data, + self.diode_channel, + self.triggers, + self.stim_number) + + response2 = calculate_latency( + self.raw_data, + self.diode_channel, + self.triggers, + self.stim_number, + correct_diode_false_positive=corrections) + + # verify two responses are different in the expected way + self.assertNotEqual(response1[0], response2[0]) + self.assertEqual(len(response2[0]), len(response1[0]) - corrections) + self.assertNotEqual(response1[1][0], response2[1][0]) + + +if __name__ == "__main__": + unittest.main() diff --git a/scripts/python/offset_analysis.py b/scripts/python/offset_analysis.py deleted file mode 100644 index 0001926b5..000000000 --- a/scripts/python/offset_analysis.py +++ /dev/null @@ -1,263 +0,0 @@ -"""GUI tool to visualize offset analysis when analyzing system latency. - -Assumptions: - - The raw_data.csv file is available. - - The raw_data.csv file contains a TRG column, which is a continuous line of 0s and values greater than 0 - (indicating a photodiode trigger event). - - The triggers.txt file is available. - - All data are in the same directory and in the BciPy session data format. - -Usage: - - Run the script from the command line. - - Select the directory containing the raw_data.csv and triggers.txt files. - - The script will plot the TRG column from the raw_data.csv file, as well as the triggers.txt file. - - The script will also print out the results of the analysis, including the number of violations - (set using the --tolerance flag) and the recommended static offset (-r). - - Example usage to recommend a static offset: - python offset_analysis.py -p 'C:/Users/test_data/test_offset_analysis_session/' -r - - Example usage to recommend a static offset using the RSVP Time Test Calibrations: - python offset_analysis.py -p 'C:/Users/test_data/test_offset_analysis_session/' --rsvp -r - - Example usage to plot the data next to photodiode results with a static offset applied: - python offset_analysis.py -p 'C:/Users/test_data/test_offset_analysis_session/' --offset 0.01 - - Example usage to plot the data next to photodiode results with a static offset applied and a tolerance of 10 ms: - python offset_analysis.py -p 'C:/Users/test_data/test_offset_analysis_session/' --offset 0.01 --tolerance 0.01 -""" -from pathlib import Path -from textwrap import wrap -from typing import List - -import matplotlib.pyplot as plt -import numpy as np -from scipy.stats import describe, normaltest - -from bcipy.gui.file_dialog import ask_directory -from bcipy.helpers.raw_data import RawData, load -from bcipy.config import RAW_DATA_FILENAME, TRIGGER_FILENAME - - -def clock_seconds(sample_rate: float, sample: int) -> float: - """Convert the given raw_data sample number to acquisition clock - seconds.""" - assert sample > 0 - return sample / sample_rate - - -def calculate_latency(raw_data: RawData, - triggers: List[tuple], - title: str = "", - recommend_static: bool = False, - plot: bool = False, - tolerance: float = 0.01, - rsvp: bool = False): - """Plot raw_data triggers, including the TRG_device_stream data - (channel streamed from the device; usually populated from a trigger box), - as well as TRG data populated from the LSL Marker Stream. Also plots data - from the triggers.txt file if available. - - Parameters: - ----------- - raw_data - complete list of samples read in from the raw_data.csv file. - triggers - list of (trg, trg_type, stamp) values from the triggers.txt - file. Stamps have been converted to the acquisition clock using - the offset recorded in the triggers.txt. - """ - - fig = plt.figure() - ax = fig.add_subplot(1, 1, 1) - plt.xlabel('acquisition clock (secs)') - plt.ylabel('TRG value') - if title: - plt.title("\n".join(wrap(title, 50))) - - # Plot TRG column; this is a continuous line with >0 indicating light. - trg_box_channel = raw_data.dataframe['TRG'] - trg_box_y = [] - trg_ymax = 1.5 - trg_box_x = [] - - # setup some analysis variable - diode_enc = False - starts = [] - lengths = [] - length = 0 - - for i, val in enumerate(trg_box_channel): - timestamp = clock_seconds(raw_data.sample_rate, i + 1) - value = int(float(val)) - trg_box_x.append(timestamp) - trg_box_y.append(value) - - if value > 0 and not diode_enc: - diode_enc = True - starts.append(timestamp) - - if value > 0 and diode_enc: - length += 0 - - if value < 1 and diode_enc: - diode_enc = False - lengths.append(length) - length = 0 - - ax.plot(trg_box_x, trg_box_y, label='TRG (trigger box)') - - # Plot triggers.txt data if present; vertical line for each value. - if triggers: - trigger_diodes_timestamps = [ - stamp for (_name, _trgtype, stamp) in triggers if _name == '\u25A0' - ] - plt.vlines(trigger_diodes_timestamps, - ymin=-1.0, - ymax=trg_ymax, - label=f'{TRIGGER_FILENAME} (adjusted)', - linewidth=0.5, - color='cyan') - - errors = [] - diffs = [] - x = 0 - if (len(starts) > len(trigger_diodes_timestamps)): - len_diff = len(starts) - len(trigger_diodes_timestamps) - starts = starts[len_diff:] - - for trigger_stamp, diode_stamp in zip(trigger_diodes_timestamps, starts): - diff = trigger_stamp - diode_stamp - - # rsvp bug with fixation - if rsvp: - if x > 0: - if abs(diff) > tolerance: - errors.append( - f'trigger={trigger_stamp} diode={diode_stamp} diff={diff}' - ) - diffs.append(diff) - if x == 4: - x = 0 - else: - x += 1 - else: - if abs(diff) > tolerance: - errors.append( - f'trigger={trigger_stamp} diode={diode_stamp} diff={diff}') - diffs.append(diff) - - if recommend_static: - # test for normality - _, p_value = normaltest(diffs) - print(f'{describe(diffs)}') - - # if it's not normal, take the median - if p_value < 0.05: - print('Non-normal distribution') - recommended_static = abs(np.median(diffs)) - print( - f'System recommended static offset median=[{recommended_static}]') - recommended_static = abs(np.mean(diffs)) - print(f'System recommended static offset mean=[{recommended_static}]') - - else: - if errors: - num_errors = len(errors) - print( - f'RESULTS: Allowable tolerance between triggers and photodiode exceeded. {errors}' - f'Number of violations: {num_errors}') - else: - print( - f'RESULTS: Triggers and photodiode timestamps within limit of [{tolerance}s]!' - ) - - # Add labels for TRGs - first_trg = trigger_diodes_timestamps[0] - - # Set initial zoom to +-5 seconds around the calibration_trigger - if first_trg: - ax.set_xlim(left=first_trg - 5, right=first_trg + 5) - - ax.grid(axis='x', linestyle='--', color="0.5", linewidth=0.4) - plt.legend(loc='lower left', fontsize='small') - # display the plot - if plot: - plt.show() - - -def read_triggers(triggers_file: str, static_offset: float): - """Read in the triggers.txt file. Convert the timestamps to be in - acquisition clock units using the offset listed in the file (last entry). - Returns: - -------- - list of (symbol, targetness, stamp) tuples.""" - - with open(triggers_file, encoding='utf-8') as trgfile: - records = [line.split(' ') for line in trgfile.readlines()] - (_cname, _ctype, cstamp) = records[0] - records.pop(0) - # (_acq_name, _acq_type, acq_stamp) = records[-1] - offset = float(cstamp) + static_offset - - corrected = [] - for i, (name, trg_type, stamp) in enumerate(records): - if i < len(records) - 1: - # omit offset record for plotting - corrected.append((name, trg_type, float(stamp) + offset)) - return corrected - - -def main(data_dir: str, recommend: bool = False, static_offset: float = 0.105, - tolerance: float = 0.01, rsvp: bool = False): - """Run the viewer gui - - Parameters: - ----------- - data_dir - path to the data directory, containing raw_data.csv and triggers.txt - recommend - whether to recommend a static offset. If True, plots are not displayed. - static_offset - fixed offset applied to triggers for plotting and analysis. - """ - if recommend: - static_offset = 0.0 - raw_data = load(Path(data_dir, f'{RAW_DATA_FILENAME}.csv')) - triggers = read_triggers(Path(data_dir, f'{TRIGGER_FILENAME}'), static_offset) - - calculate_latency(raw_data, - triggers, - title=Path(data_dir).name, - recommend_static=recommend, - plot=not recommend, - tolerance=tolerance, - rsvp=rsvp) - - -if __name__ == "__main__": - import argparse - - parser = argparse.ArgumentParser( - description="Graphs trigger data from a bcipy session to visualize system latency") - parser.add_argument('-p', - '--path', - help='path to the data directory', - default=None) - parser.add_argument('-r', - '--recommend', - help='flag used for recommending a static offset. If set, plots are not displayed', - action='store_true') - parser.add_argument('--offset', - help='static offset applied to triggers for plotting and analysis', - default=0.114) - parser.add_argument('-t', '--tolerance', - help='Allowable tolerance between triggers and photodiode. Deafult 10 ms', - default=0.01) - parser.add_argument('--rsvp', - help=('RSVP Calibration Task. Default False. ' - 'Corrects for issue with fixation causing a false positive.'), - type=bool, - default=True) - - args = parser.parse_args() - path = args.path - if not path: - path = ask_directory() - - main(path, bool(args.recommend), float(args.offset), float(args.tolerance), bool(args.rsvp)) diff --git a/scripts/python/plot_eye_data.py b/scripts/python/plot_eye_data.py deleted file mode 100644 index cb9461d62..000000000 --- a/scripts/python/plot_eye_data.py +++ /dev/null @@ -1,37 +0,0 @@ -from bcipy.helpers.raw_data import load - -DIPSIZE = (1707, 1067) -TOBII_FILENAME = 'eyetracker_data_tobii-p0.csv' - -def load_eye_tracking_data(path): - data = load(f'{path}/{TOBII_FILENAME}') - return data - -if __name__ == "__main__": - import argparse - from pathlib import Path - from bcipy.helpers.load import load_experimental_data - from bcipy.helpers.visualization import visualize_gaze - import matplotlib.pyplot as plt - from matplotlib import image - import numpy as np - import seaborn as sns - import pandas as pd - - parser = argparse.ArgumentParser() - parser.add_argument( - '-p', - '--path', - help='Path to the directory with raw_data to be converted', - required=False) - args = parser.parse_args() - - # if no path is provided, prompt for one using a GUI - path = args.path - if not path: - path = load_experimental_data() - - data = load_eye_tracking_data(path) - - # Plot the eye data, set save_path to None to not save the plot. You can have both plots at the same time. - visualize_gaze(data, show=True, save_path=path, heatmap=False, raw_plot=True) diff --git a/scripts/python/plot_inquiry_data.py b/scripts/python/plot_inquiry_data.py deleted file mode 100644 index 40f628dad..000000000 --- a/scripts/python/plot_inquiry_data.py +++ /dev/null @@ -1,91 +0,0 @@ -from bcipy.helpers.raw_data import load -from bcipy.config import STATIC_IMAGES_PATH - -DIPSIZE = (1707, 1067) -IMG_PATH = f'{STATIC_IMAGES_PATH}/main/matrix.png' -TOBII_FILENAME = 'eyetracker_data_tobii-p0.csv' - -def load_eye_tracking_data(path): - data = load(f'{path}/{TOBII_FILENAME}') - - left_eye_channel_map = [0,0,1,1,1,0,0,0,0] - left_eye_data, _, _ = data.by_channel_map(left_eye_channel_map) - left_eye_x = left_eye_data[0] - left_eye_y = left_eye_data[1] - left_pupil = left_eye_data[2] - - right_eye_channel_map = [0,0,0,0,0,1,1,1,0] - right_eye_data, _, _ = data.by_channel_map(right_eye_channel_map) - right_eye_x = right_eye_data[0] - right_eye_y = right_eye_data[1] - right_pupil = right_eye_data[2] - return left_eye_x, left_eye_y, left_pupil, right_eye_x, right_eye_y, right_pupil - - -if __name__ == "__main__": - import argparse - from pathlib import Path - from bcipy.helpers.load import load_experimental_data - import matplotlib.pyplot as plt - from matplotlib import image - import numpy as np - import seaborn as sns - import pandas as pd - - parser = argparse.ArgumentParser() - parser.add_argument( - '-p', - '--path', - help='Path to the directory with raw_data to be converted', - required=False) - args = parser.parse_args() - - # if no path is provided, prompt for one using a GUI - path = args.path - if not path: - path = load_experimental_data() - - data = load_eye_tracking_data(path) - lx, ly, lp, rx, ry, rp = data - - - dpi = 100 - - # load the image - img = plt.imread(IMG_PATH) - # img = np.flipud(img) - - w, h = len(img[0]), len(img) - - # resize the image to fit the display - # img = np.resize(img, (DIPSIZE[1], DIPSIZE[0], 4)) - fig, ax = plt.subplots() - ax.imshow(img, extent=[0, 1, 0, 1]) - # ax.scatter(lx, ly, c='r', s=1) - # ax.scatter(rx, ry, c='b', s=1) - # transform the eye data to fit the display. remove > 1 values < 0 values and flip the y axis - lx = np.clip(lx, 0, 1) - ly = np.clip(ly, 0, 1) - rx = np.clip(rx, 0, 1) - ry = np.clip(ry, 0, 1) - ly = 1 - ly - ry = 1 - ry - - # plot the eye data - # ax.plot(lx, ly, c='r', linewidth=1) - # ax.plot(rx, ry, c='b', linewidth=1) - - # # remove nan values - lx = lx[~np.isnan(lx)] - ly = ly[~np.isnan(ly)] - rx = rx[~np.isnan(rx)] - ry = ry[~np.isnan(ry)] - - # determine kde of the eye data - # ax = sns.kdeplot(rx, ry, cmap="mako", fill=False, thresh=0.05, levels=10) - - - ax.scatter(lx, ly, c='r', s=1) - ax.scatter(rx, ry, c='b', s=1) - - plt.show() \ No newline at end of file From d5c79e36e60a2a60bfe1337baa871e07cd96772a Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 11 Jun 2024 10:10:40 -0700 Subject: [PATCH 257/330] Refactored base calibration to make it easier to subclass --- bcipy/task/base_calibration.py | 37 ++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/bcipy/task/base_calibration.py b/bcipy/task/base_calibration.py index 281b7181b..5a4c3093d 100644 --- a/bcipy/task/base_calibration.py +++ b/bcipy/task/base_calibration.py @@ -31,12 +31,6 @@ class Inquiry(NamedTuple): durations: List[float] colors: List[str] - @property - def labels(self) -> List[str]: - """labels for each stimuli""" - [target, _fixation, *symbols] = self.stimuli - return ['target' if sym == target else 'nontarget' for sym in symbols] - @property def target(self) -> str: """target symbol""" @@ -56,6 +50,15 @@ class BaseCalibrationTask(Task): daq (Data Acquisition Client) parameters (dict) file_save (str) + + Subclasses should override the provided MODE and can specialize behavior by overriding + the following methods: + - init_display ; initializes the stimulus display + - init_inquiry_generator ; creates a generator that returns inquiries to be presented + - trigger_type ; used for assigning trigger types to the timing data + - session_task_data ; provide task-specific session data + - session_inquiry_data ; provide task-specific inquiry data to the session + - cleanup ; perform any necessary cleanup (closing connections, etc.) """ MODE = 'Undefined' @@ -71,7 +74,7 @@ def __init__(self, win: visual.Window, daq: ClientManager, self.static_clock = core.StaticPeriod(screenHz=self.frame_rate) self.experiment_clock = Clock() self.start_time = self.experiment_clock.getTime() - self.symbol_set = alphabet(parameters) + self._symbol_set = alphabet(parameters) self.file_save = file_save self.trigger_handler = TriggerHandler(self.file_save, TRIGGER_FILENAME, @@ -91,9 +94,14 @@ def enable_breaks(self) -> bool: """Whether to allow breaks""" return self.parameters['enable_breaks'] + @property + def symbol_set(self) -> List[str]: + """Symbols used in the calibration""" + return self._symbol_set + def name(self) -> str: """Task name""" - return 'Calibration Task' + return f"{self.MODE} Calibration Task" def wait(self, seconds: Optional[float] = None) -> None: """Pause for a time. @@ -225,8 +233,8 @@ def execute(self) -> str: inq_index += 1 self.exit_display() - self.cleanup() self.write_offset_trigger() + self.cleanup() return self.file_save @@ -291,13 +299,20 @@ def write_session_data(self) -> None: self.session.as_dict()) session_file.close() + def stim_labels(self, inquiry: Inquiry) -> List[str]: + """labels for each stimuli""" + return [ + str(self.trigger_type(symbol, inquiry.target, index)) + for index, symbol in enumerate(inquiry.stimuli) + ] + def add_session_data(self, inquiry: Inquiry) -> None: """Adds the latest inquiry to the session data.""" data = session_data.Inquiry( - stimuli=inquiry, + stimuli=inquiry.stimuli, timing=inquiry.durations, triggers=[], - target_info=inquiry.labels, + target_info=self.stim_labels(inquiry), target_letter=inquiry.target, task_data=self.session_inquiry_data(inquiry)) self.session.add_sequence(data) From a5952681bca27f37b41b65f8380317fee3b69314 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 11 Jun 2024 10:11:13 -0700 Subject: [PATCH 258/330] Refactored RsvpCalibrationTask to subclass BaseCalibration --- .../paradigm/rsvp/calibration/calibration.py | 259 +++--------------- 1 file changed, 35 insertions(+), 224 deletions(-) diff --git a/bcipy/task/paradigm/rsvp/calibration/calibration.py b/bcipy/task/paradigm/rsvp/calibration/calibration.py index 98d9d2419..816b04e59 100644 --- a/bcipy/task/paradigm/rsvp/calibration/calibration.py +++ b/bcipy/task/paradigm/rsvp/calibration/calibration.py @@ -1,28 +1,16 @@ -from typing import List, Tuple - from psychopy import core, visual -from bcipy.acquisition import ClientManager -from bcipy.config import TRIGGER_FILENAME, WAIT_SCREEN_MESSAGE -from bcipy.display import (InformationProperties, PreviewInquiryProperties, - StimuliProperties) +from bcipy.display import (Display, InformationProperties, + PreviewInquiryProperties, StimuliProperties) from bcipy.display.components.task_bar import CalibrationTaskBar from bcipy.display.paradigm.rsvp.mode.calibration import CalibrationDisplay from bcipy.helpers.clock import Clock from bcipy.helpers.parameters import Parameters -from bcipy.helpers.stimuli import (InquirySchedule, StimuliOrder, TargetPositions, - generate_calibration_inquiries) -from bcipy.helpers.symbols import alphabet -from bcipy.helpers.task import (get_user_input, pause_calibration, - trial_complete_message) -from bcipy.helpers.triggers import (FlushFrequency, Trigger, TriggerHandler, - TriggerType, convert_timing_triggers, - offset_label) - -from bcipy.task import Task +from bcipy.helpers.triggers import TriggerType +from bcipy.task.base_calibration import BaseCalibrationTask -class RSVPCalibrationTask(Task): +class RSVPCalibrationTask(BaseCalibrationTask): """RSVP Calibration Task. Calibration task performs an RSVP stimulus inquiry @@ -42,81 +30,10 @@ class RSVPCalibrationTask(Task): parameters (dict) file_save (str) """ + MODE = 'RSVP' - def __init__( - self, - win: visual.Window, - daq: ClientManager, - parameters: Parameters, - file_save: str) -> None: - super(RSVPCalibrationTask, self).__init__() - - self.window = win - self.frame_rate = self.window.getActualFrameRate() - self.parameters = parameters - self.daq = daq - self.static_clock = core.StaticPeriod(screenHz=self.frame_rate) - self.experiment_clock = Clock() - self.buffer_val = parameters['task_buffer_length'] - self.alp = alphabet(parameters) - self.rsvp = init_calibration_display_task( - self.parameters, self.window, - self.static_clock, self.experiment_clock) - self.file_save = file_save - self.trigger_handler = TriggerHandler( - self.file_save, - TRIGGER_FILENAME, - FlushFrequency.EVERY) - - self.stim_number = parameters['stim_number'] - self.stim_length = parameters['stim_length'] - self.stim_order = StimuliOrder(parameters['stim_order']) - self.target_positions = TargetPositions(parameters['target_positions']) - self.nontarget_inquiries = parameters['nontarget_inquiries'] - - self.show_preview_inquiry = parameters['show_preview_inquiry'] - - self.timing = [parameters['time_prompt'], - parameters['time_fixation'], - parameters['time_flash']] - self.jitter = parameters['stim_jitter'] - - self.color = [parameters['target_color'], - parameters['fixation_color'], - parameters['stim_color']] - self.wait_screen_message_color = self.color[-1] - self.task_info_color = parameters['task_color'] - - self.stimuli_height = parameters['stim_height'] - self.is_txt_stim = parameters['is_txt_stim'] - self.enable_breaks = parameters['enable_breaks'] - - def generate_stimuli(self) -> InquirySchedule: - """Generates the inquiries to be presented. - Returns: - -------- - tuple( - samples[list[list[str]]]: list of inquiries - timing(list[list[float]]): list of timings - color(list(list[str])): list of colors) - """ - return generate_calibration_inquiries(self.alp, - inquiry_count=self.stim_number, - stim_per_inquiry=self.stim_length, - stim_order=self.stim_order, - target_positions=self.target_positions, - percentage_without_target=self.nontarget_inquiries, - timing=self.timing, - jitter=self.jitter, - is_txt=self.rsvp.is_txt_stim, - color=self.color) - - def trigger_type(self, symbol: str, target: str, index: int) -> TriggerType: - """Trigger Type. - - This method is passed to convert_timing_triggers to properly assign TriggerTypes - to the timing of stimuli presented. - """ + def trigger_type(self, symbol: str, target: str, + index: int) -> TriggerType: if index == 0: return TriggerType.PROMPT if symbol == 'inquiry_preview': @@ -127,139 +44,33 @@ def trigger_type(self, symbol: str, target: str, index: int) -> TriggerType: return TriggerType.TARGET return TriggerType.NONTARGET - def execute(self) -> str: - - self.logger.info(f'Starting {self.name()}!') - run = True - - # Check user input to make sure we should be going - if not get_user_input(self.rsvp, WAIT_SCREEN_MESSAGE, - self.wait_screen_message_color, - first_run=True): - run = False - - # Begin the Experiment - while run: - - # Get inquiry information given stimuli parameters - (stimuli, stimuli_timing, stimuli_color) = self.generate_stimuli() - - # Execute the RSVP inquiries - for inquiry in range(self.stim_number): - - # check user input to make sure we should be going - if not get_user_input(self.rsvp, WAIT_SCREEN_MESSAGE, - self.wait_screen_message_color): - break - - # Take a break every number of trials defined - if self.enable_breaks: - pause_calibration(self.window, self.rsvp, inquiry, - self.parameters) - - # update task state - self.rsvp.update_task_bar() - - # Draw and flip screen - self.rsvp.draw_static() - self.window.flip() - - # Schedule a inquiry - self.rsvp.stimuli_inquiry = stimuli[inquiry] - - # check if text stimuli or not for color information - if self.is_txt_stim: - self.rsvp.stimuli_colors = stimuli_color[inquiry] - - self.rsvp.stimuli_timing = stimuli_timing[inquiry] - - core.wait(self.buffer_val) - - # do inquiry and get timing information back from the display - timing = self.rsvp.do_inquiry(preview_calibration=self.show_preview_inquiry) - - self.write_trigger_data(timing, (inquiry == 0)) - core.wait(self.buffer_val) - - # Set run to False to stop looping - run = False - - # Say Goodbye! - self.rsvp.info_text = trial_complete_message(self.window, self.parameters) - self.rsvp.draw_static() - self.window.flip() - - self.write_offset_trigger() - - # Wait some time before exiting so there is trailing eeg data saved - core.wait(self.buffer_val) - - return self.file_save - - def write_trigger_data(self, timing: List[Tuple[str, float]], first_run: bool) -> None: - """Write Trigger Data. - - Using the timing provided from the display and calibration information from the data acquisition - client, write trigger data in the correct format. - - *Note on offsets*: we write the full offset value which can be used to transform all stimuli to the time since - session start (t = 0) for all values (as opposed to most system clocks which start much higher). - We do not write the calibration trigger used to generate this offset from the display. - See RSVPDisplay._trigger_pulse() for more information. - """ - # write offsets. currently, we only check for offsets at the beginning. - # offset will factor in true offset and time relative from beginning - if first_run: - triggers = [] - for content_type, client in self.daq.clients_by_type.items(): - label = offset_label(content_type.name) - time = client.offset( - self.rsvp.first_stim_time) - self.rsvp.first_stim_time - triggers.append(Trigger(label, TriggerType.OFFSET, time)) - self.trigger_handler.add_triggers(triggers) - - # make sure triggers are written for the inquiry - self.trigger_handler.add_triggers(convert_timing_triggers(timing, timing[0][0], self.trigger_type)) - - def write_offset_trigger(self) -> None: - """Append an offset value to the end of the trigger file. - """ - # To help support future refactoring or use of lsl timestamps only - # we write only the sample offset here. - triggers = [] - for content_type, client in self.daq.clients_by_type.items(): - label = offset_label(content_type.name, prefix='daq_sample_offset') - time = client.offset(self.rsvp.first_stim_time) - triggers.append(Trigger(label, TriggerType.SYSTEM, time)) - - self.trigger_handler.add_triggers(triggers) - self.trigger_handler.close() - def name(self) -> str: - return 'RSVP Calibration Task' + def init_display(self) -> Display: + return init_calibration_display_task(self.parameters, self.window, + self.static_clock, + self.experiment_clock) def init_calibration_display_task( - parameters: Parameters, - window: visual.Window, + parameters: Parameters, window: visual.Window, static_clock: core.StaticPeriod, experiment_clock: Clock) -> CalibrationDisplay: + """Initialize the display""" info = InformationProperties( info_color=[parameters['info_color']], - info_pos=[(parameters['info_pos_x'], - parameters['info_pos_y'])], + info_pos=[(parameters['info_pos_x'], parameters['info_pos_y'])], info_height=[parameters['info_height']], info_font=[parameters['font']], info_text=[parameters['info_text']], ) - stimuli = StimuliProperties(stim_font=parameters['font'], - stim_pos=(parameters['stim_pos_x'], - parameters['stim_pos_y']), - stim_height=parameters['stim_height'], - stim_inquiry=[''] * parameters['stim_length'], - stim_colors=[parameters['stim_color']] * parameters['stim_length'], - stim_timing=[10] * parameters['stim_length'], - is_txt_stim=parameters['is_txt_stim']) + stimuli = StimuliProperties( + stim_font=parameters['font'], + stim_pos=(parameters['stim_pos_x'], parameters['stim_pos_y']), + stim_height=parameters['stim_height'], + stim_inquiry=[''] * parameters['stim_length'], + stim_colors=[parameters['stim_color']] * parameters['stim_length'], + stim_timing=[10] * parameters['stim_length'], + is_txt_stim=parameters['is_txt_stim']) task_bar = CalibrationTaskBar(window, inquiry_count=parameters['stim_number'], @@ -272,18 +83,18 @@ def init_calibration_display_task( preview_inquiry = PreviewInquiryProperties( preview_only=True, preview_inquiry_length=parameters['preview_inquiry_length'], - preview_inquiry_progress_method=parameters['preview_inquiry_progress_method'], + preview_inquiry_progress_method=parameters[ + 'preview_inquiry_progress_method'], preview_inquiry_key_input=parameters['preview_inquiry_key_input'], preview_inquiry_isi=parameters['preview_inquiry_isi']) - return CalibrationDisplay( - window, - static_clock, - experiment_clock, - stimuli, - task_bar, - info, - preview_inquiry=preview_inquiry, - trigger_type=parameters['trigger_type'], - space_char=parameters['stim_space_char'], - full_screen=parameters['full_screen']) + return CalibrationDisplay(window, + static_clock, + experiment_clock, + stimuli, + task_bar, + info, + preview_inquiry=preview_inquiry, + trigger_type=parameters['trigger_type'], + space_char=parameters['stim_space_char'], + full_screen=parameters['full_screen']) From 1902fe39aaac4d0ab58919930b24a5df1de465c1 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 11 Jun 2024 10:11:48 -0700 Subject: [PATCH 259/330] Refactored RSVP timing verification to subclass RsvpCalibration --- .../rsvp/calibration/timing_verification.py | 80 ++++++++----------- 1 file changed, 33 insertions(+), 47 deletions(-) diff --git a/bcipy/task/paradigm/rsvp/calibration/timing_verification.py b/bcipy/task/paradigm/rsvp/calibration/timing_verification.py index 55af4b995..be94ca30c 100644 --- a/bcipy/task/paradigm/rsvp/calibration/timing_verification.py +++ b/bcipy/task/paradigm/rsvp/calibration/timing_verification.py @@ -1,18 +1,19 @@ # mypy: disable-error-code="assignment" -from itertools import cycle - -from typing import Tuple +from itertools import cycle, islice, repeat +from typing import Iterator, List from psychopy import visual from bcipy.acquisition import ClientManager -from bcipy.task import Task -from bcipy.task.paradigm.rsvp.calibration.calibration import RSVPCalibrationTask from bcipy.helpers.parameters import Parameters -from bcipy.helpers.stimuli import PhotoDiodeStimuli, get_fixation, jittered_timing +from bcipy.helpers.stimuli import (PhotoDiodeStimuli, get_fixation, + jittered_timing) +from bcipy.task.base_calibration import Inquiry +from bcipy.task.paradigm.rsvp.calibration.calibration import \ + RSVPCalibrationTask -class RSVPTimingVerificationCalibration(Task): +class RSVPTimingVerificationCalibration(RSVPCalibrationTask): """RSVP Calibration Task. This task is used for verifying display timing by alternating solid and empty boxes. These @@ -29,54 +30,39 @@ class RSVPTimingVerificationCalibration(Task): """ TASK_NAME = 'RSVP Timing Verification Task' - def __init__( - self, - win: visual.Window, - daq: ClientManager, - parameters: Parameters, - file_save: str) -> None: - super(RSVPTimingVerificationCalibration, self).__init__() + def __init__(self, win: visual.Window, daq: ClientManager, + parameters: Parameters, file_save: str) -> None: parameters['stim_height'] = 0.8 parameters['stim_pos_y'] = 0.0 - self.stimuli = PhotoDiodeStimuli.list() - self._task = RSVPCalibrationTask(win, daq, parameters, file_save) - self._task.generate_stimuli = self.generate_stimuli + super(RSVPTimingVerificationCalibration, + self).__init__(win, daq, parameters, file_save) - def generate_stimuli(self) -> Tuple[list, list, list]: - """Generates the inquiries to be presented. - Returns: - -------- - tuple( - samples[list[list[str]]]: list of inquiries - timing(list[list[float]]): list of timings - color(list(list[str])): list of colors) - """ - samples, times, colors = [], [], [] + @property + def symbol_set(self) -> List[str]: + """Symbols used in the calibration""" + return PhotoDiodeStimuli.list() - # alternate between solid and empty boxes - letters = cycle(self.stimuli) - time_prompt, time_fixation, time_stim = self._task.timing - color_target, color_fixation, color_stim = self._task.color - inq_len = self._task.stim_length + def init_inquiry_generator(self) -> Iterator[Inquiry]: + params = self.parameters - stim_timing = jittered_timing(time_stim, self._task.jitter, inq_len) + # alternate between solid and empty boxes + letters = cycle(self.symbol_set) target = next(letters) fixation = get_fixation(is_txt=True) - inq_stim = [target, fixation, *[next(letters) for _ in range(inq_len)]] - inq_times = [time_prompt, time_fixation] + stim_timing - inq_colors = [color_target, color_fixation, *[color_stim for _ in range(inq_len)]] - - for _ in range(self._task.stim_number): - samples.append(inq_stim) - times.append(inq_times) - colors.append(inq_colors) - - return (samples, times, colors) - - def execute(self) -> str: - self.logger.info(f'Starting {self.name()}!') - return self._task.execute() + inq_len = params['stim_length'] + stimuli = [target, fixation, *islice(letters, inq_len)] + durations = [ + params['time_prompt'], params['time_fixation'], *jittered_timing( + params['time_flash'], params['stim_jitter'], inq_len) + ] + colors = [ + params['target_color'], params['fixation_color'], + *repeat(params['stim_color'], inq_len) + ] + + return repeat(Inquiry(stimuli, durations, colors), + params['stim_number']) @classmethod def label(cls) -> str: From 28c95cf722c298b9a7ae5cd04f15c81ee6fe1b03 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 11 Jun 2024 13:37:14 -0700 Subject: [PATCH 260/330] Refactored Matrix calibration to subclass BaseCalibration; refactored associated timing test --- bcipy/display/paradigm/matrix/display.py | 4 +- bcipy/task/base_calibration.py | 6 +- bcipy/task/paradigm/matrix/calibration.py | 292 +++--------------- .../paradigm/matrix/timing_verification.py | 65 ++-- 4 files changed, 81 insertions(+), 286 deletions(-) diff --git a/bcipy/display/paradigm/matrix/display.py b/bcipy/display/paradigm/matrix/display.py index 8fb0cd2a8..b36ba75d3 100644 --- a/bcipy/display/paradigm/matrix/display.py +++ b/bcipy/display/paradigm/matrix/display.py @@ -115,12 +115,12 @@ def __init__(self, self.should_prompt_target = should_prompt_target self.logger.info( - f"Symbol positions ({display_container.units} units):\n{self._stim_positions}" + f"Symbol positions ({display_container.units} units):\n{self.stim_positions}" ) self.logger.info(f"Matrix center position: {display_container.center}") @property - def _stim_positions(self) -> Dict[str, Tuple[float, float]]: + def stim_positions(self) -> Dict[str, Tuple[float, float]]: """Returns a dict with the position for each stim""" assert self.stim_registry, "stim_registry not yet initialized" return { diff --git a/bcipy/task/base_calibration.py b/bcipy/task/base_calibration.py index 5a4c3093d..9d042bd01 100644 --- a/bcipy/task/base_calibration.py +++ b/bcipy/task/base_calibration.py @@ -1,6 +1,6 @@ """Base calibration task.""" -from typing import Iterator, List, NamedTuple, Optional, Tuple +from typing import Any, Dict, Iterator, List, NamedTuple, Optional, Tuple from psychopy import core, visual @@ -147,7 +147,7 @@ def init_session(self) -> session_data.Session: symbol_set=self.symbol_set, task_data=self.session_task_data()) - def session_task_data(self): + def session_task_data(self) -> Optional[Dict[str, Any]]: """"Task-specific session data""" return None @@ -320,6 +320,6 @@ def add_session_data(self, inquiry: Inquiry) -> None: ) - self.start_time self.write_session_data() - def session_inquiry_data(self, inquiry: Inquiry) -> Optional[dict]: + def session_inquiry_data(self, inquiry: Inquiry) -> Optional[Dict[str, Any]]: """Defines task-specific session data for each inquiry.""" return None diff --git a/bcipy/task/paradigm/matrix/calibration.py b/bcipy/task/paradigm/matrix/calibration.py index 170889675..58f939213 100644 --- a/bcipy/task/paradigm/matrix/calibration.py +++ b/bcipy/task/paradigm/matrix/calibration.py @@ -1,29 +1,18 @@ -from typing import List, Tuple +from typing import Any, Dict, Optional from psychopy import core, visual -from bcipy.acquisition import ClientManager -from bcipy.config import TRIGGER_FILENAME, WAIT_SCREEN_MESSAGE -from bcipy.display import InformationProperties, StimuliProperties +from bcipy.display import Display, InformationProperties, StimuliProperties from bcipy.display.components.task_bar import CalibrationTaskBar from bcipy.display.paradigm.matrix.display import MatrixDisplay from bcipy.helpers.clock import Clock from bcipy.helpers.parameters import Parameters from bcipy.helpers.save import save_stimuli_position_info -from bcipy.helpers.stimuli import (DEFAULT_TEXT_FIXATION, InquirySchedule, - StimuliOrder, TargetPositions, - generate_calibration_inquiries) -from bcipy.helpers.symbols import alphabet from bcipy.helpers.system_utils import get_screen_info -from bcipy.helpers.task import (get_user_input, pause_calibration, - trial_complete_message) -from bcipy.helpers.triggers import (FlushFrequency, Trigger, TriggerHandler, - TriggerType, convert_timing_triggers, - offset_label) -from bcipy.task import Task +from bcipy.task.base_calibration import BaseCalibrationTask -class MatrixCalibrationTask(Task): +class MatrixCalibrationTask(BaseCalibrationTask): """Matrix Calibration Task. Calibration task performs an Matrix stimulus inquiry @@ -43,242 +32,43 @@ class MatrixCalibrationTask(Task): parameters (Parameters Object) file_save (String) """ + MODE = 'Matrix' - def __init__( - self, - win: visual.Window, - daq: ClientManager, - parameters: Parameters, - file_save: str) -> None: - super(MatrixCalibrationTask, self).__init__() - self.window = win - self.frame_rate = self.window.getActualFrameRate() - - _screen_info = get_screen_info() - - self.screen_info = { + @property + def screen_info(self) -> Dict[str, Any]: + """Screen properties""" + return { 'screen_size_pixels': self.window.size.tolist(), - 'screen_hz': _screen_info.rate, + 'screen_hz': get_screen_info().rate, 'screen_units': 'norm', } - self.parameters = parameters - self.daq = daq - self.static_clock = core.StaticPeriod(screenHz=self.frame_rate) - self.experiment_clock = Clock() - self.buffer_val = parameters['task_buffer_length'] - self.symbol_set = alphabet(parameters) - - self.file_save = file_save - self.trigger_handler = TriggerHandler( - self.file_save, - TRIGGER_FILENAME, - FlushFrequency.EVERY) - - self.wait_screen_message = WAIT_SCREEN_MESSAGE - self.wait_screen_message_color = parameters['stim_color'] - - self.stim_number = parameters['stim_number'] - self.stim_length = parameters['stim_length'] - self.jitter = parameters['stim_jitter'] - self.stim_order = StimuliOrder(parameters['stim_order']) - self.target_positions = TargetPositions(parameters['target_positions']) - self.nontarget_inquiries = parameters['nontarget_inquiries'] - - self.timing = [ - parameters['time_prompt'], parameters['time_fixation'], - parameters['time_flash'] - ] - self.color = [ - parameters['target_color'], parameters['fixation_color'], - parameters['stim_color'] - ] - self.task_info_color = parameters['task_color'] - self.stimuli_height = parameters['stim_height'] - self.is_txt_stim = parameters['is_txt_stim'] - self.enable_breaks = parameters['enable_breaks'] - - self.matrix = self.init_display() - - def init_display(self) -> MatrixDisplay: + def init_display(self) -> Display: """Initialize the display""" - return init_calibration_display_task(self.parameters, self.window, - self.experiment_clock, - self.symbol_set) - - def generate_stimuli(self) -> InquirySchedule: - """Generates the inquiries to be presented. - Returns: - -------- - tuple( - samples[list[list[str]]]: list of inquiries - timing(list[list[float]]): list of timings - color(list(list[str])): list of colors) - """ - return generate_calibration_inquiries( - self.symbol_set, - inquiry_count=self.stim_number, - stim_per_inquiry=self.stim_length, - stim_order=self.stim_order, - jitter=self.jitter, - target_positions=self.target_positions, - percentage_without_target=self.nontarget_inquiries, - timing=self.timing, - color=self.color) - - def trigger_type(self, symbol: str, target: str, index: int) -> TriggerType: - """Trigger Type. - - This method is passed to convert_timing_triggers to properly assign TriggerTypes - to the timing of stimuli presented. - """ - if index == 0: - return TriggerType.PROMPT - if symbol == DEFAULT_TEXT_FIXATION: - return TriggerType.FIXATION - if target == symbol: - return TriggerType.TARGET - return TriggerType.NONTARGET - - def execute(self) -> str: - - self.logger.info(f'Starting {self.name()}!') - run = True - - # Check user input to make sure we should be going - if not get_user_input(self.matrix, self.wait_screen_message, - self.wait_screen_message_color, - first_run=True): - run = False - - # Wait for a time - core.wait(self.buffer_val) - - # Begin the Experiment - while run: - - # Get inquiry information given stimuli parameters - (stimuli_labels, stimuli_timing, stimuli_colors) = self.generate_stimuli() - - assert len(stimuli_labels) == len(stimuli_timing) - - for inquiry in range(self.stim_number): - - # check user input to make sure we should be going - if not get_user_input(self.matrix, self.wait_screen_message, - self.wait_screen_message_color): - break - - # Take a break every number of trials defined - if self.enable_breaks: - pause_calibration(self.window, self.matrix, inquiry, - self.parameters) - - # update task state - self.matrix.update_task_bar(str(inquiry + 1)) - - # Draw and flip screen - self.matrix.draw_static() - self.window.flip() - - self.matrix.schedule_to( - stimuli_labels[inquiry], - stimuli_timing[inquiry], - stimuli_colors[inquiry]) - # Schedule a inquiry - - # Wait for a time - core.wait(self.buffer_val) - - # Do the inquiry - timing = self.matrix.do_inquiry() - - # Write triggers for the inquiry - self.write_trigger_data(timing, (inquiry == 0)) - - # Wait for a time - core.wait(self.buffer_val) - - # Set run to False to stop looping - run = False - - # Save the grid screenshot - self.matrix.capture_grid_screenshot(self.file_save) - - # Say Goodbye! - self.matrix.info_text = trial_complete_message( - self.window, self.parameters) - self.matrix.draw_static() - self.window.flip() - - # Allow for some additional data to be collected for later processing - core.wait(self.buffer_val) - - self.write_offset_trigger() - self.write_stimuli_positions() - - return self.file_save - - def write_trigger_data(self, timing: List[Tuple[str, float]], first_run) -> None: - """Write Trigger Data. - - Using the timing provided from the display and calibration information from the data acquisition - client, write trigger data in the correct format. - - *Note on offsets*: we write the full offset value which can be used to transform all stimuli to the time since - session start (t = 0) for all values (as opposed to most system clocks which start much higher). - We do not write the calibration trigger used to generate this offset from the display. - See MatrixDisplay._trigger_pulse() for more information. - """ - if first_run: - triggers = [] - for content_type, client in self.daq.clients_by_type.items(): - label = offset_label(content_type.name) - time = client.offset( - self.matrix.first_stim_time) - self.matrix.first_stim_time - triggers.append(Trigger(label, TriggerType.OFFSET, time)) - self.trigger_handler.add_triggers(triggers) - - # make sure triggers are written for the inquiry - self.trigger_handler.add_triggers(convert_timing_triggers(timing, timing[0][0], self.trigger_type)) - - def write_offset_trigger(self) -> None: - """Append an offset value to the end of the trigger file. - """ - # To help support future refactoring or use of lsl timestamps only - # we write only the sample offset here. - triggers = [] - for content_type, client in self.daq.clients_by_type.items(): - label = offset_label(content_type.name, prefix='daq_sample_offset') - time = client.offset(self.matrix.first_stim_time) - triggers.append(Trigger(label, TriggerType.SYSTEM, time)) - - self.trigger_handler.add_triggers(triggers) - self.trigger_handler.close() + return init_matrix_display(self.parameters, self.window, + self.experiment_clock, self.symbol_set) - def write_stimuli_positions(self) -> None: - """Write Stimuli Positions. + def exit_display(self) -> None: + self.display.capture_grid_screenshot(self.file_save) + return super().exit_display() - Write the positions of the stimuli to a json file. - """ - save_stimuli_position_info( - self.matrix._stim_positions, - self.file_save, - self.screen_info) + def cleanup(self) -> None: + # TODO: refactor offline_analysis to use session data and and remove this. + save_stimuli_position_info(self.display.stim_positions, self.file_save, + self.screen_info) + return super().cleanup() - def name(self) -> str: - return 'Matrix Calibration Task' + def session_task_data(self) -> Optional[Dict[str, Any]]: + return {**self.display.stim_positions, **self.screen_info} -def init_calibration_display_task( - parameters: Parameters, - window: visual.Window, - experiment_clock: Clock, - symbol_set: core.StaticPeriod) -> MatrixDisplay: +def init_matrix_display(parameters: Parameters, window: visual.Window, + experiment_clock: Clock, + symbol_set: core.StaticPeriod) -> MatrixDisplay: + """Initialize the matrix display""" info = InformationProperties( info_color=[parameters['info_color']], - info_pos=[(parameters['info_pos_x'], - parameters['info_pos_y'])], + info_pos=[(parameters['info_pos_x'], parameters['info_pos_y'])], info_height=[parameters['info_height']], info_font=[parameters['font']], info_text=[parameters['info_text']], @@ -287,7 +77,8 @@ def init_calibration_display_task( stim_pos=(-0.6, 0.4), stim_height=0.1, stim_inquiry=[''] * parameters['stim_length'], - stim_colors=[parameters['stim_color']] * parameters['stim_length'], + stim_colors=[parameters['stim_color']] * + parameters['stim_length'], stim_timing=[10] * parameters['stim_length'], is_txt_stim=parameters['is_txt_stim'], prompt_time=parameters["time_prompt"]) @@ -300,15 +91,14 @@ def init_calibration_display_task( height=parameters['task_height'], padding=parameters['task_padding']) - return MatrixDisplay( - window, - experiment_clock, - stimuli, - task_bar, - info, - rows=parameters['matrix_rows'], - columns=parameters['matrix_columns'], - width_pct=parameters['matrix_width'], - height_pct=1 - (2 * task_bar.height_pct), - trigger_type=parameters['trigger_type'], - symbol_set=symbol_set) + return MatrixDisplay(window, + experiment_clock, + stimuli, + task_bar, + info, + rows=parameters['matrix_rows'], + columns=parameters['matrix_columns'], + width_pct=parameters['matrix_width'], + height_pct=1 - (2 * task_bar.height_pct), + trigger_type=parameters['trigger_type'], + symbol_set=symbol_set) diff --git a/bcipy/task/paradigm/matrix/timing_verification.py b/bcipy/task/paradigm/matrix/timing_verification.py index ea5f9fa1d..2638f52a8 100644 --- a/bcipy/task/paradigm/matrix/timing_verification.py +++ b/bcipy/task/paradigm/matrix/timing_verification.py @@ -1,9 +1,11 @@ -from itertools import cycle -from typing import List -from bcipy.task.paradigm.matrix.calibration import ( - MatrixCalibrationTask, InquirySchedule, DEFAULT_TEXT_FIXATION, MatrixDisplay, - init_calibration_display_task) -from bcipy.helpers.stimuli import PhotoDiodeStimuli, jittered_timing +from itertools import cycle, islice, repeat +from typing import Iterator, List + +from bcipy.helpers.stimuli import (PhotoDiodeStimuli, get_fixation, + jittered_timing) +from bcipy.task.base_calibration import Inquiry +from bcipy.task.paradigm.matrix.calibration import (MatrixCalibrationTask, + MatrixDisplay) class MatrixTimingVerificationCalibration(MatrixCalibrationTask): @@ -25,36 +27,39 @@ class MatrixTimingVerificationCalibration(MatrixCalibrationTask): def init_display(self) -> MatrixDisplay: """Initialize the display""" - display = init_calibration_display_task( - self.parameters, self.window, self.experiment_clock, - symbols_with_photodiode_stim(self.symbol_set)) + display = super().init_display() display.start_opacity = 0.0 return display - def generate_stimuli(self) -> InquirySchedule: - """Generates the inquiries to be presented. - """ - samples, times, colors = [], [], [] - [time_target, time_fixation, time_stim] = self.timing - stimuli = cycle(PhotoDiodeStimuli.list()) - stim_timing = jittered_timing(time_stim, self.jitter, self.stim_length) + @property + def symbol_set(self) -> List[str]: + """Symbols used in the calibration""" + return symbols_with_photodiode_stim(super().symbol_set) - # advance iterator to start on the solid stim. - next(stimuli) + def init_inquiry_generator(self) -> Iterator[Inquiry]: + params = self.parameters # alternate between solid and empty boxes - inq_stim = [PhotoDiodeStimuli.SOLID.value, DEFAULT_TEXT_FIXATION - ] + [next(stimuli) for _ in range(self.stim_length)] - inq_times = [time_target, time_fixation - ] + stim_timing - inq_colors = [self.color[0]] * (self.stim_length + 2) - - for _ in range(self.stim_number): - samples.append(inq_stim) - times.append(inq_times) - colors.append(inq_colors) - - return InquirySchedule(samples, times, colors) + letters = cycle(PhotoDiodeStimuli.list()) + # advance to solid + next(letters) + fixation = get_fixation(is_txt=True) + + inq_len = params['stim_length'] + stimuli = [ + PhotoDiodeStimuli.SOLID.value, fixation, *islice(letters, inq_len) + ] + durations = [ + params['time_prompt'], params['time_fixation'], *jittered_timing( + params['time_flash'], params['stim_jitter'], inq_len) + ] + colors = [ + params['target_color'], params['fixation_color'], + *repeat(params['stim_color'], inq_len) + ] + + return repeat(Inquiry(stimuli, durations, colors), + params['stim_number']) def symbols_with_photodiode_stim(symbols: List[str]) -> List[str]: From e957f941ebdb607db0ad110b55802489bb786af7 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 11 Jun 2024 17:03:48 -0700 Subject: [PATCH 261/330] Refactor VEP calibration to subclass BaseCalibration task --- bcipy/task/paradigm/vep/calibration.py | 294 ++++++------------------- 1 file changed, 65 insertions(+), 229 deletions(-) diff --git a/bcipy/task/paradigm/vep/calibration.py b/bcipy/task/paradigm/vep/calibration.py index f090276c7..1119f7422 100644 --- a/bcipy/task/paradigm/vep/calibration.py +++ b/bcipy/task/paradigm/vep/calibration.py @@ -1,11 +1,9 @@ """VEP Calibration task-related code""" -from typing import Any, Dict, List, Tuple, Union +from typing import Any, Dict, Iterator, List, Optional -from psychopy import core, visual # type: ignore +from psychopy import visual # type: ignore from bcipy.acquisition.multimodal import ClientManager -from bcipy.config import (SESSION_DATA_FILENAME, TRIGGER_FILENAME, - WAIT_SCREEN_MESSAGE) from bcipy.display import InformationProperties, VEPStimuliProperties from bcipy.display.components.layout import centered from bcipy.display.components.task_bar import CalibrationTaskBar @@ -14,30 +12,13 @@ from bcipy.display.paradigm.vep.layout import BoxConfiguration from bcipy.helpers.clock import Clock from bcipy.helpers.parameters import Parameters -from bcipy.helpers.save import _save_session_related_data -from bcipy.helpers.symbols import alphabet -from bcipy.helpers.task import get_user_input, trial_complete_message -from bcipy.helpers.triggers import (FlushFrequency, Trigger, TriggerHandler, - TriggerType, convert_timing_triggers, - offset_label) -from bcipy.task import Task -from bcipy.task.data import Inquiry, Session -from bcipy.task.paradigm.vep.stim_generation import ( - InquirySchedule, generate_vep_calibration_inquiries) +from bcipy.helpers.triggers import TriggerType +from bcipy.task.base_calibration import BaseCalibrationTask, Inquiry +from bcipy.task.paradigm.vep.stim_generation import \ + generate_vep_calibration_inquiries -def trigger_type(symbol: str, target: str, _index: int) -> TriggerType: - """Trigger Type. - - This method is passed to convert_timing_triggers to properly assign TriggerTypes - to the timing of stimuli presented. - """ - if target == symbol: - return TriggerType.TARGET - return TriggerType.EVENT - - -class VEPCalibrationTask(Task): +class VEPCalibrationTask(BaseCalibrationTask): """VEP Calibration Task. A task begins setting up variables --> initializing eeg --> @@ -56,46 +37,40 @@ class VEPCalibrationTask(Task): def __init__(self, win: visual.Window, daq: ClientManager, parameters: Parameters, file_save: str): - super(VEPCalibrationTask, self).__init__() - self.num_boxes = 6 - self.window = win - self.frame_rate = self.window.getActualFrameRate() - self.parameters = parameters - self.daq = daq - self.static_clock = core.StaticPeriod(screenHz=self.frame_rate) - self.experiment_clock = Clock() - self.start_time = self.experiment_clock.getTime() - self.buffer_val = parameters['task_buffer_length'] - self.symbol_set = alphabet(parameters) - - self.file_save = file_save - self.trigger_handler = TriggerHandler(self.file_save, TRIGGER_FILENAME, - FlushFrequency.EVERY) - - self.wait_screen_message = WAIT_SCREEN_MESSAGE - self.wait_screen_message_color = parameters['stim_color'] - - self.stim_number = parameters['stim_number'] - - self.timing = [ - parameters['time_prompt'], parameters['time_fixation'], - parameters['time_flash'] - ] - - self.color = [ - parameters['target_color'], parameters['fixation_color'], + self.box_colors = [ '#00FF80', '#FFFFB3', '#CB99FF', '#FB8072', '#80B1D3', '#FF8232' ] + self.num_boxes = 6 + super().__init__(win, daq, parameters, file_save) - self.is_txt_stim = parameters['is_txt_stim'] - self.display = self.init_display() - - self.session = Session(save_location=self.file_save, - task='Calibration', - mode=self.MODE, - symbol_set=self.symbol_set, - task_data=self.session_task_data()) - self.write_session_data() + def init_display(self) -> VEPDisplay: + """Initialize the display""" + return init_vep_display(self.parameters, self.window, + self.experiment_clock, self.symbol_set, + self.box_colors) + + def init_inquiry_generator(self) -> Iterator[Inquiry]: + """Initializes a generator that returns inquiries to be presented.""" + parameters = self.parameters + schedule = generate_vep_calibration_inquiries( + alp=self.symbol_set, + timing=[ + parameters['time_prompt'], parameters['time_fixation'], + parameters['time_flash'] + ], + color=[ + parameters['target_color'], parameters['fixation_color'], + *self.box_colors + ], + inquiry_count=parameters['stim_number'], + num_boxes=self.num_boxes) + return (Inquiry(*inq) for inq in schedule) + + def trigger_type(self, symbol: str, target: str, + index: int) -> TriggerType: + if target == symbol: + return TriggerType.TARGET + return TriggerType.EVENT def session_task_data(self) -> Dict[str, Any]: """Task-specific session data""" @@ -109,185 +84,39 @@ def session_task_data(self) -> Dict[str, Any]: "symbol_starting_positions": self.display.starting_positions } - def init_display(self) -> VEPDisplay: - """Initialize the display""" - return init_calibration_display(self.parameters, self.window, - self.experiment_clock, self.symbol_set, - self.timing, self.color) - - def generate_stimuli(self) -> InquirySchedule: - """Generates the inquiries to be presented. - Returns: - -------- - tuple( - samples[list[list[str]]]: list of inquiries - timing(list[list[float]]): list of timings - color(list(list[str])): list of colors) - """ - return generate_vep_calibration_inquiries( - alp=self.symbol_set, - timing=self.timing, - color=self.color, - inquiry_count=self.stim_number, - num_boxes=self.num_boxes, - is_txt=self.is_txt_stim) - - def execute(self): - """Main task loop""" - self.logger.info(f'Starting {self.name()}!') - run = True - - # Check user input to make sure we should be going - if not get_user_input(self.display, - self.wait_screen_message, - self.wait_screen_message_color, - first_run=True): - run = False - - # Wait for a time - core.wait(self.buffer_val) - - # Begin the Experiment - while run: - - # Get inquiry information given stimuli parameters - (stimuli_labels, _timing, _colors) = self.generate_stimuli() - - for inquiry in range(self.stim_number): - # check user input to make sure we should be going - if not get_user_input(self.display, self.wait_screen_message, - self.wait_screen_message_color): - break - - # update task state - self.display.update_task_bar(str(inquiry + 1)) - - # Draw and flip screen - self.display.draw_static() - self.window.flip() - - self.display.schedule_to(stimuli_labels[inquiry]) - # Schedule an inquiry - - # Wait for a time - core.wait(self.buffer_val) - - # Do the inquiry - timing = self.display.do_inquiry() - - # Write triggers for the inquiry - self.write_trigger_data(timing, first_run=(inquiry == 0)) - - self.update_session_data(stimuli_labels[inquiry]) - - # Wait for a time - core.wait(self.buffer_val) - - # Set run to False to stop looping - run = False - - # Say Goodbye! - self.display.info_text = trial_complete_message( - self.window, self.parameters) - self.display.draw_static() - self.window.flip() - - # Allow for some training data to be collected - core.wait(self.buffer_val) - self.write_offset_trigger() - - return self.file_save - - def write_trigger_data(self, timing: List[Tuple[str, float]], - first_run: bool) -> None: - """Write Trigger Data. - - Using the timing provided from the display and calibration information - from the data acquisition client, write trigger data in the correct - format. - """ - triggers = [] - if first_run: - assert self.display.first_stim_time, "First stim time not set" - for content_type, client in self.daq.clients_by_type.items(): - label = offset_label(content_type.name) - time = client.offset(self.display.first_stim_time - ) - self.display.first_stim_time - triggers.append(Trigger(label, TriggerType.OFFSET, time)) - - target = timing[0][0] - triggers.extend(convert_timing_triggers(timing, target, trigger_type)) - self.trigger_handler.add_triggers(triggers) - - def write_offset_trigger(self) -> None: - """Append an offset value to the end of the trigger file.""" - assert self.display.first_stim_time, "First stim time not set" - triggers = [] - for content_type, client in self.daq.clients_by_type.items(): - label = offset_label(content_type.name, prefix='daq_sample_offset') - time = client.offset(self.display.first_stim_time) - triggers.append(Trigger(label, TriggerType.SYSTEM, time)) - - self.trigger_handler.add_triggers(triggers) - self.trigger_handler.close() - - def write_session_data(self) -> None: - """Save session data to disk.""" - if self.session: - session_file = _save_session_related_data( - f"{self.file_save}/{SESSION_DATA_FILENAME}", - self.session.as_dict()) - session_file.close() - - def update_session_data(self, inquiry: List[Union[List[str], - str]]) -> None: - """Adds the inquiry to the session data and writes to disk. - - Parameters - ---------- - inquiry - list of target, fixation, and sublists representing each - vep box and its content symbols. - """ - target_letter, _fixation, *boxes = inquiry - assert isinstance(target_letter, str), "unexpected inquiry format" - - target_box = None - for i, box in enumerate(boxes): - if target_letter in box: - target_box = i - + def session_inquiry_data(self, + inquiry: Inquiry) -> Optional[Dict[str, Any]]: + """Defines task-specific session data for each inquiry.""" + target_box = target_box_index(inquiry) target_freq = self.display.flicker_rates[ target_box] if target_box is not None else None - - task_data = { + return { 'target_box_index': target_box, 'target_frequency': target_freq } + def stim_labels(self, inquiry: Inquiry) -> List[str]: + """labels for each stimuli in the session data.""" + target_box = target_box_index(inquiry) targetness = [TriggerType.NONTARGET for _ in range(self.num_boxes)] if target_box is not None: targetness[target_box] = TriggerType.TARGET - trg_types = [TriggerType.PROMPT, TriggerType.FIXATION, *targetness] + labels = [TriggerType.PROMPT, TriggerType.FIXATION, *targetness] + return list(map(str, labels)) - data = Inquiry(stimuli=inquiry, - timing=[], - triggers=[], - target_info=list(map(str, trg_types)), - target_letter=target_letter, - task_data=task_data) - self.session.add_sequence(data) - self.session.total_time_spent = self.experiment_clock.getTime( - ) - self.start_time - self.write_session_data() - def name(self): - return 'VEP Calibration Task' +def target_box_index(inquiry: Inquiry) -> Optional[int]: + """Index of the target box.""" + target_letter, _fixation, *boxes = inquiry.stimuli + for i, box in enumerate(boxes): + if target_letter in box: + return i + return None -def init_calibration_display(parameters: Parameters, window: visual.Window, - experiment_clock: Clock, symbol_set: List[str], - timing: List[float], - colors: List[str]) -> VEPDisplay: +def init_vep_display(parameters: Parameters, window: visual.Window, + experiment_clock: Clock, symbol_set: List[str], + box_colors: List[str]) -> VEPDisplay: """Initialize the display""" info = InformationProperties( info_color=[parameters['info_color']], @@ -300,6 +129,13 @@ def init_calibration_display(parameters: Parameters, window: visual.Window, layout = centered(width_pct=0.95, height_pct=0.80) box_config = BoxConfiguration(layout, height_pct=0.30) + timing = [ + parameters['time_prompt'], parameters['time_fixation'], + parameters['time_flash'] + ] + colors = [ + parameters['target_color'], parameters['fixation_color'], *box_colors + ] stim_props = VEPStimuliProperties( stim_font=parameters['font'], stim_pos=box_config.positions, From 10f91c4409089a4d8a25b9523a945d9094793598 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 11 Jun 2024 17:12:31 -0700 Subject: [PATCH 262/330] Linting --- bcipy/task/base_calibration.py | 2 +- bcipy/task/paradigm/rsvp/calibration/calibration.py | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/bcipy/task/base_calibration.py b/bcipy/task/base_calibration.py index 9d042bd01..e62dd5904 100644 --- a/bcipy/task/base_calibration.py +++ b/bcipy/task/base_calibration.py @@ -174,7 +174,7 @@ def present_inquiry(self, index: int, ---------- - index : current index - inquiry : next sequence of stimuli to present. - + Returns ------- List of stim_times (tuples representing the stimulus and time that diff --git a/bcipy/task/paradigm/rsvp/calibration/calibration.py b/bcipy/task/paradigm/rsvp/calibration/calibration.py index 816b04e59..9155b611a 100644 --- a/bcipy/task/paradigm/rsvp/calibration/calibration.py +++ b/bcipy/task/paradigm/rsvp/calibration/calibration.py @@ -44,7 +44,6 @@ def trigger_type(self, symbol: str, target: str, return TriggerType.TARGET return TriggerType.NONTARGET - def init_display(self) -> Display: return init_calibration_display_task(self.parameters, self.window, self.static_clock, From c8fa778fafc1e2a561d330329e643560b85c786f Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 26 Jun 2024 10:19:05 -0700 Subject: [PATCH 263/330] Refactor InquirySchedule iterator to retain expected properties of a NamedTuple --- bcipy/helpers/stimuli.py | 4 +++- bcipy/task/base_calibration.py | 4 ++-- bcipy/task/paradigm/vep/calibration.py | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index b33b928fb..7bd6b4a68 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -94,7 +94,9 @@ def count(self) -> int: """Number of stimuli""" return len(self.stimuli) - def __iter__(self): + def inquiries(self) -> Iterator[Tuple]: + """Generator that iterates through each Inquiry. Yields tuples of + (stim, duration, color).""" count = self.count index = 0 while index < count: diff --git a/bcipy/task/base_calibration.py b/bcipy/task/base_calibration.py index e62dd5904..eaf8b7f71 100644 --- a/bcipy/task/base_calibration.py +++ b/bcipy/task/base_calibration.py @@ -137,7 +137,7 @@ def init_inquiry_generator(self) -> Iterator[Inquiry]: parameters['target_color'], parameters['fixation_color'], parameters['stim_color'] ]) - return (Inquiry(*inq) for inq in schedule) + return (Inquiry(*inq) for inq in schedule.inquiries()) def init_session(self) -> session_data.Session: """Initialize the session data.""" @@ -225,7 +225,7 @@ def execute(self) -> str: timing = self.present_inquiry(inq_index, inquiry) # Write triggers for the inquiry - self.write_trigger_data(timing, first_run=inq_index == 0) + self.write_trigger_data(timing, inq_index == 0) self.add_session_data(inquiry) # Wait for a time diff --git a/bcipy/task/paradigm/vep/calibration.py b/bcipy/task/paradigm/vep/calibration.py index 1119f7422..b3f15d325 100644 --- a/bcipy/task/paradigm/vep/calibration.py +++ b/bcipy/task/paradigm/vep/calibration.py @@ -64,7 +64,7 @@ def init_inquiry_generator(self) -> Iterator[Inquiry]: ], inquiry_count=parameters['stim_number'], num_boxes=self.num_boxes) - return (Inquiry(*inq) for inq in schedule) + return (Inquiry(*inq) for inq in schedule.inquiries()) def trigger_type(self, symbol: str, target: str, index: int) -> TriggerType: From 18ebe1e3b09b6701f84f3c29fb6cbc94bbe062a8 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 26 Jun 2024 10:19:37 -0700 Subject: [PATCH 264/330] Refactor unit tests for matrix calibration --- .../matrix/test_matrix_calibration.py | 302 ++++++++++-------- 1 file changed, 176 insertions(+), 126 deletions(-) diff --git a/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py b/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py index f9bd4b24f..0ab9c8081 100644 --- a/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py +++ b/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py @@ -1,10 +1,11 @@ import unittest +from unittest.mock import Mock, patch import numpy as np import psychopy -from mock import mock_open, patch from mockito import any, mock, unstub, verify, when +import bcipy.task.base_calibration import bcipy.task.paradigm.matrix.calibration from bcipy.acquisition import LslAcquisitionClient from bcipy.acquisition.devices import DeviceSpec @@ -83,16 +84,15 @@ def setUp(self): 'offset': lambda x: 0.0, }, spec=LslAcquisitionClient) - self.daq = mock( - { - 'device_spec': device_spec, - 'is_calibrated': True, - 'offset': lambda x: 0.0, - 'device_content_types': [ContentType.EEG], - 'clients_by_type': { - ContentType.EEG: self.eeg_client_mock - } - }) + self.daq = mock({ + 'device_spec': device_spec, + 'is_calibrated': True, + 'offset': lambda x: 0.0, + 'device_content_types': [ContentType.EEG], + 'clients_by_type': { + ContentType.EEG: self.eeg_client_mock + } + }) self.temp_dir = '' self.model_metadata = mock({ 'device_spec': device_spec, @@ -102,216 +102,266 @@ def setUp(self): self.display = mock() self.display.first_stim_time = 0.0 - self.mock_do_inquiry_response = [('a', 0.0), ('+', 0.1), ('b', 0.2), ('c', 0.3), ('a', 0.4)] - when(self.display).do_inquiry().thenReturn(self.mock_do_inquiry_response) + self.display.stim_positions = {'a': (0, 0), 'b': (0, 1)} + self.mock_do_inquiry_response = [('a', 0.0), ('+', 0.1), ('b', 0.2), + ('c', 0.3), ('a', 0.4)] + when(self.display).do_inquiry().thenReturn( + self.mock_do_inquiry_response) when(self.display).wait_screen().thenReturn(None) - when(bcipy.task.paradigm.matrix.calibration).init_calibration_display_task( + when(bcipy.task.paradigm.matrix.calibration).init_matrix_display( self.parameters, self.win, any(), any()).thenReturn(self.display) - when(bcipy.task.paradigm.matrix.calibration).trial_complete_message(any(), any()).thenReturn([]) - + # when(bcipy.task.paradigm.matrix.calibration).trial_complete_message(any(), any()).thenReturn([]) + when( + bcipy.task.paradigm.matrix.calibration).save_stimuli_position_info( + any(), any(), any()).thenReturn(None) when(TriggerHandler).add_triggers(any()).thenReturn() when(psychopy.event).getKeys(keyList=['space', 'escape'], modifiers=False, timeStamped=False).thenReturn(['space']) - when(psychopy.event).getKeys(keyList=['space', 'escape']).thenReturn(['space']) + when(psychopy.event).getKeys(keyList=['space', 'escape']).thenReturn( + ['space']) when(psychopy.core).wait(any()).thenReturn(None) def tearDown(self): """Override""" unstub() - def test_initialize(self): + @patch('bcipy.task.base_calibration.TriggerHandler') + @patch('bcipy.task.base_calibration._save_session_related_data') + def test_initialize(self, save_session_mock, trigger_handler_mock): """Test initialization""" + save_session_mock.return_value = mock() + trigger_handler_mock.return_value = mock() - with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): - MatrixCalibrationTask( - win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + MatrixCalibrationTask(win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) - verify(bcipy.task.paradigm.matrix.calibration, times=1).init_calibration_display_task( - self.parameters, self.win, any(), any()) + verify(bcipy.task.paradigm.matrix.calibration, + times=1).init_matrix_display(self.parameters, self.win, any(), + any()) - def test_execute(self): + @patch('bcipy.task.base_calibration.TriggerHandler') + @patch('bcipy.task.base_calibration._save_session_related_data') + def test_execute(self, save_session_mock, trigger_handler_mock): """Test task execute""" - with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): - task = MatrixCalibrationTask( - win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) - - when(task).write_stimuli_positions().thenReturn(None) + save_session_mock.return_value = mock() + trigger_handler_mock.return_value = mock() + + task = MatrixCalibrationTask(win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) + when(task).write_offset_trigger().thenReturn(None) when(task).write_trigger_data(any(), any()).thenReturn(None) + when(task).write_session_data().thenReturn(None) + when(task).exit_display().thenReturn(None) task.execute() verify(self.display, times=self.parameters['stim_number']).do_inquiry() - verify(task, times=self.parameters['stim_number']).write_trigger_data(any(), any()) + verify(task, times=self.parameters['stim_number']).write_trigger_data( + any(), any()) verify(task, times=1).write_offset_trigger() - def test_validate_parameters_throws_task_exception_empty_parameter(self): + @patch('bcipy.task.base_calibration.TriggerHandler') + @patch('bcipy.task.base_calibration._save_session_related_data') + def test_validate_parameters_throws_task_exception_empty_parameter( + self, save_session_mock, trigger_handler_mock): """Test validate parameters throws task exception when parameters is empty.""" + save_session_mock.return_value = mock() + trigger_handler_mock.return_value = mock() parameters = {} with self.assertRaises(Exception): - with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): - MatrixCalibrationTask( - win=self.win, - daq=self.daq, - parameters=parameters, - file_save=self.temp_dir) - - def test_execute_save_stimuli_positions(self): + MatrixCalibrationTask(win=self.win, + daq=self.daq, + parameters=parameters, + file_save=self.temp_dir) + + @patch('bcipy.task.base_calibration.TriggerHandler') + @patch('bcipy.task.base_calibration._save_session_related_data') + def test_execute_save_stimuli_positions(self, save_session_mock, + trigger_handler_mock): """Test execute save stimuli positions method is called as expected.""" - with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): - task = MatrixCalibrationTask( - win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) - - when(bcipy.task.paradigm.matrix.calibration).save_stimuli_position_info( - any(), any(), task.screen_info).thenReturn(None) + save_session_mock.return_value = mock() + trigger_handler_mock.return_value = mock() + + task = MatrixCalibrationTask(win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) + when(task).write_offset_trigger().thenReturn(None) when(task).write_trigger_data(any(), any()).thenReturn(None) + when(task).write_session_data().thenReturn(None) + when(task).exit_display().thenReturn(None) task.execute() + verify(bcipy.task.paradigm.matrix.calibration, + times=1).save_stimuli_position_info(any(), any(), + task.screen_info) - verify(bcipy.task.paradigm.matrix.calibration, times=1).save_stimuli_position_info( - any(), any(), task.screen_info) verify(self.display, times=self.parameters['stim_number']).do_inquiry() - verify(task, times=self.parameters['stim_number']).write_trigger_data(any(), any()) + verify(task, times=self.parameters['stim_number']).write_trigger_data( + any(), any()) verify(task, times=1).write_offset_trigger() - def test_trigger_type_targetness(self): + @patch('bcipy.task.base_calibration.TriggerHandler') + @patch('bcipy.task.base_calibration._save_session_related_data') + def test_trigger_type_targetness(self, save_session_mock, + trigger_handler_mock): """Test trigger type targetness.""" - with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): - task = MatrixCalibrationTask( - win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + save_session_mock.return_value = mock() + trigger_handler_mock.return_value = mock() + + task = MatrixCalibrationTask(win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) # non-target symbol = 'N' target = 'X' index = 1 - self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.NONTARGET) + self.assertEqual(task.trigger_type(symbol, target, index), + TriggerType.NONTARGET) # target symbol = 'X' target = 'X' index = 1 - self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.TARGET) + self.assertEqual(task.trigger_type(symbol, target, index), + TriggerType.TARGET) - def test_trigger_type_fixation(self): + @patch('bcipy.task.base_calibration.TriggerHandler') + @patch('bcipy.task.base_calibration._save_session_related_data') + def test_trigger_type_fixation(self, save_session_mock, + trigger_handler_mock): """Test trigger type fixation.""" - with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): - task = MatrixCalibrationTask( - win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + save_session_mock.return_value = mock() + trigger_handler_mock.return_value = mock() + task = MatrixCalibrationTask(win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) # fixation symbol = '+' target = 'X' index = 1 - self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.FIXATION) + self.assertEqual(task.trigger_type(symbol, target, index), + TriggerType.FIXATION) - def test_trigger_type_prompt(self): + @patch('bcipy.task.base_calibration.TriggerHandler') + @patch('bcipy.task.base_calibration._save_session_related_data') + def test_trigger_type_prompt(self, save_session_mock, + trigger_handler_mock): """Test trigger type prompt.""" - with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): - task = MatrixCalibrationTask( - win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + save_session_mock.return_value = mock() + trigger_handler_mock.return_value = mock() + + task = MatrixCalibrationTask(win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) # prompt, index = 0, otherwise it would be a target symbol = 'P' target = 'P' index = 0 - self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.PROMPT) + self.assertEqual(task.trigger_type(symbol, target, index), + TriggerType.PROMPT) - def test_write_trigger_data_first_run(self): + @patch('bcipy.task.base_calibration.TriggerHandler') + @patch('bcipy.task.base_calibration._save_session_related_data') + def test_write_trigger_data_first_run(self, save_session_mock, + trigger_handler_mock): """Test write trigger data when it is the first run of the task.""" - with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): - task = MatrixCalibrationTask( - win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + handler_mock = Mock() + save_session_mock.return_value = mock() + trigger_handler_mock.return_value = handler_mock + + task = MatrixCalibrationTask(win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) client_by_type_resp = {ContentType.EEG: self.eeg_client_mock} timing_mock = mock() timing = [('a', 0.0)] first_run = True - when(self.daq).client_by_type(ContentType.EEG).thenReturn(client_by_type_resp) - when(bcipy.task.paradigm.matrix.calibration).offset_label('EEG').thenReturn('starting_offset') - when(bcipy.task.paradigm.matrix.calibration).convert_timing_triggers( + when(self.daq).client_by_type( + ContentType.EEG).thenReturn(client_by_type_resp) + when(bcipy.task.base_calibration).offset_label('EEG').thenReturn( + 'starting_offset') + when(bcipy.task.base_calibration).convert_timing_triggers( timing, timing[0][0], any()).thenReturn(timing_mock) task.write_trigger_data(timing, first_run) + self.assertEqual(2, handler_mock.add_triggers.call_count) - verify(TriggerHandler, times=2).add_triggers(any()) verify(self.eeg_client_mock, times=1).offset(0.0) - verify(bcipy.task.paradigm.matrix.calibration, times=1).offset_label( - 'EEG') - verify(bcipy.task.paradigm.matrix.calibration, times=1).convert_timing_triggers( - timing, timing[0][0], any()) - - def test_write_trigger_data_not_first_run(self): + verify(bcipy.task.base_calibration, times=1).offset_label('EEG') + verify(bcipy.task.base_calibration, + times=1).convert_timing_triggers(timing, timing[0][0], any()) + + @patch('bcipy.task.base_calibration.TriggerHandler') + @patch('bcipy.task.base_calibration._save_session_related_data') + def test_write_trigger_data_not_first_run(self, save_session_mock, + trigger_handler_mock): """Test write trigger data when it is not the first run of the task.""" - with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): - task = MatrixCalibrationTask( - win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + handler_mock = Mock() + save_session_mock.return_value = mock() + trigger_handler_mock.return_value = handler_mock + + task = MatrixCalibrationTask(win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) timing_mock = mock() timing = [('a', 0.0)] first_run = False - when(bcipy.task.paradigm.matrix.calibration).convert_timing_triggers( + when(bcipy.task.base_calibration).convert_timing_triggers( timing, timing[0][0], any()).thenReturn(timing_mock) task.write_trigger_data(timing, first_run) + handler_mock.add_triggers.assert_called_once() - verify(TriggerHandler, times=1).add_triggers(any()) - - def test_write_offset_trigger(self): + @patch('bcipy.task.base_calibration.TriggerHandler') + @patch('bcipy.task.base_calibration._save_session_related_data') + def test_write_offset_trigger(self, save_session_mock, + trigger_handler_mock): """Test write offset trigger""" - with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): - task = MatrixCalibrationTask( - win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + save_session_mock.return_value = mock() + handler_mock = Mock() + trigger_handler_mock.return_value = handler_mock + + task = MatrixCalibrationTask(win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) client_by_type_resp = {ContentType.EEG: self.eeg_client_mock} - when(self.daq).client_by_type(ContentType.EEG).thenReturn(client_by_type_resp) - when(bcipy.task.paradigm.matrix.calibration).offset_label( - 'EEG', - prefix='daq_sample_offset').thenReturn('daq_sample_offset') - - when(TriggerHandler).close().thenReturn() + when(self.daq).client_by_type( + ContentType.EEG).thenReturn(client_by_type_resp) + when(bcipy.task.base_calibration).offset_label( + 'EEG', prefix='daq_sample_offset').thenReturn('daq_sample_offset') task.write_offset_trigger() - - verify(TriggerHandler, times=1).close() - verify(TriggerHandler, times=1).add_triggers(any()) + handler_mock.close.assert_called_once() + handler_mock.add_triggers.assert_called_once() verify(self.eeg_client_mock, times=1).offset(0.0) - verify(bcipy.task.paradigm.matrix.calibration, times=1).offset_label( - 'EEG', prefix='daq_sample_offset') + verify(bcipy.task.base_calibration, + times=1).offset_label('EEG', prefix='daq_sample_offset') if __name__ == '__main__': From cca8366f04730d594a32899154c5c94105bc346e Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 26 Jun 2024 11:33:13 -0700 Subject: [PATCH 265/330] Refactor RSVP calibration unit tests --- .../rsvp/calibration/test_rsvp_calibration.py | 297 ++++++++++-------- 1 file changed, 169 insertions(+), 128 deletions(-) diff --git a/bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py b/bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py index 8f6f10f52..f2dda084d 100644 --- a/bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py +++ b/bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py @@ -1,7 +1,7 @@ import unittest +from unittest.mock import Mock, patch import psychopy -from mock import mock_open, patch from mockito import any, mock, unstub, verify, when import bcipy.task.paradigm.rsvp.calibration.calibration @@ -82,16 +82,15 @@ def setUp(self): 'offset': lambda x: 0.0, }, spec=LslAcquisitionClient) - self.daq = mock( - { - 'device_spec': device_spec, - 'is_calibrated': True, - 'offset': lambda x: 0.0, - 'device_content_types': [ContentType.EEG], - 'clients_by_type': { - ContentType.EEG: self.eeg_client_mock - } - }) + self.daq = mock({ + 'device_spec': device_spec, + 'is_calibrated': True, + 'offset': lambda x: 0.0, + 'device_content_types': [ContentType.EEG], + 'clients_by_type': { + ContentType.EEG: self.eeg_client_mock + } + }) self.temp_dir = '' self.model_metadata = mock({ 'device_spec': device_spec, @@ -101,212 +100,254 @@ def setUp(self): self.display = mock() self.display.first_stim_time = 0.0 - self.mock_do_inquiry_response = [('a', 0.0), ('+', 0.1), ('b', 0.2), ('c', 0.3), ('a', 0.4)] - when(self.display).do_inquiry(preview_calibration=False).thenReturn(self.mock_do_inquiry_response) + self.mock_do_inquiry_response = [('a', 0.0), ('+', 0.1), ('b', 0.2), + ('c', 0.3), ('a', 0.4)] + when(self.display).do_inquiry(preview_calibration=False).thenReturn( + self.mock_do_inquiry_response) when(self.display).wait_screen().thenReturn(None) - when(bcipy.task.paradigm.rsvp.calibration.calibration).init_calibration_display_task( - self.parameters, self.win, any(), any()).thenReturn(self.display) - when(bcipy.task.paradigm.rsvp.calibration.calibration).trial_complete_message(any(), any()).thenReturn([]) - when(TriggerHandler).write().thenReturn() - when(TriggerHandler).add_triggers(any()).thenReturn() + when(bcipy.task.paradigm.rsvp.calibration.calibration + ).init_calibration_display_task(self.parameters, self.win, any(), + any()).thenReturn(self.display) + when(bcipy.task.base_calibration).trial_complete_message( + any(), any()).thenReturn([]) + when(bcipy.task.base_calibration.TriggerHandler).write().thenReturn() + when(bcipy.task.base_calibration.TriggerHandler).add_triggers( + any()).thenReturn() when(psychopy.event).getKeys(keyList=['space', 'escape'], modifiers=False, timeStamped=False).thenReturn(['space']) - when(psychopy.event).getKeys(keyList=['space', 'escape']).thenReturn(['space']) + when(psychopy.event).getKeys(keyList=['space', 'escape']).thenReturn( + ['space']) when(psychopy.core).wait(any()).thenReturn(None) def tearDown(self): """Override""" unstub() - def test_initialize(self): + @patch('bcipy.task.base_calibration.TriggerHandler') + @patch('bcipy.task.base_calibration._save_session_related_data') + def test_initialize(self, save_session_mock, trigger_handler_mock): """Test initialization""" - with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): - RSVPCalibrationTask( - win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) - - verify( - bcipy.task.paradigm.rsvp.calibration.calibration, - times=1).init_calibration_display_task( - self.parameters, - self.win, - any(), - any()) - - def test_execute(self): + + save_session_mock.return_value = mock() + trigger_handler_mock.return_value = mock() + + RSVPCalibrationTask(win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) + + verify(bcipy.task.paradigm.rsvp.calibration.calibration, + times=1).init_calibration_display_task(self.parameters, + self.win, any(), any()) + + @patch('bcipy.task.base_calibration.TriggerHandler') + @patch('bcipy.task.base_calibration._save_session_related_data') + def test_execute(self, save_session_mock, trigger_handler_mock): """Test task execute""" - with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): - task = RSVPCalibrationTask( - win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + save_session_mock.return_value = mock() + trigger_handler_mock.return_value = mock() + task = RSVPCalibrationTask(win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) + when(task).write_offset_trigger().thenReturn(None) when(task).write_trigger_data(any(), any()).thenReturn(None) + when(task).write_session_data().thenReturn(None) + when(task).exit_display().thenReturn(None) task.execute() - verify(self.display, times=self.parameters['stim_number']).do_inquiry(preview_calibration=False) - verify(task, times=self.parameters['stim_number']).write_trigger_data(any(), any()) + verify(self.display, times=self.parameters['stim_number']).do_inquiry() + verify(task, times=self.parameters['stim_number']).write_trigger_data( + any(), any()) verify(task, times=1).write_offset_trigger() - def test_validate_parameters_throws_task_exception_empty_parameter(self): + @patch('bcipy.task.base_calibration.TriggerHandler') + @patch('bcipy.task.base_calibration._save_session_related_data') + def test_validate_parameters_throws_task_exception_empty_parameter( + self, save_session_mock, trigger_handler_mock): """Test validate parameters throws task exception when parameters is empty.""" parameters = {} - + save_session_mock.return_value = mock() + trigger_handler_mock.return_value = mock() with self.assertRaises(Exception): - with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): - RSVPCalibrationTask( - win=self.win, - daq=self.daq, - parameters=parameters, - file_save=self.temp_dir) - - def test_trigger_type_targetness(self): + RSVPCalibrationTask(win=self.win, + daq=self.daq, + parameters=parameters, + file_save=self.temp_dir) + + @patch('bcipy.task.base_calibration.TriggerHandler') + @patch('bcipy.task.base_calibration._save_session_related_data') + def test_trigger_type_targetness(self, save_session_mock, + trigger_handler_mock): """Test trigger type targetness.""" - with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): - task = RSVPCalibrationTask( - win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + save_session_mock.return_value = mock() + trigger_handler_mock.return_value = mock() + task = RSVPCalibrationTask(win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) # non-target symbol = 'N' target = 'X' index = 2 - self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.NONTARGET) + self.assertEqual(task.trigger_type(symbol, target, index), + TriggerType.NONTARGET) # target symbol = 'X' target = 'X' index = 1 - self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.TARGET) + self.assertEqual(task.trigger_type(symbol, target, index), + TriggerType.TARGET) - def test_trigger_type_fixation(self): + @patch('bcipy.task.base_calibration.TriggerHandler') + @patch('bcipy.task.base_calibration._save_session_related_data') + def test_trigger_type_fixation(self, save_session_mock, + trigger_handler_mock): """Test trigger type fixation.""" - with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): - task = RSVPCalibrationTask( - win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + save_session_mock.return_value = mock() + trigger_handler_mock.return_value = mock() + task = RSVPCalibrationTask(win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) # fixation symbol = '+' target = 'X' index = 1 - self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.FIXATION) + self.assertEqual(task.trigger_type(symbol, target, index), + TriggerType.FIXATION) - def test_trigger_type_prompt(self): + @patch('bcipy.task.base_calibration.TriggerHandler') + @patch('bcipy.task.base_calibration._save_session_related_data') + def test_trigger_type_prompt(self, save_session_mock, + trigger_handler_mock): """Test trigger type prompt.""" - with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): - task = RSVPCalibrationTask( - win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + save_session_mock.return_value = mock() + trigger_handler_mock.return_value = mock() + task = RSVPCalibrationTask(win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) # prompt, index = 0, otherwise it would be a target symbol = 'P' target = 'P' index = 0 - self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.PROMPT) + self.assertEqual(task.trigger_type(symbol, target, index), + TriggerType.PROMPT) - def test_trigger_type_preview(self): + @patch('bcipy.task.base_calibration.TriggerHandler') + @patch('bcipy.task.base_calibration._save_session_related_data') + def test_trigger_type_preview(self, save_session_mock, + trigger_handler_mock): """Test trigger type preview.""" - with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): - task = RSVPCalibrationTask( - win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + save_session_mock.return_value = mock() + trigger_handler_mock.return_value = mock() + task = RSVPCalibrationTask(win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) # preview, index > 0, otherwise it would be a prompt symbol = 'inquiry_preview' target = 'P' index = 1 - self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.PREVIEW) + self.assertEqual(task.trigger_type(symbol, target, index), + TriggerType.PREVIEW) - def test_write_trigger_data_first_run(self): + @patch('bcipy.task.base_calibration.TriggerHandler') + @patch('bcipy.task.base_calibration._save_session_related_data') + def test_write_trigger_data_first_run(self, save_session_mock, + trigger_handler_mock): """Test write trigger data when it is the first run of the task.""" - with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): - task = RSVPCalibrationTask( - win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + handler_mock = Mock() + save_session_mock.return_value = mock() + trigger_handler_mock.return_value = handler_mock + task = RSVPCalibrationTask(win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) client_by_type_resp = {ContentType.EEG: self.eeg_client_mock} timing_mock = mock() timing = [('a', 0.0)] first_run = True - when(self.daq).client_by_type(ContentType.EEG).thenReturn(client_by_type_resp) - when(bcipy.task.paradigm.rsvp.calibration.calibration).offset_label('EEG').thenReturn('starting_offset') - when(bcipy.task.paradigm.rsvp.calibration.calibration).convert_timing_triggers( + when(self.daq).client_by_type( + ContentType.EEG).thenReturn(client_by_type_resp) + when(bcipy.task.base_calibration).offset_label('EEG').thenReturn( + 'starting_offset') + when(bcipy.task.base_calibration).convert_timing_triggers( timing, timing[0][0], any()).thenReturn(timing_mock) task.write_trigger_data(timing, first_run) - verify(TriggerHandler, times=2).add_triggers(any()) + self.assertEqual(2, handler_mock.add_triggers.call_count) verify(self.eeg_client_mock, times=1).offset(0.0) - verify(bcipy.task.paradigm.rsvp.calibration.calibration, times=1).offset_label( - 'EEG') - verify(bcipy.task.paradigm.rsvp.calibration.calibration, times=1).convert_timing_triggers( - timing, timing[0][0], any()) - - def test_write_trigger_data_not_first_run(self): + verify(bcipy.task.base_calibration, times=1).offset_label('EEG') + verify(bcipy.task.base_calibration, + times=1).convert_timing_triggers(timing, timing[0][0], any()) + + @patch('bcipy.task.base_calibration.TriggerHandler') + @patch('bcipy.task.base_calibration._save_session_related_data') + def test_write_trigger_data_not_first_run(self, save_session_mock, + trigger_handler_mock): """Test write trigger data when it is not the first run of the task.""" - with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): - task = RSVPCalibrationTask( - win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + handler_mock = Mock() + save_session_mock.return_value = mock() + trigger_handler_mock.return_value = handler_mock + task = RSVPCalibrationTask(win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) timing_mock = mock() timing = [('a', 0.0)] first_run = False - when(bcipy.task.paradigm.rsvp.calibration.calibration).convert_timing_triggers( + when(bcipy.task.base_calibration).convert_timing_triggers( timing, timing[0][0], any()).thenReturn(timing_mock) task.write_trigger_data(timing, first_run) + handler_mock.add_triggers.assert_called_once() - verify(TriggerHandler, times=1).add_triggers(any()) - - def test_write_offset_trigger(self): + @patch('bcipy.task.base_calibration.TriggerHandler') + @patch('bcipy.task.base_calibration._save_session_related_data') + def test_write_offset_trigger(self, save_session_mock, + trigger_handler_mock): """Test write offset trigger""" - with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): - task = RSVPCalibrationTask( - win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + save_session_mock.return_value = mock() + handler_mock = Mock() + trigger_handler_mock.return_value = handler_mock + task = RSVPCalibrationTask(win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) client_by_type_resp = {ContentType.EEG: self.eeg_client_mock} - when(self.daq).client_by_type(ContentType.EEG).thenReturn(client_by_type_resp) - when(bcipy.task.paradigm.rsvp.calibration.calibration).offset_label( - 'EEG', - prefix='daq_sample_offset').thenReturn('daq_sample_offset') + when(self.daq).client_by_type( + ContentType.EEG).thenReturn(client_by_type_resp) + when(bcipy.task.base_calibration).offset_label( + 'EEG', prefix='daq_sample_offset').thenReturn('daq_sample_offset') when(TriggerHandler).close().thenReturn() task.write_offset_trigger() - - verify(TriggerHandler, times=1).close() - verify(TriggerHandler, times=1).add_triggers(any()) + handler_mock.close.assert_called_once() + handler_mock.add_triggers.assert_called_once() verify(self.eeg_client_mock, times=1).offset(0.0) - verify(bcipy.task.paradigm.rsvp.calibration.calibration, times=1).offset_label( - 'EEG', prefix='daq_sample_offset') + verify(bcipy.task.base_calibration, + times=1).offset_label('EEG', prefix='daq_sample_offset') if __name__ == '__main__': From 8e32c5e858956f2a0b4bce2d6c213589bc9cb80c Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 27 Jun 2024 14:24:42 -0700 Subject: [PATCH 266/330] Fixed typing issues and linting --- bcipy/display/main.py | 4 +++- bcipy/display/paradigm/rsvp/display.py | 21 +++++++------------ bcipy/helpers/stimuli.py | 7 +------ bcipy/task/paradigm/matrix/calibration.py | 7 +++++-- bcipy/task/paradigm/vep/calibration.py | 2 ++ .../matrix/test_matrix_calibration.py | 9 ++++++-- .../rsvp/calibration/test_rsvp_calibration.py | 2 +- 7 files changed, 27 insertions(+), 25 deletions(-) diff --git a/bcipy/display/main.py b/bcipy/display/main.py index c87cb12e0..793f21774 100644 --- a/bcipy/display/main.py +++ b/bcipy/display/main.py @@ -23,9 +23,11 @@ class Display(ABC): stimuli_colors: List[str] = None stimuli_timing: List[float] = None task = None + info_text: List[Any] = None + first_stim_time: float = None @abstractmethod - def do_inquiry(self) -> List[float]: + def do_inquiry(self) -> List[Tuple[str, float]]: """Do inquiry. Animates an inquiry of stimuli and returns a list of stimuli trigger timing. diff --git a/bcipy/display/paradigm/rsvp/display.py b/bcipy/display/paradigm/rsvp/display.py index 9813d5ade..25bc577f8 100644 --- a/bcipy/display/paradigm/rsvp/display.py +++ b/bcipy/display/paradigm/rsvp/display.py @@ -1,22 +1,17 @@ import logging import os.path as path -from typing import Optional, List, Tuple +from typing import List, Optional, Tuple -from psychopy import core, visual, event +from psychopy import core, event, visual -from bcipy.helpers.clock import Clock -from bcipy.helpers.task import get_key_press -from bcipy.helpers.symbols import SPACE_CHAR -from bcipy.display import ( - BCIPY_LOGO_PATH, - Display, - InformationProperties, - PreviewInquiryProperties, - StimuliProperties -) +from bcipy.display import (BCIPY_LOGO_PATH, Display, InformationProperties, + PreviewInquiryProperties, StimuliProperties) from bcipy.display.components.task_bar import TaskBar +from bcipy.helpers.clock import Clock from bcipy.helpers.stimuli import resize_image +from bcipy.helpers.symbols import SPACE_CHAR from bcipy.helpers.system_utils import get_screen_info +from bcipy.helpers.task import get_key_press from bcipy.helpers.triggers import TriggerCallback, _calibration_trigger @@ -131,7 +126,7 @@ def schedule_to(self, self.stimuli_timing = timing or [] self.stimuli_colors = colors or [] - def do_inquiry(self, preview_calibration: bool = False) -> List[float]: + def do_inquiry(self, preview_calibration: bool = False) -> List[Tuple[str, float]]: """Do inquiry. Animates an inquiry of flashing letters to achieve RSVP. diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 7bd6b4a68..567e2d8ef 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -89,15 +89,10 @@ class InquirySchedule(NamedTuple): durations: Union[List[List[float]], List[float]] colors: Union[List[List[str]], List[str]] - @property - def count(self) -> int: - """Number of stimuli""" - return len(self.stimuli) - def inquiries(self) -> Iterator[Tuple]: """Generator that iterates through each Inquiry. Yields tuples of (stim, duration, color).""" - count = self.count + count = len(self.stimuli) index = 0 while index < count: yield (self.stimuli[index], self.durations[index], diff --git a/bcipy/task/paradigm/matrix/calibration.py b/bcipy/task/paradigm/matrix/calibration.py index 58f939213..6014fbafe 100644 --- a/bcipy/task/paradigm/matrix/calibration.py +++ b/bcipy/task/paradigm/matrix/calibration.py @@ -2,7 +2,7 @@ from psychopy import core, visual -from bcipy.display import Display, InformationProperties, StimuliProperties +from bcipy.display import InformationProperties, StimuliProperties from bcipy.display.components.task_bar import CalibrationTaskBar from bcipy.display.paradigm.matrix.display import MatrixDisplay from bcipy.helpers.clock import Clock @@ -43,22 +43,25 @@ def screen_info(self) -> Dict[str, Any]: 'screen_units': 'norm', } - def init_display(self) -> Display: + def init_display(self) -> MatrixDisplay: """Initialize the display""" return init_matrix_display(self.parameters, self.window, self.experiment_clock, self.symbol_set) def exit_display(self) -> None: + assert isinstance(self.display, MatrixDisplay) self.display.capture_grid_screenshot(self.file_save) return super().exit_display() def cleanup(self) -> None: + assert isinstance(self.display, MatrixDisplay) # TODO: refactor offline_analysis to use session data and and remove this. save_stimuli_position_info(self.display.stim_positions, self.file_save, self.screen_info) return super().cleanup() def session_task_data(self) -> Optional[Dict[str, Any]]: + assert isinstance(self.display, MatrixDisplay) return {**self.display.stim_positions, **self.screen_info} diff --git a/bcipy/task/paradigm/vep/calibration.py b/bcipy/task/paradigm/vep/calibration.py index b3f15d325..e291a6121 100644 --- a/bcipy/task/paradigm/vep/calibration.py +++ b/bcipy/task/paradigm/vep/calibration.py @@ -74,6 +74,7 @@ def trigger_type(self, symbol: str, target: str, def session_task_data(self) -> Dict[str, Any]: """Task-specific session data""" + assert isinstance(self.display, VEPDisplay) boxes = [{ "colors": box.colors, "flicker_rate": self.display.flicker_rates[i], @@ -87,6 +88,7 @@ def session_task_data(self) -> Dict[str, Any]: def session_inquiry_data(self, inquiry: Inquiry) -> Optional[Dict[str, Any]]: """Defines task-specific session data for each inquiry.""" + assert isinstance(self.display, VEPDisplay) target_box = target_box_index(inquiry) target_freq = self.display.flicker_rates[ target_box] if target_box is not None else None diff --git a/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py b/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py index 0ab9c8081..a72faa29a 100644 --- a/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py +++ b/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py @@ -10,6 +10,7 @@ from bcipy.acquisition import LslAcquisitionClient from bcipy.acquisition.devices import DeviceSpec from bcipy.acquisition.multimodal import ContentType +from bcipy.display.paradigm.matrix import MatrixDisplay from bcipy.helpers.parameters import Parameters from bcipy.helpers.triggers import TriggerHandler, TriggerType from bcipy.task.paradigm.matrix.calibration import MatrixCalibrationTask @@ -100,14 +101,18 @@ def setUp(self): 'evidence_type': 'ERP' }) - self.display = mock() + self.display = mock(spec=MatrixDisplay) self.display.first_stim_time = 0.0 self.display.stim_positions = {'a': (0, 0), 'b': (0, 1)} self.mock_do_inquiry_response = [('a', 0.0), ('+', 0.1), ('b', 0.2), ('c', 0.3), ('a', 0.4)] when(self.display).do_inquiry().thenReturn( self.mock_do_inquiry_response) - when(self.display).wait_screen().thenReturn(None) + # Shouldn't have to mock all these, but otherwise throws an AttributeError. + when(self.display).wait_screen(any, any).thenReturn(None) + when(self.display).update_task_bar(any).thenReturn(None) + when(self.display).draw_static().thenReturn(None) + when(self.display).schedule_to(any, any, any).thenReturn(None) when(bcipy.task.paradigm.matrix.calibration).init_matrix_display( self.parameters, self.win, any(), any()).thenReturn(self.display) diff --git a/bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py b/bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py index f2dda084d..24031d05f 100644 --- a/bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py +++ b/bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py @@ -104,7 +104,7 @@ def setUp(self): ('c', 0.3), ('a', 0.4)] when(self.display).do_inquiry(preview_calibration=False).thenReturn( self.mock_do_inquiry_response) - when(self.display).wait_screen().thenReturn(None) + when(self.display).wait_screen(any, any).thenReturn(None) when(bcipy.task.paradigm.rsvp.calibration.calibration ).init_calibration_display_task(self.parameters, self.win, any(), From 7c2418878ecdfdcd371c93593ff3eaed91b98251 Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 27 Jun 2024 14:47:48 -0700 Subject: [PATCH 267/330] Updated comments --- bcipy/task/base_calibration.py | 1 - 1 file changed, 1 deletion(-) diff --git a/bcipy/task/base_calibration.py b/bcipy/task/base_calibration.py index eaf8b7f71..4cb018479 100644 --- a/bcipy/task/base_calibration.py +++ b/bcipy/task/base_calibration.py @@ -26,7 +26,6 @@ class Inquiry(NamedTuple): """Represents a single Inquiry""" - # TODO: types should also work for VEP stimuli: List[str] durations: List[float] colors: List[str] From 4ebbb7c3d4f494a65f5ea4fb89a79f982c83a4d0 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 3 Jul 2024 13:31:03 -0700 Subject: [PATCH 268/330] Added documentation --- bcipy/task/base_calibration.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/bcipy/task/base_calibration.py b/bcipy/task/base_calibration.py index 4cb018479..93db1d3e0 100644 --- a/bcipy/task/base_calibration.py +++ b/bcipy/task/base_calibration.py @@ -25,7 +25,12 @@ class Inquiry(NamedTuple): - """Represents a single Inquiry""" + """Represents a single Inquiry. + + stimuli - list of [target, fixation, *inquiry_symbols] + durations - duration in seconds to display each symbol + colors - color for each symbol + """ stimuli: List[str] durations: List[float] colors: List[str] @@ -100,6 +105,8 @@ def symbol_set(self) -> List[str]: def name(self) -> str: """Task name""" + if self.MODE == 'Undefined': + raise NotImplementedError return f"{self.MODE} Calibration Task" def wait(self, seconds: Optional[float] = None) -> None: @@ -155,7 +162,8 @@ def trigger_type(self, symbol: str, target: str, """Trigger Type. This method is passed to convert_timing_triggers to properly assign TriggerTypes - to the timing of stimuli presented. + to the timing of stimuli presented. The default implementation assumes an + inquiry with the shape [prompt, fixation, *symbols]. """ if index == 0: return TriggerType.PROMPT From 1df200c2073d91ef2e127d3d8717d6bd33c12838 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 10 Jul 2024 17:17:59 -0700 Subject: [PATCH 269/330] #187737714 ; refactor to configure static_offset per device --- bcipy/acquisition/devices.py | 17 +++++-- bcipy/acquisition/multimodal.py | 12 +++-- .../acquisition/tests/test_client_manager.py | 7 ++- bcipy/acquisition/tests/test_devices.py | 49 +++++++++++++++++-- bcipy/helpers/convert.py | 6 ++- bcipy/helpers/demo/demo_visualization.py | 11 +++-- bcipy/helpers/task.py | 7 ++- .../resources/mock_session/parameters.json | 8 --- bcipy/helpers/tests/test_convert.py | 17 ++++--- bcipy/helpers/visualization.py | 12 ++--- bcipy/parameters/devices.json | 15 ++++-- bcipy/parameters/parameters.json | 8 --- bcipy/signal/model/offline_analysis.py | 2 +- bcipy/task/paradigm/rsvp/copy_phrase.py | 3 +- .../matrix/test_matrix_calibration.py | 1 - .../rsvp/calibration/test_rsvp_calibration.py | 1 - .../tests/paradigm/rsvp/test_copy_phrase.py | 1 - 17 files changed, 113 insertions(+), 64 deletions(-) diff --git a/bcipy/acquisition/devices.py b/bcipy/acquisition/devices.py index 4eb194df9..115b9c00c 100644 --- a/bcipy/acquisition/devices.py +++ b/bcipy/acquisition/devices.py @@ -16,6 +16,7 @@ 'float32', 'double64', 'string', 'int32', 'int16', 'int8' ] DEFAULT_DEVICE_TYPE = 'EEG' +DEFAULT_STATIC_OFFSET = 0.1 log = logging.getLogger(__name__) @@ -85,6 +86,12 @@ class DeviceSpec: see https://labstreaminglayer.readthedocs.io/projects/liblsl/ref/enums.html excluded_from_analysis - list of channels (label) to exclude from analysis. status - recording status + static_offset - Specifies the static trigger offset (in seconds) used to align + triggers properly with EEG data from LSL. The system includes built-in + offset correction, but there is still a hardware-limited offset between EEG + and trigger timing values for which the system does not account. The correct + value may be different for each computer, and must be determined on a + case-by-case basis. Default: 0.1", """ def __init__(self, @@ -95,7 +102,8 @@ def __init__(self, description: Optional[str] = None, excluded_from_analysis: Optional[List[str]] = None, data_type: str = 'float32', - status: DeviceStatus = DeviceStatus.ACTIVE): + status: DeviceStatus = DeviceStatus.ACTIVE, + static_offset: float = DEFAULT_STATIC_OFFSET): assert sample_rate >= 0, "Sample rate can't be negative." assert data_type in SUPPORTED_DATA_TYPES @@ -109,6 +117,7 @@ def __init__(self, self.excluded_from_analysis = excluded_from_analysis or [] self._validate_excluded_channels() self.status = status + self.static_offset = static_offset @property def channel_count(self) -> int: @@ -152,7 +161,8 @@ def to_dict(self) -> dict: 'sample_rate': self.sample_rate, 'description': self.description, 'excluded_from_analysis': self.excluded_from_analysis, - 'status': str(self.status) + 'status': str(self.status), + 'static_offset': self.static_offset } def __str__(self): @@ -188,7 +198,8 @@ def make_device_spec(config: dict) -> DeviceSpec: description=config['description'], excluded_from_analysis=config.get( 'excluded_from_analysis', []), - status=DeviceStatus.from_str(config.get('status', default_status))) + status=DeviceStatus.from_str(config.get('status', default_status)), + static_offset=config.get('static_offset', DEFAULT_STATIC_OFFSET)) def load(config_path: Path = Path(DEFAULT_CONFIG), replace: bool = False) -> Dict[str, DeviceSpec]: diff --git a/bcipy/acquisition/multimodal.py b/bcipy/acquisition/multimodal.py index 7a29405bb..cf13a5613 100644 --- a/bcipy/acquisition/multimodal.py +++ b/bcipy/acquisition/multimodal.py @@ -131,7 +131,9 @@ def get_data_by_device( Parameters ---------- - start - start time (acquisition clock) of data window + start - start time (acquisition clock) of data window; NOTE: the + actual start time will be adjusted to by the static_offset + configured for each device. seconds - duration of data to return for each device content_types - specifies which devices to include; if not unspecified, data for all types is returned. @@ -144,10 +146,12 @@ def get_data_by_device( for content_type in content_types: name = content_type.name client = self.get_client(content_type) + + adjusted_start = start + client.device_spec.static_offset if client.device_spec.sample_rate > 0: count = round(seconds * client.device_spec.sample_rate) log.info(f'Need {count} records for processing {name} data') - output[content_type] = client.get_data(start=start, + output[content_type] = client.get_data(start=adjusted_start, limit=count) data_count = len(output[content_type]) if strict and data_count < count: @@ -155,8 +159,8 @@ def get_data_by_device( raise InsufficientDataException(msg) else: # Markers have an IRREGULAR_RATE. - output[content_type] = client.get_data(start=start, - end=start + seconds) + output[content_type] = client.get_data(start=adjusted_start, + end=adjusted_start + seconds) return output def cleanup(self): diff --git a/bcipy/acquisition/tests/test_client_manager.py b/bcipy/acquisition/tests/test_client_manager.py index 425008698..0d7065d75 100644 --- a/bcipy/acquisition/tests/test_client_manager.py +++ b/bcipy/acquisition/tests/test_client_manager.py @@ -15,6 +15,7 @@ def setUp(self): self.eeg_device_mock.content_type = 'EEG' self.eeg_device_mock.sample_rate = 300 self.eeg_device_mock.is_active = True + self.eeg_device_mock.static_offset = 0.1 self.eeg_client_mock = Mock() self.eeg_client_mock.device_spec = self.eeg_device_mock @@ -26,6 +27,7 @@ def setUp(self): self.gaze_device_mock.content_type = 'Eyetracker' self.gaze_device_mock.sample_rate = 60 self.gaze_device_mock.is_active = False + self.gaze_device_mock.static_offset = 0.0 self.gaze_client_mock = Mock() self.gaze_client_mock.device_spec = self.gaze_device_mock @@ -115,6 +117,7 @@ def test_get_data_by_device(self): switch_device_mock.name = 'Test-switch-2000' switch_device_mock.content_type = 'Markers' switch_device_mock.sample_rate = 0.0 + switch_device_mock.static_offset = 0.2 switch_client_mock = Mock() switch_client_mock.device_spec = switch_device_mock @@ -141,11 +144,11 @@ def test_get_data_by_device(self): ContentType.MARKERS ]) - self.eeg_client_mock.get_data.assert_called_once_with(start=100, + self.eeg_client_mock.get_data.assert_called_once_with(start=100.1, limit=1500) self.gaze_client_mock.get_data.assert_called_once_with(start=100, limit=300) - switch_client_mock.get_data.assert_called_with(start=100, end=105) + switch_client_mock.get_data.assert_called_with(start=100.2, end=105.2) self.assertTrue(ContentType.EEG in results) self.assertTrue(ContentType.EYETRACKER in results) diff --git a/bcipy/acquisition/tests/test_devices.py b/bcipy/acquisition/tests/test_devices.py index aedaea775..dc86980cd 100644 --- a/bcipy/acquisition/tests/test_devices.py +++ b/bcipy/acquisition/tests/test_devices.py @@ -57,6 +57,7 @@ def test_load_from_config(self): self.assertEqual(channels, spec.channels) self.assertEqual(devices.DeviceStatus.ACTIVE, spec.status) self.assertTrue(spec.is_active) + self.assertEqual(spec.static_offset, devices.DEFAULT_STATIC_OFFSET) self.assertEqual(spec, devices.preconfigured_device('DSI-VR300')) shutil.rmtree(temp_dir) @@ -222,9 +223,22 @@ def test_device_spec_to_dict(self): """DeviceSpec should be able to be converted to a dictionary.""" device_name = 'TestDevice' channels = ['C1', 'C2', 'C3'] - expected_channel_output = [{'label': 'C1', 'name': 'C1', 'type': None, 'units': None}, - {'label': 'C2', 'name': 'C2', 'type': None, 'units': None}, - {'label': 'C3', 'name': 'C3', 'type': None, 'units': None}] + expected_channel_output = [{ + 'label': 'C1', + 'name': 'C1', + 'type': None, + 'units': None + }, { + 'label': 'C2', + 'name': 'C2', + 'type': None, + 'units': None + }, { + 'label': 'C3', + 'name': 'C3', + 'type': None, + 'units': None + }] sample_rate = 256.0 content_type = 'EEG' spec = devices.DeviceSpec(name=device_name, @@ -238,6 +252,8 @@ def test_device_spec_to_dict(self): self.assertEqual(expected_channel_output, spec_dict['channels']) self.assertEqual(sample_rate, spec_dict['sample_rate']) self.assertEqual('passive', spec_dict['status']) + self.assertEqual(spec_dict['static_offset'], + devices.DEFAULT_STATIC_OFFSET) def test_load_status(self): """Should be able to load a list of supported devices from a @@ -259,7 +275,32 @@ def test_load_status(self): devices.load(config_path, replace=True) supported = devices.preconfigured_devices() - self.assertEqual(devices.DeviceStatus.PASSIVE, supported['MyDevice'].status) + self.assertEqual(devices.DeviceStatus.PASSIVE, + supported['MyDevice'].status) + shutil.rmtree(temp_dir) + + def test_load_static_offset(self): + """Loaded device should support using a custom static offset.""" + + # create a config file in a temp location. + temp_dir = tempfile.mkdtemp() + offset = 0.2 + my_devices = [ + dict(name="MyDevice", + content_type="EEG", + description="My Device", + channels=["a", "b", "c"], + sample_rate=100.0, + status=str(devices.DeviceStatus.PASSIVE), + static_offset=offset) + ] + config_path = Path(temp_dir, 'my_devices.json') + with open(config_path, 'w', encoding=DEFAULT_ENCODING) as config_file: + json.dump(my_devices, config_file) + + devices.load(config_path, replace=True) + supported = devices.preconfigured_devices() + self.assertEqual(supported['MyDevice'].static_offset, offset) shutil.rmtree(temp_dir) def test_device_status(self): diff --git a/bcipy/helpers/convert.py b/bcipy/helpers/convert.py index 409a40f3d..1b365f9ea 100644 --- a/bcipy/helpers/convert.py +++ b/bcipy/helpers/convert.py @@ -4,7 +4,7 @@ import os import tarfile from pathlib import Path -from typing import Dict, List, Tuple, Optional, Union +from typing import Dict, List, Optional, Tuple, Union import mne import numpy as np @@ -12,6 +12,7 @@ from pyedflib import FILETYPE_BDFPLUS, FILETYPE_EDFPLUS, EdfWriter from tqdm import tqdm +from bcipy.acquisition.devices import preconfigured_device from bcipy.config import (DEFAULT_PARAMETER_FILENAME, RAW_DATA_FILENAME, TRIGGER_FILENAME) from bcipy.helpers.load import load_json_parameters, load_raw_data @@ -177,6 +178,7 @@ def pyedf_convert(data_dir: str, value_cast=True) data = load_raw_data(str(Path(data_dir, f'{RAW_DATA_FILENAME}.csv'))) fs = data.sample_rate + device_spec = preconfigured_device(data.daq_type) if pre_filter: default_transform = get_default_transform( sample_rate_hz=data.sample_rate, @@ -194,7 +196,7 @@ def pyedf_convert(data_dir: str, else: raw_data, _ = data.by_channel() durations = trigger_durations(params) if use_event_durations else {} - static_offset = params['static_trigger_offset'] + static_offset = device_spec.static_offset logger.info(f'Static offset: {static_offset}') trigger_type, trigger_timing, trigger_label = trigger_decoder( diff --git a/bcipy/helpers/demo/demo_visualization.py b/bcipy/helpers/demo/demo_visualization.py index 05e7cfe61..8c08701b9 100644 --- a/bcipy/helpers/demo/demo_visualization.py +++ b/bcipy/helpers/demo/demo_visualization.py @@ -44,7 +44,8 @@ if not path: path = load_experimental_data() - parameters = load_json_parameters(f'{path}/{DEFAULT_PARAMETER_FILENAME}', value_cast=True) + parameters = load_json_parameters(f'{path}/{DEFAULT_PARAMETER_FILENAME}', + value_cast=True) # extract all relevant parameters trial_window = parameters.get("trial_window", (0, 0.5)) @@ -59,12 +60,16 @@ filter_high = parameters.get("filter_high") filter_low = parameters.get("filter_low") filter_order = parameters.get("filter_order") - static_offset = parameters.get("static_trigger_offset") + raw_data = load_raw_data(Path(path, f'{RAW_DATA_FILENAME}.csv')) channels = raw_data.channels type_amp = raw_data.daq_type sample_rate = raw_data.sample_rate + devices.load(Path(path, DEFAULT_DEVICE_SPEC_FILENAME)) + device_spec = devices.preconfigured_device(raw_data.daq_type) + static_offset = device_spec.static_offset + # setup filtering default_transform = get_default_transform( sample_rate_hz=sample_rate, @@ -82,8 +87,6 @@ ) labels = [0 if label == 'nontarget' else 1 for label in trigger_targetness] - devices.load(Path(path, DEFAULT_DEVICE_SPEC_FILENAME)) - device_spec = devices.preconfigured_device(raw_data.daq_type) channel_map = analysis_channels(channels, device_spec) save_path = None if not args.save else path diff --git a/bcipy/helpers/task.py b/bcipy/helpers/task.py index 01a2fa018..1984bd1a4 100644 --- a/bcipy/helpers/task.py +++ b/bcipy/helpers/task.py @@ -180,7 +180,6 @@ def get_data_for_decision(inquiry_timing: List[Tuple[str, float]], def get_device_data_for_decision( inquiry_timing: List[Tuple[str, float]], daq: ClientManager, - offset: float = 0.0, prestim: float = 0.0, poststim: float = 0.0) -> Dict[ContentType, List[Record]]: """Queries the acquisition client manager for a slice of data from each @@ -206,13 +205,13 @@ def get_device_data_for_decision( _, last_stim_time = inquiry_timing[-1] # adjust for offsets - time1 = first_stim_time + offset - prestim - time2 = last_stim_time + offset + time1 = first_stim_time - prestim + time2 = last_stim_time if time2 < time1: raise InsufficientDataException( f'Invalid data query [{time1}-{time2}] with parameters:' - f'[inquiry={inquiry_timing}, offset={offset}, prestim={prestim}, poststim={poststim}]' + f'[inquiry={inquiry_timing}, prestim={prestim}, poststim={poststim}]' ) data = daq.get_data_by_device(start=time1, diff --git a/bcipy/helpers/tests/resources/mock_session/parameters.json b/bcipy/helpers/tests/resources/mock_session/parameters.json index ab56fd55b..f9fcf37d6 100644 --- a/bcipy/helpers/tests/resources/mock_session/parameters.json +++ b/bcipy/helpers/tests/resources/mock_session/parameters.json @@ -58,14 +58,6 @@ ], "type": "str" }, - "static_trigger_offset": { - "value": ".1", - "section": "bci_config", - "readableName": "Static Trigger Offset", - "helpTip": "Specifies the static trigger offset (in seconds) used to align triggers properly with EEG data from LSL. The system includes built-in offset correction, but there is still a hardware-limited offset between EEG and trigger timing values for which the system does not account. The default value of 0.1 has been verified for OHSU hardware. The correct value may be different for other computers, and must be determined on a case-by-case basis. Default: .1", - "recommended_values": "", - "type": "float" - }, "k_folds": { "value": "10", "section": "signal_config", diff --git a/bcipy/helpers/tests/test_convert.py b/bcipy/helpers/tests/test_convert.py index fc31a184e..83399279a 100644 --- a/bcipy/helpers/tests/test_convert.py +++ b/bcipy/helpers/tests/test_convert.py @@ -11,6 +11,7 @@ from mockito import any as any_value from mockito import mock, unstub, verify, verifyNoMoreInteractions, when +import bcipy.acquisition.devices as devices from bcipy.config import (DEFAULT_ENCODING, DEFAULT_PARAMETER_FILENAME, RAW_DATA_FILENAME, TRIGGER_FILENAME) from bcipy.helpers import convert @@ -33,8 +34,7 @@ def create_bcipy_session_artifacts( 'filter_high': 30, 'filter_order': 5, 'notch_filter_frequency': 60, - 'down_sampling_rate': 3, - 'static_trigger_offset': 0.0 + 'down_sampling_rate': 3 }, ) -> Tuple[str, RawData, Parameters]: """Write BciPy session artifacts to a temporary directory. @@ -44,7 +44,9 @@ def create_bcipy_session_artifacts( trg_data = MOCK_TRIGGER_DATA if isinstance(channels, int): channels = [f'ch{i}' for i in range(channels)] - data = sample_data(ch_names=channels, sample_rate=sample_rate, rows=samples) + data = sample_data(ch_names=channels, daq_type='SampleDevice', sample_rate=sample_rate, rows=samples) + devices.register(devices.DeviceSpec('SampleDevice', channels=channels, sample_rate=sample_rate)) + with open(Path(write_dir, TRIGGER_FILENAME), 'w', encoding=DEFAULT_ENCODING) as trg_file: trg_file.write(trg_data) @@ -57,7 +59,6 @@ def create_bcipy_session_artifacts( time_prompt=0.5, time_flash=0.5, # define filter settings - static_trigger_offset=filter_settings['static_trigger_offset'], down_sampling_rate=filter_settings['down_sampling_rate'], notch_filter_frequency=filter_settings['notch_filter_frequency'], filter_high=filter_settings['filter_high'], @@ -348,8 +349,7 @@ def setUp(self) -> None: 'filter_high': 30, 'filter_order': 5, 'notch_filter_frequency': 60, - 'down_sampling_rate': 3, - 'static_trigger_offset': 0.0 + 'down_sampling_rate': 3 } create_bcipy_session_artifacts( self.temp_dir, @@ -476,11 +476,12 @@ def setUp(self): 'filter_high': 30, 'filter_order': 5, 'notch_filter_frequency': 60, - 'down_sampling_rate': 3, - 'static_trigger_offset': 0.0 + 'down_sampling_rate': 3 } self.channels = ['timestamp', 'O1', 'O2', 'Pz'] self.raw_data = RawData('SampleDevice', self.sample_rate, self.channels) + devices.register(devices.DeviceSpec('SampleDevice', channels=self.channels, sample_rate=self.sample_rate)) + # generate 100 random samples of data for _ in range(0, 100): channel_data = gen_random_data(low=-1000, diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index c8e9dfc45..46f394990 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -1,8 +1,8 @@ # mypy: disable-error-code="attr-defined,union-attr,arg-type" # needed for the ERPTransformParams import logging -from typing import List, Dict, Optional, Tuple, Union from pathlib import Path +from typing import Dict, List, Optional, Tuple, Union import matplotlib.pyplot as plt import mne @@ -16,12 +16,13 @@ from scipy import linalg import bcipy.acquisition.devices as devices -from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, RAW_DATA_FILENAME, - DEFAULT_GAZE_IMAGE_PATH, TRIGGER_FILENAME) +from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, + DEFAULT_GAZE_IMAGE_PATH, RAW_DATA_FILENAME, + TRIGGER_FILENAME) from bcipy.helpers.acquisition import analysis_channels -from bcipy.helpers.parameters import Parameters from bcipy.helpers.convert import convert_to_mne from bcipy.helpers.load import choose_csv_file, load_raw_data +from bcipy.helpers.parameters import Parameters from bcipy.helpers.raw_data import RawData from bcipy.helpers.stimuli import mne_epochs from bcipy.helpers.triggers import TriggerType, trigger_decoder @@ -684,7 +685,6 @@ def visualize_session_data(session_path: str, parameters: Union[dict, Parameters """ # extract all relevant parameters trial_window = parameters.get("trial_window") - static_offset = parameters.get("static_trigger_offset") raw_data = load_raw_data(str(Path(session_path, f'{RAW_DATA_FILENAME}.csv'))) channels = raw_data.channels @@ -707,7 +707,7 @@ def visualize_session_data(session_path: str, parameters: Union[dict, Parameters ) # Process triggers.txt files trigger_targetness, trigger_timing, _ = trigger_decoder( - offset=static_offset, + offset=device_spec.static_offset, trigger_path=f"{session_path}/{TRIGGER_FILENAME}", exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], device_type='EEG', diff --git a/bcipy/parameters/devices.json b/bcipy/parameters/devices.json index c9254b966..b65624cf9 100644 --- a/bcipy/parameters/devices.json +++ b/bcipy/parameters/devices.json @@ -41,7 +41,8 @@ "F3", "F4", "C3", "C4" ], - "status": "active" + "status": "active", + "static_offset": 0.1 }, { "name": "DSI-VR300", @@ -59,7 +60,8 @@ "sample_rate": 300, "description": "Wearable Sensing DSI-VR300", "excluded_from_analysis": ["TRG", "F7"], - "status": "active" + "status": "active", + "static_offset": 0.1 }, { "name": "DSI-Flex", @@ -77,7 +79,8 @@ "sample_rate": 300.0, "description": "Wearable Sensing DSI-Flex", "excluded_from_analysis": ["TRG"], - "status": "active" + "status": "active", + "static_offset": 0.1 }, { "name": "g.USBamp-1", @@ -102,7 +105,8 @@ ], "sample_rate": 256, "description": "GTec g.USBamp", - "status": "active" + "status": "active", + "static_offset": 0.1 }, { "name": "Tobii Nano", @@ -120,6 +124,7 @@ "sample_rate": 60.0, "description": "Tobii Nano. For use with the Tobii Pro SDK.", "excluded_from_analysis": ["device_ts", "system_ts", "left_pupil", "right_pupil"], - "status": "active" + "status": "active", + "static_offset": 0.0 } ] \ No newline at end of file diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index 46018a72a..36c088342 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -32,14 +32,6 @@ ], "type": "str" }, - "static_trigger_offset": { - "value": "0.1", - "section": "bci_config", - "readableName": "Static Trigger Offset", - "helpTip": "Specifies the static trigger offset (in seconds) used to align triggers properly with EEG data from LSL. The system includes built-in offset correction, but there is still a hardware-limited offset between EEG and trigger timing values for which the system does not account. The default value of 0.1 has been verified for OHSU hardware. The correct value may be different for other computers, and must be determined on a case-by-case basis. Default: 0.1", - "recommended_values": "", - "type": "float" - }, "k_folds": { "value": "10", "section": "signal_config", diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 9144dc7c0..1c26f335a 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -111,7 +111,7 @@ def analyze_erp(erp_data, parameters, device_spec, data_folder, estimate_balance # Get signal filtering information transform_params = parameters.instantiate(ERPTransformParams) downsample_rate = transform_params.down_sampling_rate - static_offset = parameters.get("static_trigger_offset") + static_offset = device_spec.static_offset log.info( f"\nData processing settings: \n" diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index cb3b44810..82640dd20 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -98,7 +98,7 @@ class RSVPCopyPhraseTask(Task): 'show_feedback', 'feedback_duration', 'show_preview_inquiry', 'preview_inquiry_isi', 'preview_inquiry_key_input', 'preview_inquiry_length', 'preview_inquiry_progress_method', - 'spelled_letters_count', 'static_trigger_offset', + 'spelled_letters_count', 'stim_color', 'stim_height', 'stim_jitter', 'stim_length', 'stim_number', 'stim_order', 'stim_pos_x', 'stim_pos_y', 'stim_space_char', 'target_color', 'task_buffer_length', 'task_color', 'task_height', 'task_text', @@ -599,7 +599,6 @@ def compute_device_evidence( device_data = get_device_data_for_decision( inquiry_timing=inquiry_timing, daq=self.daq, - offset=self.parameters['static_trigger_offset'], prestim=prestim_buffer, poststim=post_stim_buffer + window_length) diff --git a/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py b/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py index a72faa29a..da0651efe 100644 --- a/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py +++ b/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py @@ -47,7 +47,6 @@ def setUp(self): 'preview_inquiry_length': 5.0, 'show_feedback': False, 'show_preview_inquiry': False, - 'static_trigger_offset': 0.1, 'stim_color': 'white', 'stim_height': 0.6, 'stim_jitter': 0.0, diff --git a/bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py b/bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py index 24031d05f..8011205ce 100644 --- a/bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py +++ b/bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py @@ -45,7 +45,6 @@ def setUp(self): 'preview_inquiry_length': 5.0, 'show_feedback': False, 'show_preview_inquiry': False, - 'static_trigger_offset': 0.1, 'stim_color': 'white', 'stim_height': 0.6, 'stim_jitter': 0.0, diff --git a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py index 7c4b97b3b..fff068107 100644 --- a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py +++ b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py @@ -58,7 +58,6 @@ def setUp(self): 'show_feedback': False, 'show_preview_inquiry': False, 'spelled_letters_count': 0, - 'static_trigger_offset': 0.1, 'stim_color': 'white', 'stim_height': 0.6, 'stim_length': 10, From fc29194c028e8c23415cb44c3601b65f5f2ee279 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 16 Jul 2024 10:18:44 -0700 Subject: [PATCH 270/330] Updated Tobii eyetracker device with a static offset of 0.1 --- bcipy/parameters/devices.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bcipy/parameters/devices.json b/bcipy/parameters/devices.json index b65624cf9..f54b9c3d5 100644 --- a/bcipy/parameters/devices.json +++ b/bcipy/parameters/devices.json @@ -125,6 +125,6 @@ "description": "Tobii Nano. For use with the Tobii Pro SDK.", "excluded_from_analysis": ["device_ts", "system_ts", "left_pupil", "right_pupil"], "status": "active", - "static_offset": 0.0 + "static_offset": 0.1 } ] \ No newline at end of file From c5204da49715925e11f4da92b13cf66cfca91d8d Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 16 Jul 2024 10:24:34 -0700 Subject: [PATCH 271/330] Reset Tobii static_offset back to 0.0 --- bcipy/parameters/devices.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bcipy/parameters/devices.json b/bcipy/parameters/devices.json index f54b9c3d5..b65624cf9 100644 --- a/bcipy/parameters/devices.json +++ b/bcipy/parameters/devices.json @@ -125,6 +125,6 @@ "description": "Tobii Nano. For use with the Tobii Pro SDK.", "excluded_from_analysis": ["device_ts", "system_ts", "left_pupil", "right_pupil"], "status": "active", - "static_offset": 0.1 + "static_offset": 0.0 } ] \ No newline at end of file From 34757cfe980d3bc69ee57598ed376240da30f940 Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 29 Jul 2024 15:47:02 -0700 Subject: [PATCH 272/330] Fixed linting errors --- bcipy/simulator/__main__.py | 2 +- bcipy/simulator/helpers/artifact.py | 1 - bcipy/simulator/helpers/data_engine.py | 16 +++++++++------- bcipy/simulator/helpers/model_handler.py | 6 +++--- bcipy/simulator/helpers/sampler.py | 6 +++--- bcipy/simulator/helpers/sim_runner.py | 2 +- bcipy/simulator/helpers/sim_viz.py | 7 +++++-- bcipy/simulator/helpers/state_manager.py | 10 ++++++++-- bcipy/simulator/sim_factory.py | 5 ++--- bcipy/simulator/tests/test_data_engine.py | 5 +++-- 10 files changed, 35 insertions(+), 25 deletions(-) diff --git a/bcipy/simulator/__main__.py b/bcipy/simulator/__main__.py index 34a889d07..2453d724e 100644 --- a/bcipy/simulator/__main__.py +++ b/bcipy/simulator/__main__.py @@ -32,7 +32,7 @@ type=Path, required=True, help="Parameter File to be used") - + parser.add_argument("-o", "--out_dir", type=Path, default=Path(__file__).resolve().parent) args = parser.parse_args() sim_args = vars(args) diff --git a/bcipy/simulator/helpers/artifact.py b/bcipy/simulator/helpers/artifact.py index 06b7586bb..6bde9cb17 100644 --- a/bcipy/simulator/helpers/artifact.py +++ b/bcipy/simulator/helpers/artifact.py @@ -46,4 +46,3 @@ def init_save_dir(output_path, save_dir_name): os.makedirs(f"{save_dir}/logs") return save_dir - diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py index ff7211c45..6e75c6660 100644 --- a/bcipy/simulator/helpers/data_engine.py +++ b/bcipy/simulator/helpers/data_engine.py @@ -6,7 +6,6 @@ import numpy as np import pandas as pd -from bcipy.helpers.list import grouper from bcipy.helpers.parameters import Parameters from bcipy.simulator.helpers.signal_helpers import (ExtractedExperimentData, process_raw_data_for_model) @@ -28,6 +27,7 @@ def get_data(self): def get_parameters(self) -> List[Parameters]: ... + class Trial(NamedTuple): """Data for a given trial (a symbol within an Inquiry). @@ -50,6 +50,7 @@ class Trial(NamedTuple): target: int eeg: np.ndarray + class RawDataEngine(DataEngine): """ Object that loads in list of session data folders and transforms data into sample-able pd.df @@ -111,12 +112,13 @@ def transform(self) -> DataEngine: # iterate through each symbol in the inquiry eeg_samples = [channel[sym_i] for channel in inquiry_eeg ] # (channel_n, sample_n) - rows.append(Trial(source=data_source.source_dir, - inquiry_n=i, - inquiry_pos=sym_i + 1, - symbol=symbol, - target=inquiry_labels[sym_i], - eeg=np.array(eeg_samples))) + rows.append( + Trial(source=data_source.source_dir, + inquiry_n=i, + inquiry_pos=sym_i + 1, + symbol=symbol, + target=inquiry_labels[sym_i], + eeg=np.array(eeg_samples))) self.schema = pd.DataFrame(rows) diff --git a/bcipy/simulator/helpers/model_handler.py b/bcipy/simulator/helpers/model_handler.py index 21de3e1c2..68987e004 100644 --- a/bcipy/simulator/helpers/model_handler.py +++ b/bcipy/simulator/helpers/model_handler.py @@ -1,3 +1,4 @@ +import inspect import logging import pickle from abc import ABC, abstractmethod @@ -5,15 +6,14 @@ import numpy as np -from bcipy.helpers.language_model import (histogram, init_language_model, - with_min_prob, language_models_by_name) +from bcipy.helpers.language_model import (histogram, language_models_by_name, + with_min_prob) from bcipy.helpers.symbols import BACKSPACE_CHAR, alphabet from bcipy.language import LanguageModel, ResponseType from bcipy.signal.model import SignalModel from bcipy.simulator.helpers.state_manager import SimState from bcipy.simulator.helpers.types import SimEvidence from bcipy.task.data import EvidenceType -import inspect log = logging.getLogger(__name__) diff --git a/bcipy/simulator/helpers/sampler.py b/bcipy/simulator/helpers/sampler.py index 439eecfa3..d84b2e62a 100644 --- a/bcipy/simulator/helpers/sampler.py +++ b/bcipy/simulator/helpers/sampler.py @@ -145,7 +145,7 @@ def prepare_data( def sample(self, state: SimState) -> np.ndarray: """Samples a random inquiry for a random data source. - + Ensures that if a target is shown in the current inquiry the sampled data will be from an inquiry where the target was presented. @@ -187,12 +187,12 @@ def sample(self, state: SimState) -> np.ndarray: # target already in the correct location, no need to adjust new_target_position = inquiry_target_position elif inquiry_target_position < target_position: - # target in the inquiry needs to be pushed later in the inquiry; + # target in the inquiry needs to be pushed later in the inquiry; # There is another symbol currently at that position, so we need # to ensure that the target is past that symbol (by adding 0.5). new_target_position = target_position + 0.5 elif inquiry_target_position > target_position: - # the target in the inquiry needs to be moved earlier in the inquiry; + # the target in the inquiry needs to be moved earlier in the inquiry; # there is another non-target symbol currently at that position so # the target needs to be moved before that symbol. new_target_position = target_position - 0.5 diff --git a/bcipy/simulator/helpers/sim_runner.py b/bcipy/simulator/helpers/sim_runner.py index bd10cd169..49dc22606 100644 --- a/bcipy/simulator/helpers/sim_runner.py +++ b/bcipy/simulator/helpers/sim_runner.py @@ -34,7 +34,7 @@ def run(self): # creating save dir for sim_i, then mutating sim_i save_directory sim_i_save_dir = artifact.init_save_dir(self.wrapper_save_dir, f"run{i}") self.simulator.save_dir = sim_i_save_dir - artifact.configure_logger(f"{sim_i_save_dir}/logs", f"logs") + artifact.configure_logger(f"{sim_i_save_dir}/logs", "logs") # running simulator self.simulator.run() diff --git a/bcipy/simulator/helpers/sim_viz.py b/bcipy/simulator/helpers/sim_viz.py index 14644335d..b3fdbf618 100644 --- a/bcipy/simulator/helpers/sim_viz.py +++ b/bcipy/simulator/helpers/sim_viz.py @@ -55,8 +55,11 @@ def plot_replay_comparison(new_target_eeg_evidence: np.ndarray, outdir: str, parameters: Parameters, ) -> None: - def convert_to_records(arr, key_value, key_name="which_model", value_name="response_value") -> [ - dict]: + + def convert_to_records(arr, + key_value, + key_name="which_model", + value_name="response_value") -> [dict]: return [{key_name: key_value, value_name: val} for val in arr] records = [] diff --git a/bcipy/simulator/helpers/state_manager.py b/bcipy/simulator/helpers/state_manager.py index 74eefbd79..8b7126171 100644 --- a/bcipy/simulator/helpers/state_manager.py +++ b/bcipy/simulator/helpers/state_manager.py @@ -125,9 +125,15 @@ def update(self, evidence) -> InquiryResult: evidences=evidence, decision=decision, fused_likelihood=fused_likelihood) + debug_info = [ + 'Fused Likelihoods', + f'current typed - {self.state.current_sentence}', + f'stimuli {self.state.display_alphabet}' + ] log.debug( - f"Fused Likelihoods | current typed - {self.state.current_sentence} | stimuli {self.state.display_alphabet} \n " - f"{histogram(fmt_likelihoods_for_hist(new_inquiry_result.fused_likelihood, alphabet()))}") + f"{' | '.join(debug_info)} \n " + f"{histogram(fmt_likelihoods_for_hist(new_inquiry_result.fused_likelihood, alphabet()))}" + ) new_state['series_results'][self.state.series_n].append(new_inquiry_result) if is_decidable: diff --git a/bcipy/simulator/sim_factory.py b/bcipy/simulator/sim_factory.py index 4b5208b05..d28725bba 100644 --- a/bcipy/simulator/sim_factory.py +++ b/bcipy/simulator/sim_factory.py @@ -1,14 +1,13 @@ """ Factory for Simulator objects """ -import logging from pathlib import Path from typing import List from bcipy.helpers.load import load_json_parameters -from bcipy.simulator.helpers.data_engine import (RawDataEngine) +from bcipy.simulator.helpers.data_engine import RawDataEngine from bcipy.simulator.helpers.metrics import (MetricReferee, RefereeImpl, SimMetrics1Handler) from bcipy.simulator.helpers.model_handler import (ModelHandler, - SigLmModelHandler1, ) + SigLmModelHandler1) from bcipy.simulator.helpers.sampler import EEGByLetterSampler, Sampler from bcipy.simulator.helpers.state_manager import (StateManager, StateManagerImpl) diff --git a/bcipy/simulator/tests/test_data_engine.py b/bcipy/simulator/tests/test_data_engine.py index e9e01af8d..ba2b2ce39 100644 --- a/bcipy/simulator/tests/test_data_engine.py +++ b/bcipy/simulator/tests/test_data_engine.py @@ -7,7 +7,8 @@ import pandas as pd from bcipy.helpers import load -from bcipy.simulator.helpers.data_engine import DataEngine, RawDataEngine, RawDataEngineWrapper +from bcipy.simulator.helpers.data_engine import (RawDataEngine, + RawDataEngineWrapper) # Import the module or class you want to test @@ -87,7 +88,7 @@ def test_RawDataEngineWrapper(self): def test_matrix_single(self): source_dir = "/Users/srikarananthoju/cambi/data/matrixTestWrapper" - param_path = "/Users/srikarananthoju/cambi/data/matrixTestWrapper/S007_Matrix_Calibration_Thu_20_Jul_2023_09hr48min56sec_-0400/parameters.json" + param_path = f"{source_dir}/S007_Matrix_Calibration_Thu_20_Jul_2023_09hr48min56sec_-0400/parameters.json" params = load.load_json_parameters(str(Path(param_path)), value_cast=True) data_engine = RawDataEngineWrapper(source_dir, params) From 8db897581b61f9f9a0759fab106519aa7a26691f Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 30 Jul 2024 16:48:41 -0700 Subject: [PATCH 273/330] Refactored RawDataEngine to take a data_processor parameter; refactored function for processing data into a separate class; fixed unit tests --- bcipy/simulator/helpers/data_engine.py | 38 ++-- bcipy/simulator/helpers/signal_helpers.py | 238 ++++++++++++---------- bcipy/simulator/tests/sampler_test.py | 7 +- bcipy/simulator/tests/test_data_engine.py | 161 +++++++-------- 4 files changed, 226 insertions(+), 218 deletions(-) diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py index 6e75c6660..ec699a092 100644 --- a/bcipy/simulator/helpers/data_engine.py +++ b/bcipy/simulator/helpers/data_engine.py @@ -7,8 +7,9 @@ import pandas as pd from bcipy.helpers.parameters import Parameters -from bcipy.simulator.helpers.signal_helpers import (ExtractedExperimentData, - process_raw_data_for_model) +from bcipy.simulator.helpers.signal_helpers import (EegRawDataProcessor, + ExtractedExperimentData, + RawDataProcessor) log = logging.getLogger(__name__) @@ -53,12 +54,14 @@ class Trial(NamedTuple): class RawDataEngine(DataEngine): """ - Object that loads in list of session data folders and transforms data into sample-able pd.df + Object that loads in list of session data folders and transforms data into sample-able DataFrame """ - def __init__(self, source_dirs: List[str], parameters: Parameters): + def __init__(self, source_dirs: List[str], parameters: Parameters, data_processor: RawDataProcessor = None): self.source_dirs: List[str] = source_dirs self.parameters: Parameters = parameters + + self.data_processor = data_processor or EegRawDataProcessor() self.data: Optional[List[ExtractedExperimentData]] = None self.schema: Optional[pd.DataFrame] = None @@ -76,11 +79,11 @@ def load(self) -> DataEngine: log.debug(f"Loading data from {len(self.source_dirs)} source directories") self.data = [ - process_raw_data_for_model(source_dir, self.parameters) + self.data_processor.process(source_dir, self.parameters) for source_dir in self.source_dirs ] - log.info("Finished loading all data") + log.debug("Finished loading all data") return self def transform(self) -> DataEngine: @@ -121,7 +124,6 @@ def transform(self) -> DataEngine: eeg=np.array(eeg_samples))) self.schema = pd.DataFrame(rows) - return self def get_data(self): @@ -138,19 +140,9 @@ class RawDataEngineWrapper(RawDataEngine): - each data dir contains its raw_data and triggers """ - def __init__(self, source_dir: str, parameters: Parameters): - data_paths = self.get_data_dirs(source_dir) - super().__init__(data_paths, parameters) - - @staticmethod - def get_data_dirs(source_dir: str) -> [str]: - """ - Returns all the data dirs within the source dir - - e.g [dataDir1Path, dataDir2Path ... ] - """ - - assert source_dir - - directories: List[str] = [str(d) for d in Path(source_dir).iterdir() if d.is_dir()] - - return directories + def __init__(self, + source_dir: str, + parameters: Parameters, + data_processor: RawDataProcessor = None): + data_paths = [str(d) for d in Path(source_dir).iterdir() if d.is_dir()] + super().__init__(data_paths, parameters, data_processor) diff --git a/bcipy/simulator/helpers/signal_helpers.py b/bcipy/simulator/helpers/signal_helpers.py index 2bf56be77..5f577d621 100644 --- a/bcipy/simulator/helpers/signal_helpers.py +++ b/bcipy/simulator/helpers/signal_helpers.py @@ -12,6 +12,7 @@ from bcipy.helpers.exceptions import TaskConfigurationException from bcipy.helpers.list import grouper from bcipy.helpers.load import load_raw_data +from bcipy.helpers.parameters import Parameters from bcipy.helpers.stimuli import InquiryReshaper, update_inquiry_timing from bcipy.helpers.triggers import TriggerType, trigger_decoder from bcipy.signal.process import (ERPTransformParams, filter_inquiries, @@ -53,108 +54,135 @@ def labels_by_inquiry(self) -> List[List[int]]: return self.labels -def process_raw_data_for_model(data_folder, parameters, - reshaper: InquiryReshaper = InquiryReshaper()) -> ExtractedExperimentData: - assert parameters, "Parameters are required for offline analysis." - - log.debug(f"Processing raw data for {data_folder}") - # extract relevant session information from parameters file - trial_window = parameters.get("trial_window") - if trial_window is None: - # using trial_length instead and converting to trial window - trial_length = parameters.get('trial_length') - if not trial_length: - raise TaskConfigurationException( - "Could not find trial_window or trial_length in parameters") - - trial_window = tuple([0, trial_length]) # trial_length=0.5 -> trial_window=(0,0.5) - - window_length = trial_window[1] - trial_window[0] - prestim_length = parameters.get("prestim_length") - trials_per_inquiry = parameters.get("stim_length") - # The task buffer length defines the min time between two inquiries - # We use half of that time here to buffer during transforms - buffer = int(parameters.get("task_buffer_length") / 2) - raw_data_file = f"{RAW_DATA_FILENAME}.csv" - - # get signal filtering information - transform_params = parameters.instantiate(ERPTransformParams) - downsample_rate = transform_params.down_sampling_rate - static_offset = parameters.get("static_trigger_offset") - - log.debug( - f"\nData processing settings: \n" - f"{str(transform_params)} \n" - f"Trial Window: {trial_window[0]}-{trial_window[1]}s, " - f"Prestimulus Buffer: {prestim_length}s, Poststimulus Buffer: {buffer}s \n" - f"Static offset: {static_offset}" - ) - - # Load raw data - raw_data = load_raw_data(Path(data_folder, raw_data_file)) - channels = raw_data.channels - type_amp = raw_data.daq_type - sample_rate = raw_data.sample_rate - - devices.load(Path(data_folder, DEFAULT_DEVICE_SPEC_FILENAME)) - device_spec = devices.preconfigured_device(raw_data.daq_type) - - # setup filtering - default_transform = get_default_transform( - sample_rate_hz=sample_rate, - notch_freq_hz=transform_params.notch_filter_frequency, - bandpass_low=transform_params.filter_low, - bandpass_high=transform_params.filter_high, - bandpass_order=transform_params.filter_order, - downsample_factor=transform_params.down_sampling_rate, - ) - - log.debug(f"Channels read from csv: {channels}") - log.debug(f"Device type: {type_amp}, fs={sample_rate}") - - # Process triggers.txt files - trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( - offset=static_offset, - trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", - exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], - ) - - # update the trigger timing list to account for the initial trial window - corrected_trigger_timing = [timing + trial_window[0] for timing in trigger_timing] - - # Channel map can be checked from raw_data.csv file or the devices.json located in the acquisition module - # The timestamp column [0] is already excluded. - channel_map = analysis_channels(channels, device_spec) - channels_used = [channels[i] for i, keep in enumerate(channel_map) if keep == 1] - log.debug(f'Channels used in analysis: {channels_used}') - - data, fs = raw_data.by_channel() - - inquiries, inquiry_labels, inquiry_timing = reshaper( - trial_targetness_label=trigger_targetness, - timing_info=corrected_trigger_timing, - eeg_data=data, - sample_rate=sample_rate, - trials_per_inquiry=trials_per_inquiry, - channel_map=channel_map, - poststimulus_length=window_length, - prestimulus_length=prestim_length, - transformation_buffer=buffer, - ) - - inquiries, fs = filter_inquiries(inquiries, default_transform, sample_rate) - inquiry_timing = update_inquiry_timing(inquiry_timing, downsample_rate) - trial_duration_samples = int(window_length * fs) - trials = reshaper.extract_trials(inquiries, trial_duration_samples, inquiry_timing) - - # define the training classes using integers, where 0=nontargets/1=targets - # labels = inquiry_labels.flatten() - - return ExtractedExperimentData( - data_folder, - inquiries, - trials, - inquiry_labels, - inquiry_timing, - decoded_triggers=(trigger_targetness, trigger_timing, trigger_symbols), - trials_per_inquiry=trials_per_inquiry) +class RawDataProcessor(): + """Processes raw data for a given device and converts it to + ExtractedExperimentData for use in the simulator.""" + + def process(self, data_folder: str, + parameters: Parameters) -> ExtractedExperimentData: + """Load and process the data""" + + +class EegRawDataProcessor(RawDataProcessor): + """RawDataProcessor that processes EEG data.""" + + def __init__(self): + + self.reshaper = InquiryReshaper() + + def process(self, data_folder: str, + parameters: Parameters) -> ExtractedExperimentData: + # TODO: refactor + + log.debug(f"Processing raw data for {data_folder}") + # extract relevant session information from parameters file + trial_window = parameters.get("trial_window") + if trial_window is None: + # using trial_length instead and converting to trial window + trial_length = parameters.get('trial_length') + if not trial_length: + raise TaskConfigurationException( + "Could not find trial_window or trial_length in parameters" + ) + + trial_window = tuple( + [0, trial_length]) # trial_length=0.5 -> trial_window=(0,0.5) + + window_length = trial_window[1] - trial_window[0] + prestim_length = parameters.get("prestim_length") + trials_per_inquiry = parameters.get("stim_length") + # The task buffer length defines the min time between two inquiries + # We use half of that time here to buffer during transforms + buffer = int(parameters.get("task_buffer_length") / 2) + raw_data_file = f"{RAW_DATA_FILENAME}.csv" + + # get signal filtering information + transform_params = parameters.instantiate(ERPTransformParams) + downsample_rate = transform_params.down_sampling_rate + static_offset = parameters.get("static_trigger_offset") + + log.debug( + f"\nData processing settings: \n" + f"{str(transform_params)} \n" + f"Trial Window: {trial_window[0]}-{trial_window[1]}s, " + f"Prestimulus Buffer: {prestim_length}s, Poststimulus Buffer: {buffer}s \n" + f"Static offset: {static_offset}") + + # Load raw data + raw_data = load_raw_data(Path(data_folder, raw_data_file)) + channels = raw_data.channels + type_amp = raw_data.daq_type + sample_rate = raw_data.sample_rate + + devices.load(Path(data_folder, DEFAULT_DEVICE_SPEC_FILENAME)) + device_spec = devices.preconfigured_device(raw_data.daq_type) + + # setup filtering + default_transform = get_default_transform( + sample_rate_hz=sample_rate, + notch_freq_hz=transform_params.notch_filter_frequency, + bandpass_low=transform_params.filter_low, + bandpass_high=transform_params.filter_high, + bandpass_order=transform_params.filter_order, + downsample_factor=transform_params.down_sampling_rate, + ) + + log.debug(f"Channels read from csv: {channels}") + log.debug(f"Device type: {type_amp}, fs={sample_rate}") + + # Process triggers.txt files + trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( + offset=static_offset, + trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", + exclusion=[ + TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION + ], + ) + + # update the trigger timing list to account for the initial trial window + corrected_trigger_timing = [ + timing + trial_window[0] for timing in trigger_timing + ] + + # Channel map can be checked from raw_data.csv file or the devices.json located in the acquisition module + # The timestamp column [0] is already excluded. + channel_map = analysis_channels(channels, device_spec) + channels_used = [ + channels[i] for i, keep in enumerate(channel_map) if keep == 1 + ] + log.debug(f'Channels used in analysis: {channels_used}') + + data, fs = raw_data.by_channel() + + inquiries, inquiry_labels, inquiry_timing = self.reshaper( + trial_targetness_label=trigger_targetness, + timing_info=corrected_trigger_timing, + eeg_data=data, + sample_rate=sample_rate, + trials_per_inquiry=trials_per_inquiry, + channel_map=channel_map, + poststimulus_length=window_length, + prestimulus_length=prestim_length, + transformation_buffer=buffer, + ) + + inquiries, fs = filter_inquiries(inquiries, default_transform, + sample_rate) + inquiry_timing = update_inquiry_timing(inquiry_timing, downsample_rate) + trial_duration_samples = int(window_length * fs) + trials = self.reshaper.extract_trials(inquiries, + trial_duration_samples, + inquiry_timing) + + # define the training classes using integers, where 0=nontargets/1=targets + # labels = inquiry_labels.flatten() + + return ExtractedExperimentData(data_folder, + inquiries, + trials, + inquiry_labels, + inquiry_timing, + decoded_triggers=(trigger_targetness, + trigger_timing, + trigger_symbols), + trials_per_inquiry=trials_per_inquiry) diff --git a/bcipy/simulator/tests/sampler_test.py b/bcipy/simulator/tests/sampler_test.py index f9e5399a3..fe7fb3658 100644 --- a/bcipy/simulator/tests/sampler_test.py +++ b/bcipy/simulator/tests/sampler_test.py @@ -7,9 +7,10 @@ from bcipy.helpers.symbols import alphabet from bcipy.simulator.helpers.data_engine import RawDataEngine from bcipy.simulator.helpers.metrics import RefereeImpl, SimMetrics1Handler -from bcipy.simulator.helpers.sampler import Sampler, EEGByLetterSampler -from bcipy.simulator.helpers.state_manager import StateManagerImpl, StateManager from bcipy.simulator.helpers.model_handler import SignalModelHandler1 +from bcipy.simulator.helpers.sampler import EEGByLetterSampler, Sampler +from bcipy.simulator.helpers.state_manager import (StateManager, + StateManagerImpl) from bcipy.simulator.sim import SimulatorCopyPhrase if __name__ == "__main__": @@ -25,7 +26,7 @@ ) sim_parameters = load_json_parameters("bcipy/simulator/sim_parameters.json", value_cast=True) - data_engine = RawDataEngine(args['data_folders']) + data_engine = RawDataEngine(args['data_folders'], sim_parameters) display_alp = random.sample(alphabet(), 10) diff --git a/bcipy/simulator/tests/test_data_engine.py b/bcipy/simulator/tests/test_data_engine.py index ba2b2ce39..932e7b9cb 100644 --- a/bcipy/simulator/tests/test_data_engine.py +++ b/bcipy/simulator/tests/test_data_engine.py @@ -1,102 +1,89 @@ -import shutil import unittest -import zipfile from pathlib import Path +from unittest.mock import Mock import numpy as np -import pandas as pd -from bcipy.helpers import load -from bcipy.simulator.helpers.data_engine import (RawDataEngine, - RawDataEngineWrapper) - -# Import the module or class you want to test - -FILE_PATH_PREFIX = "bcipy/simulator/tests" +from bcipy.simulator.helpers.data_engine import (ExtractedExperimentData, + RawDataEngine) class TestRawDataEngine(unittest.TestCase): + """Tests for RawDataEngine""" - @classmethod - def setUp(cls) -> None: - with zipfile.ZipFile(f'{FILE_PATH_PREFIX}/resource/rsvpTest1.zip', 'r') as zip_ref: - zip_ref.extractall(f'{FILE_PATH_PREFIX}/resource/rsvpTest1') - - @classmethod - def tearDown(cls) -> None: - shutil.rmtree(f'{FILE_PATH_PREFIX}/resource/rsvpTest1') - - @classmethod - def check_eeg_shape(cls, schema: pd.DataFrame): - # checking all eeg response data has same shape - - eeg_responses = schema['eeg'] - ret = True - ret = ret and not (None in eeg_responses or np.NaN in eeg_responses) - shape_set = set(eeg_responses.apply(lambda x: x.shape)) - ret = ret and (len(shape_set) == 1) - - return ret - - def test_one_source(self): - # Test the function with a specific input and assert the expected output - - data_paths = ["/Users/srikarananthoju/cambi/tab_test_dynamic/16sec_-0700"] - param_path = "/Users/srikarananthoju/cambi/tab_test_dynamic/calibr_37sec_-0700/parameters.json" - params = load.load_json_parameters(str(Path(param_path)), value_cast=True) - - data_engine = RawDataEngine(data_paths, params) - self.assertFalse(data_engine.get_data()) - - data_engine.transform() - self.assertTrue(len(data_engine.schema)) - - self.assertTrue(self.check_eeg_shape(data_engine.get_data())) + def setUp(self) -> None: + """Setup common state""" - def test_two_sources(self): - # Test the function with a specific input and assert the expected output + self.data_processor = Mock() + self.data_processor.process = Mock() + self.parameters = Mock() - data_paths = ["/Users/srikarananthoju/cambi/tab_test_dynamic/16sec_-0700", - "/Users/srikarananthoju/cambi/tab_test_dynamic/50sec_-0700"] - param_path = "/Users/srikarananthoju/cambi/tab_test_dynamic/calibr_37sec_-0700/parameters.json" - params = load.load_json_parameters(str(Path(param_path)), value_cast=True) - - data_engine = RawDataEngine(data_paths, params) + def test_init(self): + """"Test initialization""" + data_engine = RawDataEngine(source_dirs=[], + parameters=self.parameters, + data_processor=self.data_processor) self.assertFalse(data_engine.get_data()) - - data_engine.transform() - self.assertTrue(len(data_engine.get_data())) - - # asserting all eeg response data has same shape - self.assertTrue(self.check_eeg_shape(data_engine.get_data())) - - def test_RawDataEngineWrapper(self): - # Testing loading and transformaing data from a singular wrapper folder - - # source_dir = "/Users/srikarananthoju/cambi/tab_test_dynamic/wrapper" - source_dir = FILE_PATH_PREFIX + "/resource/rsvpTest1/wrapper" - param_path = "/Users/srikarananthoju/cambi/tab_test_dynamic/calibr_37sec_-0700/parameters.json" - params = load.load_json_parameters(str(Path(param_path)), value_cast=True) - - data_engine = RawDataEngineWrapper(source_dir, params) - self.assertEqual(len(data_engine.source_dirs), 2) - - data_engine.transform() - self.assertTrue(len(data_engine.get_data())) - - self.assertTrue(self.check_eeg_shape(data_engine.get_data())) - - def test_matrix_single(self): - source_dir = "/Users/srikarananthoju/cambi/data/matrixTestWrapper" - param_path = f"{source_dir}/S007_Matrix_Calibration_Thu_20_Jul_2023_09hr48min56sec_-0400/parameters.json" - params = load.load_json_parameters(str(Path(param_path)), value_cast=True) - - data_engine = RawDataEngineWrapper(source_dir, params) - data_engine.transform() - - self.assertTrue(len(data_engine.get_data())) - - self.assertTrue(self.check_eeg_shape(data_engine.get_data())) + self.assertEqual(self.parameters, data_engine.get_parameters()) + + def test_single_data_source(self): + """Test loading data from a single directory.""" + RawDataEngine(source_dirs=['data-dir1'], + parameters=self.parameters, + data_processor=self.data_processor) + self.data_processor.process.assert_called_once_with( + 'data-dir1', self.parameters) + + def test_multiple_sources(self): + """Test loading data from multiple directories.""" + RawDataEngine(source_dirs=['data-dir1', 'data-dir2', 'data-dir3'], + parameters=self.parameters, + data_processor=self.data_processor) + self.assertEqual(self.data_processor.process.call_count, 3) + # last call + self.data_processor.process.assert_called_with('data-dir3', + self.parameters) + + def test_transform(self): + """Test the data transformation method""" + # Setup context + # mock the experiment data; single inquiry + mock_data = ExtractedExperimentData( + source_dir=Path('data-dir1'), + inquiries=np.zeros((7, 1, 692)), + trials=np.zeros((7, 10, 74)), + labels=np.array([[0, 0, 0, 0, 0, 1, 0, 0, 0, 0]]), + inquiry_timing=[[150, 185, 220, 255, 291, 326, 361, 397, 432, + 467]], + decoded_triggers=([ + 'nontarget', 'nontarget', 'nontarget', 'nontarget', + 'nontarget', 'target', 'nontarget', 'nontarget', 'nontarget', + 'nontarget' + ], [ + 9.730993399999988, 9.966709099999662, 10.201713299999938, + 10.436247999999978, 10.672083899999961, 10.90684519999968, + 11.141479799999615, 11.377909999999702, 11.614850199999637, + 11.849502299999585 + ], ['G', 'C', 'D', 'B', 'I', 'A', 'H', '<', 'E', 'F']), + trials_per_inquiry=10) + self.data_processor.process = Mock(return_value=mock_data) + engine = RawDataEngine(source_dirs=['data-dir1'], + parameters=self.parameters, + data_processor=self.data_processor) + engine.transform() + data = engine.get_data() + + self.assertEqual(10, len(data)) + + self.assertEqual(data.iloc[0].symbol, 'G') + self.assertEqual(data.iloc[0].inquiry_n, 0) + self.assertEqual(data.iloc[0].inquiry_pos, 1) + self.assertEqual(data.iloc[0].target, 0) + + self.assertEqual(data.iloc[len(data) - 1].symbol, 'F') + self.assertEqual(data.iloc[len(data) - 1].inquiry_n, 0) + self.assertEqual(data.iloc[len(data) - 1].inquiry_pos, 10) + self.assertEqual(data.iloc[len(data) - 1].target, 0) if __name__ == '__main__': From 18063e88464b95749e34db8f296abdb6abf2bd63 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 30 Jul 2024 17:27:21 -0700 Subject: [PATCH 274/330] Remove duplicate code with hard-coded paths --- bcipy/simulator/tests/sampler_test.py | 43 --------------------------- 1 file changed, 43 deletions(-) delete mode 100644 bcipy/simulator/tests/sampler_test.py diff --git a/bcipy/simulator/tests/sampler_test.py b/bcipy/simulator/tests/sampler_test.py deleted file mode 100644 index fe7fb3658..000000000 --- a/bcipy/simulator/tests/sampler_test.py +++ /dev/null @@ -1,43 +0,0 @@ -import random -from pathlib import Path - -import numpy as np - -from bcipy.helpers.load import load_json_parameters -from bcipy.helpers.symbols import alphabet -from bcipy.simulator.helpers.data_engine import RawDataEngine -from bcipy.simulator.helpers.metrics import RefereeImpl, SimMetrics1Handler -from bcipy.simulator.helpers.model_handler import SignalModelHandler1 -from bcipy.simulator.helpers.sampler import EEGByLetterSampler, Sampler -from bcipy.simulator.helpers.state_manager import (StateManager, - StateManagerImpl) -from bcipy.simulator.sim import SimulatorCopyPhrase - -if __name__ == "__main__": - args = dict() - args['data_folders'] = ["/Users/srikarananthoju/cambi/tab_test_dynamic/16sec_-0700", - "/Users/srikarananthoju/cambi/tab_test_dynamic/50sec_-0700", - # "/Users/srikarananthoju/cambi/tab_test_dynamic/29sec_-0700" - ] - args['out_dir'] = Path(__file__).resolve().parent - model_file = Path( - "/Users/srikarananthoju/cambi/tab_test_dynamic/calibr_37sec_-0700/model_0.9524_200_800.pkl" - # "/Users/srikarananthoju/cambi/tab_test_dynamic/calibr_37sec_-0700/model_0.9595.pkl" - ) - sim_parameters = load_json_parameters("bcipy/simulator/sim_parameters.json", value_cast=True) - - data_engine = RawDataEngine(args['data_folders'], sim_parameters) - - display_alp = random.sample(alphabet(), 10) - - stateManager: StateManager = StateManagerImpl(sim_parameters) - stateManager.mutate_state("display_alphabet", display_alp) - print(stateManager.get_state()) - - sampler: Sampler = EEGByLetterSampler(data_engine) - sample: np.ndarray = sampler.sample(stateManager.get_state()) - - model_handler = SignalModelHandler1(model_file) - sim = SimulatorCopyPhrase(data_engine, model_handler, sampler, stateManager, - RefereeImpl(metric_handlers={'basic': SimMetrics1Handler()})) - sim.run() From c34c67a9dc896d0837fedbc8c4eea3b00bb3ded2 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 30 Jul 2024 17:32:37 -0700 Subject: [PATCH 275/330] Renamed SimulationFactory and reformatted --- bcipy/simulator/__main__.py | 4 ++-- bcipy/simulator/sim_factory.py | 32 ++++++++++++++++++++++---------- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/bcipy/simulator/__main__.py b/bcipy/simulator/__main__.py index 2453d724e..9ac8f3f04 100644 --- a/bcipy/simulator/__main__.py +++ b/bcipy/simulator/__main__.py @@ -5,7 +5,7 @@ from pathlib import Path from bcipy.simulator.helpers.sim_runner import MultiSimRunner, SingleSimRunner -from bcipy.simulator.sim_factory import SimulationFactoryV2 +from bcipy.simulator.sim_factory import SimulationFactory from bcipy.simulator.simulator_base import Simulator if __name__ == "__main__": @@ -42,7 +42,7 @@ if Path(d).is_dir() ] - simulator: Simulator = SimulationFactoryV2.create(**sim_args) + simulator = SimulationFactory.create(**sim_args) sim_run_count = simulator.get_parameters().get('sim_run_count', 1) diff --git a/bcipy/simulator/sim_factory.py b/bcipy/simulator/sim_factory.py index d28725bba..c83f81c8a 100644 --- a/bcipy/simulator/sim_factory.py +++ b/bcipy/simulator/sim_factory.py @@ -11,30 +11,42 @@ from bcipy.simulator.helpers.sampler import EEGByLetterSampler, Sampler from bcipy.simulator.helpers.state_manager import (StateManager, StateManagerImpl) -from bcipy.simulator.sim import SimulatorCopyPhrase +from bcipy.simulator.sim import Simulator, SimulatorCopyPhrase -class SimulationFactoryV2: +class SimulationFactory: """ Factory class to create Simulator instances """ @staticmethod - def create(source_dirs: List[Path], smodel_files: List[str], - sim_param_path="bcipy/simulator/sim_parameters.json", save_dir=None, **kwargs): + def create(source_dirs: List[Path], + smodel_files: List[str], + sim_param_path="bcipy/simulator/sim_parameters.json", + save_dir=None, + **kwargs) -> Simulator: + """Create a Simulation, performing all of the necessary setup.""" # out_dir = kwargs.get('out_dir', Path(__file__).resolve().parent) # combining parameters model_file = Path(smodel_files.pop()) sim_parameters = load_json_parameters(sim_param_path, value_cast=True) - base_parameters = load_json_parameters(kwargs.get('parameters'), value_cast=True) + base_parameters = load_json_parameters(kwargs.get('parameters'), + value_cast=True) base_parameters.add_missing_items(sim_parameters) data_engine = RawDataEngine(source_dirs, base_parameters) state_manager: StateManager = StateManagerImpl(base_parameters) sampler: Sampler = EEGByLetterSampler(data_engine) - model_handler: ModelHandler = SigLmModelHandler1(model_file, base_parameters) - referee: MetricReferee = RefereeImpl(metric_handlers={'basic': SimMetrics1Handler()}) - - sim = SimulatorCopyPhrase(data_engine, model_handler, sampler, state_manager, referee, - parameters=base_parameters, save_dir=save_dir) + model_handler: ModelHandler = SigLmModelHandler1( + model_file, base_parameters) + referee: MetricReferee = RefereeImpl( + metric_handlers={'basic': SimMetrics1Handler()}) + + sim = SimulatorCopyPhrase(data_engine, + model_handler, + sampler, + state_manager, + referee, + parameters=base_parameters, + save_dir=save_dir) return sim From 440e3a10c113e54580a345538c60dc01109ab262 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 31 Jul 2024 16:31:36 -0700 Subject: [PATCH 276/330] Fix typing issues --- bcipy/helpers/stimuli.py | 5 ++-- bcipy/simulator/__main__.py | 11 +++----- bcipy/simulator/helpers/artifact.py | 2 +- bcipy/simulator/helpers/data_engine.py | 15 +++++++---- bcipy/simulator/helpers/model_handler.py | 4 --- bcipy/simulator/helpers/sampler.py | 27 +++++++------------ bcipy/simulator/helpers/signal_helpers.py | 15 +++++++---- bcipy/simulator/helpers/sim_runner.py | 32 ++++++++++++++++++----- bcipy/simulator/helpers/sim_viz.py | 3 ++- bcipy/simulator/helpers/state_manager.py | 8 +++--- bcipy/simulator/sim.py | 31 ++++++++++++---------- bcipy/simulator/sim_factory.py | 7 ++--- bcipy/simulator/simulator_base.py | 2 ++ 13 files changed, 90 insertions(+), 72 deletions(-) diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 567e2d8ef..cd849c67a 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -401,12 +401,11 @@ def __call__(self, return np.stack(reshaped_trials, 1), targetness_labels -def update_inquiry_timing(timing: List[List[float]], downsample: int) -> List[List[float]]: +def update_inquiry_timing(timing: List[List[int]], downsample: int) -> List[List[int]]: """Update inquiry timing to reflect downsampling.""" - for i, inquiry in enumerate(timing): for j, time in enumerate(inquiry): - timing[i][j] = time // downsample + timing[i][j] = int(time // downsample) return timing diff --git a/bcipy/simulator/__main__.py b/bcipy/simulator/__main__.py index 9ac8f3f04..78ff3ad59 100644 --- a/bcipy/simulator/__main__.py +++ b/bcipy/simulator/__main__.py @@ -6,7 +6,6 @@ from bcipy.simulator.helpers.sim_runner import MultiSimRunner, SingleSimRunner from bcipy.simulator.sim_factory import SimulationFactory -from bcipy.simulator.simulator_base import Simulator if __name__ == "__main__": glob_help = ('glob pattern to select a subset of data folders' @@ -46,9 +45,7 @@ sim_run_count = simulator.get_parameters().get('sim_run_count', 1) - if sim_run_count > 1: # running multiple times - runner = MultiSimRunner(simulator, sim_run_count) - runner.run() - else: - runner = SingleSimRunner(simulator) - runner.run() + runner = MultiSimRunner( + simulator, + sim_run_count) if sim_run_count > 1 else SingleSimRunner(simulator) + runner.run() diff --git a/bcipy/simulator/helpers/artifact.py b/bcipy/simulator/helpers/artifact.py index 6bde9cb17..8b1e9b9d5 100644 --- a/bcipy/simulator/helpers/artifact.py +++ b/bcipy/simulator/helpers/artifact.py @@ -28,7 +28,7 @@ def configure_logger(log_path, file_name): fileHandler.setFormatter(fmt_file) # Add each handler to the Logger object - if stdoutHandler.stream.name not in [handler.stream.name for handler in log.handlers]: + if stdoutHandler not in log.handlers: log.addHandler(stdoutHandler) log.addHandler(fileHandler) diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py index ec699a092..8804ee3a1 100644 --- a/bcipy/simulator/helpers/data_engine.py +++ b/bcipy/simulator/helpers/data_engine.py @@ -1,5 +1,5 @@ import logging -from abc import ABC +from abc import ABC, abstractmethod from pathlib import Path from typing import List, NamedTuple, Optional @@ -25,6 +25,7 @@ def transform(self): def get_data(self): ... + @abstractmethod def get_parameters(self) -> List[Parameters]: ... @@ -57,12 +58,15 @@ class RawDataEngine(DataEngine): Object that loads in list of session data folders and transforms data into sample-able DataFrame """ - def __init__(self, source_dirs: List[str], parameters: Parameters, data_processor: RawDataProcessor = None): + def __init__(self, + source_dirs: List[str], + parameters: Parameters, + data_processor: Optional[RawDataProcessor] = None): self.source_dirs: List[str] = source_dirs self.parameters: Parameters = parameters self.data_processor = data_processor or EegRawDataProcessor() - self.data: Optional[List[ExtractedExperimentData]] = None + self.data: List[ExtractedExperimentData] = [] self.schema: Optional[pd.DataFrame] = None # TODO validate parameters @@ -76,7 +80,8 @@ def load(self) -> DataEngine: Returns: self for chaining """ - log.debug(f"Loading data from {len(self.source_dirs)} source directories") + log.debug( + f"Loading data from {len(self.source_dirs)} source directories") self.data = [ self.data_processor.process(source_dir, self.parameters) @@ -143,6 +148,6 @@ class RawDataEngineWrapper(RawDataEngine): def __init__(self, source_dir: str, parameters: Parameters, - data_processor: RawDataProcessor = None): + data_processor: Optional[RawDataProcessor] = None): data_paths = [str(d) for d in Path(source_dir).iterdir() if d.is_dir()] super().__init__(data_paths, parameters, data_processor) diff --git a/bcipy/simulator/helpers/model_handler.py b/bcipy/simulator/helpers/model_handler.py index 68987e004..8da949b25 100644 --- a/bcipy/simulator/helpers/model_handler.py +++ b/bcipy/simulator/helpers/model_handler.py @@ -2,7 +2,6 @@ import logging import pickle from abc import ABC, abstractmethod -from typing import Optional import numpy as np @@ -10,7 +9,6 @@ with_min_prob) from bcipy.helpers.symbols import BACKSPACE_CHAR, alphabet from bcipy.language import LanguageModel, ResponseType -from bcipy.signal.model import SignalModel from bcipy.simulator.helpers.state_manager import SimState from bcipy.simulator.helpers.types import SimEvidence from bcipy.task.data import EvidenceType @@ -33,7 +31,6 @@ class SignalModelHandler1(ModelHandler): def __init__(self, model_file): self.model_file = model_file - self.signal_model: Optional[SignalModel] = None with open(self.model_file, "rb") as signal_file: self.signal_model = pickle.load(signal_file) @@ -85,7 +82,6 @@ def __init__(self, sm_model_file, parameters): parameters: only needs to contain which type of language model """ self.sm_model_file = sm_model_file - self.signal_model: Optional[SignalModel] = None self.lm_model: LanguageModel = sim_init_lm(parameters) log.info(f"Language Model Type: {self.lm_model.name()}") self.alp = alphabet() diff --git a/bcipy/simulator/helpers/sampler.py b/bcipy/simulator/helpers/sampler.py index d84b2e62a..96a2d48c0 100644 --- a/bcipy/simulator/helpers/sampler.py +++ b/bcipy/simulator/helpers/sampler.py @@ -36,7 +36,7 @@ def __init__(self, parameters: Parameters = None): self.data_engine: RawDataEngine = data_engine self.parameters: Parameters = self.data_engine.parameters if not parameters else parameters - self.model_input_reshaper: Callable = self.__default_reshaper + self.model_input_reshaper: Callable = default_reshaper self.alphabet: List[str] = self.parameters.get( 'symbol_set') if self.parameters else alphabet() self.data: pd.DataFrame = self.data_engine.transform().get_data() @@ -75,19 +75,6 @@ def sample(self, state: SimState) -> np.ndarray: def set_reshaper(self, reshaper: Callable): self.model_input_reshaper = reshaper - def __default_reshaper(self, - eeg_responses: List[np.ndarray]) -> np.ndarray: - # returns (channel_n, trial_n, sample_n) - - channels_eeg = [[] for i in range(len(eeg_responses[0]))] - - for t_i, trial_channels_eeg in enumerate(eeg_responses): - for c_i, channel_eeg in enumerate(trial_channels_eeg): - channels_eeg[c_i].append(channel_eeg) - - # make sure this returns (7, 10, 90) for tab_test_dynamic - return np.array(channels_eeg) - def default_reshaper(eeg_responses: List[np.ndarray]) -> np.ndarray: """Default data reshaper. @@ -97,7 +84,9 @@ def default_reshaper(eeg_responses: List[np.ndarray]) -> np.ndarray: ndarray with shape (channel_n, trial_n, sample_n) """ - channels_eeg = [[] for i in range(len(eeg_responses[0]))] + channels_eeg: List[List[np.ndarray]] = [ + [] for i in range(len(eeg_responses[0])) + ] for _i, trial_channels_eeg in enumerate(eeg_responses): for c_i, channel_eeg in enumerate(trial_channels_eeg): @@ -180,12 +169,14 @@ def sample(self, state: SimState) -> np.ndarray: # new_target_position for the target. inquiry_target_position = target_position if target_letter in inquiry_letter_subset: - inquiry_target_index = inquiry_df[inquiry_df['target'] == 1].index[0] - inquiry_target_position = inquiry_df.index.tolist().index(inquiry_target_index) + inquiry_target_index = inquiry_df[inquiry_df['target'] == + 1].index[0] + inquiry_target_position = inquiry_df.index.tolist().index( + inquiry_target_index) if inquiry_target_position == target_position: # target already in the correct location, no need to adjust - new_target_position = inquiry_target_position + new_target_position = inquiry_target_position + 0.0 elif inquiry_target_position < target_position: # target in the inquiry needs to be pushed later in the inquiry; # There is another symbol currently at that position, so we need diff --git a/bcipy/simulator/helpers/signal_helpers.py b/bcipy/simulator/helpers/signal_helpers.py index 5f577d621..2080b9f5a 100644 --- a/bcipy/simulator/helpers/signal_helpers.py +++ b/bcipy/simulator/helpers/signal_helpers.py @@ -61,6 +61,7 @@ class RawDataProcessor(): def process(self, data_folder: str, parameters: Parameters) -> ExtractedExperimentData: """Load and process the data""" + raise NotImplementedError class EegRawDataProcessor(RawDataProcessor): @@ -109,7 +110,7 @@ def process(self, data_folder: str, f"Static offset: {static_offset}") # Load raw data - raw_data = load_raw_data(Path(data_folder, raw_data_file)) + raw_data = load_raw_data(str(Path(data_folder, raw_data_file))) channels = raw_data.channels type_amp = raw_data.daq_type sample_rate = raw_data.sample_rate @@ -153,7 +154,6 @@ def process(self, data_folder: str, log.debug(f'Channels used in analysis: {channels_used}') data, fs = raw_data.by_channel() - inquiries, inquiry_labels, inquiry_timing = self.reshaper( trial_targetness_label=trigger_targetness, timing_info=corrected_trigger_timing, @@ -168,11 +168,16 @@ def process(self, data_folder: str, inquiries, fs = filter_inquiries(inquiries, default_transform, sample_rate) - inquiry_timing = update_inquiry_timing(inquiry_timing, downsample_rate) + # Convince mypy that the values received from the reshaper are actually ints. + inquiry_timing_ints: List[List[int]] = [ + list(map(int, inq)) for inq in inquiry_timing + ] + updated_inquiry_timing = update_inquiry_timing(inquiry_timing_ints, + downsample_rate) trial_duration_samples = int(window_length * fs) trials = self.reshaper.extract_trials(inquiries, trial_duration_samples, - inquiry_timing) + updated_inquiry_timing) # define the training classes using integers, where 0=nontargets/1=targets # labels = inquiry_labels.flatten() @@ -180,7 +185,7 @@ def process(self, data_folder: str, return ExtractedExperimentData(data_folder, inquiries, trials, - inquiry_labels, + [list(arr) for arr in inquiry_labels], inquiry_timing, decoded_triggers=(trigger_targetness, trigger_timing, diff --git a/bcipy/simulator/helpers/sim_runner.py b/bcipy/simulator/helpers/sim_runner.py index 49dc22606..a96b611a6 100644 --- a/bcipy/simulator/helpers/sim_runner.py +++ b/bcipy/simulator/helpers/sim_runner.py @@ -11,15 +11,29 @@ from bcipy.simulator.simulator_base import Simulator -class MultiSimRunner: +class SimRunner: + """An object that orchestrates one or more simulation runs.""" - def __init__(self, simulator: Simulator, n: int, save_dir=None, iteration_sleep=0): + def run(self): + """Run the simulation""" + ... + + +class MultiSimRunner(SimRunner): + """Runs multiple iterations of the simulation.""" + + def __init__(self, + simulator: Simulator, + n: int, + save_dir=None, + iteration_sleep=0): self.simulator: Simulator = simulator self.parameters: Parameters = self.simulator.get_parameters() self.n: int = n self.iteration_sleep: int = iteration_sleep - self.wrapper_save_dir: str = save_dir if save_dir else self.__make_default_save_path() + self.wrapper_save_dir: str = save_dir if save_dir else self.__make_default_save_path( + ) def run(self): # making wrapper dir for all simulations @@ -32,7 +46,8 @@ def run(self): for i in range(self.n): # creating save dir for sim_i, then mutating sim_i save_directory - sim_i_save_dir = artifact.init_save_dir(self.wrapper_save_dir, f"run{i}") + sim_i_save_dir = artifact.init_save_dir(self.wrapper_save_dir, + f"run{i}") self.simulator.save_dir = sim_i_save_dir artifact.configure_logger(f"{sim_i_save_dir}/logs", "logs") @@ -62,17 +77,20 @@ def __make_default_save_path(self): def __save_average_metrics(self, avg_metric_dict: Dict): """ Writing average dictionary of metrics to a json file in root of MultiRun save dir """ - with open(f"{self.wrapper_save_dir}/avg_metrics.json", 'w') as output_file: + with open(f"{self.wrapper_save_dir}/avg_metrics.json", + 'w') as output_file: json.dump(avg_metric_dict, output_file, indent=1) -class SingleSimRunner: +class SingleSimRunner(SimRunner): + """Runs the simulation once.""" def __init__(self, simulator: Simulator, save_dir=None): self.simulator: Simulator = simulator self.parameters: Parameters = self.simulator.get_parameters() - self.wrapper_save_dir: str = save_dir if save_dir else self.__make_default_save_path() + self.wrapper_save_dir: str = save_dir if save_dir else self.__make_default_save_path( + ) def run(self): # logging and save details diff --git a/bcipy/simulator/helpers/sim_viz.py b/bcipy/simulator/helpers/sim_viz.py index b3fdbf618..de3dab254 100644 --- a/bcipy/simulator/helpers/sim_viz.py +++ b/bcipy/simulator/helpers/sim_viz.py @@ -1,4 +1,5 @@ import logging as logger +from typing import List import matplotlib.pyplot as plt import numpy as np @@ -59,7 +60,7 @@ def plot_replay_comparison(new_target_eeg_evidence: np.ndarray, def convert_to_records(arr, key_value, key_name="which_model", - value_name="response_value") -> [dict]: + value_name="response_value") -> List[dict]: return [{key_name: key_value, value_name: val} for val in arr] records = [] diff --git a/bcipy/simulator/helpers/state_manager.py b/bcipy/simulator/helpers/state_manager.py index 8b7126171..20862fc04 100644 --- a/bcipy/simulator/helpers/state_manager.py +++ b/bcipy/simulator/helpers/state_manager.py @@ -4,7 +4,7 @@ import random from abc import ABC from dataclasses import dataclass -from typing import Dict, List, Optional +from typing import Callable, Dict, List, Optional import numpy as np @@ -68,7 +68,7 @@ def is_done(self) -> bool: raise NotImplementedError() def get_state(self) -> SimState: - ... + raise NotImplementedError() def mutate_state(self, state_field, state_value): pass @@ -82,7 +82,7 @@ class StateManagerImpl(StateManager): def __init__(self, parameters: Parameters, fuser_class=MultiplyFuser): self.state: SimState = self.initial_state(parameters) self.parameters = parameters - self.fuser_class: EvidenceFuser.__class__ = fuser_class + self.fuser_class: Callable[[], EvidenceFuser] = fuser_class self.max_inq_len = self.parameters.get('max_inq_len', 100) @@ -204,7 +204,7 @@ def format_sim_state_dump(state: SimState): ret.pop('series_results') series_dict = {} for i, series in enumerate(state.series_results): - curr_series_dict = {} + curr_series_dict: Dict = {} series_dict[str(i + 1)] = curr_series_dict for inq_idx, inq in enumerate(series): inq_dict = inq.to_json() diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index bee346ae4..8b8cbf946 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -3,7 +3,7 @@ import logging import random from time import sleep -from typing import Optional, Dict +from typing import Dict, Optional import numpy as np @@ -11,13 +11,15 @@ from bcipy.helpers.parameters import Parameters from bcipy.helpers.symbols import alphabet from bcipy.simulator.helpers.data_engine import DataEngine +from bcipy.simulator.helpers.log_utils import (fmt_reshaped_evidence, + fmt_stim_likelihoods) from bcipy.simulator.helpers.metrics import MetricReferee +from bcipy.simulator.helpers.model_handler import ModelHandler from bcipy.simulator.helpers.rsvp_utils import format_lm_output from bcipy.simulator.helpers.sampler import Sampler -from bcipy.simulator.helpers.state_manager import StateManager, SimState, format_sim_state_dump +from bcipy.simulator.helpers.state_manager import (SimState, StateManager, + format_sim_state_dump) from bcipy.simulator.helpers.types import InquiryResult, SimEvidence -from bcipy.simulator.helpers.log_utils import fmt_stim_likelihoods, fmt_reshaped_evidence -from bcipy.simulator.helpers.model_handler import ModelHandler from bcipy.simulator.simulator_base import Simulator from bcipy.task.data import EvidenceType @@ -47,23 +49,24 @@ class SimulatorCopyPhrase(Simulator): """ def __init__(self, data_engine: DataEngine, model_handler: ModelHandler, sampler: Sampler, - state_manager: StateManager, referee: MetricReferee, parameters: Parameters = None, - save_dir: str = None): + state_manager: StateManager, referee: MetricReferee, parameters: Optional[Parameters] = None, + save_dir: Optional[str] = None): super().__init__() - self.save_dir: str = save_dir - self.model_handler: ModelHandler = model_handler - self.sampler: Sampler = sampler - self.referee: MetricReferee = referee - self.state_manager: StateManager = state_manager - self.data_engine: DataEngine = data_engine + self.save_dir = save_dir + self.model_handler = model_handler + self.sampler = sampler + self.referee = referee + self.state_manager = state_manager + self.data_engine = data_engine - self.parameters: Parameters = self.load_parameters(parameters) + self.parameters = self.load_parameters(parameters) self.symbol_set = alphabet() self.write_output = False def run(self): + assert self.save_dir, "Save directory not set" log.info(f"SIM START with target word {self.state_manager.get_state().target_sentence}") while not self.state_manager.is_done(): @@ -152,7 +155,7 @@ def load_parameters(self, params: Optional[Parameters]): def save_run(self): """ Outputs the results of a run to json file """ - + assert self.save_dir, "Save directory not set" # creating result.json object with final state and metrics final_state = self.state_manager.get_state() final_state_json: Dict = format_sim_state_dump(final_state) diff --git a/bcipy/simulator/sim_factory.py b/bcipy/simulator/sim_factory.py index c83f81c8a..293a15b5a 100644 --- a/bcipy/simulator/sim_factory.py +++ b/bcipy/simulator/sim_factory.py @@ -29,11 +29,12 @@ def create(source_dirs: List[Path], # combining parameters model_file = Path(smodel_files.pop()) sim_parameters = load_json_parameters(sim_param_path, value_cast=True) - base_parameters = load_json_parameters(kwargs.get('parameters'), - value_cast=True) + params_path: str = kwargs.get('parameters', None) + base_parameters = load_json_parameters(params_path, value_cast=True) base_parameters.add_missing_items(sim_parameters) - data_engine = RawDataEngine(source_dirs, base_parameters) + data_engine = RawDataEngine(list(map(str, source_dirs)), + base_parameters) state_manager: StateManager = StateManagerImpl(base_parameters) sampler: Sampler = EEGByLetterSampler(data_engine) model_handler: ModelHandler = SigLmModelHandler1( diff --git a/bcipy/simulator/simulator_base.py b/bcipy/simulator/simulator_base.py index 68013701f..30aa13fc1 100644 --- a/bcipy/simulator/simulator_base.py +++ b/bcipy/simulator/simulator_base.py @@ -1,6 +1,7 @@ """ base simulator interface """ from abc import ABC, abstractmethod +from typing import Optional from bcipy.helpers.parameters import Parameters from bcipy.simulator.helpers import metrics @@ -25,6 +26,7 @@ class Simulator(ABC): data_engine: DataEngine referee: metrics.MetricReferee parameters: Parameters + save_dir: Optional[str] @abstractmethod def run(self): From 65bdbbb0d3b07c4622311676b0ca24ec675b8fc0 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 13 Aug 2024 10:58:39 -0700 Subject: [PATCH 277/330] Refactored SimRunner to simplify to a single case (multiple runs). Refactored the folder structure for simulation data. Added a logfile for the simulation. General cleanup. --- bcipy/simulator/__main__.py | 15 +- bcipy/simulator/helpers/artifact.py | 49 ++++--- bcipy/simulator/helpers/data_engine.py | 15 +- bcipy/simulator/helpers/metrics.py | 20 +-- bcipy/simulator/helpers/sim_runner.py | 182 +++++++++++++------------ bcipy/simulator/sim.py | 2 - bcipy/simulator/sim_factory.py | 4 +- 7 files changed, 155 insertions(+), 132 deletions(-) diff --git a/bcipy/simulator/__main__.py b/bcipy/simulator/__main__.py index 78ff3ad59..9271af8d0 100644 --- a/bcipy/simulator/__main__.py +++ b/bcipy/simulator/__main__.py @@ -4,7 +4,7 @@ from glob import glob from pathlib import Path -from bcipy.simulator.helpers.sim_runner import MultiSimRunner, SingleSimRunner +from bcipy.simulator.helpers.sim_runner import SimRunner from bcipy.simulator.sim_factory import SimulationFactory if __name__ == "__main__": @@ -32,6 +32,12 @@ required=True, help="Parameter File to be used") + parser.add_argument( + "-n", + type=int, + required=False, + default=1, + help="Number of times to run the simulation") parser.add_argument("-o", "--out_dir", type=Path, default=Path(__file__).resolve().parent) args = parser.parse_args() sim_args = vars(args) @@ -42,10 +48,5 @@ ] simulator = SimulationFactory.create(**sim_args) - - sim_run_count = simulator.get_parameters().get('sim_run_count', 1) - - runner = MultiSimRunner( - simulator, - sim_run_count) if sim_run_count > 1 else SingleSimRunner(simulator) + runner = SimRunner(simulator, args.n) runner.run() diff --git a/bcipy/simulator/helpers/artifact.py b/bcipy/simulator/helpers/artifact.py index 8b1e9b9d5..2b0262b3d 100644 --- a/bcipy/simulator/helpers/artifact.py +++ b/bcipy/simulator/helpers/artifact.py @@ -3,35 +3,46 @@ import os import random import sys - - -def configure_logger(log_path, file_name): - """ configures logger for standard out nad file output """ - - log = logging.getLogger(None) # configuring root logger +from typing import Optional + + +def configure_logger(log_path: str, + file_name: str, + logger_name: Optional[str] = None, + use_stdout: bool = True): + """Configures logger for standard out and file output. + + Parameters + ---------- + log_path - directory in which log file will reside + file_name - name of the log file + logger_name - None configures the root logger; otherwise configures a named logger. + use_stdout - if True, INFO messages will be output to stdout. + """ + + log = logging.getLogger(logger_name) # configuring root logger log.setLevel(logging.DEBUG) # Create handlers for logging to the standard output and a file - stdoutHandler = logging.StreamHandler(stream=sys.stdout) - fileHandler = logging.FileHandler(f"{log_path}/{file_name}.log") + stdout_handler = logging.StreamHandler(stream=sys.stdout) + file_handler = logging.FileHandler(f"{log_path}/{file_name}") # Set the log levels on the handlers - stdoutHandler.setLevel(logging.INFO) - fileHandler.setLevel(logging.DEBUG) - - # Create a log format using Log Record attributes - fmt_file = logging.Formatter("%(levelname)s | %(filename)s >> %(message)s") + stdout_handler.setLevel(logging.INFO) + file_handler.setLevel(logging.DEBUG) - fmt = logging.Formatter("%(message)s") + fmt = '[%(asctime)s][%(name)s][%(levelname)s]: %(message)s' + fmt_file = logging.Formatter(fmt) + fmt_stdout = logging.Formatter("%(message)s") # Set the log format on each handler - stdoutHandler.setFormatter(fmt) - fileHandler.setFormatter(fmt_file) + stdout_handler.setFormatter(fmt_stdout) + file_handler.setFormatter(fmt_file) # Add each handler to the Logger object - if stdoutHandler not in log.handlers: - log.addHandler(stdoutHandler) + if use_stdout and stdout_handler not in log.handlers: + log.addHandler(stdout_handler) - log.addHandler(fileHandler) + log.addHandler(file_handler) def init_save_dir(output_path, save_dir_name): diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py index 8804ee3a1..c96b9dcfc 100644 --- a/bcipy/simulator/helpers/data_engine.py +++ b/bcipy/simulator/helpers/data_engine.py @@ -80,15 +80,16 @@ def load(self) -> DataEngine: Returns: self for chaining """ - log.debug( - f"Loading data from {len(self.source_dirs)} source directories") + if not self.data: + log.debug( + f"Loading data from {len(self.source_dirs)} source directories") - self.data = [ - self.data_processor.process(source_dir, self.parameters) - for source_dir in self.source_dirs - ] + self.data = [ + self.data_processor.process(source_dir, self.parameters) + for source_dir in self.source_dirs + ] - log.debug("Finished loading all data") + log.debug("Finished loading all data") return self def transform(self) -> DataEngine: diff --git a/bcipy/simulator/helpers/metrics.py b/bcipy/simulator/helpers/metrics.py index c016c2a12..40ce1619d 100644 --- a/bcipy/simulator/helpers/metrics.py +++ b/bcipy/simulator/helpers/metrics.py @@ -1,7 +1,7 @@ import dataclasses from abc import ABC, abstractmethod from functools import reduce -from typing import Dict, Any, List +from typing import Any, Dict, List import numpy as np @@ -11,7 +11,7 @@ @dataclasses.dataclass -class SimMetrics1: +class SimMetrics: total_series: int = 0 total_inquiries: int = 0 total_decisions: int = 0 @@ -21,10 +21,10 @@ class SimMetrics1: inquiries_per_selection: float = 0.0 -def average_sim_metrics(run_scores: List[SimMetrics1]) -> Dict: - """ Averages the values in multiple SimMetrics1 objects """ +def average_sim_metrics(run_scores: List[SimMetrics]) -> Dict: + """ Averages the values in multiple SimMetrics objects """ - metric_acc_dict = dataclasses.asdict(SimMetrics1()) + metric_acc_dict = dataclasses.asdict(SimMetrics()) N = len(run_scores) if N < 1: @@ -46,7 +46,7 @@ def handle(self, sim) -> Dict[str, Any]: ... -class SimMetrics1Handler(RefereeHandler): +class SimMetricsHandler(RefereeHandler): def handle(self, sim) -> Dict[str, Any]: state: SimState = getattr(sim, "state_manager").get_state() @@ -75,7 +75,7 @@ def handle(self, sim) -> Dict[str, Any]: max_inq_time = max_inquiry_duration(parameters) total_time_spent = total_inquiries * max_inq_time - ret = SimMetrics1(total_series=total_series, total_inquiries=total_inquiries, + ret = SimMetrics(total_series=total_series, total_inquiries=total_inquiries, total_decisions=total_decisions, total_time_spent=total_time_spent, inquiries_per_selection=inquiries_per_selection, total_incorrect_decisions=total_incorrect_decisions) @@ -112,8 +112,8 @@ def __init__(self, metric_handlers=None, viz_handlers=None): self.inquiry_time: float = 1 # 1 inq -> 1 second # TODO maybe some configurable parameters for visualizations - def score(self, sim) -> SimMetrics1: - metrics = SimMetrics1() + def score(self, sim) -> SimMetrics: + metrics = SimMetrics() metrics_dict = dataclasses.asdict(metrics) for handler_name, handler in self.metric_handlers.items(): handler_metrics = handler.handle(sim) @@ -122,7 +122,7 @@ def score(self, sim) -> SimMetrics1: if key in metrics_dict: metrics_dict[key] = val - return SimMetrics1(**metrics_dict) + return SimMetrics(**metrics_dict) def visualize(self, sim): for handler_name, viz_handler in self.viz_handlers.items(): diff --git a/bcipy/simulator/helpers/sim_runner.py b/bcipy/simulator/helpers/sim_runner.py index a96b611a6..f52b326b3 100644 --- a/bcipy/simulator/helpers/sim_runner.py +++ b/bcipy/simulator/helpers/sim_runner.py @@ -1,112 +1,124 @@ """ Wrappers that run a simulation """ +import dataclasses import datetime import json +import logging import os import time -from typing import Dict +from typing import Dict, List, NamedTuple -from bcipy.helpers.parameters import Parameters +from bcipy.config import BCIPY_ROOT from bcipy.simulator.helpers import artifact -from bcipy.simulator.helpers.metrics import average_sim_metrics +from bcipy.simulator.helpers.metrics import SimMetrics, average_sim_metrics from bcipy.simulator.simulator_base import Simulator +log = logging.getLogger('sim_logger') -class SimRunner: - """An object that orchestrates one or more simulation runs.""" - def run(self): - """Run the simulation""" - ... +class RunSummary(NamedTuple): + """Summary for a simulation run.""" + run: int + target_text: str + typed_text: str + metrics: SimMetrics + + def to_dict(self) -> Dict: + """Convert to a dictionary""" + d = self._asdict() # pylint: disable=no-member + d['metrics'] = dataclasses.asdict(self.metrics) + return d -class MultiSimRunner(SimRunner): - """Runs multiple iterations of the simulation.""" +class SimRunner(): + """Runs one or more iterations of the simulation.""" def __init__(self, simulator: Simulator, - n: int, - save_dir=None, - iteration_sleep=0): - self.simulator: Simulator = simulator - self.parameters: Parameters = self.simulator.get_parameters() - self.n: int = n - self.iteration_sleep: int = iteration_sleep - - self.wrapper_save_dir: str = save_dir if save_dir else self.__make_default_save_path( - ) + runs: int = 1, + iteration_sleep: int = 0): + self.simulator = simulator + self.runs = runs + self.iteration_sleep = iteration_sleep + self.save_dir = f"{self.default_save_location()}/{self.directory_name()}" + self.sim_log = 'sim.log' def run(self): - # making wrapper dir for all simulations - os.makedirs(self.wrapper_save_dir) - - # list of metrics from sim runs - all_run_metrics = [] - + """Run one or more simulations""" + os.makedirs(self.save_dir) + artifact.configure_logger(self.save_dir, + self.sim_log, + logger_name='sim_logger', + use_stdout=True) + log.info("Starting simulation...\n") + + run_summaries = [] # running simulator n times. resetting after each run - for i in range(self.n): + for i in range(self.runs): + summary = self.do_run(i) + log.info(summary.to_dict()) + run_summaries.append(summary) + time.sleep(self.iteration_sleep) - # creating save dir for sim_i, then mutating sim_i save_directory - sim_i_save_dir = artifact.init_save_dir(self.wrapper_save_dir, - f"run{i}") - self.simulator.save_dir = sim_i_save_dir - artifact.configure_logger(f"{sim_i_save_dir}/logs", "logs") + self.summarize_metrics(run_summaries) + log.info(f"\nResults logged to {self.save_dir}/{self.sim_log}") - # running simulator - self.simulator.run() + def do_run(self, run: int) -> RunSummary: + """Do a simulator run and return the computed summary.""" - if self.iteration_sleep > 0: - time.sleep(self.iteration_sleep) - - # aggregating metrics from each run - run_metrics = self.simulator.referee.score(self.simulator) - all_run_metrics.append(run_metrics) - - self.simulator.reset() - - # save averaged results to a file in root of wrapper dir - average_metrics = average_sim_metrics(all_run_metrics) - self.__save_average_metrics(average_metrics) - - def __make_default_save_path(self): - output_path = "bcipy/simulator/generated" - now_time = datetime.datetime.now().strftime("%m-%d-%H:%M") - dir_name = f"SIM_MULTI_{self.n}_{now_time}" + path = self.configure_run_directory(run) + self.simulator.save_dir = path + self.simulator.run() - return f"{output_path}/{dir_name}" + state = self.simulator.state_manager.get_state() + run_metrics = self.simulator.referee.score(self.simulator) + + summary = RunSummary(run + 1, + target_text=state.target_sentence, + typed_text=state.current_sentence, + metrics=run_metrics) + self.simulator.reset() + return summary + + def configure_run_directory(self, run: int) -> str: + """Create the necessary directories and configure the logger. + Returns the run directory. + """ + run_name = f"run_{run + 1}" + path = f"{self.save_dir}/{run_name}" + os.mkdir(path) + artifact.configure_logger(log_path=path, + file_name=f"{run_name}.log", + use_stdout=False) + return path + + def summarize_metrics(self, run_summaries: List[RunSummary]) -> None: + """Summarize metrics from all runs.""" + all_run_metrics = [run.metrics for run in run_summaries] + self.__save_average_metrics(average_sim_metrics(all_run_metrics)) + + summary_dict = { + summary.run: summary.to_dict() + for summary in run_summaries + } + self.save_run_summaries(summary_dict) + + def default_save_location(self) -> str: + """Directory in which simulations are saved.""" + return f"{BCIPY_ROOT}/simulator/generated" + + def directory_name(self) -> str: + """Name of the directory for a new simulation run.""" + return datetime.datetime.now().strftime("SIM_%m-%d-%Y_%H_%M_%S") def __save_average_metrics(self, avg_metric_dict: Dict): - """ Writing average dictionary of metrics to a json file in root of MultiRun save dir """ + """ Write average dictionary of metrics to a json file in root of save dir.""" - with open(f"{self.wrapper_save_dir}/avg_metrics.json", - 'w') as output_file: - json.dump(avg_metric_dict, output_file, indent=1) - - -class SingleSimRunner(SimRunner): - """Runs the simulation once.""" - - def __init__(self, simulator: Simulator, save_dir=None): - self.simulator: Simulator = simulator - self.parameters: Parameters = self.simulator.get_parameters() - - self.wrapper_save_dir: str = save_dir if save_dir else self.__make_default_save_path( - ) - - def run(self): - # logging and save details - now_time = datetime.datetime.now().strftime("%m-%d-%H:%M") - save_dir_path = artifact.init_save_dir(self.wrapper_save_dir, now_time) - - # configuring logger to save to {output_wrapper_path}/logs - log_path = f"{save_dir_path}/logs" - artifact.configure_logger(log_path, now_time) - - # mutating simulator to save to specific save_dir - self.simulator.save_dir = save_dir_path - - # running sim - self.simulator.run() + with open(f"{self.save_dir}/avg_metrics.json", 'w', + encoding='utf8') as output_file: + json.dump(avg_metric_dict, output_file, indent=2) - def __make_default_save_path(self): - output_path = "bcipy/simulator/generated" - return f"{output_path}" + def save_run_summaries(self, summary_dict: Dict): + """Write the summary for each run in the save directory.""" + with open(f"{self.save_dir}/run_summaries.json", 'w', + encoding='utf8') as output: + json.dump(summary_dict, output, indent=2) diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index 8b8cbf946..ae680f70a 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -104,8 +104,6 @@ def run(self): log.info(f"FINAL TYPED: {final_state.current_sentence}") log.info(self.referee.score(self).__dict__) - log.debug(f"Final State: {final_state}") - self.save_run() def __make_stimuli(self, state: SimState): diff --git a/bcipy/simulator/sim_factory.py b/bcipy/simulator/sim_factory.py index 293a15b5a..dc161987e 100644 --- a/bcipy/simulator/sim_factory.py +++ b/bcipy/simulator/sim_factory.py @@ -5,7 +5,7 @@ from bcipy.helpers.load import load_json_parameters from bcipy.simulator.helpers.data_engine import RawDataEngine from bcipy.simulator.helpers.metrics import (MetricReferee, RefereeImpl, - SimMetrics1Handler) + SimMetricsHandler) from bcipy.simulator.helpers.model_handler import (ModelHandler, SigLmModelHandler1) from bcipy.simulator.helpers.sampler import EEGByLetterSampler, Sampler @@ -40,7 +40,7 @@ def create(source_dirs: List[Path], model_handler: ModelHandler = SigLmModelHandler1( model_file, base_parameters) referee: MetricReferee = RefereeImpl( - metric_handlers={'basic': SimMetrics1Handler()}) + metric_handlers={'basic': SimMetricsHandler()}) sim = SimulatorCopyPhrase(data_engine, model_handler, From 3ef8a683173c1e84f48d22bc0bcf4262f0befb25 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 13 Aug 2024 15:30:46 -0700 Subject: [PATCH 278/330] Refactor to capture logging from data engine --- bcipy/simulator/__main__.py | 4 +++- bcipy/simulator/helpers/artifact.py | 21 +++++---------------- bcipy/simulator/helpers/data_engine.py | 13 ++++++------- bcipy/simulator/helpers/sim_runner.py | 24 ++++++++++++++++++------ bcipy/simulator/sim_factory.py | 1 - 5 files changed, 32 insertions(+), 31 deletions(-) diff --git a/bcipy/simulator/__main__.py b/bcipy/simulator/__main__.py index 9271af8d0..628d604b4 100644 --- a/bcipy/simulator/__main__.py +++ b/bcipy/simulator/__main__.py @@ -47,6 +47,8 @@ if Path(d).is_dir() ] + runner = SimRunner(simulator=None, runs = args.n) + runner.setup() simulator = SimulationFactory.create(**sim_args) - runner = SimRunner(simulator, args.n) + runner.simulator = simulator runner.run() diff --git a/bcipy/simulator/helpers/artifact.py b/bcipy/simulator/helpers/artifact.py index 2b0262b3d..78119417f 100644 --- a/bcipy/simulator/helpers/artifact.py +++ b/bcipy/simulator/helpers/artifact.py @@ -1,10 +1,13 @@ """ Handles artifacts related logic ie. logs, save dir creation, result.json, ...""" import logging -import os -import random import sys from typing import Optional +# For a simulation, two loggers are configured: a top level logger summarizing +# setup and progress, and a logger for each simulation run. The root logger is +# re-configured for each simulation run. +TOP_LEVEL_LOGGER_NAME = 'sim_logger' + def configure_logger(log_path: str, file_name: str, @@ -43,17 +46,3 @@ def configure_logger(log_path: str, log.addHandler(stdout_handler) log.addHandler(file_handler) - - -def init_save_dir(output_path, save_dir_name): - """ creating wrapper dir to save sim results to. - - Saves to {output_path} - - Adds a unique 4-digit id to end - """ - - unique_id = random.sample(range(1000, 10000), 1)[0] - save_dir = f"{output_path}/SIM_{save_dir_name}_{unique_id}" - os.makedirs(save_dir) - os.makedirs(f"{save_dir}/logs") - - return save_dir diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py index c96b9dcfc..d1db7d88a 100644 --- a/bcipy/simulator/helpers/data_engine.py +++ b/bcipy/simulator/helpers/data_engine.py @@ -7,11 +7,12 @@ import pandas as pd from bcipy.helpers.parameters import Parameters +from bcipy.simulator.helpers.artifact import TOP_LEVEL_LOGGER_NAME from bcipy.simulator.helpers.signal_helpers import (EegRawDataProcessor, ExtractedExperimentData, RawDataProcessor) -log = logging.getLogger(__name__) +log = logging.getLogger(TOP_LEVEL_LOGGER_NAME) class DataEngine(ABC): @@ -82,12 +83,10 @@ def load(self) -> DataEngine: """ if not self.data: log.debug( - f"Loading data from {len(self.source_dirs)} source directories") - - self.data = [ - self.data_processor.process(source_dir, self.parameters) - for source_dir in self.source_dirs - ] + f"Loading data from {len(self.source_dirs)} source directories:") + for source_dir in self.source_dirs: + log.debug(source_dir) + self.data.append(self.data_processor.process(source_dir, self.parameters)) log.debug("Finished loading all data") return self diff --git a/bcipy/simulator/helpers/sim_runner.py b/bcipy/simulator/helpers/sim_runner.py index f52b326b3..bee12c526 100644 --- a/bcipy/simulator/helpers/sim_runner.py +++ b/bcipy/simulator/helpers/sim_runner.py @@ -5,6 +5,7 @@ import logging import os import time +from pathlib import Path from typing import Dict, List, NamedTuple from bcipy.config import BCIPY_ROOT @@ -12,7 +13,7 @@ from bcipy.simulator.helpers.metrics import SimMetrics, average_sim_metrics from bcipy.simulator.simulator_base import Simulator -log = logging.getLogger('sim_logger') +log = logging.getLogger(artifact.TOP_LEVEL_LOGGER_NAME) class RunSummary(NamedTuple): @@ -40,15 +41,26 @@ def __init__(self, self.runs = runs self.iteration_sleep = iteration_sleep self.save_dir = f"{self.default_save_location()}/{self.directory_name()}" + + self.logger_name = artifact.TOP_LEVEL_LOGGER_NAME self.sim_log = 'sim.log' + def setup(self) -> None: + """Setup the folder structure and logging for the simulation.""" + if not self.setup_complete(): + os.makedirs(self.save_dir) + artifact.configure_logger(self.save_dir, + self.sim_log, + logger_name=self.logger_name, + use_stdout=True) + + def setup_complete(self) -> bool: + """Check if setup has already been run.""" + return Path(self.save_dir).is_dir() + def run(self): """Run one or more simulations""" - os.makedirs(self.save_dir) - artifact.configure_logger(self.save_dir, - self.sim_log, - logger_name='sim_logger', - use_stdout=True) + self.setup() log.info("Starting simulation...\n") run_summaries = [] diff --git a/bcipy/simulator/sim_factory.py b/bcipy/simulator/sim_factory.py index dc161987e..eeb274a9b 100644 --- a/bcipy/simulator/sim_factory.py +++ b/bcipy/simulator/sim_factory.py @@ -24,7 +24,6 @@ def create(source_dirs: List[Path], save_dir=None, **kwargs) -> Simulator: """Create a Simulation, performing all of the necessary setup.""" - # out_dir = kwargs.get('out_dir', Path(__file__).resolve().parent) # combining parameters model_file = Path(smodel_files.pop()) From 29607be0e696e86e9742ba4388c207c01d164822 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 13 Aug 2024 16:16:47 -0700 Subject: [PATCH 279/330] Refactor sim directory creation code out of sim_runner. Refactor to only save parameters.json once per simulation. --- bcipy/simulator/__main__.py | 7 ++++-- bcipy/simulator/helpers/artifact.py | 31 ++++++++++++++++++++++++++ bcipy/simulator/helpers/sim_runner.py | 32 ++++++--------------------- bcipy/simulator/sim.py | 6 ++--- 4 files changed, 45 insertions(+), 31 deletions(-) diff --git a/bcipy/simulator/__main__.py b/bcipy/simulator/__main__.py index 628d604b4..a79a50caf 100644 --- a/bcipy/simulator/__main__.py +++ b/bcipy/simulator/__main__.py @@ -4,6 +4,7 @@ from glob import glob from pathlib import Path +from bcipy.simulator.helpers import artifact from bcipy.simulator.helpers.sim_runner import SimRunner from bcipy.simulator.sim_factory import SimulationFactory @@ -47,8 +48,10 @@ if Path(d).is_dir() ] - runner = SimRunner(simulator=None, runs = args.n) - runner.setup() + sim_dir = artifact.init_simulation_dir() simulator = SimulationFactory.create(**sim_args) + runner = SimRunner(save_dir=sim_dir, + simulator=simulator, + runs=args.n) runner.simulator = simulator runner.run() diff --git a/bcipy/simulator/helpers/artifact.py b/bcipy/simulator/helpers/artifact.py index 78119417f..459698182 100644 --- a/bcipy/simulator/helpers/artifact.py +++ b/bcipy/simulator/helpers/artifact.py @@ -1,12 +1,18 @@ """ Handles artifacts related logic ie. logs, save dir creation, result.json, ...""" +import datetime import logging +import os import sys from typing import Optional +from bcipy.config import BCIPY_ROOT + # For a simulation, two loggers are configured: a top level logger summarizing # setup and progress, and a logger for each simulation run. The root logger is # re-configured for each simulation run. TOP_LEVEL_LOGGER_NAME = 'sim_logger' +DEFAULT_LOGFILE_NAME = 'sim.log' +DEFAULT_SAVE_LOCATION = f"{BCIPY_ROOT}/simulator/generated" def configure_logger(log_path: str, @@ -46,3 +52,28 @@ def configure_logger(log_path: str, log.addHandler(stdout_handler) log.addHandler(file_handler) + + +def init_simulation_dir(save_location: str = DEFAULT_SAVE_LOCATION, + logfile_name: str = DEFAULT_LOGFILE_NAME) -> str: + """Setup the folder structure and logging for a simulation. + + Parameters + ---------- + save_location - optional path in which new simulation directory will be created. + logfile_name - optional name of the top level logfile within that directory. + + Returns the path of the simulation directory. + """ + save_dir = f"{save_location}/{directory_name()}" + os.makedirs(save_dir) + configure_logger(save_dir, + logfile_name, + logger_name=TOP_LEVEL_LOGGER_NAME, + use_stdout=True) + return save_dir + + +def directory_name() -> str: + """Name of the directory for a new simulation run.""" + return datetime.datetime.now().strftime("SIM_%m-%d-%Y_%H_%M_%S") diff --git a/bcipy/simulator/helpers/sim_runner.py b/bcipy/simulator/helpers/sim_runner.py index bee12c526..8e5d7ca3c 100644 --- a/bcipy/simulator/helpers/sim_runner.py +++ b/bcipy/simulator/helpers/sim_runner.py @@ -1,6 +1,5 @@ """ Wrappers that run a simulation """ import dataclasses -import datetime import json import logging import os @@ -8,7 +7,6 @@ from pathlib import Path from typing import Dict, List, NamedTuple -from bcipy.config import BCIPY_ROOT from bcipy.simulator.helpers import artifact from bcipy.simulator.helpers.metrics import SimMetrics, average_sim_metrics from bcipy.simulator.simulator_base import Simulator @@ -34,33 +32,25 @@ class SimRunner(): """Runs one or more iterations of the simulation.""" def __init__(self, + save_dir: str, simulator: Simulator, runs: int = 1, + sim_log: str = artifact.DEFAULT_LOGFILE_NAME, iteration_sleep: int = 0): self.simulator = simulator self.runs = runs self.iteration_sleep = iteration_sleep - self.save_dir = f"{self.default_save_location()}/{self.directory_name()}" - - self.logger_name = artifact.TOP_LEVEL_LOGGER_NAME - self.sim_log = 'sim.log' - - def setup(self) -> None: - """Setup the folder structure and logging for the simulation.""" - if not self.setup_complete(): - os.makedirs(self.save_dir) - artifact.configure_logger(self.save_dir, - self.sim_log, - logger_name=self.logger_name, - use_stdout=True) + self.save_dir = save_dir + self.sim_log = sim_log def setup_complete(self) -> bool: """Check if setup has already been run.""" - return Path(self.save_dir).is_dir() + return Path(self.save_dir).is_dir() and self.simulator is not None def run(self): """Run one or more simulations""" - self.setup() + assert self.setup_complete(), "Setup is not complete." + self.simulator.parameters.save(self.save_dir) log.info("Starting simulation...\n") run_summaries = [] @@ -114,14 +104,6 @@ def summarize_metrics(self, run_summaries: List[RunSummary]) -> None: } self.save_run_summaries(summary_dict) - def default_save_location(self) -> str: - """Directory in which simulations are saved.""" - return f"{BCIPY_ROOT}/simulator/generated" - - def directory_name(self) -> str: - """Name of the directory for a new simulation run.""" - return datetime.datetime.now().strftime("SIM_%m-%d-%Y_%H_%M_%S") - def __save_average_metrics(self, avg_metric_dict: Dict): """ Write average dictionary of metrics to a json file in root of save dir.""" diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index ae680f70a..9efda6a9c 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -161,12 +161,10 @@ def save_run(self): metric_dict.update(final_state_json) # adding state data to metrics # writing result.json - with open(f"{self.save_dir}/result.json", 'w') as output_file: + with open(f"{self.save_dir}/session.json", 'w', + encoding='utf8') as output_file: json.dump(metric_dict, output_file, indent=1) - # writing params - self.parameters.save(directory=self.save_dir) - def reset(self): self.state_manager.reset_state() From e58b662f2c6bd74c5639d57ab7a7822d6cc38981 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 13 Aug 2024 17:08:13 -0700 Subject: [PATCH 280/330] Logged simulation config --- bcipy/simulator/helpers/data_engine.py | 4 +-- bcipy/simulator/helpers/model_handler.py | 9 ++++++ bcipy/simulator/helpers/sampler.py | 2 ++ bcipy/simulator/sim.py | 3 ++ bcipy/simulator/sim_factory.py | 36 +++++++++++++++--------- 5 files changed, 39 insertions(+), 15 deletions(-) diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py index d1db7d88a..6df802f54 100644 --- a/bcipy/simulator/helpers/data_engine.py +++ b/bcipy/simulator/helpers/data_engine.py @@ -84,8 +84,8 @@ def load(self) -> DataEngine: if not self.data: log.debug( f"Loading data from {len(self.source_dirs)} source directories:") - for source_dir in self.source_dirs: - log.debug(source_dir) + for i, source_dir in enumerate(self.source_dirs): + log.debug(f"{i+1}. {Path(source_dir).name}") self.data.append(self.data_processor.process(source_dir, self.parameters)) log.debug("Finished loading all data") diff --git a/bcipy/simulator/helpers/model_handler.py b/bcipy/simulator/helpers/model_handler.py index 8da949b25..7294aa1dc 100644 --- a/bcipy/simulator/helpers/model_handler.py +++ b/bcipy/simulator/helpers/model_handler.py @@ -2,6 +2,7 @@ import logging import pickle from abc import ABC, abstractmethod +from pathlib import Path import numpy as np @@ -118,3 +119,11 @@ def get_model(self, key=None): return self.lm_model else: raise RuntimeError(f"Can't find model {key}") + + def __str__(self): + props = { + 'signal_model': self.signal_model.__class__.__name__, + 'language_model': self.lm_model.__class__.__name__, + 'sm_file': f".../{Path(self.sm_model_file).parent.name}/{Path(self.sm_model_file).name}" + } + return f"<{self.__class__.__name__} {props}>" diff --git a/bcipy/simulator/helpers/sampler.py b/bcipy/simulator/helpers/sampler.py index 96a2d48c0..66639f861 100644 --- a/bcipy/simulator/helpers/sampler.py +++ b/bcipy/simulator/helpers/sampler.py @@ -75,6 +75,8 @@ def sample(self, state: SimState) -> np.ndarray: def set_reshaper(self, reshaper: Callable): self.model_input_reshaper = reshaper + def __str__(self): + return f"<{self.__class__.__name__}>" def default_reshaper(eeg_responses: List[np.ndarray]) -> np.ndarray: """Default data reshaper. diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index 9efda6a9c..4a7e1c57f 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -170,3 +170,6 @@ def reset(self): def get_parameters(self): return self.parameters.copy() + + def __str__(self): + return f"<{self.__class__.__name__}>" diff --git a/bcipy/simulator/sim_factory.py b/bcipy/simulator/sim_factory.py index eeb274a9b..a3111f194 100644 --- a/bcipy/simulator/sim_factory.py +++ b/bcipy/simulator/sim_factory.py @@ -1,18 +1,19 @@ """ Factory for Simulator objects """ +import logging from pathlib import Path from typing import List from bcipy.helpers.load import load_json_parameters +from bcipy.simulator.helpers.artifact import TOP_LEVEL_LOGGER_NAME from bcipy.simulator.helpers.data_engine import RawDataEngine -from bcipy.simulator.helpers.metrics import (MetricReferee, RefereeImpl, - SimMetricsHandler) -from bcipy.simulator.helpers.model_handler import (ModelHandler, - SigLmModelHandler1) -from bcipy.simulator.helpers.sampler import EEGByLetterSampler, Sampler -from bcipy.simulator.helpers.state_manager import (StateManager, - StateManagerImpl) +from bcipy.simulator.helpers.metrics import RefereeImpl, SimMetricsHandler +from bcipy.simulator.helpers.model_handler import SigLmModelHandler1 +from bcipy.simulator.helpers.sampler import EEGByLetterSampler +from bcipy.simulator.helpers.state_manager import StateManagerImpl from bcipy.simulator.sim import Simulator, SimulatorCopyPhrase +log = logging.getLogger(TOP_LEVEL_LOGGER_NAME) + class SimulationFactory: """ Factory class to create Simulator instances """ @@ -27,6 +28,7 @@ def create(source_dirs: List[Path], # combining parameters model_file = Path(smodel_files.pop()) + sim_parameters = load_json_parameters(sim_param_path, value_cast=True) params_path: str = kwargs.get('parameters', None) base_parameters = load_json_parameters(params_path, value_cast=True) @@ -34,12 +36,12 @@ def create(source_dirs: List[Path], data_engine = RawDataEngine(list(map(str, source_dirs)), base_parameters) - state_manager: StateManager = StateManagerImpl(base_parameters) - sampler: Sampler = EEGByLetterSampler(data_engine) - model_handler: ModelHandler = SigLmModelHandler1( - model_file, base_parameters) - referee: MetricReferee = RefereeImpl( - metric_handlers={'basic': SimMetricsHandler()}) + state_manager = StateManagerImpl(base_parameters) + sampler = EEGByLetterSampler(data_engine) + model_handler = SigLmModelHandler1(model_file, base_parameters) + + + referee = RefereeImpl(metric_handlers={'basic': SimMetricsHandler()}) sim = SimulatorCopyPhrase(data_engine, model_handler, @@ -48,5 +50,13 @@ def create(source_dirs: List[Path], referee, parameters=base_parameters, save_dir=save_dir) + config = { + 'parameters_directory': Path(params_path).parent.name, + 'sampler': str(sampler), + 'model': str(model_handler), + 'task': str(sim) + } + for key, value in config.items(): + log.debug(f"{key}: {value}") return sim From 18b3c958845a441befa5e89e7352bb110aafa5a9 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 13 Aug 2024 17:10:31 -0700 Subject: [PATCH 281/330] Linting --- bcipy/simulator/helpers/artifact.py | 6 +++--- bcipy/simulator/helpers/metrics.py | 10 ++++++---- bcipy/simulator/helpers/sampler.py | 1 + bcipy/simulator/sim_factory.py | 3 +-- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/bcipy/simulator/helpers/artifact.py b/bcipy/simulator/helpers/artifact.py index 459698182..8338fa89e 100644 --- a/bcipy/simulator/helpers/artifact.py +++ b/bcipy/simulator/helpers/artifact.py @@ -20,7 +20,7 @@ def configure_logger(log_path: str, logger_name: Optional[str] = None, use_stdout: bool = True): """Configures logger for standard out and file output. - + Parameters ---------- log_path - directory in which log file will reside @@ -55,9 +55,9 @@ def configure_logger(log_path: str, def init_simulation_dir(save_location: str = DEFAULT_SAVE_LOCATION, - logfile_name: str = DEFAULT_LOGFILE_NAME) -> str: + logfile_name: str = DEFAULT_LOGFILE_NAME) -> str: """Setup the folder structure and logging for a simulation. - + Parameters ---------- save_location - optional path in which new simulation directory will be created. diff --git a/bcipy/simulator/helpers/metrics.py b/bcipy/simulator/helpers/metrics.py index 40ce1619d..766f767de 100644 --- a/bcipy/simulator/helpers/metrics.py +++ b/bcipy/simulator/helpers/metrics.py @@ -75,10 +75,12 @@ def handle(self, sim) -> Dict[str, Any]: max_inq_time = max_inquiry_duration(parameters) total_time_spent = total_inquiries * max_inq_time - ret = SimMetrics(total_series=total_series, total_inquiries=total_inquiries, - total_decisions=total_decisions, total_time_spent=total_time_spent, - inquiries_per_selection=inquiries_per_selection, - total_incorrect_decisions=total_incorrect_decisions) + ret = SimMetrics(total_series=total_series, + total_inquiries=total_inquiries, + total_decisions=total_decisions, + total_time_spent=total_time_spent, + inquiries_per_selection=inquiries_per_selection, + total_incorrect_decisions=total_incorrect_decisions) return dataclasses.asdict(ret) diff --git a/bcipy/simulator/helpers/sampler.py b/bcipy/simulator/helpers/sampler.py index 66639f861..34557cd4b 100644 --- a/bcipy/simulator/helpers/sampler.py +++ b/bcipy/simulator/helpers/sampler.py @@ -78,6 +78,7 @@ def set_reshaper(self, reshaper: Callable): def __str__(self): return f"<{self.__class__.__name__}>" + def default_reshaper(eeg_responses: List[np.ndarray]) -> np.ndarray: """Default data reshaper. diff --git a/bcipy/simulator/sim_factory.py b/bcipy/simulator/sim_factory.py index a3111f194..aad05f868 100644 --- a/bcipy/simulator/sim_factory.py +++ b/bcipy/simulator/sim_factory.py @@ -28,7 +28,7 @@ def create(source_dirs: List[Path], # combining parameters model_file = Path(smodel_files.pop()) - + sim_parameters = load_json_parameters(sim_param_path, value_cast=True) params_path: str = kwargs.get('parameters', None) base_parameters = load_json_parameters(params_path, value_cast=True) @@ -40,7 +40,6 @@ def create(source_dirs: List[Path], sampler = EEGByLetterSampler(data_engine) model_handler = SigLmModelHandler1(model_file, base_parameters) - referee = RefereeImpl(metric_handlers={'basic': SimMetricsHandler()}) sim = SimulatorCopyPhrase(data_engine, From 0b969c0e37830c59d0871874a26f36a312a0c08f Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 14 Aug 2024 15:10:45 -0700 Subject: [PATCH 282/330] Remove breakpoint in code --- bcipy/helpers/language_model.py | 1 - 1 file changed, 1 deletion(-) diff --git a/bcipy/helpers/language_model.py b/bcipy/helpers/language_model.py index 1c8c1f363..5b1d083bc 100644 --- a/bcipy/helpers/language_model.py +++ b/bcipy/helpers/language_model.py @@ -49,7 +49,6 @@ def init_language_model(parameters: dict) -> LanguageModel: # select the relevant parameters into a dict. params = {key: parameters[key] for key in args & parameters.keys()} - breakpoint() return model(response_type=ResponseType.SYMBOL, symbol_set=alphabet(parameters), From 9440eda737f00f6bcab58ac0f5acb8d8093404a3 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 14 Aug 2024 15:11:04 -0700 Subject: [PATCH 283/330] Revert parameters --- bcipy/parameters/parameters.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index acbbafa4b..859d2bb63 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -1,6 +1,6 @@ { "fake_data": { - "value": "true", + "value": "false", "section": "bci_config", "readableName": "Fake EEG Data On/Off", "helpTip": "If ‘true’, fake EEG data will be used instead of real EEG data. Useful for testing by software development team.", @@ -337,7 +337,7 @@ "type": "int" }, "time_flash": { - "value": "0.25", + "value": "0.2", "section": "bci_config", "readableName": "Stimulus Presentation Duration", "helpTip": "Specifies the duration of time (in seconds) that each stimulus is displayed in an inquiry.", @@ -657,7 +657,7 @@ "type": "int" }, "lang_model_type": { - "value": "KENLM", + "value": "UNIFORM", "section": "lang_model_config", "readableName": "Language Model Type", "helpTip": "Specifies which language model to use. Default: UNIFORM", From c66bcfca1912218b860567e61b4ca50dde754ac2 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 14 Aug 2024 15:12:22 -0700 Subject: [PATCH 284/330] Output simulation run as session.json data that can be analyzed and visualized with existing BciPy tools --- bcipy/simulator/sim.py | 65 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 60 insertions(+), 5 deletions(-) diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index 4a7e1c57f..0fb140334 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -9,6 +9,7 @@ from bcipy.helpers import stimuli, symbols from bcipy.helpers.parameters import Parameters +from bcipy.helpers.session import session_excel from bcipy.helpers.symbols import alphabet from bcipy.simulator.helpers.data_engine import DataEngine from bcipy.simulator.helpers.log_utils import (fmt_reshaped_evidence, @@ -21,7 +22,7 @@ format_sim_state_dump) from bcipy.simulator.helpers.types import InquiryResult, SimEvidence from bcipy.simulator.simulator_base import Simulator -from bcipy.task.data import EvidenceType +from bcipy.task.data import EvidenceType, Inquiry, Session log = logging.getLogger(__name__) @@ -69,6 +70,13 @@ def run(self): assert self.save_dir, "Save directory not set" log.info(f"SIM START with target word {self.state_manager.get_state().target_sentence}") + session = Session( + save_location=self.save_dir, + task='Copy Phrase Simulation', + mode='RSVP', + symbol_set=self.symbol_set, + decision_threshold=self.parameters['decision_threshold']) + while not self.state_manager.is_done(): self.state_manager.mutate_state('display_alphabet', self.__make_stimuli(self.state_manager.get_state())) @@ -93,8 +101,12 @@ def run(self): inq_record: InquiryResult = self.state_manager.update(reshaped_evidence) updated_state = self.state_manager.get_state() + data = self.new_data_record(curr_state, inq_record) + session.add_sequence(data) + if inq_record.decision: log.info(f"Decided {inq_record.decision} for target {inq_record.target}") + session.add_series() log.info(f"Current typed: {updated_state.current_sentence}") sleep(self.parameters.get("sim_sleep_time", 0.5)) @@ -104,7 +116,7 @@ def run(self): log.info(f"FINAL TYPED: {final_state.current_sentence}") log.info(self.referee.score(self).__dict__) - self.save_run() + self.save_run(session) def __make_stimuli(self, state: SimState): """ @@ -151,7 +163,42 @@ def load_parameters(self, params: Optional[Parameters]): else: return self.data_engine.get_parameters() - def save_run(self): + def new_data_record(self, inquiry_state: SimState, inquiry_result: InquiryResult) -> Inquiry: + """Construct a new inquiry data record. + + Parameters + ---------- + - inquiry_state : state prior to presenting the inquiry + - inquiry_result : result of presenting the inquiry + - post_inquiry_state : updated state + + Returns + ------- + Inquiry data for the current schedule + """ + target_info = [ + 'target' if inquiry_result == sym else 'nontarget' + for sym in inquiry_result.stimuli + ] + + data = Inquiry(stimuli=inquiry_result.stimuli, + timing=[], + triggers=[], + target_info=target_info, + target_letter=inquiry_result.target, + current_text=inquiry_state.current_sentence, + target_text=inquiry_state.target_sentence) + data.precision = 4 + data.evidences = { + val.evidence_type: val.evidence + for val in inquiry_result.evidences.values() + } + if EvidenceType.LM not in data.evidences: + data.evidences[EvidenceType.LM] = [] + data.likelihood = list(inquiry_result.fused_likelihood) + return data + + def save_run(self, session: Session): """ Outputs the results of a run to json file """ assert self.save_dir, "Save directory not set" # creating result.json object with final state and metrics @@ -161,9 +208,17 @@ def save_run(self): metric_dict.update(final_state_json) # adding state data to metrics # writing result.json - with open(f"{self.save_dir}/session.json", 'w', + with open(f"{self.save_dir}/result.json", 'w', encoding='utf8') as output_file: - json.dump(metric_dict, output_file, indent=1) + json.dump(metric_dict, output_file, indent=2) + + with open(f"{self.save_dir}/session.json", 'wt', + encoding='utf8') as session_file: + json.dump(session.as_dict(), session_file, indent=2) + + if session.has_evidence(): + session_excel(session=session, + excel_file=f"{self.save_dir}/session.xlsx") def reset(self): self.state_manager.reset_state() From 586e4d10a065404fd0d4977080ceae4a2385e3f8 Mon Sep 17 00:00:00 2001 From: tab-cmd Date: Mon, 19 Aug 2024 12:24:30 -0400 Subject: [PATCH 285/330] Artifact Detection and BCI-Fit Artifact Report (#336) --- bcipy/helpers/demo/demo_report.py | 131 ++++ bcipy/helpers/report.py | 70 ++- bcipy/helpers/stimuli.py | 34 +- bcipy/helpers/triggers.py | 1 + bcipy/helpers/visualization.py | 2 +- bcipy/parameters/devices.json | 10 +- bcipy/signal/evaluate/README.md | 105 +++- bcipy/signal/evaluate/__init__.py | 5 - bcipy/signal/evaluate/artifact.py | 595 ++++++++++++++++++ bcipy/signal/evaluate/evaluator.py | 48 -- bcipy/signal/evaluate/rules.py | 82 --- bcipy/signal/tests/evaluate/test_artifact.py | 128 ++++ bcipy/signal/tests/evaluate/test_evaluator.py | 56 -- bcipy/signal/tests/evaluate/test_rules.py | 62 -- 14 files changed, 1023 insertions(+), 306 deletions(-) create mode 100644 bcipy/helpers/demo/demo_report.py create mode 100644 bcipy/signal/evaluate/artifact.py delete mode 100644 bcipy/signal/evaluate/evaluator.py delete mode 100644 bcipy/signal/evaluate/rules.py create mode 100644 bcipy/signal/tests/evaluate/test_artifact.py delete mode 100644 bcipy/signal/tests/evaluate/test_evaluator.py delete mode 100644 bcipy/signal/tests/evaluate/test_rules.py diff --git a/bcipy/helpers/demo/demo_report.py b/bcipy/helpers/demo/demo_report.py new file mode 100644 index 000000000..0936d214d --- /dev/null +++ b/bcipy/helpers/demo/demo_report.py @@ -0,0 +1,131 @@ +from pathlib import Path +from bcipy.helpers.load import load_json_parameters, load_raw_data, load_experimental_data +from bcipy.helpers.triggers import trigger_decoder, TriggerType +from bcipy.config import ( + BCIPY_ROOT, + DEFAULT_PARAMETER_FILENAME, + RAW_DATA_FILENAME, + TRIGGER_FILENAME, + DEFAULT_DEVICE_SPEC_FILENAME) + +from bcipy.acquisition import devices +from bcipy.helpers.acquisition import analysis_channels +from bcipy.helpers.visualization import visualize_erp +from bcipy.signal.process import get_default_transform +from bcipy.signal.evaluate.artifact import ArtifactDetection +from bcipy.helpers.report import Report, SignalReportSection, SessionReportSection + + +if __name__ == "__main__": + import argparse + + parser = argparse.ArgumentParser() + parser.add_argument( + '-p', + '--path', + help='Path to the directory with >= 1 sessions to be analyzed for artifacts', + required=False) + + args = parser.parse_args() + colabel = True + # if no path is provided, prompt for one using a GUI + path = args.path + if not path: + path = load_experimental_data() + + trial_window = (0, 1.0) + + positions = None + for session in Path(path).iterdir(): + # loop through the sessions, pausing after each one to allow for manual stopping + if session.is_dir(): + print(f'Processing {session}') + prompt = input('Hit enter to continue or type "skip" to skip processing: ') + if prompt != 'skip': + # load the parameters from the data directory + parameters = load_json_parameters( + f'{session}/{DEFAULT_PARAMETER_FILENAME}', value_cast=True) + + # load the raw data from the data directory + raw_data = load_raw_data(Path(session, f'{RAW_DATA_FILENAME}.csv')) + type_amp = raw_data.daq_type + channels = raw_data.channels + sample_rate = raw_data.sample_rate + downsample_rate = parameters.get("down_sampling_rate") + notch_filter = parameters.get("notch_filter_frequency") + filter_high = parameters.get("filter_high") + filter_low = parameters.get("filter_low") + filter_order = parameters.get("filter_order") + static_offset = parameters.get("static_trigger_offset") + + default_transform = get_default_transform( + sample_rate_hz=sample_rate, + notch_freq_hz=notch_filter, + bandpass_low=filter_low, + bandpass_high=filter_high, + bandpass_order=filter_order, + downsample_factor=downsample_rate, + ) + + # load the triggers + if colabel: + trigger_type, trigger_timing, trigger_label = trigger_decoder( + offset=parameters.get('static_trigger_offset'), + trigger_path=f"{session}/{TRIGGER_FILENAME}", + exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], + ) + triggers = (trigger_type, trigger_timing, trigger_label) + else: + triggers = None + + devices.load(Path(BCIPY_ROOT, DEFAULT_DEVICE_SPEC_FILENAME)) + device_spec = devices.preconfigured_device(raw_data.daq_type) + channel_map = analysis_channels(channels, device_spec) + + # check the device spec for any frontal channels to use for EOG detection + eye_channels = [] + for channel in device_spec.channels: + if 'F' in channel: + eye_channels.append(channel) + if len(eye_channels) == 0: + eye_channels = None + + artifact_detector = ArtifactDetection( + raw_data, + parameters, + device_spec, + eye_channels=eye_channels, + session_triggers=triggers) + + detected = artifact_detector.detect_artifacts() + figure_handles = visualize_erp( + raw_data, + channel_map, + trigger_timing, + trigger_label, + trial_window, + transform=default_transform, + plot_average=True, + plot_topomaps=True, + ) + + # Try to find a pkl file in the session folder + pkl_file = None + for file in session.iterdir(): + if file.suffix == '.pkl': + pkl_file = file + break + + if pkl_file: + auc = pkl_file.stem.split('_')[-1] + else: + auc = 'No Signal Model found in session folder' + + sr = SignalReportSection(figure_handles, artifact_detector) + report = Report(session) + session = {'Label': 'Demo Session Report', 'AUC': auc} + session_text = SessionReportSection(session) + report.add(session_text) + report.add(sr) + report.compile() + report.save() diff --git a/bcipy/helpers/report.py b/bcipy/helpers/report.py index 6029ba5b0..4836a7a0c 100644 --- a/bcipy/helpers/report.py +++ b/bcipy/helpers/report.py @@ -1,6 +1,9 @@ +# mypy: disable-error-code="union-attr" import io from abc import ABC -from typing import List, Optional +from typing import List, Optional, Tuple + +from matplotlib import pyplot as plt from matplotlib.figure import Figure from reportlab.platypus import SimpleDocTemplate, Paragraph, Image @@ -10,6 +13,7 @@ from reportlab.lib.units import inch from bcipy.config import BCIPY_FULL_LOGO_PATH +from bcipy.signal.evaluate.artifact import ArtifactDetection class ReportSection(ABC): @@ -40,9 +44,15 @@ class SignalReportSection(ReportSection): def __init__( self, - figures: List[Figure]) -> None: + figures: List[Figure], + artifact: Optional[ArtifactDetection] = None) -> None: self.figures = figures self.report_flowables: List[Flowable] = [] + self.artifact = artifact + + if self.artifact: + assert self.artifact.analysis_done is not False, ( + "If providing artifact for this report, an analysis must be complete to run this report.") self.style = getSampleStyleSheet() def compile(self) -> Flowable: @@ -51,9 +61,65 @@ def compile(self) -> Flowable: Compiles the Signal Report sections into a flowable that can be used to generate a Report. """ self.report_flowables.append(self._create_header()) + if self.artifact: + self.report_flowables.append(self._create_artifact_section()) self.report_flowables.extend(self._create_epochs_section()) + return KeepTogether(self.report_flowables) + def _create_artifact_section(self) -> Flowable: + """Create Artifact Section. + + Creates a paragraph with the artifact information. This is only included if an artifact detection is provided. + """ + artifact_report = [] + artifacts_detected = self.artifact.dropped + artifact_text = 'Artifact:' + artifact_section = Paragraph(artifact_text, self.style['BodyText']) + artifact_overview = f'Artifacts Detected: {artifacts_detected}' + artifact_section = Paragraph(artifact_overview, self.style['BodyText']) + artifact_report.append(artifact_section) + + if self.artifact.eog_annotations: + eog_artifacts = f'EOG Artifacts: {len(self.artifact.eog_annotations)}' + eog_section = Paragraph(eog_artifacts, self.style['BodyText']) + artifact_report.append(eog_section) + heatmap = self._create_heatmap( + self.artifact.eog_annotations.onset, + (0, self.artifact.total_time), + 'EOG') + artifact_report.append(heatmap) + + if self.artifact.voltage_annotations: + voltage_artifacts = f'Voltage Artifacts: {len(self.artifact.voltage_annotations)}' + voltage_section = Paragraph(voltage_artifacts, self.style['BodyText']) + artifact_report.append(voltage_section) + + # create a heatmap with the onset values of the voltage artifacts + onsets = self.artifact.voltage_annotations.onset + heatmap = self._create_heatmap( + onsets, + (0, self.artifact.total_time), + 'Voltage') + artifact_report.append(heatmap) + return KeepTogether(artifact_report) + + def _create_heatmap(self, onsets: List[float], range: Tuple[float, float], type: str) -> Image: + """Create Heatmap. + + Creates a heatmap image with the onset values of the voltage artifacts. + """ + # create a heatmap with the onset values + fig, ax = plt.subplots() + fig.set_size_inches(6, 3) + ax.hist(onsets, bins=100, range=range, color='red', alpha=0.7) + ax.set_title(f'{type} Artifact Onsets') + ax.set_xlabel('Time (s)') + # make the label text smaller + ax.set_ylabel('Frequency') + heatmap = self.convert_figure_to_image(fig) + return heatmap + def _create_epochs_section(self) -> List[Image]: """Create Epochs Section. diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 567e2d8ef..6eeaf99d1 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -412,21 +412,37 @@ def update_inquiry_timing(timing: List[List[float]], downsample: int) -> List[Li def mne_epochs(mne_data: RawArray, - trigger_timing: List[float], trial_length: float, - trigger_labels: List[int], - baseline: Optional[Tuple[Any, float]] = None) -> Epochs: + trigger_timing: Optional[List[float]] = None, + trigger_labels: Optional[List[int]] = None, + baseline: Optional[Tuple[Any, float]] = None, + reject_by_annotation: bool = False, + preload: bool = False) -> Epochs: """MNE Epochs. Using an MNE RawArray, reshape the data given trigger information. If two labels present [0, 1], each may be accessed by numbered order. Ex. first_class = epochs['1'], second_class = epochs['2'] """ - annotations = Annotations(trigger_timing, [trial_length] * len(trigger_timing), trigger_labels) - mne_data.set_annotations(annotations) - events_from_annot, _ = mne.events_from_annotations(mne_data) - if not baseline: - baseline = (None, 0.0) - return Epochs(mne_data, events_from_annot, tmax=trial_length, baseline=baseline) + old_annotations = mne_data.annotations + if trigger_timing and trigger_labels: + new_annotations = Annotations(trigger_timing, [trial_length] * len(trigger_timing), trigger_labels) + all_annotations = new_annotations + old_annotations + else: + all_annotations = old_annotations + + tmp_data = mne_data.copy() + tmp_data.set_annotations(all_annotations) + + events_from_annot, _ = mne.events_from_annotations(tmp_data) + return Epochs( + mne_data, + events_from_annot, + baseline=baseline, + tmax=trial_length, + tmin=-0.05, + proj=False, # apply SSP projection to data. Defaults to True in Epochs. + reject_by_annotation=reject_by_annotation, + preload=preload) def alphabetize(stimuli: List[str]) -> List[str]: diff --git a/bcipy/helpers/triggers.py b/bcipy/helpers/triggers.py index 7d3064e20..259b46d69 100644 --- a/bcipy/helpers/triggers.py +++ b/bcipy/helpers/triggers.py @@ -161,6 +161,7 @@ class TriggerType(Enum): OFFSET = "offset" EVENT = "event" PREVIEW = "preview" + ARTIFACT = "artifact" @classmethod def list(cls) -> List[str]: diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index 46f394990..38815a95d 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -91,7 +91,7 @@ def visualize_erp( baseline = None mne_data = convert_to_mne(raw_data, channel_map=channel_map, transform=transform) - epochs = mne_epochs(mne_data, trigger_timing, trial_length, trigger_labels, baseline=baseline) + epochs = mne_epochs(mne_data, trial_length, trigger_timing, trigger_labels, baseline=baseline) # *Note* We assume, as described above, two trigger classes are defined for use in trigger_labels # (Nontarget=0 and Target=1). This will map into two corresponding MNE epochs whose indexing starts at 1. # Therefore, epochs['1'] == Nontarget and epochs['2'] == Target. diff --git a/bcipy/parameters/devices.json b/bcipy/parameters/devices.json index b65624cf9..63aca8295 100644 --- a/bcipy/parameters/devices.json +++ b/bcipy/parameters/devices.json @@ -33,13 +33,7 @@ "excluded_from_analysis": [ "TRG", "X1", "X2", "X3", - "A2", - "T3", "T4", - "Fp1", "Fp2", - "F7", "F8", - "P3", "P4", - "F3", "F4", - "C3", "C4" + "A2" ], "status": "active", "static_offset": 0.1 @@ -67,7 +61,7 @@ "name": "DSI-Flex", "content_type": "EEG", "channels": [ - { "name": "F3", "label": "Fz", "units": "microvolts", "type": "EEG" }, + { "name": "P4", "label": "Cz", "units": "microvolts", "type": "EEG" }, { "name": "S2", "label": "Oz", "units": "microvolts", "type": "EEG" }, { "name": "S3", "label": "P4", "units": "microvolts", "type": "EEG" }, { "name": "S4", "label": "P3", "units": "microvolts", "type": "EEG" }, diff --git a/bcipy/signal/evaluate/README.md b/bcipy/signal/evaluate/README.md index a74767f08..a1019ce9d 100644 --- a/bcipy/signal/evaluate/README.md +++ b/bcipy/signal/evaluate/README.md @@ -1,62 +1,101 @@ # Evaluate Module Class definitions for handling signal evaluation and rules by which the signal is to be -evaluated. +evaluated. The module contains classes for detecting and correcting artifacts in the data. -## Evaluator +## Artifact Detection -Handles signal evaluation by maintaining a set of enabled rules and testing inquiries against -each rule. Is boolean in nature, informing whether a rule was broken. +Artifact detection is the process of identifying and labeling unwanted signals from the data. This is +done by comparing the signal to a set of voltage and EOG thresholds. The thresholds are set by the user +and can be adjusted to fit the needs of the user. By default, the thresholds are set to 100uV for the +voltage threshold and 50uV for the EOG threshold. The artifact detection process is done in the following +steps: -### Example usage +1. The signal is passed through a bandpass filter to remove unwanted frequencies. +2. The signal is then passed through a notch filter to remove the 60Hz noise. +3. The signal is then compared to the voltage and EOG thresholds. +4. If the signal exceeds the thresholds, it is labeled as an artifact. All artifacts are annotated in the + data file with the prefix `BAD_`. -Evaluator is initialized with parameters file and whether a rule is enabled. In this case, high and low voltage rules are configured. +### Usage + +The `ArtifactDetection` class is used to detect artifacts in the data. The class takes in a `RawData` object, a `DeviceSpec` object, and a `Parameters` object. The `RawData` object contains the data to be analyzed, the `DeviceSpec` object contains the specifications of the device used to collect the data, and the `Parameters` object contains the parameters used to detect the artifacts. The `ArtifactDetection` class has a method called `detect_artifacts` that returns a list of the detected artifacts. ```python -# configuration -parameter_location = 'bcipy/parameters/parameters.json' -high_voltage_rule = True -low_voltage_rule = False +from bcipy.signal.evaluate.artifact import ArtifactDetection -# init evaluator -evaluator = Evaluator(parameter_location, high_voltage_rule, low_voltage_rule) +# Assuming BciPy raw data object, device spec and parameters object are already defined. -# Evaluate if inquiry is good (returns True / False) -evaluator.evaluate(inquiry) +artifact_detector = ArtifactDetection(raw_data, parameters device_spec) +detected_artifacts = artifact_detector.detect_artifacts() ``` -### Importing +Optionally, the user can provide session_triggers on initialization of the `ArtifactDetection` object. This is useful when the user wants to determine artifacts overlapping with triggers of interest. The `session_triggers` parameter is a tuple of lists, where the tuple contains (trigger_type, trigger_timing, trigger_label). + +```python +from bcipy.signal.evaluate.artifact import ArtifactDetection -The `__init__.py` file already contains instructions for importing Evaluator: +# Assuming BciPy raw data object, device spec and parameters object are already defined. Additionally, session_triggers is defined. + +artifact_detector = ArtifactDetection(raw_data, parameters, device_spec, session_triggers=session_triggers) +detected_artifacts = artifact_detector.detect_artifacts() +``` + +This can be used in conjunction with the `ArtifactDetection` semiautomatic mode to determine artifacts that overlap with triggers of interest and correct any labels before removal. To use the semiautomatic mode, the user must provide a list of triggers of interest. The `ArtifactDetection` class can be inititalized with `semi_automatic`. ```python -from bcipy.signal.evaluate.evaluator import Evaluator -__all__ = [ - 'Evaluator' -] +from bcipy.signal.evaluate.artifact import ArtifactDetection + +# Assuming BciPy raw data object, device spec and parameters object are already defined. Additionally, session_triggers is defined. + +artifact_detector = ArtifactDetection(raw_data, parameters, device_spec, session_triggers=session_triggers semi_automatic=True) +detected_artifacts = artifact_detector.detect_artifacts() ``` -With this, any future script that imports Evaluator can do the following: - -`from bcipy.signal.evaluate import Evaluator` +To output the detected artifacts to a new file, the `ArtifactDetection` class can be initialized with the `save_path` parameter. The `save_path` parameter is the path to the MNE file with the detected artifacts will be written. -## Rules +```python +from bcipy.signal.evaluate.artifact import ArtifactDetection -A Python abstract base class (ABC) that utilizes the abstract method, is_broken, which tests an -array of data based on some criteria unique to the rule (threshold, etc.). +# Assuming BciPy raw data object, device spec and parameters object are already defined. Additionally, session_triggers is defined. -### Example usage +artifact_detector = ArtifactDetection(raw_data, parameters, device_spec, session_triggers=session_triggers, save_path='path/to/save/file') +detected_artifacts = artifact_detector.detect_artifacts() +``` + +Finally, if wanting to export only the triggers with timestamps for use in another software, the detected artifcats can be exported to a txt file using the `write_mne_annotations` method. + +```python +from bcipy.signal.evaluate.artifact import ArtifactDetection, write_mne_annotations -Voltage rules, for example, are initialized with threshold values +# Assuming BciPy raw data object, device spec and parameters object are already defined. -`high_rule = HighVoltage(75E-6)` +artifact_detector = ArtifactDetection(raw_data, parameters, device_spec) +detected_artifacts = artifact_detector.detect_artifacts() +write_mne_annotations( + detected_artifacts, + 'path/to/save/file', + 'artifact_annotations.txt') +``` + +## Artifact Correction +Artifact correction is the process of removing unwanted signals from the data. After detection is complete, the user may use the MNE epoching tool to remove the unwanted epochs and channels. -Determine if rule is broken (returns True / False) +```python +from bcipy.signal.evaluate.artifact import ArtifactDetection, mne_epochs -`high_rule.is_broken(data)` +# Assuming BciPy raw data object, device spec and parameters object are already defined. Additionally, session_triggers is defined. +artifact_detector = ArtifactDetection(raw_data, parameters, device_spec, session_triggers=session_triggers) +# After calling this an mne_data object is created in the artifact_detector object with the annotations +detected_artifacts = artifact_detector.detect_artifacts() -### Importing +# Use MNE epoching tool to remove unwanted epochs and channels +mne_data = artifact_detector.mne_data +trial_length = 0.5 # seconds +# This will return the epochs object with the bad epochs removed. If no artifact detection was done, trigger_timing and trigger_labels must be provided. +epochs = mne_epochs(mne_data, trial_length, preload=True, reject_by_annotation=True) -`from bcipy.signal.evaluate.rules import HighVoltage, LowVoltage` \ No newline at end of file +# This will return the epochs object with the bad epochs removed. A drop log can be accessed to see which and how many epochs were removed. +``` diff --git a/bcipy/signal/evaluate/__init__.py b/bcipy/signal/evaluate/__init__.py index 7e0d3fd3a..e69de29bb 100644 --- a/bcipy/signal/evaluate/__init__.py +++ b/bcipy/signal/evaluate/__init__.py @@ -1,5 +0,0 @@ -from bcipy.signal.evaluate.evaluator import Evaluator - -__all__ = [ - 'Evaluator' -] diff --git a/bcipy/signal/evaluate/artifact.py b/bcipy/signal/evaluate/artifact.py new file mode 100644 index 000000000..ed7f5be78 --- /dev/null +++ b/bcipy/signal/evaluate/artifact.py @@ -0,0 +1,595 @@ +# mypy: disable-error-code="assignment,arg-type" +import os +from enum import Enum +from pathlib import Path +from typing import Union, List, Tuple, Optional +from logging import getLogger + +log = getLogger(__name__) + +from bcipy.config import ( + DEFAULT_PARAMETER_FILENAME, + RAW_DATA_FILENAME, + TRIGGER_FILENAME, + DEFAULT_DEVICE_SPEC_FILENAME, + BCIPY_ROOT +) +from bcipy.helpers.acquisition import analysis_channels +from bcipy.helpers.load import ( + load_experimental_data, + load_json_parameters, + load_raw_data, +) +from bcipy.helpers.stimuli import mne_epochs +from bcipy.helpers.convert import convert_to_mne +from bcipy.helpers.raw_data import RawData +from bcipy.signal.process import get_default_transform +from bcipy.helpers.triggers import TriggerType, trigger_decoder +import bcipy.acquisition.devices as devices +from bcipy.acquisition.devices import DeviceSpec + +import mne +mne.set_log_level('WARNING') +from mne import Annotations + + +class DefaultArtifactParameters(Enum): + """Default Artifact Parameters. + + These values are used as defaults for artifact analysis purposes. + """ + + # Voltage + PEAK_THRESHOLD = 100e-7 + PEAK_MIN_DURATION = 0.005 + FLAT_THRESHOLD = 0.5e-6 + FLAT_MIN_DURATION = 0.1 + VOlTAGE_LABEL_DURATION = 0.25 + + # Eye + EOG_LABEL_DURATION = 0.2 + EOG_THRESHOLD = 75e-6 + EOG_MIN_DURATION = 0.5 + + # I/O + ARTIFACT_LABELLED_FILENAME = 'artifacts.fif' + + def __str__(self) -> str: + """Return the value of the artifact type.""" + return self.value + + def __repr__(self) -> str: + """Return the class name and the artifact type name.""" + return f'{self.__class__.__name__}.{self.name}' + + +class ArtifactType(Enum): + """Artifact Type Enum. + + The artifact type enum is used to define the types of artifacts that can be detected in the data. + """ + + VOLTAGE = 'voltage' + EOG = 'eog' + BLINK = 'blink' + ECG = 'ecg' + EMG = 'emg' + FLAT = 'flat' + EVENT = 'event' + + def __str__(self) -> str: + """Return the value of the artifact type.""" + return self.value + + def __repr__(self) -> str: + """Return the class name and the artifact type name.""" + return f'{self.__class__.__name__}.{self.name}' + + def label(self) -> str: + """Label the artifact type. + + Returns + ------- + label - string - The label for the artifact type with the prefix BAD. + This is used for epoch handling by MNE. + """ + return f'BAD_{self.value}' + + +class ArtifactDetection: + """Artifact Detection Class. + + The artifact detection class is used to detect and label artifacts in the raw data. This class is designed to be + used in a pipeline for artifact detection and labelling. + + + Parameters + ---------- + raw_data : RawData + The raw data to process for artifacts. + + parameters : dict + The parameters used in the collection of the raw data. + + device_spec : dict + The device specification for the raw data. + + save_path : optional str + The path to save the artifact labelled data. If none provided, data is not saved. + + session_triggers : optional list + Optional list of session triggers to use for co-labelling the data. This is useful for determining the impact + of artifacts on the relevant epochs. + + percent_bad : float + The percentage of bad epochs to allow before channel exclusion. Defaults to 50%. + + detect_eog : bool + Whether to detect EOG artifacts. Defaults to True. Eye channels must be provided if this is set to True. + + eye_channels : list + The list of eye channels to use for detecting EOG artifacts. Defaults to None. If provided, the channels should + look like ['Fp1', 'Fp2', 'F7', 'F8']. + + detect_voltage : bool + Whether to detect voltage artifacts. Defaults to True. + """ + + supported_units: List[str] = ['volts', 'microvolts'] + support_device_types: List[str] = ['EEG'] + analysis_done: bool = False + dropped: Optional[str] = None + eog_annotations: Optional[Annotations] = None + voltage_annotations: Optional[Annotations] = None + + def __init__( + self, + raw_data: RawData, + parameters: dict, + device_spec: DeviceSpec, + save_path: Optional[str] = None, + semi_automatic: bool = False, + session_triggers: Optional[Tuple[list, list, list]] = None, + percent_bad: float = 50.0, + detect_eog: bool = True, + eye_channels: Optional[List[str]] = None, + detect_voltage: bool = True) -> None: + self.raw_data = raw_data + self.total_time = raw_data.total_seconds + self.device_spec = device_spec + assert self.device_spec.content_type in self.support_device_types, \ + f'BciPy Artifact Analysis only supports {self.support_device_types} data at this time.' + self.eye_channels = eye_channels + self.percent_bad = percent_bad + self.parameters = parameters + + # get the trial window from the parameters, in older versions it was not included default to 0.5 + start_trial, end_trial = self.parameters.get('trial_window', (0, 0.5)) + self.trial_duration = end_trial - start_trial + + self.session_triggers = None + if session_triggers: + self.triggers = session_triggers + self.trigger_description = session_triggers[0] + self.trigger_time = session_triggers[1] + self.trigger_label = session_triggers[2] + + self.session_triggers = mne.Annotations( + self.trigger_time, [self.trial_duration] * len(self.trigger_time), self.trigger_description) + + assert len(device_spec.channel_specs) > 0, 'DeviceSpec used must have channels. None found.' + self.units = device_spec.channel_specs[0].units + assert self.units in self.supported_units, \ + f'Data loaded in units that cannot be processed. Support units={self.supported_units}' + # MNE assumes that data is recorded in Volts. However, many devices use microvolts. + # If this value is False, a conversion to volts will be required. + self.volts = True if self.units == 'volts' else False + self.mne_data = self.raw_data_to_mne(raw_data, volts=self.volts) + self.detect_voltage = detect_voltage + self.detect_eog = detect_eog + self.semi_automatic = semi_automatic + + self.save_path = save_path + + def detect_artifacts(self) -> Tuple[str, float]: + """Detect artifacts in the raw data.""" + + labels = self.label_artifacts(extra_labels=self.session_triggers) + percent_dropped = 0 + + # calculate the impact of artifacts on the session triggers by creating epochs around the triggers + # and dropping artifacts using MNE + if self.session_triggers: + log.info('Calculating the impact of artifacts on session triggers.') + epochs = mne_epochs( + self.mne_data, + self.trial_duration, + reject_by_annotation=True, + preload=True) + + # calculate the percentage of dropped epochs + kept_epochs = len(epochs) + total_epochs = len(self.trigger_label) + percent_dropped = (1 - (kept_epochs / total_epochs)) * 100 + self.dropped = ( + f'{kept_epochs}/{total_epochs} retained. {percent_dropped}% epochs dropped due to artifacts.' + ) + + self.analysis_done = True + if self.save_path: + self.save_artifacts(overwrite=True) + log.info(f'Artifact labelled data saved to {self.save_path}') + + labels = f'{len(labels)} artifacts found in the data.' + + return labels, percent_dropped + + def label_artifacts( + self, + detect_voltage: bool = True, + detect_eog: bool = True, + extra_labels: Optional[Annotations] = None) -> Annotations: + """Label the artifacts in the raw data.""" + # Create an empty annotations object to store all the annotations + annotations = mne.Annotations(0, 0, 'start') + + if detect_voltage: + voltage = self.label_voltage_events() + if voltage: + voltage_annotations, bad_channels = voltage + log.info(f'Voltage violation events found: {len(voltage_annotations)}') + if bad_channels: + # add bad channel labels to the raw data + self.mne_data.info['bads'] = bad_channels + log.info(f'Bad channels detected: {bad_channels}') + + if voltage_annotations: + annotations += voltage_annotations + self.voltage_annotations = voltage_annotations + + if detect_eog: + eog = self.label_eog_events() + if eog: + eog_annotations, eog_events = eog + log.info(f'EOG events found: {len(eog_events)}') + if eog_annotations: + annotations += eog_annotations + self.eog_annotations = eog_annotations + + # Combine the annotations if multiple returned because set_annotations overwrites + # existing labels. + if extra_labels: + annotations += extra_labels + + if len(annotations) > 0: + self.mne_data.set_annotations(annotations) + else: + log.info('No artifacts or labels provided for the data.') + + # Plot the data with all annotations. This allows a user to reject additional bad epochs + # or modify existing annotations. + if self.semi_automatic: + self.mne_data.plot(block=True) + + return annotations + + def save_artifacts(self, overwrite: bool = False) -> None: + """Save the artifact file to disk.""" + if self.analysis_done: + self.mne_data.save( + f'{self.save_path}/{DefaultArtifactParameters.ARTIFACT_LABELLED_FILENAME.value}', + overwrite=overwrite) + else: + log.info('Artifact cannot be saved, artifact analysis has been done yet.') + + def raw_data_to_mne(self, raw_data: RawData, volts: bool = False) -> mne.io.RawArray: + """Convert the raw data to an MNE RawArray.""" + + downsample_rate = self.parameters.get("down_sampling_rate") + notch_filter = self.parameters.get("notch_filter_frequency") + filter_high = self.parameters.get("filter_high") + filter_low = self.parameters.get("filter_low") + filter_order = self.parameters.get("filter_order") + + default_transform = get_default_transform( + sample_rate_hz=raw_data.sample_rate, + notch_freq_hz=notch_filter, + bandpass_low=filter_low, + bandpass_high=filter_high, + bandpass_order=filter_order, + downsample_factor=downsample_rate, + ) + + return convert_to_mne( + raw_data, + channel_map=analysis_channels(raw_data.channels, self.device_spec), + transform=default_transform, + volts=volts) + + def label_eog_events( + self, + preblink: float = DefaultArtifactParameters.EOG_LABEL_DURATION.value, + postblink: float = DefaultArtifactParameters.EOG_LABEL_DURATION.value, + label: str = ArtifactType.BLINK.label(), + threshold: float = DefaultArtifactParameters.EOG_THRESHOLD.value) -> Optional[Tuple[mne.Annotations, list]]: + """Label EOG artifacts. + + Parameters + ---------- + raw : mne.RawArray + preblink : float | int + The time before the blink to label as an artifact. Defaults to DefaultArtifactParameters.EOG_DURATION. + postblink : float | int + The time after the blink to label as an artifact. Defaults to DefaultArtifactParameters.EOG_DURATION. + label : str + The label to use for the eog epochs. Note: The prefix + BAD or BAD_ must be present for epoch rejection. Defaults to ArtifactType.BLINK.label(). + threshold : float + The voltage threshold to use for detecting blinks. Defaults to DefaultArtifactParameters.EOG_THRESHOLD. + + Returns + ------- + ( mne.Annotations, list) | None + """ + if not self.eye_channels: + log.info('No eye channels provided. Cannot detect EOG artifacts.') + return None + + log.info(f'Using blink threshold of {threshold} for channels {self.eye_channels}.') + eog_events = mne.preprocessing.find_eog_events(self.mne_data, ch_name=self.eye_channels, thresh=threshold) + # eog_events = mne.preprocessing.ica_find_eog_events(raw) TODO compare to ICA + + if len(eog_events) > 0: + # Create annotations around blinks + onsets = eog_events[:, 0] / self.mne_data.info['sfreq'] - preblink + durations = [postblink + preblink] * len(eog_events) + descriptions = [label] * len(eog_events) + blink_annotations = mne.Annotations(onsets, durations, descriptions) + + return blink_annotations, eog_events + return None + + def label_voltage_events( + self, + pre_event: float = DefaultArtifactParameters.VOlTAGE_LABEL_DURATION.value, + post_event: float = DefaultArtifactParameters.VOlTAGE_LABEL_DURATION.value, + peak: Optional[Tuple[float, float, str]] = None, + flat: Optional[Tuple[float, float, str]] = None) -> Optional[Tuple[mne.Annotations, List[str]]]: + """Annotate Voltage Events in the data. + + Parameters + ---------- + raw : mne.RawArray + pre_event : float | int + The time before the voltage to label. + post_event : float | int + The time after the voltage to label. + peak : tuple + The voltage threshold to use for peak detection. The tuple should be (threshold, min_duration, label). + Defaults to ( + DefaultArtifactParameters.PEAK_THRESHOLD.value, + DefaultArtifactParameters.PEAK_MIN_DURATION.value, + ArtifactType.VOLTAGE.label() + ) + flat : tuple + The voltage threshold to use for flat detection. The tuple should be (threshold, min_duration, label). + Defaults to ( + DefaultArtifactParameters.FLAT_THRESHOLD.value, + DefaultArtifactParameters.FLAT_MIN_DURATION.value, + ArtifactType.FLAT.label()) + + Returns + ------- + (mne.Annotations, list) | None + + """ + if not flat: + flat = ( + DefaultArtifactParameters.FLAT_THRESHOLD.value, + DefaultArtifactParameters.FLAT_MIN_DURATION.value, + ArtifactType.FLAT.label()) + + if not peak: + peak = ( + DefaultArtifactParameters.PEAK_THRESHOLD.value, + DefaultArtifactParameters.PEAK_MIN_DURATION.value, + ArtifactType.VOLTAGE.label()) + + onsets: List[float] = [] + duration: List[float] = [] + descriptions: List[str] = [] + + # get the voltage events for threshold + peak_voltage_annotations, bad_channels1 = mne.preprocessing.annotate_amplitude( + self.mne_data, + min_duration=peak[1], + bad_percent=self.percent_bad, + peak=peak[0]) + if len(peak_voltage_annotations) > 0: + onsets, durations, descriptions = self.concat_annotations( + peak_voltage_annotations, + pre_event, + post_event, + peak[2], + onsets, + duration, + descriptions) + + # get the voltage events for flat + flat_voltage_annotations, bad_channels2 = mne.preprocessing.annotate_amplitude( + self.mne_data, min_duration=flat[1], bad_percent=self.percent_bad, flat=flat[0]) + if len(flat_voltage_annotations) > 0: + onsets, durations, descriptions = self.concat_annotations( + flat_voltage_annotations, + pre_event, + post_event, + flat[2], + onsets, + duration, + descriptions) + + # combine the bad channels + bad_channels = bad_channels1 + bad_channels2 + + if len(onsets) > 0 or len(bad_channels) > 0: + return mne.Annotations(onsets, durations, descriptions), bad_channels + + return None + + def concat_annotations( + self, + annotations: mne.Annotations, + pre: Union[float, int], + post: Union[float, int], + label: str, + onsets: List[float], + duration: List[str], + descriptions: List[str]) -> Tuple[list, list, list]: + """Concatenate annotations. + + Iters through the annotations and adds the pre and post time to the onsets and duration. + + Parameters + ---------- + annotations : mne.Annotations + pre : float | int + The time before the voltage to label. + post : float | int + The time after the voltage to label. + label : str + The label to use for the voltage epochs. Note: The prefix + BAD or BAD_ must be present for epoch rejection. + onsets : list + The list of onsets to append to. + duration : list + The list of durations to append to. + descriptions : list + The list of descriptions to append to. + + Returns + ------- + Tuple[list, list, list] - The onsets, durations, and descriptions. + + """ + + for annotation in annotations: + # hack for the start of the recording, if greater than prevoltage, then set to 0.0 + if (annotation['onset']) > pre: + onset = annotation['onset'] - pre + else: + onset = 0.0 + onsets.append(onset) + duration.append(annotation['duration'] + pre + post) + descriptions.append(label) + + return onsets, duration, descriptions + + +def write_mne_annotations( + annotations: mne.Annotations, + path: str, + filename: str) -> None: + """Write MNE annotations to a text file. + + This is useful for sharing annotations for use outside of MNE. + + Parameters + ---------- + annotations : mne.Annotations + The annotations to write. + path : str + The path to write the annotations to. + filename : str + The filename for the new annotations file. + + Returns + ------- + None + """ + # write the annotations to a text file where each line is [description, bcipy_label, onset, duration] + with open(os.path.join(path, filename), 'w') as tmp_file: + for annotation in annotations: + tmp_file.write( + f"{annotation['description'].split('BAD_')[-1]} " + f"{TriggerType.ARTIFACT} {annotation['onset']} {annotation['duration']}\n") + + +if __name__ == "__main__": + import argparse + + parser = argparse.ArgumentParser() + parser.add_argument( + '-p', + '--path', + help='Path to the directory with >= 1 sessions to be analyzed for artifacts', + required=False) + # Semi-supervised artifact detection. + # If flag used, the user will be prompted with a GUI to correct or add labels for artifacts. + parser.add_argument("--semi", dest="semi", action="store_true") + # Save the data after artifact detection as .fif file (MNE). + parser.add_argument("--save", dest="save", action="store_true") + # If flag used with semi, the user will be prompted to correct or add labels for + # artifacts alongside the other session triggers. + parser.add_argument("--colabel", dest="colabel", action="store_true") + parser.set_defaults(semi=False) + parser.set_defaults(save=False) + parser.set_defaults(colabel=False) + args = parser.parse_args() + + # if no path is provided, prompt for one using a GUI + path = args.path + if not path: + path = load_experimental_data() + + positions = None + for session in Path(path).iterdir(): + # loop through the sessions, pausing after each one to allow for manual stopping + if session.is_dir(): + log.info(f'Processing {session}') + prompt = input('Hit enter to continue or type "skip" to skip processing: ') + if prompt != 'skip': + # load the parameters from the data directory + parameters = load_json_parameters( + f'{session}/{DEFAULT_PARAMETER_FILENAME}', value_cast=True) + + # load the raw data from the data directory + raw_data = load_raw_data(str(Path(session, f'{RAW_DATA_FILENAME}.csv'))) + type_amp = raw_data.daq_type + + # load the triggers + if args.colabel: + trigger_type, trigger_timing, trigger_label = trigger_decoder( + offset=parameters.get('static_trigger_offset'), + trigger_path=f"{session}/{TRIGGER_FILENAME}", + exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], + ) + triggers = (trigger_type, trigger_timing, trigger_label) + else: + triggers = None + + devices.load(Path(BCIPY_ROOT, DEFAULT_DEVICE_SPEC_FILENAME)) + device_spec = devices.preconfigured_device(raw_data.daq_type) + + # check the device spec for any frontal channels to use for EOG detection + eye_channels = [] + for channel in device_spec.channels: + if 'F' in channel: + eye_channels.append(channel) + if len(eye_channels) == 0: + eye_channels = None + + artifact_detector = ArtifactDetection( + raw_data, + parameters, + device_spec, + eye_channels=eye_channels, + session_triggers=triggers, + save_path=None if not args.save else session, + semi_automatic=args.semi) + + detected = artifact_detector.detect_artifacts() + # write_mne_annotations(detected, session, 'artifacts.txt') + else: + log.info(f'Skipping {session}') + # Uncomment below to pause between sessions. + # breakpoint() diff --git a/bcipy/signal/evaluate/evaluator.py b/bcipy/signal/evaluate/evaluator.py deleted file mode 100644 index 052743170..000000000 --- a/bcipy/signal/evaluate/evaluator.py +++ /dev/null @@ -1,48 +0,0 @@ -from bcipy.signal.evaluate.rules import HighVoltage, LowVoltage, Rule -from typing import List - -import numpy as np - - -class Evaluator: - """Evaluator. - - Takes in raw data and tests them against given - rules, which elicit the rejection of a inquiry when broken. - Feeds warnings to artifact rejector as suggestions. - - Add rules given in parameters to evaluator's ruleset and set - keys for broken_rules. One heading per rule. - - parameters (dict): dictionary of parameters from json file, given by caller - rules (list of rule objects, defined in rules.py) - """ - - def __init__(self, parameters, high_voltage, low_voltage) -> None: - self.rules: List[Rule] = [] - - # if high_voltage threshold is enabled, add to rules - if high_voltage: - self.rules.append(HighVoltage(parameters['high_voltage_value'])) - - # if low_voltage threshold is enabled, add to rules - if low_voltage: - self.rules.append(LowVoltage(parameters['low_voltage_value'])) - - def evaluate(self, data: np.ndarray) -> bool: - """Evaluate. - - Evaluates inquiry data using selected rules from parameters file. - """ - - for rule in self.rules: - - if rule.is_broken(data): - - return False - - return True - - def __str__(self): - rules = [str(rule) for rule in self.rules] - return f'Evaluator with {rules}' diff --git a/bcipy/signal/evaluate/rules.py b/bcipy/signal/evaluate/rules.py deleted file mode 100644 index b85ffa921..000000000 --- a/bcipy/signal/evaluate/rules.py +++ /dev/null @@ -1,82 +0,0 @@ -import numpy as np -from abc import ABC, abstractmethod - - -class Rule(ABC): - """Rule. - - Python Abstract Base Class for a Rule. - (https://docs.python.org/3/library/abc.html) - Each rule has a 'is_broken' method which acts as instructions for - the evaluator to use when evaluating data. Returns True upon - rule breakage, otherwise defaults to False.""" - - def __init__(self, threshold): - self.threshold = threshold - - # a method required for all subclasses - @abstractmethod - def is_broken(self, data: np.ndarray) -> bool: - ... - - -class HighVoltage(Rule): - """High Voltage Rule. - - Set high threshold for permitted voltage. - - Allows different types of rules to be fed to artifact rejector so that experimenter can differentiate between - high and low warnings easily. Makes it so that rules are singularly defined. Names must be equal to value in - parameters.json - """ - - def is_broken(self, data: np.ndarray) -> bool: - """Is Broken. - - Test data against threshold value. Return broken - if threshold exceeded. - - data(ndarray[float]): C x N length array where - C is the number of channels and N is the number of samples - - np.amax takes the maximum value in an - array even of length 1: - (https://docs.scipy.org/doc/numpy/ - reference/generated/numpy.amax.html) - """ - if np.amax(data) >= self.threshold: - return True - - return False - - def __str__(self) -> str: - return f'High Voltage with threshold {self.threshold}' - - -class LowVoltage(Rule): - """Low Voltage Rule. - - Set low threshold for permitted voltage. - """ - - def is_broken(self, data: np.ndarray) -> bool: - """Is Broken. - - Test data against threshold value. Return false - if threshold exceeded. - - - data(ndarray[float]): C x N length array where - C is the number of channels and N is the number of samples - - - np.amin takes the minimum value in an array even of length 1: - (https://docs.scipy.org/doc/numpy/reference/generated/numpy.amin.html) - """ - if np.amin(data) <= self.threshold: - return True - - return False - - def __str__(self) -> str: - return f'Low Voltage with threshold {self.threshold}' diff --git a/bcipy/signal/tests/evaluate/test_artifact.py b/bcipy/signal/tests/evaluate/test_artifact.py new file mode 100644 index 000000000..c2fa2bc99 --- /dev/null +++ b/bcipy/signal/tests/evaluate/test_artifact.py @@ -0,0 +1,128 @@ +import unittest +from mockito import when, mock, unstub +from bcipy.signal.evaluate.artifact import ArtifactDetection, DefaultArtifactParameters, ArtifactType +from bcipy.signal.evaluate import artifact + + +class TestArtifactDetection(unittest.TestCase): + + def setUp(self): + self.raw_data = mock() + self.raw_data.total_seconds = 10 + self.raw_data.sample_rate = 1000 + self.raw_data.channels = ['Fp1', 'Fp2'] + self.mne_data = mock() + self.parameters = { + 'down_sampling_rate': 2, + 'notch_filter_frequency': 60, + 'filter_high': 50, + 'filter_low': 0.5, + 'filter_order': 4, + } + self.device_spec = mock() + self.device_spec.content_type = 'EEG' + self.device_spec.units = 'volts' + self.channel_spec = mock() + self.channel_spec.name = 'Fp1' + self.channel_spec.units = 'volts' + self.device_spec.channel_specs = [self.channel_spec] + self.device_spec.analysis_channels = ['Fp1'] + self.channel_map = [1, 0] + when(artifact).convert_to_mne( + self.raw_data, + channel_map=self.channel_map, + transform=any, + volts=True).thenReturn( + self.mne_data) + + def tearDown(self) -> None: + unstub() + + def test_artifact_detection_init(self): + """Test the ArtifactDetection class.""" + ar = ArtifactDetection(raw_data=self.raw_data, parameters=self.parameters, device_spec=self.device_spec) + self.assertIsInstance(ar, ArtifactDetection) + self.assertFalse(ar.analysis_done) + self.assertIsNone(ar.dropped) + self.assertIsNone(ar.eog_annotations) + self.assertIsNone(ar.voltage_annotations) + self.assertIsNone(ar.session_triggers) + + def test_artifact_detection_init_throws_exception_unsupported_device(self): + """Test the ArtifactDetection class throws exception when using a device that is not supported.""" + self.device_spec.content_type = 'MEG' + with self.assertRaises(AssertionError): + ArtifactDetection( + raw_data=self.raw_data, + parameters=self.parameters, + device_spec=self.device_spec) + + def test_artifact_detection_init_throws_exception_unsupported_units(self): + """Test the ArtifactDetection class throws exception with unsupported units.""" + self.device_spec.units = 'unsupported' + self.channel_spec.units = 'unsupported' + + with self.assertRaises(AssertionError): + ArtifactDetection( + raw_data=self.raw_data, + parameters=self.parameters, + device_spec=self.device_spec) + + def test_artifact_detection_init_throws_exception_no_channels(self): + """Test the ArtifactDetection class throws an exception if no channels are provided.""" + self.device_spec.channel_specs = [] + + with self.assertRaises(AssertionError): + ArtifactDetection( + raw_data=self.raw_data, + parameters=self.parameters, + device_spec=self.device_spec) + + def test_artifact_detection_with_session_labels(self): + description = ['test', 'target', 'test'] + timing = [1, 2, 3] + labels = [0, 1, 0] + session_triggers = (description, timing, labels) + ar = ArtifactDetection( + raw_data=self.raw_data, + parameters=self.parameters, + device_spec=self.device_spec, + session_triggers=session_triggers) + self.assertIsNotNone(ar.session_triggers) + + def test_artifact_detection_detect_artifacts(self): + """Test the ArtifactDetection class label artifacts method.""" + ar = ArtifactDetection( + raw_data=self.raw_data, + parameters=self.parameters, + device_spec=self.device_spec) + labels = [mock()] + expected_label_response = f'{len(labels)} artifacts found in the data.' + when(ar).label_artifacts(extra_labels=ar.session_triggers).thenReturn(labels) + response_labels, response_dropped = ar.detect_artifacts() + self.assertEqual(response_labels, expected_label_response) + self.assertEqual(response_dropped, 0) + + def test_artifact_detection_label_artifacts(self): + """Test the ArtifactDetection class label artifacts method with no labels.""" + ar = ArtifactDetection( + raw_data=self.raw_data, + parameters=self.parameters, + device_spec=self.device_spec) + response = ar.label_artifacts(False, False) + self.assertTrue(len(response) == 1) + + def test_artifact_type(self): + """Test the ArtifactType class.""" + self.assertEqual(ArtifactType.BLINK.value, 'blink') + self.assertEqual(ArtifactType.EOG.value, 'eog') + + def test_default_artifact_parameters(self): + """Test the DefaultArtifactParameters class.""" + self.assertEqual(DefaultArtifactParameters.EOG_THRESHOLD.value, 75e-6) + self.assertEqual(DefaultArtifactParameters.VOlTAGE_LABEL_DURATION.value, 0.25) + self.assertEqual(DefaultArtifactParameters.ARTIFACT_LABELLED_FILENAME.value, 'artifacts.fif') + + +if __name__ == '__main__': + unittest.main() diff --git a/bcipy/signal/tests/evaluate/test_evaluator.py b/bcipy/signal/tests/evaluate/test_evaluator.py deleted file mode 100644 index d8894a83d..000000000 --- a/bcipy/signal/tests/evaluate/test_evaluator.py +++ /dev/null @@ -1,56 +0,0 @@ -import unittest -from bcipy.signal.evaluate.evaluator import Evaluator -from bcipy.signal.evaluate.rules import HighVoltage, LowVoltage -from mockito import any, unstub, when -from bcipy.signal.generator.generator import gen_random_data - - -class TestEvaluator(unittest.TestCase): - """Test Evaluator init and class methods """ - - def setUp(self): - self.expected_high_voltage = True - self.expected_low_voltage = True - self.parameters = { - 'high_voltage_value': 1, - 'low_voltage_value': -1 - } - - self.evaluator = Evaluator(self.parameters, - self.expected_high_voltage, - self.expected_low_voltage) - - self.channels = 32 - - def tearDown(self): - unstub() - - def test_init_high_voltage_rule(self): - """Test that high voltage rule initialized correctly into ruleset""" - if self.expected_high_voltage: - self.assertIsInstance(self.evaluator.rules[0], HighVoltage) - - def test_init_low_voltage_rule(self): - """Test that high voltage rule initialized correctly into ruleset""" - if self.expected_low_voltage: - self.assertIsInstance(self.evaluator.rules[1], LowVoltage) - - def test_evaluate_with_broken_rules(self): - """Test evaluate with is_broken returning True, - thus resulting in evaluate returning False""" - when(self.evaluator.rules[0]).is_broken(any()).thenReturn(True) - when(self.evaluator.rules[1]).is_broken(any()).thenReturn(True) - data = gen_random_data(-1, 2, self.channels) - self.assertFalse(self.evaluator.evaluate(data)) - - def test_evaluate_with_no_broken_rules(self): - """Test evaluate with is_broken returning False, - thus resulting in evaluate returning True""" - when(self.evaluator.rules[0]).is_broken(any()).thenReturn(False) - when(self.evaluator.rules[1]).is_broken(any()).thenReturn(False) - data = gen_random_data(-1, 2, self.channels) - self.assertTrue(self.evaluator.evaluate(data)) - - -if __name__ == "__main__": - unittest.main() diff --git a/bcipy/signal/tests/evaluate/test_rules.py b/bcipy/signal/tests/evaluate/test_rules.py deleted file mode 100644 index 94f4284a5..000000000 --- a/bcipy/signal/tests/evaluate/test_rules.py +++ /dev/null @@ -1,62 +0,0 @@ -import unittest -import numpy as np -from bcipy.signal.evaluate.rules import Rule, HighVoltage, LowVoltage -from bcipy.signal.generator.generator import gen_random_data - - -class TestRules(unittest.TestCase): - """Test Rules init and class methods """ - - def setUp(self): - """Create rule objects to test """ - - # Set thresholds for testing - self.highvoltage_value = 1 - self.lowvoltage_value = -1 - - self.highvoltage_rule = HighVoltage(self.highvoltage_value) - self.lowvoltage_rule = LowVoltage(self.lowvoltage_value) - - self.channels = 32 - - def test_high_voltage_rule_init(self): - """Test that high voltage inits correctly""" - self.assertEqual(self.highvoltage_rule.threshold, - self.highvoltage_value) - - self.assertIsInstance(self.highvoltage_rule, Rule) - - def test_low_voltage_rule_init(self): - """Test that low voltage inits correctly""" - self.assertEqual(self.lowvoltage_rule.threshold, - self.lowvoltage_value) - - self.assertIsInstance(self.lowvoltage_rule, Rule) - - def test_low_voltage_failing_signal(self): - """Test generated sub threshold signal against low voltage""" - data = gen_random_data(1, 5, self.channels) - # ascertain that at least one random datapoint is below threshold to test np.amin edgecase - data[np.random.randint(self.channels)] = -1.5 - self.assertTrue(self.lowvoltage_rule.is_broken(data)) - - def test_low_voltage_passing_signal(self): - """Test generated signal that is consistently above threshold""" - data = gen_random_data(-0.5, 0.5, self.channels) - self.assertFalse(self.lowvoltage_rule.is_broken(data)) - - def test_high_voltage_failing_signal(self): - """Test generated signal with one data point above threshold """ - data = gen_random_data(-5, 0, self.channels) - # ascertain that at least one random datapoint is above threshold to test np.amax edgecase - data[np.random.randint(self.channels)] = 1.5 - self.assertTrue(self.highvoltage_rule.is_broken(data)) - - def test_high_voltage_passing_signal(self): - """Test generated signal that is consistently below threshold""" - data = gen_random_data(-0.5, 0.5, self.channels) - self.assertFalse(self.highvoltage_rule.is_broken(data)) - - -if __name__ == "__main__": - unittest.main() From 18c5434ef3f177c7950515a0f7304840921459f9 Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 22 Aug 2024 11:14:50 -0700 Subject: [PATCH 286/330] Fixed linting and typing issues --- bcipy/simulator/sim.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index 0fb140334..45ce565f9 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -190,7 +190,7 @@ def new_data_record(self, inquiry_state: SimState, inquiry_result: InquiryResult target_text=inquiry_state.target_sentence) data.precision = 4 data.evidences = { - val.evidence_type: val.evidence + val.evidence_type: list(val.evidence) for val in inquiry_result.evidences.values() } if EvidenceType.LM not in data.evidences: @@ -218,7 +218,7 @@ def save_run(self, session: Session): if session.has_evidence(): session_excel(session=session, - excel_file=f"{self.save_dir}/session.xlsx") + excel_file=f"{self.save_dir}/session.xlsx") def reset(self): self.state_manager.reset_state() From c254376b92c3e1de5786aecf2638f4112fd792b6 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 23 Aug 2024 10:38:13 -0700 Subject: [PATCH 287/330] Fixes inquiry initialization bug for simulator --- bcipy/simulator/helpers/model_handler.py | 6 ++++++ bcipy/simulator/sim.py | 22 ++++++++++++++-------- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/bcipy/simulator/helpers/model_handler.py b/bcipy/simulator/helpers/model_handler.py index 7294aa1dc..88bf28f3f 100644 --- a/bcipy/simulator/helpers/model_handler.py +++ b/bcipy/simulator/helpers/model_handler.py @@ -27,6 +27,9 @@ def generate_evidence(self, state: SimState, features): def get_model(self, key=None): """ get the model """ + def includes_language_model(self) -> bool: + return False + class SignalModelHandler1(ModelHandler): @@ -120,6 +123,9 @@ def get_model(self, key=None): else: raise RuntimeError(f"Can't find model {key}") + def includes_language_model(self) -> bool: + return True + def __str__(self): props = { 'signal_model': self.signal_model.__class__.__name__, diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index 45ce565f9..f2e1ce853 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -118,6 +118,10 @@ def run(self): self.save_run(session) + def has_language_model(self) -> bool: + """Indicates whether this task has been configured with a language model""" + return self.model_handler.includes_language_model() + def __make_stimuli(self, state: SimState): """ Creates next set of stimuli: @@ -125,22 +129,24 @@ def __make_stimuli(self, state: SimState): - uses language model for beginning of series - random letters in case of no LM and beginning of series """ - subset_length = 10 - val_func: Optional[np.ndarray] = state.get_current_likelihood() - always_in_stimuli = [symbols.SPACE_CHAR, symbols.BACKSPACE_CHAR] + subset_length = self.parameters['stim_length'] + priors: Optional[np.ndarray] = state.get_current_likelihood() + always_in_stimuli = [] + if self.parameters.get('backspace_always_shown', False): + always_in_stimuli.append(symbols.BACKSPACE_CHAR) # during series - if val_func is not None: + if priors is not None: return stimuli.best_selection(self.symbol_set, list( - val_func), subset_length, always_included=always_in_stimuli) + priors), subset_length, always_included=always_in_stimuli) # beginning of series - elif self.parameters.get('sim_lm_active', 0) == 1: + elif self.has_language_model(): # use lang model for priors to make stim lm_model = self.model_handler.get_model('lm') lm_model_evidence = lm_model.predict(list(state.current_sentence)) - val_func = format_lm_output(lm_model_evidence, self.symbol_set) + priors = format_lm_output(lm_model_evidence, self.symbol_set) return stimuli.best_selection(self.symbol_set, list( - val_func), subset_length, always_included=always_in_stimuli) + priors), subset_length, always_included=always_in_stimuli) return random.sample(self.symbol_set, subset_length) From 324dc1a3dc254bb12afc93e76c1e80c9619fd691 Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 26 Aug 2024 18:20:52 -0700 Subject: [PATCH 288/330] Created a new Copy Phrase Task for simulation to more closely utilize the existing BciPy code whenever possible. Refactored Sampler code to utilize common patterns and clarify the API for future multi-modal support --- bcipy/simulator/helpers/data_engine.py | 13 +- bcipy/simulator/helpers/log_utils.py | 5 + bcipy/simulator/helpers/sampler.py | 153 ++++++++++++---------- bcipy/simulator/sim.py | 2 +- bcipy/simulator/task/copy_phrase.py | 128 ++++++++++++++++++ bcipy/simulator/task/null_display.py | 17 +++ bcipy/simulator/task/task_runner.py | 167 ++++++++++++++++++++++++ bcipy/task/paradigm/rsvp/copy_phrase.py | 53 +++++--- 8 files changed, 449 insertions(+), 89 deletions(-) create mode 100644 bcipy/simulator/task/copy_phrase.py create mode 100644 bcipy/simulator/task/null_display.py create mode 100644 bcipy/simulator/task/task_runner.py diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py index 6df802f54..ba0086fe5 100644 --- a/bcipy/simulator/helpers/data_engine.py +++ b/bcipy/simulator/helpers/data_engine.py @@ -51,7 +51,18 @@ class Trial(NamedTuple): inquiry_pos: int symbol: str target: int - eeg: np.ndarray + eeg: np.ndarray # Channels by Samples + + def __str__(self): + fields = [ + f"source='{self.source}'", f"inquiry_n={self.inquiry_n}", + f"inquiry_pos={self.inquiry_pos}", f"symbol='{self.symbol}'", + f"target={self.target}", f"eeg={self.eeg.shape}" + ] + return f"Trial({', '.join(fields)})" + + def __repr__(self): + return str(self) class RawDataEngine(DataEngine): diff --git a/bcipy/simulator/helpers/log_utils.py b/bcipy/simulator/helpers/log_utils.py index 78964f53f..61c111bd0 100644 --- a/bcipy/simulator/helpers/log_utils.py +++ b/bcipy/simulator/helpers/log_utils.py @@ -2,6 +2,7 @@ import pandas as pd +from bcipy.simulator.helpers.data_engine import Trial from bcipy.simulator.helpers.types import SimEvidence @@ -17,6 +18,10 @@ def fmt_likelihoods_for_hist(likelihoods, alp): return formatted +def format_samples(sample_rows: List[Trial]) -> str: + """Returns a tabular representation of the sample rows.""" + return '\n'.join([str(row) for row in sample_rows]) + def format_sample_rows(sample_rows: List[pd.Series]) -> str: """Returns a tabular representation of the sample rows.""" return pd.DataFrame(sample_rows).drop(columns=['eeg']).to_string( diff --git a/bcipy/simulator/helpers/sampler.py b/bcipy/simulator/helpers/sampler.py index 34557cd4b..23419138c 100644 --- a/bcipy/simulator/helpers/sampler.py +++ b/bcipy/simulator/helpers/sampler.py @@ -9,101 +9,119 @@ import pandas as pd from bcipy.helpers.exceptions import TaskConfigurationException -from bcipy.helpers.parameters import Parameters -from bcipy.helpers.symbols import alphabet -from bcipy.simulator.helpers.data_engine import RawDataEngine -from bcipy.simulator.helpers.log_utils import (format_sample_df, - format_sample_rows) +from bcipy.simulator.helpers.data_engine import RawDataEngine, Trial +from bcipy.simulator.helpers.log_utils import format_samples from bcipy.simulator.helpers.state_manager import SimState log = logging.getLogger(__name__) -class Sampler(ABC): - """ Interface to generate sample of data usable by a model """ +def default_reshaper(eeg_responses: List[np.ndarray]) -> np.ndarray: + """Default data reshaper. - def sample(self, state: SimState): - ... + Returns + ------- + ndarray with shape (channel_n, trial_n, sample_n) + """ - def set_reshaper(self, reshaper: Callable): - ... + channels_eeg: List[List[np.ndarray]] = [ + [] for i in range(len(eeg_responses[0])) + ] + for _i, trial_channels_eeg in enumerate(eeg_responses): + for c_i, channel_eeg in enumerate(trial_channels_eeg): + channels_eeg[c_i].append(channel_eeg) -class EEGByLetterSampler(Sampler): + return np.array(channels_eeg) + + +class Sampler(ABC): + """Represents a strategy for sampling signal model data from a DataEngine + comprised of signal data from one or more data collection sessions.""" - def __init__(self, - data_engine: RawDataEngine, - parameters: Parameters = None): + def __init__(self, data_engine: RawDataEngine): self.data_engine: RawDataEngine = data_engine - self.parameters: Parameters = self.data_engine.parameters if not parameters else parameters self.model_input_reshaper: Callable = default_reshaper - self.alphabet: List[str] = self.parameters.get( - 'symbol_set') if self.parameters else alphabet() self.data: pd.DataFrame = self.data_engine.transform().get_data() - def sample(self, state: SimState) -> np.ndarray: + def sample(self, state: SimState) -> List[Trial]: """ - - query eeg response by letter - - reshape for signal model input + Query the data engine for a list of trials corresponding to each + currently displayed symbol. - Return: - nd array (n_channel, n_trial, n_sample) - """ + Parameters + ---------- + state - specifies the target symbol and current inquiry (displayed symbols). - inquiry_letter_subset = state.display_alphabet - target_letter = state.target_symbol - sample_rows = [] - for symbol in inquiry_letter_subset: - is_target = int(symbol == target_letter) - # filtered_data = self.data.query(f'target == {is_target} and symbol == "{symbol}"') - filtered_data: pd.DataFrame = self.data.query( - f'target == {is_target}') - if filtered_data is None or len(filtered_data) == 0: - raise TaskConfigurationException( - message="No eeg sample found with provided data and query") + Returns + ------- + a list of Trials with an item for each symbol in the current inquiry. + """ + raise NotImplementedError - row = filtered_data.sample(1).iloc[0] - sample_rows.append(row) + def sample_data(self, state: SimState) -> np.ndarray: + """ + Query for trials and reshape for signal model input according to the + provided reshaper. - log.debug(f"EEG Samples: \n {format_sample_rows(sample_rows)}") + Return: + ndarray of shape (n_channel, n_trial, n_sample) + """ + trials = self.sample(state) + return self.reshaped(trials) - eeg_responses = [r['eeg'] for r in sample_rows] - sample = self.model_input_reshaper(eeg_responses) + def sample_with_context(self, + state: SimState) -> Tuple[np.ndarray, List[Trial]]: + """ + Returns + ------- + A tuple of the reshaped data (ndarray of shape (n_channel, n_trial, n_sample)) as + well as a list of Trial data (metadata and data not reshaped) for context. + """ + trials = self.sample(state) + data = self.reshaped(trials) + return data, trials - return sample + def reshaped(self, sample_rows: List[Trial]) -> np.ndarray: + """Returns the queried trials reshaped into a format that a model can predict.""" + return self.model_input_reshaper([trial.eeg for trial in sample_rows]) def set_reshaper(self, reshaper: Callable): + """Set the reshaper""" self.model_input_reshaper = reshaper def __str__(self): return f"<{self.__class__.__name__}>" -def default_reshaper(eeg_responses: List[np.ndarray]) -> np.ndarray: - """Default data reshaper. - - Returns - ------- - ndarray with shape (channel_n, trial_n, sample_n) - """ +class EEGByLetterSampler(Sampler): + """Sampler that that queries based on target/non-target label.""" - channels_eeg: List[List[np.ndarray]] = [ - [] for i in range(len(eeg_responses[0])) - ] + def sample(self, state: SimState) -> List[Trial]: + current_stimuli = state.display_alphabet + target_letter = state.target_symbol + sample_rows = [] + for symbol in current_stimuli: + is_target = int(symbol == target_letter) + # filtered_data = self.data.query(f'target == {is_target} and symbol == "{symbol}"') + filtered_data: pd.DataFrame = self.data.query( + f'target == {is_target}') + if filtered_data is None or len(filtered_data) == 0: + raise TaskConfigurationException( + message="No eeg sample found with provided data and query") - for _i, trial_channels_eeg in enumerate(eeg_responses): - for c_i, channel_eeg in enumerate(trial_channels_eeg): - channels_eeg[c_i].append(channel_eeg) + row = filtered_data.sample(1).iloc[0] + sample_rows.append(Trial(**row)) - return np.array(channels_eeg) + log.debug(f"EEG Samples:\n{format_samples(sample_rows)}") + return sample_rows class InquirySampler(Sampler): """Samples an inquiry of data at a time.""" def __init__(self, data_engine: RawDataEngine): - self.model_input_reshaper = default_reshaper - self.data: pd.DataFrame = data_engine.transform().get_data() + super().__init__(data_engine) # map source to inquiry numbers self.target_inquiries, self.no_target_inquiries = self.prepare_data( @@ -135,15 +153,20 @@ def prepare_data( return target_inquiries, no_target_inquiries - def sample(self, state: SimState) -> np.ndarray: + def sample(self, state: SimState) -> List[Trial]: """Samples a random inquiry for a random data source. Ensures that if a target is shown in the current inquiry the sampled data will be from an inquiry where the target was presented. + Parameters + ---------- + state - specifies the target symbol and current inquiry (displayed symbols). + Returns ------- - nd array (n_channel, n_trial, n_sample) + a list of Trials with an item for each symbol in the current + inquiry. """ target_letter = state.target_symbol @@ -197,13 +220,9 @@ def sample(self, state: SimState) -> np.ndarray: # select the inquiry items in sorted position sorted_inquiry_df = inquiry_df.loc[sort_pos.sort_values().index] - log.debug(f"EEG Samples: \n {format_sample_df(sorted_inquiry_df)}") - rows = [ - sorted_inquiry_df.iloc[i] for i in range(len(sorted_inquiry_df)) + Trial(**sorted_inquiry_df.iloc[i]) + for i in range(len(sorted_inquiry_df)) ] - eeg_responses = [r['eeg'] for r in rows] - return self.model_input_reshaper(eeg_responses) - - def set_reshaper(self, reshaper: Callable): - self.model_input_reshaper = reshaper + log.debug(f"EEG Samples:\n{format_samples(rows)}") + return rows diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index f2e1ce853..821b94121 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -87,7 +87,7 @@ def run(self): f"Target '{curr_state.target_symbol}' | " + f"Stimuli {curr_state.display_alphabet}") - sampled_data = self.sampler.sample(self.state_manager.get_state()) + sampled_data = self.sampler.sample_data(self.state_manager.get_state()) evidence: Dict[str, SimEvidence] = self.model_handler.generate_evidence(curr_state, sampled_data) diff --git a/bcipy/simulator/task/copy_phrase.py b/bcipy/simulator/task/copy_phrase.py new file mode 100644 index 000000000..fc6ad5783 --- /dev/null +++ b/bcipy/simulator/task/copy_phrase.py @@ -0,0 +1,128 @@ +"""Simulates the Copy Phrase task""" +from typing import List, Optional, Tuple + +from bcipy.display.main import Display +from bcipy.feedback.visual.visual_feedback import VisualFeedback +from bcipy.helpers.parameters import Parameters +from bcipy.helpers.stimuli import InquirySchedule +from bcipy.language.main import LanguageModel +from bcipy.signal.model.base_model import SignalModel +from bcipy.simulator.helpers.sampler import Sampler +from bcipy.simulator.helpers.state_manager import SimState +from bcipy.simulator.task.null_display import NullDisplay +from bcipy.task.control.evidence import EvidenceEvaluator +from bcipy.task.data import EvidenceType +from bcipy.task.paradigm.rsvp.copy_phrase import RSVPCopyPhraseTask + + +class SimulatorCopyPhraseTask(RSVPCopyPhraseTask): + """CopyPhraseTask that simulates user interactions by sampling data + from a DataSampler.""" + + def __init__(self, parameters: Parameters, file_save: str, + signal_models: List[SignalModel], + language_model: LanguageModel, sampler: Sampler): + super().__init__(win=None, + daq=None, + parameters=parameters, + file_save=file_save, + signal_models=signal_models, + language_model=language_model, + fake=False) + self.save_session_every_inquiry = False + # TODO: support multi-modal by including a sampler for every model + # TODO: easily swap out samplers (parameter -> list of samplers, one for each mode/evidence type) + # maybe accept a List[Tuple[SignalModel, Sampler]] + self.sampler = sampler + + def init_evidence_evaluators( + self, signal_models: List[SignalModel]) -> List[EvidenceEvaluator]: + # Evidence will be sampled so we don't need to evaluate raw data. + return [] + + def init_evidence_types( + self, evidence_evaluators: List[EvidenceEvaluator] + ) -> List[EvidenceType]: + # TODO: revisit this based on the provided models + return [EvidenceType.LM, EvidenceType.ERP] + + def init_display(self) -> Display: + return NullDisplay() + + def init_feedback(self) -> Optional[VisualFeedback]: + return None + + def user_wants_to_continue(self) -> bool: + return True + + def wait(self, seconds: Optional[float] = None) -> None: + """Override to do nothing""" + + def present_inquiry( + self, inquiry_schedule: InquirySchedule + ) -> Tuple[List[Tuple[str, float]], bool]: + """Override ; returns empty timing info; always proceed for inquiry + preview""" + return [], True + + def show_feedback(self, selection: str, correct: bool = True) -> None: + """Override to do nothing""" + # TODO: consider tracking metrics + + def compute_button_press_evidence( + self, proceed: bool) -> Optional[Tuple[EvidenceType, List[float]]]: + # TODO: consider adding a sampler for this + return None + + def compute_device_evidence( + self, + stim_times: List[List], + proceed: bool = True) -> List[Tuple[EvidenceType, List[float]]]: + # TODO: sample for each evidence type + self.logger.info("Computing evidence with sim_state:") + self.logger.info(self.get_sim_state()) + + # sampled_trial = self.sampler.sample_trial(self.get_sim_state()) + sampled_data = self.sampler.sample_data(self.get_sim_state()) + + + # trial_info = (datasource, inquiry_n) + # eye_gaze_data = self.sampler['EYE'].sample(self.get_sim_state(), trial_info) + evidence = self.signal_model.predict(sampled_data, + self.current_symbols(), self.alp) + return [(EvidenceType.ERP, evidence)] + + def exit_display(self) -> None: + """Close the UI and cleanup.""" + + def elapsed_seconds(self) -> float: + # TODO: estimate this + return 0.0 + + def write_offset_trigger(self) -> None: + """Do nothing""" + + def write_trigger_data(self, stim_times: List[Tuple[str, float]], + target_stimuli: str) -> None: + """Do nothing""" + + def get_sim_state(self) -> SimState: + """Get the current state in the format expected by the simulation tools.""" + + return SimState( + target_symbol=self.next_target(), + current_sentence=self.spelled_text, + target_sentence=self.copy_phrase, + display_alphabet=self.current_symbols(), + # TODO: + inquiry_n=0, + series_n=0, + series_results=[], + decision_criterion=[]) + + def current_symbols(self) -> List[str]: + """Get the list of symbols from the current inquiry.""" + schedule = self.current_inquiry + stimuli = schedule.stimuli[0] + _fixation, *symbols = stimuli + return symbols diff --git a/bcipy/simulator/task/null_display.py b/bcipy/simulator/task/null_display.py new file mode 100644 index 000000000..fb5767e6c --- /dev/null +++ b/bcipy/simulator/task/null_display.py @@ -0,0 +1,17 @@ +"""Display that doesn't do anything""" +from typing import List, Tuple + +from bcipy.display import Display + + +class NullDisplay(Display): + """Display that doesn't show anything to the user.""" + + def do_inquiry(self) -> List[Tuple[str, float]]: + return [] + + def wait_screen(self, *args, **kwargs) -> None: + """Do nothing""" + + def update_task_bar(self, *args, **kwargs) -> None: + """Do nothing""" diff --git a/bcipy/simulator/task/task_runner.py b/bcipy/simulator/task/task_runner.py new file mode 100644 index 000000000..609453c04 --- /dev/null +++ b/bcipy/simulator/task/task_runner.py @@ -0,0 +1,167 @@ +"""Setup and run the task""" + +import argparse +import logging +import os +from glob import glob +from pathlib import Path +from typing import List + +from bcipy.helpers.language_model import init_language_model +from bcipy.helpers.load import load_json_parameters, load_signal_models +from bcipy.helpers.parameters import Parameters +from bcipy.simulator.helpers import artifact +from bcipy.simulator.helpers.data_engine import RawDataEngine +from bcipy.simulator.helpers.sampler import EEGByLetterSampler, Sampler +from bcipy.simulator.task.copy_phrase import SimulatorCopyPhraseTask +from bcipy.task.main import Task + +logger = logging.getLogger(artifact.TOP_LEVEL_LOGGER_NAME) + + +def configure_run_directory(sim_dir: str, run: int) -> str: + """Create the necessary directories and configure the logger. + Returns the run directory. + """ + run_name = f"run_{run}" + path = f"{sim_dir}/{run_name}" + os.mkdir(path) + artifact.configure_logger(log_path=path, + file_name=f"{run_name}.log", + use_stdout=False) + return path + + +class TaskRunner(): + """Responsible for executing a task a given number of times.""" + + def __init__(self, + model_path: str, + params_path: str, + source_dirs: List[str], + save_dir: str, + runs: int = 1): + self.model_path = model_path + self.params_path = params_path + self.source_dirs = source_dirs + self.sim_dir = save_dir + self.runs = runs + + self.parameters = None + self.signal_models = [] + self.language_model = None + self.sampler = None + + def setup(self) -> None: + """Setup the task objects""" + logger.info("Loading parameters") + self.parameters = load_json_parameters(self.params_path, + value_cast=True) + + logger.info("Loading signal models") + self.signal_models = load_signal_models(directory=self.model_path) + logger.debug(self.signal_models) + + logger.info("Initializing language model") + self.language_model = init_language_model(self.parameters) + logger.debug(self.language_model) + + logger.info("Creating data engine") + data_engine = self.init_data_engine(self.source_dirs, self.parameters) + self.sampler = self.init_sampler(data_engine) + logger.debug("Using sampler:") + logger.debug(self.sampler) + + def setup_complete(self) -> bool: + """Determines if the runner has been setup correctly.""" + return all([ + self.parameters is not None, + len(self.signal_models) > 0, self.language_model is not None, + self.sampler is not None + ]) + + def init_data_engine(self, source_dirs: List[str], + parameters: Parameters) -> RawDataEngine: + """Initialize the data engine""" + return RawDataEngine(list(map(str, source_dirs)), parameters) + + def init_sampler(self, data_engine: RawDataEngine) -> Sampler: + """Initialize the Sampler""" + return EEGByLetterSampler(data_engine) + + def make_task(self, run_dir) -> Task: + """Create the task. This is done for every run.""" + return SimulatorCopyPhraseTask(self.parameters, + file_save=run_dir, + signal_models=self.signal_models, + language_model=self.language_model, + sampler=self.sampler) + + def run(self): + """Run one or more simulations""" + if not self.setup_complete(): + self.setup() + self.parameters.save(self.sim_dir) + for i in range(self.runs): + logger.info(f"Executing task {i+1}") + self.do_run(i + 1) + logger.info("Task complete") + + def do_run(self, run: int): + """Execute a simulation run.""" + run_dir = configure_run_directory(self.sim_dir, run) + logger.info(run_dir) + task = self.make_task(run_dir) + task.execute() + + +def main(): + """Run the task""" + glob_help = ('glob pattern to select a subset of data folders' + ' Ex. "*RSVP_Copy_Phrase*"') + parser = argparse.ArgumentParser() + parser.add_argument( + "-d", + "--data_folder", + type=Path, + required=True, + help= + "Raw data folders to be processed. Singular wrapper dir with data folders" + ) + parser.add_argument('-g', '--glob_pattern', help=glob_help, default="*") + parser.add_argument("-m", + "--model_path", + type=Path, + required=True, + help="Signal model to be used") + parser.add_argument("-p", + "--parameters", + type=Path, + required=True, + help="Parameter File to be used") + parser.add_argument("-n", + type=int, + required=False, + default=1, + help="Number of times to run the simulation") + args = parser.parse_args() + sim_args = vars(args) + + sim_args['source_dirs'] = [ + Path(d) for d in glob(str(Path(args.data_folder, args.glob_pattern))) + if Path(d).is_dir() + ] + + sim_dir = artifact.init_simulation_dir() + logger.info(sim_dir) + runner = TaskRunner(model_path=sim_args['model_path'], + params_path=sim_args['parameters'], + source_dirs=sim_args['source_dirs'], + save_dir=sim_dir, + runs=sim_args['n']) + runner.run() + + + +if __name__ == '__main__': + main() diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index 82640dd20..5eb9d959f 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -122,8 +122,9 @@ def __init__( self.validate_parameters() - self.static_clock = core.StaticPeriod( - screenHz=self.window.getActualFrameRate()) + self.static_clock = None + # self.static_clock = core.StaticPeriod( + # screenHz=self.window.getActualFrameRate()) self.experiment_clock = Clock() self.start_time = self.experiment_clock.getTime() @@ -132,14 +133,10 @@ def __init__( self.button_press_error_prob = 0.05 self.evidence_evaluators = self.init_evidence_evaluators(signal_models) - - self.evidence_types = [EvidenceType.LM] - self.evidence_types.extend( - [evaluator.produces for evaluator in self.evidence_evaluators]) - if self.parameters['show_preview_inquiry']: - self.evidence_types.append(EvidenceType.BTN) + self.evidence_types = self.init_evidence_types(self.evidence_evaluators) self.file_save = file_save + self.save_session_every_inquiry = True self.trigger_handler = TriggerHandler(self.file_save, TRIGGER_FILENAME, FlushFrequency.EVERY) self.session_save_location = f"{self.file_save}/{SESSION_DATA_FILENAME}" @@ -150,15 +147,7 @@ def __init__( self.signal_model = signal_models[0] if signal_models else None self.evidence_precision = DEFAULT_EVIDENCE_PRECISION - self.feedback = VisualFeedback( - self.window, - {'feedback_font': self.parameters['font'], - 'feedback_color': self.parameters['info_color'], - 'feedback_pos_x': self.parameters['info_pos_x'], - 'feedback_pos_y': self.parameters['info_pos_y'], - 'feedback_stim_height': self.parameters['info_height'], - 'feedback_duration': self.parameters['feedback_duration']}, - self.experiment_clock) + self.feedback = self.init_feedback() self.setup() @@ -203,6 +192,14 @@ def init_evidence_evaluators(self, ) return evaluators + def init_evidence_types(self, evidence_evaluators: List[EvidenceEvaluator]) -> List[EvidenceType]: + evidence_types = [EvidenceType.LM] + evidence_types.extend( + [evaluator.produces for evaluator in evidence_evaluators]) + if self.parameters['show_preview_inquiry']: + evidence_types.append(EvidenceType.BTN) + return evidence_types + def setup(self) -> None: """Initialize/reset parameters used in the execute run loop.""" @@ -228,6 +225,18 @@ def init_display(self) -> CopyPhraseDisplay: self.experiment_clock, self.spelled_text) + def init_feedback(self) -> Optional[VisualFeedback]: + """Initialize visual feedback""" + return VisualFeedback( + self.window, { + 'feedback_font': self.parameters['font'], + 'feedback_color': self.parameters['info_color'], + 'feedback_pos_x': self.parameters['info_pos_x'], + 'feedback_pos_y': self.parameters['info_pos_y'], + 'feedback_stim_height': self.parameters['info_height'], + 'feedback_duration': self.parameters['feedback_duration'] + }, self.experiment_clock) + def validate_parameters(self) -> None: """Validate. @@ -372,7 +381,7 @@ def show_feedback(self, selection: str, correct: bool = True) -> None: - selection : selected stimulus to display - correct : whether or not the correct stim was chosen """ - if self.parameters['show_feedback']: + if self.parameters['show_feedback'] and self.feedback: self.feedback.administer(f'Selected: {selection}') def check_stop_criteria(self) -> bool: @@ -438,7 +447,7 @@ def execute(self) -> str: decision=decision, evidence_types=evidence_types) self.update_session_data(data, - save=True, + save=self.save_session_every_inquiry, decision_made=decision.decision_made) if decision.decision_made: @@ -713,12 +722,16 @@ def update_session_data(self, - self.session """ self.session.add_sequence(data) - self.session.total_time_spent = self.experiment_clock.getTime() - self.start_time + self.session.total_time_spent = self.elapsed_seconds() if save: self.write_session_data() if decision_made: self.session.add_series() + def elapsed_seconds(self) -> float: + """Compute the number of seconds elapsed since the experiment start.""" + return self.experiment_clock.getTime() - self.start_time + def write_session_data(self) -> None: """Save session data to disk.""" if self.session: From d20d314e7f373b11878404ff5f58651a29672b15 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 30 Aug 2024 15:29:13 -0700 Subject: [PATCH 289/330] Added a data_process module to the simulator. Re-structured the data processing code to support other models. Refactored data engine. --- bcipy/simulator/exceptions.py | 15 + bcipy/simulator/helpers/data_engine.py | 56 ++-- bcipy/simulator/helpers/data_process.py | 400 ++++++++++++++++++++++++ bcipy/simulator/task/copy_phrase.py | 16 +- bcipy/simulator/task/task_runner.py | 34 +- bcipy/task/paradigm/rsvp/copy_phrase.py | 12 +- 6 files changed, 480 insertions(+), 53 deletions(-) create mode 100644 bcipy/simulator/exceptions.py create mode 100644 bcipy/simulator/helpers/data_process.py diff --git a/bcipy/simulator/exceptions.py b/bcipy/simulator/exceptions.py new file mode 100644 index 000000000..479fc1220 --- /dev/null +++ b/bcipy/simulator/exceptions.py @@ -0,0 +1,15 @@ +class DeviceSpecNotFoundError(Exception): + """Thrown when a suitable DeviceSpec was not found in the devices.json file + """ + +class IncompatibleData(Exception): + """Thrown when data is not suitable for the current simulation.""" + +class IncompatibleDeviceSpec(IncompatibleData): + """Thrown when a DeviceSpec in a data directory did not match the data or + when the model's spec was incompatible. + """ + +class IncompatibleParameters(IncompatibleData): + """Thrown when the timing parameters used for data collection are + incompatible with the timing parameters of the simulation.""" \ No newline at end of file diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py index ba0086fe5..1935b9c73 100644 --- a/bcipy/simulator/helpers/data_engine.py +++ b/bcipy/simulator/helpers/data_engine.py @@ -51,7 +51,7 @@ class Trial(NamedTuple): inquiry_pos: int symbol: str target: int - eeg: np.ndarray # Channels by Samples + eeg: np.ndarray # Channels by Samples def __str__(self): fields = [ @@ -81,7 +81,6 @@ def __init__(self, self.data: List[ExtractedExperimentData] = [] self.schema: Optional[pd.DataFrame] = None - # TODO validate parameters self.load() def load(self) -> DataEngine: @@ -94,10 +93,12 @@ def load(self) -> DataEngine: """ if not self.data: log.debug( - f"Loading data from {len(self.source_dirs)} source directories:") + f"Loading data from {len(self.source_dirs)} source directories:" + ) for i, source_dir in enumerate(self.source_dirs): log.debug(f"{i+1}. {Path(source_dir).name}") - self.data.append(self.data_processor.process(source_dir, self.parameters)) + self.data.append( + self.data_processor.process(source_dir, self.parameters)) log.debug("Finished loading all data") return self @@ -114,34 +115,37 @@ def transform(self) -> DataEngine: Returns: self for chaining """ - - # TODO store how good evidence was in session - rows = [] for data_source in self.data: - symbols_by_inquiry = data_source.symbols_by_inquiry - labels_by_inquiry = data_source.labels_by_inquiry - - for i, inquiry_eeg in enumerate(data_source.trials_by_inquiry): - # iterate through each inquiry - inquiry_symbols = symbols_by_inquiry[i] - inquiry_labels = labels_by_inquiry[i] - - for sym_i, symbol in enumerate(inquiry_symbols): - # iterate through each symbol in the inquiry - eeg_samples = [channel[sym_i] for channel in inquiry_eeg - ] # (channel_n, sample_n) - rows.append( - Trial(source=data_source.source_dir, - inquiry_n=i, - inquiry_pos=sym_i + 1, - symbol=symbol, - target=inquiry_labels[sym_i], - eeg=np.array(eeg_samples))) + rows.extend(self.trials(data_source)) self.schema = pd.DataFrame(rows) return self + def trials(self, data_source: ExtractedExperimentData) -> List[Trial]: + """Convert extracted data from a single data source to a list of Trials.""" + trials = [] + symbols_by_inquiry = data_source.symbols_by_inquiry + labels_by_inquiry = data_source.labels_by_inquiry + + for i, inquiry_eeg in enumerate(data_source.trials_by_inquiry): + # iterate through each inquiry + inquiry_symbols = symbols_by_inquiry[i] + inquiry_labels = labels_by_inquiry[i] + + for sym_i, symbol in enumerate(inquiry_symbols): + # iterate through each symbol in the inquiry + eeg_samples = [channel[sym_i] for channel in inquiry_eeg + ] # (channel_n, sample_n) + trials.append( + Trial(source=data_source.source_dir, + inquiry_n=i, + inquiry_pos=sym_i + 1, + symbol=symbol, + target=inquiry_labels[sym_i], + eeg=np.array(eeg_samples))) + return trials + def get_data(self): return self.schema.copy() if self.schema is not None else None diff --git a/bcipy/simulator/helpers/data_process.py b/bcipy/simulator/helpers/data_process.py new file mode 100644 index 000000000..5a050250e --- /dev/null +++ b/bcipy/simulator/helpers/data_process.py @@ -0,0 +1,400 @@ +"""This defines functionality related to pre-processing simulation data. +Processed data can be subsequently sampled and provided to a SignalModel +for classification.""" + +import logging as logger +from dataclasses import dataclass +from pathlib import Path +from typing import Any, List, NamedTuple, Optional, Tuple + +import numpy as np + +from bcipy.acquisition import devices +from bcipy.acquisition.devices import DeviceSpec +from bcipy.acquisition.multimodal import ContentType +from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, + DEFAULT_PARAMETER_FILENAME, TRIGGER_FILENAME) +from bcipy.helpers.acquisition import analysis_channels, raw_data_filename +from bcipy.helpers.list import grouper +from bcipy.helpers.load import load_json_parameters, load_raw_data +from bcipy.helpers.parameters import Parameters +from bcipy.helpers.raw_data import RawData +from bcipy.helpers.stimuli import update_inquiry_timing +from bcipy.helpers.triggers import TriggerType, trigger_decoder +from bcipy.signal.model.base_model import SignalModel +from bcipy.signal.process import (ERPTransformParams, filter_inquiries, + get_default_transform) +from bcipy.signal.process.transform import Composition +from bcipy.simulator.exceptions import (DeviceSpecNotFoundError, + IncompatibleDeviceSpec, + IncompatibleParameters) +from bcipy.task.data import EvidenceType + +log = logger.getLogger(__name__) + + +def load_device_data(data_folder: str, + content_type: str) -> Tuple[RawData, DeviceSpec]: + """Loads the data into the RawData format for the given content type. + + Parameters + ---------- + data_folder - session data folder with the raw data, device_spec, etc. + content_type - content type of the data to load. + + Returns + ------- + tuple of the raw data and the associated DeviceSpec for the device used + to record that data. + """ + devices_by_name = devices.load(Path(data_folder, + DEFAULT_DEVICE_SPEC_FILENAME), + replace=True) + specs = [ + spec for spec in devices_by_name.values() + if spec.is_active and spec.content_type == content_type + ] + if not specs: + raise DeviceSpecNotFoundError( + f"Suitable entry not found in {data_folder}/devices.json") + device_spec = specs[0] + raw_data_path = Path(data_folder, raw_data_filename(device_spec)) + if not raw_data_path.exists(): + raise FileNotFoundError(f"Raw data file not found: {raw_data_path}") + raw_data = load_raw_data(raw_data_path) + + if device_spec != devices.preconfigured_device(raw_data.daq_type): + raise IncompatibleDeviceSpec( + "DeviceSpec in devices.json does not match the raw data.") + + return raw_data, device_spec + + +class DecodedTriggers(NamedTuple): + """Extracted properties after decoding the triggers.txt file and applying + the necessary offsets and corrections.""" + targetness: List[str] # TriggerType + times: List[float] + symbols: List[str] # symbol + corrected_times: List[float] + + +@dataclass() +class ExtractedExperimentData: + source_dir: str + inquiries: np.ndarray + trials: np.ndarray + labels: List + inquiry_timing: List + + decoded_triggers: DecodedTriggers + trials_per_inquiry: int + + @property + def trials_by_inquiry(self) -> List[np.ndarray]: + """EEG data by inquiry. + shape (i_inquiry, n_channel, m_trial, x_sample) + """ + return np.split(self.trials, self.inquiries.shape[1], 1) + + @property + def symbols_by_inquiry(self) -> List[List[str]]: + """Get symbols by inquiry. shape (i_inquiry, s_alphabet_subset)""" + trigger_symbols = self.decoded_triggers.symbols + return [ + list(group) for group in grouper( + trigger_symbols, self.trials_per_inquiry, incomplete="ignore") + ] + + @property + def labels_by_inquiry(self) -> List[List[int]]: + """Shape (i_inquiry, s_alphabet_subset)""" + return self.labels + + +class TimingParams(NamedTuple): + """Timing-related parameters used in parsing the raw data into inquiries and trials.""" + # window (in seconds) of data collection after each stimulus presentation. + trial_window: Tuple[float, float] + # seconds before the start of the inquiry to use. + prestim_length: float + + # delay time (in seconds) between the final stimulus in one inquiry and the + # beginning (target stimulus or fixation cross) of the next inquiry. + task_buffer_length: float + stim_length: int + time_flash: float + + @property + def trials_per_inquiry(self) -> int: + """Alias for stim_length""" + return self.stim_length + + @property + def buffer(self) -> float: + """The task buffer length defines the min time between two inquiries + We use half of that time here to buffer during transforms""" + return self.task_buffer_length / 2 + + @property + def window_length(self) -> float: + """window (in seconds) of data collection after each stimulus presentation""" + start, end = self.trial_window + return end - start + + def __str__(self): + return ( + f"Timing settings: \n" + f"Trial Window: {self.trial_window[0]} to {self.trial_window[1]}s, " + f"Prestimulus Buffer: {self.prestim_length}s, Poststimulus Buffer: {self.buffer}s \n" + ) + + +def decode_triggers( + data_folder: str, + timing_params: TimingParams, + device_offset: float = 0.0, + excluded_triggers: Optional[List[TriggerType]] = None +) -> DecodedTriggers: + """Decode the triggers.txt file in the given directory.""" + if not excluded_triggers: + excluded_triggers = [ + TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION + ] + targetness, times, symbols = trigger_decoder( + offset=device_offset, + trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", + exclusion=excluded_triggers, + ) + corrected = [time + timing_params.trial_window[0] for time in times] + return DecodedTriggers(targetness=targetness, + times=times, + symbols=symbols, + corrected_times=corrected) + + +class ReshapedData(): + """Represents data components after reshaping""" + + def __init__(self): + self.inquiries: np.ndarray = np.array([]) + self.inquiry_labels: np.ndarray = np.array([]) + self.inquiry_timing: List[List[int]] = [] + + +class RawDataProcessor(): + """Processes raw data for a given device and converts it to + ExtractedExperimentData for use in the simulator. + + 1. Loads the data file as a RawData object + 2. Extract timing information from trigger file based on the device of interest. + 3. Reshape and label the data. + 4. Apply filtering. + 5. Extract trials. + + Parameters + ---------- + model - signal model which will be used to classify the resulting data + """ + + def __init__(self, model: SignalModel): + self.check_model_compatibility(model) + self.model = model + + @property + def consumes(self) -> ContentType: + """ContentType of the data that should be input""" + + @property + def produces(self) -> EvidenceType: + """Type of evidence that is output""" + + @property + def content_type(self): + """Get the content_type of the data.""" + return self.consumes + + @property + def model_device(self) -> DeviceSpec: + """Device used to collect data for training the model.""" + return self.model.metadata.device_spec + + @property + def reshaper(self): + """data reshaper""" + return self.model.reshaper + + def check_model_compatibility(self, model: SignalModel) -> None: + """Check that the given model is compatible with this processor. + Checked on initialization.""" + assert model.metadata, "Metadata missing from signal model." + assert ContentType( + model.metadata.device_spec.content_type + ) == self.consumes, "DataProcessor is not compatible with the given model" + + def check_data_compatibility(self, data_device: DeviceSpec, + sim_timing_params: TimingParams, + data_timing_params: TimingParams) -> None: + """Check the compatibility of a dataset with the model.""" + if not self.devices_compatible(self.model_device, data_device): + raise IncompatibleDeviceSpec("Devices are not compatible") + if not self.parameters_compatible(sim_timing_params, + data_timing_params): + raise IncompatibleParameters( + "Timing parameters are not compatible") + + if data_device.static_offset == devices.DEFAULT_STATIC_OFFSET: + log.warning(' '.join([ + f"Using the default static offset to decode triggers for {data_device.name}.", + "Please make sure the correct offset is included in the devices.json file." + ])) + + def process(self, data_folder: str, + parameters: Parameters) -> ExtractedExperimentData: + """Load and process the data + + Parameters + ---------- + data_folder - session directory for a given dataset + (contains raw_data, devices.json, and parameters.json). + parameters - parameters.json file for the calibration session used + to train the model / run the simulation. + """ + raw_data, device_spec = load_device_data(data_folder, + self.content_type.name) + data_parameters = load_json_parameters( + f"{data_folder}/{DEFAULT_PARAMETER_FILENAME}", value_cast=True) + + timing_params = parameters.instantiate(TimingParams) + transform_params = self.transform_parameters(parameters) + + self.check_data_compatibility( + data_device=device_spec, + sim_timing_params=timing_params, + data_timing_params=data_parameters.instantiate(TimingParams)) + + decoded_triggers = decode_triggers(data_folder, timing_params, + device_spec.static_offset, + self.excluded_triggers()) + + reshaped_data = self.reshape_data(raw_data, decoded_triggers, + timing_params) + + filtered_reshaped_data, new_sample_rate = self.apply_filters( + reshaped_data, transform_params, raw_data.sample_rate) + + trials = self.extract_trials(filtered_reshaped_data, timing_params, + new_sample_rate) + return ExtractedExperimentData( + data_folder, + filtered_reshaped_data.inquiries, + trials, + [list(arr) for arr in filtered_reshaped_data.inquiry_labels], + filtered_reshaped_data.inquiry_timing, + decoded_triggers=decoded_triggers, + trials_per_inquiry=timing_params.trials_per_inquiry) + + def reshape_data(self, raw_data: RawData, + decoded_triggers: DecodedTriggers, + timing_params: TimingParams) -> ReshapedData: + """Use the configured reshaper to reshape the data.""" + + data, _fs = raw_data.by_channel() + channel_map = analysis_channels(raw_data.channels, self.model_device) + inquiries, inquiry_labels, inquiry_timing = self.reshaper( + trial_targetness_label=decoded_triggers.targetness, + timing_info=decoded_triggers.corrected_times, + eeg_data=data, + sample_rate=raw_data.sample_rate, + trials_per_inquiry=timing_params.trials_per_inquiry, + channel_map=channel_map, + poststimulus_length=timing_params.window_length, + prestimulus_length=timing_params.prestim_length, + transformation_buffer=timing_params.buffer, + ) + reshaped = ReshapedData() + reshaped.inquiries = inquiries + reshaped.inquiry_labels = inquiry_labels + reshaped.inquiry_timing = inquiry_timing + return reshaped + + def reshaped_data_inquiries(self, reshaped_data: Any) -> np.ndarray: + """Get the inquiries from the result of calling self.reshape_data(...)""" + return reshaped_data[0] + + def apply_filters(self, reshaped_data: ReshapedData, + transform_params: NamedTuple, + data_sample_rate: float) -> Tuple[ReshapedData, int]: + """Apply any filters to the reshaped data. + + Returns + ------- + inquiry data after filtering, updated sample_rate + """ + transform = self.get_transform(transform_params, data_sample_rate) + inquiries, fs = filter_inquiries(reshaped_data.inquiries, transform, + data_sample_rate) + inquiry_timing_ints: List[List[int]] = [ + list(map(int, inq)) for inq in reshaped_data.inquiry_timing + ] + filtered_reshaped_data = ReshapedData() + filtered_reshaped_data.inquiries = inquiries + filtered_reshaped_data.inquiry_timing = update_inquiry_timing( + inquiry_timing_ints, transform_params.down_sampling_rate) + filtered_reshaped_data.inquiry_labels = reshaped_data.inquiry_labels + return filtered_reshaped_data, fs + + def extract_trials(self, filtered_reshaped_data: ReshapedData, + timing_params: TimingParams, + updated_sample_rate: float) -> np.ndarray: + """Extract trial data from the filtered, reshaped data. + + Returns + ------- + np.ndarray of shape (Channels, Trials, Samples) + """ + trial_duration_samples = int(timing_params.window_length * + updated_sample_rate) + return self.reshaper.extract_trials( + filtered_reshaped_data.inquiries, trial_duration_samples, + filtered_reshaped_data.inquiry_timing) + + def get_transform(self, transform_params: NamedTuple, + data_sample_rate: float) -> Composition: + """"Get the transform used for filtering the data.""" + return get_default_transform( + sample_rate_hz=data_sample_rate, + notch_freq_hz=transform_params.notch_filter_frequency, + bandpass_low=transform_params.filter_low, + bandpass_high=transform_params.filter_high, + bandpass_order=transform_params.filter_order, + downsample_factor=transform_params.down_sampling_rate, + ) + + def excluded_triggers(self): + """Trigger types to exclude when decoding""" + return [TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION] + + def transform_parameters(self, parameters: Parameters) -> NamedTuple: + """Extract the parameters used for filtering.""" + return parameters.instantiate(ERPTransformParams) + + def devices_compatible(self, model_device: DeviceSpec, + data_device: DeviceSpec) -> bool: + """Check compatibility between the device on which the model was trained + and the device used for data collection.""" + + # TODO: check analysis channels? + return model_device.sample_rate == data_device.sample_rate + + def parameters_compatible(self, sim_timing_params: TimingParams, + data_timing_params: TimingParams) -> bool: + """Check compatibility between the parameters used for simulation and + those used for data collection.""" + return sim_timing_params.time_flash == data_timing_params.time_flash + + +class EegRawDataProcessor(RawDataProcessor): + """RawDataProcessor that processes EEG data.""" + consumes = ContentType.EEG + produces = EvidenceType.ERP diff --git a/bcipy/simulator/task/copy_phrase.py b/bcipy/simulator/task/copy_phrase.py index fc6ad5783..7539fdcff 100644 --- a/bcipy/simulator/task/copy_phrase.py +++ b/bcipy/simulator/task/copy_phrase.py @@ -14,6 +14,13 @@ from bcipy.task.data import EvidenceType from bcipy.task.paradigm.rsvp.copy_phrase import RSVPCopyPhraseTask +DEFAULT_EVIDENCE_TYPE = EvidenceType.ERP + + +def get_evidence_type(model: SignalModel) -> EvidenceType: + """Get the evidence type provided by the given model""" + return model.metadata.evidence_type or DEFAULT_EVIDENCE_TYPE + class SimulatorCopyPhraseTask(RSVPCopyPhraseTask): """CopyPhraseTask that simulates user interactions by sampling data @@ -41,10 +48,12 @@ def init_evidence_evaluators( return [] def init_evidence_types( - self, evidence_evaluators: List[EvidenceEvaluator] + self, signal_models: List[SignalModel], + evidence_evaluators: List[EvidenceEvaluator] ) -> List[EvidenceType]: - # TODO: revisit this based on the provided models - return [EvidenceType.LM, EvidenceType.ERP] + evidence_types = set( + [get_evidence_type(model) for model in self.signal_models]) + return [EvidenceType.LM, *evidence_types] def init_display(self) -> Display: return NullDisplay() @@ -85,7 +94,6 @@ def compute_device_evidence( # sampled_trial = self.sampler.sample_trial(self.get_sim_state()) sampled_data = self.sampler.sample_data(self.get_sim_state()) - # trial_info = (datasource, inquiry_n) # eye_gaze_data = self.sampler['EYE'].sample(self.get_sim_state(), trial_info) evidence = self.signal_model.predict(sampled_data, diff --git a/bcipy/simulator/task/task_runner.py b/bcipy/simulator/task/task_runner.py index 609453c04..225ad2497 100644 --- a/bcipy/simulator/task/task_runner.py +++ b/bcipy/simulator/task/task_runner.py @@ -9,10 +9,10 @@ from bcipy.helpers.language_model import init_language_model from bcipy.helpers.load import load_json_parameters, load_signal_models -from bcipy.helpers.parameters import Parameters from bcipy.simulator.helpers import artifact from bcipy.simulator.helpers.data_engine import RawDataEngine -from bcipy.simulator.helpers.sampler import EEGByLetterSampler, Sampler +from bcipy.simulator.helpers.data_process import EegRawDataProcessor +from bcipy.simulator.helpers.sampler import EEGByLetterSampler from bcipy.simulator.task.copy_phrase import SimulatorCopyPhraseTask from bcipy.task.main import Task @@ -47,6 +47,9 @@ def __init__(self, self.sim_dir = save_dir self.runs = runs + self.sampling_strategy = EEGByLetterSampler + self.simulation_task = SimulatorCopyPhraseTask + self.parameters = None self.signal_models = [] self.language_model = None @@ -67,8 +70,11 @@ def setup(self) -> None: logger.debug(self.language_model) logger.info("Creating data engine") - data_engine = self.init_data_engine(self.source_dirs, self.parameters) - self.sampler = self.init_sampler(data_engine) + # TODO: initialize a data engine and sampler for each model + data_processor = EegRawDataProcessor(self.signal_models[0]) + data_engine = RawDataEngine(list(map(str, self.source_dirs)), + self.parameters, data_processor) + self.sampler = self.sampling_strategy(data_engine) logger.debug("Using sampler:") logger.debug(self.sampler) @@ -80,22 +86,13 @@ def setup_complete(self) -> bool: self.sampler is not None ]) - def init_data_engine(self, source_dirs: List[str], - parameters: Parameters) -> RawDataEngine: - """Initialize the data engine""" - return RawDataEngine(list(map(str, source_dirs)), parameters) - - def init_sampler(self, data_engine: RawDataEngine) -> Sampler: - """Initialize the Sampler""" - return EEGByLetterSampler(data_engine) - def make_task(self, run_dir) -> Task: """Create the task. This is done for every run.""" - return SimulatorCopyPhraseTask(self.parameters, - file_save=run_dir, - signal_models=self.signal_models, - language_model=self.language_model, - sampler=self.sampler) + return self.simulation_task(self.parameters, + file_save=run_dir, + signal_models=self.signal_models, + language_model=self.language_model, + sampler=self.sampler) def run(self): """Run one or more simulations""" @@ -162,6 +159,5 @@ def main(): runner.run() - if __name__ == '__main__': main() diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index 5eb9d959f..16c99dc68 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -119,6 +119,9 @@ def __init__( self.window = win self.daq = daq self.parameters = parameters + self.signal_models = signal_models + self.language_model = language_model + self.fake = fake self.validate_parameters() @@ -133,7 +136,7 @@ def __init__( self.button_press_error_prob = 0.05 self.evidence_evaluators = self.init_evidence_evaluators(signal_models) - self.evidence_types = self.init_evidence_types(self.evidence_evaluators) + self.evidence_types = self.init_evidence_types(self.signal_models, self.evidence_evaluators) self.file_save = file_save self.save_session_every_inquiry = True @@ -142,8 +145,6 @@ def __init__( self.session_save_location = f"{self.file_save}/{SESSION_DATA_FILENAME}" self.copy_phrase = parameters['task_text'] - self.fake = fake - self.language_model = language_model self.signal_model = signal_models[0] if signal_models else None self.evidence_precision = DEFAULT_EVIDENCE_PRECISION @@ -192,7 +193,10 @@ def init_evidence_evaluators(self, ) return evaluators - def init_evidence_types(self, evidence_evaluators: List[EvidenceEvaluator]) -> List[EvidenceType]: + def init_evidence_types( + self, signal_models: List[SignalModel], + evidence_evaluators: List[EvidenceEvaluator] + ) -> List[EvidenceType]: evidence_types = [EvidenceType.LM] evidence_types.extend( [evaluator.produces for evaluator in evidence_evaluators]) From c2533d884cdeefef47d0adc36f3b9b05adc7ad75 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 30 Aug 2024 16:09:53 -0700 Subject: [PATCH 290/330] Code cleanup --- bcipy/simulator/exceptions.py | 7 +- bcipy/simulator/helpers/data_process.py | 103 +++++++++++++++--------- bcipy/simulator/helpers/log_utils.py | 1 + bcipy/simulator/helpers/sampler.py | 4 +- bcipy/simulator/task/task_runner.py | 13 ++- 5 files changed, 80 insertions(+), 48 deletions(-) diff --git a/bcipy/simulator/exceptions.py b/bcipy/simulator/exceptions.py index 479fc1220..a7f3bad15 100644 --- a/bcipy/simulator/exceptions.py +++ b/bcipy/simulator/exceptions.py @@ -2,14 +2,17 @@ class DeviceSpecNotFoundError(Exception): """Thrown when a suitable DeviceSpec was not found in the devices.json file """ + class IncompatibleData(Exception): - """Thrown when data is not suitable for the current simulation.""" + """Thrown when data is not suitable for the current simulation.""" + class IncompatibleDeviceSpec(IncompatibleData): """Thrown when a DeviceSpec in a data directory did not match the data or when the model's spec was incompatible. """ + class IncompatibleParameters(IncompatibleData): """Thrown when the timing parameters used for data collection are - incompatible with the timing parameters of the simulation.""" \ No newline at end of file + incompatible with the timing parameters of the simulation.""" diff --git a/bcipy/simulator/helpers/data_process.py b/bcipy/simulator/helpers/data_process.py index 5a050250e..5bb4ed8d7 100644 --- a/bcipy/simulator/helpers/data_process.py +++ b/bcipy/simulator/helpers/data_process.py @@ -5,7 +5,7 @@ import logging as logger from dataclasses import dataclass from pathlib import Path -from typing import Any, List, NamedTuple, Optional, Tuple +from typing import List, NamedTuple, Optional, Tuple import numpy as np @@ -36,7 +36,7 @@ def load_device_data(data_folder: str, content_type: str) -> Tuple[RawData, DeviceSpec]: """Loads the data into the RawData format for the given content type. - + Parameters ---------- data_folder - session data folder with the raw data, device_spec, etc. @@ -185,7 +185,7 @@ def __init__(self): class RawDataProcessor(): """Processes raw data for a given device and converts it to ExtractedExperimentData for use in the simulator. - + 1. Loads the data file as a RawData object 2. Extract timing information from trigger file based on the device of interest. 3. Reshape and label the data. @@ -252,10 +252,10 @@ def check_data_compatibility(self, data_device: DeviceSpec, def process(self, data_folder: str, parameters: Parameters) -> ExtractedExperimentData: """Load and process the data - + Parameters ---------- - data_folder - session directory for a given dataset + data_folder - session directory for a given dataset (contains raw_data, devices.json, and parameters.json). parameters - parameters.json file for the calibration session used to train the model / run the simulation. @@ -294,6 +294,63 @@ def process(self, data_folder: str, decoded_triggers=decoded_triggers, trials_per_inquiry=timing_params.trials_per_inquiry) + def reshape_data(self, raw_data: RawData, + decoded_triggers: DecodedTriggers, + timing_params: TimingParams) -> ReshapedData: + """Use the configured reshaper to reshape the data.""" + raise NotImplementedError + + def apply_filters(self, reshaped_data: ReshapedData, + transform_params: Optional[NamedTuple], + data_sample_rate: float) -> Tuple[ReshapedData, int]: + """Apply any filters to the reshaped data. + + Returns + ------- + inquiry data after filtering, updated sample_rate + """ + raise NotImplementedError + + def extract_trials(self, filtered_reshaped_data: ReshapedData, + timing_params: TimingParams, + updated_sample_rate: float) -> np.ndarray: + """Extract trial data from the filtered, reshaped data. + + Returns + ------- + np.ndarray of shape (Channels, Trials, Samples) + """ + raise NotImplementedError + + def excluded_triggers(self): + """Trigger types to exclude when decoding""" + return [TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION] + + def transform_parameters(self, + parameters: Parameters) -> Optional[NamedTuple]: + """Extract the parameters used for filtering.""" + raise NotImplementedError + + def devices_compatible(self, model_device: DeviceSpec, + data_device: DeviceSpec) -> bool: + """Check compatibility between the device on which the model was trained + and the device used for data collection.""" + + # TODO: check analysis channels? + return model_device.sample_rate == data_device.sample_rate + + def parameters_compatible(self, sim_timing_params: TimingParams, + data_timing_params: TimingParams) -> bool: + """Check compatibility between the parameters used for simulation and + those used for data collection.""" + return sim_timing_params.time_flash == data_timing_params.time_flash + + +class EegRawDataProcessor(RawDataProcessor): + """RawDataProcessor that processes EEG data.""" + consumes = ContentType.EEG + produces = EvidenceType.ERP + def reshape_data(self, raw_data: RawData, decoded_triggers: DecodedTriggers, timing_params: TimingParams) -> ReshapedData: @@ -318,12 +375,8 @@ def reshape_data(self, raw_data: RawData, reshaped.inquiry_timing = inquiry_timing return reshaped - def reshaped_data_inquiries(self, reshaped_data: Any) -> np.ndarray: - """Get the inquiries from the result of calling self.reshape_data(...)""" - return reshaped_data[0] - def apply_filters(self, reshaped_data: ReshapedData, - transform_params: NamedTuple, + transform_params: Optional[NamedTuple], data_sample_rate: float) -> Tuple[ReshapedData, int]: """Apply any filters to the reshaped data. @@ -331,6 +384,7 @@ def apply_filters(self, reshaped_data: ReshapedData, ------- inquiry data after filtering, updated sample_rate """ + assert transform_params, "Transform params not initialized." transform = self.get_transform(transform_params, data_sample_rate) inquiries, fs = filter_inquiries(reshaped_data.inquiries, transform, data_sample_rate) @@ -348,7 +402,7 @@ def extract_trials(self, filtered_reshaped_data: ReshapedData, timing_params: TimingParams, updated_sample_rate: float) -> np.ndarray: """Extract trial data from the filtered, reshaped data. - + Returns ------- np.ndarray of shape (Channels, Trials, Samples) @@ -371,30 +425,7 @@ def get_transform(self, transform_params: NamedTuple, downsample_factor=transform_params.down_sampling_rate, ) - def excluded_triggers(self): - """Trigger types to exclude when decoding""" - return [TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION] - - def transform_parameters(self, parameters: Parameters) -> NamedTuple: + def transform_parameters(self, + parameters: Parameters) -> ERPTransformParams: """Extract the parameters used for filtering.""" return parameters.instantiate(ERPTransformParams) - - def devices_compatible(self, model_device: DeviceSpec, - data_device: DeviceSpec) -> bool: - """Check compatibility between the device on which the model was trained - and the device used for data collection.""" - - # TODO: check analysis channels? - return model_device.sample_rate == data_device.sample_rate - - def parameters_compatible(self, sim_timing_params: TimingParams, - data_timing_params: TimingParams) -> bool: - """Check compatibility between the parameters used for simulation and - those used for data collection.""" - return sim_timing_params.time_flash == data_timing_params.time_flash - - -class EegRawDataProcessor(RawDataProcessor): - """RawDataProcessor that processes EEG data.""" - consumes = ContentType.EEG - produces = EvidenceType.ERP diff --git a/bcipy/simulator/helpers/log_utils.py b/bcipy/simulator/helpers/log_utils.py index 61c111bd0..42e6a0a22 100644 --- a/bcipy/simulator/helpers/log_utils.py +++ b/bcipy/simulator/helpers/log_utils.py @@ -22,6 +22,7 @@ def format_samples(sample_rows: List[Trial]) -> str: """Returns a tabular representation of the sample rows.""" return '\n'.join([str(row) for row in sample_rows]) + def format_sample_rows(sample_rows: List[pd.Series]) -> str: """Returns a tabular representation of the sample rows.""" return pd.DataFrame(sample_rows).drop(columns=['eeg']).to_string( diff --git a/bcipy/simulator/helpers/sampler.py b/bcipy/simulator/helpers/sampler.py index 23419138c..cd2b0441a 100644 --- a/bcipy/simulator/helpers/sampler.py +++ b/bcipy/simulator/helpers/sampler.py @@ -72,11 +72,11 @@ def sample_data(self, state: SimState) -> np.ndarray: def sample_with_context(self, state: SimState) -> Tuple[np.ndarray, List[Trial]]: - """ + """ Returns ------- A tuple of the reshaped data (ndarray of shape (n_channel, n_trial, n_sample)) as - well as a list of Trial data (metadata and data not reshaped) for context. + well as a list of Trial data (metadata and data not reshaped) for context. """ trials = self.sample(state) data = self.reshaped(trials) diff --git a/bcipy/simulator/task/task_runner.py b/bcipy/simulator/task/task_runner.py index 225ad2497..be984710f 100644 --- a/bcipy/simulator/task/task_runner.py +++ b/bcipy/simulator/task/task_runner.py @@ -117,14 +117,11 @@ def main(): glob_help = ('glob pattern to select a subset of data folders' ' Ex. "*RSVP_Copy_Phrase*"') parser = argparse.ArgumentParser() - parser.add_argument( - "-d", - "--data_folder", - type=Path, - required=True, - help= - "Raw data folders to be processed. Singular wrapper dir with data folders" - ) + parser.add_argument("-d", + "--data_folder", + type=Path, + required=True, + help="Raw data folders to be processed.") parser.add_argument('-g', '--glob_pattern', help=glob_help, default="*") parser.add_argument("-m", "--model_path", From f91c758c27c9b773540bb1bbd13944eec1d16cc1 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 30 Aug 2024 16:27:43 -0700 Subject: [PATCH 291/330] Typing fixes --- bcipy/simulator/helpers/data_process.py | 30 +++++++++---------------- bcipy/simulator/task/task_runner.py | 11 +++++---- 2 files changed, 17 insertions(+), 24 deletions(-) diff --git a/bcipy/simulator/helpers/data_process.py b/bcipy/simulator/helpers/data_process.py index 5bb4ed8d7..213f83961 100644 --- a/bcipy/simulator/helpers/data_process.py +++ b/bcipy/simulator/helpers/data_process.py @@ -61,7 +61,7 @@ def load_device_data(data_folder: str, raw_data_path = Path(data_folder, raw_data_filename(device_spec)) if not raw_data_path.exists(): raise FileNotFoundError(f"Raw data file not found: {raw_data_path}") - raw_data = load_raw_data(raw_data_path) + raw_data = load_raw_data(str(raw_data_path)) if device_spec != devices.preconfigured_device(raw_data.daq_type): raise IncompatibleDeviceSpec( @@ -208,6 +208,7 @@ def consumes(self) -> ContentType: @property def produces(self) -> EvidenceType: """Type of evidence that is output""" + raise NotImplementedError @property def content_type(self): @@ -266,7 +267,6 @@ def process(self, data_folder: str, f"{data_folder}/{DEFAULT_PARAMETER_FILENAME}", value_cast=True) timing_params = parameters.instantiate(TimingParams) - transform_params = self.transform_parameters(parameters) self.check_data_compatibility( data_device=device_spec, @@ -281,7 +281,7 @@ def process(self, data_folder: str, timing_params) filtered_reshaped_data, new_sample_rate = self.apply_filters( - reshaped_data, transform_params, raw_data.sample_rate) + reshaped_data, parameters, raw_data.sample_rate) trials = self.extract_trials(filtered_reshaped_data, timing_params, new_sample_rate) @@ -301,8 +301,8 @@ def reshape_data(self, raw_data: RawData, raise NotImplementedError def apply_filters(self, reshaped_data: ReshapedData, - transform_params: Optional[NamedTuple], - data_sample_rate: float) -> Tuple[ReshapedData, int]: + parameters: Parameters, + data_sample_rate: int) -> Tuple[ReshapedData, int]: """Apply any filters to the reshaped data. Returns @@ -326,11 +326,6 @@ def excluded_triggers(self): """Trigger types to exclude when decoding""" return [TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION] - def transform_parameters(self, - parameters: Parameters) -> Optional[NamedTuple]: - """Extract the parameters used for filtering.""" - raise NotImplementedError - def devices_compatible(self, model_device: DeviceSpec, data_device: DeviceSpec) -> bool: """Check compatibility between the device on which the model was trained @@ -376,15 +371,15 @@ def reshape_data(self, raw_data: RawData, return reshaped def apply_filters(self, reshaped_data: ReshapedData, - transform_params: Optional[NamedTuple], - data_sample_rate: float) -> Tuple[ReshapedData, int]: + parameters: Parameters, + data_sample_rate: int) -> Tuple[ReshapedData, int]: """Apply any filters to the reshaped data. Returns ------- inquiry data after filtering, updated sample_rate """ - assert transform_params, "Transform params not initialized." + transform_params = parameters.instantiate(ERPTransformParams) transform = self.get_transform(transform_params, data_sample_rate) inquiries, fs = filter_inquiries(reshaped_data.inquiries, transform, data_sample_rate) @@ -413,8 +408,8 @@ def extract_trials(self, filtered_reshaped_data: ReshapedData, filtered_reshaped_data.inquiries, trial_duration_samples, filtered_reshaped_data.inquiry_timing) - def get_transform(self, transform_params: NamedTuple, - data_sample_rate: float) -> Composition: + def get_transform(self, transform_params: ERPTransformParams, + data_sample_rate: int) -> Composition: """"Get the transform used for filtering the data.""" return get_default_transform( sample_rate_hz=data_sample_rate, @@ -424,8 +419,3 @@ def get_transform(self, transform_params: NamedTuple, bandpass_order=transform_params.filter_order, downsample_factor=transform_params.down_sampling_rate, ) - - def transform_parameters(self, - parameters: Parameters) -> ERPTransformParams: - """Extract the parameters used for filtering.""" - return parameters.instantiate(ERPTransformParams) diff --git a/bcipy/simulator/task/task_runner.py b/bcipy/simulator/task/task_runner.py index be984710f..18ec00728 100644 --- a/bcipy/simulator/task/task_runner.py +++ b/bcipy/simulator/task/task_runner.py @@ -5,14 +5,15 @@ import os from glob import glob from pathlib import Path -from typing import List +from typing import List, Optional from bcipy.helpers.language_model import init_language_model from bcipy.helpers.load import load_json_parameters, load_signal_models +from bcipy.signal.model.base_model import SignalModel from bcipy.simulator.helpers import artifact from bcipy.simulator.helpers.data_engine import RawDataEngine from bcipy.simulator.helpers.data_process import EegRawDataProcessor -from bcipy.simulator.helpers.sampler import EEGByLetterSampler +from bcipy.simulator.helpers.sampler import EEGByLetterSampler, Sampler from bcipy.simulator.task.copy_phrase import SimulatorCopyPhraseTask from bcipy.task.main import Task @@ -51,9 +52,9 @@ def __init__(self, self.simulation_task = SimulatorCopyPhraseTask self.parameters = None - self.signal_models = [] + self.signal_models: List[SignalModel] = [] self.language_model = None - self.sampler = None + self.sampler: Optional[Sampler] = None def setup(self) -> None: """Setup the task objects""" @@ -88,6 +89,7 @@ def setup_complete(self) -> bool: def make_task(self, run_dir) -> Task: """Create the task. This is done for every run.""" + assert self.sampler, "Sampler must be initialized" return self.simulation_task(self.parameters, file_save=run_dir, signal_models=self.signal_models, @@ -98,6 +100,7 @@ def run(self): """Run one or more simulations""" if not self.setup_complete(): self.setup() + assert self.parameters, "Parameters is not initialized" self.parameters.save(self.sim_dir) for i in range(self.runs): logger.info(f"Executing task {i+1}") From 8640e8df094522478d981744169d3bdd4c30fa5b Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 30 Aug 2024 17:31:59 -0700 Subject: [PATCH 292/330] Created TaskFactory for constructing new simulation tasks. Separated out behavior from TaskRunner. Functions to match a model with an appropriate DataProcessor --- bcipy/simulator/helpers/data_process.py | 50 ++++++++++- bcipy/simulator/task/copy_phrase.py | 20 +++-- bcipy/simulator/task/task_runner.py | 109 +++++++++++++----------- 3 files changed, 117 insertions(+), 62 deletions(-) diff --git a/bcipy/simulator/helpers/data_process.py b/bcipy/simulator/helpers/data_process.py index 213f83961..ec4611375 100644 --- a/bcipy/simulator/helpers/data_process.py +++ b/bcipy/simulator/helpers/data_process.py @@ -5,7 +5,7 @@ import logging as logger from dataclasses import dataclass from pathlib import Path -from typing import List, NamedTuple, Optional, Tuple +from typing import List, NamedTuple, Optional, Tuple, Type import numpy as np @@ -419,3 +419,51 @@ def get_transform(self, transform_params: ERPTransformParams, bandpass_order=transform_params.filter_order, downsample_factor=transform_params.down_sampling_rate, ) + + +def get_processor( + data_source: ContentType, + evidence_type: Optional[EvidenceType] = None +) -> Type[RawDataProcessor]: + """Returns the matching processor class. + + Parameters + ---------- + data_source - type of data that the processor should consume + evidence_type - type of evidence that the processor should produce. + """ + matches = [ + cls for cls in RawDataProcessor.__subclasses__() + if cls.consumes == data_source and ( + evidence_type is None or cls.produces == evidence_type) + ] + if matches: + return matches[0] + else: + msg = f"Data processor not found for {data_source.name}" + if evidence_type: + msg += f" -> {evidence_type.name}" + raise Exception(msg) + + +def find_data_processor(model: SignalModel) -> Type[RawDataProcessor]: + """Get the DataProcessor appropriate for the given model.""" + content_type = ContentType(model.metadata.device_spec.content_type) + # Metadata may provide an EvidenceType with a model so the same data source can + # be used to produce multiple types of evidence (ex. alpha) + evidence_type = None + model_output = model.metadata.evidence_type + if model_output: + try: + evidence_type = EvidenceType(model_output.upper()) + except ValueError: + logger.error(f"Unsupported evidence type: {model_output}") + + return get_processor(content_type, evidence_type) + + +def init_data_processor(signal_model: SignalModel) -> RawDataProcessor: + """Find an DataProcessor that matches the given signal_model and + initialize it.""" + processor_class = find_data_processor(signal_model) + return processor_class(signal_model) diff --git a/bcipy/simulator/task/copy_phrase.py b/bcipy/simulator/task/copy_phrase.py index 7539fdcff..71675e835 100644 --- a/bcipy/simulator/task/copy_phrase.py +++ b/bcipy/simulator/task/copy_phrase.py @@ -22,13 +22,13 @@ def get_evidence_type(model: SignalModel) -> EvidenceType: return model.metadata.evidence_type or DEFAULT_EVIDENCE_TYPE -class SimulatorCopyPhraseTask(RSVPCopyPhraseTask): - """CopyPhraseTask that simulates user interactions by sampling data - from a DataSampler.""" +class SimTask(RSVPCopyPhraseTask): + """"Task used for simulation. API differs from a regular task in its use of + data samplers.""" def __init__(self, parameters: Parameters, file_save: str, signal_models: List[SignalModel], - language_model: LanguageModel, sampler: Sampler): + language_model: LanguageModel, samplers: List[Sampler]): super().__init__(win=None, daq=None, parameters=parameters, @@ -37,10 +37,12 @@ def __init__(self, parameters: Parameters, file_save: str, language_model=language_model, fake=False) self.save_session_every_inquiry = False - # TODO: support multi-modal by including a sampler for every model - # TODO: easily swap out samplers (parameter -> list of samplers, one for each mode/evidence type) - # maybe accept a List[Tuple[SignalModel, Sampler]] - self.sampler = sampler + self.samplers = samplers + + +class SimulatorCopyPhraseTask(SimTask): + """CopyPhraseTask that simulates user interactions by sampling data + from a DataSampler.""" def init_evidence_evaluators( self, signal_models: List[SignalModel]) -> List[EvidenceEvaluator]: @@ -92,7 +94,7 @@ def compute_device_evidence( self.logger.info(self.get_sim_state()) # sampled_trial = self.sampler.sample_trial(self.get_sim_state()) - sampled_data = self.sampler.sample_data(self.get_sim_state()) + sampled_data = self.samplers[0].sample_data(self.get_sim_state()) # trial_info = (datasource, inquiry_n) # eye_gaze_data = self.sampler['EYE'].sample(self.get_sim_state(), trial_info) diff --git a/bcipy/simulator/task/task_runner.py b/bcipy/simulator/task/task_runner.py index 18ec00728..97c02ae78 100644 --- a/bcipy/simulator/task/task_runner.py +++ b/bcipy/simulator/task/task_runner.py @@ -5,17 +5,16 @@ import os from glob import glob from pathlib import Path -from typing import List, Optional +from typing import List, Type from bcipy.helpers.language_model import init_language_model from bcipy.helpers.load import load_json_parameters, load_signal_models from bcipy.signal.model.base_model import SignalModel from bcipy.simulator.helpers import artifact from bcipy.simulator.helpers.data_engine import RawDataEngine -from bcipy.simulator.helpers.data_process import EegRawDataProcessor +from bcipy.simulator.helpers.data_process import init_data_processor from bcipy.simulator.helpers.sampler import EEGByLetterSampler, Sampler -from bcipy.simulator.task.copy_phrase import SimulatorCopyPhraseTask -from bcipy.task.main import Task +from bcipy.simulator.task.copy_phrase import SimTask, SimulatorCopyPhraseTask logger = logging.getLogger(artifact.TOP_LEVEL_LOGGER_NAME) @@ -33,31 +32,21 @@ def configure_run_directory(sim_dir: str, run: int) -> str: return path -class TaskRunner(): - """Responsible for executing a task a given number of times.""" +class TaskFactory(): + """Constructs the hierarchy of objects necessary for initializing a task.""" def __init__(self, - model_path: str, params_path: str, + model_path: str, source_dirs: List[str], - save_dir: str, - runs: int = 1): - self.model_path = model_path + sampling_strategy: Type[Sampler] = EEGByLetterSampler, + task: Type[SimTask] = SimulatorCopyPhraseTask): self.params_path = params_path + self.model_path = model_path self.source_dirs = source_dirs - self.sim_dir = save_dir - self.runs = runs - - self.sampling_strategy = EEGByLetterSampler - self.simulation_task = SimulatorCopyPhraseTask - - self.parameters = None - self.signal_models: List[SignalModel] = [] - self.language_model = None - self.sampler: Optional[Sampler] = None + self.sampling_strategy = sampling_strategy + self.simulation_task = task - def setup(self) -> None: - """Setup the task objects""" logger.info("Loading parameters") self.parameters = load_json_parameters(self.params_path, value_cast=True) @@ -70,38 +59,51 @@ def setup(self) -> None: self.language_model = init_language_model(self.parameters) logger.debug(self.language_model) - logger.info("Creating data engine") - # TODO: initialize a data engine and sampler for each model - data_processor = EegRawDataProcessor(self.signal_models[0]) - data_engine = RawDataEngine(list(map(str, self.source_dirs)), - self.parameters, data_processor) - self.sampler = self.sampling_strategy(data_engine) - logger.debug("Using sampler:") - logger.debug(self.sampler) - - def setup_complete(self) -> bool: - """Determines if the runner has been setup correctly.""" - return all([ - self.parameters is not None, - len(self.signal_models) > 0, self.language_model is not None, - self.sampler is not None - ]) - - def make_task(self, run_dir) -> Task: - """Create the task. This is done for every run.""" - assert self.sampler, "Sampler must be initialized" + self.samplers = self.init_samplers(self.signal_models) + logger.debug(self.samplers) + + def init_samplers(self, signal_models: List[SignalModel]) -> List[Sampler]: + """Initializes the evidence evaluators from the provided signal models. + + Returns a list of evaluators for active devices. Raises an exception if + more than one evaluator provides the same type of evidence. + """ + + samplers = [] + for model in signal_models: + processor = init_data_processor(model) + logger.info(f"Creating data engine for {model}") + engine = RawDataEngine(list(map(str, self.source_dirs)), + self.parameters, + data_processor=processor) + sampler = self.sampling_strategy(engine) + samplers.append(sampler) + return samplers + + def make_task(self, run_dir: str) -> SimTask: + """Construct a new task""" return self.simulation_task(self.parameters, file_save=run_dir, signal_models=self.signal_models, language_model=self.language_model, - sampler=self.sampler) + samplers=self.samplers) + + +class TaskRunner(): + """Responsible for executing a task a given number of times.""" + + def __init__(self, + save_dir: str, + task_factory: TaskFactory, + runs: int = 1): + + self.task_factory = task_factory + self.sim_dir = save_dir + self.runs = runs def run(self): """Run one or more simulations""" - if not self.setup_complete(): - self.setup() - assert self.parameters, "Parameters is not initialized" - self.parameters.save(self.sim_dir) + self.task_factory.parameters.save(self.sim_dir) for i in range(self.runs): logger.info(f"Executing task {i+1}") self.do_run(i + 1) @@ -111,7 +113,7 @@ def do_run(self, run: int): """Execute a simulation run.""" run_dir = configure_run_directory(self.sim_dir, run) logger.info(run_dir) - task = self.make_task(run_dir) + task = self.task_factory.make_task(run_dir) task.execute() @@ -151,10 +153,13 @@ def main(): sim_dir = artifact.init_simulation_dir() logger.info(sim_dir) - runner = TaskRunner(model_path=sim_args['model_path'], - params_path=sim_args['parameters'], - source_dirs=sim_args['source_dirs'], - save_dir=sim_dir, + task_factory = TaskFactory(params_path=sim_args['parameters'], + model_path=sim_args['model_path'], + source_dirs=sim_args['source_dirs'], + sampling_strategy=EEGByLetterSampler, + task=SimulatorCopyPhraseTask) + runner = TaskRunner(save_dir=sim_dir, + task_factory=task_factory, runs=sim_args['n']) runner.run() From 0887d8ceef2c8556a3325dd73db7e23e9cc2f4c8 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 3 Sep 2024 17:04:10 -0700 Subject: [PATCH 293/330] Refactored TaskFactory into its own module. Cleaned up types and documentation. --- bcipy/simulator/helpers/data_engine.py | 21 +++++--- bcipy/simulator/helpers/data_process.py | 1 + bcipy/simulator/task/copy_phrase.py | 1 + bcipy/simulator/task/task_factory.py | 70 +++++++++++++++++++++++++ bcipy/simulator/task/task_runner.py | 68 ++---------------------- 5 files changed, 89 insertions(+), 72 deletions(-) create mode 100644 bcipy/simulator/task/task_factory.py diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py index 1935b9c73..a09978959 100644 --- a/bcipy/simulator/helpers/data_engine.py +++ b/bcipy/simulator/helpers/data_engine.py @@ -1,12 +1,13 @@ import logging from abc import ABC, abstractmethod from pathlib import Path -from typing import List, NamedTuple, Optional +from typing import List, NamedTuple, Optional, Union import numpy as np import pandas as pd from bcipy.helpers.parameters import Parameters +from bcipy.simulator.helpers import data_process from bcipy.simulator.helpers.artifact import TOP_LEVEL_LOGGER_NAME from bcipy.simulator.helpers.signal_helpers import (EegRawDataProcessor, ExtractedExperimentData, @@ -70,15 +71,18 @@ class RawDataEngine(DataEngine): Object that loads in list of session data folders and transforms data into sample-able DataFrame """ - def __init__(self, - source_dirs: List[str], - parameters: Parameters, - data_processor: Optional[RawDataProcessor] = None): + def __init__( + self, + source_dirs: List[str], + parameters: Parameters, + data_processor: Optional[Union[RawDataProcessor, + data_process.RawDataProcessor]] = None): self.source_dirs: List[str] = source_dirs self.parameters: Parameters = parameters self.data_processor = data_processor or EegRawDataProcessor() - self.data: List[ExtractedExperimentData] = [] + self.data: List[Union[ExtractedExperimentData, + data_process.ExtractedExperimentData]] = [] self.schema: Optional[pd.DataFrame] = None self.load() @@ -122,7 +126,10 @@ def transform(self) -> DataEngine: self.schema = pd.DataFrame(rows) return self - def trials(self, data_source: ExtractedExperimentData) -> List[Trial]: + def trials( + self, data_source: Union[ExtractedExperimentData, + data_process.ExtractedExperimentData] + ) -> List[Trial]: """Convert extracted data from a single data source to a list of Trials.""" trials = [] symbols_by_inquiry = data_source.symbols_by_inquiry diff --git a/bcipy/simulator/helpers/data_process.py b/bcipy/simulator/helpers/data_process.py index ec4611375..a45c8f29c 100644 --- a/bcipy/simulator/helpers/data_process.py +++ b/bcipy/simulator/helpers/data_process.py @@ -81,6 +81,7 @@ class DecodedTriggers(NamedTuple): @dataclass() class ExtractedExperimentData: + """Data from an acquisition device after reshaping and filtering.""" source_dir: str inquiries: np.ndarray trials: np.ndarray diff --git a/bcipy/simulator/task/copy_phrase.py b/bcipy/simulator/task/copy_phrase.py index 71675e835..8b3321e5a 100644 --- a/bcipy/simulator/task/copy_phrase.py +++ b/bcipy/simulator/task/copy_phrase.py @@ -132,6 +132,7 @@ def get_sim_state(self) -> SimState: def current_symbols(self) -> List[str]: """Get the list of symbols from the current inquiry.""" + assert self.current_inquiry, "current inquiry not initialized." schedule = self.current_inquiry stimuli = schedule.stimuli[0] _fixation, *symbols = stimuli diff --git a/bcipy/simulator/task/task_factory.py b/bcipy/simulator/task/task_factory.py new file mode 100644 index 000000000..ddf95fcf3 --- /dev/null +++ b/bcipy/simulator/task/task_factory.py @@ -0,0 +1,70 @@ +import logging +from typing import List, Type + +from bcipy.helpers.language_model import init_language_model +from bcipy.helpers.load import load_json_parameters, load_signal_models +from bcipy.signal.model.base_model import SignalModel +from bcipy.simulator.helpers import artifact +from bcipy.simulator.helpers.data_engine import RawDataEngine +from bcipy.simulator.helpers.data_process import init_data_processor +from bcipy.simulator.helpers.sampler import EEGByLetterSampler, Sampler +from bcipy.simulator.task.copy_phrase import SimTask, SimulatorCopyPhraseTask + +logger = logging.getLogger(artifact.TOP_LEVEL_LOGGER_NAME) + + +class TaskFactory(): + """Constructs the hierarchy of objects necessary for initializing a task.""" + + def __init__(self, + params_path: str, + model_path: str, + source_dirs: List[str], + sampling_strategy: Type[Sampler] = EEGByLetterSampler, + task: Type[SimTask] = SimulatorCopyPhraseTask): + self.params_path = params_path + self.model_path = model_path + self.source_dirs = source_dirs + self.sampling_strategy = sampling_strategy + self.simulation_task = task + + logger.info("Loading parameters") + self.parameters = load_json_parameters(self.params_path, + value_cast=True) + + logger.info("Loading signal models") + self.signal_models = load_signal_models(directory=self.model_path) + logger.debug(self.signal_models) + + logger.info("Initializing language model") + self.language_model = init_language_model(self.parameters) + logger.debug(self.language_model) + + self.samplers = self.init_samplers(self.signal_models) + logger.debug(self.samplers) + + def init_samplers(self, signal_models: List[SignalModel]) -> List[Sampler]: + """Initializes the evidence evaluators from the provided signal models. + + Returns a list of evaluators for active devices. Raises an exception if + more than one evaluator provides the same type of evidence. + """ + + samplers = [] + for model in signal_models: + processor = init_data_processor(model) + logger.info(f"Creating data engine for {model}") + engine = RawDataEngine(list(map(str, self.source_dirs)), + self.parameters, + data_processor=processor) + sampler = self.sampling_strategy(engine) + samplers.append(sampler) + return samplers + + def make_task(self, run_dir: str) -> SimTask: + """Construct a new task""" + return self.simulation_task(self.parameters, + file_save=run_dir, + signal_models=self.signal_models, + language_model=self.language_model, + samplers=self.samplers) diff --git a/bcipy/simulator/task/task_runner.py b/bcipy/simulator/task/task_runner.py index 97c02ae78..b50c87ba0 100644 --- a/bcipy/simulator/task/task_runner.py +++ b/bcipy/simulator/task/task_runner.py @@ -5,16 +5,11 @@ import os from glob import glob from pathlib import Path -from typing import List, Type -from bcipy.helpers.language_model import init_language_model -from bcipy.helpers.load import load_json_parameters, load_signal_models -from bcipy.signal.model.base_model import SignalModel from bcipy.simulator.helpers import artifact -from bcipy.simulator.helpers.data_engine import RawDataEngine -from bcipy.simulator.helpers.data_process import init_data_processor -from bcipy.simulator.helpers.sampler import EEGByLetterSampler, Sampler -from bcipy.simulator.task.copy_phrase import SimTask, SimulatorCopyPhraseTask +from bcipy.simulator.helpers.sampler import EEGByLetterSampler +from bcipy.simulator.task.copy_phrase import SimulatorCopyPhraseTask +from bcipy.simulator.task.task_factory import TaskFactory logger = logging.getLogger(artifact.TOP_LEVEL_LOGGER_NAME) @@ -32,63 +27,6 @@ def configure_run_directory(sim_dir: str, run: int) -> str: return path -class TaskFactory(): - """Constructs the hierarchy of objects necessary for initializing a task.""" - - def __init__(self, - params_path: str, - model_path: str, - source_dirs: List[str], - sampling_strategy: Type[Sampler] = EEGByLetterSampler, - task: Type[SimTask] = SimulatorCopyPhraseTask): - self.params_path = params_path - self.model_path = model_path - self.source_dirs = source_dirs - self.sampling_strategy = sampling_strategy - self.simulation_task = task - - logger.info("Loading parameters") - self.parameters = load_json_parameters(self.params_path, - value_cast=True) - - logger.info("Loading signal models") - self.signal_models = load_signal_models(directory=self.model_path) - logger.debug(self.signal_models) - - logger.info("Initializing language model") - self.language_model = init_language_model(self.parameters) - logger.debug(self.language_model) - - self.samplers = self.init_samplers(self.signal_models) - logger.debug(self.samplers) - - def init_samplers(self, signal_models: List[SignalModel]) -> List[Sampler]: - """Initializes the evidence evaluators from the provided signal models. - - Returns a list of evaluators for active devices. Raises an exception if - more than one evaluator provides the same type of evidence. - """ - - samplers = [] - for model in signal_models: - processor = init_data_processor(model) - logger.info(f"Creating data engine for {model}") - engine = RawDataEngine(list(map(str, self.source_dirs)), - self.parameters, - data_processor=processor) - sampler = self.sampling_strategy(engine) - samplers.append(sampler) - return samplers - - def make_task(self, run_dir: str) -> SimTask: - """Construct a new task""" - return self.simulation_task(self.parameters, - file_save=run_dir, - signal_models=self.signal_models, - language_model=self.language_model, - samplers=self.samplers) - - class TaskRunner(): """Responsible for executing a task a given number of times.""" From 9ee8237dda2589c967d8b1f4fd8a7681f103c5fb Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 10 Sep 2024 17:40:44 -0700 Subject: [PATCH 294/330] Refactored DataEngine process for loading and transforming data. Provided DataEngine with a query interface to allow the engine to abstract out the details about how the data is stored. Added a mechanism to the Copy Phrase simulation Task to match SignalModels to Samplers and used this in the compute_device_evidence method to support gathering evidence from multiple sources. --- bcipy/simulator/helpers/data_engine.py | 194 ++++++++++++++-------- bcipy/simulator/helpers/sampler.py | 35 ++-- bcipy/simulator/sim.py | 11 +- bcipy/simulator/sim_factory.py | 4 +- bcipy/simulator/task/copy_phrase.py | 32 ++-- bcipy/simulator/task/task_factory.py | 13 +- bcipy/simulator/task/task_runner.py | 4 +- bcipy/simulator/tests/test_data_engine.py | 7 +- 8 files changed, 173 insertions(+), 127 deletions(-) diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py index a09978959..95c0e807c 100644 --- a/bcipy/simulator/helpers/data_engine.py +++ b/bcipy/simulator/helpers/data_engine.py @@ -1,11 +1,12 @@ import logging from abc import ABC, abstractmethod from pathlib import Path -from typing import List, NamedTuple, Optional, Union +from typing import Any, List, NamedTuple, Optional, Union import numpy as np import pandas as pd +from bcipy.helpers.exceptions import TaskConfigurationException from bcipy.helpers.parameters import Parameters from bcipy.simulator.helpers import data_process from bcipy.simulator.helpers.artifact import TOP_LEVEL_LOGGER_NAME @@ -16,22 +17,6 @@ log = logging.getLogger(TOP_LEVEL_LOGGER_NAME) -class DataEngine(ABC): - - def load(self): - ... - - def transform(self): - ... - - def get_data(self): - ... - - @abstractmethod - def get_parameters(self) -> List[Parameters]: - ... - - class Trial(NamedTuple): """Data for a given trial (a symbol within an Inquiry). @@ -52,7 +37,7 @@ class Trial(NamedTuple): inquiry_pos: int symbol: str target: int - eeg: np.ndarray # Channels by Samples + eeg: np.ndarray # Channels by Samples ; ndarray.shape = (channel_n, sample_n) def __str__(self): fields = [ @@ -66,9 +51,75 @@ def __repr__(self): return str(self) +class QueryFilter(NamedTuple): + """Used to query for data.""" + field: str + operator: str + value: Any + + def is_valid(self) -> bool: + """Check if the filter is valid.""" + # pylint: disable=no-member + return self.field in Trial._fields and self.operator in self.valid_operators and isinstance( + self.value, Trial.__annotations__[self.field]) + + @property + def valid_operators(self) -> List[str]: + """List of supported query operators""" + return ["<", "<=", ">", ">=", "==", "!="] + + +class DataEngine(ABC): + """Abstract class for an object that loads data from one or more sources, + processes the data using a provided processor, and provides an interface + for querying the processed data.""" + + def load(self): + """Load data from sources.""" + + @property + def trials_df(self) -> pd.DataFrame: + """Returns a dataframe of Trial data.""" + + @abstractmethod + def query(self, + filters: List[QueryFilter], + samples: int = 1) -> List[Trial]: + """Query the data.""" + + +def convert_trials( + data_source: Union[ExtractedExperimentData, + data_process.ExtractedExperimentData] +) -> List[Trial]: + """Convert extracted data from a single data source to a list of Trials.""" + trials = [] + symbols_by_inquiry = data_source.symbols_by_inquiry + labels_by_inquiry = data_source.labels_by_inquiry + + for i, inquiry_eeg in enumerate(data_source.trials_by_inquiry): + # iterate through each inquiry + inquiry_symbols = symbols_by_inquiry[i] + inquiry_labels = labels_by_inquiry[i] + + for sym_i, symbol in enumerate(inquiry_symbols): + # iterate through each symbol in the inquiry + eeg_samples = [channel[sym_i] + for channel in inquiry_eeg] # (channel_n, sample_n) + trials.append( + Trial(source=data_source.source_dir, + inquiry_n=i, + inquiry_pos=sym_i + 1, + symbol=symbol, + target=inquiry_labels[sym_i], + eeg=np.array(eeg_samples))) + return trials + + class RawDataEngine(DataEngine): """ - Object that loads in list of session data folders and transforms data into sample-able DataFrame + Object that loads in list of session data folders and transforms data into + a queryable data structure. """ def __init__( @@ -83,7 +134,7 @@ def __init__( self.data_processor = data_processor or EegRawDataProcessor() self.data: List[Union[ExtractedExperimentData, data_process.ExtractedExperimentData]] = [] - self.schema: Optional[pd.DataFrame] = None + self._trials_df = pd.DataFrame() self.load() @@ -99,65 +150,64 @@ def load(self) -> DataEngine: log.debug( f"Loading data from {len(self.source_dirs)} source directories:" ) + rows = [] for i, source_dir in enumerate(self.source_dirs): log.debug(f"{i+1}. {Path(source_dir).name}") - self.data.append( - self.data_processor.process(source_dir, self.parameters)) + extracted_data = self.data_processor.process( + source_dir, self.parameters) + self.data.append(extracted_data) + rows.extend(convert_trials(extracted_data)) + self._trials_df = pd.DataFrame(rows) log.debug("Finished loading all data") return self - def transform(self) -> DataEngine: - """ - Organizes all data into the following schema - - Dataframe {"inquiry_n":int, "trial_n":int, "symbol":str, "target":int, "eeg":ndarray} - - The "eeg" data for trial looks like this - - ndarray.shape = (channel_n, sample_n) - - a trial is an eeg response for a symbol being displayed - - Returns: - self for chaining + @property + def trials_df(self) -> pd.DataFrame: + """Dataframe of Trial data.""" + if not self.data_loaded: + self.load() + return self._trials_df.copy() + + @property + def data_loaded(self) -> bool: + """Check if the data has been loaded""" + return bool(self.data) + + def query(self, + filters: List[QueryFilter], + samples: int = 1) -> List[Trial]: + """Query the engine for data using one or more filters. + + Parameters + ---------- + filters - list of query filters + samples - number of results to return. + check_insufficient_results - if True, raises an exception when + there are an insufficient number of samples. + + Returns a list of Trials. """ - rows = [] - for data_source in self.data: - rows.extend(self.trials(data_source)) - - self.schema = pd.DataFrame(rows) - return self - - def trials( - self, data_source: Union[ExtractedExperimentData, - data_process.ExtractedExperimentData] - ) -> List[Trial]: - """Convert extracted data from a single data source to a list of Trials.""" - trials = [] - symbols_by_inquiry = data_source.symbols_by_inquiry - labels_by_inquiry = data_source.labels_by_inquiry - - for i, inquiry_eeg in enumerate(data_source.trials_by_inquiry): - # iterate through each inquiry - inquiry_symbols = symbols_by_inquiry[i] - inquiry_labels = labels_by_inquiry[i] - - for sym_i, symbol in enumerate(inquiry_symbols): - # iterate through each symbol in the inquiry - eeg_samples = [channel[sym_i] for channel in inquiry_eeg - ] # (channel_n, sample_n) - trials.append( - Trial(source=data_source.source_dir, - inquiry_n=i, - inquiry_pos=sym_i + 1, - symbol=symbol, - target=inquiry_labels[sym_i], - eeg=np.array(eeg_samples))) - return trials - - def get_data(self): - return self.schema.copy() if self.schema is not None else None - - def get_parameters(self): - return self.parameters + assert self.data_loaded, "Data must be loaded before querying." + assert all(filt.is_valid() + for filt in filters), "Filters must all be valid" + assert samples >= 1, "Insufficient number of samples requested" + + expr = 'and '.join([self.query_condition(filt) for filt in filters]) + filtered_data = self._trials_df.query(expr) + if filtered_data is None or len(filtered_data) < samples: + raise TaskConfigurationException( + message="Not enough samples found") + + rows = filtered_data.sample(samples) + return [Trial(*row) for row in rows.itertuples(index=False, name=None)] + + def query_condition(self, query_filter: QueryFilter) -> str: + """Returns the string representation of of the given query condition.""" + value = query_filter.value + if (isinstance(value, str)): + value = f"'{value}'" + return f"{query_filter.field} {query_filter.operator} {value}" class RawDataEngineWrapper(RawDataEngine): diff --git a/bcipy/simulator/helpers/sampler.py b/bcipy/simulator/helpers/sampler.py index cd2b0441a..3ec40d606 100644 --- a/bcipy/simulator/helpers/sampler.py +++ b/bcipy/simulator/helpers/sampler.py @@ -8,8 +8,8 @@ import numpy as np import pandas as pd -from bcipy.helpers.exceptions import TaskConfigurationException -from bcipy.simulator.helpers.data_engine import RawDataEngine, Trial +from bcipy.simulator.helpers.data_engine import (QueryFilter, RawDataEngine, + Trial) from bcipy.simulator.helpers.log_utils import format_samples from bcipy.simulator.helpers.state_manager import SimState @@ -42,7 +42,6 @@ class Sampler(ABC): def __init__(self, data_engine: RawDataEngine): self.data_engine: RawDataEngine = data_engine self.model_input_reshaper: Callable = default_reshaper - self.data: pd.DataFrame = self.data_engine.transform().get_data() def sample(self, state: SimState) -> List[Trial]: """ @@ -94,28 +93,25 @@ def __str__(self): return f"<{self.__class__.__name__}>" -class EEGByLetterSampler(Sampler): +class TargetNontargetSampler(Sampler): """Sampler that that queries based on target/non-target label.""" def sample(self, state: SimState) -> List[Trial]: - current_stimuli = state.display_alphabet - target_letter = state.target_symbol sample_rows = [] - for symbol in current_stimuli: - is_target = int(symbol == target_letter) - # filtered_data = self.data.query(f'target == {is_target} and symbol == "{symbol}"') - filtered_data: pd.DataFrame = self.data.query( - f'target == {is_target}') - if filtered_data is None or len(filtered_data) == 0: - raise TaskConfigurationException( - message="No eeg sample found with provided data and query") - - row = filtered_data.sample(1).iloc[0] - sample_rows.append(Trial(**row)) - - log.debug(f"EEG Samples:\n{format_samples(sample_rows)}") + for symbol in state.display_alphabet: + filters = self.query_filters( + symbol, is_target=(symbol == state.target_symbol)) + filtered_data = self.data_engine.query(filters, samples=1) + sample_rows.append(filtered_data[0]) + + log.debug(f"Samples:\n{format_samples(sample_rows)}") return sample_rows + def query_filters(self, symbol: str, is_target: bool) -> List[QueryFilter]: + """Expression used to query for a single sample.""" + # QueryFilter('symbol', '==', symbol) + return [QueryFilter('target', '==', int(is_target))] + class InquirySampler(Sampler): """Samples an inquiry of data at a time.""" @@ -124,6 +120,7 @@ def __init__(self, data_engine: RawDataEngine): super().__init__(data_engine) # map source to inquiry numbers + self.data = self.data_engine.trials_df self.target_inquiries, self.no_target_inquiries = self.prepare_data( self.data) diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index 821b94121..8656301b4 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -50,7 +50,7 @@ class SimulatorCopyPhrase(Simulator): """ def __init__(self, data_engine: DataEngine, model_handler: ModelHandler, sampler: Sampler, - state_manager: StateManager, referee: MetricReferee, parameters: Optional[Parameters] = None, + state_manager: StateManager, referee: MetricReferee, parameters: Parameters, save_dir: Optional[str] = None): super().__init__() @@ -61,7 +61,7 @@ def __init__(self, data_engine: DataEngine, model_handler: ModelHandler, sampler self.state_manager = state_manager self.data_engine = data_engine - self.parameters = self.load_parameters(parameters) + self.parameters = parameters self.symbol_set = alphabet() self.write_output = False @@ -162,13 +162,6 @@ def __reshape_evidences(self, evidences: Dict[str, SimEvidence]) -> Dict[str, Si return reshaped_evidence - def load_parameters(self, params: Optional[Parameters]): - # TODO validate parameters - if params: - return params - else: - return self.data_engine.get_parameters() - def new_data_record(self, inquiry_state: SimState, inquiry_result: InquiryResult) -> Inquiry: """Construct a new inquiry data record. diff --git a/bcipy/simulator/sim_factory.py b/bcipy/simulator/sim_factory.py index aad05f868..25f04a218 100644 --- a/bcipy/simulator/sim_factory.py +++ b/bcipy/simulator/sim_factory.py @@ -8,7 +8,7 @@ from bcipy.simulator.helpers.data_engine import RawDataEngine from bcipy.simulator.helpers.metrics import RefereeImpl, SimMetricsHandler from bcipy.simulator.helpers.model_handler import SigLmModelHandler1 -from bcipy.simulator.helpers.sampler import EEGByLetterSampler +from bcipy.simulator.helpers.sampler import TargetNontargetSampler from bcipy.simulator.helpers.state_manager import StateManagerImpl from bcipy.simulator.sim import Simulator, SimulatorCopyPhrase @@ -37,7 +37,7 @@ def create(source_dirs: List[Path], data_engine = RawDataEngine(list(map(str, source_dirs)), base_parameters) state_manager = StateManagerImpl(base_parameters) - sampler = EEGByLetterSampler(data_engine) + sampler = TargetNontargetSampler(data_engine) model_handler = SigLmModelHandler1(model_file, base_parameters) referee = RefereeImpl(metric_handlers={'basic': SimMetricsHandler()}) diff --git a/bcipy/simulator/task/copy_phrase.py b/bcipy/simulator/task/copy_phrase.py index 8b3321e5a..47e593e83 100644 --- a/bcipy/simulator/task/copy_phrase.py +++ b/bcipy/simulator/task/copy_phrase.py @@ -1,5 +1,5 @@ """Simulates the Copy Phrase task""" -from typing import List, Optional, Tuple +from typing import Dict, List, Optional, Tuple from bcipy.display.main import Display from bcipy.feedback.visual.visual_feedback import VisualFeedback @@ -28,7 +28,8 @@ class SimTask(RSVPCopyPhraseTask): def __init__(self, parameters: Parameters, file_save: str, signal_models: List[SignalModel], - language_model: LanguageModel, samplers: List[Sampler]): + language_model: LanguageModel, samplers: Dict[SignalModel, + Sampler]): super().__init__(win=None, daq=None, parameters=parameters, @@ -89,18 +90,23 @@ def compute_device_evidence( self, stim_times: List[List], proceed: bool = True) -> List[Tuple[EvidenceType, List[float]]]: - # TODO: sample for each evidence type - self.logger.info("Computing evidence with sim_state:") - self.logger.info(self.get_sim_state()) - - # sampled_trial = self.sampler.sample_trial(self.get_sim_state()) - sampled_data = self.samplers[0].sample_data(self.get_sim_state()) - # trial_info = (datasource, inquiry_n) - # eye_gaze_data = self.sampler['EYE'].sample(self.get_sim_state(), trial_info) - evidence = self.signal_model.predict(sampled_data, - self.current_symbols(), self.alp) - return [(EvidenceType.ERP, evidence)] + current_state = self.get_sim_state() + self.logger.info("Computing evidence with sim_state:") + self.logger.info(current_state) + + evidences = [] + + for model in self.signal_models: + sampler = self.samplers[model] + # is sampling independent or do we need to provide the trial context of the last sample? + # TODO: if so, we need another sampler API method for sample_trials(current_state, trial_info) + sampled_data = sampler.sample_data(current_state) + evidence = model.predict(sampled_data, self.current_symbols(), + self.alp) + evidence_type = model.metadata.evidence_type or EvidenceType.ERP + evidences.append((evidence_type, evidence)) + return evidences def exit_display(self) -> None: """Close the UI and cleanup.""" diff --git a/bcipy/simulator/task/task_factory.py b/bcipy/simulator/task/task_factory.py index ddf95fcf3..92c898d5e 100644 --- a/bcipy/simulator/task/task_factory.py +++ b/bcipy/simulator/task/task_factory.py @@ -1,5 +1,5 @@ import logging -from typing import List, Type +from typing import Dict, List, Type from bcipy.helpers.language_model import init_language_model from bcipy.helpers.load import load_json_parameters, load_signal_models @@ -7,7 +7,7 @@ from bcipy.simulator.helpers import artifact from bcipy.simulator.helpers.data_engine import RawDataEngine from bcipy.simulator.helpers.data_process import init_data_processor -from bcipy.simulator.helpers.sampler import EEGByLetterSampler, Sampler +from bcipy.simulator.helpers.sampler import Sampler, TargetNontargetSampler from bcipy.simulator.task.copy_phrase import SimTask, SimulatorCopyPhraseTask logger = logging.getLogger(artifact.TOP_LEVEL_LOGGER_NAME) @@ -16,11 +16,12 @@ class TaskFactory(): """Constructs the hierarchy of objects necessary for initializing a task.""" + # TODO: sampling strategy per model type def __init__(self, params_path: str, model_path: str, source_dirs: List[str], - sampling_strategy: Type[Sampler] = EEGByLetterSampler, + sampling_strategy: Type[Sampler] = TargetNontargetSampler, task: Type[SimTask] = SimulatorCopyPhraseTask): self.params_path = params_path self.model_path = model_path @@ -43,14 +44,14 @@ def __init__(self, self.samplers = self.init_samplers(self.signal_models) logger.debug(self.samplers) - def init_samplers(self, signal_models: List[SignalModel]) -> List[Sampler]: + def init_samplers(self, signal_models: List[SignalModel]) -> Dict[SignalModel, Sampler]: """Initializes the evidence evaluators from the provided signal models. Returns a list of evaluators for active devices. Raises an exception if more than one evaluator provides the same type of evidence. """ - samplers = [] + samplers = {} for model in signal_models: processor = init_data_processor(model) logger.info(f"Creating data engine for {model}") @@ -58,7 +59,7 @@ def init_samplers(self, signal_models: List[SignalModel]) -> List[Sampler]: self.parameters, data_processor=processor) sampler = self.sampling_strategy(engine) - samplers.append(sampler) + samplers[model] = sampler return samplers def make_task(self, run_dir: str) -> SimTask: diff --git a/bcipy/simulator/task/task_runner.py b/bcipy/simulator/task/task_runner.py index b50c87ba0..d8e9d7144 100644 --- a/bcipy/simulator/task/task_runner.py +++ b/bcipy/simulator/task/task_runner.py @@ -7,7 +7,7 @@ from pathlib import Path from bcipy.simulator.helpers import artifact -from bcipy.simulator.helpers.sampler import EEGByLetterSampler +from bcipy.simulator.helpers.sampler import TargetNontargetSampler from bcipy.simulator.task.copy_phrase import SimulatorCopyPhraseTask from bcipy.simulator.task.task_factory import TaskFactory @@ -94,7 +94,7 @@ def main(): task_factory = TaskFactory(params_path=sim_args['parameters'], model_path=sim_args['model_path'], source_dirs=sim_args['source_dirs'], - sampling_strategy=EEGByLetterSampler, + sampling_strategy=TargetNontargetSampler, task=SimulatorCopyPhraseTask) runner = TaskRunner(save_dir=sim_dir, task_factory=task_factory, diff --git a/bcipy/simulator/tests/test_data_engine.py b/bcipy/simulator/tests/test_data_engine.py index 932e7b9cb..8abab6642 100644 --- a/bcipy/simulator/tests/test_data_engine.py +++ b/bcipy/simulator/tests/test_data_engine.py @@ -23,8 +23,8 @@ def test_init(self): data_engine = RawDataEngine(source_dirs=[], parameters=self.parameters, data_processor=self.data_processor) - self.assertFalse(data_engine.get_data()) - self.assertEqual(self.parameters, data_engine.get_parameters()) + + self.assertEqual(self.parameters, data_engine.parameters) def test_single_data_source(self): """Test loading data from a single directory.""" @@ -70,8 +70,7 @@ def test_transform(self): engine = RawDataEngine(source_dirs=['data-dir1'], parameters=self.parameters, data_processor=self.data_processor) - engine.transform() - data = engine.get_data() + data = engine.trials_df self.assertEqual(10, len(data)) From 7066c359166e3a67221fe0759b93e12908a52005 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 11 Sep 2024 16:00:35 -0700 Subject: [PATCH 295/330] Sim task cleanup --- bcipy/simulator/task/copy_phrase.py | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/bcipy/simulator/task/copy_phrase.py b/bcipy/simulator/task/copy_phrase.py index 47e593e83..a35288b56 100644 --- a/bcipy/simulator/task/copy_phrase.py +++ b/bcipy/simulator/task/copy_phrase.py @@ -22,9 +22,22 @@ def get_evidence_type(model: SignalModel) -> EvidenceType: return model.metadata.evidence_type or DEFAULT_EVIDENCE_TYPE -class SimTask(RSVPCopyPhraseTask): - """"Task used for simulation. API differs from a regular task in its use of - data samplers.""" +class SimTask(): + """Abstract class that marks a task as a simulation.""" + def __init__(self, parameters: Parameters, file_save: str, + signal_models: List[SignalModel], + language_model: LanguageModel, samplers: Dict[SignalModel, + Sampler]): + """Signature for a simulation task""" + + def execute(self) -> str: + """Executes the task""" + raise NotImplementedError + + +class SimulatorCopyPhraseTask(RSVPCopyPhraseTask, SimTask): + """CopyPhraseTask that simulates user interactions by sampling data + from a DataSampler.""" def __init__(self, parameters: Parameters, file_save: str, signal_models: List[SignalModel], @@ -40,11 +53,6 @@ def __init__(self, parameters: Parameters, file_save: str, self.save_session_every_inquiry = False self.samplers = samplers - -class SimulatorCopyPhraseTask(SimTask): - """CopyPhraseTask that simulates user interactions by sampling data - from a DataSampler.""" - def init_evidence_evaluators( self, signal_models: List[SignalModel]) -> List[EvidenceEvaluator]: # Evidence will be sampled so we don't need to evaluate raw data. @@ -99,8 +107,8 @@ def compute_device_evidence( for model in self.signal_models: sampler = self.samplers[model] - # is sampling independent or do we need to provide the trial context of the last sample? - # TODO: if so, we need another sampler API method for sample_trials(current_state, trial_info) + # This assumes that sampling is independent. Changes to the sampler API are needed if + # we need to provide the trial context of the last sample. sampled_data = sampler.sample_data(current_state) evidence = model.predict(sampled_data, self.current_symbols(), self.alp) From bd45e48e7a884b413a38bbbdf766f54027a69313 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 11 Sep 2024 16:54:47 -0700 Subject: [PATCH 296/330] Fixed unit tests and linting errors --- bcipy/simulator/task/copy_phrase.py | 2 +- bcipy/simulator/tests/test_data_engine.py | 47 +++++++++++++---------- 2 files changed, 27 insertions(+), 22 deletions(-) diff --git a/bcipy/simulator/task/copy_phrase.py b/bcipy/simulator/task/copy_phrase.py index a35288b56..634262a8c 100644 --- a/bcipy/simulator/task/copy_phrase.py +++ b/bcipy/simulator/task/copy_phrase.py @@ -107,7 +107,7 @@ def compute_device_evidence( for model in self.signal_models: sampler = self.samplers[model] - # This assumes that sampling is independent. Changes to the sampler API are needed if + # This assumes that sampling is independent. Changes to the sampler API are needed if # we need to provide the trial context of the last sample. sampled_data = sampler.sample_data(current_state) evidence = model.predict(sampled_data, self.current_symbols(), diff --git a/bcipy/simulator/tests/test_data_engine.py b/bcipy/simulator/tests/test_data_engine.py index 8abab6642..ada6bb0ee 100644 --- a/bcipy/simulator/tests/test_data_engine.py +++ b/bcipy/simulator/tests/test_data_engine.py @@ -4,8 +4,29 @@ import numpy as np -from bcipy.simulator.helpers.data_engine import (ExtractedExperimentData, - RawDataEngine) +from bcipy.simulator.helpers.data_engine import RawDataEngine +from bcipy.simulator.helpers.data_process import (DecodedTriggers, + ExtractedExperimentData) + + +def mock_data() -> ExtractedExperimentData: + times = [ + 9.730993399999988, 9.966709099999662, 10.201713299999938, + 10.436247999999978, 10.672083899999961, 10.90684519999968, + 11.141479799999615, 11.377909999999702, 11.614850199999637, + 11.849502299999585 + ] + return ExtractedExperimentData( + source_dir=Path('data-dir1'), + inquiries=np.zeros((7, 1, 692)), + trials=np.zeros((7, 10, 74)), + labels=np.array([[0, 0, 0, 0, 0, 1, 0, 0, 0, 0]]), + inquiry_timing=[[150, 185, 220, 255, 291, 326, 361, 397, 432, 467]], + decoded_triggers=DecodedTriggers([ + 'nontarget', 'nontarget', 'nontarget', 'nontarget', 'nontarget', + 'target', 'nontarget', 'nontarget', 'nontarget', 'nontarget' + ], times, ['G', 'C', 'D', 'B', 'I', 'A', 'H', '<', 'E', 'F'], times), + trials_per_inquiry=10) class TestRawDataEngine(unittest.TestCase): @@ -28,6 +49,7 @@ def test_init(self): def test_single_data_source(self): """Test loading data from a single directory.""" + self.data_processor.process = Mock(return_value=mock_data()) RawDataEngine(source_dirs=['data-dir1'], parameters=self.parameters, data_processor=self.data_processor) @@ -36,6 +58,7 @@ def test_single_data_source(self): def test_multiple_sources(self): """Test loading data from multiple directories.""" + self.data_processor.process = Mock(return_value=mock_data()) RawDataEngine(source_dirs=['data-dir1', 'data-dir2', 'data-dir3'], parameters=self.parameters, data_processor=self.data_processor) @@ -48,25 +71,7 @@ def test_transform(self): """Test the data transformation method""" # Setup context # mock the experiment data; single inquiry - mock_data = ExtractedExperimentData( - source_dir=Path('data-dir1'), - inquiries=np.zeros((7, 1, 692)), - trials=np.zeros((7, 10, 74)), - labels=np.array([[0, 0, 0, 0, 0, 1, 0, 0, 0, 0]]), - inquiry_timing=[[150, 185, 220, 255, 291, 326, 361, 397, 432, - 467]], - decoded_triggers=([ - 'nontarget', 'nontarget', 'nontarget', 'nontarget', - 'nontarget', 'target', 'nontarget', 'nontarget', 'nontarget', - 'nontarget' - ], [ - 9.730993399999988, 9.966709099999662, 10.201713299999938, - 10.436247999999978, 10.672083899999961, 10.90684519999968, - 11.141479799999615, 11.377909999999702, 11.614850199999637, - 11.849502299999585 - ], ['G', 'C', 'D', 'B', 'I', 'A', 'H', '<', 'E', 'F']), - trials_per_inquiry=10) - self.data_processor.process = Mock(return_value=mock_data) + self.data_processor.process = Mock(return_value=mock_data()) engine = RawDataEngine(source_dirs=['data-dir1'], parameters=self.parameters, data_processor=self.data_processor) From 2d2ba564e1d8f28854920e54b92f1c02e1fa6a0b Mon Sep 17 00:00:00 2001 From: tab-cmd Date: Mon, 16 Sep 2024 13:52:10 -0400 Subject: [PATCH 297/330] Surface btn error probability (#347) surface btn error probability --- bcipy/parameters/parameters.json | 8 ++++++++ bcipy/task/paradigm/rsvp/copy_phrase.py | 4 ++-- bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py | 1 + 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index 36c088342..e8f7d7b81 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -686,6 +686,14 @@ "recommended_values": "", "type": "bool" }, + "preview_inquiry_error_prob": { + "value": "0.05", + "section": "bci_config", + "readableName": "Preview Inquiry Button Error Probability", + "helpTip": "Specifies the probability of a button error during inquiry preview. Default: 0.05", + "recommended_values": "", + "type": "float" + }, "preview_inquiry_progress_method": { "value": "0", "section": "bci_config", diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index 82640dd20..383a9e331 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -96,7 +96,7 @@ class RSVPCopyPhraseTask(Task): 'is_txt_stim', 'lm_backspace_prob', 'backspace_always_shown', 'decision_threshold', 'max_inq_len', 'max_inq_per_series', 'max_minutes', 'max_selections', 'min_inq_len', 'show_feedback', 'feedback_duration', - 'show_preview_inquiry', 'preview_inquiry_isi', + 'show_preview_inquiry', 'preview_inquiry_isi', 'preview_inquiry_error_prob', 'preview_inquiry_key_input', 'preview_inquiry_length', 'preview_inquiry_progress_method', 'spelled_letters_count', 'stim_color', 'stim_height', 'stim_jitter', 'stim_length', 'stim_number', @@ -129,7 +129,7 @@ def __init__( self.alp = alphabet(self.parameters) - self.button_press_error_prob = 0.05 + self.button_press_error_prob = parameters['preview_inquiry_error_prob'] self.evidence_evaluators = self.init_evidence_evaluators(signal_models) diff --git a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py index fff068107..657afe28c 100644 --- a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py +++ b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py @@ -73,6 +73,7 @@ def setUp(self): 'task_color': 'white', 'task_height': 0.1, 'task_text': 'HELLO_WORLD', + "preview_inquiry_error_prob": 0.05, 'info_pos_x': 0.0, 'info_pos_y': -0.75, 'time_fixation': 0.5, From d9950b1798274491b20699199b4c59a3e8450a27 Mon Sep 17 00:00:00 2001 From: tab-cmd Date: Mon, 16 Sep 2024 19:29:32 -0400 Subject: [PATCH 298/330] Inquiry preview bugfix (#348) --- bcipy/display/main.py | 4 ++++ bcipy/display/paradigm/rsvp/display.py | 13 ++++--------- .../tests/paradigm/rsvp/test_rsvp_display.py | 1 + bcipy/task/paradigm/rsvp/calibration/calibration.py | 1 + bcipy/task/paradigm/rsvp/copy_phrase.py | 1 + 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/bcipy/display/main.py b/bcipy/display/main.py index 793f21774..6e7ddba30 100644 --- a/bcipy/display/main.py +++ b/bcipy/display/main.py @@ -245,12 +245,15 @@ class PreviewInquiryProperties: def __init__( self, + preview_on: bool, preview_only: bool, preview_inquiry_length: float, preview_inquiry_progress_method: int, preview_inquiry_key_input: str, preview_inquiry_isi: float): """Initialize Inquiry Preview Parameters. + + preview_on(bool): If True, display an inquiry preview before the main inquiry. preview_only(bool): If True, only preview the inquiry and do not probe for response preview_inquiry_length(float): Length of time in seconds to present the inquiry preview preview_inquiry_progress_method(int): Method of progression for inquiry preview. @@ -258,6 +261,7 @@ def __init__( preview_inquiry_key_input(str): Defines which key should be listened to for progressing preview_inquiry_isi(float): Length of time after displaying the inquiry preview to display a blank screen """ + self.preview_on = preview_on self.preview_inquiry_length = preview_inquiry_length self.preview_inquiry_key_input = preview_inquiry_key_input self.press_to_accept = True if preview_inquiry_progress_method == 1 else False diff --git a/bcipy/display/paradigm/rsvp/display.py b/bcipy/display/paradigm/rsvp/display.py index 25bc577f8..b56ac4bc5 100644 --- a/bcipy/display/paradigm/rsvp/display.py +++ b/bcipy/display/paradigm/rsvp/display.py @@ -80,6 +80,8 @@ def __init__( self.full_screen = full_screen self._preview_inquiry = preview_inquiry + if self._preview_inquiry: + self.preview_calibration = self._preview_inquiry.preview_on self.staticPeriod = static_clock @@ -126,19 +128,12 @@ def schedule_to(self, self.stimuli_timing = timing or [] self.stimuli_colors = colors or [] - def do_inquiry(self, preview_calibration: bool = False) -> List[Tuple[str, float]]: + def do_inquiry(self) -> List[Tuple[str, float]]: """Do inquiry. Animates an inquiry of flashing letters to achieve RSVP. - PARAMETERS: - ----------- - preview_calibration(bool) default False: Whether or not to preview the upcoming inquiry stimuli. This feature - is used to help the participant prepare for the upcoming inquiry after a prompt. It will present after - the first stimulus of the inquiry (assumed to be a prompt). Not recommended for use outside of a - calibration task. - RETURNS: -------- timing(list[float]): list of timings of stimuli presented in the inquiry @@ -161,7 +156,7 @@ def do_inquiry(self, preview_calibration: bool = False) -> List[Tuple[str, float self.first_stim_callback(inquiry[idx]['sti']) # If previewing the inquiry, do so after the first stimulus - if preview_calibration and idx == 1: + if self.preview_calibration and idx == 1: time, _ = self.preview_inquiry() timing.extend(time) diff --git a/bcipy/display/tests/paradigm/rsvp/test_rsvp_display.py b/bcipy/display/tests/paradigm/rsvp/test_rsvp_display.py index a05fe433b..61bb2a483 100644 --- a/bcipy/display/tests/paradigm/rsvp/test_rsvp_display.py +++ b/bcipy/display/tests/paradigm/rsvp/test_rsvp_display.py @@ -88,6 +88,7 @@ def setUp(self, task_bar_mock): self.preview_inquiry_progress_method = 1 # preview only = 0; press to accept == 1; press to skip == 2 self.preview_inquiry_key_input = 'space' self.preview_inquiry = PreviewInquiryProperties( + preview_on=False, preview_only=False, preview_inquiry_length=self.preview_inquiry_length, preview_inquiry_isi=self.preview_inquiry_isi, diff --git a/bcipy/task/paradigm/rsvp/calibration/calibration.py b/bcipy/task/paradigm/rsvp/calibration/calibration.py index 9155b611a..964a2fbad 100644 --- a/bcipy/task/paradigm/rsvp/calibration/calibration.py +++ b/bcipy/task/paradigm/rsvp/calibration/calibration.py @@ -80,6 +80,7 @@ def init_calibration_display_task( padding=parameters['task_padding']) preview_inquiry = PreviewInquiryProperties( + preview_on=parameters['show_preview_inquiry'], preview_only=True, preview_inquiry_length=parameters['preview_inquiry_length'], preview_inquiry_progress_method=parameters[ diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index 383a9e331..17bc7a0cb 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -905,6 +905,7 @@ def _init_copy_phrase_display( experiment_clock: Clock, starting_spelled_text) -> CopyPhraseDisplay: preview_inquiry = PreviewInquiryProperties( + preview_on=parameters['show_preview_inquiry'], preview_only=parameters['preview_only'], preview_inquiry_length=parameters['preview_inquiry_length'], preview_inquiry_key_input=parameters['preview_inquiry_key_input'], From 96a838245c1e52ebbf5d5edcf5ace001ea647c76 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 20 Sep 2024 17:23:45 -0700 Subject: [PATCH 299/330] Delete unused or redundant code --- bcipy/simulator/README.md | 54 ++--- bcipy/simulator/__main__.py | 57 +----- bcipy/simulator/helpers/data_engine.py | 37 +--- bcipy/simulator/helpers/decision.py | 117 ----------- bcipy/simulator/helpers/evidence_fuser.py | 53 ----- bcipy/simulator/helpers/log_utils.py | 41 +--- bcipy/simulator/helpers/metrics.py | 137 ------------- bcipy/simulator/helpers/model_handler.py | 135 ------------- bcipy/simulator/helpers/rsvp_utils.py | 24 --- bcipy/simulator/helpers/sampler.py | 2 +- bcipy/simulator/helpers/signal_helpers.py | 193 ------------------ bcipy/simulator/helpers/sim_runner.py | 118 ----------- bcipy/simulator/helpers/sim_viz.py | 73 ------- bcipy/simulator/helpers/state.py | 13 ++ bcipy/simulator/helpers/state_manager.py | 214 -------------------- bcipy/simulator/helpers/types.py | 40 ---- bcipy/simulator/sim.py | 229 ---------------------- bcipy/simulator/sim_factory.py | 61 ------ bcipy/simulator/sim_parameters.json | 71 ------- bcipy/simulator/simulator_base.py | 40 ---- bcipy/simulator/task/copy_phrase.py | 21 +- bcipy/simulator/task/task_factory.py | 6 +- bcipy/simulator/task/task_runner.py | 2 +- 23 files changed, 59 insertions(+), 1679 deletions(-) delete mode 100644 bcipy/simulator/helpers/decision.py delete mode 100644 bcipy/simulator/helpers/evidence_fuser.py delete mode 100644 bcipy/simulator/helpers/metrics.py delete mode 100644 bcipy/simulator/helpers/model_handler.py delete mode 100644 bcipy/simulator/helpers/rsvp_utils.py delete mode 100644 bcipy/simulator/helpers/signal_helpers.py delete mode 100644 bcipy/simulator/helpers/sim_runner.py delete mode 100644 bcipy/simulator/helpers/sim_viz.py create mode 100644 bcipy/simulator/helpers/state.py delete mode 100644 bcipy/simulator/helpers/state_manager.py delete mode 100644 bcipy/simulator/helpers/types.py delete mode 100644 bcipy/simulator/sim.py delete mode 100644 bcipy/simulator/sim_factory.py delete mode 100644 bcipy/simulator/sim_parameters.json delete mode 100644 bcipy/simulator/simulator_base.py diff --git a/bcipy/simulator/README.md b/bcipy/simulator/README.md index 3bde0493b..bba55404e 100644 --- a/bcipy/simulator/README.md +++ b/bcipy/simulator/README.md @@ -2,20 +2,28 @@ ### Overview -This Simulator module aims to automate experimentation by sampling EEG data from prior sessions and -running given models -in RSVP task loop, thus simulating a -live session. +This Simulator module aims to automate experimentation by sampling EEG data from prior sessions and running given models in RSVP task loop, thus simulating a live session. ### Run steps -`main.py` is the entry point for program. After following, `BciPy` readme steps for setup, run the -module from shell as -such: - -``python3 bcipy/simulator -d "pathToDataFolderWrapper" -p "pathToParametersFile" -sm "pathToSignalModel.pkl"`` - -Then view the appropriate output folder for LOG file(s) and metrics. +`main.py` is the entry point for program. After following `BciPy` readme steps for setup, run the module from terminal: + +``` +(venv) $ python bcipy/simulator -h +usage: simulator [-h] -d DATA_FOLDER [-g GLOB_PATTERN] -m MODEL_PATH -p PARAMETERS [-n N] + +optional arguments: + -h, --help show this help message and exit + -d DATA_FOLDER, --data_folder DATA_FOLDER + Raw data folders to be processed. + -g GLOB_PATTERN, --glob_pattern GLOB_PATTERN + glob pattern to select a subset of data folders Ex. "*RSVP_Copy_Phrase*" + -m MODEL_PATH, --model_path MODEL_PATH + Signal models to be used + -p PARAMETERS, --parameters PARAMETERS + Parameter File to be used + -n N Number of times to run the simulation +``` #### Program Args @@ -26,25 +34,17 @@ Then view the appropriate output folder for LOG file(s) and metrics. - Glob patterns can also include nested directories (ex. `"*/*Matrix_Copy*"`). - `p` : path to the parameters.json file used to run the simulation. These parameters will be applied to all raw_data files when loading. -- `sm`: the signal model argument is necessary to generate evidence +- `m`: all pickle (.pkl) files in this directory will be loaded as signal models. #### Sim Output Details -Output folders are generally located at [simulator/generated](). - -- `result.json` captures metrics from the simulation and all the state from the simulation (like _session.json_) -- `parameters.json` captures params used, a combination of parameters inputted by you and the `sim_parameters.json` -- Single run Folder name: _SIM_month-day-hour:min_hash_ -- Multi Run Folder name: _SIM_MULTI_runCount_month-day-hour:min_ - - -#### Configuring Parameters - -There are various parameters that you can tweak in `sim_parameters.json` to run simulator multiple times with the same args, specify lang_model type ... - - -### Architecture +Output folders are generally located in the `simulator/generated` directory. Each simulation will create a new directory. The directory name will be prefixed with `SIM` and will include the current date and time. -![simDiagram.png](res/simDiagram.png) +- `parameters.json` captures params used for the simulation +- `sim.log` is a log file for the simulation +A directory is created for each simulation run. The directory contents are similar to the session output in a normal bcipy task. Each run directory contains: +- `run_n.log` log file specific to the run +- `session.json` session data output for the task, including evidence generated for each inquiry and overall metrics. +- `session.xlsx` session data summarized in an excel spreadsheet with charts for easier visualization. diff --git a/bcipy/simulator/__main__.py b/bcipy/simulator/__main__.py index a79a50caf..804ab1131 100644 --- a/bcipy/simulator/__main__.py +++ b/bcipy/simulator/__main__.py @@ -1,57 +1,6 @@ """ Entry point to run Simulator """ -import argparse -from glob import glob -from pathlib import Path +from bcipy.simulator.task import task_runner -from bcipy.simulator.helpers import artifact -from bcipy.simulator.helpers.sim_runner import SimRunner -from bcipy.simulator.sim_factory import SimulationFactory - -if __name__ == "__main__": - glob_help = ('glob pattern to select a subset of data folders' - ' Ex. "*RSVP_Copy_Phrase*"') - parser = argparse.ArgumentParser() - parser.add_argument( - "-d", - "--data_folder", - type=Path, - required=True, - help="Raw data folders to be processed. Singular wrapper dir with data folders") - parser.add_argument('-g', '--glob_pattern', help=glob_help, default="*") - parser.add_argument( - "-sm", - "--smodel_files", - action="append", - type=Path, - required=True, - help="Signal models to be used") - parser.add_argument( - "-p", - "--parameters", - type=Path, - required=True, - help="Parameter File to be used") - - parser.add_argument( - "-n", - type=int, - required=False, - default=1, - help="Number of times to run the simulation") - parser.add_argument("-o", "--out_dir", type=Path, default=Path(__file__).resolve().parent) - args = parser.parse_args() - sim_args = vars(args) - - sim_args['source_dirs'] = [ - Path(d) for d in glob(str(Path(args.data_folder, args.glob_pattern))) - if Path(d).is_dir() - ] - - sim_dir = artifact.init_simulation_dir() - simulator = SimulationFactory.create(**sim_args) - runner = SimRunner(save_dir=sim_dir, - simulator=simulator, - runs=args.n) - runner.simulator = simulator - runner.run() +if __name__ == '__main__': + task_runner.main() diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py index 95c0e807c..52ef246ed 100644 --- a/bcipy/simulator/helpers/data_engine.py +++ b/bcipy/simulator/helpers/data_engine.py @@ -1,7 +1,7 @@ import logging from abc import ABC, abstractmethod from pathlib import Path -from typing import Any, List, NamedTuple, Optional, Union +from typing import Any, List, NamedTuple, Union import numpy as np import pandas as pd @@ -10,9 +10,8 @@ from bcipy.helpers.parameters import Parameters from bcipy.simulator.helpers import data_process from bcipy.simulator.helpers.artifact import TOP_LEVEL_LOGGER_NAME -from bcipy.simulator.helpers.signal_helpers import (EegRawDataProcessor, - ExtractedExperimentData, - RawDataProcessor) +from bcipy.simulator.helpers.data_process import (ExtractedExperimentData, + RawDataProcessor) log = logging.getLogger(TOP_LEVEL_LOGGER_NAME) @@ -88,10 +87,7 @@ def query(self, """Query the data.""" -def convert_trials( - data_source: Union[ExtractedExperimentData, - data_process.ExtractedExperimentData] -) -> List[Trial]: +def convert_trials(data_source: ExtractedExperimentData) -> List[Trial]: """Convert extracted data from a single data source to a list of Trials.""" trials = [] symbols_by_inquiry = data_source.symbols_by_inquiry @@ -122,16 +118,12 @@ class RawDataEngine(DataEngine): a queryable data structure. """ - def __init__( - self, - source_dirs: List[str], - parameters: Parameters, - data_processor: Optional[Union[RawDataProcessor, - data_process.RawDataProcessor]] = None): + def __init__(self, source_dirs: List[str], parameters: Parameters, + data_processor: RawDataProcessor): self.source_dirs: List[str] = source_dirs self.parameters: Parameters = parameters - self.data_processor = data_processor or EegRawDataProcessor() + self.data_processor = data_processor self.data: List[Union[ExtractedExperimentData, data_process.ExtractedExperimentData]] = [] self._trials_df = pd.DataFrame() @@ -208,18 +200,3 @@ def query_condition(self, query_filter: QueryFilter) -> str: if (isinstance(value, str)): value = f"'{value}'" return f"{query_filter.field} {query_filter.operator} {value}" - - -class RawDataEngineWrapper(RawDataEngine): - """ - Data engine that assumes all data is stored within single data folder - - single data folder contains dataDir1, dataDir2, ... - - each data dir contains its raw_data and triggers - """ - - def __init__(self, - source_dir: str, - parameters: Parameters, - data_processor: Optional[RawDataProcessor] = None): - data_paths = [str(d) for d in Path(source_dir).iterdir() if d.is_dir()] - super().__init__(data_paths, parameters, data_processor) diff --git a/bcipy/simulator/helpers/decision.py b/bcipy/simulator/helpers/decision.py deleted file mode 100644 index cc27bc31e..000000000 --- a/bcipy/simulator/helpers/decision.py +++ /dev/null @@ -1,117 +0,0 @@ -from abc import ABC - -import numpy as np -import logging -from typing import List - -from bcipy.simulator.helpers.types import InquiryResult - -log = logging.getLogger(__name__) - - -# TODO copied over criteria.py. Still debating whether to tie our -# simulator to that class or not. For now, just hotfixing logic to fit -# with my implementation - -class SimDecisionCriteria(ABC): - """Abstract class for Criteria which can be applied to evaluate a inquiry - """ - - def reset(self): - pass - - def decide(self, series: List[InquiryResult]): - # TODO update documentation - """ - Apply the given criteria. - Parameters: - ----------- - series - series data - - target(str): target of the series - - time_spent(ndarray[float]): |num_trials|x1 - time spent on the inquiry - - list_sti(list[list[str]]): presented symbols in each - inquiry - - list_distribution(list[ndarray[float]]): list of |alp|x1 - arrays with prob. dist. over alp - - """ - raise NotImplementedError() - - def __str__(self): - return type(self).__name__ - - -class MinIterations(SimDecisionCriteria): - """ Returns true if the minimum number of iterations have not yet - been reached. """ - - def __init__(self, min_num_inq: int): - """ Args: - min_num_inq(int): minimum number of inquiry number before any - termination objective is allowed to be triggered """ - self.min_num_inq = min_num_inq - - def decide(self, series: List[InquiryResult]): - # Note: we use 'list_sti' parameter since this is the number of - # inquiries displayed. The length of 'list_distribution' is 1 greater - # than this, since the language model distribution is added before - # the first inquiry is displayed. - current_inq = len(series) if series else 0 - log.debug( - f"Checking min iterations; current iteration is {current_inq}") - return current_inq < self.min_num_inq - - -# -# class DecreasedProbabilityCriteria(DecisionCriteria): -# """Returns true if the letter with the max probability decreased from the -# last inquiry.""" -# -# def decide(self, series: Dict): -# if len(series['list_distribution']) < 2: -# return False -# prev_dist = series['list_distribution'][-2] -# cur_dist = series['list_distribution'][-1] -# return np.argmax(cur_dist) == np.argmax( -# prev_dist) and np.max(cur_dist) < np.max(prev_dist) -# -# -class MaxIterationsSim(SimDecisionCriteria): - """Returns true if the max iterations have been reached.""" - - def __init__(self, max_num_inq: int): - """ Args: - max_num_inq(int): maximum number of inquiries allowed before - mandatory termination """ - self.max_num_inq = max_num_inq - - def decide(self, series: List[InquiryResult]): - # Note: len(series['list_sti']) != len(series['list_distribution']) - # see MinIterationsCriteria comment - current_inq = len(series) if series else 0 - if current_inq >= self.max_num_inq: - log.debug( - "Committing to decision: max iterations have been reached.") - return True - return False - - -class ProbThresholdSim(SimDecisionCriteria): - """Returns true if the commit threshold has been met.""" - - def __init__(self, threshold: float): - """ Args: - threshold(float in [0,1]): A threshold on most likely - candidate posterior. If a candidate exceeds a posterior - the system terminates. - """ - assert 1 >= threshold >= 0, "stopping threshold should be in [0,1]" - self.tau = threshold - - def decide(self, series: List[InquiryResult]): - current_distribution = series[-1].fused_likelihood - if np.max(current_distribution) > self.tau: - log.debug("Committing to decision: posterior exceeded threshold.") - return True - return False diff --git a/bcipy/simulator/helpers/evidence_fuser.py b/bcipy/simulator/helpers/evidence_fuser.py deleted file mode 100644 index 8aa1e559d..000000000 --- a/bcipy/simulator/helpers/evidence_fuser.py +++ /dev/null @@ -1,53 +0,0 @@ -from abc import abstractmethod, ABC -from typing import Optional, Dict - -import numpy as np - -from bcipy.simulator.helpers.types import SimEvidence - - -class EvidenceFuser(ABC): - - @abstractmethod - def fuse(self, prior_likelihood: Optional[np.ndarray], - evidence: Dict[str, SimEvidence]) -> np.ndarray: - ... - - @staticmethod - def make_prior(len_dist): - return np.ones(len_dist) / len_dist - - -class MultiplyFuser(EvidenceFuser): - - def __init__(self): - pass - - def fuse(self, prior_likelihood, evidence) -> np.ndarray: - - distribution_shape = len(list(evidence.values())[0].evidence) - prior_likelihood = prior_likelihood if prior_likelihood is not None \ - else EvidenceFuser.make_prior(distribution_shape) - - ret_likelihood = prior_likelihood.copy() - - for sim_evidence in evidence.values(): - likelihoods = sim_evidence.evidence - assert ret_likelihood.shape == likelihoods.shape - ret_likelihood *= likelihoods[:] - ret_likelihood = self.__normalize_likelihood(ret_likelihood) - - return ret_likelihood - - def __normalize_likelihood(self, likelihood): - - cleaned_likelihood = likelihood.copy() - if np.isinf(np.sum(likelihood)): - tmp = np.zeros(len(likelihood)) - tmp[np.where(likelihood == np.inf)[0][0]] = 1 - cleaned_likelihood = tmp - - if not np.isnan(np.sum(likelihood)): - cleaned_likelihood = likelihood / np.sum(likelihood) - - return cleaned_likelihood diff --git a/bcipy/simulator/helpers/log_utils.py b/bcipy/simulator/helpers/log_utils.py index 42e6a0a22..50ee084cd 100644 --- a/bcipy/simulator/helpers/log_utils.py +++ b/bcipy/simulator/helpers/log_utils.py @@ -1,47 +1,8 @@ -from typing import Dict, List - -import pandas as pd +from typing import List from bcipy.simulator.helpers.data_engine import Trial -from bcipy.simulator.helpers.types import SimEvidence - - -def fmt_stim_likelihoods(likelihoods, alp): - rounded = [round(lik, 3) for lik in likelihoods] - formatted = [f"{a} : {l}" for a, l in zip(alp, rounded)] - return formatted - - -def fmt_likelihoods_for_hist(likelihoods, alp): - rounded = [round(lik, 3) for lik in likelihoods] - formatted = [(a, l) for a, l in zip(alp, rounded)] - return formatted def format_samples(sample_rows: List[Trial]) -> str: """Returns a tabular representation of the sample rows.""" return '\n'.join([str(row) for row in sample_rows]) - - -def format_sample_rows(sample_rows: List[pd.Series]) -> str: - """Returns a tabular representation of the sample rows.""" - return pd.DataFrame(sample_rows).drop(columns=['eeg']).to_string( - index=False, header=True) - - -def format_sample_df(sample_rows: pd.DataFrame) -> str: - """Returns a tabular representation of the sample rows.""" - return sample_rows.drop(columns=['eeg']).to_string(index=False, - header=True) - - -def fmt_reshaped_evidence(evidences: Dict[str, SimEvidence]): - """ Formats evidences to log shapes pf ndarrays """ - - evidence_shape_strs = [] - - for evidence_name, evidence in evidences.items(): - evidence_shape = evidence.evidence.shape if evidence is not None else None - evidence_shape_strs.append(f"{evidence.evidence_type} => {evidence_shape}") - - return ", ".join(evidence_shape_strs) diff --git a/bcipy/simulator/helpers/metrics.py b/bcipy/simulator/helpers/metrics.py deleted file mode 100644 index 766f767de..000000000 --- a/bcipy/simulator/helpers/metrics.py +++ /dev/null @@ -1,137 +0,0 @@ -import dataclasses -from abc import ABC, abstractmethod -from functools import reduce -from typing import Any, Dict, List - -import numpy as np - -from bcipy.helpers.acquisition import max_inquiry_duration -from bcipy.simulator.helpers.state_manager import SimState -from bcipy.simulator.helpers.types import InquiryResult - - -@dataclasses.dataclass -class SimMetrics: - total_series: int = 0 - total_inquiries: int = 0 - total_decisions: int = 0 - total_incorrect_decisions: int = -1 # negative one if uncalculated - - total_time_spent: float = 0.0 - inquiries_per_selection: float = 0.0 - - -def average_sim_metrics(run_scores: List[SimMetrics]) -> Dict: - """ Averages the values in multiple SimMetrics objects """ - - metric_acc_dict = dataclasses.asdict(SimMetrics()) - N = len(run_scores) - - if N < 1: - return metric_acc_dict - - for run_metrics in run_scores: - for field, val in dataclasses.asdict(run_metrics).items(): - metric_acc_dict[field] += val - - for key, val in metric_acc_dict.items(): - metric_acc_dict[key] = round(val / N, 3) - - return metric_acc_dict - - -class RefereeHandler(ABC): - @abstractmethod - def handle(self, sim) -> Dict[str, Any]: - ... - - -class SimMetricsHandler(RefereeHandler): - - def handle(self, sim) -> Dict[str, Any]: - state: SimState = getattr(sim, "state_manager").get_state() - - # calculating total decisions made and total incorrect decisions - flattened_inquiries: List[InquiryResult] = reduce(lambda l1, l2: l1 + l2, - state.series_results, []) - inqs_with_decisions = list(filter(lambda inq: bool(inq.decision), flattened_inquiries)) - total_decisions = len(inqs_with_decisions) - total_incorrect_decisions = len([inq for inq in inqs_with_decisions if - inq.decision != inq.target]) - - # average number of inqs before a decision - inq_counts = [] - for series in state.series_results: - if [inq for inq in series if inq.decision]: - inq_counts.append(len(series)) - inquiries_per_selection = round(np.array(inq_counts).mean(), 3) - - # inq and series counts - total_inquiries = state.total_inquiry_count() - total_series = state.series_n - - # total time spent estimate seconds = (max_inq_time_estimate * total_inquiries) - parameters = sim.get_parameters() - max_inq_time = max_inquiry_duration(parameters) - total_time_spent = total_inquiries * max_inq_time - - ret = SimMetrics(total_series=total_series, - total_inquiries=total_inquiries, - total_decisions=total_decisions, - total_time_spent=total_time_spent, - inquiries_per_selection=inquiries_per_selection, - total_incorrect_decisions=total_incorrect_decisions) - return dataclasses.asdict(ret) - - -class MetricReferee(ABC): - - # May change to SimState that is passed around not whole Simulator - # Depends on how much data encapsulated by SimState - @abstractmethod - def score(self, sim): - """ Generate registered metrics for simulation """ - - @abstractmethod - def visualize(self, sim): - """ Generate registered visualizations for sim """ - - @abstractmethod - def add_metric_handler(self, name: str, handler: RefereeHandler): - """ Add a metric calculation that will be executed upon self.score() """ - - @abstractmethod - def add_viz_handler(self, name: str, handler: RefereeHandler): - """ Register a visualization that will be executed upon self.visualize() """ - - -class RefereeImpl(MetricReferee): - - def __init__(self, metric_handlers=None, viz_handlers=None): - self.metric_handlers: Dict[str, RefereeHandler] = metric_handlers if metric_handlers else {} - self.viz_handlers: Dict[str, RefereeHandler] = viz_handlers if viz_handlers else {} - - self.inquiry_time: float = 1 # 1 inq -> 1 second - # TODO maybe some configurable parameters for visualizations - - def score(self, sim) -> SimMetrics: - metrics = SimMetrics() - metrics_dict = dataclasses.asdict(metrics) - for handler_name, handler in self.metric_handlers.items(): - handler_metrics = handler.handle(sim) - - for key, val in handler_metrics.items(): - if key in metrics_dict: - metrics_dict[key] = val - - return SimMetrics(**metrics_dict) - - def visualize(self, sim): - for handler_name, viz_handler in self.viz_handlers.items(): - viz_handler.handle(sim) - - def add_metric_handler(self, name: str, handler: RefereeHandler): - self.metric_handlers[name] = handler - - def add_viz_handler(self, name: str, handler: RefereeHandler): - self.viz_handlers[name] = handler diff --git a/bcipy/simulator/helpers/model_handler.py b/bcipy/simulator/helpers/model_handler.py deleted file mode 100644 index 88bf28f3f..000000000 --- a/bcipy/simulator/helpers/model_handler.py +++ /dev/null @@ -1,135 +0,0 @@ -import inspect -import logging -import pickle -from abc import ABC, abstractmethod -from pathlib import Path - -import numpy as np - -from bcipy.helpers.language_model import (histogram, language_models_by_name, - with_min_prob) -from bcipy.helpers.symbols import BACKSPACE_CHAR, alphabet -from bcipy.language import LanguageModel, ResponseType -from bcipy.simulator.helpers.state_manager import SimState -from bcipy.simulator.helpers.types import SimEvidence -from bcipy.task.data import EvidenceType - -log = logging.getLogger(__name__) - - -class ModelHandler(ABC): - - @abstractmethod - def generate_evidence(self, state: SimState, features): - """ Run model on features to generate evidence """ - - @abstractmethod - def get_model(self, key=None): - """ get the model """ - - def includes_language_model(self) -> bool: - return False - - -class SignalModelHandler1(ModelHandler): - - def __init__(self, model_file): - self.model_file = model_file - with open(self.model_file, "rb") as signal_file: - self.signal_model = pickle.load(signal_file) - - def generate_evidence(self, state: SimState, features): - stimuli = state.display_alphabet - alp = alphabet() - eeg_evidence = self.signal_model.predict(features, stimuli, alp) - - return dict(sm=SimEvidence(EvidenceType.ERP, eeg_evidence, stimuli)) - - def get_model(self, key=None): - return self.signal_model - - -def sim_init_lm(parameters) -> LanguageModel: - """ - Init Language Model configured in the sim parameters. - Mostly copied from language_model.init_lang_model - - Parameters - ---------- - parameters : dict - configuration details and path locations - - Returns - ------- - instance of a LanguageModel - """ - - lm_classes = language_models_by_name() - model_class: LanguageModel.__class__ = lm_classes[parameters.get("sim_lm_type", "UNIFORM")] - # introspect the model arguments to determine what parameters to pass. - args = inspect.signature(model_class).parameters.keys() - - # select the relevant parameters into a dict. - params = {key: parameters[key] for key in args & parameters.keys()} - return model_class(response_type=ResponseType.SYMBOL, - symbol_set=alphabet(parameters), - **params) - - -class SigLmModelHandler1(ModelHandler): - - def __init__(self, sm_model_file, parameters): - """ - - Args: - sm_model_file: path to signal model pickle - parameters: only needs to contain which type of language model - """ - self.sm_model_file = sm_model_file - self.lm_model: LanguageModel = sim_init_lm(parameters) - log.info(f"Language Model Type: {self.lm_model.name()}") - self.alp = alphabet() - self.backspace_prob: float = parameters.get('lm_backspace_prob', 0.05) - - with open(self.sm_model_file, "rb") as signal_file: - self.signal_model = pickle.load(signal_file) - - def generate_evidence(self, state: SimState, eeg_responses): - stimuli = state.display_alphabet - eeg_evidence = self.signal_model.predict(eeg_responses, stimuli, self.alp) - lm_evidence = self.lm_model.predict( - list(state.current_sentence)) if state.inquiry_n == 0 else None - - ret_evidence = {} - if lm_evidence is not None: - - # adjusting evidence to include backspace prob - if BACKSPACE_CHAR in stimuli: - lm_evidence = with_min_prob(lm_evidence, (BACKSPACE_CHAR, self.backspace_prob)) - - ret_evidence['lm'] = SimEvidence(EvidenceType.LM, np.array(lm_evidence), self.alp) - log.debug(f"LM evidence for '{state.current_sentence}' -> \n {histogram(lm_evidence)}") - - if eeg_evidence is not None: - ret_evidence['sm'] = SimEvidence(EvidenceType.ERP, eeg_evidence, stimuli) - - return ret_evidence - - def get_model(self, key=None): - if key == 'sm': - return self.signal_model - elif key == 'lm': - return self.lm_model - else: - raise RuntimeError(f"Can't find model {key}") - - def includes_language_model(self) -> bool: - return True - - def __str__(self): - props = { - 'signal_model': self.signal_model.__class__.__name__, - 'language_model': self.lm_model.__class__.__name__, - 'sm_file': f".../{Path(self.sm_model_file).parent.name}/{Path(self.sm_model_file).name}" - } - return f"<{self.__class__.__name__} {props}>" diff --git a/bcipy/simulator/helpers/rsvp_utils.py b/bcipy/simulator/helpers/rsvp_utils.py deleted file mode 100644 index 78d3aebe3..000000000 --- a/bcipy/simulator/helpers/rsvp_utils.py +++ /dev/null @@ -1,24 +0,0 @@ -from typing import List, Tuple - -from bcipy.helpers.symbols import BACKSPACE_CHAR - - -def next_target_letter(current_sentence, target_sentence): - """Computes the next target letter based on the currently spelled_text. - """ - if target_sentence[0:len(current_sentence)] == current_sentence: - # if correctly spelled so far, get the next letter. - return target_sentence[len(current_sentence)] if len( - current_sentence) < len(target_sentence) else target_sentence[-1] - return BACKSPACE_CHAR - - -def format_lm_output(lm_evidence_tuples: List[Tuple], symbol_set): - """ Formats language model output into list of likelihoods in alphabet order """ - pos_map = {letter: i for i, letter in enumerate(symbol_set)} - reshaped_lm_lik = list(symbol_set) - # sorting the likelhoods by order of symbol set - for letter, lik in lm_evidence_tuples: - reshaped_lm_lik[pos_map[letter]] = float(lik) - - return reshaped_lm_lik diff --git a/bcipy/simulator/helpers/sampler.py b/bcipy/simulator/helpers/sampler.py index 3ec40d606..d889f4bc3 100644 --- a/bcipy/simulator/helpers/sampler.py +++ b/bcipy/simulator/helpers/sampler.py @@ -11,7 +11,7 @@ from bcipy.simulator.helpers.data_engine import (QueryFilter, RawDataEngine, Trial) from bcipy.simulator.helpers.log_utils import format_samples -from bcipy.simulator.helpers.state_manager import SimState +from bcipy.simulator.helpers.state import SimState log = logging.getLogger(__name__) diff --git a/bcipy/simulator/helpers/signal_helpers.py b/bcipy/simulator/helpers/signal_helpers.py deleted file mode 100644 index 2080b9f5a..000000000 --- a/bcipy/simulator/helpers/signal_helpers.py +++ /dev/null @@ -1,193 +0,0 @@ -import logging as logger -from dataclasses import dataclass -from pathlib import Path -from typing import List - -import numpy as np - -from bcipy.acquisition import devices -from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, RAW_DATA_FILENAME, - TRIGGER_FILENAME) -from bcipy.helpers.acquisition import analysis_channels -from bcipy.helpers.exceptions import TaskConfigurationException -from bcipy.helpers.list import grouper -from bcipy.helpers.load import load_raw_data -from bcipy.helpers.parameters import Parameters -from bcipy.helpers.stimuli import InquiryReshaper, update_inquiry_timing -from bcipy.helpers.triggers import TriggerType, trigger_decoder -from bcipy.signal.process import (ERPTransformParams, filter_inquiries, - get_default_transform) - -log = logger.getLogger(__name__) - - -@dataclass() -class ExtractedExperimentData: - source_dir: str - inquiries: np.ndarray - trials: np.ndarray - labels: List - inquiry_timing: List - - decoded_triggers: tuple - trials_per_inquiry: int - - @property - def trials_by_inquiry(self) -> List[np.ndarray]: - """EEG data by inquiry. - shape (i_inquiry, n_channel, m_trial, x_sample) - """ - return np.split(self.trials, self.inquiries.shape[1], 1) - - @property - def symbols_by_inquiry(self) -> List[List[str]]: - """Get symbols by inquiry. shape (i_inquiry, s_alphabet_subset)""" - _targets, _times, trigger_symbols = self.decoded_triggers - return [ - list(group) for group in grouper( - trigger_symbols, self.trials_per_inquiry, incomplete="ignore") - ] - - @property - def labels_by_inquiry(self) -> List[List[int]]: - """Shape (i_inquiry, s_alphabet_subset)""" - return self.labels - - -class RawDataProcessor(): - """Processes raw data for a given device and converts it to - ExtractedExperimentData for use in the simulator.""" - - def process(self, data_folder: str, - parameters: Parameters) -> ExtractedExperimentData: - """Load and process the data""" - raise NotImplementedError - - -class EegRawDataProcessor(RawDataProcessor): - """RawDataProcessor that processes EEG data.""" - - def __init__(self): - - self.reshaper = InquiryReshaper() - - def process(self, data_folder: str, - parameters: Parameters) -> ExtractedExperimentData: - # TODO: refactor - - log.debug(f"Processing raw data for {data_folder}") - # extract relevant session information from parameters file - trial_window = parameters.get("trial_window") - if trial_window is None: - # using trial_length instead and converting to trial window - trial_length = parameters.get('trial_length') - if not trial_length: - raise TaskConfigurationException( - "Could not find trial_window or trial_length in parameters" - ) - - trial_window = tuple( - [0, trial_length]) # trial_length=0.5 -> trial_window=(0,0.5) - - window_length = trial_window[1] - trial_window[0] - prestim_length = parameters.get("prestim_length") - trials_per_inquiry = parameters.get("stim_length") - # The task buffer length defines the min time between two inquiries - # We use half of that time here to buffer during transforms - buffer = int(parameters.get("task_buffer_length") / 2) - raw_data_file = f"{RAW_DATA_FILENAME}.csv" - - # get signal filtering information - transform_params = parameters.instantiate(ERPTransformParams) - downsample_rate = transform_params.down_sampling_rate - static_offset = parameters.get("static_trigger_offset") - - log.debug( - f"\nData processing settings: \n" - f"{str(transform_params)} \n" - f"Trial Window: {trial_window[0]}-{trial_window[1]}s, " - f"Prestimulus Buffer: {prestim_length}s, Poststimulus Buffer: {buffer}s \n" - f"Static offset: {static_offset}") - - # Load raw data - raw_data = load_raw_data(str(Path(data_folder, raw_data_file))) - channels = raw_data.channels - type_amp = raw_data.daq_type - sample_rate = raw_data.sample_rate - - devices.load(Path(data_folder, DEFAULT_DEVICE_SPEC_FILENAME)) - device_spec = devices.preconfigured_device(raw_data.daq_type) - - # setup filtering - default_transform = get_default_transform( - sample_rate_hz=sample_rate, - notch_freq_hz=transform_params.notch_filter_frequency, - bandpass_low=transform_params.filter_low, - bandpass_high=transform_params.filter_high, - bandpass_order=transform_params.filter_order, - downsample_factor=transform_params.down_sampling_rate, - ) - - log.debug(f"Channels read from csv: {channels}") - log.debug(f"Device type: {type_amp}, fs={sample_rate}") - - # Process triggers.txt files - trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( - offset=static_offset, - trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", - exclusion=[ - TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION - ], - ) - - # update the trigger timing list to account for the initial trial window - corrected_trigger_timing = [ - timing + trial_window[0] for timing in trigger_timing - ] - - # Channel map can be checked from raw_data.csv file or the devices.json located in the acquisition module - # The timestamp column [0] is already excluded. - channel_map = analysis_channels(channels, device_spec) - channels_used = [ - channels[i] for i, keep in enumerate(channel_map) if keep == 1 - ] - log.debug(f'Channels used in analysis: {channels_used}') - - data, fs = raw_data.by_channel() - inquiries, inquiry_labels, inquiry_timing = self.reshaper( - trial_targetness_label=trigger_targetness, - timing_info=corrected_trigger_timing, - eeg_data=data, - sample_rate=sample_rate, - trials_per_inquiry=trials_per_inquiry, - channel_map=channel_map, - poststimulus_length=window_length, - prestimulus_length=prestim_length, - transformation_buffer=buffer, - ) - - inquiries, fs = filter_inquiries(inquiries, default_transform, - sample_rate) - # Convince mypy that the values received from the reshaper are actually ints. - inquiry_timing_ints: List[List[int]] = [ - list(map(int, inq)) for inq in inquiry_timing - ] - updated_inquiry_timing = update_inquiry_timing(inquiry_timing_ints, - downsample_rate) - trial_duration_samples = int(window_length * fs) - trials = self.reshaper.extract_trials(inquiries, - trial_duration_samples, - updated_inquiry_timing) - - # define the training classes using integers, where 0=nontargets/1=targets - # labels = inquiry_labels.flatten() - - return ExtractedExperimentData(data_folder, - inquiries, - trials, - [list(arr) for arr in inquiry_labels], - inquiry_timing, - decoded_triggers=(trigger_targetness, - trigger_timing, - trigger_symbols), - trials_per_inquiry=trials_per_inquiry) diff --git a/bcipy/simulator/helpers/sim_runner.py b/bcipy/simulator/helpers/sim_runner.py deleted file mode 100644 index 8e5d7ca3c..000000000 --- a/bcipy/simulator/helpers/sim_runner.py +++ /dev/null @@ -1,118 +0,0 @@ -""" Wrappers that run a simulation """ -import dataclasses -import json -import logging -import os -import time -from pathlib import Path -from typing import Dict, List, NamedTuple - -from bcipy.simulator.helpers import artifact -from bcipy.simulator.helpers.metrics import SimMetrics, average_sim_metrics -from bcipy.simulator.simulator_base import Simulator - -log = logging.getLogger(artifact.TOP_LEVEL_LOGGER_NAME) - - -class RunSummary(NamedTuple): - """Summary for a simulation run.""" - run: int - target_text: str - typed_text: str - metrics: SimMetrics - - def to_dict(self) -> Dict: - """Convert to a dictionary""" - d = self._asdict() # pylint: disable=no-member - d['metrics'] = dataclasses.asdict(self.metrics) - return d - - -class SimRunner(): - """Runs one or more iterations of the simulation.""" - - def __init__(self, - save_dir: str, - simulator: Simulator, - runs: int = 1, - sim_log: str = artifact.DEFAULT_LOGFILE_NAME, - iteration_sleep: int = 0): - self.simulator = simulator - self.runs = runs - self.iteration_sleep = iteration_sleep - self.save_dir = save_dir - self.sim_log = sim_log - - def setup_complete(self) -> bool: - """Check if setup has already been run.""" - return Path(self.save_dir).is_dir() and self.simulator is not None - - def run(self): - """Run one or more simulations""" - assert self.setup_complete(), "Setup is not complete." - self.simulator.parameters.save(self.save_dir) - log.info("Starting simulation...\n") - - run_summaries = [] - # running simulator n times. resetting after each run - for i in range(self.runs): - summary = self.do_run(i) - log.info(summary.to_dict()) - run_summaries.append(summary) - time.sleep(self.iteration_sleep) - - self.summarize_metrics(run_summaries) - log.info(f"\nResults logged to {self.save_dir}/{self.sim_log}") - - def do_run(self, run: int) -> RunSummary: - """Do a simulator run and return the computed summary.""" - - path = self.configure_run_directory(run) - self.simulator.save_dir = path - self.simulator.run() - - state = self.simulator.state_manager.get_state() - run_metrics = self.simulator.referee.score(self.simulator) - - summary = RunSummary(run + 1, - target_text=state.target_sentence, - typed_text=state.current_sentence, - metrics=run_metrics) - self.simulator.reset() - return summary - - def configure_run_directory(self, run: int) -> str: - """Create the necessary directories and configure the logger. - Returns the run directory. - """ - run_name = f"run_{run + 1}" - path = f"{self.save_dir}/{run_name}" - os.mkdir(path) - artifact.configure_logger(log_path=path, - file_name=f"{run_name}.log", - use_stdout=False) - return path - - def summarize_metrics(self, run_summaries: List[RunSummary]) -> None: - """Summarize metrics from all runs.""" - all_run_metrics = [run.metrics for run in run_summaries] - self.__save_average_metrics(average_sim_metrics(all_run_metrics)) - - summary_dict = { - summary.run: summary.to_dict() - for summary in run_summaries - } - self.save_run_summaries(summary_dict) - - def __save_average_metrics(self, avg_metric_dict: Dict): - """ Write average dictionary of metrics to a json file in root of save dir.""" - - with open(f"{self.save_dir}/avg_metrics.json", 'w', - encoding='utf8') as output_file: - json.dump(avg_metric_dict, output_file, indent=2) - - def save_run_summaries(self, summary_dict: Dict): - """Write the summary for each run in the save directory.""" - with open(f"{self.save_dir}/run_summaries.json", 'w', - encoding='utf8') as output: - json.dump(summary_dict, output, indent=2) diff --git a/bcipy/simulator/helpers/sim_viz.py b/bcipy/simulator/helpers/sim_viz.py deleted file mode 100644 index de3dab254..000000000 --- a/bcipy/simulator/helpers/sim_viz.py +++ /dev/null @@ -1,73 +0,0 @@ -import logging as logger -from typing import List - -import matplotlib.pyplot as plt -import numpy as np -import pandas as pd -import seaborn as sns - -from bcipy.helpers.parameters import Parameters - -logger.getLogger().setLevel(logger.INFO) - - -def plot_comparison_records(records, outdir, title="response_values", y_scale="log"): - df = pd.DataFrame.from_records(records) - ax = sns.stripplot( - x="which_model", - y="response_value", - data=df, - order=["old_target", "new_target", "old_non_target", "new_non_target"], - ) - sns.boxplot( - showmeans=True, - meanline=True, - meanprops={"color": "k", "ls": "-", "lw": 2}, - medianprops={"visible": False}, - whiskerprops={"visible": False}, - zorder=10, - x="which_model", - y="response_value", - data=df, - showfliers=False, - showbox=False, - showcaps=False, - ax=ax, - order=["old_target", "new_target", "old_non_target", "new_non_target"], - ) - - ax.set(yscale=y_scale) - plt.savefig(outdir / f"{title}.stripplot.png", dpi=150, bbox_inches="tight") - plt.close() - ax = sns.boxplot( - x="which_model", - y="response_value", - data=df, - order=["old_target", "new_target", "old_non_target", "new_non_target"], - ) - ax.set(yscale=y_scale) - plt.savefig(outdir / f"{title}.boxplot.png", dpi=150, bbox_inches="tight") - - -def plot_replay_comparison(new_target_eeg_evidence: np.ndarray, - new_non_target_eeg_evidence: np.ndarray, - old_target_eeg_evidence: np.ndarray, - old_non_target_eeg_evidence: np.ndarray, - outdir: str, - parameters: Parameters, - ) -> None: - - def convert_to_records(arr, - key_value, - key_name="which_model", - value_name="response_value") -> List[dict]: - return [{key_name: key_value, value_name: val} for val in arr] - - records = [] - - records.extend(convert_to_records(new_target_eeg_evidence, "new_target")) - records.extend(convert_to_records(new_non_target_eeg_evidence, "new_non_target")) - records.extend(convert_to_records(old_target_eeg_evidence, "old_target")) - records.extend(convert_to_records(old_non_target_eeg_evidence, "old_non_target")) - - plot_comparison_records(records, outdir, y_scale="log") diff --git a/bcipy/simulator/helpers/state.py b/bcipy/simulator/helpers/state.py new file mode 100644 index 000000000..0a07e2853 --- /dev/null +++ b/bcipy/simulator/helpers/state.py @@ -0,0 +1,13 @@ +from dataclasses import dataclass +from typing import List + + +@dataclass +class SimState: + """ Represents the state of a current session during simulation """ + target_symbol: str + current_sentence: str + target_sentence: str + display_alphabet: List[str] + inquiry_n: int + series_n: int diff --git a/bcipy/simulator/helpers/state_manager.py b/bcipy/simulator/helpers/state_manager.py deleted file mode 100644 index 20862fc04..000000000 --- a/bcipy/simulator/helpers/state_manager.py +++ /dev/null @@ -1,214 +0,0 @@ -import copy -import dataclasses -import logging -import random -from abc import ABC -from dataclasses import dataclass -from typing import Callable, Dict, List, Optional - -import numpy as np - -from bcipy.helpers.exceptions import FieldException -from bcipy.helpers.language_model import histogram -from bcipy.helpers.parameters import Parameters -from bcipy.helpers.symbols import BACKSPACE_CHAR, alphabet -from bcipy.simulator.helpers.decision import (MaxIterationsSim, - ProbThresholdSim, - SimDecisionCriteria) -from bcipy.simulator.helpers.evidence_fuser import EvidenceFuser, MultiplyFuser -from bcipy.simulator.helpers.log_utils import fmt_likelihoods_for_hist -from bcipy.simulator.helpers.rsvp_utils import next_target_letter -from bcipy.simulator.helpers.types import InquiryResult, SimEvidence - -log = logging.getLogger(__name__) - - -@dataclass -class SimState: - """ Represents the state of a current session during simulation """ - target_symbol: str - current_sentence: str - target_sentence: str - display_alphabet: List[str] - inquiry_n: int - series_n: int - series_results: List[List[InquiryResult]] - decision_criterion: List[SimDecisionCriteria] - - def total_inquiry_count(self): - count = 0 - for series in self.series_results: - count += len(series) - - return count - - def get_current_likelihood(self) -> Optional[np.ndarray]: - cur_likelihood = None - if self.inquiry_n: - cur_likelihood = self.series_results[-1][-1].fused_likelihood - - return cur_likelihood - - def to_json(self): - d = dataclasses.asdict(self) - d['series_results'] = [list(map(lambda ir: ir.to_json(), lis)) for lis in - self.series_results] - - d['decision_criterion'] = [str(dec) for dec in self.decision_criterion] - - return d - - -class StateManager(ABC): - - def update(self, evidence: Dict[str, SimEvidence]): - raise NotImplementedError() - - def is_done(self) -> bool: - raise NotImplementedError() - - def get_state(self) -> SimState: - raise NotImplementedError() - - def mutate_state(self, state_field, state_value): - pass - - def reset_state(self): - ... - - -class StateManagerImpl(StateManager): - - def __init__(self, parameters: Parameters, fuser_class=MultiplyFuser): - self.state: SimState = self.initial_state(parameters) - self.parameters = parameters - self.fuser_class: Callable[[], EvidenceFuser] = fuser_class - - self.max_inq_len = self.parameters.get('max_inq_len', 100) - - def is_done(self) -> bool: - # Determines if simulator should end (max inq or max series reached, typed target sentence) - return self.state.total_inquiry_count( - ) > self.max_inq_len or self.state.target_sentence == self.state.current_sentence or self.state.series_n > 50 - - def update(self, evidence) -> InquiryResult: - """ Updating the current state based on provided evidence - - fuses prior evidence with current evidence and makes potential decision - - stores inquiry, including typing decision or lack of decision - - resets series on decision and updates target letter - """ - - fuser = self.fuser_class() - current_series: List[InquiryResult] = self.state.series_results[self.state.series_n] - prior_likelihood: Optional[np.ndarray] = current_series.pop( - ).fused_likelihood if current_series else None # most recent likelihood - - fused_likelihood = fuser.fuse(prior_likelihood, evidence) - - # finding out whether max iterations is hit or prob threshold is hit - temp_inquiry_result = InquiryResult(target=self.state.target_symbol, time_spent=0, - stimuli=self.state.display_alphabet, - evidences=evidence, - fused_likelihood=fused_likelihood, - decision=None) - - # can we make decision - temp_series = copy.deepcopy(self.get_state().series_results) - temp_series[-1].append(temp_inquiry_result) - is_decidable = any( - [decider.decide(temp_series[-1]) for decider in self.state.decision_criterion]) - decision = None - - new_state = self.get_state().__dict__ - new_inquiry_result = InquiryResult(target=self.state.target_symbol, time_spent=0, - stimuli=self.state.display_alphabet, - evidences=evidence, decision=decision, - fused_likelihood=fused_likelihood) - - debug_info = [ - 'Fused Likelihoods', - f'current typed - {self.state.current_sentence}', - f'stimuli {self.state.display_alphabet}' - ] - log.debug( - f"{' | '.join(debug_info)} \n " - f"{histogram(fmt_likelihoods_for_hist(new_inquiry_result.fused_likelihood, alphabet()))}" - ) - - new_state['series_results'][self.state.series_n].append(new_inquiry_result) - if is_decidable: - # Deciding max likelihood char - decision = alphabet()[np.argmax(fused_likelihood)] # TODO abstract decision criterion - - # resetting series - new_state['series_n'] += 1 - new_state['series_results'].append([]) - new_state['inquiry_n'] = 0 - - # updating current sentence and finding next target - new_state['current_sentence'] = new_state['current_sentence'] + decision \ - if decision != BACKSPACE_CHAR else new_state['current_sentence'][:-1] - new_state['target_symbol'] = next_target_letter(new_state['current_sentence'], - self.state.target_sentence) - - else: - new_state['inquiry_n'] += 1 - - new_inquiry_result = InquiryResult(target=self.state.target_symbol, time_spent=0, - stimuli=self.state.display_alphabet, - evidences=evidence, decision=decision, - fused_likelihood=fused_likelihood) - - new_state['series_results'][self.state.series_n].append(new_inquiry_result) - - self.state = SimState(**new_state) - - return new_inquiry_result - - def get_state(self) -> SimState: - return copy.copy(self.state) - - def mutate_state(self, state_field, state_value) -> SimState: - state_dict = self.get_state().__dict__ - if state_field in state_dict: - state_dict[state_field] = state_value - self.state = SimState(**state_dict) - return self.get_state() - - raise FieldException(f"Cannot find state field {state_field}") - - def reset_state(self): - self.state = self.initial_state(self.parameters) - return self - - @staticmethod - def initial_state(parameters: Parameters = None) -> SimState: - sentence = parameters.get('task_text', "HELLO_WORLD") - target_symbol = sentence[parameters.get('spelled_letters_count', 0)] - default_criterion: List[SimDecisionCriteria] = [MaxIterationsSim(50), ProbThresholdSim(0.8)] - init_stimuli = random.sample(alphabet(), 10) - - return SimState(target_symbol=target_symbol, current_sentence="", target_sentence=sentence, - display_alphabet=init_stimuli, inquiry_n=0, series_n=0, - series_results=[[]], decision_criterion=default_criterion) - - -def format_sim_state_dump(state: SimState): - """ Formats a SimState dump to look similar to session.json """ - - # TODO finish function - - ret = state.to_json() - - # removing the 'series_results' field and replacing with formatted 'series' dict - ret.pop('series_results') - series_dict = {} - for i, series in enumerate(state.series_results): - curr_series_dict: Dict = {} - series_dict[str(i + 1)] = curr_series_dict - for inq_idx, inq in enumerate(series): - inq_dict = inq.to_json() - curr_series_dict[str(inq_idx)] = inq_dict - ret['series'] = series_dict - - return ret diff --git a/bcipy/simulator/helpers/types.py b/bcipy/simulator/helpers/types.py deleted file mode 100644 index 3103f951d..000000000 --- a/bcipy/simulator/helpers/types.py +++ /dev/null @@ -1,40 +0,0 @@ -import dataclasses -from dataclasses import dataclass -from typing import Optional, List, Dict - -import numpy as np - -from bcipy.task.data import EvidenceType - - -@dataclass -class SimEvidence: - evidence_type: EvidenceType - evidence: np.ndarray - symbol_set: List[str] - - def to_json(self) -> Dict: - d = dataclasses.asdict(self) - evidence_list = self.evidence.tolist() - d['evidence'] = evidence_list - d['evidence_type'] = self.evidence_type.name - - return d - - -@dataclass -class InquiryResult: - target: Optional[str] - time_spent: int - stimuli: List - evidences: Dict[str, SimEvidence] - fused_likelihood: np.ndarray - decision: Optional[str] - - def to_json(self): - d = dataclasses.asdict(self) - - d['fused_likelihood'] = self.fused_likelihood.tolist() - d['evidences'] = {k: v.to_json() for k, v in self.evidences.items()} - - return d diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py deleted file mode 100644 index 8656301b4..000000000 --- a/bcipy/simulator/sim.py +++ /dev/null @@ -1,229 +0,0 @@ -import dataclasses -import json -import logging -import random -from time import sleep -from typing import Dict, Optional - -import numpy as np - -from bcipy.helpers import stimuli, symbols -from bcipy.helpers.parameters import Parameters -from bcipy.helpers.session import session_excel -from bcipy.helpers.symbols import alphabet -from bcipy.simulator.helpers.data_engine import DataEngine -from bcipy.simulator.helpers.log_utils import (fmt_reshaped_evidence, - fmt_stim_likelihoods) -from bcipy.simulator.helpers.metrics import MetricReferee -from bcipy.simulator.helpers.model_handler import ModelHandler -from bcipy.simulator.helpers.rsvp_utils import format_lm_output -from bcipy.simulator.helpers.sampler import Sampler -from bcipy.simulator.helpers.state_manager import (SimState, StateManager, - format_sim_state_dump) -from bcipy.simulator.helpers.types import InquiryResult, SimEvidence -from bcipy.simulator.simulator_base import Simulator -from bcipy.task.data import EvidenceType, Inquiry, Session - -log = logging.getLogger(__name__) - - -class SimulatorCopyPhrase(Simulator): - """ - - Copy Phrase simulator. - - Run loop: - - The loop runs until StateManager determines simulation is over - - The generated stimuli are passed into sampler, which returns some eeg response - - The Model handler will generate predictions and feed back into StateManager - - StateManager will resolve the state while the MetricReferee observes and records any metrics - - Main components: - - DataEngine: loading and storing data - - Sampler: logic for sampling from data, composed of DataEngine - - StateManager: manages run loop details and fuses model evidence with current state - - MetricReferee: tracks and scores the simulation on different metrics for later evaluation - - ModelHandler: wrapper for models that deals with loading in models and generating evidence - - Requirements: - - run closed loop simulation of {TaskType} with {data} with {simulation_params} - """ - - def __init__(self, data_engine: DataEngine, model_handler: ModelHandler, sampler: Sampler, - state_manager: StateManager, referee: MetricReferee, parameters: Parameters, - save_dir: Optional[str] = None): - super().__init__() - - self.save_dir = save_dir - self.model_handler = model_handler - self.sampler = sampler - self.referee = referee - self.state_manager = state_manager - self.data_engine = data_engine - - self.parameters = parameters - - self.symbol_set = alphabet() - self.write_output = False - - def run(self): - assert self.save_dir, "Save directory not set" - log.info(f"SIM START with target word {self.state_manager.get_state().target_sentence}") - - session = Session( - save_location=self.save_dir, - task='Copy Phrase Simulation', - mode='RSVP', - symbol_set=self.symbol_set, - decision_threshold=self.parameters['decision_threshold']) - - while not self.state_manager.is_done(): - self.state_manager.mutate_state('display_alphabet', - self.__make_stimuli(self.state_manager.get_state())) - curr_state = self.state_manager.get_state() - - log.info( - f"Series {curr_state.series_n} | Inquiry {curr_state.inquiry_n} | " + - f"Target '{curr_state.target_symbol}' | " + - f"Stimuli {curr_state.display_alphabet}") - - sampled_data = self.sampler.sample_data(self.state_manager.get_state()) - evidence: Dict[str, SimEvidence] = self.model_handler.generate_evidence(curr_state, - sampled_data) - - log.debug( - f"EEG Evidence for stimuli {curr_state.display_alphabet} " + - f"\n {fmt_stim_likelihoods(evidence['sm'].evidence, self.symbol_set)}") - - reshaped_evidence: Dict[str, SimEvidence] = self.__reshape_evidences(evidence) - log.debug(f"Evidence Shapes {fmt_reshaped_evidence(reshaped_evidence)}") - - inq_record: InquiryResult = self.state_manager.update(reshaped_evidence) - updated_state = self.state_manager.get_state() - - data = self.new_data_record(curr_state, inq_record) - session.add_sequence(data) - - if inq_record.decision: - log.info(f"Decided {inq_record.decision} for target {inq_record.target}") - session.add_series() - - log.info(f"Current typed: {updated_state.current_sentence}") - sleep(self.parameters.get("sim_sleep_time", 0.5)) - - final_state = self.state_manager.get_state() - log.info("SIM END") - log.info(f"FINAL TYPED: {final_state.current_sentence}") - log.info(self.referee.score(self).__dict__) - - self.save_run(session) - - def has_language_model(self) -> bool: - """Indicates whether this task has been configured with a language model""" - return self.model_handler.includes_language_model() - - def __make_stimuli(self, state: SimState): - """ - Creates next set of stimuli: - - uses current likelihoods while during a series - - uses language model for beginning of series - - random letters in case of no LM and beginning of series - """ - subset_length = self.parameters['stim_length'] - priors: Optional[np.ndarray] = state.get_current_likelihood() - always_in_stimuli = [] - if self.parameters.get('backspace_always_shown', False): - always_in_stimuli.append(symbols.BACKSPACE_CHAR) - - # during series - if priors is not None: - return stimuli.best_selection(self.symbol_set, list( - priors), subset_length, always_included=always_in_stimuli) - # beginning of series - elif self.has_language_model(): - # use lang model for priors to make stim - lm_model = self.model_handler.get_model('lm') - lm_model_evidence = lm_model.predict(list(state.current_sentence)) - priors = format_lm_output(lm_model_evidence, self.symbol_set) - return stimuli.best_selection(self.symbol_set, list( - priors), subset_length, always_included=always_in_stimuli) - - return random.sample(self.symbol_set, subset_length) - - def __reshape_evidences(self, evidences: Dict[str, SimEvidence]) -> Dict[str, SimEvidence]: - - # reshaping lm_evidence to look like signal model evidence - reshaped_evidence = evidences.copy() - if "lm" in evidences: - unshaped_lm_evidence = evidences["lm"].evidence # [('B', 0.5), ('C', 0.2), ('_', 0.02)] - reshaped_lm_lik = format_lm_output(list(unshaped_lm_evidence), self.symbol_set) - reshaped_evidence['lm'] = SimEvidence(EvidenceType.LM, np.array(reshaped_lm_lik), - evidences["lm"].symbol_set) - - return reshaped_evidence - - def new_data_record(self, inquiry_state: SimState, inquiry_result: InquiryResult) -> Inquiry: - """Construct a new inquiry data record. - - Parameters - ---------- - - inquiry_state : state prior to presenting the inquiry - - inquiry_result : result of presenting the inquiry - - post_inquiry_state : updated state - - Returns - ------- - Inquiry data for the current schedule - """ - target_info = [ - 'target' if inquiry_result == sym else 'nontarget' - for sym in inquiry_result.stimuli - ] - - data = Inquiry(stimuli=inquiry_result.stimuli, - timing=[], - triggers=[], - target_info=target_info, - target_letter=inquiry_result.target, - current_text=inquiry_state.current_sentence, - target_text=inquiry_state.target_sentence) - data.precision = 4 - data.evidences = { - val.evidence_type: list(val.evidence) - for val in inquiry_result.evidences.values() - } - if EvidenceType.LM not in data.evidences: - data.evidences[EvidenceType.LM] = [] - data.likelihood = list(inquiry_result.fused_likelihood) - return data - - def save_run(self, session: Session): - """ Outputs the results of a run to json file """ - assert self.save_dir, "Save directory not set" - # creating result.json object with final state and metrics - final_state = self.state_manager.get_state() - final_state_json: Dict = format_sim_state_dump(final_state) - metric_dict = dataclasses.asdict(self.referee.score(self)) - metric_dict.update(final_state_json) # adding state data to metrics - - # writing result.json - with open(f"{self.save_dir}/result.json", 'w', - encoding='utf8') as output_file: - json.dump(metric_dict, output_file, indent=2) - - with open(f"{self.save_dir}/session.json", 'wt', - encoding='utf8') as session_file: - json.dump(session.as_dict(), session_file, indent=2) - - if session.has_evidence(): - session_excel(session=session, - excel_file=f"{self.save_dir}/session.xlsx") - - def reset(self): - self.state_manager.reset_state() - - def get_parameters(self): - return self.parameters.copy() - - def __str__(self): - return f"<{self.__class__.__name__}>" diff --git a/bcipy/simulator/sim_factory.py b/bcipy/simulator/sim_factory.py deleted file mode 100644 index 25f04a218..000000000 --- a/bcipy/simulator/sim_factory.py +++ /dev/null @@ -1,61 +0,0 @@ -""" Factory for Simulator objects """ -import logging -from pathlib import Path -from typing import List - -from bcipy.helpers.load import load_json_parameters -from bcipy.simulator.helpers.artifact import TOP_LEVEL_LOGGER_NAME -from bcipy.simulator.helpers.data_engine import RawDataEngine -from bcipy.simulator.helpers.metrics import RefereeImpl, SimMetricsHandler -from bcipy.simulator.helpers.model_handler import SigLmModelHandler1 -from bcipy.simulator.helpers.sampler import TargetNontargetSampler -from bcipy.simulator.helpers.state_manager import StateManagerImpl -from bcipy.simulator.sim import Simulator, SimulatorCopyPhrase - -log = logging.getLogger(TOP_LEVEL_LOGGER_NAME) - - -class SimulationFactory: - """ Factory class to create Simulator instances """ - - @staticmethod - def create(source_dirs: List[Path], - smodel_files: List[str], - sim_param_path="bcipy/simulator/sim_parameters.json", - save_dir=None, - **kwargs) -> Simulator: - """Create a Simulation, performing all of the necessary setup.""" - - # combining parameters - model_file = Path(smodel_files.pop()) - - sim_parameters = load_json_parameters(sim_param_path, value_cast=True) - params_path: str = kwargs.get('parameters', None) - base_parameters = load_json_parameters(params_path, value_cast=True) - base_parameters.add_missing_items(sim_parameters) - - data_engine = RawDataEngine(list(map(str, source_dirs)), - base_parameters) - state_manager = StateManagerImpl(base_parameters) - sampler = TargetNontargetSampler(data_engine) - model_handler = SigLmModelHandler1(model_file, base_parameters) - - referee = RefereeImpl(metric_handlers={'basic': SimMetricsHandler()}) - - sim = SimulatorCopyPhrase(data_engine, - model_handler, - sampler, - state_manager, - referee, - parameters=base_parameters, - save_dir=save_dir) - config = { - 'parameters_directory': Path(params_path).parent.name, - 'sampler': str(sampler), - 'model': str(model_handler), - 'task': str(sim) - } - for key, value in config.items(): - log.debug(f"{key}: {value}") - - return sim diff --git a/bcipy/simulator/sim_parameters.json b/bcipy/simulator/sim_parameters.json deleted file mode 100644 index 7a5964642..000000000 --- a/bcipy/simulator/sim_parameters.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "sim_task": { - "value": "RSVP_COPY_PHRASE", - "section": "sim_config", - "readableName": "Simulation Task", - "helpTip": "Specifies Task to simulate", - "recommended_values": [ - "RSVP_COPY_PHRASE", - "RSVP_CALIBRATION" - ], - "type": "str" - }, - "sim_sample_mode": { - "value": "0", - "section": "sim_config", - "readableName": "Simulation Sample Mode", - "helpTip": "Specifies method for sampling based on sampling registry", - "recommended_values": [ - "0", - "1" - ], - "type": "str" - }, - "sim_sleep_time": { - "value": "0", - "section": "sim_config", - "readableName": "Simulation Time Step ", - "helpTip": "How long to sleep in between simulation time steps", - "recommended_values": [ - "0", - "0.5", - "1" - ], - "type": "float" - }, - "sim_lm_parameters": { - "value": "", - "section": "sim_config", - "readableName": "Path to language model parameter file ", - "helpTip": "", - "recommended_values": [ - "/lm_parameters.json" - ], - "type": "str" - }, - "sim_lm_type": { - "value": "UNIFORM", - "section": "sim_config", - "readableName": "Language Model Type", - "helpTip": "Specifies which language model to use. Default: UNIFORM", - "recommended_values": [ - "UNIFORM", - "CAUSAL", - "KENLM", - "MIXTURE", - "ORACLE" - ], - "type": "str" - }, - "sim_run_count": { - "value": "1", - "section": "sim_config", - "readableName": "How many times to run simulator", - "helpTip": "", - "recommended_values": [ - "1", - "5" - ], - "type": "int" - } -} \ No newline at end of file diff --git a/bcipy/simulator/simulator_base.py b/bcipy/simulator/simulator_base.py deleted file mode 100644 index 30aa13fc1..000000000 --- a/bcipy/simulator/simulator_base.py +++ /dev/null @@ -1,40 +0,0 @@ -""" base simulator interface """ - -from abc import ABC, abstractmethod -from typing import Optional - -from bcipy.helpers.parameters import Parameters -from bcipy.simulator.helpers import metrics -from bcipy.simulator.helpers.data_engine import DataEngine -from bcipy.simulator.helpers.model_handler import ModelHandler -from bcipy.simulator.helpers.sampler import Sampler -from bcipy.simulator.helpers.state_manager import StateManager - - -class Simulator(ABC): - """Simulator. - - Base class for BciPy Simulations. - - Requirements: - - run closed loop simulation of {TaskType} with {data} with {simulation_params} - """ - - model_handler: ModelHandler - sampler: Sampler - state_manager: StateManager - data_engine: DataEngine - referee: metrics.MetricReferee - parameters: Parameters - save_dir: Optional[str] - - @abstractmethod - def run(self): - """ Run loop for simulation""" - - @abstractmethod - def get_parameters(self) -> Parameters: - """ retrieving parameters copy""" - - def reset(self): - ... diff --git a/bcipy/simulator/task/copy_phrase.py b/bcipy/simulator/task/copy_phrase.py index 634262a8c..5e5236516 100644 --- a/bcipy/simulator/task/copy_phrase.py +++ b/bcipy/simulator/task/copy_phrase.py @@ -8,7 +8,7 @@ from bcipy.language.main import LanguageModel from bcipy.signal.model.base_model import SignalModel from bcipy.simulator.helpers.sampler import Sampler -from bcipy.simulator.helpers.state_manager import SimState +from bcipy.simulator.helpers.state import SimState from bcipy.simulator.task.null_display import NullDisplay from bcipy.task.control.evidence import EvidenceEvaluator from bcipy.task.data import EvidenceType @@ -22,20 +22,7 @@ def get_evidence_type(model: SignalModel) -> EvidenceType: return model.metadata.evidence_type or DEFAULT_EVIDENCE_TYPE -class SimTask(): - """Abstract class that marks a task as a simulation.""" - def __init__(self, parameters: Parameters, file_save: str, - signal_models: List[SignalModel], - language_model: LanguageModel, samplers: Dict[SignalModel, - Sampler]): - """Signature for a simulation task""" - - def execute(self) -> str: - """Executes the task""" - raise NotImplementedError - - -class SimulatorCopyPhraseTask(RSVPCopyPhraseTask, SimTask): +class SimulatorCopyPhraseTask(RSVPCopyPhraseTask): """CopyPhraseTask that simulates user interactions by sampling data from a DataSampler.""" @@ -140,9 +127,7 @@ def get_sim_state(self) -> SimState: display_alphabet=self.current_symbols(), # TODO: inquiry_n=0, - series_n=0, - series_results=[], - decision_criterion=[]) + series_n=0) def current_symbols(self) -> List[str]: """Get the list of symbols from the current inquiry.""" diff --git a/bcipy/simulator/task/task_factory.py b/bcipy/simulator/task/task_factory.py index 92c898d5e..5558eafe4 100644 --- a/bcipy/simulator/task/task_factory.py +++ b/bcipy/simulator/task/task_factory.py @@ -8,7 +8,7 @@ from bcipy.simulator.helpers.data_engine import RawDataEngine from bcipy.simulator.helpers.data_process import init_data_processor from bcipy.simulator.helpers.sampler import Sampler, TargetNontargetSampler -from bcipy.simulator.task.copy_phrase import SimTask, SimulatorCopyPhraseTask +from bcipy.simulator.task.copy_phrase import SimulatorCopyPhraseTask logger = logging.getLogger(artifact.TOP_LEVEL_LOGGER_NAME) @@ -22,7 +22,7 @@ def __init__(self, model_path: str, source_dirs: List[str], sampling_strategy: Type[Sampler] = TargetNontargetSampler, - task: Type[SimTask] = SimulatorCopyPhraseTask): + task: Type[SimulatorCopyPhraseTask] = SimulatorCopyPhraseTask): self.params_path = params_path self.model_path = model_path self.source_dirs = source_dirs @@ -62,7 +62,7 @@ def init_samplers(self, signal_models: List[SignalModel]) -> Dict[SignalModel, S samplers[model] = sampler return samplers - def make_task(self, run_dir: str) -> SimTask: + def make_task(self, run_dir: str) -> SimulatorCopyPhraseTask: """Construct a new task""" return self.simulation_task(self.parameters, file_save=run_dir, diff --git a/bcipy/simulator/task/task_runner.py b/bcipy/simulator/task/task_runner.py index d8e9d7144..9e7f6c6f0 100644 --- a/bcipy/simulator/task/task_runner.py +++ b/bcipy/simulator/task/task_runner.py @@ -70,7 +70,7 @@ def main(): "--model_path", type=Path, required=True, - help="Signal model to be used") + help="Signal models to be used") parser.add_argument("-p", "--parameters", type=Path, From c0fb47ee7ccdd2a3a2228fe2faec1bc9943625d7 Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 23 Sep 2024 11:24:40 -0700 Subject: [PATCH 300/330] Improved documentation --- bcipy/simulator/README.md | 32 ++++++++++++++++++++----- bcipy/simulator/helpers/data_engine.py | 5 ++-- bcipy/simulator/helpers/data_process.py | 9 +++++-- bcipy/simulator/task/null_display.py | 3 ++- bcipy/simulator/task/task_factory.py | 1 + 5 files changed, 38 insertions(+), 12 deletions(-) diff --git a/bcipy/simulator/README.md b/bcipy/simulator/README.md index bba55404e..e99fc2f4e 100644 --- a/bcipy/simulator/README.md +++ b/bcipy/simulator/README.md @@ -2,7 +2,7 @@ ### Overview -This Simulator module aims to automate experimentation by sampling EEG data from prior sessions and running given models in RSVP task loop, thus simulating a live session. +This Simulator module aims to automate experimentation by sampling EEG data from prior sessions and running given models in a task loop, thus simulating a live session. ### Run steps @@ -28,23 +28,43 @@ optional arguments: #### Program Args - `d` : the data wrapper folder argument is necessary. This folder is expected to contain 1 or more session folders. Each session folder should contain - _raw_data.csv_, _triggers.txt_, _parameters.json_. These files will be used to construct data pool from which simulator will sample EEG responses. -- `g` : optional glob filter that can be used to select a subset of data. + _raw_data.csv_, _triggers.txt_, _parameters.json_. These files will be used to construct a data pool from which simulator will sample EEG and other device responses. The parameters file in each data folder will be used to check compatibility with the simulation/model parameters. +- `g` : optional glob filter that can be used to select a subset of data within the wrapper directory. - Ex. `"*Matrix_Copy*Jan_2024*"` will select all data for all Matrix Copy Phrase sessions recorded in January of 2024 (assuming the BciPy folder naming convention). - Glob patterns can also include nested directories (ex. `"*/*Matrix_Copy*"`). - `p` : path to the parameters.json file used to run the simulation. These parameters will be applied to - all raw_data files when loading. + all raw_data files when loading. This file can specify various aspects of the simulation, including the language model to be used, the text to be spelled, etc. Timing-related parameters should generally match the parameters file used for training the signal model(s). - `m`: all pickle (.pkl) files in this directory will be loaded as signal models. #### Sim Output Details Output folders are generally located in the `simulator/generated` directory. Each simulation will create a new directory. The directory name will be prefixed with `SIM` and will include the current date and time. -- `parameters.json` captures params used for the simulation +- `parameters.json` captures params used for the simulation. - `sim.log` is a log file for the simulation A directory is created for each simulation run. The directory contents are similar to the session output in a normal bcipy task. Each run directory contains: -- `run_n.log` log file specific to the run +- `run_{n}.log` log file specific to the run, where n is the run number. - `session.json` session data output for the task, including evidence generated for each inquiry and overall metrics. - `session.xlsx` session data summarized in an excel spreadsheet with charts for easier visualization. + +## Main Components + +* Task - a simulation task to be run (ex. RSVP Copy Phrase) +* TaskRunner - runs one or more iterations of a simulation +* TaskFactory - constructs the hierarchy of objects needed for the simulation. +* DataEngine - loads data to be used in a simulation and provides an API to query for data. +* DataProcessor - used by the DataEngine to pre-process data. Pre-processed data can be classified by a signal model. +* Sampler - strategy for sampling data from the data pool stored in the DataEngine. + +## Device Support + +The simulator is structured to support evidence from multiple devices (multimodal). However, it currently only includes processing for EEG device data. To provide support for models trained on data from other devices (ex. Gaze), a `RawDataProcessor` must be added for that device. The Processor pre-processes data collected from that device and prepares it for sampling. A `RawDataProcessor` is matched up to a given signal model using that model's metadata (metadata.device_spec.content_type). See the `data_process` module for more details. + +## Current Limitations + +* Only provides EEG support +* Only one sampler maybe provided for all devices. Ideally we should support a different sampling strategy for each device. +* Only the RSVP Copy Phrase may be simulated +* Metrics are collected per run, but not summarized across all runs. \ No newline at end of file diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py index 52ef246ed..61b48fb7d 100644 --- a/bcipy/simulator/helpers/data_engine.py +++ b/bcipy/simulator/helpers/data_engine.py @@ -1,3 +1,4 @@ +"""Classes and functions related to loading and querying data to be used in a simulation.""" import logging from abc import ABC, abstractmethod from pathlib import Path @@ -19,8 +20,6 @@ class Trial(NamedTuple): """Data for a given trial (a symbol within an Inquiry). - TODO: add series to facilitate easier lookup in session data. - Attrs ----- source - directory of the data source @@ -51,7 +50,7 @@ def __repr__(self): class QueryFilter(NamedTuple): - """Used to query for data.""" + """Provides an API used to query a data engine for data.""" field: str operator: str value: Any diff --git a/bcipy/simulator/helpers/data_process.py b/bcipy/simulator/helpers/data_process.py index a45c8f29c..86485fa8a 100644 --- a/bcipy/simulator/helpers/data_process.py +++ b/bcipy/simulator/helpers/data_process.py @@ -1,4 +1,4 @@ -"""This defines functionality related to pre-processing simulation data. +"""This module defines functionality related to pre-processing simulation data. Processed data can be subsequently sampled and provided to a SignalModel for classification.""" @@ -187,6 +187,10 @@ class RawDataProcessor(): """Processes raw data for a given device and converts it to ExtractedExperimentData for use in the simulator. + The main API method, `process`, provides a template method that can be + specialized by subclasses. This method performs the following for a given + data directory. + 1. Loads the data file as a RawData object 2. Extract timing information from trigger file based on the device of interest. 3. Reshape and label the data. @@ -253,7 +257,7 @@ def check_data_compatibility(self, data_device: DeviceSpec, def process(self, data_folder: str, parameters: Parameters) -> ExtractedExperimentData: - """Load and process the data + """Load and process the data. Parameters ---------- @@ -422,6 +426,7 @@ def get_transform(self, transform_params: ERPTransformParams, ) +## Module functions for matching a model to the correct processor. def get_processor( data_source: ContentType, evidence_type: Optional[EvidenceType] = None diff --git a/bcipy/simulator/task/null_display.py b/bcipy/simulator/task/null_display.py index fb5767e6c..e59c07f02 100644 --- a/bcipy/simulator/task/null_display.py +++ b/bcipy/simulator/task/null_display.py @@ -5,7 +5,8 @@ class NullDisplay(Display): - """Display that doesn't show anything to the user.""" + """Display that doesn't show anything to the user. Useful in simulated tasks + that do not have a display component.""" def do_inquiry(self) -> List[Tuple[str, float]]: return [] diff --git a/bcipy/simulator/task/task_factory.py b/bcipy/simulator/task/task_factory.py index 5558eafe4..8d08ac750 100644 --- a/bcipy/simulator/task/task_factory.py +++ b/bcipy/simulator/task/task_factory.py @@ -1,3 +1,4 @@ +"""Classes and functions for building a simulation.""" import logging from typing import Dict, List, Type From 36ebc40b4a0efed6e713d710fb22eb940b069aaa Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 23 Sep 2024 11:41:59 -0700 Subject: [PATCH 301/330] Set simulator output to data folder. Re-organized modules --- .gitignore | 1 - bcipy/simulator/generated/.gitkeep | 0 bcipy/simulator/helpers/artifact.py | 4 +- bcipy/simulator/helpers/data_engine.py | 201 --------- bcipy/simulator/helpers/data_process.py | 475 ---------------------- bcipy/simulator/helpers/log_utils.py | 8 - bcipy/simulator/helpers/sampler.py | 225 ---------- bcipy/simulator/task/copy_phrase.py | 2 +- bcipy/simulator/task/task_factory.py | 6 +- bcipy/simulator/task/task_runner.py | 2 +- bcipy/simulator/tests/test_data_engine.py | 6 +- 11 files changed, 10 insertions(+), 920 deletions(-) delete mode 100644 bcipy/simulator/generated/.gitkeep delete mode 100644 bcipy/simulator/helpers/data_engine.py delete mode 100644 bcipy/simulator/helpers/data_process.py delete mode 100644 bcipy/simulator/helpers/log_utils.py delete mode 100644 bcipy/simulator/helpers/sampler.py diff --git a/.gitignore b/.gitignore index f1e72aded..54fabb0bf 100644 --- a/.gitignore +++ b/.gitignore @@ -37,4 +37,3 @@ bcipy/language/out/ bcipy/simulator/tests/resource/ -bcipy/simulator/generated/SIM_* diff --git a/bcipy/simulator/generated/.gitkeep b/bcipy/simulator/generated/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/bcipy/simulator/helpers/artifact.py b/bcipy/simulator/helpers/artifact.py index 8338fa89e..b828adc42 100644 --- a/bcipy/simulator/helpers/artifact.py +++ b/bcipy/simulator/helpers/artifact.py @@ -5,14 +5,14 @@ import sys from typing import Optional -from bcipy.config import BCIPY_ROOT +from bcipy.config import ROOT # For a simulation, two loggers are configured: a top level logger summarizing # setup and progress, and a logger for each simulation run. The root logger is # re-configured for each simulation run. TOP_LEVEL_LOGGER_NAME = 'sim_logger' DEFAULT_LOGFILE_NAME = 'sim.log' -DEFAULT_SAVE_LOCATION = f"{BCIPY_ROOT}/simulator/generated" +DEFAULT_SAVE_LOCATION = f"{ROOT}/data/simulator" def configure_logger(log_path: str, diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py deleted file mode 100644 index 61b48fb7d..000000000 --- a/bcipy/simulator/helpers/data_engine.py +++ /dev/null @@ -1,201 +0,0 @@ -"""Classes and functions related to loading and querying data to be used in a simulation.""" -import logging -from abc import ABC, abstractmethod -from pathlib import Path -from typing import Any, List, NamedTuple, Union - -import numpy as np -import pandas as pd - -from bcipy.helpers.exceptions import TaskConfigurationException -from bcipy.helpers.parameters import Parameters -from bcipy.simulator.helpers import data_process -from bcipy.simulator.helpers.artifact import TOP_LEVEL_LOGGER_NAME -from bcipy.simulator.helpers.data_process import (ExtractedExperimentData, - RawDataProcessor) - -log = logging.getLogger(TOP_LEVEL_LOGGER_NAME) - - -class Trial(NamedTuple): - """Data for a given trial (a symbol within an Inquiry). - - Attrs - ----- - source - directory of the data source - inquiry_n - starts at 0; does not reset at each series - inquiry_pos - starts at 1; position in which the symbol was presented - symbol - alphabet symbol that was presented - target - 1 or 0 indicating a boolean of whether this was a target symbol - eeg - EEG data associated with this trial - """ - source: str - # series_n: int - inquiry_n: int - inquiry_pos: int - symbol: str - target: int - eeg: np.ndarray # Channels by Samples ; ndarray.shape = (channel_n, sample_n) - - def __str__(self): - fields = [ - f"source='{self.source}'", f"inquiry_n={self.inquiry_n}", - f"inquiry_pos={self.inquiry_pos}", f"symbol='{self.symbol}'", - f"target={self.target}", f"eeg={self.eeg.shape}" - ] - return f"Trial({', '.join(fields)})" - - def __repr__(self): - return str(self) - - -class QueryFilter(NamedTuple): - """Provides an API used to query a data engine for data.""" - field: str - operator: str - value: Any - - def is_valid(self) -> bool: - """Check if the filter is valid.""" - # pylint: disable=no-member - return self.field in Trial._fields and self.operator in self.valid_operators and isinstance( - self.value, Trial.__annotations__[self.field]) - - @property - def valid_operators(self) -> List[str]: - """List of supported query operators""" - return ["<", "<=", ">", ">=", "==", "!="] - - -class DataEngine(ABC): - """Abstract class for an object that loads data from one or more sources, - processes the data using a provided processor, and provides an interface - for querying the processed data.""" - - def load(self): - """Load data from sources.""" - - @property - def trials_df(self) -> pd.DataFrame: - """Returns a dataframe of Trial data.""" - - @abstractmethod - def query(self, - filters: List[QueryFilter], - samples: int = 1) -> List[Trial]: - """Query the data.""" - - -def convert_trials(data_source: ExtractedExperimentData) -> List[Trial]: - """Convert extracted data from a single data source to a list of Trials.""" - trials = [] - symbols_by_inquiry = data_source.symbols_by_inquiry - labels_by_inquiry = data_source.labels_by_inquiry - - for i, inquiry_eeg in enumerate(data_source.trials_by_inquiry): - # iterate through each inquiry - inquiry_symbols = symbols_by_inquiry[i] - inquiry_labels = labels_by_inquiry[i] - - for sym_i, symbol in enumerate(inquiry_symbols): - # iterate through each symbol in the inquiry - eeg_samples = [channel[sym_i] - for channel in inquiry_eeg] # (channel_n, sample_n) - trials.append( - Trial(source=data_source.source_dir, - inquiry_n=i, - inquiry_pos=sym_i + 1, - symbol=symbol, - target=inquiry_labels[sym_i], - eeg=np.array(eeg_samples))) - return trials - - -class RawDataEngine(DataEngine): - """ - Object that loads in list of session data folders and transforms data into - a queryable data structure. - """ - - def __init__(self, source_dirs: List[str], parameters: Parameters, - data_processor: RawDataProcessor): - self.source_dirs: List[str] = source_dirs - self.parameters: Parameters = parameters - - self.data_processor = data_processor - self.data: List[Union[ExtractedExperimentData, - data_process.ExtractedExperimentData]] = [] - self._trials_df = pd.DataFrame() - - self.load() - - def load(self) -> DataEngine: - """ - Processes raw data from data folders using provided parameter files. - - Extracts and stores trial data, stimuli, and stimuli_labels by inquiries - - Returns: - self for chaining - """ - if not self.data: - log.debug( - f"Loading data from {len(self.source_dirs)} source directories:" - ) - rows = [] - for i, source_dir in enumerate(self.source_dirs): - log.debug(f"{i+1}. {Path(source_dir).name}") - extracted_data = self.data_processor.process( - source_dir, self.parameters) - self.data.append(extracted_data) - rows.extend(convert_trials(extracted_data)) - - self._trials_df = pd.DataFrame(rows) - log.debug("Finished loading all data") - return self - - @property - def trials_df(self) -> pd.DataFrame: - """Dataframe of Trial data.""" - if not self.data_loaded: - self.load() - return self._trials_df.copy() - - @property - def data_loaded(self) -> bool: - """Check if the data has been loaded""" - return bool(self.data) - - def query(self, - filters: List[QueryFilter], - samples: int = 1) -> List[Trial]: - """Query the engine for data using one or more filters. - - Parameters - ---------- - filters - list of query filters - samples - number of results to return. - check_insufficient_results - if True, raises an exception when - there are an insufficient number of samples. - - Returns a list of Trials. - """ - assert self.data_loaded, "Data must be loaded before querying." - assert all(filt.is_valid() - for filt in filters), "Filters must all be valid" - assert samples >= 1, "Insufficient number of samples requested" - - expr = 'and '.join([self.query_condition(filt) for filt in filters]) - filtered_data = self._trials_df.query(expr) - if filtered_data is None or len(filtered_data) < samples: - raise TaskConfigurationException( - message="Not enough samples found") - - rows = filtered_data.sample(samples) - return [Trial(*row) for row in rows.itertuples(index=False, name=None)] - - def query_condition(self, query_filter: QueryFilter) -> str: - """Returns the string representation of of the given query condition.""" - value = query_filter.value - if (isinstance(value, str)): - value = f"'{value}'" - return f"{query_filter.field} {query_filter.operator} {value}" diff --git a/bcipy/simulator/helpers/data_process.py b/bcipy/simulator/helpers/data_process.py deleted file mode 100644 index 86485fa8a..000000000 --- a/bcipy/simulator/helpers/data_process.py +++ /dev/null @@ -1,475 +0,0 @@ -"""This module defines functionality related to pre-processing simulation data. -Processed data can be subsequently sampled and provided to a SignalModel -for classification.""" - -import logging as logger -from dataclasses import dataclass -from pathlib import Path -from typing import List, NamedTuple, Optional, Tuple, Type - -import numpy as np - -from bcipy.acquisition import devices -from bcipy.acquisition.devices import DeviceSpec -from bcipy.acquisition.multimodal import ContentType -from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, - DEFAULT_PARAMETER_FILENAME, TRIGGER_FILENAME) -from bcipy.helpers.acquisition import analysis_channels, raw_data_filename -from bcipy.helpers.list import grouper -from bcipy.helpers.load import load_json_parameters, load_raw_data -from bcipy.helpers.parameters import Parameters -from bcipy.helpers.raw_data import RawData -from bcipy.helpers.stimuli import update_inquiry_timing -from bcipy.helpers.triggers import TriggerType, trigger_decoder -from bcipy.signal.model.base_model import SignalModel -from bcipy.signal.process import (ERPTransformParams, filter_inquiries, - get_default_transform) -from bcipy.signal.process.transform import Composition -from bcipy.simulator.exceptions import (DeviceSpecNotFoundError, - IncompatibleDeviceSpec, - IncompatibleParameters) -from bcipy.task.data import EvidenceType - -log = logger.getLogger(__name__) - - -def load_device_data(data_folder: str, - content_type: str) -> Tuple[RawData, DeviceSpec]: - """Loads the data into the RawData format for the given content type. - - Parameters - ---------- - data_folder - session data folder with the raw data, device_spec, etc. - content_type - content type of the data to load. - - Returns - ------- - tuple of the raw data and the associated DeviceSpec for the device used - to record that data. - """ - devices_by_name = devices.load(Path(data_folder, - DEFAULT_DEVICE_SPEC_FILENAME), - replace=True) - specs = [ - spec for spec in devices_by_name.values() - if spec.is_active and spec.content_type == content_type - ] - if not specs: - raise DeviceSpecNotFoundError( - f"Suitable entry not found in {data_folder}/devices.json") - device_spec = specs[0] - raw_data_path = Path(data_folder, raw_data_filename(device_spec)) - if not raw_data_path.exists(): - raise FileNotFoundError(f"Raw data file not found: {raw_data_path}") - raw_data = load_raw_data(str(raw_data_path)) - - if device_spec != devices.preconfigured_device(raw_data.daq_type): - raise IncompatibleDeviceSpec( - "DeviceSpec in devices.json does not match the raw data.") - - return raw_data, device_spec - - -class DecodedTriggers(NamedTuple): - """Extracted properties after decoding the triggers.txt file and applying - the necessary offsets and corrections.""" - targetness: List[str] # TriggerType - times: List[float] - symbols: List[str] # symbol - corrected_times: List[float] - - -@dataclass() -class ExtractedExperimentData: - """Data from an acquisition device after reshaping and filtering.""" - source_dir: str - inquiries: np.ndarray - trials: np.ndarray - labels: List - inquiry_timing: List - - decoded_triggers: DecodedTriggers - trials_per_inquiry: int - - @property - def trials_by_inquiry(self) -> List[np.ndarray]: - """EEG data by inquiry. - shape (i_inquiry, n_channel, m_trial, x_sample) - """ - return np.split(self.trials, self.inquiries.shape[1], 1) - - @property - def symbols_by_inquiry(self) -> List[List[str]]: - """Get symbols by inquiry. shape (i_inquiry, s_alphabet_subset)""" - trigger_symbols = self.decoded_triggers.symbols - return [ - list(group) for group in grouper( - trigger_symbols, self.trials_per_inquiry, incomplete="ignore") - ] - - @property - def labels_by_inquiry(self) -> List[List[int]]: - """Shape (i_inquiry, s_alphabet_subset)""" - return self.labels - - -class TimingParams(NamedTuple): - """Timing-related parameters used in parsing the raw data into inquiries and trials.""" - # window (in seconds) of data collection after each stimulus presentation. - trial_window: Tuple[float, float] - # seconds before the start of the inquiry to use. - prestim_length: float - - # delay time (in seconds) between the final stimulus in one inquiry and the - # beginning (target stimulus or fixation cross) of the next inquiry. - task_buffer_length: float - stim_length: int - time_flash: float - - @property - def trials_per_inquiry(self) -> int: - """Alias for stim_length""" - return self.stim_length - - @property - def buffer(self) -> float: - """The task buffer length defines the min time between two inquiries - We use half of that time here to buffer during transforms""" - return self.task_buffer_length / 2 - - @property - def window_length(self) -> float: - """window (in seconds) of data collection after each stimulus presentation""" - start, end = self.trial_window - return end - start - - def __str__(self): - return ( - f"Timing settings: \n" - f"Trial Window: {self.trial_window[0]} to {self.trial_window[1]}s, " - f"Prestimulus Buffer: {self.prestim_length}s, Poststimulus Buffer: {self.buffer}s \n" - ) - - -def decode_triggers( - data_folder: str, - timing_params: TimingParams, - device_offset: float = 0.0, - excluded_triggers: Optional[List[TriggerType]] = None -) -> DecodedTriggers: - """Decode the triggers.txt file in the given directory.""" - if not excluded_triggers: - excluded_triggers = [ - TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION - ] - targetness, times, symbols = trigger_decoder( - offset=device_offset, - trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", - exclusion=excluded_triggers, - ) - corrected = [time + timing_params.trial_window[0] for time in times] - return DecodedTriggers(targetness=targetness, - times=times, - symbols=symbols, - corrected_times=corrected) - - -class ReshapedData(): - """Represents data components after reshaping""" - - def __init__(self): - self.inquiries: np.ndarray = np.array([]) - self.inquiry_labels: np.ndarray = np.array([]) - self.inquiry_timing: List[List[int]] = [] - - -class RawDataProcessor(): - """Processes raw data for a given device and converts it to - ExtractedExperimentData for use in the simulator. - - The main API method, `process`, provides a template method that can be - specialized by subclasses. This method performs the following for a given - data directory. - - 1. Loads the data file as a RawData object - 2. Extract timing information from trigger file based on the device of interest. - 3. Reshape and label the data. - 4. Apply filtering. - 5. Extract trials. - - Parameters - ---------- - model - signal model which will be used to classify the resulting data - """ - - def __init__(self, model: SignalModel): - self.check_model_compatibility(model) - self.model = model - - @property - def consumes(self) -> ContentType: - """ContentType of the data that should be input""" - - @property - def produces(self) -> EvidenceType: - """Type of evidence that is output""" - raise NotImplementedError - - @property - def content_type(self): - """Get the content_type of the data.""" - return self.consumes - - @property - def model_device(self) -> DeviceSpec: - """Device used to collect data for training the model.""" - return self.model.metadata.device_spec - - @property - def reshaper(self): - """data reshaper""" - return self.model.reshaper - - def check_model_compatibility(self, model: SignalModel) -> None: - """Check that the given model is compatible with this processor. - Checked on initialization.""" - assert model.metadata, "Metadata missing from signal model." - assert ContentType( - model.metadata.device_spec.content_type - ) == self.consumes, "DataProcessor is not compatible with the given model" - - def check_data_compatibility(self, data_device: DeviceSpec, - sim_timing_params: TimingParams, - data_timing_params: TimingParams) -> None: - """Check the compatibility of a dataset with the model.""" - if not self.devices_compatible(self.model_device, data_device): - raise IncompatibleDeviceSpec("Devices are not compatible") - if not self.parameters_compatible(sim_timing_params, - data_timing_params): - raise IncompatibleParameters( - "Timing parameters are not compatible") - - if data_device.static_offset == devices.DEFAULT_STATIC_OFFSET: - log.warning(' '.join([ - f"Using the default static offset to decode triggers for {data_device.name}.", - "Please make sure the correct offset is included in the devices.json file." - ])) - - def process(self, data_folder: str, - parameters: Parameters) -> ExtractedExperimentData: - """Load and process the data. - - Parameters - ---------- - data_folder - session directory for a given dataset - (contains raw_data, devices.json, and parameters.json). - parameters - parameters.json file for the calibration session used - to train the model / run the simulation. - """ - raw_data, device_spec = load_device_data(data_folder, - self.content_type.name) - data_parameters = load_json_parameters( - f"{data_folder}/{DEFAULT_PARAMETER_FILENAME}", value_cast=True) - - timing_params = parameters.instantiate(TimingParams) - - self.check_data_compatibility( - data_device=device_spec, - sim_timing_params=timing_params, - data_timing_params=data_parameters.instantiate(TimingParams)) - - decoded_triggers = decode_triggers(data_folder, timing_params, - device_spec.static_offset, - self.excluded_triggers()) - - reshaped_data = self.reshape_data(raw_data, decoded_triggers, - timing_params) - - filtered_reshaped_data, new_sample_rate = self.apply_filters( - reshaped_data, parameters, raw_data.sample_rate) - - trials = self.extract_trials(filtered_reshaped_data, timing_params, - new_sample_rate) - return ExtractedExperimentData( - data_folder, - filtered_reshaped_data.inquiries, - trials, - [list(arr) for arr in filtered_reshaped_data.inquiry_labels], - filtered_reshaped_data.inquiry_timing, - decoded_triggers=decoded_triggers, - trials_per_inquiry=timing_params.trials_per_inquiry) - - def reshape_data(self, raw_data: RawData, - decoded_triggers: DecodedTriggers, - timing_params: TimingParams) -> ReshapedData: - """Use the configured reshaper to reshape the data.""" - raise NotImplementedError - - def apply_filters(self, reshaped_data: ReshapedData, - parameters: Parameters, - data_sample_rate: int) -> Tuple[ReshapedData, int]: - """Apply any filters to the reshaped data. - - Returns - ------- - inquiry data after filtering, updated sample_rate - """ - raise NotImplementedError - - def extract_trials(self, filtered_reshaped_data: ReshapedData, - timing_params: TimingParams, - updated_sample_rate: float) -> np.ndarray: - """Extract trial data from the filtered, reshaped data. - - Returns - ------- - np.ndarray of shape (Channels, Trials, Samples) - """ - raise NotImplementedError - - def excluded_triggers(self): - """Trigger types to exclude when decoding""" - return [TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION] - - def devices_compatible(self, model_device: DeviceSpec, - data_device: DeviceSpec) -> bool: - """Check compatibility between the device on which the model was trained - and the device used for data collection.""" - - # TODO: check analysis channels? - return model_device.sample_rate == data_device.sample_rate - - def parameters_compatible(self, sim_timing_params: TimingParams, - data_timing_params: TimingParams) -> bool: - """Check compatibility between the parameters used for simulation and - those used for data collection.""" - return sim_timing_params.time_flash == data_timing_params.time_flash - - -class EegRawDataProcessor(RawDataProcessor): - """RawDataProcessor that processes EEG data.""" - consumes = ContentType.EEG - produces = EvidenceType.ERP - - def reshape_data(self, raw_data: RawData, - decoded_triggers: DecodedTriggers, - timing_params: TimingParams) -> ReshapedData: - """Use the configured reshaper to reshape the data.""" - - data, _fs = raw_data.by_channel() - channel_map = analysis_channels(raw_data.channels, self.model_device) - inquiries, inquiry_labels, inquiry_timing = self.reshaper( - trial_targetness_label=decoded_triggers.targetness, - timing_info=decoded_triggers.corrected_times, - eeg_data=data, - sample_rate=raw_data.sample_rate, - trials_per_inquiry=timing_params.trials_per_inquiry, - channel_map=channel_map, - poststimulus_length=timing_params.window_length, - prestimulus_length=timing_params.prestim_length, - transformation_buffer=timing_params.buffer, - ) - reshaped = ReshapedData() - reshaped.inquiries = inquiries - reshaped.inquiry_labels = inquiry_labels - reshaped.inquiry_timing = inquiry_timing - return reshaped - - def apply_filters(self, reshaped_data: ReshapedData, - parameters: Parameters, - data_sample_rate: int) -> Tuple[ReshapedData, int]: - """Apply any filters to the reshaped data. - - Returns - ------- - inquiry data after filtering, updated sample_rate - """ - transform_params = parameters.instantiate(ERPTransformParams) - transform = self.get_transform(transform_params, data_sample_rate) - inquiries, fs = filter_inquiries(reshaped_data.inquiries, transform, - data_sample_rate) - inquiry_timing_ints: List[List[int]] = [ - list(map(int, inq)) for inq in reshaped_data.inquiry_timing - ] - filtered_reshaped_data = ReshapedData() - filtered_reshaped_data.inquiries = inquiries - filtered_reshaped_data.inquiry_timing = update_inquiry_timing( - inquiry_timing_ints, transform_params.down_sampling_rate) - filtered_reshaped_data.inquiry_labels = reshaped_data.inquiry_labels - return filtered_reshaped_data, fs - - def extract_trials(self, filtered_reshaped_data: ReshapedData, - timing_params: TimingParams, - updated_sample_rate: float) -> np.ndarray: - """Extract trial data from the filtered, reshaped data. - - Returns - ------- - np.ndarray of shape (Channels, Trials, Samples) - """ - trial_duration_samples = int(timing_params.window_length * - updated_sample_rate) - return self.reshaper.extract_trials( - filtered_reshaped_data.inquiries, trial_duration_samples, - filtered_reshaped_data.inquiry_timing) - - def get_transform(self, transform_params: ERPTransformParams, - data_sample_rate: int) -> Composition: - """"Get the transform used for filtering the data.""" - return get_default_transform( - sample_rate_hz=data_sample_rate, - notch_freq_hz=transform_params.notch_filter_frequency, - bandpass_low=transform_params.filter_low, - bandpass_high=transform_params.filter_high, - bandpass_order=transform_params.filter_order, - downsample_factor=transform_params.down_sampling_rate, - ) - - -## Module functions for matching a model to the correct processor. -def get_processor( - data_source: ContentType, - evidence_type: Optional[EvidenceType] = None -) -> Type[RawDataProcessor]: - """Returns the matching processor class. - - Parameters - ---------- - data_source - type of data that the processor should consume - evidence_type - type of evidence that the processor should produce. - """ - matches = [ - cls for cls in RawDataProcessor.__subclasses__() - if cls.consumes == data_source and ( - evidence_type is None or cls.produces == evidence_type) - ] - if matches: - return matches[0] - else: - msg = f"Data processor not found for {data_source.name}" - if evidence_type: - msg += f" -> {evidence_type.name}" - raise Exception(msg) - - -def find_data_processor(model: SignalModel) -> Type[RawDataProcessor]: - """Get the DataProcessor appropriate for the given model.""" - content_type = ContentType(model.metadata.device_spec.content_type) - # Metadata may provide an EvidenceType with a model so the same data source can - # be used to produce multiple types of evidence (ex. alpha) - evidence_type = None - model_output = model.metadata.evidence_type - if model_output: - try: - evidence_type = EvidenceType(model_output.upper()) - except ValueError: - logger.error(f"Unsupported evidence type: {model_output}") - - return get_processor(content_type, evidence_type) - - -def init_data_processor(signal_model: SignalModel) -> RawDataProcessor: - """Find an DataProcessor that matches the given signal_model and - initialize it.""" - processor_class = find_data_processor(signal_model) - return processor_class(signal_model) diff --git a/bcipy/simulator/helpers/log_utils.py b/bcipy/simulator/helpers/log_utils.py deleted file mode 100644 index 50ee084cd..000000000 --- a/bcipy/simulator/helpers/log_utils.py +++ /dev/null @@ -1,8 +0,0 @@ -from typing import List - -from bcipy.simulator.helpers.data_engine import Trial - - -def format_samples(sample_rows: List[Trial]) -> str: - """Returns a tabular representation of the sample rows.""" - return '\n'.join([str(row) for row in sample_rows]) diff --git a/bcipy/simulator/helpers/sampler.py b/bcipy/simulator/helpers/sampler.py deleted file mode 100644 index d889f4bc3..000000000 --- a/bcipy/simulator/helpers/sampler.py +++ /dev/null @@ -1,225 +0,0 @@ -import logging -import random -from abc import ABC -from collections import defaultdict -from pathlib import Path -from typing import Callable, Dict, List, Tuple - -import numpy as np -import pandas as pd - -from bcipy.simulator.helpers.data_engine import (QueryFilter, RawDataEngine, - Trial) -from bcipy.simulator.helpers.log_utils import format_samples -from bcipy.simulator.helpers.state import SimState - -log = logging.getLogger(__name__) - - -def default_reshaper(eeg_responses: List[np.ndarray]) -> np.ndarray: - """Default data reshaper. - - Returns - ------- - ndarray with shape (channel_n, trial_n, sample_n) - """ - - channels_eeg: List[List[np.ndarray]] = [ - [] for i in range(len(eeg_responses[0])) - ] - - for _i, trial_channels_eeg in enumerate(eeg_responses): - for c_i, channel_eeg in enumerate(trial_channels_eeg): - channels_eeg[c_i].append(channel_eeg) - - return np.array(channels_eeg) - - -class Sampler(ABC): - """Represents a strategy for sampling signal model data from a DataEngine - comprised of signal data from one or more data collection sessions.""" - - def __init__(self, data_engine: RawDataEngine): - self.data_engine: RawDataEngine = data_engine - self.model_input_reshaper: Callable = default_reshaper - - def sample(self, state: SimState) -> List[Trial]: - """ - Query the data engine for a list of trials corresponding to each - currently displayed symbol. - - Parameters - ---------- - state - specifies the target symbol and current inquiry (displayed symbols). - - Returns - ------- - a list of Trials with an item for each symbol in the current inquiry. - """ - raise NotImplementedError - - def sample_data(self, state: SimState) -> np.ndarray: - """ - Query for trials and reshape for signal model input according to the - provided reshaper. - - Return: - ndarray of shape (n_channel, n_trial, n_sample) - """ - trials = self.sample(state) - return self.reshaped(trials) - - def sample_with_context(self, - state: SimState) -> Tuple[np.ndarray, List[Trial]]: - """ - Returns - ------- - A tuple of the reshaped data (ndarray of shape (n_channel, n_trial, n_sample)) as - well as a list of Trial data (metadata and data not reshaped) for context. - """ - trials = self.sample(state) - data = self.reshaped(trials) - return data, trials - - def reshaped(self, sample_rows: List[Trial]) -> np.ndarray: - """Returns the queried trials reshaped into a format that a model can predict.""" - return self.model_input_reshaper([trial.eeg for trial in sample_rows]) - - def set_reshaper(self, reshaper: Callable): - """Set the reshaper""" - self.model_input_reshaper = reshaper - - def __str__(self): - return f"<{self.__class__.__name__}>" - - -class TargetNontargetSampler(Sampler): - """Sampler that that queries based on target/non-target label.""" - - def sample(self, state: SimState) -> List[Trial]: - sample_rows = [] - for symbol in state.display_alphabet: - filters = self.query_filters( - symbol, is_target=(symbol == state.target_symbol)) - filtered_data = self.data_engine.query(filters, samples=1) - sample_rows.append(filtered_data[0]) - - log.debug(f"Samples:\n{format_samples(sample_rows)}") - return sample_rows - - def query_filters(self, symbol: str, is_target: bool) -> List[QueryFilter]: - """Expression used to query for a single sample.""" - # QueryFilter('symbol', '==', symbol) - return [QueryFilter('target', '==', int(is_target))] - - -class InquirySampler(Sampler): - """Samples an inquiry of data at a time.""" - - def __init__(self, data_engine: RawDataEngine): - super().__init__(data_engine) - - # map source to inquiry numbers - self.data = self.data_engine.trials_df - self.target_inquiries, self.no_target_inquiries = self.prepare_data( - self.data) - - def prepare_data( - self, data: pd.DataFrame - ) -> Tuple[Dict[Path, List[int]], Dict[Path, List[int]]]: - """Partition the data into those inquiries that displayed the target - and those that did not. The resulting data structures map the data - source with a list of inquiry_n numbers.""" - - target_inquiries = defaultdict(list) - no_target_inquiries = defaultdict(list) - - # TODO: there is probably a more optimal way to use pandas to compute. - # Look into groupby. - for source in data['source'].unique(): - source_df = data[data['source'] == source] - for n in source_df['inquiry_n'].unique(): - inquiry_df = source_df[source_df['inquiry_n'] == n] - has_target = inquiry_df[inquiry_df['target'] == - 1]['target'].any() - - if has_target: - target_inquiries[source].append(n) - else: - no_target_inquiries[source].append(n) - - return target_inquiries, no_target_inquiries - - def sample(self, state: SimState) -> List[Trial]: - """Samples a random inquiry for a random data source. - - Ensures that if a target is shown in the current inquiry the sampled - data will be from an inquiry where the target was presented. - - Parameters - ---------- - state - specifies the target symbol and current inquiry (displayed symbols). - - Returns - ------- - a list of Trials with an item for each symbol in the current - inquiry. - """ - - target_letter = state.target_symbol - inquiry_letter_subset = state.display_alphabet - - if target_letter in inquiry_letter_subset: - source_inquiries = self.target_inquiries - target_position = inquiry_letter_subset.index(target_letter) + 1 - else: - source_inquiries = self.no_target_inquiries - target_position = 0 # unused - - # randomly select a valid data source and inquiry - data_source = random.choice(list(source_inquiries.keys())) - inquiry_n = random.choice(source_inquiries[data_source]) - - # select all trials for the data_source and inquiry - inquiry_df = self.data.loc[(self.data['source'] == data_source) - & (self.data['inquiry_n'] == inquiry_n)] - assert len(inquiry_df) == len( - inquiry_letter_subset), f"Invalid data source {data_source}" - - # The inquiry may need to be re-ordered to ensure that the target is in - # the correct position. We do this by sorting the dataframe on a custom - # column that is the inquiry_pos for all non-targets, and the - # new_target_position for the target. - inquiry_target_position = target_position - if target_letter in inquiry_letter_subset: - inquiry_target_index = inquiry_df[inquiry_df['target'] == - 1].index[0] - inquiry_target_position = inquiry_df.index.tolist().index( - inquiry_target_index) - - if inquiry_target_position == target_position: - # target already in the correct location, no need to adjust - new_target_position = inquiry_target_position + 0.0 - elif inquiry_target_position < target_position: - # target in the inquiry needs to be pushed later in the inquiry; - # There is another symbol currently at that position, so we need - # to ensure that the target is past that symbol (by adding 0.5). - new_target_position = target_position + 0.5 - elif inquiry_target_position > target_position: - # the target in the inquiry needs to be moved earlier in the inquiry; - # there is another non-target symbol currently at that position so - # the target needs to be moved before that symbol. - new_target_position = target_position - 0.5 - - # define a sort column to move the target in the inquiry to the desired index - sort_pos = inquiry_df['inquiry_pos'].where(inquiry_df['target'] == 0, - new_target_position) - - # select the inquiry items in sorted position - sorted_inquiry_df = inquiry_df.loc[sort_pos.sort_values().index] - rows = [ - Trial(**sorted_inquiry_df.iloc[i]) - for i in range(len(sorted_inquiry_df)) - ] - log.debug(f"EEG Samples:\n{format_samples(rows)}") - return rows diff --git a/bcipy/simulator/task/copy_phrase.py b/bcipy/simulator/task/copy_phrase.py index 5e5236516..e833a12d6 100644 --- a/bcipy/simulator/task/copy_phrase.py +++ b/bcipy/simulator/task/copy_phrase.py @@ -7,7 +7,7 @@ from bcipy.helpers.stimuli import InquirySchedule from bcipy.language.main import LanguageModel from bcipy.signal.model.base_model import SignalModel -from bcipy.simulator.helpers.sampler import Sampler +from bcipy.simulator.data.sampler import Sampler from bcipy.simulator.helpers.state import SimState from bcipy.simulator.task.null_display import NullDisplay from bcipy.task.control.evidence import EvidenceEvaluator diff --git a/bcipy/simulator/task/task_factory.py b/bcipy/simulator/task/task_factory.py index 8d08ac750..210ce54ae 100644 --- a/bcipy/simulator/task/task_factory.py +++ b/bcipy/simulator/task/task_factory.py @@ -5,10 +5,10 @@ from bcipy.helpers.language_model import init_language_model from bcipy.helpers.load import load_json_parameters, load_signal_models from bcipy.signal.model.base_model import SignalModel +from bcipy.simulator.data.data_engine import RawDataEngine +from bcipy.simulator.data.data_process import init_data_processor +from bcipy.simulator.data.sampler import Sampler, TargetNontargetSampler from bcipy.simulator.helpers import artifact -from bcipy.simulator.helpers.data_engine import RawDataEngine -from bcipy.simulator.helpers.data_process import init_data_processor -from bcipy.simulator.helpers.sampler import Sampler, TargetNontargetSampler from bcipy.simulator.task.copy_phrase import SimulatorCopyPhraseTask logger = logging.getLogger(artifact.TOP_LEVEL_LOGGER_NAME) diff --git a/bcipy/simulator/task/task_runner.py b/bcipy/simulator/task/task_runner.py index 9e7f6c6f0..f0f81f2d9 100644 --- a/bcipy/simulator/task/task_runner.py +++ b/bcipy/simulator/task/task_runner.py @@ -6,8 +6,8 @@ from glob import glob from pathlib import Path +from bcipy.simulator.data.sampler import TargetNontargetSampler from bcipy.simulator.helpers import artifact -from bcipy.simulator.helpers.sampler import TargetNontargetSampler from bcipy.simulator.task.copy_phrase import SimulatorCopyPhraseTask from bcipy.simulator.task.task_factory import TaskFactory diff --git a/bcipy/simulator/tests/test_data_engine.py b/bcipy/simulator/tests/test_data_engine.py index ada6bb0ee..0ff430d15 100644 --- a/bcipy/simulator/tests/test_data_engine.py +++ b/bcipy/simulator/tests/test_data_engine.py @@ -4,9 +4,9 @@ import numpy as np -from bcipy.simulator.helpers.data_engine import RawDataEngine -from bcipy.simulator.helpers.data_process import (DecodedTriggers, - ExtractedExperimentData) +from bcipy.simulator.data.data_engine import RawDataEngine +from bcipy.simulator.data.data_process import (DecodedTriggers, + ExtractedExperimentData) def mock_data() -> ExtractedExperimentData: From 980b93ac4506eb2b75d2b0865245eddfce32a9ac Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 23 Sep 2024 11:48:49 -0700 Subject: [PATCH 302/330] Fix issue with gitignore --- .gitignore | 1 + bcipy/simulator/data/data_engine.py | 201 ++++++++++++ bcipy/simulator/data/data_process.py | 475 +++++++++++++++++++++++++++ bcipy/simulator/data/sampler.py | 228 +++++++++++++ 4 files changed, 905 insertions(+) create mode 100644 bcipy/simulator/data/data_engine.py create mode 100644 bcipy/simulator/data/data_process.py create mode 100644 bcipy/simulator/data/sampler.py diff --git a/.gitignore b/.gitignore index 54fabb0bf..0367e5eae 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,4 @@ bcipy/language/out/ bcipy/simulator/tests/resource/ +!bcipy/simulator/data diff --git a/bcipy/simulator/data/data_engine.py b/bcipy/simulator/data/data_engine.py new file mode 100644 index 000000000..3878e3877 --- /dev/null +++ b/bcipy/simulator/data/data_engine.py @@ -0,0 +1,201 @@ +"""Classes and functions related to loading and querying data to be used in a simulation.""" +import logging +from abc import ABC, abstractmethod +from pathlib import Path +from typing import Any, List, NamedTuple, Union + +import numpy as np +import pandas as pd + +from bcipy.helpers.exceptions import TaskConfigurationException +from bcipy.helpers.parameters import Parameters +from bcipy.simulator.data import data_process +from bcipy.simulator.data.data_process import (ExtractedExperimentData, + RawDataProcessor) +from bcipy.simulator.helpers.artifact import TOP_LEVEL_LOGGER_NAME + +log = logging.getLogger(TOP_LEVEL_LOGGER_NAME) + + +class Trial(NamedTuple): + """Data for a given trial (a symbol within an Inquiry). + + Attrs + ----- + source - directory of the data source + inquiry_n - starts at 0; does not reset at each series + inquiry_pos - starts at 1; position in which the symbol was presented + symbol - alphabet symbol that was presented + target - 1 or 0 indicating a boolean of whether this was a target symbol + eeg - EEG data associated with this trial + """ + source: str + # series_n: int + inquiry_n: int + inquiry_pos: int + symbol: str + target: int + eeg: np.ndarray # Channels by Samples ; ndarray.shape = (channel_n, sample_n) + + def __str__(self): + fields = [ + f"source='{self.source}'", f"inquiry_n={self.inquiry_n}", + f"inquiry_pos={self.inquiry_pos}", f"symbol='{self.symbol}'", + f"target={self.target}", f"eeg={self.eeg.shape}" + ] + return f"Trial({', '.join(fields)})" + + def __repr__(self): + return str(self) + + +class QueryFilter(NamedTuple): + """Provides an API used to query a data engine for data.""" + field: str + operator: str + value: Any + + def is_valid(self) -> bool: + """Check if the filter is valid.""" + # pylint: disable=no-member + return self.field in Trial._fields and self.operator in self.valid_operators and isinstance( + self.value, Trial.__annotations__[self.field]) + + @property + def valid_operators(self) -> List[str]: + """List of supported query operators""" + return ["<", "<=", ">", ">=", "==", "!="] + + +class DataEngine(ABC): + """Abstract class for an object that loads data from one or more sources, + processes the data using a provided processor, and provides an interface + for querying the processed data.""" + + def load(self): + """Load data from sources.""" + + @property + def trials_df(self) -> pd.DataFrame: + """Returns a dataframe of Trial data.""" + + @abstractmethod + def query(self, + filters: List[QueryFilter], + samples: int = 1) -> List[Trial]: + """Query the data.""" + + +def convert_trials(data_source: ExtractedExperimentData) -> List[Trial]: + """Convert extracted data from a single data source to a list of Trials.""" + trials = [] + symbols_by_inquiry = data_source.symbols_by_inquiry + labels_by_inquiry = data_source.labels_by_inquiry + + for i, inquiry_eeg in enumerate(data_source.trials_by_inquiry): + # iterate through each inquiry + inquiry_symbols = symbols_by_inquiry[i] + inquiry_labels = labels_by_inquiry[i] + + for sym_i, symbol in enumerate(inquiry_symbols): + # iterate through each symbol in the inquiry + eeg_samples = [channel[sym_i] + for channel in inquiry_eeg] # (channel_n, sample_n) + trials.append( + Trial(source=data_source.source_dir, + inquiry_n=i, + inquiry_pos=sym_i + 1, + symbol=symbol, + target=inquiry_labels[sym_i], + eeg=np.array(eeg_samples))) + return trials + + +class RawDataEngine(DataEngine): + """ + Object that loads in list of session data folders and transforms data into + a queryable data structure. + """ + + def __init__(self, source_dirs: List[str], parameters: Parameters, + data_processor: RawDataProcessor): + self.source_dirs: List[str] = source_dirs + self.parameters: Parameters = parameters + + self.data_processor = data_processor + self.data: List[Union[ExtractedExperimentData, + data_process.ExtractedExperimentData]] = [] + self._trials_df = pd.DataFrame() + + self.load() + + def load(self) -> DataEngine: + """ + Processes raw data from data folders using provided parameter files. + - Extracts and stores trial data, stimuli, and stimuli_labels by inquiries + + Returns: + self for chaining + """ + if not self.data: + log.debug( + f"Loading data from {len(self.source_dirs)} source directories:" + ) + rows = [] + for i, source_dir in enumerate(self.source_dirs): + log.debug(f"{i+1}. {Path(source_dir).name}") + extracted_data = self.data_processor.process( + source_dir, self.parameters) + self.data.append(extracted_data) + rows.extend(convert_trials(extracted_data)) + + self._trials_df = pd.DataFrame(rows) + log.debug("Finished loading all data") + return self + + @property + def trials_df(self) -> pd.DataFrame: + """Dataframe of Trial data.""" + if not self.data_loaded: + self.load() + return self._trials_df.copy() + + @property + def data_loaded(self) -> bool: + """Check if the data has been loaded""" + return bool(self.data) + + def query(self, + filters: List[QueryFilter], + samples: int = 1) -> List[Trial]: + """Query the engine for data using one or more filters. + + Parameters + ---------- + filters - list of query filters + samples - number of results to return. + check_insufficient_results - if True, raises an exception when + there are an insufficient number of samples. + + Returns a list of Trials. + """ + assert self.data_loaded, "Data must be loaded before querying." + assert all(filt.is_valid() + for filt in filters), "Filters must all be valid" + assert samples >= 1, "Insufficient number of samples requested" + + expr = 'and '.join([self.query_condition(filt) for filt in filters]) + filtered_data = self._trials_df.query(expr) + if filtered_data is None or len(filtered_data) < samples: + raise TaskConfigurationException( + message="Not enough samples found") + + rows = filtered_data.sample(samples) + return [Trial(*row) for row in rows.itertuples(index=False, name=None)] + + def query_condition(self, query_filter: QueryFilter) -> str: + """Returns the string representation of of the given query condition.""" + value = query_filter.value + if (isinstance(value, str)): + value = f"'{value}'" + return f"{query_filter.field} {query_filter.operator} {value}" diff --git a/bcipy/simulator/data/data_process.py b/bcipy/simulator/data/data_process.py new file mode 100644 index 000000000..134cc7a15 --- /dev/null +++ b/bcipy/simulator/data/data_process.py @@ -0,0 +1,475 @@ +"""This module defines functionality related to pre-processing simulation data. +Processed data can be subsequently sampled and provided to a SignalModel +for classification.""" + +import logging as logger +from dataclasses import dataclass +from pathlib import Path +from typing import List, NamedTuple, Optional, Tuple, Type + +import numpy as np + +from bcipy.acquisition import devices +from bcipy.acquisition.devices import DeviceSpec +from bcipy.acquisition.multimodal import ContentType +from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, + DEFAULT_PARAMETER_FILENAME, TRIGGER_FILENAME) +from bcipy.helpers.acquisition import analysis_channels, raw_data_filename +from bcipy.helpers.list import grouper +from bcipy.helpers.load import load_json_parameters, load_raw_data +from bcipy.helpers.parameters import Parameters +from bcipy.helpers.raw_data import RawData +from bcipy.helpers.stimuli import update_inquiry_timing +from bcipy.helpers.triggers import TriggerType, trigger_decoder +from bcipy.signal.model.base_model import SignalModel +from bcipy.signal.process import (ERPTransformParams, filter_inquiries, + get_default_transform) +from bcipy.signal.process.transform import Composition +from bcipy.simulator.exceptions import (DeviceSpecNotFoundError, + IncompatibleDeviceSpec, + IncompatibleParameters) +from bcipy.task.data import EvidenceType + +log = logger.getLogger(__name__) + + +def load_device_data(data_folder: str, + content_type: str) -> Tuple[RawData, DeviceSpec]: + """Loads the data into the RawData format for the given content type. + + Parameters + ---------- + data_folder - session data folder with the raw data, device_spec, etc. + content_type - content type of the data to load. + + Returns + ------- + tuple of the raw data and the associated DeviceSpec for the device used + to record that data. + """ + devices_by_name = devices.load(Path(data_folder, + DEFAULT_DEVICE_SPEC_FILENAME), + replace=True) + specs = [ + spec for spec in devices_by_name.values() + if spec.is_active and spec.content_type == content_type + ] + if not specs: + raise DeviceSpecNotFoundError( + f"Suitable entry not found in {data_folder}/devices.json") + device_spec = specs[0] + raw_data_path = Path(data_folder, raw_data_filename(device_spec)) + if not raw_data_path.exists(): + raise FileNotFoundError(f"Raw data file not found: {raw_data_path}") + raw_data = load_raw_data(str(raw_data_path)) + + if device_spec != devices.preconfigured_device(raw_data.daq_type): + raise IncompatibleDeviceSpec( + "DeviceSpec in devices.json does not match the raw data.") + + return raw_data, device_spec + + +class DecodedTriggers(NamedTuple): + """Extracted properties after decoding the triggers.txt file and applying + the necessary offsets and corrections.""" + targetness: List[str] # TriggerType + times: List[float] + symbols: List[str] # symbol + corrected_times: List[float] + + +@dataclass() +class ExtractedExperimentData: + """Data from an acquisition device after reshaping and filtering.""" + source_dir: str + inquiries: np.ndarray + trials: np.ndarray + labels: List + inquiry_timing: List + + decoded_triggers: DecodedTriggers + trials_per_inquiry: int + + @property + def trials_by_inquiry(self) -> List[np.ndarray]: + """EEG data by inquiry. + shape (i_inquiry, n_channel, m_trial, x_sample) + """ + return np.split(self.trials, self.inquiries.shape[1], 1) + + @property + def symbols_by_inquiry(self) -> List[List[str]]: + """Get symbols by inquiry. shape (i_inquiry, s_alphabet_subset)""" + trigger_symbols = self.decoded_triggers.symbols + return [ + list(group) for group in grouper( + trigger_symbols, self.trials_per_inquiry, incomplete="ignore") + ] + + @property + def labels_by_inquiry(self) -> List[List[int]]: + """Shape (i_inquiry, s_alphabet_subset)""" + return self.labels + + +class TimingParams(NamedTuple): + """Timing-related parameters used in parsing the raw data into inquiries and trials.""" + # window (in seconds) of data collection after each stimulus presentation. + trial_window: Tuple[float, float] + # seconds before the start of the inquiry to use. + prestim_length: float + + # delay time (in seconds) between the final stimulus in one inquiry and the + # beginning (target stimulus or fixation cross) of the next inquiry. + task_buffer_length: float + stim_length: int + time_flash: float + + @property + def trials_per_inquiry(self) -> int: + """Alias for stim_length""" + return self.stim_length + + @property + def buffer(self) -> float: + """The task buffer length defines the min time between two inquiries + We use half of that time here to buffer during transforms""" + return self.task_buffer_length / 2 + + @property + def window_length(self) -> float: + """window (in seconds) of data collection after each stimulus presentation""" + start, end = self.trial_window + return end - start + + def __str__(self): + return ( + f"Timing settings: \n" + f"Trial Window: {self.trial_window[0]} to {self.trial_window[1]}s, " + f"Prestimulus Buffer: {self.prestim_length}s, Poststimulus Buffer: {self.buffer}s \n" + ) + + +def decode_triggers( + data_folder: str, + timing_params: TimingParams, + device_offset: float = 0.0, + excluded_triggers: Optional[List[TriggerType]] = None +) -> DecodedTriggers: + """Decode the triggers.txt file in the given directory.""" + if not excluded_triggers: + excluded_triggers = [ + TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION + ] + targetness, times, symbols = trigger_decoder( + offset=device_offset, + trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", + exclusion=excluded_triggers, + ) + corrected = [time + timing_params.trial_window[0] for time in times] + return DecodedTriggers(targetness=targetness, + times=times, + symbols=symbols, + corrected_times=corrected) + + +class ReshapedData(): + """Represents data components after reshaping""" + + def __init__(self): + self.inquiries: np.ndarray = np.array([]) + self.inquiry_labels: np.ndarray = np.array([]) + self.inquiry_timing: List[List[int]] = [] + + +class RawDataProcessor(): + """Processes raw data for a given device and converts it to + ExtractedExperimentData for use in the simulator. + + The main API method, `process`, provides a template method that can be + specialized by subclasses. This method performs the following for a given + data directory. + + 1. Loads the data file as a RawData object + 2. Extract timing information from trigger file based on the device of interest. + 3. Reshape and label the data. + 4. Apply filtering. + 5. Extract trials. + + Parameters + ---------- + model - signal model which will be used to classify the resulting data + """ + + def __init__(self, model: SignalModel): + self.check_model_compatibility(model) + self.model = model + + @property + def consumes(self) -> ContentType: + """ContentType of the data that should be input""" + + @property + def produces(self) -> EvidenceType: + """Type of evidence that is output""" + raise NotImplementedError + + @property + def content_type(self): + """Get the content_type of the data.""" + return self.consumes + + @property + def model_device(self) -> DeviceSpec: + """Device used to collect data for training the model.""" + return self.model.metadata.device_spec + + @property + def reshaper(self): + """data reshaper""" + return self.model.reshaper + + def check_model_compatibility(self, model: SignalModel) -> None: + """Check that the given model is compatible with this processor. + Checked on initialization.""" + assert model.metadata, "Metadata missing from signal model." + assert ContentType( + model.metadata.device_spec.content_type + ) == self.consumes, "DataProcessor is not compatible with the given model" + + def check_data_compatibility(self, data_device: DeviceSpec, + sim_timing_params: TimingParams, + data_timing_params: TimingParams) -> None: + """Check the compatibility of a dataset with the model.""" + if not self.devices_compatible(self.model_device, data_device): + raise IncompatibleDeviceSpec("Devices are not compatible") + if not self.parameters_compatible(sim_timing_params, + data_timing_params): + raise IncompatibleParameters( + "Timing parameters are not compatible") + + if data_device.static_offset == devices.DEFAULT_STATIC_OFFSET: + log.warning(' '.join([ + f"Using the default static offset to decode triggers for {data_device.name}.", + "Please make sure the correct offset is included in the devices.json file." + ])) + + def process(self, data_folder: str, + parameters: Parameters) -> ExtractedExperimentData: + """Load and process the data. + + Parameters + ---------- + data_folder - session directory for a given dataset + (contains raw_data, devices.json, and parameters.json). + parameters - parameters.json file for the calibration session used + to train the model / run the simulation. + """ + raw_data, device_spec = load_device_data(data_folder, + self.content_type.name) + data_parameters = load_json_parameters( + f"{data_folder}/{DEFAULT_PARAMETER_FILENAME}", value_cast=True) + + timing_params = parameters.instantiate(TimingParams) + + self.check_data_compatibility( + data_device=device_spec, + sim_timing_params=timing_params, + data_timing_params=data_parameters.instantiate(TimingParams)) + + decoded_triggers = decode_triggers(data_folder, timing_params, + device_spec.static_offset, + self.excluded_triggers()) + + reshaped_data = self.reshape_data(raw_data, decoded_triggers, + timing_params) + + filtered_reshaped_data, new_sample_rate = self.apply_filters( + reshaped_data, parameters, raw_data.sample_rate) + + trials = self.extract_trials(filtered_reshaped_data, timing_params, + new_sample_rate) + return ExtractedExperimentData( + data_folder, + filtered_reshaped_data.inquiries, + trials, + [list(arr) for arr in filtered_reshaped_data.inquiry_labels], + filtered_reshaped_data.inquiry_timing, + decoded_triggers=decoded_triggers, + trials_per_inquiry=timing_params.trials_per_inquiry) + + def reshape_data(self, raw_data: RawData, + decoded_triggers: DecodedTriggers, + timing_params: TimingParams) -> ReshapedData: + """Use the configured reshaper to reshape the data.""" + raise NotImplementedError + + def apply_filters(self, reshaped_data: ReshapedData, + parameters: Parameters, + data_sample_rate: int) -> Tuple[ReshapedData, int]: + """Apply any filters to the reshaped data. + + Returns + ------- + inquiry data after filtering, updated sample_rate + """ + raise NotImplementedError + + def extract_trials(self, filtered_reshaped_data: ReshapedData, + timing_params: TimingParams, + updated_sample_rate: float) -> np.ndarray: + """Extract trial data from the filtered, reshaped data. + + Returns + ------- + np.ndarray of shape (Channels, Trials, Samples) + """ + raise NotImplementedError + + def excluded_triggers(self): + """Trigger types to exclude when decoding""" + return [TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION] + + def devices_compatible(self, model_device: DeviceSpec, + data_device: DeviceSpec) -> bool: + """Check compatibility between the device on which the model was trained + and the device used for data collection.""" + + # TODO: check analysis channels? + return model_device.sample_rate == data_device.sample_rate + + def parameters_compatible(self, sim_timing_params: TimingParams, + data_timing_params: TimingParams) -> bool: + """Check compatibility between the parameters used for simulation and + those used for data collection.""" + return sim_timing_params.time_flash == data_timing_params.time_flash + + +class EegRawDataProcessor(RawDataProcessor): + """RawDataProcessor that processes EEG data.""" + consumes = ContentType.EEG + produces = EvidenceType.ERP + + def reshape_data(self, raw_data: RawData, + decoded_triggers: DecodedTriggers, + timing_params: TimingParams) -> ReshapedData: + """Use the configured reshaper to reshape the data.""" + + data, _fs = raw_data.by_channel() + channel_map = analysis_channels(raw_data.channels, self.model_device) + inquiries, inquiry_labels, inquiry_timing = self.reshaper( + trial_targetness_label=decoded_triggers.targetness, + timing_info=decoded_triggers.corrected_times, + eeg_data=data, + sample_rate=raw_data.sample_rate, + trials_per_inquiry=timing_params.trials_per_inquiry, + channel_map=channel_map, + poststimulus_length=timing_params.window_length, + prestimulus_length=timing_params.prestim_length, + transformation_buffer=timing_params.buffer, + ) + reshaped = ReshapedData() + reshaped.inquiries = inquiries + reshaped.inquiry_labels = inquiry_labels + reshaped.inquiry_timing = inquiry_timing + return reshaped + + def apply_filters(self, reshaped_data: ReshapedData, + parameters: Parameters, + data_sample_rate: int) -> Tuple[ReshapedData, int]: + """Apply any filters to the reshaped data. + + Returns + ------- + inquiry data after filtering, updated sample_rate + """ + transform_params = parameters.instantiate(ERPTransformParams) + transform = self.get_transform(transform_params, data_sample_rate) + inquiries, fs = filter_inquiries(reshaped_data.inquiries, transform, + data_sample_rate) + inquiry_timing_ints: List[List[int]] = [ + list(map(int, inq)) for inq in reshaped_data.inquiry_timing + ] + filtered_reshaped_data = ReshapedData() + filtered_reshaped_data.inquiries = inquiries + filtered_reshaped_data.inquiry_timing = update_inquiry_timing( + inquiry_timing_ints, transform_params.down_sampling_rate) + filtered_reshaped_data.inquiry_labels = reshaped_data.inquiry_labels + return filtered_reshaped_data, fs + + def extract_trials(self, filtered_reshaped_data: ReshapedData, + timing_params: TimingParams, + updated_sample_rate: float) -> np.ndarray: + """Extract trial data from the filtered, reshaped data. + + Returns + ------- + np.ndarray of shape (Channels, Trials, Samples) + """ + trial_duration_samples = int(timing_params.window_length * + updated_sample_rate) + return self.reshaper.extract_trials( + filtered_reshaped_data.inquiries, trial_duration_samples, + filtered_reshaped_data.inquiry_timing) + + def get_transform(self, transform_params: ERPTransformParams, + data_sample_rate: int) -> Composition: + """"Get the transform used for filtering the data.""" + return get_default_transform( + sample_rate_hz=data_sample_rate, + notch_freq_hz=transform_params.notch_filter_frequency, + bandpass_low=transform_params.filter_low, + bandpass_high=transform_params.filter_high, + bandpass_order=transform_params.filter_order, + downsample_factor=transform_params.down_sampling_rate, + ) + + +# Module functions for matching a model to the correct processor. +def get_processor( + data_source: ContentType, + evidence_type: Optional[EvidenceType] = None +) -> Type[RawDataProcessor]: + """Returns the matching processor class. + + Parameters + ---------- + data_source - type of data that the processor should consume + evidence_type - type of evidence that the processor should produce. + """ + matches = [ + cls for cls in RawDataProcessor.__subclasses__() + if cls.consumes == data_source and ( + evidence_type is None or cls.produces == evidence_type) + ] + if matches: + return matches[0] + else: + msg = f"Data processor not found for {data_source.name}" + if evidence_type: + msg += f" -> {evidence_type.name}" + raise Exception(msg) + + +def find_data_processor(model: SignalModel) -> Type[RawDataProcessor]: + """Get the DataProcessor appropriate for the given model.""" + content_type = ContentType(model.metadata.device_spec.content_type) + # Metadata may provide an EvidenceType with a model so the same data source can + # be used to produce multiple types of evidence (ex. alpha) + evidence_type = None + model_output = model.metadata.evidence_type + if model_output: + try: + evidence_type = EvidenceType(model_output.upper()) + except ValueError: + logger.error(f"Unsupported evidence type: {model_output}") + + return get_processor(content_type, evidence_type) + + +def init_data_processor(signal_model: SignalModel) -> RawDataProcessor: + """Find an DataProcessor that matches the given signal_model and + initialize it.""" + processor_class = find_data_processor(signal_model) + return processor_class(signal_model) diff --git a/bcipy/simulator/data/sampler.py b/bcipy/simulator/data/sampler.py new file mode 100644 index 000000000..17133a70e --- /dev/null +++ b/bcipy/simulator/data/sampler.py @@ -0,0 +1,228 @@ +import logging +import random +from abc import ABC +from collections import defaultdict +from pathlib import Path +from typing import Callable, Dict, List, Tuple + +import numpy as np +import pandas as pd + +from bcipy.simulator.data.data_engine import QueryFilter, RawDataEngine, Trial +from bcipy.simulator.helpers.state import SimState + +log = logging.getLogger(__name__) + + +def default_reshaper(eeg_responses: List[np.ndarray]) -> np.ndarray: + """Default data reshaper. + + Returns + ------- + ndarray with shape (channel_n, trial_n, sample_n) + """ + + channels_eeg: List[List[np.ndarray]] = [ + [] for i in range(len(eeg_responses[0])) + ] + + for _i, trial_channels_eeg in enumerate(eeg_responses): + for c_i, channel_eeg in enumerate(trial_channels_eeg): + channels_eeg[c_i].append(channel_eeg) + + return np.array(channels_eeg) + + +class Sampler(ABC): + """Represents a strategy for sampling signal model data from a DataEngine + comprised of signal data from one or more data collection sessions.""" + + def __init__(self, data_engine: RawDataEngine): + self.data_engine: RawDataEngine = data_engine + self.model_input_reshaper: Callable = default_reshaper + + def sample(self, state: SimState) -> List[Trial]: + """ + Query the data engine for a list of trials corresponding to each + currently displayed symbol. + + Parameters + ---------- + state - specifies the target symbol and current inquiry (displayed symbols). + + Returns + ------- + a list of Trials with an item for each symbol in the current inquiry. + """ + raise NotImplementedError + + def sample_data(self, state: SimState) -> np.ndarray: + """ + Query for trials and reshape for signal model input according to the + provided reshaper. + + Return: + ndarray of shape (n_channel, n_trial, n_sample) + """ + trials = self.sample(state) + return self.reshaped(trials) + + def sample_with_context(self, + state: SimState) -> Tuple[np.ndarray, List[Trial]]: + """ + Returns + ------- + A tuple of the reshaped data (ndarray of shape (n_channel, n_trial, n_sample)) as + well as a list of Trial data (metadata and data not reshaped) for context. + """ + trials = self.sample(state) + data = self.reshaped(trials) + return data, trials + + def reshaped(self, sample_rows: List[Trial]) -> np.ndarray: + """Returns the queried trials reshaped into a format that a model can predict.""" + return self.model_input_reshaper([trial.eeg for trial in sample_rows]) + + def set_reshaper(self, reshaper: Callable): + """Set the reshaper""" + self.model_input_reshaper = reshaper + + def __str__(self): + return f"<{self.__class__.__name__}>" + + +class TargetNontargetSampler(Sampler): + """Sampler that that queries based on target/non-target label.""" + + def sample(self, state: SimState) -> List[Trial]: + sample_rows = [] + for symbol in state.display_alphabet: + filters = self.query_filters( + symbol, is_target=(symbol == state.target_symbol)) + filtered_data = self.data_engine.query(filters, samples=1) + sample_rows.append(filtered_data[0]) + + log.debug(f"Samples:\n{format_samples(sample_rows)}") + return sample_rows + + def query_filters(self, symbol: str, is_target: bool) -> List[QueryFilter]: + """Expression used to query for a single sample.""" + # QueryFilter('symbol', '==', symbol) + return [QueryFilter('target', '==', int(is_target))] + + +class InquirySampler(Sampler): + """Samples an inquiry of data at a time.""" + + def __init__(self, data_engine: RawDataEngine): + super().__init__(data_engine) + + # map source to inquiry numbers + self.data = self.data_engine.trials_df + self.target_inquiries, self.no_target_inquiries = self.prepare_data( + self.data) + + def prepare_data( + self, data: pd.DataFrame + ) -> Tuple[Dict[Path, List[int]], Dict[Path, List[int]]]: + """Partition the data into those inquiries that displayed the target + and those that did not. The resulting data structures map the data + source with a list of inquiry_n numbers.""" + + target_inquiries = defaultdict(list) + no_target_inquiries = defaultdict(list) + + # TODO: there is probably a more optimal way to use pandas to compute. + # Look into groupby. + for source in data['source'].unique(): + source_df = data[data['source'] == source] + for n in source_df['inquiry_n'].unique(): + inquiry_df = source_df[source_df['inquiry_n'] == n] + has_target = inquiry_df[inquiry_df['target'] == + 1]['target'].any() + + if has_target: + target_inquiries[source].append(n) + else: + no_target_inquiries[source].append(n) + + return target_inquiries, no_target_inquiries + + def sample(self, state: SimState) -> List[Trial]: + """Samples a random inquiry for a random data source. + + Ensures that if a target is shown in the current inquiry the sampled + data will be from an inquiry where the target was presented. + + Parameters + ---------- + state - specifies the target symbol and current inquiry (displayed symbols). + + Returns + ------- + a list of Trials with an item for each symbol in the current + inquiry. + """ + + target_letter = state.target_symbol + inquiry_letter_subset = state.display_alphabet + + if target_letter in inquiry_letter_subset: + source_inquiries = self.target_inquiries + target_position = inquiry_letter_subset.index(target_letter) + 1 + else: + source_inquiries = self.no_target_inquiries + target_position = 0 # unused + + # randomly select a valid data source and inquiry + data_source = random.choice(list(source_inquiries.keys())) + inquiry_n = random.choice(source_inquiries[data_source]) + + # select all trials for the data_source and inquiry + inquiry_df = self.data.loc[(self.data['source'] == data_source) + & (self.data['inquiry_n'] == inquiry_n)] + assert len(inquiry_df) == len( + inquiry_letter_subset), f"Invalid data source {data_source}" + + # The inquiry may need to be re-ordered to ensure that the target is in + # the correct position. We do this by sorting the dataframe on a custom + # column that is the inquiry_pos for all non-targets, and the + # new_target_position for the target. + inquiry_target_position = target_position + if target_letter in inquiry_letter_subset: + inquiry_target_index = inquiry_df[inquiry_df['target'] == + 1].index[0] + inquiry_target_position = inquiry_df.index.tolist().index( + inquiry_target_index) + + if inquiry_target_position == target_position: + # target already in the correct location, no need to adjust + new_target_position = inquiry_target_position + 0.0 + elif inquiry_target_position < target_position: + # target in the inquiry needs to be pushed later in the inquiry; + # There is another symbol currently at that position, so we need + # to ensure that the target is past that symbol (by adding 0.5). + new_target_position = target_position + 0.5 + elif inquiry_target_position > target_position: + # the target in the inquiry needs to be moved earlier in the inquiry; + # there is another non-target symbol currently at that position so + # the target needs to be moved before that symbol. + new_target_position = target_position - 0.5 + + # define a sort column to move the target in the inquiry to the desired index + sort_pos = inquiry_df['inquiry_pos'].where(inquiry_df['target'] == 0, + new_target_position) + + # select the inquiry items in sorted position + sorted_inquiry_df = inquiry_df.loc[sort_pos.sort_values().index] + rows = [ + Trial(**sorted_inquiry_df.iloc[i]) + for i in range(len(sorted_inquiry_df)) + ] + log.debug(f"EEG Samples:\n{format_samples(rows)}") + return rows + + +def format_samples(sample_rows: List[Trial]) -> str: + """Returns a tabular representation of the sample rows.""" + return '\n'.join([str(row) for row in sample_rows]) From bd29127dbd0aa91d8b213bf0b48742c316fb9d8f Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 23 Sep 2024 13:31:12 -0700 Subject: [PATCH 303/330] Added functionality for debugging simulator output --- bcipy/simulator/helpers/state.py | 43 +++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/bcipy/simulator/helpers/state.py b/bcipy/simulator/helpers/state.py index 0a07e2853..ed4671c7a 100644 --- a/bcipy/simulator/helpers/state.py +++ b/bcipy/simulator/helpers/state.py @@ -1,5 +1,11 @@ +import argparse +import json from dataclasses import dataclass -from typing import List +from pathlib import Path +from typing import Any, Dict, List + +from bcipy.config import SESSION_DATA_FILENAME +from bcipy.helpers.session import read_session @dataclass @@ -11,3 +17,38 @@ class SimState: display_alphabet: List[str] inquiry_n: int series_n: int + + +def get_inquiry(session_dir: str, n: int) -> Dict[str, Any]: + """Extracts an inquiry from a session.json file. Useful for debugging + simulator output.""" + session = read_session(f"{session_dir}/{SESSION_DATA_FILENAME}") + inq = session.all_inquiries[n] + return inq.stim_evidence(session.symbol_set) + + +def main(): + """Command line program to get data from a single inquiry within a session.""" + parser = argparse.ArgumentParser() + parser.add_argument( + "-d", + "--data_folder", + type=Path, + required=True, + help= + "Session data folder to be processed. Singular wrapper dir with data folders" + ) + parser.add_argument("-n", + type=int, + required=False, + default=1, + help="inquiry number") + + args = parser.parse_args() + inq = get_inquiry(args.data_folder, args.n) + print(json.dumps(inq, indent=2)) + + +if __name__ == '__main__': + # python bcipy/simulator/helpers/state.py -h + main() From d38dd66129938159a9199d46f23b60ad2799c4e8 Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 23 Sep 2024 13:59:26 -0700 Subject: [PATCH 304/330] Fixed linting issue --- bcipy/simulator/helpers/state.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/bcipy/simulator/helpers/state.py b/bcipy/simulator/helpers/state.py index ed4671c7a..a048dd8a7 100644 --- a/bcipy/simulator/helpers/state.py +++ b/bcipy/simulator/helpers/state.py @@ -30,14 +30,11 @@ def get_inquiry(session_dir: str, n: int) -> Dict[str, Any]: def main(): """Command line program to get data from a single inquiry within a session.""" parser = argparse.ArgumentParser() - parser.add_argument( - "-d", - "--data_folder", - type=Path, - required=True, - help= - "Session data folder to be processed. Singular wrapper dir with data folders" - ) + parser.add_argument("-d", + "--data_folder", + type=Path, + required=True, + help="Folder with the session.json file") parser.add_argument("-n", type=int, required=False, From 226c4ccd22dafa473a44529ee413c9afd3e0dcb5 Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 23 Sep 2024 16:01:09 -0700 Subject: [PATCH 305/330] Add missing parameters to the simulation params file --- bcipy/simulator/task/task_factory.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bcipy/simulator/task/task_factory.py b/bcipy/simulator/task/task_factory.py index 210ce54ae..e25a6e239 100644 --- a/bcipy/simulator/task/task_factory.py +++ b/bcipy/simulator/task/task_factory.py @@ -4,6 +4,7 @@ from bcipy.helpers.language_model import init_language_model from bcipy.helpers.load import load_json_parameters, load_signal_models +from bcipy.helpers.parameters import DEFAULT_PARAMETERS_PATH from bcipy.signal.model.base_model import SignalModel from bcipy.simulator.data.data_engine import RawDataEngine from bcipy.simulator.data.data_process import init_data_processor @@ -33,6 +34,9 @@ def __init__(self, logger.info("Loading parameters") self.parameters = load_json_parameters(self.params_path, value_cast=True) + default_params = load_json_parameters(DEFAULT_PARAMETERS_PATH, value_cast=True) + # TODO: log which parameters were added + self.parameters.add_missing_items(default_params) logger.info("Loading signal models") self.signal_models = load_signal_models(directory=self.model_path) From 4af8825b689c095a51220d31714bd111064595c0 Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 23 Sep 2024 16:11:00 -0700 Subject: [PATCH 306/330] Revert changes on non-simulator modules --- bcipy/helpers/language_model.py | 1 - bcipy/parameters/parameters.json | 2 +- scripts/python/replay_session.py | 170 +++++++++++++++++++------------ 3 files changed, 106 insertions(+), 67 deletions(-) diff --git a/bcipy/helpers/language_model.py b/bcipy/helpers/language_model.py index 5b1d083bc..0c9d87d7c 100644 --- a/bcipy/helpers/language_model.py +++ b/bcipy/helpers/language_model.py @@ -49,7 +49,6 @@ def init_language_model(parameters: dict) -> LanguageModel: # select the relevant parameters into a dict. params = {key: parameters[key] for key in args & parameters.keys()} - return model(response_type=ResponseType.SYMBOL, symbol_set=alphabet(parameters), **params) diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index 1904fd979..e8f7d7b81 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -337,7 +337,7 @@ "type": "int" }, "time_flash": { - "value": "0.2", + "value": "0.25", "section": "bci_config", "readableName": "Stimulus Presentation Duration", "helpTip": "Specifies the duration of time (in seconds) that each stimulus is displayed in an inquiry.", diff --git a/scripts/python/replay_session.py b/scripts/python/replay_session.py index c869e65e7..239bc8a00 100644 --- a/scripts/python/replay_session.py +++ b/scripts/python/replay_session.py @@ -1,36 +1,39 @@ """Script that will replay sessions and allow us to simulate new model predictions on that data.""" import json import logging as logger -from typing import Tuple -from pathlib import Path import pickle +from pathlib import Path +from typing import Tuple import matplotlib.pyplot as plt import numpy as np import pandas as pd import seaborn as sns -from bcipy.config import ( - RAW_DATA_FILENAME, - TRIGGER_FILENAME, - DEFAULT_PARAMETER_FILENAME, SESSION_DATA_FILENAME, - DEFAULT_DEVICE_SPEC_FILENAME, -) -from bcipy.helpers.acquisition import analysis_channels + import bcipy.acquisition.devices as devices -from bcipy.helpers.language_model import init_language_model +from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, + DEFAULT_PARAMETER_FILENAME, RAW_DATA_FILENAME, + SESSION_DATA_FILENAME, TRIGGER_FILENAME) +from bcipy.helpers.acquisition import analysis_channels from bcipy.helpers.list import grouper from bcipy.helpers.load import load_json_parameters, load_raw_data -from bcipy.helpers.session import session_data, read_session, evidence_records from bcipy.helpers.stimuli import InquiryReshaper, update_inquiry_timing -from bcipy.helpers.triggers import TriggerType, trigger_decoder from bcipy.helpers.symbols import alphabet -from bcipy.language.model import kenlm +from bcipy.helpers.triggers import TriggerType, trigger_decoder from bcipy.signal.model import PcaRdaKdeModel -from bcipy.signal.process import get_default_transform, filter_inquiries, ERPTransformParams +from bcipy.signal.process import (ERPTransformParams, filter_inquiries, + get_default_transform) logger.getLogger().setLevel(logger.INFO) +def load_model(model_path: Path, k_folds: int, model_class=PcaRdaKdeModel): + """Load the model at the given path""" + with open(model_path, "rb") as f: + model = pickle.load(f) + return model + + def generate_replay_outputs( data_folder, parameters, @@ -59,12 +62,8 @@ def generate_replay_outputs( ------- tuple - new_model_outputs, old_model_target_output, old_model_nontarget_output """ - # k_folds = - # model = load_model(model_path, k_folds, model_class) - - base_model = PcaRdaKdeModel(parameters.get("k_folds")) - model = base_model.load(model_path) - + k_folds = parameters.get("k_folds") + model = load_model(model_path, k_folds, model_class) logger.info(f"Loaded model from {model_path}") # get trial information; to make backwards compatible, we will try to get the trial length @@ -83,6 +82,7 @@ def generate_replay_outputs( # get signal filtering information static_offset = parameters.get("static_trigger_offset") + k_folds = parameters.get("k_folds") transform_params = parameters.instantiate(ERPTransformParams) downsample_rate = transform_params.down_sampling_rate @@ -154,7 +154,7 @@ def generate_replay_outputs( inquiry_worth_of_trials = np.split(trials, inquiries.shape[1], 1) inquiry_worth_of_letters = grouper(trigger_symbols, trials_per_inquiry, incomplete="ignore") for i, (inquiry_trials, this_inquiry_letters, this_inquiry_labels) in enumerate( - zip(inquiry_worth_of_trials, inquiry_worth_of_letters, inquiry_labels) + zip(inquiry_worth_of_trials, inquiry_worth_of_letters, inquiry_labels) ): response = model.predict(inquiry_trials, this_inquiry_letters, symbol_set=symbol_set) if np.any(this_inquiry_labels == 1): @@ -177,49 +177,53 @@ def generate_replay_outputs( with open(data_folder / "replay_outputs.json", "w") as f: json.dump(outputs, f, indent=2) - # Get target and nontarget eeg values from actual experiment in session.json for comparison - session_records = evidence_records(read_session(data_folder / SESSION_DATA_FILENAME)) - all_target_eeg = [record.eeg for record in session_records if record.is_target == 1] - all_nontarget_eeg = [record.eeg for record in session_records if record.is_target == 0] + # Get values computed during actual experiment from session.json for comparison + session_json = data_folder / SESSION_DATA_FILENAME + all_target_eeg, all_nontarget_eeg = load_eeg_evidence_from_session_json(session_json, symbol_set) return outputs, all_target_eeg, all_nontarget_eeg -def plot_comparison_records(records, outdir, title="response_values", y_scale="log"): - df = pd.DataFrame.from_records(records) - logger.info(f"{df.describe()}") - ax = sns.stripplot( - x="which_model", - y="response_value", - data=df, - order=["old_target", "new_target", "old_nontarget", "new_nontarget"], - ) - sns.boxplot( - showmeans=True, - meanline=True, - meanprops={"color": "k", "ls": "-", "lw": 2}, - medianprops={"visible": False}, - whiskerprops={"visible": False}, - zorder=10, - x="which_model", - y="response_value", - data=df, - showfliers=False, - showbox=False, - showcaps=False, - ax=ax, - order=["old_target", "new_target", "old_nontarget", "new_nontarget"], - ) - ax.set(yscale=y_scale) - plt.savefig(outdir / f"{title}.stripplot.png", dpi=150, bbox_inches="tight") - plt.close() - ax = sns.boxplot( - x="which_model", - y="response_value", - data=df, - order=["old_target", "new_target", "old_nontarget", "new_nontarget"], - ) - ax.set(yscale=y_scale) - plt.savefig(outdir / f"{title}.boxplot.png", dpi=150, bbox_inches="tight") + +def load_eeg_evidence_from_session_json(session_json, symbol_set) -> Tuple[list, list]: + """Load EEG evidence from session.json file for comparison with replay outputs. + + Parameters + ---------- + session_json : str + Path to session.json file + symbol_set : list + List of symbols used in experiment + + Returns + ------- + all_target_eeg : list + List of EEG evidence for target stimuli + all_nontarget_eeg : list + List of EEG evidence for nontarget stimuli + """ + with open(session_json, "r") as f: + contents = json.load(f) + series = contents["series"] + + all_target_eeg = [] + all_nontarget_eeg = [] + + for inquiries in series.values(): + for inquiry in inquiries.values(): + if len(inquiry["eeg_evidence"]) < 1: + continue + else: + stim_label = inquiry["stimuli"][0] # name of symbols presented + stim_label.pop(0) # remove fixation cross + stim_indices = [symbol_set.index(sym) for sym in stim_label] + targetness = inquiry["target_info"] # targetness of stimuli + targetness.pop(0) # remove fixation cross + target = [index for index, label in zip(stim_indices, targetness) if label == "target"] + nontarget = [index for index, label in zip(stim_indices, targetness) if label == "nontarget"] + all_target_eeg.extend([inquiry["eeg_evidence"][pos] for pos in target]) + all_nontarget_eeg.extend([inquiry["eeg_evidence"][pos] for pos in nontarget]) + + return all_target_eeg, all_nontarget_eeg def plot_collected_outputs( @@ -261,7 +265,43 @@ def plot_collected_outputs( for nontarget_response in nontargets_with_old_model: records.append({"which_model": "old_nontarget", "response_value": nontarget_response}) - plot_comparison_records(records, outdir, y_scale="log") + df = pd.DataFrame.from_records(records) + logger.info(f"{df.describe()}") + ax = sns.stripplot( + x="which_model", + y="response_value", + data=df, + order=["old_target", "new_target", "old_nontarget", "new_nontarget"], + ) + sns.boxplot( + showmeans=True, + meanline=True, + meanprops={"color": "k", "ls": "-", "lw": 2}, + medianprops={"visible": False}, + whiskerprops={"visible": False}, + zorder=10, + x="which_model", + y="response_value", + data=df, + showfliers=False, + showbox=False, + showcaps=False, + ax=ax, + order=["old_target", "new_target", "old_nontarget", "new_nontarget"], + ) + + ax.set(yscale="log") + plt.savefig(outdir / "response_values.stripplot.png", dpi=150, bbox_inches="tight") + plt.close() + ax = sns.boxplot( + x="which_model", + y="response_value", + data=df, + order=["old_target", "new_target", "old_nontarget", "new_nontarget"], + ) + ax.set(yscale="log") + plt.savefig(outdir / "response_values.boxplot.png", dpi=150, bbox_inches="tight") + if __name__ == "__main__": import argparse @@ -305,8 +345,6 @@ def plot_collected_outputs( logger.info(f"Loading params from {params_file}") params = load_json_parameters(params_file, value_cast=True) - # breakpoint() - # Generate replay outputs using the model provided against the session data in data_folder outputs, all_target_eeg, all_nontarget_eeg = generate_replay_outputs( data_folder, params, args.model_file, write_output=False @@ -321,4 +359,6 @@ def plot_collected_outputs( nontargets_with_old_model, args.outdir) - logger.info("Replay complete.") + # breakpoint() + + logger.info("Replay complete.") \ No newline at end of file From c211198da9e636736ab5f69e9359da5ddb910a51 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 25 Sep 2024 15:53:09 -0700 Subject: [PATCH 307/330] Cleanup based on PR feedback --- bcipy/simulator/README.md | 2 +- bcipy/simulator/data/data_engine.py | 3 +-- bcipy/simulator/data/data_process.py | 2 ++ bcipy/simulator/data/sampler.py | 11 +++++---- bcipy/simulator/task/copy_phrase.py | 19 ++++++--------- bcipy/simulator/task/task_factory.py | 4 ++-- bcipy/simulator/task/task_runner.py | 24 +++++-------------- bcipy/simulator/{helpers => util}/artifact.py | 13 ++++++++++ bcipy/simulator/{helpers => util}/state.py | 0 bcipy/task/paradigm/rsvp/copy_phrase.py | 9 ++++--- 10 files changed, 44 insertions(+), 43 deletions(-) rename bcipy/simulator/{helpers => util}/artifact.py (87%) rename bcipy/simulator/{helpers => util}/state.py (100%) diff --git a/bcipy/simulator/README.md b/bcipy/simulator/README.md index e99fc2f4e..0a239431b 100644 --- a/bcipy/simulator/README.md +++ b/bcipy/simulator/README.md @@ -66,5 +66,5 @@ The simulator is structured to support evidence from multiple devices (multimoda * Only provides EEG support * Only one sampler maybe provided for all devices. Ideally we should support a different sampling strategy for each device. -* Only the RSVP Copy Phrase may be simulated +* Only Copy Phrase is currently supported. * Metrics are collected per run, but not summarized across all runs. \ No newline at end of file diff --git a/bcipy/simulator/data/data_engine.py b/bcipy/simulator/data/data_engine.py index 3878e3877..0e10813ca 100644 --- a/bcipy/simulator/data/data_engine.py +++ b/bcipy/simulator/data/data_engine.py @@ -12,7 +12,7 @@ from bcipy.simulator.data import data_process from bcipy.simulator.data.data_process import (ExtractedExperimentData, RawDataProcessor) -from bcipy.simulator.helpers.artifact import TOP_LEVEL_LOGGER_NAME +from bcipy.simulator.util.artifact import TOP_LEVEL_LOGGER_NAME log = logging.getLogger(TOP_LEVEL_LOGGER_NAME) @@ -30,7 +30,6 @@ class Trial(NamedTuple): eeg - EEG data associated with this trial """ source: str - # series_n: int inquiry_n: int inquiry_pos: int symbol: str diff --git a/bcipy/simulator/data/data_process.py b/bcipy/simulator/data/data_process.py index 134cc7a15..c56153a60 100644 --- a/bcipy/simulator/data/data_process.py +++ b/bcipy/simulator/data/data_process.py @@ -3,6 +3,7 @@ for classification.""" import logging as logger +from abc import abstractmethod from dataclasses import dataclass from pathlib import Path from typing import List, NamedTuple, Optional, Tuple, Type @@ -299,6 +300,7 @@ def process(self, data_folder: str, decoded_triggers=decoded_triggers, trials_per_inquiry=timing_params.trials_per_inquiry) + @abstractmethod def reshape_data(self, raw_data: RawData, decoded_triggers: DecodedTriggers, timing_params: TimingParams) -> ReshapedData: diff --git a/bcipy/simulator/data/sampler.py b/bcipy/simulator/data/sampler.py index 17133a70e..fa1e3f8c4 100644 --- a/bcipy/simulator/data/sampler.py +++ b/bcipy/simulator/data/sampler.py @@ -1,6 +1,6 @@ import logging import random -from abc import ABC +from abc import ABC, abstractmethod from collections import defaultdict from pathlib import Path from typing import Callable, Dict, List, Tuple @@ -9,7 +9,7 @@ import pandas as pd from bcipy.simulator.data.data_engine import QueryFilter, RawDataEngine, Trial -from bcipy.simulator.helpers.state import SimState +from bcipy.simulator.util.state import SimState log = logging.getLogger(__name__) @@ -41,6 +41,7 @@ def __init__(self, data_engine: RawDataEngine): self.data_engine: RawDataEngine = data_engine self.model_input_reshaper: Callable = default_reshaper + @abstractmethod def sample(self, state: SimState) -> List[Trial]: """ Query the data engine for a list of trials corresponding to each @@ -132,8 +133,6 @@ def prepare_data( target_inquiries = defaultdict(list) no_target_inquiries = defaultdict(list) - # TODO: there is probably a more optimal way to use pandas to compute. - # Look into groupby. for source in data['source'].unique(): source_df = data[data['source'] == source] for n in source_df['inquiry_n'].unique(): @@ -152,7 +151,9 @@ def sample(self, state: SimState) -> List[Trial]: """Samples a random inquiry for a random data source. Ensures that if a target is shown in the current inquiry the sampled - data will be from an inquiry where the target was presented. + data will be from an inquiry where the target was presented. Note that + the inquiry may need to be re-ordered to ensure that the target is in + the correct position. Parameters ---------- diff --git a/bcipy/simulator/task/copy_phrase.py b/bcipy/simulator/task/copy_phrase.py index e833a12d6..1d78c44ec 100644 --- a/bcipy/simulator/task/copy_phrase.py +++ b/bcipy/simulator/task/copy_phrase.py @@ -8,8 +8,8 @@ from bcipy.language.main import LanguageModel from bcipy.signal.model.base_model import SignalModel from bcipy.simulator.data.sampler import Sampler -from bcipy.simulator.helpers.state import SimState from bcipy.simulator.task.null_display import NullDisplay +from bcipy.simulator.util.state import SimState from bcipy.task.control.evidence import EvidenceEvaluator from bcipy.task.data import EvidenceType from bcipy.task.paradigm.rsvp.copy_phrase import RSVPCopyPhraseTask @@ -74,11 +74,9 @@ def present_inquiry( def show_feedback(self, selection: str, correct: bool = True) -> None: """Override to do nothing""" - # TODO: consider tracking metrics def compute_button_press_evidence( self, proceed: bool) -> Optional[Tuple[EvidenceType, List[float]]]: - # TODO: consider adding a sampler for this return None def compute_device_evidence( @@ -107,7 +105,6 @@ def exit_display(self) -> None: """Close the UI and cleanup.""" def elapsed_seconds(self) -> float: - # TODO: estimate this return 0.0 def write_offset_trigger(self) -> None: @@ -120,14 +117,12 @@ def write_trigger_data(self, stim_times: List[Tuple[str, float]], def get_sim_state(self) -> SimState: """Get the current state in the format expected by the simulation tools.""" - return SimState( - target_symbol=self.next_target(), - current_sentence=self.spelled_text, - target_sentence=self.copy_phrase, - display_alphabet=self.current_symbols(), - # TODO: - inquiry_n=0, - series_n=0) + return SimState(target_symbol=self.next_target(), + current_sentence=self.spelled_text, + target_sentence=self.copy_phrase, + display_alphabet=self.current_symbols(), + inquiry_n=len(self.session.series[-1]), + series_n=len(self.session.series)) def current_symbols(self) -> List[str]: """Get the list of symbols from the current inquiry.""" diff --git a/bcipy/simulator/task/task_factory.py b/bcipy/simulator/task/task_factory.py index e25a6e239..0f4f9b927 100644 --- a/bcipy/simulator/task/task_factory.py +++ b/bcipy/simulator/task/task_factory.py @@ -9,10 +9,10 @@ from bcipy.simulator.data.data_engine import RawDataEngine from bcipy.simulator.data.data_process import init_data_processor from bcipy.simulator.data.sampler import Sampler, TargetNontargetSampler -from bcipy.simulator.helpers import artifact from bcipy.simulator.task.copy_phrase import SimulatorCopyPhraseTask +from bcipy.simulator.util.artifact import TOP_LEVEL_LOGGER_NAME -logger = logging.getLogger(artifact.TOP_LEVEL_LOGGER_NAME) +logger = logging.getLogger(TOP_LEVEL_LOGGER_NAME) class TaskFactory(): diff --git a/bcipy/simulator/task/task_runner.py b/bcipy/simulator/task/task_runner.py index f0f81f2d9..17cacce27 100644 --- a/bcipy/simulator/task/task_runner.py +++ b/bcipy/simulator/task/task_runner.py @@ -2,29 +2,17 @@ import argparse import logging -import os from glob import glob from pathlib import Path from bcipy.simulator.data.sampler import TargetNontargetSampler -from bcipy.simulator.helpers import artifact from bcipy.simulator.task.copy_phrase import SimulatorCopyPhraseTask from bcipy.simulator.task.task_factory import TaskFactory +from bcipy.simulator.util.artifact import (TOP_LEVEL_LOGGER_NAME, + configure_run_directory, + init_simulation_dir) -logger = logging.getLogger(artifact.TOP_LEVEL_LOGGER_NAME) - - -def configure_run_directory(sim_dir: str, run: int) -> str: - """Create the necessary directories and configure the logger. - Returns the run directory. - """ - run_name = f"run_{run}" - path = f"{sim_dir}/{run_name}" - os.mkdir(path) - artifact.configure_logger(log_path=path, - file_name=f"{run_name}.log", - use_stdout=False) - return path +logger = logging.getLogger(TOP_LEVEL_LOGGER_NAME) class TaskRunner(): @@ -39,7 +27,7 @@ def __init__(self, self.sim_dir = save_dir self.runs = runs - def run(self): + def run(self) -> None: """Run one or more simulations""" self.task_factory.parameters.save(self.sim_dir) for i in range(self.runs): @@ -89,7 +77,7 @@ def main(): if Path(d).is_dir() ] - sim_dir = artifact.init_simulation_dir() + sim_dir = init_simulation_dir() logger.info(sim_dir) task_factory = TaskFactory(params_path=sim_args['parameters'], model_path=sim_args['model_path'], diff --git a/bcipy/simulator/helpers/artifact.py b/bcipy/simulator/util/artifact.py similarity index 87% rename from bcipy/simulator/helpers/artifact.py rename to bcipy/simulator/util/artifact.py index b828adc42..dcc39f434 100644 --- a/bcipy/simulator/helpers/artifact.py +++ b/bcipy/simulator/util/artifact.py @@ -74,6 +74,19 @@ def init_simulation_dir(save_location: str = DEFAULT_SAVE_LOCATION, return save_dir +def configure_run_directory(sim_dir: str, run: int) -> str: + """Create the necessary directories and configure the logger. + Returns the run directory. + """ + run_name = f"run_{run}" + path = f"{sim_dir}/{run_name}" + os.mkdir(path) + configure_logger(log_path=path, + file_name=f"{run_name}.log", + use_stdout=False) + return path + + def directory_name() -> str: """Name of the directory for a new simulation run.""" return datetime.datetime.now().strftime("SIM_%m-%d-%Y_%H_%M_%S") diff --git a/bcipy/simulator/helpers/state.py b/bcipy/simulator/util/state.py similarity index 100% rename from bcipy/simulator/helpers/state.py rename to bcipy/simulator/util/state.py diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index 7586eb9e1..645490a95 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -126,8 +126,6 @@ def __init__( self.validate_parameters() self.static_clock = None - # self.static_clock = core.StaticPeriod( - # screenHz=self.window.getActualFrameRate()) self.experiment_clock = Clock() self.start_time = self.experiment_clock.getTime() @@ -141,7 +139,7 @@ def __init__( self.file_save = file_save self.save_session_every_inquiry = True - self.trigger_handler = TriggerHandler(self.file_save, TRIGGER_FILENAME, FlushFrequency.EVERY) + self.trigger_handler = self.default_trigger_handler() self.session_save_location = f"{self.file_save}/{SESSION_DATA_FILENAME}" self.copy_phrase = parameters['task_text'] @@ -204,6 +202,11 @@ def init_evidence_types( evidence_types.append(EvidenceType.BTN) return evidence_types + def default_trigger_handler(self) -> TriggerHandler: + """Default trigger handler""" + return TriggerHandler(self.file_save, TRIGGER_FILENAME, + FlushFrequency.EVERY) + def setup(self) -> None: """Initialize/reset parameters used in the execute run loop.""" From 2aeb419c5662b75e6a69b8db4fba5d026b578485 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 25 Sep 2024 16:37:56 -0700 Subject: [PATCH 308/330] Added logging for missing parameters --- bcipy/simulator/task/task_factory.py | 30 ++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/bcipy/simulator/task/task_factory.py b/bcipy/simulator/task/task_factory.py index 0f4f9b927..4de38fe0b 100644 --- a/bcipy/simulator/task/task_factory.py +++ b/bcipy/simulator/task/task_factory.py @@ -18,13 +18,13 @@ class TaskFactory(): """Constructs the hierarchy of objects necessary for initializing a task.""" - # TODO: sampling strategy per model type - def __init__(self, - params_path: str, - model_path: str, - source_dirs: List[str], - sampling_strategy: Type[Sampler] = TargetNontargetSampler, - task: Type[SimulatorCopyPhraseTask] = SimulatorCopyPhraseTask): + def __init__( + self, + params_path: str, + model_path: str, + source_dirs: List[str], + sampling_strategy: Type[Sampler] = TargetNontargetSampler, + task: Type[SimulatorCopyPhraseTask] = SimulatorCopyPhraseTask): self.params_path = params_path self.model_path = model_path self.source_dirs = source_dirs @@ -34,8 +34,16 @@ def __init__(self, logger.info("Loading parameters") self.parameters = load_json_parameters(self.params_path, value_cast=True) - default_params = load_json_parameters(DEFAULT_PARAMETERS_PATH, value_cast=True) - # TODO: log which parameters were added + default_params = load_json_parameters(DEFAULT_PARAMETERS_PATH, + value_cast=True) + + added_params = [ + key + for key, change in default_params.diff(self.parameters).items() + if change.original_value is None + ] + logger.info( + f"Added missing parameters using default values: {added_params}") self.parameters.add_missing_items(default_params) logger.info("Loading signal models") @@ -49,7 +57,9 @@ def __init__(self, self.samplers = self.init_samplers(self.signal_models) logger.debug(self.samplers) - def init_samplers(self, signal_models: List[SignalModel]) -> Dict[SignalModel, Sampler]: + def init_samplers( + self, + signal_models: List[SignalModel]) -> Dict[SignalModel, Sampler]: """Initializes the evidence evaluators from the provided signal models. Returns a list of evaluators for active devices. Raises an exception if From 45524bb16ffde2e09d5160fe7a807130cc249488 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 25 Sep 2024 16:53:10 -0700 Subject: [PATCH 309/330] Updated documentation --- README.md | 11 +++++++++++ bcipy/simulator/README.md | 3 +++ setup.py | 13 +++++++++---- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 9c19fd7d4..d17f471cc 100644 --- a/README.md +++ b/README.md @@ -78,6 +78,16 @@ from bcipy.helpers import system_utils system_utils.get_system_info() ``` +#### Simulator Usage + +The simulator can be run using the command line utility `bcipy-sim`. + +Ex. +`bcipy-sim -d my_data_folder/ -p my_parameters.json -m my_models/ -n 5` + +Run `bcipy-sim --help` for documentation or see the README in the simulator module. + + ## Glossary ----------- @@ -115,6 +125,7 @@ This a list of the major modules and their functionality. Each module will conta - `feedback`: feedback mechanisms for sound and visual stimuli. - `main`: executor of experiments. Main entry point into the application - `config`: configuration parameters for the application, including paths and data filenames. +- `simulator`: provides support for running simulations based off of previously collected data. ## Paradigms diff --git a/bcipy/simulator/README.md b/bcipy/simulator/README.md index 0a239431b..e3854a46c 100644 --- a/bcipy/simulator/README.md +++ b/bcipy/simulator/README.md @@ -25,6 +25,9 @@ optional arguments: -n N Number of times to run the simulation ``` +For example, +`$ python bcipy/simulator -d my_data_folder/ -p my_parameters.json -m my_models/ -n 5` + #### Program Args - `d` : the data wrapper folder argument is necessary. This folder is expected to contain 1 or more session folders. Each session folder should contain diff --git a/setup.py b/setup.py index f120b6148..7d0c34f83 100644 --- a/setup.py +++ b/setup.py @@ -17,11 +17,11 @@ """ import os -import sys import platform +import sys from shutil import rmtree -from setuptools import find_packages, setup, Command +from setuptools import Command, find_packages, setup # Package meta-data. NAME = 'bcipy' @@ -100,9 +100,14 @@ def run(self): author_email=EMAIL, python_requires=REQUIRES_PYTHON, url=URL, - packages=find_packages(exclude=('tests', 'demo', 'data', )), + packages=find_packages(exclude=( + 'tests', + 'demo', + 'data', + )), entry_points={ - 'console_scripts': ['bcipy = bcipy.main:bcipy_main'], + 'console_scripts': + ['bcipy = bcipy.main:bcipy_main', 'bcipy-sim = bcipy.simulator'], }, install_requires=REQUIRED, include_package_data=True, From 5ffff7d411c34c9e07c1b0ac848273e5a2cf8d91 Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 26 Sep 2024 16:03:48 -0700 Subject: [PATCH 310/330] Added stoppage criteria for max incorrect --- bcipy/helpers/task.py | 19 ++++++++++++++ bcipy/helpers/tests/test_task.py | 26 ++++++++++++++----- bcipy/parameters/parameters.json | 10 ++++++- bcipy/task/paradigm/rsvp/copy_phrase.py | 15 +++++++++-- .../tests/paradigm/rsvp/test_copy_phrase.py | 1 + 5 files changed, 61 insertions(+), 10 deletions(-) diff --git a/bcipy/helpers/task.py b/bcipy/helpers/task.py index 1984bd1a4..a4e36c525 100644 --- a/bcipy/helpers/task.py +++ b/bcipy/helpers/task.py @@ -444,3 +444,22 @@ def generate_targets(alp, stim_number): targets = [target for sublist in lists for target in sublist] return targets + + +def consecutive_incorrect(target_text: str, spelled_text: str) -> int: + """Function that computes the number of consecutive symbols that + are incorrectly spelled. + + >>> consecutive_incorrect('WORLD', 'H') + 1 + >>> consecutive_incorrect('WORLD', 'W') + 0 + >>> consecutive_incorrect('WORLD', 'WOHL') + 2 + """ + if not target_text: + return len(spelled_text) + for i, character in enumerate(spelled_text): + if character != target_text[i]: + return len(spelled_text[i:]) + return 0 diff --git a/bcipy/helpers/tests/test_task.py b/bcipy/helpers/tests/test_task.py index cf45d327a..96817e319 100644 --- a/bcipy/helpers/tests/test_task.py +++ b/bcipy/helpers/tests/test_task.py @@ -1,20 +1,18 @@ import unittest - -from typing import List from collections import Counter -from mockito import unstub, mock, when, verify, verifyStubbedInvocationsAreUsed +from typing import List import numpy as np import psychopy +from mockito import mock, unstub, verify, verifyStubbedInvocationsAreUsed, when from bcipy.acquisition import LslAcquisitionClient from bcipy.acquisition.record import Record -from bcipy.task.exceptions import InsufficientDataException - -from bcipy.helpers.task import (_float_val, - calculate_stimulation_freq, construct_triggers, +from bcipy.helpers.task import (_float_val, calculate_stimulation_freq, + consecutive_incorrect, construct_triggers, generate_targets, get_data_for_decision, get_key_press, target_info) +from bcipy.task.exceptions import InsufficientDataException class TestCalculateStimulationFreq(unittest.TestCase): @@ -319,5 +317,19 @@ def test_get_data_for_decision_throws_insufficient_data_error_if_data_query_out_ get_data_for_decision(inquiry_timing, self.daq) +class TestUtils(unittest.TestCase): + """Tests for utility functions""" + + def test_consecutive_incorrect(self): + """Test calculation of consecutive incorrect""" + self.assertEqual( + 0, consecutive_incorrect(target_text='', spelled_text='')) + self.assertEqual(0, consecutive_incorrect('WORLD', '')) + self.assertEqual(0, consecutive_incorrect('WORLD', 'W')) + self.assertEqual(0, consecutive_incorrect('WORLD', 'WORLD')) + self.assertEqual(1, consecutive_incorrect('WORLD', 'H')) + self.assertEqual(2, consecutive_incorrect('WORLD', 'WOHL')) + + if __name__ == '__main__': unittest.main() diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index e8f7d7b81..7bd8a0860 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -535,7 +535,7 @@ "type": "float" }, "stim_number": { - "value": "100", + "value": "55", "section": "bci_config", "readableName": "Number of Calibration inquiries", "helpTip": "Specifies the number of inquiries to present in a calibration session. Default: 100", @@ -611,6 +611,14 @@ "recommended_values": "", "type": "int" }, + "max_incorrect": { + "value": "3", + "section": "bci_config", + "readableName": "Maximum Number of Incorrect Selections", + "helpTip": "The maximum number of consecutive incorrect selections for copy/spelling tasks. The task will end if this number is reached.", + "recommended_values": "", + "type": "int" + }, "decision_threshold": { "value": "0.8", "section": "bci_config", diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index 645490a95..8bfa138dc 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -22,7 +22,8 @@ from bcipy.helpers.session import session_excel from bcipy.helpers.stimuli import InquirySchedule, StimuliOrder from bcipy.helpers.symbols import BACKSPACE_CHAR, alphabet -from bcipy.helpers.task import (construct_triggers, fake_copy_phrase_decision, +from bcipy.helpers.task import (consecutive_incorrect, construct_triggers, + fake_copy_phrase_decision, get_device_data_for_decision, get_user_input, relative_triggers, target_info, trial_complete_message) @@ -94,7 +95,8 @@ class RSVPCopyPhraseTask(Task): 'font', 'fixation_color', 'trigger_type', 'filter_high', 'filter_low', 'filter_order', 'notch_filter_frequency', 'down_sampling_rate', 'prestim_length', 'is_txt_stim', 'lm_backspace_prob', 'backspace_always_shown', - 'decision_threshold', 'max_inq_len', 'max_inq_per_series', 'max_minutes', 'max_selections', 'min_inq_len', + 'decision_threshold', 'max_inq_len', 'max_inq_per_series', 'max_minutes', 'max_selections', 'max_incorrect', + 'min_inq_len', 'show_feedback', 'feedback_duration', 'show_preview_inquiry', 'preview_inquiry_isi', 'preview_inquiry_error_prob', 'preview_inquiry_key_input', 'preview_inquiry_length', 'preview_inquiry_progress_method', @@ -416,6 +418,15 @@ def check_stop_criteria(self) -> bool: '(configured with the max_selections parameter)') return False + if consecutive_incorrect( + target_text=self.copy_phrase, + spelled_text=self.spelled_text) >= self.parameters.get( + 'max_incorrect', 3): + self.logger.info( + 'Max number of consecutive incorrect selections reached ' + '(configured with the max_incorrect parameter)') + return False + return True def next_target(self) -> str: diff --git a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py index 657afe28c..48d104aff 100644 --- a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py +++ b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py @@ -50,6 +50,7 @@ def setUp(self): 'max_minutes': 20, 'min_inq_len': 1, 'max_selections': 50, + 'max_incorrect': 10, 'notch_filter_frequency': 60.0, 'preview_inquiry_isi': 1.0, 'preview_inquiry_key_input': 'space', From a4b4d0168915d76b2141160d9d863e074bf11822 Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 26 Sep 2024 16:49:45 -0700 Subject: [PATCH 311/330] Reverted parameter --- bcipy/parameters/parameters.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index 7bd8a0860..3c35e73a2 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -535,7 +535,7 @@ "type": "float" }, "stim_number": { - "value": "55", + "value": "100", "section": "bci_config", "readableName": "Number of Calibration inquiries", "helpTip": "Specifies the number of inquiries to present in a calibration session. Default: 100", From 2d0929f77160e683155932f9f9bb1c5ac45e5a70 Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 26 Sep 2024 17:28:53 -0700 Subject: [PATCH 312/330] Set default max_incorrect value to 5 --- bcipy/parameters/parameters.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index 3c35e73a2..19756cefd 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -612,7 +612,7 @@ "type": "int" }, "max_incorrect": { - "value": "3", + "value": "5", "section": "bci_config", "readableName": "Maximum Number of Incorrect Selections", "helpTip": "The maximum number of consecutive incorrect selections for copy/spelling tasks. The task will end if this number is reached.", From c365be6e7fd100c7de9c20e148ef1fc8e3171afe Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 2 Oct 2024 13:03:41 -0700 Subject: [PATCH 313/330] Added inquiry preview to matrix display and tasks. --- .../components/button_press_handler.py | 119 ++++++++++ .../demo/matrix/demo_calibration_matrix.py | 9 +- .../demo/matrix/demo_copyphrase_matrix.py | 10 +- bcipy/display/main.py | 22 +- bcipy/display/paradigm/matrix/display.py | 88 ++++++-- .../components/test_button_press_handler.py | 205 ++++++++++++++++++ bcipy/task/paradigm/matrix/calibration.py | 4 +- bcipy/task/paradigm/matrix/copy_phrase.py | 4 +- 8 files changed, 441 insertions(+), 20 deletions(-) create mode 100644 bcipy/display/components/button_press_handler.py create mode 100644 bcipy/display/tests/components/test_button_press_handler.py diff --git a/bcipy/display/components/button_press_handler.py b/bcipy/display/components/button_press_handler.py new file mode 100644 index 000000000..3b3652409 --- /dev/null +++ b/bcipy/display/components/button_press_handler.py @@ -0,0 +1,119 @@ +"""Handles button press interactions""" +from abc import ABC, abstractmethod +from typing import List, Optional, Type + +from psychopy import core, event + +from bcipy.display.main import ButtonPressMode +from bcipy.helpers.clock import Clock +from bcipy.helpers.task import get_key_press + + +class ButtonPressHandler(ABC): + """Handles button press events.""" + + def __init__(self, + max_wait: float, + key_input: str, + clock: Optional[Clock] = None, + timer: Type[Clock] = core.CountdownTimer): + """ + Parameters + ---------- + wait_length - maximum number of seconds to wait for a key press + key_input - key that we are listening for. + clock - clock used to associate the key event with a timestamp + """ + self.max_wait = max_wait + self.key_input = key_input + self.clock = clock or Clock() + self.response: Optional[List] = None + + self._timer = None + self.make_timer = timer + + @property + def response_label(self) -> Optional[str]: + """Label for the latest button press""" + return self.response[0] if self.response else None + + @property + def response_timestamp(self) -> Optional[float]: + """Timestamp for the latest button response""" + return self.response[1] if self.response else None + + def _reset(self) -> None: + """Reset any existing events and timers.""" + self._timer = self.make_timer(self.max_wait) + self.response = None + event.clearEvents(eventType='keyboard') + self._timer.reset() + + def await_response(self): + """Wait for a button response for a maximum number of seconds. Wait + period could end early if the class determines that some other + criteria have been met (such as an acceptable response).""" + + self._reset() + while self._should_keep_waiting() and self._within_wait_period(): + self._check_key_press() + + def has_response(self) -> bool: + """Whether a response has been provided""" + return self.response is not None + + def _check_key_press(self) -> None: + """Check for any key press events and set the latest as the response.""" + self.response = get_key_press( + key_list=[self.key_input], + clock=self.clock, + ) + + def _within_wait_period(self) -> bool: + """Check that we are within the allotted time for a response.""" + return self._timer and self._timer.getTime() > 0 + + def _should_keep_waiting(self) -> bool: + """Check that we should keep waiting for responses.""" + return not self.has_response() + + @abstractmethod + def accept_result(self) -> bool: + """Should the result of a button press be affirmative""" + + +class AcceptButtonPressHandler(ButtonPressHandler): + """ButtonPressHandler where a matching button press indicates an affirmative result.""" + + def accept_result(self) -> bool: + """Should the result of a button press be affirmative""" + return self.has_response() + + +class RejectButtonPressHandler(ButtonPressHandler): + """ButtonPressHandler where a matching button press indicates a rejection.""" + + def accept_result(self) -> bool: + """Should the result of a button press be affirmative""" + return not self.has_response() + + +class PreviewOnlyButtonPressHandler(ButtonPressHandler): + """ButtonPressHandler that waits for the entire span of the configured max_wait.""" + + def _should_keep_waiting(self) -> bool: + return True + + def accept_result(self) -> bool: + """Should the result of a button press be affirmative""" + return True + + +def get_button_handler_class( + mode: ButtonPressMode) -> Type[ButtonPressHandler]: + """Get the appropriate handler constructor for the given button press mode.""" + return { + ButtonPressMode.NOTHING: PreviewOnlyButtonPressHandler, + ButtonPressMode.ACCEPT: AcceptButtonPressHandler, + ButtonPressMode.REJECT: RejectButtonPressHandler + }.get(mode) diff --git a/bcipy/display/demo/matrix/demo_calibration_matrix.py b/bcipy/display/demo/matrix/demo_calibration_matrix.py index 2e1cbf3ce..bb1a1cb02 100644 --- a/bcipy/display/demo/matrix/demo_calibration_matrix.py +++ b/bcipy/display/demo/matrix/demo_calibration_matrix.py @@ -5,6 +5,7 @@ from bcipy.display import (InformationProperties, StimuliProperties, init_display_window) from bcipy.display.components.task_bar import CalibrationTaskBar +from bcipy.display.main import PreviewParams from bcipy.display.paradigm.matrix.display import MatrixDisplay info = InformationProperties( @@ -34,11 +35,17 @@ win.recordFrameIntervals = False task_bar = CalibrationTaskBar(win, inquiry_count=4, current_index=0, font='Arial') +preview_config = PreviewParams(show_preview_inquiry=True, + preview_inquiry_length=2, + preview_inquiry_key_input='return', + preview_inquiry_progress_method=2, + preview_inquiry_isi=1) matrix_display = MatrixDisplay(win, experiment_clock, stim_properties, task_bar=task_bar, - info=info) + info=info, + preview_config=preview_config) time_target = 1 time_fixation = 0.5 diff --git a/bcipy/display/demo/matrix/demo_copyphrase_matrix.py b/bcipy/display/demo/matrix/demo_copyphrase_matrix.py index 70fd4b92c..33b27ce2c 100644 --- a/bcipy/display/demo/matrix/demo_copyphrase_matrix.py +++ b/bcipy/display/demo/matrix/demo_copyphrase_matrix.py @@ -8,6 +8,7 @@ from bcipy.display import (InformationProperties, StimuliProperties, init_display_window) from bcipy.display.components.task_bar import CopyPhraseTaskBar +from bcipy.display.main import PreviewParams from bcipy.display.paradigm.matrix.display import MatrixDisplay font = "Overpass Mono" @@ -72,13 +73,18 @@ spelled_text='COPY_PHA', colors=['white', 'green'], font=font) - +preview_config = PreviewParams(show_preview_inquiry=True, + preview_inquiry_length=2, + preview_inquiry_key_input='return', + preview_inquiry_progress_method=0, + preview_inquiry_isi=1) display = MatrixDisplay(win, experiment_clock, stim_properties, task_bar, info, - should_prompt_target=False) + should_prompt_target=False, + preview_config=preview_config) counter = 0 diff --git a/bcipy/display/main.py b/bcipy/display/main.py index 6e7ddba30..86e037539 100644 --- a/bcipy/display/main.py +++ b/bcipy/display/main.py @@ -1,7 +1,8 @@ # mypy: disable-error-code="assignment,empty-body" from abc import ABC, abstractmethod +from enum import Enum from logging import Logger -from typing import Any, List, Optional, Tuple, Union +from typing import Any, List, NamedTuple, Optional, Tuple, Union from psychopy import visual @@ -237,7 +238,12 @@ def build_info_text(self, window: visual.Window) -> List[visual.TextStim]: opacity=1, depth=-6.0)) return self.text_stim - +class ButtonPressMode(Enum): + """Represents the possible meanings for a button press (when using an Inquiry Preview.)""" + NOTHING = 0 + ACCEPT = 1 + REJECT = 2 + class PreviewInquiryProperties: """"Preview Inquiry Properties. An encapsulation of properties relevant to preview_inquiry() operation. @@ -268,6 +274,18 @@ def __init__( self.preview_only = preview_only self.preview_inquiry_isi = preview_inquiry_isi +class PreviewParams(NamedTuple): + """Parameters relevant for the Inquiry Preview functionality""" + show_preview_inquiry: bool + preview_inquiry_length:float + preview_inquiry_key_input: str + preview_inquiry_progress_method: int + preview_inquiry_isi: float + + @property + def button_press_mode(self): + return ButtonPressMode(self.preview_inquiry_progress_method) + class VEPStimuliProperties(StimuliProperties): diff --git a/bcipy/display/paradigm/matrix/display.py b/bcipy/display/paradigm/matrix/display.py index b36ba75d3..af52ceace 100644 --- a/bcipy/display/paradigm/matrix/display.py +++ b/bcipy/display/paradigm/matrix/display.py @@ -8,7 +8,10 @@ from bcipy.config import MATRIX_IMAGE_FILENAME from bcipy.display import (BCIPY_LOGO_PATH, Display, InformationProperties, StimuliProperties) +from bcipy.display.components.button_press_handler import ( + ButtonPressHandler, get_button_handler_class) from bcipy.display.components.task_bar import TaskBar +from bcipy.display.main import PreviewParams from bcipy.display.paradigm.matrix.layout import symbol_positions from bcipy.helpers.stimuli import resize_image from bcipy.helpers.symbols import alphabet @@ -48,7 +51,8 @@ def __init__(self, trigger_type: str = 'text', symbol_set: Optional[List[str]] = None, should_prompt_target: bool = True, - sort_order: Optional[Callable] = None): + sort_order: Optional[Callable] = None, + preview_config: Optional[PreviewParams] = None): """Initialize Matrix display parameters and objects. PARAMETERS: @@ -73,6 +77,7 @@ def __init__(self, the first symbol of each inquiry. For example: [target, fixation, *stim]. sort_order - optional function to define the position index for each symbol. Using a custom function it is possible to skip a position. + preview_config - optional configuration for previewing inquiries """ self.window = window @@ -114,6 +119,9 @@ def __init__(self, self.stim_registry = self.build_grid() self.should_prompt_target = should_prompt_target + self.preview_params = preview_config + self._preview_button_handler = self.init_preview_button_handler() + self.logger.info( f"Symbol positions ({display_container.units} units):\n{self.stim_positions}" ) @@ -128,6 +136,11 @@ def stim_positions(self) -> Dict[str, Tuple[float, float]]: for sym, stim in self.stim_registry.items() } + @property + def preview_enabled(self) -> bool: + """Should the inquiry preview be enabled.""" + return self.preview_params and self.preview_params.show_preview_inquiry + def capture_grid_screenshot(self, file_path: str) -> None: """Capture Grid Screenshot. @@ -171,12 +184,13 @@ def symbol_durations(self) -> List[SymbolDuration]: for sti in zip(self.stimuli_inquiry, self.stimuli_timing, self.stimuli_colors) ] - def add_timing(self, stimuli: str): + def add_timing(self, stimuli: str, stamp: Optional[float] = None): """Add a new timing entry using the stimuli as a label. Useful as a callback function to register a marker at the time it is first displayed.""" - self._timing.append((stimuli, self.experiment_clock.getTime())) + stamp = stamp or self.experiment_clock.getTime() + self._timing.append((stimuli, stamp)) def reset_timing(self): """Reset the trigger timing.""" @@ -196,7 +210,12 @@ def do_inquiry(self) -> List[Tuple[str, float]]: else: [fixation, *stim] = symbol_durations - self.animate_scp(fixation, stim) + should_proceed = True + if self.preview_enabled: + should_proceed = self.preview_inquiry(stim) + + if should_proceed: + self.animate_scp(fixation, stim) return self._timing @@ -217,7 +236,7 @@ def build_grid(self) -> Dict[str, visual.TextStim]: def draw_grid(self, opacity: float = 1, color: Optional[str] = 'white', - highlight: Optional[str] = None, + highlight: Optional[List[str]] = None, highlight_color: Optional[str] = None): """Draw the grid. @@ -225,16 +244,16 @@ def draw_grid(self, ---------- opacity - opacity for each item in the matrix color - optional color for each item in the matrix - highlight - optional stim label for the item to be highlighted + highlight - optional list of stim labels to be highlighted (rendered using the highlight_opacity). highlight_color - optional color to use for rendering the highlighted stim. """ for symbol, stim in self.stim_registry.items(): - stim.setOpacity(self.highlight_opacity if highlight == - symbol else opacity) + should_highlight = highlight and (symbol in highlight) + stim.setOpacity(self.highlight_opacity if should_highlight else opacity) stim.setColor(highlight_color if highlight_color and - highlight == symbol else color) + should_highlight else color) stim.draw() def prompt_target(self, target: SymbolDuration) -> float: @@ -249,14 +268,57 @@ def prompt_target(self, target: SymbolDuration) -> float: self.window.callOnFlip(self.add_timing, target.symbol) self.draw(grid_opacity=self.start_opacity, duration=target.duration, - highlight=target.symbol, + highlight=[target.symbol], highlight_color=target.color) + def init_preview_button_handler(self) -> Optional[ButtonPressHandler]: + """"Returns a button press handler for inquiry preview.""" + if not self.preview_enabled: + return None + + params = self.preview_params + make_handler = get_button_handler_class(params.button_press_mode) + return make_handler(max_wait=params.preview_inquiry_length, + key_input=params.preview_inquiry_key_input, + clock=self.experiment_clock) + + def preview_inquiry(self, stimuli: List[SymbolDuration]) -> bool: + """"Preview the inquiry and handle any button presses. + Parameters + ---------- + stimuli - list of stimuli to highlight (will be flashed in next inquiry) + + Returns + ------- + boolean indicating whether the participant would like to proceed + with the inquiry (True) or reject the inquiry (False) and + go on to the next one. + """ + assert self.preview_enabled, "Preview feature not enabled." + + handler = self._preview_button_handler + self.window.callOnFlip(self.add_timing, 'inquiry_preview') + + self.draw_preview(stimuli) + handler.await_response() + + if handler.has_response(): + self.add_timing(handler.response_label, handler.response_timestamp) + + self.draw(grid_opacity=self.start_opacity, duration=self.preview_params.preview_inquiry_isi) + return handler.accept_result() + + def draw_preview(self, stimuli: List[SymbolDuration]) -> None: + """Draw the inquiry preview by highlighting all of the symbols in the + list.""" + self.draw(grid_opacity=self.start_opacity, + highlight=[stim.symbol for stim in stimuli]) + def draw(self, grid_opacity: float, grid_color: Optional[str] = None, duration: Optional[float] = None, - highlight: Optional[str] = None, + highlight: Optional[List[str]] = None, highlight_color: Optional[str] = None): """Draw all screen elements and flip the window. @@ -265,7 +327,7 @@ def draw(self, grid_opacity - opacity value to use on all grid symbols grid_color - optional color to use for all grid symbols duration - optional seconds to wait after flipping the window. - highlight - optional symbol to highlight in the grid. + highlight - optional list of symbols to highlight in the grid. highlight_color - optional color to use for rendering the highlighted stim. """ @@ -299,7 +361,7 @@ def animate_scp(self, fixation: SymbolDuration, self.window.callOnFlip(self.add_timing, stim.symbol) self.draw(grid_opacity=self.start_opacity, duration=stim.duration, - highlight=stim.symbol, + highlight=[stim.symbol], highlight_color=stim.color) self.draw(self.start_opacity) diff --git a/bcipy/display/tests/components/test_button_press_handler.py b/bcipy/display/tests/components/test_button_press_handler.py new file mode 100644 index 000000000..9cfcc5dbf --- /dev/null +++ b/bcipy/display/tests/components/test_button_press_handler.py @@ -0,0 +1,205 @@ +"""Tests for button press handlers.""" + +import unittest +from unittest.mock import Mock, patch + +from bcipy.display.components.button_press_handler import ( + AcceptButtonPressHandler, PreviewOnlyButtonPressHandler, + RejectButtonPressHandler, get_button_handler_class) +from bcipy.display.main import ButtonPressMode + + +class TestButtonPressModule(unittest.TestCase): + """Test the module functions""" + + def test_get_handler_class(self): + """Test get handler class""" + self.assertEqual(PreviewOnlyButtonPressHandler, + get_button_handler_class(ButtonPressMode.NOTHING)) + self.assertEqual(AcceptButtonPressHandler, + get_button_handler_class(ButtonPressMode.ACCEPT)) + self.assertEqual(RejectButtonPressHandler, + get_button_handler_class(ButtonPressMode.REJECT)) + + +class TestPreviewOnlyButtonPressHandler(unittest.TestCase): + """Test the PreviewOnlyButtonPressHandler""" + + @patch('bcipy.display.components.button_press_handler.get_key_press') + def test_preview_only(self, get_key_press_mock): + """Test preview only""" + mock_timer_class = Mock() + mock_timer = Mock() + mock_timer_class.return_value = mock_timer + + # Timer counts down + mock_timer.reset.return_value = None + mock_timer.getTime.side_effect = [2.0, 1.0, 0.0] + get_key_press_mock.return_value = None + + handler = PreviewOnlyButtonPressHandler(max_wait=2, + key_input='space', + timer=mock_timer_class) + handler.await_response() + + mock_timer_class.assert_called_once() + mock_timer.reset.assert_called_once() + self.assertEqual(3, mock_timer.getTime.call_count) + self.assertEqual(2, get_key_press_mock.call_count) + + self.assertTrue(handler.accept_result()) + self.assertFalse(handler.has_response()) + + @patch('bcipy.display.components.button_press_handler.get_key_press') + def test_preview_only_with_keypress(self, get_key_press_mock): + """Test preview only with a keypress""" + mock_timer_class = Mock() + mock_timer = Mock() + mock_timer_class.return_value = mock_timer + + # Timer counts down + mock_timer.reset.return_value = None + mock_timer.getTime.side_effect = [2.0, 1.0, 0.0] + get_key_press_mock.side_effect = [None, ['bcipy_key_press_space', 1.5]] + + handler = PreviewOnlyButtonPressHandler(max_wait=2, + key_input='space', + timer=mock_timer_class) + handler.await_response() + + mock_timer_class.assert_called_once() + mock_timer.reset.assert_called_once() + self.assertEqual(3, mock_timer.getTime.call_count) + self.assertEqual(2, get_key_press_mock.call_count) + + self.assertTrue(handler.accept_result()) + self.assertTrue(handler.has_response()) + + @patch('bcipy.display.components.button_press_handler.get_key_press') + def test_preview_only_with_keypress_in_middle(self, get_key_press_mock): + """Test preview only with a keypress in the middle of the wait period""" + mock_timer_class = Mock() + mock_timer = Mock() + mock_timer_class.return_value = mock_timer + + # Timer counts down + mock_timer.reset.return_value = None + mock_timer.getTime.side_effect = [3.0, 2.0, 1.0, 0.0] + get_key_press_mock.side_effect = [ + None, ['bcipy_key_press_space', 1.5], None + ] + + handler = PreviewOnlyButtonPressHandler(max_wait=3, + key_input='space', + timer=mock_timer_class) + handler.await_response() + + self.assertEqual(4, mock_timer.getTime.call_count) + self.assertEqual(3, get_key_press_mock.call_count) + + self.assertTrue(handler.accept_result()) + self.assertFalse(handler.has_response()) + + +class TestAcceptButtonPressHandler(unittest.TestCase): + """Test for Press To Accept behavior""" + + @patch('bcipy.display.components.button_press_handler.get_key_press') + def test_press_to_accept_with_no_presses(self, get_key_press_mock): + """Test press to accept with no button presses.""" + mock_timer_class = Mock() + mock_timer = Mock() + mock_timer_class.return_value = mock_timer + + # Timer counts down + mock_timer.reset.return_value = None + mock_timer.getTime.side_effect = [2.0, 1.0, 0.0] + get_key_press_mock.return_value = None + + handler = AcceptButtonPressHandler(max_wait=2, + key_input='space', + timer=mock_timer_class) + handler.await_response() + + self.assertEqual(3, mock_timer.getTime.call_count) + self.assertEqual(2, get_key_press_mock.call_count) + + self.assertFalse(handler.accept_result()) + self.assertFalse(handler.has_response()) + + @patch('bcipy.display.components.button_press_handler.get_key_press') + def test_press_to_accept_with_keypress(self, get_key_press_mock): + """Test press to accept with a keypress""" + mock_timer_class = Mock() + mock_timer = Mock() + mock_timer_class.return_value = mock_timer + + # Timer counts down + mock_timer.reset.return_value = None + mock_timer.getTime.side_effect = [3.0, 2.0, 1.0, 0.0] + get_key_press_mock.side_effect = [None, ['bcipy_key_press_space', 1.5]] + + handler = AcceptButtonPressHandler(max_wait=2, + key_input='space', + timer=mock_timer_class) + handler.await_response() + + self.assertEqual(2, mock_timer.getTime.call_count) + self.assertEqual(2, get_key_press_mock.call_count) + + self.assertTrue(handler.accept_result()) + self.assertTrue(handler.has_response()) + self.assertEqual('bcipy_key_press_space', handler.response_label) + self.assertEqual(1.5, handler.response_timestamp) + + +class TestRejectButtonPressHandler(unittest.TestCase): + """Test for Press To Reject behavior""" + + @patch('bcipy.display.components.button_press_handler.get_key_press') + def test_press_to_reject_with_no_presses(self, get_key_press_mock): + """Test press to reject with no button presses.""" + mock_timer_class = Mock() + mock_timer = Mock() + mock_timer_class.return_value = mock_timer + + # Timer counts down + mock_timer.reset.return_value = None + mock_timer.getTime.side_effect = [2.0, 1.0, 0.0] + get_key_press_mock.return_value = None + + handler = RejectButtonPressHandler(max_wait=2, + key_input='space', + timer=mock_timer_class) + handler.await_response() + + self.assertEqual(3, mock_timer.getTime.call_count) + self.assertEqual(2, get_key_press_mock.call_count) + + self.assertTrue(handler.accept_result()) + self.assertFalse(handler.has_response()) + + @patch('bcipy.display.components.button_press_handler.get_key_press') + def test_press_to_reject_with_keypress(self, get_key_press_mock): + """Test press to accept with a keypress""" + mock_timer_class = Mock() + mock_timer = Mock() + mock_timer_class.return_value = mock_timer + + # Timer counts down + mock_timer.reset.return_value = None + mock_timer.getTime.side_effect = [3.0, 2.0, 1.0, 0.0] + get_key_press_mock.side_effect = [None, ['bcipy_key_press_space', 1.5]] + + handler = RejectButtonPressHandler(max_wait=2, + key_input='space', + timer=mock_timer_class) + handler.await_response() + + self.assertEqual(2, mock_timer.getTime.call_count) + self.assertEqual(2, get_key_press_mock.call_count) + + self.assertFalse(handler.accept_result()) + self.assertTrue(handler.has_response()) + self.assertEqual('bcipy_key_press_space', handler.response_label) + self.assertEqual(1.5, handler.response_timestamp) diff --git a/bcipy/task/paradigm/matrix/calibration.py b/bcipy/task/paradigm/matrix/calibration.py index 6014fbafe..a4ab773aa 100644 --- a/bcipy/task/paradigm/matrix/calibration.py +++ b/bcipy/task/paradigm/matrix/calibration.py @@ -4,6 +4,7 @@ from bcipy.display import InformationProperties, StimuliProperties from bcipy.display.components.task_bar import CalibrationTaskBar +from bcipy.display.main import PreviewParams from bcipy.display.paradigm.matrix.display import MatrixDisplay from bcipy.helpers.clock import Clock from bcipy.helpers.parameters import Parameters @@ -104,4 +105,5 @@ def init_matrix_display(parameters: Parameters, window: visual.Window, width_pct=parameters['matrix_width'], height_pct=1 - (2 * task_bar.height_pct), trigger_type=parameters['trigger_type'], - symbol_set=symbol_set) + symbol_set=symbol_set, + preview_config=parameters.instantiate(PreviewParams)) diff --git a/bcipy/task/paradigm/matrix/copy_phrase.py b/bcipy/task/paradigm/matrix/copy_phrase.py index 56caf03fb..a605688b8 100644 --- a/bcipy/task/paradigm/matrix/copy_phrase.py +++ b/bcipy/task/paradigm/matrix/copy_phrase.py @@ -2,6 +2,7 @@ from bcipy.display import InformationProperties, StimuliProperties from bcipy.display.components.task_bar import CopyPhraseTaskBar +from bcipy.display.main import PreviewParams from bcipy.display.paradigm.matrix.display import MatrixDisplay from bcipy.task.paradigm.rsvp.copy_phrase import RSVPCopyPhraseTask @@ -80,4 +81,5 @@ def init_display( width_pct=parameters['matrix_width'], height_pct=1 - (2 * task_bar.height_pct), trigger_type=parameters['trigger_type'], - should_prompt_target=False) + should_prompt_target=False, + preview_config=parameters.instantiate(PreviewParams)) From 2bab7853be372dad12164a9b08022fb22b7c87e1 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 2 Oct 2024 13:10:17 -0700 Subject: [PATCH 314/330] Linting --- bcipy/display/main.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/bcipy/display/main.py b/bcipy/display/main.py index 86e037539..2e1764700 100644 --- a/bcipy/display/main.py +++ b/bcipy/display/main.py @@ -238,12 +238,14 @@ def build_info_text(self, window: visual.Window) -> List[visual.TextStim]: opacity=1, depth=-6.0)) return self.text_stim + class ButtonPressMode(Enum): """Represents the possible meanings for a button press (when using an Inquiry Preview.)""" NOTHING = 0 ACCEPT = 1 REJECT = 2 - + + class PreviewInquiryProperties: """"Preview Inquiry Properties. An encapsulation of properties relevant to preview_inquiry() operation. @@ -274,10 +276,11 @@ def __init__( self.preview_only = preview_only self.preview_inquiry_isi = preview_inquiry_isi + class PreviewParams(NamedTuple): """Parameters relevant for the Inquiry Preview functionality""" show_preview_inquiry: bool - preview_inquiry_length:float + preview_inquiry_length: float preview_inquiry_key_input: str preview_inquiry_progress_method: int preview_inquiry_isi: float @@ -285,7 +288,7 @@ class PreviewParams(NamedTuple): @property def button_press_mode(self): return ButtonPressMode(self.preview_inquiry_progress_method) - + class VEPStimuliProperties(StimuliProperties): From de697bad97fce41ba49415f190e93856b6cdf010 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 2 Oct 2024 16:00:50 -0700 Subject: [PATCH 315/330] Added unit tests for matrix display --- .../paradigm/matrix/test_matrix_display.py | 133 ++++++++++++++---- 1 file changed, 106 insertions(+), 27 deletions(-) diff --git a/bcipy/display/tests/paradigm/matrix/test_matrix_display.py b/bcipy/display/tests/paradigm/matrix/test_matrix_display.py index ca2579452..36bccca82 100644 --- a/bcipy/display/tests/paradigm/matrix/test_matrix_display.py +++ b/bcipy/display/tests/paradigm/matrix/test_matrix_display.py @@ -7,18 +7,18 @@ from bcipy.display import InformationProperties, StimuliProperties from bcipy.display.components.task_bar import TaskBar +from bcipy.display.main import PreviewParams from bcipy.display.paradigm.matrix.display import MatrixDisplay, SymbolDuration # Define some reusable elements to test Matrix Display with LEN_STIM = 10 -TEST_STIM = StimuliProperties( - stim_font='Arial', - stim_pos=(-0.6, 0.4), - stim_height=0.1, - stim_inquiry=['A'], - stim_colors=[], - stim_timing=[0.1], - is_txt_stim=True) +TEST_STIM = StimuliProperties(stim_font='Arial', + stim_pos=(-0.6, 0.4), + stim_height=0.1, + stim_inquiry=['A'], + stim_colors=[], + stim_timing=[0.1], + is_txt_stim=True) TEST_INFO = InformationProperties( info_color=['White'], @@ -39,7 +39,8 @@ def setUp(self): self.window = mock({"units": "norm", "size": (2.0, 2.0)}) self.experiment_clock = mock() self.static_clock = mock() - self.text_stim_mock = mock({'pos': (0, 0)}, spec=psychopy.visual.TextStim) + self.text_stim_mock = mock({'pos': (0, 0)}, + spec=psychopy.visual.TextStim) when(self.text_stim_mock).setOpacity(...).thenReturn() when(self.text_stim_mock).setColor(...).thenReturn() when(self.text_stim_mock).draw(...).thenReturn() @@ -99,13 +100,17 @@ def tearDown(self): unstub() def test_information_properties_set_correctly(self): - self.assertEqual(self.matrix.info_text, self.info.build_info_text(self.window)) + self.assertEqual(self.matrix.info_text, + self.info.build_info_text(self.window)) def test_schedule_to(self): # Test schedule_to method correctly sets stim inquiry, timing, and colors to given parameters. - self.matrix.schedule_to(self.stimuli.stim_inquiry, self.stimuli.stim_timing, self.stimuli.stim_colors) + self.matrix.schedule_to(self.stimuli.stim_inquiry, + self.stimuli.stim_timing, + self.stimuli.stim_colors) - self.assertEqual(self.matrix.stimuli_inquiry, self.stimuli.stim_inquiry) + self.assertEqual(self.matrix.stimuli_inquiry, + self.stimuli.stim_inquiry) self.assertEqual(self.matrix.stimuli_timing, self.stimuli.stim_timing) def test_do_inquiry(self): @@ -129,16 +134,91 @@ def test_do_inquiry(self): verify(self.matrix, times=1).prompt_target(target) verify(self.matrix, times=1).animate_scp(fixation, stim_durations) + def test_do_inquiry_with_preview_accepted(self): + """Verify that the symbols are animated following an inquiry preview + in which the user accepts the input.""" + preview_config = PreviewParams(show_preview_inquiry=True, + preview_inquiry_length=2, + preview_inquiry_key_input='return', + preview_inquiry_progress_method=2, + preview_inquiry_isi=1) + matrix = MatrixDisplay(window=self.window, + experiment_clock=self.experiment_clock, + stimuli=self.stimuli, + task_bar=self.task_bar_mock, + info=self.info, + preview_config=preview_config) + when(matrix)._trigger_pulse().thenReturn() + + stimuli = ['X', '+', 'A', 'B', 'C'] + timing = [0.5, 1.0, 0.2, 0.2, 0.2] + + target = SymbolDuration('X', 0.5) + fixation = SymbolDuration('+', 1.0) + stim_durations = [ + SymbolDuration(*sti) + for sti in [('A', 0.2), ('B', 0.2), ('C', 0.2)] + ] + + when(matrix).prompt_target(any()).thenReturn(0.0) + when(matrix).animate_scp(any(), any()).thenReturn([]) + when(matrix).preview_inquiry(any()).thenReturn(True) + + matrix.schedule_to(stimuli, timing, []) + matrix.do_inquiry() + + verify(matrix, times=1)._trigger_pulse() + verify(matrix, times=1).prompt_target(target) + verify(matrix, times=1).preview_inquiry(stim_durations) + verify(matrix, times=1).animate_scp(fixation, stim_durations) + + def test_do_inquiry_with_preview_rejected(self): + """Test that if an inquiry preview is rejected the inquiry does not + animate.""" + preview_config = PreviewParams(show_preview_inquiry=True, + preview_inquiry_length=2, + preview_inquiry_key_input='return', + preview_inquiry_progress_method=2, + preview_inquiry_isi=1) + matrix = MatrixDisplay(window=self.window, + experiment_clock=self.experiment_clock, + stimuli=self.stimuli, + task_bar=self.task_bar_mock, + info=self.info, + preview_config=preview_config) + when(matrix)._trigger_pulse().thenReturn() + + stimuli = ['X', '+', 'A', 'B', 'C'] + timing = [0.5, 1.0, 0.2, 0.2, 0.2] + + target = SymbolDuration('X', 0.5) + fixation = SymbolDuration('+', 1.0) + stim_durations = [ + SymbolDuration(*sti) + for sti in [('A', 0.2), ('B', 0.2), ('C', 0.2)] + ] + + when(matrix).prompt_target(any()).thenReturn(0.0) + when(matrix).preview_inquiry(any()).thenReturn(False) + when(matrix).animate_scp(any(), any()).thenReturn([]) + + matrix.schedule_to(stimuli, timing, []) + matrix.do_inquiry() + + verify(matrix, times=1)._trigger_pulse() + verify(matrix, times=1).prompt_target(target) + verify(matrix, times=1).preview_inquiry(stim_durations) + verify(matrix, times=0).animate_scp(fixation, stim_durations) + def test_build_grid(self): # mock the text stims and increment_position - when(psychopy.visual).TextStim( - win=self.window, - height=any(), - text=any(), - color=any(), - pos=any(), - opacity=any() - ).thenReturn(self.text_stim_mock) + when(psychopy.visual).TextStim(win=self.window, + height=any(), + text=any(), + color=any(), + pos=any(), + opacity=any()).thenReturn( + self.text_stim_mock) sym_length = len(self.matrix.symbol_set) grid = self.matrix.build_grid() @@ -152,13 +232,12 @@ def test_draw_grid(self): def test_animate_scp(self): # mock the text stims and window - when(psychopy.visual).TextStim( - win=self.window, - height=any(), - text=any(), - pos=any(), - opacity=any() - ).thenReturn(self.text_stim_mock) + when(psychopy.visual).TextStim(win=self.window, + height=any(), + text=any(), + pos=any(), + opacity=any()).thenReturn( + self.text_stim_mock) when(self.matrix.window).callOnFlip(any(), any(), any()).thenReturn() when(self.matrix.window).callOnFlip(any(), any()).thenReturn() # mock the drawing of text stims From 7629ba812238699e85111b609e6fe1a6a6cad7e5 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 2 Oct 2024 17:50:41 -0700 Subject: [PATCH 316/330] Created a helper method for creating button press handlers. Refactor to move some code to main module --- .../components/button_press_handler.py | 11 ---- bcipy/display/main.py | 33 +++++++++- bcipy/display/paradigm/matrix/display.py | 64 ++++++++----------- .../components/test_button_press_handler.py | 16 +---- bcipy/display/tests/test_main.py | 20 +++++- 5 files changed, 76 insertions(+), 68 deletions(-) diff --git a/bcipy/display/components/button_press_handler.py b/bcipy/display/components/button_press_handler.py index 3b3652409..2d98b26ac 100644 --- a/bcipy/display/components/button_press_handler.py +++ b/bcipy/display/components/button_press_handler.py @@ -4,7 +4,6 @@ from psychopy import core, event -from bcipy.display.main import ButtonPressMode from bcipy.helpers.clock import Clock from bcipy.helpers.task import get_key_press @@ -107,13 +106,3 @@ def _should_keep_waiting(self) -> bool: def accept_result(self) -> bool: """Should the result of a button press be affirmative""" return True - - -def get_button_handler_class( - mode: ButtonPressMode) -> Type[ButtonPressHandler]: - """Get the appropriate handler constructor for the given button press mode.""" - return { - ButtonPressMode.NOTHING: PreviewOnlyButtonPressHandler, - ButtonPressMode.ACCEPT: AcceptButtonPressHandler, - ButtonPressMode.REJECT: RejectButtonPressHandler - }.get(mode) diff --git a/bcipy/display/main.py b/bcipy/display/main.py index 2e1764700..ab9e673af 100644 --- a/bcipy/display/main.py +++ b/bcipy/display/main.py @@ -2,10 +2,13 @@ from abc import ABC, abstractmethod from enum import Enum from logging import Logger -from typing import Any, List, NamedTuple, Optional, Tuple, Union +from typing import Any, List, NamedTuple, Optional, Tuple, Type, Union from psychopy import visual +from bcipy.display.components.button_press_handler import ( + AcceptButtonPressHandler, ButtonPressHandler, + PreviewOnlyButtonPressHandler, RejectButtonPressHandler) from bcipy.helpers.clock import Clock from bcipy.helpers.system_utils import get_screen_info @@ -65,7 +68,7 @@ def draw_static(self) -> None: """ ... - def preview_inquiry(self) -> List[float]: + def preview_inquiry(self, *args, **kwargs) -> List[float]: """Preview Inquiry. Display an inquiry or instruction beforehand to the user. This should be called before do_inquiry. @@ -278,7 +281,11 @@ def __init__( class PreviewParams(NamedTuple): - """Parameters relevant for the Inquiry Preview functionality""" + """Parameters relevant for the Inquiry Preview functionality. + + Create from an existing Parameters instance using: + >>> parameters.instantiate(PreviewParams) + """ show_preview_inquiry: bool preview_inquiry_length: float preview_inquiry_key_input: str @@ -287,9 +294,29 @@ class PreviewParams(NamedTuple): @property def button_press_mode(self): + """Mode indicated by the inquiry progress method.""" return ButtonPressMode(self.preview_inquiry_progress_method) +def get_button_handler_class( + mode: ButtonPressMode) -> Type[ButtonPressHandler]: + """Get the appropriate handler constructor for the given button press mode.""" + return { + ButtonPressMode.NOTHING: PreviewOnlyButtonPressHandler, + ButtonPressMode.ACCEPT: AcceptButtonPressHandler, + ButtonPressMode.REJECT: RejectButtonPressHandler + }.get(mode) + + +def init_preview_button_handler(params: PreviewParams, + experiment_clock: Clock) -> ButtonPressHandler: + """"Returns a button press handler for inquiry preview.""" + make_handler = get_button_handler_class(params.button_press_mode) + return make_handler(max_wait=params.preview_inquiry_length, + key_input=params.preview_inquiry_key_input, + clock=experiment_clock) + + class VEPStimuliProperties(StimuliProperties): def __init__(self, diff --git a/bcipy/display/paradigm/matrix/display.py b/bcipy/display/paradigm/matrix/display.py index af52ceace..81faedec0 100644 --- a/bcipy/display/paradigm/matrix/display.py +++ b/bcipy/display/paradigm/matrix/display.py @@ -8,10 +8,8 @@ from bcipy.config import MATRIX_IMAGE_FILENAME from bcipy.display import (BCIPY_LOGO_PATH, Display, InformationProperties, StimuliProperties) -from bcipy.display.components.button_press_handler import ( - ButtonPressHandler, get_button_handler_class) from bcipy.display.components.task_bar import TaskBar -from bcipy.display.main import PreviewParams +from bcipy.display.main import PreviewParams, init_preview_button_handler from bcipy.display.paradigm.matrix.layout import symbol_positions from bcipy.helpers.stimuli import resize_image from bcipy.helpers.symbols import alphabet @@ -120,7 +118,8 @@ def __init__(self, self.should_prompt_target = should_prompt_target self.preview_params = preview_config - self._preview_button_handler = self.init_preview_button_handler() + self.preview_button_handler = init_preview_button_handler( + preview_config, experiment_clock) if self.preview_enabled else None self.logger.info( f"Symbol positions ({display_container.units} units):\n{self.stim_positions}" @@ -171,7 +170,8 @@ def schedule_to(self, stimuli: list, timing: list, colors: list) -> None: self.stimuli_inquiry = stimuli self.stimuli_timing = timing if colors: - assert len(stimuli) == len(colors), "each stimuli must have a color" + assert len(stimuli) == len( + colors), "each stimuli must have a color" self.stimuli_colors = colors else: self.stimuli_colors = [self.grid_color] * len(stimuli) @@ -180,8 +180,8 @@ def symbol_durations(self) -> List[SymbolDuration]: """Symbols associated with their duration for the currently configured stimuli_inquiry.""" return [ - SymbolDuration(*sti) - for sti in zip(self.stimuli_inquiry, self.stimuli_timing, self.stimuli_colors) + SymbolDuration(*sti) for sti in zip( + self.stimuli_inquiry, self.stimuli_timing, self.stimuli_colors) ] def add_timing(self, stimuli: str, stamp: Optional[float] = None): @@ -251,9 +251,10 @@ def draw_grid(self, """ for symbol, stim in self.stim_registry.items(): should_highlight = highlight and (symbol in highlight) - stim.setOpacity(self.highlight_opacity if should_highlight else opacity) - stim.setColor(highlight_color if highlight_color and - should_highlight else color) + stim.setOpacity( + self.highlight_opacity if should_highlight else opacity) + stim.setColor(highlight_color + if highlight_color and should_highlight else color) stim.draw() def prompt_target(self, target: SymbolDuration) -> float: @@ -271,17 +272,6 @@ def prompt_target(self, target: SymbolDuration) -> float: highlight=[target.symbol], highlight_color=target.color) - def init_preview_button_handler(self) -> Optional[ButtonPressHandler]: - """"Returns a button press handler for inquiry preview.""" - if not self.preview_enabled: - return None - - params = self.preview_params - make_handler = get_button_handler_class(params.button_press_mode) - return make_handler(max_wait=params.preview_inquiry_length, - key_input=params.preview_inquiry_key_input, - clock=self.experiment_clock) - def preview_inquiry(self, stimuli: List[SymbolDuration]) -> bool: """"Preview the inquiry and handle any button presses. Parameters @@ -295,8 +285,9 @@ def preview_inquiry(self, stimuli: List[SymbolDuration]) -> bool: go on to the next one. """ assert self.preview_enabled, "Preview feature not enabled." + assert self.preview_button_handler, "Button handler must be initialized" - handler = self._preview_button_handler + handler = self.preview_button_handler self.window.callOnFlip(self.add_timing, 'inquiry_preview') self.draw_preview(stimuli) @@ -305,7 +296,8 @@ def preview_inquiry(self, stimuli: List[SymbolDuration]) -> bool: if handler.has_response(): self.add_timing(handler.response_label, handler.response_timestamp) - self.draw(grid_opacity=self.start_opacity, duration=self.preview_params.preview_inquiry_isi) + self.draw(grid_opacity=self.start_opacity, + duration=self.preview_params.preview_inquiry_isi) return handler.accept_result() def draw_preview(self, stimuli: List[SymbolDuration]) -> None: @@ -382,20 +374,17 @@ def wait_screen(self, message: str, message_color: str) -> None: # try adding the BciPy logo to the wait screen try: - wait_logo = visual.ImageStim( - self.window, - image=BCIPY_LOGO_PATH, - pos=(0, .25), - mask=None, - ori=0.0) - wait_logo.size = resize_image( - BCIPY_LOGO_PATH, - self.window.size, - 1) + wait_logo = visual.ImageStim(self.window, + image=BCIPY_LOGO_PATH, + pos=(0, .25), + mask=None, + ori=0.0) + wait_logo.size = resize_image(BCIPY_LOGO_PATH, self.window.size, 1) wait_logo.draw() except Exception as e: - self.logger.exception(f'Cannot load logo image from path=[{BCIPY_LOGO_PATH}]') + self.logger.exception( + f'Cannot load logo image from path=[{BCIPY_LOGO_PATH}]') raise e # Draw and flip the screen. @@ -436,10 +425,9 @@ def _trigger_pulse(self) -> None: beginning of an experiment. If drift is detected in your experiment, more frequent pulses and offset correction may be required. """ - calibration_time = _calibration_trigger( - self.experiment_clock, - trigger_type=self.trigger_type, - display=self.window) + calibration_time = _calibration_trigger(self.experiment_clock, + trigger_type=self.trigger_type, + display=self.window) # set the first stim time if not present and first_run to False if not self.first_stim_time: diff --git a/bcipy/display/tests/components/test_button_press_handler.py b/bcipy/display/tests/components/test_button_press_handler.py index 9cfcc5dbf..4de0bb832 100644 --- a/bcipy/display/tests/components/test_button_press_handler.py +++ b/bcipy/display/tests/components/test_button_press_handler.py @@ -5,21 +5,7 @@ from bcipy.display.components.button_press_handler import ( AcceptButtonPressHandler, PreviewOnlyButtonPressHandler, - RejectButtonPressHandler, get_button_handler_class) -from bcipy.display.main import ButtonPressMode - - -class TestButtonPressModule(unittest.TestCase): - """Test the module functions""" - - def test_get_handler_class(self): - """Test get handler class""" - self.assertEqual(PreviewOnlyButtonPressHandler, - get_button_handler_class(ButtonPressMode.NOTHING)) - self.assertEqual(AcceptButtonPressHandler, - get_button_handler_class(ButtonPressMode.ACCEPT)) - self.assertEqual(RejectButtonPressHandler, - get_button_handler_class(ButtonPressMode.REJECT)) + RejectButtonPressHandler) class TestPreviewOnlyButtonPressHandler(unittest.TestCase): diff --git a/bcipy/display/tests/test_main.py b/bcipy/display/tests/test_main.py index 9f3e50f9e..28d1d841c 100644 --- a/bcipy/display/tests/test_main.py +++ b/bcipy/display/tests/test_main.py @@ -1,8 +1,13 @@ import unittest -from mockito import any, mock, when, unstub import psychopy +from mockito import any, mock, unstub, when + from bcipy.display import init_display_window +from bcipy.display.components.button_press_handler import ( + AcceptButtonPressHandler, PreviewOnlyButtonPressHandler, + RejectButtonPressHandler) +from bcipy.display.main import ButtonPressMode, get_button_handler_class class TestInitializeDisplayWindow(unittest.TestCase): @@ -44,5 +49,18 @@ def test_init_display_window_returns_psychopy_window(self): self.assertEqual(self.display_window, self.window) +class TestButtonPressFunctions(unittest.TestCase): + """Test the module functions""" + + def test_get_handler_class(self): + """Test get handler class""" + self.assertEqual(PreviewOnlyButtonPressHandler, + get_button_handler_class(ButtonPressMode.NOTHING)) + self.assertEqual(AcceptButtonPressHandler, + get_button_handler_class(ButtonPressMode.ACCEPT)) + self.assertEqual(RejectButtonPressHandler, + get_button_handler_class(ButtonPressMode.REJECT)) + + if __name__ == '__main__': unittest.main() From f78e927effd960b74fa23b5eabf8db3413c898fc Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 4 Oct 2024 11:56:43 -0700 Subject: [PATCH 317/330] Fix typing issues --- bcipy/display/components/button_press_handler.py | 11 ++++++----- bcipy/display/main.py | 5 +++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/bcipy/display/components/button_press_handler.py b/bcipy/display/components/button_press_handler.py index 2d98b26ac..3a087f74d 100644 --- a/bcipy/display/components/button_press_handler.py +++ b/bcipy/display/components/button_press_handler.py @@ -2,7 +2,8 @@ from abc import ABC, abstractmethod from typing import List, Optional, Type -from psychopy import core, event +from psychopy import event +from psychopy.core import CountdownTimer from bcipy.helpers.clock import Clock from bcipy.helpers.task import get_key_press @@ -15,7 +16,7 @@ def __init__(self, max_wait: float, key_input: str, clock: Optional[Clock] = None, - timer: Type[Clock] = core.CountdownTimer): + timer: Type[CountdownTimer] = CountdownTimer): """ Parameters ---------- @@ -28,7 +29,7 @@ def __init__(self, self.clock = clock or Clock() self.response: Optional[List] = None - self._timer = None + self._timer: Optional[CountdownTimer] = None self.make_timer = timer @property @@ -48,7 +49,7 @@ def _reset(self) -> None: event.clearEvents(eventType='keyboard') self._timer.reset() - def await_response(self): + def await_response(self) -> None: """Wait for a button response for a maximum number of seconds. Wait period could end early if the class determines that some other criteria have been met (such as an acceptable response).""" @@ -70,7 +71,7 @@ def _check_key_press(self) -> None: def _within_wait_period(self) -> bool: """Check that we are within the allotted time for a response.""" - return self._timer and self._timer.getTime() > 0 + return (self._timer is not None) and (self._timer.getTime() > 0) def _should_keep_waiting(self) -> bool: """Check that we should keep waiting for responses.""" diff --git a/bcipy/display/main.py b/bcipy/display/main.py index ab9e673af..52b227a29 100644 --- a/bcipy/display/main.py +++ b/bcipy/display/main.py @@ -301,11 +301,12 @@ def button_press_mode(self): def get_button_handler_class( mode: ButtonPressMode) -> Type[ButtonPressHandler]: """Get the appropriate handler constructor for the given button press mode.""" - return { + mapping = { ButtonPressMode.NOTHING: PreviewOnlyButtonPressHandler, ButtonPressMode.ACCEPT: AcceptButtonPressHandler, ButtonPressMode.REJECT: RejectButtonPressHandler - }.get(mode) + } + return mapping[mode] def init_preview_button_handler(params: PreviewParams, From 0eff172328e36c7205ea52519f29ab19a05c8b2e Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 4 Oct 2024 12:00:17 -0700 Subject: [PATCH 318/330] Refactored RSVP display to use button press handler. Fixed regression in Copy Phrase task which caused preview to be displayed twice. Updated demos and fixed unit tests --- .../demo/rsvp/demo_calibration_rsvp.py | 17 +- .../display/demo/rsvp/demo_copyphrase_rsvp.py | 44 +- bcipy/display/paradigm/matrix/display.py | 7 +- bcipy/display/paradigm/rsvp/display.py | 135 +++--- .../display/paradigm/rsvp/mode/calibration.py | 12 +- .../display/paradigm/rsvp/mode/copy_phrase.py | 18 +- .../tests/paradigm/rsvp/test_rsvp_display.py | 437 +++++++++--------- bcipy/task/paradigm/rsvp/copy_phrase.py | 13 +- .../tests/paradigm/rsvp/test_copy_phrase.py | 2 - 9 files changed, 347 insertions(+), 338 deletions(-) diff --git a/bcipy/display/demo/rsvp/demo_calibration_rsvp.py b/bcipy/display/demo/rsvp/demo_calibration_rsvp.py index 4ba601e96..58aeba78a 100644 --- a/bcipy/display/demo/rsvp/demo_calibration_rsvp.py +++ b/bcipy/display/demo/rsvp/demo_calibration_rsvp.py @@ -1,9 +1,11 @@ from psychopy import core +from bcipy.display import (InformationProperties, StimuliProperties, + init_display_window) +from bcipy.display.components.task_bar import CalibrationTaskBar +from bcipy.display.main import PreviewParams from bcipy.display.paradigm.rsvp.mode.calibration import CalibrationDisplay from bcipy.helpers.clock import Clock -from bcipy.display import InformationProperties, StimuliProperties, init_display_window -from bcipy.display.components.task_bar import CalibrationTaskBar info = InformationProperties( info_color=['White'], @@ -44,7 +46,7 @@ 'full_screen': False, 'window_height': 500, 'window_width': 500, - 'stim_screen': 1, + 'stim_screen': 0, 'background_color': 'black' } win = init_display_window(window_parameters) @@ -70,13 +72,20 @@ inquiry_count=100, current_index=0, font='Arial') + +preview_config = PreviewParams(show_preview_inquiry=True, + preview_inquiry_length=2, + preview_inquiry_key_input='return', + preview_inquiry_progress_method=0, + preview_inquiry_isi=1) rsvp = CalibrationDisplay( win, clock, experiment_clock, stimuli, task_bar, - info) + info, + preview_config=preview_config) for idx_o in range(len(task_text)): diff --git a/bcipy/display/demo/rsvp/demo_copyphrase_rsvp.py b/bcipy/display/demo/rsvp/demo_copyphrase_rsvp.py index 558764f48..005b40d5c 100644 --- a/bcipy/display/demo/rsvp/demo_copyphrase_rsvp.py +++ b/bcipy/display/demo/rsvp/demo_copyphrase_rsvp.py @@ -4,24 +4,23 @@ from psychopy import core -from bcipy.display import ( - init_display_window, - InformationProperties, - PreviewInquiryProperties, - StimuliProperties) +from bcipy.display import (InformationProperties, StimuliProperties, + init_display_window) from bcipy.display.components.task_bar import CopyPhraseTaskBar +from bcipy.display.main import PreviewParams from bcipy.display.paradigm.rsvp.mode.copy_phrase import CopyPhraseDisplay from bcipy.helpers.clock import Clock # Initialize Stimulus is_txt_stim = True -show_preview_inquiry = True + # Inquiry preview -preview_inquiry_length = 5 -preview_inquiry_key_input = 'space' -preview_inquiry_progress_method = 1 # press to accept ==1 wait to accept ==2 -preview_inquiry_isi = 3 +preview_config = PreviewParams(show_preview_inquiry=True, + preview_inquiry_length=5, + preview_inquiry_key_input='space', + preview_inquiry_progress_method=1, + preview_inquiry_isi=3) info = InformationProperties( info_color=['White'], @@ -50,7 +49,7 @@ 'full_screen': False, 'window_height': 500, 'window_width': 500, - 'stim_screen': 1, + 'stim_screen': 0, 'background_color': 'black' } @@ -86,12 +85,7 @@ clock = core.StaticPeriod(screenHz=frameRate) experiment_clock = Clock() task_bar = CopyPhraseTaskBar(win, task_text='COPY_PHRASE', font='Menlo') -preview_inquiry = PreviewInquiryProperties( - preview_only=True, - preview_inquiry_length=preview_inquiry_length, - preview_inquiry_key_input=preview_inquiry_key_input, - preview_inquiry_progress_method=preview_inquiry_progress_method, - preview_inquiry_isi=preview_inquiry_isi) + rsvp = CopyPhraseDisplay( win, clock, @@ -99,11 +93,11 @@ stimuli, task_bar, info, - preview_inquiry=preview_inquiry) + preview_config=preview_config) counter = 0 -for idx_o in range(len(spelled_text)): +for idx_o, _symbol in enumerate(spelled_text): rsvp.update_task_bar(text=spelled_text[idx_o]) rsvp.draw_static() @@ -119,16 +113,8 @@ core.wait(inter_stim_buffer) - if show_preview_inquiry: - inquiry_timing, proceed = rsvp.preview_inquiry() - print(inquiry_timing) - if proceed: - inquiry_timing.extend(rsvp.do_inquiry()) - else: - print('Rejected inquiry! Handle here') - inquiry_timing = rsvp.do_inquiry() - else: - inquiry_timing = rsvp.do_inquiry() + inquiry_timing = rsvp.do_inquiry() + print(inquiry_timing) core.wait(inter_stim_buffer) counter += 1 diff --git a/bcipy/display/paradigm/matrix/display.py b/bcipy/display/paradigm/matrix/display.py index 81faedec0..6cbfa0198 100644 --- a/bcipy/display/paradigm/matrix/display.py +++ b/bcipy/display/paradigm/matrix/display.py @@ -120,6 +120,7 @@ def __init__(self, self.preview_params = preview_config self.preview_button_handler = init_preview_button_handler( preview_config, experiment_clock) if self.preview_enabled else None + self.preview_accepted = True self.logger.info( f"Symbol positions ({display_container.units} units):\n{self.stim_positions}" @@ -198,6 +199,7 @@ def reset_timing(self): def do_inquiry(self) -> List[Tuple[str, float]]: """Animates an inquiry of stimuli and returns a list of stimuli trigger timing.""" + self.preview_accepted = True self.reset_timing() symbol_durations = self.symbol_durations() @@ -210,11 +212,10 @@ def do_inquiry(self) -> List[Tuple[str, float]]: else: [fixation, *stim] = symbol_durations - should_proceed = True if self.preview_enabled: - should_proceed = self.preview_inquiry(stim) + self.preview_accepted = self.preview_inquiry(stim) - if should_proceed: + if self.preview_accepted: self.animate_scp(fixation, stim) return self._timing diff --git a/bcipy/display/paradigm/rsvp/display.py b/bcipy/display/paradigm/rsvp/display.py index b56ac4bc5..7e2d14163 100644 --- a/bcipy/display/paradigm/rsvp/display.py +++ b/bcipy/display/paradigm/rsvp/display.py @@ -2,16 +2,16 @@ import os.path as path from typing import List, Optional, Tuple -from psychopy import core, event, visual +from psychopy import core, visual from bcipy.display import (BCIPY_LOGO_PATH, Display, InformationProperties, - PreviewInquiryProperties, StimuliProperties) + StimuliProperties) from bcipy.display.components.task_bar import TaskBar +from bcipy.display.main import PreviewParams, init_preview_button_handler from bcipy.helpers.clock import Clock from bcipy.helpers.stimuli import resize_image from bcipy.helpers.symbols import SPACE_CHAR from bcipy.helpers.system_utils import get_screen_info -from bcipy.helpers.task import get_key_press from bcipy.helpers.triggers import TriggerCallback, _calibration_trigger @@ -29,7 +29,7 @@ def __init__( stimuli: StimuliProperties, task_bar: TaskBar, info: InformationProperties, - preview_inquiry: Optional[PreviewInquiryProperties] = None, + preview_config: Optional[PreviewParams] = None, trigger_type: str = 'image', space_char: str = SPACE_CHAR, full_screen: bool = False): @@ -52,8 +52,8 @@ def __init__( info(InformationProperties): attributes to display informational stimuli alongside task and inquiry stimuli. # Preview Inquiry - preview_inquiry(PreviewInquiryProperties) Optional: attributes to display a preview of upcoming stimuli defined - via self.stimuli(StimuliProperties). + preview_config(PreviewParams) Optional: parameters used to specify the behavior for displaying a preview + of upcoming stimuli defined via self.stimuli(StimuliProperties). If None a preview is not displayed. trigger_type(str) default 'image': defines the calibration trigger type for the display at the beginning of any task. This will be used to reconcile timing differences between acquisition and the display. @@ -79,9 +79,11 @@ def __init__( self.stim_length = stimuli.stim_length self.full_screen = full_screen - self._preview_inquiry = preview_inquiry - if self._preview_inquiry: - self.preview_calibration = self._preview_inquiry.preview_on + + self.preview_params = preview_config + self.preview_button_handler = init_preview_button_handler( + preview_config, experiment_clock) if self.preview_enabled else None + self.preview_accepted = True self.staticPeriod = static_clock @@ -106,6 +108,11 @@ def __init__( # Create initial stimuli object for updating self.sti = stimuli.build_init_stimuli(window) + @property + def preview_enabled(self) -> bool: + """Should the inquiry preview be enabled.""" + return self.preview_params and self.preview_params.show_preview_inquiry + def draw_static(self): """Draw static elements in a stimulus.""" if self.task_bar: @@ -128,6 +135,15 @@ def schedule_to(self, self.stimuli_timing = timing or [] self.stimuli_colors = colors or [] + @property + def preview_index(self) -> int: + """Index within an inquiry at which the inquiry preview should be displayed. + + For calibration, we should display it after the target prompt (index = 1). + For copy phrase there is no target prompt so it should display before the + rest of the inquiry.""" + return 1 + def do_inquiry(self) -> List[Tuple[str, float]]: """Do inquiry. @@ -140,7 +156,8 @@ def do_inquiry(self) -> List[Tuple[str, float]]: """ # init an array for timing information - timing = [] + timing: List[Tuple[str, float]] = [] + self.preview_accepted = True if self.first_run: self._trigger_pulse() @@ -149,28 +166,29 @@ def do_inquiry(self) -> List[Tuple[str, float]]: inquiry = self._generate_inquiry() # do the inquiry - for idx in range(len(inquiry)): + for idx, stim_props in enumerate(inquiry): # If this is the start of an inquiry and a callback registered for first_stim_callback evoke it if idx == 0 and callable(self.first_stim_callback): - self.first_stim_callback(inquiry[idx]['sti']) + self.first_stim_callback(stim_props['sti']) - # If previewing the inquiry, do so after the first stimulus - if self.preview_calibration and idx == 1: - time, _ = self.preview_inquiry() - timing.extend(time) + # If previewing the inquiry during calibration, do so after the first stimulus + if self.preview_enabled and idx == self.preview_index: + self.preview_accepted = self.preview_inquiry(timing) + if not self.preview_accepted: + break # Reset the timing clock to start presenting self.window.callOnFlip( self.trigger_callback.callback, self.experiment_clock, - inquiry[idx]['sti_label']) + stim_props['sti_label']) # Draw stimulus for n frames - inquiry[idx]['sti'].draw() + stim_props['sti'].draw() self.draw_static() self.window.flip() - core.wait(inquiry[idx]['time_to_present']) + core.wait(stim_props['time_to_present']) # append timing information timing.append(self.trigger_callback.timing) @@ -202,74 +220,47 @@ def _trigger_pulse(self) -> None: self.first_stim_time = calibration_time[-1] self.first_run = False - def preview_inquiry(self) -> Tuple[List[float], bool]: + def preview_inquiry(self, timing: List[Tuple[str, float]]) -> bool: """Preview Inquiry. Given an inquiry defined to be presented via do_inquiry(), present the full inquiry to the user and allow input on whether the intended letter is present or not before going through the rapid serial visual presention. + Parameters: + timing - list to which all timing information should be appended. Returns: - - A tuple containing the timing information and a boolean describing whether to present - the inquiry (True) or generate another (False). + - A boolean describing whether to present the inquiry (True) or + generate another (False). """ - # self._preview_inquiry defaults to None on __init__, assert it is defined correctly - assert isinstance(self._preview_inquiry, PreviewInquiryProperties), ( - 'PreviewInquiryProperties are not set on this RSVPDisplay. ' - 'Add them as a preview_inquiry kwarg to use preview_inquiry().') - # construct the timing to return and generate the content for preview - timing = [] - if self.first_run: - self._trigger_pulse() - - content = self._generate_inquiry_preview() + assert self.preview_enabled, "Preview feature not enabled." + assert self.preview_button_handler, "Button handler must be initialized" - # define the trigger callbacks. Here we use the trigger_callback to return immediately + handler = self.preview_button_handler self.window.callOnFlip( self.trigger_callback.callback, self.experiment_clock, 'inquiry_preview') + self.draw_preview() - # Draw and flip the screen. - content.draw() - self.draw_static() - self.window.flip() + handler.await_response() timing.append(self.trigger_callback.timing) + if handler.has_response(): + timing.append((handler.response_label, handler.response_timestamp)) - timer = core.CountdownTimer(self._preview_inquiry.preview_inquiry_length) - response = False - - event.clearEvents(eventType='keyboard') - while timer.getTime() > 0: - # wait for a key press event - response = get_key_press( - key_list=[self._preview_inquiry.preview_inquiry_key_input], - clock=self.experiment_clock, - ) + self.trigger_callback.reset() + self.draw_static() + self.window.flip() + core.wait(self.preview_params.preview_inquiry_isi) - # break if a response given unless this is preview only and wait the timer - if response and not self._preview_inquiry.preview_only: - break + return handler.accept_result() + def draw_preview(self): + """Generate and draw the inquiry preview""" + content = self._generate_inquiry_preview() + content.draw() self.draw_static() self.window.flip() - self.trigger_callback.reset() - core.wait(self._preview_inquiry.preview_inquiry_isi) - - if self._preview_inquiry.preview_only: - return timing, True - - # depending on whether or not press to accept, define what to return to the task - if response and self._preview_inquiry.press_to_accept: - timing.append(response) - return timing, True - elif response and not self._preview_inquiry.press_to_accept: - timing.append(response) - return timing, False - elif not response and self._preview_inquiry.press_to_accept: - return timing, False - else: - return timing, True def _generate_inquiry_preview(self) -> visual.TextBox2: """Generate Inquiry Preview. @@ -294,7 +285,7 @@ def _generate_inquiry(self) -> list: Generate stimuli for next RSVP inquiry. [A + A, C, Q, D] """ stim_info = [] - for idx in range(len(self.stimuli_inquiry)): + for idx, stim in enumerate(self.stimuli_inquiry): current_stim = {} current_stim['time_to_present'] = self.stimuli_timing[idx] @@ -306,20 +297,20 @@ def _generate_inquiry(self) -> list: this_stimuli_size = self.stimuli_height # Set the Stimuli attrs - if self.stimuli_inquiry[idx].endswith('.png'): + if stim.endswith('.png'): current_stim['sti'] = self._create_stimulus( mode='image', height=this_stimuli_size, - stimulus=self.stimuli_inquiry[idx] + stimulus=stim ) current_stim['sti'].size = resize_image( current_stim['sti'].image, current_stim['sti'].win.size, this_stimuli_size) current_stim['sti_label'] = path.splitext( - path.basename(self.stimuli_inquiry[idx]))[0] + path.basename(stim))[0] else: # text stimulus current_stim['sti'] = self._create_stimulus(mode='text', height=this_stimuli_size) - txt = self.stimuli_inquiry[idx] + txt = stim # customize presentation of space char. current_stim['sti'].text = txt if txt != SPACE_CHAR else self.space_char current_stim['sti'].color = self.stimuli_colors[idx] diff --git a/bcipy/display/paradigm/rsvp/mode/calibration.py b/bcipy/display/paradigm/rsvp/mode/calibration.py index 3452d8a3c..df261ddef 100644 --- a/bcipy/display/paradigm/rsvp/mode/calibration.py +++ b/bcipy/display/paradigm/rsvp/mode/calibration.py @@ -13,7 +13,7 @@ def __init__(self, task_bar, info, trigger_type='image', - preview_inquiry=None, + preview_config=None, space_char=SPACE_CHAR, full_screen=False): @@ -24,6 +24,14 @@ def __init__(self, task_bar, info, trigger_type=trigger_type, - preview_inquiry=preview_inquiry, + preview_config=preview_config, space_char=space_char, full_screen=full_screen) + + @property + def preview_index(self) -> int: + """Index within an inquiry at which the inquiry preview should be displayed. + + For calibration, we should display it after the target prompt (index = 1). + """ + return 1 diff --git a/bcipy/display/paradigm/rsvp/mode/copy_phrase.py b/bcipy/display/paradigm/rsvp/mode/copy_phrase.py index 9a09cace0..051a14557 100644 --- a/bcipy/display/paradigm/rsvp/mode/copy_phrase.py +++ b/bcipy/display/paradigm/rsvp/mode/copy_phrase.py @@ -1,7 +1,8 @@ from psychopy import visual -from bcipy.display.paradigm.rsvp.display import RSVPDisplay, BCIPY_LOGO_PATH -from bcipy.helpers.symbols import SPACE_CHAR + +from bcipy.display.paradigm.rsvp.display import BCIPY_LOGO_PATH, RSVPDisplay from bcipy.helpers.stimuli import resize_image +from bcipy.helpers.symbols import SPACE_CHAR """Note: @@ -33,7 +34,7 @@ def __init__( starting_spelled_text='', trigger_type='image', space_char=SPACE_CHAR, - preview_inquiry=None, + preview_config=None, full_screen=False): """ Initializes Copy Phrase Task Objects """ self.starting_spelled_text = starting_spelled_text @@ -46,9 +47,18 @@ def __init__( info, trigger_type=trigger_type, space_char=space_char, - preview_inquiry=preview_inquiry, + preview_config=preview_config, full_screen=full_screen) + @property + def preview_index(self) -> int: + """Index within an inquiry at which the inquiry preview should be displayed. + + For copy phrase there is no target prompt so it should display before + the fixation. + """ + return 0 + def wait_screen(self, message: str, message_color: str) -> None: """Wait Screen. diff --git a/bcipy/display/tests/paradigm/rsvp/test_rsvp_display.py b/bcipy/display/tests/paradigm/rsvp/test_rsvp_display.py index 61bb2a483..bb3cdd7ec 100644 --- a/bcipy/display/tests/paradigm/rsvp/test_rsvp_display.py +++ b/bcipy/display/tests/paradigm/rsvp/test_rsvp_display.py @@ -1,25 +1,25 @@ import unittest -from unittest.mock import patch +from unittest.mock import Mock, patch import psychopy -from mockito import (any, mock, unstub, verifyNoUnwantedInteractions, +from mockito import (mock, unstub, verify, verifyNoUnwantedInteractions, verifyStubbedInvocationsAreUsed, when) -from bcipy.display import (InformationProperties, PreviewInquiryProperties, - StimuliProperties) +from bcipy.display import InformationProperties, StimuliProperties +from bcipy.display.components.button_press_handler import ButtonPressHandler from bcipy.display.components.task_bar import TaskBar +from bcipy.display.main import PreviewParams from bcipy.display.paradigm.rsvp import RSVPDisplay # Define some reusable elements to test RSVPDisplay with LEN_STIM = 10 -TEST_STIM = StimuliProperties( - stim_font='Arial', - stim_pos=(0, 0), - stim_height=0.6, - stim_inquiry=['A', '+'] * LEN_STIM, - stim_colors=['white'] * LEN_STIM, - stim_timing=[3] * LEN_STIM, - is_txt_stim=True) +TEST_STIM = StimuliProperties(stim_font='Arial', + stim_pos=(0, 0), + stim_height=0.6, + stim_inquiry=['A', '+'] * LEN_STIM, + stim_colors=['white'] * LEN_STIM, + stim_timing=[3] * LEN_STIM, + is_txt_stim=True) TEST_INFO = InformationProperties( info_color=['White'], info_pos=[(-.5, -.75)], @@ -45,13 +45,9 @@ def setUp(self, task_bar_mock): self.task_bar_mock = mock(TaskBar) task_bar_mock.returnValue(self.task_bar_mock) when(psychopy.visual).TextStim(...).thenReturn(self.text_stim_mock) - self.rsvp = RSVPDisplay( - self.window, - self.static_clock, - self.experiment_clock, - self.stimuli, - self.task_bar_mock, - self.info) + self.rsvp = RSVPDisplay(self.window, self.static_clock, + self.experiment_clock, self.stimuli, + self.task_bar_mock, self.info) def tearDown(self): verifyNoUnwantedInteractions() @@ -63,7 +59,8 @@ def test_task_bar_config_properties_set_correctly(self): def test_information_properties_set_correctly(self): self.assertEqual(self.rsvp.info, self.info) - self.assertEqual(self.rsvp.info_text, self.info.build_info_text(self.window)) + self.assertEqual(self.rsvp.info_text, + self.info.build_info_text(self.window)) def test_stimuli_properties_set_correctly(self): """Stimuli properties are set on the instance to allow easy resetting of this properties during a task.""" @@ -78,218 +75,232 @@ def test_stimuli_properties_set_correctly(self): class TestRSVPDisplayInquiryPreview(unittest.TestCase): + + @patch('bcipy.display.paradigm.rsvp.display.init_preview_button_handler') @patch('bcipy.display.paradigm.rsvp.display.TaskBar') - def setUp(self, task_bar_mock): + def setUp(self, task_bar_mock, init_preview_button_handler_mock): """Set up needed items for test.""" self.info = TEST_INFO self.stimuli = TEST_STIM - self.preview_inquiry_length = 0.1 - self.preview_inquiry_isi = 0.1 - self.preview_inquiry_progress_method = 1 # preview only = 0; press to accept == 1; press to skip == 2 - self.preview_inquiry_key_input = 'space' - self.preview_inquiry = PreviewInquiryProperties( - preview_on=False, - preview_only=False, - preview_inquiry_length=self.preview_inquiry_length, - preview_inquiry_isi=self.preview_inquiry_isi, - preview_inquiry_progress_method=self.preview_inquiry_progress_method, - preview_inquiry_key_input=self.preview_inquiry_key_input - ) + self.window = mock({"units": "norm", "size": (2.0, 2.0)}) self.experiment_clock = mock() self.static_clock = mock() self.text_stim_mock = mock() self.rect_stim_mock = mock() self.task_bar_mock = mock(TaskBar) - task_bar_mock.returnValue(self.task_bar_mock) + task_bar_mock.return_value(self.task_bar_mock) when(psychopy.visual).TextStim(...).thenReturn(self.text_stim_mock) - self.rsvp = RSVPDisplay( - self.window, - self.static_clock, - self.experiment_clock, - self.stimuli, - self.task_bar_mock, - self.info, - preview_inquiry=self.preview_inquiry) + + self.rsvp = None def tearDown(self): verifyNoUnwantedInteractions() verifyStubbedInvocationsAreUsed() unstub() - def test_preview_inquiry_properties_set_correctly(self): - self.assertEqual(self.rsvp._preview_inquiry, self.preview_inquiry) - # In our test case, preview_inquiry_progress_method is 1 and should map to press_to_accept - self.assertEqual(self.rsvp._preview_inquiry.press_to_accept, True) - self.assertEqual( - self.rsvp._preview_inquiry.preview_inquiry_length, - self.preview_inquiry.preview_inquiry_length) - self.assertEqual( - self.rsvp._preview_inquiry.preview_inquiry_key_input, - self.preview_inquiry.preview_inquiry_key_input) - self.assertEqual( - self.rsvp._preview_inquiry.preview_inquiry_isi, - self.preview_inquiry.preview_inquiry_isi) - - def test_preview_inquiry_generate_inquiry_preview_fixation(self): - text = ' '.join(self.rsvp.stimuli_inquiry).split('+ ')[1] - stim_mock = mock() - when(self.rsvp)._create_stimulus( - any(), - stimulus=text, - units='height', - stimuli_position=self.rsvp.stimuli_pos, - mode='textbox', - align_text='left', - wrap_width=any() - ).thenReturn(stim_mock) - - response = self.rsvp._generate_inquiry_preview() - self.assertEqual(response, stim_mock) - - @patch('bcipy.display.paradigm.rsvp.display.get_key_press') - def test_preview_inquiry_evoked_press_to_accept_pressed(self, get_key_press_mock): - stim_mock = mock() - # mock the stimulus generation - when(self.rsvp)._generate_inquiry_preview().thenReturn(stim_mock) - when(stim_mock).draw().thenReturn() - when(self.rsvp).draw_static().thenReturn() - when(self.rsvp.window).flip().thenReturn() - when(self.rsvp)._trigger_pulse().thenReturn() - - # skip the core wait for testing - when(psychopy.core).wait(self.preview_inquiry.preview_inquiry_isi).thenReturn() - key_timestamp = 1000 - get_key_press_mock.return_value = [ - f'bcipy_key_press_{self.preview_inquiry_key_input}', key_timestamp - ] - response = self.rsvp.preview_inquiry() - # we expect the trigger callback to return none, the key press to return the time and key press message, - # The second item should be True as it is press to accept and a response was returned - expected = ([None, [f'bcipy_key_press_{self.preview_inquiry_key_input}', key_timestamp]], True) - self.assertEqual(response, expected) - - @patch('bcipy.display.paradigm.rsvp.display.get_key_press') - def test_preview_inquiry_evoked_press_to_skip_pressed(self, get_key_press_mock): - # set the progress method to press to skip - self.rsvp._preview_inquiry.press_to_accept = False - stim_mock = mock() - # mock the stimulus generation - when(self.rsvp)._generate_inquiry_preview().thenReturn(stim_mock) - when(stim_mock).draw().thenReturn() - when(self.rsvp).draw_static().thenReturn() - when(self.rsvp.window).flip().thenReturn() - when(self.rsvp)._trigger_pulse().thenReturn() - - # skip the core wait for testing - when(psychopy.core).wait(self.preview_inquiry.preview_inquiry_isi).thenReturn() - key_timestamp = 1000 - get_key_press_mock.return_value = [ - f'bcipy_key_press_{self.preview_inquiry_key_input}', key_timestamp - ] - response = self.rsvp.preview_inquiry() - # we expect the trigger callback to return none, the key press to return the time and key press message, - # The second item should be False as it is press to skip and a response was returned - expected = ([None, [f'bcipy_key_press_{self.preview_inquiry_key_input}', key_timestamp]], False) - self.assertEqual(response, expected) - - @patch('bcipy.display.paradigm.rsvp.display.get_key_press') - def test_preview_inquiry_evoked_press_to_accept_not_pressed(self, get_key_press_mock): - stim_mock = mock() - # mock the stimulus generation - when(self.rsvp)._generate_inquiry_preview().thenReturn(stim_mock) - when(stim_mock).draw().thenReturn() + def init_display(self, preview_config) -> None: + """Initializes a new display with the given config; """ + self.rsvp = RSVPDisplay(self.window, + self.static_clock, + self.experiment_clock, + self.stimuli, + self.task_bar_mock, + self.info, + preview_config=preview_config) + + # skip the gui components when(self.rsvp).draw_static().thenReturn() + when(self.rsvp).draw_preview().thenReturn() when(self.rsvp.window).flip().thenReturn() - when(self.rsvp)._trigger_pulse().thenReturn() - - # skip the core wait for testing - when(psychopy.core).wait(self.preview_inquiry.preview_inquiry_isi).thenReturn() - get_key_press_mock.return_value = None - response = self.rsvp.preview_inquiry() - # we expect the trigger callback to return none, the key press to return the time and key press message, - # The second item should be False as it is press to accept and a response was returned - expected = ([None], False) - self.assertEqual(response, expected) - - @patch('bcipy.display.paradigm.rsvp.display.get_key_press') - def test_preview_inquiry_evoked_press_to_skip_not_pressed(self, get_key_press_mock): - # set the progress method to press to skip - self.rsvp._preview_inquiry.press_to_accept = False - stim_mock = mock() - # mock the stimulus generation - when(self.rsvp)._generate_inquiry_preview().thenReturn(stim_mock) - when(stim_mock).draw().thenReturn() - when(self.rsvp).draw_static().thenReturn() - when(self.rsvp.window).flip().thenReturn() - when(self.rsvp)._trigger_pulse().thenReturn() - - # skip the core wait for testing - when(psychopy.core).wait(self.preview_inquiry.preview_inquiry_isi).thenReturn() - get_key_press_mock.return_value = None - response = self.rsvp.preview_inquiry() - # we expect the trigger callback to return none, the key press to return the time and key press message, - # The second item should be True as it is press to skip and a response was not returned - expected = ([None], True) - self.assertEqual(response, expected) - - @patch('bcipy.display.paradigm.rsvp.display.get_key_press') - def test_preview_inquiry_preview_only_response_registered(self, get_key_press_mock): - # set the progress method to press to skip - self.rsvp._preview_inquiry.press_to_accept = False - self.rsvp._preview_inquiry.preview_only = True - stim_mock = mock() - # mock the stimulus generation - when(self.rsvp)._generate_inquiry_preview().thenReturn(stim_mock) - when(stim_mock).draw().thenReturn() - when(self.rsvp).draw_static().thenReturn() - when(self.rsvp.window).flip().thenReturn() - when(self.rsvp)._trigger_pulse().thenReturn() - - # skip the core wait for testing - when(psychopy.core).wait(self.preview_inquiry.preview_inquiry_isi).thenReturn() - # we return a key press value here to demonstrate, even if a response is returned by this method, it will not - # be used in the preview_inquiry response from our display. - key_timestamp = 1000 - get_key_press_mock.return_value = [ - f'bcipy_key_press_{self.preview_inquiry_key_input}', key_timestamp - ] - response = self.rsvp.preview_inquiry() - # we expect the trigger callback to return none, no key press response even if returned, - # The second item should be True as it is preview only - expected = ([None], True) - self.assertEqual(response, expected) - - @patch('bcipy.display.paradigm.rsvp.display.get_key_press') - def test_preview_inquiry_preview_only_no_response(self, get_key_press_mock): - # set the progress method to press to skip - self.rsvp._preview_inquiry.press_to_accept = False - self.rsvp._preview_inquiry.preview_only = True - stim_mock = mock() - # mock the stimulus generation - when(self.rsvp)._generate_inquiry_preview().thenReturn(stim_mock) - when(stim_mock).draw().thenReturn() - when(self.rsvp).draw_static().thenReturn() - when(self.rsvp.window).flip().thenReturn() - when(self.rsvp)._trigger_pulse().thenReturn() - - # skip the core wait for testing - when(psychopy.core).wait(self.preview_inquiry.preview_inquiry_isi).thenReturn() - - get_key_press_mock.return_value = None - response = self.rsvp.preview_inquiry() - # we expect the trigger callback to return none, no key press response, - # The second item should be True as it is preview only - expected = ([None], True) - self.assertEqual(response, expected) - - def test_error_thrown_when_calling_preview_inquiry_without_properties_set(self): - # If not defined using the kwarg preview_inquiry, this value is set to None - self.rsvp._preview_inquiry = None - - # Assert when set to None, calling the method will result in an exception - with self.assertRaises(Exception): - self.rsvp.preview_inquiry() + when(psychopy.core).wait( + preview_config.preview_inquiry_isi).thenReturn() + + def test_preview_enabled_default(self): + """Test preview_enabled when preview_config is None.""" + rsvp = RSVPDisplay(self.window, + self.static_clock, + self.experiment_clock, + self.stimuli, + self.task_bar_mock, + self.info, + preview_config=None) + self.assertFalse(rsvp.preview_enabled) + + def test_preview_enabled_is_false(self): + """Test inquiry preview disabled when params specify not to + show_preview_inquiry.""" + preview_config = PreviewParams(show_preview_inquiry=False, + preview_inquiry_length=2, + preview_inquiry_key_input='space', + preview_inquiry_progress_method=1, + preview_inquiry_isi=1) + rsvp = RSVPDisplay(self.window, + self.static_clock, + self.experiment_clock, + self.stimuli, + self.task_bar_mock, + self.info, + preview_config=preview_config) + self.assertFalse(rsvp.preview_enabled) + + def test_preview_enabled_is_true(self): + """Test inquiry preview disabled when params specify to + show_preview_inquiry.""" + preview_config = PreviewParams(show_preview_inquiry=True, + preview_inquiry_length=2, + preview_inquiry_key_input='space', + preview_inquiry_progress_method=1, + preview_inquiry_isi=1) + rsvp = RSVPDisplay(self.window, + self.static_clock, + self.experiment_clock, + self.stimuli, + self.task_bar_mock, + self.info, + preview_config=preview_config) + self.assertTrue(rsvp.preview_enabled) + + @patch('bcipy.display.paradigm.rsvp.display.init_preview_button_handler') + def test_preview_inquiry_evoked_press_to_accept_pressed( + self, init_preview_button_handler_mock): + """Test preview with a press to accept configuration.""" + + button_press_handler_mock = Mock(ButtonPressHandler) + init_preview_button_handler_mock.return_value = button_press_handler_mock + + preview_config = PreviewParams(show_preview_inquiry=True, + preview_inquiry_length=0.01, + preview_inquiry_key_input='space', + preview_inquiry_progress_method=1, + preview_inquiry_isi=0.01) + self.init_display(preview_config) + + button_press_handler_mock.has_response.return_value = True + button_press_handler_mock.accept_result.return_value = True + button_press_handler_mock.response_label = 'bcipy_key_press_space' + button_press_handler_mock.response_timestamp = 1.0 + + timing = [] + proceed = self.rsvp.preview_inquiry(timing) + + init_preview_button_handler_mock.assert_called_once_with( + preview_config, self.experiment_clock) + button_press_handler_mock.await_response.assert_called_once() + + verify(self.rsvp, times=1).draw_preview() + self.assertTrue(proceed) + self.assertEqual( + 2, len(timing), + "time stamps for the preview and the button press should be present" + ) + label, stamp = timing[-1] + self.assertEqual('bcipy_key_press_space', label) + self.assertEqual(1.0, stamp) + + @patch('bcipy.display.paradigm.rsvp.display.init_preview_button_handler') + def test_preview_inquiry_evoked_press_to_skip_pressed( + self, init_preview_button_handler_mock): + """Test preview with a press to reject/skip configuration.""" + button_press_handler_mock = Mock(ButtonPressHandler) + init_preview_button_handler_mock.return_value = button_press_handler_mock + + preview_config = PreviewParams(show_preview_inquiry=True, + preview_inquiry_length=0.01, + preview_inquiry_key_input='space', + preview_inquiry_progress_method=2, + preview_inquiry_isi=0.01) + self.init_display(preview_config) + + button_press_handler_mock.has_response.return_value = True + button_press_handler_mock.accept_result.return_value = False + button_press_handler_mock.response_label = 'bcipy_key_press_space' + button_press_handler_mock.response_timestamp = 1.0 + + timing = [] + proceed = self.rsvp.preview_inquiry(timing) + + verify(self.rsvp, times=1).draw_preview() + self.assertFalse(proceed) + self.assertEqual(2, len(timing)) + label, stamp = timing[-1] + self.assertEqual('bcipy_key_press_space', label) + self.assertEqual(1.0, stamp) + + @patch('bcipy.display.paradigm.rsvp.display.init_preview_button_handler') + def test_preview_inquiry_evoked_press_to_accept_not_pressed( + self, init_preview_button_handler_mock): + """Test preview with a press to accept with no button press.""" + button_press_handler_mock = Mock(ButtonPressHandler) + init_preview_button_handler_mock.return_value = button_press_handler_mock + + preview_config = PreviewParams(show_preview_inquiry=True, + preview_inquiry_length=0.01, + preview_inquiry_key_input='space', + preview_inquiry_progress_method=1, + preview_inquiry_isi=0.01) + self.init_display(preview_config) + + button_press_handler_mock.has_response.return_value = False + button_press_handler_mock.accept_result.return_value = False + + timing = [] + proceed = self.rsvp.preview_inquiry(timing) + verify(self.rsvp, times=1).draw_preview() + + self.assertFalse(proceed) + self.assertEqual(1, len(timing), + "Only the timing for the preview should be present.") + + @patch('bcipy.display.paradigm.rsvp.display.init_preview_button_handler') + def test_preview_inquiry_evoked_press_to_skip_not_pressed( + self, init_preview_button_handler_mock): + """Test preview with a press to reject/skip configuration when the + button was not pressed.""" + button_press_handler_mock = Mock(ButtonPressHandler) + init_preview_button_handler_mock.return_value = button_press_handler_mock + + preview_config = PreviewParams(show_preview_inquiry=True, + preview_inquiry_length=0.01, + preview_inquiry_key_input='space', + preview_inquiry_progress_method=2, + preview_inquiry_isi=0.01) + self.init_display(preview_config) + + button_press_handler_mock.has_response.return_value = False + button_press_handler_mock.accept_result.return_value = True + + timing = [] + proceed = self.rsvp.preview_inquiry(timing) + + verify(self.rsvp, times=1).draw_preview() + + self.assertTrue(proceed) + self.assertEqual(1, len(timing), + "Only the timing for the preview should be present.") + + @patch('bcipy.display.paradigm.rsvp.display.init_preview_button_handler') + def test_preview_inquiry_preview_only_response_registered( + self, init_preview_button_handler_mock): + """Test preview with preview only.""" + button_press_handler_mock = Mock(ButtonPressHandler) + init_preview_button_handler_mock.return_value = button_press_handler_mock + + preview_config = PreviewParams(show_preview_inquiry=True, + preview_inquiry_length=0.01, + preview_inquiry_key_input='space', + preview_inquiry_progress_method=0, + preview_inquiry_isi=0.01) + self.init_display(preview_config) + + button_press_handler_mock.has_response.return_value = False + button_press_handler_mock.accept_result.return_value = True + + timing = [] + proceed = self.rsvp.preview_inquiry(timing) + + verify(self.rsvp, times=1).draw_preview() + self.assertTrue(proceed) if __name__ == '__main__': diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index 8bfa138dc..772d9c103 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -11,6 +11,7 @@ from bcipy.display import (InformationProperties, PreviewInquiryProperties, StimuliProperties) from bcipy.display.components.task_bar import CopyPhraseTaskBar +from bcipy.display.main import PreviewParams from bcipy.display.paradigm.rsvp.mode.copy_phrase import CopyPhraseDisplay from bcipy.feedback.visual.visual_feedback import VisualFeedback from bcipy.helpers.clock import Clock @@ -371,14 +372,8 @@ def present_inquiry(self, inquiry_schedule: InquirySchedule colors=inquiry_schedule.colors[0] if self.parameters['is_txt_stim'] else None) - if self.parameters['show_preview_inquiry']: - stim_times, proceed = self.rsvp.preview_inquiry() - if proceed: - stim_times.extend(self.rsvp.do_inquiry()) - else: - stim_times = self.rsvp.do_inquiry() - proceed = True - + stim_times = self.rsvp.do_inquiry() + proceed = not self.rsvp.preview_enabled or self.rsvp.preview_accepted return stim_times, proceed def show_feedback(self, selection: str, correct: bool = True) -> None: @@ -977,4 +972,4 @@ def _init_copy_phrase_display( starting_spelled_text, trigger_type=parameters['trigger_type'], space_char=parameters['stim_space_char'], - preview_inquiry=preview_inquiry) + preview_config=parameters.instantiate(PreviewParams)) diff --git a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py index 48d104aff..1ac1980ee 100644 --- a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py +++ b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py @@ -264,7 +264,6 @@ def test_execute_fake_data_single_inquiry(self, process_data_mock, message_mock, # Assertions verify(self.copy_phrase_wrapper, times=2).initialize_series() - verify(self.display, times=0).preview_inquiry() verify(self.display, times=1).do_inquiry() self.assertEqual(self.temp_dir, result) @@ -474,7 +473,6 @@ def test_execute_fake_data_with_preview(self, process_data_mock, message_mock, # Assertions verify(self.copy_phrase_wrapper, times=2).initialize_series() - verify(self.display, times=1).preview_inquiry() verify(self.display, times=1).do_inquiry() verify(self.copy_phrase_wrapper, times=1).add_evidence(EvidenceType.BTN, ...) self.assertEqual(self.temp_dir, result) From c14fccb05087abe349740552a9ea7db9df5891a9 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 4 Oct 2024 13:25:51 -0700 Subject: [PATCH 319/330] Modified RSVP calibration task to correctly initialize the display --- .../task/paradigm/rsvp/calibration/calibration.py | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/bcipy/task/paradigm/rsvp/calibration/calibration.py b/bcipy/task/paradigm/rsvp/calibration/calibration.py index 964a2fbad..44b6a4cce 100644 --- a/bcipy/task/paradigm/rsvp/calibration/calibration.py +++ b/bcipy/task/paradigm/rsvp/calibration/calibration.py @@ -1,8 +1,8 @@ from psychopy import core, visual -from bcipy.display import (Display, InformationProperties, - PreviewInquiryProperties, StimuliProperties) +from bcipy.display import Display, InformationProperties, StimuliProperties from bcipy.display.components.task_bar import CalibrationTaskBar +from bcipy.display.main import PreviewParams from bcipy.display.paradigm.rsvp.mode.calibration import CalibrationDisplay from bcipy.helpers.clock import Clock from bcipy.helpers.parameters import Parameters @@ -79,22 +79,13 @@ def init_calibration_display_task( height=parameters['task_height'], padding=parameters['task_padding']) - preview_inquiry = PreviewInquiryProperties( - preview_on=parameters['show_preview_inquiry'], - preview_only=True, - preview_inquiry_length=parameters['preview_inquiry_length'], - preview_inquiry_progress_method=parameters[ - 'preview_inquiry_progress_method'], - preview_inquiry_key_input=parameters['preview_inquiry_key_input'], - preview_inquiry_isi=parameters['preview_inquiry_isi']) - return CalibrationDisplay(window, static_clock, experiment_clock, stimuli, task_bar, info, - preview_inquiry=preview_inquiry, + preview_config=parameters.instantiate(PreviewParams), trigger_type=parameters['trigger_type'], space_char=parameters['stim_space_char'], full_screen=parameters['full_screen']) From 963b6e614d88e3b59189b07aac4d9f1a66504d41 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 4 Oct 2024 15:37:48 -0700 Subject: [PATCH 320/330] Updated the base calibration to fix a trigger issue in matrix when using inquiry preview --- bcipy/task/base_calibration.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bcipy/task/base_calibration.py b/bcipy/task/base_calibration.py index 93db1d3e0..392de4fc4 100644 --- a/bcipy/task/base_calibration.py +++ b/bcipy/task/base_calibration.py @@ -167,6 +167,8 @@ def trigger_type(self, symbol: str, target: str, """ if index == 0: return TriggerType.PROMPT + if symbol == 'inquiry_preview': + return TriggerType.PREVIEW if symbol == DEFAULT_TEXT_FIXATION: return TriggerType.FIXATION if target == symbol: From 259f8effc34921f582ec600eb9560960d43eab64 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 18 Oct 2024 17:56:11 -0700 Subject: [PATCH 321/330] #188038501 ; Changed model loading behavior to prompt using a separate file dialog for each model --- bcipy/gui/file_dialog.py | 21 ++-- bcipy/helpers/acquisition.py | 33 ++++++ bcipy/helpers/load.py | 48 ++++++++ bcipy/helpers/tests/test_acquisition.py | 143 +++++++++++++++++++++++- bcipy/helpers/tests/test_load.py | 119 ++++++++++++++++---- bcipy/main.py | 13 ++- bcipy/tests/test_bci_main.py | 10 +- 7 files changed, 343 insertions(+), 44 deletions(-) diff --git a/bcipy/gui/file_dialog.py b/bcipy/gui/file_dialog.py index 8c5247b12..27a546b72 100644 --- a/bcipy/gui/file_dialog.py +++ b/bcipy/gui/file_dialog.py @@ -1,8 +1,10 @@ # pylint: disable=no-name-in-module,missing-docstring,too-few-public-methods import sys from pathlib import Path -from PyQt6.QtWidgets import QApplication, QWidget, QFileDialog + from PyQt6 import QtGui +from PyQt6.QtWidgets import QApplication, QFileDialog, QWidget + from bcipy.preferences import preferences DEFAULT_FILE_TYPES = "All Files (*)" @@ -25,18 +27,21 @@ def __init__(self): # The native dialog may prevent the selection from closing after a # directory is selected. - self.options = QFileDialog.Option(3) + self.options = QFileDialog.Option.DontUseNativeDialog - def ask_file(self, file_types: str = DEFAULT_FILE_TYPES, directory: str = "") -> str: + def ask_file(self, + file_types: str = DEFAULT_FILE_TYPES, + directory: str = "", + prompt: str = "Select File") -> str: """Opens a file dialog window. Returns ------- path or None """ filename, _ = QFileDialog.getOpenFileName(self, - "Select File", - directory, - file_types, + caption=prompt, + directory=directory, + filter=file_types, options=self.options) return filename @@ -53,7 +58,7 @@ def ask_directory(self, directory: str = "") -> str: options=self.options) -def ask_filename(file_types: str = DEFAULT_FILE_TYPES, directory: str = "") -> str: +def ask_filename(file_types: str = DEFAULT_FILE_TYPES, directory: str = "", prompt="Select File") -> str: """Prompt for a file. Parameters @@ -69,7 +74,7 @@ def ask_filename(file_types: str = DEFAULT_FILE_TYPES, directory: str = "") -> s app = QApplication(sys.argv) dialog = FileDialog() directory = directory or preferences.last_directory - filename = dialog.ask_file(file_types, directory) + filename = dialog.ask_file(file_types, directory, prompt=prompt) # update last directory preference path = Path(filename) diff --git a/bcipy/helpers/acquisition.py b/bcipy/helpers/acquisition.py index 0a92c9b7a..c1350444b 100644 --- a/bcipy/helpers/acquisition.py +++ b/bcipy/helpers/acquisition.py @@ -308,3 +308,36 @@ def stream_types(acq_mode: str, delimiter: str = "+") -> List[str]: """ return list( dict.fromkeys([mode.strip() for mode in acq_mode.split(delimiter)])) + + +def active_content_types(acq_mode: str) -> List[str]: + """Given the configured acquisition mode, determine which content types are + currently active and should be used in decision-making. + + Parameters + ---------- + acq_mode - delimited list of stream types (ex. 'EEG+Eyetracker') + """ + return [ + stream_type.content_type + for stream_type in map(parse_stream_type, stream_types(acq_mode)) + if is_stream_type_active(stream_type) + ] + + +def is_stream_type_active(stream_type: StreamType) -> bool: + """Check if the provided stream type is active. + + A stream type's status, if provided, will be used to make the determinition. + If missing, the status of a matching pre-configured device will be used.""" + content_type, device_name, status = stream_type + if status: + return status == DeviceStatus.ACTIVE + + if device_name: + device = preconfigured_device(device_name, strict=False) + if device: + return device.is_active + + specs_with_type = with_content_type(content_type) + return any(spec.is_active for spec in specs_with_type) diff --git a/bcipy/helpers/load.py b/bcipy/helpers/load.py index 7b36c2a43..7bea71f3f 100644 --- a/bcipy/helpers/load.py +++ b/bcipy/helpers/load.py @@ -188,6 +188,54 @@ def load_signal_models(directory: Optional[str] = None) -> List[SignalModel]: return models +def choose_signal_models(device_types: List[str]) -> List[SignalModel]: + """Prompt the user to load a signal model for each provided device. + + Parameters + ---------- + device_types - list of device content types (ex. 'EEG') + """ + return [ + model for model in map(choose_signal_model, set(device_types)) if model + ] + + +def load_signal_model(file_path: str) -> SignalModel: + """Load signal model from persisted file. + + Models are assumed to have been written using bcipy.helpers.save.save_model + function and should be serialized as pickled files. Note that reading + pickled files is a potential security concern so only load from trusted + directories.""" + + with open(file_path, "rb") as signal_file: + model = pickle.load(signal_file) + log.info(f"Loading model {model}") + return model + + +def choose_signal_model(device_type: str) -> Optional[SignalModel]: + """Present a file dialog prompting the user to select a signal model for + the given device. + + Parameters + ---------- + device_type - ex. 'EEG' or 'Eyetracker'; this should correspond with + the content_type of the DeviceSpec of the model. + """ + + file_path = ask_filename(file_types=f"*{SIGNAL_MODEL_FILE_SUFFIX}", + directory=preferences.signal_model_directory, + prompt=f"Select the {device_type} signal model") + + if file_path: + # update preferences + path = Path(file_path) + preferences.signal_model_directory = str(path) + return load_signal_model(str(path)) + return None + + def choose_csv_file(filename: Optional[str] = None) -> Optional[str]: """GUI prompt to select a csv file from the file system. diff --git a/bcipy/helpers/tests/test_acquisition.py b/bcipy/helpers/tests/test_acquisition.py index 22a725c9b..0bb970857 100644 --- a/bcipy/helpers/tests/test_acquisition.py +++ b/bcipy/helpers/tests/test_acquisition.py @@ -6,8 +6,10 @@ from bcipy.acquisition.devices import DeviceSpec, DeviceStatus from bcipy.config import DEFAULT_PARAMETERS_PATH -from bcipy.helpers.acquisition import (RAW_DATA_FILENAME, init_device, +from bcipy.helpers.acquisition import (RAW_DATA_FILENAME, StreamType, + active_content_types, init_device, init_eeg_acquisition, + is_stream_type_active, max_inquiry_duration, parse_stream_type, raw_data_filename, server_spec, stream_types) @@ -148,7 +150,8 @@ def test_init_device_with_named_device(self, preconfigured_device_mock, def test_parse_stream_type(self): """Test function to split the stream type into content_type, name, and status""" - self.assertEqual(('EEG', 'DSI-24', None), parse_stream_type('EEG/DSI-24')) + self.assertEqual(('EEG', 'DSI-24', None), + parse_stream_type('EEG/DSI-24')) self.assertEqual(('Gaze', None, None), parse_stream_type('Gaze')) self.assertEqual(('Gaze', None, DeviceStatus.PASSIVE), parse_stream_type('Gaze:passive')) @@ -194,5 +197,141 @@ def test_raw_data_filename_eye_tracker(self): 'eyetracker_data_tobii-p0.csv') +class TestAcquisitionHelpers(unittest.TestCase): + """Unit tests for acquisition helper functions""" + + def test_stream_type_active_given_status(self): + """Test function to test if a StreamType is active given the provided + status.""" + + self.assertTrue( + is_stream_type_active( + StreamType(content_type='EEG', status=DeviceStatus.ACTIVE))) + + self.assertFalse( + is_stream_type_active( + StreamType(content_type='EEG', status=DeviceStatus.PASSIVE))) + + @patch('bcipy.helpers.acquisition.preconfigured_device') + def test_stream_type_active_using_preconfigured(self, + preconfigured_device_mock): + """Test function to test if a StreamType is active using a + preconfigured device.""" + + stream_type = StreamType(content_type='EEG', device_name='MyDevice') + device1 = Mock() + device1.is_active = True + preconfigured_device_mock.return_value = device1 + + self.assertTrue(is_stream_type_active(stream_type)) + preconfigured_device_mock.assert_called_with('MyDevice', strict=False) + + device1.is_active = False + self.assertFalse(is_stream_type_active(stream_type)) + + @patch('bcipy.helpers.acquisition.preconfigured_device') + @patch('bcipy.helpers.acquisition.with_content_type') + def test_stream_type_active_using_content_type(self, + with_content_type_mock, + preconfigured_device_mock): + """Test function to test if a StreamType is active using a + preconfigured device with type.""" + + stream_type = StreamType(content_type='EEG', device_name='MyDevice') + + preconfigured_device_mock.return_value = None + device1 = Mock() + device1.is_active = False + device2 = Mock() + device2.is_active = False + with_content_type_mock.return_value = [device1, device2] + + self.assertFalse(is_stream_type_active(stream_type)) + with_content_type_mock.assert_called_with('EEG') + + device1.is_active = True + self.assertTrue(is_stream_type_active(stream_type)) + + def test_active_content_types_with_declared_spec(self): + """Test active content types when the spec declares the status.""" + self.assertListEqual([], active_content_types('EEG:passive')) + self.assertListEqual( + [], active_content_types('EEG:passive+Eyetracker:passive')) + self.assertListEqual( + ['EEG'], active_content_types('EEG:active+Eyetracker:passive')) + self.assertListEqual( + ['EEG', 'Eyetracker'], + active_content_types('EEG:active+Eyetracker:active')) + self.assertListEqual( + ['Eyetracker'], + active_content_types('EEG:passive+Eyetracker:active')) + + @patch('bcipy.helpers.acquisition.preconfigured_device') + def test_active_content_types_using_preconfigured( + self, preconfigured_device_mock): + """Test active content types using a preconfigured device.""" + + device1 = Mock() + device1.is_active = True + preconfigured_device_mock.return_value = device1 + + self.assertListEqual(['EEG'], active_content_types('EEG/MyDevice')) + preconfigured_device_mock.assert_called_with('MyDevice', strict=False) + + @patch('bcipy.helpers.acquisition.preconfigured_device') + def test_active_content_types_using_preconfigured_false( + self, preconfigured_device_mock): + """Test active content types using a preconfigured device.""" + + device1 = Mock() + device1.is_active = False + preconfigured_device_mock.return_value = device1 + + self.assertListEqual([], active_content_types('EEG/MyDevice')) + preconfigured_device_mock.assert_called_with('MyDevice', strict=False) + + @patch('bcipy.helpers.acquisition.preconfigured_device') + def test_active_content_types_using_preconfigured_multiple_devices( + self, preconfigured_device_mock): + """Test active content types using a preconfigured device.""" + + device1 = Mock() + device1.is_active = False + device2 = Mock() + device2.is_active = True + preconfigured_device_mock.side_effect = [device1, device2] + + self.assertListEqual( + ['Eyetracker'], + active_content_types('EEG/MyDevice+Eyetracker/MyEyeDevice')) + + @patch('bcipy.helpers.acquisition.with_content_type') + def test_active_content_types_using_content_type_false( + self, with_content_type_mock): + """Test active content types using content type.""" + + device1 = Mock() + device1.is_active = False + device2 = Mock() + device2.is_active = False + with_content_type_mock.return_value = [device1, device2] + + self.assertListEqual([], active_content_types('EEG')) + with_content_type_mock.assert_called_with('EEG') + + @patch('bcipy.helpers.acquisition.with_content_type') + def test_active_content_types_using_content_type(self, + with_content_type_mock): + """Test active content types using content type.""" + device1 = Mock() + device1.is_active = False + device2 = Mock() + device2.is_active = True + with_content_type_mock.return_value = [device1, device2] + + self.assertListEqual(['EEG'], active_content_types('EEG')) + with_content_type_mock.assert_called_with('EEG') + + if __name__ == '__main__': unittest.main() diff --git a/bcipy/helpers/tests/test_load.py b/bcipy/helpers/tests/test_load.py index c42b9ec3a..8d0f9cb21 100644 --- a/bcipy/helpers/tests/test_load.py +++ b/bcipy/helpers/tests/test_load.py @@ -1,33 +1,24 @@ -import unittest +import json import os -from unittest.mock import patch, mock_open - -from collections import abc -import tempfile import shutil -import json +import tempfile +import unittest +from collections import abc +from unittest.mock import Mock, mock_open, patch from mockito import any, expect, unstub, when -from bcipy.config import ( - DEFAULT_ENCODING, - DEFAULT_EXPERIMENT_PATH, - DEFAULT_PARAMETERS_PATH, - DEFAULT_FIELD_PATH, - FIELD_FILENAME, - EXPERIMENT_FILENAME -) -from bcipy.helpers.load import ( - extract_mode, - load_json_parameters, - load_experiments, - load_experiment_fields, - load_fields, - load_users, - copy_parameters) +from bcipy.config import (DEFAULT_ENCODING, DEFAULT_EXPERIMENT_PATH, + DEFAULT_FIELD_PATH, DEFAULT_PARAMETERS_PATH, + EXPERIMENT_FILENAME, FIELD_FILENAME) +from bcipy.helpers.exceptions import (BciPyCoreException, + InvalidExperimentException) +from bcipy.helpers.load import (choose_signal_model, choose_signal_models, + copy_parameters, extract_mode, + load_experiment_fields, load_experiments, + load_fields, load_json_parameters, + load_signal_model, load_users) from bcipy.helpers.parameters import Parameters -from bcipy.helpers.exceptions import BciPyCoreException, InvalidExperimentException - MOCK_EXPERIMENT = { "test": { @@ -217,5 +208,85 @@ def test_extract_mode_without_mode_defined(self): extract_mode(invalid_data_save_dir) +class TestModelLoad(unittest.TestCase): + """Test loading one or more signal models""" + + @patch("bcipy.helpers.load.pickle.load") + @patch("bcipy.helpers.load.open") + def test_load_model(self, open_mock, pickle_mock): + """Test loading a signal model""" + + load_signal_model("test-directory") + open_mock.assert_called_with("test-directory", 'rb') + pickle_mock.assert_called_once() + + @patch("bcipy.helpers.load.load_signal_model") + @patch("bcipy.helpers.load.ask_filename") + @patch("bcipy.helpers.load.preferences") + def test_choose_model(self, preferences_mock, ask_file_mock, + load_signal_model_mock): + """Test choosing a model""" + + preferences_mock.signal_model_directory = "." + ask_file_mock.return_value = "model-path" + model_mock = Mock() + load_signal_model_mock.return_value = model_mock + + model = choose_signal_model('EEG') + + load_signal_model_mock.assert_called_with("model-path") + ask_file_mock.assert_called_with(file_types="*.pkl", + directory=".", + prompt="Select the EEG signal model") + self.assertEqual(model, model_mock) + self.assertEqual("model-path", + preferences_mock.signal_model_directory, + msg="Should have updated the preferences") + + @patch("bcipy.helpers.load.load_signal_model") + @patch("bcipy.helpers.load.ask_filename") + @patch("bcipy.helpers.load.preferences") + def test_choose_model_with_cancel(self, preferences_mock, ask_file_mock, + load_signal_model_mock): + """Test choosing a model""" + + preferences_mock.signal_model_directory = "." + ask_file_mock.return_value = None + model_mock = Mock() + load_signal_model_mock.return_value = model_mock + + model = choose_signal_model('EEG') + + load_signal_model_mock.assert_not_called() + ask_file_mock.assert_called_with(file_types="*.pkl", + directory=".", + prompt="Select the EEG signal model") + self.assertEqual(None, model) + self.assertEqual(".", + preferences_mock.signal_model_directory, + msg="Should not have updated the preferences") + + @patch("bcipy.helpers.load.choose_signal_model") + def test_choose_signal_models(self, choose_signal_model_mock): + """Test choosing signal models""" + eeg_mock = Mock() + eyetracker_mock = Mock() + choose_signal_model_mock.side_effect = [eeg_mock, eyetracker_mock] + + models = choose_signal_models(['EEG', 'Eyetracker']) + self.assertListEqual([eeg_mock, eyetracker_mock], models) + + @patch("bcipy.helpers.load.choose_signal_model") + def test_choose_signal_models_missing_model(self, + choose_signal_model_mock): + """Test choosing signal models""" + + eyetracker_mock = Mock() + choose_signal_model_mock.side_effect = [None, eyetracker_mock] + + models = choose_signal_models(['EEG', 'Eyetracker']) + self.assertListEqual([eyetracker_mock], models) + + if __name__ == '__main__': unittest.main() diff --git a/bcipy/main.py b/bcipy/main.py index 2a9d1bfc4..ea4ca3d7d 100644 --- a/bcipy/main.py +++ b/bcipy/main.py @@ -9,10 +9,11 @@ from bcipy.config import (DEFAULT_EXPERIMENT_ID, DEFAULT_PARAMETERS_PATH, STATIC_AUDIO_PATH) from bcipy.display import init_display_window -from bcipy.helpers.acquisition import init_eeg_acquisition +from bcipy.helpers.acquisition import (active_content_types, + init_eeg_acquisition) from bcipy.helpers.language_model import init_language_model -from bcipy.helpers.load import (load_experiments, load_json_parameters, - load_signal_models) +from bcipy.helpers.load import (choose_signal_models, load_experiments, + load_json_parameters) from bcipy.helpers.save import init_save_data_structure from bcipy.helpers.session import collect_experiment_field_data from bcipy.helpers.stimuli import play_sound @@ -140,9 +141,9 @@ def execute_task( # Try loading in our signal_model and starting a langmodel(if enabled) if not fake: try: - model_dir = parameters['signal_model_path'] - signal_models = load_signal_models(directory=model_dir) - assert signal_models, f"No signal models found in {model_dir}" + signal_models = choose_signal_models( + active_content_types(parameters['acq_mode'])) + assert signal_models, "No signal models selected" except Exception as error: log.exception(f'Cannot load signal model. Exiting. {error}') raise error diff --git a/bcipy/tests/test_bci_main.py b/bcipy/tests/test_bci_main.py index 4b51234f0..edc7b1a2f 100644 --- a/bcipy/tests/test_bci_main.py +++ b/bcipy/tests/test_bci_main.py @@ -20,6 +20,7 @@ class TestBciMain(unittest.TestCase): data_save_location = '/' save_location = '/' parameters = { + 'acq_mode': 'EEG', 'data_save_loc': data_save_location, 'log_name': 'test_log', 'fake_data': False, @@ -304,6 +305,7 @@ class TestExecuteTask(unittest.TestCase): def setUp(self) -> None: self.parameters = { + 'acq_mode': 'EEG', 'k_folds': 10, 'is_txt_stim': True, 'signal_model_path': '', @@ -421,7 +423,7 @@ def test_execute_task_non_calibration_real_data(self) -> None: server=self.fake).thenReturn(eeg_response) when(main).init_display_window(self.parameters).thenReturn(self.display_mock) when(main).print_message(self.display_mock, any()) - when(main).load_signal_models(directory=model_path).thenReturn(load_model_response) + when(main).choose_signal_models(['EEG']).thenReturn(load_model_response) when(main).init_language_model(self.parameters).thenReturn(language_model) when(main).start_task( self.display_mock, @@ -453,7 +455,7 @@ def test_execute_task_non_calibration_real_data(self) -> None: signal_models=[signal_model], fake=self.fake, ) - verify(main, times=1).load_signal_models(directory=model_path) + verify(main, times=1).choose_signal_models(['EEG']) verify(main, times=1)._clean_up_session(self.display_mock, self.daq, self.server) def test_execute_language_model_enabled(self) -> None: @@ -475,7 +477,7 @@ def test_execute_language_model_enabled(self) -> None: when(main).init_language_model(self.parameters).thenReturn(language_model) when(main).init_display_window(self.parameters).thenReturn(self.display_mock) when(main).print_message(self.display_mock, any()) - when(main).load_signal_models(directory='').thenReturn(load_model_response) + when(main).choose_signal_models(['EEG']).thenReturn(load_model_response) when(main).start_task( self.display_mock, self.daq, @@ -506,7 +508,7 @@ def test_execute_language_model_enabled(self) -> None: signal_models=[signal_model], fake=self.fake, ) - verify(main, times=1).load_signal_models(directory='') + verify(main, times=1).choose_signal_models(['EEG']) verify(main, times=1).init_language_model(self.parameters) verify(main, times=1)._clean_up_session(self.display_mock, self.daq, self.server) From a635baaffb7859de1090654bee3660a2702f9bb1 Mon Sep 17 00:00:00 2001 From: tab-cmd Date: Wed, 23 Oct 2024 11:41:30 -0700 Subject: [PATCH 322/330] Session orchestrator (#339) * gets `main.py` functionality working in the orchestrator * Fixes task initialization process Save folder and parameters are now saved and loaded per task as they are executed rather than once per session. * Moves parameter loading to task execution * Adds functions for parsing visit actions * Adds some test to action parsing * Adds tests for action serialization * Adds parameter validation function with tests * Updates changelog.md * lints actions.py and test_actions.py * Adds constant for action separator * removes old file that has been moved * renames action parsing module and updates test imports * simplifies `serialize_actions` function * Fixes typing and formatting issues * removes `parse_actions.py` * renames `parse_actions` to `parse_sequence` * replaces magic '->' string with constant * removes unnecessary error check * Adds basic structure for orchestrator actions * refactors config function naming and adds support for actions in parsing functions * renames `test_actions` to `test_config` * Adds additional tests for action parsing * Adds action serialization tests * Add more actions * Refactors type unions to be `Optional`s * Adds parameter loading to the orchestrator * Adds initialize and cleanup methods to `Task` * makes `name` a property in `OfflineAnalysisAction` * Implements `setup` method in base `Task` class * Adds missing parent `execute` call * changes `initialize` call to `setup` in orchestrator * Refactors `name` to be a property in base `Task` class * Refactors `config.py` to only work with tasks * adds demo file for orchestrator execution * Fixes data_save initialization in orchestrator * Creates default_user_id constant * Fixes incorrect user initialization * Refactors orchestrator save structure * Implements `save` method * Adds `task_registry_dict` to simplify fetching classes for initialization This is currently redundant with the `TaskType` approach and ideally would be refactored to have only one source of string reference * Adds comment about `task_registry_dict` * Moves `task_registry_dict` to `orchestrator.config` * refactors `name` property of tasks * Adds task registry class * Refactor `super` calls in orchestrator actions * adds type hint for task parameter * calls `construct_command` in constructor * adds function to run experiment data collection without running from the command line * adds `ExperimentFieldCollectionAction` * refactors orchestrator demo file to use `ExperimentFieldCollectionAction` * lints `task_registry.py` * imports `Task` for correct typing in config * Updates `task_registry.py` to import all tasks * moves `TASK_SEPERATOR` to `config.py` * Adds docstring to orchestrator * Renames `TestConfig` * removes property decorator in task class * removes implementation of abstract class * updates changelog * removes super calls to abstract method `execute` * Filters out abstract subclasses from registry generation * removes registry dict empty initialization * Fixes typing issues * Removes task import from the registry * Refactors config to support TaskRegistry * Refactors task names * Refactors `TaskRegistry` to recursively collect subclasses This makes it compatible with the new `BaseCalibrationTask` as it will be able to collect grandchild classes of `Task` (which is all calibration tasks now) * Makes `BaseCalibrationTask` abstract * removes name and label from `timing_verification.py` * imports tasks in their module's `__init__.py` This makes all tasks available to the task registry when it is initialized. * Enforces `name` attribute in base task class * adds calibration task check to the registry. TaskType now no longer exists * fixes incorrect method name in TaskRegistry * updates bci_main_tests to call main methods properly * updates method calls in protocol parsing tests * refactors `start_app` to use `start_experiment_field_collection_gui` * changes orchestrator directory name to work on windows * Adds basic selection box for orchestrator protocol * Adds the ability to add and remove tasks to the protocol * renames `sequence` to `protocol` in orchestrator config * Allows protocol to be saved to `experiments.json` * adds move up and down controls to tasks in protocol * Refactors scrollable frames to have a title label. Some buttons are still misaligned in the ExperimentRegistry * Moves create experiment button to the bottom of the gui * changes task and action names to be more consistent * adds basic `TaskData` return object * fixes failing test in `test_copy_phrase` * fixes missing return statement for `construct_command` * adds `task_dict` to `TaskData` * updates changelog * adds seperate BCIUI file with stylsheet This will hopefully replace BCIGui later, but I am keeping it seperate for now as to not break existing uis on this branch * update demo experiment layout * adjust stylesheet to remove label backgrounds * improves gui code to allow for editing fields * add basic removeable element * add dynamic list class for easy ui reactivity * Add small button component * removes explicit color from small button * adds basic toggle class * changes toggle componenet to be simple connecting function * makes on off callbacks optional in `make_toggle` * add toggle to optional button * swaps confusing parameter names * loads experiment fields into combobox * adds field buttons * refactors gui to be inherited class This improves state handling, as variables and widgets can be stored on the class itself * add simple `show_alert` method * add show_alert method * adds validation to added fields * adds experiment creation to application * rename `gui_rewrite` to `bciui` * adds app start method * adds vertical center option to bciui * add the beginning of intertask action ui * add progress text * allows for additional args in app running * add functional progress bar * Add next task display and functioning buttons * adds seperate BCIUI file with stylesheet This will hopefully replace BCIGui later, but I am keeping it seperate for now as to not break existing uis on this branch * update demo experiment layout * adjust stylesheet to remove label backgrounds * improves gui code to allow for editing fields * add basic removeable element * add dynamic list class for easy ui reactivity * Add small button component * removes explicit color from small button * adds basic toggle class * changes toggle componenet to be simple connecting function * makes on off callbacks optional in `make_toggle` * add toggle to optional button * swaps confusing parameter names * loads experiment fields into combobox * adds field buttons * refactors gui to be inherited class This improves state handling, as variables and widgets can be stored on the class itself * add simple `show_alert` method * add show_alert method * adds validation to added fields * remove debug prints * adds experiment creation to application * remove unused code * rename `gui_rewrite` to `bciui` * adds app start method * adds vertical center option to bciui * add beginning of intertask action ui * add progress text * allows for additional args in app running * add functional progress bar * Add next task display and functioning buttons * add protocol layout and fix bug in DynamicList * Parameter guardrails and cleanup (#340) * supports adding tasks to the interface * add reordering to tasks in the protocol * allows adding new fields through the ui * adds saving protocol in experiment from gui * Task initialization and cleanup (#343) * Adds documentation to ui methods * rename `intertask_action` to `intertask_gui` * add action that displays intertask GUI * Add proper types and docs to bciui * Deprecates old ExperimentRegistry in favor of new ui code * Fixes incorrect background color when using dark mode * improve stylsheet loading to use existing bcipy constants * update legacy BCInterface to base session-orchestrator * Session Orchestrator Updates [Post-Testing] (#344) * Add logger to each task run * Bcipy client refactor (#346) * Task specific params and Matrix Layout (#349) * Orchestrator - Load a JSON of copy phrases to use during execution (#352) * fix logger assignment * BciPy report action, offline analysis updates, Intertask GUI. (#354) * updates to include IP changes * Update to get static offset from the device --------- Co-authored-by: Carson Reader Co-authored-by: lawhead --- .coveragerc | 2 +- BciPyReport.pdf | Bin 9155 -> 0 bytes CHANGELOG.md | 19 +- README.md | 41 +- bcipy/acquisition/datastream/generator.py | 3 - bcipy/acquisition/datastream/lsl_server.py | 5 +- .../datastream/mock/eye_tracker_server.py | 3 +- bcipy/acquisition/datastream/mock/switch.py | 7 +- bcipy/acquisition/datastream/producer.py | 3 +- bcipy/acquisition/demo/demo_lsl_acq_client.py | 1 - bcipy/acquisition/demo/demo_lsl_server.py | 2 +- bcipy/acquisition/devices.py | 8 +- bcipy/acquisition/marker_writer.py | 3 +- bcipy/acquisition/multimodal.py | 11 +- bcipy/acquisition/protocols/lsl/lsl_client.py | 38 +- .../protocols/lsl/lsl_connector.py | 3 +- .../acquisition/protocols/lsl/lsl_recorder.py | 9 +- .../tests/protocols/lsl/test_lsl_recorder.py | 5 +- bcipy/config.py | 10 +- bcipy/demo/bci_main_demo.py | 58 +- bcipy/display/demo/components/demo_layouts.py | 5 +- .../demo/matrix/demo_calibration_matrix.py | 3 +- .../demo/matrix/demo_copyphrase_matrix.py | 3 +- .../display/demo/matrix/demo_matrix_layout.py | 4 +- bcipy/display/main.py | 10 +- bcipy/display/paradigm/matrix/README.md | 15 - bcipy/display/paradigm/matrix/display.py | 47 +- bcipy/display/paradigm/matrix/layout.py | 13 +- bcipy/display/paradigm/vep/codes.py | 2 +- bcipy/display/paradigm/vep/display.py | 11 +- .../paradigm/matrix/test_matrix_display.py | 18 +- .../paradigm/matrix/test_matrix_layout.py | 30 +- bcipy/display/tests/vep/test_codes.py | 2 +- bcipy/{helpers => }/exceptions.py | 0 bcipy/feedback/feedback.py | 3 +- bcipy/gui/BCInterface.py | 44 +- bcipy/gui/alert.py | 5 +- bcipy/gui/bcipy_stylesheet.css | 87 +++ bcipy/gui/bciui.py | 238 ++++++ bcipy/gui/experiments/ExperimentField.py | 195 +++-- bcipy/gui/experiments/ExperimentRegistry.py | 713 +++++++----------- bcipy/gui/intertask_gui.py | 86 +++ bcipy/gui/main.py | 101 ++- bcipy/gui/parameters/params_form.py | 15 +- bcipy/gui/viewer/data_source/file_streamer.py | 4 +- bcipy/helpers/README.md | 2 + bcipy/helpers/acquisition.py | 16 +- bcipy/helpers/convert.py | 4 +- bcipy/helpers/copy_phrase_wrapper.py | 5 +- bcipy/helpers/language_model.py | 2 +- bcipy/helpers/load.py | 30 +- bcipy/helpers/parameters.py | 19 +- bcipy/helpers/raw_data.py | 2 +- bcipy/helpers/report.py | 10 +- bcipy/helpers/save.py | 2 - bcipy/helpers/stimuli.py | 6 +- bcipy/helpers/symbols.py | 11 +- bcipy/helpers/system_utils.py | 24 +- bcipy/helpers/task.py | 4 +- .../resources/mock_session/parameters.json | 531 +++++++------ bcipy/helpers/tests/test_acquisition.py | 9 +- bcipy/helpers/tests/test_load.py | 21 +- bcipy/helpers/tests/test_parameters.py | 170 +++-- bcipy/helpers/tests/test_raw_data.py | 2 +- bcipy/helpers/tests/test_report.py | 12 +- bcipy/helpers/tests/test_stimuli.py | 2 +- bcipy/helpers/tests/test_triggers.py | 2 +- bcipy/helpers/tests/test_validate.py | 42 +- bcipy/helpers/triggers.py | 6 +- bcipy/helpers/validate.py | 16 +- bcipy/helpers/visualization.py | 50 +- bcipy/language/demo/demo_kenlm.py | 2 +- bcipy/language/main.py | 2 +- bcipy/language/model/causal.py | 2 +- bcipy/language/model/kenlm.py | 2 +- bcipy/language/model/mixture.py | 2 +- bcipy/language/model/oracle.py | 3 +- bcipy/language/model/unigram.py | 2 +- bcipy/language/tests/test_causal.py | 2 +- bcipy/language/tests/test_kenlm.py | 2 +- bcipy/language/tests/test_mixture.py | 2 +- bcipy/language/tests/test_unigram.py | 2 +- bcipy/main.py | 248 ++---- bcipy/parameters/experiment/experiments.json | 8 +- bcipy/parameters/experiment/phrases.json | 13 + bcipy/parameters/parameters.json | 683 ++++++++++------- bcipy/signal/evaluate/artifact.py | 23 +- bcipy/signal/model/__init__.py | 3 - bcipy/signal/model/base_model.py | 4 + bcipy/signal/model/cross_validation.py | 5 +- bcipy/signal/model/density_estimation.py | 4 +- .../signal/model/dimensionality_reduction.py | 4 +- .../signal/model/gaussian_mixture/__init__.py | 6 - .../gaussian_mixture/gaussian_mixture.py | 3 +- bcipy/signal/model/offline_analysis.py | 154 ++-- bcipy/signal/model/pca_rda_kde/pca_rda_kde.py | 3 +- bcipy/signal/model/rda_kde/rda_kde.py | 3 +- bcipy/signal/process/decomposition/psd.py | 2 +- bcipy/signal/process/extract_gaze.py | 2 +- .../model/pca_rda_kde/test_pca_rda_kde.py | 2 +- .../tests/model/rda_kde/test_rda_kde.py | 2 +- .../tests/model/test_offline_analysis.py | 28 +- .../decomposition/test_decomposition.py | 2 +- bcipy/simulator/data/data_engine.py | 2 +- bcipy/simulator/data/sampler.py | 4 +- bcipy/simulator/task/copy_phrase.py | 3 + bcipy/task/README.md | 162 +++- bcipy/task/__init__.py | 10 +- bcipy/task/actions.py | 380 ++++++++++ .../{base_calibration.py => calibration.py} | 108 ++- bcipy/task/control/criteria.py | 3 +- bcipy/task/control/evidence.py | 3 +- bcipy/task/control/handler.py | 3 +- bcipy/task/demo/demo_orchestrator.py | 54 ++ bcipy/task/main.py | 53 +- bcipy/task/orchestrator/__init__.py | 3 + bcipy/task/orchestrator/orchestrator.py | 295 ++++++++ bcipy/task/orchestrator/protocol.py | 76 ++ bcipy/task/paradigm/matrix/__init__.py | 4 + bcipy/task/paradigm/matrix/calibration.py | 31 +- bcipy/task/paradigm/matrix/copy_phrase.py | 101 ++- .../paradigm/matrix/timing_verification.py | 11 +- bcipy/task/paradigm/rsvp/__init__.py | 4 + .../paradigm/rsvp/calibration/calibration.py | 16 +- .../rsvp/calibration/timing_verification.py | 36 +- bcipy/task/paradigm/rsvp/copy_phrase.py | 628 ++++++++------- bcipy/task/paradigm/vep/__init__.py | 2 + bcipy/task/paradigm/vep/calibration.py | 46 +- bcipy/task/registry.py | 49 ++ bcipy/task/start_task.py | 104 --- bcipy/task/task_registry.py | 63 -- bcipy/task/tests/core/test_actions.py | 73 ++ bcipy/task/tests/core/test_task_main.py | 57 ++ .../tests/orchestrator/test_orchestrator.py | 157 ++++ .../task/tests/orchestrator/test_protocol.py | 72 ++ .../matrix/test_matrix_calibration.py | 163 ++-- .../rsvp/calibration/test_rsvp_calibration.py | 228 ++++-- .../tests/paradigm/rsvp/test_copy_phrase.py | 235 +++--- bcipy/tests/test_bci_main.py | 655 +++------------- requirements.txt | 10 +- scripts/shell/run_gui.sh | 7 - setup.py | 6 +- 142 files changed, 4921 insertions(+), 3106 deletions(-) delete mode 100644 BciPyReport.pdf rename bcipy/{helpers => }/exceptions.py (100%) create mode 100644 bcipy/gui/bcipy_stylesheet.css create mode 100644 bcipy/gui/bciui.py create mode 100644 bcipy/gui/intertask_gui.py create mode 100644 bcipy/parameters/experiment/phrases.json create mode 100644 bcipy/task/actions.py rename bcipy/task/{base_calibration.py => calibration.py} (81%) create mode 100644 bcipy/task/demo/demo_orchestrator.py create mode 100644 bcipy/task/orchestrator/__init__.py create mode 100644 bcipy/task/orchestrator/orchestrator.py create mode 100644 bcipy/task/orchestrator/protocol.py create mode 100644 bcipy/task/registry.py delete mode 100644 bcipy/task/start_task.py delete mode 100644 bcipy/task/task_registry.py create mode 100644 bcipy/task/tests/core/test_actions.py create mode 100644 bcipy/task/tests/core/test_task_main.py create mode 100644 bcipy/task/tests/orchestrator/test_orchestrator.py create mode 100644 bcipy/task/tests/orchestrator/test_protocol.py delete mode 100644 scripts/shell/run_gui.sh diff --git a/.coveragerc b/.coveragerc index c7ad07bca..443874bee 100644 --- a/.coveragerc +++ b/.coveragerc @@ -17,4 +17,4 @@ exclude_lines = raise NotImplementedError @abstract if __name__ == .__main__.: - log = logging.getLogger(__name__) + logging.getLogger(__name__) diff --git a/BciPyReport.pdf b/BciPyReport.pdf deleted file mode 100644 index c90cd24dee8bbabe6470177f7cd4de8f7f749ba9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9155 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

    rT(W0@#ut%o6-7N}ZhFq2g6~0CcNd_ojk;?; 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 RSVPKeyboard @@ -166,7 +187,7 @@ For example, you may run the main BciPy demo by: `python demo/bci_main_demo.py` -This demo will load in parameters and execute a demo task defined in the file. There are demo files for all modules listed above except helpers and utils. Run them as a python script! +This demo will load in parameters and execute a demo task defined in the file. There are demo files contained in most modules, excepting gui, signal and parameters. Run them as a python script! ## Offset Determination and Correction @@ -293,14 +314,14 @@ If you want to be added to the development team slack or have additional questio We follow and will enforce the contributor's covenant to foster a safe and inclusive environment for this open source software, please reference this link for more information: https://www.contributor-covenant.org/ Other guidelines: -- All features require tests and a demo. +- All modules require tests and a demo. - All tests must pass to merge, even if they are seemingly unrelated to your work. - Use Spaces, not Tabs. - Use informative names for functions and classes. - Document the input and output of your functions / classes in the code. eg in-line commenting and typing. - Do not push IDE or other local configuration files. - All new modules or major functionality should be documented outside of the code with a README.md. - See README.md in repo or go to this site for inspiration: https://github.com/matiassingers/awesome-readme. Always use a Markdown interpreter before pushing. There are many free online or your IDE may come with one. + See README.md in repo or go to this site for inspiration: https://github.com/matiassingers/awesome-readme. Always use a Markdown interpreter before pushing. See this resource for examples: http://docs.python-guide.org/en/latest/writing/style/ diff --git a/bcipy/acquisition/datastream/generator.py b/bcipy/acquisition/datastream/generator.py index f96cf85eb..8c6798bb5 100644 --- a/bcipy/acquisition/datastream/generator.py +++ b/bcipy/acquisition/datastream/generator.py @@ -1,14 +1,11 @@ """Functions for generating mock data to be used for testing/development.""" -import logging from typing import Optional, Generator, Callable from past.builtins import range from bcipy.config import DEFAULT_ENCODING from bcipy.signal.generator.generator import gen_random_data -log = logging.getLogger(__name__) - def advance_to_row(filehandle, rownum): """Utility function to advance a file cursor to the given row.""" diff --git a/bcipy/acquisition/datastream/lsl_server.py b/bcipy/acquisition/datastream/lsl_server.py index dc064a708..0f8f82aa3 100644 --- a/bcipy/acquisition/datastream/lsl_server.py +++ b/bcipy/acquisition/datastream/lsl_server.py @@ -13,10 +13,9 @@ from bcipy.acquisition.datastream.producer import Producer from bcipy.acquisition.devices import DeviceSpec from bcipy.acquisition.util import StoppableThread -from bcipy.config import DEFAULT_ENCODING, MARKER_STREAM_NAME - -log = logging.getLogger(__name__) +from bcipy.config import DEFAULT_ENCODING, MARKER_STREAM_NAME, SESSION_LOG_FILENAME +log = logging.getLogger(SESSION_LOG_FILENAME) # pylint: disable=too-many-arguments diff --git a/bcipy/acquisition/datastream/mock/eye_tracker_server.py b/bcipy/acquisition/datastream/mock/eye_tracker_server.py index e0a5e4d1d..9cc3c3e73 100644 --- a/bcipy/acquisition/datastream/mock/eye_tracker_server.py +++ b/bcipy/acquisition/datastream/mock/eye_tracker_server.py @@ -8,8 +8,9 @@ from bcipy.acquisition.datastream.lsl_server import LslDataServer from bcipy.acquisition.devices import DeviceSpec +from bcipy.config import SESSION_LOG_FILENAME -log = logging.getLogger(__name__) +log = logging.getLogger(SESSION_LOG_FILENAME) def eye_tracker_device() -> DeviceSpec: diff --git a/bcipy/acquisition/datastream/mock/switch.py b/bcipy/acquisition/datastream/mock/switch.py index 38145f5b2..824195171 100644 --- a/bcipy/acquisition/datastream/mock/switch.py +++ b/bcipy/acquisition/datastream/mock/switch.py @@ -6,8 +6,9 @@ from bcipy.acquisition.devices import DeviceSpec, IRREGULAR_RATE from bcipy.gui.main import BCIGui, app +from bcipy.config import SESSION_LOG_FILENAME -log = logging.getLogger(__name__) +log = logging.getLogger(SESSION_LOG_FILENAME) def switch_device() -> DeviceSpec: @@ -41,7 +42,7 @@ def quit(self): self.outlet = None -class SwitchGui(BCIGui): +class SwitchGui(BCIGui): # pragma: no cover """GUI to emulate a switch.""" def __init__(self, switch: Switch, *args, **kwargs): @@ -70,7 +71,7 @@ def build_text(self) -> None: font_size=16) -def main(switch: Switch): +def main(switch: Switch): # pragma: no cover """Creates a PyQt5 GUI with a single button in the middle. Performs the switch action when clicked.""" gui = app(sys.argv) diff --git a/bcipy/acquisition/datastream/producer.py b/bcipy/acquisition/datastream/producer.py index 58633395c..d62ba60d3 100644 --- a/bcipy/acquisition/datastream/producer.py +++ b/bcipy/acquisition/datastream/producer.py @@ -8,8 +8,9 @@ import time from bcipy.acquisition.datastream.generator import random_data_generator +from bcipy.config import SESSION_LOG_FILENAME -log = logging.getLogger(__name__) +log = logging.getLogger(SESSION_LOG_FILENAME) class Producer(threading.Thread): diff --git a/bcipy/acquisition/demo/demo_lsl_acq_client.py b/bcipy/acquisition/demo/demo_lsl_acq_client.py index b1c0eacbf..3679e94c4 100644 --- a/bcipy/acquisition/demo/demo_lsl_acq_client.py +++ b/bcipy/acquisition/demo/demo_lsl_acq_client.py @@ -1,7 +1,6 @@ """Demo for the LslAcquisitionClient""" import time - from bcipy.acquisition import LslAcquisitionClient diff --git a/bcipy/acquisition/demo/demo_lsl_server.py b/bcipy/acquisition/demo/demo_lsl_server.py index d654ebf21..7ef7bf9c4 100644 --- a/bcipy/acquisition/demo/demo_lsl_server.py +++ b/bcipy/acquisition/demo/demo_lsl_server.py @@ -29,7 +29,7 @@ def main(): while True: time.sleep(1) except KeyboardInterrupt: - print("Keyboard Interrupt") + log.info("Keyboard Interrupt") server.stop() diff --git a/bcipy/acquisition/devices.py b/bcipy/acquisition/devices.py index 115b9c00c..74b152e58 100644 --- a/bcipy/acquisition/devices.py +++ b/bcipy/acquisition/devices.py @@ -6,7 +6,8 @@ from pathlib import Path from typing import Dict, List, NamedTuple, Optional, Union -from bcipy.config import DEFAULT_ENCODING, DEVICE_SPEC_PATH +from bcipy.config import DEFAULT_ENCODING, DEVICE_SPEC_PATH, SESSION_LOG_FILENAME + IRREGULAR_RATE: int = 0 DEFAULT_CONFIG = DEVICE_SPEC_PATH @@ -18,7 +19,7 @@ DEFAULT_DEVICE_TYPE = 'EEG' DEFAULT_STATIC_OFFSET = 0.1 -log = logging.getLogger(__name__) +logger = logging.getLogger(SESSION_LOG_FILENAME) class ChannelSpec(NamedTuple): @@ -182,7 +183,7 @@ def _validate_excluded_channels(self): """Warn if excluded channels are not in the list of channels""" for channel in self.excluded_from_analysis: if channel not in self.channels: - log.warning( + logger.warning( f"Excluded channel {channel} not found in spec for {self.name}" ) @@ -247,6 +248,7 @@ def preconfigured_device(name: str, strict: bool = True) -> DeviceSpec: "\n" "You may register new devices using the device module `register` function or in bulk" " using `load`.") + logger.error(msg) raise ValueError(msg) return device diff --git a/bcipy/acquisition/marker_writer.py b/bcipy/acquisition/marker_writer.py index b7c36d1ab..6d4172654 100644 --- a/bcipy/acquisition/marker_writer.py +++ b/bcipy/acquisition/marker_writer.py @@ -3,8 +3,9 @@ from typing import Any import pylsl +from bcipy.config import SESSION_LOG_FILENAME -log = logging.getLogger(__name__) +log = logging.getLogger(SESSION_LOG_FILENAME) class MarkerWriter(): diff --git a/bcipy/acquisition/multimodal.py b/bcipy/acquisition/multimodal.py index cf13a5613..f39d0c266 100644 --- a/bcipy/acquisition/multimodal.py +++ b/bcipy/acquisition/multimodal.py @@ -9,8 +9,9 @@ from bcipy.acquisition.protocols.lsl.lsl_client import LslAcquisitionClient from bcipy.acquisition.record import Record from bcipy.helpers.system_utils import AutoNumberEnum +from bcipy.config import SESSION_LOG_FILENAME -log = logging.getLogger(__name__) +logger = logging.getLogger(SESSION_LOG_FILENAME) class ContentType(AutoNumberEnum): @@ -111,11 +112,12 @@ def get_client( def start_acquisition(self): """Start acquiring data for all clients""" for client in self.clients: - log.info(f"Connecting to {client.device_spec.name}...") + logger.info(f"Connecting to {client.device_spec.name}...") client.start_acquisition() def stop_acquisition(self): """Stop acquiring data for all clients""" + logger.info("Stopping acquisition...") for client in self.clients: client.stop_acquisition() @@ -150,12 +152,13 @@ def get_data_by_device( adjusted_start = start + client.device_spec.static_offset if client.device_spec.sample_rate > 0: count = round(seconds * client.device_spec.sample_rate) - log.info(f'Need {count} records for processing {name} data') + logger.info(f'Need {count} records for processing {name} data') output[content_type] = client.get_data(start=adjusted_start, limit=count) data_count = len(output[content_type]) if strict and data_count < count: msg = f'Needed {count} {name} records but received {data_count}' + logger.error(msg) raise InsufficientDataException(msg) else: # Markers have an IRREGULAR_RATE. @@ -174,4 +177,6 @@ def __getattr__(self, name: str) -> Any: client = self.default_client if client: return client.__getattribute__(name) + + logger.error(f"Missing attribute: {name}") raise AttributeError(f"Missing attribute: {name}") diff --git a/bcipy/acquisition/protocols/lsl/lsl_client.py b/bcipy/acquisition/protocols/lsl/lsl_client.py index 86d0dbe1a..754a4d119 100644 --- a/bcipy/acquisition/protocols/lsl/lsl_client.py +++ b/bcipy/acquisition/protocols/lsl/lsl_client.py @@ -13,14 +13,14 @@ from bcipy.acquisition.protocols.lsl.lsl_connector import check_device from bcipy.acquisition.protocols.lsl.lsl_recorder import LslRecordingThread from bcipy.acquisition.record import Record -from bcipy.config import MAX_PAUSE_SECONDS +from bcipy.config import MAX_PAUSE_SECONDS, SESSION_LOG_FILENAME from bcipy.gui.viewer.ring_buffer import RingBuffer from bcipy.helpers.clock import Clock -log = logging.getLogger(__name__) - LSL_TIMEOUT = 5.0 # seconds +logger = logging.getLogger(SESSION_LOG_FILENAME) + def time_range(stamps: List[float], precision: int = 3, @@ -112,8 +112,8 @@ def start_acquisition(self) -> bool: stream_info, max_buflen=MAX_PAUSE_SECONDS, max_chunklen=1) - log.info("Acquiring data from data stream:") - log.info(self.inlet.info().as_xml()) + logger.info("Acquiring data from data stream:") + logger.info(self.inlet.info().as_xml()) if self.device_spec: check_device(self.device_spec, self.inlet.info()) @@ -128,10 +128,10 @@ def start_acquisition(self) -> bool: device_spec=self.device_spec, queue=msg_queue) self.recorder.start() - log.info("Waiting for first sample from lsl_recorder") + logger.info("Waiting for first sample from lsl_recorder") self._first_sample_time = msg_queue.get(block=True, timeout=LSL_TIMEOUT) - log.info(f"First sample time: {self.first_sample_time}") + logger.info(f"First sample time: {self.first_sample_time}") self.inlet.open_stream(timeout=LSL_TIMEOUT) if self.max_buffer_len and self.max_buffer_len > 0: @@ -142,16 +142,16 @@ def start_acquisition(self) -> bool: def stop_acquisition(self) -> None: """Disconnect from the data source.""" - log.info(f"Stopping Acquisition from {self.device_spec.name} ...") + logger.info(f"Stopping Acquisition from {self.device_spec.name} ...") if self.recorder: - log.info(f"Closing {self.device_spec.name} data recorder") + logger.info(f"Closing {self.device_spec.name} data recorder") self.recorder.stop() self.recorder.join() if self.inlet: - log.info("Closing LSL connection") + logger.info("Closing LSL connection") self.inlet.close_stream() self.inlet = None - log.info("Inlet closed") + logger.info("Inlet closed") self.buffer = None @@ -202,16 +202,16 @@ def get_data(self, ------- List of Records """ - log.info(request_desc(start, end, limit)) + logger.info(request_desc(start, end, limit)) data = self.get_latest_data() if not data: - log.info('No records available') + logger.info('No records available') return [] data_start = data[0].timestamp data_end = data[-1].timestamp - log.info(f'Available data: {self._data_stats(data)}') + logger.info(f'Available data: {self._data_stats(data)}') if start is None: start = data_start @@ -224,7 +224,7 @@ def get_data(self, data_slice = [ record for record in data if start <= record.timestamp <= end ][0:limit] - log.info(f"Filtered records: {self._data_stats(data_slice)}") + logger.info(f"Filtered records: {self._data_stats(data_slice)}") return data_slice @@ -247,12 +247,12 @@ def _pull_chunk(self) -> int: """Pull a chunk of samples from LSL and record in the buffer. Returns the count of samples pulled. """ - log.debug(f"\tPulling chunk (max_samples: {self.max_samples})") + logger.debug(f"\tPulling chunk (max_samples: {self.max_samples})") # A timeout of 0.0 gets currently available samples without blocking. samples, timestamps = self.inlet.pull_chunk( timeout=0.0, max_samples=self.max_samples) count = len(samples) - log.debug(f"\t-> received {count} samples: {time_range(timestamps)}") + logger.debug(f"\t-> received {count} samples: {time_range(timestamps)}") for sample, stamp in zip(samples, timestamps): self.buffer.append(Record(sample, stamp)) return count @@ -361,7 +361,7 @@ def offset(self, first_stim_time: float) -> float: return 0.0 assert self.first_sample_time, "Acquisition was not started." offset_from_stim = first_stim_time - self.first_sample_time - log.info(f"Acquisition offset: {offset_from_stim}") + logger.info(f"Acquisition offset: {offset_from_stim}") return offset_from_stim def cleanup(self): @@ -371,7 +371,7 @@ def cleanup(self): def discover_device_spec(content_type: str) -> DeviceSpec: """Finds the first LSL stream with the given content type and creates a device spec from the stream's metadata.""" - log.info(f"Waiting for {content_type} data to be streamed over LSL.") + logger.info(f"Waiting for {content_type} data to be streamed over LSL.") streams = resolve_byprop('type', content_type, timeout=LSL_TIMEOUT) if not streams: raise Exception( diff --git a/bcipy/acquisition/protocols/lsl/lsl_connector.py b/bcipy/acquisition/protocols/lsl/lsl_connector.py index 629e90f6f..31363db38 100644 --- a/bcipy/acquisition/protocols/lsl/lsl_connector.py +++ b/bcipy/acquisition/protocols/lsl/lsl_connector.py @@ -7,8 +7,9 @@ import pylsl from bcipy.acquisition.devices import DeviceSpec +from bcipy.config import SESSION_LOG_FILENAME -log = logging.getLogger(__name__) +log = logging.getLogger(SESSION_LOG_FILENAME) LSL_TIMESTAMP = 'LSL_timestamp' LSL_TIMEOUT_SECONDS = 5.0 diff --git a/bcipy/acquisition/protocols/lsl/lsl_recorder.py b/bcipy/acquisition/protocols/lsl/lsl_recorder.py index 2846d0ee1..75ddee170 100644 --- a/bcipy/acquisition/protocols/lsl/lsl_recorder.py +++ b/bcipy/acquisition/protocols/lsl/lsl_recorder.py @@ -13,9 +13,10 @@ from bcipy.acquisition.protocols.lsl.lsl_connector import (channel_names, check_device) from bcipy.acquisition.util import StoppableProcess +from bcipy.config import SESSION_LOG_FILENAME from bcipy.helpers.raw_data import RawDataWriter -log = logging.getLogger(__name__) +log = logging.getLogger(SESSION_LOG_FILENAME) class LslRecorder: @@ -144,9 +145,9 @@ def _init_data_writer(self, stream_info: StreamInfo) -> None: def _cleanup(self) -> None: """Performs cleanup tasks.""" - assert self.writer, "Writer not initialized" - self.writer.__exit__() - self.writer = None + if self.writer: + self.writer.__exit__() + self.writer = None def _write_chunk(self, data: List, timestamps: List) -> None: """Persists the data resulting from pulling a chunk from the inlet. diff --git a/bcipy/acquisition/tests/protocols/lsl/test_lsl_recorder.py b/bcipy/acquisition/tests/protocols/lsl/test_lsl_recorder.py index 2db91b78a..e0649e3d2 100644 --- a/bcipy/acquisition/tests/protocols/lsl/test_lsl_recorder.py +++ b/bcipy/acquisition/tests/protocols/lsl/test_lsl_recorder.py @@ -5,6 +5,7 @@ from pathlib import Path import pytest +import logging from bcipy.acquisition.datastream.lsl_server import LslDataServer from bcipy.acquisition.datastream.mock.eye_tracker_server import \ @@ -13,8 +14,10 @@ from bcipy.acquisition.protocols.lsl.lsl_recorder import LslRecorder from bcipy.helpers.raw_data import TIMESTAMP_COLUMN, load +log = logging.getLogger(__name__) + DEVICE_NAME = 'DSI-24' -DEVICE = preconfigured_device(DEVICE_NAME) +DEVICE = preconfigured_device(DEVICE_NAME, log) @pytest.mark.slow diff --git a/bcipy/config.py b/bcipy/config.py index f49c77cc9..0bbc4b562 100644 --- a/bcipy/config.py +++ b/bcipy/config.py @@ -13,15 +13,22 @@ # experiment configuration DEFAULT_EXPERIMENT_ID = 'default' +DEFAULT_FRAME_RATE = 60 +CUSTOM_TASK_EXPERIMENT_ID = "CustomTaskExecution" EXPERIMENT_FILENAME = 'experiments.json' FIELD_FILENAME = 'fields.json' EXPERIMENT_DATA_FILENAME = 'experiment_data.json' +MULTIPHRASE_FILENAME = 'phrases.json' +PROTOCOL_FILENAME = 'protocol.json' BCIPY_ROOT = Path(__file__).resolve().parent ROOT = BCIPY_ROOT.parent DEFAULT_EXPERIMENT_PATH = f'{BCIPY_ROOT}/parameters/experiment' DEFAULT_FIELD_PATH = f'{BCIPY_ROOT}/parameters/field' +DEFAULT_USER_ID = 'test_user' +TASK_SEPERATOR = '->' DEFAULT_PARAMETER_FILENAME = 'parameters.json' +DEFAULT_DEVICES_PATH = f"{BCIPY_ROOT}/parameters" DEFAULT_PARAMETERS_PATH = f'{BCIPY_ROOT}/parameters/{DEFAULT_PARAMETER_FILENAME}' DEFAULT_DEVICE_SPEC_FILENAME = 'devices.json' DEVICE_SPEC_PATH = f'{BCIPY_ROOT}/parameters/{DEFAULT_DEVICE_SPEC_FILENAME}' @@ -49,7 +56,8 @@ TRIGGER_FILENAME = 'triggers.txt' SESSION_DATA_FILENAME = 'session.json' SESSION_SUMMARY_FILENAME = 'session.xlsx' -LOG_FILENAME = 'bcipy_system_log.txt' +SESSION_LOG_FILENAME = 'session_log.txt' +PROTOCOL_LOG_FILENAME = 'protocol_log.txt' STIMULI_POSITIONS_FILENAME = 'stimuli_positions.json' # misc configuration diff --git a/bcipy/demo/bci_main_demo.py b/bcipy/demo/bci_main_demo.py index b2ac274f3..4e3c0adb3 100644 --- a/bcipy/demo/bci_main_demo.py +++ b/bcipy/demo/bci_main_demo.py @@ -1,26 +1,32 @@ -# This is a demo of the main bci system. It will run the task defined here -# using the parameters file passed to it. - - -def main(): - from bcipy.main import bcipy_main - from bcipy.task import TaskType - from bcipy.helpers.parameters import DEFAULT_PARAMETERS_PATH - - # Load a parameters file - parameters = DEFAULT_PARAMETERS_PATH - - # Task. Ex. `RSVP Calibration` - task = TaskType.by_value('RSVP Calibration') - - # Experiment. Use the default registered experiment! - experiment = 'default' - - # Define a user - user = 'bci_main_demo_user' - - bcipy_main(parameters, user, task, experiment) - - -if __name__ == "__main__": - main() +from bcipy.main import bci_main +from bcipy.config import DEFAULT_PARAMETERS_PATH + +parameter_location = DEFAULT_PARAMETERS_PATH # Path to a valid BciPy parameters file +user = 'test_demo_user' # User ID +experiment_id = 'default' # This will run two tasks: RSVP Calibration and Matrix Calibration +alert = False # Set to True to alert user when tasks are complete +visualize = False # Set to True to visualize data at the end of a task +fake_data = True # Set to True to use fake acquisition data during the session +# A single task or experiment ID must be provided to run. If a task is provided, the experiment ID will be ignored. +task = None + + +def bcipy_main(): + """BCI Main Demo. + + This function demonstrates how to use the BciPy main function outside of the client interface to execute tasks + or experiments. + """ + bci_main( + parameter_location=parameter_location, + user=user, + experiment_id=experiment_id, + alert=alert, + visualize=visualize, + fake=fake_data, + task=task + ) + + +if __name__ == '__main__': + bcipy_main() diff --git a/bcipy/display/demo/components/demo_layouts.py b/bcipy/display/demo/components/demo_layouts.py index adb2fd071..08521c73f 100644 --- a/bcipy/display/demo/components/demo_layouts.py +++ b/bcipy/display/demo/components/demo_layouts.py @@ -264,11 +264,12 @@ def demo_matrix_positions(win: visual.Window): # norm_layout = centered(parent=win, width_pct=1., height_pct=0.5) task_bar = at_top(parent=win, height=0.25) win_layout = Layout(win) + symbols = alphabet() norm_layout = centered(parent=win, width_pct=0.7, height_pct=0.75) - positions = symbol_positions(norm_layout, rows=5, columns=6) + positions = symbol_positions(norm_layout, symbol_set=symbols, rows=5, columns=6) - for sym, pos in zip(alphabet(), positions): + for sym, pos in zip(symbols, positions): stim = visual.TextStim(win, text=sym, pos=pos, diff --git a/bcipy/display/demo/matrix/demo_calibration_matrix.py b/bcipy/display/demo/matrix/demo_calibration_matrix.py index bb1a1cb02..3e737644d 100644 --- a/bcipy/display/demo/matrix/demo_calibration_matrix.py +++ b/bcipy/display/demo/matrix/demo_calibration_matrix.py @@ -19,7 +19,8 @@ stim_properties = StimuliProperties(stim_font='Arial', stim_pos=(-0.6, 0.4), stim_height=0.17, - is_txt_stim=True) + is_txt_stim=True, + layout='ALP') # Initialize Stimulus window_parameters = { diff --git a/bcipy/display/demo/matrix/demo_copyphrase_matrix.py b/bcipy/display/demo/matrix/demo_copyphrase_matrix.py index 33b27ce2c..f2b7e73c0 100644 --- a/bcipy/display/demo/matrix/demo_copyphrase_matrix.py +++ b/bcipy/display/demo/matrix/demo_copyphrase_matrix.py @@ -26,7 +26,8 @@ stim_properties = StimuliProperties(stim_font=font, stim_pos=(-0.6, 0.4), stim_height=0.17, - is_txt_stim=True) + is_txt_stim=True, + layout='ALP') # Initialize Stimulus window_parameters = { diff --git a/bcipy/display/demo/matrix/demo_matrix_layout.py b/bcipy/display/demo/matrix/demo_matrix_layout.py index 72249743b..62ba0a0af 100644 --- a/bcipy/display/demo/matrix/demo_matrix_layout.py +++ b/bcipy/display/demo/matrix/demo_matrix_layout.py @@ -35,7 +35,8 @@ stim_properties = StimuliProperties(stim_font=font, stim_pos=[], stim_height=0.5, - is_txt_stim=True) + is_txt_stim=True, + layout='QWERTY') info = InformationProperties( info_color=['white'], @@ -54,7 +55,6 @@ columns=7, width_pct=0.7, height_pct=matrix_height_pct) -# sort_order=qwerty_order(is_txt_stim=True)) matrix_display.draw(grid_opacity=matrix_display.full_grid_opacity, grid_color=matrix_display.grid_color, diff --git a/bcipy/display/main.py b/bcipy/display/main.py index 52b227a29..8aa9f9b94 100644 --- a/bcipy/display/main.py +++ b/bcipy/display/main.py @@ -1,7 +1,6 @@ # mypy: disable-error-code="assignment,empty-body" from abc import ABC, abstractmethod from enum import Enum -from logging import Logger from typing import Any, List, NamedTuple, Optional, Tuple, Type, Union from psychopy import visual @@ -22,7 +21,6 @@ class Display(ABC): window: visual.Window = None timing_clock: Clock = None experiment_clock: Clock = None - logger: Logger = None stimuli_inquiry: List[str] = None stimuli_colors: List[str] = None stimuli_timing: List[float] = None @@ -132,7 +130,7 @@ def init_display_window(parameters): class StimuliProperties: """"Stimuli Properties. - An encapsulation of properties relevant to core stimuli presentation in an RSVP or Matrix paradigm. + An encapsulation of properties relevant to core stimuli presentation in a paradigm. """ def __init__( @@ -144,7 +142,8 @@ def __init__( stim_colors: Optional[List[str]] = None, stim_timing: Optional[List[float]] = None, is_txt_stim: bool = True, - prompt_time: Optional[float] = None): + prompt_time: Optional[float] = None, + layout: Optional[str] = None): """Initialize Stimuli Parameters. stim_font(List[str]): Ordered list of colors to apply to information stimuli @@ -156,6 +155,8 @@ def __init__( stim_timing(List[float]): Ordered list of timing to apply to an inquiry using the stimuli is_txt_stim(bool): Whether or not this is a text based stimuli (False implies image based) prompt_time(float): Time to display target prompt for at the beginning of inquiry + layout(str): Layout of stimuli on the screen (ex. 'ALPHABET' or 'QWERTY'). + This is only used for matrix displays. """ self.stim_font = stim_font self.stim_pos = stim_pos @@ -167,6 +168,7 @@ def __init__( self.stim_length = len(self.stim_inquiry) self.sti = None self.prompt_time = prompt_time + self.layout = layout def build_init_stimuli(self, window: visual.Window) -> Union[visual.TextStim, visual.ImageStim]: """"Build Initial Stimuli. diff --git a/bcipy/display/paradigm/matrix/README.md b/bcipy/display/paradigm/matrix/README.md index 22d731125..0fbdf4a89 100644 --- a/bcipy/display/paradigm/matrix/README.md +++ b/bcipy/display/paradigm/matrix/README.md @@ -55,21 +55,6 @@ matrix_display = MatrixDisplay(win, columns=7) ``` -## Sorting stimuli - -A sort order function for the symbols can specified. The sort function includes the ability to provide blank spaces within the grid. - -``` -from bcipy.helpers.symbols import qwerty_order -matrix_display = MatrixDisplay(win, - experiment_clock, - stim_properties, - task_bar=task_bar, - info=info, - rows=3, - columns=10, - sort_order=qwerty_order(is_txt_stim=True)) -``` ## Layout diff --git a/bcipy/display/paradigm/matrix/display.py b/bcipy/display/paradigm/matrix/display.py index 6cbfa0198..b22f081b4 100644 --- a/bcipy/display/paradigm/matrix/display.py +++ b/bcipy/display/paradigm/matrix/display.py @@ -1,20 +1,22 @@ """Display for presenting stimuli in a grid.""" import logging -from typing import Callable, Dict, List, NamedTuple, Optional, Tuple +from typing import Dict, List, NamedTuple, Optional, Tuple from psychopy import core, visual import bcipy.display.components.layout as layout -from bcipy.config import MATRIX_IMAGE_FILENAME +from bcipy.config import MATRIX_IMAGE_FILENAME, SESSION_LOG_FILENAME from bcipy.display import (BCIPY_LOGO_PATH, Display, InformationProperties, StimuliProperties) from bcipy.display.components.task_bar import TaskBar from bcipy.display.main import PreviewParams, init_preview_button_handler from bcipy.display.paradigm.matrix.layout import symbol_positions from bcipy.helpers.stimuli import resize_image -from bcipy.helpers.symbols import alphabet +from bcipy.helpers.symbols import alphabet, qwerty_order, frequency_order from bcipy.helpers.triggers import _calibration_trigger +logger = logging.getLogger(SESSION_LOG_FILENAME) + class SymbolDuration(NamedTuple): """Represents a symbol and its associated duration to display""" @@ -33,7 +35,7 @@ class MatrixDisplay(Display): time_fixation: 2 stim_pos_x: -0.6 stim_pos_y: 0.4 - stim_height: 0.1 + stim_height: 0.17 """ def __init__(self, @@ -47,9 +49,8 @@ def __init__(self, width_pct: float = 0.75, height_pct: float = 0.8, trigger_type: str = 'text', - symbol_set: Optional[List[str]] = None, + symbol_set: Optional[List[str]] = alphabet(), should_prompt_target: bool = True, - sort_order: Optional[Callable] = None, preview_config: Optional[PreviewParams] = None): """Initialize Matrix display parameters and objects. @@ -79,8 +80,6 @@ def __init__(self, """ self.window = window - self.logger = logging.getLogger(__name__) - self.stimuli_inquiry = [] self.stimuli_timing = [] self.stimuli_colors = [] @@ -88,15 +87,16 @@ def __init__(self, assert stimuli.is_txt_stim, "Matrix display is a text only display" - self.symbol_set = symbol_set or alphabet() - self.sort_order = sort_order or self.symbol_set.index + self.symbol_set = symbol_set + self.sort_order = self.build_sort_order(stimuli) # Set position and parameters for grid of alphabet - self.grid_stimuli_height = 0.17 # stimuli.stim_height + self.grid_stimuli_height = stimuli.stim_height display_container = layout.centered(parent=window, width_pct=width_pct, height_pct=height_pct) - self.positions = symbol_positions(display_container, rows, columns) + self.positions = symbol_positions( + display_container, rows, columns, symbol_set) self.grid_color = 'white' self.start_opacity = 0.15 @@ -122,10 +122,23 @@ def __init__(self, preview_config, experiment_clock) if self.preview_enabled else None self.preview_accepted = True - self.logger.info( + logger.info( f"Symbol positions ({display_container.units} units):\n{self.stim_positions}" ) - self.logger.info(f"Matrix center position: {display_container.center}") + logger.info(f"Matrix center position: {display_container.center}") + + def build_sort_order(self, stimuli: StimuliProperties) -> List[str]: + """Build the symbol set for the display.""" + if stimuli.layout == 'ALP': + return self.symbol_set.index + elif stimuli.layout == 'QWERTY': + logger.info('Using QWERTY layout') + return qwerty_order() + elif stimuli.layout == 'FREQ': + logger.info('Using frequency layout') + return frequency_order() + else: + raise ValueError(f'Unknown layout: {stimuli.layout}') @property def stim_positions(self) -> Dict[str, Tuple[float, float]]: @@ -222,11 +235,13 @@ def do_inquiry(self) -> List[Tuple[str, float]]: def build_grid(self) -> Dict[str, visual.TextStim]: """Build the text stimuli to populate the grid.""" + grid = {} for sym in self.symbol_set: pos_index = self.sort_order(sym) pos = self.positions[pos_index] grid[sym] = visual.TextStim(win=self.window, + font=self.stimuli_font, text=sym, color=self.grid_color, opacity=self.start_opacity, @@ -334,7 +349,7 @@ def draw(self, core.wait(duration) def animate_scp(self, fixation: SymbolDuration, - stimuli: List[SymbolDuration]): + stimuli: List[SymbolDuration]) -> None: """Animate the given stimuli using single character presentation. Flashes each stimuli in stimuli_inquiry for their respective flash @@ -405,7 +420,7 @@ def draw_components(self) -> None: for info in self.info_text: info.draw() - def update_task_bar(self, text: str = ''): + def update_task_bar(self, text: str = '') -> None: """Update Task. Update any task related display items not related to the inquiry. Ex. stimuli count 1/200. diff --git a/bcipy/display/paradigm/matrix/layout.py b/bcipy/display/paradigm/matrix/layout.py index 7ecccd814..994642bf4 100644 --- a/bcipy/display/paradigm/matrix/layout.py +++ b/bcipy/display/paradigm/matrix/layout.py @@ -1,16 +1,16 @@ """Functions for calculating matrix layouts""" -import logging from typing import List, Optional, Tuple from bcipy.display.components.layout import (Layout, above, below, left_of, right_of, scaled_height, scaled_width) -logger = logging.getLogger(__name__) - -def symbol_positions(container: Layout, rows: int, - columns: int, max_spacing: Optional[float] = None) -> List[Tuple[float, float]]: +def symbol_positions(container: Layout, + rows: int, + columns: int, + symbol_set: List[str], + max_spacing: Optional[float] = None) -> List[Tuple[float, float]]: """Compute the positions for arranging a number of symbols in a grid layout. @@ -20,6 +20,7 @@ def symbol_positions(container: Layout, rows: int, visual.Window parent, which is used to determine the aspect ratio. rows - number of rows in the grid columns - number of columns in the grid + symbol_set - list of symbols to place in the grid max_spacing - optional max spacing (in layout units) in the height direction; width will be normalized to this value if provided Returns @@ -28,6 +29,8 @@ def symbol_positions(container: Layout, rows: int, """ assert container.parent, "Container must have a parent" assert rows >= 1 and columns >= 1, "There must be at least one row and one column" + assert rows * columns >= len(symbol_set), \ + f"Not enough positions for symbols {len(symbol_set)}. Increase rows or columns." # compute the spacing (in container units) from the container width and height win_size = container.parent.size diff --git a/bcipy/display/paradigm/vep/codes.py b/bcipy/display/paradigm/vep/codes.py index 86e367460..833288ae4 100644 --- a/bcipy/display/paradigm/vep/codes.py +++ b/bcipy/display/paradigm/vep/codes.py @@ -4,7 +4,7 @@ import numpy as np -from bcipy.helpers.exceptions import BciPyCoreException +from bcipy.exceptions import BciPyCoreException log = logging.getLogger(__name__) diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index 0df6032ac..f3fb0afeb 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -89,7 +89,8 @@ def __init__(self, display_container = layout.centered(parent=self.window, width_pct=0.7) self.starting_positions = symbol_positions(display_container, rows=3, - columns=10) + columns=10, + symbol_set=self.symbol_set) self.logger.info( f"Symbol starting positions ({str(display_container.units)} units): {self.starting_positions}" ) @@ -112,6 +113,8 @@ def __init__(self, self.task_bar = task_bar self.info_text = info.build_info_text(window) + self.box_stim_height = 0.24 + # build the VEP stimuli self.flicker_rates = flicker_rates self.logger.info(f"VEP flicker rates (hz): {flicker_rates}") @@ -122,7 +125,7 @@ def __init__(self, ] vep_colors = [('white', 'black'), ('red', 'green'), ('blue', 'yellow'), ('orange', 'green')] - vep_stim_size = scaled_size(0.24, self.window_size) + vep_stim_size = scaled_size(self.box_stim_height, self.window_size) self.vep = self.build_vep_stimuli(positions=box_config.positions, codes=codes, colors=cycle(vep_colors), @@ -381,9 +384,6 @@ def draw_static(self) -> None: if self.task_bar: self.task_bar.draw() - for info in self.info_text: - info.draw() - def update_task_bar(self, text: str = ''): """Update any task related display items not related to the inquiry. Ex. stimuli count 1/200. @@ -412,6 +412,7 @@ def _build_inquiry_stimuli(self) -> Dict[str, visual.TextStim]: for sym in self.symbol_set: pos_index = self.sort_order(sym) grid[sym] = visual.TextStim(win=self.window, + font=self.stimuli_font, text=sym, color=self.starting_color, pos=self.starting_positions[pos_index], diff --git a/bcipy/display/tests/paradigm/matrix/test_matrix_display.py b/bcipy/display/tests/paradigm/matrix/test_matrix_display.py index 36bccca82..dd71cc251 100644 --- a/bcipy/display/tests/paradigm/matrix/test_matrix_display.py +++ b/bcipy/display/tests/paradigm/matrix/test_matrix_display.py @@ -12,13 +12,15 @@ # Define some reusable elements to test Matrix Display with LEN_STIM = 10 -TEST_STIM = StimuliProperties(stim_font='Arial', - stim_pos=(-0.6, 0.4), - stim_height=0.1, - stim_inquiry=['A'], - stim_colors=[], - stim_timing=[0.1], - is_txt_stim=True) +TEST_STIM = StimuliProperties( + stim_font='Arial', + stim_pos=(-0.6, 0.4), + stim_height=0.1, + stim_inquiry=['A'], + stim_colors=[], + stim_timing=[0.1], + is_txt_stim=True, + layout='QWERTY') TEST_INFO = InformationProperties( info_color=['White'], @@ -43,7 +45,7 @@ def setUp(self): spec=psychopy.visual.TextStim) when(self.text_stim_mock).setOpacity(...).thenReturn() when(self.text_stim_mock).setColor(...).thenReturn() - when(self.text_stim_mock).draw(...).thenReturn() + when(self.text_stim_mock).draw().thenReturn() # grid item when(psychopy.visual).TextStim( diff --git a/bcipy/display/tests/paradigm/matrix/test_matrix_layout.py b/bcipy/display/tests/paradigm/matrix/test_matrix_layout.py index a6c7c8b4f..bd562dbd2 100644 --- a/bcipy/display/tests/paradigm/matrix/test_matrix_layout.py +++ b/bcipy/display/tests/paradigm/matrix/test_matrix_layout.py @@ -19,12 +19,14 @@ def setUp(self): top=1.0, right=1.0, bottom=-1.0) + self.symbols = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] def test_regular_grid(self): """Test basic properties of a regular grid""" row_count = 4 col_count = 5 positions = symbol_positions(self.layout, + symbol_set=self.symbols, rows=row_count, columns=col_count) self.assertEqual(len(positions), 20) @@ -37,7 +39,11 @@ def test_regular_grid(self): def test_single_row(self): """Test position calculations for a single row""" - positions = symbol_positions(self.layout, rows=1, columns=10) + positions = symbol_positions( + self.layout, + symbol_set=self.symbols, + rows=1, + columns=10) self.assertEqual(len(positions), 10) y_coord = positions[0][1] @@ -59,7 +65,11 @@ def test_single_row(self): def test_single_column(self): """Test position calculations for a single column""" - positions = symbol_positions(self.layout, rows=10, columns=1) + positions = symbol_positions( + self.layout, + symbol_set=self.symbols, + rows=10, + columns=1) self.assertEqual(len(positions), 10) x_coord = positions[0][0] @@ -80,7 +90,11 @@ def test_single_column(self): def test_spacing(self): """Test grid spacing""" - positions = symbol_positions(self.layout, rows=2, columns=2) + positions = symbol_positions( + self.layout, + symbol_set=['A', 'B', 'C', 'D'], + rows=2, + columns=2) self.assertEqual(len(positions), 4) top_left = positions[0] @@ -107,6 +121,7 @@ def test_max_spacing(self): """Test max_spacing parameter""" max_spacing = 0.1 positions = symbol_positions(self.layout, + symbol_set=['A', 'B', 'C', 'D'], rows=2, columns=2, max_spacing=max_spacing) @@ -120,6 +135,15 @@ def test_max_spacing(self): self.assertEqual(row_spacing, max_spacing) self.assertEqual(column_spacing, max_spacing) + def test_symbol_position_throws_error_with_too_many_symbols(self): + """Test that an error is thrown if there are too many symbols for the grid""" + with self.assertRaises(AssertionError): + symbol_positions(self.layout, + symbol_set=self.symbols, + rows=2, + columns=2, + max_spacing=0.1) + if __name__ == '__main__': unittest.main() diff --git a/bcipy/display/tests/vep/test_codes.py b/bcipy/display/tests/vep/test_codes.py index cd0584dbb..5b1d82b4b 100644 --- a/bcipy/display/tests/vep/test_codes.py +++ b/bcipy/display/tests/vep/test_codes.py @@ -1,7 +1,7 @@ import unittest from bcipy.display.paradigm.vep.codes import round_refresh_rate, ssvep_to_code -from bcipy.helpers.exceptions import BciPyCoreException +from bcipy.exceptions import BciPyCoreException class SSVEPStimuli(unittest.TestCase): diff --git a/bcipy/helpers/exceptions.py b/bcipy/exceptions.py similarity index 100% rename from bcipy/helpers/exceptions.py rename to bcipy/exceptions.py diff --git a/bcipy/feedback/feedback.py b/bcipy/feedback/feedback.py index 9bb264f39..8496371b8 100644 --- a/bcipy/feedback/feedback.py +++ b/bcipy/feedback/feedback.py @@ -1,4 +1,5 @@ import logging +from bcipy.config import SESSION_LOG_FILENAME REGISTERED_FEEDBACK_TYPES = ['sound', 'visual'] @@ -9,7 +10,7 @@ class Feedback: def __init__(self, feedback_type): super(Feedback, self).__init__() self.feedback_type = feedback_type - self.logger = logging.getLogger(__name__) + self.logger = logging.getLogger(SESSION_LOG_FILENAME) def configure(self): raise NotImplementedError() diff --git a/bcipy/gui/BCInterface.py b/bcipy/gui/BCInterface.py index 326e2a1f6..3a4c79134 100644 --- a/bcipy/gui/BCInterface.py +++ b/bcipy/gui/BCInterface.py @@ -1,16 +1,19 @@ import subprocess import sys +import logging from typing import List from bcipy.config import (BCIPY_ROOT, DEFAULT_PARAMETERS_PATH, - STATIC_IMAGES_PATH) + STATIC_IMAGES_PATH, PROTOCOL_LOG_FILENAME) from bcipy.gui.main import (AlertMessageResponse, AlertMessageType, AlertResponse, BCIGui, app, contains_special_characters, contains_whitespaces, invalid_length) from bcipy.helpers.load import (copy_parameters, load_experiments, load_json_parameters, load_users) -from bcipy.task import TaskType +from bcipy.task import TaskRegistry + +logger = logging.getLogger(PROTOCOL_LOG_FILENAME) class BCInterface(BCIGui): @@ -20,7 +23,7 @@ class BCInterface(BCIGui): editing and loading, and offline analysis execution. """ - tasks = TaskType.list() + tasks = TaskRegistry().list() default_text = '...' padding = 20 @@ -29,7 +32,7 @@ class BCInterface(BCIGui): max_length = 25 min_length = 1 timeout = 3 - font = 'Consolas' + font = 'Courier New' def __init__(self, *args, **kwargs): super(BCInterface, self).__init__(*args, **kwargs) @@ -333,17 +336,18 @@ def check_input(self) -> bool: try: if not self.check_user_id(): return False - if self.experiment == BCInterface.default_text: + + if self.experiment == BCInterface.default_text and self.task == BCInterface.default_text: self.throw_alert_message( title='BciPy Alert', - message='Please select or create an Experiment', + message='Please select an Experiment or Task for execution', message_type=AlertMessageType.INFO, message_response=AlertMessageResponse.OTE) return False - if self.task == BCInterface.default_text: + if self.experiment != BCInterface.default_text and self.task != BCInterface.default_text: self.throw_alert_message( title='BciPy Alert', - message='Please select a Task', + message='Please select only an Experiment or Task', message_type=AlertMessageType.INFO, message_response=AlertMessageResponse.OTE) return False @@ -407,13 +411,25 @@ def start_experiment(self) -> None: message_type=AlertMessageType.INFO, message_response=AlertMessageResponse.OTE, message_timeout=self.task_start_timeout) - cmd = ( - f'bcipy -e "{self.experiment}" ' - f'-u "{self.user}" -t "{self.task}" -p "{self.parameter_location}"' - ) + if self.task != BCInterface.default_text: + cmd = ( + f'bcipy ' + f'-u "{self.user}" -t "{self.task}" -p "{self.parameter_location}"' + ) + else: + cmd = ( + f'bcipy ' + f'-u "{self.user}" -e "{self.experiment}" -p "{self.parameter_location}"' + ) if self.alert: cmd += ' -a' - subprocess.Popen(cmd, shell=True) + output = subprocess.run(cmd, shell=True) + if output.returncode != 0: + self.throw_alert_message( + title='BciPy Alert', + message=f'Error: {output.stderr.decode()}', + message_type=AlertMessageType.CRIT, + message_response=AlertMessageResponse.OTE) if self.autoclose: self.close() @@ -424,7 +440,7 @@ def offline_analysis(self) -> None: Run offline analysis as a script in a new process. """ if not self.action_disabled(): - cmd = f'python {BCIPY_ROOT}/signal/model/offline_analysis.py --alert --p "{self.parameter_location}"' + cmd = f'bcipy-train --alert --p "{self.parameter_location}" -v -s' subprocess.Popen(cmd, shell=True) def action_disabled(self) -> bool: diff --git a/bcipy/gui/alert.py b/bcipy/gui/alert.py index d974349d9..91fec4c9e 100644 --- a/bcipy/gui/alert.py +++ b/bcipy/gui/alert.py @@ -15,12 +15,13 @@ def confirm(message: str) -> bool: ------- users selection : True for selecting Ok, False for Cancel. """ - app = QApplication(sys.argv) + app = QApplication(sys.argv).instance() + if not app: + app = QApplication(sys.argv) dialog = alert_message(message, message_type=AlertMessageType.INFO, message_response=AlertMessageResponse.OCE) button = dialog.exec() - result = bool(button == AlertResponse.OK.value) app.quit() return result diff --git a/bcipy/gui/bcipy_stylesheet.css b/bcipy/gui/bcipy_stylesheet.css new file mode 100644 index 000000000..58b53a88b --- /dev/null +++ b/bcipy/gui/bcipy_stylesheet.css @@ -0,0 +1,87 @@ +/* This stylesheet uses the QSS syntax, but is named as a CSS file to take advantage of IDE CSS tooling */ + +QWidget[class="experiment-registry"] { + background-color: black; +} + +QWidget[class="inter-task"] { + background-color: black; +} + +QLabel { + background-color: black; + color: white; +} + +QLabel[class="task-label"] { + background-color: transparent; + color: black; +} + +QPushButton { + background-color: rgb(16, 173, 39); + color: white; + padding: 10px; + border-radius: 10px; +} + +QPushButton[class="remove-button"] { + background-color: rgb(243, 58, 58); +} + +QPushButton[class="remove-button"]:hover { + background-color: rgb(255, 0, 0); +} + +QPushButton[class="small-button"] { + background-color: darkslategray; + color: white; + padding: 5px; + border-radius: 5px; +} + +QPushButton[class="small-button"]:hover { + background-color: darkgreen; +} + + +QPushButton:pressed { + background-color: darkslategrey; +} + +QComboBox { + background-color: white; + color: black; + padding: 4px; + border-radius: 1px; +} + +QComboBox:hover { + background-color: #e6f5ea; + color: black; +} + +QComboBox:on { + background-color: #e6f5ea; + color: black; +} + +QListView { + background-color: white; + color: black; + padding: 5px; +} + +QLineEdit { + background-color: white; + color: black; + padding: 5px; + border: none; + border-radius: 1px; +} + +QScrollArea { + background-color: white; + color: black; + border-radius: 1px; +} \ No newline at end of file diff --git a/bcipy/gui/bciui.py b/bcipy/gui/bciui.py new file mode 100644 index 000000000..b3c301832 --- /dev/null +++ b/bcipy/gui/bciui.py @@ -0,0 +1,238 @@ +from typing import Callable, Type +from PyQt6.QtCore import pyqtSignal +from PyQt6.QtWidgets import ( + QWidget, + QVBoxLayout, + QHBoxLayout, + QPushButton, + QScrollArea, + QLayout, + QSizePolicy, + QMessageBox, + QApplication, +) +from typing import Optional, List +from bcipy.config import BCIPY_ROOT +import sys + + +class BCIUI(QWidget): + contents: QVBoxLayout + center_content_vertically: bool = False + + def __init__(self, title: str = "BCIUI", default_width: int = 500, default_height: int = 600) -> None: + super().__init__() + self.resize(default_width, default_height) + self.setWindowTitle(title) + self.contents = QVBoxLayout() + self.setLayout(self.contents) + + def app(self): + ... + + def apply_stylesheet(self) -> None: + stylesheet_path = f'{BCIPY_ROOT}/gui/bcipy_stylesheet.css' # TODO: move to config + with open(stylesheet_path, "r") as f: + stylesheet = f.read() + self.setStyleSheet(stylesheet) + + def display(self) -> None: + # Push contents to the top of the window + """ + Display the UI window and apply the stylesheet. + """ + self.app() + if not self.center_content_vertically: + self.contents.addStretch() + self.apply_stylesheet() + self.show() + + def show_alert(self, alert_text: str) -> int: + """ + Shows an alert dialog with the specified text. + + PARAMETERS + ---------- + :param: alert_text: string text to display in the alert dialog. + """ + msg = QMessageBox() + msg.setText(alert_text) + msg.setWindowTitle("Alert") + return msg.exec() + + @staticmethod + def centered(widget: QWidget) -> QHBoxLayout: + layout = QHBoxLayout() + layout.addStretch() + layout.addWidget(widget) + layout.addStretch() + return layout + + @staticmethod + def make_list_scroll_area(widget: QWidget) -> QScrollArea: + scroll_area = QScrollArea() + scroll_area.setWidget(widget) + scroll_area.setWidgetResizable(True) + return scroll_area + + @staticmethod + def make_toggle( + on_button: QPushButton, + off_button: QPushButton, + on_action: Optional[Callable] = lambda: None, + off_action: Optional[Callable] = lambda: None, + ) -> None: + """ + Connects two buttons to toggle between eachother and call passed methods + + PARAMETERS + ---------- + :param: on_button: QPushButton to toggle on + :param: off_button: QPushButton to toggle off + :param: on_action: function to call when on_button is clicked + :param: off_action: function to call when off_button is clicked + + """ + off_button.hide() + + def toggle_off(): + on_button.hide() + off_button.show() + off_action() + + def toggle_on(): + on_button.show() + off_button.hide() + on_action() + + on_button.clicked.connect(toggle_off) + off_button.clicked.connect(toggle_on) + + def hide(self) -> None: + """Close the UI window""" + self.hide() + + +class SmallButton(QPushButton): + """A small button with a fixed size""" + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.setProperty("class", "small-button") + self.setSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Fixed) + + +class DynamicItem(QWidget): + """A widget that can be dynamically added and removed from the ui""" + + on_remove: pyqtSignal = pyqtSignal() + data: dict = {} + + def remove(self) -> None: + """Remove the widget from it's parent DynamicList, removing it from the UI and deleting it""" + self.on_remove.emit() + + +class DynamicList(QWidget): + """A list of QWidgets that can be dynamically updated""" + + widgets: List[QWidget] + + def __init__(self, layout: Optional[QLayout] = None): + super().__init__() + if layout is None: + layout = QVBoxLayout() + self.setLayout(layout) + self.widgets = [] + + def __len__(self): + return len(self.widgets) + + def add_item(self, item: DynamicItem) -> None: + """ + Add a DynamicItem to the list. + + PARAMETERS + ---------- + :param: item: DynamicItem to add to the list. + """ + self.widgets.append(item) + item.on_remove.connect(lambda: self.remove_item(item)) + self.layout().addWidget(item) + + def move_item(self, item: DynamicItem, new_index: int) -> None: + """ + Move a DynamicItem to a new index in the list. + + PARAMETERS + ---------- + :param: item: A reference to the DynamicItem in the list to be moved. + :param: new_index: int new index to move the item to. + """ + if new_index < 0 or new_index >= len(self): + raise IndexError(f"Index out of range for length {len(self)}") + + self.widgets.pop(self.widgets.index(item)) + self.widgets.insert(new_index, item) + self.layout().removeWidget(item) + self.layout().insertWidget(new_index, item) + + def index(self, item: DynamicItem) -> int: + """ + Get the index of a DynamicItem in the list. + + PARAMETERS + ---------- + :param: item: A reference to the DynamicItem in the list to get the index of. + + Returns + ------- + The index of the item in the list. + """ + return self.widgets.index(item) + + def remove_item(self, item: DynamicItem) -> None: + """ + Remove a DynamicItem from the list. + + PARAMETERS + ---------- + :param: item: A reference to the DynamicItem to remove from the list + """ + self.widgets.remove(item) + self.layout().removeWidget(item) + item.deleteLater() + + def clear(self) -> None: + """Remove all items from the list""" + for widget in self.widgets: + self.layout().removeWidget(widget) + widget.deleteLater() + self.widgets = [] + + def list(self): + return [widget.data for widget in self.widgets] + + def list_property(self, prop: str): + """ + Get a list of values for a given property of each DynamicItem's data dictionary. + + PARAMETERS + ---------- + :param: prop: string property name to get the values of. + + Returns + ------- + A list of values for the given property. + """ + return [widget.data[prop] for widget in self.widgets] + + +def run_bciui(ui: Type[BCIUI], *args, **kwargs): + # add app to kwargs + app = QApplication(sys.argv).instance() + if not app: + app = QApplication(sys.argv) + ui_instance = ui(*args, **kwargs) + ui_instance.display() + return app.exec() diff --git a/bcipy/gui/experiments/ExperimentField.py b/bcipy/gui/experiments/ExperimentField.py index 290e6c692..4ec1e51a0 100644 --- a/bcipy/gui/experiments/ExperimentField.py +++ b/bcipy/gui/experiments/ExperimentField.py @@ -1,4 +1,5 @@ """GUI form for collecting experimental field data.""" + # pylint: disable=E0611 import sys @@ -26,8 +27,10 @@ FloatInput, FormInput, IntegerInput, - TextInput + TextInput, ) +from bcipy.config import EXPERIMENT_DATA_FILENAME +from bcipy.helpers.validate import validate_experiment, validate_field_data_written from bcipy.helpers.load import load_experiments, load_fields from bcipy.helpers.save import save_experiment_field_data @@ -38,20 +41,29 @@ class ExperimentFieldCollection(QWidget): Given an experiment with fields to be collected, this UI can be used to collect data in the correct format and require fields which are noted as such in the experiment. """ + field_data: List[tuple] = [] field_inputs: List[FormInput] = [] type_inputs = { - 'int': (IntegerInput, 0), - 'float': (FloatInput, 0.0), - 'bool': (BoolInput, False), - 'filepath': (FileInput, ''), - 'directorypath': (DirectoryInput, ''), + "int": (IntegerInput, 0), + "float": (FloatInput, 0.0), + "bool": (BoolInput, False), + "filepath": (FileInput, ""), + "directorypath": (DirectoryInput, ""), } - require_mark = '*' + require_mark = "*" alert_timeout = 10 save_data = {} - def __init__(self, title: str, width: int, height: int, experiment_name: str, save_path: str, file_name: str): + def __init__( + self, + title: str, + width: int, + height: int, + experiment_name: str, + save_path: str, + file_name: str, + ): super().__init__() self.experiment_name = experiment_name @@ -59,7 +71,7 @@ def __init__(self, title: str, width: int, height: int, experiment_name: str, sa self.save_path = save_path self.file_name = file_name self.help_size = 12 - self.help_color = 'darkgray' + self.help_color = "darkgray" self.width = width self.height = height self.title = title @@ -87,9 +99,13 @@ def build_form(self) -> None: Loop over the field data and create UI field inputs for data collection. """ for field_name, field_type, required, help_text in self.field_data: - self.field_inputs.append(self.field_input(field_name, field_type, help_text, required)) + self.field_inputs.append( + self.field_input(field_name, field_type, help_text, required) + ) - def field_input(self, field_name: str, field_type: str, help_tip: str, required: bool) -> FormInput: + def field_input( + self, field_name: str, field_type: str, help_tip: str, required: bool + ) -> FormInput: """Field Input. Construct a FormInput for the given field based on its python type and other @@ -105,7 +121,8 @@ def field_input(self, field_name: str, field_type: str, help_tip: str, required: value=init_value, help_tip=help_tip, help_size=self.help_size, - help_color=self.help_color) + help_color=self.help_color, + ) def build_assets(self) -> None: """Build Assets. @@ -124,11 +141,12 @@ def check_input(self) -> bool: name = field.label if self.require_mark in field.label and not _input: self.throw_alert_message( - title='BciPy Alert', - message=f'Required field {name.strip(self.require_mark)} must be filled out!', + title="BciPy Alert", + message=f"Required field {name.strip(self.require_mark)} must be filled out!", message_type=AlertMessageType.CRIT, message_response=AlertMessageResponse.OCE, - message_timeout=self.alert_timeout) + message_timeout=self.alert_timeout, + ) return False return True @@ -138,13 +156,18 @@ def build_field_data(self) -> None: Using the fields defined in the experiment, fetch the other attributes of the field. It will be stored in self.field_data as a list of tuples (name, field type, required, help text). """ - for field in self.experiment['fields']: + for field in self.experiment["fields"]: # the field name and requirement for name, required in field.items(): # help text and type field_data = self.fields[name] self.field_data.append( - (name.title(), field_data['type'], self.map_to_bool(required['required']), field_data['help_text']) + ( + name.title(), + field_data["type"], + self.map_to_bool(required["required"]), + field_data["help_text"], + ) ) def map_to_bool(self, string_boolean: str) -> bool: @@ -152,11 +175,11 @@ def map_to_bool(self, string_boolean: str) -> bool: All data is loaded from json ("true"/"false"). This method will return a python boolean (True/False). """ - if string_boolean == 'true': + if string_boolean == "true": return True - elif string_boolean == 'false': + elif string_boolean == "false": return False - raise Exception(f'Unsupported boolean value {string_boolean}') + raise Exception(f"Unsupported boolean value {string_boolean}") def save(self) -> None: if self.check_input(): @@ -172,31 +195,34 @@ def build_save_data(self) -> None: self.save_data[name] = _input except ValueError as e: self.throw_alert_message( - title='Error', - message=f'Error saving data. Invalid value provided. \n {e}', + title="Error", + message=f"Error saving data. Invalid value provided. \n {e}", message_type=AlertMessageType.WARN, message_response=AlertMessageResponse.OCE, - message_timeout=self.alert_timeout + message_timeout=self.alert_timeout, ) def write_save_data(self) -> None: save_experiment_field_data(self.save_data, self.save_path, self.file_name) self.throw_alert_message( - title='Success', + title="Success", message=( - f'Data successfully written to: \n\n{self.save_path}/{self.file_name} \n\n\n' - 'Please wait or close this window to start the task!'), + f"Data successfully written to: \n\n{self.save_path}/{self.file_name} \n\n\n" + "Please wait or close this window to start the task!" + ), message_type=AlertMessageType.INFO, message_response=AlertMessageResponse.OCE, message_timeout=self.alert_timeout, ) - def throw_alert_message(self, - title: str, - message: str, - message_type: AlertMessageType = AlertMessageType.INFO, - message_response: AlertMessageResponse = AlertMessageResponse.OTE, - message_timeout: float = 0) -> MessageBox: + def throw_alert_message( + self, + title: str, + message: str, + message_type: AlertMessageType = AlertMessageType.INFO, + message_response: AlertMessageResponse = AlertMessageResponse.OTE, + message_timeout: float = 0, + ) -> MessageBox: """Throw Alert Message.""" msg = MessageBox() @@ -226,13 +252,23 @@ class MainPanel(QWidget): file_name: name of the file to write with collected field_data """ - def __init__(self, title: str, width: int, height: int, experiment_name: str, save_path: str, file_name: str): + def __init__( + self, + title: str, + width: int, + height: int, + experiment_name: str, + save_path: str, + file_name: str, + ): super().__init__() self.title = title self.width = width self.height = height - self.form = ExperimentFieldCollection(title, width, height, experiment_name, save_path, file_name) + self.form = ExperimentFieldCollection( + title, width, height, experiment_name, save_path, file_name + ) self.initUI() def initUI(self): @@ -241,7 +277,9 @@ def initUI(self): self.form_panel = QScrollArea() self.form_panel.setVerticalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOn) - self.form_panel.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOff) + self.form_panel.setHorizontalScrollBarPolicy( + Qt.ScrollBarPolicy.ScrollBarAlwaysOff + ) self.form_panel.setWidgetResizable(True) self.form_panel.setFixedWidth(self.width) self.form_panel.setWidget(self.form) @@ -255,7 +293,7 @@ def initUI(self): control_box = QHBoxLayout() control_box.addStretch() - save_button = QPushButton('Save') + save_button = QPushButton("Save") save_button.setFixedWidth(80) save_button.clicked.connect(self.save) control_box.addWidget(save_button) @@ -267,56 +305,67 @@ def save(self): self.close() -def start_app() -> None: - """Start Experiment Field Collection.""" - import argparse - from bcipy.config import DEFAULT_EXPERIMENT_ID, EXPERIMENT_DATA_FILENAME - from bcipy.helpers.validate import validate_experiment, validate_field_data_written - - parser = argparse.ArgumentParser() - - # experiment_name - parser.add_argument('-p', '--path', default='.', - help='Path to save collected field data to in json format') - parser.add_argument('-e', '--experiment', default=DEFAULT_EXPERIMENT_ID, - help='Select a valid experiment to run the task for this user') - parser.add_argument('-f', '--filename', default=EXPERIMENT_DATA_FILENAME, - help='Provide a json filename to write the field data to. Ex, experiment_data.json') - parser.add_argument('-v', '--validate', default=False, - help='Whether or not to validate the experiment before proceeding to data collection.') - - args = parser.parse_args() - - experiment_name = args.experiment - validate = args.validate - +def start_experiment_field_collection_gui( + experiment_name: str, + save_path: str, + file_name: str = EXPERIMENT_DATA_FILENAME, + validate: bool = True, +) -> None: if validate: validate_experiment(experiment_name) - print('Experiment valid!') - - save_path = args.path - file_name = args.filename bcipy_gui = app(sys.argv) - - ex = MainPanel( - title='Experiment Field Collection', + _ = MainPanel( + title="Experiment Field Collection", height=250, width=600, experiment_name=experiment_name, save_path=save_path, - file_name=file_name + file_name=file_name, ) + bcipy_gui.exec() + if validate and not validate_field_data_written(save_path, file_name): + raise Exception(f"Field data not written to {save_path}/{file_name}") - if validate: - if validate_field_data_written(save_path, file_name): - print('Field data successfully written!') - else: - raise Exception(f'Field data not written to {save_path}/{file_name}') +def start_app() -> None: + """Start Experiment Field Collection.""" + import argparse + from bcipy.config import DEFAULT_EXPERIMENT_ID, EXPERIMENT_DATA_FILENAME + + parser = argparse.ArgumentParser() + + # experiment_name + parser.add_argument( + "-p", + "--path", + default=".", + help="Path to save collected field data to in json format", + ) + parser.add_argument( + "-e", + "--experiment", + default=DEFAULT_EXPERIMENT_ID, + help="Select a valid experiment to run the task for this user", + ) + parser.add_argument( + "-f", + "--filename", + default=EXPERIMENT_DATA_FILENAME, + help="Provide a json filename to write the field data to. Ex, experiment_data.json", + ) + parser.add_argument( + "-v", + "--validate", + default=False, + help="Whether or not to validate the experiment before proceeding to data collection.", + ) + + args = parser.parse_args() + start_experiment_field_collection_gui(args.experiment, args.path, args.filename, args.validate) sys.exit() -if __name__ == '__main__': +if __name__ == "__main__": start_app() diff --git a/bcipy/gui/experiments/ExperimentRegistry.py b/bcipy/gui/experiments/ExperimentRegistry.py index 365675ad5..b1bd74de5 100644 --- a/bcipy/gui/experiments/ExperimentRegistry.py +++ b/bcipy/gui/experiments/ExperimentRegistry.py @@ -1,468 +1,331 @@ -import sys -import subprocess - -from bcipy.gui.main import BCIGui, app, AlertMessageType, AlertMessageResponse, ScrollableFrame, LineItems - -from bcipy.config import BCIPY_ROOT, DEFAULT_EXPERIMENT_PATH, EXPERIMENT_FILENAME -from bcipy.helpers.load import load_experiments, load_fields +from typing import List, Optional +from PyQt6.QtWidgets import ( + QComboBox, + QVBoxLayout, + QHBoxLayout, + QLabel, + QLineEdit, + QPushButton, + QScrollArea, +) +from bcipy.gui.bciui import BCIUI, DynamicItem, DynamicList, SmallButton, run_bciui +from bcipy.helpers.load import load_fields, load_experiments from bcipy.helpers.save import save_experiment_data +from bcipy.config import ( + DEFAULT_ENCODING, + DEFAULT_EXPERIMENT_PATH, + DEFAULT_FIELD_PATH, + EXPERIMENT_FILENAME, + FIELD_FILENAME, + BCIPY_ROOT, +) +from bcipy.task.registry import TaskRegistry +import subprocess +from bcipy.task.orchestrator.protocol import serialize_protocol +import json -class ExperimentRegistry(BCIGui): - """Experiment Registry. - - User interface for creating new experiments for use in BCInterface.py. - """ - - padding = 100 - btn_height = 50 - default_text = '...' - alert_title = 'Experiment Registry Alert' - alert_timeout = 10 - experiment_fields = [] - - def __init__(self, *args, **kwargs): - super(ExperimentRegistry, self).__init__(*args, **kwargs) - - # Structure of an experiment: - # { name: { fields : {name: '', required: bool, anonymize: bool}, summary: '' } } - self.update_experiment_data() - - # These are set in the build_inputs and represent text inputs from the user - self.name_input = None - self.summary_input = None - self.field_input = None - self.panel = None - self.line_items = None - - # fields is for display of registered fields - self.fields = [] - self.registered_fields = load_fields() - self.name = None - self.summary = None - - # for registered fields - self.build_scroll_area() - - self.show_gui() - self.update_field_list() - - def build_scroll_area(self) -> None: - """Build Scroll Area. +class ExperimentRegistry(BCIUI): - Appends a scrollable area at the bottom of the UI for management of registered fields via LineItems. - """ - line_widget = LineItems([], self.width) - self.panel = ScrollableFrame(200, self.width, background_color='white', widget=line_widget) - self.add_widget(self.panel) + task_registry: TaskRegistry - def refresh_field_panel(self) -> None: - """Refresh Field Panel. + def __init__(self): + super().__init__("Experiment Registry", 600, 700) + self.task_registry = TaskRegistry() + self.setProperty("class", "experiment-registry") - Reconstruct the line items from the registered fields and refresh the scrollable panel of registered fields. + def format_experiment_combobox( + self, + label_text: str, + combobox: QComboBox, + buttons: Optional[List[QPushButton]], + class_name: str = 'default', + ) -> QVBoxLayout: """ - self.build_line_items_from_fields() - self.panel.refresh(self.line_items) + Create a formatted widget for a the experiment comboboxes with optional buttons. - def toggle_required_field(self) -> None: - """Toggle Required Field. + PARAMETERS + ---------- + :param: label_text: string text to display above the combobox. + :param: combobox: the combobox. + :param: buttons: list of buttons to add to right side of the combobox. - *Button Action* - - Using the field_name retrieved from the button (get_id), find the field in self.experiment_fields and toggle - the required field ('true' or 'false'). - """ - field_name = self.window.sender().get_id() - for field in self.experiment_fields: - if field_name in field: - required = field[field_name]['required'] - if required == 'false': - field[field_name]['required'] = 'true' - else: - field[field_name]['required'] = 'false' - self.refresh_field_panel() - - def toggle_anonymize_field(self) -> None: - """Toggle Anonymize Field. - - *Button Action* - - Using the field_name retrieved from the button (get_id), find the field in self.experiment_fields and toggle - the anonymize field ('true' or 'false'). + Returns + ------- + A QVBoxLayout with the label, combobox, and buttons. """ - field_name = self.window.sender().get_id() - for field in self.experiment_fields: - if field_name in field: - anonymize = field[field_name]['anonymize'] - if anonymize == 'false': - field[field_name]['anonymize'] = 'true' - else: - field[field_name]['anonymize'] = 'false' - self.refresh_field_panel() - - def remove_field(self) -> None: - """Remove Field. - - *Button Action* - - Using the field_name retrieved from the button (get_id), find the field in self.experiment_fields and remove it - from the list. + label = QLabel(label_text) + area = QVBoxLayout() + input_area = QHBoxLayout() + input_area.setContentsMargins(15, 0, 0, 15) + area.addWidget(label) + combobox.setProperty("class", class_name) + input_area.addWidget(combobox, 1) + if buttons: + for button in buttons: + input_area.addWidget(button) + area.addLayout(input_area) + return area + + def make_task_entry(self, name: str) -> DynamicItem: """ - field_name = self.window.sender().get_id() - - idx = 0 - remove = None - for field in self.experiment_fields: - if field_name in field: - remove = idx - break - idx += 1 - - self.experiment_fields.pop(remove) - self.refresh_field_panel() + Create a formatted widget for a task entry. - def build_line_items_from_fields(self) -> None: - """Build Line Items From Fields. + PARAMETERS + ---------- + :param: name: string name of the task that will be displayed. - Loop over the registered experiment fields and create LineItems, which can by used to toggle the required - field, anonymization, or remove as a registered experiment field. + Returns + ------- + A DynamicItem widget with the 'task_name' property set as it's data. """ - items = [] - for field in self.experiment_fields: - # experiment fields is a list of dicts, here we loop over the dict to get - # the field_name, anonymization, and requirement - for field_name, required in field.items(): - - # Set the button text and colors, based on the requirement and anonymization - if required['required'] == 'false': - required_button_label = 'Optional' - required_button_color = 'black' - required_button_text_color = 'white' - else: - required_button_label = 'Required' - required_button_color = 'green' - required_button_text_color = 'white' - - if required['anonymize'] == 'false': - anon_button_label = 'Onymous' - anon_button_color = 'black' - anon_button_text_color = 'white' - else: - anon_button_label = 'Anonymous' - anon_button_color = 'green' - anon_button_text_color = 'white' - - # Construct the item to turn into a LineItem, we set the id as field_name to use later via the action - item = { - field_name: { - required_button_label: { - 'action': self.toggle_required_field, - 'color': required_button_color, - 'textColor': required_button_text_color, - 'id': field_name - }, - anon_button_label: { - 'action': self.toggle_anonymize_field, - 'color': anon_button_color, - 'textColor': anon_button_text_color, - 'id': field_name - }, - 'Remove': { - 'action': self.remove_field, - 'color': 'red', - 'textColor': 'white', - 'id': field_name - } - } - } - items.append(item) - - # finally, set the new line items for rendering - self.line_items = LineItems(items, self.width) - - def build_text(self) -> None: - """Build Text. - - Build all static text needed for the UI. - Positions are relative to the height / width of the UI defined in start_app. - """ - text_x = 25 - text_y = 70 - font_size = 18 - self.add_static_textbox( - text='Create BciPy Experiment', - position=[self.width / 2 - self.padding - 50, 0], - size=[300, 100], - background_color='black', - text_color='white', - font_size=22 - ) - self.add_static_textbox( - text='Name', - position=[text_x, text_y], - size=[200, 50], - background_color='black', - text_color='white', - font_size=font_size) - text_y += self.padding - self.add_static_textbox( - text='Summary', - position=[text_x, text_y], - size=[300, 50], - background_color='black', - text_color='white', - font_size=font_size) - text_y += self.padding - self.add_static_textbox( - text='Fields', - position=[text_x, text_y], - size=[300, 50], - background_color='black', - text_color='white', - font_size=font_size) - text_y += self.padding + 45 - self.add_static_textbox( - text='Registered fields *click to toggle required field*', - position=[text_x, text_y], - size=[300, 50], - background_color='black', - text_color='white', - font_size=14) - - def build_inputs(self) -> None: - """Build Inputs. - - Build all text entry inputs for the UI. - """ - input_x = 50 - input_y = 120 - input_size = [280, 25] - self.name_input = self.add_combobox( - position=[input_x, input_y], - size=input_size, - items=[self.default_text], - editable=True, - background_color='white', - text_color='black') - - input_y += self.padding - self.summary_input = self.add_combobox( - position=[input_x, input_y], - size=input_size, - items=[self.default_text], - editable=True, - background_color='white', - text_color='black') - - input_y += self.padding - self.field_input = self.add_combobox( - position=[input_x, input_y], - size=input_size, - items=self.fields, - editable=False, - background_color='white', - text_color='black') - - def build_buttons(self): - """Build Buttons. - - Build all buttons necessary for the UI. Define their action on click using the named argument action. - """ - btn_create_x = self.width - self.padding - 10 - btn_create_y = self.height - self.padding - 200 - size = 150 - self.add_button( - message='Create Experiment', position=[btn_create_x - (size / 2), btn_create_y], - size=[size, self.btn_height], - background_color='green', - action=self.create_experiment, - text_color='white') - - btn_field_x = (self.width / 2) + 150 - btn_field_y = 310 - # create field - self.add_button( - message='+', - position=[btn_field_x, btn_field_y], - size=[40, self.btn_height - 10], - background_color='green', - action=self.create_field, - text_color='white' + layout = QHBoxLayout() + label = QLabel(name) + label.setProperty("class", "task-label") + layout.addWidget(label) + widget = DynamicItem() + + # The indices will have to be updated to reflect the actual index we want to move to + move_up_button = SmallButton(" ▲ ") + move_up_button.clicked.connect( + lambda: self.protocol_contents.move_item( + widget, max(self.protocol_contents.index(widget) - 1, 0) + ) ) - - # add field - self.add_button( - message='Register', - position=[btn_field_x - 75, btn_field_y], - size=[60, self.btn_height - 10], - background_color='grey', - action=self.add_field, - text_color='white' + move_down_button = SmallButton(" ▼ ") + move_down_button.clicked.connect( + lambda: self.protocol_contents.move_item( + widget, + min( + self.protocol_contents.index(widget) + 1, + len(self.protocol_contents) - 1, + ), + ) ) - - def create_experiment(self) -> None: - """Create Experiment. - - After inputing all required fields, verified by check_input, add it to the experiment list and save it. + layout.addWidget(move_up_button) + layout.addWidget(move_down_button) + + remove_button = SmallButton("Remove") + remove_button.setProperty("class", "remove-button") + remove_button.clicked.connect( + lambda: layout.deleteLater() + ) # This may not be needed + remove_button.clicked.connect(lambda: widget.remove()) + layout.addWidget(remove_button) + + widget.data = {"task_name": name} + widget.setLayout(layout) + return widget + + def make_field_entry(self, name: str) -> DynamicItem: """ - if self.check_input(): - self.add_experiment() - self.save_experiments() - self.throw_alert_message( - title=self.alert_title, - message='Experiment saved successfully! Please exit window or create another experiment!', - message_type=AlertMessageType.INFO, - message_response=AlertMessageResponse.OTE, - message_timeout=self.alert_timeout - ) - self.update_experiment_data() + Create a formatted widget for a field entry. - def update_experiment_data(self): - """Update Experiment Data. + PARAMETERS + ---------- + :param: name: string name of the field that will be displayed. - Fetches the experiments and extracts the registered names. + Returns + ------- + A DynamicItem widget with the 'field_name', 'anonymous', and 'optional' properties set as it's data. """ - self.experiments = load_experiments() - self.experiment_names = self.experiments.keys() - - def add_experiment(self) -> None: - """Add Experiment: + layout = QHBoxLayout() + label = QLabel(name) + label.setProperty("class", "task-label") + layout.addWidget(label) + widget = DynamicItem() + + remove_button = SmallButton("Remove") + remove_button.setStyleSheet("background-color: red;") + remove_button.clicked.connect(lambda: layout.deleteLater()) + + anonymous_button = SmallButton("Anonymous") + onymous_button = SmallButton("Onymous") + BCIUI.make_toggle( + anonymous_button, + onymous_button, + on_action=lambda: widget.data.update({"anonymous": True}), + off_action=lambda: widget.data.update({"anonymous": False}), + ) + layout.addWidget(anonymous_button) + layout.addWidget(onymous_button) + anonymous_button.setStyleSheet("background-color: black;") + + optional_button = SmallButton("Optional") + required_button = SmallButton("Required") + BCIUI.make_toggle( + optional_button, + required_button, + on_action=lambda: widget.data.update({"optional": True}), + off_action=lambda: widget.data.update({"optional": False}), + ) + layout.addWidget(optional_button) + layout.addWidget(required_button) + + layout.addWidget(remove_button) + widget.data = {"field_name": name, "anonymous": True, "optional": True} + remove_button.clicked.connect(lambda: widget.remove()) + widget.setLayout(layout) + return widget + + def load_fields(path: str = f"{DEFAULT_FIELD_PATH}/{FIELD_FILENAME}") -> dict: + """Load Fields. + + PARAMETERS + ---------- + :param: path: string path to the fields file. + + Returns + ------- + A dictionary of fields, with the following format: + { + "field_name": { + "help_text": "", + "type": "" + } - Add a new experiment to the dict of experiments. It follows the format: - { name: { fields : {name: '', required: bool, anonymize: bool}, summary: '' } } """ - self.experiments[self.name] = { - 'fields': self.experiment_fields, - 'summary': self.summary + with open(path, "r", encoding=DEFAULT_ENCODING) as json_file: + return json.load(json_file) + + def create_experiment(self): + existing_experiments = load_experiments() + experiment_name = self.experiment_name_input.text() + if not experiment_name: + self.show_alert("Please specify an experiment name") + return + experiment_summary = self.experiment_summary_input.text() + if not experiment_summary: + self.show_alert("Please specify an experiment summary") + return + fields = self.fields_content.list() + + field_list = [ + { + field["field_name"]: { + "anonymize": field["anonymous"], + "required": not field["optional"], + } + } + for field in fields + ] + task_names = self.protocol_contents.list_property("task_name") + task_objects = [self.task_registry.get(task_name) for task_name in task_names] + protocol = serialize_protocol(task_objects) + + existing_experiments[experiment_name] = { + "fields": field_list, + "summary": experiment_summary, + "protocol": protocol, } + save_experiment_data( + existing_experiments, + load_fields(), + DEFAULT_EXPERIMENT_PATH, + EXPERIMENT_FILENAME, + ) + self.show_alert("created experiment") - def save_experiments(self) -> None: - """Save Experiment. - - Save the experiments registered to the correct path as pulled from system_utils. - """ - # add fields to the experiment - save_experiment_data(self.experiments, self.registered_fields, DEFAULT_EXPERIMENT_PATH, EXPERIMENT_FILENAME) - - def create_field(self) -> None: + def create_experiment_field(self) -> None: """Create Field. Launch to FieldRegistry to create a new field for experiments. """ subprocess.call( - f'python {BCIPY_ROOT}/gui/experiments/FieldRegistry.py', - shell=True) + f"python {BCIPY_ROOT}/gui/experiments/FieldRegistry.py", shell=True + ) self.update_field_list() - def add_field(self) -> None: - """Add Field. + def update_field_list(self): + self.field_input.clear() + self.field_input.addItems(load_fields()) + + def app(self): + # Add form fields + self.center_content_vertically = True + header = QLabel("Experiment Registry") + header.setStyleSheet("font-size: 24px") + self.contents.addLayout(BCIUI.centered(header)) + form_area = QVBoxLayout() + form_area.setContentsMargins(30, 0, 30, 0) + self.experiment_name_input = QLineEdit() + experiment_name_box = self.format_experiment_combobox( + "Name", self.experiment_name_input, None + ) + form_area.addLayout(experiment_name_box) - Functionality to add fields to the newly created experiment. It will ensure no duplicates are addded. - """ - # get the current field value and compute a list of field names already added - field = self.field_input.currentText() - registered_fields = [name for field in self.experiment_fields for name in field.keys()] - - # if the field selected is already registered throw an alert to the user - if field in registered_fields: - return self.throw_alert_message( - title=self.alert_title, - message=f'{field} already registered with this experiment!', - message_type=AlertMessageType.INFO, - message_response=AlertMessageResponse.OTE, - message_timeout=self.alert_timeout, + self.experiment_summary_input = QLineEdit() + experiment_summary_box = self.format_experiment_combobox( + "Summary", self.experiment_summary_input, None + ) + form_area.addLayout(experiment_summary_box) + + def add_field(): + if self.field_input.currentText() in self.fields_content.list_property( + "field_name" + ): + self.show_alert("Field already added") + return + self.fields_content.add_item( + self.make_field_entry(self.field_input.currentText()) ) - # else add the field! - self.experiment_fields.append( - { - field: - { - 'required': 'false', - 'anonymize': 'true' - } - } + def add_task(): + self.protocol_contents.add_item( + self.make_task_entry(self.experiment_protocol_input.currentText()) + ) + + self.experiment_protocol_input = QComboBox() + self.experiment_protocol_input.addItems(self.task_registry.list()) + add_task_button = QPushButton("Add") + add_task_button.clicked.connect(add_task) + experiment_protocol_box = self.format_experiment_combobox( + "Protocol", + self.experiment_protocol_input, + [add_task_button], + "protocol", + ) + form_area.addLayout(experiment_protocol_box) + + self.field_input = QComboBox() + self.field_input.addItems(load_fields()) + add_field_button = QPushButton("Add") + new_field_button = QPushButton("New") + new_field_button.clicked.connect(self.create_experiment_field) + form_area.addLayout( + self.format_experiment_combobox( + "Fields", + self.field_input, + [add_field_button, new_field_button], + "fields", + ) ) - self.refresh_field_panel() + self.contents.addLayout(form_area) - def update_field_list(self) -> None: - """Updates the field_input combo box with a list of fields. """ + scroll_area_layout = QHBoxLayout() - self.field_input.clear() - self.field_input.addItem(ExperimentRegistry.default_text) - self.registered_fields = load_fields() - self.fields = [item for item in self.registered_fields] - self.field_input.addItems(self.fields) + self.fields_content = DynamicList() + fields_scroll_area = BCIUI.make_list_scroll_area(self.fields_content) + label = QLabel("Fields") + label.setStyleSheet("color: black;") + scroll_area_layout.addWidget(fields_scroll_area) - def build_assets(self) -> None: - """Build Assets. + protocol_scroll_area = QScrollArea() + self.protocol_contents = DynamicList() + protocol_scroll_area = BCIUI.make_list_scroll_area(self.protocol_contents) + label = QLabel("Protocol") + label.setStyleSheet("color: black;") + scroll_area_layout.addWidget(protocol_scroll_area) - Define the assets to build in the UI. - """ - self.build_inputs() - self.build_text() - self.build_buttons() + self.contents.addLayout(scroll_area_layout) - def check_input(self) -> bool: - """Check Input. + add_field_button.clicked.connect(add_field) + create_experiment_button = QPushButton("Create experiment") + create_experiment_button.clicked.connect(self.create_experiment) + self.contents.addWidget(create_experiment_button) - Checks to make sure user has input all required fields. Currently, only name and summary are required. - """ - self.name = self.name_input.currentText() - self.summary = self.summary_input.currentText() - try: - if self.name == ExperimentRegistry.default_text: - self.throw_alert_message( - title=self.alert_title, - message='Please add an Experiment Name!', - message_type=AlertMessageType.WARN, - message_response=AlertMessageResponse.OTE, - message_timeout=self.alert_timeout) - return False - if self.name in self.experiment_names: - self.throw_alert_message( - title=self.alert_title, - message=( - 'Experiment name already registered. \n' - 'Please use a unique Experiment name! \n' - f'Registed names: {self.experiment_names}' - ), - message_type=AlertMessageType.WARN, - message_response=AlertMessageResponse.OTE, - message_timeout=self.alert_timeout) - return False - if self.summary == ExperimentRegistry.default_text: - self.throw_alert_message( - title=self.alert_title, - message='Please add an Experiment Summary!', - message_type=AlertMessageType.WARN, - message_response=AlertMessageResponse.OTE, - message_timeout=self.alert_timeout) - return False - except Exception as e: - self.throw_alert_message( - title=self.alert_title, - message=f'Error, {e}', - message_type=AlertMessageType.CRIT, - message_response=AlertMessageResponse.OTE, - message_timeout=self.alert_timeout) - return False - return True - - -def start_app() -> None: - """Start Experiment Registry.""" - bcipy_gui = app(sys.argv) - ex = ExperimentRegistry( - title='Experiment Registry', - height=700, - width=600, - background_color='black') - - sys.exit(bcipy_gui.exec()) - - -if __name__ == '__main__': - start_app() + +if __name__ == "__main__": + run_bciui(ExperimentRegistry) diff --git a/bcipy/gui/intertask_gui.py b/bcipy/gui/intertask_gui.py new file mode 100644 index 000000000..87e1a8e47 --- /dev/null +++ b/bcipy/gui/intertask_gui.py @@ -0,0 +1,86 @@ +from typing import Callable, List + +from PyQt6.QtWidgets import ( + QLabel, + QHBoxLayout, + QPushButton, + QProgressBar, + QApplication +) +from bcipy.gui.bciui import BCIUI, run_bciui +from bcipy.config import SESSION_LOG_FILENAME +import logging + +logger = logging.getLogger(SESSION_LOG_FILENAME) + + +class IntertaskGUI(BCIUI): + + action_name = "IntertaskAction" + + def __init__( + self, + next_task_index: int, + tasks: List[str], + exit_callback: Callable, + ): + self.tasks = tasks + self.current_task_index = next_task_index + self.next_task_name = tasks[self.current_task_index] + self.total_tasks = len(tasks) + self.task_progress = next_task_index + self.callback = exit_callback + super().__init__("Progress", 800, 150) + self.setProperty("class", "inter-task") + + def app(self): + self.contents.addLayout(BCIUI.centered(QLabel("Experiment Progress"))) + + progress_container = QHBoxLayout() + progress_container.addWidget( + QLabel(f"({self.task_progress}/{self.total_tasks})") + ) + self.progress = QProgressBar() + self.progress.setValue(int(self.task_progress / self.total_tasks * 100)) + self.progress.setTextVisible(False) + progress_container.addWidget(self.progress) + self.contents.addLayout(progress_container) + + next_info = QHBoxLayout() + next_info.addWidget(QLabel("Next Task: ")) + next_task = QLabel(self.next_task_name) + next_task.setStyleSheet("font-weight: bold; color: green;") + next_info.addWidget(next_task) + self.contents.addLayout(next_info) + + self.contents.addStretch(1) + self.next_button = QPushButton("Next") + self.stop_button = QPushButton("Stop") + self.stop_button.setStyleSheet("background-color: red") + buttons_layout = QHBoxLayout() + buttons_layout.addWidget(self.stop_button) + buttons_layout.addWidget(self.next_button) + self.contents.addLayout(buttons_layout) + + self.next_button.clicked.connect(self.next) + self.stop_button.clicked.connect(self.stop_tasks) + + def stop_tasks(self): + # This should exit Task executions + logger.info(f"Stopping Tasks... user requested. Using callback: {self.callback}") + self.callback() + self.quit() + logger.info("Tasks Stopped") + + def next(self): + logger.info(f"Next Task=[{self.next_task_name}] requested") + self.quit() + + def quit(self): + QApplication.instance().quit() + + +if __name__ == "__main__": + tasks = ["RSVP Calibration", "IntertaskAction", "Matrix Calibration", "IntertaskAction"] + + run_bciui(IntertaskGUI, tasks=tasks, next_task_index=1, exit_callback=lambda: print("Stopping orchestrator")) diff --git a/bcipy/gui/main.py b/bcipy/gui/main.py index 2c0d00923..9d032dfa6 100644 --- a/bcipy/gui/main.py +++ b/bcipy/gui/main.py @@ -17,7 +17,7 @@ from bcipy.helpers.parameters import parse_range -def font(size: int = 14, font_family: str = 'Helvetica') -> QFont: +def font(size: int = 16, font_family: str = 'Helvetica') -> QFont: """Create a Font object with the given parameters.""" return QFont(font_family, size, weight=0) @@ -51,7 +51,7 @@ def contains_special_characters(string: str, def static_text_control(parent, label: str, color: str = 'black', - size: int = 14, + size: int = 16, font_family: str = 'Helvetica') -> QLabel: """Creates a static text control with the given font parameters. Useful for creating labels and help components.""" @@ -224,6 +224,7 @@ def __init__(self, value: str, help_tip: Optional[str] = None, options: Optional[List[str]] = None, + editable: bool = True, help_size: int = 12, help_color: str = 'darkgray', should_display: bool = True): @@ -236,6 +237,7 @@ def __init__(self, self.label_widget = self.init_label() self.help_tip_widget = self.init_help(help_size, help_color) + self.editable_widget = self.init_editable(editable) self.control = self.init_control(value) self.control.installEventFilter(self) self.init_layout() @@ -251,7 +253,7 @@ def eventFilter(self, source, event): def init_label(self) -> QWidget: """Initialize the label widget.""" - return static_text_control(None, label=self.label) + return static_text_control(None, label=self.label, size=16) def init_help(self, font_size: int, color: str) -> QWidget: """Initialize the help text widget.""" @@ -271,6 +273,13 @@ def init_control(self, value) -> QWidget: # Default is a text input return QLineEdit(value) + def init_editable(self, value: bool) -> QWidget: + "Override. Another checkbox is needed for editable" + editable_checkbox = QCheckBox("Editable") + editable_checkbox.setChecked(value) + editable_checkbox.setFont(font(size=12)) + return editable_checkbox + def init_layout(self): """Initialize the layout by adding the label, help, and control widgets.""" self.vbox = QVBoxLayout() @@ -278,15 +287,35 @@ def init_layout(self): self.vbox.addWidget(self.label_widget) if self.help_tip_widget: self.vbox.addWidget(self.help_tip_widget) + if self.editable_widget: + self.vbox.addWidget(self.editable_widget) self.vbox.addWidget(self.control) + + self.vbox.addWidget(self.separator()) self.setLayout(self.vbox) + def separator(self): + """Creates a separator line.""" + line = QLabel() + line.setFixedHeight(1) + line.setStyleSheet("background-color: grey;") + return line + def value(self) -> str: """Returns the value associated with the form input.""" if self.control: return self.control.text() return None + def is_editable(self) -> bool: + """Returns whether the input is editable.""" + return self.editable_widget.isChecked() + + @property + def editable(self) -> bool: + """Returns whether the input is editable.""" + return True if self.editable_widget.isChecked() else False + def cast_value(self) -> Any: """Returns the value associated with the form input, cast to the correct type. @@ -417,19 +446,11 @@ class BoolInput(FormInput): def __init__(self, **kwargs): super(BoolInput, self).__init__(**kwargs) - def init_label(self) -> QWidget: - """Override. Checkboxes do not have a separate label.""" - return None - - def init_help(self, font_size: int, color: str) -> QWidget: - """Override. Checkboxes do not display help.""" - return None - def init_control(self, value): """Override to create a checkbox.""" - ctl = QCheckBox(self.label) + ctl = QCheckBox(f'Enable {self.label}') ctl.setChecked(value == 'true') - ctl.setFont(font()) + ctl.setFont(font(size=14)) return ctl def value(self) -> str: @@ -440,7 +461,7 @@ class RangeInput(FormInput): """FormInput to select a range of values (low, high). Serializes to 'low_value:high_value'. Appropriate boundaries are determined - from the starting value and list of recommended_values if provided. + from the starting value and list of recommended if provided. """ def init_control(self, value) -> QWidget: @@ -450,7 +471,7 @@ def init_control(self, value) -> QWidget: --------- value - initial value """ - return RangeWidget(value, self.options) + return RangeWidget(value, self.options, size=14) class SelectionInput(FormInput): @@ -542,10 +563,14 @@ def init_layout(self) -> None: self.vbox.addWidget(self.label_widget) if self.help_tip_widget: self.vbox.addWidget(self.help_tip_widget) + if self.editable_widget: + self.vbox.addWidget(self.editable_widget) + hbox = QHBoxLayout() hbox.addWidget(self.control) hbox.addWidget(self.button) self.vbox.addLayout(hbox) + self.vbox.addWidget(self.separator()) self.setLayout(self.vbox) def widgets(self) -> List[QWidget]: @@ -583,7 +608,8 @@ def __init__(self, value: Tuple[int, int], options: Optional[List[str]] = None, label_low: str = "Low:", - label_high="High:"): + label_high="High:", + size=14): super(RangeWidget, self).__init__() self.low, self.high = parse_range(value) @@ -602,10 +628,10 @@ def __init__(self, self.high_input = self.create_input(self.high) hbox = QHBoxLayout() - hbox.addWidget(static_text_control(None, label=label_low)) + hbox.addWidget(static_text_control(None, label=label_low, size=size)) hbox.addWidget(self.low_input) - hbox.addWidget(static_text_control(None, label=label_high)) + hbox.addWidget(static_text_control(None, label=label_high, size=size)) hbox.addWidget(self.high_input) self.setLayout(hbox) @@ -668,7 +694,7 @@ class SearchInput(QWidget): contents of the text box. """ - def __init__(self, on_search, font_size: int = 10): + def __init__(self, on_search, font_size: int = 12): super(SearchInput, self).__init__() self.on_search = on_search @@ -907,7 +933,7 @@ def add_static_textbox(self, text_color: str = 'default', size: Optional[list] = None, font_family='Times', - font_size=12, + font_size=14, wrap_text=False) -> QLabel: """Add Static Text.""" @@ -971,7 +997,8 @@ def __init__(self, height: int, width: int, background_color: str = 'black', - widget: Optional[QWidget] = None): + widget: Optional[QWidget] = None, + title: Optional[str] = None): super().__init__() self.height = height @@ -995,6 +1022,15 @@ def __init__(self, self.widget = widget self.frame.setWidget(widget) + # If there is a title, add it to the top of the frame + if title: + title_label = QLabel(title) + title_label.setStyleSheet( + 'background-color: black; color: white;') + title_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + title_label.setFont(font(16)) + self.vbox.addWidget(title_label) + # add the frame and set the layout self.vbox.addWidget(self.frame) self.setLayout(self.vbox) @@ -1082,7 +1118,11 @@ def app(args) -> QApplication: Passes args from main and initializes the app """ - return QApplication(args) + + bci_app = QApplication(args).instance() + if not bci_app: + return QApplication(args) + return bci_app def start_app() -> None: @@ -1092,24 +1132,7 @@ def start_app() -> None: height=650, width=650, background_color='white') - - # ex.get_filename_dialog() - # ex.add_button(message='Test Button', position=[200, 300], size=[100, 100], id=1) - # ex.add_image(path='../static/images/gui/bci_cas_logo.png', position=[50, 50], size=200) - # ex.add_static_textbox( - # text='Test static text', - # background_color='black', - # text_color='white', - # position=[100, 20], - # wrap_text=True) - # ex.add_combobox(position=[100, 100], size=[100, 100], items=['first', 'second', 'third'], editable=True) - # ex.add_text_input(position=[100, 100], size=[100, 100]) ex.show_gui() - ex.throw_alert_message(title='title', - message='test', - message_response=AlertMessageResponse.OCE, - message_timeout=5) - sys.exit(bcipy_gui.exec()) diff --git a/bcipy/gui/parameters/params_form.py b/bcipy/gui/parameters/params_form.py index 0e6a4510a..602d6a816 100644 --- a/bcipy/gui/parameters/params_form.py +++ b/bcipy/gui/parameters/params_form.py @@ -80,13 +80,14 @@ def parameter_input(self, param: Dict[str, str]) -> FormInput: 'directorypath': DirectoryInput, 'range': RangeInput } - has_options = isinstance(param['recommended_values'], list) + has_options = isinstance(param['recommended'], list) form_input = type_inputs.get( param['type'], SelectionInput if has_options else TextInput) - return form_input(label=param['readableName'], + return form_input(label=param['name'], value=param['value'], help_tip=param['helpTip'], - options=param['recommended_values'], + options=param['recommended'], + editable=bool(param['editable']), help_size=self.help_size, help_color=self.help_color, should_display=bool(param['section'])) @@ -129,8 +130,12 @@ def update_parameters(self): for param_name, form_input in self.controls.items(): param = self.params[param_name] value = form_input.value() + editable = form_input.editable if value != param['value']: self.params[param_name]['value'] = value + if editable != param['editable']: + editable = True if editable == "true" or editable is True else False + self.params[param_name]['editable'] = editable def clear_layout(layout): @@ -192,7 +197,7 @@ def _init_changes(self): lbl = static_text_control( None, - label=f"* {param['readableName']}: {param['value']}", + label=f"* {param['name']}: {param['value']}", size=13, color="darkgreen") @@ -418,7 +423,7 @@ def on_save_as(self): self.repaint() -def main(json_file, title='BCI Parameters', size=(450, 550)) -> str: +def main(json_file, title='BCI Parameters', size=(750, 800)) -> str: """Set up the GUI components and start the main loop.""" app = QApplication(sys.argv) panel = MainPanel(json_file, title, size) diff --git a/bcipy/gui/viewer/data_source/file_streamer.py b/bcipy/gui/viewer/data_source/file_streamer.py index dd725b98a..ff6d33c7d 100644 --- a/bcipy/gui/viewer/data_source/file_streamer.py +++ b/bcipy/gui/viewer/data_source/file_streamer.py @@ -2,8 +2,10 @@ import logging import time from bcipy.acquisition.util import StoppableThread +from bcipy.config import SESSION_LOG_FILENAME from bcipy.helpers.raw_data import RawDataReader -log = logging.getLogger(__name__) + +log = logging.getLogger(SESSION_LOG_FILENAME) class FileStreamer(StoppableThread): diff --git a/bcipy/helpers/README.md b/bcipy/helpers/README.md index 1ab392cfd..bca1658a5 100644 --- a/bcipy/helpers/README.md +++ b/bcipy/helpers/README.md @@ -14,9 +14,11 @@ Modules necessary for BciPy system operation. These range from system utilities - `load`: methods for loading most BciPy data. For loading of triggers, see triggers.py - `parameters`: module for functionality related to system configuration via the parameters.json file - `raw_data`: functionality for reading and writing raw signal data +- `report`: methods for generating BciPy PDF reports - `save`: methods for saving BciPy data in supported formats. For saving of triggers, see triggers.py - `session`: methods for managing and parsing session.json data - `stimuli`: methods for generating stimuli and inquiries for presentation +- `symbols`: methods for working with symbols and symbol lists. Ex. Alphabet, QWERTY, etc. - `system_utils`: utilities for extracting git version, system information and handling of logging - `task`: common task methods and utilities, including Trial and InquiryReshaper. - `triggers`: methods and data classes defining BciPy internal triggering diff --git a/bcipy/helpers/acquisition.py b/bcipy/helpers/acquisition.py index 0a92c9b7a..05c1d1565 100644 --- a/bcipy/helpers/acquisition.py +++ b/bcipy/helpers/acquisition.py @@ -11,21 +11,20 @@ discover_device_spec) from bcipy.acquisition.devices import (DeviceSpec, DeviceStatus, preconfigured_device, with_content_type) -from bcipy.config import BCIPY_ROOT +from bcipy.config import BCIPY_ROOT, RAW_DATA_FILENAME, SESSION_LOG_FILENAME from bcipy.config import DEFAULT_DEVICE_SPEC_FILENAME as spec_name -from bcipy.config import RAW_DATA_FILENAME from bcipy.helpers.save import save_device_specs -log = logging.getLogger(__name__) +logger = logging.getLogger(SESSION_LOG_FILENAME) -def init_eeg_acquisition( +def init_acquisition( parameters: dict, save_folder: str, server: bool = False) -> Tuple[ClientManager, List[LslDataServer]]: """Initialize EEG Acquisition. - Initializes a client that connects with the EEG data source and begins + Initializes a client that connects with ta data source and begins data collection. Parameters @@ -56,7 +55,7 @@ def init_eeg_acquisition( if server: server_device_spec = server_spec(content_type, device_name) - log.info( + logger.info( f"Generating mock device data for {server_device_spec.name}") dataserver = LslDataServer(server_device_spec) servers.append(dataserver) @@ -68,8 +67,7 @@ def init_eeg_acquisition( device_spec.status = status raw_data_name = raw_data_filename(device_spec) - client = init_lsl_client(parameters, device_spec, save_folder, - raw_data_name) + client = init_lsl_client(parameters, device_spec, save_folder, raw_data_name) manager.add_client(client) manager.start_acquisition() @@ -187,7 +185,7 @@ def init_lsl_client(parameters: dict, """Initialize a client that acquires data from LabStreamingLayer.""" data_buffer_seconds = round(max_inquiry_duration(parameters)) - log.info( + logger.info( f"Setting an acquisition buffer for {device_spec.name} of {data_buffer_seconds} seconds" ) return LslAcquisitionClient(max_buffer_len=data_buffer_seconds, diff --git a/bcipy/helpers/convert.py b/bcipy/helpers/convert.py index 1b365f9ea..07c6ec34f 100644 --- a/bcipy/helpers/convert.py +++ b/bcipy/helpers/convert.py @@ -14,13 +14,13 @@ from bcipy.acquisition.devices import preconfigured_device from bcipy.config import (DEFAULT_PARAMETER_FILENAME, RAW_DATA_FILENAME, - TRIGGER_FILENAME) + TRIGGER_FILENAME, SESSION_LOG_FILENAME) from bcipy.helpers.load import load_json_parameters, load_raw_data from bcipy.helpers.raw_data import RawData from bcipy.helpers.triggers import trigger_decoder, trigger_durations from bcipy.signal.process import Composition, get_default_transform -logger = logging.getLogger(__name__) +logger = logging.getLogger(SESSION_LOG_FILENAME) FILE_LENGTH_LIMIT = 150 diff --git a/bcipy/helpers/copy_phrase_wrapper.py b/bcipy/helpers/copy_phrase_wrapper.py index d779fc463..aa546948e 100644 --- a/bcipy/helpers/copy_phrase_wrapper.py +++ b/bcipy/helpers/copy_phrase_wrapper.py @@ -5,7 +5,8 @@ import numpy as np -from bcipy.helpers.exceptions import BciPyCoreException +from bcipy.config import SESSION_LOG_FILENAME +from bcipy.exceptions import BciPyCoreException from bcipy.helpers.language_model import histogram, with_min_prob from bcipy.helpers.stimuli import InquirySchedule, StimuliOrder from bcipy.helpers.symbols import BACKSPACE_CHAR @@ -18,7 +19,7 @@ from bcipy.task.control.query import NBestStimuliAgent from bcipy.task.data import EvidenceType -log = logging.getLogger(__name__) +log = logging.getLogger(SESSION_LOG_FILENAME) class CopyPhraseWrapper: diff --git a/bcipy/helpers/language_model.py b/bcipy/helpers/language_model.py index 0c9d87d7c..b1b77a05d 100644 --- a/bcipy/helpers/language_model.py +++ b/bcipy/helpers/language_model.py @@ -13,7 +13,7 @@ """Only imported models will be included in language_models_by_name""" # flake8: noqa -from bcipy.helpers.exceptions import InvalidLanguageModelException +from bcipy.exceptions import InvalidLanguageModelException from bcipy.language.model.causal import CausalLanguageModel from bcipy.language.model.kenlm import KenLMLanguageModel from bcipy.language.model.mixture import MixtureLanguageModel diff --git a/bcipy/helpers/load.py b/bcipy/helpers/load.py index 7b36c2a43..229c4b67e 100644 --- a/bcipy/helpers/load.py +++ b/bcipy/helpers/load.py @@ -6,21 +6,21 @@ from pathlib import Path from shutil import copyfile from time import localtime, strftime -from typing import List, Optional +from typing import List, Optional, Union from bcipy.config import (DEFAULT_ENCODING, DEFAULT_EXPERIMENT_PATH, DEFAULT_FIELD_PATH, DEFAULT_PARAMETERS_PATH, EXPERIMENT_FILENAME, FIELD_FILENAME, ROOT, - SIGNAL_MODEL_FILE_SUFFIX) + SIGNAL_MODEL_FILE_SUFFIX, SESSION_LOG_FILENAME) from bcipy.gui.file_dialog import ask_directory, ask_filename -from bcipy.helpers.exceptions import (BciPyCoreException, - InvalidExperimentException) +from bcipy.exceptions import (BciPyCoreException, + InvalidExperimentException) from bcipy.helpers.parameters import Parameters from bcipy.helpers.raw_data import RawData from bcipy.preferences import preferences from bcipy.signal.model import SignalModel -log = logging.getLogger(__name__) +log = logging.getLogger(SESSION_LOG_FILENAME) def copy_parameters(path: str = DEFAULT_PARAMETERS_PATH, @@ -136,9 +136,10 @@ def load_json_parameters(path: str, value_cast: bool = False) -> Parameters: "fake_data": { "value": "true", "section": "bci_config", - "readableName": "Fake Data Sessions", + "name": "Fake Data Sessions", "helpTip": "If true, fake data server used", - "recommended_values": "", + "recommended": "", + "editable": "true", "type": "bool" } @@ -212,7 +213,7 @@ def choose_csv_file(filename: Optional[str] = None) -> Optional[str]: return filename -def load_raw_data(filename: str) -> RawData: +def load_raw_data(filename: Union[Path, str]) -> RawData: """Reads the data (.csv) file written by data acquisition. Parameters @@ -260,14 +261,11 @@ def load_users(data_save_loc: str) -> List[str]: return saved_users # grab all experiments in the directory and iterate over them to get the users - experiments = fast_scandir(path, return_path=True) - - for experiment in experiments: - users = fast_scandir(experiment, return_path=False) - # If it is a new user, append it to the saved_user list - for user in users: - if user not in saved_users: - saved_users.append(user) + users = fast_scandir(path, return_path=True) + + for user in users: + if user not in saved_users: + saved_users.append(user.split('/')[-1]) return saved_users diff --git a/bcipy/helpers/parameters.py b/bcipy/helpers/parameters.py index 970d9a023..3be5f3d48 100644 --- a/bcipy/helpers/parameters.py +++ b/bcipy/helpers/parameters.py @@ -13,9 +13,10 @@ class Parameter(NamedTuple): """Represents a single parameter""" value: Any section: str - readableName: str + name: str helpTip: str - recommended_values: list + recommended: list + editable: bool type: str @@ -79,8 +80,8 @@ def __init__(self, source: Optional[str] = None, cast_values: bool = False): self.cast_values = cast_values self.required_keys = set([ - 'value', 'section', 'readableName', 'helpTip', - 'recommended_values', 'type' + 'value', 'section', 'name', 'helpTip', + 'recommended', 'editable', 'type' ]) self.conversions = { 'int': int, @@ -111,9 +112,10 @@ def from_cast_values(cls, **kwargs): key, { 'value': value_str, 'section': '', - 'readableName': '', + 'name': '', 'helpTip': '', - 'recommended_values': '', + 'recommended': '', + 'editable': '', 'type': value_type }) return params @@ -218,9 +220,10 @@ def check_valid_entry(self, entry_name: str, entry: dict) -> None: "fake_data": { "value": "true", "section": "bci_config", - "readableName": "Fake Data Sessions", + "name": "Fake Data Sessions", "helpTip": "If true, fake data server used", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "bool" } diff --git a/bcipy/helpers/raw_data.py b/bcipy/helpers/raw_data.py index 51f1c5627..d94ac2174 100644 --- a/bcipy/helpers/raw_data.py +++ b/bcipy/helpers/raw_data.py @@ -7,7 +7,7 @@ import pandas as pd from bcipy.config import DEFAULT_ENCODING -from bcipy.helpers.exceptions import BciPyCoreException +from bcipy.exceptions import BciPyCoreException from bcipy.signal.generator.generator import gen_random_data from bcipy.signal.process import Composition diff --git a/bcipy/helpers/report.py b/bcipy/helpers/report.py index 4836a7a0c..774e7ea8e 100644 --- a/bcipy/helpers/report.py +++ b/bcipy/helpers/report.py @@ -111,7 +111,7 @@ def _create_heatmap(self, onsets: List[float], range: Tuple[float, float], type: """ # create a heatmap with the onset values fig, ax = plt.subplots() - fig.set_size_inches(6, 3) + fig.set_size_inches(4, 2) ax.hist(onsets, bins=100, range=range, color='red', alpha=0.7) ax.set_title(f'{type} Artifact Onsets') ax.set_xlabel('Time (s)') @@ -156,8 +156,12 @@ class SessionReportSection(ReportSection): A class to handle the creation of a Session Report section in a BciPy Report using a summary dictionary. """ - def __init__(self, summary: Optional[dict] = None) -> None: + def __init__(self, summary: dict) -> None: self.summary = summary + if 'task' in self.summary: + self.session_name = self.summary['task'] + else: + self.session_name = 'Session Summary' self.style = getSampleStyleSheet() self.summary_table = None @@ -203,7 +207,7 @@ def _create_header(self) -> Paragraph: Creates a header for the Session Report section. """ - header = Paragraph('Session Summary', self.style['Heading3']) + header = Paragraph(f'{self.session_name}', self.style['Heading3']) return header diff --git a/bcipy/helpers/save.py b/bcipy/helpers/save.py index 84d275d69..8d0f197e9 100644 --- a/bcipy/helpers/save.py +++ b/bcipy/helpers/save.py @@ -16,7 +16,6 @@ DEFAULT_PARAMETER_FILENAME, SIGNAL_MODEL_FILE_SUFFIX, STIMULI_POSITIONS_FILENAME) -from bcipy.helpers.validate import validate_experiments from bcipy.signal.model.base_model import SignalModel @@ -41,7 +40,6 @@ def save_experiment_data( fields: dict, location: str, name: str) -> str: - validate_experiments(experiments, fields) return save_json_data(experiments, location, name) diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 01bd4aae3..8a1af1a11 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -21,13 +21,13 @@ from PIL import Image from psychopy import core -from bcipy.config import DEFAULT_FIXATION_PATH, DEFAULT_TEXT_FIXATION -from bcipy.helpers.exceptions import BciPyCoreException +from bcipy.config import DEFAULT_FIXATION_PATH, DEFAULT_TEXT_FIXATION, SESSION_LOG_FILENAME +from bcipy.exceptions import BciPyCoreException from bcipy.helpers.list import grouper # Prevents pillow from filling the console with debug info logging.getLogger('PIL').setLevel(logging.WARNING) -log = logging.getLogger(__name__) +log = logging.getLogger(SESSION_LOG_FILENAME) NO_TARGET_INDEX = None diff --git a/bcipy/helpers/symbols.py b/bcipy/helpers/symbols.py index 467f5f59f..dca9feb4c 100644 --- a/bcipy/helpers/symbols.py +++ b/bcipy/helpers/symbols.py @@ -7,7 +7,7 @@ BACKSPACE_CHAR = '<' -def alphabet(parameters=None, include_path=True): +def alphabet(parameters=None, include_path=True, backspace=BACKSPACE_CHAR, space=SPACE_CHAR): """Alphabet. Function used to standardize the symbols we use as alphabet. @@ -31,7 +31,7 @@ def alphabet(parameters=None, include_path=True): stimulus_array.append(img) return stimulus_array - return list(ascii_uppercase) + [BACKSPACE_CHAR, SPACE_CHAR] + return list(ascii_uppercase) + [backspace, space] def qwerty_order(is_txt_stim: bool = True, @@ -49,14 +49,17 @@ def qwerty_order(is_txt_stim: bool = True, return f"{row1}{row2}{row3}".index -def frequency_order(is_txt_stim: bool = True) -> Callable: +def frequency_order( + is_txt_stim: bool = True, + space: str = SPACE_CHAR, + backspace: str = BACKSPACE_CHAR) -> Callable: """Returns a function that can be used to sort the alphabet symbols in most frequently used order in the English language. """ if not is_txt_stim: raise NotImplementedError( 'Frequency ordering not implemented for images') - return f"ETAOINSHRDLCUMWFGYPBVKJXQZ{BACKSPACE_CHAR}{SPACE_CHAR}".index + return f"ETAOINSHRDLCUMWFGYPBVKJXQZ{backspace}{space}".index DEFAULT_SYMBOL_SET = alphabet() diff --git a/bcipy/helpers/system_utils.py b/bcipy/helpers/system_utils.py index 6b9450404..c423dde4a 100644 --- a/bcipy/helpers/system_utils.py +++ b/bcipy/helpers/system_utils.py @@ -19,7 +19,7 @@ import torch from cpuinfo import get_cpu_info -from bcipy.config import DEFAULT_ENCODING, LOG_FILENAME +from bcipy.config import DEFAULT_ENCODING, SESSION_LOG_FILENAME class ScreenInfo(NamedTuple): @@ -197,30 +197,32 @@ def get_system_info() -> dict: def configure_logger( save_folder: str, - log_name=LOG_FILENAME, - log_level=logging.INFO, - version=None) -> None: + log_name=SESSION_LOG_FILENAME, + log_level=logging.INFO) -> logging.Logger: """Configure Logger. - Does what it says. + Configures a logger to print to a file in the save_folder directory. """ # create the log file logfile = os.path.join(save_folder, 'logs', log_name) # configure it - root_logger = logging.getLogger() - root_logger.setLevel(log_level) + logger = logging.getLogger(name=log_name) + logger.setLevel(log_level) + for hdlr in logger.handlers[:]: # remove all old handlers + logger.removeHandler(hdlr) handler = logging.FileHandler(logfile, 'w', encoding='utf-8') handler.setFormatter(logging.Formatter( '[%(threadName)-9s][%(asctime)s][%(name)s][%(levelname)s]: %(message)s')) - root_logger.addHandler(handler) + logger.addHandler(handler) # print to console the absolute path of the log file to aid in debugging path_to_logs = os.path.abspath(logfile) - print(f'Printing all BciPy logs to: {path_to_logs}') + msg = f'Writing logs to: {path_to_logs}' + logger.info(msg) + print(msg) - if version: - logging.info(f'Start of Session for BciPy Version: ({version})') + return logger def import_submodules(package, recursive=True): diff --git a/bcipy/helpers/task.py b/bcipy/helpers/task.py index a4e36c525..983dec8ec 100644 --- a/bcipy/helpers/task.py +++ b/bcipy/helpers/task.py @@ -8,12 +8,12 @@ from bcipy.acquisition.multimodal import ClientManager, ContentType from bcipy.acquisition.record import Record -from bcipy.config import MAX_PAUSE_SECONDS, SESSION_COMPLETE_MESSAGE +from bcipy.config import MAX_PAUSE_SECONDS, SESSION_COMPLETE_MESSAGE, SESSION_LOG_FILENAME from bcipy.helpers.clock import Clock from bcipy.helpers.stimuli import get_fixation from bcipy.task.exceptions import InsufficientDataException -log = logging.getLogger(__name__) +log = logging.getLogger(SESSION_LOG_FILENAME) def fake_copy_phrase_decision(copy_phrase: str, target_letter: str, text_task: str) -> Tuple[str, str, bool]: diff --git a/bcipy/helpers/tests/resources/mock_session/parameters.json b/bcipy/helpers/tests/resources/mock_session/parameters.json index f9fcf37d6..9331fe714 100644 --- a/bcipy/helpers/tests/resources/mock_session/parameters.json +++ b/bcipy/helpers/tests/resources/mock_session/parameters.json @@ -2,738 +2,781 @@ "fake_data": { "value": "false", "section": "bci_config", - "readableName": "Fake EEG Data On/Off", + "name": "Fake EEG Data", "helpTip": "If ‘true’, fake EEG data will be used instead of real EEG data. Useful for testing by software development team.", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "bool" }, - "acq_device": { - "value": "DSI-24", + "acq_mode": { + "value": "EEG", "section": "acq_config", - "readableName": "Acquisition Device", - "helpTip": "Specifies the hardware used for EEG data collection.", - "recommended_values": [ - "DSI-24", - "DSI-VR300", - "g.USBamp-1", - "Tobii Nano" + "name": "Acquisition Mode", + "helpTip": "Specifies the hardware device(s) used for data collection. Default: EEG.", + "recommended": [ + "EEG", + "EEG/DSI-24", + "Eyetracker", + "EEG+Eyetracker", + "EEG+Eyetracker:passive" ], + "editable": true, "type": "str" }, - "acq_connection_method": { - "value": "LSL", - "section": "acq_connection_method", - "readableName": "Acquisition Connection Method", - "helpTip": "Specifies the method used to connect to the data acquisition device (LSL or TCP). Default: LSL", - "recommended_values": [ - "LSL", - "TCP" - ], - "type": "str" - }, - "acq_host": { - "value": "127.0.0.1", - "section": "acq_config", - "readableName": "TCP Connection Host", - "helpTip": "Specifies the host for a TCP connection (used when Acquisition Connection Method is set to 'TCP'). Default: 127.0.0.1", - "recommended_values": "", - "type": "str" - }, - "acq_port": { - "value": "9000", - "section": "acq_config", - "readableName": "TCP Connection Port", - "helpTip": "Specifies the port for a TCP connection (used when Acquisition Connection Method is set to ‘TCP’). Default: 9000", - "recommended_values": "", - "type": "int" - }, "trigger_type": { "value": "text", "section": "bci_config", - "readableName": "Trigger Stimulus Type", - "helpTip": "Specifies whether to use a picture or auditory stimulus to calibrate trigger latency. Default: text", - "recommended_values": [ + "name": "Trigger Stimulus Type", + "helpTip": "Specifies whether to use text, image or auditory stimulus to calibrate trigger latency. Default: text", + "recommended": [ "image", "text" ], + "editable": true, "type": "str" }, "k_folds": { "value": "10", "section": "signal_config", - "readableName": "Number of Cross-Validation Folds", + "name": "Number of Cross-Validation Folds", "helpTip": "Specifies the number of folds used for cross-validation when calculating AUC. Default: 10", - "recommended_values": "[10]", + "recommended": "[10]", + "editable": true, "type": "int" }, "trial_window": { "value": "0.0:0.5", "section": "bci_config", - "readableName": "Trial Classification Window Length", + "name": "Trial Classification Window Length", "helpTip": "Specifies the window (in seconds) of the EEG data collection window after each stimulus presentation. Default: 0.0:0.5", - "recommended_values": [ + "recommended": [ "0.0:0.5", "0.0:0.8", "0.2:0.8" ], + "editable": true, "type": "range" }, "prestim_length": { "value": "1", "section": "bci_config", - "readableName": "Prestimulus Window Length", + "name": "Prestimulus Window Length", "helpTip": "Specifies the length (in seconds) of the EEG data window to return before inquiry presentation. Default: 1", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "float" }, "alert_sound_file": { - "value": "bcipy/static/sounds/beep.wav", + "value": "beep.wav", "section": "bci_config", - "readableName": "Alert Tone", - "helpTip": "Specifies the path to an audio file to be played as an alert tone when experiments or offline analysis is complete. Default: bcipy/static/sounds/beep.wav", - "recommended_values": "", + "name": "Alert Tone", + "helpTip": "Specifies the path to an audio file to be played as an alert tone when experiments or offline analysis is complete. Default: beep.wav", + "recommended": "", + "editable": true, "type": "filepath" }, "signal_model_path": { "value": "", "section": "bci_config", - "readableName": "Signal Model Path", + "name": "Signal Model Path", "helpTip": "Directory of the pre-trained signal model. This is often the the calibration session directory.", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "directorypath" }, "filter_high": { "value": "20", "section": "signal_config", - "readableName": "High Frequency Filter Cutoff", + "name": "High Frequency Filter Cutoff", "helpTip": "Specifies the frequency bound (in Hz) of the low-pass filter (high cutoff). Default: 20", - "recommended_values": [ + "recommended": [ "20", "45", "50" ], + "editable": true, "type": "float" }, "filter_low": { "value": "1", "section": "signal_config", - "readableName": "Low Frequency Filter Cutoff", + "name": "Low Frequency Filter Cutoff", "helpTip": "Specifies the frequency bound (in Hz) of the high-pass filter (low cutoff). Default: 1", - "recommended_values": [ + "recommended": [ "1", "2" ], + "editable": true, "type": "float" }, "filter_order": { "value": "2", "section": "signal_config", - "readableName": "Filter Order", + "name": "Filter Order", "helpTip": "Specifies the slope of the low-pass and high-pass filters. Default: 2", - "recommended_values": [ + "recommended": [ "2", "3" ], + "editable": true, "type": "float" }, "notch_filter_frequency": { "value": "60", "section": "signal_config", - "readableName": "Notch Filter Frequency", + "name": "Notch Filter Frequency", "helpTip": "Specifies the frequency (in Hz) of the notch filter used to remove electrical artifact from the surrounding environment. Default: 60", - "recommended_values": [ + "recommended": [ "59", "60" ], + "editable": true, "type": "float" }, "down_sampling_rate": { "value": "2", "section": "signal_config", - "readableName": "Downsampling Rate", + "name": "Downsampling Rate", "helpTip": "Specifies the decimation factor (integer only) for downsampling of EEG data. Default: 2", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "int" }, - "artifact_rejection": { - "value": "false", - "section": "artifact_rejection", - "readableName": "Artifact Rejection On/Off", - "helpTip": "If ‘true’, the system will detect and reject inquiries containing unwanted artifacts (e.g. blinks). This is not implemented in the current version of the system.", - "recommended_values": "", - "type": "bool" - }, - "high_voltage_threshold": { - "value": "false", - "section": "artifact_rejection", - "readableName": "High Voltage Threshold On/Off", - "helpTip": "If ‘true’, an upper voltage threshold will be set for artifact rejection. Detection of values above the specified threshold will trigger rejection of a inquiry. This is not implemented in the current version of the system.", - "recommended_values": "", - "type": "bool" - }, - "high_voltage_value": { - "value": "75E+6", - "section": "artifact_rejection", - "readableName": "High Voltage Threshold Value", - "helpTip": "Specifies the high voltage threshold (in microvolts) for artifact rejection (High Voltage Threshold must be set to ‘true’). Default: 75E+6. This is not implemented in the current version of the system.", - "recommended_values": "", - "type": "float" - }, - "low_voltage_threshold": { - "value": "false", - "section": "artifact_rejection", - "readableName": "Low Voltage Threshold On/Off", - "helpTip": "If ‘true’, a lower voltage threshold will be set for artifact rejection. Detection of values below the specified threshold will trigger rejection of a inquiry. This is not implemented in the current version of the system.", - "recommended_values": "", - "type": "bool" - }, - "low_voltage_value": { - "value": "-75E-6", - "section": "artifact_rejection", - "readableName": "LowVoltage Threshold Value", - "helpTip": "Specifies the low voltage threshold (in microvolts) for artifact rejection (Low Voltage Threshold must be set to ‘true’). Default: -75E-6 This is not implemented in the current version of the system.", - "recommended_values": "", - "type": "float" - }, "summarize_session": { "value": "true", "section": "bci_config", - "readableName": "Summarize Session Data", + "name": "Summarize Session Data", "helpTip": "If 'true', writes an Excel file which summarizes the session data by charting evidence per inquiry.", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "bool" }, "parameter_location": { "value": "bcipy/parameters/parameters.json", "section": "bci_config", - "readableName": "Parameter File", + "name": "Parameter File", "helpTip": "Specifies the file containing the current system parameters. Default: bcipy/parameters/parameters.json", - "recommended_values": [ + "recommended": [ "parameters/parameters.json" ], + "editable": true, "type": "filepath" }, "data_save_loc": { "value": "data/", "section": "bci_config", - "readableName": "Data Save Location", + "name": "Data Save Location", "helpTip": "Specifies the location in which to save data files after each recording. This must be a directory ending with /. Default: data/", - "recommended_values": [ + "recommended": [ "data/" ], + "editable": true, "type": "directorypath" }, "full_screen": { "value": "false", "section": "bci_config", - "readableName": "Full Screen Mode On/Off", + "name": "Full Screen Mode", "helpTip": "If ‘true’, the task will be displayed in full screen mode. If ‘false’, the task will be displayed in a window.", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "bool" }, "window_height": { "value": "500", "section": "bci_config", - "readableName": "Task Window Height", + "name": "Task Window Height", "helpTip": "Specifies the height (in norm units) of the task window when not in full screen mode (Full Screen Mode On/Off must be set to ‘false’). See https://www.psychopy.org/general/units.html. Default: 500", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "int" }, "window_width": { "value": "500", "section": "bci_config", - "readableName": "Task Window Width", + "name": "Task Window Width", "helpTip": "Specifies the width (in norm units) of the task window when not in full screen mode (Full Screen Mode On/Off must be set to ‘false’). See https://www.psychopy.org/general/units.html. Default: 500", - "recommended_values": "", + "recommended": "", + "editable": true, + "type": "int" + }, + "matrix_rows": { + "value": "5", + "section": "bci_config", + "name": "Matrix Rows", + "helpTip": "Specifies the number of rows to use in the Matrix task. Rows * columns should be greater than or equal to the number of symbols.", + "recommended": "", + "editable": true, + "type": "int" + }, + "matrix_columns": { + "value": "6", + "section": "bci_config", + "name": "Matrix Columns", + "helpTip": "Specifies the number of columns to use in the Matrix task. Rows * columns should be greater than or equal to the number of symbols.", + "recommended": "", + "editable": true, "type": "int" }, + "matrix_width": { + "value": "0.7", + "section": "bci_config", + "name": "Matrix Width (%)", + "helpTip": "Specifies the max percentage of the display that the matrix grid should utilize. Must be between 0 and 1", + "recommended": "", + "editable": true, + "type": "float" + }, "acq_show_viewer": { "value": "false", "section": "acq_config", - "readableName": " EEG Viewer On/Off", - "helpTip": "If ‘true’, the EEG signal viewer will be displayed.", - "recommended_values": "", + "name": " EEG Viewer", + "helpTip": "If ‘true’, the EEG signal viewer will be displayed along with the Task.", + "recommended": "", + "editable": true, "type": "bool" }, "stim_screen": { "value": "0", "section": "bci_config", - "readableName": "Task Display Monitor", + "name": "Task Display Monitor", "helpTip": "Specifies which monitor to use for task display when two monitors are in use. If ‘0’, the task will be displayed on the primary monitor (with the EEG signal viewer on the second monitor, if EEG Viewer On/Off is set to ‘true’). If ‘1’, the opposite monitor assignment will be used.", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "int" }, "task_buffer_length": { "value": "2", "section": "bci_config", - "readableName": "Inter-inquiry Interval", + "name": "Inter-inquiry Interval", "helpTip": "Specifies the delay time (in seconds) between the final stimulus in one inquiry and the beginning (target stimulus or fixation cross) of the next inquiry in a task. Default: 2", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "float" }, "is_txt_stim": { "value": "true", "section": "bci_config", - "readableName": "Text Stimuli On/Off", - "helpTip": "If ‘true’, text stimuli will be used. If ‘false’, image stimuli will be loaded from the folder specified in Image Stimulus Folder.", - "recommended_values": "", + "name": "Text Stimuli", + "helpTip": "If ‘true’, text stimuli will be used. If ‘false’, image stimuli will be loaded from the folder specified in Image Stimulus Folder. Default: true", + "recommended": "", + "editable": true, "type": "bool" }, "path_to_presentation_images": { "value": "bcipy/static/images/rsvp/", "section": "bci_config", - "readableName": "Image Stimulus Folder", + "name": "Image Stimulus Folder", "helpTip": "Specifies the location of image files to be used as stimuli (Text Stimuli On/Off must be set to ‘false’). This must be a directory ending with /.", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "directorypath" }, "stim_space_char": { "value": "–", "section": "bci_config", - "readableName": "Space Character", + "name": "Space Character", "helpTip": "Specifies the text or Unicode character which represents a space during text-stimuli tasks. Default: –", - "recommended_values": [ + "recommended": [ "_", "–", "‒", "□" ], + "editable": true, "type": "str" }, "stim_order": { "value": "random", "section": "bci_config", - "readableName": "Stimuli Order", + "name": "Stimuli Order", "helpTip": "Specifies the ordering of stimuli in an inquiry. Default is random.", - "recommended_values": [ + "recommended": [ "alphabetical", "random" ], + "editable": true, "type": "str" }, "target_positions": { "value": "distributed", "section": "bci_config", - "readableName": "Target Positions", + "name": "Target Positions", "helpTip": "Specifies the positions of target stimuli in calibration task. Default is random.", - "recommended_values": [ + "recommended": [ "distributed", "random" ], + "editable": true, "type": "str" }, "nontarget_inquiries": { "value": "10", "section": "bci_config", - "readableName": "Percentage of Nontarget Inquiries", + "name": "Percentage of Nontarget Inquiries", "helpTip": "Specifies the percentage (0-100) of inquiries which target stimuli flashed is not in inquiry. Default is 10 percent.", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "int" }, "stim_length": { "value": "10", "section": "bci_config", - "readableName": "Stimuli Per inquiry", + "name": "Stimuli Per inquiry", "helpTip": "Specifies the number of stimuli to present in each inquiry. Default: 10", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "int" }, "time_flash": { "value": "0.25", "section": "bci_config", - "readableName": "Stimulus Presentation Duration", + "name": "Stimulus Presentation Duration", "helpTip": "Specifies the duration of time (in seconds) that each stimulus is displayed in an inquiry.", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "float" }, "time_prompt": { "value": "1", "section": "bci_config", - "readableName": "Time Prompt Stimuli (sec)", + "name": "Time Prompt Stimuli (sec)", "helpTip": "The amount of time in seconds to present the target stimuli prompt in an inquiry.", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "float" }, "time_fixation": { "value": "0.5", "section": "bci_config", - "readableName": "Time Fixation Stimuli (sec)", + "name": "Time Fixation Stimuli (sec)", "helpTip": "The amount of time in seconds to present the fixation stimuli in an inquiry.", - "recommended_values": "", + "recommended": "", + "editable": true, + "type": "float" + }, + "time_vep_animation": { + "value": "1.0", + "section": "bci_config", + "name": "Time VEP Animation (sec)", + "helpTip": "The amount of time in seconds for the animation moving symbols to boxes.", + "recommended": "", + "editable": true, "type": "float" }, "stim_jitter": { "value": "0.0", "section": "bci_config", - "readableName": "Stimulus Presentation Jitter (sec)", + "name": "Stimulus Presentation Jitter (sec)", "helpTip": "Specifies the time (sec) to jitter presentation rates. Default: 0.0", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "float" }, "stim_pos_x": { "value": "0", "section": "bci_config", - "readableName": "Stimulus Position Horizontal", + "name": "Stimulus Position Horizontal", "helpTip": "Specifies the center point of the stimulus position along the X axis. Possible values range from -1 to 1, with 0 representing the center. Default: 0", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "float" }, "stim_pos_y": { "value": "0", "section": "bci_config", - "readableName": "Stimulus Position Vertical", + "name": "Stimulus Position Vertical", "helpTip": "Specifies the center point of the stimulus position along the Y axis. Possible values range from -1 to 1, with 0 representing the center. Default: 0", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "float" }, "font": { - "value": "Consolas", + "value": "Courier New", "section": "bci_config", - "readableName": "Font", - "helpTip": "Specifies the font used for all text stimuli. Default: Consolas", - "recommended_values": [ + "name": "Font", + "helpTip": "Specifies the font used for all text stimuli. Default: Courier New", + "recommended": [ "Courier New", - "Lucida Sans", - "Consolas" + "Lucida Sans" ], + "editable": true, "type": "str" }, "stim_height": { "value": "0.5", "section": "bci_config", - "readableName": "Stimulus Size", + "name": "Stimulus Size", "helpTip": "Specifies the height of text stimuli. See https://www.psychopy.org/general/units.html. Default: 0.5", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "float" }, "stim_color": { "value": "white", "section": "bci_config", - "readableName": "Stimulus Color", + "name": "Stimulus Color", "helpTip": "Specifies the color of text stimuli within the RSVP stream. Default: white", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "str" }, "target_color": { "value": "white", "section": "bci_config", - "readableName": "Target Color", + "name": "Target Color", "helpTip": "Specifies the color of target characters during calibration. Default: white", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "str" }, "fixation_color": { "value": "red", "section": "bci_config", - "readableName": "Fixation Cross Color", + "name": "Fixation Cross Color", "helpTip": "Specifies the color of the fixation cross that appears before each inquiry. Default: red", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "str" }, "background_color": { "value": "black", "section": "bci_config", - "readableName": "Task Background Color", + "name": "Task Background Color", "helpTip": "Specifies the color of the task background. Default: black", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "str" }, "info_pos_x": { "value": "0", "section": "bci_config", - "readableName": "Position Text (X)", + "name": "Position Text (X)", "helpTip": "Position Text (X)", - "recommended_values": [ + "recommended": [ "0" ], + "editable": true, "type": "float" }, "info_pos_y": { "value": "-0.75", "section": "bci_config", - "readableName": "Position Text (Y)", + "name": "Position Text (Y)", "helpTip": "Position Text (Y)", - "recommended_values": [ + "recommended": [ "-0.75" ], + "editable": true, "type": "float" }, "info_text": { "value": "", "section": "bci_config", - "readableName": "Text below main presentation", + "name": "Text below main presentation", "helpTip": "Text below main presentation", - "recommended_values": [ + "recommended": [ "", "Demo Text", "DEMO" ], + "editable": true, "type": "str" }, "info_height": { "value": "0.1", "section": "bci_config", - "readableName": "Text below main presentation height", + "name": "Text below main presentation height", "helpTip": "Specifies the height of info text stimuli. See https://www.psychopy.org/general/units.html. Default: 0.1", - "recommended_values": [ + "recommended": [ "0.1" ], + "editable": true, "type": "float" }, "info_color": { "value": "white", "section": "bci_config", - "readableName": "Color Text", + "name": "Color Text", "helpTip": "Color Text", - "recommended_values": [ + "recommended": [ "white", "black", "blue" ], + "editable": true, "type": "str" }, "task_text": { "value": "HELLO_WORLD", "section": "bci_config", - "readableName": "Target Phrase", + "name": "Target Phrase", "helpTip": "Specifies the target phrase displayed at the top of the screen during text-stimuli copy/spelling tasks.", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "str" }, "task_height": { "value": "0.1", "section": "bci_config", - "readableName": "Task Text Size", + "name": "Task Text Size", "helpTip": "Specifies the height of task-specific text, e.g. #/100 in calibration and target phrase in copy/spelling. See https://www.psychopy.org/general/units.html. Default: 0.1", - "recommended_values": [ + "recommended": [ "0.1" ], + "editable": true, "type": "float" }, "task_color": { "value": "white", "section": "bci_config", - "readableName": "Task Text Color", + "name": "Task Text Color", "helpTip": "Specifies the color of task-specific text, e.g. #/100 in calibration and target phrase in copy/spelling. Default: white", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "str" }, + "task_padding": { + "value": "0.05", + "section": "bci_config", + "name": "Task Bar Padding", + "helpTip": "Specifies the padding around the task bar text. Default: 0.05", + "recommended": [ + "0.05" + ], + "editable": true, + "type": "float" + }, "stim_number": { "value": "100", "section": "bci_config", - "readableName": "Number of Calibration inquiries", + "name": "Number of Calibration inquiries", "helpTip": "Specifies the number of inquiries to present in a calibration session. Default: 100", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "int" }, "enable_breaks": { "value": "false", "section": "bci_config", - "readableName": "Automatic Calibration Breaks On/Off", + "name": "Automatic Calibration Breaks", "helpTip": "If ‘true’, automatic breaks will be added to the calibration session. If ‘false’, automatic breaks will not occur, but the session can still be paused by pressing Space.", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "bool" }, "break_len": { "value": "30", "section": "bci_config", - "readableName": "Automatic Calibration Break Length", + "name": "Automatic Calibration Break Length", "helpTip": "Specifies the length (in seconds) of automatic calibration breaks (Automatic Calibration Breaks On/Off must be set to ‘true’).", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "int" }, "trials_before_break": { "value": "20", "section": "bci_config", - "readableName": "Automatic Calibration Break Timing", + "name": "Automatic Calibration Break Timing", "helpTip": "Specifies the number of inquiries between automatic calibration breaks (Automatic Calibration Breaks On/Off must be set to ‘true’).", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "int" }, "break_message": { "value": "Take a break!", "section": "bci_config", - "readableName": "Automatic Calibration Break Message", + "name": "Automatic Calibration Break Message", "helpTip": "Specifies the message displayed during automatic calibration breaks (Automatic Calibration Breaks On/Off must be set to ‘true’).", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "str" }, - "min_inq_len": { - "value": "1", - "section": "bci_config", - "readableName": "Minimum Inquiry Length", - "helpTip": "The minimum number of inquiries to present in spelling tasks", - "recommended_values": [ - "1" - ], - "type": "int" - }, "max_inq_len": { "value": "50", "section": "bci_config", - "readableName": "Maximum Inquiry Length", + "name": "Maximum Inquiry Length", "helpTip": "Specifies the maximum number of inquiries to present in copy/spelling tasks. The task will end if this number is reached.", - "recommended_values": [ + "recommended": [ "20", "25" ], + "editable": true, "type": "int" }, "max_minutes": { "value": "20", "section": "bci_config", - "readableName": "Maximum Task Length (Time)", + "name": "Maximum Task Length (Time)", "helpTip": "Specifies the time limit (in minutes) for copy/spelling tasks. The task will end if this time limit is reached.", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "int" }, "max_selections": { "value": "25", "section": "bci_config", - "readableName": "Maximum Number of Selections", + "name": "Maximum Number of Selections", "helpTip": "The maximum number of selections for copy/spelling tasks. The task will end if this number is reached.", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "int" }, "decision_threshold": { "value": "0.8", "section": "bci_config", - "readableName": "Decision Threshold", + "name": "Decision Threshold", "helpTip": "Specifies the decision threshold for stimulus selection in copy/spelling class. If the posterior probability (combining EEG and language model evidence) for a stimulus reaches this threshold, it will be selected. Possible value range: 0.0-1.0. Default: 0.8", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "float" }, "min_inq_per_series": { "value": "1", "section": "bci_config", - "readableName": "Minimum Inquiries Per Series", + "name": "Minimum Inquiries Per Series", "helpTip": "Specifies the minimum number of inquiries to present before making a decision in copy/spelling tasks. Default: 1", - "recommended_values": [ + "recommended": [ "1" ], + "editable": true, "type": "int" }, "max_inq_per_series": { "value": "11", "section": "bci_config", - "readableName": "Maximum Inquiries Per Series", + "name": "Maximum Inquiries Per Series", "helpTip": "Specifies the maximum number of inquiries to present before making a decision in copy/spelling tasks.", - "recommended_values": [ + "recommended": [ "10", "15" ], + "editable": true, "type": "int" }, "backspace_always_shown": { "value": "true", "section": "bci_config", - "readableName": "Always Show Backspace On/Off", + "name": "Always Show Backspace", "helpTip": "If ‘true’, the backspace character will be included in every inquiry in text-stimuli copy/spelling tasks. If ‘false’, the backspace character will be treated the same as other characters, appearing in inquiries only when warranted by EEG/language model evidence.", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "bool" }, "spelled_letters_count": { "value": "0", "section": "bci_config", - "readableName": "Pre-Selected Letters Count", + "name": "Pre-Selected Letters Count", "helpTip": "Specifies the number of letters in the target phrase that are already typed when the task begins, e.g. if the target phrase is “THE_DOG”, setting this parameter to ‘4’ would display “THE_” as the typed string, and the user would begin typing with D. If ‘0’, the typed string will be blank.", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "int" }, "lang_model_type": { - "value": "MIXTURE", + "value": "UNIFORM", "section": "lang_model_config", - "readableName": "Language Model Type", - "helpTip": "Specifies which language model to use. Default: MIXTURE", - "recommended_values": [ + "name": "Language Model Type", + "helpTip": "Specifies which language model to use. Default: UNIFORM", + "recommended": [ "UNIFORM", "CAUSAL", "KENLM", - "MIXTURE" + "MIXTURE", + "ORACLE" ], + "editable": true, "type": "str" }, "lm_backspace_prob": { - "value": "0.05", + "value": "0.0", "section": "bci_config", - "readableName": "Backspace Probability", - "helpTip": "Specifies the initial probability assigned to the backspace character in the language model. Possible value range: 0.0-1.0. Default: 0.05", - "recommended_values": "", + "name": "Backspace Probability", + "helpTip": "Specifies the minimum probability assigned to the backspace character in the language model. Possible value range: 0.0-1.0. Default: 0.0", + "recommended": "0.05", + "editable": true, "type": "float" }, "show_preview_inquiry": { "value": "false", "section": "bci_config", - "readableName": "Preview Inquiry On/Off", - "helpTip": "If ‘true’, the inquiry will be previewed as applicable for the task. *Note* Not all tasks will have this enabled!", - "recommended_values": "", + "name": "Preview Inquiry Display", + "helpTip": "If ‘true’, the inquiry will be previewed as applicable for the Task. *Note* Not all tasks will have this enabled!", + "recommended": "", + "editable": true, "type": "bool" }, "preview_inquiry_progress_method": { "value": "0", "section": "bci_config", - "readableName": "Preview Inquiry Progression Method", + "name": "Preview Inquiry Progression Method", "helpTip": "If show_preview_inquiry true, this will determine how to proceed after a key hit. 0 = preview only; 1 = press to confirm; 2 = press to skip to another inquiry", - "recommended_values": [ + "recommended": [ "0", "1", "2" ], + "editable": true, "type": "int" }, "preview_inquiry_length": { "value": "5", "section": "bci_config", - "readableName": "Preview Inquiry Display Length", + "name": "Preview Inquiry Display Length", "helpTip": "Length of time in seconds to present an inquiry preview to the user.", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "float" }, "preview_inquiry_key_input": { "value": "return", "section": "bci_config", - "readableName": "Preview Inquiry Display Key Input Method", + "name": "Preview Inquiry Display Key Input Method", "helpTip": "Defines the key used to engage with inquiry preview.", - "recommended_values": [ + "recommended": [ "space", "escape", "return" ], + "editable": true, "type": "str" }, "preview_inquiry_isi": { "value": "1", "section": "bci_config", - "readableName": "Preview Inquiry Inter-Stimulus Interval", + "name": "Preview Inquiry Inter-Stimulus Interval", "helpTip": "The time between previewing an inquiry and the start of an inquiry.", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "float" }, "show_feedback": { "value": "true", "section": "bci_config", - "readableName": "Feedback On/Off", - "helpTip": "If ‘true’, feedback will be shown after each inquiry.", - "recommended_values": "", + "name": "Feedback Display", + "helpTip": "If ‘true’, feedback will be shown after each inquiry. If ‘false’, feedback will not be shown. *Note* Not all tasks will have this enabled!", + "recommended": "", + "editable": true, "type": "bool" }, "feedback_duration": { "value": "2", "section": "bci_config", - "readableName": "Feedback Time (seconds)", + "name": "Feedback Time (seconds)", "helpTip": "Specifies the length in time (seconds) feedback will be displayed after each inquiry in registered tasks (ex. RSVP Copy Phrase). Default: 2", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "float" }, "psd_method": { "value": "Welch", "section": "bci_config", - "readableName": "Power Spectral Density Method", + "name": "Power Spectral Density Method", "helpTip": "Specifies the method used to approximate power spectral density bands (Welch or MultiTaper). Default: Welch", - "recommended_values": [ + "recommended": [ "Welch", "MutliTaper" ], + "editable": true, "type": "str" } } \ No newline at end of file diff --git a/bcipy/helpers/tests/test_acquisition.py b/bcipy/helpers/tests/test_acquisition.py index 22a725c9b..2a468320f 100644 --- a/bcipy/helpers/tests/test_acquisition.py +++ b/bcipy/helpers/tests/test_acquisition.py @@ -2,12 +2,13 @@ import shutil import unittest from pathlib import Path +import logging from unittest.mock import Mock, patch from bcipy.acquisition.devices import DeviceSpec, DeviceStatus from bcipy.config import DEFAULT_PARAMETERS_PATH from bcipy.helpers.acquisition import (RAW_DATA_FILENAME, init_device, - init_eeg_acquisition, + init_acquisition, max_inquiry_duration, parse_stream_type, raw_data_filename, server_spec, stream_types) @@ -36,12 +37,14 @@ def tearDown(self): shutil.rmtree(self.save) def test_init_acquisition(self): - """Test init_eeg_acquisition with LSL client.""" + """Test init_acquisition with LSL client.""" params = self.parameters + logger = Mock(spec=logging.Logger) + logger.info = lambda x: x params['acq_mode'] = 'EEG:passive/DSI-24' - client, servers = init_eeg_acquisition(params, self.save, server=True) + client, servers = init_acquisition(params, self.save, server=True) client.stop_acquisition() client.cleanup() diff --git a/bcipy/helpers/tests/test_load.py b/bcipy/helpers/tests/test_load.py index c42b9ec3a..77a6845bf 100644 --- a/bcipy/helpers/tests/test_load.py +++ b/bcipy/helpers/tests/test_load.py @@ -26,7 +26,7 @@ load_users, copy_parameters) from bcipy.helpers.parameters import Parameters -from bcipy.helpers.exceptions import BciPyCoreException, InvalidExperimentException +from bcipy.exceptions import BciPyCoreException, InvalidExperimentException MOCK_EXPERIMENT = { @@ -164,6 +164,12 @@ def setUp(self): self.directory_name = 'test_data_load_user' self.data_save_loc = f'{self.directory_name}/' + def tearDown(self): + try: + shutil.rmtree(self.data_save_loc) + except FileNotFoundError: + pass + def test_user_load_with_no_directory_written(self): """Use defined data save location without writing anything""" response = load_users(self.data_save_loc) @@ -172,7 +178,7 @@ def test_user_load_with_no_directory_written(self): def test_user_load_with_valid_directory(self): user = 'user_001' - file_path = f'{self.directory_name}/experiment/{user}' + file_path = f'{self.directory_name}/{user}/experiment' os.makedirs(file_path) response = load_users(self.data_save_loc) @@ -183,36 +189,33 @@ def test_user_load_with_valid_directory(self): # assert user returned is user defined above self.assertEqual(response[0], user) - shutil.rmtree(self.data_save_loc) def test_user_load_with_invalid_directory(self): # create an invalid save structure and assert expected behavior. - user = 'user_001' - file_path = f'{self.directory_name}/experiment{user}' + file_path = f'{self.directory_name}/' os.makedirs(file_path) response = load_users(self.data_save_loc) length_of_users = len(response) self.assertTrue(length_of_users == 0) - shutil.rmtree(self.data_save_loc) class TestExtractMode(unittest.TestCase): def test_extract_mode_calibration(self): - data_save_path = 'data/default/user/user_RSVP_Calibration_Mon_01_Mar_2021_11hr19min49sec_-0800' + data_save_path = 'data/user/default/user_RSVP_Calibration_Mon_01_Mar_2021_11hr19min49sec_-0800' expected_mode = 'calibration' response = extract_mode(data_save_path) self.assertEqual(expected_mode, response) def test_extract_mode_copy_phrase(self): - data_save_path = 'data/default/user/user_RSVP_Copy_Phrase_Mon_01_Mar_2021_11hr19min49sec_-0800' + data_save_path = 'data/user/default/user_RSVP_Copy_Phrase_Mon_01_Mar_2021_11hr19min49sec_-0800' expected_mode = 'copy_phrase' response = extract_mode(data_save_path) self.assertEqual(expected_mode, response) def test_extract_mode_without_mode_defined(self): - invalid_data_save_dir = 'data/default/user/user_bad_dir' + invalid_data_save_dir = 'data/user/default/user_bad_dir' with self.assertRaises(BciPyCoreException): extract_mode(invalid_data_save_dir) diff --git a/bcipy/helpers/tests/test_parameters.py b/bcipy/helpers/tests/test_parameters.py index c46b20088..58b0acbd9 100644 --- a/bcipy/helpers/tests/test_parameters.py +++ b/bcipy/helpers/tests/test_parameters.py @@ -52,19 +52,21 @@ def test_load_data(self): "fake_data": { "value": "true", "section": "bci_config", - "readableName": "Fake EEG Data On/Off", + "name": "Fake EEG Data On/Off", "helpTip": "If ‘true’, fake EEG data will be used instead of real EEG data.", - "recommended_values": "", + "recommended": "", + "editable": True, "type": "bool" }, "acq_device": { "value": "LSL", "section": "acq_config", - "readableName": "Acquisition Device Connection Method", + "name": "Acquisition Device Connection Method", "helpTip": "Specifies the method used to connect to the data acquisition device (LSL or DSI).", - "recommended_values": ["DSI", "LSL"], + "recommended": ["DSI", "LSL"], + "editable": True, "type": "str" } } @@ -78,8 +80,9 @@ def test_load_data_with_missing_field(self): "fake_data": { "value": "true", "section": "bci_config", - "readableName": "Fake EEG Data On/Off", - "recommended_values": "", + "name": "Fake EEG Data On/Off", + "recommended": "", + "editable": True, "type": "bool" } } @@ -93,9 +96,10 @@ def test_load_data_with_unsupported_type(self): "fake_data": { "value": "true", "section": "bci_config", - "readableName": "Fake EEG Data On/Off", + "name": "Fake EEG Data On/Off", "helpTip": "", - "recommended_values": "", + "recommended": "", + "editable": True, "type": "custom_type" } } @@ -126,41 +130,46 @@ def test_cast_values(self): "myint": { "value": "1", "section": "", - "readableName": "", + "name": "", "helpTip": "", - "recommended_values": "", + "recommended": "", + "editable": True, "type": "int" }, "mybool": { "value": "true", "section": "", - "readableName": "", + "name": "", "helpTip": "", - "recommended_values": "", + "recommended": "", + "editable": True, "type": "bool" }, "mypath": { "value": "bcipy/parameters/parameters.json", "section": "", - "readableName": "", + "name": "", "helpTip": "", - "recommended_values": "", + "recommended": "", + "editable": True, "type": "directorypath" }, "mystr": { "value": "hello", "section": "", - "readableName": "", + "name": "", "helpTip": "", - "recommended_values": "", + "recommended": "", + "editable": True, "type": "str" }, "my_int_range": { "value": "5:10", "section": "", - "readableName": "", + "name": "", "helpTip": "", - "recommended_values": "", + "recommended": "", + "editable": True, "type": "range" } } @@ -194,9 +203,10 @@ def test_setting_valid_values(self): parameters['mystr'] = { "value": "hello", "section": "", - "readableName": "", + "name": "", "helpTip": "", - "recommended_values": "", + "recommended": "", + "editable": True, "type": "str" } self.assertEqual(len(parameters), 1) @@ -206,16 +216,18 @@ def test_setting_invalid_values(self): missing_help_tip = { "value": "true", "section": "", - "readableName": "", - "recommended_values": "", + "name": "", + "recommended": "", + "editable": True, "type": "bool" } unsupported_type = { "value": "true", "section": "bci_config", - "readableName": "Fake EEG Data On/Off", + "name": "Fake EEG Data On/Off", "helpTip": "", - "recommended_values": "", + "recommended": "", + "editable": True, "type": "custom_type" } @@ -234,9 +246,10 @@ def test_updating_uncast_values(self): parameters['mystr'] = { "value": "hello", "section": "", - "readableName": "", + "name": "", "helpTip": "", - "recommended_values": "", + "recommended": "", + "editable": True, "type": "str" } parameters['mystr']['value'] = 'hello world' @@ -248,25 +261,28 @@ def test_setting_existing_cast_values(self): "acq_port": { "value": "8000", "section": "acquisition", - "readableName": "Acquisition Port", + "name": "Acquisition Port", "helpTip": "", - "recommended_values": "", + "recommended": "", + "editable": True, "type": "int" }, "acq_device": { "value": "LSL", "section": "acquisition", - "readableName": "Acquisition Device", + "name": "Acquisition Device", "helpTip": "", - "recommended_values": ["LSL", "DSI"], + "recommended": ["LSL", "DSI"], + "editable": True, "type": "str" }, "is_txt_stim": { "value": "false", "section": "", - "readableName": "", + "name": "", "helpTip": "", - "recommended_values": "", + "recommended": "", + "editable": True, "type": "bool" } } @@ -293,17 +309,19 @@ def test_update(self): "acq_port": { "value": "8000", "section": "acquisition", - "readableName": "Acquisition Port", + "name": "Acquisition Port", "helpTip": "", - "recommended_values": "", + "recommended": "", + "editable": True, "type": "int" }, "acq_device": { "value": "LSL", "section": "acquisition", - "readableName": "Acquisition Device", + "name": "Acquisition Device", "helpTip": "", - "recommended_values": ["LSL", "DSI"], + "recommended": ["LSL", "DSI"], + "editable": True, "type": "str" } } @@ -326,17 +344,19 @@ def test_values(self): "acq_port": { "value": "8000", "section": "acquisition", - "readableName": "Acquisition Port", + "name": "Acquisition Port", "helpTip": "", - "recommended_values": "", + "recommended": "", + "editable": True, "type": "int" }, "acq_device": { "value": "LSL", "section": "acquisition", - "readableName": "Acquisition Device", + "name": "Acquisition Device", "helpTip": "", - "recommended_values": ["LSL", "DSI"], + "recommended": ["LSL", "DSI"], + "editable": True, "type": "str" } } @@ -391,9 +411,10 @@ def test_save_new(self): parameters['mystr'] = { "value": "hello", "section": "", - "readableName": "", + "name": "", "helpTip": "", - "recommended_values": "", + "recommended": "", + "editable": True, "type": "str" } with self.assertRaises(Exception): @@ -413,9 +434,10 @@ def test_items(self): parameters['mystr'] = { "value": "hello", "section": "", - "readableName": "", + "name": "", "helpTip": "", - "recommended_values": "", + "recommended": "", + "editable": True, "type": "str" } self.assertEqual(len(parameters.items()), 1) @@ -445,9 +467,10 @@ def test_check_entry(self): "fake_data", { "value": "true", "section": "bci_config", - "readableName": "Fake Data Sessions", + "name": "Fake Data Sessions", "helpTip": "If true, fake data server used", - "recommended_values": "", + "recommended": "", + "editable": True, "type": "bool" }) with self.assertRaises(Exception): @@ -461,9 +484,10 @@ def test_check_entry_bool_type(self): "fake_data", { "value": True, "section": "bci_config", - "readableName": "Fake Data Sessions", + "name": "Fake Data Sessions", "helpTip": "If true, fake data server used", - "recommended_values": "", + "recommended": "", + "editable": True, "type": "bool" }) @@ -487,17 +511,19 @@ def test_add_missing(self): entry1 = { "value": "8000", "section": "acquisition", - "readableName": "Acquisition Port", + "name": "Acquisition Port", "helpTip": "", - "recommended_values": "", + "recommended": "", + "editable": True, "type": "int" } entry2 = { "value": "LSL", "section": "acquisition", - "readableName": "Acquisition Device", + "name": "Acquisition Device", "helpTip": "", - "recommended_values": ["LSL", "DSI"], + "recommended": ["LSL", "DSI"], + "editable": True, "type": "str" } @@ -519,41 +545,46 @@ def test_changed_parameters(self): entry1 = { "value": "8000", "section": "acquisition", - "readableName": "Acquisition Port", + "name": "Acquisition Port", "helpTip": "", - "recommended_values": "", + "recommended": "", + "editable": True, "type": "int" } entry2 = { "value": "75E+6", "section": "artifact_rejection", - "readableName": "High Voltage Threshold Value", + "name": "High Voltage Threshold Value", "helpTip": "Specifies the high voltage threshold (in microvolts)", - "recommended_values": "", + "recommended": "", + "editable": True, "type": "float" } entry2_same = { "value": "75000000.0", "section": "artifact_rejection", - "readableName": "High Voltage Threshold Value", + "name": "High Voltage Threshold Value", "helpTip": "Specifies the high voltage threshold (in microvolts)", - "recommended_values": "", + "recommended": "", + "editable": True, "type": "float" } entry3 = { "value": "DSI-24", "section": "acquisition", - "readableName": "Acquisition Device", + "name": "Acquisition Device", "helpTip": "", - "recommended_values": ["DSI-24", "DSI-VR300"], + "recommended": ["DSI-24", "DSI-VR300"], + "editable": True, "type": "str" } entry3_modified = { "value": "DSI-VR300", "section": "acquisition", - "readableName": "Acquisition Device", + "name": "Acquisition Device", "helpTip": "", - "recommended_values": ["DSI-24", "DSI-VR300"], + "recommended": ["DSI-24", "DSI-VR300"], + "editable": True, "type": "str" } parameters = Parameters(source=None) @@ -583,25 +614,28 @@ def test_instantiate_tuple(self): "a": { "value": "1", "section": "", - "readableName": "", + "name": "", "helpTip": "", - "recommended_values": "", + "recommended": "", + "editable": True, "type": "int" }, "b": { "value": "2", "section": "", - "readableName": "", + "name": "", "helpTip": "", - "recommended_values": [], + "recommended": [], + "editable": True, "type": "int" }, "c": { "value": "3", "section": "", - "readableName": "", + "name": "", "helpTip": "", - "recommended_values": [], + "recommended": [], + "editable": True, "type": "str" } } diff --git a/bcipy/helpers/tests/test_raw_data.py b/bcipy/helpers/tests/test_raw_data.py index 803697915..12fc67bb5 100644 --- a/bcipy/helpers/tests/test_raw_data.py +++ b/bcipy/helpers/tests/test_raw_data.py @@ -10,7 +10,7 @@ from mockito import any, mock, when, verify, unstub -from bcipy.helpers.exceptions import BciPyCoreException +from bcipy.exceptions import BciPyCoreException from bcipy.helpers.raw_data import (RawData, RawDataReader, RawDataWriter, load, sample_data, settings, write) diff --git a/bcipy/helpers/tests/test_report.py b/bcipy/helpers/tests/test_report.py index 7df690816..3d28833d4 100644 --- a/bcipy/helpers/tests/test_report.py +++ b/bcipy/helpers/tests/test_report.py @@ -30,7 +30,8 @@ def test_init_no_name_default(self): self.assertEqual(report.name, Report.DEFAULT_NAME) def test_init_sections(self): - report_section = SessionReportSection() + summary = {} + report_section = SessionReportSection(summary) section = [report_section] report = Report(self.temp_dir, sections=section) self.assertEqual(report.sections, section) @@ -64,7 +65,8 @@ def test_add_section(self): def test_save(self): report = Report(self.temp_dir) - report_section = SessionReportSection() + summary = {} + report_section = SessionReportSection(summary) report.add(report_section) report.save() self.assertTrue(os.path.exists(os.path.join(self.temp_dir, report.name))) @@ -113,7 +115,8 @@ def setUp(self) -> None: } def test_init(self): - report_section = SessionReportSection() + summary = {} + report_section = SessionReportSection(summary) self.assertIsInstance(report_section, ReportSection) self.assertIsNotNone(report_section.style) @@ -124,7 +127,8 @@ def test_create_summary_text(self): self.assertIsInstance(table, Flowable) def test_create_header(self): - report_section = SessionReportSection() + summary = {} + report_section = SessionReportSection(summary) header = report_section._create_header() self.assertIsInstance(header, Paragraph) diff --git a/bcipy/helpers/tests/test_stimuli.py b/bcipy/helpers/tests/test_stimuli.py index 201951410..2c1dc5b2f 100644 --- a/bcipy/helpers/tests/test_stimuli.py +++ b/bcipy/helpers/tests/test_stimuli.py @@ -9,7 +9,7 @@ from mockito import any, mock, unstub, verify, when from psychopy import core -from bcipy.helpers.exceptions import BciPyCoreException +from bcipy.exceptions import BciPyCoreException from bcipy.helpers.stimuli import (DEFAULT_FIXATION_PATH, InquiryReshaper, StimuliOrder, TargetPositions, TrialReshaper, alphabetize, diff --git a/bcipy/helpers/tests/test_triggers.py b/bcipy/helpers/tests/test_triggers.py index 9b9d2a59a..478015733 100644 --- a/bcipy/helpers/tests/test_triggers.py +++ b/bcipy/helpers/tests/test_triggers.py @@ -5,7 +5,7 @@ import psychopy from mockito import any, mock, unstub, verify, when -from bcipy.helpers.exceptions import BciPyCoreException +from bcipy.exceptions import BciPyCoreException from bcipy.helpers.triggers import (FlushFrequency, Trigger, TriggerHandler, TriggerType, _calibration_trigger, apply_offsets, exclude_types, diff --git a/bcipy/helpers/tests/test_validate.py b/bcipy/helpers/tests/test_validate.py index dc398178d..0c7c6a8f6 100644 --- a/bcipy/helpers/tests/test_validate.py +++ b/bcipy/helpers/tests/test_validate.py @@ -2,8 +2,7 @@ from bcipy.config import DEFAULT_EXPERIMENT_ID from bcipy.helpers.validate import validate_experiment, validate_experiments -from bcipy.helpers.save import save_experiment_data -from bcipy.helpers.exceptions import ( +from bcipy.exceptions import ( InvalidExperimentException, InvalidFieldException, UnregisteredExperimentException, @@ -26,24 +25,6 @@ def test_validate_experiment_throws_unregistered_expection_on_unregistered_exper with self.assertRaises(UnregisteredExperimentException): validate_experiment(experiment_name) - def test_save_experiment_data_throws_unregistered_exception_on_unregistered_fields(self): - # create a fake experiment to load - experiment_name = 'test' - fields = { - 'registered_field': { - 'help_text': 'test', - 'type': 'int' - } - } - experiment = { - experiment_name: { - 'fields': [{'does_not_exist': {'required': 'false', 'anonymize': 'true'}}], 'summary': ''} - } - - # assert it raises the expected exception - with self.assertRaises(UnregisteredFieldException): - save_experiment_data(experiment, fields, '.', 'test_experiment.json') - def test_validate_experiment_throws_file_not_found_with_incorrect_experiment_path(self): # define an invalid path path = 'does/not/exist' @@ -71,7 +52,9 @@ class TestValidateExperiments(unittest.TestCase): } experiments = { experiment_name: { - 'fields': [{'registered_field': {'required': 'false', 'anonymize': 'true'}}], 'summary': ''} + 'fields': [{'registered_field': {'required': 'false', 'anonymize': 'true'}}], + 'summary': '', + 'protocol': ''} } def test_validate_experiments_returns_true_on_valid_experiment(self): @@ -82,7 +65,8 @@ def test_validate_experiments_returns_true_on_valid_experiment(self): def test_validate_experiments_throws_invalid_experiment_exception_on_invalid_experiment_no_field(self): experiments = { 'invalid': { - 'summary': ''} + 'summary': '', + 'protocol': ''} } with self.assertRaises(InvalidExperimentException): validate_experiments(experiments, self.fields) @@ -91,7 +75,7 @@ def test_validate_experiments_throws_invalid_experiment_exception_on_invalid_exp experiments = { 'invalid': { 'summary': '', - 'fields': 'should_be_list!'} + 'fields': 'should_be_list!', 'protocol': ''} } with self.assertRaises(InvalidExperimentException): validate_experiments(experiments, self.fields) @@ -100,7 +84,7 @@ def test_validate_experiments_throws_invalid_experiment_exception_on_invalid_exp experiments = { 'invalid': { 'summary': [], - 'fields': []} + 'fields': [], 'protocol': ''} } with self.assertRaises(InvalidExperimentException): validate_experiments(experiments, self.fields) @@ -108,7 +92,7 @@ def test_validate_experiments_throws_invalid_experiment_exception_on_invalid_exp def test_validate_experiments_throws_invalid_experiment_exception_on_invalid_experiment_no_summary(self): experiments = { 'invalid': { - 'fields': []} + 'fields': [], 'protocol': ''} } with self.assertRaises(InvalidExperimentException): validate_experiments(experiments, self.fields) @@ -116,7 +100,7 @@ def test_validate_experiments_throws_invalid_experiment_exception_on_invalid_exp def test_validate_experiments_throws_invalid_field_exception_on_invalid_field_no_required(self): experiments = { self.experiment_name: { - 'fields': [{'registered_field': {'anonymize': 'true'}}], 'summary': ''} + 'fields': [{'registered_field': {'anonymize': 'true'}}], 'summary': '', 'protocol': ''} } with self.assertRaises(InvalidFieldException): validate_experiments(experiments, self.fields) @@ -124,7 +108,7 @@ def test_validate_experiments_throws_invalid_field_exception_on_invalid_field_no def test_validate_experiments_throws_invalid_field_exception_on_invalid_field_no_anonymize(self): experiments = { self.experiment_name: { - 'fields': [{'registered_field': {'required': 'true'}}], 'summary': ''} + 'fields': [{'registered_field': {'required': 'true'}}], 'summary': '', 'protocol': ''} } with self.assertRaises(InvalidFieldException): validate_experiments(experiments, self.fields) @@ -132,7 +116,9 @@ def test_validate_experiments_throws_invalid_field_exception_on_invalid_field_no def test_validate_experiments_throws_unregistered_exception_on_unregistered_fields(self): experiment = { self.experiment_name: { - 'fields': [{'does_not_exist': {'required': 'false', 'anonymize': 'true'}}], 'summary': ''} + 'fields': [{'does_not_exist': {'required': 'false', 'anonymize': 'true'}}], + 'summary': '', + 'protocol': ''} } # assert it raises the expected exception diff --git a/bcipy/helpers/triggers.py b/bcipy/helpers/triggers.py index 259b46d69..47624ffc3 100644 --- a/bcipy/helpers/triggers.py +++ b/bcipy/helpers/triggers.py @@ -5,13 +5,13 @@ from psychopy import core, visual -from bcipy.config import DEFAULT_ENCODING +from bcipy.config import DEFAULT_ENCODING, SESSION_LOG_FILENAME from bcipy.helpers.clock import Clock -from bcipy.helpers.exceptions import BciPyCoreException +from bcipy.exceptions import BciPyCoreException from bcipy.helpers.parameters import Parameters from bcipy.helpers.stimuli import resize_image -log = logging.getLogger(__name__) +log = logging.getLogger(SESSION_LOG_FILENAME) NONE_VALUES = ['0', '0.0'] diff --git a/bcipy/helpers/validate.py b/bcipy/helpers/validate.py index d9d47a4d9..7e6e75520 100644 --- a/bcipy/helpers/validate.py +++ b/bcipy/helpers/validate.py @@ -7,11 +7,12 @@ FIELD_FILENAME) from bcipy.helpers.load import load_experiments, load_fields from bcipy.helpers.system_utils import is_battery_powered, is_connected, is_screen_refresh_rate_low -from bcipy.helpers.exceptions import (InvalidFieldException, - InvalidExperimentException, - UnregisteredExperimentException, - UnregisteredFieldException) +from bcipy.exceptions import (InvalidFieldException, + InvalidExperimentException, + UnregisteredExperimentException, + UnregisteredFieldException) from bcipy.gui.alert import confirm +from bcipy.task.orchestrator.protocol import validate_protocol_string def validate_bcipy_session(parameters: dict, fake_data: bool) -> bool: @@ -46,7 +47,7 @@ def validate_experiment( experiment_name: str, experiment_path: str = f'{DEFAULT_EXPERIMENT_PATH}/{EXPERIMENT_FILENAME}', field_path: str = f'{DEFAULT_FIELD_PATH}/{FIELD_FILENAME}' -) -> bool: +) -> dict: """Validate Experiment. Validate the experiment is in the correct format and the fields are properly registered. @@ -65,7 +66,7 @@ def validate_experiment( _validate_experiment_format(experiment, experiment_name) _validate_experiment_fields(experiment['fields'], fields) - return True + return experiment def _validate_experiment_fields(experiment_fields, fields): @@ -118,6 +119,9 @@ def _validate_experiment_format(experiment, name): assert isinstance(exp_summary, str) experiment_fields = experiment['fields'] assert isinstance(experiment_fields, list) + protocol = experiment['protocol'] + if protocol: + validate_protocol_string(protocol) except KeyError: raise InvalidExperimentException( f'Experiment [{name}] is formatted incorrectly. It should contain the keys: summary and fields.') diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index 38815a95d..2c4402736 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -9,6 +9,7 @@ import numpy as np import pandas as pd import seaborn as sns + from matplotlib.figure import Figure from matplotlib.patches import Ellipse from mne import Epochs @@ -18,10 +19,11 @@ import bcipy.acquisition.devices as devices from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, DEFAULT_GAZE_IMAGE_PATH, RAW_DATA_FILENAME, - TRIGGER_FILENAME) + TRIGGER_FILENAME, SESSION_LOG_FILENAME, + DEFAULT_PARAMETERS_PATH) from bcipy.helpers.acquisition import analysis_channels from bcipy.helpers.convert import convert_to_mne -from bcipy.helpers.load import choose_csv_file, load_raw_data +from bcipy.helpers.load import choose_csv_file, load_raw_data, load_json_parameters from bcipy.helpers.parameters import Parameters from bcipy.helpers.raw_data import RawData from bcipy.helpers.stimuli import mne_epochs @@ -29,7 +31,7 @@ from bcipy.signal.process import (Composition, ERPTransformParams, get_default_transform) -log = logging.getLogger(__name__) +logger = logging.getLogger(SESSION_LOG_FILENAME) def clip_to_display(data, screen_limits): @@ -597,7 +599,7 @@ def visualize_csv_eeg_triggers(trigger_col: Optional[int] = None): plt.ylabel('Trigger Value') plt.xlabel('Samples') - log.info('Press Ctrl + C to exit!') + logger.info('Press Ctrl + C to exit!') # Show us the figure! Depending on your OS / IDE this may not close when # The window is closed, see the message above plt.show() @@ -666,7 +668,11 @@ def visualize_evokeds(epochs: Tuple[Epochs, Epochs], return fig -def visualize_session_data(session_path: str, parameters: Union[dict, Parameters], show=True) -> Figure: +def visualize_session_data( + session_path: str, + parameters: Union[dict, Parameters], + show=True, + save=True) -> Figure: """Visualize Session Data. This method is used to load and visualize EEG data after a session. @@ -683,6 +689,7 @@ def visualize_session_data(session_path: str, parameters: Union[dict, Parameters Output: Figure of Session Data """ + logger.info(f"Visualizing session data at {session_path}") # extract all relevant parameters trial_window = parameters.get("trial_window") @@ -728,7 +735,7 @@ def visualize_session_data(session_path: str, parameters: Union[dict, Parameters transform=default_transform, plot_average=True, plot_topomaps=True, - save_path=session_path, + save_path=session_path if save else None, show=show, ) @@ -752,3 +759,34 @@ def visualize_gaze_accuracies(accuracy_dict: Dict[str, np.ndarray], ax.set_title('Overall Accuracy: ' + str(round(accuracy, 2))) return fig + + +def erp(): + import argparse + + parser = argparse.ArgumentParser(description='Visualize ERP data') + + parser.add_argument( + '-s', '--session_path', + type=str, + help='Path to the session directory', + required=True) + parser.add_argument( + '-p', '--parameters', + type=str, + help='Path to the parameters file', + default=DEFAULT_PARAMETERS_PATH) + parser.add_argument( + '--show', + action='store_true', + help='Whether to show the figure', + default=False) + parser.add_argument( + '--save', + action='store_true', + help='Whether to save the figure', default=True) + + args = parser.parse_args() + + parameters = load_json_parameters(args.parameters, value_cast=True) + visualize_session_data(args.session_path, parameters, args.show, args.save) diff --git a/bcipy/language/demo/demo_kenlm.py b/bcipy/language/demo/demo_kenlm.py index d613c8aa1..d90421e42 100644 --- a/bcipy/language/demo/demo_kenlm.py +++ b/bcipy/language/demo/demo_kenlm.py @@ -4,7 +4,7 @@ from bcipy.helpers.symbols import alphabet from bcipy.language.main import ResponseType from bcipy.config import LM_PATH -from bcipy.helpers.exceptions import KenLMInstallationException +from bcipy.exceptions import KenLMInstallationException try: import kenlm diff --git a/bcipy/language/main.py b/bcipy/language/main.py index 84230c417..8a1922338 100644 --- a/bcipy/language/main.py +++ b/bcipy/language/main.py @@ -4,7 +4,7 @@ from typing import List, Optional, Tuple import json -from bcipy.helpers.exceptions import UnsupportedResponseType +from bcipy.exceptions import UnsupportedResponseType from bcipy.helpers.symbols import DEFAULT_SYMBOL_SET from bcipy.config import DEFAULT_LM_PARAMETERS_PATH diff --git a/bcipy/language/model/causal.py b/bcipy/language/model/causal.py index 6e7aa2b51..677215369 100644 --- a/bcipy/language/model/causal.py +++ b/bcipy/language/model/causal.py @@ -8,7 +8,7 @@ from bcipy.helpers.symbols import BACKSPACE_CHAR, SPACE_CHAR from bcipy.language.main import LanguageModel, ResponseType -from bcipy.helpers.exceptions import InvalidLanguageModelException +from bcipy.exceptions import InvalidLanguageModelException from scipy.special import logsumexp from scipy.special import softmax diff --git a/bcipy/language/model/kenlm.py b/bcipy/language/model/kenlm.py index 8da4ea8c8..1c95241e7 100644 --- a/bcipy/language/model/kenlm.py +++ b/bcipy/language/model/kenlm.py @@ -2,7 +2,7 @@ from typing import Optional, List, Tuple from bcipy.helpers.symbols import BACKSPACE_CHAR, SPACE_CHAR from bcipy.language.main import LanguageModel, ResponseType -from bcipy.helpers.exceptions import InvalidLanguageModelException, KenLMInstallationException +from bcipy.exceptions import InvalidLanguageModelException, KenLMInstallationException from bcipy.config import LM_PATH try: import kenlm diff --git a/bcipy/language/model/mixture.py b/bcipy/language/model/mixture.py index 8a7bd2548..2220c029a 100644 --- a/bcipy/language/model/mixture.py +++ b/bcipy/language/model/mixture.py @@ -4,7 +4,7 @@ from bcipy.language.main import LanguageModel, ResponseType -from bcipy.helpers.exceptions import InvalidLanguageModelException +from bcipy.exceptions import InvalidLanguageModelException # pylint: disable=unused-import # flake8: noqa diff --git a/bcipy/language/model/oracle.py b/bcipy/language/model/oracle.py index 42b5cc560..a23e4789e 100644 --- a/bcipy/language/model/oracle.py +++ b/bcipy/language/model/oracle.py @@ -4,11 +4,12 @@ import numpy as np +from bcipy.config import SESSION_LOG_FILENAME from bcipy.helpers.symbols import BACKSPACE_CHAR from bcipy.language.main import LanguageModel, ResponseType from bcipy.language.model.uniform import equally_probable -logger = logging.getLogger() +logger = logging.getLogger(SESSION_LOG_FILENAME) TARGET_BUMP_MIN = 0.0 TARGET_BUMP_MAX = 0.95 diff --git a/bcipy/language/model/unigram.py b/bcipy/language/model/unigram.py index 4222898c2..9e61e213c 100644 --- a/bcipy/language/model/unigram.py +++ b/bcipy/language/model/unigram.py @@ -1,7 +1,7 @@ from typing import Optional, List, Tuple from bcipy.helpers.symbols import BACKSPACE_CHAR, SPACE_CHAR from bcipy.language.main import LanguageModel, ResponseType -from bcipy.helpers.exceptions import InvalidLanguageModelException +from bcipy.exceptions import InvalidLanguageModelException import json from bcipy.config import LM_PATH diff --git a/bcipy/language/tests/test_causal.py b/bcipy/language/tests/test_causal.py index 561b3a03a..b1d7ed191 100644 --- a/bcipy/language/tests/test_causal.py +++ b/bcipy/language/tests/test_causal.py @@ -4,7 +4,7 @@ import unittest from operator import itemgetter -from bcipy.helpers.exceptions import UnsupportedResponseType, InvalidLanguageModelException +from bcipy.exceptions import UnsupportedResponseType, InvalidLanguageModelException from bcipy.helpers.symbols import alphabet, BACKSPACE_CHAR, SPACE_CHAR from bcipy.language.model.causal import CausalLanguageModel from bcipy.language.main import ResponseType diff --git a/bcipy/language/tests/test_kenlm.py b/bcipy/language/tests/test_kenlm.py index 1e0a81e36..a0cc4805b 100644 --- a/bcipy/language/tests/test_kenlm.py +++ b/bcipy/language/tests/test_kenlm.py @@ -5,7 +5,7 @@ import os from operator import itemgetter -from bcipy.helpers.exceptions import UnsupportedResponseType, InvalidLanguageModelException +from bcipy.exceptions import UnsupportedResponseType, InvalidLanguageModelException from bcipy.helpers.symbols import alphabet, BACKSPACE_CHAR, SPACE_CHAR from bcipy.language.model.kenlm import KenLMLanguageModel from bcipy.language.main import ResponseType diff --git a/bcipy/language/tests/test_mixture.py b/bcipy/language/tests/test_mixture.py index 6f383c8f7..53c160212 100644 --- a/bcipy/language/tests/test_mixture.py +++ b/bcipy/language/tests/test_mixture.py @@ -5,7 +5,7 @@ import os from operator import itemgetter -from bcipy.helpers.exceptions import UnsupportedResponseType, InvalidLanguageModelException +from bcipy.exceptions import UnsupportedResponseType, InvalidLanguageModelException from bcipy.helpers.symbols import alphabet, BACKSPACE_CHAR, SPACE_CHAR from bcipy.language.model.mixture import MixtureLanguageModel from bcipy.language.main import ResponseType diff --git a/bcipy/language/tests/test_unigram.py b/bcipy/language/tests/test_unigram.py index 858849aa8..7a07b002e 100644 --- a/bcipy/language/tests/test_unigram.py +++ b/bcipy/language/tests/test_unigram.py @@ -4,7 +4,7 @@ import unittest import os -from bcipy.helpers.exceptions import UnsupportedResponseType, InvalidLanguageModelException +from bcipy.exceptions import UnsupportedResponseType, InvalidLanguageModelException from bcipy.helpers.symbols import alphabet, BACKSPACE_CHAR from bcipy.language.model.unigram import UnigramLanguageModel from bcipy.language.main import ResponseType diff --git a/bcipy/main.py b/bcipy/main.py index 2a9d1bfc4..211c4e370 100644 --- a/bcipy/main.py +++ b/bcipy/main.py @@ -1,220 +1,110 @@ import argparse import logging import multiprocessing -from typing import List, Optional +from typing import Type, Optional -from psychopy import visual - -from bcipy.acquisition import ClientManager, LslDataServer -from bcipy.config import (DEFAULT_EXPERIMENT_ID, DEFAULT_PARAMETERS_PATH, - STATIC_AUDIO_PATH) -from bcipy.display import init_display_window -from bcipy.helpers.acquisition import init_eeg_acquisition -from bcipy.helpers.language_model import init_language_model -from bcipy.helpers.load import (load_experiments, load_json_parameters, - load_signal_models) -from bcipy.helpers.save import init_save_data_structure -from bcipy.helpers.session import collect_experiment_field_data -from bcipy.helpers.stimuli import play_sound -from bcipy.helpers.system_utils import configure_logger, get_system_info -from bcipy.helpers.task import print_message +from bcipy.config import (DEFAULT_PARAMETERS_PATH, CUSTOM_TASK_EXPERIMENT_ID) +from bcipy.exceptions import BciPyCoreException +from bcipy.helpers.load import (load_experiments, load_json_parameters) from bcipy.helpers.validate import validate_bcipy_session, validate_experiment -from bcipy.helpers.visualization import visualize_session_data -from bcipy.task import TaskType -from bcipy.task.start_task import start_task +from bcipy.task import TaskRegistry, Task +from bcipy.task.orchestrator import SessionOrchestrator +from bcipy.task.orchestrator.protocol import parse_protocol -log = logging.getLogger(__name__) +logger = logging.getLogger(__name__) def bci_main( parameter_location: str, user: str, - task: TaskType, - experiment: str = DEFAULT_EXPERIMENT_ID, + experiment_id: Optional[str] = None, alert: bool = False, visualize: bool = True, - fake: bool = False) -> bool: + fake: bool = False, + task: Optional[Type[Task]] = None) -> bool: """BCI Main. The BCI main function will initialize a save folder, construct needed information and execute the task. This is the main connection between any UI and running the app. + A Task or Experiment ID must be provided to run the task. If a task is provided, the experiment + ID will be ignored. + It may also be invoked via tha command line. Ex. `bcipy` this will default parameters, mode, user, and type. You can pass it those attributes with flags, if desired. - Ex. `bcipy --user "bci_user" --task "RSVP Calibration" --experiment "default" + Ex. `bcipy --user "bci_user" --task "RSVP Calibration" + Input: parameter_location (str): location of parameters file to use user (str): name of the user - task (TaskType): registered bcipy TaskType - experiment_id (str): Name of the experiment. Default name is DEFAULT_EXPERIMENT_ID. + experiment_id (str): Name of the experiment. If task is provided, this will be ignored. alert (bool): whether to alert the user when the task is complete visualize (bool): whether to visualize data at the end of a task fake (bool): whether to use fake acquisition data during the session. If None, the fake data will be determined by the parameters file. + task (Task): registered bcipy Task to execute. If None, the task will be determined by the + experiment protocol. """ - validate_experiment(experiment) + logger.info('Starting BciPy...') + logger.info( + f'User: {user} | Experiment: {experiment_id} | Task: {task} | ' + f'Parameters: {parameter_location} | ' + f'Alert: {alert} | Visualize: {visualize} | Fake: {fake}') + # If no task is provided, extract the tasks from the experiment protocol. Otherwise, we will assume + # the task is a custom task execution with no experiment attached. + if not task and experiment_id: + experiment = validate_experiment(experiment_id) + # extract protocol from experiment + tasks = parse_protocol(experiment['protocol']) + elif task: + tasks = [task] + experiment_id = CUSTOM_TASK_EXPERIMENT_ID + else: + msg = 'No experiment or task provided to BciPy.' + logger.exception(msg) + raise BciPyCoreException(msg) + # Load parameters parameters = load_json_parameters(parameter_location, value_cast=True) # cli overrides parameters file for fake data if provided fake = fake if fake is True else parameters['fake_data'] + parameters['fake_data'] = fake if not validate_bcipy_session(parameters, fake): return False - # Update property to reflect the parameter source + # Update property to reflect the parameter source: parameters['parameter_location'] = parameter_location if parameter_location != DEFAULT_PARAMETERS_PATH: parameters.save() - default_params = load_json_parameters(DEFAULT_PARAMETERS_PATH, value_cast=True) - if parameters.add_missing_items(default_params): - msg = 'Parameters file out of date.' - log.exception(msg) - raise Exception(msg) - - # update our parameters file with system related information - sys_info = get_system_info() - - # Initialize Save Folder - save_folder = init_save_data_structure( - parameters['data_save_loc'], - user, - parameter_location, - task=task.label, - experiment_id=experiment) - - # configure bcipy session logging - configure_logger(save_folder, - version=sys_info['bcipy_version']) - - log.info(sys_info) - - # Collect experiment field data - collect_experiment_field_data(experiment, save_folder) - - if execute_task(task, parameters, save_folder, alert, fake): - if visualize: - - # Visualize session data and fail silently if it errors - try: - visualize_session_data(save_folder, parameters) - except Exception as e: - log.info(f'Error visualizing session data: {e}') - return True - - return False - - -def execute_task( - task: TaskType, - parameters: dict, - save_folder: str, - alert: bool, - fake: bool) -> bool: - """Execute Task. - - Executes the desired task by setting up the display window and - data acquisition, then passing on to the start_task function - which will initialize experiment. - - Input: - task(TaskType): Task that should be registered in TaskType - parameters (dict): parameter dictionary - save_folder (str): path to save folder - alert (bool): whether to alert the user when the task is complete - fake (bool): whether to use fake acquisition data during the session - - Returns: - (bool): True if the task was successfully executed, False otherwise - """ - signal_models = [] - language_model = None - # Init EEG Model, if needed. Calibration Tasks Don't require probabilistic - # modules to be loaded. - if task not in TaskType.calibration_tasks(): - # Try loading in our signal_model and starting a langmodel(if enabled) - if not fake: - try: - model_dir = parameters['signal_model_path'] - signal_models = load_signal_models(directory=model_dir) - assert signal_models, f"No signal models found in {model_dir}" - except Exception as error: - log.exception(f'Cannot load signal model. Exiting. {error}') - raise error + # Initialize an orchestrator + orchestrator = SessionOrchestrator( + experiment_id=experiment_id, + user=user, + parameters_path=parameter_location, + parameters=parameters, + fake=fake, + alert=alert, + visualize=visualize, + ) + orchestrator.add_tasks(tasks) - language_model = init_language_model(parameters) - - # Initialize DAQ and export the device configuration - daq, servers = init_eeg_acquisition( - parameters, save_folder, server=fake) - - # Initialize Display Window - # We have to wait until after the prompt to load the signal model before - # displaying the window, otherwise in fullscreen mode this throws an error - display = init_display_window(parameters) - print_message(display, f'Initializing {task}...') - - # Start Task try: - start_task(display, - daq, - task, - parameters, - save_folder, - language_model=language_model, - signal_models=signal_models, - fake=fake) - - # If exception, close all display and acquisition objects + orchestrator.execute() except Exception as e: - log.exception(str(e)) - - if alert: - play_sound(f"{STATIC_AUDIO_PATH}/{parameters['alert_sound_file']}") - - return _clean_up_session(display, daq, servers) - - -def _clean_up_session( - display: visual.Window, - daq: ClientManager, - servers: Optional[List[LslDataServer]] = None) -> bool: - """Clean up session. - - Closes the display window and data acquisition objects. Returns True if the session was closed successfully. - - Input: - display (visual.Window): display window - daq (LslAcquisitionClient): data acquisition client - server (LslDataServer): data server - """ - try: - # Stop Acquisition - daq.stop_acquisition() - daq.cleanup() - - # Stop Servers - if servers: - for server in servers: - server.stop() - - # Close the display window - # NOTE: There is currently a bug in psychopy when attempting to shutdown - # windows when using a USB-C monitor. Putting the display close last in - # the inquiry allows acquisition to properly shutdown. - display.close() - return True - except Exception as e: - log.exception(str(e)) + logger.exception(f'Error executing task: {e}') return False + return True + -def bcipy_main() -> None: +def bcipy_main() -> None: # pragma: no cover """BciPy Main. Command line interface used for running a registered experiment task in BciPy. To see what @@ -222,21 +112,22 @@ def bcipy_main() -> None: """ # Needed for windows machines multiprocessing.freeze_support() - + tr = TaskRegistry() experiment_options = list(load_experiments().keys()) - task_options = TaskType.list() + task_options = tr.list() parser = argparse.ArgumentParser() # Command line utility for adding arguments/ paths via command line parser.add_argument('-p', '--parameters', default=DEFAULT_PARAMETERS_PATH, help='Parameter location. Pass as *.json') parser.add_argument('-u', '--user', default='test_user') - parser.add_argument('-t', '--task', default='RSVP Calibration', - help=f'Task type to execute. Registered options: {task_options}') + parser.add_argument('-t', '--task', required=False, + help=f'Task type to execute. Registered options: {task_options}', + choices=task_options) parser.add_argument( '-e', '--experiment', - default=DEFAULT_EXPERIMENT_ID, + required=False, help=f'Select a valid experiment to run the task for this user. Available options: {experiment_options}') parser.add_argument( '-a', @@ -258,9 +149,20 @@ def bcipy_main() -> None: help='Use fake acquisition data for testing.') args = parser.parse_args() + if args.task: + task = tr.get(args.task) + else: + task = None + # Start BCI Main - bci_main(args.parameters, str(args.user), TaskType.by_value(str(args.task)), - str(args.experiment), args.alert, args.noviz, args.fake) + bci_main( + args.parameters, + str(args.user), + str(args.experiment), + args.alert, + args.noviz, + args.fake, + task) if __name__ == '__main__': diff --git a/bcipy/parameters/experiment/experiments.json b/bcipy/parameters/experiment/experiments.json index 8b3e2cf6c..add8e1184 100644 --- a/bcipy/parameters/experiment/experiments.json +++ b/bcipy/parameters/experiment/experiments.json @@ -1,6 +1,12 @@ { "default": { "fields": [], - "summary": "Default experiment to test various BciPy features without registering a full experiment." + "summary": "Default experiment to test various BciPy features without registering a full experiment.", + "protocol": "RSVP Calibration -> Matrix Calibration" + }, + "BCIOne": { + "fields": [], + "summary": "BCIOne experiment", + "protocol": "RSVP Calibration -> IntertaskAction -> OfflineAnalysisAction -> IntertaskAction -> Matrix Calibration -> IntertaskAction -> OfflineAnalysisAction -> IntertaskAction -> BciPy Report Action" } } \ No newline at end of file diff --git a/bcipy/parameters/experiment/phrases.json b/bcipy/parameters/experiment/phrases.json new file mode 100644 index 000000000..4ec1ea70e --- /dev/null +++ b/bcipy/parameters/experiment/phrases.json @@ -0,0 +1,13 @@ +{ + "Phrases" : [ + ["HELLO_WORLD", 0], + ["GOOD_MORNING", 1], + ["GOOD_AFTERNOON", 5], + ["GOOD_EVENING", 0], + ["GOOD_NIGHT", 5], + ["HOW_ARE_YOU", 4], + ["I_AM_FINE", 5], + ["THANK_YOU", 6], + ["WELCOME_HOME", 8] + ] +} \ No newline at end of file diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index 19756cefd..296d91858 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -1,772 +1,893 @@ { "fake_data": { "value": "false", - "section": "bci_config", - "readableName": "Fake EEG Data On/Off", + "section": "acq_config", + "name": "Fake EEG Data", "helpTip": "If ‘true’, fake EEG data will be used instead of real EEG data. Useful for testing by software development team.", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "bool" }, "acq_mode": { "value": "EEG", "section": "acq_config", - "readableName": "Acquisition Mode", + "name": "Acquisition Mode", "helpTip": "Specifies the hardware device(s) used for data collection. Default: EEG.", - "recommended_values": [ + "recommended": [ "EEG", "EEG/DSI-24", "Eyetracker", "EEG+Eyetracker", "EEG+Eyetracker:passive" ], + "editable": false, "type": "str" }, "trigger_type": { "value": "text", "section": "bci_config", - "readableName": "Trigger Stimulus Type", - "helpTip": "Specifies whether to use a picture or auditory stimulus to calibrate trigger latency. Default: text", - "recommended_values": [ + "name": "Trigger Stimulus Type", + "helpTip": "Specifies whether to use text, image or auditory stimulus to calibrate trigger latency. Default: text", + "recommended": [ "image", "text" ], + "editable": false, "type": "str" }, "k_folds": { "value": "10", - "section": "signal_config", - "readableName": "Number of Cross-Validation Folds", + "section": "model_config", + "name": "Number of Cross-Validation Folds", "helpTip": "Specifies the number of folds used for cross-validation when calculating AUC. Default: 10", - "recommended_values": "[10]", + "recommended": "[10]", + "editable": false, "type": "int" }, "trial_window": { "value": "0.0:0.5", - "section": "bci_config", - "readableName": "Trial Classification Window Length", + "section": "signal_config", + "name": "Trial Classification Window Length", "helpTip": "Specifies the window (in seconds) of the EEG data collection window after each stimulus presentation. Default: 0.0:0.5", - "recommended_values": [ + "recommended": [ "0.0:0.5", "0.0:0.8", "0.2:0.8" ], + "editable": false, "type": "range" }, "prestim_length": { "value": "1", - "section": "bci_config", - "readableName": "Prestimulus Window Length", + "section": "signal_config", + "name": "Prestimulus Window Length", "helpTip": "Specifies the length (in seconds) of the EEG data window to return before inquiry presentation. Default: 1", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "float" }, "alert_sound_file": { "value": "beep.wav", - "section": "bci_config", - "readableName": "Alert Tone", + "section": "task_config", + "name": "Alert Tone", "helpTip": "Specifies the path to an audio file to be played as an alert tone when experiments or offline analysis is complete. Default: beep.wav", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "filepath" }, "signal_model_path": { "value": "", - "section": "bci_config", - "readableName": "Signal Model Path", + "section": "model_config", + "name": "Signal Model Path", "helpTip": "Directory of the pre-trained signal model. This is often the the calibration session directory.", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "directorypath" }, "filter_high": { "value": "20", "section": "signal_config", - "readableName": "High Frequency Filter Cutoff", + "name": "High Frequency Filter Cutoff", "helpTip": "Specifies the frequency bound (in Hz) of the low-pass filter (high cutoff). Default: 20", - "recommended_values": [ + "recommended": [ "20", "45", "50" ], + "editable": false, "type": "float" }, "filter_low": { "value": "1", "section": "signal_config", - "readableName": "Low Frequency Filter Cutoff", + "name": "Low Frequency Filter Cutoff", "helpTip": "Specifies the frequency bound (in Hz) of the high-pass filter (low cutoff). Default: 1", - "recommended_values": [ + "recommended": [ "1", "2" ], + "editable": false, "type": "float" }, "filter_order": { "value": "2", "section": "signal_config", - "readableName": "Filter Order", + "name": "Filter Order", "helpTip": "Specifies the slope of the low-pass and high-pass filters. Default: 2", - "recommended_values": [ + "recommended": [ "2", "3" ], + "editable": false, "type": "float" }, "notch_filter_frequency": { "value": "60", "section": "signal_config", - "readableName": "Notch Filter Frequency", + "name": "Notch Filter Frequency", "helpTip": "Specifies the frequency (in Hz) of the notch filter used to remove electrical artifact from the surrounding environment. Default: 60", - "recommended_values": [ + "recommended": [ "59", "60" ], + "editable": false, "type": "float" }, "down_sampling_rate": { "value": "2", "section": "signal_config", - "readableName": "Downsampling Rate", + "name": "Downsampling Rate", "helpTip": "Specifies the decimation factor (integer only) for downsampling of EEG data. Default: 2", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "int" }, - "artifact_rejection": { - "value": "false", - "section": "artifact_rejection", - "readableName": "Artifact Rejection On/Off", - "helpTip": "If ‘true’, the system will detect and reject inquiries containing unwanted artifacts (e.g. blinks). This is not implemented in the current version of the system.", - "recommended_values": "", - "type": "bool" - }, - "high_voltage_threshold": { - "value": "false", - "section": "artifact_rejection", - "readableName": "High Voltage Threshold On/Off", - "helpTip": "If ‘true’, an upper voltage threshold will be set for artifact rejection. Detection of values above the specified threshold will trigger rejection of a inquiry. This is not implemented in the current version of the system.", - "recommended_values": "", - "type": "bool" - }, - "high_voltage_value": { - "value": "75000000.0", - "section": "artifact_rejection", - "readableName": "High Voltage Threshold Value", - "helpTip": "Specifies the high voltage threshold (in microvolts) for artifact rejection (High Voltage Threshold must be set to ‘true’). Default: 75E+6. This is not implemented in the current version of the system.", - "recommended_values": "", - "type": "float" - }, - "low_voltage_threshold": { - "value": "false", - "section": "artifact_rejection", - "readableName": "Low Voltage Threshold On/Off", - "helpTip": "If ‘true’, a lower voltage threshold will be set for artifact rejection. Detection of values below the specified threshold will trigger rejection of a inquiry. This is not implemented in the current version of the system.", - "recommended_values": "", - "type": "bool" - }, - "low_voltage_value": { - "value": "-0.000075", - "section": "artifact_rejection", - "readableName": "LowVoltage Threshold Value", - "helpTip": "Specifies the low voltage threshold (in microvolts) for artifact rejection (Low Voltage Threshold must be set to ‘true’). Default: -75E-6 This is not implemented in the current version of the system.", - "recommended_values": "", - "type": "float" - }, "summarize_session": { "value": "true", - "section": "bci_config", - "readableName": "Summarize Session Data", + "section": "task_config", + "name": "Summarize Session Data", "helpTip": "If 'true', writes an Excel file which summarizes the session data by charting evidence per inquiry.", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "bool" }, "parameter_location": { "value": "bcipy/parameters/parameters.json", - "section": "bci_config", - "readableName": "Parameter File", + "section": "task_config", + "name": "Parameter File", "helpTip": "Specifies the file containing the current system parameters. Default: bcipy/parameters/parameters.json", - "recommended_values": [ + "recommended": [ "parameters/parameters.json" ], + "editable": false, "type": "filepath" }, "data_save_loc": { "value": "data/", "section": "bci_config", - "readableName": "Data Save Location", + "name": "Data Save Location", "helpTip": "Specifies the location in which to save data files after each recording. This must be a directory ending with /. Default: data/", - "recommended_values": [ + "recommended": [ "data/" ], + "editable": false, "type": "directorypath" }, "full_screen": { "value": "false", - "section": "bci_config", - "readableName": "Full Screen Mode On/Off", + "section": "task_config", + "name": "Full Screen Mode", "helpTip": "If ‘true’, the task will be displayed in full screen mode. If ‘false’, the task will be displayed in a window.", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "bool" }, "window_height": { "value": "500", - "section": "bci_config", - "readableName": "Task Window Height", + "section": "task_config", + "name": "Task Window Height", "helpTip": "Specifies the height (in norm units) of the task window when not in full screen mode (Full Screen Mode On/Off must be set to ‘false’). See https://www.psychopy.org/general/units.html. Default: 500", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "int" }, "window_width": { "value": "500", - "section": "bci_config", - "readableName": "Task Window Width", + "section": "task_config", + "name": "Task Window Width", "helpTip": "Specifies the width (in norm units) of the task window when not in full screen mode (Full Screen Mode On/Off must be set to ‘false’). See https://www.psychopy.org/general/units.html. Default: 500", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "int" }, "matrix_rows": { "value": "5", - "section": "bci_config", - "readableName": "Matrix Rows", + "section": "matrix_task_config", + "name": "Matrix Rows", "helpTip": "Specifies the number of rows to use in the Matrix task. Rows * columns should be greater than or equal to the number of symbols.", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "int" }, "matrix_columns": { "value": "6", - "section": "bci_config", - "readableName": "Matrix Columns", + "section": "matrix_task_config", + "name": "Matrix Columns", "helpTip": "Specifies the number of columns to use in the Matrix task. Rows * columns should be greater than or equal to the number of symbols.", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "int" }, "matrix_width": { "value": "0.7", - "section": "bci_config", - "readableName": "Matrix Width (%)", + "section": "matrix_task_config", + "name": "Matrix Width (%)", "helpTip": "Specifies the max percentage of the display that the matrix grid should utilize. Must be between 0 and 1", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "float" }, "acq_show_viewer": { "value": "false", "section": "acq_config", - "readableName": " EEG Viewer On/Off", - "helpTip": "If ‘true’, the EEG signal viewer will be displayed.", - "recommended_values": "", + "name": " EEG Viewer", + "helpTip": "If ‘true’, the EEG signal viewer will be displayed along with the Task. Note: This has not been throughly tested and could cause timing issues. Use with caution.", + "recommended": "", + "editable": false, "type": "bool" }, "stim_screen": { "value": "0", "section": "bci_config", - "readableName": "Task Display Monitor", + "name": "Task Display Monitor", "helpTip": "Specifies which monitor to use for task display when two monitors are in use. If ‘0’, the task will be displayed on the primary monitor (with the EEG signal viewer on the second monitor, if EEG Viewer On/Off is set to ‘true’). If ‘1’, the opposite monitor assignment will be used.", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "int" }, "task_buffer_length": { "value": "2", - "section": "bci_config", - "readableName": "Inter-inquiry Interval", + "section": "task_config", + "name": "Inter-inquiry Interval", "helpTip": "Specifies the delay time (in seconds) between the final stimulus in one inquiry and the beginning (target stimulus or fixation cross) of the next inquiry in a task. Default: 2", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "float" }, "is_txt_stim": { "value": "true", "section": "bci_config", - "readableName": "Text Stimuli On/Off", - "helpTip": "If ‘true’, text stimuli will be used. If ‘false’, image stimuli will be loaded from the folder specified in Image Stimulus Folder.", - "recommended_values": "", + "name": "Text Stimuli", + "helpTip": "If ‘true’, text stimuli will be used. If ‘false’, image stimuli will be loaded from the folder specified in Image Stimulus Folder. Default: true", + "recommended": "", + "editable": false, "type": "bool" }, "path_to_presentation_images": { "value": "bcipy/static/images/rsvp/", "section": "bci_config", - "readableName": "Image Stimulus Folder", + "name": "Image Stimulus Folder", "helpTip": "Specifies the location of image files to be used as stimuli (Text Stimuli On/Off must be set to ‘false’). This must be a directory ending with /.", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "directorypath" }, "stim_space_char": { "value": "–", - "section": "bci_config", - "readableName": "Space Character", - "helpTip": "Specifies the text or Unicode character which represents a space during text-stimuli tasks. Default: –", - "recommended_values": [ + "section": "task_config", + "name": "Space Character", + "helpTip": "Specifies the text or Unicode character which represents a space during text-stimuli tasks. *Note* This only applies to RSVP Tasks. Default: –", + "recommended": [ "_", "–", "‒", "□" ], + "editable": false, "type": "str" }, "stim_order": { "value": "random", "section": "bci_config", - "readableName": "Stimuli Order", + "name": "Stimuli Order", "helpTip": "Specifies the ordering of stimuli in an inquiry. Default is random.", - "recommended_values": [ + "recommended": [ "alphabetical", "random" ], + "editable": false, "type": "str" }, "target_positions": { "value": "distributed", "section": "bci_config", - "readableName": "Target Positions", + "name": "Target Positions", "helpTip": "Specifies the positions of target stimuli in calibration task. Default is random.", - "recommended_values": [ + "recommended": [ "distributed", "random" ], + "editable": false, "type": "str" }, "nontarget_inquiries": { - "value": "10", + "value": "0", "section": "bci_config", - "readableName": "Percentage of Nontarget Inquiries", - "helpTip": "Specifies the percentage (0-100) of inquiries which target stimuli flashed is not in inquiry. Default is 10 percent.", - "recommended_values": "", + "name": "Percentage of Nontarget Inquiries", + "helpTip": "Specifies the percentage (0-100) of inquiries which target stimuli flashed is not in inquiry. Default is 0 percent.", + "recommended": "", + "editable": false, "type": "int" }, "stim_length": { "value": "10", - "section": "bci_config", - "readableName": "Stimuli Per inquiry", + "section": "task_config", + "name": "Stimuli Per inquiry", "helpTip": "Specifies the number of stimuli to present in each inquiry. Default: 10", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "int" }, "time_flash": { - "value": "0.25", - "section": "bci_config", - "readableName": "Stimulus Presentation Duration", - "helpTip": "Specifies the duration of time (in seconds) that each stimulus is displayed in an inquiry.", - "recommended_values": "", + "value": "0.2", + "section": "task_config", + "name": "Stimulus Presentation Duration", + "helpTip": "Specifies the duration of time (in seconds) that each stimulus is displayed in an inquiry. Default: 0.2", + "recommended": "", + "editable": false, "type": "float" }, "time_prompt": { "value": "1", - "section": "bci_config", - "readableName": "Time Prompt Stimuli (sec)", + "section": "task_config", + "name": "Time Prompt Stimuli (sec)", "helpTip": "The amount of time in seconds to present the target stimuli prompt in an inquiry.", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "float" }, "time_fixation": { "value": "0.5", - "section": "bci_config", - "readableName": "Time Fixation Stimuli (sec)", + "section": "task_config", + "name": "Time Fixation Stimuli (sec)", "helpTip": "The amount of time in seconds to present the fixation stimuli in an inquiry.", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "float" }, "time_vep_animation": { "value": "1.0", - "section": "bci_config", - "readableName": "Time VEP Animation (sec)", + "section": "vep_task_config", + "name": "Time VEP Animation (sec)", "helpTip": "The amount of time in seconds for the animation moving symbols to boxes.", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "float" }, "stim_jitter": { "value": "0.0", "section": "bci_config", - "readableName": "Stimulus Presentation Jitter (sec)", + "name": "Stimulus Presentation Jitter (sec)", "helpTip": "Specifies the time (sec) to jitter presentation rates. Default: 0.0", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "float" }, - "stim_pos_x": { + "rsvp_stim_pos_x": { "value": "0", - "section": "bci_config", - "readableName": "Stimulus Position Horizontal", + "section": "rsvp_task_config", + "name": "RSVP Stimulus Position Horizontal", "helpTip": "Specifies the center point of the stimulus position along the X axis. Possible values range from -1 to 1, with 0 representing the center. Default: 0", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "float" }, - "stim_pos_y": { + "rsvp_stim_pos_y": { "value": "0", - "section": "bci_config", - "readableName": "Stimulus Position Vertical", + "section": "rsvp_task_config", + "name": "RSVP Stimulus Position Vertical", "helpTip": "Specifies the center point of the stimulus position along the Y axis. Possible values range from -1 to 1, with 0 representing the center. Default: 0", - "recommended_values": "", + "recommended": "", + "editable": false, + "type": "float" + }, + "matrix_stim_pos_x": { + "value": "-0.6", + "section": "matrix_task_config", + "name": "Matrix Stimulus Starting Position Horizontal", + "helpTip": "Specifies the center point of the stimulus position along the X axis. Possible values range from -1 to 1, with 0 representing the center. Default: -0.6", + "recommended": "", + "editable": false, + "type": "float" + }, + "matrix_stim_pos_y": { + "value": "0.4", + "section": "matrix_task_config", + "name": "Matrix Stimulus Starting Position Vertical", + "helpTip": "Specifies the center point of the stimulus position along the Y axis. Possible values range from -1 to 1, with 0 representing the center. Default: 0.4", + "recommended": "", + "editable": false, "type": "float" }, "font": { - "value": "Overpass Mono Medium", - "section": "bci_config", - "readableName": "Font", - "helpTip": "Specifies the font used for all text stimuli. Default: Consolas", - "recommended_values": [ + "value": "Courier New", + "section": "task_config", + "name": "Font", + "helpTip": "Specifies the font used for all text stimuli. Default: Courier New", + "recommended": [ "Courier New", "Lucida Sans", + "Arial", "Consolas" ], + "editable": false, "type": "str" }, - "stim_height": { - "value": "0.5", - "section": "bci_config", - "readableName": "Stimulus Size", - "helpTip": "Specifies the height of text stimuli. See https://www.psychopy.org/general/units.html. Default: 0.5", - "recommended_values": "", + "rsvp_stim_height": { + "value": "0.4", + "section": "rsvp_task_config", + "name": "RSVP Stimulus Size", + "helpTip": "Specifies the height of text stimuli. See https://www.psychopy.org/general/units.html. Default: 0.4", + "recommended": "", + "editable": false, + "type": "float" + }, + "vep_stim_height": { + "value": "0.1", + "section": "vep_task_config", + "name": "VEP Stimulus Size", + "helpTip": "Specifies the height of text stimuli. See https://www.psychopy.org/general/units.html. Default: 0.1", + "recommended": "", + "editable": false, + "type": "float" + }, + "matrix_stim_height": { + "value": "0.17", + "section": "matrix_task_config", + "name": "Matrix Stimulus Size", + "helpTip": "Specifies the height of text stimuli. See https://www.psychopy.org/general/units.html. Default: 0.17", + "recommended": "", + "editable": false, "type": "float" }, + "matrix_keyboard_layout": { + "value": "ALP", + "section": "matrix_task_config", + "name": "Matrix Keyboard Layout", + "helpTip": "Specifies the keyboard layout to use for the Matrix task. Default: ALP (Alphabetical)", + "recommended": [ + "ALP", + "QWERTY", + "FREQ" + ], + "editable": false, + "type": "str" + }, "stim_color": { "value": "white", "section": "bci_config", - "readableName": "Stimulus Color", + "name": "Stimulus Color", "helpTip": "Specifies the color of text stimuli within the RSVP stream. Default: white", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "str" }, "target_color": { "value": "white", "section": "bci_config", - "readableName": "Target Color", + "name": "Target Color", "helpTip": "Specifies the color of target characters during calibration. Default: white", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "str" }, "fixation_color": { "value": "red", "section": "bci_config", - "readableName": "Fixation Cross Color", + "name": "Fixation Cross Color", "helpTip": "Specifies the color of the fixation cross that appears before each inquiry. Default: red", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "str" }, "background_color": { "value": "black", - "section": "bci_config", - "readableName": "Task Background Color", + "section": "task_config", + "name": "Task Background Color", "helpTip": "Specifies the color of the task background. Default: black", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "str" }, "info_pos_x": { "value": "0", - "section": "bci_config", - "readableName": "Position Text (X)", + "section": "task_config", + "name": "Position Text (X)", "helpTip": "Position Text (X)", - "recommended_values": [ + "recommended": [ "0" ], + "editable": false, "type": "float" }, "info_pos_y": { "value": "-0.75", - "section": "bci_config", - "readableName": "Position Text (Y)", + "section": "task_config", + "name": "Position Text (Y)", "helpTip": "Position Text (Y)", - "recommended_values": [ + "recommended": [ "-0.75" ], + "editable": false, "type": "float" }, "info_text": { "value": "", - "section": "bci_config", - "readableName": "Text below main presentation", + "section": "task_config", + "name": "Text below main presentation", "helpTip": "Text below main presentation", - "recommended_values": [ + "recommended": [ "", "Demo Text", "DEMO" ], + "editable": false, "type": "str" }, "info_height": { "value": "0.1", - "section": "bci_config", - "readableName": "Text below main presentation height", + "section": "task_config", + "name": "Text below main presentation height", "helpTip": "Specifies the height of info text stimuli. See https://www.psychopy.org/general/units.html. Default: 0.1", - "recommended_values": [ + "recommended": [ "0.1" ], + "editable": false, "type": "float" }, "info_color": { "value": "white", - "section": "bci_config", - "readableName": "Color Text", + "section": "task_config", + "name": "Color Text", "helpTip": "Color Text", - "recommended_values": [ + "recommended": [ "white", "black", "blue" ], + "editable": false, "type": "str" }, "task_text": { "value": "HELLO_WORLD", - "section": "bci_config", - "readableName": "Target Phrase", - "helpTip": "Specifies the target phrase displayed at the top of the screen during text-stimuli copy/spelling tasks.", - "recommended_values": "", + "section": "online_config", + "name": "Target Phrase", + "helpTip": "Specifies the target phrase displayed at the top of the screen during text-stimuli copy/spelling tasks. If copy_phrases_location is provided, this parameter will be ignored and overwritten in parameter saving.", + "recommended": "", + "editable": true, "type": "str" }, - "task_height": { + "copy_phrases_location": { + "value": "bcipy/parameters/experiment/phrases.json", + "section": "online_config", + "name": "Copy Phrases Location", + "helpTip": "Specifies a list of copy phrases to execute during Task Orchestration. If provided, any copy phrases in the protocol will be executed in order pulling task text and starting locations from the file.", + "recommended": "", + "editable": true, + "type": "filepath" + }, + "rsvp_task_height": { "value": "0.1", - "section": "bci_config", - "readableName": "Task Text Size", + "section": "rsvp_task_config", + "name": "RSVP Task Text Size", + "helpTip": "Specifies the height of task-specific text, e.g. #/100 in calibration and target phrase in copy/spelling. See https://www.psychopy.org/general/units.html. Default: 0.1", + "recommended": [ + "0.1" + ], + "editable": false, + "type": "float" + }, + "vep_task_height": { + "value": "0.1", + "section": "vep_task_config", + "name": "VEP Task Text Size", "helpTip": "Specifies the height of task-specific text, e.g. #/100 in calibration and target phrase in copy/spelling. See https://www.psychopy.org/general/units.html. Default: 0.1", - "recommended_values": [ + "recommended": [ "0.1" ], + "editable": false, + "type": "float" + }, + "matrix_task_height": { + "value": "0.1", + "section": "matrix_task_config", + "name": "Matrix Task Text Size", + "helpTip": "Specifies the height of task-specific text, e.g. #/100 in calibration and target phrase in copy/spelling. See https://www.psychopy.org/general/units.html. Default: 0.1", + "recommended": [ + "0.1" + ], + "editable": false, "type": "float" }, "task_color": { "value": "white", "section": "bci_config", - "readableName": "Task Text Color", + "name": "Task Text Color", "helpTip": "Specifies the color of task-specific text, e.g. #/100 in calibration and target phrase in copy/spelling. Default: white", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "str" }, - "task_padding": { + "rsvp_task_padding": { + "value": "0.05", + "section": "bci_config", + "name": "RSVP Task Bar Padding", + "helpTip": "Specifies the padding around the task bar text for RSVP tasks. Default: 0.05", + "recommended": [ + "0.05" + ], + "editable": false, + "type": "float" + }, + "matrix_task_padding": { "value": "0.05", "section": "bci_config", - "readableName": "Task Bar Padding", - "helpTip": "Specifies the padding around the task bar text. Default: 0.05", - "recommended_values": [ + "name": "Matrix Task Bar Padding", + "helpTip": "Specifies the padding around the task bar text for Matrix Tasks. Default: 0.05", + "recommended": [ "0.05" ], + "editable": false, "type": "float" }, "stim_number": { - "value": "100", + "value": "5", "section": "bci_config", - "readableName": "Number of Calibration inquiries", + "name": "Number of Calibration inquiries", "helpTip": "Specifies the number of inquiries to present in a calibration session. Default: 100", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "int" }, "enable_breaks": { "value": "false", "section": "bci_config", - "readableName": "Automatic Calibration Breaks On/Off", + "name": "Automatic Calibration Breaks", "helpTip": "If ‘true’, automatic breaks will be added to the calibration session. If ‘false’, automatic breaks will not occur, but the session can still be paused by pressing Space.", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "bool" }, "break_len": { "value": "30", "section": "bci_config", - "readableName": "Automatic Calibration Break Length", + "name": "Automatic Calibration Break Length", "helpTip": "Specifies the length (in seconds) of automatic calibration breaks (Automatic Calibration Breaks On/Off must be set to ‘true’).", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "int" }, "trials_before_break": { "value": "20", "section": "bci_config", - "readableName": "Automatic Calibration Break Timing", + "name": "Automatic Calibration Break Timing", "helpTip": "Specifies the number of inquiries between automatic calibration breaks (Automatic Calibration Breaks On/Off must be set to ‘true’).", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "int" }, "break_message": { "value": "Take a break!", "section": "bci_config", - "readableName": "Automatic Calibration Break Message", + "name": "Automatic Calibration Break Message", "helpTip": "Specifies the message displayed during automatic calibration breaks (Automatic Calibration Breaks On/Off must be set to ‘true’).", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "str" }, - "min_inq_len": { - "value": "1", - "section": "bci_config", - "readableName": "Minimum Inquiry Length", - "helpTip": "The minimum number of inquiries to present in spelling tasks", - "recommended_values": [ - "1" - ], - "type": "int" - }, "max_inq_len": { "value": "50", - "section": "bci_config", - "readableName": "Maximum Inquiry Length", + "section": "online_config", + "name": "Maximum Inquiry Length", "helpTip": "Specifies the maximum number of inquiries to present in copy/spelling tasks. The task will end if this number is reached.", - "recommended_values": [ + "recommended": [ "20", "25" ], + "editable": false, "type": "int" }, "max_minutes": { "value": "20", - "section": "bci_config", - "readableName": "Maximum Task Length (Time)", + "section": "online_config", + "name": "Maximum Task Length (Time)", "helpTip": "Specifies the time limit (in minutes) for copy/spelling tasks. The task will end if this time limit is reached.", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "int" }, "max_selections": { "value": "25", - "section": "bci_config", - "readableName": "Maximum Number of Selections", + "section": "online_config", + "name": "Maximum Number of Selections", "helpTip": "The maximum number of selections for copy/spelling tasks. The task will end if this number is reached.", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "int" }, "max_incorrect": { "value": "5", "section": "bci_config", - "readableName": "Maximum Number of Incorrect Selections", + "name": "Maximum Number of Incorrect Selections", "helpTip": "The maximum number of consecutive incorrect selections for copy/spelling tasks. The task will end if this number is reached.", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "int" }, "decision_threshold": { "value": "0.8", - "section": "bci_config", - "readableName": "Decision Threshold", + "section": "online_config", + "name": "Decision Threshold", "helpTip": "Specifies the decision threshold for stimulus selection in copy/spelling class. If the posterior probability (combining EEG and language model evidence) for a stimulus reaches this threshold, it will be selected. Possible value range: 0.0-1.0. Default: 0.8", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "float" }, - "min_inq_per_series": { + "min_inq_len": { "value": "1", - "section": "bci_config", - "readableName": "Minimum Inquiries Per Series", + "section": "online_config", + "name": "Minimum Inquiries Per Series", "helpTip": "Specifies the minimum number of inquiries to present before making a decision in copy/spelling tasks. Default: 1", - "recommended_values": [ + "recommended": [ "1" ], + "editable": false, "type": "int" }, "max_inq_per_series": { "value": "11", - "section": "bci_config", - "readableName": "Maximum Inquiries Per Series", + "section": "online_config", + "name": "Maximum Inquiries Per Series", "helpTip": "Specifies the maximum number of inquiries to present before making a decision in copy/spelling tasks.", - "recommended_values": [ + "recommended": [ "10", "15" ], + "editable": false, "type": "int" }, "backspace_always_shown": { "value": "true", - "section": "bci_config", - "readableName": "Always Show Backspace On/Off", + "section": "lang_model_config", + "name": "Always Show Backspace", "helpTip": "If ‘true’, the backspace character will be included in every inquiry in text-stimuli copy/spelling tasks. If ‘false’, the backspace character will be treated the same as other characters, appearing in inquiries only when warranted by EEG/language model evidence.", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "bool" }, "spelled_letters_count": { "value": "0", - "section": "bci_config", - "readableName": "Pre-Selected Letters Count", + "section": "lang_model_config", + "name": "Pre-Selected Letters Count", "helpTip": "Specifies the number of letters in the target phrase that are already typed when the task begins, e.g. if the target phrase is “THE_DOG”, setting this parameter to ‘4’ would display “THE_” as the typed string, and the user would begin typing with D. If ‘0’, the typed string will be blank.", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "int" }, "lang_model_type": { "value": "UNIFORM", "section": "lang_model_config", - "readableName": "Language Model Type", + "name": "Language Model Type", "helpTip": "Specifies which language model to use. Default: UNIFORM", - "recommended_values": [ + "recommended": [ "UNIFORM", "CAUSAL", "KENLM", "MIXTURE", "ORACLE" ], + "editable": false, "type": "str" }, "lm_backspace_prob": { "value": "0.0", - "section": "bci_config", - "readableName": "Backspace Probability", + "section": "lang_model_config", + "name": "Backspace Probability", "helpTip": "Specifies the minimum probability assigned to the backspace character in the language model. Possible value range: 0.0-1.0. Default: 0.0", - "recommended_values": "0.05", + "recommended": "0.05", + "editable": false, "type": "float" }, "show_preview_inquiry": { "value": "false", - "section": "bci_config", - "readableName": "Preview Inquiry On/Off", - "helpTip": "If ‘true’, the inquiry will be previewed as applicable for the task. *Note* Not all tasks will have this enabled!", - "recommended_values": "", + "section": "task_config", + "name": "Preview Inquiry Display", + "helpTip": "If ‘true’, the inquiry will be previewed as applicable for the Task. *Note* Not all tasks will have this enabled!", + "recommended": "", + "editable": false, "type": "bool" }, "preview_inquiry_error_prob": { "value": "0.05", "section": "bci_config", - "readableName": "Preview Inquiry Button Error Probability", + "name": "Preview Inquiry Button Error Probability", "helpTip": "Specifies the probability of a button error during inquiry preview. Default: 0.05", - "recommended_values": "", + "recommended": "", + "editable": true, "type": "float" }, "preview_inquiry_progress_method": { "value": "0", - "section": "bci_config", - "readableName": "Preview Inquiry Progression Method", + "section": "task_config", + "name": "Preview Inquiry Progression Method", "helpTip": "If show_preview_inquiry true, this will determine how to proceed after a key hit. 0 = preview only; 1 = press to confirm; 2 = press to skip to another inquiry", - "recommended_values": [ + "recommended": [ "0", "1", "2" ], + "editable": false, "type": "int" }, "preview_inquiry_length": { "value": "5", - "section": "bci_config", - "readableName": "Preview Inquiry Display Length", + "section": "task_config", + "name": "Preview Inquiry Display Length", "helpTip": "Length of time in seconds to present an inquiry preview to the user.", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "float" }, "preview_inquiry_key_input": { "value": "return", - "section": "bci_config", - "readableName": "Preview Inquiry Display Key Input Method", + "section": "task_config", + "name": "Preview Inquiry Display Key Input Method", "helpTip": "Defines the key used to engage with inquiry preview.", - "recommended_values": [ + "recommended": [ "space", "escape", "return" ], + "editable": false, "type": "str" }, "preview_inquiry_isi": { "value": "1", - "section": "bci_config", - "readableName": "Preview Inquiry Inter-Stimulus Interval", + "section": "task_config", + "name": "Preview Inquiry Inter-Stimulus Interval", "helpTip": "The time between previewing an inquiry and the start of an inquiry.", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "float" }, "show_feedback": { "value": "true", - "section": "bci_config", - "readableName": "Feedback On/Off", - "helpTip": "If ‘true’, feedback will be shown after each inquiry.", - "recommended_values": "", + "section": "task_config", + "name": "Feedback Display", + "helpTip": "If ‘true’, feedback will be shown after each inquiry. If ‘false’, feedback will not be shown. *Note* Not all tasks will have this enabled!", + "recommended": "", + "editable": false, "type": "bool" }, "feedback_duration": { "value": "2", - "section": "bci_config", - "readableName": "Feedback Time (seconds)", + "section": "task_config", + "name": "Feedback Time (seconds)", "helpTip": "Specifies the length in time (seconds) feedback will be displayed after each inquiry in registered tasks (ex. RSVP Copy Phrase). Default: 2", - "recommended_values": "", + "recommended": "", + "editable": false, "type": "float" }, "psd_method": { "value": "Welch", - "section": "bci_config", - "readableName": "Power Spectral Density Method", + "section": "signal_config", + "name": "Power Spectral Density Method", "helpTip": "Specifies the method used to approximate power spectral density bands (Welch or MultiTaper). Default: Welch", - "recommended_values": [ + "recommended": [ "Welch", "MutliTaper" ], + "editable": false, "type": "str" } } \ No newline at end of file diff --git a/bcipy/signal/evaluate/artifact.py b/bcipy/signal/evaluate/artifact.py index ed7f5be78..19ec6180f 100644 --- a/bcipy/signal/evaluate/artifact.py +++ b/bcipy/signal/evaluate/artifact.py @@ -5,14 +5,13 @@ from typing import Union, List, Tuple, Optional from logging import getLogger -log = getLogger(__name__) - from bcipy.config import ( DEFAULT_PARAMETER_FILENAME, RAW_DATA_FILENAME, TRIGGER_FILENAME, DEFAULT_DEVICE_SPEC_FILENAME, - BCIPY_ROOT + BCIPY_ROOT, + SESSION_LOG_FILENAME ) from bcipy.helpers.acquisition import analysis_channels from bcipy.helpers.load import ( @@ -29,6 +28,7 @@ from bcipy.acquisition.devices import DeviceSpec import mne +log = getLogger(SESSION_LOG_FILENAME) mne.set_log_level('WARNING') from mne import Annotations @@ -40,7 +40,7 @@ class DefaultArtifactParameters(Enum): """ # Voltage - PEAK_THRESHOLD = 100e-7 + PEAK_THRESHOLD = 75e-7 PEAK_MIN_DURATION = 0.005 FLAT_THRESHOLD = 0.5e-6 FLAT_MIN_DURATION = 0.1 @@ -133,6 +133,12 @@ class ArtifactDetection: detect_voltage : bool Whether to detect voltage artifacts. Defaults to True. + + semi_automatic : bool + Whether to use a semi-automatic approach to artifact detection. Defaults to False. + + session_triggers : tuple + A tuple of lists containing the trigger type, trigger timing, and trigger label for the session. """ supported_units: List[str] = ['volts', 'microvolts'] @@ -237,13 +243,13 @@ def label_artifacts( voltage = self.label_voltage_events() if voltage: voltage_annotations, bad_channels = voltage - log.info(f'Voltage violation events found: {len(voltage_annotations)}') if bad_channels: # add bad channel labels to the raw data self.mne_data.info['bads'] = bad_channels log.info(f'Bad channels detected: {bad_channels}') if voltage_annotations: + log.info(f'Voltage violation events found: {len(voltage_annotations)}') annotations += voltage_annotations self.voltage_annotations = voltage_annotations @@ -251,8 +257,9 @@ def label_artifacts( eog = self.label_eog_events() if eog: eog_annotations, eog_events = eog - log.info(f'EOG events found: {len(eog_events)}') + if eog_annotations: + log.info(f'EOG events found: {len(eog_events)}') annotations += eog_annotations self.eog_annotations = eog_annotations @@ -431,8 +438,10 @@ def label_voltage_events( # combine the bad channels bad_channels = bad_channels1 + bad_channels2 - if len(onsets) > 0 or len(bad_channels) > 0: + if len(onsets) > 0 and len(bad_channels) > 0: return mne.Annotations(onsets, durations, descriptions), bad_channels + elif len(bad_channels) > 0: + return None, bad_channels return None diff --git a/bcipy/signal/model/__init__.py b/bcipy/signal/model/__init__.py index 6e9e0a4fe..d95f3d026 100644 --- a/bcipy/signal/model/__init__.py +++ b/bcipy/signal/model/__init__.py @@ -1,13 +1,10 @@ from bcipy.signal.model.base_model import SignalModel, ModelEvaluationReport from bcipy.signal.model.pca_rda_kde.pca_rda_kde import PcaRdaKdeModel from bcipy.signal.model.rda_kde.rda_kde import RdaKdeModel -from bcipy.signal.model.gaussian_mixture.gaussian_mixture import GazeModelIndividual, GazeModelCombined __all__ = [ "SignalModel", "PcaRdaKdeModel", "RdaKdeModel", - "GazeModelIndividual", - "GazeModelCombined", "ModelEvaluationReport", ] diff --git a/bcipy/signal/model/base_model.py b/bcipy/signal/model/base_model.py index 8a854f72b..828e3bb1e 100644 --- a/bcipy/signal/model/base_model.py +++ b/bcipy/signal/model/base_model.py @@ -16,10 +16,14 @@ class SignalModelMetadata(NamedTuple): device_spec: DeviceSpec # device used to train the model transform: Composition # data preprocessing steps evidence_type: str = None # optional; type of evidence produced + auc: float = None # optional; area under the curve + balanced_accuracy: float = None # optional; balanced accuracy class SignalModel(ABC): + name = "undefined" + @property def metadata(self) -> SignalModelMetadata: """Information regarding the data and parameters used to train the diff --git a/bcipy/signal/model/cross_validation.py b/bcipy/signal/model/cross_validation.py index f2ecff702..238229b0a 100644 --- a/bcipy/signal/model/cross_validation.py +++ b/bcipy/signal/model/cross_validation.py @@ -2,10 +2,11 @@ import scipy.optimize from sklearn import metrics +from bcipy.config import SESSION_LOG_FILENAME import logging -log = logging.getLogger(__name__) +log = logging.getLogger(SESSION_LOG_FILENAME) def cost_cross_validation_auc(model, opt_el, x, y, param, k_folds=10, @@ -14,7 +15,7 @@ def cost_cross_validation_auc(model, opt_el, x, y, param, k_folds=10, Cost function: given a particular architecture (model). Fits the parameters to the folds with leave one fold out procedure. Calculates scores for the validation fold. Concatenates all calculated scores - together and returns a -AUC vale. + together and returns a -AUC value. Args: model(pipeline): model to be iterated on opt_el(int): number of the element in pipeline to be optimized diff --git a/bcipy/signal/model/density_estimation.py b/bcipy/signal/model/density_estimation.py index 5422abcd4..7e88442b9 100644 --- a/bcipy/signal/model/density_estimation.py +++ b/bcipy/signal/model/density_estimation.py @@ -5,6 +5,8 @@ from scipy.stats import iqr from sklearn.neighbors import KernelDensity +from bcipy.config import SESSION_LOG_FILENAME + class KernelDensityEstimate: """Kernel density estimate using scikit learn. @@ -16,7 +18,7 @@ class KernelDensityEstimate: def __init__(self, scores: Optional[np.array] = None, kernel="gaussian", num_cls=2): bandwidth = 1.0 if scores is None else self._compute_bandwidth(scores, scores.shape[0]) - self.logger = logging.getLogger(__name__) + self.logger = logging.getLogger(SESSION_LOG_FILENAME) self.logger.info(f"KDE. bandwidth={bandwidth}, kernel={kernel}") self.num_cls = num_cls self.list_den_est = [KernelDensity(bandwidth=bandwidth, kernel=kernel) for _ in range(self.num_cls)] diff --git a/bcipy/signal/model/dimensionality_reduction.py b/bcipy/signal/model/dimensionality_reduction.py index 2a4d4bfc8..288cc3da3 100644 --- a/bcipy/signal/model/dimensionality_reduction.py +++ b/bcipy/signal/model/dimensionality_reduction.py @@ -4,6 +4,8 @@ import numpy as np from sklearn.decomposition import PCA +from bcipy.config import SESSION_LOG_FILENAME + class ChannelWisePrincipalComponentAnalysis: """Creates a PCA object for each channel. @@ -27,7 +29,7 @@ class ChannelWisePrincipalComponentAnalysis: def __init__(self, n_components: Optional[float] = None, random_state: Optional[int] = None, num_ch: int = 1): self.num_ch = num_ch self.list_pca = [PCA(n_components=n_components, random_state=random_state) for _ in range(self.num_ch)] - self.logger = logging.getLogger(__name__) + self.logger = logging.getLogger(SESSION_LOG_FILENAME) self.logger.info(f"PCA. n_components={n_components}, random_state={random_state}, num_ch={num_ch}") def fit(self, x: np.ndarray, y: Optional[np.ndarray] = None) -> None: diff --git a/bcipy/signal/model/gaussian_mixture/__init__.py b/bcipy/signal/model/gaussian_mixture/__init__.py index 1a5dc0dfe..e69de29bb 100644 --- a/bcipy/signal/model/gaussian_mixture/__init__.py +++ b/bcipy/signal/model/gaussian_mixture/__init__.py @@ -1,6 +0,0 @@ -from .gaussian_mixture import GazeModelCombined, GazeModelIndividual - -__all__ = [ - "GazeModelCombined", - "GazeModelIndividual", -] diff --git a/bcipy/signal/model/gaussian_mixture/gaussian_mixture.py b/bcipy/signal/model/gaussian_mixture/gaussian_mixture.py index 29307b84f..0f71f6c94 100644 --- a/bcipy/signal/model/gaussian_mixture/gaussian_mixture.py +++ b/bcipy/signal/model/gaussian_mixture/gaussian_mixture.py @@ -5,7 +5,6 @@ from sklearn.mixture import GaussianMixture from bcipy.helpers.stimuli import GazeReshaper from sklearn.model_selection import cross_val_score # noqa -from sklearn.utils.estimator_checks import check_estimator # noqa import scipy.stats as stats from typing import Optional @@ -13,6 +12,7 @@ class GazeModelIndividual(SignalModel): reshaper = GazeReshaper() + name = "gaze_model_individual" def __init__(self, num_components=2): self.num_components = num_components # number of gaussians to fit @@ -80,6 +80,7 @@ def load(self, path: Path): class GazeModelCombined(SignalModel): '''Gaze model that uses all symbols to fit a single Gaussian ''' reshaper = GazeReshaper() + name = "gaze_model_combined" def __init__(self, num_components=1): self.num_components = num_components # number of gaussians to fit diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 1c26f335a..bbbda64e4 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -1,42 +1,43 @@ # mypy: disable-error-code="attr-defined" -# needed for the ERPTransformParams import json import logging +import subprocess from pathlib import Path -from typing import Tuple +from typing import List import numpy as np -from matplotlib.figure import Figure + from sklearn.metrics import balanced_accuracy_score from sklearn.model_selection import train_test_split import bcipy.acquisition.devices as devices from bcipy.config import (BCIPY_ROOT, DEFAULT_DEVICE_SPEC_FILENAME, - DEFAULT_PARAMETERS_PATH, MATRIX_IMAGE_FILENAME, - STATIC_AUDIO_PATH, TRIGGER_FILENAME) + DEFAULT_PARAMETERS_PATH, MATRIX_IMAGE_FILENAME, DEFAULT_DEVICES_PATH, + TRIGGER_FILENAME, SESSION_LOG_FILENAME) from bcipy.helpers.acquisition import analysis_channels, raw_data_filename from bcipy.helpers.load import (load_experimental_data, load_json_parameters, load_raw_data) +from bcipy.gui.alert import confirm from bcipy.helpers.parameters import Parameters from bcipy.helpers.save import save_model -from bcipy.helpers.stimuli import play_sound, update_inquiry_timing +from bcipy.helpers.stimuli import update_inquiry_timing from bcipy.helpers.symbols import alphabet from bcipy.helpers.system_utils import report_execution_time from bcipy.helpers.triggers import TriggerType, trigger_decoder from bcipy.helpers.visualization import (visualize_centralized_data, - visualize_erp, visualize_gaze, + visualize_gaze, visualize_gaze_accuracies, visualize_gaze_inquiries, visualize_results_all_symbols) from bcipy.preferences import preferences from bcipy.signal.model.base_model import SignalModel, SignalModelMetadata -from bcipy.signal.model.gaussian_mixture import (GazeModelCombined, - GazeModelIndividual) +from bcipy.signal.model.gaussian_mixture.gaussian_mixture import (GazeModelCombined, + GazeModelIndividual) from bcipy.signal.model.pca_rda_kde import PcaRdaKdeModel from bcipy.signal.process import (ERPTransformParams, extract_eye_info, filter_inquiries, get_default_transform) -log = logging.getLogger(__name__) +log = logging.getLogger(SESSION_LOG_FILENAME) logging.basicConfig(level=logging.INFO, format="[%(threadName)-9s][%(asctime)s][%(name)s][%(levelname)s]: %(message)s") @@ -74,7 +75,7 @@ def subset_data(data: np.ndarray, labels: np.ndarray, test_size: float, random_s return train_data, test_data, train_labels, test_labels -def analyze_erp(erp_data, parameters, device_spec, data_folder, estimate_balanced_acc, +def analyze_erp(erp_data, parameters, device_spec, data_folder, estimate_balanced_acc: bool, save_figures=False, show_figures=False): """Analyze ERP data and return/save the ERP model. Extract relevant information from raw data object. @@ -182,39 +183,46 @@ def analyze_erp(erp_data, parameters, device_spec, data_folder, estimate_balance # train and save the model as a pkl file log.info("Training model. This will take some time...") model = PcaRdaKdeModel(k_folds=k_folds) - model.fit(data, labels) - model.metadata = SignalModelMetadata(device_spec=device_spec, - transform=default_transform) - log.info(f"Training complete [AUC={model.auc:0.4f}]. Saving data...") + try: + model.fit(data, labels) + model.metadata = SignalModelMetadata(device_spec=device_spec, + transform=default_transform, + evidence_type="ERP", + auc=model.auc) + log.info(f"Training complete [AUC={model.auc:0.4f}]. Saving data...") + except Exception as e: + log.error(f"Error training model: {e}") + + try: + # Using an 80/20 split, report on balanced accuracy + if estimate_balanced_acc: + train_data, test_data, train_labels, test_labels = subset_data(data, labels, test_size=0.2) + dummy_model = PcaRdaKdeModel(k_folds=k_folds) + dummy_model.fit(train_data, train_labels) + probs = dummy_model.predict_proba(test_data) + preds = probs.argmax(-1) + score = balanced_accuracy_score(test_labels, preds) + log.info(f"Balanced acc with 80/20 split: {score}") + model.metadata.balanced_accuracy = score + del dummy_model, train_data, test_data, train_labels, test_labels, probs, preds + + except Exception as e: + log.error(f"Error calculating balanced accuracy: {e}") save_model(model, Path(data_folder, f"model_{model.auc:0.4f}.pkl")) preferences.signal_model_directory = data_folder - # Using an 80/20 split, report on balanced accuracy - if estimate_balanced_acc: - train_data, test_data, train_labels, test_labels = subset_data(data, labels, test_size=0.2) - dummy_model = PcaRdaKdeModel(k_folds=k_folds) - dummy_model.fit(train_data, train_labels) - probs = dummy_model.predict_proba(test_data) - preds = probs.argmax(-1) - score = balanced_accuracy_score(test_labels, preds) - log.info(f"Balanced acc with 80/20 split: {score}") - del dummy_model, train_data, test_data, train_labels, test_labels, probs, preds - - # this should have uncorrected trigger timing for display purposes - figure_handles = visualize_erp( - erp_data, - channel_map, - trigger_timing, - labels, - trial_window, - transform=default_transform, - plot_average=True, - plot_topomaps=True, - save_path=data_folder if save_figures else None, - show=show_figures - ) - return model, figure_handles + if save_figures or show_figures: + cmd = f'bcipy-erp-viz --session_path "{data_folder}" --parameters "{parameters["parameter_location"]}"' + if save_figures: + cmd += ' --save' + if show_figures: + cmd += ' --show' + subprocess.run( + cmd, + shell=True + ) + return model def analyze_gaze( @@ -248,15 +256,13 @@ def analyze_gaze( "Individual": Fits a separate Gaussian for each symbol. Default model "Centralized": Uses data from all symbols to fit a single centralized Gaussian """ - figures = [] - figure_handles = visualize_gaze( + visualize_gaze( gaze_data, save_path=save_figures, img_path=f'{data_folder}/{MATRIX_IMAGE_FILENAME}', show=show_figures, raw_plot=plot_points, ) - figures.extend(figure_handles) channels = gaze_data.channels type_amp = gaze_data.daq_type @@ -347,7 +353,7 @@ def analyze_gaze( means, covs = model.evaluate(test_re) # Visualize the results: - figure_handles = visualize_gaze_inquiries( + visualize_gaze_inquiries( le, re, means, covs, save_path=save_figures, @@ -355,7 +361,6 @@ def analyze_gaze( show=show_figures, raw_plot=plot_points, ) - figures.extend(figure_handles) left_eye_all.append(le) right_eye_all.append(re) means_all.append(means) @@ -399,22 +404,20 @@ def analyze_gaze( print(f"Overall accuracy: {accuracy:.2f}") # Plot all accuracies as bar plot: - figure_handles = visualize_gaze_accuracies(acc_all_symbols, accuracy, save_path=None, show=True) - figures.extend(figure_handles) + visualize_gaze_accuracies(acc_all_symbols, accuracy, save_path=None, show=True) if model_type == "Centralized": cent_left = np.concatenate(np.array(centralized_data_left, dtype=object)) cent_right = np.concatenate(np.array(centralized_data_right, dtype=object)) # Visualize the results: - figure_handles = visualize_centralized_data( + visualize_centralized_data( cent_left, cent_right, save_path=save_figures, img_path=f'{data_folder}/{MATRIX_IMAGE_FILENAME}', show=show_figures, raw_plot=plot_points, ) - figures.extend(figure_handles) # Fit the model: model.fit(cent_left) @@ -427,7 +430,7 @@ def analyze_gaze( le = preprocessed_data[sym][0] re = preprocessed_data[sym][1] # Visualize the results: - figure_handles = visualize_gaze_inquiries( + visualize_gaze_inquiries( le, re, means, covs, save_path=save_figures, @@ -435,13 +438,13 @@ def analyze_gaze( show=show_figures, raw_plot=plot_points, ) - figures.extend(figure_handles) left_eye_all.append(le) right_eye_all.append(re) means_all.append(means) covs_all.append(covs) - fig_handles = visualize_results_all_symbols( + # TODO: add visualizations to subprocess + visualize_results_all_symbols( left_eye_all, right_eye_all, means_all, covs_all, img_path=f'{data_folder}/{MATRIX_IMAGE_FILENAME}', @@ -449,7 +452,6 @@ def analyze_gaze( show=show_figures, raw_plot=plot_points, ) - figures.extend(fig_handles) model.metadata = SignalModelMetadata(device_spec=device_spec, transform=None) @@ -457,7 +459,7 @@ def analyze_gaze( save_model( model, Path(data_folder, f"model_{device_spec.content_type}_{model_type}.pkl")) - return model, figures + return model @report_execution_time @@ -468,7 +470,7 @@ def offline_analysis( estimate_balanced_acc: bool = False, show_figures: bool = False, save_figures: bool = False, -) -> Tuple[SignalModel, Figure]: +) -> List[SignalModel]: """Gets calibration data and trains the model in an offline fashion. pickle dumps the model into a .pkl folder @@ -499,45 +501,52 @@ def offline_analysis( Returns: -------- model (SignalModel): trained model - figure_handles (Figure): handles to the ERP figures """ assert parameters, "Parameters are required for offline analysis." if not data_folder: data_folder = load_experimental_data() + # Load default devices which are used for training the model with different channels, etc. devices_by_name = devices.load( - Path(data_folder, DEFAULT_DEVICE_SPEC_FILENAME), replace=True) + Path(DEFAULT_DEVICES_PATH, DEFAULT_DEVICE_SPEC_FILENAME), replace=True) - active_devices = (spec for spec in devices_by_name.values() + # Load the active devices used during a session; this will be used to exclude inactive devices + active_devices_by_name = devices.load( + Path(data_folder, DEFAULT_DEVICE_SPEC_FILENAME), replace=True) + active_devices = (spec for spec in active_devices_by_name.values() if spec.is_active) active_raw_data_paths = (Path(data_folder, raw_data_filename(device_spec)) for device_spec in active_devices) data_file_paths = [path for path in active_raw_data_paths if path.exists()] + assert len(data_file_paths) < 3, "BciPy only supports up to 2 devices for offline analysis." + assert len(data_file_paths) > 0, "No data files found for offline analysis." + models = [] - figure_handles = [] + log.info(f"Starting offline analysis for {data_file_paths}") for raw_data_path in data_file_paths: raw_data = load_raw_data(raw_data_path) device_spec = devices_by_name.get(raw_data.daq_type) # extract relevant information from raw data object eeg if device_spec.content_type == "EEG": - erp_model, erp_figure_handles = analyze_erp( + erp_model = analyze_erp( raw_data, parameters, device_spec, data_folder, estimate_balanced_acc, save_figures, show_figures) models.append(erp_model) - figure_handles.extend(erp_figure_handles) if device_spec.content_type == "Eyetracker": - et_model, et_figure_handles = analyze_gaze( + et_model = analyze_gaze( raw_data, parameters, device_spec, data_folder, save_figures, show_figures, model_type="Individual") models.append(et_model) - figure_handles.extend(et_figure_handles) if alert_finished: - play_sound(f"{STATIC_AUDIO_PATH}/{parameters['alert_sound_file']}") - return models, figure_handles + log.info("Alerting Offline Analysis Complete") + results = [f"{model.name}: {model.auc}" for model in models] + confirm(f"Offline analysis complete! \n Results={results}") + log.info("Offline analysis complete") + return models -if __name__ == "__main__": +def main(): import argparse parser = argparse.ArgumentParser() @@ -548,13 +557,17 @@ def offline_analysis( parser.add_argument("--alert", dest="alert", action="store_true") parser.add_argument("--balanced-acc", dest="balanced", action="store_true") parser.set_defaults(alert=False) - parser.set_defaults(balanced=True) + parser.set_defaults(balanced=False) parser.set_defaults(save_figures=False) - parser.set_defaults(show_figures=True) + parser.set_defaults(show_figures=False) args = parser.parse_args() log.info(f"Loading params from {args.parameters_file}") parameters = load_json_parameters(args.parameters_file, value_cast=True) + log.info( + f"Starting offline analysis client with the following: Data={args.data_folder} || " + f"Save Figures={args.save_figures} || Show Figures={args.show_figures} || " + f"Alert={args.alert} || Calculate Balanced Accuracy={args.balanced}") offline_analysis( args.data_folder, @@ -563,4 +576,7 @@ def offline_analysis( estimate_balanced_acc=args.balanced, save_figures=args.save_figures, show_figures=args.show_figures) - log.info("Offline Analysis complete.") + + +if __name__ == "__main__": + main() diff --git a/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py b/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py index 7187e5c2c..28280c1d3 100644 --- a/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py +++ b/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py @@ -4,7 +4,7 @@ import numpy as np -from bcipy.helpers.exceptions import SignalException +from bcipy.exceptions import SignalException from bcipy.helpers.stimuli import InquiryReshaper from bcipy.signal.model import ModelEvaluationReport, SignalModel from bcipy.signal.model.classifier import RegularizedDiscriminantAnalysis @@ -18,6 +18,7 @@ class PcaRdaKdeModel(SignalModel): reshaper: InquiryReshaper = InquiryReshaper() + name = "pca_rda_kde" def __init__(self, k_folds: int = 10, prior_type="uniform", pca_n_components=0.9): self.k_folds = k_folds diff --git a/bcipy/signal/model/rda_kde/rda_kde.py b/bcipy/signal/model/rda_kde/rda_kde.py index 405250374..6c716d569 100644 --- a/bcipy/signal/model/rda_kde/rda_kde.py +++ b/bcipy/signal/model/rda_kde/rda_kde.py @@ -9,12 +9,13 @@ from bcipy.signal.model.density_estimation import KernelDensityEstimate from bcipy.signal.model.dimensionality_reduction import MockPCA from bcipy.signal.model.pipeline import Pipeline -from bcipy.helpers.exceptions import SignalException +from bcipy.exceptions import SignalException from bcipy.helpers.stimuli import InquiryReshaper class RdaKdeModel(SignalModel): reshaper = InquiryReshaper() + name = "rda_kde" def __init__(self, k_folds: int, prior_type: str = "uniform"): self.k_folds = k_folds diff --git a/bcipy/signal/process/decomposition/psd.py b/bcipy/signal/process/decomposition/psd.py index 69869f2d4..ddeda93da 100644 --- a/bcipy/signal/process/decomposition/psd.py +++ b/bcipy/signal/process/decomposition/psd.py @@ -8,7 +8,7 @@ from typing import Tuple -from bcipy.helpers.exceptions import SignalException +from bcipy.exceptions import SignalException class PSD_TYPE(Enum): diff --git a/bcipy/signal/process/extract_gaze.py b/bcipy/signal/process/extract_gaze.py index 6c707dad0..6aa95d6fb 100644 --- a/bcipy/signal/process/extract_gaze.py +++ b/bcipy/signal/process/extract_gaze.py @@ -1,6 +1,6 @@ import numpy as np -from bcipy.helpers.exceptions import SignalException +from bcipy.exceptions import SignalException def extract_eye_info(data): diff --git a/bcipy/signal/tests/model/pca_rda_kde/test_pca_rda_kde.py b/bcipy/signal/tests/model/pca_rda_kde/test_pca_rda_kde.py index e4238d2b7..4d5439ecc 100644 --- a/bcipy/signal/tests/model/pca_rda_kde/test_pca_rda_kde.py +++ b/bcipy/signal/tests/model/pca_rda_kde/test_pca_rda_kde.py @@ -8,7 +8,7 @@ import pytest from scipy.stats import norm -from bcipy.helpers.exceptions import SignalException +from bcipy.exceptions import SignalException from bcipy.helpers.load import load_signal_models from bcipy.helpers.save import save_model from bcipy.helpers.symbols import alphabet diff --git a/bcipy/signal/tests/model/rda_kde/test_rda_kde.py b/bcipy/signal/tests/model/rda_kde/test_rda_kde.py index 9ea8312ca..c09e53e0c 100644 --- a/bcipy/signal/tests/model/rda_kde/test_rda_kde.py +++ b/bcipy/signal/tests/model/rda_kde/test_rda_kde.py @@ -15,7 +15,7 @@ from bcipy.signal.model.density_estimation import KernelDensityEstimate from bcipy.signal.model.dimensionality_reduction import MockPCA from bcipy.signal.model.pipeline import Pipeline -from bcipy.helpers.exceptions import SignalException +from bcipy.exceptions import SignalException expected_output_folder = Path(__file__).absolute().parent.parent / "unit_test_expected_output" diff --git a/bcipy/signal/tests/model/test_offline_analysis.py b/bcipy/signal/tests/model/test_offline_analysis.py index 3f8535e2e..54f84d8e3 100644 --- a/bcipy/signal/tests/model/test_offline_analysis.py +++ b/bcipy/signal/tests/model/test_offline_analysis.py @@ -19,7 +19,7 @@ @pytest.mark.slow -class TestOfflineAnalysis(unittest.TestCase): +class TestOfflineAnalysisEEG(unittest.TestCase): """Integration test of offline_analysis.py (slow) This test is slow because it runs the full offline analysis pipeline and compares its' output @@ -50,12 +50,14 @@ def setUpClass(cls): params_path = pwd.parent.parent.parent / "parameters" / DEFAULT_PARAMETER_FILENAME cls.parameters = load_json_parameters(params_path, value_cast=True) - models, fig_handles = offline_analysis( - str(cls.tmp_dir), cls.parameters, save_figures=True, show_figures=False, alert_finished=False) + models = offline_analysis( + str(cls.tmp_dir), + cls.parameters, + save_figures=False, + show_figures=False, + alert_finished=False) + # only one model is generated using the default parameters cls.model = models[0] - cls.mean_erp_fig_handle = fig_handles[0] - cls.mean_nontarget_topomap_handle = fig_handles[1] - cls.mean_target_topomap_handle = fig_handles[2] @classmethod def tearDownClass(cls): @@ -73,20 +75,6 @@ def test_model_AUC(self): found_auc = self.get_auc(list(self.tmp_dir.glob("model_*.pkl"))[0].name) self.assertAlmostEqual(expected_auc, found_auc, delta=0.005) - @pytest.mark.mpl_image_compare(baseline_dir=expected_output_folder, filename="test_mean_erp.png", remove_text=True) - def test_mean_erp(self): - return self.mean_erp_fig_handle - - @pytest.mark.mpl_image_compare(baseline_dir=expected_output_folder, - filename="test_target_topomap.png", remove_text=False) - def test_target_topomap(self): - return self.mean_target_topomap_handle - - @pytest.mark.mpl_image_compare(baseline_dir=expected_output_folder, - filename="test_nontarget_topomap.png", remove_text=False) - def test_nontarget_topomap(self): - return self.mean_nontarget_topomap_handle - if __name__ == "__main__": unittest.main() diff --git a/bcipy/signal/tests/process/decomposition/test_decomposition.py b/bcipy/signal/tests/process/decomposition/test_decomposition.py index 540685e5d..6f6adf887 100644 --- a/bcipy/signal/tests/process/decomposition/test_decomposition.py +++ b/bcipy/signal/tests/process/decomposition/test_decomposition.py @@ -1,7 +1,7 @@ import unittest from bcipy.config import BCIPY_ROOT -from bcipy.helpers.exceptions import SignalException +from bcipy.exceptions import SignalException from bcipy.signal.process.decomposition import continuous_wavelet_transform from bcipy.signal.process.decomposition.psd import power_spectral_density, PSD_TYPE import numpy as np diff --git a/bcipy/simulator/data/data_engine.py b/bcipy/simulator/data/data_engine.py index 0e10813ca..fe591db85 100644 --- a/bcipy/simulator/data/data_engine.py +++ b/bcipy/simulator/data/data_engine.py @@ -7,7 +7,7 @@ import numpy as np import pandas as pd -from bcipy.helpers.exceptions import TaskConfigurationException +from bcipy.exceptions import TaskConfigurationException from bcipy.helpers.parameters import Parameters from bcipy.simulator.data import data_process from bcipy.simulator.data.data_process import (ExtractedExperimentData, diff --git a/bcipy/simulator/data/sampler.py b/bcipy/simulator/data/sampler.py index fa1e3f8c4..5424c95e2 100644 --- a/bcipy/simulator/data/sampler.py +++ b/bcipy/simulator/data/sampler.py @@ -180,8 +180,8 @@ def sample(self, state: SimState) -> List[Trial]: inquiry_n = random.choice(source_inquiries[data_source]) # select all trials for the data_source and inquiry - inquiry_df = self.data.loc[(self.data['source'] == data_source) - & (self.data['inquiry_n'] == inquiry_n)] + inquiry_df = self.data.loc[(self.data['source'] == data_source) & + (self.data['inquiry_n'] == inquiry_n)] assert len(inquiry_df) == len( inquiry_letter_subset), f"Invalid data source {data_source}" diff --git a/bcipy/simulator/task/copy_phrase.py b/bcipy/simulator/task/copy_phrase.py index 1d78c44ec..1dee73b09 100644 --- a/bcipy/simulator/task/copy_phrase.py +++ b/bcipy/simulator/task/copy_phrase.py @@ -1,5 +1,7 @@ +# mypy: disable-error-code="union-attr" """Simulates the Copy Phrase task""" from typing import Dict, List, Optional, Tuple +import logging from bcipy.display.main import Display from bcipy.feedback.visual.visual_feedback import VisualFeedback @@ -39,6 +41,7 @@ def __init__(self, parameters: Parameters, file_save: str, fake=False) self.save_session_every_inquiry = False self.samplers = samplers + self.logger = logging.getLogger(__name__) def init_evidence_evaluators( self, signal_models: List[SignalModel]) -> List[EvidenceEvaluator]: diff --git a/bcipy/task/README.md b/bcipy/task/README.md index 3943d744c..7defbe7e4 100644 --- a/bcipy/task/README.md +++ b/bcipy/task/README.md @@ -5,8 +5,7 @@ These are the tasks that can be run to collect experimental data. ## Paradigms ------------ -Within `task/` there are folders for each of the supported paradigms, and within them, the supported modes. To add new paradigms, create a folder for it and place the tasks in files within it. Be sure to add it to the `start_task` file at the root to be able execute it! An entry must also be added to the task_registry TaskType -enum. This updates the GUI (BCInterface.py) and makes the task available to `start_task`. +Within `task/` there are folders for each of the supported paradigms, and within them, the supported modes. To add new paradigms, create a folder for it and place the tasks in files within it. An entry must also be added to the task_registry TaskType and/or TaskMode enum. This updates the GUI (BCInterface.py) and makes the task available to the BciPy Client. Currently, these are the supported paradigms and modes: @@ -33,25 +32,160 @@ Currently, these are the supported paradigms and modes: > Copy Phrase: Used to copy a phrase using the Matrix paradigm (e.g. P300 Speller) on data from a P300 calibration +### *Paradigm: VEP* -## Start Task -------------- +##### Mode: Calibration + +> Calibration: Used to calibrate the VEP paradigm for a user. Note this has not been extensively tested, use with caution. + + +## Running Tasks using the SessionOrchestrator + +The `SessionOrchestrator` is a class that can be used to run a Protocol (sequence of Tasks/Actions). The core BciPy client and GUI use this class and resulting data strucutures. It will run the tasks in the order defined, handle the transition between tasks, and persist data. There are several optional arguments that can be provided to the orchestrator: + +experiment_id: str + This is used to load any defined protocols or field collections. If no experiment_id is provided, a default will be used, and the orchestrator will run any tasks in the order they were added. +user: str + The user ID to associate with the session data. By default, this is DEFAULT_USER. +parameters_path: str + The path to the BciPy parameters file. By default, this is DEFAULT_PARAMETERS_PATH, located at bcipy/parameters/parameters.json. +parameters: Parameters + A Parameters object to use for the Tasks. If provided, this will override the parameters_path. +fake: bool + If True, the Tasks will run in fake mode. This is useful for testing or debugging paradigms with streaming data or models. By default, this is False. +alert: bool + If True, after a Task execution the orchestrator will alert experimenters when a task is complete. By default, this is False. +visualize: bool + If True, after a Task execution the orchestrator will visualize data. By default, this is False. This only works for EEG data with target/non-target labels. + + +The data will be saved in the following format in the specified data_save_loc (default is bcipy/data/): + +``` + +data_save_loc/ + user_id/ + experiment_id/ + run_id / + task_id/ + logs/ + task_log_data + task_data (e.g. acquisition data, parameters, visualizations) + task_id/ + logs/ + task_log_data + task_data (e.g. acquisition data, parameters, visualizations) + logs/ + protocol_log_data + protocol_data (system data, protocol/tasks executed) +``` + +### Usage manually + +```python +from bcipy.task import Task +from bcipy.task import SessionOrchestrator +from bcipy.task.action import OfflineAnalysisAction +from bcipy.task.task_registry import TaskType +from bcipy.task.paradigm.rsvp.calibration import RSVPCalibration +from bcipy.task.paradigm.rsvp.copy_phrase import RSVPCopyPhrase + +# Create a list of tasks to run, These should not be initialized. +tasks = [ + RSVPCalibration, + OfflineAnalysisAction, + RSVPCopyPhrase +] + +# Create a SessionOrchestrator +orchestrator = SessionOrchestrator() + +# add the tasks to the orchestrator +orchestrator.add_tasks(tasks) + +# run the tasks +orchestrator.execute() +``` + +### Usage with a Protocol -Start Task takes in Display [object], parameters [dict], file save [str-path] and task type [dict]. Using the -task type, start_task() will route to the correct paradigm (RSVP, SSVEP, MATRIX) and mode (Calibration, Copy Phrase, etc.) +```python +from bcipy.task import Task +from bcipy.task import SessionOrchestrator +from bcipy.task.action import OfflineAnalysisAction +from bcipy.task.task_registry import TaskType +from bcipy.task.paradigm.rsvp.calibration import RSVPCalibration +from bcipy.task.paradigm.rsvp.copy_phrase import RSVPCopyPhrase +from bcipy.task.protocol import parse_protocol -It is called in the following way: +# Create a protocol. This would be extracted from a registered experiment. +example_protocol = 'RSVPCalibration -> OfflineAnalysisAction -> RSVPCopyPhrase' +# Parse the protocol into a list of tasks. This will raise an error if the TaskType is not registered. +tasks = parse_protocol(example_protocol) +# Create a SessionOrchestrator +orchestrator = SessionOrchestrator() +# add the tasks to the orchestrator +orchestrator.add_tasks(tasks) + +# run the tasks +orchestrator.execute() ``` - from bcipy.task.start_task import start_task - start_task( - display_window, - data_acquisition_client, - parameters, - file_save) +### Usage from experiment loading + +Note: A new experiment must be registered in the `bcipy/parameters/experiments.json` file. The BCInterface may also be used to create a new named experiment. + +```python +from bcipy.task import Task +from bcipy.task import SessionOrchestrator +from bcipy.task.action import OfflineAnalysisAction +from bcipy.task.task_registry import TaskType +from bcipy.task.paradigm.rsvp.calibration import RSVPCalibration +from bcipy.task.paradigm.rsvp.copy_phrase import RSVPCopyPhrase +from bcipy.task.protocol import parse_protocol +from bcipy.helpers.load import load_experiment + +# Load an experiment from the registered experiments +experiment_name = 'default' +experiment = load_experiment(experiment_name) +# grab the protocol from the experiment and parse it +protocol = experiment['protocol'] +tasks = parse_protocol(protocol) + +# Create a SessionOrchestrator +orchestrator = SessionOrchestrator() +# add the tasks to the orchestrator +orchestrator.add_tasks(tasks) + +# run the tasks +orchestrator.execute() ``` -It will throw an error if the task isn't implemented. +### Using orchestration to type using multiple copy phrases with different text and spelled letters + +There are experiments in which multiple copy phrases would be used to test the performance of a user and the system over a variety of phrases. This is especially useful for testing the language model performance over different contexts and starting data. Additionally, this can be used to test the performance of the system over different spelling lengths and complexity. + +If the `copy_phrase_location` parameter is set in the parameters.json file, the orchestrator will use the provided file to load the phrases to be copied in Tasks with the mode TaskMode.COPYPHRASE. The file should be a JSON file with the following format: + +```json +{ + "Phrases": [ + ["This is the first phrase", 1], + ["This is the second phrase", 2], + ["This is the third phrase", 3] + ] +} +``` + +Each phrase should be a list with the phrase as the first element (string) and the spelled letter count as the second element (integer). The orchestrator will iterate through the phrases in order, copying each one the specified number of times. If any phrases are remaining, the orchestrator will save the phrase list to the run directory for future use. + + + + + + + + diff --git a/bcipy/task/__init__.py b/bcipy/task/__init__.py index 79f953973..2a60353aa 100644 --- a/bcipy/task/__init__.py +++ b/bcipy/task/__init__.py @@ -1,10 +1,14 @@ """ This import statement allows users to import submodules from Task """ -from .main import Task -from .task_registry import TaskType +from .main import Task, TaskData, TaskMode + +# Makes the following classes available to the task registry +from .registry import TaskRegistry __all__ = [ 'Task', - 'TaskType', + 'TaskRegistry', + 'TaskData', + 'TaskMode' ] diff --git a/bcipy/task/actions.py b/bcipy/task/actions.py new file mode 100644 index 000000000..12b520624 --- /dev/null +++ b/bcipy/task/actions.py @@ -0,0 +1,380 @@ +# mypy: disable-error-code="assignment,arg-type" +import subprocess +from typing import Any, Optional, List, Callable, Tuple +import logging +from pathlib import Path +import glob + +from bcipy.gui.bciui import run_bciui +from matplotlib.figure import Figure + +from bcipy.gui.intertask_gui import IntertaskGUI +from bcipy.gui.experiments.ExperimentField import start_experiment_field_collection_gui +from bcipy.task import Task, TaskMode, TaskData +from bcipy.helpers.triggers import trigger_decoder, TriggerType + +from bcipy.acquisition import devices +from bcipy.helpers.acquisition import analysis_channels +from bcipy.helpers.parameters import Parameters +from bcipy.acquisition.devices import DeviceSpec +from bcipy.helpers.load import load_raw_data +from bcipy.helpers.raw_data import RawData +from bcipy.signal.process import get_default_transform +from bcipy.helpers.report import SignalReportSection, SessionReportSection, Report, ReportSection +from bcipy.config import SESSION_LOG_FILENAME, RAW_DATA_FILENAME, TRIGGER_FILENAME +from bcipy.helpers.visualization import visualize_erp +from bcipy.signal.evaluate.artifact import ArtifactDetection + + +logger = logging.getLogger(SESSION_LOG_FILENAME) + + +class CodeHookAction(Task): + """ + Action for running generic code hooks. + """ + + name = "CodeHookAction" + mode = TaskMode.ACTION + + def __init__( + self, + parameters: Parameters, + data_directory: str, + code_hook: Optional[str] = None, + subprocess: bool = True, + **kwargs) -> None: + super().__init__() + self.code_hook = code_hook + self.subprocess = subprocess + + def execute(self) -> TaskData: + if self.code_hook: + if self.subprocess: + subprocess.Popen(self.code_hook, shell=True) + + else: + subprocess.run(self.code_hook, shell=True) + return TaskData() + + +class OfflineAnalysisAction(Task): + """ + Action for running offline analysis. + """ + + name = "OfflineAnalysisAction" + mode = TaskMode.ACTION + + def __init__( + self, + parameters: Parameters, + data_directory: str, + parameters_path: str, + last_task_dir: Optional[str] = None, + alert_finished: bool = False, + **kwargs: Any) -> None: + super().__init__() + self.parameters = parameters + self.parameters_path = parameters_path + self.alert_finished = alert_finished + + # TODO: add a feature to orchestrator to permit the user to select the last task directory or have it loaded. + if last_task_dir: + self.data_directory = last_task_dir + else: + self.data_directory = data_directory + + def execute(self) -> TaskData: + """Execute the offline analysis. + + Note: This function is called by the orchestrator to execute the offline analysis task. Some of the + exceptions that can be raised by this function are not recoverable and will cause the orchestrator + to stop execution. For example, if Exception is thrown in cross_validation due to the # of folds being + inconsistent. + + """ + logger.info("Running offline analysis action") + try: + cmd = f'bcipy-train -p "{self.parameters_path}"' + if self.alert_finished: + cmd += " --alert" + response = subprocess.run( + cmd, + shell=True, + check=True, + ) + except Exception as e: + logger.exception(f"Error running offline analysis: {e}") + raise e + return TaskData( + save_path=self.data_directory, + task_dict={"parameters": self.parameters_path, + "response": response}, + ) + + +class IntertaskAction(Task): + name = "IntertaskAction" + mode = TaskMode.ACTION + tasks: List[Task] + current_task_index: int + + def __init__( + self, + parameters: Parameters, + save_path: str, + progress: Optional[int] = None, + tasks: Optional[List[Task]] = None, + exit_callback: Optional[Callable] = None, + **kwargs: Any) -> None: + super().__init__() + self.save_folder = save_path + self.parameters = parameters + assert progress is not None and tasks is not None, "Either progress or tasks must be provided" + self.next_task_index = progress # progress is 1-indexed, tasks is 0-indexed so we can use the same index + assert self.next_task_index >= 0, "Progress must be greater than 1 " + self.tasks = tasks + self.task_name = self.tasks[self.next_task_index].name + self.task_names = [task.name for task in self.tasks] + self.exit_callback = exit_callback + + def execute(self) -> TaskData: + + run_bciui( + IntertaskGUI, + tasks=self.task_names, + next_task_index=self.next_task_index, + exit_callback=self.exit_callback), + + return TaskData( + save_path=self.save_folder, + task_dict={ + "next_task_index": self.next_task_index, + "tasks": self.task_names, + "task_name": self.task_name, + }, + ) + + def alert(self): + pass + + +class ExperimentFieldCollectionAction(Task): + """ + Action for collecting experiment field data. + """ + + name = "ExperimentFieldCollectionAction" + mode = TaskMode.ACTION + + def __init__( + self, + parameters: Parameters, + data_directory: str, + experiment_id: str = 'default', + **kwargs: Any) -> None: + super().__init__() + self.experiment_id = experiment_id + self.save_folder = data_directory + self.parameters = parameters + + def execute(self) -> TaskData: + logger.info( + f"Collecting experiment field data for experiment {self.experiment_id} in save folder {self.save_folder}" + ) + start_experiment_field_collection_gui(self.experiment_id, self.save_folder) + return TaskData( + save_path=self.save_folder, + task_dict={ + "experiment_id": self.experiment_id, + }, + ) + + +class BciPyCalibrationReportAction(Task): + """ + Action for generating a report after calibration Tasks. + """ + + name = "BciPyReportAction" + mode = TaskMode.ACTION + + def __init__( + self, + parameters: Parameters, + save_path: str, + protocol_path: Optional[str] = None, + last_task_dir: Optional[str] = None, + trial_window: Optional[Tuple[float, float]] = None, + **kwargs: Any) -> None: + super().__init__() + self.save_folder = save_path + # Currently we assume all Tasks have the same parameters, this may change in the future. + self.parameters = parameters + self.protocol_path = protocol_path or '' + self.last_task_dir = last_task_dir + self.default_transform = None + self.trial_window = (-0.2, 1.0) + self.static_offset = None + self.report = Report(self.protocol_path) + self.report_sections: List[ReportSection] = [] + self.all_raw_data: List[RawData] = [] + self.type_amp = None + + def execute(self) -> TaskData: + """Excute the report generation action. + + This assumes all data were collected using the same protocol, device, and parameters. + """ + logger.info(f"Generating report in save folder {self.save_folder}") + # loop through all the files in the last_task_dir + + data_directories = [] + # If a protocol is given, loop over and look for any calibration directories + try: + if self.protocol_path: + # Use glob to find all directories with Calibration in the name + calibration_directories = glob.glob( + f"{self.protocol_path}/**/*Calibration*", + recursive=True) + for data_dir in calibration_directories: + path_data_dir = Path(data_dir) + # pull out the last directory name + task_name = path_data_dir.parts[-1].split('_')[0] + data_directories.append(path_data_dir) + # For each calibration directory, attempt to load the raw data + signal_report_section = self.create_signal_report(path_data_dir) + session_report = self.create_session_report(path_data_dir, task_name) + self.report_sections.append(session_report) + self.report.add(session_report) + self.report_sections.append(signal_report_section) + self.report.add(signal_report_section) + if data_directories: + logger.info(f"Saving report generated from: {self.protocol_path}") + else: + logger.info(f"No data found in {self.protocol_path}") + + except Exception as e: + logger.exception(f"Error generating report: {e}") + + self.report.compile() + self.report.save() + return TaskData( + save_path=self.save_folder, + task_dict={}, + ) + + def create_signal_report(self, data_dir: Path) -> SignalReportSection: + raw_data = load_raw_data(Path(data_dir, f'{RAW_DATA_FILENAME}.csv')) + if not self.type_amp: + self.type_amp = raw_data.daq_type + channels = raw_data.channels + sample_rate = raw_data.sample_rate + device_spec = devices.preconfigured_device(raw_data.daq_type) + self.static_offset = device_spec.static_offset + channel_map = analysis_channels(channels, device_spec) + self.all_raw_data.append(raw_data) + + # Set the default transform if not already set + if not self.default_transform: + self.set_default_transform(sample_rate) + + triggers = self.get_triggers(data_dir) + # get figure handles + figure_handles = self.get_figure_handles(raw_data, channel_map, triggers) + artifact_detector = self.get_artifact_detector(raw_data, device_spec, triggers) + return SignalReportSection(figure_handles, artifact_detector) + + def create_session_report(self, data_dir, task_name) -> SessionReportSection: + # get task name + summary_dict = { + "task": task_name, + "data_location": data_dir, + "amplifier": self.type_amp + } + signal_model_metrics = self.get_signal_model_metrics(data_dir) + summary_dict.update(signal_model_metrics) + + return SessionReportSection(summary_dict) + + def get_signal_model_metrics(self, data_directory: Path) -> dict: + """Get the signal model metrics from the session folder. + + In the future, the model will save a ModelMetrics with the pkl file. + For now, we just look for the pkl file and extract the AUC from the filename. + """ + pkl_file = None + for file in data_directory.iterdir(): + if file.suffix == '.pkl': + pkl_file = file + break + + if pkl_file: + auc = pkl_file.stem.split('_')[-1] + else: + auc = 'No Signal Model found in session folder' + + return {'AUC': auc} + + def set_default_transform(self, sample_rate: int) -> None: + downsample_rate = self.parameters.get("down_sampling_rate") + notch_filter = self.parameters.get("notch_filter_frequency") + filter_high = self.parameters.get("filter_high") + filter_low = self.parameters.get("filter_low") + filter_order = self.parameters.get("filter_order") + self.default_transform = get_default_transform( + sample_rate_hz=sample_rate, + notch_freq_hz=notch_filter, + bandpass_low=filter_low, + bandpass_high=filter_high, + bandpass_order=filter_order, + downsample_factor=downsample_rate, + ) + + def find_eye_channels(self, device_spec: DeviceSpec) -> Optional[list]: + eye_channels = [] + for channel in device_spec.channels: + if 'F' in channel: + eye_channels.append(channel) + if len(eye_channels) == 0: + eye_channels = None + return eye_channels + + def get_triggers(self, session) -> tuple: + trigger_type, trigger_timing, trigger_label = trigger_decoder( + offset=self.static_offset, + trigger_path=f"{session}/{TRIGGER_FILENAME}", + exclusion=[ + TriggerType.PREVIEW, + TriggerType.EVENT, + TriggerType.FIXATION], + device_type='EEG' + ) + return trigger_type, trigger_timing, trigger_label + + def get_figure_handles(self, raw_data, channel_map, triggers) -> List[Figure]: + _, trigger_timing, trigger_label = triggers + figure_handles = visualize_erp( + raw_data, + channel_map, + trigger_timing, + trigger_label, + self.trial_window, + transform=self.default_transform, + plot_average=True, + plot_topomaps=True, + show=False, + ) + return figure_handles + + def get_artifact_detector(self, raw_data, device_spec, triggers) -> ArtifactDetection: + eye_channels = self.find_eye_channels(device_spec) + artifact_detector = ArtifactDetection( + raw_data, + self.parameters, + device_spec, + eye_channels=eye_channels, + session_triggers=triggers) + artifact_detector.detect_artifacts() + return artifact_detector diff --git a/bcipy/task/base_calibration.py b/bcipy/task/calibration.py similarity index 81% rename from bcipy/task/base_calibration.py rename to bcipy/task/calibration.py index 392de4fc4..839c85eda 100644 --- a/bcipy/task/base_calibration.py +++ b/bcipy/task/calibration.py @@ -1,14 +1,16 @@ """Base calibration task.""" - +from abc import abstractmethod from typing import Any, Dict, Iterator, List, NamedTuple, Optional, Tuple -from psychopy import core, visual +from psychopy import core +from psychopy.visual import Window import bcipy.task.data as session_data from bcipy.acquisition import ClientManager from bcipy.config import (SESSION_DATA_FILENAME, TRIGGER_FILENAME, - WAIT_SCREEN_MESSAGE) -from bcipy.display import Display + WAIT_SCREEN_MESSAGE, SESSION_LOG_FILENAME) +from bcipy.helpers.acquisition import init_acquisition, LslDataServer +from bcipy.display import init_display_window, Display from bcipy.helpers.clock import Clock from bcipy.helpers.parameters import Parameters from bcipy.helpers.save import _save_session_related_data @@ -21,7 +23,10 @@ from bcipy.helpers.triggers import (FlushFrequency, Trigger, TriggerHandler, TriggerType, convert_timing_triggers, offset_label) -from bcipy.task import Task +from bcipy.task import Task, TaskData, TaskMode + +import logging +logger = logging.getLogger(SESSION_LOG_FILENAME) class Inquiry(NamedTuple): @@ -50,10 +55,9 @@ class BaseCalibrationTask(Task): PARAMETERS: ---------- - win (PsychoPy Display) - daq (Data Acquisition Client) parameters (dict) file_save (str) + fake (bool) Subclasses should override the provided MODE and can specialize behavior by overriding the following methods: @@ -62,19 +66,33 @@ class BaseCalibrationTask(Task): - trigger_type ; used for assigning trigger types to the timing data - session_task_data ; provide task-specific session data - session_inquiry_data ; provide task-specific inquiry data to the session - - cleanup ; perform any necessary cleanup (closing connections, etc.) + - cleanup ; perform any necessary cleanup (closing connections, etc.). + + Returns: + ------- + TaskData """ - MODE = 'Undefined' + mode = TaskMode.CALIBRATION + paradigm = 'Undefined' + initalized = False - def __init__(self, win: visual.Window, daq: ClientManager, - parameters: Parameters, file_save: str) -> None: + def __init__(self, + parameters: Parameters, + file_save: str, + fake: bool = False, + **kwargs: Any) -> None: super().__init__() + + self.fake = fake + self.validate() + daq, servers, win = self.setup(parameters, file_save, fake) self.window = win self.frame_rate = self.window.getActualFrameRate() self.parameters = parameters self.daq = daq + self.servers = servers self.static_clock = core.StaticPeriod(screenHz=self.frame_rate) self.experiment_clock = Clock() self.start_time = self.experiment_clock.getTime() @@ -103,11 +121,47 @@ def symbol_set(self) -> List[str]: """Symbols used in the calibration""" return self._symbol_set - def name(self) -> str: - """Task name""" - if self.MODE == 'Undefined': - raise NotImplementedError - return f"{self.MODE} Calibration Task" + def setup(self, parameters, data_save_location, fake=False) -> Tuple[ClientManager, List[LslDataServer], Window]: + # Initialize Acquisition + daq, servers = init_acquisition( + parameters, data_save_location, server=fake) + + # Initialize Display + display = init_display_window(parameters) + self.initalized = True + + return daq, servers, display + + def validate(self) -> None: + """Validate the task.""" + assert self.paradigm != 'Undefined', 'Paradigm must be defined in subclass.' + + def cleanup(self) -> None: + """Any cleanup code to run after the last inquiry is complete.""" + logger.info('Cleaning up task acquisition and display.') + self.exit_display() + self.write_offset_trigger() + self.wait() + if self.initalized: + try: + # Stop Acquisition + self.daq.stop_acquisition() + self.daq.cleanup() + + # Stop Servers + if self.servers: + for server in self.servers: + server.stop() + + # Close the display window + # NOTE: There is currently a bug in psychopy when attempting to shutdown + # windows when using a USB-C monitor. Putting the display close last in + # the inquiry allows acquisition to properly shutdown. + self.window.close() + self.initalized = False + + except Exception as e: + logger.exception(str(e)) def wait(self, seconds: Optional[float] = None) -> None: """Pause for a time. @@ -120,9 +174,10 @@ def wait(self, seconds: Optional[float] = None) -> None: seconds = seconds or self.parameters['task_buffer_length'] core.wait(seconds) + @abstractmethod def init_display(self) -> Display: """Initialize the display""" - raise NotImplementedError + ... def init_inquiry_generator(self) -> Iterator[Inquiry]: """Initializes a generator that returns inquiries to be presented.""" @@ -148,8 +203,8 @@ def init_inquiry_generator(self) -> Iterator[Inquiry]: def init_session(self) -> session_data.Session: """Initialize the session data.""" return session_data.Session(save_location=self.file_save, - task='Calibration', - mode=self.MODE, + task=self.name, + mode=str(self.mode), symbol_set=self.symbol_set, task_data=self.session_task_data()) @@ -212,12 +267,12 @@ def user_wants_to_continue(self, first_inquiry: bool = False) -> bool: self.wait_screen_message_color, first_run=first_inquiry) if not should_continue: - self.logger.info('User wants to exit.') + logger.info('User wants to exit.') return should_continue - def execute(self) -> str: + def execute(self) -> TaskData: """Task run loop.""" - self.logger.info(f'Starting {self.name()}!') + logger.info(f'Starting {self.name}!') self.wait() inq_index = 0 @@ -241,11 +296,9 @@ def execute(self) -> str: self.wait() inq_index += 1 - self.exit_display() - self.write_offset_trigger() self.cleanup() - return self.file_save + return TaskData(save_path=self.file_save, task_dict=self.session.as_dict()) def exit_display(self) -> None: """Close the UI and cleanup.""" @@ -258,9 +311,6 @@ def exit_display(self) -> None: # Allow for some additional data to be collected for later processing self.wait() - def cleanup(self) -> None: - """Any cleanup code to run after the last inquiry is complete.""" - def write_trigger_data(self, timing: List[Tuple[str, float]], first_run) -> None: """Write Trigger Data. @@ -331,4 +381,4 @@ def add_session_data(self, inquiry: Inquiry) -> None: def session_inquiry_data(self, inquiry: Inquiry) -> Optional[Dict[str, Any]]: """Defines task-specific session data for each inquiry.""" - return None + ... diff --git a/bcipy/task/control/criteria.py b/bcipy/task/control/criteria.py index 29249dbd4..701fb544d 100644 --- a/bcipy/task/control/criteria.py +++ b/bcipy/task/control/criteria.py @@ -3,7 +3,8 @@ from typing import Dict, List from copy import copy -log = logging.getLogger(__name__) +from bcipy.config import SESSION_LOG_FILENAME +log = logging.getLogger(SESSION_LOG_FILENAME) class DecisionCriteria: diff --git a/bcipy/task/control/evidence.py b/bcipy/task/control/evidence.py index 929f38eaf..3cb7c1480 100644 --- a/bcipy/task/control/evidence.py +++ b/bcipy/task/control/evidence.py @@ -6,13 +6,14 @@ import numpy as np from bcipy.acquisition.multimodal import ContentType +from bcipy.config import SESSION_LOG_FILENAME from bcipy.helpers.acquisition import analysis_channels from bcipy.helpers.stimuli import TrialReshaper from bcipy.signal.model import SignalModel from bcipy.task.data import EvidenceType from bcipy.task.exceptions import MissingEvidenceEvaluator -log = logging.getLogger(__name__) +log = logging.getLogger(SESSION_LOG_FILENAME) class EvidenceEvaluator: diff --git a/bcipy/task/control/handler.py b/bcipy/task/control/handler.py index 56ec283dd..9ca1a6262 100644 --- a/bcipy/task/control/handler.py +++ b/bcipy/task/control/handler.py @@ -4,13 +4,14 @@ import numpy as np +from bcipy.config import SESSION_LOG_FILENAME from bcipy.helpers.stimuli import InquirySchedule, inq_generator, StimuliOrder from bcipy.helpers.symbols import SPACE_CHAR, BACKSPACE_CHAR from bcipy.task.control.query import RandomStimuliAgent, StimuliAgent from bcipy.task.control.criteria import CriteriaEvaluator from bcipy.task.data import EvidenceType -log = logging.getLogger(__name__) +log = logging.getLogger(SESSION_LOG_FILENAME) class EvidenceFusion(): diff --git a/bcipy/task/demo/demo_orchestrator.py b/bcipy/task/demo/demo_orchestrator.py new file mode 100644 index 000000000..d57bd0013 --- /dev/null +++ b/bcipy/task/demo/demo_orchestrator.py @@ -0,0 +1,54 @@ +from bcipy.config import DEFAULT_PARAMETERS_PATH +from bcipy.task.orchestrator import SessionOrchestrator +from bcipy.task.actions import (OfflineAnalysisAction, IntertaskAction, BciPyCalibrationReportAction) +from bcipy.task.paradigm.rsvp import RSVPCalibrationTask +# from bcipy.task.paradigm.rsvp import RSVPCopyPhraseTask, RSVPTimingVerificationCalibration +from bcipy.task.paradigm.matrix import MatrixCalibrationTask +# from bcipy.task.paradigm.matrix.timing_verification import MatrixTimingVerificationCalibration + + +def demo_orchestrator(parameters_path: str) -> None: + """Demo the SessionOrchestrator. + + This function demonstrates how to use the SessionOrchestrator to execute actions. + + The action in this case is an OfflineAnalysisAction, which will analyze the data in a given directory. + """ + fake_data = True + alert_finished = True + tasks = [ + RSVPCalibrationTask, + IntertaskAction, + # OfflineAnalysisAction, + # IntertaskAction, + MatrixCalibrationTask, + IntertaskAction, + OfflineAnalysisAction, + IntertaskAction, + BciPyCalibrationReportAction + ] + orchestrator = SessionOrchestrator( + user='offline_testing', + parameters_path=parameters_path, + alert=alert_finished, + visualize=True, + fake=fake_data) + orchestrator.add_tasks(tasks) + orchestrator.execute() + + +if __name__ == '__main__': + + import argparse + + parser = argparse.ArgumentParser(description="Demo the SessionOrchestrator") + parser.add_argument( + '-p', + '--parameters_path', + help='Path to the parameters file to use for training. If none provided, data path will be used.', + default=DEFAULT_PARAMETERS_PATH) + args = parser.parse_args() + + parameters_path = f'{args.parameters_path}' + + demo_orchestrator(parameters_path) diff --git a/bcipy/task/main.py b/bcipy/task/main.py index 9e6b92f06..65083f8d1 100644 --- a/bcipy/task/main.py +++ b/bcipy/task/main.py @@ -1,6 +1,35 @@ -import logging - +from dataclasses import dataclass +from typing import Optional +from bcipy.helpers.parameters import Parameters from abc import ABC, abstractmethod +from enum import Enum + +from bcipy.helpers.stimuli import play_sound +from bcipy.config import STATIC_AUDIO_PATH + + +@dataclass +class TaskData(): + """TaskData. + + Data structure for storing task return data. + """ + save_path: Optional[str] = None + task_dict: Optional[dict] = None + + +class TaskMode(Enum): + CALIBRATION = "calibration" + COPYPHRASE = "copy phrase" + TIMING_VERIFICATION = "timing verification" + ACTION = "action" + TRAINING = "training" + + def __str__(self) -> str: + return self.value + + def __repr__(self) -> str: + return self.value class Task(ABC): @@ -8,15 +37,25 @@ class Task(ABC): Base class for BciPy tasks. """ + name: str + mode: TaskMode + parameters: Parameters + data_save_location: str - def __init__(self) -> None: + def __init__(self, *args, **kwargs) -> None: super(Task, self).__init__() - self.logger = logging.getLogger(__name__) + assert getattr(self, 'name', None) is not None, "Task must have a `name` attribute defined" + assert getattr(self, 'mode', None) is not None, "Task must have a `mode` attribute defined" @abstractmethod - def execute(self) -> str: + def execute(self) -> TaskData: ... - @abstractmethod - def name(self) -> str: + def setup(self, *args, **kwargs): ... + + def cleanup(self, *args, **kwargs): + ... + + def alert(self): + play_sound(f"{STATIC_AUDIO_PATH}/{self.parameters['alert_sound_file']}") diff --git a/bcipy/task/orchestrator/__init__.py b/bcipy/task/orchestrator/__init__.py new file mode 100644 index 000000000..df0973e4c --- /dev/null +++ b/bcipy/task/orchestrator/__init__.py @@ -0,0 +1,3 @@ +from bcipy.task.orchestrator.orchestrator import SessionOrchestrator + +__all__ = ['SessionOrchestrator'] diff --git a/bcipy/task/orchestrator/orchestrator.py b/bcipy/task/orchestrator/orchestrator.py new file mode 100644 index 000000000..b3b493242 --- /dev/null +++ b/bcipy/task/orchestrator/orchestrator.py @@ -0,0 +1,295 @@ +# mypy: disable-error-code="arg-type, assignment" +import errno +import os +import json +import subprocess +from datetime import datetime +import random +import logging +import time +from logging import Logger +from typing import List, Type, Optional + +from bcipy.helpers.parameters import Parameters +from bcipy.helpers.system_utils import get_system_info, configure_logger +from bcipy.task import Task, TaskData, TaskMode +from bcipy.config import ( + DEFAULT_EXPERIMENT_ID, + DEFAULT_PARAMETERS_PATH, + DEFAULT_USER_ID, + MULTIPHRASE_FILENAME, + PROTOCOL_FILENAME, + PROTOCOL_LOG_FILENAME, + SESSION_LOG_FILENAME, +) +from bcipy.helpers.load import load_json_parameters + + +class SessionOrchestrator: + """ + Session Orchestrator + -------------------- + + The Session Orchestrator is responsible for managing the execution of a protocol of tasks. It is initialized with an + experiment ID, user ID, and parameters file. Tasks are added to the orchestrator, which are then executed in order. + """ + tasks: List[Type[Task]] + task_names: List[str] + parameters: Parameters + sys_info: dict + log: Logger + save_folder: str + session_data: List[TaskData] + ready_to_execute: bool = False + last_task_dir: Optional[str] = None + + def __init__( + self, + experiment_id: str = DEFAULT_EXPERIMENT_ID, + user: str = DEFAULT_USER_ID, + parameters_path: str = DEFAULT_PARAMETERS_PATH, + parameters: Parameters = None, + fake: bool = False, + alert: bool = False, + visualize: bool = False + ) -> None: + self.parameters_path = parameters_path + if not parameters: + self.parameters = load_json_parameters(parameters_path, value_cast=True) + else: + # This allows for the parameters to be passed in directly and modified before executions + self.parameters = parameters + + self.copyphrases = None + self.next_phrase = None + self.starting_index = 0 + + self.initialize_copy_phrases() + + self.user = user + self.fake = fake + self.experiment_id = experiment_id + self.sys_info = self.get_system_info() + self.tasks = [] + self.task_names = [] + self.session_data = [] + self.save_folder = self._init_orchestrator_save_folder(self.parameters["data_save_loc"]) + self.logger = self._init_orchestrator_logger(self.save_folder) + + self.alert = alert + self.logger.info("Alerts are on") if self.alert else self.logger.info("Alerts are off") + self.visualize = visualize + self.progress = 0 + + self.ready_to_execute = False + self.user_exit = False + self.logger.info("Session Orchestrator initialized successfully") + + def add_task(self, task: Type[Task]) -> None: + """Add a task to the orchestrator""" + self.tasks.append(task) + self.task_names.append(task.name) + self.ready_to_execute = True + + def add_tasks(self, tasks: List[Type[Task]]) -> None: + """Add a list of tasks to the orchestrator""" + for task in tasks: + self.add_task(task) + self.ready_to_execute = True + + def set_next_phrase(self) -> None: + """Set the next phrase to be copied from the list of copy phrases loaded or the parameters directly. + + If there are no more phrases to copy, the task text and spelled letters from parameters will be used. + """ + if self.copyphrases: + if len(self.copyphrases) > 0: + text, index = self.copyphrases.pop(0) + self.next_phrase = text + self.starting_index = index + else: + self.next_phrase = self.parameters['task_text'] + self.parameters['task_text'] = self.next_phrase + self.parameters['spelled_letters_count'] = self.starting_index + + def initialize_copy_phrases(self) -> None: + """Load copy phrases from a json file or take the task text if no file is provided. + + Expects a json file structured as follows: + { + "Phrases": [ + [string, int], + [string, int], + ... + ] + } + """ + # load copy phrases from json file or take the task text if no file is provided + if self.parameters.get('copy_phrases_location'): + with open(self.parameters['copy_phrases_location'], 'r') as f: + copy_phrases = json.load(f) + self.copyphrases = copy_phrases['Phrases'] + # randomize the order of the phrases + random.shuffle(self.copyphrases) + else: + self.copyphrases = None + self.next_phrase = self.parameters['task_text'] + self.starting_index = self.parameters['spelled_letters_count'] + + def execute(self) -> None: + """Executes queued tasks in order""" + + if not self.ready_to_execute: + msg = "Orchestrator not ready to execute. No tasks have been added." + self.log.error(msg) + raise Exception(msg) + + self.logger.info(f"Session Orchestrator executing tasks in order: {self.task_names}") + for task in self.tasks: + self.progress += 1 + if task.mode == TaskMode.COPYPHRASE: + self.set_next_phrase() + try: + # initialize the task save folder and logger + self.logger.info(f"Initializing task {self.progress}/{len(self.tasks)} {task.name}") + data_save_location = self._init_task_save_folder(task) + self._init_task_logger(data_save_location) + + # initialize the task and execute it + initialized_task: Task = task( + self.parameters, + data_save_location, + fake=self.fake, + alert_finished=self.alert, + experiment_id=self.experiment_id, + parameters_path=self.parameters_path, + protocol_path=self.save_folder, + last_task_dir=self.last_task_dir, + progress=self.progress, + tasks=self.tasks, + exit_callback=self.close_experiment_callback) + task_data = initialized_task.execute() + self.session_data.append(task_data) + self.logger.info(f"Task {task.name} completed successfully") + # some tasks may need access to the previous task's data + self.last_task_dir = data_save_location + + if self.user_exit: + break + + if initialized_task.mode != TaskMode.ACTION: + if self.alert: + initialized_task.alert() + + if self.visualize: + # Visualize session data and fail silently if it errors + try: + self.logger.info(f"Visualizing session data. Saving to {data_save_location}") + subprocess.run( + f'bcipy-erp-viz -s "{data_save_location}" ' + f'--parameters "{self.parameters_path}" --show --save', + shell=True) + except Exception as e: + self.logger.info(f'Error visualizing session data: {e}') + + initialized_task = None + + except Exception as e: + self.logger.error(f"Task {task.name} failed to execute") + self.logger.exception(e) + try: + initialized_task.cleanup() + except BaseException: + pass + + # give the orchestrator time to save data before exiting + time.sleep(1) + + # Save the protocol data and reset the orchestrator + self._save_data() + self.ready_to_execute = False + self.tasks = [] + self.task_names = [] + self.progress = 0 + + def _init_orchestrator_logger(self, save_folder: str) -> Logger: + return configure_logger( + save_folder, + PROTOCOL_LOG_FILENAME, + logging.DEBUG) + + def _init_orchestrator_save_folder(self, save_path: str) -> str: + timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M-%S") + # * No '/' after `save_folder` since it is included in + # * `data_save_location` in parameters + path = f'{save_path}{self.user}/{self.experiment_id}/{timestamp}/' + os.makedirs(path) + os.makedirs(os.path.join(path, 'logs'), exist_ok=True) + return path + + def _init_task_save_folder(self, task: Type[Task]) -> str: + timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M-%S") + save_directory = self.save_folder + f'{task.name.replace(" ", "_")}_{timestamp}/' + try: + # make a directory to save task data to + os.makedirs(save_directory) + os.makedirs(os.path.join(save_directory, 'logs'), exist_ok=True) + # save parameters to save directory with task name + self.parameters.add_entry( + "task", + { + "value": task.name, + "section": "task_congig", + "name": "BciPy Task", + "helpTip": "A string representing the task that was executed", + "recommended": "", + "editable": "false", + "type": "str", + } + ) + self.parameters.save(save_directory) + + except OSError as error: + # If the error is anything other than file existing, raise an error + if error.errno != errno.EEXIST: + raise error + return save_directory + + def _init_task_logger(self, save_folder: str) -> None: + configure_logger( + save_folder, + SESSION_LOG_FILENAME, + logging.DEBUG) + + def _save_data(self) -> None: + + self._save_procotol_data() + # Save the remaining phrase data to a json file to be used in the next session + if self.copyphrases and len(self.copyphrases) > 0: + self._save_copy_phrases() + + def _save_procotol_data(self) -> None: + # Save the protocol data to a json file + with open(f'{self.save_folder}/{PROTOCOL_FILENAME}', 'w') as f: + f.write(json.dumps({ + 'tasks': self.task_names, + 'parameters': self.parameters_path, + 'system_info': self.sys_info, + })) + self.logger.info("Protocol data successfully saved") + + def _save_copy_phrases(self) -> None: + # Save the copy phrases data to a json file + with open(f'{self.save_folder}/{MULTIPHRASE_FILENAME}', 'w') as f: + f.write(json.dumps({ + 'Phrases': self.copyphrases + })) + self.logger.info("Copy phrases data successfully saved") + + def get_system_info(self) -> dict: + return get_system_info() + + def close_experiment_callback(self): + """Callback to close the experiment.""" + self.logger.info("User has exited the experiment.") + self.user_exit = True diff --git a/bcipy/task/orchestrator/protocol.py b/bcipy/task/orchestrator/protocol.py new file mode 100644 index 000000000..af950162c --- /dev/null +++ b/bcipy/task/orchestrator/protocol.py @@ -0,0 +1,76 @@ +"""This file can define actions that can happen in a session orchestrator visit. +To start these will be 1:1 with tasks, but later this can be extended to represent training sequences, GUI popups etc""" + +from typing import List, Type +from bcipy.task import Task +from bcipy.config import TASK_SEPERATOR +from bcipy.task.registry import TaskRegistry + + +def parse_protocol(protocol: str) -> List[Type[Task]]: + """ + Parses a string of actions into a list of Task objects. + + Converts a string of actions into a list of Task objects. The string is expected + to be in the format of 'Action1 -> Action2 -> ... -> ActionN'. + Parameters + ---------- + protocol : str + A string of actions in the format of 'Action1 -> Action2 -> ... -> ActionN'. + + Returns + ------- + List[TaskType] + A list of TaskType objects that represent the actions in the input string. + """ + task_registry = TaskRegistry() + return [task_registry.get(item.strip()) for item in protocol.split(TASK_SEPERATOR)] + + +def validate_protocol_string(protocol: str) -> None: + """ + Validates a string of actions. + + Validates a string of actions. The string is expected to be in the format of 'Action1 -> Action2 -> ... -> ActionN'. + + Parameters + ---------- + protocol : str + A string of actions in the format of 'Action1 -> Action2 -> ... -> ActionN'. + + Raises + ------ + ValueError + If the string of actions is invalid. + """ + for protocol_item in protocol.split(TASK_SEPERATOR): + if protocol_item.strip() not in TaskRegistry().list(): + raise ValueError(f"Invalid task '{protocol_item}' name in protocol string.") + + +def serialize_protocol(protocol: List[Type[Task]]) -> str: + """ + Converts a list of TaskType objects into a string of actions. + + Converts a list of TaskType objects into a string of actions. The string is in the format of + 'Action1 -> Action2 -> ... -> ActionN'. + + Parameters + ---------- + protocol : str + A string of actions in the format of 'Action1 -> Action2 -> ... -> ActionN'. + + Returns + ------- + List[TaskType] + A list of TaskType objects that represent the actions in the input string. + """ + + return f" {TASK_SEPERATOR} ".join([item.name for item in protocol]) + + +if __name__ == '__main__': + actions = parse_protocol("Matrix Calibration -> Matrix Copy Phrase") + string = serialize_protocol(actions) + print(actions) + print(string) diff --git a/bcipy/task/paradigm/matrix/__init__.py b/bcipy/task/paradigm/matrix/__init__.py index e69de29bb..f7dd6bc2c 100644 --- a/bcipy/task/paradigm/matrix/__init__.py +++ b/bcipy/task/paradigm/matrix/__init__.py @@ -0,0 +1,4 @@ +# Import all matrix tasks to make them available to the task registry +from .calibration import MatrixCalibrationTask # noqa +from .copy_phrase import MatrixCopyPhraseTask # noqa +from .timing_verification import MatrixTimingVerificationCalibration # noqa diff --git a/bcipy/task/paradigm/matrix/calibration.py b/bcipy/task/paradigm/matrix/calibration.py index a4ab773aa..a16cc6305 100644 --- a/bcipy/task/paradigm/matrix/calibration.py +++ b/bcipy/task/paradigm/matrix/calibration.py @@ -1,6 +1,6 @@ -from typing import Any, Dict, Optional +from typing import Any, Dict, Optional, List -from psychopy import core, visual +from psychopy import visual from bcipy.display import InformationProperties, StimuliProperties from bcipy.display.components.task_bar import CalibrationTaskBar @@ -10,7 +10,7 @@ from bcipy.helpers.parameters import Parameters from bcipy.helpers.save import save_stimuli_position_info from bcipy.helpers.system_utils import get_screen_info -from bcipy.task.base_calibration import BaseCalibrationTask +from bcipy.task.calibration import BaseCalibrationTask class MatrixCalibrationTask(BaseCalibrationTask): @@ -28,12 +28,13 @@ class MatrixCalibrationTask(BaseCalibrationTask): PARAMETERS: ---------- - win (PsychoPy Display Object) - daq (Data Acquisition Object [ClientManager]]) - parameters (Parameters Object) - file_save (String) + parameters (dict) + file_save (str) + fake (bool) + """ - MODE = 'Matrix' + name = 'Matrix Calibration' + paradigm = 'Matrix' @property def screen_info(self) -> Dict[str, Any]: @@ -56,7 +57,6 @@ def exit_display(self) -> None: def cleanup(self) -> None: assert isinstance(self.display, MatrixDisplay) - # TODO: refactor offline_analysis to use session data and and remove this. save_stimuli_position_info(self.display.stim_positions, self.file_save, self.screen_info) return super().cleanup() @@ -68,7 +68,7 @@ def session_task_data(self) -> Optional[Dict[str, Any]]: def init_matrix_display(parameters: Parameters, window: visual.Window, experiment_clock: Clock, - symbol_set: core.StaticPeriod) -> MatrixDisplay: + symbol_set: List[str]) -> MatrixDisplay: """Initialize the matrix display""" info = InformationProperties( info_color=[parameters['info_color']], @@ -78,22 +78,23 @@ def init_matrix_display(parameters: Parameters, window: visual.Window, info_text=[parameters['info_text']], ) stimuli = StimuliProperties(stim_font=parameters['font'], - stim_pos=(-0.6, 0.4), - stim_height=0.1, + stim_pos=(parameters['matrix_stim_pos_x'], parameters['matrix_stim_pos_y']), + stim_height=parameters['matrix_stim_height'], stim_inquiry=[''] * parameters['stim_length'], stim_colors=[parameters['stim_color']] * parameters['stim_length'], stim_timing=[10] * parameters['stim_length'], is_txt_stim=parameters['is_txt_stim'], - prompt_time=parameters["time_prompt"]) + prompt_time=parameters['time_prompt'], + layout=parameters['matrix_keyboard_layout']) task_bar = CalibrationTaskBar(window, inquiry_count=parameters['stim_number'], current_index=0, colors=[parameters['task_color']], font=parameters['font'], - height=parameters['task_height'], - padding=parameters['task_padding']) + height=parameters['matrix_task_height'], + padding=parameters['matrix_task_padding']) return MatrixDisplay(window, experiment_clock, diff --git a/bcipy/task/paradigm/matrix/copy_phrase.py b/bcipy/task/paradigm/matrix/copy_phrase.py index a605688b8..79748e7b7 100644 --- a/bcipy/task/paradigm/matrix/copy_phrase.py +++ b/bcipy/task/paradigm/matrix/copy_phrase.py @@ -1,10 +1,14 @@ """Defines the Copy Phrase Task which uses a Matrix display""" +from psychopy import visual from bcipy.display import InformationProperties, StimuliProperties from bcipy.display.components.task_bar import CopyPhraseTaskBar from bcipy.display.main import PreviewParams from bcipy.display.paradigm.matrix.display import MatrixDisplay +from bcipy.task import TaskMode from bcipy.task.paradigm.rsvp.copy_phrase import RSVPCopyPhraseTask +from bcipy.helpers.parameters import Parameters +from bcipy.helpers.clock import Clock class MatrixCopyPhraseTask(RSVPCopyPhraseTask): @@ -16,26 +20,83 @@ class MatrixCopyPhraseTask(RSVPCopyPhraseTask): Parameters ---------- - win : object, - display window to present visual stimuli. - daq : object, - data acquisition object initialized for the desired protocol parameters : dict, configuration details regarding the experiment. See parameters.json file_save : str, path location of where to save data from the session - signal_models : list of trained signal models. - language_model: object, - trained language model. fake : boolean, optional boolean to indicate whether this is a fake session or not. Returns ------- - file_save : str, - path location of where to save data from the session + TaskData """ - TASK_NAME = 'Matrix Copy Phrase Task' - MODE = 'Matrix' + name = 'Matrix Copy Phrase' + paradigm = 'Matrix' + mode = TaskMode.COPYPHRASE + + PARAMETERS_USED = [ + "time_fixation", + "time_flash", + "time_prompt", + "trial_window", + "font", + "fixation_color", + "trigger_type", + "filter_high", + "filter_low", + "filter_order", + "notch_filter_frequency", + "down_sampling_rate", + "prestim_length", + "is_txt_stim", + "lm_backspace_prob", + "backspace_always_shown", + "decision_threshold", + "max_inq_len", + "max_inq_per_series", + "max_minutes", + "max_selections", + "max_incorrect", + "min_inq_len", + "show_feedback", + "feedback_duration", + "show_preview_inquiry", + "preview_inquiry_isi", + "preview_inquiry_key_input", + "preview_inquiry_error_prob", + "preview_inquiry_length", + "preview_inquiry_progress_method", + "spelled_letters_count", + "stim_color", + "matrix_stim_height", + "stim_jitter", + "stim_length", + "stim_number", + "stim_order", + "stim_pos_x", + "stim_pos_y", + "stim_space_char", + "target_color", + "task_buffer_length", + "task_color", + "matrix_task_height", + "matrix_task_padding", + "matrix_keyboard_layout", + "matrix_rows", + "matrix_columns", + "matrix_width", + "matrix_stim_pos_x", + "matrix_stim_pos_y", + "task_text", + "info_pos_x", + "info_pos_y", + "info_color", + "info_height", + "info_text", + "info_color", + "info_height", + "info_text", + ] def init_display(self) -> MatrixDisplay: """Initialize the Matrix display""" @@ -44,7 +105,10 @@ def init_display(self) -> MatrixDisplay: def init_display( - parameters, win, experiment_clock, starting_spelled_text) -> MatrixDisplay: + parameters: Parameters, + win: visual.Window, + experiment_clock: Clock, + starting_spelled_text: str) -> MatrixDisplay: """Constructs a new Matrix display""" info = InformationProperties( @@ -56,19 +120,20 @@ def init_display( ) stimuli = StimuliProperties(stim_font=parameters['font'], - stim_pos=(parameters['stim_pos_x'], - parameters['stim_pos_y']), - stim_height=parameters['stim_height'], + stim_pos=(parameters['matrix_stim_pos_x'], + parameters['matrix_stim_pos_y']), + stim_height=parameters['matrix_stim_height'], is_txt_stim=parameters['is_txt_stim'], - prompt_time=parameters['time_prompt']) + prompt_time=parameters['time_prompt'], + layout=parameters['matrix_keyboard_layout']) task_bar = CopyPhraseTaskBar(win, task_text=parameters['task_text'], spelled_text=starting_spelled_text, colors=[parameters['task_color']], font=parameters['font'], - height=parameters['task_height'], - padding=parameters['task_padding']) + height=parameters['matrix_task_height'], + padding=parameters['matrix_task_padding']) return MatrixDisplay( win, diff --git a/bcipy/task/paradigm/matrix/timing_verification.py b/bcipy/task/paradigm/matrix/timing_verification.py index 2638f52a8..a26c20876 100644 --- a/bcipy/task/paradigm/matrix/timing_verification.py +++ b/bcipy/task/paradigm/matrix/timing_verification.py @@ -3,7 +3,8 @@ from bcipy.helpers.stimuli import (PhotoDiodeStimuli, get_fixation, jittered_timing) -from bcipy.task.base_calibration import Inquiry +from bcipy.task.calibration import Inquiry +from bcipy.task import TaskMode from bcipy.task.paradigm.matrix.calibration import (MatrixCalibrationTask, MatrixDisplay) @@ -15,15 +16,15 @@ class MatrixTimingVerificationCalibration(MatrixCalibrationTask): stimuli can be used with a photodiode to ensure accurate presentations. Input: - win (PsychoPy Display Object) - daq (Data Acquisition Object) parameters (Dictionary) file_save (String) + fake (Boolean) Output: - file_save (String) + TaskData """ - TASK_NAME = 'Matrix Timing Verification Task' + name = 'Matrix Timing Verification' + mode = TaskMode.TIMING_VERIFICATION def init_display(self) -> MatrixDisplay: """Initialize the display""" diff --git a/bcipy/task/paradigm/rsvp/__init__.py b/bcipy/task/paradigm/rsvp/__init__.py index e69de29bb..111883a46 100644 --- a/bcipy/task/paradigm/rsvp/__init__.py +++ b/bcipy/task/paradigm/rsvp/__init__.py @@ -0,0 +1,4 @@ +# Import all RSVP tasks to make them available to the task registry +from .calibration.calibration import RSVPCalibrationTask # noqa +from .calibration.timing_verification import RSVPTimingVerificationCalibration # noqa +from .copy_phrase import RSVPCopyPhraseTask # noqa diff --git a/bcipy/task/paradigm/rsvp/calibration/calibration.py b/bcipy/task/paradigm/rsvp/calibration/calibration.py index 44b6a4cce..b381349f6 100644 --- a/bcipy/task/paradigm/rsvp/calibration/calibration.py +++ b/bcipy/task/paradigm/rsvp/calibration/calibration.py @@ -7,7 +7,7 @@ from bcipy.helpers.clock import Clock from bcipy.helpers.parameters import Parameters from bcipy.helpers.triggers import TriggerType -from bcipy.task.base_calibration import BaseCalibrationTask +from bcipy.task.calibration import BaseCalibrationTask class RSVPCalibrationTask(BaseCalibrationTask): @@ -25,12 +25,12 @@ class RSVPCalibrationTask(BaseCalibrationTask): PARAMETERS: ---------- - win (PsychoPy Display) - daq (Data Acquisition Client) parameters (dict) file_save (str) + fake (bool) """ - MODE = 'RSVP' + name = 'RSVP Calibration' + paradigm = 'RSVP' def trigger_type(self, symbol: str, target: str, index: int) -> TriggerType: @@ -64,8 +64,8 @@ def init_calibration_display_task( ) stimuli = StimuliProperties( stim_font=parameters['font'], - stim_pos=(parameters['stim_pos_x'], parameters['stim_pos_y']), - stim_height=parameters['stim_height'], + stim_pos=(parameters['rsvp_stim_pos_x'], parameters['rsvp_stim_pos_y']), + stim_height=parameters['rsvp_stim_height'], stim_inquiry=[''] * parameters['stim_length'], stim_colors=[parameters['stim_color']] * parameters['stim_length'], stim_timing=[10] * parameters['stim_length'], @@ -76,8 +76,8 @@ def init_calibration_display_task( current_index=0, colors=[parameters['task_color']], font=parameters['font'], - height=parameters['task_height'], - padding=parameters['task_padding']) + height=parameters['rsvp_task_height'], + padding=parameters['rsvp_task_padding']) return CalibrationDisplay(window, static_clock, diff --git a/bcipy/task/paradigm/rsvp/calibration/timing_verification.py b/bcipy/task/paradigm/rsvp/calibration/timing_verification.py index be94ca30c..07bcbba74 100644 --- a/bcipy/task/paradigm/rsvp/calibration/timing_verification.py +++ b/bcipy/task/paradigm/rsvp/calibration/timing_verification.py @@ -1,14 +1,12 @@ # mypy: disable-error-code="assignment" from itertools import cycle, islice, repeat -from typing import Iterator, List +from typing import Any, Iterator, List -from psychopy import visual - -from bcipy.acquisition import ClientManager from bcipy.helpers.parameters import Parameters from bcipy.helpers.stimuli import (PhotoDiodeStimuli, get_fixation, jittered_timing) -from bcipy.task.base_calibration import Inquiry +from bcipy.task.calibration import Inquiry +from bcipy.task import TaskMode from bcipy.task.paradigm.rsvp.calibration.calibration import \ RSVPCalibrationTask @@ -20,22 +18,25 @@ class RSVPTimingVerificationCalibration(RSVPCalibrationTask): stimuli can be used with a photodiode to ensure accurate presentations. Input: - win (PsychoPy Window) - daq (ClientManager) parameters (Parameters) file_save (str) + fake (bool) Output: - file_save (str) + TaskData """ - TASK_NAME = 'RSVP Timing Verification Task' + name = 'RSVP Timing Verification' + mode = TaskMode.TIMING_VERIFICATION - def __init__(self, win: visual.Window, daq: ClientManager, - parameters: Parameters, file_save: str) -> None: - parameters['stim_height'] = 0.8 - parameters['stim_pos_y'] = 0.0 + def __init__(self, + parameters: Parameters, + file_save: str, + fake: bool = False, + **kwargs: Any) -> None: + parameters['rsvp_stim_height'] = 0.8 + parameters['rsvp_stim_pos_y'] = 0.0 super(RSVPTimingVerificationCalibration, - self).__init__(win, daq, parameters, file_save) + self).__init__(parameters, file_save, fake=fake) @property def symbol_set(self) -> List[str]: @@ -63,10 +64,3 @@ def init_inquiry_generator(self) -> Iterator[Inquiry]: return repeat(Inquiry(stimuli, durations, colors), params['stim_number']) - - @classmethod - def label(cls) -> str: - return RSVPTimingVerificationCalibration.TASK_NAME - - def name(self) -> str: - return RSVPTimingVerificationCalibration.TASK_NAME diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index 772d9c103..6380f029d 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -1,22 +1,34 @@ # mypy: disable-error-code="arg-type" import logging -from typing import List, NamedTuple, Optional, Tuple +from typing import Any, List, NamedTuple, Optional, Tuple from psychopy import core, visual +from psychopy.visual import Window from bcipy.acquisition import ClientManager -from bcipy.config import (DEFAULT_EVIDENCE_PRECISION, SESSION_DATA_FILENAME, - SESSION_SUMMARY_FILENAME, TRIGGER_FILENAME, - WAIT_SCREEN_MESSAGE) -from bcipy.display import (InformationProperties, PreviewInquiryProperties, - StimuliProperties) +from bcipy.config import ( + DEFAULT_EVIDENCE_PRECISION, + SESSION_DATA_FILENAME, + SESSION_SUMMARY_FILENAME, + TRIGGER_FILENAME, + WAIT_SCREEN_MESSAGE, + SESSION_LOG_FILENAME +) +from bcipy.display import ( + InformationProperties, + StimuliProperties, +) from bcipy.display.components.task_bar import CopyPhraseTaskBar from bcipy.display.main import PreviewParams from bcipy.display.paradigm.rsvp.mode.copy_phrase import CopyPhraseDisplay from bcipy.feedback.visual.visual_feedback import VisualFeedback +from bcipy.helpers.acquisition import init_acquisition, LslDataServer from bcipy.helpers.clock import Clock from bcipy.helpers.copy_phrase_wrapper import CopyPhraseWrapper -from bcipy.helpers.exceptions import TaskConfigurationException +from bcipy.display import init_display_window +from bcipy.exceptions import TaskConfigurationException +from bcipy.helpers.language_model import init_language_model +from bcipy.helpers.load import load_signal_models from bcipy.helpers.list import destutter from bcipy.helpers.parameters import Parameters from bcipy.helpers.save import _save_session_related_data @@ -34,12 +46,13 @@ from bcipy.language.main import LanguageModel from bcipy.signal.model import SignalModel from bcipy.signal.model.inquiry_preview import compute_probs_after_preview -from bcipy.task import Task -from bcipy.task.control.evidence import (EvidenceEvaluator, - init_evidence_evaluator) +from bcipy.task import Task, TaskData, TaskMode +from bcipy.task.control.evidence import EvidenceEvaluator, init_evidence_evaluator from bcipy.task.data import EvidenceType, Inquiry, Session from bcipy.task.exceptions import DuplicateModelEvidence +logger = logging.getLogger(SESSION_LOG_FILENAME) + class Decision(NamedTuple): """Represents the result of evaluating evidence. @@ -53,6 +66,7 @@ class Decision(NamedTuple): - new_inq_schedule : the next inquiry to present if there was not a decision. """ + decision_made: bool selection: str spelled_text: str @@ -69,27 +83,21 @@ class RSVPCopyPhraseTask(Task): Parameters ---------- - win : object, - display window to present visual stimuli. - daq : object, - data acquisition object initialized for the desired protocol parameters : dict, configuration details regarding the experiment. See parameters.json file_save : str, path location of where to save data from the session - signal_models : list of trained signal models. - language_model: object, - trained language model. fake : boolean, optional boolean to indicate whether this is a fake session or not. Returns ------- - file_save : str, - path location of where to save data from the session + TaskData """ - TASK_NAME = 'RSVP Copy Phrase Task' - MODE = 'RSVP' + name = "RSVP Copy Phrase" + paradigm = "RSVP" + mode = TaskMode.COPYPHRASE + initalized = False PARAMETERS_USED = [ 'time_fixation', 'time_flash', 'time_prompt', 'trial_window', @@ -102,29 +110,28 @@ class RSVPCopyPhraseTask(Task): 'show_preview_inquiry', 'preview_inquiry_isi', 'preview_inquiry_error_prob', 'preview_inquiry_key_input', 'preview_inquiry_length', 'preview_inquiry_progress_method', 'spelled_letters_count', - 'stim_color', 'stim_height', 'stim_jitter', 'stim_length', 'stim_number', - 'stim_order', 'stim_pos_x', 'stim_pos_y', 'stim_space_char', 'target_color', - 'task_buffer_length', 'task_color', 'task_height', 'task_text', + 'stim_color', 'rsvp_stim_height', 'stim_jitter', 'stim_length', 'stim_number', + 'stim_order', 'rsvp_stim_pos_x', 'rsvp_stim_pos_y', 'stim_space_char', 'target_color', + 'task_buffer_length', 'task_color', 'rsvp_task_height', 'task_text', 'rsvp_task_padding', 'info_pos_x', 'info_pos_y', 'info_color', 'info_height', 'info_text', 'info_color', 'info_height', 'info_text', ] def __init__( - self, - win: visual.Window, - daq: ClientManager, - parameters: Parameters, - file_save: str, - signal_models: List[SignalModel], - language_model: LanguageModel, - fake: bool) -> None: + self, + parameters: Parameters, + file_save: str, + fake: bool = False, + **kwargs: Any + ) -> None: super(RSVPCopyPhraseTask, self).__init__() - self.logger = logging.getLogger(__name__) + self.fake = fake + self.parameters = parameters + self.language_model = self.get_language_model() + self.signal_models = self.get_signal_models() + daq, servers, win = self.setup(parameters, file_save, fake) + self.servers = servers self.window = win self.daq = daq - self.parameters = parameters - self.signal_models = signal_models - self.language_model = language_model - self.fake = fake self.validate_parameters() @@ -136,7 +143,8 @@ def __init__( self.button_press_error_prob = parameters['preview_inquiry_error_prob'] - self.evidence_evaluators = self.init_evidence_evaluators(signal_models) + self.signal_model = self.signal_models[0] if self.signal_models else None + self.evidence_evaluators = self.init_evidence_evaluators(self.signal_models) self.evidence_types = self.init_evidence_types(self.signal_models, self.evidence_evaluators) self.file_save = file_save @@ -144,32 +152,108 @@ def __init__( self.trigger_handler = self.default_trigger_handler() self.session_save_location = f"{self.file_save}/{SESSION_DATA_FILENAME}" - self.copy_phrase = parameters['task_text'] + self.copy_phrase = parameters["task_text"] - self.signal_model = signal_models[0] if signal_models else None self.evidence_precision = DEFAULT_EVIDENCE_PRECISION self.feedback = self.init_feedback() - self.setup() + self.set() # set a preview_only parameter self.parameters.add_entry( - 'preview_only', + "preview_only", { - 'value': 'true' if self.parameters['preview_inquiry_progress_method'] == 0 else 'false', - 'section': '', - 'readableName': '', - 'helpTip': '', - 'recommended_values': '', - 'type': 'bool' - } + "value": ( + "true" + if self.parameters["preview_inquiry_progress_method"] == 0 + else "false" + ), + "section": "", + "name": "", + "helpTip": "", + "recommended": "", + "editable": "false", + "type": "bool", + }, ) self.rsvp = self.init_display() - def init_evidence_evaluators(self, - signal_models: List[SignalModel]) -> List[EvidenceEvaluator]: + def setup(self, parameters, data_save_location, fake=False) -> Tuple[ClientManager, List[LslDataServer], Window]: + # Initialize Acquisition + daq, servers = init_acquisition( + parameters, data_save_location, server=fake) + + # Initialize Display + display = init_display_window(parameters) + self.initalized = True + + return daq, servers, display + + def get_language_model(self) -> LanguageModel: + return init_language_model(self.parameters) + + def get_signal_models(self) -> Optional[List[SignalModel]]: + if not self.fake: + try: + model_dir = self.parameters.get('signal_model_path', None) + signal_models = load_signal_models(directory=model_dir) + assert signal_models, f"No signal models found in {model_dir}" + except Exception as error: + logger.exception(f'Cannot load signal model. Exiting. {error}') + raise error + return signal_models + return [] + + def cleanup(self): + self.exit_display() + self.write_offset_trigger() + self.save_session_data() + # Wait some time before exiting so there is trailing eeg data saved + self.wait() + + if self.initalized: + + try: + # Stop Acquisition + self.daq.stop_acquisition() + self.daq.cleanup() + + # Stop Servers + if self.servers: + for server in self.servers: + server.stop() + + # Close the display window + # NOTE: There is currently a bug in psychopy when attempting to shutdown + # windows when using a USB-C monitor. Putting the display close last in + # the inquiry allows acquisition to properly shutdown. + self.window.close() + self.initalized = False + + except Exception as e: + logger.exception(str(e)) + + def save_session_data(self) -> None: + self.session.task_summary = TaskSummary( + self.session, + self.parameters["show_preview_inquiry"], + self.parameters["preview_inquiry_progress_method"], + self.trigger_handler.file_path, + ).as_dict() + self.write_session_data() + + # Evidence is not recorded in the session when using fake decisions. + if self.parameters["summarize_session"] and self.session.has_evidence(): + session_excel( + session=self.session, + excel_file=f"{self.file_save}/{SESSION_SUMMARY_FILENAME}", + ) + + def init_evidence_evaluators( + self, signal_models: List[SignalModel] + ) -> List[EvidenceEvaluator]: """Initializes the evidence evaluators from the provided signal models. Returns a list of evaluators for active devices. Raises an exception if @@ -189,7 +273,7 @@ def init_evidence_evaluators(self, ) evidence_types.append(evidence_type) else: - self.logger.info( + logger.info( f"SignalModel not used: there is no active device of type: {content_type}" ) return evaluators @@ -210,19 +294,19 @@ def default_trigger_handler(self) -> TriggerHandler: return TriggerHandler(self.file_save, TRIGGER_FILENAME, FlushFrequency.EVERY) - def setup(self) -> None: + def set(self) -> None: """Initialize/reset parameters used in the execute run loop.""" - self.spelled_text = str( - self.copy_phrase[0:self.starting_spelled_letters()]) - self.last_selection = '' + self.spelled_text = str(self.copy_phrase[0: self.starting_spelled_letters()]) + self.last_selection = "" self.inq_counter = 0 self.session = Session( save_location=self.file_save, - task='Copy Phrase', - mode=self.MODE, + task="Copy Phrase", + mode=str(self.mode), symbol_set=self.alp, - decision_threshold=self.parameters['decision_threshold']) + decision_threshold=self.parameters["decision_threshold"], + ) self.write_session_data() self.init_copy_phrase_task() @@ -230,10 +314,13 @@ def setup(self) -> None: def init_display(self) -> CopyPhraseDisplay: """Initialize the display""" - return _init_copy_phrase_display(self.parameters, self.window, - self.static_clock, - self.experiment_clock, - self.spelled_text) + return _init_copy_phrase_display( + self.parameters, + self.window, + self.static_clock, + self.experiment_clock, + self.spelled_text, + ) def init_feedback(self) -> Optional[VisualFeedback]: """Initialize visual feedback""" @@ -259,22 +346,26 @@ def validate_parameters(self) -> None: raise TaskConfigurationException(f"parameter '{param}' is required") # ensure data / query parameters are set correctly - buffer_len = self.parameters['task_buffer_length'] - prestim = self.parameters['prestim_length'] - poststim = self.parameters['trial_window'][1] - self.parameters['trial_window'][0] + buffer_len = self.parameters["task_buffer_length"] + prestim = self.parameters["prestim_length"] + poststim = ( + self.parameters["trial_window"][1] - self.parameters["trial_window"][0] + ) if buffer_len < prestim: raise TaskConfigurationException( - f'task_buffer_length=[{buffer_len}] must be greater than prestim_length=[{prestim}]') + f"task_buffer_length=[{buffer_len}] must be greater than prestim_length=[{prestim}]" + ) if buffer_len < poststim: raise TaskConfigurationException( - f'task_buffer_length=[{buffer_len}] must be greater than trial_length=[{poststim}]') + f"task_buffer_length=[{buffer_len}] must be greater than trial_length=[{poststim}]" + ) def starting_spelled_letters(self) -> int: """Number of letters already spelled at the start of the task.""" - spelled_letters_count = self.parameters['spelled_letters_count'] + spelled_letters_count = self.parameters["spelled_letters_count"] if spelled_letters_count > len(self.copy_phrase): - self.logger.info('Already spelled letters exceeds phrase length.') + logger.info("Already spelled letters exceeds phrase length.") spelled_letters_count = 0 return spelled_letters_count @@ -294,22 +385,24 @@ def init_copy_phrase_task(self) -> None: """ self.copy_phrase_task = CopyPhraseWrapper( - self.parameters['min_inq_len'], - self.parameters['max_inq_per_series'], + self.parameters["min_inq_len"], + self.parameters["max_inq_per_series"], lmodel=self.language_model, alp=self.alp, evidence_names=self.evidence_types, task_list=[(str(self.copy_phrase), self.spelled_text)], - is_txt_stim=self.parameters['is_txt_stim'], + is_txt_stim=self.parameters["is_txt_stim"], stim_timing=[ - self.parameters['time_fixation'], self.parameters['time_flash'] + self.parameters["time_fixation"], + self.parameters["time_flash"], ], - decision_threshold=self.parameters['decision_threshold'], - backspace_prob=self.parameters['lm_backspace_prob'], - backspace_always_shown=self.parameters['backspace_always_shown'], - stim_length=self.parameters['stim_length'], - stim_jitter=self.parameters['stim_jitter'], - stim_order=StimuliOrder(self.parameters['stim_order'])) + decision_threshold=self.parameters["decision_threshold"], + backspace_prob=self.parameters["lm_backspace_prob"], + backspace_always_shown=self.parameters["backspace_always_shown"], + stim_length=self.parameters["stim_length"], + stim_jitter=self.parameters["stim_jitter"], + stim_order=StimuliOrder(self.parameters["stim_order"]), + ) def user_wants_to_continue(self) -> bool: """Check if user wants to continue or terminate. @@ -322,10 +415,11 @@ def user_wants_to_continue(self) -> bool: should_continue = get_user_input( self.rsvp, WAIT_SCREEN_MESSAGE, - self.parameters['stim_color'], - first_run=self.first_run) + self.parameters["stim_color"], + first_run=self.first_run, + ) if not should_continue: - self.logger.info('User wants to exit.') + logger.info("User wants to exit.") return should_continue def wait(self, seconds: Optional[float] = None) -> None: @@ -336,11 +430,12 @@ def wait(self, seconds: Optional[float] = None) -> None: - seconds : duration of time to wait; if missing, defaults to the value of the parameter `'task_buffer_length'` """ - seconds = seconds or self.parameters['task_buffer_length'] + seconds = seconds or self.parameters["task_buffer_length"] core.wait(seconds) - def present_inquiry(self, inquiry_schedule: InquirySchedule - ) -> Tuple[List[Tuple[str, float]], bool]: + def present_inquiry( + self, inquiry_schedule: InquirySchedule + ) -> Tuple[List[Tuple[str, float]], bool]: """Present the given inquiry and return the trigger timing info. Parameters @@ -367,10 +462,13 @@ def present_inquiry(self, inquiry_schedule: InquirySchedule self.wait() # Setup the new stimuli - self.rsvp.schedule_to(stimuli=inquiry_schedule.stimuli[0], - timing=inquiry_schedule.durations[0], - colors=inquiry_schedule.colors[0] - if self.parameters['is_txt_stim'] else None) + self.rsvp.schedule_to( + stimuli=inquiry_schedule.stimuli[0], + timing=inquiry_schedule.durations[0], + colors=( + inquiry_schedule.colors[0] if self.parameters["is_txt_stim"] else None + ), + ) stim_times = self.rsvp.do_inquiry() proceed = not self.rsvp.preview_enabled or self.rsvp.preview_accepted @@ -393,31 +491,36 @@ def check_stop_criteria(self) -> bool: should continue. """ if self.copy_phrase == self.spelled_text: - self.logger.info('Spelling complete') + logger.info("Spelling complete") return False - if (self.inq_counter + 1) >= self.parameters['max_inq_len']: - self.logger.info('Max tries exceeded: to allow for more tries' - ' adjust the Maximum inquiry Length ' - '(max_inq_len) parameter.') + if (self.inq_counter + 1) >= self.parameters["max_inq_len"]: + logger.info( + "Max tries exceeded: to allow for more tries" + " adjust the Maximum inquiry Length " + "(max_inq_len) parameter." + ) return False - if self.session.total_time_spent >= (self.parameters['max_minutes'] * - 60): - self.logger.info('Max time exceeded. To allow for more time ' - 'adjust the max_minutes parameter.') + if self.session.total_time_spent >= (self.parameters["max_minutes"] * 60): + logger.info( + "Max time exceeded. To allow for more time " + "adjust the max_minutes parameter." + ) return False - if self.session.total_number_decisions >= self.parameters['max_selections']: - self.logger.info('Max number of selections reached ' - '(configured with the max_selections parameter)') + if self.session.total_number_decisions >= self.parameters["max_selections"]: + logger.info( + "Max number of selections reached " + "(configured with the max_selections parameter)" + ) return False if consecutive_incorrect( target_text=self.copy_phrase, spelled_text=self.spelled_text) >= self.parameters.get( - 'max_incorrect', 3): - self.logger.info( + 'max_incorrect'): + logger.info( 'Max number of consecutive incorrect selections reached ' '(configured with the max_incorrect parameter)') return False @@ -425,28 +528,26 @@ def check_stop_criteria(self) -> bool: return True def next_target(self) -> str: - """Computes the next target letter based on the currently spelled_text. - """ - if self.copy_phrase[0:len(self.spelled_text)] == self.spelled_text: + """Computes the next target letter based on the currently spelled_text.""" + if self.copy_phrase[0: len(self.spelled_text)] == self.spelled_text: # if correctly spelled so far, get the next letter. return self.copy_phrase[len(self.spelled_text)] return BACKSPACE_CHAR - def execute(self) -> str: + def execute(self) -> TaskData: """Executes the task. Returns ------- data save location (triggers.txt, session.json) """ - self.logger.info('Starting Copy Phrase Task!') + logger.info("Starting Copy Phrase Task!") run = True self.wait() # buffer for data processing while run and self.user_wants_to_continue() and self.current_inquiry: target_stimuli = self.next_target() - stim_times, proceed = self.present_inquiry( - self.current_inquiry) + stim_times, proceed = self.present_inquiry(self.current_inquiry) self.write_trigger_data(stim_times, target_stimuli) self.wait() @@ -464,8 +565,9 @@ def execute(self) -> str: decision_made=decision.decision_made) if decision.decision_made: - self.show_feedback(decision.selection, - (decision.selection == target_stimuli)) + self.show_feedback( + decision.selection, (decision.selection == target_stimuli) + ) self.spelled_text = decision.spelled_text self.current_inquiry = self.next_inquiry() @@ -475,24 +577,9 @@ def execute(self) -> str: run = self.check_stop_criteria() self.inq_counter += 1 - self.exit_display() - self.write_offset_trigger() - - self.session.task_summary = TaskSummary( - self.session, self.parameters['show_preview_inquiry'], - self.parameters['preview_inquiry_progress_method'], - self.trigger_handler.file_path).as_dict() - self.write_session_data() - - # Evidence is not recorded in the session when using fake decisions. - if self.parameters['summarize_session'] and self.session.has_evidence(): - session_excel(session=self.session, - excel_file=f"{self.file_save}/{SESSION_SUMMARY_FILENAME}") - - # Wait some time before exiting so there is trailing eeg data saved - self.wait() + self.cleanup() - return self.file_save + return TaskData(save_path=self.file_save, task_dict=self.session.as_dict()) def evaluate_evidence(self) -> Decision: """Uses the `copy_phrase_task` parameter to evaluate the provided @@ -503,9 +590,9 @@ def evaluate_evidence(self) -> Decision: - self.copy_phrase_task """ if self.fake: - _, spelled, _ = fake_copy_phrase_decision(self.copy_phrase, - self.next_target(), - self.spelled_text) + _, spelled, _ = fake_copy_phrase_decision( + self.copy_phrase, self.next_target(), self.spelled_text + ) # Reset the stoppage criteria by forcing the commit to a decision. self.copy_phrase_task.decision_maker.do_series() # In fake mode, only the LM is providing evidence, so the decision @@ -513,21 +600,24 @@ def evaluate_evidence(self) -> Decision: self.copy_phrase_task.decision_maker.update(spelled) # In fake mode, all inquiries result in a selection. - return Decision(decision_made=True, - selection=spelled[-1], - spelled_text=spelled, - new_inq_schedule=None) + return Decision( + decision_made=True, + selection=spelled[-1], + spelled_text=spelled, + new_inq_schedule=None, + ) decision_made, new_sti = self.copy_phrase_task.decide() spelled_text = self.copy_phrase_task.decision_maker.displayed_state - selection = '' + selection = "" if decision_made: selection = self.copy_phrase_task.decision_maker.last_selection return Decision(decision_made, selection, spelled_text, new_sti) - def add_evidence(self, stim_times: List[List], - proceed: bool = True) -> List[EvidenceType]: + def add_evidence( + self, stim_times: List[List], proceed: bool = True + ) -> List[EvidenceType]: """Add all evidence used to make a decision. Evaluates evidence from various sources (button press, devices, @@ -546,9 +636,7 @@ def add_evidence(self, stim_times: List[List], -------- - self.copy_phrase_task """ - evidences = [ - self.compute_button_press_evidence(proceed) - ] + evidences = [self.compute_button_press_evidence(proceed)] # evidence from one or more devices evidences.extend(self.compute_device_evidence(stim_times, proceed)) @@ -563,7 +651,8 @@ def add_evidence(self, stim_times: List[List], return evidence_types def compute_button_press_evidence( - self, proceed: bool) -> Optional[Tuple[EvidenceType, List[float]]]: + self, proceed: bool + ) -> Optional[Tuple[EvidenceType, List[float]]]: """If 'show_preview_inquiry' feature is enabled, compute the button press evidence and add it to the copy phrase task. @@ -576,20 +665,23 @@ def compute_button_press_evidence( tuple of (evidence type, evidence) or None if inquiry preview is not enabled. """ - if not self.parameters['show_preview_inquiry'] \ - or not self.current_inquiry \ - or self.parameters['preview_only']: + if ( + not self.parameters["show_preview_inquiry"] or + not self.current_inquiry or + self.parameters["preview_only"] + ): return None - probs = compute_probs_after_preview(self.current_inquiry.stimuli[0], - self.alp, - self.button_press_error_prob, - proceed) + probs = compute_probs_after_preview( + self.current_inquiry.stimuli[0], + self.alp, + self.button_press_error_prob, + proceed, + ) return (EvidenceType.BTN, probs) def compute_device_evidence( - self, - stim_times: List[List], - proceed: bool = True) -> List[Tuple[EvidenceType, List[float]]]: + self, stim_times: List[List], proceed: bool = True + ) -> List[Tuple[EvidenceType, List[float]]]: """Get inquiry data from all devices and evaluate the evidence, but don't yet attempt a decision. @@ -608,13 +700,15 @@ def compute_device_evidence( # currently prestim_length is used as a buffer for filter application post_stim_buffer = int(self.parameters.get("task_buffer_length") / 2) - prestim_buffer: float = self.parameters['prestim_length'] - trial_window: Tuple[float, float] = self.parameters['trial_window'] + prestim_buffer: float = self.parameters["prestim_length"] + trial_window: Tuple[float, float] = self.parameters["trial_window"] window_length = trial_window[1] - trial_window[0] inquiry_timing = self.stims_for_decision(stim_times) # update the inquiry timing list (stim, time) based on the trial window first time value - inquiry_timing = [(stim, time + trial_window[0]) for stim, time in inquiry_timing] + inquiry_timing = [ + (stim, time + trial_window[0]) for stim, time in inquiry_timing + ] # Get all data at once so we don't redundantly query devices which are # used in more than one signal model. @@ -622,13 +716,15 @@ def compute_device_evidence( inquiry_timing=inquiry_timing, daq=self.daq, prestim=prestim_buffer, - poststim=post_stim_buffer + window_length) + poststim=post_stim_buffer + window_length, + ) triggers = relative_triggers(inquiry_timing, prestim_buffer) # we assume all are nontargets at this point - labels = ['nontarget'] * len(triggers) + labels = ["nontarget"] * len(triggers) letters, times, filtered_labels = self.copy_phrase_task.letter_info( - triggers, labels) + triggers, labels + ) evidences = [] for evidence_evaluator in self.evidence_evaluators: @@ -637,12 +733,15 @@ def compute_device_evidence( symbols=letters, times=times, target_info=filtered_labels, - window_length=window_length) + window_length=window_length, + ) evidences.append((evidence_evaluator.produces, probs)) return evidences - def stims_for_decision(self, stim_times: List[Tuple[str, float]]) -> List[Tuple[str, float]]: + def stims_for_decision( + self, stim_times: List[Tuple[str, float]] + ) -> List[Tuple[str, float]]: """The stim_timings from the display may include non-letter stimuli such as calibration and inquiry_preview timings. This method extracts only the letter data used to process the data for a decision. @@ -656,16 +755,16 @@ def stims_for_decision(self, stim_times: List[Tuple[str, float]]) -> List[Tuple[ stim times where the stim is in the current alphabet; filters out 'calibration', 'inquiry_preview', etc. """ - return [ - timing for timing in stim_times if timing[0] in (self.alp + ['+']) - ] - - def new_data_record(self, - stim_times: List[Tuple[str, float]], - target_stimuli: str, - current_text: str, - decision: Decision, - evidence_types: Optional[List[EvidenceType]] = None) -> Inquiry: + return [timing for timing in stim_times if timing[0] in (self.alp + ["+"])] + + def new_data_record( + self, + stim_times: List[Tuple[str, float]], + target_stimuli: str, + current_text: str, + decision: Decision, + evidence_types: Optional[List[EvidenceType]] = None, + ) -> Inquiry: """Construct a new inquiry data record. Parameters @@ -685,16 +784,19 @@ def new_data_record(self, assert self.current_inquiry, "Current inquiry is required" evidence_types = evidence_types or [] triggers = construct_triggers(self.stims_for_decision(stim_times)) - data = Inquiry(stimuli=self.current_inquiry.stimuli, - timing=self.current_inquiry.durations, - triggers=triggers, - target_info=target_info(triggers, target_stimuli, - self.parameters['is_txt_stim']), - target_letter=target_stimuli, - current_text=current_text, - target_text=self.copy_phrase, - selection=decision.selection, - next_display_state=decision.spelled_text) + data = Inquiry( + stimuli=self.current_inquiry.stimuli, + timing=self.current_inquiry.durations, + triggers=triggers, + target_info=target_info( + triggers, target_stimuli, self.parameters["is_txt_stim"] + ), + target_letter=target_stimuli, + current_text=current_text, + target_text=self.copy_phrase, + selection=decision.selection, + next_display_state=decision.spelled_text, + ) data.precision = self.evidence_precision if not self.fake: @@ -719,10 +821,9 @@ def exit_display(self) -> None: # Give the system time to process self.wait() - def update_session_data(self, - data: Inquiry, - save: bool = True, - decision_made: bool = False) -> None: + def update_session_data( + self, data: Inquiry, save: bool = True, decision_made: bool = False + ) -> None: """Update the current session with the latest inquiry data Parameters @@ -749,25 +850,26 @@ def write_session_data(self) -> None: """Save session data to disk.""" if self.session: session_file = _save_session_related_data( - self.session_save_location, - self.session.as_dict()) + self.session_save_location, self.session.as_dict() + ) session_file.close() def write_offset_trigger(self) -> None: - """Append the offset to the end of the triggers file. - """ + """Append the offset to the end of the triggers file.""" # To help support future refactoring or use of lsl timestamps only # we write only the sample offset here. triggers = [] for content_type, client in self.daq.clients_by_type.items(): - label = offset_label(content_type.name, prefix='daq_sample_offset') + label = offset_label(content_type.name, prefix="daq_sample_offset") time = client.offset(self.rsvp.first_stim_time) triggers.append(Trigger(label, TriggerType.SYSTEM, time)) self.trigger_handler.add_triggers(triggers) self.trigger_handler.close() - def write_trigger_data(self, stim_times: List[Tuple[str, float]], target_stimuli: str) -> None: + def write_trigger_data( + self, stim_times: List[Tuple[str, float]], target_stimuli: str + ) -> None: """Save trigger data to disk. Parameters @@ -781,13 +883,15 @@ def write_trigger_data(self, stim_times: List[Tuple[str, float]], target_stimuli offset_triggers = [] for content_type, client in self.daq.clients_by_type.items(): label = offset_label(content_type.name) - time = client.offset( - self.rsvp.first_stim_time) - self.rsvp.first_stim_time - offset_triggers.append(Trigger(label, TriggerType.OFFSET, - time)) + time = ( + client.offset(self.rsvp.first_stim_time) - self.rsvp.first_stim_time + ) + offset_triggers.append(Trigger(label, TriggerType.OFFSET, time)) self.trigger_handler.add_triggers(offset_triggers) - triggers = convert_timing_triggers(stim_times, target_stimuli, self.trigger_type) + triggers = convert_timing_triggers( + stim_times, target_stimuli, self.trigger_type + ) self.trigger_handler.add_triggers(triggers) def trigger_type(self, symbol: str, target: str, index: int) -> TriggerType: @@ -795,19 +899,16 @@ def trigger_type(self, symbol: str, target: str, index: int) -> TriggerType: Cast a given symbol to a TriggerType. """ - if symbol == 'inquiry_preview': + if symbol == "inquiry_preview": return TriggerType.PREVIEW - if 'bcipy_key_press' in symbol: + if "bcipy_key_press" in symbol: return TriggerType.EVENT - if symbol == '+': + if symbol == "+": return TriggerType.FIXATION if target == symbol: return TriggerType.TARGET return TriggerType.NONTARGET - def name(self) -> str: - return self.TASK_NAME - @property def first_run(self) -> bool: """First run. @@ -830,50 +931,47 @@ class TaskSummary: 2 = press to skip to another inquiry """ - def __init__(self, - session: Session, - show_preview: bool = False, - preview_mode: int = 0, - trigger_path: Optional[str] = None) -> None: - assert preview_mode in range(3), 'Preview mode out of range' + def __init__( + self, + session: Session, + show_preview: bool = False, + preview_mode: int = 0, + trigger_path: Optional[str] = None, + ) -> None: + assert preview_mode in range(3), "Preview mode out of range" self.session = session self.show_preview = show_preview self.preview_mode = preview_mode self.trigger_path = trigger_path - self.logger = logging.getLogger(__name__) + logger = logging.getLogger(__name__) def as_dict(self) -> dict: """Computes the task summary data to append to the session.""" - selections = [ - inq for inq in self.session.all_inquiries if inq.selection - ] + selections = [inq for inq in self.session.all_inquiries if inq.selection] correct = [inq for inq in selections if inq.is_correct_decision] incorrect = [inq for inq in selections if not inq.is_correct_decision] # Note that SPACE is considered a symbol - correct_symbols = [ - inq for inq in correct if inq.selection != BACKSPACE_CHAR - ] + correct_symbols = [inq for inq in correct if inq.selection != BACKSPACE_CHAR] btn_presses = self.btn_press_count() sel_count = len(selections) - switch_per_selection = (btn_presses / - sel_count) if sel_count > 0 else 0 + switch_per_selection = (btn_presses / sel_count) if sel_count > 0 else 0 accuracy = (len(correct) / sel_count) if sel_count > 0 else 0 # Note that minutes includes startup time and any breaks. minutes = self.session.total_time_spent / 60 return { - 'selections_correct': len(correct), - 'selections_incorrect': len(incorrect), - 'selections_correct_symbols': len(correct_symbols), - 'switch_total': btn_presses, - 'switch_per_selection': switch_per_selection, - 'switch_response_time': self.switch_response_time(), - 'typing_accuracy': accuracy, - 'correct_rate': len(correct) / minutes if minutes else 0, - 'copy_rate': len(correct_symbols) / minutes if minutes else 0 + "selections_correct": len(correct), + "selections_incorrect": len(incorrect), + "selections_correct_symbols": len(correct_symbols), + "switch_total": btn_presses, + "switch_per_selection": switch_per_selection, + "switch_response_time": self.switch_response_time(), + "typing_accuracy": accuracy, + "correct_rate": len(correct) / minutes if minutes else 0, + "copy_rate": len(correct_symbols) / minutes if minutes else 0, } def btn_press_count(self) -> int: @@ -903,13 +1001,12 @@ def switch_response_time(self) -> Optional[float]: # Confirm that the data is structured as expected. for preview, keypress in pairs: if (preview.type != TriggerType.PREVIEW) or ( - keypress.type != TriggerType.EVENT): - self.logger.info('Could not compute switch_response_time') + keypress.type != TriggerType.EVENT + ): + logger.info("Could not compute switch_response_time") return None - response_times = [ - keypress.time - preview.time for preview, keypress in pairs - ] + response_times = [keypress.time - preview.time for preview, keypress in pairs] count = len(response_times) return sum(response_times) / count if count > 0 else None @@ -919,48 +1016,45 @@ def switch_triggers(self) -> List[Trigger]: return [] triggers, _offset = TriggerHandler.read_text_file(self.trigger_path) return [ - trg for trg in triggers + trg + for trg in triggers if trg.type in [TriggerType.PREVIEW, TriggerType.EVENT] ] def _init_copy_phrase_display( - parameters: Parameters, - win: visual.Window, - static_clock: core.StaticPeriod, - experiment_clock: Clock, - starting_spelled_text) -> CopyPhraseDisplay: - preview_inquiry = PreviewInquiryProperties( - preview_on=parameters['show_preview_inquiry'], - preview_only=parameters['preview_only'], - preview_inquiry_length=parameters['preview_inquiry_length'], - preview_inquiry_key_input=parameters['preview_inquiry_key_input'], - preview_inquiry_progress_method=parameters[ - 'preview_inquiry_progress_method'], - preview_inquiry_isi=parameters['preview_inquiry_isi']) + parameters: Parameters, + win: visual.Window, + static_clock: core.StaticPeriod, + experiment_clock: Clock, + starting_spelled_text, +) -> CopyPhraseDisplay: info = InformationProperties( - info_color=[parameters['info_color']], - info_pos=[(parameters['info_pos_x'], parameters['info_pos_y'])], - info_height=[parameters['info_height']], - info_font=[parameters['font']], - info_text=[parameters['info_text']], + info_color=[parameters["info_color"]], + info_pos=[(parameters["info_pos_x"], parameters["info_pos_y"])], + info_height=[parameters["info_height"]], + info_font=[parameters["font"]], + info_text=[parameters["info_text"]], + ) + stimuli = StimuliProperties( + stim_font=parameters["font"], + stim_pos=(parameters["rsvp_stim_pos_x"], parameters["rsvp_stim_pos_y"]), + stim_height=parameters["rsvp_stim_height"], + stim_inquiry=["A"] * parameters["stim_length"], + stim_colors=[parameters["stim_color"]] * parameters["stim_length"], + stim_timing=[10] * parameters["stim_length"], + is_txt_stim=parameters["is_txt_stim"], + ) + + task_bar = CopyPhraseTaskBar( + win, + task_text=parameters["task_text"], + spelled_text=starting_spelled_text, + colors=[parameters["task_color"]], + font=parameters["font"], + height=parameters["rsvp_task_height"], + padding=parameters["rsvp_task_padding"], ) - stimuli = StimuliProperties(stim_font=parameters['font'], - stim_pos=(parameters['stim_pos_x'], - parameters['stim_pos_y']), - stim_height=parameters['stim_height'], - stim_inquiry=['A'] * parameters['stim_length'], - stim_colors=[parameters['stim_color']] * parameters['stim_length'], - stim_timing=[10] * parameters['stim_length'], - is_txt_stim=parameters['is_txt_stim']) - - task_bar = CopyPhraseTaskBar(win, - task_text=parameters['task_text'], - spelled_text=starting_spelled_text, - colors=[parameters['task_color']], - font=parameters['font'], - height=parameters['task_height'], - padding=parameters['task_padding']) return CopyPhraseDisplay( win, diff --git a/bcipy/task/paradigm/vep/__init__.py b/bcipy/task/paradigm/vep/__init__.py index e69de29bb..bbcb8bd6c 100644 --- a/bcipy/task/paradigm/vep/__init__.py +++ b/bcipy/task/paradigm/vep/__init__.py @@ -0,0 +1,2 @@ +# Import all VEP tasks to make them available to the task registry +from .calibration import VEPCalibrationTask # noqa diff --git a/bcipy/task/paradigm/vep/calibration.py b/bcipy/task/paradigm/vep/calibration.py index e291a6121..34cf9909e 100644 --- a/bcipy/task/paradigm/vep/calibration.py +++ b/bcipy/task/paradigm/vep/calibration.py @@ -1,9 +1,10 @@ """VEP Calibration task-related code""" +import logging from typing import Any, Dict, Iterator, List, Optional from psychopy import visual # type: ignore -from bcipy.acquisition.multimodal import ClientManager +from bcipy.config import DEFAULT_FRAME_RATE, SESSION_LOG_FILENAME from bcipy.display import InformationProperties, VEPStimuliProperties from bcipy.display.components.layout import centered from bcipy.display.components.task_bar import CalibrationTaskBar @@ -13,10 +14,12 @@ from bcipy.helpers.clock import Clock from bcipy.helpers.parameters import Parameters from bcipy.helpers.triggers import TriggerType -from bcipy.task.base_calibration import BaseCalibrationTask, Inquiry +from bcipy.task.calibration import BaseCalibrationTask, Inquiry from bcipy.task.paradigm.vep.stim_generation import \ generate_vep_calibration_inquiries +logger = logging.getLogger(SESSION_LOG_FILENAME) + class VEPCalibrationTask(BaseCalibrationTask): """VEP Calibration Task. @@ -28,26 +31,30 @@ class VEPCalibrationTask(BaseCalibrationTask): PARAMETERS: ---------- - win (PsychoPy Display Object) - daq (Data Acquisition Object) - parameters (Dictionary) - file_save (String) + parameters (dict) + file_save (str) + fake (bool) """ - MODE = 'VEP' - - def __init__(self, win: visual.Window, daq: ClientManager, - parameters: Parameters, file_save: str): + name = 'VEP Calibration' + paradigm = 'VEP' + + def __init__(self, + parameters: Parameters, + file_save: str, + fake: bool = False, + **kwargs: Any) -> None: self.box_colors = [ '#00FF80', '#FFFFB3', '#CB99FF', '#FB8072', '#80B1D3', '#FF8232' ] self.num_boxes = 6 - super().__init__(win, daq, parameters, file_save) + super().__init__(parameters, file_save, fake=fake, **kwargs) def init_display(self) -> VEPDisplay: """Initialize the display""" return init_vep_display(self.parameters, self.window, self.experiment_clock, self.symbol_set, - self.box_colors) + self.box_colors, + fake=self.fake) def init_inquiry_generator(self) -> Iterator[Inquiry]: """Initializes a generator that returns inquiries to be presented.""" @@ -118,7 +125,7 @@ def target_box_index(inquiry: Inquiry) -> Optional[int]: def init_vep_display(parameters: Parameters, window: visual.Window, experiment_clock: Clock, symbol_set: List[str], - box_colors: List[str]) -> VEPDisplay: + box_colors: List[str], fake: bool = False) -> VEPDisplay: """Initialize the display""" info = InformationProperties( info_color=[parameters['info_color']], @@ -141,7 +148,7 @@ def init_vep_display(parameters: Parameters, window: visual.Window, stim_props = VEPStimuliProperties( stim_font=parameters['font'], stim_pos=box_config.positions, - stim_height=0.1, + stim_height=parameters['vep_stim_height'], timing=timing, stim_color=colors, inquiry=[], @@ -153,9 +160,15 @@ def init_vep_display(parameters: Parameters, window: visual.Window, current_index=0, colors=[parameters['task_color']], font=parameters['font'], - height=parameters['task_height']) + height=parameters['vep_task_height']) # issue #186641183 ; determine a better configuration strategy for flicker + if fake: + frame_rate = window.getActualFrameRate() + if frame_rate is None: + frame_rate = DEFAULT_FRAME_RATE + + logger.info(f"Frame rate set to: {frame_rate}") return VEPDisplay(window, experiment_clock, @@ -165,4 +178,5 @@ def init_vep_display(parameters: Parameters, window: visual.Window, symbol_set=symbol_set, box_config=box_config, flicker_rates=DEFAULT_FLICKER_RATES, - should_prompt_target=True) + should_prompt_target=True, + frame_rate=frame_rate if fake else None) diff --git a/bcipy/task/registry.py b/bcipy/task/registry.py new file mode 100644 index 000000000..36b1bacf2 --- /dev/null +++ b/bcipy/task/registry.py @@ -0,0 +1,49 @@ +"""Task Registry ; used to provide task options to the GUI and command line +tools. User defined tasks can be added to the Registry.""" +from typing import Dict, List, Type +from bcipy.task import Task + + +class TaskRegistry: + registry_dict: Dict[str, Type[Task]] + + def __init__(self): + # Collects all non-abstract subclasses of Task. type ignore is used to work around a mypy bug + # https://github.com/python/mypy/issues/3115 + from bcipy.task.paradigm import vep, rsvp, matrix # noqa + from bcipy.task import actions # noqa + + self.registry_dict = {} + self.collect_subclasses(Task) # type: ignore[type-abstract] + + def collect_subclasses(self, cls: Type[Task]): + """Recursively collects all non-abstract subclasses of the given class and adds them to the registry.""" + for sub_class in cls.__subclasses__(): + if not getattr(sub_class, '__abstractmethods__', False): + self.registry_dict[sub_class.name] = sub_class + self.collect_subclasses(sub_class) + + def get(self, task_name: str) -> Type[Task]: + """Returns a task type based on its name property.""" + if task_name in self.registry_dict: + return self.registry_dict[task_name] + raise ValueError(f'{task_name} not a registered task') + + def get_all_types(self) -> List[Type[Task]]: + """Returns a list of all registered tasks.""" + return list(self.registry_dict.values()) + + def list(self) -> List[str]: + """Returns a list of all registered task names.""" + return list(self.registry_dict.keys()) + + def calibration_tasks(self) -> List[Type[Task]]: + """Returns a list of all registered calibration tasks.""" + from bcipy.task.calibration import BaseCalibrationTask + return [task for task in self.get_all_types() if issubclass(task, BaseCalibrationTask)] + + def register_task(self, task: Type[Task]) -> None: + """Registers a task with the TaskRegistry.""" + # Note that all imported tasks are automatically registered when the TaskRegistry is initialized. This + # method allows for the registration of additional tasks after initialization. + self.registry_dict[task.name] = task diff --git a/bcipy/task/start_task.py b/bcipy/task/start_task.py deleted file mode 100644 index a42a04d67..000000000 --- a/bcipy/task/start_task.py +++ /dev/null @@ -1,104 +0,0 @@ -"""Code for constructing and executing registered tasks""" -# mypy: disable-error-code="arg-type, misc" -from typing import List, Optional -from psychopy import visual - -from bcipy.task import Task -from bcipy.task.exceptions import TaskRegistryException -from bcipy.task.paradigm.matrix.calibration import MatrixCalibrationTask -from bcipy.task.paradigm.matrix.copy_phrase import MatrixCopyPhraseTask -from bcipy.task.paradigm.matrix.timing_verification import \ - MatrixTimingVerificationCalibration -from bcipy.task.paradigm.rsvp.calibration.calibration import \ - RSVPCalibrationTask -from bcipy.task.paradigm.rsvp.calibration.timing_verification import \ - RSVPTimingVerificationCalibration -from bcipy.task.paradigm.rsvp.copy_phrase import RSVPCopyPhraseTask -from bcipy.task.paradigm.vep.calibration import VEPCalibrationTask -from bcipy.task.task_registry import TaskType - -from bcipy.acquisition import ClientManager -from bcipy.helpers.parameters import Parameters -from bcipy.signal.model import SignalModel -from bcipy.language import LanguageModel - - -def make_task( - display_window: visual.Window, - daq: ClientManager, - task: TaskType, - parameters: Parameters, - file_save: str, - signal_models: Optional[List[SignalModel]] = None, - language_model: Optional[LanguageModel] = None, - fake: bool = True) -> Task: - """Creates a Task based on the provided parameters. - - Parameters: - ----------- - display_window: psychopy Window - daq: ClientManager - manages one or more acquisition clients - task: TaskType - parameters: dict - file_save: str - path to file in which to save data - signal_models - list of trained models - language_model - language model - fake: boolean - true if eeg stream is randomly generated - Returns: - -------- - Task instance - """ - - # NORMAL RSVP MODES - if task is TaskType.RSVP_CALIBRATION: - return RSVPCalibrationTask( - display_window, daq, parameters, file_save) - - if task is TaskType.RSVP_COPY_PHRASE: - return RSVPCopyPhraseTask( - display_window, daq, parameters, file_save, signal_models, - language_model, fake=fake) - - if task is TaskType.RSVP_TIMING_VERIFICATION_CALIBRATION: - return RSVPTimingVerificationCalibration(display_window, daq, parameters, file_save) - - if task is TaskType.MATRIX_CALIBRATION: - return MatrixCalibrationTask( - display_window, daq, parameters, file_save - ) - - if task is TaskType.MATRIX_TIMING_VERIFICATION_CALIBRATION: - return MatrixTimingVerificationCalibration(display_window, daq, parameters, file_save) - - if task is TaskType.MATRIX_COPY_PHRASE: - return MatrixCopyPhraseTask( - display_window, daq, parameters, file_save, signal_models, - language_model, fake=fake) - - if task is TaskType.VEP_CALIBRATION: - return VEPCalibrationTask(display_window, daq, parameters, file_save) - - raise TaskRegistryException( - 'The provided experiment type is not registered.') - - -def start_task( - display_window: visual.Window, - daq: ClientManager, - task: TaskType, - parameters: Parameters, - file_save: str, - signal_models: Optional[List[SignalModel]] = None, - language_model: Optional[LanguageModel] = None, - fake: bool = True) -> str: - """Creates a Task and starts execution.""" - bcipy_task = make_task( - display_window, - daq, - task, - parameters, - file_save, - signal_models, - language_model, - fake) - return bcipy_task.execute() diff --git a/bcipy/task/task_registry.py b/bcipy/task/task_registry.py deleted file mode 100644 index 661b1d339..000000000 --- a/bcipy/task/task_registry.py +++ /dev/null @@ -1,63 +0,0 @@ -"""Task Registry ; used to provide task options to the GUI and command line -tools. User defined tasks can be added to the Registry.""" - -# NOTE: -# In the future we may want to consider dynamically retrieving all subclasses -# of Task and use these to populate a registry. We could also provide -# functionality for bcipy users to define their own tasks and register them so -# they would appear as options in the GUI. -# -# However, this approach is currently problematic for the GUI interface. Due -# to the tight coupling of the display code with the Tasks, importing any of -# the Task subclasses causes pygame (a psychopy dependency) to create a GUI, -# which seems to prevent our other GUI code from working. - -from typing import List - -from bcipy.helpers.exceptions import BciPyCoreException -from bcipy.helpers.system_utils import AutoNumberEnum - - -class TaskType(AutoNumberEnum): - """Enum of the registered experiment types (Tasks), along with the label - used for display in the GUI and command line tools. Values are looked up - by their (1-based) index. - - Examples: - >>> TaskType(1) - - - >>> TaskType(1).label - 'RSVP Calibration' - """ - - RSVP_CALIBRATION = 'RSVP Calibration' - RSVP_COPY_PHRASE = 'RSVP Copy Phrase' - RSVP_TIMING_VERIFICATION_CALIBRATION = 'RSVP Time Test Calibration' - MATRIX_CALIBRATION = 'Matrix Calibration' - MATRIX_TIMING_VERIFICATION_CALIBRATION = 'Matrix Time Test Calibration' - MATRIX_COPY_PHRASE = 'Matrix Copy Phrase' - VEP_CALIBRATION = 'VEP Calibration' - - def __init__(self, label): - self.label = label - - @classmethod - def by_value(cls, item): - tasks = cls.list() - # The cls.list method returns a sorted list of enum tasks - # check if item present and return the index + 1 (which is the ENUM value for the task) - if item in tasks: - return cls(tasks.index(item) + 1) - raise BciPyCoreException(f'{item} not a registered TaskType={tasks}') - - @classmethod - def calibration_tasks(cls) -> List['TaskType']: - return [ - task for task in cls if task.name.endswith('CALIBRATION') and - 'COPY_PHRASE' not in task.name - ] - - @classmethod - def list(cls) -> List[str]: - return list(map(lambda c: c.label, cls)) diff --git a/bcipy/task/tests/core/test_actions.py b/bcipy/task/tests/core/test_actions.py new file mode 100644 index 000000000..185ba8cf3 --- /dev/null +++ b/bcipy/task/tests/core/test_actions.py @@ -0,0 +1,73 @@ +import unittest +import subprocess + +from mockito import mock, when, verify, unstub +from bcipy.task import actions, TaskData +from bcipy.task.actions import CodeHookAction, OfflineAnalysisAction, ExperimentFieldCollectionAction + + +class TestActions(unittest.TestCase): + + def setUp(self) -> None: + self.parameters = mock() + self.parameters_path = 'parameters_path' + self.data_directory = 'data/' + + def tearDown(self) -> None: + unstub() + + def test_code_hook_action_subprocess(self) -> None: + code_hook = 'code_hook' + when(subprocess).Popen(code_hook, shell=True).thenReturn(None) + action = CodeHookAction( + parameters=self.parameters, + data_directory=self.data_directory, + code_hook=code_hook, + subprocess=True + ) + response = action.execute() + self.assertIsInstance(response, TaskData) + verify(subprocess, times=1).Popen(code_hook, shell=True) + + def test_code_hook_action_no_subprocess(self) -> None: + code_hook = 'code_hook' + when(subprocess).run(code_hook, shell=True).thenReturn(None) + action = CodeHookAction( + parameters=self.parameters, + data_directory=self.data_directory, + code_hook=code_hook, + subprocess=False + ) + response = action.execute() + self.assertIsInstance(response, TaskData) + verify(subprocess, times=1).run(code_hook, shell=True) + + def test_offline_analysis_action(self) -> None: + cmd_expected = f'bcipy-train -p "{self.parameters_path}"' + + when(subprocess).run(cmd_expected, shell=True, check=True).thenReturn(None) + action = OfflineAnalysisAction( + parameters=self.parameters, + data_directory=self.data_directory, + parameters_path=self.parameters_path, + ) + response = action.execute() + self.assertIsInstance(response, TaskData) + verify(subprocess, times=1).run(cmd_expected, shell=True, check=True) + + def test_experiment_field_collection_action(self) -> None: + experiment_id = 'experiment_id' + when(actions).start_experiment_field_collection_gui(experiment_id, self.data_directory).thenReturn(None) + action = ExperimentFieldCollectionAction( + parameters=self.parameters, + data_directory=self.data_directory, + experiment_id=experiment_id + ) + task_data = action.execute() + self.assertIsNotNone(task_data) + self.assertIsInstance(task_data, TaskData) + verify(actions, times=1).start_experiment_field_collection_gui(experiment_id, self.data_directory) + + +if __name__ == '__main__': + unittest.main() diff --git a/bcipy/task/tests/core/test_task_main.py b/bcipy/task/tests/core/test_task_main.py new file mode 100644 index 000000000..dd3ce22f1 --- /dev/null +++ b/bcipy/task/tests/core/test_task_main.py @@ -0,0 +1,57 @@ +import unittest +from bcipy.task import Task, TaskData, TaskMode + + +class TestTask(unittest.TestCase): + + def test_task_fails_without_name(self): + mode = TaskMode.CALIBRATION + + class TestTask(Task): + + def execute(self) -> TaskData: + ... + + with self.assertRaises(AssertionError): + TestTask(mode=mode) + + def test_task_fails_without_mode(self): + name = "test task" + + class TestTask(Task): + + def execute(self) -> TaskData: + ... + + with self.assertRaises(AssertionError): + TestTask(name=name) + + def test_task_fails_without_execute(self): + name = "test task" + mode = TaskMode.CALIBRATION + + class TestTask(Task): + pass + + with self.assertRaises(TypeError): + TestTask(name=name, mode=mode) + + def test_task_initializes(self): + name = "test task" + mode = TaskMode.CALIBRATION + + class TestTask(Task): + + def __init__(self, name: str, mode: TaskMode): + self.name = name + self.mode = mode + + def execute(self) -> TaskData: + ... + task = TestTask(name=name, mode=mode) + self.assertEqual(task.name, name) + self.assertEqual(task.mode, mode) + + +if __name__ == '__main__': + unittest.main() diff --git a/bcipy/task/tests/orchestrator/test_orchestrator.py b/bcipy/task/tests/orchestrator/test_orchestrator.py new file mode 100644 index 000000000..f2805a849 --- /dev/null +++ b/bcipy/task/tests/orchestrator/test_orchestrator.py @@ -0,0 +1,157 @@ +import unittest +import logging +import json +from mock import mock_open +from mockito import any, mock, when, unstub, verify +from bcipy.task.orchestrator import SessionOrchestrator +from bcipy.task import Task, TaskData +from bcipy.config import DEFAULT_PARAMETERS_PATH +from bcipy.helpers.load import load_json_parameters + + +class TestSessionOrchestrator(unittest.TestCase): + parameter_location = DEFAULT_PARAMETERS_PATH + + def setUp(self) -> None: + self.logger = mock(spec=logging.Logger) + self.logger.info = lambda x: x + self.logger.error = lambda x: x + self.logger.exception = lambda x: x + + def tearDown(self) -> None: + unstub() + + def test_orchestrator_add_task(self) -> None: + task = mock(spec=Task) + task.name = "test task" + task.mode = "test mode" + when(SessionOrchestrator)._init_orchestrator_save_folder(any()).thenReturn() + when(SessionOrchestrator)._init_orchestrator_logger(any()).thenReturn(self.logger) + orchestrator = SessionOrchestrator() + self.assertTrue(orchestrator.tasks == []) + orchestrator.add_task(task) + self.assertTrue(len(orchestrator.tasks) == 1) + + verify(SessionOrchestrator, times=1)._init_orchestrator_save_folder(any()) + verify(SessionOrchestrator, times=1)._init_orchestrator_logger(any()) + + def test_orchestrator_add_tasks(self) -> None: + task1 = mock(spec=Task) + task1.name = "test task" + task1.mode = "test mode" + task2 = mock(spec=Task) + task2.name = "test task" + task2.mode = "test mode" + tasks = [task1, task2] + when(SessionOrchestrator)._init_orchestrator_save_folder(any()).thenReturn() + when(SessionOrchestrator)._init_orchestrator_logger(any()).thenReturn(self.logger) + orchestrator = SessionOrchestrator() + self.assertTrue(orchestrator.tasks == []) + orchestrator.add_tasks(tasks) + self.assertTrue(len(orchestrator.tasks) == 2) + + self.assertEqual(orchestrator.tasks[0], task1) + self.assertEqual(orchestrator.tasks[1], task2) + + verify(SessionOrchestrator, times=1)._init_orchestrator_save_folder(any()) + verify(SessionOrchestrator, times=1)._init_orchestrator_logger(any()) + + def test_orchestrator_execute(self) -> None: + task = mock(spec=Task) + task.name = "test task" + task.mode = "test mode" + task.execute = lambda: TaskData() + when(SessionOrchestrator)._init_orchestrator_save_folder(any()).thenReturn() + when(SessionOrchestrator)._init_orchestrator_logger(any()).thenReturn(self.logger) + when(SessionOrchestrator)._init_task_save_folder(any()).thenReturn() + when(SessionOrchestrator)._init_task_logger(any()).thenReturn() + when(SessionOrchestrator)._save_data().thenReturn() + when(task).__call__( + any(), + any(), + fake=False, + experiment_id=any(), + alert_finished=any(), + parameters_path=any(), + last_task_dir=None, + protocol_path=any(), + progress=any(), + tasks=any(), + exit_callback=any(), + ).thenReturn(task) + orchestrator = SessionOrchestrator() + orchestrator.add_task(task) + orchestrator.execute() + + verify(task, times=1).__call__( + any(), + any(), + fake=False, + experiment_id=any(), + alert_finished=any(), + parameters_path=any(), + last_task_dir=None, + protocol_path=any(), + progress=any(), + tasks=any(), + exit_callback=any()) + verify(SessionOrchestrator, times=1)._init_orchestrator_save_folder(any()) + verify(SessionOrchestrator, times=1)._init_orchestrator_logger(any()) + verify(SessionOrchestrator, times=1)._init_task_save_folder(any()) + verify(SessionOrchestrator, times=1)._init_task_logger(any()) + verify(SessionOrchestrator, times=1)._save_data() + + @mock_open(read_data='{"Phrases": []}') + def test_orchestrator_multiple_copyphrases_loads_from_parameters_when_set(self, mock_file): + parameters = load_json_parameters(self.parameter_location, value_cast=True) + copy_phrase_location = "bcipy/parameters/experiments/phrases.json" + parameters['copy_phrases_location'] = copy_phrase_location + mock_copy_phrases = {"Phrases": [["test", 0], ["test2", 1]]} + when(SessionOrchestrator)._init_orchestrator_save_folder(any()).thenReturn() + when(SessionOrchestrator)._init_orchestrator_logger(any()).thenReturn(self.logger) + when(SessionOrchestrator)._init_task_save_folder(any()).thenReturn() + when(SessionOrchestrator)._init_task_logger(any()).thenReturn() + when(SessionOrchestrator)._save_data().thenReturn() + when(json).load(mock_file).thenReturn(mock_copy_phrases) + + orchestrator = SessionOrchestrator(parameters=parameters) + + self.assertEqual(orchestrator.copyphrases, mock_copy_phrases['Phrases']) + verify(json, times=1).load(mock_file) + + def test_orchestrator_save_data_multiple_copyphrases_saves_remaining_phrases(self): + when(SessionOrchestrator)._init_orchestrator_save_folder(any()).thenReturn() + when(SessionOrchestrator)._init_orchestrator_logger(any()).thenReturn(self.logger) + when(SessionOrchestrator)._init_task_save_folder(any()).thenReturn() + when(SessionOrchestrator)._init_task_logger(any()).thenReturn() + when(SessionOrchestrator)._save_procotol_data().thenReturn() + when(SessionOrchestrator)._save_copy_phrases().thenReturn() + + orchestrator = SessionOrchestrator() + orchestrator.copyphrases = [["test", 0], ["test2", 1]] + + orchestrator._save_data() + verify(SessionOrchestrator, times=1)._save_procotol_data() + verify(SessionOrchestrator, times=1)._save_copy_phrases() + + def test_orchestrator_next_phrase(self): + when(SessionOrchestrator)._init_orchestrator_save_folder(any()).thenReturn() + when(SessionOrchestrator)._init_orchestrator_logger(any()).thenReturn(self.logger) + when(SessionOrchestrator)._init_task_save_folder(any()).thenReturn() + when(SessionOrchestrator)._init_task_logger(any()).thenReturn() + when(SessionOrchestrator)._save_procotol_data().thenReturn() + when(SessionOrchestrator).initialize_copy_phrases().thenReturn() + + orchestrator = SessionOrchestrator() + orchestrator.copyphrases = [["test", 5], ["test2", 1]] + + self.assertEqual(orchestrator.next_phrase, None) + self.assertEqual(orchestrator.starting_index, 0) + orchestrator.set_next_phrase() + self.assertEqual(orchestrator.next_phrase, "test") + self.assertEqual(orchestrator.starting_index, 5) + self.assertTrue(len(orchestrator.copyphrases) == 1) + + +if __name__ == '__main__': + unittest.main() diff --git a/bcipy/task/tests/orchestrator/test_protocol.py b/bcipy/task/tests/orchestrator/test_protocol.py new file mode 100644 index 000000000..1ea8750fe --- /dev/null +++ b/bcipy/task/tests/orchestrator/test_protocol.py @@ -0,0 +1,72 @@ +import unittest +from bcipy.task.orchestrator.protocol import parse_protocol, serialize_protocol, validate_protocol_string +from bcipy.task.actions import OfflineAnalysisAction +from bcipy.task.paradigm.rsvp.calibration.calibration import RSVPCalibrationTask +from bcipy.task.paradigm.rsvp.copy_phrase import RSVPCopyPhraseTask + + +class TestTaskProtocolProcessing(unittest.TestCase): + + def test_parses_one_task(self) -> None: + sequence = 'RSVP Calibration' + parsed = parse_protocol(sequence) + assert len(parsed) == 1 + assert parsed[0] is RSVPCalibrationTask + + def test_parses_with_task_name(self) -> None: + actions = OfflineAnalysisAction.name + parsed = parse_protocol(actions) + assert len(parsed) == 1 + assert parsed[0] is OfflineAnalysisAction + + def test_parses_multiple_tasks(self) -> None: + actions = 'RSVP Calibration -> RSVP Copy Phrase' + parsed = parse_protocol(actions) + assert len(parsed) == 2 + assert parsed[0] is RSVPCalibrationTask + assert parsed[1] is RSVPCopyPhraseTask + + def test_parses_actions_and_tasks(self) -> None: + sequence = 'RSVP Calibration -> OfflineAnalysisAction -> RSVP Copy Phrase' + parsed = parse_protocol(sequence) + assert len(parsed) == 3 + assert parsed[0] is RSVPCalibrationTask + assert parsed[1] is OfflineAnalysisAction + assert parsed[2] is RSVPCopyPhraseTask + + def test_parses_sequence_with_extra_spaces(self) -> None: + actions = ' RSVP Calibration -> OfflineAnalysisAction -> RSVP Copy Phrase ' + parsed = parse_protocol(actions) + assert len(parsed) == 3 + assert parsed[0] is RSVPCalibrationTask + assert parsed[1] is OfflineAnalysisAction + assert parsed[2] is RSVPCopyPhraseTask + + def test_throws_exception_on_invalid_task(self) -> None: + actions = 'RSVP Calibration -> does not exist' + with self.assertRaises(ValueError): + parse_protocol(actions) + + def test_throws_exception_on_invalid_string(self) -> None: + actions = 'thisstringisbad' + with self.assertRaises(ValueError): + parse_protocol(actions) + + def test_validates_valid_action_string(self) -> None: + actions = 'RSVP Calibration -> RSVP Copy Phrase' + validate_protocol_string(actions) + + def test_throws_exception_on_invalid_action_string(self) -> None: + actions = 'RSVP Calibration -> RSVP Copy Phrase -> does not exist' + with self.assertRaises(ValueError): + validate_protocol_string(actions) + + def test_serializes_one_task(self) -> None: + actions = [RSVPCalibrationTask] + serialized = serialize_protocol(actions) + assert serialized == RSVPCalibrationTask.name + + def test_serializes_multiple_tasks(self) -> None: + sequence = [RSVPCalibrationTask, OfflineAnalysisAction, RSVPCopyPhraseTask] + serialized = serialize_protocol(sequence) + assert serialized == 'RSVP Calibration -> OfflineAnalysisAction -> RSVP Copy Phrase' diff --git a/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py b/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py index da0651efe..d6ae98e4b 100644 --- a/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py +++ b/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py @@ -5,7 +5,6 @@ import psychopy from mockito import any, mock, unstub, verify, when -import bcipy.task.base_calibration import bcipy.task.paradigm.matrix.calibration from bcipy.acquisition import LslAcquisitionClient from bcipy.acquisition.devices import DeviceSpec @@ -48,31 +47,37 @@ def setUp(self): 'show_feedback': False, 'show_preview_inquiry': False, 'stim_color': 'white', - 'stim_height': 0.6, + 'matrix_stim_height': 0.6, 'stim_jitter': 0.0, 'stim_length': 3, 'stim_number': 10, 'stim_order': 'random', - 'stim_pos_x': 0.0, - 'stim_pos_y': 0.0, + 'matrix_stim_pos_x': 0.0, + 'matrix_stim_pos_y': 0.0, 'stim_space_char': '_', 'target_color': 'white', 'target_positions': 'distributed', 'task_buffer_length': 2, 'task_color': 'white', - 'task_height': 0.1, + 'matrix_task_height': 0.1, + 'matrix_task_padding': 0.1, 'task_text': 'HELLO_WORLD', 'time_fixation': 0.1, 'time_flash': 0.1, 'time_prompt': 0.1, 'trial_window': (0.0, 0.5), 'trials_before_break': 100, + "preview_inquiry_error_prob": 0.05, 'break_message': 'Take a break!', 'trigger_type': 'image', + 'matrix_keyboard_layout': 'QWERTY', + 'matrix_rows': 3, + 'matrix_columns': 3, + 'matrix_width': 0.6, } self.parameters = Parameters.from_cast_values(**parameters) - self.win = mock({'size': np.array([500, 500]), 'units': 'height'}) + self.servers = [mock()] device_spec = DeviceSpec(name='Testing', channels=['a', 'b', 'c'], @@ -99,6 +104,7 @@ def setUp(self): 'transform': mock(), 'evidence_type': 'ERP' }) + self.fake = False self.display = mock(spec=MatrixDisplay) self.display.first_stim_time = 0.0 @@ -132,33 +138,34 @@ def tearDown(self): """Override""" unstub() - @patch('bcipy.task.base_calibration.TriggerHandler') - @patch('bcipy.task.base_calibration._save_session_related_data') + @patch('bcipy.task.calibration.TriggerHandler') + @patch('bcipy.task.calibration._save_session_related_data') def test_initialize(self, save_session_mock, trigger_handler_mock): """Test initialization""" save_session_mock.return_value = mock() trigger_handler_mock.return_value = mock() + when(bcipy.task.calibration.BaseCalibrationTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) - MatrixCalibrationTask(win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + MatrixCalibrationTask(parameters=self.parameters, + file_save=self.temp_dir, + fake=self.fake) verify(bcipy.task.paradigm.matrix.calibration, times=1).init_matrix_display(self.parameters, self.win, any(), any()) - @patch('bcipy.task.base_calibration.TriggerHandler') - @patch('bcipy.task.base_calibration._save_session_related_data') + @patch('bcipy.task.calibration.TriggerHandler') + @patch('bcipy.task.calibration._save_session_related_data') def test_execute(self, save_session_mock, trigger_handler_mock): """Test task execute""" save_session_mock.return_value = mock() trigger_handler_mock.return_value = mock() - - task = MatrixCalibrationTask(win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + when(bcipy.task.calibration.BaseCalibrationTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) + task = MatrixCalibrationTask(parameters=self.parameters, + file_save=self.temp_dir, + fake=self.fake) when(task).write_offset_trigger().thenReturn(None) when(task).write_trigger_data(any(), any()).thenReturn(None) @@ -172,33 +179,35 @@ def test_execute(self, save_session_mock, trigger_handler_mock): any(), any()) verify(task, times=1).write_offset_trigger() - @patch('bcipy.task.base_calibration.TriggerHandler') - @patch('bcipy.task.base_calibration._save_session_related_data') + @patch('bcipy.task.calibration.TriggerHandler') + @patch('bcipy.task.calibration._save_session_related_data') def test_validate_parameters_throws_task_exception_empty_parameter( self, save_session_mock, trigger_handler_mock): """Test validate parameters throws task exception when parameters is empty.""" save_session_mock.return_value = mock() trigger_handler_mock.return_value = mock() parameters = {} + when(bcipy.task.calibration.BaseCalibrationTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) with self.assertRaises(Exception): - MatrixCalibrationTask(win=self.win, - daq=self.daq, - parameters=parameters, - file_save=self.temp_dir) + MatrixCalibrationTask(parameters=parameters, + file_save=self.temp_dir, + fake=self.fake) - @patch('bcipy.task.base_calibration.TriggerHandler') - @patch('bcipy.task.base_calibration._save_session_related_data') + @patch('bcipy.task.calibration.TriggerHandler') + @patch('bcipy.task.calibration._save_session_related_data') def test_execute_save_stimuli_positions(self, save_session_mock, trigger_handler_mock): """Test execute save stimuli positions method is called as expected.""" save_session_mock.return_value = mock() trigger_handler_mock.return_value = mock() + when(bcipy.task.calibration.BaseCalibrationTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) - task = MatrixCalibrationTask(win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + task = MatrixCalibrationTask(parameters=self.parameters, + file_save=self.temp_dir, + fake=self.fake) when(task).write_offset_trigger().thenReturn(None) when(task).write_trigger_data(any(), any()).thenReturn(None) @@ -215,18 +224,19 @@ def test_execute_save_stimuli_positions(self, save_session_mock, any(), any()) verify(task, times=1).write_offset_trigger() - @patch('bcipy.task.base_calibration.TriggerHandler') - @patch('bcipy.task.base_calibration._save_session_related_data') + @patch('bcipy.task.calibration.TriggerHandler') + @patch('bcipy.task.calibration._save_session_related_data') def test_trigger_type_targetness(self, save_session_mock, trigger_handler_mock): """Test trigger type targetness.""" save_session_mock.return_value = mock() trigger_handler_mock.return_value = mock() - task = MatrixCalibrationTask(win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + when(bcipy.task.calibration.BaseCalibrationTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) + task = MatrixCalibrationTask(parameters=self.parameters, + file_save=self.temp_dir, + fake=self.fake) # non-target symbol = 'N' @@ -244,17 +254,18 @@ def test_trigger_type_targetness(self, save_session_mock, self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.TARGET) - @patch('bcipy.task.base_calibration.TriggerHandler') - @patch('bcipy.task.base_calibration._save_session_related_data') + @patch('bcipy.task.calibration.TriggerHandler') + @patch('bcipy.task.calibration._save_session_related_data') def test_trigger_type_fixation(self, save_session_mock, trigger_handler_mock): """Test trigger type fixation.""" save_session_mock.return_value = mock() trigger_handler_mock.return_value = mock() - task = MatrixCalibrationTask(win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + when(bcipy.task.calibration.BaseCalibrationTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) + task = MatrixCalibrationTask(parameters=self.parameters, + file_save=self.temp_dir, + fake=self.fake) # fixation symbol = '+' @@ -264,18 +275,19 @@ def test_trigger_type_fixation(self, save_session_mock, self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.FIXATION) - @patch('bcipy.task.base_calibration.TriggerHandler') - @patch('bcipy.task.base_calibration._save_session_related_data') + @patch('bcipy.task.calibration.TriggerHandler') + @patch('bcipy.task.calibration._save_session_related_data') def test_trigger_type_prompt(self, save_session_mock, trigger_handler_mock): """Test trigger type prompt.""" save_session_mock.return_value = mock() trigger_handler_mock.return_value = mock() + when(bcipy.task.calibration.BaseCalibrationTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) - task = MatrixCalibrationTask(win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + task = MatrixCalibrationTask(parameters=self.parameters, + file_save=self.temp_dir, + fake=self.fake) # prompt, index = 0, otherwise it would be a target symbol = 'P' @@ -285,19 +297,20 @@ def test_trigger_type_prompt(self, save_session_mock, self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.PROMPT) - @patch('bcipy.task.base_calibration.TriggerHandler') - @patch('bcipy.task.base_calibration._save_session_related_data') + @patch('bcipy.task.calibration.TriggerHandler') + @patch('bcipy.task.calibration._save_session_related_data') def test_write_trigger_data_first_run(self, save_session_mock, trigger_handler_mock): """Test write trigger data when it is the first run of the task.""" handler_mock = Mock() save_session_mock.return_value = mock() trigger_handler_mock.return_value = handler_mock + when(bcipy.task.calibration.BaseCalibrationTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) - task = MatrixCalibrationTask(win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + task = MatrixCalibrationTask(parameters=self.parameters, + file_save=self.temp_dir, + fake=self.fake) client_by_type_resp = {ContentType.EEG: self.eeg_client_mock} timing_mock = mock() @@ -305,66 +318,68 @@ def test_write_trigger_data_first_run(self, save_session_mock, first_run = True when(self.daq).client_by_type( ContentType.EEG).thenReturn(client_by_type_resp) - when(bcipy.task.base_calibration).offset_label('EEG').thenReturn( + when(bcipy.task.calibration).offset_label('EEG').thenReturn( 'starting_offset') - when(bcipy.task.base_calibration).convert_timing_triggers( + when(bcipy.task.calibration).convert_timing_triggers( timing, timing[0][0], any()).thenReturn(timing_mock) task.write_trigger_data(timing, first_run) self.assertEqual(2, handler_mock.add_triggers.call_count) verify(self.eeg_client_mock, times=1).offset(0.0) - verify(bcipy.task.base_calibration, times=1).offset_label('EEG') - verify(bcipy.task.base_calibration, + verify(bcipy.task.calibration, times=1).offset_label('EEG') + verify(bcipy.task.calibration, times=1).convert_timing_triggers(timing, timing[0][0], any()) - @patch('bcipy.task.base_calibration.TriggerHandler') - @patch('bcipy.task.base_calibration._save_session_related_data') + @patch('bcipy.task.calibration.TriggerHandler') + @patch('bcipy.task.calibration._save_session_related_data') def test_write_trigger_data_not_first_run(self, save_session_mock, trigger_handler_mock): """Test write trigger data when it is not the first run of the task.""" handler_mock = Mock() save_session_mock.return_value = mock() trigger_handler_mock.return_value = handler_mock + when(bcipy.task.calibration.BaseCalibrationTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) - task = MatrixCalibrationTask(win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + task = MatrixCalibrationTask(parameters=self.parameters, + file_save=self.temp_dir, + fake=self.fake) timing_mock = mock() timing = [('a', 0.0)] first_run = False - when(bcipy.task.base_calibration).convert_timing_triggers( + when(bcipy.task.calibration).convert_timing_triggers( timing, timing[0][0], any()).thenReturn(timing_mock) task.write_trigger_data(timing, first_run) handler_mock.add_triggers.assert_called_once() - @patch('bcipy.task.base_calibration.TriggerHandler') - @patch('bcipy.task.base_calibration._save_session_related_data') + @patch('bcipy.task.calibration.TriggerHandler') + @patch('bcipy.task.calibration._save_session_related_data') def test_write_offset_trigger(self, save_session_mock, trigger_handler_mock): """Test write offset trigger""" save_session_mock.return_value = mock() handler_mock = Mock() trigger_handler_mock.return_value = handler_mock + when(bcipy.task.calibration.BaseCalibrationTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) - task = MatrixCalibrationTask(win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + task = MatrixCalibrationTask(parameters=self.parameters, + file_save=self.temp_dir, + fake=self.fake) client_by_type_resp = {ContentType.EEG: self.eeg_client_mock} when(self.daq).client_by_type( ContentType.EEG).thenReturn(client_by_type_resp) - when(bcipy.task.base_calibration).offset_label( + when(bcipy.task.calibration).offset_label( 'EEG', prefix='daq_sample_offset').thenReturn('daq_sample_offset') task.write_offset_trigger() handler_mock.close.assert_called_once() handler_mock.add_triggers.assert_called_once() verify(self.eeg_client_mock, times=1).offset(0.0) - verify(bcipy.task.base_calibration, + verify(bcipy.task.calibration, times=1).offset_label('EEG', prefix='daq_sample_offset') diff --git a/bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py b/bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py index 8011205ce..2ab8fc9dd 100644 --- a/bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py +++ b/bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py @@ -4,6 +4,7 @@ import psychopy from mockito import any, mock, unstub, verify, when +import bcipy.task.calibration import bcipy.task.paradigm.rsvp.calibration.calibration from bcipy.acquisition import LslAcquisitionClient from bcipy.acquisition.devices import DeviceSpec @@ -46,19 +47,20 @@ def setUp(self): 'show_feedback': False, 'show_preview_inquiry': False, 'stim_color': 'white', - 'stim_height': 0.6, + 'rsvp_stim_height': 0.6, 'stim_jitter': 0.0, 'stim_length': 3, 'stim_number': 10, 'stim_order': 'random', - 'stim_pos_x': 0.0, - 'stim_pos_y': 0.0, + 'rsvp_stim_pos_x': 0.0, + 'rsvp_stim_pos_y': 0.0, 'stim_space_char': '_', 'target_color': 'white', 'target_positions': 'distributed', 'task_buffer_length': 2, 'task_color': 'white', - 'task_height': 0.1, + 'rsvp_task_height': 0.1, + 'rsvp_task_padding': 0.1, 'task_text': 'HELLO_WORLD', 'time_fixation': 0.1, 'time_flash': 0.1, @@ -91,6 +93,8 @@ def setUp(self): } }) self.temp_dir = '' + self.fake = False + self.servers = [mock()] self.model_metadata = mock({ 'device_spec': device_spec, 'transform': mock(), @@ -108,10 +112,10 @@ def setUp(self): when(bcipy.task.paradigm.rsvp.calibration.calibration ).init_calibration_display_task(self.parameters, self.win, any(), any()).thenReturn(self.display) - when(bcipy.task.base_calibration).trial_complete_message( + when(bcipy.task.calibration).trial_complete_message( any(), any()).thenReturn([]) - when(bcipy.task.base_calibration.TriggerHandler).write().thenReturn() - when(bcipy.task.base_calibration.TriggerHandler).add_triggers( + when(bcipy.task.calibration.TriggerHandler).write().thenReturn() + when(bcipy.task.calibration.TriggerHandler).add_triggers( any()).thenReturn() when(psychopy.event).getKeys(keyList=['space', 'escape'], @@ -125,33 +129,37 @@ def tearDown(self): """Override""" unstub() - @patch('bcipy.task.base_calibration.TriggerHandler') - @patch('bcipy.task.base_calibration._save_session_related_data') - def test_initialize(self, save_session_mock, trigger_handler_mock): + @patch('bcipy.task.calibration.TriggerHandler') + @patch('bcipy.task.calibration._save_session_related_data') + @patch('bcipy.task.calibration.BaseCalibrationTask.cleanup') + def test_initialize(self, save_session_mock, trigger_handler_mock, cleanup_mock): """Test initialization""" save_session_mock.return_value = mock() trigger_handler_mock.return_value = mock() + when(bcipy.task.calibration.BaseCalibrationTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) + cleanup_mock.return_value = None - RSVPCalibrationTask(win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + RSVPCalibrationTask(parameters=self.parameters, + file_save=self.temp_dir, + fake=self.fake) verify(bcipy.task.paradigm.rsvp.calibration.calibration, times=1).init_calibration_display_task(self.parameters, self.win, any(), any()) - @patch('bcipy.task.base_calibration.TriggerHandler') - @patch('bcipy.task.base_calibration._save_session_related_data') + @patch('bcipy.task.calibration.TriggerHandler') + @patch('bcipy.task.calibration._save_session_related_data') def test_execute(self, save_session_mock, trigger_handler_mock): """Test task execute""" save_session_mock.return_value = mock() trigger_handler_mock.return_value = mock() - task = RSVPCalibrationTask(win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + when(bcipy.task.calibration.BaseCalibrationTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) + task = RSVPCalibrationTask(parameters=self.parameters, + file_save=self.temp_dir, + fake=self.fake) when(task).write_offset_trigger().thenReturn(None) when(task).write_trigger_data(any(), any()).thenReturn(None) @@ -165,31 +173,33 @@ def test_execute(self, save_session_mock, trigger_handler_mock): any(), any()) verify(task, times=1).write_offset_trigger() - @patch('bcipy.task.base_calibration.TriggerHandler') - @patch('bcipy.task.base_calibration._save_session_related_data') + @patch('bcipy.task.calibration.TriggerHandler') + @patch('bcipy.task.calibration._save_session_related_data') def test_validate_parameters_throws_task_exception_empty_parameter( self, save_session_mock, trigger_handler_mock): """Test validate parameters throws task exception when parameters is empty.""" parameters = {} save_session_mock.return_value = mock() trigger_handler_mock.return_value = mock() + when(bcipy.task.calibration.BaseCalibrationTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) with self.assertRaises(Exception): - RSVPCalibrationTask(win=self.win, - daq=self.daq, - parameters=parameters, - file_save=self.temp_dir) + RSVPCalibrationTask(parameters=parameters, + file_save=self.temp_dir, + fake=self.fake) - @patch('bcipy.task.base_calibration.TriggerHandler') - @patch('bcipy.task.base_calibration._save_session_related_data') + @patch('bcipy.task.calibration.TriggerHandler') + @patch('bcipy.task.calibration._save_session_related_data') def test_trigger_type_targetness(self, save_session_mock, trigger_handler_mock): """Test trigger type targetness.""" save_session_mock.return_value = mock() trigger_handler_mock.return_value = mock() - task = RSVPCalibrationTask(win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + when(bcipy.task.calibration.BaseCalibrationTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) + task = RSVPCalibrationTask(parameters=self.parameters, + file_save=self.temp_dir, + fake=self.fake) # non-target symbol = 'N' @@ -207,17 +217,18 @@ def test_trigger_type_targetness(self, save_session_mock, self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.TARGET) - @patch('bcipy.task.base_calibration.TriggerHandler') - @patch('bcipy.task.base_calibration._save_session_related_data') + @patch('bcipy.task.calibration.TriggerHandler') + @patch('bcipy.task.calibration._save_session_related_data') def test_trigger_type_fixation(self, save_session_mock, trigger_handler_mock): """Test trigger type fixation.""" save_session_mock.return_value = mock() trigger_handler_mock.return_value = mock() - task = RSVPCalibrationTask(win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + when(bcipy.task.calibration.BaseCalibrationTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) + task = RSVPCalibrationTask(parameters=self.parameters, + file_save=self.temp_dir, + fake=self.fake) # fixation symbol = '+' @@ -227,17 +238,18 @@ def test_trigger_type_fixation(self, save_session_mock, self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.FIXATION) - @patch('bcipy.task.base_calibration.TriggerHandler') - @patch('bcipy.task.base_calibration._save_session_related_data') + @patch('bcipy.task.calibration.TriggerHandler') + @patch('bcipy.task.calibration._save_session_related_data') def test_trigger_type_prompt(self, save_session_mock, trigger_handler_mock): """Test trigger type prompt.""" + when(bcipy.task.calibration.BaseCalibrationTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) save_session_mock.return_value = mock() trigger_handler_mock.return_value = mock() - task = RSVPCalibrationTask(win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + task = RSVPCalibrationTask(parameters=self.parameters, + file_save=self.temp_dir, + fake=self.fake) # prompt, index = 0, otherwise it would be a target symbol = 'P' @@ -247,17 +259,18 @@ def test_trigger_type_prompt(self, save_session_mock, self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.PROMPT) - @patch('bcipy.task.base_calibration.TriggerHandler') - @patch('bcipy.task.base_calibration._save_session_related_data') + @patch('bcipy.task.calibration.TriggerHandler') + @patch('bcipy.task.calibration._save_session_related_data') def test_trigger_type_preview(self, save_session_mock, trigger_handler_mock): """Test trigger type preview.""" save_session_mock.return_value = mock() trigger_handler_mock.return_value = mock() - task = RSVPCalibrationTask(win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + when(bcipy.task.calibration.BaseCalibrationTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) + task = RSVPCalibrationTask(parameters=self.parameters, + file_save=self.temp_dir, + fake=self.fake) # preview, index > 0, otherwise it would be a prompt symbol = 'inquiry_preview' @@ -267,18 +280,19 @@ def test_trigger_type_preview(self, save_session_mock, self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.PREVIEW) - @patch('bcipy.task.base_calibration.TriggerHandler') - @patch('bcipy.task.base_calibration._save_session_related_data') + @patch('bcipy.task.calibration.TriggerHandler') + @patch('bcipy.task.calibration._save_session_related_data') def test_write_trigger_data_first_run(self, save_session_mock, trigger_handler_mock): """Test write trigger data when it is the first run of the task.""" handler_mock = Mock() save_session_mock.return_value = mock() + when(bcipy.task.calibration.BaseCalibrationTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) trigger_handler_mock.return_value = handler_mock - task = RSVPCalibrationTask(win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + task = RSVPCalibrationTask(parameters=self.parameters, + file_save=self.temp_dir, + fake=self.fake) client_by_type_resp = {ContentType.EEG: self.eeg_client_mock} timing_mock = mock() @@ -286,57 +300,59 @@ def test_write_trigger_data_first_run(self, save_session_mock, first_run = True when(self.daq).client_by_type( ContentType.EEG).thenReturn(client_by_type_resp) - when(bcipy.task.base_calibration).offset_label('EEG').thenReturn( + when(bcipy.task.calibration).offset_label('EEG').thenReturn( 'starting_offset') - when(bcipy.task.base_calibration).convert_timing_triggers( + when(bcipy.task.calibration).convert_timing_triggers( timing, timing[0][0], any()).thenReturn(timing_mock) task.write_trigger_data(timing, first_run) self.assertEqual(2, handler_mock.add_triggers.call_count) verify(self.eeg_client_mock, times=1).offset(0.0) - verify(bcipy.task.base_calibration, times=1).offset_label('EEG') - verify(bcipy.task.base_calibration, + verify(bcipy.task.calibration, times=1).offset_label('EEG') + verify(bcipy.task.calibration, times=1).convert_timing_triggers(timing, timing[0][0], any()) - @patch('bcipy.task.base_calibration.TriggerHandler') - @patch('bcipy.task.base_calibration._save_session_related_data') + @patch('bcipy.task.calibration.TriggerHandler') + @patch('bcipy.task.calibration._save_session_related_data') def test_write_trigger_data_not_first_run(self, save_session_mock, trigger_handler_mock): """Test write trigger data when it is not the first run of the task.""" handler_mock = Mock() save_session_mock.return_value = mock() trigger_handler_mock.return_value = handler_mock - task = RSVPCalibrationTask(win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + when(bcipy.task.calibration.BaseCalibrationTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) + task = RSVPCalibrationTask(parameters=self.parameters, + file_save=self.temp_dir, + fake=self.fake) timing_mock = mock() timing = [('a', 0.0)] first_run = False - when(bcipy.task.base_calibration).convert_timing_triggers( + when(bcipy.task.calibration).convert_timing_triggers( timing, timing[0][0], any()).thenReturn(timing_mock) task.write_trigger_data(timing, first_run) handler_mock.add_triggers.assert_called_once() - @patch('bcipy.task.base_calibration.TriggerHandler') - @patch('bcipy.task.base_calibration._save_session_related_data') + @patch('bcipy.task.calibration.TriggerHandler') + @patch('bcipy.task.calibration._save_session_related_data') def test_write_offset_trigger(self, save_session_mock, trigger_handler_mock): """Test write offset trigger""" save_session_mock.return_value = mock() handler_mock = Mock() trigger_handler_mock.return_value = handler_mock - task = RSVPCalibrationTask(win=self.win, - daq=self.daq, - parameters=self.parameters, - file_save=self.temp_dir) + when(bcipy.task.calibration.BaseCalibrationTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) + task = RSVPCalibrationTask(parameters=self.parameters, + file_save=self.temp_dir, + fake=self.fake) client_by_type_resp = {ContentType.EEG: self.eeg_client_mock} when(self.daq).client_by_type( ContentType.EEG).thenReturn(client_by_type_resp) - when(bcipy.task.base_calibration).offset_label( + when(bcipy.task.calibration).offset_label( 'EEG', prefix='daq_sample_offset').thenReturn('daq_sample_offset') when(TriggerHandler).close().thenReturn() @@ -345,9 +361,71 @@ def test_write_offset_trigger(self, save_session_mock, handler_mock.close.assert_called_once() handler_mock.add_triggers.assert_called_once() verify(self.eeg_client_mock, times=1).offset(0.0) - verify(bcipy.task.base_calibration, + verify(bcipy.task.calibration, times=1).offset_label('EEG', prefix='daq_sample_offset') + @patch('bcipy.task.calibration.TriggerHandler') + @patch('bcipy.task.calibration._save_session_related_data') + def test_setup(self, save_session_mock, trigger_handler_mock): + """Test setup""" + save_session_mock.return_value = mock() + handler_mock = Mock() + trigger_handler_mock.return_value = handler_mock + when(bcipy.task.calibration).init_acquisition(any(), any(), server=self.fake).thenReturn( + (self.daq, self.servers)) + when(bcipy.task.calibration).init_display_window(self.parameters).thenReturn( + self.win) + + self.assertFalse(RSVPCalibrationTask.initalized) + task = RSVPCalibrationTask(parameters=self.parameters, + file_save=self.temp_dir, + fake=self.fake) + + self.assertTrue(task.initalized) + verify(bcipy.task.calibration, times=1).init_acquisition( + self.parameters, self.temp_dir, server=self.fake) + verify(bcipy.task.calibration, times=1).init_display_window( + self.parameters) + self.assertEqual((self.daq, self.servers, self.win), + task.setup(self.parameters, self.temp_dir, self.fake)) + + @patch('bcipy.task.calibration.TriggerHandler') + @patch('bcipy.task.calibration._save_session_related_data') + def test_cleanup(self, save_session_mock, trigger_handler_mock): + """Test cleanup""" + save_session_mock.return_value = mock() + handler_mock = Mock() + trigger_handler_mock.return_value = handler_mock + when(bcipy.task.calibration.BaseCalibrationTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) + + # Mock the default cleanup + when(bcipy.task.calibration.BaseCalibrationTask).write_offset_trigger().thenReturn(None) + when(bcipy.task.calibration.BaseCalibrationTask).exit_display().thenReturn(None) + when(bcipy.task.calibration.BaseCalibrationTask).wait().thenReturn(None) + + # Mock the initialized cleanup + when(self.daq).stop_acquisition().thenReturn(None) + when(self.daq).cleanup().thenReturn(None) + when(self.servers[0]).stop().thenReturn(None) + when(self.win).close().thenReturn(None) + task = RSVPCalibrationTask(parameters=self.parameters, + file_save=self.temp_dir, + fake=self.fake) + # because the task is not initialized via setup, we need to set it to True here + task.initalized = True + + task.cleanup() + + verify(self.daq, times=1).stop_acquisition() + verify(self.daq, times=1).cleanup() + verify(self.servers[0], times=1).stop() + verify(self.win, times=1).close() + verify(bcipy.task.calibration.BaseCalibrationTask, times=1).setup(any(), any(), any()) + verify(bcipy.task.calibration.BaseCalibrationTask, times=1).write_offset_trigger() + verify(bcipy.task.calibration.BaseCalibrationTask, times=1).exit_display() + verify(bcipy.task.calibration.BaseCalibrationTask, times=1).wait() + if __name__ == '__main__': unittest.main() diff --git a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py index 1ac1980ee..59706bfc1 100644 --- a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py +++ b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py @@ -14,7 +14,7 @@ from bcipy.acquisition.multimodal import ContentType from bcipy.config import DEFAULT_ENCODING from bcipy.helpers.copy_phrase_wrapper import CopyPhraseWrapper -from bcipy.helpers.exceptions import TaskConfigurationException +from bcipy.exceptions import TaskConfigurationException from bcipy.helpers.parameters import Parameters from bcipy.helpers.stimuli import InquirySchedule from bcipy.helpers.triggers import TriggerHandler @@ -48,7 +48,7 @@ def setUp(self): 'max_inq_len': 50, 'max_inq_per_series': 10, 'max_minutes': 20, - 'min_inq_len': 1, + 'min_inq_len': 5, 'max_selections': 50, 'max_incorrect': 10, 'notch_filter_frequency': 60.0, @@ -60,19 +60,20 @@ def setUp(self): 'show_preview_inquiry': False, 'spelled_letters_count': 0, 'stim_color': 'white', - 'stim_height': 0.6, + 'rsvp_stim_height': 0.6, 'stim_length': 10, 'stim_number': 100, 'stim_jitter': 0.0, 'stim_order': 'random', - 'stim_pos_x': 0.0, - 'stim_pos_y': 0.0, + 'rsvp_stim_pos_x': 0.0, + 'rsvp_stim_pos_y': 0.0, 'stim_space_char': '–', 'summarize_session': False, 'target_color': 'white', 'task_buffer_length': 2, 'task_color': 'white', - 'task_height': 0.1, + 'rsvp_task_height': 0.1, + 'rsvp_task_padding': 0.1, 'task_text': 'HELLO_WORLD', "preview_inquiry_error_prob": 0.05, 'info_pos_x': 0.0, @@ -84,7 +85,7 @@ def setUp(self): 'trigger_type': 'image', } self.parameters = Parameters.from_cast_values(**parameters) - + self.fake = True self.win = mock({'size': [500, 500], 'units': 'height'}) device_spec = DeviceSpec(name='Testing', @@ -108,6 +109,7 @@ def setUp(self): ContentType.EEG: self.eeg_client_mock } }) + self.servers = [mock()] when(self.daq).get_client(ContentType.EEG).thenReturn(self.eeg_client_mock) self.temp_dir = tempfile.mkdtemp() self.model_metadata = mock({ @@ -115,7 +117,7 @@ def setUp(self): 'transform': mock(), 'evidence_type': 'ERP' }) - self.signal_model = mock({'metadata': self.model_metadata}) + self.signal_models = [mock({'metadata': self.model_metadata})] self.language_model = mock() decision_maker = mock() @@ -131,12 +133,17 @@ def setUp(self): when(bcipy.task.paradigm.rsvp.copy_phrase).CopyPhraseWrapper( ...).thenReturn(self.copy_phrase_wrapper) + # mock data for initial series series_gen = mock_inquiry_data() when(self.copy_phrase_wrapper).initialize_series().thenReturn( next(series_gen)) when(TriggerHandler).write().thenReturn() when(TriggerHandler).add_triggers(any()).thenReturn() + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).get_language_model().thenReturn( + self.language_model) + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).get_signal_models().thenReturn( + self.signal_models) def tearDown(self): """Override""" @@ -145,79 +152,70 @@ def tearDown(self): def test_initialize(self): """Test initialization""" + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) RSVPCopyPhraseTask( - win=self.win, - daq=self.daq, parameters=self.parameters, file_save=self.temp_dir, - signal_models=[self.signal_model], - language_model=self.language_model, - fake=True) + fake=self.fake) def test_validate_parameters(self): + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) task = RSVPCopyPhraseTask( - win=self.win, - daq=self.daq, parameters=self.parameters, file_save=self.temp_dir, - signal_models=[self.signal_model], - language_model=self.language_model, - fake=True) + fake=self.fake) task.validate_parameters() def test_validate_parameters_throws_task_exception_missing_parameter(self): parameters = {} + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) with self.assertRaises(TaskConfigurationException): RSVPCopyPhraseTask( - win=self.win, - daq=self.daq, parameters=parameters, file_save=self.temp_dir, - signal_models=[self.signal_model], - language_model=self.language_model, - fake=True) + + fake=self.fake) def test_validate_parameters_throws_task_exception_excess_prestim_length(self): self.parameters['prestim_length'] = 1000 + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) with self.assertRaises(TaskConfigurationException): RSVPCopyPhraseTask( - win=self.win, - daq=self.daq, parameters=self.parameters, file_save=self.temp_dir, - signal_models=[self.signal_model], - language_model=self.language_model, - fake=True) + + fake=self.fake) def test_validate_parameters_throws_task_exception_excess_trial_window(self): self.parameters['trial_window'] = "0.0:1000.0" + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) with self.assertRaises(TaskConfigurationException): RSVPCopyPhraseTask( - win=self.win, - daq=self.daq, parameters=self.parameters, file_save=self.temp_dir, - signal_models=[self.signal_model], - language_model=self.language_model, - fake=True) + + fake=self.fake) @patch('bcipy.task.paradigm.rsvp.copy_phrase.get_user_input') @patch('bcipy.task.paradigm.rsvp.copy_phrase.trial_complete_message') def test_execute_without_inquiry(self, message_mock, user_input_mock): """User should be able to exit the task without viewing any inquiries""" - - task = RSVPCopyPhraseTask(win=self.win, - daq=self.daq, - parameters=self.parameters, + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) + task = RSVPCopyPhraseTask(parameters=self.parameters, file_save=self.temp_dir, - signal_models=[self.signal_model], - language_model=self.language_model, - fake=True) + + fake=self.fake) user_input_mock.return_value = False @@ -227,7 +225,7 @@ def test_execute_without_inquiry(self, message_mock, verify(self.copy_phrase_wrapper, times=1).initialize_series() verify(self.display, times=0).preview_inquiry() verify(self.display, times=0).do_inquiry() - self.assertEqual(self.temp_dir, result) + self.assertEqual(self.temp_dir, result.save_path) self.assertTrue( Path(task.session_save_location).is_file(), @@ -242,14 +240,12 @@ def test_execute_without_inquiry(self, message_mock, def test_execute_fake_data_single_inquiry(self, process_data_mock, message_mock, user_input_mock): """Test that fake data does not use the decision maker""" - - task = RSVPCopyPhraseTask(win=self.win, - daq=self.daq, - parameters=self.parameters, + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) + task = RSVPCopyPhraseTask(parameters=self.parameters, file_save=self.temp_dir, - signal_models=[self.signal_model], - language_model=self.language_model, - fake=True) + + fake=self.fake) # Execute a single inquiry then `escape` to stop user_input_mock.side_effect = [True, False] @@ -265,7 +261,7 @@ def test_execute_fake_data_single_inquiry(self, process_data_mock, message_mock, # Assertions verify(self.copy_phrase_wrapper, times=2).initialize_series() verify(self.display, times=1).do_inquiry() - self.assertEqual(self.temp_dir, result) + self.assertEqual(self.temp_dir, result.save_path) self.assertTrue( Path(task.session_save_location).is_file(), @@ -281,13 +277,12 @@ def test_max_inq_len(self, process_data_mock, message_mock, user_input_mock): """Test stoppage criteria for the max inquiry length""" self.parameters['max_inq_len'] = 2 - task = RSVPCopyPhraseTask(win=self.win, - daq=self.daq, - parameters=self.parameters, + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) + task = RSVPCopyPhraseTask(parameters=self.parameters, file_save=self.temp_dir, - signal_models=[self.signal_model], - language_model=self.language_model, - fake=True) + + fake=self.fake) # Don't provide any `escape` input from the user user_input_mock.return_value = True @@ -302,7 +297,7 @@ def test_max_inq_len(self, process_data_mock, message_mock, # Assertions verify(self.display, times=2).do_inquiry() - self.assertEqual(self.temp_dir, result) + self.assertEqual(self.temp_dir, result.save_path) self.assertTrue( Path(task.session_save_location).is_file(), @@ -321,14 +316,12 @@ def test_spelling_complete(self, process_data_mock, """Test that the task stops when the copy_phrase has been correctly spelled.""" self.parameters['task_text'] = 'Hello' self.parameters['spelled_letters_count'] = 4 - - task = RSVPCopyPhraseTask(win=self.win, - daq=self.daq, - parameters=self.parameters, + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) + task = RSVPCopyPhraseTask(parameters=self.parameters, file_save=self.temp_dir, - signal_models=[self.signal_model], - language_model=self.language_model, - fake=True) + + fake=self.fake) # Don't provide any `escape` input from the user user_input_mock.return_value = True @@ -343,7 +336,7 @@ def test_spelling_complete(self, process_data_mock, # Assertions verify(self.display, times=1).do_inquiry() - self.assertEqual(self.temp_dir, result) + self.assertEqual(self.temp_dir, result.save_path) self.assertTrue( Path(task.session_save_location).is_file(), @@ -359,25 +352,23 @@ def test_spelled_letters(self): """Spelled letters should reset if count is larger than copy phrase.""" self.parameters['task_text'] = 'Hi' self.parameters['spelled_letters_count'] = 3 - task = RSVPCopyPhraseTask(win=self.win, - daq=self.daq, - parameters=self.parameters, + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) + task = RSVPCopyPhraseTask(parameters=self.parameters, file_save=self.temp_dir, - signal_models=[self.signal_model], - language_model=self.language_model, - fake=True) + + fake=self.fake) self.assertEqual(task.starting_spelled_letters(), 0) def test_stims_for_eeg(self): """The correct stims should be sent to get_device_data_for_decision""" - task = RSVPCopyPhraseTask(win=self.win, - daq=self.daq, - parameters=self.parameters, + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) + task = RSVPCopyPhraseTask(parameters=self.parameters, file_save=self.temp_dir, - signal_models=[self.signal_model], - language_model=self.language_model, - fake=True) + + fake=self.fake) timings1 = [['calibration_trigger', 2.0539278959913645], ['+', 3.7769652379938634], ['Y', 4.247819707990857], ['S', 4.46274590199755], ['W', 4.679621118993964], @@ -419,15 +410,14 @@ def test_stims_for_eeg(self): @patch('bcipy.task.paradigm.rsvp.copy_phrase.get_device_data_for_decision') def test_next_letter(self, process_data_mock, message_mock, user_input_mock): + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) """Test that the task stops when the copy_phrase has been correctly spelled.""" self.parameters['task_text'] = 'Hello' - task = RSVPCopyPhraseTask(win=self.win, - daq=self.daq, - parameters=self.parameters, + task = RSVPCopyPhraseTask(parameters=self.parameters, file_save=self.temp_dir, - signal_models=[self.signal_model], - language_model=self.language_model, - fake=True) + + fake=self.fake) task.spelled_text = 'H' self.assertEqual(task.next_target(), 'e') @@ -450,13 +440,12 @@ def test_execute_fake_data_with_preview(self, process_data_mock, message_mock, user_input_mock): """Test that preview is displayed""" self.parameters['show_preview_inquiry'] = True - task = RSVPCopyPhraseTask(win=self.win, - daq=self.daq, - parameters=self.parameters, + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) + task = RSVPCopyPhraseTask(parameters=self.parameters, file_save=self.temp_dir, - signal_models=[self.signal_model], - language_model=self.language_model, - fake=True) + + fake=self.fake) # Execute a single inquiry then `escape` to stop user_input_mock.side_effect = [True, False] @@ -475,7 +464,7 @@ def test_execute_fake_data_with_preview(self, process_data_mock, message_mock, verify(self.copy_phrase_wrapper, times=2).initialize_series() verify(self.display, times=1).do_inquiry() verify(self.copy_phrase_wrapper, times=1).add_evidence(EvidenceType.BTN, ...) - self.assertEqual(self.temp_dir, result) + self.assertEqual(self.temp_dir, result.save_path) @patch('bcipy.task.paradigm.rsvp.copy_phrase.init_evidence_evaluator') @patch('bcipy.task.paradigm.rsvp.copy_phrase.get_user_input') @@ -531,7 +520,8 @@ def test_execute_real_data_single_inquiry(self, process_data_mock, message_mock, when(bcipy.task.paradigm.rsvp.copy_phrase).CopyPhraseWrapper( ...).thenReturn(copy_phrase_wrapper_mock) - + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) # mock data for initial series when(copy_phrase_wrapper_mock).initialize_series().thenReturn( (False, @@ -576,12 +566,9 @@ def test_execute_real_data_single_inquiry(self, process_data_mock, message_mock, 'nontarget', 'nontarget' ])) - task = RSVPCopyPhraseTask(win=self.win, - daq=self.daq, - parameters=self.parameters, + task = RSVPCopyPhraseTask(parameters=self.parameters, file_save=self.temp_dir, - signal_models=[self.signal_model], - language_model=self.language_model, + fake=False) # Execute a single inquiry then `escape` to stop @@ -597,7 +584,7 @@ def test_execute_real_data_single_inquiry(self, process_data_mock, message_mock, verify(copy_phrase_wrapper_mock, times=1).decide(...) verify(self.display, times=0).preview_inquiry() verify(self.display, times=1).do_inquiry() - self.assertEqual(self.temp_dir, result) + self.assertEqual(self.temp_dir, result.save_path) self.assertTrue( Path(task.session_save_location).is_file(), @@ -606,6 +593,62 @@ def test_execute_real_data_single_inquiry(self, process_data_mock, message_mock, session = Session.from_dict(json.load(json_file)) self.assertEqual(1, session.total_number_series) + def test_setup(self): + """Test setup""" + + when(bcipy.task.paradigm.rsvp.copy_phrase).init_acquisition(any(), any(), server=self.fake).thenReturn( + (self.daq, self.servers)) + when(bcipy.task.paradigm.rsvp.copy_phrase).init_display_window(self.parameters).thenReturn( + self.win) + + self.assertFalse(RSVPCopyPhraseTask.initalized) + task = RSVPCopyPhraseTask(parameters=self.parameters, + file_save=self.temp_dir, + + fake=self.fake) + + self.assertTrue(task.initalized) + verify(bcipy.task.paradigm.rsvp.copy_phrase, times=1).init_acquisition( + self.parameters, self.temp_dir, server=self.fake) + verify(bcipy.task.paradigm.rsvp.copy_phrase, times=1).init_display_window( + self.parameters) + self.assertEqual((self.daq, self.servers, self.win), + task.setup(self.parameters, self.temp_dir, self.fake)) + + def test_cleanup(self): + """Test cleanup""" + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) + + # Mock the default cleanup + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).write_offset_trigger().thenReturn(None) + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).exit_display().thenReturn(None) + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).save_session_data().thenReturn(None) + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).wait().thenReturn(None) + + # Mock the initialized cleanup + when(self.daq).stop_acquisition().thenReturn(None) + when(self.daq).cleanup().thenReturn(None) + when(self.servers[0]).stop().thenReturn(None) + when(self.win).close().thenReturn(None) + task = RSVPCopyPhraseTask(parameters=self.parameters, + file_save=self.temp_dir, + + fake=self.fake) + # because the task is not initialized via setup, we need to set it to True here + task.initalized = True + + task.cleanup() + + verify(self.daq, times=1).stop_acquisition() + verify(self.daq, times=1).cleanup() + verify(self.servers[0], times=1).stop() + verify(self.win, times=1).close() + verify(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask, times=1).setup(any(), any(), any()) + verify(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask, times=1).write_offset_trigger() + verify(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask, times=1).exit_display() + verify(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask, times=1).wait() + def mock_inquiry_data(): """Generator that yields data mocking the copy_phrase_wrapper initialize_series method""" diff --git a/bcipy/tests/test_bci_main.py b/bcipy/tests/test_bci_main.py index 4b51234f0..e87dd8c9a 100644 --- a/bcipy/tests/test_bci_main.py +++ b/bcipy/tests/test_bci_main.py @@ -1,558 +1,131 @@ -import logging import unittest -from mockito import (any, mock, unstub, verify, verifyNoUnwantedInteractions, - verifyStubbedInvocationsAreUsed, when) - +from mockito import when, mock, verify, unstub, any +from bcipy.config import DEFAULT_PARAMETERS_PATH +from bcipy.exceptions import BciPyCoreException, UnregisteredExperimentException +from bcipy.task.orchestrator import SessionOrchestrator +from bcipy.main import bci_main from bcipy import main -from bcipy.config import (DEFAULT_EXPERIMENT_ID, DEFAULT_PARAMETERS_PATH, - STATIC_AUDIO_PATH) -from bcipy.helpers.exceptions import UnregisteredExperimentException -from bcipy.main import _clean_up_session, bci_main, execute_task -from bcipy.task import TaskType - -logging.disable(logging.CRITICAL) - - -class TestBciMain(unittest.TestCase): - - parameter_location = DEFAULT_PARAMETERS_PATH - data_save_location = '/' - save_location = '/' - parameters = { - 'data_save_loc': data_save_location, - 'log_name': 'test_log', - 'fake_data': False, - 'signal_model_path': '', - 'lm_path': '', - 'alert_sound_file': 'test.wav', - } - system_info = { - 'bcipy_version': 'test_version' - } - user = 'test_user' - task = mock() - task.label = 'RSVP Calibration' - experiment = DEFAULT_EXPERIMENT_ID - alert = False - fake = parameters['fake_data'] - - def tearDown(self) -> None: - verifyStubbedInvocationsAreUsed() - verifyNoUnwantedInteractions() - unstub() - - def test_bci_main_default_experiment(self) -> None: - when(main).validate_experiment(self.experiment).thenReturn(True) - when(main).validate_bcipy_session(self.parameters, self.fake).thenReturn(True) - when(main).load_json_parameters(self.parameter_location, value_cast=True).thenReturn( - self.parameters - ) - when(main).visualize_session_data(self.save_location, self.parameters).thenReturn(None) - when(main).get_system_info().thenReturn(self.system_info) - when(main).init_save_data_structure( - self.data_save_location, - self.user, - self.parameter_location, - task=self.task.label, - experiment_id=self.experiment, - ).thenReturn(self.save_location) - when(main).configure_logger( - self.save_location, - version=self.system_info['bcipy_version'] - ) - when(main).collect_experiment_field_data(self.experiment, self.save_location) - when(main).execute_task( - self.task, - self.parameters, - self.save_location, - self.alert, - self.fake).thenReturn(True) - - response = bci_main(self.parameter_location, self.user, self.task) - self.assertEqual(response, True) - - # validate all the calls happen as expected and the correct # of times - verify(main, times=1).validate_experiment(self.experiment) - verify(main, times=1).validate_bcipy_session(self.parameters, self.fake) - verify(main, times=1).load_json_parameters(self.parameter_location, value_cast=True) - verify(main, times=1).get_system_info() - verify(main, times=1).visualize_session_data(self.save_location, self.parameters) - verify(main, times=1).init_save_data_structure( - self.data_save_location, - self.user, - self.parameter_location, - task=self.task.label, - experiment_id=self.experiment) - verify(main, times=1).configure_logger( - self.save_location, - version=self.system_info['bcipy_version']) - verify(main, times=1).collect_experiment_field_data(self.experiment, self.save_location) - verify(main, times=1).execute_task(self.task, self.parameters, self.save_location, self.alert, self.fake) - - def test_bci_main_invalid_experiment(self) -> None: - experiment = 'does_not_exist' - with self.assertRaises(UnregisteredExperimentException): - bci_main(self.parameter_location, self.user, self.task, experiment) - - def test_invalid_parameter_location(self) -> None: - invalid_parameter_location = 'does/not/exist.json' - when(main).validate_experiment(self.experiment).thenReturn(True) - - with self.assertRaises(FileNotFoundError): - bci_main(invalid_parameter_location, self.user, self.task) - - verify(main, times=1).validate_experiment(self.experiment) - - def test_bci_main_visualize(self) -> None: - """Test bci_main with visualization enabled.""" - when(main).validate_experiment(self.experiment).thenReturn(True) - when(main).validate_bcipy_session(self.parameters, self.fake).thenReturn(True) - when(main).load_json_parameters(self.parameter_location, value_cast=True).thenReturn( - self.parameters - ) - when(main).visualize_session_data(self.save_location, self.parameters).thenReturn(None) - when(main).get_system_info().thenReturn(self.system_info) - when(main).init_save_data_structure( - self.data_save_location, - self.user, - self.parameter_location, - task=self.task.label, - experiment_id=self.experiment, - ).thenReturn(self.save_location) - when(main).configure_logger( - self.save_location, - version=self.system_info['bcipy_version'] - ) - when(main).collect_experiment_field_data(self.experiment, self.save_location) - when(main).execute_task( - self.task, - self.parameters, - self.save_location, - self.alert, - self.fake).thenReturn(True) - - response = bci_main(self.parameter_location, self.user, self.task, visualize=True) - self.assertEqual(response, True) - - # validate all the calls happen as expected and the correct # of times - verify(main, times=1).validate_experiment(self.experiment) - verify(main, times=1).validate_bcipy_session(self.parameters, self.fake) - verify(main, times=1).load_json_parameters(self.parameter_location, value_cast=True) - verify(main, times=1).get_system_info() - verify(main, times=1).visualize_session_data(self.save_location, self.parameters) - verify(main, times=1).init_save_data_structure( - self.data_save_location, - self.user, - self.parameter_location, - task=self.task.label, - experiment_id=self.experiment) - verify(main, times=1).configure_logger( - self.save_location, - version=self.system_info['bcipy_version']) - verify(main, times=1).collect_experiment_field_data(self.experiment, self.save_location) - verify(main, times=1).execute_task(self.task, self.parameters, self.save_location, self.alert, self.fake) - - def test_bci_main_visualize_disabled(self) -> None: - """Test bci_main with visualization disabled.""" - when(main).validate_experiment(self.experiment).thenReturn(True) - when(main).validate_bcipy_session(self.parameters, self.fake).thenReturn(True) - when(main).load_json_parameters(self.parameter_location, value_cast=True).thenReturn( - self.parameters - ) - when(main).get_system_info().thenReturn(self.system_info) - when(main).init_save_data_structure( - self.data_save_location, - self.user, - self.parameter_location, - task=self.task.label, - experiment_id=self.experiment, - ).thenReturn(self.save_location) - when(main).configure_logger( - self.save_location, - version=self.system_info['bcipy_version'] - ) - when(main).collect_experiment_field_data(self.experiment, self.save_location) - when(main).execute_task( - self.task, - self.parameters, - self.save_location, - self.alert, - self.fake).thenReturn(True) - - response = bci_main(self.parameter_location, self.user, self.task, visualize=False) - self.assertEqual(response, True) - - # validate all the calls happen as expected and the correct # of times - verify(main, times=1).validate_experiment(self.experiment) - verify(main, times=1).validate_bcipy_session(self.parameters, self.fake) - verify(main, times=1).load_json_parameters(self.parameter_location, value_cast=True) - verify(main, times=1).get_system_info() - verify(main, times=1).init_save_data_structure( - self.data_save_location, - self.user, - self.parameter_location, - task=self.task.label, - experiment_id=self.experiment) - verify(main, times=1).configure_logger( - self.save_location, - version=self.system_info['bcipy_version']) - verify(main, times=1).collect_experiment_field_data(self.experiment, self.save_location) - verify(main, times=1).execute_task(self.task, self.parameters, self.save_location, self.alert, self.fake) - - def test_bci_main_fake(self) -> None: - """Test bci_main with fake data override.""" - fake = True - when(main).validate_experiment(self.experiment).thenReturn(True) - when(main).validate_bcipy_session(self.parameters, fake).thenReturn(True) - when(main).load_json_parameters(self.parameter_location, value_cast=True).thenReturn( - self.parameters - ) - when(main).visualize_session_data(self.save_location, self.parameters).thenReturn(None) - when(main).get_system_info().thenReturn(self.system_info) - when(main).init_save_data_structure( - self.data_save_location, - self.user, - self.parameter_location, - task=self.task.label, - experiment_id=self.experiment, - ).thenReturn(self.save_location) - when(main).configure_logger( - self.save_location, - version=self.system_info['bcipy_version'] - ) - when(main).collect_experiment_field_data(self.experiment, self.save_location) - when(main).execute_task( - self.task, - self.parameters, - self.save_location, - self.alert, - fake).thenReturn(True) - - response = bci_main(self.parameter_location, self.user, self.task, fake=fake) - self.assertEqual(response, True) - - # validate all the calls happen as expected and the correct # of times - verify(main, times=1).validate_experiment(self.experiment) - verify(main, times=1).validate_bcipy_session(self.parameters, fake) - verify(main, times=1).load_json_parameters(self.parameter_location, value_cast=True) - verify(main, times=1).get_system_info() - verify(main, times=1).visualize_session_data(self.save_location, self.parameters) - verify(main, times=1).init_save_data_structure( - self.data_save_location, - self.user, - self.parameter_location, - task=self.task.label, - experiment_id=self.experiment) - verify(main, times=1).configure_logger( - self.save_location, - version=self.system_info['bcipy_version']) - verify(main, times=1).collect_experiment_field_data(self.experiment, self.save_location) - verify(main, times=1).execute_task(self.task, self.parameters, self.save_location, self.alert, fake) - - -class TestCleanUpSession(unittest.TestCase): - - def tearDown(self) -> None: - unstub() - - def test_clean_up_no_server(self) -> None: - daq = mock() - display = mock() - servers = [] - # mock the required daq calls - when(daq).stop_acquisition() - when(daq).cleanup() - # mock the required display call - when(display).close() - - response = _clean_up_session(display, daq, servers) - self.assertTrue(response) - - verify(daq, times=1).stop_acquisition() - verify(daq, times=1).cleanup() - verify(display, times=1).close() - - def test_clean_up_with_server(self) -> None: - daq = mock() - display = mock() - server = mock() - servers = [server] - - # mock the required daq calls - when(daq).stop_acquisition() - when(daq).cleanup() - - # mock the required display call - when(display).close() - - # mock the required server call - when(server).stop() - - response = _clean_up_session(display, daq, servers) - self.assertTrue(response) - - verify(daq, times=1).stop_acquisition() - verify(daq, times=1).cleanup() - verify(display, times=1).close() - verify(server, times=1).stop() - - -class TestExecuteTask(unittest.TestCase): +class TestBCIMain(unittest.TestCase): def setUp(self) -> None: + self.parameters_path = DEFAULT_PARAMETERS_PATH self.parameters = { - 'k_folds': 10, - 'is_txt_stim': True, - 'signal_model_path': '', - 'alert_sound_file': 'test.wav', + 'fake_data': False, + 'parameter_location': False, + 'visualize': False, + 'data_save_loc': 'data/', } - self.save_folder = '/' + self.user = 'test user' + self.experiment = 'default' self.alert = False - self.task = TaskType(1) - self.fake = True - self.display_mock = mock() - self.daq = mock() - self.eeg_client = mock() - when(self.daq).get_client('EEG').thenReturn(self.eeg_client) - self.server = [mock()] + self.visualize = False + self.fake = False + self.logger = mock() + self.logger.info = lambda x: x def tearDown(self) -> None: unstub() - def test_execute_task_fake_data(self) -> None: - response = (self.daq, self.server) - when(main).init_eeg_acquisition( - self.parameters, - self.save_folder, - server=self.fake - ).thenReturn(response) - when(main).init_display_window(self.parameters).thenReturn(self.display_mock) - when(main).print_message(self.display_mock, any()) - when(main).start_task( - self.display_mock, - self.daq, - self.task, - self.parameters, - self.save_folder, - language_model=None, - signal_models=[], - fake=self.fake, - ) - when(main)._clean_up_session(self.display_mock, self.daq, self.server) - - execute_task(self.task, self.parameters, self.save_folder, self.alert, self.fake) - - verify(main, times=1).init_eeg_acquisition( - self.parameters, - self.save_folder, - server=self.fake) - verify(main, times=1).init_display_window(self.parameters) - verify(main, times=1).print_message(self.display_mock, any()) - verify(main, times=1).start_task( - self.display_mock, - self.daq, - self.task, - self.parameters, - self.save_folder, - language_model=None, - signal_models=[], - fake=self.fake, - ) - verify(main, times=1)._clean_up_session(self.display_mock, self.daq, self.server) - - def test_execute_task_real_data(self) -> None: - self.fake = False - response = (self.daq, self.server) - when(main).init_eeg_acquisition( - self.parameters, - self.save_folder, - server=self.fake - ).thenReturn(response) - when(main).init_display_window(self.parameters).thenReturn(self.display_mock) - when(main).print_message(self.display_mock, any()) - when(main).start_task( - self.display_mock, - self.daq, - self.task, - self.parameters, - self.save_folder, - language_model=None, - signal_models=[], - fake=self.fake, - ) - when(main)._clean_up_session(self.display_mock, self.daq, self.server) - - execute_task(self.task, self.parameters, self.save_folder, self.alert, self.fake) - - verify(main, times=1).init_eeg_acquisition( - self.parameters, - self.save_folder, - server=self.fake) - verify(main, times=1).init_display_window(self.parameters) - verify(main, times=1).print_message(self.display_mock, any()) - verify(main, times=1).start_task( - self.display_mock, - self.daq, - self.task, - self.parameters, - self.save_folder, - language_model=None, - signal_models=[], - fake=self.fake, - ) - verify(main, times=1)._clean_up_session(self.display_mock, self.daq, self.server) - - def test_execute_task_non_calibration_real_data(self) -> None: - self.fake = False - model_path = "data/mycalib/" - self.parameters['signal_model_path'] = model_path - self.task = TaskType(2) - signal_model = mock() - language_model = mock() - file_name = 'test' - load_model_response = [signal_model] - eeg_response = (self.daq, self.server) - when(main).init_eeg_acquisition( - self.parameters, - self.save_folder, - server=self.fake).thenReturn(eeg_response) - when(main).init_display_window(self.parameters).thenReturn(self.display_mock) - when(main).print_message(self.display_mock, any()) - when(main).load_signal_models(directory=model_path).thenReturn(load_model_response) - when(main).init_language_model(self.parameters).thenReturn(language_model) - when(main).start_task( - self.display_mock, - self.daq, - self.task, - self.parameters, - self.save_folder, - language_model=language_model, - signal_models=[signal_model], - fake=self.fake, - ) - when(main)._clean_up_session(self.display_mock, self.daq, self.server) - - execute_task(self.task, self.parameters, self.save_folder, self.alert, self.fake) - - verify(main, times=1).init_eeg_acquisition( - self.parameters, - self.save_folder, - server=self.fake) - verify(main, times=1).init_display_window(self.parameters) - verify(main, times=1).print_message(self.display_mock, any()) - verify(main, times=1).start_task( - self.display_mock, - self.daq, - self.task, - self.parameters, - self.save_folder, - language_model=language_model, - signal_models=[signal_model], - fake=self.fake, - ) - verify(main, times=1).load_signal_models(directory=model_path) - verify(main, times=1)._clean_up_session(self.display_mock, self.daq, self.server) - - def test_execute_language_model_enabled(self) -> None: - self.fake = False - self.task = TaskType(2) # set to a noncalibration task - - # mock the signal and language models - signal_model = mock() - file_name = 'test' - language_model = mock() - load_model_response = [signal_model] - - # mock the behavior of execute task - eeg_response = (self.daq, self.server) - when(main).init_eeg_acquisition( - self.parameters, - self.save_folder, - server=self.fake).thenReturn(eeg_response) - when(main).init_language_model(self.parameters).thenReturn(language_model) - when(main).init_display_window(self.parameters).thenReturn(self.display_mock) - when(main).print_message(self.display_mock, any()) - when(main).load_signal_models(directory='').thenReturn(load_model_response) - when(main).start_task( - self.display_mock, - self.daq, - self.task, - self.parameters, - self.save_folder, - language_model=language_model, - signal_models=[signal_model], - fake=self.fake, - ) - when(main)._clean_up_session(self.display_mock, self.daq, self.server) - - execute_task(self.task, self.parameters, self.save_folder, self.alert, self.fake) - - verify(main, times=1).init_eeg_acquisition( - self.parameters, - self.save_folder, - server=self.fake) - verify(main, times=1).init_display_window(self.parameters) - verify(main, times=1).print_message(self.display_mock, any()) - verify(main, times=1).start_task( - self.display_mock, - self.daq, - self.task, - self.parameters, - self.save_folder, - language_model=language_model, - signal_models=[signal_model], - fake=self.fake, - ) - verify(main, times=1).load_signal_models(directory='') - verify(main, times=1).init_language_model(self.parameters) - verify(main, times=1)._clean_up_session(self.display_mock, self.daq, self.server) - - def test_execute_with_alert_enabled(self): - expected_alert_path = f"{STATIC_AUDIO_PATH}/{self.parameters['alert_sound_file']}" - response = (self.daq, self.server) - when(main).init_eeg_acquisition( - self.parameters, - self.save_folder, - server=self.fake, - ).thenReturn(response) - when(main).init_display_window(self.parameters).thenReturn(self.display_mock) - when(main).print_message(self.display_mock, any()) - when(main).start_task( - self.display_mock, - self.daq, - self.task, - self.parameters, - self.save_folder, - language_model=None, - signal_models=[], - fake=self.fake, - ) - when(main)._clean_up_session(self.display_mock, self.daq, self.server) - when(main).play_sound(expected_alert_path) - - execute_task(self.task, self.parameters, self.save_folder, True, self.fake) - - verify(main, times=1).init_eeg_acquisition( - self.parameters, - self.save_folder, - server=self.fake) - verify(main, times=1).init_display_window(self.parameters) - verify(main, times=1).print_message(self.display_mock, any()) - verify(main, times=1).start_task( - self.display_mock, - self.daq, - self.task, - self.parameters, - self.save_folder, - language_model=None, - signal_models=[], - fake=self.fake, - ) - verify(main, times=1)._clean_up_session(self.display_mock, self.daq, self.server) - verify(main, times=1).play_sound(expected_alert_path) + def test_bci_main_fails_without_experiment_or_task(self) -> None: + with self.assertRaises(BciPyCoreException): + bci_main( + parameter_location=self.parameters_path, + user=self.user, + alert=self.alert, + visualize=self.visualize, + fake=self.fake + ) + + def test_bcipy_main_fails_with_invalid_experiment(self) -> None: + when(main).validate_bcipy_session(any(), any()).thenRaise(UnregisteredExperimentException) + with self.assertRaises(UnregisteredExperimentException): + bci_main( + parameter_location=self.parameters_path, + user=self.user, + experiment_id='invalid_experiment', + alert=self.alert, + visualize=self.visualize, + fake=self.fake + ) + + def test_bci_main_runs_with_valid_experiment(self) -> None: + when(main).validate_bcipy_session(any(), any()).thenReturn(True) # Mock the validate_bcipy_session function + when(main).load_json_parameters( + any(), value_cast=any()).thenReturn( + self.parameters) # Mock the load_json_parameters function + when(SessionOrchestrator).get_system_info().thenReturn(None) + when(SessionOrchestrator)._init_orchestrator_save_folder(any()).thenReturn(None) + when(SessionOrchestrator)._init_orchestrator_logger(any()).thenReturn(self.logger) + when(SessionOrchestrator).initialize_copy_phrases().thenReturn(None) + when(SessionOrchestrator).add_tasks(any()).thenReturn(None) + when(SessionOrchestrator).execute().thenReturn(None) + + bci_main( + parameter_location=self.parameters_path, + user=self.user, + experiment_id=self.experiment, + alert=self.alert, + visualize=self.visualize, + fake=self.fake + ) + verify(SessionOrchestrator, times=1).add_tasks(any()) + verify(SessionOrchestrator, times=1).execute() + verify(SessionOrchestrator, times=1).initialize_copy_phrases() + verify(SessionOrchestrator, times=1)._init_orchestrator_logger(any()) + verify(SessionOrchestrator, times=1)._init_orchestrator_save_folder(any()) + verify(main, times=1).load_json_parameters(any(), value_cast=any()) + verify(SessionOrchestrator, times=1).get_system_info() + + def test_bci_main_runs_with_valid_task(self) -> None: + when(main).validate_bcipy_session(any(), any()).thenReturn(True) + when(main).load_json_parameters(any(), value_cast=any()).thenReturn(self.parameters) + when(SessionOrchestrator).get_system_info().thenReturn(None) + when(SessionOrchestrator)._init_orchestrator_save_folder(any()).thenReturn(None) + when(SessionOrchestrator)._init_orchestrator_logger(any()).thenReturn(self.logger) + when(SessionOrchestrator).initialize_copy_phrases().thenReturn(None) + when(SessionOrchestrator).add_tasks(any()).thenReturn(None) + when(SessionOrchestrator).execute().thenReturn(None) + + bci_main( + parameter_location=self.parameters_path, + user=self.user, + task='RSVP Calibration', + alert=self.alert, + visualize=self.visualize, + fake=self.fake + ) + + verify(SessionOrchestrator, times=1).add_tasks(any()) + verify(SessionOrchestrator, times=1).execute() + verify(SessionOrchestrator, times=1).initialize_copy_phrases() + verify(SessionOrchestrator, times=1)._init_orchestrator_logger(any()) + verify(SessionOrchestrator, times=1)._init_orchestrator_save_folder(any()) + verify(main, times=1).load_json_parameters(any(), value_cast=any()) + verify(SessionOrchestrator, times=1).get_system_info() + + def test_bci_main_returns_false_with_orchestrator_execute_exception(self): + when(main).validate_bcipy_session(any(), any()).thenReturn(True) + when(main).load_json_parameters(any(), value_cast=any()).thenReturn(self.parameters) + when(SessionOrchestrator).get_system_info().thenReturn(None) + when(SessionOrchestrator)._init_orchestrator_save_folder(any()).thenReturn(None) + when(SessionOrchestrator)._init_orchestrator_logger(any()).thenReturn(self.logger) + when(SessionOrchestrator).initialize_copy_phrases().thenReturn(None) + when(SessionOrchestrator).add_tasks(any()).thenReturn(None) + when(SessionOrchestrator).execute().thenRaise(Exception) + + response = bci_main( + parameter_location=self.parameters_path, + user=self.user, + task='RSVP Calibration', + alert=self.alert, + visualize=self.visualize, + fake=self.fake + ) + + self.assertFalse(response) if __name__ == '__main__': diff --git a/requirements.txt b/requirements.txt index f3f9df88e..f4a764fdd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ construct==2.8.14 mne==1.5.0 pyo==1.0.5 pyglet<=1.5.27,>=1.4 -PsychoPy==2023.2.1 +PsychoPy==2024.2.1 openpyxl==3.1.2 numpy==1.24.4 sounddevice==0.4.4 @@ -13,15 +13,15 @@ SoundFile==0.12.1 scipy==1.10.1 scikit-learn==1.2.2 seaborn==0.9.0 -matplotlib==3.7.2 +matplotlib==3.7.5 pylsl==1.16.2 -pandas==1.5.3 +pandas==2.0.3 psutil==5.7.2 Pillow==9.4.0 py-cpuinfo==9.0.0 pyedflib==0.1.34 -PyQt6==6.6.0 -PyQt6-Qt6==6.6.0 +pyopengl==3.1.7 +PyQt6==6.7.1 pywavelets==1.4.1 tqdm==4.62.2 reportlab==4.2.0 diff --git a/scripts/shell/run_gui.sh b/scripts/shell/run_gui.sh deleted file mode 100644 index 26065ada7..000000000 --- a/scripts/shell/run_gui.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -###### RUN BCI. ####### -# cd to path of bcipy code -# cd bcipy - -# Execute the gui code -python bcipy/gui/BCInterface.py diff --git a/setup.py b/setup.py index 7d0c34f83..76a95b252 100644 --- a/setup.py +++ b/setup.py @@ -107,7 +107,11 @@ def run(self): )), entry_points={ 'console_scripts': - ['bcipy = bcipy.main:bcipy_main', 'bcipy-sim = bcipy.simulator'], + [ + 'bcipy = bcipy.main:bcipy_main', + 'bcipy-erp-viz = bcipy.helpers.visualization:erp', + 'bcipy-sim = bcipy.simulator', + "bcipy-train = bcipy.signal.model.offline_analysis:main"], }, install_requires=REQUIRED, include_package_data=True, From 40f0770930025d7814112cecd442d13f7263330f Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 24 Oct 2024 09:57:00 -0700 Subject: [PATCH 323/330] Added model loading changes to Copy Phrase task --- bcipy/task/paradigm/rsvp/copy_phrase.py | 35 +++++++++++-------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index 6380f029d..1a7be6384 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -6,30 +6,23 @@ from psychopy.visual import Window from bcipy.acquisition import ClientManager -from bcipy.config import ( - DEFAULT_EVIDENCE_PRECISION, - SESSION_DATA_FILENAME, - SESSION_SUMMARY_FILENAME, - TRIGGER_FILENAME, - WAIT_SCREEN_MESSAGE, - SESSION_LOG_FILENAME -) -from bcipy.display import ( - InformationProperties, - StimuliProperties, -) +from bcipy.config import (DEFAULT_EVIDENCE_PRECISION, SESSION_DATA_FILENAME, + SESSION_LOG_FILENAME, SESSION_SUMMARY_FILENAME, + TRIGGER_FILENAME, WAIT_SCREEN_MESSAGE) +from bcipy.display import (InformationProperties, StimuliProperties, + init_display_window) from bcipy.display.components.task_bar import CopyPhraseTaskBar from bcipy.display.main import PreviewParams from bcipy.display.paradigm.rsvp.mode.copy_phrase import CopyPhraseDisplay +from bcipy.exceptions import TaskConfigurationException from bcipy.feedback.visual.visual_feedback import VisualFeedback -from bcipy.helpers.acquisition import init_acquisition, LslDataServer +from bcipy.helpers.acquisition import (LslDataServer, active_content_types, + init_acquisition) from bcipy.helpers.clock import Clock from bcipy.helpers.copy_phrase_wrapper import CopyPhraseWrapper -from bcipy.display import init_display_window -from bcipy.exceptions import TaskConfigurationException from bcipy.helpers.language_model import init_language_model -from bcipy.helpers.load import load_signal_models from bcipy.helpers.list import destutter +from bcipy.helpers.load import choose_signal_models from bcipy.helpers.parameters import Parameters from bcipy.helpers.save import _save_session_related_data from bcipy.helpers.session import session_excel @@ -47,7 +40,8 @@ from bcipy.signal.model import SignalModel from bcipy.signal.model.inquiry_preview import compute_probs_after_preview from bcipy.task import Task, TaskData, TaskMode -from bcipy.task.control.evidence import EvidenceEvaluator, init_evidence_evaluator +from bcipy.task.control.evidence import (EvidenceEvaluator, + init_evidence_evaluator) from bcipy.task.data import EvidenceType, Inquiry, Session from bcipy.task.exceptions import DuplicateModelEvidence @@ -197,9 +191,9 @@ def get_language_model(self) -> LanguageModel: def get_signal_models(self) -> Optional[List[SignalModel]]: if not self.fake: try: - model_dir = self.parameters.get('signal_model_path', None) - signal_models = load_signal_models(directory=model_dir) - assert signal_models, f"No signal models found in {model_dir}" + signal_models = choose_signal_models( + active_content_types(self.parameters['acq_mode'])) + assert signal_models, "No signal models selected" except Exception as error: logger.exception(f'Cannot load signal model. Exiting. {error}') raise error @@ -982,6 +976,7 @@ def btn_press_count(self) -> int: return 0 inquiries = self.session.all_inquiries + activations = [] if self.preview_mode == 1: # press to confirm activations = [inq for inq in inquiries if inq.eeg_evidence] From d8065eab3b43fbb8cebe0a308ce0e8d47d25f7ca Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 24 Oct 2024 10:37:53 -0700 Subject: [PATCH 324/330] Preview Copy Phrase on the Matrix wait screen --- bcipy/display/paradigm/matrix/display.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bcipy/display/paradigm/matrix/display.py b/bcipy/display/paradigm/matrix/display.py index b22f081b4..f05f2b3e2 100644 --- a/bcipy/display/paradigm/matrix/display.py +++ b/bcipy/display/paradigm/matrix/display.py @@ -12,7 +12,7 @@ from bcipy.display.main import PreviewParams, init_preview_button_handler from bcipy.display.paradigm.matrix.layout import symbol_positions from bcipy.helpers.stimuli import resize_image -from bcipy.helpers.symbols import alphabet, qwerty_order, frequency_order +from bcipy.helpers.symbols import alphabet, frequency_order, qwerty_order from bcipy.helpers.triggers import _calibration_trigger logger = logging.getLogger(SESSION_LOG_FILENAME) @@ -378,6 +378,7 @@ def wait_screen(self, message: str, message_color: str) -> None: Define what happens on the screen when a user pauses a session. """ + self.draw_components() # Construct the wait message wait_message = visual.TextStim(win=self.window, @@ -399,7 +400,7 @@ def wait_screen(self, message: str, message_color: str) -> None: wait_logo.draw() except Exception as e: - self.logger.exception( + logger.exception( f'Cannot load logo image from path=[{BCIPY_LOGO_PATH}]') raise e From 437e720dbea96aa9c1b46ee0b71bb250d849b0a5 Mon Sep 17 00:00:00 2001 From: tab-cmd Date: Tue, 29 Oct 2024 10:56:02 -0700 Subject: [PATCH 325/330] Report artifact enhancements, README, Python 3.10.6 support (#357) --- .coveragerc | 5 +- .github/workflows/main.yml | 6 +- Makefile | 2 +- README.md | 105 +++++++++++++----- bcipy/display/main.py | 1 + bcipy/display/paradigm/rsvp/display.py | 13 ++- .../paradigm/matrix/test_matrix_display.py | 6 +- .../tests/paradigm/rsvp/test_rsvp_display.py | 21 ++-- bcipy/gui/file_dialog.py | 16 ++- bcipy/helpers/convert.py | 2 +- bcipy/helpers/stimuli.py | 9 +- bcipy/helpers/tests/test_convert.py | 2 +- bcipy/helpers/visualization.py | 2 +- bcipy/parameters/experiment/experiments.json | 2 +- bcipy/parameters/parameters.json | 9 ++ bcipy/signal/evaluate/artifact.py | 42 +++++-- bcipy/signal/model/offline_analysis.py | 3 +- bcipy/signal/tests/evaluate/test_artifact.py | 2 +- bcipy/simulator/__init__.py | 5 + bcipy/simulator/__main__.py | 6 - bcipy/simulator/data/__init__.py | 0 bcipy/simulator/task/__init__.py | 0 bcipy/simulator/task/copy_phrase.py | 5 + bcipy/simulator/util/__init__.py | 0 bcipy/task/README.md | 32 ++++++ bcipy/task/actions.py | 32 ++++-- bcipy/task/calibration.py | 2 + .../demo/actions/demo_calibration_report.py | 35 ++++++ .../{ => orchestrator}/demo_orchestrator.py | 0 bcipy/task/paradigm/matrix/copy_phrase.py | 1 + .../paradigm/rsvp/calibration/calibration.py | 13 --- bcipy/task/paradigm/rsvp/copy_phrase.py | 7 +- .../matrix/test_matrix_calibration.py | 1 + .../tests/paradigm/rsvp/test_copy_phrase.py | 1 + requirements.txt | 2 +- scripts/shell/m2chip_install.sh | 2 +- setup.py | 4 +- 37 files changed, 290 insertions(+), 106 deletions(-) delete mode 100644 bcipy/simulator/__main__.py create mode 100644 bcipy/simulator/data/__init__.py create mode 100644 bcipy/simulator/task/__init__.py create mode 100644 bcipy/simulator/util/__init__.py create mode 100644 bcipy/task/demo/actions/demo_calibration_report.py rename bcipy/task/demo/{ => orchestrator}/demo_orchestrator.py (100%) diff --git a/.coveragerc b/.coveragerc index 443874bee..437e6b790 100644 --- a/.coveragerc +++ b/.coveragerc @@ -2,12 +2,15 @@ [run] omit = *__init__* + *__main__* */usr/local/lib* *tests* *test* *demo* *exceptions.py - */gui/* + */gui/experiments/* + */gui/viewer/* + */gui/BCInterface.py [report] exclude_lines = diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5ced794ff..770802069 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: [3.8, 3.9] + python-version: [3.8, 3.9, 3.10.6] steps: - uses: actions/checkout@v2 @@ -68,7 +68,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: [3.8, 3.9] + python-version: [3.8, 3.9, 3.10.6] steps: - uses: actions/checkout@v2 @@ -103,7 +103,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: [3.8, 3.9] + python-version: [3.8, 3.9, 3.10.6] steps: - uses: actions/checkout@v4 diff --git a/Makefile b/Makefile index dcdc1e0a9..25f836f37 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ install: dev-install: pip install -r dev_requirements.txt - pip install psychopy==2023.2.1 --no-deps + pip install psychopy==2024.2.1 --no-deps pip install kenlm==0.1 --global-option="--max_order=12" make install diff --git a/README.md b/README.md index da8abf015..624bcdba3 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,8 @@ If using zsh, instead of bash, you may encounter a segementation fault when runn ## Installation --------------- -#### BciPy Setup +### BciPy Setup +---------------- In order to run BciPy on your computer, after following the dependencies above, you will need to install the BciPy package. @@ -62,26 +63,86 @@ Alternately, if [Make](http://www.mingw.org/) is installed, you may run the foll make dev-install ``` -#### Client Usage - Invoke an experiment protocol or task directly using command line utility `bcipy`. - - You can pass it attributes with flags, if desired. - Running with a User ID and Task: `bcipy --user "bci_user" --task "RSVP Calibration"` - Running with a User ID and Tasks with a registered Protocol: `bcipy --user "bci_user" --experiment "default"` - Running with fake data: `bcipy --fake` - Running without visualizations: `bcipy --noviz` - Running with alerts after each Task execution: `bcipy --alert` - Running with custom parameters: `bcipy --parameters "path/to/valid/parameters.json"` +### Client Usage +---------------- + +##### Run an experiment protocol or task + +Invoke an experiment protocol or task directly using command line utility `bcipy`. + +- Use the help flag to see other available input options: `bcipy --help` + - You can pass it attributes with flags, if desired. + - Running with a User ID and Task: + - `bcipy --user "bci_user" --task "RSVP Calibration"` + - Running with a User ID and Tasks with a registered Protocol: + - `bcipy --user "bci_user" --experiment "default"` + - Running with fake data: + - `bcipy --fake` + - Running without visualizations: + - `bcipy --noviz` + - Running with alerts after each Task execution: + - `bcipy --alert` + - Running with custom parameters: + - `bcipy --parameters "path/to/valid/parameters.json"` + +##### Train a signal model with registered BciPy models + +To train a signal model (currently `PCARDAKDE`), run the following command after installing BciPy: + +`bcipy-train` + +- Use the help flag to see other available input options: `bcipy-train --help` + - You can pass it attributes with flags, if desired. + - Running without a window prompting for data session folder: + - `bcipy-train -d path/to/data` + - Running with data visualizations (ERPs, etc.): + - `bcipy-train -v` + - Running with data visualizations that do not show, but save to file: + - `bcipy-train -s` + - Running with balanced accuracy: + - `bcipy-train --balanced-acc` + - Running with alerts after each Task execution: + - `bcipy-train --alert` + - Running with custom parameters: + - `bcipy-train -p "path/to/valid/parameters.json"` + +##### Visualize ERP data from a session with Target / Non-Target labels + +To generate plots that can be shown or saved after collection of data, run the following command after installing BciPy: + +`bcipy-erp-viz` + +- Use the help flag to see other available input options: `bcipy-erp-viz --help` + - You can pass it attributes with flags, if desired. + - Running without a window prompting for data session folder: + - `bcipy-erp-viz -s path/to/data` + - Running with data visualizations (ERPs, etc.): + - `bcipy-erp-viz --show` + - Running with data visualizations that do not show, but save to file: + - `bcipy-erp-viz --save` + - Running with custom parameters (default is in bcipy/parameters/parameters.json): + - `bcipy-erp-viz -p "path/to/valid/parameters.json"` + +##### BciPy Simulator Usage + +The simulator can be run using the command line utility `bcipy-sim`. + +Ex. +`bcipy-sim -d my_data_folder/ -p my_parameters.json -m my_models/ -n 5` + +Run `bcipy-sim --help` for documentation or see the README in the simulator module. - - Use the help flag to see other available input options: `bcipy --help` -##### Example Usage as a Package +### Package Usage +------------------- ```python from bcipy.helpers import system_utils system_utils.get_system_info() ``` -#### Example Usage through the GUI +### GUI Usage +------------- Run the following command in your terminal to start the BciPy GUI: ```sh @@ -95,16 +156,6 @@ make bci-gui ``` -#### Simulator Usage - -The simulator can be run using the command line utility `bcipy-sim`. - -Ex. -`bcipy-sim -d my_data_folder/ -p my_parameters.json -m my_models/ -n 5` - -Run `bcipy-sim --help` for documentation or see the README in the simulator module. - - ## Glossary ----------- @@ -150,7 +201,7 @@ This a list of the major modules and their functionality. Each module will conta ## Paradigms ------------ -See `bcipy/task/README.md` for more information on all supported paradigms and modes. The following are the supported and validated paradigms: +See `bcipy/task/README.md` for more information on all supported paradigms, tasks, actions and modes. The following are the supported and validated paradigms: > RSVPKeyboard @@ -213,7 +264,6 @@ After running the above command, the recommended offset correction value will be ```bash # Let's say the recommneded offset value is 0.1 python bcipy/helpers/offset.py --offset "0.1" -p - ``` Alternately, if Make is installed, you may run the follow command to run offset determination and display the results: @@ -306,10 +356,11 @@ make type ### Contributions Welcome! +-------------------------- If you want to be added to the development team slack or have additional questions, please reach out to us at support@cambi.tech! -### Contribution Guidelines +#### Contribution Guidelines We follow and will enforce the contributor's covenant to foster a safe and inclusive environment for this open source software, please reference this link for more information: https://www.contributor-covenant.org/ @@ -325,7 +376,7 @@ Other guidelines: See this resource for examples: http://docs.python-guide.org/en/latest/writing/style/ -## Contributors +### Contributors --------------- All contributions are greatly appreciated! diff --git a/bcipy/display/main.py b/bcipy/display/main.py index 8aa9f9b94..019abae64 100644 --- a/bcipy/display/main.py +++ b/bcipy/display/main.py @@ -293,6 +293,7 @@ class PreviewParams(NamedTuple): preview_inquiry_key_input: str preview_inquiry_progress_method: int preview_inquiry_isi: float + preview_box_text_size: float @property def button_press_mode(self): diff --git a/bcipy/display/paradigm/rsvp/display.py b/bcipy/display/paradigm/rsvp/display.py index 7e2d14163..2a696b12d 100644 --- a/bcipy/display/paradigm/rsvp/display.py +++ b/bcipy/display/paradigm/rsvp/display.py @@ -73,6 +73,8 @@ def __init__( self.stimuli_colors = stimuli.stim_colors self.stimuli_timing = stimuli.stim_timing self.stimuli_font = stimuli.stim_font + # Note: there is a bug in TextBox2 that prevents certain custom fonts from being used. This is to avoid that. + self.textbox_font = 'Consolas' self.stimuli_height = stimuli.stim_height self.stimuli_pos = stimuli.stim_pos self.is_txt_stim = stimuli.is_txt_stim @@ -271,13 +273,12 @@ def _generate_inquiry_preview(self) -> visual.TextBox2: text = ' '.join(self.stimuli_inquiry).split('+ ')[1] return self._create_stimulus( - 0.12, + self.preview_params.preview_box_text_size, stimulus=text, units='height', stimuli_position=self.stimuli_pos, mode='textbox', - align_text='left', - wrap_width=0.025) + align_text='left') def _generate_inquiry(self) -> list: """Generate inquiry. @@ -439,9 +440,11 @@ def _create_stimulus( borderWidth=2, borderColor='white', units=units, - font=self.stimuli_font, + padding=0.05, + font=self.textbox_font, letterHeight=height, - size=[.5, .5], + size=[.55, .55], pos=stimuli_position, alignment=align_text, + editable=False, ) diff --git a/bcipy/display/tests/paradigm/matrix/test_matrix_display.py b/bcipy/display/tests/paradigm/matrix/test_matrix_display.py index dd71cc251..fceca5154 100644 --- a/bcipy/display/tests/paradigm/matrix/test_matrix_display.py +++ b/bcipy/display/tests/paradigm/matrix/test_matrix_display.py @@ -143,7 +143,8 @@ def test_do_inquiry_with_preview_accepted(self): preview_inquiry_length=2, preview_inquiry_key_input='return', preview_inquiry_progress_method=2, - preview_inquiry_isi=1) + preview_inquiry_isi=1, + preview_box_text_size=0.1) matrix = MatrixDisplay(window=self.window, experiment_clock=self.experiment_clock, stimuli=self.stimuli, @@ -181,7 +182,8 @@ def test_do_inquiry_with_preview_rejected(self): preview_inquiry_length=2, preview_inquiry_key_input='return', preview_inquiry_progress_method=2, - preview_inquiry_isi=1) + preview_inquiry_isi=1, + preview_box_text_size=0.1) matrix = MatrixDisplay(window=self.window, experiment_clock=self.experiment_clock, stimuli=self.stimuli, diff --git a/bcipy/display/tests/paradigm/rsvp/test_rsvp_display.py b/bcipy/display/tests/paradigm/rsvp/test_rsvp_display.py index bb3cdd7ec..95816a9cf 100644 --- a/bcipy/display/tests/paradigm/rsvp/test_rsvp_display.py +++ b/bcipy/display/tests/paradigm/rsvp/test_rsvp_display.py @@ -134,7 +134,8 @@ def test_preview_enabled_is_false(self): preview_inquiry_length=2, preview_inquiry_key_input='space', preview_inquiry_progress_method=1, - preview_inquiry_isi=1) + preview_inquiry_isi=1, + preview_box_text_size=0.1) rsvp = RSVPDisplay(self.window, self.static_clock, self.experiment_clock, @@ -151,7 +152,8 @@ def test_preview_enabled_is_true(self): preview_inquiry_length=2, preview_inquiry_key_input='space', preview_inquiry_progress_method=1, - preview_inquiry_isi=1) + preview_inquiry_isi=1, + preview_box_text_size=0.1) rsvp = RSVPDisplay(self.window, self.static_clock, self.experiment_clock, @@ -173,7 +175,8 @@ def test_preview_inquiry_evoked_press_to_accept_pressed( preview_inquiry_length=0.01, preview_inquiry_key_input='space', preview_inquiry_progress_method=1, - preview_inquiry_isi=0.01) + preview_inquiry_isi=0.01, + preview_box_text_size=0.1) self.init_display(preview_config) button_press_handler_mock.has_response.return_value = True @@ -209,7 +212,8 @@ def test_preview_inquiry_evoked_press_to_skip_pressed( preview_inquiry_length=0.01, preview_inquiry_key_input='space', preview_inquiry_progress_method=2, - preview_inquiry_isi=0.01) + preview_inquiry_isi=0.01, + preview_box_text_size=0.1) self.init_display(preview_config) button_press_handler_mock.has_response.return_value = True @@ -238,7 +242,8 @@ def test_preview_inquiry_evoked_press_to_accept_not_pressed( preview_inquiry_length=0.01, preview_inquiry_key_input='space', preview_inquiry_progress_method=1, - preview_inquiry_isi=0.01) + preview_inquiry_isi=0.01, + preview_box_text_size=0.1) self.init_display(preview_config) button_press_handler_mock.has_response.return_value = False @@ -264,7 +269,8 @@ def test_preview_inquiry_evoked_press_to_skip_not_pressed( preview_inquiry_length=0.01, preview_inquiry_key_input='space', preview_inquiry_progress_method=2, - preview_inquiry_isi=0.01) + preview_inquiry_isi=0.01, + preview_box_text_size=0.1) self.init_display(preview_config) button_press_handler_mock.has_response.return_value = False @@ -290,7 +296,8 @@ def test_preview_inquiry_preview_only_response_registered( preview_inquiry_length=0.01, preview_inquiry_key_input='space', preview_inquiry_progress_method=0, - preview_inquiry_isi=0.01) + preview_inquiry_isi=0.01, + preview_box_text_size=0.1) self.init_display(preview_config) button_press_handler_mock.has_response.return_value = False diff --git a/bcipy/gui/file_dialog.py b/bcipy/gui/file_dialog.py index 27a546b72..715b223b9 100644 --- a/bcipy/gui/file_dialog.py +++ b/bcipy/gui/file_dialog.py @@ -15,7 +15,7 @@ class FileDialog(QWidget): def __init__(self): super().__init__() - self.title = 'PyQt6 file dialogs - pythonspot.com' + self.title = 'File Dialog' self.width = 640 self.height = 480 @@ -45,7 +45,7 @@ def ask_file(self, options=self.options) return filename - def ask_directory(self, directory: str = "") -> str: + def ask_directory(self, directory: str = "", prompt: str = "Select Directory") -> str: """Opens a dialog window to select a directory. Returns @@ -53,12 +53,15 @@ def ask_directory(self, directory: str = "") -> str: path or None """ return QFileDialog.getExistingDirectory(self, - "Select Directory", + prompt, directory=directory, options=self.options) -def ask_filename(file_types: str = DEFAULT_FILE_TYPES, directory: str = "", prompt="Select File") -> str: +def ask_filename( + file_types: str = DEFAULT_FILE_TYPES, + directory: str = "", + prompt: str = "Select File") -> str: """Prompt for a file. Parameters @@ -87,7 +90,7 @@ def ask_filename(file_types: str = DEFAULT_FILE_TYPES, directory: str = "", prom return filename -def ask_directory() -> str: +def ask_directory(prompt: str = "Select Directory") -> str: """Prompt for a directory. Returns @@ -100,9 +103,10 @@ def ask_directory() -> str: directory = '' if preferences.last_directory: directory = str(Path(preferences.last_directory).parent) - name = dialog.ask_directory(directory) + name = dialog.ask_directory(directory, prompt=prompt) if name and Path(name).is_dir(): preferences.last_directory = name + # Alternatively, we could use `app.closeAllWindows()` app.quit() diff --git a/bcipy/helpers/convert.py b/bcipy/helpers/convert.py index 07c6ec34f..3550c7ff8 100644 --- a/bcipy/helpers/convert.py +++ b/bcipy/helpers/convert.py @@ -498,7 +498,7 @@ def convert_to_mne( channel_types: Optional[List[str]] = None, transform: Optional[Composition] = None, montage: str = 'standard_1020', - volts: bool = True) -> RawArray: + volts: bool = False) -> RawArray: """Convert to MNE. Returns BciPy RawData as an MNE RawArray. This assumes all channel names diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 8a1af1a11..795218db3 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -433,12 +433,19 @@ def mne_epochs(mne_data: RawArray, tmp_data.set_annotations(all_annotations) events_from_annot, _ = mne.events_from_annotations(tmp_data) + + if baseline is None: + baseline = (0, 0) + tmin = -0.1 + else: + tmin = baseline[0] + return Epochs( mne_data, events_from_annot, baseline=baseline, tmax=trial_length, - tmin=-0.05, + tmin=tmin, proj=False, # apply SSP projection to data. Defaults to True in Epochs. reject_by_annotation=reject_by_annotation, preload=preload) diff --git a/bcipy/helpers/tests/test_convert.py b/bcipy/helpers/tests/test_convert.py index 83399279a..2b402c88d 100644 --- a/bcipy/helpers/tests/test_convert.py +++ b/bcipy/helpers/tests/test_convert.py @@ -528,7 +528,7 @@ def test_convert_to_mne_with_transform(self): def transform(x, fs): return x * multiplier, fs - data = convert_to_mne(self.raw_data, transform=transform) + data = convert_to_mne(self.raw_data, transform=transform, volts=True) self.assertTrue(len(data) > 0) self.assertEqual(data.ch_names, self.channels[1:]) diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index 2c4402736..7f0d37dc3 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -87,7 +87,7 @@ def visualize_erp( trial_length = trial_window[1] - 0.0 # check for a baseline interval or set to None - if trial_window[0] < 0: + if trial_window[0] <= 0: baseline = (trial_window[0], 0.0) else: baseline = None diff --git a/bcipy/parameters/experiment/experiments.json b/bcipy/parameters/experiment/experiments.json index add8e1184..1c27911f4 100644 --- a/bcipy/parameters/experiment/experiments.json +++ b/bcipy/parameters/experiment/experiments.json @@ -7,6 +7,6 @@ "BCIOne": { "fields": [], "summary": "BCIOne experiment", - "protocol": "RSVP Calibration -> IntertaskAction -> OfflineAnalysisAction -> IntertaskAction -> Matrix Calibration -> IntertaskAction -> OfflineAnalysisAction -> IntertaskAction -> BciPy Report Action" + "protocol": "RSVP Calibration -> IntertaskAction -> OfflineAnalysisAction -> IntertaskAction -> Matrix Calibration -> IntertaskAction -> OfflineAnalysisAction -> IntertaskAction -> BciPyReportAction" } } \ No newline at end of file diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index 296d91858..74a8b5697 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -807,6 +807,15 @@ "editable": false, "type": "bool" }, + "preview_box_text_size": { + "value": "0.1", + "section": "task_config", + "name": "Preview Inquiry Box Text Size", + "helpTip": "Specifies the height of text stimuli in the preview inquiry box. See https://www.psychopy.org/general/units.html. Default: 0.1", + "recommended": "", + "editable": false, + "type": "float" + }, "preview_inquiry_error_prob": { "value": "0.05", "section": "bci_config", diff --git a/bcipy/signal/evaluate/artifact.py b/bcipy/signal/evaluate/artifact.py index 19ec6180f..f40bcf134 100644 --- a/bcipy/signal/evaluate/artifact.py +++ b/bcipy/signal/evaluate/artifact.py @@ -4,6 +4,7 @@ from pathlib import Path from typing import Union, List, Tuple, Optional from logging import getLogger +import logging from bcipy.config import ( DEFAULT_PARAMETER_FILENAME, @@ -28,29 +29,34 @@ from bcipy.acquisition.devices import DeviceSpec import mne -log = getLogger(SESSION_LOG_FILENAME) mne.set_log_level('WARNING') +log = getLogger(SESSION_LOG_FILENAME) + from mne import Annotations class DefaultArtifactParameters(Enum): """Default Artifact Parameters. - These values are used as defaults for artifact analysis purposes. + These values are used as defaults for artifact analysis purposes. These values were determined through + experimentation and are used as a starting point for artifact detection. These values should be adjusted + based on the data being analyzed. """ # Voltage - PEAK_THRESHOLD = 75e-7 - PEAK_MIN_DURATION = 0.005 + PEAK_THRESHOLD = 15e-6 + PEAK_MIN_DURATION = 0.001 FLAT_THRESHOLD = 0.5e-6 FLAT_MIN_DURATION = 0.1 + VOlTAGE_LABEL_DURATION = 0.25 # Eye - EOG_LABEL_DURATION = 0.2 - EOG_THRESHOLD = 75e-6 + EOG_THRESHOLD = 55e-6 EOG_MIN_DURATION = 0.5 + EOG_LABEL_DURATION = 0.25 + # I/O ARTIFACT_LABELLED_FILENAME = 'artifacts.fif' @@ -185,6 +191,7 @@ def __init__( assert len(device_spec.channel_specs) > 0, 'DeviceSpec used must have channels. None found.' self.units = device_spec.channel_specs[0].units + log.info(f'Artifact detection using {self.units} units.') assert self.units in self.supported_units, \ f'Data loaded in units that cannot be processed. Support units={self.supported_units}' # MNE assumes that data is recorded in Volts. However, many devices use microvolts. @@ -195,6 +202,8 @@ def __init__( self.detect_eog = detect_eog self.semi_automatic = semi_automatic + log.info(f'Artifact detection with {self.detect_voltage=}, {self.detect_eog=}, {self.semi_automatic=}') + self.save_path = save_path def detect_artifacts(self) -> Tuple[str, float]: @@ -220,6 +229,7 @@ def detect_artifacts(self) -> Tuple[str, float]: self.dropped = ( f'{kept_epochs}/{total_epochs} retained. {percent_dropped}% epochs dropped due to artifacts.' ) + log.info(f'{self.dropped=}') self.analysis_done = True if self.save_path: @@ -413,6 +423,7 @@ def label_voltage_events( bad_percent=self.percent_bad, peak=peak[0]) if len(peak_voltage_annotations) > 0: + log.info(f'Peak voltage events found: {len(peak_voltage_annotations)}') onsets, durations, descriptions = self.concat_annotations( peak_voltage_annotations, pre_event, @@ -426,6 +437,7 @@ def label_voltage_events( flat_voltage_annotations, bad_channels2 = mne.preprocessing.annotate_amplitude( self.mne_data, min_duration=flat[1], bad_percent=self.percent_bad, flat=flat[0]) if len(flat_voltage_annotations) > 0: + log.info(f'Flat voltage events found: {len(flat_voltage_annotations)}') onsets, durations, descriptions = self.concat_annotations( flat_voltage_annotations, pre_event, @@ -438,13 +450,15 @@ def label_voltage_events( # combine the bad channels bad_channels = bad_channels1 + bad_channels2 - if len(onsets) > 0 and len(bad_channels) > 0: + if len(bad_channels) == 0: + bad_channels = None + + if len(onsets) > 0: return mne.Annotations(onsets, durations, descriptions), bad_channels - elif len(bad_channels) > 0: + else: + log.info('No voltage events found.') return None, bad_channels - return None - def concat_annotations( self, annotations: mne.Annotations, @@ -524,6 +538,10 @@ def write_mne_annotations( if __name__ == "__main__": + logging.basicConfig( + level=logging.INFO, + format="[%(threadName)-9s][%(asctime)s][%(name)s][%(levelname)s]: %(message)s") + import argparse parser = argparse.ArgumentParser() @@ -554,7 +572,7 @@ def write_mne_annotations( for session in Path(path).iterdir(): # loop through the sessions, pausing after each one to allow for manual stopping if session.is_dir(): - log.info(f'Processing {session}') + print(f'Processing {session}') prompt = input('Hit enter to continue or type "skip" to skip processing: ') if prompt != 'skip': # load the parameters from the data directory @@ -568,7 +586,7 @@ def write_mne_annotations( # load the triggers if args.colabel: trigger_type, trigger_timing, trigger_label = trigger_decoder( - offset=parameters.get('static_trigger_offset'), + offset=0.1, trigger_path=f"{session}/{TRIGGER_FILENAME}", exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], ) diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index bbbda64e4..ae0ff6845 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -144,8 +144,9 @@ def analyze_erp(erp_data, parameters, device_spec, data_folder, estimate_balance # Process triggers.txt files trigger_targetness, trigger_timing, _ = trigger_decoder( trigger_path=f"{data_folder}/{TRIGGER_FILENAME}", - exclusion=[TriggerType.PREVIEW, TriggerType.EVENT, TriggerType.FIXATION], + exclusion=[TriggerType.PREVIEW, TriggerType.EVENT], offset=static_offset, + remove_pre_fixation=True, device_type='EEG' ) diff --git a/bcipy/signal/tests/evaluate/test_artifact.py b/bcipy/signal/tests/evaluate/test_artifact.py index c2fa2bc99..758dc535f 100644 --- a/bcipy/signal/tests/evaluate/test_artifact.py +++ b/bcipy/signal/tests/evaluate/test_artifact.py @@ -119,7 +119,7 @@ def test_artifact_type(self): def test_default_artifact_parameters(self): """Test the DefaultArtifactParameters class.""" - self.assertEqual(DefaultArtifactParameters.EOG_THRESHOLD.value, 75e-6) + self.assertEqual(DefaultArtifactParameters.EOG_THRESHOLD.value, 5.5e-05) self.assertEqual(DefaultArtifactParameters.VOlTAGE_LABEL_DURATION.value, 0.25) self.assertEqual(DefaultArtifactParameters.ARTIFACT_LABELLED_FILENAME.value, 'artifacts.fif') diff --git a/bcipy/simulator/__init__.py b/bcipy/simulator/__init__.py index b3cc41c2d..7bb813e41 100644 --- a/bcipy/simulator/__init__.py +++ b/bcipy/simulator/__init__.py @@ -1 +1,6 @@ """ Simulator package. View README """ +from bcipy.simulator.task import task_runner + + +def main(): + task_runner.main() diff --git a/bcipy/simulator/__main__.py b/bcipy/simulator/__main__.py deleted file mode 100644 index 804ab1131..000000000 --- a/bcipy/simulator/__main__.py +++ /dev/null @@ -1,6 +0,0 @@ -""" Entry point to run Simulator """ - -from bcipy.simulator.task import task_runner - -if __name__ == '__main__': - task_runner.main() diff --git a/bcipy/simulator/data/__init__.py b/bcipy/simulator/data/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/bcipy/simulator/task/__init__.py b/bcipy/simulator/task/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/bcipy/simulator/task/copy_phrase.py b/bcipy/simulator/task/copy_phrase.py index 1dee73b09..119f129a5 100644 --- a/bcipy/simulator/task/copy_phrase.py +++ b/bcipy/simulator/task/copy_phrase.py @@ -14,6 +14,7 @@ from bcipy.simulator.util.state import SimState from bcipy.task.control.evidence import EvidenceEvaluator from bcipy.task.data import EvidenceType +from bcipy.task import TaskMode from bcipy.task.paradigm.rsvp.copy_phrase import RSVPCopyPhraseTask DEFAULT_EVIDENCE_TYPE = EvidenceType.ERP @@ -28,6 +29,10 @@ class SimulatorCopyPhraseTask(RSVPCopyPhraseTask): """CopyPhraseTask that simulates user interactions by sampling data from a DataSampler.""" + name = "Simulator Copy Phrase" + paradigm = "RSVP" + mode = TaskMode.COPYPHRASE + def __init__(self, parameters: Parameters, file_save: str, signal_models: List[SignalModel], language_model: LanguageModel, samplers: Dict[SignalModel, diff --git a/bcipy/simulator/util/__init__.py b/bcipy/simulator/util/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/bcipy/task/README.md b/bcipy/task/README.md index 7defbe7e4..2efd0fa5b 100644 --- a/bcipy/task/README.md +++ b/bcipy/task/README.md @@ -39,6 +39,38 @@ Currently, these are the supported paradigms and modes: > Calibration: Used to calibrate the VEP paradigm for a user. Note this has not been extensively tested, use with caution. +## Actions +----------- + +### BciPy Calibration Report Action + +This action is used to generate a calibration report for a user. It will generate a report with the following information: + +- Session Summary + - Task / Paradigm (RSVP, Matrix, or VEP) + - AUC (if available) + - Amplifier + - Data Location +- Signal Report + - Signal Artifact Report + - Determine the percentage of data that is artifact based on the artifact thresholds + - See `bcipy.signal.evaluate.artifact.py` for more information, to visualize the artifacts or to adjust the thresholds. + - Signal Plots (target / non-target) + - ERP + - Topographic Maps + +The report will be saved in the protocol directory. A demo of the action can be used offline by running the following command: + +```bash +python bcipy/task/demo/demo_calibration_report.py +``` + +This will prompt the user to select a protocol directory to generate a calibration report for. The report will be saved in the protocol directory. + +### Offline Analysis Action + +This action is used to run an offline analysis on the data collected during a session. It will run the command line version of the BciPy client on the data collected during the session. The results will be saved in the session directory. + ## Running Tasks using the SessionOrchestrator The `SessionOrchestrator` is a class that can be used to run a Protocol (sequence of Tasks/Actions). The core BciPy client and GUI use this class and resulting data strucutures. It will run the tasks in the order defined, handle the transition between tasks, and persist data. There are several optional arguments that can be provided to the orchestrator: diff --git a/bcipy/task/actions.py b/bcipy/task/actions.py index 12b520624..907e7456a 100644 --- a/bcipy/task/actions.py +++ b/bcipy/task/actions.py @@ -8,6 +8,7 @@ from bcipy.gui.bciui import run_bciui from matplotlib.figure import Figure +from bcipy.gui.file_dialog import ask_directory from bcipy.gui.intertask_gui import IntertaskGUI from bcipy.gui.experiments.ExperimentField import start_experiment_field_collection_gui from bcipy.task import Task, TaskMode, TaskData @@ -79,7 +80,6 @@ def __init__( self.parameters_path = parameters_path self.alert_finished = alert_finished - # TODO: add a feature to orchestrator to permit the user to select the last task directory or have it loaded. if last_task_dir: self.data_directory = last_task_dir else: @@ -96,6 +96,8 @@ def execute(self) -> TaskData: """ logger.info("Running offline analysis action") try: + # Note: The subprocess.run function will cause a segmentation fault if visualization and alerting are + # enabled. This is because the MNE library. cmd = f'bcipy-train -p "{self.parameters_path}"' if self.alert_finished: cmd += " --alert" @@ -212,15 +214,21 @@ def __init__( self.save_folder = save_path # Currently we assume all Tasks have the same parameters, this may change in the future. self.parameters = parameters - self.protocol_path = protocol_path or '' + + if not protocol_path: + protocol_path = ask_directory( + prompt="Select BciPy protocol directory with calibration data...") + self.protocol_path = protocol_path self.last_task_dir = last_task_dir - self.default_transform = None self.trial_window = (-0.2, 1.0) - self.static_offset = None self.report = Report(self.protocol_path) self.report_sections: List[ReportSection] = [] self.all_raw_data: List[RawData] = [] + + # These are pulled off the device spec / set from parameters + self.default_transform = None self.type_amp = None + self.static_offset = None def execute(self) -> TaskData: """Excute the report generation action. @@ -262,7 +270,9 @@ def execute(self) -> TaskData: self.report.save() return TaskData( save_path=self.save_folder, - task_dict={}, + task_dict={ + 'reports': len(calibration_directories), + }, ) def create_signal_report(self, data_dir: Path) -> SignalReportSection: @@ -274,7 +284,11 @@ def create_signal_report(self, data_dir: Path) -> SignalReportSection: device_spec = devices.preconfigured_device(raw_data.daq_type) self.static_offset = device_spec.static_offset channel_map = analysis_channels(channels, device_spec) - self.all_raw_data.append(raw_data) + + logger.info( + f"Creating signal section for {data_dir}. \n" + f"Channels: {channels}, Sample Rate: {sample_rate}, " + f"Device: {self.type_amp}, Static Offset: {self.static_offset}") # Set the default transform if not already set if not self.default_transform: @@ -341,7 +355,7 @@ def find_eye_channels(self, device_spec: DeviceSpec) -> Optional[list]: eye_channels = None return eye_channels - def get_triggers(self, session) -> tuple: + def get_triggers(self, session: str) -> tuple: trigger_type, trigger_timing, trigger_label = trigger_decoder( offset=self.static_offset, trigger_path=f"{session}/{TRIGGER_FILENAME}", @@ -354,12 +368,12 @@ def get_triggers(self, session) -> tuple: return trigger_type, trigger_timing, trigger_label def get_figure_handles(self, raw_data, channel_map, triggers) -> List[Figure]: - _, trigger_timing, trigger_label = triggers + trigger_type, trigger_timing, _ = triggers figure_handles = visualize_erp( raw_data, channel_map, trigger_timing, - trigger_label, + trigger_type, self.trial_window, transform=self.default_transform, plot_average=True, diff --git a/bcipy/task/calibration.py b/bcipy/task/calibration.py index 839c85eda..3f39ff2e9 100644 --- a/bcipy/task/calibration.py +++ b/bcipy/task/calibration.py @@ -228,6 +228,8 @@ def trigger_type(self, symbol: str, target: str, return TriggerType.FIXATION if target == symbol: return TriggerType.TARGET + if 'key_press' in symbol: + return TriggerType.EVENT return TriggerType.NONTARGET def present_inquiry(self, index: int, diff --git a/bcipy/task/demo/actions/demo_calibration_report.py b/bcipy/task/demo/actions/demo_calibration_report.py new file mode 100644 index 000000000..bce16274c --- /dev/null +++ b/bcipy/task/demo/actions/demo_calibration_report.py @@ -0,0 +1,35 @@ +import logging +from bcipy.task.actions import BciPyCalibrationReportAction +from bcipy.config import DEFAULT_PARAMETERS_PATH +from bcipy.helpers.load import load_json_parameters + +logging.basicConfig(level=logging.INFO) + + +if __name__ == '__main__': + import argparse + parser = argparse.ArgumentParser(description='Generate a calibration report from a session data file.') + # Add the arguments: parameters and protocol + parser.add_argument( + '--parameters', + help=f'Path to a BciPy parameters file. Defaults to {DEFAULT_PARAMETERS_PATH}', + default=DEFAULT_PARAMETERS_PATH) + parser.add_argument( + '--protocol', + help=('Path to BciPy Protocol. Must contain one or more calibration session directories. ' + 'If none provided, a window will prompt for one.'), + default=None) + args = parser.parse_args() + parameters = load_json_parameters(args.parameters, value_cast=True) + """ + **Note:** + Save path is not used in this action, the protocol path is most important and where + the report will be saved. In other tasks, the save path is used to save the output of the tasks + (raw data, model, etc.). Whereas in this case, the report is saved in the protocol path because it reads + several of the underlying files in the protocol. In other words, it is a top level report. + + The protocol path is the path to the directory containing the calibration sessions. + """ + action = BciPyCalibrationReportAction(parameters=parameters, save_path='.', protocol_path=args.protocol) + print('Generating Report.') + task_data = action.execute() diff --git a/bcipy/task/demo/demo_orchestrator.py b/bcipy/task/demo/orchestrator/demo_orchestrator.py similarity index 100% rename from bcipy/task/demo/demo_orchestrator.py rename to bcipy/task/demo/orchestrator/demo_orchestrator.py diff --git a/bcipy/task/paradigm/matrix/copy_phrase.py b/bcipy/task/paradigm/matrix/copy_phrase.py index 79748e7b7..03c3f8368 100644 --- a/bcipy/task/paradigm/matrix/copy_phrase.py +++ b/bcipy/task/paradigm/matrix/copy_phrase.py @@ -66,6 +66,7 @@ class MatrixCopyPhraseTask(RSVPCopyPhraseTask): "preview_inquiry_error_prob", "preview_inquiry_length", "preview_inquiry_progress_method", + "preview_box_text_size", "spelled_letters_count", "stim_color", "matrix_stim_height", diff --git a/bcipy/task/paradigm/rsvp/calibration/calibration.py b/bcipy/task/paradigm/rsvp/calibration/calibration.py index b381349f6..cd8fa0b25 100644 --- a/bcipy/task/paradigm/rsvp/calibration/calibration.py +++ b/bcipy/task/paradigm/rsvp/calibration/calibration.py @@ -6,7 +6,6 @@ from bcipy.display.paradigm.rsvp.mode.calibration import CalibrationDisplay from bcipy.helpers.clock import Clock from bcipy.helpers.parameters import Parameters -from bcipy.helpers.triggers import TriggerType from bcipy.task.calibration import BaseCalibrationTask @@ -32,18 +31,6 @@ class RSVPCalibrationTask(BaseCalibrationTask): name = 'RSVP Calibration' paradigm = 'RSVP' - def trigger_type(self, symbol: str, target: str, - index: int) -> TriggerType: - if index == 0: - return TriggerType.PROMPT - if symbol == 'inquiry_preview': - return TriggerType.PREVIEW - if symbol == '+': - return TriggerType.FIXATION - if target == symbol: - return TriggerType.TARGET - return TriggerType.NONTARGET - def init_display(self) -> Display: return init_calibration_display_task(self.parameters, self.window, self.static_clock, diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index 1a7be6384..b473f2f09 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -101,8 +101,9 @@ class RSVPCopyPhraseTask(Task): 'decision_threshold', 'max_inq_len', 'max_inq_per_series', 'max_minutes', 'max_selections', 'max_incorrect', 'min_inq_len', 'show_feedback', 'feedback_duration', - 'show_preview_inquiry', 'preview_inquiry_isi', 'preview_inquiry_error_prob', - 'preview_inquiry_key_input', 'preview_inquiry_length', 'preview_inquiry_progress_method', + 'show_preview_inquiry', 'preview_inquiry_isi', + 'preview_inquiry_error_prob', 'preview_inquiry_key_input', 'preview_inquiry_length', + 'preview_inquiry_progress_method', 'preview_box_text_size', 'spelled_letters_count', 'stim_color', 'rsvp_stim_height', 'stim_jitter', 'stim_length', 'stim_number', 'stim_order', 'rsvp_stim_pos_x', 'rsvp_stim_pos_y', 'stim_space_char', 'target_color', @@ -895,7 +896,7 @@ def trigger_type(self, symbol: str, target: str, index: int) -> TriggerType: """ if symbol == "inquiry_preview": return TriggerType.PREVIEW - if "bcipy_key_press" in symbol: + if "key_press" in symbol: return TriggerType.EVENT if symbol == "+": return TriggerType.FIXATION diff --git a/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py b/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py index d6ae98e4b..1e4c9b073 100644 --- a/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py +++ b/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py @@ -44,6 +44,7 @@ def setUp(self): 'prestim_length': 1, 'preview_inquiry_isi': 1.0, 'preview_inquiry_length': 5.0, + 'preview_box_text_size': 0.1, 'show_feedback': False, 'show_preview_inquiry': False, 'stim_color': 'white', diff --git a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py index 59706bfc1..2bad0ef4b 100644 --- a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py +++ b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py @@ -56,6 +56,7 @@ def setUp(self): 'preview_inquiry_key_input': 'space', 'preview_inquiry_length': 5.0, 'preview_inquiry_progress_method': 1, + 'preview_box_text_size': 0.1, 'show_feedback': False, 'show_preview_inquiry': False, 'spelled_letters_count': 0, diff --git a/requirements.txt b/requirements.txt index f4a764fdd..b6c87fecc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ attrdict3==2.0.2 transformers==4.26.0 torch==2.0.0 construct==2.8.14 -mne==1.5.0 +mne==1.6.1 pyo==1.0.5 pyglet<=1.5.27,>=1.4 PsychoPy==2024.2.1 diff --git a/scripts/shell/m2chip_install.sh b/scripts/shell/m2chip_install.sh index 3fe41ee8c..6b8977099 100644 --- a/scripts/shell/m2chip_install.sh +++ b/scripts/shell/m2chip_install.sh @@ -27,6 +27,6 @@ export HDF5_DIR=/opt/homebrew/opt/hdf5 python -m pip install pyaudio # your path may be different to the portaudio version pip install --global-option='build_ext' --global-option='-I/usr/local/Cellar/portaudio/19.7.0/include' --global-option='-L/usr/local/Cellar/portaudio/19.7.0/lib' pyo -pip install Psychopy==2023.2.1 --no-deps # install psychopy without dependencies +pip install Psychopy==2024.2.1 --no-deps # install psychopy without dependencies pip install -e . pip install kenlm==0.1 --global-option="--max_order=12" # install kenlm with max_order=12 for language model. Not required for BciPy to run in most places. \ No newline at end of file diff --git a/setup.py b/setup.py index 76a95b252..4d4571e52 100644 --- a/setup.py +++ b/setup.py @@ -29,7 +29,7 @@ URL = 'https://github.com/CAMBI-tech/BciPy' EMAIL = 'cambi_support@googlegroups.com' AUTHOR = 'CAMBI' -REQUIRES_PYTHON = '>3.7,<3.10' +REQUIRES_PYTHON = '>3.7,<3.11' VERSION = '2.0.0rc4' @@ -110,7 +110,7 @@ def run(self): [ 'bcipy = bcipy.main:bcipy_main', 'bcipy-erp-viz = bcipy.helpers.visualization:erp', - 'bcipy-sim = bcipy.simulator', + 'bcipy-sim = bcipy.simulator:main', "bcipy-train = bcipy.signal.model.offline_analysis:main"], }, install_requires=REQUIRED, From be07e59957de181ee50f4908e825c827999efc66 Mon Sep 17 00:00:00 2001 From: tab-cmd Date: Wed, 30 Oct 2024 13:23:30 -0700 Subject: [PATCH 326/330] Simulator fix and orchestrator saving updates (#358) --- CHANGELOG.md | 51 ++++++++-- bcipy/config.py | 4 +- bcipy/display/__init__.py | 2 - bcipy/display/main.py | 31 ------- .../components/test_button_press_handler.py | 4 + bcipy/helpers/convert.py | 4 +- bcipy/helpers/demo/demo_report.py | 4 +- bcipy/helpers/demo/demo_visualization.py | 4 +- bcipy/helpers/offset.py | 4 +- bcipy/helpers/save.py | 4 +- bcipy/helpers/session.py | 4 +- bcipy/helpers/tests/test_convert.py | 4 +- bcipy/helpers/tests/test_save.py | 4 +- bcipy/signal/evaluate/artifact.py | 4 +- .../tests/model/test_offline_analysis.py | 4 +- bcipy/simulator/data/data_process.py | 4 +- bcipy/simulator/task/copy_phrase.py | 52 ++++++++--- bcipy/task/README.md | 27 +++--- bcipy/task/calibration.py | 13 ++- bcipy/task/orchestrator/orchestrator.py | 9 +- bcipy/task/paradigm/matrix/copy_phrase.py | 70 +++++++------- bcipy/task/paradigm/rsvp/copy_phrase.py | 92 ++++++++++++------- scripts/python/replay_session.py | 4 +- 23 files changed, 235 insertions(+), 168 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 49e2db25f..b192ebe43 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,36 +7,68 @@ Our final release candidate before the official 2.0 release! - Multimodal Acquisition and Querying - Support for multiple devices in online querying #286 - Support for trigger handling relative to a given device #293 -- Session Orchestrator - - New task protocol for orchestrating tasks in a session. This refactors several Task and Cli functionality #339 + - Support multiple device static offests #331 + - Support for Device Status (passive or active) #310 +- Session Orchestrator #339 + - New task protocol for orchestrating tasks in a session. This refactors several Task and Cli functionality #339, #343 + - Parameter guardrails #340 + - Allow multiple phrases in a single protocol to be defined in a phrase.json and randomized #352 +- BciPy Client Additions #346 + - Other commands added for offline analysis, visualization and simulation. +- Artifact Module #336 +- Simulator #350 +- Task + - Calibration Task Refactor: pulls out common elements from RSVP and Matrix calibration tasks #330 + - Registry Refactor #332 + - Inquiry Preview + - Surface button error probability #347 + - Add to Matrix #353 + - Bugfixes/Refactor #348 + - Add more stoppage criteria #351 (max_incorrect) + - Matrix + - Layout Support #349 + - Grid always on #313 + - Output stimuli position, screen capture and monitor information after Matrix tasks #303 + - Row/Column spacing support #298 + - VEP Calibration #304/#296 + - session data to VEP calibration #322 - Model - Offline analysis to support multimodal fusion. Initial release of GazeModel, GazeReshaper, and Gaze Visualization #294 +- Language Model + - Add Oracle model #316 + - Random Uniform model #311 - Stimuli - - Updates to ensure stimuli are presented at the same frequency #287 Output stimuli position, screen capture and monitor information after Matrix tasks #303 + - Updates to ensure stimuli are presented at the same frequency #287 - Dynamic Selection Window - Updated trial_length to trial_window to allow for greater control of window used after stimulus presentations #291 - Report - Functionality to generate a report in the form of a PDF #325 + - Add a BciPy Calbiraiton Report Action #357 - Offset Support - - Add support for determining offsets between timing verification Tasks (Ex. RSVPTimingVerificationCalibration) and RawData with a photodiode trigger column. This is useful for setting up new systems and preventing errors before an experiment begins. #TODO + - Add support for determining offsets between timing verification Tasks (Ex. RSVPTimingVerificationCalibration) and RawData with a photodiode trigger column. This is useful for setting up new systems and preventing errors before an experiment begins. #327 - Parameters - Add a Range type parameter #285 Add editable fields #340 Update parameters.json to seperate relevant parameters by task - Housekeeping - Add mypy typing to the codebase #301 - Change default log level to INFO to prevent too many messages in the experiment logs #288 - Upgrade requirements for m1/2 chips #299/#300 - - Fix GitHub actions build issues with macOS - - Fix occasionally failing test in `test_stimuli` #326 -- GUI Refactor + - Fix GitHub actions build issues with macOS #324 + - Tests Improvements + - Fix occasionally failing test in `test_stimuli` #326 + - Reshaper tests #302 + - Fix parameter save as #323 + - Pause error #321 + - Fix data buffer issue #308 +- GUI Refactor #337 - Create new `BCIUI` class for simpler more straightforward UI creation. - Create dedicated external stylesheet for global styling - Rewrite Experiment Registry to use new GUI code - Create intertask action UI -- Task Return Object +- Task Return Object #334 - Create `TaskData` dataclass to be returned from tasks - updates task `execute` methods to return an instance of `TaskData` - Allows for optional storage of a save path and task dictionary in `TaskData` --Experiment Refactor +-Experiment Refactor #333 #329 - Refactors the Experiment Field Collection GUI to be an action - Allows task protocol to be defined in the orchestrator @@ -77,7 +109,6 @@ Our final release candidate before the official 2.0 release! - added KenLM model `kenlm.py` #268 - added mixture model `mixture.py` and script to tune weights `mixture_tuning.py` #268 - added script to evaluate language model performance `lm_eval.py` #268 - - added Oracle model #316 - Signal Model - added `RdaKdeModel` and restructured to pull out common elements from the PcaRdaKdeModel #279 - Bug Fixes diff --git a/bcipy/config.py b/bcipy/config.py index 0bbc4b562..9325e2447 100644 --- a/bcipy/config.py +++ b/bcipy/config.py @@ -27,9 +27,9 @@ DEFAULT_USER_ID = 'test_user' TASK_SEPERATOR = '->' -DEFAULT_PARAMETER_FILENAME = 'parameters.json' +DEFAULT_PARAMETERS_FILENAME = 'parameters.json' DEFAULT_DEVICES_PATH = f"{BCIPY_ROOT}/parameters" -DEFAULT_PARAMETERS_PATH = f'{BCIPY_ROOT}/parameters/{DEFAULT_PARAMETER_FILENAME}' +DEFAULT_PARAMETERS_PATH = f'{BCIPY_ROOT}/parameters/{DEFAULT_PARAMETERS_FILENAME}' DEFAULT_DEVICE_SPEC_FILENAME = 'devices.json' DEVICE_SPEC_PATH = f'{BCIPY_ROOT}/parameters/{DEFAULT_DEVICE_SPEC_FILENAME}' DEFAULT_LM_PARAMETERS_FILENAME = 'lm_params.json' diff --git a/bcipy/display/__init__.py b/bcipy/display/__init__.py index 960a818bc..58bbf82eb 100644 --- a/bcipy/display/__init__.py +++ b/bcipy/display/__init__.py @@ -8,7 +8,6 @@ Display, InformationProperties, init_display_window, - PreviewInquiryProperties, StimuliProperties, VEPStimuliProperties ) @@ -20,5 +19,4 @@ 'StimuliProperties', 'VEPStimuliProperties', 'InformationProperties', - 'PreviewInquiryProperties' ] diff --git a/bcipy/display/main.py b/bcipy/display/main.py index 019abae64..bb8edd33f 100644 --- a/bcipy/display/main.py +++ b/bcipy/display/main.py @@ -251,37 +251,6 @@ class ButtonPressMode(Enum): REJECT = 2 -class PreviewInquiryProperties: - """"Preview Inquiry Properties. - An encapsulation of properties relevant to preview_inquiry() operation. - """ - - def __init__( - self, - preview_on: bool, - preview_only: bool, - preview_inquiry_length: float, - preview_inquiry_progress_method: int, - preview_inquiry_key_input: str, - preview_inquiry_isi: float): - """Initialize Inquiry Preview Parameters. - - preview_on(bool): If True, display an inquiry preview before the main inquiry. - preview_only(bool): If True, only preview the inquiry and do not probe for response - preview_inquiry_length(float): Length of time in seconds to present the inquiry preview - preview_inquiry_progress_method(int): Method of progression for inquiry preview. - 0 == preview only; 1 == press to accept inquiry; 2 == press to skip inquiry. - preview_inquiry_key_input(str): Defines which key should be listened to for progressing - preview_inquiry_isi(float): Length of time after displaying the inquiry preview to display a blank screen - """ - self.preview_on = preview_on - self.preview_inquiry_length = preview_inquiry_length - self.preview_inquiry_key_input = preview_inquiry_key_input - self.press_to_accept = True if preview_inquiry_progress_method == 1 else False - self.preview_only = preview_only - self.preview_inquiry_isi = preview_inquiry_isi - - class PreviewParams(NamedTuple): """Parameters relevant for the Inquiry Preview functionality. diff --git a/bcipy/display/tests/components/test_button_press_handler.py b/bcipy/display/tests/components/test_button_press_handler.py index 4de0bb832..bf131e52a 100644 --- a/bcipy/display/tests/components/test_button_press_handler.py +++ b/bcipy/display/tests/components/test_button_press_handler.py @@ -189,3 +189,7 @@ def test_press_to_reject_with_keypress(self, get_key_press_mock): self.assertTrue(handler.has_response()) self.assertEqual('bcipy_key_press_space', handler.response_label) self.assertEqual(1.5, handler.response_timestamp) + + +if __name__ == '__main__': + unittest.main() diff --git a/bcipy/helpers/convert.py b/bcipy/helpers/convert.py index 3550c7ff8..4367dc8cd 100644 --- a/bcipy/helpers/convert.py +++ b/bcipy/helpers/convert.py @@ -13,7 +13,7 @@ from tqdm import tqdm from bcipy.acquisition.devices import preconfigured_device -from bcipy.config import (DEFAULT_PARAMETER_FILENAME, RAW_DATA_FILENAME, +from bcipy.config import (DEFAULT_PARAMETERS_FILENAME, RAW_DATA_FILENAME, TRIGGER_FILENAME, SESSION_LOG_FILENAME) from bcipy.helpers.load import load_json_parameters, load_raw_data from bcipy.helpers.raw_data import RawData @@ -174,7 +174,7 @@ def pyedf_convert(data_dir: str, otherwise a string of the filter parameters used to filter the data """ - params = load_json_parameters(str(Path(data_dir, DEFAULT_PARAMETER_FILENAME)), + params = load_json_parameters(str(Path(data_dir, DEFAULT_PARAMETERS_FILENAME)), value_cast=True) data = load_raw_data(str(Path(data_dir, f'{RAW_DATA_FILENAME}.csv'))) fs = data.sample_rate diff --git a/bcipy/helpers/demo/demo_report.py b/bcipy/helpers/demo/demo_report.py index 0936d214d..1ee4ff363 100644 --- a/bcipy/helpers/demo/demo_report.py +++ b/bcipy/helpers/demo/demo_report.py @@ -3,7 +3,7 @@ from bcipy.helpers.triggers import trigger_decoder, TriggerType from bcipy.config import ( BCIPY_ROOT, - DEFAULT_PARAMETER_FILENAME, + DEFAULT_PARAMETERS_FILENAME, RAW_DATA_FILENAME, TRIGGER_FILENAME, DEFAULT_DEVICE_SPEC_FILENAME) @@ -44,7 +44,7 @@ if prompt != 'skip': # load the parameters from the data directory parameters = load_json_parameters( - f'{session}/{DEFAULT_PARAMETER_FILENAME}', value_cast=True) + f'{session}/{DEFAULT_PARAMETERS_FILENAME}', value_cast=True) # load the raw data from the data directory raw_data = load_raw_data(Path(session, f'{RAW_DATA_FILENAME}.csv')) diff --git a/bcipy/helpers/demo/demo_visualization.py b/bcipy/helpers/demo/demo_visualization.py index 8c08701b9..3ccd8fdf4 100644 --- a/bcipy/helpers/demo/demo_visualization.py +++ b/bcipy/helpers/demo/demo_visualization.py @@ -15,7 +15,7 @@ """ import bcipy.acquisition.devices as devices from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, - DEFAULT_PARAMETER_FILENAME, RAW_DATA_FILENAME, + DEFAULT_PARAMETERS_FILENAME, RAW_DATA_FILENAME, TRIGGER_FILENAME) from bcipy.helpers.acquisition import analysis_channels from bcipy.helpers.load import (load_experimental_data, load_json_parameters, @@ -44,7 +44,7 @@ if not path: path = load_experimental_data() - parameters = load_json_parameters(f'{path}/{DEFAULT_PARAMETER_FILENAME}', + parameters = load_json_parameters(f'{path}/{DEFAULT_PARAMETERS_FILENAME}', value_cast=True) # extract all relevant parameters diff --git a/bcipy/helpers/offset.py b/bcipy/helpers/offset.py index c84d34720..0858aadc3 100644 --- a/bcipy/helpers/offset.py +++ b/bcipy/helpers/offset.py @@ -16,7 +16,7 @@ DIODE_TRIGGER, RAW_DATA_FILENAME, DEFAULT_TRIGGER_CHANNEL_NAME, - DEFAULT_PARAMETER_FILENAME + DEFAULT_PARAMETERS_FILENAME ) @@ -343,7 +343,7 @@ def extract_data_latency_calculation( data_path = ask_directory() # grab the stim length from the data directory parameters - stim_length = load_json_parameters(f'{data_path}/{DEFAULT_PARAMETER_FILENAME}', value_cast=True)['stim_length'] + stim_length = load_json_parameters(f'{data_path}/{DEFAULT_PARAMETERS_FILENAME}', value_cast=True)['stim_length'] raw_data, triggers, static_offset = extract_data_latency_calculation( data_path, diff --git a/bcipy/helpers/save.py b/bcipy/helpers/save.py index 8d0f197e9..98a232645 100644 --- a/bcipy/helpers/save.py +++ b/bcipy/helpers/save.py @@ -13,7 +13,7 @@ DEFAULT_EXPERIMENT_ID, DEFAULT_LM_PARAMETERS_FILENAME, DEFAULT_LM_PARAMETERS_PATH, - DEFAULT_PARAMETER_FILENAME, + DEFAULT_PARAMETERS_FILENAME, SIGNAL_MODEL_FILE_SUFFIX, STIMULI_POSITIONS_FILENAME) from bcipy.signal.model.base_model import SignalModel @@ -95,7 +95,7 @@ def init_save_data_structure(data_save_path: str, os.makedirs(save_directory) os.makedirs(os.path.join(save_directory, 'logs'), exist_ok=True) - copyfile(parameters, Path(save_directory, DEFAULT_PARAMETER_FILENAME)) + copyfile(parameters, Path(save_directory, DEFAULT_PARAMETERS_FILENAME)) copyfile(DEFAULT_LM_PARAMETERS_PATH, Path(save_directory, DEFAULT_LM_PARAMETERS_FILENAME)) diff --git a/bcipy/helpers/session.py b/bcipy/helpers/session.py index 1e747f0ad..d447d17f6 100644 --- a/bcipy/helpers/session.py +++ b/bcipy/helpers/session.py @@ -17,7 +17,7 @@ WHITE = COLOR_INDEX[1] YELLOW = COLOR_INDEX[5] from bcipy.config import (BCIPY_ROOT, DEFAULT_ENCODING, - DEFAULT_PARAMETER_FILENAME, EXPERIMENT_DATA_FILENAME, + DEFAULT_PARAMETERS_FILENAME, EXPERIMENT_DATA_FILENAME, SESSION_DATA_FILENAME, SESSION_SUMMARY_FILENAME) from bcipy.helpers.load import (load_experiment_fields, load_experiments, load_json_parameters) @@ -37,7 +37,7 @@ def session_data(data_dir: str) -> Dict: not useful for debugging.""" parameters = load_json_parameters(os.path.join(data_dir, - DEFAULT_PARAMETER_FILENAME), + DEFAULT_PARAMETERS_FILENAME), value_cast=True) session = read_session(os.path.join(data_dir, SESSION_DATA_FILENAME)) data = session.as_dict(evidence_only=True) diff --git a/bcipy/helpers/tests/test_convert.py b/bcipy/helpers/tests/test_convert.py index 2b402c88d..28aade773 100644 --- a/bcipy/helpers/tests/test_convert.py +++ b/bcipy/helpers/tests/test_convert.py @@ -12,7 +12,7 @@ from mockito import mock, unstub, verify, verifyNoMoreInteractions, when import bcipy.acquisition.devices as devices -from bcipy.config import (DEFAULT_ENCODING, DEFAULT_PARAMETER_FILENAME, +from bcipy.config import (DEFAULT_ENCODING, DEFAULT_PARAMETERS_FILENAME, RAW_DATA_FILENAME, TRIGGER_FILENAME) from bcipy.helpers import convert from bcipy.helpers.convert import (archive_list, compress, convert_to_bdf, @@ -64,7 +64,7 @@ def create_bcipy_session_artifacts( filter_high=filter_settings['filter_high'], filter_low=filter_settings['filter_low'], filter_order=filter_settings['filter_order']) - params.save(write_dir, DEFAULT_PARAMETER_FILENAME) + params.save(write_dir, DEFAULT_PARAMETERS_FILENAME) return trg_data, data, params diff --git a/bcipy/helpers/tests/test_save.py b/bcipy/helpers/tests/test_save.py index a54aedd76..ba46b4a25 100644 --- a/bcipy/helpers/tests/test_save.py +++ b/bcipy/helpers/tests/test_save.py @@ -6,7 +6,7 @@ from bcipy.config import ( DEFAULT_PARAMETERS_PATH, - DEFAULT_PARAMETER_FILENAME, + DEFAULT_PARAMETERS_FILENAME, DEFAULT_EXPERIMENT_ID, STIMULI_POSITIONS_FILENAME) from bcipy.helpers import save @@ -50,7 +50,7 @@ def test_init_save_data_structure_creates_correct_save_folder(self): def test_parameter_file_copies(self): # construct the path of the parameters - param_path = self.save_folder_name + f'/{DEFAULT_PARAMETER_FILENAME}' + param_path = self.save_folder_name + f'/{DEFAULT_PARAMETERS_FILENAME}' # assert that the params file was created in the correct location self.assertTrue(os.path.isfile(param_path)) diff --git a/bcipy/signal/evaluate/artifact.py b/bcipy/signal/evaluate/artifact.py index f40bcf134..f4bc7bde0 100644 --- a/bcipy/signal/evaluate/artifact.py +++ b/bcipy/signal/evaluate/artifact.py @@ -7,7 +7,7 @@ import logging from bcipy.config import ( - DEFAULT_PARAMETER_FILENAME, + DEFAULT_PARAMETERS_FILENAME, RAW_DATA_FILENAME, TRIGGER_FILENAME, DEFAULT_DEVICE_SPEC_FILENAME, @@ -577,7 +577,7 @@ def write_mne_annotations( if prompt != 'skip': # load the parameters from the data directory parameters = load_json_parameters( - f'{session}/{DEFAULT_PARAMETER_FILENAME}', value_cast=True) + f'{session}/{DEFAULT_PARAMETERS_FILENAME}', value_cast=True) # load the raw data from the data directory raw_data = load_raw_data(str(Path(session, f'{RAW_DATA_FILENAME}.csv'))) diff --git a/bcipy/signal/tests/model/test_offline_analysis.py b/bcipy/signal/tests/model/test_offline_analysis.py index 54f84d8e3..53563898e 100644 --- a/bcipy/signal/tests/model/test_offline_analysis.py +++ b/bcipy/signal/tests/model/test_offline_analysis.py @@ -9,7 +9,7 @@ import random import gzip -from bcipy.config import RAW_DATA_FILENAME, DEFAULT_PARAMETER_FILENAME, TRIGGER_FILENAME, DEFAULT_DEVICE_SPEC_FILENAME +from bcipy.config import RAW_DATA_FILENAME, DEFAULT_PARAMETERS_FILENAME, TRIGGER_FILENAME, DEFAULT_DEVICE_SPEC_FILENAME from bcipy.helpers.load import load_json_parameters from bcipy.signal.model.offline_analysis import offline_analysis @@ -48,7 +48,7 @@ def setUpClass(cls): shutil.copyfile(input_folder / TRIGGER_FILENAME, cls.tmp_dir / TRIGGER_FILENAME) shutil.copyfile(input_folder / DEFAULT_DEVICE_SPEC_FILENAME, cls.tmp_dir / DEFAULT_DEVICE_SPEC_FILENAME) - params_path = pwd.parent.parent.parent / "parameters" / DEFAULT_PARAMETER_FILENAME + params_path = pwd.parent.parent.parent / "parameters" / DEFAULT_PARAMETERS_FILENAME cls.parameters = load_json_parameters(params_path, value_cast=True) models = offline_analysis( str(cls.tmp_dir), diff --git a/bcipy/simulator/data/data_process.py b/bcipy/simulator/data/data_process.py index c56153a60..d56445cc8 100644 --- a/bcipy/simulator/data/data_process.py +++ b/bcipy/simulator/data/data_process.py @@ -14,7 +14,7 @@ from bcipy.acquisition.devices import DeviceSpec from bcipy.acquisition.multimodal import ContentType from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, - DEFAULT_PARAMETER_FILENAME, TRIGGER_FILENAME) + DEFAULT_PARAMETERS_FILENAME, TRIGGER_FILENAME) from bcipy.helpers.acquisition import analysis_channels, raw_data_filename from bcipy.helpers.list import grouper from bcipy.helpers.load import load_json_parameters, load_raw_data @@ -270,7 +270,7 @@ def process(self, data_folder: str, raw_data, device_spec = load_device_data(data_folder, self.content_type.name) data_parameters = load_json_parameters( - f"{data_folder}/{DEFAULT_PARAMETER_FILENAME}", value_cast=True) + f"{data_folder}/{DEFAULT_PARAMETERS_FILENAME}", value_cast=True) timing_params = parameters.instantiate(TimingParams) diff --git a/bcipy/simulator/task/copy_phrase.py b/bcipy/simulator/task/copy_phrase.py index 119f129a5..b672c7077 100644 --- a/bcipy/simulator/task/copy_phrase.py +++ b/bcipy/simulator/task/copy_phrase.py @@ -1,6 +1,6 @@ # mypy: disable-error-code="union-attr" """Simulates the Copy Phrase task""" -from typing import Dict, List, Optional, Tuple +from typing import Any, Dict, List, Optional, Tuple import logging from bcipy.display.main import Display @@ -21,8 +21,20 @@ def get_evidence_type(model: SignalModel) -> EvidenceType: - """Get the evidence type provided by the given model""" - return model.metadata.evidence_type or DEFAULT_EVIDENCE_TYPE + """Get the evidence type provided by the given model and return it as an enum (EvidenceType). + + If the model does not provide an evidence type, the default evidence type is returned (ERP). + """ + evidence_type = model.metadata.evidence_type + + # Note: once more than one evidence type is supported, this should be updated to throw an error + if not evidence_type: + return DEFAULT_EVIDENCE_TYPE + + try: + return EvidenceType(evidence_type) + except ValueError: + raise ValueError(f"Unsupported evidence type: {evidence_type}. Supported types: {EvidenceType.list()}") class SimulatorCopyPhraseTask(RSVPCopyPhraseTask): @@ -37,16 +49,34 @@ def __init__(self, parameters: Parameters, file_save: str, signal_models: List[SignalModel], language_model: LanguageModel, samplers: Dict[SignalModel, Sampler]): - super().__init__(win=None, - daq=None, - parameters=parameters, - file_save=file_save, - signal_models=signal_models, - language_model=language_model, - fake=False) + self.args_sm = signal_models + self.args_lm = language_model self.save_session_every_inquiry = False self.samplers = samplers self.logger = logging.getLogger(__name__) + super().__init__(parameters=parameters, + file_save=file_save, + fake=False) + + def setup( + self, + parameters: Parameters, + data_save_location: str, + fake: bool = False) -> Tuple[Any, Any, Display]: + """Override the setup method to avoid initializing the data acquisition.""" + daq = None + server = None + display = self.init_display() + self.initalized = True + return daq, server, display + + def get_signal_models(self): + """Override the get the signal models""" + return self.args_sm + + def get_language_model(self): + """Override the get the language model""" + return self.args_lm def init_evidence_evaluators( self, signal_models: List[SignalModel]) -> List[EvidenceEvaluator]: @@ -105,7 +135,7 @@ def compute_device_evidence( sampled_data = sampler.sample_data(current_state) evidence = model.predict(sampled_data, self.current_symbols(), self.alp) - evidence_type = model.metadata.evidence_type or EvidenceType.ERP + evidence_type = get_evidence_type(model) evidences.append((evidence_type, evidence)) return evidences diff --git a/bcipy/task/README.md b/bcipy/task/README.md index 2efd0fa5b..e0394c26e 100644 --- a/bcipy/task/README.md +++ b/bcipy/task/README.md @@ -97,19 +97,20 @@ The data will be saved in the following format in the specified data_save_loc (d data_save_loc/ user_id/ - experiment_id/ - run_id / - task_id/ - logs/ - task_log_data - task_data (e.g. acquisition data, parameters, visualizations) - task_id/ - logs/ - task_log_data - task_data (e.g. acquisition data, parameters, visualizations) - logs/ - protocol_log_data - protocol_data (system data, protocol/tasks executed) + date/ + experiment_id/ + run_id / + task_id/ + logs/ + task_log_data + task_data (e.g. acquisition data, parameters, visualizations) + task_id/ + logs/ + task_log_data + task_data (e.g. acquisition data, parameters, visualizations) + logs/ + protocol_log_data + protocol_data (system data, protocol/tasks executed) ``` ### Usage manually diff --git a/bcipy/task/calibration.py b/bcipy/task/calibration.py index 3f39ff2e9..c80496480 100644 --- a/bcipy/task/calibration.py +++ b/bcipy/task/calibration.py @@ -121,7 +121,11 @@ def symbol_set(self) -> List[str]: """Symbols used in the calibration""" return self._symbol_set - def setup(self, parameters, data_save_location, fake=False) -> Tuple[ClientManager, List[LslDataServer], Window]: + def setup( + self, + parameters: Parameters, + data_save_location: str, + fake: bool = False) -> Tuple[ClientManager, List[LslDataServer], Window]: # Initialize Acquisition daq, servers = init_acquisition( parameters, data_save_location, server=fake) @@ -212,7 +216,9 @@ def session_task_data(self) -> Optional[Dict[str, Any]]: """"Task-specific session data""" return None - def trigger_type(self, symbol: str, target: str, + def trigger_type(self, + symbol: str, + target: str, index: int) -> TriggerType: """Trigger Type. @@ -232,7 +238,8 @@ def trigger_type(self, symbol: str, target: str, return TriggerType.EVENT return TriggerType.NONTARGET - def present_inquiry(self, index: int, + def present_inquiry(self, + index: int, inquiry: Inquiry) -> List[Tuple[str, float]]: """Present the given inquiry and return the trigger timing info. diff --git a/bcipy/task/orchestrator/orchestrator.py b/bcipy/task/orchestrator/orchestrator.py index b3b493242..1f07fb82a 100644 --- a/bcipy/task/orchestrator/orchestrator.py +++ b/bcipy/task/orchestrator/orchestrator.py @@ -15,6 +15,7 @@ from bcipy.task import Task, TaskData, TaskMode from bcipy.config import ( DEFAULT_EXPERIMENT_ID, + DEFAULT_PARAMETERS_FILENAME, DEFAULT_PARAMETERS_PATH, DEFAULT_USER_ID, MULTIPHRASE_FILENAME, @@ -219,10 +220,12 @@ def _init_orchestrator_logger(self, save_folder: str) -> Logger: logging.DEBUG) def _init_orchestrator_save_folder(self, save_path: str) -> str: - timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M-%S") + date_time = datetime.now() + date = date_time.strftime("%Y-%m-%d") + timestamp = date_time.strftime("%Y-%m-%d_%H-%M-%S") # * No '/' after `save_folder` since it is included in # * `data_save_location` in parameters - path = f'{save_path}{self.user}/{self.experiment_id}/{timestamp}/' + path = f'{save_path}{self.user}/{date}/{self.experiment_id}/{timestamp}/' os.makedirs(path) os.makedirs(os.path.join(path, 'logs'), exist_ok=True) return path @@ -247,7 +250,7 @@ def _init_task_save_folder(self, task: Type[Task]) -> str: "type": "str", } ) - self.parameters.save(save_directory) + self.parameters.save(save_directory, name=DEFAULT_PARAMETERS_FILENAME) except OSError as error: # If the error is anything other than file existing, raise an error diff --git a/bcipy/task/paradigm/matrix/copy_phrase.py b/bcipy/task/paradigm/matrix/copy_phrase.py index 03c3f8368..56f89d8bc 100644 --- a/bcipy/task/paradigm/matrix/copy_phrase.py +++ b/bcipy/task/paradigm/matrix/copy_phrase.py @@ -35,41 +35,52 @@ class MatrixCopyPhraseTask(RSVPCopyPhraseTask): mode = TaskMode.COPYPHRASE PARAMETERS_USED = [ - "time_fixation", - "time_flash", - "time_prompt", - "trial_window", - "font", - "fixation_color", - "trigger_type", + "backspace_always_shown", + "decision_threshold", + "down_sampling_rate", + "feedback_duration", "filter_high", "filter_low", "filter_order", - "notch_filter_frequency", - "down_sampling_rate", - "prestim_length", + "fixation_color", + "font", + "info_color", + "info_color", + "info_height", + "info_height", + "info_pos_x", + "info_pos_y", + "info_text", + "info_text", "is_txt_stim", "lm_backspace_prob", - "backspace_always_shown", - "decision_threshold", + "matrix_columns", + "matrix_keyboard_layout", + "matrix_rows", + "matrix_stim_height", + "matrix_stim_pos_x", + "matrix_stim_pos_y", + "matrix_task_height", + "matrix_task_padding", + "matrix_width", + "max_incorrect", "max_inq_len", "max_inq_per_series", "max_minutes", "max_selections", - "max_incorrect", "min_inq_len", - "show_feedback", - "feedback_duration", - "show_preview_inquiry", + "notch_filter_frequency", + "prestim_length", + "preview_box_text_size", + "preview_inquiry_error_prob", "preview_inquiry_isi", "preview_inquiry_key_input", - "preview_inquiry_error_prob", "preview_inquiry_length", "preview_inquiry_progress_method", - "preview_box_text_size", + "show_feedback", + "show_preview_inquiry", "spelled_letters_count", "stim_color", - "matrix_stim_height", "stim_jitter", "stim_length", "stim_number", @@ -80,23 +91,12 @@ class MatrixCopyPhraseTask(RSVPCopyPhraseTask): "target_color", "task_buffer_length", "task_color", - "matrix_task_height", - "matrix_task_padding", - "matrix_keyboard_layout", - "matrix_rows", - "matrix_columns", - "matrix_width", - "matrix_stim_pos_x", - "matrix_stim_pos_y", "task_text", - "info_pos_x", - "info_pos_y", - "info_color", - "info_height", - "info_text", - "info_color", - "info_height", - "info_text", + "time_fixation", + "time_flash", + "time_prompt", + "trial_window", + "trigger_type", ] def init_display(self) -> MatrixDisplay: diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index b473f2f09..1800c207d 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -94,21 +94,60 @@ class RSVPCopyPhraseTask(Task): initalized = False PARAMETERS_USED = [ - 'time_fixation', 'time_flash', 'time_prompt', 'trial_window', - 'font', 'fixation_color', 'trigger_type', - 'filter_high', 'filter_low', 'filter_order', 'notch_filter_frequency', 'down_sampling_rate', 'prestim_length', - 'is_txt_stim', 'lm_backspace_prob', 'backspace_always_shown', - 'decision_threshold', 'max_inq_len', 'max_inq_per_series', 'max_minutes', 'max_selections', 'max_incorrect', + 'backspace_always_shown', + 'decision_threshold', + 'down_sampling_rate', + 'feedback_duration', + 'filter_high', + 'filter_low', + 'filter_order', + 'fixation_color', + 'font', + 'info_color', + 'info_color', + 'info_height', + 'info_height', + 'info_pos_x', 'info_pos_y', + 'info_text', + 'info_text', + 'is_txt_stim', + 'lm_backspace_prob', + 'max_incorrect', + 'max_inq_len', + 'max_inq_per_series', + 'max_minutes', + 'max_selections', 'min_inq_len', - 'show_feedback', 'feedback_duration', - 'show_preview_inquiry', 'preview_inquiry_isi', - 'preview_inquiry_error_prob', 'preview_inquiry_key_input', 'preview_inquiry_length', - 'preview_inquiry_progress_method', 'preview_box_text_size', + 'notch_filter_frequency', + 'prestim_length', + 'preview_box_text_size', + 'preview_inquiry_error_prob', + 'preview_inquiry_isi', + 'preview_inquiry_key_input', + 'preview_inquiry_length', + 'preview_inquiry_progress_method', + 'rsvp_stim_height', + 'rsvp_stim_pos_x', 'rsvp_stim_pos_y', + 'rsvp_task_height', + 'rsvp_task_padding', + 'show_feedback', + 'show_preview_inquiry', 'spelled_letters_count', - 'stim_color', 'rsvp_stim_height', 'stim_jitter', 'stim_length', 'stim_number', - 'stim_order', 'rsvp_stim_pos_x', 'rsvp_stim_pos_y', 'stim_space_char', 'target_color', - 'task_buffer_length', 'task_color', 'rsvp_task_height', 'task_text', 'rsvp_task_padding', - 'info_pos_x', 'info_pos_y', 'info_color', 'info_height', 'info_text', 'info_color', 'info_height', 'info_text', + 'stim_color', + 'stim_jitter', + 'stim_length', + 'stim_number', + 'stim_order', + 'stim_space_char', + 'target_color', + 'task_buffer_length', + 'task_color', + 'task_text', + 'time_fixation', + 'time_flash', + 'time_prompt', + 'trial_window', + 'trigger_type', ] def __init__( @@ -155,27 +194,13 @@ def __init__( self.set() - # set a preview_only parameter - self.parameters.add_entry( - "preview_only", - { - "value": ( - "true" - if self.parameters["preview_inquiry_progress_method"] == 0 - else "false" - ), - "section": "", - "name": "", - "helpTip": "", - "recommended": "", - "editable": "false", - "type": "bool", - }, - ) - self.rsvp = self.init_display() - def setup(self, parameters, data_save_location, fake=False) -> Tuple[ClientManager, List[LslDataServer], Window]: + def setup( + self, + parameters: Parameters, + data_save_location: str, + fake: bool = False) -> Tuple[ClientManager, List[LslDataServer], Window]: # Initialize Acquisition daq, servers = init_acquisition( parameters, data_save_location, server=fake) @@ -662,8 +687,7 @@ def compute_button_press_evidence( """ if ( not self.parameters["show_preview_inquiry"] or - not self.current_inquiry or - self.parameters["preview_only"] + not self.current_inquiry ): return None probs = compute_probs_after_preview( diff --git a/scripts/python/replay_session.py b/scripts/python/replay_session.py index 239bc8a00..421d96a37 100644 --- a/scripts/python/replay_session.py +++ b/scripts/python/replay_session.py @@ -12,7 +12,7 @@ import bcipy.acquisition.devices as devices from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, - DEFAULT_PARAMETER_FILENAME, RAW_DATA_FILENAME, + DEFAULT_PARAMETERS_FILENAME, RAW_DATA_FILENAME, SESSION_DATA_FILENAME, TRIGGER_FILENAME) from bcipy.helpers.acquisition import analysis_channels from bcipy.helpers.list import grouper @@ -341,7 +341,7 @@ def plot_collected_outputs( if args.parameter_file is not None: params_file = args.parameter_file else: - params_file = Path(data_folder, DEFAULT_PARAMETER_FILENAME) + params_file = Path(data_folder, DEFAULT_PARAMETERS_FILENAME) logger.info(f"Loading params from {params_file}") params = load_json_parameters(params_file, value_cast=True) From 3882e19da8b3080fec954bc9ac1aa494b84de83d Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 1 Nov 2024 16:43:03 -0700 Subject: [PATCH 327/330] #188514964 ensure that button evidence is only produced when button presses are meaningful --- bcipy/task/paradigm/rsvp/copy_phrase.py | 18 +++-- .../tests/paradigm/rsvp/test_copy_phrase.py | 73 ++++++++++++++++++- 2 files changed, 82 insertions(+), 9 deletions(-) diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index 1800c207d..1c385f0f1 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -671,8 +671,7 @@ def add_evidence( return evidence_types def compute_button_press_evidence( - self, proceed: bool - ) -> Optional[Tuple[EvidenceType, List[float]]]: + self, proceed: bool) -> Optional[Tuple[EvidenceType, List[float]]]: """If 'show_preview_inquiry' feature is enabled, compute the button press evidence and add it to the copy phrase task. @@ -685,10 +684,7 @@ def compute_button_press_evidence( tuple of (evidence type, evidence) or None if inquiry preview is not enabled. """ - if ( - not self.parameters["show_preview_inquiry"] or - not self.current_inquiry - ): + if (not self.should_compute_button_press_evidence()): return None probs = compute_probs_after_preview( self.current_inquiry.stimuli[0], @@ -698,9 +694,15 @@ def compute_button_press_evidence( ) return (EvidenceType.BTN, probs) + def should_compute_button_press_evidence(self) -> bool: + """Determine if button press evidence should be computed""" + return self.parameters["show_preview_inquiry"] and self.parameters[ + 'preview_inquiry_progress_method'] > 0 and self.current_inquiry + def compute_device_evidence( - self, stim_times: List[List], proceed: bool = True - ) -> List[Tuple[EvidenceType, List[float]]]: + self, + stim_times: List[List], + proceed: bool = True) -> List[Tuple[EvidenceType, List[float]]]: """Get inquiry data from all devices and evaluate the evidence, but don't yet attempt a decision. diff --git a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py index 2bad0ef4b..d5465fe29 100644 --- a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py +++ b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py @@ -13,8 +13,8 @@ from bcipy.acquisition.devices import DeviceSpec from bcipy.acquisition.multimodal import ContentType from bcipy.config import DEFAULT_ENCODING -from bcipy.helpers.copy_phrase_wrapper import CopyPhraseWrapper from bcipy.exceptions import TaskConfigurationException +from bcipy.helpers.copy_phrase_wrapper import CopyPhraseWrapper from bcipy.helpers.parameters import Parameters from bcipy.helpers.stimuli import InquirySchedule from bcipy.helpers.triggers import TriggerHandler @@ -594,6 +594,77 @@ def test_execute_real_data_single_inquiry(self, process_data_mock, message_mock, session = Session.from_dict(json.load(json_file)) self.assertEqual(1, session.total_number_series) + def test_btn_evidence_without_inquiry_preview_enabled(self): + """Test button evidence without the inquiry preview functionality""" + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) + self.parameters['show_preview_inquiry'] = False + task = RSVPCopyPhraseTask( + parameters=self.parameters, + file_save=self.temp_dir, + fake=False) + self.assertIsNone(task.compute_button_press_evidence(True)) + self.assertIsNone(task.compute_button_press_evidence(False)) + + def test_btn_evidence_without_current_inquiry(self): + """Test button evidence without a current inquiry""" + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) + self.parameters['show_preview_inquiry'] = True + task = RSVPCopyPhraseTask( + parameters=self.parameters, + file_save=self.temp_dir, + fake=False) + task.current_inquiry = None + self.assertIsNone(task.compute_button_press_evidence(True)) + self.assertIsNone(task.compute_button_press_evidence(False)) + + @patch('bcipy.task.paradigm.rsvp.copy_phrase.compute_probs_after_preview') + def test_btn_evidence_with_inquiry_preview_enabled(self, + compute_probs_mock): + """Test button evidence with the inquiry preview functionality""" + probs = [ + 0.95, 0.95, 0.95, 0.95, 0.95, 0.95, 0.95, 0.95, 0.95, 0.05, 0.05, + 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, + 0.05, 0.05, 0.05, 0.05, 0.95, 0.05 + ] + compute_probs_mock.return_value = probs + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).setup( + any(), any(), any()).thenReturn((self.daq, self.servers, self.win)) + self.parameters['show_preview_inquiry'] = True + self.parameters['preview_inquiry_progress_method'] = 1 + task = RSVPCopyPhraseTask(parameters=self.parameters, + file_save=self.temp_dir, + fake=False) + + self.assertEqual(task.compute_button_press_evidence(True), + (EvidenceType.BTN, probs)) + compute_probs_mock.assert_called_with(task.current_inquiry.stimuli[0], + task.alp, + task.button_press_error_prob, + True) + self.assertEqual(task.compute_button_press_evidence(False), + (EvidenceType.BTN, probs)) + compute_probs_mock.assert_called_with(task.current_inquiry.stimuli[0], + task.alp, + task.button_press_error_prob, + False) + + def test_btn_evidence_with_preview_only(self): + """Test button evidence with inquiry preview mode set to preview only.""" + when(bcipy.task.paradigm.rsvp.copy_phrase.RSVPCopyPhraseTask).setup(any(), any(), any()).thenReturn( + (self.daq, self.servers, self.win)) + self.parameters['show_preview_inquiry'] = True + self.parameters['preview_inquiry_progress_method'] = 0 # ButtonPressMode.NOTHING.value + + task = RSVPCopyPhraseTask( + parameters=self.parameters, + file_save=self.temp_dir, + fake=False) + + self.assertIsNone(task.compute_button_press_evidence(True)) + self.assertIsNone(task.compute_button_press_evidence(False)) + def test_setup(self): """Test setup""" From 95a12b20b05457d4e53ed616b5077179a9315120 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 1 Nov 2024 17:26:00 -0700 Subject: [PATCH 328/330] Fixed type errors --- bcipy/task/paradigm/rsvp/copy_phrase.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index 1c385f0f1..a7f335dbd 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -686,6 +686,7 @@ def compute_button_press_evidence( """ if (not self.should_compute_button_press_evidence()): return None + assert self.current_inquiry, "Current inquiry is required" probs = compute_probs_after_preview( self.current_inquiry.stimuli[0], self.alp, @@ -696,8 +697,8 @@ def compute_button_press_evidence( def should_compute_button_press_evidence(self) -> bool: """Determine if button press evidence should be computed""" - return self.parameters["show_preview_inquiry"] and self.parameters[ - 'preview_inquiry_progress_method'] > 0 and self.current_inquiry + return bool(self.parameters["show_preview_inquiry"] and self.parameters[ + 'preview_inquiry_progress_method'] > 0 and self.current_inquiry) def compute_device_evidence( self, From a56e1d8aec8999bc6910899305204caf2bdcfbe5 Mon Sep 17 00:00:00 2001 From: Basak Celik Date: Tue, 5 Nov 2024 13:39:00 -0500 Subject: [PATCH 329/330] Offline analysis updates for multimodal fusion. (#360) --- .gitignore | 2 +- CHANGELOG.md | 3 + bcipy/helpers/demo/demo_visualization.py | 3 - bcipy/helpers/stimuli.py | 94 +++--- bcipy/helpers/visualization.py | 169 +++++++--- bcipy/parameters/symbol_positions.json | 114 ------- bcipy/signal/model/__init__.py | 7 + bcipy/signal/model/base_model.py | 27 ++ .../signal/model/gaussian_mixture/__init__.py | 8 + .../gaussian_mixture/gaussian_mixture.py | 287 ++++++++++++++--- bcipy/signal/model/offline_analysis.py | 300 ++++++++++-------- bcipy/signal/model/pca_rda_kde/pca_rda_kde.py | 51 ++- bcipy/signal/process/extract_gaze.py | 22 +- .../model/pca_rda_kde/test_pca_rda_kde.py | 6 +- bcipy/simulator/task/copy_phrase.py | 6 +- bcipy/task/control/evidence.py | 69 +++- bcipy/task/control/handler.py | 4 +- bcipy/task/tests/core/test_eeg_evaluator.py | 3 +- scripts/python/replay_session.py | 6 +- setup.py | 2 +- 20 files changed, 762 insertions(+), 421 deletions(-) delete mode 100644 bcipy/parameters/symbol_positions.json diff --git a/.gitignore b/.gitignore index 0367e5eae..1fdadd6e1 100644 --- a/.gitignore +++ b/.gitignore @@ -37,4 +37,4 @@ bcipy/language/out/ bcipy/simulator/tests/resource/ -!bcipy/simulator/data +!bcipy/simulator/data \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index b192ebe43..a5f814ef9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,11 +34,14 @@ Our final release candidate before the official 2.0 release! - session data to VEP calibration #322 - Model - Offline analysis to support multimodal fusion. Initial release of GazeModel, GazeReshaper, and Gaze Visualization #294 + - Updates to ensure seamless offline analysis for both EEG and Gaze data #305 + - Offline analysis support for EEG and (multiple) gaze models. Updates to support Eye Tracker Evidence class #360 - Language Model - Add Oracle model #316 - Random Uniform model #311 - Stimuli - Updates to ensure stimuli are presented at the same frequency #287 + - Output stimuli position, screen capture and monitor information after Matrix tasks #303 - Dynamic Selection Window - Updated trial_length to trial_window to allow for greater control of window used after stimulus presentations #291 - Report diff --git a/bcipy/helpers/demo/demo_visualization.py b/bcipy/helpers/demo/demo_visualization.py index 3ccd8fdf4..078db292a 100644 --- a/bcipy/helpers/demo/demo_visualization.py +++ b/bcipy/helpers/demo/demo_visualization.py @@ -97,9 +97,6 @@ trigger_timing, labels, trial_window, - transform=default_transform, - plot_average=True, - plot_topomaps=True, save_path=save_path, show=args.show ) diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 795218db3..558a513e2 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -24,6 +24,7 @@ from bcipy.config import DEFAULT_FIXATION_PATH, DEFAULT_TEXT_FIXATION, SESSION_LOG_FILENAME from bcipy.exceptions import BciPyCoreException from bcipy.helpers.list import grouper +from bcipy.helpers.symbols import alphabet # Prevents pillow from filling the console with debug info logging.getLogger('PIL').setLevel(logging.WARNING) @@ -198,7 +199,7 @@ def extract_trials( prestimulus_samples: int = 0) -> np.ndarray: """Extract Trials. - After using the InquiryReshaper, it may be necessary to further trial the data for processing. + After using the InquiryReshaper, it may be necessary to further extract the trials for processing. Using the number of samples and inquiry timing, the data is reshaped from Channels, Inquiry, Samples to Channels, Trials, Samples. These should match with the trials extracted from the TrialReshaper given the same slicing parameters. @@ -245,38 +246,46 @@ def __call__(self, target_symbols: List[str], gaze_data: np.ndarray, sample_rate: int, - symbol_set: List[str], + stimulus_duration: float, + num_stimuli_per_inquiry: int, + symbol_set: List[str] = alphabet(), channel_map: Optional[List[int]] = None, - ) -> dict: - """Extract inquiry data and labels. Different from the EEG inquiry, the gaze inquiry window starts with - the first flicker and ends with the last flicker in the inquiry. Each inquiry has a length of ~3 seconds. - The labels are provided in the target_symbols list. It returns a Dict, where keys are the target symbols and - the values are inquiries (appended in order of appearance) where the corresponding target symbol is prompted. + ) -> Tuple[dict, list, List[str]]: + """Extract gaze trajectory data and labels. + + Different from the EEG, gaze inquiry windows start with the first highlighted symbol and end with the + last highlighted symbol in the inquiry. Each inquiry has a length of (trial duration x num of trials) + seconds. Labels are provided in 'target_symbols'. It returns a Dict, where keys are the target symbols + and the values are inquiries (appended in order of appearance) where the corresponding target symbol is + prompted. + Optional outputs: - reshape_data is the list of data reshaped into (Inquiries, Channels, Samples), where inquirires are appended - in chronological order. labels returns the list of target symbols in each inquiry. + reshape_data is the list of data reshaped into (Inquiries, Channels, Samples), where inquirires are + appended in chronological order. + labels returns the list of target symbols in each inquiry. - Args: + Parameters + ---------- inq_start_times (List[float]): Timestamp of each event in seconds target_symbols (List[str]): Prompted symbol in each inquiry gaze_data (np.ndarray): shape (channels, samples) eye tracking data - sample_rate (int): sample rate of data provided in eeg_data + sample_rate (int): sample rate of eye tracker data + stimulus_duration (float): duration of flash time (in seconds) for each trial + num_stimuli_per_inquiry (int): number of stimuli in each inquiry (default: 10) + symbol_set (List[str]): list of all symbols for the task channel_map (List[int], optional): Describes which channels to include or discard. Defaults to None; all channels will be used. - Returns: - data_by_targets (dict): Dictionary where keys are the symbol set and values are the appended inquiries - for each symbol. dict[Key] = (np.ndarray) of shape (Channels, Samples) + Returns + ------- + data_by_targets (dict): Dictionary where keys consist of the symbol set, and values + the appended inquiries for each symbol. dict[Key] = (np.ndarray) of shape (Channels, Samples) reshaped_data (List[float]) [optional]: inquiry data of shape (Inquiries, Channels, Samples) labels (List[str]) [optional] : Target symbol in each inquiry. """ - if channel_map: - # Remove the channels that we are not interested in - channels_to_remove = [idx for idx, value in enumerate(channel_map) if value == 0] - gaze_data = np.delete(gaze_data, channels_to_remove, axis=0) - - # Find the value closest to (& greater than) inq_start_times + # Find the timestamp value closest to (& greater than) inq_start_times. + # Lsl timestamps are the last row in the gaze_data gaze_data_timing = gaze_data[-1, :].tolist() start_times = [] @@ -294,54 +303,45 @@ def __call__(self, # Create a dictionary with symbols as keys and data as values # 'A': [], 'B': [] ... - data_by_targets: Dict[str, list] = {} + data_by_targets_dict: Dict[str, list] = {} for symbol in symbol_set: - data_by_targets[symbol] = [] + data_by_targets_dict[symbol] = [] - window_length = 3 # seconds, total length of flickering after prompt for each inquiry + buffer = stimulus_duration / 5 # seconds, buffer for each inquiry + # NOTE: This buffer is used to account for the screen downtime between each stimulus. + # There is a "duty cycle" of 80% for the stimuli, so we add a buffer of 20% of the stimulus length + window_length = (stimulus_duration + buffer) * num_stimuli_per_inquiry # in seconds reshaped_data = [] # Merge the inquiries if they have the same target letter: for i, inquiry_index in enumerate(triggers): start = inquiry_index - stop = int(inquiry_index + (sample_rate * window_length)) # (60 samples * 3 seconds) + stop = int(inquiry_index + (sample_rate * window_length)) # Check if the data exists for the inquiry: if stop > len(gaze_data[0, :]): continue - - reshaped_data.append(gaze_data[:, start:stop]) # (Optional) extracted data (Inquiries x Channels x Samples) + reshaped_data.append(gaze_data[:, start:stop]) - # Populate the dict by appending the inquiry to the correct key: - data_by_targets[labels[i]].append(gaze_data[:, start:stop]) - - # After populating, flatten the arrays in the dictionary to (Channels x Samples): - for symbol in symbol_set: - if len(data_by_targets[symbol]) > 0: - data_by_targets[symbol] = np.transpose(np.array(data_by_targets[symbol]), (1, 0, 2)) - data_by_targets[symbol] = np.reshape(data_by_targets[symbol], (len(data_by_targets[symbol]), -1)) - - # Note that this is a workaround to the issue of having different number of targetness in - # each symbol. If a target symbol is prompted more than once, the data is appended to the dict as a list. - # Which is why we need to convert it to a (np.ndarray) and flatten the dimensions. - # This is not ideal, but it works for now. + # Populate the dict by appending the inquiry to the corresponding key: + data_by_targets_dict[labels[i]].append(gaze_data[:, start:stop]) - # return np.stack(reshaped_data, 0), labels - return data_by_targets + return data_by_targets_dict, reshaped_data, labels - @staticmethod - def centralize_all_data(data, symbol_pos): + def centralize_all_data(self, data: np.ndarray, symbol_pos: np.ndarray) -> np.ndarray: """ Using the symbol locations in matrix, centralize all data (in Tobii units). This data will only be used in certain model types. Args: - data (np.ndarray): Data in shape of num_channels x num_samples + data (np.ndarray): Data in shape of num_samples x num_dimensions symbol_pos (np.ndarray(float)): Array of the current symbol posiiton in Tobii units Returns: - data (np.ndarray): Centralized data in shape of num_channels x num_samples + new_data (np.ndarray): Centralized data in shape of num_samples x num_dimensions """ + new_data = np.copy(data) for i in range(len(data)): - data[i] = data[i] - symbol_pos - return data + new_data[i] = data[i] - symbol_pos + + return new_data class TrialReshaper(Reshaper): diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index 7f0d37dc3..8f4c14a3e 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -210,6 +210,7 @@ def visualize_gaze( colorbar=True) if raw_plot: + # ax.scatter(lx, range(len(lx)), c='r', s=1) ax.scatter(lx, ly, c='r', s=1) ax.scatter(rx, ry, c='b', s=1) @@ -282,10 +283,13 @@ def visualize_gaze_inquiries( ly = 1 - ly ry = 1 - ry - if means is not None: - means[:, 0] = np.clip(means[:, 0], 0, 1) - means[:, 1] = np.clip(means[:, 1], 0, 1) - means[:, 1] = 1 - means[:, 1] + # Define mns as a copy of means to avoid modifying the original array + mns = np.copy(means) + + if mns is not None: + mns[:, 0] = np.clip(mns[:, 0], 0, 1) + mns[:, 1] = np.clip(mns[:, 1], 0, 1) + mns[:, 1] = 1 - mns[:, 1] # scale the eye data to the image fig, ax = plt.subplots() @@ -310,11 +314,93 @@ def visualize_gaze_inquiries( colorbar=True) if raw_plot: - # ax.scatter(lx, ly, c='lightcoral', s=1) + ax.scatter(lx, ly, c='lightcoral', s=1) ax.scatter(rx, ry, c='bisque', s=1) - if means is not None: - for i, (mean, cov) in enumerate(zip(means, covs)): + if mns is not None: + for i, (mean, cov) in enumerate(zip(mns, covs)): + v, w = linalg.eigh(cov) + v = 2.0 * np.sqrt(2.0) * np.sqrt(v) + u = w[0] / linalg.norm(w[0]) + + # Plot an ellipse to show the Gaussian component + angle = np.arctan(u[1] / u[0]) + angle = 180.0 * angle / np.pi # convert to degrees + ell = Ellipse(mean, v[0], v[1], angle=180.0 + angle, color='navy') + ell.set_clip_box(ax) + ell.set_alpha(0.5) + ax.add_artist(ell) + + ax.set_xticks([]) + ax.set_yticks([]) + ax.set_xticklabels([]) + ax.set_yticklabels([]) + + plt.title(f'{title}Plot') + + if save_path is not None: + plt.savefig(f"{save_path}/{title.lower().replace(' ', '_')}plot.png", dpi=fig.dpi) + + if show: + plt.show() + else: + plt.close() + + return fig + + +def visualize_pupil_size( + means: Optional[np.ndarray] = None, + covs: Optional[np.ndarray] = None, + save_path: Optional[str] = None, + show: Optional[bool] = False, + img_path: Optional[str] = None, + screen_size: Tuple[int, int] = (1920, 1080), + heatmap: Optional[bool] = False, + raw_plot: Optional[bool] = False) -> Figure: + """Visualize Gaze Inquiries. + + Assumes that the data is collected using BciPy and a Tobii-nano eye tracker. The default + image used is for the matrix calibration task on a 1920x1080 screen. + + Generates a comparative matrix figure following the execution of offline analysis. Given a set of + trailed data (left & right eye), the gaze distribution for each prompted symbol are plotted, along + with the contour plots of mean and covariances calculated by the Gaussian Mixture Model. + The figures may be saved or shown in a window. + + Returns a list of the figure handles created. + + Parameters + ---------- + means: Optional[np.ndarray]: Means of the Gaussian Mixture Model + covs: Optional[np.ndarray]: Covariances of the Gaussian Mixture Model + save_path: Optional[str]: optional path to a save location of the figure generated + show: Optional[bool]: whether or not to show the figures generated. Default: False + img_path: Optional[str]: Image to be used as the background. Default: matrix.png + screen_size: Optional[Tuple[int, int]]: Size of the screen used for Calibration/Copy + Phrase tasks. + Default: (1920, 1080) + heatmap: Optional[bool]: Whether or not to plot the heatmap. Default: False + raw_plot: Optional[bool]: Whether or not to plot the raw gaze data. Default: False + """ + + title = 'Pupil Size ' + img = plt.imread(img_path) + + # Define mns as a copy of means to avoid modifying the original array + mns = np.copy(means) + + if mns is not None: + # mns[:, 0] = np.clip(mns[:, 0], 0, 1) + # mns[:, 1] = np.clip(mns[:, 1], 0, 1) + mns[:, 1] = 1 - mns[:, 1] + + # scale the eye data to the image + fig, ax = plt.subplots() + ax.imshow(img, extent=[0, 1, 0, 1]) + + if mns is not None: + for i, (mean, cov) in enumerate(zip(mns, covs)): v, w = linalg.eigh(cov) v = 2.0 * np.sqrt(2.0) * np.sqrt(v) u = w[0] / linalg.norm(w[0]) @@ -346,8 +432,7 @@ def visualize_gaze_inquiries( def visualize_centralized_data( - left_eye: np.ndarray, - right_eye: np.ndarray, + gaze_data: np.ndarray, save_path: Optional[str] = None, show: Optional[bool] = False, img_path: Optional[str] = None, @@ -369,8 +454,7 @@ def visualize_centralized_data( Parameters ---------- - left_eye: (np.ndarray): Data array for the centralized left eye data. - right_eye: (np.ndarray): Data array for the centralized right eye data. + gaze_data: (np.ndarray): Data array for the centralized left eye data. save_path: Optional[str]: optional path to a save location of the figure generated show: Optional[bool]: whether or not to show the figures generated. Default: False img_path: Optional[str]: Image to be used as the background. Default: matrix.png @@ -390,33 +474,12 @@ def visualize_centralized_data( # Transform the eye data to fit the display. Clip values > 1 and < -1 # The idea here is to have the center at (0,0) - lx = np.clip(left_eye[:, 0], -1, 1) - ly = np.clip(left_eye[:, 1], -1, 1) - rx = np.clip(right_eye[:, 0], -1, 1) - ry = np.clip(right_eye[:, 1], -1, 1) + dx = np.clip(gaze_data[:, 0], -1, 1) + dy = np.clip(gaze_data[:, 1], -1, 1) ax.imshow(img, extent=[-1, 1, -1, 1]) - if heatmap: - # create a dataframe making a column for each x, y pair for both eyes and a column for the eye (left or right) - df = pd.DataFrame({ - 'x': np.concatenate((lx, rx)), - 'y': np.concatenate((ly, ry)), - 'eye': ['left'] * len(lx) + ['right'] * len(rx) - }) - ax = sns.kdeplot( - data=df, - hue='eye', - x='x', - y='y', - fill=False, - thresh=0.05, - levels=10, - cmap="mako", - colorbar=True) - if raw_plot: - ax.scatter(lx, ly, c='r', s=1) - ax.scatter(rx, ry, c='b', s=1) + ax.scatter(dx, dy, c='b', s=1) ax.set_xticks([]) ax.set_yticks([]) @@ -459,10 +522,10 @@ def visualize_results_all_symbols( Parameters ---------- - left_eye: (np.ndarray): Data array for the left eye data. - right_eye: (np.ndarray): Data array for the right eye data. - means: Optional[np.ndarray]: Means of the Gaussian Mixture Model - covs: Optional[np.ndarray]: Covariances of the Gaussian Mixture Model + left_eye_all: (np.ndarray): Data array for the left eye data, for all symbols. + right_eye_all: (np.ndarray): Data array for the right eye data, for all symbols. + means_all: Optional[np.ndarray]: Means of the Gaussian Mixture Model, for all symbols + covs_all: Optional[np.ndarray]: Covariances of the Gaussian Mixture Model, for all symbols save_path: Optional[str]: optional path to a save location of the figure generated show: Optional[bool]: whether or not to show the figures generated. Default: False img_path: Optional[str]: Image to be used as the background. Default: matrix.png @@ -492,10 +555,13 @@ def visualize_results_all_symbols( ly = 1 - ly ry = 1 - ry - if means is not None: - means[:, 0] = np.clip(means[:, 0], 0, 1) - means[:, 1] = np.clip(means[:, 1], 0, 1) - means[:, 1] = 1 - means[:, 1] + # Define mns as a copy of means to avoid modifying the original array + mns = np.copy(means) + + if mns is not None: + mns[:, 0] = np.clip(mns[:, 0], 0, 1) + mns[:, 1] = np.clip(mns[:, 1], 0, 1) + mns[:, 1] = 1 - mns[:, 1] if heatmap: # create a dataframe making a column for each x, y pair for both eyes and @@ -517,11 +583,11 @@ def visualize_results_all_symbols( colorbar=True) if raw_plot: - # ax.scatter(lx, ly, c='lightcoral', s=1) + ax.scatter(lx, ly, c='lightcoral', s=1) ax.scatter(rx, ry, c='bisque', s=1) - if means is not None: - for i, (mean, cov) in enumerate(zip(means, covs)): + if mns is not None: + for i, (mean, cov) in enumerate(zip(mns, covs)): v, w = linalg.eigh(cov) v = 2.0 * np.sqrt(2.0) * np.sqrt(v) u = w[0] / linalg.norm(w[0]) @@ -751,12 +817,21 @@ def visualize_gaze_accuracies(accuracy_dict: Dict[str, np.ndarray], Returns a list of the figure handles created. """ + title = 'Overall Accuracy: ' fig, ax = plt.subplots() ax.bar(accuracy_dict.keys(), accuracy_dict.values()) ax.set_xlabel('Symbol') ax.set_ylabel('Accuracy') - ax.set_title('Overall Accuracy: ' + str(round(accuracy, 2))) + ax.set_title(title + str(round(accuracy, 2))) + + if save_path is not None: + plt.savefig(f"{save_path}/{title.lower().replace(' ', '_').replace(':', '')}plot.png", dpi=fig.dpi) + + if show: + plt.show() + else: + plt.close() return fig diff --git a/bcipy/parameters/symbol_positions.json b/bcipy/parameters/symbol_positions.json deleted file mode 100644 index 0c9ad42af..000000000 --- a/bcipy/parameters/symbol_positions.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "A": [ - 0.20, - 0.30 - ], - "B": [ - 0.31, - 0.30 - ], - "C": [ - 0.42, - 0.30 - ], - "D": [ - 0.53, - 0.30 - ], - "E": [ - 0.64, - 0.30 - ], - "F": [ - 0.75, - 0.30 - ], - "G": [ - 0.20, - 0.41 - ], - "H": [ - 0.31, - 0.41 - ], - "I": [ - 0.42, - 0.41 - ], - "J": [ - 0.53, - 0.41 - ], - "K": [ - 0.64, - 0.41 - ], - "L": [ - 0.75, - 0.41 - ], - "M": [ - 0.20, - 0.52 - ], - "N": [ - 0.31, - 0.52 - ], - "O": [ - 0.42, - 0.52 - ], - "P": [ - 0.53, - 0.49 - ], - "Q": [ - 0.64, - 0.52 - ], - "R": [ - 0.75, - 0.52 - ], - "S": [ - 0.20, - 0.63 - ], - "T": [ - 0.31, - 0.63 - ], - "U": [ - 0.42, - 0.63 - ], - "V": [ - 0.53, - 0.63 - ], - "W": [ - 0.64, - 0.63 - ], - "X": [ - 0.75, - 0.63 - ], - "Y": [ - 0.20, - 0.74 - ], - "Z": [ - 0.31, - 0.74 - ], - "<": [ - 0.42, - 0.74 - ], - "_": [ - 0.53, - 0.79 - ] -} \ No newline at end of file diff --git a/bcipy/signal/model/__init__.py b/bcipy/signal/model/__init__.py index d95f3d026..6b3140237 100644 --- a/bcipy/signal/model/__init__.py +++ b/bcipy/signal/model/__init__.py @@ -1,10 +1,17 @@ from bcipy.signal.model.base_model import SignalModel, ModelEvaluationReport from bcipy.signal.model.pca_rda_kde.pca_rda_kde import PcaRdaKdeModel from bcipy.signal.model.rda_kde.rda_kde import RdaKdeModel +from bcipy.signal.model.gaussian_mixture.gaussian_mixture import ( + GMIndividual, GMCentralized, KernelGP, KernelGPSampleAverage) + __all__ = [ "SignalModel", "PcaRdaKdeModel", "RdaKdeModel", + 'GMIndividual', + 'GMCentralized', + 'KernelGP', + 'KernelGPSampleAverage', "ModelEvaluationReport", ] diff --git a/bcipy/signal/model/base_model.py b/bcipy/signal/model/base_model.py index 828e3bb1e..f3ed77553 100644 --- a/bcipy/signal/model/base_model.py +++ b/bcipy/signal/model/base_model.py @@ -64,6 +64,33 @@ def predict(self, data: np.ndarray, inquiry: List[str], symbol_set: List[str]) - """ ... + def compute_likelihood_ratio(self, data: np.array, inquiry: List[str], symbol_set: List[str]) -> np.array: + """ + For each trial in `data`, compute a likelihood ratio to update that symbol's probability. + Rather than just computing an update p(data|l=+) for the seen symbol and p(data|l=-) for all unseen symbols, + we compute a likelihood ratio p(data | l=+) / p(data | l=-) to update the seen symbol, and all other symbols + can receive a multiplicative update of 1. + + Args: + data (np.array): data with shape (n_channel, n_trial, n_sample). + inquiry (List[str]): List describing the symbol shown in each trial. + symbol_set (List[str]): The set of all possible symbols. + + Raises: + SignalException: error if called before model is fit. + + Returns: + np.array: multiplicative update term (likelihood ratios) for each symbol in the `symbol_set`. + """ + ... + + def compute_class_probabilities(self, data: np.ndarray) -> np.ndarray: + """Converts log likelihoods from model into class probabilities.""" + ... + + def evaluate_likelihood(self, data: np.ndarray) -> np.ndarray: + ... + @abstractmethod def save(self, path: Path) -> None: """Save model state to the provided checkpoint""" diff --git a/bcipy/signal/model/gaussian_mixture/__init__.py b/bcipy/signal/model/gaussian_mixture/__init__.py index e69de29bb..e021544d5 100644 --- a/bcipy/signal/model/gaussian_mixture/__init__.py +++ b/bcipy/signal/model/gaussian_mixture/__init__.py @@ -0,0 +1,8 @@ +from .gaussian_mixture import GMIndividual, GMCentralized, KernelGP, KernelGPSampleAverage + +__all__ = [ + 'GMIndividual', + 'GMCentralized', + 'KernelGP', + 'KernelGPSampleAverage' +] diff --git a/bcipy/signal/model/gaussian_mixture/gaussian_mixture.py b/bcipy/signal/model/gaussian_mixture/gaussian_mixture.py index 0f71f6c94..e7f3e5e22 100644 --- a/bcipy/signal/model/gaussian_mixture/gaussian_mixture.py +++ b/bcipy/signal/model/gaussian_mixture/gaussian_mixture.py @@ -1,72 +1,205 @@ from pathlib import Path +from typing import List -import numpy as np +from bcipy.helpers.stimuli import GazeReshaper from bcipy.signal.model import SignalModel + from sklearn.mixture import GaussianMixture -from bcipy.helpers.stimuli import GazeReshaper -from sklearn.model_selection import cross_val_score # noqa +import numpy as np import scipy.stats as stats -from typing import Optional +import warnings +warnings.filterwarnings("ignore") # ignore DeprecationWarnings from tensorflow + + +class KernelGP(SignalModel): + def __init__(self): + reshaper = GazeReshaper() + + def fit(self, training_data: np.ndarray, training_labels: np.ndarray): + training_data = np.asarray(training_data) + + def evaluate(self, test_data: np.ndarray, test_labels: np.ndarray): + ... + + def predict(self, test_data: np.ndarray, inquiry, symbol_set) -> np.ndarray: + ... + + def predict_proba(self, test_data: np.ndarray) -> np.ndarray: + ... + + def save(self, path: Path): + ... + + def load(self, path: Path): + ... -class GazeModelIndividual(SignalModel): +class KernelGPSampleAverage(SignalModel): + reshaper = GazeReshaper() + + def __init__(self): + self.ready_to_predict = False + + def fit(self, training_data: np.ndarray): + training_data = np.array(training_data) + # Training data shape = inquiry x features x samples + # reshape training data to inquiry x (features x samples) + reshaped_data = training_data.reshape((len(training_data), -1)) + cov_matrix = np.cov(reshaped_data, rowvar=False) + # cov_matrix_shape = (features x samples) x (features x samples) + reshaped_mean = np.mean(reshaped_data, axis=0) + + def evaluate(self, test_data: np.ndarray, test_labels: np.ndarray): + ... + + def predict(self, test_data: np.ndarray, inquiry, symbol_set) -> np.ndarray: + ... + + def predict_proba(self, test_data: np.ndarray) -> np.ndarray: + ... + + def save(self, path: Path): + ... + + def load(self, path: Path): + ... + + def centralize(self, data: np.ndarray, symbol_pos: np.ndarray) -> np.ndarray: + """ Using the symbol locations in matrix, centralize all data (in Tobii units). + This data will only be used in certain model types. + Args: + data (np.ndarray): Data in shape of num_samples x num_dimensions + symbol_pos (np.ndarray(float)): Array of the current symbol posiiton in Tobii units + Returns: + new_data (np.ndarray): Centralized data in shape of num_samples x num_dimensions + """ + new_data = np.copy(data) + for i in range(len(data.T)): + new_data[0:2, i] = data[0:2, i] - symbol_pos + new_data[2:4, i] = data[2:4, i] - symbol_pos + + return new_data + + def substract_mean(self, data: np.ndarray, time_avg: np.ndarray) -> np.ndarray: + """ Using the symbol locations in matrix, centralize all data (in Tobii units). + This data will only be used in certain model types. + Args: + data (np.ndarray): Data in shape of num_samples x num_dimensions + symbol_pos (np.ndarray(float)): Array of the current symbol posiiton in Tobii units + Returns: + new_data (np.ndarray): Centralized data in shape of num_samples x num_dimensions + """ + new_data = np.copy(data) + for i in range(len(data.T)): + new_data[:, i] = data[:, i] - time_avg + + return new_data + + +class GMIndividual(SignalModel): + """Gaze model that fits different Gaussians/Gaussian Mixtures for each symbol.""" reshaper = GazeReshaper() name = "gaze_model_individual" - def __init__(self, num_components=2): + def __init__(self, num_components=4, random_state=0): self.num_components = num_components # number of gaussians to fit + self.random_state = random_state + self.means = None + self.covs = None + + self.ready_to_predict = False - def fit(self, train_data: np.ndarray) -> 'GazeModelIndividual': - model = GaussianMixture(n_components=1, random_state=0, init_params='kmeans') + def fit(self, train_data: np.ndarray): + model = GaussianMixture(n_components=self.num_components, random_state=self.random_state, init_params='kmeans') model.fit(train_data) self.model = model + self.means = model.means_ + self.covs = model.covariances_ + + self.ready_to_predict = True + return self - def evaluate(self, test_data: np.ndarray): + def evaluate(self, predictions, true_labels) -> np.ndarray: ''' - Compute mean and covariance of each mixture component. + Compute performance characteristics on the provided test data and labels. + + Parameters: + ----------- + predictions: predicted labels for each test point per symbol + true_labels: true labels for each test point per symbol + Returns: + -------- + accuracy_per_symbol: accuracy per symbol ''' + accuracy_per_symbol = np.sum(predictions == true_labels) / len(predictions) * 100 - means = self.model.means_ - covs = self.model.covariances_ + return accuracy_per_symbol - return means, covs + def compute_likelihood_ratio(self, data: np.array, inquiry: List[str], symbol_set: List[str]) -> np.array: + ''' + Not implemented in this model. + ''' + ... - def predict(self, test_data: np.ndarray, means: np.ndarray, covs: np.ndarray): + def predict(self, test_data: np.ndarray) -> np.ndarray: ''' Compute log-likelihood of each sample. Predict the labels for the test data. + + test_data: gaze data + inquiry: the subset of symbols presented + symbol_set: the entire set of symbols presented + ''' + data_length, _ = test_data.shape + predictions = np.zeros(data_length, dtype=object) + + likelihoods = self.model.predict_proba(test_data) + + for i in range(data_length): + # Find the argmax of the likelihoods to get the predictions + predictions[i] = np.argmax(likelihoods[i]) + + return predictions + + def predict_proba(self, test_data: np.ndarray) -> np.ndarray: ''' + Compute log-likelihood of each sample. - num_components = len(means) + test_data: gaze data - N, D = test_data.shape - K = num_components + log(p(l | gaze)) = log(p(gaze | l)) + log(p(l)) - log(p(gaze)) + ''' + data_length, _ = test_data.shape - likelihoods = np.zeros((N, K), dtype=object) - predictions = np.zeros(N, dtype=object) + likelihoods = np.zeros((data_length, self.num_components), dtype=object) # Find the likelihoods by insterting the test data into the pdf of each component - for i in range(N): - for k in range(K): - mu = means[k] - sigma = covs[k] + for i in range(data_length): + for k in range(self.num_components): + mu = self.means[k] + sigma = self.covs[k] likelihoods[i, k] = stats.multivariate_normal.pdf(test_data[i], mu, sigma) - # Find the argmax of the likelihoods to get the predictions - predictions[i] = np.argmax(likelihoods[i]) + return likelihoods - return likelihoods, predictions + def evaluate_likelihood(self, data: np.ndarray) -> np.ndarray: + data_length, _ = data.shape - def calculate_acc(self, test_data: np.ndarray, test_labels: Optional[np.ndarray]): - ''' - Compute model performance characteristics on the provided test data and labels. - ''' + likelihoods = np.zeros((data_length, self.num_components), dtype=object) - # return accuracy + # Find the likelihoods by insterting the test data into the pdf of each component + for i in range(data_length): + for k in range(self.num_components): + mu = self.means[k] + sigma = self.covs[k] + + likelihoods[i, k] = stats.multivariate_normal.pdf(data[i], mu, sigma) + + return likelihoods def save(self, path: Path): """Save model state to the provided checkpoint""" @@ -77,52 +210,93 @@ def load(self, path: Path): ... -class GazeModelCombined(SignalModel): +class GMCentralized(SignalModel): '''Gaze model that uses all symbols to fit a single Gaussian ''' reshaper = GazeReshaper() name = "gaze_model_combined" - def __init__(self, num_components=1): + def __init__(self, num_components=4, random_state=0): self.num_components = num_components # number of gaussians to fit + self.random_state = random_state + self.means = None + self.covs = None + + self.ready_to_predict = False def fit(self, train_data: np.ndarray): - model = GaussianMixture(n_components=1, random_state=0, init_params='kmeans') + model = GaussianMixture(n_components=self.num_components, random_state=self.random_state, init_params='kmeans') model.fit(train_data) self.model = model + self.means = model.means_ + self.covs = model.covariances_ + + self.ready_to_predict = True return self - def evaluate(self, test_data: np.ndarray, sym_pos: np.ndarray): + def evaluate(self, predictions, true_labels) -> np.ndarray: + ''' + Compute performance characteristics on the provided test data and labels. + + Parameters: + ----------- + predictions: predicted labels for each test point per symbol + true_labels: true labels for each test point per symbol + Returns: + -------- + accuracy_per_symbol: accuracy per symbol ''' - Return mean and covariance of each mixture component. + accuracy_per_symbol = np.sum(predictions == true_labels) / len(predictions) * 100 - test_data: gaze data for each symbol - sym_pos: mid positions for each symbol in Tobii coordinates + return accuracy_per_symbol + ... + + def predict(self, test_data: np.ndarray) -> np.ndarray: + ''' + Compute log-likelihood of each sample. + Predict the labels for the test data. ''' + data_length, _ = test_data.shape + predictions = np.zeros(data_length, dtype=object) + likelihoods = self.model.predict_proba(test_data) - means = self.model.means_ + sym_pos - covs = self.model.covariances_ + for i in range(data_length): + # Find the argmax of the likelihoods to get the predictions + predictions[i] = np.argmax(likelihoods[i]) - return means, covs + return predictions - def predict(self, test_data: np.ndarray): + def predict_proba(self, test_data: np.ndarray) -> np.ndarray: ''' Compute log-likelihood of each sample. Predict the labels for the test data. + + test_data: ''' - # Compute over log-likelihood scores - # Get the argmax of the scores + data_length, _ = test_data.shape - scores = self.model.score_samples(test_data) + likelihoods = np.zeros((data_length, self.num_components), dtype=object) - # return predictions + # Find the likelihoods by insterting the test data into the pdf of each component + for i in range(data_length): + for k in range(self.num_components): + mu = self.means[k] + sigma = self.covs[k] - def calculate_acc(self, test_data: np.ndarray, sym_pos: np.ndarray): + likelihoods[i, k] = stats.multivariate_normal.pdf(test_data[i], mu, sigma) + + return likelihoods + + def calculate_acc(self, predictions: int, counter: int): ''' Compute model performance characteristics on the provided test data and labels. + + predictions: predicted labels for each test point per symbol + counter: true labels for each test point per symbol ''' + accuracy_per_symbol = np.sum(predictions == counter) / len(predictions) * 100 - # return accuracy + return accuracy_per_symbol def save(self, path: Path): """Save model state to the provided checkpoint""" @@ -131,3 +305,20 @@ def save(self, path: Path): def load(self, path: Path): """Load model state from the provided checkpoint""" ... + + def centralize(self, data: np.ndarray, symbol_pos: np.ndarray) -> np.ndarray: + """ Using the symbol locations in matrix, centralize all data (in Tobii units). + This data will only be used in certain model types. + Args: + data (np.ndarray): Data in shape of num_samples x num_dimensions + symbol_pos (np.ndarray(float)): Array of the current symbol posiiton in Tobii units + Returns: + new_data (np.ndarray): Centralized data in shape of num_samples x num_dimensions + """ + new_data = np.copy(data) + for i in range(len(data)): + # new_data[i] = data[i] - symbol_pos + new_data[:2, i] = data[:2, i] - symbol_pos + new_data[2:, i] = data[2:, i] - symbol_pos + + return new_data diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index ae0ff6845..5f3787a21 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -11,8 +11,8 @@ from sklearn.model_selection import train_test_split import bcipy.acquisition.devices as devices -from bcipy.config import (BCIPY_ROOT, DEFAULT_DEVICE_SPEC_FILENAME, - DEFAULT_PARAMETERS_PATH, MATRIX_IMAGE_FILENAME, DEFAULT_DEVICES_PATH, +from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, + DEFAULT_PARAMETERS_PATH, DEFAULT_DEVICES_PATH, TRIGGER_FILENAME, SESSION_LOG_FILENAME) from bcipy.helpers.acquisition import analysis_channels, raw_data_filename from bcipy.helpers.load import (load_experimental_data, load_json_parameters, @@ -24,15 +24,10 @@ from bcipy.helpers.symbols import alphabet from bcipy.helpers.system_utils import report_execution_time from bcipy.helpers.triggers import TriggerType, trigger_decoder -from bcipy.helpers.visualization import (visualize_centralized_data, - visualize_gaze, - visualize_gaze_accuracies, - visualize_gaze_inquiries, - visualize_results_all_symbols) from bcipy.preferences import preferences from bcipy.signal.model.base_model import SignalModel, SignalModelMetadata -from bcipy.signal.model.gaussian_mixture.gaussian_mixture import (GazeModelCombined, - GazeModelIndividual) +from bcipy.signal.model.gaussian_mixture import (GMIndividual, GMCentralized, + KernelGP, KernelGPSampleAverage) from bcipy.signal.model.pca_rda_kde import PcaRdaKdeModel from bcipy.signal.process import (ERPTransformParams, extract_eye_info, filter_inquiries, get_default_transform) @@ -257,18 +252,13 @@ def analyze_gaze( "Individual": Fits a separate Gaussian for each symbol. Default model "Centralized": Uses data from all symbols to fit a single centralized Gaussian """ - visualize_gaze( - gaze_data, - save_path=save_figures, - img_path=f'{data_folder}/{MATRIX_IMAGE_FILENAME}', - show=show_figures, - raw_plot=plot_points, - ) - channels = gaze_data.channels type_amp = gaze_data.daq_type sample_rate = gaze_data.sample_rate + flash_time = parameters.get("time_flash") # duration of each stimulus + stim_size = parameters.get("stim_length") # number of stimuli per inquiry + log.info(f"Channels read from csv: {channels}") log.info(f"Device type: {type_amp}, fs={sample_rate}") channel_map = analysis_channels(channels, device_spec) @@ -279,9 +269,13 @@ def analyze_gaze( data, _fs = gaze_data.by_channel() if model_type == "Individual": - model = GazeModelIndividual() + model = GMIndividual() elif model_type == "Centralized": - model = GazeModelCombined() + model = GMCentralized() + elif model_type == "GP": + model = KernelGP() + elif model_type == "GP_SampleAverage": + model = KernelGPSampleAverage() # Extract all Triggers info trigger_targetness, trigger_timing, trigger_symbols = trigger_decoder( @@ -298,19 +292,23 @@ def analyze_gaze( ) ''' Trigger_timing includes PROMPT and excludes FIXATION ''' + # Extract the inquiries dictionary with keys as target symbols and values as inquiry windows: + symbol_set = alphabet() + target_symbols = trigger_symbols[0::11] # target symbols are the PROMPT triggers # Use trigger_timing to generate time windows for each letter flashing # Take every 10th trigger as the start point of timing. inq_start = trigger_timing[1::11] # start of each inquiry (here we jump over prompts) # Extract the inquiries dictionary with keys as target symbols and values as inquiry windows: - symbol_set = alphabet() - inquiries = model.reshaper( + inquiries_dict, inquiries_list, _ = model.reshaper( inq_start_times=inq_start, target_symbols=target_symbols, gaze_data=data, sample_rate=sample_rate, - symbol_set=symbol_set + stimulus_duration=flash_time, + num_stimuli_per_inquiry=10, + symbol_set=alphabet() ) # Extract the data for each target label and each eye separately. @@ -318,141 +316,148 @@ def analyze_gaze( preprocessed_data = {i: [] for i in symbol_set} for i in symbol_set: # Skip if there's no evidence for this symbol: - if len(inquiries[i]) == 0: + if len(inquiries_dict[i]) == 0: continue - left_eye, right_eye = extract_eye_info(inquiries[i]) - preprocessed_data[i] = np.array([left_eye, right_eye]) # Channels x Sample Size x Dimensions(x,y) + for j in range(len(inquiries_dict[i])): + left_eye, right_eye, _, _, _, _ = extract_eye_info(inquiries_dict[i][j]) + preprocessed_data[i].append((np.concatenate((left_eye.T, right_eye.T), axis=0))) + # Inquiries x All Dimensions (left_x, left_y, right_x, right_y) x Time + preprocessed_data[i] = np.array(preprocessed_data[i]) - centralized_data_left = [] - centralized_data_right = [] - test_dict = {} + centralized_data = {i: [] for i in symbol_set} + time_average = {i: [] for i in symbol_set} - left_eye_all = [] - right_eye_all = [] - means_all = [] - covs_all = [] for sym in symbol_set: # Skip if there's no evidence for this symbol: - if len(inquiries[sym]) == 0: - test_dict[sym] = [] - continue - le = preprocessed_data[sym][0] - re = preprocessed_data[sym][1] + try: + if len(inquiries_dict[sym]) == 0: + continue - # Train test split: - labels = np.array([sym] * len(le)) # Labels are the same for both eyes - train_le, test_le, train_labels_le, test_labels_le = subset_data(le, labels, test_size=0.2, swap_axes=False) - train_re, test_re, train_labels_re, test_labels_re = subset_data(re, labels, test_size=0.2, swap_axes=False) - test_dict[sym] = np.concatenate((test_le, test_re), axis=0) + except BaseException: + log.info(f"No evidence from symbol {sym}") + continue # Fit the model based on model type. - # Model 1: Fit Gaussian mixture (comp=2) on each symbol and each eye separately if model_type == "Individual": - model.fit(train_re) - - means, covs = model.evaluate(test_re) - - # Visualize the results: - visualize_gaze_inquiries( - le, re, - means, covs, - save_path=save_figures, - img_path=f'{data_folder}/{MATRIX_IMAGE_FILENAME}', - show=show_figures, - raw_plot=plot_points, - ) - left_eye_all.append(le) - right_eye_all.append(re) - means_all.append(means) - covs_all.append(covs) - - # TODO: Calculate scores for the test set. - # scores, predictions = model.predict(test_re) - - # Model 2: Fit Gaussian mixture (comp=1) on a centralized data + # Model 1: Fit Gaussian mixture on each symbol separately + reshaped_data = preprocessed_data[sym].reshape( + (preprocessed_data[sym].shape[0] * + preprocessed_data[sym].shape[2], + preprocessed_data[sym].shape[1])) + model.fit(reshaped_data) + if model_type == "Centralized": - # Centralize the data using symbol positions: + # Centralize the data using symbol positions and fit a single Gaussian. # Load json file. - with open(f"{BCIPY_ROOT}/parameters/symbol_positions.json", 'r') as params_file: + with open(f"{data_folder}/stimuli_positions.json", 'r') as params_file: symbol_positions = json.load(params_file) + # Subtract the symbol positions from the data: - centralized_data_left.append(model.reshaper.centralize_all_data(train_le, symbol_positions[sym])) - centralized_data_right.append(model.reshaper.centralize_all_data(train_re, symbol_positions[sym])) + for j in range(len(preprocessed_data[sym])): + centralized_data[sym].append(model.centralize(preprocessed_data[sym][j], symbol_positions[sym])) + + if model_type == "GP_SampleAverage": + # Instead of centralizing, take the time average: + for j in range(len(preprocessed_data[sym])): + temp = np.mean(preprocessed_data[sym][j], axis=1) + time_average[sym].append(temp) + centralized_data[sym].append( + model.substract_mean( + preprocessed_data[sym][j], + temp)) # Delta_t = X_t - mu + centralized_data[sym] = np.array(centralized_data[sym]) + time_average[sym] = np.mean(np.array(time_average[sym]), axis=0) if model_type == "Individual": - # Takes in all means and covs from individual symbols, and - # calculates the likelihoods and predictions for each test point. - # Convert test_dict to a list of arrays: accuracy = 0 acc_all_symbols = {} counter = 0 + + if model_type == "GP_SampleAverage": + test_dict = {i: [] for i in symbol_set} + # Visualize different inquiries from the same target letter: + colors = ['r', 'g', 'b', 'y', 'm', 'c', 'k', 'w', 'orange', 'purple'] for sym in symbol_set: - # Skip if test_dict is empty for certain symbols: - if len(test_dict[sym]) == 0: - acc_all_symbols[sym] = 0 + if len(centralized_data[sym]) == 0: continue - likelihoods, predictions = model.predict( - test_dict[sym], np.squeeze( - np.array(means_all)), np.squeeze( - np.array(covs_all))) - acc_all_symbols[sym] = np.sum(predictions == counter) / len(predictions) * 100 - accuracy += np.sum(predictions == counter) / len(predictions) * 100 - print(f"""Correct predictions for {sym}: {np.sum(predictions == counter)} / {len(predictions)}, - Accuracy {sym}: {np.sum(predictions == counter) / len(predictions) * 100:.2f}""") - counter += 1 - accuracy /= counter - print(f"Overall accuracy: {accuracy:.2f}") - - # Plot all accuracies as bar plot: - visualize_gaze_accuracies(acc_all_symbols, accuracy, save_path=None, show=True) - if model_type == "Centralized": - cent_left = np.concatenate(np.array(centralized_data_left, dtype=object)) - cent_right = np.concatenate(np.array(centralized_data_right, dtype=object)) - - # Visualize the results: - visualize_centralized_data( - cent_left, cent_right, - save_path=save_figures, - img_path=f'{data_folder}/{MATRIX_IMAGE_FILENAME}', - show=show_figures, - raw_plot=plot_points, - ) + # Split the data into train and test sets & fit the model: + centralized_data_training_set = [] + for sym in symbol_set: + if len(centralized_data[sym]) <= 1: + if len(centralized_data[sym]) == 1: + test_dict[sym] = preprocessed_data[sym][-1] + continue + # Leave one out and add the rest to the training set: + for j in range(len(centralized_data[sym]) - 1): + centralized_data_training_set.append(centralized_data[sym][j]) + # Add the last inquiry to the test set: + test_dict[sym] = preprocessed_data[sym][-1] + + centralized_data_training_set = np.array(centralized_data_training_set) + reshaped_data = centralized_data_training_set.reshape((72, 720)) + + cov_matrix = np.cov(reshaped_data, rowvar=False) + time_horizon = 9 + # Accuracy vs time horizon + + for eye_coord_0 in range(4): + for eye_coord_1 in range(4): + for time_0 in range(180): + for time_1 in range(180): + l_ind = eye_coord_0 * 180 + time_0 + m_ind = eye_coord_1 * 180 + time_1 + if np.abs(time_1 - time_0) > time_horizon: + cov_matrix[l_ind, m_ind] = 0 + # cov_matrix[m_ind, l_ind] = 0 + reshaped_mean = np.mean(reshaped_data, axis=0) + + eps = 0 + regularized_cov_matrix = cov_matrix + np.eye(len(cov_matrix)) * eps + try: + inv_cov_matrix = np.linalg.inv(regularized_cov_matrix) + except BaseException: + print("Singular matrix, using pseudo-inverse instead") + eps = 10e-3 # add a small value to the diagonal to make the matrix invertible + inv_cov_matrix = np.linalg.inv(cov_matrix + np.eye(len(cov_matrix)) * eps) + # inv_cov_matrix = np.linalg.pinv(cov_matrix + np.eye(len(cov_matrix))*eps) + denominator = 0 + + # Find the likelihoods for the test case: + l_likelihoods = np.zeros((len(symbol_set), len(symbol_set))) + log_likelihoods = np.zeros((len(symbol_set), len(symbol_set))) + counter = 0 + for i_sym0, sym0 in enumerate(symbol_set): + for i_sym1, sym1 in enumerate(symbol_set): + if len(centralized_data[sym1]) == 0: + continue + if len(test_dict[sym0]) == 0: + continue + # print(f"Target: {sym0}, Tested: {sym1}") + central_data = model.substract_mean(test_dict[sym0], time_average[sym1]) + flattened_data = central_data.reshape((720,)) + diff = flattened_data - reshaped_mean + numerator = -np.dot(diff.T, np.dot(inv_cov_matrix, diff)) / 2 + log_likelihood = numerator - denominator + # print(f"{log_likelihood:.3E}") + log_likelihoods[i_sym0, i_sym1] = log_likelihood + # Find the max likelihood: + max_like = np.argmax(log_likelihoods[i_sym0, :]) + # Check if it's the same as the target, and save the result: + if max_like == i_sym0: + # print("True") + counter += 1 - # Fit the model: - model.fit(cent_left) + if model_type == "Centralized": + # Fit the model parameters using the centralized data: + # flatten the dict to a np array: + cent_data = np.concatenate([centralized_data[sym] for sym in symbol_set], axis=0) + # Merge the first and third dimensions: + cent_data = cent_data.reshape((cent_data.shape[0] * cent_data.shape[2], cent_data.shape[1])) - # Add the means back to the symbol positions. - # Calculate scores for the test set. - for sym in symbol_set: - means, covs = model.evaluate(test_dict[sym][0], symbol_positions[sym]) - - le = preprocessed_data[sym][0] - re = preprocessed_data[sym][1] - # Visualize the results: - visualize_gaze_inquiries( - le, re, - means, covs, - save_path=save_figures, - img_path=f'{data_folder}/{MATRIX_IMAGE_FILENAME}', - show=show_figures, - raw_plot=plot_points, - ) - left_eye_all.append(le) - right_eye_all.append(re) - means_all.append(means) - covs_all.append(covs) - - # TODO: add visualizations to subprocess - visualize_results_all_symbols( - left_eye_all, right_eye_all, - means_all, covs_all, - img_path=f'{data_folder}/{MATRIX_IMAGE_FILENAME}', - save_path=save_figures, - show=show_figures, - raw_plot=plot_points, - ) + # cent_data = np.concatenate(centralized_data, axis=0) + model.fit(cent_data) model.metadata = SignalModelMetadata(device_spec=device_spec, transform=None) @@ -529,16 +534,26 @@ def offline_analysis( raw_data = load_raw_data(raw_data_path) device_spec = devices_by_name.get(raw_data.daq_type) # extract relevant information from raw data object eeg - if device_spec.content_type == "EEG": + + if device_spec.content_type == "EEG" and device_spec.is_active: erp_model = analyze_erp( - raw_data, parameters, device_spec, data_folder, estimate_balanced_acc, save_figures, show_figures) + raw_data, + parameters, + device_spec, + data_folder, + estimate_balanced_acc, + save_figures, + show_figures) models.append(erp_model) - if device_spec.content_type == "Eyetracker": + if device_spec.content_type == "Eyetracker" and device_spec.is_active: et_model = analyze_gaze( raw_data, parameters, device_spec, data_folder, save_figures, show_figures, model_type="Individual") models.append(et_model) + if len(models) > 1: + log.info("Multiple Models Trained. Fusion Analysis Not Yet Implemented.") + if alert_finished: log.info("Alerting Offline Analysis Complete") results = [f"{model.name}: {model.auc}" for model in models] @@ -548,6 +563,19 @@ def offline_analysis( def main(): + """Main function for offline analysis client. + + Parses command line arguments and runs offline analysis. + + Command Line Arguments: + + -d, --data_folder: Path to the folder containing the data to be analyzed. + -p, --parameters_file: Path to the parameters file. Default is DEFAULT_PARAMETERS_PATH. + -s, --save_figures: If true, saves data figures after training to the data folder. + -v, --show_figures: If true, shows data figures after training. + --alert: If true, alerts the user when offline analysis is complete. + --balanced-acc: If true, uses another model copy on an 80/20 split to estimate balanced accuracy. + """ import argparse parser = argparse.ArgumentParser() diff --git a/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py b/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py index 28280c1d3..04df91098 100644 --- a/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py +++ b/bcipy/signal/model/pca_rda_kde/pca_rda_kde.py @@ -114,7 +114,7 @@ def evaluate(self, test_data: np.array, test_labels: np.array) -> ModelEvaluatio auc = -tmp return ModelEvaluationReport(auc) - def predict(self, data: np.array, inquiry: List[str], symbol_set: List[str]) -> np.array: + def compute_likelihood_ratio(self, data: np.array, inquiry: List[str], symbol_set: List[str]) -> np.array: """ For each trial in `data`, compute a likelihood ratio to update that symbol's probability. Rather than just computing an update p(e|l=+) for the seen symbol and p(e|l=-) for all unseen symbols, @@ -146,9 +146,9 @@ def predict(self, data: np.array, inquiry: List[str], symbol_set: List[str]) -> likelihood_ratios = np.ones(len(symbol_set)) for idx in range(len(subset_likelihood_ratios)): likelihood_ratios[symbol_set.index(inquiry[idx])] *= subset_likelihood_ratios[idx] - return likelihood_ratios + return likelihood_ratios # used in multimodal update - def predict_proba(self, data: np.ndarray) -> np.ndarray: + def compute_class_probabilities(self, data: np.ndarray) -> np.ndarray: """Converts log likelihoods from model into class probabilities. Returns: @@ -169,8 +169,49 @@ def predict_proba(self, data: np.ndarray) -> np.ndarray: denom = np.logaddexp(log_post_0, log_post_1) log_post_0 -= denom log_post_1 -= denom - posterior = np.exp(np.stack([log_post_0, log_post_1], axis=-1)) - return posterior + log_posterior = np.stack([log_post_0, log_post_1], axis=-1) + return log_posterior + + def evaluate_likelihood(self, data: np.ndarray) -> np.ndarray: + """ + Calculates log(p(e | l)) for each trial in the data. + p(e | l=1), p(e | l=0) + """ + if not self.ready_to_predict: + raise SignalException("must use model.fit() before model.predict_proba()") + + log_scores_class_0 = self.model.transform(data)[:, 0] + log_scores_class_1 = self.model.transform(data)[:, 1] + return np.stack([log_scores_class_0, log_scores_class_1], axis=-1) + + def predict(self, data: np.ndarray) -> np.ndarray: + """Predict the most likely label for each trial in the data. + + Returns: + predictions (np.ndarray): shape (num_items,) - the predicted label for each item. + """ + if not self.ready_to_predict: + raise SignalException("must use model.fit() before model.predict()") + + posterior = self.compute_class_probabilities(data) + predictions = np.argmax(posterior, axis=1) + return predictions + + def predict_proba(self, data: np.ndarray) -> np.ndarray: + """Converts log likelihoods from model into class probabilities. + + Returns: + posterior (np.ndarray): shape (num_items, 2) - for each item, the model's predicted + probability for the two labels. + """ + if not self.ready_to_predict: + raise SignalException("must use model.fit() before model.predict_proba()") + + # Model originally produces p(eeg | label). We want p(label | eeg): + # + # p(l=1 | e) = p(e | l=1) p(l=1) / p(e) + # log(p(l=1 | e)) = log(p(e | l=1)) + log(p(l=1)) - log(p(e)) + return self.compute_class_probabilities(data) def save(self, path: Path) -> None: """Save model weights (e.g. after training) to `path`""" diff --git a/bcipy/signal/process/extract_gaze.py b/bcipy/signal/process/extract_gaze.py index 6aa95d6fb..467f022ef 100644 --- a/bcipy/signal/process/extract_gaze.py +++ b/bcipy/signal/process/extract_gaze.py @@ -29,15 +29,21 @@ def extract_eye_info(data): left_eye = np.vstack((np.array(lx), np.array(ly))).T right_eye = np.vstack((np.array(rx), np.array(ry))).T - # Remove ALL blinks (i.e. Nan values) regardless of which eye it occurs. - # Make sure that the number of samples are the same for both eyes left_eye_nan_idx = np.isnan(left_eye).any(axis=1) - left_eye = left_eye[~left_eye_nan_idx] - right_eye = right_eye[~left_eye_nan_idx] - + deleted_samples = left_eye_nan_idx.sum() + all_samples = len(left_eye) + if deleted_samples: + # Apply padding instead of deleting samples: + for j in range(len(left_eye)): + if np.isnan(left_eye[j]).any(): + left_eye[j] = left_eye[j - 1] + + # Same for the right eye: right_eye_nan_idx = np.isnan(right_eye).any(axis=1) - left_eye = left_eye[~right_eye_nan_idx] - right_eye = right_eye[~right_eye_nan_idx] + if right_eye_nan_idx.sum() != 0: + for i in range(len(right_eye)): + if np.isnan(right_eye[i]).any(): + right_eye[i] = right_eye[i - 1] try: len(left_eye) != len(right_eye) @@ -45,4 +51,4 @@ def extract_eye_info(data): raise SignalException( 'Number of samples for left and right eye are not the same.') - return left_eye, right_eye + return left_eye, right_eye, left_pupil, right_pupil, deleted_samples, all_samples diff --git a/bcipy/signal/tests/model/pca_rda_kde/test_pca_rda_kde.py b/bcipy/signal/tests/model/pca_rda_kde/test_pca_rda_kde.py index 4d5439ecc..7b2649552 100644 --- a/bcipy/signal/tests/model/pca_rda_kde/test_pca_rda_kde.py +++ b/bcipy/signal/tests/model/pca_rda_kde/test_pca_rda_kde.py @@ -228,7 +228,7 @@ def test_save_load(self): symbol_set = alphabet() inquiry = symbol_set[:n_trial] data = np.random.randn(self.num_channel, n_trial, self.dim_x) - output_before = self.model.predict(data=data, inquiry=inquiry, symbol_set=symbol_set) + output_before = self.model.compute_likelihood_ratio(data=data, inquiry=inquiry, symbol_set=symbol_set) checkpoint_path = self.tmp_dir / "model.pkl" save_model(self.model, checkpoint_path) @@ -237,7 +237,7 @@ def test_save_load(self): self.assertEqual(1, len(loaded_models)) other_model = loaded_models[0] self.assertEqual(self.model.k_folds, other_model.k_folds) - output_after = other_model.predict(data=data, inquiry=inquiry, symbol_set=symbol_set) + output_after = other_model.compute_likelihood_ratio(data=data, inquiry=inquiry, symbol_set=symbol_set) self.assertTrue(np.allclose(output_before, output_after)) @@ -249,7 +249,7 @@ def test_save_load(self): def test_predict_before_fit(self): model = PcaRdaKdeModel(k_folds=10) with self.assertRaises(SignalException): - model.predict(self.x, inquiry=["A"], symbol_set=alphabet()) + model.compute_likelihood_ratio(self.x, inquiry=["A"], symbol_set=alphabet()) def test_evaluate_before_fit(self): model = PcaRdaKdeModel(k_folds=10) diff --git a/bcipy/simulator/task/copy_phrase.py b/bcipy/simulator/task/copy_phrase.py index b672c7077..40f242f0a 100644 --- a/bcipy/simulator/task/copy_phrase.py +++ b/bcipy/simulator/task/copy_phrase.py @@ -133,8 +133,10 @@ def compute_device_evidence( # This assumes that sampling is independent. Changes to the sampler API are needed if # we need to provide the trial context of the last sample. sampled_data = sampler.sample_data(current_state) - evidence = model.predict(sampled_data, self.current_symbols(), - self.alp) + evidence = model.compute_class_probabilities( + sampled_data, + self.current_symbols(), + self.alp) evidence_type = get_evidence_type(model) evidences.append((evidence_type, evidence)) return evidences diff --git a/bcipy/task/control/evidence.py b/bcipy/task/control/evidence.py index 3cb7c1480..bb8a828eb 100644 --- a/bcipy/task/control/evidence.py +++ b/bcipy/task/control/evidence.py @@ -111,7 +111,74 @@ def evaluate(self, raw_data: np.ndarray, symbols: List[str], window_length - The length of the time between stimuli presentation """ data = self.preprocess(raw_data, times, target_info, window_length) - return self.signal_model.predict(data, symbols, self.symbol_set) + return self.signal_model.compute_likelihood_ratio(data, symbols, self.symbol_set) + + +class GazeEvaluator(EvidenceEvaluator): + """EvidenceEvaluator that extracts symbol likelihoods from raw gaze data. + + Parameters + ---------- + symbol_set: set of possible symbols presented + gaze_model: trained gaze model + """ + consumes = ContentType.EYETRACKER + produces = EvidenceType.EYE + + def __init__(self, symbol_set: List[str], signal_model: SignalModel): + super().__init__(symbol_set, signal_model) + + self.channel_map = analysis_channels(self.device_spec.channels, + self.device_spec) + self.transform = signal_model.metadata.transform + self.reshape = TrialReshaper() + + def preprocess(self, raw_data: np.ndarray, times: List[float], + target_info: List[str], window_length: float) -> np.ndarray: + """Preprocess the inquiry data. + + Parameters + ---------- + raw_data - C x L eeg data where C is number of channels and L is the + signal length + symbols - symbols displayed in the inquiry + times - timestamps associated with each symbol + target_info - target information about the stimuli; + ex. ['nontarget', 'nontarget', ...] + window_length - The length of the time between stimuli presentation + """ + transformed_data, transform_sample_rate = self.transform( + raw_data, self.device_spec.sample_rate) + + # The data from DAQ is assumed to have offsets applied + reshaped_data, _lbls = self.reshape(trial_targetness_label=target_info, + timing_info=times, + eeg_data=transformed_data, + sample_rate=transform_sample_rate, + channel_map=self.channel_map, + poststimulus_length=window_length) + return reshaped_data + + # pylint: disable=arguments-differ + def evaluate(self, raw_data: np.ndarray, symbols: List[str], + times: List[float], target_info: List[str], + window_length: float) -> np.ndarray: + """Evaluate the evidence. + + Parameters + ---------- + raw_data - C x L eeg data where C is number of channels and L is the + signal length + symbols - symbols displayed in the inquiry + times - timestamps associated with each symbol + target_info - target information about the stimuli; + ex. ['nontarget', 'nontarget', ...] + window_length - The length of the time between stimuli presentation + """ + data = self.preprocess(raw_data, times, target_info, window_length) + # We need the likelihoods in the form of p(label | gaze). predict returns the argmax of the likelihoods. + # Therefore we need predict_proba method to get the likelihoods. + return self.signal_model.evaluate_likelihood(data) # multiplication over the inquiry def get_evaluator( diff --git a/bcipy/task/control/handler.py b/bcipy/task/control/handler.py index 9ca1a6262..fbda582db 100644 --- a/bcipy/task/control/handler.py +++ b/bcipy/task/control/handler.py @@ -31,8 +31,9 @@ def update_and_fuse(self, dict_evidence): """ Updates the probability distribution Args: dict_evidence(dict{name: ndarray[float]}): dictionary of - evidences (EEG and other likelihoods) + evidences (EEG (likelihood ratios) and other likelihoods) """ + # {EEG: [], GAZE: ()} for key in dict_evidence.keys(): tmp = dict_evidence[key][:][:] @@ -45,6 +46,7 @@ def update_and_fuse(self, dict_evidence): if np.isinf(np.sum(self.likelihood)): tmp = np.zeros(len(self.likelihood)) tmp[np.where(self.likelihood == np.inf)[0][0]] = 1 + self.likelihood = tmp if not np.isnan(np.sum(self.likelihood)): diff --git a/bcipy/task/tests/core/test_eeg_evaluator.py b/bcipy/task/tests/core/test_eeg_evaluator.py index 21a594a1a..237394104 100644 --- a/bcipy/task/tests/core/test_eeg_evaluator.py +++ b/bcipy/task/tests/core/test_eeg_evaluator.py @@ -24,6 +24,7 @@ def setUp(self): meta_mock.device_spec = self.device_mock meta_mock.transform = self.transform_mock self.signal_model_mock.metadata = meta_mock + self.signal_model_mock.compute_likelihood_ratio = Mock() @patch('bcipy.task.control.evidence.analysis_channels') def test_init(self, analysis_channels_mock): @@ -77,7 +78,7 @@ def test_evaluate(self, reshaper_factory_mock, analysis_channels_mock): channel_map=channel_map, poststimulus_length=window_length) - self.signal_model_mock.predict.assert_called_once_with( + self.signal_model_mock.compute_likelihood_ratio.assert_called_once_with( reshaped_data, symbols, self.symbol_set) diff --git a/scripts/python/replay_session.py b/scripts/python/replay_session.py index 421d96a37..053f4abd2 100644 --- a/scripts/python/replay_session.py +++ b/scripts/python/replay_session.py @@ -20,7 +20,7 @@ from bcipy.helpers.stimuli import InquiryReshaper, update_inquiry_timing from bcipy.helpers.symbols import alphabet from bcipy.helpers.triggers import TriggerType, trigger_decoder -from bcipy.signal.model import PcaRdaKdeModel +from bcipy.signal.model import PcaRdaKdeModel, SignalModel from bcipy.signal.process import (ERPTransformParams, filter_inquiries, get_default_transform) @@ -63,7 +63,7 @@ def generate_replay_outputs( tuple - new_model_outputs, old_model_target_output, old_model_nontarget_output """ k_folds = parameters.get("k_folds") - model = load_model(model_path, k_folds, model_class) + model: SignalModel = load_model(model_path, k_folds, model_class) logger.info(f"Loaded model from {model_path}") # get trial information; to make backwards compatible, we will try to get the trial length @@ -156,7 +156,7 @@ def generate_replay_outputs( for i, (inquiry_trials, this_inquiry_letters, this_inquiry_labels) in enumerate( zip(inquiry_worth_of_trials, inquiry_worth_of_letters, inquiry_labels) ): - response = model.predict(inquiry_trials, this_inquiry_letters, symbol_set=symbol_set) + response = model.compute_likelihood_ratio(inquiry_trials, this_inquiry_letters, symbol_set=symbol_set) if np.any(this_inquiry_labels == 1): index_of_target_trial = np.argwhere(this_inquiry_labels == 1)[0][0] target_letter = this_inquiry_letters[index_of_target_trial] diff --git a/setup.py b/setup.py index 4d4571e52..9c213b15b 100644 --- a/setup.py +++ b/setup.py @@ -132,4 +132,4 @@ def run(self): cmdclass={ 'upload': UploadCommand, }, -) +) \ No newline at end of file From 683dc5961f7ffe68c0455eb4843e9158b20f76b9 Mon Sep 17 00:00:00 2001 From: Tab Memmott Date: Tue, 5 Nov 2024 10:43:41 -0800 Subject: [PATCH 330/330] final lint! --- bcipy/signal/model/offline_analysis.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index 5f3787a21..ab9a5b3ff 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -564,7 +564,7 @@ def offline_analysis( def main(): """Main function for offline analysis client. - + Parses command line arguments and runs offline analysis. Command Line Arguments:

    |LK1JsJ;_Y%~DV|4pKsnj6CK0+vswN z+*82Vu=O2I=V9GP0~PMr3bWSNT^s;VHW!y#mH z_|-hzAi>5={Alo$YnlIItN*R_t0_E1%__uj0{6GJDd*y~IrrV=M#YyDAK#6qV(D@f zw>X(pvR8Oc$nXIkzNXI~EEFA!Hi;u|}O#xD} z!7-~>x^u<_sEMCIJ=WL{x?-CW?dq<^xzR+d;;gNZmO!7fr!BmG$uz4=n0My3!^SJR z85A%=_imPKpe&cU?!m{-)pvXQX*0eyT6uoJJD{$Cc#D%+4;$V+UXaVCahv`goN2TK zp}tyj2LlG6)iejU`dPupGr-lx-01`lW(oi(3Vkf772U|2H>K<0-T~+}EVWXZuq9~W zo7MjXh^#ZmPjG10IR)+c5i_UP($eLne?sZ8z{dmvkc_BEPF?yZ-f`>b#2TuQ#e8;d z<8iA}n3GrOu{hdB@UiU!H-{-Me5#%RavQV6Hn)L6&vF%4S1Qa^lQWb>k&cC9I^@M{ z90;cR&v`;}ahaI6cU0pkwIZA!G}R_n9NG=J(M#}Ir{ugkte66P5BqseH@&7S4x)(j zQPuT$uJM$V!;@CZW)g?aa(&~DsoXA!*17iq^dIWYihtZ=;|+BV6I*{pz5w9M9Fmy_N-`OJrmw2hN?AJS-R3;QH`x?Jx!+PE`jIGz{WACbsal|#>vDb%WB+O zHttAG+O&Kyj-B|BQ~?gZ20SVc_eX=>gQ+t;%!>&;u z%N!~xGdPO*)E~AYLY7aq>iTbs!L7G3yFJ=3zNr+}l2gS)Oc#q~i$n&9} zx4VXLt!=lc;g&C18eRo332jqzal7PCT+`MC3>>tj>Am@{`~ zk7KOnW8yW#KLstfZ*Y({L3a^G???TdST z2TvY6fmY7>397x5fKW??{GnpqqDW(!11~enh|+6s0XjB^3kl8ijB$6;mo1w!XL@eT z>y2~MrcAR5iY_xm|B0qwCZc4b!;D|l<}+fN`5>?aoFtj0ZTmKAk?72K=p;3DnWs+X z3EQTH>3%f*eaAK?JLfeLhfu&Swl#HyH| z_-I{yot>2Zz0muQ(MdsGuyNn+8hLA?##gMb~( z8i@?%15a|cE&6`<#lF>A_^w}qC^X#lgBsgkQ8M?8ake{>a4_rd;XYg&UfRcM!&Hit z8esj0OBX!g+=DJMQ8vmJ^m$fCJhWVYyH&|Mz)?ntn90{YjyQ0#VqB<nvZ>mf&V z>;Yb7%0OdZ6ERK)lj4Kw$_MFq1kx*Cn3=rumuWE+ku!yjrnJQZ!9GiX*({@0DHBej zbWN!;dVWM5GS$Pjf9N*$u)0m*EqZ2Yzk+*}g8#`#F-<1$=H)C*SVx z0`YM9!bax+G2m|f161V|A`5*`|(l2QF$gXD8WI2M2omxe9u zssc`2TiQwRNgDUNJYg1eb;1!YR42YHfqF<~9CBrIY7oqb~!JCj4rOJM7)HIifP z6nR39Hqfm#F3i6|DLtSu;<*Q2JlwB5sd`J=#$wlc`?Mu${cH3?0W+PLLj{L1Ali#} zRv5=E_72~HjYYYrnl!t%Ruz;s03iz?k$JvVdK-P`gc@sNg-pR{W*(oo%ysx~s10;nDf;aO`GjlM~YzBAfjKU&;seAU%Cnh@C+8@ZUZm3(6yx zE5%6zXpQJX?v+_W2$qtZ0|6HE{Gn*|fJSd1f+h|~IS6W?&){1fB;u~ivDo^B>urc( zKuhR4;!NyrR{#~z$=8p6bh4npzs#OTbR%h!yM_Ep&nUc5D$Xrb)*@+wc}0?{aZZKs zjE$;8uW&N3sl&Ak?evR;?!h$Ylw*aU$%jxcPs3iV;Lhs7m_XVD7H*xR1HsV3a{V|P zA?n!%fLRH~03u0dlZAT+)x=3_P+RXFeaour933(H0rZ@Brv_X2!VX8e^$$^kO;}(D zvo8v(`}=%33ch2zdT2wnFaS2>eKJwoFlv^#^kG%xP}`HCuuWo^tH8mVL0_yxf6$I2 zn(?HR&MB);OCWzzC%&$kLv`92xlL*zFr)gUYeH&lcK!&D2?IM52<02CHCX6GVR)o~ z?|R4A#0zVD%I148bV!gI&&|3AhL_7EwlT4Dc-JZ1{U|T4Bx&U_d%2Ki_?1wEn_MsH zeLN>gYaYuTlDMYdVg0MJ^SKs5bVXZ$11XBRFsw(Mx@$7*vRotY52KDAP#de%fK-py z&>e2US6r{$-9XBJ(&7*5&!GKxXJjR|;(q!4WwLP)IswMC2u}FbLlIefath zb2`KvmTYAcpw`Tx?}C~7805+5UZh)=W1drY>VE@o|LKu2;v45n)0N_w<%BQFgH9=D zD7ImFEQTgJrC4r$X!SAxmDG8gobex>vK~U|k7(0&vxF49v9P(e)mola5P{FIr zDQ2?D_}U~WqI*23)X%m{e{exSkPkJ9G~7+Q#b+@zK_?o!qM6p$2?C`5>7d0S$gUu7+8j>$`%yy8wue2 zfvWX*o^vkfcP-^jj}K_w;>wPA1}p(MUkjGRer=v=Y;&2AJ;w~$$1sbj$CB;j&w*<3 zj006fPr!dOfcs^QeFhIm-pK+R*a){LGAj;HZpXhKBD0@n*S<`5dQCmQ$fZ5BbDXTR zi@X)b6Nu@y2YzHZ@N<5)tLqY~2^l|>pcgAm59^d`tB|aHe+P8+yG0yM23&D5d;ttd z=j1f>8soZ6Z;E$w1Job*VdZ+w8XUs2Np8?VW5C`DK&uBb@eXgiNpObPG+23&G-NWM zo@y1ZgbNG9l%|d_s<{yayFtA&)J;7GOgDZLXp5$Y1E2E;l1Up&D{T6%iOCK{^RtRZ z*gne7v(5mM^K?J8UC2S?y#D4F6zCtNi568_djTw3CkokTQ2oQ)=Qv#y9Y?+GH4{!} ziq?hHKyqiYg?|R0al0MDvGRF+*DeZf8;|S*HZF9Ak8FxmjBK`y+j#vOb1);B{Lngr z_`kfrq7~hKIm-a>YD7I%iPX7CBH8967YN;;ebpor-8F}eaeYdgtA#>7dZTAEuXT?m zh#DJhWuEXrK>+DoERm3c`vpg zQbTIjAT(aNmM}xwSTMLRj}Y0XiI7Ns!`dad!iy_YVV9+;$8&s?$`OeT zJ|r9Bb@iVqmXUXi7h_t5eGGbZVnh;H9w*OBBGNUrj};x9?T3Ba1KWF--uRpKho##T zjqADJ9jeeIXt$scBpjH5Y{6&-#F|)bTiAG#@;)KHiYbl5EqN;x$AZB52@TRot1_#p z|Gw$mZu;iyBV6wWEay-0ou*XduzL ziENiw=LBb#*TJV4!Znb^PwWa8#Ymayvpk0fu}(Bm12I!G_9baWfx`OV1Er%W;@50o$1tC}XhILHi|2ipFa3fZTd&I-mlOPj zwYUk0Uf|~!iMdQ5xF+=Gx?9gV{YlT^>%)=iq@UU0|AaA)QBx?Sx3g=7%CH0pnT?_V zU9Xwvw?0uV&!Dw8nH2lpvnIgg#o2`9%#dT>;f-zq`X=flZn3L%zUw#C)6A^m`HI*& z`6T5mG72oSfUaK`r1xi=k7d@^7D%y-LFS?93Z(?@4$7*No2mBbB{M>`RJFA74YO2a^=iId^xozkYm1NKl z_>*C}O^p8-p42;HLR#K&jUJ)1H`m1A5N|)U?v) z5>}D)WPbGRr9O0&HCTyFp_PPd#x)PdCZ1NBx-Lf%KJm!{r!ejFQmIchFP|#)BaZRP z+LXL@2Yd9ZVWm)e3p@8J$aC=W)8DLlCV53(Ut|gYsXjpft#%!d7;&}vsO=QpF+M=0 zacXdfk^>!0HYKlDTST~LmWTdV&Nfmo=r40}#Kq<~@M1mm)hD!w#)o%x5?Xx^X2XmI z<59Nh1I)4HW^`L^?p5m|@w%^fsXMf6P$cWgbb*+fn=_y1hb~=@ZFHN5M&xXMrbH$> zo|of|84dVQP_8kXHC|_tHH!N~Xuzez&Gz9}l@j`0P5NWp3WF2;?rOefd@>wZ!&Ymb zzdEB-DjV5q{zIL-9m10qaCfmRsMD))cV0m~M@cNslQPvXRU1lz#;R?7=Z#MOWdep= zzuY-iFP~_^-$4cLt~Kdt$}WF3$1;og;NrK~j!~^NGAHOkv#d`z(hRDEj*7JeS^kyw zMR6f6fu1TGKvM*lGOd-4?_g3-O%OS2>yHj?y6skA;Z?sWQ@gK6987opE3?1e@$qBO zI0kz95YRW+kiYVH&7zl2?kO(KPet-U4h%d2>s`jc zyadO25;>cmPvEFR83`eKCPxq{$UVxj_;RgEd^G@HTY@~$cQT8@6Y_#pg1LTCEJ;5o zN(yBl4aDUH;I=!Kb_1tS|52yg?srrBoj|Eertq_fuaAi~VwNxXqPla)v4fAbTKOH- z=n@){^Pu_0RRp7;~uVGXrd+NM`Jha6_)7nr;SH4c!{cuh&? z5wv3{@@uVA28{R8@!gHzze{QKr9j3`+n+e(lYsdI3~RPz9u`g%V?GXz6NSygX3ywi z1&{6eyOrhXJS3twVI*fc!&#}P8W+@Ay8%>3n&w9szK7E95-~ZE^J4fg#;6;T&$ZUM zoQ$_hn{ie=I|NG`e`zr8IIfcl)b4@2(GGn`3XX{SmnK3d-0^q+gPKa9`s@O#+HNty z>$*Y@mSh%nyV_?#tIvG7>KUhO*uDtVifnv%ozrhtK0tKfTLvs7-CjDv47Rf@7jH0IZ0k(9ido z4Zrsj$2d$H05UbSiCOI+3bwOmPm!2RKU2l)#t1!GO?ROG{>)JTZF{YSw9-E&DT-!* zj6~;zKzzm2%?Naw%?QwxgV*IH`9~8`ffC?#LE-KQ#v_M3KR#6f6w^K4RI9y9&{{=9 z<%|EhI|#)DGcW(I$`>g6Beb@j~L zXQwqOZ!3NI#-je1rG#PqhH!Mbg1`$IzPJu5V#1KKuFr-=@!ca6XeQ2T=`z2C18b9Y-R(>2W>{70?k9V5a%H~dg01ih z<$d%BPhdw`Z`9A_y}}#&C|I1*ZZ%7LZmHe3Q5o&HTB$#uPrdz+ikvy=l-=dwMpoDM zcx+!_7yr+@OXEOw5f$6$H2=}!PL@*ZUejs~3VV_>P2K}X9ld~Oe#tD}PegqxtE+;) zBO3cK@i+lm8cCveN=}<~=+DDf^EI@3q&V5RqLq@afhsV7J zM)hIzGQ6=lStJD@7&;SI00E0u?pOJrT#n9{9XKGk0e+R*>A?I$GJhb_ix8%1zD{>Z^whILCe#1EIWwTgMkkK4)+D z#;f?Mx~vR#jE*C@c7x2EFunp)0>1O0E+;`rzRF*Pvi0Kys}q_}P3`mIlV{LXEAr?5 zs%;MH=Qga6Ot0O7$EAX6pEA05y%>HYvl%VvL-crr)Y}y?I#1Ni*YLLY0Fk88%BFqlK=q*0Jl1Ky@Ru_0>oG2}he zkc>}FgA|MfeM12RD>)OCV~rq;VSgD6CUBBQL_i`ByS8((6;zc6aP+aU$otHH8L8s-lxy?-@#I2md6*%k&lC|i2CsIYEpzpM9x5T zAZ0(hlAdIRy>Cy6NP3;Mp<3PcnmPH5>?e$#CgE^yI6O^w3iKZXG$zKOr8wOP zHXDfArxeE7XR%B8%!pQ*#h=ufzppf+Dg8sczmxV}tNiFt4O46n+L)~(*{=C-w!z^Z zG@1)|ydZI+Im*}CK!Nph)T}lUn0D`=#27Y!9t-NL+1ATour3&)tGPx;J>ED30I4-{f|S70nRW zKs0!Vcl9$aHfJfJq)iCW`nWaIoS3mJj-InbJwb>%9=ZNn@OkIZQ(MjJvjV=skd0Wh z!jUcHKoe|iv~L`59%yNz9x+}pOfm|psRebgzw_6Jis9mU_Mm{;e{I}*K>G+tCAnnI z-H?n4h!JYeDg940pnv7O9Q}s$CGSm1Ef47M)MuT-ne)48`C@9Wd(qX(0EnRF|CLvjxEZO}PE5vNW4Fe7|I z;4-ckQ|)&81vj4sO8f45L&^FmI@;0CZyW{H?h`s)#id#OEO!j z0@!3;L?`I~K%Q5TIp>S5{Qi)o?V+^Cw28&ZG}!3c_4dZ~*C$MrO79(9r;lunzzL*anlxhsHE58%K0(C5b_;(P-7I$5oXj?T8LS@j zSiCd6V9A(Q@H?bFb>4)3MU5>0hyDaotjX^*HpGz9!*EQ(FhcZaL2>lPq zS*13rf&W8q{$X|t(rcrr?ZF*w#9$nRgdYB77V?G3bg~k%B)Pneaf;99slY*NPMkO` zVg4MhDv+r;75Wd0>q=kJf%@#BT3lC;OL8g9mICJ= zi?I4zxh&lVz^E1*ws$#%Z%nc<**n~jJFb4UE-3)^r6$XJG!Fce*wWOuU<>7UgdL)? zt(vDG|NJOV)bf9^-DVjLbg|vD|8@4UZ32T=#!#5dq!_2ocpna!u)v4(}|H- zoP1GxPNj>7QwsZcS);oZ+!V)BU36%M-1n$5rRj)DNqwU_a8M-+xpNO|g-uOe+UEEv zA?OSADovpk879}#(?DV%cWbrsESImI`s+*jZ2MY#DzS0LW1K z`I(1`g#AN=Y62&-|r_?CjnS290?SdjS^gAS=CMzm!cM?43-{ymnNyF*rz^ZYOII6l>Th~{4V zx?Z##+dsat4q)HJ+q_kucs>#i zw8kEMG?CZ$oX36>{|b|D1()3 zFL+z=NH#OTWl#W=$=CUZ44KEDxFlrxd#;J6<1e;d$s3nkC(%+>p=WX00mU%6zR+3U zCYHOe8gK)R=J>K(AxuH@YvA_l0ho-gcXZ>c6K|7-+XhdmW~Ai`Du*=fwp}PmrjyT} z90I^$O*M;=b+JmFf@t}sX%NnMbs!8^xq8mJsQ#^u>7VU_s5o$rUz?``Yx3kO6 zABToW{|agw-+z-iWVt*IIB)suSTQZQiWNN+DP?hIi+bq+Iog8X-zx1buCoUwq#?jO zpBlpJF{}Wb!{u~#8`fzSgQ!1t6T;m*Oj=l-=hvoAvGjGz27?nFAe(O0m?(0=jrH34 zKQ5>xOgF^6*!Ocf<}w3bCdB!K8Q{Rznx{6OnOH;xi@-52NNv7yzNN=;i#$RB_gAmf zw9LI+n-;=$59CC=;1=816dYC~B?8Z*^IH~Ov5m?p4Qu7#Y{eSilyJ4AbK#>*igsNe zCgedb9O;;v#V;q|L;RWt<|1HKVn3FJCJL z{?0b>3*3!*0Hthx|I&RFSVv=RB5|TBV>}O;DxZe7t{DuG)5!qRXe!7}oMa3`xM8yZ z4``UYQlI3Hc?QAUolLeRiE?`DyEVGQlhbRr$-iT=j2m<4dVYZF5H&!}^giHjt`k}kJDl@|agv$pTTo|@6Ur2rcQYyCmzLG$DVX9!iP!i?sPYvdWxV65{j(E?^OAPyA_Nz49B{BVX=qzMh$vjr?j^Y-AT3{& zBpib^Pe~57@l!tG4y+%nG;|IP`4I({a1W6pt0ZguZq;#L)RIDhdl-O3JmHB?0dN0x ztq{)H4^mPRZ;!ZrRQqm2(kRQ3Ipop^B&=;DUHb)h(;W+uV{He>{<})o6Bpk%o@guR zP2lex;3%cU-DDm)+fp>hIiquXkLqWd5@js~aP2;oWCagYOw01<6OKMR1h@RD=y^xd z^C#p@Mi&<@P0#3$ZXm%6?^nzDFLF;U{D}$|1J&?3FrlkxCt#uvgJyX?LIhs)DeFK~ zVU*-za$YZrA>+xVCHQIkx_hzt8&F1TpMZaFrrufT0*iNQ?JZD({PhX#VI95Dyp1?z zCuFXO5J{}y$KTi{ezED@Xo4{w#C7#<}z^a$ypMIJg9J?DNV}F?UFkKWmw9tN*qm5S0 ziq2$FjW)}`s-J(N8&yI6O5UhpXX_aX*d7rJ@J_B|5Ii&hgIf%)KvH*iB0| zpyE$Mfmtu)D6)c8Bb9Nk8JXaA9HxEPPYBVnf3Oc)7H!FD9B@g`Rt9LUPc0rqDa#5- zDyWNbEPSKIlKywx5|0b!g=TAS&#ph>_5+!RwPvD@j`aK!-T;V*x~Ub*e2p>P?4qe( zQGlzSr#quCGV^6QWc#N{Vi^mY@+ChFV8}X zB<{YJ2aT8O)Cy#58~EBn-K@GzGBcU&>7RJ|F)vEusCpkRYN+|p0tNa-p=xR}Y^>ZR zq6xbEVD`5RV0p7-NoGu(IEI-Y&7Gp^*wv%_ht@b!T7IcBcegp}4Xiwx@XBKlQ0)rq-vO?x@!!WA5--KUJ1QV=ZJEqP+IK=2g#4fr043t%>JCpZj`pV|o?Ia;zw2N_if~zb?J;cTV zKY+w#RcbnR!4uQ0AkJEa+V-SAr9lfu9RF0((VO3iELRkY8l`NdhWp zyMHN|D4H@3mQ=)Ff~UtWncL@Cx93q-H}3We#LdRmDT&8FwMkm}-u??)gvz<|{DP~s z7~7rLZ{n(a&hXF~!Ut`1TD0B{F;7johHIc8usfm3aC|PuMKb0t%a$fd?bo!h-+_%G zdA)Nw{GExirE%Ps31-3fW`2(uUO=m3jG9kl-%5(Q09Ep4w32qx!Q@?EP9%zH;8?rC z2`h|tWlWWztizaR^L~F#2y2)`IYR#JzA5AKruaUkHu9isv@&ze)9bc5sYB`c{1e-g zL_3eu$r=1w#bn_NIMT-sh@0aMbmxIW zSUGyP5-#yYM~yG)O6x6+gWS>yn)3s7NV#AIOhOI4{=aDY*MF)iKTxCe$w~xSzS@^X zL|QU)x2d3Vfo3a~6QMe7Q#?mS1!cIeXsKHwYQ8E?roFy1v2zS5D z^~`Gx#pPx=Nq_~P19d`BIX+3tNZAaXrQ=i~qCaXHiy{TJ|IPZ!_8(x_n2H0u5+mlp zZhYKGpp&p5d+IKUR9N@*j%NTNPbG9g-sTRXeK;=x)kt&Gu7B$%qxzFp&^&d>j}gf> zt4kFxVh`H;ZKWpK+%x6ABO7b|o7h=a@F(NM7VF|sFS})LIHS!_JuyBvve;v)#uEwztd=oBahYo zrHT1zhw8f34qMTAQ-e-A(YQ^)1oiiR|D||;VNYdTS=5+8RQrb^#m%MLJDM&OaERcE zh>{yFv@Z>s>w*zS8wU))V$vqFLo>R90BQ1PKZFl98%ngNniqMGKVkJ$(D|LmVr}%3 zT)~yhC9!avi>X4gp8-qa8_)f1-Q5ZbIQf&ee0an3j%n;$#O;KUu`sv`H$Q*u`GJTl zwpVwiXVA@=xy-TPypbxb$Q~jiza4nH{1{#*%60f3Q@3Kt8Qx13*vt2wuls}hBWc6CJ zdGfX9XR$v@a3fAbMOAJFL%}8~qkk-_70a0WTpE}|37-Nz2L=EbdU+0qCGH~+M8Dd# zXKaj{nCx1}f)BbD4%2dS@&|_Pj%vKDJAJ3s>RB~r@MRLaP6oPm;HX{Jfv3hSD|{tN zHFD~$=*`W~@EumyA3v^J2n$N?vhw6rFdXomLu=-l2AEr}RO7B_AUr9vv}cqbD2#v; zxIxyZK5c(WnuPYx{|WFMsq^}TXtkqOY&zIZC`gRCv(Y(UHjA~cw)Cw6O4UthS~d{W z;BP~G2Xv2wTUn3HTUcarE}4}_BN_%OO0yGfH{|L5LkYK@fdi(mNCvD+MXL5+h%trI z71+Xl^o6AR6E2V+|14*(4|?G z#~b1Aq9zn;+4QM@klQz3=eHM{9Jz{d!YBYJ3C^zpFi3`!$D2~}zVNklsg$3vke9hb zw4;5a(H<{|mcK!=E;ODW^42kyIY~jY9h4MK-S=HW{$@LS(GT1g)cGgAKFkQ>bqdz{ z*mAZe()Tff9u^~U$UedlQ^i0PGRVpml%qu!yQVbhM! z(|?~T`jF>$4Ua28`Lx@C zj>#d$XWkM2{PI6gEWO5U54mgNJ0Sxdz#V|}I7BT?1EegbK5!uV9Nh~dLFhYd5mrvk zke@Ys;;)qNW>-P=oof(@6J4^LebkTu_d8WwgF16XytkQ)I&A`;=z@cVgjtt4$|Nvk4F1PWhl%l*?z z{fghjA4PVIhn3j+9Lo$=K$Z4!&w31F<>ilva%lUh_K?DY+G+=#@_3#@btv`I<5dCm zHB>mX<*YDm=QQ#bRSE6=j1e~@!+qW47io&x9ghT_&5PSD$SwN}^%Esb{NQaWp4ij3 zc$=`I7fl}C(CYlmA*Tc|AQto26lj z(M#h(VC})&>@XnX9yn%`c}5l&bKLPe4<>*P>t!5*P?76td z>eA>@D!pfq(`uB%d`SNmBVvf)Lg(r2~;zM++tj$ z^%FJSgq9Y`5!s)wsw4isCWX`22H~b}wtMJ7tBduW{FD|}@e6k{qf0+=bo7-{kgn$Q za#Qvuo{A^!(ocUP>ff6PoEb1(aw!>BsqG^-rqaSGu_DR`zhL3zMvsq4&Xli`9(TeQj>Wj#Z80mSDM{^|)7 z&Nxb9{J=A?-Dt$Q>hPYM3S2h43l(BvhH0I-KvV&!9Gj0m#7;KG#yhBUyt>=_A-&A3 zAW634UI)oMLBxda=Wh>Rue6wv{K(~1HaUIN`R~_$D8F*cw1cqO=@#uv9=4R{pZKov z4m;p*;>o0y7ko=uFh6y|N|9`?(+y~ZTgosBCxdE}mq2pM#j9)OLe0WB?6G+s2W+NgGO0?pq+l@XM(INsM&+3JvEMGJM} zoOsj#ydN_2VQK|}_$C+YJE>rCjwPc=?z zB@8aQ$^`q5PK8Az%^GD$8ocX3@pK78luDmg3EuUWe5Aj5R_Q} z=jFPE1LpXUX{N&#|Af`Y7I6Sn7X1zs5>_53wtCPfO)OiM-@ym=j2Y+K2PYWx4e(mea zb~M^46~y4dYqj<@2B+3g(`+_)KA1nYhcf#RDbf1?ube3PA1>>OrfK{Xa#2A2TTA!c zTSAgkCyJNvTF{KXks`D04F%jbo4+Iya<&5E(y-j**b<7iRz$xe8c#?@5jW^`oaZcI znP>68heaAXQyMQy7`F$ZZ74+b0hTtI5Lpe**Oc&%rXLt_H6!kMlR1j?cl+keDCdVQ z4jt;)8K3`9e5SCnTCadfkCR|ek9kjqa_9>AgVghc7wdGp4YqrkG+R1)Zx`Z>@ltcy&f+`q`7W=byQ_h)AJKu<5 zo0_^t8m&Dxd90*q{%q}vd@Z9%drG!3e4rc^)97`Rs&7oM?7BasORyA1Eo*bZxL^%c zdtHn@S?)03e&&Q&6&5?-up7!3&0R5-5mW7|62V(rGNN zmUmUMFXI!gqd$ON;KS|4dybOi*0{@7%1@98ygP`fKZGJYkc{WQOOEAbnpAWEVOZ4# zA>*XEwb#D)B~tzlFO9EI=o2i$C(uSGJzL9Ds54H(AG32}y8Pf>kj}O`h3VBbC+O#m zDEiA8>A`fcT!6HB0%<#3h8+TXyH9KC9~P?~E%kgf37GA4$tsHZ&G#;a!S5Mnz1oU` zf^ySe#$6Aq+j|6YHxJqpTW@Py-@c+n5eqrNMZul}w7JRyS!yL)7Ems>5=o-Feo@|cXugMBy8Yw|75VImYg<~cDx};5a$HM|D1~V;Lct^!QRCC zz#*kE-R=SNd6YwW_PMePO8(D^uVMi*Ka}=osd*;~UkBav7~Zj5<3vf;id=0p*8>L@ zhrk6fgLcp7bk+{Cy@>};A}f4`$yQMUHl+`l#}QCZ10rxrN!AmkmUs(c`WAOEp}e2E zT(@(Bss@xA=Do-eVavIZ-!3M5Mf!4g{bCcw2Nn!^M~cW{V4tv)IV3B6>K2 zJOoUqvZD|Z&Tcr_kZq*@aD!Z0;})(DnXVq;`1(lYU~}iQlJ92l{Rz4&Q(U2drFUPl zdu#B_84dxaMiNig_T}n6qUd=E(&iaJ{kcfnv1`-oi2*W6JKnP=k#omljDjGs*aWoH*phykE@Bq2>E$QhS(Tw3-u;S#?N&0$*9QZmno(nwXrF_?%7RL{!dgr z6^OVQ^kuoAvkJ5dJ?chWaLg-`rlWnsX(R5-WkkV^p@)~{QZZc!CDcY=uAn`xu>vmN zTTNWfOa-7F>~%X(qFjQXlDl12!Ikp_N#D$OgI{m^La5&HoTK3^A{y_gfSNbY3CpPU zkE5V&#R?N;6TsByu6c!Nj)j_`q60NpDZQ1LuR7n@Cj6=kdEg zs^r!YG09obM(jW8)Xf{=Un@Y`UAf>ekhe3cZASF)_)vGcqk6iRo4U#RdC_Y@N|x`} zcAA%vMUw-86Pm4;!R;|HO~xFSld&nJqbag|S1K4rrI8TMF3K5>?1ESvmSshAUm@&W z%rNk}XD9tzq@OA_i~Xk~kk0t1-D=z1a>m@kz2X{@ltF~ev^q4z+k4Onn`pGp9Yu*! zHL9QB>(%!)g96?nkU#1Tis$~pWr`RWUtR)&C1zFak(5kt9%76dg8M0g=5M>WU@Q zS^y<9xAwojpgpFs*t|)b=ec0vxl4c~nFo3+$N8@9f@WNJY%Yn636&c|AGgTjQ>=h7 zv-!xMkord_&L$rRjuD202jWWg`({D4WSbz$DLh03sc$(NIRogiTjdDORGe1{B3#SiqZXNg>oFxV?i|st*o@lOC zNyK*>)x9GcJC&Q9$$&X7cCskmt@2lpmL4Y(MgrH|*2mWf=1$p*25l1e{7=FrmQL;s zqGZCwbNyLl=^1_dz+E8y;BHZ(tSyup>>6QCao^m5;fm9~!rUIs)UstVa~w_@wCK2l zj`8Z4hbMS~b9NpvHMu+~3Xl@*oP=f7C3ZuYY~$8k3gXgZmgYwN3)$(Bj2-4FP7X4_ z_E12*ALTGhExrJZ@g}a~kYqx1%SFthR^^Mz*z$S)x3`ED5wD=eH&!|=-hFxCxzCT} z$7x>41UNgk>}~R)3mR_@z~K+->0l)%c@KV z9(V;7ZOgV0%+=`%lkN9x`R)%FvxhQ(dvGxUnV;^Lpg( zkN`;wxi_)Le&)X)arNYMb22IQd@QH*v^X4Iz-KK2%>tP9Y{}}HrX_1 z?Q_o0=&}7KE&iprd51V6)I7XyZq5;tBrO&_iHqXFb9!A=q}nIT#LO6#?Uyj4RE@;H zToOk#{p-7w*Au1MbJd=3Pp&f4U7*}g&H*^+_Ye4H)@_P#WcoZh9loIjHtU_ zxe!n^qI?0SvUtg5oc3HE>>iA#rO~7{Fjn5l@A=WID3mcs5jXQddUG*j1nLCnIbD-< z2HLG1^~GizF2?FM7o&vP&(X-Ff0|>K-HG7sKElqtWxYPAOMe0!@m+VHX&|c`8SZk0 zLWg_yVB_jqB=z>lwnh`U`18kAjDNtxM<{n+5XH(wp03>v^_dQ{OyGtx7K4zqPL;^4 znNl#6s7Ped4b88-SgR%xzy8R-_K>>$SQI-mVwvEk9IY)mHl**2kOEeC(WeAZvYjq3 zB~cWYGi({@*j$Qjr+oQbkD>83AJo0tytd_F$Utd#G10+0Np}(=t@5=_yuz-0{_A!+SnAy6lgB53l>|d-p74 zhH*Z*ZWCrx=W)+`(x3S1c$Mj6lTV&|0CWX^u~6m%EU?S18f*`RPi@vyqz887<3l+a zv(1g=pHR*o3O!^Ei*hr!#F~qwti4RkDXIIe#vH z7133DL`vi+UfC*u**Nn8_mtE|c=d|Vj&<>hNVF<0Sj(zwn+Pr`Z+rnC@2H04M!fl& zva8QdYP+^+^dnyKX#}>c{gB~Xg;j}GN!^4t`!MD4{^8#^!nt}l()lL!v{W0Woh-KQ z)S-_oww7Rw&f5>@JWBaOks|&34AMAj5C4I@YF~pd&IF6=CcY*V@y`j*$M^y@SE-BY z&kYw}#%`$EFY+xKt=K72m42CC7?kAjO!QCEm}R)jcRBbawRFJ*~1XOecRulGLIO zsM$<$c5eIO@aZ4+Tb25?!Eaka2k|y))OS#M1f_hAo1h7zM68${cT#RP=iDfg&t)xU zXPvHS)v@D$-==aWG>~W9{U@NF4&ZLKUYuFsH5Gc=uY>vxpwvFlQPS8<3JDdaZDqkR zvq7u&(F6L&UZGWIdGK-ZvW_uH0>L>^iU!uE`t{TPnv) zdul4xyL=Vu#9QWfBz=b;k1-WD35Y|IjAky#{kyui;#9F<{eMZGm1~_sdwQBrS>odH ztMVOHzv*tm=B4exl$oQ8%DzD8dO)T!mo;QG9p!ekg}Z#5M}kypCv{(f68Up7en-@c zC)k=7B>r~P_J@G;Yi--nYUmL9&b3N357q->mHJ}RzgxiKGV>8NlzgPQ0|LW81Y|?2 z%4`<+yKSk@R&GAV%kTKE@g9XZ%nQ#qMp>Foe4!+PY(vhNXFE;1tuh?2(uG|>@%7$` z#ngYiK)?ijDjnf$X4s6af0;0_inu%Um^x6$0pjA~4s#$P-@bfXcJQ+{C2)xyOrb+I zGwJhVBbL6~jN)tJJG8z4t?VvC9@8XIY1^7V0Ump)=qD-vj@@Q?iJ7!xP@F#a4ys#3 zM6ot2IGe?RC0{S$0(9f>@-uLIR?F*XEaZ9SMa*=C@xSdETPwAYl;2T}pdySl((HLX zKj5F1QBaQR`1-{81OEHSM_m7I*CeXJIcnwMK~roG6tLv+4`@&^bw3zE?Ju>eo-~oc z(O-Xq8)vG+#~ns+7b@8@aw}BMm-Xh3somNuWsMZ=o(qz6i;K3m}~zTne>Q##{JxcUtv3N zoI}PZvAF|6i0slY+5gf(Xl)CW*n?)d% z#ep>W!bM`XOd1=y9$tGympL6A^YZp`=~j3dgcad)#U(%W@rC z`NejqGU#>q?QxT^Cvfp(`TmDV(gW&~-w1CrgAuq|&pDQF|Dv=B&pD?FxVDBxD7l>u zIW0c}@c=yZO15BTPq0OR%n$TTB|X-m{qs(LB8#a9^ZdVWZ`{GR11CUH4}w>_q9l&MBFJ``D9KfsHQm)3mldVFQ&a)OJ2CFo4Mjm zb#rO*6IkOXs;^}Tq<4E%?Ap<@qbDEt6GLWJp)JPyou2YUHKkkwCeYTJ%2>D<9% z46{vey>S2GlMVE6QQUHvagg8hQ9)Eb$V*XTX36W;ddZqoF1)f zNM=507h!UvGd7>!SFdk){9kjBv|(pRFs zGJ-wo=y6i^el$+t(oIox+TZFhCG>%L zmr&xyv8vi1#hG;f!7*MXgwSGT^>66ULvp3<_nM#YA$H(j`frb`YZgX0nkd&4H-3P8 z?4B1CMceF73aF1(NIsQ@)bKAu({sRsaW+o@CMG@d9Zg3z#Qcd(X???jBnXl`o0}s9 zVqAd*3dm;VtE6)-E8J3g*$MuMr{h%KLMr3%VAm{DFTe5g>!xl+eD9G(obGH#XIg_oTM+l~U^NK6&<7p{{Bf&ED zS0WIquUc4jxX~Rv;T`HrkMJzlFxr)E=6+~lsbO( z+E1DHI1Kkr1=QY_ow0*GV4asXf9Rl^THLVPpI?;u{)9DNAxT_vLG#Z>JPlp>KEr-r z%w(}>oHG-4I^(P`OaO)Q0Ih_}{MdXcj8V49QnS(k&zkUHo)fGaifZAkX%yl%?F)n| zF{m~13qA?6{Q^SbIqMzJDBPfCMzro0U*vepx}E2!4cg%btYFvhFMx+!?M*20&!d0i z5gPnTNs6Rja3#uDst;xlGw8Sp5R74-#EpK>vbe$x5Pcy-sRpf{6llaY$O`3UhPJL4?Vrvwv=YT>ow!<~89u$!=K&~5$9BqWOTO$KX8>3F7WMb13< zg3fGxFk*p?VK_;+6LVX2Am6wm(HPop4gkBrDbEQf`>*Xx@vkgOk7$hkp0h22m`yDKiu56Yu z2i6SjQ#2i}_MFmU@+llfE49Nc0E2*pJ$p$W=o==akVY;dM^`SHUSy;8>#EnS!jFp~ zwglT&o9}d(cL@W(-3zl*OM@@^-W^DPS@>nbDz{(g;1{xf5!56i4wFxDG6=UBdt$O@ zud1j)e(Yee8vZ1sDUyN3t9O2;?+nJK4CmW{{1*hZw=p~!T0M!m-bA1cb$7Z?W=UhM z0YeQ;VZU1uVjJj1@h-8RUnc6BNLdsL+V*kJvt=H> z=TVlJ05q+Lj^Y$P?;=BPHT+!x)mjatFF`gF4?(;Caws%^%p7dqv5bWlzXb|NW$Asf z6>kaGggzrggu|#^5I){)hJwq(^K>eiz03j%RL5pY%6~!{uj@|Jd9&op=XN?k-9x(elt0`+?yyp)e@C$_Pqu3gCn*@`Eq7ywFcmUUBL26j zoh5%MpNrsp;=JQ`NTU$~J{;w4l_uC+kW3!_;~t&bf5(n`@x^OZ$G$YC7}`UOu{m+( zoMvY$qC?jb&bO}59b2!GM7*TuUsjN~in*oet>sqTrl%$Euz-eJJ+kA7^jse3`;f55 z5zl%1Y8ex1tmCsgBda6K*}@~j2nG}^sh<@GZ&Cgg=^aQ71%ZZnep6UlgG zTt!r3F70%%ByP3O)any@x&1fKSWzU;-Crw3U#>Do#lei4z z4W$a8kg~{62^i94B;4xR0#(4VgYDMY98-lz6awl7N|EdB@jcwWW9t`;2$-rCT}45g z$ip!Q*eAEw;W8A!bT?yp-A8<8@eqSUZJ7Q27iC@{jh6O2|Fs*4+_*pDAruoBHk4qD zs*`h{OkF%e8E@(N>1Cxx+5QzPsRJu~vtc|gx|@&6fRF|-7|JChj_Af|yHsDwoXIkb z-A>yQ6nc;_$5WL&vC+QPzmqJpWv6vcsoee zdG;2kRQNwMDiqY9z+Ca)1wZwgz>yQDYM{sywh6m96u%W?gaDtN}~ewHIxf9!88Ax&pI=$m%0!AYe65@;2ERsO{H?@(ymizuHxo zqmNzM&rFU!xDiu(np$8#D2iTS(`#aO@%X)R6+fTKSyWyckpY2zJR8L?@8a%pZqVSP-qHg}H|)p+@GGP>cWmMlTE z>bh*I`i!yLvSi*qHEk79CwZhjBJ}{n+@*U1=rAK}9IW8mFL%s7N+y0r=~b36v~IZY zriin;BlB&iR~7G=&heB;-)Q*FmM}{6)N}X2ft`n=?Bs%HN>RZwnJ)LERg)?v3tkVw|_0KkhL$j z^Ty8&)QVj|?KE)RR^xR`jHtC!$+C91mN9RT_0(?OM}aBBv!!~+6h=(s?MQPtYXG%V zi{!AzC;ODk<>_q2T%-gn@#Q#ULY1s}BB%E4OLw$2IxXqyFXLn9bp zS4VBR8!I;#Mb1TV;c6?%a)mYBl8sc{8HibXIZ34&`o4 z$_zS=@C>@%=0e6f2N^YMQBW#SWL;7Xiw5$D-@XE*+F2Dza-tBTgrgl# z!j+p2%ez5(jL$!d57Z)@@D8eT&L9HiRyR+ze%bP#$AaQU&)ufw+F9DWs#JW{CL6an z^4vN^yk+2?4hxIcGC8tS|K>0GXTf;tuq#&0RQ2 zk@hb*;SOnhdrIe+A{}!#1u3fCj)qghOl9*O5H@&e(H+x5Sc(V_e=fd~;6~ zRhMT=B3Dw!TG>s`wn1gNE$r;%w!%n&|H)gZLR;B@<=Ay6x-@dWcZ`28J>m&H9CA2n ziD^ns$Y<=RR#(7++!nKJPXX+%TXfdL1sV%qj0j`WKA7~i(ak6l?jsWb}A~_blIXE$#83k+DXD| z#1lNqn!!KeTX)!eqxtW*=~tDMAHyd$>5ix;qM+oBxSzwHSr$SKwKE$K8O1eorpSQi zuLVUv3767!8nR?l-Nhb&XK~8RJG9PtN#U-$^8&(P{#_m8_JdL72xQ9ceVOu9LDP(m zq!J~Y0P>x;_pf=5Lh7^B*3lzGbFQ9pLJFPd@?Qb{tkw5qTH84$s@2}2ZpUl{-%0FZ?^h2$7#%{*-8q2=8%8N$X`ntuOWKkYC1vUMGm@AmvKezka ztP5mA4wqAatMBDcSFJuyP2&6$PZFlJd8&{`F1wXr)c@Dh84pKE8%;Aa24t%JsG%O% zGmi=Q39hvmkVJvn8E>cU;>(+Ifnaz)8(c*(!cdk*oz~UjsXE-O=qED9!X|?x<@RpU z>UsQDIeG?P{@vCZA70bIAdmFaMd1ViL_3k}&;&}7>dJ{~`6-}g1h_0f1D-_=z&V!! zi6C6F4K4x%t7TUHj_Vq6QEjteczWVi4MwB^XTEH2;P5?B>nG8kn>TR1lV6y^B_T(L zlnLhgEfPR9Pr8mhUAG@NWkj=p6VFH6ero$nEq%B5NelI?;#oqQR$`%3@S7(|!gl}E zep594!-|5KNHlIzf-yyIJzL0+wc;;?+oRMIHI|w#WY42;%mNmT)wT0~(iHmE^t^-W z=UO~Tc6o-J1uK1B&CF#ap}Au)OUR z7Csqs7dR0e55YtY*?P5vX=CDmR!=g?&Q@3B)G(WbAc>kO(hiB(bzlQ(GXS zKV-=7435J#+y!Wp&$a6Ln$Fy=49{=`2+k++SD|#4WQw|4s_*&Qdw`;PJOv2PuUh$` zRev(SvLq*|>Dh``dHd@RWgrPmHZdyiV0yXb`p{60PiObrACx#C;M0k=^k6F>|+@ZN_6*2obQ>D+hf9cH<(*&K{v?tcu>wW zkUe7Faa%y!s;#GZ7RO@yi!V_)bsTI`HVD+>!a9MvH3cWuvcYKI(rmfpuiSdbDR3Xq zId%seFu28XYCsf!v10oZRxcpsXbDo(ZV3E;++Cz)?8RNA9XA4+n!fD@Tn{8Dr0r=c zPg%fzzN~SfCFUadR6a|XBTHG*(5Mk{P#2t$15f*8E<DaDlXFe-cY|Vvajp2aLh&{MiOUR5h)P$*Y`@i_>i;LQp096v zOQy`mCc`glr4?sMSWU=w0-tG7R(Tg?(;2>N5!cRYf195A3*kygPlJ}o*p%OOu{qKN z%^BAR7o{zbC4jylssp&4CDBJF>=RLjAUHC-<%_s^2h|g{ye%24)hYIXtW8Uk&n~O9 z3ubeN8hLORW1m;}K)$4J2OB#*a~VN^@@u%q_7~7rYav+49eAH^cqyaM zMcItmle5i5caQV$yrUZH5K$!AGnLEnvH6zOv{6lAre`mdRNc;<>3L9IGto0ILQ0Xt zC20{|-9B8>dsJh@2UC*8vzaIfDYGn-X@*^oH1eSpa|B}?3m9c0Pog}3Py4Vi#h^+4 zbZ1jc*EmQd>tlCe&lnErpW7Dl;@h77K^l!DQ=F^x{f8s9kgnQHtyOTTkCF&!iq48^ zzbNSQvPc;pl}&mIi}_$HEly+9wI@M%W(E!Hck|IU`E_wHY&Y)(z5HX8t(cAxlWOcE ztOFWpueU^3_b?6*Wws^;?vxhrq%>kOw#EDEocu!oc)Q!i((WE_1l~b)rhO7QvdXU8 z3~HjJC5;^kC445|j55d~SF4nrz34wcsv24Dga!Y;Jcy)MAUQG>VC(6JkIo^lYSUnQ zadViDB0>Pmsm@mtq+{ysefu&HLNEdx258G*>Q7)jTW3wKi^T zI$uSu&!=+YBs@p_6p?GT${xwZ_0_-nEKUVjMDybjwPKO4iTC`~RqA)~@}H>{r2WOG zhI#hpD(Ont?p*MWX=EbtB2hw4Hq1SsuI^Yy_fk0NOfSRycA}&98)is`LPzjhvDG3- zbla{yGBmJq_Z`>RH{^Q-nXPt?KpggDq$VUWU#dR&)<-po9XZ|ZHn|20XM752fSKmS zE23j89Wq)W03+x8A@HEAYs0Q_yV`#?mO0x6N4t|dab}*|N3fUcV+(w*?PC4zkrdQ; zeImBQ%bk^LJk&2geNG0I;!H9~wN{e1=Lr%1>0A#jKW(nW3D{<>@Q$UYqQXFgLNmHX zRN-@f+^Kee64t0=xZHly9LJ<0hsE(_wO^|uG4+(`?cC&r0Q@JIettxX1WC0JWjN@P zU2J(*Yw#-IUwP^9Nm$uUUGBo>I$Rb6rrGI(Y_$QWrf=YxFiQbTp5;c{p$9(Xx&bDX3 z8~HNL{|F79RUas(n*cpo1OZ3J528yAFsyqKQed(l$pu)j?%vMJ+>{x78+D(_v70aP zac#jFo@|ijX%6++zJ@Xiq>S?;n7}zP0P-wwd+ZpJb@m5N!#?dvhfOQ!#3vTS+=b#?2FbB5a?LOx`gK ztWiOP1m3~rz`G#)+vFXKz?*#Rfn*dof;kCpDLE~dD$_MaVH2DiQ0u9md&WDc@sVBs zk{AoiUq!HWCX0;zK{C0v%%8ByHJFUDRMzd@apJ+r1lVRv?`Xy#UDQay_001_=1wgi zn@MLx8mqc~<|#P$Gfhfawr5_4zzm^gP4!n>qOZ80CsQ2js!U8;OHnHjc6D5JF?D>PB%SLBQx86qmH_rrt>FC@a{zj zXVr+MR3UkDU+}#!{Y9cB%xz_>u^cL z-2Mn0n?=bv2w3{D$Rmn)j5n5Up5S36dSDu6OF|*zvuzb|iC;WbDj9Iu1&ZW2pY#bk z-$s$|aC+rYJJfbo9T`;+V~WdMrj@tmZiXFJbq^;5^$gKo#fqPT3hj5M#GY5=pJ4hF z4Pqqf$nGr|Ie~j{Z4*cc(C*DT8?6hhvyG|HK5p`sr{^r+3qS7>-K)KRul5w%Sb%hP zWGfF1=nb^;m9M!s7PF}g3?teI?kD+Z=P9&?1uYKK%s(-Qh!YX~C#v3|RVW7ZJoFs1 z2`uNai2DY7`wn-7kOb142JBj_TO$)iOg7Jucu1YEej=e2QyNd|`cgx?)L7fP@f7rA z7T2wY50gm-VRbXmZIBfB#4w-SLSH43BI$Pr#7KmKmK{}P-)`4q%u2jI{6EsldTDRC zIwFI-Kx_7VeF=c?@#UCM%in&zEWP4@gq(M-7Kvy2{lx-hXI35s)wpXB(n*qIFj+TQ(4{$N zLy!|3$*8PRwXqGxJD@HU(=Pmf$X`>onYjivF^G_f$b-zcs0$~}>?U_i8u)-1K3 zX}Zb!DId7rUE@!d z=3n;VcP#yzKL_~mupG-&2vO`}WMtOCYs&~CDwuG6Dw=gXJ*2z{Tnndt%s2sm8qzDM zJl+_oJG1S6)Qa0VZ@s%;<T-BLWqS1u1?vb1N2L zPxPY<@4>vU#suy0I1Hs*izq!anYQDzkn>KEPM?!A#WIFdFdGwv z&Vm~NCV925Y_5K=Kv?vi1xjqWbk5P+N17Hycs)dundHYStA6^Mm+z4J_kJla7u*AE z&M7f<1KqZxedxBetvaOjvKRoXqBe9V^An#dV7*G+8NXD;6xGPhA~ja%AErz4!?A5E zt|?d~nrTvjs#=%f2g&O21?92xHYd~O#Mvo-3dP(p^=tJyS-K#$;bx2gXtqTthB5`9 z-uSJ7iX+@Q4Yh)BD=k4k1{HE>o4~z@?fkOtc?VU;>86&3tY8}IyT(vcWFd1$M;BuS z8$1U#{MGGYB({tj%^;OR;%jSvB3|039vN;U8LZ_!^MwRG-Ez?L4aY1LhcS2s^(w83 zf3EI?&&4=U6`F_B2`-62r;kRSa7Mb$uo_>r1{>goI{rgMYJ&i5_`H^I(0x7a3#*-EPUFp^vgJ!bJMdb%#Kg8EI1=PI7IAkigR9d9 zgua}bJ90xbdE|FUVT2S}73>Rpw6!EiEZU<93|WG!odA#61`J{c=zSTeA;`b&oB&Bc zw!hf=_MO)FskW|YdL5m2O+VVxGi&xz;(f-iHbaY^;V z>S^{LwtH%KSy)nKdloo~KKKPRHtZ=2=$KtJ#iOZ=^~V{aj7I!r@{aL=MBQk9LK)Vl zFE*qC;CqXT|K{RfE%y0b3BYss4ex=dp;*V3B|V^gYL(bxuszWuSM`W+@dJt>8+11i)B+mSJRfm@6ft+W)^v|GXFP%E?c;?xUm-`3zFeb@*%ki%fV=~Y)gl* zGthR8?~_m2W*G0Fdg<5#ZyAQEl7W^Et$rT$mt8udAvpbxsnapR4-jUitf+)V#*1fv z?32nrfsB)+HDXv45_Dhqkd!88? zOKE!}0rY%o^bV&p1~Pm_DY7hN0E8uuxSIJg>sjW~T=XsjgtTy7+`RPhSrHPD)Iv() zOOjGyb=F%JR}t*yqTeo^iQ=^00yS^AQ`Qf))wW6j{!7NeC*w3-~1%;uG?~bfZS?g371Pjhp z8{~wSU_VjxhKWI?G%&U1AChn;)sA!ZVN9e~G;w@wC%}zkG24uw+fB!byEeJ?AM3!) z<*!gvbs&2JVCe&t_6M%*Q@BjQ9ptd%c! zvFtZ@6fGl}rJsCoo@bx4yv%0vOlbJsJx@0Se!EQTAC=q94SnA6bb5RHHjt`|3l|7- z#LCytcON}B5SeOhdaB>1q|ZzdBztjePW$}i67Ug7=ep+jIiHr0MqMlmn6+dR(Ftmd zpAVWb-CW#b^SwU0tKDo?0C+eU%ZwfonxeQID|rL=gX#m-A4|djvV98V{_<`A=M-u= zIxpf90QxKRd`r$OSX&M$>8spVe4{9WsmK-Ktc{^rGWDH^zx={sC~|k5 zGe&R}n>}&1JSW4fF9589>VkKzxBA#t8Chf$Aj$0cQ)9DUD}Yrx&&Aum#T zoX<9cjdrB3a9$%>hbnc2r}G6$je5~j$%u4LX8tHYE>yDn=brj!72WTxm0Hpp^uZoH znuWBf?%O|OfwHQ31E5s7&7+tQ^!jsd2uPWV93}nq>yq+b~+&}*e-PD8{ah5Ji34&@@a61DIl-)~z zV(GaNl48Ccj?FCU6pYsut6~v|XueXqUVsdI&6isg_hobRjk;%W_JVGX z_b0M`xM35F#3b zP@Ejmmp=?BEKeUK`=5Lx;FL*!wrllV#`A4^mfAiRiP>;b0pnGQW@vF3dZu~1JI-CX%TKB)}ifFots6$?OQ!Ep}%M-ELk_m#QYi; z$vNF2waI^)lK>$1`hX0LFnY=<$3Og^)8a#X%D!UGgE&K|i`ou>Z*IAxvYd%r#2Wcn z3J0rv5BbjH6_NF8AAjQN7G)~f<1UI+nUiyNm|)6_jT0Hqg0(TH$pcZIJ~DN|0Pir9k5M}k|l zVZkey*yT`i(HfJX)&nP_)88J5qGsH_jcILb3pJ(*)8Y1T7-Pjwf&}z@g9xE~xekwD z`i)-7Kc+6Nn|NS}C)jjkd`;9$3;ZJ+P*ha2Ofm4ZTL9Dy<8+`?Ru?X zj`7N1^-6-R~{MOm{vZ47V`sfO4`zwE^5A_u)wds9L7mi0&Q9$jz`3<-g?KxPh5?yQ?RT zjw$g{Jp?H=SMOaTh2p%CYu4>B2{<{*ardpMF#_u6x*jcaNR&Cp)iWhNlXI1_VV(jXmA>Mb*90LX@8+ERYBz6)e>{)c5xs|Hq>WOAJ z#N`-YaYeLcCc<|Z%Nqudc@ZJ5KqE*ID0lNEtKRA{dJAxvD2*d8Zn6G75Tm{r5u~ zdR{F#pjnugMli!}aJhAKtT&rK%Qv(2kWa1HrI2Q$c**H}9=v;IGv$uo;T+@BA~m1q z+I%J9j-EBVWCV?^ilp^siP&hTHA(`Lrqx#JOaz{H_APVABiSa}}NN!wRd1o|X{ zvJw)?)px%d9>R+8@;VgPTzIpB<2eiqw++SggmqwcA4B1}|B(&nQf{4YdA(t~KUso0r-@}Z%Zu79a zenvlTYMuOvqqkpY*S=n;PT|zW{v1VCU=DUv3m*@ImuBEv^UAM9mz^=%xLRy>nl##-35%;dvNx}|_8AN`4G z+^MG|aT1SYs*P~Ht#*(Hz5T+z2@KGAcr6O03en)N6{-6Z5yWZmk&Zuq-1K);BMqG( zZ%-Hby-hf*ZQ(Vzvv>^*3eUNoD8RnlD6(CMb-8y-%RkTU|BmJC*9GiDrk>7p3asQ# z7tG1zr0MgSQ_}R{nb^ZY-`w-%0F`WQGI~6lNgsJQvJ1JRxppjzj&-Kca$j{^2r6is zp$70;Ij-Pc!?CLERas)1)>VdF<+z4F@$^@9wG<7gfQ{`OeJ1K;SF}E12@sy@H%iy|B9;DaQydE8f`oz#8zOUBzqdz`JkoAEg8&W^(TYz;;D#{ z`UzE{-D=l83zj@9b7;3jmDu2fK;3Nr>+@1GJCk;NL3OhGwm}&A(Uu6UO#_PeYz!*W z0nW>AHwZL|XFdf>$eQ}X2DrHC&pViLo=Dc^G&O&k`E3Fea*`v&tVL2f#syQwI`(#` zWsbVm9b$!qzcrAe7&Xw`m36)KqUR7W$F#M^ ziMBA~W*Cf(>AD*S`33!BE{x=MyMRL9A=T7F3Y{%>I8pXMd%{j5LPo1O5DGMgr3$+o zX51q^N$1L_U+vM$(Z)WZS5RGAtR2qwR9G!p8WlZi=9hLI7AYGqSNC~#C#o0j)Sj$7*ey5cAIp}trx#cwv)+lyB1oI`OA2Z zClDJ~BFog>!AP}&;yp>FwPn>-86`u`v8><1X4y3Bb}o6AGSkZQ70NZ<-*u}udqEho z25n|t6m=S&YeY-(WK^0eQu31mg`=PHPq0Wgmy~)1GyL7!70cSWtfCQ-sp~=xYJF~5 zkY(*UfVXaQAx1#hx<7N%iZY2iBHZdMQ#9lqQ&*=e#{t;}aqZ|E0#TCh8kP z0(e7j;L-28sBW0xdA9w5+TUE*k>NNVO!mg#(Zvy6Y|o}$YOW-D?kfo=-!@VYXM?`! zGDCZO`S4>q=J7&>!_Gv}I_;Wh{&zTiHdEjzN*^rGA1@;RqKyyTaiYokT;1}sRx(c} zL~UU+C8$atXhPqAV(B#r5Fv(oOSv6Eb!J;+B%R!c8$^@f(r1uQriyUI`l`LuXIHPZ zVY=(@Sn_yH1*!MzW%-cgTj^5~xay-z1c=*GVg&Upssm68w6P#%=24&fM7|8L5K>FswjX(YZ!_v<} zKv9i+eVhnD({0aAy-H)~8GC0uFU_v0!d!Bty&_XQlTs&LZ3e+D?IBNW-aC{ouu&i< z7Epb2mL~FaaFzC)WEwUH{x__`oS-XGt;=vr;((T-BrD;v|7%33_}meN{hwx~M#GLE z-}&sHnkQk4Y#>w^5__-;F^hV2Otaf6eo=I79tKNu*!~Kqcap6xhe(Eo()`Nw^2&q; z1ajWK+U?YH;p!g1sLw^l$W;k+B0ATW!@Ni7OG1;zqJv!Vb#%mD zOVIW4=}IXvWDVVMi2X4ZRfEoEhNZ6sT*$_1IutZe-lrET)!@r&5-k zb4~ak+sA_`Y+=R$Qo^QvY^UIvF{ayeXp|nRM5a^*a1@B9^Qp6~n<)`fNLHjz_tL6s zJm=gl=M_#DhbyoV@!&;-$==Oz<3D#>!2MXH?+f6ZHJ~jtewcl?Kav*ZvP)7$1`Qr@cLW^3yJ@Bdb036ZI~U|qK3C^=9OI>t ztN|>VkfEv%A9CF~#&d6cYoZ);>Q!+lG9L8-9%HjpP`Qg-bm1M(xIAJ@)rbSNlRtkK zcDKj@&v{|e0evQ0ks)&X(MC|dE{&0%`ku*;jRZ21HuG~^!|9b7TWq+ys{tm35DeVe zCxU*O@Dq6}8gTi*A^lpcWtEHCW%NiI|6`3^Kl32gJmYJRcU`T{d|U!@MrhrTxf@`V z)?WNR!C?UHT2e2$H?v9Q2inxp#r_h|UL&AlfB^Jw_DS!^`i&Oj4P7_xQ^pF}$|**A zu3TRw=krWOWxKRnvs1I=Bxl-E$?e`We_|O=DczLowEK}h0T}F#q@bAaQ6GD02QC38 zwljW6_1vx$$Vr>Qj69x;S;jchf=A@dR5fJcg!7cs!1?0ctXjS8y@^fmdlpp8vJZXV5$J>%?x2p0T%k!Yn z`~W*J881}`A0J;+_PCOb><*ry2vH?t3m%%IPA*85L+5|LuzmFRsU_*NthObhiQ4_O zqh9rB+He(_crKfY&G=&=Gv@z@SCF&v-(ifwUSeJy!$OlvmrNm_ofQq#tUh4PBYHb0 za||LEdM+DX^bU`Xx<3D%VoM$0mxbc#!&sPzhaQ6=aYzj+f&Fc_@2bxwXN1qO@i;a-jR(0I+36EeesIQRTI{Uw##5%jq_g_sZA?Dec(rV zR4OXE4VGdh12|`v77G3mp>Om`O1IR@^9NC_gr#M(bUukivo~r?G&g(|?6Qv}4vl6_ zE=&V!@2=nRbZwtjyZ?*VO-LDEbj(s=J8xtRgJiLoW+LRVOAccDw<1`LiIXCmj_vbYin|DCguKGElCf8+dG1uLXD zUKuI60Gpl<;6NO`B^HxjxDFRv3nc57s2|`RM_K|1=9c_R5t}amS750^1<7A?JcTu) zI`1*wZn%wnYc9=8JJT-g<{}MMakFliSQxs_raocjI_KC(48&q&igz^Q6C*vtlY3g_ zP$k>o*a>Fjjx%A??{m3|gM(`*9Yx1@Zjz8=b|3S1I9+V0wN$O>0If59ikM-dyD_y( zkVFb*9wphIbw~|<&+P;%xbt8&qAev(ztN@Qjrp|I`nF=tkFuJE~fsY8Y%IS#bZD}*BQc5k?ITNqMzVV9a+TwI5eRR`_ zta#vjb*c)cLq1!|yJ?y}qlplErUGTwp3z3vxXhnsh+A4FuzCpQxdC-|pfvmU6-Fdu zZI??&!i7BhbIP!VgozZuOTrQYuzO&l9dx<1$?rHQ@%;;o62rh=_eSERKVjuw4rKvB zT48%mS3}x*7gti;t<5q7=IkfV4s(utm6YTzG`lp15(FvbMI)LZyvSN9bo=k&_dR1 zuip19@EcqCoDB#bO??pQfknuz#l;w9N}QhzWWMLFil^&WwA0qkHRC|H)rt5T4`i7T%uL!V|X@Q&o{9Y#6+kxb8WSy{&+hgUX*NHDkDy)wPG zAr5Jl9a@|oo#39O2xR7}S$6Mkf#7kqUpMUI34yIfKEXb>Ll&IVl;A)gt6dAz#^#5p za64gM?jw)D4&KFjN#M)lfqI_ZWcnS~G2)81$fM&YY4=>nSRRFrz^(0^ERNv_Zad6Z zRM$Cf!nSfzhx-#vzcU~xa$mZBJoyMUbz9o=6&L4;Mcwcda8%o0UJ&o?EWo&WD(g$U z<=Hp90~!TdAz_2^Gt+0D@wO0FnKLf_cO1#dt17#oab5vIYPPXUL5tL#vEK2Fw^ja0 zH?)?tHG&=^aY6g&blV*$OJf2?mm*sdKdUC!T(j$UhN^iLEhP0ZY!B z1zhGEU$C8#U%~7dD@DB{hgws-Z?>KR3KmQ%{2fnc<&{eA7Iw>u_$c8J$L#J>qM6bQ9ype%q2dtl($uZ1(T0GeZoN%Pp>KEq=+fN^GgP*;*jTq$nvu_Er!gUmzLS0^atilL{RW& z2Xo!x64ytoc8Ah)5oZ|HyK{k^o(FHrS-}VeILfcEvU;lP0(r#gR+UA_;|r%_Uy)z3 zcJ~#~=&fsE-Uv5(pUNGv2v_W%ags5(kFXiO#e80A01cq+()*nAWJ@fV{fN0{1@eP4 z^blBS_9f0Y_?w@M_9vG4vD}&mr&(9i%t%cXW02wEh(6>9hTq%eOc5WH5yde8* z%q0ma-&;oX1Z`f`9#2_J<|?GGQM)kKHtO0tmadUf&f^~wh7sLZkr;Uq zLuyuZ@n%buf$*Q^==CR*Ua?`Ns2yD^|5}lBF}%6{Mf_*ZjOE05$*eo((Sdu}Dz>X! zHx-@5o=UX1;^UHhrJvs62N}b)Uf*GLTlWIHQRO&~#pbY1J~SSVN$G4SD=WIs??e3X>X)AO9uDmvQr zIhfA?V8UdGc{FuOeirDBIKe*CVTv>)=I580%O$?g%-@N=!WwS0w6~{?I-$zkfAVA< z5Re4LJ*bPuc@p}k#ryy@Vvi30cg#-Q$WK3%yHcH{#)^;FCH>*{p zI(WJdL*T7E2pbfBYyc`h533Azx`q9Nu%kf6SRGGAbmsFO=AMl0U3FF)T#fc8%GhRH z(qlw9_5+?R7voK zO-HX?TnM-ov;1y#1q=++C}-7Qmqz`UE}2Y!jkfsh_tB6*YlI~^r+A&uK9%6)Up3h< zEdxxjDkNW*HfCdix%Mp6!3%vHAq6o2^0HF|AU}U`)f~&zx;@Wr(Pcl6rCM)SS2CHX zcAO_;5SvZoP)%_hz z>A}bfx4j)UV3iay5018>muu?KBwMkH1ias8ca}EU?31x_H6^Nd7}t0vntWW8zUE#= zcFeAcFRq;XwMB$@Tx%)owb+*>(&z3X+^2?3#}{Pfj;Z#Tuo~F4{&F>T4&>r2o^?S- zE*lYw$#};Wf*)<^j)Z99-ITL99++{K{3J{8b)d%<17CTMO{L9=#GdP);?xn61M*vH zr~NU>hMx>ktabmjx`&CCiE6k1hsI&H?7xh-+fl+-A*smD&?9R(TUFX=lO7@Y{eiUV zAWVCZmeV2%|IfqW_g`qEa+UN4(+bGe#DzI>dB=10aIS8vdCam1U35p3X2jb}`#A$N zo(Z*Lh<2Lt+9B{`Pf_PC)8%<2{{+&H6O_iv=&sDUN`xuzVmP3MOE&W}ZM&Ug&N;He zM|{iOJ`pCFn@wzA;e?L4l)ChRRNDMhj!PRTlUqk4pk>OV`zv2e)6^L)5@L`ZV-^I$eVhnAmd^#6>{VKN-qY=QJSd64C97a{o;UQ-urrd67`zVB8 zom1@_sdxMtqv4vkIE5pQ+tR=39k!zh$IdVQAl7vHY|#{49B-~l<3o&Bvj^+f~mmtBtY128B*XN(-Lu=%Ytmc3I z(7e0@>DL%uiwBY?SM*B$P!-)SYO^o8pzeycNG1~59$85d?_4T z8w7~hN$~Bo?!JHor)SIB_F*Hd^5~@y_GVXMdr0WMeH20$9bC^oLBLZMFSgZ>k@=Y0 zxM2-B#~YFF&=q84f-oI>52+B(wwE!&$2UbBz3#wWG3=WDTf1{;CY(%YyWRN`1#<9_ zP(X8I9jJYL#Flqit(uO1#0aIm+42RPy~7&ss>;}QLAT!(d3AW%Pwlng_0*6r+G{^1 zW?M4dgI1RVp!7ddbdi4CX2ev+D?91#Pv>_fjr2^|j;SM8<>XYt8uC$Fy6R$-NfEz2 zBRwXNvm*KvNxvZAFJ7?LW)_PSA<;Hd660|#8Scn!qCt>VPBzeQkGW!}_?%+?{o}jC zAePbB!(BYsz?&RF(LsG7F5JT(cQtc)!ymQ-##ONBQU2tDV7vtUh-%aXsw&+_FN0u21s) z9Y#;fkxH3)yXn%k0)xfA$z`BTVcI4N#C_%~>^=Xa+F6F%{5;uHVlOjEyu%q&DF}-P zs#?o|K5jO_>ytQ7@jOq(B#UTEMc@a~{9oT|S zE&$%4UPT1;uZxOZl-lRiNcm;K5#7lmVx?-u>^rK?ysxkqNq2D7ClZQ@3Wmovm2T;k z`gPRCNzU(fO_a*jVYczViwEcbYNdB^IW`ZfH3fU$PE|}4@g~GF^f?w$kkod@8!4EW6CdH3CN}TklG-da4OjlD)$rU*W{wb|sQ?`WUDU)JqsWB}EZ*ZTJhQz-ooO&YG0mv1|0q+|$@gy*mW!ud`2#cz)vZNAP0<%Yvn zf2~#lrT0Y&RzPXIDy`xGt2w??Tf)lw>7c13*ID|C3I0ItJOL2430OPB`vL`P*F7Q= z&&U9^g56;k@4!Y%gubXw%DA*LXDk!2k>ipQf3iwghUpsgUW=b|xXSdT`bh&Ld~aM8 z&-nUJbeHSmq6qeR1$MDSq9>gFJJYT0$#h9R*Q4#b=qPRVmL$?#zs4(fC?hXkY%2L@ z=h7`Q_Bp%{M8*%X!3ncsBjQqP*b8p1C4j;RS!djeC*&Lh>bwIQLwab70mqUBddl_L zuEmL`$HmZdjKtt9wyr%b>gj=5rtj^3a02|x z|H&^i`0lWvr!^bKOTH}=BlDA_<5}|O^-4$`mfs36?5Ow{%Uu2fVRwmbtXNQ;GB83>PuV$^TU zZcl?{pMpMq>SrsI(z6cMiQoa3rY2PUgvPdqPo((RKO`yLK1SFVUQz>ySTuE*tM7Da zm=!*@7Iz>$-v}ZBaO7}c*$>-=v;7J~P#_7N|I!@e7-ux)tm%tY!woxXg^V%rF+X|9 zTh0BBZ1l@)BoT$(Y%3Vx7gxKFT7`Wqa<;c}uajE}DDUd)lZ(ZYdh`!(s&p<%>1d?XX{qd}v~E=pS3g;l?cmff#O|Q%nUk*5LX2C*zMNv!Hge zEqgBJl8Z=>Orn#E#7kVvYrwDz`Z5b?5?%ciWmGt09gcw_Jby=@qa+H2esap%b&vX* zN!J7;T1?ZG!_K%6-HbwgTosY_9yxgFW z((-U?h*mAL2047FP@wR&Q!%f4k{0`e`T;|^qwB}1C|AdQ>Db#D&v8MN{WOrWA<=!t z_sb>94n&(nVBPeJe>oF&E7IZN%MxJORzavl*N*=?L1DIiW~HNj^YJD8p>i*$7^R|JrKNp^SQh*nedk|^*553}A#h*P>YkJL5Ij0--E z8@av%>ipnVCUe4RUZ;F%!t+LJm??2CcFjDJt#*+F;$)Ht)7k#PIpk`mDwahF{KrOT z`_%hVP$MlBrEakE*04fGT~zZj10pjgXJNTbP)GrzZq6|m5nC_YT8irvd!|sHlyv@+ zOj&L9^K&Oqn%OWsW*L#Vrpg6W(F8%0nDH1RKU@@nMV_5HQ(2z}{)uNCpzB`4_=YF4 z!HsTkTcEv01F|6KZ{z@#Auco35<3Vx1?zBRdW&c!lOsVb~2RAR*7sana?75&etSjS6Dws4mDrkpjW1`y>7Tua;VAlq-P(N8O&-GCg}XYH;^_YP{5 zNAMF{eaNVM4pIUiN%Cn!E3(VwG&*pl%fPH%6$maY`}_#`=2@;+&Aq?sH3c+2w3e+= z`+ERFnk@u#K#eH(w}yLON{QOpayzv^_En=G`d(bJ%Kp}|YYC{14!@GA&-EIJRE|EH zk?7*Isz-mRxcwvki6-#^d2<`4meSiRUq!XT7z^;TCF%I`u?+WcsTet+eSL?M!%!@z zWt*QDHU*n2dKIXmj(=-)Wi;K?cSHkTavpu(cKCJ91T3}yXVD?>i_g?S=E;qB9AqLg zFIwb9{3uGX$62xOi29{^-a`+@oj&zACFAJ8sLYJ~Ny!Nr~K0vcfkYpH&>;;L6Y zttTtqCsRXTD^9P-*L2E`wcjT_W}Xc3jwNqfMD6Nqm%}*G@FR99%Fkafh^DZBDCy12 z6$C?s?SFi|36kVE&UL$?aG5xY-2cW32O`Bwxo17I_x;_~m5~UE0x{fS0w^5^qxY}d zu*j27EJrMw^Vf3K!VMsmhBNzSVs=fpm+i~3v+hqUH}E@;*07rZcqmj$?BqB)1b zt%&V>1v9>^e%{YU1c>mD-`1*kkMVS@@z&ey0-DaWZGsrEpKm>Y@Cw|X@z;s=V1};F z1qG4lU#AtlDfZe^;*(kf-4&TSCpSzO#jAaMhXA8}ejw-C{$`j~Gf|$eV8$_qcjzYG zN*+u|*V!o$a?CwuU7~&2B~S!Hg=vw3csRw>-s{stV}vyLJgu*gM*8WNn(37koDos= zkzJ8*V6uRkGpsa~M@@hZwLb^Tcs$f4K3!2IddD)a_MY!C_l7cd!NN6sal>d`W)z3j zJwn(GTAy-2BO-``!EG)Sy-=iI!Hn9gb81=E>Tr{b=*4dFac3`L0|6%tow27p$<+R< zi|`^zG|wH2{A8qeJQGFM@6>!A_xml^j`8QYT}mmi^9!K)frVm%qej|RpuhtbSg|GJ zz>H$GzZ#2mRL>l-dp<@hLr=16uqc@WLjuc5BE|E;3~y8O`4H^!)Ww~WVqtziZcWj} z4DB7#xVU;_s08O$CWYP>KZeBpd_k04l2=636X{TJC*|fplz7J zS6tUQvw-Jo=z%gkvJ;LR#h8B6!yFB_=CLpjd-=nAP z-RjU%6)Q8TL+$@KD|TJtx%gmCie2{QMaj-~zmk7fxtdV74!ZPtM>Wtw*0InUx*qM5 zy^~jI&*Z~uy;J{pys!_IuW=JOHEwfk<$^jl&m2$h`3~h84=9}I@B@wzG^aIk5kr7A z^hr+5PM7Q=@Hmtm6=DU4z$^<+b3#eXj_(ug%U48getIwtGaMn^&wc_923Ovc`~8qB zectMqfVtdr#_exAR21o|l-$oiqM&!KAm(>W1A>c?-pBnsn$Dw{fG{y#$=Nv>x|{wu zP(sNol`dc1a63bpri?So9bAO-Gkga%uilWjdhPFj|Slo=9aE55o7x~;j>+_SEBYlEgZdzX>x zqAK)`Yj_E?;9xvt9b`UxZ^YZSw<$<_^`vZYI0BpWd*$h+yzcoALQ^WJ4=OLQN`B@Q z@4#kUmbM+1sLnA?ptNA6{$@v%R30W%46W}uVW4gAU$kjZxsa4#-+2FLOX3k-Bcu-I z4-cXR3`p61nN{8SmNZ{VM_^;s=Z<0jx@H)F#HH!PeE(Rsy6;d12g#ntpA$mTCJk-Z zZbvI^?U<7*ns0t?)n8iI1{iCuu9|NJ?y0S*v&g z5&H)ax`$Y&uqVzc3ndYC3fv(F+n^wl4kh*68{W0Gw@=CCS|%A1mGPzj-Z3PRrBA>Y zagjY~PYz+CzvCDL`o@E}N6U{aC3+**D!6@OvOc)r-Nz;?p51v>gc_~E?#G&4Wu_48 zFL;MC2=p!9IlFG^hiHHm>}!|Z3#v#o-eO6F$JH%~@WAx#O{Yywn;~KW@`uU}KRB1jf zGB!H?GMtW1S-yk>ACVi_^07nn6qo95JE|yMD9*DeoV%j4&Q-o*nunS)n^x;u^LG21 zD0YJ?<3hob8vta=AynLpeneFa?PynVers+lvbOy1aE5%hU0fVyl8R&$!C+sV1vtF0Ei#qI0Xsm(6d@_q=?7aKO z=H{NHPw#l~s#VpQ42pOYtT5N2|_al)-u*J7zuCu*<3hoA3lnuECCLKoZd zcHfpqz9zd4&Ptye5xmY>+9vWfV_4;?MMN#syvf`6lhlRmaK7s$I1s;vH^op4 zn&vNX0hdst$9sMLEE@S3MHulN$t-B|iR(55h0Vy*$Mk~7OX!zb1u1w|2c{K;F4?zQ zUi$XHlb){+V~`zD_l|1zw=foScD=5p8^$48jH%?F*qdQcfOo7J+imoo*34=L1d<=C zXHd7Q5~IO1*u^838&h577eNyw(55dVCH670Y`|!aRI^2`jghs5D@#Q8n-C^%bmI{v7+R{aic#twUh84E#+ro!^^?Xe(Mahf{SIlcOL2%Q ztSy%B8wzEQ0Ty~yOWTy`)jCxdR8gIn!75+~IJx5#jItUCuMp-~J^P8pibm^>fN@N# zRccZ?YXCe;n$TU?dHhdpksPF=7JM%C(FMnxT7A49zG51s8T7>Ly8Z&Q4;YW2{x3s? zxi=(EP;ua4mQeGX_Ph-j)czFKvWb1`bOzPdnYyZwc{7 zo`#4dG#oX5$}D>9Zm(_6#P2b7qz& zPr97axE}KpRPj0Ew83o<6*B~q>(UtrqCziGj|2)LsysrbMp52kaZ>HVJ2$7utgU?E zNBnTZ95K!2Y>*WDrY#fcNL3cWx0-8qo+uXAZ%}!NVL{?=e!x$&fYo~hq1V3eYhCI@Ryph0XO0A6tnviviFGOV^`i^FHWDpcx_J8>%XFquY zKxWL*1P{nzmLj{sEM3~?fhVAd?&ehY9|*<~%J{4br7#Mir}}dR=>88^d)!?Rv!oYg zIx?m~jI)z8ScRTt?RG7*JGkSYkEP6DNX|6?RY0o0`Hbv2YN%tNye~^3v=!^ISW*dL zJi&|<N1Pl<|&f-0X$ie1f?b<1wwVtBI)akxDZhJ@RBW{TN&GE4dG~1j&lcrQjnhE4yFeQa^L$*Z7S$y(5~2DfV~&xp|Ka zUM-iQQ@7w&5t!hm2!Z4@#HWK{qM;g0+%W6?B;14km6nNR4uD`FCcdK}qii=uywn;A zrH?GgEq|a@n1aCD4%sO%0=U%4t>KmTLk3~QGiK72LKwRRD$hmQW$1P)OEdC)BvscB z=y$6vA)XJG|5VYtL1-y@dj&`B{*WG+VU08m6%m5lu1OxSipx=rls?%ZpiO+NT(DxL z;e-TA&H`U$@}uHjbn`L%kQy36T_aK7RKzQ7(gl$VI;Bl08XlbNG?R}L#h9QnKUD8d z$N|t|&u7HJ4CI>|IRhGLx>}mHZ{rY=9rZ_-zZ9neztlH%TVvYEh*m-7+zsRgU8~rvX9uW5jD4fr5FadNctOz( zmMF`1oj{PbK3&LF;dJ`nQrUCiC6&FQArCsVegzdL01QGR4S>`ZE_|jFa3}MrNV1FY zE3f=wF?%T;0ST@{5LFHPNr5)L;|cT4c|D!CKEwZkNq)kmXPqUkiwZ**Q|FDo+L)py8Ywfr3gitHTcRX$8 zrGATi>NweDndB%}_j?c|lS{^{tbD^5IjB@kglW2_c}TscAN~L{no&A7%4@`3m)r&F z5P*8tij<=55GT*b^r5SnU4kEa%HzsZPeJtm?xmkn)88S@88G}rrqY`ij3sW$WkGMT z6;C^4C>IDnqTp_a8+EA#+AfHSuKwDNcEgoxRp@(A^%6-G59$0#>#wVtmB(2j&n zRp=&nYJE5l+{IginDAXxFOzpj6CK+;Yv*lIme4v;_vadzkVsWg0O_3~!{1IP-HCjT z{aqNk%{rWp`+fD_fsF2>(E}nDYv0C_W(jULYNh9D10bNla(}vK2ANkCoFC{pY@~#- z*=`%cM>!RF3YA8AM>VKjt=;+BODZv$pvWr95c=E*ZxKZK+`{1sJ@tbvkM)BG&>@Nf zpNa$G5ALl+W$j!aDsgRa6*&P*I>c&?xLK}&XhN5G$pFFrjhj_CYsB52_0HO|Ag9>- zCI^m)W<}CGVKWI4;3RNj21r?GAsnqsO^kCnp5D=F@+P=ghTjUeO@Qypw*$wBrO&5B zvPNx0bG5JL`_nWoX{y2iM={(DBOkRA;wUGT(rETQ96zL)JPw98cO2c)H0a_|1o$89 zhpNmdR205@PC{htq&J1=!4uV0&O502`bgHK-6SY0mw?UMfUyKdop;^p$yIl>Q)a8l zAYH_5{NGtpv-#x*{|;#!ZP<&f5gs-SY7%~tE*JQemSa6nOGsJ0 zUS44gd*s$>0=r{bWH9Zcj;L0rk#SiTvORsxw!&6j1Sv6WpB4kSPrg0d7|xi~cYu8BtAs)y-nG z`$J0}mm1Fcxl)1HC;osv62-?-`T$kEapODtWM#Hl-VNXWgd>=_1@7&4+i1z`6!1x8 z6uV*ed`)F{zU1u_J0zJa!w<)8aLr}`0bf^LUCS%1_^}VqZbf%xIY$9UOREo;^)8c~ZMuE2 za7GvAvFuE+{M5TVyXM{{I`Xd8QQHsa%@Nj6C+JRR+za^|A51GduuA zKYrW-N7h-EwH+ZR&?1~P!!K#J8C4%qxk5Ex*z+y9Wv(n^u$)wdrF$D=&B@w|SE%R; zTkV_%an7;R4YDZwFnkyRjdHD@jIaUuNOORHoS=xJ<2rO5lp1tzf${{Tcd}@|07yJk zBO#%*18e8{vF!}vBY*ah#<%aqTugdmRDgr{ZBM;b^)3#a=tKB zf1T})ZcQDr@aHODvJQm;#MLI+oQ{^s+NXks7@=F8xN(T>Ndvf)DLn$y{aSuZdo*dn z2>N*^Y%1b8x5i>PU9qdK64ja%)fMYZAty0K1{}V2>J1!`tZ!K1AL+|RdPFmWxu+m~ zW17M?2j!~>?TReCxD4S6c0`?>)CMnMRY^TLXC+7h0x|RYRvNuS3VD9>r0eLiO(rckK1z#=EzRr!0zE^&R_n)krX7=+J}ZYAEX)Hwqfzp+eM_aGoH~5Veb%WiKoGH>Zh)$66{+LLhVtR0g(f!*yU&U1PI>oc@UoR4Y&=@PP-$f1-k zRhbdhSQmBJi}s`e6UZqJ=!M#2*~)8>W}6`)da}pnM`#)U5K!Z%0dQLh&CWFnE5A5` zcUaG{_N)yiOpKu2_C|FY`I24+j+u^LVd=>EA~UF1J)oCmsWt_A-7m(_2q@3D*H{!I z6t~*ez=Aep9le72r&?CzKSTt%SpC=7R>|mz9qLXG&?E_d?HyE^$J+-YtY04n3`a#? zJH8|M@CwH16sMbu(bBepmR#LNkj}~7RM(8>9ne@ecF2mwwK(Qr4}%#ygE z^EN+eD3?T4_D#$QzUY%PqES)DpZe79;&JT`M%7&s#gmcY*d+=I=dM@XVLj<~{bECT zig}>Mgi_qVnp@`POtX$sHcqethTXfOs(}M4_nf|ZlkRrGlT9X>4J&}>B_@d(l1Pob zqiXXod11}(xRlV?cSfB++Fyn9=`#%JzTRGAa_ZnC={6meyQfKXMkR>SX!=xEjCOaJI5>_SGHtqr1PwIK(oldnTjuz6Z4RBTP519k~hr( zzB<>iU+a22dbAqgL?;zfyHE=KsR%NHnq6WfNh2GohAa&o&aCtne{)gC0JMa5FUen# zPM2+2fDM>pY8(VN_mGX{JEk;aB1ea^Eeu@GcY|M94Z^tmnHv?9ZiM9LiCQ_#cA#m0 z+rpw2_CnwMn-R`X-?B&h*Gt|2%)uQl?bd##K7V$~0SH&IF0)%KIdgWT@4v`{y+mOl zqY!aPJwTSk(Q54--%$-zSWlj>DUNh}hnTH>vsFB+VKh>5Uus=n!=bVq#WUmvoWp^& z$sDj!F#Rgn@KGIk$f=6o`U%kLdfvXO0*p|q97pn93t!IYx^MI#j(C1dg*f1K)6Vz` zY1|?y-Brkj$O*0(u7Gx`-9xG233$XQW$?Y9bo-d99n}YgU z3Nw}{uO0PJy*LniTV8Cxn#`_KfpvQ>c@Wko+oXb;H@qq4Bb++Ju_h4R82enFX|FRPRPK^V)~3h(d}b7_A{M#<4OILEc{mn0Bx`nREd?BUC$` z7`v>v%DyDG8B+SD4$2sS5)XF7 zCFmCP`5ntxep)-usC(C7Mny5%(OnmKJgMgdm}UR(VKr==TZVjFI7B7QW$zZ3Le$mv zVoE}?yx00rE9h_)?MEX&EK}bAxYPbO$wvrC#*M>>sK91RXuV@=;&A=pc^(2esjTBv zKl~k4nh(k=?YKMVpjXB|EGcn})r?B`fBXiMFA1B0$Fqx-S5TX5FyaSr!zU)am zLI;vl7%qp$bftf}jl7_ASj?_p*fpa%+FxJ%O(!J@|L~k(P6P zwLH@zfO*D2$5!ZN4yWinM&{j{)!#d)A(+~;r|b&(Q7Q}jzbMq}Dae@_hzLtN=v#2; zA4mGCzuE`KnL`Sv`)n_y##d0I2^jW@P33hdNctu=WA%u8;EIV-bOWp`tMuse#wBXf zSs$qC<>g+KLgRf0HCt_Hj0N@bC;taFW;JNNLw<%!unt=-r=-o;{kDCIX}tHCJ1m^$ zJ;hrPn|C<#5s|S$cnP@Nt8HqQrDYwRE3;PVMeHRn#=N4YXg>lXlPnw)^VMI;5oeKE zXcx=Z>^?z4Jvz};@#w2QA_2E}b=)LMNEM1ejTE>lv6K<<@J!u;EAOl=+&h~2!52@} ze9q!o@ClBqtZJcZ2bu}~mZ`7Jl>@F8Lz(g4*e@TVUHGYt6tWENzG52J$IVH?Y zCt{pu04`A506zEaQlMv3jx=5`z_?nTTz%nKrOi$1nW`$ew^Squ@}N9 za)~+UQ#YNoz;3_WY zSL1ABNvx<>+-f;xYvpA5(rzp}f^*IaFgxtHw&WF?Xyb$S?Sd_Nhcy#X^>pnXRtr9D zUlMsP2#*^^>_$#;^JUe;bCtrLBz|?sXm5^V+e~^{<)1nOthhlJ=?wjh*P?h;cXAd) zc|;NA$s(zf>)c^`%#OrT=_0cMWXqJ1T9EZvJGgFKv+GXzK$1xsTf zv7_y~_A+?>HSmAOHJ5wUv-TA>6GuDUtoyp6VaNH_@f&dRBPa^gc>s#IW8ow^z}3|W z%TENv9o9TdUR~prD(E+ik61b;DStpdsivBhWBE{V5Qc5Klmsb_rqJ4^+w0RFK|;z_ zX!N-KC3}^mi&Q;=Qhy=R1-)=d1l&O@YUd zMJ%y`HBp>;0g**Hep}V@pqq z$m}C*WkM&1G7F029nM^Y!f?dlQG#LS2rNKk$)Y>Ft-`&YZoIz4ADke!aJIgh$wH|)4D#UIMz7^pJWJmfKH0EEz<~O4=fo-!i?D=f6LDSGVNN~+4;x7 zN;r$}pxQj&ByC8|D*fexTy~MG>}Ym5uuEk+7`=&IuA4Eb`w&yDHDsx9wsfGOA%Rt> zGbB&gEXSW>gdLrf^eDj+m^W@!CDdeli%#ITr(CjwS(gp z*ev+YOe%B;J224&(8t7k!;i4iRW~;$I4LfYjpMFZ^^U2{Q%%ms4NbO`ysP6W^{jqw zo0yxg0~D-+MHzk|OFJrhZLr=~WBc^W?|nuyKKXVsK6LrlXJq+zf$pxGm$pR%ctMmY zIMi0s+08#_YJbtCd+qHm8(M5Zjg!=F=rt^-O-Zu4!llTAxH9Zw?g6OXNL4rd zS{-#e6J}i%T?mb;-})<}$#3lN8`=9%2&}1j;tI%T7{ijRhn^Jc>6p1NzLe&G~) z{-ULMI1~2REMF6OP0I-8&mFt%`b>`>Z2*m4H#Sg0-z{&#r3{a@^%Yny2r17;8?oq# z^*2W)<0vyhBXAt8SiJ;t#nI;4RbrK&?R{Ot;nwn?A``z=Hr=IXp8a-up?+Txg?Wzd z2{!7soAnp+i^2y7Ho{MzKi@rcq|UIv55>~D7LHErc>aAr2*>a5th%x5h{j$D>U6Pb zuW1!GT(=}v&e3UJr7$c4e+tofEEB%cPiBlqRx4>#_~NBspK~*$ ztiF}(MCv2n?j(XJNVuav-(qx2W37|l0nKjjLxSk4tmk9_|6uegoc zrsLj$nF*n=BHEnAM(Hc2ajXZ+@!Sb93BKtS_mv~^<{Mr-y4T98bnS4XU%M8 zS7N6d`GH>_ei;WFhGTM3A6bEd2srw>RnY^Ld169U`Kg`Y%pbZ#?OD! zU(gQ2vuJkcujO|2Y-6Af9(5Y0-R$1|BEn8)H9*lp>gSKj+9SH=1M;NJGDo%pA7Hi{ zYYS{@-PqKCxUaP^wx$s|sMY6n>}+JcQqfEczmCuyPaE;vUS9yv#gPkFk3-KCbv4q9 z$^_$ys3I!$$5z_XHX=kU>lwd&WefBUtIZeJZu!rBT;VRhNqv@MxGkZVLQ--GyDoZV z?vK7k$&g-I5AcIM{Q+zHzjf2dhp`K#f7@=*~hum&i39P797i2%Sg2<;WONa;UyC9SX2#;sF8AUP&`Uwy ztt~AIsyH@5m*%E;d8v9quyP?Ij2@wZip_|7q3iyciO;d$oA1Ep$9AXeF3;PJbj-W3 zzuji1&U`Fi*WIn&PBj4IwVFXIXB=p>pBHrM9m!o=TO^*WJCnDERhB?;Z`#rvXg02^ z{D>}hbKeTZU2a!@&^fwF-@WiCQi#V_H1qTF$u$kvrb7*ncT*~hxHl)ozb7CNYL^*N z{8ouaNEDkUbz%aU#TES(RX^w3@)3wnuAbdR@{BZ(GnLM4C<+ktBGU|79(xs0?KPl) ztXru0fMCs#-hqU1)5r4SsKIDXAh92}5!B&HWx%d0PCL?9*l4_! zyLS~98dQsYeqr$^Km>mYds7=CmJLr)&yD=vELB%J5NZWe5FYRdk|>HMgvQzaX%!E1#L zE{M9~0(An4x`w~PBk>Vg`6UsWB%xhDW-=a2n}?cZY4UmH-0kE)0AJ*;N5;m^w96-n zI?z>pJAPhMOp=QFJeGV8KWgi|-NjhJl<$z{TOvKbcCei1{L(73qkXJeI$eiOHv$uO zAvcnm*Yv`w<;`LE9ZDbNPrQDgW8eduRx3Lv^}PDH*U&b%saVE$!4P7FaV)IThvnP` zb^3~Ge(}`OHSH3U$=wE$pi$hY(E^v9FNju|14hR69ya}^p6TvtMxx;Hhg<{Db&;lk zDbaMSAHld()%AQwHqVi#>oe}mlZc_Z`aEAH@6=otH3}lO>I0c2)t0U=$?6KpL18`T zJESpfNOxV`cI-DL#7hDb_W7Y$>-Ov zG1=Xq#q)gl;6OK*Os6!eZ9q&8ou7~qmvLVsFO38B_f<8)KWAF3kZ z)S^wO^Mmh4ciTE^{~fBw(MG~t+~^ZSrcGpp{Qyg-pS)NPtd5V)X^pJS#bbccqkPUN zh1AVV+5MQ-mr(iGB)@kail_=#pTf&`_73KnPbrROQDNhDs4*B=qiP(_q;ASCV!0+S z_r6^C*7S=3tLtSY!vHDDg6kd7tQ}!9a?M(8D0qP29H~p4Nuslq^ip!SBkL>Hp?6lq zB|HGg0nGG;Om5{wiK2i071+4`-HkD9z;f5uEkZo6yrt(GD%Fekb?IEL-}$(G(YP$w zdaLe^@l8qbDEg>lGruNlILp{Gt^K(HU$0A_8AWU+4?*!d*(aWDk!mtMNue|nPAI_X z*|4;w(DjO^hmnAs$jGo|qsT-^GdpV$+*w!oJx;KYy0NWBes^v9Is-ffJk^f+wg`j1 zgNoz!7*32qQGwCle9Jm}smPV+!o?CbPOu`rbD<0)V0IF9+-#ICq%-CEd0hSfHqF1k{+L$bjN2xbdjUU24}&Ny5(h1#(9A zf}dOLqAuA{JMDm6#7HjsYU;WDfz^w?E1W~rAd>jH#@ilv*v`B4n}#E|4+Q z-`eS#_TrxMy11F6Xgnpib&}=vE3EnAEOkSo5Caj*b5U$p?0iGuS+CV`2de6DvA9Mp7^drZ+9PlVc5cLGOWbKe$p;NfL z{bhEURW2(>MGD#1a<}VC+OZw-6d8LHJbAJxvL;UBMhS|pRN20b#%EZgCvm2 z+C}<^0)?nHR0{GBVdE8t%|;eF82StkdG#Gu8M(W9>D|D_skIx`U1i9&G;q93+OE~& z6P~&dFODd`q$2SOMQ>iFz6tzun=CE4MlxmF}&tncJWH&2$QrwGx9BTCGMA?Jhb7OgGx&X>Dno zJSCdGzS5{_$QIn|_G)rLy`#HE!gTf{q*diCqR5JbuVDA=tKPjq$m5{q7S-ZYZ&2{u zuLBfQAZdp`TD}_=`k^5yX7P9}Zckp&7avzH+yEI21X1-`_ErIsq-Dj{JO3av?80X zK8?@&ADUdOVy9XU&n(i+isVraZna=n;N_d)iaHcdI!*cK9JQO^DD4X zD>>y6ij@vtK2EikY=`AEqiK;^M^`~LG3*=%U;eMYu3zk@RC~eO!~Ro?)}xwN-0kZK zgj$!JF6StEpf?h`DgoK;Ll%h_vd&s#A#=ivWnow^GW}whe}ywnvojs-ezosVE)$Z{ zZVnVNrN{DlnOzn19TvLA(Of%Z6^Aj=Idp~9`a?y?BbuPB%Zu%{NkF>0ubsF>uXIz` zr_!fXI0Wj(d}>2OD`vQcNLmx@%JHCba%k;us=;eLvTF)EZm`us>g(m)srCip6;h!2a}x$F29J zkP{r&^9Tf!Cc@Iz;B?1BWV)D~WF^tP1Df&NrZZ@i$)}Of+_!s9*g53}#IL&?oF7Jl zODB)fN!Wz^>|KKDT}`o1xmOMG71X$Io%@J>iQRspDv;gVMOifV=#FdiAgwMOCBiHb z%6JdjQkEUn=n^>Pl$F6Nu4mT;|B->9Oov?jJ!u_TA)Tq9VsWSEwF|hqGkt_>9kUBX ziXEA4C+l0|EIKCzM36F$F4q4F^`b5YNUn>?i@E$38*!cifJSGqS31^ z>6RkEpa|*L&NexF?KUk5cY$hAb7P=Ye^uQ?6-N?pUP0PZjruz{XDo}3k|SC-YE%L8 zD_vZ2<@F-oIzAO#%Li6Mnl8gDqBPI8Gi!EccFHyKsjMMMC8Ixpe=B4uY(xe=Dyrv?mj{9d1_yJ4P(@^e?)3bc<=0eC#=anxkH z7**4c_TQ>Kp(7%+s_T_^Y6dG;$218f{ni};*0b8d+k5)j`3Uz0c-aVBR{^$N#G;Dxtpx~(-HjGI z48&Lw{^F6`QH?1Rv`Ab!H@yL50_tYAb}uf~exT6Vt~V2L^1Ot1Q|_EEFmE!r$nr`= z4Q$ahk|yLx`Xzf*%Vjcws$Ub`3NBG5AvC5x-+#;;84`?r#ZD`cA2=ntEbyLrco<7G15)e+TLaY zyjMXZ64XPP!R^?(5S4|;C`woKg~?PDt?YFB<)rY7Uhgr@PTZ-Hj+0r*9;hO!h(+dt z$i=M*TwzF?H%l?Z1w;~s1Kz|{$j5@eC7SMd?gMV!iM^)7GEC?Hi#Mpmzc)LIV%%XT z9F?uMp@`txueU(OUzs_r{+;buP$gCCLQmbXzrz~+cyN*=^Bi3QeWLrH$utkSf^8yF z5N}bZ>Pl|2*jH`UF`UuD=fdepS6lC(=A-h`+aWJPpmCMn`9$0!IOs$^GuK|G3)R)D zWq@vn4E>WeQ?YYL8ytR#5Lgg)+s;Qs;>O(dQYjwLu+@ImuoR$CX?*4biOzj86Pz!; zo?h|q>Phg?-GPKm{f^{zI*{B9gNHV`(QiWyRp29 z!9`bMlHs8J<8xbfeT8<7(CV15aL>h8MxWuqEVd(P^u&WC&|Ei8kOduH5@Zg7@NjjXl2NnctYJ zk62+5s>&<%mkvhs>vqyrnMJ8Ry*<&Sg$8($LkI&t@c1dx;IRyla)1>HkUtCS1Ht5t zPF-m&)Xu9w(s(o)m=y_$J-S+8TaHU;(?1iAJ&y52!pT&MJliQfsj36Be!BqejZKxY zjD{tEa$OI)M2Yo{Ge00E*WeaQvC1|Y+q}tOLk2h7qs+ft7Co#m;<_vBe&|tl8n2q` zA_j(+m*AHmAd3DIE2t|-<<#BhaQ%S`jeF5*)OeVD))CJfac>Te$>od|N3uYwS8(rr zkk=gMa!pi~81{|M67$25;U`1NgSqC@0lkg!yu6UWu>%9SCRowEt~QC^1VF?7^ZM2z zxlugMJ&_6)HE~Fb<%D0PB#j z(p|$>L9HAigy2Tm8%Ll)XtuL1f5$E9rIO$g7mK8Z3f^QGYLw}BYhp@_tgrE7N1q9)&Ze)o<%cG05vifQI1&(_r*jC#2S zK#@hMY|($#{sRW}^R;((`CWVeQ;VZl$zX8}|SES(JnV8o<(mtgx)W$&cItC;Px5_!;cb z{2hW7P7XNxO#{5+8HFP(Nq9!0?4A(4K7(McD)0_5IW3TOGWM>c_ElvCJm2)LvhoTn0gWEiaaOuknzcQ%$bMi$L|} z0t@QeqUg;yfL=!p399$=Aw(BXx?~{+wn(o%hmo8=S;cBnH!qZ z6?0c7Z7oROh~4&Y2KCHD2;L&UN8GGferZ&866#=&hGf|p0Z%L0Hv|!*$INVO-~sEO zTNR#G^v#K+Z|vx!?K#~O5FRgd=ylv&vdZ$U=nYcaotqixE4DU=4bG6Pj@8wH8lC`h zTD`N`S2QRbDA&Ex9&M{}i!X5O&IPq&+Nu=VS5QMuE8IlM_py$QFs`coUU8Vl#!==g zLUC-Vb+e9FHV}*1B051<_-B!_dIvT1w1N{Q!C1z+c0hqXO-g9^{nx%Up^%r6n?wIZ z*~)=s%F0XJ302vcuYktA3QIEdb0g{}cHA9K*aMRS1|~XKc92=QZ@}#=JLJGN@DM5A zR-D86LlfZ+X1+3B5Ju>BB+fE~UH`y6cB-FrAH@jQ0sp3Fi_{!|bQFP0+Ec!`a7AA} zvbRh!FAkh}WV`=;mfz}w0Peq3JfK=36q>49~0{i+m3c(8{7m& zdbNL%TRoh4v)x2VKZ0xEm=G_|U>g?T5bK1Oel{?>XW)pruax`^p>LIvLJs55LgE$B zxI!GgmYvZoBRc1h^vjukQ)QK3xn#AxD|D61-=f?$9_npYz;*R5oP?Wt6@U2*Slw>F z@QjPJP22zUe9YB0;1t&p*n-D?$)`tcT@ja?5s7~ln($3G6%Ec~SOAH4G_&i^q;O#M zrvd>#w6v8H)T+aHPqZte=(C7A$!GNXQ4FyQPSMlg<3=txXkX-yXrL{X#9zB3k8Pm1 zf>S0h21qiuw1eKt?hMLRh`N&?mDmQW)_|QV{*=gbd0mo(jdMZQ{VfP^M>Q_Jn>*?F ze&qw%(>rnz2lavq*K@)Vy;OhUTHX0*t&%$MU!~7ex^IpSuYlU@*PJ`a&)2~XN`Ob( z)JYfs9t+jxqZ0IZR^{S~s7)3tV2PDS&Ey3PO#CHgo{Rozs0i!@Wnm zb~!^^@`1W(L9DH8aE)3Wsem#$l9nWN&;9p8`;KgWe4fEcNSjW4x6TmfB&F z3f;Xp#zK^C_z#%vtPkJ^S!= zRBa5G0sGcy93jntgcB#Zt~Tpmj+Zt{l?{sAgRTwmEIVE1PwN670^U8O+sc29jb;#| zwk@ZtjFC}f`sWWJAuscs@mDtCx+hUSM|>k(vnaZK(b7hmKP_KSGZ3=kiI^TJnBHGp-RRlVCD7!fik) zBW?`W$fEj$*ekYQ2oWzrTfEtRtMaA;)d9GB=v``K@Q!MrBSRUa8x;@p0k>X6w?@gN z1Y>%-_$00+rS43qY9n#-d|9q0^-ETJgp$U`U&`RkB-~5~ird-L7R>h48hp3SxZ}g1 zFQ4|a9yW}nV+Za8UF>!r4hV`HJV$xRmcQO#nc;cvrc~V)e+lSOc_nYkOA++NzTs$k z?kX!#kw&wJ*EakoSW+t)e@UpI_QkS$zQJnP~veDN;@xKnu#k{VZfiTD+XEi00hn=1gYI&&hcJ3I?h)1+&&?viCHa7l5<40B_)0?bWQlyP<6T{r8ty z8dWd3vAJtqY8%K&w~0)toQ>q|Mk&9%cSp1O?1U2yv zEzZ!q;y&YsE&c$4J5*`r)*F@$JHO5;>m!`R@;1cgM8kKk!rSWoo2E1a8aG|Nmy$(w zM-pOWL4XhdUEtDHVcj?xvZ%QSjz?l2X-}WrF9rzSMf~#-rIELxOIp_sR!*QiAs{Cd zbRH7A%cHDIHIZ01s!eRJwYZuam@CS+PpC|^U+~`%)tpj5mINZ8W+Gs8uTp||dpKlo ziTSwM&r&sOi0ZA~v;CR~pUh$#8=Lm8_fab!5K^M+I`c4K#;hh zH#LUnCb>em{0eEN0cIu4M{m-;4&e!k2CMfY5+#4CvBn%<- z_pYEil!sTUv)6*uC?z~rI3&+gxKh@vfGd9r7!9Q}-k4{d*TBIpTb=TuvA4f{eR+QX z5#i82Wxu@|HX>z1HGpums$aC20)8A72hT^$5!7SNKmEQ(cq5rRi;`oNHZK|PWvg^L zWb-bjLkJ8K?ZQKG+|#j51`+DiV+H)7%TV(xruhvzikq#AGD_hJSiK;U;}(R2*B6M2 zJ-el56_&?;W(5T_>X3Bbvp?YU>+>U|30b;)ZOOc4(=1`1vXcQLUz}a5i*w^6ZH4|u zbP%J;VYmv+dX&z>`NcRLLCvP%^3~2t(=-ZAq73w1juB5Ca+ zlR^M$)Hc#`yhE9@ltxCkUkl3PGa7ZbB*bUzikc2Xf0&Iy;C~FjI4NkSq$%OU-;3i* zz!7xBZjT=(+<9&zEIe0GyeezF9DiX)a z%e8bB(;;m>{^)fBWW7TgnnA%SlukAh5d(%P_R;7_+o@(Ts*s5jJH^+v7ECgpKS91f z?jg!E=6y#oPNU}(&!%3n+Ck+71BAshsey;(1{A$6 zSth@un`yvllpLhGSvh5A_C31pp>4f7uF`SSe|5)Q5sbAcy#-kqL8dZFVR;8MF@iUX z@^p!dRo$^SSn}YQe$`zOqei8Jv%!oz<+*_YQ_jwXGlTS}uYjK24(TKM=&1-hIeOAT}KrzjqT|BkDm>K2Q}EQ!JQ=8dB~Yc(8DenQc~0$ zI)EFVZlma6zrE=vM0TQ5%r|=ae;lA^h}us-KreO0PjpNz7_^7heoLI8Ms#1XnPYP6 z%E>slJJRlYhWq%dMrRYqHn!hx*Kw8*?JK;w-|2Tr&Y(>8*DjH$Thk9ytYhPNo!7e} z2Sli%m6pFj9H>2M-F+qBQO$zfX_U-Nb>h!d1q_QSNEK|Os)$pgW>VCR>y9hDh?I$Y zeSu-!!Fcr~8dd@GGENmdN(ReOP=nneOG*uC?ozqr{4hsW|8|S~5R8*UV0ELIZf5w; zVFBUHXXJ=M#4gu-E;)W=ZS~+MA3D|aIiW;ev4`5fAof!BRD#=5+I+JDrag>*rzJ%Difyh` z`dx%uU9Ygc~@>@<|GK zhoJ;TiQn{n3ux^O&=6rizB=QIk-b_+G-yIP%10>XkU{%9tXZsd@Acg`LV^HA01SRr z@jM^OD$x|o|;(Y{Wx4cRj_S|Vn zpYS(wHRYzppCGYlvDTvpEKeV@T$(C*>*b zWXODMpJ-;~B%+xYkT9!@zeQlt17hA1Mqpls1BsSj9y(>-b+GvRa4ml7rHliXcwo90 z_$mwRlzU0`%v4<7tN&_#J)SrpRI>bnT)9+!SW018`P2b_fR-M4fC$MvblEdg1sv<3@1Pt`^hWqR(8(H2(WKEZ<1#?!X3lwarT=2 z0H0B0^Y#AkYMg-b49M?C`=boWA(iCE5G6Bw!mW21w^M>!Rf#mt8c`K0+x4-b2$0mX ztKMrX8RLHibB$oCQwF$B*A->w8r)dfJVOG0zaq_V=bC<04J9$DP`V`Nn$`I#$}gUL zlEUB}SDCrsuE9@Sxz@hXI=!aC;l;V8%GCpuv1z-x)0v!V`}ekf*B*cVt(HF`8puYw zlm0qN&6eiZgn%gzrfpA|&j3(BufNG|;&si7u9{%%(fV*?@uE9!4sh1C+7-*PejHj3IrB*Mk1p<_E1J*&#KRS&OSDH%-V>cVSwKhJxkqGS z=;ADUzH){gwfNx|I7Hf*3-CdNbGKOzTLW2d98NW(_~06G{GtqvSjI3XI>!>F4XxxO zeELlq8qX@^*hIBHqfdfx|FU1mJt=t34mdWfVmHz;ZTg=lG*Ia=q(25sxz%Tf+x}Q$ zt3Msm$EVvq3#!x&-DOILR0S2y;_SF^w6;I-@vo^Vv zt5Q15=E-sW!VS7g*f?k`3&+RSC=~t?#ymZqu-&HpoX~cwy?uCFH^m^9@GaSY9Zfy` zB_hsNbP9IbHSMjfiqol^wHhDsdSLZLm*pqJVFZ_EaGt<1VOZnu;sh=c5`)ly#9>tA z9(TmrgjaN0qbd-ymdcw6!{sbvRTzH-HHc`@S(Y%TRC?~?Ml(v2^A2}|^@6Vdnt&$; zP_ox=4e_dH&H{l&EqC8Rl@U|>Bhg~zvd%aAKKpG1X%)D!EMOHEyqxSSD!u%58=A-N z>%4WqtR%N4_A9FS*-?ALN0r3E)Z!_X)!BLh`-|(Yc+6Rr^>=$GR zWuiJTjS-S%?*LL1r%lgh&3An03Urt_Hp3GhQE|wT3M=X(gKDGw@0zXI#DWSFWN~(m zQ)z=~)85fd-{2U-FF;d7FwZie>SMYq*rp?x!3e43I8vWnZfn{YsJT=shO^#e)$kS9 zxbvKH$y9xbtub0y&0@&~WX_syXZM24B5+FW4MF>v^Vk6wL#WDmqqs~>0L0J)2 zy71>8!qP;aOSR2ip~c#+b(vYG#40^ceeni{-cB59K=+cre?>RD6X#np1=R&fgjMy_ zPfpko$ds#P+ife33RqUF6|}FUus>N)6tEChs{G879?-Z?ZqDV|H{;0LLpW@s$6}qX zs_@>E6Sd6%jp8yer)2jE(ZR?ICF%R=kab-y1brqI)Ju6my)!4Ddk7r5d_w@ zCWqVm5>EoMB9r}$tEB7<{poM%UW39WBFv-ZDpW-+tK98WM|nQb^u`jKNZbf*GJq<9fAlVz8!I_dWQthN4RrEMnT`I)tkY@P8|K1_AFYycwP6ZWLcskSCIsFD02VZ#lNa=xlYRF{9PZ zQb*T36_ouNlzdo2J=yasq;c)u983zaOT2SnGIbHjL@PAQ3Mr$=BSsH(y-)|IbzqOyOZ0+!^Hz|Zs8aM=+R!_pY*Bv7Q!N6U@ zuhQFN8fgIf<+nmTHcR#!uF{(+pVHm<0mrq}%r2h6%9O$X{<@Sm>^sd*Q}&Lf%;&>v zreEt@b_tFS=o>*LyKySurZ()NJ`SCSY_ggrh$k56%yejd4sO3{glScel`d>o?&JL< zy3x%!0n>`H%`_EL1}nKXLyzQAT%uO&Xoe_^KRYtk+*Dof;66U5%mp8{`ooBIL{#Uy z^At`AA^97BVikS1!_6HfGO@0))`Uz8Z~oPQHlz?m+n6=aFOma|QafinmZ=k8wutci z&>~txGWVB%cF0kc*zCEk-DoTz)1l|@_K8p(rsywDZLD8G&D@>5?nY(jsUTP}!QNeb zmCC{)hy{VKIppqW!_r{sgSrocV3``5?O(z)Bc3@og@Os{3Xj0P2`3=BQnt|p39eyK zJC~Ne2--1!2$0wzuy;PSTiu0w7qw%7Yy~=_p!w?*J+rzs7R)bPA}D27N;Cm zleV6yTeVBPI{;ls$>|?*S)?mF8xcmvD#qV2jU8sZNtg_(s*)Vsz)o7*0#-A%P3-vW zyKJ{hM08oxk3ZE$dM($KDsrOde8t%?%jr zB{p_x{1fgyccZeQf}t>HPN8rK~}%mfr_&Dibv1je^(OkbVhzJ!Aq+Y98P zoxa?c*J5v&gZRKvAZG};{~b)3&&cyR`ehq}!o^>$ZR|q(E^OJQ`o=63#n#aWNvL`=3Nj}}|M6a;QR8iSK{w%tox8cqj&DH$8}lk-rGyNeZZ zlCk(ZmN=gcsT?A{mAR?bAx-@OC}r2AKmskN9GB7~Bk2FU(9(fNq0}MEdv z+D~Dh5!5IzA!9=O*^JiEi(kE=%L_K~kn$c%J&`WFyxS%e!PagG1GRd(IM1Us{|;v4 zNm!Y|C44tUg>(lX(vLoDwOsXlFhg0p>G~VYCLYGpZNoc_c=xTY=aV3rEY48qU*XL@ z3R))U^Fx<~=>4c13Kl7t8krn@}L z=asO9qd-zy9mrA2Z??`aYPESo*4Iw6VPd0MfU(9AM4s#`sF5!%X(R1mzmwg?<72vq zxptLhg7bZJ1cJ)w=K&HnXvk%Uqj(KaGG*)$Lp-4LcWq%N+B4-_=LWTEhc-6JUMtpZ=&XP)%Bks~%76fn~n9&I^ zg}Lyy?4*Z27KDc5PUj~jKiEg!`?nIo2&>Ld&@*~dinkqi448syZrZPQzLiMJc?b~V zHg3Iy;9@79)!Gs=a#j5+e5-zrnEK3G0F-@lvUOOMn#i8i^g3^Um;Fiml?5dWm)8DZ zQ1QItU*S65KunMG5?P`M#D9}3e}y(AE@ScRj?TvFoJbOA`Ko>_TUx#;yN@-i1j zO4qrRIqpJTwnSIR%Zl?AOrNbftWEpK%cQZzwJY_}?r+YaWW)AMs)3`_ zr+e_dD1)Fn4?+hb;2hDV2m2k{IPTR``&l+&?C72Csfr|4n_Jx{Yn_5T^GuLP-LGGZ z-N>N?{)-3uO9yBKGh~V4ploKPn4l8o>vFZ)^s^#8MRvvODgeZa_>0l}Klo+mW=btl;CJg~Es~ ztr&l@qdl&~o$pyo zvL85)kY{w}h&l_QFDy4y8Z^^A&vdEX_Y-hd(>Z{I-OAxrkTAn%>8j z$-dmX5c-O36beqSI;r;VlKcQ?P84dx^6`EL zG|@%XF^0ZPT2ifCx5*0psETt)&Qu-g2X|;Fik}Hs?b$0_-xj16Q7(-xpz^JsHlvzf zUI%CHdJ)3a=RA&Iuwt|l*67P`;76kHYzn|cOv2vH>YN%TD!&J<9>uKc;BB(G*}ZH`wLj`o}6mHjMW3eliI+Dw+*6>#b^AoMp@ zh1KnTmkLw8DR|GN;acGJhm6!6Ng2M8z-o+4(9M9@^k$4)mA`zjjF zblN(+ewJtP4>TLG;VBy;ZN)3bV zb1{fq)Vh<3P%_{)qac;Wc$*JQ)}1s9|4|2JFuJCHp?iE z=J7*jpDG=DchnN)eNh5tjkMQt2llT z5ak-?ov)~7f8M+b&*{bXsTBSy4$C>Oo1^o`op2Xf6Q%cK|J9gBD4msD&K%|&lkG9h z2j!Xk68Yf|0}v#w>LNbC6F8zW*fKhfI+TIVC*mj+fnDJpx3+|Oh-gG4%3)AqcOmyK zNavG^$m)5NJShed&BB_!NCHucbD#2^UzO`nHjiAu|Rr-HJ=m7 z9D62_TuKm%kddrSGft+zf+Urox_9Ucw}t*aRH^HswR+{aGe+}$#h??YAQvI4kTZ=(Q`lLfJB z1qnvZ!DFKJ+^Q?s&WH96WnL=X%W^<3mwtK_<_#rqMTDUEWJyt%<`LPnZTiVR1JeLC zqzv$p?Gw+BW-#Ztx?tqv&iftWC_B4nbsDDCfmu>V|4L{2jv0?q3qs9_DyYURZg&=e zr-4e=Dzd@ps&AAAWv}|FUTzBK#g{9+t>r5AK}&!Zf3VHL*gY1diLm2tS@${XRu(2D z{_v1~r1J)9Xe5Q6_(XubbxV!+ysOjuSZ5HTOoG7@+RZEuFoC`}EPG`4`-wp5mn|SP zRT1s9`=WymTX5-jTwy*ThULgt2_+iBY*5XDN{-Mm4SH0Ezz%#`u9gp|!U+Zd7Q*ij zj#x%Q@1D>(yjl7lw69<^iU9xT=5?Q&jst1*V4bm&Kb)_+4TxyG_=DPMUAOqck3{9M z&G+X?-KE@DzV@1>Y~rp32#U~o91fAzn?la5EkMWz2PpR3OJ(J%Zc)AP0q>B~d|vmI z{M!73QshrxU1b#Aib^0(r1SG7*I8eh6sbxfiC(Dyb$9qHo*s zBCzbVu2mT?5fG3%cl3x?kwrCOdH}2=HK?~qe$0`K3lKn-HMzz{8nq&J#CBKb{U!c( zc?YwIH-KfU=$T^58qs@RLyijyxz^8i*1=6aIlP?mBj52{BOK4*&9|@XuTMB&30$p^ zVARn01ElBJ4883Ho}1KS!_!lDTK6hwjcL9@DkG-kLPYQ~)&!@yzq4$bSPhAm2?>>D zeO7fFJCK%BrR;_!2Oc%*5FK9U%I)u{h6r?m#mUrPQ%8y}GO*mJPz6-6ivkiv;DOhT z-ck-HI=#YbZN-N~^#}3p4rji&GF(Ke8rpus#aI9{(p4JM!Eql8$HdM#e~lE&z$5{+ z^htlCOtkl>+Y_jS&fNUxD;$MEIz62`^HRhwV|5SL<=#WEH>Xr4|jm>~|-_ zPrZh!ie+eLYxA>JV9tjHmtFqp(Qf*HM{5ki>Xcc4{fmd+Duz9EovWvA3`UwfJfAnF zs+Gn&v@nlX|Fin9AL`GSXtvLwvRl9#RHn{d38nSqquzXU18Rt4!+@aTk$+a_b|&g< z)f22vOGZ%%D#86I1@;%17SfG1g;Vhh2(lLR{iI`xGDA?0L;C% z8;p@QHGLEv>`(RlEH_}3U=8-bcoC*;OQR{U^g=i^|LBYFxatTj{~;@)3w!%yF7*kd zJwDb;VS{vtHRr`{v4{+*@2=Ku*PxAte;jT5xJMk`J;I$?Nikrg)c)XJ)=23c-AGTtlQ<4Y^Dl^3F2^PZTZ>w}(kgFE zLEKE*vEdY0Y9FHf^0{D_RB6Dz!kI74H=PUsmK5{WtPmraG03?2_9 zrQM@)h3r=T`Yu50cT{Db@kWu@_g~x57(o>!-Nl#juUs@}nApX$=n{XdO6)%h<|aA5 zTMTsQXR6ZHG%yTeW(p6M!Yiffvnllg`^gQK^0Ek|aP1$ng}Km%QgQLX_dgRx^X=!4 z8-%}ph)yNgoM7iDP-F^%c+RdmWz7dwfle6{%b>LRjs+^>1uMdU6)r>3rD=9HjoQMz zgB!hFik`aLsol^gI+aE-LIAh>MyUZOa%hI3;lzx!1}sU&j%PqMt=IKp#6Q>m2#@%? z2(Piq$FDiDWW0i-hUAmNzJWgIT2qtQom;>D6dqeBJWoT)_!Zmy?4o6G01_%X!&(gi zqB%AxxCeL9!_El3PJ1aItT+c$jT9{@vZ|V|syQb3A2*%HGrqRFs7C2vOSTa)%OY~< zmflfNs7Z_?J~&k|Mi+c5kLb|FJBo;uV`5z#D4+x({Eltx^;5hPIfdpdv|~lTJZ^Ig z?}U^|0dYiObx3pKX}!{1aQc<}zMO~+_W2dlD4uSXCu|d4n_4RDn+vTQIBR*9(MGQ7 z=wrzoIq{-yu?&e+-jfsmOES~`QBLy>HlO}8UOG2XZR)SO`5=GT?nZ$YR~HRPa_iU` zKj5@JN14NpVxurqy00ALWAo9zLz_>_a(QyL>l${)1WQzf66p$$)mz$S0-}7K-HX;~ zGZ_wV#ZRCB>jQd+GXygeY)?Bom&kJ=CwOiO5)?9-5@<8xD?r^I3@hcyrk=tvzi7vj zLS2hX3<53sS7bxIFENa%!6k2+*ll8_{J^M3W^bDnrVX?@#|-AoGm0@trkJjO;#xQutKRq7UoyWUasSGq9S9zdD9HmU-Gq=?TZU zv@f7L+>VmdW>ax1!NkW07~2uM4<4gb*CJ*NgWKw~d9$L!#ZcDcWTF7r{`tJV!mIOH z^}ht@^M*cxP|NnEKIKft%T+zBGNq=njk!7SU0zOY_TB(~JQ*Jol=Q>=!{eB3x|?q@ zsochfkxI0d4a@Cg>8L6`8S98m;P(@0Lsj~X!w;)i3kCbm>jtU+3T}La*)w|R%1Vw@ zm&%r4N8d$r7Nx|plOs^h)*djp9DP{Z5o#Aq!G9_YdPs8=?5s~ztu{@U6kRPB*^y_E z2wFn5u`;?(n?M4pcZbS<60?d%-;C_Gh$~-Fjl-TD(Sky&Y*r)5a$=ol>jZso8vuaf zKyTQJ)S&|6_qoqIp6Ojf6wx=Or{K+TfauFd{42US5zZOy6?RLagOO1a&Q(0**m)nS zI%W0Exe@2sXB~=phqZYf(u-W&Aq&*}im1+884_r^oE0al?wj3c9jgd?v&KJUg65@I zJePqI9|rcY5+-$inRfFrmED3=W8&q{E+XHR`ljE*2o|)yOf;+sd`lssZ??@iE+56# zIq|WKFQzFMBa*WAUhjD3ddRt-H=1ia9ZF1i^XuujbLfU5w^S0A17`#Jt`Z4$!t$2KF>qA5`JA*rRWoGpn6y@6R?_i4%_5spEu*NL$Y0xbzj- zcuY?Hq<<6MlpSxd4%Y@*sXhkNRupoqnkU%t2I!*Ys-1F_2xZo2{c9GE+dHh`eU+U5 z*}X`TyABUEKKg4tkK$WeZHRAxqUsbe?NUjX9vuAs(6PhuHMJv{`R>T!&ArN}p7ywS z*?i9dvGb=c83KhHn6;`0Uo5c|3qrk%m@mrkBg9eP*u(cH`xVqcc3a}MV#wdJNVNyl zv5HDh*x%lD9coFxYz*td4ZElvCyKudtc6FFnoVjn9W?EHU%VYqM>=tJRLvv2&zz@h z`f7QIB|eK9rp~AO+d~L#yO;ra9h9nQ?7oAVN4t98sa7YEHDQyzBt2(RseF4JroNbQ2!6lX2)uidne(K!3zQu2N~KPBFsz z8ykS$Gm3}MJEk&^wu{A|te!R-Cl@v-s&0;lueIh)uq5Pom|gb0PZ^TG+i{@_m_NE3 zo%m?s4VsaE9~V~qif(8R+J}T%IU>fA!8@V?9TMF{b=-82EObG1Ko6-r?W@dtNq!6a zg$G{c*v{+x=M$TnTFDJMftM#OAtAbM1resI_EmKei=b<__ZkFX!jOGU|1xCXUC8ia z4Vpe2JCaYBEL0VXW4fBSFCNX8v_288&vRe6VP9%X^(1r zd^gpzA-eL+MiXKqr*!>b3$R?2W;v(e7x4NbEv4F-((yj8|B#ZNKYaWn8T64Z!I85( zeKAd#0QGIF$|3}BxMqd6VdIqM174os-7AJ9J! zXD*6rnMSEy-ycU<-Byu}+rCbyKLxp#bxkHtroxmg2VYy`h@{T<%ky~VSf$p1&=TJh z=1+(4J27N9wdXB}IjZ^*(3)fAarc22oEdNJ_&MV7SO(iWLGG-4-f}*y9g!$GotxDLcC*|UmI`~cF3)%143kRlGSX(p@a66t}Iv@ zG`6kj-(-zg<1p=fs;1yy)J8nv7fJ|n{^~S6zB12KN1-Gl5xWZ4IQWzkRCE2IuZwE$ z+VDmagp#na?on1(KnFz)e(m}Mxv?~x-Z9M$47|?_f}rYJB3-^mQ|N8N<|5SB7-yGl(7!qgrGZaU8~b5ENIm-{vFY5 zLhq8Bf=c!26QX0A1}<|c^o3*qRvfXtacJ;OlLdQpe~Yj3^U*XLj`RWMV`4nOf04WR_MLwt( zJDUJ=^S)S&)Dx#}eXP2o&wlEc&Pq)Lx>yMOwlVW?(zp&Gfg%KRh!9&w$5roAD`)s~ zUF~gfL_fr_leg}&>Vl2Jq!5W1DU!Lv;qzR-h@c+Xgh;fXsol=R)kWnDJYd-*WnB?v z<0eE*khOBAQfHjBzDcjte>J9;(>%tzYo6RIATd4ej_uK%zSI8IIV6=)p%fY{-d{umb_&ihgrag?;Um@(8y zr+S?@f5T2Oge542RwUjdKJQG*iSiy;^;v z5tNVPPT9ywt%9v&R|ePT?0)mxVlw&gR^i_O^0%3TL}q`+q92v6g zQiX|pD!$%+hkv;#HM5FTrGR%#v%Z4_Y8eMHR{j1QSRi?jM9u*VnirKi{kErUuAd#;gQ%#}IC|P!W=my_A(FGp0yO zID_*x#aVA9wI6^a4`$Bup@Qb-;~nvv&j23Ot?`qn`Pwd#&yuC8sEBn({(MzO5hnoq zTVz9O|29K1kpX%KH_OkP3W}elfPR?dpfIUy{)*AJE*4!Sw8;Jkrk=(XZf_kiyuV;( zrr%SKJF5Bdk=fbygsm;DEP2CL5b$@3MiZU;2GG4V2gK>mPCUk$0(iSvJnCbAM>Xpy zXM$cbS1ifkgRyXE!E z8SgTIWff-iw!OuAizMBfx_~k#>pCu^bTq){PO7~x_w5AQpeJxzLekXlBt+EZS-)^*DC3N zehuKQN6pa^GbF_2>f%2t6)TMC*5*w5E4U%1YKI0n0CINk+kPFIMo+>(c2~s>H)uaU zFy~qqX68QMT)yo+90JWNt}G!ew|89E2&;?%xk|+#&E1YQz4^d9#DhV{9oQghe`tLf zI$Yw!ncM((yFM8P;;OzBSHI$#fz?sP2%rWNu;VOA$7b*xlBySGUWp!Ql;Bin2B2rq zX7_SUnD~>!<1w|F9z3~|6Q5qZ(qmnU@v+Pf0&-Qk8In)Z0VmpbMHLKs^0sw;r(P*v zzxeAOP9M?u{H2qNBxNVCAy-nOSi3hY!f&>>$NuVCBKb@kE2QN|O^j(HB1u*NDtQJK zMLU>6UeNF^)bnTVqGV@;iNk<=k%>*E;{GB5<}Rb_$i{6ORA(-kRkUC3JN1}6gM}5N z#dk!5RG-6Lw4+umPb|AA^;+HepW7T3$iqj<$|nP@ya{I|m+6YCg#kG6P${jixJEV| z4AB=t*L|$Dkg-g6Y)qztQFM=6rpyk3Uln_DX{LMB$Q>a!**l!EC(Yrm+2JJ$w#2LU zU26ck#I};pIDnmsr?gTIp!QTJ0yd@I&SUtpum@*Pt5_P6@=&UQ-;6;8r5-zF`5zSkk8^4a#h?);!aDO zS_?#zUHXMi=h&<#$?U9wpCZZ4#Cq>Pq1Ja?^QhM`$kx`@u4X1?t7xEH4x0i1oV%ne z_=~-Qa84!B*pA8}0;GN4gd zTHe`VJ(l9Gw1zEi&m+d1!8he4{^lBaY)=;Lw=|=j|5I9|&|TOr#bs2Hd_%4y>d1CN z?5Hy;@nAIO=Cm<^T9t(_l2ilyE2wc9CQt3HsMG)uR4g6WDkOEsJL|sPogwx7B}lsG zW_Os}>SDuUBz)a;N%jtGFnqGpNL~C?!5x?q(_QHjmp*Z$BNrrZvMjZ(YbVts{SpUc{_ae#|CKMA37{JQGkl%zo;yVlAS{# zs!8woMnX-DX3`79_`$x)>M{HH#_ZVc0sC2ph(eKRWO10$KCGe|)ZMw@Nw4lxS4Eif z9nSa$;gkMoQ{7JO9=9WM7L>@s3h$5wDQY^ZeQ$MfK}>QD%3(Sp_plHc8Vys9GQ+7q z^ox81d1rKBhq@0ewUkwbFm_}bEDHqRNUOQ(&5+hU?j6g}n#su%I{1f;w1U2j8o1wD zbut0AgpQZ7syLPOyyQ%nFeh}#Ha7H}&{Ex3ULDE!LvM@Jv14Fae|Hhtwj)ac*$=7YxU6qwL!vloN zhckSR7z19DSuNx)R9IKH>StOfTc8OoONzREa=(|ZGA5}w*iH!Zuejz{mSn$=XV4uTK&zFd3u!1VK$g z?WNjv_~d;T@lzwjpMYjWp2TS#wVg)c5M$#t1wwgE7&7RQUy7Kim#cWM|Kg&nz4W_8 zXfu4wJ3XG+5NF?x(tBTRJL7g8^swqz?B^jDl%(I8C9TuSmFFF!L5k2!6d7n|=5D<9 z(C>4>VfA@j{ta&)bIa!iXO?O;$QpRnTX44u@0!20)$LZcV<@b3gkOZ?p

    wBepM7wYcm|$IYW0 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⋘ml}CP!|tlb5AvAn?b>5&oC`K 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

  • et+3JdO1Xww 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%0DCit5V1@%B+vsL0emwRpV;0VF-{dpsP`cFF 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
  • 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 diff --git a/bcipy/signal/tests/model/integration_test_expected_output/test_target_topomap.png b/bcipy/signal/tests/model/integration_test_expected_output/test_target_topomap.png index b120e91f95a69d8c080b88dbc7ef8999a861233b..607f072b50129c07a2e655445cd81aee3d348f16 100644 GIT binary patch literal 107509 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≫%b^|D2^f7lQgND%bBBKC$RU#$!aAac@ewY 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 np.ndarray: """Preprocess the inquiry data. @@ -93,9 +94,9 @@ def preprocess(self, raw_data: np.array, times: List[float], return reshaped_data # pylint: disable=arguments-differ - def evaluate(self, raw_data: np.array, symbols: List[str], + def evaluate(self, raw_data: np.ndarray, symbols: List[str], times: List[float], target_info: List[str], - window_length: float) -> np.array: + window_length: float) -> np.ndarray: """Evaluate the evidence. Parameters diff --git a/bcipy/task/control/handler.py b/bcipy/task/control/handler.py index cd6d7fa29..56ec283dd 100644 --- a/bcipy/task/control/handler.py +++ b/bcipy/task/control/handler.py @@ -8,6 +8,7 @@ from bcipy.helpers.symbols import SPACE_CHAR, BACKSPACE_CHAR from bcipy.task.control.query import RandomStimuliAgent, StimuliAgent from bcipy.task.control.criteria import CriteriaEvaluator +from bcipy.task.data import EvidenceType log = logging.getLogger(__name__) @@ -64,7 +65,7 @@ def save_history(self) -> None: return @property - def latest_evidence(self) -> Dict[str, List[float]]: + def latest_evidence(self) -> Dict[EvidenceType, List[float]]: """Latest evidence of each type in the evidence history. Returns @@ -255,7 +256,7 @@ def prepare_stimuli(self) -> InquirySchedule: Return ------ - stimuli(tuple[list[char],list[float],list[str]]): tuple of + stimuli(tuple[list[str],list[float],list[str]]): tuple of stimuli information. [0]: letter, [1]: timing, [2]: color """ diff --git a/bcipy/task/data.py b/bcipy/task/data.py index 9a4bdb97a..bdf40695f 100644 --- a/bcipy/task/data.py +++ b/bcipy/task/data.py @@ -1,7 +1,7 @@ """Module for functionality related to session-related data.""" from collections import Counter from enum import Enum -from typing import Any, Dict, List, Optional +from typing import Any, Dict, List, Optional, Tuple EVIDENCE_SUFFIX = "_evidence" @@ -71,14 +71,14 @@ class Inquiry: def __init__(self, stimuli: List[str], timing: List[float], - triggers: List[List], + triggers: List[Tuple[str, float]], target_info: List[str], - target_letter: str = None, - current_text: str = None, - target_text: str = None, - selection: str = None, - next_display_state: str = None, - likelihood: List[float] = None): + target_letter: Optional[str] = None, + current_text: Optional[str] = None, + target_text: Optional[str] = None, + selection: Optional[str] = None, + next_display_state: Optional[str] = None, + likelihood: Optional[List[float]] = None) -> None: super().__init__() self.stimuli = stimuli self.timing = timing @@ -92,16 +92,16 @@ def __init__(self, self.evidences: Dict[EvidenceType, List[float]] = {} self.likelihood = likelihood or [] - # Precision used for serialization of evidence values. - self.precision = None + # Precision used for serialization of evidence values. By default, no precision. + self.precision: int = 0 @property - def lm_evidence(self): + def lm_evidence(self) -> List[float]: """Language model evidence""" return self.evidences.get(EvidenceType.LM, []) @property - def eeg_evidence(self): + def eeg_evidence(self) -> List[float]: """EEG evidence""" return self.evidences.get(EvidenceType.ERP, []) @@ -113,10 +113,12 @@ def decision_made(self) -> bool: @property def is_correct_decision(self) -> bool: """Indicates whether the current selection was the target""" - return self.selection and (self.selection == self.target_letter) + if self.selection and self.target_letter: + return self.selection == self.target_letter + return False @classmethod - def from_dict(cls, data: dict): + def from_dict(cls, data: dict) -> 'Inquiry': """Deserializes from a dict Parameters: @@ -206,18 +208,18 @@ class Session: def __init__(self, save_location: str, + symbol_set: List[str], task: str = 'Copy Phrase', mode: str = 'RSVP', - symbol_set: List[str] = None, - decision_threshold: float = None): + decision_threshold: Optional[float] = None) -> None: super().__init__() self.save_location = save_location self.task = task self.mode = mode self.series: List[List[Inquiry]] = [[]] - self.total_time_spent = 0 + self.total_time_spent: float = 0.0 self.time_spent_precision = 2 - self.task_summary = {} + self.task_summary: Dict[str, Any] = {} self.symbol_set = symbol_set self.decision_threshold = decision_threshold @@ -255,12 +257,12 @@ def has_evidence(self) -> bool: """Tests whether any inquiries have evidence.""" return any(inq.evidences for inq in self.all_inquiries) - def add_series(self): + def add_series(self) -> None: """Add another series unless the last one is empty""" if self.last_series(): self.series.append([]) - def add_sequence(self, inquiry: Inquiry, new_series: bool = False): + def add_sequence(self, inquiry: Inquiry, new_series: bool = False) -> None: """Append sequence information Parameters: @@ -324,7 +326,7 @@ def as_dict(self, return info @classmethod - def from_dict(cls, data: dict): + def from_dict(cls, data: dict) -> 'Session': """Deserialize from a dict. Parameters: diff --git a/bcipy/task/exceptions.py b/bcipy/task/exceptions.py index 3a686c874..7de570c24 100644 --- a/bcipy/task/exceptions.py +++ b/bcipy/task/exceptions.py @@ -1,3 +1,5 @@ +from typing import Any, Optional + class InsufficientDataException(Exception): """Insufficient Data Exception. @@ -5,7 +7,7 @@ class InsufficientDataException(Exception): Thrown when data requirements to execute task are violated. """ - def __init__(self, message, errors=None): + def __init__(self, message: str, errors: Optional[Any] = None) -> None: super().__init__(message) self.errors = errors @@ -16,7 +18,7 @@ class TaskRegistryException(Exception): Thrown when task type is unregistered. """ - def __init__(self, message, errors=None): + def __init__(self, message: str, errors: Optional[Any] = None) -> None: super().__init__(message) self.errors = errors diff --git a/bcipy/task/main.py b/bcipy/task/main.py index 0cbe132d6..b46af1d5c 100644 --- a/bcipy/task/main.py +++ b/bcipy/task/main.py @@ -9,17 +9,17 @@ class Task(ABC): Base class for BciPy tasks. """ - def __init__(self): + def __init__(self) -> None: super(Task, self).__init__() self.logger = logging.getLogger(__name__) - def configure(self): + @abstractmethod + def execute(self) -> str: ... @abstractmethod - def execute(self): + def name(self) -> str: ... - @abstractmethod - def name(self): + def configure(self) -> None: ... diff --git a/bcipy/task/paradigm/matrix/calibration.py b/bcipy/task/paradigm/matrix/calibration.py index 5c9147b8b..7c9b8b61c 100644 --- a/bcipy/task/paradigm/matrix/calibration.py +++ b/bcipy/task/paradigm/matrix/calibration.py @@ -1,12 +1,13 @@ from typing import List, Tuple -from psychopy import core +from psychopy import core, visual from bcipy.config import TRIGGER_FILENAME, WAIT_SCREEN_MESSAGE -from bcipy.display import Display, InformationProperties, StimuliProperties +from bcipy.display import InformationProperties, StimuliProperties from bcipy.display.components.task_bar import CalibrationTaskBar from bcipy.display.paradigm.matrix.display import MatrixDisplay from bcipy.helpers.clock import Clock +from bcipy.helpers.parameters import Parameters from bcipy.helpers.stimuli import (DEFAULT_TEXT_FIXATION, InquirySchedule, StimuliOrder, TargetPositions, generate_calibration_inquiries) @@ -81,7 +82,7 @@ def __init__(self, win, daq, parameters, file_save): self.matrix = self.init_display() - def init_display(self) -> Display: + def init_display(self) -> MatrixDisplay: """Initialize the display""" return init_calibration_display_task(self.parameters, self.window, self.experiment_clock, @@ -240,7 +241,10 @@ def name(self): def init_calibration_display_task( - parameters, window, experiment_clock, symbol_set): + parameters: Parameters, + window: visual.Window, + experiment_clock: Clock, + symbol_set: core.StaticPeriod) -> MatrixDisplay: info = InformationProperties( info_color=[parameters['info_color']], info_pos=[(parameters['info_pos_x'], diff --git a/bcipy/task/paradigm/matrix/copy_phrase.py b/bcipy/task/paradigm/matrix/copy_phrase.py index f82c1ae70..b2f44da69 100644 --- a/bcipy/task/paradigm/matrix/copy_phrase.py +++ b/bcipy/task/paradigm/matrix/copy_phrase.py @@ -1,6 +1,6 @@ """Defines the Copy Phrase Task which uses a Matrix display""" -from bcipy.display import Display, InformationProperties, StimuliProperties +from bcipy.display import InformationProperties, StimuliProperties from bcipy.display.components.task_bar import CopyPhraseTaskBar from bcipy.display.paradigm.matrix.display import MatrixDisplay from bcipy.task.paradigm.rsvp.copy_phrase import RSVPCopyPhraseTask @@ -36,13 +36,13 @@ class MatrixCopyPhraseTask(RSVPCopyPhraseTask): TASK_NAME = 'Matrix Copy Phrase Task' MODE = 'Matrix' - def init_display(self) -> Display: + def init_display(self) -> MatrixDisplay: """Initialize the Matrix display""" return init_display(self.parameters, self.window, self.experiment_clock, self.spelled_text) -def init_display(parameters, win, experiment_clock, starting_spelled_text): +def init_display(parameters, win, experiment_clock, starting_spelled_text) -> MatrixDisplay: """Constructs a new Matrix display""" info = InformationProperties( diff --git a/bcipy/task/paradigm/matrix/timing_verification.py b/bcipy/task/paradigm/matrix/timing_verification.py index 8d0d2fdee..ea5f9fa1d 100644 --- a/bcipy/task/paradigm/matrix/timing_verification.py +++ b/bcipy/task/paradigm/matrix/timing_verification.py @@ -1,7 +1,7 @@ from itertools import cycle from typing import List from bcipy.task.paradigm.matrix.calibration import ( - MatrixCalibrationTask, InquirySchedule, DEFAULT_TEXT_FIXATION, Display, + MatrixCalibrationTask, InquirySchedule, DEFAULT_TEXT_FIXATION, MatrixDisplay, init_calibration_display_task) from bcipy.helpers.stimuli import PhotoDiodeStimuli, jittered_timing @@ -23,7 +23,7 @@ class MatrixTimingVerificationCalibration(MatrixCalibrationTask): """ TASK_NAME = 'Matrix Timing Verification Task' - def init_display(self) -> Display: + def init_display(self) -> MatrixDisplay: """Initialize the display""" display = init_calibration_display_task( self.parameters, self.window, self.experiment_clock, diff --git a/bcipy/task/paradigm/rsvp/calibration/timing_verification.py b/bcipy/task/paradigm/rsvp/calibration/timing_verification.py index 70262a2be..ba0446a35 100644 --- a/bcipy/task/paradigm/rsvp/calibration/timing_verification.py +++ b/bcipy/task/paradigm/rsvp/calibration/timing_verification.py @@ -1,3 +1,4 @@ +# mypy: disable-error-code="method-assign" from itertools import cycle from bcipy.task import Task from bcipy.task.paradigm.rsvp.calibration.calibration import RSVPCalibrationTask diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index 4bb120d2a..7c25b0c87 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -1,12 +1,18 @@ +# mypy: disable-error-code="arg-type" import logging from typing import List, NamedTuple, Optional, Tuple -from psychopy import core - -from bcipy.config import (SESSION_DATA_FILENAME, SESSION_SUMMARY_FILENAME, - TRIGGER_FILENAME, WAIT_SCREEN_MESSAGE) -from bcipy.display import (Display, InformationProperties, - PreviewInquiryProperties, StimuliProperties) +from psychopy import core, visual + +from bcipy.config import ( + SESSION_DATA_FILENAME, + SESSION_SUMMARY_FILENAME, + TRIGGER_FILENAME, + WAIT_SCREEN_MESSAGE, + DEFAULT_EVIDENCE_PRECISION) +from bcipy.display import (InformationProperties, + PreviewInquiryProperties, + StimuliProperties) from bcipy.display.components.task_bar import CopyPhraseTaskBar from bcipy.display.paradigm.rsvp.mode.copy_phrase import CopyPhraseDisplay from bcipy.feedback.visual.visual_feedback import VisualFeedback @@ -14,6 +20,7 @@ from bcipy.helpers.copy_phrase_wrapper import CopyPhraseWrapper from bcipy.helpers.exceptions import TaskConfigurationException from bcipy.helpers.list import destutter +from bcipy.helpers.parameters import Parameters from bcipy.helpers.save import _save_session_related_data from bcipy.helpers.session import session_excel from bcipy.helpers.stimuli import InquirySchedule, StimuliOrder @@ -134,9 +141,8 @@ def __init__(self, win, daq, parameters, file_save, signal_models, self.fake = fake self.language_model = language_model - # TODO: remove this self.signal_model = signal_models[0] if signal_models else None - self.evidence_precision = 5 + self.evidence_precision = DEFAULT_EVIDENCE_PRECISION self.feedback = VisualFeedback( self.window, @@ -209,7 +215,7 @@ def setup(self) -> None: self.init_copy_phrase_task() self.current_inquiry = self.next_inquiry() - def init_display(self) -> Display: + def init_display(self) -> CopyPhraseDisplay: """Initialize the display""" return _init_copy_phrase_display(self.parameters, self.window, self.static_clock, @@ -297,7 +303,7 @@ def user_wants_to_continue(self) -> bool: self.logger.info('User wants to exit.') return should_continue - def wait(self, seconds: float = None): + def wait(self, seconds: Optional[float] = None): """Pause for a time. Parameters @@ -574,8 +580,8 @@ def compute_device_evidence( # currently prestim_length is used as a buffer for filter application post_stim_buffer = int(self.parameters.get("task_buffer_length") / 2) - prestim_buffer = self.parameters['prestim_length'] - trial_window = self.parameters['trial_window'] + prestim_buffer: float = self.parameters['prestim_length'] + trial_window: Tuple[float, float] = self.parameters['trial_window'] window_length = trial_window[1] - trial_window[0] inquiry_timing = self.stims_for_decision(stim_times) @@ -609,7 +615,7 @@ def compute_device_evidence( return evidences - def stims_for_decision(self, stim_times: List[List]) -> List[List]: + def stims_for_decision(self, stim_times: List[Tuple[str, float]]) -> List[Tuple[str, float]]: """The stim_timings from the display may include non-letter stimuli such as calibration and inquiry_preview timings. This method extracts only the letter data used to process the data for a decision. @@ -628,11 +634,11 @@ def stims_for_decision(self, stim_times: List[List]) -> List[List]: ] def new_data_record(self, - stim_times: List[List], + stim_times: List[Tuple[str, float]], target_stimuli: str, current_text: str, decision: Decision, - evidence_types: List[EvidenceType] = None) -> Inquiry: + evidence_types: Optional[List[EvidenceType]] = None) -> Inquiry: """Construct a new inquiry data record. Parameters @@ -797,7 +803,7 @@ def __init__(self, session: Session, show_preview: bool = False, preview_mode: int = 0, - trigger_path: str = None): + trigger_path: Optional[str] = None): assert preview_mode in range(3), 'Preview mode out of range' self.session = session self.show_preview = show_preview @@ -887,7 +893,12 @@ def switch_triggers(self) -> List[Trigger]: ] -def _init_copy_phrase_display(parameters, win, static_clock, experiment_clock, starting_spelled_text): +def _init_copy_phrase_display( + parameters: Parameters, + win: visual.Window, + static_clock: core.StaticPeriod, + experiment_clock: Clock, + starting_spelled_text) -> CopyPhraseDisplay: preview_inquiry = PreviewInquiryProperties( preview_only=parameters['preview_only'], preview_inquiry_length=parameters['preview_inquiry_length'], @@ -918,13 +929,14 @@ def _init_copy_phrase_display(parameters, win, static_clock, experiment_clock, s font=parameters['font'], height=parameters['task_height']) - return CopyPhraseDisplay(win, - static_clock, - experiment_clock, - stimuli, - task_bar, - info, - starting_spelled_text, - trigger_type=parameters['trigger_type'], - space_char=parameters['stim_space_char'], - preview_inquiry=preview_inquiry) + return CopyPhraseDisplay( + win, + static_clock, + experiment_clock, + stimuli, + task_bar, + info, + starting_spelled_text, + trigger_type=parameters['trigger_type'], + space_char=parameters['stim_space_char'], + preview_inquiry=preview_inquiry) diff --git a/bcipy/task/start_task.py b/bcipy/task/start_task.py index 264ca2a20..3a0c1bc25 100644 --- a/bcipy/task/start_task.py +++ b/bcipy/task/start_task.py @@ -1,4 +1,7 @@ """Code for constructing and executing registered tasks""" +from typing import List, Optional +from psychopy import visual + from bcipy.task import Task from bcipy.task.exceptions import TaskRegistryException from bcipy.task.paradigm.matrix.calibration import MatrixCalibrationTask @@ -12,9 +15,21 @@ from bcipy.task.paradigm.rsvp.copy_phrase import RSVPCopyPhraseTask from bcipy.task.task_registry import TaskType +from bcipy.acquisition import ClientManager +from bcipy.helpers.parameters import Parameters +from bcipy.signal.model import SignalModel +from bcipy.language import LanguageModel + -def make_task(display_window, daq, task, parameters, file_save, - signal_models=None, language_model=None, fake=True) -> Task: +def make_task( + display_window: visual.Window, + daq: ClientManager, + task: TaskType, + parameters: Parameters, + file_save: str, + signal_models: Optional[List[SignalModel]] = None, + language_model: Optional[LanguageModel] = None, + fake: bool = True) -> Task: """Creates a Task based on the provided parameters. Parameters: @@ -61,9 +76,23 @@ def make_task(display_window, daq, task, parameters, file_save, 'The provided experiment type is not registered.') -def start_task(display_window, daq, task, parameters, file_save, - signal_models=None, language_model=None, fake=True): +def start_task( + display_window: visual.Window, + daq: ClientManager, + task: TaskType, + parameters: Parameters, + file_save: str, + signal_models: Optional[List[SignalModel]] = None, + language_model: Optional[LanguageModel] = None, + fake: bool = True) -> str: """Creates a Task and starts execution.""" - task = make_task(display_window, daq, task, parameters, file_save, - signal_models, language_model, fake) - task.execute() + bcipy_task = make_task( + display_window, + daq, + task, + parameters, + file_save, + signal_models, + language_model, + fake) + return bcipy_task.execute() diff --git a/bcipy/task/tests/core/test_data.py b/bcipy/task/tests/core/test_data.py index 5b44c7b5a..29e0d948f 100644 --- a/bcipy/task/tests/core/test_data.py +++ b/bcipy/task/tests/core/test_data.py @@ -4,6 +4,12 @@ from bcipy.task.data import EvidenceType, Inquiry, Session +SYMBOL_SET = [ + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', + 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', + '<', '_' +] + def sample_stim_seq(include_evidence: bool = False): """Generates a sample Inquiry.""" @@ -129,14 +135,8 @@ def test_stim_sequence_deserialization(self): def test_stim_sequence_evidence(self): """Test simplified evidence view""" - alp = [ - 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', - 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', - '<', '_' - ] - stim_seq = sample_stim_seq(include_evidence=True) - evidence = stim_seq.stim_evidence(alp, n_most_likely=5) + evidence = stim_seq.stim_evidence(SYMBOL_SET, n_most_likely=5) self.assertEqual(len(evidence['most_likely']), 5) self.assertAlmostEqual(evidence['most_likely']['<'], 0.05, places=2) @@ -173,7 +173,8 @@ def test_is_correct_decision(self): def test_empty_session(self): """Test initial session creation""" - session = Session(save_location=".") + + session = Session(save_location=".", symbol_set=SYMBOL_SET) self.assertEqual(0, session.total_number_series) self.assertEqual(0, session.total_inquiries) self.assertEqual(0, session.total_number_decisions) @@ -188,7 +189,8 @@ def test_empty_session(self): def test_session(self): """Test session functionality""" - session = Session(save_location=".") + + session = Session(save_location=".", symbol_set=SYMBOL_SET) session.add_sequence(sample_stim_seq()) session.add_sequence(sample_stim_seq()) @@ -221,7 +223,7 @@ def test_session(self): def test_session_add_series(self): """Test session functionality for adding a series""" - session = Session(save_location=".") + session = Session(save_location=".", symbol_set=SYMBOL_SET) session.add_series() self.assertEqual(0, session.total_number_series) @@ -243,7 +245,7 @@ def test_session_add_series(self): def test_session_deserialization(self): """Test that a Session can be deserialized""" - session = Session(save_location=".") + session = Session(save_location=".", symbol_set=SYMBOL_SET) session.add_sequence(sample_stim_seq()) session.add_sequence(sample_stim_seq()) @@ -272,7 +274,7 @@ def test_session_deserialization(self): def test_task_summary(self): """Test that arbitrary data can be added.""" - session = Session(save_location=".") + session = Session(save_location=".", symbol_set=SYMBOL_SET) self.assertFalse('task_summary' in session.as_dict()) session.task_summary = {"typing_accuracy": 22} @@ -282,7 +284,7 @@ def test_task_summary(self): def test_has_evidence(self): """Test that a Session has evidence""" - session = Session(save_location=".") + session = Session(save_location=".", symbol_set=SYMBOL_SET) session.add_sequence(sample_stim_seq()) session.add_sequence(sample_stim_seq(include_evidence=True)) self.assertTrue(session.has_evidence()) diff --git a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py index 68fb1e794..e010e4fc2 100644 --- a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py +++ b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py @@ -2,6 +2,7 @@ import shutil import tempfile import unittest +import pytest from pathlib import Path import numpy as np @@ -22,6 +23,7 @@ from bcipy.task.paradigm.rsvp.copy_phrase import RSVPCopyPhraseTask +@pytest.mark.slow class TestCopyPhrase(unittest.TestCase): """Tests for Copy Phrase task.""" diff --git a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase_task_summary.py b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase_task_summary.py index caf9db2dd..a98840db8 100644 --- a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase_task_summary.py +++ b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase_task_summary.py @@ -8,6 +8,12 @@ from bcipy.task.data import EvidenceType, Inquiry, Session from bcipy.task.paradigm.rsvp.copy_phrase import TaskSummary +SYMBOL_SET = [ + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', + 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', + '<', '_' +] + def mock_inquiry(target_letter="", current_text="", @@ -34,7 +40,7 @@ def mock_inquiry(target_letter="", def session_no_preview() -> Session: """Mock session""" - session = Session(".") + session = Session(".", symbol_set=SYMBOL_SET) seq1 = [{ 'target_letter': "E", @@ -73,7 +79,7 @@ def session_no_preview() -> Session: def session_btn() -> Session: """Mock session with button press evidence.""" - session = Session(".") + session = Session(".", symbol_set=SYMBOL_SET) seq1 = [{ 'selection': "", 'btn_evidence': True, diff --git a/dev_requirements.txt b/dev_requirements.txt index 6ad88a8fb..2ee6263fc 100644 --- a/dev_requirements.txt +++ b/dev_requirements.txt @@ -1,6 +1,8 @@ autopep8==1.6.0 coverage>=6.0 flake8==5.0.4 +mypy==1.6.1 +lxml mock mockito pylint diff --git a/mypy.ini b/mypy.ini new file mode 100644 index 000000000..8015d10e0 --- /dev/null +++ b/mypy.ini @@ -0,0 +1,11 @@ +# Global options: +[mypy] +warn_return_any = False +warn_unused_configs = False +ignore_missing_imports = True +follow_imports = skip +strict_optional = True +disallow_incomplete_defs = False +check_untyped_defs = True +no_implicit_optional = True +exclude = tests|demo|gui|scripts|acquisition|display.paradigm|language|signal.model|task.control|helpers.parameters diff --git a/pytest.ini b/pytest.ini index 761785364..95697f21b 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,3 +1,3 @@ [pytest] markers = - slow: marks tests as slow (deselect with '-m "not slow"') + slow: marks tests as slow (deselect with '-m "not slow"') \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index fd04a9186..22d14f0cc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,9 +2,8 @@ attrdict3==2.0.2 transformers==4.26.0 torch==2.0.0 construct==2.8.14 -mne==1.0.2 +mne==1.5.0 pyo==1.0.5 -pygame==2.1.2 pyglet<=1.5.27,>=1.4 PsychoPy==2023.2.1 openpyxl==3.1.2 From f4faea16d0edbbd4bfba1480509f7a823cb5bbeb Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Sun, 19 Nov 2023 19:54:43 -0500 Subject: [PATCH 166/330] prettier logging --- bcipy/simulator/helpers/log_utils.py | 18 ++++++++++++++++++ bcipy/simulator/helpers/sampler.py | 3 ++- bcipy/simulator/helpers/signal_helpers.py | 2 +- bcipy/simulator/sim.py | 5 +++-- bcipy/simulator/tests/sampler_test.py | 18 ++++++------------ 5 files changed, 30 insertions(+), 16 deletions(-) create mode 100644 bcipy/simulator/helpers/log_utils.py diff --git a/bcipy/simulator/helpers/log_utils.py b/bcipy/simulator/helpers/log_utils.py new file mode 100644 index 000000000..8e91d5110 --- /dev/null +++ b/bcipy/simulator/helpers/log_utils.py @@ -0,0 +1,18 @@ +from typing import List + +import pandas as pd + + +def format_alp_likelihoods(likelihoods, alp): + rounded = [round(lik, 3) for lik in likelihoods] + formatted = [f"{a} : {l}" for a, l in zip(alp, rounded)] + return formatted + + +def format_sample_rows(sample_rows: List[pd.Series]): + formatted_rows = [] + for row in sample_rows: + new_row = row.drop(columns=['eeg'], axis=1, inplace=False) + formatted_rows.append(new_row.to_string(index=False, header=True)) + + return ", ".join(formatted_rows) diff --git a/bcipy/simulator/helpers/sampler.py b/bcipy/simulator/helpers/sampler.py index 4b3f6fb06..de3e217dc 100644 --- a/bcipy/simulator/helpers/sampler.py +++ b/bcipy/simulator/helpers/sampler.py @@ -9,6 +9,7 @@ from bcipy.helpers.parameters import Parameters from bcipy.helpers.symbols import alphabet from bcipy.simulator.helpers.data_engine import RawDataEngine +from bcipy.simulator.helpers.log_utils import format_sample_rows from bcipy.simulator.interfaces import SimState log = logging.getLogger(__name__) @@ -55,7 +56,7 @@ def sample(self, state: SimState) -> np.ndarray: row = filtered_data.sample(1) sample_rows.append(row) - log.debug(f"EEG Samples: \n {', '.join([r.to_string() for r in sample_rows])}") + log.debug(f"EEG Samples: \n {format_sample_rows(sample_rows)}") eeg_responses = [r['eeg'].to_numpy()[0] for r in sample_rows] sample = self.model_input_reshaper(eeg_responses) diff --git a/bcipy/simulator/helpers/signal_helpers.py b/bcipy/simulator/helpers/signal_helpers.py index df3d7c738..0fa530683 100644 --- a/bcipy/simulator/helpers/signal_helpers.py +++ b/bcipy/simulator/helpers/signal_helpers.py @@ -118,4 +118,4 @@ def process_raw_data_for_model(data_folder, parameters, reshaper: InquiryReshape # define the training classes using integers, where 0=nontargets/1=targets # labels = inquiry_labels.flatten() - return ExtractedExperimentData(inquiries, trials, inquiry_labels, inquiry_timing, (trigger_targetness, trigger_timing, trigger_symbols)) + return ExtractedExperimentData(inquiries, trials, inquiry_labels, inquiry_timing, (trigger_targetness, trigger_timing, trigger_symbols)) \ No newline at end of file diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index a7a0f36e6..55aa38491 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -12,6 +12,7 @@ from bcipy.simulator.helpers.sampler import Sampler from bcipy.simulator.helpers.state_manager import StateManager, SimState from bcipy.simulator.helpers.types import InquiryResult +from bcipy.simulator.helpers.log_utils import format_alp_likelihoods from bcipy.simulator.interfaces import MetricReferee, ModelHandler from bcipy.simulator.simulator_base import Simulator @@ -72,11 +73,11 @@ def run(self): evidence = self.model_handler.generate_evidence(curr_state, sampled_data) # TODO make this evidence be a dict (mapping of evidence type to evidence) - log.debug(f"Evidence for stimuli {curr_state.display_alphabet} \n {evidence}") + log.debug(f"Evidence for stimuli {curr_state.display_alphabet} \n {format_alp_likelihoods(evidence, self.symbol_set)}") inq_record: InquiryResult = self.state_manager.update(evidence) updated_state = self.state_manager.get_state() - log.debug(f"Fused Likelihoods {[str(round(p, 3)) for p in inq_record.fused_likelihood]}") + log.debug(f"Fused Likelihoods {format_alp_likelihoods(inq_record.fused_likelihood, self.symbol_set)}") if inq_record.decision: log.info(f"Decided {inq_record.decision} for target {inq_record.target}") diff --git a/bcipy/simulator/tests/sampler_test.py b/bcipy/simulator/tests/sampler_test.py index 1e8233fca..7558be370 100644 --- a/bcipy/simulator/tests/sampler_test.py +++ b/bcipy/simulator/tests/sampler_test.py @@ -38,13 +38,15 @@ class DummyRef(MetricReferee): if __name__ == "__main__": args = dict() - args['data_folders'] = ["/Users/srikarananthoju/cambi/tab_test_dynamic/tab_test_dynamic_RSVP_Copy_Phrase_Thu_24_Aug_2023_18hr58min16sec_-0700", - # "/Users/srikarananthoju/cambi/tab_test_dynamic/tab_test_dynamic_RSVP_Copy_Phrase_Thu_24_Aug_2023_19hr07min50sec_-0700", - # "/Users/srikarananthoju/cambi/tab_test_dynamic/tab_test_dynamic_RSVP_Copy_Phrase_Thu_24_Aug_2023_19hr15min29sec_-0700" + args['data_folders'] = ["/Users/srikarananthoju/cambi/tab_test_dynamic/16sec_-0700", + "/Users/srikarananthoju/cambi/tab_test_dynamic/50sec_-0700", + # "/Users/srikarananthoju/cambi/tab_test_dynamic/29sec_-0700" ] args['out_dir'] = Path(__file__).resolve().parent model_file = Path( - "/Users/srikarananthoju/cambi/tab_test_dynamic/tab_test_dynamic_RSVP_Calibration_Thu_24_Aug_2023_18hr41min37sec_-0700/model_0.9524_200_800.pkl") + "/Users/srikarananthoju/cambi/tab_test_dynamic/calibr_37sec_-0700/model_0.9524_200_800.pkl" + # "/Users/srikarananthoju/cambi/tab_test_dynamic/calibr_37sec_-0700/model_0.9595.pkl" + ) sim_parameters = load_json_parameters("bcipy/simulator/sim_parameters.json", value_cast=True) data_engine = RawDataEngine(args['data_folders']) @@ -58,14 +60,6 @@ class DummyRef(MetricReferee): sampler: Sampler = SimpleLetterSampler(data_engine) sample: np.ndarray = sampler.sample(stateManager.get_state()) - # model = PcaRdaKdeModel() - # model = model.load(model_file) - # - # eeg_evidence = model.predict(sample, stateManager.get_state().display_alphabet, alphabet()) - # - # print(eeg_evidence.shape) - # print(eeg_evidence) - model_handler = DummyModelHandler(model_file) sim = SimulatorCopyPhrase(data_engine, model_handler, sampler, stateManager, DummyRef()) sim.run() From 4244299746a2569a91c762a47340951f7ed4cd92 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 17 Nov 2023 11:02:20 -0800 Subject: [PATCH 167/330] New parameter for vep animation time --- bcipy/parameters/parameters.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index c1fe3cb0b..90eb22511 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -367,6 +367,14 @@ "recommended_values": "", "type": "float" }, + "time_vep_animation": { + "value": "1.0", + "section": "bci_config", + "readableName": "Time VEP Animation (sec)", + "helpTip": "The amount of time in seconds for the animation moving symbols to boxes.", + "recommended_values": "", + "type": "float" + }, "stim_jitter": { "value": "0.0", "section": "bci_config", From edc17ad8a79b08e37dfd727096c5ba1c31ba9c6e Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 17 Nov 2023 11:05:00 -0800 Subject: [PATCH 168/330] Revert "New parameter for vep animation time" This reverts commit 437572ace09eb107aa09966e5a8360673131ea4d. --- bcipy/parameters/parameters.json | 8 -------- 1 file changed, 8 deletions(-) diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index 90eb22511..c1fe3cb0b 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -367,14 +367,6 @@ "recommended_values": "", "type": "float" }, - "time_vep_animation": { - "value": "1.0", - "section": "bci_config", - "readableName": "Time VEP Animation (sec)", - "helpTip": "The amount of time in seconds for the animation moving symbols to boxes.", - "recommended_values": "", - "type": "float" - }, "stim_jitter": { "value": "0.0", "section": "bci_config", From df3673d19f1cf7c8aab06dde55e8c4700693f8d3 Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 20 Nov 2023 14:55:20 -0800 Subject: [PATCH 169/330] Added configuration for VEP codes --- bcipy/display/paradigm/vep/codes.py | 3 +++ bcipy/display/paradigm/vep/display.py | 9 +++++++-- bcipy/parameters/parameters.json | 8 ++++++++ bcipy/task/paradigm/vep/calibration.py | 8 +++++++- 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/bcipy/display/paradigm/vep/codes.py b/bcipy/display/paradigm/vep/codes.py index ae54af88f..41e75699c 100644 --- a/bcipy/display/paradigm/vep/codes.py +++ b/bcipy/display/paradigm/vep/codes.py @@ -27,6 +27,9 @@ def ssvep_to_code(refresh_rate: int = 60, flicker_rate: int = 10) -> List[int]: Converts a SSVEP (steady state visual evoked potential; ex. 10 Hz) to a code (0,1) given the refresh rate of the monitor (Hz) provided and a desired flicker rate (Hz). + TODO: https://www.pivotaltracker.com/story/show/186522657 + Consider an additional parameter for the number of seconds. + Parameters: ----------- refresh_rate: int, refresh rate of the monitor (Hz) diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index 82ccbd0da..5e7cfed65 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -108,7 +108,6 @@ def __init__(self, if not codes: codes = create_vep_codes(length=self.refresh_rate, count=self.vep_type) - self.logger.info(f"VEP Codes: {codes}") vep_colors = [('white', 'black'), ('red', 'green'), ('blue', 'yellow'), ('orange', 'green')] vep_stim_size = scaled_size(0.24, self.window_size) @@ -179,7 +178,7 @@ def do_inquiry(self) -> List[StimTime]: # type: ignore [_fixation, *stim] = self.stim_properties() self.set_stimuli_colors(stim) - # self.do_fixation(fixation) + self.log_inquiry(stim) self.animate_inquiry(stim) core.wait(self.timing_fixation) self.stimulate() @@ -206,6 +205,8 @@ def prompt_target(self, target - (symbol, duration, color) tuple """ assert isinstance(target.symbol, str), "Target must be a str" + self.logger.info(f"Target: {target.symbol}") + # Show all symbols in the matrix at reduced opacity for sym in self.symbol_set: pos_index = self.sort_order(sym) @@ -237,6 +238,10 @@ def prompt_target(self, self.window.flip() core.wait(target.duration / 2) + def log_inquiry(self, stimuli: List[StimProps]) -> None: + """Log the inquiry""" + self.logger.info(f"Inquiry: {[stim.symbol for stim in stimuli]}") + def highlight_target_box(self, target_box_index: int) -> None: """Emphasize the box at the given index""" for i, box in enumerate(self.text_boxes): diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index 90eb22511..6c4565c2a 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -375,6 +375,14 @@ "recommended_values": "", "type": "float" }, + "vep_flicker_rates": { + "value": "4,5,6,10,12,15", + "section": "bci_config", + "readableName": "VEP Flicker Rates (hz)", + "helpTip": "Delimited list of flash rates, where a rate represents the hz of the box at that position. Each rate should be less than the refresh rate of the monitor.", + "recommended_values": "4,5,6,10,12,15", + "type": "str" + }, "stim_jitter": { "value": "0.0", "section": "bci_config", diff --git a/bcipy/task/paradigm/vep/calibration.py b/bcipy/task/paradigm/vep/calibration.py index 86c82a307..94945c753 100644 --- a/bcipy/task/paradigm/vep/calibration.py +++ b/bcipy/task/paradigm/vep/calibration.py @@ -8,6 +8,7 @@ from bcipy.display import InformationProperties, VEPStimuliProperties from bcipy.display.components.layout import centered from bcipy.display.components.task_bar import CalibrationTaskBar +from bcipy.display.paradigm.vep.codes import ssvep_to_code from bcipy.display.paradigm.vep.display import VEPDisplay from bcipy.display.paradigm.vep.layout import BoxConfiguration from bcipy.helpers.clock import Clock @@ -241,12 +242,17 @@ def init_calibration_display(parameters: Parameters, colors=[parameters['task_color']], font=parameters['font'], height=parameters['task_height']) - + flicker_rates = parameters['vep_flicker_rates'] + codes = [ + ssvep_to_code(refresh_rate=60, flicker_rate=hz) + for hz in flicker_rates + ] return VEPDisplay(window, experiment_clock, stim_props, task_bar, info, symbol_set=symbol_set, + codes=codes, box_config=box_config, should_prompt_target=True) From 0418f6490e504d5baeb4777ed3bece4d0f924c38 Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 20 Nov 2023 14:55:36 -0800 Subject: [PATCH 170/330] Added configuration for VEP codes --- .../display/demo/vep/demo_calibration_vep.py | 39 +++++-------------- 1 file changed, 9 insertions(+), 30 deletions(-) diff --git a/bcipy/display/demo/vep/demo_calibration_vep.py b/bcipy/display/demo/vep/demo_calibration_vep.py index f1289285c..57bc1e2a8 100644 --- a/bcipy/display/demo/vep/demo_calibration_vep.py +++ b/bcipy/display/demo/vep/demo_calibration_vep.py @@ -7,6 +7,7 @@ init_display_window) from bcipy.display.components.layout import centered from bcipy.display.components.task_bar import CalibrationTaskBar +from bcipy.display.paradigm.vep.codes import ssvep_to_code from bcipy.display.paradigm.vep.display import VEPDisplay from bcipy.display.paradigm.vep.layout import BoxConfiguration from bcipy.helpers.clock import Clock @@ -46,36 +47,14 @@ 'green', 'red', '#00FF80', '#FFFFB3', '#CB99FF', '#FB8072', '#80B1D3', '#FF8232' ] -codes = [[ - 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, - 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, - 0, 1, 0, 0, 1, 1, 1, 0, 1, 0 -], - [ - 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, - 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, - 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 -], - [ - 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, - 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, - 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0 -], - [ - 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, - 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, - 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1 -], - [ - 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, - 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, - 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1 -], - [ - 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, - 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0 -]] + +# Note: these rates work for a 60hz display +flicker_rates = [4, 5, 6, 10, 12, 15] +codes = [ + ssvep_to_code(refresh_rate=60, flicker_rate=hz) + for hz in flicker_rates +] + layout = centered(width_pct=0.95, height_pct=0.80) box_config = BoxConfiguration(layout, num_boxes=num_boxes, height_pct=0.30) From 6e9f3443ff37a676debb223a82a8741615fa9f71 Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 20 Nov 2023 17:32:20 -0800 Subject: [PATCH 171/330] Fixed issues with refresh rates --- bcipy/display/paradigm/vep/codes.py | 13 +++++++++++++ bcipy/display/paradigm/vep/display.py | 5 +++-- bcipy/display/tests/vep/test_codes.py | 8 +++++++- bcipy/task/paradigm/vep/calibration.py | 9 ++++++--- 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/bcipy/display/paradigm/vep/codes.py b/bcipy/display/paradigm/vep/codes.py index 41e75699c..14b9fdeee 100644 --- a/bcipy/display/paradigm/vep/codes.py +++ b/bcipy/display/paradigm/vep/codes.py @@ -63,3 +63,16 @@ def ssvep_to_code(refresh_rate: int = 60, flicker_rate: int = 10) -> List[int]: t = 1 - t return codes + + +def round_refresh_rate(rate: float) -> int: + """Round the given display rate to the nearest 10s value. + + >>> round_refresh_rate(59.12) + 60 + >>> round_refresh_rate(61.538) + 60 + >>> round_refresh_rate(121.23) + 120 + """ + return int(round(rate, -1)) diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index 5e7cfed65..6f7c3bba4 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -11,7 +11,8 @@ from bcipy.display.components.layout import scaled_size from bcipy.display.components.task_bar import TaskBar from bcipy.display.paradigm.matrix.layout import symbol_positions -from bcipy.display.paradigm.vep.codes import create_vep_codes +from bcipy.display.paradigm.vep.codes import (create_vep_codes, + round_refresh_rate) from bcipy.display.paradigm.vep.layout import BoxConfiguration, animation_path from bcipy.display.paradigm.vep.vep_stim import VEPStim from bcipy.helpers.clock import Clock @@ -52,7 +53,7 @@ def __init__(self, frame_rate = self.window.getActualFrameRate() assert frame_rate, 'An accurate window frame rate could not be established' self.window_size = self.window.size # [w, h] - self.refresh_rate = round(frame_rate) + self.refresh_rate = round_refresh_rate(frame_rate) self.logger = logging.getLogger(__name__) # number of VEP text areas diff --git a/bcipy/display/tests/vep/test_codes.py b/bcipy/display/tests/vep/test_codes.py index 56f399796..cd0584dbb 100644 --- a/bcipy/display/tests/vep/test_codes.py +++ b/bcipy/display/tests/vep/test_codes.py @@ -1,6 +1,6 @@ import unittest -from bcipy.display.paradigm.vep.codes import ssvep_to_code +from bcipy.display.paradigm.vep.codes import round_refresh_rate, ssvep_to_code from bcipy.helpers.exceptions import BciPyCoreException @@ -61,6 +61,12 @@ def test_insufficient_flicker_rate(self): with self.assertRaises(BciPyCoreException): ssvep_to_code(refresh_rate, flicker_rate) + def test_round_rate(self): + """Test rounding the refresh rate""" + self.assertEqual(60, round_refresh_rate(59.12)) + self.assertEqual(60, round_refresh_rate(61.538)) + self.assertEqual(120, round_refresh_rate(121.23)) + if __name__ == '__main__': unittest.main() diff --git a/bcipy/task/paradigm/vep/calibration.py b/bcipy/task/paradigm/vep/calibration.py index 94945c753..29030bbe6 100644 --- a/bcipy/task/paradigm/vep/calibration.py +++ b/bcipy/task/paradigm/vep/calibration.py @@ -8,7 +8,7 @@ from bcipy.display import InformationProperties, VEPStimuliProperties from bcipy.display.components.layout import centered from bcipy.display.components.task_bar import CalibrationTaskBar -from bcipy.display.paradigm.vep.codes import ssvep_to_code +from bcipy.display.paradigm.vep.codes import round_refresh_rate, ssvep_to_code from bcipy.display.paradigm.vep.display import VEPDisplay from bcipy.display.paradigm.vep.layout import BoxConfiguration from bcipy.helpers.clock import Clock @@ -242,9 +242,12 @@ def init_calibration_display(parameters: Parameters, colors=[parameters['task_color']], font=parameters['font'], height=parameters['task_height']) - flicker_rates = parameters['vep_flicker_rates'] + + # create codes from configuration + flicker_rates = parameters['vep_flicker_rates'].split(',') + rate = round_refresh_rate(window.getActualFrameRate()) codes = [ - ssvep_to_code(refresh_rate=60, flicker_rate=hz) + ssvep_to_code(refresh_rate=rate, flicker_rate=int(hz)) for hz in flicker_rates ] return VEPDisplay(window, From cfb4cc7605c847bd7f9324b09c3734715107700f Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 1 Dec 2023 12:30:06 -0800 Subject: [PATCH 172/330] #186539510 ; added parameter for task bar padding; fixed bug in matrix symbol positions; updated demos for matrix and task bar layouts. --- bcipy/display/components/task_bar.py | 26 ++++++++++---- bcipy/display/demo/components/demo_layouts.py | 10 ++++-- .../display/demo/components/demo_task_bar.py | 9 +++-- .../demo/matrix/demo_copyphrase_matrix.py | 7 ++-- .../display/demo/matrix/demo_matrix_layout.py | 36 +++++++++++-------- bcipy/display/paradigm/matrix/layout.py | 34 ++++++++++++++---- bcipy/parameters/parameters.json | 12 ++++++- bcipy/task/paradigm/matrix/calibration.py | 4 ++- bcipy/task/paradigm/matrix/copy_phrase.py | 4 ++- .../paradigm/rsvp/calibration/calibration.py | 3 +- bcipy/task/paradigm/rsvp/copy_phrase.py | 15 ++++---- 11 files changed, 110 insertions(+), 50 deletions(-) diff --git a/bcipy/display/components/task_bar.py b/bcipy/display/components/task_bar.py index 3d490faf6..654acd859 100644 --- a/bcipy/display/components/task_bar.py +++ b/bcipy/display/components/task_bar.py @@ -1,6 +1,6 @@ """Task bar component""" -from typing import Optional, Dict, List +from typing import Dict, List, Optional from psychopy import visual from psychopy.visual.basevisual import BaseVisualStim @@ -19,6 +19,8 @@ class TaskBar: font - Font to apply to all task stimuli height - Height of all task text stimuli text - Task text to apply to stimuli + padding - used in conjunction with the text height to compute the + overall height of the task bar. """ def __init__(self, @@ -26,19 +28,31 @@ def __init__(self, colors: Optional[List[str]] = None, font: str = 'Courier New', height: float = 0.1, - text: str = ''): + text: str = '', + padding: Optional[float] = None): self.win = win self.colors = colors or ['white'] self.font = font self.height = height + self.padding = (height / 2) if padding is None else padding self.text = text self.layout = layout.at_top(win, self.compute_height()) self.stim = self.init_stim() + @property + def height_pct(self) -> float: + """Percentage of the total window that the task bar occupies. + + Returns + ------- + percentage ; value will be between 0 and 1. + """ + win_layout = layout.Layout(self.win) + return self.compute_height() / win_layout.height + def compute_height(self): """Computes the component height using the provided config.""" - padding = 0.05 # determined by trial and error - return self.height + padding + return self.height + self.padding def init_stim(self) -> Dict[str, BaseVisualStim]: """Initialize the stimuli elements.""" @@ -56,6 +70,7 @@ def update(self, text: str = ''): def border_stim(self) -> visual.Line: """Create the task bar outline""" + # pylint: disable=not-callable return visual.Line( win=self.win, units=self.layout.units, @@ -146,10 +161,9 @@ def __init__(self, def compute_height(self): """Computes the component height using the provided config.""" - padding = 0.05 # determined by trial and error # height is doubled to account for task_text and spelled_text being on # separate lines. - return (self.height * 2) + padding + return (self.height * 2) + self.padding def init_stim(self) -> Dict[str, BaseVisualStim]: """Initialize the stimuli elements.""" diff --git a/bcipy/display/demo/components/demo_layouts.py b/bcipy/display/demo/components/demo_layouts.py index 234107fb4..b33ce06d4 100644 --- a/bcipy/display/demo/components/demo_layouts.py +++ b/bcipy/display/demo/components/demo_layouts.py @@ -2,7 +2,7 @@ import logging import sys import time -from typing import Optional, Callable, List, Tuple, Union +from typing import Callable, List, Optional, Tuple, Union from psychopy import visual from psychopy.visual.circle import Circle @@ -262,8 +262,11 @@ def demo_matrix_positions(win: visual.Window): dimensions as well as the number of rows and columns affects positioning. """ # norm_layout = centered(parent=win, width_pct=1., height_pct=0.5) - norm_layout = centered(parent=win, width_pct=0.75, height_pct=1) - positions = symbol_positions(norm_layout, rows=5, columns=6) + task_bar = at_top(parent=win, height=0.25) + win_layout = Layout(win) + + norm_layout = centered(parent=win, width_pct=0.7, height_pct=0.75) + positions = symbol_positions(norm_layout, rows=6, columns=6) for sym, pos in zip(alphabet(), positions): stim = visual.TextStim(win, @@ -272,6 +275,7 @@ def demo_matrix_positions(win: visual.Window): color='white', height=0.17) stim.draw() + draw_boundary(win, task_bar, line_px=5, color='green') draw_boundary(win, norm_layout, line_px=5, color='gray') draw_positions(win, positions, size=scaled_size(0.025, win.size)) win.flip() diff --git a/bcipy/display/demo/components/demo_task_bar.py b/bcipy/display/demo/components/demo_task_bar.py index 9eb48a21f..cd06ced78 100644 --- a/bcipy/display/demo/components/demo_task_bar.py +++ b/bcipy/display/demo/components/demo_task_bar.py @@ -1,6 +1,7 @@ """Demo for the task bar component""" import time from typing import Callable + from psychopy import visual from bcipy.display.components.task_bar import (CalibrationTaskBar, @@ -40,7 +41,9 @@ def demo_copy_phrase(win: visual.Window): task_bar = CopyPhraseTaskBar(win, task_text='HELLO_WORLD', spelled_text='HELLO', - colors=['white', 'green']) + font='Overpass Mono Medium', + colors=['white', 'green'], + padding=0.05) task_bar.draw() win.flip() @@ -80,5 +83,5 @@ def run(demo: Callable[[visual.Window], None], seconds=30): if __name__ == '__main__': # run(demo_calibration) - # run(demo_copy_phrase) - run(demo_task_bar) + run(demo_copy_phrase) + # run(demo_task_bar) diff --git a/bcipy/display/demo/matrix/demo_copyphrase_matrix.py b/bcipy/display/demo/matrix/demo_copyphrase_matrix.py index dca9c7e2c..866b73076 100644 --- a/bcipy/display/demo/matrix/demo_copyphrase_matrix.py +++ b/bcipy/display/demo/matrix/demo_copyphrase_matrix.py @@ -10,18 +10,19 @@ from bcipy.display.components.task_bar import CopyPhraseTaskBar from bcipy.display.paradigm.matrix.display import MatrixDisplay +font = "Overpass Mono Medium" info = InformationProperties( info_color=['White'], info_pos=[(-.5, -.75)], info_height=[0.1], - info_font=['Arial'], + info_font=[font], info_text=['Matrix Copy Phrase Demo'], ) task_height = 0.1 inter_stim_buffer = .5 -stim_properties = StimuliProperties(stim_font='Arial', +stim_properties = StimuliProperties(stim_font=font, stim_pos=(-0.6, 0.4), stim_height=0.17, is_txt_stim=True) @@ -70,7 +71,7 @@ task_text='COPY_PHRASE', spelled_text='COPY_PHA', colors=['white', 'green'], - font='Menlo') + font=font) display = MatrixDisplay(win, experiment_clock, diff --git a/bcipy/display/demo/matrix/demo_matrix_layout.py b/bcipy/display/demo/matrix/demo_matrix_layout.py index 061b24803..72249743b 100644 --- a/bcipy/display/demo/matrix/demo_matrix_layout.py +++ b/bcipy/display/demo/matrix/demo_matrix_layout.py @@ -5,16 +5,18 @@ import bcipy.display.components.layout as layout from bcipy.display import (InformationProperties, StimuliProperties, init_display_window) -from bcipy.display.components.task_bar import CalibrationTaskBar +from bcipy.display.components.task_bar import CopyPhraseTaskBar from bcipy.display.paradigm.matrix.display import MatrixDisplay -from bcipy.helpers.symbols import qwerty_order +# from bcipy.helpers.symbols import qwerty_order + +font = 'Overpass Mono Medium' # Initialize Stimulus window_parameters = { - 'full_screen': False, + 'full_screen': True, 'window_height': 500, 'window_width': 700, - 'stim_screen': 0, + 'stim_screen': 1, 'background_color': 'black' } @@ -22,21 +24,24 @@ win = init_display_window(window_parameters) win.recordFrameIntervals = False -task_bar = CalibrationTaskBar(win, - inquiry_count=5, - current_index=0, - font='Arial') +task_bar = CopyPhraseTaskBar(win, + task_text='HELLO_WORLD', + spelled_text='HELLO', + font=font, colors=['green'], + height=0.1, padding=0.15) + +matrix_height_pct = 1 - (2 * task_bar.height_pct) -stim_properties = StimuliProperties(stim_font='Arial', +stim_properties = StimuliProperties(stim_font=font, stim_pos=[], - stim_height=0.17, + stim_height=0.5, is_txt_stim=True) info = InformationProperties( info_color=['white'], info_pos=[layout.at_bottom(win, height=0.21).center], info_height=[0.1], - info_font=['Arial'], + info_font=[font], info_text=['Matrix Calibration Demo'], ) @@ -45,10 +50,11 @@ stim_properties, task_bar=task_bar, info=info, - rows=3, - columns=10, - width_pct=0.9, - sort_order=qwerty_order(is_txt_stim=True)) + rows=4, + columns=7, + width_pct=0.7, + height_pct=matrix_height_pct) +# sort_order=qwerty_order(is_txt_stim=True)) matrix_display.draw(grid_opacity=matrix_display.full_grid_opacity, grid_color=matrix_display.grid_color, diff --git a/bcipy/display/paradigm/matrix/layout.py b/bcipy/display/paradigm/matrix/layout.py index 0261b677c..cf5878aab 100644 --- a/bcipy/display/paradigm/matrix/layout.py +++ b/bcipy/display/paradigm/matrix/layout.py @@ -1,6 +1,6 @@ """Functions for calculating matrix layouts""" import logging -from typing import Optional, List, Tuple +from typing import List, Optional, Tuple from bcipy.display.components.layout import (Layout, above, below, left_of, right_of, scaled_height, @@ -30,19 +30,39 @@ def symbol_positions(container: Layout, rows: int, assert rows >= 1 and columns >= 1, "There must be at least one row and one column" # compute the spacing (in container units) from the container width and height + win_size = container.parent.size + win_width, win_height = win_size + horizontal_spacing = container.width / (columns + 1) vertical_spacing = container.height / (rows + 1) + # determine which is smaller after scaling to the window aspect ratio + if (win_width > win_height): + # wider than tall + scaled_horizontal_spacing = scaled_height(horizontal_spacing, win_size) + scaled_vertical_spacing = vertical_spacing + elif (win_height > win_width): + # taller than wide + scaled_horizontal_spacing = horizontal_spacing + scaled_vertical_spacing = scaled_width(vertical_spacing, win_size) + else: + # square window + scaled_horizontal_spacing = horizontal_spacing + scaled_vertical_spacing = vertical_spacing + + print( + f"horizontal_spacing: {horizontal_spacing}; vertical_spacing: {vertical_spacing}" + ) + print(f"scaled_horizontal_spacing: {scaled_horizontal_spacing}; scaled_vertical_spacing: {scaled_vertical_spacing}") if max_spacing and vertical_spacing > max_spacing: vertical_spacing = max_spacing - # Use the minimum spacing - if horizontal_spacing < vertical_spacing: - vertical_spacing = scaled_height(horizontal_spacing, - container.parent.size) + if scaled_horizontal_spacing < scaled_vertical_spacing: + vertical_spacing = scaled_height(horizontal_spacing, win_size) + print(f"Setting vertical spacing to {vertical_spacing}") else: - horizontal_spacing = scaled_width(vertical_spacing, - container.parent.size) + horizontal_spacing = scaled_width(vertical_spacing, win_size) + print(f"Setting horizontal spacing to {horizontal_spacing}") # Work back from center to compute the starting position center_x, center_y = container.center diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index c1fe3cb0b..5c72ac995 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -392,7 +392,7 @@ "type": "float" }, "font": { - "value": "Consolas", + "value": "Overpass Mono Medium", "section": "bci_config", "readableName": "Font", "helpTip": "Specifies the font used for all text stimuli. Default: Consolas", @@ -523,6 +523,16 @@ "recommended_values": "", "type": "str" }, + "task_padding": { + "value": "0.05", + "section": "bci_config", + "readableName": "Task Bar Padding", + "helpTip": "Specifies the padding around the task bar text. Default: 0.1", + "recommended_values": [ + "0.05" + ], + "type": "float" + }, "stim_number": { "value": "100", "section": "bci_config", diff --git a/bcipy/task/paradigm/matrix/calibration.py b/bcipy/task/paradigm/matrix/calibration.py index 7c9b8b61c..628466b2c 100644 --- a/bcipy/task/paradigm/matrix/calibration.py +++ b/bcipy/task/paradigm/matrix/calibration.py @@ -267,7 +267,8 @@ def init_calibration_display_task( current_index=0, colors=[parameters['task_color']], font=parameters['font'], - height=parameters['task_height']) + height=parameters['task_height'], + padding=parameters['task_padding']) return MatrixDisplay( window, @@ -278,5 +279,6 @@ def init_calibration_display_task( rows=parameters['matrix_rows'], columns=parameters['matrix_columns'], width_pct=parameters['matrix_width'], + height_pct=1 - (2 * task_bar.height_pct), trigger_type=parameters['trigger_type'], symbol_set=symbol_set) diff --git a/bcipy/task/paradigm/matrix/copy_phrase.py b/bcipy/task/paradigm/matrix/copy_phrase.py index b2f44da69..f18a44559 100644 --- a/bcipy/task/paradigm/matrix/copy_phrase.py +++ b/bcipy/task/paradigm/matrix/copy_phrase.py @@ -65,7 +65,8 @@ def init_display(parameters, win, experiment_clock, starting_spelled_text) -> Ma spelled_text=starting_spelled_text, colors=[parameters['task_color']], font=parameters['font'], - height=parameters['task_height']) + height=parameters['task_height'], + padding=parameters['task_padding']) return MatrixDisplay( win, @@ -76,5 +77,6 @@ def init_display(parameters, win, experiment_clock, starting_spelled_text) -> Ma rows=parameters['matrix_rows'], columns=parameters['matrix_columns'], width_pct=parameters['matrix_width'], + height_pct=1 - (2 * task_bar.height_pct), trigger_type=parameters['trigger_type'], should_prompt_target=False) diff --git a/bcipy/task/paradigm/rsvp/calibration/calibration.py b/bcipy/task/paradigm/rsvp/calibration/calibration.py index 23aa220b1..475f30755 100644 --- a/bcipy/task/paradigm/rsvp/calibration/calibration.py +++ b/bcipy/task/paradigm/rsvp/calibration/calibration.py @@ -255,7 +255,8 @@ def init_calibration_display_task( current_index=0, colors=[parameters['task_color']], font=parameters['font'], - height=parameters['task_height']) + height=parameters['task_height'], + padding=parameters['task_padding']) preview_inquiry = PreviewInquiryProperties( preview_only=True, diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index 7c25b0c87..7f4c0d976 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -4,14 +4,10 @@ from psychopy import core, visual -from bcipy.config import ( - SESSION_DATA_FILENAME, - SESSION_SUMMARY_FILENAME, - TRIGGER_FILENAME, - WAIT_SCREEN_MESSAGE, - DEFAULT_EVIDENCE_PRECISION) -from bcipy.display import (InformationProperties, - PreviewInquiryProperties, +from bcipy.config import (DEFAULT_EVIDENCE_PRECISION, SESSION_DATA_FILENAME, + SESSION_SUMMARY_FILENAME, TRIGGER_FILENAME, + WAIT_SCREEN_MESSAGE) +from bcipy.display import (InformationProperties, PreviewInquiryProperties, StimuliProperties) from bcipy.display.components.task_bar import CopyPhraseTaskBar from bcipy.display.paradigm.rsvp.mode.copy_phrase import CopyPhraseDisplay @@ -927,7 +923,8 @@ def _init_copy_phrase_display( spelled_text=starting_spelled_text, colors=[parameters['task_color']], font=parameters['font'], - height=parameters['task_height']) + height=parameters['task_height'], + padding=parameters['task_padding']) return CopyPhraseDisplay( win, From 2e1981b029df4c319226f88f197f566db0e87c65 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 1 Dec 2023 12:47:29 -0800 Subject: [PATCH 173/330] Removed debugging code --- bcipy/display/demo/components/demo_layouts.py | 2 +- bcipy/display/paradigm/matrix/layout.py | 6 ------ 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/bcipy/display/demo/components/demo_layouts.py b/bcipy/display/demo/components/demo_layouts.py index b33ce06d4..7934a1e39 100644 --- a/bcipy/display/demo/components/demo_layouts.py +++ b/bcipy/display/demo/components/demo_layouts.py @@ -266,7 +266,7 @@ def demo_matrix_positions(win: visual.Window): win_layout = Layout(win) norm_layout = centered(parent=win, width_pct=0.7, height_pct=0.75) - positions = symbol_positions(norm_layout, rows=6, columns=6) + positions = symbol_positions(norm_layout, rows=5, columns=6) for sym, pos in zip(alphabet(), positions): stim = visual.TextStim(win, diff --git a/bcipy/display/paradigm/matrix/layout.py b/bcipy/display/paradigm/matrix/layout.py index cf5878aab..7ecccd814 100644 --- a/bcipy/display/paradigm/matrix/layout.py +++ b/bcipy/display/paradigm/matrix/layout.py @@ -50,19 +50,13 @@ def symbol_positions(container: Layout, rows: int, scaled_horizontal_spacing = horizontal_spacing scaled_vertical_spacing = vertical_spacing - print( - f"horizontal_spacing: {horizontal_spacing}; vertical_spacing: {vertical_spacing}" - ) - print(f"scaled_horizontal_spacing: {scaled_horizontal_spacing}; scaled_vertical_spacing: {scaled_vertical_spacing}") if max_spacing and vertical_spacing > max_spacing: vertical_spacing = max_spacing # Use the minimum spacing if scaled_horizontal_spacing < scaled_vertical_spacing: vertical_spacing = scaled_height(horizontal_spacing, win_size) - print(f"Setting vertical spacing to {vertical_spacing}") else: horizontal_spacing = scaled_width(vertical_spacing, win_size) - print(f"Setting horizontal spacing to {horizontal_spacing}") # Work back from center to compute the starting position center_x, center_y = container.center From cad9077d71c3659f11e8a4ab89d6037df95b8983 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 1 Dec 2023 16:00:48 -0800 Subject: [PATCH 174/330] Added README for matrix display --- bcipy/display/paradigm/matrix/README.md | 116 ++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 bcipy/display/paradigm/matrix/README.md diff --git a/bcipy/display/paradigm/matrix/README.md b/bcipy/display/paradigm/matrix/README.md new file mode 100644 index 000000000..22d731125 --- /dev/null +++ b/bcipy/display/paradigm/matrix/README.md @@ -0,0 +1,116 @@ +# Matrix Display + +The matrix display presents a list of symbols in a grid format. Grid items are evenly spaced. All grid items are always displayed. The matrix can be drawn at different opacities and with different symbols highlighted. + +## Basic usage + +A matrix display needs a psychopy Window, core.Clock, and configuration for the stimuli (StimuliProperties), task_bar (TaskBar), and information elements (InformationProperties). + +``` +from psychopy import core + +import bcipy.display.components.layout as layout +from bcipy.display import (InformationProperties, StimuliProperties, + init_display_window) +from bcipy.display.components.task_bar import CopyPhraseTaskBar +from bcipy.display.paradigm.matrix.display import MatrixDisplay + +win = init_display_window(window_parameters) +task_bar = CalibrationPhraseTaskBar(win, inquiry_count=100) +stim_properties = StimuliProperties(stim_font=font, + stim_pos=[], + stim_height=0.5) +info = InformationProperties( + info_color=['white'], + info_pos=[layout.at_bottom(win, height=0.21).center], + info_height=[0.1], + info_font=[font], + info_text=['Matrix Calibration Demo'], +) + +matrix_display = MatrixDisplay(win, + core.Clock(), + stim_properties, + task_bar=task_bar, + info=info) + +matrix_display.draw(grid_opacity=matrix_display.full_grid_opacity, + grid_color=matrix_display.grid_color, + duration=10) +``` + +## Specify rows and columns + +The number of rows and columns can be specified by using the provided parameters. The number of rows x columns must be greater than or equal to the number of symbols. + +When using a task, the `matrix_rows` and `matrix_columns` parameters are used for customization. + +``` +matrix_display = MatrixDisplay(win, + experiment_clock, + stim_properties, + task_bar=task_bar, + info=info, + rows=4, + columns=7) +``` + +## Sorting stimuli + +A sort order function for the symbols can specified. The sort function includes the ability to provide blank spaces within the grid. + +``` +from bcipy.helpers.symbols import qwerty_order +matrix_display = MatrixDisplay(win, + experiment_clock, + stim_properties, + task_bar=task_bar, + info=info, + rows=3, + columns=10, + sort_order=qwerty_order(is_txt_stim=True)) +``` + +## Layout + +Symbol positions are calculated when the display is initialized. The grid will be centered within the window. By default the grid will take up 75% of the width, and 80% of the height, or whichever is smaller depending on the aspect ratio of your monitor. These values can be adjusted by provided a width_pct and height_pct parameter. + +When using a task, the `matrix_width` parameter is used for customization. + +``` +# determine matrix height based on the size of the task_bar +matrix_height_pct = 1 - (2 * task_bar.height_pct) +matrix_display = MatrixDisplay(win, + experiment_clock, + stim_properties, + task_bar=task_bar, + info=info, + rows=4, + columns=7, + width_pct=0.7, + height_pct=matrix_height_pct) +``` + +## Symbol positions + +Symbol positions are logged after calculation. + +## Troubleshooting + +You may need to do some trial and error to determine the best matrix configuration for your display. The following demos are helpful for experimenting with different layouts. + +* bcipy/display/demo/matrix/demo_matrix_layout.py +* bcipy/display/demo/components/demo_task_bar.py (useful if task_bar is cutoff and the task_padding needs adjustment) +* bcipy/display/demo/components/demo_layouts.py + + +## Recommended parameters + +For tasks which use the matrix display, the following parameters are recommended: + +``` + time_fixation: 2 + stim_height: 0.17 + task_height: 0.1 + task_padding: 0.05 +``` \ No newline at end of file From 5713b7c4367de198d499147c516348d3b84e63e0 Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Sun, 3 Dec 2023 17:28:37 -0500 Subject: [PATCH 175/330] typing incorrect decisions and backspace support --- bcipy/simulator/helpers/rsvp_utils.py | 10 ++++++++ bcipy/simulator/helpers/state_manager.py | 31 ++++++++++-------------- 2 files changed, 23 insertions(+), 18 deletions(-) create mode 100644 bcipy/simulator/helpers/rsvp_utils.py diff --git a/bcipy/simulator/helpers/rsvp_utils.py b/bcipy/simulator/helpers/rsvp_utils.py new file mode 100644 index 000000000..69deca824 --- /dev/null +++ b/bcipy/simulator/helpers/rsvp_utils.py @@ -0,0 +1,10 @@ +from bcipy.helpers.symbols import BACKSPACE_CHAR + + +def next_target_letter(current_sentence, target_sentence): + """Computes the next target letter based on the currently spelled_text. + """ + if target_sentence[0:len(current_sentence)] == current_sentence: + # if correctly spelled so far, get the next letter. + return target_sentence[len(current_sentence)] if len(current_sentence) < len(target_sentence) else target_sentence[-1] + return BACKSPACE_CHAR diff --git a/bcipy/simulator/helpers/state_manager.py b/bcipy/simulator/helpers/state_manager.py index 8aaccfa79..05c0d6530 100644 --- a/bcipy/simulator/helpers/state_manager.py +++ b/bcipy/simulator/helpers/state_manager.py @@ -5,11 +5,13 @@ import numpy as np +from bcipy.helpers import symbols from bcipy.helpers.exceptions import FieldException from bcipy.helpers.parameters import Parameters -from bcipy.helpers.symbols import alphabet +from bcipy.helpers.symbols import alphabet, BACKSPACE_CHAR from bcipy.simulator.helpers.decision import SimDecisionCriteria, MaxIterationsSim, ProbThresholdSim from bcipy.simulator.helpers.evidence_fuser import MultiplyFuser, EvidenceFuser +from bcipy.simulator.helpers.rsvp_utils import next_target_letter from bcipy.simulator.helpers.types import InquiryResult from bcipy.task.control.criteria import DecisionCriteria, MaxIterationsCriteria, ProbThresholdCriteria from bcipy.task.control.handler import EvidenceFusion @@ -83,6 +85,7 @@ def update(self, evidence) -> InquiryResult: evidence_likelihoods=list(evidence), fused_likelihood=fused_likelihood, # TODO change to use evidence_dict decision=None) + # can we make decision temp_series = copy.deepcopy(self.get_state().series_results) temp_series[-1].append(temp_inquiry_result) is_decidable = any([decider.decide(temp_series[-1]) for decider in self.state.decision_criterion]) @@ -91,23 +94,15 @@ def update(self, evidence) -> InquiryResult: new_state = self.get_state().__dict__ if is_decidable: decision = alphabet()[np.argmax(evidence)] # deciding the maximum probability symbol TODO abstract - if decision == self.state.target_symbol: # correct decision - new_state['series_n'] += 1 # TODO abstract out into reset function - new_state['series_results'].append([]) - new_state['inquiry_n'] = 0 - - new_state['current_sentence'] += decision - - next_target_symbol_idx = len(new_state['current_sentence']) - if next_target_symbol_idx >= len(self.state.target_sentence): - pass - else: - new_state['target_symbol'] = self.state.target_sentence[next_target_symbol_idx] - - else: # wrong decision - new_state['series_n'] += 1 - new_state['series_results'].append([]) - new_state['inquiry_n'] = 0 + + # resetting series + new_state['series_n'] += 1 + new_state['series_results'].append([]) + new_state['inquiry_n'] = 0 + + # updating current sentence and finding next target + new_state['current_sentence'] = new_state['current_sentence'] + decision if decision != BACKSPACE_CHAR else new_state['current_sentence'][:-1] + new_state['target_symbol'] = next_target_letter(new_state['current_sentence'], self.state.target_sentence) else: new_state['inquiry_n'] += 1 From 224eb32a062d9f8aa299b054d08d5e1cf196204a Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Sun, 3 Dec 2023 18:45:53 -0500 Subject: [PATCH 176/330] cli runnable simulator --- bcipy/simulator/__main__.py | 28 +++++++++++++ bcipy/simulator/helpers/metrics.py | 9 ++++ bcipy/simulator/helpers/model_handler.py | 36 ++++++++++++++++ bcipy/simulator/helpers/sampler.py | 4 +- bcipy/simulator/helpers/state_manager.py | 4 +- bcipy/simulator/interfaces.py | 20 --------- bcipy/simulator/main.py | 52 ------------------------ bcipy/simulator/sim.py | 4 +- bcipy/simulator/sim_factory.py | 29 +++++++++++++ bcipy/simulator/tests/sampler_test.py | 32 +++------------ 10 files changed, 114 insertions(+), 104 deletions(-) create mode 100644 bcipy/simulator/__main__.py create mode 100644 bcipy/simulator/helpers/metrics.py create mode 100644 bcipy/simulator/helpers/model_handler.py delete mode 100644 bcipy/simulator/interfaces.py delete mode 100644 bcipy/simulator/main.py diff --git a/bcipy/simulator/__main__.py b/bcipy/simulator/__main__.py new file mode 100644 index 000000000..8777f5e07 --- /dev/null +++ b/bcipy/simulator/__main__.py @@ -0,0 +1,28 @@ +import argparse +from pathlib import Path + +from bcipy.simulator.sim_factory import SimulationFactory, SimulationFactoryV2 +from bcipy.simulator.simulator_base import Simulator + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument( + "-d", + "--data_folders", + action="append", + type=Path, + required=True, + help="Raw data folders to be processed. This argument can be repeated to accumulate sessions data.") + parser.add_argument( + "-sm", + "--smodel_files", + action="append", + type=Path, + required=True, + help="Signal models to be used") + parser.add_argument("-o", "--out_dir", type=Path, default=Path(__file__).resolve().parent) + + args = vars(parser.parse_args()) + + simulator: Simulator = SimulationFactoryV2.create(**args) + simulator.run() diff --git a/bcipy/simulator/helpers/metrics.py b/bcipy/simulator/helpers/metrics.py new file mode 100644 index 000000000..3352c49a3 --- /dev/null +++ b/bcipy/simulator/helpers/metrics.py @@ -0,0 +1,9 @@ +from abc import ABC + + +class MetricReferee(ABC): + ... + + +class DummyRef(MetricReferee): + pass diff --git a/bcipy/simulator/helpers/model_handler.py b/bcipy/simulator/helpers/model_handler.py new file mode 100644 index 000000000..5b443b382 --- /dev/null +++ b/bcipy/simulator/helpers/model_handler.py @@ -0,0 +1,36 @@ +import pickle +from abc import ABC +from typing import Optional + +from bcipy.helpers.symbols import alphabet +from bcipy.signal.model import SignalModel +from bcipy.simulator.helpers.state_manager import SimState + + +class ModelHandler(ABC): + + def generate_evidence(self, state: SimState, features): + ... + + def get_model(self, key=None): + ... + + +class SignalModelHandler1(ModelHandler): + + def __init__(self, model_file): + self.model_file = model_file + self.signal_model: Optional[SignalModel] = None + + def generate_evidence(self, state: SimState, features): + with open(self.model_file, "rb") as signal_file: + self.signal_model = pickle.load(signal_file) + + stimuli = state.display_alphabet + alp = alphabet() + eeg_evidence = self.signal_model.predict(features, stimuli, alp) + + return eeg_evidence + + def get_model(self, key=None): + return self.signal_model diff --git a/bcipy/simulator/helpers/sampler.py b/bcipy/simulator/helpers/sampler.py index de3e217dc..3111d2370 100644 --- a/bcipy/simulator/helpers/sampler.py +++ b/bcipy/simulator/helpers/sampler.py @@ -10,7 +10,7 @@ from bcipy.helpers.symbols import alphabet from bcipy.simulator.helpers.data_engine import RawDataEngine from bcipy.simulator.helpers.log_utils import format_sample_rows -from bcipy.simulator.interfaces import SimState +from bcipy.simulator.helpers.state_manager import SimState log = logging.getLogger(__name__) @@ -25,7 +25,7 @@ def set_reshaper(self, reshaper: Callable): ... -class SimpleLetterSampler(Sampler): +class EEGByLetterSampler(Sampler): def __init__(self, data_engine: RawDataEngine, params: List[Parameters] = None): self.data_engine: RawDataEngine = data_engine diff --git a/bcipy/simulator/helpers/state_manager.py b/bcipy/simulator/helpers/state_manager.py index 05c0d6530..e5013365a 100644 --- a/bcipy/simulator/helpers/state_manager.py +++ b/bcipy/simulator/helpers/state_manager.py @@ -1,4 +1,5 @@ import copy +import random from abc import ABC, abstractmethod from dataclasses import dataclass from typing import List, Optional, Dict @@ -133,9 +134,10 @@ def initial_state(parameters: Parameters = None) -> SimState: sentence = "HELLO_WORLD" # TODO abstract out with sim_parameters.json target_symbol = sentence[0] # TODO use parameters.get('spelled_letters_count') default_criterion: List[SimDecisionCriteria] = [MaxIterationsSim(50), ProbThresholdSim(0.8)] + init_stimuli = random.sample(alphabet(), 10) evidence_types = parameters.get( 'evidence_types') if parameters else None # TODO make new parameter and create default series_likelihoods object based off that - return SimState(target_symbol=target_symbol, current_sentence="", target_sentence=sentence, display_alphabet=[], inquiry_n=0, series_n=0, + return SimState(target_symbol=target_symbol, current_sentence="", target_sentence=sentence, display_alphabet=init_stimuli, inquiry_n=0, series_n=0, series_results=[[]], decision_criterion=default_criterion) diff --git a/bcipy/simulator/interfaces.py b/bcipy/simulator/interfaces.py deleted file mode 100644 index cac2c8120..000000000 --- a/bcipy/simulator/interfaces.py +++ /dev/null @@ -1,20 +0,0 @@ -from abc import ABC - -from bcipy.helpers.symbols import alphabet -from bcipy.signal.model import PcaRdaKdeModel -from bcipy.simulator.helpers.state_manager import SimState - - -class ModelHandler(ABC): - - def generate_evidence(self, state: SimState, features): - ... - - def get_model(self, key=None): - ... - - -class MetricReferee: - ... - - diff --git a/bcipy/simulator/main.py b/bcipy/simulator/main.py deleted file mode 100644 index 360ad8299..000000000 --- a/bcipy/simulator/main.py +++ /dev/null @@ -1,52 +0,0 @@ -import argparse -from pathlib import Path - -from bcipy.helpers.load import load_json_parameters -from bcipy.simulator.sim_factory import SimulationFactory - -if __name__ == "__main__": - - parser = argparse.ArgumentParser() - parser.add_argument( - "-d", - "--data_folders", - action="append", - type=Path, - required=True, - help="Session data folders to be processed. This argument can be repeated to accumulate sessions data.") - parser.add_argument( - "-sm", - "--smodel_files", - action="append", - type=Path, - required=True, - help="Signal models to be used") - parser.add_argument( - "-lm", - "--lmodel_file", - action="append", - type=Path, - required=False, - help="Language models to be used") - parser.add_argument("-o", "--out_dir", type=Path, default=None) - parser.add_argument( - "-p", - "--parameter_path", - type=Path, - default=None, - help="Parameter file to be used for replay. If none, the session parameter file will be used.") - - args = vars(parser.parse_args()) - - # assert len(set(args['data_folders'])) == len(args.data_folders), "Duplicated data folders" - - if args['out_dir'] is None: - args['out_dir'] = Path(__file__).resolve().parent - - # Load parameters - sim_parameters = load_json_parameters("bcipy/simulator/sim_parameters.json", value_cast=True) - sim_task = sim_parameters.get("sim_task") - args['sim_task'] = sim_task - - simulator = SimulationFactory.create(**args) - simulator.run() diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index 55aa38491..8d5e631cd 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -1,4 +1,3 @@ -import datetime import logging import random from time import sleep @@ -9,11 +8,12 @@ from bcipy.helpers import load, stimuli, symbols from bcipy.helpers.symbols import alphabet from bcipy.simulator.helpers.data_engine import DataEngine +from bcipy.simulator.helpers.metrics import MetricReferee from bcipy.simulator.helpers.sampler import Sampler from bcipy.simulator.helpers.state_manager import StateManager, SimState from bcipy.simulator.helpers.types import InquiryResult from bcipy.simulator.helpers.log_utils import format_alp_likelihoods -from bcipy.simulator.interfaces import MetricReferee, ModelHandler +from bcipy.simulator.helpers.model_handler import ModelHandler from bcipy.simulator.simulator_base import Simulator log = logging.getLogger(__name__) diff --git a/bcipy/simulator/sim_factory.py b/bcipy/simulator/sim_factory.py index 38fbb5f73..70eaeb154 100644 --- a/bcipy/simulator/sim_factory.py +++ b/bcipy/simulator/sim_factory.py @@ -1,6 +1,16 @@ from pathlib import Path +from typing import List + +import numpy as np from bcipy.config import DEFAULT_PARAMETER_FILENAME +from bcipy.helpers.load import load_json_parameters +from bcipy.simulator.helpers.data_engine import RawDataEngine +from bcipy.simulator.helpers.metrics import MetricReferee, DummyRef +from bcipy.simulator.helpers.model_handler import SignalModelHandler1, ModelHandler +from bcipy.simulator.helpers.sampler import Sampler, EEGByLetterSampler +from bcipy.simulator.helpers.state_manager import StateManager, StateManagerImpl +from bcipy.simulator.sim import SimulatorCopyPhrase from bcipy.simulator.sim_copy_phrase import SimulatorCopyPhraseReplay from bcipy.simulator.simulator_base import Simulator @@ -27,3 +37,22 @@ def create( verbose=kwargs.get('verbose', False)) # TODO refactor for sampling simulator + + +class SimulationFactoryV2: + @staticmethod + def create(data_folders: List[str], smodel_files: List[str], sim_param_path="bcipy/simulator/sim_parameters.json", **kwargs): + out_dir = kwargs.get('out_dir', Path(__file__).resolve().parent) + + model_file = Path(smodel_files.pop()) + sim_parameters = load_json_parameters(sim_param_path, value_cast=True) + + data_engine = RawDataEngine(data_folders) + stateManager: StateManager = StateManagerImpl(sim_parameters) + sampler: Sampler = EEGByLetterSampler(data_engine) + model_handler: ModelHandler = SignalModelHandler1(model_file) + referee: MetricReferee = DummyRef() + + sim = SimulatorCopyPhrase(data_engine, model_handler, sampler, stateManager, referee) + + return sim diff --git a/bcipy/simulator/tests/sampler_test.py b/bcipy/simulator/tests/sampler_test.py index 7558be370..452197cde 100644 --- a/bcipy/simulator/tests/sampler_test.py +++ b/bcipy/simulator/tests/sampler_test.py @@ -5,36 +5,14 @@ from bcipy.helpers.load import load_json_parameters from bcipy.helpers.symbols import alphabet -from bcipy.signal.model import PcaRdaKdeModel from bcipy.simulator.helpers.data_engine import RawDataEngine -from bcipy.simulator.helpers.sampler import Sampler, SimpleLetterSampler +from bcipy.simulator.helpers.metrics import DummyRef +from bcipy.simulator.helpers.sampler import Sampler, EEGByLetterSampler from bcipy.simulator.helpers.state_manager import StateManagerImpl, StateManager, SimState -from bcipy.simulator.interfaces import ModelHandler, MetricReferee +from bcipy.simulator.helpers.model_handler import SignalModelHandler1 from bcipy.simulator.sim import SimulatorCopyPhrase -class DummyModelHandler(ModelHandler): - - def __init__(self, model_file): - self.model_file = model_file - - def generate_evidence(self, state: SimState, features): - model = PcaRdaKdeModel() - model = model.load(self.model_file) - - stimuli = state.display_alphabet - alp = alphabet() - eeg_evidence = model.predict(features, stimuli, alp) - - return eeg_evidence - - def get_model(self, key=None): - pass - - -class DummyRef(MetricReferee): - pass - if __name__ == "__main__": args = dict() @@ -57,9 +35,9 @@ class DummyRef(MetricReferee): stateManager.mutate_state("display_alphabet", display_alp) print(stateManager.get_state()) - sampler: Sampler = SimpleLetterSampler(data_engine) + sampler: Sampler = EEGByLetterSampler(data_engine) sample: np.ndarray = sampler.sample(stateManager.get_state()) - model_handler = DummyModelHandler(model_file) + model_handler = SignalModelHandler1(model_file) sim = SimulatorCopyPhrase(data_engine, model_handler, sampler, stateManager, DummyRef()) sim.run() From bfb4ecc44d4e6198cad81670fd85e048d445efe2 Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Sun, 3 Dec 2023 18:49:26 -0500 Subject: [PATCH 177/330] time step sleep in sim_parameters.json --- bcipy/simulator/sim.py | 2 +- bcipy/simulator/sim_parameters.json | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index 8d5e631cd..7697e0836 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -83,7 +83,7 @@ def run(self): log.info(f"Decided {inq_record.decision} for target {inq_record.target}") log.info(f"Current typed: {updated_state.current_sentence}") - sleep(.5) + sleep(self.parameters.get("sim_sleep_time", 0.5)) final_state = self.state_manager.get_state() log.info(f"SIM END") diff --git a/bcipy/simulator/sim_parameters.json b/bcipy/simulator/sim_parameters.json index 301ab6203..926037a3e 100644 --- a/bcipy/simulator/sim_parameters.json +++ b/bcipy/simulator/sim_parameters.json @@ -20,5 +20,17 @@ "1" ], "type": "str" + }, + "sim_sleep_time": { + "value": "0.25", + "section": "sim_config", + "readableName": "Simulation Time Step ", + "helpTip": "How long to sleep in between simulation time steps", + "recommended_values": [ + "0", + "0.5", + "1" + ], + "type": "float" } } \ No newline at end of file From 4102a83d7fa2b93ad4f92a286e3912fe65c5fd72 Mon Sep 17 00:00:00 2001 From: tab-cmd Date: Mon, 4 Dec 2023 17:51:12 -0800 Subject: [PATCH 178/330] Output stim positions, capture screenshots, more cleanup (#303) * stimuli position export + capture matrix grid * update offline analysis and gaze visualization * remove unneeded class variable * dsi-flex and better starting parameters * update the calibration tests to mock open and prevent testing issues on Windows * revert parameter change * update to workflow to fix Windows build * revert actions change, lock a pyqt6 dep * remove unneeded assertions and save the current task bar index before a screen capture * add more info to output, update CHANGELOG --- .coveragerc | 1 + CHANGELOG.md | 2 +- bcipy/acquisition/tests/test_devices.py | 2 +- bcipy/config.py | 4 + bcipy/display/paradigm/matrix/display.py | 27 +- bcipy/feedback/demo/demo_level_feedback.py | 38 --- bcipy/feedback/visual/level_feedback.py | 130 -------- bcipy/helpers/save.py | 51 ++- bcipy/helpers/tests/test_save.py | 37 +- bcipy/helpers/visualization.py | 11 +- bcipy/parameters/devices.json | 17 + bcipy/parameters/parameters.json | 4 +- bcipy/signal/model/offline_analysis.py | 34 +- bcipy/task/README.md | 15 +- bcipy/task/main.py | 3 - bcipy/task/paradigm/matrix/calibration.py | 82 +++-- bcipy/task/paradigm/matrix/copy_phrase.py | 3 +- .../paradigm/rsvp/calibration/calibration.py | 29 +- .../rsvp/calibration/timing_verification.py | 36 +- bcipy/task/paradigm/rsvp/copy_phrase.py | 24 +- bcipy/task/start_task.py | 1 + .../matrix/test_matrix_calibration.py | 315 ++++++++++++++++++ .../rsvp/calibration/test_rsvp_calibration.py | 310 +++++++++++++++++ .../tests/paradigm/rsvp/test_copy_phrase.py | 2 - requirements.txt | 1 + 25 files changed, 909 insertions(+), 270 deletions(-) delete mode 100644 bcipy/feedback/demo/demo_level_feedback.py delete mode 100644 bcipy/feedback/visual/level_feedback.py create mode 100644 bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py create mode 100644 bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py diff --git a/.coveragerc b/.coveragerc index a32c1d6e6..c7ad07bca 100644 --- a/.coveragerc +++ b/.coveragerc @@ -6,6 +6,7 @@ omit = *tests* *test* *demo* + *exceptions.py */gui/* [report] diff --git a/CHANGELOG.md b/CHANGELOG.md index cf7e847d6..668342acd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ Our last release candidate before the official 2.0 release! - Model - Offline analysis to support multimodal fusion. Initial release of GazeModel, GazeReshaper, and Gaze Visualization #294 - Stimuli - - Updates to ensure stimuli are presented at the same frequency #287 + - Updates to ensure stimuli are presented at the same frequency #287 Output stimuli position, screen capture and monitor information after Matrix tasks #303 - Dynamic Selection Window - Updated trial_length to trial_window to allow for greater control of window used after stimulus presentations #291 - Parameters diff --git a/bcipy/acquisition/tests/test_devices.py b/bcipy/acquisition/tests/test_devices.py index ea91671ca..31c0a766c 100644 --- a/bcipy/acquisition/tests/test_devices.py +++ b/bcipy/acquisition/tests/test_devices.py @@ -27,7 +27,7 @@ def test_default_supported_devices(self): dsi = supported['DSI-24'] self.assertEqual('EEG', dsi.content_type) - self.assertEqual(len(devices.with_content_type('EEG')), 3) + self.assertEqual(len(devices.with_content_type('EEG')), 4) def test_load_from_config(self): """Should be able to load a list of supported devices from a diff --git a/bcipy/config.py b/bcipy/config.py index 02a079d76..db85fe06c 100644 --- a/bcipy/config.py +++ b/bcipy/config.py @@ -37,6 +37,9 @@ DEFAULT_FIXATION_PATH = f'{STATIC_IMAGES_PATH}/main/PLUS.png' DEFAULT_TEXT_FIXATION = '+' +MATRIX_IMAGE_FILENAME = 'matrix.png' +DEFAULT_GAZE_IMAGE_PATH = f'{STATIC_IMAGES_PATH}/main/{MATRIX_IMAGE_FILENAME}' + # core data configuration RAW_DATA_FILENAME = 'raw_data' EYE_TRACKER_FILENAME_PREFIX = 'eyetracker_data' @@ -44,6 +47,7 @@ SESSION_DATA_FILENAME = 'session.json' SESSION_SUMMARY_FILENAME = 'session.xlsx' LOG_FILENAME = 'bcipy_system_log.txt' +STIMULI_POSITIONS_FILENAME = 'stimuli_positions.json' # misc configuration WAIT_SCREEN_MESSAGE = 'Press Space to start or Esc to exit' diff --git a/bcipy/display/paradigm/matrix/display.py b/bcipy/display/paradigm/matrix/display.py index ccb8bd1ef..229de7e97 100644 --- a/bcipy/display/paradigm/matrix/display.py +++ b/bcipy/display/paradigm/matrix/display.py @@ -5,6 +5,7 @@ from psychopy import core, visual import bcipy.display.components.layout as layout +from bcipy.config import MATRIX_IMAGE_FILENAME from bcipy.display import (BCIPY_LOGO_PATH, Display, InformationProperties, StimuliProperties) from bcipy.display.components.task_bar import TaskBar @@ -127,6 +128,23 @@ def _stim_positions(self) -> Dict[str, Tuple[float, float]]: for sym, stim in self.stim_registry.items() } + def capture_grid_screenshot(self, file_path: str) -> None: + """Capture Grid Screenshot. + + Capture a screenshot of the current display and save it to the specified filename. + """ + # draw the grid and flip the window + self.draw_grid(opacity=self.full_grid_opacity) + tmp_task_bar = self.task_bar.current_index + self.task_bar.current_index = 0 + self.draw_static() + self.window.flip() + + # capture the screenshot and save it to the specified file path + capture = self.window.getMovieFrame() + capture.save(f'{file_path}/{MATRIX_IMAGE_FILENAME}') + self.task_bar.current_index = tmp_task_bar + def schedule_to(self, stimuli: list, timing: list, colors: list) -> None: """Schedule stimuli elements (works as a buffer). @@ -158,13 +176,13 @@ def add_timing(self, stimuli: str): Useful as a callback function to register a marker at the time it is first displayed.""" - self._timing.append([stimuli, self.experiment_clock.getTime()]) + self._timing.append((stimuli, self.experiment_clock.getTime())) def reset_timing(self): """Reset the trigger timing.""" self._timing = [] - def do_inquiry(self) -> List[float]: + def do_inquiry(self) -> List[Tuple[str, float]]: """Animates an inquiry of stimuli and returns a list of stimuli trigger timing.""" self.reset_timing() symbol_durations = self.symbol_durations() @@ -187,11 +205,12 @@ def build_grid(self) -> Dict[str, visual.TextStim]: grid = {} for sym in self.symbol_set: pos_index = self.sort_order(sym) + pos = self.positions[pos_index] grid[sym] = visual.TextStim(win=self.window, text=sym, color=self.grid_color, opacity=self.start_opacity, - pos=self.positions[pos_index], + pos=pos, height=self.grid_stimuli_height) return grid @@ -337,8 +356,6 @@ def update_task_bar(self, text: str = ''): PARAMETERS: text: text for task - color_list: list of the colors for each stimuli - pos: position of task """ if self.task_bar: self.task_bar.update(text) diff --git a/bcipy/feedback/demo/demo_level_feedback.py b/bcipy/feedback/demo/demo_level_feedback.py deleted file mode 100644 index 8bf8b82b9..000000000 --- a/bcipy/feedback/demo/demo_level_feedback.py +++ /dev/null @@ -1,38 +0,0 @@ -from bcipy.config import DEFAULT_PARAMETERS_PATH -from bcipy.display import init_display_window -from bcipy.feedback.visual.level_feedback import LevelFeedback -from bcipy.helpers.clock import Clock -from bcipy.helpers.load import load_json_parameters - -# Load a parameters file -parameters = load_json_parameters(DEFAULT_PARAMETERS_PATH, value_cast=True) -parameters = { - 'feedback_font': parameters['font'], - 'feedback_color': parameters['info_color'], - 'feedback_pos_x': -0.5, - 'feedback_pos_y': 0, - 'feedback_padding': 0.27, - 'feedback_stim_height': 0.25, - 'feedback_stim_width': 0.25, - 'feedback_line_width': 1, - 'feedback_line_color': parameters['info_color'], - 'feedback_duration': parameters['feedback_duration'], - 'feedback_target_line_width': 5, # this is very OS dependent! - 'full_screen': parameters['full_screen'], - 'window_height': parameters['window_height'], - 'window_width': parameters['window_width'], - 'background_color': parameters['background_color'], - 'stim_screen': parameters['stim_screen'] -} -display = init_display_window(parameters) -clock = Clock() -# Start Visual Level Feedback -visual_feedback = LevelFeedback( - display=display, parameters=parameters, clock=clock) -positions = [1, 2, 3, 4, 5] -timing = [] -for i in positions: - timing += visual_feedback.administer(position=i) -print(timing) -print(visual_feedback._type()) -display.close() diff --git a/bcipy/feedback/visual/level_feedback.py b/bcipy/feedback/visual/level_feedback.py deleted file mode 100644 index 6304a88a1..000000000 --- a/bcipy/feedback/visual/level_feedback.py +++ /dev/null @@ -1,130 +0,0 @@ -from typing import Tuple - -from psychopy import core, visual - -from bcipy.feedback.visual.visual_feedback import VisualFeedback - - -class LevelFeedback(VisualFeedback): - """Level Feedback. - - A progress bar like feedback to indicate current abilities in a BCI task. This could - be attentiveness, muscle or eye activity, etc. - - It does not return stimuli timing or allow for parameterized configuration of levels / color gradient - at this time. - """ - - def __init__(self, display, parameters, clock): - super().__init__(display, parameters, clock) - - # extract needed parameters - self.clock = clock - self.display = display - self.parameters = parameters - self.presentation_time = parameters['feedback_duration'] - - # set stylistic elements - self.default_message_color = parameters['feedback_color'] - self.feedback_indicator_color = parameters['feedback_color'] - self.position_x = parameters['feedback_pos_x'] - self.position_y = parameters['feedback_pos_y'] - self.padding = parameters['feedback_padding'] - self.width = parameters['feedback_stim_width'] - self.height = parameters['feedback_stim_height'] - self.line_color = parameters['feedback_line_color'] - self.line_width = parameters['feedback_line_width'] - self.font = parameters['feedback_font'] - self.target_line_width = parameters['feedback_target_line_width'] - - # colors needed for each level. This defines the number of levels in - # the bar indicator. - self.level_colors = [ - 'red', - 'darkorange', - 'yellow', - 'lightgreen', - 'green'] - - # array to hold our level feedback stimuli to be presented - self.stimuli = [] - - def administer(self, position=1): - # construct the bar indicator - self._construct_bar_indicator() - - # indexing starts at zero but position does not ;) - position -= 1 - - # loop through the levels wanted and construct the stimuli - for index, color in enumerate(self.level_colors): - # this is the target indicator level and should stand out of the - # rest - if position == index: - self.stimuli[index].lineColor = self.feedback_indicator_color - self.stimuli[index].lineWidth = self.target_line_width - # draw other stimuli elements - self.stimuli[index].fillColor = color - self.stimuli[index].draw() - - # flip the display and present for a time - time = ['visual_feedback', self.clock.getTime()] - self.display.flip() - core.wait(self.presentation_time) - - return time - - def _construct_bar_indicator(self): - """Construct Bar Indicator. - - Helper method for constructing the bar indicator programmatically. It - resets the position_x and stimuli variables on first call. - """ - self._reset_stimuli() - width, height = self._determine_height_and_width() - - # construct the rectangular level shapes and append to stimuli array - for level in self.level_colors: - position = self._determine_stimuli_position() - rect = visual.Rect( - win=self.display, - width=width, - height=height, - fillColor=self.default_message_color, - lineColor=self.line_color, - pos=position, - lineWidth=self.line_width, - ori=0.0) - self.stimuli.append(rect) - - def _determine_stimuli_position(self) -> Tuple[int, int]: - """Determine Stimuli Position. - - Defines the x and y position of the feedback level stimuli, - incrementing by the self.padding variable after setting. - If a vertical bar is desired the position_y should be incremented - instead of position_x. - """ - # define the positioning of stimuli and increment the x position - response = self.position_x, self.position_y - self.position_x += self.padding - return response - - def _determine_height_and_width(self) -> Tuple[float, float]: - """Determine Height and Width. - - Defines the height and width of level stimuli. Currently, a static - set of variables. - """ - return self.width, self.height - - def _reset_stimuli(self) -> None: - """Reset Stimuli. - - Used when redrawing stimuli. Sets the stimuli array and starting - x positions to their starting values. If using vertical bars - this should reset the y positions instead. - """ - # reset stimuli - self.stimuli = [] - self.position_x = self.parameters['feedback_pos_x'] diff --git a/bcipy/helpers/save.py b/bcipy/helpers/save.py index 812a66ee6..84d275d69 100644 --- a/bcipy/helpers/save.py +++ b/bcipy/helpers/save.py @@ -6,13 +6,16 @@ from pathlib import Path from shutil import copyfile from time import localtime, strftime -from typing import Any, List, Union +from typing import Any, Dict, List, Tuple, Union from bcipy.acquisition.devices import DeviceSpec -from bcipy.config import (DEFAULT_ENCODING, DEFAULT_EXPERIMENT_ID, +from bcipy.config import (DEFAULT_ENCODING, + DEFAULT_EXPERIMENT_ID, DEFAULT_LM_PARAMETERS_FILENAME, DEFAULT_LM_PARAMETERS_PATH, - DEFAULT_PARAMETER_FILENAME, SIGNAL_MODEL_FILE_SUFFIX) + DEFAULT_PARAMETER_FILENAME, + SIGNAL_MODEL_FILE_SUFFIX, + STIMULI_POSITIONS_FILENAME) from bcipy.helpers.validate import validate_experiments from bcipy.signal.model.base_model import SignalModel @@ -33,16 +36,26 @@ def save_json_data(data: Any, location: str, name: str) -> str: return str(path) -def save_experiment_data(experiments, fields, location, name) -> str: +def save_experiment_data( + experiments: dict, + fields: dict, + location: str, + name: str) -> str: validate_experiments(experiments, fields) return save_json_data(experiments, location, name) -def save_field_data(fields, location, name) -> str: +def save_field_data( + fields: dict, + location: str, + name: str) -> str: return save_json_data(fields, location, name) -def save_experiment_field_data(data, location, name) -> str: +def save_experiment_field_data( + data: dict, + location: str, + name: str) -> str: return save_json_data(data, location, name) @@ -154,7 +167,7 @@ def _save_session_related_data(save_path: str, session_dictionary: dict) -> Any: return file -def save_model(model: SignalModel, path: Union[Path, str]): +def save_model(model: SignalModel, path: Union[Path, str]) -> None: """Save model weights (e.g. after training) to `path` Parameters @@ -169,3 +182,27 @@ def save_model(model: SignalModel, path: Union[Path, str]): # It supports very large objects and some data format optimizations # making it appropriate for signal models. pickle.dump(model, file, protocol=4) + + +def save_stimuli_position_info( + stimuli_position_info: Dict[str, Tuple[float, float]], + path: Union[Path, str], + screen_info: Dict[str, Any]) -> str: + """Save stimuli positions and screen info to `path` + + stimuli_position_info: {'A': (0, 0)} + screen_info: {'screen_size_pixels': [1920, 1080], 'screen_refresh': 160} + + Parameters + ---------- + stimuli_position_info - stimuli position info to save to json + path - path to the file which will be created. + screen_info - screen info to save to json + """ + # assert that screen_info is a dict with at least the key 'screen_resolution' + assert 'screen_size_pixels' in screen_info.keys(), \ + 'screen_size_pixels must be a key in screen_info' + + # combine the dicts + all_data = {**stimuli_position_info, **screen_info} + return save_json_data(all_data, path, STIMULI_POSITIONS_FILENAME) diff --git a/bcipy/helpers/tests/test_save.py b/bcipy/helpers/tests/test_save.py index 191805b3a..a54aedd76 100644 --- a/bcipy/helpers/tests/test_save.py +++ b/bcipy/helpers/tests/test_save.py @@ -2,10 +2,15 @@ import shutil import unittest import tempfile +import json -from bcipy.config import DEFAULT_PARAMETERS_PATH, DEFAULT_PARAMETER_FILENAME, DEFAULT_EXPERIMENT_ID +from bcipy.config import ( + DEFAULT_PARAMETERS_PATH, + DEFAULT_PARAMETER_FILENAME, + DEFAULT_EXPERIMENT_ID, + STIMULI_POSITIONS_FILENAME) from bcipy.helpers import save -from bcipy.helpers.save import init_save_data_structure +from bcipy.helpers.save import init_save_data_structure, save_stimuli_position_info from mockito import any, unstub, when @@ -81,5 +86,33 @@ def test_throws_error_if_given_incorrect_params_path(self): self.experiment) +class TestSaveStimuliPositions(unittest.TestCase): + + def setUp(self): + self.save_directory = tempfile.mkdtemp() + self.stimuli_positions = {'symbol': (0, 0)} + self.filename = STIMULI_POSITIONS_FILENAME + self.screen_info = {'screen_size_pixels': [1920, 1080]} + self.expected_output = { + 'symbol': [0, 0], + 'screen_size_pixels': [1920, 1080]} + + def tearDown(self): + shutil.rmtree(self.save_directory) + + def test_save_stimuli_position_info_writes_json(self): + save_stimuli_position_info(self.stimuli_positions, self.save_directory, self.screen_info) + self.assertTrue(os.path.isfile(os.path.join(self.save_directory, self.filename))) + + def test_save_stimuli_position_info_writes_correct_json(self): + save_stimuli_position_info(self.stimuli_positions, self.save_directory, self.screen_info) + # load the json file + with open(os.path.join(self.save_directory, self.filename)) as f: + data = json.load(f) + + # assert the data is correct + self.assertEqual(data, self.expected_output) + + if __name__ == '__main__': unittest.main() diff --git a/bcipy/helpers/visualization.py b/bcipy/helpers/visualization.py index 44586e714..c8e9dfc45 100644 --- a/bcipy/helpers/visualization.py +++ b/bcipy/helpers/visualization.py @@ -17,7 +17,7 @@ import bcipy.acquisition.devices as devices from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, RAW_DATA_FILENAME, - STATIC_IMAGES_PATH, TRIGGER_FILENAME) + DEFAULT_GAZE_IMAGE_PATH, TRIGGER_FILENAME) from bcipy.helpers.acquisition import analysis_channels from bcipy.helpers.parameters import Parameters from bcipy.helpers.convert import convert_to_mne @@ -157,7 +157,8 @@ def visualize_gaze( title += 'Raw Gaze ' if img_path is None: - img_path = f'{STATIC_IMAGES_PATH}/main/matrix.png' + img_path = f'{DEFAULT_GAZE_IMAGE_PATH}' + img = plt.imread(img_path) channels = data.channels left_eye_channel_map = [1 if channel in left_keys else 0 for channel in channels] @@ -267,7 +268,7 @@ def visualize_gaze_inquiries( title = 'Raw Gaze Inquiries ' if img_path is None: - img_path = f'{STATIC_IMAGES_PATH}/main/matrix.png' + img_path = f'{DEFAULT_GAZE_IMAGE_PATH}' img = plt.imread(img_path) # transform the eye data to fit the display. remove > 1 values < 0 values and flip the y axis @@ -378,7 +379,7 @@ def visualize_centralized_data( title = 'Centralized Data for All Symbols ' if img_path is None: - img_path = f'{STATIC_IMAGES_PATH}/main/matrix.png' + img_path = f'{DEFAULT_GAZE_IMAGE_PATH}' img = plt.imread(img_path) # scale the eye data to the image @@ -472,7 +473,7 @@ def visualize_results_all_symbols( title = 'Map of Gaze Data and Contours ' if img_path is None: - img_path = f'{STATIC_IMAGES_PATH}/main/matrix.png' + img_path = f'{DEFAULT_GAZE_IMAGE_PATH}' img = plt.imread(img_path) # scale the eye data to the image diff --git a/bcipy/parameters/devices.json b/bcipy/parameters/devices.json index 5400ba106..01e4724b8 100644 --- a/bcipy/parameters/devices.json +++ b/bcipy/parameters/devices.json @@ -59,6 +59,23 @@ "description": "Wearable Sensing DSI-VR300", "excluded_from_analysis": ["TRG", "F7"] }, + { + "name": "DSI-Flex", + "content_type": "EEG", + "channels": [ + { "name": "F3", "label": "Fz", "units": "microvolts", "type": "EEG" }, + { "name": "S2", "label": "Oz", "units": "microvolts", "type": "EEG" }, + { "name": "S3", "label": "P4", "units": "microvolts", "type": "EEG" }, + { "name": "S4", "label": "P3", "units": "microvolts", "type": "EEG" }, + { "name": "S5", "label": "PO8", "units": "microvolts", "type": "EEG" }, + { "name": "S6", "label": "Pz", "units": "microvolts", "type": "EEG" }, + { "name": "S7", "label": "PO7", "units": "microvolts", "type": "EEG" }, + { "name": "TRG", "label": "TRG", "units": "microvolts", "type": "EEG" } + ], + "sample_rate": 300.0, + "description": "Wearable Sensing DSI-Flex", + "excluded_from_analysis": ["TRG"] + }, { "name": "g.USBamp-1", "content_type": "EEG", diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index c1fe3cb0b..b32295be6 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -32,10 +32,10 @@ "type": "str" }, "static_trigger_offset": { - "value": "0.100", + "value": "0.1", "section": "bci_config", "readableName": "Static Trigger Offset", - "helpTip": "Specifies the static trigger offset (in seconds) used to align triggers properly with EEG data from LSL. The system includes built-in offset correction, but there is still a hardware-limited offset between EEG and trigger timing values for which the system does not account. The default value of 0.1 has been verified for OHSU hardware. The correct value may be different for other computers, and must be determined on a case-by-case basis. Default: .1", + "helpTip": "Specifies the static trigger offset (in seconds) used to align triggers properly with EEG data from LSL. The system includes built-in offset correction, but there is still a hardware-limited offset between EEG and trigger timing values for which the system does not account. The default value of 0.1 has been verified for OHSU hardware. The correct value may be different for other computers, and must be determined on a case-by-case basis. Default: 0.1", "recommended_values": "", "type": "float" }, diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index ff7e1122b..b5ed089b5 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -13,7 +13,8 @@ import bcipy.acquisition.devices as devices from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, BCIPY_ROOT, DEFAULT_PARAMETERS_PATH, STATIC_AUDIO_PATH, - TRIGGER_FILENAME) + TRIGGER_FILENAME, + MATRIX_IMAGE_FILENAME) from bcipy.helpers.acquisition import analysis_channels, raw_data_filename from bcipy.helpers.load import (load_experimental_data, load_json_parameters, load_raw_data) @@ -221,8 +222,9 @@ def analyze_gaze( parameters, device_spec, data_folder, - save_figures=False, + save_figures=None, show_figures=False, + plot_points=False, model_type="Individual"): """Analyze gaze data and return/save the gaze model. Extract relevant information from gaze data object. @@ -241,6 +243,7 @@ def analyze_gaze( data_folder (str): Path to the folder containing the data to be analyzed. save_figures (bool): If true, saves ERP figures after training to the data folder. show_figures (bool): If true, shows ERP figures after training. + plot_points (bool): If true, plots the gaze points on the matrix image. model_type (str): Type of gaze model to be used. Options are: "Individual": Fits a separate Gaussian for each symbol. Default model "Centralized": Uses data from all symbols to fit a single centralized Gaussian @@ -248,9 +251,10 @@ def analyze_gaze( figures = [] figure_handles = visualize_gaze( gaze_data, - save_path=data_folder if save_figures else None, + save_path=save_figures, + img_path=f'{data_folder}/{MATRIX_IMAGE_FILENAME}', show=show_figures, - raw_plot=True, + raw_plot=plot_points, ) figures.extend(figure_handles) @@ -346,9 +350,10 @@ def analyze_gaze( figure_handles = visualize_gaze_inquiries( le, re, means, covs, - save_path=None, + save_path=save_figures, + img_path=f'{data_folder}/{MATRIX_IMAGE_FILENAME}', show=show_figures, - raw_plot=True, + raw_plot=plot_points, ) figures.extend(figure_handles) left_eye_all.append(le) @@ -404,9 +409,10 @@ def analyze_gaze( # Visualize the results: figure_handles = visualize_centralized_data( cent_left, cent_right, - save_path=None, + save_path=save_figures, + img_path=f'{data_folder}/{MATRIX_IMAGE_FILENAME}', show=show_figures, - raw_plot=True, + raw_plot=plot_points, ) figures.extend(figure_handles) @@ -424,9 +430,10 @@ def analyze_gaze( figure_handles = visualize_gaze_inquiries( le, re, means, covs, - save_path=None, + save_path=save_figures, + img_path=f'{data_folder}/{MATRIX_IMAGE_FILENAME}', show=show_figures, - raw_plot=True, + raw_plot=plot_points, ) figures.extend(figure_handles) left_eye_all.append(le) @@ -437,9 +444,10 @@ def analyze_gaze( fig_handles = visualize_results_all_symbols( left_eye_all, right_eye_all, means_all, covs_all, - save_path=None, - show=True, - raw_plot=True, + img_path=f'{data_folder}/{MATRIX_IMAGE_FILENAME}', + save_path=save_figures, + show=show_figures, + raw_plot=plot_points, ) figures.extend(fig_handles) diff --git a/bcipy/task/README.md b/bcipy/task/README.md index 788c4c1a1..3943d744c 100644 --- a/bcipy/task/README.md +++ b/bcipy/task/README.md @@ -14,21 +14,24 @@ Currently, these are the supported paradigms and modes: ##### Mode: Calibration -> Calibration - -> Time Test Calibration +> Calibration: Used to calibrate the RSVP paradigm for a user +> Time Test Calibration: Used to verify the timing of the RSVP paradigm ##### Mode: Copy Phrase -> Copy Phrase +> Copy Phrase: Used to copy a phrase using the RSVP paradigm (e.g. P300 Speller) on data from a P300 calibration ### *Paradigm: Matrix* ##### Mode: Calibration -> Calibration +> Calibration: Used to calibrate the Matrix paradigm for a user +> Time Test Calibration: Used to verify the timing of the Matrix paradigm + +##### Mode: Copy Phrase + +> Copy Phrase: Used to copy a phrase using the Matrix paradigm (e.g. P300 Speller) on data from a P300 calibration -> Time Test Calibration ## Start Task diff --git a/bcipy/task/main.py b/bcipy/task/main.py index b46af1d5c..9e6b92f06 100644 --- a/bcipy/task/main.py +++ b/bcipy/task/main.py @@ -20,6 +20,3 @@ def execute(self) -> str: @abstractmethod def name(self) -> str: ... - - def configure(self) -> None: - ... diff --git a/bcipy/task/paradigm/matrix/calibration.py b/bcipy/task/paradigm/matrix/calibration.py index 7c9b8b61c..f3de99bb0 100644 --- a/bcipy/task/paradigm/matrix/calibration.py +++ b/bcipy/task/paradigm/matrix/calibration.py @@ -2,20 +2,24 @@ from psychopy import core, visual +from bcipy.acquisition import ClientManager from bcipy.config import TRIGGER_FILENAME, WAIT_SCREEN_MESSAGE from bcipy.display import InformationProperties, StimuliProperties from bcipy.display.components.task_bar import CalibrationTaskBar from bcipy.display.paradigm.matrix.display import MatrixDisplay from bcipy.helpers.clock import Clock from bcipy.helpers.parameters import Parameters +from bcipy.helpers.save import save_stimuli_position_info from bcipy.helpers.stimuli import (DEFAULT_TEXT_FIXATION, InquirySchedule, StimuliOrder, TargetPositions, generate_calibration_inquiries) from bcipy.helpers.symbols import alphabet +from bcipy.helpers.system_utils import get_screen_info from bcipy.helpers.task import (get_user_input, pause_calibration, trial_complete_message) from bcipy.helpers.triggers import (FlushFrequency, Trigger, TriggerHandler, - TriggerType, convert_timing_triggers) + TriggerType, convert_timing_triggers, + offset_label) from bcipy.task import Task @@ -35,15 +39,29 @@ class MatrixCalibrationTask(Task): PARAMETERS: ---------- win (PsychoPy Display Object) - daq (Data Acquisition Object) - parameters (Dictionary) + daq (Data Acquisition Object [ClientManager]]) + parameters (Parameters Object) file_save (String) """ - def __init__(self, win, daq, parameters, file_save): + def __init__( + self, + win: visual.Window, + daq: ClientManager, + parameters: Parameters, + file_save: str) -> None: super(MatrixCalibrationTask, self).__init__() self.window = win self.frame_rate = self.window.getActualFrameRate() + + _screen_info = get_screen_info() + + self.screen_info = { + 'screen_size_pixels': self.window.size.tolist(), + 'screen_hz': _screen_info.rate, + 'screen_units': 'norm', + } + self.parameters = parameters self.daq = daq self.static_clock = core.StaticPeriod(screenHz=self.frame_rate) @@ -122,7 +140,7 @@ def trigger_type(self, symbol: str, target: str, index: int) -> TriggerType: return TriggerType.TARGET return TriggerType.NONTARGET - def execute(self): + def execute(self) -> str: self.logger.info(f'Starting {self.name()}!') run = True @@ -184,16 +202,20 @@ def execute(self): # Set run to False to stop looping run = False + # Save the grid screenshot + self.matrix.capture_grid_screenshot(self.file_save) + # Say Goodbye! self.matrix.info_text = trial_complete_message( self.window, self.parameters) self.matrix.draw_static() self.window.flip() - # Allow for some training data to be collected + # Allow for some additional data to be collected for later processing core.wait(self.buffer_val) self.write_offset_trigger() + self.write_stimuli_positions() return self.file_save @@ -208,16 +230,14 @@ def write_trigger_data(self, timing: List[Tuple[str, float]], first_run) -> None We do not write the calibration trigger used to generate this offset from the display. See MatrixDisplay._trigger_pulse() for more information. """ - # write offsets. currently, we only check for offsets at the beginning. - if self.daq.is_calibrated and first_run: - self.trigger_handler.add_triggers( - [Trigger( - 'starting_offset', - TriggerType.OFFSET, - # offset will factor in true offset and time relative from beginning - (self.daq.offset(self.matrix.first_stim_time) - self.matrix.first_stim_time) - )] - ) + if first_run: + triggers = [] + for content_type, client in self.daq.clients_by_type.items(): + label = offset_label(content_type.name) + time = client.offset( + self.matrix.first_stim_time) - self.matrix.first_stim_time + triggers.append(Trigger(label, TriggerType.OFFSET, time)) + self.trigger_handler.add_triggers(triggers) # make sure triggers are written for the inquiry self.trigger_handler.add_triggers(convert_timing_triggers(timing, timing[0][0], self.trigger_type)) @@ -225,18 +245,28 @@ def write_trigger_data(self, timing: List[Tuple[str, float]], first_run) -> None def write_offset_trigger(self) -> None: """Append an offset value to the end of the trigger file. """ - if self.daq.is_calibrated: - self.trigger_handler.add_triggers( - [Trigger( - 'daq_sample_offset', - TriggerType.SYSTEM, - # to help support future refactoring or use of lsl timestamps only - # we write only the sample offset here - self.daq.offset(self.matrix.first_stim_time) - )]) + # To help support future refactoring or use of lsl timestamps only + # we write only the sample offset here. + triggers = [] + for content_type, client in self.daq.clients_by_type.items(): + label = offset_label(content_type.name, prefix='daq_sample_offset') + time = client.offset(self.matrix.first_stim_time) + triggers.append(Trigger(label, TriggerType.SYSTEM, time)) + + self.trigger_handler.add_triggers(triggers) self.trigger_handler.close() - def name(self): + def write_stimuli_positions(self) -> None: + """Write Stimuli Positions. + + Write the positions of the stimuli to a json file. + """ + save_stimuli_position_info( + self.matrix._stim_positions, + self.file_save, + self.screen_info) + + def name(self) -> str: return 'Matrix Calibration Task' diff --git a/bcipy/task/paradigm/matrix/copy_phrase.py b/bcipy/task/paradigm/matrix/copy_phrase.py index b2f44da69..868944011 100644 --- a/bcipy/task/paradigm/matrix/copy_phrase.py +++ b/bcipy/task/paradigm/matrix/copy_phrase.py @@ -42,7 +42,8 @@ def init_display(self) -> MatrixDisplay: self.experiment_clock, self.spelled_text) -def init_display(parameters, win, experiment_clock, starting_spelled_text) -> MatrixDisplay: +def init_display( + parameters, win, experiment_clock, starting_spelled_text) -> MatrixDisplay: """Constructs a new Matrix display""" info = InformationProperties( diff --git a/bcipy/task/paradigm/rsvp/calibration/calibration.py b/bcipy/task/paradigm/rsvp/calibration/calibration.py index 23aa220b1..325ff5c98 100644 --- a/bcipy/task/paradigm/rsvp/calibration/calibration.py +++ b/bcipy/task/paradigm/rsvp/calibration/calibration.py @@ -1,14 +1,16 @@ from typing import List, Tuple -from psychopy import core +from psychopy import core, visual +from bcipy.acquisition import ClientManager from bcipy.config import TRIGGER_FILENAME, WAIT_SCREEN_MESSAGE from bcipy.display import (InformationProperties, PreviewInquiryProperties, StimuliProperties) from bcipy.display.components.task_bar import CalibrationTaskBar from bcipy.display.paradigm.rsvp.mode.calibration import CalibrationDisplay from bcipy.helpers.clock import Clock -from bcipy.helpers.stimuli import (StimuliOrder, TargetPositions, +from bcipy.helpers.parameters import Parameters +from bcipy.helpers.stimuli import (InquirySchedule, StimuliOrder, TargetPositions, generate_calibration_inquiries) from bcipy.helpers.symbols import alphabet from bcipy.helpers.task import (get_user_input, pause_calibration, @@ -16,6 +18,7 @@ from bcipy.helpers.triggers import (FlushFrequency, Trigger, TriggerHandler, TriggerType, convert_timing_triggers, offset_label) + from bcipy.task import Task @@ -40,7 +43,12 @@ class RSVPCalibrationTask(Task): file_save (str) """ - def __init__(self, win, daq, parameters, file_save): + def __init__( + self, + win: visual.Window, + daq: ClientManager, + parameters: Parameters, + file_save: str) -> None: super(RSVPCalibrationTask, self).__init__() self.window = win @@ -83,7 +91,7 @@ def __init__(self, win, daq, parameters, file_save): self.is_txt_stim = parameters['is_txt_stim'] self.enable_breaks = parameters['enable_breaks'] - def generate_stimuli(self): + def generate_stimuli(self) -> InquirySchedule: """Generates the inquiries to be presented. Returns: -------- @@ -111,7 +119,7 @@ def trigger_type(self, symbol: str, target: str, index: int) -> TriggerType: """ if index == 0: return TriggerType.PROMPT - if symbol == 'inquiry_preview' and index == 1: + if symbol == 'inquiry_preview': return TriggerType.PREVIEW if symbol == '+': return TriggerType.FIXATION @@ -119,7 +127,7 @@ def trigger_type(self, symbol: str, target: str, index: int) -> TriggerType: return TriggerType.TARGET return TriggerType.NONTARGET - def execute(self): + def execute(self) -> str: self.logger.info(f'Starting {self.name()}!') run = True @@ -188,7 +196,7 @@ def execute(self): return self.file_save - def write_trigger_data(self, timing: List[Tuple[str, float]], first_run) -> None: + def write_trigger_data(self, timing: List[Tuple[str, float]], first_run: bool) -> None: """Write Trigger Data. Using the timing provided from the display and calibration information from the data acquisition @@ -227,12 +235,15 @@ def write_offset_trigger(self) -> None: self.trigger_handler.add_triggers(triggers) self.trigger_handler.close() - def name(self): + def name(self) -> str: return 'RSVP Calibration Task' def init_calibration_display_task( - parameters, window, static_clock, experiment_clock): + parameters: Parameters, + window: visual.Window, + static_clock: core.StaticPeriod, + experiment_clock: Clock) -> CalibrationDisplay: info = InformationProperties( info_color=[parameters['info_color']], info_pos=[(parameters['info_pos_x'], diff --git a/bcipy/task/paradigm/rsvp/calibration/timing_verification.py b/bcipy/task/paradigm/rsvp/calibration/timing_verification.py index ba0446a35..55af4b995 100644 --- a/bcipy/task/paradigm/rsvp/calibration/timing_verification.py +++ b/bcipy/task/paradigm/rsvp/calibration/timing_verification.py @@ -1,7 +1,14 @@ -# mypy: disable-error-code="method-assign" +# mypy: disable-error-code="assignment" from itertools import cycle + +from typing import Tuple + +from psychopy import visual + +from bcipy.acquisition import ClientManager from bcipy.task import Task from bcipy.task.paradigm.rsvp.calibration.calibration import RSVPCalibrationTask +from bcipy.helpers.parameters import Parameters from bcipy.helpers.stimuli import PhotoDiodeStimuli, get_fixation, jittered_timing @@ -12,17 +19,22 @@ class RSVPTimingVerificationCalibration(Task): stimuli can be used with a photodiode to ensure accurate presentations. Input: - win (PsychoPy Display Object) - daq (Data Acquisition Object) - parameters (Dictionary) - file_save (String) + win (PsychoPy Window) + daq (ClientManager) + parameters (Parameters) + file_save (str) Output: - file_save (String) + file_save (str) """ TASK_NAME = 'RSVP Timing Verification Task' - def __init__(self, win, daq, parameters, file_save): + def __init__( + self, + win: visual.Window, + daq: ClientManager, + parameters: Parameters, + file_save: str) -> None: super(RSVPTimingVerificationCalibration, self).__init__() parameters['stim_height'] = 0.8 parameters['stim_pos_y'] = 0.0 @@ -30,7 +42,7 @@ def __init__(self, win, daq, parameters, file_save): self._task = RSVPCalibrationTask(win, daq, parameters, file_save) self._task.generate_stimuli = self.generate_stimuli - def generate_stimuli(self): + def generate_stimuli(self) -> Tuple[list, list, list]: """Generates the inquiries to be presented. Returns: -------- @@ -62,13 +74,13 @@ def generate_stimuli(self): return (samples, times, colors) - def execute(self): + def execute(self) -> str: self.logger.info(f'Starting {self.name()}!') - self._task.execute() + return self._task.execute() @classmethod - def label(cls): + def label(cls) -> str: return RSVPTimingVerificationCalibration.TASK_NAME - def name(self): + def name(self) -> str: return RSVPTimingVerificationCalibration.TASK_NAME diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index 7c25b0c87..2e3058b8b 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -4,6 +4,7 @@ from psychopy import core, visual +from bcipy.acquisition import ClientManager from bcipy.config import ( SESSION_DATA_FILENAME, SESSION_SUMMARY_FILENAME, @@ -32,6 +33,8 @@ from bcipy.helpers.triggers import (FlushFrequency, Trigger, TriggerHandler, TriggerType, convert_timing_triggers, offset_label) +from bcipy.language.main import LanguageModel +from bcipy.signal.model import SignalModel from bcipy.signal.model.inquiry_preview import compute_probs_after_preview from bcipy.task import Task from bcipy.task.control.evidence import (EvidenceEvaluator, @@ -106,8 +109,15 @@ class RSVPCopyPhraseTask(Task): 'info_pos_x', 'info_pos_y', 'info_color', 'info_height', 'info_text', 'info_color', 'info_height', 'info_text', ] - def __init__(self, win, daq, parameters, file_save, signal_models, - language_model, fake): + def __init__( + self, + win: visual.Window, + daq: ClientManager, + parameters: Parameters, + file_save: str, + signal_models: List[SignalModel], + language_model: LanguageModel, + fake: bool) -> None: super(RSVPCopyPhraseTask, self).__init__() self.logger = logging.getLogger(__name__) self.window = win @@ -172,7 +182,7 @@ def __init__(self, win, daq, parameters, file_save, signal_models, self.rsvp = self.init_display() def init_evidence_evaluators(self, - signal_models) -> List[EvidenceEvaluator]: + signal_models: List[SignalModel]) -> List[EvidenceEvaluator]: """Initializes the evidence evaluators from the provided signal models. Returns a list of evaluators for active devices. Raises an exception if @@ -303,7 +313,7 @@ def user_wants_to_continue(self) -> bool: self.logger.info('User wants to exit.') return should_continue - def wait(self, seconds: Optional[float] = None): + def wait(self, seconds: Optional[float] = None) -> None: """Pause for a time. Parameters @@ -357,7 +367,7 @@ def present_inquiry(self, inquiry_schedule: InquirySchedule return stim_times, proceed - def show_feedback(self, selection: str, correct: bool = True): + def show_feedback(self, selection: str, correct: bool = True) -> None: """Display the selection as feedback if the 'show_feedback' parameter is configured. @@ -679,7 +689,7 @@ def new_data_record(self, data.likelihood = list(self.copy_phrase_task.conjugator.likelihood) return data - def exit_display(self): + def exit_display(self) -> None: """Close the UI and cleanup.""" # Update task state and reset the static self.rsvp.update_task_bar(text=self.spelled_text) @@ -803,7 +813,7 @@ def __init__(self, session: Session, show_preview: bool = False, preview_mode: int = 0, - trigger_path: Optional[str] = None): + trigger_path: Optional[str] = None) -> None: assert preview_mode in range(3), 'Preview mode out of range' self.session = session self.show_preview = show_preview diff --git a/bcipy/task/start_task.py b/bcipy/task/start_task.py index 3a0c1bc25..dd13de528 100644 --- a/bcipy/task/start_task.py +++ b/bcipy/task/start_task.py @@ -1,4 +1,5 @@ """Code for constructing and executing registered tasks""" +# mypy: disable-error-code="arg-type, misc" from typing import List, Optional from psychopy import visual diff --git a/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py b/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py new file mode 100644 index 000000000..7109ed5a3 --- /dev/null +++ b/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py @@ -0,0 +1,315 @@ +import unittest + +from mockito import any, mock, unstub, verify, when +from mock import mock_open, patch +import psychopy +import numpy as np + +import bcipy.task.paradigm.matrix.calibration +from bcipy.acquisition import LslAcquisitionClient +from bcipy.acquisition.devices import DeviceSpec +from bcipy.acquisition.multimodal import ContentType +from bcipy.helpers.parameters import Parameters +from bcipy.helpers.triggers import TriggerHandler, TriggerType +from bcipy.task.paradigm.matrix.calibration import MatrixCalibrationTask + + +class TestMatrixCalibration(unittest.TestCase): + """Tests for Matrix Calibration Task.""" + + def setUp(self): + """Override; set up the needed path for load functions.""" + parameters = { + 'backspace_always_shown': True, + 'break_len': 10, + 'down_sampling_rate': 2, + 'enable_breaks': False, + 'feedback_duration': 2.0, + 'feedback_stim_height': 0.35, + 'feedback_stim_width': 0.35, + 'filter_high': 45.0, + 'filter_low': 2.0, + 'filter_order': 2.0, + 'fixation_color': 'red', + 'font': 'Arial', + 'info_color': 'white', + 'info_height': 0.1, + 'info_pos_x': 0.0, + 'info_pos_y': -0.75, + 'info_text': '', + 'is_txt_stim': True, + 'nontarget_inquiries': 0, + 'notch_filter_frequency': 60.0, + 'prestim_length': 1, + 'preview_inquiry_isi': 1.0, + 'preview_inquiry_length': 5.0, + 'show_feedback': False, + 'show_preview_inquiry': False, + 'static_trigger_offset': 0.1, + 'stim_color': 'white', + 'stim_height': 0.6, + 'stim_jitter': 0.0, + 'stim_length': 3, + 'stim_number': 10, + 'stim_order': 'random', + 'stim_pos_x': 0.0, + 'stim_pos_y': 0.0, + 'stim_space_char': '_', + 'target_color': 'white', + 'target_positions': 'distributed', + 'task_buffer_length': 2, + 'task_color': 'white', + 'task_height': 0.1, + 'task_text': 'HELLO_WORLD', + 'time_fixation': 0.1, + 'time_flash': 0.1, + 'time_prompt': 0.1, + 'trial_window': (0.0, 0.5), + 'trials_before_break': 100, + 'break_message': 'Take a break!', + 'trigger_type': 'image', + } + self.parameters = Parameters.from_cast_values(**parameters) + + self.win = mock({'size': np.array([500, 500]), 'units': 'height'}) + + device_spec = DeviceSpec(name='Testing', + channels=['a', 'b', 'c'], + sample_rate=300.0) + self.eeg_client_mock = mock( + { + 'device_spec': device_spec, + 'is_calibrated': True, + 'offset': lambda x: 0.0, + }, + spec=LslAcquisitionClient) + self.daq = mock( + { + 'device_spec': device_spec, + 'is_calibrated': True, + 'offset': lambda x: 0.0, + 'device_content_types': [ContentType.EEG], + 'clients_by_type': { + ContentType.EEG: self.eeg_client_mock + } + }) + self.temp_dir = '' + self.model_metadata = mock({ + 'device_spec': device_spec, + 'transform': mock(), + 'evidence_type': 'ERP' + }) + + self.display = mock() + self.display.first_stim_time = 0.0 + self.mock_do_inquiry_response = [('a', 0.0), ('+', 0.1), ('b', 0.2), ('c', 0.3), ('a', 0.4)] + when(self.display).do_inquiry().thenReturn(self.mock_do_inquiry_response) + when(self.display).wait_screen().thenReturn(None) + + when(bcipy.task.paradigm.matrix.calibration).init_calibration_display_task( + self.parameters, self.win, any(), any()).thenReturn(self.display) + when(bcipy.task.paradigm.matrix.calibration).trial_complete_message(any(), any()).thenReturn([]) + + when(TriggerHandler).add_triggers(any()).thenReturn() + + when(psychopy.event).getKeys(keyList=any()).thenReturn(['space']) + when(psychopy.core).wait(any()).thenReturn(None) + + def tearDown(self): + """Override""" + unstub() + + def test_initialize(self): + """Test initialization""" + + with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): + MatrixCalibrationTask( + win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) + + verify(bcipy.task.paradigm.matrix.calibration, times=1).init_calibration_display_task( + self.parameters, self.win, any(), any()) + + def test_execute(self): + """Test task execute""" + with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): + task = MatrixCalibrationTask( + win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) + + when(task).write_stimuli_positions().thenReturn(None) + when(task).write_offset_trigger().thenReturn(None) + when(task).write_trigger_data(any(), any()).thenReturn(None) + + task.execute() + + verify(self.display, times=self.parameters['stim_number']).do_inquiry() + verify(task, times=self.parameters['stim_number']).write_trigger_data(any(), any()) + verify(task, times=1).write_offset_trigger() + + def test_validate_parameters_throws_task_exception_empty_parameter(self): + """Test validate parameters throws task exception when parameters is empty.""" + parameters = {} + + with self.assertRaises(Exception): + with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): + MatrixCalibrationTask( + win=self.win, + daq=self.daq, + parameters=parameters, + file_save=self.temp_dir) + + def test_execute_save_stimuli_positions(self): + """Test execute save stimuli positions method is called as expected.""" + with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): + task = MatrixCalibrationTask( + win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) + + when(bcipy.task.paradigm.matrix.calibration).save_stimuli_position_info( + any(), any(), task.screen_info).thenReturn(None) + when(task).write_offset_trigger().thenReturn(None) + when(task).write_trigger_data(any(), any()).thenReturn(None) + + task.execute() + + verify(bcipy.task.paradigm.matrix.calibration, times=1).save_stimuli_position_info( + any(), any(), task.screen_info) + verify(self.display, times=self.parameters['stim_number']).do_inquiry() + verify(task, times=self.parameters['stim_number']).write_trigger_data(any(), any()) + verify(task, times=1).write_offset_trigger() + + def test_trigger_type_targetness(self): + """Test trigger type targetness.""" + with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): + task = MatrixCalibrationTask( + win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) + + # non-target + symbol = 'N' + target = 'X' + index = 1 + + self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.NONTARGET) + + # target + symbol = 'X' + target = 'X' + index = 1 + + self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.TARGET) + + def test_trigger_type_fixation(self): + """Test trigger type fixation.""" + with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): + task = MatrixCalibrationTask( + win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) + + # fixation + symbol = '+' + target = 'X' + index = 1 + + self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.FIXATION) + + def test_trigger_type_prompt(self): + """Test trigger type prompt.""" + with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): + task = MatrixCalibrationTask( + win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) + + # prompt, index = 0, otherwise it would be a target + symbol = 'P' + target = 'P' + index = 0 + + self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.PROMPT) + + def test_write_trigger_data_first_run(self): + """Test write trigger data when it is the first run of the task.""" + with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): + task = MatrixCalibrationTask( + win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) + + client_by_type_resp = {ContentType.EEG: self.eeg_client_mock} + timing_mock = mock() + timing = [('a', 0.0)] + first_run = True + when(self.daq).client_by_type(ContentType.EEG).thenReturn(client_by_type_resp) + when(bcipy.task.paradigm.matrix.calibration).offset_label('EEG').thenReturn('starting_offset') + when(bcipy.task.paradigm.matrix.calibration).convert_timing_triggers( + timing, timing[0][0], any()).thenReturn(timing_mock) + + task.write_trigger_data(timing, first_run) + + verify(TriggerHandler, times=2).add_triggers(any()) + verify(self.eeg_client_mock, times=1).offset(0.0) + verify(bcipy.task.paradigm.matrix.calibration, times=1).offset_label( + 'EEG') + verify(bcipy.task.paradigm.matrix.calibration, times=1).convert_timing_triggers( + timing, timing[0][0], any()) + + def test_write_trigger_data_not_first_run(self): + """Test write trigger data when it is not the first run of the task.""" + with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): + task = MatrixCalibrationTask( + win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) + + timing_mock = mock() + timing = [('a', 0.0)] + first_run = False + when(bcipy.task.paradigm.matrix.calibration).convert_timing_triggers( + timing, timing[0][0], any()).thenReturn(timing_mock) + + task.write_trigger_data(timing, first_run) + + verify(TriggerHandler, times=1).add_triggers(any()) + + def test_write_offset_trigger(self): + """Test write offset trigger""" + with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): + task = MatrixCalibrationTask( + win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) + client_by_type_resp = {ContentType.EEG: self.eeg_client_mock} + when(self.daq).client_by_type(ContentType.EEG).thenReturn(client_by_type_resp) + when(bcipy.task.paradigm.matrix.calibration).offset_label( + 'EEG', + prefix='daq_sample_offset').thenReturn('daq_sample_offset') + + when(TriggerHandler).close().thenReturn() + + task.write_offset_trigger() + + verify(TriggerHandler, times=1).close() + verify(TriggerHandler, times=1).add_triggers(any()) + verify(self.eeg_client_mock, times=1).offset(0.0) + verify(bcipy.task.paradigm.matrix.calibration, times=1).offset_label( + 'EEG', prefix='daq_sample_offset') + + +if __name__ == '__main__': + unittest.main() diff --git a/bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py b/bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py new file mode 100644 index 000000000..66cfa1cc9 --- /dev/null +++ b/bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py @@ -0,0 +1,310 @@ +import unittest + +from mockito import any, mock, unstub, verify, when +from mock import mock_open, patch + +import psychopy + +import bcipy.task.paradigm.rsvp.calibration.calibration +from bcipy.acquisition import LslAcquisitionClient +from bcipy.acquisition.devices import DeviceSpec +from bcipy.acquisition.multimodal import ContentType +from bcipy.helpers.parameters import Parameters +from bcipy.helpers.triggers import TriggerHandler, TriggerType +from bcipy.task.paradigm.rsvp.calibration.calibration import RSVPCalibrationTask + + +class TestRSVPCalibration(unittest.TestCase): + """Tests for RSVP Calibration Task.""" + + def setUp(self): + """Override; set up the needed path for load functions.""" + parameters = { + 'backspace_always_shown': True, + 'break_len': 10, + 'down_sampling_rate': 2, + 'enable_breaks': False, + 'feedback_duration': 2.0, + 'feedback_stim_height': 0.35, + 'feedback_stim_width': 0.35, + 'filter_high': 45.0, + 'filter_low': 2.0, + 'filter_order': 2.0, + 'fixation_color': 'red', + 'font': 'Arial', + 'info_color': 'white', + 'info_height': 0.1, + 'info_pos_x': 0.0, + 'info_pos_y': -0.75, + 'info_text': '', + 'is_txt_stim': True, + 'nontarget_inquiries': 0, + 'notch_filter_frequency': 60.0, + 'prestim_length': 1, + 'preview_inquiry_isi': 1.0, + 'preview_inquiry_length': 5.0, + 'show_feedback': False, + 'show_preview_inquiry': False, + 'static_trigger_offset': 0.1, + 'stim_color': 'white', + 'stim_height': 0.6, + 'stim_jitter': 0.0, + 'stim_length': 3, + 'stim_number': 10, + 'stim_order': 'random', + 'stim_pos_x': 0.0, + 'stim_pos_y': 0.0, + 'stim_space_char': '_', + 'target_color': 'white', + 'target_positions': 'distributed', + 'task_buffer_length': 2, + 'task_color': 'white', + 'task_height': 0.1, + 'task_text': 'HELLO_WORLD', + 'time_fixation': 0.1, + 'time_flash': 0.1, + 'time_prompt': 0.1, + 'trial_window': (0.0, 0.5), + 'trials_before_break': 100, + 'trigger_type': 'image', + } + self.parameters = Parameters.from_cast_values(**parameters) + + self.win = mock({'size': [500, 500], 'units': 'height'}) + + device_spec = DeviceSpec(name='Testing', + channels=['a', 'b', 'c'], + sample_rate=300.0) + self.eeg_client_mock = mock( + { + 'device_spec': device_spec, + 'is_calibrated': True, + 'offset': lambda x: 0.0, + }, + spec=LslAcquisitionClient) + self.daq = mock( + { + 'device_spec': device_spec, + 'is_calibrated': True, + 'offset': lambda x: 0.0, + 'device_content_types': [ContentType.EEG], + 'clients_by_type': { + ContentType.EEG: self.eeg_client_mock + } + }) + self.temp_dir = '' + self.model_metadata = mock({ + 'device_spec': device_spec, + 'transform': mock(), + 'evidence_type': 'ERP' + }) + + self.display = mock() + self.display.first_stim_time = 0.0 + self.mock_do_inquiry_response = [('a', 0.0), ('+', 0.1), ('b', 0.2), ('c', 0.3), ('a', 0.4)] + when(self.display).do_inquiry(preview_calibration=False).thenReturn(self.mock_do_inquiry_response) + when(self.display).wait_screen().thenReturn(None) + + when(bcipy.task.paradigm.rsvp.calibration.calibration).init_calibration_display_task( + self.parameters, self.win, any(), any()).thenReturn(self.display) + when(bcipy.task.paradigm.rsvp.calibration.calibration).trial_complete_message(any(), any()).thenReturn([]) + when(TriggerHandler).write().thenReturn() + when(TriggerHandler).add_triggers(any()).thenReturn() + + when(psychopy.event).getKeys(keyList=any()).thenReturn(['space']) + when(psychopy.core).wait(any()).thenReturn(None) + + def tearDown(self): + """Override""" + unstub() + + def test_initialize(self): + """Test initialization""" + with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): + RSVPCalibrationTask( + win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) + + verify( + bcipy.task.paradigm.rsvp.calibration.calibration, + times=1).init_calibration_display_task( + self.parameters, + self.win, + any(), + any()) + + def test_execute(self): + """Test task execute""" + with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): + task = RSVPCalibrationTask( + win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) + when(task).write_offset_trigger().thenReturn(None) + when(task).write_trigger_data(any(), any()).thenReturn(None) + + task.execute() + + verify(self.display, times=self.parameters['stim_number']).do_inquiry(preview_calibration=False) + verify(task, times=self.parameters['stim_number']).write_trigger_data(any(), any()) + verify(task, times=1).write_offset_trigger() + + def test_validate_parameters_throws_task_exception_empty_parameter(self): + """Test validate parameters throws task exception when parameters is empty.""" + parameters = {} + + with self.assertRaises(Exception): + with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): + RSVPCalibrationTask( + win=self.win, + daq=self.daq, + parameters=parameters, + file_save=self.temp_dir) + + def test_trigger_type_targetness(self): + """Test trigger type targetness.""" + with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): + task = RSVPCalibrationTask( + win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) + + # non-target + symbol = 'N' + target = 'X' + index = 2 + + self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.NONTARGET) + + # target + symbol = 'X' + target = 'X' + index = 1 + + self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.TARGET) + + def test_trigger_type_fixation(self): + """Test trigger type fixation.""" + with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): + task = RSVPCalibrationTask( + win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) + + # fixation + symbol = '+' + target = 'X' + index = 1 + + self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.FIXATION) + + def test_trigger_type_prompt(self): + """Test trigger type prompt.""" + with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): + task = RSVPCalibrationTask( + win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) + + # prompt, index = 0, otherwise it would be a target + symbol = 'P' + target = 'P' + index = 0 + + self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.PROMPT) + + def test_trigger_type_preview(self): + """Test trigger type preview.""" + with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): + task = RSVPCalibrationTask( + win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) + + # preview, index > 0, otherwise it would be a prompt + symbol = 'inquiry_preview' + target = 'P' + index = 1 + + self.assertEqual(task.trigger_type(symbol, target, index), TriggerType.PREVIEW) + + def test_write_trigger_data_first_run(self): + """Test write trigger data when it is the first run of the task.""" + with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): + task = RSVPCalibrationTask( + win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) + + client_by_type_resp = {ContentType.EEG: self.eeg_client_mock} + timing_mock = mock() + timing = [('a', 0.0)] + first_run = True + when(self.daq).client_by_type(ContentType.EEG).thenReturn(client_by_type_resp) + when(bcipy.task.paradigm.rsvp.calibration.calibration).offset_label('EEG').thenReturn('starting_offset') + when(bcipy.task.paradigm.rsvp.calibration.calibration).convert_timing_triggers( + timing, timing[0][0], any()).thenReturn(timing_mock) + + task.write_trigger_data(timing, first_run) + + verify(TriggerHandler, times=2).add_triggers(any()) + verify(self.eeg_client_mock, times=1).offset(0.0) + verify(bcipy.task.paradigm.rsvp.calibration.calibration, times=1).offset_label( + 'EEG') + verify(bcipy.task.paradigm.rsvp.calibration.calibration, times=1).convert_timing_triggers( + timing, timing[0][0], any()) + + def test_write_trigger_data_not_first_run(self): + """Test write trigger data when it is not the first run of the task.""" + with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): + task = RSVPCalibrationTask( + win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) + + timing_mock = mock() + timing = [('a', 0.0)] + first_run = False + when(bcipy.task.paradigm.rsvp.calibration.calibration).convert_timing_triggers( + timing, timing[0][0], any()).thenReturn(timing_mock) + + task.write_trigger_data(timing, first_run) + + verify(TriggerHandler, times=1).add_triggers(any()) + + def test_write_offset_trigger(self): + """Test write offset trigger""" + with patch('bcipy.helpers.triggers.open', mock_open(read_data=''), create=False): + task = RSVPCalibrationTask( + win=self.win, + daq=self.daq, + parameters=self.parameters, + file_save=self.temp_dir) + client_by_type_resp = {ContentType.EEG: self.eeg_client_mock} + when(self.daq).client_by_type(ContentType.EEG).thenReturn(client_by_type_resp) + when(bcipy.task.paradigm.rsvp.calibration.calibration).offset_label( + 'EEG', + prefix='daq_sample_offset').thenReturn('daq_sample_offset') + + when(TriggerHandler).close().thenReturn() + + task.write_offset_trigger() + + verify(TriggerHandler, times=1).close() + verify(TriggerHandler, times=1).add_triggers(any()) + verify(self.eeg_client_mock, times=1).offset(0.0) + verify(bcipy.task.paradigm.rsvp.calibration.calibration, times=1).offset_label( + 'EEG', prefix='daq_sample_offset') + + +if __name__ == '__main__': + unittest.main() diff --git a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py index e010e4fc2..68fb1e794 100644 --- a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py +++ b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py @@ -2,7 +2,6 @@ import shutil import tempfile import unittest -import pytest from pathlib import Path import numpy as np @@ -23,7 +22,6 @@ from bcipy.task.paradigm.rsvp.copy_phrase import RSVPCopyPhraseTask -@pytest.mark.slow class TestCopyPhrase(unittest.TestCase): """Tests for Copy Phrase task.""" diff --git a/requirements.txt b/requirements.txt index 22d14f0cc..128be55b8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -21,5 +21,6 @@ Pillow==9.4.0 py-cpuinfo==9.0.0 pyedflib==0.1.34 PyQt6==6.6.0 +PyQt6-Qt6==6.6.0 pywavelets==1.4.1 tqdm==4.62.2 \ No newline at end of file From 79e73fc8d4dca0f46d2cd666c2e6ad55f78133c9 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 5 Dec 2023 16:54:49 -0800 Subject: [PATCH 179/330] Updated parameter description with correct default --- bcipy/parameters/parameters.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index 5c72ac995..0a4347700 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -527,7 +527,7 @@ "value": "0.05", "section": "bci_config", "readableName": "Task Bar Padding", - "helpTip": "Specifies the padding around the task bar text. Default: 0.1", + "helpTip": "Specifies the padding around the task bar text. Default: 0.05", "recommended_values": [ "0.05" ], From 5ef26268dac4a11cc9bd7f2b4813fd89827a7464 Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 7 Dec 2023 13:57:36 -0800 Subject: [PATCH 180/330] Bump wxpython version requirements needed for successful installation on Apple M2 computers --- requirements-winmac.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-winmac.txt b/requirements-winmac.txt index 2e3de9ed7..36616d5f4 100644 --- a/requirements-winmac.txt +++ b/requirements-winmac.txt @@ -1 +1 @@ -WxPython==4.1.1 +WxPython==4.2.1 From 8cf0ce73da97c4e7dd65bc1d133fe209b5c14153 Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 7 Dec 2023 17:17:18 -0800 Subject: [PATCH 181/330] Removed parameter for VEP flicker rate configuration --- bcipy/display/paradigm/vep/codes.py | 2 ++ bcipy/parameters/parameters.json | 8 -------- bcipy/task/paradigm/vep/calibration.py | 8 +++++--- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/bcipy/display/paradigm/vep/codes.py b/bcipy/display/paradigm/vep/codes.py index 14b9fdeee..e96067e3d 100644 --- a/bcipy/display/paradigm/vep/codes.py +++ b/bcipy/display/paradigm/vep/codes.py @@ -8,6 +8,8 @@ log = logging.getLogger(__name__) +DEFAULT_FLICKER_RATES = [4, 5, 6, 10, 12, 15] + def create_vep_codes(length=32, count=4) -> List[List[int]]: """Create a list of random VEP codes. diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index 6c4565c2a..90eb22511 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -375,14 +375,6 @@ "recommended_values": "", "type": "float" }, - "vep_flicker_rates": { - "value": "4,5,6,10,12,15", - "section": "bci_config", - "readableName": "VEP Flicker Rates (hz)", - "helpTip": "Delimited list of flash rates, where a rate represents the hz of the box at that position. Each rate should be less than the refresh rate of the monitor.", - "recommended_values": "4,5,6,10,12,15", - "type": "str" - }, "stim_jitter": { "value": "0.0", "section": "bci_config", diff --git a/bcipy/task/paradigm/vep/calibration.py b/bcipy/task/paradigm/vep/calibration.py index 29030bbe6..8147ea8f3 100644 --- a/bcipy/task/paradigm/vep/calibration.py +++ b/bcipy/task/paradigm/vep/calibration.py @@ -8,7 +8,9 @@ from bcipy.display import InformationProperties, VEPStimuliProperties from bcipy.display.components.layout import centered from bcipy.display.components.task_bar import CalibrationTaskBar -from bcipy.display.paradigm.vep.codes import round_refresh_rate, ssvep_to_code +from bcipy.display.paradigm.vep.codes import (DEFAULT_FLICKER_RATES, + round_refresh_rate, + ssvep_to_code) from bcipy.display.paradigm.vep.display import VEPDisplay from bcipy.display.paradigm.vep.layout import BoxConfiguration from bcipy.helpers.clock import Clock @@ -243,8 +245,8 @@ def init_calibration_display(parameters: Parameters, font=parameters['font'], height=parameters['task_height']) - # create codes from configuration - flicker_rates = parameters['vep_flicker_rates'].split(',') + # issue #186641183 ; determine a better configuration strategy + flicker_rates = DEFAULT_FLICKER_RATES rate = round_refresh_rate(window.getActualFrameRate()) codes = [ ssvep_to_code(refresh_rate=rate, flicker_rate=int(hz)) From 8e58b5b9ff3e839d313b9115286d5be420b7e599 Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 7 Dec 2023 17:45:34 -0800 Subject: [PATCH 182/330] Removed option to layout VEP with 4 boxes --- bcipy/display/demo/components/demo_layouts.py | 4 +- .../display/demo/vep/demo_calibration_vep.py | 3 +- bcipy/display/paradigm/vep/layout.py | 22 +++----- bcipy/display/tests/vep/test_vep_layout.py | 52 ------------------- bcipy/task/paradigm/vep/calibration.py | 5 +- 5 files changed, 11 insertions(+), 75 deletions(-) diff --git a/bcipy/display/demo/components/demo_layouts.py b/bcipy/display/demo/components/demo_layouts.py index 234107fb4..a65821110 100644 --- a/bcipy/display/demo/components/demo_layouts.py +++ b/bcipy/display/demo/components/demo_layouts.py @@ -2,7 +2,7 @@ import logging import sys import time -from typing import Optional, Callable, List, Tuple, Union +from typing import Callable, List, Optional, Tuple, Union from psychopy import visual from psychopy.visual.circle import Circle @@ -132,7 +132,7 @@ def demo_vep(win: visual.Window): layout = centered(width_pct=0.9, height_pct=0.9) layout.parent = win - box_config = BoxConfiguration(layout, num_boxes=4, height_pct=0.28) + box_config = BoxConfiguration(layout, height_pct=0.28) size = box_config.box_size positions = box_config.positions diff --git a/bcipy/display/demo/vep/demo_calibration_vep.py b/bcipy/display/demo/vep/demo_calibration_vep.py index 57bc1e2a8..83fdb43c8 100644 --- a/bcipy/display/demo/vep/demo_calibration_vep.py +++ b/bcipy/display/demo/vep/demo_calibration_vep.py @@ -28,7 +28,6 @@ ) task_text = ['1/3', '2/3', '3/3'] -num_boxes = 6 window_parameters = { 'full_screen': False, @@ -56,7 +55,7 @@ ] layout = centered(width_pct=0.95, height_pct=0.80) -box_config = BoxConfiguration(layout, num_boxes=num_boxes, height_pct=0.30) +box_config = BoxConfiguration(layout, height_pct=0.30) experiment_clock = Clock() len_stimuli = 10 diff --git a/bcipy/display/paradigm/vep/layout.py b/bcipy/display/paradigm/vep/layout.py index 2a873c044..944d1c2a0 100644 --- a/bcipy/display/paradigm/vep/layout.py +++ b/bcipy/display/paradigm/vep/layout.py @@ -2,7 +2,7 @@ from itertools import cycle from math import sqrt -from typing import List, NamedTuple, Optional, Tuple +from typing import List, NamedTuple, Tuple from bcipy.display.components.layout import (Layout, above, below, left_of, right_of) @@ -89,11 +89,11 @@ def checkerboard(squares: int, colors: Tuple[str, str], center: Tuple[float, class BoxConfiguration(): """Computes box size and positions for a VEP display. - In this configuration, there is one row on top and one on the bottom. + In this configuration, there are 6 areas configured with one row of 3 on top + and one row on the bottom. Parameters ---------- - num_boxes - number of boxes; currently supports 4 or 6. layout - defines the boundaries within a Window in which the text areas will be placed spacing_pct - used to specify spacing between boxes within a row. @@ -102,30 +102,25 @@ class BoxConfiguration(): def __init__(self, layout: Layout, - num_boxes: int, - spacing_pct: Optional[float] = None, + spacing_pct: float = 0.05, height_pct: float = 0.25): self.layout = layout - self.num_boxes = num_boxes self.height_pct = height_pct self.validate() - default_spacing = {4: 0.1, 6: 0.05} - if not spacing_pct: - spacing_pct = default_spacing[num_boxes] self.spacing_pct = spacing_pct + self._num_boxes = 6 self._row_count = 2 def validate(self): """Validate invariants""" - assert self.num_boxes == 4 or self.num_boxes == 6, 'Number of boxes must be 4 or 6' assert self.height_pct <= 0.5, "Rows can't take more than 50% of the height" def _box_size(self, validate: bool = True) -> Tuple[float, float]: """Computes the size of each box""" if validate: self.validate() - number_per_row = self.num_boxes / self._row_count + number_per_row = self._num_boxes / self._row_count # left and right boxes go to the edges, with a space between each box spaces_per_row = number_per_row - 1 @@ -165,9 +160,6 @@ def positions(self) -> List[Tuple]: left = right_of(layout.left, width / 2) right = left_of(layout.right, width / 2) - if self.num_boxes == 4: - return [(left, top), (right, top), (left, bottom), (right, bottom)] - middle = layout.horizontal_middle return [(left, top), (middle, top), (right, top), (left, bottom), (middle, bottom), (right, bottom)] @@ -175,8 +167,6 @@ def positions(self) -> List[Tuple]: @property def names(self) -> List[str]: """Box names for each position.""" - if self.num_boxes == 4: - return ['LEFT_TOP', 'RIGHT_TOP', 'LEFT_BOTTOM', 'RIGHT_BOTTOM'] return [ 'LEFT_TOP', 'MIDDLE_TOP', 'RIGHT_TOP', 'LEFT_BOTTOM', 'MIDDLE_BOTTOM', 'RIGHT_BOTTOM' diff --git a/bcipy/display/tests/vep/test_vep_layout.py b/bcipy/display/tests/vep/test_vep_layout.py index b73bf62fa..5baf7b8a1 100644 --- a/bcipy/display/tests/vep/test_vep_layout.py +++ b/bcipy/display/tests/vep/test_vep_layout.py @@ -61,44 +61,10 @@ def test_checkerboard_inverse(self): self.assertEqual(square.inverse_color(colors), 'green') - def test_4_box_config_defaults(self): - """Test box configuration""" - full_window = Layout() - config = BoxConfiguration(layout=full_window, - num_boxes=4, - height_pct=0.25, - spacing_pct=0.1) - width, height = config.box_size - window_width, window_height = full_window.size - - self.assertEqual(window_width, 2.0) - self.assertEqual(window_height, 2.0) - self.assertEqual( - width, - 0.9, - msg="Box width should be half of the remaining width after accounting for the spacing." - ) - self.assertEqual( - height, - 0.5, - msg="Box height should be height_pct of the window height") - - positions = config.positions - self.assertEqual(len(positions), 4) - self.assertTrue((-0.55, 0.75) in positions, - msg="A box should be positioned at the top left") - self.assertTrue((0.55, 0.75) in positions, - msg="A box should be positioned at the top right") - self.assertTrue((-0.55, -0.75) in positions, - msg="A box should be positioned at the bottom left") - self.assertTrue((0.55, -0.75) in positions, - msg="A box should be positioned at the bottom right") - def test_6_box_config_defaults(self): """Test box configuration""" full_window = Layout() config = BoxConfiguration(layout=full_window, - num_boxes=6, height_pct=0.25, spacing_pct=0.05) self.assertEqual( @@ -110,21 +76,3 @@ def test_6_box_config_defaults(self): self.assertEqual(len([box for box in positions if box[0] == 0.0]), 2, msg="Two boxes should be positioned in the middle") - - def test_other_box_config(self): - """Test supported number of boxes""" - full_window = Layout() - with self.assertRaises(AssertionError): - BoxConfiguration(layout=full_window, - num_boxes=2, - height_pct=0.25, - spacing_pct=0.05) - - def test_height_pct_validation(self): - """Test validations""" - full_window = Layout() - with self.assertRaises(AssertionError): - BoxConfiguration(layout=full_window, - num_boxes=4, - height_pct=0.6, - spacing_pct=0.1) diff --git a/bcipy/task/paradigm/vep/calibration.py b/bcipy/task/paradigm/vep/calibration.py index 8147ea8f3..eca996da9 100644 --- a/bcipy/task/paradigm/vep/calibration.py +++ b/bcipy/task/paradigm/vep/calibration.py @@ -215,8 +215,7 @@ def init_calibration_display(parameters: Parameters, experiment_clock, symbol_set, timing, - colors, - num_boxes=6): + colors): """Initialize the display""" info = InformationProperties( info_color=[parameters['info_color']], @@ -227,7 +226,7 @@ def init_calibration_display(parameters: Parameters, ) layout = centered(width_pct=0.95, height_pct=0.80) - box_config = BoxConfiguration(layout, num_boxes=num_boxes, height_pct=0.30) + box_config = BoxConfiguration(layout, height_pct=0.30) stim_props = VEPStimuliProperties(stim_font=parameters['font'], stim_pos=box_config.positions, From e3510b2e66f09dd75de6ddff93ecb294d25ec157 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 8 Dec 2023 11:11:39 -0800 Subject: [PATCH 183/330] Add missing property --- bcipy/display/paradigm/vep/layout.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bcipy/display/paradigm/vep/layout.py b/bcipy/display/paradigm/vep/layout.py index 944d1c2a0..2fa27973c 100644 --- a/bcipy/display/paradigm/vep/layout.py +++ b/bcipy/display/paradigm/vep/layout.py @@ -133,6 +133,11 @@ def _box_size(self, validate: bool = True) -> Tuple[float, float]: return (width, height) + @property + def num_boxes(self) -> int: + """The number of boxes""" + return self._num_boxes + @property def box_size(self) -> Tuple[float, float]: """Size of each box""" From 73815888908a3fd8bcba32e911140f673dd2287a Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 8 Dec 2023 11:53:00 -0800 Subject: [PATCH 184/330] Added typings; fixed linting; fixed broken tests --- .../display/demo/vep/demo_calibration_vep.py | 24 ++++++++++++------- bcipy/display/paradigm/vep/display.py | 9 ++++--- bcipy/display/paradigm/vep/layout.py | 2 +- bcipy/helpers/system_utils.py | 7 ++++-- bcipy/task/paradigm/vep/calibration.py | 10 ++++---- 5 files changed, 32 insertions(+), 20 deletions(-) diff --git a/bcipy/display/demo/vep/demo_calibration_vep.py b/bcipy/display/demo/vep/demo_calibration_vep.py index 83fdb43c8..566b80209 100644 --- a/bcipy/display/demo/vep/demo_calibration_vep.py +++ b/bcipy/display/demo/vep/demo_calibration_vep.py @@ -7,10 +7,12 @@ init_display_window) from bcipy.display.components.layout import centered from bcipy.display.components.task_bar import CalibrationTaskBar -from bcipy.display.paradigm.vep.codes import ssvep_to_code +from bcipy.display.paradigm.vep.codes import (DEFAULT_FLICKER_RATES, + ssvep_to_code) from bcipy.display.paradigm.vep.display import VEPDisplay from bcipy.display.paradigm.vep.layout import BoxConfiguration from bcipy.helpers.clock import Clock +from bcipy.helpers.system_utils import get_screen_info root = logging.getLogger() root.setLevel(logging.DEBUG) @@ -28,19 +30,22 @@ ) task_text = ['1/3', '2/3', '3/3'] - +stim_screen = 0 window_parameters = { 'full_screen': False, 'window_height': 700, 'window_width': 700, - 'stim_screen': 1, + 'stim_screen': stim_screen, 'background_color': 'black' } win = init_display_window(window_parameters) win.recordFrameIntervals = True -frameRate = win.getActualFrameRate() +frame_rate = win.getActualFrameRate() +if not frame_rate: + # Allow the demo to work using the configured rate. + frame_rate = get_screen_info(stim_screen).rate -print(f'Monitor refresh rate: {frameRate} Hz') +print(f'Monitor refresh rate: {frame_rate} Hz') stim_color = [ 'green', 'red', '#00FF80', '#FFFFB3', '#CB99FF', '#FB8072', '#80B1D3', @@ -48,9 +53,9 @@ ] # Note: these rates work for a 60hz display -flicker_rates = [4, 5, 6, 10, 12, 15] +flicker_rates = DEFAULT_FLICKER_RATES codes = [ - ssvep_to_code(refresh_rate=60, flicker_rate=hz) + ssvep_to_code(refresh_rate=int(frame_rate), flicker_rate=hz) for hz in flicker_rates ] @@ -67,7 +72,7 @@ stim_color=stim_color, inquiry=[], stim_length=1, # how many times to stimuli - animation_seconds=1.0) + animation_seconds=2.0) task_bar = CalibrationTaskBar(win, inquiry_count=3, current_index=0, font=font) vep = VEPDisplay(win, experiment_clock, @@ -76,7 +81,8 @@ info, box_config=box_config, codes=codes, - should_prompt_target=True) + should_prompt_target=True, + frame_rate=frame_rate) wait_seconds = 2 inquiries: List[List[Any]] = [[ diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index 6f7c3bba4..0576f81b4 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -48,10 +48,13 @@ def __init__(self, trigger_type: str = 'text', symbol_set: Optional[List[str]] = None, codes: Optional[List[List[int]]] = None, - should_prompt_target: bool = True): + should_prompt_target: bool = True, + frame_rate: Optional[float] = None): self.window = window - frame_rate = self.window.getActualFrameRate() - assert frame_rate, 'An accurate window frame rate could not be established' + if not frame_rate: + frame_rate = self.window.getActualFrameRate() + assert frame_rate, 'An accurate window frame rate could not be established' + self.window_size = self.window.size # [w, h] self.refresh_rate = round_refresh_rate(frame_rate) self.logger = logging.getLogger(__name__) diff --git a/bcipy/display/paradigm/vep/layout.py b/bcipy/display/paradigm/vep/layout.py index 2fa27973c..6fbfa4e75 100644 --- a/bcipy/display/paradigm/vep/layout.py +++ b/bcipy/display/paradigm/vep/layout.py @@ -137,7 +137,7 @@ def _box_size(self, validate: bool = True) -> Tuple[float, float]: def num_boxes(self) -> int: """The number of boxes""" return self._num_boxes - + @property def box_size(self) -> Tuple[float, float]: """Size of each box""" diff --git a/bcipy/helpers/system_utils.py b/bcipy/helpers/system_utils.py index f0bd30d5c..6b9450404 100644 --- a/bcipy/helpers/system_utils.py +++ b/bcipy/helpers/system_utils.py @@ -134,7 +134,7 @@ def bcipy_version() -> str: return f'{version} - {sha_hash}' if sha_hash else version -def get_screen_info() -> ScreenInfo: +def get_screen_info(stim_screen: Optional[int] = None) -> ScreenInfo: """Gets the screen information. Note: Use this method if only the screen resolution is needed; it is much more efficient @@ -144,7 +144,10 @@ def get_screen_info() -> ScreenInfo: ------- ScreenInfo(width, height, rate) """ - screen = pyglet.canvas.get_display().get_default_screen() + if stim_screen: + screen = pyglet.canvas.get_display().get_screens()[stim_screen] + else: + screen = pyglet.canvas.get_display().get_default_screen() return ScreenInfo(screen.width, screen.height, screen.get_mode().rate) diff --git a/bcipy/task/paradigm/vep/calibration.py b/bcipy/task/paradigm/vep/calibration.py index eca996da9..7761766ab 100644 --- a/bcipy/task/paradigm/vep/calibration.py +++ b/bcipy/task/paradigm/vep/calibration.py @@ -211,11 +211,11 @@ def name(self): def init_calibration_display(parameters: Parameters, - window, - experiment_clock, - symbol_set, - timing, - colors): + window: visual.Window, + experiment_clock: Clock, + symbol_set: List[str], + timing: List[float], + colors: List[str]) -> VEPDisplay: """Initialize the display""" info = InformationProperties( info_color=[parameters['info_color']], From 90aa3f2388d8d8f898c99478c04341b065d3788a Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 8 Dec 2023 15:01:20 -0800 Subject: [PATCH 185/330] Added debugging for frame rate --- bcipy/display/paradigm/vep/display.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index 0576f81b4..ee7b0515a 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -322,7 +322,7 @@ def draw_animation(self, stimuli: List[StimProps]) -> None: start_pos = self.starting_position(sym) animation_paths[sym] = animation_path(start_pos, end_pos, frames) - + counter = 0 self.static_clock.reset() while self.static_clock.getTime() < self.timing_animation: for frame in range(frames): @@ -332,6 +332,10 @@ def draw_animation(self, stimuli: List[StimProps]) -> None: sti.draw() self.draw_static() self.window.flip() + counter += 1 + self.logger.debug( + f"{counter} animation frames rendered in {self.timing_animation} seconds" + ) def draw_boxes(self) -> None: """Draw the text boxes under VEP stimuli.""" From 5a550d13ce5d5ae942d1b07453b795841eaafd27 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 12 Dec 2023 09:37:46 -0800 Subject: [PATCH 186/330] Cleanup --- bcipy/acquisition/__init__.py | 7 ++++--- bcipy/helpers/acquisition.py | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/bcipy/acquisition/__init__.py b/bcipy/acquisition/__init__.py index d5430a2ee..40f326ea3 100644 --- a/bcipy/acquisition/__init__.py +++ b/bcipy/acquisition/__init__.py @@ -1,9 +1,10 @@ -from bcipy.acquisition.protocols.lsl.lsl_client import (LslAcquisitionClient, - discover_device_spec) from bcipy.acquisition.datastream.lsl_server import LslDataServer, await_start from bcipy.acquisition.multimodal import ClientManager +from bcipy.acquisition.protocols.lsl.lsl_client import (LslAcquisitionClient, + discover_device_spec) +from bcipy.acquisition.record import Record __all__ = [ 'LslAcquisitionClient', 'LslDataServer', 'await_start', - 'discover_device_spec', 'ClientManager' + 'discover_device_spec', 'ClientManager', 'Record' ] diff --git a/bcipy/helpers/acquisition.py b/bcipy/helpers/acquisition.py index 46c76bac6..6da6911f2 100644 --- a/bcipy/helpers/acquisition.py +++ b/bcipy/helpers/acquisition.py @@ -165,7 +165,7 @@ def init_lsl_client(parameters: dict, """Initialize a client that acquires data from LabStreamingLayer.""" data_buffer_seconds = round(max_inquiry_duration(parameters)) - + log.info(f"Setting an acquisition buffer of {data_buffer_seconds} seconds") return LslAcquisitionClient(max_buffer_len=data_buffer_seconds, device_spec=device_spec, save_directory=save_folder, From 5311d97f180263774c5a647616c54fa396f96454 Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Tue, 12 Dec 2023 13:50:02 -0500 Subject: [PATCH 187/330] recording metrics and storing series_results bug fix --- .gitignore | 7 +- bcipy/simulator/__init__.py | 2 +- bcipy/simulator/__main__.py | 1 + bcipy/simulator/helpers/data_engine.py | 2 +- bcipy/simulator/helpers/metrics.py | 99 +++++++++++++++++++++++- bcipy/simulator/helpers/state_manager.py | 6 +- bcipy/simulator/sim.py | 4 +- bcipy/simulator/sim_factory.py | 6 +- 8 files changed, 114 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 5a944e305..48f9a773f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,8 @@ *.pyc *~ +*.png +*.csv +*.kenlm .DS_Store .cache/ .vscode/ @@ -28,6 +31,8 @@ dist/ bcipy/parameters/parameters_* bcipy_cache -bcipy/language/lms/lm_dec19_char_large_12gram.* +bcipy/language/lms/ bcipy/language/lms/out_* bcipy/language/out/ + + diff --git a/bcipy/simulator/__init__.py b/bcipy/simulator/__init__.py index 2a543a621..181cfd2de 100644 --- a/bcipy/simulator/__init__.py +++ b/bcipy/simulator/__init__.py @@ -14,7 +14,7 @@ # Create a log format using Log Record attributes fmt_file = logging.Formatter( - "%(asctime)s | %(levelname)s | %(filename)s:%(lineno)s >> %(message)s" + "%(levelname)s | %(filename)s:%(lineno)s >> %(message)s" ) fmt = logging.Formatter( diff --git a/bcipy/simulator/__main__.py b/bcipy/simulator/__main__.py index 8777f5e07..b93f7b295 100644 --- a/bcipy/simulator/__main__.py +++ b/bcipy/simulator/__main__.py @@ -25,4 +25,5 @@ args = vars(parser.parse_args()) simulator: Simulator = SimulationFactoryV2.create(**args) + simulator.run() diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py index 234df0aa2..73661a50a 100644 --- a/bcipy/simulator/helpers/data_engine.py +++ b/bcipy/simulator/helpers/data_engine.py @@ -91,7 +91,7 @@ def transform(self) -> DataEngine: self for chaining """ - cols = ["series_n", "inquiry_n", "trial_n", "symbol", "target", "eeg"] # TODO store how good evidence was in session + cols = ["series_n", "inquiry_n", "trial_n", "symbol", "target", "eeg"] # TODO store how good evidence was in session | store data source as well types = [int, int, int, str, int, np.ndarray] rows = [] diff --git a/bcipy/simulator/helpers/metrics.py b/bcipy/simulator/helpers/metrics.py index 3352c49a3..284bb615f 100644 --- a/bcipy/simulator/helpers/metrics.py +++ b/bcipy/simulator/helpers/metrics.py @@ -1,9 +1,100 @@ -from abc import ABC +from abc import ABC, abstractmethod +from dataclasses import dataclass +from functools import reduce +from typing import Dict, Any, Optional, List + +import numpy as np + +from bcipy.simulator.helpers.state_manager import SimState +from bcipy.simulator.helpers.types import InquiryResult +from bcipy.simulator.simulator_base import Simulator + + +@dataclass +class SimMetrics1: + total_series: Optional[int] = None + total_inquiries: Optional[int] = None + total_decisions: Optional[int] = None + total_time_spent: Optional[float] = None + + inquiries_per_selection: Optional[float] = None + + +class RefereeHandler(ABC): + @abstractmethod + def handle(self, sim: Simulator) -> Dict[str, Any]: + ... + + +class SimMetrics1Handler(RefereeHandler): + + def handle(self, sim: Simulator) -> Dict[str, Any]: + state: SimState = sim.__getattribute__("state_manager").get_state() + + info: Dict = SimMetrics1().__dict__ + info['total_inquiries'] = state.total_inquiry_count() + info['total_series'] = state.series_n + + flattened_inquiries: List[InquiryResult] = reduce(lambda l1, l2: l1 + l2, state.series_results, []) + info['total_decisions'] = len(list(filter(lambda inq: bool(inq.decision), flattened_inquiries))) + + inq_counts = [] + for series in state.series_results: + if [inq for inq in series if inq.decision]: + inq_counts.append(len(series)) + info['inquiries_per_selection'] = round(np.array(inq_counts).mean(), 3) + + return info class MetricReferee(ABC): - ... + # May change to SimState that is passed around not whole Simulator + # Depends on how much data encapsulated by SimState + @abstractmethod + def score(self, sim: Simulator) -> SimMetrics1: + ... + + @abstractmethod + def visualize(self, sim: Simulator): + ... + + @abstractmethod + def set_metric_handler(self, name: str, handler: RefereeHandler): + ... + + @abstractmethod + def set_viz_handler(self, name: str, handler: RefereeHandler): + ... + + +class RefereeImpl(MetricReferee): + + def __init__(self, metric_handlers=None, viz_handlers=None): + self.metric_handlers: Dict[str, RefereeHandler] = metric_handlers if metric_handlers else dict() + self.viz_handlers: Dict[str, RefereeHandler] = viz_handlers if viz_handlers else dict() + + self.inquiry_time: float = 1 # 1 inq -> 1 second + # TODO maybe some configurable parameters for visualizations + + def score(self, sim: Simulator) -> SimMetrics1: + metrics = SimMetrics1() + metrics_dict = metrics.__dict__ + for handler_name, handler in self.metric_handlers.items(): + handler_metrics = handler.handle(sim) + + for key, val in handler_metrics.items(): + if key in metrics_dict: + metrics_dict[key] = val + + return SimMetrics1(**metrics_dict) + + def visualize(self, sim: Simulator): + for handler_name, viz_handler in self.viz_handlers.items(): + viz_handler.handle(sim) + + def set_metric_handler(self, name: str, handler: RefereeHandler): + self.metric_handlers[name] = handler -class DummyRef(MetricReferee): - pass + def set_viz_handler(self, name: str, handler: RefereeHandler): + self.viz_handlers[name] = handler diff --git a/bcipy/simulator/helpers/state_manager.py b/bcipy/simulator/helpers/state_manager.py index e5013365a..e7ec80a72 100644 --- a/bcipy/simulator/helpers/state_manager.py +++ b/bcipy/simulator/helpers/state_manager.py @@ -67,7 +67,7 @@ def __init__(self, parameters: Parameters, fuser_class=MultiplyFuser): self.parameters = parameters self.fuser_class: EvidenceFuser.__class__ = fuser_class - self.max_inq_len = self.parameters.get('max_inq_len', 50) + self.max_inq_len = self.parameters.get('max_inq_len', 100) def is_done(self) -> bool: # TODO add stoppage criterion, Stoppage criterion is seperate from decision. Decision should we go on to next letter or not @@ -93,6 +93,10 @@ def update(self, evidence) -> InquiryResult: decision = None new_state = self.get_state().__dict__ + new_inquiry_result = InquiryResult(target=self.state.target_symbol, time_spent=0, stimuli=self.state.display_alphabet, + evidence_likelihoods=list(evidence), decision=decision, fused_likelihood=fused_likelihood) + + new_state['series_results'][self.state.series_n].append(new_inquiry_result) if is_decidable: decision = alphabet()[np.argmax(evidence)] # deciding the maximum probability symbol TODO abstract diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index 7697e0836..ac7559005 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -87,9 +87,11 @@ def run(self): final_state = self.state_manager.get_state() log.info(f"SIM END") + log.info(f"FINAL TYPED: {final_state.current_sentence}") + log.info(self.referee.score(self).__dict__) + log.debug(f"Final State: {final_state}") - # TODO visualize result metrics def __make_stimuli(self, state: SimState): # TODO abstract out diff --git a/bcipy/simulator/sim_factory.py b/bcipy/simulator/sim_factory.py index 70eaeb154..9a1fdfc03 100644 --- a/bcipy/simulator/sim_factory.py +++ b/bcipy/simulator/sim_factory.py @@ -1,12 +1,10 @@ from pathlib import Path from typing import List -import numpy as np - from bcipy.config import DEFAULT_PARAMETER_FILENAME from bcipy.helpers.load import load_json_parameters from bcipy.simulator.helpers.data_engine import RawDataEngine -from bcipy.simulator.helpers.metrics import MetricReferee, DummyRef +from bcipy.simulator.helpers.metrics import MetricReferee, RefereeImpl, SimMetrics1Handler from bcipy.simulator.helpers.model_handler import SignalModelHandler1, ModelHandler from bcipy.simulator.helpers.sampler import Sampler, EEGByLetterSampler from bcipy.simulator.helpers.state_manager import StateManager, StateManagerImpl @@ -51,7 +49,7 @@ def create(data_folders: List[str], smodel_files: List[str], sim_param_path="bci stateManager: StateManager = StateManagerImpl(sim_parameters) sampler: Sampler = EEGByLetterSampler(data_engine) model_handler: ModelHandler = SignalModelHandler1(model_file) - referee: MetricReferee = DummyRef() + referee: MetricReferee = RefereeImpl(metric_handlers={'basic': SimMetrics1Handler()}) sim = SimulatorCopyPhrase(data_engine, model_handler, sampler, stateManager, referee) From b3371feb659c239d6a9e5022578d2ff2ea59ce86 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 12 Dec 2023 11:06:23 -0800 Subject: [PATCH 188/330] Fixed bug in highlighting target box --- bcipy/display/paradigm/vep/display.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index ee7b0515a..f52d43ad4 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -209,7 +209,7 @@ def prompt_target(self, target - (symbol, duration, color) tuple """ assert isinstance(target.symbol, str), "Target must be a str" - self.logger.info(f"Target: {target.symbol}") + self.logger.info(f"Target: {target.symbol} at index {target_box_index}") # Show all symbols in the matrix at reduced opacity for sym in self.symbol_set: @@ -233,7 +233,7 @@ def prompt_target(self, for sti in self.sti.values(): sti.draw() - if target_box_index: + if target_box_index is not None: self.highlight_target_box(target_box_index) self.draw_static() From 92836580dd959e9af80e6187bbbe74a19f4e92af Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 12 Dec 2023 14:40:14 -0800 Subject: [PATCH 189/330] Hide all letters before showing checkerboard stim --- bcipy/display/paradigm/vep/display.py | 1 + 1 file changed, 1 insertion(+) diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index f52d43ad4..993838d20 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -185,6 +185,7 @@ def do_inquiry(self) -> List[StimTime]: # type: ignore self.log_inquiry(stim) self.animate_inquiry(stim) core.wait(self.timing_fixation) + self._reset_text_boxes() self.stimulate() # clear everything expect static stimuli From 2abc4eefc60839d80e1f4b576201dd5af6e09a08 Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 14 Dec 2023 15:48:32 -0800 Subject: [PATCH 190/330] #186539529 ; restructure lsl_client to address a data buffering issue that occurs with the latest LSL versions --- bcipy/acquisition/protocols/lsl/lsl_client.py | 113 ++++++++++++------ bcipy/acquisition/record.py | 14 ++- requirements.txt | 2 +- 3 files changed, 87 insertions(+), 42 deletions(-) diff --git a/bcipy/acquisition/protocols/lsl/lsl_client.py b/bcipy/acquisition/protocols/lsl/lsl_client.py index d8571f18b..3e21a73ea 100644 --- a/bcipy/acquisition/protocols/lsl/lsl_client.py +++ b/bcipy/acquisition/protocols/lsl/lsl_client.py @@ -1,7 +1,8 @@ """DataAcquisitionClient for LabStreamingLayer data sources.""" import logging -from typing import Optional, List +from typing import Dict, List, Optional +import pandas as pd from pylsl import (StreamInfo, StreamInlet, local_clock, resolve_byprop, resolve_stream) @@ -54,6 +55,26 @@ def __init__(self, self.max_buffer_len = max_buffer_len self.save_directory = save_directory self.raw_data_file_name = raw_data_file_name + self._max_samples = None + + @property + def first_sample_time(self) -> float: + """Timestamp returned by the first sample. If the data is being + recorded this value reflects the timestamp of the first recorded sample""" + if self.recorder: + return self.recorder.first_sample_time + return self._first_sample_time + + @property + def max_samples(self) -> int: + """Maximum number of samples available at any given time.""" + if self._max_samples is None: + if self.device_spec.sample_rate == IRREGULAR_RATE: + self._max_samples = int(self.max_buffer_len) + else: + self._max_samples = int(self.max_buffer_len * + self.device_spec.sample_rate) + return self._max_samples def start_acquisition(self) -> bool: """Connect to the datasource and start acquiring data. @@ -74,7 +95,7 @@ def start_acquisition(self) -> bool: self.inlet = StreamInlet( stream_info, - max_buflen=self.max_buffer_len, + max_buflen=4 * self.max_buffer_len, # TODO: revisit this value max_chunklen=1) if self.device_spec: @@ -95,14 +116,6 @@ def start_acquisition(self) -> bool: _, self._first_sample_time = self.inlet.pull_sample() return True - @property - def first_sample_time(self) -> float: - """Timestamp returned by the first sample. If the data is being - recorded this value reflects the timestamp of the first recorded sample""" - if self.recorder: - return self.recorder.first_sample_time - return self._first_sample_time - def stop_acquisition(self) -> None: """Disconnect from the data source.""" log.info(f"Stopping Acquisition from {self.device_spec.name} ...") @@ -126,12 +139,34 @@ def __exit__(self, _exc_type, _exc_value, _traceback): """Context manager exit method to clean up resources.""" self.stop_acquisition() + def _data_stats(self, data: List[Record]) -> Dict[str, float]: + """Summarize a list of records for logging and inspection.""" + if data: + diffs = pd.DataFrame(data)['timestamp'].diff() + data_start = data[0].timestamp + data_end = data[-1].timestamp + precision = 3 + return { + 'count': len(data), + 'seconds': round(data_end - data_start, precision), + 'from': round(data_start, precision), + 'to': round(data_end, precision), + 'expected_diff': round(1 / self.device_spec.sample_rate, + precision), + 'mean_diff': round(diffs.mean(), precision), + 'max_diff': round(diffs.max(), precision) + } + return {} + def get_data(self, start: Optional[float] = None, end: Optional[float] = None, limit: Optional[int] = None) -> List[Record]: """Get data in time range. + Only data in the current buffer is available to query; + requests for data outside of this will fail. + Parameters ---------- start : starting timestamp (acquisition clock). @@ -142,38 +177,31 @@ def get_data(self, ------- List of Records """ - log.info(f"Getting data from: {start} to: {end} limit: {limit}") + log.info(f"Requesting data from: {start} to: {end} limit: {limit}") - # Only data in the current buffer is available to query; - # requests for data outside of this will fail. Buffer size is - # set using the max_buffer_len parameter. data = self.get_latest_data() - if not data: log.info('No records available') return [] - log.info((f'{len(data)} records available ' - f'(From: {data[0].timestamp} To: {data[-1].timestamp})')) - start = start or data[0].timestamp - end = end or data[-1].timestamp - limit = limit or -1 - assert start >= data[0].timestamp, ( - f'Start time of {start} is out of range: ' - f'({data[0].timestamp} to {data[-1].timestamp}).') + data_start = data[0].timestamp + data_end = data[-1].timestamp + log.info(f'Available data: {self._data_stats(data)}') + + if start is None: + start = data_start + if end is None: + end = data_end + + assert start >= data_start, 'Start time out of range' + assert end <= data_end, 'End time out of range' data_slice = [ record for record in data if start <= record.timestamp <= end ][0:limit] - log.info(f'{len(data_slice)} records returned') - return data_slice + log.info(f"Filtered records: {self._data_stats(data_slice)}") - @property - def max_samples(self) -> int: - """Maximum number of samples available at any given time.""" - if self.device_spec.sample_rate == IRREGULAR_RATE: - return int(self.max_buffer_len) - return int(self.max_buffer_len * self.device_spec.sample_rate) + return data_slice def get_latest_data(self) -> List[Record]: """Add all available samples in the inlet to the buffer. @@ -182,15 +210,28 @@ def get_latest_data(self) -> List[Record]: max_buffer_len and the amount of data available in the inlet.""" if not self.buffer: return [] - samples, timestamps = self.inlet.pull_chunk( - max_samples=self.max_samples) - for i, sample in enumerate(samples): - self.buffer.append( - Record(data=sample, timestamp=timestamps[i], rownum=None)) + count = self._pull_chunk() + # Pull all the data from LSL and append it to the local buffer. + while count == self.max_samples: + count = self._pull_chunk() return self.buffer.get() + def _pull_chunk(self) -> int: + """Pull a chunk of samples from LSL and record in the buffer. + Returns the count of samples pulled. + """ + log.info(f"Pulling from LSL (max_samples: {self.max_samples})") + # A timeout of 0.0 gets currently available samples without blocking. + samples, timestamps = self.inlet.pull_chunk( + timeout=0.0, max_samples=self.max_samples) + count = len(samples) + log.info(f"\tReceived {count} samples") + for sample, stamp in zip(samples, timestamps): + self.buffer.append(Record(sample, stamp)) + return count + def convert_time(self, experiment_clock: Clock, timestamp: float) -> float: """ Convert a timestamp from the experiment clock to the acquisition clock. diff --git a/bcipy/acquisition/record.py b/bcipy/acquisition/record.py index 8eea72e34..5563ad92a 100644 --- a/bcipy/acquisition/record.py +++ b/bcipy/acquisition/record.py @@ -1,8 +1,12 @@ # -*- coding: utf-8 -*- """Defines the Record namedtuple""" -from collections import namedtuple +from typing import Any, List, NamedTuple -Record = namedtuple('Record', ['data', 'timestamp', 'rownum']) -Record.__doc__ = """Domain object used for storing data and timestamp -information, where data is a single reading from a device and is a list -of channel information (float).""" + +class Record(NamedTuple): + """Domain object used for storing data and timestamp + information, where data is a single reading from a device and is a list + of channel information (float).""" + data: List[Any] + timestamp: float + rownum: int = None diff --git a/requirements.txt b/requirements.txt index 128be55b8..809272152 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14,7 +14,7 @@ scipy==1.10.1 scikit-learn==1.2.2 seaborn==0.9.0 matplotlib==3.7.2 -pylsl==1.16 +pylsl==1.16.2 pandas==1.5.3 psutil==5.7.2 Pillow==9.4.0 From be6b2925f38106227a9747ca54732b85a775ace7 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 22 Dec 2023 13:30:46 -0800 Subject: [PATCH 191/330] Fixes an issue with logging samples that was caused by the provided type being a DataFrame rather than a List[Series] --- bcipy/simulator/helpers/log_utils.py | 11 ++++------- bcipy/simulator/helpers/sampler.py | 5 +++-- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/bcipy/simulator/helpers/log_utils.py b/bcipy/simulator/helpers/log_utils.py index 8e91d5110..19cf8c2bc 100644 --- a/bcipy/simulator/helpers/log_utils.py +++ b/bcipy/simulator/helpers/log_utils.py @@ -9,10 +9,7 @@ def format_alp_likelihoods(likelihoods, alp): return formatted -def format_sample_rows(sample_rows: List[pd.Series]): - formatted_rows = [] - for row in sample_rows: - new_row = row.drop(columns=['eeg'], axis=1, inplace=False) - formatted_rows.append(new_row.to_string(index=False, header=True)) - - return ", ".join(formatted_rows) +def format_sample_rows(sample_rows: List[pd.Series]) -> str: + """Returns a tabular representation of the sample rows.""" + return pd.DataFrame(sample_rows).drop(columns=['eeg']).to_string( + index=False, header=True) diff --git a/bcipy/simulator/helpers/sampler.py b/bcipy/simulator/helpers/sampler.py index 3111d2370..44fe029c3 100644 --- a/bcipy/simulator/helpers/sampler.py +++ b/bcipy/simulator/helpers/sampler.py @@ -53,11 +53,12 @@ def sample(self, state: SimState) -> np.ndarray: if not len(filtered_data): raise TaskConfigurationException(message="No eeg sample found with provided data and query") - row = filtered_data.sample(1) + row = filtered_data.sample(1).iloc[0] sample_rows.append(row) log.debug(f"EEG Samples: \n {format_sample_rows(sample_rows)}") - eeg_responses = [r['eeg'].to_numpy()[0] for r in sample_rows] + + eeg_responses = [r['eeg'] for r in sample_rows] sample = self.model_input_reshaper(eeg_responses) return sample From f7033bbd32e84400762ca6710efbd80cd823457a Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 22 Dec 2023 14:56:30 -0800 Subject: [PATCH 192/330] cleanup from PR suggestions --- bcipy/acquisition/protocols/lsl/lsl_client.py | 4 ++-- bcipy/acquisition/record.py | 4 ++-- bcipy/helpers/acquisition.py | 4 +++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/bcipy/acquisition/protocols/lsl/lsl_client.py b/bcipy/acquisition/protocols/lsl/lsl_client.py index 3e21a73ea..f82d545b9 100644 --- a/bcipy/acquisition/protocols/lsl/lsl_client.py +++ b/bcipy/acquisition/protocols/lsl/lsl_client.py @@ -222,12 +222,12 @@ def _pull_chunk(self) -> int: """Pull a chunk of samples from LSL and record in the buffer. Returns the count of samples pulled. """ - log.info(f"Pulling from LSL (max_samples: {self.max_samples})") + log.debug(f"Pulling from LSL (max_samples: {self.max_samples})") # A timeout of 0.0 gets currently available samples without blocking. samples, timestamps = self.inlet.pull_chunk( timeout=0.0, max_samples=self.max_samples) count = len(samples) - log.info(f"\tReceived {count} samples") + log.debug(f"\tReceived {count} samples") for sample, stamp in zip(samples, timestamps): self.buffer.append(Record(sample, stamp)) return count diff --git a/bcipy/acquisition/record.py b/bcipy/acquisition/record.py index 5563ad92a..8d93a5a9c 100644 --- a/bcipy/acquisition/record.py +++ b/bcipy/acquisition/record.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """Defines the Record namedtuple""" -from typing import Any, List, NamedTuple +from typing import Any, List, NamedTuple, Optional class Record(NamedTuple): @@ -9,4 +9,4 @@ class Record(NamedTuple): of channel information (float).""" data: List[Any] timestamp: float - rownum: int = None + rownum: Optional[int] = None diff --git a/bcipy/helpers/acquisition.py b/bcipy/helpers/acquisition.py index 6da6911f2..c129470d3 100644 --- a/bcipy/helpers/acquisition.py +++ b/bcipy/helpers/acquisition.py @@ -165,7 +165,9 @@ def init_lsl_client(parameters: dict, """Initialize a client that acquires data from LabStreamingLayer.""" data_buffer_seconds = round(max_inquiry_duration(parameters)) - log.info(f"Setting an acquisition buffer of {data_buffer_seconds} seconds") + log.info( + f"Setting an acquisition buffer for {device_spec.name} of {data_buffer_seconds} seconds" + ) return LslAcquisitionClient(max_buffer_len=data_buffer_seconds, device_spec=device_spec, save_directory=save_folder, From b92ad51794c93a09b97c1f52ded78012ca1ca5a6 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 5 Jan 2024 16:16:52 -0800 Subject: [PATCH 193/330] #186164071 ; added active/passive status to devices --- bcipy/acquisition/devices.py | 37 ++++++++++-- bcipy/acquisition/multimodal.py | 9 +++ bcipy/acquisition/protocols/lsl/lsl_client.py | 1 + bcipy/acquisition/tests/test_devices.py | 60 +++++++++++++++---- bcipy/helpers/acquisition.py | 44 ++++++++++---- bcipy/helpers/tests/test_acquisition.py | 16 +++-- bcipy/parameters/devices.json | 15 +++-- bcipy/signal/model/offline_analysis.py | 32 +++++----- bcipy/task/paradigm/rsvp/copy_phrase.py | 2 +- .../tests/paradigm/rsvp/test_copy_phrase.py | 1 + 10 files changed, 164 insertions(+), 53 deletions(-) diff --git a/bcipy/acquisition/devices.py b/bcipy/acquisition/devices.py index 12a2c1f56..4eb194df9 100644 --- a/bcipy/acquisition/devices.py +++ b/bcipy/acquisition/devices.py @@ -2,8 +2,9 @@ devices.""" import json import logging +from enum import Enum, auto from pathlib import Path -from typing import Optional, Dict, List, NamedTuple, Union +from typing import Dict, List, NamedTuple, Optional, Union from bcipy.config import DEFAULT_ENCODING, DEVICE_SPEC_PATH @@ -50,6 +51,22 @@ def channel_spec(channel: Union[str, dict, ChannelSpec]) -> ChannelSpec: raise Exception("Unexpected channel type") +class DeviceStatus(Enum): + """Represents the recording status of a device during acquisition.""" + ACTIVE = auto() + PASSIVE = auto() + + def __str__(self) -> str: + """String representation""" + return self.name.lower() + + @classmethod + def from_str(cls, name: str) -> 'DeviceStatus': + """Returns the DeviceStatus associated with the given string + representation.""" + return cls[name.upper()] + + class DeviceSpec: """Specification for a hardware device used in data acquisition. @@ -67,6 +84,7 @@ class DeviceSpec: data_type - data format of a channel; all channels must have the same type; see https://labstreaminglayer.readthedocs.io/projects/liblsl/ref/enums.html excluded_from_analysis - list of channels (label) to exclude from analysis. + status - recording status """ def __init__(self, @@ -76,7 +94,8 @@ def __init__(self, content_type: str = DEFAULT_DEVICE_TYPE, description: Optional[str] = None, excluded_from_analysis: Optional[List[str]] = None, - data_type='float32'): + data_type: str = 'float32', + status: DeviceStatus = DeviceStatus.ACTIVE): assert sample_rate >= 0, "Sample rate can't be negative." assert data_type in SUPPORTED_DATA_TYPES @@ -89,6 +108,7 @@ def __init__(self, self.data_type = data_type self.excluded_from_analysis = excluded_from_analysis or [] self._validate_excluded_channels() + self.status = status @property def channel_count(self) -> int: @@ -117,6 +137,12 @@ def analysis_channels(self) -> List[str]: filter(lambda channel: channel not in self.excluded_from_analysis, self.channels)) + @property + def is_active(self) -> bool: + """Returns a boolean indicating if the device is currently active + (recording status set to DeviceStatus.ACTIVE).""" + return self.status == DeviceStatus.ACTIVE + def to_dict(self) -> dict: """Converts the DeviceSpec to a dict.""" return { @@ -125,7 +151,8 @@ def to_dict(self) -> dict: 'channels': [ch._asdict() for ch in self.channel_specs], 'sample_rate': self.sample_rate, 'description': self.description, - 'excluded_from_analysis': self.excluded_from_analysis + 'excluded_from_analysis': self.excluded_from_analysis, + 'status': str(self.status) } def __str__(self): @@ -153,13 +180,15 @@ def _validate_excluded_channels(self): def make_device_spec(config: dict) -> DeviceSpec: """Constructs a DeviceSpec from a dict. Throws a KeyError if any fields are missing.""" + default_status = str(DeviceStatus.ACTIVE) return DeviceSpec(name=config['name'], content_type=config['content_type'], channels=config['channels'], sample_rate=config['sample_rate'], description=config['description'], excluded_from_analysis=config.get( - 'excluded_from_analysis', [])) + 'excluded_from_analysis', []), + status=DeviceStatus.from_str(config.get('status', default_status))) def load(config_path: Path = Path(DEFAULT_CONFIG), replace: bool = False) -> Dict[str, DeviceSpec]: diff --git a/bcipy/acquisition/multimodal.py b/bcipy/acquisition/multimodal.py index 43b3ca560..8249f0885 100644 --- a/bcipy/acquisition/multimodal.py +++ b/bcipy/acquisition/multimodal.py @@ -84,6 +84,15 @@ def device_content_types(self) -> List[ContentType]: """ return list(self._clients.keys()) + @property + def active_device_content_types(self) -> List[ContentType]: + """Returns a list of ContentTypes provided by the active configured + devices.""" + return [ + content_type for content_type, spec in self._clients.items() + if spec.is_active + ] + @property def default_client(self) -> Optional[LslAcquisitionClient]: """Returns the default client.""" diff --git a/bcipy/acquisition/protocols/lsl/lsl_client.py b/bcipy/acquisition/protocols/lsl/lsl_client.py index f82d545b9..c78f64b90 100644 --- a/bcipy/acquisition/protocols/lsl/lsl_client.py +++ b/bcipy/acquisition/protocols/lsl/lsl_client.py @@ -127,6 +127,7 @@ def stop_acquisition(self) -> None: log.info("Closing LSL connection") self.inlet.close_stream() self.inlet = None + log.info("Inlet closed") self.buffer = None diff --git a/bcipy/acquisition/tests/test_devices.py b/bcipy/acquisition/tests/test_devices.py index 31c0a766c..aedaea775 100644 --- a/bcipy/acquisition/tests/test_devices.py +++ b/bcipy/acquisition/tests/test_devices.py @@ -6,7 +6,6 @@ from pathlib import Path from bcipy.acquisition import devices - from bcipy.config import DEFAULT_ENCODING @@ -21,8 +20,8 @@ def test_default_supported_devices(self): """List of supported devices should include generic values for backwards compatibility.""" supported = devices.preconfigured_devices() - self.assertTrue(len(supported.keys()) > 0) - self.assertTrue('DSI-24' in supported.keys()) + self.assertTrue(len(supported) > 0) + self.assertTrue('DSI-24' in supported) dsi = supported['DSI-24'] self.assertEqual('EEG', dsi.content_type) @@ -49,13 +48,15 @@ def test_load_from_config(self): devices.load(config_path, replace=True) supported = devices.preconfigured_devices() - self.assertEqual(1, len(supported.keys())) - self.assertTrue('DSI-VR300' in supported.keys()) + self.assertEqual(1, len(supported)) + self.assertTrue('DSI-VR300' in supported) spec = supported['DSI-VR300'] self.assertEqual('EEG', spec.content_type) self.assertEqual(300.0, spec.sample_rate) self.assertEqual(channels, spec.channels) + self.assertEqual(devices.DeviceStatus.ACTIVE, spec.status) + self.assertTrue(spec.is_active) self.assertEqual(spec, devices.preconfigured_device('DSI-VR300')) shutil.rmtree(temp_dir) @@ -89,14 +90,14 @@ def test_load_channel_specs_from_config(self): with open(config_path, 'w', encoding=DEFAULT_ENCODING) as config_file: json.dump(my_devices, config_file) - prior_device_count = len(devices.preconfigured_devices().keys()) + prior_device_count = len(devices.preconfigured_devices()) devices.load(config_path) supported = devices.preconfigured_devices() spec = supported["Custom-Device"] self.assertEqual(spec.channels, ['Fz', 'Pz', 'F7']) self.assertEqual(spec.channel_names, ['ch1', 'ch2', 'ch3']) - self.assertEqual(len(supported.keys()), prior_device_count + 1) + self.assertEqual(len(supported), prior_device_count + 1) shutil.rmtree(temp_dir) def test_load_missing_config(self): @@ -120,16 +121,16 @@ def test_device_registration(self): sample_rate=300.0, description="Custom built device") supported = devices.preconfigured_devices() - device_count = len(supported.keys()) + device_count = len(supported) self.assertTrue(device_count > 0) - self.assertTrue('my-device' not in supported.keys()) + self.assertTrue('my-device' not in supported) spec = devices.make_device_spec(data) devices.register(spec) supported = devices.preconfigured_devices() - self.assertEqual(device_count + 1, len(supported.keys())) - self.assertTrue('my-device' in supported.keys()) + self.assertEqual(device_count + 1, len(supported)) + self.assertTrue('my-device' in supported) def test_search_by_name(self): """Should be able to find a supported device by name.""" @@ -143,6 +144,7 @@ def test_device_spec_defaults(self): sample_rate=256.0) self.assertEqual(3, spec.channel_count) self.assertEqual('EEG', spec.content_type) + self.assertEqual(devices.DeviceStatus.ACTIVE, spec.status) def test_device_spec_analysis_channels(self): """DeviceSpec should have a list of channels used for analysis.""" @@ -228,12 +230,46 @@ def test_device_spec_to_dict(self): spec = devices.DeviceSpec(name=device_name, channels=channels, sample_rate=sample_rate, - content_type=content_type) + content_type=content_type, + status=devices.DeviceStatus.PASSIVE) spec_dict = spec.to_dict() self.assertEqual(device_name, spec_dict['name']) self.assertEqual(content_type, spec_dict['content_type']) self.assertEqual(expected_channel_output, spec_dict['channels']) self.assertEqual(sample_rate, spec_dict['sample_rate']) + self.assertEqual('passive', spec_dict['status']) + + def test_load_status(self): + """Should be able to load a list of supported devices from a + configuration file.""" + + # create a config file in a temp location. + temp_dir = tempfile.mkdtemp() + my_devices = [ + dict(name="MyDevice", + content_type="EEG", + description="My Device", + channels=["a", "b", "c"], + sample_rate=100.0, + status=str(devices.DeviceStatus.PASSIVE)) + ] + config_path = Path(temp_dir, 'my_devices.json') + with open(config_path, 'w', encoding=DEFAULT_ENCODING) as config_file: + json.dump(my_devices, config_file) + + devices.load(config_path, replace=True) + supported = devices.preconfigured_devices() + self.assertEqual(devices.DeviceStatus.PASSIVE, supported['MyDevice'].status) + shutil.rmtree(temp_dir) + + def test_device_status(self): + """Test DeviceStatus enum""" + self.assertEqual('active', str(devices.DeviceStatus.ACTIVE)) + self.assertEqual(devices.DeviceStatus.ACTIVE, + devices.DeviceStatus.from_str('active')) + self.assertEqual( + devices.DeviceStatus.PASSIVE, + devices.DeviceStatus.from_str(str(devices.DeviceStatus.PASSIVE))) if __name__ == '__main__': diff --git a/bcipy/helpers/acquisition.py b/bcipy/helpers/acquisition.py index c129470d3..0a92c9b7a 100644 --- a/bcipy/helpers/acquisition.py +++ b/bcipy/helpers/acquisition.py @@ -2,15 +2,15 @@ import logging import subprocess import time -from typing import Dict, List, Optional, Tuple +from typing import Dict, List, NamedTuple, Optional, Tuple import numpy as np from bcipy.acquisition import (ClientManager, LslAcquisitionClient, LslDataServer, await_start, discover_device_spec) -from bcipy.acquisition.devices import (DeviceSpec, preconfigured_device, - with_content_type) +from bcipy.acquisition.devices import (DeviceSpec, DeviceStatus, + preconfigured_device, with_content_type) from bcipy.config import BCIPY_ROOT from bcipy.config import DEFAULT_DEVICE_SPEC_FILENAME as spec_name from bcipy.config import RAW_DATA_FILENAME @@ -52,7 +52,7 @@ def init_eeg_acquisition( manager = ClientManager() for stream_type in stream_types(parameters['acq_mode']): - content_type, device_name = parse_stream_type(stream_type) + content_type, device_name, status = parse_stream_type(stream_type) if server: server_device_spec = server_spec(content_type, device_name) @@ -64,6 +64,8 @@ def init_eeg_acquisition( await_start(dataserver) device_spec = init_device(content_type, device_name) + if status: + device_spec.status = status raw_data_name = raw_data_filename(device_spec) client = init_lsl_client(parameters, device_spec, save_folder, @@ -138,24 +140,44 @@ def server_spec(content_type: str, return devices[0] +class StreamType(NamedTuple): + """Specifies a stream.""" + content_type: str + device_name: Optional[str] = None + status: Optional[DeviceStatus] = None + + def parse_stream_type(stream_type: str, - delimiter: str = "/") -> Tuple[str, Optional[str]]: - """Parses the stream type into a tuple of (content_type, device_name). + name_delim: str = "/", + status_delim: str = ":") -> StreamType: + """Parses the stream type into a tuple of (content_type, device_name, status). Parameters ---------- stream_type - LSL content type (EEG, Gaze, etc). If you know the name of the preconfigured device it can be added 'EEG/DSI-24' - + name_delim - optionally used after the content_type (and status) + for specifying the device name. + status_delim - optionally used after the content_type to specify the + status for the device ('active' or 'passive') >>> parse_stream_type('EEG/DSI-24') ('EEG', 'DSI-24') >>> parse_stream_type('Gaze') ('Gaze', None) + >>> parse_stream_type('Gaze:passive') + ('Gaze', None, DeviceStatus.PASSIVE) """ - if delimiter in stream_type: - content_type, device_name = stream_type.split(delimiter)[0:2] - return (content_type, device_name) - return (stream_type, None) + device_name = None + status = None + + if name_delim in stream_type: + content_type, device_name = stream_type.split(name_delim)[0:2] + else: + content_type = stream_type + if status_delim in content_type: + content_type, status_str = content_type.split(status_delim)[0:2] + status = DeviceStatus.from_str(status_str) + return StreamType(content_type, device_name, status) def init_lsl_client(parameters: dict, diff --git a/bcipy/helpers/tests/test_acquisition.py b/bcipy/helpers/tests/test_acquisition.py index 3ec07e6ed..22a725c9b 100644 --- a/bcipy/helpers/tests/test_acquisition.py +++ b/bcipy/helpers/tests/test_acquisition.py @@ -4,7 +4,7 @@ from pathlib import Path from unittest.mock import Mock, patch -from bcipy.acquisition.devices import DeviceSpec +from bcipy.acquisition.devices import DeviceSpec, DeviceStatus from bcipy.config import DEFAULT_PARAMETERS_PATH from bcipy.helpers.acquisition import (RAW_DATA_FILENAME, init_device, init_eeg_acquisition, @@ -39,7 +39,7 @@ def test_init_acquisition(self): """Test init_eeg_acquisition with LSL client.""" params = self.parameters - params['acq_mode'] = 'EEG/DSI-24' + params['acq_mode'] = 'EEG:passive/DSI-24' client, servers = init_eeg_acquisition(params, self.save, server=True) @@ -50,6 +50,7 @@ def test_init_acquisition(self): self.assertEqual(1, len(servers)) self.assertEqual(client.device_spec.name, 'DSI-24') + self.assertFalse(client.device_spec.is_active) self.assertTrue(Path(self.save, 'devices.json').is_file()) @@ -145,9 +146,14 @@ def test_init_device_with_named_device(self, preconfigured_device_mock, self.assertEqual(device_spec, device_mock) def test_parse_stream_type(self): - """Test function to split the stream type into content_type, name""" - self.assertEqual(('EEG', 'DSI-24'), parse_stream_type('EEG/DSI-24')) - self.assertEqual(('Gaze', None), parse_stream_type('Gaze')) + """Test function to split the stream type into content_type, name, + and status""" + self.assertEqual(('EEG', 'DSI-24', None), parse_stream_type('EEG/DSI-24')) + self.assertEqual(('Gaze', None, None), parse_stream_type('Gaze')) + self.assertEqual(('Gaze', None, DeviceStatus.PASSIVE), + parse_stream_type('Gaze:passive')) + self.assertEqual(('EEG', 'DSI-24', DeviceStatus.ACTIVE), + parse_stream_type('EEG:active/DSI-24')) @patch('bcipy.helpers.acquisition.preconfigured_device') def test_server_spec_with_named_device(self, preconfigured_device_mock): diff --git a/bcipy/parameters/devices.json b/bcipy/parameters/devices.json index 01e4724b8..c9254b966 100644 --- a/bcipy/parameters/devices.json +++ b/bcipy/parameters/devices.json @@ -40,7 +40,8 @@ "P3", "P4", "F3", "F4", "C3", "C4" - ] + ], + "status": "active" }, { "name": "DSI-VR300", @@ -57,7 +58,8 @@ ], "sample_rate": 300, "description": "Wearable Sensing DSI-VR300", - "excluded_from_analysis": ["TRG", "F7"] + "excluded_from_analysis": ["TRG", "F7"], + "status": "active" }, { "name": "DSI-Flex", @@ -74,7 +76,8 @@ ], "sample_rate": 300.0, "description": "Wearable Sensing DSI-Flex", - "excluded_from_analysis": ["TRG"] + "excluded_from_analysis": ["TRG"], + "status": "active" }, { "name": "g.USBamp-1", @@ -98,7 +101,8 @@ { "name": "Ch16", "label": "Ch16", "units": "microvolts", "type": "EEG" } ], "sample_rate": 256, - "description": "GTec g.USBamp" + "description": "GTec g.USBamp", + "status": "active" }, { "name": "Tobii Nano", @@ -115,6 +119,7 @@ ], "sample_rate": 60.0, "description": "Tobii Nano. For use with the Tobii Pro SDK.", - "excluded_from_analysis": ["device_ts", "system_ts", "left_pupil", "right_pupil"] + "excluded_from_analysis": ["device_ts", "system_ts", "left_pupil", "right_pupil"], + "status": "active" } ] \ No newline at end of file diff --git a/bcipy/signal/model/offline_analysis.py b/bcipy/signal/model/offline_analysis.py index b5ed089b5..9144dc7c0 100644 --- a/bcipy/signal/model/offline_analysis.py +++ b/bcipy/signal/model/offline_analysis.py @@ -1,9 +1,9 @@ # mypy: disable-error-code="attr-defined" # needed for the ERPTransformParams +import json import logging from pathlib import Path from typing import Tuple -import json import numpy as np from matplotlib.figure import Figure @@ -11,10 +11,9 @@ from sklearn.model_selection import train_test_split import bcipy.acquisition.devices as devices -from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, BCIPY_ROOT, - DEFAULT_PARAMETERS_PATH, STATIC_AUDIO_PATH, - TRIGGER_FILENAME, - MATRIX_IMAGE_FILENAME) +from bcipy.config import (BCIPY_ROOT, DEFAULT_DEVICE_SPEC_FILENAME, + DEFAULT_PARAMETERS_PATH, MATRIX_IMAGE_FILENAME, + STATIC_AUDIO_PATH, TRIGGER_FILENAME) from bcipy.helpers.acquisition import analysis_channels, raw_data_filename from bcipy.helpers.load import (load_experimental_data, load_json_parameters, load_raw_data) @@ -24,14 +23,15 @@ from bcipy.helpers.symbols import alphabet from bcipy.helpers.system_utils import report_execution_time from bcipy.helpers.triggers import TriggerType, trigger_decoder -from bcipy.helpers.visualization import (visualize_erp, visualize_gaze, +from bcipy.helpers.visualization import (visualize_centralized_data, + visualize_erp, visualize_gaze, + visualize_gaze_accuracies, visualize_gaze_inquiries, - visualize_centralized_data, - visualize_results_all_symbols, - visualize_gaze_accuracies) + visualize_results_all_symbols) from bcipy.preferences import preferences from bcipy.signal.model.base_model import SignalModel, SignalModelMetadata -from bcipy.signal.model.gaussian_mixture import GazeModelIndividual, GazeModelCombined +from bcipy.signal.model.gaussian_mixture import (GazeModelCombined, + GazeModelIndividual) from bcipy.signal.model.pca_rda_kde import PcaRdaKdeModel from bcipy.signal.process import (ERPTransformParams, extract_eye_info, filter_inquiries, get_default_transform) @@ -473,6 +473,7 @@ def offline_analysis( pickle dumps the model into a .pkl folder How it Works: + For every active device that was used during calibration, - reads data and information from a .csv calibration file - reads trigger information from a .txt trigger file - filters data @@ -506,11 +507,12 @@ def offline_analysis( devices_by_name = devices.load( Path(data_folder, DEFAULT_DEVICE_SPEC_FILENAME), replace=True) - data_file_paths = [ - path for path in (Path(data_folder, raw_data_filename(device_spec)) - for device_spec in devices_by_name.values()) - if path.exists() - ] + + active_devices = (spec for spec in devices_by_name.values() + if spec.is_active) + active_raw_data_paths = (Path(data_folder, raw_data_filename(device_spec)) + for device_spec in active_devices) + data_file_paths = [path for path in active_raw_data_paths if path.exists()] models = [] figure_handles = [] diff --git a/bcipy/task/paradigm/rsvp/copy_phrase.py b/bcipy/task/paradigm/rsvp/copy_phrase.py index 1cf0712f2..cb3b44810 100644 --- a/bcipy/task/paradigm/rsvp/copy_phrase.py +++ b/bcipy/task/paradigm/rsvp/copy_phrase.py @@ -190,7 +190,7 @@ def init_evidence_evaluators(self, evaluator = init_evidence_evaluator(self.alp, model) content_type = evaluator.consumes evidence_type = evaluator.produces - if content_type in self.daq.device_content_types: + if content_type in self.daq.active_device_content_types: evaluators.append(evaluator) if evidence_type in evidence_types: raise DuplicateModelEvidence( diff --git a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py index 68fb1e794..7c4b97b3b 100644 --- a/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py +++ b/bcipy/task/tests/paradigm/rsvp/test_copy_phrase.py @@ -102,6 +102,7 @@ def setUp(self): 'is_calibrated': True, 'offset': lambda x: 0.0, 'device_content_types': [ContentType.EEG], + 'active_device_content_types': [ContentType.EEG], 'clients_by_type': { ContentType.EEG: self.eeg_client_mock } From 272b0ee2d1b85bee7407b6e3a9b1e5fd45efffb0 Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 5 Jan 2024 16:45:00 -0800 Subject: [PATCH 194/330] Added documentation --- bcipy/acquisition/README.md | 19 +++++++++++++++++++ bcipy/parameters/parameters.json | 5 +++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/bcipy/acquisition/README.md b/bcipy/acquisition/README.md index 4e8060c9d..6fa441155 100644 --- a/bcipy/acquisition/README.md +++ b/bcipy/acquisition/README.md @@ -17,6 +17,8 @@ Within BciPy users must specify the details of the device they wish to use by pr `DeviceSpec` channel data can be provided as a list of channel names or specified as a list of `ChannelSpec` entries. These will be validated against the metadata from the LSL data stream. If provided, `ChannelSpecs` allow users to customize the channel labels and override the values provided by the LSL metadata. +Devices can also have a status of either 'active' or 'passive'. Active devices are used for training models (after calibration) and for interactive queries during Copy Phrase tasks. Passive devices are used for recording data in the background for possible later analysis. Device status can be set in the `devices.json` file or through the parameters. + ## Client The `lsl_client` module provides the primary interface for interacting with device data and may be used to dynamically query streaming data in real-time. An instance of the `LslClient` class is parameterized with the `DeviceSpec` of interest, as well as the number of seconds of data that should be available for querying. If the `save_directory` and `filename` parameters are provided it also records the data to disk for later offline analysis. If no device is specified the client will attempt to connect to an EEG stream by default. A separate `LslClient` should be constructed for each device of interest. @@ -70,3 +72,20 @@ Generators are Python functions that yield encoded data. They have a parameter f #### Producer A `Producer` is a class internal to a server that manages the generation of data at a specified frequency. It's purpose it to mimic the data rate that would be presented if an actual hardware device was used. + +## Acquisition Parameters + +The primary parameter for configuring the acquisition module for running an experiment is the `acq_mode` parameter. This parameter allows users to specify one or more devices from which to acquire data, as well as the status of each device. In its simplest form the parameter is a string specifying the content type of the LSL data stream of interest (for example. 'EEG'). The first detected device with this content type will be used. Alternatively, users can provide the device name ('EEG/DSI-24'), which specifies that we are interested in a specific device. The module will look for the corresponding data stream, and will use configuration for the device from the `devices.json` file. Finally, users can specify whether the provided device will be recording in active or passive mode ('EEG:passive/DSI-24'). One or more devices can be configured by delimiting the specs with a '+' ('EEG/DSI-24+Eyetracker:passive'). + +### Use Cases + +- I want to Calibrate using EEG and Eyetracker and train models for both. + - set parameter `'acq_mode': 'EEG+Eyetracker'` +- I want to Calibrate using EEG and Eyetracker and train models for EEG only. + - set parameter `'acq_mode': 'EEG+Eyetracker:passive'` +- I want to Calibrate using EEG and Eyetracker and train models for Eyetracker only. + - set parameter `'acq_mode': 'EEG:passive+Eyetracker'` +- I want to do a Copy Phrase task using EEG only. In my calibration directory I have trained models for both EEG and Eyetracker. + - set parameter `'acq_mode': 'EEG'` +- I want to do a Copy Phrase task using EEG only, but I want to record gaze data. In my calibration directory I have trained models for both EEG and Eyetracker. + - set parameter `'acq_mode': 'EEG+Eyetracker:passive'` \ No newline at end of file diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index 724b343ac..b17e6f8c5 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -11,12 +11,13 @@ "value": "EEG", "section": "acq_config", "readableName": "Acquisition Mode", - "helpTip": "Specifies the hardware device(s) used for data collection. Default: EEG", + "helpTip": "Specifies the hardware device(s) used for data collection. Default: EEG.", "recommended_values": [ "EEG", "EEG/DSI-24", "Eyetracker", - "EEG+Eyetracker" + "EEG+Eyetracker", + "EEG+Eyetracker:passive" ], "type": "str" }, From 40402857024df6a8c6ca4a912ddc67589ea57d7e Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Sun, 7 Jan 2024 22:57:38 +0530 Subject: [PATCH 195/330] sim README.md --- bcipy/simulator/README.md | 26 ++++++++++++++++++++++++ bcipy/simulator/__main__.py | 7 ++++++- bcipy/simulator/helpers/data_engine.py | 6 ++---- bcipy/simulator/helpers/state_manager.py | 12 ++++++----- 4 files changed, 41 insertions(+), 10 deletions(-) create mode 100644 bcipy/simulator/README.md diff --git a/bcipy/simulator/README.md b/bcipy/simulator/README.md new file mode 100644 index 000000000..3408143bc --- /dev/null +++ b/bcipy/simulator/README.md @@ -0,0 +1,26 @@ +## RSVP Simulator + +### Overview + +This Simulator module aims to automate experimentation by sampling EEG data from prior sessions and running given models in RSVP task loop, thus simulating a +live session. + +### Run steps + +`main.py` is the entry point for program. After following, `BciPy` readme steps for setup, run the module from shell as such: + +``python3 bcipy/simulator -d "pathToDataFolder1" -d "pathToOptionalDataFolder2" -sm "pathToSignalModel.pkl"`` + +Then view generated LOG file for analysis + +#### Program Args + +- `d` : the data folder argument is necessary. This data will be used to construct data pool from which simulator will sample EEG responses. Should contain + _raw_data.csv_, _triggers.txt_, _parameters.json_ +- `sm`: the signal model argument is necessary to generate evidence + +### Architecture + +![simDiagram.png](res/simDiagram.png) + + diff --git a/bcipy/simulator/__main__.py b/bcipy/simulator/__main__.py index b93f7b295..34b158717 100644 --- a/bcipy/simulator/__main__.py +++ b/bcipy/simulator/__main__.py @@ -1,7 +1,9 @@ +""" Entry point to run Simulator """ + import argparse from pathlib import Path -from bcipy.simulator.sim_factory import SimulationFactory, SimulationFactoryV2 +from bcipy.simulator.sim_factory import SimulationFactoryV2 from bcipy.simulator.simulator_base import Simulator if __name__ == "__main__": @@ -20,6 +22,9 @@ type=Path, required=True, help="Signal models to be used") + + # TODO parameters file arg + parser.add_argument("-o", "--out_dir", type=Path, default=Path(__file__).resolve().parent) args = vars(parser.parse_args()) diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py index 73661a50a..48273e8d5 100644 --- a/bcipy/simulator/helpers/data_engine.py +++ b/bcipy/simulator/helpers/data_engine.py @@ -38,6 +38,7 @@ class RawDataEngine(DataEngine): def __init__(self, source_dirs: List[str]): # TODO read parameters from source dirx # TODO maybe rely upon single source of data, write some scripts that clean data and group them + # TODO use os.walk() and take in single source_dir that has all data folders self.source_dirs: List[str] = source_dirs self.parameter_files: List[Parameters] = [] self.data: Optional[List[ExtractedExperimentData]] = None @@ -112,7 +113,6 @@ def transform(self) -> DataEngine: rows.extend(symbol_rows) self.schema = pd.DataFrame(rows) - # breakpoint() return self @@ -120,6 +120,4 @@ def get_data(self): return self.schema.copy() if self.schema is not None else self.data def get_parameters(self): - return self.parameter_files - -# TODO ReplaySessionDataEngine + return self.parameter_files \ No newline at end of file diff --git a/bcipy/simulator/helpers/state_manager.py b/bcipy/simulator/helpers/state_manager.py index e7ec80a72..9b7f93b1e 100644 --- a/bcipy/simulator/helpers/state_manager.py +++ b/bcipy/simulator/helpers/state_manager.py @@ -1,12 +1,11 @@ import copy import random -from abc import ABC, abstractmethod +from abc import ABC from dataclasses import dataclass -from typing import List, Optional, Dict +from typing import List, Optional import numpy as np -from bcipy.helpers import symbols from bcipy.helpers.exceptions import FieldException from bcipy.helpers.parameters import Parameters from bcipy.helpers.symbols import alphabet, BACKSPACE_CHAR @@ -14,8 +13,6 @@ from bcipy.simulator.helpers.evidence_fuser import MultiplyFuser, EvidenceFuser from bcipy.simulator.helpers.rsvp_utils import next_target_letter from bcipy.simulator.helpers.types import InquiryResult -from bcipy.task.control.criteria import DecisionCriteria, MaxIterationsCriteria, ProbThresholdCriteria -from bcipy.task.control.handler import EvidenceFusion @dataclass @@ -74,6 +71,11 @@ def is_done(self) -> bool: return self.state.total_inquiry_count() > self.max_inq_len or self.state.target_sentence == self.state.current_sentence or self.state.series_n > 50 def update(self, evidence) -> InquiryResult: + """ Updating the current state based on provided evidence + - fuses prior evidence with current evidence and makes potential decision + - stores inquiry, including typing decision or lack of decision + - resets series on decision and updates target letter + """ fuser = self.fuser_class() current_series: List[InquiryResult] = self.state.series_results[self.state.series_n] From dd5932cc1055f97fbd630bc32e5d9b9fca29c709 Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Tue, 9 Jan 2024 13:32:08 +0530 Subject: [PATCH 196/330] deleting first sim draft --- bcipy/simulator/sim_copy_phrase.py | 148 ----------------------------- 1 file changed, 148 deletions(-) delete mode 100644 bcipy/simulator/sim_copy_phrase.py diff --git a/bcipy/simulator/sim_copy_phrase.py b/bcipy/simulator/sim_copy_phrase.py deleted file mode 100644 index 525aab094..000000000 --- a/bcipy/simulator/sim_copy_phrase.py +++ /dev/null @@ -1,148 +0,0 @@ -from typing import Optional - -import numpy as np - -from bcipy.config import SESSION_DATA_FILENAME -from bcipy.helpers import load -from bcipy.helpers.list import grouper -from bcipy.helpers.session import evidence_records, read_session -from bcipy.helpers.symbols import alphabet -from bcipy.signal.model import PcaRdaKdeModel -from bcipy.simulator.helpers.signal_helpers import process_raw_data_for_model, ExtractedExperimentData -from bcipy.simulator.helpers.sim_viz import plot_replay_comparison -from bcipy.simulator.simulator_base import Simulator - - -class SimulatorCopyPhraseReplay(Simulator): - """Simulator. - - Base class for BciPy Simulations. - - Requirements: - - run closed loop simulation of {TaskType} with {data} with {simulation_params} - """ - - def __init__(self, parameter_path, save_dir, signal_models: [tuple], language_models, replay_data_path=None, - verbose=False): - super(SimulatorCopyPhraseReplay, self).__init__() - - self.parameters = self.load_parameters(parameter_path) - self.save_dir = save_dir - self.signal_models = signal_models - self.language_models = language_models - self.replay_data_path = replay_data_path - - self.symbol_set = alphabet() - self.write_output = False - self.data_loader = None - - self.signal_models_classes = [PcaRdaKdeModel for m in self.signal_models] # Hardcoded rn - - def run(self): - self.init_data_loader() - - self.logger.info(f"Initialized data loader") - - # TODO need to support multimodal and language models - model_file, model_class = self.signal_models[0], self.signal_models_classes[0] # hardcoded rn - model = model_class(self.parameters.get("k_folds")) - model = model.load(model_file) - - self.logger.info(f"Loaded model from {model_file}, with model_class {model_class}") - - target_eeg_evidences, non_target_eeg_evidences = [], [] - while not self.data_loader.is_end(): - inquiry_trials, this_inquiry_letters, this_inquiry_labels = self.data_loader.next() - target_eeg_evidence, non_target_eeg_evidence = [], [] - response = model.predict(inquiry_trials, this_inquiry_letters, symbol_set=self.symbol_set) - - symbol_letter_idx_map = [self.symbol_set.index(letter) for letter in this_inquiry_letters] - for i, label in enumerate(this_inquiry_labels): - if label: - target_eeg_evidence.append(response[symbol_letter_idx_map[i]]) - else: - non_target_eeg_evidence.append(response[symbol_letter_idx_map[i]]) - - target_eeg_evidences.append(target_eeg_evidence) - non_target_eeg_evidences.append(non_target_eeg_evidence) - - target_eeg_evidences, non_target_eeg_evidences = np.concatenate(target_eeg_evidences), np.concatenate( - non_target_eeg_evidences) - - # Get target and non_target eeg values from actual experiment in session.json for comparison - session_records = evidence_records(read_session(self.replay_data_path / SESSION_DATA_FILENAME)) - session_target_eeg = np.array([record.eeg for record in session_records if record.is_target]) - session_non_target_eeg = np.array([record.eeg for record in session_records if not record.is_target]) - - # note this flattens any grouping of inquiries which might be problem for future visualizations - - # visualizing comparison of results - plot_replay_comparison(target_eeg_evidences, non_target_eeg_evidences, session_target_eeg, - session_non_target_eeg, self.save_dir, self.parameters) - - self.logger.info(f"Plotted comparison charts " - f"\n New: {len(target_eeg_evidences)} target_eeg_evidences | {len(non_target_eeg_evidences)} non_target_eeg_evidences " - f"\n Old: {len(session_target_eeg)} target_eeg_evidences | {len(session_non_target_eeg)} non_target_eeg_evidences ") - - def get_param(self, name): - return self.parameters.get(name, None) - - def init_data_loader(self): - - if self.replay_data_path: - self.data_loader = ReplayDataLoader(self.replay_data_path, self.parameters) - else: - pass # TODO sampling data logic - pass - - def load_parameters(self, path): - # TODO validate parameters - parameters = load.load_json_parameters(path, value_cast=True) - sim_parameters = load.load_json_parameters( - "bcipy/simulator/sim_parameters.json", value_cast=True) - - parameters.add_missing_items(sim_parameters) - return parameters - - -class ReplayDataLoader: - - def __init__(self, source_path, parameters): - self.source_path = source_path - self.parameters = parameters - self.verbose = False - - self.inquiry_worth_of_letters = None - self.inquiry_worth_of_trials = None - self.data: Optional[ExtractedExperimentData] = None - - self.load() - - self.i = 0 - - def load(self): - experiment_data = process_raw_data_for_model(self.source_path, self.parameters) - - # formatting data into inquiries - trigger_targetness, trigger_timing, trigger_symbols = experiment_data.decoded_triggers - self.inquiry_worth_of_trials = np.split(experiment_data.trials, experiment_data.inquiries.shape[1], 1) - self.inquiry_worth_of_letters = [list(group) for group in - grouper(trigger_symbols, self.parameters.get('stim_length'), - incomplete="ignore")] - - self.data = experiment_data - - def next(self): - if self.i < len(self.inquiry_worth_of_letters): - cur_trials = self.inquiry_worth_of_trials[self.i] - cur_letters = self.inquiry_worth_of_letters[self.i] - cur_labels = self.data.labels[self.i] - - self.i += 1 - - return cur_trials, cur_letters, cur_labels # TODO turn into dataclass - - return None, None, None - - def is_end(self): - return self.i >= len(self.inquiry_worth_of_letters) From 810b6c9f9ec0806df835a9776bf4d40a157bc74e Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Tue, 9 Jan 2024 13:41:21 +0530 Subject: [PATCH 197/330] linting --- bcipy/simulator/README.md | 9 ++++-- bcipy/simulator/__init__.py | 1 - bcipy/simulator/helpers/data_engine.py | 11 ++++--- bcipy/simulator/helpers/decision.py | 9 +++--- bcipy/simulator/helpers/evidence_fuser.py | 1 - bcipy/simulator/helpers/log_utils.py | 2 +- bcipy/simulator/helpers/rsvp_utils.py | 3 +- bcipy/simulator/helpers/signal_helpers.py | 8 +++-- bcipy/simulator/helpers/state_manager.py | 37 +++++++++++++++-------- bcipy/simulator/helpers/types.py | 6 ++-- bcipy/simulator/sim.py | 26 ++++++++++------ bcipy/simulator/sim_factory.py | 30 ++---------------- bcipy/simulator/sim_parameters.json | 2 +- bcipy/simulator/simulator_base.py | 3 +- bcipy/simulator/tests/sampler_test.py | 9 +++--- 15 files changed, 79 insertions(+), 78 deletions(-) diff --git a/bcipy/simulator/README.md b/bcipy/simulator/README.md index 3408143bc..34d901dfe 100644 --- a/bcipy/simulator/README.md +++ b/bcipy/simulator/README.md @@ -2,12 +2,14 @@ ### Overview -This Simulator module aims to automate experimentation by sampling EEG data from prior sessions and running given models in RSVP task loop, thus simulating a +This Simulator module aims to automate experimentation by sampling EEG data from prior sessions and running given models +in RSVP task loop, thus simulating a live session. ### Run steps -`main.py` is the entry point for program. After following, `BciPy` readme steps for setup, run the module from shell as such: +`main.py` is the entry point for program. After following, `BciPy` readme steps for setup, run the module from shell as +such: ``python3 bcipy/simulator -d "pathToDataFolder1" -d "pathToOptionalDataFolder2" -sm "pathToSignalModel.pkl"`` @@ -15,7 +17,8 @@ Then view generated LOG file for analysis #### Program Args -- `d` : the data folder argument is necessary. This data will be used to construct data pool from which simulator will sample EEG responses. Should contain +- `d` : the data folder argument is necessary. This data will be used to construct data pool from which simulator will + sample EEG responses. Should contain _raw_data.csv_, _triggers.txt_, _parameters.json_ - `sm`: the signal model argument is necessary to generate evidence diff --git a/bcipy/simulator/__init__.py b/bcipy/simulator/__init__.py index 181cfd2de..c107589b3 100644 --- a/bcipy/simulator/__init__.py +++ b/bcipy/simulator/__init__.py @@ -21,7 +21,6 @@ "%(levelname)s >> %(message)s" ) - # Set the log format on each handler stdoutHandler.setFormatter(fmt) fileHandler.setFormatter(fmt_file) diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py index 48273e8d5..b01f95423 100644 --- a/bcipy/simulator/helpers/data_engine.py +++ b/bcipy/simulator/helpers/data_engine.py @@ -59,8 +59,10 @@ def load(self) -> DataEngine: """ log.debug(f"Loading data from {len(self.source_dirs)} source directories") - self.parameter_files = [load.load_json_parameters(str(Path(data_folder, DEFAULT_PARAMETER_FILENAME)), value_cast=True) for data_folder in - self.source_dirs] + self.parameter_files = [ + load.load_json_parameters(str(Path(data_folder, DEFAULT_PARAMETER_FILENAME)), value_cast=True) for + data_folder in + self.source_dirs] assert len(self.source_dirs) == len(self.parameter_files) # TODO more general parameter validation function @@ -92,7 +94,8 @@ def transform(self) -> DataEngine: self for chaining """ - cols = ["series_n", "inquiry_n", "trial_n", "symbol", "target", "eeg"] # TODO store how good evidence was in session | store data source as well + # TODO store how good evidence was in session | store data source as well + cols = ["series_n", "inquiry_n", "trial_n", "symbol", "target", "eeg"] types = [int, int, int, str, int, np.ndarray] rows = [] @@ -120,4 +123,4 @@ def get_data(self): return self.schema.copy() if self.schema is not None else self.data def get_parameters(self): - return self.parameter_files \ No newline at end of file + return self.parameter_files diff --git a/bcipy/simulator/helpers/decision.py b/bcipy/simulator/helpers/decision.py index 72a0544c0..796c10861 100644 --- a/bcipy/simulator/helpers/decision.py +++ b/bcipy/simulator/helpers/decision.py @@ -2,15 +2,16 @@ import numpy as np import logging -from typing import Dict, List -from copy import copy +from typing import List from bcipy.simulator.helpers.types import InquiryResult log = logging.getLogger(__name__) -# TODO copied over criteria.py. Still debating whether to tie our simulator to that class or not. For now, just hotfixing logic to fit with my implementation +# TODO copied over criteria.py. Still debating whether to tie our +# simulator to that class or not. For now, just hotfixing logic to fit +# with my implementation class SimDecisionCriteria(ABC): """Abstract class for Criteria which can be applied to evaluate a inquiry @@ -110,4 +111,4 @@ def decide(self, series: List[InquiryResult]): if np.max(current_distribution) > self.tau: log.debug("Committing to decision: posterior exceeded threshold.") return True - return False \ No newline at end of file + return False diff --git a/bcipy/simulator/helpers/evidence_fuser.py b/bcipy/simulator/helpers/evidence_fuser.py index 6f04b6c34..9269925cd 100644 --- a/bcipy/simulator/helpers/evidence_fuser.py +++ b/bcipy/simulator/helpers/evidence_fuser.py @@ -32,7 +32,6 @@ def fuse(self, prior_likelihood, evidence) -> np.ndarray: return ret_likelihood - def __normalize_likelihood(self, likelihood): cleaned_likelihood = likelihood.copy() diff --git a/bcipy/simulator/helpers/log_utils.py b/bcipy/simulator/helpers/log_utils.py index 8e91d5110..2e74dee1e 100644 --- a/bcipy/simulator/helpers/log_utils.py +++ b/bcipy/simulator/helpers/log_utils.py @@ -3,7 +3,7 @@ import pandas as pd -def format_alp_likelihoods(likelihoods, alp): +def fmt_stim_likelihoods(likelihoods, alp): rounded = [round(lik, 3) for lik in likelihoods] formatted = [f"{a} : {l}" for a, l in zip(alp, rounded)] return formatted diff --git a/bcipy/simulator/helpers/rsvp_utils.py b/bcipy/simulator/helpers/rsvp_utils.py index 69deca824..fad352b72 100644 --- a/bcipy/simulator/helpers/rsvp_utils.py +++ b/bcipy/simulator/helpers/rsvp_utils.py @@ -6,5 +6,6 @@ def next_target_letter(current_sentence, target_sentence): """ if target_sentence[0:len(current_sentence)] == current_sentence: # if correctly spelled so far, get the next letter. - return target_sentence[len(current_sentence)] if len(current_sentence) < len(target_sentence) else target_sentence[-1] + return target_sentence[len(current_sentence)] if len( + current_sentence) < len(target_sentence) else target_sentence[-1] return BACKSPACE_CHAR diff --git a/bcipy/simulator/helpers/signal_helpers.py b/bcipy/simulator/helpers/signal_helpers.py index 0fa530683..863bc88a3 100644 --- a/bcipy/simulator/helpers/signal_helpers.py +++ b/bcipy/simulator/helpers/signal_helpers.py @@ -12,7 +12,7 @@ DEFAULT_DEVICE_SPEC_FILENAME, ) from bcipy.helpers.acquisition import analysis_channels -from bcipy.helpers.load import load_raw_data, load_experimental_data +from bcipy.helpers.load import load_raw_data from bcipy.helpers.stimuli import update_inquiry_timing, InquiryReshaper from bcipy.helpers.triggers import TriggerType, trigger_decoder from bcipy.signal.process import get_default_transform, filter_inquiries, ERPTransformParams @@ -30,7 +30,8 @@ class ExtractedExperimentData: # TODO clean up design decoded_triggers: tuple -def process_raw_data_for_model(data_folder, parameters, reshaper: InquiryReshaper = InquiryReshaper()) -> ExtractedExperimentData: +def process_raw_data_for_model(data_folder, parameters, + reshaper: InquiryReshaper = InquiryReshaper()) -> ExtractedExperimentData: assert parameters, "Parameters are required for offline analysis." log.debug(f"Processing raw data for {data_folder}") @@ -118,4 +119,5 @@ def process_raw_data_for_model(data_folder, parameters, reshaper: InquiryReshape # define the training classes using integers, where 0=nontargets/1=targets # labels = inquiry_labels.flatten() - return ExtractedExperimentData(inquiries, trials, inquiry_labels, inquiry_timing, (trigger_targetness, trigger_timing, trigger_symbols)) \ No newline at end of file + return ExtractedExperimentData(inquiries, trials, inquiry_labels, inquiry_timing, + (trigger_targetness, trigger_timing, trigger_symbols)) diff --git a/bcipy/simulator/helpers/state_manager.py b/bcipy/simulator/helpers/state_manager.py index 9b7f93b1e..9a4ab631e 100644 --- a/bcipy/simulator/helpers/state_manager.py +++ b/bcipy/simulator/helpers/state_manager.py @@ -67,8 +67,10 @@ def __init__(self, parameters: Parameters, fuser_class=MultiplyFuser): self.max_inq_len = self.parameters.get('max_inq_len', 100) def is_done(self) -> bool: - # TODO add stoppage criterion, Stoppage criterion is seperate from decision. Decision should we go on to next letter or not - return self.state.total_inquiry_count() > self.max_inq_len or self.state.target_sentence == self.state.current_sentence or self.state.series_n > 50 + # TODO add stoppage criterion, Stoppage criterion is seperate from + # decision. Decision should we go on to next letter or not + return self.state.total_inquiry_count( + ) > self.max_inq_len or self.state.target_sentence == self.state.current_sentence or self.state.series_n > 50 def update(self, evidence) -> InquiryResult: """ Updating the current state based on provided evidence @@ -79,13 +81,16 @@ def update(self, evidence) -> InquiryResult: fuser = self.fuser_class() current_series: List[InquiryResult] = self.state.series_results[self.state.series_n] - prior_likelihood: Optional[np.ndarray] = current_series.pop().fused_likelihood if current_series else None # most recent likelihood + prior_likelihood: Optional[np.ndarray] = current_series.pop( + ).fused_likelihood if current_series else None # most recent likelihood evidence_dict = {"SM": evidence} # TODO create wrapper object for Evidences fused_likelihood = fuser.fuse(prior_likelihood, evidence_dict) # finding out whether max iterations is hit or prob threshold is hit - temp_inquiry_result = InquiryResult(target=self.state.target_symbol, time_spent=0, stimuli=self.state.display_alphabet, - evidence_likelihoods=list(evidence), fused_likelihood=fused_likelihood, # TODO change to use evidence_dict + temp_inquiry_result = InquiryResult(target=self.state.target_symbol, time_spent=0, + stimuli=self.state.display_alphabet, + # TODO change to use evidence_dict + evidence_likelihoods=list(evidence), fused_likelihood=fused_likelihood, decision=None) # can we make decision @@ -95,8 +100,10 @@ def update(self, evidence) -> InquiryResult: decision = None new_state = self.get_state().__dict__ - new_inquiry_result = InquiryResult(target=self.state.target_symbol, time_spent=0, stimuli=self.state.display_alphabet, - evidence_likelihoods=list(evidence), decision=decision, fused_likelihood=fused_likelihood) + new_inquiry_result = InquiryResult(target=self.state.target_symbol, time_spent=0, + stimuli=self.state.display_alphabet, + evidence_likelihoods=list(evidence), decision=decision, + fused_likelihood=fused_likelihood) new_state['series_results'][self.state.series_n].append(new_inquiry_result) if is_decidable: @@ -108,14 +115,18 @@ def update(self, evidence) -> InquiryResult: new_state['inquiry_n'] = 0 # updating current sentence and finding next target - new_state['current_sentence'] = new_state['current_sentence'] + decision if decision != BACKSPACE_CHAR else new_state['current_sentence'][:-1] + new_state['current_sentence'] = new_state['current_sentence'] + \ + decision if decision != BACKSPACE_CHAR else new_state['current_sentence'][ + :-1] new_state['target_symbol'] = next_target_letter(new_state['current_sentence'], self.state.target_sentence) else: new_state['inquiry_n'] += 1 - new_inquiry_result = InquiryResult(target=self.state.target_symbol, time_spent=0, stimuli=self.state.display_alphabet, - evidence_likelihoods=list(evidence), decision=decision, fused_likelihood=fused_likelihood) + new_inquiry_result = InquiryResult(target=self.state.target_symbol, time_spent=0, + stimuli=self.state.display_alphabet, + evidence_likelihoods=list(evidence), decision=decision, + fused_likelihood=fused_likelihood) new_state['series_results'][self.state.series_n].append(new_inquiry_result) @@ -142,8 +153,10 @@ def initial_state(parameters: Parameters = None) -> SimState: default_criterion: List[SimDecisionCriteria] = [MaxIterationsSim(50), ProbThresholdSim(0.8)] init_stimuli = random.sample(alphabet(), 10) + # TODO make new parameter and create default series_likelihoods object based off that evidence_types = parameters.get( - 'evidence_types') if parameters else None # TODO make new parameter and create default series_likelihoods object based off that + 'evidence_types') if parameters else None - return SimState(target_symbol=target_symbol, current_sentence="", target_sentence=sentence, display_alphabet=init_stimuli, inquiry_n=0, series_n=0, + return SimState(target_symbol=target_symbol, current_sentence="", target_sentence=sentence, + display_alphabet=init_stimuli, inquiry_n=0, series_n=0, series_results=[[]], decision_criterion=default_criterion) diff --git a/bcipy/simulator/helpers/types.py b/bcipy/simulator/helpers/types.py index 20b71bee3..ff30a3dd4 100644 --- a/bcipy/simulator/helpers/types.py +++ b/bcipy/simulator/helpers/types.py @@ -1,5 +1,5 @@ from dataclasses import dataclass -from typing import Optional, List, Dict +from typing import Optional, List import numpy as np @@ -11,7 +11,9 @@ class InquiryResult: target: Optional[str] time_spent: int stimuli: List - evidence_likelihoods: List # TODO make this into a dictionary to support multimodal. e.g {SignalModel: evidence_list, LanguageModel:evidence_list} + # TODO make this into a dictionary to support multimodal. e.g + # {SignalModel: evidence_list, LanguageModel:evidence_list} + evidence_likelihoods: List fused_likelihood: np.ndarray decision: Optional[str] diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index ac7559005..4c663a932 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -12,7 +12,7 @@ from bcipy.simulator.helpers.sampler import Sampler from bcipy.simulator.helpers.state_manager import StateManager, SimState from bcipy.simulator.helpers.types import InquiryResult -from bcipy.simulator.helpers.log_utils import format_alp_likelihoods +from bcipy.simulator.helpers.log_utils import fmt_stim_likelihoods from bcipy.simulator.helpers.model_handler import ModelHandler from bcipy.simulator.simulator_base import Simulator @@ -42,7 +42,8 @@ class SimulatorCopyPhrase(Simulator): """ def __init__(self, data_engine: DataEngine, model_handler: ModelHandler, sampler: Sampler, - state_manager: StateManager, referee: MetricReferee, parameter_path: str = None, save_dir: str = None, verbose=False, visualize=False): + state_manager: StateManager, referee: MetricReferee, parameter_path: str = None, save_dir: str = None, + verbose=False, visualize=False): super(SimulatorCopyPhrase, self).__init__() self.save_dir: str = save_dir @@ -66,18 +67,22 @@ def run(self): while not self.state_manager.is_done(): curr_state = self.state_manager.get_state() - log.info(f"Series {curr_state.series_n} | Inquiry {curr_state.inquiry_n} | Target {curr_state.target_symbol}") + log.info( + f"Series {curr_state.series_n} | Inquiry {curr_state.inquiry_n} | Target {curr_state.target_symbol}") self.state_manager.mutate_state('display_alphabet', self.__make_stimuli(curr_state)) sampled_data = self.sampler.sample(curr_state) + # TODO make this evidence be a dict (mapping of evidence type to evidence) evidence = self.model_handler.generate_evidence(curr_state, - sampled_data) # TODO make this evidence be a dict (mapping of evidence type to evidence) + sampled_data) - log.debug(f"Evidence for stimuli {curr_state.display_alphabet} \n {format_alp_likelihoods(evidence, self.symbol_set)}") + log.debug( + f"Evidence for stimuli {curr_state.display_alphabet} " + + f"\n {fmt_stim_likelihoods(evidence, self.symbol_set)}") inq_record: InquiryResult = self.state_manager.update(evidence) updated_state = self.state_manager.get_state() - log.debug(f"Fused Likelihoods {format_alp_likelihoods(inq_record.fused_likelihood, self.symbol_set)}") + log.debug(f"Fused Likelihoods {fmt_stim_likelihoods(inq_record.fused_likelihood, self.symbol_set)}") if inq_record.decision: log.info(f"Decided {inq_record.decision} for target {inq_record.target}") @@ -86,13 +91,12 @@ def run(self): sleep(self.parameters.get("sim_sleep_time", 0.5)) final_state = self.state_manager.get_state() - log.info(f"SIM END") + log.info("SIM END") log.info(f"FINAL TYPED: {final_state.current_sentence}") log.info(self.referee.score(self).__dict__) log.debug(f"Final State: {final_state}") - def __make_stimuli(self, state: SimState): # TODO abstract out subset_length = 10 @@ -100,14 +104,16 @@ def __make_stimuli(self, state: SimState): always_in_stimuli = [symbols.SPACE_CHAR, symbols.BACKSPACE_CHAR] if val_func is not None: - return stimuli.best_selection(self.symbol_set, list(val_func), subset_length, always_included=always_in_stimuli) + return stimuli.best_selection(self.symbol_set, list( + val_func), subset_length, always_included=always_in_stimuli) else: return random.sample(self.symbol_set, subset_length) def load_parameters(self, path): # TODO validate parameters if not path: - parameters = self.data_engine.get_parameters()[0] # TODO fix this parameter logic. for now assuming one parameter file speaks for all + # TODO fix this parameter logic. for now assuming one parameter file speaks for all + parameters = self.data_engine.get_parameters()[0] else: parameters = load.load_json_parameters(path, value_cast=True) diff --git a/bcipy/simulator/sim_factory.py b/bcipy/simulator/sim_factory.py index 9a1fdfc03..8b7b51917 100644 --- a/bcipy/simulator/sim_factory.py +++ b/bcipy/simulator/sim_factory.py @@ -1,7 +1,6 @@ from pathlib import Path from typing import List -from bcipy.config import DEFAULT_PARAMETER_FILENAME from bcipy.helpers.load import load_json_parameters from bcipy.simulator.helpers.data_engine import RawDataEngine from bcipy.simulator.helpers.metrics import MetricReferee, RefereeImpl, SimMetrics1Handler @@ -9,37 +8,12 @@ from bcipy.simulator.helpers.sampler import Sampler, EEGByLetterSampler from bcipy.simulator.helpers.state_manager import StateManager, StateManagerImpl from bcipy.simulator.sim import SimulatorCopyPhrase -from bcipy.simulator.sim_copy_phrase import SimulatorCopyPhraseReplay -from bcipy.simulator.simulator_base import Simulator - - -class SimulationFactory: - - @staticmethod - def create( - sim_task="", - parameter_path="", - smodel_files=None, - lmodel_files=None, - data_folders=None, - out_dir="", - **kwargs) -> Simulator: - if sim_task == 'RSVP_COPY_PHRASE': - # TODO validate arguments - - if not parameter_path: - data_folder = data_folders[0] - parameter_path = Path(data_folder, DEFAULT_PARAMETER_FILENAME) - - return SimulatorCopyPhraseReplay(parameter_path, out_dir, smodel_files, lmodel_files, data_folders[0], - verbose=kwargs.get('verbose', False)) - - # TODO refactor for sampling simulator class SimulationFactoryV2: @staticmethod - def create(data_folders: List[str], smodel_files: List[str], sim_param_path="bcipy/simulator/sim_parameters.json", **kwargs): + def create(data_folders: List[str], smodel_files: List[str], + sim_param_path="bcipy/simulator/sim_parameters.json", **kwargs): out_dir = kwargs.get('out_dir', Path(__file__).resolve().parent) model_file = Path(smodel_files.pop()) diff --git a/bcipy/simulator/sim_parameters.json b/bcipy/simulator/sim_parameters.json index 926037a3e..2417a5b90 100644 --- a/bcipy/simulator/sim_parameters.json +++ b/bcipy/simulator/sim_parameters.json @@ -21,7 +21,7 @@ ], "type": "str" }, - "sim_sleep_time": { + "sim_sleep_time": { "value": "0.25", "section": "sim_config", "readableName": "Simulation Time Step ", diff --git a/bcipy/simulator/simulator_base.py b/bcipy/simulator/simulator_base.py index 68ae72b6e..c91385284 100644 --- a/bcipy/simulator/simulator_base.py +++ b/bcipy/simulator/simulator_base.py @@ -1,4 +1,3 @@ -import logging from abc import ABC, abstractmethod @@ -21,4 +20,4 @@ def run(self): @abstractmethod def get_param(self, name): - ... \ No newline at end of file + ... diff --git a/bcipy/simulator/tests/sampler_test.py b/bcipy/simulator/tests/sampler_test.py index 452197cde..f9e5399a3 100644 --- a/bcipy/simulator/tests/sampler_test.py +++ b/bcipy/simulator/tests/sampler_test.py @@ -6,14 +6,12 @@ from bcipy.helpers.load import load_json_parameters from bcipy.helpers.symbols import alphabet from bcipy.simulator.helpers.data_engine import RawDataEngine -from bcipy.simulator.helpers.metrics import DummyRef +from bcipy.simulator.helpers.metrics import RefereeImpl, SimMetrics1Handler from bcipy.simulator.helpers.sampler import Sampler, EEGByLetterSampler -from bcipy.simulator.helpers.state_manager import StateManagerImpl, StateManager, SimState +from bcipy.simulator.helpers.state_manager import StateManagerImpl, StateManager from bcipy.simulator.helpers.model_handler import SignalModelHandler1 from bcipy.simulator.sim import SimulatorCopyPhrase - - if __name__ == "__main__": args = dict() args['data_folders'] = ["/Users/srikarananthoju/cambi/tab_test_dynamic/16sec_-0700", @@ -39,5 +37,6 @@ sample: np.ndarray = sampler.sample(stateManager.get_state()) model_handler = SignalModelHandler1(model_file) - sim = SimulatorCopyPhrase(data_engine, model_handler, sampler, stateManager, DummyRef()) + sim = SimulatorCopyPhrase(data_engine, model_handler, sampler, stateManager, + RefereeImpl(metric_handlers={'basic': SimMetrics1Handler()})) sim.run() From f5932a6632f7a4f8e53e1e3f609ffdfc5475cf2a Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Tue, 9 Jan 2024 19:08:33 +0530 Subject: [PATCH 198/330] pylint clean ups --- bcipy/simulator/README.md | 9 ++++-- bcipy/simulator/__init__.py | 2 ++ bcipy/simulator/__main__.py | 9 ++++-- bcipy/simulator/helpers/data_engine.py | 28 +++++++++------- bcipy/simulator/helpers/evidence_fuser.py | 3 +- bcipy/simulator/helpers/log_utils.py | 2 +- bcipy/simulator/helpers/metrics.py | 23 +++++++------ bcipy/simulator/helpers/model_handler.py | 8 +++-- bcipy/simulator/helpers/sampler.py | 10 +++--- bcipy/simulator/helpers/signal_helpers.py | 2 +- bcipy/simulator/helpers/sim_viz.py | 3 +- bcipy/simulator/helpers/state_manager.py | 24 ++++++++------ bcipy/simulator/sim.py | 39 +++++++++++------------ bcipy/simulator/sim_factory.py | 9 ++++-- bcipy/simulator/simulator_base.py | 8 ++--- 15 files changed, 104 insertions(+), 75 deletions(-) diff --git a/bcipy/simulator/README.md b/bcipy/simulator/README.md index 34d901dfe..11773d456 100644 --- a/bcipy/simulator/README.md +++ b/bcipy/simulator/README.md @@ -2,13 +2,15 @@ ### Overview -This Simulator module aims to automate experimentation by sampling EEG data from prior sessions and running given models +This Simulator module aims to automate experimentation by sampling EEG data from prior sessions and +running given models in RSVP task loop, thus simulating a live session. ### Run steps -`main.py` is the entry point for program. After following, `BciPy` readme steps for setup, run the module from shell as +`main.py` is the entry point for program. After following, `BciPy` readme steps for setup, run the +module from shell as such: ``python3 bcipy/simulator -d "pathToDataFolder1" -d "pathToOptionalDataFolder2" -sm "pathToSignalModel.pkl"`` @@ -17,7 +19,8 @@ Then view generated LOG file for analysis #### Program Args -- `d` : the data folder argument is necessary. This data will be used to construct data pool from which simulator will +- `d` : the data folder argument is necessary. This data will be used to construct data pool from + which simulator will sample EEG responses. Should contain _raw_data.csv_, _triggers.txt_, _parameters.json_ - `sm`: the signal model argument is necessary to generate evidence diff --git a/bcipy/simulator/__init__.py b/bcipy/simulator/__init__.py index c107589b3..27ca39387 100644 --- a/bcipy/simulator/__init__.py +++ b/bcipy/simulator/__init__.py @@ -1,3 +1,5 @@ +""" Simulator package. View README """ + import datetime import logging import sys diff --git a/bcipy/simulator/__main__.py b/bcipy/simulator/__main__.py index 34b158717..38c1bb9f2 100644 --- a/bcipy/simulator/__main__.py +++ b/bcipy/simulator/__main__.py @@ -14,7 +14,7 @@ action="append", type=Path, required=True, - help="Raw data folders to be processed. This argument can be repeated to accumulate sessions data.") + help="Raw data folders to be processed. Repeatable arg to accumulate sessions data.") parser.add_argument( "-sm", "--smodel_files", @@ -23,7 +23,12 @@ required=True, help="Signal models to be used") - # TODO parameters file arg + parser.add_argument( + "-p", + "--parameters", + type=Path, + required=False, # For now + help="Parameter File to be used") parser.add_argument("-o", "--out_dir", type=Path, default=Path(__file__).resolve().parent) diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py index b01f95423..1fe3869c7 100644 --- a/bcipy/simulator/helpers/data_engine.py +++ b/bcipy/simulator/helpers/data_engine.py @@ -10,7 +10,8 @@ from bcipy.helpers import load from bcipy.helpers.list import grouper from bcipy.helpers.parameters import Parameters -from bcipy.simulator.helpers.signal_helpers import ExtractedExperimentData, process_raw_data_for_model +from bcipy.simulator.helpers.signal_helpers import ExtractedExperimentData, \ + process_raw_data_for_model log = logging.getLogger(__name__) @@ -32,17 +33,17 @@ def get_parameters(self) -> List[Parameters]: class RawDataEngine(DataEngine): """ - Object that loads in list of previous session data folders and transforms data into implemented schema + Object that loads in list of session data folders and transforms data into sample-able pd.df """ def __init__(self, source_dirs: List[str]): # TODO read parameters from source dirx - # TODO maybe rely upon single source of data, write some scripts that clean data and group them # TODO use os.walk() and take in single source_dir that has all data folders self.source_dirs: List[str] = source_dirs self.parameter_files: List[Parameters] = [] self.data: Optional[List[ExtractedExperimentData]] = None - self.trials_by_inquiry: List[np.ndarray] = [] # shape (i_inquiry, n_channel, m_trial, x_sample). + self.trials_by_inquiry: List[ + np.ndarray] = [] # shape (i_inquiry, n_channel, m_trial, x_sample). self.symbols_by_inquiry: List[List] = [] # shape (i_inquiry, s_alphabet_subset) self.labels_by_inquiry: List[List] = [] # shape (i_inquiry, s_alphabet_subset) self.schema: Optional[pd.DataFrame] = None @@ -60,18 +61,21 @@ def load(self) -> DataEngine: log.debug(f"Loading data from {len(self.source_dirs)} source directories") self.parameter_files = [ - load.load_json_parameters(str(Path(data_folder, DEFAULT_PARAMETER_FILENAME)), value_cast=True) for + load.load_json_parameters(str(Path(data_folder, DEFAULT_PARAMETER_FILENAME)), + value_cast=True) for data_folder in self.source_dirs] - assert len(self.source_dirs) == len(self.parameter_files) # TODO more general parameter validation function + assert len(self.source_dirs) == len( + self.parameter_files) # TODO more general parameter validation function self.data = [process_raw_data_for_model(source_dir, parameter) for source_dir, parameter in zip(self.source_dirs, self.parameter_files)] for data_source, parameter in zip(self.data, self.parameter_files): trigger_targetness, trigger_timing, trigger_symbols = data_source.decoded_triggers - self.trials_by_inquiry.append(np.split(data_source.trials, data_source.inquiries.shape[1], 1)) + self.trials_by_inquiry.append( + np.split(data_source.trials, data_source.inquiries.shape[1], 1)) self.symbols_by_inquiry.append([list(group) for group in grouper(trigger_symbols, parameter.get('stim_length'), incomplete="ignore")]) @@ -95,8 +99,6 @@ def transform(self) -> DataEngine: """ # TODO store how good evidence was in session | store data source as well - cols = ["series_n", "inquiry_n", "trial_n", "symbol", "target", "eeg"] - types = [int, int, int, str, int, np.ndarray] rows = [] for d_i in range(len(self.data)): @@ -106,9 +108,11 @@ def transform(self) -> DataEngine: inquiry_eeg = self.trials_by_inquiry[d_i][i] symbol_rows = [] - for t_i in range(len(symbols)): - channel_eeg_samples_for_t = [channel[t_i] for channel in inquiry_eeg] # (channel_n, sample_n) - row = {'inquiry_n': i, 'trial_n': t_i, 'symbol': symbols[t_i], 'target': inquiry_labels[t_i], + for t_i, symbol in enumerate(symbols): + channel_eeg_samples_for_t = [channel[t_i] for channel in + inquiry_eeg] # (channel_n, sample_n) + row = {'inquiry_n': i, 'trial_n': t_i, 'symbol': symbol, + 'target': inquiry_labels[t_i], 'eeg': np.array(channel_eeg_samples_for_t)} symbol_rows.append(row) diff --git a/bcipy/simulator/helpers/evidence_fuser.py b/bcipy/simulator/helpers/evidence_fuser.py index 9269925cd..c43115347 100644 --- a/bcipy/simulator/helpers/evidence_fuser.py +++ b/bcipy/simulator/helpers/evidence_fuser.py @@ -23,7 +23,8 @@ def __init__(self): def fuse(self, prior_likelihood, evidence) -> np.ndarray: len_dist = len(list(evidence.values())[0]) - prior_likelihood = prior_likelihood if prior_likelihood is not None else EvidenceFuser.make_prior(len_dist) + prior_likelihood = prior_likelihood if prior_likelihood is not None else EvidenceFuser.make_prior( + len_dist) ret_likelihood = prior_likelihood.copy() for value in evidence.values(): diff --git a/bcipy/simulator/helpers/log_utils.py b/bcipy/simulator/helpers/log_utils.py index 2e74dee1e..460202c0f 100644 --- a/bcipy/simulator/helpers/log_utils.py +++ b/bcipy/simulator/helpers/log_utils.py @@ -9,7 +9,7 @@ def fmt_stim_likelihoods(likelihoods, alp): return formatted -def format_sample_rows(sample_rows: List[pd.Series]): +def format_sample_rows(sample_rows: List[pd.DataFrame]): formatted_rows = [] for row in sample_rows: new_row = row.drop(columns=['eeg'], axis=1, inplace=False) diff --git a/bcipy/simulator/helpers/metrics.py b/bcipy/simulator/helpers/metrics.py index 284bb615f..35fcb4075 100644 --- a/bcipy/simulator/helpers/metrics.py +++ b/bcipy/simulator/helpers/metrics.py @@ -29,14 +29,16 @@ def handle(self, sim: Simulator) -> Dict[str, Any]: class SimMetrics1Handler(RefereeHandler): def handle(self, sim: Simulator) -> Dict[str, Any]: - state: SimState = sim.__getattribute__("state_manager").get_state() + state: SimState = getattr(sim, ("state_manager")).get_state() info: Dict = SimMetrics1().__dict__ info['total_inquiries'] = state.total_inquiry_count() info['total_series'] = state.series_n - flattened_inquiries: List[InquiryResult] = reduce(lambda l1, l2: l1 + l2, state.series_results, []) - info['total_decisions'] = len(list(filter(lambda inq: bool(inq.decision), flattened_inquiries))) + flattened_inquiries: List[InquiryResult] = reduce(lambda l1, l2: l1 + l2, + state.series_results, []) + info['total_decisions'] = len( + list(filter(lambda inq: bool(inq.decision), flattened_inquiries))) inq_counts = [] for series in state.series_results: @@ -52,27 +54,28 @@ class MetricReferee(ABC): # May change to SimState that is passed around not whole Simulator # Depends on how much data encapsulated by SimState @abstractmethod - def score(self, sim: Simulator) -> SimMetrics1: - ... + def score(self, sim: Simulator): + """ Generate registered metrics for simulation """ @abstractmethod def visualize(self, sim: Simulator): - ... + """ Generate registered visualizations for sim """ @abstractmethod def set_metric_handler(self, name: str, handler: RefereeHandler): - ... + """ Add a metric calculation that will be executed upon self.score() """ @abstractmethod def set_viz_handler(self, name: str, handler: RefereeHandler): - ... + """ Register a visualization that will be executed upon self.visualize() """ class RefereeImpl(MetricReferee): def __init__(self, metric_handlers=None, viz_handlers=None): - self.metric_handlers: Dict[str, RefereeHandler] = metric_handlers if metric_handlers else dict() - self.viz_handlers: Dict[str, RefereeHandler] = viz_handlers if viz_handlers else dict() + self.metric_handlers: Dict[ + str, RefereeHandler] = metric_handlers if metric_handlers else {} + self.viz_handlers: Dict[str, RefereeHandler] = viz_handlers if viz_handlers else {} self.inquiry_time: float = 1 # 1 inq -> 1 second # TODO maybe some configurable parameters for visualizations diff --git a/bcipy/simulator/helpers/model_handler.py b/bcipy/simulator/helpers/model_handler.py index 5b443b382..d8b66b79f 100644 --- a/bcipy/simulator/helpers/model_handler.py +++ b/bcipy/simulator/helpers/model_handler.py @@ -1,5 +1,5 @@ import pickle -from abc import ABC +from abc import ABC, abstractmethod from typing import Optional from bcipy.helpers.symbols import alphabet @@ -9,11 +9,13 @@ class ModelHandler(ABC): + @abstractmethod def generate_evidence(self, state: SimState, features): - ... + """ Run model on features to generate evidence """ + @abstractmethod def get_model(self, key=None): - ... + """ get the model """ class SignalModelHandler1(ModelHandler): diff --git a/bcipy/simulator/helpers/sampler.py b/bcipy/simulator/helpers/sampler.py index 3111d2370..c748536bd 100644 --- a/bcipy/simulator/helpers/sampler.py +++ b/bcipy/simulator/helpers/sampler.py @@ -29,7 +29,8 @@ class EEGByLetterSampler(Sampler): def __init__(self, data_engine: RawDataEngine, params: List[Parameters] = None): self.data_engine: RawDataEngine = data_engine - self.parameter_files: List[Parameters] = params if params else self.data_engine.parameter_files + self.parameter_files: List[ + Parameters] = params if params else self.data_engine.parameter_files self.model_input_reshaper: Callable = self.__default_reshaper self.alphabet: List[str] = params[0].get('symbol_set') if params else alphabet() self.data: pd.DataFrame = self.data_engine.transform().get_data() @@ -49,9 +50,10 @@ def sample(self, state: SimState) -> np.ndarray: for symbol in inquiry_letter_subset: is_target = int(symbol == target_letter) # filtered_data = self.data.query(f'target == {is_target} and symbol == "{symbol}"') - filtered_data = self.data.query(f'target == {is_target}') - if not len(filtered_data): - raise TaskConfigurationException(message="No eeg sample found with provided data and query") + filtered_data: pd.DataFrame = self.data.query(f'target == {is_target}') + if filtered_data is None or len(filtered_data) == 0: + raise TaskConfigurationException( + message="No eeg sample found with provided data and query") row = filtered_data.sample(1) sample_rows.append(row) diff --git a/bcipy/simulator/helpers/signal_helpers.py b/bcipy/simulator/helpers/signal_helpers.py index 863bc88a3..d7c1735ab 100644 --- a/bcipy/simulator/helpers/signal_helpers.py +++ b/bcipy/simulator/helpers/signal_helpers.py @@ -5,7 +5,7 @@ import numpy as np -import bcipy.acquisition.devices as devices +from bcipy.acquisition import devices from bcipy.config import ( RAW_DATA_FILENAME, TRIGGER_FILENAME, diff --git a/bcipy/simulator/helpers/sim_viz.py b/bcipy/simulator/helpers/sim_viz.py index 4c94805a4..14644335d 100644 --- a/bcipy/simulator/helpers/sim_viz.py +++ b/bcipy/simulator/helpers/sim_viz.py @@ -55,7 +55,8 @@ def plot_replay_comparison(new_target_eeg_evidence: np.ndarray, outdir: str, parameters: Parameters, ) -> None: - def convert_to_records(arr, key_value, key_name="which_model", value_name="response_value") -> [dict]: + def convert_to_records(arr, key_value, key_name="which_model", value_name="response_value") -> [ + dict]: return [{key_name: key_value, value_name: val} for val in arr] records = [] diff --git a/bcipy/simulator/helpers/state_manager.py b/bcipy/simulator/helpers/state_manager.py index 9a4ab631e..93d654d24 100644 --- a/bcipy/simulator/helpers/state_manager.py +++ b/bcipy/simulator/helpers/state_manager.py @@ -44,7 +44,8 @@ def get_current_likelihood(self) -> Optional[np.ndarray]: class StateManager(ABC): - def update(self, evidence: np.ndarray): # TODO change evidence type to dictionary or some dataclass + def update(self, + evidence: np.ndarray): # TODO change evidence type to dictionary or some dataclass raise NotImplementedError() def is_done(self) -> bool: @@ -90,13 +91,15 @@ def update(self, evidence) -> InquiryResult: temp_inquiry_result = InquiryResult(target=self.state.target_symbol, time_spent=0, stimuli=self.state.display_alphabet, # TODO change to use evidence_dict - evidence_likelihoods=list(evidence), fused_likelihood=fused_likelihood, + evidence_likelihoods=list(evidence), + fused_likelihood=fused_likelihood, decision=None) # can we make decision temp_series = copy.deepcopy(self.get_state().series_results) temp_series[-1].append(temp_inquiry_result) - is_decidable = any([decider.decide(temp_series[-1]) for decider in self.state.decision_criterion]) + is_decidable = any( + [decider.decide(temp_series[-1]) for decider in self.state.decision_criterion]) decision = None new_state = self.get_state().__dict__ @@ -107,7 +110,8 @@ def update(self, evidence) -> InquiryResult: new_state['series_results'][self.state.series_n].append(new_inquiry_result) if is_decidable: - decision = alphabet()[np.argmax(evidence)] # deciding the maximum probability symbol TODO abstract + decision = alphabet()[ + np.argmax(evidence)] # deciding the maximum probability symbol TODO abstract # resetting series new_state['series_n'] += 1 @@ -116,9 +120,11 @@ def update(self, evidence) -> InquiryResult: # updating current sentence and finding next target new_state['current_sentence'] = new_state['current_sentence'] + \ - decision if decision != BACKSPACE_CHAR else new_state['current_sentence'][ - :-1] - new_state['target_symbol'] = next_target_letter(new_state['current_sentence'], self.state.target_sentence) + decision if decision != BACKSPACE_CHAR else new_state[ + 'current_sentence'][ + :-1] + new_state['target_symbol'] = next_target_letter(new_state['current_sentence'], + self.state.target_sentence) else: new_state['inquiry_n'] += 1 @@ -143,8 +149,8 @@ def mutate_state(self, state_field, state_value) -> SimState: state_dict[state_field] = state_value self.state = SimState(**state_dict) return self.get_state() - else: - raise FieldException(f"Cannot find state field {state_field}") + + raise FieldException(f"Cannot find state field {state_field}") @staticmethod def initial_state(parameters: Parameters = None) -> SimState: diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index 4c663a932..ae7d06030 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -25,33 +25,32 @@ class SimulatorCopyPhrase(Simulator): Copy Phrase simulator. Run loop: - - The loop runs until StateManager determines simulation is over - - The generated stimuli are passed into sampler, which returns some eeg response - - The Model handler will generate predictions and feed back into StateManager - - StateManager will resolve the state while the MetricReferee observes and records any metrics + - The loop runs until StateManager determines simulation is over + - The generated stimuli are passed into sampler, which returns some eeg response + - The Model handler will generate predictions and feed back into StateManager + - StateManager will resolve the state while the MetricReferee observes and records any metrics Main components: - - DataEngine: loading and storing data - - Sampler: logic for sampling from data, composed of DataEngine - - StateManager: manages run loop details and fuses model evidence with current state - - MetricReferee: tracks and scores the simulation on different metrics for later evaluation - - ModelHandler: wrapper for models that deals with loading in models and generating evidence + - DataEngine: loading and storing data + - Sampler: logic for sampling from data, composed of DataEngine + - StateManager: manages run loop details and fuses model evidence with current state + - MetricReferee: tracks and scores the simulation on different metrics for later evaluation + - ModelHandler: wrapper for models that deals with loading in models and generating evidence Requirements: - run closed loop simulation of {TaskType} with {data} with {simulation_params} """ def __init__(self, data_engine: DataEngine, model_handler: ModelHandler, sampler: Sampler, - state_manager: StateManager, referee: MetricReferee, parameter_path: str = None, save_dir: str = None, - verbose=False, visualize=False): - super(SimulatorCopyPhrase, self).__init__() + state_manager: StateManager, referee: MetricReferee, parameter_path: str = None, + save_dir: str = None): + super().__init__() self.save_dir: str = save_dir self.model_handler: ModelHandler = model_handler self.sampler: Sampler = sampler self.referee: MetricReferee = referee self.state_manager: StateManager = state_manager - self.data_engine: DataEngine = data_engine self.parameters = self.load_parameters(parameter_path) @@ -59,16 +58,14 @@ def __init__(self, data_engine: DataEngine, model_handler: ModelHandler, sampler self.symbol_set = alphabet() self.write_output = False - self.verbose = verbose - self.visualize = visualize - def run(self): log.info(f"SIM START with target word {self.state_manager.get_state().target_sentence}") while not self.state_manager.is_done(): curr_state = self.state_manager.get_state() log.info( - f"Series {curr_state.series_n} | Inquiry {curr_state.inquiry_n} | Target {curr_state.target_symbol}") + f"Series {curr_state.series_n} | Inquiry {curr_state.inquiry_n} | " + + f"Target {curr_state.target_symbol}") self.state_manager.mutate_state('display_alphabet', self.__make_stimuli(curr_state)) sampled_data = self.sampler.sample(curr_state) @@ -82,7 +79,9 @@ def run(self): inq_record: InquiryResult = self.state_manager.update(evidence) updated_state = self.state_manager.get_state() - log.debug(f"Fused Likelihoods {fmt_stim_likelihoods(inq_record.fused_likelihood, self.symbol_set)}") + log.debug( + f"Fused Likelihoods + " + f"{fmt_stim_likelihoods(inq_record.fused_likelihood, self.symbol_set)}") if inq_record.decision: log.info(f"Decided {inq_record.decision} for target {inq_record.target}") @@ -106,8 +105,8 @@ def __make_stimuli(self, state: SimState): if val_func is not None: return stimuli.best_selection(self.symbol_set, list( val_func), subset_length, always_included=always_in_stimuli) - else: - return random.sample(self.symbol_set, subset_length) + + return random.sample(self.symbol_set, subset_length) def load_parameters(self, path): # TODO validate parameters diff --git a/bcipy/simulator/sim_factory.py b/bcipy/simulator/sim_factory.py index 8b7b51917..b039898d5 100644 --- a/bcipy/simulator/sim_factory.py +++ b/bcipy/simulator/sim_factory.py @@ -1,3 +1,4 @@ +""" Factory for Simulator objects """ from pathlib import Path from typing import List @@ -11,20 +12,22 @@ class SimulationFactoryV2: + """ Factory class to create Simulator instances """ + @staticmethod def create(data_folders: List[str], smodel_files: List[str], sim_param_path="bcipy/simulator/sim_parameters.json", **kwargs): - out_dir = kwargs.get('out_dir', Path(__file__).resolve().parent) + # out_dir = kwargs.get('out_dir', Path(__file__).resolve().parent) model_file = Path(smodel_files.pop()) sim_parameters = load_json_parameters(sim_param_path, value_cast=True) data_engine = RawDataEngine(data_folders) - stateManager: StateManager = StateManagerImpl(sim_parameters) + state_manager: StateManager = StateManagerImpl(sim_parameters) sampler: Sampler = EEGByLetterSampler(data_engine) model_handler: ModelHandler = SignalModelHandler1(model_file) referee: MetricReferee = RefereeImpl(metric_handlers={'basic': SimMetrics1Handler()}) - sim = SimulatorCopyPhrase(data_engine, model_handler, sampler, stateManager, referee) + sim = SimulatorCopyPhrase(data_engine, model_handler, sampler, state_manager, referee) return sim diff --git a/bcipy/simulator/simulator_base.py b/bcipy/simulator/simulator_base.py index c91385284..79eaae114 100644 --- a/bcipy/simulator/simulator_base.py +++ b/bcipy/simulator/simulator_base.py @@ -1,3 +1,4 @@ +""" base simulator interface """ from abc import ABC, abstractmethod @@ -11,13 +12,10 @@ class Simulator(ABC): - run closed loop simulation of {TaskType} with {data} with {simulation_params} """ - def __init__(self): - super(Simulator, self).__init__() - @abstractmethod def run(self): - ... + """ Run loop for simulation""" @abstractmethod def get_param(self, name): - ... + """ retrieving parameter """ From 172bedffaf079b65b4d3505d518170837522ad96 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 9 Jan 2024 13:40:39 -0800 Subject: [PATCH 199/330] Refactored VEP display to take a parameter for flicker_rates, rather than codes; added logging --- .../display/demo/vep/demo_calibration_vep.py | 12 ++---------- bcipy/display/paradigm/vep/codes.py | 1 + bcipy/display/paradigm/vep/display.py | 19 +++++++++++++------ bcipy/task/paradigm/vep/calibration.py | 17 +++++------------ 4 files changed, 21 insertions(+), 28 deletions(-) diff --git a/bcipy/display/demo/vep/demo_calibration_vep.py b/bcipy/display/demo/vep/demo_calibration_vep.py index 566b80209..c0a53b4ea 100644 --- a/bcipy/display/demo/vep/demo_calibration_vep.py +++ b/bcipy/display/demo/vep/demo_calibration_vep.py @@ -7,8 +7,7 @@ init_display_window) from bcipy.display.components.layout import centered from bcipy.display.components.task_bar import CalibrationTaskBar -from bcipy.display.paradigm.vep.codes import (DEFAULT_FLICKER_RATES, - ssvep_to_code) +from bcipy.display.paradigm.vep.codes import DEFAULT_FLICKER_RATES from bcipy.display.paradigm.vep.display import VEPDisplay from bcipy.display.paradigm.vep.layout import BoxConfiguration from bcipy.helpers.clock import Clock @@ -52,13 +51,6 @@ '#FF8232' ] -# Note: these rates work for a 60hz display -flicker_rates = DEFAULT_FLICKER_RATES -codes = [ - ssvep_to_code(refresh_rate=int(frame_rate), flicker_rate=hz) - for hz in flicker_rates -] - layout = centered(width_pct=0.95, height_pct=0.80) box_config = BoxConfiguration(layout, height_pct=0.30) @@ -80,7 +72,7 @@ task_bar, info, box_config=box_config, - codes=codes, + flicker_rates=DEFAULT_FLICKER_RATES, should_prompt_target=True, frame_rate=frame_rate) wait_seconds = 2 diff --git a/bcipy/display/paradigm/vep/codes.py b/bcipy/display/paradigm/vep/codes.py index e96067e3d..86e367460 100644 --- a/bcipy/display/paradigm/vep/codes.py +++ b/bcipy/display/paradigm/vep/codes.py @@ -8,6 +8,7 @@ log = logging.getLogger(__name__) +# These rates work for a 60hz display DEFAULT_FLICKER_RATES = [4, 5, 6, 10, 12, 15] diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index 993838d20..1b2ee2f16 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -11,8 +11,9 @@ from bcipy.display.components.layout import scaled_size from bcipy.display.components.task_bar import TaskBar from bcipy.display.paradigm.matrix.layout import symbol_positions -from bcipy.display.paradigm.vep.codes import (create_vep_codes, - round_refresh_rate) +from bcipy.display.paradigm.vep.codes import (DEFAULT_FLICKER_RATES, + round_refresh_rate, + ssvep_to_code) from bcipy.display.paradigm.vep.layout import BoxConfiguration, animation_path from bcipy.display.paradigm.vep.vep_stim import VEPStim from bcipy.helpers.clock import Clock @@ -47,9 +48,12 @@ def __init__(self, box_config: BoxConfiguration, trigger_type: str = 'text', symbol_set: Optional[List[str]] = None, - codes: Optional[List[List[int]]] = None, + flicker_rates: List[int] = DEFAULT_FLICKER_RATES, should_prompt_target: bool = True, frame_rate: Optional[float] = None): + assert len( + flicker_rates + ) >= box_config.num_boxes, 'Not enough flicker rates provided' self.window = window if not frame_rate: frame_rate = self.window.getActualFrameRate() @@ -109,9 +113,12 @@ def __init__(self, self.info_text = info.build_info_text(window) # build the VEP stimuli - if not codes: - codes = create_vep_codes(length=self.refresh_rate, - count=self.vep_type) + self.logger.info(f"VEP flicker rates (hz): {flicker_rates}") + rate = round_refresh_rate(frame_rate) + codes = [ + ssvep_to_code(refresh_rate=rate, flicker_rate=int(hz)) + for hz in flicker_rates + ] vep_colors = [('white', 'black'), ('red', 'green'), ('blue', 'yellow'), ('orange', 'green')] vep_stim_size = scaled_size(0.24, self.window_size) diff --git a/bcipy/task/paradigm/vep/calibration.py b/bcipy/task/paradigm/vep/calibration.py index 7761766ab..8a9a0df07 100644 --- a/bcipy/task/paradigm/vep/calibration.py +++ b/bcipy/task/paradigm/vep/calibration.py @@ -8,9 +8,7 @@ from bcipy.display import InformationProperties, VEPStimuliProperties from bcipy.display.components.layout import centered from bcipy.display.components.task_bar import CalibrationTaskBar -from bcipy.display.paradigm.vep.codes import (DEFAULT_FLICKER_RATES, - round_refresh_rate, - ssvep_to_code) +from bcipy.display.paradigm.vep.codes import DEFAULT_FLICKER_RATES from bcipy.display.paradigm.vep.display import VEPDisplay from bcipy.display.paradigm.vep.layout import BoxConfiguration from bcipy.helpers.clock import Clock @@ -235,7 +233,7 @@ def init_calibration_display(parameters: Parameters, stim_color=colors, inquiry=[], stim_length=1, - animation_seconds=1.0) + animation_seconds=parameters['time_vep_animation']) task_bar = CalibrationTaskBar(window, inquiry_count=parameters['stim_number'], @@ -244,19 +242,14 @@ def init_calibration_display(parameters: Parameters, font=parameters['font'], height=parameters['task_height']) - # issue #186641183 ; determine a better configuration strategy - flicker_rates = DEFAULT_FLICKER_RATES - rate = round_refresh_rate(window.getActualFrameRate()) - codes = [ - ssvep_to_code(refresh_rate=rate, flicker_rate=int(hz)) - for hz in flicker_rates - ] + # issue #186641183 ; determine a better configuration strategy for flicker + return VEPDisplay(window, experiment_clock, stim_props, task_bar, info, symbol_set=symbol_set, - codes=codes, box_config=box_config, + flicker_rates=DEFAULT_FLICKER_RATES, should_prompt_target=True) From b1aac715bbb9594ae03cc3a57fee967c63caebb7 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 10 Jan 2024 17:24:08 -0800 Subject: [PATCH 200/330] Add tests for current query behavior --- bcipy/task/control/query.py | 5 +- bcipy/task/tests/core/test_query.py | 150 +++++++++++++++++++++++++--- 2 files changed, 138 insertions(+), 17 deletions(-) diff --git a/bcipy/task/control/query.py b/bcipy/task/control/query.py index c7cd171dd..7468402e2 100644 --- a/bcipy/task/control/query.py +++ b/bcipy/task/control/query.py @@ -1,7 +1,8 @@ -import numpy as np import random -from typing import List, Optional from abc import ABC, abstractmethod +from typing import List, Optional + +import numpy as np from bcipy.helpers.stimuli import best_selection diff --git a/bcipy/task/tests/core/test_query.py b/bcipy/task/tests/core/test_query.py index 3ea91d65e..5a754fec0 100644 --- a/bcipy/task/tests/core/test_query.py +++ b/bcipy/task/tests/core/test_query.py @@ -1,23 +1,143 @@ import unittest -from bcipy.task.control.query import best_selection + +from bcipy.task.control.query import (NBestStimuliAgent, RandomStimuliAgent, + best_selection) class TestQueryMechanisms(unittest.TestCase): + """Tests for query functions""" + def test_best_selection(self): - list_el = ["A", "E", "I", "O", "U"] - values = [0.4, 0.1, 0.25, 0.1, 0.15] - len_query = 3 - self.assertEqual(["A", "I", "U"], best_selection(list_el, values, len_query)) - - list_el = ["A", "E", "I", "O", "U"] - values = [0.15, 0.4, 0.1, 0.25, 0.1] - len_query = 3 - self.assertEqual(["E", "O", "A"], best_selection(list_el, values, len_query)) - - list_el = ["A", "E", "I", "O", "U"] - values = [0.1, 0.2, 0.2, 0.2, 0.2] - len_query = 3 - self.assertEqual(["E", "I", "O"], best_selection(list_el, values, len_query)) + """Test best_selection function""" + self.assertEqual(["A", "I", "U"], + best_selection( + selection_elements=["A", "E", "I", "O", "U"], + val=[0.4, 0.1, 0.25, 0.1, 0.15], + len_query=3)) + + self.assertEqual(["E", "O", "A"], + best_selection( + selection_elements=["A", "E", "I", "O", "U"], + val=[0.15, 0.4, 0.1, 0.25, 0.1], + len_query=3)) + + self.assertEqual(["E", "I", "O"], + best_selection( + selection_elements=["A", "E", "I", "O", "U"], + val=[0.1, 0.2, 0.2, 0.2, 0.2], + len_query=3)) + + self.assertEqual( + ["A", "E", "I"], + best_selection(selection_elements=["A", "E", "I", "O", "U"], + val=[0.2, 0.2, 0.2, 0.2, 0.2], + len_query=3), + msg="equally probable items should be in alphabetical order") + + self.assertEqual(["A", "U", "I"], + best_selection( + selection_elements=["A", "E", "I", "O", "U"], + val=[0.4, 0.1, 0.0, 0.1, 0.4], + len_query=3, + always_included=["I"]), + msg="always_included items should be in the results") + + self.assertEqual( + ["A", "U", "E"], + best_selection(selection_elements=["A", "E", "I", "O", "U"], + val=[0.4, 0.1, 0.0, 0.1, 0.4], + len_query=3, + always_included=["<"]), + msg="Always included items are only applied if present") + + +class TestNBestStimuliAgent(unittest.TestCase): + """Tests for NBestStimuliAgent""" + + def test_highest_probs(self): + """Test the NBestStimuliAgent should select symbols with the highest + probabilities""" + agent = NBestStimuliAgent(alphabet=["A", "E", "I", "O", "U"], + len_query=3) + self.assertEqual(["A", "I", "U"], + agent.return_stimuli( + list_distribution=[[0.4, 0.1, 0.25, 0.1, 0.15]], + constants=None)) + + def test_multiple_value_lists(self): + """Test with multiple values in the list distribution.""" + agent = NBestStimuliAgent(alphabet=["A", "E", "I", "O", "U"], + len_query=3) + self.assertEqual( + ["E", "O", "A"], + agent.return_stimuli( + list_distribution=[[0.4, 0.1, 0.25, 0.1, 0.15], + [0.15, 0.4, 0.1, 0.25, 0.1]], + constants=None), + msg="Last list of probabilities should be used for selection") + + def test_all_equal_probs(self): + """Test where all probabilities are equal""" + agent = NBestStimuliAgent(alphabet=["A", "E", "I", "O", "U"], + len_query=3) + + self.assertEqual(["A", "E", "I"], + agent.return_stimuli( + list_distribution=[[0.2, 0.2, 0.2, 0.2, 0.2]], + constants=None), + msg="Should return the first n values") + + def test_constants(self): + """Test with constant items included in results.""" + agent = NBestStimuliAgent(alphabet=["A", "E", "I", "O", "U"], + len_query=3) + + self.assertEqual(["E", "I", "U"], + agent.return_stimuli( + list_distribution=[[0.1, 0.3, 0.3, 0.2, 0.1]], + constants=["U"])) + + +class TestRandomStimuliAgent(unittest.TestCase): + """Tests for RandomStimuliAgent""" + + def test_randomness(self): + """Test that symbols are not selected based on probabilities.""" + agent = RandomStimuliAgent(alphabet=["A", "E", "I", "O", "U"], + len_query=3) + + # Generate 100 queries + queries = [ + agent.return_stimuli([[0.3, 0.3, 0.2, 0.1, 0.1]]) + for i in range(100) + ] + # Turn each list of symbols into a string to make them easier to compare + strings = [''.join(query) for query in queries] + self.assertTrue(len(set(strings)) > 1, + msg="All queries should not be the same") + + all_queries: str = ''.join(strings) + self.assertTrue( + "O" in all_queries or "U" in all_queries, + msg="Not only the highest probability symbols should be returned.") + + def test_ordering(self): + """Test that ordering is not always alphabetical""" + agent = RandomStimuliAgent(alphabet=["A", "E", "I", "O", "U"], + len_query=3) + queries = [ + agent.return_stimuli([[0.3, 0.3, 0.2, 0.1, 0.1]]) + for i in range(10) + ] + self.assertFalse(all(sorted(query) == query for query in queries)) + + def test_constants(self): + """Test that constants are always added.""" + agent = RandomStimuliAgent(alphabet=["A", "E", "I", "O", "U"], + len_query=3) + query = agent.return_stimuli([[0.3, 0.3, 0.2, 0.1, 0.1]], + constants=["O"]) + self.assertTrue("O" in query) if __name__ == '__main__': From 46c1be30e1f14880559016d9bfabe1f9b306dfdc Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 10 Jan 2024 17:31:44 -0800 Subject: [PATCH 201/330] Remove redundant tests --- bcipy/task/tests/core/test_query.py | 50 +---------------------------- 1 file changed, 1 insertion(+), 49 deletions(-) diff --git a/bcipy/task/tests/core/test_query.py b/bcipy/task/tests/core/test_query.py index 5a754fec0..f00c31853 100644 --- a/bcipy/task/tests/core/test_query.py +++ b/bcipy/task/tests/core/test_query.py @@ -1,54 +1,6 @@ import unittest -from bcipy.task.control.query import (NBestStimuliAgent, RandomStimuliAgent, - best_selection) - - -class TestQueryMechanisms(unittest.TestCase): - """Tests for query functions""" - - def test_best_selection(self): - """Test best_selection function""" - self.assertEqual(["A", "I", "U"], - best_selection( - selection_elements=["A", "E", "I", "O", "U"], - val=[0.4, 0.1, 0.25, 0.1, 0.15], - len_query=3)) - - self.assertEqual(["E", "O", "A"], - best_selection( - selection_elements=["A", "E", "I", "O", "U"], - val=[0.15, 0.4, 0.1, 0.25, 0.1], - len_query=3)) - - self.assertEqual(["E", "I", "O"], - best_selection( - selection_elements=["A", "E", "I", "O", "U"], - val=[0.1, 0.2, 0.2, 0.2, 0.2], - len_query=3)) - - self.assertEqual( - ["A", "E", "I"], - best_selection(selection_elements=["A", "E", "I", "O", "U"], - val=[0.2, 0.2, 0.2, 0.2, 0.2], - len_query=3), - msg="equally probable items should be in alphabetical order") - - self.assertEqual(["A", "U", "I"], - best_selection( - selection_elements=["A", "E", "I", "O", "U"], - val=[0.4, 0.1, 0.0, 0.1, 0.4], - len_query=3, - always_included=["I"]), - msg="always_included items should be in the results") - - self.assertEqual( - ["A", "U", "E"], - best_selection(selection_elements=["A", "E", "I", "O", "U"], - val=[0.4, 0.1, 0.0, 0.1, 0.4], - len_query=3, - always_included=["<"]), - msg="Always included items are only applied if present") +from bcipy.task.control.query import NBestStimuliAgent, RandomStimuliAgent class TestNBestStimuliAgent(unittest.TestCase): From 937f1bd534ef2669fec62dcd3c99e927fa4792ff Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 11 Jan 2024 15:40:20 -0800 Subject: [PATCH 202/330] Refactored NBestStimuliAgent to randomize symbols with the same probability --- bcipy/task/control/query.py | 26 ++++++++-- bcipy/task/tests/core/test_query.py | 76 +++++++++++++++++++++-------- 2 files changed, 77 insertions(+), 25 deletions(-) diff --git a/bcipy/task/control/query.py b/bcipy/task/control/query.py index 7468402e2..3ea8668fc 100644 --- a/bcipy/task/control/query.py +++ b/bcipy/task/control/query.py @@ -81,12 +81,28 @@ def __init__(self, alphabet: List[str], len_query: int = 4): def reset(self): pass - def return_stimuli(self, list_distribution: np.ndarray, constants: Optional[List[str]] = None): - p = list_distribution[-1] - tmp = [i for i in self.alphabet] - query = best_selection(tmp, p, self.len_query, always_included=constants) + def return_stimuli(self, + list_distribution: np.ndarray, + constants: Optional[List[str]] = None) -> List[str]: + """Returns a list of the n most likely symbols based on the provided + probabilities, where n is self.len_query. Symbols of the same + probability will be ordered randomly. + + Parameters + ---------- + list_distribution - list of lists of probabilities. Only the last list will + be used. + constants - optional list of symbols which should appear every result + """ + symbol_probs = list(zip(self.alphabet, list_distribution[-1])) + randomized = random.sample(symbol_probs, len(symbol_probs)) + symbols, probs = zip(*randomized) + return best_selection(selection_elements=list(symbols), + val=list(probs), + len_query=self.len_query, + always_included=constants) + - return query def do_series(self): pass diff --git a/bcipy/task/tests/core/test_query.py b/bcipy/task/tests/core/test_query.py index f00c31853..01b651fc9 100644 --- a/bcipy/task/tests/core/test_query.py +++ b/bcipy/task/tests/core/test_query.py @@ -11,43 +11,79 @@ def test_highest_probs(self): probabilities""" agent = NBestStimuliAgent(alphabet=["A", "E", "I", "O", "U"], len_query=3) - self.assertEqual(["A", "I", "U"], - agent.return_stimuli( - list_distribution=[[0.4, 0.1, 0.25, 0.1, 0.15]], - constants=None)) + stim = agent.return_stimuli( + list_distribution=[[0.4, 0.1, 0.25, 0.1, 0.15]], constants=None) + self.assertTrue("A" in stim) + self.assertTrue("I" in stim) + self.assertTrue("U" in stim) + + def test_highest_probs_ordering(self): + """Test the NBestStimuliAgent should order the returned symbols + by decreasing probability.""" + agent = NBestStimuliAgent(alphabet=["A", "E", "I", "O", "U"], + len_query=3) + stims = [ + agent.return_stimuli( + list_distribution=[[0.4, 0.1, 0.25, 0.1, 0.15]], + constants=None) for _ in range(10) + ] + + self.assertTrue(all([stim == ['A', 'I', 'U'] for stim in stims]), + msg="All queries should be the same") def test_multiple_value_lists(self): """Test with multiple values in the list distribution.""" agent = NBestStimuliAgent(alphabet=["A", "E", "I", "O", "U"], len_query=3) - self.assertEqual( - ["E", "O", "A"], - agent.return_stimuli( - list_distribution=[[0.4, 0.1, 0.25, 0.1, 0.15], - [0.15, 0.4, 0.1, 0.25, 0.1]], - constants=None), - msg="Last list of probabilities should be used for selection") + stim = agent.return_stimuli( + list_distribution=[[0.4, 0.1, 0.25, 0.1, 0.15], + [0.15, 0.4, 0.1, 0.25, 0.1]], + constants=None) + self.assertTrue("E" in stim) + self.assertTrue("O" in stim) + self.assertTrue("A" in stim) def test_all_equal_probs(self): """Test where all probabilities are equal""" agent = NBestStimuliAgent(alphabet=["A", "E", "I", "O", "U"], len_query=3) + stims = [ + agent.return_stimuli(list_distribution=[[0.2, 0.2, 0.2, 0.2, 0.2]], + constants=None) for _ in range(10) + ] + stim_strings = [''.join(sorted(stim)) for stim in stims] + self.assertTrue(len(set(stim_strings)) > 1, + msg="All queries should not have the same symbols") + + def test_some_equal_probs(self): + """Test ordering where some probabilities are equal.""" + agent = NBestStimuliAgent(alphabet=["A", "E", "I", "O", "U"], + len_query=3) + stims = [ + agent.return_stimuli(list_distribution=[[0.4, 0.1, 0.2, 0.1, 0.2]], + constants=None) for _ in range(10) + ] + + unsorted_stim_strings = [''.join(stim) for stim in stims] + self.assertTrue(len(set(unsorted_stim_strings)) > 1, + msg="All queries should not have the same ordering") - self.assertEqual(["A", "E", "I"], - agent.return_stimuli( - list_distribution=[[0.2, 0.2, 0.2, 0.2, 0.2]], - constants=None), - msg="Should return the first n values") + sorted_stim_strings = [''.join(sorted(stim)) for stim in stims] + self.assertEqual(1, + len(set(sorted_stim_strings)), + msg="All queries should have the same symbols") + self.assertEqual("AIU", list(set(sorted_stim_strings))[0]) def test_constants(self): """Test with constant items included in results.""" agent = NBestStimuliAgent(alphabet=["A", "E", "I", "O", "U"], len_query=3) - self.assertEqual(["E", "I", "U"], - agent.return_stimuli( - list_distribution=[[0.1, 0.3, 0.3, 0.2, 0.1]], - constants=["U"])) + stims = agent.return_stimuli( + list_distribution=[[0.1, 0.3, 0.3, 0.2, 0.1]], constants=["U"]) + self.assertTrue("E" in stims) + self.assertTrue("I" in stims) + self.assertTrue("U" in stims) class TestRandomStimuliAgent(unittest.TestCase): From 14acccd3cbaeaf5f4f8a64a0c9f42d32dae9f102 Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 11 Jan 2024 15:40:46 -0800 Subject: [PATCH 203/330] Set default lm_backspace_prob to 0 --- bcipy/parameters/parameters.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index fa3c431c6..11a5c30e3 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -678,11 +678,11 @@ "type": "str" }, "lm_backspace_prob": { - "value": "0.05", + "value": "0.0", "section": "bci_config", "readableName": "Backspace Probability", - "helpTip": "Specifies the initial probability assigned to the backspace character in the language model. Possible value range: 0.0-1.0. Default: 0.05", - "recommended_values": "", + "helpTip": "Specifies the minimum probability assigned to the backspace character in the language model. Possible value range: 0.0-1.0. Default: 0.0", + "recommended_values": "0.05", "type": "float" }, "show_preview_inquiry": { From 00b4500ceedaf342e676be872617f58d9b11db24 Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 11 Jan 2024 16:08:33 -0800 Subject: [PATCH 204/330] Bug fix in multimodal active settings --- bcipy/acquisition/multimodal.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bcipy/acquisition/multimodal.py b/bcipy/acquisition/multimodal.py index 8249f0885..7a29405bb 100644 --- a/bcipy/acquisition/multimodal.py +++ b/bcipy/acquisition/multimodal.py @@ -89,8 +89,8 @@ def active_device_content_types(self) -> List[ContentType]: """Returns a list of ContentTypes provided by the active configured devices.""" return [ - content_type for content_type, spec in self._clients.items() - if spec.is_active + content_type for content_type, client in self._clients.items() + if client.device_spec.is_active ] @property From ef0182def19dc5de9de3078b8e1a77db2373f3d8 Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 11 Jan 2024 16:13:19 -0800 Subject: [PATCH 205/330] Cleanup --- bcipy/task/control/query.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/bcipy/task/control/query.py b/bcipy/task/control/query.py index 3ea8668fc..617d029b6 100644 --- a/bcipy/task/control/query.py +++ b/bcipy/task/control/query.py @@ -87,7 +87,7 @@ def return_stimuli(self, """Returns a list of the n most likely symbols based on the provided probabilities, where n is self.len_query. Symbols of the same probability will be ordered randomly. - + Parameters ---------- list_distribution - list of lists of probabilities. Only the last list will @@ -102,7 +102,5 @@ def return_stimuli(self, len_query=self.len_query, always_included=constants) - - def do_series(self): pass From a03ae36beee00dded7d95d2c13bdef83d15ffefb Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Mon, 22 Jan 2024 10:42:32 -0500 Subject: [PATCH 206/330] model handler pickle load in constructor --- bcipy/simulator/helpers/model_handler.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/bcipy/simulator/helpers/model_handler.py b/bcipy/simulator/helpers/model_handler.py index d8b66b79f..b15de4c44 100644 --- a/bcipy/simulator/helpers/model_handler.py +++ b/bcipy/simulator/helpers/model_handler.py @@ -23,11 +23,10 @@ class SignalModelHandler1(ModelHandler): def __init__(self, model_file): self.model_file = model_file self.signal_model: Optional[SignalModel] = None - - def generate_evidence(self, state: SimState, features): with open(self.model_file, "rb") as signal_file: self.signal_model = pickle.load(signal_file) + def generate_evidence(self, state: SimState, features): stimuli = state.display_alphabet alp = alphabet() eeg_evidence = self.signal_model.predict(features, stimuli, alp) From 9b946aea908a915c45f5f01d172f0445e0f9330e Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Mon, 22 Jan 2024 16:24:46 -0500 Subject: [PATCH 207/330] language model support + evidence fusing bug fix --- bcipy/simulator/helpers/evidence_fuser.py | 18 +++++--- bcipy/simulator/helpers/log_utils.py | 6 +++ bcipy/simulator/helpers/model_handler.py | 55 ++++++++++++++++++++++- bcipy/simulator/helpers/rsvp_utils.py | 13 ++++++ bcipy/simulator/helpers/state_manager.py | 42 +++++++++-------- bcipy/simulator/helpers/types.py | 20 ++++----- bcipy/simulator/sim.py | 50 +++++++++++++++------ bcipy/simulator/sim_factory.py | 7 ++- bcipy/simulator/sim_parameters.json | 23 +++++++++- 9 files changed, 180 insertions(+), 54 deletions(-) diff --git a/bcipy/simulator/helpers/evidence_fuser.py b/bcipy/simulator/helpers/evidence_fuser.py index c43115347..8aa1e559d 100644 --- a/bcipy/simulator/helpers/evidence_fuser.py +++ b/bcipy/simulator/helpers/evidence_fuser.py @@ -3,11 +3,14 @@ import numpy as np +from bcipy.simulator.helpers.types import SimEvidence + class EvidenceFuser(ABC): @abstractmethod - def fuse(self, prior_likelihood: Optional[np.ndarray], evidence: Dict) -> np.ndarray: + def fuse(self, prior_likelihood: Optional[np.ndarray], + evidence: Dict[str, SimEvidence]) -> np.ndarray: ... @staticmethod @@ -22,13 +25,16 @@ def __init__(self): def fuse(self, prior_likelihood, evidence) -> np.ndarray: - len_dist = len(list(evidence.values())[0]) - prior_likelihood = prior_likelihood if prior_likelihood is not None else EvidenceFuser.make_prior( - len_dist) + distribution_shape = len(list(evidence.values())[0].evidence) + prior_likelihood = prior_likelihood if prior_likelihood is not None \ + else EvidenceFuser.make_prior(distribution_shape) + ret_likelihood = prior_likelihood.copy() - for value in evidence.values(): - ret_likelihood *= value[:] + for sim_evidence in evidence.values(): + likelihoods = sim_evidence.evidence + assert ret_likelihood.shape == likelihoods.shape + ret_likelihood *= likelihoods[:] ret_likelihood = self.__normalize_likelihood(ret_likelihood) return ret_likelihood diff --git a/bcipy/simulator/helpers/log_utils.py b/bcipy/simulator/helpers/log_utils.py index 460202c0f..881b38d45 100644 --- a/bcipy/simulator/helpers/log_utils.py +++ b/bcipy/simulator/helpers/log_utils.py @@ -9,6 +9,12 @@ def fmt_stim_likelihoods(likelihoods, alp): return formatted +def fmt_fused_likelihoods_for_hist(likelihoods, alp): + rounded = [round(lik, 3) for lik in likelihoods] + formatted = [(a, l) for a, l in zip(alp, rounded)] + return formatted + + def format_sample_rows(sample_rows: List[pd.DataFrame]): formatted_rows = [] for row in sample_rows: diff --git a/bcipy/simulator/helpers/model_handler.py b/bcipy/simulator/helpers/model_handler.py index b15de4c44..baeb6ac9e 100644 --- a/bcipy/simulator/helpers/model_handler.py +++ b/bcipy/simulator/helpers/model_handler.py @@ -1,10 +1,19 @@ +import logging import pickle from abc import ABC, abstractmethod from typing import Optional +import numpy as np + +from bcipy.helpers.language_model import init_language_model, histogram from bcipy.helpers.symbols import alphabet +from bcipy.language import LanguageModel from bcipy.signal.model import SignalModel from bcipy.simulator.helpers.state_manager import SimState +from bcipy.simulator.helpers.types import SimEvidence +from bcipy.task.data import EvidenceType + +log = logging.getLogger(__name__) class ModelHandler(ABC): @@ -12,6 +21,7 @@ class ModelHandler(ABC): @abstractmethod def generate_evidence(self, state: SimState, features): """ Run model on features to generate evidence """ + breakpoint() @abstractmethod def get_model(self, key=None): @@ -31,7 +41,50 @@ def generate_evidence(self, state: SimState, features): alp = alphabet() eeg_evidence = self.signal_model.predict(features, stimuli, alp) - return eeg_evidence + return dict(sm=SimEvidence(EvidenceType.ERP, eeg_evidence, stimuli)) def get_model(self, key=None): return self.signal_model + + +class SigLmModelHandler1(ModelHandler): + + def __init__(self, sm_model_file, parameters): + """ + + Args: + sm_model_file: path to signal model pickle + parameters: only needs to contain which type of language model + """ + self.sm_model_file = sm_model_file + self.signal_model: Optional[SignalModel] = None + self.lm_model: LanguageModel = init_language_model(parameters) + self.alp = alphabet() + + with open(self.sm_model_file, "rb") as signal_file: + self.signal_model = pickle.load(signal_file) + + def generate_evidence(self, state: SimState, eeg_responses): + stimuli = state.display_alphabet + eeg_evidence = self.signal_model.predict(eeg_responses, stimuli, self.alp) + lm_evidence = self.lm_model.predict( + list(state.current_sentence)) if state.inquiry_n == 0 else None + # TODO check lm_parameters for default backspace prob + + ret_evidence = {} + if lm_evidence is not None: + ret_evidence['lm'] = SimEvidence(EvidenceType.LM, np.array(lm_evidence), self.alp) + log.debug(f"LM evidence for '{state.current_sentence}' -> \n {histogram(lm_evidence)}") + + if eeg_evidence is not None: + ret_evidence['sm'] = SimEvidence(EvidenceType.ERP, eeg_evidence, stimuli) + + return ret_evidence + + def get_model(self, key=None): + if key == 'sm': + return self.signal_model + elif key == 'lm': + return self.lm_model + else: + raise RuntimeError(f"Can't find model {key}") diff --git a/bcipy/simulator/helpers/rsvp_utils.py b/bcipy/simulator/helpers/rsvp_utils.py index fad352b72..78d3aebe3 100644 --- a/bcipy/simulator/helpers/rsvp_utils.py +++ b/bcipy/simulator/helpers/rsvp_utils.py @@ -1,3 +1,5 @@ +from typing import List, Tuple + from bcipy.helpers.symbols import BACKSPACE_CHAR @@ -9,3 +11,14 @@ def next_target_letter(current_sentence, target_sentence): return target_sentence[len(current_sentence)] if len( current_sentence) < len(target_sentence) else target_sentence[-1] return BACKSPACE_CHAR + + +def format_lm_output(lm_evidence_tuples: List[Tuple], symbol_set): + """ Formats language model output into list of likelihoods in alphabet order """ + pos_map = {letter: i for i, letter in enumerate(symbol_set)} + reshaped_lm_lik = list(symbol_set) + # sorting the likelhoods by order of symbol set + for letter, lik in lm_evidence_tuples: + reshaped_lm_lik[pos_map[letter]] = float(lik) + + return reshaped_lm_lik diff --git a/bcipy/simulator/helpers/state_manager.py b/bcipy/simulator/helpers/state_manager.py index 93d654d24..622784862 100644 --- a/bcipy/simulator/helpers/state_manager.py +++ b/bcipy/simulator/helpers/state_manager.py @@ -1,18 +1,23 @@ import copy +import logging import random from abc import ABC from dataclasses import dataclass -from typing import List, Optional +from typing import List, Optional, Dict import numpy as np from bcipy.helpers.exceptions import FieldException +from bcipy.helpers.language_model import histogram from bcipy.helpers.parameters import Parameters from bcipy.helpers.symbols import alphabet, BACKSPACE_CHAR from bcipy.simulator.helpers.decision import SimDecisionCriteria, MaxIterationsSim, ProbThresholdSim from bcipy.simulator.helpers.evidence_fuser import MultiplyFuser, EvidenceFuser +from bcipy.simulator.helpers.log_utils import fmt_fused_likelihoods_for_hist from bcipy.simulator.helpers.rsvp_utils import next_target_letter -from bcipy.simulator.helpers.types import InquiryResult +from bcipy.simulator.helpers.types import InquiryResult, SimEvidence + +log = logging.getLogger(__name__) @dataclass @@ -44,8 +49,8 @@ def get_current_likelihood(self) -> Optional[np.ndarray]: class StateManager(ABC): - def update(self, - evidence: np.ndarray): # TODO change evidence type to dictionary or some dataclass + # TODO change evidence type to dictionary or some dataclass + def update(self, evidence: Dict[str, SimEvidence]): raise NotImplementedError() def is_done(self) -> bool: @@ -84,14 +89,14 @@ def update(self, evidence) -> InquiryResult: current_series: List[InquiryResult] = self.state.series_results[self.state.series_n] prior_likelihood: Optional[np.ndarray] = current_series.pop( ).fused_likelihood if current_series else None # most recent likelihood - evidence_dict = {"SM": evidence} # TODO create wrapper object for Evidences - fused_likelihood = fuser.fuse(prior_likelihood, evidence_dict) + + fused_likelihood = fuser.fuse(prior_likelihood, evidence) # finding out whether max iterations is hit or prob threshold is hit temp_inquiry_result = InquiryResult(target=self.state.target_symbol, time_spent=0, stimuli=self.state.display_alphabet, # TODO change to use evidence_dict - evidence_likelihoods=list(evidence), + evidences=evidence, fused_likelihood=fused_likelihood, decision=None) @@ -105,13 +110,18 @@ def update(self, evidence) -> InquiryResult: new_state = self.get_state().__dict__ new_inquiry_result = InquiryResult(target=self.state.target_symbol, time_spent=0, stimuli=self.state.display_alphabet, - evidence_likelihoods=list(evidence), decision=decision, + evidences=evidence, decision=decision, fused_likelihood=fused_likelihood) + log.debug( + f"Fused Likelihoods | current typed - {self.state.current_sentence} | stimuli {self.state.display_alphabet} \n " + f"{histogram(fmt_fused_likelihoods_for_hist(new_inquiry_result.fused_likelihood, alphabet()))}") + new_state['series_results'][self.state.series_n].append(new_inquiry_result) if is_decidable: decision = alphabet()[ - np.argmax(evidence)] # deciding the maximum probability symbol TODO abstract + np.argmax( + fused_likelihood)] # deciding the maximum probability symbol TODO abstract # resetting series new_state['series_n'] += 1 @@ -119,10 +129,8 @@ def update(self, evidence) -> InquiryResult: new_state['inquiry_n'] = 0 # updating current sentence and finding next target - new_state['current_sentence'] = new_state['current_sentence'] + \ - decision if decision != BACKSPACE_CHAR else new_state[ - 'current_sentence'][ - :-1] + new_state['current_sentence'] = new_state['current_sentence'] + decision \ + if decision != BACKSPACE_CHAR else new_state['current_sentence'][:-1] new_state['target_symbol'] = next_target_letter(new_state['current_sentence'], self.state.target_sentence) @@ -131,7 +139,7 @@ def update(self, evidence) -> InquiryResult: new_inquiry_result = InquiryResult(target=self.state.target_symbol, time_spent=0, stimuli=self.state.display_alphabet, - evidence_likelihoods=list(evidence), decision=decision, + evidences=evidence, decision=decision, fused_likelihood=fused_likelihood) new_state['series_results'][self.state.series_n].append(new_inquiry_result) @@ -149,7 +157,7 @@ def mutate_state(self, state_field, state_value) -> SimState: state_dict[state_field] = state_value self.state = SimState(**state_dict) return self.get_state() - + raise FieldException(f"Cannot find state field {state_field}") @staticmethod @@ -159,10 +167,6 @@ def initial_state(parameters: Parameters = None) -> SimState: default_criterion: List[SimDecisionCriteria] = [MaxIterationsSim(50), ProbThresholdSim(0.8)] init_stimuli = random.sample(alphabet(), 10) - # TODO make new parameter and create default series_likelihoods object based off that - evidence_types = parameters.get( - 'evidence_types') if parameters else None - return SimState(target_symbol=target_symbol, current_sentence="", target_sentence=sentence, display_alphabet=init_stimuli, inquiry_n=0, series_n=0, series_results=[[]], decision_criterion=default_criterion) diff --git a/bcipy/simulator/helpers/types.py b/bcipy/simulator/helpers/types.py index ff30a3dd4..f2f3b35b5 100644 --- a/bcipy/simulator/helpers/types.py +++ b/bcipy/simulator/helpers/types.py @@ -1,25 +1,23 @@ from dataclasses import dataclass -from typing import Optional, List +from typing import Optional, List, Dict import numpy as np from bcipy.task.data import EvidenceType +@dataclass +class SimEvidence: + evidence_type: EvidenceType + evidence: np.ndarray + symbol_set: List[str] + + @dataclass class InquiryResult: target: Optional[str] time_spent: int stimuli: List - # TODO make this into a dictionary to support multimodal. e.g - # {SignalModel: evidence_list, LanguageModel:evidence_list} - evidence_likelihoods: List + evidences: Dict[str, SimEvidence] fused_likelihood: np.ndarray decision: Optional[str] - - -@dataclass -class SimEvidence: - evidence_type: EvidenceType - evidence: np.ndarray - symbol_set: List[str] diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index ae7d06030..ab78f3da4 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -1,7 +1,7 @@ import logging import random from time import sleep -from typing import Optional +from typing import Optional, Dict import numpy as np @@ -9,12 +9,14 @@ from bcipy.helpers.symbols import alphabet from bcipy.simulator.helpers.data_engine import DataEngine from bcipy.simulator.helpers.metrics import MetricReferee +from bcipy.simulator.helpers.rsvp_utils import format_lm_output from bcipy.simulator.helpers.sampler import Sampler from bcipy.simulator.helpers.state_manager import StateManager, SimState -from bcipy.simulator.helpers.types import InquiryResult +from bcipy.simulator.helpers.types import InquiryResult, SimEvidence from bcipy.simulator.helpers.log_utils import fmt_stim_likelihoods from bcipy.simulator.helpers.model_handler import ModelHandler from bcipy.simulator.simulator_base import Simulator +from bcipy.task.data import EvidenceType log = logging.getLogger(__name__) @@ -62,26 +64,28 @@ def run(self): log.info(f"SIM START with target word {self.state_manager.get_state().target_sentence}") while not self.state_manager.is_done(): + self.state_manager.mutate_state('display_alphabet', + self.__make_stimuli(self.state_manager.get_state())) curr_state = self.state_manager.get_state() + log.info( f"Series {curr_state.series_n} | Inquiry {curr_state.inquiry_n} | " + - f"Target {curr_state.target_symbol}") + f"Target '{curr_state.target_symbol}' | " + + f"Stimuli {curr_state.display_alphabet}") - self.state_manager.mutate_state('display_alphabet', self.__make_stimuli(curr_state)) - sampled_data = self.sampler.sample(curr_state) - # TODO make this evidence be a dict (mapping of evidence type to evidence) - evidence = self.model_handler.generate_evidence(curr_state, - sampled_data) + sampled_data = self.sampler.sample(self.state_manager.get_state()) + evidence: Dict[str, SimEvidence] = self.model_handler.generate_evidence(curr_state, + sampled_data) log.debug( - f"Evidence for stimuli {curr_state.display_alphabet} " + - f"\n {fmt_stim_likelihoods(evidence, self.symbol_set)}") + f"EEG Evidence for stimuli {curr_state.display_alphabet} " + + f"\n {fmt_stim_likelihoods(evidence['sm'].evidence, self.symbol_set)}") + + reshaped_evidence = self.__reshape_evidences(evidence) + log.debug(f"reshaped evidence {reshaped_evidence}") - inq_record: InquiryResult = self.state_manager.update(evidence) + inq_record: InquiryResult = self.state_manager.update(reshaped_evidence) updated_state = self.state_manager.get_state() - log.debug( - f"Fused Likelihoods + " - f"{fmt_stim_likelihoods(inq_record.fused_likelihood, self.symbol_set)}") if inq_record.decision: log.info(f"Decided {inq_record.decision} for target {inq_record.target}") @@ -105,9 +109,27 @@ def __make_stimuli(self, state: SimState): if val_func is not None: return stimuli.best_selection(self.symbol_set, list( val_func), subset_length, always_included=always_in_stimuli) + elif self.parameters.get('sim_lm_active', 0) == 1: # use lang model for priors to make stim + lm_model = self.model_handler.get_model('lm') + lm_model_evidence = lm_model.predict(list(state.current_sentence)) + val_func = format_lm_output(lm_model_evidence, self.symbol_set) + return stimuli.best_selection(self.symbol_set, list( + val_func), subset_length, always_included=always_in_stimuli) return random.sample(self.symbol_set, subset_length) + def __reshape_evidences(self, evidences: Dict[str, SimEvidence]) -> Dict[str, SimEvidence]: + + # reshaping lm_evidence to look like signal model evidence + reshaped_evidence = evidences.copy() + if "lm" in evidences: + unshaped_lm_evidence = evidences["lm"].evidence # [('B', 0.5), ('C', 0.2), ('_', 0.02)] + reshaped_lm_lik = format_lm_output(list(unshaped_lm_evidence), self.symbol_set) + reshaped_evidence['lm'] = SimEvidence(EvidenceType.LM, np.array(reshaped_lm_lik), + evidences["lm"].symbol_set) + + return reshaped_evidence + def load_parameters(self, path): # TODO validate parameters if not path: diff --git a/bcipy/simulator/sim_factory.py b/bcipy/simulator/sim_factory.py index b039898d5..4ffe57e5a 100644 --- a/bcipy/simulator/sim_factory.py +++ b/bcipy/simulator/sim_factory.py @@ -5,7 +5,8 @@ from bcipy.helpers.load import load_json_parameters from bcipy.simulator.helpers.data_engine import RawDataEngine from bcipy.simulator.helpers.metrics import MetricReferee, RefereeImpl, SimMetrics1Handler -from bcipy.simulator.helpers.model_handler import SignalModelHandler1, ModelHandler +from bcipy.simulator.helpers.model_handler import SignalModelHandler1, ModelHandler, \ + SigLmModelHandler1 from bcipy.simulator.helpers.sampler import Sampler, EEGByLetterSampler from bcipy.simulator.helpers.state_manager import StateManager, StateManagerImpl from bcipy.simulator.sim import SimulatorCopyPhrase @@ -21,11 +22,13 @@ def create(data_folders: List[str], smodel_files: List[str], model_file = Path(smodel_files.pop()) sim_parameters = load_json_parameters(sim_param_path, value_cast=True) + base_parameters = load_json_parameters(kwargs.get('parameters'), value_cast=True) data_engine = RawDataEngine(data_folders) state_manager: StateManager = StateManagerImpl(sim_parameters) sampler: Sampler = EEGByLetterSampler(data_engine) - model_handler: ModelHandler = SignalModelHandler1(model_file) + model_handler: ModelHandler = SigLmModelHandler1(model_file, base_parameters) \ + if sim_parameters.get("sim_lm_active", 0) == 1 else SignalModelHandler1(model_file) referee: MetricReferee = RefereeImpl(metric_handlers={'basic': SimMetrics1Handler()}) sim = SimulatorCopyPhrase(data_engine, model_handler, sampler, state_manager, referee) diff --git a/bcipy/simulator/sim_parameters.json b/bcipy/simulator/sim_parameters.json index 2417a5b90..dd16d0066 100644 --- a/bcipy/simulator/sim_parameters.json +++ b/bcipy/simulator/sim_parameters.json @@ -22,7 +22,7 @@ "type": "str" }, "sim_sleep_time": { - "value": "0.25", + "value": "0", "section": "sim_config", "readableName": "Simulation Time Step ", "helpTip": "How long to sleep in between simulation time steps", @@ -32,5 +32,26 @@ "1" ], "type": "float" + }, + "sim_lm_active": { + "value": "0", + "section": "sim_config", + "readableName": "is lm active or off", + "helpTip": "", + "recommended_values": [ + "0", + "1" + ], + "type": "int" + }, + "sim_lm_parameters": { + "value": "", + "section": "sim_config", + "readableName": "Path to language model parameter file ", + "helpTip": "", + "recommended_values": [ + "/lm_parameters.json" + ], + "type": "str" } } \ No newline at end of file From ccd17548c791bb3d4ec94a3652e7187f923f34a2 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 24 Jan 2024 17:14:57 -0800 Subject: [PATCH 208/330] #186890663 ; bug fix for active/passive devices --- bcipy/acquisition/multimodal.py | 4 ++-- bcipy/acquisition/tests/test_client_manager.py | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/bcipy/acquisition/multimodal.py b/bcipy/acquisition/multimodal.py index 8249f0885..7a29405bb 100644 --- a/bcipy/acquisition/multimodal.py +++ b/bcipy/acquisition/multimodal.py @@ -89,8 +89,8 @@ def active_device_content_types(self) -> List[ContentType]: """Returns a list of ContentTypes provided by the active configured devices.""" return [ - content_type for content_type, spec in self._clients.items() - if spec.is_active + content_type for content_type, client in self._clients.items() + if client.device_spec.is_active ] @property diff --git a/bcipy/acquisition/tests/test_client_manager.py b/bcipy/acquisition/tests/test_client_manager.py index dc5ed8194..29ec64a2d 100644 --- a/bcipy/acquisition/tests/test_client_manager.py +++ b/bcipy/acquisition/tests/test_client_manager.py @@ -14,6 +14,7 @@ def setUp(self): self.eeg_device_mock.name = 'DSI-24' self.eeg_device_mock.content_type = 'EEG' self.eeg_device_mock.sample_rate = 300 + self.eeg_device_mock.is_active = True self.eeg_client_mock = Mock() self.eeg_client_mock.device_spec = self.eeg_device_mock @@ -24,6 +25,7 @@ def setUp(self): self.gaze_device_mock = Mock() self.gaze_device_mock.content_type = 'Eyetracker' self.gaze_device_mock.sample_rate = 60 + self.gaze_device_mock.is_active = False self.gaze_client_mock = Mock() self.gaze_client_mock.device_spec = self.gaze_device_mock @@ -80,6 +82,17 @@ def test_device_specs(self): self.assertEqual(2, len(manager.device_specs)) self.assertTrue(self.gaze_device_mock in manager.device_specs) + def test_device_content_types(self): + """Test properties related to content types""" + manager = ClientManager() + manager.add_client(self.eeg_client_mock) + manager.add_client(self.gaze_client_mock) + self.assertTrue(ContentType.EEG in manager.device_content_types) + self.assertTrue(ContentType.EYETRACKER in manager.device_content_types) + + self.assertEqual([ContentType.EEG], manager.active_device_content_types) + + def test_dispatching_properties(self): """Test that property calls may be dispatched to the default client""" manager = ClientManager() From 189029cbd142607712c3bd56855b6d637965a4fe Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 25 Jan 2024 09:28:25 -0800 Subject: [PATCH 209/330] Fixed linting --- bcipy/acquisition/tests/test_client_manager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bcipy/acquisition/tests/test_client_manager.py b/bcipy/acquisition/tests/test_client_manager.py index 29ec64a2d..425008698 100644 --- a/bcipy/acquisition/tests/test_client_manager.py +++ b/bcipy/acquisition/tests/test_client_manager.py @@ -90,8 +90,8 @@ def test_device_content_types(self): self.assertTrue(ContentType.EEG in manager.device_content_types) self.assertTrue(ContentType.EYETRACKER in manager.device_content_types) - self.assertEqual([ContentType.EEG], manager.active_device_content_types) - + self.assertEqual([ContentType.EEG], + manager.active_device_content_types) def test_dispatching_properties(self): """Test that property calls may be dispatched to the default client""" From 973386ea626b0c1b3f7ddfee480a9d5c0026efe8 Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 25 Jan 2024 14:02:03 -0800 Subject: [PATCH 210/330] Updated macos workflow --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ca1c4b974..f0a2b5997 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -112,13 +112,14 @@ jobs: python-version: [3.8, 3.9] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: update pip & install custom dependencies run: | + brew install labstreaminglayer/tap/lsl python -m pip install --upgrade pip pip install kenlm==0.1 --global-option="--max_order=12" pip install psychopy==2023.2.1 --no-deps From 867c7d91acfacc30572f4118a26b62eef1c31700 Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Sat, 27 Jan 2024 19:14:05 -0500 Subject: [PATCH 211/330] singular data folder wrapper --- bcipy/simulator/__main__.py | 7 +-- bcipy/simulator/helpers/data_engine.py | 53 +++++++++++----- bcipy/simulator/helpers/model_handler.py | 1 - bcipy/simulator/helpers/sampler.py | 12 ++-- bcipy/simulator/sim.py | 19 +++--- bcipy/simulator/sim_factory.py | 10 +-- bcipy/simulator/tests/test_data_engine.py | 75 +++++++++++++++++++++++ 7 files changed, 133 insertions(+), 44 deletions(-) create mode 100644 bcipy/simulator/tests/test_data_engine.py diff --git a/bcipy/simulator/__main__.py b/bcipy/simulator/__main__.py index 38c1bb9f2..826275c2b 100644 --- a/bcipy/simulator/__main__.py +++ b/bcipy/simulator/__main__.py @@ -10,11 +10,10 @@ parser = argparse.ArgumentParser() parser.add_argument( "-d", - "--data_folders", - action="append", + "--data_folder", type=Path, required=True, - help="Raw data folders to be processed. Repeatable arg to accumulate sessions data.") + help="Raw data folders to be processed. Singular wrapper dir with data folders") parser.add_argument( "-sm", "--smodel_files", @@ -27,7 +26,7 @@ "-p", "--parameters", type=Path, - required=False, # For now + required=True, help="Parameter File to be used") parser.add_argument("-o", "--out_dir", type=Path, default=Path(__file__).resolve().parent) diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py index 1fe3869c7..6eebf9a15 100644 --- a/bcipy/simulator/helpers/data_engine.py +++ b/bcipy/simulator/helpers/data_engine.py @@ -1,4 +1,5 @@ import logging +import os from abc import ABC from pathlib import Path from typing import Optional, List @@ -36,11 +37,11 @@ class RawDataEngine(DataEngine): Object that loads in list of session data folders and transforms data into sample-able pd.df """ - def __init__(self, source_dirs: List[str]): + def __init__(self, source_dirs: List[str], parameters: Parameters): # TODO read parameters from source dirx # TODO use os.walk() and take in single source_dir that has all data folders self.source_dirs: List[str] = source_dirs - self.parameter_files: List[Parameters] = [] + self.parameters: Parameters = parameters self.data: Optional[List[ExtractedExperimentData]] = None self.trials_by_inquiry: List[ np.ndarray] = [] # shape (i_inquiry, n_channel, m_trial, x_sample). @@ -48,6 +49,8 @@ def __init__(self, source_dirs: List[str]): self.labels_by_inquiry: List[List] = [] # shape (i_inquiry, s_alphabet_subset) self.schema: Optional[pd.DataFrame] = None + # TODO validate parameters + self.load() def load(self) -> DataEngine: @@ -60,24 +63,17 @@ def load(self) -> DataEngine: """ log.debug(f"Loading data from {len(self.source_dirs)} source directories") - self.parameter_files = [ - load.load_json_parameters(str(Path(data_folder, DEFAULT_PARAMETER_FILENAME)), - value_cast=True) for - data_folder in + self.data: List[ExtractedExperimentData] = [ + process_raw_data_for_model(source_dir, self.parameters) for source_dir in self.source_dirs] - assert len(self.source_dirs) == len( - self.parameter_files) # TODO more general parameter validation function - - self.data = [process_raw_data_for_model(source_dir, parameter) for source_dir, parameter in - zip(self.source_dirs, self.parameter_files)] - - for data_source, parameter in zip(self.data, self.parameter_files): + for data_source in self.data: trigger_targetness, trigger_timing, trigger_symbols = data_source.decoded_triggers self.trials_by_inquiry.append( np.split(data_source.trials, data_source.inquiries.shape[1], 1)) self.symbols_by_inquiry.append([list(group) for group in - grouper(trigger_symbols, parameter.get('stim_length'), + grouper(trigger_symbols, + self.parameters.get('stim_length'), incomplete="ignore")]) self.labels_by_inquiry.append(data_source.labels) @@ -124,7 +120,32 @@ def transform(self) -> DataEngine: return self def get_data(self): - return self.schema.copy() if self.schema is not None else self.data + return self.schema.copy() if self.schema is not None else None def get_parameters(self): - return self.parameter_files + return self.parameters + + +class RawDataEngineWrapper(RawDataEngine): + """ + Data engine that assumes all data is stored within single data folder + - single data folder contains dataDir1, dataDir2, ... + - each data dir contains its raw_data and triggers + """ + + def __init__(self, source_dir: str, parameters: Parameters): + data_paths = self.get_data_dirs(source_dir) + super().__init__(data_paths, parameters) + + @staticmethod + def get_data_dirs(source_dir: str) -> [str]: + """ + Returns all the data dirs within the source dir + - e.g [dataDir1Path, dataDir2Path ... ] + """ + + assert source_dir + + directories: List[str] = [str(d) for d in Path(source_dir).iterdir() if d.is_dir()] + + return directories diff --git a/bcipy/simulator/helpers/model_handler.py b/bcipy/simulator/helpers/model_handler.py index baeb6ac9e..70aaf1ecf 100644 --- a/bcipy/simulator/helpers/model_handler.py +++ b/bcipy/simulator/helpers/model_handler.py @@ -21,7 +21,6 @@ class ModelHandler(ABC): @abstractmethod def generate_evidence(self, state: SimState, features): """ Run model on features to generate evidence """ - breakpoint() @abstractmethod def get_model(self, key=None): diff --git a/bcipy/simulator/helpers/sampler.py b/bcipy/simulator/helpers/sampler.py index c748536bd..c9eb8a61e 100644 --- a/bcipy/simulator/helpers/sampler.py +++ b/bcipy/simulator/helpers/sampler.py @@ -27,12 +27,12 @@ def set_reshaper(self, reshaper: Callable): class EEGByLetterSampler(Sampler): - def __init__(self, data_engine: RawDataEngine, params: List[Parameters] = None): + def __init__(self, data_engine: RawDataEngine, parameters: Parameters = None): self.data_engine: RawDataEngine = data_engine - self.parameter_files: List[ - Parameters] = params if params else self.data_engine.parameter_files + self.parameters: Parameters = self.data_engine.parameters if not parameters else parameters self.model_input_reshaper: Callable = self.__default_reshaper - self.alphabet: List[str] = params[0].get('symbol_set') if params else alphabet() + self.alphabet: List[str] = self.parameters.get( + 'symbol_set') if self.parameters else alphabet() self.data: pd.DataFrame = self.data_engine.transform().get_data() def sample(self, state: SimState) -> np.ndarray: @@ -76,7 +76,5 @@ def __default_reshaper(self, eeg_responses: List[np.ndarray]) -> np.ndarray: for c_i, channel_eeg in enumerate(trial_channels_eeg): channels_eeg[c_i].append(channel_eeg) - # TODO make sure this returns (7, 10, 90) + # make sure this returns (7, 10, 90) for tab_test_dynamic return np.array(channels_eeg) - -# TODO ReplaySampler diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index ab78f3da4..3ad8f1cc9 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -6,6 +6,7 @@ import numpy as np from bcipy.helpers import load, stimuli, symbols +from bcipy.helpers.parameters import Parameters from bcipy.helpers.symbols import alphabet from bcipy.simulator.helpers.data_engine import DataEngine from bcipy.simulator.helpers.metrics import MetricReferee @@ -44,7 +45,7 @@ class SimulatorCopyPhrase(Simulator): """ def __init__(self, data_engine: DataEngine, model_handler: ModelHandler, sampler: Sampler, - state_manager: StateManager, referee: MetricReferee, parameter_path: str = None, + state_manager: StateManager, referee: MetricReferee, parameters: Parameters = None, save_dir: str = None): super().__init__() @@ -55,7 +56,7 @@ def __init__(self, data_engine: DataEngine, model_handler: ModelHandler, sampler self.state_manager: StateManager = state_manager self.data_engine: DataEngine = data_engine - self.parameters = self.load_parameters(parameter_path) + self.parameters: Parameters = self.load_parameters(parameters) self.symbol_set = alphabet() self.write_output = False @@ -130,18 +131,12 @@ def __reshape_evidences(self, evidences: Dict[str, SimEvidence]) -> Dict[str, Si return reshaped_evidence - def load_parameters(self, path): + def load_parameters(self, params: Optional[Parameters]): # TODO validate parameters - if not path: - # TODO fix this parameter logic. for now assuming one parameter file speaks for all - parameters = self.data_engine.get_parameters()[0] + if params: + return params else: - parameters = load.load_json_parameters(path, value_cast=True) - - sim_parameters = load.load_json_parameters( - "bcipy/simulator/sim_parameters.json", value_cast=True) - parameters.add_missing_items(sim_parameters) - return parameters + return self.data_engine.get_parameters() def get_param(self, name): pass diff --git a/bcipy/simulator/sim_factory.py b/bcipy/simulator/sim_factory.py index 4ffe57e5a..4c26cd0a6 100644 --- a/bcipy/simulator/sim_factory.py +++ b/bcipy/simulator/sim_factory.py @@ -3,7 +3,7 @@ from typing import List from bcipy.helpers.load import load_json_parameters -from bcipy.simulator.helpers.data_engine import RawDataEngine +from bcipy.simulator.helpers.data_engine import RawDataEngine, RawDataEngineWrapper from bcipy.simulator.helpers.metrics import MetricReferee, RefereeImpl, SimMetrics1Handler from bcipy.simulator.helpers.model_handler import SignalModelHandler1, ModelHandler, \ SigLmModelHandler1 @@ -16,21 +16,23 @@ class SimulationFactoryV2: """ Factory class to create Simulator instances """ @staticmethod - def create(data_folders: List[str], smodel_files: List[str], + def create(data_folder: str, smodel_files: List[str], sim_param_path="bcipy/simulator/sim_parameters.json", **kwargs): # out_dir = kwargs.get('out_dir', Path(__file__).resolve().parent) model_file = Path(smodel_files.pop()) sim_parameters = load_json_parameters(sim_param_path, value_cast=True) base_parameters = load_json_parameters(kwargs.get('parameters'), value_cast=True) + base_parameters.add_missing_items(sim_parameters) - data_engine = RawDataEngine(data_folders) + data_engine = RawDataEngineWrapper(data_folder, base_parameters) state_manager: StateManager = StateManagerImpl(sim_parameters) sampler: Sampler = EEGByLetterSampler(data_engine) model_handler: ModelHandler = SigLmModelHandler1(model_file, base_parameters) \ if sim_parameters.get("sim_lm_active", 0) == 1 else SignalModelHandler1(model_file) referee: MetricReferee = RefereeImpl(metric_handlers={'basic': SimMetrics1Handler()}) - sim = SimulatorCopyPhrase(data_engine, model_handler, sampler, state_manager, referee) + sim = SimulatorCopyPhrase(data_engine, model_handler, sampler, state_manager, referee, + parameters=base_parameters) return sim diff --git a/bcipy/simulator/tests/test_data_engine.py b/bcipy/simulator/tests/test_data_engine.py new file mode 100644 index 000000000..f175f4029 --- /dev/null +++ b/bcipy/simulator/tests/test_data_engine.py @@ -0,0 +1,75 @@ +import unittest +from pathlib import Path + +import numpy as np +import pandas as pd + +from bcipy.helpers import load +from bcipy.simulator.helpers.data_engine import DataEngine, RawDataEngine, RawDataEngineWrapper + + +# Import the module or class you want to test + + +class TestRawDataEngine(unittest.TestCase): + + @classmethod + def check_eeg_shape(cls, schema: pd.DataFrame): + # checking all eeg response data has same shape + + eeg_responses = schema['eeg'] + ret = True + ret = ret and (None in eeg_responses or np.NaN in eeg_responses) + shape_set = set(eeg_responses.apply(lambda x: x.shape)) + ret = ret and (len(shape_set) == 1) + + return ret + + def test_one_source(self): + # Test the function with a specific input and assert the expected output + + data_paths = ["/Users/srikarananthoju/cambi/tab_test_dynamic/16sec_-0700"] + param_path = "/Users/srikarananthoju/cambi/tab_test_dynamic/calibr_37sec_-0700/parameters.json" + params = load.load_json_parameters(str(Path(param_path)), value_cast=True) + + data_engine = RawDataEngine(data_paths, params) + self.assertFalse(data_engine.get_data()) + + data_engine.transform() + self.assertTrue(len(data_engine.schema)) + + self.assertTrue(self.check_eeg_shape(data_engine.get_data())) + + def test_two_sources(self): + # Test the function with a specific input and assert the expected output + + data_paths = ["/Users/srikarananthoju/cambi/tab_test_dynamic/16sec_-0700", + "/Users/srikarananthoju/cambi/tab_test_dynamic/50sec_-0700"] + param_path = "/Users/srikarananthoju/cambi/tab_test_dynamic/calibr_37sec_-0700/parameters.json" + params = load.load_json_parameters(str(Path(param_path)), value_cast=True) + + data_engine = RawDataEngine(data_paths, params) + self.assertFalse(data_engine.get_data()) + + data_engine.transform() + self.assertTrue(len(data_engine.get_data())) + + # asserting all eeg response data has same shape + self.assertTrue(self.check_eeg_shape(data_engine.get_data())) + + def test_RawDataEngineWrapper(self): + source_dir = "/Users/srikarananthoju/cambi/tab_test_dynamic/wrapper" + param_path = "/Users/srikarananthoju/cambi/tab_test_dynamic/calibr_37sec_-0700/parameters.json" + params = load.load_json_parameters(str(Path(param_path)), value_cast=True) + + data_engine = RawDataEngineWrapper(source_dir, params) + self.assertEqual(len(data_engine.source_dirs), 2) + + data_engine.transform() + self.assertTrue(len(data_engine.get_data())) + + self.assertTrue(self.check_eeg_shape(data_engine.get_data())) + + +if __name__ == '__main__': + unittest.main() From 9d7f3a6936880e5a4935f3695edf6d0f1a38be76 Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Sun, 28 Jan 2024 19:09:51 -0500 Subject: [PATCH 212/330] supporting trial_length param for data processing --- bcipy/simulator/helpers/signal_helpers.py | 11 ++++++++++- bcipy/simulator/tests/test_data_engine.py | 15 +++++++++++++-- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/bcipy/simulator/helpers/signal_helpers.py b/bcipy/simulator/helpers/signal_helpers.py index d7c1735ab..550b6f7e5 100644 --- a/bcipy/simulator/helpers/signal_helpers.py +++ b/bcipy/simulator/helpers/signal_helpers.py @@ -12,6 +12,7 @@ DEFAULT_DEVICE_SPEC_FILENAME, ) from bcipy.helpers.acquisition import analysis_channels +from bcipy.helpers.exceptions import TaskConfigurationException from bcipy.helpers.load import load_raw_data from bcipy.helpers.stimuli import update_inquiry_timing, InquiryReshaper from bcipy.helpers.triggers import TriggerType, trigger_decoder @@ -37,8 +38,16 @@ def process_raw_data_for_model(data_folder, parameters, log.debug(f"Processing raw data for {data_folder}") # extract relevant session information from parameters file trial_window = parameters.get("trial_window") - window_length = trial_window[1] - trial_window[0] + if trial_window is None: + # using trial_length instead and converting to trial window + trial_length = parameters.get('trial_length') + if not trial_length: + raise TaskConfigurationException( + "Could not find trial_window or trial_length in parameters") + + trial_window = tuple([0, trial_length]) # trial_length=0.5 -> trial_window=(0,0.5) + window_length = trial_window[1] - trial_window[0] prestim_length = parameters.get("prestim_length") trials_per_inquiry = parameters.get("stim_length") # The task buffer length defines the min time between two inquiries diff --git a/bcipy/simulator/tests/test_data_engine.py b/bcipy/simulator/tests/test_data_engine.py index f175f4029..a0cf4dfd8 100644 --- a/bcipy/simulator/tests/test_data_engine.py +++ b/bcipy/simulator/tests/test_data_engine.py @@ -12,14 +12,13 @@ class TestRawDataEngine(unittest.TestCase): - @classmethod def check_eeg_shape(cls, schema: pd.DataFrame): # checking all eeg response data has same shape eeg_responses = schema['eeg'] ret = True - ret = ret and (None in eeg_responses or np.NaN in eeg_responses) + ret = ret and not (None in eeg_responses or np.NaN in eeg_responses) shape_set = set(eeg_responses.apply(lambda x: x.shape)) ret = ret and (len(shape_set) == 1) @@ -70,6 +69,18 @@ def test_RawDataEngineWrapper(self): self.assertTrue(self.check_eeg_shape(data_engine.get_data())) + def test_matrix_single(self): + source_dir = "/Users/srikarananthoju/cambi/data/matrixTestWrapper" + param_path = "/Users/srikarananthoju/cambi/data/matrixTestWrapper/S007_Matrix_Calibration_Thu_20_Jul_2023_09hr48min56sec_-0400/parameters.json" + params = load.load_json_parameters(str(Path(param_path)), value_cast=True) + + data_engine = RawDataEngineWrapper(source_dir, params) + data_engine.transform() + + self.assertTrue(len(data_engine.get_data())) + + self.assertTrue(self.check_eeg_shape(data_engine.get_data())) + if __name__ == '__main__': unittest.main() From 6cc0c51fac10751acc9506fab2db623a0a2573a9 Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Sun, 28 Jan 2024 19:37:16 -0500 Subject: [PATCH 213/330] adding resource file to data_engine test --- .gitignore | 1 + bcipy/simulator/tests/test_data_engine.py | 20 ++++++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 48f9a773f..1397d7e61 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,4 @@ bcipy/language/lms/out_* bcipy/language/out/ +bcipy/simulator/tests/resource/ diff --git a/bcipy/simulator/tests/test_data_engine.py b/bcipy/simulator/tests/test_data_engine.py index a0cf4dfd8..e9e01af8d 100644 --- a/bcipy/simulator/tests/test_data_engine.py +++ b/bcipy/simulator/tests/test_data_engine.py @@ -1,4 +1,6 @@ +import shutil import unittest +import zipfile from pathlib import Path import numpy as np @@ -7,11 +9,22 @@ from bcipy.helpers import load from bcipy.simulator.helpers.data_engine import DataEngine, RawDataEngine, RawDataEngineWrapper - # Import the module or class you want to test +FILE_PATH_PREFIX = "bcipy/simulator/tests" + class TestRawDataEngine(unittest.TestCase): + + @classmethod + def setUp(cls) -> None: + with zipfile.ZipFile(f'{FILE_PATH_PREFIX}/resource/rsvpTest1.zip', 'r') as zip_ref: + zip_ref.extractall(f'{FILE_PATH_PREFIX}/resource/rsvpTest1') + + @classmethod + def tearDown(cls) -> None: + shutil.rmtree(f'{FILE_PATH_PREFIX}/resource/rsvpTest1') + @classmethod def check_eeg_shape(cls, schema: pd.DataFrame): # checking all eeg response data has same shape @@ -57,7 +70,10 @@ def test_two_sources(self): self.assertTrue(self.check_eeg_shape(data_engine.get_data())) def test_RawDataEngineWrapper(self): - source_dir = "/Users/srikarananthoju/cambi/tab_test_dynamic/wrapper" + # Testing loading and transformaing data from a singular wrapper folder + + # source_dir = "/Users/srikarananthoju/cambi/tab_test_dynamic/wrapper" + source_dir = FILE_PATH_PREFIX + "/resource/rsvpTest1/wrapper" param_path = "/Users/srikarananthoju/cambi/tab_test_dynamic/calibr_37sec_-0700/parameters.json" params = load.load_json_parameters(str(Path(param_path)), value_cast=True) From 1754215e0dfe44ca70f829b6f048626236f42097 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 31 Jan 2024 17:25:18 -0800 Subject: [PATCH 214/330] #186539584 ; modified matrix display tasks to always show the grid --- .../demo/matrix/demo_calibration_matrix.py | 43 ++++++------------- .../demo/matrix/demo_copyphrase_matrix.py | 6 +-- bcipy/display/paradigm/matrix/display.py | 9 +++- .../paradigm/matrix/test_matrix_display.py | 1 + 4 files changed, 25 insertions(+), 34 deletions(-) diff --git a/bcipy/display/demo/matrix/demo_calibration_matrix.py b/bcipy/display/demo/matrix/demo_calibration_matrix.py index 0ffa90234..2e1cbf3ce 100644 --- a/bcipy/display/demo/matrix/demo_calibration_matrix.py +++ b/bcipy/display/demo/matrix/demo_calibration_matrix.py @@ -40,37 +40,22 @@ task_bar=task_bar, info=info) -time_target = 2 -time_fixation = 2 +time_target = 1 +time_fixation = 0.5 time_flash = 0.25 timing = [time_target] + [time_fixation] + [time_flash] * 5 colors = ['green', 'lightgray'] + ['white'] * 5 task_buffer = 2 -matrix_display.schedule_to(stimuli=['A', '+', 'F', '<', 'A', 'B', 'C'], - timing=timing, - colors=colors) -matrix_display.update_task_bar() -matrix_display.do_inquiry() -core.wait(task_buffer) - -matrix_display.schedule_to(stimuli=['B', '+', 'F', '<', 'A', 'B', 'C'], - timing=timing, - colors=colors) -matrix_display.update_task_bar() -matrix_display.do_inquiry() -core.wait(task_buffer) - -matrix_display.schedule_to(stimuli=['C', '+', 'F', '<', 'A', 'B', 'C'], - timing=timing, - colors=colors) -matrix_display.update_task_bar() -matrix_display.do_inquiry() -core.wait(task_buffer) - -matrix_display.schedule_to(stimuli=['<', '+', 'F', '<', 'A', 'B', 'C'], - timing=timing, - colors=colors) -matrix_display.update_task_bar() -matrix_display.do_inquiry() -core.wait(task_buffer) +inquiries = [ + ['A', '+', 'F', '<', 'A', 'B', 'C'], + ['B', '+', 'F', '<', 'A', 'B', 'C'], + ['C', '+', 'F', '<', 'A', 'B', 'C'], + ['<', '+', 'F', '<', 'A', 'B', 'C'] +] + +for inquiry in inquiries: + matrix_display.schedule_to(stimuli=inquiry, timing=timing, colors=colors) + matrix_display.update_task_bar() + matrix_display.do_inquiry() + core.wait(task_buffer) diff --git a/bcipy/display/demo/matrix/demo_copyphrase_matrix.py b/bcipy/display/demo/matrix/demo_copyphrase_matrix.py index 866b73076..70fd4b92c 100644 --- a/bcipy/display/demo/matrix/demo_copyphrase_matrix.py +++ b/bcipy/display/demo/matrix/demo_copyphrase_matrix.py @@ -10,7 +10,7 @@ from bcipy.display.components.task_bar import CopyPhraseTaskBar from bcipy.display.paradigm.matrix.display import MatrixDisplay -font = "Overpass Mono Medium" +font = "Overpass Mono" info = InformationProperties( info_color=['White'], info_pos=[(-.5, -.75)], @@ -82,9 +82,9 @@ counter = 0 -for idx_o in range(len(spelled_text)): +for spelled in spelled_text: - display.update_task_bar(text=spelled_text[idx_o]) + display.update_task_bar(text=spelled) display.draw_static() win.flip() diff --git a/bcipy/display/paradigm/matrix/display.py b/bcipy/display/paradigm/matrix/display.py index 229de7e97..8fb0cd2a8 100644 --- a/bcipy/display/paradigm/matrix/display.py +++ b/bcipy/display/paradigm/matrix/display.py @@ -137,7 +137,7 @@ def capture_grid_screenshot(self, file_path: str) -> None: self.draw_grid(opacity=self.full_grid_opacity) tmp_task_bar = self.task_bar.current_index self.task_bar.current_index = 0 - self.draw_static() + self.draw_components() self.window.flip() # capture the screenshot and save it to the specified file path @@ -273,7 +273,7 @@ def draw(self, color=grid_color or self.grid_color, highlight=highlight, highlight_color=highlight_color) - self.draw_static() + self.draw_components() self.window.flip() if duration: core.wait(duration) @@ -342,6 +342,11 @@ def wait_screen(self, message: str, message_color: str) -> None: def draw_static(self) -> None: """Draw static elements in a stimulus.""" + self.draw_grid(self.start_opacity) + self.draw_components() + + def draw_components(self) -> None: + """Draw task bar and info text components.""" if self.task_bar: self.task_bar.draw() diff --git a/bcipy/display/tests/paradigm/matrix/test_matrix_display.py b/bcipy/display/tests/paradigm/matrix/test_matrix_display.py index a8285517a..ca2579452 100644 --- a/bcipy/display/tests/paradigm/matrix/test_matrix_display.py +++ b/bcipy/display/tests/paradigm/matrix/test_matrix_display.py @@ -163,6 +163,7 @@ def test_animate_scp(self): when(self.matrix.window).callOnFlip(any(), any()).thenReturn() # mock the drawing of text stims when(self.matrix).draw_static().thenReturn() + when(self.matrix).draw_components().thenReturn() when(self.text_stim_mock).draw().thenReturn() when(self.matrix.window).flip().thenReturn() # skip the core wait From e91f1ff415bdb5432c0cde61eb19216f91997793 Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Sun, 4 Feb 2024 19:01:12 -0500 Subject: [PATCH 215/330] backspace prob included in lm evidence --- bcipy/simulator/helpers/model_handler.py | 11 ++++++++--- bcipy/simulator/sim_parameters.json | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/bcipy/simulator/helpers/model_handler.py b/bcipy/simulator/helpers/model_handler.py index 70aaf1ecf..db5a89591 100644 --- a/bcipy/simulator/helpers/model_handler.py +++ b/bcipy/simulator/helpers/model_handler.py @@ -5,8 +5,8 @@ import numpy as np -from bcipy.helpers.language_model import init_language_model, histogram -from bcipy.helpers.symbols import alphabet +from bcipy.helpers.language_model import init_language_model, histogram, with_min_prob +from bcipy.helpers.symbols import alphabet, BACKSPACE_CHAR from bcipy.language import LanguageModel from bcipy.signal.model import SignalModel from bcipy.simulator.helpers.state_manager import SimState @@ -59,6 +59,7 @@ def __init__(self, sm_model_file, parameters): self.signal_model: Optional[SignalModel] = None self.lm_model: LanguageModel = init_language_model(parameters) self.alp = alphabet() + self.backspace_prob: float = 0.05 with open(self.sm_model_file, "rb") as signal_file: self.signal_model = pickle.load(signal_file) @@ -68,10 +69,14 @@ def generate_evidence(self, state: SimState, eeg_responses): eeg_evidence = self.signal_model.predict(eeg_responses, stimuli, self.alp) lm_evidence = self.lm_model.predict( list(state.current_sentence)) if state.inquiry_n == 0 else None - # TODO check lm_parameters for default backspace prob ret_evidence = {} if lm_evidence is not None: + + # adjusting evidence to include backspace prob + if BACKSPACE_CHAR in stimuli: + lm_evidence = with_min_prob(lm_evidence, (BACKSPACE_CHAR, self.backspace_prob)) + ret_evidence['lm'] = SimEvidence(EvidenceType.LM, np.array(lm_evidence), self.alp) log.debug(f"LM evidence for '{state.current_sentence}' -> \n {histogram(lm_evidence)}") diff --git a/bcipy/simulator/sim_parameters.json b/bcipy/simulator/sim_parameters.json index dd16d0066..7c369ccff 100644 --- a/bcipy/simulator/sim_parameters.json +++ b/bcipy/simulator/sim_parameters.json @@ -34,7 +34,7 @@ "type": "float" }, "sim_lm_active": { - "value": "0", + "value": "1", "section": "sim_config", "readableName": "is lm active or off", "helpTip": "", From ee7bb01a1a2dfa99449552acb38701b158894ab8 Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Sun, 4 Feb 2024 19:28:00 -0500 Subject: [PATCH 216/330] total_time_spent estimate --- bcipy/simulator/helpers/metrics.py | 37 ++++++++++++++++++----------- bcipy/simulator/sim.py | 4 ++-- bcipy/simulator/sim_parameters.json | 2 +- bcipy/simulator/simulator_base.py | 6 +++-- 4 files changed, 30 insertions(+), 19 deletions(-) diff --git a/bcipy/simulator/helpers/metrics.py b/bcipy/simulator/helpers/metrics.py index 35fcb4075..8bed0d69b 100644 --- a/bcipy/simulator/helpers/metrics.py +++ b/bcipy/simulator/helpers/metrics.py @@ -5,6 +5,7 @@ import numpy as np +from bcipy.helpers.acquisition import max_inquiry_duration from bcipy.simulator.helpers.state_manager import SimState from bcipy.simulator.helpers.types import InquiryResult from bcipy.simulator.simulator_base import Simulator @@ -31,22 +32,31 @@ class SimMetrics1Handler(RefereeHandler): def handle(self, sim: Simulator) -> Dict[str, Any]: state: SimState = getattr(sim, ("state_manager")).get_state() - info: Dict = SimMetrics1().__dict__ - info['total_inquiries'] = state.total_inquiry_count() - info['total_series'] = state.series_n - + # calculating total decisions made flattened_inquiries: List[InquiryResult] = reduce(lambda l1, l2: l1 + l2, state.series_results, []) - info['total_decisions'] = len( - list(filter(lambda inq: bool(inq.decision), flattened_inquiries))) + total_decisions = len(list(filter(lambda inq: bool(inq.decision), flattened_inquiries))) + # average number of inqs before a decision inq_counts = [] for series in state.series_results: if [inq for inq in series if inq.decision]: inq_counts.append(len(series)) - info['inquiries_per_selection'] = round(np.array(inq_counts).mean(), 3) + inquiries_per_selection = round(np.array(inq_counts).mean(), 3) + + # inq and series counts + total_inquiries = state.total_inquiry_count() + total_series = state.series_n + + # total time spent estimate seconds = (max_inq_time_estimate * total_inquiries) + parameters = sim.get_parameters() + max_inq_time = max_inquiry_duration(parameters) + total_time_spent = total_inquiries * max_inq_time - return info + ret = SimMetrics1(total_series=total_series, total_inquiries=total_inquiries, + total_decisions=total_decisions, total_time_spent=total_time_spent, + inquiries_per_selection=inquiries_per_selection) + return ret.__dict__ class MetricReferee(ABC): @@ -62,19 +72,18 @@ def visualize(self, sim: Simulator): """ Generate registered visualizations for sim """ @abstractmethod - def set_metric_handler(self, name: str, handler: RefereeHandler): + def add_metric_handler(self, name: str, handler: RefereeHandler): """ Add a metric calculation that will be executed upon self.score() """ @abstractmethod - def set_viz_handler(self, name: str, handler: RefereeHandler): + def add_viz_handler(self, name: str, handler: RefereeHandler): """ Register a visualization that will be executed upon self.visualize() """ class RefereeImpl(MetricReferee): def __init__(self, metric_handlers=None, viz_handlers=None): - self.metric_handlers: Dict[ - str, RefereeHandler] = metric_handlers if metric_handlers else {} + self.metric_handlers: Dict[str, RefereeHandler] = metric_handlers if metric_handlers else {} self.viz_handlers: Dict[str, RefereeHandler] = viz_handlers if viz_handlers else {} self.inquiry_time: float = 1 # 1 inq -> 1 second @@ -96,8 +105,8 @@ def visualize(self, sim: Simulator): for handler_name, viz_handler in self.viz_handlers.items(): viz_handler.handle(sim) - def set_metric_handler(self, name: str, handler: RefereeHandler): + def add_metric_handler(self, name: str, handler: RefereeHandler): self.metric_handlers[name] = handler - def set_viz_handler(self, name: str, handler: RefereeHandler): + def add_viz_handler(self, name: str, handler: RefereeHandler): self.viz_handlers[name] = handler diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index 3ad8f1cc9..8170f2035 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -138,5 +138,5 @@ def load_parameters(self, params: Optional[Parameters]): else: return self.data_engine.get_parameters() - def get_param(self, name): - pass + def get_parameters(self): + return self.parameters.copy() diff --git a/bcipy/simulator/sim_parameters.json b/bcipy/simulator/sim_parameters.json index 7c369ccff..dd16d0066 100644 --- a/bcipy/simulator/sim_parameters.json +++ b/bcipy/simulator/sim_parameters.json @@ -34,7 +34,7 @@ "type": "float" }, "sim_lm_active": { - "value": "1", + "value": "0", "section": "sim_config", "readableName": "is lm active or off", "helpTip": "", diff --git a/bcipy/simulator/simulator_base.py b/bcipy/simulator/simulator_base.py index 79eaae114..83db6dbf1 100644 --- a/bcipy/simulator/simulator_base.py +++ b/bcipy/simulator/simulator_base.py @@ -2,6 +2,8 @@ from abc import ABC, abstractmethod +from bcipy.helpers.parameters import Parameters + class Simulator(ABC): """Simulator. @@ -17,5 +19,5 @@ def run(self): """ Run loop for simulation""" @abstractmethod - def get_param(self, name): - """ retrieving parameter """ + def get_parameters(self) -> Parameters: + """ retrieving parameters copy""" From 95c16fd3a5789e57bc2da2721a889a3d1b7fad0c Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Sun, 4 Feb 2024 20:11:15 -0500 Subject: [PATCH 217/330] refactor logging configuration --- bcipy/simulator/__init__.py | 31 ------------------------------- bcipy/simulator/__main__.py | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 31 deletions(-) diff --git a/bcipy/simulator/__init__.py b/bcipy/simulator/__init__.py index 27ca39387..b3cc41c2d 100644 --- a/bcipy/simulator/__init__.py +++ b/bcipy/simulator/__init__.py @@ -1,32 +1 @@ """ Simulator package. View README """ - -import datetime -import logging -import sys - -log = logging.getLogger(__name__) -log.setLevel(logging.DEBUG) -# Create handlers for logging to the standard output and a file -stdoutHandler = logging.StreamHandler(stream=sys.stdout) -fileHandler = logging.FileHandler(f"bcipy/simulator/sim_output_{datetime.datetime.now()}.log") - -# Set the log levels on the handlers -stdoutHandler.setLevel(logging.INFO) -fileHandler.setLevel(logging.DEBUG) - -# Create a log format using Log Record attributes -fmt_file = logging.Formatter( - "%(levelname)s | %(filename)s:%(lineno)s >> %(message)s" -) - -fmt = logging.Formatter( - "%(levelname)s >> %(message)s" -) - -# Set the log format on each handler -stdoutHandler.setFormatter(fmt) -fileHandler.setFormatter(fmt_file) - -# Add each handler to the Logger object -log.addHandler(stdoutHandler) -log.addHandler(fileHandler) diff --git a/bcipy/simulator/__main__.py b/bcipy/simulator/__main__.py index 826275c2b..488528de5 100644 --- a/bcipy/simulator/__main__.py +++ b/bcipy/simulator/__main__.py @@ -1,11 +1,44 @@ """ Entry point to run Simulator """ import argparse +import datetime +import logging +import sys from pathlib import Path from bcipy.simulator.sim_factory import SimulationFactoryV2 from bcipy.simulator.simulator_base import Simulator + +def configure_logger(): + """ configures logger for standard out nad file output """ + + log = logging.getLogger(None) # configuring root logger + log.setLevel(logging.DEBUG) + # Create handlers for logging to the standard output and a file + stdoutHandler = logging.StreamHandler(stream=sys.stdout) + file_name = datetime.datetime.now().strftime("%m-%d-%H:%M") + output_path = "bcipy/simulator/generated" + fileHandler = logging.FileHandler(f"{output_path}/{file_name}.log") + + # Set the log levels on the handlers + stdoutHandler.setLevel(logging.INFO) + fileHandler.setLevel(logging.DEBUG) + + # Create a log format using Log Record attributes + fmt_file = logging.Formatter("%(levelname)s | %(filename)s >> %(message)s") + + fmt = logging.Formatter("%(message)s") + + # Set the log format on each handler + stdoutHandler.setFormatter(fmt) + fileHandler.setFormatter(fmt_file) + + # Add each handler to the Logger object + log.addHandler(stdoutHandler) + log.addHandler(fileHandler) + + if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument( @@ -33,6 +66,9 @@ args = vars(parser.parse_args()) + # setting up logging + configure_logger() + simulator: Simulator = SimulationFactoryV2.create(**args) simulator.run() From 06716279f82a6765103403948be1781c448760a2 Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Sun, 4 Feb 2024 20:55:25 -0500 Subject: [PATCH 218/330] minor log clean --- bcipy/simulator/helpers/log_utils.py | 18 ++++++++++++++++-- bcipy/simulator/helpers/state_manager.py | 4 ++-- bcipy/simulator/sim.py | 8 +++++--- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/bcipy/simulator/helpers/log_utils.py b/bcipy/simulator/helpers/log_utils.py index 881b38d45..0e43c2fbb 100644 --- a/bcipy/simulator/helpers/log_utils.py +++ b/bcipy/simulator/helpers/log_utils.py @@ -1,7 +1,9 @@ -from typing import List +from typing import List, Dict import pandas as pd +from bcipy.simulator.helpers.types import SimEvidence + def fmt_stim_likelihoods(likelihoods, alp): rounded = [round(lik, 3) for lik in likelihoods] @@ -9,7 +11,7 @@ def fmt_stim_likelihoods(likelihoods, alp): return formatted -def fmt_fused_likelihoods_for_hist(likelihoods, alp): +def fmt_likelihoods_for_hist(likelihoods, alp): rounded = [round(lik, 3) for lik in likelihoods] formatted = [(a, l) for a, l in zip(alp, rounded)] return formatted @@ -22,3 +24,15 @@ def format_sample_rows(sample_rows: List[pd.DataFrame]): formatted_rows.append(new_row.to_string(index=False, header=True)) return ", ".join(formatted_rows) + + +def fmt_reshaped_evidence(evidences: Dict[str, SimEvidence]): + """ Formats evidences to log shapes pf ndarrays """ + + evidence_shape_strs = [] + + for evidence_name, evidence in evidences.items(): + evidence_shape = evidence.evidence.shape if evidence is not None else None + evidence_shape_strs.append(f"{evidence.evidence_type} => {evidence_shape}") + + return ", ".join(evidence_shape_strs) diff --git a/bcipy/simulator/helpers/state_manager.py b/bcipy/simulator/helpers/state_manager.py index 622784862..3ccd63cda 100644 --- a/bcipy/simulator/helpers/state_manager.py +++ b/bcipy/simulator/helpers/state_manager.py @@ -13,7 +13,7 @@ from bcipy.helpers.symbols import alphabet, BACKSPACE_CHAR from bcipy.simulator.helpers.decision import SimDecisionCriteria, MaxIterationsSim, ProbThresholdSim from bcipy.simulator.helpers.evidence_fuser import MultiplyFuser, EvidenceFuser -from bcipy.simulator.helpers.log_utils import fmt_fused_likelihoods_for_hist +from bcipy.simulator.helpers.log_utils import fmt_likelihoods_for_hist from bcipy.simulator.helpers.rsvp_utils import next_target_letter from bcipy.simulator.helpers.types import InquiryResult, SimEvidence @@ -115,7 +115,7 @@ def update(self, evidence) -> InquiryResult: log.debug( f"Fused Likelihoods | current typed - {self.state.current_sentence} | stimuli {self.state.display_alphabet} \n " - f"{histogram(fmt_fused_likelihoods_for_hist(new_inquiry_result.fused_likelihood, alphabet()))}") + f"{histogram(fmt_likelihoods_for_hist(new_inquiry_result.fused_likelihood, alphabet()))}") new_state['series_results'][self.state.series_n].append(new_inquiry_result) if is_decidable: diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index 8170f2035..d10c8d77f 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -6,6 +6,7 @@ import numpy as np from bcipy.helpers import load, stimuli, symbols +from bcipy.helpers.language_model import histogram from bcipy.helpers.parameters import Parameters from bcipy.helpers.symbols import alphabet from bcipy.simulator.helpers.data_engine import DataEngine @@ -14,7 +15,8 @@ from bcipy.simulator.helpers.sampler import Sampler from bcipy.simulator.helpers.state_manager import StateManager, SimState from bcipy.simulator.helpers.types import InquiryResult, SimEvidence -from bcipy.simulator.helpers.log_utils import fmt_stim_likelihoods +from bcipy.simulator.helpers.log_utils import fmt_stim_likelihoods, fmt_reshaped_evidence, \ + fmt_likelihoods_for_hist from bcipy.simulator.helpers.model_handler import ModelHandler from bcipy.simulator.simulator_base import Simulator from bcipy.task.data import EvidenceType @@ -82,8 +84,8 @@ def run(self): f"EEG Evidence for stimuli {curr_state.display_alphabet} " + f"\n {fmt_stim_likelihoods(evidence['sm'].evidence, self.symbol_set)}") - reshaped_evidence = self.__reshape_evidences(evidence) - log.debug(f"reshaped evidence {reshaped_evidence}") + reshaped_evidence: Dict[str, SimEvidence] = self.__reshape_evidences(evidence) + log.debug(f"Evidence Shapes {fmt_reshaped_evidence(reshaped_evidence)}") inq_record: InquiryResult = self.state_manager.update(reshaped_evidence) updated_state = self.state_manager.get_state() From 77ab10725b9e9075502f017b08982152b5a33c7b Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 5 Feb 2024 13:55:57 -0800 Subject: [PATCH 219/330] Fixed merge error --- bcipy/simulator/helpers/log_utils.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bcipy/simulator/helpers/log_utils.py b/bcipy/simulator/helpers/log_utils.py index 81181783c..e1877116d 100644 --- a/bcipy/simulator/helpers/log_utils.py +++ b/bcipy/simulator/helpers/log_utils.py @@ -3,6 +3,11 @@ import pandas as pd +def fmt_stim_likelihoods(likelihoods, alp): + rounded = [round(lik, 3) for lik in likelihoods] + formatted = [f"{a} : {l}" for a, l in zip(alp, rounded)] + return formatted + def fmt_fused_likelihoods_for_hist(likelihoods, alp): rounded = [round(lik, 3) for lik in likelihoods] formatted = [(a, l) for a, l in zip(alp, rounded)] From a4b39a1ccff053d26bf725ea1bfa01915ec69cad Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Mon, 5 Feb 2024 19:13:06 -0500 Subject: [PATCH 220/330] result output artifact --- bcipy/simulator/__main__.py | 1 + bcipy/simulator/helpers/decision.py | 3 +++ bcipy/simulator/helpers/state_manager.py | 10 ++++++++++ bcipy/simulator/helpers/types.py | 17 +++++++++++++++++ bcipy/simulator/sim.py | 19 ++++++++++++++++++- 5 files changed, 49 insertions(+), 1 deletion(-) diff --git a/bcipy/simulator/__main__.py b/bcipy/simulator/__main__.py index 488528de5..85e9dd86c 100644 --- a/bcipy/simulator/__main__.py +++ b/bcipy/simulator/__main__.py @@ -6,6 +6,7 @@ import sys from pathlib import Path +from bcipy.simulator.helpers.decision import MaxIterationsSim from bcipy.simulator.sim_factory import SimulationFactoryV2 from bcipy.simulator.simulator_base import Simulator diff --git a/bcipy/simulator/helpers/decision.py b/bcipy/simulator/helpers/decision.py index 796c10861..cc27bc31e 100644 --- a/bcipy/simulator/helpers/decision.py +++ b/bcipy/simulator/helpers/decision.py @@ -38,6 +38,9 @@ def decide(self, series: List[InquiryResult]): """ raise NotImplementedError() + def __str__(self): + return type(self).__name__ + class MinIterations(SimDecisionCriteria): """ Returns true if the minimum number of iterations have not yet diff --git a/bcipy/simulator/helpers/state_manager.py b/bcipy/simulator/helpers/state_manager.py index 3ccd63cda..288057e77 100644 --- a/bcipy/simulator/helpers/state_manager.py +++ b/bcipy/simulator/helpers/state_manager.py @@ -1,4 +1,5 @@ import copy +import dataclasses import logging import random from abc import ABC @@ -46,6 +47,15 @@ def get_current_likelihood(self) -> Optional[np.ndarray]: return cur_likelihood + def to_json(self): + d = dataclasses.asdict(self) + d['series_results'] = [list(map(lambda ir: ir.to_json(), lis)) for lis in + self.series_results] + + d['decision_criterion'] = [str(dec) for dec in self.decision_criterion] + + return d + class StateManager(ABC): diff --git a/bcipy/simulator/helpers/types.py b/bcipy/simulator/helpers/types.py index f2f3b35b5..3103f951d 100644 --- a/bcipy/simulator/helpers/types.py +++ b/bcipy/simulator/helpers/types.py @@ -1,3 +1,4 @@ +import dataclasses from dataclasses import dataclass from typing import Optional, List, Dict @@ -12,6 +13,14 @@ class SimEvidence: evidence: np.ndarray symbol_set: List[str] + def to_json(self) -> Dict: + d = dataclasses.asdict(self) + evidence_list = self.evidence.tolist() + d['evidence'] = evidence_list + d['evidence_type'] = self.evidence_type.name + + return d + @dataclass class InquiryResult: @@ -21,3 +30,11 @@ class InquiryResult: evidences: Dict[str, SimEvidence] fused_likelihood: np.ndarray decision: Optional[str] + + def to_json(self): + d = dataclasses.asdict(self) + + d['fused_likelihood'] = self.fused_likelihood.tolist() + d['evidences'] = {k: v.to_json() for k, v in self.evidences.items()} + + return d diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index d10c8d77f..f1d772e98 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -1,7 +1,9 @@ +import dataclasses +import json import logging import random from time import sleep -from typing import Optional, Dict +from typing import Optional, Dict, Any import numpy as np @@ -103,6 +105,8 @@ def run(self): log.debug(f"Final State: {final_state}") + self.output_run() + def __make_stimuli(self, state: SimState): # TODO abstract out subset_length = 10 @@ -140,5 +144,18 @@ def load_parameters(self, params: Optional[Parameters]): else: return self.data_engine.get_parameters() + def output_run(self): + """ Outputs the results of a run to json file """ + + final_state = self.state_manager.get_state() + final_state_json: Dict = final_state.to_json() + + metric_dict = self.referee.score(self).__dict__ + metric_dict.update(final_state_json) # adding state data to metrics + + output_path = "bcipy/simulator/generated" + with open(f"{output_path}/result.json", 'w') as output_file: + json.dump(metric_dict, output_file) + def get_parameters(self): return self.parameters.copy() From 8da4ecf28b22728b00508ab18a3459d78a0981fd Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 14 Feb 2024 11:59:54 -0800 Subject: [PATCH 221/330] Add Data Source (#314) Refactoring data engine helper --- bcipy/simulator/helpers/data_engine.py | 93 ++++++++++++----------- bcipy/simulator/helpers/signal_helpers.py | 46 ++++++++--- 2 files changed, 86 insertions(+), 53 deletions(-) diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py index 6eebf9a15..34be48f3a 100644 --- a/bcipy/simulator/helpers/data_engine.py +++ b/bcipy/simulator/helpers/data_engine.py @@ -1,18 +1,15 @@ import logging -import os from abc import ABC from pathlib import Path -from typing import Optional, List +from typing import List, NamedTuple, Optional import numpy as np import pandas as pd -from bcipy.config import DEFAULT_PARAMETER_FILENAME -from bcipy.helpers import load from bcipy.helpers.list import grouper from bcipy.helpers.parameters import Parameters -from bcipy.simulator.helpers.signal_helpers import ExtractedExperimentData, \ - process_raw_data_for_model +from bcipy.simulator.helpers.signal_helpers import (ExtractedExperimentData, + process_raw_data_for_model) log = logging.getLogger(__name__) @@ -31,6 +28,27 @@ def get_data(self): def get_parameters(self) -> List[Parameters]: ... +class Trial(NamedTuple): + """Data for a given trial (a symbol within an Inquiry). + + TODO: add series to facilitate easier lookup in session data. + + Attrs + ----- + source - directory of the data source + inquiry_n - starts at 0; does not reset at each series + inquiry_pos - starts at 1; position in which the symbol was presented + symbol - alphabet symbol that was presented + target - 1 or 0 indicating a boolean of whether this was a target symbol + eeg - EEG data associated with this trial + """ + source: str + # series_n: int + inquiry_n: int + inquiry_pos: int + symbol: str + target: int + eeg: np.ndarray class RawDataEngine(DataEngine): """ @@ -43,14 +61,9 @@ def __init__(self, source_dirs: List[str], parameters: Parameters): self.source_dirs: List[str] = source_dirs self.parameters: Parameters = parameters self.data: Optional[List[ExtractedExperimentData]] = None - self.trials_by_inquiry: List[ - np.ndarray] = [] # shape (i_inquiry, n_channel, m_trial, x_sample). - self.symbols_by_inquiry: List[List] = [] # shape (i_inquiry, s_alphabet_subset) - self.labels_by_inquiry: List[List] = [] # shape (i_inquiry, s_alphabet_subset) self.schema: Optional[pd.DataFrame] = None # TODO validate parameters - self.load() def load(self) -> DataEngine: @@ -63,20 +76,10 @@ def load(self) -> DataEngine: """ log.debug(f"Loading data from {len(self.source_dirs)} source directories") - self.data: List[ExtractedExperimentData] = [ - process_raw_data_for_model(source_dir, self.parameters) for source_dir in - self.source_dirs] - - for data_source in self.data: - trigger_targetness, trigger_timing, trigger_symbols = data_source.decoded_triggers - self.trials_by_inquiry.append( - np.split(data_source.trials, data_source.inquiries.shape[1], 1)) - self.symbols_by_inquiry.append([list(group) for group in - grouper(trigger_symbols, - self.parameters.get('stim_length'), - incomplete="ignore")]) - - self.labels_by_inquiry.append(data_source.labels) + self.data = [ + process_raw_data_for_model(source_dir, self.parameters) + for source_dir in self.source_dirs + ] log.info("Finished loading all data") return self @@ -84,7 +87,7 @@ def load(self) -> DataEngine: def transform(self) -> DataEngine: """ Organizes all data into the following schema - - Dataframe {"series_n":int, "inquiry_n":int, "trial_n":int, "symbol":str, "target":int, "eeg":ndarray} + - Dataframe {"inquiry_n":int, "trial_n":int, "symbol":str, "target":int, "eeg":ndarray} The "eeg" data for trial looks like this - ndarray.shape = (channel_n, sample_n) @@ -94,26 +97,28 @@ def transform(self) -> DataEngine: self for chaining """ - # TODO store how good evidence was in session | store data source as well + # TODO store how good evidence was in session rows = [] - for d_i in range(len(self.data)): - for i in range(len(self.trials_by_inquiry[d_i])): - symbols = self.symbols_by_inquiry[d_i][i] - inquiry_labels = self.labels_by_inquiry[d_i][i] - inquiry_eeg = self.trials_by_inquiry[d_i][i] - - symbol_rows = [] - for t_i, symbol in enumerate(symbols): - channel_eeg_samples_for_t = [channel[t_i] for channel in - inquiry_eeg] # (channel_n, sample_n) - row = {'inquiry_n': i, 'trial_n': t_i, 'symbol': symbol, - 'target': inquiry_labels[t_i], - 'eeg': np.array(channel_eeg_samples_for_t)} - - symbol_rows.append(row) - - rows.extend(symbol_rows) + for data_source in self.data: + symbols_by_inquiry = data_source.symbols_by_inquiry + labels_by_inquiry = data_source.labels_by_inquiry + + for i, inquiry_eeg in enumerate(data_source.trials_by_inquiry): + # iterate through each inquiry + inquiry_symbols = symbols_by_inquiry[i] + inquiry_labels = labels_by_inquiry[i] + + for sym_i, symbol in enumerate(inquiry_symbols): + # iterate through each symbol in the inquiry + eeg_samples = [channel[sym_i] for channel in inquiry_eeg + ] # (channel_n, sample_n) + rows.append(Trial(source=data_source.source_dir, + inquiry_n=i, + inquiry_pos=sym_i + 1, + symbol=symbol, + target=inquiry_labels[sym_i], + eeg=np.array(eeg_samples))) self.schema = pd.DataFrame(rows) diff --git a/bcipy/simulator/helpers/signal_helpers.py b/bcipy/simulator/helpers/signal_helpers.py index 550b6f7e5..8f511c824 100644 --- a/bcipy/simulator/helpers/signal_helpers.py +++ b/bcipy/simulator/helpers/signal_helpers.py @@ -6,29 +6,51 @@ import numpy as np from bcipy.acquisition import devices -from bcipy.config import ( - RAW_DATA_FILENAME, - TRIGGER_FILENAME, - DEFAULT_DEVICE_SPEC_FILENAME, -) +from bcipy.config import (DEFAULT_DEVICE_SPEC_FILENAME, RAW_DATA_FILENAME, + TRIGGER_FILENAME) from bcipy.helpers.acquisition import analysis_channels from bcipy.helpers.exceptions import TaskConfigurationException +from bcipy.helpers.list import grouper from bcipy.helpers.load import load_raw_data -from bcipy.helpers.stimuli import update_inquiry_timing, InquiryReshaper +from bcipy.helpers.stimuli import InquiryReshaper, update_inquiry_timing from bcipy.helpers.triggers import TriggerType, trigger_decoder -from bcipy.signal.process import get_default_transform, filter_inquiries, ERPTransformParams +from bcipy.signal.process import (ERPTransformParams, filter_inquiries, + get_default_transform) log = logger.getLogger(__name__) @dataclass() class ExtractedExperimentData: # TODO clean up design + source_dir: str inquiries: np.ndarray trials: np.ndarray labels: List inquiry_timing: List decoded_triggers: tuple + trials_per_inquiry: int + + @property + def trials_by_inquiry(self) -> List[np.ndarray]: + """EEG data by inquiry. + shape (i_inquiry, n_channel, m_trial, x_sample) + """ + return np.split(self.trials, self.inquiries.shape[1], 1) + + @property + def symbols_by_inquiry(self) -> List[List[str]]: + """Get symbols by inquiry. shape (i_inquiry, s_alphabet_subset)""" + _targets, _times, trigger_symbols = self.decoded_triggers + return [ + list(group) for group in grouper( + trigger_symbols, self.trials_per_inquiry, incomplete="ignore") + ] + + @property + def labels_by_inquiry(self) -> List[List[int]]: + """Shape (i_inquiry, s_alphabet_subset)""" + return self.labels def process_raw_data_for_model(data_folder, parameters, @@ -128,5 +150,11 @@ def process_raw_data_for_model(data_folder, parameters, # define the training classes using integers, where 0=nontargets/1=targets # labels = inquiry_labels.flatten() - return ExtractedExperimentData(inquiries, trials, inquiry_labels, inquiry_timing, - (trigger_targetness, trigger_timing, trigger_symbols)) + return ExtractedExperimentData( + data_folder, + inquiries, + trials, + inquiry_labels, + inquiry_timing, + decoded_triggers=(trigger_targetness, trigger_timing, trigger_symbols), + trials_per_inquiry=trials_per_inquiry) From dc1671caf919b06c35cf46b04065175c398fbdd4 Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Wed, 14 Feb 2024 15:58:40 -0500 Subject: [PATCH 222/330] save directory --- .gitignore | 1 + bcipy/simulator/__main__.py | 25 ++++++++++++++++++++----- bcipy/simulator/sim.py | 25 +++++++++++++------------ bcipy/simulator/sim_factory.py | 4 ++-- 4 files changed, 36 insertions(+), 19 deletions(-) diff --git a/.gitignore b/.gitignore index 1397d7e61..1df4acfc9 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,4 @@ bcipy/language/out/ bcipy/simulator/tests/resource/ +bcipy/simulator/generated/SIM_* diff --git a/bcipy/simulator/__main__.py b/bcipy/simulator/__main__.py index 85e9dd86c..81cf33975 100644 --- a/bcipy/simulator/__main__.py +++ b/bcipy/simulator/__main__.py @@ -3,6 +3,8 @@ import argparse import datetime import logging +import os +import random import sys from pathlib import Path @@ -11,16 +13,14 @@ from bcipy.simulator.simulator_base import Simulator -def configure_logger(): +def configure_logger(log_path, file_name): """ configures logger for standard out nad file output """ log = logging.getLogger(None) # configuring root logger log.setLevel(logging.DEBUG) # Create handlers for logging to the standard output and a file stdoutHandler = logging.StreamHandler(stream=sys.stdout) - file_name = datetime.datetime.now().strftime("%m-%d-%H:%M") - output_path = "bcipy/simulator/generated" - fileHandler = logging.FileHandler(f"{output_path}/{file_name}.log") + fileHandler = logging.FileHandler(f"{log_path}/{file_name}.log") # Set the log levels on the handlers stdoutHandler.setLevel(logging.INFO) @@ -40,6 +40,16 @@ def configure_logger(): log.addHandler(fileHandler) +def init_save_dir(output_path, save_dir_name): + # creating wrapper dir to save to within /generated. Adds a unique 4 digit id to end + unique_id = random.sample(range(1000, 10000), 1)[0] + save_dir = f"{output_path}/SIM_{save_dir_name}_{unique_id}" + os.makedirs(save_dir) + os.makedirs(f"{save_dir}/logs") + + return save_dir + + if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument( @@ -67,8 +77,13 @@ def configure_logger(): args = vars(parser.parse_args()) + output_path = "bcipy/simulator/generated" # TODO read from parameters + now_time = datetime.datetime.now().strftime("%m-%d-%H:%M") + args['save_dir'] = init_save_dir(output_path, now_time) + # setting up logging - configure_logger() + log_path = f"{args['save_dir']}/logs" + configure_logger(log_path, now_time) simulator: Simulator = SimulationFactoryV2.create(**args) diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index f1d772e98..496eaa44c 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -3,12 +3,11 @@ import logging import random from time import sleep -from typing import Optional, Dict, Any +from typing import Optional, Dict import numpy as np -from bcipy.helpers import load, stimuli, symbols -from bcipy.helpers.language_model import histogram +from bcipy.helpers import stimuli, symbols from bcipy.helpers.parameters import Parameters from bcipy.helpers.symbols import alphabet from bcipy.simulator.helpers.data_engine import DataEngine @@ -17,8 +16,7 @@ from bcipy.simulator.helpers.sampler import Sampler from bcipy.simulator.helpers.state_manager import StateManager, SimState from bcipy.simulator.helpers.types import InquiryResult, SimEvidence -from bcipy.simulator.helpers.log_utils import fmt_stim_likelihoods, fmt_reshaped_evidence, \ - fmt_likelihoods_for_hist +from bcipy.simulator.helpers.log_utils import fmt_stim_likelihoods, fmt_reshaped_evidence from bcipy.simulator.helpers.model_handler import ModelHandler from bcipy.simulator.simulator_base import Simulator from bcipy.task.data import EvidenceType @@ -105,7 +103,7 @@ def run(self): log.debug(f"Final State: {final_state}") - self.output_run() + self.save_run() def __make_stimuli(self, state: SimState): # TODO abstract out @@ -144,18 +142,21 @@ def load_parameters(self, params: Optional[Parameters]): else: return self.data_engine.get_parameters() - def output_run(self): + def save_run(self): """ Outputs the results of a run to json file """ + # creating result.json object with final state and metrics final_state = self.state_manager.get_state() final_state_json: Dict = final_state.to_json() - - metric_dict = self.referee.score(self).__dict__ + metric_dict = dataclasses.asdict(self.referee.score(self)) metric_dict.update(final_state_json) # adding state data to metrics - output_path = "bcipy/simulator/generated" - with open(f"{output_path}/result.json", 'w') as output_file: - json.dump(metric_dict, output_file) + # writing result.json + with open(f"{self.save_dir}/result.json", 'w') as output_file: + json.dump(metric_dict, output_file, indent=1) + + # writing params + self.parameters.save(directory=self.save_dir) def get_parameters(self): return self.parameters.copy() diff --git a/bcipy/simulator/sim_factory.py b/bcipy/simulator/sim_factory.py index 4c26cd0a6..1c931009d 100644 --- a/bcipy/simulator/sim_factory.py +++ b/bcipy/simulator/sim_factory.py @@ -17,7 +17,7 @@ class SimulationFactoryV2: @staticmethod def create(data_folder: str, smodel_files: List[str], - sim_param_path="bcipy/simulator/sim_parameters.json", **kwargs): + sim_param_path="bcipy/simulator/sim_parameters.json", save_dir=None, **kwargs): # out_dir = kwargs.get('out_dir', Path(__file__).resolve().parent) model_file = Path(smodel_files.pop()) @@ -33,6 +33,6 @@ def create(data_folder: str, smodel_files: List[str], referee: MetricReferee = RefereeImpl(metric_handlers={'basic': SimMetrics1Handler()}) sim = SimulatorCopyPhrase(data_engine, model_handler, sampler, state_manager, referee, - parameters=base_parameters) + parameters=base_parameters, save_dir=save_dir) return sim From ab950f2298da498a6db4393568baa64ee72c9595 Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Wed, 14 Feb 2024 16:02:14 -0500 Subject: [PATCH 223/330] .gitkeep generated directory --- bcipy/simulator/generated/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 bcipy/simulator/generated/.gitkeep diff --git a/bcipy/simulator/generated/.gitkeep b/bcipy/simulator/generated/.gitkeep new file mode 100644 index 000000000..e69de29bb From 978c4adf525d0a9e0a66740ccbf3752d35831b39 Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 20 Feb 2024 15:33:52 -0800 Subject: [PATCH 224/330] #187083845 ; added Oracle Language Model --- bcipy/helpers/language_model.py | 17 ++-- bcipy/language/model/oracle.py | 133 ++++++++++++++++++++++++++++ bcipy/language/tests/test_oracle.py | 75 ++++++++++++++++ bcipy/parameters/parameters.json | 3 +- 4 files changed, 220 insertions(+), 8 deletions(-) create mode 100644 bcipy/language/model/oracle.py create mode 100644 bcipy/language/tests/test_oracle.py diff --git a/bcipy/helpers/language_model.py b/bcipy/helpers/language_model.py index 37ac909db..0c9d87d7c 100644 --- a/bcipy/helpers/language_model.py +++ b/bcipy/helpers/language_model.py @@ -1,23 +1,26 @@ """Helper functions for language model use.""" -import math import inspect +import math from typing import Dict, List, Tuple + import numpy as np -from bcipy.language.main import LanguageModel, ResponseType + from bcipy.helpers.symbols import alphabet +from bcipy.language.main import LanguageModel, ResponseType + # pylint: disable=unused-import # flake8: noqa """Only imported models will be included in language_models_by_name""" -from bcipy.language.model.uniform import UniformLanguageModel +# flake8: noqa +from bcipy.helpers.exceptions import InvalidLanguageModelException from bcipy.language.model.causal import CausalLanguageModel -from bcipy.language.model.mixture import MixtureLanguageModel from bcipy.language.model.kenlm import KenLMLanguageModel +from bcipy.language.model.mixture import MixtureLanguageModel +from bcipy.language.model.oracle import OracleLanguageModel +from bcipy.language.model.uniform import UniformLanguageModel from bcipy.language.model.unigram import UnigramLanguageModel -# flake8: noqa -from bcipy.helpers.exceptions import InvalidLanguageModelException - def language_models_by_name() -> Dict[str, LanguageModel]: """Returns available language models indexed by name.""" diff --git a/bcipy/language/model/oracle.py b/bcipy/language/model/oracle.py new file mode 100644 index 000000000..0f3c9702f --- /dev/null +++ b/bcipy/language/model/oracle.py @@ -0,0 +1,133 @@ +"""Oracle language model""" +import logging +from typing import List, Optional, Tuple, Union + +import numpy as np + +from bcipy.helpers.symbols import BACKSPACE_CHAR +from bcipy.language.main import LanguageModel, ResponseType +from bcipy.language.model.uniform import equally_probable + +logger = logging.getLogger() + + +class OracleLanguageModel(LanguageModel): + """Language model which knows the target phrase the user is attempting to + spell. + + Probabilities for symbols are uniformly distributed with the exception of + the target letter, which has a slightly higher probability. How much higher + depends on the configured parameter. + + Parameters + ---------- + response_type - SYMBOL only + symbol_set - optional specify the symbol set, otherwise uses DEFAULT_SYMBOL_SET + task_text - the phrase the user is attempting to spell (ex. 'HELLO_WORLD') + target_bump - the amount by which the probability of the target letter + is increased. + """ + + def __init__(self, + response_type: Optional[ResponseType] = None, + symbol_set: Optional[List[str]] = None, + task_text: str = None, + target_bump: float = 0.1): + super().__init__(response_type=response_type, symbol_set=symbol_set) + assert task_text, "task_text is required" + self.task_text = task_text + self.target_bump = target_bump + logger.debug( + f"Initialized OracleLanguageModel(task_text='{task_text}', target_bump={target_bump})" + ) + + def supported_response_types(self) -> List[ResponseType]: + return [ResponseType.SYMBOL] + + def predict(self, evidence: Union[str, List[str]]) -> List[Tuple]: + """ + Using the provided data, compute probabilities over the entire symbol. + set. + + Parameters + ---------- + evidence - list of previously typed symbols + + Returns + ------- + list of (symbol, probability) tuples + """ + spelled_text = ''.join(evidence) + probs = equally_probable(self.symbol_set) + target = self._next_target(spelled_text) + + sym = (target, probs[0] + self.target_bump) + symbol_probs = list(zip(self.symbol_set, probs)) + updated_symbol_probs = with_min_prob(symbol_probs, sym) + return sorted(updated_symbol_probs, + key=lambda pair: self.symbol_set.index(pair[0])) + + def update(self) -> None: + """Update the model state""" + + def load(self) -> None: + """Restore model state from the provided checkpoint""" + + def _next_target(self, spelled_text: str) -> str: + """Computes the next target letter based on the currently spelled_text. + """ + if self.task_text[0:len(spelled_text)] == spelled_text: + # if correctly spelled so far, get the next letter. + return self.task_text[len(spelled_text)] + return BACKSPACE_CHAR + + +# TODO: Cleanup; This method is copied from helpers/language_model.py but can't +# be imported from there due to circular dependencies. We should either create +# a separate module for lm utilities, or refactor this method to only extract +# the needed functionality. +def with_min_prob(symbol_probs: List[Tuple[str, float]], + sym_prob: Tuple[str, float]) -> List[Tuple[str, float]]: + """Returns a new list of symbol-probability pairs where the provided + symbol has a minimum probability given in the sym_prob. + + If the provided symbol is already in the list with a greater probability, + the list of symbol_probs will be returned unmodified. + + If the new probability is added or modified, existing values are adjusted + equally. + + Parameters: + ----------- + symbol_probs - list of symbol, probability pairs + sym_prob - (symbol, min_probability) defines the minimum probability + for the given symbol in the returned list. + + Returns: + ------- + list of (symbol, probability) pairs such that the sum of the + probabilities is approx. 1.0. + """ + new_sym, new_prob = sym_prob + + # Split out symbols and probabilities into separate lists, excluding the + # symbol to be adjusted. + symbols = [] + probs = [] + for sym, prob in symbol_probs: + if sym != new_sym: + symbols.append(sym) + probs.append(prob) + elif prob >= new_prob: + # symbol prob in list is larger than minimum. + return symbol_probs + + probabilities = np.array(probs) + + # Add new symbol and its probability + all_probs = np.append(probabilities, new_prob / (1 - new_prob)) + all_symbols = symbols + [new_sym] + + normalized = all_probs / sum(all_probs) + + return list(zip(all_symbols, normalized)) diff --git a/bcipy/language/tests/test_oracle.py b/bcipy/language/tests/test_oracle.py new file mode 100644 index 000000000..fb26c4923 --- /dev/null +++ b/bcipy/language/tests/test_oracle.py @@ -0,0 +1,75 @@ +"""Tests for Oracle Language Model""" + +import unittest + +from bcipy.language.model.oracle import (BACKSPACE_CHAR, OracleLanguageModel, + ResponseType) + + +class TestOracleLanguageModel(unittest.TestCase): + """Tests for language model""" + + def test_init(self): + """Test default parameters""" + with self.assertRaises(AssertionError): + OracleLanguageModel() + + def test_init_with_text(self): + """Test with task_text provided""" + lmodel = OracleLanguageModel(task_text="HELLO_WORLD") + self.assertEqual(lmodel.response_type, ResponseType.SYMBOL) + self.assertEqual( + len(lmodel.symbol_set), 28, + "Should be the alphabet plus the backspace and space chars") + + def test_predict(self): + """Test the predict method""" + lm = OracleLanguageModel(task_text="HELLO_WORLD") + symbol_probs = lm.predict(evidence=[]) + probs = [prob for sym, prob in symbol_probs] + + self.assertEqual(len(set(probs)), 2, + "All non-target values should be the same") + self.assertTrue(0 < probs[0] < 1) + self.assertAlmostEqual(sum(probs), 1) + + probs_dict = dict(symbol_probs) + self.assertTrue(probs_dict['H'] > probs_dict['A'], + "Target should have a higher value") + self.assertAlmostEqual(lm.target_bump, + probs_dict['H'] - probs_dict['A'], + places=1) + + def test_predict_with_spelled_text(self): + """Test predictions with previously spelled symbols""" + lm = OracleLanguageModel(task_text="HELLO_WORLD") + symbol_probs = lm.predict(evidence=list("HELLO_")) + + probs = [prob for sym, prob in symbol_probs] + self.assertEqual(len(set(probs)), 2, + "All non-target values should be the same") + + probs_dict = dict(symbol_probs) + self.assertTrue(probs_dict['W'] > probs_dict['A']) + + def test_predict_with_incorrectly_spelled_text(self): + """Test predictions with incorrectly spelled prior.""" + lm = OracleLanguageModel(task_text="HELLO_WORLD") + symbol_probs = lm.predict(evidence=list("HELP")) + + probs = [prob for sym, prob in symbol_probs] + self.assertEqual(len(set(probs)), 2) + + probs_dict = dict(symbol_probs) + self.assertTrue(probs_dict[BACKSPACE_CHAR] > probs_dict['A']) + + def test_target_bump_parameter(self): + """Test setting the target_bump parameter.""" + lm = OracleLanguageModel(task_text="HELLO_WORLD", target_bump=0.2) + symbol_probs = lm.predict(evidence=[]) + probs_dict = dict(symbol_probs) + self.assertTrue(probs_dict['H'] > probs_dict['A'], + "Target should have a higher value") + self.assertAlmostEqual(0.2, + probs_dict['H'] - probs_dict['A'], + places=1) diff --git a/bcipy/parameters/parameters.json b/bcipy/parameters/parameters.json index 11a5c30e3..46018a72a 100755 --- a/bcipy/parameters/parameters.json +++ b/bcipy/parameters/parameters.json @@ -673,7 +673,8 @@ "UNIFORM", "CAUSAL", "KENLM", - "MIXTURE" + "MIXTURE", + "ORACLE" ], "type": "str" }, From 34a5e7526e71fe7e5b571d1a7a4fd729cd62c8d1 Mon Sep 17 00:00:00 2001 From: lawhead Date: Wed, 21 Feb 2024 11:35:43 -0800 Subject: [PATCH 225/330] Added checks for valid property values; updated changelog --- CHANGELOG.md | 1 + bcipy/language/model/oracle.py | 27 ++++++++++++++++++++- bcipy/language/tests/test_oracle.py | 37 +++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 668342acd..fe6a592ca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -58,6 +58,7 @@ Our last release candidate before the official 2.0 release! - added KenLM model `kenlm.py` #268 - added mixture model `mixture.py` and script to tune weights `mixture_tuning.py` #268 - added script to evaluate language model performance `lm_eval.py` #268 + - added Oracle model #316 - Signal Model - added `RdaKdeModel` and restructured to pull out common elements from the PcaRdaKdeModel #279 - Bug Fixes diff --git a/bcipy/language/model/oracle.py b/bcipy/language/model/oracle.py index 0f3c9702f..fd4b6994a 100644 --- a/bcipy/language/model/oracle.py +++ b/bcipy/language/model/oracle.py @@ -10,6 +10,9 @@ logger = logging.getLogger() +TARGET_BUMP_MIN = 0.0 +TARGET_BUMP_MAX = 0.95 + class OracleLanguageModel(LanguageModel): """Language model which knows the target phrase the user is attempting to @@ -34,13 +37,35 @@ def __init__(self, task_text: str = None, target_bump: float = 0.1): super().__init__(response_type=response_type, symbol_set=symbol_set) - assert task_text, "task_text is required" self.task_text = task_text self.target_bump = target_bump logger.debug( f"Initialized OracleLanguageModel(task_text='{task_text}', target_bump={target_bump})" ) + @property + def task_text(self): + """Get the task_text property""" + return self._task_text + + @task_text.setter + def task_text(self, value: str): + """Setter for task_text""" + assert value, "task_text is required" + self._task_text = value + + @property + def target_bump(self): + """Get the target_bump property""" + return self._target_bump + + @target_bump.setter + def target_bump(self, value: float): + """Setter for target_bump""" + msg = f"target_bump should be between {TARGET_BUMP_MIN} and {TARGET_BUMP_MAX}" + assert TARGET_BUMP_MIN <= value <= TARGET_BUMP_MAX, msg + self._target_bump = value + def supported_response_types(self) -> List[ResponseType]: return [ResponseType.SYMBOL] diff --git a/bcipy/language/tests/test_oracle.py b/bcipy/language/tests/test_oracle.py index fb26c4923..e4d186263 100644 --- a/bcipy/language/tests/test_oracle.py +++ b/bcipy/language/tests/test_oracle.py @@ -73,3 +73,40 @@ def test_target_bump_parameter(self): self.assertAlmostEqual(0.2, probs_dict['H'] - probs_dict['A'], places=1) + + def test_setting_task_text_to_none(self): + """Test that task_text is required""" + lmodel = OracleLanguageModel(task_text="HELLO_WORLD") + with self.assertRaises(AssertionError): + lmodel.task_text = None + + def test_updating_task_text(self): + """Test updating the task_text property.""" + lm = OracleLanguageModel(task_text="HELLO_WORLD", target_bump=0.2) + probs = dict(lm.predict(evidence=list("HELLO_"))) + self.assertTrue(probs['W'] > probs['T'], + "Target should have a higher value") + + lm.task_text = "HELLO_THERE" + probs = dict(lm.predict(evidence=list("HELLO_"))) + self.assertTrue(probs['T'] > probs['W'], + "Target should have a higher value") + + def test_target_bump_bounds(self): + """Test the bounds of target_bump property""" + with self.assertRaises(AssertionError): + OracleLanguageModel(task_text="HI", target_bump=-1.0) + + with self.assertRaises(AssertionError): + OracleLanguageModel(task_text="HI", target_bump=1.1) + + lm = OracleLanguageModel(task_text="HI", target_bump=0.0) + with self.assertRaises(AssertionError): + lm.target_bump = -1.0 + + lm.target_bump = 0.5 + self.assertEqual(0.5, lm.target_bump) + + +if __name__ == '__main__': + unittest.main() From 21aedb4adff712d147983f387a576ee5d3c7d1bc Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 22 Feb 2024 14:30:33 -0800 Subject: [PATCH 226/330] Updated OracleLanguageModel to handle the case when the evidence exceeds the task_text length --- bcipy/language/model/oracle.py | 27 +++++++++++++++++++++------ bcipy/language/tests/test_oracle.py | 22 ++++++++++++++++++++++ 2 files changed, 43 insertions(+), 6 deletions(-) diff --git a/bcipy/language/model/oracle.py b/bcipy/language/model/oracle.py index fd4b6994a..42b5cc560 100644 --- a/bcipy/language/model/oracle.py +++ b/bcipy/language/model/oracle.py @@ -22,6 +22,9 @@ class OracleLanguageModel(LanguageModel): the target letter, which has a slightly higher probability. How much higher depends on the configured parameter. + After the target text has been correctly spelled subsequent predictions + yield all symbols with equal probability. + Parameters ---------- response_type - SYMBOL only @@ -84,11 +87,15 @@ def predict(self, evidence: Union[str, List[str]]) -> List[Tuple]: """ spelled_text = ''.join(evidence) probs = equally_probable(self.symbol_set) + symbol_probs = list(zip(self.symbol_set, probs)) target = self._next_target(spelled_text) - sym = (target, probs[0] + self.target_bump) - symbol_probs = list(zip(self.symbol_set, probs)) - updated_symbol_probs = with_min_prob(symbol_probs, sym) + if target: + sym = (target, probs[0] + self.target_bump) + updated_symbol_probs = with_min_prob(symbol_probs, sym) + else: + updated_symbol_probs = symbol_probs + return sorted(updated_symbol_probs, key=lambda pair: self.symbol_set.index(pair[0])) @@ -98,11 +105,19 @@ def update(self) -> None: def load(self) -> None: """Restore model state from the provided checkpoint""" - def _next_target(self, spelled_text: str) -> str: + def _next_target(self, spelled_text: str) -> Optional[str]: """Computes the next target letter based on the currently spelled_text. """ - if self.task_text[0:len(spelled_text)] == spelled_text: - # if correctly spelled so far, get the next letter. + len_spelled = len(spelled_text) + len_task = len(self.task_text) + + if len_spelled >= len_task and spelled_text[ + 0:len_task] == self.task_text: + return None + + if len_spelled < len_task and self.task_text[ + 0:len_spelled] == spelled_text: + # correctly spelled so far, get the next letter. return self.task_text[len(spelled_text)] return BACKSPACE_CHAR diff --git a/bcipy/language/tests/test_oracle.py b/bcipy/language/tests/test_oracle.py index e4d186263..69a2f7a2b 100644 --- a/bcipy/language/tests/test_oracle.py +++ b/bcipy/language/tests/test_oracle.py @@ -107,6 +107,28 @@ def test_target_bump_bounds(self): lm.target_bump = 0.5 self.assertEqual(0.5, lm.target_bump) + def test_evidence_exceeds_task(self): + """Test probs when evidence exceeds task_text.""" + lm = OracleLanguageModel(task_text="HELLO") + + probs = dict(lm.predict(evidence="HELL")) + self.assertEqual(2, len(set(probs.values()))) + self.assertEqual(max(probs.values()), probs['O']) + + probs = dict(lm.predict(evidence="HELLO")) + self.assertEqual(1, len(set(probs.values()))) + + probs = dict(lm.predict(evidence="HELLP")) + self.assertEqual(2, len(set(probs.values()))) + self.assertEqual(max(probs.values()), probs[BACKSPACE_CHAR]) + + probs = dict(lm.predict(evidence="HELLO_")) + self.assertEqual(1, len(set(probs.values()))) + + probs = dict(lm.predict(evidence="HELPED")) + self.assertEqual(2, len(set(probs.values()))) + self.assertEqual(max(probs.values()), probs[BACKSPACE_CHAR]) + if __name__ == '__main__': unittest.main() From 19d98d118961d3fd57648ae004659dc4723efcdf Mon Sep 17 00:00:00 2001 From: Srikar Ananthoju <46632027+sreekaroo@users.noreply.github.com> Date: Sat, 24 Feb 2024 16:28:28 -0800 Subject: [PATCH 227/330] Multiple run feature for sim (#317) * moving artifact related code into helper file * multi run save directory and logging configs done * averaged metrics from multi run. abstracted up some fields into simulator_base.py.py --- bcipy/simulator/__main__.py | 64 +++------------- bcipy/simulator/helpers/artifact.py | 48 ++++++++++++ bcipy/simulator/helpers/metrics.py | 54 +++++++++----- bcipy/simulator/helpers/sim_runner.py | 94 ++++++++++++++++++++++++ bcipy/simulator/helpers/state_manager.py | 7 ++ bcipy/simulator/sim.py | 3 + bcipy/simulator/sim_parameters.json | 11 +++ bcipy/simulator/simulator_base.py | 15 ++++ 8 files changed, 223 insertions(+), 73 deletions(-) create mode 100644 bcipy/simulator/helpers/artifact.py create mode 100644 bcipy/simulator/helpers/sim_runner.py diff --git a/bcipy/simulator/__main__.py b/bcipy/simulator/__main__.py index 81cf33975..4b845a450 100644 --- a/bcipy/simulator/__main__.py +++ b/bcipy/simulator/__main__.py @@ -2,54 +2,12 @@ import argparse import datetime -import logging -import os -import random -import sys from pathlib import Path -from bcipy.simulator.helpers.decision import MaxIterationsSim +from bcipy.simulator.helpers.sim_runner import MultiSimRunner, SingleSimRunner from bcipy.simulator.sim_factory import SimulationFactoryV2 from bcipy.simulator.simulator_base import Simulator - -def configure_logger(log_path, file_name): - """ configures logger for standard out nad file output """ - - log = logging.getLogger(None) # configuring root logger - log.setLevel(logging.DEBUG) - # Create handlers for logging to the standard output and a file - stdoutHandler = logging.StreamHandler(stream=sys.stdout) - fileHandler = logging.FileHandler(f"{log_path}/{file_name}.log") - - # Set the log levels on the handlers - stdoutHandler.setLevel(logging.INFO) - fileHandler.setLevel(logging.DEBUG) - - # Create a log format using Log Record attributes - fmt_file = logging.Formatter("%(levelname)s | %(filename)s >> %(message)s") - - fmt = logging.Formatter("%(message)s") - - # Set the log format on each handler - stdoutHandler.setFormatter(fmt) - fileHandler.setFormatter(fmt_file) - - # Add each handler to the Logger object - log.addHandler(stdoutHandler) - log.addHandler(fileHandler) - - -def init_save_dir(output_path, save_dir_name): - # creating wrapper dir to save to within /generated. Adds a unique 4 digit id to end - unique_id = random.sample(range(1000, 10000), 1)[0] - save_dir = f"{output_path}/SIM_{save_dir_name}_{unique_id}" - os.makedirs(save_dir) - os.makedirs(f"{save_dir}/logs") - - return save_dir - - if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument( @@ -65,26 +23,22 @@ def init_save_dir(output_path, save_dir_name): type=Path, required=True, help="Signal models to be used") - parser.add_argument( "-p", "--parameters", type=Path, required=True, help="Parameter File to be used") - parser.add_argument("-o", "--out_dir", type=Path, default=Path(__file__).resolve().parent) - args = vars(parser.parse_args()) - output_path = "bcipy/simulator/generated" # TODO read from parameters - now_time = datetime.datetime.now().strftime("%m-%d-%H:%M") - args['save_dir'] = init_save_dir(output_path, now_time) - - # setting up logging - log_path = f"{args['save_dir']}/logs" - configure_logger(log_path, now_time) - simulator: Simulator = SimulationFactoryV2.create(**args) - simulator.run() + sim_run_count = simulator.get_parameters().get('sim_run_count', 1) + + if sim_run_count > 1: # running multiple times + runner = MultiSimRunner(simulator, sim_run_count) + runner.run() + else: + runner = SingleSimRunner(simulator) + runner.run() diff --git a/bcipy/simulator/helpers/artifact.py b/bcipy/simulator/helpers/artifact.py new file mode 100644 index 000000000..6bde9cb17 --- /dev/null +++ b/bcipy/simulator/helpers/artifact.py @@ -0,0 +1,48 @@ +""" Handles artifacts related logic ie. logs, save dir creation, result.json, ...""" +import logging +import os +import random +import sys + + +def configure_logger(log_path, file_name): + """ configures logger for standard out nad file output """ + + log = logging.getLogger(None) # configuring root logger + log.setLevel(logging.DEBUG) + # Create handlers for logging to the standard output and a file + stdoutHandler = logging.StreamHandler(stream=sys.stdout) + fileHandler = logging.FileHandler(f"{log_path}/{file_name}.log") + + # Set the log levels on the handlers + stdoutHandler.setLevel(logging.INFO) + fileHandler.setLevel(logging.DEBUG) + + # Create a log format using Log Record attributes + fmt_file = logging.Formatter("%(levelname)s | %(filename)s >> %(message)s") + + fmt = logging.Formatter("%(message)s") + + # Set the log format on each handler + stdoutHandler.setFormatter(fmt) + fileHandler.setFormatter(fmt_file) + + # Add each handler to the Logger object + if stdoutHandler.stream.name not in [handler.stream.name for handler in log.handlers]: + log.addHandler(stdoutHandler) + + log.addHandler(fileHandler) + + +def init_save_dir(output_path, save_dir_name): + """ creating wrapper dir to save sim results to. + - Saves to {output_path} + - Adds a unique 4-digit id to end + """ + + unique_id = random.sample(range(1000, 10000), 1)[0] + save_dir = f"{output_path}/SIM_{save_dir_name}_{unique_id}" + os.makedirs(save_dir) + os.makedirs(f"{save_dir}/logs") + + return save_dir diff --git a/bcipy/simulator/helpers/metrics.py b/bcipy/simulator/helpers/metrics.py index 8bed0d69b..91c08f901 100644 --- a/bcipy/simulator/helpers/metrics.py +++ b/bcipy/simulator/helpers/metrics.py @@ -1,36 +1,54 @@ +import dataclasses from abc import ABC, abstractmethod -from dataclasses import dataclass from functools import reduce -from typing import Dict, Any, Optional, List +from typing import Dict, Any, List import numpy as np from bcipy.helpers.acquisition import max_inquiry_duration from bcipy.simulator.helpers.state_manager import SimState from bcipy.simulator.helpers.types import InquiryResult -from bcipy.simulator.simulator_base import Simulator -@dataclass +@dataclasses.dataclass class SimMetrics1: - total_series: Optional[int] = None - total_inquiries: Optional[int] = None - total_decisions: Optional[int] = None - total_time_spent: Optional[float] = None + total_series: int = 0 + total_inquiries: int = 0 + total_decisions: int = 0 - inquiries_per_selection: Optional[float] = None + total_time_spent: float = 0.0 + inquiries_per_selection: float = 0.0 + + +def average_sim_metrics(run_scores: List[SimMetrics1]) -> Dict: + """ Averages the values in multiple SimMetrics1 objects """ + + metric_acc_dict = dataclasses.asdict(SimMetrics1()) + N = len(run_scores) + + if N < 1: + return metric_acc_dict + + for run_metrics in run_scores: + for field, val in dataclasses.asdict(run_metrics).items(): + metric_acc_dict[field] += val + + for key, val in metric_acc_dict.items(): + metric_acc_dict[key] = round(val / N, 3) + + return metric_acc_dict class RefereeHandler(ABC): @abstractmethod - def handle(self, sim: Simulator) -> Dict[str, Any]: + def handle(self, sim) -> Dict[str, Any]: ... class SimMetrics1Handler(RefereeHandler): - def handle(self, sim: Simulator) -> Dict[str, Any]: - state: SimState = getattr(sim, ("state_manager")).get_state() + def handle(self, sim) -> Dict[str, Any]: + state: SimState = getattr(sim, "state_manager").get_state() # calculating total decisions made flattened_inquiries: List[InquiryResult] = reduce(lambda l1, l2: l1 + l2, @@ -56,7 +74,7 @@ def handle(self, sim: Simulator) -> Dict[str, Any]: ret = SimMetrics1(total_series=total_series, total_inquiries=total_inquiries, total_decisions=total_decisions, total_time_spent=total_time_spent, inquiries_per_selection=inquiries_per_selection) - return ret.__dict__ + return dataclasses.asdict(ret) class MetricReferee(ABC): @@ -64,11 +82,11 @@ class MetricReferee(ABC): # May change to SimState that is passed around not whole Simulator # Depends on how much data encapsulated by SimState @abstractmethod - def score(self, sim: Simulator): + def score(self, sim): """ Generate registered metrics for simulation """ @abstractmethod - def visualize(self, sim: Simulator): + def visualize(self, sim): """ Generate registered visualizations for sim """ @abstractmethod @@ -89,9 +107,9 @@ def __init__(self, metric_handlers=None, viz_handlers=None): self.inquiry_time: float = 1 # 1 inq -> 1 second # TODO maybe some configurable parameters for visualizations - def score(self, sim: Simulator) -> SimMetrics1: + def score(self, sim) -> SimMetrics1: metrics = SimMetrics1() - metrics_dict = metrics.__dict__ + metrics_dict = dataclasses.asdict(metrics) for handler_name, handler in self.metric_handlers.items(): handler_metrics = handler.handle(sim) @@ -101,7 +119,7 @@ def score(self, sim: Simulator) -> SimMetrics1: return SimMetrics1(**metrics_dict) - def visualize(self, sim: Simulator): + def visualize(self, sim): for handler_name, viz_handler in self.viz_handlers.items(): viz_handler.handle(sim) diff --git a/bcipy/simulator/helpers/sim_runner.py b/bcipy/simulator/helpers/sim_runner.py new file mode 100644 index 000000000..bd10cd169 --- /dev/null +++ b/bcipy/simulator/helpers/sim_runner.py @@ -0,0 +1,94 @@ +""" Wrappers that run a simulation """ +import datetime +import json +import os +import time +from typing import Dict + +from bcipy.helpers.parameters import Parameters +from bcipy.simulator.helpers import artifact +from bcipy.simulator.helpers.metrics import average_sim_metrics +from bcipy.simulator.simulator_base import Simulator + + +class MultiSimRunner: + + def __init__(self, simulator: Simulator, n: int, save_dir=None, iteration_sleep=0): + self.simulator: Simulator = simulator + self.parameters: Parameters = self.simulator.get_parameters() + self.n: int = n + self.iteration_sleep: int = iteration_sleep + + self.wrapper_save_dir: str = save_dir if save_dir else self.__make_default_save_path() + + def run(self): + # making wrapper dir for all simulations + os.makedirs(self.wrapper_save_dir) + + # list of metrics from sim runs + all_run_metrics = [] + + # running simulator n times. resetting after each run + for i in range(self.n): + + # creating save dir for sim_i, then mutating sim_i save_directory + sim_i_save_dir = artifact.init_save_dir(self.wrapper_save_dir, f"run{i}") + self.simulator.save_dir = sim_i_save_dir + artifact.configure_logger(f"{sim_i_save_dir}/logs", f"logs") + + # running simulator + self.simulator.run() + + if self.iteration_sleep > 0: + time.sleep(self.iteration_sleep) + + # aggregating metrics from each run + run_metrics = self.simulator.referee.score(self.simulator) + all_run_metrics.append(run_metrics) + + self.simulator.reset() + + # save averaged results to a file in root of wrapper dir + average_metrics = average_sim_metrics(all_run_metrics) + self.__save_average_metrics(average_metrics) + + def __make_default_save_path(self): + output_path = "bcipy/simulator/generated" + now_time = datetime.datetime.now().strftime("%m-%d-%H:%M") + dir_name = f"SIM_MULTI_{self.n}_{now_time}" + + return f"{output_path}/{dir_name}" + + def __save_average_metrics(self, avg_metric_dict: Dict): + """ Writing average dictionary of metrics to a json file in root of MultiRun save dir """ + + with open(f"{self.wrapper_save_dir}/avg_metrics.json", 'w') as output_file: + json.dump(avg_metric_dict, output_file, indent=1) + + +class SingleSimRunner: + + def __init__(self, simulator: Simulator, save_dir=None): + self.simulator: Simulator = simulator + self.parameters: Parameters = self.simulator.get_parameters() + + self.wrapper_save_dir: str = save_dir if save_dir else self.__make_default_save_path() + + def run(self): + # logging and save details + now_time = datetime.datetime.now().strftime("%m-%d-%H:%M") + save_dir_path = artifact.init_save_dir(self.wrapper_save_dir, now_time) + + # configuring logger to save to {output_wrapper_path}/logs + log_path = f"{save_dir_path}/logs" + artifact.configure_logger(log_path, now_time) + + # mutating simulator to save to specific save_dir + self.simulator.save_dir = save_dir_path + + # running sim + self.simulator.run() + + def __make_default_save_path(self): + output_path = "bcipy/simulator/generated" + return f"{output_path}" diff --git a/bcipy/simulator/helpers/state_manager.py b/bcipy/simulator/helpers/state_manager.py index 288057e77..fb2c5b6b2 100644 --- a/bcipy/simulator/helpers/state_manager.py +++ b/bcipy/simulator/helpers/state_manager.py @@ -72,6 +72,9 @@ def get_state(self) -> SimState: def mutate_state(self, state_field, state_value): pass + def reset_state(self): + ... + class StateManagerImpl(StateManager): @@ -170,6 +173,10 @@ def mutate_state(self, state_field, state_value) -> SimState: raise FieldException(f"Cannot find state field {state_field}") + def reset_state(self): + self.state = self.initial_state(self.parameters) + return self + @staticmethod def initial_state(parameters: Parameters = None) -> SimState: sentence = "HELLO_WORLD" # TODO abstract out with sim_parameters.json diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index 496eaa44c..d373b69a0 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -158,5 +158,8 @@ def save_run(self): # writing params self.parameters.save(directory=self.save_dir) + def reset(self): + self.state_manager.reset_state() + def get_parameters(self): return self.parameters.copy() diff --git a/bcipy/simulator/sim_parameters.json b/bcipy/simulator/sim_parameters.json index dd16d0066..bab2e0796 100644 --- a/bcipy/simulator/sim_parameters.json +++ b/bcipy/simulator/sim_parameters.json @@ -53,5 +53,16 @@ "/lm_parameters.json" ], "type": "str" + }, + "sim_run_count": { + "value": "5", + "section": "sim_config", + "readableName": "How many times to run simulator", + "helpTip": "", + "recommended_values": [ + "1", + "5" + ], + "type": "int" } } \ No newline at end of file diff --git a/bcipy/simulator/simulator_base.py b/bcipy/simulator/simulator_base.py index 83db6dbf1..68013701f 100644 --- a/bcipy/simulator/simulator_base.py +++ b/bcipy/simulator/simulator_base.py @@ -3,6 +3,11 @@ from abc import ABC, abstractmethod from bcipy.helpers.parameters import Parameters +from bcipy.simulator.helpers import metrics +from bcipy.simulator.helpers.data_engine import DataEngine +from bcipy.simulator.helpers.model_handler import ModelHandler +from bcipy.simulator.helpers.sampler import Sampler +from bcipy.simulator.helpers.state_manager import StateManager class Simulator(ABC): @@ -14,6 +19,13 @@ class Simulator(ABC): - run closed loop simulation of {TaskType} with {data} with {simulation_params} """ + model_handler: ModelHandler + sampler: Sampler + state_manager: StateManager + data_engine: DataEngine + referee: metrics.MetricReferee + parameters: Parameters + @abstractmethod def run(self): """ Run loop for simulation""" @@ -21,3 +33,6 @@ def run(self): @abstractmethod def get_parameters(self) -> Parameters: """ retrieving parameters copy""" + + def reset(self): + ... From 38afa5584e3bc33c82811d7331406caee7982b06 Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Thu, 7 Mar 2024 12:58:25 -0500 Subject: [PATCH 228/330] starting to make artifact look like session.json --- bcipy/simulator/helpers/artifact.py | 1 + bcipy/simulator/helpers/state_manager.py | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/bcipy/simulator/helpers/artifact.py b/bcipy/simulator/helpers/artifact.py index 6bde9cb17..06b7586bb 100644 --- a/bcipy/simulator/helpers/artifact.py +++ b/bcipy/simulator/helpers/artifact.py @@ -46,3 +46,4 @@ def init_save_dir(output_path, save_dir_name): os.makedirs(f"{save_dir}/logs") return save_dir + diff --git a/bcipy/simulator/helpers/state_manager.py b/bcipy/simulator/helpers/state_manager.py index fb2c5b6b2..b4f1dfcb3 100644 --- a/bcipy/simulator/helpers/state_manager.py +++ b/bcipy/simulator/helpers/state_manager.py @@ -187,3 +187,23 @@ def initial_state(parameters: Parameters = None) -> SimState: return SimState(target_symbol=target_symbol, current_sentence="", target_sentence=sentence, display_alphabet=init_stimuli, inquiry_n=0, series_n=0, series_results=[[]], decision_criterion=default_criterion) + + +def format_sim_state_dump(state: SimState): + """ Formats a SimState dump to look similar to session.json """ + + # TODO + ret = {'series': {}} + + series_dict = {} + for i, series in enumerate(state.series_results): + if series: + curr_series_dict = {} + series_dict[str(i + 1)] = curr_series_dict + for inq_idx, inq in enumerate(series): + inq_dict = inq.to_json() + curr_series_dict[str(inq_idx)] = inq_dict + for evidence_type, evidence in inq_dict['evidences'].items(): + pass + + return ret From 29a5b24eee9c95750f7195916cad356e531d26d4 Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Thu, 14 Mar 2024 14:43:18 -0400 Subject: [PATCH 229/330] changed series from list to dictionary in result.json --- bcipy/simulator/helpers/state_manager.py | 21 +++++++++++---------- bcipy/simulator/sim.py | 4 ++-- bcipy/simulator/sim_parameters.json | 2 +- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/bcipy/simulator/helpers/state_manager.py b/bcipy/simulator/helpers/state_manager.py index b4f1dfcb3..4d0705b01 100644 --- a/bcipy/simulator/helpers/state_manager.py +++ b/bcipy/simulator/helpers/state_manager.py @@ -192,18 +192,19 @@ def initial_state(parameters: Parameters = None) -> SimState: def format_sim_state_dump(state: SimState): """ Formats a SimState dump to look similar to session.json """ - # TODO - ret = {'series': {}} + # TODO finish function + ret = state.to_json() + + # removing the 'series_results' field and replacing with formatted 'series' dict + ret.pop('series_results') series_dict = {} for i, series in enumerate(state.series_results): - if series: - curr_series_dict = {} - series_dict[str(i + 1)] = curr_series_dict - for inq_idx, inq in enumerate(series): - inq_dict = inq.to_json() - curr_series_dict[str(inq_idx)] = inq_dict - for evidence_type, evidence in inq_dict['evidences'].items(): - pass + curr_series_dict = {} + series_dict[str(i + 1)] = curr_series_dict + for inq_idx, inq in enumerate(series): + inq_dict = inq.to_json() + curr_series_dict[str(inq_idx)] = inq_dict + ret['series'] = series_dict return ret diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index d373b69a0..d05ba205f 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -14,7 +14,7 @@ from bcipy.simulator.helpers.metrics import MetricReferee from bcipy.simulator.helpers.rsvp_utils import format_lm_output from bcipy.simulator.helpers.sampler import Sampler -from bcipy.simulator.helpers.state_manager import StateManager, SimState +from bcipy.simulator.helpers.state_manager import StateManager, SimState, format_sim_state_dump from bcipy.simulator.helpers.types import InquiryResult, SimEvidence from bcipy.simulator.helpers.log_utils import fmt_stim_likelihoods, fmt_reshaped_evidence from bcipy.simulator.helpers.model_handler import ModelHandler @@ -147,7 +147,7 @@ def save_run(self): # creating result.json object with final state and metrics final_state = self.state_manager.get_state() - final_state_json: Dict = final_state.to_json() + final_state_json: Dict = format_sim_state_dump(final_state) metric_dict = dataclasses.asdict(self.referee.score(self)) metric_dict.update(final_state_json) # adding state data to metrics diff --git a/bcipy/simulator/sim_parameters.json b/bcipy/simulator/sim_parameters.json index bab2e0796..d609044b7 100644 --- a/bcipy/simulator/sim_parameters.json +++ b/bcipy/simulator/sim_parameters.json @@ -55,7 +55,7 @@ "type": "str" }, "sim_run_count": { - "value": "5", + "value": "1", "section": "sim_config", "readableName": "How many times to run simulator", "helpTip": "", From aa9cc7f43bf65e7da7f5866ccd2a47384b5fdb41 Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 14 Mar 2024 12:02:02 -0700 Subject: [PATCH 230/330] Usability fixes (#318) * Small fixes needed for recent data analysis * Added the ability to select a subset of directories * Reverted logging statements --------- Co-authored-by: Srikar Ananthoju <46632027+sreekaroo@users.noreply.github.com> --- bcipy/simulator/README.md | 7 ++++++- bcipy/simulator/__main__.py | 16 +++++++++++++--- bcipy/simulator/helpers/model_handler.py | 7 ++++--- bcipy/simulator/helpers/state_manager.py | 14 ++++++++------ bcipy/simulator/sim_factory.py | 22 +++++++++++++--------- bcipy/simulator/sim_parameters.json | 2 +- 6 files changed, 45 insertions(+), 23 deletions(-) diff --git a/bcipy/simulator/README.md b/bcipy/simulator/README.md index 11773d456..3db647f65 100644 --- a/bcipy/simulator/README.md +++ b/bcipy/simulator/README.md @@ -13,7 +13,7 @@ live session. module from shell as such: -``python3 bcipy/simulator -d "pathToDataFolder1" -d "pathToOptionalDataFolder2" -sm "pathToSignalModel.pkl"`` +``python3 bcipy/simulator -d "pathToDataFolder" -p "pathToParametersFile" -sm "pathToSignalModel.pkl"`` Then view generated LOG file for analysis @@ -23,6 +23,11 @@ Then view generated LOG file for analysis which simulator will sample EEG responses. Should contain _raw_data.csv_, _triggers.txt_, _parameters.json_ +- `g` : optional glob filter that can be used to select a subset of data. + - Ex. `"*Matrix_Copy*Jan_2024*"` will select all data for all Matrix Copy Phrase sessions recorded in January of 2024 (assuming the BciPy folder naming convention). + - Glob patterns can also include nested directories (ex. `"*/*Matrix_Copy*"`). +- `p` : path to the parameters.json file used to run the simulation. These parameters will be applied to + all raw_data files when loading. - `sm`: the signal model argument is necessary to generate evidence ### Architecture diff --git a/bcipy/simulator/__main__.py b/bcipy/simulator/__main__.py index 4b845a450..34a889d07 100644 --- a/bcipy/simulator/__main__.py +++ b/bcipy/simulator/__main__.py @@ -1,7 +1,7 @@ """ Entry point to run Simulator """ import argparse -import datetime +from glob import glob from pathlib import Path from bcipy.simulator.helpers.sim_runner import MultiSimRunner, SingleSimRunner @@ -9,6 +9,8 @@ from bcipy.simulator.simulator_base import Simulator if __name__ == "__main__": + glob_help = ('glob pattern to select a subset of data folders' + ' Ex. "*RSVP_Copy_Phrase*"') parser = argparse.ArgumentParser() parser.add_argument( "-d", @@ -16,6 +18,7 @@ type=Path, required=True, help="Raw data folders to be processed. Singular wrapper dir with data folders") + parser.add_argument('-g', '--glob_pattern', help=glob_help, default="*") parser.add_argument( "-sm", "--smodel_files", @@ -29,10 +32,17 @@ type=Path, required=True, help="Parameter File to be used") + parser.add_argument("-o", "--out_dir", type=Path, default=Path(__file__).resolve().parent) - args = vars(parser.parse_args()) + args = parser.parse_args() + sim_args = vars(args) - simulator: Simulator = SimulationFactoryV2.create(**args) + sim_args['source_dirs'] = [ + Path(d) for d in glob(str(Path(args.data_folder, args.glob_pattern))) + if Path(d).is_dir() + ] + + simulator: Simulator = SimulationFactoryV2.create(**sim_args) sim_run_count = simulator.get_parameters().get('sim_run_count', 1) diff --git a/bcipy/simulator/helpers/model_handler.py b/bcipy/simulator/helpers/model_handler.py index db5a89591..1858407be 100644 --- a/bcipy/simulator/helpers/model_handler.py +++ b/bcipy/simulator/helpers/model_handler.py @@ -5,8 +5,9 @@ import numpy as np -from bcipy.helpers.language_model import init_language_model, histogram, with_min_prob -from bcipy.helpers.symbols import alphabet, BACKSPACE_CHAR +from bcipy.helpers.language_model import (histogram, init_language_model, + with_min_prob) +from bcipy.helpers.symbols import BACKSPACE_CHAR, alphabet from bcipy.language import LanguageModel from bcipy.signal.model import SignalModel from bcipy.simulator.helpers.state_manager import SimState @@ -59,7 +60,7 @@ def __init__(self, sm_model_file, parameters): self.signal_model: Optional[SignalModel] = None self.lm_model: LanguageModel = init_language_model(parameters) self.alp = alphabet() - self.backspace_prob: float = 0.05 + self.backspace_prob: float = parameters.get('lm_backspace_prob', 0.05) with open(self.sm_model_file, "rb") as signal_file: self.signal_model = pickle.load(signal_file) diff --git a/bcipy/simulator/helpers/state_manager.py b/bcipy/simulator/helpers/state_manager.py index 4d0705b01..7888d5080 100644 --- a/bcipy/simulator/helpers/state_manager.py +++ b/bcipy/simulator/helpers/state_manager.py @@ -4,16 +4,18 @@ import random from abc import ABC from dataclasses import dataclass -from typing import List, Optional, Dict +from typing import Dict, List, Optional import numpy as np from bcipy.helpers.exceptions import FieldException from bcipy.helpers.language_model import histogram from bcipy.helpers.parameters import Parameters -from bcipy.helpers.symbols import alphabet, BACKSPACE_CHAR -from bcipy.simulator.helpers.decision import SimDecisionCriteria, MaxIterationsSim, ProbThresholdSim -from bcipy.simulator.helpers.evidence_fuser import MultiplyFuser, EvidenceFuser +from bcipy.helpers.symbols import BACKSPACE_CHAR, alphabet +from bcipy.simulator.helpers.decision import (MaxIterationsSim, + ProbThresholdSim, + SimDecisionCriteria) +from bcipy.simulator.helpers.evidence_fuser import EvidenceFuser, MultiplyFuser from bcipy.simulator.helpers.log_utils import fmt_likelihoods_for_hist from bcipy.simulator.helpers.rsvp_utils import next_target_letter from bcipy.simulator.helpers.types import InquiryResult, SimEvidence @@ -79,7 +81,7 @@ def reset_state(self): class StateManagerImpl(StateManager): def __init__(self, parameters: Parameters, fuser_class=MultiplyFuser): - self.state: SimState = self.initial_state() + self.state: SimState = self.initial_state(parameters) self.parameters = parameters self.fuser_class: EvidenceFuser.__class__ = fuser_class @@ -179,7 +181,7 @@ def reset_state(self): @staticmethod def initial_state(parameters: Parameters = None) -> SimState: - sentence = "HELLO_WORLD" # TODO abstract out with sim_parameters.json + sentence = parameters.get('task_text', "HELLO_WORLD") # TODO abstract out with sim_parameters.json target_symbol = sentence[0] # TODO use parameters.get('spelled_letters_count') default_criterion: List[SimDecisionCriteria] = [MaxIterationsSim(50), ProbThresholdSim(0.8)] init_stimuli = random.sample(alphabet(), 10) diff --git a/bcipy/simulator/sim_factory.py b/bcipy/simulator/sim_factory.py index 1c931009d..b58c8d1ae 100644 --- a/bcipy/simulator/sim_factory.py +++ b/bcipy/simulator/sim_factory.py @@ -3,12 +3,16 @@ from typing import List from bcipy.helpers.load import load_json_parameters -from bcipy.simulator.helpers.data_engine import RawDataEngine, RawDataEngineWrapper -from bcipy.simulator.helpers.metrics import MetricReferee, RefereeImpl, SimMetrics1Handler -from bcipy.simulator.helpers.model_handler import SignalModelHandler1, ModelHandler, \ - SigLmModelHandler1 -from bcipy.simulator.helpers.sampler import Sampler, EEGByLetterSampler -from bcipy.simulator.helpers.state_manager import StateManager, StateManagerImpl +from bcipy.simulator.helpers.data_engine import (RawDataEngine, + RawDataEngineWrapper) +from bcipy.simulator.helpers.metrics import (MetricReferee, RefereeImpl, + SimMetrics1Handler) +from bcipy.simulator.helpers.model_handler import (ModelHandler, + SigLmModelHandler1, + SignalModelHandler1) +from bcipy.simulator.helpers.sampler import EEGByLetterSampler, Sampler +from bcipy.simulator.helpers.state_manager import (StateManager, + StateManagerImpl) from bcipy.simulator.sim import SimulatorCopyPhrase @@ -16,7 +20,7 @@ class SimulationFactoryV2: """ Factory class to create Simulator instances """ @staticmethod - def create(data_folder: str, smodel_files: List[str], + def create(source_dirs: List[Path], smodel_files: List[str], sim_param_path="bcipy/simulator/sim_parameters.json", save_dir=None, **kwargs): # out_dir = kwargs.get('out_dir', Path(__file__).resolve().parent) @@ -25,8 +29,8 @@ def create(data_folder: str, smodel_files: List[str], base_parameters = load_json_parameters(kwargs.get('parameters'), value_cast=True) base_parameters.add_missing_items(sim_parameters) - data_engine = RawDataEngineWrapper(data_folder, base_parameters) - state_manager: StateManager = StateManagerImpl(sim_parameters) + data_engine = RawDataEngine(source_dirs, base_parameters) + state_manager: StateManager = StateManagerImpl(base_parameters) sampler: Sampler = EEGByLetterSampler(data_engine) model_handler: ModelHandler = SigLmModelHandler1(model_file, base_parameters) \ if sim_parameters.get("sim_lm_active", 0) == 1 else SignalModelHandler1(model_file) diff --git a/bcipy/simulator/sim_parameters.json b/bcipy/simulator/sim_parameters.json index d609044b7..23ca4d955 100644 --- a/bcipy/simulator/sim_parameters.json +++ b/bcipy/simulator/sim_parameters.json @@ -34,7 +34,7 @@ "type": "float" }, "sim_lm_active": { - "value": "0", + "value": "1", "section": "sim_config", "readableName": "is lm active or off", "helpTip": "", From 5576589e3c35badb6efd03e8cb004c3fe36ddea8 Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 18 Mar 2024 10:51:57 -0700 Subject: [PATCH 231/330] Added new sampler to sample an Inquiry at a time --- bcipy/simulator/helpers/log_utils.py | 8 +- bcipy/simulator/helpers/sampler.py | 133 ++++++++++++++++++++++++++- 2 files changed, 135 insertions(+), 6 deletions(-) diff --git a/bcipy/simulator/helpers/log_utils.py b/bcipy/simulator/helpers/log_utils.py index 1d7b1ca27..78964f53f 100644 --- a/bcipy/simulator/helpers/log_utils.py +++ b/bcipy/simulator/helpers/log_utils.py @@ -1,4 +1,4 @@ -from typing import List, Dict +from typing import Dict, List import pandas as pd @@ -23,6 +23,12 @@ def format_sample_rows(sample_rows: List[pd.Series]) -> str: index=False, header=True) +def format_sample_df(sample_rows: pd.DataFrame) -> str: + """Returns a tabular representation of the sample rows.""" + return sample_rows.drop(columns=['eeg']).to_string(index=False, + header=True) + + def fmt_reshaped_evidence(evidences: Dict[str, SimEvidence]): """ Formats evidences to log shapes pf ndarrays """ diff --git a/bcipy/simulator/helpers/sampler.py b/bcipy/simulator/helpers/sampler.py index 18b39f430..efb57caa3 100644 --- a/bcipy/simulator/helpers/sampler.py +++ b/bcipy/simulator/helpers/sampler.py @@ -1,6 +1,9 @@ import logging +import random from abc import ABC -from typing import Callable, List +from collections import defaultdict +from pathlib import Path +from typing import Callable, Dict, List, Tuple import numpy as np import pandas as pd @@ -9,7 +12,8 @@ from bcipy.helpers.parameters import Parameters from bcipy.helpers.symbols import alphabet from bcipy.simulator.helpers.data_engine import RawDataEngine -from bcipy.simulator.helpers.log_utils import format_sample_rows +from bcipy.simulator.helpers.log_utils import (format_sample_df, + format_sample_rows) from bcipy.simulator.helpers.state_manager import SimState log = logging.getLogger(__name__) @@ -27,7 +31,9 @@ def set_reshaper(self, reshaper: Callable): class EEGByLetterSampler(Sampler): - def __init__(self, data_engine: RawDataEngine, parameters: Parameters = None): + def __init__(self, + data_engine: RawDataEngine, + parameters: Parameters = None): self.data_engine: RawDataEngine = data_engine self.parameters: Parameters = self.data_engine.parameters if not parameters else parameters self.model_input_reshaper: Callable = self.__default_reshaper @@ -50,7 +56,8 @@ def sample(self, state: SimState) -> np.ndarray: for symbol in inquiry_letter_subset: is_target = int(symbol == target_letter) # filtered_data = self.data.query(f'target == {is_target} and symbol == "{symbol}"') - filtered_data: pd.DataFrame = self.data.query(f'target == {is_target}') + filtered_data: pd.DataFrame = self.data.query( + f'target == {is_target}') if filtered_data is None or len(filtered_data) == 0: raise TaskConfigurationException( message="No eeg sample found with provided data and query") @@ -68,7 +75,8 @@ def sample(self, state: SimState) -> np.ndarray: def set_reshaper(self, reshaper: Callable): self.model_input_reshaper = reshaper - def __default_reshaper(self, eeg_responses: List[np.ndarray]) -> np.ndarray: + def __default_reshaper(self, + eeg_responses: List[np.ndarray]) -> np.ndarray: # returns (channel_n, trial_n, sample_n) channels_eeg = [[] for i in range(len(eeg_responses[0]))] @@ -79,3 +87,118 @@ def __default_reshaper(self, eeg_responses: List[np.ndarray]) -> np.ndarray: # make sure this returns (7, 10, 90) for tab_test_dynamic return np.array(channels_eeg) + + +def default_reshaper(eeg_responses: List[np.ndarray]) -> np.ndarray: + """Default data reshaper. + + Returns + ------- + ndarray with shape (channel_n, trial_n, sample_n) + """ + + channels_eeg = [[] for i in range(len(eeg_responses[0]))] + + for _i, trial_channels_eeg in enumerate(eeg_responses): + for c_i, channel_eeg in enumerate(trial_channels_eeg): + channels_eeg[c_i].append(channel_eeg) + + return np.array(channels_eeg) + + +class InquirySampler(Sampler): + """Samples an inquiry of data at a time.""" + + def __init__(self, data_engine: RawDataEngine, *args, **kwargs): + self.model_input_reshaper = default_reshaper + self.data: pd.DataFrame = data_engine.transform().get_data() + + # map source to inquiry numbers + self.target_inquiries, self.no_target_inquiries = self.prepare_data( + self.data) + + def prepare_data( + self, data: pd.DataFrame + ) -> Tuple[Dict[Path, List[int]], Dict[Path, List[int]]]: + """Partition the data into those inquiries that displayed the target + and those that did not. The resulting data structures map the data + source with a list of inquiry_n numbers.""" + + target_inquiries = defaultdict(list) + no_target_inquiries = defaultdict(list) + + # TODO: there is probably a more optimal way to use pandas to compute. + # Look into groupby. + for source in data['source'].unique(): + source_df = data[data['source'] == source] + for n in source_df['inquiry_n'].unique(): + inquiry_df = source_df[source_df['inquiry_n'] == n] + has_target = inquiry_df[inquiry_df['target'] == + 1]['target'].any() + + if has_target: + target_inquiries[source].append(n) + else: + no_target_inquiries[source].append(n) + + return target_inquiries, no_target_inquiries + + def sample(self, state: SimState) -> np.ndarray: + """Samples a random inquiry for a random data source. + + Ensures that if a target is shown in the current inquiry the sampled + data will be from an inquiry where the target was presented. + + Returns + ------- + nd array (n_channel, n_trial, n_sample) + """ + + target_letter = state.target_symbol + inquiry_letter_subset = state.display_alphabet + + if target_letter in inquiry_letter_subset: + source_inquiries = self.target_inquiries + target_pos = inquiry_letter_subset.index(target_letter) + 1 + else: + source_inquiries = self.no_target_inquiries + target_pos = 0 # unused + + # randomly select a valid data source and inquiry + data_source = random.choice(list(source_inquiries.keys())) + inquiry_n = random.choice(source_inquiries[data_source]) + + # select all trials for the data_source and inquiry + inquiry_df = self.data.loc[(self.data['source'] == data_source) + & (self.data['inquiry_n'] == inquiry_n)] + assert len(inquiry_df) == len( + inquiry_letter_subset), f"Invalid data source {data_source}" + + inq_target_pos = target_pos + if target_letter in inquiry_letter_subset: + inq_target_index = inquiry_df[inquiry_df['target'] == 1].index[0] + inq_target_pos = inquiry_df.index.tolist().index(inq_target_index) + + if inq_target_pos == target_pos: + new_pos = inq_target_pos + elif inq_target_pos < target_pos: + new_pos = target_pos + 0.5 + elif inq_target_pos > target_pos: + new_pos = target_pos - 0.5 + + # define a sort column to move the target in the inquiry to the desired index + sort_pos = inquiry_df['inquiry_pos'].where(inquiry_df['target'] == 0, + new_pos) + + # select the inquiry items in sorted position + sorted_inquiry_df = inquiry_df.loc[sort_pos.sort_values().index] + log.debug(f"EEG Samples: \n {format_sample_df(sorted_inquiry_df)}") + # import pdb; pdb.set_trace() + rows = [ + sorted_inquiry_df.iloc[i] for i in range(len(sorted_inquiry_df)) + ] + eeg_responses = [r['eeg'] for r in rows] + return self.model_input_reshaper(eeg_responses) + + def set_reshaper(self, reshaper: Callable): + self.model_input_reshaper = reshaper From a93b782877c98be86282e9244c136731f1b453ba Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Mon, 18 Mar 2024 17:06:01 -0400 Subject: [PATCH 232/330] cleaned up TODO comments --- bcipy/simulator/helpers/data_engine.py | 2 -- bcipy/simulator/helpers/signal_helpers.py | 2 +- bcipy/simulator/helpers/state_manager.py | 14 +++++--------- bcipy/simulator/sim.py | 12 ++++++++++-- 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/bcipy/simulator/helpers/data_engine.py b/bcipy/simulator/helpers/data_engine.py index 34be48f3a..ff7211c45 100644 --- a/bcipy/simulator/helpers/data_engine.py +++ b/bcipy/simulator/helpers/data_engine.py @@ -56,8 +56,6 @@ class RawDataEngine(DataEngine): """ def __init__(self, source_dirs: List[str], parameters: Parameters): - # TODO read parameters from source dirx - # TODO use os.walk() and take in single source_dir that has all data folders self.source_dirs: List[str] = source_dirs self.parameters: Parameters = parameters self.data: Optional[List[ExtractedExperimentData]] = None diff --git a/bcipy/simulator/helpers/signal_helpers.py b/bcipy/simulator/helpers/signal_helpers.py index 8f511c824..2bf56be77 100644 --- a/bcipy/simulator/helpers/signal_helpers.py +++ b/bcipy/simulator/helpers/signal_helpers.py @@ -21,7 +21,7 @@ @dataclass() -class ExtractedExperimentData: # TODO clean up design +class ExtractedExperimentData: source_dir: str inquiries: np.ndarray trials: np.ndarray diff --git a/bcipy/simulator/helpers/state_manager.py b/bcipy/simulator/helpers/state_manager.py index 7888d5080..0269ffbcd 100644 --- a/bcipy/simulator/helpers/state_manager.py +++ b/bcipy/simulator/helpers/state_manager.py @@ -61,7 +61,6 @@ def to_json(self): class StateManager(ABC): - # TODO change evidence type to dictionary or some dataclass def update(self, evidence: Dict[str, SimEvidence]): raise NotImplementedError() @@ -88,8 +87,7 @@ def __init__(self, parameters: Parameters, fuser_class=MultiplyFuser): self.max_inq_len = self.parameters.get('max_inq_len', 100) def is_done(self) -> bool: - # TODO add stoppage criterion, Stoppage criterion is seperate from - # decision. Decision should we go on to next letter or not + # Determines if simulator should end (max inq or max series reached, typed target sentence) return self.state.total_inquiry_count( ) > self.max_inq_len or self.state.target_sentence == self.state.current_sentence or self.state.series_n > 50 @@ -110,7 +108,6 @@ def update(self, evidence) -> InquiryResult: # finding out whether max iterations is hit or prob threshold is hit temp_inquiry_result = InquiryResult(target=self.state.target_symbol, time_spent=0, stimuli=self.state.display_alphabet, - # TODO change to use evidence_dict evidences=evidence, fused_likelihood=fused_likelihood, decision=None) @@ -134,9 +131,8 @@ def update(self, evidence) -> InquiryResult: new_state['series_results'][self.state.series_n].append(new_inquiry_result) if is_decidable: - decision = alphabet()[ - np.argmax( - fused_likelihood)] # deciding the maximum probability symbol TODO abstract + # Deciding max likelihood char + decision = alphabet()[np.argmax(fused_likelihood)] # TODO abstract decision criterion # resetting series new_state['series_n'] += 1 @@ -181,8 +177,8 @@ def reset_state(self): @staticmethod def initial_state(parameters: Parameters = None) -> SimState: - sentence = parameters.get('task_text', "HELLO_WORLD") # TODO abstract out with sim_parameters.json - target_symbol = sentence[0] # TODO use parameters.get('spelled_letters_count') + sentence = parameters.get('task_text', "HELLO_WORLD") + target_symbol = parameters.get('spelled_letters_count', 0) default_criterion: List[SimDecisionCriteria] = [MaxIterationsSim(50), ProbThresholdSim(0.8)] init_stimuli = random.sample(alphabet(), 10) diff --git a/bcipy/simulator/sim.py b/bcipy/simulator/sim.py index d05ba205f..bee346ae4 100644 --- a/bcipy/simulator/sim.py +++ b/bcipy/simulator/sim.py @@ -106,15 +106,23 @@ def run(self): self.save_run() def __make_stimuli(self, state: SimState): - # TODO abstract out + """ + Creates next set of stimuli: + - uses current likelihoods while during a series + - uses language model for beginning of series + - random letters in case of no LM and beginning of series + """ subset_length = 10 val_func: Optional[np.ndarray] = state.get_current_likelihood() always_in_stimuli = [symbols.SPACE_CHAR, symbols.BACKSPACE_CHAR] + # during series if val_func is not None: return stimuli.best_selection(self.symbol_set, list( val_func), subset_length, always_included=always_in_stimuli) - elif self.parameters.get('sim_lm_active', 0) == 1: # use lang model for priors to make stim + # beginning of series + elif self.parameters.get('sim_lm_active', 0) == 1: + # use lang model for priors to make stim lm_model = self.model_handler.get_model('lm') lm_model_evidence = lm_model.predict(list(state.current_sentence)) val_func = format_lm_output(lm_model_evidence, self.symbol_set) From 7614e752828b10c2baa8b7e0c17d4159c037c7ea Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 22 Mar 2024 17:03:24 -0700 Subject: [PATCH 233/330] #187261791 ; refactor acquisition to record using a process rather than a thread to fix segfaults; set a max pause parameter to avoid data issues when LSL's StreamInlet's buffer is too small for the amount of data. --- bcipy/acquisition/protocols/lsl/connect.py | 26 +++++++ bcipy/acquisition/protocols/lsl/lsl_client.py | 77 +++++++++++-------- .../acquisition/protocols/lsl/lsl_recorder.py | 49 +++++++----- .../tests/protocols/lsl/test_lsl_client.py | 6 +- .../tests/protocols/lsl/test_lsl_recorder.py | 12 +-- bcipy/config.py | 1 + .../gui/viewer/data_source/lsl_data_source.py | 3 +- bcipy/helpers/task.py | 50 +++++++----- .../matrix/test_matrix_calibration.py | 11 ++- .../rsvp/calibration/test_rsvp_calibration.py | 13 ++-- 10 files changed, 157 insertions(+), 91 deletions(-) create mode 100644 bcipy/acquisition/protocols/lsl/connect.py diff --git a/bcipy/acquisition/protocols/lsl/connect.py b/bcipy/acquisition/protocols/lsl/connect.py new file mode 100644 index 000000000..96e49ba35 --- /dev/null +++ b/bcipy/acquisition/protocols/lsl/connect.py @@ -0,0 +1,26 @@ +"""Utility functions for connecting to an LSL Stream""" +from typing import Optional + +from pylsl import StreamInfo, resolve_stream + +from bcipy.acquisition.devices import DEFAULT_DEVICE_TYPE, DeviceSpec +from bcipy.acquisition.protocols.lsl.lsl_connector import channel_names + + +def resolve_device_stream( + device_spec: Optional[DeviceSpec] = None) -> StreamInfo: + """Get the LSL stream for the given device.""" + content_type = device_spec.content_type if device_spec else DEFAULT_DEVICE_TYPE + streams = resolve_stream('type', content_type) + if not streams: + raise Exception( + f'LSL Stream not found for content type {content_type}') + return streams[0] + + +def device_from_metadata(metadata: StreamInfo) -> DeviceSpec: + """Create a device_spec from the data stream metadata.""" + return DeviceSpec(name=metadata.name(), + channels=channel_names(metadata), + sample_rate=metadata.nominal_srate(), + content_type=metadata.type()) diff --git a/bcipy/acquisition/protocols/lsl/lsl_client.py b/bcipy/acquisition/protocols/lsl/lsl_client.py index c78f64b90..f8425c571 100644 --- a/bcipy/acquisition/protocols/lsl/lsl_client.py +++ b/bcipy/acquisition/protocols/lsl/lsl_client.py @@ -1,24 +1,45 @@ """DataAcquisitionClient for LabStreamingLayer data sources.""" import logging +from multiprocessing import Queue from typing import Dict, List, Optional import pandas as pd -from pylsl import (StreamInfo, StreamInlet, local_clock, resolve_byprop, - resolve_stream) +from pylsl import StreamInlet, local_clock, resolve_byprop -from bcipy.acquisition.devices import (DEFAULT_DEVICE_TYPE, IRREGULAR_RATE, - DeviceSpec) +from bcipy.acquisition.devices import IRREGULAR_RATE, DeviceSpec from bcipy.acquisition.exceptions import InvalidClockError -from bcipy.acquisition.protocols.lsl.lsl_connector import (channel_names, - check_device) +from bcipy.acquisition.protocols.lsl.connect import (device_from_metadata, + resolve_device_stream) +from bcipy.acquisition.protocols.lsl.lsl_connector import check_device from bcipy.acquisition.protocols.lsl.lsl_recorder import LslRecordingThread from bcipy.acquisition.record import Record +from bcipy.config import MAX_PAUSE_SECONDS from bcipy.gui.viewer.ring_buffer import RingBuffer from bcipy.helpers.clock import Clock log = logging.getLogger(__name__) +def time_range(stamps: List[float], + precision: int = 3, + sep: str = " to ") -> str: + """Utility for printing a range of timestamps""" + if stamps: + return "".join([ + str(round(stamps[0], precision)), sep, + str(round(stamps[-1], precision)) + ]) + return "" + + +def request_desc(start: Optional[float], end: Optional[float], + limit: Optional[int]): + """Returns a description of the request which can be logged.""" + start_str = round(start, 3) if start else "None" + end_str = round(end, 3) if end else "None" + return f"Requesting data from: {start_str} to: {end_str} limit: {limit}" + + class LslAcquisitionClient: """Data Acquisition Client for devices streaming data using Lab Streaming Layer. Its primary use is dynamically querying streaming data in realtime, @@ -61,8 +82,6 @@ def __init__(self, def first_sample_time(self) -> float: """Timestamp returned by the first sample. If the data is being recorded this value reflects the timestamp of the first recorded sample""" - if self.recorder: - return self.recorder.first_sample_time return self._first_sample_time @property @@ -86,17 +105,13 @@ def start_acquisition(self) -> bool: if self.inlet: return False - content_type = self.device_spec.content_type if self.device_spec else DEFAULT_DEVICE_TYPE - streams = resolve_stream('type', content_type) - if not streams: - raise Exception( - f'LSL Stream not found for content type {content_type}') - stream_info = streams[0] - + stream_info = resolve_device_stream(self.device_spec) self.inlet = StreamInlet( stream_info, - max_buflen=4 * self.max_buffer_len, # TODO: revisit this value + max_buflen=MAX_PAUSE_SECONDS + 5, max_chunklen=1) + log.info("Acquiring data from data stream:") + log.info(self.inlet.info().as_xml()) if self.device_spec: check_device(self.device_spec, self.inlet.info()) @@ -104,16 +119,22 @@ def start_acquisition(self) -> bool: self.device_spec = device_from_metadata(self.inlet.info()) if self.save_directory: + msg_queue = Queue() self.recorder = LslRecordingThread( - stream_info, - self.save_directory, - self.raw_data_file_name, - self.device_spec) + directory=self.save_directory, + filename=self.raw_data_file_name, + device_spec=self.device_spec, + queue=msg_queue) self.recorder.start() + log.info("Waiting for first sample from lsl_recorder") + self._first_sample_time = msg_queue.get(block=True, timeout=5.0) + log.info(f"First sample time: {self.first_sample_time}") + self.inlet.open_stream(timeout=5.0) if self.max_buffer_len and self.max_buffer_len > 0: self.buffer = RingBuffer(size_max=self.max_samples) - _, self._first_sample_time = self.inlet.pull_sample() + if not self._first_sample_time: + _, self._first_sample_time = self.inlet.pull_sample() return True def stop_acquisition(self) -> None: @@ -178,7 +199,7 @@ def get_data(self, ------- List of Records """ - log.info(f"Requesting data from: {start} to: {end} limit: {limit}") + log.info(request_desc(start, end, limit)) data = self.get_latest_data() if not data: @@ -223,12 +244,12 @@ def _pull_chunk(self) -> int: """Pull a chunk of samples from LSL and record in the buffer. Returns the count of samples pulled. """ - log.debug(f"Pulling from LSL (max_samples: {self.max_samples})") + log.debug(f"\tPulling chunk (max_samples: {self.max_samples})") # A timeout of 0.0 gets currently available samples without blocking. samples, timestamps = self.inlet.pull_chunk( timeout=0.0, max_samples=self.max_samples) count = len(samples) - log.debug(f"\tReceived {count} samples") + log.debug(f"\t-> received {count} samples: {time_range(timestamps)}") for sample, stamp in zip(samples, timestamps): self.buffer.append(Record(sample, stamp)) return count @@ -357,11 +378,3 @@ def discover_device_spec(content_type: str) -> DeviceSpec: spec = device_from_metadata(inlet.info()) inlet.close_stream() return spec - - -def device_from_metadata(metadata: StreamInfo) -> DeviceSpec: - """Create a device_spec from the data stream metadata.""" - return DeviceSpec(name=metadata.name(), - channels=channel_names(metadata), - sample_rate=metadata.nominal_srate(), - content_type=metadata.type()) diff --git a/bcipy/acquisition/protocols/lsl/lsl_recorder.py b/bcipy/acquisition/protocols/lsl/lsl_recorder.py index f877a15f5..2846d0ee1 100644 --- a/bcipy/acquisition/protocols/lsl/lsl_recorder.py +++ b/bcipy/acquisition/protocols/lsl/lsl_recorder.py @@ -1,15 +1,18 @@ """Records LSL data streams to a data store.""" import logging import time +from multiprocessing import Queue from pathlib import Path -from typing import Optional, List +from typing import List, Optional from pylsl import StreamInfo, StreamInlet, resolve_streams from bcipy.acquisition.devices import DeviceSpec +from bcipy.acquisition.protocols.lsl.connect import (device_from_metadata, + resolve_device_stream) from bcipy.acquisition.protocols.lsl.lsl_connector import (channel_names, check_device) -from bcipy.acquisition.util import StoppableThread +from bcipy.acquisition.util import StoppableProcess from bcipy.helpers.raw_data import RawDataWriter log = logging.getLogger(__name__) @@ -39,8 +42,9 @@ def start(self) -> None: log.info("Recording data") # create a thread for each. self.streams = [ - LslRecordingThread(stream, self.path, - self.filenames.get(stream.type(), None)) + LslRecordingThread(device_spec=device_from_metadata(StreamInlet(stream).info()), + directory=self.path, + filename=self.filenames.get(stream.type(), None)) for stream in resolve_streams() ] @@ -65,29 +69,30 @@ def stop(self, wait: bool = False) -> None: self.streams = None -class LslRecordingThread(StoppableThread): +class LslRecordingThread(StoppableProcess): """Records data for the given LabStreamingLayer (LSL) data stream. Parameters: ---------- - - stream : information about the stream of interest + - device_spec : DeviceSpec ; specifies the device from which to record. - directory : location to store the recording - filename : optional, name of the data file. - - device_spec : optional DeviceSpec ; if provided channel labels will come - from here. + - queue : optional multiprocessing queue; if provided the first_sample_time + will be written here when available. """ writer: RawDataWriter = None def __init__(self, - stream_info: StreamInfo, - directory: str, + device_spec: DeviceSpec, + directory: Optional[str] = '.', filename: Optional[str] = None, - device_spec: Optional[DeviceSpec] = None) -> None: + queue: Optional[Queue] = None) -> None: super().__init__() - self.stream_info = stream_info + self.directory = directory self.device_spec = device_spec + self.queue = queue self.sample_count = 0 # see: https://labstreaminglayer.readthedocs.io/info/faqs.html#chunk-sizes @@ -102,8 +107,8 @@ def __init__(self, def default_filename(self): """Default filename to use if a name is not provided.""" - content_type = '_'.join(self.stream_info.type().split()).lower() - name = '_'.join(self.stream_info.name().split()).lower() + content_type = '_'.join(self.device_spec.content_type.split()).lower() + name = '_'.join(self.device_spec.name.split()).lower() return f"{content_type}_data_{name}.csv" @property @@ -132,8 +137,8 @@ def _init_data_writer(self, stream_info: StreamInfo) -> None: log.info(f"Writing data to {path}") self.writer = RawDataWriter( path, - daq_type=self.stream_info.name(), - sample_rate=self.stream_info.nominal_srate(), + daq_type=stream_info.name(), + sample_rate=stream_info.nominal_srate(), columns=['timestamp'] + channels + ['lsl_timestamp']) self.writer.__enter__() @@ -152,7 +157,6 @@ def _write_chunk(self, data: List, timestamps: List) -> None: timestamps : list of timestamps """ assert self.writer, "Writer not initialized" - chunk = [] for i, sample in enumerate(data): self.sample_count += 1 @@ -178,6 +182,8 @@ def _pull_chunk(self, inlet: StreamInlet) -> int: if timestamps and data: if not self.first_sample_time: self.first_sample_time = timestamps[0] + if self.queue: + self.queue.put(self.first_sample_time, timeout=2.0) self.last_sample_time = timestamps[-1] self._write_chunk(data, timestamps) return len(timestamps) @@ -194,11 +200,12 @@ def run(self): given interval, and persists the results. This happens continuously until the `stop()` method is called. """ - # Note that self.stream_info does not have the channel names. - inlet = StreamInlet(self.stream_info, max_chunklen=1) + # Note that stream_info does not have the channel names. + stream_info = resolve_device_stream(self.device_spec) + inlet = StreamInlet(stream_info, max_chunklen=1) full_metadata = inlet.info() - log.info("Acquiring data from data stream:") + log.info("Recording data from data stream:") log.info(full_metadata.as_xml()) self._reset() @@ -219,7 +226,7 @@ def run(self): while record_count == self.max_chunk_size: record_count = self._pull_chunk(inlet) - log.info(f"Ending data stream recording for {self.stream_info.name()}") + log.info(f"Ending data stream recording for {stream_info.name()}") log.info(f"Total recorded seconds: {self.recorded_seconds}") log.info(f"Total recorded samples: {self.sample_count}") inlet.close_stream() diff --git a/bcipy/acquisition/tests/protocols/lsl/test_lsl_client.py b/bcipy/acquisition/tests/protocols/lsl/test_lsl_client.py index 67d0ea358..54d5bc89d 100644 --- a/bcipy/acquisition/tests/protocols/lsl/test_lsl_client.py +++ b/bcipy/acquisition/tests/protocols/lsl/test_lsl_client.py @@ -150,12 +150,14 @@ def test_with_recording(self): """Test that recording works.""" temp_dir = tempfile.mkdtemp() - path = Path(temp_dir, f'eeg_data_{DEVICE_NAME.lower()}.csv') + filename = f'eeg_data_{DEVICE_NAME.lower()}.csv' + path = Path(temp_dir, filename) self.assertFalse(path.exists()) client = LslAcquisitionClient(max_buffer_len=1, - save_directory=temp_dir) + save_directory=temp_dir, + raw_data_file_name=filename) client.start_acquisition() time.sleep(0.1) client.stop_acquisition() diff --git a/bcipy/acquisition/tests/protocols/lsl/test_lsl_recorder.py b/bcipy/acquisition/tests/protocols/lsl/test_lsl_recorder.py index 527b906f9..2db91b78a 100644 --- a/bcipy/acquisition/tests/protocols/lsl/test_lsl_recorder.py +++ b/bcipy/acquisition/tests/protocols/lsl/test_lsl_recorder.py @@ -7,7 +7,8 @@ import pytest from bcipy.acquisition.datastream.lsl_server import LslDataServer -from bcipy.acquisition.datastream.mock.eye_tracker_server import eye_tracker_server +from bcipy.acquisition.datastream.mock.eye_tracker_server import \ + eye_tracker_server from bcipy.acquisition.devices import preconfigured_device from bcipy.acquisition.protocols.lsl.lsl_recorder import LslRecorder from bcipy.helpers.raw_data import TIMESTAMP_COLUMN, load @@ -16,6 +17,7 @@ DEVICE = preconfigured_device(DEVICE_NAME) +@pytest.mark.slow class TestLslRecorder(unittest.TestCase): """Main Test class for LslRecorder code.""" @@ -39,13 +41,14 @@ def setUp(self): def test_recorder(self): """Test basic recording functionality""" - path = Path(self.temp_dir, f'eeg_data_{DEVICE_NAME.lower()}.csv') - recorder = LslRecorder(path=self.temp_dir) + filename = f'eeg_data_{DEVICE_NAME.lower()}.csv' + path = Path(self.temp_dir, filename) + recorder = LslRecorder(path=self.temp_dir, filenames={'EEG': filename}) self.assertFalse(path.exists()) recorder.start() time.sleep(0.1) - self.assertTrue(path.exists()) recorder.stop(wait=True) + self.assertTrue(path.exists()) raw_data = load(path) self.assertEqual(raw_data.daq_type, DEVICE_NAME) @@ -54,7 +57,6 @@ def test_recorder(self): self.assertEqual(raw_data.columns[0], TIMESTAMP_COLUMN) self.assertEqual(raw_data.columns[1:-1], DEVICE.channels) self.assertEqual(raw_data.columns[-1], 'lsl_timestamp') - self.assertTrue(len(raw_data.rows) > 0) def test_multiple_sources(self): """Test that recorder works with multiple sources and can be customized diff --git a/bcipy/config.py b/bcipy/config.py index db85fe06c..c630c0fae 100644 --- a/bcipy/config.py +++ b/bcipy/config.py @@ -51,5 +51,6 @@ # misc configuration WAIT_SCREEN_MESSAGE = 'Press Space to start or Esc to exit' +MAX_PAUSE_SECONDS = 360 SESSION_COMPLETE_MESSAGE = 'Complete! Saving data...' REMOTE_SERVER = "https://github.com/CAMBI-tech/BciPy/" diff --git a/bcipy/gui/viewer/data_source/lsl_data_source.py b/bcipy/gui/viewer/data_source/lsl_data_source.py index d0e27b8f1..3ef2a4821 100644 --- a/bcipy/gui/viewer/data_source/lsl_data_source.py +++ b/bcipy/gui/viewer/data_source/lsl_data_source.py @@ -1,6 +1,7 @@ """Streams data from pylsl and puts it into a Queue.""" import pylsl -from bcipy.acquisition.protocols.lsl.lsl_client import device_from_metadata + +from bcipy.acquisition.protocols.lsl.connect import device_from_metadata from bcipy.gui.viewer.data_source.data_source import DataSource diff --git a/bcipy/helpers/task.py b/bcipy/helpers/task.py index 07a1b401e..c7653ed67 100644 --- a/bcipy/helpers/task.py +++ b/bcipy/helpers/task.py @@ -1,13 +1,14 @@ import logging import random -from typing import Optional, Any, Dict, List, Tuple, Union +import time +from typing import Any, Dict, List, Optional, Tuple, Union import numpy as np from psychopy import core, event, visual from bcipy.acquisition.multimodal import ClientManager, ContentType from bcipy.acquisition.record import Record -from bcipy.config import SESSION_COMPLETE_MESSAGE +from bcipy.config import MAX_PAUSE_SECONDS, SESSION_COMPLETE_MESSAGE from bcipy.helpers.clock import Clock from bcipy.helpers.stimuli import get_fixation from bcipy.task.exceptions import InsufficientDataException @@ -314,38 +315,45 @@ def get_user_input(window, message, color, first_run=False): Parameters ---------- - window[psychopy task window]: task window. *assumes wait_screen method + message: message to display in the wait screen + color: wait screen color + first_run: the first_run will always pause. Returns ------- - True/False: whether or not to stop a trial (based on escape key). + True to continue the task, False to stop and exit. """ - if not first_run: - pause = False - # check user input to make sure we should be going + if first_run: + return pause_on_wait_screen(window, message, color) + else: keys = event.getKeys(keyList=['space', 'escape']) - if keys: - # pause? if keys[0] == 'space': - pause = True - - # escape? + return pause_on_wait_screen(window, message, color) if keys[0] == 'escape': return False + return True - else: - pause = True - while pause: - window.wait_screen(message, color) - keys = event.getKeys(keyList=['space', 'escape']) +def pause_on_wait_screen(window, message, color) -> bool: + """Pause on the wait screen until the user presses the Space key to resume, + or the Escape key to exit. - if keys: - if keys[0] == 'escape': - return False - pause = False + Returns + ------- + True to resume; False to exit. + """ + pause_start = time.time() + window.wait_screen(message, color) + keys = event.waitKeys(keyList=['space', 'escape']) + + elapsed_seconds = time.time() - pause_start + if elapsed_seconds >= MAX_PAUSE_SECONDS: + log.info("Pause exceeded the allowed time. Ending task.") + return False + if keys[0] == 'escape': + return False return True diff --git a/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py b/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py index 7109ed5a3..f9bd4b24f 100644 --- a/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py +++ b/bcipy/task/tests/paradigm/matrix/test_matrix_calibration.py @@ -1,9 +1,9 @@ import unittest -from mockito import any, mock, unstub, verify, when -from mock import mock_open, patch -import psychopy import numpy as np +import psychopy +from mock import mock_open, patch +from mockito import any, mock, unstub, verify, when import bcipy.task.paradigm.matrix.calibration from bcipy.acquisition import LslAcquisitionClient @@ -112,7 +112,10 @@ def setUp(self): when(TriggerHandler).add_triggers(any()).thenReturn() - when(psychopy.event).getKeys(keyList=any()).thenReturn(['space']) + when(psychopy.event).getKeys(keyList=['space', 'escape'], + modifiers=False, + timeStamped=False).thenReturn(['space']) + when(psychopy.event).getKeys(keyList=['space', 'escape']).thenReturn(['space']) when(psychopy.core).wait(any()).thenReturn(None) def tearDown(self): diff --git a/bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py b/bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py index 66cfa1cc9..8f6f10f52 100644 --- a/bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py +++ b/bcipy/task/tests/paradigm/rsvp/calibration/test_rsvp_calibration.py @@ -1,9 +1,8 @@ import unittest -from mockito import any, mock, unstub, verify, when -from mock import mock_open, patch - import psychopy +from mock import mock_open, patch +from mockito import any, mock, unstub, verify, when import bcipy.task.paradigm.rsvp.calibration.calibration from bcipy.acquisition import LslAcquisitionClient @@ -11,7 +10,8 @@ from bcipy.acquisition.multimodal import ContentType from bcipy.helpers.parameters import Parameters from bcipy.helpers.triggers import TriggerHandler, TriggerType -from bcipy.task.paradigm.rsvp.calibration.calibration import RSVPCalibrationTask +from bcipy.task.paradigm.rsvp.calibration.calibration import \ + RSVPCalibrationTask class TestRSVPCalibration(unittest.TestCase): @@ -111,7 +111,10 @@ def setUp(self): when(TriggerHandler).write().thenReturn() when(TriggerHandler).add_triggers(any()).thenReturn() - when(psychopy.event).getKeys(keyList=any()).thenReturn(['space']) + when(psychopy.event).getKeys(keyList=['space', 'escape'], + modifiers=False, + timeStamped=False).thenReturn(['space']) + when(psychopy.event).getKeys(keyList=['space', 'escape']).thenReturn(['space']) when(psychopy.core).wait(any()).thenReturn(None) def tearDown(self): From 9e9edaa7d5cc4866ecf93d56cf785135118fdc0a Mon Sep 17 00:00:00 2001 From: lawhead Date: Fri, 22 Mar 2024 17:04:07 -0700 Subject: [PATCH 234/330] Added script to demonstrate LSL buffering issue and to test against future versions of the library --- scripts/python/lsl_buffer_test.py | 92 +++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 scripts/python/lsl_buffer_test.py diff --git a/scripts/python/lsl_buffer_test.py b/scripts/python/lsl_buffer_test.py new file mode 100644 index 000000000..426b9137d --- /dev/null +++ b/scripts/python/lsl_buffer_test.py @@ -0,0 +1,92 @@ +"""Example to demonstrate behavior when the StreamInlet max_buflen is exceeded. + +Prior to running, start a data streamer, such as the SendData.py example +script included in pylsl. + +Example usage: +$ python3 lsl_buffer_test.py --buffer=1 --seconds=2 +""" + +import time + +from pylsl import StreamInlet, resolve_stream + + +def pull_all_data(inlet: StreamInlet, max_samples: int) -> None: + """Pull all buffered data in the given stream inlet.""" + + print("\nPulling buffered data:") + count = pull_chunk(inlet, max_samples) + while count == max_samples: + count = pull_chunk(inlet, max_samples) + + +def pull_chunk(inlet: StreamInlet, max_samples: int) -> int: + """Pull a chunk of samples from a stream inlet. + Returns the count of samples pulled.""" + + _chunk, timestamps = inlet.pull_chunk(timeout=0.0, max_samples=max_samples) + count = len(timestamps) + + time_range = "" + if timestamps: + time_range = f"{round(timestamps[0], 3)} to {round(timestamps[-1], 3)}" + + print(f"-> pulled {count} samples: {time_range};", + f"sorted: {timestamps == sorted(timestamps)}") + + return count + + +def main(max_buflen: int, max_samples: int, sleep_seconds: int) -> None: + """Continuously read from a StreamInlet, pausing for a given time between + reads and then consuming all data in the stream. + + Parameters + ---------- + max_buflen - StreamInlet max_buflen; buffer size in seconds + max_samples - maximum samples to pull in a single chunk + sleep_seconds - seconds to sleep between data pulls + """ + + # first resolve an EEG stream on the lab network + print("looking for an EEG stream...") + streams = resolve_stream('type', 'EEG') + + # create a new inlet to read from the stream + print("\n---") + print(f"max_buflen seconds: {max_buflen}") + print(f"max_samples: {max_samples}") + print(f"sleep_seconds: {sleep_seconds}") + print("---") + inlet = StreamInlet(streams[0], max_buflen=max_buflen) + + while True: + # pull all available samples + pull_all_data(inlet, max_samples) + time.sleep(sleep_seconds) + + +if __name__ == '__main__': + import argparse + + parser = argparse.ArgumentParser() + parser.add_argument('-b', + '--buffer', + help='StreamInlet max_buflen (seconds)', + default=360, + type=int) + parser.add_argument('-c', + '--chunk', + help='Maximum samples per chunk', + default=1024, + type=int) + parser.add_argument('-s', + '--seconds', + help='Seconds to sleep between data pulls', + default=2, + type=int) + args = parser.parse_args() + main(max_buflen=args.buffer, + max_samples=args.chunk, + sleep_seconds=args.seconds) From 013fb71750be9252996ed76c6ebb6e9fe28446c5 Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 25 Mar 2024 12:25:42 -0700 Subject: [PATCH 235/330] Renamed variables for clarity; added documentation --- bcipy/simulator/helpers/sampler.py | 41 +++++++++++++++++++----------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/bcipy/simulator/helpers/sampler.py b/bcipy/simulator/helpers/sampler.py index efb57caa3..439eecfa3 100644 --- a/bcipy/simulator/helpers/sampler.py +++ b/bcipy/simulator/helpers/sampler.py @@ -109,7 +109,7 @@ def default_reshaper(eeg_responses: List[np.ndarray]) -> np.ndarray: class InquirySampler(Sampler): """Samples an inquiry of data at a time.""" - def __init__(self, data_engine: RawDataEngine, *args, **kwargs): + def __init__(self, data_engine: RawDataEngine): self.model_input_reshaper = default_reshaper self.data: pd.DataFrame = data_engine.transform().get_data() @@ -159,10 +159,10 @@ def sample(self, state: SimState) -> np.ndarray: if target_letter in inquiry_letter_subset: source_inquiries = self.target_inquiries - target_pos = inquiry_letter_subset.index(target_letter) + 1 + target_position = inquiry_letter_subset.index(target_letter) + 1 else: source_inquiries = self.no_target_inquiries - target_pos = 0 # unused + target_position = 0 # unused # randomly select a valid data source and inquiry data_source = random.choice(list(source_inquiries.keys())) @@ -174,26 +174,37 @@ def sample(self, state: SimState) -> np.ndarray: assert len(inquiry_df) == len( inquiry_letter_subset), f"Invalid data source {data_source}" - inq_target_pos = target_pos + # The inquiry may need to be re-ordered to ensure that the target is in + # the correct position. We do this by sorting the dataframe on a custom + # column that is the inquiry_pos for all non-targets, and the + # new_target_position for the target. + inquiry_target_position = target_position if target_letter in inquiry_letter_subset: - inq_target_index = inquiry_df[inquiry_df['target'] == 1].index[0] - inq_target_pos = inquiry_df.index.tolist().index(inq_target_index) - - if inq_target_pos == target_pos: - new_pos = inq_target_pos - elif inq_target_pos < target_pos: - new_pos = target_pos + 0.5 - elif inq_target_pos > target_pos: - new_pos = target_pos - 0.5 + inquiry_target_index = inquiry_df[inquiry_df['target'] == 1].index[0] + inquiry_target_position = inquiry_df.index.tolist().index(inquiry_target_index) + + if inquiry_target_position == target_position: + # target already in the correct location, no need to adjust + new_target_position = inquiry_target_position + elif inquiry_target_position < target_position: + # target in the inquiry needs to be pushed later in the inquiry; + # There is another symbol currently at that position, so we need + # to ensure that the target is past that symbol (by adding 0.5). + new_target_position = target_position + 0.5 + elif inquiry_target_position > target_position: + # the target in the inquiry needs to be moved earlier in the inquiry; + # there is another non-target symbol currently at that position so + # the target needs to be moved before that symbol. + new_target_position = target_position - 0.5 # define a sort column to move the target in the inquiry to the desired index sort_pos = inquiry_df['inquiry_pos'].where(inquiry_df['target'] == 0, - new_pos) + new_target_position) # select the inquiry items in sorted position sorted_inquiry_df = inquiry_df.loc[sort_pos.sort_values().index] log.debug(f"EEG Samples: \n {format_sample_df(sorted_inquiry_df)}") - # import pdb; pdb.set_trace() + rows = [ sorted_inquiry_df.iloc[i] for i in range(len(sorted_inquiry_df)) ] From 9b909a63c58804c1cace50725191d402653aff74 Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Mon, 25 Mar 2024 15:26:27 -0400 Subject: [PATCH 236/330] starting state bug --- bcipy/simulator/helpers/state_manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bcipy/simulator/helpers/state_manager.py b/bcipy/simulator/helpers/state_manager.py index 0269ffbcd..74eefbd79 100644 --- a/bcipy/simulator/helpers/state_manager.py +++ b/bcipy/simulator/helpers/state_manager.py @@ -178,7 +178,7 @@ def reset_state(self): @staticmethod def initial_state(parameters: Parameters = None) -> SimState: sentence = parameters.get('task_text', "HELLO_WORLD") - target_symbol = parameters.get('spelled_letters_count', 0) + target_symbol = sentence[parameters.get('spelled_letters_count', 0)] default_criterion: List[SimDecisionCriteria] = [MaxIterationsSim(50), ProbThresholdSim(0.8)] init_stimuli = random.sample(alphabet(), 10) From 29e1ab2bbde38eb688da5c33438d51f71f74b0d8 Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Mon, 25 Mar 2024 15:38:34 -0400 Subject: [PATCH 237/330] LM always on. Read lm_type from sim_parameters.json --- bcipy/helpers/language_model.py | 2 ++ bcipy/simulator/helpers/model_handler.py | 35 ++++++++++++++++++++++-- bcipy/simulator/sim_factory.py | 11 ++++---- bcipy/simulator/sim_parameters.json | 25 +++++++++-------- 4 files changed, 53 insertions(+), 20 deletions(-) diff --git a/bcipy/helpers/language_model.py b/bcipy/helpers/language_model.py index 0c9d87d7c..1c8c1f363 100644 --- a/bcipy/helpers/language_model.py +++ b/bcipy/helpers/language_model.py @@ -49,6 +49,8 @@ def init_language_model(parameters: dict) -> LanguageModel: # select the relevant parameters into a dict. params = {key: parameters[key] for key in args & parameters.keys()} + breakpoint() + return model(response_type=ResponseType.SYMBOL, symbol_set=alphabet(parameters), **params) diff --git a/bcipy/simulator/helpers/model_handler.py b/bcipy/simulator/helpers/model_handler.py index 1858407be..21de3e1c2 100644 --- a/bcipy/simulator/helpers/model_handler.py +++ b/bcipy/simulator/helpers/model_handler.py @@ -6,13 +6,14 @@ import numpy as np from bcipy.helpers.language_model import (histogram, init_language_model, - with_min_prob) + with_min_prob, language_models_by_name) from bcipy.helpers.symbols import BACKSPACE_CHAR, alphabet -from bcipy.language import LanguageModel +from bcipy.language import LanguageModel, ResponseType from bcipy.signal.model import SignalModel from bcipy.simulator.helpers.state_manager import SimState from bcipy.simulator.helpers.types import SimEvidence from bcipy.task.data import EvidenceType +import inspect log = logging.getLogger(__name__) @@ -47,6 +48,33 @@ def get_model(self, key=None): return self.signal_model +def sim_init_lm(parameters) -> LanguageModel: + """ + Init Language Model configured in the sim parameters. + Mostly copied from language_model.init_lang_model + + Parameters + ---------- + parameters : dict + configuration details and path locations + + Returns + ------- + instance of a LanguageModel + """ + + lm_classes = language_models_by_name() + model_class: LanguageModel.__class__ = lm_classes[parameters.get("sim_lm_type", "UNIFORM")] + # introspect the model arguments to determine what parameters to pass. + args = inspect.signature(model_class).parameters.keys() + + # select the relevant parameters into a dict. + params = {key: parameters[key] for key in args & parameters.keys()} + return model_class(response_type=ResponseType.SYMBOL, + symbol_set=alphabet(parameters), + **params) + + class SigLmModelHandler1(ModelHandler): def __init__(self, sm_model_file, parameters): @@ -58,7 +86,8 @@ def __init__(self, sm_model_file, parameters): """ self.sm_model_file = sm_model_file self.signal_model: Optional[SignalModel] = None - self.lm_model: LanguageModel = init_language_model(parameters) + self.lm_model: LanguageModel = sim_init_lm(parameters) + log.info(f"Language Model Type: {self.lm_model.name()}") self.alp = alphabet() self.backspace_prob: float = parameters.get('lm_backspace_prob', 0.05) diff --git a/bcipy/simulator/sim_factory.py b/bcipy/simulator/sim_factory.py index b58c8d1ae..4b5208b05 100644 --- a/bcipy/simulator/sim_factory.py +++ b/bcipy/simulator/sim_factory.py @@ -1,15 +1,14 @@ """ Factory for Simulator objects """ +import logging from pathlib import Path from typing import List from bcipy.helpers.load import load_json_parameters -from bcipy.simulator.helpers.data_engine import (RawDataEngine, - RawDataEngineWrapper) +from bcipy.simulator.helpers.data_engine import (RawDataEngine) from bcipy.simulator.helpers.metrics import (MetricReferee, RefereeImpl, SimMetrics1Handler) from bcipy.simulator.helpers.model_handler import (ModelHandler, - SigLmModelHandler1, - SignalModelHandler1) + SigLmModelHandler1, ) from bcipy.simulator.helpers.sampler import EEGByLetterSampler, Sampler from bcipy.simulator.helpers.state_manager import (StateManager, StateManagerImpl) @@ -24,6 +23,7 @@ def create(source_dirs: List[Path], smodel_files: List[str], sim_param_path="bcipy/simulator/sim_parameters.json", save_dir=None, **kwargs): # out_dir = kwargs.get('out_dir', Path(__file__).resolve().parent) + # combining parameters model_file = Path(smodel_files.pop()) sim_parameters = load_json_parameters(sim_param_path, value_cast=True) base_parameters = load_json_parameters(kwargs.get('parameters'), value_cast=True) @@ -32,8 +32,7 @@ def create(source_dirs: List[Path], smodel_files: List[str], data_engine = RawDataEngine(source_dirs, base_parameters) state_manager: StateManager = StateManagerImpl(base_parameters) sampler: Sampler = EEGByLetterSampler(data_engine) - model_handler: ModelHandler = SigLmModelHandler1(model_file, base_parameters) \ - if sim_parameters.get("sim_lm_active", 0) == 1 else SignalModelHandler1(model_file) + model_handler: ModelHandler = SigLmModelHandler1(model_file, base_parameters) referee: MetricReferee = RefereeImpl(metric_handlers={'basic': SimMetrics1Handler()}) sim = SimulatorCopyPhrase(data_engine, model_handler, sampler, state_manager, referee, diff --git a/bcipy/simulator/sim_parameters.json b/bcipy/simulator/sim_parameters.json index 23ca4d955..7a5964642 100644 --- a/bcipy/simulator/sim_parameters.json +++ b/bcipy/simulator/sim_parameters.json @@ -33,17 +33,6 @@ ], "type": "float" }, - "sim_lm_active": { - "value": "1", - "section": "sim_config", - "readableName": "is lm active or off", - "helpTip": "", - "recommended_values": [ - "0", - "1" - ], - "type": "int" - }, "sim_lm_parameters": { "value": "", "section": "sim_config", @@ -54,6 +43,20 @@ ], "type": "str" }, + "sim_lm_type": { + "value": "UNIFORM", + "section": "sim_config", + "readableName": "Language Model Type", + "helpTip": "Specifies which language model to use. Default: UNIFORM", + "recommended_values": [ + "UNIFORM", + "CAUSAL", + "KENLM", + "MIXTURE", + "ORACLE" + ], + "type": "str" + }, "sim_run_count": { "value": "1", "section": "sim_config", From aa874882c0a6a71c3daa0a3b59df5bf7cc956ec7 Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Thu, 4 Apr 2024 19:24:25 -0400 Subject: [PATCH 238/330] incorrect decisions metric --- bcipy/simulator/helpers/metrics.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/bcipy/simulator/helpers/metrics.py b/bcipy/simulator/helpers/metrics.py index 91c08f901..c016c2a12 100644 --- a/bcipy/simulator/helpers/metrics.py +++ b/bcipy/simulator/helpers/metrics.py @@ -15,6 +15,7 @@ class SimMetrics1: total_series: int = 0 total_inquiries: int = 0 total_decisions: int = 0 + total_incorrect_decisions: int = -1 # negative one if uncalculated total_time_spent: float = 0.0 inquiries_per_selection: float = 0.0 @@ -50,10 +51,13 @@ class SimMetrics1Handler(RefereeHandler): def handle(self, sim) -> Dict[str, Any]: state: SimState = getattr(sim, "state_manager").get_state() - # calculating total decisions made + # calculating total decisions made and total incorrect decisions flattened_inquiries: List[InquiryResult] = reduce(lambda l1, l2: l1 + l2, state.series_results, []) - total_decisions = len(list(filter(lambda inq: bool(inq.decision), flattened_inquiries))) + inqs_with_decisions = list(filter(lambda inq: bool(inq.decision), flattened_inquiries)) + total_decisions = len(inqs_with_decisions) + total_incorrect_decisions = len([inq for inq in inqs_with_decisions if + inq.decision != inq.target]) # average number of inqs before a decision inq_counts = [] @@ -73,7 +77,8 @@ def handle(self, sim) -> Dict[str, Any]: ret = SimMetrics1(total_series=total_series, total_inquiries=total_inquiries, total_decisions=total_decisions, total_time_spent=total_time_spent, - inquiries_per_selection=inquiries_per_selection) + inquiries_per_selection=inquiries_per_selection, + total_incorrect_decisions=total_incorrect_decisions) return dataclasses.asdict(ret) From 9a2f4589d7fed7f240022ee03bc74089a1232bc2 Mon Sep 17 00:00:00 2001 From: sreekaroo Date: Thu, 4 Apr 2024 19:52:50 -0400 Subject: [PATCH 239/330] ReadMe updates --- bcipy/simulator/README.md | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/bcipy/simulator/README.md b/bcipy/simulator/README.md index 3db647f65..3bde0493b 100644 --- a/bcipy/simulator/README.md +++ b/bcipy/simulator/README.md @@ -13,16 +13,14 @@ live session. module from shell as such: -``python3 bcipy/simulator -d "pathToDataFolder" -p "pathToParametersFile" -sm "pathToSignalModel.pkl"`` +``python3 bcipy/simulator -d "pathToDataFolderWrapper" -p "pathToParametersFile" -sm "pathToSignalModel.pkl"`` -Then view generated LOG file for analysis +Then view the appropriate output folder for LOG file(s) and metrics. #### Program Args -- `d` : the data folder argument is necessary. This data will be used to construct data pool from - which simulator will - sample EEG responses. Should contain - _raw_data.csv_, _triggers.txt_, _parameters.json_ +- `d` : the data wrapper folder argument is necessary. This folder is expected to contain 1 or more session folders. Each session folder should contain + _raw_data.csv_, _triggers.txt_, _parameters.json_. These files will be used to construct data pool from which simulator will sample EEG responses. - `g` : optional glob filter that can be used to select a subset of data. - Ex. `"*Matrix_Copy*Jan_2024*"` will select all data for all Matrix Copy Phrase sessions recorded in January of 2024 (assuming the BciPy folder naming convention). - Glob patterns can also include nested directories (ex. `"*/*Matrix_Copy*"`). @@ -30,6 +28,21 @@ Then view generated LOG file for analysis all raw_data files when loading. - `sm`: the signal model argument is necessary to generate evidence +#### Sim Output Details + +Output folders are generally located at [simulator/generated](). + +- `result.json` captures metrics from the simulation and all the state from the simulation (like _session.json_) +- `parameters.json` captures params used, a combination of parameters inputted by you and the `sim_parameters.json` +- Single run Folder name: _SIM_month-day-hour:min_hash_ +- Multi Run Folder name: _SIM_MULTI_runCount_month-day-hour:min_ + + +#### Configuring Parameters + +There are various parameters that you can tweak in `sim_parameters.json` to run simulator multiple times with the same args, specify lang_model type ... + + ### Architecture ![simDiagram.png](res/simDiagram.png) From b57464a64ca6b387c49c3ac8bed0156e2f4a3c2d Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 29 Apr 2024 15:20:58 -0700 Subject: [PATCH 240/330] Refactoring for clarity and debugging --- bcipy/acquisition/protocols/lsl/lsl_client.py | 11 +++++++---- bcipy/config.py | 2 +- bcipy/helpers/task.py | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/bcipy/acquisition/protocols/lsl/lsl_client.py b/bcipy/acquisition/protocols/lsl/lsl_client.py index f8425c571..86d0dbe1a 100644 --- a/bcipy/acquisition/protocols/lsl/lsl_client.py +++ b/bcipy/acquisition/protocols/lsl/lsl_client.py @@ -19,6 +19,8 @@ log = logging.getLogger(__name__) +LSL_TIMEOUT = 5.0 # seconds + def time_range(stamps: List[float], precision: int = 3, @@ -108,7 +110,7 @@ def start_acquisition(self) -> bool: stream_info = resolve_device_stream(self.device_spec) self.inlet = StreamInlet( stream_info, - max_buflen=MAX_PAUSE_SECONDS + 5, + max_buflen=MAX_PAUSE_SECONDS, max_chunklen=1) log.info("Acquiring data from data stream:") log.info(self.inlet.info().as_xml()) @@ -127,10 +129,11 @@ def start_acquisition(self) -> bool: queue=msg_queue) self.recorder.start() log.info("Waiting for first sample from lsl_recorder") - self._first_sample_time = msg_queue.get(block=True, timeout=5.0) + self._first_sample_time = msg_queue.get(block=True, + timeout=LSL_TIMEOUT) log.info(f"First sample time: {self.first_sample_time}") - self.inlet.open_stream(timeout=5.0) + self.inlet.open_stream(timeout=LSL_TIMEOUT) if self.max_buffer_len and self.max_buffer_len > 0: self.buffer = RingBuffer(size_max=self.max_samples) if not self._first_sample_time: @@ -369,7 +372,7 @@ def discover_device_spec(content_type: str) -> DeviceSpec: """Finds the first LSL stream with the given content type and creates a device spec from the stream's metadata.""" log.info(f"Waiting for {content_type} data to be streamed over LSL.") - streams = resolve_byprop('type', content_type, timeout=5.0) + streams = resolve_byprop('type', content_type, timeout=LSL_TIMEOUT) if not streams: raise Exception( f'LSL Stream not found for content type {content_type}') diff --git a/bcipy/config.py b/bcipy/config.py index c630c0fae..a7fae94f4 100644 --- a/bcipy/config.py +++ b/bcipy/config.py @@ -51,6 +51,6 @@ # misc configuration WAIT_SCREEN_MESSAGE = 'Press Space to start or Esc to exit' -MAX_PAUSE_SECONDS = 360 +MAX_PAUSE_SECONDS = 365 SESSION_COMPLETE_MESSAGE = 'Complete! Saving data...' REMOTE_SERVER = "https://github.com/CAMBI-tech/BciPy/" diff --git a/bcipy/helpers/task.py b/bcipy/helpers/task.py index c7653ed67..01a2fa018 100644 --- a/bcipy/helpers/task.py +++ b/bcipy/helpers/task.py @@ -350,7 +350,7 @@ def pause_on_wait_screen(window, message, color) -> bool: elapsed_seconds = time.time() - pause_start if elapsed_seconds >= MAX_PAUSE_SECONDS: - log.info("Pause exceeded the allowed time. Ending task.") + log.info(f"Pause exceeded the allowed time ({MAX_PAUSE_SECONDS} seconds). Ending task.") return False if keys[0] == 'escape': return False From 1025609ec293d2597643d19aead7c85afd9a853f Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 7 May 2024 15:20:37 -0700 Subject: [PATCH 241/330] #186522989 ; Added the ability to store task-specific data in a Session (per session or per inquiry) --- bcipy/display/paradigm/vep/display.py | 1 + bcipy/task/data.py | 31 +++++++++++++++++++-------- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/bcipy/display/paradigm/vep/display.py b/bcipy/display/paradigm/vep/display.py index 1b2ee2f16..0df6032ac 100644 --- a/bcipy/display/paradigm/vep/display.py +++ b/bcipy/display/paradigm/vep/display.py @@ -113,6 +113,7 @@ def __init__(self, self.info_text = info.build_info_text(window) # build the VEP stimuli + self.flicker_rates = flicker_rates self.logger.info(f"VEP flicker rates (hz): {flicker_rates}") rate = round_refresh_rate(frame_rate) codes = [ diff --git a/bcipy/task/data.py b/bcipy/task/data.py index bdf40695f..8e0613afd 100644 --- a/bcipy/task/data.py +++ b/bcipy/task/data.py @@ -66,6 +66,7 @@ class Inquiry: lm_evidence - language model evidence for each stimulus eeg_evidence - eeg evidence for each stimulus likelihood - combined likelihood for each stimulus + task_data - task-specific information about the inquiry that may be useful in training a model """ def __init__(self, @@ -78,7 +79,8 @@ def __init__(self, target_text: Optional[str] = None, selection: Optional[str] = None, next_display_state: Optional[str] = None, - likelihood: Optional[List[float]] = None) -> None: + likelihood: Optional[List[float]] = None, + task_data: Optional[Dict] = None) -> None: super().__init__() self.stimuli = stimuli self.timing = timing @@ -92,6 +94,7 @@ def __init__(self, self.evidences: Dict[EvidenceType, List[float]] = {} self.likelihood = likelihood or [] + self.task_data = task_data or {} # Precision used for serialization of evidence values. By default, no precision. self.precision: int = 0 @@ -164,6 +167,8 @@ def as_dict(self) -> Dict: if self.likelihood: data['likelihood'] = self.format(self.likelihood) + if self.task_data: + data['task_data'] = self.task_data return data def stim_evidence(self, @@ -211,7 +216,8 @@ def __init__(self, symbol_set: List[str], task: str = 'Copy Phrase', mode: str = 'RSVP', - decision_threshold: Optional[float] = None) -> None: + decision_threshold: Optional[float] = None, + task_data: Optional[Dict[str, Any]] = None) -> None: super().__init__() self.save_location = save_location self.task = task @@ -222,6 +228,7 @@ def __init__(self, self.task_summary: Dict[str, Any] = {} self.symbol_set = symbol_set self.decision_threshold = decision_threshold + self.task_data = task_data or {} @property def total_number_series(self) -> int: @@ -305,24 +312,30 @@ def as_dict(self, stim_dict = stim.as_dict() series_dict[series_counter][str(series_index)] = stim_dict - info = { + task_info = { 'session': self.save_location, 'task': self.task, 'mode': self.mode, 'symbol_set': self.symbol_set, - 'decision_threshold': self.decision_threshold, - 'series': series_dict, - 'total_time_spent': round(self.total_time_spent, - self.time_spent_precision), + 'decision_threshold': self.decision_threshold + } + if self.task_data: + task_info['task_data'] = self.task_data + + series_info = {'series': series_dict} + + summary_info = { + 'total_time_spent': round(self.total_time_spent, self.time_spent_precision), 'total_minutes': round(self.total_time_spent / 60, self.time_spent_precision), 'total_number_series': self.total_number_series, 'total_inquiries': self.total_inquiries, 'total_selections': self.total_number_decisions, 'inquiries_per_selection': self.inquiries_per_selection } - if self.task_summary: - info['task_summary'] = self.task_summary + summary_info['task_summary'] = self.task_summary + + info = {**task_info, **series_info, **summary_info} return info @classmethod From 93ac89ee059c4d9839b35295398417d166c489ce Mon Sep 17 00:00:00 2001 From: lawhead Date: Tue, 7 May 2024 15:23:15 -0700 Subject: [PATCH 242/330] #186522989 ; added session.json writing to the VEP Calibration Task to record details about the setup and the box of interest for each inquiry. --- bcipy/display/paradigm/vep/vep_stim.py | 2 + bcipy/task/paradigm/vep/calibration.py | 107 +++++++++++++++++++++---- bcipy/task/tests/core/test_data.py | 31 ++++++- 3 files changed, 122 insertions(+), 18 deletions(-) diff --git a/bcipy/display/paradigm/vep/vep_stim.py b/bcipy/display/paradigm/vep/vep_stim.py index c7e04d11d..96a0b36bf 100644 --- a/bcipy/display/paradigm/vep/vep_stim.py +++ b/bcipy/display/paradigm/vep/vep_stim.py @@ -31,12 +31,14 @@ def __init__(self, num_squares: int = 4): self.window = win self.code = code + self.colors = colors squares = checkerboard(squares=num_squares, colors=colors, center=center, board_size=size) board_boundary = envelope(pos=center, size=size) + self.bounds = board_boundary frame1_holes = [] frame2_holes = [] diff --git a/bcipy/task/paradigm/vep/calibration.py b/bcipy/task/paradigm/vep/calibration.py index 8a9a0df07..a6f7282bd 100644 --- a/bcipy/task/paradigm/vep/calibration.py +++ b/bcipy/task/paradigm/vep/calibration.py @@ -1,10 +1,11 @@ """VEP Calibration task-related code""" -from typing import List, Tuple +from typing import Any, Dict, List, Optional, Tuple, Union from psychopy import core, visual # type: ignore from bcipy.acquisition.multimodal import ClientManager -from bcipy.config import TRIGGER_FILENAME, WAIT_SCREEN_MESSAGE +from bcipy.config import (SESSION_DATA_FILENAME, TRIGGER_FILENAME, + WAIT_SCREEN_MESSAGE) from bcipy.display import InformationProperties, VEPStimuliProperties from bcipy.display.components.layout import centered from bcipy.display.components.task_bar import CalibrationTaskBar @@ -13,12 +14,14 @@ from bcipy.display.paradigm.vep.layout import BoxConfiguration from bcipy.helpers.clock import Clock from bcipy.helpers.parameters import Parameters +from bcipy.helpers.save import _save_session_related_data from bcipy.helpers.symbols import alphabet from bcipy.helpers.task import get_user_input, trial_complete_message from bcipy.helpers.triggers import (FlushFrequency, Trigger, TriggerHandler, TriggerType, convert_timing_triggers, offset_label) from bcipy.task import Task +from bcipy.task.data import Inquiry, Session from bcipy.task.paradigm.vep.stim_generation import ( InquirySchedule, generate_vep_calibration_inquiries) @@ -34,6 +37,23 @@ def trigger_type(symbol: str, target: str, _index: int) -> TriggerType: return TriggerType.EVENT +def target_index(inquiry: List[Union[List[str], str]]) -> Optional[int]: + """Given a VEP calibration inquiry, determine which box holds the target. + + Parameters + ---------- + inquiry - list of target, fixation, and sublists representing each + vep box and its content symbols. + + Returns the box index (0-based). + """ + target, _fixation, *boxes = inquiry + for i, box in enumerate(boxes): + if target in box: + return i + return None + + class VEPCalibrationTask(Task): """VEP Calibration Task. @@ -49,6 +69,7 @@ class VEPCalibrationTask(Task): parameters (Dictionary) file_save (String) """ + MODE = 'VEP' def __init__(self, win: visual.Window, daq: ClientManager, parameters: Parameters, file_save: str): @@ -85,6 +106,25 @@ def __init__(self, win: visual.Window, daq: ClientManager, self.is_txt_stim = parameters['is_txt_stim'] self.display = self.init_display() + self.session = Session(save_location=self.file_save, + task='Calibration', + mode=self.MODE, + symbol_set=self.symbol_set, + task_data=self.session_task_data()) + self.write_session_data() + + def session_task_data(self) -> Dict[str, Any]: + """Task-specific session data""" + boxes = [{ + "colors": box.colors, + "flicker_rate": self.display.flicker_rates[i], + "envelope": box.bounds + } for i, box in enumerate(self.display.vep)] + return { + "boxes": boxes, + "symbol_starting_positions": self.display.starting_positions + } + def init_display(self) -> VEPDisplay: """Initialize the display""" return init_calibration_display(self.parameters, self.window, @@ -154,6 +194,8 @@ def execute(self): # Write triggers for the inquiry self.write_trigger_data(timing, first_run=(inquiry == 0)) + self.update_session_data(stimuli_labels[inquiry]) + # Wait for a time core.wait(self.buffer_val) @@ -185,7 +227,8 @@ def write_trigger_data(self, timing: List[Tuple[str, float]], assert self.display.first_stim_time, "First stim time not set" for content_type, client in self.daq.clients_by_type.items(): label = offset_label(content_type.name) - time = client.offset(self.display.first_stim_time) - self.display.first_stim_time + time = client.offset(self.display.first_stim_time + ) - self.display.first_stim_time triggers.append(Trigger(label, TriggerType.OFFSET, time)) target = timing[0][0] @@ -204,14 +247,47 @@ def write_offset_trigger(self) -> None: self.trigger_handler.add_triggers(triggers) self.trigger_handler.close() + def write_session_data(self) -> None: + """Save session data to disk.""" + if self.session: + session_file = _save_session_related_data( + f"{self.file_save}/{SESSION_DATA_FILENAME}", + self.session.as_dict()) + session_file.close() + + def update_session_data(self, inquiry: List[Union[List[str], + str]]) -> None: + """Adds the inquiry to the session data and writes to disk.""" + target_box = target_index(inquiry) + has_target = target_box is not None + target_freq = self.display.flicker_rates[ + target_box] if has_target else None + + task_data = { + 'target_box_index': target_box, + 'target_frequency': target_freq + } + + targetness = [TriggerType.NONTARGET for _ in range(self.num_boxes)] + if has_target: + targetness[target_box] = TriggerType.TARGET + trg_types = [TriggerType.PROMPT, TriggerType.FIXATION, *targetness] + + data = Inquiry(stimuli=inquiry, + timing=[], + triggers=[], + target_info=list(map(str, trg_types)), + target_letter=inquiry[0], + task_data=task_data) + self.session.add_sequence(data) + self.write_session_data() + def name(self): return 'VEP Calibration Task' -def init_calibration_display(parameters: Parameters, - window: visual.Window, - experiment_clock: Clock, - symbol_set: List[str], +def init_calibration_display(parameters: Parameters, window: visual.Window, + experiment_clock: Clock, symbol_set: List[str], timing: List[float], colors: List[str]) -> VEPDisplay: """Initialize the display""" @@ -226,14 +302,15 @@ def init_calibration_display(parameters: Parameters, layout = centered(width_pct=0.95, height_pct=0.80) box_config = BoxConfiguration(layout, height_pct=0.30) - stim_props = VEPStimuliProperties(stim_font=parameters['font'], - stim_pos=box_config.positions, - stim_height=0.1, - timing=timing, - stim_color=colors, - inquiry=[], - stim_length=1, - animation_seconds=parameters['time_vep_animation']) + stim_props = VEPStimuliProperties( + stim_font=parameters['font'], + stim_pos=box_config.positions, + stim_height=0.1, + timing=timing, + stim_color=colors, + inquiry=[], + stim_length=1, + animation_seconds=parameters['time_vep_animation']) task_bar = CalibrationTaskBar(window, inquiry_count=parameters['stim_number'], diff --git a/bcipy/task/tests/core/test_data.py b/bcipy/task/tests/core/test_data.py index 29e0d948f..2195b29e7 100644 --- a/bcipy/task/tests/core/test_data.py +++ b/bcipy/task/tests/core/test_data.py @@ -5,9 +5,8 @@ from bcipy.task.data import EvidenceType, Inquiry, Session SYMBOL_SET = [ - 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', - 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', - '<', '_' + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', + 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '<', '_' ] @@ -289,6 +288,32 @@ def test_has_evidence(self): session.add_sequence(sample_stim_seq(include_evidence=True)) self.assertTrue(session.has_evidence()) + def test_task_data(self): + """Test that task-specific data can be added to the session.""" + session = Session(save_location=".", + symbol_set=SYMBOL_SET, + task_data={ + "greeting": "Hello", + "count": 10 + }) + serialized = session.as_dict() + self.assertTrue("task_data" in serialized) + self.assertEqual(serialized['task_data']['greeting'], "Hello") + self.assertEqual(serialized['task_data']['count'], 10) + + def test_task_inquiry_data(self): + """Test that inquiries may have task-specific data.""" + data = {"color": "blue", "flicker_rate": 10} + inq = Inquiry(stimuli=[], + timing=[], + triggers=[], + target_info=[], + task_data=data) + inq_dict = inq.as_dict() + self.assertTrue("task_data" in inq_dict) + self.assertEqual(inq_dict['task_data']['color'], 'blue') + self.assertEqual(inq_dict['task_data']['flicker_rate'], 10) + if __name__ == '__main__': unittest.main() From c9aee267988680ee147d1989bb2bace660e9d1f0 Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 16 May 2024 15:32:39 -0700 Subject: [PATCH 243/330] Added time spent to VEP calibration session --- bcipy/task/paradigm/vep/calibration.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bcipy/task/paradigm/vep/calibration.py b/bcipy/task/paradigm/vep/calibration.py index a6f7282bd..0ca12ed8b 100644 --- a/bcipy/task/paradigm/vep/calibration.py +++ b/bcipy/task/paradigm/vep/calibration.py @@ -81,6 +81,7 @@ def __init__(self, win: visual.Window, daq: ClientManager, self.daq = daq self.static_clock = core.StaticPeriod(screenHz=self.frame_rate) self.experiment_clock = Clock() + self.start_time = self.experiment_clock.getTime() self.buffer_val = parameters['task_buffer_length'] self.symbol_set = alphabet(parameters) @@ -280,6 +281,7 @@ def update_session_data(self, inquiry: List[Union[List[str], target_letter=inquiry[0], task_data=task_data) self.session.add_sequence(data) + self.session.total_time_spent = self.experiment_clock.getTime() - self.start_time self.write_session_data() def name(self): From 287e87dcd3a6945243ca9bc42a676d9adf1c738d Mon Sep 17 00:00:00 2001 From: lawhead Date: Thu, 16 May 2024 18:05:16 -0700 Subject: [PATCH 244/330] Fix typing issues --- bcipy/helpers/stimuli.py | 8 ++--- bcipy/task/data.py | 8 ++--- bcipy/task/paradigm/vep/calibration.py | 46 ++++++++++++-------------- 3 files changed, 29 insertions(+), 33 deletions(-) diff --git a/bcipy/helpers/stimuli.py b/bcipy/helpers/stimuli.py index 5f4c753c1..2106247b1 100644 --- a/bcipy/helpers/stimuli.py +++ b/bcipy/helpers/stimuli.py @@ -8,20 +8,20 @@ from collections import Counter from enum import Enum from os import path, sep -from typing import Any, Dict, Iterator, List, NamedTuple, Optional, Tuple, Union +from typing import (Any, Dict, Iterator, List, NamedTuple, Optional, Tuple, + Union) import mne import numpy as np import sounddevice as sd import soundfile as sf - from mne import Annotations, Epochs from mne.io import RawArray from pandas import Series from PIL import Image from psychopy import core -from bcipy.config import DEFAULT_TEXT_FIXATION, DEFAULT_FIXATION_PATH +from bcipy.config import DEFAULT_FIXATION_PATH, DEFAULT_TEXT_FIXATION from bcipy.helpers.exceptions import BciPyCoreException from bcipy.helpers.list import grouper @@ -85,7 +85,7 @@ class InquirySchedule(NamedTuple): - durations: `List[List[float]]` - colors: `List[List[str]]` """ - stimuli: Union[List[List[str]], List[str]] + stimuli: List[Any] durations: Union[List[List[float]], List[float]] colors: Union[List[List[str]], List[str]] diff --git a/bcipy/task/data.py b/bcipy/task/data.py index 8e0613afd..51a1df069 100644 --- a/bcipy/task/data.py +++ b/bcipy/task/data.py @@ -70,7 +70,7 @@ class Inquiry: """ def __init__(self, - stimuli: List[str], + stimuli: List[Any], timing: List[float], triggers: List[Tuple[str, float]], target_info: List[str], @@ -150,7 +150,7 @@ def from_dict(cls, data: dict) -> 'Inquiry': def as_dict(self) -> Dict: """Dict representation""" - data = { + data: Dict = { 'stimuli': self.stimuli, 'timing': self.timing, 'triggers': self.triggers, @@ -312,7 +312,7 @@ def as_dict(self, stim_dict = stim.as_dict() series_dict[series_counter][str(series_index)] = stim_dict - task_info = { + task_info: Dict = { 'session': self.save_location, 'task': self.task, 'mode': self.mode, @@ -324,7 +324,7 @@ def as_dict(self, series_info = {'series': series_dict} - summary_info = { + summary_info: Dict = { 'total_time_spent': round(self.total_time_spent, self.time_spent_precision), 'total_minutes': round(self.total_time_spent / 60, self.time_spent_precision), 'total_number_series': self.total_number_series, diff --git a/bcipy/task/paradigm/vep/calibration.py b/bcipy/task/paradigm/vep/calibration.py index 0ca12ed8b..f090276c7 100644 --- a/bcipy/task/paradigm/vep/calibration.py +++ b/bcipy/task/paradigm/vep/calibration.py @@ -1,5 +1,5 @@ """VEP Calibration task-related code""" -from typing import Any, Dict, List, Optional, Tuple, Union +from typing import Any, Dict, List, Tuple, Union from psychopy import core, visual # type: ignore @@ -37,23 +37,6 @@ def trigger_type(symbol: str, target: str, _index: int) -> TriggerType: return TriggerType.EVENT -def target_index(inquiry: List[Union[List[str], str]]) -> Optional[int]: - """Given a VEP calibration inquiry, determine which box holds the target. - - Parameters - ---------- - inquiry - list of target, fixation, and sublists representing each - vep box and its content symbols. - - Returns the box index (0-based). - """ - target, _fixation, *boxes = inquiry - for i, box in enumerate(boxes): - if target in box: - return i - return None - - class VEPCalibrationTask(Task): """VEP Calibration Task. @@ -258,11 +241,23 @@ def write_session_data(self) -> None: def update_session_data(self, inquiry: List[Union[List[str], str]]) -> None: - """Adds the inquiry to the session data and writes to disk.""" - target_box = target_index(inquiry) - has_target = target_box is not None + """Adds the inquiry to the session data and writes to disk. + + Parameters + ---------- + inquiry - list of target, fixation, and sublists representing each + vep box and its content symbols. + """ + target_letter, _fixation, *boxes = inquiry + assert isinstance(target_letter, str), "unexpected inquiry format" + + target_box = None + for i, box in enumerate(boxes): + if target_letter in box: + target_box = i + target_freq = self.display.flicker_rates[ - target_box] if has_target else None + target_box] if target_box is not None else None task_data = { 'target_box_index': target_box, @@ -270,7 +265,7 @@ def update_session_data(self, inquiry: List[Union[List[str], } targetness = [TriggerType.NONTARGET for _ in range(self.num_boxes)] - if has_target: + if target_box is not None: targetness[target_box] = TriggerType.TARGET trg_types = [TriggerType.PROMPT, TriggerType.FIXATION, *targetness] @@ -278,10 +273,11 @@ def update_session_data(self, inquiry: List[Union[List[str], timing=[], triggers=[], target_info=list(map(str, trg_types)), - target_letter=inquiry[0], + target_letter=target_letter, task_data=task_data) self.session.add_sequence(data) - self.session.total_time_spent = self.experiment_clock.getTime() - self.start_time + self.session.total_time_spent = self.experiment_clock.getTime( + ) - self.start_time self.write_session_data() def name(self): From 6b996389faaef3c43aabb474ef0c52fe0173ae05 Mon Sep 17 00:00:00 2001 From: lawhead Date: Mon, 20 May 2024 13:53:30 -0700 Subject: [PATCH 245/330] #185720052 ; updates the main GUI with the new parameter location after using the Save As functionality in the params_form GUI. --- bcipy/gui/BCInterface.py | 25 +++++++++++-------------- bcipy/gui/parameters/params_form.py | 13 +++++++++---- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/bcipy/gui/BCInterface.py b/bcipy/gui/BCInterface.py index c3e8eb63e..326e2a1f6 100644 --- a/bcipy/gui/BCInterface.py +++ b/bcipy/gui/BCInterface.py @@ -1,20 +1,15 @@ import subprocess import sys - from typing import List -from bcipy.config import BCIPY_ROOT, DEFAULT_PARAMETERS_PATH, STATIC_IMAGES_PATH -from bcipy.gui.main import ( - AlertMessageResponse, - AlertMessageType, - AlertResponse, - app, - BCIGui, - contains_special_characters, - contains_whitespaces, - invalid_length, -) -from bcipy.helpers.load import load_json_parameters, load_experiments, copy_parameters, load_users +from bcipy.config import (BCIPY_ROOT, DEFAULT_PARAMETERS_PATH, + STATIC_IMAGES_PATH) +from bcipy.gui.main import (AlertMessageResponse, AlertMessageType, + AlertResponse, BCIGui, app, + contains_special_characters, contains_whitespaces, + invalid_length) +from bcipy.helpers.load import (copy_parameters, load_experiments, + load_json_parameters, load_users) from bcipy.task import TaskType @@ -317,9 +312,11 @@ def edit_parameters(self) -> None: else: return None - subprocess.call( + output = subprocess.check_output( f'python {BCIPY_ROOT}/gui/parameters/params_form.py -p {self.parameter_location}', shell=True) + if output: + self.parameter_location = output.decode().strip() def check_input(self) -> bool: """Check Input. diff --git a/bcipy/gui/parameters/params_form.py b/bcipy/gui/parameters/params_form.py index fc82c7780..0e6a4510a 100644 --- a/bcipy/gui/parameters/params_form.py +++ b/bcipy/gui/parameters/params_form.py @@ -418,11 +418,14 @@ def on_save_as(self): self.repaint() -def main(json_file, title='BCI Parameters', size=(450, 550)): +def main(json_file, title='BCI Parameters', size=(450, 550)) -> str: """Set up the GUI components and start the main loop.""" app = QApplication(sys.argv) - _panel = MainPanel(json_file, title, size) - sys.exit(app.exec()) + panel = MainPanel(json_file, title, size) + app.exec() + json_file = panel.json_file + app.quit() + return json_file if __name__ == '__main__': @@ -439,4 +442,6 @@ def main(json_file, title='BCI Parameters', size=(450, 550)): default=DEFAULT_PARAMETERS_PATH, help='Path to parameters.json configuration file.') args = parser.parse_args() - main(args.parameters) + # Note that this write to stdout is important for the interaction with + # the BCInterface main GUI. + print(main(args.parameters), file=sys.stdout) From c00998028b7ce611a23f4301a5de752a87e9e1f3 Mon Sep 17 00:00:00 2001 From: Carson Reader Date: Thu, 23 May 2024 13:13:19 -0700 Subject: [PATCH 246/330] GitHub actions MacOS build fix (#324) * enables github actions on push for this branch * run `m2chip_install.sh` for macOS build action * refactors macOS github actions to use bcipy makefile This should reduce redundant code and ensure the install process is consistant * Specifies tables version of 3.7.0 to fix macOS build issues as suggested [here](https://github.com/DeepLabCut/DeepLabCut/issues/2342) * Refactors github actions to use makefile This reduces code duplication and ensures that github actions reflect build process * removes upgrading `settuptools` and `wheel` * Adds comment to indicate M3 support. * Comments out redundant installs in `m2chip_install.sh` * adds `dev-install-mac` to makefile * fixes indentation in makefile * Revert "fixes indentation in makefile" This reverts commit db0e86834d037e3583ef6347b6be9d48c3677e66. * Revert "adds `dev-install-mac` to makefile" This reverts commit 45e19270f1d815b070c1a4435a4af0ffb0ee9f0a. * Revert "Comments out redundant installs in `m2chip_install.sh`" This reverts commit 2d6c43cdc7c449c8fca3cb5c2dace43645f21627. * removes github actions on push for this branch * update changelog --- .github/workflows/main.yml | 33 ++++++++++++--------------------- CHANGELOG.md | 1 + requirements.txt | 3 ++- scripts/shell/m2chip_install.sh | 2 +- 4 files changed, 16 insertions(+), 23 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f0a2b5997..5ced794ff 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -36,13 +36,10 @@ jobs: sudo apt-get install libsndfile* sudo apt-get install xvfb python -m pip install --upgrade pip - pip install kenlm==0.1 --global-option="--max_order=12" - pip install psychopy==2023.2.1 --no-deps pip install attrdict3 - name: Install dependencies run: | - pip install -r dev_requirements.txt - pip install -e . + make dev-install - name: Unit test if: always() run: | @@ -60,10 +57,10 @@ jobs: fi - name: type-check run: | - mypy bcipy + make type - name: lint run: | - flake8 bcipy + make lint build-windows: @@ -82,26 +79,23 @@ jobs: - name: update pip & install custom dependencies run: | python -m pip install --upgrade pip - pip install kenlm==0.1 --global-option="--max_order=12" - pip install psychopy==2023.2.1 --no-deps - name: install manually downloaded pyWinhook wheel for Python 3.9 if: matrix.python-version == 3.9 run: | pip install ./.bcipy/downloads/pyWinhook-1.6.2-cp39-cp39-win_amd64.whl - name: install dependencies run: | - pip install -r dev_requirements.txt - pip install -e . + make dev-install - name: unittest if: always() run: | - coverage run --branch --source=bcipy -m pytest --mpl -k "not slow" + make coverage-report - name: type-check run: | - mypy bcipy + make type - name: lint run: | - flake8 bcipy + make lint build-macos: @@ -119,24 +113,21 @@ jobs: python-version: ${{ matrix.python-version }} - name: update pip & install custom dependencies run: | + sh scripts/shell/m2chip_install.sh brew install labstreaminglayer/tap/lsl python -m pip install --upgrade pip - pip install kenlm==0.1 --global-option="--max_order=12" - pip install psychopy==2023.2.1 --no-deps - name: install dependencies run: | - pip install -r dev_requirements.txt - pip install -e . + make dev-install - name: unittest if: always() run: | - coverage run --branch --source=bcipy -m pytest --mpl -k "not slow" - coverage report + make coverage-report - name: type-check run: | - mypy bcipy + make type - name: lint run: | - flake8 bcipy + make lint diff --git a/CHANGELOG.md b/CHANGELOG.md index fe6a592ca..41c9f1e50 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ Our last release candidate before the official 2.0 release! - Add mypy typing to the codebase #301 - Change default log level to INFO to prevent too many messages in the experiment logs #288 - Upgrade requirements for m1/2 chips #299/#300 + - Fix GitHub actions build issues with macOS # 2.0.0-rc.3 diff --git a/requirements.txt b/requirements.txt index 809272152..149aa74cb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -23,4 +23,5 @@ pyedflib==0.1.34 PyQt6==6.6.0 PyQt6-Qt6==6.6.0 pywavelets==1.4.1 -tqdm==4.62.2 \ No newline at end of file +tqdm==4.62.2 +tables==3.7.0 \ No newline at end of file diff --git a/scripts/shell/m2chip_install.sh b/scripts/shell/m2chip_install.sh index c706ea2c6..3fe41ee8c 100644 --- a/scripts/shell/m2chip_install.sh +++ b/scripts/shell/m2chip_install.sh @@ -1,6 +1,6 @@ """Mac M2 install script. -This script is intended to be run from the root of the BciPy repository. It may work for M1 chips, but +This script is intended to be run from the root of the BciPy repository. It has been tested on M2 and M3 chips. It may work for M1 chips, but this has not been tested and may require use of Rosetta 2. This script will install the necessary dependencies for the M2 chip on a Mac. It will also install From 836e284f911936a3cfaac7f2a535d5ead7e88800 Mon Sep 17 00:00:00 2001 From: Carson Reader Date: Wed, 29 May 2024 17:12:32 -0700 Subject: [PATCH 247/330] removes randomly failing test --- bcipy/helpers/tests/test_stimuli.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/bcipy/helpers/tests/test_stimuli.py b/bcipy/helpers/tests/test_stimuli.py index 397ca2eac..4c017e828 100644 --- a/bcipy/helpers/tests/test_stimuli.py +++ b/bcipy/helpers/tests/test_stimuli.py @@ -730,7 +730,6 @@ def test_best_case_inquiry_gen_invalid_alp(self): def test_best_case_inquiry_gen_with_inq_constants(self): """Test best_case_rsvp_inq_gen with inquiry constants""" - alp = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] n = 5 @@ -761,7 +760,6 @@ def test_best_case_inquiry_gen_with_inq_constants(self): for letter in expected: self.assertTrue(letter in first_inq) - self.assertNotEqual(expected, first_inq, 'Should be in random order.') self.assertEqual([1] + ([0.2] * n), times[0]) self.assertEqual(['red'] + (['white'] * n), colors[0]) From 0cf22ecacd7fbd7959522e5275ff7e029fbb213e Mon Sep 17 00:00:00 2001 From: tab-cmd Date: Thu, 30 May 2024 11:49:36 -0700 Subject: [PATCH 248/330] Add BciPy Report (#325) * Add Report and ReportSection --- .gitignore | 4 +- BciPyReport.pdf | Bin 0 -> 9155 bytes CHANGELOG.md | 2 + bcipy/config.py | 1 + bcipy/helpers/demo/demo_visualization.py | 2 +- bcipy/helpers/report.py | 227 ++++++++++++++++++++ bcipy/helpers/tests/test_report.py | 175 +++++++++++++++ bcipy/static/images/gui/CAMBI_full_logo.png | Bin 0 -> 6425 bytes requirements.txt | 1 + 9 files changed, 409 insertions(+), 3 deletions(-) create mode 100644 BciPyReport.pdf create mode 100644 bcipy/helpers/report.py create mode 100644 bcipy/helpers/tests/test_report.py create mode 100644 bcipy/static/images/gui/CAMBI_full_logo.png diff --git a/.gitignore b/.gitignore index 1b4f6af78..613c7069a 100644 --- a/.gitignore +++ b/.gitignore @@ -19,8 +19,8 @@ __pycache__/ .cache/ # BciPy files and directories -calibration.csv -rawdata.csv +*.csv +*.pdf buffer.db lmwrap.log env.txt diff --git a/BciPyReport.pdf b/BciPyReport.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c90cd24dee8bbabe6470177f7cd4de8f7f749ba9 GIT binary patch literal 9155 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