From 515fc40d32c99e52e607d60a629603a443891dba Mon Sep 17 00:00:00 2001 From: borb Date: Mon, 30 Jun 2025 14:10:34 +0300 Subject: [PATCH] finish lecture 7 - note: uses screenshot in slide 24 - exercise 4 removed - add column start, middle and end code snippets --- .vscode/markdown.code-snippets | 24 + 7-classes-and-objects-slides.html | 602 +++++++++++++++++++++++ 7-classes-and-objects.md | 760 ++++++++++++++++-------------- imgs/7 Classes and Objects_1.png | Bin 12731 -> 0 bytes imgs/7 Classes and Objects_6.png | Bin 0 -> 97197 bytes 5 files changed, 1033 insertions(+), 353 deletions(-) create mode 100644 7-classes-and-objects-slides.html delete mode 100644 imgs/7 Classes and Objects_1.png create mode 100644 imgs/7 Classes and Objects_6.png diff --git a/.vscode/markdown.code-snippets b/.vscode/markdown.code-snippets index 5429f63..1d363ac 100644 --- a/.vscode/markdown.code-snippets +++ b/.vscode/markdown.code-snippets @@ -107,6 +107,30 @@ "", ] }, + "marp columns start" : { + "scope": "markdown", + "prefix": "startcol", + "body" : [ + "
", + "
", + ] + }, + "marp columns middle" : { + "scope": "markdown", + "prefix": "midcol", + "body" : [ + "
", + "
", + ] + }, + "marp columns end" : { + "scope": "markdown", + "prefix": "endcol", + "body" : [ + "
", + "
", + ] + }, "marp centered" : { "scope": "markdown", "prefix": "centered", diff --git a/7-classes-and-objects-slides.html b/7-classes-and-objects-slides.html new file mode 100644 index 0000000..b20f632 --- /dev/null +++ b/7-classes-and-objects-slides.html @@ -0,0 +1,602 @@ +7. Classes And Objects
+

Classes And Objects

+
+
+

Overview

+
    +
  • Namespaces
  • +
  • Classes
  • +
  • Object Variables
  • +
  • Access Specifiers
  • +
  • Class Members
  • +
  • Constructors
  • +
  • Value & Reference Types
  • +
+
+
+

Namespaces

+
    +
  • Using namespaces helps you to organize the scope of your project, so that... +
      +
    • Variable names do not clash
    • +
    • Related variables are well-contained in their own namespaces +
        +
      • easy to import what you need
      • +
      +
    • +
    +
  • +
  • By default, when creating a new project and adding classes in Visual Studio, everything is contained within a namespace named after your project name
  • +
+
+
+
    +
  • If you need a class, interface, etc to be accessible from anywhere, create it within that namespace and set it as public
  • +
+
+
+
// Note that namespaces can have
+// subdirectories, as Models here
+
+namespace MyAwesomeApp.Models
+{
+  public class Student
+  {
+
+  }
+}
+
+
+
+
// This is how you would use the
+// Student class in other code
+
+using MyAwesomeApp.Models
+
+
+
+
    +
  • Wait, what's a class, though?
  • +
+
+
+

Classes

+
    +
  • Classes in C# are blueprints for specific kinds of collections of data & functionality
  • +
  • Instance of a class is an implementation of that class, also referred to as an object
  • +
  • As C# is an object-oriented language, almost everything has to happen in a class
  • +
  • Thus, we have already used a class named Program when creating a new console application:
    class Program
    +{
    +  static void Main(string[] args)
    +  {
    +
    +  }
    +}
    +
    +
  • +
+
+
+

Why classes?

+
    +
  • Classes are a core feature of the object-oriented programming paradigm popularized by Java in the 90s + +
  • +
  • Classes provide encapsulation: Connected concepts and functionalities are neatly contained within a class
  • +
  • This will ideally result in shorter files, less repetitive code and hopefully overall better readability
  • +
  • No paradigm is idiot-proof, though...
  • +
  • Shorter files can also mean that it's hard to find the actual functionality from hundreds of short files full of intermediate classes and class factories
  • +
+
+
+

Creating a class

+
    +
  • You can create a new class by writing
    class Student
    +{
    +
    +}
    +
    +
  • +
  • Create variables inside a class just like before inside the Program class:
    class Student
    +{
    +  int id;
    +  string name;
    +}
    +
    +
  • +
  • These variables declared directly inside classes are called fields.
  • +
+
+
+

Instancing a class

+
+
+
    +
  • New instances of a class can be created with the new keyword
  • +
  • All instances of a class have exactly the same fields and methods, but they can have different values
  • +
  • In the following example a few objects of class Student are created
  • +
  • However, these objects have no functionality yet
  • +
+
+
+

+namespace MyAwesomeApp
+{
+  class Student
+  {
+
+  }
+  class Program
+  {
+    static void Main(string[] args)
+    {
+      Student student1 = new Student();
+      Student student2 = new Student();
+      Student student3 = new Student();
+    }
+  }
+}
+
+
+
+
+
+

Object variables

+
    +
  • Variables inside of an object can be accessed with the . operator
  • +
  • However, the following syntax results in an error:
  • +
+
+
+Student class: +
class Student
+{
+  int id;
+}
+
+

Error:
+

+
+
+

Program class:

+
class Program
+{
+  static void Main(string[] args)
+  {
+    Student student = new Student();
+    student.id = 12345678;
+  }
+}
+
+
+
+
+
+

Let's fix the previous example by changing the access specifier of the variable id to public:

+
+
+Student class: +
class Student
+{
+  public int id;
+}
+
+
+
+
class Program
+{
+  static void Main(string[] args)
+  {
+    Student student = new Student();
+    student.id = 12345678;
+  }
+}
+
+
+
+
    +
  • The value of the variable id of the object student is now 12345678
  • +
+
+
+

Access Specifiers

+
    +
  • Access specifiers can be used to get additional level of protection inside classes
  • +
  • Variables specified with private are accessible only inside the containing class +
      +
    • This is the default access!
    • +
    +
  • +
  • Variables specified with public are accessible outside of the class
    class Student
    +{
    +  int id;                 // Accessible only inside the class
    +  private string name;    // Accessible only inside the class
    +  public string address;  // Accessible everywhere within the namespace
    +}
    +
    +
  • +
+
+
+
    +
  • +

    Continuing on the class in the previous example: if we follow the student variable with a dot, Visual Studio IntelliSense will only suggest the address variable, because it was the only public variable of the Student class!

    +

    +
  • +
+
+
+

Classes: An example

+
+
+
class Student
+{
+  public int id;
+  public string name;
+}
+
+
+
+
class Program
+{
+  static void Main(string[] args)
+  {
+    Student student1 = new Student();
+    Student student2 = new Student();
+    
+    student1.id = 22225555;
+    student1.name = "Johannes Kantola";
+    student2.id = 44441111;
+    student2.name = "Rene Orosz";
+    
+    Console.WriteLine(student1.name);
+      // Outputs Johannes Kantola
+  }
+}
+
+
+
+
+
+

Exercise 1

+ +
    +
  1. Create a console application that has a class User that contains two fields: string userName and string password
  2. +
  3. Create a main loop where the user is asked repeatedly for a new username and password. The values are stored in a new User instance and that instance is saved to a list of users
  4. +
  5. Print all stored usernames every time a new user is created
  6. +
+
+
+

Class methods

+
    +
  • As mentioned in Lecture 6, we can create methods inside of our classes:
  • +
+
+
+
class Person
+{
+  public string firstName;
+  public string lastName;
+  public string FullName()
+  {
+    return firstName + " " + lastName;
+  }
+}
+
+
+
+
class Program
+{
+  static void Main(string[] args)
+  {
+    Person someDude = new Person();
+    someDude.firstName = "Johannes";
+    someDude.lastName = "Kantola";
+    Console.WriteLine(someDude.FullName());
+    // Outputs Johannes Kantola
+  }
+}
+
+
+
+
    +
  • If the method is public, it can be called from outside of the class
  • +
+
+
+

Constructors

+
    +
  • Constructors are class methods which are called once the object is initialized
  • +
  • Constructors are created by creating a class method with the same name as the class:
  • +
+
+
+
class User
+{
+  public User()
+  {
+    Console.WriteLine
+      ("New user created!");
+  }
+}
+
+
+
+
class Program
+{
+  static void Main(string[] args)
+  {
+    User user = new User();
+    // Outputs "New user created!"
+  }
+}
+
+
+
+
    +
  • Note: In Visual Studio, just write ctor and press tab twice to quickly create a constructor!
  • +
+
+
+

Constructors with parameters

+
    +
  • You can pass in parameters to the constructor at initialization:
  • +
+
+
+
class Car
+{
+  private string model;
+  private int year;
+  private int doors;
+
+  public Car(string modelName, int modelYear)
+  {
+    model = modelName;
+    year = modelYear;
+    doors = 5;
+  }
+}
+
+
+
+
class Program
+{
+  static void Main(string[] args)
+  {
+    Car lada = new Car("Niva", 1984);
+    Car ford = new Car("Focus", 2010);
+    // Both cars have 5 doors by default
+  }
+}
+
+
+
+
+
+

Exercise 2

+ +
    +
  1. Create a console application with a class Animal, that contains +
      +
    • two strings, name and sound
    • +
    • a method Greet() that prints <name> says <sound>! (without the angled brackets)
    • +
    +
  2. +
  3. Create a few animals with different names and sounds
  4. +
  5. Call their greet methods from the main program
  6. +
+
+
+

Properties

+
    +
  • When working with C#, you will eventually see properties being used at some point
  • +
  • They are fields with defined get and set accessors +
      +
    • These accessors are often referred to as a getter and a setter
    • +
    +
  • +
  • Properties allow the manipulation of private fields from outside of the class:
  • +
+
+
+
class User
+{
+  private int id;
+  public int Id
+  {
+    get { return id; }
+    set { id = value; }
+  }
+}
+
+
+
+
class Program
+{
+  static void Main(string[] args)
+  {
+    User admin = new User();
+    admin.Id = 12345678;
+    Console.WriteLine(admin.Id);
+    // This outputs 12345678
+  }
+}
+
+
+
+

Auto Properties

+
    +
  • Auto properties are a shorthand version of the same:
  • +
+
+
+
class User
+{
+  public int Id { get; set; }
+}
+
+
+
+
class Program
+{
+  static void Main(string[] args)
+  {
+    User admin = new User();
+    admin.Id = 12345678;
+    Console.WriteLine(admin.Id);
+    // This outputs 12345678
+  }
+}
+
+
+
+
    +
  • Note: In Visual Studio, just write prop and press tab twice to quickly create an auto property
  • +
+
+
+

Why properties?

+
    +
  • Why use properties if we could just use public fields?
  • +
  • We don't always want to expose the exact same variable that is used inside the class to outside
  • +
  • Properties allow class fields to be read-only or write-only:
    public int Id { get; }                    // This field is read-only
    +public int Password { private get; set; } // This field is write-only
    +
    +
  • +
  • Also, we can add whatever functionality we want to getters and setters, which makes properties a very flexible feature +
      +
    • Don't know when a property is being changed? Just print its value to the console in the setter.
    • +
    +
  • +
  • Properties are supported in interfaces, while fields are not +
      +
    • We will cover interfaces later in Lecture 9
    • +
    +
  • +
+
+
+

Value and Reference Types

+
    +
  • See the example below. If this program is executed, what will be the output?
  • +
  • int, double, char and other primitive data types are of the value type +
      +
    • The variable stores the actual data in memory
    • +
    • Every copy of the variable will be stored in a separate location
    • +
    +
  • +
+
+
+
class Program{
+  static void Main(string[] args)
+  {
+    int user = 1;
+    int otherUser = user;
+    user = 2;
+    Console.WriteLine("Value of otherUser: " + otherUser);
+  }
+}
+
+
+
+

+
+
+
+
+
    +
  • Another example: When this program is executed, what will be the output?
  • +
  • string, Array and Classes are of the *reference type +
      +
    • The variable stores the address of the data being stored in memory
    • +
    • Every copy of the variable points to the same address
    • +
    +
  • +
+
+
+
class Program
+{
+  static void Main(string[] args)
+  {
+    User user = new User();
+    user.id = 1;
+    User otherUser = user;
+    user.id = 2;
+    Console.WriteLine(
+      "Value of otherUser.id: " + otherUser.id);
+  }
+}
+
+
+
+
class User
+{
+  public int id;
+}
+
+

+
+
+
+
+

+
+
+

Exercise 3

+ +
    +
  1. Classes can be stored in a separate file. To quickly create a new class in Visual Studio: right mouse click your project name (not the solution!) in Solution Explorer -> Add -> Class... +
      +
    • Name your class TestClass.
    • +
    +
  2. +
  3. Back in your main method, create an instance of TestClass. The compiler should not give any errors.
  4. +
  5. Now rename the namespace that your TestClass is in to TestNamespace. Go back to your main method. The TestClass instantiation should not work anymore. Try to fix the issue without going back to TestClass!
  6. +
+
+

Location in memory + +int userId = 42; + +int otherUserId = userId; + +| 42 | +| :-: | +| 42 | + +Changing the value in the object will affect all variables referencing it! + +| points to | +| :-: | +| points to | + +User user = new User(42); + +User otherUser = user; + +| user { id = 42 } | +| :-: |

## Exercise 4 + +Modify previous solution by using methods and class.

\ No newline at end of file diff --git a/7-classes-and-objects.md b/7-classes-and-objects.md index 30ddb6f..a8f69f0 100644 --- a/7-classes-and-objects.md +++ b/7-classes-and-objects.md @@ -1,527 +1,581 @@ -# Classes and Objects - -![](imgs/7%20Classes%20and%20Objects_0.png) - +--- +marp: true +paginate: true +math: mathjax +theme: buutti +title: 7. Classes And Objects --- -# Overview - -Namespaces - -Classes - -Object Variables - -Access Specifiers +# Classes And Objects -Class Members + + -Constructors +## Overview -Value & Reference Types +* Namespaces +* Classes +* Object Variables +* Access Specifiers +* Class Members +* Constructors +* Value & Reference Types -Enum +## Namespaces -# Namespaces +* Using namespaces helps you to organize the scope of your project, so that... + * Variable names do not clash + * Related variables are well-contained in their own namespaces + * $\Rightarrow$ easy to import what you need +* By default, when creating a new project and adding classes in Visual Studio, everything is contained within a namespace named after your project name -Using namespaces helps you to organize the scope of globally available data in your project, meaning that related objects in a well-named namespace makes it easy to import what you need +--- -By default, when creating a new project and adding classes in Visual Studio, everything is contained within a namespace named after your project name +* If you need a class, interface, etc to be accessible from anywhere, create it within that namespace and set it as `public` -If you need a class or an enum to be accessible from anywhere, create it within that namespace and set it as public +
+
+```csharp // Note that namespaces can have - // subdirectories, as Models here namespace MyAwesomeApp.Models - -{ - -public class Student - { + public class Student + { + } } +``` -} +
+
+```csharp // This is how you would use the - // Student class in other code using MyAwesomeApp.Models +``` -# Classes - -__Classes __ in C# are blueprints for a __type __ of __object__ +
+
-We have already used a class named _Program _ when creating a new console application: - -![](imgs/7%20Classes%20and%20Objects_1.png) - ---- +* Wait, what's a class, though? -You could even create new instances of Program -* If we wanted, we could just write the entire program with thousands of lines of code on one page inside the main function -* This kind of program would of course be impossible to work with within a group or organization: - * No one should have to scroll through tens of thousands of lines of code to find that one line that causes problems… - * At least make them browse through hundreds of classes instead :) -* Classes provide __encapsulation __ which result in __shorter files__ , __less repetitive code__ and overall __better readability__ -# Creating a Class +## Classes -You can create a new class by writing +* [Classes](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/classes) in C# are blueprints for specific kinds of collections of data & functionality +* ***Instance*** of a class is an implementation of that class, also referred to as an ***object*** +* As C# is an object-oriented language, almost everything has to happen in a class +* Thus, we have already used a class named `Program` when creating a new console application: + ```csharp + class Program + { + static void Main(string[] args) + { -class Student + } + } + ``` -{ +### Why classes? -} +* Classes are a core feature of the ***object-oriented programming*** paradigm popularized by Java in the 90s + * (See [Lecture 8](8-inheritance-and-abstract-classes#extra-object-oriented-programming)) +* Classes provide *__encapsulation__*: Connected concepts and functionalities are neatly contained within a class +* This will ***ideally*** result in shorter files, less repetitive code and ***hopefully*** overall better readability +* No paradigm is idiot-proof, though... +* Shorter files can also mean that it's hard to find the actual functionality from hundreds of short files full of intermediate classes and class factories -Create variables inside a class just like before inside the Program class: +### Creating a class -class Student +* You can create a new class by writing + ```csharp + class Student + { -{ + } + ``` +* Create variables inside a class just like before inside the `Program` class: + ```csharp + class Student + { + int id; + string name; + } + ``` +* These variables declared directly inside classes are called *__fields__*. -int id; +### Instancing a class -string name; +
+
-} +* New instances of a class can be created with the `new` keyword +* All instances of a class have exactly the same fields and methods, but they can have different values +* In the following example a few ***objects*** of class `Student` are created +* However, these objects have no functionality yet -❕ +
+
-Variables declared directly inside classes are called __fields.__ - -# Referencing a Class - -New instances of a class can be created with the __new __ keyword - -All instances of a class have exactly the same fields and methods, but they can have different values - -In the following example a few __objects __ of __type __ Student are created - -However, these objects have no functionality yet +```csharp namespace MyAwesomeApp - -{ - -class Student - { + class Student + { + } + class Program + { + static void Main(string[] args) + { + Student student1 = new Student(); + Student student2 = new Student(); + Student student3 = new Student(); + } + } } +``` -class Program - -{ - -static void Main(string[] args) - -{ - -Student student1 = new Student(); - -Student student2 = new Student(); +
+
-Student student3 = new Student(); +### Object variables -} +* Variables inside of an object can be accessed with the `.` operator +* However, the following syntax results in an error: -} +
+
+Student class: +```csharp +class Student +{ + int id; } +``` -# Object Variables - -The variables inside of an object can be accessed with the '.' operator - -However, the following syntax results in an error: - -| Student class: | Program class: | -| :-: | :-: | -| class Student{ int id;} | class Program{static void Main(string[] args){ Student student = new Student(); student.id = 12345678;}} | - +Error: ![](imgs/7%20Classes%20and%20Objects_2.png) -Let's fix the previous example by changing the _ _ __access specifier__ of the 'id' variable to __public__ : - -| Student class: | Program class: | -|:---------------------------------:|:--------------------------------------------------------------------------------------------------------------:| -| class Student{ public int id;} | class Program{static void Main(string[] args){ Student student = new Student(); student.id = 12345678;}} | -| | | - -The value of the variable 'id' of the object 'student' is now 12345678 - -# Access Specifiers - -__Access specifiers__ can be used to get additional level of protection inside classes - -Variables specified with __private __ are accessible only inside the containing class -Variables specified with __public __ are accessible outside of the class +
+
-The __default __ access for any variable is private! - -class Student +Program class: +```csharp +class Program { + static void Main(string[] args) + { + Student student = new Student(); + student.id = 12345678; + } +} +``` -int id; // Accessible only inside the class - -private string name; // Accessible only inside the class - -public string address; // Accessible everywhere within the namespace +
+
-} +--- -Continuing on the class in the previous slide, if we follow the 'student' variable with a dot, VS intellisense will only suggest the 'address' variable, because it was the only public variable of the 'Student' class +Let's fix the previous example by changing the *__access specifier__* of the variable `id` to `public`: -![](imgs/7%20Classes%20and%20Objects_3.png) -# Classes - Example +
+
+Student class: +```csharp class Student - { - -public int id; - -public string name; - + public int id; } +``` -class Program +
+
+```csharp +class Program { + static void Main(string[] args) + { + Student student = new Student(); + student.id = 12345678; + } +} +``` -static void Main(string[] args) +
+
-{ +* The value of the variable `id` of the object `student` is now `12345678` -Student student1 = new Student(); +## Access Specifiers -Student student2 = new Student(); +* *__Access specifiers__* can be used to get additional level of protection inside classes +* Variables specified with `private` are accessible only inside the containing class + * This is the ***default*** access! +* Variables specified with `public` are accessible outside of the class + ```csharp + class Student + { + int id; // Accessible only inside the class + private string name; // Accessible only inside the class + public string address; // Accessible everywhere within the namespace + } + ``` -student1.id = 22225555; +--- -student1.name = "Johannes Kantola"; +* Continuing on the class in the previous example: if we follow the `student` variable with a dot, Visual Studio IntelliSense will only suggest the `address` variable, because it was the only `public` variable of the `Student` class! -student2.id = 44441111; + ![](imgs/7%20Classes%20and%20Objects_3.png) -student2.name = "Rene Orosz"; +## Classes: An example -Console.WriteLine(student1.name); // Outputs Johannes Kantola +
+
+```csharp +class Student +{ + public int id; + public string name; } +``` + +
+
+```csharp +class Program +{ + static void Main(string[] args) + { + Student student1 = new Student(); + Student student2 = new Student(); + + student1.id = 22225555; + student1.name = "Johannes Kantola"; + student2.id = 44441111; + student2.name = "Rene Orosz"; + + Console.WriteLine(student1.name); + // Outputs Johannes Kantola + } } +``` -# Exercise 1 +
+
-Create a console application that has a class User which contains two fields: string userName and string password +## Exercise 1 + -Create a main loop where the user is asked repeatedly for a new username and password. The values are stored to a new User instance and that instance is saved to a list of users +1) Create a console application that has a class `User` that contains two fields: `string userName` and `string password` +2) Create a main loop where the user is asked repeatedly for a new username and password. The values are stored in a new `User` instance and that instance is saved to a list of users +3) Print all stored usernames every time a new user is created -Print all stored usernames every time a new user is created +## Class methods -# Class Methods +* As mentioned in [Lecture 6](6-methods), we can create methods inside of our classes: -As mentioned in the previous lecture, we can create methods inside of our classes: +
+
+```csharp class Person - -{ - -public string firstName; - -public string lastName; - -public string FullName() - { - -return firstName + " " + lastName; - + public string firstName; + public string lastName; + public string FullName() + { + return firstName + " " + lastName; + } } +``` -} +
+
+```csharp class Program - -{ - -static void Main(string[] args) - { - -Person someDude = new Person(); - -someDude.firstName = "Johannes"; - -someDude.lastName = "Kantola"; - -Console.WriteLine(someDude.FullName()); - -// Outputs Johannes Kantola - + static void Main(string[] args) + { + Person someDude = new Person(); + someDude.firstName = "Johannes"; + someDude.lastName = "Kantola"; + Console.WriteLine(someDude.FullName()); + // Outputs Johannes Kantola + } } +``` -} +
+
-If the method is public, it can be called from outside of the class +* If the method is public, it can be called from outside of the class -# Constructors +## Constructors -Constructors are class methods which are called once the object is initialized +* Constructors are class methods which are called once the object is initialized +* Constructors are created by creating a class method with the same name as the class: -Constructors are created by creating a class method with the same name as the class: +
+
+```csharp class User - -{ - -public User() - { - -Console.WriteLine - -("New user created!"); - + public User() + { + Console.WriteLine + ("New user created!"); + } } +``` -} - -| | | -| :-: | :-: | +
+
+```csharp class Program - -{ - -static void Main(string[] args) - { - -User user = new User(); - -// Outputs "New user created!" - + static void Main(string[] args) + { + User user = new User(); + // Outputs "New user created!" + } } +``` -} +
+
-❕ +* ***Note:*** In Visual Studio, just write `ctor` and press tab twice to quickly create a constructor! -In Visual Studio, just write "ctor" and press tab twice to quickly create a constructor +## Constructors with parameters -# Constructors with Parameters +* You can pass in parameters to the constructor at initialization: -You can pass in parameters to the constructor at initialization: +
+
+```csharp class Car - -{ - -private string model; - -private int year; - -private int doors; - -public Car(string modelName, int modelYear) - { + private string model; + private int year; + private int doors; -model = modelName; - -year = modelYear; - -doors = 5; - + public Car(string modelName, int modelYear) + { + model = modelName; + year = modelYear; + doors = 5; + } } +``` -} +
+
+```csharp class Program - -{ - -static void Main(string[] args) - { - -Car lada = new Car("Niva", 1984); - -Car ford = new Car("Focus", 2010); - -// Both cars have 5 doors by default - -} - + static void Main(string[] args) + { + Car lada = new Car("Niva", 1984); + Car ford = new Car("Focus", 2010); + // Both cars have 5 doors by default + } } +``` +
+
-# Exercise 2 - -Create a console application with a class Animal, that contains - -two strings: name and sound, and +## Exercise 2 + -a method Greet() that prints " __*name*__ says __*sound*__ !" +1) Create a console application with a class Animal, that contains + * two strings, `name` and `sound` + * a method `Greet()` that prints ` says !` (without the angled brackets) +2) Create a few animals with different names and sounds +3) Call their greet methods from the main program -Create a few animals with different names and sounds +## Properties -Call their greet methods from the main program +* When working with C#, you will eventually see [properties](https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/properties) being used at some point +* They are fields with defined `get` and `set` ***accessors*** + * These accessors are often referred to as a ***getter*** and a ***setter*** +* Properties allow the manipulation of private fields from outside of the class: -# Properties - -When working with C#, you will eventually see __properties __ being used at some point - -Properties allow the manipulation of private fields from outside of the class: +
+
+```csharp class User - { - -private int id; - -public int Id - -{ - -get { return id; } - -set { id = value; } - + private int id; + public int Id + { + get { return id; } + set { id = value; } + } } +``` -} +
+
+```csharp class Program - -{ - -static void Main(string[] args) - { - -User admin = new User(); - -admin.Id = 12345678; - -Console.WriteLine(admin.Id); - -// This outputs 12345678 - + static void Main(string[] args) + { + User admin = new User(); + admin.Id = 12345678; + Console.WriteLine(admin.Id); + // This outputs 12345678 + } } +``` -} +### Auto Properties -# Auto Properties +* Auto properties are a shorthand version of the same: -Auto properties are a shorthand version of the same: +
+
+```csharp class User - { - -public int Id { get; set; } - + public int Id { get; set; } } +``` -class Program +
+
+```csharp +class Program { + static void Main(string[] args) + { + User admin = new User(); + admin.Id = 12345678; + Console.WriteLine(admin.Id); + // This outputs 12345678 + } +} +``` -static void Main(string[] args) +
+
-{ +* ***Note:*** In Visual Studio, just write `prop` and press tab twice to quickly create an auto property -User admin = new User(); +### Why properties? -admin.Id = 12345678; +* Why use properties if we could just use public fields? +* We don't always want to expose the exact same variable that is used inside the class to outside +* Properties allow class fields to be *__read-only__* or *__write-only__*: + ```csharp + public int Id { get; } // This field is read-only + public int Password { private get; set; } // This field is write-only + ``` +* Also, we can add whatever functionality we want to getters and setters, which makes properties a very flexible feature + * Don't know when a property is being changed? Just print its value to the console in the setter. +* Properties are supported in *__interfaces__*, while fields are not + * We will cover interfaces later in [Lecture 9](9-interfaces#interfaces) -Console.WriteLine(admin.Id); +## Value and Reference Types -// This outputs 12345678 +* See the example below. If this program is executed, what will be the output? +* `int`, `double`, `char` and other primitive data types are of the *__value type__* + * The variable stores the *__actual data__* in memory + * Every copy of the variable will be stored in a separate location -} +
+
+```csharp +class Program{ + static void Main(string[] args) + { + int user = 1; + int otherUser = user; + user = 2; + Console.WriteLine("Value of otherUser: " + otherUser); + } } +``` -❕ +
+
-In Visual Studio, just write "prop" and press tab twice to quickly create an auto property +![w:400px](imgs/7%20Classes%20and%20Objects_4.png) -# Properties +
+
-* __Why use properties if we could just use public fields?__ -* We don't always want to expose the exact same variable that is used inside of the class, to outside -* Properties allow class fields to be __read-only__ or __write-only__ : -* public int Id { get; } // This field is read-onlypublic int Password { private get; set; } // This field is write-only -* Properties are supported in __interfaces__ , while fields are not - * We will cover interfaces later -* There are a bunch of other reasons, but they are outside the scope of this course --- -Lets say we have a variable in our class which is queued for calculating something important -Now some other class changes that variable -> Problem - -# Value and Reference Types - -* If this program is executed, what will be the output? -* int, double, char and other primitive data types are of __value type__ - * The variable stores the __actual data__ in memory - * Every copy of the variable will be stored in a separate location -* class Program{ static void Main(string[] args) { int user = 1; int otherUser = user; user = 2; Console.WriteLine( "Value of otherUser: " + otherUser); }} - -![](imgs/7%20Classes%20and%20Objects_4.png) +* Another example: When this program is executed, what will be the output? +* `string`, `Array` and Classes are of the *__reference type__ + * The variable stores ***the address of the data*** being stored in memory + * Every copy of the variable points to the same ***address*** -* When this program is executed, what will be the output? -* Strings, Arrays and Classes are of __reference type __ - * The variable stores the address of the data being stored in memory - * Every copy of the variable points to the same address +
+
+```csharp class Program - -{ - -static void Main(string[] args) - { - -User user = new User(); - -user.id = 1; - -User otherUser = user; - -user.id = 2; - -Console.WriteLine( - -"Value of otherUser.id: " + otherUser.id); - + static void Main(string[] args) + { + User user = new User(); + user.id = 1; + User otherUser = user; + user.id = 2; + Console.WriteLine( + "Value of otherUser.id: " + otherUser.id); + } } +``` -} +
+
+```csharp class User - { - -public int id; - + public int id; } +``` ![](imgs/7%20Classes%20and%20Objects_5.png) -Location in memory +
+
+ +--- + +![](imgs/7%20Classes%20and%20Objects_6.png) + + -Back in your main method, create an instance of TestClass. The compiler should not give any errors. +## Exercise 3 + -Now rename the namespace that your TestClass is in, to "TestNamespace". Go back to your main method. The TestClass instantiation should not work anymore. Try to fix that without going back to TestClass. +1) Classes can be stored in a separate file. To quickly create a new class in Visual Studio: right mouse click your project name (not the solution!) in Solution Explorer *-> Add -> Class...* + * Name your class `TestClass`. +2) Back in your main method, create an instance of `TestClass`. The compiler should not give any errors. +3) Now rename the namespace that your `TestClass` is in to `TestNamespace`. Go back to your main method. The `TestClass` instantiation should not work anymore. Try to fix the issue without going back to `TestClass`! -# Exercise 4 + diff --git a/imgs/7 Classes and Objects_1.png b/imgs/7 Classes and Objects_1.png deleted file mode 100644 index 0e03c1161ae4c29f2cf8a06c5264f4595e73c11e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12731 zcmZ{L2{@GR*S}J<*oK56jIAs&MD`_P%T|PuEn_Qdku^&yjL5#PDJcxHjV((W`yl%= z80%Pv%08C)&!F%7`@Qe?e_apPT+clB{ha&U=RW6iKIcs6Jsmab3s)|Xk&#hrsDt&$ z$WB9vpQq1J5dY)6^O?xVILI`>N)NnF;nE3x+$zbF+rqi}cH`*-%!U>sP`1FcEE{t5 z1$2^>$Xd^d;EOGZCY~HLG{#CE^RudSbaUZDZ099TpX-*h*}8W}a(sX*EuId*_h{_g zUO-#eQX$`Z8yto2H5)e`-`t&gw^~udFRr@Ia4{$m)78Q5$oodQz< zX86zjT{Z^;ISi81;KqpjpJ8OcVAwOpf7TZjdI~IfWhcKAXGhaHWx2VHti_70{TQus zef@WR%n5hw4+&XnJr2utA2~la63jgDAG20+-L&}-(BQe0P;szq<&v9>wMQ<*@in|DJKP(414V|&TlRgT75ulS#s zsK>&MZ2KGC)AvWt?}U8cDj>_#zz^KZO)M9Xjx!i=2kk!`P)TH`d9k#X=cKA~4{Bty z48HP7yT_f|xulToQ0`WUrCgrP57&-A2h3mCat)oCUzEf9gNAGiLur4LL=9{c`RWZ| zSX5V6%mVXy|6x+hFUhFf_HawA>$o2V(Z1x{Q-Y52d2;`}3f#fi-~bLA_fHJae`Wt- z##E|&Z0x+UD!BT3*wj4vA{XYU%3k3#G&6_b5Z9ieStq#^*)l zXo~FRdtvt$$e1PRMQ`Yl4b!q;faB#2A{^Di-t-qCy69~*c0;B_7Fh29lHZiU6rX6s zc7MPz8vhA;Fsh#@z_g}fn!mZZwb2DEMobUt1=QYLt4%L#2L0xgCvBaGF@=XR63)8g zYRSVbI`%jOdpbAT{SF|ud()?Q`{5E8xnZ};EjXPWdNw*1$JT1^i}nV33}9*%yy6U`Y(T3cjPS}ZzM{3cZdzC% zc!Q5u3oj;g7ic<#NW7sr*fWQgc+SW!WL6S!sFjXfMl%4`ORW(!_GVW#h0Kb#&Fcqj zL`My4*(SKyPR{ltmR3IK`DBP~iNF1D!A)KqcAOXL2mbhMPe_k3{!@bc658YrQntrF za_C!zo-m-o8si}t$=1L6{yq)t#A?zlAFTszbw@+1?t4JJA_aBsTmx%0t{C>U6=);z zaXjeAb`u9yU@vf)8~nLW4giufWw}u?mSsZ&`LL3cRJCRr4A)H?!-rNsYZyr;r}3kn zAxSqWMl{CK4~&WA08T>j1^-V@d~apB!Hz6dQMe)S9mIh0gC%G-x<@$%4E70wxZ7DL z=iY5nZ$}*TD!s%>SIZ5&2-RQS0xnC$cX+lQTS5bkXp|E20#}Lti(h$Z$k*pL48Jwf zM9szW`6XtBhK_%@=5MRBWXJ##;QvjT)!c4>8N?Qn6nArJb-?O8z`@Tqh+Z?-rNE-S z(g=+hsof=Hl}S}?EU|4}CAf*4_~k$;a$~SoH+f$y7PprTIcpqe2+&t{77fVV8Z|)T z6M3LkbDt>E8JN&p@BK4=3UWb%gni3#*8u`$jue|wn~o;gH+$yxlXz9CFGs!)*v%jp zKeFP62(c&)}alY#|zk)*aZvaelDyzIyB1rB!o}g647S! z2|7}%=W(Ti2_4L5*;^M^sWQvYYZWRQ4Pvr@DhVD3fH#3~AaDF6BZuYR;FHrz1{~yB zZx+pN{^#Cc0~rtz{9dPL;fa`0$%*a!%sg`67byR?`yTj7$O}vYh#duoKr<^cfHLww z;?GIgsPJU*1H;5}l~5e1^*HKXAbB%r)KX*6O9JyBzC_~CT)Nw3}SiM8L$(xt1b@S4Xr1*@%rk- z#AC_NQ9`E4NuVGfBtj36vAnsrY@xFHaz6mO6K{64a*VZjdt!IJ)k8QX)x*rosAjNv>D|$FJF55^!~m8mi~tD z@4TSy!tK%R&d{P&&zO2o*`4wYZOX0SH(zC$$Zu~f$(L@zsK!eQao0nIhInmElg;(A=gqRfynKcWg;T;9~nVE`Atq#RR z(G;-bz@{AMLaEq|smJv1w#O_FZzTiVPV2o*N;oe70xIP?d6jVfc>mqOe!K){Hkc^g zkL+rCAD5}1H&Xxbz#=T{o+-y`e9K_G4}mCqqyt(g=(oN-q>{hr292iM&k&Y`PQS0V zdm`t^YuXeI0qZ=1yr!Q_o8%+in_YpI8HIGC^w6GY8E=VlEz5})>x*DjqCi%l1$=UB zl&*N%WcuSbBiXJpI>@xjosO!_Zk9yx{H5!nF|9jZP^QkjMcf{GbNRAAA4m`Mwd8WY ze(0CZ2R9at%ZgrS2W@VT`gaMoC*XZCzO!m`A64>v(9+0?AA!dBSR)7#01oR={0U9+ z=Wx&;R8QYY;dFzFway4UI2g4S!uy%j#;*vK`5LN!AI555J!SYH?Jmi@op}|0#)FTZ|H{h>rGcI;RVv)n4D48i0DN1 zBj&+;H!bG^!A@#K38E{x4JfmM=S&eoQLHB2NQ4zefaOARscZjNt;&c4Ofx9z`oPWf z8)fKTSNlZj_OH0fmrgU#!wFeBVFSu^xLbuZ#i<5enu zo5EdBqpgJngCUE#GjMJd>W(T-)#UlOm^4?k4)Tgk-sPdjOE;8qh4PnjRSHeJ5-x@r0xG7O4Td5sa^;lYpW)+&n(5#>!XPgsI?6lRHH5h45Ek8| z;(mNK`OJ@hKN&Wjer7NSwlco!M5ilY1cS)t^s0TMXD0%!aT1g)uz?hQhUH2x)Nos^ z^#OTb!ucQM7Yc7K;PYm)cqPp`o|g38=8_19?RHD$+pS+VmXq6beKDZF@_@IgGeAJh+Al=#V(AhdCsP;` z1qWU}_xA172kN|xEWr_Y?{;T-x12M(tV0mI+>F|0XbB)iH;haCGiQfz+-FI#mi%y0 zljM*@o=}K}CedeIqtz+rtGr$&ht#n7(K}LjZLVpl@5$9@hHr7@OL#q<4Fe7J{IA(d zmAT_uxxr<|?$V=d`T&u; zC1SW%(=@x6bUguBmFc@w*S^CO%xh#8P|jwkp?(>#zUBj`#pU8_b24&2>DcPL(eu{_%G_g}Ab`M!Wq!`^)=bKQyk*bJ!NXl}Zs13l&~(<)hoGEtb2AmkXM9!%s~Y9wpTLd) zBLUs&RlN+xn_!ex0FQ^2>^jSDBI+47r)cJcvL+=f_l2F}x!)%B5I-MyWz}(|d>l94 zBc5OGTLcQRme zptnF#-dNNORMfvOJyv~Kl174cW08^+pTCHafP={mXo;BG+QT>*=DAfByjT7n1fMd5 zKb4k5$G|-7PZF>Xgl@3nyu4AnyN%L7E&1 z22_6P?2ShWI=ubgagUMsEzkpxdinKdWAi911YwqvYQlWxdR= z0;6HWcAcg5rl^ZnI?Rt~Pf6G`0FGYSAR!_m3aEKxF73zo1S0zCSg*wYv5&|A!^)X`lItbNjsNxjkKs>*#F@)d~!Solr#J0k4JNo&(IY+bSEWZ`1zK_)C5;J4(&ew zh2-Nlk63|QBX*s_^SZr+Aa88*IJJZfz2C(nwGoZ;JqvRntV+!Y&X)>;_>Y~&I@l3+csq*eckY!g*g&t=GB%~XJ5_sT}K`BchClD5dTk) z4~HmJ6sQDh-E;!j9^IjuWhxdO_9&6})OHom=JvZI13b{FKbr0q3v&o87tUNSE~QN; zMb@)+ye@rfqUeT|ZF?|gndwWO;8Ch=(ibAyL}LxEPYNS`KE95a5h7szlZ=h0J(-k@ z>M`-Le<5m$oRWykI8kZCEh5VOUz`vTF&$TE>JYKr5lEqP591oXbVNQq5QBk06?T*cfgn+n7jv!Lbg`OAD z^!?(A9paBN0&El#*7 z&_;OqkJ)`C&6KPcU2~4XX`18w$yOc^={CCJg>NqzJY}IYw6yv4EuC_=P3g@d*a|T; zYTsZ?N2lneEs@*fhw`D=B4I17%ZZ&rE$erdG>1Q!Thz@-0u$onziBPJrdV6NNIFK$ z5k%r_sBII;h6SWPqd)Ifw2M@mjS^(0Oqrs&g^Yoa{E=cB@u4sh$(8a$7z2$!OPks{ z*Ad#9o=(neCtbZ6>N)z*vTnuJjS%~Z4%>|?C{LHbvOrOYw!&j~_JAr}6&Z0&&VFlq zdp@AX|8(67cCRzmMnaI^M5njJx(ST@;I918BVBuxa)zX!uf`OrT+qHnuf!A1Yd_;E ziszk?c6^yZFZXhM?8*=Kg8kg7djWeoWaHci_FwutMj3Nz;TNXuciitYnfXhuIK`lP~hskqR_V6znHQB&1Xb3>`T z_E}-tL+1(Ik^|w?z14NJ1NwyWI!mIwOh}X$o0tWO@|tTn-tI|a1hQc$4wixd`9Qh9 zmX^a51sSZG8ZRW0O%85mD`oSP;3jM|WU##qcMXhbbCnNdYJ`fe0in_Gi?jGh6yB2zpWaC=tr@*KT*zIz$vQ~X#c0kg-V0(9`8=CE* z=VK4G!eY)DRpM;gW89zbBB;%p)HD;}9~JZuE{|luk`j4J-R~`rTI!LQue-<#;?_5Q zha(JJLbml47JB`+NI|NT=%7}Hi>=`O$_4%tRl6!{L(kKkE>EfXvQncKVgB7|xni zSbJ-043ski@-K2v0OY)S5-jEbmfkF4pXb zP4C;(#I=YXlNBDRr@(NHyMr6)a>gxZRKVB0;CFo0E_tiNhDBXD(M9JI9R)a*iXkdU z^@@)*+-*9;7RVJ57k-B?OF{>|HyiXahx3s)2Kb8IceLETzwjc(ReEw*k~F{tKBMAc zPir0@>m?E>Z>(l4@7K#z^=nNY?(rw@n)xvuCdbYXv??xn2!=;F#jocB^`whxj3Rl! z@XgD`W0(YI=^U4(3qHT zcnIHT%QZueMWv!F^6EVpizjSChauj%YiBy2oeQ9_XCY<+e7@#s9gypQFzq_p#0sbA z>i!wyiL*;hw-~JC1vZD*S_^*+%GrF3I}{CH~@-3_zJ1t2ucb-IxOAm64ZZv9+3 zkq77C6kGNqF+~JzU8)x-J3_88vjs)};z1>Ffqov)$LA-7^R%PdSkTy(Akz7HR7RY# zLF%Do0dtSq#tB}D5EZ!sn8`--kT;7yJ$>S)Ylwjc@iDkoGphG8P4%%)sX2mk(W}8n z7>KClzhsyFR#{lSA;}RFuZ6CE2Ypo!7yQc=;V{NylvGH1tBmU`>_&h~$v%4EQQu7( z?th|6N?;Fc___baRWk9H-$IT+?#sX%L?;8fr9nae7p0w)RCGrUpU4>1pA7y=gjpw) z95WZWXF#{<&dBY~kQT`8rCFTVTJ@awI^NONHo6{DyA>|=`0Y@QGpM`%nuX_9%@9hA z@*El;gzLki=P@FfDj{7spg4!^&Dyuuoj#ty1nZlGB^9?nE5yG5)|8LPI?oltB!5H!uPQhR{<#$VEPzr>t8e56ILhto4Z7jJI+TWm=}UOLcBo0vo-psQ~CnC0nO^ zev_7N)45^1n6?sW%OZ|@I>6vdp-%FW8wEA7IaAhy@lv-;0=70=P%d^C7n5suqpH@( zi?_@z>khlSJDa}5eKevaSd&$SJK6mnu{ikA=V4Mh5{v!yanWW7A)MIqaXCX&;b3S9 z`L#HFcmUhG7ht2~Kf~Vn=|%Er?e=YKipv8gD?8zo#xP1dppdz zYvR91QQU2wI4t&Fu}U4MB!)h<$ZO(zdwc8k*q2TciZewWc%6jt(L;dS2onY(6&nOA zXfL06vb+A&u1a8PzCJlG5Z(#qgu2tnz?y$f-+Jyn z9x<1H?KQ&pV1_n@DL^0h!o{~`Y%mKG@^<+#*zpU6b`h)R>1)ysJwgdTV37Nj9wN7@ z#!hv%t?Y#G)`mmwl=y;18=g*`3+7!roCvbd=;=n?R`|wBIlg65zj7Z2$$InDB!ssO zCd5 zvfbCI;? z#8$oNBqU!n5|O>}Bc{lIA}tr|j6=Z8>@x6+^*43M>ixful}>p-gbmy8tskk4wa;gx z=*kD*y_U%2$bth_b7rt3xso&b{8&^>>KEzEd4}58Khs%pqU$nqz~%ONU4P8V!L!py zhfGjr+}yXJ{$C07!Y;ePxXgoGDSz+EgB(|AN62yrfp5CEf6HdCu3G9tpQ#`tCKBV} z2keOc@&esSo3|1bRL25WrRb&!;DRv}r=rLKJuzz?=kb61x0dER)vWw@dvma{@v(b$ zxm9)usJEu-9n#Wdh!b{4*0Eiq7+sWIVc1uf?JNh>=ZuGN z&*emUlg-3ERD$OgT*`SUG`_;F(0?Zrh^Afczn7^g@8XR2sQk8%`D$KZ&M$z-3f+T2 z3K*bK@I^7dJG!jlOY5KL`EdRCx%vAnPv|+_Cv)2rTQDlEvy(Z9ojye+g8BA9kEV|M5t!TK3W(zMCoxhtNC7uOP zdZ->QXu?#Sv;)rO=Xo0B$X5~(pHFe^c`f@d7eR=6QruPRJzz`P+LQJI+85zKX z)C=G#LxEbTlVM4AF-ZJ$DwxiksI}bmatl&pY2xO+hsf2uY{7|$ z92pU(t1<3IHmhkcmF!$ztNBix?tVcPccat&%1upx%$7w!R6?$uxd>rPIr?C6#|qoc zg)XC?_hVwnyGhSvBCN;sWae|dQ6Y0DQO$0YBvrjM=r;0EE3w zK&xh|SwI$-xuE>9SnABXGVN<0-Qy1Rf5gbK8)fkTZ`?FWmq;v^jqOP2TQAh8$%tXr z^?9CigA+6%|2aVy(Ne+(%mKIM*B{Df#IJ)zzF72mnx}^~Ql)>tQvK~~-6|nSy-B4* zV=%q@5VhYza0SL>^>?UmwOJV2p-l(jP)rB(Y)St{y3PAvvqgq=f}Z>S>(R}qjFqrI zOV{j*L#Nt^L9p1W1@-;=_x)}qpwh^9Blj51%+{K+n)x=P21h^lxxrG`YV%z%Dir-o z*$zjAXlWS`2I}3Njfwfl{A87Uk=E$5but2DP|qV4?AIPE{oLC@O^dag=ZQ?9pL!mVR8t1Z~_r_P*^oM3K=Wgxh0J%6;g(b~@fIbAZ7 z5E`&H;C>dce&(L!SL14ks!mfkgCx^cKC4c5cG79;4l73HbmYfmc^J#MtcKGl@f%;P z^NhiEq!tv7`kR(KkPy6%PU!iRUTz~HBP(?UfJURmKI^2X5DG3URxrG)W_6EoQg|X! z{=|&0qj5M~`w!S`P&57K?G%7M+6iuKdA(z|4>vxRH>U!By51pu*Oc#B3?eT)QQd0T!(=;$5;K);?m3NRpXe!F>N@;VE31SB-W% z5G|9WHp|#hAq+|MXlN#&4XdeS;*zf*9w=u%13a+d>v(!FyVQR;^10s6|Jgc<0vpN+ zb-g#flP`V0yAK}?*Z3@5uxu^m3eX1@r?ev0qT13ca%q-osu#Z0xx^Z!N-a04d0sX} z6l$EQNlXmCA2$VqEv^{+G6e~UvDw@m`jiM^lxymIn-r^Bi~Cbsut&tNB08>@f4FI6 z!M0vo1=s+VZ#=b3TOqugo?WVeOoTpgWiBoL<`M1wJN>aL{N4wKPDv?1SeV|h-60|0 z4tZgw9YXc)rao;)=BVzNSkoYZ`65{Bto$I$@_|-*)BtOkYl;2AERK9-seHOk@BC}6 zn1Wgf+q4H)N3%ch435vffBQPma~tvrTDdZxhf@kqLHB;__9-uYQ6XwQi%#2Q0xbV9t=h{)U6o$Lt2sat9LmbecD?Z=WN9M4wc&GC=D4mVS!7AKN+0HdU z80&TW$(4T5r8g5MtqF3*ITclmKwB{tzwB}}&2X5w32l0@s~>$Pdall;6RWL`9Q&0` zK*t&)?TvX7jWsVMX=Uqbm_B7CGFmpf0Bhu}{0zy38TBx5oQ;+N@@=EdfPITxsAY&F z<|w+RFc4}x9vgfAUe${`zk^$^Pv``XOttlU#NNKpA33jlfdzP(mDTU*(sxYxniB%* z&+(IQ2ZDZ))^A{H){OlS+HqPrcD&N{cg3^t_T<%?R_Q#KZ#YB(qi}`xFH^!ib4pw| zWY3BXTdaOAlA&zFdfyyc{)q(?$u!m4<+LPWEoA^G#re;wxIquKL>2OrSpURH8Wkyr z_5GYvVY#s{Lo)*`pU7%!w4L^c(p-Bdi-!h{w(#vzs^xLZ+AGg)lWqWyO^)TaPHM?5XFt9h z$sv3OaCv|96SrL>CZhpuw;@xLt4oFLP7L`fm}-9~v${`?X7#SEIpwlVuV+x3@!KQ4 zz?>%S68l9*h-HP?A1P?lIQ9jTZJ11%kGvWx%pse$`fbeB!4*CpvksU1&j%CjJu0zr z0_ZMA6_hRYUirx2z@U|8CRYyDjz^`{7Cs2NwFnle@?)HVjMezshRDAN9R_D|4f4FN zDbw=)u=n^6pG%yn3j4ds%*k)Dwx7?hSMT3Dv%iL2=Z#5D&%5TaBe;1fpuR5G|2b}f z7a9~3>MdvGB%Em6LT*+|4(7HkU=a*RPgz(5${S60cOc`S5pP+XoR% zIpg}cgud0!LCUTcE$Kx zTS`@Cd|@*T#f@Gp!pU)Kwen7fi)t8=dLf0d&?Lqi?w+42>JDXrCLRZ^o(Aky-j0hl zSk@7{&`zy+OiDixuvKwb|HJyAgvKy$qk79v*1>wn_^x&T&)o5dQJ2@*Rb8i-qHa71ZzhX-CwHWbSXR33{G3~awaPyf?ik|8{zb`W- zZM&9p9)RM}Hqf|K^+!YhH5=J68W&oMVg@@+GY3%)%93mtQblpLJ0a0j0cKF54M=_* z_fq5O zG-~l7E7}YT5(i6>bUwk{ec$=eP_S<+`JXaZ;`KLqC9nno?8qnvoV`JlE2=8j4$ z@KO2@%x!no%Q|Q^mI%>i{Wo41Jch7ah6IjVD^lO@qVP`(lHbuisJ-T@b-)@|w_djB z+^y3EVkk$eQ+v2tZiiCp+nqD3NSe1OD!MJuu`}*~ zO@19MGSVN+Q(vkaF=ZALO}GuTEZrnDc&;#q!GzA=6HM|&)KF646Y9n#$v=fh15E0p zc-AfnofY)2c--2E2pitR5d7Vyk>}UDJnO_**0K`LTNz!#dqX$XAR9i1L%s9sqFf1T zjqP3>P)$!(z8pM_iWclViPv#tAiq8SJl1=)Y91R9DYpfA&>Z~GHg&qBtr`f0LH=BL z9LrH6q+?FvYKZK3JJs;iR2Cz#M$(Q-S`Eoc=&|`Tv1UhX{8{&q_Mi)(3% zEM6@#6PDM!CQk`KG5Em>6s5wB(ps8Gzi7>sADpA&L@LQ=C{9A75 zq%!rMi^rmp#d6}lcKfZmWxUZ?34W;BJ~OaJ+&gBr8BeO;9M}GGM|(tmj7nRz=;iRP zXTbdD$VDp>rPX@Wzr_jtho1V|GaR*V#CgmD64w(&q%r@k<9A--DWcneq1w_9(+el;8}pk}U`H?qP67Yc+vJRvIiOfcaXwF&V8HID z$WH3dQY5m@j)F&3Pyff)sy|E^lWA%FE#XxVi!-V~Vk?Ztgsk5WXQgJP*M}!1sz6C% zfl3{`BAgN62NDj?QV#~IHF8sS?kL4p(lHT>shliCikN!ji<6)xc%_k+UDW6)P__B* z%=ARXa-CuW%v^A|D$MakY>ZS=X|N~Wg$;8TN=n{?d%WlHN79n0y}=(O29XoWW%=^; zm=BFBGQN`dbU3jg%<&T6l;8S-fJ-;23>r?}oJ7mqPc45$Z9<4N?0wj<1@S0Y$Z8Pw z`))^NT~W!Ts`>bA5}0wkbs$nb=AT1f{C4$^o#_1li5V7X%~*HYyVoK|`=HoLq|P1f z74W!OO@AZ$^B1RP185+}Gt>~-&4ee+@S9L36fJu-)ODo64D zO*o;s_N-}HvvA;i9A&H@HO$NByCPD{nKK1x5CCA@KNt9_) ztT;VIj=#ug0y zab=kd3?$WQg%J0M8)&$qU~leSgCB3ZsBnwc48(R$YVzmM@ly3|{?q!W>+UIcE;3 z=ehUyRlV2!s=B+XtLy#o?W%hf-0ZXVT64`g<``q){YFao7S??%1OjnOROFQ`0&(pP z0&(&1`bGGTSon4i{BglrR`>-XyZylud~w-8P*M- zzdv=p{=~~YboKEg=Z(tv_~Uc-1Du?&F1+FHuM-D7(vGnlVJmZ1H^OK(Ds%XsJQ2AD zpNhFe=CQAO1YuwJ_bWuxgDYD9`Rn_;crO3>_HV&Ao0wr@u4{rdg#Z2x@!;}*-~8XR z@!zrWzxhsyzk`Jp`1nJ~;cSrfeKzCSS-jJ%rbsrE6v?QRf=mDIWsA=>Z+}esCe;oN zsR(gvyn6K+HQnCSB$_kOGP|d!H}c1iL{C?~*nF(9Q6vI^_%KURCH3O1+WzX0T#|_8 z#(1U4Kz0+g@a+0}ERz<$Rcte(2k8DF=zGN6Z(^W^X%ViFO_VKJVrKp(Maqfu^G>9Ca` zao7Fo9a8loQxz)B0>iG8qn(h!nk0z`tEt*A$gZU_+ZDU1+AAX>ALYN^Dm`QE*%9Y;%aXkdT|38}h}8Xb`nu+Auw<#rSAT zi#YYSWU&xBByxEuKNWK;&b=#IlsAekCfp7;<0VjZikVLmOANabzMxQ{Pu2c>!F=kC znw}n(32~KteOpV*0FH3X6H%I0y|qrUypFoMNk`m}Paj!gri0n2o06Eg&~!+a4=;yL zHbo+WN}M2q$ZYVJpb$LCOR3Ogfb^idz^KO*k0VF3k}ff9eXN{@;%}Zo2PrY}+Fu*Ff*mwcGO3 z8A>^B`$Gm(Q&VEgZ_f^@&$Eyo?AL~=DBu>#3l>eYSkv#2ewX379#0O*Z*aMv zRiHGRL!U;Wv=bw6j~2TUrQ`TRZou7eZQ6BSyK<%JuE<4h`}LEWYh;bDQb%B#4!36X zv|}`L23kAV-%tMbxOS(xp4;91oIxcI@5!6z5lZO(EVYA;2?5(>`SuaAEG_>r7o#C>C& zFZcAShae*?rs;iNhxbEydU^>xuBUqg!rvYQh`QW8ul7Apv7T!V;dgZk@X7z;etvq; z972DGl=lsR7yXt%6{qt(`rZBg{hb{-MTev9xxfBoCQ`4p=jP@@XryD|ZBoR;q>>=~ zD_oEF`!bZs_+5T7yp`g8Ky{af%MbSOa6wui7A*T%sdcJ^4R>1vYU$exd3kve5ibc- z9JO%RgSlUfx|8mu<$YObkI7$++6>$h&Poyu5}hCfwf-&&I3lCRHyzto+~V$eQVnq!(@L|^|6-<{QZzLlS! zf0~Kk6)hhv>J!5dOHumShx1)~BwGfjzHF-0Q`s$>>(hhIU(5-n5AS*AZoh4~gvWF( zmu`!p9{slO&MOAfVW};vH=2gihWGBg;k}$&dy|k+ndGS|12w6`c!lF@hETi=oN_e& z{Q2F~b!{^Jj#!P=mzE_yG`od>-om|pPH3Uxth2%Qr`M)kyN;e z2NUjE(eGO7QJitvZ{lkSwOk&z=jzHyOncO~MzAytg|t5PE}T4`3)51}P?YqJ<8$sW zvo#^HRklp$u$-=cz-9F$?J%=1S4WttNF=(qKS!%tGKwAPZ`2XXCvbj}e}o!DAf8i9 zVO7E92LaffCf8NI%ZNFEHWG6wq0% zh^`<<3Fm`#Oh)#`rO`DPjX>&s#U>`ljmefvl~T%9-#R$3n5c4v{i|mpF-?3laej8d ztv6BoiAyqP}78pXNKRG$k&1l|P=%_y3SKC81Yv+@&8TVo``(K;I&Uh#j zzGL*(QL@QmeFa8xmS356!t2lCccE{=x=)5N{zhW;FOV)ef+-Z|1yN2Lo zhidZuwuq|vSXnZcy-bxuah7_i6%vV)+Q6P(DJUoiZx+RAkf*qYZ#CaaE7f0pIDONS znkH&mD!RQ{Bz0$N%hJ|1#G7jRPDFa;i}}`wknAb~?>oN^7QGf$VB~SNWM`odM&YNmC*W3>& z7l~*h)6JovUA_H)6H2*npJvU-$gwAx+p~w2L-__;g~lP6yDJ>FU}eLYv^3}YE05R9 zZxS&4f{#d7%tE&?RkIp)KA&ecva>ilIciXBi{j{jc`zI)%Ho`CNGtJbn7Pkw^V7lS zsiN~0%g?@7>fil1dO2@3*G#2Z0W)4JOy;_~l2cu^)6Rn|rZnl#M0PJB^_t}Y6_i>p zL<$V}lL_?icHoOQH~K*4ZE0NWO_P&%zA%~fqJ~hk9YR}AcX!-*qp1tHG@lF=@CoRh9l{sEY zjRTB8g-Z|RF%bi9>Qii%x?v|w470gF6-Mt3XssQwYly`0pTZ{Z{WARO?%lh;T#mMv z`!ZTaQ{acQR13vMU(d5Eq{+^~v;=$GQi+F}!aPXe#10<91ezH45Wvo)@88aisoye^ zwp3ibw)F~1+S}$}+PtQekC(0y(8-HXhq`Px(eOF%2YXA#aNElI6KJ;`Z&Xh}OhqV% zQ3!wAs5)kR?SnVn>9bcz?Imnh9;jAiIs^%!nUdY(>aA`U`CLH;hQ#n#0r#r6H5Vg@ zR5HAyehN3?LPDaZK>Qy02uLIP{B*+|iA2ml! zqQYi(QO1&hzWq&uW7NF#&5eqkZ$`>rlb)NR9B^91BjiR&|wb6VBW#!v-Jxyge$*Ft<~5)2q~*w{MTb&L>T*bUrXqQI%@Er} zL_|-5E~hM=(b~lfrb9_qdl0@dWj1{bJ|ip``9q={RPcKaKT^ zgSk4|Qz7(9r2H<*>}e<>=2}%HZ$RBX59x!#ipbv@75!rQ|y0CUMEi9E)o*b)o7hnQT$Kw}>vzx!0} z$-01C_WG2T1?yRdi_9{rG`Ihfxu2XKOz7eCK+Wq*HJ_GHb@|%mB7{R`>U6N4MNCmU z?e#nN+f;@lUXk#ym8~s4nV+sUB|p6}V})247XO%+h>2UwwVW0crqd zp|qy3bUHmbvc^E=ki&;{#mc$b6hf%)-d*i6JgLx(a7{Euuq-5r2I+3gLQZ4Djky84 zs9WBsLA1+$!Znq+OCj3I3-?Y0QI=NqS!$eHpmzW#8K$k#)rP#zBx%{))RYFLJkmTo z&JDc;DPA{$yq%+761oHQ!G=Zd^(Q5zrCBQZLe$(bgNObCXUf!cuwA-$)uOp=(>Z5k zZh2kPAjzogXv3GXy8hckgreVv7Sev88UR60=2`M>kT1$`4T)0 z6jjH2s%kUa7=UCZNMtiWMKZfc)(7n^#JQ(4jYvnauK_xhOOc?pPEr z5sT`yf%*0I@nmsANf|Yk2w@*Q+IsfJ+2n^jb^ugo#w(qX9L-@&6D5{2x;Q})+UZJ6 zIRh&IuQDC4WC7%XqJnf3b&>6KVIproZ&(p|AcN$<=@{mia7kPeJ8vM=isp5crDl>0 zfA&~9mKW}=c>d}baz*{tquUO-aUmRc+dOYtCPff7<7-!^9eY)5Z($=uQi$pZMT0qO z0s{h!=q_0Ue2(neVz4{Ci_~xZd6b|TeKq31>&ETd1T@l--uVD184@|ftW&C7j;ywB zyxD1b#>=Z7{oI6Kb`>wq9zvu>d+)%|{P+mwF;MdK-pjK3uq@tF5b3G5oo+ z+xd36>dG`mY1`@e^mydmnN6mtp1v{9V(j35k9@5 zVfObP?1veh>N*^b+p~}ijQgoc&pzM4Wqs(EA)iK0K~KP>$)KqnX`J(ZdscMke(@ts z+60aK3Qp2jjbwVb)9+F0;>XU@aSR{$u73XKifK-@_i7z0=?*sb9Gx8|{{I$8iA1W#V)iN}o zD_7@ltMnmWWWpN6Os0m>6MhlHst%6xX}&GJw#Y(! z9b2moa--i&hr8sE&9L(aVD?7J6zH4I0k9yMo4-HyKxx)Z)p^=)j6cO?iQ=#b?GiVE zyrd6X6p55Q2vZ8CQxM~;_+8_1jqQ$@+3H{}5}C(`Hq+Ie&8a@4!({za-N(MmgSx6yfIs%KQtDQ8kVul(`xXYte@rO<6R%A4f zy_AqpzmV=DoQ4t<}~S5uCin&qaJ{>+1RjPH*&62ll( zHiy81-W71Ko-V8NzNtseBV2JzL7||qy?}-{oNzy{v?AD@@fR58)Wd=L^Mr!J-QAs- zipauZBV8e*xxVqwg9;x&#Z8Sr-`0F8S_tET24?23zn-=buUw>YWNK(MMG*65pmrI3|l?Q>t z(bWbRCqtZO_=lgJtdsYSPK1Ht)ckx(g!>HSQzX(FdK*8w`GFVdmGf-g zTkSwy?GSgL3^U(qd#zh)H5Ygf*bD?T^2<|fS9Z3z+l-8vBNI|nWcAC}sV`rk1|sY1NFJi@K9m3yI44P`RADpgoR zo8qt}be|?twRGOu#Dw)Uk?kQ#-|CR9#pl8c7c#rBk(*ei_F@W#>1##)x+XfPC#*TX zfB;7{H9K4H9&(4J8KKXOmrHZ4tgV9rw)TD=Exs$ioqgBYY9Lz!$(+ZGmG9JPW@0{G zK}(TX;kaX5b!l^R^NC7ck_4)SCH4}cA_h31rEc|2JvSVvU^>La-Yg=-Lp5V#mG7r& zp;3tAb=(F5z};8W`lyd2we*!t^op;)^(E78l&--H#a$>Iu8|vxYpV)`I5-Kke-952 zpL|TQpUP4zUQK&+?b=#(8e*crcgn{Mi z(9pdz2&0gIE|YJy5AgBXU~5JYrBzemu;NA!hVNWLOb%k+4uDn^EP1}XZ$4w&b5&p< zQa87^jk}YYpf9L~d<|{3w=~c8S4xSV8BPEW(-eMYk>V6F;RO%`pOcnKQcD$^zCw2o zw4aS=(EKp)MT||0dtP#%fIKiA{Pk{owg~`)2)PoQk&up;E$_82^Jse#ox{lH#ZElN zr%tDC_0*9Auc3#SOG~$P+?fv%C!q>hkg~3fNkN%-%x684jATVRDMb2bqn2kAW2p4GleQU4seHwn@ak`n|Z`L82c7xneQg zg(#dD^h+PJ$anpk?#SOzd!b2FqvqBCupmJe5FHZ(ZG3h;^l^l%?i7$_iLk0fx~Zk2 zpHL(Mh-wi@g`O}1<~V3mm9pJa2u1W5Hw5@k$f{P5HJf|;UPKFdiV)zq?*l_UuJ6q< zrxcw8^=E6kVgAY-JltpJi6!}NVgTnoprJK0^RGP8teC%YW^su`%a-!&Z4Y&1&J&yn zeR*S>TgQ|iv5xvX_BBOH!_-3_!`9b_gZh9WC+gO`u5kI%(otPFo8vwWIy=8s>H zcNf3_{_~R^^xlg5P8$axA-vRAeXPFYizTP6~|Mjl!+e4mjM9eRuub-MzN_~dt2?^iJ{Q2{Vr0Wod z&u2Gcmu0EF6!@dTm$1cJuH0wbmN`yx_=Of8ei z^YiD%C%MrA?wUeE`zRKALxOTLYcvn#l}Hvd%k`(y5^Hu_)2|&DIK)`KdZ5c*jGF^T^u{vJKGgZZR5kct+u&38-xIk1$2&NO*n4`_Q zJ9_2?7%p9fhQF_|(Gbe(KI$kc+_W_^A?=Du$^_`07NZzBLRWVo8J(S-4P`CZJ0ML6 z_rZhA%RaE&Rqc40u*Tm5x;o=u&LpS4bK$a@^+KUmqX+4n_g9ffG<4v4pDAZxR|5hw z*hY$(vrc?Ul8zg1cUz3Kuwk9RuFM144(M^<4S-%oGCNTaGF(Ii-iB~qZja@or$}U~ zI!u5H4Kz$ZY3?w|3JrnfixjSFK6?oQ$En(0OziWI`gb?8qHb7GmlQn6KG53w`#WvM9@MYh>xlv0jHmz}>Q??g=}mp*HW z1U9ItaS>BsUj)X}9#%m*vg;QOiuCgGs`I?lQr{SR;{cdIu}}tD+(d_^DSE?ic3VzN z00SjZtXc`Mo7ge44fzWgzcBAy3JK_tbhQg0Ac$262Ux_($jAVSL{y~HD`kV4)Z_kF zeYn6#PnVjKQWy9uC=xp!-!*ffQALP|#K*@+lBVq2=$j5?$DmL^S&&mCDr6{PN@piC zjg$khP=mWvdmmyWSDMY@9y>TV0P(3s?fpVd>+EpGU+3ZFp@D&7NMK0jZq&_>Nt0VM ze}TNG7D^%hV=DfMCKrUOkbr>sZ9!kCyiX|-*G7u}4*a&9zGVP=70F!npjYWRl&c6w z!V8m6g=+|#KFrri|5JE%I|c^kQx&H(MTGS0J(Dp^<1Cwc$$LQ|Az)ep0;nRd=}EDy zs2;430SBt9jmfqRmvT?-FCd<~sFb{qN1_nRTBxR`2FRc=@2&wYceAy!WZ*J@ zI+vmr0$L$3VCb+2nC;vWQW~06pjO;=yM&P(d3G0f4z~b1K=+~`l=EswMBs4J!+zXR zm|EW$cx2cf@BuMANnXe^0S5g`P)dT3AiU5h}I%uGDb%l1AFC#Vy5+;3T1zj!&23TsU5=Xe^n|Y-4 zNVbGNEw^3KzppRoQYH?pO$eQWVy1F@>Asjl;RS08z|o0e)RK{u{HUh-MhI0wkE_t! z;L&`^Yw~GqY=keH>Yum2R@U-p#8y?S8yo7Q`JG1W+DWl5ypJjG3*wp z{c~Pm1+-o0Kc(ev*xK1Ks^rar&ZBo0*dUV*N+mT#A`qq6#7Ih*Ht724@eG(EMWf+K zHY@#4Bf|F{LfSb7W+WU0Nx7i`VAwKWnVLZ(9ZbOHYrBcjc^iL%$dE$+GgBei?5^4| z@Rp7BBCD;^{70{>@6XT7P)K2zqNl+34C89OOe7x%@m3pjK_qj!a_;o@TuWQ^%8G54 zWVZxGs6o2XgSUXDDMWPCdk0rCwfYYK;SV4tkTOFM2N0D=gLc#08Dpr3fDI{w!eOlr z+BhbFoPl}MfSv?O!L&`S%W;Dw^qK?M(_8=*lt?3rfwY^yM6JxrhwCqsGvK=u4NEm% z?XG3i8~s&<=Zm$KRphgGFJOo1o&|C?L1Gs%G&HRFbft}{jvGoJC{^#=?khqj$f-h$ zQFD)dfBceF!Qxi#FQ+$?&}vn`xK|2dHSoZ}-cle{y=o&)^z`&}GMtA_xyWKdlR6ZS zNz>(Ua|+3y6~lr_pcLds^7mbj*NT^K-v#_#%r}=ZU?`NPo-XdWKRThH%%itv>^S;hnUq+Y&!#&{^j7Xc%k-A=})gQ#jmcM_6 zh3KYtSD~v2ZW1R(>b}XQ_t{&fvJMCc&~n`iNtyZes6BEV1UBGOIxB{q*GEesC?mrN z1A1FQNM~7!c)^7tVKscKxfX-e^C=sSdZk|JwCBrI_1)WN`+2>^j`0R?z95ijO+ahY zI>BvP0mSM!DHLB*2Gs%)A*Qv7YAvCCjGTTb@(6bYPF?f>kYHFh=5^YDgkaEI2Ka*mVy;QAtGHPSYyfz5sW|?p*7Q(V-r#~mX_9XzuBDfUapOkO8Gv0&qA&_oOfm9$1G;G9c{e^C|zBH(eF!dI_V&)>i zNsy^qgC3jo$XBS`V1D#mUcMJz1)~l|{1u8WP-DH!1{soe!6DHOk)i0fUEkaCqX zZT=FrO%6b>Gk1Ik@!>fX<3GSk!WN2;_5}V*(j^$FL1S2*DD2N}+}k*u{2rQY{J0bh z(=9bwPn%}ShKy@P16o5Or9Nw~^@_QaU}!3*XGlN56y8_rOC!-Z`530rf8njw!5Y^OTE$oW`^hD-8p;`Qq&#*K#3@?y`ixpt7})|$4GMhS*|&1D z-vc8FyfO~WGxl^_nBK+l%46V*JLqE7^CirJ`)OM?79b zQAmZXv)shRTHix?+sd-c+_J+fRZU|;z+v+TD)aj7+lpk5=j#Fuy(qK*k;LRsf6Io} z;ub0I;P9>?01!|fr`en#_=j}8ou=7%Ca_qgVtJvj2hF?bIyg0Su(c>@B9HEBF07d3 zrb_?>kcv@VDx;Sws^J@;N{R$O8$Y?cBKIpg_nDdhCD z3lrYGJGrqD$6_F5sbz_FTWEi1shO?v6i6{43(BC9{DpIqt!nrFOqCG1+glU6;QOdo z5zc(gK@yDb(?&ppul;2@X?lNc#8M;PD5IXM4x}K+qU7yly#_o*(w|xDheWt8i)f^`Tnt!8yw>pS?=5g?Q{-rr>o1JW*y!&Ws~Ix(3)~+Nz)KZ= zC#kN4lR7tp_QC_t#@@~j?%#M$hx&KWA~0wYf(BXSnv`~~nCY4P{l^{kshOD|aD;3< z$7nH{U#IsR_Ldb$8ng?QMr@7umir)Pq9jl=Y%MT%1h_Oh|FK_+xUriKzC|}1LyD+A zLucSzf`(OM7_2%_khX)srm=Sg>->1)9MgWT$oy;6d=z2S`QsxBMZq>vYAs9+eLLxY zyqbYQ-O1wBAjm?mL@gc504^Mi-3qSn^<2cIWo78&WAFkUg3b`aLG(`!K_C`w{_6t+ z`(XxwrE8{4kx3LX8!3|f=ixy`pp3#Jdgq#ggoT(f`W48n2;iIl`M!u76d8VS7(t5K z#QCq06ab~&yqFBn@q569Bqx6{k3dw^6IEfJgrGEXs^qs_?j09`(KrAvEH58iaSMUK z_o#u5|IaN5#Dfd}`C!$>XfF$Ma~ZL__u@}{IXZ?^j+Dsmr-MD}w;&Pr)qmdxr}K~BfYm}uW;ov3=+aP% zq!UI|^L+b^h^QMg;mcXbBE7UjY8VXxV#%owv7DG2uucK7dY zeZdX;>&m5J#IZ0tyDOE2)8@n)>?jc?r4_?rHx#pSpc@+uOp4%1EGzBX+Run&sOX$m z!N@WIY!U*&ka4bAnrvNtY~ALc?6VLgY4Pz6PrpKX<)^TmRGe_@0~<2dotq|onvd0D zTRrq$WPZq#MnEu8V*ML|rcJSIr-5Af;s4Jz{V=H45ji!$_3~kPaZYiL zQgOVQp0-@FlOD@L>k}~kIE3A}q~?!y>kNMsgO)PcGA96smX*3 zk$YLFh9ltB#pku(H;|ZNCKqqa_u)RsTOE1#{3h{Gl6|*(Z(5avO_|`DTZ!Y`Hwo0I zIAVQ&Wt+8=TM;WZX+7rygwRPn5|r7Lq|AGE390H|lZWKZa4Ff74t}ZGh8p3YNss zVh^|2$%4`NBOm6euoADre! z;lv#ubbq^b96WfxZs+?$lKt4@gXulrVp0JYI<=>7M>Qd{US0I~^hww2Gae}^BL$d9 zL4p;1M;h*-X0Q_e?JD9yfIAi$@zB)tT-0e*OwoC#XatGh|0%+l`|c|m_6piPEnM-KtBX#do>{#dN-^5f>SnYAukKCjq@t{5V&<%Cu zfd|G(93=v|R^*Xr(xmfQ-1%49%ZQ3OM)k5T_r-!!Pbpd>9HvA4j;Q2=!FDlTlllbr zv$KIFQ31=b_sMg%SXB?v989WJKXC4>ajv)TIg3T(Va^}?mLbNz`qc&#y?5hK9=zC? z*y|Q`Gu2|!l9nqx7_AOFJ37{)a&vX`okJ=(e>pBDYrYOk`Vp2CXIH9y8VVt%W`^;Z zd~NuX>ne9d7%C~+ahzq+B$67%j=5FEN^We!_^yf z_}od-r1@0^_lc{XZcI>64~?s;%Wl&#IluEs?TKg$wF`^u$?v5V0t=j{S9}(Zrosf% zx>HygZ-VnkdnV4=n0;~Rv}LQ~Q;=esQs>HE-0k4L@y_p^b3N{I(*wbe)h3Jc&sRq1 zu}xX%c3=OLfK|i!f;s2%RYU~5&Pe1;RPytWMLMtF>o0X)OSPl*^A^itI&Kr%+BlQB zMe*X67)hX)#F0;7T!k2Qt_ok?Kv&y7qiOq4U)EkpL&VMC@Zs$Fu@(cpm66orAJSNO z9r@;6)YXW%=E9bzk!4nY$((1+6no8N6E*V}?;(WU`HpJSTEr4->v}3r3EOUlG#{K8 zy`Qj~psGJ~{byU^ecL%_2mv=vR;i!8AV$C)T|GEiQ)A!e#Jm3PGB)+0;ZZ`Yx{X&P<-D(<1 zEU<7qH-bg`R`d4R8^~`BB(I*fmhlzK<0+qAx;v{}(P>Sh(!j==_B zg70;7!2{W3^HQfa;|A4D$q@FpgD5w0qR~B1h$mV7AYaZN-Rh4bdIHPn+VcOm9;Y5+0y|N*S z<;fkUgY~*$`mIW}I|Ne7v;%Q%Qt4V{`b}sdTfG6ctRV4z?xM8>L?JQ$i+_tLB zJVV^da|v8lSkq*xRk9Rz*iBVS71$%1zO!vckyYOn9Qf+m@b`5xa}{L(6tdrs{f@HL z>d+y2+CeE`GL@x2M5B*U>W6d_a<^A_&-(kyk&aDGLup&7w)6w;!t>l?*#i4a5f#)( za@l#&e^Bv*keat|v9%tRdI!(dHZ~rTJ(zr|lrAe{K)7(tp6ub^mcMD9M@EM4VWq{$ zJF3FPcH5(=&bBcHFvq_qBH`Fb+p1X@tA1dRJG?SjAMp|@X>Q?(z)u3JI*68Pu8B@$G|O*!I%jq>p6Q!^>0k5sj(q@>!niw1vkjGV-C zag`@E2lHusb0Ot-%cGroy%E~`kxNWLmQ<$fhl>-<__YK_hqB_eA^FR4!mWNTDhkDa zBd=7u_vtSt9{cN=dmDYpHn*fdlGdeE4!V$TQfI3 z+Zj&V`Cbo4`=OnZd-y|W2zLo@Hr7kbr<)-aO{s$hy{fk-dnb_IO6%iQX71{tj8Ad` zHTm-n!Zam=2WL-nga}Sf@o_y%VkG;GR8SU0Nc^?Ajfo2%#?51*v39m|^zX#isf$;H4nn~Y%l zMSXj=d5G%X&%r!Tuq#^3MYr_`4YFL!2@2ZzEzsdRd5r$@B33}*{#tOpO$aw%_0FAE zhMh2W2_gr>)4)cr&0{f2KG&-d#D{M9lG2Dy?v_)bn-tK*LSuJa%NbXN}7 zxKsfomOc=gZ0X4^@k;na;<0Utw&ToZ}ADUuMzGY0iwe;w0Vt0Eh*qe%Ue0`$* zOxD{%qjIO`LtNd9#PegfGuA)Yrg6I_ikUAS1D7|0mZ*M@{4<&*N{o5X>vwr7oWv+E>D}g- z)cS~mhqHW$o5t;7_Bv^banAQb5n|$q#l0nK{O`Fk{k8fnKTAp+3r;N^>n`918*h|W zo{v=P#~zm2a5@#2l#~vv@a3%vKlJG}UY(~cXOFVBvU4mRnPi^{d(t=FBD_yW&vjO9 z+kElXvGgLhy>IG$nkA9NBuEy%khhUaIO z*QckTX7ihQmqpOARiFIbjdE6MVvmX*bWF4u! zakcMMqTcgQ@pV@xEhD8K9xkp@C(d%m5(hN?I3^yG#mQ8!-=l*s90p>^}-^dy?ydgB$tK9YwIlplp89+Oj? zjqFT6PVLb6Sr^PE#+`0{_U0uD*Zzxg=DTyUn~J{Kompf8lY?;?y}n#rJO)gP*$sDg zUY{Jc`=zZJE311y>YtffqrWI!{b7A4@z`AYcygQ|V<9!;?FIJYL)phnH)y zY!k;cPSwwwtl{SzmPn(UKZWmfxV$GNDcstwkdp2dc5BHBz0tNj7D#Q9?Oz=gKqt4~ z=;d`h!05&L(diJ_??TPWbN!s631Ap8F8rX+UG_HqrlrW7*y=5R{PQ5mt%15?k%)^i z$A$N5!m_Ge_h(DH4b|YNhY8pva1+6X1zu$>YUZvwLd5s?y?ib+U{ZaWwzugQ5)|Y% zT{b1=va%fWE{5hwu6J?Hz=3#zG$%gfG?)FshEBrxfB;3$b-(L`9Mth2U6-JP|B#sA zxj}+UOn`<!arn4tUoUb~M67-ut%1UXps+#;k2HlB=6zdO0-@7j0+)HIT zn0R~LSSBFg-s2kWOV|f<>7O<bbg@%Cjuhs|vazz03StX0l|+Cr$Oi|y3OTvmP7Xogo2A1M z`Z(>FH|Mi{crs8HBPPyEC#$OH3^A^4P^fhMX3y>Q_@nOYh!6Gmv@6)>4g?OW3VZTY zLjl1dx-y}=aWcGR?{5me$b)Yuv~Jfz zeX=!%>n@aCU)GXRI5?T&qk3k4ust;S_YOHlEd>R+Zjg_3Gi#r~8vUoGxc(}g$|_Tb z?f3c%iw~hxR$@D1(fj2#%kh_W%zt81TT^~UOQ%oh|EA7b?v%r=)cLso%=G7VeS4F) zbbKbSK6~bnO=#tdZmmz&cz`2+nMhd6?MUwvflG`=bom|htIKkp9k*`!xnj?8HfcN& zUO4OO8&}aGh!rrhy{l;rq&WDFfcZW!}OzH}EK zEY2$oNS`GZDB}@qYs*yIAswTFb7aI$+#EK#x=v|=Lk|PX-+a@Yu*IpVZECr*&YQqG zyacivn3j}HS-~0t8!+PF=nCS|y$2@?yK0)tuKUW)AHSsz&`X-XGs%WS>K_h)D)g@3 zpBp4@c8^YWaz6gMiLYLHNo-e>;S=A>2|3kPu5!mvG`G_i_RxE~?TmU?PpChgCf*nN zd_VY4{lZ*adPlPd`7dVvoG8zM0g{9aEB4T>+ahDm4Hu~R%NKHdJ?+PMU3Z7-oNN5a zDjd+9babKCYj(I{28_y9b^a3%j;(EVOR{jH#+zt0zMW`0-g8%?XcRh7uGBnl3-u)r zKQoFMS^GUgtMAWs4ygsJ+{Oi3ePcdT0*(P>8W7QBYyEO;&!?pM%va(Kr4@PSNX_&hLgNz~@Ka;@_@ld4j_Nfe>y; zGJ7xKzcH%J{j(?hYJ=PQxZzI0l&71T&0P5EPE_IhrIb2@gYy}i^wzB-1<#D~a#SD@ zjR7Im^_#gS+P_B#rJ9~x0K3Bu9MO16Dy)z$53;1U`s)fSJ4;3-J||vJtiom&p1GEL z`RKog5ku!=LJIX+ZRM=@`SZ1s542m`v|kPxQ%TJ1Q@<$umu!CSM_T3mnY1d`=Pzj$ z!P1_SwAT45bSbL><4p|;1rmna?LpIiR)H-QW6u#)R|n~^D{=8c+Dur!?~ZhfFdWD^Up=))H##D7v(@)x zVJayG zI9Q&9P`)Zu^1AN7II>@UA@19+{rm;@u8HTFY86J${|4l{DgPX8`C2AvLf1DgI??Xd zW^7RtesUTy0E7ZugJ0m75Pquiw?TXU^}&PUnOL`?be({ycWU}>OrNxE8L;s-J2tw4 zekrVMhLndDcL$EHX`T8Wp0@vuqf5Ibm`vBQn6)+A)dTI0%5kYZy;JW@s(&nB$<8y- z2TFa}Hi{jJHG3k-!#Q>Pz3Wm#{wU3CY@EN8C}IM?5axOoKY3F_J}Fa|_R_-&+5jeT zRVR7{jY>_eDiy*AI6^0dOUQ8$Oq|~`O6Pc5e)MINqvJuj{ZaIFx`M^*g8F7wDf4cd zrA@{y9{bY!Lq5azzx4Oj&sE4AG+TLC=HudMQpcFUZ`-`e|4i< zza#Oov3abf-&Lvf!Gx$lZWZEUL7A+&Fh+Al0~y?dtfA8C>-*VV>o|)~snedrg zzRmt5miRR))josSR~JX42Iarz!c*d0VtYOx6o{WFUQowR=DrqaCvO;ZXJp_U_?Pzf z-0BrLcIED24psp$s>op2Gq`f&C!+?V)yFC?S*N?ZAm_Klf)qw)1CSolDK5)V72SFq zISXYDhh9-GEDLh76RlS&daiJl8s7Y-OO^yqIa%oFq&A#;D{~=VV_l z?>Nnk>A5hZR>MWJzXa>NS&6vu>$n?r4U29Z9cp=-=dynp8_r-9+*U zpVGQ^XEL0A5hRO530AtGdA|hjqa1yIj-2)wC=R#93>KYrq8Dk;xTVgsBoghk!|2vN z4Yo6U5p&Jec27BJAXTs4g`(IMp0&uM{Ur@q?Z?8syoa_S?$K?%A5LWeT#`W7^wL}a zvzpT#raO8U{HEuy7U(0zFSqFD?CkI1i2EEzp6j-Rl%kLEUF8lB(Z_W51%KMwvfjTt zYR0cRL!10_+#l9wzvtSON`(JxKoS^Y0E~Oba+8u>A-NFmEy(Xj>%~Jw% zr&oOf4*V^GL@&O#vt6m2{@^KX6S9VGawnZAjb(Qp?^UsSQXD(Jw-B4mGAyB-o>V*A zudtz2{scF1Um&YFxO&jnKsq?&I)L;FYi6hCeFZ~1N$rt6M{~dMd-xrdjEbox`_(n( zO+%Yn_DY-_Qko)J6!c3)YilM5%p$in25)+_YNhWS*;5G^QUwj7GGmw+UX@>cJ^X_= z#^CgE&>#cJ=+W%A3B82)0VU(UM6nU3;MJN!@q-+V&XpLe(6odCb;ab&y zC3TZCEDx-Yj-NNpuDz*HkC(2_+pK>m;IN#!;TGyG7E(4B<%0ewvDH08f8Z2z-3 z1>BedCz~EPpu{_Z1}QxDIkOC>aYu!y$&iH=zK(yvYaEeIVj|1l>^|`4fjp93*?k-D)@~^^8 z#h%5wok@Cjw5$L4-0Ii9HnD$@kQU~@YPqwUeL7S;ej)AkOl8Xg_?Memw{yr1mgoej z=vFn^S;XUILsVU3snu)-#Qn0Y|2$ML-aJZNJSs7TKAKiNqsy7^Yl)*nQ%V?lZC&vx z@~n}JK6bpEDoVRqwM61*J{QHAS%TiEd3ck$sUB5cY>~xyNqg-I15qshIC^K$lOv~b zH1K!y6=PfC@GNCijmw5s<>uen_=SBle9N?}S=J$0DFr04yl885W9oqg{gN8FBwBti zs;@bkBB<4GeY~RBePrsC=PaO9Z2c40GF#RX$zAbkjfP6Kg9Vfp&IyC^e5lJ-10i^H z-%La2!0$-z$(;-5SOIG!PDWkENaep}KpWs~noBUP9B=BQ`AwlGbkCE|orv^=lb4c{ zjy#uRyhT94hqbFR9PmErcmCJKr+u721sU;y=giW= zMjT_1bb7(Pckvyhqpmh9!}J!ivXkp;D`DJki02QRD%Cp3#^r{${*;!KWNMTvdJFsA zFLXV&qbldL=TzyDNEtXM0oU*Qpyqv-ha(lUaLDx# zj#TU3{^uX=3jcqr=zjhW7mqR8UHssXJg}m78Sy-jRlhan>#ex4sx{ecbpjBi*G`UZ zP9G$RUcjZk`~+MczrmMr)#;ELhYvxCeZ&X?Bxcm#{~aXoOV9oXNgs$)%)j0+JVl#0 z?tB#zT3#Qw4Ulx`=}x{$SY2$shn@|3{$DcazaE0;7l-rajEhX)Aq8dg4Ezmz36}IQ z8rH>swYwY8$*+95>FMQ9T7AAw0o$3)^iUoco2GK{FdH$L-}l)6&J$%Ov(7rJ>EY_W zS(w#aUL$pd(f^8pe`fSAOakQg|GO{YUyb<&Eu4lEf(Fo9O3LLO_M_YXk2BV1Pfu{B ze9*<5vw~j>bQz)jvWDYE0+=p7BqE8hcRQhr{^$CC`y0Xz+5jh&J0#x~a55kq0;9t} zm!)vcLEBE#_YB=QtpP%n4S6uAck8#zk%e=q z<=Ve$`4tJj11YoW@$acQTBUsXI(B64(t0wBy96m+P)R2bSBObBt!?Oov!#69r|PN& z*jb^HrL4i^-*sK`oo|0lj*U0?O75>cYiy< z#@sdh8!F^8U+h=9*vi-Dur5ztIsHvsI1DBAJgFVwy@gi{g~M(?gs6RT8(-CjuerQD zHA>*m`Cs0==&;WF^M?f`Q$m;2x--MV!>5;Sc~06>@7z(F9mh8%Oo}Ys4)Cw}AT#Ec zDLri7PeTBeVW-!x$!VK;jC zf7j>6_sbW(kKin-;okN|7&TTL){l&j#`)S3O8gC|O`$WWVZQ^%2faF-P#e*??m^dY zz+V>h?GI!;g=<~p8o@)VaoVdmDEK-nCG{>;3hl7g_!)9l-S)c&Kg&Olut`Wtu||yV zIGoNBbbI$!Wb}z4wAU`nhap;TKOKbXg`|g8(Bs~-#C`)TY30-Umrk=AhJxPjXetLdx zW@&AKVSR3uHrwmp(}Ihzl;JB=2^PI5g!n2jyHfE@I(TETrNN2?@i+Cq54$ zJ~CxP#g%@j_W7jMlCh0VZODJiCdjl##Z;tlf+fUjFZAkJ%6RYV{f|glO_QNKeA>h7 zW5Tr#v4yMD@hxIrJ5E0Ph-5MFEc`4;i+~jKX>IIXIkludYxR@s+7Q@`@Hi) zD|zD`#F@wDNU(T>?P!1Y=y1P+loZ6q%coPz>jd$6Z(JUccY9AyDTaz`-OAUf@BSfk ztl1UnL{g0yq$U;eG1|T!VWS_VpmC6;7?=6{YrbR~>k{~Gg=Zd9d;V&u?%*5muZD`U z8_%t!$*vOh%B~xTdaOfef`?t?O>%=g|elW}SKkRF1>;0U{kFG>(X&n<<%9PB~ZpF{1BBzFek|x@)^QD?!AMk9XuK3Z={u+1y|NLXL zVdMkeyi{1q{z@wc3AUTGH!K~ewD83b)vtH3Gc&4{+HaRVvM6JQ{w8YY{5THV9V~5f z3KHu>2ju%dq|Pa%4BVJzlOHPg18h+$q@Mc1p0eJhdW@{#bK6@^>Lh3_BnkMub)Jdl z-&r~}eo%F2)*4sc@;pOOPcT*vb?i}0eDfT@3-R=0Y&O2OXuX_7lc*J&mRETxO{zBqW z@tOmNsP$Ug6&KOU8T^#aS6-97e8@P<^d^IQ0;MzinSMfScAY&jNfF6;eV2$mG&>Jx zvTaR`df7-l)xNYH80^!ywGKvCwpMj}ogW$}VhV|q^M2q--;emFU4();fFr-jYQ@v4l`p9<>Jocy&X1KVFkf9J}WcEv@0AsILDHw z1>HT^L+Tz6yc6}9isTm0y%6L1V2(7L&zXY==Qe3yt3meDs*g@!*VICT#E&4F#q32}gVTPQ7m?5JSc6E#}UB`ALGPKn$CL5%prlM94k6vwJtV z?`Pcd#4j+^t0~O)S~Wav%WSCL?d<%@ZRU|J!-P*Q*3Dn3P;JD4pTPOvfYE*Nbbz3l{jAUE{5vp*g!r` z>WNLux4FAWyjx3SU7|HxwqZxJy_Nj_N|E``bLsHYz!v!&1_{qCmt@J zoLS=>m)SWx5ee0(U)0VUuQ#h3`tqb->}Ju>IRzuG`iQk_sjuz2OD^9XPQ#Z><+j3g z58X*5>igbGP9F1HD^n4Kb{u>4l#kD!GN3N89+0r8(%-$?Nj*eMM+XDQcSy_zOD{XC zZru1;bF@JnFSF!lTWo%~s-RXE6`TO||A$mNQH19uc1!+#LeYF!MX9m{VlGZ`n!?E= zhfO_?Q(#?{rJL$TL~${o9g~M^84l3mwOTSq?9WDa?d_cj){N%r!&gWxGR^Z`EgX|8 zAB(h2Mk=rkge`N7h%E{+8fK2j&U~IEsdjf|=6WquZ-Kd;!s7m<@DIn@HMfx-S+2ET z+T%;L))>E*%-;$(-#;mJ8`&&$C=VJ+^|ghHrpL}A4N(Tn15H-DC^6n=@b}#~^vU>)C_vP{u*HY%iy+DKL=FQS!{!rQX+%~Rw-*gI%U)g zR=LH@``Ym-AyjYZXrA*_(anZzR8gNBItKrtoqN2rdo+@U&!JL}4B2ph7wFGJCMeD` zQS0bDx7lTrCT5|htXcJ9bl)BK&|2?Yyq-f<=N6P)oSg0Md}DEU{%XDLJ$AaXqb&Zd z$L3?^>!mWHbh&%bi& zh1I$}q!4mRB1+i_6kJpjrPEEeI^hOWag4PU79BYgO=bBi%efZC^UK`k+ozVKOyz~I zYSK6m%9|ZJ6^;}$8KU4x7u}%gGRDpP$oaGmPi-(n-{tt%SEvg}%00Q|IX*tFSx~$` zE^Z7dtt3865C3{bv~Wmyg}s8H2IT6I>l43qUN}~Ma~;oes=xgrV`^o6ZPaD_KEX+? z>+*oWOgpy0y?znvTb?B(ETg{c>KNt&Xr%kJbw2hn5Y%KiXN z<^wYh)vS(#MS~t868R$!G|w(Y^xgMW?|TPBn;0f2qc`5JvK+u9d^*g!ao-1R&P|LI zAR!UBo_qIhY<&p3UdPGVNk_7?zjbPhMQwR`^4G@f2LEP#Ny;!CDfOg}AWtK|yPpAR zJd46ck-l*4T=~a+TQSNp(W7?ZrGFPagu3!0d%qfxe#$Snj0_Hdf{4AOG_oRKG5=4dd>9hmGVFh zo|_xhShibICFRneKT_!O^VM#Q^9{6XW5jfD{`@;(pWN^9r$f~Zh&y8Z2p0#1`;z%D zdcRKxWJlu>F4vK#{yAW(o>WQq;fVtQ-`RY2G+9BcakMpW z_-mc5Qxe%ym*bP*UNNsOXcX8hNEFI?abKa7kLnOx3SW_wjG*W=?%F(5>RY?L$~?NO z+}zpvCkh;z3MkJivqsp0vgd#OOqmg7XFySAvc=i-DO!{>yLSbh8c}i$@tKa;IFuh` z%5XV15B+9{u+n+KnmYkCeUmj$wNc&MR@1wcRUS|{>QDw1)>oLh@x*d851z{v#~l-bT__rFRq5Rm5R)Hhd`$$nqX;Cz;K zH*@58>L?RU9Vb$5o2R-)Y?CU$TkJgHX4ouu2^HtMppsi#uSC98pVpMPAwHA$>D`cp zZ0VrlV4+3*yxY!VWEj>|%+AL6QS)TIXHQjKXi1!v>=wC~&Qtxh($8L#SY4?^kO)In{elkySi)qi4V=QDy;LqttZS-zJ3P{>%&5#2n1cL9@)tedluyyG5J;8Fw7;J0BSNSG zY2>CCd%gr1AZ+<8{I6mpUMGh`VYrmO%J8!Vv!9kJ2cZaZc!c`MD&;|E%_lR1 z_7IoP0p_yV#-W|-r)dXX+dC=@{mhg3p$A?|o9k;DM=#l+?sn`Du{iBDxyIY<__NMh zcJ6eN!_s@b``}P~O>*%CO@MTX!5%vO`R+b)V;j3{qfFGyE{Dd|9owze=hq?R6G66B zgzY^q3>2NXu`>+vv9a^Gvz9^FF|w%S?!G{cDtGl!Rt;xe^9Y>;@0O5@EEAayx#9Lj zt*4hDj5l5wl?$kmY}}wr(vY{%ommoDn+khD!?l`lb)ERueLQb3@AEyc-!3$vjk<5Q zZX}$}cSYR4QpBGQN<~aWSgto95`9*`d_`Xir?yj%Hw@mc1owqj2O9c6g#>=Sn?{yPVb5Qgk zN8$?@v(G2;cg~+>eNj@z9^m{|Bq9s_e=ay88uH`b_|`%9AH+xsk-)an`F4bDL$&AZ zod8`>V)eT5`&^${JSG~LBnt{BA%bEJCy%f-r0)H85UVZLtS5;W)U+ZKp`D;s3s^Q< zG4WbE_#7H|M)G+635o17iFJyQH*^rb;3C}phS+P-MD0^Y1+sp9sI)OYV(XyFt>v&` z@7QtQdT*?|VOPg3e5~GCh0;lgR3Wl5WTNG3A9gq08w44#{$AH zk&oUWbaSMk34WhP9s(IJ?Rq^^6&=_X`8n5fxN&X=)nHDdU4&oSPYTda27GTG6qkImk#>g54^8V)#w)C=5xvt7m=o_3s=K;kC<# zHEs}^p1n>WT1YctsL9w%;RQ{%K91pAdx9f$L49V+M>@#QX?gdU z*Ew;zlb>R(WC-RI9M*MZHlTfO)QLdx!OSHhH6+(Dqs(jY4%DO`t##FLjDNFEwSNfF zhzaXI*kWb;HpQJhnMoy~dCpAnr(arPS5_wqjHdJb*K$`Ug^xG(+{75|y;|G2ehA%- zxw>vBfcQT2nx8Y1FJ9uE|5*>)QQ~l`wfo-a>-66Ia3_x&J_{L2+Zvu+cf~c#HTg{M zTRu&3eINa!fzN;b_Jebol!puc7e|r51Y|YT*G)&irueM#)ZJlVR5J8osPK8Xm$9BU z8Q0P*3VOw2&mCuj=GJ?#ZfZ^{X({LEt(3&YE$-M~D5sZ2tlWEq_l1g_u*yzmM>vnS zqM~Z7iZ#2=bxT?3QZR>8$eR}So4(QF7oYgm zT5E;l?Pw?!+}x(M=H zpx0NfBiz;PTjidbvCZDq`iAL?IXc@z@GmFJ_dfqUo1$tUcHA=CpJ?2ElD(2FHhEZ) zp~dfk-okw0HE$9Td1I97`zp4kyr+skgiL;7%KBxx zy}-%7P)v2+AI5~AKk%CP>3;I<0kaO?UV>WyT5|m`L_5`B39yVx_q?kR}$lv`!pCmSrv_lVeL^6@dB}wLA5gD2@VxEA0@OFH(eas7?U7o9Pyk@_Bq$7wjVMtW?}rVQ|dO_AXN+da@k@E;~h)q z<@$e<;;oDi<`NxqyT4A(e{FE#N@7VeVAac0@k2D-F{n3bXnfpib%sv2K}<6&mmfGO zH}wkfwJ;uEiplw7zvFwFw_u&jFU_ls-aVSJNu3}{(sXrX>%4POe_Vu{lzkYc7og1= z`f;enKjma$r^or^in8H{Jh#dq?3zJ{+bpvSRCSKqd!Ls<0MeW__~HMWA~QDB&24`? z?tQp|PN5LvjN!-O=HpfIw}li!02;e^l{QGoVY#!W%XA zlB$M?^dLM;)GtKE z++Rk2?q4Op|JxfzFL<-MDm1{sRIUp_Rr;lZSM;Qh<@vK(K+pj*@by>k5# z7j4FE^w+WkLXci<=(U}O+LJEfW8WA5hWRqumoCIatSIZoadODyct5T`cgeuEcJCKL8>rD*@_&JGTlLw0c(x!cwsII3g-Y77v~p2Z8R zUmBK+kMJemJysHL6x-MhI$Og6-%!bB@~-dLMxU}yzMZ{&;jnyu&Gn<8-05`MiU|9;5K65{I>} z48yR!tGKwUg+0(}3i9j)lvq|2rl3|rc4O*OEQiwk?>j3j=&lTs$?$9yQW$s@qaJsWG$&^t^XZ)YTEE=_ElNFS9#y#dskAxF=qCy zCsimNx2&rPCWl7;Fj-$u^vGFffVTVM<@_=M8#9=u=f130C#xYeBv@H-EC0;91z)FS zjPR5#JSdmH+;;Ts!)=Mp;q*HRTcf!~$60tMu8TWeBA{IP&zUUz-h@ zWlF9cW*p>#OUTbuB{Hd*8D6X&a1^WjrolIb2|$OA!q`;OK#&i`pKuP*=3xn7;NS z7^YFsuLy8C()*_}ooOB4%~La9V5g{m#ldi_KDA1@^v#$lt_xQvv6N&hdL((g7Jjy4 zQ*oxIqh9XWr(&PN9!MrX7$>i{Nft!KF?t>8T@LNHp!F3ZRSNXK4U+@A?zN%SPa#uT z-8GpgD5qF73pRyn^1Z2S(bMumD9zqeI!xT>O!IKvmi=OvwCm1kuF*ZA=cVlA!6RTyv)D;{pN~?ruTb0+H_A(!%-Fh@_K8 zh$9)*L=aV0!`R`)QHSVUc09jgYVWPppZZ1d+-in9bsZmPYS+bc$?^g*NpPx2e%wa2 zsp*;HS(_bF4m|dQZol+WF_J*bD#}C7J4ZsR{*Q%`g;c39^Lp}fQ$4f(5Nf;Obm5D1 z4GqYD@)J6`I@Bngx+ia%aHujG&Iv*%AFj9Kq+@b*MP=x?LGFvuD_%_@j!h>r+0HtJ zcSAFD##B~)?55@lHf?s?jVPVgzj7}y_kOc(qn1hm4P_!4!~-7Qpy1f^5qdTNC2 zq;h$v7sLBkZsqZulw&HW(^#X)Sc@@(lS*u^2tg($CiHcPXSFglx*c@RT>8j-z0@*^ zxT2W$*(sd>#loR;!e^)l3OZ?GXVn=WvfUsxwt)7F?D@oHyRi zym(<(f%i$HVBv7fU({!v$HV#h@J<%7HJ%^9LGBC0WON3tS>KXVt8xT5;FP3+cNF>_yLo-LE3Nj)nJE-Hb^OVT|kDO)9EF z46=)i@Z-|R(1o?%M`rIE#uOqtsf9~7>pzPjhs|3Mu|n0Bh_61b&Kpa}ZV?mWuh%s? z`g0J_!MS6c_ot~l%0)Z6Qg$UQCb6yYbPW!5sFP0=C3^sN!jS+(091b&dgyA;#7Y;_MQ45fW^w@)b!6-e` zyoVI%5_zMN#TDKKqon4-=cPx`g!wUec%Aro;CFNLy1|5(j}YgDj#`Q3)#a=@l=mnX zQCZh@V(`WtLY=K_h+xdG(vS?ul%2gSQ1S)6tP5p%08s$&9 z>bW$kgXN93y-uGP(LpO~UbXo+R{$wAmCU22FNtY(&GI5#wxRayS;;6h=dM0}fj6Z4 zJ&oz_{PBgh25ws6_F?3+VB(T$@0;;?&&Lhy$#*>Bx)dx(jd@HUJg(KG3<|sI65__< z$NfC$h`1Kq?vCDB_x$@lkArt#PLkN@kzlv4ZI4`RZ)n=cEA74$yN2%iooV^BjgQ*F zN%XvPuk`XOUOYlgmk2?TKsZsv6Ou%d4c#ABdZ6Xg`U6dEcpx45?dDp{AV8!j_?7F> zAWCSwyQ~$kOaj`sEC&~CgIkQ<>ow_)V7bnavg?&C^-I~_elV}t5YS~a>CB?pIdD}v z_;<^&1xiPt>^LEV)H|i-=rHQGVc+4GO)CC^?7su#%OBimes+u8OBE?PqIOA57x2Kf z%{e9~cz42a>g1P16$^0Fzb^Tfo9`{?C6wo-{ zp*llUpMT%X3BS&3dcCNgDs?2&z{htBPg=jmrWaa#n#UHmB5OTjyF^d-&Cst+qwa9e zvuUhFiOR-_L)(@$GMJZw%=r26LEcx-C8&R=d*gK6 zOndQ}3ok#Fn%K0`uK-Q(FmG($L7{uON6h2BwYHc2XaH$fYI9aRcuApymNs3l(+Q?u zKt@lw>R@<2iradQS46HaLS<~SXfu1fzVlld8KWCp%`s|tW`*gTK&VVA+na3bRxDr5 zcc0xFzj}@;hw12cYkNC~F2l-BAq7F`Z|{zsZppZ~LPB+JS>Q%07ga+%sgOXEB%e>z z)jTZXGhS_PFmI;%rA_NoNOCT+4EjFOCWzbEm=(&#h;IEOe|->( zhip56+(aukBXXIi(rNu5CDhzL=BrMX%BYoODP39+ozH#`8On*nAt_mZ+&->ABX9H* zFoNf)5OruJwc%4$0oZ^#r(twjCu=u6j3kl(FVoUt`5`Qwvr6;8n zF1D<@HtUjDiF@f&)xTYxe=F|v8N;?auqY=HxUhi*K&vFF&jd;Xv;=Z*RT#R_;n=y{J$_V6^XkbQHQq zAT*0CX+rS6OerRW3OV|9quo~Pik+PUX*F`ZO^E*B&{A|z<}Jjx{Em`0iOF8L9?>fr zs_@@K-(nm0Xn2A<{Ta{*H>(Fb8Xg?wc$}%Pj%bQ5rw`67%}w9&+6kz0jk3i-KdA|d zzP8d>9a8GOIN<8x!KGU!AM63By`%5_TsnQw@oI|?Caw3634;AAu_s6hNpY@nMO8pD z>!cuW#Mib~s@maVMXl!0g@|>r8aqj=7K;46>qh$_ zceV~XZ#48iMQCslMaM9Ab+6A1=r@TPE=@k_{%5E{z=Bhqx=R9%u@wh zNBss(1E0LCol5s3GIh=I4C8n5YN0KssJnqLl0E~bpx%@>0rPf$*u48eO{qoi{JMVL zOpWEA2GU2#^rcjFot=tgenw$y8Pn_2dxtrAvYs0Qes0Eb{(+J{&wOTj3SReHIc@NM zRjqg8fC={PCXUf+hTqLgGGrouWg~W=O?;}L3}in+0eWY#yWtGPBI#WS2qHB*4NA}s z(~S(3If|rIB;M1FrkVQsYaROZ()w#Dduuf&>iKz zG7r%B>5c1&QP5Ol;e;|3hKd5& z*1z4+-&T>^H_2*e*O!3mg!P6#nC1@QHO#0!s0&5ANmvDaHlA z@BfPwm zzn5xbDeocme1ZPb`&tR(d$<4Xf|q`zTc+0$%OTGwExWghw(6#>mESCDjbiEoWJ$Cu zOtFKoy@nD07vIY`pfRr#%mjkCFB+~e1Z)Dz3?wt9FM%|6BTzCmM+mq8E5!Y(kC}lA z^!I>Q5_9|7W6FlkfByN08(tVp-)bNxws)2q=xBGY_^D~dr>1?`oLQxW&VI#IN5lG5 zn?bx^4GkGEEW@E&b^=n|pn|+N9Y`I^`mA+ukWX0n1afkqhH5YH0JP1&8q`)12KxJB z1O3otct9s6B&`5mBv1i%|ttF+eWIX}r0+}b)`|m*0F z*-2$jD*G4Nm}QV7wu0iZghV4oo7qzJBQQCjqRfikT^You7R_&zzKTjo!%R=Yhh7ul zub`h=2!FM6kikeMXz8;XNa^Qm6%o)$F{5E7IS}toZli4y=uUHJeR~9_Dn_s#)P@uI zKM*p=;!^O+2a|H>@c5j0!h`Hp5}Rv|6b}X_Dd>paVNfJ#>}Grag5m6F1rb3hklrZs z6zba;QSL@iwFZJ@86h1F%s4PwW1cG3U2Rt7Pd@-i^QwA;ZD(Z=#_sIk4!HvpKn^_2 zJcUt#oQ#1j!QeVBZnT0c4#=IygJhel?gtg4?v>rG=C){=ZPi~%e>>0MCCz5TRl_uO zWQ!ckcBWx-%r*|Ray_9* z2?YJA_+L*Y-ANPx8FlVo6q1-WI=C5=c@Q9vi&WX3?*J+q6*)PpLq;GzHAst_f{Zx# z;1Ya&j661*^d$@zXuWzv>OG~~QV+xMC3+&z4^99y21vhx8Y^?srZe~%fA7E^#5f6d zKcs;0Gsqu*mTza*`ZfhG9ptw_DVzpW)bIgAB_++BeDT5s6HpU_&&L|5W*r4fz@=a<`T&}>p!dv%K}}*PdKWY`HH)-B|NA<5aQ*J) zw7A0l3rmpFZ`8j|%&K1HXhAUBnWAg;11LOzq@5!)^YropA>x&Vg@vW1Ljb2`-iJYE zc&g9JFft+OAhpRvKtRy?*ET7f?1Ef*@Nr0gfWLo2z)O%&_8)rk7%>R5n{46NdljC5 z=&sd6LcUCyD5?BbkoB%*Ejj~z>d;A8^f&RXZ-CTZHIm$uk{gV z(lc;sn>3t+yWr$XxUozMjhLBJa9`zZ6}1) z=2WafkQi=O(+Hj2(9i(Ad@98zGVpT%NQ5xgNG27SoHxi#SVt3p-n^P*TSwq?3XnWi z9f@z=r|t|Su$(}cJhu@9^KTXbZ!XB`D5zMzci0k9=lG{RHc;S(wpI8gP5!!N`*Q)C#2P27ty0rZYF*P&u08~?;W1~%Yo|ZR@+#fKfIp-J_;0 zn?l=g__{bd$5tl51_7!2PWZQrBc&@qUEvs*VZVOk#wq+Crbd+CC8W&yJiOuPU#?1Z zB@}X8yqo$GLy1KqG4lB!i~X^393G{qiC%D6J3x1Iq%=r~bcbL<6P~;-#23H^x;bil z?)^X|0&OG?Q?>wyG%Er$yUm!EuqAKmPK9g|Z$X$*E07A{)nIM|e)v7vgWoMJ_DEHr zL^}q1y|m_XTIw+crFO(O{5zQGlfOrIIOtxtH4nX2lqyoW9vOnc84Scj-}m$7>6a=1 zG$rSGd6y^#L#ASkBm!SxZ?T&$;kKKH2mT$wKAk&HyR#H1$h6TdOlc;a$=Zyppb?Kj z#LMS@Q;8@`EA_3A0cmt(YILw{Fd+kmf6dT; zND}ZJmOpuz!zEEedHU65@EU~t0H;?bp@_*#d7G?(*ZARvFA7(K-@Roz}! zGj$~1A$rG-_2Gnw?-hY(8fc1(Cw!72?0xrSF-hdW` zd$9cT=_jm{Icq_E5U~y=W@98;0l4OHx+G2!;p6-lu$8y2WB{I_d65C|8gM!Rpau4# zMPE*2MYZcyqX*!CGT8<(fqwkU;o{6%RmNE6<%L<6~oWhw~H|$OHmND2?BZk?v<_#~WbK*uHK8$9-hDMRUvr7zp6+ zg^+Nt(#8CX4z-`t)HMvW0xqB_h^!jO}D2KQXvzmEc?b~#}r*jrUR+@eurR3X{yV-a5e8>l*Xe^gq(+uByZ zeUq&YKkRLs0YJte@BpGaZq{SkB_}+ib%_(Zr5i=n_r1=*k%hhTwI=9N5k68k{H40; zV=u}&|Njj>j{{~2Cdi3x1}-1K`3XSONSXHg440fv2S@U40J#|*8S^By1wuZU9H%FW z0TTt(xY1EvDJd{6QIUUfAfd(@R#5%`$N;z74OmX_p7Z3@`^5iTPrUEjKW+=}&g=BZ zDIo`#TBE2$qGot3P2m*T(eC}Qdt8ooEZ`AifP#^*Lt;$6^af`^#OipLlY;p;1d zL_~xU`d6uo07aE7LA%zy6e`P@t}y1a)zNY#hfj$)X^ukKZ#+y%Gj^-tOQrIlb%jjlF10uV7IdVC0 zj>SeMz;bGq&TfMSoG?@b(qe!xt<;vBr%zlEQk!{`QeY71=pHN=*SX_6ZvfoNkO4d=niRH$FtBF90}2o3`bF$)Nfd-x2Ie|S7TfzM#im!PsQ-5(u1 z<6kv%NU?Jr;i&Ml9889NT!KnO=gBKumiHKSi+_*yBlp)Gi`Nk?dp~e^!IQOy5E;;m zQErsAI>i079={D-FWcDIaNC1M_nx_;h;W|8ZEPn7b&)>>IuMA!=7yk?Wt)Dc|NZ8> z+edW4tI6~ps{$Y!_xJbHQ-Iu8w2Ge8p*);%W*M+<1hf+#bYRXEI}lv{Oy%+{UckW& zoFR-YG`&&)M}9qcI$LFzVjuZ^ud1qQy~+j5mbEutR_$wMk?uOey*YTxXi9dxP?a3z z&tPnTAtdB;b^-wjavVrFpC|*t7XO6EaJJ)GL+Uz^VJ2gb8F;~d#O^=FT*k*^W?uM; zn0+^(F#gRU-W}$5T8@Tw3K6Sz-b5};@qndjzn2J?cCv?42wA7Fusc?;9BSY>!fy)E zN_fo1&b|tVihb}U3{whL8bqscDo{u|K#YY8enq3vWH4F6=d4w15?mAEv(^Q=&!!Q9w1p*;r!Mu{=?G3{C0OBJQ^UOiCFDXghGOBjxCE zE!FTuy-&2H1XF%K|K?E7pgOX7_j7jw^ZT2n;RB}3D4+O z;E2ekQs2igzeDhsZDKG^3-aeP$RC(SWA))@1E`!^R<_USH!Qq1X0j@vpM-_Y^o(qq zHsop7d)J1AdB~rB$Dp#gRb}AnLCHqmu?hp&V`j9xJbYkey%+#ix~*C3mv<>a;iUcY zhSN~s-hcFrN5uq$ghtEf%$^wRT5%z)0wC*Hl0=wtnS+{bWZUm#i{(VklPdeUkg%|r zyA%z6xt6}cOW=b;+~e!(i?VA+Nn~+WUHiM;JRwt;40}|N=j9(vo(*u7re8k(yW7D6 zmF`^@*V2j)LrI@L3EI}f>(eO zxE%61oC6kCO4!FQaLVoeCgFAwI1z08n9VXEksUi>Mb%-oMVtz2=DL%y=bqGLDTaP>51~2G~ zXitJovB~hOtgrWh1!cNb_P|GhD2bIRGD1RwB6b3O7_46)qOQP|WXUI(q^rVRxJ-I!G6vhA8iTpH2cTyp zLl44rOq@u+j76nMkBo|rtCdB)1RZT%@D-3$q4kbuOp z4p`|xTrV85#ju;Q)GoWbyEFbN0*fg~Mpj>Q2svX@LbXSaegK9IUeL*~d0OpP#Z#Go z{uj$7$V4#$s}kJQSCBY?^mdBD*6uEcT2?#cdqYUMI7xe!!2L@K3c8xmNaW-K=Nbht znjS(z6iixbYAPo4wFJqS*$%GYjwlu3LvSkk=Q_b;X?#_cwDLO;hsIeT`>a9UFiq5J zw!_wU=m{BFN5X?_c<&Pv6Rjjyu3T|m>Y2+!)P3ZuCv=+Azq#V_aBF)T! zUV+X-U}f6j22Da@<=}83O}EU7#g_N_)vF&O?*Ppy&wDzkG}w3)iIf!fGQtlH6np;T z4YlPU|kC-!o18fwRRtcR55%2jU?}$g^zR17Fv>)VS;Z|Bj*rH}L!*WH2%6 zgYYlS=gjR?4#KTFfI+MB8wHjk9wqgZQO3Sk?PLMDVyjY_$> z;qcE2YnPCeyg|+*%_s#&<{TvJ8t>or#;4$I_skE=*Dh&o#xptv-f3L0V)oz)vZxjo zC3+`VguSc;gqpW_VT5rD?l&@6Q8P!G#_p+U_BA5}+^zD2*_bU@wU06%Ny*9GA&Cgr z12H*~hd0E*Xzx{^PVPf|59s7>8l6Tq>ES?BMD8SZ<7d~|W`cy8|9Nm9PQX>ngiMvQ zVgRp6^GzpBU?9QXhS%HD7y=cL+=aGcUM%Da*tfp&NpChHHbNT|zlUCxql|uc$sz9k_+t#bVO{JFoDka zr{<}XbiVV(1jf;ZdVX)VQd=`&(IjR+g~tZu{?V#&MX#)u^Zhas5CxOU9l``=A0_!^ ziOaSd9zC2EG*RXMC+aB^j&?x6x&vWwS>PuR@Va{8DTBk)D$KZhOAAU&A0o-nfhHz3 z#RgJb`T$Wq35L26%tGa#!-BZO|N2vvmPWo7V3i>|BrU}YZl02q1{jiTaFQ0f(&8#x zp}qshpu_G#3Hh@7cUOLHcNvj)mXK5lYtM1{WX69131J_2jjjMKO~?!4SnbYeGW0oR z*w&<_I)+8X6&2Tquh8-QUUPFhfDTPf=Fn0S678uX)qqIGxEBidgGC0w>wt4B7yny@ z`^iC(#o{RB2Xo97OE5514A~FaC$W{afE?U7cJMb#Vs0$7sC#YU< zmp`E-He!HirXEbWRfx=YACM`7{}8(3tu~lwjSI+&@F%C--(7b`7~j9zHtrfx%Odj? zSEwZ;Dc7Lv0w(;*cy)Q{hAkK|I)ha}(}jeDd{nSys6A8$L>+wYy2-#5@2w6aH{QH? zgW+dGF$~TlaLLQ`1?-)jdBaP{sHkiT9%UHFvl|ysMgMEUAbMkk6$K8BFuYVuOnT#{ zr8Kyr#Y3J}Oa9<~_fmE2gRl zSY!!|?vVY7br)9t`Q5wdpG4p2A>rP8w~P=vZ1ltR{&2K*KwNOZvDXmAqy)L7O!i6G ziU1>JZj(>sX_4|DxdQo9G`k6G9)Q8-pTG;x`fS_ZWenAf(nLg3QqmH7#I=eTCDR3t zA+QO1vX!_}9UoIVq5Bg?V5k{DjF&JVw)*QVWlWGC1IjWg0dpq8S*xIwqm?uyMtd_b z^QF3242qGIl$3$Qr*ou)J+>uHtlsro>o3%8A+MwFTdpa|$&Ej4^;!oa^EdbRyWnht zWMT9vBVHd4DQC@=H<3~vR9Xlv--{HbWc?EgUY^Ms4%Y5tPO7?aE?%pfYy=*nP_#k) zA@q@}xfstYwMyChx(B7vLFvbc8YWPxB5ZPB4KBZBmu%kr;qh>wQCet*$iT1D(MPK< z{`0wipico?4GBk86l_*%QBSSlD7;;gz4dWj5l&XDp%&=uz!cNrBR!FvoD7)xyqznh z%#ifS(#d^2*Gf#rKvLunxkinuIGtNJZ+@Eig~@+j#X|j+Kl=M~Rj^dP$V9;yZv2(^ z$_{pRu-|P>j40FE-3kQoJ3`|aDebJ*E&Df$0&CZJGqa7M#2<-EYf z#Z}~QGz#k|2iKTY=Q=5;u+3NnymyMY@PT?CpQ1PNSa&(0v`hxF>X;9`G1Q+RS;zt| zS-W*2ln21qHT|dsPXPR%zzdhJH;-k({p9PE$}(czeEOFc`u8XAl7)tajn#QoBM`Pw zJTZwP2G0QF70VL>ZLSZ_hPj1>I9S%hCYM3g2od~W(fG$>sAj=hD~22yx8^WhHdsG6 znHjeE8h?|(aSK}~0g5P*hv&o9INz8DIPs?1IL9;Z8hw5@e%)EG*4bsj9Ewrt2G!N0 zmhcaJ*QHCOz0LQ%hJ~z(?%tg`-#?fVC}~??ZU1Jsm$D56^H6ox|H`0n<=preFJAQU zI0iuBZE|ucDJgJ5ypQ+7AGRwn4Ut27KIVc>18jRp)n?~Cy!0jv=Rc1LbJuU=pRmS+ zxcytn{QDTlDF0hvfB%$l>HjBxdY2j+ii7{3=-d?k-AHL%TwE-(9q7U?rpoxfI7I2)o&XQP74w$_7}CV*YT`mXDdXlXb8mrz^)`LqNs!SCng6 zS()P-C<})y*h6vp_I;yEN@uPH1_qEE)_X(1qz^tG#0dwge-xm;1DMnz!0BctvZ&xL z(8tEc3WqFAP5sE2U9T`)n4T`On~_?x?1U1u2Sg{b{RaOBdv6+!W!t`wHc2I9ZX)xP zk}|tRMWzs$QV~stgd#Hyq?^oRLgq0cH$o_-NEvP!Qj*L`#)J%Ozk1&1_x}E0)~B^? zYg^m4e0aC_sod9fU)Oma$A0YlejMjiMLWrh`HD>KgdNT1R^R^r8hFApf_Ks|Ffia? zcT2iM9H=XHkz5PX)6)|Yx)D1b<>k%OY`dA9+zT$uHM|)Fr5pdH^XDn&>zNbzXQl?U zxK=BF|L-A=;ji1;qSSc93JVLr*S+e|5@Y8e5B>bv7?Z(>M?(r{2`RZ7yo(VtJI$mCK9tsls&By5)z(F!-K%9U~oT`UCXSl zRx*!d5|;WIs+msGPyQpdnp^5WH9LO&{mz2Npkf4cAAzaJ&6mx8Y;W!s*%Bhx(jLHdr6z`(wa<^b<* zc!Z#`{OEuxbkueStnczyB$20$jEvgb+hG7f8NKtA`fq29FFkSMM0wq-SNxKak$XB+ z%*}f~e!Tzq(bB?<@MSx@VsrmI#v=-T;%(33o4*)5ng?DP|6KOcG6SW@%x6??}hDNbKaF)^{> ztrp1=w3RHS1iGXa&(^x{ZC8tOIvTD#wlHqEar! zsEN)0d6D}!;P%AD^YKt8Ny!LvATp|5CvOdHe4nUzs>L$u%8R#eZQvOYGu#gf6tQVa z<@v{tZU|*!voIcXJmw6H+PY&$DT;WoSR`HIglN2wUa~yC1~%5u&O*K>7U)AcrKP1Q zXGO!*8MsJUUi-$eE5RVVVWG#DhoV#e4W~>a8D+C)SogI?XCF^qQ;TDw;}3etpW1ug z%F6ZY^VRJBzP`wvceL%)7;V77UzW>0Qz0GFpJSZ=xRV1e1~B1Lf%gHi``_JED0YP@hg zgl3$mJ~hEPuGwC z@SnF5`a+#Q9OZ{?&Mfop-Mj7W$8kXX#Ob1&YiVtAX2ZeI;CbH?+TQ$jLYPNQ?G5hM z8h>ta6`Tl3x9-aqZ#nHcV-&nw-yCS=I4%H@`*HF~vV_mhLIGjj=RQ zRJJ+tk3|cijxS7|pYP~BVwAA!-rvBfh|;@@jjRCg5S!dmZYCsfhNz_2UnP+{P?8|J zPODrR93-4#eHtXwmq=TaDv#mhLdN<=z5$Zda$R8!mew$Pq`aJ%*)v(_hODn@YtKA$ z4co&Cz9;DJ-Ln#-heNZVz)h<2i<(k|L)NjL;n-U1V9nF(%zDJjhtKq(#mhUBD#5e0 zpfIc=rbvlcyVOUv0TPV?KR0Qr#ieN7{%&QJp2(*8(%!1R(amp=?Y?kM8=;gw$VzVN>V-13J=;7W%aqcTqM`$e4MUsZji1g`+c*F&iw`b{g0tdlY78KK_Eh^cSspp^67PSbZ8q4>#pNXh-F|$p)U7t!R^rW$ zDZ=u*i(`}C3y{9oiE|0PdiU-g!}`R!PioEdqO($*-)CZkNzxfQ3GVY#7ZU4|)7PfS z{;$XW?%g}zwl6>m;8L~p#sm%>I)rS!B{~SPAbZ5g)pQvo6J!}P&?pl52A41YKu%R~ z{{BiIf^DFhJjxkXBM;0A6xeC1Rq6va1FG}nX@0!UZ6W=rID9WOb1AxiuJ$p=h zCKe>Wz_JoN7Rwz!v1jkzpP=(x$-AT8W}gNv+Pp)1u@T8@$FV^;M=>w*49&WxVG_`RuGMFX3>_fPF{Fbg?r0`wQ zTG3)mKW*i$nlLfvQ5RU>P_QmQAORV}D zruWr*1qF|Ga`J-J1jcKhW4$`m_?}M=CP^-V%UdQZ`rk$c0)N5zVYov)6jT;AH}mzQ zI*JHPgJJ5DFg6tw>`UCRLG1|WBa=?s6o4|^Cr%oFTw?B@pFa+o)s>f-P0S=zO+=+L z+64=&CSQQn_lUb9iR8L2H11z5Z&lqsthm}#U#SxUV6nha_G{GaFARqgH=*uVu*S;T z+WN|sMwUE4Tfd0d?kcYbY8zEmR4_N)SBRHs^ku^aHH`nVihz(bp?sK1KW=%u_IPvXd_kw4bOMrFj zR+zSI@tgpF#gf`su3X#mhV1YsM&!gDHIeg31)fFixh}mmG*yy3y~nNAuD$)?OTnsj zwA=o9XUeb7Uc4w6e{KvLk)*HIdHdIR^@`DVt>;;sp;=o{=xp0o&oWQCOrmPGoR5as zAE@?yg94p`f)= zN3Jn&;Eh_9&hVO!ju^FS!(*hxhEv1aw{NGezl7Z|M`N7=I|p70%8-=n%@WCkvr166 ze@wwdS>YDVz39GIJv~0)%YMje1huq#7HyJ#WFj{B$v|h0V|A$Xf8Wnm>|9s=%*uf* zs^rOI3MCtJ=KTOc~{T37*@MShK2KpjX;JS3)iZARp(pAAsPNIHA*83srHa{g` z9=Rz#AputKX?U9nIAMRH3;<@*c2yeN|5OM2*IR_`ZehNJY9yrp9u40mzldknnI%4t zuLrCyc=h}_xBo@W+meRhN`uv^Zx=9L1*>;5DOTnO;0F&6&%uKj#umV^wr2fP@JqdV z@}Usiu@m;3d;){)USKxQ5&M+Rv{&uz(Ysi_XN}!Fd*MPY(zM<0FBA+VkOmfk-dAkj zVl@=p$G(AWH{$**ZRr=oT#m9mxcfJD6Be9 zs%fXS85tQ7koT3=6BHCAX_m*v#-cv^*{m)9NP5$#6R1e0z}gy{?3C4$IBe>qGS=>} zjnjo_@3{#cetzHDY7WkgbnIeZ$mLfQ0x%3JPpTZ~lMIL}D|$sjP5IBqF%Y2J%x zi)DBXVSKdTXuT~sZoQ?YCDwV3C7QFkSaIsa*%6fRY*D8z zHc}fJ8eY6Oq!*~)4;sa`b&eCd#@G+iHLa>DX{);+^PWPiAPk%Hm1HLU9FjI21h&?)>!4U(#RJE zoN6{QN-wY|9M%`8uMS??m7f`WV=z+mszsy!b*CtY9xC|^YSfq&=Ah85;R_o^^+nQD z_gHGEuP3Wr4dA)orHJsV#;XTA4zc@FcDUbzc7@3Nq?j4(7vCg7pTuNjp!g#{cYxJB2oFqWD!53ati(#igYjiM7=( z<7Qmh!l+S03_j$WKUAAyzGPs)s!Lgz9eYsVXh&r1G@afWKOm;J5w6&lcmW?u>`rlI zAAk4oC`H#I=7(bfo(9V5^Mxskd%!TrPj9k~fgpbN1qvAIkgKk?*L~z@YgFqIAAbKD zHMY1=4G2Th&jbaDqLTj$bWJyYW+=D;YN7;D66tW-A)u9FK^XJ_D-u_wZTxSzxd-FK zwEAN}0}}H-X=zmM`*r(=8tHT&8dE`D6ssD7a<}lILVlSLmT+`*1i{@;UX1^Zx^$91 z8LA-is0SEMIQ@nK`{AK@%NLe~de%mZ3b_>E|10_Iy*$(EtGp{HD^4bDt0d#HT4{P-L5HALpc&DUhS%eqE4jzIj5hW@2jnGns6Cy4-#5sP4i#$ z!Y4294&@pM6@Zz7zz9Jadn~Zl^4hg&l>daiN;aqsRj6y)E$uyosTEXUW0F(S*u)Pg+LpxHi?jWUqBgeyPlG49@ z>sIyAmzFeibb%m;hC5@Oo0ASc1hTBc|P{CGX$2uM_(-d_ko3pyBt~-28l>;bxx1y6Vfv zMPo&qyE#d&p+dZRIAKTf*IJ}MCic|g9TJwl6M^e^*#qC8Qc2%Kt^uvGe)HC(E-e?Z zt~GA6v3Kv@#V(yz+1-^EAn{cmkUGj?`AE5oDJ^^J&y0jd%Zn(Z0=Bz=-YqWOyZUUJ zzQ|FW@bmZQ{63V<4-`G5btQKwc|Wr$Hm*lG>Xvp0zY>*GS-xT8#u0Q{biF9hG{~*w z-@Eq;3NLareB>}RpDgauV)i;MpCTpaIkyjs5iX}3BM-8^vA>Fp$M!&25kHlR>q-Ko z3x)Kf@_do{0oqVAHUtv)fJT^;9W|OOS-g(Dw%KfxpU{Z z1O&yzj@b#(@}yTdT)#dT#sK~u0Gsu{5ubztWbAWUk;6oGGd}SY#mW)BxJ03uzBdHr ziP8nW%~4=9x4jMkYzPdMUVoy8H29-5(dM`R`VW)zn<<;Hc_kfhntcJuM0bF`b=N*HTw zo)k>(?He6!NKKoboV5P@w6JUBk6D%HM`RRGUmIyZ<&0(JZq0fyyxBW|HpQA&1ZUvr z#z~SH*wV8nSdH>b+n`pWvY8?!4-XGR7G{8>Ae%@0NU5CDa5I{~a`I-Gy9i7CkOnC| zn!BszPI|Reu@Biv4>1fDw=`MlyZTzTyOoMWXVOGlq8T*by?_5P=#+^` zvnF*rb2{c(CYhu8{Yi0gy7>x!X0~jWiWqxq4#u-4aP3#j0-+(|{zH&#S(iDhe^x*L zs6l@A)5z;V`ZS@l+ZDI43uOz7fU~m#Sp51`S;<g(69naTWMHxW4p zwNz6;R!u`0qptq%=e0hKJEWUw7LH~4bk`2>(_Vu|9M-hR*fW@h_y#Rc<2iZ->Z71Kg80) zqW9akZ^Oe@moFbXCCN zcedTMX6;(U`0ssvFQadp!sP|0KIO@iZ)K-J-RVu!sQV+fn*QxTC!Vk-wYBvR*ve;> zmFP&dM42Cxv4w?&1wjd?qV?)Avx(@d@WRe0#GWdh@*e32tW1)@nBRE^2ZyaB*L_Q8 z3?84pFaGxUlZ)>)X37deziQKIMDo6lf1b(QIeeZQs3r8X$6|3eJfOOgFFV0>KZWy$w zm`*qVjjXI}!5j{ZMjfEK&1ZWH0{hj?tBbfD1Wn7{UWS9o@(fBzneIrNqs9Q?Y}WL0$zJ{4Pga(4D7 z4i88^?1!%!2VLBKMZ)sc1}`r!Z-Kw}enaUf?2v$>M3d_gs{_L4&h?p9x=*U`qoom9 z-(9E-_CajADLQ3Z6nrq90hgiIv_5rn4HTu8mN2ANXr^xbUw4WFTX=>U!7WL;6?tdq zw7U85K$;4fdFEB}8PNTxgKY6q!qn&NmjzLqB+6YA)HV3}N$2mK%&k3B<#`{43Nnh` zws%PcbY89)n^vxuW?=2f=fY3`-jV{Pj!Vvn)?kF ztRV3=Q37g)QZYCqO&nyFS;^&Xx=sYKhbIS>RdK9(yQtZ-IXrH+6kaj0N2n~b=KltW z=ex3?KLN~n19~7q0glg8Bag#9fOF-a5WfLt>w;tWyEv&_bd`$zL>7ce$7J(i$^}?w zUVl5^6hgZRO94?P?IFlDS)XN+d7NW&Tq}=-wKe*i(+LVPebQW zRsM6}@$xb3qV4id!{8ZClyuQq*MImBi6;sRq1(Fpf$?z^V~Y~!UY~zuBcA*Vo$RwX z{n;?LQa&IkC@461aATSvt0&KNtgNFY2o|^Sh0opHZmjuOh1iD*fUcldMuyLq9|`O1?3~!b%~?=V^4K_^OSk`^&+?Cr` zjkERrYLS#HQNq()ym)cOEz~I0b@Cg!Vkz!Wqf8si(ioj)CQf=zd_7dI#-4k@)>cdA zluB@WG`!3^I8yd}{r+9^)BW~65V|NQQ6X6?jLwZ}&iwji{ilFl>(fIiwTw@hjG31? ztmF?Rw%?c5f~R-bhP64U*#_d0x8q@UcJ_>n3?~jCrW5ZD!1$tNZf<_P!^zfkR;1e% zRK9goCqsJFW_tRzDOc+UU{{*oQx_mvGB4zzqo5_IxjjSS0-a%tIMq9hvue^s<&T7h zi;7idbD`RARfQN%50s`qQdC;#sk0&`1>AOq*N5-;``enHN}0>$*Zj@97?Et(Fe{cP zbV{+@Yhg$7doEU1{>y2(enCO>oLlikQ#mc{?RBfuJLv+J;Kft-=dGyP`{8l*xAx&) z5O@#wq`h|?e7Ehow!2l0(hv$K;fs!-&wWrI2J+Cf@ZiMl&?@0y6H7>v2$F48)K->t zikC1@APtg^r{1#_R91v+uaR?K#@_7a8X8c(1k-Ki@A^-M4y9uAW376!6aNDuPt3>= ztP5rzJaNS*qRGTk;>fNHgj5;y1ttnPp$hU@o>$W=XM>K`3D9eT%3u(XGGx2dTd-(* zc%U92LS`l*8U>tuKxp`OpQPF8KxG*|GI4~q3PX-(*mFds;i6swGVJC4(d&V&3RLNg zf&h>HGPxPyLn^4DrO=-+AA!pV$NeYLiJ4M{@i$$gi2x6|da3K1Xpjz}XuQ>I)6fUM zRZHnbsfYa|Vz;SR_H^yu<4N6TAV7CDk~mzU4Pv{(j`94O99iWmy4n-1CZNh9>_X;6 z2QCKKz^^e>w#se-d%ZwDBh=5Y7V5&uMYu~5+92G11aq>7$7zNt@h-xZqK2|1Q}`oY z3y=HcH`TT$;$sY|{vXl(v3b|Q`0IPU9?M8do~L7j>Y?Ie1>ea)nLGwoP!fr1z3e%> zVtA)%v*LH#gO=}_zzT!eVq$_bLK-1=Yn{fO_>i*ZdRCU-L~qE$FQf7^WgvB>QLf`r+nb#wEFwZpv+G%*Kg|0?aCQR?Wr%GuVyi0=oIqJJxjsE;%-_g;SRH(IO`(UHxo zuBfPpZXH9r@^g@***R90mQS2U^r4sPgP_8TgNNbP(Dq1ib8iUZH8%NzIW$t1Ha7Cu zyof^CK>A3g@Eo)5Jsmr=omKewS=7olxs~T}pbFq+duwZ-8?%&MS7b?4myP&HPxT7m zicTu%f+X zjUTQ=AfK#&S|%>?>Mj$dB<{M*ksWrB?rLnr^}4;#{A-FH6mjUZL>K$}5PB^e*8uCQw1#WnQdJ71s^1*O$Q^W=Pe4Idl47^LtO;^^2T zcEvGhHMNGJHQ;Ivv%3{R6`UFqpg3akz^j}}-{sDeNqn{9f|^g=%Sl?w0T71wKZE8) zWntIt9~Rh^aOdw6=Z+u;1sUG+f&hkyiL9G=(CaOq8{0)V5i|{Vlz+so2DgPe zRMPNgETonR;So5zr0u_)hUGf3K~+sH_wj4c3Q}#qVpVK4ppTBX<#OnTr$7kC-svN+ zpTR)*EIkra5@XtzFJDM4k5Ea%J3XjD6*($wYkB^>N`(RdIH@BEYY)}Q5IKH!Jx4$G z3n`!jTZYi+Rn~HF#Gur)&ack>c_sZ2(ZG(m27J1b4lXX}RZNLiNU3Jh9x(93c&G{C zWF+nHS5@GXcnq@=Nh1Xy&1xm*_LVY1MPowAc8cJHB!$7LhUgzYeLB9&V(zf!kw(Af zCZ1oYPVT=zzYpw+1i-_NcHJea$VI~ANW81e!Q_eGG&KO%5a=UdDY(j z5Wx#vI-1=EHl$<3v%S&t4WNP)Zp`l%8S3yj3>%1U^a5C1CWc_bqDzog?Ri=fGgzq{tA&~YcbX3OA z`VReq2e=Py5AcDwKk0bJ^5|J6^? zb7OZGc)`fmH>sEQF5Jt=g4^Cj*IM{-G*^}8jsWSq1q^kVQ{pGhjm3j#ARPBPE;e?9 zMRpHpN;lTfxmbwddL>GHnPYSnmoJse!H5QTD1N%kKb3=57Y>jP`W5BCXbXoe1Lti zmd}fftyx(2*7ESKHnz1xQSNh8At%+c=-{IZtQfOGN}unss`dTd$@*-ONnwjb6;8*!=mTR=9+{OJ|niJhjxbpbx_Iz_)g1CMe zBgh}7ZdE+rJ@ZrBetfvpDsT9Gz{DplZS!BP7m1l(m<}@Rr(!ZDFynmz*%(kRGsaB& zw#7)BpLbaIFYM7_`gLa_%%X<{LZf#(JBpsj*qrwrG$ot3e;1qZ@f$|((AetCe$c%Y zB&vhEb#i5DgSw5at*v|POk();2&&9H#r$Xpm-eS>RK}i6L?Bka^8~MwtG?;SpdJZ? zLM?4jR+g}Z>T4=B9Ay+>VH^86s$+piTwR|&O{=R~Sq)9!CZOtZVRczJn!`FH{3@86%~mk8J{43#+@Y-qfKi;hVoYvMW4AN!eh?tElA zCQ!5Kse{V(@VSKrs=usug|h5*8*Ee?A!!aSE!dOWscR3>S=g`cO2%bi_hIY3E4(MO zABU$MMviaxhr=V&*08u?ad z8;CwCLX3z|(_ms{r8x8+P6zC;6Mn>0)N8c~@M$1yF%FkH?EiwOlGohF$@8Id8=Fos zrMM`emT&z~XqJqf4>aWn2H9;>vd1ok>yN19tvSQi?ttV0`Rj^>!TAt6!kTZ5~`o$yNoj$z2&R!MaxGP@MV6N z-RcK*9iG@pev!q+#W_t$+l+yiVFd;0wXmp3YR@deN?=iFD3P^Kuf~j>LhqJl3DK3L zDLZfYSKn8?4!S&XgC~Y5pm#=V0DXE5F@h~J9!oY^`H>;@9Y@n}{22S2EDq z$M^}09z>TeGc$u)Drd5_auhqt@K&cjLJ$voyKDnpH$;WkVh6ndY%cvw=WTEpBKO`=cPOA0VFVw{mfU+kD;(g+1&>vCR$8Oy)~;kRdwZW z?LQX;VSRFW$%B0eL!GQ^Y4ddyEY5MqPt z7&p_!Q-(J2$#f0=M`F8~4t9d>&k1HTl!XT*q@T~kE$u+p38yVnDz*}OPX+wWW%*fk z*vcedjfIqQE5#bIj5;aH!MyAU6`!mo3d9jBaoccuqj}t0E43|PUeMj$ z8zvth9bO(I%l#7mg8dtN>p4~IR)}7^-CkwokVH^<$zaYL0w_?^i6!Z)5F1J1O16N^ z%RX1p=yk%q9wXJnD(>nfP@IscHG{T8lT3d48+)i_ z=tZTHASm4joz~5e2eA6yDxVY96>~wg@ilGjsUrjCzbYKvlP}1$J#)KOE|OmQ49r$* z5$W1UfKKi@f}X2q9|7M`)~H1e)>FT zo_|}^!1?3yOh&EE_JVGe3f$+2*LfS^Wp@Je)!#qQaMk8wN}T@tLhwO|1hbQq^Yhc0 z2BPVgJl&0X;*G+a_t5DsCd(Y#HGoPvZRU}-R;TJceYs8y;F6T5Y#iUwrkQkVA9%kUh?N?FD8!K)kj$|Z-1Fe}M*pB!`cN?Hw6-m6Ru`~QVB^;SMGUjd z6AU%OO5Q!Ft97zwK8bmZ`;D;R56j_~40d~qC4;yGW~{YFj-12-MxO)WqJnP@<7P(C zLenzPYV>5I!a7W_M65{2r))}pOrs${nh$3nBhF8LGUSPW`TE6+n`-hWCU%j8S|6D4(%rb| z>FJ{~&ZCaXr;_a7p=u&(T^2cu6~R3ePg^zd&4j*3J`M2xA#qzjMy_4%+?QAf;1i;@ z9aADP%Scf4^_`)& zj!*c_=(NgQebw0+YsTI2=;X_3SEASs$aIn>l-@QYkNXI88*>Y1Dym(nK~#=vETQ(P zb!da;vnUdkk&zkeiO0h;{ZqzIlO!VfgaISXWK#VfMfDdf15qZz-=SYBr1uep0 zda_TgB)qE<9T?tIJsQyvTIc8H3Qo2D#J*W{3HM`YLCBc=MAaPg*5FEa)G-xhtM-cy znV-0XA+FR4T=BQQ1RDDxUysA8VlBBB<2eHyj7}bvwG;kW?V}VTxuwdD7n~bOlifXN zDC~4fzMbaKvX$IN-!IBmD_7rr{(Rasz{u5AwlZK^B>|qY-uogmg2x&fIRT^t>K-kPazn329M4?n`&~MnVrEyGoJmkbL zC(*x8nU#2vT=h!huw88GVWxYqDB9W8g=xZfg{BI*|JFIIIAg=Y!UE#T%uzxY&OTHB zq^O96p=>Mg0^lG>g$ASB?Kg4kd2Cu;*_RsYM<0xy8*Ze#M0|K^B?D!%8C23%tk7Y3 zq6GzQ-_)f0;AvKVb(oVh z%aN=eFvNb$)wsvdof+Hwz?x_z)+X-JDqCskeqq6Pn`#amSvS5kCAhG#h z>p(3y0Ujs5O6_n>p9dAP^p=l4(rhSP!Z`aDOxFco%*h=dT-Fm9?g>}4SK7VV!b+8F znhD4;%yt9U_!@Ztr}uZwHxHf{Q*_e6eTS$<(|8$0{!2-Y~tJ{plY(MdCOfmp29cO7TtnN;&R+)gWQlF&E93rbI_H)Ryt1 zYttE+P2avJGbkG6Nd5WqM`)ols&SoO4pnr~y;Y#sLwpKbhRd4hxIi-wV<-XZQ-1sD zzleDpJ$%&2)Mt;g-QR^bqaiD$iZ&6}wW_-DvdJa)cz0e+&VHwY^*Cn*>O5@e+MPmZBDEiQ`}hpbmcgcIhxD0D7pQ8VV(avIdMnnY=? z)?|J2$zCME2T8nmr`Oe?KyEf-SsACC(_03=E8Go-ga`T zpVkRfFQ=qa4E@a0grcYw0T}CmNp1;BT=c^?dOM>3)0ne=XKySSojlX(2i;@T;y$9@ z6y|~d4Y6{X-+4omUsJdMT?n(~bn%4BZbW45BYsoRS7C}|nSZ*4OWmrYBE|EZ?O*NfG^gQ1jaS zhNZXL-i6-$yEAv3(#$U&H4v6kbZ~NFm7dW{*_xV@ef@q8>%d^ow^C2@Og?y(x$2iR z10So<_59sL_jN(AerIi0k)1k=wD)cNRJbKpNcZ z%@ywGJBL%R8isf%HJD2CwIlRIj#kE9fCelr;Y$GT5MYcSy+-dm9_(ZID<^F0M5Nxb z?3a{;;cfvvl9;4`hTT2M4{;aiW8CqArek8);{cTGI}6aC@@)>o>V40pjOd^v6hj>u zu5%zSZ;=*c*9kn_fPz=k_ylXU)h~DueM@}+i$BD^{@#P>Fkzpu7tvp|=W{rv7-K%3 zq8lli>MoeyzCw6rgC1NV#DJQ@Pn0q^S&IQ=1uJm}+mYXUV zQEs7xH7(qZ(FwgA8!+`MLG54F3K;hwjOt66ZAUKH{S&tu-W40$-VZPWodynL8M`hO z8J&kmKw|meqcL4!qM`q#zh6YbJou(4>~E-LmOyjJT^OjKxFnxPblequj@FcVfxLzq zXhP+&&&o2O;Kh(zMz^`nL5H2Y07q)ddC$`qhLbl|>tq>ZQwcm3JiIE^Bl*4RuFm-j zye%*cG(J>nir`NP5-0VP0_jtJb#kJ54&0lt&tgsWG5&JLzV&0<6VpQRHK<4W$m$08 zY;gPq+L}tJK1DAtVD_I?_nWB94e2~9POF+{Guh73v_r(3q|>M6yjt^Ggg`BS1fX)j z;OsXDlS4r#yz(t>JM}RuAyiMq>x}iqiy7J5LaDz$&3K}a>XX+fy!>(ha)Ud4#fk;78MBt+4yh(O4ZDo$YFAGtr zjejwFoiK*(yoVniMHdqOAXy%UO&up?a>3S2NfC9;lN774kPt>)$t?`)jJCUoMOuwa zfHthLNG6OI&=G&2*l^<#$NSe*6ds<%P@k6(t|+_Nf_pEZeZnBqAKGIz)#<#*Fi1vC zDf2rnEy z!ReAegLc4t>Q@o0#a@4|TO4|**Ih)>AmCgCg_(;Bq249YDm15Pf6ku74Qg-bs=sr` zmE+t@LKe&c8|ohOoJG!E(dbi`M)t5qlQ_zinKh{j%Ma>nE(V;~CndE+wAP>Lp6EHo zo_^nMq%G{r(}_=Q^egWTl2U$8XNbHyIhS_$&6O84ryu42ySqZjbh(S zo&JJ3U^;1tetu8_vy4{V2MEU$<>Pi0RM1Xb*2;`GyC3<)>~VRd+a0XDs<}^TUXPK8(W`^4xKPC zD0VsY$pWZ>a!o4eOC`3z5@&XIT8+7${E(q+h&kYYh{1-A({`hmBoyd)Z3Us7vibNLLc}2J4)LiBs($FgX=tSx>jaAjgh#`JG8(L08MdxSoGov5c z!?!2@@#!*s=cA_ZsP@Y3pZU>)(b$QLYs&d7gyK*lXL*%L$;hBZm_xU}X#~P}zXrAC z$U(w{-0xd7nUiCb*M(5)%DYmcJ@+}z0A?`cIa1iek|IR?#H?1FBmr?{LWO@j#w`-g zU|yx&ny%&VA)8a;y)xh`ZE|;M&VBSPVRfZ$%5PyYK`5t2V;9yFVKMaN$Ii}z)en}J zm*s;mLUzRfQeC)shSzExKi-VUK+rH*0w24&o~*GwcI;lkJ{wGm+M0D}mmLN=o_rMW zrS#OPQ$@0;gKIU>u7G*vXfskDW!buQxUcWp%Cc8&(zaTgW(6OM5$&hjmAn_vIxBW< zfc}(v>VT9~y5CF-A$@2{N%54^sIDBZ4a!p8r3|-lw33haLjA$DsN(yH{<12s)(f_+ zsd&|DSY{u`y>YIf(GNiN`UhD-TnQ6T#XH6WgQuul1O%YV z2Ur+V=$ynFD_SXKzI@7l0)r|o{$5=LPW(lED+u5e3%}_c z5!69W=DW%>P?l6wDEx`kR1>$;-!ov^yJz=O@um=)lo4-et*la87H+delcSpRTFMLA zS%{+dj4~}3=K&{4y!`Mp{=tjDqfbmY^gPxZ(~&EZ*BekJ)1*uhz&jj5MeC zq4@J;N)wjfM^FU<8Z_oGRESs{;HH9qO6SmV59D49j&mC8iZZ+47Jgcu-E+jvJo}Fd z5C)54pk_oG{(#L3(2^8Z%>_C3^qbNfIr=4Ewd~gnv%~CzN=UpV_%P5&thC+sz>&O5 z;7NwH*VaPuI$dZ?Kl|ZBLbA2<0tU+7RzUz>-wo0z%#n!*NVHagClbJsJ*c!eL8LPz_r0Cl>->g+54>WpBq}W%@iZI zC^7qe*~paf{hO`V)0o#yU^)`&4p=R7jV2=(I>2uVw3J`MXT_kS%dSf@y?wmi;YX(g zSG{2oq6e6F?8yBv;!3zcrd15cwck*v5Ia@Y!dCPo#LV_zR}K?n9~$u%@>z_B(Sm z{7~_OF_hKVMz14$F=Yb!!Wm3t4?xoEglDXT6eTQWmD!Pq;x21XHCmKTWT)-EY4CkXSC!RiMnG-MU@b0j1r z_;23E8{c;c)H-(g*Nx}pp_5$P2P+w#K8(MK9j?r}+4*a>DS49=H)4)VCzVQ7ZtUtR z#}Yv8x^v&zRn_6o#`As#O-P+AwDfb>uT5AMusY!pQg$4dmX@Xr;u{>#QL?d5d6kG#0ARSzH&r`Yi(^`+Tu3Jwm&uIeKRE_4hXtPS+zNo-4q;bfeYpAn)LM?C5#E#<_?#tP`ikwAb(2^$^<2?zW_2 z0Qqze^ve6x0?a@WX<*?bLFC2M=^7jR@5DGT>LYj4&(GY7P|(0?<;yilD3~d?(IyTL z+)h~k|NhjigI3UtwTb0F@ptkHR2={^_O>s_Fn_3yAA%t!rPQ&MVF?G+zEzvU*h1Ji zM0ct@st3g0E^}oO%tvDG1~_oS8nJEgU`pM8*(BPQ;L121!K&={`KQ2Hcq4?v;@W$- z0_Ab5V{4-|QYr9y$902H(xf3D1kcJ0P;(mUXEIG_Yt{5Sq{ z%b|MfXle0+${|Ceo`>N20|L-+sw5499IE*?EW){8+$WA`(W;vt)7HjB-Lsf7LIv#a zLDM*zr6eS>O$t-Kx!`OS#F&)qcs1j_7;TD|LNsY{)VFlQhdmEEi0s`nFffoF+YS3{ zKbCcQ$QP*t2U0!q#opjwRU)$_dc!q2r7AjX%-Z@CWrW#NhnuzK*PNWhpkKjs<(m+k zt}kNu7)B)$lsbYa*RK2gIlg48oqRO)&eY_jMWN};jQ%rMNA}jS)+4P|hP9T3{{Cv< zOF`@=J>?*#aRDM=6v+XN+K+${)R#CZjO_4T+LXRL0f-Nl5|Z6(@qdQcp{-=w-)@W> zj~a!;)X{Mx#U_8E&HkAS2JFD|z6k@5ob!z`>1)fE7B-x&)n0mh=HK>&Q0X-NY@*NM z(kh>vr%#{4&)j1;xmfvI$3@#UyfN)-dEo<1d)2=@7GA}TNH$K+p#P)OBhYAZlpe< z^ypDX(&{t4S$RZUBH4NLt7G4yh=a2;IjZ0CnnwgLz9ykmyP>q|-&UsmTmq-h&{Z^72RJu;C!cuwbu{+CXkG2n z+YZt9(~=gL{hQR79Mdn;Q?v;-@bA0 zcMt7}eIWjSUM0Kk)rY61eVa%cM}8@M=qDUHiyHraR;V1MxBr6~-N)+ASd%JN{2lj^ zf9C-x55D=m>LFv#N2MxaW+Hd$zkfkhKpY^e99wZsWVM_Z7aVtCsl9UFC}imS)~!N$ z_Tm-q&CM-(OBJWNU-0{35kgAkPgN3RE!uNq)?!>+WVR7W z%}i+1!`oI zad3|%9odBUx_Dfv=h*(*w`~1^Dk%kDCr%BGn;*R1*HB^a8OE@AGyV7C70mB5wlhc+ zXC^mtK4a$C!NDb{STsJRJEB`<(AZp8U{$u}LJoVAdAL311I-2o`sXW_P45?!zk?R4 zu41}G$@&nSlow+%e?@Y?8N?a zD6(T{?Crqd>9Q)0Q;*M&fA?wnQSmCm_Z72af^?g0an9RoZ1xYmOb%L~GjWh@>T}-N zp5hc`DfYAH?4y*gqh@0E)z)WDk}8{0?j)@2HF=wmuGzS&yxgO<_vusFXrrtXC58|0 zh#4`na2`nNm1X}V*A+bR^PJ6<8ht~?e8uj4_Lo##ZynAP95lLkpftFb9N?I6k!Ef^ zTAxG>x+;fW1(WpNc=YGQF!oIG_Z{CeS5;LyU0+oCM(0em`}Ab%(0Ce?yd4a@H#Vz@ zMt!^dw^#6n)1|JbD{f8OO`7=_n^x4@wi`Daj0s@fXZIwp*Ijq-9=)3D?>7B00XNds z#xCi02{ofcA=PmWPANl=jd>G2dvYgKazm5$u{UqhH9cUURUE@Q`%cNBedX0R*5$cb zm)x8#SjV5g`x($%zpZ1`Lt*67>JZZHKP6qo7H?B+ADDG_OL%#PJW1cw`O!3e?hed4 zbCvsQ{?1+H?k@9jyIpqw(HhtJg_kGkq?Np*<9VXDdHLqoEElWg$3JCbVz;<_@pOsl zWX4MF8}Z{Z%aq?~Iy9PPcqsBNUpFmXQ9qlNTxjuSO_}^=YgmzYe6i7Vy&EZ19yDRt zSvoiz@kxAGUZ;#xA;d~VY0*XyH;UYl;M zJ#7BjNBdC3Pv_j)-)2vJe$|r`hP*u)?*#@Pkdmo47It~Ctlg=4ejrkt@v-6n`69EI zM$1*2TFXjy#T~Jx6Y^89-71jft#=%(oZf$Q`RS&Z_dVx4J+6x+zqxv~!|h>66{|vj z9hKs7rrqTBNeQ>sm!sq!=Y?d+niw|E;!dCb8o!3$yAHZ7jRe~B%PYYRarDlAve<~} z{1ZRMD-VkuYo97zr;NuR($XC(+seg@R;kp7ml#jaU-~TXecy92+d+PRM~xeXRBiL( z7&CL5YfyL?`uw=h!(B3spEJ;5zR=UF}1Q#JARJ9)+ZSCz-|WP914nGiz{;G&eSKeHeG4Nu5a z`%IGCr6q-b{JB)U`;Gnk?FGJPG{3uK)$`?9rkwkE+Ev-5cSZ3Aw)2&Q3NtOCF{{^?{^D+|B-#C!4&;L6NCe6j?@<*4z-)3za+Y`UIxs43dLv$(o9FJZ? zft`yL3)81|CBC9#jM}^Hk9p-&&phhI=nPWJ$M4psc=>qUcsba%RXQ&3#qV&{PED%s z-5XsxV|d~6g1N?ISGEF)d2a4|!>3ETOm^|UMmO4r^Asl*NO zozBZIiiJpFE`J8}E*d}QYsz{tru*a6#Bf)Jzp>2hXv^k=U5NhYUhHNkqPOzv3EF5c z`-F-&slGa6RcIN>vP^g)wy#Li`Fj29Z-|W8=>;YlChBuPqx`{#4~X}^?cD7w#xUv2mN65+4Scab*BBsYe zuhHgDsMq3wmQk%Qxcg)YXgvR zLKAxpHxakX%{PDTZI$ko>bn8=1~m>Vd9LI>7R_K~nT=m^8MWrhp8opXXRUFB>4ca2 zADR&6O^ktG_4F6--JO}AOTa*he&?4fGLO9qr~G{XFQ(o)E~>6=|F$pyMd=U_=@#i$ zx{+=Mkgkz#5CjpCE@^3L7+~l@kWT4l=S@qc5?*;d7HRHKTUke;|Uk{7R zjGc;l*WU>PZ6yD>hK>KTgT7k2!0Sdt*bA*ieV_O_0X^JkBfc;0gR+WQX<8_UJRo<` z2zuCMuKrQzJH2I7TyxyxK7^cPKR16+>yDpQ)7cW^1&^pS}C>!`|&x zUF}mUv$pIo9H`JoERCl>CughPu)E^eiSWM`%Jhu+{#^;&3>MU(Qmub!K$D^LA%eNZ1LcV;HX4xzxJ}Gkl(aIq`R^Ian zc0Q68dO1#ER<8S00Bum=VMd4rrAY;`YVJccqL`qi2@~YUXPh5`w;|2s35*hQ;rDM0 zh1@{qaWK26-$7WIVtK|SxK4F|BKsdV{X5hlb06W|YtsTVz|z&!?BQ&iDE&c_RW-b=cm#&Q-{KnOZ3>W;w^m-vFECWw?IB zr;E8YcEr%PbZ8dFtr?5OAL(w)YVwbd^eff*BSqN2p z)r7IF>uYJ0<>2&?RTz%8m8ePTo`1Y2(qfO@MMyx>Moq4*op`{o6p9ye@1D3)YCX5r z>Qr=Gef;l{T8H{Uwbi1g8=1byomf@yZum*naP+sSe(iK`QV4N$zX=>Q-+ll47y_=9 z3j6plhtX*2VGn%K!%8E@Gs74G810t1U6aqk-B1mZ zWYU2!O2H3uQ=xo-`6lRw@RvhSHkqPyOyA@hbTlsui?y4*ddfYWRR<6d}PM- zG~9v3_j3Dh167Ys(b$zR-qWzBIw^zF=hntXzxIBP!Ywnri<7QbG;*Hc{sW^ZJ}ls8-`qaa~jenAD7NC?qSH+pCxr-O`frd>I(ZXhvMbr z&&vm{I4)3Yn3$UILC+)z<^R6^TJ^Jc@t8dy140Fk+sWtsIANQbm2Z^&RYpVVT#pWR z@2^pac!c%ibU7`xdkNMPr-65KwR?GAOAwEcKaH4ta3vntX(Dx6+w$|J@4OShCnA#E z6ZeR|yW-quUy_mjuKe&OthvE=lLzdUotWMVA>V@(dw+OjW~z7>Lcj?Xivs;Dja&X1 zWFoJl=2U|;wqn4%BZ2Ptbn+1e?O1`B+Zv9+N|em93JYa~dTfz4KvoSFADwx`P7e0W zM0}o)v4AS2l;>&(DbX^y*bmtsAA68d3ahBCD>J6$VD+a?(Z62{j>ceN>7KdKf#%AaVL{6_!79}^Pwqf$<6y+6B z_5<6~hou9RsH;9#aOT~rEbd<{q=!OvYJ%IuBzp+9MRHkzVdeUyqrDyHt|F+gc?agE z-<*NKOHdDd?cZx#1P1_ngUX0DF>s)KmN*{M*5Q^SSb6Xu6p!}h!gSL$@xuOsEkAiX z3)vsMI`gf3i`g{H!8**z zw?!^sf%9(t+5Sqz=jUzZm~wFF4X}o_E_HnMLGc|*-if?RLfW3ncMuiu{tJvk=;vFc z!?pjvA*vl900G$QhhQOYkT9Q!_#C7yg6hfqIDoy@`?!5>^yd1<{4k7v#q}jx*^e-$ z59>@{uuJ+J*Vrma~3N@=HssH@TEbODrjU{7sh#(#?!`(gl;Mm85zY3sjKg$D>5Nr6wZ z*EiJ4=EJ*cA)8BWc;p3RScA)MT4D}Kaddh93kVagWZ=!qVc)Nrt7%l(@0+zka)NYr z^(UD;2{uM@!;8acAxTMwh->%d)={$RbRnN>5xzjb!h;SVf_&xlu9;Wz*LJU+$`Nqv$vkjyeu^O+PmtGXG2+GN3N2RQV05fvTAIQ z`Kcb6%?o{b;dX*x7@n`S&#G4J9!%BefeY0R?HVe3j0w68vvrV<@DDK-ZV*=TCJ|YS zV?FKUfr)6N5+0cE=`%@QLuS2D-{E?J)y{6!Dumx@@~EF|J0K)ivY%s;5U;Ow?tU07 z?1X5@#WCysWLGr1#DVa6Zcd@4ORxMM-1w(bf{)+%^25I3i~s-D$?O2yOXOt&@4D*# zsQQ1t!`adn`!wMmbh7?ETlE9veM#xIqQvr(g_AsB-ffv`P)fEY*z!EopKtrZJDsq7 zbA8c7GKWvj3rr=ILN#!v*RGEbkSH6{#CxWLU)<;0NYHbme zXOoUWO-Y*8BRRm9OLqfBm~iW3E?du4ATn1Tq(MmaZ0Rp@}_uj=o;`;|cr~Y#oeESrv*T&_cNrSM{%-Yi0Q5Up zzyE!O6|CQfgU)A0hA{}Xl8}&)A`uG$e~I)TxcfOHJ*G+E52`uS0i}@{{=UyFf)CRq z3$&PYnhPI;J$wv`K0B_}V@GD39DoL~;&Iyny?zHo`&J+#IU|E= zASM$i(^8iK6w??Gh7;)8$Hu_e1_3lVljR>ffIkTM<;5LFet& zU`O1&Gcp+SP13U)xsWf^_)pJcMI}*g{DPB&nAmo#5EXnGp>)9B7stSvW4rmnQZmW zDzJ1n%QFb9El`u@cG^Rn%{~9L!4sOH7`~PuI$_h#O64&{a6(s?w84`C8p> z1(^Gic%c+At?UzE#5cdY>kDl5z-*;jAm6N|vNH=H0^n<*(debc#a5H@ii#r;T?bTt z;zVH3x&cg$hlMsHz)B1z#Q!h>#`#Sc{gM<|Ax{}F5naqDZyC;8D4DZ}yn}$;;c%tP zu;H6tpS4*-H~yl$+T>K9biZK@`mm4whO*h}iig_c|K3)X8%-R%01b~v< zD%Hi`LkwE`?FzuF=A~Tw@mMrR+WJrh1+_oSqNj!hm)@=d&+tsxTa=WxzxfaE5N7|6G3?wm-*ypp`;O<)ShP~uJ1pnck{}3#9TaX`t0R->Y7o0n;v;YX0eYc|s zE`s#ir>T95dW@v6He^XHOJjW?6Wz-F8`AuQXS4 zw0uO=q`rCeFW)Xzpa10=>l`5|-AbtQXYgbs-j_Phef(oz(Z)e#P~|-p?3I83&)e^+ zz`z+28kV(Eeo&fPE=sMkgYj9St*uo8<6#9K)2p9pQn3IwsC0ddOG0o#{f+fq)i@Y< zX?Wd$q(T}13fi};1CBSpHo;)S{i$}9uB zu|Z%o@R>%enb%1+>OhmY5+ky?EvKE2(9`_6`iC~@s@6R!?gr=~JE`le}ZLeFP0fhMQVTfAZy>n%_ zKs8i0{|QC(;yTZd21Wq)J3zozXmehyqpmuRk-r%Pmbe_{`hg@%Qh%iw5r`QWfm$ zw=R7SOqL2DXkAm;RE zso+5L)ge+}{GscZW)7B~7eU06n1_Z4a`zoXS*fKQ2TyfnUm8G*4pxsVf6T;l=H`CG z(-qC!JRP(LO_!FYgPCnR*5LnEtzJj=*`_+Gke;ZaR!?(+>Cc*KeWH95cBAYA4b-sI z`fmpFr{KHHTinVQ%SS9q=mwJ=5zIWdxI<_r#4OE<;o3m@OOwqxGj8C$gVqq ztE@abHZ3Zk1bO4IsylJSYyFjqJ{xLgyle>$VkJ-fE+EwM_+-m+hIAB2*wxdU2I?-~>!NET^IM)>R_8B( zHT0dO92$Brtr@?HA>??YQL8@N)MHj&y(+IZ3f>`(q5!r$uYw zG(QU*W-2xG+)|fA%t4*G@7sS+FLDN z2^}eCSd4Phho=30T;qIsG&MU&Wh|tX0ktx;>~l`*3~KVeF*z2(JjTX`Rh1-HiIh6N zjq<(AF4Z3vUk#UeFRV%K(wUqNmgixKA9I{Zp$nO2h9YHJC+m)O-`)~g+V3}995!6m z2k-9db{O5qBVKq{2zULsMb+Fe`Uj57-sB>wzs`CXInpbCe z>OeLNj6ZeTY1Kx+zIfS(N){|5S5%io} z@(@$;y$dxjjYgnbom?Vs9+Wqv8?AxAQBRY-gHq{m>^)SqWu|gjp>&e-PQYv4R}64 zE5-TdjnM`Wx_|}r$3z2k4^06KwuKTT(J3k@{xEP9jAPn0tk6vavn9|P*eHxZ&WRJ1 z%z9oejy@9go6}an(=9YR3O=Nn`&ulWH!w|H>@x8j)c=Y1F%gXSFp!loq!^H3^D0jojMa5 zYuy>@*=F5E0gDePm4NvDIW1g;!*W#;s#(2UH{Ac7u{&^ZJfzD#vvQ2vyCl`K&)~>WsT0s#tc{B<=W)PIL7>B#bO#H7>QnX0^f3ol~A|yzWb`isz@( zGOrHT@=#SdaJPU^tQRj;Qc4QwoJTt758f}zn(XMdXPAC*-)>bqt+YUL29*-A{wW+@z7>isMDNa>q$@(QOwNy;s{%j=hvwF z7_oA_3caBF(&>l?VBaHu&hkBsv(x0`>h9u9 z6-oX2Y|5xVFITuib+KxDoww|%f{Ecfo@~_nOXK61G31my&o9Bnn1Slq4nN;BH(SFV zSk3l>Khg%$TYUX)KqjV9*nJ(J%xyzRLD5f0CkJwPfWim_Ofzd18Ql+*#U%6&#bjnD47J1A7E4NDNmkCV)BbTNri~zISmCexGm= zGsa#c??c1JEKmC?M6FKR!ffy1TF&|VVB_*33DQ?!|Mz4eCSRdEx0+285;v=UiAQ>E zvK^3~-c-)~4^{Ky9MZZ5O&`ntBpE%37wT0iYPXgmT{U0$D=%-{tP8Py5o*PFzFMkY zf6;1&&tkhluzeZFir;O}Tk+R>l43-CKZkn*e*BJyS10N?{h0<@v@5MFc9}^Rz7#-? zFC^gfX>UY=$vIo~@>)XxN2Jjc9%L8)R#9L$+NNGJ9a*+-;SG5l+<;NXDp=;DFh0)9 zUPj9(27%nnH%qj4SugJF_*|Vkq-8VY9kM!V?zNbtCkM|_>Jbtp%-?}Ku&>QI3SsbC zaD5L^Rr@?Vj7PKy|90}Jrl~S{M7fVojX44LV!BI8+pn>14J|wQO^LShStVU5PVZ4; z`gw>s{DQfLn{w-H{HJmDck~whgzAa^QgFY0W50i{HpGW@(#t^+ z10w$D@}9iuG;;4;vhKyG1&(k?YliI84ni2z((p$L8CcDFB_U~u>~)^WgqNl5UTdin z5o7))IrQ&3G+kIjiQI*)WEI>Oodkx}nt?P^TR$({mfIO9g>%54zJgRWyJ^jXnKV@l zBrvD}YIjNi&;lasat^ld(gH0$$Uc6AadU~h5djKJ6WvfC-}Q3uL|lFN2_*M%%$sC4 z0J0pZ0{X6gEco6rRH2P78TZ&$y7BGxOQXZ8FhI91tzTH+H(y1EXJ8zSo?O-Zsq&c-%F6@$5 z1sEFV#6r1*kn^Lsd<9XQeu`W`B%hnDKRxX?OZ%;sY0s>=lRBQA4d{2^_=plEH$$^w zYS=^y`*FZOV8K@jrjNltT%0A4uFazX@{^E;qKTTr+-9Jr5fG>Y^3yLdB|vt0>(i@_ z9x};tzk9G%CA=4YodqNqcLz!Xed7txeX#lpTDg~Uqh_OXdQN%(;TQdj*KL=5N9jFJ zX)YnZX_j={KZ5nVu=>N#kEv~>brM1X2{>G_{7apS7tuVpIsX(FXv_)M4Ygn3QjWF3Y%LSeA?-m&eo)7+Z&kF{7kcqxW2x`1GcDg7^p%9b9(Mbk z5VytCbpIRq;ahSAnbjH}fYDmbgQ9F8dKa{T>SD+JB=_qtDV0iqI)`$=RMKO($U~cn zhUZPcf!^5g#lh73!G&hq3|-Zx2zIxgQ}Ys1Sa)gkC&*-tx?Y4Mi&<~#5z$^#+VvzI z%Y$ixSf8lps1sWG;nMR`zu2TT%(g&zzm(clzfC#)*rbImKiXWclXK zzF1`MnWn#Hk^h~aXM^j!)Lh{|oasv=0!bm%fprSxMB-55lIXLH07otA0uY@A-At>l z@t4=vYg~(qkf>W#b&SaejBxA&Ec9Uj>)`AC6FZdEZVJSNrVx%L8H7>x&epQ!UUZeVBB5#NNIZswG7Cp# zWS=7;$#zeCwne&Tmr|}%I%f;0YeN$AH;1t<%4`dB$GA?b%w{P>SdfI5oYAa<3~akc zb;8Gf@d7aG8aBk9=!t9pX3e^(Yk@`?d{s?-YtDSCzrV!EV)7gXuy-(8MoE<&VL&e0 z96gNTjHdNET~7Z?jEBc*()tZJ5N^GtKmp!mzkF*=OH^=n?#*LIx>53t*Pb1Fx9NF~ zt`8R9^n#|wgU&T~88193=R~2pYis`dqh>42Wb7|2~sG-jr1(xy?M><0Pz4$JWwHSyWs^ zSdA-7X5dOm|4@+4OTYG^GfRUnop7VOdqf{+r44-Sgyp*@@q})9p_Pe2-DC6!FNdZl zoyz3^UxIC65|Q(0%=&Tkv7IueTaf0lxQzPcDJ+B%Ag=Orq*8wL!-2~}UEQm(v2n76 z<_Xp?pTDeX(ATdIA3V5PY;Xd%B~quYt2p_K%NbWLfO9T{1|`T%!GC+4?wc?( zUn`N_xf5$N1m}ugjDd4_;)Yadaa`&W^v#TJcl=7m5iOo1SSejCviQrwgAuQ^7}B5l zMU2vgtPjs+BHIq!0A)|b`OqQ#^e~Gmk7zaw%w1!FrUQs)bFGA#>NS8?6`cj zwo`rg$+D}l(^XW4Vg{Wm>$E=+Kclh6}smsQ`;kc&{129c{YwFubfSM*ot4s=n1Xp!+af!! zK6BbE1}+pLDQx7Bg!EMB+ijz~>SESBY-$zHJr6Fqb zTYJ@!Lo>a9+X`%7aPo@iACCq~W+(#@PV=9+-1)aU&Ese59&ibwDCAWYuXU#>1_YyA z0y)E0m{?U@TP&W2yCTPH%gzxQX7Kd%L}#wbT;jLmqX|b=udC6IvB==@y*xhA+X10E6DvJ~3O{H>te2CEm#HJwmduyyKsTja- zU$;#w{=S`HN%;q`UzLB@M>nq9i4l4w-=pwgN?@KUvzKJj z`Q+DN2r4Ltfh@Ct8iva+bJliTskHOMgm<~Ax+8d>DB=P+NYP25nVoj(VsNTddtgw- z%8!ZGn$Gq~e4%Zjw{%?1l1;BG2)#A`+h>OxS0rxei6Fc2Vck~*xZ*KG)MqN6K1zuT3v+}*`>ZI4 zi1a*biUfCxYgs?~evKoiW@emA8fOyNPRJ!47E{@8L|T8){{bhgK3<+5$ruba)ALIi zJP~|CRi5D=XHl+?HWkm_$X9SlDFw&0Tn{G%=^i;secaPCQ?+5<#?G!0WM^WY0(2LM z;)Q<*1%0<$Dib{uFtbf0yap5`6hLJGV-nsDzDl-C6d-r0mH}fT@W_=1b!8FLf%Jk! zKrn^{y6x}1$?GeEAndn%Q{;H*NueW? zl1ZjXOI*j7yk8TY41|`@1;t*h+QEU&z0KtJ;4Gpv zn3y`mQ35x@;=L*fDJh$FnbF4vPz3?hc<0uw1K@MGnD}2xAzxu=*Qq17muIZKTHeLK zgJG@o`q=Z04+5m3nNA{WRIj7%4&1$S?G9?~Dj6i@v6|+9i>s;p$XoVS`p>G|@o!$7uTZCR=xMUy_Zotw@^?X|vPlkCTG^g{l)qLyGWM8HEX)`r6) z$l_>MX#ABB!{?{3dCHfa(9D4ts3ru}R-6jliU|H-D7o|bO=N^JL#Jl$3%x^TU!g_` zQSkl-os_UUXzxTEfzw)#Z@#NVgQJoHaeah4iasfdfSts)j z#tX{P0ik%CcO4B&DB=m4x17nxvlb|;%>r|_j&~PYitxA|VzZu>_-yf8e*THvm_*yy znC4A_g-3V@rD}1HvjrGXQ2<6E2Dr!|HM34AXaQRi|U)HK@&Ie)xsuuaf5bazOi~d1Cwa+ z<}=>&N>6%pFXy74C+(f#1;vufMG+0Ym5?}Jk9I=LGH_z8UCuU zq5v)gdl**TVP%)&*)&)#KGLBOs;}G;<-D<=i_L0cXkiP_BP5 zqJ!%pZO0L;vRZb^hvvAjC_Ng~3G+SiaT?2h zK_)-SGBQw53}CFE0_9A60N~&=cJ~#4#5{g5^8{n+BYoyakLD7bKwT9<)^U&60DvXpQv-&UeqowH^hn;^-N!R0?eXT4} zu1=UIf@99iN#n)e46QDO&Ok|UC$9;-V$#*K;tWA~~1QSu{mXo^)du5^OiOUYI>B1>(NHAe&@Z>!t zgKp(R?W|NfM>Av<(dYac={U)(K6&1VGM^ne^Mf^KGEmnTd%oB+Tl2({4E}ma!B6CT zL^YrmhR8Tr|2V+l?z6R+s8JE%)3ixOBDmTIf$LPyvL?RPH_;F^vQF*~on83&` z`_?we3qo&`4fQ&5t4LeE?5M;bP?rogCCC5naXVYfJL7p~MNSa)%dDcj)+~%7i-5Y> zstsGQSL_NAbk3L_a)X}j8D`E4#wcJEws>pe^LM7oD_NlCr+HT!Q*8#s@Cy6b!^zUP zci<+MvRAe8A-bYd=YulKw5Kz9`qm|yq9Ad*Kf`oZ$mLSyIRR>EsaBDSl2W>7dV6z& zEQ!BnqQ=XNwZDn#v8T`4MR-X0pmlps=<%^o$3Y@24Vq58zu1)cuNPKJxQqDN#%s>? zBTUYJvb_?IjC47f>kn7@Hto&Un7IG=Zbx8GI5SGHZ?KU2(#e<8$7A0>M;fcjv~BVH zZVNc-`%L?7u62}_tH9_vJP!w}xtuK3zqmZasd3*zXNDaz7f^9udy<+Vb#+gm4I7nC9zA4oY1CO-~VJP^9Dwoaycyt0UM*t_dUR;^?TlCUD?4%|6N} z-Jpvf4}@+`kB)M`c~b^RsNO27BVZgWhA~-Y5Ar>5aBwieL63lxv<`$2RDH1n@Tj%< z`R7DLZkO<)tspv(Mg<5dV6?CS;u;~@IsjHb8My$|6SUAkC@7G$ignxYqHamTAw0Q% zvhD7WU;rPyC?TC)kM^qK&h+mzrC}xp5A^9#x!SmLO09^=$gJavAE=3tyL<5(n{JU$ zT~!_*;!q5~&#UN&f0@`HP)dnV-iqsFIg@j&Gp9sE4&)*}wH9bam{$1aSOAG#1w4ZL z?dlgvrJdRuzhYEv!VzJwu;uBEd*&o!^d@bNev9jO=wX#y_3rpj`U4a%$SOFxOlRY; z()*uD?~9xOc8>1&QM>l%A&E)vb48oH{kR<*)ITRl-Tg7~?^kEMhr=L;zt--AI#XXl z!IA4}frL$w3EtAn8yjP__nNYU%Uh?^z8!48`(Nc*{DPPc&)i7OSrIrd-A!I$tOCWs zv34=y*lEP;YB;oG^I6)eVaY>1NB8UBg28y$F3yY^<+Iz0M7->5D%DkqVZxAtMex`N zwxg9*9*@z~OAo>;cuA6NZ0QJ2)aq=+O0{@LQnu4e6;^mSdG~2J^rW2KeU9!azh(cZ zmuKQLekd`&@O{o0Ikzt%VyTs{BK|K~P?;CRjffHQV-ju)MbK|b$cr29q>`NL>IL;z zO%m7NBVerIug?c+GzD)~zLuNeM!&jpv;45M*N&$)&>fv0Yflse2W zZ^QZr@quf)T)cKc?1)^ubi7Ej%*;#3v5(s(k3%Xv25t16iY*4=y#xJMENT1Uk_URS$~MzQZTNlHlwtT@vKCYBnv~DaL=M%ZhW&gAF}4{pt@djj zi8kPkk-sxn7>}sRv1?O}&%tC=S`0s5$8$#;b~aipKtIk1~DzIn5pm&Hj?9~ zWp(0pUNXB7&l@6g6RQkt6^@6oq`^q{3MgM>@{4dS68;8pZ_ z_RlDNT-i{c|77v7ixN`V_ro-uGd<(0Z>yNGzi0r0)(Mu2-7zsHi{yKMw)yk-AIE{UF?L=eU`wyJL!7rZMMYVv}F^f^gy@Iu~G>PKFeb#cXVL>!gXA)(*n5trK) zmzMizi_BI8oPdl}hNUm->fSN-ai8$vlqR#yYE(iWni%hZb8*(uzm zxQWhx1?t9yFiHH1uEAmT{T*qbT^b%%S6KHGuZa7{-rcYMoZe9T$05#-XU|q-Rll_@ z0u2iQH>C@CID*6@@BDriR@UO8Sc_^9bbEN9;@8V3D7ZC|nBWb>VV;)tVd=v5{UCcd>J1{nhy~xu6SryKPzvDs*~rEzY4+0(1)-{!t+d4YRN=+s@S> zuaeXe9up}I;55;Bj!TR>G#+AtlYlNo2lZN{2khD%GYJ!MLpF~1X5mYStUdqK(;_TN zea(FM&mz$}tcQ0~HF-^zGRMZ&n#*nc0U>!t|U$4UQG_#cfv&7le6(Bj@GGEetiHjSB+g-5)1B{5zP04UI>OVS-GFVj#+=?dD;@IH$ z!ftWNTvhHN(|MB4&;F@?L2stttmjF(KYQmy!rO+*zP%{UZ7;aIF8Hq#xZHi?{6yKl zNB8Td5=R-Tb5%{cI)5YJXZ!6pQO)OS%e_Spb$$b?RzhM1o1b%a+UNkmnPMI}>EG(Cz(|hk8;s%?r-^un`>FK5mHsY}t94lW_FC`T|B(xcXP6Vi} z+4~$lm8qP<+6YVxf_n`5uWxLe5F^v*L%LQ_$eD4y#xs!G8~ry~8HCC^GX7CkRC?&p ztr-4v<1Ua%z5rU_J2KV4I|q8oj35yLA+ z5n4PLu5P9ZNPH8`fc~-1s$23)TbW&n#`9)T?Q<#0YT}5X+s>HQMs;oLXldAn+o1Mk zN(FwYHiMtT_%<7CgHojFLazFBy}d#!0!i!Hf{07a@fvJcv5t4_r?;V(slM60=&+&R zJNH(<8AX)mmwS~rRQ3ZsCh&)5)28{w{Z=37nHX8$%?Z|0o*6q1El6?X|6wTbxvh(M zL9fQv*T-ivW!nF`8JbROIhhy9YB8p&@qI`N4zI?1ie2xs&|IZf?bCF==IBHL|HWIc zB~6%CsLlCtdRBgu-kkR>hxNa5^A(h#kn;M`bSZP5?dc8OmL2P|F5kfC z#9197w@%m`o?s%~%io176meH3&29$^R@>yON0+5U5r%&WnE+D3?d4QU7GJuP%zA6T zlds5KJJeBPrVIP|CfWK8RKGqu{JYQ5IT{v1wixY;s~B(Vil>QVd;q*nA`PeNQ3b5$ zQ~VQrd=?JfI}Ag3214G76OCG(Q*+jvUth3@0GHB&;?2|ZQGl;c#QjgYZKv&2Wj=T` zNOGp+0lF~>)Nr6UgA|=c1AQ`W{uG$g-nocygW*O8z<%Ao+w_t&r8Cm?26`8)HNL8~mi$>F z@b83}X!0&zN}fs*-T99lv4vW(Qi?!**B;zr>OM_IOkDt$uHzAm!I2bq~8(lS?Uz6UVo90 z%EC|a3qY>;>CEJ3)WPCvfGHACS?I z7tCdg*+;x&nR{bl0bC22v;5A+mZtwQweEw_YbizJ(u=EuTWivPf6h~TSrm`lmrV~& z)ZB7U_0RWF!_@;KLrr8ByPgsHKF-r5u8fT8?O&uFxsx<_-tw3pbc{o!;EAs8NBO+U z$l*OhQ6CHMyvavnuPzsG9sMOcnEp)#jn)GFV{{!BV%T&m>;{9hFHpS|qgR?&F%14j&o z`ua2Z!bE_)N5Bk;lztr*6sMC49|a;@R$|0kE{6A|cTlr2_3SBAPEk3}_+iUk1I#@I ztJu1z#p^BL^G<&eHL%y@>wLuD^zPA^PLVqeuI%5}?#DI&)scKx5&T|Oibl}r<>pr2#cfWbfPwquB-oggf9#^rHD!=JXY1Tp4EKz{({=#oDfE000 ziEVKvwVA6Bi7@4!WbOL7qgX6vCM1AucWcNTzA_L+JUXOd1mJ{r5aPq3^z!Z9Tif1$ ze|+hYrPttB7w|BNx?cQhF+0+mq_d3PKU|nrE^T^n{;=)wR1+q>wHJC_I70maMqsN% zM_G+n>f7%mLxCkPo7%Fnd!qYFY)=+huHAa92(JXHGj9l@s?=TBUoP}{4<|1YU?!Am zB()XhL7!kfvp8Tc_)xDf@Pr&(X7X9jRn$hkknHP)SG!DM-A9k#iu}Ky%u2hpuj0)8 zb+Ra{e8j;{o*ik`a_2GK?AB^;f(SZz&^=y;Fmha}xE$PP{%Nn`^-jG6a zm>nrP%;RTCWuA`*Br`cL*$>teR$SNcQeUJ;AU(1dw;qKNp{2|Ta}A`c%nx$1cy|qa zdlw<<`Dqq~h%k3CJuhSqwVu)e%|^i0mjQ~J-bK`oP2~o1qUsYx74p%$_RO`#Lu55= zq^F6=Ij(EbaC0K4UK|cSW$Vsn9F^JlPCN)Se$0Dlyp4mi5K2sjF+v{iARm zIadt1sWOq=n5~!UOG0a*uUK#E-Ftgcg@z*DJtkD3h`9WNPw3}<;c@!MPg?;y3>!H9 z(|Y<6*O(dP3ZLx}Qh0)7$G_1t#e_+HY2|D_h3JYSUgL=B78ADxY z;=d7*r*z}hhRm*_d=&e$O}{Iio%}rmRSB$SAh!QPz6R$0X*eWFK=S9$4edO%3q3p1mn=WT zkiHpiQoL#Zeo%`d{ffS3E6lZ5GOW_V>v*Z-5sL|)LdA?d!_)NQ?Vmo`8a2cv!}Id)nB-OF zI=%1z11KW@=V|$j1Ypk7!*Vk8Rz&KY#o&S>J=%K&U%3ZuPzSaLmhf=7Pj3(WT{=!n zu6YOjfICt-Uv@OsnR2=xESt3K2MeE8f3z`HQ%5ZO#FM#{~bY_pnS)I-ZfRQaxy!JT9YyE6wqVRx$A|M9{`Myt2r`9;>JM0lUl&{UNr=t3{S9b z_Sg)MmqGU>_Rq=LmZ_AsCZ&m#aiHgrW>VFk;dR}hd2NqrawLU3PU@kMn6u{7%JbWZ$P`ro=OQZPf3`Q>P85tHJH!1(r;goTPhpOYe~LHq3uX>uF+z(^bvN7gg_yM~?zi zM4jW>07=QHxzvmGr*E-lp|z0e!i5$HUm+V;n%mWa{)qRZp1$Ipo&y*3a-5P`Z^BbI z@|UWuu^Ep&;ET-BS3?x8kyilAla?1KW;O#ZL5_OFV;P+PyY8QnM$5lkOLuqIr!o-W zgo0qG_&r#eX|1AxeAl$}FJ4HN;ScZa)|tywD6LiSS3cVrnVRtwza=Ks~j9G!JKt`UEaQ1}AC}vZ3=Jt)o^-gkl2DXWZ=y?UCPJu7|B$fP;8*Pb*WP@KK60!y;(Frpb65kgTwK6?2ne?6s$&R)EVk_R`(h2 zyjbEWDmo(4JotB;w2Mf(T`4aL^gf*cdS){u%29DBaBDBv4(HA?JTZ5SEHB}cA7JPu zYNy?mOP5YeH%rIdhI=|~gtaUMg{GW`J}Q0TG{h}pQ1F4B{WM96|0oUrh?jRF-B9+< zvf!$I4mMW(PM$QIgvp-$+d2hW?fvFoEp(z3VL?3Cil_67Amo?$bsmAXRmF)3UOFr86nk4%cWhW&j8? zvsWJca(gG!4$1Axw0y_+CuPrP$hLBKxV{z@S+ro1pI}{%HMFJZhU`p|E|>BMuvN8M z-dbUFw6RXW@l&bs4GHKJ23Nm&;?cW4R0^+EGP5sQq#o6nI=U%$A|W$48hbKTOdW)m zKHb{bF@6c!0dm{C`DZZSyNW})`#Ie^h2rT8ccP%$v=+!A2;i*E$H-x zX(BuKYwRluV)(h(m7(MlN_Amp!r}6#!q;m+&$SY^eaX-d!_IF9zaY;YN@1saQ^I5c zAP%>Ewa_d8X;R3Lj-|zQ57gLtA5R&ha*bO($(&gS=DKbZJueROpS!M4dISGNm1&a6 zf!$apXddC`TEZ!~d2Z0ydoTFSH3DlSVvB{#`(0U8G*c)C{$?yxbjNmR>}QDvPy`Qg z7wf^7K^vTr8t6w)7S0J%RHj4w>}@WaKWnw*U)}rkyRxE+zpL~aB+G6-#U|#Vs7_aS zf_1!9k6y29tg!87ZN>K=54aV=IPWE%lMYWWeUo~n5XO#P{z?_vM}oJxc;5R+!V-zQ zA!H1Rw9e=l-FDo4uj*qH7`M>yaC@SAJuD%C*T4^8dIfKjh<<8{|G2coyfLcXTNd3p zbeUr#lSzb~`gU&ATX0KB2eeNrsyH?;D?H-Y0|V{@-ObHSSHQnhypZ=GP=EB)oTwVi z^*tZhVR$ROw{}~`r$#_!Z_iEe%dDo5cA08RPo7T%m1glNem*G18T)ZnN%bfDS_G$j zPohI#vgrB%GGAJ6%#qbm+M%+_05xOU%k!LL2rvF;c_U=y`(2j^GZhnZ1ZIT(CMi85 z-m&{hx9L=umoAEP`1M2~Ij$oiAwDWkcO>0dF{>DPPjx&H>`l_& z>fx(s@ykH2t%B1=vRlS8j9FONNlzj1TZ67SZ;#ijz9NqUE|fHrqSvH5$07tcB{-jT z@vi2Jv@&}VccOEv$Hz>vkjSYjAJTwI%Gk>D=+5kKktd5cEwplY6z4}}=O1%Deq_D= z>ArK$;ng20nbN&13ZdDiC&l~loaa@fU#YKaIpX7yW>v0g45!Bu#AzoU^*KAcGUJPX zZRm^mD+n#en}>I9TmMpHn>fppZZDAtIy0`YASTt{fS$bk2ix*Cen$g;a_pxor!W)r zGW_PDvsn=w*D0fI_WcTC*H1qW`Jeu!6x`35Lna0WCX1qK%dD4@b)h6^iUz!*d%7Cx zG3sevUeV`Rc9VvIq}F# zrJPO@_dYyQP(x^7GG&qdW`NrQZ#g1rSWIc54Bcftf3Hy*x$e=B>z?~#Ml zyHNWb4|}h0qw)6wskAhm(~?Yz%s{0d@Ul)rQvTpKmSngaqU2;_WA9`)`wpx#k@GDp zzyZaa9L*Pup7)gnzJqMoGok& z2Fi8gZ?VcErjThRA`-KacB!5a+^eE@K-(A4pQgW|*4rl+K@29But#d?{c(x$QQQ_L zy)7M8ZXG)X$f+sQ8tG0rjKM26PxI~T!zrq-YvMIZboiH}Cm~8xazqZgfffgP?8Y;5 zwwac&-L^dr5!cD{%namh9|Nk3c!WINfBfK&YGrkIR%sbi7V-S)9Pci{W6#9>c}Co* zW-Zh?gt!{b`11*_Vlj4+rd1>U@TlI$Y}#>f;j#+6&8IF~vAVD9s^@|b_3$h!7npph z{j1y39UE6a#<7}hHPE+G#-s1I|F*OJ^sK0nWEV|(vToYj@!Fb!5mk#=o7nZ*&(qGK zK2vm0MGQ8!P=jhS4rqX4$^(xPr0PVh3Mg+~zrO{S_a(rj-{dZQ^#|xYRSr)xa{4>= z$yNJl(=KW}7ewIc$3eD??EyZ>W2obWeDIZy#~M&NI_@bU$bJ zw^zF)!e|~BgtfIOxLikwGKa*+2bM+qC86Byl&K6D+j6I!L)P^8zhz?j1{u?BoTohu z*=`(ORF$7e6ug3<(QtJwHoZXcgJ~P1hJ=;EFHO*_S&&8z!b9MHSL^Q? zVX4}wouEEU&+%#yVLb~eK5XW`y;2PLF%(F4HS1~$-ATr7q7yS?Kxsu^eaGBG6CiEY z?tdG5`5W*+-#QjGGQO~|@FNc9n&O%|mCQBWHn)&NLno_n2Maq{Yl2~pK>Ka%LmOJ| z<=F?r`CHyXGWNL+7GT@xe%;a9v>*fIj$nJthoj9_RP`w06nsQAb@kd+>Z^1#z(f)s zFSk*|(fg(mr%Ccu6jF$8-;>$ePw@A({H-3wQaA4Bm;TcV~p`_@d|2dUU-bb$3(w%aY}FS zv;_R@xNQB5)bubt&62&PYb!_(y>=|E0cS z2G~U}iWFyPeit(I*H?VW%KMt0#O-`^>6Og)@}dgoiE{bHiDLTGHtEJHS1 z={9XucESlEAlfeH<;0@SsCGmNx;TGkaZL+l8KN{jkc1c&Txs0S zWBh4;mBxo7DYYG{@fod@US3}8=IZwGiJd`fRfcn(h+-Co?m=2;a?OS(+5E-3k8eL7 zo^EAlX9x8CT3fQ*o|IWG7vMig|}Ho`=QGFQB)EqaFw*Yz zof#LEKoteapON;$kiqFD%!sq)7R7l;kmttP`U~S}7_|w`Nd0V=1sc{AN9P+{$<9d^ z9IPr4>qQLG7+_5v3{k6y(F8HF-Mb$e^wah_0(n3)5_8AHL;oiyAt?!&iLtKbjo#J$ zkelaF_wiIiNoR^|5w6uw$KJZ+o0}ME&x`PTMR-BuDrZmoWM8jK*iX-H94^rS zM@s?dK-O~Sv*0J&kNeH+nVFBzE;OXK_R0CI6-$$&e!ynnOEWE)9*5VFuv1wm@_DGV z*Q=8b!WlHchQQouMaec9`b+wwM|pG!^eO_KT(xO7s*}5KEaZJ!H08RKs5X=ME9#_0 z3e$?UFSB3R_$+Wc2?FL9m&`*-ksWx|*lbHzmpE;}xqD&m5>vrm}>AX1t5?n4jkkqZkMT z`tCgg+pQw^mQ6CL5#`8VyACUN#2d;sw69p`Zio{#dnfQ5f}g?u5M_ZBDTE3Fid=Ix z64bvtVvYDBCeNU^rkmT}j+-3F*ILI6sQ4J1eBE3rD6F)U8r`68$xAY+*{v&Iv|$>zwY9ay`NwBHhwztmLEn@nx@G zypg-7R3$R^pj-@@r0P{!HI%ccH(v6RQ@rJ$FQedp4yUhdReSfzaU3q8s^#y~S*9qE z{g!7Jm)se9*m!;jD)mg(5DG<(bpN*l$R#0Rgw#)r`Xl-f{w6`o(rf9aHg8C4bAvvc zbVN)-!XC$NHXp+yK5|4+`0Ne`Sk)kR0^A_?H^_g+{cZ#vFDUVYTTP0J26t;`CVb^j zwaV3P;KTOvsFFaxXlbuUynD{BF}oBk^ndqonCMpYrAb=WBLZ6UHktR~mf6XC?jV%_ z5V)YGod=M36KzyT$ayZgxm4MKp$j7sdTbr0OB3|?)Mc~XiWCQdX7$(k+y@Sz*a_B& zbo_OPqwh1=5;51TY5Qt2G^%Zt-mU1;Yow#a^{*p?)q6S((D?1d_@bK@I#Q#t zn%oJUdg$~1eD@uWAQrBJQ;8jg91oN}(YIt&&0U{vbNUSF$p@uiFaSJwvV3p7L7EAH zOsKJfI_&)ZRPVVwahe#j5w@0p9D4rS__R|y$vqs5@2|BNE#MvQ$}Es6TF%$CUDPcf z8oR8p_&K~k)~v0qZB>7s8hQ=UMoNO6n;(c?FfWt-$6GMPwr$NjF_sWz-_SUK=rlGX z{d3=B#=*{Md(d8j#{76UArjuF;;xTJ-?d)nATixN91&+)J)pM+41dj0neOYFb*Q(j zyw3wqz`o(R&{1poy7t3>>+iyJ)IN3vC!D15417ixj0Lt&6jQ1r7;Z-Iyq&Hv7@AXn^KH!zCk_PPfcI#^xn4`EB-~WA{7^X}rzsWr zz&ASgtqP(X0$a1a2CS#neNW<%4Uya6mEz)5v`L=K0g(*{|feCQ`eAoznM8 zIJvhaa-c@q`u(G|hj}TMHv!qHR~i5h&J9JJ@iF6qqE9OuVk0(;OF#u|6;Pw4-LNIF zSOhiTXo5=(o|l2n;RmUnO=m~*Ai!8H=uqAL8$m10lVsMhWLQ?}S8Rf;)n>we;sLva%j$8@ zr$2??D=WPQ%qd>50od|a9L=bJ@3W0ap|EU0=o*AY^4n+B798-)^zVR@Pa1p~s13Vg4o44zegU%54|>L3ZE)urOiY ze;nOA@~`$8W@W4NU3C+ZE?LxE1?HG=ut!7qPum(@;9`B+9vg5R*9(@cI&s}F-|wc@ zS09*7b-ng0^qC#WXT4S|Q6&hu@3c69Asy~+w*QQD-LDMLDstTyDJ|M&0c-3kNz zRn#=IVR{GId>`gDw3(^quG}3b>$!idPX2kXE?do=sN8HfuLIc>qN1qRd9cO*foEcG zIe)IsYZKgSD=pJg9C+#N_giz83lH=KuDyY->}E; zwiUGNUFYfG5elb68mDU|#xVyq7QA1wxjXLR+Vz-MxAyd!KA=@E;8AO`bGTC<6;y;vHa57GG9zcMNM5@O;rOvvV4P=p1v%w$g4adCN3`X z`$PXBW~-3Ef^#!_S63ySFVZkbdj^bvHz5;j4d~uGH^z8!c2)Ue-89SDu*_EUWkp4m zkLQltbu?8b@42ME3Xh12N{Eolliq0@YP4U_pIZMMh{gm3#Eaw@oL0bVw_7}`m((RO zHmTCldBG|DzEz6$WyV(akAGamnuK}UhqM}!gta-j9!rzyjIA6UZET{>zDR13pU~t` zE8Zl`uESx`N=+CK1QykCe^72YdTKl zK-)rbD#AMc-TNfksI^~!5!&e4(YJf4+Y%k>6k8YjFpim98fY@u={=vQofw}H ztNZLj@+gq_2%xeoGqPQF02(5Z)xW!twC;hHtDGe{X`@DQ?AYl{2eq8ukt>IaF?BKs zH2&INtxFs6KxRAW4#O?B%qY}A)HgOD7W~sB4l1-WX@L5CM#l$5&YK9ve$dx+vJlW@ zVp2@1IegdGA0X>9qQ@5~s7W0ZrunpfthF;$@#`}gymq2Z0f(1YhqznUbR0xhGdPsM zJS4(nCkXh^TMCV7eL%HMVeXuHt{F|hWB0*`h?dLK_+oJhWAmTe_i}VM-4n&&;1?|u zf*rz2N_3k??51MtbIIyC{*fRWmg+T>l;PNlvqqB!yU~P%sa*N;rk+f-?G_7G)MU`Wt$05a~u`C#5<|A;T#KB1~Fezc@@%^fjVnHKv$Yx0OK~X8+ zea*nE0T|inbn7y}@L~u(>lHL%ibBv7>w3w=$OCXF%u3r&XS&io!y)&hJMuHM6dduPi>6 zk>xi)B};QUo6YdMRG3cI-d{$ww<2A8RB44tQ9)RCgvIFbkTRWDz_Ue%iuI976Offo zi9>+L21u6g5SHxG&V%{Ir{|tys>XJg$!xq%6z9#oNne3c2Vzh@sy3dy)SGS-Ms~Iz~%C@lN%GWuD|k|jJ6l%OI$BVVzWy=VyEgtr zOuG-uZZvE+T6?+$D0HrG3u)ESuH0pNSJ+=t$@dRh@&Vnz6d)a0DY>3@gUg*+CeL)g zTeLj_%3g7`c9D;6U=ciHQe~95NuOMkg3B1K)sDCY{F#E`wKK4XbHik23Rb$pJ4yPF zZF_>17;+&bi!&0RACn!T=OEHE&GKih>Hf~f!$couA7`>L^f%C9-bB#42k*N&wbn3& z+u<+^2-k5aTYW+|(1WN@(amlE*=~1@`ECo?sbkC=#0#Dqo>y6n_g2wEj2iK4O{x6T?2qUM_*r)f&X26pvIlCMDzw z2dfj%Q@sdL&V^{_4VQ>@%{mT!T>-<^ldGxy?jHV4N#u$GjrX9m3ML)2tIq{^gwV<; zCTfIQwdBuuLAgGt2HqsNHL)+{b0&Y`bAx=tY^p_gcsMZYp(s$L z&+G7}`HlY#9PdhB#P6KKqr8ws++XyaLZlIrLec}TE1qc~p9vS`ZU|_I@}!z@{H}!% zC!QYhIBG1)!O_iK7$*U?4T;AE(PA9j{6bo${za&evI=Ft`|PT=)k4lAO?=`Rl3Y0B z={szTuPo-?8RR<}1Mou@?dzOfP;bpveaJZspW zH>%mygL0Z@S5k*&{Y<^0H)+SJ^agcgtgMxSD_`1Ml6!elpt26-cO*=$iL8pi^pBZB z?$E7SuE41E5-Q4gQgI1Q*f&S5Q^)>?W~bgSvZ%|<*N&PjSFf35d3&EWn_JPBlvB1D z*pEFE67bkD3EeO0YO5cu^?|tH6kV+GBMN-WvR7*O`5|IrqLBQzIY#IU(TVN-(cP_+gay75%|4fXFmw@YoryYL7Yi%sO-i_ybt7WcYU$EQu z*)QgfM6Y>#<@(X5BRMn>7kAwdtJx{jcUE$|l?#fTpU*4(fb*!Yu(YuWwb8n-X{dRu z3smp}JuvSmPm{<*8~9EtXRbetvZ;NBi{^Q{?zMN{)#q39`yKbt3pH zY|XJ4YgTl$94@Z05ft)=@L7N@4=}#43WP%EBBfx8kyw5}s&Ww0>?*nyh5T6O8fjpb zJ7g@DpLOUBJ>4yuo8^5>G?yV08&euLC*AT_#>uu*&fm_v?|R!0Qcp3mZ1pR%yAvk# z*fLmvs{H+R*w3xo08(W5f%E**vw`KChvl#QgZ1T~#Mm}j*geb2S+5g?58*v#Oz_`* zh02%>2vWwR0JAtbi=&o#1EeI^w%=SA@)*dHR9U%`d1?IE4sD)_^;hb;6^y3YtSjd^ za8^}RwYR>Vaj>%8Z%V7z$k1hv?r`%W*b?LZ5r7V>rVELJN_%wYX7VpI;`e0`k zNa?(Md8-F<+i|@3ccyyTa$n;9hTX?0x=)NL@kSHz!Wc%NiLMlJQe}o5{5SQErNRQ% zomtIIs33K?n70fwP(g{Rk#W6>NSdhI*uesPAL~A3l2(R~Lzh`So-`p<=Bqela2%?J z&~~^2F<9mutkd}UJ|9pRK+I%peoIXUcoc zv^TM#puitb(!Jd$V1FKrrguKzL z)0};>o6)i$(e<3J9!9#2dmoQVMdG82a*V3w>DOxd&4z^GB0bMlr*6dZmK}Fb-MtOd zoK!@Sf8G#gJfEtxUdzt#f`*E2x7+Q{hJA;77V}&8wAFi#9qRxH-Q(?!y?3fCHAh{C+B^!ku2Wu2@sEG9}vBN*Wfs$sZ!8 zgxH!6Ra3mldgsaJZayi?V1A@PZ+#OaCLF8S*7sXAns+dhDL4Z%3Jj;OtXwXZm^Mfh zh%>=0T|<-{BgUsA3Y@DhVdql$*y=0#Sjkq+WEfF|tD-aItXzS?{~}07Eic@}Efh1u zVi0p}Gq=JHe0B84=^bZrA>lgs{sxg!G7GtQFvBph$9}3kDoehjxr(x)*7WwwjKRE9C026@!MzbtJ0&y`OD=FWJDR%K0gQ(aWgGTg0dne}8sCe7iK)KF zd){lncn&S488{FdE8@?2)NQORZJwQ?x3#@b=TPwv-TNdv;W4N7t;+)o;jCQezxFG1 zmlxJ%pSg}ucIKXVg(=hk8MWn7q5klQ}4B1 z2h-o$IjDQ8fpaypHZ)lk?Sh0o?2?v4FtXGWmtUkj`eX>sHrpEL&4*p%{~=(t9A`BC zI#Tlyvew|hDe2UF*KxIq*zZd^5##h7G;e5Y%d%?wDU+Ohn7bTxu*4YKDcZ99FmIU& zGx!p0wkzjr%C<5H#29lW&v9vIV3vtAg8U32p1AhYoqOFZ3(@00us~mS{NaNUapI~= zQQe+BbicklKQt|F>rY)Bdjx!fZ(}SqD7ORy8=jGTM#0T6xSW4L2ey5W;pUO3uvr%@ zo>0%T&7bXQEx}B7%RjF&a3+5w>KE!>Q8x#_bF?hX`m;XuEb);1OVsP0$px>)q)a&! z^DZGxP>yYQaHPRF*?Y3%i8uc*(*@f5XF))+gdYA(JS}@>mDfN*7q!f35DEfDp=>>{ z@&jM!IKPb@i4ncCK0+{GlaiFsKJV4V>{r!J|CEFZ>4U`oA))2UP&%Ssgo7DTO+#$1 zm@ukp&Q{Bm^|{b}L(ivW_Xns!IoPAA$+%rvZL_DH`Z=fDleB4vXYS|)E~G1P&iDwk zr=*Mqz>sijE{1{l5D>dpi7u7L-wb$Fg^j$Qdb|4>hj{dz&$h1}?L=L8Y;z~Qe6=yt zNG5R+`#HJ4)o5>u)`)a4eUlTao;Xa zthDDOt;x7#p?j@-at?M(&b#kH?9&SZzujlzL-?^mxY$6XL|sOcqvFO2t*lUU_NSZ2 zMKXMKXDQOrUm-|)S}E^J?}N%$P6t~P-2<@Z7`3#xk+RvQt+#dqH~N$WNrx6L?LBgoO79+x)VWbg+^(J(o%v0OI403;ZKgM*av~`Pd}S(QS>l6#aQ*0V zkjl2FLPp2M-Gi+Z`-=5)tKM((>+b6a$a4ShMYxCpboo4WB-oS2gb`p!+#HD`&4)ZqXH;~F_Hvf#YtNwf)LIRMBv zmC^o3axJhJ#5IHrbEy}x%{uLQmCN`zDz6!(ruscLhHY7qnB$8Xw%Zx?q!c7Tck+^4 zhu3{Y9L&Q2QGJ#W6t)(62*b$kdA$K^CWtD6$w^$Dx{owZqYBC21-*D%KxousL4* zV3+?rm2!2Unp=R7%81|?#<#0Kcv62We^$)P^>2E0udTc8=Vtfh8+?=I6ulmE`4KV;H^)90C2G~pzi7^0f!OS3se2+OxqE8hAeE=ty5~xY zsQ_Uir<(wO208a7y}S->613JaXP(GrPpo z8*?KIha?2%*6oxZ{^~jdzf_tb58_1U+1EhN&QE}PM;vaw+z`PF;J1c`c&dUWG~z14 zZ(vjJn7PuO&{b5WSk&Le} zYwwvf=6n5__+z&AM1wsdE4dEHYG^R;2AW>rzLqpmAtEXoP6d5BKPt+nPi+4V}-yev1+y=q$cak@cq?cRl#1dFv_KoJ#%t$019tK=+`-(g)V)s!T=@&C@TIc9`IiPSPKeNgfim%MK@T6%d-vjlVOka5@$$* zjRCQ4d9O-@+}*Mz4W^eK5P=jP`dT|7k6L^y+O?jmfEf8cKjpN@JLKC~n>n*J_hkKO zPTFWz9WjaudS?M{H=70Sp!7Bmt2Zbt<X+X6w$9&|i2!_IAR)ch;*~_X%L>&h8z}hR~B2KFey)keg*#b`1cE{{lln z9@kmB)r=HCLELsIR<4amV>@hZZ8jReJDDmapd__DxGEG5o2KZEKU#8IEG2#k^Z=SiA@wqw=gTt!c}!Kty1rDJ*o3D^?`_(c+x1e zdP{Qxt&S5pZc_uIlE1nRlaI-unM8S{e%_nl;UyazYc<@^mh0w&x_F`-9NPRjQah=k zG)iF@`ePLpqN%W2k6(9_eKc_w4$01`i*Tz#ymVaxgo5!Y9 z0n8lV@JI5T*2C{i5ARG@W-P0`9;qj79Ypfkp7Rgia#=f9sxhgybBF$Nwyayd|Jl{E z%yAu2GG6Moj1378hS4sY1yz`@jetB$b^MbY4#365&h12owi^>61&YE^>@E{%`8kI!?V~Kw*T9v88#$**_ut zwksXTDiZ9mHn$H1NG(eKYLVwt!cn8fTO6eX#J^cuED$kI9YnD?K^34TsgOP61y8W z4kQoAkc^sWb!ly2X+hw+rj@A#8)q`bn z^|E!RdL|p+yg4@8uS2XEe-YE9F#|GZFkRG)cE1ryD=RZ&nvR-OJHvSEqulU|OCJDX z5jIIz?n)2hmcZi{746ffl4AY!&v3Uiu4{+iNC_)rcm9X0?ICbmO)7?miHVJMpX2x^ zaVmfG6-qxyhfkk}xUrTkHexorHS^s>*7M@&7uU_~7|%N~OKih@F&~Q=&x6^%DNWb7 z0_SsjUf`==bX8?Qtv&Shc|kMlqOZ);ttH=MtX~kI-+Jo^h*ir>(|$klTTgy&tmh)$ zx!+PZG1Q##tsu)*HTY~JM>o;NgVv#w(i_;a59pF&4h%~ibk!2N!xF;oLZ+1&%F7_Q zj@%Db9Z*Ly~m_=}7gr28ErD4>a&mP&E;V1BLq0G}Gnp$CUU6ekB zc3;bVzhD{kWopy&#DC&T^|E3V#%ZC|sP+l`vZP(VC)KY`?=b_W32H&p*VO%>6Oha~+1@H$~ z+db5qpZ*bC`6JinZs4_<>AqXBG39l5Q1l=K7-}eU^k+3hgp-si_zYSw))rk-4cZ#DJx|?UV*;M5fg_H za6L|5DO>_fYL$!+WLZqsSH16)x&|GZZk8l7duQEIWb|15nV2_KkXQ?muxq^mNJGE? z3Cuth(-UQ5{zhs^gCPaaB+=8jl;gPvW4m4u$1f|sHlWPB#<_W-N^250m;AZ+mRW0$ z-Jq{qjw{>F*r!4YGY9F>T=xtMeXO#(luPWvR>517^P&K5iWm=0RSX93S<=j+$=v+$!FygKF?wf9bcH}U!2Zuu=oXFOpI z;*XPeay;40z`t@?@1Cva!@%orOWxnZSqD%W=2dwx>1-sa{|3fDYsYMy+V zAo9w}av}p>_oGjkQf8Z^ye`Jc5mhY~9&G$9Xz=qxop~|?*|FEC z*RH8TBdl~LWs59Tb%NH*3zmy-RT+e4F`ik)(-qWEF#mL z*bHf(E_T-lNIu;ybBn7 zP?ZNMgVMjc>3)J3%26B0xIZn7Ey~UJ4NsaF$~dtl8X2G-t+mfHW^_1Sypyl`Ggyev z1hW$ieloeoo`rrURGtS)U)o9O@)@e?t_F9O{F6P%k{1X@-Sku4A5;E3MkWvaF~OXQ z`xi(VwdVN)`8u=JV((?=h@H+dysU+qCH^5MIs>3O-kYfQS*!x=BY>5Y<({0usx@=Z2 zhX9{~DFy)hTyn?hfw8o)xxJ0G**m&X#_{d_x}ZK{@UO>gW&^>mQ2n~#DT|pOr%dV+ z-A)@2yFY(f0dljSc1EI(ohPv&&&`|V`l*CCk9prLQfT)6zd4?Yx`cr=((hnpu$V`0 zffJRF)K(}Z?ex(LqM*+|E_$q;D?cd;dGw59U)hq|SwfTsb9A@>>{JRgE6L_Q1%oN- zeQz?P!RMi^lf(NaMY(@<@|vI3an!HNllDaQ?*I>4sC?8KVS%Glx;KD|*0B@e1Uanz z$xqInC;FMQOK@`59w}(pLrN05vf97yVe3;951OZH9@46-jwKp=blE(?h}6i!U>l+` zj#J)L?pbWeV-gNVyk-G2$jeQ*WAg(iW<~tt;x%qoA89Ib=Gd^*s zdN-H7)w0hYNy#VAPx)L2Av*)AtNd;NvrOP&zDa4S!LM~^E*|9 z^^53VDjMI#%Sy`y&B`03*rW0a;N4fkfkim+gg)c$%$6z3MBaZ5jR6T&Zp?aOtk&@?BAuLXK*eXGy2jlH%Okzo0e{o`W) zT^2e+EWW^P{4k&&XA=@qxej)=TGr1}ncqx#ZTlR%>50xnOGfbst_?*kh+2`4*iH>3 zRkX9rDh`@_BLH!oZ3Svu%AJGvut4OAPL)#hl2gm&ACe18!+0u>0hU8mX%GzAM#4}S zKPUI`Zo?TMAX1lu*+73msl%>0rLg{9%4DG<8AzKlLt>vS3!FWEU3O@(yulhSFYV() zK1s^Haiq#Tx3nY%5Jfo}Dk`ggQWXShIXE3B{+VGC$p!V0T9eM>c6r|oma|ixK2X1? z>8FkZTxE=Y9_JQ6$M{8%yp^5Sfp3ypsUvr2$(3``hZ(TL;5Bf>?|~1wXU9(3UhkV5 zbgbn%-;@;x(p|&KELI%uiD9eW<_vS1h~XKQsUE=SN6?mcZg9{*5U;I>p~4 zs&CL)F_py=Z&IYfCaq~7;!=AcgQFebkLq2W*%=Qw`xO~=LogJA6cQplom&PdfBsPR z*z6Eo$x0SY_1O>KxcIL@(%nH2k)m(u)F0^+qnXCY=7<9vS)rI zmC^US{@)5jv6PVTHi>V?X1LlJav~R9Ceqqh7U<@4(D4NY8{t@otb|IyeYy~W@^aC+ z@&P0qEwdn9$(34nr=Ch5x{Kg0EAI*4Bda8F3^?h`ebAGP%R-k8IrNPA$gWmzE%w%$ zmpIQa#~T}W&ENAllU(f{k)xmAbM!e>O+hE@BN}P+8;o$aPX_fZGOQ*FQLx7%8msp7C_l$%W5dL z9!Nr=BGt&LatpvZptXTADLcJ* zi+J&Is0gA0UG2@($_ow#VpTo+GH6S2xoBQojEjip2&*{1nMQYu!&TBtR|~wP4!4bM(WEHnLouCo8V-t&95R@vpkSiIxS*qc_JZ zr{=IlpUcJ1$_jT7tJZz7#zBqUofD+?O_ny2AJv+NG5i5NgvL(7Hn8}1Cu|foRESK9 zRI@~wx?0W=N|Z06lWDO&62#S9RV451n)yg|j54JQFpYiQvXK%TNLLq0_2A3q0wVT7 zp7cT4YYo-cqFa3Vj&odks9_U86CtU;6--_0N#4*pr{QW&*N_|rd~rIDvgweONxWKf zx`2e1XWW-~q1BVp^rc3qrYcT)=#g2d}k;sn!+5jS3{Id(c zM^?@pAGdNTD*x%a*!SgM*a9dY?M=y7%*t#nNqa4Zx-I!MUuWAs+L*l>q z6tEK3gJKjEJGnmIQ{~?pqj+@2@&F0}AQ3JC;&loR^h*VIl&kY(Ws$G%5?k=!Pbg}h z|NU-z9>86@ZH#RP31VL_uDt#GNj*&<@cW;#!otE{{HIZlm&M<-(7&%wF9CV$|IOR% z$*HNuTYWmJsz3g%geo&e0VRAFC>Va5RbQN(iuBklUBlOvN?&H6tA#0sva>&?*3={o z>DpbV_+%-cH+<{gpY41#6J+`Spt^rs{rtU||FgUL&#nCZ+Lw)K)|sW4Jz||c2r>Ie z^Fm8gHBrfTSG|&3T4qW|2Pr{8@#8W|A6RkVa_+&!u8QuS!G#NNpFp8iSsCr3fQ|nA z-vx}n-|$A80+;0>!7#j^#M# W=pIGo(vST8j*6njtAdyBzWgr}X#=PL literal 0 HcmV?d00001