From ab6a77dd5ca8685101cd0d3cb43d5b7229885db6 Mon Sep 17 00:00:00 2001 From: e0406370 Date: Wed, 4 Jun 2025 19:50:19 +0800 Subject: [PATCH 1/8] [rev][java] 4 LCE - 125, 136, 268, 1684 From previous directory --- lce_p0125_valid_palindrome.java | 119 ++++++++++++++++++ lce_p0268_missing_number.java | 46 +++++++ ...ount_the_number_of_consistent_strings.java | 42 +++++++ 3 files changed, 207 insertions(+) create mode 100644 lce_p0125_valid_palindrome.java create mode 100644 lce_p0268_missing_number.java create mode 100644 lce_p1684_count_the_number_of_consistent_strings.java diff --git a/lce_p0125_valid_palindrome.java b/lce_p0125_valid_palindrome.java new file mode 100644 index 0000000..b7fe6de --- /dev/null +++ b/lce_p0125_valid_palindrome.java @@ -0,0 +1,119 @@ +/* + LCE 125. Valid Palindrome + + A phrase is a palindrome if, after converting all uppercase letters into lowercase letters and removing all non-alphanumeric characters, it reads the same forward and backward. + Alphanumeric characters include letters and numbers. + + Given a string s, return true if it is a palindrome, or false otherwise. + + Constraints: + - 1 <= s.length <= 2 * 10^5 + - s consists only of printable ASCII characters. + + Topics: Two Pointers, String +*/ + +class Solution { + + // Time Complexity: O(n) - 1 ms -> 100.00% + // Space Complexity: O(n) - 43.11 MB -> 69.00% + public boolean isPalindrome(String s) { + + int startPtr = 0; + int endPtr = s.length() - 1; + + while (startPtr < endPtr) { + + char startChar = s.charAt(startPtr); + char endChar = s.charAt(endPtr); + + if (startChar >= 'A' && startChar <= 'Z') startChar = (char) (startChar - 'A' + 'a'); + if (endChar >= 'A' && endChar <= 'Z') endChar = (char) (endChar - 'A' + 'a'); + + if (!((startChar >= 'a' && startChar <= 'z') || (startChar >= '0' && startChar <= '9'))) { + startPtr++; + continue; + } + else if (!((endChar >= 'a' && endChar <= 'z') || (endChar >= '0' && endChar <= '9'))) { + endPtr--; + continue; + } + else { + if (startChar != endChar) { + return false; + } + + startPtr++; + endPtr--; + } + } + + return true; + } + + // Time Complexity: O(n) - 4 ms -> 55.36% + // Space Complexity: O(n) - 43.68 MB -> 52.39% + public boolean isPalindrome2(String s) { + + // as per first requirement + s = getCleanedString(s); + + int n = s.length(); + + // case 1: string length 0 ("") or 1 ("a") + if (n <= 1) { + return true; + } + + // case 2: string length 2 ("ab" or "aa") + if (n == 2) { + return s.charAt(0) == s.charAt(1); + } + + // case 3: string length >= 3 + int startPtr = 0; + int endPtr = n - 1; + + while (startPtr < endPtr) { + + char startChar = s.charAt(startPtr); + char endChar = s.charAt(endPtr); + + if (startChar != endChar) { + return false; + } + + startPtr++; + endPtr--; + } + + return true; + } + + private String getCleanedString(String s) { + + return s.replaceAll("[^a-zA-Z0-9]+", "").toLowerCase(); + } + + private String getCleanedStringII(String s) { + + StringBuilder sb = new StringBuilder(); + + for (char ch : s.toCharArray()) { + if (Character.isDigit(ch)) { + sb.append(ch); + } + if (Character.isLetter(ch)) { + sb.append(Character.toLowerCase(ch)); + } + } + + return sb.toString(); + } +} + +/* + methods: + 1. single pass - first skip ch and advance ptrs if it is not alphanumeric for ch at startPtr / endPtr, if both are OK then compare them + 2. double pass - 1st pass - clean the string as per requirements, 2nd pass - check ch at startPtr / endPtr +*/ \ No newline at end of file diff --git a/lce_p0268_missing_number.java b/lce_p0268_missing_number.java new file mode 100644 index 0000000..9106e58 --- /dev/null +++ b/lce_p0268_missing_number.java @@ -0,0 +1,46 @@ +/* + LCE 268. Missing Number + + Given an array nums containing n distinct numbers in the range [0, n], return the only number in the range that is missing from the array. + + Constraints: + - n == nums.length + - 1 <= n <= 10^4 + - 0 <= nums[i] <= n + - All the numbers of nums are unique. + + Topics: Array, Hash Table, Math, Binary Search, Bit Manipulation, Sorting +*/ + +class Solution { + + /* + - XOR is commutative: A ^ B = B ^ A + - XOR is associative: (A ^ B) ^ C = A ^ (B ^ C) + - XORing something twice removes it: A ^ A = 0 + - XORing with zero does nothing: A ^ 0 = A + */ + + public int missingNumber(int[] nums) { + + int n = nums.length; + + int firstSumXOR = 0; + int secondSumXOR = 0; + + // e.g. all in [0, n] => [0, 1, 2, 3] + for (int i = 0; i <= n; i++) { + firstSumXOR ^= i; + } + + // e.g. nums => [3, 0, 1] + for (int num : nums) { + secondSumXOR ^= num; + } + + return firstSumXOR ^ secondSumXOR; // 2 + } +} + +// Time Complexity: O(n) - 0 ms -> 100.00% +// Space Complexity: O(1) - 45.26 MB -> 40.66% \ No newline at end of file diff --git a/lce_p1684_count_the_number_of_consistent_strings.java b/lce_p1684_count_the_number_of_consistent_strings.java new file mode 100644 index 0000000..1de06d3 --- /dev/null +++ b/lce_p1684_count_the_number_of_consistent_strings.java @@ -0,0 +1,42 @@ +/* + LCE 1684. Count the Number of Consistent Strings + + You are given a string 'allowed' consisting of distinct characters and an array of strings 'words'. + A string is consistent if all characters in the string appear in the string 'allowed'. + + Return the number of consistent strings in the array 'words'. + + Constraints: + - n == nums.length + - 1 <= n <= 10^4 + - 0 <= nums[i] <= n + - All the numbers of nums are unique. + + Topics: Array, Hash Table, String, Bit Manipulation, Counting +*/ + +class Solution { + public int countConsistentStrings(String allowed, String[] words) { + + boolean[] allowedChars = new boolean[26]; + for (char ch : allowed.toCharArray()) { + allowedChars[ch - 'a'] = true; + } + + int count = words.length; + for (String word : words) { + + for (char ch : word.toCharArray()) { + if (!allowedChars[ch - 'a']) { + count--; + break; + } + } + } + + return count; + } +} + +// Time Complexity: O(n^2) - 6 ms -> 82.59% +// Space Complexity: O(1) - 45.27 MB -> 65.85% \ No newline at end of file From 3985bd0fb17fd0404ad1e5667d265533ef5b2255 Mon Sep 17 00:00:00 2001 From: e0406370 Date: Thu, 5 Jun 2025 15:44:25 +0000 Subject: [PATCH 2/8] [auto] Update README and move solution files (R.N: 77) Push commit: bcca424cf29348137965c19283f42d37df28089e Files moved: 3 Workflow: Auto-update README and move newly added solution files during PR checks Triggered on: pull_request Run Link: https://github.com/e0406370/reetkode/actions/runs/15471408572 --- README.md | 3 +++ .../lce_p0125_valid_palindrome.java | 0 .../lce_p0268_missing_number.java | 0 .../lce_p1684_count_the_number_of_consistent_strings.java | 0 4 files changed, 3 insertions(+) rename lce_p0125_valid_palindrome.java => java/lce_p0125_valid_palindrome.java (100%) rename lce_p0268_missing_number.java => java/lce_p0268_missing_number.java (100%) rename lce_p1684_count_the_number_of_consistent_strings.java => java/lce_p1684_count_the_number_of_consistent_strings.java (100%) diff --git a/README.md b/README.md index 9929ab5..803bcb5 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,7 @@ The following diagram illustrates the action flow of using these [scripts](scrip |**66**|🟩 Easy|⚙️|[Plus One](https://lcid.cc/66)|| |**73**|🟨 Medium|⚙️|[Set Matrix Zeroes](https://lcid.cc/73)|| |**77**|🟨 Medium|⚙️|[Combinations](https://lcid.cc/77)|| +|**125**|🟩 Easy|⚙️|[Valid Palindrome](https://lcid.cc/125)|| |**128**|🟨 Medium|⚙️|[Longest Consecutive Sequence](https://lcid.cc/128)|| |**136**|🟩 Easy|⚙️|[Single Number](https://lcid.cc/136)|| |**151**|🟨 Medium|⚙️|[Reverse Words In A String](https://lcid.cc/151)|| @@ -49,6 +50,7 @@ The following diagram illustrates the action flow of using these [scripts](scrip |**230**|🟨 Medium|⚙️|[Kth Smallest Element In A Bst](https://lcid.cc/230)|| |**238**|🟨 Medium|⚙️|[Product Of Array Except Self](https://lcid.cc/238)| | |**242**|🟩 Easy|⚙️|[Valid Anagram](https://lcid.cc/242)| | +|**268**|🟩 Easy|⚙️|[Missing Number](https://lcid.cc/268)|| |**271**|🟨 Medium|⚙️|[Encode And Decode Strings](https://lcid.cc/271)|| |**283**|🟩 Easy|⚙️|[Move Zeroes](https://lcid.cc/283)|| |**334**|🟨 Medium|⚙️|[Increasing Triplet Subsequence](https://lcid.cc/334)|| @@ -146,6 +148,7 @@ The following diagram illustrates the action flow of using these [scripts](scrip |**1672**|🟩 Easy|⚙️|[Richest Customer Wealth](https://lcid.cc/1672)|| |**1679**|🟨 Medium|⚙️|[Max Number Of K-sum Pairs](https://lcid.cc/1679)|| |**1683**|🟩 Easy|🛢️|[Invalid Tweets](https://lcid.cc/1683)|| +|**1684**|🟩 Easy|⚙️|[Count The Number Of Consistent Strings](https://lcid.cc/1684)|| |**1693**|🟩 Easy|🛢️|[Daily Leads And Partners](https://lcid.cc/1693)|| |**1700**|🟩 Easy|⚙️|[Number Of Students Unable To Eat Lunch](https://lcid.cc/1700)|| |**1720**|🟩 Easy|⚙️|[Decode Xored Array](https://lcid.cc/1720)|| diff --git a/lce_p0125_valid_palindrome.java b/java/lce_p0125_valid_palindrome.java similarity index 100% rename from lce_p0125_valid_palindrome.java rename to java/lce_p0125_valid_palindrome.java diff --git a/lce_p0268_missing_number.java b/java/lce_p0268_missing_number.java similarity index 100% rename from lce_p0268_missing_number.java rename to java/lce_p0268_missing_number.java diff --git a/lce_p1684_count_the_number_of_consistent_strings.java b/java/lce_p1684_count_the_number_of_consistent_strings.java similarity index 100% rename from lce_p1684_count_the_number_of_consistent_strings.java rename to java/lce_p1684_count_the_number_of_consistent_strings.java From b71e8fe725fe94e8086fb93d162dcec7653d1bb1 Mon Sep 17 00:00:00 2001 From: e0406370 Date: Fri, 6 Jun 2025 00:06:09 +0800 Subject: [PATCH 3/8] [rev][java] 1 LCM - 151 from previous dir --- lcm_p0151_reverse_words_string.java | 48 +++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 lcm_p0151_reverse_words_string.java diff --git a/lcm_p0151_reverse_words_string.java b/lcm_p0151_reverse_words_string.java new file mode 100644 index 0000000..469e193 --- /dev/null +++ b/lcm_p0151_reverse_words_string.java @@ -0,0 +1,48 @@ +/* + LCM 151. Reverse Words in a String + + Given an input string s, reverse the order of the words. + + A word is defined as a sequence of non-space characters. + The words in s will be separated by at least one space. + + Return a string of the words in reverse order concatenated by a single space. + + Note that s may contain leading or trailing spaces or multiple spaces between two words. + The returned string should only have a single space separating the words. Do not include any extra spaces. + + Constraints: + - 1 <= s.length <= 10^4 + - s contains English letters (upper-case and lower-case), digits, and spaces ' '. + - There is at least one word in s. + + Topics: Two Pointers, String +*/ + +class Solution { + public String reverseWords(String s) { + + // note: "\\s+" matches sequence of one or more whitespace characters. + String[] words = s.trim().split("\\s+"); + + reverseArray(words); + + return String.join(" ", words); + } + + // alternative: use Collections.reverse(List) instead. + private void reverseArray(String[] words) { + + int n = words.length; + + for (int i = 0; i < n / 2; i++) { + String temp = words[i]; + words[i] = words[n - i - 1]; + words[n - i - 1] = temp; + } + } +} + +// Time Complexity: O(L) - 8 ms -> 39.40% +// Space Complexity: O(L) - 42.65 MB -> 94.35% +// L => length of string s \ No newline at end of file From 468487b518211ce621a571c48137eb0e40fabf6d Mon Sep 17 00:00:00 2001 From: e0406370 Date: Thu, 5 Jun 2025 16:06:57 +0000 Subject: [PATCH 4/8] [auto] Update README and move solution files (R.N: 79) Push commit: 44b1ef1638a58f975dec2e1485342eb605258445 Files moved: 1 Workflow: Auto-update README and move newly added solution files during PR checks Triggered on: pull_request Run Link: https://github.com/e0406370/reetkode/actions/runs/15471884510 --- README.md | 2 +- .../lcm_p0151_reverse_words_string.java | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename lcm_p0151_reverse_words_string.java => java/lcm_p0151_reverse_words_string.java (100%) diff --git a/README.md b/README.md index 803bcb5..52016c8 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ The following diagram illustrates the action flow of using these [scripts](scrip |**125**|🟩 Easy|⚙️|[Valid Palindrome](https://lcid.cc/125)|| |**128**|🟨 Medium|⚙️|[Longest Consecutive Sequence](https://lcid.cc/128)|| |**136**|🟩 Easy|⚙️|[Single Number](https://lcid.cc/136)|| -|**151**|🟨 Medium|⚙️|[Reverse Words In A String](https://lcid.cc/151)|| +|**151**|🟨 Medium|⚙️|[Reverse Words String](https://lcid.cc/151)| | |**175**|🟩 Easy|🛢️|[Combine Two Tables](https://lcid.cc/175)| | |**176**|🟨 Medium|🛢️|[Second Highest Salary](https://lcid.cc/176)|| |**178**|🟨 Medium|🛢️|[Rank Scores](https://lcid.cc/178)|| diff --git a/lcm_p0151_reverse_words_string.java b/java/lcm_p0151_reverse_words_string.java similarity index 100% rename from lcm_p0151_reverse_words_string.java rename to java/lcm_p0151_reverse_words_string.java From c0cbf02d458387e9b42b40c75a2ccbb3038a052e Mon Sep 17 00:00:00 2001 From: e0406370 Date: Fri, 6 Jun 2025 18:57:43 +0800 Subject: [PATCH 5/8] [rev][java] 1 LCE + 2 LCM - 242, 49, 128 from previous dir --- java/lce_p0242_valid_anagram.java | 2 +- java/lcm_p0049_group_anagrams.java | 2 +- java/lcm_p0128_longest_consecutive_sequence.java | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/java/lce_p0242_valid_anagram.java b/java/lce_p0242_valid_anagram.java index 676918c..c6351ec 100644 --- a/java/lce_p0242_valid_anagram.java +++ b/java/lce_p0242_valid_anagram.java @@ -74,7 +74,7 @@ public boolean isAnagramAlt2(String s, String t) { char[] charT = t.toCharArray(); Arrays.sort(charS); Arrays.sort(charT); - + return Arrays.equals(charS, charT); } } diff --git a/java/lcm_p0049_group_anagrams.java b/java/lcm_p0049_group_anagrams.java index 237c1da..1ee26fd 100644 --- a/java/lcm_p0049_group_anagrams.java +++ b/java/lcm_p0049_group_anagrams.java @@ -4,7 +4,7 @@ Given an array of strings strs, group the anagrams together. You can return the answer in any order. Constraints: - - 1 <= strs.length <= 104 + - 1 <= strs.length <= 10^4 - 0 <= strs[i].length <= 100 - strs[i] consists of lowercase English letters. diff --git a/java/lcm_p0128_longest_consecutive_sequence.java b/java/lcm_p0128_longest_consecutive_sequence.java index 2b31cd8..75c56bc 100644 --- a/java/lcm_p0128_longest_consecutive_sequence.java +++ b/java/lcm_p0128_longest_consecutive_sequence.java @@ -30,7 +30,7 @@ public int longestConsecutive(int[] nums) { Set set = new HashSet<>(); for (int num : nums) set.add(num); - + for (int num : nums) { // process only starting numbers @@ -44,10 +44,10 @@ public int longestConsecutive(int[] nums) { maxLength = Math.max(currLength, maxLength); } } - + return maxLength; } - + // Time Complexity: O(n log n) - 16 ms -> 91.59% // Space Complexity: O(1) - 56.8 MB -> 81.76% public int longestConsecutiveAlt(int[] nums) { From bc15e93955d774d36e1c988c01a2dadbd8ceb1da Mon Sep 17 00:00:00 2001 From: e0406370 Date: Fri, 6 Jun 2025 19:16:55 +0800 Subject: [PATCH 6/8] [chore] update problem title - 151 --- README.md | 2 +- ...rds_string.java => lcm_p0151_reverse_words_in_a_string.java} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename java/{lcm_p0151_reverse_words_string.java => lcm_p0151_reverse_words_in_a_string.java} (100%) diff --git a/README.md b/README.md index 52016c8..fc6e1f7 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ The following diagram illustrates the action flow of using these [scripts](scrip |**125**|🟩 Easy|⚙️|[Valid Palindrome](https://lcid.cc/125)|| |**128**|🟨 Medium|⚙️|[Longest Consecutive Sequence](https://lcid.cc/128)|| |**136**|🟩 Easy|⚙️|[Single Number](https://lcid.cc/136)|| -|**151**|🟨 Medium|⚙️|[Reverse Words String](https://lcid.cc/151)| | +|**151**|🟨 Medium|⚙️|[Reverse Words In A String](https://lcid.cc/151)| | |**175**|🟩 Easy|🛢️|[Combine Two Tables](https://lcid.cc/175)| | |**176**|🟨 Medium|🛢️|[Second Highest Salary](https://lcid.cc/176)|| |**178**|🟨 Medium|🛢️|[Rank Scores](https://lcid.cc/178)|| diff --git a/java/lcm_p0151_reverse_words_string.java b/java/lcm_p0151_reverse_words_in_a_string.java similarity index 100% rename from java/lcm_p0151_reverse_words_string.java rename to java/lcm_p0151_reverse_words_in_a_string.java From 28bf46c165d65f8b679ec55d0d2e25a62691ac33 Mon Sep 17 00:00:00 2001 From: e0406370 Date: Fri, 6 Jun 2025 20:20:13 +0800 Subject: [PATCH 7/8] [chore] ignore revision file --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..eae414f --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*__pycache__ +**/revision.txt \ No newline at end of file From 263d4753bcd0239ed51467b1ca61759602587b1c Mon Sep 17 00:00:00 2001 From: e0406370 Date: Mon, 11 Aug 2025 15:12:38 +0800 Subject: [PATCH 8/8] [chore] update chart --- .github/lc_chart.png | Bin 30635 -> 26660 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.github/lc_chart.png b/.github/lc_chart.png index 2ea25a4159e38492819e660350177bbbc973de16..e857abe3ce8dff324618c4835a37f6c90002ec19 100644 GIT binary patch literal 26660 zcmd?RWmuGb*f)3q0!k>1kMK5Coxr_~5Q8 zf{+Iy2-(z8D)=AK-m%~CL&Ei*wyT9bF`Zgi!za4nYTJOCgI(Rj=VwjyXQiaY2w1CZvC4c`~`y2x9s6;oaNn zp2>u9>i4J3huhZV^duBku+PshlAXMJCg$>MWBDUKE#wWapOTfCFi9>HaMPTbG<;LKr=BQqPn13=xOVp>5g%atrlvI z^TS@chw^&&dBY|dkTy=XF$rVm-(O7v4);9<{LlZq9my`Ww7b$&GlBKN%X9dd73o$z za?(MqW0vdr3_8SZ2J$iwkd<-Fu%Z99x$Q`4`lZX4>-{op2GPaI0SDWb^>LzS6;mVz zQIkb_HTN;x$lK!boRu#ZL<#ts?o_WCW*FgLo{jPI=b$Hy9IskL9u4J!w`kyBj}4 zWHh<0wl{~34BULaM6k8aNUeQ3y|vnULcYjujnijqsaKF3$zm3CFddOQA!QbFoXuIM zIU2=uYP9W(ty1tZqHy9VD`9@S6mej6&ZN64#f26^MJb;Jv$F$x)u8Tzh$Hj`1C zR^6_ALtdpISoaAl*0(X=Z*W#2Et*eDP!jIKu04jwq{GvE=U1eReq4dwVb@gx7qg4k5_iNL@yfeO({X`(y3R&2OIrLnoa(GS_h9}c}MXMO({Qj{P)(rXqFgCbtGKR z#Sdv2`MH%(x@56Qx@!}c#|xsGu(f?WWotG?VYL~D>Z2iS~041G^tU#JiPS7 zY|CRG))o=d#HXIeFxKep_XveVRvEplw%*xW?0sEWr zy9chxR?Gqgs9F?WOp?9*Al2pjP5WIdHmc+2&n4Hm%swF+O!}-~qeAJU?B_T)D$k zhRc~v3uu%a;;IRFgp$H`(+IQ<8wC&|u3&Swga}{ix%<3$-bIwXX5_2iwC?%vOfmJ= zsAy&{S9x2u!(^joowGSH)x15X%n<8cH~%GrIN;8!S8caiW#eCN*_~QCUD??F)0P9? zirv-2KM_3>Wv*30DNy2)8!;s{ix>i4tQg#)iWzOuJi(llXC#^Jl#qTWSr=r*XKnR%a{Nq>QQ z`P-E=SL(9ke`p13n^XO^bXbMWUP)f#(YC@>T8}Jlw&q5+P@K3mRc=S~TDQ{5#AT+_ z>58rpr}cP!)$X(5P>n&V7%C&%Hc>#V^;* zvJ<&Be}r(mk!DfB9&c%|+(@HXjiqdE2cKwfF)-g*Vz3NWGfPJ_4{Qgi8 z7!~`Qe$`J#1oWz1@v7#2i$yj1#s%h^zjBGX6&B&)Y?4C)9PN^!=)Et$LOA>#@wzgu zI~N8|L?#{=u^$_uG}yV7An8$T;M#j{Szf+_?UrYcpE!*f*SzG=%a&LzLu>I#--=z6 zVILd34O>K<4t9SFKkkuU{aVy^s8TUWtgcy&Y(BvXd$hF=kq{1+~?*f*@*XS$X5IL&V>0SmQG zaBAHu#f>ii)|IC-oe9M_{oCju4N3!?10z3=m0AzOqs44mF@l_~<}8`tEN`^D=sBDi z0axXM|5Y>T?{Zk+xA?8EF>_OEHUH49c)mY35;fU4o(g4m%9$6_o=M9^X~vsLE)=V? z$i$Mh;4>uc4Z~dTk{Q8B5XXhwe{;@h;LqHh`@7+d90c*}7M+e?UXwd@(PqmkEta@r z>tFSk70{w6%e=93n10IS_Ds`<)7uLLC1W?I&DgrPwQpBd=WdBohNN$#EPNcc4JZ!N zNil*_G3}q`O7>ycdiOYo^xmsqlqw9eoy;OuZ!^-GI}@%`D8%s}GwVteb?lZR9+^$^ znDBbm|3p&YukUENxxE)w@Ldj(fEWL(A7G0ss+nL(c3+)pk)7|$rbrMrr@6J>dA(&G zmd~-@@L4_C3h`5w907a1*hcky)o0LDsB_`|XYF_RN*aEqa!C8$P|ki7D+}dtd@^+$ z<3Y^}b*FaqBW)yizv!^Oi#|Trhq!FN{Vnc5~ED$LW2H)2p#J;JkM2nq9rLP+jXrd554&|0dh{ zNN71y%9U2V%{humLH+)_gc@0xVhX4xevZ1kTLg-m&cBZqYL{KSL5P$&IBNFo-KE0w z&@epuQ@t1ROS?&n8_&U&E8pkMj?!D6Y?_R%(Jaz^CgrnrBscQ>&A!-7r8H^zC5|f< zO)`gj>-LF;r}OpeoK1GO)|Ryv}WgL$HlcQY4n8A}%@m%>R8Og2IW^j7_yXkGvrdW&PsP z-{s!S5WGXR{W#0mY*mw06Yb`RX=L4Si2dQ$m79Mm?liUjZui2YYABtj+ZjhN9uAH^ zjJ)dH%1!?J&Ce*PgF5_HTd0@!@6>bymiQeJ+p}T_6?`r(McDiijo#JiKN~BPlPPL) zk)lN<6Dw<9I8Nwoy}ADV=s zkeln|LWfY3>ttlPQu^Wt{Cml}3g8!Y8sEKVddUz9>;?CujM z4cvA@|CAG*r<%z;me7yXCoRo3u~zsOns^&lD;YJ7@;9vF-^~*?rQ|J+E8VlYIXEV} znn>`ar0lTZesU# zNKx3(`C`-ltWuuQ@x15nD0zLxbab-%y*QRT6v$fexi$2+JGqM=BC#0Pp=q9OQ_*v}4BZeJ;;(<^!M(m?V@YXeTYp=ns9RK7DnvX~+@A^=cWsGJZrG+H6Ee zBca}^hq9}zy^zC1!!NrAhW%pX1qY)o+;f`%O~!1rCF6&AdBedshIqWGiZRpZ$wzWX zXvFm@C3VqMauy9Y-oGl0MbZji$`jR-xd|NT2(7^n{>^epPyZRVU(?1n@20xhAI+wX z{mQv?H*ZH}_8#ShiO;HLH`R9RC^ZeEU-j%8be&eUVV`2d^XSw$XBPx%_J@DnYL3Dy zPAdMMwbFah_{4mevPw|)&LxkA^O2`-a`>Q*XiOJODR0zBT=L#c!`0hNDxW?nrHZpa zv)|tU@K3gHwIDC2BU@GVDn@lS_&3X4pF4P3HdNyIA}Pa14FwOYzVwE2-Hf_Y(^D|_ z=D}jtl#mGiRJ&xp&tmZh1Llec>7%b=xR0KylKUg9F#mAz!~P>Sop*Sli%pmZ?R0r# zHZ>bfhx^?GY8%@8&J5gzl-JRtll>pp&I{S#vpWkV1gs?UQ0e4_X#oc}3+ZwB%Em>6 z0(YBsi4$xR1N5w}w{BbfWB&fkUOt5q6t^)S*gJ~GW^K|{-OOKhvAme#E$jLR-hfXH z@HZ(n+Lh6Y&d$@f&SG=i2{=J*r3gVY)r>zp{l$gvrH#H6lY3D1>@0J2ME8j)C|q%t z*1U3d@YLK030fK8wW~Tb@JnBbYP-W<{v|$L#%aSR)!(p6}pWSv` zZKqf5xfdnP&i6=0#CtKRPfSHqOXk5&lzJUk6Xv&Jfm@FUnm^8CFd!qQMR_ody`3s= zJwzgo8=(_$G0Rc!kJw^M{d(YkQL3rmrb*Q}JtV@!t+eMLbE09v(@g{|9eMuvH`YB# zk>}ZkznLwQe+WK4qt46fR&E-CMl0!L^h_Ks6grh-m9VHB7dfk7qbi!Hgz}yhQISQq zZ7kYGwPg77U8`9Ux37=pD+bp`GI_1dm9Z|dHBALBuZ0b-NazL%_HAJET9vIVuZvRN z)ZxXTy9fIvH=gptqE_Vk3Ar)ORAngA-`T6H#R35 zRPY$DcQaXcRbG@gB;2?&zaUUV$9`)>gD3dFF;5^deq5z0t-a9DULy3~>+`%n@8(IU zV3(kio=wi-cx3)yvo+5!*ZQ`OfC0g_HuS-c%9{T_ZubgT?rL?~$h%d#5&g%w0*qt* zR5UsR4tFQbd^ph|`Qo)zGU5-;|DMgE5FNhAzsP~^a`to>1`kT!5%<4d%n^F5x*@Pta-B|SH zDx(*woOw3*U(C99OX%4$Xu76$8Yx(`nLW@zE z=T{N$g7U)6G}X7KcCa?PwoMWInJ?nh@R$GW4ol~t(pApfX`-fVk7~({K$$O9+BpyY zc%^^E*DbiWe*RMthq*ac-7kj&MQN}w_JQs#kz#KD zt*z9Vd~ z#T~}nF6ayQ8#>=rCzX%lgena*+~(;iGL04F+|PHdEw4;$4VGmRUu&?zsYt*yxR01%1+#U+<`aN|5eo_4`;aD^Zd4bmWn5n;S$Hs7ld0p zQgMX^%?9JA5DR=|Nr7VemQna*9%18P zcZE8VEmA^@TQBc%cHF zyM_)_7&THHrhK;w@UC*5> zkvvosAO9UZ`87%0VXB?4gwAfH^ulKod?Z>WlxQei_&;IEU@@Orx(vGI0XQ{n# z_hQQ2)vG*Gsh&SWr<_S@4r}@C#UfNuIs-r&M(qj<#gScWJ?jxlzbm|^faJ*yFz)o7 ziK2Y9Z-RAecb72~_gv=MPHpn0u+WyvUCoJ7)ii5^J&c^Rr3E0cbhT z+QL~e&Y*}1^#Cvw|D=!=diqNJpG7RMX5n0L{R8Wx5kFc(s1rr3e{RuBp|whut7kLr zg{h83u=xLixjHdWq&JM>z&;6R+MY?0=ieQ*Osl(awbJ1XzxLIhe6`%>g~5W>xQE4d zUocH!jgs_wStk5SFGW*-~Q&XnlG?N)YvTGLQ%(ti#74VY$Os*{*so-eK%=q5`MCm6{$+dUlRWv zvb6?aT0|Mdk{Sm?#}>+Gl(c7ST|UC5W#8Hvt+1qK5wn}y>MA$ypfdEH&o&Er)?3PN zndVpR)Aa6=LjA99)>BuUYokER8H_dBecz~r)!Ypz&@B2G*WV-2ExlWaU)HS#LCU_) ze}9Lv8ijWsAmsgeEceqY$r^8+cZI(7%uO?eN3)~9x18wb2Y~u}@Y~7^PfqmQxgtT= z8JZj^W%?z;Z6$rZ53Nz~ZvQ-+5R1j5NmRAn=$I2p)uV3w`!mcmj?!8v`XJPufd+Y? z$Kt6)=)Jgd|J})az|*(P6Z&`Kf)|=U6lMtPf793|UkefoL>OiV&dYYuMi9SWo9FrC zZk2JF>y(#d^+3*X{-~P_qD9J)rQeqPIPm3cBw_T%o#iDL+o!NqX27ISJo zLL%4MBTxH2;zZc%;mVD>cl(9i zXt_=tzfOh$9Z2YGWX3GGrhuj*1I&>7$^;uBgY#uu)51a86{S=wCQ2mG^&av*`1xIu ztYiLOq{r;eouCpQR`XAtOR&>WAj4^9KVlSqh9E{4kjJe{X+g5#*JJp!imjNazj3Q( zy%I2L96NsghAa%iDx<`+tZPjZPcNT+8%2ryW$cAP_)qyBg=9{RMM?D&DlQxC^&M-< z0hYG~dK3FKta(SAm__G%bzaiYoF$k2ha_@~S@nD)BTE(YXSPEFNZn~<|Iyc1vK&G=?iF&dA zC`h9(OS==VTShFtE%RLa>1w2eAbYP6hAV>=+c4Qx+v~F!^v|_lU-U{0u|ew?w?zx! z_!U4DN5|@12v92Ao(u4O#jLflMt@Py2s@%}Ec21*BRi+~@;Mu1?uXz!JK zyJQ6+$?Ok+uKx=iP*T6ZyBtT3$Vyy9J{?nO&ea>kLP>Dn8nx5|=@tcI zkvxCy_Y0tUVf?nITQa8u($4B=Guh~)1p4hew zW%f6sF)1L@-!sT<3Z`eRSK(xkGDDQen43=%!4Rrlm?YUHjoUMWpZQSVebjuu(H{Q|c}I44M|Ji@%8`Mj8;LC($kd#D-Sk=UjbZRO^oNw# z_U^JBVI0^8ZKCA^$GTUD4gm7i^SuYwfJJAG^ak5mF8l=B=6GX`aOi`7%P!|Vj61=Zu+eyU;4>Volp-EOrf#7`aZvEE8%vz9 zmGoGy1SxJ53MHW!vs`|X>;4f6*{Z`Kwyc4fCoMmrq_FuOLOH(YMA!=>-PS(}gnbaf zZl|@m4o)2|EM2gn{yXk5S=TfusqNuezxSu(c?z%Vq-W&J;TGOO@V&avot1-CG|dn_ z+1rDs!pMNYr^vaOXe_h=F{JUuCQM@3k`_}p!jE%BT2GpS*LF|U=@WE7N|C0)K zDeu~XQ`s3+raX*A!TI&hYdB%3J$plqZL6aM;QQ+EEGVB&tXg_U{o((g_=9H zyEImJy$67jENs#76_>K7pUFw8u`#IQDta|2`R)C!u=kxvu&S6+g0z829Cix{WI2n zaUJHczM3^1#RnCWMNClL<|}xJwjsxmS4BtO_@AbtJ7;V=RCw%(mT0LxSMKffx>4;m z#tO0z_KMdnzn>p2RZoyK&pLpDEwbNvu)mAhqMeYtt=iCc?uo99gStoWB+bE{>sc&R zviN&7YHFOh_yh1=nM_thZ3ei9eIBoalf1`O%p3cVj(#NenH|i;h%n1DLt@s(+zQFT zQPg5RL%F)rxLe$DWYV#fe);S@mJcxnPml+!7>^Zq!u9~O+3&AWf+K3md3ax&2j?!? zG~E6Wwf4yl$>UG+pAto~$r&iwZ62c|*mj949?w;RRfUX6qcO@i;fHtxR7gE3$$Or-@sR-d1c ze$P9tCR)XEvitqDR?6q~47JdSmy%t+JJtMCKbH|!=ra3#`5#K;fdTsEy8rdT1l5)g z!QN~B0d8r=4p*(rZe3$V?)PZ~qpcVj(8Q>=D}Uy4`dPN_p^n@;Tx>UM4W@4~Z;N1C z431fA6MqzePQs>JHpt&n<0L{ys53P7&SR>|@v6iQ+Uh<_$0^%*BIYZVZgQNFd`&PExqno+pnRNgddxwezyT?ugN-Ac2C`lBJ_2!u;_B81o3Y5A|3q(8Imv0wAD_&;GwP~8!5Q=t1dzP z)~j!bvdkPyjgn*%xilp?%|V0gZwOtuXNK7#R_6IJDXQIrJ;t{QjOylj#&@M+27*_? zx`_O#Yd&UU9G=PT0CaEUR@E9qc%3#{J-^f|_tb+$Oqkt`!qoAoiw+!F1-(7i6N+D~ zpOYijNtAm_72O|mqW3%gLgDsZ!4e}Rj5MCnXkMg*bxAqx=*p69z%0e~ne&Dv$wrd(E>-ApPMvGv6bDH*zxFJiUH~URmmu=WxS5izTSFDQkRW zIeUNLi3b$j6L)hM!eREk5!?`dAtvb4Yd8-Yv>%zrfUa8F5bqc1-;h8D0z^iuXex@FVHFl6 zv7xuTB1>`hy`!~GrX&VY8TLH$1I;;LOgLza=qAhVC@uoA>7e|Y_{4kOm9&u>2XqXr z{6!L(dosE|>1R24xSi{VuPTUr^!SatlOvrOLWZoSe=1;Ch$Z%FU-Xc%-WsQ=IF^>6 z!E^XJ8+?1~m!!6yTxlPfM8E%iX>qvg&y1K}%{6Q9r-l{DZ%SiLPC|GoFnVh!_u--V z;wfpro_-4hp|D3$j^~fUhc`c@<$vXV%u#smNKjtVRg)mr+Y^|m8whY`Gvrs+qMwa> z`U7;};jz3L z?cm>;SJ@7`iz6onAv=VDgv(goDoK7IhQz33-q!($Dq#6NSunHKcl!@_5ha2g+(lkR zmwT)j7HE~E!h-S;bC|e=*&Na^ICm&rjvDw} zN>{@5FZKYQeZU~htY#;X3ltJn7{w*83v$lK91=(UTO%9*pKG+b4bTTQ8E}a81Ew?t zopx%2R|7rb(k;d0d(b0yLI;GRB_K$y-7uRL@by(7cZh`#!*qEbMWXmMx*FlSO!{+_ z((H!~JPfX$^96)q&`cyw24J@QfV#O1wxq{gqN_4)A%{?t$w(!M5sZ2RE9E+gT+{*P zSlu4W7ow<#^>$lb0TpM$5YhvzSB(R04|AsnhlI*ALvknpIl(kvxrf>T#M5Vde|7ao z>lVCO7a)7&PCbjL%?QL4PKy!X|DN=h!+blslD9lm!8ewfe!&gos~J=+lN$8maEZ*! zqJ7i8`z~ZXmOzcFAqAj%(&Y%y6&}P3!#Di{JCG;x)}L1?UNZ^yR!sCnRZxU%CmZ*# z8EIA9>99)s*0P$_gQZ<;S&BOa-?b6V!*KLS-`e`mcG%AX*RJ(~wqpUjQ}XHi7+}^q z5Gv!Bk2tTw$EDilain?ptVKCpi8tqXz`tzdzc6$%&i}!SoNE#~mioTp2-0*BdCUdy z#pQ5i0xJnh15E>d$Q&pN?j9M!Y2d_HE0XcyV!**(wMi=#@fPshI36{+H+8>H*Sn1a zMjj`=6XgqmHE;BHT0yQ}GT8Grr*ItD{}{<=hW8Z6UNCZ%o~M-L*D?y|4uGh@K={dd z2LuUPa@dBf4{m=oIR&Lk+Y6N5C+zEaq$lIUti^GzC_QI;H`%0 z;&s+sx}4Lj-7TmqejJ9m=bscOlBeEq$^fR?Mfr?ogx!1Y0tR~g5~Kx60f14*V<3O9 zwD#pNphU#wS?Vk-2Eo64h7Gl(wB1m#fh~YWl0MP}vckNp(G}pb^$D#TyW1=4UI7UP zp3$R>MekCL4nK?zu~|$um}u4pj`l=ZXl-3h675`ilc>Tc_AZLFK=|8GW3|2Jt7pzZ zfe?95b_)VPsOCVjZ;cikbG`qj^5DjSu0FNL!KNlWqh@zpiGTanv9o&|L@CGvf`owQ zH){0FZ_q@Ltn`-&Pqqc>Wl&leXKM_ptCGCW+cI z5c)0(q66jFqes zHS1mHGX?RbCUV5XpP$1Fki734koP&NXR*Jtxg5}?@C10sI0b^p=&jX^p6Ksv^xd4a zR?tkuN`JDO5Vy$Hc$lbJQ$PA!$HIY5l=ZLn!0RwiYl=L7KAMBZodrHt8UF^2Jmnwn zOMos#>>4G=S`Xw!b)`rSi`k7Z=vyp}loemI>PmFgAV)YaJ#Q4|)9ooFcpW~$W5wqW zJ5NU4i{pPtAd4z93m>$ZOqUD6!RjTnk#FFZ^5vDjC*L#>Et#pY?r)=E2iyj zO;Mlpc%AgUhZ@bMxryPve2JItkI_+N-cE_WZq>uN2n`bguI<3dC5FWuhl>r0Qzp#g z4Q9w2dX^_h@}T5$ZR_R7@2A>MEcIoFNkJGXPSiD0nx;Mq%8(dc=V8wKs)kX!UhWF? zNk+#20db$zOBHGU*YI_cJe&oTIS1$U`I=r!Q?L6BJaisH(uAuOrqS9_$hz z+%(@H246DIcbTG@M7pMyp&3_``Y!~QmNLQw%fWG?jGu?(lOLqGU_D>0*&`J^$OyJ< zlf=K4NnoQW&?`uyG>)3X*BGcyXrC_JPFCc<+4O7nzuLkDpXbV!Soh~ZF%;til0pxu z2EnF1=bFxsFKLSaUy#bHBm{g>|65tbG?$W!Y64sbj+D}z5V~;T$NMyl->$pDOgy(z#_S9 z?;)VO<5U5C<>m@CYMp5^GULN=y`0!jd$K(cD6U=}$LPUDld7yeuHJ1?pGpWCv`Gi= zNdGN|gr2GHq?Im(?;xs;wPqThgufj6vP=UZyWUk=rG3OFhDYskm&|GS zebr~z|13!a&`ByG=1ZN+1o3FM<&k@55sd5XY5zkm|bXIum` z)TjBFDsZ7DV`>FNhjNnE4*2Bb%y5BLH>fujaIv&c`mbJN*~$idx?FdV1_?S8*p{_# zyw4PnijQdY{@BuJ1!g<_1i%&TXi?1qzrj`_AS!oLGH=wDxE5(Y}|fM zr2~~?d=diC<>ud$N9mEG2-bxkyE91+RPkN!E`=3HH-g%(Z~R`;!+w!eMnKf~-&dhv z8`+z)Z70c*PrPkpk2f|~JpO~pG=KX)nK%D~Ex}AK3#0Tu+ARNn_)X|H#1R@D03S&{ z$oNAD`y1q2Pl`1Gxv=-1%LGNw_VT0miM^+g`_$W*W5E$Fria_8$aXV@8&7 zRUIJm+ma~z>kjTIJ&ZeQbq&bni!QBI@qhzgR!R55aEM=0#@0-D+e*X$Q{k*H*QK+8 z$h6OSMQEc%U=V%#u2*XOES&jzo5lBJYm(`a1g1xc4w$-2AVoMP-20D(!`%Gqn#so_ ze7co+aDiRRwZD$zE3MW3#WVU+S$XR8>F1GfcqD7P9+pa0 z_4`6{={VR;5`R4)R$K(xPtAPQOYw{_PTLQg9008sL2SKcwjDWj1PFun>3FCskg2bP ziiHOpG44`D4+(#{5n<{R?5;aNq5K0H`va0(DRGw)7Sx?R79{z*4s^h zGEt~iVo1u^+m4oJ>or2fEKZpcs2O_-`eh~j8!_-0pGHT_lYxEt)8MfMV%e2wZkg;9 z?DGmYJ-;IDx1$a2<`RIo8qygIv}Vx)m1i-KRZ@yywI6Fl#hEynoQFm zAZre&)gmVj`z;o|AV)%9byzk)tbp=gj*yN8T*}&j0 z6LRu*&LM9l;ET*|R9JSqlYNlaXa>TqO0Ch12qy#B9))8&b|AnOOHI)VH5h|1W>^_U zi8wt+7-WO9ssqq8jgad$I57n?eHZfpVGt*M*g3BIZ%RS=z5dr1)>`rPSKM4jkq2x? z0ztWfF|m&2)2g=UN~Fx?G0nAx7_M_ShvyU-QUB0~#3XXCI|~IZNGUj9nrL+%@dG0e z^6fykus4hsH0blgBAkZ3$Bs1f^sfp+uKniI$1+kPc@=qT^1p?_>vlbKfReL6nQ@Pn z#N6!wrieii(W2MSeZt0ccfxJhV7^)!VOaT!kl!!|piw2u`F6?lrJEn z2KGh(@+qt3u;mZZJ;;>8grVxyU6D0ifAi z09n5-v%Z{{G4oZ;mC8?9yN^?Cf7IcR~)+n+*D8?d%3i;p=z zr>z$Pb;OlhDp30la+I@c{y4|Nzy+EEF!q12L$Pq`cbzn9vOH{%L__9(J&&liqz<%B0vEu<)firO{q*Fh@cdd2pk+Kk27xg!Q78tOKB#5CBeO~2=0>o<1 z4x=}WwBmu9yKAJ;2>a;xqI%|W5gRS9-g``STh9=NP|{y=1KZR-dsSrD;}-GM{q})` z%LD(OK3kuu0uSrzIadlFK7oyc+`!4_pPr1K<36OA#(L0PLn*91yGXlWZCgJF+Cnc1ixQBXq-AM1xXp z#~8p#5bUm`bKz%zXjGF*8gN9isNumF&EN75y?{0N72BqmEbfrnK?N;O^v2Q3Hg$C+W8?-qRD}qIpBj?DyY*3%dm|9?tQlF>^7?+kJ9zMNf8orW38= z`M1ggqde3v>{3tNeM@%at-VE;xMWjDQ@4+F(ndi1mIcQ~q;A<$VOnia<^Wj~`4nRc z-tNokYKz(hqY~>!w)U{2!dJ|y8U__~w~H0|wdMneHLbfRaOK3yqix^9mR6t1X->Uy z)|`)^m(UCEn+} z@lq1aZ`d#rzI$a%h0@v_-!Q0|fimb&%YILJoZ9a56pvU_cf33Jsr(8NcJ>L`hbdNi z7J?NECn~E7>niZ?p2^^X4kmTSXN%p}Jp}Pq>l~~m=EZi#8a|cf`$_J&pWfyHn)PR;V4;&+k$9F)sJc$pYN|MSP7@2tmJLqD!XM zHm!(5vYU5oY~atZfUOrVQw1;4&`k1dVHJTkT6o~_v7uRA2UB(Va5Czq!c5I4Tz1hO zy`mi<@20z>I59ioEEF{cQ{5VS0y{t~=bD#3aHJ*E;Ge&rS_~eN=?yj996O{rLP323 zGu0hk@c4Fz;Xfq=?b@L~8bUwNFRx!QJLZ$de@ut4dLUQr^3A)$2=iE?gz^O)C-Nx| zSmbD&fF7ix{=Ps5#y3i~{2An)7Y-^9=&$3cYBA6i&MP@ucAJplitSE1Txr(j$BCh^L|RwP#;# z(|ur(we9JLgSovB?{xgM2WN4<8~SZ(>_Wb>2*zn^E;CXW+;7s6rqc5_-}Md99EiO5 zI8tUhPCw*O`-6&P2cYJ9(p9v%5dXJlJ=7i&B+-9=*z?}-f0W1Xw=0hqL6r?I2fUo- zW@j(W@0ZUhOh7F<6cjrC;Pz#N?zeHiN-3k6Nzo1Vfvg2xvIUc`mCRP zkvY-8C)Sp1Aj3=j`O4)!pB-OsO#;YIKfkVf`~zYYDB839rErLA1nLc;u;ROOM*{$J zaE4fY;LNJN#YseXZ(P0acLeW|z`w)qYTEE^55o#)TI03jl8;pfD5xf3`RmH{;+AyA zONBlQ7MgcVB+W?#n{~w+D@+{pQU*YU(%GNp=X131s(3sT^lh-!Qg_o3#Y}zmHMn`V z5}_@OlIV0*$rb3ekj%7#ESL+~hXXAV+z*ZGPQF>8m?k|gh*>JI7#pod29S3K^X?FvXL>M*_rpIM_(&4nF zeSvhE3CITm9xpFy{`#R%IHkkb=cLF$B>NB~qtYf6lj^g+5zw3Q!+I8oLVeT**8E)s zv~A)lxZ_f>3MY^+ZEPBE4HJFwzutGu9lt>H_u}(LWgE#?Z(fcq9-D)1+i}?&7{xiv z(Ffo3(%ui&4e(FuJdC`rl@y-3v9f0|oMetZc~C1wZ}Z^Sb_8$Ki69xIksfgic&yVT zZ5`trNxFhVh#`HP;eaEYn{-=o51#;30hI>T@-O!{V+-_DuCE=vF4bibU?OJwew5NO z$-p~)bnor)?HYZPYWKdT$l2vEi%_y=nV*7)dWjJwG>dTB0<;F6L=x&|cLM%<+JUJK z;^{4l7qNRhM zPPQH*=vM4hbslFI_L(!U2(uU7HOSBAlX&e|M{U*ptysm&k{ZSN=#2|h+pBa zfHqn4w=+G>UN?Bqx|)^@Rn%D$=bRjVgie-QANp6s+ICeFM0S7rR2=%7h&in`-8Rl! zlSvY7YOz}*TEre;OZGzZ*dWH?rP5(%cT$O20iwHcnAdqIJj%dXkD!ocSpnpe`$ zYU?Xoub^9-+wf@%t}BU(JKWZ9K0m;KHYdYka!gy!WUWpk*zu*$l3GaF z;H3}rY`J3F>IBJz=QC<-nC?vIhbMzrLSm{E4&9HS zKq#F$;lzrxlk(7@q|r+QxyqetfYjay1Tk%aQCEOyjsrbh-|fON7h81Q2f z0T90;Wts6L;ttZ47zCXG9VFq!Nd7q~hzz+R6cCe0_ccglNPM$#;)g7UCM31Favbp0 zT@yYlQlw0?0VGfCap3doi!G7VdCPkSL5{giZyS~_5(SDpYGT_qg*#mKI7Uhl31 zi9{F3K~li#)a?S@Dl|kNI)R~``uq;8@{KdY%*_CpIv&OG&kH{V(q9fLK>a+(4%MI| z{YR1x?Oh82Op+!artu#p7gICnyZz={Sr4Kv3ihap)&@0^!p$rqR#QV-EoqPs{--?~ zgs=Ha_SXaHS;Z)U7*XS@0I5QCYhZHlIPC}GZI6!)P3OVXh z=tOm?rKAS^-Kf$k%9d*cQkG{XB%3MnM7OtO~QXojL9x9V^-W- zj0(39O~w_7`a0B%yC<=dUlx(e-wI&)d0#4J@T_Xe9raBN2x-QHrPZ<3kZ5@o0878v z5R0SqX@A2rrQ(*0Yn*rRf&jVzNV4{bmD`fCWD7|Lds_E;7aojI&3xUW_HnNF&4Tcs zUb88)=pe?Ue6^^d!i0SYgca**Gb_@cFG4v2Ig$5a1PxaLhI$n?fz-@f9*~@aeLhi8 z21XI~)CmQTKa~5yc^N*UvXUh|IUDZ!IoY-|H(W#O&MKe=IVtfe& zEcIKB_6f4hn#U6?77xUSj}vf~UbZon?H*z^$(LyFV*Vn+dA0P&{u9*B!S3W?eS{#( zlCIp8rzz)xJtqyaQomSS`YiL=fXI3d(QY!BE94PxZ%%RSf^xUT_?~}xNx^}v9^Y7& zjYP~Qr0&K3{;tW>0g+ zb!*Zk*sSmPT5nD)Jxw@$ql@CkDa+s+*$b!=zqDYVUIW>IHS@i{Yb{G3%BhYLe})Ow zJDncndElX}QsStQR6w6kb!J#>kWI5vQFI`pIunf>OsWTY(o91x`Jhkq?2Ww@>1v

|X%tgGLkczKM{Xrrgq(f)Vng(+=;E^Ow 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

axpvviMs0g>U06YQlW}OJ#04k8_sE> z16_3zE>jbpS+z(+AL6Q2aC@uS#U*Y^+a7%Txe={6j|PErt+p!zlfpUAAGTpE|1YSUNxYaK{k!oz#1Bzr-`O7CX+=lEM?E3@(lR z%h#TuGx8{SU`W!%vKHiQh7|rnABtwbP#@&WX8H40=Dx&c=2JaXj8|f82CK9erkH%Ju+Whi(+42$fUPdaWJB2q;&9fotCDBBOfEYl)3fwOiay84m|E# z1;;d?r|AO$zFMFPrOD5hOm9%*n(3czlji%SDryL8r_`U5v*;%nl7Hfz=rP(uN6V1P z7S&P+g-OL;WR%vjXFsuPxXi}2qQJ5qYrILD@1@@L=F;2aOJH?8q5ci`!zJ7UdnrZh zEVarBeHUi2Ir`1a>FU6o{d>yo=9DDkucx9(!(zrw{%Yb0MjF^50 zX?^fTIZi!{O{ z;ER-4D4b1QxfYlv%GC8&!P0OxpBGO}-5+2(KJ1;o`OR%<*0WKZ?h_K3laZG_i)PtU z!}*CYlQKx7ht*ayS@_V_GMaw-5RbM&+FBZ+g$ju=jUI2G+dl@PjPUqviR9@JuHM4a zO=vuL6g=;BDs43r71z0@z=kE%Og+*QrYE9BA7;C0&0RbupoNZ0;q7Ppi5_|;e0}(< zagqSx2u`Ash)V}0$EjK!ZSgEYvm+O#l79L?ob{hr=3G*EPw>Tek@R=*&9@|t*~)%B zQ{%br5#W=0b<>dDR#H3uyH3?A(Cn+CFPR>C#ID19P(P!Bja{nDaN}sSFjVDXa}=b~ za@|L|fHpqA9HgIsRYj0dr$#pwB7U&e6aS8ClJvzZ4@zh?lrmPoBc)rZzu4N*ZOL6L zsfF+;_f#pYNa$7+5T=6 z*L+^#k-!|tBi3a;*yLRj_|AOMt>{a`defA>LP@^{10D16OqSzt#+aLoqdK&BnVmAs z_+j`jvbesYR&pXdR9oXNV`ErovJaF6eKO8=w_`jk{w!wu%9U7fh88hNqj%24g|@)_ ztb)uAccFsu0lqDTPx5FaSB3-LAw2O%DC%(Ts`QAu9f)Skw{~ViP-6YJhKkd-!{9qM z=ppYI+XA=cknRr_Z!s^orCh!;m(Ix-d^Nk-&;gStEvKsc^sjH*BBgDp=3s%kC`IWU8qKk=MiU(MX@-VldnZ4;jOEbCiv;p1LvclwoN= zD@);J3!HPF_lXm`=X1?WLs|KF3v@qb?VVzNiR|mjR*e>q$6w86rA1N!wPvQ3(*J~^ z?*Dp60RwlUR+A?M$}eU^r@r~Fz(24wMXT}u>StC-NT5DH7|In^$TbJftc2{#j;#@F zvokY$VRhJ0eB-E+sIeq}`(NU28eXn2dtQfcMwnajU}N1&6ir8*ax8{(UYM&>lUs=g zKf%Sq$*k3KRSC4H%aDfZn3Dtc?HH8v6(`Ww$3KjHq literal 30635 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