From b82c6ecb03587bd72175be3b3e6fd5d0a16bc0c7 Mon Sep 17 00:00:00 2001 From: Alexander Hellmann-Schweikardt <102021436+hellschwalex@users.noreply.github.com> Date: Sun, 19 Nov 2023 10:21:02 +0100 Subject: [PATCH 01/12] Update 05_documentation_components.md Fixed some Linter issues. --- doc/05_acting/05_documentation_components.md | 68 ++++++++++---------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/doc/05_acting/05_documentation_components.md b/doc/05_acting/05_documentation_components.md index d13dab7d..5a647e60 100644 --- a/doc/05_acting/05_documentation_components.md +++ b/doc/05_acting/05_documentation_components.md @@ -16,8 +16,8 @@ Alexander Hellmann-Schweikardt ## [Components](https://github.com/una-auxme/paf23/tree/main/code/acting/src/acting) -> General ToDo: Many Subscriber functions are either Set or Get which seems inconsistent -> General ToDo: Some code can be beautified and commented better +> * General ToDo: Many Subscriber functions are either Set or Get which seems inconsistent +> * General ToDo: Some code can be beautified and commented better ### stanley_controller.py @@ -32,14 +32,14 @@ Alexander Hellmann-Schweikardt * Stanley Controller with Kce = 0.1 and Kv = 1 * Gets closest point on **trajectory** and the target heading from **trajectory** * Calculate position error (cross_err) with **current_pos** and heading error (heading_err) with **current_heading** -* Calculate steering angle with Stanley Controller and errors steering = heading_err + atan((Kce *cross_err) / current_velocity* Kv) +* Calculate steering angle with Stanley Controller and errors steering = heading_err + atan((Kce \* cross_err) / current_velocity \* Kv) * steering_angle = steering_angle * -1 * **stanley_steer** = steering_angle * **stanley_debug** = heading, trajectory_heading, cross_err, heading_err and steering_angle -> ToDo: Tune Controllerparameter -> ToDo: Check if Controller is used correctly (equation and all) -> ToDo: Check why steering_angle needs * -1 +> * ToDo: Tune Controllerparameter +> * ToDo: Check if Controller is used correctly (equation and all) +> * ToDo: Check why steering_angle needs * -1 ### pure_pursuit_controller.py @@ -55,18 +55,18 @@ Alexander Hellmann-Schweikardt * Pure Pursuit Controller with Kld = 1.0, look_ahead_dist = 3.5 and l_vehicle = 2.85 * MIN_LD_V = (float) 3.0 * if **Speed** < MIN_LD_V : look_ahead_distance += 0 - * else look_ahead_distance += Kld * (**Speed** - MIN_LD_V) + * else look_ahead_distance += Kld \* (**Speed** - MIN_LD_V) * creates vector from **current_pos** to next waypoint on **trajectory** * get target heading from vector-angle * alpha = target heading - **current_heading** -* steering_angle = atan( ( 2 *l_vehicle* sin (alpha) ) / look_ahead_distance) +* steering_angle = atan( ( 2 \* l_vehicle \* sin (alpha) ) / look_ahead_distance) * **pure_pursuit_steer** = steering_angle * **pure_pursuit_steer_target_wp** = target waypoint pose from trajectory * **pure_p_debug** = heading, target heading, look_ahead_distance and steering angle -> ToDo: Check out Controller parameters and test tuning for better results -> ToDo: Check, if Controller is used correctly (equation and all) -> ToDo: Check, where pure_pursuit_steer_target_wp is used and why. Is it for Debugging only? +> * ToDo: Check out Controller parameters and test tuning for better results +> * ToDo: Check, if Controller is used correctly (equation and all) +> * ToDo: Check, where pure_pursuit_steer_target_wp is used and why. Is it for Debugging only? ### velocity_controller.py @@ -88,9 +88,9 @@ Alexander Hellmann-Schweikardt * **throttle** is calculated with **Speed** using the PID but also 0 <= **throttle** <= 1 * **speed_limit** = speed_limit -> ToDo: Check out Controller parameters and test tuning for better results (Use of PID Controller, but Ki = 0 -> why?) -> ToDo: Check, how good the Speedlimit-Getter from the OpenDrive Map really works -> ToDo: Check if equations are correct +> * ToDo: Check out Controller parameters and test tuning for better results (Use of PID Controller, but Ki = 0 -> why?) +> * ToDo: Check, how good the Speedlimit-Getter from the OpenDrive Map really works +> * ToDo: Check if equations are correct ### vehicle_controller.py @@ -110,7 +110,7 @@ Alexander Hellmann-Schweikardt * MAX_STEER_ANGLE: float = 0.75 * Steering: * Choose_Controller by current Speed on *Sigmoid Curve* around STANLEY_CONTROLLER_MIN_V -> p_stanley (how much “stanley” steering is used 0 < p < 1, see image) - * steering = p_stanley ***stanley_steering** + (1-p_stanley)* **pure_pursuit_steer** + * steering = p_stanley \* **stanley_steering** + (1-p_stanley) \* **pure_pursuit_steer** * since this is only the total steering, another PID Controller Kp = 0.5 Ki = 0.1 Kd = 0.1 with range[-MAX_STEER_ANGLE; MAX_STEER_ANGLE] is used to steer “smoothly” * steer = PID(steering) with 0 as “workingpoint” * CAREFUL: in function map_steering another parameter tune_k = -5 is used for tuning again @@ -126,11 +126,11 @@ Alexander Hellmann-Schweikardt ![stanley_anteil.png](https://github.com/una-auxme/paf23/blob/main/doc/00_assets/acting/stanley_anteil.png?raw=true) -> ToDo: Check out Controller parameters and test tuning for better results -> ToDo: Check strange steering behavior Controller implementation with extra Tuningparameter -> ToDo: Throttle: Code says no backwards-driving is possible yet, needs implementation -> ToDo: Check why gear is seemingly repeatedly set to =1 in Loop, not regarding speed or anything -> ToDo: Emergency breaking seems poorly implemented with many strange values like steer=90°, throttle = 1 (full throttle on braking?), reverse = true etc. +> * ToDo: Check out Controller parameters and test tuning for better results +> * ToDo: Check strange steering behavior Controller implementation with extra Tuningparameter +> * ToDo: Throttle: Code says no backwards-driving is possible yet, needs implementation +> * ToDo: Check why gear is seemingly repeatedly set to =1 in Loop, not regarding speed or anything +> * ToDo: Emergency breaking seems poorly implemented with many strange values like steer=90°, throttle = 1 (full throttle on braking?), reverse = true etc. ### [acc.py (Adaptive Cruise Control)](https://github.com/una-auxme/paf23/blob/main/doc/05_acting/02_acc.md) @@ -146,12 +146,12 @@ Alexander Hellmann-Schweikardt * Turns off after 1s of no new acc_distance published or acc_distance < 0 published * publishes targetspeed max_velocity of 0 if turned off * maybe needs more investigation on how good this actually works, formula is provided, see link -* Triggers emergency break if acc_distance < 0.5 * optimal distance. +* Triggers emergency break if acc_distance < 0.5 \* optimal distance. * Testdummy available: [AccDistancePublisherDummy](https://github.com/una-auxme/paf23/blob/main/code/acting/src/acting/acc_distance_publisher_dummy.py) -> ToDo: Check, if parameter and equations are used correctly -> ToDo: Generally double-check for correctness -> ToDo: Check, if needed, if Testdummy is correctly used/implemented +> * ToDo: Check, if parameter and equations are used correctly +> * ToDo: Generally double-check for correctness +> * ToDo: Check, if needed, if Testdummy is correctly used/implemented ### acting_velocity_publisher.py @@ -168,7 +168,7 @@ Alexander Hellmann-Schweikardt * MAX_VELOCITY: float = 25.0 = 90km/h * Until PARKING_DUR is over, **max_velocity** = PARKING_V * After PARKING_DUR is over, calculate following: - * look_ahead_distance = max (**Speed** * 2 , 1) in Meters + * look_ahead_distance = max (**Speed** \* 2 , 1) in Meters * get closest target point on **trajectory** based on the distance of look_ahead_distance * get vector from **current_pos** to target point * get angle of vector (heading) @@ -176,10 +176,10 @@ Alexander Hellmann-Schweikardt * alpha_sum = Sum of the last 9 alphas * **max_velocity** = 3 , 8, 14, MAX_VELOCITY, depending on calculated alpha_sum, the sharper the curve to drive, the lower the maximum safe-to-drive velocity -> ToDo: Check if parameters for max_velocity setting and for curve detection etc. are well tuned -> ToDo: Check parkingbehavior for correctness (and if it is really needed) -> ToDo: Check, why the curve detection uses the Sum over the last 9 heading-differences -> ToDo: Speed is Subscribed to twice in Code, why? +> * ToDo: Check if parameters for max_velocity setting and for curve detection etc. are well tuned +> * ToDo: Check parkingbehavior for correctness (and if it is really needed) +> * ToDo: Check, why the curve detection uses the Sum over the last 9 heading-differences +> * ToDo: Speed is Subscribed to twice in Code, why? ## Zusatzkomponenten @@ -193,7 +193,7 @@ Alexander Hellmann-Schweikardt * **_clean_route_duplicates(route: List[Tuple[float, float]], min_dist: float) -> List[Tuple[float, float]]**: Remove duplicates in the given List of tuples, if the distance between them is less than min_dist. * **interpolate_route(orig_route: List[Tuple[float, float]], interval_m=0.5)**: Interpolate the given route with points inbetween,holding the specified distance interval threshold. -> ToDo: Generally double-check for correctness (seems good) +> * ToDo: Generally double-check for correctness (seems good) ### helper_functions.py @@ -206,7 +206,7 @@ Alexander Hellmann-Schweikardt * **normalize_angle(angle: float) -> float**: Normalizes an angle to [-pi, pi] * **calc_egocar_yaw(pose: PoseStamped) -> float**: Calculates the yaw of the ego vehicle -> ToDo: Generally double-check for correctness +> * ToDo: Generally double-check for correctness ### MainFramePublisher.py @@ -217,10 +217,10 @@ Alexander Hellmann-Schweikardt * **transform**: broadcasts heroframe-transform via TransformBroadcaster * This node handles the translation from the static main frame to the moving hero frame. The hero frame always moves and rotates as the ego vehicle does. The hero frame is used by sensors like the lidar. Rviz also uses the hero frame. The main frame is used for planning * rotation = - **current_heading** -* position x = cos(rotation) ***current_pos**.x + sin(rotation)* **current_pos**.y -* position y = sin(rotation) ***current_pos**.x + cos(rotation)* **current_pos**.y +* position x = cos(rotation) \* **current_pos**.x + sin(rotation) \* **current_pos**.y +* position y = sin(rotation) \* **current_pos**.x + cos(rotation) \* **current_pos**.y * position z = - **current_pos**.z * rot_quat = rot as quaternion * **transform** = position x/y/z, rot_quat, Timestamp(now), “global”, “hero” -> ToDo: Generally double-check for correctnes +> * ToDo: Generally double-check for correctnes From b365724bfbe45a74141e45b94c791154af9da8c4 Mon Sep 17 00:00:00 2001 From: Alexander Hellmann-Schweikardt <102021436+hellschwalex@users.noreply.github.com> Date: Tue, 21 Nov 2023 13:21:17 +0100 Subject: [PATCH 02/12] Update 05_documentation_components.md Correct Linter issues --- doc/05_acting/05_documentation_components.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/05_acting/05_documentation_components.md b/doc/05_acting/05_documentation_components.md index 5a647e60..9af1ef6e 100644 --- a/doc/05_acting/05_documentation_components.md +++ b/doc/05_acting/05_documentation_components.md @@ -112,8 +112,8 @@ Alexander Hellmann-Schweikardt * Choose_Controller by current Speed on *Sigmoid Curve* around STANLEY_CONTROLLER_MIN_V -> p_stanley (how much “stanley” steering is used 0 < p < 1, see image) * steering = p_stanley \* **stanley_steering** + (1-p_stanley) \* **pure_pursuit_steer** * since this is only the total steering, another PID Controller Kp = 0.5 Ki = 0.1 Kd = 0.1 with range[-MAX_STEER_ANGLE; MAX_STEER_ANGLE] is used to steer “smoothly” - * steer = PID(steering) with 0 as “workingpoint” - * CAREFUL: in function map_steering another parameter tune_k = -5 is used for tuning again + * steer = PID(steering) with 0 as “workingpoint” + * CAREFUL: in function map_steering another parameter tune_k = -5 is used for tuning again * Throttle: * if **throttle** > 0 : brake = 0 and throttle = **throttle** * else (**throttle** <= 0): brake = abs(**throttle**) and throttle = 0 From 61f7b959febe4a77f619cc5fee492a3fbacc57b2 Mon Sep 17 00:00:00 2001 From: Leon Okrusch Date: Wed, 22 Nov 2023 10:41:39 +0100 Subject: [PATCH 03/12] feat(#85): Removed all files regarding EfficientPS --- code/perception/launch/perception.launch | 5 - .../src/panoptic_segmentation/__init__.py | 0 .../src/panoptic_segmentation/config.yaml | 95 ------ .../datasets/__init__.py | 0 .../datasets/panoptic_dataset.py | 173 ----------- .../efficientps/__init__.py | 1 - .../efficientps/backbone/__init__.py | 2 - .../backbone/modify_efficientnet.py | 68 ----- .../efficientps/fpn/__init__.py | 1 - .../efficientps/fpn/two_way_fpn.py | 244 --------------- .../efficientps/instance_head/__init__.py | 3 - .../instance_head/instance_head.py | 38 --- .../efficientps/instance_head/roi_heads.py | 286 ------------------ .../efficientps/instance_head/rpn.py | 78 ----- .../efficientps/model.py | 146 --------- .../efficientps/panoptic_metrics.py | 81 ----- .../panoptic_segmentation_module.py | 240 --------------- .../efficientps/semantic_head/__init__.py | 1 - .../semantic_head/semantic_head.py | 246 --------------- .../efficientps/utils/__init__.py | 0 .../utils/depthwise_separable_conv.py | 43 --- .../preparation/__init__.py | 0 .../preparation/createPanopticImgs.py | 171 ----------- .../preparation/labels.py | 93 ------ .../src/panoptic_segmentation/train_net.py | 178 ----------- .../src/panoptic_segmentation/visualize.py | 77 ----- code/perception/src/segmentation_node.py | 170 ----------- 27 files changed, 2440 deletions(-) delete mode 100644 code/perception/src/panoptic_segmentation/__init__.py delete mode 100644 code/perception/src/panoptic_segmentation/config.yaml delete mode 100644 code/perception/src/panoptic_segmentation/datasets/__init__.py delete mode 100644 code/perception/src/panoptic_segmentation/datasets/panoptic_dataset.py delete mode 100644 code/perception/src/panoptic_segmentation/efficientps/__init__.py delete mode 100644 code/perception/src/panoptic_segmentation/efficientps/backbone/__init__.py delete mode 100644 code/perception/src/panoptic_segmentation/efficientps/backbone/modify_efficientnet.py delete mode 100644 code/perception/src/panoptic_segmentation/efficientps/fpn/__init__.py delete mode 100644 code/perception/src/panoptic_segmentation/efficientps/fpn/two_way_fpn.py delete mode 100644 code/perception/src/panoptic_segmentation/efficientps/instance_head/__init__.py delete mode 100644 code/perception/src/panoptic_segmentation/efficientps/instance_head/instance_head.py delete mode 100644 code/perception/src/panoptic_segmentation/efficientps/instance_head/roi_heads.py delete mode 100644 code/perception/src/panoptic_segmentation/efficientps/instance_head/rpn.py delete mode 100644 code/perception/src/panoptic_segmentation/efficientps/model.py delete mode 100644 code/perception/src/panoptic_segmentation/efficientps/panoptic_metrics.py delete mode 100644 code/perception/src/panoptic_segmentation/efficientps/panoptic_segmentation_module.py delete mode 100644 code/perception/src/panoptic_segmentation/efficientps/semantic_head/__init__.py delete mode 100644 code/perception/src/panoptic_segmentation/efficientps/semantic_head/semantic_head.py delete mode 100644 code/perception/src/panoptic_segmentation/efficientps/utils/__init__.py delete mode 100644 code/perception/src/panoptic_segmentation/efficientps/utils/depthwise_separable_conv.py delete mode 100644 code/perception/src/panoptic_segmentation/preparation/__init__.py delete mode 100755 code/perception/src/panoptic_segmentation/preparation/createPanopticImgs.py delete mode 100755 code/perception/src/panoptic_segmentation/preparation/labels.py delete mode 100644 code/perception/src/panoptic_segmentation/train_net.py delete mode 100644 code/perception/src/panoptic_segmentation/visualize.py delete mode 100755 code/perception/src/segmentation_node.py diff --git a/code/perception/launch/perception.launch b/code/perception/launch/perception.launch index bc8c8f9c..7636042c 100644 --- a/code/perception/launch/perception.launch +++ b/code/perception/launch/perception.launch @@ -8,11 +8,6 @@ - - - - - diff --git a/code/perception/src/panoptic_segmentation/__init__.py b/code/perception/src/panoptic_segmentation/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/code/perception/src/panoptic_segmentation/config.yaml b/code/perception/src/panoptic_segmentation/config.yaml deleted file mode 100644 index 6c77743a..00000000 --- a/code/perception/src/panoptic_segmentation/config.yaml +++ /dev/null @@ -1,95 +0,0 @@ -MODEL: - ANCHOR_GENERATOR: - SIZES: [ [ 32 ], [ 64 ], [ 128 ], [ 256 ] ] # One size for each in feature map - ASPECT_RATIOS: [ [ 0.5, 1.0, 2.0 ] ] # Three aspect ratios (same for all in feature maps) - PROPOSAL_GENERATOR: - NAME: "RPNCustom" - RPN: - HEAD_NAME: "DepthwiseSepRPNHead" # Normal RPN Head "StandardRPNHead" - IN_FEATURES: [ "P_4", "P_8", "P_16", "P_32" ] - PRE_NMS_TOPK_TRAIN: 2000 # Per FPN level - PRE_NMS_TOPK_TEST: 2000 # Per FPN level - BBOX_REG_LOSS_TYPE: "smooth_l1" - BBOX_REG_LOSS_WEIGHT: 1.0 - SMOOTH_L1_BETA: 0.11111111 # 1.0 / 9.0 - - # Detectron1 uses 2000 proposals per-batch, - # (See "modeling/rpn/rpn_outputs.py" for details of this legacy issue) - # which is approximately 1000 proposals per-image since the default batch size for FPN is 2. - POST_NMS_TOPK_TRAIN: 1000 - POST_NMS_TOPK_TEST: 1000 - SMOOTH_L1_BETA: 0.1111 - IOU_THRESHOLDS: [ 0.3, 0.7 ] - ROI_HEADS: - NAME: "CustomROIHeads" - # BATCH_SIZE_PER_IMAGE: 256 # number of proposals to sample for training - # POSITIVE_FRACTION: 0.25 # fraction of positive (foreground) proposals to sample for training. - IN_FEATURES: [ "P_4", "P_8", "P_16", "P_32" ] - NUM_CLASSES: 14 # There is 14 instance in our dataset - # PROPOSAL_APPEND_GT: - IOU_THRESHOLDS: [ 0.5 ] - # IOU_LABELS: - SCORE_THRESH_TEST: 0.5 # First step of panoptic fusion module - NMS_THRESH_TEST: 0.5 # Second step of panoptic fusion module - ROI_BOX_HEAD: - POOLER_RESOLUTION: 7 - POOLER_SAMPLING_RATIO: 2 # (maybe put to 2) The `sampling_ratio` parameter for the ROIAlign op. - POOLER_TYPE: "ROIAlign" # "ROIAlignV2" - SMOOTH_L1_BETA: 1.0 - # SCORE_THRESH_TEST: 0.05 - # NMS_THRESH_TEST: 0.5 - BBOX_REG_LOSS_TYPE: "smooth_l1" - SMOOTH_L1_BETA: 1.0 - BBOX_REG_LOSS_WEIGHT: 1.0 - ROI_MASK_HEAD: - POOLER_RESOLUTION: 14 - POOLER_TYPE: "ROIAlign" -TEST: - DETECTIONS_PER_IMAGE: 100 - -#### CUSTOM PARAMETER ##### - -# DATA -# Path to cityscapes dataset -DATASET_PATH: "/workspace/code/output/leaderboard_dataset_converted/" -TRAIN_JSON: "groundtruth/panoptic_train.json" -VALID_JSON: "groundtruth/panoptic_val.json" -PRED_DIR: "preds" # Path of images generated in the dataset folder -PRED_JSON: "cityscapes_panoptic_preds.json" # Path in the dataset folder of the prediction json created - -# TRANSFORM based on albumentation https://albumentations.ai/ -TRANSFORM: - NORMALIZE: - MEAN: (0.485, 0.456, 0.406) - STD: (0.229, 0.224, 0.225) - RESIZE: - HEIGHT: 512 - WIDTH: 1024 - RANDOMCROP: - HEIGHT: 512 - WIDTH: 1024 - HFLIP: - PROB: 0.5 - -# Solver -SOLVER: - NAME: "Adam" # Adam or SGD - BASE_LR: 1.3e-3 - WEIGHT_DECAY: 0.0001 # Only for SGD - WARMUP_ITERS: 500 # Set to 0 for no warmup - ACCUMULATE_GRAD: 1 # Number of accumulated epochs for accumulated gradient - -CALLBACKS: - CHECKPOINT_DIR: "logs/test-10-patience" - -# Path to load a model -CHECKPOINT_PATH: "" -BATCH_SIZE: 1 -PRECISION: 16 # Bit precision for mix precision training -NUM_CLASS: 15 -MODEL_CUSTOM: - BACKBONE: - EFFICIENTNET_ID: 5 # Id of the EfficienNet model - LOAD_PRETRAIN: True # Load pretrained EfficienNet model -INFERENCE: - AREA_TRESH: 512 #1024 / 2 because it's made on image of resize size diff --git a/code/perception/src/panoptic_segmentation/datasets/__init__.py b/code/perception/src/panoptic_segmentation/datasets/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/code/perception/src/panoptic_segmentation/datasets/panoptic_dataset.py b/code/perception/src/panoptic_segmentation/datasets/panoptic_dataset.py deleted file mode 100644 index 0f622189..00000000 --- a/code/perception/src/panoptic_segmentation/datasets/panoptic_dataset.py +++ /dev/null @@ -1,173 +0,0 @@ -import os -import json -import torch -import numpy as np -from PIL import Image -from torch.utils.data import Dataset -import torchvision.transforms.functional as F -from detectron2.structures import Instances, BitMasks, Boxes - - -class PanopticDataset(Dataset): - """A dataset for Panoptic task""" - - def __init__(self, path_json, root_dir, split, transform=None): - """ - Args: - path_json (string): Path to the json file with annotations. - root_dir (string): Directory with all the images. - transform (callable, optional): Optional transform to be applied - on a sample. - """ - self.root_dir = root_dir - self.split = split - self.transform = transform - # Load json file containing information about the dataset - path_file = os.path.join(self.root_dir, path_json) - data = json.load(open(path_file)) - annotations = data['annotations'] - images = data['images'] - self.categories = data['categories'] - # Add mapper to training id and class id - self.categories = sorted(self.categories, key=lambda d: d["isthing"]) - index = self.categories.index( - next(x for x in self.categories if x["isthing"] == 1)) - self.semantic_class_mapper = {cat['id']: { - 'train_id': i, - 'isthing': cat['isthing'] - } - for i, cat in enumerate(self.categories)} - self.instance_class_mapper = {cat['id']: { - 'train_id': i - } - for i, cat in enumerate(self.categories[index:])} - self.semantic_class_mapper.update({0: { - 'train_id': len(self.categories) + 1, - 'isthing': 0}}) - - # Generate a dictionary with all needed information with idx as key - self.meta_data = {} - for i in range(len(images)): - self.meta_data.update({i: {}}) - assert annotations[i]['image_id'] == images[i]['id'] - self.meta_data[i].update({ - 'labelfile_name': annotations[i]['file_name'] - }) - self.meta_data[i].update(annotations[i]) - self.meta_data[i].update(images[i]) - - def __len__(self): - return len(self.meta_data) - - def __getitem__(self, idx): - # Retrieve meta data of image - img_data = self.meta_data[idx] - - # Load image - path_img = os.path.join(self.root_dir, - img_data["image_id"].split("_")[1], - self.split, - img_data['file_name'].split('_')[0], - img_data['file_name'].replace('gtFine_', '')) - image = np.asarray(Image.open(path_img))[:, :, :3] - - # Get label info - path_label = os.path.join(self.root_dir, - 'groundtruth', - self.split, - img_data['file_name'].split('_')[0], - img_data['labelfile_name'] - .replace(".png", "_instances.png")) - panoptic = np.asarray(Image.open(path_label))[..., :3] - panoptic = rgb2id(panoptic) - - # Get bbox info - rpn_bbox = [] - class_bbox = [] - for seg in img_data['segments_info']: - seg_category = self.semantic_class_mapper[seg['category_id']] - if seg_category['isthing']: - rpn_bbox.append(seg["bbox"]) - class_bbox.append( - self.instance_class_mapper[seg['category_id']]) - - # Apply augmentation with albumentations - if self.transform is not None: - transformed = self.transform( - image=image, - mask=panoptic, - bboxes=rpn_bbox, - class_labels=class_bbox - ) - image = transformed['image'] - panoptic = transformed['mask'] - rpn_bbox = transformed['bboxes'] - # class_bbox = transformed['class_labels'] - - # Create instance class for detectron (Mask RCNN Head) - instance = Instances(panoptic.shape) - - # Create semantic segmentation target with augmented data - semantic = np.zeros_like(panoptic, dtype=np.longlong) - rpn_mask = np.zeros_like(panoptic) - instance_mask = [] - instance_cls = [] - - for seg in img_data['segments_info']: - seg_category = self.semantic_class_mapper[seg['category_id']] - semantic[panoptic == seg["id"]] = seg_category['train_id'] - # If segmentation is a thing generate a mask for maskrcnn target - # Collect information for RPN targets - if seg_category['isthing']: - seg_category = self.instance_class_mapper[seg['category_id']] - mask = np.zeros_like(panoptic) - mask[panoptic == seg["id"]] = 1 # seg_category['train_id'] - instance_cls.append(seg_category['train_id']) - instance_mask.append(mask) - # RPN targets - rpn_mask[panoptic == seg["id"]] = 1 - - # Create same size of bbox and mask instance - if len(rpn_bbox) > 0: - rpn_bbox = coco_to_pascal_bbox(np.stack([*rpn_bbox])) - - instance.gt_masks = BitMasks(instance_mask) - instance.gt_classes = torch.as_tensor(instance_cls) - instance.gt_boxes = Boxes(rpn_bbox) - else: - instance.gt_masks = BitMasks(torch.Tensor([]).view(0, 1, 1)) - instance.gt_classes = torch.as_tensor([]) - instance.gt_boxes = Boxes([]) - - return { - 'image': np.array(image), - 'semantic': semantic, - 'instance': instance, - 'image_id': img_data['image_id'] - } - - -def rgb2id(color): - """ Pass the image from RGB to the instance id value - See COCO format doc https://cocodataset.org/#format-data - """ - if isinstance(color, np.ndarray) and len(color.shape) == 3: - if color.dtype == np.uint8: - color = color.astype(np.int32) - return color[:, :, 0] + 256 * color[:, :, 1] + 256 * 256 * \ - color[:, :, 2] - return int(color[0] + 256 * color[1] + 256 * 256 * color[2]) - - -def coco_to_pascal_bbox(bbox): - return np.stack((bbox[:, 0], bbox[:, 1], - bbox[:, 0] + bbox[:, 2], bbox[:, 1] + bbox[:, 3]), axis=1) - - -def collate_fn(inputs): - return { - 'image': torch.stack([F.to_tensor(i['image']) for i in inputs]), - 'semantic': torch.as_tensor([i['semantic'] for i in inputs]), - 'instance': [i['instance'] for i in inputs], - 'image_id': [i['image_id'] for i in inputs] - } diff --git a/code/perception/src/panoptic_segmentation/efficientps/__init__.py b/code/perception/src/panoptic_segmentation/efficientps/__init__.py deleted file mode 100644 index bea00d0b..00000000 --- a/code/perception/src/panoptic_segmentation/efficientps/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .model import EfficientPS # noqa: F401 diff --git a/code/perception/src/panoptic_segmentation/efficientps/backbone/__init__.py b/code/perception/src/panoptic_segmentation/efficientps/backbone/__init__.py deleted file mode 100644 index a9d80762..00000000 --- a/code/perception/src/panoptic_segmentation/efficientps/backbone/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -from .modify_efficientnet import generate_backbone_EfficientPS, \ - output_feature_size # noqa: F401 diff --git a/code/perception/src/panoptic_segmentation/efficientps/backbone/modify_efficientnet.py b/code/perception/src/panoptic_segmentation/efficientps/backbone/modify_efficientnet.py deleted file mode 100644 index 1303e0ab..00000000 --- a/code/perception/src/panoptic_segmentation/efficientps/backbone/modify_efficientnet.py +++ /dev/null @@ -1,68 +0,0 @@ -import torch.nn as nn -from efficientnet_pytorch import EfficientNet -from inplace_abn import InPlaceABN - -# Output channel from layers given by the `extract_endpoints` function of -# efficient net, use to initialize the fpn -output_feature_size = { - 0: [16, 24, 40, 112, 1280], - 1: [16, 24, 40, 112, 1280], - 2: [16, 24, 48, 120, 1408], - 3: [24, 32, 48, 136, 1536], - 4: [24, 32, 56, 160, 1792], - 5: [24, 40, 64, 176, 2048], - 6: [32, 40, 72, 200, 2304], - 7: [32, 48, 80, 224, 2560], - 8: [32, 56, 88, 248, 2816] -} - - -def generate_backbone_EfficientPS(cfg): - """ - Create an EfficientNet model base on this repository: - https://github.com/lukemelas/EfficientNet-PyTorch - - Modify the existing Efficientnet base on the EfficientPS paper, - ie: - - replace BN and swish with InplaceBN and LeakyRelu - - remove se (squeeze and excite) blocks - Args: - - cdg (Config) : config object - Return: - - backbone (nn.Module) : Modify version of the EfficentNet - """ - - if cfg.MODEL_CUSTOM.BACKBONE.LOAD_PRETRAIN: - backbone = EfficientNet.from_pretrained( - 'efficientnet-b{}'.format(cfg.MODEL_CUSTOM.BACKBONE. - EFFICIENTNET_ID)) - else: - backbone = EfficientNet.from_name( - 'efficientnet-b{}'.format(cfg.MODEL_CUSTOM.BACKBONE. - EFFICIENTNET_ID)) - - backbone._bn0 = InPlaceABN(num_features=backbone._bn0.num_features, - eps=0.001) - backbone._bn1 = InPlaceABN(num_features=backbone._bn1.num_features, - eps=0.001) - backbone._swish = nn.Identity() - for i, block in enumerate(backbone._blocks): - # Remove SE block - block.has_se = False - # Additional step to have the correct number of parameter on compute - block._se_reduce = nn.Identity() - block._se_expand = nn.Identity() - # Replace BN with Inplace BN (default activation is leaky relu) - if '_bn0' in [name for name, layer in block.named_children()]: - block._bn0 = InPlaceABN(num_features=block._bn0.num_features, - eps=0.001) - block._bn1 = InPlaceABN(num_features=block._bn1.num_features, - eps=0.001) - block._bn2 = InPlaceABN(num_features=block._bn2.num_features, - eps=0.001) - - # Remove swish activation since Inplace BN contains the - # activation layer - block._swish = nn.Identity() - - return backbone diff --git a/code/perception/src/panoptic_segmentation/efficientps/fpn/__init__.py b/code/perception/src/panoptic_segmentation/efficientps/fpn/__init__.py deleted file mode 100644 index 555de206..00000000 --- a/code/perception/src/panoptic_segmentation/efficientps/fpn/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .two_way_fpn import TwoWayFpn # noqa: F401 diff --git a/code/perception/src/panoptic_segmentation/efficientps/fpn/two_way_fpn.py b/code/perception/src/panoptic_segmentation/efficientps/fpn/two_way_fpn.py deleted file mode 100644 index 1ddb7a47..00000000 --- a/code/perception/src/panoptic_segmentation/efficientps/fpn/two_way_fpn.py +++ /dev/null @@ -1,244 +0,0 @@ -import torch -import torch.nn as nn -from torch.nn import Conv2d -import torch.nn.functional as F -from inplace_abn import InPlaceABN - -try: - from panoptic_segmentation. \ - efficientps.utils.depthwise_separable_conv import \ - DepthwiseSeparableConv -except ImportError: - from efficientps.utils.depthwise_separable_conv import \ - DepthwiseSeparableConv - - -class TwoWayFpn(nn.Module): - """ - This FPN takes use feature from 4 level of the Backbone (x4, x8, x16, - x32) corresponding to the size comparaison to the input. - It applies lateral conv to set all channel to 256 and then concatenate - in a descending way (bottom up) as well as ascending way (top bottom) - to retrieve feature from diverse scales. - """ - - # TODO Reformat with functions - def __init__(self, in_feature_shape): - """ - Args: - - in_feature_shape (List[int]) : size of feature at different levels - """ - super().__init__() - # Channel information are the one given in the EfficientPS paper - # Depending on the EfficientNet model chosen the number of channel will - # change - # x4 size [B, 40, H, W] (input 40 channels) - # Bottom up path layers - self.conv_b_up_x4 = Conv2d(in_feature_shape[1], 256, 1) - self.iabn_b_up_x4 = InPlaceABN(256) - - # Top down path layers - self.conv_t_dn_x4 = Conv2d(in_feature_shape[1], 256, 1) - self.iabn_t_dn_x4 = InPlaceABN(256) - - # x8 size [B, 64, H, W] (input 64 channels) - # Bottom up path layers - self.conv_b_up_x8 = Conv2d(in_feature_shape[2], 256, 1) - self.iabn_b_up_x8 = InPlaceABN(256) - - # Top down path layers - self.conv_t_dn_x8 = Conv2d(in_feature_shape[2], 256, 1) - self.iabn_t_dn_x8 = InPlaceABN(256) - - # x16 size [B, 176, H, W] (input 176 channels) - # In the paper they took the 5 block of efficient net ie 128 channels - # But taking last block seem more pertinent and was already implemented - # Skipping to id 3 since block 4 does not interest us - # Bottom up path layers - self.conv_b_up_x16 = Conv2d(in_feature_shape[3], 256, 1) - self.iabn_b_up_x16 = InPlaceABN(256) - - # Top down path layers - self.conv_t_dn_x16 = Conv2d(in_feature_shape[3], 256, 1) - self.iabn_t_dn_x16 = InPlaceABN(256) - - # x32 size [B, 2048, H, W] (input 2048 channels) - # Bottom up path layers - self.conv_b_up_x32 = Conv2d(in_feature_shape[4], 256, 1) - self.iabn_b_up_x32 = InPlaceABN(256) - - # Top down path layers - self.conv_t_dn_x32 = Conv2d(in_feature_shape[4], 256, 1) - self.iabn_t_dn_x32 = InPlaceABN(256) - - # Separable Conv and Inplace BN at the output of the FPN - # x4 - self.depth_wise_conv_x4 = DepthwiseSeparableConv( - in_channels=256, - out_channels=256, - kernel_size=3, - padding=1) - self.iabn_out_x4 = InPlaceABN(256) - # x8 - self.depth_wise_conv_x8 = DepthwiseSeparableConv( - in_channels=256, - out_channels=256, - kernel_size=3, - padding=1) - self.iabn_out_x8 = InPlaceABN(256) - # x16 - self.depth_wise_conv_x16 = DepthwiseSeparableConv( - in_channels=256, - out_channels=256, - kernel_size=3, - padding=1) - self.iabn_out_x16 = InPlaceABN(256) - # x32 - self.depth_wise_conv_x32 = DepthwiseSeparableConv( - in_channels=256, - out_channels=256, - kernel_size=3, - padding=1) - self.iabn_out_x32 = InPlaceABN(256) - - def forward(self, inputs): - """ - Args: - - inputs (dict[tensor]) : Features from the backbone - Returns: - - outputs (dict[tensor]) : The 4 levels of features - """ - ################################# - # Bottom up part of the network # - ################################# - # x4 size - # [B, C, x4W, x4H] - b_up_x4 = inputs['reduction_2'] - # [B, C, x4W, x4H] -> [B, 256, x4W, x4H] - b_up_x4 = self.conv_b_up_x4(b_up_x4) - b_up_x4 = self.iabn_b_up_x4(b_up_x4) - # [B, 256, x4W, x4H] -> [B, 256, x8W, x8H] - b_up_x4_to_merge = F.interpolate( - b_up_x4, - size=(inputs['reduction_3'].shape[2], - inputs['reduction_3'].shape[3]), - mode='nearest' - ) - - # x8 size - # [B, C, x8W, x8H] - b_up_x8 = inputs['reduction_3'] - # [B, C, x8W, x8H] -> [B, 256, x8W, x8H] - b_up_x8 = self.conv_b_up_x8(b_up_x8) - b_up_x8 = self.iabn_b_up_x8(b_up_x8) - b_up_x8 = torch.add(b_up_x4_to_merge, b_up_x8) - # [B, 256, x8W, x8H] -> [B, 256, x16W, x16H] - b_up_x8_to_merge = F.interpolate( - b_up_x8, - size=(inputs['reduction_4'].shape[2], - inputs['reduction_4'].shape[3]), - mode='nearest' - ) - - # x16 size (reduction_4 since we don't need block 4) - # [B, C, x16W, x16H] - b_up_x16 = inputs['reduction_4'] - # [B, C, x16W, x16H] -> [B, 256, x16W, x16H] - b_up_x16 = self.conv_b_up_x16(b_up_x16) - b_up_x16 = self.iabn_b_up_x16(b_up_x16) - b_up_x16 = torch.add(b_up_x8_to_merge, b_up_x16) - # [B, 256, x16W, x16H] -> [B, 256, x32W, x32H] - b_up_x16_to_merge = F.interpolate( - b_up_x16, - size=(inputs['reduction_5'].shape[2], - inputs['reduction_5'].shape[3]), - mode='nearest' - ) - - # x32 size - # [B, C, x32W, x32H] - b_up_x32 = inputs['reduction_6'] - # [B, C, x32W, x32H] -> [B, 256, x32W, x32H] - b_up_x32 = self.conv_b_up_x32(b_up_x32) - b_up_x32 = self.iabn_b_up_x32(b_up_x32) - b_up_x32 = torch.add(b_up_x16_to_merge, b_up_x32) - - ################################ - # Top down part of the network # - ################################ - - # x32 size - # [B, C, x32W, x32H] - t_dn_x32 = inputs['reduction_6'] - # [B, C, x32W, x32H] -> [B, 256, x32W, x32H] - t_dn_x32 = self.conv_t_dn_x32(t_dn_x32) - t_dn_x32 = self.iabn_t_dn_x32(t_dn_x32) - # [B, 256, x32W, x32H] -> [B, 256, x16W, x16H] - t_dn_x32_to_merge = F.interpolate( - t_dn_x32, - size=(inputs['reduction_4'].shape[2], - inputs['reduction_4'].shape[3]), - mode='nearest' - ) - # Create output - p_32 = torch.add(t_dn_x32, b_up_x32) - p_32 = self.depth_wise_conv_x32(p_32) - p_32 = self.iabn_out_x32(p_32) - - # x16 size - # [B, C, x16W, x16H] - t_dn_x16 = inputs['reduction_4'] - # [B, C, x16W, x16H] -> [B, 256, x16W, x16H] - t_dn_x16 = self.conv_t_dn_x16(t_dn_x16) - t_dn_x16 = self.iabn_t_dn_x16(t_dn_x16) - t_dn_x16 = torch.add(t_dn_x32_to_merge, t_dn_x16) - # [B, 256, x16W, x16H] -> [B, 256, x32W, x32H] - t_dn_x16_to_merge = F.interpolate( - t_dn_x16, - size=(inputs['reduction_3'].shape[2], - inputs['reduction_3'].shape[3]), - mode='nearest' - ) - # Create output - p_16 = torch.add(t_dn_x16, b_up_x16) - p_16 = self.depth_wise_conv_x16(p_16) - p_16 = self.iabn_out_x16(p_16) - - # x8 size - # [B, C, x8W, x8H] - t_dn_x8 = inputs['reduction_3'] - # [B, C, x8W, x8H] -> [B, 256, x8W, x8H] - t_dn_x8 = self.conv_t_dn_x8(t_dn_x8) - t_dn_x8 = self.iabn_t_dn_x8(t_dn_x8) - t_dn_x8 = torch.add(t_dn_x16_to_merge, t_dn_x8) - # [B, 256, x8W, x8H] -> [B, 256, x4W, x4H] - t_dn_x8_to_merge = F.interpolate( - t_dn_x8, - size=(inputs['reduction_2'].shape[2], - inputs['reduction_2'].shape[3]), - mode='nearest' - ) - # Create output - p_8 = torch.add(t_dn_x8, b_up_x8) - p_8 = self.depth_wise_conv_x8(p_8) - p_8 = self.iabn_out_x8(p_8) - - # x4 size - # [B, C, x4W, x4H] - t_dn_x4 = inputs['reduction_2'] - # [B, C, x4W, x4H] -> [B, 256, x4W, x4H] - t_dn_x4 = self.conv_t_dn_x4(t_dn_x4) - t_dn_x4 = self.iabn_t_dn_x4(t_dn_x4) - t_dn_x4 = torch.add(t_dn_x8_to_merge, t_dn_x4) - - # Create outputs - p_4 = torch.add(t_dn_x4, b_up_x4) - p_4 = self.depth_wise_conv_x4(p_4) - p_4 = self.iabn_out_x4(p_4) - - return { - 'P_4': p_4, - 'P_8': p_8, - 'P_16': p_16, - 'P_32': p_32 - } diff --git a/code/perception/src/panoptic_segmentation/efficientps/instance_head/__init__.py b/code/perception/src/panoptic_segmentation/efficientps/instance_head/__init__.py deleted file mode 100644 index 223e2814..00000000 --- a/code/perception/src/panoptic_segmentation/efficientps/instance_head/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from .instance_head import InstanceHead # noqa: F401 -from .rpn import DepthwiseSepRPNHead # noqa: F401 -from .roi_heads import CustomROIHeads # noqa: F401 diff --git a/code/perception/src/panoptic_segmentation/efficientps/instance_head/instance_head.py b/code/perception/src/panoptic_segmentation/efficientps/instance_head/instance_head.py deleted file mode 100644 index 0957d1fe..00000000 --- a/code/perception/src/panoptic_segmentation/efficientps/instance_head/instance_head.py +++ /dev/null @@ -1,38 +0,0 @@ -import torch.nn as nn -from detectron2.modeling.proposal_generator import build_proposal_generator -from detectron2.layers import ShapeSpec -from detectron2.modeling.roi_heads import build_roi_heads - - -class InstanceHead(nn.Module): - """ - The Instance Head is a Mask RCNN with some modification, this - implementation is based on detectron2 - Args: - - cfg (Config) : Config object - """ - - def __init__(self, cfg): - super().__init__() - # Detectron 2 expects a dict of ShapeSpec object as input_shape - input_shape = dict() - for name, shape in zip(cfg.MODEL.RPN.IN_FEATURES, [4, 8, 16, 32]): - input_shape[name] = ShapeSpec(channels=256, stride=shape) - - self.rpn = build_proposal_generator(cfg, input_shape=input_shape) - - self.roi_heads = build_roi_heads(cfg, input_shape) - - def forward(self, inputs, targets={}): - losses = {} - proposals, losses_rpn = self.rpn(inputs, targets['instance']) - if self.training: - _, losses_head = self.roi_heads(inputs, - proposals, - targets['instance']) - losses.update(losses_rpn) - losses.update(losses_head) - return {}, losses - else: - pred_instances, _ = self.roi_heads(inputs, proposals) - return pred_instances, {} diff --git a/code/perception/src/panoptic_segmentation/efficientps/instance_head/roi_heads.py b/code/perception/src/panoptic_segmentation/efficientps/instance_head/roi_heads.py deleted file mode 100644 index 9afc90a3..00000000 --- a/code/perception/src/panoptic_segmentation/efficientps/instance_head/roi_heads.py +++ /dev/null @@ -1,286 +0,0 @@ -import torch -import torch.nn as nn -from typing import Dict, List, Optional, Tuple -from detectron2.config import configurable -from detectron2.modeling.poolers import ROIPooler -from detectron2.modeling.roi_heads import FastRCNNOutputLayers -from detectron2.modeling.roi_heads import ROI_HEADS_REGISTRY, ROIHeads, \ - BaseMaskRCNNHead, select_foreground_proposals -from detectron2.layers import ShapeSpec -from detectron2.structures import Instances -from inplace_abn import InPlaceABN - -try: - from panoptic_segmentation. \ - efficientps.utils.depthwise_separable_conv import \ - DepthwiseSeparableConv -except ImportError: - from efficientps.utils.depthwise_separable_conv import \ - DepthwiseSeparableConv - - -@ROI_HEADS_REGISTRY.register() -class CustomROIHeads(ROIHeads): - """ - Similar to normal MASK RCNN ROI Heads but with separable depthwise - convolution and Inplace BN - - Args: - in_features (list[str]): list of feature names to use for the heads. - box_pooler (ROIPooler): pooler to extra region features for box head - box_head (nn.Module): transform features to make box predictions - box_predictor (nn.Module): make box predictions from the feature. - Should have the same interface as :class:`FastRCNNOutputLayers`. - mask_pooler (ROIPooler): pooler to extract region features from - image features. - The mask head will then take region features to make predictions. - If None, the mask head will directly take the dict of image features - defined by `mask_in_features` - mask_head (nn.Module): transform features to make mask predictions - keypoint_in_features, keypoint_pooler, - keypoint_head: similar to ``mask_*``. - train_on_pred_boxes (bool): whether to use proposal boxes or - predicted boxes from the box head to train other heads. - """ - - @configurable - def __init__( - self, - *, - in_features: List[str], - box_pooler: ROIPooler, - box_head: nn.Module, - box_predictor: nn.Module, - mask_pooler: ROIPooler, - mask_head: nn.Module, - **kwargs - ): - super().__init__(**kwargs) - self.in_features = in_features - self.box_in_features = in_features - self.box_pooler = box_pooler - self.box_head = box_head - self.box_predictor = box_predictor - self.mask_in_features = in_features - self.mask_pooler = mask_pooler - self.mask_head = mask_head - self.mask_on = True - - @classmethod - def from_config(cls, cfg, input_shape): - ret = super().from_config(cfg) - in_features = ret["in_features"] = cfg.MODEL.ROI_HEADS.IN_FEATURES - pooler_scales = [1.0 / input_shape[lvl].stride for lvl in in_features] - sampling_ratio = cfg.MODEL.ROI_BOX_HEAD.POOLER_SAMPLING_RATIO - - ret["box_pooler"] = ROIPooler( - output_size=cfg.MODEL.ROI_BOX_HEAD.POOLER_RESOLUTION, - scales=pooler_scales, - sampling_ratio=sampling_ratio, - pooler_type=cfg.MODEL.ROI_BOX_HEAD.POOLER_TYPE, - ) - ret["mask_pooler"] = ROIPooler( - output_size=cfg.MODEL.ROI_MASK_HEAD.POOLER_RESOLUTION, - scales=pooler_scales, - sampling_ratio=sampling_ratio, - pooler_type=cfg.MODEL.ROI_MASK_HEAD.POOLER_TYPE, - ) - - ret["box_head"] = BboxNetwork(cfg) - ret["box_predictor"] = FastRCNNOutputLayers( - cfg, ShapeSpec(channels=1024, height=1, width=1) - ) - # Mask Network + Head - ret["mask_head"] = MaskNetwork(cfg.MODEL.ROI_HEADS.NUM_CLASSES) - return ret - - def forward( - self, - features: Dict[str, torch.Tensor], - proposals: List[Instances], - targets: Optional[List[Instances]] = None, - ) -> Tuple[List[Instances], Dict[str, torch.Tensor]]: - """ - See :class:`ROIHeads.forward`. - """ - if self.training: - assert targets, "'targets' argument is required during training" - proposals = self.label_and_sample_proposals(proposals, targets) - del targets - - if self.training: - losses = self._forward_box(features, proposals) - losses.update(self._forward_mask(features, proposals)) - return proposals, losses - else: - # Check that there is proposal given by the rpn - if sum([len(p) for p in proposals]) == 0: - return None, {} - pred_instances = self._forward_box(features, proposals) - # During inference cascaded prediction is used: the mask and - # keypoints heads are only - # applied to the top scoring box detections. - # Check if all proposal has been removed by the IoU thresh and - # score thresh - if pred_instances is not None: - pred_instances = self.forward_with_given_boxes(features, - pred_instances) - return pred_instances, {} - - def _forward_mask(self, features: Dict[str, torch.Tensor], - instances: List[Instances]): - """ - Forward logic of the mask prediction branch. - - Args: - features (dict[str, Tensor]): mapping from feature map names - to tensor. - Same as in :meth:`ROIHeads.forward`. - instances (list[Instances]): the per-image instances to - train/predict masks. - In training, they can be the proposals. - In inference, they can be the boxes predicted - by R-CNN box head. - - Returns: - In training, a dict of losses. - In inference, update `instances` with new fields "pred_masks" - and return it. - """ - if self.training: - # head is only trained on positive proposals. - instances, _ = select_foreground_proposals(instances, - self.num_classes) - - if self.mask_pooler is not None: - features = [features[f] for f in self.mask_in_features] - boxes = [x.proposal_boxes if self.training else x.pred_boxes - for x in instances] - features = self.mask_pooler(features, boxes) - if features.shape[0] == 0: - return None - else: - features = {f: features[f] for f in self.mask_in_features} - if features.shape[0] == 0: - return None - return self.mask_head(features, instances) - - def _forward_box(self, features: Dict[str, torch.Tensor], - proposals: List[Instances]): - """ - Forward logic of the box prediction branch. - If `self.train_on_pred_boxes is True`, - the function puts predicted boxes in the `proposal_boxes` field of - `proposals` argument. - - Args: - features (dict[str, Tensor]): mapping from feature map names - to tensor. - Same as in :meth:`ROIHeads.forward`. - proposals (list[Instances]): the per-image object proposals with - their matching ground truth. - Each has fields "proposal_boxes", and "objectness_logits", - "gt_classes", "gt_boxes". - - Returns: - In training, a dict of losses. - In inference, a list of `Instances`, the predicted instances. - """ - features = [features[f] for f in self.box_in_features] - box_features = self.box_pooler(features, [x.proposal_boxes - for x in proposals]) - box_features = self.box_head(box_features) - predictions = self.box_predictor(box_features) - del box_features - - if self.training: - losses = self.box_predictor.losses(predictions, proposals) - return losses - else: - pred_instances, _ = self.box_predictor.inference(predictions, - proposals) - return pred_instances - - def forward_with_given_boxes( - self, features: Dict[str, torch.Tensor], instances: List[Instances] - ) -> List[Instances]: - """ - Use the given boxes in `instances` to produce other (non-box) - per-ROI outputs. - - This is useful for downstream tasks where a box is known, but need to - obtain other attributes (outputs of other heads). - Test-time augmentation also uses this. - - Args: - features: same as in `forward()` - instances (list[Instances]): instances to predict other outputs. - Expect the keys "pred_boxes" and "pred_classes" to exist. - - Returns: - instances (list[Instances]): - the same `Instances` objects, with extra - fields such as `pred_masks` or `pred_keypoints`. - """ - assert not self.training - assert instances[0].has("pred_boxes") \ - and instances[0].has("pred_classes") - - instances = self._forward_mask(features, instances) - return instances - - -class BboxNetwork(nn.Module): - """ - Network responsible to extract the feature before the last two fully - connected layers that predict bbox reg and classes - """ - - def __init__(self, cfg): - super().__init__() - # self.max_pool = nn.MaxPool2d(kernel_size=2, stride=2) - self.flatten = nn.Flatten() - in_channel = 256 * int((cfg.MODEL.ROI_BOX_HEAD.POOLER_RESOLUTION)) ** 2 - self.first_fc = nn.Linear(in_channel, 1024) - self.first_iabn = InPlaceABN(1024) - self.second_fc = nn.Linear(1024, 1024) - self.second_iabn = InPlaceABN(1024) - - def forward(self, x): - # x = self.max_pool(x) - x = self.flatten(x) - x = self.first_fc(x) - x = self.first_iabn(x) - x = self.second_fc(x) - return self.second_iabn(x) - - -# @ROI_MASK_HEAD_REGISTRY.register() -class MaskNetwork(BaseMaskRCNNHead): - """ - Network that extract feature from the output feature of the pooler as - well as computing the mask and loss for the mask branch - Args: - num_classes (int) : num classes for the things classes - """ - - def __init__(self, num_classes): - super().__init__() - self.conv_iabn_layers = nn.ModuleList([]) - for i in range(4): - separable_conv = DepthwiseSeparableConv(in_channels=256, - out_channels=256, - kernel_size=3, - padding=1) - self.conv_iabn_layers.append(separable_conv) - iabn = InPlaceABN(256) - self.conv_iabn_layers.append(iabn) - self.deconv = nn.ConvTranspose2d(256, 256, kernel_size=2, stride=2) - self.last_iabn = InPlaceABN(256) - self.last_conv = nn.Conv2d(256, num_classes + 1, kernel_size=1) - - def layers(self, x): - for layer in self.conv_iabn_layers: - x = layer(x) - x = self.last_iabn(self.deconv(x)) - return self.last_conv(x) diff --git a/code/perception/src/panoptic_segmentation/efficientps/instance_head/rpn.py b/code/perception/src/panoptic_segmentation/efficientps/instance_head/rpn.py deleted file mode 100644 index 8a500d0f..00000000 --- a/code/perception/src/panoptic_segmentation/efficientps/instance_head/rpn.py +++ /dev/null @@ -1,78 +0,0 @@ -from inplace_abn import InPlaceABN -# detectron 2 dependencies -from detectron2.modeling.proposal_generator.rpn import StandardRPNHead -from detectron2.structures import ImageList -from detectron2.modeling.proposal_generator import ( - RPN, - RPN_HEAD_REGISTRY, - PROPOSAL_GENERATOR_REGISTRY -) - -try: - from panoptic_segmentation \ - .efficientps.utils.depthwise_separable_conv import \ - DepthwiseSeparableConv -except ImportError: - from efficientps.utils.depthwise_separable_conv import \ - DepthwiseSeparableConv - -print("HELLO WORLD") - - -@PROPOSAL_GENERATOR_REGISTRY.register() -class RPNCustom(RPN): - - def forward( - self, - features, - gt_instances - # images: ImageList, - # features: Dict[str, torch.Tensor], - # gt_instances: Optional[List[Instances]] = None, - ): - """ - Create the different input needed for detectron2 forward method - """ - # Create image a ImageList instance only use for the image_size - batch_size = features['P_4'].shape[0] - image_size = (features['P_4'].shape[2] * 4, - features['P_4'].shape[3] * 4) - images = ImageList(None, [image_size for i in range(batch_size)]) - return super().forward(images, features, gt_instances) - - -@RPN_HEAD_REGISTRY.register() -class DepthwiseSepRPNHead(StandardRPNHead): - - def __init__(self, cfg, input_shape): - super().__init__(cfg, input_shape) - # Modify version of the convolution and Inplace batchNorm - in_channels = input_shape[0].channels - self.conv = DepthwiseSeparableConv(in_channels, - in_channels, - kernel_size=3, - padding=1) - self.iabn = InPlaceABN(in_channels) - - def forward(self, features): - """ - Same forward as in detectron with iabn instead of Relu - Args: - features (list[Tensor]): list of feature maps - - Returns: - list[Tensor]: A list of L elements. - Element i is a tensor of shape (N, A, Hi, Wi) representing - the predicted objectness logits for all anchors. - A is the number of cell anchors. - list[Tensor]: A list of L elements. Element i is a tensor of shape - (N, A*box_dim, Hi, Wi) representing the predicted "deltas" - used to transform anchors to proposals. - """ - pred_objectness_logits = [] - pred_anchor_deltas = [] - for x in features: - t = self.iabn(self.conv(x)) - pred_objectness_logits.append(self.objectness_logits(t)) - pred_anchor_deltas.append(self.anchor_deltas(t)) - return pred_objectness_logits, pred_anchor_deltas diff --git a/code/perception/src/panoptic_segmentation/efficientps/model.py b/code/perception/src/panoptic_segmentation/efficientps/model.py deleted file mode 100644 index 60962502..00000000 --- a/code/perception/src/panoptic_segmentation/efficientps/model.py +++ /dev/null @@ -1,146 +0,0 @@ -import os -import torch -from torch.optim.lr_scheduler import ReduceLROnPlateau -from .fpn.two_way_fpn import TwoWayFpn -import pytorch_lightning as pl -from .backbone.modify_efficientnet import \ - generate_backbone_EfficientPS, \ - output_feature_size -from .semantic_head.semantic_head import SemanticHead -from .instance_head.instance_head import InstanceHead -from .panoptic_segmentation_module import \ - panoptic_segmentation_module -from .panoptic_metrics import generate_pred_panoptic -from panopticapi.evaluation import pq_compute - - -class EfficientPS(pl.LightningModule): - """ - EfficientPS model see http://panoptic.cs.uni-freiburg.de/ - Here pytorch lightning is used - https://pytorch-lightning.readthedocs.io/en/latest/ - """ - - def __init__(self, cfg): - """ - Args: - - cfg (Config) : Config object from detectron2 - """ - super().__init__() - self.cfg = cfg - self.backbone = generate_backbone_EfficientPS(cfg) - self.fpn = TwoWayFpn( - output_feature_size[cfg.MODEL_CUSTOM.BACKBONE.EFFICIENTNET_ID]) - self.semantic_head = SemanticHead(cfg.NUM_CLASS) - self.instance_head = InstanceHead(cfg) - - def forward(self, x): - # in lightning, forward defines the prediction/inference actions - predictions, _ = self.shared_step(x) - return predictions - - def training_step(self, batch, batch_idx): - # training_step defined the train loop. - # It is independent of forward - _, loss = self.shared_step(batch) - # Add losses to logs - [self.log(k, v) for k, v in loss.items()] - self.log('train_loss', sum(loss.values())) - return {'loss': sum(loss.values())} - - def shared_step(self, inputs): - loss = dict() - predictions = dict() - # Feature extraction - features = self.backbone.extract_endpoints(inputs['image']) - pyramid_features = self.fpn(features) - # Heads Predictions - semantic_logits, semantic_loss = self.semantic_head(pyramid_features, - inputs) - pred_instance, instance_losses = self.instance_head(pyramid_features, - inputs) - # Output set up - loss.update(semantic_loss) - loss.update(instance_losses) - predictions.update({'semantic': semantic_logits}) - predictions.update({'instance': pred_instance}) - return predictions, loss - - def validation_step(self, batch, batch_idx): - predictions, loss = self.shared_step(batch) - panoptic_result = panoptic_segmentation_module(self.cfg, - predictions, - self.device) - return { - 'val_loss': sum(loss.values()), - 'panoptic': panoptic_result, - 'image_id': batch['image_id'] - } - - def validation_epoch_end(self, outputs): - # Create and save all predictions files - generate_pred_panoptic(self.cfg, outputs) - - # Compute PQ metric with panpticapi - pq_res = pq_compute( - gt_json_file=os.path.join(self.cfg.DATASET_PATH, - self.cfg.VALID_JSON), - pred_json_file=os.path.join(self.cfg.DATASET_PATH, - self.cfg.PRED_JSON), - gt_folder=os.path.join(self.cfg.DATASET_PATH, - "groundtruth/val/ds/"), - pred_folder=os.path.join(self.cfg.DATASET_PATH, self.cfg.PRED_DIR) - ) - self.log("PQ", 100 * pq_res["All"]["pq"]) - self.log("SQ", 100 * pq_res["All"]["sq"]) - self.log("RQ", 100 * pq_res["All"]["rq"]) - self.log("PQ_th", 100 * pq_res["Things"]["pq"]) - self.log("SQ_th", 100 * pq_res["Things"]["sq"]) - self.log("RQ_th", 100 * pq_res["Things"]["rq"]) - self.log("PQ_st", 100 * pq_res["Stuff"]["pq"]) - self.log("SQ_st", 100 * pq_res["Stuff"]["sq"]) - self.log("RQ_st", 100 * pq_res["Stuff"]["rq"]) - - # get average loss over all batches, and log it - avg_loss = torch.stack([x['val_loss'] for x in outputs]).mean() - self.log('val_loss', avg_loss) - - def configure_optimizers(self): - if self.cfg.SOLVER.NAME == "Adam": - self.optimizer = torch.optim.Adam(self.parameters(), - lr=self.cfg.SOLVER.BASE_LR, - weight_decay=self.cfg.SOLVER. - WEIGHT_DECAY) - elif self.cfg.SOLVER.NAME == "SGD": - self.optimizer = torch.optim.SGD(self.parameters(), - lr=self.cfg.SOLVER.BASE_LR, - momentum=0.9, - weight_decay=self.cfg.SOLVER. - WEIGHT_DECAY) - else: - raise ValueError("Solver name is not supported, \ - Adam or SGD : {}".format(self.cfg.SOLVER.NAME)) - return { - 'optimizer': self.optimizer, - 'lr_scheduler': ReduceLROnPlateau(self.optimizer, - mode='max', - patience=3, - factor=0.1, - min_lr=1e-4, - verbose=True), - 'monitor': 'PQ' - } - - def optimizer_step(self, current_epoch, batch_nb, optimizer, optimizer_idx, - closure, on_tpu=False, - using_native_amp=False, - using_lbfgs=False): - # warm up lr - if self.trainer.global_step < self.cfg.SOLVER.WARMUP_ITERS: - lr_scale = min(1., float(self.trainer.global_step + 1) / - float(self.cfg.SOLVER.WARMUP_ITERS)) - for pg in optimizer.param_groups: - pg['lr'] = lr_scale * self.cfg.SOLVER.BASE_LR - - # update params - optimizer.step(closure=closure) diff --git a/code/perception/src/panoptic_segmentation/efficientps/panoptic_metrics.py b/code/perception/src/panoptic_segmentation/efficientps/panoptic_metrics.py deleted file mode 100644 index 2e40720d..00000000 --- a/code/perception/src/panoptic_segmentation/efficientps/panoptic_metrics.py +++ /dev/null @@ -1,81 +0,0 @@ -import os -import json -from tqdm import tqdm -import numpy as np -from PIL import Image -import torch.nn.functional as F -from panopticapi.utils import id2rgb - - -def generate_pred_panoptic(cfg, outputs): - """ - Take all output of a model and save a json file with all predictions as - well as all panoptic image prediction. - This is done in order to use `pq_compute` function from panoptic api - Args: - - cfg (Config) : config object - - outputs (list[dict]) : List of a full epoch of outputs - """ - # Create prediction dir if needed - pred_dir = os.path.join(cfg.DATASET_PATH, cfg.PRED_DIR) - if not os.path.exists(pred_dir): - os.makedirs(pred_dir) - - annotations = [] - print("Saving panoptic prediction to compute validation metrics") - # Loop on each validation output - for output in tqdm(outputs): - # Loop on each image of the batch - for img_panoptic, image_id in zip(output['panoptic'], - output['image_id']): - img_data = dict() - img_data['image_id'] = image_id - # Resize the image to original size - img_panoptic = F.interpolate( - img_panoptic.unsqueeze(0).unsqueeze(0).float(), - size=(720, 1280), - mode='nearest' - )[0, 0, ...] - # Create segment_info data - img_data['segments_info'] = [] - img_panoptic = img_panoptic.cpu().numpy() - for instance in np.unique(img_panoptic): - if instance == 0: - continue - img_data['segments_info'].append( - { - 'id': int(instance), - 'category_id': int(instance) - if instance < 1000 - else int(instance / 1000) - } - ) - # Save panotic_pred - img_data['file_name'] = "{}_preds_panoptic.png".format(image_id) - img = id2rgb(img_panoptic) - img_to_save = Image.fromarray(img) - img_to_save.save(os.path.join(pred_dir, img_data['file_name'])) - # Add annotation of a one image - annotations.append(img_data) - - save_json_file(cfg, annotations) - - -def save_json_file(cfg, annotations): - """ - Load gt json file to have same architecture and replace annotations - with the prediction annotations - - Args: - - cfg (Config) : config object - - annotations (List[dict]) : List containing prediction info for each image - """ - gt_path = os.path.join(cfg.DATASET_PATH, cfg.VALID_JSON) - pred_path = os.path.join(cfg.DATASET_PATH, cfg.PRED_JSON) - - # Save prediction file - with open(gt_path, "r") as f: - json_data = json.load(f) - json_data['annotations'] = annotations - with open(pred_path, "w") as f: - f.write(json.dumps(json_data)) diff --git a/code/perception/src/panoptic_segmentation/efficientps/panoptic_segmentation_module.py b/code/perception/src/panoptic_segmentation/efficientps/panoptic_segmentation_module.py deleted file mode 100644 index 9e30c3e7..00000000 --- a/code/perception/src/panoptic_segmentation/efficientps/panoptic_segmentation_module.py +++ /dev/null @@ -1,240 +0,0 @@ -import torch -import torch.nn.functional as F -from detectron2.structures import Instances - - -def panoptic_segmentation_module(cfg, outputs, device): - """ - Take output of both semantic and instance head and combine them to create - panoptic predictions. - - Note there is no need to check for threshold score, compute overlap and - sorted scores. Since Detectron2 inference function already has the - `SCORE_THRESH_TEST` and `NMS_THRESH_TEST` that does those action. - Furthermore, all prediction are sorted related to their scores - - Args: - - cfg (Config) : Config object - - outputs (dict) : Inference output of our model - - device : Device used by the lightning module - - Returns: - - canvas (tensor) : [B, H, W] Panoptic predictions - """ - # If no instance prediction pass the threshold score > 0.5 IoU > 0.5 - # Returns the argmax of semantic logits - if outputs['instance'] is None: - return compute_output_only_semantic(outputs['semantic']) - panoptic_result = [] - # Loop on Batch images / Instances - for i, instance in enumerate(outputs['instance']): - instance = check_bbox_size(instance) - # If there is no proposal after the check compute panoptic output with - # semantic information only - if len(instance.pred_boxes.tensor) == 0: - panoptic_result.append( - compute_output_only_semantic(outputs['semantic'][i])) - continue - semantic = outputs['semantic'][i] - # Preprocessing - Mla = scale_resize_pad(instance).to(device) - # Compute instances - Mlb = create_mlb(semantic, instance).to(device) - Fl = compute_fusion(Mla, Mlb) - # First merge instances with stuff predictions - semantic_stuff_logits = semantic[:1, :, :] - inter_logits = torch.cat([semantic_stuff_logits, Fl], dim=0) - inter_preds = torch.argmax(inter_logits, dim=0) - # Create canvas and merge everything - canvas = create_canvas_thing(inter_preds, instance) - canvas = add_stuff_from_semantic(cfg, canvas, semantic) - panoptic_result.append(canvas) - - return torch.stack(panoptic_result) - - -def check_bbox_size(instance): - """ - In some cases the width or height of a predicted bbox is 0. This function - check all dimension and remove instances having this issue. - Args: - - instance (Instance) : detectron2 Instance object with prediction - Returns: - - new_instance (Instance) : dectron2 Instance with filtered prediction - """ - new_instance = Instances(instance.image_size) - boxes = instance.pred_boxes.tensor - masks = instance.pred_masks - inds = [] - for i, (box, mask) in enumerate(zip(boxes, masks)): - # Retrieve bbox dimension - box = torch.round(box).cpu().numpy() - w = int(box[2]) - int(box[0]) - h = int(box[3]) - int(box[1]) - if h == 0 or w == 0: - continue - inds.append(i) - new_instance.pred_masks = instance.pred_masks[inds] - new_instance.pred_boxes = instance.pred_boxes[inds] - new_instance.pred_classes = instance.pred_classes[inds] - new_instance.scores = instance.scores[inds] - return new_instance - - -def scale_resize_pad(instance): - """ - In order to use both semantic and instances, mask must be rescale and fit - the dimension of the bboxes predictions. - Args: - - instance (Instance) : an Instance object from detectron containg all - proposal bbox, masks, classes and scores - """ - Mla = [] - boxes = instance.pred_boxes.tensor - masks = instance.pred_masks - # Loop on proposal - for box, mask in zip(boxes, masks): - # Retrieve bbox dimension - box = torch.round(box).cpu().numpy() - w = int(box[2]) - int(box[0]) - h = int(box[3]) - int(box[1]) - # Resize mask to bbox dimension - mask = F.interpolate(mask.unsqueeze(0), size=(h, w), mode='bilinear') - mask = mask[0, 0, ...] - # Start from an empty canvas to have padding - canva = torch.zeros(instance.image_size) - # Fit the upsample mask in the bbox prediction position - canva[int(box[1]):int(box[3]), int(box[0]):int(box[2])] = mask - Mla.append(canva) - return torch.stack(Mla) - - -def create_mlb(semantic, instance): - """ - Create the semantic logit corresponding to each class prediction. - Args: - - semantic (tensor) : Semantic logits of one image - - instance (Instance) : Instance object with all instance prediction - for one image - Returns: - - Mlb (tensor) : dim[Nb of prediction, H, W] - """ - Mlb = [] - boxes = instance.pred_boxes.tensor - classes = instance.pred_classes - for bbox, cls in zip(boxes, classes): - # Start from a black image - canva = torch.zeros(instance.image_size) - # Add the semantic value from the predicted class at the predicted - # bbox location - canva[int(bbox[1]):int(bbox[3]), int(bbox[0]):int(bbox[2])] = \ - semantic[cls, int(bbox[1]):int(bbox[3]), int(bbox[0]):int(bbox[2])] - Mlb.append(canva) - return torch.stack(Mlb) - - -def compute_fusion(Mla, Mlb): - """ - Compute the Hadamard product of the sum of sigmoid and the sum of Mla and - Mlb. The Hadamard product is a fancy name for element-wise product. - Args: - - Mla (tensor) : Instance logit preprocess see `scale_resize_pad` - - Mlb (tensor) : Semantic logits preprocess see `create_mlb` - Returns: - - Fl (tensor) : Fused mask logits - """ - return (torch.sigmoid(Mla) + torch.sigmoid(Mlb)) * (Mla + Mlb) - - -def create_canvas_thing(inter_preds, instance): - """ - From the intermediate prediction retrieve only the logits corresponding to - thing classes. - Args: - -inter_preds (tensor): intermediate prediction - -instance (Instance) : Instance object used to retrieve each classes of - instance prediction - Returns: - -canvas (tensor) : panoptic prediction containing only thing classes - """ - # init to a number not in class category id - canvas = torch.zeros_like(inter_preds) - # Retrieve classes of all instance prediction (sorted by detectron2) - classes = instance.pred_classes - instance_train_id_to_eval_id = [1, 2, 6, 7, 8, 12, 13, 14, - 15, 16, 17, 18, 19, 21, 24] - # Used to label each instance incrementally - track_of_instance = {} - # Loop on instance prediction - for id_instance, cls in enumerate(classes): - # The stuff channel are the 11 first channel so we add an offset - id_instance += 1 - # Compute mask for each instance and verify that no prediction has been - # made - mask = torch.where((inter_preds == id_instance) & (canvas == 0)) - # If the instance is present on interpreds add its panoptic label to - # the canvas and increment the id of instance - if len(mask) > 0: - nb_instance = track_of_instance.get(int(cls), 0) - canvas[mask] = \ - instance_train_id_to_eval_id[cls] * 1000 + nb_instance - track_of_instance.update({int(cls): nb_instance + 1}) - return canvas - - -def compute_output_only_semantic(semantic): - """ - In case where no instance are suitable, we are returning the panoptic - prediction base only on the semantic outputs. - This is usefull mainly at the beginning of the training. - Args: - - semantic (tensor) : Output of the semantic head (either for the full - batch or for one image) - """ - semantic_train_id_to_eval_id = [1, 2, 6, 7, 8, 12, 13, 14, - 15, 16, 17, 18, 19, 21, 24, 255, 0] - if len(semantic.shape) == 3: - semantic_output = torch.argmax(semantic, dim=0) - else: - semantic_output = torch.argmax(semantic, dim=1) - # apply reversed to avoid issue with reindexing the value - for train_id in reversed(torch.unique(semantic_output)): - mask = torch.where(semantic_output == train_id) - # Create panoptic ids for instance thing or stuff - if train_id >= 1: - semantic_output[mask] = semantic_train_id_to_eval_id[ - train_id] * 1000 - else: - semantic_output[mask] = semantic_train_id_to_eval_id[train_id] - return semantic_output - - -def add_stuff_from_semantic(cfg, canvas, semantic): - """ - Compute the semantic output. If the output is not overlap with an existing - prediction on the canvas (ie with a instance prediction) and the are is - above the defined treshold, add the panoptic label of the stuff class - on the canvas - Args: - - canvas (torch): canvas containing the thing class predictions - - semantic (torch): logit output from the semantic head - Return: - - canvas (torch): Final panoptic prediction for an image - """ - # Link between semantic and stuff classes in semantic prediction instance - # classes have higher class training values - stuff_train_id_to_eval_id = [255] - semantic_output = torch.argmax(semantic, dim=0) - # Reverse to avoid overwrite classes information - for train_id in reversed(torch.unique(semantic_output)): - # If the detected section is a thing - if train_id >= len(stuff_train_id_to_eval_id): - continue - # Compute mask where semantic is present and no things has been - # predicted - mask = torch.where((semantic_output == train_id) & (canvas == 0)) - # Check the area is large enough - if len(mask[0]) > cfg.INFERENCE.AREA_TRESH: - # Compute mask where there is no thing classes - canvas[mask] = stuff_train_id_to_eval_id[train_id] - return canvas diff --git a/code/perception/src/panoptic_segmentation/efficientps/semantic_head/__init__.py b/code/perception/src/panoptic_segmentation/efficientps/semantic_head/__init__.py deleted file mode 100644 index ea9bd513..00000000 --- a/code/perception/src/panoptic_segmentation/efficientps/semantic_head/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .semantic_head import SemanticHead # noqa: F401 diff --git a/code/perception/src/panoptic_segmentation/efficientps/semantic_head/semantic_head.py b/code/perception/src/panoptic_segmentation/efficientps/semantic_head/semantic_head.py deleted file mode 100644 index 94528a5e..00000000 --- a/code/perception/src/panoptic_segmentation/efficientps/semantic_head/semantic_head.py +++ /dev/null @@ -1,246 +0,0 @@ -from math import ceil -import torch -import torch.nn as nn -from torch.nn import functional as F -from inplace_abn import InPlaceABN - -try: - from panoptic_segmentation. \ - efficientps.utils.depthwise_separable_conv import \ - DepthwiseSeparableConv -except ImportError: - from efficientps.utils.depthwise_separable_conv import \ - DepthwiseSeparableConv - - -class SemanticHead(nn.Module): - """ - Semantic Head compose of three main module DPC, LSFE and MC - Args: - - nb_class (int) : number of classes in the dataset - """ - - def __init__(self, nb_class): - super().__init__() - - self.dpc_x32 = DPC() - self.dpc_x16 = DPC() - - self.lsfe_x8 = LSFE() - self.lsfe_x4 = LSFE() - - self.mc_16_to_8 = MC() - self.mc_8_to_4 = MC() - - self.last_conv = nn.Conv2d(512, nb_class, 1) - - self.softmax = nn.Softmax(dim=1) - self.cross_entropy_loss = nn.CrossEntropyLoss(reduction='none') - - def forward(self, inputs, targets={}): - # The forward is apply in a bottom up manner - # x32 size - p_32 = inputs['P_32'] - p_32 = self.dpc_x32(p_32) - # [B, C, x32H, x32W] -> [B, C, x16H, x16W] - p_32_to_merge = F.interpolate( - p_32, - scale_factor=(2, 2), - mode='bilinear', - align_corners=False) - # [B, C, x16H, x16W] -> [B, C, x4H, x4W] - p_32 = F.interpolate( - p_32_to_merge, - scale_factor=(4, 4), - mode='bilinear', - align_corners=False) - - # x16 size - p_16 = inputs['P_16'] - p_16 = self.dpc_x16(p_16) - p_16_to_merge = torch.add(p_32_to_merge, p_16) - # [B, C, x16H, x16W] -> [B, C, x4H, x4W] - p_16 = F.interpolate( - p_16, - scale_factor=(4, 4), - mode='bilinear', - align_corners=False) - # [B, C, x16H, x16W] -> [B, C, x8H, x8W] - p_16_to_merge = self.mc_16_to_8(p_16_to_merge) - - # x8 size - p_8 = inputs['P_8'] - p_8 = self.lsfe_x8(p_8) - p_8 = torch.add(p_16_to_merge, p_8) - # [B, C, x8H, x8W] -> [B, C, x4H, x4W] - p_8_to_merge = self.mc_8_to_4(p_8) - # [B, C, x8H, x8W] -> [B, C, x4H, x4W] - p_8 = F.interpolate( - p_8, - scale_factor=(2, 2), - mode='bilinear', - align_corners=False) - - # x4 size - p_4 = inputs['P_4'] - p_4 = self.lsfe_x4(p_4) - p_4 = torch.add(p_8_to_merge, p_4) - - # Create output - # [B, 128, x4H, x4W] -> [B, 512, x4H, x4W] - outputs = torch.cat((p_32, p_16, p_8, p_4), dim=1) - outputs = self.last_conv(outputs) - outputs = F.interpolate( - outputs, - scale_factor=(4, 4), - mode='bilinear', - align_corners=False) - - if 'semantic' in targets.keys(): - return self.softmax(outputs), self.loss(outputs, - targets['semantic']) - else: - return self.softmax(outputs), {} - - def loss(self, inputs, targets): - """ - Weighted pixel loss, described in the paper as : - if loss \\ in worst 25% of per pixel loss then w = 4/(H*W) - else w = 0 - We keep 25% of each image appy the weigth and then compute the mean. - """ - # First apply cross entropy on the image. - loss = self.cross_entropy_loss(inputs, targets) - # sort the loss and take 25 % worst pixel - # [B, 1, H, W] -> [B, H * W] - loss = loss.view(loss.shape[0], -1) - size = loss.shape[1] - max_id = int(ceil(size * 0.25)) - sorted_loss = torch.sort(loss, descending=True).values - kept_loss = sorted_loss[:, : max_id] - kept_loss = kept_loss * 4 / size - kept_loss = torch.sum(kept_loss) / loss.shape[0] - return { - 'semantic_loss': kept_loss - } - - -class LSFE(nn.Module): - - def __init__(self): - super().__init__() - # Separable Conv - self.conv_1 = DepthwiseSeparableConv(256, 128, 3, padding=1) - self.conv_2 = DepthwiseSeparableConv(128, 128, 3, padding=1) - # Inplace BN + Leaky Relu - self.abn_1 = InPlaceABN(128) - self.abn_2 = InPlaceABN(128) - - def forward(self, inputs): - # Apply first conv - outputs = self.conv_1(inputs) - outputs = self.abn_1(outputs) - - # Apply second conv - outputs = self.conv_2(outputs) - return self.abn_2(outputs) - - -class MC(nn.Module): - - def __init__(self): - super().__init__() - # Separable Conv - self.conv_1 = DepthwiseSeparableConv(128, 128, 3, padding=1) - self.conv_2 = DepthwiseSeparableConv(128, 128, 3, padding=1) - # Inplace BN + Leaky Relu - self.abn_1 = InPlaceABN(128) - self.abn_2 = InPlaceABN(128) - - def forward(self, inputs): - # Apply first conv - outputs = self.conv_1(inputs) - outputs = self.abn_1(outputs) - - # Apply second conv - outputs = self.conv_2(outputs) - outputs = self.abn_2(outputs) - - # Apply conv - # outputs = self.lfse(inputs) - - # Return upsample features - return F.interpolate( - outputs, - scale_factor=(2, 2), - mode='bilinear', - align_corners=False) - - -class DPC(nn.Module): - - def __init__(self): - super().__init__() - options = { - 'in_channels': 256, - 'out_channels': 256, - 'kernel_size': 3 - } - self.conv_first = DepthwiseSeparableConv(dilation=(1, 6), - padding=(1, 6), - **options) - self.iabn_first = InPlaceABN(256) - # Branch 1 - self.conv_branch_1 = DepthwiseSeparableConv(padding=1, - **options) - self.iabn_branch_1 = InPlaceABN(256) - # Branch 2 - self.conv_branch_2 = DepthwiseSeparableConv(dilation=(6, 21), - padding=(6, 21), - **options) - self.iabn_branch_2 = InPlaceABN(256) - # Branch 3 - self.conv_branch_3 = DepthwiseSeparableConv(dilation=(18, 15), - padding=(18, 15), - **options) - self.iabn_branch_3 = InPlaceABN(256) - # Branch 4 - self.conv_branch_4 = DepthwiseSeparableConv(dilation=(6, 3), - padding=(6, 3), - **options) - self.iabn_branch_4 = InPlaceABN(256) - # Last conv - # There is some mismatch in the paper about the dimension of this conv - # In the paper it says "This tensor is then finally passed through a - # 1×1 convolution with 256 output channels and forms the output of the - # DPC module." But the overall schema shows an output of 128 - # The MC module schema also show an input of 256. - # In order to have 512 channel at the concatenation of all layers, - # I choosed 128 output channels - self.conv_last = nn.Conv2d(1280, 128, 1) - self.iabn_last = InPlaceABN(128) - - def forward(self, inputs): - # First conv - inputs = self.conv_first(inputs) - inputs = self.iabn_first(inputs) - # Branch 1 - branch_1 = self.conv_branch_1(inputs) - branch_1 = self.iabn_branch_1(branch_1) - # Branch 2 - branch_2 = self.conv_branch_2(inputs) - branch_2 = self.iabn_branch_2(branch_2) - # Branch 3 - branch_3 = self.conv_branch_3(inputs) - branch_3 = self.iabn_branch_3(branch_3) - # Branch 4 (take branch 3 as input) - branch_4 = self.conv_branch_4(branch_3) - branch_4 = self.iabn_branch_4(branch_4) - # Concatenate - # [B, 256, H, W] -> [B, 1280, H, W] - concat = torch.cat( - (inputs, branch_1, branch_2, branch_3, branch_4), - dim=1) - # Last conv - outputs = self.conv_last(concat) - return self.iabn_last(outputs) diff --git a/code/perception/src/panoptic_segmentation/efficientps/utils/__init__.py b/code/perception/src/panoptic_segmentation/efficientps/utils/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/code/perception/src/panoptic_segmentation/efficientps/utils/depthwise_separable_conv.py b/code/perception/src/panoptic_segmentation/efficientps/utils/depthwise_separable_conv.py deleted file mode 100644 index bdd52d72..00000000 --- a/code/perception/src/panoptic_segmentation/efficientps/utils/depthwise_separable_conv.py +++ /dev/null @@ -1,43 +0,0 @@ -import torch.nn as nn -from inplace_abn import InPlaceABN - - -class DepthwiseSeparableConv(nn.Module): - """ - DepthwiseSeparableConv from MobileNet, code largely inspire from mmcv - DepthwiseSeparableConvModule but simplify - """ - - def __init__(self, - in_channels, - out_channels, - kernel_size, - stride=1, - padding=0, - dilation=1, - **kwargs): - super(DepthwiseSeparableConv, self).__init__() - assert 'groups' not in kwargs, 'groups should not be specified' - self.depthwise_conv = nn.Conv2d( - in_channels, - in_channels, - kernel_size, - stride=stride, - padding=padding, - dilation=dilation, - groups=in_channels, - **kwargs) - - self.iabn = InPlaceABN(in_channels) - - self.pointwise_conv = nn.Conv2d( - in_channels, - out_channels, - 1, - **kwargs) - - def forward(self, x): - x = self.depthwise_conv(x) - x = self.iabn(x) - x = self.pointwise_conv(x) - return x diff --git a/code/perception/src/panoptic_segmentation/preparation/__init__.py b/code/perception/src/panoptic_segmentation/preparation/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/code/perception/src/panoptic_segmentation/preparation/createPanopticImgs.py b/code/perception/src/panoptic_segmentation/preparation/createPanopticImgs.py deleted file mode 100755 index 6aefb584..00000000 --- a/code/perception/src/panoptic_segmentation/preparation/createPanopticImgs.py +++ /dev/null @@ -1,171 +0,0 @@ -#!/usr/bin/python -# -# Converts the annotations of our generated dataset -# to COCO-style panoptic segmentation format -# (http://cocodataset.org/#format-data). -# -# By default with this tool uses IDs specified in labels.py. -# 'ignoreInEval' categories are removed during the conversion. -# -# In panoptic segmentation format image_id is used to match predictions and -# ground truth. -# - -# python imports -from __future__ import print_function, absolute_import, division, \ - unicode_literals -import os -import glob -import sys -import argparse -import json -import numpy as np - -# Image processing -from PIL import Image - -# dataset imports -from labels import id2label, labels - - -# The main method -def convert2panoptic(datasetPath=None, - setNames=["val", "train", "test"]): - - categories = [] - for label in labels: - if label.ignoreInEval: - continue - categories.append({'id': int(label.id), - 'name': label.name, - 'color': label.color, - 'supercategory': label.category, - 'isthing': 1 if label.hasInstances else 0}) - - for setName in setNames: - # how to search for all ground truth - searchFine = os.path.join( - datasetPath, "groundtruth", setName, "*", "*.png") - # search files - filesFine = glob.glob(searchFine) - filesFine.sort() - - files = filesFine - # quit if we did not find anything - if not files: - print( - "Did not find any files for {} set using matching pattern {}" - .format(setName, searchFine) - ) - exit(1) - # a bit verbose - print("Converting {} annotation files for {} set." - .format(len(files), setName)) - - outputBaseFile = "panoptic_{}".format(setName) - outFile = os.path.join(datasetPath + "/groundtruth", - "{}.json".format(outputBaseFile)) - print("Json file with the annotations in panoptic format will be saved" - " in {}".format(outFile)) - - images = [] - annotations = [] - for progress, f in enumerate(files): - originalFormat = np.array(Image.open(f))[..., :3] - panoptic = np.zeros(originalFormat.shape, dtype=np.uint8) - - fileName = os.path.basename(f) - imageId = fileName.replace("_groundtruth.png", "") - inputFileName = fileName.replace("_groundtruth.png", ".png") - # image entry, id for image is its filename without extension - images.append({"id": imageId, - "width": int(originalFormat.shape[1]), - "height": int(originalFormat.shape[0]), - "file_name": inputFileName}) - - formatted = originalFormat.reshape(-1, originalFormat.shape[2]) - segmentIds = np.unique(formatted, axis=0) - instance_ids = np.zeros((max(segmentIds[:, 0]) + 1), - dtype=np.uint8) - segmInfo = [] - for segmentId in segmentIds: - semanticId = segmentId[0] - labelInfo = id2label[semanticId] - if labelInfo.hasInstances: - instance_id = 1000 * segmentId[0] \ - + instance_ids[segmentId[0]] - instance_ids[segmentId[0]] += 1 - isCrowd = 0 - else: - instance_id = segmentId[0] - isCrowd = 1 - - if not labelInfo.hasInstances: - isCrowd = 0 - - if labelInfo.ignoreInEval: - continue - mask = originalFormat == segmentId - mask = mask.all(axis=2) - color = [instance_id % 256, instance_id // 256, - instance_id // 256 // 256] - panoptic[mask] = color - Image.fromarray(panoptic).save( - f.split(".png")[0] + "_instances.png") - # segment area computation - area = np.count_nonzero(mask) - - # bbox computation for a segment - hor = np.sum(mask, axis=0) - hor_idx = np.nonzero(hor)[0] - x = hor_idx[0] - width = hor_idx[-1] - x + 1 - vert = np.sum(mask, axis=1) - vert_idx = np.nonzero(vert)[0] - y = vert_idx[0] - height = vert_idx[-1] - y + 1 - bbox = [int(x), int(y), int(width), int(height)] - - segmInfo.append({"id": int(instance_id), - "category_id": int(semanticId), - "area": int(area), - "bbox": bbox, - "iscrowd": isCrowd}) - - annotations.append({'image_id': imageId, - 'file_name': fileName, - "segments_info": segmInfo}) - - print("\rProgress: {:>3.2f} %" - .format((progress + 1) * 100 / len(files)), end=' ') - sys.stdout.flush() - - print("\nSaving the json file {}".format(outFile)) - d = {'images': images, - 'annotations': annotations, - 'categories': categories} - with open(outFile, 'w') as f: - json.dump(d, f, sort_keys=True, indent=4) - - -def main(): - parser = argparse.ArgumentParser() - parser.add_argument("--dataset-folder", - dest="datasetPath", - help="path to the dataset root folder", - default=None, - type=str) - parser.add_argument("--set-names", - dest="setNames", - help="set names to which apply the function to", - nargs='+', - default=["val", "train", "test"], - type=str) - args = parser.parse_args() - - convert2panoptic(args.datasetPath, args.setNames) - - -# call the main -if __name__ == "__main__": - main() diff --git a/code/perception/src/panoptic_segmentation/preparation/labels.py b/code/perception/src/panoptic_segmentation/preparation/labels.py deleted file mode 100755 index 328d1cb4..00000000 --- a/code/perception/src/panoptic_segmentation/preparation/labels.py +++ /dev/null @@ -1,93 +0,0 @@ -#!/usr/bin/python - -from __future__ import print_function, absolute_import, division -from collections import namedtuple - -# ----------------------------------------------------------------------------- -# Definitions -# ----------------------------------------------------------------------------- - -# a label and all meta information -Label = namedtuple('Label', [ - - 'name', # The identifier of this label, e.g. 'car', 'person', ... - # We use them to uniquely name a class - - 'id', # An integer ID that is associated with this label. - # The IDs are used to represent the label in ground - # truth images - # An ID of -1 means that this label does not have an ID - # and thus is ignored when creating ground truth images. - # Do not modify these IDs, since exactly these IDs are - # expected by the evaluation server. - - 'category', # The name of the category that this label belongs to - - 'categoryId', # The ID of this category. Used to create ground truth - # images on category level. - - 'hasInstances', # Whether this label distinguishes between single - # instances or not - - 'ignoreInEval', # Whether pixels having this class as ground truth label - # are ignored during evaluations or not - - 'color', # The color of this label -]) - -# ----------------------------------------------------------------------------- -# A list of all labels -# ----------------------------------------------------------------------------- - -labels = [ - # name id category catId hasInstances ignoreInEval color - Label('none', 0, 'none', 0, False, True, (0, 0, 0)), - Label('road', 1, 'flat', 1, True, False, (128, 64, 128)), - Label('sidewalk', 2, 'flat', 1, True, True, (244, 35, 232)), - Label('building', 3, 'construction', 2, True, True, (70, 70, 70)), - Label('wall', 4, 'construction', 2, True, True, (102, 102, 156)), - Label('fence', 5, 'construction', 2, True, True, (100, 40, 40)), - Label('pole', 6, 'object', 3, True, False, (153, 153, 153)), - Label('traffic light', 7, 'object', 3, True, False, (250, 170, 30)), - Label('traffic sign', 8, 'object', 3, True, False, (220, 220, 0)), - Label('vegetation', 9, 'nature', 4, False, True, (107, 142, 35)), - Label('terrain', 10, 'nature', 4, False, True, (152, 251, 152)), - Label('sky', 11, 'sky', 5, False, True, (70, 130, 180)), - Label('person', 12, 'human', 6, True, False, (220, 20, 60)), - Label('rider', 13, 'human', 6, True, False, (255, 0, 0)), - Label('car', 14, 'vehicle', 7, True, False, (0, 0, 142)), - Label('truck', 15, 'vehicle', 7, True, False, (0, 0, 70)), - Label('bus', 16, 'vehicle', 7, True, False, (0, 60, 100)), - Label('train', 17, 'vehicle', 7, True, False, (0, 80, 100)), - Label('motorcycle', 18, 'vehicle', 7, True, False, (0, 0, 230)), - Label('bicycle', 19, 'vehicle', 7, True, False, (119, 11, 32)), - Label('static', 20, 'object', 3, True, True, (110, 190, 160)), - Label('dynamic', 21, 'object', 3, True, False, (170, 120, 50)), - Label('other', 22, 'object', 3, True, True, (55, 90, 80)), - Label('water', 23, 'nature', 4, False, True, (45, 60, 150)), - Label('road lines', 24, 'flat', 1, True, False, (157, 234, 50)), - Label('ground', 25, 'flat', 1, True, True, (81, 0, 81)), - Label('bridge', 26, 'construction', 2, True, True, (150, 100, 100)), - Label('rail track', 27, 'flat', 1, True, True, (230, 150, 140)), - Label('guard rail', 28, 'construction', 2, True, True, (180, 165, 180)), - Label('any', 255, 'any', 255, False, False, (0, 0, 0)), -] - -# ----------------------------------------------------------------------------- -# Create dictionaries for a fast lookup -# ----------------------------------------------------------------------------- - -# Please refer to the main method below for example usages! - -# name to label object -name2label = {label.name: label for label in labels} -# id to label object -id2label = {label.id: label for label in labels} -# category to list of label objects -category2labels = {} -for label in labels: - category = label.category - if category in category2labels: - category2labels[category].append(label) - else: - category2labels[category] = [label] diff --git a/code/perception/src/panoptic_segmentation/train_net.py b/code/perception/src/panoptic_segmentation/train_net.py deleted file mode 100644 index 7c0eb4bc..00000000 --- a/code/perception/src/panoptic_segmentation/train_net.py +++ /dev/null @@ -1,178 +0,0 @@ -import os -import logging -import albumentations as A -import torch.cuda -from torch.utils.data import DataLoader -import pytorch_lightning as pl -from pytorch_lightning.callbacks import ( - EarlyStopping, - ModelCheckpoint -) -from detectron2.config import get_cfg, CfgNode -from detectron2.utils.events import _CURRENT_STORAGE_STACK, EventStorage - -try: - from panoptic_segmentation \ - .efficientps import EfficientPS - from panoptic_segmentation \ - .datasets.panoptic_dataset import PanopticDataset, \ - collate_fn -except ImportError: - from efficientps import EfficientPS - from datasets.panoptic_dataset import PanopticDataset, collate_fn - - -def add_custom_param(cfg): - """ - In order to add custom config parameter in the .yaml those parameter must - be initialised - """ - # Model - cfg.MODEL_CUSTOM = CfgNode() - cfg.MODEL_CUSTOM.BACKBONE = CfgNode() - cfg.MODEL_CUSTOM.BACKBONE.EFFICIENTNET_ID = 5 - cfg.MODEL_CUSTOM.BACKBONE.LOAD_PRETRAIN = False - # DATASET - cfg.NUM_CLASS = 15 - cfg.DATASET_PATH = "/home/ubuntu/Elix/cityscapes" - cfg.TRAIN_JSON = "gtFine/cityscapes_panoptic_train.json" - cfg.VALID_JSON = "gtFine/cityscapes_panoptic_val.json" - cfg.PRED_DIR = "preds" - cfg.PRED_JSON = "cityscapes_panoptic_preds.json" - # Transfom - cfg.TRANSFORM = CfgNode() - cfg.TRANSFORM.NORMALIZE = CfgNode() - cfg.TRANSFORM.NORMALIZE.MEAN = (106.433, 116.617, 119.559) - cfg.TRANSFORM.NORMALIZE.STD = (65.496, 67.6, 74.123) - cfg.TRANSFORM.RESIZE = CfgNode() - cfg.TRANSFORM.RESIZE.HEIGHT = 512 - cfg.TRANSFORM.RESIZE.WIDTH = 1024 - cfg.TRANSFORM.RANDOMCROP = CfgNode() - cfg.TRANSFORM.RANDOMCROP.HEIGHT = 512 - cfg.TRANSFORM.RANDOMCROP.WIDTH = 1024 - cfg.TRANSFORM.HFLIP = CfgNode() - cfg.TRANSFORM.HFLIP.PROB = 0.5 - # Solver - cfg.SOLVER.NAME = "Adam" - cfg.SOLVER.ACCUMULATE_GRAD = 1 - # Runner - cfg.BATCH_SIZE = 3 - cfg.CHECKPOINT_PATH = "" - cfg.PRECISION = 32 - # Callbacks - cfg.CALLBACKS = CfgNode() - cfg.CALLBACKS.CHECKPOINT_DIR = None - # Inference - cfg.INFERENCE = CfgNode() - cfg.INFERENCE.AREA_TRESH = 0 - - -def main(): - # Retrieve Config and custom base parameter - cfg = get_cfg() - add_custom_param(cfg) - cfg.merge_from_file("config.yaml") - - logging.getLogger("pytorch_lightning").setLevel(logging.INFO) - logger = logging.getLogger("pytorch_lightning.core") - if not os.path.exists(cfg.CALLBACKS.CHECKPOINT_DIR): - os.makedirs(cfg.CALLBACKS.CHECKPOINT_DIR) - logger.addHandler(logging.FileHandler( - os.path.join(cfg.CALLBACKS.CHECKPOINT_DIR, "core.log"))) - with open("config.yaml") as file: - logger.info(file.read()) - # Initialise Custom storage to avoid error when using detectron 2 - _CURRENT_STORAGE_STACK.append(EventStorage()) - - # Create transforms - transform_train = A.Compose([ - A.Resize(height=cfg.TRANSFORM.RESIZE.HEIGHT, - width=cfg.TRANSFORM.RESIZE.WIDTH), - A.RandomCrop(height=cfg.TRANSFORM.RANDOMCROP.HEIGHT, - width=cfg.TRANSFORM.RANDOMCROP.WIDTH), - A.HorizontalFlip(p=cfg.TRANSFORM.HFLIP.PROB), - A.Normalize(mean=cfg.TRANSFORM.NORMALIZE.MEAN, - std=cfg.TRANSFORM.NORMALIZE.STD), - # A.RandomScale(scale_limit=[0.5, 2]), - ], bbox_params=A.BboxParams(format='coco', label_fields=['class_labels'])) - - transform_valid = A.Compose([ - A.Resize(height=512, width=1024), - A.Normalize(mean=cfg.TRANSFORM.NORMALIZE.MEAN, - std=cfg.TRANSFORM.NORMALIZE.STD), - ], bbox_params=A.BboxParams(format='coco', label_fields=['class_labels'])) - - # Create Dataset - train_dataset = PanopticDataset(cfg.TRAIN_JSON, - cfg.DATASET_PATH, - 'train', - transform=transform_train) - - valid_dataset = PanopticDataset(cfg.VALID_JSON, - cfg.DATASET_PATH, - 'val', - transform=transform_valid) - - # Create Data Loader - train_loader = DataLoader( - train_dataset, - batch_size=cfg.BATCH_SIZE, - shuffle=True, - collate_fn=collate_fn, - pin_memory=False, - num_workers=4 - ) - - valid_loader = DataLoader( - valid_dataset, - batch_size=cfg.BATCH_SIZE, - shuffle=False, - collate_fn=collate_fn, - pin_memory=False, - num_workers=4 - ) - - # Create model or load a checkpoint - if os.path.exists(cfg.CHECKPOINT_PATH): - print('""""""""""""""""""""""""""""""""""""""""""""""') - print("Loading model from {}".format(cfg.CHECKPOINT_PATH)) - print('""""""""""""""""""""""""""""""""""""""""""""""') - efficientps = EfficientPS.load_from_checkpoint( - cfg=cfg, - checkpoint_path=cfg.CHECKPOINT_PATH) - else: - print('""""""""""""""""""""""""""""""""""""""""""""""') - print("Creating a new model") - print('""""""""""""""""""""""""""""""""""""""""""""""') - efficientps = EfficientPS(cfg) - cfg.CHECKPOINT_PATH = None - - logger.info(efficientps.print) - # Callbacks / Hooks - early_stopping = EarlyStopping('val_loss', patience=10, mode='min') - checkpoint = ModelCheckpoint(monitor='val_loss', - mode='min', - dirpath=cfg.CALLBACKS.CHECKPOINT_DIR, - save_last=True, - verbose=True, ) - - # Create a pytorch lighting trainer - trainer = pl.Trainer( - # weights_summary='full', - gpus=1, - num_sanity_val_steps=0, - # fast_dev_run=True, - callbacks=[early_stopping, checkpoint], - precision=cfg.PRECISION, - resume_from_checkpoint=cfg.CHECKPOINT_PATH, - gradient_clip_val=15, - accumulate_grad_batches=cfg.SOLVER.ACCUMULATE_GRAD - ) - logger.addHandler(logging.StreamHandler()) - trainer.fit(efficientps, train_loader, val_dataloaders=valid_loader) - - -if __name__ == '__main__': - CUDA_LAUNCH_BLOCKING = "1" - print(torch.cuda.is_available()) - main() diff --git a/code/perception/src/panoptic_segmentation/visualize.py b/code/perception/src/panoptic_segmentation/visualize.py deleted file mode 100644 index f8532a79..00000000 --- a/code/perception/src/panoptic_segmentation/visualize.py +++ /dev/null @@ -1,77 +0,0 @@ -# import numpy as np -import albumentations as A -import matplotlib.pyplot as plt -from matplotlib.patches import Rectangle -from datasets.panoptic_dataset import PanopticDataset - - -def add_box(ax, box, color='b', thickness=2): - """ Draws annotations in an image. - # Arguments - ax : The matplotlib ax to draw on. - box : A [1, 5] matrix (x1, y1, x2, y2, label). - color : The color of the boxes. - thickness : (optional) thickness of the bbox. - """ - rect = Rectangle((box[0], box[1]), box[2] - box[0], box[3] - box[1], - color=color, - fill=False, - linewidth=thickness - ) - ax.add_patch(rect) - - -def add_boxes(ax, boxes, color, thickness=2): - """ Draws boxes on an image with a given color. - # Arguments - image : The matplotlib ax to draw on. - boxes : A [N, 4] matrix (x1, y1, x2, y2). - color : The color of the boxes. - thickness : The thickness of the lines to draw boxes with. - """ - for b in boxes: - add_box(ax, b, color, thickness=thickness) - - -def vizualise_input_targets(dataset, seed=65): - # Get a sample - sample = dataset[seed] - - # Figure - fig = plt.figure(figsize=(15, 10)) - for i, (name, tensor) in enumerate(sample.items()): - if name in ['instance', 'image_id']: - continue - - ax = fig.add_subplot(2, 3, i + 1) - if name == 'image': - add_boxes(ax, sample['instance'].gt_boxes.tensor.numpy(), 'g') - - ax.set_title(name) - plt.imshow(tensor) - - plt.show() - - -def main(): - base_path = "/home/ubuntu/Elix/cityscapes" - train_json = "gtFine/cityscapes_panoptic_train.json" - - transform = A.Compose([ - A.Resize(height=512, width=1024), - A.RandomCrop(height=512, width=1024), - A.HorizontalFlip(p=0.5), - A.Normalize(mean=(106.433, 116.617, 119.559), - std=(65.496, 67.6, 74.123)), - # A.RandomScale(scale_limit=[0.5, 2]), - # A.RandomSizedCrop() - ], bbox_params=A.BboxParams(format='coco', label_fields=['class_labels'])) - - train_dataset = PanopticDataset(train_json, base_path, 'train', - transform=transform) - - vizualise_input_targets(train_dataset) - - -if __name__ == '__main__': - main() diff --git a/code/perception/src/segmentation_node.py b/code/perception/src/segmentation_node.py deleted file mode 100755 index b840d9b0..00000000 --- a/code/perception/src/segmentation_node.py +++ /dev/null @@ -1,170 +0,0 @@ -#!/usr/bin/env python3 - -import pathlib -import numpy as np -import ros_compatibility as roscomp -import torch -import cv2 -import albumentations as A -from panopticapi.utils import id2rgb -from rospy.numpy_msg import numpy_msg -from ros_compatibility.node import CompatibleNode -from sensor_msgs.msg import Image - -from panoptic_segmentation.efficientps import EfficientPS as EfficientPS -from panoptic_segmentation.train_net import add_custom_param -from panoptic_segmentation.efficientps.panoptic_segmentation_module import \ - panoptic_segmentation_module - -from detectron2.config import get_cfg -import torchvision.transforms.functional as F -from detectron2.structures import Instances, BitMasks, Boxes - -CFG_FILE_PATH = pathlib.Path( - __file__).parent / "panoptic_segmentation" / "config.yaml" -MODEL_PATH = pathlib.Path( - __file__).parent.parent / \ - "models/panoptic_segmentation/efficientps.ckpt" - - -class SegmentationNode(CompatibleNode): - """ - This node runs the panoptic segmentation model on - the camera images and publishes the segmented results. - """ - - def __init__(self, name, **kwargs): - super().__init__(name, **kwargs) - - self.publisher = None - self.loginfo("Initializing panoptic segmentation node...") - - self.role_name = self.get_param("role_name", "hero") - self.side = self.get_param("side", "Center") - - self.model, self.transform, self.model_cfg = self.load_model() - # warm up - self.predict(np.zeros((720, 1280, 3))) - - self.setup_camera_subscriptions() - self.setup_camera_publishers() - - def setup_camera_subscriptions(self): - self.new_subscription( - msg_type=numpy_msg(Image), - callback=self.handle_camera_image, - topic=f"/carla/{self.role_name}/{self.side}/image", - qos_profile=1 - ) - - def setup_camera_publishers(self): - self.publisher = self.new_publisher( - msg_type=numpy_msg(Image), - topic=f"/paf/{self.role_name}/{self.side}/segmented_image", - qos_profile=1 - ) - - @staticmethod - def load_model(): - cfg = get_cfg() - cfg['train'] = False - add_custom_param(cfg) - cfg.merge_from_file(str(CFG_FILE_PATH)) - - transform = A.Compose([ - A.Resize(height=512, width=1024), - A.Normalize(mean=cfg.TRANSFORM.NORMALIZE.MEAN, - std=cfg.TRANSFORM.NORMALIZE.STD), - ]) - - model = EfficientPS.load_from_checkpoint( - cfg=cfg, - checkpoint_path=str(MODEL_PATH) - ) - model.eval() - model.freeze() - model.to(torch.device("cuda:0")) - - return model, transform, cfg - - def predict(self, image: np.ndarray): - self.loginfo(f"predicting image shape: {image.shape}") - # expand - # image = np.expand_dims(image, axis=0) - transformed = self.transform(image=image) - - image = transformed["image"] - instances = Instances(image_size=(image.shape[1], image.shape[0])) - - instances.gt_masks = BitMasks(torch.Tensor([]).view(0, 1, 1)) - instances.gt_classes = torch.as_tensor([]) - instances.gt_boxes = Boxes(torch.Tensor([])) - inputs = { - 'image': torch.stack([F.to_tensor(image)]).to( - torch.device("cuda:0")), - 'instance': [instances] - } - - predictions = self.model(inputs) - segmented_result = panoptic_segmentation_module(self.model_cfg, - predictions, - device=torch.device( - "cuda:0")) - - result = segmented_result.cpu().numpy() - # self.loginfo(f"predictions: {prediction.shape}") - return result - - def handle_camera_image(self, image): - self.loginfo(f"got image from camera {self.side}") - image_array = np.frombuffer(image.data, dtype=np.uint8) - image_array = image_array.reshape((image.height, image.width, -1)) - # remove alpha channel - image_array = image_array[:, :, :3] - - # image = image_array.reshape((image.height, image.width, 3)) - - # self.loginfo(f"image shape: {image.data.shape}") - - # returns a numpy array of shape (512, 1024, 3) - prediction = self.predict(image_array).squeeze() - prediction = id2rgb(prediction) - print(prediction.shape) - # resize to (720, 1280, 3) - img = cv2.resize(prediction, (1280, 720), - interpolation=cv2.INTER_NEAREST) - output = img.tobytes() - - # construct the message - msg = Image() - msg.header.stamp = roscomp.ros_timestamp( - self.get_time(), from_sec=True) - msg.header.frame_id = "map" - msg.height = 720 - msg.width = 1280 - msg.encoding = "rgb8" - msg.is_bigendian = 0 - msg.step = 1280 * 3 - msg.data = output - - self.publisher.publish(msg) - self.loginfo(f"prediction shape: {prediction.shape}") - - def run(self): - self.spin() - pass - # while True: - # self.spin() - - -if __name__ == "__main__": - roscomp.init("SegmentationNode") - # try: - - node = SegmentationNode("SegmentationNode") - node.run() - # except KeyboardInterrupt: - # pass - # finally: -# roscomp.shutdown() -# From 8cbe98ae0053f0d5a90601c4538620e8fac992cf Mon Sep 17 00:00:00 2001 From: Leon Okrusch Date: Wed, 22 Nov 2023 10:43:43 +0100 Subject: [PATCH 04/12] feat(#85): Removed model checkpoints --- .../models/panoptic_segmentation/efficientps-32.ckpt.dvc | 4 ---- .../models/panoptic_segmentation/efficientps.ckpt.dvc | 4 ---- 2 files changed, 8 deletions(-) delete mode 100644 code/perception/models/panoptic_segmentation/efficientps-32.ckpt.dvc delete mode 100644 code/perception/models/panoptic_segmentation/efficientps.ckpt.dvc diff --git a/code/perception/models/panoptic_segmentation/efficientps-32.ckpt.dvc b/code/perception/models/panoptic_segmentation/efficientps-32.ckpt.dvc deleted file mode 100644 index 3ba80f55..00000000 --- a/code/perception/models/panoptic_segmentation/efficientps-32.ckpt.dvc +++ /dev/null @@ -1,4 +0,0 @@ -outs: -- md5: dc9cf3929e37ad7d6c8e2f59c49f868b - size: 495172960 - path: efficientps-32.ckpt diff --git a/code/perception/models/panoptic_segmentation/efficientps.ckpt.dvc b/code/perception/models/panoptic_segmentation/efficientps.ckpt.dvc deleted file mode 100644 index b6ee2b0f..00000000 --- a/code/perception/models/panoptic_segmentation/efficientps.ckpt.dvc +++ /dev/null @@ -1,4 +0,0 @@ -outs: -- md5: 28505cb346432b010d4a0f21faa6604c - size: 495173088 - path: efficientps.ckpt From c8a13eda59c12cf9f2964eb9f4e50ae2d341c444 Mon Sep 17 00:00:00 2001 From: MaxJa4 Date: Wed, 22 Nov 2023 15:55:48 +0100 Subject: [PATCH 05/12] Remove EfficientPS dependencies --- code/requirements.txt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/code/requirements.txt b/code/requirements.txt index 5c78ad34..a68e2928 100644 --- a/code/requirements.txt +++ b/code/requirements.txt @@ -4,11 +4,6 @@ torch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-lightning==1.8.5 -albumentations==1.3.0 -git+https://github.com/cocodataset/panopticapi.git -git+https://github.com/facebookresearch/detectron2.git -inplace-abn==1.1.0 -efficientnet_pytorch==0.7.1 opencv-python==4.7.0.68 dvclive==1.3.2 torch==1.13.1 From ffd8d55b375723838b0e30b046cf0d02faaa95c4 Mon Sep 17 00:00:00 2001 From: MaxJa4 Date: Wed, 22 Nov 2023 15:55:48 +0100 Subject: [PATCH 06/12] Remove EfficientPS dependencies and ignores --- .dockerignore | 2 -- 1 file changed, 2 deletions(-) diff --git a/.dockerignore b/.dockerignore index a3ed11c3..3af9b472 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,3 +1 @@ code/output -code/perception/src/panoptic_segmentation/lightning_logs -code/perception/src/panoptic_segmentation/logs From 0a10b0b22cbdc20c94104bfc97678d8b7e6a015b Mon Sep 17 00:00:00 2001 From: MaxJa4 <74194322+MaxJa4@users.noreply.github.com> Date: Thu, 23 Nov 2023 13:44:02 +0100 Subject: [PATCH 07/12] Fix add-to-project action (#90) --- .github/workflows/add-to-project.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/add-to-project.yml b/.github/workflows/add-to-project.yml index dcced1c4..7f685395 100644 --- a/.github/workflows/add-to-project.yml +++ b/.github/workflows/add-to-project.yml @@ -16,6 +16,6 @@ jobs: # to the issue project-url: https://github.com/orgs/una-auxme/projects/3 # https://github.com/orgs//projects/ - github-token: ${{ secrets.ADD_TO_PROJECT_PAT }} + github-token: ${{ secrets.GITHUB_TOKEN }} # labeled: bug, needs-triage # label-operator: OR \ No newline at end of file From e4fddd3ab15442ceebc11894cd664d36ba2788cb Mon Sep 17 00:00:00 2001 From: MaxJa4 Date: Thu, 23 Nov 2023 15:23:20 +0100 Subject: [PATCH 08/12] fix(#38): Allow writing for all users --- build/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/docker-compose.yml b/build/docker-compose.yml index baf7d008..82efcbf4 100644 --- a/build/docker-compose.yml +++ b/build/docker-compose.yml @@ -55,7 +55,7 @@ services: shm_size: 2gb #command: bash -c "sleep 10 && python3 /opt/leaderboard/leaderboard/leaderboard_evaluator.py --debug=0 --routes=/opt/leaderboard/data/routes_devtest.xml --agent=/opt/leaderboard/leaderboard/autoagents/npc_agent.py --host=carla-simulator --track=SENSORS" #command: bash -c "sleep 10 && roslaunch agent/launch/dev.launch" - command: bash -c "sleep 10 && sudo chown -R carla:carla ../code/ && python3 /opt/leaderboard/leaderboard/leaderboard_evaluator.py --debug=0 --routes=/opt/leaderboard/data/routes_devtest.xml --agent=/workspace/code/agent/src/agent/agent.py --host=carla-simulator --track=MAP" + command: bash -c "sleep 10 && sudo chown -R carla:carla ../code/ && sudo chmod -R a+w ../code/ && python3 /opt/leaderboard/leaderboard/leaderboard_evaluator.py --debug=0 --routes=/opt/leaderboard/data/routes_devtest.xml --agent=/workspace/code/agent/src/agent/agent.py --host=carla-simulator --track=MAP" logging: driver: "local" environment: From 88ce514e90c5d15e42944a8d6a9ce5207e7a6a8a Mon Sep 17 00:00:00 2001 From: samuelkuehnel Date: Sun, 26 Nov 2023 13:56:01 +0100 Subject: [PATCH 09/12] doc: Added documentation for pytree --- doc/00_assets/pytree_PAF_status.drawio.png | Bin 0 -> 193175 bytes doc/07_planning/Current_pytree_status.md | 124 +++++++++++++++++++++ 2 files changed, 124 insertions(+) create mode 100644 doc/00_assets/pytree_PAF_status.drawio.png create mode 100644 doc/07_planning/Current_pytree_status.md diff --git a/doc/00_assets/pytree_PAF_status.drawio.png b/doc/00_assets/pytree_PAF_status.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..3e2d4934f17758251b822c6f0cd8c29572a52244 GIT binary patch literal 193175 zcmeFZ30REl|3B_@a-=@z5UFD)M}#!{qEOQ`(@ZnXG;5P}_GWMPg(P&uA)IVQ$wBrU zOSUNcULizD))G==38~-x;2b^j`(NMR|N8&0|8@PZkLyy?JkN7K_j_ON*L^Qw$54Ov z?C05~OP8N%QDjb+E*@oFx^x}u@e}w)DVduEe*IwPP)S|#O9#|<>C*dzB{I&Ub0}0= zd6(hnh|iyfqYw!Ovt>A%JRF4*Cnk=Ssl-Z?SZ5xqms`MB;JVHrQz=w(+2?yu2oyR9 zi3~#Fcu3@Mboi$q801(C5gY&cez8)n|1u!c;8JO|;^8O?b}Rx6HBzY3%M5li_!z?j zKadFUHJSuIfeSdy=Z_8?CJ=lRo|veW3+0k%6_^JFi^h*dw_^efF zf}uaXlPgw;O{xwsQ7|i1n zPuYMSLCDV!s=n|Li4YT!Qi3E1K~yM$&`1d~NQTA{f)HpT1|gSWq*CISLGc2lOoKIJ zC^iJrq}Ll6D(-L;$w6h|SXiCRsNzbvIzXBQ&vHsoW)Uh9<0MeovM7ZO86Be|xtJ1h zER&mHwQ*yq2v@XH3ZBLbY`nxcszr}hf!Fi#MyUctC=rN&rU5(OLl z?V#(>c#hUAlF*1ugjMZSh@_}QBt{*Dqk_Ts8WS6DWznrvqf{3~71A9PC-~Y#XY#FF zDcvD(St1efVA2$U6DKm8YUxGP*B(ex*^6) z1fO*#HI{-P0^OldSwgd32#tiqM`-k9yh}tAy5!tAlQkY;*Wyt;i$=i#m*a^}tqKT` zBH>_cu|zdNfMdkqB}6NN5QD~w(Rx}uoo-`BMXAIjb*wU8h-4d44xn2kr@(?qv_;|+ zb`)DAbtxDcOB9M`!RpX5HpUXeR799q9Hx*iLFpqADiuQ>4c?-S13xGVwO$-2!D29S zr$tU+nh8!bBZ|&JF)$7}i>AkO*c4kNxG`MqP-D$#Y9!ui0DsbBR3es$ZHRNkDRg2y zQqRN_0No@M!(mY9bV48ttsbK{B|2SnwuM5Wgqwl!P}CMC-Nj7+H_A0q83xjB@L6pZ zbMUOlD2xk>vfFrsLb2vH+d}-8& zi_lJ{mThA>Nk%i7tOzHv;niNizM1l<)WiY7#Bq9bSuN`ef7V!K?ibb*t| ziAlsr#0)MqK_??)T#=fXLI$0Rm0RLCMLv0#K?pe3B`yHk6;NbiBt*` zqDF;fSuj`{^gh?8u<(R_} z7!HDzAmk9KHt=pCMoL#;S$gnMW>DD8Mw^u+X9}q_f)Hh6%M5Iik*W}hV!@zBHQLHI z3&|WgS50+9h$5UOGtS5sBSd&DnP`fQ2UaJ>2*c?Kh!`;o>oP`0OUxW6TI%A1(RJ}a zj3fo1mt<4M5%oqJnu*Xmfx(azCbUC93)jV&6ZA^4#^|CN2^2P$;ZOr-P0~PuaHt|g zJcLvvQxm9aXtJC{1Qr+WMA8U&a5+96EwMu5BSAbN#T&q=lz1);^5Ed_7>-WN6NCFG zz)7hED1B6%NyKu*So69hgJjT>s7SO0&xk>&dEq*Z#evWgSX4Y- zAdXGoIa$i6Sf>W3VreBVu2#ymYj{SfAX09_IF+$>k~11jHAyri9$ADZQq)m$mt3wi zVqAQ(PQ;KXz>F*$i`q^gaMU`J0}_jw#sd~fBB8AW9o>#VYnUvGm15GekwDHs>K2aN zMF2MdA4eiYD59_!i4em;N7*fUg`L5-tI;}X1Q*<@ivhP$@RArSUzmUfA1w;J%p}&w z@GVhsu}-WDAr?vTY?qP+Y>|XhNh#zQYBZIRC~_EC{8+s)S`r0~gES$e5=ae&iF7+M zksM=CGR@&;u~kn-nK=n48A<6^Y^s7SLt4?X0y0LbMH4MZ4pVOC;c+A?6={{yqj=#C9F0Yf z6=)O+dyI}sL12Uo6+(@ai$!XVloP>DWGc8eyILj@;jsxugn>tPT3JRpm1(moP%K=G z0v#of!#HD&Mhn$Uh_~y2f1r?nN1&LanOYGpJc?oynBy6;c(k4>lGvqAJyQflJSQXG zB@~M_Bo-B=voIY5c?3BwniLr?ftZhqaM2Vz8TcetGpv+E0|(?G6akm27i$6W6f9pu zrXtlseu4(2r}BwfMx$BrIe&!e}?J&>&$UA&jKRNUqSD=s-qeBTP{Op~y()8~A)VourUO*`vu63Oh!s zU^pZWr(BCc@DR~xRFs~hiHODG)X_liX)Fgyk4C9E4nw?CY}VTF6pS9{a>fWnG9xpd zX2kPJe7s&sMBuRTR-wQk!*U>PPK*Q7lE=%GN?f!cPHYv2Cm2}~*ccXy8NtFC6UZ{X z)QZ1X5ILM}Ck%kBc$Rqh`Ry@h6 zOk_FqVxd&R&?96bTRZ}|O;R)k!2vJgF!f9q9Rx6qG#rT%+CdgVQ5&pMlYkzn22_AQ zxl{q4fDmF3C{_eRmOzy&XyiD9f?y=G;_2WzD$W!Yt>i?L<71p^ibYEV6Kg0AbUs z#XN-01(c71(NSn-BSwZ1I=R#cB}khDd>T$lH5w=a2F{GZplNg&j;|uAm=+QuLTTnk z;q7)JLyqPvaT=lB7AsKOc`8DLQjXR!(KM`DNiay!BpH&S;~G)+aJy9yE{Y3}kdO%E z2y6m9KGAApiYR)NjxTY@Tr#PWql$_W#F*)lC~{;B%PMvy@VGp)kmjHnOa!`4XNZp? zM~m$Ea0^n2af$VMEhmA1RmDj;91)7kh!RB$kWtYrnE)LfW3cifP-ZPhM$}R{C|M#1 z%u!gQNz5?;TImLx7^xA(aO8M9Ln35xXk=Bq6)i(h^!7**3l~pg#tGE&aH*I`cHuN) zYh;|05P?Fe*(?;xge5qbz#2G-iAsUYK+*`g@eUwpCqt$a@sx5~T#P2sB}p*jab^RS z7S7a3X_`o}6i;G?yM*CLr&x*-;S=O$n=rzx5g8RkJrf6V8B#1?8I4F(8saqwEFl~d zBO+76=?a}bMk^uMOhi4|rI*n~yjTZcpyV2iVkwRkD>TIth;*~W#*9p`MoAIzBr6*i z?V?k3XqQW;!N?N0Vge>X7{NB$#ZEOb+K4nqs`)sy79osFFx&A4Fff-QU`HZw_*kop zCej)b@y5h(YDA2fE_Z=x#V|~09ghY+3F47BL!>LpNN1`eqgWu|TP%?(2bRJiInY{- z!VzgA5tt^91R-T9FmfJ6rN&_$;W!kNWKt*Etegapi%=vY2gXj~BCU3Ngg_P(OJXR5 zMtlOFL8OULa*(D{gmk1%VsmipG9xNMMP%ymJe$;v=NX|mjS)x)D7pZ{*9j#IVYHf+ zz(?^V;X;KB6p9owO&Z6<7==V-f*q-X@^Fe3qa`!rZ3Zje1k?r%#Rw|N1j2T>2xVYf z#3ZgVfv1+UMKUs%szTar4t@+GhECLr=p-&eW*|reF1AuY;KiA6DwUj~(zy%_EKZ(a zWV@tRvc76 zYoJl>K#fU)D7k@S$7>`6f-xe7U_cRxBx!`gg2Qt_PDEiwB?@EdaaMY~K8nMm6CG$N zRfxp1h@wO$Uqvw@QBIyVUXMfREjXkTBNF4ZR$C-SY9vb%$a)5s$YwcX%mT4YYGu1< z2mm-A2+33vQ|u5L$WjDent&pNXuJ zN~9x&G#y`nA>o}obbJg252iM2mPr9x6^okJ1T6vD5@n98wXF(8#e? zdQ=QWjE-SzAiV&EZKMi=jO1g@EU_&jl26qjHL+$qS%DG=!&!Eg84t#ngvS%a2s$E0 zCXxxD)Ld>=9%Pi zau<`#3RjcSn1qA~jhv_>B3anTggBSb9;v1fDJqgotv1FbB5X)QoI-1hw-_;TJflkE z#7gN#6qAaQS(FZ;9%(_u(zP@uOHJpIu{NtkVWg923D|HPmI(3~8wJYsBe=x)1fvv% ziFU=4jY`WAgoj6imxLqYz>MN85o!$%VG_%jk|>MXq!aVm ze0v1d5$UuTC47quNf04yVhn<;XUi2ztXdnZRWZTa#CE%h6=eW1&_IcbaVg^|LNQY0 z{934}nAgBmJgfJE=a&2}iS)kxR{s*nWDB}fC-bgX%Fft?_A+ah^Dh2|@70~bw z4M|0|YT3*fJ^sD0TmQXRI4o9E)epf zwDt&4c2J|CSS+Pd@It1ML}sz9^aP!nN7kv#1eb_J(D1NA8j3{`GBHvEgMyPwb#g17 zsgj}1z@|XCii}UdDD+AsNUK#y6W@-Z#ptPVT6rV}BTW<$p(Fsy)yiCu$=bPG74SeL zG68BDp&^&`PcP|HV+s8IrCo=P+`jw;qDz+{U1;QRo@45>>ZC>4ubm@W{}8P{JBYYI zoG?YQfE?4i@ZARPrfRKE)zjZG)>D6-z0$K!;Qj~vsCiu~4D=0s&g{DRI5vFNjLEHW zX`YyXc>E8idyy2eFWnbySf1;-nKLJX$2_7-Kp@oLNB{J)9nQMj#mc?z_*Fwlpb&1zD<6+a+3a#@of6Q zBscWw8GO!C#r19c5$jw}w&H)EKYwC>Z-ehHuRguMkpA!7J@#?K9C_J?bC|IArTRW@ zY;3RJ#@}9hdq(5Y)aMZ|yeI9~E*KbMJAw)gZKZ~O9pPVoV7xra9E0H(jyc`0#xf7w zaXno%IO)}u31N?V#_iYM+B#z0%$GV={;-M{dE`1Gh^Uyhs2#v4s+DfU)_#|5xB|caee)* zJ*Gz&4BD#w4Otvq+`YUTJ4DTQO0z@epE+};h$H@KXJ>X{x&s;q!ryX?kkZ!Hwr;|U zQ@zc;W8#kG$=u4uzn%P_Uw&y*%VZCOhuv2W*RVpqD&9Yj2YGmu?VDZe3zO)`17QY3 z<5ua}bf!_peOJ3SU7v-No_P%Z)%oAwltvI0jkS_t#6Tk>ynnctxgg=tN|=go^G~e3 zl!@lo7nqW!TKNsr=C?Y@N4&j@cMO>QduL59?bS2q1?gXbe)^DN?mACNZxzVyWtPbb zOOM3e7ZgxBy*{xo(9KmT4|~CA*|K(a6Jr7Oj!#bCKho-=Z*RNt59wc-F*X9o2eouE z2{z`6-aT^yUz}TW0=@NO80A{kTgQ8cCQ8fikK8U#5`2NF(5i58O1&27k z(=cH}&H{E22c=(yvryx9=$Enq<18ch8)^n|H^=Pks{H-;-vh>n4GS$Vu$P_qD(`=u z8|d3Jryg*yCDJ;nVy=_1V$mn=hdYG|vw{NT-afGFLUjs1-JGpsqd3KueMg# ze4KJAJLG_G4(;stqfIBg3f7g^HQhT|FtNNWa9+k7O!TU;J3l&iH(hF})?Y2yt0-A` z{CN1izR7D~gnm+XPe@k}E(=@@lgYRt?A1*S&-~W+6~+2zzj6-{txv9r!dJd8MZbQK zQ>wfpA6~_eJX} z#$AtunHEIy<-R~0N(qzTO1*IS(x**~%J954)dcm{L91^S+6@mrBz<^uea;v^&$5k6 zFTH>Lw0}j#64zm#BhR_mV%`?v$cqa;r0&e#S%9_&%x{dg&hz28Q1j!<>%E?1(15LR z2lP`WmzJU**mq{0D@E5kHot$tvKGD2)V@Bwr z`t`635bHD{r5l%COts~xez|yUZt&}-67V^5{0y7UZ;ge)eZRN3xY+j^ZDR6^Kc-o< z+@c!I_0G;^Ej7$>MiUNaTxp+?lN|vCi7id{R^ts*cdkiENm-4QQf9upIIU>9qZU}F zu}XK~^s-^peifTPl$T=tyvjD#ZNAHBei2*m*mC^%@wlTd>$M+4ok_c&g=SQo-|`1c z^pIo*0?9l-IB5m!!pk6Fr;MUo3uCjJ7|7a2GH$qTAnd}(KY{;UmWMqa zpQ;S-s5QYZLQkECeEWpy4KN0TMMEBMcb^9V_cA4yXe;10GP_Gk3=X z;{Hs{oC41>M$b!+U>AWOPWcn02g_$3tAsh_l$BuK@siPJm?zMuS7(gsq)6EyB-Jn9 zXN6f$Zj{>!ud=n{tfO$+n>`QI%$fnbVPVwXti+us(7gl9Kf*Ex5XN$^0g^Ti+Eoi5 zCNhQeyYhKqV^Li3tfUQ(LY^NS_Qii4{q5wH4b%tAsDlRus0U5KV9&s4QOgX&oP2Hvm^Lq?V zZ%k^Ov0Gn#IC@HaOJl0ib0X>Rk#loSX z8LMbp=EC$1uxV)zAkUeX!u!AkximQCM5>Z=@KHgP<(X1hI#nS<@FJZhpl^3)&|_#pzXq4`3;JUoJ==D zL_|cvy5PEmEk_o`IRb(+*xkMr-jKmSc<)xv9R(BKkZEqI5TV3?kF8IqwIBALO`BL_ zDQ6a3j((3BTz+l9M&hhi$Bww&{D)4WvCdepD~X%J!#PuzcTJIJ73uASV;&2L!<^pYR2 zlLdS8>a?)+C(x<`tJkkzf5w~nIy(U*57VlWYG>ZdvLtz4c=h`Ab=ywSVT-CEYV)fd zJ_~6z*X>(x6(!BMJ+rywMQd}}*}HeAH@tm~ee#y+exRztv&=HX?Z$|2bFGKbVUB=l z&Fr6H@_ZPP%f6S{+|UIb8ammlbYo()=Ml`{r?2qI&3NpieZ5Q0XN-_GR2J;EKD|MS z%X^oQXPNTxT;9G?DD?Dp-AnaTr>yxaX`XT+4*9y*H}S>2ax}>ArcPtQCX*uZ^cfY( zW!!(x4+K$#*1y6pM>Q;;+G&cOV2a#h z>jN`kQ>+{drf9qW9GdBW33LCyDY2uUs{QnVAvpQ_SM?23&XtFZO}u|<0f_CN>aG*o z7mfBK9$uZ)&Ep{*=(z9!`#&%#KMc<;E^gn<3Vm^EZC5YfhwBGm8Gju!myP$EJ9n;O z(V|6TE)E(Uie6AOsFTT#{0o?@_vSnW%w!X`hk-`LO5nX_NvrnjD)w22_GmnKEDNi- zQ+3E(mprh4{~5ncn(WAX!2Np&Y$`xafujWOGi$yYrf|Ti?%mADeE9&>=G!Z-FyH-p zPR3i7u04G3_x^XrgBC@D_lsa}q_1}w>&)KqouWfn?m;l>>Fn$aaOGd@R-VVKLK6rr z>juwwwmVQa`OJopk$-D%?J0*kEbGQQUp@r&e}?x9Nw?^~eZHOR?66-zMq(oP42S!~ z3GSdMNiI@f-?jwmN4y&u)hEac3_2Wy>$WrJ&Yj!yY^c)z{^GP2`NbaAVV#E!1g@5j zq%dK@HEfOh1XH!OA_;1qWbQWCl?J9KsxwUe2d_z2#~(61s^6UBdQ!Y((V`s-((Y*w zS!CtW-pg$3UVPh0^60tcZy>kS`Mazzxg8vnvgGya*B={h-n?02zvHaq|KS^S*fo9n z5O>wsi}|DdHXXYJlEwSSQhsb~xV5*A0i=99Z$lP`**@AoJ@Qo9VNPx&jKQBml4&?_ zSKEyve~0-3)2OENX{)Qt%bQn~Z)UYGX*|+gI(Sif`kUH)H!iHYUR4z`PFJ}vdA#xd zsb;BE+8*TJCLchr)YYE85b?vejucP?bvnFZIy3v&rmk(f(tb@#dsSCl`07z=;r;d{ zX=Oh7PZs#CwXJ=(&fECg2lIVaVy6&3JFFfO0G{(RT(14QPVn_kUixue?1fjwTQ3gE zA@=sJpV)G@K;|33C0T)Ocg(k#}j~F+@1{;1i1btfHsk%?>CbKw~PY8 zj(h8hW-WX&7{KWx|AA#~pF;DBJ|L}m_81!jOKaTw0Xv@h6MTYDx_-gaql{;J)eja* ze{lQxhkJd4JLT82!{oqjM}@c+!{pK>1@veZtxADU5DJ}pz*|=gJbDJM++m;>bmro> ziA2vKY!S#sFQiX>0H-Qn1ZQ+rK{|$Cv-#&Tg z9RB-lopGZPpi~>*c=YWZ;d4;NZTAg|x0D<^7RFdN;ppDTxQ0DlW7ZP9sp$h2{MhZ6 zBZbPc9JFv+((9UH05q^qee>gFc<&NQkJy1Aho&!{v=^2uA;LSu2YO$-c>Gad)Lu|+ zXRyY3Ar{T@)mAyJsVEPRdqZ`B{;Y&#`hhMI#X)ot*7nB?V2#99>YIVSv zzvUNK-rOxcI~oj_jJda_`a7Av8qAWjL}-T1^76K@aog&_!vDvY8K*6pcq-)O(s&z5yNikaEQH)!Vo2uNI8RS-p4q@i|9UZpruUnlt11 zpafivViwfdg-^0mkPM_NYvu&99bQEai*( zqA64=b)uhlaOA1;q1QLVVF*xFl~M|pY%F(fFN6tWX>tl$S-SRo@`_Pf+TCs2)$QXR zmJR#Vdx`F0>^I<*8UBhpgI1&}CuB5?YnI%3!tK%dX(bTi zxTiY!y8K8`SAuo0Yn&C#dzrh_97UVvAA~n=A?D;_K>o9-?!wkuV1>-wiLtr+AnFG0 zJOiWdt|#DjewX0J1D<6MlSofst8LJ%EYKA9-Vwkqq)0rL2ZWlz!sfxoq7V09oE^Lb zKw2b^4;-R{-uI6)LSghktep;C-nIW~6Rd#G9p-ijtavtE{BwA8sk$xIZ)zH7Pfqob zp}>MeL&W@FPQPiWl0Lb%bztAH5I^r6)#iL9%s3%tFN9Xbk7RCzuZmX&FWugB>75&b zx@6Ge&Ff~36YQFr6#MhNOtW*Iva;RpoF|NV5Lf*{bH_&&uO8k}N?`Hw;i%9I2uA=` z7^eK)?(=6RSj%nrkm}`!OIP(9oCB8Ic|nPL?TvRT3qHJQ_~Y~+e)ycKBPW@z(mdvx z`{^Oi(}q#g*ET=nRe&`KO>qra^4U=IJ_g&E-2UM~O1D9Tr-d;;H%Xp)lsy!CsynqO z9)hLifQftA-C;a^NF5@)m+8uVL^_MvH2YGuy=LHtw~b2x?x1208UWPdgDzbikW>Hk z>GrNlMd@162mRNTMeS`o26N5h&XLxa7Yn3WQ(g6&%;`GygbRU-cfLEcYTJP-sc%mG z8}}WoZ`J(VDqu%Nwd>)&^W6Nf{1fN}8=chEuguNQQ4j2SH0robVV9m)7d}`aoVwsu z(&6@&7Z3h{q6Ce}m{4CR+N(GX7KVblpp)BL_uBs2x+@8+^xp*QMnMd2&C$Gfm9BdPp*)S(x6}PmZp)2VQ=8cWw_{ zI&0fBVULPMJ<4v|s&tEot$tFGw_(kbdzqV}SDm?i$Xu2c)jSqm0-zw8H9v-c9{7y) z{La9sL^0@S8NTUQ5`;r4?q%}y%`w3}#=m0g-mV5(u&$ieY*p1|zE8)1)mG({8Aa8y zCw`MhhDz)DCc_t~Kk@kj02^_C4}1b|e+5i}1Z~-Om5Hym+(<{1P_bX-Z5VL&Rny5H z6}Al39cSLIUAt_Ua)95GRv)%v_wJK24lAzw6UF(zd;znbD@)Na_^CM?n66 zt1bw3VI;J&85?k&l>HrS7I-&X0(@t$9zqSwDO}zIp1NpxR~+jIXh(B~cH&G1;7s2fEiw< zff>fAC&2+A3;lu0ETrNV0mG85+|6eI zq-^R3;>TMxH8p}vpWC8Bn@(GOxS&B(P_WF{5c6IK6x@J`vqAw# zxAFR{;#nWx-vq9>_4>4r{Lq)@hV53B=f&R)n3DVjlB2G`HpXYzw!C{VvF*Xly-Jo& zx#rcB_ZyXWtQAv~4GuH{(G$2_!w%7|5venP0SF5X_W;--)pfO*JEfjmTwFAlSx0@J zEbz&x&nqf`MLtNy-vP|x`5Fcf?qjO`&P6(EXHtLL^f%pe(?)g)aDmeEe-2l6m0W!r z*!t&*p!#(n=01;qJUmqZV7mbHwtL3g=Z}G>A6WM4{nK6R`Z#E1%ypKB+~$cDR8-ps z5J$5MM#qeQjGpkyeD_$&YP2%uLCa=+dYmI~&HEd$Y!cFwhb$0qlF_l=Fr~3f8{!B2 zkoGD-+G$c&`OKnC+{}*lJOk8XUE0t6aiQ$Gx68koULywrX?pyyRCh%M+L6sCfCmGF(IyS zb5R8IEnwa#z@u`^wN6&_xCmI$TV<{r%+AlP3mba^{b0#tI^(r;72wVnWB@=X@9K`5 zFXbHEM08{n8H(yaSW-P>bL$Lk6B-!k32V`9ZSRfDk_XXLDp+JYo&Lv@HwOU>xfB(JT*^ntu-rJIcL(BEzvTs&V+&z2%IwCKwnG*yT z3I!6%dvA!^tVyinS+7)W`NWN;mk-aM@n+TE+*CU(SAXQindU+7t_`@M`sD&6dtAYO zLGxSHPTsWlQ^v2|3s5Ns-_@=e*42J>^Q_zDr%7Sied}&*2l-`0br#GULMc)!NIW0f zaiieL;PdX5@uB4dYydR(hS)3cAZk|K>K7?lK8afg@5Fqzk|nQpG!J~Y+&5vC;&4D$ zGvsvQ4kn6&ervuQ(IdM+@xB_Qfc*-tFVU)};*&(}NpH_M-&_E|hs=57I{OvSsy=^q z01pngd)Mo+3jjz4JlaNa1+IKu9lwWiO z*E{*~O~ADUzDP?|(nBYA#u~?i395c534*`K1;v;p!00+T`*77+`iy}?gG^r!B*k*XZ^=9h$3um_5d%uV$?I2+<(nQ&+P>tz6su`2d> zSAgp11)_hlR3?*&Zd}Mra}4vJC2G2{yi?IJBrz4_SwfG;Hkhv;S#XS+U-X#0S=uL{PM~|ee_Zd`l z1Evsn_qb2EQBm>s0DwN=Yn*l2!l3wlkDmYpZ_kZ~#uVmHUhaner=NBJ>Zgq#KfW7) zfzYuZcR>JxiBIV%zOYL26GzUi0AVZt%=%wpq@3G&tcG$*Im6|eg#u8T_LkC+#@6GH zA14@MG&^UCz}}(_Kqen5dXI<+oruG|sqw!*?aca()rzS*LVdcxhWgZp$pWkBe(*BF zV{+WxKfHJ2{O>GG8!_yD0=czt;oKyIe_L@{OR?AErT@S&_RbC(3CD~<+A)0()B~Ax ztr@N=|8eu$bNSM%w1X4^*KhpYoznI~T9PaP(yjmq& z`R-O)%Vcuvs`E1w`sZMMy*CfLkM}l?@xN+hPJnsc&$aw_H>#vP-J7i_TA8Z2sz*=o z^CJxMZXfDD>xYHk8Xjm#Ed%5)3>{wpYd##4d2Gy9Tur_@79EJmum!$2wC`AH+OG@J zn5&Ae!C|nUXYmpMFfwXxZGrESs2tsNU3(yNF!|Jtv=-WoRimrR+mpyM(f$+S50_%# z$st7A_Zzc4z5f8BSfJgU*~nFi?#}n#jr9Lzf2%vb6U)I?GpMdv)or>Hra6ySAKSe5 zL8d~nKGR^;K6*KJU#S0tKHkw6s{Sg4iT!i23Xp`{H{G8ufpM!1QKhOiixO&w{+1Dt zs3R{TpR#(tc(ZZ*^|_sg@UXB!PBZuBN?2PgCEau85U-LQ3)6Or5^Jl|1?Q+RfDiYp(5&428FeKFunu5cI$* zhd(_8)11pcr^o>%j{r+wZDxJwI?LBPde6Xw%Hpg(-=T#8fOwaFlepjzH4F1@ZQ8*R z{#SQ1-cnEPow9vnmX{$d?Ww;+j;*S|!kr}4`~1G5t&@k8%*1$=Y?Nlr92eZQOk0uJ zRvN5}gvsx7<46d&VV2K&4$JCOo_ow3=~XgwsQ-S-snX}m#n%H;HV>0bBYPm6L7j>5 z1PLy8i!l(kH*AI9W06|Cts=O?cNiwDcUg28H+4tPN^mK*a`N78$$um*@vz8TK{iX=|B#67Mz%k$XPsagzo+}Kiyz($7 z&4KkQX&u?vRd}$-GV?|hS-b7;6u1Nbq#K@)Zv34R2n(itdbRukgsK7dQr_pu(Jedk zrYPS;o;tg*a`xfQ>a`7OFCNW&3ey{>->>IL=;S|B6@yA<9DfoL{l(x+ohoo(ukIid z@Mq8#chs&ezaQ%cjLlcMKC|1lE4KQ>lRtT%l`HenaLC&y^IFaUhO%6G9j08K!xOFh z%P&=?-CWjH8RN6<$J02k$^E^Dc^jvYk1U24C!f{)4)9_xCk%bv(beYOcC*V1OG4MA zDy9b63s=Eh0=!v|^x|Gj|=L!5aAHJt_y3_nbwA-CpUt{yq-$g#R% z5-EA6XQvz-)DTC&BEh$v=CDKVzOwb1^|xZsHG#qzhgH2=MC36G()_l5N43uF1*(;^ zc>}JaW-O=PeQ@gq!@T$MrIU|T%n^P)Z}#-Ah&)9nb!7XO=IYBaz!BHgZ-F)IPx~F5 z0KAt5*nHdl0~_aF^l6FO|CG@#pW2A(_@*y2n&J&Mns^q%;Fj#}DKqv|D?SB;<~4N7 z&hv`Tb~dwjr@ke`38k*Iz(RhJx@yedXn%^oguABVg`?w*Uj_^U-Sd5?YGGsaOiP=1$(HqQvTv3%%`>Ih zW8-H_d;CA0#KTEK%}-XGJ2$p_HLO;)-Fn8O*tR&&A#PN%KzQ$jjc`T zAzz;v45b}6MbB)!b?B6Jk*DsbwZxV_;lTG&L*fcc1#B4=Iuo|ZIhU3j9Fn8b?Js9| zmahGcJpIqEI4I=rHvPHosqs6O7Y}xEsxnJqzHsE?Fi+IR%b&x-rh3LOXYZCM@{wP? zKi)mOp7{?Jz&V;RzVm?BA&~0xXV#7&)s$f1(2iuKDh6zNko|bxv2yR-!Tv?J7M$Jz zXXB^Q?s7noS=H<1_>Qso!iXk6An6L=l6(|RLoWxW_*BOC^2XcM;ZMJ#x(8Q-eETg7 z^M2j?-vF^Q=IOYS%zr}N-owi~FCMbPL5T4DWy-}41oC3;&IR`O2e7{%SM6?Q-eCU;D-S5H_?Y zeBpoM*TAQd51hLaOk?|}X>^_St9Sol_ov_S;t%e~v(L732q?*g@zbh1*baMqO0WV5 zq_6j+VfVXTA9mRo?%p=e|LQN8XfMt#ROg6G9|a=r)#K_8t?rZy-N%4{TMi}cT;dNu z`!VlULYekc|N9Mp_1QJG1J$4HE#)NuK`&RX9M^$Wxmj+5%hHuuAk+=Y515JvyghKv9fPwYDn)xk4wIRcdnjB)$H?#Mek zj(E)8*8SO{v}I{Gc?D-)!%u>MxO;gDFqG%-CuMgWykmUe`$QF%0!A$1?{<#wApI{Z z%NEdK&ztc^&>>0Bt#rdvPmT9pmM%X$(LZM=ZvOM`*W5qb+K?U{$^D`i-`nWg6p}LW zB8ayMzFD-h7$8URMR9uCz8_0CLpp1P`#6y2mj|jkx-_=+b5sDHZy>+hm5Cr`|C>`X z(>jv-dAzU@pmZ9yUi)*08EzYMdDXzOeK@ZY?c%fy{!dpzQldScT}(GrGQU?_e{Y0Q zf1|2&wIQGYe7%kIc+D|)_X&d`ufy$q@a(4VQ1ZR7axnMUDv*p#Eg_*NN+M?;o9BMD zCi~Ufb2ZuBcOQaf^PdLHg$_IrT)W-TJEt^zwMK&2W&ja7Gv}ws*>4`N`GyD?3kQOBx_1@~5554x$ZU-pwCFXx4%vZhOWX zSr7lP=|{dqwv_M9x_0wyXoume}dxzFC<$ zz+-2Ry&+M#34iehvN{$HH1b4j{W-7!)BWD7pfs_nUQZb*kn*x=LR0A3O5 zTqTD1HEZ2;zAe*1_tS1T^k`*&`?H%@Mj*-+4Y<$=T~&ge@z$4H!LBi>!_l($*4Q{* z-1%XhLeX`Q;BUQi$=V?V96Q~0RxqgOgS<*^_gEBmr7N`G?Jz*#5dnJ6aAnfgnIB>2 z@2oi6<%{q6s#vR`9r(04uR8W3=|dA)zH4cPmq0#dpkG-LFe+$iy81BaE*G~x-mv5i zzu#Zvl3>sbzLvq7@NV_6wR8+`=hq=W7bH_aQdU2z_;d$C&Mi159466`TZcd`2$qSn z3gt0*>#=8n+`QJ7od@nbvGU4SaBAz?Ec42L#@}vwUSGbs9pm3doVa2u{J<7S)(kLl zNh$Ms2U#=HkNpLrvcFeJD4w|FwU67op70ZUX7V;JJl`u09I!DX#QuChzyAF{T#$_~ zH+P5vpJ&g9QpzU}Uw=K}2>9l8r66(01PiP?)#k@VJKO-EV`9?%1tV(5#QmMSBS^4+ z*Oyg+WGo8xa+UXsy%$Ic9o)cY{XldFp(kVZWA6?V_o3X~07_1%X}10ZFQ4re+(Pwj-7- zV`NjxGe;gDB$A;2RG85+bBX^_;b%OaM)%|}DP?>9wvU?ZiA&P({`Xf2TL=d_MXS!+ z#=_+8MLAuSMVU~rWYqN=-g788+~&X#ud zB2XC;y-EhuOM+GgTn++q)t|Rdug+__6h{uNNf{p0DPnP` zI3Hrhl|u}QBVgx0kT7W7x~VaxiE)p*<(rv*H=!f!Iu_=e^)3TA;a^99BQbva4jS;v znR&|6M*x6yxu&aMC$%37HqbwK^w}kRq6=)qAAAXPK-U5<5H{!!Uhfn)kB-p5rDIcN z5DMhOEPw)8EX_JIUm2454Y^(b@Fj>nbSr&7w#Qz-obxAruKg?AFCRLm)1c~^ zoRO-yK{=HU1lJy$^TtBTec*P;v+UZBL4M=%0=vqd1L(-j;^buL02JTZ&W3^twRmN1 z6Jy%6X+Z?&jGan5KwIyg`R?V-gGT9tB5>#frK$GOs%iNH%U@lM4$d}fxy`XLs&OS{ zM|npFuB$!R_4_ahIaG68{O$Eu1I}#$t;XY^lmtmx(5&cjLoQoWCZ{U@q%@}^>g#H& z4BBvs+V z?z9i!tdQLR$Pm9euV@Cdxu9fd_S|kga(eHte@|ZH`F#LM=g6I6@|cPAzZ!!!C_+kF za|h_^=Y)-gbW)tRlZwB75)FZ* z0D3hCJFj+%BI_i&qypE?20BSEei=RI+r;^@4OrX$-jlx8V_j0bJU*AWmoNRmara;x z4$D7@-da_gJ#~=l@%qZ=NN`-&gl>PmJG`%%kwnb`aNE84<7@P&*Ir|Na&|Xg+E{EK z)Ui7IWF;e)1OK!B%%-@n7PzS=l%8-ad);qKa~$-UqM8#np(_OCqmHfy$Dt@2Jj!SC zxSr>3gHyzIC%3nqF*15gY)#bRGi$Sz@87>yQ_&@BiRc?UCkZoHA!jyfz+MAhNTn(v zVapq(XT<|o)>*H(<1OVg8(QkpdsIEtol4hTs3KqMm|sJ4^Z}>U6OVrvl@R2UX1RzF-@6I{tOdCM9-S)#N2jj2Y8n;Aee6FMS9Ad+>u~ zQcPaAGrB6j^l?oGwuiVK@;=9R1mH&v4?IjCPxmrLzfIjb^hrKhbsv!YZ*B3)P5LS@U9Y(1sfrj- zMATL8OF!FdNTTsmSQ`324NLUkrh1SBWP+elGb-t9zu%S`zyLGL>K1P6opZ>40=|>) z>j%;l*dFhIh_6Y?dB+wdSmr+s?h!Ip*L3?1A_#DGA+(0H!@2eA8dBID_X$fuT{tQv zryi&t-VnKM{->s5C871h^TJ^L;rcuX7}j5SsA&W6DJS%?Uzza91Lw{I?;Jj0+sd!J zw?y523aZ34;D5<4J2idX+{aGKeQ+<+XJjT;BLMiumY3U~-CqHLz!&$&p8&ug4~VPZD~Fmoe!5$C13#`2@YoaV}jbhVk(X4S15GkP1%$4 zZF7MK?eS3et_c2W4mY~$)6-_`k!D_f!6@7Rss6h>G$s9aWtQF8x7ZwAxlHl#{p-d1 z-!@cL+{_M0S~cNyquW)bV@@+}YdV=cg>g(HuXRmIG)|71-eAM#sb;ViTfoflBdh6I8al6(- z5aW+`j?T~&7lYU(0eJTptoBzdBY+jQ97z6f;EcV*YLyfLSS)-0HyDs1YzRp;iXmF^ zHBHE8+^qpiU`xRICbYH*z_GuFQBR@+n_hxq5K9{E=db?d*0qy?U;|00;pXrug5W-Gjxhkl9g#Zxdc>G@EvH7P3yUtT zn^?R%n(6uXwI74qn|idfC*>8LWF(cmY6UwJ4%-Z_8(??M{kn=>RUr_yA?dEO@ zxD1ZiY#uu{a5blW(L`I|$D((RjW4Lf7uT%#2lX0%^O0m-tu*6F;jN8N{et3sRNdC> zdvFOHqt1iIncYwg!L ze0DN)NZMKZr+%$oL4z?GB-6V<7rWI1fW0^Md<;;0#3LwR&p+L1VKdFEq2m>`1CCpY z9xUO^9^UZqPumvS*)f|~@pZ2&rY-4_+;XyD-P2-L_-e2LaHmc8u?QfE4;B4!sa?@H z_1MO3r8C>xwY%pIVE@f0vlhMhoyL|h7(N62V;3!;|MJ`MAAUZx$du;SgnBo)>x+^M1H0X->XVI!duSFn7DFaf)Ww z$DMUsH($v=dgH?^Ta~(ESIz5dT$T!i>4DOW_SF7^y-0 ze)QNH|IpqoKmQflfv(S#gCkP!WuCY_$}{pSGluj@$*$g*dF8nyZ}7%Fqy88&J8X;F zJSFKUI`CSgBcLmJWk;rc;o)!IIrlDp9it1#JGGBU=-$Jp+{-Iz-85il`Ea*QzC%KL zzi1c%ew1v&cACpMKCqws+uGm1QW+NEUi5Shy2n8kdKYe^CoZx}3fRV$qnhW6nb9lf zeD^FJOn}f_hPXgwd!DFCleX#Hg`Bk zHI7b6P}s&6?&fSDuuc{J$zje@a^}eTcA{tGQNY`)$=$nr6G2cqhK%GoDwbqDV*VrK5Xd}$rGCZ(%)SnfG6%EFm%aomu5nQ4ZxJBNOq z_~%by`QQ%IBL%txt(@L}2cp3mH0kQ;Kc`0NoM;>R%apxzFE*XF(J8gav8UAK{@wfc=bz5H!wQlApDUQtUYM)u z($W6A+n$g*94aNAZ3)AjM$K0Ef0>)9jl`y?mP@6loX}PN@wxNMEJQqKbm@X(cMXC> z)7K57|D46rzn+@GF;(}E{H<_K=oci#gY-PPo#UoXa&MGiyEr9c`kvtZg6gM#s(6A6 zAHzHm-sbo`=_RyAOs|qQ%dhM`ReFft1}{_M{Yyp{H-(!6nfb2b^p8yy-&PmtnC^2u z*)#`^kf?~Zw6wHI*><#cbDTIq-(I!DIgiy1QMYCaa?XEy}JI1Rk7~(qsNX4lS zm~1Z(LnrB?8|1nxf;GQk3Tmhm(w3rUIg)>OOUjUb@vy?~zixSX$xnz@uHj4k>*``j zG$$)(M^6=(x)_%?L=Z~{u|oeVoA*=?^!Lx*Jo&cHeY;y%p$9apb7_)u%POk#nKCyW zuwLQ(Uc*(ymVw((4SV@gsUV#$h+-Y=Zo=T-&uL_=;tKgP49cl0A=&;&xwzl+DZ*Ol$ ziBt3aMA;*gdcncdv!uBs$G+`)Jd44vG1#T>p*BeWcR1yd z*r?F3CcY+iqT=$W!V3y#5+<@JtE`$k?(Z4cAK_xtn6vuYU+!t?hO^kg+%@G<*q4nF zk;YVK0DP7-kDlj(sDi}r;0+Ak6N0-F`%f1|?{IU1M6-@gcxF{%hKNN3z z&RV!nA1vT^%#6lV)yLC#jrjIXg8s1FEh&z3X=1bHbTmFXy?n=0!VT5Ogsh?qia%z8 zGp*^a_%nW-;ies41%8AGm(`-Riafa%rjLRux&ABcQTyT2eecJg`y-bq_MKpO$bI}T zr_hIZkHZzIGR1fgT(U`2#M7T$RY(Tj7`(x<`|&$!#Atr15lov7RvEigV|xax%ciT|!9 z(pyEZj{@wOaHZ_CH>im zAZu)iH`$jpU0=8`0o&A7x-s}{Pk+vwfz+;SJlGNwyQmc9k}iSPc0SkZs_myLDGFkv z8INqNyK7NN3HE8_!EMg{9~-lzY$`%T41HoLPMo@Xs*>M?%KSH!1H|=z{b7{hU!TXn zakmgNERkWSCJ)>cDBG}ni%WXL_VgggPfVBFpXXqUUI>tQ$wgaa0+3UQ=K5JPHr*Nx z7W8GbjCf&HutAUw-5fu)+Vs^>TLOs>#|SRLTRNZ$)%VLFPz-)6_CgpzD*25TbDZex);Q~n zH6JlkA;B7WcP6(FTly9GQgA+Zg6Fmm+W6rkT-2?_497iaKaBqyVZ`gfCNFp>=ZP%c zET&!d>q!+C$JpTU9|NCkE@0t`iN5H$L~PS#KV3!Z#23W}3%sK#cS-x@0uq%Y9pgnS zrq(}TYkH2FXy3w4EgI|$*UlVziJH*-I}}^k5ZiTdKp4-hvVUSGig@8!Y*VV_Fvpak z`$-6kR-!*~{k(>KF_VaWA#=wkt=PIl24uEGtdCuDysy$lQTgS~9nnL#P(S>_us5tASpkgw185h9Z{0aOR;#(uP*k*0ewNtXvfEB7@Ub;Jp^N4UzLU zJST+U54483uyxtgU=ty?KCdMi(IGA@1w65>*H`GO10m;%bWG9OeK0K znXAL&9Y?~JbQwMS=7bB|2q(5&viJP&_NcJEWBn?(_bsc5-T_*FKnY%) zK0FDo55?n`Br^O+PH}v^-0V%QD=H(=Vc^T?Pimx?(C;L$H}zP$Oibofh*cDogW7$o z@!$b>_6a=pKerc)NX*)k7Js4{A!lM0#1A>xCM!9s&{Gm(h<{&mE+OBfb(l>CKEvWgA;R*_( z5Rc_)`S1OP5n{VU8B)Xus>SDf{f3 zr;2+DAAVkEh;|JE(K(=8rhe~Fq_-$P#8f5#ZP&i=`*YN+>>IYYWKll!^0())-U=rm z8qdl!myx3ELljlp7o|Igax&PZM=$#2Dex|)zD%g8v&uzrYPE$+kj^L>1I|J=u)VE# z;-0qFC1 zkE}`5n}wz_2BiV@yGB1Ux!7F3`H(QtdIw~sKoq4k*(|sIKg&gF!*Zf3B;`NLb#VT? zjBOej1#O!^BflYphQxj9=3WpYM~u$Fvu^aKyZukMo!+g?_A{QBQk0n}aK?Gw!`ehd zTJ6neyDtywux(&wn&Y2_oBr{43k&=w$RHlVjtprj*q-#^en8?kdQ-+rH0{NZDr$VO_n7S_xZ$=Kn5CoI%9K z^F_=bu^DFRqO8Ea=pF7)o!h$<+}x-6jZKpX9}B-2&)ZDtTO}pZHiNJ>8wBktAZ+RS zP|{ztzZuq@+VU~4pXXjK2h{>3$V=P2s@w`x`Ol}rzi^EZKp$FtT=maZd(rzI;1vqW zRkA+}-BaL4ENKca_~78SXozNSH`&%oLy(83Z@`~L-O6@8e%V)(EDZX%zm@znr+=kQ z=8zDcr*K@Ntt&(0sk7&Q17;!tfRoqHR{c>(XOu3OHdDYNf-iQg_#qO8Ye!9cy8V($euf4^&60I-X@+ib}SHD23ueDTp%>9N?I8Am^ z5}E#E`gD|kZkxSLEcLT={oU{oLDjB3vQbWFY+^C(U61!{{^u-_qm3;FTNv9Kj#K45Rd<-&gjkPchy>UX5Q4OcKLQ=!h2 znoM&q!jrX&*nM$bE?JJgW*TlD0UUk&xhNMz9(nqF!WoINtr5nU4 zU!U&Jw4gilQo5VfI)*#D-8a5($bWA;|vJ?v|r%~uz0S^DgSs1S#PLq(Nuj1OO0G~Q_N z?HIv1cuT#O!n~>0D$9KvS`F&)^$R=q^8YAeP6biz1ouA>ou~O5z^Yp8>GqH_ zJlt)|A?8gE182{yA^uHKc`~d`H9`8dM>LN)Gcl zhqM1I=A}G%$>b8sV|eN$SMdoELxoImiqGCSC&(>ZmIb+K1oV}9**`6P$#D@+Lqf<2 zi5mY_UITL6mq`Y!<*Pq6D1llM8>Z!q?9WS~2NtJL&unm97 zdbn+)vp9{ZJ)ey5aiUGRuPtpXZHSjdM`c|c0-3|V%*25PDt$4}=6+~q(~DXU@k~bm zB&I{d$#3rMd%q+Ti?UdR0Q|G-+5{Jb=p<&s)75p?^#d8|Ti|6n)komZ)XtuZ1($|~ zhF(?${rEi#1x_b`6$RggD$J9A?z*`J%@(C?SBZULHB4>Fji$)=Jk=d!#;fR;%Vmsq z-Nd4lnLOh~r_EJ6hUesR>u;uUc1c5`b0cFUgCD@3I`#aK-b0oD8%z@2z+*ame)ehc zd0TWC_@FINSnk(H^WT3`c=XXdzMWo~K~wiG%7~=ZUxKNLL7me1Wm#*8$!|i6%wrvE zBbcR;u`^6SLzxSw+`rh##0?RK11bb8-3EW{Hp0~(x@y0$sj>~?c>*c(9V1;j#O44^ z@`oy+CfkZKxkP^(yJuUEl5c`C%)F4VmtGRbB~O%N3vt`5pVbnszmcW1w6t>P(b|X* zaRNF1wVX`ac?9b8eZp;4SsL)|&6W2>g29OL@Uw4#(#JfgO|BLTF&@1+-ZzorB9&La z;}`ZcC`rtOmZGu=62q+OnE2oXcZ502e0J49_fl$z?=~apl{7 z?6C?mLuE6QOa|!=1}e3VF9rO2Pjc$+{Dv5PR<@t1(64-|%`x2-$LhB6eppqv#sPXY zDT#D&B)F3`~DRiE*lsu&)yv>Fru*NTdtFI-3 zdD94!i;S=To#1Q>&KovOi<@+=Ffvx>=&$_#pzkG9*NypJJRX$#47JOl($8 z2L&IZ-+V6?b#J@|qTCvvmE?`2&6n=IdZXm{+D*f-O_rS+SRNpI5J{*O91TOIas6OG zzVkR~ESi-r3eLdb*(K1M9;dH^5A}4!w>iDo#44yhvmQY2ja!Ekp7z{;+zPYT?hM2% zM^xO05|75~aEq~bJtCM*SBm!MUKyvJc?^Dl(|K!~^V|lfipWvdDeWZ3FW~WH<=y_iVRP5HHEV2B_u&G&vd->S!cu`ni*ALNew25u5z16{ zD1w}#&uxHsrOjvK`LEFMB)9LanE{qranTradT@NO`nzyNg;thBnFk=+H+CJ8Kq>i6 zaQ;swL*xLXCiSf;`_#f2pt#K|;LTJxgB!W|EN(?Q^=CqRJm0 z_Z<0bmH2mg28mEv0A-_Qs>Bp8$Y+!}NW^26&PbwQZ`xJ3m_G%i{rxo)l!^FLKoVgOQk^O0Yy_7KgH zFTEx1OuUYC8Y!u{TxMdqcLmW60t{+X*GWEQ_j7LticdPe^hJBbmYUNohGpuvGI4hy zCwdY*z5>%|cJ6T%B-hs#)-W1BWO4E%|B_{6#Qag3aE5FBuWnx0VUz)UX*K0j<$-C| zKJDYe3cf=9la|6NYv-XCZujj^p%1ZtlpPMl+l%$3G+vZBm~>GxMBFcQwZ!l- z-t-5Vr$^gPK4jXbSFR04tB0i@`#xLxtB$;$PX%QoX-wZAYx>N>t`k%RmvAHf+IuU` zSN{{r_#y^F;(EZ+eZCV1Gph1wMg`t2TBE8a0`Oa~ec(lk1{9~|dCGY8q;~QP5s@t1>OkCv6DQZykE`7~nAvQK0r@>3!IHIL+|K@!~Y2g+&q9cAG20eF}M%7{OYR1xM`myv%v-s6H zJ|!py%nr$mlX3-0{(rKwrwEiFo-4ByXj`*IiSHi&`S!}^tV?oq@C5C2I-Q9WASbr? zOglI>e1XK~!JuLAzUe|4R3LVf*svu8QMTXvQ)gMEyeqeF=<6UMnZ+g+!XE1NI#)kLGp2?)utbC;nFX))& zuKp|PzjLVj({4jIMY(dr3R^;eI4wmBkBJce8VGQ;(L+&u4f73|+c+T;fEq2xlSgjl zHy$g(c6C0Noa$}G(!JuXQ~g7y!5%gx9A<`WV5n*5k!NJqw}@g7g1s+-Ey{`(epDmg*Wg_U z-9{Oe;Vn#VCE0upSG-f)9b>YJt*cl+$?=v-T3xN;_^O;Zj(>t#h`qrk&d5?0H7kn~ zvvs$9y zwPq}@li9{lN(8R}9_SEjDO#P&xzLtyB&Ho6*qM>I0vyFmPTl4P6ALby^oFMcpnan7XGb|Ag?{~gFj@nbXtx0pNnGyM@ z)od#GSKk_i!Ru|BN|sx=5lIrx>-9##0uGy^8YkklXL1#8ec$j2ohG$P4PT!FZNF3C z;o-nMfxg4c&8c3s%zTQ@EkRR_89Uydcbe(^O%$kA(D{8R+Z3%Ywylnk^57Yh)3x~9 z!DJn~y~I^wdt_WR@CBc){rq$g~JE{bamZb!J3gLOE-dxQ1% zzmHkW3DYamWTh9wHe3iw^So28*ctjWrB181?Ry+SMEHF_*SrvKJ}gd$AUb!d$FpJMI%>L|*-1-{Ut^Ym`9eJK~G3iCGfZK)A1Rv^rQ+V&WTov{@joS^V z9q|74Vi-gGU~DJ#b3skDJ^8XmAQf1-0=f#L#n0q+fzYZ^+>TwYa_lNRDxj;@2d|D4 z5R|o22%dBsEooL4sNZ7}6M8$sW2RHQlMwH^@AncH;G8@Cf!J_fZ4qJEqL>3k#CFY} zu#p*7gc1k=TWQm{H}fEBy?*fp!x;s7j+#+^$og;LidP^*@|J3GS0W@=Q3|{8k$z(V3Mcmf-SEWW^UATM# zvjXt@-0P14aluO7*Iqao-cIR%I^TQ3SZtGh=i#~Zy!SO71?OQhPR*FqCSd=J=>YoSc@^A<%y%-Rw$Gdqco zDlaHbfx$ep+DwcoQe-h+BglWxxTGa@ZP&lHzloVGy*rgHV=*2eRw8J$Z2H?!AX+_k zltzDN-!MdN+WiHhB_*C&#I+Gv&_FMxObo zCX-r41{Cz(lATeJ`?EP1+mU{2<)y^M1Q90(8}&Zw@mw6d-`f}Y7zZIcT?K2I;W&Vt z(>9JgBw?VhRTOV8%DVN)+X? zMhgy&?LJXtal157C(dt)s}=&91pHvI+)f1@I@592R2%lEns!u5V&8UWRkwN`OuOi| zc7W}iznkJCBuk2LjH7nW_r>I3w-DW`9if(Vi zwvG%7e4f~(jA@r_VN_!nh3!XIW0kVL1E1wj9F=nbb{FDdwIrzB%oJdS;-0;0i0d?g zCP#Au^hh1?tU7i3rMyk0IZU`~f5K~p6T zGEkFm32!Doxd)sDVmLmRS06-%!^iKQ7HJV9rU4)^4jI^yMANqr6L+Q3zL8$Um(CB_ zJpI6q!3}bPU6TcDej;{-$9_$No!i)REaEV2yNz3_CI1Q8QM_;wf4HFflCk;$btu{F zRPT!~H0Ebw!Y+W}|A>2?r92_M2wy`)F`w?n(z~wipPaEE ze#&m&#x$uP;WF|uTcWp397+~u=PY)a{2hPepyRojYuMwU^g=fEo=s0|w>^;upsbJ| zFF#Wsc8QXanai7rbGD@ZC~2qYUr;-H|^!u1CKU;_=X;rNkrZE_16 zW3_ZidTB|@J&O}ZNjw;QE-Sb55j!S%TZtq}iP`F{ z&1@ez|IHIjgp}Pw!xTMxLFxKkeS(g+4x4xpS6;voG61|sDG72_>NftJpAqB1C{xxp zdM}!umg7XZ^G>$~D&7g+d3S(x%kU6>wZqnWRg?0f&(L~N-LK6v-AmO{nf&D%Y%&-6 zzD(RU*E{vlcW3cn!p-vzMs@0msiAK>kGFY~;#_Cml9lh*oS~SQeUW>eoX_ID2bGLD z-2rSa5Ud76zoQ31lXRh+vK#MYP<|twscbb6&iuYoTireY;38VZVV4)rb)F^%2;@pI z{a@-@w_5)rSyf==KP9}~wP?Ve>SsQCy%8IedS>od`R`A6Uef8s4@;9=brrh@O6ol- zMmyNGi)!wjm~GgBytaJ5>ihVZyD$=b;M;FkO&&pU)s@-bA2bPY-Yw#D8*nh9_Dt~C zr0a!Id$B=yU)T)Q&tu3NX zuw#q{6~Jx?0lf41Vg4=&d!J^%_`jBmb^ zYI*E;;8ix30d=2lj~J_N{bW1$ z-gehy9{Oxw-T9q|8g&lvJkQN zPGyWOMC_P@aAC==afh~Q@?w+BqaNERAW7X^eT+bboQ!c`U-Ox{@t9^-fnA3oLThK@ zwJMY|d@Fe0AtOcAXQ&*nsP62I+RvdDsA&BDDYfb4pskr|W5axKy?}q}J?K@4$vkiu zuavM$`Cg5ueL=`bQN1!|zI{4!ZvfRsHGi*=5|JpUXkYJO82>nhbgQ+P4V8?Y0jkZY zX#I2lW2?}7(uDvA*HJ0JDfCplC*vodOj|Bx+U(%$`HQ?MsRH|hSUu3&Pf$~5Xg=U8@>HS8)7HMUQqLf!U0N9AI z-3;g&?&r3&NB|yI(Dds9E?Qvr@jp?>{|)#hBB)2zt>61gyM&Wj7 zPzygR7X6r+$iXsGg>BvR2_nY<_uXvH@woR<65zpnj*A$!_2krc@iL<4#lKv^ry5sm zG+UHa+&$2^;veoGKS5m8*gW)}vrwfAEbBqYvHQQXw`@lpWZ5k|ybs^0(=9*{E(|1I z321Y6LlNGaXKQ%O9kLA8aEhneP6{t-f&&sE zZ|P#Y28d0qb>=w|CRKWPH}FofNfU-Cn0TE*9Dcn)&jI@9<1S=%_O7Tf0Vh)^`Uvw< zk}vR}h?ofouw)L~uhawjP^_iYUx!GfBjChr;)=z%3oQXll^r43Xht~EOB}?|$|7F5 zDar~10<9CP4*{p=Cas$^QpPszln&{aULSy9+162x=P0(svruha4o;a4%l}QRH`)q2 zx>??*cxeGC7e?Iw8|9Z~qA&=)w~U3jA2TBEa*;CISDHNk>9JBJ(Ah7_e$Av*h!Ujz z_zz#feL@8T`+^%-7(9mti8yDdQ4$wwl-Icp_xxo>9wS`K4mAVYh3|186zY>-`W&St zc9&R)*o5Ks08xqBWF;~@6T~yf2jwXWZ3TdBP}!yuzA+d?>wwJa4-viqPMEEbmJi8R zNWs*Vz~XI9^svv_ihrpxi!`Wm;r*D}h3ktlg~dwmn?gGdG-}-4hgo|HrszPW*Tz|! zeFSPmtlS&qhd1DP*ao2n!_V8*gKa(C3ux?GXAD|yIVQ!nc^Ntls$2zvGeaKWuZu{Q zzhUaa)`f*6kuq%57v+U;`@K|Q9O%34Ea}`Qcnovuh{uIx$bvKFc&Jj z+(n@iAW=c>R&D}NUChvvu@jY|*!Der36W(ypjoF|nOyc6{9X@;_MM1zrB-f>?A%-4 z?QxOPqs`Kn`b1v-RlSKt`e;U?yH_r08{2Zt0toH-ueaJ*qLJ62-SQl$c85Q@i$U$U z0TZ4QCIcwcl%=Fo^_SQY7E<8_XX_tDpOwR}kx1Mm|8z`wQ?e zPqSq~7_}Ncs=yk_Je2bgbeU zfbsNn1~&k&w;bF0Jl5BCt8@tl70tZ?I5!jD0O~`#?%Z5jG!@nN#}Ii#KUbW>&L!ZS z=E(F{UC+18F^^>&rB-~)wkGsTflbwKHPW2qEo=IgNS81z_NQipB~WIWz4ldfYTv$U z?n1D?Tqc77cqjdynjBUm6%>)B6s)4(1huttgL74UBrXqC0hF9IkOx*C`J7excXN*j zWYJRezAV!P)zcSgfu4rpN9Whi55WtD+N(rmbq9u$w%eOR$I9sXT&oA)y*o$r@dtDV zcCv~XrG$kvmjKD~J<~K$)uO_qU7VhYRX1E8ebBrgS^l<-zHTqae^Wx1? z1;enrYxqu}Fz~_)2fH4Qxf~^XT-e51v*}>&H2&@%!DWW0IgMZPOnRtSdc}fI0jB$J zCrqq|@dwxcbi$Mkgx|k3`jq;BGJENCSdJoT~l?eysAs4bt0M=#H#bF810y#{gY6y_O( zRK_Vya;x07&^y?+TxN=TBTh(~s7`VdAspWo9g>;>RI`7fGYnD>ioGA1wP185qiN|j z&O`cmGrazs-w=`XTSZBUb+oTyY9Pd-sOu81CFwU}xNe{;BFJx9(zH82$An zaiU%u3#GS{{Y(`F@hRoBPB2jQ*3j#}kT>IS#q%~~iQ!H7k`=(rIfr3z{SY9P^;QId z-T5+Z2N3Nwenw2Wxf@!HER}KK%4z2y@c4Oq(J4TyWY=~vWtY0pBrE17nO;3%L6Sqk z{VPY5v&<(Ab!g%*W=u%4UhV4NahaD)l`gn$@ZS+4U@GI)GzAuTl9!NVrlZg**)XxAUp!q z_nVvxJfwttAHIFyr}l!6vL`v}{l+KVJj4x=C=$AiIIV5~GTZcD?8X(u=S%@_rF@Pp za})6h+fkyj718shwvWHAQj$;L zK41OEQWitQXOOXy zkT&rl$??J46lK4|j!~zKIZ?;iyZQhaTQO@ob^4CXiir!r(Hq&|q+w`ZbNKCfmvrs* ze>rMJP%X;!r+kZ+AeL(b5QQhF3Vbzw>M+C4NnWC9fU8a{zd>%KtAqgivkS$m|4H7( zq3ie|0n|<2!Yv-soGxSj^YTA3ZknxJL7ZprQevlWG=iv zJ8zm^4@4_-ePr;kDsj;SYT&A!f32kq;isdI*6AhVuPjk`lhOu+XM}WJ_TbXb-C%Xu zuHtOL&#^%OjMuJeWdR6T%qx>}UaXt{TS5IxzCIzgyR?2eJ$p{|MBwsh==Lc!2^-af z%}&42_~b%>%Cq6Dfe+G+g22yk*}0%r$Er#u7T`YIBPj*N*vc;zccI)xY2D=RDZGrBM>hLoaGzoB{0#!$n^-4sh^t;%A z>wz>wtifACh*rsWpu%^V#QIns4DejA;rXRK4ob@@mfV2Gl7Vh)pa8O=>ojI)6uJVP zNHK-FmPm7wAt3z&zMd;Y;A6f)y=kgjn{V2jxwTjD%q!n0s1+zjQ;`VW#m)OTB*W8s zMoNjVXyOY?z}7-wr=NV@Ze7sUV;qRR>4+nciv%;jBOa-7YheZqPyGVpJ`=dZ!8m3f zMk$C@$+&pmDyLeY8)Xa60*Vk5a2xGnBc+1v+Y);l+CvQOHTkeFN34OD`To|}(_>4^ z!I?v1dMhOcY2!l7S!LMlwQsjb{m>)V9r+~+q1+JjnGLV{B1%d1bC=3T=zuI@Ee8Ne z+alT|b@)9Ocq|vp={m^k4|*g3p|8z6RS9%8EsW{qR!wqa1o=OpLgq@?C12Q!YYWez zXk=%=o1{u0&4$&9H|_4C1u?plF`9!XAh?Y_lp#6X#C98TWQBEA(%lX96)ojR_D zSPa@+#nYHmd;l?QUUx_Pwx-ZlqC=7+f-mry+*e$tf1_pKE(cTgx-6_nkt~cx+Vu4D zy)`c5PhzhjSH~h@XWu4&tu!0vJ{Xs+lSBxrdS(k$^MtYDTxjrS;_B*7+1F-`DCaNh zmBH5?&=*Auuc*DbwIi9qkG{)&OW1WejJ*ghoGR&mao57><{Y5y`}(TYP}yZjnV0>hZTD9C`ePv}}-T(3UH_14BuB zA|1z~Ds6j^<;q38qAPw@SX)G#07vb*h~G5jjs2?6si3N&Yq<(Dm`q{GHhW9OoNDv9NHXkwJkIXm;{?CA+5qAYlIW<3W5#~gijzx&BRgoHFe> z*@E3=BSZIIHogZ2R^+eG!!c+Te3C6@bS}JYtYSme$u^odLvti^X~#*Hq9Jz*1&pA1 zQBmLSfV^HwEfAafa>5bNt%Gw3nb>`ncTsADjFchCIbQL0f)Rom`4SHTU>VXy*{EiQ zpitm#=P{{3d7HVDqHM2$9%2|{qZ*p0=&TW4_J{n#1lXN7@ewd9`o`w%zeqk{9^C@Z zYy-%S!0bdsaE}Au^myanG!Y>JEa~D}3{zH+`{`y*1-U_Do{^Dz$BrY%7mGSy4yGRG zpCuYgc7~trQ$^{2S#qQRD$|noRfNeSw|%Jkd9SvWBGxdmOn|3uee2 zo%vqJIR8Fr%3p+(mW+-Ov0^_G6^kFQE(LDrFw5!ZVE*JUbR9McmfP>oZwmatc=U+V z;WZNJ22j|Y?&e;maAp>QB(Vg4mSnK+AhC0=Y;$+|&yNfj!}ipaRz0Q8;Gj5F za6`C_!!wQW;`crH08Bjc2ZK+VuMn6gQ9Eg91s>^{_`;JX^=Z-SLDN2<2+dVgMl~54 z%qJ(b6wJz7o}YMq&EPn4%8#JfuB9*lF6IQEDKkHE#P7Lw9-(WJVq~4B7s$fqMg<&{ zUsVtY$=CCB0e8M!yankVo8VfRCo-$-?~8SR5)jV5lJ9>hiqA+BnH@m+&k--T&jlvtFB>& z&=U6z?Z(%%ga|aXJvnjV;$kWy!~;@W)QkVU;4?{KvtEOW_`Q`aYistHQPlMEAkfGT zo9+0xXVZ_;-F>natnh1$WpaRjey(8c!dKrpclN?XvYv0GB(MMeDm@J`=(WsNqQi!e zd{%nBGzKvdVk>|MPno%PZu%Oczb%-RDK-ZIux0{daGU)}Aw+!?@fNj{?Qu-5GP%A~mFx`U40G}2QBW)HRJqg-EJnLYFZO~=LBPmPSZTaQi^E?iq7Kuv6x57Dp-kMeq zaq&tx2-TZ-f?XMwzG+ko3T)f+3f*j(CiqLj2wwS{emDr4LH#ywyUGDihUUYGWdJ@o zliQ7CRXAu8nLOgxeR%xymL3-b~2#W{G|KHnqGjxZqRmj%IWoIz?O?q))eQOYCH zJ!v26Mv&aXP1{bwlaFu!j`jppQ*nn;(-7fJHdiBL-(DV*`sJ|T0f=ftWHN#A?E2zf zSuiJH%kWmb|FzsRjC#u__9V#$pxj+C+@7NwdjdJ-8K(WD2?BKR&sCHleNcrbiOqoe zJ^)S!t23N=8g2lrx!5DcOIe@EOT#6EPJzVSiYpd^UqG~J!OV17Jckj-nG~KbFr_tYg8;WhI{lo|d+BixmXRe#dq- z8MOKxuwOh%qx*1_<-=uc4A~*B`(t7HY8Na_8>#{{(y6yJS#1TQh9pT@#4sPHv_@7& zaz%pyRfmGR%Xb(!AsM|QTExhPNQC0<6;S$y@AMW`WGC>{hrxh;y^H({HWq@K6xTdX zf9?*g@|FXK7{reF{R}Vcg#VC`AIyhDk8e14+R&3plUE9qcEOMjJ*IUh0Yf5fhQBkk zd!*fk5d>!P*`_tY%}6QMV5xJE=#Ai$owL*4@k`!oZgIl!f*=#sPs7~u zMvz$b>p4lAF3}YidC@soL%B+`!&|*CNFf@2pt0%VIQypZaJ(6 zFtQN%dcHT2j{OG5kMkhU)F|wA5vUuVfyHDSb8nafeoXQv%?qEX-(z;@h!m4En8ai3 zJHZw8%DbGSys~$RQ3qX;TbkQJJ=}emZ`!#z;Z)vpokdw;ivU>>@>r$AxJ|UAR~cw| zay=5(pv@(~xvoH6XW0bg^E=R^94al}uBKy+Ty;6Bv+R9!%0gI-QPdvX3vIL-NKnIn zh&2V!3BX8^IS3wr132n28N;L~#tLqhVSu6wFMN?JzYPXejYM6&BWk?{3E2mZg%>(NHv5sV=Eq~oiE2lND6nA=M!1kl zI8;dBviKIv3G}Sa6y7;{KRg;zH5w}8B&>fz;~@Pl(^w>(u{k>XVvk_SraQ&MAEUvmKQ-o_F)-$u}}j_ac;bCA8!MMk%-2{BLliDzU&TRxKN(L?YFZbR*E*b zi&t15pAvx-zKP}N5$APkSqV59u6vR@^fL2I3Yoh(qB7E825?Wu!P~%g_fLMP`FW4JyeS{ z{2y)%Rm=C=n~$8uG2RU_F4rg_VzQU3EPf;My_+Z>%<19*;Bf|`5HMeZMs4jvTH6SIFx;##bHKZ%9cZmB>gtv z+vpq;k9Y+Ksg`=6rXeIE_iHJ|%3wXk3ZeO`Xt7&(^Ri#Soduhwh)H*6T#q+<;dq@i z3}k|N90l)-6;hC+Kgj~FRt8+{?iW1640#h;MXVR=6CEyJ+u?|ZBSw0)VK~xc$pwVx zH=yGZ21%e0hS-1MM!JlVeLek^?`UINOekZ*74nfv$S^ea%g~w+56h)xmkE>aC2nz$ zj~bp9_7KnkjmkvXo&vUHBVagO&S{KI39(UWMAGJKr5TjYM>1ED^oVH11dXqXlSKfN z%|0-tIf74$`>XE$2tAfGro7Nt>VPz3C|L3^43KkJ*zA=zE+htq!)LVS2oggUVMgA^ zI2RYSaEi^!T&w%YP#hpvm-Jm-RXoaUYnHBqIX8OSsQAO-iUkozb|iq;U5TE= z8)h$z?qK?OmVbGckrC`D^m2^;}RXyA-H#i;ozK{%xxIsX=3?VXjh=5`K#bvD!Wg>slsk|E(@iyv>ZCci{J zCkI_U6t1`z$j^Q=0*DpVaY$MRj`3NPCEJnn_*xjGWvib zvkmBo!$9rXo%}siW?>ov437Y0tU`>75&RZ16FI?f3V>j8$})C;82!TcVe%IPaw_x* zEg)NfnTBp{=ns3qCCd1b{n$+-z}JM)7A{{VSSpdA;bSGE98X}IxDr%6f9*)mulE6q zK<;aZ3Yq6OA4EtKfWXU&rGaly?&$;E#>kHg3Rx@Bhd2rce%F|jqMg#8vhzvZ0&XuH zDQ$>R!bSqMst3H|(EI_1%8GUqDcG|f0T^B*J8<~J7{#_#UVS|$gG5GfA49Os9TJYK z7{9fP>E1WMzYt*2Zxti2LV^KkaNKL{eD3X+a*sw9_?;D~yUeMg!zp8gq@MhD3)Y=` z5o3s+^{)~bosft^9%2)Eq{}JgqDf%>$)kLb#x+*orZX8vS*S&bm`oZ`xz_C7GUtY*(vL;A!DOi}d0~sF zy6R>|iuIjiu|-%$+ZfuyGR%fd)=n?{y3rkwAj>BK49ps53Ve*~$qWQJSJ@tl-Z&U^ ztxWHOHc9{neGHs&&lp=h%53fx%9z|0VZ!$k`J_nhu126eG{Wcrv&hjXpiX4wFkEs& zD9`KjkOjN?v@;Hu4GFw|j!6k1zFvp(4|2nk$IM9TP&|b`4YG>kO3;lxD>-N>#mGq@ zM6Wm4WlW!Ye(kj zT;*BOG;x=xlpXdDlc($$_Fm6qPz@3aK`0!3KWyf-9r-b2UO|~A9SX@e7o8;LF#FD4 zh;v4PLL!8icSUnMoQP4I8q#>3uI}s=?Z#kC8X5whX8wXeddTYWhB#j7#JlCW?T)X6j6!akmu53L%4liisMWq z5S_qkKCSER@NA%qr(vT{YR>y2Uq#5-X+#v^6($Su3JO~CNxzZj2xqzM*XB6p-{v@H z)uO&YXU?od@%%2$FbTO|iS|XBT*3JRv|wLf-M@7>|D4IAI*=|f80);CH=4dl=GGAi z=M)1NB8O?;0_f&urF_P<=HzJH-OmguPS75%>qp;7EMJmxQ zX}h@fFtjU!ay+dns*@p(4kC5~mw>-I+YfqDW$0%QJW-sG0Jv#r{m3rLFqzif)4g25 zHV33(tt}g4`!0YbikU2$p=Qj28FEAKD}#X(@52?&Ja^<@xJ6v1Fe(x6dUYc2+{gkffvOc&uoixH5H}hc)siT~GbhiCnhV+-Bo`HhNz=~3Z&hF1!PaNj^I=`#w zhf3#x%TwiTwplcn0oAXI48SOeun zUZ_~#{Lp4<6#@0-YyEhxVdeoj^Y+x6K~H z&{*qBLIp7M*pMk`azr%*rjrkBUSvYNa)sgapZZ?Kln=3I(Ta~hYwzi~-Cg2Tqk+&N z`pQpDf4j&nT^DICt;7%)$aA#t%I@wCd;J!=C5V=2q^mCxYJ~Ex7Ga$brWK-iQdQ?G z#~Twex{qDz>DRKZ@XH$^%cy&dN#E$Ooc)p8kCiLzy^LvgTSsmNaBTv0H{`>W^s}oO zA(FC)ol~u)GXu$9k2rB5A!6DQOUuxc6Ro;mf?&YGgwQt5mb769DIQ8P40~;a7P;Vu zZ=PJL5gN|hZ_~KYulFH(rWwZIh4buw!|}CNfycb&Ac@Hd$X};YhQXBVk^*BBXHUz?7CDp-N8t_fzRMfFMe}=B7U^F7MD2*i{xgojgc1D=qF-EdXxny0 z2NE2x9fc@A^nj$w%Ybt*`teYghvX&($Z+9jDCg45<#wnXQ5|>4A=WpGr%>=%*Ehq- zGJVqQHb%n3R*aj6H%DmHc)hN5jB#c8rTo$~Mc{RNfo;u{S%FOm;C*+ko9-~KR)jmi zh;B`COWnO-E#9!4?t*I4J4i|Po;;G}4doW3y+>AjX#jPO1sH%P2P?#;YfCZUDaa@N z_jQXAAj0-Vfrc5w#NGL-XYw_t?|dXn2kv!BJy}PFp}c*)FfDhKWZa^Ts1RZY)iCq)-kWCq*L83MBx9c8ji70^9&RN9QbsA3{MgLBVmFCTB4 z!q|no=Gt2epYRCGS9}k|V?}4>=*lh($S6~JWw7x}04|{ZeAl{hK?qpH?FK%(^FeSw z1!VS7rq4ug_9#u-3)fv4_9@5868I+}CwnoiZw9L)kr~3ZcN7};gCA~-#PyJnGb)N$mP#uypfuMCa0}b}` zv3q-8VxUUcpb%McJWW37tKo+{B*6cx;%x*2I*!)5kYap{9pUAWg_WC-_~0ressE3# z_l~FffB(lhokWsxWJa<@*0JZQWJ{sUkS%*;WRHwOvR8N&N{Q^1QHe4`_8yU}ME3Yy zPu1)F`s4Gx{kq+bTQ|-*&&T6>Jg$Aet}A@4QBU6x29$KMke4e1k>EC!B4Nt=SuQqp zaooR;mFM384X>kmTompb+^*!+cFBUNurrKK5XcLk_w9mQrz=tx*tdHa%_qDz&II-O zNXU!0@akw?ovY3$PNWyal21LBgq3*8kC?)c> zlox(yny&|&w@^j1s$>^zZ>sA$1b&&$5$MBbYcF98ElClnfZx4RxD2@m5`4esf`D+UnKyB-ZusnSAP zN_72kuQ&gn%DLKoHki* z{R-BUEkh-t)%ao0@JnR=cxXBfe~%m|i{!Zg2*dpI?kXV;pcG6$W@BtK=G%p6f=G}z z30@q(3IB{9i`Weclgexwa|9+w$hBd+gN2~q($d`0l8hS=#E)g}O!4edDocNy#Rn`h zgwG$weJwR?{Tw_##Ky;QF;W zz8BDaq$(16+b>3vsSwgQ%j2!6wxjM#!ba=~Pi)9xhuG|**BT!W3|EA+An(v)k52Mv zv>Wg5RsnD~>1lDl{Wpvr(Gs#jfH_F~WWW)-jvWS#2@-iLPaP z@3G9tuXf2^YpB7Dq1}e}q_V@wXA15wej2WH=~y1FTqRc)JLSb7H@$aUDML*|YHGPg zh&jwU%T8`VLzZVU`AaC_k+XOKG(h5TauLl7cqp>xLG`8SP=m_W**YPy-H8UO2@149P3Eh%)J2)}5*VX19?m6sPFnh_VYvWIae8)VzIU#fyCBZI zqOdIj=2j(K7VouKUl@3+vpU&G&9x=60zPW%k2tMnUIdXy+d2NuDI~)YfIv>&eaX|cTea=o8a@p_QMq|%_3V< zo3!CC7nl3f$`pi58&4orxd9~m`)UR%$5&JhvXYOX$UdU*8?d@z6e1TP`oLtYF3%h1 zYLhDzYn~#04c)Xtj!@_UngY{N5rZ5%#!%0^$&oo1HuEq%2i%z*g{_|_94OeMJqB_dXK2fhY1l1)SjXO8e6%oJsR`2_ zy!`tH8D)K?JjCYu3r&3(O@5xaEpg|&)|r)vx@D88%^m4qVV3eyr*(aq&V`Gyq$>qV zxBzji+5BPX<)gQ}z+jwcd!BF$cF!ltE|;AcWzPcFl?32SCTWXDh^$UBdOs~1-QU{@ z61=iL2oo(zZ@mw3?xp5%CX&tm66TRpT#W4xD}46YfQr5)(A0!(XuPoKnp=Nk48y+7 zv6H8tC!K$m^2$C+q~XQHS+WkHh=`L2D>40$2uNjJj9$ZMR5n%uNkvwXhSS#WBZXgaTzb=?+|6;hbHmCQ32>iLtzh=PqQ&Q9>ry?FcktIy*~`)1sAU2PUE zgRvhsy;u|G`eb)cytiNez$jBB&4_t>THKkn-)3djl~m#0hLu6iBn*7qNY(A1DU+r) zqM_u_7p0y|W_^z3Kr=<(014YgN4o$L_UDyxcjYI^8(vS6jlPap?*<_^8b3hp1NN4m zE%xjF&N69HZNGp`FVEIHy7ITCleBdwG_jMk+Q*v*#+5~TC_2O*Mb;^4DWRtwshdT8mTmx}+@wc*5LAbiDAWj%J z^ktIXTBUeM!4&~vpiz8dQx5+wKU+X1PAkQX7lXaBfJ(vgLNM@TU(U9_&intt23vnW)j} zv1?(h`PI(kSJL1+2NjvF_g%AFd+-lyeEw5k{Vo9|S%Tx}LFffENxRzAv7m1!`?Qzw z(@po0>%3lzmg#ffzn^XVNhI)I$!cmyvA-6jlh%PMiHHp3=&z;6k~&{ zW?Hb$`@3ewagFs5QCr*MrhN-_=>dW$pYjueOYWGl{$=*(xe1;*&z^D6j13OBV|H|W zmceb`$o*tj3w?>yMMo?Jk4+|*bd&wKM!4F&PDL2$p(>DGwcntoV+ z5C>k_uPqmnhsYa+E;CX0T~qTk^uJ=DaEj^UN;OTG<&8X@v)qpw9`T{5G`W?opL5@S zo%J-kz+3#jDDwR8OkhZzR1^vT_PojwP!3YS5~P8{mw`kJc8+kSkS6LCo9A%(TNMOPO;#TC#ih3|$jAvR2VF!tL zlgVq11TApN3uH84DV4!4j}@EBB!GA(`zVAj;)7+V{ocru{>jM^;N?J!T{Km^vgqEG zT}>K$T1!T0Xv6bk9a-0`qBp`VU=T~j64UPU?f*<7|J9J73x(+-9C1?k&ygjn#T-?`R-sM%ytDb zIydLc$)XjQH2UI?J=fZUx*!$%(sA+xTvle-%Xw6mB&awWRJY2LT!IChfCba%lcsi=l`sprH$cdFkAwe> zR_)vdo6oBsLU^!l%15}ozH2hZ)j37S$W=L~1PxLg4`A};=g01&x|-8Q4aUOXv3=Jf zDW3W;pat2|3q#XY7k)xFj09Ot+lN!o8Kf7i)SIEzA8rSFcbI9z`FCukmn_0 zHa(PtObfgXyPo2HE6pzyVRyRwIwmRFhfPwkEs1=5L4##>`r?w2H5Q>>KFx7lJ|a%T z1V5q5E6{Df`|5rL2*#fE#UU79#RU~%<-2A%86-_2>2_GF_B8Rg7A4#@LayIF%c#3c z&`U^42Cb)xI-HzIm-X}g!P*mWej-=f&FWCA#^^6Y@T@qRm`?` zOzBKsv2+{qo9XaFa)?#`W7o&IueQjq9hMO_V+D2lckKpC zl*&j=y%@@xCKF$kIStpUh+zv3#3@GK&n;uw+g=`7QB8RoWCt8G3_7$yEo}?9Q3z83 z8h@)YizFspvAD3G04@L?3O_(c)W;4p4UNWxyTf-+B{f)X<-)_5TXycVfJ++dHW>R5AzQIZcdSJYmm=Je($e zb(0L~K*eM?46_SzR!vwMmOg)qYGv~x9sNsLzjx}_b@dN&Usfd0rq((=vS2*qG`1g6 z8e2JAF|}Gc$Hl-w{>^E(>aXBjpgrwR72X!}%?Z>&71EEzhf&H(PHKwr_K$*^-DBtl ziRQZXpGL)bY4Js0wTgS}D>&{rGQ?AE8FZu)t*B;im}PflIEv3Z4t)QS9(LeqOiH&! zn?Jl6FF49t_^_+>oSanm3E^$nr6=Mn6g>LC2V6<@AAR_}VgB$)qa{#on~!G#*iWx3y*g)8w5l-RgCgurO7R5SOxG;sUQ81!BX;BOM_ z%QLLegZ8?e-~p9dw54R`m&>|uD!sV9|K;xYbNMjS#^JYn=a2h`s5N@+S&R(RoXI~* z<5D0)Sy6>I6?%^J2ufAtCH9Wi5jgL?QjH0>Twq^rjHC~me{2C(7iAoMU;L|AAbBE$ zZ;bXTOI1FNA^d2#+M?Psditn zlv9xL;e*KSJrd2jg_yk&zK4{&@s#b#nl`3QZBw#y(?tXQHZWT*(foB`+bHxtnfv~- z;3QhyZIfPVg5=3s;HNaBPl=W% z`j;nEh2pm>+?KH8(7B}xhP^iL2c^@JU6!R>buq`X>g7!jifP{x9kEG3NPMyStIQ{{Soi}PBqc3 zsMF#UC3jL=)>HPDL?Y{cy>hSyxhNQ*B37)*c0skmEKXX`lR4szH`n2M0OG8h`NK`~A-}la+Z435jTny4--BrDozxInmcI#8ix>epQ zqprcl^3COqqr_C`Co+-?#UE?xUdFo!>Myu_ZI@g=A>-HO4Pi1D*Vkawg{6WSSP>5R zNG3ATfO)p_ajq{}Ia0*Q%gI|2^$byR@-VyZJ`qjmFF)EuuClUM+2L~~W2@D2y321U zWGVXWr9iDoH=dhSB?j`Je9I&CFpXl@RKMEtlFz>)UU$|38S?rk|*{*=Sc3YtoX zAO@>Ht_DppwDzhGHz=$Qmf_4mC+6_7q%i;RXY~@=Bu)LU#(|J_;B54R`R9%UISb+nmN7)li zn{eQXd-8RL^~JG=}+U`SbeN!bb|nl zYkWdh+&H_EB&!dOg3S*@h^GnLFC+t>fU5PADp>1+!!9!1lgX!#(X6OO1wF8V^}a_) zcNl}gH4}QjVNEIQC?<(vR7>_rI&yg3Iw`;-(5nrPYR_?avYC7u+2kXlyci+9t~};T z^{_vtJ~U!BdsP1a+s;0O!-f=XyYLuKl+2-!xT=V<-JTI!Kz>wIAod5--tQ1XQA&>N z4IS`|gsy-y(3otVbFA-LGST&f6PKl8v#o@!U?&6tov@&f!eALzp5$wX#;oX3*13mZ z&r-vyV7gu9^l$S}9^8&0!dDTc;C7hezdy8Ex0rv>$JE|9H?{^5WD*C2ew>MY*I@cV zFAQk_y+e2B&K+UO8Hk@;@!DAGso5AEx>_eBG9z&=^4h02YGIawXWs2Iz$s0Q11y2* zGe0bYgyrcG5IT7O(~7Ld$B=UXvTYMiJ9mrvB*hknsg3=K9w0&R-##_5Dzbv<2;7VO zr!eDGCX!BAxqQS;UnNPOygrEphOTyPu1x6{oh5l(8Kr!Q(%JIJWb*L6HIh)Wj_KdD z6H*1g=>5lU@I4KR#uXeX13>N55l+52zp1c>QS8Za*mg2+xhUdOe2OpcP(W&;4m7)B zV|r)5$RgQ<`$|ke1?cH)Mb;*NS!}i=qYqFDLJp%+k&Mz3tK5O}&s#(JBTpVi_6N-{ zlgT0hW;Aea)NqxinIpvT1BS^fdNFO@wX7-PX_9;Hy(1d-?76P(vjmM%%3KN6%}41^gA0d*1N#e}BAt5yQ30M$?Y_Y<7!iRKO6wai zVAu)*_HW138cdq@Hpb3)XUO{1_P&Ca(FJb=H%HKd&~t*f$q9`9w_{+t-+_FE4H)%b z7X*BVeu(W~iYf5lKKS6z?6w55eP%7lc#`oW1uTtd;E zk401XskMJxZnBSD0l5ixEI!;nrHynr(a812pi~9bPZTU(y(-t--aK6vOp(~5 z2Slz5&u`GZ(5vL|vYYRH^)}5dNt#7If-qQi!s-3`z_LQrX|D1}n@A^yQ`B=8+k(Jv zpOF7Qt}ui*>4Aroz|A#4uky1V%9rVgdVl;Q?HOQJkB`3%a+#rBN|W}w0XA$kq+>pC zvC$a?9Y1_0j!7P+SpZm#C1}8_0TbSPG}WcEK_{He3>Uyth4`JEGSiKfh;RccUW4Z( z^dbf~s6J7b24Cj!70*Uun&jg&40Wopd|BeqPJ}6;ux~GdAGq)pr&;cerBCIbGTxiN zEA)i<9IVBB3#QrYkK{{*#3qx)IH~PVHekh1iX(E4x(^N_1Y%~^G_(xxUlEG``R;b7 zGyXw14#zb6JD~&)p@8U!t7g0O`E;)inVmfFYn&EZlK}`h3OZm^u-+6A-Ad$yg6*#E z?nbxX(YiBbDxEvsN({TfA-frHV8&>F{}_L@s7^mQ$8&Y&=#!M!VIKrLD{KWrPcodd z^d}Glz;73C37CV7PY=9|N^Yr!Anbz|fTH;J?VC;wOpQ=4xLLh^{-~>L zA1|M7(R3+Hp7#5vyxd*o(=`yAQDW^#6k3ra;Ql*WO9oWRmjDL~xlXf@(q=6p^`rhs72pY4%+pTu(Dw}(e@!3m=M#=p4DdbO?O@}XPw1%ia^O)BXBOS59o_I%+Mz95XHIvZ$Q4wXFLzcOrtsf^3W1L9z`-Mds(NKgx zd-k;k9&k7eQHA#{muh$H?MB~-zqb3GlG`yiPub<+&F6{blX0T885V=#C0%#=Za(u` zt|?b1psCA>1uJj$#<>AAzYRcXEff}AfsxikwvU0WjhCC_xpz)&M4T4aNLXx){F>;k z{KPDFAiyJMv>bnt4he*(6theliE?+t-_lp)^tB&(&Lj8h~)RB3w(T%Hf`;{G5X zxN&$yWTyi1^YhE-a z2#V8}`R;88#5pz_roGbYescK%FR=Il!u=|&k9j?Bv8ARbnhjWr9bQp9)FS)mILAiX z0RNnk31caE6gw)Jq9eGteRIIZWHLV2nyka@oPn+Y)r#s3=APikVU{WW^3?FYa%4#& zC1L~t{X~Z;WstE!h5B!Ue_KOlsO80lh27%O(b3f9im52>9QBNSiy^Jcim{_?w*r%c zj*;H(%fDFw;hs4S1%)R20{P@Jjge0eUQ$b;a@7OU~sIaX=rxm!vKDn?tbR0YW9w9fi_gnWf$ONsKh z9vHS;aF&iQgSyTfDsiT(#{&HL<^X1fX=125YwZean0^~{?4b8$LG5-sobk!$raURE zIAc&0)W=BZ*1AC#`_`0~Z?pguOmJ!{hR3%oz?63JUrI86rkaSr65y*0hfR*DF9u#J&a|Hf60m7VXmjWE!6n4j&ta~x`@zZixjughos6z@u zQ6r&k!WtiITjE-|VPCm29rvf&y4=FE){mJ{2~IN^$|iJ@eM#JNFVFu-GchN$2mpHT3AkqOb4bqG=V^+sDSx&*|CYJ zA2nKDuX^`-ZtvNwtnTOy$y!0&2`R(CA~}5w+?1%G)HgOPYy;E^wM19T zxW-mKNW#O9I>p)G(WU>Cx~gHPfua^u|T9u*+goip-f@4Jq%G;K{II9)*IC#Xk>YnOFTO z5Y~die0D^31tste*n7m{Cog5%qt1W;UT`r9%2JqLQo3}={{FZf!Y}$cxjtAy4JxAO zNcIQU-diAlSs^D3#*U1Pq)7DmM$F=H7*b0Mkl88BAp5v%2fjhhhTiF&^6xK!^ppZ@ zZ`&mBGMQpZ{UTfE=jT_6{$c?l;??*&TQN%X4ZFV?Tn81IV115<^Yrp1e_J6Q!ox55 zLBz_O=0w1hc}oC11ui7ImK|UnsvBlGc;S)2ACW`GiRjYH5fU<&#+^|PF>6hr@E^cS z8xO20WW$Qlc;+b-!5Oi+d$vL|G2HX6>>T?Ozdge*?9tC18JwnLLk^3c;lix!$?6XAEs|P3^1Za)eUD z?bOIT)(0$wO&cRjk+i=4_b87XqNu-05|^0-7m5ioomAjnJwjJk*F3`#tIlU2Hg^(A`hyu3&%QSM z6w}vRV03T~)XLpc0(7K(jsT- zlm>^Q0%(C3fUFd3(aIAMEP?*)ouzN54>3~mq^HGx+=FiPCo)|%eG~4*+tSH+Z}RaO zRPd{Jsk8o4-oEQA)qweX`2bi0x1#fB+uAp1lsvdLXj8D)i42MR0O0sBL1=UDBoIFu zJ@}y$q;#oGU%rt&sE)4GvE7+E-(Nl2%RhKPef&<*&HX~Mk3hpr9GbIRE7SPdm+M8H zf70!^Od?b+RlArU*=Heg-6|lK9fz@3-Cye^IFxPZifA(aZ2M!c378UepscRmF&J}H zI;QqAe|_wDZ`*4_D@0Ns)#Z*2&8Q{$2pZ2_KyG_YUO zl?<6ZX#eq))vIdTf$g!)vTelg1O=H@3f%M*d4;AhLf~8G*C)UN$1xG0lF8b|P7+#~ z=#Z0y%pS$t-ZhLd&zShbg$Nm+2LUHaFrCT`&z?_%{?Qza zzMB*6%v+BwjS%|#!jFf+%3@y!%)Jq$3LqjenW~yqQ$cqUF--I%FHwjQRYhc`0qTP} zQ)y%Jodh9eaJ`qLq~t*!sOlNXrHZNhbKTGCJi(;A2)4(!RO1njM3`&;YR7GazB~tSm zyiScDvs?c5?~#VVkzp{er_4I@K7&a9{eHeS#3xYznInmPNx00e| z21$3~D6ysu1uRxgP6#<1GVuTdLd(-^>NrzhX$Em=BvXA~&NwFPVM1+QL6r#t2eAsed;xkF++J9qcnE^Ev`juRXt|kuxnX4<;M2ix0tRZ$NRs< z#c$?B!E$*X2qH%H88{x(R%oA!j!z^1D@Ogq0Cr~9b!UdBq5@ei1k^aYd#BYGT@~>)%j!~l}H9NZc z%C#E?j`G3@b*78G=1{%+bC!+qH~8r|BE#=pc$@VRVP(OR6L8SDOws^@}hzSXfZ7L19P;^L}U= zN7Q_VCC_ZcH53mG?$PzKat0q5UgEyCzHT4Crg6Njffa6m1nM40M(=cgic6qTfMBS<_QGX54U674vbjwr@#j6;9Jplm8wv@8Z(hE9IgfaT)iZC8omr6M zkInvEWB-!K8fuS*yGKTR7C^xs$al$FbP)5v-TKaYRdFK1G{`@v9qRT7rxWXsNxyBS zRp)mRI>PIx)8!K*6OFGwB_cqKqRaTS>}f)WvC)+mYEfQ|tavK`=^lira3#WGK(=$v zSvc52Lg0b!2o+0uF8wJI#MH)R3LvIL1obOTTqdmU7`R)E#n7^rQYVP$6`4-W-BL#H zA8#)~1bhG2jmCe#ONiD(-J@!+cn)!@#q9=uLb=PvSpW%q5qGmu8SBIGf{2A~qdI0O zeoanp%F?GlkI3ruGQITKHe)`Pw!|VvvIPW_`g>)F111BaN8FI~-)Ig~^lAKNA-1OU z=c-@wG|$E#rL;a1z;GtvA0`ow)-Npv}ALB|( z(}t=0%aF3zzxqg3XFV8u3~1)_pU7n!p(PT8_E|5^=z)lFPfyP&uE?FGYV|)zAF4Si z5iwNCM{+DaI);hAyG77+z`T}oZiV%P^;BA)^7f;w4MmCJMyFK?t=^+Tyu2(RI!mIX zXFLppLXG~efBFF&y7!0T>khCBW&RI)kc;yJ^Uw;sc2I%dOZXKfMyTg?J$-(yCUw{|l z9|2=~=OuHYP*6G`3o587Db>D;E3lJRPzm)Xa{4bwS84FwFvxHfv>sJ^|3a_Ee|S5TWU2bPbyr5)xwR6Im}*m|QL=)t}W}Q z+ux$Nn!ON8O8Qsqd_>Syx(|)L7S&ayOjEVW!p&3Fm*!pq?0^0baEsP6^5?pV>Z}#O zqG_q~Ks5;}jQ^_U`XCXaQuOTo{xwJ9HxmXI`EQg zBHbAuvMQqz=)J5n5dL_X3g5m@Nh2xKsV_qX zXC?N8*pH}5atacl2d|7Xu)S?nV2xZwW4(rCG`9&1*ykja&ZuNqCl@^@MA1=4Z+Koz znU_ARR-UDeJtZ80WXBNM_cya;=fYf=N>t|gRU{88P|iu1nb3I+wq)zNaXorfh#6ZL zD1J8FSHn2^=7rYI@L+4YwB)z>E`cF}E`-gJj|~X@B(TcO#GO5pD+=K#Ac%ERry*X%oDesWHrTNIo6X4;@4P|mLIu_ ztq(x;!y~j1@7;gJ*Z#!_g}>q}>k)`AA$d0OREp~4ab=OVH1T4SWOfeuLZMF+uFby3 z&Ar-6@2Cd?4!(bW{Y$b>d8E)muE35b!~x9TM#v`E6%FL1*rg1(r*5+giAP>O)sY+Vt^k%QkKTCV3CSXa@W zP0u|lQC)!0?xxv5;jrY`B4i8}bfU7!{Qa{Ou^mbESpbEX7Q)*0^E1eJ>#WYS5i=$f z+W2X=e|i`-8-L5w)rl+T-f%wgZwxp?NzwIYJlwiA`k={NUy&sMz0 z_Kx-A)Tpb(3=p;W1Kb~FA~Q=br02hk`Am6>T*p9VGWk~wBhQw131Kbu$0oTBcj5+d za&7T3HMC^x#mvX(97CrMr$*Fewz6`rl9{qyeFK$y3WQeMArta^+-=6N&1@|>VwQj9s1Tw)P8tnGs`s>^%LB}HjY3W`3@R{9 zc`^DHy+n#9R=z&8Q%@Y|w3?wcYVBU<6c%R^#iXDWL=k=B1M%%oEB6mU1+^1;FWTLS zFG$IAh>t}gHC{}5C_D1cayBN;Pg&BGqNK6ZQT39_Cdm&K>1K&6)~TZ8?t~^PRbA<7 z8mHjGM+?QT)OKLH43>#tqH7JEwHyrs-#9dc4JhCdEw4ouwM;}Y3!m~}N=w4!b29;Z zZ4KP}-8Ug)%vmnb+4>hFm7Qqt8zWVu%C|3e!|+pMN!>ujdiDQVGa>!h!XyK*vA3ac zEI>Nm7LwX`yWd)uvWQ|1uMlh#AE+d5NO%~y6*W*<@Gd8F#kj?+jszd6Un8^P3n+_s zyj`ICDJsN~U3b6LkOqaV;lVys+6K`?Jmq5=Wyn3J5Hrd$=V*G0 zESLx>Y$Xf%72L2%D3JxAtQdD~_cAZ*rh=fyerkn#pYSz0B0tv1!Zfr}1(^aXUoO0ga~j z9dq`GBgoH=lP66RS)}tJIe=AS&g*PHjw+4Cme5@(B*)=2&wRgd_G}w*di2cBFOmz~ ze?7z&%QCX2p#ycbzX2en7hQ5IUrVA(|!%1~hMa-Rsgrvk&m&HqGr&=4; zcLS$}TDfB1JJqIsdVNa>eVd%np2E%D-3GD7lR}9s7x4e-imZQjUkSh9>}NOBnKd+) z&&xbHs>~=FT-nH$9~QkzNoo~>-O-FnGUyZzk4yoK}3d9`d<#f!r6L8*-zDe zowPtrCN~GnT3noRAiRrsH_vgf=BUJ@NTy`?|7XV~~s~JcHV!;4JYcm^iU~g0LjMUJ?ANc#fp4EBcmPjmBf~t_4{f z_b2SXzmdardn?+n1q%g%7n7KBCMNx_lA68;O6rYVk+g5tlEp=@VG~LgpjPi;Sxp() zYdy7$Y+Frzog8~I$WRa~Q4(Z-_b!jYYitgbfw6Q|VDrD+e&{jdES0t_zmjlEl`ty= zclM|dp`}LgK0oUadh{AatG8U2m^y#4=#V|z?Y-Y&fG0Qj#Zf7}ef2wF`2R|e&e89B z`HHlI@b9wBB4Js1mwEKOH1A-~>S;d^l@P_;r*@G7pOX1(^gt_A+gj3=W_vA{h8`Jm z=~vtTV-6z416~Abj+6~pqIVA+zJtu`U9A;*)CyGqsEe98s*lVcKmfBU&o;KDwgRvS znTut1L#{)1xG(Li6X1mIXPx3BVv5z8%ItVcsT1{gRf5)VPF*otAzjJy{^@Jfz zx)Azx^+iD&p}L}JDTNwtsy3=m6#eSoi}F8{v!^Y1y{ge_Sk;&Wxg}P_0XV5*lMlyL zWV;ja=NYEK)qWfK1A=*R)tjPSHj$bgYTJ6I!A1&F-JAl0&-`&9Cm&~K*9oezr&Z49 zSC_yI!ev@4J_JN*nC@;X_VMG#7jja_S>(|L1G66jj}ixVaP>I=7QlR>ZESC3?5KGP z0xLzTO0&~=4EHNa7t|zbfms>wXF_p2X#0dUEqC|wLv6VwMbL6yZ0!Pk{xc}v z`T|lqumf-255^U>6yXMJ5Z@Hqlc4Zhp;~sw>`7sz_dgNg)&}czb+7ok20+%Eo1|`D z)b?U;celYlIf{0^$kd0T3&x7;W>=7N90mdtYl>7Ari7j_x%l++USjjfWZJj*q=pvi zl%Kzpo-~ukk+o$}(k&?QSHn92ToEI>;@UyI)fW6ib9KV?XZ(-;kUglx8`86Q(!<{$ zNg%nawYfxa@1Xp~thJ?|J$p$kyD7w7jF<9>rj8Ovpp$zFZ~H0y?*;{nH-zs3$%Trt2@a|uINJF zkmY4;gTs8CHrQ4aH@6{9YR4X}g4}nJ0*a6pY`~*K7lLF3jUD?`+|Bi4vHAv)P8Wvj z^-&Bjhrd62`gNzL99gsrMAo&G9czc>O>m$6ad8lykW&)%GHr6kz8&+2)W-{@+?cD` z7SF=y`y(5aV%cxH9buld)~93q3p2&llPlhwp>5&0^-j&byQZ$_{Cb@Y5W}ar4!~c0 z6&J?3yPtxV{k}frK)PE}hB%Ohl92Eb@4mM;wtnz1wD{(ia~qR0^XgJqz*rk!@sbXQ zDiDec!ulW#4;6-ZzH`>@`u=HfOqX4{+if57-@2ILn{c#A`r5K> zDaUfT?Z6X|YzY}T8yWi~Lza8PG`_d@ITI<6sG6V%;NzK4;g;!z2X^}t`<87hK2En#`Ra9H(+LltfN54C_FZ6y#1zYR#sxAJui6RAPIUgd8cOlaL* zn7my+`<9#TZmzs-LrE@JJZ9KeYy8oM-{$~cxKFTP`!Q|37b&vw_O=bzm%>wtwtQD7 zA(KW%AJFgtTU+12_toqmW1D-(B-t9w`FDZWjE3j--N#%yqeHOeo)EAz+$}%R$tziQ#$G#8aqPskg0TcagC0sbkI-&!iVOAujAPqn$o-0T*lQdhA}X z5TA!h$})!yT`^LDkKEC#po3|9L)DpnrV`m}j@1=X`A+uQ=T!3W-Z=NJW7#sCnc8Hbre*boGa7-1w+WFA8WbDgEek5jCN0!6C@R|SO+%A&yViQ`p zn@Cyt7Yp#*+{l0}ldR*1#bKd86)KmaWAh-0hgi?gT;D))XKCMWYqATPB&>b1C*MCa z7tD(wK?QGYCifbY(F=BznEMDQuA!M_$0A3MT6}wmH(Q-YLP(i{V@I}syvD+5-}#Tl z7MT3BUOBEl)NWq0>lj68;HT8H5DcWf-MO|E&5w_H)D^v zF4gJ65t&6KrJVW#_ol8V}n{$n3=jJ1;K&f?(A; z*ZHrZLk(hXS`*e%3cSZqe3JMzsBE#dcUt zHAY_0=Rkd5_VYMB-`Xy~^D-*y&=F2|{;Jd`Hr^zvFg;tnQu$8x7AkGI2*G10C6j$- zO1t%nDy?1;_yn<4%f}76zU}|ERp}z%=Ts3fW#-afUmzKqC9=-n2o@TNF^n9cV-H4T zIS>e%yXc^00zNvh2VdrzXcfHWq^u*QIhX52KLsP{i(-`Wy<=NUOhte347GsSc0|@^ zrM>;JWU0fL%q#u!E9}FCm1@Jzvya^ge0Dj0*rh$o@YT!Mo#x<6eSfC-*|TRIZL+f6 zQSrruL)y7$EiILpRHENyrkTcQ3hp5-{`T;S2OjL?3r^~ETU++SCk4jn(PCrf!eBVE z0YU-U-(#wz|42vFs$%v0U&}Pj&9tz99ps}hIoqi5zY=m-;>4k{g6IN*atTCNT@hue zPA2oE7?loZ|Lii>?@(BFg*;1igkTLh=OKy+z z!){&rWKeMrl{UWy0D$7lN zs!4NwSoQhpO&k{S@p=xcx9k5@Z)@^jGMlaD`tj-qyJM~XCL0X<-9&3}WnK__&wQTg z&=Pe37rBm;=|NuQ?x7tjVH0BNP=_Y_Y-Z{7J0Auy{*EYmoj-j4kr6yK$T7uHxnR#K zR}npIYYRT~zx{EBglO|rRkK?I4Prl$>igQsfrp~t_|VKa_I@OM_Cic(w%Q3}DMOf* zj(dSdoS-^G{?|TenQufEhU;i-+$Fm+Q_mH)UrW1i&K>=%lJ^Qj*bwo<|=)pH7shZ%f=sNdkF+%WuQl<8(UQU%}+} zqr@nI`|$^@gSRfG{Ha;Epwx3)fyM6WWc`-CmKiNIDw!ktIk>f|Gkv5d*VM-u(v2;U z+!t|)Dn{qGeN{qDV+4(UQ}lw1R<{4+L=HIObN@+N%mFfu{pO0|V2X|dJL{rt=M1>q zoy<{nV0p@+nW;OHa9_cIfwFP0&wMu(y4ZA|%Mxm z-kw_yLuGc{md^_N790!IlLarY4~#eRUu%c5_8joQ(2MKKV+AWyO~+(+rl9Qh#!$IK z9|*h>_vO)_v-hEfTCj20XJaG(A>0|{^q2&3#CFWVYxqgftd?#39-o{N3CwYe`vr%6Cs&RWki+>{R|B z(_|dDjarn|IzxXf#S0?z zb<5C|aVKo~-{NN*hbKwkLl8{u(3mWSqef906)x$8>zp0u3XD0j}ubf zfys5hiduJ{aN-@GoIQwMdy>_2bcI@!4K1`~a5U)R#T05Ofwqm+IYGle$?U;PuzN4D z8S^-}7t=@eZtRX*T)e@2?=jqqW+I4ERae?xeBgGbNBNCbi^hb##u@3mB_{00Ihvi4 znRic6$9un~-v|8eNkivk?gdNkF_X{{rti+)-d+V?$*SBj}5fxC8k`&1S zB&9nPP=-{H?(QyWP^1wUgkea*0R)DYl9ZB0x zT=#XKvCg&D=^+4*Y_v-pDd9+#{yaW9d-vf+#PvCZTfh8k1Yz!%T~ZV;;CTP?MH7U zfaD3M`H3NZ6bG`{@pSJ;#rL@El0UU+8w?*FeE-iSVZ;mn`~G0#)+qjkrU5oYBvD1b zZ74hyyC0zA8LR^Qxj(gEo*ezB_(AxM?BM;a{eF^yAQ-vR;kAZ7BTBRJvw5>;tWo>%LvNjimmVr*1xFcwDv0Ydh3Une^C>G5No;XIZG%4pl z1igzQ-Ju}GWViQPHJDI29fo;wd+?OjfdWgC&DqCDcqTs{%FN2g9hRq-k29TZ*cZwn z4>ZxfRSYj?LOW0*vHDi+e)Z##lS%e8ZNgIZ)x`v z-rRmb!U3AqEP=c^{sYfen$8G*js92&XZPkDb%V-Zcv0dK)Imi;-WbJG^4Gl1Fag3S z?ra8%04FGQe~H2Yj%03}CgR=xXhBgdFrhH30SJGNMGlO6j*edlgopN@vW zjXS67GlBdx{`#q{Cu&I*Ll1)AWU0PI{HB^Xw)4X%br{Rs_9_|o>MrRY6`HDaG^TdT zaXZ>Fhj+J*E2W9)#(!_+>bXnKBcrbG1s?!$H4!``USw!UTuX}j2+cPF zeSm~W6Ztk!wsK!z-ysCA$ypZyxP!Gp0>Hp%U!5RRD?ZGMj0$vW_#Z7D7ZY`)bRK7I zD{Nde3zx~3yk@Rm;4&Od2J&naFos&Jxt>nB&Z! zJXUkEd2AC!n<+)w&tDhF%*yLwckOp@X>R-gaa5$RXHLByv*4d0AF1MdMu}UAbL;{5 zsnM-Hrt)aKj)de+>Q$E{(FbNJkF}cfPAMk3F^hgE`2)`YZu93Lj>0i%348b9L+NVq zVOkJ9v~7qWNx!)i*)csGx4WGN_;u-<6N6uTd`~^OcfML@(xh6Fw7-rboH#D1 zeSuao-);p%{)7L_aXT`~fmM@rTQtp6J~CnE&~ACs`8!=_{ql-m+(6?gX2h*;qPDUJ zNseP?eN+6WHtEMYUwVXT(ay4)^Xray<1v!;QktH3ds70I+$5MzlAqYn=vI~HeQ5_1 z7u{HU^ZlOq zm-J0-6>Ue>lPa3`pAr8@n7)2zERb@6>jboKF`?$Uac_1yzXrDO_#z(6|C+f5;Dj3a zQKR$I>Kt3+4K#!UwaZL6iy#KFwtHM^qxkHdCj4zcf&{NMnrjYyN*wll{f_xi(eXxB zP2{ZXV5L0CK}Z0(F3D8`-+oveYR&~^oPQ29VQ;Q+QUSh|1r+`6S2b`tPyJUV_G0Z( zK#&Jy+c0mHW#xv4D_(sf19U8>gqs}kdePtOruRboVmpwf93Twl2NZ)OKJvmo8} zdTFl}kb?as&MuGxDtHSikU$5FVo3qLRX`hPXHEr-$ROo5V+2?-Ix7%yx%b$zR;J!q z@Ykz_Cb0_ZfgE=1@IIqIn^OV0zR-Ad^YmxZS&6!2$F^c8_#OqZ$z+i{S=suYoU-N& zr*SJ<XvqF54#>TMD&$ZM*l9F#L;IuN*fn$G-!OZFwU8vCf_}EgdPHP@dR7H} zU-!SD|BKI6>L<+TVa&vtD9MQQO&gN2F@jQffj-*SZJr+t2PVMR8pVr;|DaS6=*PTs zt$g6@fB5h9_c)TVcwhiC3J=@!lLP(V8yi!~CAW6ucMZQ|fG3@VzWgSHFTC<`;cu+A zewV$F6j4cfg{uX|cu(<8ov;7HLkbD@pQ86JsjfZ^L&G?$VAg`3E$e=Bu}nl}Ta_&z zjAD;^c=dg#kOkwrQ~FvtSlsYYDw0aBMD&+j=2mOVxy{UmL*bu4r4y0`JVEmhhmMA9 zc&f+o*W4mv$_@^-VFmH~EzH)`58a15*NVcv>VfIlJnW(xNfjq1yn3E&P`lt)dzOg& z6JHkuJxTxL8gl?E^Sd*OrcPhO*rdNrfamaUf)rq%6aU}X=fz-xIPiSZcbJTVuLH$( zkPr#{`ehOJKvB9!vp$0!@Zqu-Jf#-<7n^Db-73u8k-5Wtb9sYpKiirQ3ydeC0}f!3 zZz`-HYniHVTUL8LAFI`9AC&8Ye-!==+$F%T$3{TCCm()oZ`cR0dXqpD-nktmvfI{B zbFB8-Z|Q$<&I#T<0!C8I_s`IT&wtF0l5R*pJ!Bsax~vP9Y1Ptpx{DSACrpoRzI~Y%TY#K z{2e(KgIq#*XURsP|KIHM^1DCAJF(ElCIGV*b^}&9RhcAgx=Y2%9eN>G^_s*y8ina$ zl=yn&cH;Q1HgiA=Hu?_i~oC5Y0d(|1(7F-W986ppQCPw5u zi+H;F7=lafP;la3nYAoykPUoUxDN{M(n7Z}ELEh}zsYro{xNN$;K@|ocT~Zx^8)ep z%J{ViNJ8%;165S+5^k7eCK9u0xuk=eY7X=mnzSn}?bIw|`!)2PVoiT(tC8SU84xJ# z+6Qk8;$@i;(;PzWcV-R89OC0`tUc;zQ6R|_ph<4mxh81etJAj1FYtEHZCLL7hYeA3TH#{-nwfA2-1`z;j(;zLW zez`@N{QryK6#iU^;EJZ4xv#udG4R{=vsM9xz074r8IZW1gLoDbv{84uIRNbBd3?`~ zWR@+Lf7y6`jWx6S0kpN_Kfl_M&LM`$xWN3>fh>UfMmLbX7ig4O#l^8A7*-w&n7)YdZ5x8cuLjMGicEbTT_GAUU6<`{;dzwPUu{Ev6%<57U*NU&S zj%HXUo+<~KaJ~L`Hf^*aqAr^D`}B{r5I83ERI&_=_6+L&F}01T6) ziC!Y6`cH6`-rlN%R?um1C}=&qVkh8Pkbv8>L5t{hoMyH}(Vt#q3F({#A`zKdO}&GC zsSJ^X2^=f#5K($d`;;lR`7Uv&kj9CgIe+5c8-5c5G5wmiFN_jxY=HcJAT0#Cg8?+j z0Bl4sQ0xS|L4eBwMb5qMyFFPixCgmLZtuu1JyWay4m@_urR6}wZHVDVyP_|1avtQ> zPxBb#yGM1(Ouj}j?PH1rep(Ft)36(D zHg*B%jrTj)Q-DK((jn<3@2TKq@5NH@TC9{vlQ0YPU#vk|1umSvE?bB^NQGB!pDME4 z-fW2o(g#4x_9S2#k{`D}bEk`1u7ED6P5CSNSKhZtaVYpL#Y0<@qx}c9 z95Hy^OBTe+(KP=ywBWAlt~I@)t1LOg$_V|vkAtrgO-qo{Zc+06mmwx*w>F~uu`L+l zF?mjFp4YJ#r~!qMz*V?}NCF8aIX*+M1Ut3{@o4?m z-C+~gZYghkNfTQ6ZZfj(9>QyxRWD64NY)^PhO&_{DEMF?EnyHi4X#=K=U1ok4>#d! zohBJ$r{```CM#3j8@h1>*%YHg>C}z5eO0J?X~2&;G#Ci<99^O2pqxR^lR7#WtI`w% zjDrcQuKHLr#NR$vqnu36QQUsIrZbS8A$6?U-5#8W@=LVK0^D%5Fzo;=(Re19q_7ZU zWrV>en&=;2%npJ<9toS){t8gj)Ip51jP36IuL8p=>`jm=&~8XQ{Z%h>q7S=}Bznhf zrj4zUpVg~eo|7-H!mWY1ya7I-RKp)U1dea;uF&oDH9)X6D766df!mape?u8*>)&>-{ zkkpK>)wP+T=RCly>!JWP05A{q{7vk8S&2M&Dp*qdfUf)4905GE3}ZfE+WWy0FSO_e)T;kQw{}s{u3`{M_@8Pv*%3y4r9mbJFb~<4H3&h%>3uZ%ojqK+7=2Co zVr7U-6`M2}N*~Q%MW*QtgW5sw;37Q@4qlSb5$e*lOnk=halW^gFQlbIXV7JwG8*r& zdKN<_dGQ&UnQ6nV&28+;dH1{mg5NzOqeZ)-%sJT#f(UTMA&|*`lhuDKTVL$4j%+(g z6=0NGK@w4g*aj$X6%7|c_9i0Y6%CgYmU$xUh1G-zg(xBF#ZT>@p1$MjPT-us|Hxwj zpGCSO<_4PNUb}rXALW;soo#O0o&u_mo&amG)By__+fX0N^MZi)+5j1qxvJ6fhFb1m zN8%>H{pH(2`yhv^>Aog%>WuezlPs*1$$X6xutPs?VRalRMS-~)D( zJp*2A;C-~90I##HB;qvS!W~KhsV$>VK0clFN>;diI}VeFKfdIrHzdi)u}H0J0|+bV35FNUa`nV?TGJ#GalW zvBgy8$k=fiwI|?Xvr6ajYFB^zh6|F`(G=j2TH8{4GAbGX$MwTwm%sKHtqJ~TK)=su z_wW|@B|R9nLA)%Z=~XnFtZ43;U`Zk5zcMawH6HwWd=;S+KRiDXF43C~!B68T8?jCu zmb10D>|+i9Q96&I@2}Kc3$4yj^LV|R@X4JWL+YjE#$8xYFv`K zSYb$ON&7h|OZrzd%Vh-^C-a)L;n_}FjH_FMEkIhOW(v`wt+<`^#*L(m@tnooD9utA zAbS1f`o{%zzAi3keFbE)s22`Z3Yl}{9g zq&l74dc;J>?f%=Ro>obG)IWLhP>(dX=9XzV#>P zt1!`jK);q*@V?E{uy(NQrEDaDHb*2WbYclhYWwnwpycnr0%BWWN}FZN;k^@8x73#U|cQ50Ru`u5RJ&vNgAWh*1 zoYJ2=L(|$~lsudu#e0VrT)h!!{&JhZt4=_9H$hP4*XrX8NwEQn15>!N_pE}FQk2`~ zWX^;RGmkVOxpNU)b;CcQnS0>O32#Su$d;1)6peEBM=t=HP z32t$0vnoysF^ffdh0pV)qVq~f;I*VjF$M}hKG}F8>2UG2b_~5FwEJc4Kg>k)d;_0& z7f1;F)_|nRXSpSu4atiCgGU1S=6ohsX}r&lU-^>;;Eb11ZvGy$juz0bMP{;Z42l+ug^IS?>}QE**U%NNNb?3x6V zIshCoBEfTaEF3%Ybt7x$W--zojpKSytT#^a7OPn;WZbi&0} zKl_zrOa2sKo1YNk)vNalL&gqX5sk<&OnYcQUd**n{0|p^(BR#YdHL~6Xxd|J^$S*7 z4t8h>2jP!EIbH?UPzzLY$IM459;Fv1x0}HAYGE*-t@WcGuwEs8YQ)dN5=s;Cp_854 zZc<>(V;P8&Oy9z{Unz(<|7y5C1$VT!zHq<;`ne%8reUbJ{5z7e##}@>oLiMeryCnD~M|m&V6@rZ?ax z2ikDBfj#Xf zB#hFHd*^4mWFp`jQ8B+lvC>Bd1EH z=2mDSiT?Iz2z6FWdE~Wr745^AT_Oc<^c-#*P4sNh!@e}nkspYHutmF+j|$+doO{V) zBvznHmcnQv2Xb_?aSo1cu$S4HZEU|yr!AMv#`Nv_=0{WYGfi2M2^!06%+a~h`P<+G7$Ehm2H$|HM57eGsW zAcC;0lI!iTFOZsjH%FOfl$8IIUpeLeonMQt@+)X1cmCLnm=)P3jSRyBAyjF z59dX_xMCTW;4y_}f))hYcyH-1Wh4qjg*mq1@1Pu~lQT{H@K7Rz9yscWnIv;nARtg>`j(s zm7)X=O_y8B<5^XD!pnqqu6U?X{<yH#esSQh0O4mjypB+<*`E zCy`I$%e*5xgkMV|co>$7o2bkIitSUffF=RLkzodcgAcjh9w<92l7nXnF7j7!k)=BM zZ9i*oY>316rJ-qxNsgnjrjKvXOe0egMl|CK}q-#T#i_ngp}c}q(`q_M!L$g zgzwkOYDyWUR0gzvkV#}-xqWZH-Fkoxb`b^BSbWowTvK2IH$@hgWHDqEb6h!Dm0@W> z7vS_`#-sWh(tw zH6Z87|KXn;V+>nG9W>fXcp1{%*DFL0ZB>c z58AowXq}lgnG zpDrQP)S1q&h#5c=3arr>lFyE|V!ytEg;HKPv_c_*y%d%xJ`nV-=Q z%Z;+v+W;&5$;L%18&Sm1hV^^~n3E5i_79-kbwCt#_|G#icj&l;vn-d_?AK;lvO9l%hHq=NlNbKG+en&~sMq-kT8zZBJ zWx~T@KpXyqp^-ci`I^-GnRdMc7aKY19*u2K|MdmQ8yWB2b(4J3rh8L-#0~|$(#{Vi ztVLNoQl0&DMz+57`1Uw&URD(VD;23mf$GUETyX&AINB!aWRis=@U8hI|ontZGT6Vn&n zE3Tx+TvsWln3Ke?Ufh>~t~cIA2R&)LBL3M8A+ZbQ#vsG3&LL+ySXm(%LfVZ=7~i zLS40|V{1*t(Mx}7t$1cO&1sgv&nbg!XI1*d#)TX?+SamG7{3oQZ+xeJI(-@FOYSli zNLc&&oK&hZrghjblJao2oG>K8uh91(kMKS$mbv6e#4}Vy*jG9{O=xVIO*}Y`Fy)ZU zt&V=osP}tJOiVm!v#R}$v}<}p7Kz(=h@_`x#Z*Gcl-#%D871F%8vR?LG2;BtHp{3} zS_#JT@e)%xo}ogfL8yqavBI1ACC$@p;1KHc@eRX@yFOEDv8zoQfZLv*0@F&jk3R?e zx(>fBr+U%u#Otcrf~k$#SfkL@#O@cCi}1StYhLV#P`U4yYn9_&?ztaJM|<}l*cxd}wfYjPrT^yn5$cQk zNaPD3Qc0Bu#;L6rajg^^a`mh^OlZ+T7Q=-wyXhZnSc)L?aAszwFH*f7Ja>Z*4;>0Het%6-jGn>&-oznFk z@9Xv6glw&s;E(_Ymesw34cFexSS2yd!@Zv*Nj&S`P*3)wGhI~I(hDjd9-*`QTliC{ z*=o>Lm>hd(^Nr2p-=pG(qsIBNDy=_u=X0`C`|~TN$r16dZ+2pntnbhVZR|QX24a7< z*&cDr;7GDw3(mlD_baI>!x20z)a9S?cHWx`Ro2~IOAe>V=H8Zps+GWA(4oC z+~e~o4VgWBB`I!L-#9C%%U;9%%j~{A?`IowO)rTjVMv8qAqdJ-w^>31(;Dwj{2HYx zp~Tr5EvBtSS+wJPYug8h%_rQD z;HHib$8!QGz;y*Qu;@^W^`e==Hls^%?<0r2k`RthtC=U#OqE>U2Z8ey57IA2B3Db1~;HSy5;B z1#z!6k-Fg(+j?`&k4JRfb@#ooZc0G&d!F&JZ^kkz*@?QJ`6Q?Ly5ft&bQJrge5BPa>1g>_L&lgbC-qALRRWk(n@BeJ+WS0(mD!(2^U0OSMq%Pu zPY^w#u5L0Uygq7Jp<4$Gcj`r#!XK=A)hCAdY*Cf`>F>#oJxU*`MGHAY`GELyYL|xS zc%Kw5AGGM8F~+Iy&G|Nb1Yw>^hHWYT(l}1c+wc|XkC##~Od2B2O3u1y1CSeEZ6=5^ z*x~GbXO2jAjjtViO`ltWc9bqzrB*aCE&rF1o~ekg3!1u@12nP z_|UDhRjJMCK}8#aX*rnFaLfEh6~&d`v3ndVkCsY-4Hq2up}jG8k-0Z8|JfNI-%_35k$pyxqS1R~E;vWJ zoK>k10o1eEiu&T>f;idiT6w0qieN{t{qb9nwW8&#htViYqK3bi5zgKZc>e^d=bTT& z&byjf3S`4LaDGD+4X2N6t92mJMM9B|2P1BChzYxD1qT13L+y)2=D4mjdydlQ`onfV za{U5*T?n$jc9Jo=ZBxzEc$A(Et6XeChY}~}p=@3{(~*?I<%|KXMSGCPGbz;cT@>N@ zEgj37xj9E`^rA|!XMYfkqK}p`IpkLuLiYAJ9-Gb9c87K*|6~c3%kB_VQ)nl_89TF^ zBb}*NRIL!2iUo(SIm4~VA&!1Gd|OMnt}20j^qwlE1X5wu$1+~Me+yIBC2BVm$ z;u1_Zq?cW#N>f8m*h9K6c=&z?xs`3n)#V0xVYD5gFD{c+zRKK+rLyLAL zncQ}?zZ?Y*_zF|0L+BruD4rQSODPhPWx}znfag<;Ynl+F-vmDW#v5NXe_0luIaZ_>D8dnBF#7#^ z7P9|2DS;M6PJqKac?R-~AOY#|9BrDUMt-~K((oS3qxWpR-^$pWtE_1mq5N{+p#7gV zJXB`%b%fJLYLI$bX7^0m zaiEMcT4Fz$yAwn>iIYU=Ee-GKq*AJ96yJZEustco6Y|9hPeaFFf&?QiMA{|$nUw{m zGL@aVsiraogZ|gKJ9MbH$WU5&e@-wflUeu`buW+0C65{Z?m~uv^#<&jGfaPbussWeeB2NvK}doWD_Mh!F>f9i3Wy?`_i?&l^Vrj}bi6 zm0(Y3si}&xcdQf_;3bE#j_CXO$Y~IKSj)6Ube?jBm@joFWxLm(PURm}SxL_JeiK#F zElWU7?mN>$Cl{8DNDJNan<5OEkT}NpIN6>#;-w*a!(_m7kjYiLizX-vMq1J| zO868mUn}qzeKW(@2GaZ^-#zqH1?cOSiN<0?v#ie0yMbaVuzb>6If+QbJ2|BBU^ z?1gg4bK+^{739%2*a5q&OhkcC%hf`Y8-O6 z5VUE%jKp^BmJbKUFDXX1w)OGf$-XBm=m`s$RSf157-3*A<`y;W0@VD)?GCpw!-`OW zb*E>zX?CM?%}cgpB@l9$TVYZD%U5hkU55{GStgd`s&l#OWFQeOz^UoED%cd0U8JB? zt)`{;>6g*(aHFoEpTkIIhV=Zy+A^CG@4F)vKN>~P&UVjB(t>@fYe8toaUN=hfWc?KaUNY=FbH4sR_U_j27U9`TY>`~yez6`^T2p!q?&oIr{Q?q1SC51~UXJB&}{3Mz2oe;fDB{ zPGI^4c|q7WDYl)Z00}n^Fse=H@MaXfB$a z)a`p(Xy>&Y%`sKJ;COZ8+R#SB$=A&*&+J==%sxcE=k`mQ9cR56fWod3BK}z;O#E|{ z=Gx!M0XmQVj%yf#p@hOioi2+WhusNNhLHjwCVftiS7*rik6S;P@lO zW51o-cSb+&qXDFhOdlHJVC%=W`4g49keApy5&Ei44wX36#~C>ntAY>J)M)i{iK^UG z?ZdVMyaf|IHKvelvdSAy8M@M0HO^n!yrH=+i>GVhVvVvahMg=U8J)Q)RjX#@@%m#O z%!)un%Q)V6J{d@-Hrt*{qzU<=ScN~1r}lZ*FI$i^rR>z%>*T>eW3qg1){=$*O`MN? z+?Ou5JeLLa5p2Ku6JM9z;@JDpD!63bLdqOE?}N{(3t-Ef=V4vp@3}{`q=&5%BI58u zurxNc9wgerP*w#0I+W)IrO27E_uMbO-7DChSA*`lLwqtC#fVH#x{eMOBY7`Q+nkzk zM-=Gy;h=jh&+sor``0}Vpprd_Knio|#St~+frzhGz0g=6}7vfx8{Z?u4 z!N#A%a=XRaa@n8tY*2cXWdyMWXS< z$k#>Ru*4!t;V^6=Qpa!ge)2t3)eZsn6{1SI+8NVOpyPWD=u1&``e3U9y%_fU$DqB5 z#C*gMgq_!NWCIJNOVJ{AB}fc>`(Q?FIb1c2b3&mA3>|GWArGs&S{-UixmP%6vVmQr zC6FeR2$0{Y_BK@Dry3}~-ASY0k7P0a3xVAR5SWvHVjpbyk8dop9z6eEv#;!(5}%kb z4uk4LExf-ZLQvY!SZ0MQX&i>3v@IN6Ave?NXGh_Ct#+7aWeeDchbA zex9(l%9Gg}DSp!y$fE=5p98D}jeWxlz8+o&@WWcP*XORTNJ|jU$W%LAXJ^=Mhifq$ zTNItxI@zmP3E~BIx&TYyGqE&)77FA^_ll!@eo!E)k z0c;XvIF1P}U|tEHuM;{bzNoyxS}Wgg4q=PgZ@E5f$c)+X{FiI7f2(JWcB(eEC)m9G zw+2sC_!S2OJ}?z9c1uzmul&n*mD1KtI=zEaSKX29q1iVl4-#Si!#`8SA+5M`Z175u zMy>GP)VeA}^Mo(k*BH^l$#nlhOY=QInFlN_95^QSjJDL!k(BBfM+ zZ!11v39{6f+RIF8pivqoo(IT_RbPhm=Vly_O~jvZ(+(2#S1qch#a;)L?lpr4eYsuo z2~VDaDbg@^ugGTrmsu>yuh|J}u@Z>g7cP^MC0|p|#~!QRF$%}cj9HU_xztJ>PS464wL7E3-x?GKfkk&e1%>-#1Ks?=-{iO^w2j+lAqL0Vj5!S?B!9D zl#n|>9?t?yS1ilaE&0onKGC5ze@S6zm)nHK+o-!{kX$x$s&zzjUiPqoNtRBz_ zPv=l>vraQC)P7w@uPVZs9wNHDUJQhFEGQ}CUel4)wn*$Ps@e0YZcfM0P}}vY3g2^2 zU5D>Cza5TSYv-p$crhAg)<;Di+Z^YZ-u+k@AG;XiEH-KKzmp!O! zy%>OWGLxq2)rYSDQR7rinSCjmqe;=@Z{rc*j}BDG=3sz|MZ(r&V|DPp2w%?=GcMFp zU^P><*etAWx>}KozMKtA7=Hms&4HJEYH_`odyG7Tm#C@oC@n1ty3?f94irgYgXbZC zW~hblOy2Xo4V=-)P&^B+0I&IF7S-U=-nU&Xcw_WC=C7STGT_)&qPTrMi7q61Jjm^7Nt>Uk6ne1Ean&Nr3 zJA2jIo76jBun@;__?A6hHr423BwBnQXKAB%G`S}o1?GG9WqyggonbSzE@Qp=IdRH&=pQNT}#}+WTiB z+JD&WJ>*6YuF~sY4&y;$dL{XfUf>?>5sWI| zCS+*6-FIJ;cTY%QF!+9KjTKLn*N}zp^bak0FkIb*7-WbO#wf<_OVw%f+8sP=!JDP| z;)j<&Z?f|qJY9V-iR7%~2tD(^z;4NILt1hH1^gn4|A$k@#>gC!Q-xJ+L@62QF#F_-p5n2$&izRyaU~*4>Zi#yinU#{3(ue>Acmy1&Nn-S_Q1 z%)3tJu1|z7Hj;nRirxx^w%i(TsIL#qxN*rjleqoJ&`ZaAr{$Gcs`qaDtAZ*Yw2eSZJ%MO zziPr}S${df{Ow4cDSBr@!6jF5uF!I=O6gB^`GdoAAdu01fR!w2m=~#-AM9y66Z@jg z83Yp^(0FSTK1g`eTBf=}w1;fcV}xPfd=-43>VsB{20%RIk}JRGVj>*AhZ3!O_BRsl#IIia|}N#fj?Q@&NhkcA#SgDXU&h zZZ()k=nz zWAnHtLDBsf5vG-AQ1_vMmS;5`ukUhxxoy}&%J{IzRiSN8>fWrFul8NShodx8Sqe#4 zEPhr)IOUsQbtWgQ_c(RiE&1H;o0DzCjJd_UvA9bqPnx7iHNOt71l!^U$03&F82e(6 zC!j|}f{>&dn%B&n_!4rQ&E;26`QdxfA+o zE`HP-&)iQGHtmJ$oy(BJ2ZLH8@60C*3jLU(7%t=&z5LCmnIfe&d(QYUX;87PV!3?6 zPOj{~kM{e~CZC+lEkXawzc@zK_ddjo_U0})2kukpZlcWUV*&G*m!>aChRMM?n&gVztp z>leeiUD-Unzdu!ui#p!hP@fjpFTjvudcB?ZD%q*yF&j+_Fcy1WrtZjcyx|X%qOcq_ z;pGEpxBOm6fijB**=Fy<9?Qv;Xrlz`mMCwZoL~NfqTp)GCziWb-n~35R=&% zjb_W{k9YaO_g7}^y6y13JiPApL5Hk9K*lwz!&JCUmrv#!vh_cWX23ZJ~K2`?d4PbCuA6|)I}=&f9QS6aeIK%ihK*6 zx* zKLv^|nb$F`Wx6=`lYBTMv2o816@3@+t^4NHnTvlUCorJ+@XM8VMg*M}WK6w>2e-xF-GaAY%+l+6l?6P*n zy*wIfUq<3EX)eF0)I;o<;>|QMD_?+JSXI+Gaq3Jp#R;3!wZh-F0@az~Eg8$L+{K|* z_#>9}Pe~8BD+-SL@84N+VT_inbD8;we|0X=EC6Y*nu{d9w1uki&KGM4>_r{hx8ve{ zp$uT5*CoDVQ9j%w{O~`1{&4@$r@&{q5mBF8m~_MIP!F0!k8ns}(Z@K{+C^5*bZ?V?>hCEeJy%FXNu3^ z*k?>8=!RvZn-Y5b2)KbHs@cVzBvOH@7H4W~e7#bF*2Ab6Lcyba6&+zlZEhmL(d*@7 zXra1=QoX4PB3F9BK?9*#7pN-uj8mR5MuK48ZAfE%8E~T`=D-%647I$^NM>q=VWBlt zX$G;JZ^XHWZz|&k*;1I#me%{@Dl4N@JF(O9t*L5$0&7TFhV1F2HGf^#F;_^GVZkwH zu~!4w6F|BcvZFx21D4il4wtl--QL>*-6qrfxTx{6*;P0371#ggIS(<;0if`4L2AsF z9SS$VlkkoEnMlbh_hE7Hi`5PG>3@0yW+ekv*2H2ph1<+q3KzI&bjc$!R@?##m-|Ld z{Bx53BV}Gydo^%o)GZDPV$L0kfT*d5|7S4BRqZlt#t_7mVopj_2Iq2&MkYa~=vNHR zhBzp9GxeRYX;IhXJ4~66VRwed*=6en`My>O#Dj9sh%x-HcxDTbWcGWQyW2R6Etd4< zfC6E{l7X8TKtwVPiNX30!L9g?R(YY*W`Ht5r4~$8r8tcHwca|LlrUtYWG{F+h}%j6 zV{e{M@eaK$l|%kFCBG`h43Br}kxPuO?hh}iU*ZM)kvn-yZ#}ag{?_J8Q+Wu@Dqahp z70>?5|6X78=Ga5Tj+bLn zmM}y&@q8Br1SB#-ychJ-H$VVz{PIt8O8t@?V?-{Iww<}>tcFJ|ZYH_~=Bpl-tL}6! zxS>l!!uc~jp@p+6qk*8Oo=({^hcQjJ?Nl}=NP05RUqMIizp1j4e{B0P_>*R|jzu>a zLXMx+A!#J)km;($#gqEX#6@qryJ_@s4nsEn2In35azTSgv&$JU;s0O*H{%5~mjEze zw4cB1+3UlWbAuJllj~KNBgLel zhq($}nBF~!{;IUx0g0-5i?T}BIHf$z;t(bGN}6UWnIj0nEXZ z?w{Qv2mq^d3n+Tg%?m--=rteQMSt2O%ym7tNMuwq1{gifV7mQd>ckW8ubRj?+chKm z4OvW7;&>Jg^ToULiRlhQ!GaplIPCqroc-vaN%1IAe&V0C!o+_YBc2VePNk&73~#r_X$>~N2ji(c6LMGZsDPkIB4!B+A8 zRPa<~F6B7ELhiN@e;?(E+@F&V!YxvJEp+4mv2c-~Ml{&VaP{S4-xIrs48Zngweygk z$P0LNSle(0a33nz==2|Ec@aVMFO?WPU#`f2Jcd|+7wR?UG=pU!(h_zdHY9(`xl(uj zVcTpG%p2fSc+~p+KXXSlHaQ;L(fGau8seK?&4*X70w{FrA0|-xkq_cxqZ9_j4=V1W z*NQ&Gs-Y$Rd8WtuX)LAb5i9oJ{=wg$2SVJVF@)f~)*jffMt}aY9~*&cr9CG|AiHB> z_tC|)KKx0c^e;fjX&ui`^lz=Jy9XA4e=^5#qw>6Ai|@6xc+06Wg;p&Bb&3Kl> z2GLihv);$t&Fq_1+VI9bhK=81xO)90%0WCqE+4;usmW+PtWQt$y=eyiLldOaryuLj%RNJz)!>WqOU{2_f?>4vPMb+-J{Ga^w8nf6^8*sli!z`;NUQ~3drx} zM{{F#DVNbbc>y4_+A6oy#brFBkh4+ZIww%tFUZZl>h8U^3lT4O)j@dY7{A`zdmQZD z-m9U8?hCI4q+)^o>O#O`^}uMo(h=)&D^U7yZzjgXepAzO#U26{gHMuQ)F3Y>G_<+B zQL${b1vA}g3_rf*2!5F1z(4wew4PJCuYJJuUnt!Poq?@7xF0RB@;?=rrQh(1>V+>} z!pc4^Fy9V919f*SP_7*6ZkT!$U<{SK@6C!FV^|4YFE@Z-4F>sRcLT<_w5>?T2p~|= z&e&?yGGSN`OX*75$GgNL-|eW^gTpQhawi_pct?4xw(4aVQ(T4=p$d1 zYX~)8SNW`Sz+m9_iZ(UJJtAp+YS8$DpxJk9#$<;cfYEUu1A7qhg7zmJ>!-y(9-U6+ z>7TE@6F*;3azvlKD4VnP$FidcbLJ!aPvI8{$j2E;_`gmT)cGkCIF1lK!F_w!^29w zejTWL+{B=k#vcV}TI|Bp3kNs1XT zOQ^xTa${#?+r4o3!{!Z>!&^^Prs*9X|-JiG+baKT5guXsXLgb9=tt|eAH z`jOH+AstRXdTv1&9qhfSPK??&Si?PH!5&fdTI{>y3Z6^ZTT;AflDhEdDo1hZM1037=S~79pvna9Sb|uB?v)xXL z-i+021>aVgeJ=LWW-ftp^3rX{=esZZ4)W3)%-tjG)yT`L&rSC;bzP~2@j-<$QMZiX z<+4JL3!olr-lWvFizef(>xNjndsI-6@?C(nuryor}(IoSE;B;bHWdx%Zy4 z&))m&z4ltDDyUVd#Z zZ8S*KP%}5gX>u+yQXfhkKg@O$u27U{0mJ0a2BPs2M?(bk( z*r9iPc@6x)dc!dl<2Y&AdiDcIMlUF-a1GHRWqS;+X&hE+3V_O+#izn2&U3y%99t+2 zU5#ahzu?XHyG$D}n}8Vxqli>i#SsrNCG&VEfGc7e!rPuj;aF&IQYDl^X5uymt8bzhr=@t;1 zfdA3uN&a2P11}i;0_3pW9MF%elR}5kX@U5WU-0gKl_gzvu2HW&oOa>@8AkR1jVMbPtECPXdkO3~I|smdSkq{RkGk=N%HkH@?X#P3qwl!VQW>I6C; z^gp}H|1n&O;fuUhd5JmCb`xF#ARb?uVO?=Te3YvQotPDWQSpG$}bKk*gl%}fRuinr1Z{;~5=teHes)3f-3@EisMsBI9(Q|Ar zzq67*maLGr54Sg4rKF>ySGUHcbsuuA&ZqNtfe46`%6!kG`J2v1otncytEy`JgMB(v zGJQI@Sr@=BVNG9tW}WDY2_?pY;}ObnKT2uQ$3P=!FGrG459cz}8a~q!XO1nfmFmY3 z%N@Y6|ApkX4%e1uMY#lf(bVjoep-=$_j9O%4XiIY`}#Jb)gJP9A~83=yBstRN{ifGqoI4{Bu)CfN2)J zrtE$O%Bas@wSexl3@$O9Q5|)srb%nt-`JJ^*$dc}v}`^Oy^hf5_H!aEK)u%=g^9LQ zxlk8IjTXgYV@w@C20*ux9U?w*i#FLc<3|9X)qoa*pSkIDULI0#g+5jMPU9qJS&$D@*{TWeVKopH6`EgW0d~Ipy_YV6A4eSGy}$QnYV#;?ht@x&o?=)T_dE`q__u9d zf!CsiKINOokUUj*0T_58qRwJa|9aH}#=ste^hI62J9;SEsfENq^2xWqbfuR}|R;Tp)yo(3JerCf~EB$BQ*6|#_7fuFV+Ei*(b9B3{bKgXXr-AyNuPj)&UAEJRj5bw}D4yF+lri zoU=llV|bulKEA-=;OA8=zC?gqs~QStFeT8NpW++YY#+nB@z#|8B&xfhQ-#03)F_gq zSp$<&`m=q@CXTjfHegdJ-4w?3d17u(72l4@f&o(CZW^uE7$Bi+j=GpqyBT(P`YWN_ ziJujE4wYTzd}+PD$Ua7f3a#@xI05KJx8!^9Zsy*DU`INzV&iNb>+N41h5sFPpnFHB zHAixSzq(4*49($_ERF(|i^V3+UV#%+>clZ<#6=(Kq8UE``@=n)VBiI5Z7tA4)^)nd z$xVmfJKFnu&c(}X;ao?5p8s$%MJi_9*$k*h88Bfyouxtc@G(H3xY`D))Vb8$uUJ5Q zrnxhs1({q+;N`RgGV%e>#XYcpSF9Od&Z5ICg7=;;@_&H`)h}9t95m1Nu05l~tUAGB; zG^SJgmcpOD>sLtZkVxzUQ$NizcRN9fYeXyLy2ZYe3u*L*gOOlTI?w0d*b?l-vlYLUdZKk;^q61Jz0g=x$3TP4}p> z>frTF8eWrLlg0Y3{TCKs!&s-fXldP{fPR%#2dCRCV4M6|r_k)ag0AuaGfa@)?aAoh z3GZLqN6!RTn4smIEE$$k+Xqz8=^EQjG2TMjb0ia!=!W1fJaWU!gli;sBgRJ!Q0FB< zS`UCc{(+_V?d>k0-gz&{4{$TJC|olD%+IfY>5%G;5GYpfX+OOvIQda0h&vLQ*kZvn z)UJRxhHpa|&)~~<0zwWKl~w|qYg($6@d93Mwa9E4jWa)?*q78=luO{+oWhI!{bGlB zWnQ{p$hD^#sL@_Xffy9|as#MydB~*(msC9e@E}55Xnmy_w=GvE#G5#rQ*>TCpyM;f zqZdTdFRo_geax&K+Z0QRA$83xA>R>ips(0cxvRg zrBv|@7CSm5P=bFSB|ELRca9OYK9df96(K;s@@(H4D~}IZl_n0~kL8wdx&q2HZtD=^ zz^M&$_ybBzB9tBKHx{ubnq5|S!DjjV% zd90L@TgoA*NGHNOS%`F)BUK=#(*NU(ZIFfWddshVhsMpivT=pWR<92`E^Jo)FegKc zKq{4w%I_?jx|N&5BJt4GHy_NN;(Q(BFu3$Qo3I0p5yJKo#pp+tuh(kzlA{2Zz#3%c zLyqn8E*0yAoyksKbstL<3%NE7a;FeyCIq^ZhqSc?Kcu7wGj_UwGDPyeS?rm~;T%YJ zi~uEmFh8ucCyIk^3AMjn%lWbv6jaJtu0d8iJ*P@T_Ml`^5SU zBw6CGH(W|b8fmJZQ@nZ0oLpeciPdTrC;5C=!te=&Fmi&QDz8T9w`k`7W@Vo-;YmIQ z{*h#apE9h2sO1=kIX3uvU>mU#O7K% z0zEaqG{7DBj3qApMcnPFtLmzs0$uh}a6F;v3(L2-DNTi3HIlQ*?~sxS=(L6aClN7) zC$%?spYG|poI{HWmj_GqWc7>ETf`}~pYFx4kdom6=~sQ+NL(}=xB?1b>$RLRG1V&JsjVP;0N;5<3VqHaIOVrYLvlQrv&P9Pbd{hP1aMS{~aIsgX9Qq^^<$OceOv)tkC&73WF zGc#BNvQou1YYKo-F?}(F_f8pmlJfyanV9`@JgO6reUsMf{s2XZ_JJSyX0qWXiViGI z9P%H@OF=9arrpY$SCERK8KY~jh!&o8fk{xGIasN+$ign~*$Bd?sW^bB7z6PRA^Vo9L(w~|KTX0a|qAGCC&sqe2l2K?iiMEu){m%n*E;1>%9pxy1D!t z{Hri@Eh|3%*PXIJzWGal-G+=L^Za0B`6FUIm}{lSxu>MmyVM^yZty-RfPY z`q9HAv=%s5uphc&Y+H-VrU)AVwwg~2%hXD@6#9rdMO4?77#B{vUI-6dgzM%lY5IFr zUQE>4j`fC+m$f=ZE#-a7wlvYNaane=NI8i~Qx}O2N3{smMb2cUX%binw~1|Ydpk)q zO$P`el{-u8?qP{tOWQnjQ-np|U&%q7!v<=9+I=Znc=9+tmY`rx%JL*V1L2~E6Z8M1 zl|j7lB#;=|N&q5WA9n_TcM4-=F8Hx=Bdc5~hFXz?)^uc{t$g?yAX^L^XRO#huz&PP zU4p(WoL|6UXW>;&+9_J(XiILO>*;)dT`iVESj%DW#*fS;_XC=vglEM#y$esmxG+ICs% zsb6)jbSQ4A(2Zt>B;pqN;DU|^90oo9UBz5r!kOMAYGM3g1tT}DT7fYun0+z|m?|{` zd}*VJP&Clhr9Q4hS2VT2D^q*hPSbygk7ca0OIjSr z%4m8pnHCqmfT%$(r(C23&fwcyLP~l}c^e3kP;Y~snXG;r-uT+6all>Hwz^s@EBA1hAqw@!*yrh8(i>X1Iw~0Z0F6XE8XjnH*?YxNx?Xs1~{n1DXk= z83B_umWptx16M_)7Wp*v*83{OpJ~DiwrPWuE8glc>6!;_6@d5x$+^ACVsPyN*N1!G zKC0&ig!mYN>nFikSHhCwXUl^q*I}v-bofpO8QAb(y(wh$J2dgzKZrJKgXEGr#`v;J zjf{wCrsyi=C&i0gq6?-N9nzGu21lubZvj!s<-%Jiw}rLnskU1Bn4?k{G+Gg;G=A#g z--A$<2eLO+7M|GXM5HY;>`-)?tvnlGlrF|XLN#d08_A#{b+6)cp+J!LO6=0ZDtLx}+aXcZ;S1VgK z+yc#ON;~iQ*pL^H9E8ZfK0-~N&DGc#Kbm4*p@kjzq^J7oa?u56IL%XUMC{=(ZN;v1 zFkk;?m;)yG8B%KiEn5{U2P*~^_7+7@BbXym{ALVt@f_n9v|ag~@{v1C^2#NbBldwO z^2w(+xLryZ=}aFVErjR^ma%3fmH-N$VV-mQ5&fPG?XXO>u#EiM5#3dwon!+lv3KR= zJ2NfgK%S8D?(Mnzfih|3r+7#4vS~+?g$PY4CV!(UMh%6W)+1x9TtMdAR5EV4lVvg1 zls^|C*h~I06W8579l2LX(p{(m?TwN~uD!0Yl0En!Jxm8_{G+!U zF;rL`diF;-NA9WD5HDEjGL(L?cK&IGZ4iIX>1g5y)YkSq%UPpJoY&i+(77=GHp*=w3S6ntGgolo$9z+!d_UcuOag2!SDV{y)Q27> z3r}t+agj$;VHrzOJ{+l~TzLT-`CfVzx|#p^jlk5zq2hh}RnE^2)fJrdPrgS4K^u$r zF4Dd^GY=#k>GJ$~fUBzi(DsPsLxb%T?im+-WUQ>(*AZvyAfNr{e*YU7UTyKwx^s_? zIEvrNmKp(YPhTc&C(L|+_h+Xq2mhJ_$!&)@8>tG}yq?dqxi~wtD{ky1nE8Z`N9&LK z(Bs{i11Q%2^lzjFwBA>eecrYjP^`&Rf26^>PNlxtzVM`Co`ZR<%}qP_{-FTFPU7Up z(80>GX0w=etbsb#Pd-ZjO+wou!1ld6BCO@HxKBWie6ub7^1Ev8JbIHTuh&9UJ9?l^ zK$P`DizOmfn#PoFL9$ew1BB~4T8~xT+nh{O_15Ml!P@e6a*S)R z9xBTlrI3ER;{}pg7gHXA8;PmBLik$)!lq>qMhcF&u*P+SX zqzZ$Yz!{2_>ZFafUx1-MZ=rBpoX^#OzoYLlYwgA@r`>T@KO1m7F?_RMJwOJfOl>EM zBCdD2$3wE&IY2Y3A(Imtl#ut^KHEt1^)qqe1l6o%%qeJ2M1;*eC%+`L?ipgV8GLM+ z{M+5wK!qWi_5?sfz+#L^prJjHrZHMxf>_Vr4`JMNPbSrz43#r#9rLkI*X`x*f(sp? zE9IpR6`L`-CLR~CL0%{EZaqPiFu5GH^y3&9`NGX|s?JYsZoc+%;vBB@D}gjq8sckg zf5EW+b~!=!;2nMjj*mxsJ|wUXknq}O1Kyx?Amk(>QMGy_cS?frM6cw!#eF?dgpIg} z7GN;JPoqZXct`ncfWOh55fnsnN?(??9Ph8$w9`biWu})ONPYZ5RJ-NzdCrf23Fx8$ z1_&yok25{(2Lkq6TAb6Hq%IP4CLA`y$_6W-TTfc@j2`XA#x7I8b!Oo_3J_8M#ewu zI(TCi+n^v}9-nh}+~6Dn3W6f+2&iX%Y}nu^LhT*~wL#wgk<=0%%V-dLnF#6P?O!(y zM$(n|?l^A+fZo;@4tE-gK4#=#!v>X}F%$A!N1W%7rGHjje&!$yd{jAu+C40p`poS< zdS84P4DN4Hm z?OfL@!KhIiV|^YPtSe8z_-xo+&QK)te>+Q|tLSo|fZf{6 z$T><%8^djeFiFr2R6W7VDx58&E+_!X1w#-k^F9de<@Pa;N{di*`&W4cqPl{CXw&-M7gA zhsx$fF24_61q3LE`apn=gA84Jz0jCLVb~S$>IFx()JgJLfv&={4Vi4r4)|466|>0k zZmW%#r@mZgUQ`KD)fJ&wiV7^Dz^y*rUaEQwdDlW76yxXbeeZGI%(PHlL-qg{Ty^z@4oWVG| z>5QY@r9j87@dw>;ybp1wn3eJ&m(DosPDO?{>hJGg%s73MT|c9At~*VxoLCLg1IWbr zRGTfrH%P=y`y{a)=UVYK4nl}G?5P|NZ@7f26e}0B~Ich29Zd&ty!nlZiiCrNuE)T3$mcocEf6OOM>dOwp~Cqf>YcPFbu$C)!*PIQ^eeAZS0sCIn?9(KuZcFB>ZzATDvQ9EsK*YNW1u#QcLi2Rdt4 zu?*a>I@_=A)T0HVE<8EZWb=P6F{^_JhdDkQ_wk3sWB-i4pc?5Tl+nx~kF2bqDtm_~ zbm$s5zR*erSOJdG05?Aq>^86WVG&B|srD^-ZzIL9L-b7rmOJWx_$dl&X~Aj@%zQ;N%6woLN9Y@EP|{ zdE#C4#r~|zq_c^DxBY5PVKs^E1nnm3(F{TP-ReCjw;7DA6yGlh^WUhtb6DFgXb1tc z*>v9g*UPU$%SM*6dK5Y*)e;?2UvnFvd}UL#JafUAyX70uFF(SjujYTImaoZt%Na!-@3q6L zF04wnX>D$&h=MUDSFwScuq95?tJD7p5b9v~CBsBlr_SCg<2#ahqEjom(|S>$!11yr z1e3d3lULRW!Q`MBz$FNN!twg$g+UE}3oigyUqyaZ6;H(^1zPR~p`^K${yr**%=$-` zQc6$0L-Hx0-HY4Icn}%z@JlDuJizG!LYJK2hQDk8>TupDJm>LXj>@-1nFd#JqeXM6 zhxf-Fc^bNm9e-AoHVTCdKty?&a5C2cC-a_f_VDTI4433{so5$7_w!1ceaT-~*MC^~ z-?syXTV&U#e2)O76da7oUKj#n7<|FM|21j7mA3KTn;$iYDt{s9^ScRo1?c)ixdHPysHYaPX9qF}N~Vi1diu9rRTkJrVlS^F+D zh!(~-FT!0K#2S2f^7#Q;=Xkz6?fkVws9XRu~2WhzyKg)BgO@Z z{QvPa5J7@0C*C{QHmy!KY*s@Z?an{2QW_dW30w0t$O*?^Ke^a!l#EOt17v_{Komth zkMKbuq+_e5mnZh&u*KdO;W6QpP@%|zs>#&mHziK)1v}MwdgHut^hy< zpnFR6OzRj>xgW;;0-8M}Aac*PD-D;*bDCOnIRX^hETMaL2ng1aeW=Y3dR?~QO_er5 zzhE&`HaU|G0zs%Sj_J*XLnOq2EGxLJ<^EyhOlf-)N3K*z7N-tNoZ2Euj6tB_R{d2T zfDBPJi)v7K#XSweeS9o`5=HB9QNq}rs_Y?Ik8$o`)CG7N%jF&ARO9m$MjV32`a?~2 z@E#8AFzl;X*YC-iKhAV2DCf~~6&g!{Bb;NeZT1Y=09M&Io$54{rLi9k`1Q}dfW+d_ zqsSq*dVrF>m{hFY39ABir?*n;!OnI)2qXp>hrCE z7wvR{N9{9}0F3EnhIgVTISW*Q1^`6o7C(TaEwxJ2(XRxhdOeu-T?C(hjN^T)bL0J2 zjomjxenOWaqvok#2PsGpzDRw$?GS{l5a5*#5*JzeFq0V|F_LN`p-0g2$431A^%$BV zefdT{swGB3-Ur|II?D92kN&2wD91sb>)CL*<$Uc?5@@hA0m$INBb7(;tX|o^4M6$m zcygrnpv3jvoDZD<&C2#DhRN6-KTN^d6T*lH(II=&8pq!KZ|-8ZZw%TLE$2?ZxjBqC z9gL=&R3}T@#Wl{HjdGgU{(D>lQN(-<9Ag{veQ`jY%lBIL*!NmN!tT*J1?`sF^Yp8T zhk!Zkpbo-L8>j==9BT|Phdfn@o9>(&KF()rnj@%!Kfg2-cA;;`3Mp39eTHG`_G^bp0N)7Q)5`cMD%nT^8arz;_o5~zE~nnJOjvP$qA7JqPUm`)(5eWMxxut zIUo1?ml&-sI(|ycXa$aE1^EBd6PJUcgqi~g8D1LU<4+<02P23FM~XG8@)uhRAunCl zJcu-Y%EDZUl(sEl7KlBTA8SO7WuauCgXN2zI3Oa5JQNtka0}M%=5j?*_m+cnu+X9@ ztwRvUtS@r{xXR4EGV3}`N)-&Zb~58@_yu|UJ9EW0q(-8PXI}~otOII;qP;MkS_*~p542w*{KXL;&l%pS*;zWzaC=j21~rEGuuU8{d&i1)-)V{VFA)-6ASoJ#6=QcCHt_t9(Cdz2f9xB zTJO8+mAtqh+~ekGrZh^~ssD61>xN|v>O+OxIiQfTf@#_;7L2-rY`YkyxLQ2;Vz4WU zV^E6u$Z&_k`TeTB>vQmzaCRMOXkIEmmFc>=_tC$d$Q5`p1jh1xXL$me=pUU2?F7If zh@JJ(|EPPjS%i{K{5S&fF~nN3W$nTbOga+4G&}7#sKQU~!RD!fO4TkU>DGtTCF(Ox zSfKbS7ZLX0&BxNFsBi?{bC&3Qw?&9%1oR)nc-4AVrTMaKc6tK9W@PMABM`w{>t*EoPzp0T4YQu$qU_TrJAn-`*{vaH0XEN+-PL9`AL8h`~J(pGyp;AHUKuW z6l3ySgxlFV1m7T6EjD~5A@c2376gY{UfL`GxJRSuYKQT%A8DGdE*>`&&svUFG1%4( zY^4QV&rg@N@s0q$!M)?UlBMkpv?Y)AW93gFX0*g(psf9yNB7QRgk^EK%qBbO?8LI- z575Kspc3Rohs)eS9K@nB>}GLI9+?BF>+DLe=2L*a4%ngQQ~S}<|8@(|+>$hRHuGc{ zODP>S?X=71SXM-Y#<<)%?qad%j`&~IUpDe(5|+!fSHWf)vP9jwU(eNx>EN$7G6r{( z)ya#U?w6kgZ0J1JkKn&(jD5phaT4a&eRepL2chsF#M7F_@LEl)X-Oxe)fj=mGZur> zcQ<~RoS(JyhPlj>_b@%c>av?~1vu7cQ$;-dMB~kZFir!f-$+aUxj0XQ;X^O;xS!*15Se=nCI})*U%6Yz-0f5b z$xO%V+_LdDwI>0zPlUBL5wPgr!?`=ri+=Mo6IFXLT!Yae^%3>PW2|Fm!lT+~He*m0 zbOeNwW5!WmGx)`EpA|LQ?+*;nWvm8t+f^7<$Mtopz?98tefUmGIi}unb_vhaZ3We- z-aqJ^>}KM@s+1>N*{jZ1WAC2;B)!SLqP8}UU}ri3&yy;0O;7^qe7p&*b^cOXvolbe z4{qy4H$SbmIjPz|Ee9c;+gO;}a;|BZzp*!h?Yp+qXEx0pLrXbb^5QDZG>7}{)n^AP zNkUARy?mQk-+okp4*KqS5Ea(-ntir9S7Z(v=OGs zm2&r*`38SW|85KG2AyQ&o3G!>T-olFHovg~3F(ya5*|6{N&n77w$cz9FN$3b9FRl{ z#ElnO^RT@v`dH^RHh1@6{4fp$=Aw5E@BAkL7{p}V(1VUfD5@Ku#JhCB-tN`|hPj{j z=@RGyj$9Y~7+dzzgcIZlb2E7!bXmj>xBsiEJFB6nv_H|ZOv|?wHd@wyaMht|Z+<6? zLxmA2c5!FD2*Y<0ysz#5v_SNyTE5f!#ZbH&nr#z0NmymCHJ;65?U#tQ*52SZy<4?< zfhS?9JR1`hFYu#KVO^*dBQZhkOKUTl%&3lwQ6pzbgEh@_iVJ6ypav0R+|}t>zciPb zL!?)9C+old*b{(SyWTu1!a!MlK1&vF*un_%TsxER%h}}t!RQ7D!(C;zo7IoOptt!o zjN7vuucNP{kPw+jCDQeajA}G^|73wZrG&GV9!($C5+M~cQrZG!*$B4*h$cCuj4*k| zca-htXD2B)9-J?#h?HcR2OUUP&)75!-_=hkV#(Xmz&-D^GF)8cp z1Cfk>@e4&Sie0&LzbMg4xT?7iqtBzHMx#%0+~Rv*nVw}G^uyL)AK2nP^^i9?C9V*s z%FPMPSsZ^V1#r?~*d4uscp)A+6%9*+6tN-DD#v9~+c;`a%M*%sU|v-8<>0>hL?|<5 zx)K@@*Mv*B3sGu(Kpzoc#P6x#wsJYGED4i{p%Yzv!uuU&wtBks^pjIffK`D2K-oXr z-k;#InU88c`%>b+uAqwckGy6CT1B@t%MxKjT;c-TnN1d>S+%w-A&x)drLa*X-kCLo{T->mAu&d zB$yLG`mpp?60f}7n|@g4z(B@pSXBpp+;G9woqQfiC6X_B-Zzt~X)k((llhaqSgdKMe6aBLw@CtOsN3XIYF4^P#6a{B?s0R6C*q4#kGz9X`oB ziRv~H<{LkGwr%SS*5i2q=>OI0P)@$xa=}QmxJ-YK1I!c1H&jlk*z>s}4-Xv4BJ>yP z2zdW%zlD%e0O`kUWOyasqv@;%R*wj~CuOWY{Rk_jGar+)QkF8|14T9Gg-iflm44)<+h;9yR21z6XlSv(M<^!A4o6q zCk}QzP?P!^ZasY_CZ=K*V|wO>iew1_e5nXw}TwrouZl-h?fKsn_f7A~nUiH^#;wO|iA=-5%1g zn3lYd#4kjH)+UGe-vb37`sZw{?R;Gn8@3Ci+D(*AiwLT4zAM0r5JB6B$Dq~P{qYcX zCq(61#gdE?O;*U~FLj63St9r?)f3L0rkwrXXd={brydqn`gXY44yl9K2+*tj+Zq;< zle;rbcAIwooeUR;LUi#ClXolS*%*(ZWiJ%xA13ktjjcje^}K{i|D%8j{{|#iIPUbU zBLe`LeGFZ6!79^m^h$5ms^pETI($D-!n8=)k)+|g>0`floVg;hih@r280=Dcsl=$@ zzg?z}Uf#<%1%MFIp{MIRsy8ZzxoKD5%z1;VQb{$W0Gf3}s)~@w#R=b)-)?I|W#y0h zGN*X#Jh@#?TDFv@dhHuMu%>|JrUHP1tngRfBxnp5i2B2LClHLXk=~8pM+uHi8}6By zEi|!fGvSWh%9M=;A(JfH{(E8PeUs)di>*NIYox=+oc-YOv6<#6_iIYLx{b(AI#N6Z z{+(+uZ9j6n^H@L%61)N1hzD86L_d&}nAvjZZ$Dr*zbg9u$pC--ySGOZ8xG%Ed!~5D z`H38HWNEg4G>5-%Ff#E>CM)U}amt+wx3IFGDLm3Psm@mA9wP^iMP{N-)Q?bIkdmc2v)@`&`tLAU z5Gx3hM>~2pXmVlovE}N$)_Gim7a5rx3>&rL0~0jP6pPh7Sap&Eb4o(H5jM8PSTopz zdq@Ec*lj`e^~pZA$izkL8HJLbr6aZ(+2v_qogQHsllmi(Nn}1{pG9PR3PH^XUgSv{ zTs(!m>ZT_S}1sA^4~62Aw=IO5uJSvOnwrt$wxUn z0LN6#EJ8-rHOYBPW56`4I>FJlhAx)QNCGehrA+7ES|EEJ4c}rX0VJI_siT*N&*`%n zgU2g9CDF2C_hjVLi8#Ua8MVVr!_=rFGCxyfT3*lbn>hL2Q-(Tr?X+0F%#OX+{0@B> zY42J?zd>fbqSnz;&37#aV1P#{9o0L=tsD))&f55qTAkj8;8{*F8xNt|ct> zACt@Y)CUv+z2BKAsqDa6Z;*9Xsvu%-M%-9utm~jj z00gBy6SV3#(Ty zFx1yS6$|&FB;Vx8ioco;I}T43EqI?Euc1F5R;KswATktDh zi^A{Kz7k#*7?MA5x;wYKQ3~bO6D~Zt_JI=xPj=x8cDA-(D2jQIwaCCHnI4@-|L%wg zX&FL;5|~`1PZIG_G&bdasCQy9+I=4T2}_5dySHk)KPo&t1f?*?0g zS>Io(vVUgbpKk+$miHq*cnT;oEcQe=?3$BFP9h}6Nfal);k{WY{Nm!Ogz-r;WbYNM zPW)k9zZn`uIwcoH&`0oe>uN?Wp38zzMq4^ZIN$TutlX4#w@NYYI86|uryBgp3E?lF zt5B?b)i!Ip)TI8Wi{k{JpPJOHgeDjGexI;T8nMQ1F0X%{?r6TCzs-f1rdWxcwEcY1 zKuQxwWfY&o@bPqT9+4Q z@aR96+Aum$aonM7LP9G>lRQx2P{y*v>st4GNrkjlR4Y1gLcQVjiWY@Xd>oK9v{gw4 z9TcOzj*e$z|J;J|h&j*djgufX4QPelgMcvrJZMF6!~91bk@1VPGKO1beZ@5f7(wlhy>F}iwy(W4DFN&^5eeOZrBNB833x7J!e?NA)g!k3_B7Z z!?5<=O2`>=ee5K#{mY(%2zdOHS+4>!UtyUYEn*}FL#&-diY=Ona6Wovp&JkAM9J}W zDJRmYfy6MDL?zWCAGibj8%y>UN~?&nnQy?m(5oL3cE3{_a0R#ElLs?t(-`K#oMO1n zLtc1GI`f1tdSSfc0mrVowL@vV@~FG?Vil@1NEW07Qv~pa}2#@ydyCA_qLMIXTKl!z7&!9v=OE zUq(=PAS1)zfwnY6qr|w9f;hMAYmQ9d1=e42Pv6ZSog%u8*f1(w0^0vjhBqV=Psw#} z7AJQGqY_}Mwde!nlE0mP#T|6!us!%srdBg0NICJJR@fH@OmNem7zwV8_cH=KyUs_H zoO7FMj4wpsh^C2=hHj6U(aWS+z;E8 zrNWmqSRLd^-$tL2-}JH?vx5br>e*d85yLCLgixUT(!BaJw@rKweSK>0G&ZpmbSwLg z0V<c~F0-x~}eje@L>(}f4ny>yIKQdhtg)k3f3Kw|gWMPT@??n)o0IggjVK;3| zs;wWd`@2YMh9xh`o}4c&uBL*LB?+u-p#*&`or+BnTvF}_74rj%pop+5ucHga(jVJe zDrw9seS%EjAIJaxTolitpfng$J}Ep!-60H#>_JK3~Jg;ic1m6FJay z{)`0%On=NYLazh~y;^bL7Azq`*COcckRN!UV{_4s>0)r~wV1in>H2g$kaj5e$HluT zuoww)C;e%#-U_Q`csO;ri66Na;2@pw&VBjmjLR5?!2i$VAz+7xmcih4JSeX{dJAIS z?)BZaPMfueb1Q+8aH47W$XQM~ayLIhfPc%FSy~_2+ogTWz&H%wl3SlRx6Cin zY!Sd_K7BBCxazL=uT@!K2k1~dw!lT%JjOAe(i0L zo#iCoBPcq$3FD>d4&QV09h$Cdhb`r(D+^G*UcVMd@kYow^mBZp2URC|KPXv%LK!?e6?WHv|Mbor*SWoQI_P)!QJ4?$r+A%>)W4}{& z`Kfs!QoDyBFS#o`6gBQuzL-cBT3QAA{+G}eB!|A(J8Um`&om4PeHNpxjs650G5y<1PN7u`y0|t&8SI1>`M(1w5Sn@dJr7^%QIX?N zrv8e7#zCQV#_pUSYsdG6ZHqGO^pYXX-gWh&mL3KIa)sJ{kZcpwW$0YkR<%W#yJx$L zob9Bc=HYn-vGNDq(^LsMcRkp=Ql7b6yL&#vN%_1)*0dj2ktNOd;p>UG&uisTJ>n`4 z*T0JM+m-|yJZ(+1|Mb<(jJ;6%c?hPMQlZfd^VbKrm6byBbr`pl;_E$gyogF<@1TyB zg_N6zs#{RR(1_f(F@$5!6S&)di@Rud&P_O3o^N%Sx!5pqx;#+bM=(S=E z?+LtU1ghsK*t6Iu*g{v3e*KW4+=}(?@@;F8+Y5g|_5KPn8pZ#9q-s#8Aye%)2IyVU z(DMdB%crX>LU?}q4Y!9Jx;+eRecL!H%=FHMM7rue93#9>^RTD%YuxL_Cz1r#M7^-n z{2#3W(Mk#tS7lbp{6})Hl~_Oj@q{24QnI5!ra4>5_hZ>`CpnIT08y;Zo%nCN zG@{_CikDCQdaGA%b@!V5AD@i4ztu`Lz(i$7Ta&Vf^{=O%T|Sjk+k4s5$LvdG1^+!N z9jXV)KH^mFl(@W$!8~HbRJfW`ab1oXRSbcgv&6#^spoGV{IP8ExR0o*WT}z~;0}K; z<*(ncW3GIQS}q3PMM_)hL2Ry2sDaBn(a+oB=wq(*k|keb)u=Qjkjrx)w??-3f7?Lu zUg#9LE^MMSLtf;Z^1RdX+8-YSRtxS(K*5LS{Jnd!0Xtm#M+O!mT_%Zg1_5#uK>JhvYjvC-*1Zj zIbNvD`!ve?RBZo#d)Oa;0U7fu?ERMH-q>(WbiCF?`f?D=l+rUMEIWewg|)|VlVb+9 zZX74jAPw=!?PJqXVkKB5>HcGPq`BaA*ui(b+rl%|gE1)oSbA_Ez6L{PW4hC zLsiVrbWEmV=5Z{agUs>CiJq>mh>EIe%Gz)_w4>>^HDB!+Wh@}eF`QO3A&PQ<(6?x(P{FC=7|AT)mJer&g_#A5~)|&-j=8{Daucic>C05W? zLm^LtMOIe!sHn2CQWxks41E16S4z_WW{RsHlij)V_3EK_+b-2xoGVLW5reClQ|44gcez)Xx(&MO*|A!xGK=3I1hX#TeM}J_2rB z7{ZZT{t6$BEG!PiaA~pezKk}C&hu?^_kKr$|IddYp)k@2+0$0)c9(wJ#^^O1ib{DF*s-;h&&kQzw%8e= z*XW7)KtNzKz#6oVHA-$f8`^&dSizlx2@9vZvXYYag#}%gDjH{JEvqsYnxR zTiXtR!(caRe7pVZ*};tb9d)82TN3^R1$; zo*oGHyzm8edcwZ$FD$^_J@>s)05!2sij9hjdedf%CEEvo9z`{ zSQ1@GqPFp^{o_PHM<7)ZI#U%{$}~85@lnyyjKm%p_fwL>&(B=|wGYE*TAc=R7d76xKh!2l|2)e8_7}8xwkN0R>;dGTnAuyJ;yPYU@eo08dSg|kpTO$# zq1(^^_|mx1NKb-BN1u#OoPXH0&=ATdQE&j&+h;?$Z65z}O%IrWWgmYXUjJUIX)orL zl0=+y->Q|&4&O9y;Z}*9{dX{g9Z_3bdm8@2wwc%|i+1Yz>g*S{2ag`nV`5^;#WU2! zgM-{*m$Qen>F6^aAOAy?RDCR)Xjo!Qv;pal#n6?UWun@# zquMbbAth>j@-H`B2zj;H>Fy2ydUkvgW-QPlA762HFj14q*4^Db9WH*{7t>4kA~tAq z)0|Z|1#36D#w^6spo?27eZb#*MVGO6+2Qz@)S{Xau&Y_PsL~#OFD19=;h5l$IxmOc zF?*RXXtkH5%CBcLk*<$#IZSZu!aLfv zHecgAugzkwPEEBz(~^YLu*8wyTa-USYdg`;=jJEr3OGmRJ5>@`e>hXfts)qqb?#c8 z=6y*`b2F(CNY+Odmz6o)s{(@pM2RGK?;h4#n3!}bhAuzTAzFZ?QBAKU=Obq zKlNLkG72x-T)%$3dJPK`bFq=`!eUrci?~f10f!ia~<=w^pk;pbw{7S|NPQV zh+IZPnvw}!k-LruzfXdnW*Sw_j@91(arWKuRJZZpccRRY5Ry>{*()O>QdVSVW^XdG zXCa%CUC7=e9P?0QWMt1{Bzud4?C1J+C+EKJp6B)aet%S_j=tl%KKt|jys!C(WLK|l z!^Z3yRNZz~JJg7K5)d)0+ONtdJP|ks!(unJu^b6q>U1R~CDY1O zj$f+l2|5n7uH>F8bMRa)QjwPr4+#x*S&@D4U>1=#AZ-LM(y7nm8NgXeZ(5>jpW!D# zF>Yx%?n)B=cc=Z*oL(RO%N<@s|rpMY@j3VgQ zwZHC2Ov})w9COYwNUhyG6#u8J-%o^O-Ts?ZZVI0m55dQ4nrIxOqXomR98o4285!90 zpOs@6VKdQKgRe(sWpW3G@W*;&!UsRd7#O6IK3iB>*@6-E&OLZ5Fk>}gq-zg&e#UJz zUP?9y?G+*T!STLgQCI3(xg6QENSI%4ZKM_HJS!9e3rqLI{QJ>8@pI?TZ@oSdbw4wI z0~EP!dH=zlmXn#5qD1I^lm9H;2wKZEO_*}FHQxO~hOFr5RK)%zsP_lALh zq)s{`GZRN$wjx8zS@Jn6B_-vqeRWk;O>&580*6l=n5!d3H#?~3qBl&%8$J^!fY({1 zllPT)DSeb7x(KYK5h>Pr6q_HR=aaCdhDE!?(u!zm_pT3<^s6;>Yqr#`I{U-jB|I3?ABO+x&mQ`bx`gZ9=`YBqZ?9ha zS9JC>QaX$u8{J;o1Cau}^{Ur?xmN-{rv#P$Q;n|Lr2#cCViq-^I+jwk9S%aY0ZaJn zTp|1Ym2x+W%*x7P1ejwYx8}F~=Ih|(L z<(gP~)I?#^0^b==n27#7#v~oiHy5{(DC;#U8V1YkT;Sj9%1`91up)wlb@qA0R=q1$ ziOwxl&C0{Ra*=SX#MMOgd`rc@90d~_6atxbSgY{rjCByr_hVsjo zdsR7q*B5h^9L&&uE7@t=z_s^A#{>jP)kj@j3c`6)wHbr10553h;Ls-+y)L`Eb!8Tl z2&NDBeTd_9Gl|W;*7p$yaKY>`bLuEAxaa!1W~EgEQrGxUJYL{|E{a4$me`yDdJ#Bj zVs{Xut3hrwK72SI@y&hJJ}DA9ca2)eAjkKOu!lx_#}lIXu1#K>@#UvuzEsOy&l26h z;KbTfJf7IW(r?Y6@K-Yj1bRaZi_iOAVGOn@I9;1n7yb#|OIBog(_D`N#5$kyVl2J68M--diYwOxJX-qD?hJcPTl9$f6MDDMI`!6zAHeb1zc zMOZoXFx~da^T)e;dR|RjZ63eSJf;d!45mcgN%Yu$REQR+dbYTZkA_UJC1oXv-@XY4 z4kA?Nk8vQ*Ay&rXFx=i2E-5L&Ail$Gnu{e{*Y6B^ubOU_K2ce#x^ez-d%R_rC;V zHPRNjs?}Q)=9zubG8uNEur+^I+(MmRc$kOIu35lb08kQoefX!;ySX5$5WNf{vdb)C zp?Yxdpi>JaI)G7ice+zzn(w`^Leq=WFQ88Z+K{Dah*!J#9YHVk!U!hbW6oB^0*#Q= zJPs9J&S3=;Q#UXNVpo!ol4GyvWTX=^m3pE|0G^A0E{p>WJmj6rJ|M%2ZL`0LvQ%coKX3?leF6@a zbwgB+x~m?4d^QdN|7*dZBuky^)?!Ml?lTf*nj%08z|1%1(7Ql&IDc;+;PrXm9Sav- zT>j+n8yC!?xV;7Kez9xC2VSd2WSw!m{-ZevC13c}AJ0$gBMLnSE?- zUDWa6dWH==h_vk+@Q3<&J#-)!|MGWfDqqzkrhNk(f?6ij>+%COme+uX_HN zq^PQ{o|qUIpa-!{!8Dy|?lUw}Hl5cC3ugSz>tE%aRz{v4daSukczFT<(A9#kbf(y+ zp8pKGA}bU{p$~B5>Zt`5pJm*J$$|r^wk0cFx6Ie%@p59l+rR_`_A{Q5#H*Q_H_JeP zMRR#yYsVe0Wk`$?4-xw{^xV^B3m#rx*C-PKLBUOrZtpJunacvO{Td&i9x!!FB;~BL z05y1@u|!w%mx(XoW4LekH}wG=3+fP2kZAoY7U9N02Dhxu)iQB}=~|nc?rLy|8uInYRRC{@zxhbe@jLTeEn*-NrwHh{NlG_dC z2wQxxy02SqVK0&}T6>-DhRIG_zHfTruF8*~D#x5koo_n(4{wgvk%j>f^TUxDCR9H@P{Vb>)ec0$ve~+%e6ZUTzU$pS+iCn87z~n?$=@4)IK{h zQE`V^Pn^6gHq&m2dfqKfOK?V~aMl%zyp(xxu0jW&;(_$YoSfDg140l~#ReUESWz@m z>Qa{%@wN(~8SzV;&6Q+uHVzVI7+ai zfCB~I{b&7XQgn?ySzcFhXtM%RTV~^>JYfFLX|P#0qQQ&Z!Tc&dP?<6vBkFzQ3eC!o z1tbQYCD!3!t~vhTdR(i>YTmAjY*#}69y{@iWs9Mx0OVyQTZw%uCW_(agr_bDtMWiq zR?hxl$K|1yHWLNUrd8F8nd2)8%{1{v4vK`p1k^6}z1a~^hroz>9i%eEVJr~6f+%;J zf-&DD)|>(Bl#X^jy@_2=a7o3NgE%E*3-CGBn9EO1O^p*+nJ9%e=K1JbG_NRSd$zZ? zUs6ut+%$waZ!WzkD1(^G-dhZ^79MM)gNb0eTH^fD!p4E*+F8}sZjQ3j(sq|{%aKwk znDtn^*IHCgkwH_T7~hm;-YaRIL78m!H;2MSgD%;f#C6^;cSE{zR0|$fnsZuLWWF{S z>ZB++SN1IaOR8{beY|!Q%luquqJ`UnOVxui?VZCk1nr1QZHnjkry`yATco_HD9LAX z&4;Ammd@Z7@frNB+bK^0-`IpFASxqyuhJ`oLF627Jqhua9U)tzn5l?f9w&Za?V&@J z!>m`39CrEC6LhnQoQC*bgEkEpNp?Hw>|_T^DHeP4!!LSg<|vErFb^ZXb^;-KXZ!Jfje zv4@8WD>XHTr}`9LTT!HuzjV{yVxG-fsa8ps?kIbt1eg6)|cpFk^>52jd6kUMRxLJ0U-c}Q?fG6xP#a} z2G=64as!8~k_M-m%9Ex@@vv*>S+(ckKzv-MzWu>&rO$*3PSfqL-1Z-puaDA~VgKE|(_ z(NGvS508h*@zEjkDnL^fW!kydW9WEnsemYG_oE*U>FULoYxFhM4*zIY=tISMN?wJ_ zw0lOT??^yKn}=JfvrJJ)PEc&qKH+tIxB+H0XKW6t5hU4>aEw6h!{okDTg0FZ4zb{s zsc~GV+}I(_nW2?M*sWEPTeDA{f-mPk(YOATu;SKUEKm!mBb_yOeqc~9OVec3hq-Nz z!Lh9CR@I{D?l&fy7sM#`OY~*;U3SpCF8Jnax&QLhw0BX|Q#(t*5Y6)}JGO15s++c7 zAdItm!OgA*!?hp$dM#Xtc4@GX^etOHy}ro7_%&l(ji@GH3EBB3PqrWYyH+-a1#0MJ{mhn4zu%@?SIZ)QGtyMcCh)ln`(+YQ0HQ!)y$s6 zH^NZIkGb!XiV!k;O2+lT4cBv$+6@;}uVRU+;yUN#a6!cFm2W49Vn<$4uM-pQ3KH&? zu)lp&@nmuakX^Itw`H)KFWgcsw+1JHFZAcC6&@u9n3{DDJ0Rcapfs<%Md>gwJ0%8j zFZl;}l4)f5LCN{qLQ*_*ttyAl6x(0FChugPyJ}s%!rT4WJKOWC>f#e-lObZl(M3$p z49|Y?(aq5uBI~FCMFiHa%J!3eJ?rhIP#ZkN55FtYe)ps?s7s|ob&r?5C9-o!(+Bh* zdz}B|zzOyOJiv$%aZ9^BTCYjrGAp*^lM%`R3qSIK>=Q^hQ^>UBMBa0w*6-hu+=Xo3J zFcY5x6HFHDSZquXza%5v^~8-ymO@!|g8LPa^(MM>3zu+4akXxCu=TH1RUYeoF&pQ5 z3u;65hfIIHuJWOP9ZFMC0psyusZqJN3;Sk9>)qnH<^14f_D~AR8>GStbw!$4mvHV^ zAU>K7%>g1PlDb8jD%CB$CNpb)iziKEXp%P4308TdgF)I2c<7ag{-Jl_!^6Y;Dyq^d z_{D=-U`30~X^k(8NpoypK6pmZ_-1Q2dCEx~cZMn8ht-0zdF_}&{@ zP#b(y%#%f|kK9yxPE$2oN;wuL#oPnc)S?pGHA*M&$w!O!=L&L*h=X&Abq?yE7tRT>3al$_*tyOq2R5G7Gb=Vw1?k>ipSwtz2(s zuv0OqeF;12)kR(Q04S`l()-FT(I?|~NO}k@_ljEV=5t@Z`cl%JV#s>b==4e3R4od{ z=f6N!f}X>)jpNdfF_u@V`5JVf##`u=I)W!Pged)iQM3$eCt+!XrGUP}?i+>h?Pgz( zQ5HRiwhVpEtO^76W^*^|C+*_`O=GT&Z%jlA5kKai_FDrI5RB-vXU~pbusv31V@d}+sJmwJSX)G zH_sz2ugjpC^;j&pHl?s=-&i{7Z_~cH$`fogtbFs*qS}J=S^K8$Rr|_Lin^UmcM+S> zt=XM%j?PM&n|1k(^*;ldZ%53pw^1q`_p3heZ8aMay3jnnht-MhD?O#B>O2ctskcK7 zk~>khiJCwTWRBb-w*{YErd>=Ql_qjkQn2AY{?RNF4bI@`wisVKS0rp>ZCuUAJeETb zC80)ORB0T~!9y+=BkxfO{lwFK=Y9GTO5v{OV+oP2iPk3i_1GDOdN#64E*YWve1@q4 zh`DBvQkgHMzq(LLEDPFK?SZMD^dDUH=zIwS^x(dgLd_`lE8?!t1kp>jzyRwBWaM9G zuL}|V#hCv>eUgl_ey~U2!rni+S(~KPLR?;g_Qw771gp_E$Q2frmLflYmg)|=>}W*3 z@}^qFuXcQ5f(;N~*@xL!S|X2B>imsl(~0=<3~Zk2+2ExOzAqnpl1mu7S!(C2=~q7v zOYd`*J&sREfHTpq@}$bAdO_Xgyb;&HHebhJ9FX@?>Y;xySABsU(axeO`Bkm%%w@ECcrmP9|>lwMYxG=72#`Rk7bHk__?Q3^vK)4EajsAR-Ys;UwQ7vuA;pC>$KwcI&1hygW3CAi9lQ4}WBZzzOLhVb-0yPr{Se4HDm{!!Kva$O00uGm z;~>?z;^%C8aN$uV)+)JI**)K^2MztLV8Q~RVp*R5ieE?9sgn^#_u5QG7Z6xf%F4<* zBcyn^xi8I|4@pvaPEzJe8-#aiO(=KT?$7ZZ%`5SjL!D|>Blsshv4j~6b+(z%Ti`F9u%X{;Frntn!?L@;igYb3EFc}X$z|N%HE0fV`AF#zYxM?sekUyK z!W#d+Q1zYAg`_a~@&Hb;2qdXN=03Y| z1+`sz8&impwvL`QiIH>Ylb^}*#BrSP(%NY2VQt>UNisO>Fnp<}Rur={&EwpH2+AII zLqQkcbzH(R_F|}n^lIzX&~Vr|$AFAOgR8mEmZE$KrAHp{l=E*>P*F1P8P@%eD7XlB zb2_^&5+{Dg`4EfUwTJ&*`Zi`~dq0g(B%F`y8VXK@IuEE}k-mL6!~fz|$@?+K0Hxyp z^H$y1oqJu_{f$>0qfC^1G;#&1C&|h;%Cz+~5HRLZQ^DuYpQotgj4cj~z_eXPl)HGX zOw;4>J=dSV2UA7vPgiz$Xr@oF0BJXA>ba!iu=Y@Uiz}cMEK&ZycuvN3QreBP9qG3k zWR#to&^3ardehFtL49b)Mc0FDrOcY5P|8FzV9sG7HrCeLI=w5sgN3?lRy=u#q9qq1 zBBJpm^03{3^4b|Ivf~kp!j56s=kZpl6)5&EACL)Lm(4fvUP6&r1-G9P>-|4Q{5~nVR3kwxBw_`CKAD6%Cq0FeMvd- z^Y%9r2bBNbmkQmtqzM?Yu?kW-vY^gZ3ufVoh=a&M~uV+E*+p2QpX@7?ipAQ^m zb@zH=YRowuXX2WgByB7*W@n9mHZD>%I3&Y?5#EM5#>d94AN4)y0H=N%0pf&lM|tBV z2BNCs@TZ8U4ZKpC0+xu^rDX3!P@Y>^7ur4h|M~9iqj|B?im=h*)3FGpPR53Xg*_v? zOitc<{xK3`=kjKi_B+YvY#H_KKYmmU>S$_eip@)ka~k8^DA|g{YM$qx<+o}R9su*= zam#g&F4LgcFEbEH5qX@$`X2-8mT}xgaf$<4p3`oq0VV7_3RrURRZh(A4Kx`-d1G}5 zy~uX{fBeRPsQhOwVuPceYxwOG=r>JCly4&MXN0absqA2hDNp;^S|>^K-vt7@$sB~UjyKh}}npi?(m z*0JPikfl6BHqho)((cL#|F-MSh|~jc39U0n!c05m^r&7KoVJKwK$Mt$$!KE)*pC|i zclS`{+cACYG6omR|LmSFs`hubo*Hhp-sk-f3r73$?h)FiUJCMBC*RU zcF|JS*@}>zl1iLu-3r}Obp!75X@^Xa1g<%7gl<`GJLM}`Mz%tQ2gKeQ6b3(=&errP~j z*IR>%K65HtS3E3--_udSAk-72CRM{qMZgzNfB(G--9`C-(I0a z^!LwbyMgEypocbA5LTvC;aB*-Y0FTJ%mNw#BRe}qKnxh;CAXiamqZ2fz72pV|FRIQ zTGP#8D$?Fi`+z4JcQVfWhCLq20={AaDf{rI_&*A)r|*%xji!Rr8H>&J_U&7YkC*AX zsHOj|BVR&SM)Kg5KzV>z)bQ}5H7z_C@GQaSlm~$O#;^g@m$O#c4&a=sXHUZXp#x1G zIV8{tR-{Hf;nqsUhlf#)bk8jhmg;(Vc<5wFmOH&iaLgrmF7C|i5jHCV1NMT+3N@8v z1-4-!o(&b}c`9Ikq4kqyX*f4ss4^Y;<_D1TKS_Nd2zo1hngSn|^yWe={kzQYLk zed0=PN1k&8y$B{yS>8fp^~85ep!d)YuRA{4pQ)TnjGUdFb;lqlIx61Re_^-mc;U(| zYEThuP0BTx_`9~>fyl|xz^~`(e>E$BqJ-BW7^B^seQWn~Xj<}BRxQ!Uk(y?5`P4?s>tkUDUjNx~szZ7Dq7 zD|G9(CMPGaF<60-Q&7zL+O<2%19Dy_%!Bz#$D*cEwa^6yAtgMc0@SeWJ&0tlyLrx2 zqId_CXYSKU&H>O9o=9yBNpZ$)RoM&;StqCRkgzaUP0oey=}dz+QYT>d>AO-sUiKJ5 zh{p*J&BZp3e+U}SFIDmZRATnd1n!@nd0r!n@0 zzX4Rp>h0})Z#^ck+beRYv|CSFOKrTAS-n~%V_i8D?H=2duaimxf?#1A&8!$5S1F(z z3tRmchGRWLLqh|thtm+8!tmKhJpTi>k4>C<8U1jupD`RSm%5~{q} zq34h%N_{EH9gNhl8cw@*T}TP;GAoUG1r;E%iYES^|CcK$f|y^~nSMEkYXk{|5m>79 zdNr(pE0b}LA6!9MG|^}vWri+}WE6jvGUYqqK6ICeMnEma_W|x0N(Pi11VV|NfR1#O z_!Bk2jRIdQ@>_irkaMPwCAx?5pbmO#1eWC{_^V>-*{8Yvl);MGuG)v1UI#L|HMzN8nAOO=5~s9^~YP;KxMipcT8r z@y?1MQEL8E7YoV_a&7=W6*Q#v4-~}dT@@LD6^`m9$?F9WA%5FSC@cAhgjy(aX4uFQ z4^2VU7_^D<8%SRb}Ej3e$vBdp9-BJk> z^^;zPMvb%WG|ZIx(NFvbIQvZp4lo>Q1tz*Os`v|dC@+GkEDn~B=XK>j@GhsXlBSxR zoxLCkV4S+P05p=}i0d$_`?X(9H!3kPF%FnPp$Nfe>$t%fC~qhLP}oW@BELkSRJTwC zsNw@)k40!4;5~5rf8;m1l zv)}0WzwGoZx&~m9N3KA}cF<_@8JSo=ZOhQKfp2B10Y}G7YZKH0Kwz$pk}da7H<>_` zIt$2Fvf`D00hvx@=qdA)sZhSvMbMDL2WKfgQZC0Nqkzt;d@{qVyW6VU`Q?l7TZ)mq z0QYMK4Tk@iqahFlYx~#r3x5tq&Y(j;j2-BN=pWyksm@=UL6g6|^%@r+zf%irq|c~A zL2ye*fV;?ycDm;X`p+Q6-*1&AN-OOxt2OA>V6;Je11KxCo-YK_qm6Isl!^KBY41z2!aEqtBlej2z52qV(2Avkm zJ*~L-y9hYfXJz#TmFExt)z#IVva&KPvH1HL#ejA!?icE)8vI06Ex=zj45-Svt{gMd zn%tePE_U>7LX{5cVqjD*3i3Fh1n#K!Grzvhc6Yk`?(|fp$gwV=OZ{T7@C1bFss_iP z9@tE{%)Q0ehPyu13*BoqYQwy#Rk6Mp$~XR_0U)6~4?&^Vi;mVtAaj(B)+++1%QPUP zZxH{kM7i@f6vzA*8X4%TM!x%Ocms8{PvihV+cX|$69aniII6%FK8fjsO18tbT-7!z zf|tC6-6CGBNMe2(Ml=oESq9n-E5b)NX{$(<3-Nb_G7DpHhGGY?My?xWESyJCJ|ke7 ziX>2F@zfH4V>tboQ=e(_QsZ`TmGU@3{JiYM&-{I-41za-JH9fhnj{srUN{lQISqWaG zzrk`2=P_5xT?1Cx@4>Y1?@N$KScdmb5mnIB0^C`Wy>ti<=dMhSDsb1iz>7rK9142xEE}b7$vQG_B zR)r`JOgG0l(~Q6e9rHELNQH`(v`T4l?yy2P{h3G^(vt-O6G{Npnqe1>nm(aESU1Ly zCu0>23pG2{nP|5hEjp-@i3xQ_2qrdVc?Q7gVjI0ejVv189v6 zPVCg~9L_n7yUb1Ig(sZCe5DA1^1hBsruyS5rQQ25?zu2UyMcJXLzd6FDbmYz#WhGY z1KqO{_&1wXkYyNwGs$JI`NSbR^3Rz8^7P{27+p`7*@NB9;|CH)93H93%_o-@tpb{x zW>GuOf}+hQUxK`cv@2=yUh#=_NQo7!XJplX0?v|5(QRao)q8pM4Fv+3jTtaza!icO_Trykg(m zc59-#fe*lDGXQzCtcQ~+5Nqil@Jo7m!1$<=k|%2z zsx+TGgs2=wt5sc^Uffz==?kqZXV9Nvmx4ph<`KZ74%~s6V@pRLOgZ3Wo_N^Z*noqb z>7CfCzcWN=94qpROX}dsCI4|7U*gC6=|%ci!bOA7!Rg`aeW`%0o&m6DBKMX0tg6UG zAAWNJ4ZtG3QFi!h*j1`rPk%q%SN{5#ICa*~ z4cK0rsQU)!>2Y1Lo6{vu0vRgE;j)6+BIznQzLO>QQN{wHSieK}qd%&yJ5c&SKOfPz zIFK@I0OowsVk4z(l4sUqr49={06(I0c$?5gPQti^Pg?SK;iXR%!~|A{l>&c!a6QP9 z`l%TYfUFC5RxTW^QrD*qR)zo(0R;vsv3B}jVr)XJQG5^dj>p}(H` zE)J(MB7`!wGKd%~#^1qGTIp4NKTv|!m07wq&v&v$5z4>J*Q-1h>T>LK|CY+J<7B~se{6<$Se@a%7}}LM`fmLfVQ`ii;~7~?_&w}Gw=ML9-Cn? z;_IA5+9L^1{+%smC<6Hs&>}K>)OUO<jfjf!s0O%M@-sEZ=>bz%Sofe2h4(eYFy^ zn7W;Nb*}0{44-&`l8=O+$pIQWgM8v^KsNjtu-r>OAe@Y=6!JA$L~3^w{nGGcbMT%y zk{$n^+62q%^9kEDS>Hn6?Ornz9s7Of48_-_&qZl5KnJngDh62$m;h7M$zLtZ&#&vO zEiSg&^iKPmuV^}veH^ZUxu9$%Z_)>16R?+Qv?)-V9v8tz_UU)mxYGv@l2k)H& zP-m_6%24b8-0@<=wH|ICEu>6s_cpo4Tg^q%Mq)tIJ3~lrFTCqF zlLX=02gfa!&!A!6LJP$1G@V!uV&8*nYd7V~rfLc-%=ORDXT7;)dk6XS_A&4VJ%8g( zbkrrO_B3Qx?eql2BgBsRjIfEM3m-$ectHT$I>bcw`rd$oP&NqW>Itg4BLJAednbN)@3XG~^2+8Lm=Tr54p{lM-^HK**~$|q>e(?d zi_XNgy7v6Wm3#$WMo$hU-8fNODBxcw2d_8z*~k?068N#t>p>@f{rl%5FoFFGj6Emt zkM#5JrRY-@-7$B4W|d$raK2dk&AO~*DR;;M_ec5@EP!Yas71FRKCH3bE%PN%@~`xckFP$Zm!+m}FWwRu1U}*EESVD}_H_ZFRK3sOl&Ll_ ztA^%xjrq1$44ZB=m_=&=-CkTgypC*j)up2-iZvn77K;eg{Q&O1x*6<_#*@y3&|(|Z z)%l$e_t1kF!ir1M>%ULo(~8q)iJ(_=%0ITmYIK zPLTo{5kD2tT1uDd^5ylgGF^LdzFBh6{jmdN0_^~NVclH2u(+*K?%q?>3aq7*+=|Js zsqYDdNA3alUODh#8a-O)ed2L^u{-DIz~QaA)8OO;X3SUfb7NrMV$-KdI#jx_9Gu5o zcrn@&rndiX%G}KC^YP)N&M^oXz_C^@gRIZ0f9CiCAZ)W60yOD4Llt@yb&EWW^}Lo; z#K!c$r(Mm#+h-UfwJxKq{V$t$KScB!Q)ev2o4*+`#=827Iv}i@_fL0}I9%uDCHz|d z#Uo=AlNrEJy#da-aP4wk24}X{D12#emld8)L5L5(iveQ@#J(oWyk(U6T95aLeh-Y3 za6NF&AX(HR0ukuX7ac?*OKWy#6Lh}Hi{OlP4oQdIDa^zt^2{?t%#2_ITGr@8=0Puy z+q3Jk5v;KW$Xdn9AYL(8_y!K5$U`|c?(50$YZg={46^IF{9jp*koJjJ`$?1G&DC$j z-S^8wVe}iyRy5^Pr$(Knr>A#sVA_knTF7^wf`S500AW7Vw8fGHA^+P|Tv!QUV{5na z?;BYE7+JX@>|T*99i}@&R-N;JMfE%s{MpN)o6{0738f~zsM{2*o5CRIFnOm|X@KJXyQF>)R2}3v$4MK{t`Y685#|@A4)(p6h?b+zGP|;DZr~br`-0Qx z-X3T(ZA7__dJYvX#DWv>B6Y89Tg<4+J_CV9)ne^c!~GjXFvc>E*SbUgE2;Hg&Ncr6 z0f{~Y7VqYT6VLZM?gpV&{0oz1??8A|FBk@`vAWwXC(oraD`{N09^%2J+F54P68`~0 zvtd8u2Aw5)aTP?-Sx#RQ=S@)Ce};|*{xdcgG+-z!WNM>5UEc8uo*wDxZ?4|$t0nvO z6Z)NH_Ed5+f`?QZhi&dQ&jPK9*#x^xj~?7mX>79;+X7=Yt~4a&&mL6faHcc$4khi9 z&)POyg)8O85BtdPkAf4eF8K;>33-@$Jr`2El8D7AWFImtoTFt#F{Upa4!tS`Om9Dn zo$KQ-T7tfJKu!eSIQWO0y0nu|zv3GteV%Ge4uPNmrB7dnSNUOvp@CawlEWi-rc1xPeX#|TL=uzsp*cDX%6 zAIWbE-zR8x|58odG;USoekMrCEbH$|9WS(vnhuuS_A3!Kbz`}zU8AFK>TGlPIJb1yoqo;PC*(L{`~|16 zgqdyRk|fV9EZNk2_aAjz1H)EvqxmVzOlOU&8G5PsB2rft>>Z=d!mM&;gT85C_LYf# zT@RtOTjKfwFF#&i)-we^b0uAq9O~3rd7U_zbLc?b+yCqzI%Tb~odE3p{ zE!|GVV3Z}M6i=`;g}9yjdbU?x84R|^O5h~OR4$Ui=1FYcUYT?-%>b{vH)@3`*T@Ag zI;?^dD@UlvIMW9xel{2qX5ys5`{l!}fJ6@`>Pr5hZ-7oX#6&CK$0;;5Zpn@Cj7>-; z|4Bm9)H5&;T}ZD4)VO(MZed#UTfkjh*rw-F%c`ZvjU4I zxIrD+)!>aQ8H9)=vh|x|S5n)z6}FQ+k2|&>5~pU;{H?*zn16=jw$>jC%J+jrJ78AQ z*rL(<@A&MW$}kZQ|H2BXMZf46BFMVuBMPvsqCx(5N=JgQ&R6woaWB6+^9h{%Gl1y% zoPUnUIGCXqHay;v{}tfKg@kT``Q~!d*v5h)p4kaQq!RM)N^^N$jjcEElE1G6uz8t1{@!3)!UYNutJaADVV`Y@S0N_?Y@TVZK7|*2u5N~j>9AXzumJ? zW9zMjm6lF7&wPpU!1L%RPQn5cuKn z%k68wqmq*#=?r>^cR676x#_S(4>BAOo96Eta$~+Gz`T?w#{L$Hy7+Af-6+8=h-!dw z3;6oxXN5^&0$MP)BeL87^?}J~0EIXC6e^uWwsjHQfJ%Rp#GujJ5UCmWZsD*tnb-m>s{o4NFH3G$UE7(=Q3pZJCx>WKOEc8J#_=oW+vf#GCtr;fsCR(Y@X zuj*DV5hgM+d|JXZgn*jH8Fs4xGz@^>7F^u0@SIRVwVx*Iei1On=<*k||8)K93cNxk zHWR{+N{mB)RWIPyZvoXBV5PVTpihwi?DI;ye{-uC5C(LKGm+|GjXiE5lHP(3d`zSk zrvY*mXh6{73vMARn|e(B^Zt<{rFUudVg5|pnc73Mgr;)p|Hi+5h2kw)XKB3B}he8y{^yq4sHRZSH=k(6+YHMqcFS)+)mxsVk9jjy2 zgXL(U9$K23380|hir`+@WMN_1wO^hBSg|=jC#0UuO4>UT%HV}u3S{xV`3UU|!k zn+2gTH{jl&=+?;HU2EC1TA2LKNRi%iZa%*Kb3W}$BVod_bvj;$PeFmDMR#Pi5NmDJ z5n(m{eN`QKy`D?OOT<x2AqTIMY->e2OlD~msVNq_I_n;mhPdbiPvMQLRALK-HY`OjXP_l^qi*= zO-cax;3(IGt_x^^!1zS|V2t-VkJZ^e5yr)Jjlgj~tAq}Ux1-{WK8gZ`_GtxG>g+dk zEPrTpy;tM)_^S^%(QL60`D;mt- zqzvy~0;QIEoaNXcUe^#1N~tDS?ypwEm7LbbR}P2A##jJe>w7KLl`EH4WQuvOx=a&3 zs`G@C@^VbwC^LFJ{KXtV1TmTu^7D+1jW-5Cit@G>w(?bVkP#L!YH@D(0!a5XCZdrP zK3zZ+?nI`~p#un69J6aYCg>2}TZn#G2Qp2>Jq$c3{HD!_eE^AP6j+FV)DKTBSr5I! z`;8FFF7|#UFpWXuGU-RU;d6=TGKY%da#vur$4ja(f2&{UpYb+;!ro*ms#u9N=gq*Y z2Da2?Aw5PSw;fQ@RDD&{7;YSU_4!J2lqNV8X;sCo+p+zYw4c)Q<8W*Fbo}aPVTXG| zL+T#~lpLE!%{jL%GH5%Xbk?kdP8AICiHDDr?m znu@9Q+?xhF6Zz6p{*T*t%f}oO)V?=e08_x1m8!pm)>@A&EiWUR3i0>j zXJD^62Z7%+?EjBlVHKB2_~2e1&O{39{@O89s@Db08dA%E&3wM=Y-gJDPyw3-xWRrX3%K557>1?|y+*3^5Ww<1BDEeB5I10N}bd zX)f_Cr%V6^(xzu%fLpyT9RousWB`zDbAAT)?o1S=pksjb@U%6~%+;lBM1IzkQ%%+K zM4iY4L*2r6oX@6RlDTsLx5+Hxxl^I2DLp($Bg9q5hhah!!RrIYt966{q$8y{Yu^!YCH63O_4Og&g5!4!D>lCf_VWMbs;zv|=K6)#30TKn!tk-g z1`5VI7xj?FTT~iUlmL2r9u=+qOCkwU!S>0947R)XI$|XH`}@a-#;nVB%vZ9bsSv9d zJ^rW!oiUvx1P=FJD_r!eRA2rVkY`oj*F;}!4h{3V4p_&FB6l4K&Y=Il>mxuXip+|0 z_=sy|lV`!`mi{+t^!Lk7asceJBwwgi`Ce6G{L)Jc z+KsK{kcgKcNG3*awW8XRp?$9`(Vhgb3wZ$tN~>*abshGkxm{kYP~}beE^rMhv6Yzr z^~MpVkef_QG<^%I9Ub8%g!dyq06a915Ds( zwR~>D!h5L0&RG{QI1M2IvSktCMuHdq)f9e`5T5$p0H{pJ1O-h{)$j)<#0#(njtbvj zp9&WVlW)aHbX{Zwlz@qqfU@Xp<-2*gIcUbZ^@ZdP=*0=5rNhGQm`CP!Kvf1flWb>u zenHs~bg? zvO5!Vyio6lLveT7z2NTH`vo4t?nN%B{N_`N1q5ouIOK>{!2}9(EbGZoDO-NY)7NVe zU{d*%*Oe7?hyblgbk$pDfH)G|!mX*r5C%k|KavUnxM=4$CSYV_#Ftvmj@0j*F<`!% z0W6tot0QGgdjLvyK~s~*tohicK)=B$QV`n}OfN8A>PkBMYOgDYSH#9+Y~H=FFmBEh zbn(MCx57H@T|q^vw(D1<8g6-`vVEjZ=;v@ zD*{Sc)r-CsGzOC%BOuU&IOr>Dt1o@A^YHp5jTB1-FAgu}|rsd}DAL3XA z1{}nU4$|EOyY7RH=`3q^m1}?592p(4;CH*!dJIu^R8xeFTn3)fVJjJNdQgDfgZj&I?41Mt|Zcz zaByxKVO+86@fkuhBEmzZ{T#LuBq4jRqkb%X($-p3EaG-FYx z&VTKY&otC_H8`)reZO~bFa|%{R20;ig#fWJ$n}NQ7PbzcsihBc*}S0A2(c$a)Wbi6 z@v}3qwFfqpM=Eao3N9HV-?Z?3)G=J`-^CrX&>n{e9F%*jSzLOVPP_3F`BiF;7jB5H zMf4Id$#&A(sY)2PIYd&+an8Nep@|^z`E+S`k!;tf$J`a~!6=x!%4NJvQ#vvhvGJ}h_IvHO#}CH~IYWdqk4GFK)+IOV zeMbswH^=kb>Lp+xlE2^7oGV|XnyHSvFkN_1GFcyOtgSVMr>Mv`lB)-hG*U4El$dJw>zxqRFw|JNDj3$0_FqTnuHr zlg_^9NeZF&1kUa|g+1!r?60tfdI4(5&JWxJ^A;ELzkXAVVZ9`VC5u8kcL>+7$k++zUSUxFe$9E)z86e1IhfpXn8Zim=eI-4Gcya0( zAS;T(KIv7RooC1rwfsqffjLrFH@kEaH2yY51oxvvQ|h^@4!c2*0{%GooEh?+9;t_E zmk}7b;k6pM4hTBzBeq7PqoWVLukOyG<9!0-OwJRqpTyv4Zqjnn z(~`&YYff5pT|pB=$Lv9W`0X+XDU;oJZhwTy4JW8m5{jHRwAUe1aR&?Ztt8#(zutzL z1$@=RskAxIP{*Bgo;;IUfzl_mva8*z!_W9g?I~-U3c(F#(TI$jgy*Rv$j&fz8X7ar zUGPmh3x%*OBw(kDi+XPSA>v^IUuDM^Jb614Gdo#xi`)l{vDkve*a7S@M+Mk}(-$$@ z)x4=Y+-Gj#`#4~(+lva!n(4r&=e%8tZ51h@zTwnolllKb>mH(8G&lx%KuCt zGJ(zU`r>D-BZc^D-ewG}bM`*nU!vzQe(+O2k2LrH^#36if7Nlz_dED4-K^urpKI*K z{6xL}8HoE?uoNFJ7l=h-DrN&bErO@JVN zRnl7#?f>PC;j6JfoZxO{X|J=lU_(2L9zG?EGJ28_$>P&ggt=hBfCgODyCIt-Ne3H9 za9CH+_W!cnz`u}EEcv)9v1YDL?qAJ|PV^1@eX%f#_}iy5Db&FIaA!lfAK|)gKHi7j z=8nf8{Z5D~1r2WF{#+r57<3@BA~fQBahgKFMXksD*A#>ErM^GO@gsvy&LY65*HSm@ zjsT50AwU2-<-d+lMo~2yBU^#ut-`K0$t<4w4djXnMV*&C_b`*p%{}gfqzn|6c=0+x z3o|4n1feVv(cw%)0th<4=H@aQ{eM-piPbQvue-YOpZz3`(rAS{*!VO0izNE23Y@-&(gGgRPpcKq+CPSD z_l=uT6$6V3#uW5g+-hko0DNSkU5irTOR1>fGXpQJ_Q{94_X6?79iRjHGeK#fxy$$l z(LYbmx2lVSzp()Lf|@R9>UO#=DNhu9kR(n&|GVMiUq1cy(3_bmx_2p7xNhrM_(@`8 zF`p*aan2hLeI<@v$?$&T1{%A4c8SFq`F~GT@KwmM01@nOGo?tS1dYMvI0eB6P{{9& zF^TqhcmRX7f1_{SlA~frN7a|OO%FB~M|kuYuW<4v?iKEGqEND{q|^O>2^rXQH2HNG zj{F+8005|m<9e!d_A19y`ty=CbSc+&v$M0^nd9Ke4^FpWrh{JopOC%ZxiwtVyKkQE zcd1eNT55>RYrWmI8ZqqLqlm0jSlrTm`;q0d;;tGW$NWa?!=ds;PUx70MpLMZR%^ub z5J&wGyT)dD;R-rFpe3oL5VWMAdbRCPG9ZSWQg78AG6@wQepo zIadIR3RJa+P;h@@oV6#_{|_LrmsYE?5EpEa&Fu! z)$|<_sIr#HT=iqUO5Dj>LrL&z1?K~kM&{4d(b~**0*-M>3ZPuMm=)Xw5 z%gfhz=2eNR$iTw)yeWo`{=GF6Y9bQ3Bdzq9iPGp;9sNUUGb^(^5MUOiT%;+W3w2ov zP_6oW>|UwX!&AUSaXMvAiWUxhsFpV1zff)m66-Bq;nf8(T{#P53H#M*ba?= zK5{*%fq8+Ilfw+w#c#q29eLM$rtLeCFsZgh9lP#a@)N*e1%ujo%TV@Rs?B%zY&7o- z0b5|WI)H-X6URIQ`;Ifnjnj`mV91;-W)CgHkdK)l(Mp=6=dE)jb^8wX_YGMW+W$UP z5aIFkkJ>u)t$`vZ*dTk=%&vwhFdZ+Ns33`v_JG>>3qr7w{b>nWSI=D`i~W@MDhr66 zgI@ugI`I=+XClg8L@4(L@_j$mJ-M^7ALpW*tecfi$anl5kO;Hfuk z5|hds@}^fx@hm37DWkpc?1*CYul?7)_jeR>wlt>n{tc*ofIp`%vuthpLI}@d!C0jq zbf=DaCk3nc`xa^HReAe6btoJ83t6FEpFdv)d-sM=Z9Tzce@bKj?ayhmeO;Hi%Ue5( z_N2*NAiG~|(lbAAT=VX(gR!XSvsWe&!{h!`S!Cg#wC0VjDd#7BWk()5i!D*B`&(PN zewB4uYE6yMUdJIeN5<{O=oUd%iW*qzmdinl|N1rBRO2tg)hmDQhond!KbEoIyLAj? zEpGIc&H#N76VWr+mSF^6%dP2>crQD0`WtC>2BynS*)g3$Vgo7?fFa$sk+?pkVV z(^AE<4sl1$vhBQwz4$gi7tNel=xbvp@$$q@ z*575pdvj9FfoHCvFp%gvX+)4j9xuhtd1h+)^#}V*`|O5l=uPMW1V&C3sGBm6YZrrni-#UtK|EnPc3(Zb3(6!MAzm&A7EuqdZKM zIazs+uEM4%{>iF>dy1vWu+b^hoIruO+A4_f_y*PDX;t1tiTZ0p`XD|PUy{rYzZ zgQA!qWNaR{QbdqxUP{Rsr%1?ItjDX5FGWva^KP=&qA(t+dB2W?XKwpGa|E#G*R#jJ zKyw{`rmMazf(qo!GkY(5%*_dWPxEJo>rwOQI}}5qBiFxkorcdaNbS;%g!)scy>;Zj za8#+ERxh~dPZzo9>r&Ce?RZKf805Xs*@6axQC4ON;N{DWB00qC{kM?B-$ga#ClZ{W z@2H~eeW{`bB3JCbQyxcOWr6E-VDteq1j6``OucLs8s3nMDb4E`2tW1d?Z?lLGR22~ zXN^-X+oeZa(Sg_Ql(2ZY6k#WB+rpmAdn@2KIonNtsrOaMd+bFo9h-?T0$ikkSwcAi zy{o937LR8wK_`Nnl_C@gbef4mXa4(1|Nc~FhU*P@?QJU}s4ekXqx(3?Aj;N^4R@z6 zq;Hib2>f;P<+z?Cv5=kiMQ8_}#<=}4mM?=&BD~3+8cH;up=vf?6!(nUAHxyKP8mPe zzBy`D9zZ3K4K-)SFs+l0UPJo2Q{iq6#x=3>843nafC%II z?9ed13f0ooj0_0?y@bL$6^Ww(`0bU%Wg*>o4kF@tqZQp)sf(LA3RCV zbfDL~0=!0_GjE93Et|#R84TI^{1!HtkCpAI!X$UYbhsqLopnRbH18b%Nz|~C`cXue z2Hu%O6B~n*C>bj-uGn^t)a>O;Rn#;@(8%8)05hO!`i|{-TTqtK$RV z_t>IE^Bg=SL=8vaKsED z%vIkAb+}fHCMidqJoriSewfzqzI$#9gpQ0gWV?evmDph5+#btU_9Qf9gqXZa`@mR>$96Gh^yf6EVt_|}PFW*+sWbG1 z0$NZcu7ckyi@*RhEdNU|8$2* zeqwa(`Ti83({1vEw+IXQQ+_&Mln3ESaUj`ba~a~3a_}dQfJ+=cm5TKE!(e`z8C_Uh z;w;f>Kj=NsUUz8X3zg&fIaC0Vym4v{cy5c`Z*Kdp_iG&}EPqUIL02qVmV`+1nZa;6 z*M!Aw3KE_0?qsQq-7A@?Ba(LB9XHWdVBJ5geKGx)We1TM^wH^Ox-Osb+Kt6?7**~Z zb9;m7cY*csE+e3^R-kKGY1rULk^|U;P8bQG7&=ire6s@xe6g{VAm6?eF;r|;^`xEs z^Uo=mOHiIWMeV~n0pFOTo%%{X=;^g&5;G}{W88;1X}c6UY&tFH2lPr{9@(zCdC~*( zuOVKN4FMFOk5U^U{|teqZ0Tf-pR*2hL=WC5fKs;0@zB(G@y@`ZN@wPqDhz5Ajg{YE z56RoLFGfRrXVbo2@uNv4Py*0#nn=td<;!nwfb8l5mGGTNDzLdflyUAH zQ4T%y2Zia?R|MD!n(*3(jh4Qs5PH}{oPK*;3T(Yb9KZ9WG^ZKA&F1_-F|iYa4jKPMWPVmE z3Xt%0>T1d1h)kN?k#)phMndzLTNoHyGl+h+&LW2#?Kn@m!E{?BmGg4VsUexG&#KGq z*RBDwW$R*qc}uUux!C63C$u~lK$XOyOXUX=u(%Vysp>On@(>F77)$NGoBQUMlP>2_&H~-#w(b~pl9|0F8-*tGW-Oc#L3bW(9Mei&* z^wyYfbT+HGu81Z4&h4^Q`ZPmZ&K@lI&K-Kwwyt)fTd19Fu` zMTyaO{7J3BxU^D*u7@U#uD0jPpf2&srcU{ADnb3ayo3x6+5CUM@oz90ST8qPjM1wz zsNm6W&vYw;v?mLJOvrrE99D;sne~%G%-0O{sfyS_SJ9Z@^*RN%rcW`j6Z)*dl-LuI zNw*Dh<{_JGsjO}LFDdrFY&G&R`T^A!1lUlGaA_FRa=0FLx0>}1`_xsze-M#gnP%Q3lD;wO}EEsr~ z{DE=FQ;$jW$E_DBDxPTohl9S;6F+d0SdCiDNF_xlBKF0<`Sa6QxE8{wGFs)gBs}gO zh(L+H92|s1cP^JvNcpc+y_`&VSKA5a-7X9ZUMwP27?7&zk>$+8RgUjL^QD8gbDS|q zh+GPHcqe%V@(NJ0N*?$kH6OSvNsxDH(Pz1>`i@tH$Fk(3hyXV|TF8cJ?A{+y@H<=x z>?_y73jZu{z12NNXnqDEzC!SB2f;hr_p|3>N!T8e;+=~X6Jft>0vEMe__|*$uy3xm zJz$kNdL;#^QEnt)0EppFUfUgEV03q4!`BioZ}HT7QdEMxkT;(JNwfUeLItEPGNqxV z`8{K@bzdHxMKWEbGw9%~XVDAb}#RX|g(R3$+Bl!zU@va||g z6-hzfpODJIV zQh=Fr`DT5eiO;fRc3&*KgwqVv0Q(v8jTS`A?Wa*2?*H~W4v(vw8~U9e36Zy95!A(q zPdPkaLXO;3EN!A#F2~JGuoDXyI`j~2N-aThgfP#L;Xx^EQ+)<7cr3f`Jz`~3 zFGxN{gT72(pGYues8!cNn9?qrr(h&_>reysNVrT#rYiW-nk7_GrGNPiZgqlTM8KN% zT9ERuB#CcpI1vO&N(^NhYS|bSGCN^tPWg+a!J<~2;eJ9-Gtd%~5yGl8Goj>nQW_Z< zA%(yqv({hUyZ@bu>RXmFJ&5v03vh^-QiqMS-kVRjt2@ll<%|IeX<@WN6_TyMdCuTWEEJy zG3k7ZL4=Y>ir>Vf$Gn7VDRSk+VMx7E#;AhND7 zZwE~E?mkG(G1gGvwE2;7est{Hw+9;?R_!;W07y>T4xmm}jAe~g?G07+hF+E3@o%Is z!hdg|>3?$X%0#44_uG|t(Bpmo@gVFDmA%oL4=R4S?8)w^;8KSXpFpSDh~C0z$sS&h z?ebnKw2yV;dnb08S*~|JtD15<_P4G2@1Ml!m$4vJEQAXz5N_-udFnX24-0Hf!*};% z2zc`LDx|NYtoJr6{z@Lg(piL>rovTCXSOPCPDH+Y$HDUb9J)!SR))LQBhm~xt;Rb8 zI&QC*w?LDbRGB%YPsu}^OWBwZbf;4B`oAfOZTe;mqmd8EEpF)8oCfZl0e(>9znxrn z%%5&h8mPf*=T#4~KuLlPubkcta@L@H@V ze-oSGf{3|Qx8Ou1wYFBH5Qd^0=9LSK6OnzpGN-R=)uOWU=peRl;6}9y!6T5+k_R4v z&OAH>7-vgH@Y>7!@Y?4Yn@UIkfK`|+m|csq8Gh*{l{woA%d?B2JxqtK=s+TA*ASqd zkIgyJnm*J|SiI^-Hr?E6^JZ02UE$5x%~bA?Rvj@N8KU?JsJb9!9Alh+F@o_iXjKc( zbVt8D)3ph=jA{e@EAcDHt^|m4+bwI-B|Uz($&Qnwgb_7v_ZCoiii>%jZNU72ST)o| zlm#P9gMTAU+J1tp`1R(dO^(!V6zDU&8_RN+T-L)G>yKlWkR}nR|1>j zMjV)Mw0{?rz&Uj9KgCfgDk`4M5WXv;i$jRe`k0mvbnC=?yAJgT1kb@+2g@WuQRTlc z?q9#gmmd1`NHd5smpF}omg3&Bz*ZP1g4I_AO121{qfPWaszkZdm`rCQGk$%2{ ze0O$qagswv0~p`8z|~BJURvKtyVd5)2!jeLJKTMi_T^BHp;Yu@J-mfb^};*SmB73G zAhfFji%>xo^~2ERSqma)a322nLP1n+#o&;~V8x?XQEZ1v9-CDB%mgy78}5KINSUqB zLp7Rv={fE04nP>=fsea1NAx()2ozUFm%!P{fa0V#9@XOB0NM?3Kxu+fuep170TUAq zrY$dKkP*4;xaeglD+kqzUEua zJOCu%M!MF^VHt^=AHGngumP>sr&)*r>g+>0ErN4YaOlJeZ0C9G^6P z-8?H-o9BWI6dKsBwe)*mMZ)8?EQt!8Ii%rHXG2t3^7t@V{Noh-XCY~6a=Rdg_Jp!WmECSHnltvUoZ+gK!aQ4w6$P^u>GQcImo{kSMqJB(osq#LWS0 zLJwoT^Y0D)dutDW61;&H2MMh7t|;4{*6$}HbxVGxhsL#aB^ir=UapoEsLy-uY&KP7 z3RqNb=g(B26KXQum7RN@yo~LAg4?t{O2t`;$5e-e$D6^IChCn1?L=gk)4fOp(JO-h zTHdPMqyMcr@Q>%-iwB9cX%iup?Q8w;TFAU(lkfZ;f=lmbdoc3Q7*==gAs zLVG@aA{KmqOZo`9NvSBmj)iuJKcsIGF3FK>u*yM*vVW<@rIY`XBw-M4o4_g)K{=@) zeoYgREEg=mh$4y=(|SBH8QS$du?cdwtE;m}he0sD9Q;vB*}JxX(E-dqYnPJLan~UZ zPO~saUA!XlZ*tMRusb|6K9=+vVV9v@Jp-BvJ|%32b8N07Fm8|JNuhu9Z*hO*?07VX z$F?7NyAQDseFY%#spmY_jqvB5AQR?OaO!f8ba7YGs<$tSc(+yT@673`gS6s20GywN zS;czA^}*~rmWQC5a#_P^rJfHoHEh22tkg>TV8KG%hveqG&fAl$K>6_yoIHE@`8{xL zlI}^K`p0qo>sL)Qnmc~|`z?$)PEHfGUO7>$S`9|?O1^X1WoKeyuw#I}1~M~)#b#qH z@W*8;$|(CsD|+3 zo6^AA#axp-S9ggw#PgELp~a&`;8`f@?N=E zsYjwWN9-p3tI9$CtBiI})?T+k67U(K@V%cDUJ%0rquuqU@Q^MXgpdYl&l?;;q(~j}xXgBQuEZ*4xs@FMgDQalI_I855VCLD~+2L2uj$|c+)p&ud2GcFlI(U5VzqGm8 zklN6Fq1Yp6pU7U{b%VXsg90jQqEFTAcB(cS%&vW)r}wQ2s9~l)NqQ0-e92%kNpNr} zxYxhTbf-MKU&J)&bvMB=L!HC0Cl&TcBX*Ya!2kUF1hHQS<}sX~7g7x;jy|$7fyY<` z=I%30^L=dXz!P^6e_+O{SDOm0gFrM-mbDUwX1``UjaY8m#bMs6+fZrkJoHje1wCNp zNYTGq9C<47QyHrB$mmAN_w&e>LafBQ@FaNUlOZ;iA{y_nqW9p;<2mTB%7HQTeB-tf zcF8aHtq#@0WPpT$TlOyt--VE2!;Q}jZq%WcwlY5cbUx$#0Ur)8FWTg@(`1{kzs0$_ zToL6A)4QK#IDjaOw!%c|_K0;FG3VgeD;>CzSYQ*M3ciG+bKZXA0uS=rKl~maU$tny)g~H^xrK$1uN_SRKWUtl z1EzF{kk6PvKEnko@_*j`@FPo+6Fv0Sz)AC-T?6T4zkh?60feW*Xi&o!P=cDe>f-yk zYsT2ua^aR)+uFt*F25^-;?2#Rao?6@h;iJ40fKgQ!2JfrksI&?Dc*_tzFe32eNFH$ zE{BtumQ2h637e`24(lWG3Au8<$D-`as_*8z5PiP_5bnqdwd#xWl4o{o5!lJGBRCBG zkDa(;}_7 z55AV3hRd`1{49-&0|Zu=cXoF66}ke2*CLq>f|In)R=KEuEkz+750WD&5nNpyWPNhv zDz75b`<57cs<)v%@U#&IX5gP`RWhG`(V3%hQ_{xu8SU;~FWorV)fqh6J%QkT4Ka-{ zD|!!mXTdHsu~u5XG0*+1FMe5bTeKC*U7pW1zNLE_x^#K2d^(&gFNgy-*I=SvZ}!Ml zPhygZT5b!G=1+sk+oH(SV(7@o>N4J0^VIXnyXSY#Ee7+$=~g+iO{w6~E6t;3gew$^ z>cXh(rDuCS0upo;!Cfw;mzrJn3Ih_O8Wga4mEI<#inEjNg?7F9gv@L2G(@}o6VF#c zm1g>nAyI#yXut&M>&Y#MM>7p#ZrL^L@H=hi!oYKOr|so8*#ubDCgj7Vh%!G z24WSb3(e*z09Qx?b{u~(Btco{%pTH>fw?55_KggV_8z}7$T=PSmjy; zdC~n4ujRI05SfeG7JI`8mFgf}CHjMc9RAu*!3sN79Afzz9aC1qfp>TElBT#QG>RT6 zld?0&X=xPvDCsqfT{(!UKdX$PrBecXAvgzj&!B=`ui?mzVUwU%oFL(`Y0ieqt>Wt{ zFKv3MsIShhNHIh!s&*n0bdMd}q7lg77SN<5z&&Rd&MB1S*?{azp=J%*#`?Ni?>m2^ z_9*tz&wzzhB+-ybo3_qze9d7x+`r`5u2QYC2LRMMhU+KMZxB#3$wpV+O^DQ_w_)lc z2;RIq_-f#z_&Y70X+{Pm%Tn>8sE}qGX`{nuy^T2kq~6DwM?U#^#SApVJyHLRz#B+0nTjbuvZHN2>%RSjUi+^jiC8CN^dpZa{#^-b+X)ieH$ryxmAY=>z~Rn$;`G2=13w$< znI6>s<+u9* zH+>tiyHqunL5TwLZAQuPZsw|_%*$k8{f<@K@6~oEOZU>_YyW0{Lih9Hq2Hq>2`t9=_gkKDqh(!;W9VV6nq zNMFt+KS#L`3~dk(&m1YURSeLADO8nT_t)jlzb|HJJ<}bW@zZ=L+Q3H z2iOdjTBdB3c^Pdk45dJJYS+kzAu528K(;k%UN(^{HQE=Y6}|fIk{^g{p?ShALFz30 zD2ulo5_2K6p=fk-ZM0kZ?jfF0pIdZ}1&Ou$Mp_Vm- zUTU_n48ac`Yp6V1d3n21)xN=x#0`eR#xjcBT9E+TiHjq+!N#6&HeZYoZ1JU zELk@~n13q{J=tAw4UQJA(WqepiQ>{(F@f+xUgfTE6BD~InRfKCfzy4wlc!8R7G@F= zAc12PG8*AU|F4kgpAn3pFVaBe@PAB-xTX-5~g`Pq4B zB$NawY|jXfCo|NL@^CPwtF$)@t=G^T-Zy#p;<@ZcW>bRH%y6&`ny2F*)}pwS(7gfj z=c&{6&{-I@=iDg9O*_*aTp4qXFH01&{EzE=f}=|K9Fl2J$3j$Wr+(N7IwJboKyLb2 zy16Z+ox{Pb;}E=t8+_b38%|V`L^dwE`oc5A zQOdK~T#8eesd3uZ@4ZKI`6r-f0o}bC%_A4(3ZmirfLZUL8KMOQ_{an+uAOl0Y}AXT z{ofa3h3eZ2Ka2*2GzC;4*tr3}Mu{!t(Yj%=+5Dpdj(lf*F1H7sde_v;QvpwE2+<0u zfQ!@oZKpp2G((H{d?L``8=s z^!=;E6%;a?ARf_QKTXi}w>$r@pXAOq@$w=w3Yuye{|YTC9;sZ=1(6MI`&I3#97WZ7 zs94UqouZUcRE)6o<%2q%+KAIyyS100F)l*ggtnqmy1%epvRrGkb{8=JdP8x583L>Sr1$@`Fx0n^Mi3xc zdO?-UYN~~hW&50*f8O5$0cf-TMI`MaqPtDgX;* z1X$;@4m)p+3<4?;uxsV%>;jry#+;*%b0t&oLQ!<{fwal zOfrL)^qIh#RIZWaatQWk5rLobxE*L=7$V8a@j+%*cwO-JXU zVdHzs4-fk`V=OgLdhbj#}u$#}B}1iDJIz zdT2@i`BE5ww4NXUR1jt*ip>*ewNZXG1@>RSm(K6WUva?jl-?Y*4MwuxW?cu&KP=+;McegHCW1+BwaVM1@iQ-|5!oQ)t^m zwF&jFUGApMqK?m#Pw&OeI+t!wgo1monG271lCjb9pHKE{MXv`T&u4z6A?w_vf(I5= z#(6@!JTaB+29vd(G+A}_Xrvo);caT`=^-V}#s*F2;^Jb)Vd<>IL|_X<|2Qjke=Tvf zO>ih~iC7YBQ4LWW)wP63r>r4ev8rn`TWjo0cVva#J}YAN_U~sPzV;mVbvhsrA(M*T zU$Gq}Ar2015B&yCho=Z@O)67i{^NRV3{jQ=XD~Q&&s{ zld<`rBTvk92x|5Vp97s)FuQM2P)r4kReW~mv>Dh2!9oSDhO55LFzyh?dPhn*r?c4%6hOs4jDmvj=K$a8)j67IV@YUf?XPG# zU4)&V>ObeHyIK`s6Z7#`@P9CIqn7Ag33%Uz01{v9-WcPHWXXUa+pIE^IkJ%m{_Vjz zKs1DOIqCO7ox9Gasr1;R$QTxxwh3@ySm7%Rle84U>jq*PAMKc|0;>hl%+k-LmkM>E zK&$D~S zF?L=t-aaR(&Yz=U4O5$X*@!*hsZToOU%U1vCzB-Lh}?xY5DsGdmxh5Nq-0lDlHn1) z)H65qV78vudVP{dTo~mM*816!>gBq)IKnQ)vS%HTQ6 z7M@x7`dqM!z!r_pQ_Liq>kooe6Lj6F^7A@w7tzFDOGcen0c<*=m)=iy^sNp80$60B zwq+-%agj3#mwF2-C9BOTFBxOD_b|%;-2LT^eFX@0p9(%ktILo}&olRTR)6Ep&O+PA za~ecw1Ym89j~%krd;;|t zJ?fgdY?!7$g)0$ZI@iGZ*{+LdbjZoc$I$t6I^f?1{wuQa0Yo%236ON(U0?K$y*6D3 z3686`%bqXo*5{m`X%Am&FR{$qmYv-BHvUj_Ifid?-*US{?45>@A4j%|(TLCPxQf`) zimS71@Self!jBUh+EnM)P*m)*b98$zlXAp%7LUcPC=8vNQr6K8epek0br{oB3-lgF z13aJ2vsXM|`EF!hvOMzkP{+Z_ua;hW;RgUM5kI0Rr6Cy{UNv;LY;Hh2dR)rX*3#0Z zVw+YBPdPPsN+(k9{x{YmK-srn-yLY=v-;jC@fnodn~61?ETjPwdQYsem0xfA^RHr8 z^5r8FN);*Oa4N##6!A53dr|f|+azn)vr2E)yX?u7&wM1C3za^;MdR!{y~%~y{H?E~ z-*vclHRHW4rCXkym?#2; z|A%6_ij@ZcmoCN+-4?%mMC#6q+xh649opZ((ekHP#vTv(`rc2x^AJj&t8%V3V^_wQ zWM98jw4a8VGYT0P`VZvW#U|fnyV&XaCbjS9-n)Yv=o}QnE}?Z{-h)lf_p`2_vrKt2 zq3Z`TLo>4jfTMOdf>1=M|A9L5sQaL6AgKPAZ+#M_;3;%CFogJ5ULH0(Ap4CppUWx^*H@6NM~4ZDNkB=Jg(xTbn=jPUi`mONJu&p=>lqYF z(PJW}@WdQsf-&^cz4iJ}O{pAca?E=?$u=5RuJ1o(5k0+s5@Wtf7E1H{6WL{phPiZ< z9V(i8I~#+5XU>E2PbJ@6UZ-mwQZshkyKsbnBly5l!vAhNG%rw-^v9!vCj5^U7#&&( z^un#DV@Prp4Dtl_gtLnmSXu{8d8rK8dFW7mSYwzQVcir`#(KiV@+YeL376nWLe)Q; zF7?Ti#}Tpep??7ccb&T+0F?11-h-cOB3HfQh%DBIiq8Gu9JQNdVR`tTO`|K2c0G|3z&&-=M4LacDf9y42^ahRE?Y!vSATrW0l#xZlB;1Rd#tHE z7@4g1t8HX|8s6WV>@M~GzOAQzEOl#3s%8PWFYDcxwj&8*ZpP@QhDJua zPGH9he^WC)g9ONPYAFui`_eg^Xm5^c1hB6#ilzLBuGr95w+?*WYsJ~Pf!lIz3$NZz z`6GYRp5Ymnr}G{)Lt!(`@Su|2A9vNV)k+_Gt(CM~Sx#59UwO85pCr#OBYHmunzd$< zct<+L!Z+1a5~Or#t&u;?#7G6Sn}V)_i5qd$aQQLCsb1-1uh019{G*Qu&KRblIioh1h{T?dy9EYD7d6tEJ#`_cqR*2(+X0BBX^yIPrcvt~r4tZ!9LP3PS6m9<}A1IkU#UZfY|4)N%OD@$bhKBB5f zXpD1>TlUD<0a9TOu`P)xYJ-HNl-HH&jA*Hip5mI9_-p1Z^{O{FwL|| zk;cf!{P0Rrq#c<%Si=?@Gkb8L^SuE_s^9mCW8Prf94Mzn@j1RjK({kCP^@;?o_N+f zI?6u|JtW+_U$YDpBO=J0?sjayE2S^!8{p!UyJ%hOwD_glwiEC!rYA)jPar{1dq|rMPxn>9f=bCjWYv)r>7Z9 z-QrplsYVapr%L`+O!_^B`;E*zL||+Z!ywf{2>>CTTeI= zHhsFvv@T`*fz4_UJUdY0g=EcNRkLi&4vGrLW>Wu`xWky+&OU}smP zmRPa4RhtkUAJ`mnc@8kSrL+C?#jmaB`s4#%U7`Ih~q zsl;Nkd|V9Qkc7{nkXR`%w;fTGf7*gH7na*%`5YM%&U3bP4Gm>fIBv~`#QjXtGuz_d z8n#rw@(nW2upnOwyeV&Wgx1NzJNeFFK`H3+1!=yCNPxd6xC<&9yC1r{d)qIZJAY~o z=Wja|s>HFnP!^I(g|E@^hP-uYaRzl}l9I3OKu-RFhT=Q&C_Xs9%_neEYwGGeoq1n` z|71y$lrkP|;=b!81D~WN-5%G@tk)RY^7@rarwm-eSL{~%ou>&!&yeSK_wMgur?)Dl z>ioLbp?XOmpv)e?#j3!#^fea&s1P8^zN zh!WDA4&Yh*PMidSROlDUjG9h2K`&U>H6Jh7BC}WAuk)6!0A813{Id(Y$1-z~a4CxHb}^r>?{Un`@ld7PD@{_JEvpE%g{G-3 zt$*mcZ%o_r2^YdB*JTklmMLvDWjvaKh^hMtSarEjeT#qz(yBWYIp@9831hin^c6G~ z)VM&*{K6z^M61RY6m@{nbS* zF07DCPqs?B3q$N77nx$gvo%67>Fv3m`AVY=JyC=9^%HE4YizlG4PPplimN>n^g{EU?V8VrMq-x^E#Ud=3A=)mqlAkahY$cpB|?Jy^#$gOn3fnO8lxHpWfKP z=vHM4p7VE+Fs;a1mez&+@zU{<6iwaXp zu1ssXv$1)VcvSr4_CFu1-~{PHrM;_%*>wm2O;rtTAS?R6+v|1*!+ZOYpY3k1ZsmZ! z$5mcewJuRw3aNyJOYB^?gDKLiEzg|dYtIp0vlh4&5;1#ISw=bXWmy5PR0&J#>1t;& zTbMt|A_&!yGaZnkBtDQzR#+pDvC|`}xy!h_np>v+R05-_JexxNwN{5dr2We&6UrSB34SJDVu)Lc z-Ej*;bN<@|5MnD_Q~KUxcBo|mSUw`Iv=$d~zenLdZb$BX(2HuvpW|%@n;s~|8zi?E z?v2qkx7?F#n&{8J&?O)ayvon{-<_WFYs{U}pTBw8k)}}KnU--w5VoVF1j^iJ^p_WV z!(!vVLi~v8mi!xR#RSY}Gf)(iPb1ZtK$K&@zl~5|t+g@j{HQ-1ubPFg-r0y$pc5yD zv2RV-3}1g}mq~Qe$>`l}k+(~Z#gF>cs?Lg5 zrC=bBP1~?9(i_3%>AhD$wc| zYfVrRI0#Gq!>PvPfjva=8jV4L zwP|srKu?-3^ozGLaCeJfQjha$NZh)@z@js#Jd`Is0=aN`tkV9oW~Se#+9FYVpbZq= z7vPww_RELpI*?02Xz)c^WHC7$zytXDX*QCwC6A*=T)%w4%DEIx7K=q?d11f&z39Zi zx5c5c{da)D&Q5_wce+;e$(`YWv$7lHjA8XH0K6Bj;B|%uR)@+Bf+LRoarEGGCF)%^ zVrJ_Z?Ytp!bythlLX!kuT3va&>DxDdT}&Wkoh6g&NK5wkKomg0{V9pao8Ps~nFwBj)EG?uK^tmNLa2iG7Iq4M7c2 zo!yTbcYKpex9tK8lNO-?Q=3-AFDJ9~))kx#&IKhZ<%f_RDu@`@yI2y&=3$sK*7nDZ z%-)#jh%D;}q~Mvx=$`*!zT7s5Rco%`cJ-$+Hc_QYQJRB*t^JT7lt12Gswc$*IioD% z#3T8F)Fy7gFz7BE64<%Cuup1oKra?3K{}!@Lg(mGkc1PgK&+`wwIagiN;gx0al!1I z$k&os+Vhr!cMf+yCi~I3I)+;Q=jptYE+#PS2-L9@rtU^m(_wzbJrB&Es64$9K|%ai z$lR9lh#jFIdInwsr;b5$j}xAH!To8>19ui{QHu=dgmLpm3TZP4GacSzhgoh}8T*-D zy0f~+vfr*UHfbhNY}%G(L@@=B`OFv}WUfFg)aSsea^yC4ozEpMwYk+TEav)JR}|}= z38CKTbRbWSF3wnwYp9iAS2XsG5YFx6q^hli3TpAxla%w)zIw2A4Q9FXtA22AFnRu!=UlRgNBU6Q=Bu@yrYzJ$YIspm+$No3;n2BQ*1%a*~c+ zJ^DXv8qvLv(Dt0#@IF~d%!?OE-lD@D#T3g=(Y!1By#Hdjc$dkFtP6X%cr+vT;@tSoiZhEe(i25_t;;f zjJnW7-NK3~+e2WLrbqF`vtXFUIdj25nA5)B!+z|PE|<(yWvxdfs+_w6+Eu3#xOewqb}=7#OR99w)LPNor5!LaeS=K;W{}px zz~^DU+B~TZr%S4fv1(p=#$%(vFWCzqwiHl(moh>fmDLwfxlX6dPEx!oxxMyit2FNO zvRy zj+gNpb+%_);^*f2zwa}`MZ=yPC=Vp(>RQtC!_d#14SEQ&Dq)5JM13+Q#VH3v0`KHQ%VosVy@+ zy##V5Iv$v>%i;&*bp$#VsuXolKnLB0{#7V2TD`OW32Hd(CkW1A8;4t!X_z!Hl$>AK zVR5;xZS(2m=!X@4MuXTSGmgBDr1$wWAB+Q4I+OHkvfXgYVHlCGHcS6pMJ?gY+72&| zlQq63Jc|w2w%)$l8yJj+*4o?1Wr+fd$p-m!p^~jWZtlx=7M#$?UYaV~U2W$EmXG4w z_IUAn$g!-)pT54)cktGEyS{Q)cIBa+uQtu~f zR}F2|>TYDp4|m?G*o_~xKiMnno-5MNju|J1G7lWYMpJc@U9RmL!OOm%d&*?NMBN4$ ztGnrmRkeh{!^Cw$z@hP?a<6!_yLj5nPUP*Nn4JKIQAjIVL% zj`&uAU|8Umj*(%K2lmOOqdIdyU>{Hj{qgr%`s1hTxz(<#8SP5F;axcTjgQ?86q{H9t3E12 z%N7?WxV$q;UNu9jPm%SB$U~uV1DNi~9(cxb2zTjrafP{N>L+n7gN2$@=a+r_sd{)% zq+QSobwg=!A$0LuNx{2TP@~M~3{44t1Jzp+T#o+|MAS z+1XWLYB1QM^pdaQLHfx~-i+zhxk95V)wg(@$1LajS(muxI8*OFn7f;zGU2TvL^Q{v zzXcf-Sc^zr`zLS3rFvHQYUp!qwwA`0__VZ&T37|PYw*fThh8cO-TZL+o>EEEX-s9+ z`&v2Qp2sii`mN;i!nd}Komhe9HU~dXAAJk;tj84TEsC_s_Y`~%a;NYp*WD$Gt`+b2 zlLcev)Qwg+R_GdQymw4e*j1jdNi9t-!t>d$%js>P(xUqRm^C{ccXX_L*o6+J->OE3 z9|4t`)_nWqH*w&Vv?TGqnB?`_{zjg?W9=+I8Q3^d-l*p>1jt2e%jitW#_fa>Uo+3J z_dIdUbo(m=X4nibJw4cMh68quZ)Ots)$_SDQ)t-XA}A})pVadN@(J{Io0~&sOSWp# zoq|O)q3$xxpn<9Fb`eJlkstvmeh)Nw3m?^;WZ9nl$e4bhqAS#t8he^}QpY~iS!Rhh zv5!e9#|^i34Rx7QpOD|Qc@b}kcvl7A=EW-Zvw~X353za9=R8y0X{zVvCKztsU(m}t zmDuqA<4`Gq5Igir;B-jjvC4|DYgtEhi@6OYs8G@ro25g?nP=D~%U1*}m z@!*ZS{S9M&EhvdOcz*#m^ovIEw!Hqm-HTCFgvR1|!UP<}sXk<;GPR3X44!@@sOfZk z53*3qQ%so)zv^Z~T7{E=?uJy0TTFtFkDtUzW>P6kec~spxukFv#x@>*wQM0U@uNft z%dw9kqW=@G0#@TSvNbT~G>lRG1vXV9Mjhx0Z_J$MR1wKATQ>RSB2D!TxyZE3YUhfU zey@~X$qm1u+-oYK*hC2;|I2ahJI+ZR7~~Cz3`LbDqS`zbzlu(!~TtH>PI;hESMF%l~4* zFHlpZXgl9OA&*1$y`=IEhjL6DE08Q+PAfwr@u&p)IC{%f^F&w4?(0Y$?wpk6dq^X+ z39UNxJaNXDQ-LLYz?;qFsyZFPIIrm;`?X`}*)^V)Y($9G0r%UN|@G7RZjIszvt|prn z4}rXQG?4FX;QWt$@YNtb5IK!yaktP%Bpg1^`BfDvH>&o<5H32J@~hH82GQlg)ONK_ zHd3oCY6B$^pTa!m!IlSHJmW5;wpYr)<&#iJS_v(PO;-C7DtSA?>n3ZLKn^@^-@TXH z{xtWgs))(-Y=yZ9*#gWWYm#zWMJ!=CM^r_rE|bnLV?6-4;&O!3Wr{`0WIRol!j?5Y z&>zIqMEH?#+_7dO8@WSvLNkmir|VpuJqZT-I@gVp@i5(;lz+o9;LUEw)GZw2-vVB0 z^gCY1_&x;$gA&R;s4dDg{v?a4JOhl$%n>u=rUI%cFiQQzqw>z$XfHpL9NgO~043sfv38=g>2fo*RKVAwij4h<>pKT3XAt z}QIb ze2pScdB&|>PKv!uuy()!)ZYEFpGDFo(`>-u{2NHk|9pa(jyn zz5qUo{io6a>XVIM81J)(eHNMYsUtUL%S|R^P1CgdsCLOP7o#`*_RKV5x<+xP*$Ax$ zaoi0p$+;;wbuvIpmMi)5Rea6%?7cL^dcl5!$g=4tn?>f;HH|XcOKeUlH{O3!4%Od> zAo6`j3B{~0UPjuDl@wG)bB*tBl+9kv)B5%(l2s{xccOL634kw!B`oMC7+A`*qbWy2 zh^4HBaJcLuF@aHeN}SCB8_iq14HUR7P;1~Sh8RlR{4@$Hwyp3@o+_kKtHZO#a;Dk0 z|G^~?wGjGH_?>U48UfDcc#Xa^YP@pCSv4({P;DQh09N`GTFN zkw~Iy3{>)6FW>b?O@_%G`DdgnEaiD5$%ns?cAwCz$T9j~8lTH>Ou=mGtUDkb22CSpg?PwGl=SP#wzk)D&A9`smEop!dg6v{dB6 zH)!sVJB};lS<=idNCb!xmM7?7Jbp@=*k@^VwTkT}`J}Z~>yOVpTI%EvkGLW zQyk`q;m>8)9LLoT_~z-D?qwG4En z)q==jHxjK4f-*t0v8^>YFXPtzGAv(xeWiQIv?Llh0MkI#4b_XzuJ_7gG8o6BT{CXM z=LV<4-e^tq6pmOn4e#t_)dq4{8mtFrg}BB!wc92S|Hk^L6t+u4^z*d+M|q#`uXk7L z%$7J=u3>O++J%8dawB^FQS$C#Ze_e~wK2r{!fg*G)gA@4y=doJ)Wm2ZJj^*mTWynl z8R0AO5WpLYl(OHv%+>V*A1HF@i8SZkjOW!EghL**$Sf`&dpRjjt~6WeeZPr z)BA~fSHp|$;_Uq7;8$6}_5UhY*7rl4yLrVnPhEuZ7?MA#!n?OiHcqD2g?n-t{VZ3y zafz?FW4m)-BJps*-g-c8+%1`XN5pKyFT2}rfS1dPnVP^4Ymgp5>c6YYu4;Y=!2j?% zjQ4vWHJI@2S5*@E&1q;;)F&=xFdl=j5@f*5!CKQvShwZdJ6^SYOuS!p!{-}%i4IA6 zA~YBJFg6T3;qg|UvN`ZGLnv|FF`U0M?W%x^Ox~YGA0bg@K(2 zc5%GZydz&&@UWkD?y^E&t)YR^msz6`$qDJ=o9mN ziHCbMIgt)2uGR%qsJi_f3=*qC1Nyf~k8t-rl&9-YXn?lCiQX980uC*QAA|yGpWCkR zTMgHZnlm|28qv>r%Eg#@L~qKw5LKYQ4t1Aid&fw1Vm_*2Uej2XOUG zs;kHwqE?)GZC^&auM7jCx;W9#T`54@Vm_h&);TMG0pdq;(0#(IP{}+Y6nh!}q*Eb+ zE{4BiYNxehQ$Vib8P%(*E7<|F2mbVFhwL&bmd|UgG!+OGUK{v~+DBldSLEYGO(!O`0(tMBXB$)t| zD2KEg>(Nt^3!1e@>gZBL{G&3*TKKU>SERf)T3JzI_Mjwd(QoN(S{qjPyOZtB#*zHn~l zb{!)rB)+8r+whJAg;i;-R`0a zt+2~i#Fo@_x?);rHtr*C0OCU!re^pp^2eq~x27G`15gRNH7SoUlJxx^Jy?RP@Pc0mmBX zR5XsWBbg8H0Q{Fzfjm+Te3Dw9jzhyY<-LaAhM(6|P*mbW%V}Sm;m+)tUwp?QJ!3Wk zHav4xMyXb{@2*TK%Y;q+D2m9-$0W+&&3q0^u-G2xnUn{^xD2^NcWq~&*0R$!ouD;> zUEOdMWwpqpXUw8U)x7Q;W?|R0Du^LAVH@`n^q3W$-KSk=7p4#}-T7q{W(ImdG&!{o zOxa2yilZwx!22zuZmyMIMonQLl2moIUv2v{fJyL(kX3MIDJLtL+J-QJH!K5XTI~70 z$Uu8E=o?Y{-QSFzfGOp_m_BzfWf94_Wl?KNor#PpGiSsLa!nmHK%VQ2oN^y$@SMV# zyCQeHu8nf(L^?5PDf_al)#)sM49LC}*f4!vVDniJ`D-;WXA0PPbU?u&_MI(+cI!oq zE-g#duj0>>Skb2A@Nu8u8=+vRw$hwqUD!N?!L(Mxlr=-bb_G{d|3xke=If~LpQEY)(vw4y10@h_T8@q4x#r=f zaiMeGPmZj?xZcw3_L0MXu-|r}>R*L-2?%^(5ur0rAh zWl-%_tQo-KF&BXr%D!f#n$0R~#24sc&G@H=67UoL! zKet>MN_r!!p3I@^uTU$x5p(N-0J_}sd_VprO&4DiFYvSSwaK8N2z3d};I=01oiK~o z*ShR$eoR&E;5N`xS>u)P&matA81qM7l4Kd&?~(}&!u@Fk-9_hBRCcUid&Dx^yiT95 zOT|q1NIj{zxuhe*4HpRR+ZX;9&ozTnc|Y$!6L;auXyCCe<=**-NAOWToUNO&u@;8w8I4UqvHP&04Lu0}e}2OTEN%~bpu&Km-y#s!5^SpO9>oil!-tTqtB7Fw z3~1J7UsXh#d{GdfnWei&u2!|QzCHx7N;Y-d&mr|kHhzNjJ2KoRW!0c;OZZOImspS& z*5wSwmM6V%3ygc5i6_6KjWqMB7uVDITaul|@`{N1N;vFLVB^EHw2QuhMyAogrt6>y z=(^Up8<;_)x_?F-@YnRk2>!1_)-mP~WSE)TgR$wkd}P>@?*_FAmEqBFac_ntRKz-G zcNA${+rJpCNz{P)K@apPvGGgR<_^1k2`T{}F;>vJODWJi06_KYd3F~65P)><%!2FR zst1SkH>Tr`3rKFA$Dew;pbmvL=iArZ%Im`(9)vjQ_0LAsU@4kIHo|w`XCypb`S^=) ztXG4=PHPEgA|jUXW56Gmzt8EJK58A`2VXs-R3gX+>b}I{K#`|FFRjg`?rdb`{NDT< zzTL7%MNAJfm)J+Hd?cL6e+Y(-}B7?_`iYnJITfCZqB39lO47m~1@rl5^i$=4M_2;4@)oLaSdYWZ>_; z0Gp%_+4`R7`5xKy@|nk~-{no&T~lE9Y1#|!Z2!Z$jOoU&!D(N7PJn602b|&+pd#7>ym=rsMM{<(F6;Upp2n4%n;Tio+L-i&Rq z`^T!h?+`^QO1t3d2SL<#{E}FNEdDx{jtX4>=65MaNzyh7j^Ox-vrpdwmWT&W>AnLP zW5qxpdomtS{Iw9pY0bXO`5)ft|1igp0K{$RWf#y&FPg95vp6U7_njy3_*t;}?MdIM zxfk-yYHtJ0M&#~G25EyTiGrA2?*rfWKnVNr)(M{s{Z4faO`-cEGT!vE+_CQpoR(t%;HLE!z^k=?; z7>692^lp`$Kba;P}(Pw)y!vJtwLEIYFkLO zENCg&kmP6GXkoY0bCs6z1&kBB|8Qw)I7;{RlqlCYTi1l>iBf0=;go^RLOt6F)%V zRr?z=OW_#U(Cz)-{r4v?@}E3lUV8T?g@(-ZGw_2nJ#*fO!DMes4!dOx&nNDDQnyZTlRaLX?Zy>c88U5oM*fGTF-)8K5WNugRc9_}G=~yNGv)p{P`crlXAo_L`-OhEi+jp$(Dn}-IZX8y2BQ;d;Hj)dwCsV4|U1KVT^-5y9sIZp^5$>xhA}P`p+Q!#KeYJY+ z@lDljdHOXw*+MLTKa(y^m1>0`zqEY0N^ZPhvT!l7aOa>_A}CY4O)&i_4EnYORPYkBuaFS7jQb8P9ydWtKdbFu#8 zeQ)b2gqu5Nnd04{bF*8;{H{{;@D^|U^+%lXrKMl(hgo*Zi}nIx3t5Cc6QbS7BeUWA z-K-%DdD~ZPH^)Y9U4>P!7ERZqQwa<8!gx<)5_!^P_$npm*tb&BHINP+O-qbvr|2X% zhXmLzLn=Aki<40)sMVV!oY^)lilx`1IBZ|=(;JAHwUq9YhWFB8IiqJtTS1FLu zx0{%(xTb0(x>oyp2&T-Nep0%a_n`1G6gIYSn0Q}fYS0!E(p+M-vF~!ct47i*Cfq== zSYjDTbVPO6BL9~x;o)T}G@o}c9B_&&AF=yM@kahmK4 z;8FBAHCCl&L^jrS68yGr3%^+c{jGi+v61vzayVA9((PUA$%}*emr{!`F}Aon>@)}l z%s(d?p<(SaeNIk<)r|XI_%TK{@NcwWiZxaD>*9Td(xBEXwBql@Yrgi9b9YEwv7Z(b zYu#oP@b~xfOOW=0)Y7x|EY6I3Q-*IW4D)jiYKfDXR)}Pas?7#;lv^}P{7faZ%-5vh zcX$%*pv&HLtewbj{~?;Eury-Qrk4dbk)E~J^mmVSvkZTHS@$L1Cq8pjkn_EL72+Jw zdR#Vog}%tdxx+2P>wR7TwdM;E-&uUh9_yC|%#4UT$FggcK2{1QY(4M&hieYu7%Jfl zkP}EnQie=yFBG?sx!>qS!B#2=8)m}XOB0gYt8DhI>7wCV#qBE+=PiSectu@pP^p>Q zQ)oUp$wYpD^a;d(Ec_jGF6dA|A;=T|_>+GX40>XbvS6=ceX)2Di(0=?n~PEG!oReY z&A6tLk0N>a#=s_BXT`E3KIj(=pC_7?<*&%==e9GAVWGY)zAb-=HH7QDUe+kK)V8}7 z3Xvzs!cVYreae12R10+OH{-TPLHJ9AumK!kEZ?2T~i+t4*{|5mZU)-}R4Z`F!Cgv$^ce{E=PPqxs% z-_Eqj%9z%6_Xr*q&6BRXvMHW=<)Xs%;k+03!ll?D=8RpM9c4Vj*)R~3mKS{J&a=Y- zrKtu%+j$a_-aumEK+2xAc&EVDg`nDNnw!^La{b3y8Lc;k!+xO1dh)(&G~w~9RW5hG zFFbpb_*8p~DhC}3Xf1h~-z;g;tZsU>NrqqS4c1ve_4UDW z2uc(SV((mZO7bSN?%JL8X>L_+AnD=OFufP=tPSjZvFR4i#RxbgLHX@@+6j zaWPF}{Ag7Kr)^q69W&#$3P~?frt5&Jc&%&Y6R5*OY`Wig!HsQv9g=g&+gu&d|7>2X zzIbGYLPMvvMnmW1cmdQ8_u4HRuS95i06!v_%&f?cB}^RaNiyCGMym4~C%~xvsW$X} zVC%d~Wt1=V>>YE(C zL3yv^M7BQ2$MZb4gKO<{ntms!l7)U~4B!{@k2I}`M>~Xmc?ukiZLj?P-%;L2d<1gj z`iq6+kO-LEM%2W`eCPN&RYtpV|J9~U5(s60zm;PqBLBBao)4E+K6!X;P^77szNK^7 z89R-*9M+@>bLVlRY;3Qkpes;mw8oyKXYE_mFv+AQ+yF#n3{2evE_RC;?(09pt9U-d zI)n^<663GO&d5DK`XFTQRw~|gqQF*cbYiDaG@fZ%zd>LtLSyI>*GnuI1vqD%6oI)L zn*L+!x5b~mjpo^@@{hHQ^U|v;HYN4#!Qu*L@2%>PP3vvsqq|220-FihBj@u18$L;o zL2fBot@QMpmW>o%e5bXJ5HU>4Z%I&L&;Sxm%n6yuo|F zx*H&*6n=S4^%;BKM~*D-nxL3s+TnYD4?e|=krCN|_^a`Aaq)^*CeBN;S|z8V!BV#Y zYZGh#q)y!?H-$%XnC-vXo+~kWM^ZdDiH0Ivj5PexC%y2X7bHEL7aeY7l{TuIIy_{h z`)3gkaH}++leDZ|i;rq^cy?lyZqWe7L=o)W>LQk&#guf$@7mBBAMHJ0acW{XyXRzj z;;Gj!at2k)Kx>#7>DlK=iyrv+cqM4pnh6>E+!ri<;QLRq_f(&<%#PCc-)!&pKd9_` z#?-bL7DJPgXr3P$KCiDrnh1^o4dc!`Thgut=p1E}!3TCGJdjxE{k7#F&v<>ChuRyr zTn%~x_rG-InY@ne{2t@>^o8cWW(L#2I9kRugz|!ln6G9F9{&+_zvT*DfdS{+L99zY_nJaNG|~-&iXzf|=i(yj%W2NDw~vs5pxmxR ze{h;-_T=^++=S>j&KF3|t@!ablt<%xJcgDio7D6PJ*hkxv?UF(TF8)j0|bG=`i*kh z*j6z|vUIL~i!gCmxehi$xwnHhIx&G~eC zUrSeGi(X^Z(^J{7>Z`m05u*sth0Z;s3jO`w9NQs?U)5JC@(OTb%r3F>{22YP(Se9?APa&EHO_HyLTS!7nEoM}_eG39w zA2V(@9XUtSW#axPVPbz8Lfli{hZP^wgt6@l|Jb%6ZdJW(tWbw+?8uGg&Fk2ZJW7mn z^>Q;}oNGGhme5=5Ha?-}edkG`iRVD#ISP3d;}2ivXwEy%UfunYike=c@a`zhbOQ98yqBYT{ssW@p?MVBFRcH+pd!=(%f% zN2cEMl{!6U15OTk;s?$!zA^^R^K3hc{r^vv?6|uJFJCLugYI^FQ-7sZEC{PRB@Xw# z7CyGp&+HZrc2-u>!7OFm#QMGj8wRY60kNRt|s)BOI&fYn)hN(r1bo(82t ziW$9)PIR6iWADeI&N}bw)mTzd)z+lp(oiTn>!xY4kJWI-?Wp!7;Hv{*YZ+T-7M*ysE5pvY@hA5!5@(UBSLg(x>rZRhS z-YyTQPxad}6Xb!8nF^-}FIT)pflLG!BL|l2w|nzb;Gp`=XlG>PCNJ%dcPv0s{y;JH zkWuYysmlq5b$pwoUq3HvZFxifKaeZkKV+-ffrE#qtaSC@3X0ajM72*+em=jxks;Q=@lsL9t4} ztY0}4!{C}Z)c+VGs`dwJ;X8z98ttdRxXnva4tAKxy)ItRULGp-gU)0{x>OQMM;6{) z1Y_j5Fk!y-UC`G=SL?A6KgQXoAq8JaP3E=m_z<^`+x5WbUM4a9QBqIo-rX8cq@h~;P}V_|QAV`0fQlaNnoAF=aN%u={lFH)GVwd0Nbc{s#2X-{_! zzuCN4BbYah)cjGTdc!vhI%h{RqMJb18_tNuMM^SZry%xvf#gG76G*4eQY+e_&Fh2^ zTs00JVIb+tZgAMH33CFI2RW=t$-;#*CpL#%7^ug4`Zu@tp|8Qoc8snP7>lm;Uvw9y z1BYuW9{DYXtHHb=rQ~)7CZv3>2|b$1vz_TY4J3mr4yI{3Fe+VC$Z%1H?k0o?H&FIq z<5zt~;Yc*Q5)Pz7!Akf|^fFR#u$1F*MI6K;h<>wb_ zDl^TKPAd4ppn>aF6QyMLotav*-l;LoN|CjVMN_qF(Q|S9rsvYv-1a$9B-$_8VUzyGw%)GNN4&4VT^ErTXrYR!`6QpOM^|5j#8ZTlmqCzz2Mhm zNXqdXD+Y&l+a7_Zpuu3ydl*AcjChoAdH`R%Y5gsZi|nrRH3vb$IH1O}2&Dp+^ymKf zVEH;X1@IY=0*vqDk6qiFz5@QOiX?G&mDv-=`Tvvn^%aHo8(9BO;x`Gm2UomBPsK~k zD^|aEOnPrrBNbmVi~IQ1EPu{bd^uLKCR$>HZ(}$1kO|ba$?lkk-dl_}|MB(wP;oII zJyOkt!xX|Lz6lz6arU18J`okx;!B+1`4^n~>eWASf(4@m8NY>o>8yKIt%)FzrPN{M z@tBW;pZwtK7UoONi*JatooHABt;^_PN|?)Z7vnbCMymOV4hMi!>LQgekB*+dcIJX_ zJV6y#{(XB!#YET4dGsguLp+dp)>4EQEDSSo-h)ovVEir#t?7Ax($`gweFnY-wk}R} z^@243*(-2MrAeC~gxn3P)th1IOh{mQK%B>u~|T8~@^? zuD}+q9LNj5&PVqCu^5;?6+nhBazCIoYgSBQNdQfwH>F47Dhq}2x~LZQi2J@_wDa@t zw0wqGvO7J4+T;PiBHZh(niy~a!hnyl5mRvYOWB#!QSh#3-WfF8f47-#INbrO(nS_d z|L(qMbN>Sj*pO`Zzi!Ha+7uT_96dNi@tK52nKwTQ+Rg+z5hnENKq_pUqWwK^qKEJn zH7s>}r6`lFtS1(!fJT7>`E@a`;{b3)nAG+`VH!KYYJ%T&dk(^m zJ9YrTP6?93tPl1)$0h`eFooP-B{?IJzw(ew-LHiTf`K^RALjI#%)cf;W8!zYoeU)1 z_V;TEZt1EkY`=nc`e)t*Ji{QUO0emD4W&c zHDj@%{VG_Bl&Qd6RV4lwn@uJ4T}&{&b!)9XB|wb0`$|57W5_=6z*>jZ17%*Cg{Gw) zbX01y*ot(KN#Nm>A@Qmr#%c7$2M>wM7q3d()B+apDoH0`5*g&r(w#^e-U6XxdrV+( zQ#QHRd&43PJM1e46|xXLCt|2^*9r7~PVsASd*&Hiq6l3N; z(9!$HcEs@ zOAHg=Rs){($Tin8aW2jrUGA0-VX9te*Dh#&lAJT_(F0^r{)o$_H5Y=Wx>A1R-@5$_ ztQG@I%}4O&RewJpqnq*L>badI-pGK~YTKFLH``)-gLtbb@ZSrQZDvG*$6SfEX_YmR z%TJkPJQq8vzYz^J#=3WA(O+Zidm$8J0Wo%&`4PD;jRdyJZC9f0Rc2CY7Ag#yZh_Uh zcJxkM1r+Dkn05V}WRi30nR?z-VF8-+m=}a&Ak}#r`6%YkA1Fgj<)`>MH|>alx8XEa+y{1~4}a^m$54mb7ww6+!*AnLh`VzH zV#Xf{8akw*%D7JQjtR9z@D}> z4s`lGNj96W>Ro~QHrH6!?hWatU!1V(;4D{I1Ffsf;6^fXZ)Lb+bJNCZO=FO_jZeMJ z{%_#~T=mp%^qFrSFt~>1`ZOucFn8m9*4CxldPFnua(#RCs_pwM6Z^4kf4}*w5y`iB zV#PnT@l{-?0(!9{rPc=UYk-mcr(?J)PqImh!nSV2Y z>8!^)3*9j|^d8D@-@bjC6)+d4mewfi3(rVtCi!C_&i>TLl7fvU8Ab;OFP?7W%A}tC zu8a$|&AyBaCSBCp6%J;Zl1l@< z#m5&S;5u{{3<<^DYBNuVhLK0cq7m!rqIkTbEgyvPALs|Q^Et*79svR8KYj@VuCfH< zYwgv$m&0E8f5C5*)5y6@w?M)j65_`w`r7*Op)-lld*VLu=j9qwK1thdd;yi0@5gQ2>V7yY=*?>; z6dsmgE;$@mZ=b?!h^y2B<)x&h_a6P@vhu?K=>+{S0pk=emj z$zhwoQm8BpG)os<(G#xdynaTZs#WCXk~L=f`VaYMXGlD+zaKSj~*r8fkd!;6#~tsr^p=eB=L z`;5=_M$@~eWHYHQ*!fc=IL{b*G<@45;Mc~PdRE6u3ubFU!;I;Ttc*ZYllsxTiYZXK z*v>SX8fxbX#IoJj!Iq9RbEwxT4e5Kw6}9ri%L*td1`OJ{?G5Us2VS`4nu+h2ul-)! zcGw#xst!yqVdRd8KJ*tXEB3{rZ6fy^hXjnwEkE-j1g;A%ouF<=4g zxBGDl9aVLIk@9DD*r8jQXasHg>?}U;H&e zXIm5!7Px+C6SGCBy1%Ikjj?_saEN+X8tbRhGv4rD3=@1}5x77C;-N+x-}>YZ~K|_gS#f|ARvFEiqrmuZHkf|E5%iLLtlCDyt zz=`tihUdE%_q`Up4fADpX}qX~TXYuh^qIVNd!-)^UUz^*lyJn|HI`ktuFvBI!~u*! z$Bt16>~6GyRmD=KDFLbTMIFk5J-AMj1ZBovt&T+Vv3{iW?nbF^*rz<|j!~PXL5w7qvvnsd zg}RQu2>KIy>y&8{96x>kLK4$_kU4fGRSqOa3P;K|UhD#45UpeHA3vrV0SD@wy8t%) zk zM^Vos2hh3|bcKk>IoY7x&Up89-+nzUM?W7{>Y-ioG7eA;h<>AWCvqq)(0SANk}`dG zz>7<-Oc^LNUEix;*VSgwz#NfwGp{)eYV-hA8kr@@Kp*C)YxRlbk72sTKP7pms^*g+&S%m{bGRd&s!+fjbP{UrI$>u9OJFs;-kNVI3{P~LVY zXev%?B#RulYutXVcNyY#yf&zx=gDww7Iv6Xq~{D8 zrFb1J-M+H`)E<(UVm^Lk_!bERioC)sR1H?DW4#%8{V5!6d>Hi!CWtzT(OKlwh)@ff z{q$Whd&Y5~#KLV{fGy~fm-jXLXgXVE4|o{_vWID1NZyH%D*&14n{cUR2IUb{vD+1~ zRT#+I_mA&B_|q(iZyVek^^z2G=*>%L_lRv$az>G>>PtoHM0|FOoue*&b(TRP5#HX< zzXytDwOBNCfZQ&fDVDvU>M17IL%%#dL94t9_3Q%qLxHMcqgv&+G0>|h-K^Fo^I6!) z`p(nLyz(;>BiKrtR@bIc+j?L=c28veMs(A~TCu<|*)YM|HGFy(eceED5ortC71^F} zMsNZ~IThnJ7GaQFH*oZ}1VchVAVInaAUp~&^3rJr4l?csbSXnHs_ummcm%vXmN)-z zSlW^_d$8n&(>-5sqP3+-2E9PkcpAeR~?lw*90HmuA7XVqEm~2!p(X@O+XCOIy zGgBWEb9XG$4a-)=_hx3>SGJxr!-@rAY(akaClYh1bEW&BAXKQizD3XP%()xt zJWdsY6w4&@4pKYbP~G_j$k3vgV2zIv(knlhVzTrfBO=9)7SmPI+*Ij+(->zi!Y^Me zn2XE6`ip`FMJh!>R=;|86czfM+D$Hp^4dKc(GcJNm7!n?mR!V3^O zNU_fGfS1M7V2zkKFfAFo7Cp|p2NsHG5x`;L=J_!vq%M){^DD$6wP}DtViDU#FNV zQD_9_$(_<^`+k?RGlO%)&9c%2Q9QoZ`#s800MAvsmLX-|{ZUKC*touZ*S)*K!s9zO z?z&}P=r=XdggRjv0pMSnETcShep7jQ9|R_QRY}ua@#57HPmO~_vv$WKz5$t4p*;NH z!--OWNcDTc%aO{JI_dg3y~j2E`1eiRhr!rX`_bOYL%vLMhI`W!`4n*jZx55qC>FRY zSHCZcRO$Xs%YIFdAim|=tQkCO!GT#;PsDO)+lg~Niq62GVoqhww<8=&SF+&1EcUBAB^FXR0zZh=r5KPmI%!CRRZRQ;xLYITxl3nnRe$E3!P zH&WcgT?_Kp%wJXQ>yzQH;p>_khmFxm7x3;=KYkhvGW%IgI{m-F3MqWGngcV@s=IFc z@3gF_jzE><{JCuxm|_Y4R&!LrFwrhxw7SdUDkZl2J-2^RNG9lLA4kh-5FaH}Jp{&( zjDNf(>{WL7m^>GE3?q|aZY*}3VHPtAYufHahGe`E@tnYf(jA@sJN8y#_w(k;>2#sw zF<&fMm`7e5vY3sQs_Z0e&3y>;_p3s6qHkLF_K)rO`^`N3K~9{VCH}jO&x*0M>qV`S zlQ;60%%`J=a4_|m#Hqd7WN%*pZVb#94moPw*Y?*Cai9?S02DeU+XUi0mTNXj$X?t# ztZv5vh5NGoS|WB;1bn@0HuR^vLn-|}&`NWFld7%GS)&{aEX&%~*DVafKo+MP^)l`B z?Qjd=urh9VjhFPfNJeI}dNQ&SNrsZ+b@Tp4h9sgBb{VafLEtRau0*a&vhX&aIA>eV zPHL{9G7l5e#;zBR8?CuAxUwv05_J7_)hE7!eb+m7$SvnG7NGW<1<&`jTvN`IJ`jQl}yRnbcZ*tM5FGEJZ_P15DMa@J$LTB)uj8|bTUi>~G z3h0m~YUnrTMMUm~cvdHSwOU79a_q8%)_LQhWEh`?N->L^1oF#U1U>=_73q z=3VmIpRwk#G7lfAIkCG{fNEDKc3YlzaQz*fG&cyen^W$mIDO9% zHPiI4$xSa;XWVnCe40UbT3q1C`T0e!MbNeW0GMu36qO58cT`SSF+Rnn8^Q|N#FU0` z=vV0VtYhkqMQ(4ncDqB#i~!#(vh6XE$bigyTlRrpGA`@rwwh$rq!8yvt{l?PiR5a@ zC|z`OBI>7ejlFz>`)Kv;rRoYa-^6pBQqTL*_C?hhuOAie6+M(f;76$?-#Hk3yz^%O zzS;A@w{xtZNRh?oA|<9y!Xl=ecsoVH4YPelf!zJEgdr(IDC!rQD1b{C@)xVt=@p)Z zV$jlBPBBnj^CE24?z5nNEN57b^wk)q4CL#hn+u;Sg$S` zzFsVXq)VW9!PK3BwzE1lIkq(-f9Y(cK$m(1qj9jPFF`~wG!;5UdimyXJWWxG`6RNr9&PD5*i2~2| zJ}+`as^gE`Y{A=ig3ILIEwAImfW% z(}=k7k0v+1WKLUH*)T$BDSRnEm1s*w%(d!Z4ZtTYv_9#>GK|C z5vdL~=A|3^^OrV(_JPS!CcMD3D2a$Xese1hW_mZ$P&PfVpVqC4!%0b)DvsSt^NH)rxU}GeW}}Pg*leIcuU0! z^+){(Rls%@9N&{c>-j4n155@-$Z=Qm>jXQE@t|V?8W6>AL@|S08>1{%jp0lv;s!p9 zd^98bhTw%8V!ej0SaTiSm`5GyU~OxF+!tw9^e^4Gab%yT99L8vVMSt0y81FFgH1C* zz&iA5oPc$5qWw>yByS@ob$3@F4Uqogk>|m9P((>cvG=@{aTc;spk^ziSA_e{p@HWr zZw2yK#<#JnU{z0!rvJ9ip1Z#C^qGT$OmcexFwgF%cxm}Y-F*cBNw*K8MEOY;Do5VW zG7d*$TY0^RfJ}P7jr^%ePjmPX!F8*D`+hl9g&3bBET1 z(fAw<%B>}gUTp0WDnn~&uj{GEq=%8gDT0eHh1s?FBr`wRUF?$@j*JrQGTRBh9qMmdRUJkIa(oiE$-TDcblL#D{FJfW}E%jYZWI2y9~vRdqRw z8TWg9)TC;Im*@@S++5cSKKo1j^uy$CvlI~x$jG5YuC7baM`U}{CRcv&r# z2tE6;+p|A7kO^>O@AML%rtbb3=A3xx50r8G^I|J{2V4&DC28`O*s@I-tX{87A>%#U z+D}#yI>IweD>WZ^?OJG^TQOL$@vllt_Kz}nKta$yQ?mBn15m(H0m(3d@+L*nCr2Nu zlQ*oG4ZTcic&$^0*KX`vd6YFz)O<_Xt$2cBF;fQ)-J+#N!&E&KQL?nHaI{&COz_I6 zPX2t56#gP=&vDHvaw;+^#z8*})PDEd?~!Et0RX@;_RXs!kYr1I<=1`VGmP42dvLw| z-h?-5rPgTG`}7*GA}G_9KPmiG^O+WkGt*}-%~WgL;3b#^G$Q`urb=D_>Z$Q;>?I~sWKx&9(1bTIGVCW zT)%yF*Xwk*Uny(^2K5%85wuC&Xy?*iN1I&r3>~!pKAyE5N|Z8OtoyOq*(0mERWq;M zO{~@ZSJ69hRdD}e)-J!-s}uo05}%E#z`wHVm6z|AX26YUw`4k}UOL2A+cu16Aviu> z5R2LHLRR+Ti2nHT<9Uhl;b4K+;9(pp#NFMtM`4_&MKPXV#=&~a6SXh-bmDXMFWnMA zhx>I!$Yks3Sl=?$kqx{4uR*d3_4=NjqOc=eVB2{P&)#LCx*n=dG)}0VV7PZYHrx>_ zYB!el2}OX~=}1G%szt$YF&Rb?blPyJ=3%}q*=mw%aYmKp+!SikV`9bE)C9Yyw#&k9`j{QZa< zl6i0TgaLCxXWyHniGWkzRdL`85@$Z0?C#?YrP2d8iuHtM=Zv6y#g;wg=~8ra1t92e z+6|X?dN%dgz4zrRLPEGqSS}3Dm>Xv(>+!8W`5k_AW$Du4m<1kjyUGpwB4=KMLq><6j{w*vcCE2uqFX+t{Uqt*aPfwFHEcNFFFD~iSjAx{7D*|JGv=jT?1h7@xGe-Fhnw>Ni>I?HvV8CyKlDiYElk}oJC z-KijO_rruU7Z=~(@7{mzz3a|eGmCL859jP>pPir2KC7N7zfoQZP`}+H5p5QXI_AG_ zW!B||35MB=(#OKfUl^0ngoX;qr-i*7yz!NcVDDl+H}hqZA+vpOt5>+0&OGml$)J!? zHc18Nlm6t!IO;L{3(vUItc)50*ep#fgV}~n?%l|n8EiKawDpMG!JuY) zC9s?gJ=CIWroz_6X*4cMle!6wrmb#Cq4Ed@WXLbDoRH^igb@$Piv1Dct2|J!-Rtxf zt;I2_OpBA!uT`7u#!uQTEUcHy51hzU^N2@Pw2V;bKbze`f&R;gR?VRYlSd?l2d~=r z<3qupkU2<{Rvw!2Z(@55mH#^uB)Wq}t5-SLD093;#af3k44DeePB=2~&}Wvbm~i{n z4&yYU>gIX~6?W7s?Usz5zbYB9V2KOoZ~jAGsZXX-bAqf}>Xl1+%6B$r1U0ShtB=_P zTa;YrTo1I@CH2#q>M>N-EPS{@W5k=Aobp2RQaWa3=(T+-_9Tq-4R5N0Q;x@;+L zE^;i5j78OdQh`JqJ!}wbn*`=1!t9z1*%8NnkWM}bpZ24BZDA-Ua#FuSOXCqHn z-RNq0Ui0JYg{Cg$OWk9Is128r(Xgv|7?hGj0ApfVFsG|QqzMxP#>P?Gif-O`AY%%+MeoBx_?@nJ^5Ay;^}!SzQ&0mOld3>1ZTL}1Qe8=X_$d%miy(Nq;t zPO=BHS)>E(g8Uba0x&Iqi04Kgv1zZeS3%ggUnL4Nn9F=(wl}svdg{kY`*VQQNam?; zW0u%=m)YS}fgh=b+8QPFvOM!P?9&l?&z19Ef^w}_eW0&Rt;)sFw_mEk>mKbmf1)dT z)E@U5!fN^u1&DxJuEF<7hu5mBBDnf=JLmymvoE`G6RpNcgRGi0N`joJb)9nl3Sat7 zFEg7I73^8b8;>YsFZp||+lrgv1XS@zY1rVDWCc|9`1IFb9GO}+$${`eu~G{ju+klG zUcGeDUSeYXvo}o;n#FR0NeAEnbMJnwOB-3b-tzCN7cDCQ*rD@+%9^3k-u`QY8c^lWuy<@`lcbI9Gd@^@)`}g~g{~UKR89_^WZfnLC&&wbDFZ-p>qE z!>)^;UbihAGUYPz7u~kk@K9H;;hMehezV-RyfxcH+-hn&Iy!=3xTVAEp)#v&rSSlbW3vOra;Mm|>=w%=;wzZvFEnu#$8!igrz5J{ zveoBT2cj(9p?z&HqDD10!tQ051#hyqv*PH_PJ+Z&6_#j`lD)7Vo2`(Ic7?G&Jmjwqot zdXFI$g02qAAC=OTxWstTs|BvRJBrEvG2iYncSg=dw|t0ZjgPk*CD`*~T=Ql#ABsW@ zHL18wUEWV4D6k%eTu)I9u2;LzN{g!HyB#?@LiQd zI_Dx+Kkr~L$xU&6L{Mls`Vsw3OjqaC;YUN~PaK^mXgz;j$Gxykz@+=llViKh@Y4Dt zeP>6Rb|>82^64z{>g9;MA9K+AUI=IxWTP8dGxF3Wei4PJnu$J4_k*fKOlIQweX2&} z1FCkI^Qp|+zaVRgOBRVL_obwy#-dGfpML&)*J3xgd7_$2kxI2y@kDUc&+BpfFz!7~InZiqOoG;5BB}JWl>Pfe(6m{kkE$;NiTIjj8 z$+1<@*)x($o%zKqHUW_8sfU;M3b#b;%pKqOI_OV3JMVSNtvi{y{%UgRlIW~XM1x&w z2r?XReWnooFoiHjxX|+Jdqrh#=jL=nOSPQP&dwX#BU=(Mpz$}#3?mdwke9~uuom{wIl=4Kqz+1>1Q-2s5CvxG!^ zpmdVvm8<9IG@OB|uR!)`TjQ1in>g@In%wHn?fVvPZr<=Q?C`4y=yCi*;x7(Z*dtyE?@D^mHP*3l}CS0COh*rii*#ERghJ*l@ey5dI{9 zZ~x~^?>Y_ksn;`HfwW_4=J3-Sid$Z9en)@u6%8#BV@XpdnF&^BW-$c8IFX&5b9f9_hO)zWW`@k1-as`#1S88nBnx zc#_D)g5DDXrW2*Yr8?9(raw~6@{qvGTU5H1zSVHFC2lDpgEis#)V#~yFbFIRaK4{l z2Q^cNs>XgV_Msws8tmIR#OFR9e<~pEoY%#~g~2ro+aF9VH-e~p{6Feov`C!USZh*y zzZhWM^zXxr>q> zPWSWK`Am$4z~XK@d&>Uqkq7)T_S2>B$M=3+R&0ky-W*^I#a>(8xW7^-7O}ZjhL)!K zkkP%03jv2ynEq_G(#fYybj!@d{I?|PzYZ45Y8>OSmnzY75R-5@M+fr=?8q_MFqXp{ zDDGP;-xeN%R*O=Gw zyNwTDV|zgpD`0KIyk$m+efqsNqri_8%V&G-5@$coh@NGG_05bpYiTjeR^}_jM4|*~Qqs3NR6S zXL&grNnk*L#IaeSHzbRt=0tdR6}BTgp*>xD^f>Ev>`?v9nA@QS4i$kw4_B=x;Er~- z%MvkeLl)iy#Cf`_VB0T{LIVB?*B@UDvHFTN%FuFoDu7w{CvN-`&T;n3u<((X>!Ah( z-xWxS6%wN;nL3BU=D359b(e`@^EA>L`^>$&?NJH;ggGjQY^k_jG-aKf;2TC(6x=3J z1hEWU!+?S*9QxKVE>HUQZ~Q33ZAz13AED_-0@BF*i)|=nbth07>}vpG;pi{j+I6)3 zk?|Yz=I0vw(gfD~>Zd1dT%r@4bI;B=ZWo!vOoRz@Rj5gvsB`Vw?4PqQlqOtS4!y4V zkoq{^WqhzK#w5G4#etdEkd7!}YG^ zB$Sydg8WM?yNnYwp6Dw}D6WlA86eO0VE}$}PGDaEg601D@a-Q|L$3%}QyIkds1GfL zs$}&yq`f<4(J}kIb-;0yHe0z5{$H#w#lTvDh}I~*Po2(Q|KW%c(65JpF&FD9I|BR~GnXq~lL4Vu224M<5qgqk|L6agV0FO;Wof1PtjN+cjkthTiTVToU0NdRMj^;UO!S)~Y#uEg@6{&-1 zXGB!Q+F>^xX5g3ymspl(*o!AN;M0Br+HgSL>4t+%11;Dh87@!CD@lg|$9Y+<$+;2{ z5|2&JwZg(O@uUfS+7L!CGSNis|6!q!1X$?1`jsSxy@jf_?7-O;vJAHwxvqHE;S-70 zf=l;`{P$?wAZkC}+%IIHZ(m-1+c44sOGCocVaO1DYp3-g%*^?4&;+%g%j1i| zr6AJJ--SYDca1i6d+eSP4Zoj?7qAT#J_jj3NP0&<_7_poPg4P*PBfg$=-Qkez=SSO ze24j6QoV!4M_b!2dpErxGDP|qb5SNze*3Xw|5)XECE|=Id8dxIkSq%+I)ToWSooM546Xpwrgp zgMLclmp>)Oz>eyq*ddM^Af@RZrH?LY(B#K-$0u>!#EoW$Prfn{Li~>-{Og+kq37^+ zUzhy%afM1cU^m4Uzut7Z3xkeKmcY+W+-bFdX*b~rB#+{~)-TE=KX-+H>yAp~+iCu+ z=l+eFUqnWTiMOq|g~fY^XY~kHb~kmLBPS}hYt$>`jNe*ky;yf#yRj9~pf%Ac)qPE| zWVsX9k6VXYO>;Dj)nd_HQZLu%2MuvQ16>XMiRks^v>H<&K&C4cw%*B@h=~1egD-`)1`>{m3F4lj}uq>$z?t=IfSQ^*sk`#560BO33YEF=zIat|}`dH!m&E};HAs?_{31y1J+p;6j9hrK>Zz_QVNCaVG+mzHp=&;+}I;Ba@>Ei`UZ+QWx|1U9eHrKw%=QvJ=hdNO4}fc?f>bolosKK znIIKqg*g7rz=N)(GCL8ghe_xYvv+ULUvf`|jOPD^GbK9mGU zZtxg&pGWz4Mz^RFV-|fp>DZKF@K;&kZjM;T`Wz&pB9z-v5^V4P4fzHK1Q>pgnsyW? zv?RO0Z0}{)WD{-N9VuP;aO6en%daEE!F-LoqeVWoSl~mCyESAUW9ks1LX*3sLz zOsGF<1fFh(Pix$Q@Wg1krPF+$s{J%GqKOXJXq`-#6GvynZZvTXT&?_dkHN#=9vwX~E} zvhkt&!tu`Q>Sd#TEP4$=)N###gV#Chv?vC(P}w=4$Yx4NDu>XbF0G@P+8>VCT|BKp zg*U}}E=V*HF)Oll<2MgfjypK#%jKja{6A^%BM*rXXDeL`XwP?VRUiL+@;ah+N7sNqCoZ)4^8prqd)gVd-;$2?kdoJ7M0M)pDcs=l?c7-au z_DRd67#jl9iJOrg$Tr?tJK8MO6heh~e%skd1Ow;b0&_VE0NmSVE4TUMeFRI2?%c#s zDy3B*fae>5ps6&7ZZb0fT2Y*7@=&$$8iBU;@Tt<05X@XuCLhti^ywcezh}y8iC;KTo-O$oYb5-_UCA)h+?t)u z3u5=}?D%Bk`^#-im@d9k)aQ5kQ3?Yk6oldZQK`58rj3we&c0W4;CK4A7&%5!pgfsq9kAI%>`#W0JbN{8lw!_TbaEnZv zyZ5mVCr$ct3$*;}wLU68?@UGT(M^C=Z%_{7Xd*E?9MwSMsx@D;yHlq}=Byap`}jFj zdZlD8tD)@g7iov@{F5ZYE}+N~5NXV7D;O-a+!)EsFB4%fTbIab+FC3Wdal40JP(Rn z6{Jc#bJg<;(FFxih^`l9LWUd$~26zJ<>E3R(oIxcGK{llOF6&nBw2;$ce`pLi-}Zuk;1s zC+c_}XMm!R!L=xv`U9i#aQ5rp>AoS#5#RvrQBISOFDDJ)BKnXRUNIl0+IEIJ7iY{_ z6>6}0drJtjGX>LdbVCieI}s}1L}?S(CRbG(au;XvP*vq&FTV(9I78QOk31;wY%I#j zv!7m-nEiYCKu(TEF>}@%dOC#SOlL{E^92>YRsW0?=onOG4@WMrF&a@|)4-mciug_) zd<#$gX$DzC?H)6HdV2h+&8NSq<#l3*CU{Mr!|Vo=Fe-1+i{J{w-?T^`WLVv45m#ub zp>sz0kKl*o$tjsfpO0L_-Uxh{e_A~U0@lnP>kf(oUE&Sk57u;DNb|BqyGcGAO-srT zNgG6hMLlfONshA?9Ua77bJsyp2yFBz$Pc;@km8WhL*_Pnbk9&lwCXRBuS01$@!Qmk z*`vT0Q>Q7r3Jzy8aEmI7==pf)ZtA7KwI))LLbqVqIV!x0)SU&mw2pADK-D8O6-#foW!v>znERGU;E@qDAmhRZG;^zjiWrkv+OjCP&Gt#MvT$W+;g92TAwihhIv$2vr|~)G^aUZ zbsn(mKSU~0rYOxq2QB`yv?l&>nB>z^`?``*BV=$TnnBlRIHn#txbMx`t>L={6UM#;ZFqMiZN##nlc z*))A&q(pKuiD3aFca#Otj8fH}p|6fISW!jVZ?+f+cgtXPenY|gESI#)x$~!QKC9lO z_xwhc-MfBOSkBd7m@%haIDZnF7=-@o#EX#q)%*K<9u&-B<6d&_KJ}UhTZ~*oVKjhW zmHf5M4I6-H>|y0Z&@2xp!C0Ak4f)a9@|?UnuVC&F_F$msVwS{Ghd5!=T*(Lo|F=6JLa|d)s+w5k_90GRKXsjmM0z*Sv#3$~6o4A1!Oj%(| znJy6O`y83az@g|T`)#Rg(4JmFPcgo;cXVfatHMk~pUJs2Le;t&i3}#It%mI8$Xva{@4xr&uRvzO`Iona-S>8R_}k1~4kdo~F(q%o$4|+^�k{{+d z^q8=MX8xIqS@Jb7u2Er(eopVKLaXmYlFuKWrBdB=ZP`%1Xbt|xpKn(4Z=s7S01$~EGJDBn%*VRoyDabtPfNZJlhIW z5l!*w90))8<8ii&p z`i^}Wx99DASN*Kw)x1EdFSSE1qy6gghxZriI~40V(BKRV6r(43X$xa}v!i8rrFmU2 z-wSmgfa%cmybq~tFT=GEWR60ZP-uAKv#&fM@9uZ#0_vUR#E{>`bh-eG z9zB6u7bpM3=QSa;S>+ScYnv9?@A^*2_@1u{U2|ZFrpI{8-#;fPRkUEssWsrtX0$WM zp$#Zu-O#n7tAhEArUB~rdanRYPfR>$g}4zZC2H{-{WU56m;Tl;qBc@;5k+=+=si{X zvZvW+J@kEx5);nQ?hK{iP`n{Oo=vBlX?Tu;)ZJcHJpN{1mjT((G=thGSG-SjwGGPN z6O5)-ALhz6WJYf#Y=-~n(b-nX@CZPEVS6~JnbfDr*6;kP#M^@9LEm70-?6XoLdPWi zZ~^IOevT z9!g+%SMF<7Xw%nQyAujOCPh1N#D0&}U z%{aUgzac?j8%>p=S#IPJ&*-`4u)Qj~X+Kxc0Ksy{ zb%((c1XY&~0(j3~!ePmRK2tHYEsju0kWSZ>XgNavAaax>U8 zxfxo$r7Ksd@yxzbJ8zrARFCPPO=BD8oK0jrPv@3@W^VY}+7~n5@Kp_~Y~lV>RatWP zfy1@#VA?r0z@*}p|3#+cF&BZKgV{~G1XVsxRU%8~1$imG z?G7|ux^w)!HCrtfC9=|tck6iy7pxpuH>!<;IdZxbZ$5zH%g2sUK3rMo2Bx3XXWKvE z=^vI7_u|6=I=e1gZrf0g8xKiUTH0H$q5BK!9^4NL4^Nzke76F03|})>J+wThCRu9? zuMz@mQv7=2(Pu4kzdT^P8#+=c1idP`)wLdme$bUr(a^8SUbfv;LwTsTVK}S7v^!Q; z&4bV7$2TL*@;+y4@~#T|>D!JfRh`1*ukhn98YKs)`Bkii3c3z>r|Pi@x{$M@hNiOm zgEBN3XdKOKP-{tKAuYO{$&yGaC1o{(zPrf*Qygq9ZE%P(IH_$kQkqk0;+3nfeC z@x4ksUgbe)YBf+8GrwQSZ85(!Rfr5U+s2xBs7SHF2KBzX65Q^hE?^$U3}obfF0%h8 z(Lr2|GW_A3^4|@^bU^o5zAzM(PF^{Sqyw@?{ZJ9Pe$yT>PowAXfMg=l%hVfc3*=#YWj7L4p8$$LWRC#nz&W0i2|MGq8K2}mFyELMwZBoNoW&{w^-LiH6`@^1$QIVgD@) z$-EwbIE0^;m#l*bCu1qtw^ z*KQk~JSYb?e1hQ5l&t>9SNHH||D9qzeE&78>$eG^Y7uay(F+QBTT&s!i(QHTSGFGh z|7rHA;Qujgp$>K2ylR%!M0|IEx|*&F6PN8lnl`IWE_LN;iMKVMhDyKqc;Sedet@S- z%!Cl`QN-C0sh*MiMaAy#daTAd=r@(zOPxEbmkV9v^at-IVM^(i6w4dhlGF-YLyq_F zq0*A+bae8kY52uY9k;Qee9+Lplu&=7F69fmMnk!Y>894ere@wsclq6f?1oL0$lSpA z_f(EC6{s?PpSx7T18uqh=d==@6J7IlVl=+>S1V z>%y!j3eayY@J}KwkEBZO{g}Uh*v_JBZdqJ8k>iFT Date: Sun, 26 Nov 2023 14:13:36 +0100 Subject: [PATCH 10/12] Add Documentation for Planning --- .../03_planning/00_paf23/Globalplan.png | Bin 0 -> 70983 bytes .../03_planning/00_paf23/architecture.md | 131 ++++++++++++++++++ .../03_planning/00_paf23/localplan.png | Bin 0 -> 81677 bytes .../03_planning/00_paf23/overview.png | Bin 0 -> 66508 bytes .../03_planning/00_paf23/prios.png | Bin 0 -> 67443 bytes 5 files changed, 131 insertions(+) create mode 100644 doc/03_research/03_planning/00_paf23/Globalplan.png create mode 100644 doc/03_research/03_planning/00_paf23/architecture.md create mode 100644 doc/03_research/03_planning/00_paf23/localplan.png create mode 100644 doc/03_research/03_planning/00_paf23/overview.png create mode 100644 doc/03_research/03_planning/00_paf23/prios.png diff --git a/doc/03_research/03_planning/00_paf23/Globalplan.png b/doc/03_research/03_planning/00_paf23/Globalplan.png new file mode 100644 index 0000000000000000000000000000000000000000..9368559935cbe5e78b5399a2b69b950725264a62 GIT binary patch literal 70983 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 literal 0 HcmV?d00001 diff --git a/doc/03_research/03_planning/00_paf23/architecture.md b/doc/03_research/03_planning/00_paf23/architecture.md new file mode 100644 index 00000000..e85c7947 --- /dev/null +++ b/doc/03_research/03_planning/00_paf23/architecture.md @@ -0,0 +1,131 @@ +# Planned Architecture + +Provide an overview for a possible planning architecture consisting of Global Planner, Local Planner and Decision Making. + +## Overview + +![overview](overview.png) + +The **Global Plan** gathers all data relevant to build a copy of the town the car is driving in. It also computes an optimal global path, which includes all waypoints. The Decision Making can order a recalculation of the global path. + +The **Local Plan** segments the global path and calculates how to drive in the lane. It also checks if there is any collision possible. +If there is a collision detected the local path, on the cars lane, can be modified with the obstacle avoidance. +The Speed gets calculated in the motion planning according to the speedlimits of the street, the acc and the choosen behaviour. +Motions like lane changing must be approved by the decision making and they get calculated in the motion planning. + +**Decision Making** provides a behaviour tree, which helps perfoming various tasks like lane changing and crossing an intersection. + +## Components + +### Global Plan + +![overview](Globalplan.png) + +*Map Generator:* Gathers map data from Carla and prepares it for the PrePlanner + +- Input: Carla OpenDrive Map +- Output: Converted map data + +*Preplanner:* Adds all the waypoints to the map. + +- Input: Carla global plan or own global route, +Map Generator data +- Output: Converted Map Data + +*Global Trajectory:* Calculates optimal global trajectory (speed is only calculated by given speedlimits) + +- Input: Current Position, Preplanner map data, completed checkpoints + +- Output: Global Trajectory (middle of the road path, speedlimits) + +*Recalculate:* Deletes streets from map, which are undrivable. + +- Input: Preplanner map data, position of blocked road + +- Output: converted map data + +*Why Modular?* + +- Easier to inject own waypoints if the leaderboard is not called +- Global Trajectory can be called again without building the whole map again + +*Implementation:* + +- Global Planner from Paf22 +- Can be optimised (some paths are on the walkway) +- variable for completed checkpoints and recalculate needs to be added + +Example: Google Maps + +### Decision Making + +See Behaviour Tree. + +*Implementation:* + +- Decision Making from Paf22 +- behaviours can be refined +- Add new behaviour for a blocked road + +### Local Plan + +![Local Plan](localplan.png) + +*Local Preplan:* Segements the global path and calculates the middle of the lane. Is not called in every cycle. + +- Input: Global Path, Current Position, Lane Detection +- Output: Local Path + +*Collision Check:* Check if local path is blocked, calculate with constant speed. Can send emergency brake signal. + +- Input: Local Path, Obstacles, current position, current speed + +- Output: Collision Object, Object in Front, Emergency Brake Signal + +*Obstacle Avoidance:* Modifies local path, on cars lane, so collision is avoided. + +- Input: Local Path, Collision Object, Current speed/position +- Output: Modified Local Path + +*Motion Planning:* Calculates speed based of behaviours, speedlimit and acc. Also computes path for lane change. + +- Input: Modified Local Path, behaviour, acc speed +- Output: Local Trajectory + +*Why Modular?* + +- Faster Collision check +- Easy change of Algorithms + +*Implementation:* + +- For Obstacle Avoidance: Pylot - Frenet Optimal Trajectory +- For ACC: Implementation PAF22 or IDM Model +- For Lane Changing: MOBIL Model + +*Extra - Visualize Local Trajectory:* Display what should be done: green if accelerating, red if braking, orange holding speed. + +- Input: Local Trajectory, current speed +- Output: Visualization + +## Interfaces + +*Perception:* + +- Speed +- GPS values and orientation +- Traffic Light (Distance, State) +- Traffic Sign (Distance, Type) +- Lane Detection (Distance to lane lines) +- Object Detection (Distance, Typ, Orientation) + +*Acting:* + +- Trajectory (path, speed) +- Emergency Signal + +## Prioritisation + +Red must have for next Milestone, Orange needed for future milestones, Green can already be used or is not that important + +![prios](prios.png) diff --git a/doc/03_research/03_planning/00_paf23/localplan.png b/doc/03_research/03_planning/00_paf23/localplan.png new file mode 100644 index 0000000000000000000000000000000000000000..14424349ce5c974ec6110d8bef8a5461b0e708cf GIT binary patch literal 81677 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 G_ELrb?H2q++>fHXRaN{V!c0xAg7-4Y_* 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 AW&i*H literal 0 HcmV?d00001 diff --git a/doc/03_research/03_planning/00_paf23/prios.png b/doc/03_research/03_planning/00_paf23/prios.png new file mode 100644 index 0000000000000000000000000000000000000000..c4127675b80eed274de5d0313cab9719965ca34c GIT binary patch literal 67443 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

r^8WpGT>XRhnBiWo7f^&?BnE z3J)Um<7h?rSZ{gkFr36GxpFsE(GK+`x8$P_r&Vg}X7*=LAe6baOWSBJygr<1w*hYy zGZdOQ8qE>q0@G=&IoiE5{S8-ZvH~TaKo#!-W|p=&7bdtgb?8|gp62YkPT7ZY#Xb@| zUh9L^oVZ|p52IGiD@rjL=v>8lTcQJ-PpmGdY*dse_utyT{($-+sRXkg_G355xG%b# z5@-5y=N+;MjQrZnxg|XHD5>slxkBR+;UnsfBH(~S|O)e70fh3F0xE}yu@y*Ve%neNJCoA&xGxznL_l31Lw7gSlLXRJmAVe3a9Jv<+--9^@a;y zYb2%8Ze~Cuw!_5^sJ10#7Qw1P(|__oLXlLGJ%4G$I#(7}3{QV>jH$cE-Rbhn{L7;X zL(nPcTV(mv)uqyda5P4HN-ko*^fCgpYc%8@ z%6p2suf#OOA=F^FGj3_lpP%W%>+{`4kT);-u{AzQ)n@;cb z$@t~NS57Ytj z@>MR~EkT5hQYE`h;r2H*;jy#^wGMG*BRn6OxN+_SH|L;1im1ktBZ*uYYbM7>B%e|p z98d+ACkKv@dc2%i>gVjV;XvD6&PDqT5kK;xME>M2jdd$GTcYqz&>!&`nXh zMcU0Hi_C56*82z+uG>t>)otMzYu)<9HU81wo`8SBwZ6Qtl?u(v4|a{&0w3LEmI%h*7KLZI?u-^h>PI7%X$4c zOlw+#QgM_z<&+C%T7K4&(S#j|*Zu((SZWI}1$hF4X@qFUjq$VdO2cq&hZ1E321yPfBRU<+G4x29AssSu|0_95YH2n z_o|#km?4BD=|N(0+8+YxWVP9Djds+qn74;e+0Un8D4?`b9F{zP-Nc$#88;T z!_+IyZ{xf(dBzxmiyC>IL~1#slpa}J#zN226jG3)PSYek6U|?WZnh=YHZ@=Tc%i3b zI>{Y-DOJS#APs1rov7^^&BiJtFc(dCbENBvaJ+hplj_Q8OCQgf&wW2ZS?(hfCmB7hXEWg)Md zUh^i)Z3Az==-oQ?2p12--$8%0iY3WZ!`-K>({H}~o`TrxSmr4d@sO#-=#I_8q{K zg767KD$P&{Zq@_1X^#Q~j_4hqVkUV}3#z6j4v3p6P(f9eSg52|h|7DJ5!Qc&0gPeN zR~Z^tn-9X}<63%8Qk!_1*RUbQA%Lj^xGe=&poDtD5@pYP*uU zx_Ux-x_oMC>Qn>|)x>|X07uf~SB+^3yXUN9(+3&DE6b|w7#i8hH?YE(UwM>R{bUzo z^$yk+1i=uAZq%_3#WCJf#dciIw8%1DC`6kbzVHS`2Gbkl5iBd_y36LUuyzZqvt-a9n?J#}7UdU=zUZgFND`yfkWSM$Txpjtzy8b% zZ8!+bVKCHc|63+DLGW8^w`df0)p`#g7ex=0w3pZU2KbZ>5^;YWZ6X#(g5s!Ek&h6E z>tWrc_&M-IQgrTuJw3H-ZTrosHHu;Fe*<&YYkpa`c6XtIj1IpO2zZsk;E%M5!LT_< ziuGdRnG??B9@2o)pZaY)|8O7%6c~{mHmt?LOO~9}VZ3o4WpBT^N&wj~tMv zsKSn1O#eg`G~=DN{{ApI>>#=IUbh}%_1Agj6nA@%Me?c5(jjyM)q4Q`9PB!0a3trM z+Kfo>Qv;!P_PV@gJ79*n;@~)V?{`u96{XQu?<%Pt@dJeY_nc~Q-#NLk5AV~3$jkfT zG%oo)r-K<5Mtb^e05y&e38akqBN09^1^x8bP=g?YF`34UKR1iCXedWaEFmRMR3J+J zFXHoNzs(<`_0S7nhZ&3*tPX8~nZ5CtX&*1ERb^DjwTme zY?0u;-4uOP&tiYF;@PisA#eENNwrD${6exSAPM1H>+C!Vj&&=l(*ielubD z-tBLnCI^KL&(mHgLE&bNkS=wYDO%xqI^2zHu#hQ*$&p-*N<|!`E*@oPAP4s-Icuy!; zks#A1%UgjY6Kemw&Xm@$Wd?7kRXUs@^;0ArS!0gIn$UvlDYlp-#-k(0hvA^T;qDXT zsg>47j*Uv^{+F1TdM%xB465C5eogpaT`8V(noB zMkJW^5^i`Waucx~8tZv!M6)@?$MY_Br?4~*Q|~L{%~3Y{W`VMiUuFu}vUAhhI5^0^}P=RyNL?G+=5L*rqGOw?#nm_2!(lJ?cRmh5+y{A!l#M7`>| z6Oon3HTf%T%atLR^daX7@f^8w&*$HrRG;2f{y6$J>DFLunclR$G%c; z=vCPJdZf#4&x9jB0vu|bjY7IV_q62CTT2Vt6 z49X?q=hF>oU#&?T$6@Yg3}DCI|HPb|Yq~?kUs46@{EAVN0n$(^?cIVifkKPSGAY(~ z^ikgf>nskuh~KY&aK$VY_`z;^0Kh%oyy|UOIXan)O&sHR%zK6KYd!<{ny!*2qkw>D zDN;-ybh+k5+@w0eiCT?sjG*>t?Kb=>R zGGLUTQHGeAOxYF!)DA|#5~30)uMJB#p}~XeqvrmdM=0h-C3X;()sp14 z*Az2oD7w>$kwti!dJt76tNUE;2XCl@4nPt48*{&gC8U*8*?73lA-M{aV!RpCp7s8l zK?Mo`pL5P(5oN|1-7Y>`C!NCd3lcm(9d_RUD}c@!tOdH}Yw0ug zVz1>1D%~N>&gf8OyO0JN*S#;jshITH?rh=q1v9~#^10}+_m}GZ-rkp|YB_5WOA>E* zVT7dVl#B^=831xoIL(nb-#J@=h=EeWzFj3g_aVSry#K{hKZ1%ir3>E7^iXAiw0Yl< z>+f>$1xT&>twXqXk+w-!MhT{A;Ze(2@|qMEU~Ki$+XSS1qrHvO?g7dc0gaGPwqB`c z)4bIRBgb2C=l~C)ttC3B7CDJ!X3kc>CBAH>eXiGx9)QIx;CT?ujwLz)g%~U_aYyCb zVt3_2Mr7-n%1mUeE{H;JK8IPTQ5iw@)Eqy^7Md+PyoudF#6JsXI+t2BYEO8rJGo2J-7n2JtrDx(D$V<+@DV%MH zA(grjt|9rtmAzi*DQzqZUR<`}u|Pp>9TRSf$aWHE2M_zVBb#gNvR)VrXtP2gFxe4Z zp8@d|61XiFjC^6>K$H3VkKF|;*-;K**JhOsl(W7Tw_ydXGq^9o4&>2$y3_uRbjyXA zCRp)It5#9st_Isj!QI{cO6BhE!siIOIX5cka@%tr`-4f*%UWmBqN4)qF2f&EfU^h( zKH|VJY8u}D+f^As#mGr!-Eo+~DR2Lnus6UMN}}3c6IpgZ0~AgiygNz|M=wVF?{+z@ z=SM9Mcnl_sMf^XyyS(FtwfU6gsiA&3(95yH)fWx(5H@x<3152=euCct^KhMyT(hhE zLM2g{CPdvRLMy1ZToZbM7eI8dd)=(NHXRbbxhcrNQ5%CYqA@nTa2>zIcQL+{ub#_NM1!B4cJhs$wo=>Az%4c_*CwHLFF0AjG~AbNqu# zA2cfn-tpWiTlJA39LZFffD*j``$_q>Kc8e>oQyJhD5Sg($0-o}@W5^RGg!cVYzlr< z^|2@N@#5{kT&8j0Z0_u;vY5&%rfNDdF^09Fd)5FjZ-jk)cdDymn71}La?QRiXUh#_ zet5F53sTTL4T_|!CrW0a84T}Qn)T0J@;@%Xf5kd*e5Pu6+0pH2!(Zrw-d zywjjThqti%#~A_%iOrh6{?RNyulyhM)D8FS{bkx9BMtz1B$r7<`o)SX7(R@z(g-<^ z-gCwV0P9G%%m^+#No6S`#FJaGSZC->uK)`rO_|e4jn^~8<=6KnDVK}lAE2p~;L-W> zgYgn3^r*<}W>idikx8Fj)Kq=@yi=4-A-w*NsdBrD8LFq+mj^sZ8u-kG{Po39AliXU?1S-VG)+pe6q|RJi$Wln&b7@%? zvJJb!`d#sUNh0GZ%+1oSZ4p#OwX+32 zeqRpzhnb0OLhtr$;ezv}^oR47-PZyz<}ej8WPyrm05?<1g4mIy%PhhWy%DXhiLnE< zyt^DyBUD-u>Ab`JrZNyoD&Rz~lVQMkj0>+a5VGS)DKi(BQyW8ruSD_inX0`?V{q9P zm{+<}tAn|352b)S3lRy9G+D7ukI+ga9mX8Q$rE2!DV+2M=0O5KKf zjgbzKV!x=WL_{b~iEmdOGnqWNB@)hrQ>l@&${)~6nv^BAECT9M@@vyGRWvuqkOfz? zT6{1RR>wrf%{`pf<+l*1g|E9=1znp>wE)oJv!x!XLJF76G>NlG<1Fy&QzW|6SW8zY z2pABrPJkpSy!$%YN*H>8wdHJ#8@@P)^*2DlEKoBF;fvlB1O`YiRj7Q@d=p4m@6^R# zrnl1dp*=6m4?X!h6@Uhy!v_F3fl!4)XG~MAoyo6tYR7h%|3>oqjZ8e^YqZXdwtxaM z$sbsb`S;P=g(kBu0N;h^0O$YJkO6u?2cr1fcW*y!W#_~u#<{UYpPH3~I4v(PsS`DL zRCLa~1!_>l_yS+7%4e0$70s>f-RBQpNe<7cJ#W&4e-5Hjt5ns7$MCo=W^FMciR6TdM?R3vi$HdH*tJl-9$2tiSIA&#>M z=RQXz8qA@g0nkv4yR)6z6Te$l{gS2`t5%?VJ#hePRirb^zx+cum<|!)=SYJgn(Dt$ zQkL3I)JWd`$OEv&uXaj9MAL8_V@DgA@)vZg$^Ia#{UP9VF=cW#>DJ+CLmtc3KO#;8CI06sY}^+bQGP>BR5Ax;#;eJ`k(w zbWQLtj%OWg>-!H4{Q*Y`K7yFFXDAP<+{u?jd!P^F7;ca z`DTZCsDu=@hbT80I|x($=0{0_udsI9u4xN&kni(dXu*`L-Es?VX$Pu}KK@zJpu_tO z{zjrvN3zQ#O%t=u4X>l^+0T+wNDGa=ux0bLVdb-6&AYE}xW%UpPN=1H;|K?W63yjj zKg)bI1!i~pUB9=gnkbnWdC}T;(y!Ze?gH&F<{~1aduwL4p6Ic}ib|tiedpqsMvc&t zOtU`nPvZCE8wJVAN^Z~^06$UIfu3wYSn`0oBA)^Gm#UL$b&%+don44$@vs2*+3b$j zDKV!*+(37R`%v3R6esKxtmST-zM5On*SFE>vWPVpssqP(=ND(MMe*=*N7+-&lJ@G3 zgDCr#^8Hz5?SeNUULLmdO`*~lBt`oO5pEWu)Md*M=|GgEze7du=X*VV)SuVEfOh>m zYk!5pRLm68%>r)S8`%2H3r2cI<+#5q%h5>}OE{vnx2be^qvgGIx-%0gjglzqpTHt_ z4^C#0t+iWp#Jq--&^Wm9Zy7}m6;a{>xHO$x(^j7T>Z3x0pC3(hy6!wLsE4+HAeK@? z^(2cW`wE7Kp+{R0fUUWovX4KPGPf?Cjw}mYPHZIap)|mbNwoL@%$LM2hi}3HyV~%e zT6{pnix$A*lLPpI|BzMcu)$vLnJZ=mX0vJ?((0~>UQHq%r^>BMS7Kz9kkgB2i3bMA zizp)tlM2Z1XGA4Zm^QtBQDZI)$68vjdRW2_PO&DEt5cl@SE1o7K7-*3-?JmaeSVgX zuF1)$4VfM;)CzmQ+q4s+6-#X|k1N!@(U~RMg?ew2{9h;P+blbLRdXp?^|YF*#^Ui- zumPx=`89OFx&J>O_zHl4x1l{lB`vT2I)qm5SDm;$U1rV0-&xMdqF!}?VJALBrj6*c zMr@10=yogXItVa#h(l(}YnM5F2VCIk;ne<4ri4hQJ@?d_uU|d&ou~^DGs$CCyb1eE zz1tE$$lqf|t+2^K4$Tspiy)&S5(Z+fP|dV%0$~PAs60B)MMdG6 zW6N6V8RNFMcC@H*05XLdWvD>Q($2>$d5c>B0v|LT;t8?`fxMhHz9)2-iwx&>`QTIj zYJkMOJfNk%yj&I^YX6*H4T4B8|e$2LyZ8IhB4||erbF7uyl$HW` zwGVmm3ENyw9;F>6O@W(TS*Q@b#*4)ug0s{-f@Zv%)g&F;;6@V}cR(_2G>SdRw_XnC;4*ek}Xf#`rPNs}Z~m9R-_ZJU~GS#cQ8 zW1a|{7CIR{`Ua+QO%ApaD>tUnb?9>j<4}S9yejemPj;tlXE$H?)JgY4_^0uCar{bX z0O|wFE4+2bu4T4BZT9%QH$O^Wf`;5lY|VRrqI_-Srrjnjfhfh8YzAl)AJD~UxM7Wa=g&~Qx z?>;v+^Xbm{H$MzBVDtY+ zN&twFHA!SA!1L-Wf8VgdRAk2~ztY+%!kwZpYHrr7dX-9k)Qu{O_-Od$Yn^uqr3X4yV5{&!_i`o49dUVCdXvu=X5zQt5$^r&d?+lISR4jK7>^jeUYMect$& z4YQbJe(;V*(IO1BSPoUO@KYDUrRbo6M36i#lF8~rlQ~nOs;E|5S_ez0rU^Ktt4VnU=RXMtg{kL4dAa?b|q-1d{ zo`lmQF*#|P$>i91&~lTzAzF!IECx+Jd1DIH zQV0n_en+)i9a!xl__WZ<{k5pkIv@0Aff7*x6D~ zcGJ_-0R4g1hiY$7DwUq(DB=yjp06MCK>*{;H!hx_gXvhGC$A#@?&?Xs0->r=a94gwXk{8`g~HOY!|b(8ih-Y7VKwk|OmNQ<0=P z*ZU$WhbgA~y>XrnFT(JlVH~8Gh291}Pd5NyX?SL}ot@LbqQssc_=IwLxiAkJJ6Mef zP)ABAOGbq(D9NX9Z|&~NwBHTe z{|zMsX9LBPwC5ZDm*jGN>nA>a?viX%W|Z1sm?P*4M%Q0@@Ax&X+x#*y)3rDw&g;l` zpC9f|?s{8;fwE+Q6zKU&HO5bNtm{c8!Ciy^pAl!f6anu|O#iK{3VPnZu++rq7cgvw zM4j73Sr=c(-e(%&FR(B{|V6o_zE zZ(9h<++zT_<37OZx(GU%{1FP$S*tsoe#u*a)!YLLt@Fe8N}M*PKL&8)Vky!~1Hwn& zDrA+F&I1|YS6}6ZjDL3;W7MR@l-+Sd@?UWX(9QfM5soqL|1|4A-sbzTKxh9)5|1qk z1_1AeHIM}_7PGsP>e)Gv?2rxq>d3~L{)xW&6wLBPbNZ&TH22o*E1{pup=G@mLUBg~ z0D7b!Tg%5NF}q6k|FsK#9tH?5ZGK$4BAWWa0dWI^l}->M4F8`k?shd-S7hyD{=b5l zpori>2#C+{yjJB;wVXfMJ@)iny)3;v?#IUdTEZI|w2PYItLwK)mbBlN1kKiZqSB}9 zM=#F9T%M3+?}yy`UhVmp@I(C|7F|z*yH)Q0d_e$^l8)ga4kw>}SddzylyGG7Kx6(T zv;53c3o9BGHS(GYiDrT-IhfWoP&W|rzW!OFSus(NI<_7r5tJX8%)wkSkLrK@2BPX& z^<3*YT4a62219>3p`_g&-=~-faDLL5(6c_*szbyyJjSt?>A+HQFV^=$%4>BdWXbz7sQDV4_Ti6} zmILa*b*O#5*SdhFP}J2lYlZxuo{uQC;fq+Hvja$#tKNpzbnQZ#6~7Z(26cEpkb?ng zFi{QQ;O(nR)OMT1?NBGEia(HO9q(>y%q%qM-yItgDIzn4os2-4&7b0S{ka1r#K#5r2%!*`TBG-$*JHb)#Pi{?AA5cG)(8-LD$EG)Y^1|XC!{n z+8lGwc|er_qh(@&1PnlpKAjeq6{!$Vz`Qr4^ExB)b?{yw27Aw^9SqxP4LRqZ>aDKW zrkjqGgu<@m10p;cnm{2j(ezfcw1OapylE&0&l2R(IUU-R5ejPi)e)L3xMW5QN&CXh z%*vm?({7B@ckWA}YMqO23k@2oLnrwrn#a4)_#^Ml$$4OfL*)H6+8TY|mCKzm^5_S; z#UWcHkIscj8Exu?GnLapO=HiZs5Z8`nOYdxe zab=e@z?~O>?LjqwVO@EeE2Ty@!-GylAOZi*nPrh>ow!uKiz~Y9LL9$tEiMRGMz?MR z)y!Cz(e~(*iGY^nqJ&XKLOuDQ4)N0nc}j%@c;UVTNBAxBj515skC?xbFCCQfEmr~| zhONnd4Oj^|ql5=twMRM9Y^7JaQeyI!a4b2=e!h#X-VM_hG8_}|z#{0!_c;IaZqL2_ zfh;sUd@>UEU11OfijtC2v*RWLJOaW5pp9D;(QW>6Ss*eVLng4*OOL_}fstO@28un7 zuuvClF%E)BuCkqItUXoVe~pp5Q5iRh$Uh@;kXbA{n2jg z_cxbU6-HM;{YUZX>)0JWlZNb84)TLa@f1H0>X%Ipf;C~mQFG`~%1;})U0zW?uSh5t zON4d!U_jnXD?#Ug!jKGb;HZo8yYA!Z?2xg(I8h`!#`4gUR zkS;gC6CVl!$gFvE+QRFXbK48)SDD`*6_r0WvJeosx|{AF$#e2@1URvJy`u2>s~ORg zj^d$7pm1@r^XaTTKDXQd)tS7?Rg=ZD421bEeU-EIThS$NAJ8FM3?kXWN!I8nBl%`A zx{{Fe5_fH$W-q{<9HJ>f1BhcbUH(n%6G()C757rn0wBVdqTHEo#W8h8Cgg6{xz2R%v4EtZQm5lxP=f`)Spa$jRDz|>p;MBWatm|_W z7Z(?X5t7O~`Mst^K)V#%6J2ha9l^1*d&@06=;VT0Pu};Jp9hAAkFY%8;o--JQr{PO z-yGMP4HEGCKl`*aXmW67y=G*R@1*mme!HMRY53k><^YFnLh?H1;ujmIjlhea^9bk>Qd}3=YEO5KF3x%X={HB{LAi>cG( zWL9#{t0?$M* z=`4}(scQTIpmB}k(X>*SOwgbO{i?n7wg;R&DtPhrp8T|nFb3m(Ef{mEv#c_}CWCD^ z?5^zg)`K4q;D(tEMUBO1N!WT-_lE!>$sP+Q; zoJk4a?6a~MwEYl%zBMT>uRoHGgd*4vpu~p4Jrxhhqn*|GCns|BPE=<#8%BqdB0KPR zH=r{A$<2*h=;iU^(*Nb;B_B|hFBU~_Jhn+(T3WK~iNNMG8^FW=3T=%VNCZ^?G(G^b zknshgc!dQ}xpxkvaRkE+wu{^YgM**OLj&eTUM@tKn9x|e<&$k{jF>PY6ciOT3WO38 z6B%STe1tya1^~S~q)J#+4xD~sa~Jdv-7N;ZToSv*fRJ#}cCJ2(d_TJnMj0CqE4E>L44v7D0frY^m| zI~?0^k*lmWCLpNwKXs zJ9CC-(ZpN>I4LTss>T%?`J{-N|K{_Qih0_;3})dupwh$P8o$F85Z#4x6pX6f^2;zr5Kp@JzukZbtHNkR0gn}iVU1|?*8v-bSWCuiG~_5BiuF)E zqT?%o5o#H!ny)ESO*#Vd%>aFYrH-s)llj?n+6lJLz=`J|+c4XVRB zRDUocX7T&Va&W5^4|JuYy|HobLh3Wn|A1_xxK`IBKO3-Sz_!{SgQgE{$bz|#wsqWK zTQeKQ4aZJ_wzeKhVYh0)Xk?6vidw7)jQ>ub{VIol8jsl3i64-TaZmt-@iS&_j-X|N zh7C4ci<%8~t$JE45o1MP^~p{3^-`;X9NKx85SYx&%mD=+z;)jyhvPhK^+RcyfYpm& z76gv<&i&v)<#>8S`F~%p8w2{Y7>07WKP`Wx0qp^;g)~&TdtX$p-%_lJG!L~j(~!Itb3!Rs3-@> zye;@@dbMzApm5~>GeiuCztoBy;Stc@WK*N8mv?{eMv|&1F0M{D^@_r@uy^et=JKYYU^=X0^#gj76R&#Bo_g1Eynrno`aLpI-_mPQ;U>qo^KXA}ywE2S z7xU!<8#WDq&%KI216?SlgaZLMQ%ySm`uaMGUge|V+0lGWe>p+cGBG1OU&y~VNua4| zmjA4$5g>RrHV|#xTPv^8>|!PQ_U+p%1j@Cr8C) zdex`Q4vY}j(utsFW?-n&jjn0}VU+jmwDH(2DO&_=@9r`kC;{BWZ~q33jPLp9;aj}1 zon*k237D>fxNkBz%uwj)=*H)3EE0Re{pliM%mImhx>JsB-UNOvhU_c@IVB~{a(-{t z$7%61XvNZHn8w4VrV2D9m2AG(8LZgpi}10Nfd`x<$yaYF5L-(=G_?IX(*Ok(_0u*D z9>oIRQ> z*qAa2z?~t#W~jBGZ__7c4CM{|H&~z0Ol9ohW^93WHYF9+)g1UKffBSwiGqTHQ+8zE z-zjM<3Qz&BTdUO+$S2+XXGNSc#}BhvkkQc8?D%aO05o4ohq{iARm05f-5rDF`jpvW zbi_FwTesc0yqN7jDJ-kav2TkD640b{L1gcxzrGOzoCg$AK*IWSY^iR73}ColR#%!t zG_^CleN?u7bvk@6SrVfPkcN}Q_(D%zz!*{JVIw0rLO(Zh#*y(^$X_gHGBxknaJ&em zOh;LzHdjgvkBjoAMDj!9=SE~%%AlWyBM;g~12&s)A%U&4VDFO?CyvPZlNQ#jtDUEF z!2|8l;^A+NeotN`DS_Js)G#@?aULHa;{MXk_5N^@lzK>WKvZb;YK}i?Ywy`YSY?a> zRqLTI_)Ld?`OO*ev z?fXu8OTW-yZ@=sU$iK70NmJ?x!_x4({54#p0OZ5x0cBY9A<+&sNlIO0SqLq7{{GNh zp}ocJ$STyNBLLdXHgdQh5rgz}=EZKgdAci23aVlJdbUpP!7KVTj zeJUVkO6>Pmgz~s~f8PqE7h$}0DyOR8=!0x@3K-3LF=9sQIMjc4>3PHi6T?~FgHZTpc@GXHrmUJJiWZ`_UUT4oo(86;P0oyku=eyOPjKDgR zehm9f_dqIA$`8d1A%hmh4EC_<5}rz;8+2y_4NO=^;xw=08G8NE+{{1XFHLS-gm4hGPl3+G*}PTilFN2s3XPO^Y{{V;ogfr-=oJ4A4vha5 zmB_y-xVzgbFr3=WaL-(BaovpOAwGwvCQawIJtr8K0gG3goyvTC>$Q|%W@g6lCbbwV z@buqZ>mvEk*Kyy&!qG|0%UiE?oNrH!m`DLO*44}>cZ4@8(MWFtiGKc2#SZlOxA3+H zYci`H>pxHSHSYnkws!ES>l;`y2HP7^pn5yGrBEOdQr}ev6hjS$OUSU1f&zNvH}HFc zQ&=+APNhROzc7`vSp+)rK^b(z|v14m^+ZaArhGDcLgxhpraCOY^3Oa?^$?HWa_UMBg#$X z4~Q;vca~LjljzpleAZ8(k%{31z6s@yRPdVZOr%C?y%XNymO zAIBr2si9$2E-4DP52+y;PGQgM%iu|fb@}mS_kFO>j~i1HX*R4FAXr&Yb}=BpB+25F z3ymIqgqZ%p@lF`HS@o~j!-mF|rKB8`PfC8K#6beWuB&>h2O$*Vq$^I zw_nq7m{57P2@QPK^FG&6!D!3;TffcW-1=m1i&(p)uF)i;Tz{GL$K;nZQA|gr<5;7f zZ5)C^tbrT~ctL}PIxhO(cCzuY`?O%8NY-{(J!mt7rbrA1l&|%70W+f}x5%e&*2sXZ za9;_iWVf{K3@YrI1z1VKO^Cj}Ob!rM6H<>~nt8%D-I!Vjg1Y%Du91z6H@MevcTS(o zN12NXs82uroBx$({mO8Zbwf=2KekmKJ{kN=jgBTHDPoc|-hYsWwA%ez`TQO|Rz|`R zSYgortxT>h&p)Zw%jArDt|b~})m^<{R*FzAuIkS3-=2YE<+{fN<~^Y8j?Ur~aA)e0ZOK!`}t}EBdO;0At27XQGL#G+vgzewzzz(Cr5aCz69(pJ$^w@fZp1ERg| zj1N~I;YKn=rF*0L?Az|l7au+rv;k2#r(~uhx9YD4r|ZeoMRyLF1b9>eEq8;ZF5gm6 z^c(gr1k=j4I^T!u#)hm(S1oVAZZ`xH?PmG6EsKOrZ(G02@wtL|qC`93g0Mi(_$=1% z)(U9j%8kfO%6KFpuLnL0ISg&YPPe+Iipsi~WW+SkHEbAYtyQYk3bem-dwDazrw**u zk!aDr-l+Fq5|mDt-m)7U+gUz;fZ>>Xj1utZ{enNE?y=SZ4QkYBu(Q=q_|YvTijccE zxNyNC3Tz@G;D{SIg)6+fg(Id0o0`cq0^zY`9eSaM?H-6?GKe{8sKT-4(Y8 zBT5tnSV^i-D(bgX4*X~PV>!XD)B2v>*T1av=HTN=;lCz7?kupHnG+b#kthl@$G zob#mprHyC&l3f@$DRN$4PCeLZ@Bg4n(shV34*}YUeBK$&vahk`{JG>htG_cMaKZ`b z{TBm2Tr++}E*(?&HoFcf)AxElOzq{n^?ZZm%R7ZMQ?TEi*~Qj(C7m;`t#2|zWbR8w z=A)Um&!^!cv_hCDHv~6s`%{0w-R9Z@dw%|kWD1kR$3}EtVyEPO2!71&$(4#a6d?zi zNlZ?i$Cl8s!2+X(m>b!@ArW_q1N`UnnP>}{&r`guS#&oV3973%%x`O{|$&7sI z^y;j3oWW_|jp{nNlfwgXcf4(BDEBZbawN+YYta%j^;vV*`i#fiZAy@XTX9g)zVc<= z;Q5@eo1x<}*p<+)pO@Ducz9I{k<>=k;4_U1Bw{E}VS?@~!)8}W=qll9#F46;!c=(O zFJ$>DW3-S^Is#$I2k-uaGF$-}E^T1IdhuejYf0>mEr&sjat`J@rOZ-%1;5vYdMZzO z(!(^4vcV=^N3E^~xP0Pgq3-}mG4MX(dhiD8KyK}uwh06T?AxE}@sYthBj+2; z^vBzV634zk)0$GV9&Mgg8aNwLJE6dKUm3~}m|gOJc`_eJV5rLtl#(UU3MuD3 zGmZ}J2x(aH8oZ8%_#WCCOE7EDdj9~LE}7quQgQg-PiB>x{XVIL0L{cK$_V0nM^fMS zH*;aLFn8)Y1WJ(eUAppINB0L9<6KjJFEkR77OXVX{9H;02 zN>07tL@|2KppZ36G(||G`}x+N8P(10FKos{-#V8f31?02&d$5fyZMc2ST;KD6e9?e z-q^CS*NQ#3_M&1-2s&h`V6jeMtDLO9JiEUK>=BbR9QGK(Dt4;(aZ^7YA>pD8re19J zH~J)DDl0_@mPjc}U#AukqIf88js2gijGr}^qsboM*f-lAj^6`b3VV(DFb9x2y*j^1 zdXo}J_r>ylAolM+gH|0E&~vc5(c6p+aww(Ntjw;=thDpkqv2?r$AW_q+T`dmfv1AigSl>i=0*#vo97aomGQrWWk`VEK|Z6-aVD-tujO4U zL5b*Ea~#wgeyh9+BxP+4s?vUVP*o-XY4n9=Y>r(;myO=Wzle6~_rL3qKqBwo_Mmlk zZ#>WHGz$MCrMe+JJ^Ko*u9P-nXUD; z|9<@k`_gAfDK>(5m1ho(j;KWG50CY>?)^@$T*D$2Ec%(OAKQr^A(elz(3yF_af+o_ zctMQuk%X=^Z!fXWjQz21Xuyqd*!UqS;s#X+86H%bTDC|e?VC15%^T{<%7%+(M^SAi z>vUfTZ>YefyLWgM@6G09uP9i*g=l$eRW&lKuQ7=j7x(AhOH$4vZDn}Sq0X&A$<2gD zY&dHlVl zs9KOOp`v1kv@s=OQmXESI1)}UKT=}{BUSZyB;l@dQ+Bv1GzmI3$Z7X!gRs5wiOPnY z3F)k>w?B<=hA>FN(M}?W6N@28vN7|IMH!~`dv-&bR1doA41Vpwyl1@{$P$=;?lcxX zGYVi>us!QcqhezP>cDu?f&XwbybB9@X9wd(wG)|ySBWF>_rOk75v{;I=UB3c&Q7%) zq?XC`wv-qp3Ef&J@*P6U^BLbpM4dDhB`maY7Vc(_5HliSWH?>m0T$|nt?Jvana|CH z?;mj$QYkk-xwRDbIK-bF<@NE#a$=9WM`5VX1f!gmE!fxlaZ~Jd6h8u{j%}B&5nT1$ zuS0xbqUBIpuf2@3hVHV%EV22f`_J#1k(^SLJ z`xK))-U#paqHGjSkZDzw7_oDkH&uU}@fjh;T9P-P4U4m|C&6mNbe z%4QrUgCWGLWjjJyOg~p|8ScZ+uR@&p`2jcGFa;7pi~9`J5Dxu#on(uFAvb*oJVdjd zN=QNMrtep&PYa*lmYN%mT16|irK6F_WP!WVr@D&-2K~C_`bEG?_NLq}`c&{yL19?w zUc4U5Nzv&CG9Q^EZgrsE>vXgro9aPyT<%iud`z17++-2&&2I7%o>#I~cLYCi7B=vK z&m_t`s+v+tDd6{pUHRRm$O)Z z&QYP89}J9)9Hyi1WKDoxujWtpSKLLFUyve1?XcrKwr6~HE-i6-4-O{mhhQ-U4gH=D z3`l}FUVEll8?B4eJ}$$X)1q$t{wz!U18EBxa1=8?y0D_XSAppKured}K4d3}6I+jX z6U4#$_&x9Ak|SFan_aXRoa9;o5CVBIR)+=PR(yXTNneMRnZIHkS<7`0L~TOeeKne_ zJ@OBY)#g^yD%h56z>|Z&?S*~BcG#G%`t0sJ==%MTVdn56w{jE}da=eLR=dTmtgeeU z;5*1{{P)z?B7JOG3gD*ux#Ar>T!)RTi*?-L;XFH@AKlwM2jLWcl`wr_+nfEdi@3Rj z%vy%8PS}mxS?cRAKgRm4bGAQG6h*}MNIY3%9ZNCX7dFb1q9h#UG(#q&dcy4Jf0F6@ zvG=$lZ|Tc6L+ZGjErP5yVWwI!1IaH z7C3}#gX?jhX*k&ZF_wtS>2XJRV1S=whO@ON2yZtZ{w8KXhe;g+aXt`lajf)zsEn^jJ)(mR_gi=9@w zlYCPcpD4m3bOv%`3`yfiOBE-5$lF!F@KlaxF=xgJ^O;5m-0HhGRmK^pRs2BtM{eg+ z;_IO#Pg&AyeQx``>=we|Z&&6a^nAL>eYb!4&for;g7-;nWyQbT= zWSp5QH0ge^vS_`02J_zTF#4CwI-Pm0Ax2EvqUbPY`-5=TB1& z7=(2VA`Of-wkROTm{0ZN_n+m%laa|KOlQvnzoXN5Gn)yBv(BXEpQmFAhhr6bGrtT8 zXSnLfK)xVcv4=NMlnmRxQA3<2!p4HOhjWsHX!WOgt#W=MBXebUzJ5Ow%DXP|E+vMH zKNZLdr;Uv73b@(wIMc|N$?rxD`?@Q!N9Vp^HN|}MaC{;;ffxzj-oiRBj=o!{qtkOz zNauV{D4o?>V;P9w@%huQwD`oq(z;+QA^xjz%cs%??Ke#n*ci+?{*vW`kt$>oh?q65 zdJcYKv>N@x=_hTU2kH}3`zbt^NMrWJO&Q#!G-!=O@c9b=a(II_svPBO!)8U#a?5)j zcx+Y-S)=xUg71S0Rd-}eq?EA@`UbUbNx37gmUwo4I3A5HekbNiU~b46y`D}2RzELX zwGL#z+!H`xcI-%k^d$}DXcb{u$t=xBGtA0a4NN*);^_jJQc0V5gbgY82?ZseTTPMtM1Nk5UMVJ<~}iV-o0%Zs{DQ4sV?g$5EAB9l`W^i z@*cNOq0-vi{%Lbq=Pb9iAj^M2heC^~k%U2#dqb{URU9vhm4TyXXQ+N=q41@Vwb-I* z{$^O%T8s)Do$LJt5nslbeYSM5c4VgW9`9HRZfgYDeTE6#3ma7i)#CkKi18{?bK|KL zomy7QNm5gFt|V2sa5nmU=K&~C~>CO+f*kdGUb~Yr1(pdzFp?nlTk_c z$!ru(x$D0)5Q_5%<-pw!M>5S6t=w>Z%c%th43>AF^!kaGniezQT?Tt&5>g&$XpufX z*3iF~SXKsnL<+zA99NKP|DkLGeIwqB`s}5D%kr-@-0A7-n*F~5)YCQIqwjUVQpwj1 z1j8YYo38ci}rO zC`dSh&1WO^MZU>HpRkEbyIYsMNe;U*C@6{hcL-NSGT8f%;N@yN2T(t+SwwYU*)Wzo zbg<{ILR}vf+raN)F2tn9LI^A+sAz^JDfOg6I^Zd5PzetCaWT;ss@c{$Bu#Q0J>!X0 zUvImZp#gcm-#4HcJm8+J(N*%MfF{vm3`rNc8v;56Ac=`~v@JX()@cniB)`Z)_M^DB z{Bj>6kZ4Kz*9Yv6h)Jx?k)(@RKq*T?j@9@VUxW|Lt$5PXD# zh&4D8ng%lWaNXQf3T_|xlDychuI^gPP4;OSjig|4xA*d$pL9DC$2>*k?CiJg&1=u9 z-4fw5*(9UjX55>vO%Dg>a!b40*BPB(aQ20PTsAKV<4O{aLxIw|muYfss?8tBaJ~#p z=OTs3iEiNU4;31S02#~)2`U)sH6*|}LuuyWHrrktKBM8U7LPT1g45BPo4edwo>V&$ z%)eCj(vqYcMK)D~AfO*uG^5#=V5lAQ6e!MY-KkmLT2PPOLZpA`8+m`K+KZcS%)R`W zeBcatvZQYTPj=tM5plBI+4^FXLUD`D7@Z{%F72^2m9O$aw`TXix2ROZH4<<*iC!Jf zq$*W+zy<=I9t`kxD5lg?=zv85o^%WNKxf)}a{u{D6maZdQjuIGUayp-6b8H(AB|?! z|NMmoxc>iV4r)$!LHZa4JAhLrqVuP&69Mx$S{jaMPv{IV2kCQQc?6s}JDR>!d(_I& zfJG#qt&dEB>!W4?=gDRQmkY98GKHoy2bM{~5+)fFUS3-}JJTfjSkElrG8*6%t7aIm iM+ZUzCXCC&|MPo2dZ}|WSyhAq2s~Z=T-G@yGywn#%3pv0 literal 0 HcmV?d00001 From a9bfa2af775659a5196ba0a5119e84f1c7d786bc Mon Sep 17 00:00:00 2001 From: JMil <85188404+JuliusMiller@users.noreply.github.com> Date: Sun, 26 Nov 2023 14:17:27 +0100 Subject: [PATCH 11/12] Update graphics --- .../03_planning/00_paf23/overview.png | Bin 66508 -> 75650 bytes .../03_planning/00_paf23/prios.png | Bin 67443 -> 64693 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/03_research/03_planning/00_paf23/overview.png b/doc/03_research/03_planning/00_paf23/overview.png index a2660ba32661f691909fe59b2cdb59113f82c517..bb727cc9e00d521ff4ac0127d01048a2c06e7bb7 100644 GIT binary patch literal 75650 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

ZE)0o+=F;H?VATE-&8=8L@d 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 literal 66508 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 AW&i*H diff --git a/doc/03_research/03_planning/00_paf23/prios.png b/doc/03_research/03_planning/00_paf23/prios.png index c4127675b80eed274de5d0313cab9719965ca34c..af745d2c058247b5c4c832c914714c675560e383 100644 GIT binary patch delta 32775 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 pfYDhdEzlHv{>9;e&C`CuR#@9%oy9g`Ab Date: Mon, 27 Nov 2023 10:42:34 +0100 Subject: [PATCH 12/12] Revert "Fix add-to-project action (#90)" (#92) This reverts commit 0a10b0b22cbdc20c94104bfc97678d8b7e6a015b. --- .github/workflows/add-to-project.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/add-to-project.yml b/.github/workflows/add-to-project.yml index 7f685395..dcced1c4 100644 --- a/.github/workflows/add-to-project.yml +++ b/.github/workflows/add-to-project.yml @@ -16,6 +16,6 @@ jobs: # to the issue project-url: https://github.com/orgs/una-auxme/projects/3 # https://github.com/orgs//projects/ - github-token: ${{ secrets.GITHUB_TOKEN }} + github-token: ${{ secrets.ADD_TO_PROJECT_PAT }} # labeled: bug, needs-triage # label-operator: OR \ No newline at end of file