From b95670899189cb5b24aedc8483107829794f6d9f Mon Sep 17 00:00:00 2001 From: Adrian Mejia Date: Fri, 11 Sep 2020 19:58:34 -0400 Subject: [PATCH 1/4] chore(book): improves grammar --- book/D-interview-questions-solutions.asc | 30 ++++++++++------------ book/content/part04/sorting-algorithms.asc | 16 ++++++------ 2 files changed, 22 insertions(+), 24 deletions(-) diff --git a/book/D-interview-questions-solutions.asc b/book/D-interview-questions-solutions.asc index 9e96a89f..e93409f5 100644 --- a/book/D-interview-questions-solutions.asc +++ b/book/D-interview-questions-solutions.asc @@ -803,13 +803,13 @@ graph G { The red connections are critical; if we remove any, some servers won't be reachable. -We can solve this problem in one pass using DFS. But for that, we keep track of the nodes that are part of a loop (strongly connected components). To do that, we use the time of visit (or depth in the recursion) each node. +We can solve this problem in one pass using DFS. But for that, we keep track of the nodes that are part of a loop (strongly connected components). We use the time of visit (or depth in the recursion) each node. For example C, if we start on `c0`, it belongs to group 0, then we move c1, c2, and c3, increasing the depth counter. Each one will be on its own group since there's no loop. For example B, we can start at `b0`, and then we move to `b1` and `b2`. However, `b2` circles back to `b0`, which is on group 0. We can update the group of `b1` and `b2` to be 0 since they are all connected in a loop. -For an *undirected graph*, If we found a node on our dfs, that we have previously visited, we found a loop! We can mark all of them with the lowest group number. We know we have a critical path when it's a connection that links two different groups. For example A, they all will belong to group 0, since they are all in a loop. For Example B, we will have `b0`, `b1`, and `b2` on the same group while `b3` will be on a different group. +For an *undirected graph*, If we found a node on our DFS, that we have previously visited, we found a loop! We can mark all of them with the lowest group number. We know we have a critical path when it's a connection that links two different groups. For example A, they all will belong to group 0, since they are all in a loop. For Example B, we will have `b0`, `b1`, and `b2` on the same group while `b3` will be on a different group. *Algorithm*: @@ -817,7 +817,7 @@ For an *undirected graph*, If we found a node on our dfs, that we have previousl * Run dfs on any node. E.g. `0`. ** Keep track of the nodes that you have seen using `group` array. But instead of marking them as seen or not. Let's mark it with the `depth`. ** Visit all the adjacent nodes that are NOT the parent. -** If we see a node that we have visited yet, do a dfs on it and increase the depth. +** If we see a node that we have visited yet, do a DFS on it and increase the depth. ** If the adjacent node has a lower grouping number, update the current node with it. ** If the adjacent node has a higher grouping number, then we found a critical path. @@ -863,18 +863,16 @@ The first thing we need to understand is all the different possibilities for ove // my own image image::intervals-overlap-cases-owned.png[merge intervals cases] -One way to solve this problem, is sorting by start time. That will eliminate half of the cases! - -Since A will always start before B, only 3 cases apply: -- No overlap: `[[1, 3], [4, 6]]`. -- Overlap at the end: `[[1, 3], [2, 4]]`. -- Eclipse: `[[1, 9], [3, 7]]`. +One way to solve this problem is sorting by start time. That will eliminate half of the cases! A will always start before B. Only 3 cases apply: +- No overlap: E.g.,`[[1, 3], [4, 6]]`. +- Overlap at the end: E.g., `[[1, 3], [2, 4]]`. +- Eclipse: E.g.,`[[1, 9], [3, 7]]`. *Algorithm*: * Sort intervals by start time * If the `curr`ent interval's start time is _equal_ or less than the `last` interval's end time, then we have an overlap. -** Overlaps has two cases: 1) `curr`'s end is larger 2) `last`'s end is larger. For both cases `Math.max` works. +** Overlaps has two cases: 1) `curr`'s end is larger 2) `last`'s end is larger. For both cases, `Math.max` works. * If there's no overlap, we add the interval to the solution. *Implementation*: @@ -884,12 +882,12 @@ Since A will always start before B, only 3 cases apply: include::interview-questions/merge-intervals.js[tags=description;solution] ---- -For the first interval, it will be added straight to the solution array. For all others, we will do the comparison. +For the first interval, it will be added straight to the solution array. For all others, we will make a comparison. *Complexity Analysis*: -- Time: `O(n log n)`. Standard libraries has a sorting time of `O(n log n)`, then we visit each interval in `O(n)`. -- Space: `O(n)`. In the worst-case is when there's no overlapping intervals. The size of the solution array would be `n`. +- Time: `O(n log n)`. Standard libraries have a sorting time of `O(n log n)`, then we visit each interval in `O(n)`. +- Space: `O(n)`. In the worst-case is when there are no overlapping intervals. The size of the solution array would be `n`. @@ -902,9 +900,9 @@ For the first interval, it will be added straight to the solution array. For all [#sorting-q-sort-colors] include::content/part04/sorting-algorithms.asc[tag=sorting-q-sort-colors] -We are asked to sort an array with 3 possible values. If we use the standard sorting method `Array.sort`, that will be `O(n log n)`. However, we are asked to solve in linear time and constant space complexity. +We are asked to sort an array with 3 possible values. If we use the standard sorting method `Array.sort`, that will be `O(n log n)`. However, there's a requirement to solve it in linear time and constant space complexity. -The concept on quicksort can help here. We can choose 1 as a pivot and move everything less than 1 to the left and everything bigger than 1 to the right. +The concept of quicksort can help here. We can choose `1` as a pivot and move everything less than 1 to the left and everything more significant than 1 to the right. *Algorithm*: @@ -922,7 +920,7 @@ The concept on quicksort can help here. We can choose 1 as a pivot and move ever include::interview-questions/sort-colors.js[tags=description;solution] ---- -We are using the destructive assigment to swap the elements. Here's another version a little bit more compact. +We are using the destructive assignment to swap the elements. Here's another version a little bit more compact. [source, javascript] ---- diff --git a/book/content/part04/sorting-algorithms.asc b/book/content/part04/sorting-algorithms.asc index 5a6054c7..4f2b8c0c 100644 --- a/book/content/part04/sorting-algorithms.asc +++ b/book/content/part04/sorting-algorithms.asc @@ -5,8 +5,8 @@ endif::[] === Sorting Algorithms -Sorting is one of the most common solutions when we want to extract some insights about a collection of data. -We can sort to get the maximum or minimum value and many algorithmic problems involves sorting data first. +Sorting is one of the most common solutions when we want to extract some insights about data. +We can sort to get the maximum or minimum value, and many algorithmic problems can benefit from sorting. .We are going to explore three basic sorting algorithms _O(n^2^)_ which have low overhead: - <> @@ -21,15 +21,15 @@ Before we dive into the most well-known sorting algorithms, let's discuss the so ==== Sorting Properties -Sorting implementations with the same time complexity might manipulate the data differently. We want to understand these differences so we can be aware of the side-effects it will have on data or extra resources they will require. For instance, some solutions will need auxiliary memory to store temporary data while sorting while others can do it in place. +Sorting implementations with the same time complexity might manipulate the data differently. We want to understand these differences to be aware of the side effects it will have on data or extra resources they will require. For instance, some solutions will need auxiliary memory to store temporary data while sorting, while others can do it in place. -Sorting properties are stable, adaptive, online and in-place. Let's go one by one. +Sorting properties are stable, adaptive, online, and in-place. Let's go one by one. ===== Stable (((Sorting, stable))) An ((stable sorting)) algorithms keep the relative order of items with the same comparison criteria. -This especially useful when you want to sort on multiple phases. +This incredibly useful when you want to sort on multiple phases. .Let's say you have the following data: [source, javascript] @@ -82,7 +82,7 @@ Both results are sorted by `age`; however, having a stable sorting is better if ===== In-place (((Sorting, in-place))) An ((in-place sorting)) algorithm would have a _space complexity_ of O(1). In other words, it does not use any other auxiliary memory because it moves the items in the collection itself. -No requiring extra memory for sorting is especially useful for memory constraint environments like robotics, smart devices, or embedded systems in appliances. +No extra memory for sorting is especially useful for large amounts of data or in memory constraint environments like robotics, smart devices, or embedded systems in appliances. ===== Online (((Sorting, online))) @@ -111,7 +111,7 @@ include::quick-sort.asc[] <<< ==== Summary -We explored many algorithms some of them simple and other more performant. Also, we cover the properties of sorting algorithms such as stable, in-place, online and adaptive. +We explored the most common sorting algorithms, some of which are simple and others more performant. Also, we cover the properties of sorting algorithms such as stable, in-place, online, and adaptive. (((Tables, Algorithms, Sorting Complexities))) (((Tables, Algorithms, Sorting Summary))) @@ -162,7 +162,7 @@ We explored many algorithms some of them simple and other more performant. Also, // end::sorting-q-merge-intervals[] -// _Seen in interviews at: X._ +// _Seen in interviews at: Facebook, Amazon, Bloomberg._ *Starter code*: From 2e778268c4c6a2e509cc33b1c473b26788af2e9c Mon Sep 17 00:00:00 2001 From: Adrian Mejia Date: Sun, 27 Sep 2020 13:52:19 -0400 Subject: [PATCH 2/4] chore: placeholder for exercises --- book/content/part04/divide-and-conquer.asc | 90 +++++++++++++++++++--- 1 file changed, 81 insertions(+), 9 deletions(-) diff --git a/book/content/part04/divide-and-conquer.asc b/book/content/part04/divide-and-conquer.asc index a3820b72..76bb376d 100644 --- a/book/content/part04/divide-and-conquer.asc +++ b/book/content/part04/divide-and-conquer.asc @@ -66,15 +66,15 @@ graph G { "fib(2)**" -- { "fib(1)****", "fib(0)**" } // red colors - "fib(0)*" [color="#FF5252"]; - "fib(0)**" [color="#FF5252"]; - "fib(1)*" [color="#FF5252"]; - "fib(1)**" [color="#FF5252"]; - "fib(1)***" [color="#FF5252"]; - "fib(1)****" [color="#FF5252"]; - "fib(2)*" [color="#FF5252"]; - "fib(2)**" [color="#FF5252"]; - "fib(3)*" [color="#FF5252"]; + "fib(0)*" [color="#FF5252" label="fib(0)"]; + "fib(0)**" [color="#FF5252" label="fib(0)"]; + "fib(1)*" [color="#FF5252" label="fib(1)"]; + "fib(1)**" [color="#FF5252" label="fib(1)"]; + "fib(1)***" [color="#FF5252" label="fib(1)"]; + "fib(1)****" [color="#FF5252" label="fib(1)"]; + "fib(2)*" [color="#FF5252" label="fib(2)"]; + "fib(2)**" [color="#FF5252" label="fib(2)"]; + "fib(3)*" [color="#FF5252" label="fib(3)"]; } .... @@ -94,3 +94,75 @@ Those who cannot remember the past are condemned to repeat it. For these cases when subproblems repeat themselves, we can optimize them using <>. Let's do that in the next section. + + + + + +// But before doing dynamic programming. Let's do this divide and conquer exercises. + +// ==== Practice Questions +// (((Interview Questions, Divide and Conquer))) + + + + + +// // https://leetcode.com/problems/merge-k-sorted-lists/ + +// // tag::divide-and-conquer-q-FILENAME[] +// ===== TITLE + +// *DC-1*) _._ + +// // end::divide-and-conquer-q-FILENAME[] + +// // _Seen in interviews at: X._ + +// *Starter code*: + +// [source, javascript] +// ---- +// include::../../interview-questions/FILENAME.js[tags=description;placeholder] +// ---- + +// *Examples*: + +// [source, javascript] +// ---- +// FN([]); // 3 (EXPLANATION) +// ---- + + +// _Solution: <>_ + + + + +// // https://leetcode.com/problems/search-a-2d-matrix-ii/ + +// // tag::divide-and-conquer-q-FILENAME[] +// ===== TITLE + +// *DC-2*) _._ + +// // end::divide-and-conquer-q-FILENAME[] + +// // _Seen in interviews at: X._ + +// *Starter code*: + +// [source, javascript] +// ---- +// include::../../interview-questions/FILENAME.js[tags=description;placeholder] +// ---- + +// *Examples*: + +// [source, javascript] +// ---- +// FN([]); // 3 (EXPLANATION) +// ---- + + +// _Solution: <>_ From 68c73d4c3bb5fb1ec637d81b42a2f8dbfc4f0008 Mon Sep 17 00:00:00 2001 From: Adrian Mejia Date: Tue, 29 Sep 2020 16:07:28 -0400 Subject: [PATCH 3/4] feat(book/big-o): add new chapter on how to determine big o from code. --- book/content/part01/algorithms-analysis.asc | 77 +++--- book/content/part01/big-o-examples.asc | 78 ++++--- book/content/part01/how-to-big-o.asc | 221 ++++++++++++++++++ book/images/big-o-recursive-example.png | Bin 0 -> 44967 bytes book/images/big-o-running-time-complexity.png | Bin 0 -> 79243 bytes book/images/fib(4) example.png | Bin 0 -> 20627 bytes book/images/recursive-fibonacci-call-tree.png | Bin 49993 -> 41935 bytes book/part01-algorithms-analysis.asc | 6 +- 8 files changed, 309 insertions(+), 73 deletions(-) create mode 100644 book/content/part01/how-to-big-o.asc create mode 100644 book/images/big-o-recursive-example.png create mode 100644 book/images/big-o-running-time-complexity.png create mode 100644 book/images/fib(4) example.png diff --git a/book/content/part01/algorithms-analysis.asc b/book/content/part01/algorithms-analysis.asc index 52f57c03..d06b0a4f 100644 --- a/book/content/part01/algorithms-analysis.asc +++ b/book/content/part01/algorithms-analysis.asc @@ -8,7 +8,7 @@ endif::[] You are probably reading this book because you want to write better and faster code. How can you do that? Can you time how long it takes to run a program? Of course, you can! [big]#⏱# -However, if you run the same program on a smartwatch, cellphone or desktop computer, it will take different times. +However, if you run the same program on a computer, cellphone, or even a smartwatch, it will take different times. image::image3.png[image,width=528,height=137] @@ -17,8 +17,8 @@ That's what *time complexity* is for! But, why stop with the running time? We could also compare the memory "used" by different algorithms, and we call that *space complexity*. -.In this chapter you will learn: -- What’s the best way to measure the performance of your code regardless of what hardware you use. +.In this chapter, you will learn: +- What’s the best way to measure your code's performance regardless of what hardware you use. - Learn how to use Big O notation to compare algorithms. - How to use algorithms analysis to improve your programs speed. @@ -43,15 +43,22 @@ function makePizza(dough, toppings = ['cheese']) { } ---- -If you play a game, you are devising strategies (or algorithms) to help you win. Likewise, algorithms in computers are a set of instructions used to solve a problem. +If you play a game, you'll devise strategies (or algorithms) to win. Likewise, algorithms in computers are a set of instructions used to solve a problem. -TIP: Algorithms are instructions on how to perform a task. +TIP: Algorithms are the steps on how to perform a task. ==== Comparing Algorithms (((Comparing Algorithms))) Not all algorithms are created equal. There are “good” and “bad” algorithms. The good ones are fast; the bad ones are slow. Slow algorithms cost more money to run. Inefficient algorithms could make some calculations impossible in our lifespan! -To give you a clearer picture of how different algorithms perform as the input size grows, take a look at the following problems and how their relative execution time changes as the input size increases. +Let's say you want to compute the shortest path from Boston to San Francisco. Slow algorithms can take hours or crash before finishing. On the other hand, a "good" algorithm might compute in a few seconds. + +Usually, algorithms time grows as the size of the input increases. For instance, calculating the shortest distance from your house to the local supermarket will take less time than other destination thousands of miles away. + +Another example is sorting an array. A good sorting algorithm is <>, and an inefficient algorithm for large inputs is <>. +Organizing 1 million elements with merge sort could take 20 seconds, for instance, while selection sort takes 12 days, ouch! The fantastic thing is that both programs solve the same problem with comparable data and hardware; yet, there's a big difference in time! Bad algorithms would perform poorly, even on a supercomputer. + +To give you a clearer picture of how different algorithms perform as the input size grows, look at the following problems and how their relative execution time changes as the input size increases. (((Tables, Intro, Algorithms input size vs Time))) .Relationship between algorithm input size and time taken to complete @@ -65,32 +72,28 @@ To give you a clearer picture of how different algorithms perform as the input s |Finding string permutations |4 sec. |> vigintillion years |> centillion years |∞ |∞ |============================================================================================= -Most algorithms are affected by the size of the input (`n`). Let's say you need to arrange numbers in ascending order. Sorting ten items will naturally take less time than sorting out 2 million. But, how much longer? As the input size grow, some algorithms take proportionally more time, we classify them as <> runtime [or `O(n)`]. Others might take power two longer; we call them <> running time [or `O(n^2^)`]. - -From another perspective, if you keep the input size the same and run different algorithms implementations, you would notice the difference between an efficient algorithm and a slow one. For example, a good sorting algorithm is <>, and an inefficient algorithm for large inputs is <>. -Organizing 1 million elements with merge sort takes 20 seconds while selection sort takes 12 days, ouch! -The amazing thing is that both programs are solving the same problem with equal data and hardware; and yet, there's a big difference in time! +As you can see in the table, most algorithms on the table are affected by the input size. But not all and not at the same rate. Finding out if a number is odd will take the same if it is 1 or 1 million. We say then that the growth rate is constant. Others grow very fast. Finding all the permutations on a string of length 10 takes a few seconds, while if the string has a size of 100, it won't even finish! -After completing this book, you are going to _think algorithmically_. -You will be able to scale your programs while you are designing them. -Find bottlenecks of existing software and have an <> to optimize algorithms and make them faster without having to pay more for cloud computing (e.g., AWS EC2 instances). [big]#💸# +After completing this book, you are going to _think algorithmically_. You will be able to tell the growth rate of your programs and scale them. You'll find bottlenecks of existing software and have an <>. <<< ==== Increasing your code performance -The first step to improve your code performance is to measure it. As somebody said: +The first step to improve your code performance is to learn how to measure it. As somebody said: (((quotes))) [quote, H. J. Harrington] Measurement is the first step that leads to control and eventually to improvement. If you can’t measure something, you can’t understand it. If you can’t understand it, you can’t control it. If you can’t control it, you can’t improve it. -In this section, we are going to learn the basics of measuring our current code performance and compare it with other algorithms. +This section will learn the basics of measuring our current code performance and compare it with other algorithms. ===== Calculating Time Complexity (((Time complexity))) -Time complexity, in computer science, is a function that describes the number of operations a program will execute given the size of the input `n`. +In computer science, time complexity describes the number of operations a program will execute given the size of the input `n`. -How do you get a function that gives you the number of operations that will be executed? Well, we count line by line and mind code inside loops. Let's do an example to explain this point. For instance, we have a function to find the minimum value on an array called `getMin`. +How do you get a function that gives you the rough number of operations that the CPU will execute? + +One idea is to analyze your code line by line and mind code inside loops. Let's do an example to explain this point. For instance, we have a function to find the minimum value on an array called `getMin`. .Translating lines of code to an approximate number of operations image::image4.png[Operations per line] @@ -101,17 +104,17 @@ _3n + 3_ `n` = input size. -That means that if you have an array of 3 elements e.g. `getMin([3, 2, 9])`, then it will execute around _3(3)+3 = 12_ operations. Of course, this is not for every case. For instance, Line 12 is only executed if the condition on line 11 is met. As you might learn in the next section, we want to get the big picture and get rid of smaller terms to compare algorithms easier. +That means that if you have an array of 3 elements, e.g. `getMin([3, 2, 9])`, then it will execute around _3(3)+3 = 12_ operations. Of course, this is not for every case. For instance, Line 12 is only executed if the condition on line 11 is met. As you might learn in the next section, we want to get the big picture and get rid of smaller terms to compare algorithms easier. ==== Space Complexity (((Space Complexity))) Space complexity is similar to time complexity. However, instead of the count of operations executed, it will account for the amount of memory used additionally to the input. -For calculating the *space complexity* we keep track of the “variables” and memory used. In the `getMin` example, we just create a single variable called `min`. So, the space complexity is 1. On other algorithms, If we have to use an auxiliary array, then the space complexity would be `n`. +For calculating the *space complexity*, we keep track of the “variables” and memory used. In the `getMin` example, we create a variable called `min`, which only holds one value at a time. So, the space complexity is `1`. On other algorithms, If we have to use an auxiliary array that holds the same number of elements as the input, then the space complexity would be `n`. ===== Simplifying Complexity with Asymptotic Analysis (((Asymptotic Analysis))) -When we are comparing algorithms, we don't want to have complex expressions. What would you prefer comparing two algorithms like "3n^2^ + 7n" vs. "1000 n + 2000" or compare them as "n^2^ vs. n"? Well, that when the asymptotic analysis comes to the rescue. +When we compare algorithms, we about the growth rate when the input gets huge (towards infinity). Then you have a function like `20*n^3 + 100`. If `n` is one million. The term `+ 100` makes a tiny contribution to the result (less than 0.000001%). Here is when the asymptotic analysis comes to the rescue. TIP: Asymptotic analysis describes the behavior of functions as their inputs approach to infinity. @@ -127,37 +130,41 @@ In the previous example, we analyzed `getMin` with an array of size 3; what happ |1M |3(1M)+3 |3,000,003 |=========================== -As the input size `n` grows bigger and bigger then the expression _3n + 3_ is closer and closer to _3n_. Dropping terms might look like a stretch at first, but you will see that what matters the most is the higher order terms of the function rather than lesser terms and constants. +As the input size `n` grows bigger and bigger, then the expression _3n + 3_ is closer and closer to _3n_. Dropping terms might look like a stretch at first, but you will see that what matters the most is the higher-order terms of the function rather than lesser terms and constants. ===== What is Big O Notation? (((Big O))) -There’s a notation called *Big O*, where `O` refers to the *order of the function*. +There’s a notation called *Big O*, where `O` refers to the *order of a function* in the worst-case scenario. -TIP: Big O = Big Order of a function. +TIP: Big O = Big Order (rate of growth) of a function. If you have a program that has a runtime of: _7n^3^ + 3n^2^ + 5_ -You can express it in Big O notation as _O(n^3^)_. The other terms (_3n^2^ + 5_) will become less and less significant as the input grows bigger. +You can express it in Big O notation as _O(n^3^)_. The other terms (_3n^2^ + 5_) will become less significant as the input grows bigger. -Big O notation, only cares about the “biggest” terms in the time/space complexity. So, it combines what we learn about time and space complexity, asymptotic analysis and adds a worst-case scenario. +Big O notation only cares about the “biggest” terms in the time/space complexity. It combines what we learn about time and space complexity, asymptotic analysis, and adds a worst-case scenario. .All algorithms have three scenarios: -* Best-case scenario: the most favorable input arrangement where the program will take the least amount of operations to complete. E.g., an array that's already sorted is beneficial for some sorting algorithms. +* Best-case scenario: the most favorable input arrangement where the program will take the least amount of operations to complete. E.g., a sorted array is beneficial for some sorting algorithms. * Average-case scenario: this is the most common case. E.g., array items in random order for a sorting algorithm. * Worst-case scenario: the inputs are arranged in such a way that causes the program to take the longest to complete. E.g., array items in reversed order for some sorting algorithm will take the longest to run. To sum up: -TIP: Big O only cares about the highest order of the run time function and the worst-case scenario. +TIP: Big O only cares about the run time function's highest order on the worst-case scenario. WARNING: Don't drop terms that are multiplying other terms. _O(n log n)_ is not equivalent to _O(n)_. However, _O(n + log n)_ is. -There are many common notations like polynomial, _O(n^2^)_ as we saw in the `getMin` example; constant _O(1)_ and many more that we are going to explore in the next chapter. +There are many common notations like polynomial, _O(n^2^)_ as we saw in the `getMin` example, constant _O(1)_, and many more that we are going to explore in the next chapter. + +Again, -Again, time complexity is not a direct measure of how long a program takes to execute, but rather how many operations it performs given the input size. Nevertheless, there’s a relationship between time complexity and clock time as we can see in the following table. -(((Tables, Intro, Input size vs clock time by Big O))) +TIP: the time complexity is not a direct measure of how long a program takes to execute, but rather how many operations it performs given the input size. + +Nevertheless, there’s a relationship between time complexity and clock time, as shown in the following table. +(((Tables, Intro, Input size vs. clock time by Big O))) // tag::table[] .How long an algorithm takes to run based on their time complexity and input size @@ -172,14 +179,14 @@ Again, time complexity is not a direct measure of how long a program takes to ex |=============================================================== // end::table[] -This is just an illustration since in different hardware the times will be slightly different. -NOTE: These times are under the assumption of running on 1 GHz CPU and it can execute on average one instruction in 1 nanosecond (usually takes more time). Also, keep in mind that each line might be translated into dozens of CPU instructions depending on the programming language. Regardless, bad algorithms would perform poorly even on a supercomputer. + +NOTE: This is just an illustration since, in different hardware, the times will be distinct. These times are under the assumption of running on 1 GHz CPU, and it can execute on average one instruction in 1 nanosecond (usually takes more time). Also, keep in mind that each line might be translated into dozens of CPU instructions depending on the programming language. ==== Summary -In this chapter, we learned how you could measure your algorithm performance using time complexity. Rather than timing how long your program takes to run you can approximate the number of operations it will perform based on the input size. +In this chapter, we learned how you could measure your algorithm performance using time complexity. Rather than timing how long your program takes to run, you can approximate the number of operations it will perform based on the input size. We learned about time and space complexity and how they can be translated to Big O notation. Big O refers to the *order* of the function. -In the next section, we are going to provide examples of each of the most common time complexities! +In the next section, we will go deeper into how to analyze time complexity and provide examples! diff --git a/book/content/part01/big-o-examples.asc b/book/content/part01/big-o-examples.asc index 3b56e1a0..73bfe968 100644 --- a/book/content/part01/big-o-examples.asc +++ b/book/content/part01/big-o-examples.asc @@ -5,7 +5,7 @@ endif::[] === Big O examples -There are many kinds of algorithms. Most of them fall into one of the eight time complexities that we are going to explore in this chapter. +There are many kinds of algorithms. Most of them fall into one of the eight-time complexities that we will explore in this chapter. .Eight Running Time Complexities You Should Know - Constant time: _O(1)_ @@ -22,9 +22,10 @@ We are going to provide examples for each one of them. Before we dive in, here’s a plot with all of them. .CPU operations vs. Algorithm runtime as the input size grows -image::image5.png[CPU time needed vs. Algorithm runtime as the input size increases] +// image::image5.png[CPU time needed vs. Algorithm runtime as the input size increases] +image::big-o-running-time-complexity.png[CPU time needed vs. Algorithm runtime as the input size increases] -The above chart shows how the running time of an algorithm is related to the amount of work the CPU has to perform. As you can see O(1) and O(log n) are very scalable. However, O(n^2^) and worst can make your computer run for years [big]#😵# on large datasets. We are going to give some examples so you can identify each one. +The above chart shows how the algorithm's running time is related to the work the CPU has to perform. As you can see, O(1) and O(log n) is very scalable. However, O(n^2^) and worst can convert your CPU into a furnace 🔥 for massive inputs. [[constant]] ==== Constant @@ -53,13 +54,13 @@ As you can see in both examples (array and linked list), if the input is a colle ==== Logarithmic (((Logarithmic))) (((Runtime, Logarithmic))) -Represented in Big O notation as *O(log n)*, when an algorithm has this running time it means that as the size of the input grows the number of operations grows very slowly. Logarithmic algorithms are very scalable. One example is the *binary search*. +Represented in Big O notation as *O(log n)*, when an algorithm has this running time, it means that as the input size grows, the number of operations grows very slowly. Logarithmic algorithms are very scalable. One example is the *binary search*. indexterm:[Runtime, Logarithmic] [[logarithmic-example]] ===== Searching on a sorted array -The binary search only works for sorted lists. It starts searching for an element on the middle of the array and then it moves to the right or left depending if the value you are looking for is bigger or smaller. +The binary search only works for sorted lists. It starts searching for an element in the middle of the array, and then it moves to the right or left depending on if the value you are looking for is bigger or smaller. // image:image7.png[image,width=528,height=437] @@ -68,15 +69,15 @@ The binary search only works for sorted lists. It starts searching for an elemen include::{codedir}/runtimes/02-binary-search.js[tag=binarySearchRecursive] ---- -This binary search implementation is a recursive algorithm, which means that the function `binarySearchRecursive` calls itself multiple times until the solution is found. The binary search splits the array in half every time. +This binary search implementation is a recursive algorithm, which means that the function `binarySearchRecursive` calls itself multiple times until the program finds a solution. The binary search splits the array in half every time. -Finding the runtime of recursive algorithms is not very obvious sometimes. It requires some tools like recursion trees or the https://adrianmejia.com/blog/2018/04/24/analysis-of-recursive-algorithms/[Master Theorem]. The `binarySearch` divides the input in half each time. As a rule of thumb, when you have an algorithm that divides the data in half on each call you are most likely in front of a logarithmic runtime: _O(log n)_. +Finding the runtime of recursive algorithms is not very obvious sometimes. It requires some tools like recursion trees or the https://adrianmejia.com/blog/2018/04/24/analysis-of-recursive-algorithms/[Master Theorem]. The `binarySearch` divides the input in half each time. As a rule of thumb, when you have an algorithm that divides the data in half on each call, you are most likely in front of a logarithmic runtime: _O(log n)_. [[linear]] ==== Linear (((Linear))) (((Runtime, Linear))) -Linear algorithms are one of the most common runtimes. It’s represented as *O(n)*. Usually, an algorithm has a linear running time when it iterates over all the elements in the input. +Linear algorithms are one of the most common runtimes. Their Big O representation is *O(n)*. Usually, an algorithm has a linear running time when it visits every input element a fixed number of times. [[linear-example]] ===== Finding duplicates in an array using a map @@ -91,19 +92,19 @@ include::{codedir}/runtimes/03-has-duplicates.js[tag=hasDuplicates] ---- .`hasDuplicates` has multiple scenarios: -* *Best-case scenario*: first two elements are duplicates. It only has to visit two elements. +* *Best-case scenario*: the first two elements are duplicates. It only has to visit two elements and return. * *Worst-case scenario*: no duplicates or duplicates are the last two. In either case, it has to visit every item in the array. -* *Average-case scenario*: duplicates are somewhere in the middle of the collection. Only half of the array will be visited. +* *Average-case scenario*: duplicates are somewhere in the middle of the collection. As we learned before, the big O cares about the worst-case scenario, where we would have to visit every element on the array. So, we have an *O(n)* runtime. -Space complexity is also *O(n)* since we are using an auxiliary data structure. We have a map that in the worst case (no duplicates) it will hold every word. +Space complexity is also *O(n)* since we are using an auxiliary data structure. We have a map that, in the worst case (no duplicates), it will hold every word. [[linearithmic]] ==== Linearithmic (((Linearithmic))) (((Runtime, Linearithmic))) -An algorithm with a linearithmic runtime is represented as _O(n log n)_. This one is important because it is the best runtime for sorting! Let’s see the merge-sort. +You can represent linearithmic algorithms as _O(n log n)_. This one is important because it is the best runtime for sorting! Let’s see the merge-sort. [[linearithmic-example]] ===== Sorting elements in an array @@ -117,7 +118,7 @@ The ((Merge Sort)), like its name indicates, has two functions merge and sort. L ---- include::{codedir}/algorithms/sorting/merge-sort.js[tag=splitSort] ---- -<1> If the array only has two elements we can sort them manually. +<1> If the array only has two elements, we can sort them manually. <2> We divide the array into two halves. <3> Merge the two parts recursively with the `merge` function explained below @@ -134,15 +135,15 @@ The merge function combines two sorted arrays in ascending order. Let’s say th .Mergesort visualization. Shows the split, sort and merge steps image::image11.png[Mergesort visualization,width=500,height=600] -How do we obtain the running time of the merge sort algorithm? The mergesort divides the array in half each time in the split phase, _log n_, and the merge function join each splits, _n_. The total work is *O(n log n)*. There are more formal ways to reach this runtime, like using the https://adrianmejia.com/blog/2018/04/24/analysis-of-recursive-algorithms/[Master Method] and https://www.cs.cornell.edu/courses/cs3110/2012sp/lectures/lec20-master/lec20.html[recursion trees]. +How do we obtain the running time of the merge sort algorithm? The merge-sort divides the array in half each time in the split phase, _log n_, and the merge function join each splits, _n_. The total work is *O(n log n)*. There are more formal ways to reach this runtime, like using the https://adrianmejia.com/blog/2018/04/24/analysis-of-recursive-algorithms/[Master Method] and https://www.cs.cornell.edu/courses/cs3110/2012sp/lectures/lec20-master/lec20.html[recursion trees]. [[quadratic]] ==== Quadratic (((Quadratic))) (((Runtime, Quadratic))) -Running times that are quadratic, O(n^2^), are the ones to watch out for. They usually don’t scale well when they have a large amount of data to process. +Quadratic running times, O(n^2^), are the ones to watch out for. They usually don’t scale well when they have a large amount of data to process. -Usually they have double-nested loops, where each one visits all or most elements in the input. One example of this is a naïve implementation to find duplicate words on an array. +Usually, they have double-nested loops, where each one visits all or most elements in the input. One example of this is a naïve implementation to find duplicate words on an array. [[quadratic-example]] ===== Finding duplicates in an array (naïve approach) @@ -165,34 +166,37 @@ Let’s say you want to find a duplicated middle name in a phone directory book ==== Cubic (((Cubic))) (((Runtime, Cubic))) -Cubic *O(n^3^)* and higher polynomial functions usually involve many nested loops. An example of a cubic algorithm is a multi-variable equation solver (using brute force): +Cubic *O(n^3^)* and higher polynomial functions usually involve many nested loops. An example of a cubic algorithm is a multi-variable equation solver (using brute force) or finding three elements on an array that add up to a given number. [[cubic-example]] -===== Solving a multi-variable equation +===== 3 Sum -Let’s say we want to find the solution for this multi-variable equation: +Let's say you want to find 3 items in an array that add up to a target number. One brute force solution would be to visit every possible combination of 3 elements and add them up to see if they are equal to target. -_3x + 9y + 8z = 79_ - -A naïve approach to solve this will be the following program: - -//image:image13.png[image,width=528,height=448] - -.Naïve implementation of multi-variable equation solver [source, javascript] ---- -include::{codedir}/runtimes/06-multi-variable-equation-solver.js[tag=findXYZ] +function threeSum(nums, target = 0) { + const ans = []; + + for(let i = 0; i < nums.length -2; i++) + for(let j = i + 1; j < nums.length - 1; j++) + for(let k = j + 1; k < nums.length; k++) + if (nums[i] + nums[j] + nums[k] === target) + ans.push([nums[i], nums[j], nums[k]]); + + return ans; +} ---- -WARNING: This is just an example, there are better ways to solve multi-variable equations. +As you can see, three nested loops usually translate to O(n^3^). If we had four nested loops (4sum), it would be O(n^4^) and so on. A runtime in the form of _O(n^c^)_, where _c > 1_, we refer to this as a *polynomial runtime*. -As you can see three nested loops usually translates to O(n^3^). If you have a four variable equation and four nested loops it would be O(n^4^) and so on. When we have a runtime in the form of _O(n^c^)_, where _c > 1_, we refer to this as a *polynomial runtime*. +NOTE: You can improve the runtime of 3sum from _O(n^3^)_ to _O(n^2^)_, if we sort items first and then use one loop and two pointers to find the solutions. [[exponential]] ==== Exponential (((Exponential))) (((Runtime, Exponential))) -Exponential runtimes, O(2^n^), means that every time the input grows by one the number of operations doubles. Exponential programs are only usable for a tiny number of elements (<100) otherwise it might not finish in your lifetime. [big]#💀# +Exponential runtimes, _O(2^n^)_, means that every time the input grows by one, the number of operations doubles. Exponential programs are only usable for a tiny number of elements (<100); otherwise, it might not finish in your lifetime. [big]#💀# Let’s do an example. @@ -209,21 +213,21 @@ Finding all distinct subsets of a given set can be implemented as follows: include::{codedir}/runtimes/07-sub-sets.js[tag=snippet] ---- <1> Base case is empty element. -<2> For each element from the input append it to the results array. +<2> For each element from the input, append it to the results array. <3> The new results array will be what it was before + the duplicated with the appended element. //.The way this algorithm generates all subsets is: //1. The base case is an empty element (line 13). E.g. [''] -//2. For each element from the input append it to the results array (line 16) +//2. For each element from the input, append it to the results array (line 16) //3. The new results array will be what it was before + the duplicated with the appended element (line 17) -Every time the input grows by one the resulting array doubles. That’s why it has an *O(2^n^)*. +Every time the input grows by one, the resulting array doubles. That’s why it has an *O(2^n^)*. [[factorial]] ==== Factorial (((Factorial))) (((Runtime, Factorial))) -Factorial runtime, O(n!), is not scalable at all. Even with input sizes of ~10 elements, it will take a couple of seconds to compute. It’s that slow! [big]*🍯🐝* +The factorial runtime, `O(n!)`, is not scalable at all. Even with input sizes of ~10 elements, it will take a couple of seconds to compute. It’s that slow! [big]*🍯🐝* .Factorial **** @@ -240,7 +244,7 @@ A factorial is the multiplication of all the numbers less than itself down to 1. ===== Getting all permutations of a word (((Permutations))) (((Words permutations))) -One classic example of an _O(n!)_ algorithm is finding all the different words that can be formed with a given set of letters. +One classic example of an _O(n!)_ algorithm is finding all the different words formed with a given set of letters. .Word's permutations // image:image15.png[image,width=528,height=377] @@ -251,7 +255,7 @@ include::{codedir}/runtimes/08-permutations.js[tag=snippet] As you can see in the `getPermutations` function, the resulting array is the factorial of the word length. -Factorial starts very slow, and quickly becomes uncontrollable. A word size of just 11 characters would take a couple of hours in most computers! +Factorial starts very slow and quickly becomes unmanageable. A word size of just 11 characters would take a couple of hours in most computers! [big]*🤯* ==== Summary @@ -265,7 +269,7 @@ We went through 8 of the most common time complexities and provided examples for |=== |Big O Notation |Name -|Example(s) +| example (s) |O(1) |<> diff --git a/book/content/part01/how-to-big-o.asc b/book/content/part01/how-to-big-o.asc new file mode 100644 index 00000000..3067704f --- /dev/null +++ b/book/content/part01/how-to-big-o.asc @@ -0,0 +1,221 @@ +ifndef::imagesdir[] +:imagesdir: ../../images +:codedir: ../../../src +endif::[] + +=== How to determine time complexity from code? + +In general, you can determine the time complexity by analyzing the program's statements. +However, you have to be mindful how are the statements arranged. Suppose they are inside a loop or have function calls or even recursion. All these factors affect the runtime of your code. Let's see how to deal with these cases. + +*Sequential Statements* + +If we have statements with basic operations like conditionals, assignments, reading a variable. +We can assume they take constant time. + +---- +statement 1; +statement 2; +... +statement n; +---- + +If we calculate the total time complexity, it would be something like this: + +---- +total = time(statement 1) + time(statement 2) + ... time (statement n) +---- + +Let's use `T(n)` as the total time in function of the input size `n`, and `t` as the time complexity taken by a statement or group of statements. + +---- +T(n) = t(statement 1) + t(statement 2) + ... + t(statement n); +---- + +If each statement executes a basic operation, we can say it takes constant time `O(1)`. As long as you have a fixed number of operations, it will be constant time, even if we have 1 or 100 of these statements. + +WARNING: be careful with function calls. You will have to go to the implementation and check their run time. More on that later. + +*Conditional Statements* + +Very rarely, you have a code without any conditional statement. +How do you calculate the time complexity? Remember that we care about the worst-case with Big O so that we will take the maximum possible runtime. + +---- +if (isValid) { + statement 1; + statement 2; +} else { + statement 3; +} +---- + +Since, we are after the worst-case we take the whichever is larger of the two possibilities: + +---- +T(n) = Math.max([t(statement 1) + t(statement 2)], [time(statement 3)]) +---- + +*Loop Statements* + +Another prevalent scenario is loops like for-loops or while-loops. +For any loop, we find out the runtime of the block inside them and multiply it by the number of times the program will repeat the loop. + +---- +for (let i = 0; i < array.length; i++) { + statement 1; + statement 2; +} +---- + +For this example, the loop is executed `array.length`, assuming `n` is length of the array we get the following: + +---- +T(n) = n * [ t(statement 1) + t(statement 2) ] +---- + +All loops that grow proportionally to the input size have a linear time complexity `O(n)`. If you loop through only half of the array, that's still `O(n)`. Remember that we drop the constants so `1/2 n => O(n)`. + +However, if a constant number bounds the loop, let's say 4 (or even 400). Then, the runtime is constant `O(4) -> O(1)`. See the following example. + +---- +for (let i = 0; i < 4; i++) { + statement 1; + statement 2; +} +---- + +That code is `O(1)` because it no longer depends on the input size. + +*Nested loops statements* + +Sometimes you might need to visit all the elements on a 2D array (grid/table). For such cases, you might find yourself with two nested loops. + +---- +for (let i = 0; i < n; i++) { + statement 1; + + for (let j = 0; j < m; j++) { + statement 2; + statement 3; + } +} +---- + +For this case you would have something like this: + +---- +T(n) = n * [t(statement 1) + m * t(statement 2...3)] +---- + +Assuming the statements from 1 to 3 are `O(1)`, we would have a runtime of `O(n * m)`. +If instead of `m`, you had to iterate on `n` again, then it would be `O(n^2)`. Another typical case is having a function inside a loop. Let's see how to deal with that next. + +*Function call statements* + +When you calculate your programs' time complexity and invoke a function, you need to be aware of its runtime. If you created the function, that might be a simple inspection of the implementation. However, if you are using a library function, you might infer it from the language/library documentation. + +Let's say you have the following program: + +---- +for (let i = 0; i < n; i++) { + fn1(); + for (let j = 0; j < n; j++) { + fn2(); + for (let k = 0; k < n; k++) { + fn3(); + } + } +} +---- + +.Depending on the runtime of fn1, fn2, and fn3, you would have different runtimes. +- If they all are constant `O(1)`, then the final runtime would be `O(n^3)`. +- However, if only `fn1` and `fn2` are constant and `fn3` has a runtime of `O(n^2)`, this program will have a runtime of `O(n^5)`. Another way to look at it is, if `fn3` has two nested and you replace the invocation with the actual implementation, you would have five nested loops. + +In general, you will have something like this: + +---- +T(n) = n * [ t(fn1()) + n * [ t(fn2()) + n * [ t(fn3()) ] ] ] +---- + +*Recursive Functions Statements* + +Analyzing the runtime of recursive functions might get a little tricky. There are different ways to do it. One intuitive way is to explore the recursion tree. + +Let's say that we have the following program: + +---- +function fn(n) { + if (n < 0) return 0; + if (n < 2) return n; + + return fn(n - 1) + fn(n - 2); +} +---- + +You can represent each function invocation as a bubble (or node). + +.Let's do some examples: +- When you n = 2, you have 3 function calls. First `fn(2)` which in turn calls `fn(1)` and `fn(0)`. +- For `n = 3`, you have 5 function calls. First `fn(3)`, which in turn calls `fn(2)` and `fn(1)` and so on. +- For `n = 4`, you have 9 function calls. First `fn(4)`, which in turn calls `fn(3)` and `fn(2)` and so on. + +Since it's a binary tree, we can sense that every time `n` increases by one, we would have to perform at most the double of operations. + +Here's the graphical representation of the 3 examples: + +[graphviz, big-o-recursive-example, 'png'] +---- +graph G { + subgraph cluster_2 { + label = "fn(2)" + "fn(2)-" -- { "fn(1)-", "fn(0)-" } + + "fn(0)-" [label="fn(0)"]; + "fn(1)-" [label="fn(1)", color=red]; + "fn(2)-" [label="fn(2)", color=red]; + } + + subgraph cluster_1 { + label = "fn(3)" + "fn(3)1" -- { "fn(2)1", "fn(1)1" } + "fn(2)1" -- { "fn(1)3", "fn(0)1" } + + "fn(0)1" [label="fn(0)"]; + "fn(1)3" [label="fn(1)", color=red]; + "fn(1)1" [label="fn(1)"]; + "fn(2)1" [label="fn(2)", color=red]; + "fn(3)1" [label="fn(3)", color=red]; + } + + subgraph cluster_0 { + label = "fn(4)" + "fn(4)" -- { "fn(3)*", "fn(2)" } + "fn(2)" -- { "fn(1)*", "fn(0)" } + "fn(3)*" -- { "fn(2)**", "fn(1)**" } + "fn(2)**" -- { "fn(1)****", "fn(0)**" } + + "fn(0)**" [label="fn(0)"]; + "fn(1)*" [label="fn(1)"]; + "fn(1)**" [label="fn(1)"]; + "fn(1)****" [label="fn(1)", color=red]; + "fn(2)**" [label="fn(2)", color=red]; + "fn(3)*" [label="fn(3)", color=red]; + "fn(4)" [label="fn(4)", color=red]; + } +} +---- + +If you take a look at the generated tree calls, the leftmost nodes go down in descending order: `fn(4)`, `fn(3)`, `fn(2)`, `fn(1)`, which means that the height of the tree (or the number of levels) on the tree will be `n`. + +The total number of calls, in a complete binary tree, is `2^n - 1`. As you can see in `fn(4)`, the tree is not complete. The last level will only have two nodes, `fn(1)` and `fn(0)`, while a complete tree would have 8 nodes. But still, we can say the runtime would be exponential `O(2^n)`. It won't get any worst because `2^n` is the upper bound. + +==== Summary + +.In this chapter, we learned how to calculate the time complexity of our code when we have the following elements: +- Basic operations like assignments, bit, and math operators. +- Loops and nested loops +- Function invocations and recursions. + +In the next section, we are going to the most common time complexities and real code examples. diff --git a/book/images/big-o-recursive-example.png b/book/images/big-o-recursive-example.png new file mode 100644 index 0000000000000000000000000000000000000000..67395f3c94048535cd4316ac65235f793368b384 GIT binary patch literal 44967 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

2*+dB)MSw}25LAw)U{Ftl@N-{?`CGDL2M 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 OedYKK>zc#&v3~=SUA>(E literal 0 HcmV?d00001 diff --git a/book/images/big-o-running-time-complexity.png b/book/images/big-o-running-time-complexity.png new file mode 100644 index 0000000000000000000000000000000000000000..c08878fcb995596792ae0ba5eee8f8573af1c029 GIT binary patch literal 79243 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

q+W^Nh$OCCR5mZj~J`fG^0U!rS&Tfka?SG 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 literal 0 HcmV?d00001 diff --git a/book/images/recursive-fibonacci-call-tree.png b/book/images/recursive-fibonacci-call-tree.png index 380ffa1343f49c6ccaf76a5cb6aae788d963169b..f6e028c3cf7c9cad1748ee3072c82a4c6eec3982 100644 GIT binary patch literal 41935 zcmZs@2RPSn`#w%nMFXXjM7FZari|<@BvDpEC6tlTAe(HmSCWv75=l16ENM|jC}mbw z{LWjS=YRZ<U&C>S0UMgQp0qsF#2PImUS z6i!Y~&C$Gm;o;kM?AX!M({uX#d5tp1A$m zeV*-;lap*598)}RhYfOceQn>|KXdV-+04-3phA)LD*+*)&T0dyw1t^LTNfm@%(kzkck;kDTMVJ4#DS_4ACk+u7M2ICxO- z@ZtKZDvC{;Hc@nTb~e6x#V#ruJ2+?=5fPz`=a7*}e)8l=x|~6lZg_OGZ(*U}LF3}8 zckkjiGfA}PoqU{L=)*N6mo-Z-N2Oz3+t4t*F#g%F*uk+yc#n_R;Un>TZaiN&R+?&CA9@UN_t$*|_!Fo80W^ zHU_!%%9GsKac4Cxt+NfGOs-e24vdd$`EJ}k(vh+L!i5VnWA7sIv%Gi4m;Ns7k#?sy zGc&`=YX2_$IrpLTV2$6Fvpo;b7@au5eMgImCX(#4!l?6~pQjA+jO!j*y;N3H%eeaI zC-q*bxT81Mow2pO?_6=V8Ary&<*$)&xX|k54xGwPDOUmEv#qrq9Xg|~ayB>UQ*h?0 zu^%2^oc{IJY~aU_kdP3XNDdA2v7SQx99_jx8-DgfhoVdD-cEIC$zB?$r&&k6v+8l5 zms-ZLkf>0O+V8g|_iSMC;bPh=?OvOm;uU!F=IU(CB=c8y4t;!b>E^qlv$0RA=~Cr< zH@dpJr|ahQlsR#}%|Df)63O8)@nU^#T^%=*mcJnf@5(|dm?W83`F>lNr+$C9NcPl^mZ~S{QelojCI# zFE2VYb0^}d^!$hVL~*A$k#n@NixW3H!+mBA9WRnVV6X4aJGtwSEqzzE*4d79Mb(Cm z4esvl9&G7u| z;oGP3$M|ShjIGpdBI?KE|zHzxnj()2YsENx#1MF+cKLxYC*=>6et0 z)OpEgR8_&oVd6+g5tE5m2XN)$_(Z9ryTm5%Qvz3 zw4YmATC#s%9B``q%DLhRb=>)vF$Zhw>m!nqUR|SH?QrQ5<-UUlLo6CXFMX+A`?V#0 zT5e!yXlNTP?Ty@AyAF%>TlTWCvuBMgNV@zKaGSDBPfx#RQYLiy+v|>=--}I+jsC}T z4LVBCpFDiAx1}+B|DmN_auu6T%prKwy52v&80PD{7N7CDC(h;P$1^h{9ro`Yt>xwA zt(^P1JBII6Gqd;N(N9k=pLp&io#Od>S2V972M^CTvxcjSvx2+^4^B@FHeq`yuid-H zwTFpm?t8(zG*HrCvt$&mNk%=jVyIiu)>JqYOi5)#ImdRw0={M&$2 z!)+f>vwf`8tUrG15m*>~kq?0p7Mn*d|?uc+dm5eAamlVD5arSM$Fdtv& z20D(1=ejs}3?3NG%=Q#oxc&L$l4JJVtHYwZyE`r}j^cJoidJ8x=ZPl{EcpG7p3=Xg zNE#ycJ-4yb9nZbJL&ErLc_TQc5!TLc?;NtT>C6l`wn^*Sv#Wn}%dh<4+-vvl(GcC^ zArS!q*R*N&Y^{{ms_Uy$xTNT4Y5o2EQ;|Df-#?x^^1ZEkx^0sDHI{Mcp`un%QBlpS zS0QHJe~|}Tx_F4 z^R>7QZ61B`!e`@z&u+$%dh}1;zP)wxUa3ZWVY2HY5(g{7#<;{*r@&OYyTGiiXtT(b z@7*DA;xz5Nr9IU%Gn)&mE|0^XiId$#NGMYGC^bJ(XPlwSBW|9W~m zuK^oBf0*6d{AXVcq!LO>4*mK0sjIn1u43Z~Kp4rKnQ>NES9iXzaXTnz6TXa8%84)X z01Mn^m5a|S+g`tpLIrdB_3ce|vaqP=`i)w`?YA~==eZpdb2qxs*LAxtNuKR0$M5U2 z?B9PgIG8#sgTCW%T6WxD(J7Z@Tl$FJfYs5d(dy8hb`NfONuLr{RO0P;qrDJ?G zpPiY>hRj(aRQmtzep7w@x+B?}clr7GMMgy2KuBr38p#L>PWtwiqb8pH{h{LOA3mhb z*Lf!mGfq%CIyt!^|8}(LQk~jYmyO((^!mvqi{Rj3v8%ry9Ba_f)Li%Z#m)7KVSn8= zwLF(u=ll5G0WL1Cd9Q`vKPskMC7pk~-_BLBplfM4NH?yNqpzMM5j`<6k>0>}>Zt;N zika8kke=Ix-U<~gJb8rjKKF|kF9wH)yDHqALc$K#=0>dGBu$}1hq6$d_efq*x3K7a zdN~N`m~!GJ|8s|_K^6RZ)8gDTWl!n(-MAEMtGc@AP%GSjk2O`eP4ATTlDc*4mVIwU znN7tmVe75T%*(ZJ2G5;4_rUCV@{WVX?I?2At%*%|4sox=Sv|w9;laU&F5{*$e`oYU z&JUQ)EiB-YC2{_I#OBjE`1=k?8Qs;sn@$wlY(v(3f!GVDj*pN3_}qKBY}hj2xFis_ z4~5uZ#^}nG!;dfa)#I!g57|n&jQ#lV7~tVmvh-Dv!oQvm7hmxh0RUvX*olq3N*%CAVy7`feFxQFCFX;T<0eln|6)iMW3-j=7ym)c^ zY^hnN&&~B)fE(hZ+#apOeN*$wc^$qoX0*7t2$b2mspOEZ92TT^SN%&ym`pm#@$&rq z$;THa0cnaXn`n8C-_M+sTDx{FVm$`Xbzop1V{+2hl_u@qRXn$0!v+!C*Z#=96Q5lA zxS58TKUI1rAnKRDfB)J0EGRGUATEz_Q=xg?Mk#4&ahIQafN#2*&r(eW{>y_4$k;Dl z=je&MO|kLu@sZj{P!5)Y=uci=`tw}1VO#(Be?JU(Lt_8TnKM2R3{~Rn9-+MRoNJl=2A#m&g1zGx-Mw>PkfPk)9$aFZ~LkhJfqNb*mdGGpIN0kc7AeVBGq%@_nLLmhS0iESd%^RVdroq~LP8V2f8Rx&A@?sXZYP0~a`N({z0b-!Cw*KGI<}JY(EX0s zJ8Z;Y)+WK{NasWui_fxq`WOTG53U8dmWgY~d zp+xf5JFG5Zv}j(Qp2tu8>GNjBp3~COQc+P=0WYDK`26+jF{JZL&dv&E&u6!+yRXl) z`1h~4^T<|$U!RMMIeOWl$7J-VnAlftXQxu0fv`nAwb$&I^*at2RR!-7 zPM&+ZxafffOWDD}LFec_-5hkJN?KZB2vogXgM(P|J%c<(f|L>x^wQ+kQsAyqxB}53 z^fR-wBXQAnb!o8!`&n47qZE_;?BykcA_i#H{>VyAN=nM%%9Xo-ZMX&7KeQdA^8JUX zots))tzX~M8T(Wo`|JB#Vds(dSa)wt&CP;>f(nX?X}UT7VPTx;lo1vYadFCMUb(rs zDWu$IsJJS|E3RLsw6?a6i;q8JVIlwK{_(<+k}P1Io(~@wJfAHuE%@BJKYpHvfeV! z7pFFD+qMk}F5Rd}e5H?j5VBiz3XO!2^N4o$gA?+g2ckk}s$bh4LUP1Dd>J1vaNffb z7?e0onqo_!>i%bcdM&DbHrV$(OjAH7g@j9jfsRv?)U2!lDjj>vA=2~)M5Ls&MRDsH zJ##-KyEMBWKcO$tX}9aJeO$3AtyRFk-b`FbNNA^+!@lp`c^3G8_R5JhMis7tBz3%d zWTmQvwf>8J1#%Om-Dma*2;9ak7D5im+JDZ6d{oGuD-6K6)A?r4LxCyE%F4)%2m62@ z(8m$e>^_`{4}4%!raLMoXA}AF$3GynNyiRyWX;;O(NC-CGJi#Iom^SGPpgFEAl1!v zG}U!=zDbfUy11qIuvaO0u`RD&iC-CuL%-F&<6j?>fX+_|Spd20GtfxZ(+QvD5>pAU z#V1%?)}58-Z0EKux#KqdRS*Xzv%KhpP)T*pG-uC?Rp91aX^fqfOilM9?GAsq_9{QPusR5@@Ct@gy!lw6iB;8-qBN`zZ~ z<=OWL`E-PN#3LbA-%XZ;;g{ ztgKdB-N8Wsf0=dR(^KS73h*|leAMTjv8i(Zd*)!IyY@1tvnHob0kk}!PxjuAM>)s7 z@+g6y3Z5@D`)r`wDeW#IySyk2{G+PWd7{%@B}(Yg6uC*W_ukl|!+MFPWv)Mne-;QJ zYhsas{KVmZKVdXDI4EGCX4L7<|hwgldL zQdY*zl%o*dt(Hz7Uh@+usrdWPPvuAf*Zuvezz%Wy4)fl|--`UB5{#YZrmT?A1cikM zfb0PZltz`=W5_Q2;|-5XSFs;a5UfszaatgEa0zlx0#e8$@PR&w%Q zkWJt{bxLfHx3shbIteR`?)OBfq>E+Vy-S#3P<=enfg>X}NYt7pCVNQlC~b`wT!=62pM&Zf;0^}E|M^`cOwtyMzG^y$Mp=ZvU(>|$e4FoZQ?2V`F2nd%Id%g27x9lHwo0se19^IyxfV99{N<_P$(JE4zLkU|<+9F;T|z z4$w}%NtqmW7Eht*o1T=!bjYr|_WgUt-Me?AjV&xLR?yPgLPtl}9LpbOoW~(9zKhEw z%LAz8KcG@ut8n4tlcUbgB6vu2H9FebN1}O-6A+FVPs6_vla#bLeR@Kn5+^(WjE64+ zSg7vpH4R{nY!@go)^K$d^YZdal)f5+_4E%6P~Ic-S*0QPsQU(af#7_BN;1sr0tx9w z7<6iCYQRm7{rgvQnXq`yPOu=}t7xXaD9Bd9owpTuQaDXr=U>n2%ys=#w zI2&N>9Y{fFrAT7}h-v)tHV_&9bW}3X(<>MoGyeYl8%bTz;qwt>VX(s{wyfmb{NFlG zf7LjA{(bG&R|#n9MQqxyp+)+F9YvZIJap)|NFNq5@#|OJ+qbcR9bimJ4$lEGiQQGq zJ(WJV0cEu7t_JAoo5jT<0H%Hk3A@4WSIm7)2s9OmiHwv#eR?0Z14zOj-82?lhuik@ zo=%2?v$Otz1noqU#wU5ItE*9f%>iA&6$;q2??WO|0fFcITXhne#_t~=8bCKq{`oT; zBHDWzRC_R!Wa&scN7{!+MMdwx7=TA!4OAv3At7Y@n(J5yqhg8eo2bw~CWiSYXHe-u z9K@p+Axq58=0rgL*30(s*VQ6f)O8o0rzKfBp}k!jxhoz$2D-{x{4eMMidnjo17Wfx z_00VGMg9&QTFwKXZ})H>qz%5Yb`z4p8K@N?pr^hjT;yT;kp%+U0h9~jUXh*8^*m&m z9&Q`{@wl)1o$Py``lcU;e7E*1nmlp14k4la*;N2heefxlZhBZEaOm z>Y`FpQ?q_`rw%ly>-e)jqVFun!`2F^b}#tT~1PmFZz&&t?vaHV}r-VcceMf8#TFWVS?Gfi#nt&l~+yTkI05FX1YClS`d0UIvKY* zJBs_!9Ms~D;$uF4{~i<>NryVA+CXc}MtUo$8sMJM*Ew{E1CvURcr>mt0ZyHaA~x5a zKbL(O%Rk(}?41eT400V0Q*Mj0hK3dRnU+NHNdD)G5x525H`AOSm`|ciJE3oRdigua z=JAp)eCV{u_v~YUC{$~<=$0~#Y$tHGbq|gtS4hWM=4D+F15)fhNy**J%*=O0&ZPry z{D9bih+L6bP^@&zo0nL|7l$c8mq;VL_( zIDN*YqTVBRTP>FF((J?+p`wk3A4%2(6(A@o+R)ITlqCkzS8BmEB(#U8U#tql_*vR|( zIpq0SP(=~Zkq}4F20tt=)|ZHAErWpi<9$g@P0da0A^N-unNiX$k%wMdoI7x`RDEOH zu)yKN)>t#dFhO)KWm^^Gkro=ze)SZc4WmzP`!YCKivopUT#b`8ln8C7AiyH(TvJmM zazp>uuk}a)(V-dBq_IZ2K|q%^S}X_JarBL z9Yoe7AwI_E!}WnfGqDl4l~C@eO`SbYMn^{pQ2{0$`DmBGX$st4ip;F6OJhBPd?rt- zpmv$s0LV(ALO5K$?D?$>a?L|T0Ag%y)!g(jvg)I5ucK|a@kqL~+qWOLWlUyx4Ei}S zG12C2K2vXRFC+8GgauPaMAQf%W=-bL&siD zXA_IUuFDI*&zGd7rMY8w8JQpBw7;QkzhCs|(Q8P}1_^iW+%GVDo^O!*<{S9C9B@PF zR~#H%(V3c(Gc526^l4s-6t`kR2q4xd)NO*JVsqJ(uQ&zaiLjA;}z)`02lG|7)kOEpGjVcoOMJ zaojF`eF`*a_i-tA|+W_ zSrVvlSgti<*cM6jS8V{@A(_(BKhLoL_nDS3Jx^?`oE4=1sMoDZ1 zZs(Qxm8hDzq$RbNmbMyIXcrKH-gwii zS3_XvEx|yxz3R$4DXOcdSE9QQT5mjH=;vuBl{l8YR+zBG1~SQqk6 z{t0-isG!h}4b1-OmG#QA;9_6p;Ly+|@T!mn0{u|?{e?zB@)7Ml<8iQvs3^Z}tRB$i zeZzuKB%N4(Giy8@G#jW%Xiw&U|9A;{wE>qOtJ}I?DfEE5*FRM&2AYf1uM>S9(=?#@ zJ-<46zsWx(S^4+(NgDf4U0~YE&B812joI@WNY)pN_nusw?qr%9^Eq03Ak zdjI|pk72$#AdOWY?+cRAqEx_np{Au36qKE7@9r)g`5k%X$`u0t(&X3IhcRzC0_2_S z>Iop;=e;bwe)FEsompx#<9#VeyTnkD>To;5XyMx`rv8p2sQrV3!5R!- z79EebXsD}$Nh1q8Sp<**iS|-9f0h!!C+`raEgn^ z16oYhF_=}fpEX2dgv5kI@|*GGggub*+Kt{Z{dIsaD1)mBGdeUaQa1j#3EcpA%}B_B z5$tLxlb+UXhUb4?J$(4^$8r~~fq}sOGxwY+SbVhQkP=!yv33IXdU|>SfJ1&_0jWkL zkbt-935P=fIb=JAClJ<(49j5PWG*ScMgMdS33Lw=)1f+A>e9(-PJxImadVw^x1#gfpcs@*Ao>wxds3q zbW@ID!Cn|>$d?`OVP|K*1eu(3FHyiz`8?3140crel(*k31du{RN!#n!{* z{P?3z}`o(uA8q4QYVjfiPhR5e4^+ zdtx?szc(>)&+ng~UP2?EzjN}pJ$jKY*O#e}Qh{}dy8xVcNXUsj3#LbpQsVeCVF^J) z_&+;OSXi5$=+XACl`ccg+ac~)B8-U{%y^V|ynG<3ei<2QM7rMo@^*ZD6V5N?s_92K z01%CqU`qL=e(P28 zW>0-*n`tYM>Hy8JuzO~r{lW)NJo3R3y9zCoNEvto516Q^D9{7_tI7Kd$yr%LvOALB zfBXYw>_my}cC=~6YqqPH{Ph3(t?zXb)*p7{`9#=O+!K*$Il2!1;mRlA}L@dUEz85sfo z{;u~m!t*GLUJwo?y)mzu zJ$AzQ@r69+MA{$NDDvCqI@yv;J>RZ%b8`cpMz`JuTNAu>Q1)Ce6PYR9zN@Rt0>Foj zjZFY{p26|S;Z5jSLDjY-Ng8g{qPeG+y%|XHEF1^MlA@1`XUB@#s5Wjihx(=K8ncS< zPR$jfy{ zh{TDJrWUeau}y~@IP=vj7&#S8Cb=K%YB2)X@e`DPgU}pyfd)o@P>ll{V%<-366`&p zjzPHZ5qDGo8nwa_N$NyLK}=te2xwO9hfB}D)c6&_t3#Smxa*Lnfv5W+pD17}&w&*H z)Ld-XA=&?CCnF=Qb335>fDB4W_dI)95#$MR1c4S5H#If&m}=rg-@&-jI4#zJhJW|? zA~R}QDi~9Mcs-Ei+PQC9Qe;zrU)td?!8v9}cZ;Xr29g0EGmKXGE0H#uqqqmZeuWyj zO+`fonf4~?R}m86UG?~MXSTF6WMgalNEh_;qc{X&o8Ag>WFu}pzb_W%<|EyCyZgKr z4idp*x9Ek}a|TDUu0w?j+Huev9S|h{y&ydRtW(jKm4K&(^#>6nN;vFV|7~~#;}xTW zlsrr(~ej z4fy!%s^O>&<8hF`xU}bBq(q+mI^8Ba{ISfb*!GPo+UXcjb)1@srvXgR=1@yYN}?Ma z)^*{ML7@g^Yyo7YtV{*RpEd3h@kBCd*o3bTC;TvR+|y25h4vU|4-l-O_*~bMO9N<& zP1R8IVcsO3x8ObE5ya^OG+DVcZ-)et?OY+GWoDLwtLpgU{UJgRfENi34TZcDK};$G z&tlLfOuaEQ(*blhC@_5ma|SZWMu3}APjE33ZOC3Yf%JhYik9(mps5_ zhk*RsyLa#G++27{N`do7hAT)Fs0MAjFIK!jm>dCGeB$tBg{Xzh242G3;{5qnKu?fP z?;_ok+X#175L`Qu96{y~MGXfPyjS`T2}yvFX>jWx6Kn9rNXt4B>0BI+S2e(G>@G2W z1(Jb;Gi1}@+=5DTT*;B|%j4s}fOg38Vq+QbVfwiSA)sl6?0W=^OYP@s?Jgfh>bm-S z>IiDBwk*_e7GM%ajwE1vkr(V=c#2Y=#03b7V!TO zLnzV3u|)Fs++r^|${xeFuy`Eg2#VuZ+yM1NvG9wPbGOhLEDc=EH+>fP_^~KjJ(Kb) zA*f27MQ61L_1{ytAB-jM-I--H&4gRQT_8Rx0OK?E_UZr%L_0?-wUroD z0P4U^rJ+V5(g?GM`#?YXavr!2J6?z92E8|g7=HcW1ReDA!}dK#aFm3@M0Zh_tTD2N z6!}%3kz!gBM8kj@JHXC+&5v>-S50*efWe}KChpR%Rv@rlLS1f6k=4R|{_+Lg`k;3CmGd7zespkg$p%^hA$xRx3b(VGwKWI0 zD#f)as#(Y! ze*2HBAhSlkf2Z5EO9dJYm?_ z^4-kLt$X&U;}cD z^=c>WuFlRUsE7dRAeI2m<$(%2;y@iAPFiVcY3Ko{ZmghBz&*m%rJ|;`A6z{sb0i%9prHL6 z9Ct^mvk~51xIF2eZIE5@KV*eJ0A!86$z_0Xr5-x~(gAY6;=jYSdJBtiJWQU1DFqec z0b8)K*)DZW&0|@*+nAVMp`Qhvybp@Sf6|AR7AG%n5O5k2qo9BQmxR2Z@JfaVYB%%m)6HtJiHsAx2h5gk;2&8jtK-!K7Lq z9#XJIA%(-*m=85kC#fsPu z{`nrX^E_kPxznaNA8k!<0nDv~+y<`W68r|RZHB?4q`4zmF6v5seZBpsr_q4Sap+HD z@f|Sm(9_9ht%ihuX#%`8DU7J?gl~m0R5gKth5jzA%*f6l!`FcX;Dlozkf3pNe-K1{A<5!_?o4{E^s=bU_;-&yFh)%y!lE|SqMLGv~6M-Xls#fO(k%_d;+9Gu$G z1R26J8^U;~AI~y7JFEPK+h_AMv>qgl*@cC!5}WTyTD_YpaesW4#JW; zJAAhCH^RUP?H45q251&3DHE8bYF47o6)hJ4SS)UX)8F~aU<<3sZx}MP0SkynVA19kkgwe>N`cEF$zfVjvvW}s&$=ySYs zfe*LyERrty#UuIXL%4WQYLF}t2)e zTwalx>PY{HO;6R$A$HQ`xi)Y34-Hp-Yp#gF27SUV`0e2Iw8jTS@fvE5+Vt-ld|19U zy{E3OP7uNpMk0b?k3?5k`|_pQMlF_FI~*?IAuLh#fkOOXUW2fHmP{Jy*ds^dqNZb} z0^XQH++5-x#|C2*!-tC<>7W5iECU7tyk-Y}!IoYmhe5wdR#ui^T10QWjHd*+MSQjr ziAUW=%3hVR!>J2JENOS%=Ro1T;swtb>Y)E;I|)1gUc+Y(DKf zQ49b#38DpDCyW7X&(LVHCP;9?({t(DYi>+x zxPH%j>>m@ZqIiRSbi{YVD6@fN?cGoFK^WTR{J$s-cLHs zK_KL1%F#!6>@UP8D$0O|B7PFIIz||Pfz}Hph==ScJ(-L`Z6gqeXe_{zIug1$B$%w? zAPy4Y4Av2J-89fRk<(Ugj6@m+!(cAhAulfv-5o8=4eZNWAP=sa;P=QH5zfT)MT8?n zV6&SBG;UF}E5o3XP-i;O>uV;8r8#HP61KkiHq??Gd?w1sVQ}OhK#Cmed!7QFab=ax zpg_0dr0Ow`g5V+@JWk#QC$Do1KgZ0;$w|5@_#WlZe85MA5`wz*rOh-IP}~9mM!1d@ zQ8?UvrR5u6-rKVC))4Zr%Gc!~5n!e@Li%#0$knI8Y z4RYTVpQ97DZrO)HOElGj|FQ^u(|%J8v@58>u#AL9L=g82avuU59Ko%W6lMz8GEmh{ z!wm~?Pp^4U)%WZx7sGt|rQJK$b$3e$_l-V+GlIw>>$dDw2je;S_fOxUZjC{=X?e_I zYWJ+$sM@`lnhlLk)ept!)AKEF3u-=x)m`T69_J$x`uP9fZ(?E{!iQX$^BGJ~{v`=;1>Fq#x}Zee5@ZVPNzKt3Nu4 zp1}|53!%cDM;*@E~JUwAm_m);Z;)4ErIiBpM#^h34k~o`?b}B%aD?f# zeG(Fk$OoWPF(i|U2`q3fw_v1chdPGF*XmHk11>9UN2Wn8;kk(M|!^GX_3-&A6DD(-)VY7tH@!7JX-1Gtl5mx13_u(Q!NaxY(rV#m(p6U(2w- zGp+(j)>Gjo3|gEUD$)U?hu1J-m;UF*IKz7e2zKxkO#b@C&dRz9_ZzD~&rbsp8vCG! ziHkf>FI-XFg*EHf6Y~UGkS9*Vn~6mO?tO510;j7ec=Ye3mQc%4W;s;y(s=#-Wyql( zSB0!+1g-<~6tQz@x9L;Tqsp8&tXj2?>z+fuUC%@ONAI3qSNV4V{QO(e)AvbLOn_3Z zj`sikBTbKU)=z~~L?j9gCf(k>t;qLrFi;a_A@-EiTVz)fP#6hAquG&qbTv@FFZ@HW zagY&!4i7Y>FW$ao0Kb4N1*!(^9`$M19iEhzt2vEDJcw#_$!bEQOGqAg?l$6RZvR^& zed8Mb?$>o~+(a-aVA10I z_X1}O#bJLpAfx);+;k1`0SdS0>1AFlnVM0=9~<5YQ8DRM2y|v^ur37LgUy|+-+htr zD+On{Zf`|C9lSkge;j^g@E#MaY9ztBarrhD1(RRnYa1Xxgve;xeh|PCk;m} z`IYkcOm>Mmq)tfXF&;YIBM{?zYpO2R%-qVV4v6|1ro1{;)_xuyZa}f!Ktodp6b2wJ zbZvM zskjVp9{actfbQ4wAaneOv{6%|@rRN$s(kU0S3*n=4O>%qzJ zSI*u*P1Vge5r?^lOL&@zhOw$KTw5+|tZ{Kd7x<7}-9u_|(dkQ>!l|cKw^_7vB06(K z#_MT%Dt7Ui`m`otQuX4xonim;0toe0D{vDe8ZYbz%s@sINL55W1pRtx3$u(Rst;jE zk&%ea9&8Y%Yf76uvZpP*T+zq|(#qxC`n#}cdA>krHHW5;`>!a?EYGuT)dkOYEd8ks zXixWjx$xe?)y;}J9P76riu=g`frp|v{3V*Din#>*T}I@sU9KzTsG8)>cnvC zGvVn9vjR8YrooSAza}oUl>JG*s);%YBMp_7mKGw~qCNGfxgXn8xc#ViAEt(8O+c`O z>Z0zw=5!Ckh}tQpA-@Qoc;U)-=KtB0Tu7X!; zD`)t=cxuQ^ZFcA=&79)s|Mah2e)Onlwe>4nNyZXl*ulUCC6b}x%kty7JOGzq7%@m( zg=B`85b#`4{&s!p)H}A@<6N>)`8Vdi+?_wjdqlsl;Q1cr%A%WyYd*Y2erO z-#lo~m0b?fx+mqrclrX~6_L*F!ueO676j`R3;?&L11pINVX3eB7EAw!0%hs%VcxK~431MM6 zEUN||^7+RP8sJ@wUT>wi9Uguic%u5#CnksiT!wCt_CawG_Xowqni9-H<2>b+l-8rw z@%^3qD-gC1nt1hfbSwsJg{ABAO(?6YDb}yAi!GqU0LL{zTY~S18{DW&?r|A}ZJ3l9 z5ccvIy@xR}$bf0vqgU|>3Hy0@H$i}`!h>y=-yTnG;;1jy7x3nHZKKQmJIos~9NiDT z0^YTA9Zs~3TRKGAIKwyd^ViG#jVc_p^xd(rIOo(2Ui03lxwj zPs8K7(bG&3)A#nX4)xX5KHO#@(%wsnqu;(g!jK17g$c_C6L85G5k8Bmi&q4MQJyBB z2-zZ7@XH4ilxI7PI79a<+&5&mX8S7_^T*OwUnP&f+7c|dgMpy|sjv}!>I;l4>5cuu z<59kzW9!@(D}4CsVT6_?G5tZ7zPf$uV&Ay#;&OP9`|-#qThnPpTFSD1Iwm-}Q0k)lr+8}G2&6u8eh zf&2&=DGHwCj|Yz;Kw%G2Td`o<(^q7t;IDm%vpd>sXvdQ{p4t98DtcW1kgPzx5sWWH z9A2%RKHU^IGIw1fMS=Ba->^~KO z5z4@491sT1+1bT%X*C{>y?wh1JaQ}eOHSoETMfnOB>nfvLQ_fizxs&|ef?Vb7;C#X z$8v4Q7<;F~AHLIPUJN_x-3AATA%eAlfshfa;T@%z*vTO5fn7zLD-9xNJ-DzMluiL4a^GiK z6je&hlxx>k)%Y#;Wvb&0T<50Pp~$5_6pHTndgt(YV{_KCFtLDw$f;#~DOXyC)-W9e z-7EqD_RRb3kKQB)ewEBAmbMxs7iK$)wO4BSrvQ7j>^c(*Q8Uv0iAOlqvl}N z$-peUwVQyc>P%A-5`xGpR6v`O#DnHL0888PcL{y}H7Jw8y~30t7Sx3Qfiy>4cP^E8 z@#T2?LDG%hFS~<-uie#{8&+-}!e0x(R5ub4-fZK9Ao3h`^x`+IxE2(o7BIZl&WQrE z8#J)N9&I+T;qnb5e#C1Oe_$x3$D#;MFn4@VNAINXN2VA==k^mjE-2qH|7d1lxTNQu8V5F z!^z|@-YeZ`DWq6=JYQ%3zQYESL-%vQ7Sz<&-?cGVrKoM4aJ37xVp?u)5Gnt&Nw?3p zV%Q!70N}E9T;JJh)J=a%sI|Q+H!OL%c}vzdURmwoNdGXwebPz%2ea3Vt8t*0u=(`# z5XBKSwM|IEYbY>Ra+D+T3otN*9M|DK#+^G)BM&QUX*GZ*!91Gj%%6)uu{-cifo*&D z=BK*oJ#g5^u1MB~sm<59hFaVoXwzS9=i%b2!p}M27Px5Iv05hNnmw1HSUM5msC(1H zP`Ra))45VFc2Rpr;neEOG6A!eLNZ>M7ada$#FY8X($d4=!0~P)AGm^rhTXclyX(<1 zkt+ypk_FkKXM7W#Gr&s!>U>kCRAKF*nE3b&s{``5^x_Xcw&`F+%RvE!XMFM5?eqB$ z#}Mkiv3aGhx%vX${q|{f`4++4%xXZ2=(dzf8E;EVe#6rT)42AjxN&C zyGa6WIuLj5Z{PC&_8>i0R2-ENOJ^6Qg+*O#?%i+Qc|o9k3TwFTrk}rnor1BPI1&05 z7?DC3bEBNSe zaG8ne%rdb>Lh%{FKsp6xXDC6y@%|P?5}W;5KJKs_QqG5FZ5utk4_=iM<N9KO`AuAfUXR8nH)IX{C_ zyJ%CT0i9RAP0r{;>oM=U75Ap*|9zgpCQxD`mGy zum~=J-hlF{eEZRxJ4k&^#nS96sm~X!Tn!n9pb!ui7XA%hn&IGeW98b#BfNXI1^5S? zv9G17U$shs23R5p1$yz>^JPp;z5|L@l}brWY!P~CbbbK3pncF#FFx*h zShBXFLV*U@h%sw(1td}14y#|HsFkT8a>xIc!*9Pw%5^J1kb%(yMN6U2i*8l#c4>c3 zbiQ-?_t?8xOx17QzMb8ee5cj6;#ZVJCjx&J1l4nsZl$r_q=(^-%S|p(%sd4xi~E#g zV{bP?F;-Y(UX7w z9B~$z7znF6nJcaQ3Rk1!$)4OO_&+cSx0v*@^Y{t5RRS)20v=)$^>?0UE~4`KAqx(m z&%zKDon)e}O8Tqo1sj-{nZv58s%Y)pBR8gc7z(luN;YrVZWy}g5DB1Q+&|#vi1#P; z8r8&9$RDMAc;(>jMC!$HZ;H#SczgwK^*+0b`F2XMx)BLR#GvX4U35>}kB`}8{#afL(-IYO;kzuAOY%0{A4l!& z56CQx3AazqF3io(oA*|@IXF3Ggl4m9SMth+la^sBSJ|r_0~=0ynnpfRdR=#qSaVFg zH9L}Um?AG(HzJn7VUS9z_Q(4GrjTY~LBXT&R+BesU^G7ifEc}wIMP84W*PC8wHq*C zop`8rh0zb)gF-7#v)SOq;#Q3$Emn;m?q{x^n zWgG@P2*d!FMNL@ySqdEiv{cH+H>?g zOdqR6QfQbo^B)Z9+qN*WO~8rc^9a`!1=}CcTFFZ;$YTIpr{=7?vSz0Rd9xBsAp)3c zB?fJj3I@pozmCm?M!J&t8d^N!Qck!1(qD;(7VA%++u$+BZnpb`-kLQONYVkV%)NW#*12IC5 zmLNqK6z)N$?@8Oh0Y(hjt_BBQV3`o5gV-63GHuD$YEkIuPbw61vb&UQ?sFvCW71F|#5 z=H$j6(jViCtwA#ec2fZg0D0*b8J8JoC<+LjN>WW-)IQ_k+ zjK(l6FZ3-FzFs{}fRecMU|5rXnDGK`2)k6xK-9x4!~9`l$GpfM_)(M)+$2{Z^9Knn@q&B+fXBO5 z>T$!j?c7NP*aDW43f?b2D0&(@3cd|GeqQqYJY^N#=(3C1)5lsZHeEhjQ_O2o3@_h^ zW=^0&`+o$h+>3XEkhjjHL)jAZoEL$~X-lJJ)y?%%b8FX5Zb-cBjJJKwC1t!ySWUw? z;g=q<&*F$V>(=dS6^^a?^5uxp&aHGc4TnnXH#m<_IFB_x-zj2gyII2#vx_iJZARiF zdrX*j;^T_ck|DVeF9#u$hve0W8_TI<6BC0mA-0GYxjgY)I1GVjD?R<1c=cQOjhc7w zc7e(!C<ic$ueslo#w`=Y37Reme@_#nv@^b&REABnVD7Bws+*))S8so^@GE! z#l;t=3~hOqra%HB#Ah+~7RL%e%Dph}j||`@w@W;G2)2wXJyejJzoleFX)1 z_ab>48b%Swn>zu7?qTYHnuZ4BBVmwu@PePMAWMM#*HdI>X70nlG5UWvw;&|$A(?4* z)|G-ZjllW0U=7H?xbrOhIPEb1b@a+^3-_5m1x^IQSQr>`#O1ml$H#tNQFIfQg^gnM z;|rhUFt1E;X6hyuf;wyXx?{T_N%i+i@d61tv`r0AATeK*AE@;g4RKg!M#lA6{vgio zG5dYIn@&>)Vmvm~MZ5lWLxIJ&7 z%O!KW81BS`!2ZLBcfj}qSxyPsEeuEygI44GAZ-Fd(=%yf9A`Ih92^(?^K!NrWr3MH z1TMW7Jv}?gOKk8mNb>fZ@IJxtJsXC~2@l95L5~u76Usc)YrggbgM)a@4Bqy*olREc zT&Dt$g~r7j+tP0gI*Omf+fi0m;axq|gN|jXAEsg8r!aDKe3bfu<=ZHfUjjiv`Dsj? zKaWW%bn}G}H#bxsOiu<$L8u_eR&m%fNsrlwsUKJ)X!iy139xL3aWxG7j?>V$$-6ZQ zF$5fPqC5CrGJrQ;*Fq2OUlH>UYx;We!k+f0m+cOmc%(3Kew*%gLgQgd8)VH*T#hrC z)-m@}h*Ai7`;GM*7icwf2Db_d_@UDag7qkrXU)_H;>FbX8UWags2`&vBd1Yw$@nI0 z&J<82vh0EE+B-X|i72p+hVeAWa5(tu(L`oCy2VlX;M!YZ4$k~@72ee0Uj?57UIV~? zMcF5c2ZSKbybk?dJKi&qb^b9cfhAI}$DNErK$sH$$ntD^1=sOVS2>$bkkgs+)>0-OupJV*`8u)%!khMZtz zYVvw1yr$tOMo+`z;<&CTE9?Vf72$$d!Tdx9nyQKE>6_8f(LF5Nbnil;>j#}tkLlMS zGHmI&fS#x}*32sab&eIZ!srLiOd&GAg6Te1yf6)&jqB248Gf0PV3|AclR!XP3vB?h z`v$ZMbdqdx&E)krAOyMZVu;U}8s64b7Ss@^=nk%v<7q}~58Mc&(oLiZw8gcX1Gsjg zb+-HqWI!fv35|?&ngOVe<5MmpK}LuWBqd&%KMz)sJBD)#AR zS~X_LLcnlXpbNoJb}IRZw2RKH+(Plxa8TUB`*|>Z=L-_fpNW=byW`CNDeJrAxoqFC zzxJq*QOF1-TSNm{Ss`VHL?tN^4SS@igcMRTLiWl^wg_c}vRXzWp{#@w?{PiP^ZR_> z_wzpgJkRf!Zufm(*L_~+d7Q^_oTJ8|46gxY_E->gV5+Tf=04agfVdwB?f`0*8|Y=> zM8CuGb6f^=evd&Ms5wR7=WbwH+k&TJ~_5IsR>0b%(Sip zbs~8%I60)-n8Ba5HFK9R69O37N?<+=LVS&28%*x#DLhpxyr!u^(q~hSWQW}%GaMi$ z`YI1~K77QOk)2odn;G=PT5#22<#!vM{EkYBL~w&2d&h3S1vW_RfVf;j^W0tKralZa z8bFrHhp?D@_Y-dVkMN$9xRox5`T6;|fxiyg$13pi@emROT{Oe8f`BhoR%je-_x@^R zBS5%E;B9@|;7cBe1@0DTs09ILz)lnaGjSqZkIooK&In=!IcKmSgF{0!(4dh|(}bjw z@Gl}Zzfd5rQ;wZa!VQ!W%LNcwE`u)t)Q$?LF}VS9{&14K0xy^dJYaVi(ml0V;yX$? z9hg6x9rK`%@wu743Z(;D5w+dj>%iD*L`xR?FOmcM&qS`_$%StwkXZ;Kr+b0Y{!z}p z*6?&NyVby9qejcr;%2$)sx(_A81R8kE$gxKs@cuNL?L`s*GRmLw=ZT)o@dX>AH}1WUtn-2S$$r@O@&h`9$JTA&B;<2o&Ug8+9h?Sx zEZ4ChlT!+F?8drCqZ(j*Wp%SV%(aB-c2K@BIml2n5^0Rwi!_y2B2Ongi$I!q4AD+M+^(;5p zu6aYFNKEt~8ZvqVscZp0xaW;1wo2CWrR!Mi&7NGy+ z!#OE`&sxL5P6Hxj?@eSAz7Li9YUGR0fkX@ZBgs^_*O#*4nfEoFb^&j z7Z)Sy3f}-Yf;KKSiMlyCIlY67*AZT0lHdyV3~CtY`3daT)&Lb#f4`WWEp}uFC+QgAYzvQ$#&2bSE94FSyA6O(GoD~Q z6Tx66@eKsttaWc&*=AG`-pFdMleJxqUO;}`T0U$8g}n$UBmk1e9HjNnalscXdqr>} znh}{Jk;s7(#ex1x%BA;O-*ap$d69%U$tC)Elie7B_sKxeLs@Cx(8bFJ8y6 z33d^-@-fs~plLB+Z|azuu@!@BLf$?N4$&(Jc)f#SUC2P#1O&nm#BT933tfKO)6)oL z2{AVJ`~5Agx9C(vuTX{}c2cA`G9Tnj*Wf$>xeW1nA+JUp&lJL{x{%haOZ7i400n%; zV?iLU;!P-C;w^!9eGI8lk!3Jtlw)&>zM-KOs2FEKU_#O#uN1FkzXaHi zlriAs&|*8{UDc!9KZVGD7X0*8cu3GZSJ^j&Xc!rV;okVi{O->C%zR-YA0*h5Hq`5=jRDKOHrK-3`+*PBm-cQU)HzEY;6rG@-K z07To%U=bqE#g}|Eg5Vmxs`>)_70H$8S2r9H&1ikU;5Le663(a8u1Uelki z;kMS`w%AETM>U*;6Y?24`@p^tY1vYsRA@kvK+YFXuPr9r$o1|b2O^uo2&WI?A?xA8 zhe@2mVU1q*IyBCM5f)f=LbxxXqcVU-6x1Z_W#+3#)@E;S;~bbI9_7My59LZjq5;!NJskE)Y;*8IPTJ zHBDvL?z4ct2UL7g!=b}ehmC>#nS#q~R8tcq1qpJ% z*z~nEBO1b)7c4<+DUz|PE+D4ehq;&kK?^E(RYe=H5s$d&^Dy6`D*VnMT9 zk2D53Mhb~Tyrni_kbc@jlaHd{cJH8Gd{`I@@+y72WookB(1J!ia6LI$1p7tQLyu%a zyu_z=6v`hMATZ;cBi$tOR9#30Zo-0!*qh)plSk&PjqA)bL6=8?vHLh0=pPm7YiRqe@ zf9O<<4F`dEn+?1gI(O?15YM2j0Kmx4Y3mB3)sK%A6ngV(>&*BB2Y+^tjQsiApg{P-g@xxf zl|I^k?o2jEbC;Z0^MjV*t$Cn65ubqicmrFVkI3szo)pvEvj>{3P~dN7Bjfd*ot${c zlTb5spvOs18bUa+DU+Hs2dYeYk!|4=B*-Dw>IFXMruiWKm!40GzWk-1{<^hlZ(Lhu zQ!AZ-%E0aR0|V3c%dxpKc>}e~I~0d?LqtU@ww*dsW0#!MdfSY$aSOxCwy*rXEr#*j zZ{Bzf8R$#&J!oyF$uy^l*}-7_lvZ_ta3m!3aGQez)wgd;*&0W8*Eh^O zUd!KlF)gLOxuk&Fx`ZCuB&LUvk&(0?E1TQOu3nqoBo#gD^Q6e{@P7C48Gm@?_WWU| zjDDMDu=iV`@;dC`Fs-D&caS0Q?Ag3=F;#(r%haO}?oTNd6ny@3CyFc2)x;2#AxI&n zC#zTB4lRh&?qy5MRiHC~crFp>3e;jU8U+dzqLIb7#fq~5U^TjKEFpGrcTi@j!@C0Z zP2tE{fbBqjh`|ZG=qGFQzXRL_{iC{_ogf&GS|qg`9lZf6CTEm(pZcQFg<+*Z5tAw! z`wG6Zv;6L=lAFbuo(1qf^WWgL5I*@Rl$R>UdO9eItNlr0txR-u4Y!)SgrU@J0jjlY zE2fLithq43h|}z6j3QArkrNGw$2EB9Y@OCKwiR$2Uw83iX`QDQM?{Z%XC{}LzO3O> zO}%}?bEXSkKW_*gv9zXs`m|qmQdN7~~@Fj_AA3_u!jLyIpdkMKZYA@pC`v?i* zHEW>S;!PY6bagFREA_|1z%RGZiS<>HcH&PNf+d04{fxr(pYDOe<($>}hZ%jHD;8E>{As_@8#ks1jsYwlXwH!JfBw0#_1TKAAe9f@( ztJ&W2^@Z!DYPvM8v`dLxnc>%sYm?u+h30D;jbqzPT)Dq*O<%m)i!%z7BGI!VymofS zSN_O4QPiVlYNiIqO6$H3Q}yIhr5R1r_B;{Ve`dGO)Y-izTs*IaAPcgqDtL;PDrI7# zbN24!P-7sPRdW(*UWFw<+P+R6%H%I=F&r4#w@i0&Qb16xt3-C-%j0|YAD|_gLXF z{!Da-Zb7>HA}sqD_mFNJNUMcC2%Jj4zi@mL%?M^>p=S}Gt*u*p5`Kwh(U-%?GWbAJ z@?rpt#qy#r(OeSR)A{-C68e<+2+*YGN=&NZYX`Xi{Xd0%Rya5fNM{&;m2Qhy^$$j} zLfjkRJsH}YXwE;Z+@-#ltCBuzrKv;jwzO02tyLP!Rv(4_SLXiK!VL>+TkS4Rmrwit z98j+4t)r8;A{TJnV_~b{m%eJXemO%!-1wMn#lZK;G4lYCcQ0-(y$O-<`OVo|oxqwo z*?VWwz{28~uDSbz2Z1F!2EM&&>kZ+1#cE{!y_rrOGzsEc1%D_SVh;+m6VO!FjAvBy z@HqnD023n~pHuG~6ON+l1=ryc?wIf2I~K+rha?D2H46GU3MvLCd^4Lf`uc%;$niW> z$VZ#n(6{WW08;eGnq}C04c7 z(f+`&Y~-8c$EOMpU@Jb9s9L()-3?B_bcbyqd%wH3i`y6uph>I++?U%CARQ3#dg5J8kYF(XopZYbT0G-_UO*A@$mLMJh=jQEhTf_;)(za- z=(&~5-q`(Mj=n=R@ve?x>^5(GTY#S2b8p|-oga#6PP{g2+omvC$34}iR+DgXra5TU z`kDOC>|j&zuNGA0LsOs^)?rA)HhbvlbD^1Y@Zdq1mJGlGS`#2iJxj)>f9@=IY|*Gr zIbnGjmO6e1rY_TEdTzUu^yLdh*@Lp<48_im>gV_t53Rh-nSS`r0sa|%K!;Kr1?Jl2p1WDPkkUpN4Ho=HMB_t^&R147! zxucOFe3DE7{W7(`KRM8#6Zg=|Gp_Otor(KtuG;^p^X%Ks;&pj8gZyo({(;`Jou9+H z^xt+3zwJADng%u-e!?JT)`tbRF_b!S?N>V8qd#`bhEw{`OtLd8D_T^xj>m5Al@S|o ze4S^gwb8~Z)q5_S`ShZEQzQ2ihgEFcj8JhTC_I>Y zy$8k=wIhf}&lJ~wm_&nl5C)0RBOXCT+@9*kAT2Eoxf7IYw2-J>#n?E6_xe>gWMOl_CmQQr}}$TgxHNNYJk6hNcJtutLj#F_MU+vg@E(MAD%9~R+u?+g?_qx zxx{(!^h?PPdDSzU3Xe0XaTw@3bu!*p6I__LQ=Pk3Ku1ey45KnlJ^AZd(HpZYdMWD{ zE0yR!olnvNLct9i3WCwYt5YN6gT-b<+eXMZi8umY72;}?CQqc^Tl~3NJY%{R@yvF% z@oEV&#nBG$6{_gJyH<97NMV1I+%dU=51R3D`7w4(l!&{gw!y zRQOu(2l>J5V%I_D!(lLU{(srcbxDguz}`v90s=D-Jps^wQKe#>6G`(ZRW={NHX)Xd z=+o4|ngDq<4dr8%{|2D)qM9MBZ@NcjoA^~%cjmDwxMVK4R7mewZ&@uc+R4Pd-7rym z)#3fu0F$2`@0M2ZADU$^iqFnjY(0<6>dKYR%@?C9eHWEl4WcD}vX~X;h;VT9J>9Lc zz;$h`i>o@c1ewGU;1DEAD2cf_$F#dgK768(^M2NXbwgA@zNL4g+ynqFCacTcZ7F zACiyu*mk`A5qLYc&zrZrjtlW$+-y%rSL>1-4zgK7K$GRU0?k`oW%1nhQm{~wws{ub zm2P~c^})8Z-f_CTG-Xfj4XUyEPqrRyx@hXBVxO!d=P{k6dCUBdQq!xW&P|*RzrJ&% zE|mbc4V^=!p6I}QSXb7r>NpNR`|6ctKCxvVFkQtAZ`a%;CI*6AK7$UiSSI(|K;_y{er z?Le&V-Mwq_GZxZoLTR=SnVdjCI!ft9oqfwT0<#(*3AIF_G7g6JI*kg z1_+hL=D#cC`A}>yNHzjq9~)Z@rtLISBJ~a7q@OJsHO2(IA@gmF6 z^yHyNo`*Z{PpR=Ti(Bv7gx7|h2U{C~Z3BxoR7%(vn> z3c`R24opmhs4+)-aWW5=XD0d`)XMy0Vzp@Wh38Pzmmh~!*92Y$ur>r$BO33z;D#bm zp{GE*NA!Hq7xb4pf5OASfh`nGwWAQsYPZ4Mw5GW^%d++~nukhN#ko1a>+yer)=eaFsze?L8Uy{_(>xZr@KrPz}&$}pai$zs2b&Qj_V zd_Q&`iGSu7KZP*ccxxw*F%JBJJx6WinvDP&VF$;2xbQHKJLj@Q3G}d>lFi`WQqVZH zp70hLPe)IJkfPBopcNOSU?r3M7}S6NF*&tp^jA3{KY!`#p|odNwPfyH_G1JcfVI@H zbs?Q8iawvTuC_L@Y$CX?fQnb3(4OmPgwyQ&<5X1upv&@}z5F~(g7zFdxE_a+?6fl4 zk#M46m4A?(>6*9c{CU-&p62La+4A=0XyzOd^$H(}&_{Ef=^f+0WUlsFR;{6v*^+h# zh|G%~&2=?s3R6uL@&zY_DEWY_f8oM~;KLrYfk1z#DaZO^TrFQJIiWcS!GY~hE9T2H zhr4k2FIAaYW1U_*I!U;y=vy`~_&0ZhX8UL^D@CFhdY|(nh7=+lI4;kFhNH=6v0)dO z(-QS1R+6sHGds{2eI*c=*7MJa+2mL+v0r85rg?)DJ5v3nkHoD|SS{pQ|4E>Y=y&yv;s{g>G!-W@d2 z9?wvr%}M)t;ppwo(2(@7ObO}G70%J@=!^_;40Z_L{N->Bmsz}$6V$X6)zrWHFc^TM zA8?d8ZW8P;G8jRlDb+7+BWi|f*{Hjdoz=5e3#oKvE#^EhFvO5r$+ELAfxMyJIO&%I zA`75%|I^Ywc6R;8R&L+Cc?nGC7;(3`RAD+gzb%|I@^|v{pF|&!NEDtkv%TDHsvrEs z-7IU}l!Wo#Yx>=Ho^GFtH?TK1_cFb7BsxSgQN{fyOk4?s1fIO)FF%;m5RZT2edTNW zQmLuA`5)IQM{!0R07!yn{`WP7ZkXLw)>l@Sm1$zTISicLq_1ym=Vto-SOyFnUJcJA ztq5W!FX@ngy+K7mJL}nem~t)fT|r_x57R6Xf-zb$3}!e-K>%lDVUhXu9_;a--#@JH zx@K7>tH2rF%vC0Jim5e5yyBlYkytD8GS)U-n)@EkeADIhiTE zSz|GG47|z!I|;>prftQQFGzwD#?LG%1J*NsE{y63q!}%+iQn!2J8~a<*Qky_VKM>7 zqY$|U^w8U!U0keSYlvxD8y>=Q!@S~|&4d^_aRuVL%0mtBysO-w}K zIbgzW_gz9v@2Iwu89!353h&FZ`QHWxYKRBnwWzdgrMu0;&gg?WBd|@tAC+{$?1_ot zL1BT!@lgOX4*Oyh);^vPj-1TAKJzJyEv1rdN`>Rzt*BSR;v+yZy{w-o0*`NtNz2(?6I*iv7w9X?|KZv3vuN&Rpe{;0S~ zg)arl_92_MY}2h4gsqP|+I&;#ShmWdjCx~hYwN!I=X2RjE0w^hBxLwM zzXI7UC>hz-!?CKhFJF$vjaN%*IZHt{puVykn4G-zgV*}gr@<8t2m-3u^x@3r8@BtQ zg&S#Idh<4RSJNTA#JwB?gL?*kyFb!pReg9>>!z(P#q9^*MX5vd_hXm~LrdUlS_=*# zxLub4Nb+uXPLKR+lpWnn+zEHp;v%m)#jOKzk~ec~H!`90FKcO{z9&VMX>J;@dbbaSh91DqRD+>D zCdS=(x%w4; zZi|kaIydLab8px%g#I#7B%rmOS#c~>3BI&1Aa-zr31}>AHQ^<~Cd-YI^q<=N&SVky z+xGoiRR!G64-M(uli7Rd$cQvwHlUn z*K>1aFwBezGuiU@u$x0yNZR6rgb1b#yny0*g@A8u0DyX+)X&rO{F$9T4=+(2ab^8j zM#rc2S~-DTAW}A+fi+O^^g>5drn$QK`C##=d+XXuw}r>G%DO*Jnbufr;yo#|`P8YJ z>ubNDqeRHRhK~ z!bD~Y>{yY1NtvHR&U1oS!2%aAVtiNg>J<}Q-B5^dDrbKd>o=}4r86g}obS88E&Qtl53`hrSAlzi7FwycZ?F0JO~p7X>oWB~3r_%>3q2)USNqx3!_ohflR7&1HieHMgow%KM|R zqabuFNEHbM1QaY9^z0=(ESb6Z_(Fin(Bmx{Is{5EO8laFgF^c=+q=CciPxsij?Zfk!7S zRqc|4nK5A%CR799N5X`es6zc8D>US?!#X@4Brwn&S3~r-0NoD!T{n4HMv*TZCqJ#b zs)75wjGh1IW&ePA&y{7rSY7aHbuCm;XtcDyE3BA(mqb_XXYVTe*I;6pYklMR%bsXf z507)yK6BKMx8EE0=cd76Y#Ez@2*VBBQ?x2>kH(4$3%(3b%W})g26TQb-DWqH=yIs5 z^ntJt)w2sXFD|B~O#7dF!Khk%BW5R5i}1G%1lMp7&O|TBu>d{&xx5(Rr#N!Gyu6N} ztwnqcz}g^gkHpdJcXV&_Er8s{Rg$b@e)pQ+rqz6VyTnKth|c2YUsOMt!S6jXJpFnm zO0r_;K{SKkl3agj*W!=vB8B*Nq6`VLe)`4zxZ{@A6tjfgL*KtOaV=kaQ}k^-#n622 zWwjI?UBx~hZz>_7r2?~(GfN#w*M73xK>xfVT9#(zZ)0P^+&7wM&-4oSiN6H>^a)J9 z0Zh_RFe5CGATl^-(#7*xG(oq42=OXm!2qI1tCbr-0YqVhSC(JL!2-B9+3z6ln4g87 z#kvIR=RMK=Pm;5mC&NmLhohftP-IWj(AJ$5qSnw*ciXBq^e&TYV1RPrdsAb_N#@d6 z&nj8F5%;LL);8-8|Eg9PR)72E7lfJ7J*Jw}{fXu7Lrl+3nGQE@O1;l*3$$iddCNY- zh3Bz3(t^)q8@w_qR8+0b9bmht63|l3t@isy&z+o{$35;AMIcfV_>%CHL57E&=D_GE zBh)f56CJ$5sv7u|(eWH|Gf;7_z;NR8=lWZu10NU1k1kRWI7~H$QL^VPIR9yL{c!1A z%r1(I>`}IG+gfdvp|d7{_I)N-f2owz!ct;z%($#t!j8}BVyer+P=TOoKJt@Q?aP`} zd)+93E2&#?_Ueg!EJeeR@~t7%n_toO^>~^FjjH)|;jIm_#ai0a&!G>l2s?Ic;nLpb zdn(`l(YZYK_$hfE^aW*4FaB$Qqv=yqE5fkm4DM)5ZqG@7ZKOk=7x7XrKCrIV3tb++ z57+*51PRXkwXP#>6=*hsKFLQYWY9a1LlbT^m+^e>OI&ZGic3Vro}T!q%|J9l2<&=r zJZf=vkxn@#S#Jb25>8Nr-2=>#G|NRzEIIc$M^2j23@d|$%q$#@nP^bw%q;(5t=!>K z+q6!4z${Oo|DEB!#bgWVfUEY-Ey}m9McM4saIsj||KR+&1rg~`&vT|G3n@|0cB;z+ zg~+Wgb6;hrwCm{0slkfpPfsQqJ32^g7P@qMhr~pYntxLpJIxaNp1;5I#?w4pY}M%L zD_G{{7QaeHOp7!uE%mrZ#xz|N-8`NAzE(ao#H-TMYFanTVrkb*fR$Cn8T4v*4maLj z3}vFIN#xljv}vC{Ry&_o>z`q*xU7AsQmJ3CuyC;-!PH0JXk-r88W)rP?*3q3OhqpA zyInkLTkfLk43G8o(Bg=VvEg+j!MzP|I515)nEuhC+5*({2n;Le(64r6J+=GOWfhNo z2WOSzCr$`MfrGXMFm|TDU)^R*PPW@|y*8n=G;f2U4*iN%GQI18-@liPv(~v@ z5EWI~Wof-`x2n5)J^W&(;le#?;PNp;Vz1tS?$wTtn&#+wj?*5$#%V53I0szKOluS@ zE2{_#3ANjDP08J>00a6G<}5nj(d~Dy}S@81s@+dm2e@Hv>u zasZOUdX^Vf{?Cy}(S2G6%RbE;mp_`_`Lk?Z2L-{#h*wXX-^o8O=>joU%H|mxQ4r$Y z)AbAd^P|G;5BAexQUqkQE@WZ~>SkT>4=qhimy3(tJDT`$IYuFN-RMtT!w~EJ^B&=5 zk-~DdA6~JfQvQg3%y%Zm4)pX@CKM75Uw7@!XgK0A)MP?ZvPJ}#1XAC@8$Wx5R zo-&bNEOA3AAsFH32KdmBQtXR#_z0CtJ2X_}WB{LDzh9O7oZc?uuZ5YQqlWmc!HBc|{E7_Qm%RglaL;Q)lsSf%Et?ypcH6R(Vad40+61R96{<+R6bmi%k zJtk_t3nXTpG9P*PaQ4v_$IU8W6pUBE;P~Z`uEDh+QkL zE%-hwId#ancSW`z4sl-rw$mmtn^Hzx92Taj%J(DT1<1Y#GYHm=7`~Dg*L_n*wFZ zqZ{D9uw{Szixs5IQ9rz>SNi+nbj__s&QewiHfex}<&*!YP)We4hDrXz_dmOm> zr*FRYZ@}x)uL5>oO5279`Kso<6TZ$r`N@t6iVx^t`)yY@<_zIgWQLd~=R`7#fh_+2 zI}JN$--SaBL~1asn6+p95lbI@Z#Rk>9<=#za&f`Ga|00oVaFEz2-C>_=W?fRY)hD1 z#B0Z@UaF~4&nZ9VCRK?xDD?R)j?!pDT?V*`=31vjog>{nTUZSUuW=hGd#g^cl(f1hvq>lu7C|{`)6}C)8%GEG-#bU0n%35jIopWy&!}zrj&a zSf2W|UjUj|h?KRkHZA@UocixO3wfSh=LilmCb{NAumi8&lb`tanMc}Mqx<^r{W!J! zep(I|IQH=^NIos>dJ5(K{mW)2s!BdVEZ_+Lb{-ITPE1tjo?o<~BXmZNm2v=a7w%dgZFEGI3-z6<(Kf$4je(*FTboLP6 zA!OX@{&Z^Xzt6n7waB$RI+~`mv?fkjU4!a?iEs}y^Oy0bPXmjKRVF4Vy1L$$R$Zr@ zNP7*~ANB?zUyD@VxtC>}5mE);=o3G2N&s~<438ATvqMeNii~_?2sc{ zD!H)RdYYyUHQ7F z023BqpL;nPrfID&^`1rDvj{czDf8PYChom(-NpHMNZAD{o5NH)c6bMTW@1XmPU@84 zxj15)$H2}peD)i=+iZdYj zdzbu}G)qg>E$*pgUVF!0DbT%r`x7@$29!6ye^Sw}PItPMDaH(Yix-W}+<$*d{(SJ@ zNq$k}+0yl6gA-CiL!)ACzkbO#GrerH30_VJ|Qe+jvt zrBYF$$jTmR-}vvn^2RC}EdW?bO1^ZT8w3)jO^3^=TQrecrLUM9C6u_^(-_fjWCn09e{`!r=A*M4SJ7pE+*%60qk zrp3U)G3M0*t5KrFycr*6aPi6GbY}rq3Y^<(%Ir|mg&I6h+9%-mIhGkYb zCl8M_wb(jmU;SL6!enXRNS&#AeqinD02FSDl>n#iO!h$5wZVt$xp1 zj&UGHW^6mM(9%L%Tf3=ZmlAb^C{>%P}?d$ZZFeq6}o}Wt|h(9K4W=bO7^}y-Tm$Rx-UGv z(396ZiSdO6cbtDYKXSFp@x^FGt+~@D7F4|1dyDqgwi?L3GITUxjVl%pZW+0LZEt)0 z?n8Z!1`m$D{T3)&6lMM@pN}2+<8h=-!0I$N8%5=JdUvJM{UklRy4o*Ke|~UXu*PUw}wUAJOGoaLg#jjnG_71^6`skiI-wE9-Te+#QQraOk2CMAu`*O+~07TnG zeV3N{TZj5i2=5V>pzhA0F-o8xc}*v3)LEu$F2C)PdDbSrmBqG^%H`<+4W>l6u1=nQ zxZQdlTjk})-C7GO9;+9Y&Rb3HbPV%uecYvMd_1|iq`#?vMolfpm-hH^%B4#trgM20 z6~8-BHQbG)&9;?R{@w4}cA?pygq0wj>up1g4h?U64qjeoelvvj>6xfCGF4UY=R~$~ zSUxpuvhkmyYR`@H@Rw6Om`5#nP`@;LzMnzBTWef^{Qay#*4!5V#e!_XSf!}vg{r1$ z`cq54Ps8rV<@W&_sd2aO-!Ba}^QfF2@1TKeXt(6W#gy(!yiNJj^Q@>R*qwgQ*-upn z+S$FETe*GlCC^O5uln^SY!|R% z!p7OJG_PL+hAa^1w0s>GK|Mo7HS@c3tDxYK5yOFpu7QV2ihiuY#%y8H9Axu&ervOf<@lkX~>iKEd#Gosxsr)+i-Lm3ojzxnY6;*%oLN zm+5o~xyv16MLyLM*JyUd{kt8WtS^VA4>%nW7i0VoCZ#i@`L0WR!;YXjyAOk9m=N%G z^#LHkyq=KdE~n5w)U3!jEM z@99)bU)OkO?i&m4S9`gqD-lv-E}aJKZlD^s6>4B%5akCZivY!F$yluj#Z6gcPw!J>!xqyCJ;8u$b{nE}x#A-2-Q4bF_|}Y}C$= zgs`t)pGG+VJ4ef}fAkFuqQI<_L=C#nmxDFwt$0%iPw=_lMM~cfipd^~q+7*_>8oq{ zieiS$EG$w9OJsU>Hfu=@wv_r1D@7sM?tYd!w)5|>Z1Bvtw6UUnhze_VnXa^ay{$(5 zseD6)x;IP(aI9Mly$=`K)1GQQ?TV3BmI|L0V!)Ujy0+dHZ5aE|agsNblz3k0cf>Fs zqBMfkiuK(eopWdJ@C*rFG)w!-yk54c^n1jX4Hc&p8^wY4!aA?v?q*;7YAszFI=Zo<{Uk_bs`)k4Q|(th^<;f11UC>Z1%n|*yb7>_y%;t{8p&Yb z41vQp7hs1$CuGl|ChB??fN5$(@CPG>ePeClWM-N#2v2x*0eqLX{ zx7~l~>=ngRA!joe9?a*tOPz*}lsJxndT(xP>K+^KXVUQXvvys{KQAbAgQ{!)y>lA$ zDutg=w!qGr5(rjMEm0mTdp6+lryJFl*M2?S)z~>cM-n4Y!ocZgA!15EQMpS#;1Q9Q zfk$h)<1P^0mynaW&dm4s1X7)=DvLSIENioMl$)x7C#`utKokOd#rIF1`%JaOAbFIQaROm4|`wKo%pD@l|7^Ytx{2LcPgD7 z0jg(N?jcRGNvPN1($A0KE4>%in;DX6k-p-xqdwvRi3r&{I4gF%Nql9*~Q`L78a&%6sF`N z$s8WNCGRNhb-pbO3_(60GJC)Mu*tH>$Q*h+!i@(ut{h8ct`s==w&8Jb6Re&2Kx=RR zc7b3KR#rTy)?>O(Xfu{!lATbQWps}80kg+OAL{E1Z1cM(61#b~8DS4-<0pUm_=k>z zjz9?nDXa5Y?%2+ZT{_rvW_e{yg@=`y9u?PKx(76k6;LR!Q}S-H*ilDQGBBu{N{`z_ z`-}|im6TjQ^u8SWaoGL6Yf?jqDIq=RNq3BaV@B1vCLuG-)HdG79+$;l-k>UZX1K4^ z{!6Zc6ubaROH1$j1z-1b37?bQfoS;+EL?JKH1p_Vbh!s#WVK2GRP)zM%?^u}w`)m>GK$NPFj>%FM90 z7nf=HRHdqiM2kwpkf=l{A6l{d8ukH^jq}@nc*?{d~i#rl!p20~upGxz>~XHbPX+ z3kM^Q)!&QW{Ct7=_73!Bp`ZKck6>Z}p?k0V?x_ZA`JImceykBeT!0)Yl$)7Wa?oz0f&RdLW-j8lymXVoStu!-q*eM_acuhps@QVp2%jz1 zbsNH*%H3C4R@vykt@tA|Fp_$v&G4|rJt^InFT)S?RhD<}zI%CANC^Ik1Cz4bl18#C z_!!sFc}&uev{0oQc9iMj?niz&57lkicu8_6H)MYcZxaHK)|pK_WHK;}{51UQ7yFCD zhl_t0b7@mmE$UGBJleNbDtXvOnC>?6TlJYrP_M@|f^c{d#qe?OT1Ha*7?ya*jyEuJ}DyQ1@r? zYf5g4PGbtMw#B{d?;&CIq}mu-vui7{CoWzWC{im2S^!yd5v$wP)*LRQop?tRt0JD_ZR?%l zz!3A%X4mgo6bo$u0R=)Co7=9QaBR*nVPJVF^)rO0;C0uF{XPW!v8QKFz%c2+!{xA; zJ3c=jDQ@yUH6@#=Yy8sNv`c^gZ1z)~zWOm&K(6+uYyJ)ko$DbT9m&A2YYN+_+f?kW zAEy35wZYNBs-|b`@9WDH`!=;WwtpKgJ?k(qWhJzW2U5SCXEm31AHOlNT|nXG&lB(U z^*2cgDvLfZe5|z{UK;d2f8@ANc1Apur20`qWhMD8D>|fOYOp5xw$rEbG82<8^WS>q znA&&yybOAnZ@=s9UQ*AcbE-;ma#B#8NgXt$*tS#9l^m#tCZ4ulnoP%`g{yMoTg(DP;?(NMS?nu@-tE>6qda@nujQq z6`~Xh)hl{h{7uv4J{GC(IlFevTsY2Rn^(Upr&f1dYqd> z?Xc1IP;0Azz|pgp9v{hC!B)Fam{aI;eKqUUgfh$7KR5pf(%d(aq~Rcc3>N4Qtx}{~ z{{QkaQlgsVkI`c@^>Feh%OWC#RTY0T5f~pIFDfI$=I!mhK~nO9rkL8{!>d!2{TV3@ zjg99oT%c}hZce{*hek1J}cW8~Tpe8ftFBS$V}n?4qkljGR9aifl|uDYY6 zWd4&U24-f{HGL79Vgo;arl0=uTvkCLtgvurU0t1(ogK~Dvu8JK*w9p#y(XhIy)@gF zT&n-O_wV1fKXKsT;kg(dPA?%Lp(+-qYG}x1Z*QOf(dyJG<`pYe;M+Cy_1P2^6%QI2 zg*gspz-l^Kztv&M0 zk>=>pqZ5P8OwrNN17BY$Xo@XvPS9DSw!Ab(4mrnO(Wq8IuVfBg7ytGU0w+FqTLk>F(b@%{!K8ynkG=dVWw zPG}xrIk$hkm{>;Z)ug0w4sortGhHPIO-!^-oY;_&nJMQz{!PnNm6GN^_qVOcd+YDc z;>eMbIaWGW!Jzy1H*P=G7L=dACB2VBe&g~|Pw2j}ku%9LXK-?II&N<-hHDO7oLN6R zIket=TVX>})0>Pvk+BI0vM}WT)S> zte~J^+P!;W)6-rBuU={F-Me?d%mW+1bH~{q%&fw@!-MJAGAv&Q6!=c%G~|Wz%P&9A zS<^%JSM5uXDtmhJ(`dUxs_2d#e80ZD;8ip!zOmbTOGZYvQOd zLw#jgFrDlCw5#7lqqch0N%n2qwvB!{^V+(*^gN%U`vz&t5-E3y46U%a5OxlZMyAv4 z`81Y(V>EiV6ho~mE;0z+D~r>S;FEV;g{xxc<__I{`ZK*yL{?t6eJDBfMSuG1ZAZJy z%w9MPl}z_CrT1+!d;9in?u!@NwF#TYS}gxV)18?5bP4&Ru-=Og>sf zMcVx)t&F@pH`ePdelp6gHi1DXEKAO6d3}=;WGthFc6oMV56N!dp75pM&Ye3u+`iH0 z=jR`^u!xQm*Dn9?ft5nmN@Z!Dt2O6X#U<`dj`As*VrB80OuM_g*Ss33yS^3G=!(Dp z)bC?;sVX8boWEYk$&v2#?iVU7P6_;6;3{tN=tw9YU{X?2Q+53sNA(K@vbRu{jteXM zg^L8vb8Iqs80$n;=sP8CZf@S)+k4@AZ6Y2ugPxvVf&bigN_ShHZPL!O>jD-gTaQGU znwf=30hL@Lj|IHl+o{>>ep~=boFWrA$U=i5f-TOAu&G*34Q?D_b zr>DR02y8!|BUKlc)`u(+{qwuWj^r-a-C#Txqsq#)d>-28Y8yXt6`}_F#oM_CT zp`_*Kb4p7~w-vbBMvaTf>^k@RO@C@&bY0#4qREz{ZX&5!3_aIL)tUXWxG*Q@KkHt| z!%o@ZF}UjUGbhtNWdVU3{7i-M*RG|drH!WAZnh}m%gM=+XMDFXH|5$_$x<};`_+jr z&r$9k2JIFI9P53XB=3|UXwmrRuHG$1V`F2%oo=`FD%U&eE^lgjO6>LP5!bG*y38l1 z?reMa?%m!*%K$Z3S2-J7Ti4+>Il*0?%-S)+Z?P3zes>h|23UG|?J#+0Hr7!-y~#AE z8xNRotNs3{xxm?<>ov8sGDxG4lPf#Ff^IaUT6hH=t0q1yVD6VfVR5AcdQi`|Zy~X< z?1eE0nwoOSuIHe1W7Q5C8eZMZlSs$H!ZI*0K%pFY;ml%dYl~*lhYdJA{G^_pi_5TY z=KJ^WF0QU+FFl63`}@P>Y%8s5u5HY(QaJs2rLV6q>PE|S2^Ov|Ql>;TRoOo_K0fs4 zr+eg#WIcT7Cv7;=S)6D8o*x$z=;r38e&WOcQ=l}*Lez47rch3vJUP&oCvIeH{C)e~ z^mNge=SEm5Cb-ItpC- zLYaQhu?b&3aASMV$2o1OoRJ~+ zt-rt4|5V1^kpEmsVPRpzr%&05sduubdt=rlBqX5!(oxWJt?(Qu4`hlr@kGX@q_B#M zX9fzra%#;9kBCsavHi4#*R##1PoLJ2;JkhJZb?tJSIYVGRFrNMA~%s6SsSgFH#ntv z&MPZBn@K2>cGs?5IHF>^b_uYFC~J}y`~1{QYS+EHcQ2wxtXaGEdtp_|=9l#~HCKE) z9c*!){>OE`eEAaB#IC5ta^%PnG{c~X2nJ>rmh{X_!y&e59v&Xqty_J6FJcc-Q9eIE zy{YvfB{ngUj?&QDnmE^{d4OTLsZnJucKay5WU%k45hK9y{pg}F?@cGyGtn)(H7j`Wdb!v*)(WByH}3ODRDC3$tnxoIT~COl|^y zKHS>X_Vgqd#R_epz-vrw%a$#pU(a<>QKE&FE_HWXQA+W1>1g?Aa8~GSNn0IQHN`lJ zii(c+Z9evLReO88&c1zDznY?&;>@H0ak#j<1D())xVbYJRbJ)Xg3r%%NxynrR3v!)`gNSS3N)jIk9iC8^WDFGMO|I5U!!!+$43zu&jpA7vf$1` zzx%l4Mb&n5k&e9u7ZUdRwaS$%S60?GC*x4<5|ADwwGir4H!k+)-e#o~bh;Icd%EuJMV^ z&fe79+e=z2`Vji9+Ag%XbqA80Hs}f%tSFNwczdDXtC%>%8KWHU*78QL6x8s z9nC13`sJ1%+1}PxT2)1dV)15us^5j08r^hpdA^8Cc^m9cm;H}X1$RY-9S;0(Yu0WR+UfQ#kMUAx3L zY@qMy>B)We>@6NnNVG%}{!?CE&EP*fp=M>Z=IPU?A<>#m8*rikL;?rDypX{?ragKT zm7?U^doMLW-Pkz3A#d=2i3txtZS>lG30Ciu<#%`v^Pxe8MDJ-jvHYtBkBS!lexYY! zc?%qf^Z-CCMPM#zk$GpIW$}(Wa?$$2_^(OP>R$%bxepZ&% z)zOv#QAZPwdT`QtnR`#Nu?iL480UF7wMX0wDljmR@8LDBx0z z6a07MP6kFsZ{9?3#Q`CU1WZ$vm6dso6i>(rl}u)vLrE-3ktiqN`Q!IeBs;5DWHSP(i^C(%tz~0(P(4pG4WU>lN*b z#L9{=HrLsSlU}~Qee*MaP&!K|etyccDx*fJp%;qD+Q?+HjKmZY(4q}8wM3PagiuEJ zR7DH*{QAXm=FAz1b?ekkO?iQGF9M0sGV=uiA2#_`Ub@8irn0hkxcv$Gk?Qf|5-2q{ zZ{3nR`B4JL@TOr-_#oYXbBW8Vx6)$6?C>6!kdl&e+?^5|8x#~oSxHOVi`K;+`4;f+ z;-g2KPn|y9Sa{YU>BfyrPz3e}O}Ag+5{ z@YvkcNNpwA(dgiyWqIdDEcT}=-%4y-%gOWazF&@yyZQZXcW8SZsFEOk?2^Y&i<-gM zWX?H5a8le+`!Dp%ch%Ku78b(eK zn3!nDIkwBp%&fGojv0g^@zI{uyF8_U@h=14rYx-auP;x=7P>5~#E*8f!+n5VD_U@) z`|Tsu_4V5QA8yInyrCcNEIvB0L-YM%cA3U~gema|3!{YOba4jwYQBCElZ%73(~_vg1|{5Yn{LPFUKZNLlNvC)5g#St zE|_8ePXJhq$5BJ4`B8U080*_J)fITA$w@L`amE24Lh5k7=D-Hc_dKo3m0=$Mm^A9(Zr^mK=jQr?*_6rEoUI7`NouE!>0^sfR9Pb z4iD(K$zv1A@-@9pcGsh_Gm&~%?G$Gq_4H%9t{N}Kng zK}7Ow=2T=fcv7)^n_KEz0{36vLgVc0JUTU{oo(_cB-(hrySsa?Q>!#N{_FK_F0V@Y zPcvM{N`jn9r^osTDJuK)iOcZreh$S$#Yx*w^Ir%K-nlt4YtiKZsp3?q+`+hDv>c!g zhPJjgdZGKBt9W?IYibx5W+#Ia6BEhxuE-&$)A2XBe8a1AXP!E>vNkq0zJCxz3Bu-p zs1PQu9o>y@RId_sv?zg1u5;N+zC_Xp@F$q$+jtiNkFGdo*eU$0Moj-MO>gRQ;&{dD-lCmEf z;4LoQs&zMaa{c-7z5-<>BwC~C`0~k>UjfoApy2!lH$>{l&0XhMX=!QIs~lsWpK7Px zym@n7iqcVRlmp8r%z(?($Y>>Wi-%@;)V_a*%YJ`-m5zh${*ZRxv13ByZ?I(ww})g! zyI3pYa<~$1-nnUR~zUKJw}cI(!yhB*Ex?>|4vT3dOsO=P!iTZL_9SiZci4m4li z>d=sFD)ZE_nGwq_wdU~v`d?UdG^_plnf=z{7x9j4(H{a^j z3_{tB-rG0Vc6Fuhy3bYppJfvTZzh`|U}@pp{7B#upvDbcK{51~(%M=kS69~)pYBGH z2Y+E1J7laATf3G9+zV<|=;OySoqdJAk5BKDdgY2FIosSb zUCLSa?~|Y3C?gXFsS3P+Lr}2p3nw=H{{0A?SapNA zz`nJ!Z2x}c;QVB(d>R!S|EjiiVhFgq2RBG92F3tj7G?eijXcIC+Pm`GqKS}yC8d&J^O zD=Joi7lncw%r7h)R!v?LrxSwW)eFUBx+hG86tOj91fd%!y{oUU0y`&oAJ~(|w(>HE zB4=|R+P^h{oe*}Qa*+kP^6!u<@(2hp;iAJe#cu9!r3PkH*Us?47m$*V?ugE!diXFp znkEa)a`|n(1M~^oGipo5M+do zj2=WqLEQu?f{qNbMN3J;O*FK$Tm<+YR?g76K#DMb%*T(1%!_@var|`l?o~TN&=e_==A*bQ6S5Tjt)Txs=4|37hpB4TD8jJWD(9w?^S)}^C%#G{{Gfh zR--l7vwqHYEiHyY3hV>$Jkk7so9IH@7|@QcufpI#R56mASI;<3<_l__Qs7!h00hDE{r+ zw>2<>cJAB>SwRB}4$6*8VxmBsJAdnz(D3lE?D2Q(N!PD4{E<07aAtW0a?M|PvIGPK zpi`)yIwge%C&hOr9Cf-gXg;DqSg(ReFlS&hH1YkEET>Z5f-pqOy_}kQdamci%l> z&gy0Ptoil-r6pvbsqWR=(Rzmb(va_=bxp+|wSQ0Xlvpda73XHNC6umxR zzv%_U8w9 zDJQB%jLIV4*Owj|s;WT^jadsBs+sOdlTDvi)+p%sMQy}OQQ z^O2CJPqz`R;MeD8xzC?#nVBUuH0peSa)7-$P2pO%KL{rhCnMKm$OJBc$-oJ>#ynf? z;jgcFf%kA!;)+`wOh1cV;U&-cfgzZI24vqn??3jZItn;|JNdR84~Hreg6|_f283YT zVFu8H%h|IU-rj}yKGxkzN`yDVnIo>l4%k*$7#a76iesI=BR#19gruY5fT*p+CP}w7 z;3_8+$KwY!ri+V95Gr(UUmsM;PAO@+&)}Fhcb=ss00117+;B&+ujzoz2f;i)6o|}HztEYDnL}>iapD{dzOb|IVKT}fK$nv4Yj*gF)(~0=4ahE8AiecOG z@Nn*vClwJ~>yHa;<14RVT!($c|CuDbY*ZKPVg69U0qr0@|ET<-5JRK zf>sax=~*n$1&RqF+IXU}kk0UZrQ5qwJwWhq}LgTM7OJB}#4d zz2<#`WxZtvosNl^X*U%;7_nEm6!n6|<8)*ln>J|f*&`|`dGP(_9siXDU_AZ#DG)@l zD!L{u3x5boQt$ZpT8P`cU{hBi&%>2~tV0LU#wqtk3BB*)#NXA_r~@fNs9=CwKxvLFUYh@- zPr3!nxvXX{;6>9M^Yg*M6=!3(SFI}j^vTeKF~_2q5jRxy=ff^HU!|p|u6OofOioFWj@P~O5uk6+Y|GIzd*8o*?czit5ydg!>Hj|Yn3703g%(Q@ARhinVe(o`K00Jycq?ov}@ zqrn64q+iY1iNiA<{!-d|_Uxt73BGV)@VKAj73#xy_ybW7Eniza0I=OGEuAn_fO46T zW0sdu>5qc)5v-!U6;S0-Gu;c2o%@lIkrQKmRWg1ZSk=$qGW=^bCF6D1az-?@w;%R_ zNog8L^(@!6iuEM${T&o>k1fi@$xv-|!FV=IxnfZ}3(wwrimUt!jGKLja@*S4I)83( z*38r0{aV0i8J)+L?ecrinMON#=jyz?JU(T=>9aA&k68b+99x`yE{{DIXq{Bn1~TN}BH%&RZ7JUUvNvK2o|$;!KKbxfod)eAMTwAgowteOwuTLaGk z!U*FQ*SZ}0CF%bC`_tbOEf1QTU&bCLCM7m)1vGIi5G%Ba-=ST+(9F0une2Wcy9ghj zBmycgum0091tF@NoD3umER!8z#BY$6u7nHn*Is6r=6@KJkJq7u%+Ai{d+?7R6sgLG ztf~kc(&r6@r4+T<+Ro0nZxQzq#=M%^*tj{dWL?J6vZiM71w=XxO`(;|nV+9O|5y_C z`Tw1tsXX<>JqbDZh)6n(PB0-gux#nb;JlE-UT*{@ zrl{g?db+!by=9G4Nuk);edn)#4XCyKOeb?-U?5UGR&T;NQ2W(YRVhJ(uNhwtTsnqB z31L>I=upd&9rXQzf&#_%){2iGISE^+uZPuV0GARSzHAuFfi%ZGk{d9PW-H zZ!Rz^sK7qIy*<38&i(FKjh}TBNlacx8n4gk|6zt&9{%6W&>-TgNb!h670}Ysk}v7U zfoUu8-&Ha@n0;gc`0~Hp(6UWla)=;NO3{eEDQ|DKz)mYZy?;Z!?aXQq4-beJ83hG= zN1va91D-cLw{%}R#tscaxXQ>$EPVw#he4n5kt2-wN%)jj4i0p^jbU}snDukrk!nd)KgBM;IE zGmZ-;>a(2*OEUOa4UhzA@KE}h z(|j)N!&*l5gU6~&`R_}Vehcv*?)zkiEl3DV5U<~on&YFVW*PT|=koU&WqcN_mEjT* zVdLdZ?En3^)^-N2{qE@dEd}eq7%gr z|APIGf2x3mMQM0(#u9dVvB7^#TfWUlo_b}vT6{w*#;SPt2(L2=L}Y-3(h6gawpNY9 z7bR^Jw4wI*rVSfZaVL;5$IVk-Dkr3FezSgdIcYcX8Jw67Y626l^t;n_C@WUrX_O#{ zr3A_$l2&@I%b$+2!)GGvlw|Y&(c*pV-z@y!ChnQ(8jE4Tt%q`xks+Wg;iIE2NWf`2 z+qP7Zeiw@Fl!=ubXwK#>S@?UD7)3zBUO8y&C-HjV3dntmher9H7WN!7B_)a-viL4>3J>LBsPIysqu`5WLLe$L7i3xWQ z!5-vj_z({1sJi#r7o3wgTPQa*o`SsPL&CK&A}SXzU8;F4or8x3S@u0q8j%td=%5aC zjJ@DR9$V)-SUV&T0m-Or%Tp| zGtpvwpW(07e0)~JZFy}kJ+jkwT1=U>G&at(vMr$;n3|Z_peRj$yQ*)dn$@zr`=d}` zO5eO$iSER$ShH`Vq+~Dhdu^z?ObRZ(apXw>S;5^|3bf#v^f+#3XAQ@n90Hv;LvOaN z{Qdhk@GO{Lb? zR#%gg26wS?3yozndy%7Rc;VlAUTXe8S4X( zPMn)=I!;3lQ=B=`GNq+i4GavRVZ=AM@;`-XVD<6#-l&YH@(L(>xw*Ne5Uhx)fpFIe zi15&?)NsZ#H=J%tTXrm}s{r=a@I=Z5%zHtSA{j7v_}@j{I8c5cY!_EQL8_`OjMe0{}D-5&CK|aYcaKbz2ZRvkR%BTB14zI@5P~t zzQI9cyiBZ+dXVX8yAp&lN@S{OWB^DyW*Lf#2qWCa9K!QEc$sea=O0863KO;+$L z2{-bZ`}LxyuWtp8a=Liq>*>E=&d8nqyp335Xu~(K3fFMLtkAB_O8j;r1i9H=(D62T z?m9Wj^P?I!cYAY^OcFM%fw?&XbY;hiyf~IUcK3lGq%9zDEz7D%y@Gs=;p%K)-Q&l@ z8sb*2kJlYTG{gGuaJyNd+ggwo2#k(zmOuVCTvCozt3q%R+dh9LJ62trvkw0usU>Cq z*)<3`LUaMAICALV!BTydg%BVI9wr{CQW7Sd_-P0)hgcXuDW&MsM4t8g^IieJpcPFP zc~FxCPq?^NpeIcXw{xj1Oc*{nvi=HUN@yash<1=;g|JoS+gDMsxc-uv9|FWxgDFQO zYa$V(+csw-T38OikLQd!y&I2fJ??>;+(Xuf|J{H;H`4ikG~g#I+S>_?BPSA;`U-Gz zh=y=V^uG7^W5=x~X+@|(5kOn;A?Sr7lj;9)V#pT=*+NEuCiwr|u)lKkT&FjknwlCh zV3C3$*}Ba~pQjZSnS+EAKZ8V1;ju%DDo2^`fp1TovdsVD#)KiJq@<8&R>{($FUb~? z1R|OaJ3l`o!pU_v6xa|OR@e3y2R$h%DIw7ZoK<9(2~9uMmV16zx`F}fxdyPi{fC@-74VhdKWv3Q5{6S| zH8cJ_H!qJvk-s^UgbbiCz{n1R&PYNK@Vm+(qYj*S2C@>0^FdrG^tn=isJ!FVoCAY{ zj6zY#Im^2Bl^clI!MR-t8G~p#+nqbY;Wrdb%pju!yR-^h+O?;g=Kp^xVI{Hr$>~Hz zCh^Ocp1&^by}HgCr5il1xM3`X2*yOR1?WeX`~pN_#0AfzGOL3P4tO<9EW?N!Oi&L& zPF==&_b?0YU{{$RUGebYLyME}`>Io36VQBcI z^Q=<9JRi6aJu|Z=pzOy_pCB#=5m13(E1qdE06(z=Dm!{Ecb>_&RaN96kN){n zftHgOu;7Elcwbc20UaGxdBJDt~5EO%%e_QwsmP3#5DG*5ZdP=QFlpdMaTZ$g)k1dKD zo;c`}oI!bcMy2~(1vm+zB!#hVotUH~BbEc}zMO}vjkbgA(cWG;Kkr8(FW}y|?BJ_c zuXc>H7gLCaQv4F@4L&N2#91g5c7(1h9Yl^mojERY`~MNh2*O(I-@o7L`0hr4 zC@6~%(8}Mvqld~4%QpmuE@);t!tGG;0sJ!lnHZs%Z$PdTmL`&&E53dIE{gmjI0FnK zD&lXHR#s|xN`3kKdC`fOk5$NRqT>W3^F-Xq?8HEsCMmKH4StbpKx(p_1e0uRE;MJG z+SVn>O)gRu<2zA6^1tBB#sY1@N5S``KYh9i&kA6a25XdtpTQ+lnnmis9I<;S8X6j8 zTmpeHbnc+**H=U9>*{XFIQS_Z(iU(Lib!pZ3t}a|yI#it-e=+?@BooJ4227bj6*}d z-99K)_@EWI+=~cr!k)1{emn#Rm?TROseJ6Q_t<@-OE?YIs2R)Q=f#EsihH)~@)~Hp+toER2wPPPrY))N!UeHbd!J6djkh_qd z5IFYIT@9)~Y%UU0NeApw*A~yvDh0`bz*dH`+JGfOwu@0Hf?pI3IKy5{MMVTR0B5TL zlQ%^EFn=8&1PzZ{k)K0;3)-l3c|`@0wI_yJ*#P=pHN<7b5f9R_mz;86f8?;N0mk!- zl~-}kI0c1U=tB~7h5JO}H83fVRnNrlaP*YBi)F0SmE!3`-6LKg{IOiW88;~GuA&<` zs-tuy%7I+0oSmcJM)D$y%R-tP9xE1yMG(ctfD1Y*@i86(ege#tU!Y;??&+Zt5)w+! z#J@gs=}`v}v4+V)S_|xf=@gBnOZ`0&;mP3+0wiE;vp7G)xBXPosZ6y1zBL&yf1ojd zB8ftTLQ~Q_bm$7Ml!{D-Pu zL6FChMru5N9(+`!0IWfSiM5E~7~qdcP(4#j(KPK}y?S*I=pTVZM7}~^7ig28G~NuY z4RUe@*z4ezq`%_P6NM8GQA{028|^3*Qx?_)*%r8n!nj3nl7*fujkp`(AJ_sALLk1b zBe`LqP-wQ6_)blElKcK%6Hf*(0BPmy>-b>zF$zWU6Bw4E)txH9LQ6yAnyDt{xD6RY zGKSOxK%))^AP$-+ZjG{hYq^2W+X~1dFfZgp5*5P%Jjh3fL~CmrZGu`(B77)qum{IO4>VL4zfm0|zMx0Iy*TyfGY78FcOl82{EFKfvX88sc=;5Lc2# zQ%8rMaCd?-@IXk-0Sl%_AP}1dyAIukm~X?MpD|(IR%na(hmbiXTLUGs4LH#!`A8-g zUI{Umk+~z4;4-E`Pzj72kQSnWs0C+^95N6tKy{xt;4l)gka58>$&eJ9T>?7tR;BFv$y_7sotiIl&MyNUS&mrG2`(<>dG~IYpvlkeC!QqywGBuNoQw|8L#7 zvlh^m1ftv8+k4QK$oCOD(?}mCudMIiQ%K0IMx%zNK*oaz?4ie(>KuebLmXA}W5-BD za2{GTepPWDry_;Jz;J4`M}wqNagKvw7m@59$)BD^;yrV6S9 zb6mKH=?$^P*SeZU+QB*$({N2&|A~1!6$3VM|d>kaKWbekybz<5aNo#?9Wm_zJxN;C#YGlqb@?m5{pV<3ibR}B?Nfl8!IS$xxB!NPXTvh^cKjDwVCFMnhEASXf zKnBbbFu~vnHwVXg955@?6~Z(C{s__J;^HDJ+~|ZD3dD?+m_>?0T!EytvBHU%kIS&{ z2j}Kfa27-~PLwB-gP)&Fc_7vVb_lF=5lF)o%mza&Wc28t@-RR{+}7kM^m;N6Ndj)Z zBgJ%%fCIgV1Bpgsqi9w9LB^$Wthg`Kazy+Bj=n`PWqj4OE8M|yh!+ zb*;A4($qYVMC1a1DvZZaVQ@~47@Sa95Y5EhkkDUpE^1}Fg$U-9+Mb^lz`x5nwMg+0 z6k&r%FWH4K?Jkx0&n*kf+G1plxc=3C2J8h=V33zcjAwJ+rlZ+3j|wIVyB{cmB)p7_ zt~JCZD=ltcm*E&6uj=YL`RF0D*X+~T#c{W^jEvd9?E6%gE(KlTY{;NV%V9ln(zvUO z0xpb!w3TFsAvZ%FId<)`d=oWD2AGk(CK)DhVEiPY1cBcq--;6i^(`$YhZVO6z^#T= z9B9*&k56p%lL`2{D8OsFP~X-zSVd9Yb7!{L%<#!^lgB6cM!^JdAT|z=;cdActs>NMZV+T)H060TWv$q2Aw;H?l*{rX9?@v zQPpF0nUY3*o&2@vzea{_gVai0U5mg|aapsxR@o*&=hY_PH{{N?lqjX8i@r!46T=n< zd9DD!i~927j4k9AqCtRTG)gEBErJUQgnCw=A9ky0X|JS@?&sztor$-p6y6P^A0H8DLy zGDN@%pqeDc2wQ@T)P3JgSPG~snG3hKzlg&Poq`k7zUZ27H^sE-tON*ROc_1hhr z%-B)Fa{Rba>eqt@G2^%RN{WxqXzAm}mYl_V2_};=`3`6N9y|zK^7vKFg`usN4ZFRm zuO*o9CiU8YYt1?+Z`#2oJnz4KkEO^!L;9?}HC56L(m? zd3(Lk(@Eci8i2``^N@b9lQ1V(j$>%T4;%p2wq~w214I+`3SJoFv!%ehzd=PPL71~i zgP4a;Ab~e*P!b&ho+EG*e{lPua^;u*D+{2B3_5B1V7O(CjT|V?Kirjlm#F5O zFC4mZ=Xh5u9|w0Z!`>(*rvzEgyZ5cdD%m-=GUwNg+TGP$r}9NMOSV1nZ|t$X8%`f_ zo-2M)KN3^l@sQ(paet?eib%{{xOsok(AnSpH>VtEC=nq`hfU}rHC0V`VpA4<+{EL@ zg@@N2@KWl?ps{jf+~!;tb9nEsjzSUvC;4D>9Wcnb7GEUGNJ%4zhEP0=fufv0FuH#M zl`wI;#kP|lS3(vEj)>TMQs_3!E*6%kkDb%NKp0Wd5Q|&0X;b#oRtc;eVCNl%_pp#K znHD2y{D6>Jbbd0+5A=BOmFH=@rQ}tiSJ>4hFJGWuBgt40AXMNH*%kEknPsQTamyRq z3@j4;?bqoC2`lv~bQSCf(0F)==EPV2fi@0V1-c{8=LZC=f%-@~88R3G{M}@x6_Y`$ zCW6`RE=5F;=~Q+>!OH^!Corj-3F#yE=~F3x`O}|`tovmoCCiCXjgk)XW{wydsLBP< za9rFd0!p^u-oUzm|`OOb` zxCSWeyDPd=N~Wm?I&Uc)G~R-+OBrHvL<=I74@*Y$M>4F=wO)@*!on@p28@HbOap@! z+R_T3H)n_f?}-;`5Vo!-Eyuu%2HhQO}{ zWoK}dN5gy#4Hx?zn?s_*t_ zsp-M&$JeG;uf7`3hiU(9R41bdvo>f{-|4{xobq=VHUyM8tpw5X}L$p|WKT zre!H7N}SiI)u8D8;S^<>9EyIdY~oh#qs+`hla1NFOA=%dR$_u zaIlGLc7lqQ^_vE_Zr9(H(3HtUA(`aCI~Hzk=YL3n3Wj;BD8%>C1V}r_`x;2#*4R^7 z%hPi^VQQd&Bw>#j@muI2Wb_G=1-+240Z(4il-Et=_X0+aO_Z1JJ#3@)_Ji_E>Qc17 zJE+9O5I>xW%}Lk{5aQ+k&@t+;+qL9mMi?hhKuL@h9##dGlFZV3^=ThQr*-*W!wtok z4no2PY*fVTyMO$+h;R`-3vIy<2^TT2z-7RUccF?yAgtaA&R1t3d&?C8iM|AkkZ)TG*nl!l&g>d>TV!cOq^>{)KN5ij9W! z!z0#;s~Z_aHNSK7t|%*;zq_83s--2USShVkZtMbAyJ zJ;;?S(AooEz;5ohu({X%y)peF=6DAI1OPN*0}-hX7K9B9UG=cF=Wxvk=2c-}u_4!5gYeyApGi(d zsqvkRj6oVB#F9=SId;Vi>rlg$3ge z8?EXdsy!+m#zvADrIHAw&o*EXk?{R6Sr93hX8Z-T8G2AMYl-=-d>StG8% z+g5m0|Ksy#G=f5#{^n-KO!m^e)<5?0O`yuv_1VMUCeboL>#2}|T%JEhsY};5^Z?L+ z1fP-GuR#9F=x6^ui4gYqxKy@NpWlRu?A$@g)HeOi^I~eR9&J(a`KlP0Ix`LQ8Hf06 z;Y=fHD3FWkPh8~PkJ7fjn1&}W6(C=Mz@`;a#O^xZ{DqZQwmj4 zs&sTrNB4ePxP7Qoe0-{F_sO&F5BWBIG9n=hGS)(3$B@jxw-|-4bmM(Iq(qp*Yeljw z&0Fk&bRGKmvQXwM9rWGR`1tdj=p|=TgmLlWa z4F?&8r2=8L0hbHUcH>V-^o3a6Uq214eje(KFSeoSYP#f?ba!3X_ttmxqf`C6-W)YM zD3(DDp2Gn0M=WJ{60^=cgNaq|NCe*&_MGuv$-W zGK5|1_Jn(PmB>tV4+JNp$I|YagFk0ItlsmN_Pe|luhYwpfWf`Yj7<#scZ-rL&Xsq8E;I z(GZ~)UUfO#KwOA=SY|#BIMf9yxNYVoeusZ;Kk?AT#`e5%_VnUD!@JOud~BK9UUC4=N>T*LM2X}B4}y$RB;#vY2X`N!~_wb+5T{LQoCf2J|EpXFw|mPQmnFS ztt|WWAN_zo038D-B;&z5G55~_?-b*#u?;<0MJOp5P$0<=6i}Fy`;PcTot1T|_5D4Y z%~UIPepi$H?%|?Edxq~&uQ{0sA}RyiXU7+R3iJ2gIYg9d&9{dZDd_XivxkXP-WSt?ei~^4TJJQAGuk}fOe(vcn z+lRYei$Fg<(eiLLyecXRY!BrAAQJTW#%%nOoAa_LEcKb=Thr$|{gY#ca&BkKF%WNs zxBz4thTrXGUG~7xVF^w$jz~m*)H-~DsbWA;QR|<3S;t;&hfhTU={PMJCU#wPIvcQL z$I1fd4SuuL4!Zo3ye-|*gphadT*PsE$g4#^2O6?ZrWLzvg!r>AF+6MqUJ zf`=G0ky2Jpk*iFKiDAn=`a;?Xkg_m3F+Tn++;%g(UCZ`z9-O}xm`&R;&I#L3we^Ix;a-H7s;cm4V;lyhj z#l?e-A6wiy-IlACQ)N6c=?5*_-o~aJ!pZvwCXZ?;xj6ax;Ek1LGdcbB2yN7TetNP3 zwsv}K-&M8({~L02bd`(Qk>B%9BKrASA_wZHIgpf>C$~vT%BXE;4Z9|4U5)1tX4_2d ztqIAJQyTg=cf@VBESY~c0+%NjAo}C$FYWE|+2ww-6B`BaJ+(D8k_(-HEFYlS=`NMv zdC~>}5Z#~f<%|evM|u)DpCaxr=xb)E$WNX;u|0JE8j=f_K^`W=18dycUc}^8UtL{W zpSYA)eH7`E3TQ#sbtJ9~xpMm}eZeQ7iEpi(4kpw7t0{lqD|B5ex%Y7BumyQZ&fV;bj(UL0vFzi5C#F{<7z2hhpHf{X= zj?WfG_Ao#>bLr8&^tP8C2SeU5d*;}T4G^Oqy(FxbT=Uyk^!CSHuGG2Df9$KRX~))T z{1&w~08wbm8#nLWxnrEutWKr@N#X}$A0?=_*M@lW&n&OM?nP9df?$K!uW4*i;-^~f zO2M=tyh-vJ3NnTZrAh;*0%ve(Ol5#%Vps95;FYOaYWuc15N`&%ix&|2@07_&dpEQb z6GRxlDCM>EqoRG zB&h)gkEM(cqvdQn(>eca>T7}P3jCrLgj0*T63CAzyNFYn&lcZ3aKi@Ngb)$}KoP8k z47kZ&@Ii^Pl|8Md7FiH^IFe+r3q60`3tP!PALo{b?ML?+;v9-V?mhFq-m7&|N(Ndr zc?}3YO?=As>QwmUZ?F7b8=Ui(_9*a-Kf-(T$oNjYwr^bJ?qrrx2Zd%pxRV*!ZEtP%!Dg;k)ZdcbIh`uGy z#fKoSSp#E%y5g;K{9S&3Sjck+`LACX>w4s5+Wq5zs+39H7z1SuW-*|2B|7cI{pT3o z`>^Y%Oe*vqU*EYGB}+dhrSzc@RG|oo#_Mw9Kp-WjnkYR_bvU}I=d-cnG4n_KR*p4+ zU5t2zPcVvUp>xr_VP8jY+&g)F2@)W%_-@DcB@!v&+Qy9$BjM8h#y5~+Xh7kns6r%a zgg;28Ghj*62EFi%^atA|ubn~ik~j-+8u|YI{u+t-Xi8C7Cf0Xkw<)Z99FEZYhWC0g zs6dozmBOzcm?$ zwKkDUMY@xT(f}VEm5f4WqaoPJ!RIh|9k6h2(Gu?3@(?^MU0D7YPtjdk%64pd$Pl4< z0nMG7;xqL-3e|=PJD9$Lq?2V)tf(dFXsgzq8&bFbtzasJf+0`q+d(r2Ml!;O4r}41 zh_KZ$!_u~^|9O$OQmr8_kwU@9fSby8Z@S89L7KJFkq>oSbJlp|Q4jTCdXM7g9GtN+ zUrkm|&6Xj7&2wQrxysNKgaG%SV7H5qNJ{P`#O)oQxq>GFAxJ7B6#| z`24!o`6B!$|6g-3t;jSagrIM88by0~0s~5H>J6(g3J6tIe?Zpa&&Jk2WCjX*F46l~ zf`?LV@NgU68uPnq-N-@nI)$cBjU0+sUTpZYy!{TQ*vZiICUV;aDfkq)Z*FPlZ;@ z66AKojbVB>jgXLP^;MTzjdoHWdlgJVuH1ubN*$!ztdV+Fe{-bR(3+rDjheycgmjP+ zy9dThUSsM58#*~r0B_#B`EhR)w%eU!9U`0p0&^eiI1mzogEH1~>4>iQE73;1CPq6T zL`)el2~|2N|L{?U6U}FPr}jWCLLZCIUT+%rNnkmjCZQR@%wp_TlJxS}tMB8zq3T1{ z?fqKugX#5!_Y(HRp;3_$^p8Vph*EXe^9$;>FaibJfz4k~Y{k)_7q}!chH;0ncWe;i<0BU4d)ku3oKxVp~p4P5sSt zznytKvSR!7^<${KhVEo$RuIV31(aKeNxxIDB^Y;Z-&is8=W^8Q3NwoobGD=HIbYdy z_u1B!ozF|+3r(?y1YcKHrsiB_sI{{OI^2~gpuS%_Gqv@y^7qkTj^m>kM7xjx%YBl0o&*H^qpFV!H(T)~0csI6pwWe65 zpwQ}F0p`d9{r$X|H!!gB?tbfs1!n2@+ToaGqg3tF*Eb#T?$o|j+xYS0m7R);lEc$> z^cg*7AscQ4uW%U=?$Xg$h2=hSt9v{0uOE9%9&g#U&2L0fg2+;M2O6=q3*XK*vI=(l zQvAk3UF3|!x&r1lgTeYc3PD9t;R_t6SS+`=BEyM ze%7G3zWm6ntnC8L<>HUWvM)iIZ-+#Oq=Q*uXKHM0DbBNn0Bf4Ng7c_F?5InRP1bR| z4A!YVf9;KJC$BW57bQM8R*yKBH9){HdX@3Jv1+;^uQDWkF8}J1ahDLe?bzyEhz?N1 zE1_b!@!nCSRS<*{uC1#xs+my^l}zZvtWgrIp>hH(`7g`eoo@<@)s9V z>4C0sjsr4_(3*SEc*+m(=M3wmtn~Az($^2wOG)50F7#9x00(cDv=9lLxpPSGI%0K5 z##v!6PUD>s@opdV??`^1#$6F(kND<@E#HqlTcjnt=nDw^vmelYW51BbC9iEbk+1aCb0$WzI7UyQi30jnO2y!}Ys_OgnUN+7G3cVmhA zcjXz? z{E3R9lwF)m+~(ntdm#1EJY1QnN*zUmo+D-O`~ z1?Yz$X41wqDG!-zZ=xs zT?l;!C=I1AuduQfW!_a`hdKyB0pQF2ON&xK@kLHjQ~P`4T4D~T@|mMnzd;>HPqTiz zu&<^{acmp|Fg%YW4-a~aXPmNIrmo{_6GH;{q!2K|(P&D*m20OZaX@GVft(a2=-S&J z#6NoE`9jTg_b!i}$4>8XQ_UU!Zr;Pw{Z#z?8t-PdpRc2C-=>C{0}LEc3{qVvyOI|N zH4brP1E>XFauBvyi$Lp3H)ZU*Y4{_S8^5cgb@*g79BQ=IwtBMPze>S|wy7g}ZOUem zAwo(6>xKmNP(`PK^`;ym7z&zb&D*!k(3I9;22_~MjW1@m_^NZyPF1u z)LN3CNFAF#Rhg2Kz_-ik{_7`Vt9R~cDTNYdK?Ld z$XmHvxT;P7?ImP?&{&GV1N;(mcpJZjEcZW8BXq5kc2UibiY^bmj+E><_SAlDasg5* z8p6ghzKbxQ6#7uHBle8Mgmd&mfvB6A7B2Zolo)_Cu17JNc!U8S4Pw#0N>FVB&DE^D zYrgk3AC0Mx=ofbt`S3bjYGkC^#&43xCWNKj?veSPl(a2_MwXUq5E~M{269SlfCDZ1 z!Tc5nW8o%&LKUeT;9Tnie2y|pMG#Av@AdCzd&aogYD0K*67xBKUlV@w_8wNQ@BaJ> z`CX^hBxeb^84bEl4QLXwAK)6Cxm)2%YLmi4ixM?4m6Y?Gpdb+r%FD~keXEj2Amo^P zOiR5hR7y&UKR#7IJnn1Wn`;~#d06K5ZU3$6o>Tf+EPVs32&2eoU_D7p!Sz*yp&sr5 z6vg!)FqgH{+WxiiB{)B@gJYoOz=9$F&gs)r^g|5>+A@y}v)=sI8FAjjgb zH+6}dGzx8m-3AhSEwRx6V7$+mLRBZ#l|84{5W|HJ@aC?&FumP*n04jT zqix5|FwKn88ogBABh3YS$^Gt(o{Q|L3G?!L-nbcG=F(3WBW50eQUzi4nLRv4h4N{K zceVqGA;Ee88-y6$lZ6QvkzkgwOC;SWIB7?9<%+L^;;HTYA)gERt7Nh@V?FP(t-sO~ zYqNYdGt>7-cr-`E3kC~Q%m26l5B#r(g+UJDcMPyT7i_e*cG=1m#kE(!`e*~w7Zp6y!tf?t>I&=`1{wWyspj`suQ+e#Nt?`=p@7*csxxp;kU z#^@#75Mw|hBBB>UFULu)_sq$P@XGL4194cr?$)p=_q+oBaZPV8zkPFJaAoB|f&dT$ z2ZvVW;fc^kgWsm;fBCJ@Zc_O6+tzKYe(Y-`Uq@Pqpu~;yaXj3wL#zge`acJ)YTvuJ z?oqE_NM@>pW zK@N)#53HCV#_jAyrYpo!Uq96uNMHU+$%fyd=YCbZ)R(o(v!j!V^j_=3u0*jfYiWJG zhH?5HE;3?l&u={6z;|HkTEeKg7aMJv`xqx_hJd;s&I=-_X6Bai2k})*T%7RGiQhV` zWAA*PD1gj~Sa;$8Q86-N$6OKrPb7HlfWg4kBW@yyGm&r!$6mP2C?Yy$C(p~%w4U8x znxWXCX6)-#W}6Rn*UhfVOUKUb%1Wo`CQf+o7r0WmFFS=w%JJpcar4_VYGHl=@QCp< z!YUl%5ceEemdpj3{-muw1jb6>&9;t)JMm@s^a9Dj@5X1wBw}B`}YgJEat^092#QV zqPHo&y*GXBTl;6FgUa9_0c~fgOiWBq&i7g; zT$N!pzH_(H^dIlyogj=bxlqb`3XaBh-regsv1n$()#Uxj&265S`C3rt56aD?6>qEi zcV4Vdo|%cAEso(V9I`10Ir^k;Xx{(+eO_|gfwMqVT7V_=iXY{_o4*c1SzEf|FPN-v zdb!fA4QM?a><-X3vY%{f>+B4v@vE|h4#vU3VKXit@aACt4XGCaaln}Y>~{-vG`s=K z%_tPq^1*9h0)YkhC^bUHmIAYTrwjo5=0f4^54%Db7=#lRIYOE2<&uI^64nzRB+W(d zYP{@x5xb53(4nPo^&2*G_QNiVdu%i{=d77&N3NXAt!`mE>9-ceo=u7Q?l-RHu*yKw z!;gUm0Rw_=h=Q&G8VVU3#4W@#77RC369EN*ZI(*#^m&>q;ASJhp$EehUnm8G zfmbyjY9WF6?_U7@5t0jJ*_x23F)iJ>!>GB1%D~X(!;6uTLg~>^Rk<3l3#-=$Je+a! zJ$-hKm3foT>}dJU%X?jN%BST=vj@3}q5XuplEEI6Gn8GCy5z_!FBY+-^*|d0cxTPHYQBaEhl}|Q? zckV7X-6C>&M5Clny0B=V(2vMy7wP~?UmbeNWr&k3yc-!^FDrwuN~lhtiXKPwq$QID zWR6(1O@Grd$}`c~F(jBShFU4aQi{I5a`DpVAIwbmf~kwg5~4aPF_8dGMCIuWQdZ?n z%DM&_odrLbXsa-lfcR*&6&dtt5uid=8IYBg)%I=#Tpj4FAfMDfJtU}V49)-x0F64- zdv_tZ2312qci%wRP2Inh@a=eI+V*$n=%c zemA~KMHt9|O^ms^f@_UP8IU0izt6hSa(vyE=P+yoB1B9G2Hh<@rI3A($mx7H?$t;xzV-YjSjbE1;$MupVA?M4peGE@*xtK zb^QDiZf2^%qzH7oyW|2rD*nXs4VO0BNSJQiw{6Qn8b0s~WOW(agWh8}2j4&sg4rf} z1M~&7_Sx*Fp?Zisfen@lDZqH(0;q&*3x=D)EZ110*Mpo7f&!7gh(sroXS~kBeE(e0R-=;0E-R*NbOcpbU|}H$4NqV{ zDu+yS#-|_ASZMggE(6PGQjP-E{R`F&R+JF~;%s3ebRlY7qKbt~9l++3IeGy*ye4X$ zt5DF-d=w@{Ci-q@;YYKEqWIemx)mJu3KpKw# zpO_Q-PS$ZLhZt_hXc}IfZcAVNE>S)Vch7O+Obb>8ZhT}x4B<$!*wH(J7WpyZw%p#P z4Ia=c!mP(f%kc8_1f7=w^))WpsI{q@qd~sB&{2BA8X4sn%vd0llRK@;h4Il8$pWw^ z;S>^!$@xiJxXj@Wq=}E8(ce07iBNJeYfwXLi|-ptCy$E9XWary5<*5blrxCL4DGb= zD9X%9)zJIM`fH#h#K^Fe$=m=`-{NM5Oa&KV8Y0&?*dMi|MDget2o1b%FF49Y=-McD z5XTV0CIzB_S&t&`IM4@S0CIkMP-U=^=<)qQNWd2saQuR^OAS1AMCGdp2mi%_u#{%P zP2IGV6e?^2qWgt@5Tpr0@4=i2uftdL-Hs;^#Ui*0(3#YNt3uXRF)A5BI8lj>!QVaq z#aD`afg#Dgdk_6Dy19X}KwILLXtEZ3Q*q-G2nQzDV4wF|bD>@YS zQdAaBk})->p%n;R6v=@>Xgdglpsz*}ty+V#Y+yYy{%RaJ_y&Kq_*fx`I2g%G4#M0K zJsiY|nHV8v^1TyE!zXBXMO-n~uMfnfjN3Ti7kf@0dD7N~U(54TO%kn7P8$-LB95A3 zoL{LiU0q#7eTylx9@aZZW?uDR{JwM7QERq^*#yDB5XA(8j)L{WNKWoSFeR@el!big zay5Vt(mD%aqs{O`27T>V37dMHl11yx1L}5!L+LisMvI@~loi`z zj|FDH0$%PFEIMKzk3agphd;>oDl#4L0&8KpNZ@8!-jWpZZl>UVy8KymCqiX-FhG0> z)iDnKEkZNwhZ=l9jl?=Wh75(gDZCy6G24G9>m1e*q+xVW32ku`c2&RAzWSB~j$x8b z5oRAIYZod)$P8EWao(aq+OmTb)PVs860=&OJOy!?M8jmY7GpAqt1pc2NW-6&FAaQT z+LllHTnF!GBMQt!6ACjvf=X=1!@NRBXA!6+Nl_7t1}AI~%e9+~U*Mt_5EH{mRCFmS z`WvvYLQjx22#(B#{mz?7B^V3#Z>I^)1y#(}6eB`uqSZrjhLB;AJ;+}CPDW+KKs*}} z3`_ueNkdQrLXsYq7%Q<}pd&;!UykuQGyb&hM-YRo+D zE28csDKluU1S90$2OtFRD2y=F?1{s=Okg9ZbEmw}=O$zNYMf(0i`76-EQIC6ogEf= zI>Qe&WblR}1vr=?I#@&W!8k#1wNU*%7Ph3*57v$-`XX>_fbh@oB|T zYt`|&o=v5ttdX(x^KW7SO6;=G?&p7)(@n-5AkV^9M-(L^Jz%XVFV?LhYe5FFW(ck{ z0-AtRNAzd)SEp!B^22ZNyQf62_80vz$GTWaty;)G6ewqfU0 zWXI?qgn<|FnuevvU#2!p;9+cp9kYN!ce*mkK5?rNsV|8E;0y_l0T=F6k#bxUeK-|} zJS~XjkR3S^f{3vTT%lmJKs>3D8LXETq{c+ke#2>wbOPEUqH+4GrxsKe2}V_#NM}K{ z``fqROEx?CTDu5=l%S+&Mn$AW0N!Aei32p68)K?%eEpg*wI{&!Api{`K1CFT@EvYy z5z802MZ!(JtR*Fzmplw1fg8DnF(rKn97tY@RxCj*d2I*+jf7ExRmVw8yd%I=IR>(R z^kro+f!Da!Xu%%LKl+RX*(~_B%Y$nOE-g>EWXg+NH+(ye0Lbe@ zLg-0#LAtmM;VB7#h)x-u4Y!i*B8!0ix%aFHLJ&HTVX$3JlM~?!>>B<*<3TKu@zX z{$Ii4a7_p+6@=f6WFr@y2*%7albIjQ2GI?9JG#V#0X$DZvVl)enOhNPmWZ&@U0pXMJE{cs)__dL4wp1O+#dsUc59{eo3CoiPm0 zF@dn1*iR$>AxA7eH@hsBmORc_LZd<`&o0Ye{CCgE6IC_N`|Y}kYf#@IxeF0KJ`~|4 zQ-pJzI0@hw3V>>r^cnjf?z+xkgb!B=sjPuv0{BVXZNK9+e8g05Tn@YkeK!!k2M%gy zG>pR+)EkaedVZU2vvh0~nB=v}iXww6F-grUd=xh~%E!Q~kt}){jCyHw$%V};4=AX1 zW5}wY!2skTDM9f4EQ8;A3tSvjH~4Av^|d7Yw%DVld2ye_(2}peq~ew@b}SU*yeTe< zQQ^C$Vl`%%@q5~~hJYy}hH4=J4vUM6UHu{%>#;gfZhM8WwyA5N2+}L85t31ZuZRLB z>YVyWswu=51Z8g|r^n#9feRE)E27h{HYcfweM@RCms|GoE#4HPLHS7IY{Y)^?!u#; zAKJbq8CqE>>fWfzR#J3AVT=k3o*;5a1W5dXyO7rXKbep^LHk%{jcZ^qE2XHA=0a2GbXy3W677;0<#${)nN7sFZ3 zH4O19FkS1=9%>pn$a3#E_BwGMgQXq5Ji?r*1s9WjuEHz#WMp>bT5xP1*OnTvTpn0& zXFnY@xo}}wOY=+No5Pn4@5s0NGSbj2@7_mu_%LfsLd0=vYlZ`txFgEkZuK_nX?l5k zp8$|XB778KaGUz$jQxV;2BO;{DvSDK_=?Z^<0wJxnT#U;@TseCH$*)-fEFR zv!$uWakpv|!chDO<64To*TlaoEUecjPVU+&j|&%CTdOG@QVP3nW?1aC?j0SY0i~qa zadPqb#dFKKHc6dL78b5cN}~H<&yULs{)s0VZVHfN88WUP_@|5H%{T_ZZIfq|FP=-! zn3P?-;H~2B=E)~sHXa{0QOL|q(TUHtaOFO%sd32Aa?Q&+ssIvtDPkW=AEC%DcPUm>3;8B=LCa>xt#LF3aVbTgB-^0~2fSe7_>S zHSpP2%2HPZHbLP!&_KPOU5l5cm&N6eO7q@7}5X3v?mag;@--(gxaekeJg)Yw72ii2nlQlC< zV5fT0@W|wESIx$z-BB9zNr$#rtN&FYN=%#H;mL`LJ$+|8ZpHHZIyzqFOr5MsnxUVX z-VRzl@%TxZ8=t0MmlI{`q;qeI>Bz5^&WB%`cFNhE2=`-v`|*OFn2%zN#yow24o~vA zqkUl#6U{$9&!74v1#T4&@o7L>oVyg)afnvT@5$L6Co{4?ZRlUEZp7|9#;Ln6!yvJt z*kN+2BY)#cg@}s&x~j&5-ZQ(`c`wDi>d0PK)q3~tWbD~E(`{S`<%!S>rm)DK39bs< z8eB*7MaNH1a%$h%AV)(O5BmXj@HI&5CCKtuAzC3hBXOJsgmPR%bKtkUPrX8ji_21U zTtlIcmDS}R(hk*Q-E_?Jd6zGB%&%eRq;70nI=+9$wa&NrKWFsU`R%{_Sn0~u*^2GR z7=c(5syoTJ(93DH#iN(vdpQ`^(mVAGG^$%~(iO9K>U)>+#Gz*WTDz_>C=nOxUsdI& z^?&u8I&q8wwZ?cwciHqRb1&i5`r0loif&SV-Brz1ovE~bp=Y||{ft8xagOp|{XMrZ z_S34bj%n$3T&NkPs=#vfAM1+wkl1pgnkIfaI>n)PODP>)_g`0~2MNV@KA7YIC&4dy zKt1uZSVc=q8X?2*;aE6v{)m%0%?1+9VR=D{-}Caz2{!MGipo8d)I$_3 zUvI*O9!S!4KdW&|%j?9pGexoT`GC_op?yp?6k4v%?FuoDez_qKfF1F-KYuP_>-$Wq zl$0f)Pg&lPFl1DyVu6#8k@?YRl4>M|V1Y z7~lvfk!dO5sp=CAKry76V_l7?Pfpac+eeSm*j(OmSi4drd8*KNFzFVR<#Wm^`su`U zwTStMFHI5)NgbL;SjH<#yg5RzeIefX(EiP(Oz9U)M!l09da3dX~e7!O$>veYbOpT@V7BC4*s&AA77se&}tpAxP%Ei5GcTO zexHIY-6v;uu(DBGmN)p=M}&K}ojqQ2Cz8=E;j&aw+}b^iO#N%~@7^tU8hszqX*}A( zv{JHrx4-QxPrmK9CK72-i0;>4cf05|TaUxcc$M73hYnggmQ{3XW9D|*XhHNgJyhLz zr~2dLC7Rwc>6SwN^Ika&T=Q8CZwFuKA4&My{Q@PKkk-OVgTfD2r;?}qj@k*YjCCSA z_hf6Uln0q>d?dGFtsKg@XZ}pt9o%u@CBx-{yvb%?NPh4FB*h)>EaWHsZ(u9Q!1uu( znm34mxF8syLDc|=T1^Ky860+}oy^mkF_6;yqp@?<7Uq+SSIZ+L54KN@8uy&J7hQMf z$>l$uX#w%#T)&laa;m?)SmKu4MY+1>%Qe$On|9y7yZXM&i?NZ^Es1BD`F9q6@r(+} zj%qhrW_4YbJ3qT=|IKIqCId`Mh7Fr6q0)VETP?!iH$5V? zzkfn7eYd72imdl~yCNd4>@b`kSB?NEKwJ#Ze8~UXAp#w}8B4OzvbvVQWyfF8NuB+N zm0+-c6V68PNjqa&$xpL`zut3gW66bbrw^@E-@kj>-g?B@s23GL z-E-j5(*7!G^iRKY<9Zv#WYeKTavNp5qjaBmIQKEzCB-@zu%)uOy82fwf3>nvQv>s+ zeD&H`*{R`td-Fgdt-0l)9savXh`573$s@%>zGFT8AZSE-Y&_{ZF zcJvcRoXj1+?M9X`+b1-lkSJ_(^&SM%5vdhZl zg9BPN{PT-vdL|6@zjdzOAsQy+UQ<&pZCq>p`ado}m5oA=S$bq%0rZ1B*96(Xoli6~ zo@oB%bFI!-_|umcawYcO|~4 zNPvL;qKFfb*=Br#Ne#i3@u9vT-9}(o)FMz}W4+1GU)CjHZHcRMUj!G&x#624!XjU1 zr+WRSdw)-SDWA3EyWP=cd2Hy&L8JB$F}+ErjcT<~KC_S2j-4O3pBm8JVT!@uNqonz z{Ih4UJ32Bl+Nn{i#Akx?Pf_67^BbjEHtaj>&i_4oX;9bd^-7W-Je220PrZBhq}|T^ zdf1f;AFnWoF{`^uL}rs4HjqBA1d@R18|g9{eR1Pw7~|Li{@2jeeFeaR2B~?9inp|R z+S+QL`}8d7YW#K>vC7>@-Y;_{r{B+8@)*y8)#t>Ql>Fz%Gv7wfDJRnh6Tcr^p?c`h z`szWKhGyvI)U+#a?|G$^Jf9f+5sIK?NdO(oDph+tdULGjWTUITX1gwEXH-A1svdcd zK25pz1aso!HXQ3$s~ovkR;Cp$A+cje4GQdVSqUVCWqAJ&-&_@o{un5;6NfM~X$f+C zyT0+ws;B3NME|VW^d_XkD08sV_|V0D=gk;af2p|lJ~QXYAF=h^uXz{_xb@B1kN%l| z$R*)#<2T6c@8smGs=T1bmg=S+IpNY*;Y0J-K2QBwx@@V(TG*E=42WCh%KjG7TM!M& zjjmFqUYcU+?R(P^EitS4di>*_W3!IdiK3=cjVaXelC}hVBjL+21n2?vsaoKt5WgWP z=t!p(aFJPM1ruL7eOiSm&E&`Hr^A6F*TYv`UPz?1eEHq znc!aik>WhcK7Q$Y_q}G0G&TN?TlbjGeyo*Nbi4S?=h$l89*OypJgb1j$jRNNac?|G8rYRh_Up0!z`lJf0M%9+6nryVHWrIRmr3I>h4oBRskbHUVE z_{#CK?RFFHwK9B%ayAhH6Cpih&%moBek{NH|B+laiCtIS0*r)6s?cCp5y!vYVAY3L zuu~(q#RSb6zovcTxyy;y{0F_7h2FP)^HPtE2@mpabYd7-9#}_@e=eV#Wo#VBzr``++-v3-T_?h&!DXfT=X@2N%4MYHDkl23&t#-g0l2kh_Eygpb>7%2C5WsF* zAfIOujAsn$Cq7!@g=uR(5QVegyfDfvAKkrY<2|WsMF|HuE?&PrwP2W2dN(P&Xm*Ul zz&>W=*SUIL-VMLUhwccu&z}`7_iawFJv*R*1~%ejd`ehxZNW_85!`iV$^ptO3Mkb- z^<9|itmIm^t_EEOv{sz#?M)wqEurFc7H60kBxN%`APEuCW4NUC4k+LfsE$E!rZeIL zu;}r#XZCQ4@)Uh4bK%=VK!B(0?O%Z`3c2mZGoPM}s8^`}y!idt*+sW{MkWpqmW_KQ z{OUL0TCwdcw6Ul3ly2OuHfWOxp(~LRcp3Z*F`09Xz4ub}av;-MXghl!!td^sgF^%Q zkz3x#Yj_l;m61<`6Ck2zj3Wff2PStGb@9SW<5qS%B;ah$L%snJEzH!JeP@rI{dPF` za%IP#>8wZYdu+o82X^hVW3=^K&iQA$As_U9U4Nn{<0k<+`u^~Q`3d&+D+H&lxyGUdBO!K)FwrNIRUbKM+o+<< zPNr(7-(4UPgkWs9tRS+o8~gW_%;$d^{SdWC}4QQhDmLC@0X_g<0Vy6 zrYqb3H%rwa7DwV=3gu>HiT<+GO``5BY`T=4A1>neG}@$+n;S&Zr3-fx{=9pJOH=p; z|8$sd^~y7kUKf4Kv6X5CcG?}Op$wKhA}4NShhD!XU9_t32aoof2>rDB4QZz{J@;}- zsa3SHM@Sbfg-hQ0$7h^6CUncMoyOiFR_Wh=F8rB%F2*4I`rW&qQ{^^=Ug9kMZ?5dw zbAPD4(pzB`oSGu1Zdvs11v!Blg(lMX{vk*hODF>F*H@w%L&6((z+)#2@T?sPBMmy) z8(+3%W?(VyK%e&?2CquW%F+O8+b#b3HS(SwJS}_(^~p-qRgYn&2!#(de_AY2-eVS zP|!+!c7c0~MDao!4kv?GPeG2+%3z~s;T7&NwYDA&15cGm`%v!~`O}qgUv9Ohr^Y_2 zpb|Mhwck!3Mmxed1({i5e#w6M;+7zkcq4aru>I%cg|Q)ZTh*O5JLf+025Af~c~#fZ zPE57^&f(+by-v@A_VX`Lu!of_aW*AzHMqwHuejLRiSeEpv?WiSx~~Jbw1wMIUGEB% zF2Kj<3Y@*#$zq>V*+`L4@Le_NY@jf5EyY^^u| zT<2!=w(h-$4d-~nlK9twNF?>JPd@QuQ z9Jm@KS5BmHc2aQ}27)o4R!&-v8WQ#hFYlUS3-QKl-odO=tfz6bQTy+ocwSYCKGUE%zu8l`k(XBtWgIi7s$sA) zR>R=n>vAL#<1GRLN(=(3kfaggTRjLYvF_?tvUb1H*diK6mu6M9vwQCw;T0xEMv?FL z^6M6CYJYroTYe%{k@Sgo%4+=Jl3pm^0l@=*z~z3aEm4s^H?5Tr3(^uB%8PancsMz? zQ$lwbW=8#QCY+rgQZ|FKH*?uZV3qtC&>_We z{`l0cvt8b*^h})jvH}yn`Q5ulJfbyEvIZrKeLKra-A6ojf-T5SC<2eBW7C_<^BtD1 zKiymV_H9A?ve2|a61QBU>s}cd^YI}%N_u8n)|IIoK|`OvZ3}A8v0P=byM1v9JOqK6rhw6TL|2s$tHRFV;fKZL03J(?3tgRkNSP- zhsq>SEl}t(J*!X)fI2owc0PCatKsNi+GFxYfLB!X^t+XS zaPi*ROcQaRn9W_Tj`B6y*csMiw7U(4I+f0Pt= zemD@U>?3gcT_Jt_uceKHW#-xkJj;?5adBIfm+OpGtCxnFTK|Z%e-U9(X&a0LIq+)Bg|-GI$SCQ|H)pXJOv{l55d6N_1%r z^Wts8ob2Ap$B*4Qccm>Au6eh@2JxkW>%v0Y{T14cwv}UtOk&atju5M}(x`$=iR9g0 zAEA+{`=z4fbtT6`36!i4To93>FW}c(2pPJp;KIQ2*ejvI|2;7zB2~ zW5VEfVA2Mun7BCbikOhuYu$0Uq@|tq&1^>?>z>Ay*I$<;ls>;af0A~~1OXG<7PC!{hobV{4{GJ8(KiYvxadl;Ru1XkYU*PUNJWDd^YMT% z4a1t64-EIDo1VK}i>JT0FZw68|7}OS|Ho_o4(X+<&POP5A->X}_E|-IR0OS;tQ}Syn zT%0L#@~2IdS5HpcZ?|Ft}vQ(VwXou*^#d5vKh4}QFv}2f@3J;N>3=8aflNsQ4p&#Q9)sqg#r`{1#y8;J|qER zfc|9UTZwuz)F2`-&bKL-kdw0{Bw32xK4>a#B_>+?o>fx1l5JX;2$@%QkDrO=oA_-n zbrm#ynAbP^6(I8s#h+lL)S`n2&O0@bA7W&$PFL}UaWNG+r&#MYE?7r)mz@r_E4Fx~ zjsCfz+L%@kBfKy`yPa580%#9(WB14{SqWH6?LaF}dChlL zXUDAtdc4#hb+j!k?75jQw)lA?+m;{h0fE7u(>elCS`~>;OXWW|N5yOHNwBK4?D1IZ z!n!5nP*~9Xl(t2w^(lDUpc}-~+VMiml1FczI7JuRHF2V6#Z4}q_~YG`;x8W_=a6Sz ztXnwmyC!<2re-EYO2+)tm|URwP??4J%k~`QrNz8~*wOB?XQVm$K&MxH?m&iChWF^q zbAxY#_}oNM_7D023JyucB#6HRxA1J2@DKOIKyw8@1M?Dt(8>O7Oxwc-zcEgZ`!N-r zPkPdsv&!(&Q_*e0p(2o)HvQg7FL3*MSXzLF^TVzkUfXdq_IQtpqv=J)(4rrz%4~!z zg%@GVIDA8jTj10i))Vh|Us&Fl?tQ*t_lmKIz`=RNP~*JxDie-4x5|(p21(!Ntdo*}F8%p-C??fv93Vdsp z?%KO&caZ0pxWK;i`?~hp+|=w5$}=?-)u>Zy5nvM7bi?s@TSGJb@-%-u%g=k~)A<}S zgb=C$mYdvj1FGntd-v|i8P3ZW9`Nv&x!~`&!ZTmBvZu>kW+ft!cR^wm>jn*)tXQ$u zx0lYR9~S9_pI_hCLr`ThKNTJT7){t@$l3EfTe6FG$CUHJupYfsBSBQ*cG5fRExXH> zuJ0$yn|M36am#AYsl%MKv@;LhG*WTy%y*VG)#TkzSz12u@R(9vU{*wEW0#QW1HHRL zkDDoeE7v1s-zbHG4??lIMC&%X%6IBotN4jizfPPOrtQpRo~Yw`VwND_vfQNoZb?^% zHdBYD)Sc$wQp?0#qKvH9?SPwwmDHsd_YPiM4sHt%FHd!q5_v{%#CRU9#QZVOX(>t$Ru*FHjb>fI_? zx8&Wrbu82D6<7PdC>4WaRo#}MsDG<#NAAH*a>?8i^$}NYD8yv3HY`Z+mrR2ymAjge zg>K*3UEhn}wgxj*7gkZLgmBAIsQl4^{cj^D^~fNtjNS9II)?y7kzEdZE}cY^t-897 zv?Z7BC9b?O%-p^8PLyhJ$H2*4;oWW&>XzOh-GfwO;yHT-C7LHr?-DXMuU=YsV)E(b zwPv|45xD5+EgDHaFQxwR36wOd&IkGh&r9C^ICr+T)_-N0%c0|X07d4^i~TFi&1O@* z-F(0=(22~Vpu*~a(>kwpTstYfersobGME2;Af`!3x1xpR0g#ysppzI4-I`s6PLkfv zu#fwf16>8W`Q5!tYwGKQEjH`kr?Bv6x?kazx+x@{pFce`^5^@2DphD%neXYMV%k!- zln3TtzW5hPJWH$yopEzCW}}XiF5E5JqtLhc>0&9$h|LMTPW|m&M$wJO z_NLF37uRo^h+~xzj;_AW!R~_ETKI+<{b!Y`hp6&QsEUfJ(>0;sbj`{Zd*?T@!Drc~ zMA>SJdtZ9xsO6sDZZ|ejRsB)xS5&(}2allxhw6x5D@G}R_CqN7hS=_vcu2@t|Lcoc zi>*g&Y)kGKS!ggkyeQ7GPyI%w37b>hZeD?5nV#pjDih`Iir9whK*a3{hJ;4{{L<3E zkz11oyx8XbR@P4Z%5;g1F7)lYGV*9$KzwLmK=#vb6?5U!SEM)=7OFFK+V77J9+G%| zm3i=paozrv*`}zel`kss9Xn(;Zcy0d`D1U1;mP}O7>$w0I{3*jQ_o}d*7eXX!PtrL z&kkJtt_ZK7dO?_=!$P&z1ntI!}gUy%{9%jDZA0g z#R-9ythH|q9NsATC{Y<-<~^V`jy{`LEQ$w?L{Bz0rf5}759KJkw`UKX`!cjy^`g1? zj58g*Vejm--pp?&Ok_kj4t+WLlmf2Bz4O#7i?Ji^&MwQQ5jo$gEOhzGJS813%i(-6=72HBbx1)VrYEdhG0W$ypf%_0>wdiHpl|3}bfQK( z-r8rqm%|Dx7hg-&H^_M^j(3lBj#T`v=P_D+lJT@OhqB(8m3IkJN{S&YQZY?YJr~xk zYiDk+4PgAI!h2GlTCWEKRXl%=*>`4LguCx$-k=Q;Jkr^Br#^^}#_sps-`OIkqeM0P zxvMC!RJvkW_K$$%)18#)x`h?rH``XmyHa*;X>C=kx*Rp$;eNd#bqlv>vAd|du2hP` zA{4$vX9|h(8Zci;1LPmp-)}t9)XVE27N3YISfr(;iM|*-)~EyK&Er#c$L5^+MvX;y z*K$MCThncuw?*QHMf|Uy86OL=Ka1}kE{@)H;GVbG{ryUQcV0#Ay*8^Vc;N^4!^`sS zUO#)2M3%q*u$eiFmq-vb^?!RW$GI(kqn&GWqFPnU-5NnbJ?YFlLOI{cY!u=jytia@ zy1$}pAGuKYL-bFl4ZGg#PaU1l4<5K?z1cN2<**CA7G`FFA!lvh@6&~dlU$=gAt9tk z66ERm?X@Q|l^L#}`q57q4#?U`zO#ysj@wBrryH!u<&uH)p^dOI{bX83mQOyOPYw;pyb%VS2dOA=zM zBKfo8KZdVK_VE~1IQPJCvA#|}X$*h2WomKE$U$<@pUqz_tp+4l(wu=bwS@)#Jaosc zZ9!*rjYT+MRCEP>9KWKD+ae1HklNpVBcCbsOytuVh zDlzMVeeUKq8wqB-pEVxKs-iNIVOF?FzOS;oCnT z?X`NhG8(($xOZ^w%M14K(h~h@sAtPBjEt!qVc{@4l9(&KJvND0RE$SkJ+jtiP49&DyKZQ;6nPZG{g!HfIh#ew3;>5N+!J zq2Tlv6~hbz{Y~`r?|W@TMHfHsaZYCM_u9`Oxx>W;MYZ;m_v17k?{yodxP8}n8<1(K zxI-*GWbrkJh_BkA*0;SWG#sU67cV8A?tQa27jyd17|TYy-0+S3qLj#UBnQuEmH) zcuxg!#l)yZ(@HzF{F)Guuj=WUVHy2ooM`+m;+nD&?XUht1O(2X63mLXH&n@UoY7Gq|iO;&)H5qtNX`w*CF=(oC$>~1H78|h?bX({ zhCe_g18pUEJHQ{F*l?jyC$b^#(-x1$7Ar z+Ov3*xop$aTBOc0G^s@l*S9$taIM!7o>5Rp1uZq3<~?(Duz+HZzRxtuOBI)! zX8hV*$hL4pEh0O|vVKYZtk|IZkY5LbQkC{Oft7DMxerhoTCMgA0KB*mys#;a8;u-<`fic ziHTD6Qx_9+cv!UWren|jo^8Btath}<_x^~9)A(&=H8M9gqFHrDTH0GzyS1%QPp@aY zkl`6?Ble24_ie(3Jp0-!(gsIPG$@6BeBF>7pmbI&lK;R}iDzePu31;;sb{qD8J6v< zVBq7+F){vq+FpH6kc0inT=P5DnUo6W;%DIon(rM&q7|KXc26+U&JO8nr;Stj2h)B% zdv2ZcjPSn035@)He!1Jgdi?YuRO^B2^46V^Pv<>fD~Qv4Q?Rrg4(@zj^z+WNjY3dz z^-dA3XLT?2QfQKU{VKel$jBO0c0SPYI(H_IN$&}5>XL8n#tsMJs_E$+evcoI+&4F8 zH*=is{P5ImqJKoQCgWG)@#b_rVP`bmBFalF;8)OK5WtN>N+7KS%YwcSc7=eUiBKBp z8=5sRq0YoKbgs}ck=T9DI zjM5V6di83Iaq&~_Wu+@W_w(>{UpReUcf99zQcO$+Q`WXX&WuMhoysjkcaA#kG~VEl zWa?kq`MgB`*uWR1;Nw3!%Y~DqcJJAtC%%w)L?>fTOmWUXj449Ctul*`Z)8&|-Ib?L zjqauyjQmV1m&*T4SQG{?AmnIMK34&%%flO2{CHpr+yrem5%Lc z{p8cvy0ug&Ki{n;HG!|9P@8V&kt0#fpFG_DEY>ed#|5%p$ZT~8&+SWs8xJHDL>q>x z^;Zk&`VFwj9UXbNx_N7Tq8)^2``t&`K}^}~L!qW%A4E zR^&jmjf{*~dO*K%ud8v#2k2A~7XcBj1h33~kT~$-=kHK?yxOgTW+LdesD$gP$Yb0( zZR}Tis{={i5t7ir?S!COU7E0m!}G7c=q`E_!AebN^Q_cJKBP-2t0+*s;DBF+0xj|4 z;HBR~Mq(_1L-a0*VW1m>&rF*Bvt9eqkqB4@u|h&gdW(lEehx0dR4%M1)OMmchl}qE z^j2^B5FimbZef6qyy#$BLDsP6{J#oZlSXuuwf!8A$@8yGETpYRc0U!vw`EN z0Fi~LZ{P^q|6Y@`aQ%s$q!SZVP+wuhzuoj^C!HP&jzlRUky=NFajM7jSgDK|dOlwq z?}@-=b%#ljV$tnE#tRos*mDd2H-MLjAzX;68*`8#EYmAm+wf_AVok`GI?To=E`nY-C~4<&dw&kXAmb>oW{DnCi}9i#ZuFDa1u zhL`C(V=y%|Mh-2>RPc0j;=ID~_f15DUj@bGA`-U67a%XGPewSSY7#cA1Jq4}U5a<>lie4j@2n zUndCueJ>Mtx$Q5bNDn8!rAc}SL+pQ1F;IY^;^g2Xg*lRqm)v>rcR|cx5wCX{?~yNu zx$8VuH|d*Oa>sTT_^EIe<{%RG?_DK^|4o{F-%qpcn-vuJkqM~7Zo(O&MaPfgBc#b2 z41-8VTp;hS6L|j)<=0nKgmw@=NR z5&|gR9kgHIm1L+Ei@Ae8Gs0Eeq|7Im|Ek2MW#mF+b(j#s|NN4zeF+bc2+1Uf3o5Q+eqC zC?KRI`Tsc?_n&Wj*#HS!4QP7Aqzj_G!6T9SuwUZ`2RIzA5PWbbxb^R%%6G-ECG~TR zNY~a!j~@fmqyuxhNgDXoHNQQ}3h(6vCU5zm8#%P-Bl|m&K(9mT9ljVG6Q3e&X zrRk&R3Ibs|N8~_&E@lPJS8jqFIIaUbJJ`{NIn)Vbonx+{~mEBRbI`g}mUAD)P5= zEo7(n<$X909z6KpMu@%<$XWvG77t>j!GOn`vO65h0SgkvBd#gfn~8he{<}QP%;mPL z9wEA9_@7KbcH&A&rAP4+63hUDoR?S!|DCgWlxIN=DC*Fn>Y)mWXc2IAtY;I_brPS6 zSkuPsw!8k{oMpIph{-reaRWlz3|2OPL~O|02Q*LF_mq1P?I-bDhP`mZzl$mJg;FRl z9Lb4w>{h7cP>a5EK<1QYT5Gc3$};I@is%}BVZ{C&_=Yc%0#`ZzuS&gfU!uwL*C8;2}vyyRAP(w-y+3o zat>l8z3GBj&8jZT({HA0gW8PnL0}j33Vp=?J3eUe=r>U26VowRHZX#Y?<$mKu}--! zLb^v0Gfl?)_3M^@$DF&zX|-e!j24c8q&yGnc^S&BD`-K4qa*~il4F1bS{$TYg|3lB zmv7M@!+MRh_CxMPS`Z@0J$|~;CCL&9{{%P@TX9CCx_$HCW!=H?EJ))Vwy&&dRL0iV7IEPy1Zvx*U{s9QBVfRw@ z?~R$~c(ZB-HQ*0J z5vpSDhUU&oRml`#k+wf&r*u9+qeq>e53I5JUF1_&#)r5jU=V)={xYc5)dyQ{b%QdK z$fpTG4-&bg%g*}iZr)=OW}hiG(EJ_Ta*4U+Qc8mN$DU0Oi&Avy>66u%H7~RLJvP?6 z{bTWy-N+ojaGP3Ci00!*MK!uhr%tuSBxxbC-YGr%AW=&{?JPhCVALt(rq;JsC zsmlpwI_~~Qwr^C6hkmPC8cvb<<=^9y=-25sH}i5#{3!M5)6lJ*!#_*M2C_we!iOP@Z|#Kg=Ln?!IMnYF)e&ib&vpj=Kdt(A7KmltxJ z(wOM)XE)39HM~=Ea^1}vt!33`YnLJFTv|d!^k4U=BX|sD@6J4W1o@gj{aXL$`#107 ze9yvP@4R;HjI&FMZwnpWC%*%-2HICIJ}%B+7WP>YW-l$Ap31h^vVNzy*d}{jNVd~1-A>*l&P%fPr>iD9%u?y{NR zz+rmNL93Le_GGWq;klc<;_D6_QdCxU(KA}Q8>M=Bc7jq~4)EhjB;UxgJvo8*oKs^B z$~H1mEO!rM4DIQ7ZzQvA*3K%~XoE!@-dfk{ZlsaIdM?q3NKi~4<0blR> zzkl%1Zd!rH#_Eo|Csvh*txQKhWb72)#?;;6va8TS=St&`&+X@i>zPNN+S;lpX~ynU z?0nFEE>wT+Im%3Z$IvfpbW`U;fxa;&ATv)++itQIZ+B!=t$i_4f~?rT{DOV5`dUV< z{hP`C5_fvnF;+GX+WRsz_YY*{rTlEUQW^(1hvu320vnrK@o#A-y$H`VHKY0Ot$~c) z9XbYV&hxvRrv!`ddwEgG`%rh6(Y$--nsvl`$Br4f1R0g)n8$lsi0Hy*c7B1Jfu~*z zvM95$`QKy}5#A=KmyAH65C>O+u7Wf_Pb9`Ptz>VN^q;!k{jfduONf66t~FcpS^1>%hbB_ zOFgm*j77U;8S_VjlAVqYz0*&QO<;a)&s%&wGt>lvZxaK{T^b{?WeL^N;)DK(&gu<6c%ywJNAZ zat@`#(me3?dzO3gSo!W_4qXs-8)ZASD*rUvSj8hP>`>;l-g9JIU$@8U6ZC%%h=maW zhQ=nEUq8~`)&?x5&yCqHcL#)E5yXS4_@?GhAec$BJxEzoGYWQP$I2?6i?e`|yhY0+%=$SmOw7;LW4Y{P&*8 zuK%;Le8bU9W`377cvq2p?N$%GF7*AGJFTy3n`T18BTZd)k*dO*s=t2n`j^G1Xxe;B zP1~nx5vfBT{-H4-54)Q-v_|>*^=!Xoyg{??S5=GC@prF+c|YsOZ7+F}VPf152aapj z^?^aEl|K^9*@^qt{jcVc7)1H?lXlr^4WdXIrH%9|j4dKt*|Uc+ic)y9gnn5{zFx+p$R6*I3_^H??|SC@zQ2CQ z@%hW)a6B{f%>CT=b)MIGo#*Fo+!dOWw-0M!g-Jhz2G2%|hrU+)KEY9_#62aRkbdGh zK%(TjTjMY=olhE?e|nlUsrC?#H1HH*X=sM%B<5B71K`qBN(Or+g^;p_K#2ED_jN`|))Frx{>1N9qW`K`>@n?7E>ssm4OMl-Ui-G)Sg8?1M^>wv&C3EIYfLSAAXxcAT2Z zx>r*hOXLxI7?Vd}TGKj57pc^!HTA2v?>5oTxV*jFqL`0Tv|+laa+l|EJi(3_y*kP( z*R*C9TU3M-?Tvv*&IKqw<62uyAn;KYVw{wrv1j7#U5q!5g~U8Tn0p5gB6r3jR15c@ z;*J9zVmt&yJV;3JPH+L)4obOejBoLAajgP-@5q95IbzMy2GYB@#m?lF z)H8e-L3L^>J}ZlvlaEv{mTcQLqjzxxV`#A&;SS6-E+&F@)1MInBWj2VUE9_+EVj%c zd;vs@=b(Ej4`O82CRhVr18W&{fhAs^kH7);R2A}cDGHatA4~!u4%ieMLMe-A+j@#E zcAQR3vAnK90JbeG4^fB$q2Y8%Bb`O90X~Ngjk&7}>cq5@kgsWCnQ!o# zWuQE#{F=&9Vo<8-oyLUtc+8%echHvp&+jOl?0B8o>*c+Ha1FU5H(&oLlG3YjPYlhs3k zl~rCH=i1^3piOLBFK(nSmHSv_zgYXCo?U{hXfI3S$qZD`Y!M-?;bz*>_{!W!2h@IG zoe>Y79GAY&Csa@T{FC6n6)%q;NERGSRkjeqQb7A0VnTa0fYzEp#$7Nl*7z*y*FLSE<8_*~e^P!JMi4nW=Gs1=mn z&?YomXui;ui3ZXIA(UaR4(wYype4~=;i?6zB{dp@k!OGG`94WrTfYL0Eeod^%~t(D zX!WCL>pKp&)z#PYpg6;?U8&6uE2+bu%FqGR#%q5en~y??hJLk*hs3!lTe&<*d$}~o zK1CZMPCRYvFip;fS^)GUF(;$uNrRPA3W%i^AHn})o0NtL3NNrn)c@DdpW6Y3GUh3; z{t1bKJ(Su@S>V;CvPT#E?d0JaAm0L4J7WM@f+b{SU`(BUhYA02f8yLZrLD(B#oEmv zP?{ez&d~?)Vf5091Hd*ABROWx+>MSFL?PBGCBIGu+E~CND=oy`P84#lw@2+)1P?Ba z%A(7s-y9A9|CFPQ+|V=sD;BL80-sk6nDi|qGm^8i?m?3aaUcYHytb{5jL^H6A(utMB3AW9Iqu(!9jVTBXI960LGYiVo$q47-ahgWQe(b(GbO8h@lVj%%-x!6%?}MEN%L~pFMHHkWm~F zoATs8^qFm#H#^g^vIJ?kY@2dRqi%RXc}Sur7WJtqL$#iN`ZP1AIgWV4rUo*3P>_h> zObr9{PkR9x9**+s_g%$?4(;i-$W6~`eqm((*o-CpbG}gc{T~LvDj|MRVB3SX{hXbe zno7)t@f2VkB<7cvSSPky*?8{{F;IV9F?{qWN>kI2T25j=E9xAy2U}Sh#3Dg)(1YCOO352c44Ww#z>fCb)oN@^a2=rjE6vK(fMC! znsFg?X_Yru;6zrxK4A`6PX@L8xEY+-qCYeH%-P`Hcgqs&n_&nqr={ zhz#=!icw9)xYh6PpDt;l0~e_Va0nSQ9={fU7D6YGU>}$UN|y>d2XE-s(Rq_oTuL^x z=`@C)pFe%T>nz&)0&hnWFBE!5jzi9pI$}cxgUEM*z<|KrZN^w+A{1CiQ)ZS;QwXp*@53|Ghu(LB$%o5d?C!v)BhPvQyp|rA<&C*|9pMx}F$SSCi;#S-W32!I= za;5yKq86%GkrVRmZg}rf037n=&!1yaNQfx#Ou#$j%``$Dh?%V|9>QH*KJCvgeXb_E zpD$DI^Z<&l;JxTwVRY>ktvK{|$2vM3TSQ?)%kOz7t@*d@<{1u-=fxvS*`o5dEFbDj z2w{F111?_X=4ze~%G-fv0Y#K<=*F@$c!Cv@w_s9>ANg89oa!{G9BRefSZDpy^K5T- z-OIC;+TK`J|T%l@T^l$dDyA_z`8v>b!W2hqu1+Gr#GbiXQBD22v4p*%HN~P~x$NT+O2Us=UBuKo}}kDLLA|Txk`q z;m&6YjmEE6CT?`>C2dZ@ci3V7O@sGK-3}~{$1JIobB()J?%KVV=_xZlK|Cc3_jC9*iJ*mS zUzuZiC-6mq-}vWeo{=AyZ>N^_~fv4fBb%V%-wMM)+v-%+RfS*^fQ!lH* z^-msc?Nn!w7cKB7u5i#JVK&owYUrsxD~@=UfE>-9UWO^Q-VL;|m4A^ScfU*6DQsK~ zM*0ad;Si5(mOvBRcT`ec0$|!MOTTL{36T0>-w7U@r~9v@isPtag4;@!BNZ)CZtj!T zY16^0$@QZ{O(IKkqW7gSU%tG{B_bDf^l*fW?lCBKO6j&G9{M$XocDg6Zo=64^JqmI zo)}SHDJjyo9?(Jg`(LO3SR1N0jb^u+;EIOt^pYZ!yi(Hn!6|Q-wz2!Xf)!6=JiW5?_ahLz(ayK|J=8$nvQ%^)}1Qsu4 zfhpXh@9Wq9fOmUHw=eCHR`|;ckSp!m81ttVf!Pq0apAv2l?f8$nU9t3a7K=@Pq@c} zW47-3b|dWQ&-2oQd-qr${wyM6_NJ^VaSMS^E`bN^@MN;vt^_IV+Y+%!^ncs2KN@x< zf+h4dHQ zz=OK6PWl&s28SvBGLJC!N7ne*nA{cV$)!^qNcepQ4odVskJaMa`-ii77(bj_j6-W>tjCVpjF%o zs`gb@F0Ft6l2U&u>*w5|gYoslrY7Bs4^oUC8U)Ok?GT03O!r+}Qskt!uyI~$&eMZ; zMw&!g+nKKfbae|X9x`Eaesp4gP@IRGkAlc}QbGx3HdFE+on!fw7(IPPw0Xlq=TaKo z2?CwJ<9?*1RFAxkjBvejrNC4un>;W;8Lm#J7tnkjHQaXo^T2_gkg>@Up{Lne?3PI6 zgO_&3MkFgvvhBz8bSNuQGD3R6CL_-r<0De|MFJkZJd9CX{@z3172Q=NUtag|9qPr) z@TCCU^J-V}b^-~V-By0lUix!)u^?t|f(-8wKWT%ZzlmBIJYO4vrWZFu+@F6gKyNh3 z9N`%pVl20|MRWEkci5LX1b7se^hm2LERb#zRT4R3a!RZI{p6iTYc5%=!^(x~C|^uK zZc;1)cNqx1o2RTxH*luY-~2w8ekz>(;rqlf-e7iix|jKYzuhmAaO#wf*(nAq#NEaG z5k+KTvZvI6Y+JmcbMVP;66@JBq0GU-0FN6&F=H1=^~PbB4%O(u-PJE9_o%0*i^oDW zHT3GFzouqDl5eEAt}ZpD+cyCH;-qP~wGnzqw61Q6VQYIeJIi84!_cc>a7Y=?^iPoK zHSnM2uFpR-s$?fl1GhoT$YS_Kzx&vS5jnuiU-AGKk+jDSy}g^Tr{<)DX2nw_&#D(i z8v}-=6HfGP1h*MhPfh2%;q6{oz9B6JgJqnOUMfVa36COMgqwyMU>?&r1}~~vH4ZMW z_Rr7xxoXBTTr(nUcJ9Pk&#+SFE+B=L Date: Tue, 29 Sep 2020 20:22:01 +0000 Subject: [PATCH 4/4] :bookmark: chore(release): 2.2.0 # [2.2.0](https://github.com/amejiarosario/dsa.js/compare/2.1.0...2.2.0) (2020-09-29) ### Features * **book/big-o:** add new chapter on how to determine big o from code. ([68c73d4](https://github.com/amejiarosario/dsa.js/commit/68c73d4c3bb5fb1ec637d81b42a2f8dbfc4f0008)) --- CHANGELOG.md | 7 +++++++ package-lock.json | 2 +- package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 88082ee9..2d276386 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [2.2.0](https://github.com/amejiarosario/dsa.js/compare/2.1.0...2.2.0) (2020-09-29) + + +### Features + +* **book/big-o:** add new chapter on how to determine big o from code. ([68c73d4](https://github.com/amejiarosario/dsa.js/commit/68c73d4c3bb5fb1ec637d81b42a2f8dbfc4f0008)) + # [2.1.0](https://github.com/amejiarosario/dsa.js/compare/2.0.0...2.1.0) (2020-09-11) diff --git a/package-lock.json b/package-lock.json index ecc2df64..9505dcc3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "dsa.js", - "version": "2.1.0", + "version": "2.2.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 786dda6c..990a4328 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dsa.js", - "version": "2.1.0", + "version": "2.2.0", "description": "Data Structures & Algorithms in JS", "author": "Adrian Mejia (https://adrianmejia.com)", "homepage": "https://github.com/amejiarosario/dsa.js",