From de4def3548a6729b0dfd2120495a61beef8c8c2c Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Sun, 5 Jul 2026 20:21:50 -0300 Subject: pardes v2: the rewrite, complete and organized. src/ (core + three shells), test/ (snapshot parity harness + 18 frozen goldens). One sans-IO core, vaxis tty + SDL3 GPU native + wasm web shells, 18/18 parity with the purged prototype, 7.6k lines vs 12.1k. Fix: gui shell pre-sized the core at init so the greet-releasing resize never fired (blank panes until first interaction); live sessions now init at defaults and get the real grid as a resize event (the shell contract, documented on Options). --- docs/design.pdf | 1380 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ docs/design.typ | 246 ++++++++++ docs/ideas.typ | 13 + 3 files changed, 1639 insertions(+) create mode 100644 docs/design.pdf create mode 100644 docs/design.typ create mode 100644 docs/ideas.typ (limited to 'docs') diff --git a/docs/design.pdf b/docs/design.pdf new file mode 100644 index 00000000..0022972b --- /dev/null +++ b/docs/design.pdf @@ -0,0 +1,1380 @@ +%PDF-1.7 +%€€€€ + +1 0 obj +<> +endobj +2 0 obj +<> +endobj +3 0 obj +<> +endobj +4 0 obj +<> +endobj +5 0 obj +<> +endobj +6 0 obj +<> +endobj +7 0 obj +<> +endobj +8 0 obj +<> +endobj +9 0 obj +<> +endobj +10 0 obj +<> +endobj +11 0 obj +<> +endobj +12 0 obj +<>/K[214 0 R]/ParentTree<>/ParentTreeNextKey 4>> +endobj +13 0 obj +[17 0 R 19 0 R 20 0 R 21 0 R 21 0 R 21 0 R 21 0 R 22 0 R 22 0 R 22 0 R 23 0 R 25 0 R 24 0 R 25 0 R 25 0 R 25 0 R 26 0 R 30 0 R 28 0 R 30 0 R 29 0 R 30 0 R 32 0 R 34 0 R 34 0 R 34 0 R 40 0 R 37 0 R 40 0 R 40 0 R 40 0 R 38 0 R 40 0 R 40 0 R 40 0 R 39 0 R 40 0 R 41 0 R 42 0 R 50 0 R 43 0 R 50 0 R 44 0 R 50 0 R 45 0 R 50 0 R 46 0 R 50 0 R 47 0 R 50 0 R 48 0 R 50 0 R 49 0 R 50 0 R 50 0 R 50 0 R 51 0 R 53 0 R 53 0 R 52 0 R 53 0 R 53 0 R 53 0 R 53 0 R 54 0 R 64 0 R 55 0 R 64 0 R 56 0 R 64 0 R 57 0 R 64 0 R 58 0 R 64 0 R 59 0 R 64 0 R 60 0 R 64 0 R 61 0 R 64 0 R 62 0 R 64 0 R 64 0 R 63 0 R 64 0 R 64 0 R 66 0 R 65 0 R 66 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 68 0 R 69 0 R 69 0 R 69 0 R 69 0 R 69 0 R 69 0 R 69 0 R 69 0 R 69 0 R 69 0 R 69 0 R 69 0 R 69 0 R 69 0 R 69 0 R 69 0 R 69 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R] +endobj +14 0 obj +[76 0 R 72 0 R 76 0 R 73 0 R 76 0 R 76 0 R 74 0 R 76 0 R 75 0 R 76 0 R 76 0 R 77 0 R 78 0 R 79 0 R 80 0 R 80 0 R 80 0 R 80 0 R 80 0 R 80 0 R 80 0 R 81 0 R 81 0 R 81 0 R 81 0 R 81 0 R 81 0 R 81 0 R 82 0 R 82 0 R 82 0 R 82 0 R 82 0 R 83 0 R 83 0 R 83 0 R 83 0 R 83 0 R 83 0 R 83 0 R 84 0 R 84 0 R 84 0 R 84 0 R 84 0 R 84 0 R 84 0 R 85 0 R 85 0 R 85 0 R 85 0 R 85 0 R 86 0 R 86 0 R 86 0 R 86 0 R 86 0 R 86 0 R 86 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 89 0 R 90 0 R 90 0 R 90 0 R 90 0 R 90 0 R 90 0 R 90 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 92 0 R 92 0 R 92 0 R 92 0 R 92 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 94 0 R 94 0 R 94 0 R 94 0 R 94 0 R 94 0 R 94 0 R 94 0 R 94 0 R 94 0 R 94 0 R 95 0 R 95 0 R 95 0 R 95 0 R 95 0 R 95 0 R 95 0 R 95 0 R 95 0 R 95 0 R 95 0 R 95 0 R 95 0 R 95 0 R 95 0 R 95 0 R 95 0 R 95 0 R 95 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 97 0 R 97 0 R 97 0 R 97 0 R 97 0 R 97 0 R 97 0 R 97 0 R 97 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 100 0 R 101 0 R 101 0 R 101 0 R 101 0 R 101 0 R 101 0 R 101 0 R 101 0 R 101 0 R 101 0 R 101 0 R 101 0 R 101 0 R 101 0 R 101 0 R 105 0 R 103 0 R 105 0 R 104 0 R 105 0 R 105 0 R 105 0 R 106 0 R 109 0 R 107 0 R 109 0 R 109 0 R 108 0 R 108 0 R 109 0 R 109 0 R 110 0 R 112 0 R 116 0 R 117 0 R 118 0 R 120 0 R 121 0 R 122 0 R 124 0 R 125 0 R 126 0 R 128 0 R 129 0 R 130 0 R 132 0 R 134 0 R 136 0 R 136 0 R 138 0 R 139 0 R 140 0 R] +endobj +15 0 obj +[143 0 R 152 0 R 144 0 R 152 0 R 145 0 R 152 0 R 152 0 R 146 0 R 152 0 R 152 0 R 152 0 R 147 0 R 152 0 R 152 0 R 148 0 R 152 0 R 152 0 R 152 0 R 149 0 R 152 0 R 150 0 R 152 0 R 151 0 R 152 0 R 154 0 R 153 0 R 154 0 R 154 0 R 154 0 R 154 0 R 154 0 R 155 0 R 155 0 R 156 0 R 157 0 R 164 0 R 158 0 R 164 0 R 159 0 R 164 0 R 160 0 R 164 0 R 164 0 R 164 0 R 161 0 R 164 0 R 162 0 R 164 0 R 164 0 R 163 0 R 164 0 R 164 0 R 164 0 R 165 0 R 169 0 R 166 0 R 169 0 R 169 0 R 169 0 R 169 0 R 167 0 R 169 0 R 168 0 R 169 0 R 170 0 R 172 0 R 171 0 R 171 0 R 172 0 R 172 0 R 173 0 R 178 0 R 178 0 R 178 0 R 178 0 R 178 0 R 178 0 R 174 0 R 178 0 R 178 0 R 178 0 R 175 0 R 178 0 R 176 0 R 178 0 R 178 0 R 177 0 R 178 0 R 179 0 R 184 0 R 184 0 R 184 0 R 180 0 R 184 0 R 184 0 R 181 0 R 184 0 R 182 0 R 184 0 R 184 0 R 183 0 R 184 0 R 184 0 R] +endobj +16 0 obj +[184 0 R 184 0 R 185 0 R 195 0 R 186 0 R 195 0 R 187 0 R 195 0 R 188 0 R 195 0 R 195 0 R 189 0 R 195 0 R 190 0 R 195 0 R 191 0 R 195 0 R 192 0 R 195 0 R 195 0 R 195 0 R 193 0 R 195 0 R 195 0 R 194 0 R 195 0 R 195 0 R 196 0 R 201 0 R 197 0 R 201 0 R 198 0 R 201 0 R 199 0 R 201 0 R 200 0 R 200 0 R 200 0 R 201 0 R 202 0 R 204 0 R 204 0 R 203 0 R 204 0 R 204 0 R 204 0 R 204 0 R 204 0 R 205 0 R 206 0 R 206 0 R 207 0 R 208 0 R 208 0 R 208 0 R 208 0 R 210 0 R 209 0 R 210 0 R 210 0 R 210 0 R 211 0 R 213 0 R 212 0 R 213 0 R 213 0 R] +endobj +17 0 obj +<> +endobj +18 0 obj +<> +endobj +19 0 obj +<> +endobj +20 0 obj +<> +endobj +21 0 obj +<> +endobj +22 0 obj +<> +endobj +23 0 obj +<> +endobj +24 0 obj +<> +endobj +25 0 obj +<> +endobj +26 0 obj +<> +endobj +27 0 obj +<><>]/K[26 0 R]>> +endobj +28 0 obj +<> +endobj +29 0 obj +<> +endobj +30 0 obj +<><>]/K[17 28 0 R 19 29 0 R 21]/Pg 245 0 R>> +endobj +31 0 obj +<> +endobj +32 0 obj +<> +endobj +33 0 obj +<><>]/K[32 0 R]>> +endobj +34 0 obj +<><>]/K[23 24 25]/Pg 245 0 R>> +endobj +35 0 obj +<> +endobj +36 0 obj +<>]/K[31 0 R 35 0 R]>> +endobj +37 0 obj +<> +endobj +38 0 obj +<> +endobj +39 0 obj +<> +endobj +40 0 obj +<> +endobj +41 0 obj +<> +endobj +42 0 obj +<> +endobj +43 0 obj +<> +endobj +44 0 obj +<> +endobj +45 0 obj +<> +endobj +46 0 obj +<> +endobj +47 0 obj +<> +endobj +48 0 obj +<> +endobj +49 0 obj +<> +endobj +50 0 obj +<> +endobj +51 0 obj +<> +endobj +52 0 obj +<> +endobj +53 0 obj +<> +endobj +54 0 obj +<> +endobj +55 0 obj +<> +endobj +56 0 obj +<> +endobj +57 0 obj +<> +endobj +58 0 obj +<> +endobj +59 0 obj +<> +endobj +60 0 obj +<> +endobj +61 0 obj +<> +endobj +62 0 obj +<> +endobj +63 0 obj +<> +endobj +64 0 obj +<> +endobj +65 0 obj +<> +endobj +66 0 obj +<> +endobj +67 0 obj +<> +endobj +68 0 obj +<> +endobj +69 0 obj +<> +endobj +70 0 obj +<> +endobj +71 0 obj +<>]/K[67 0 R 68 0 R 69 0 R 70 0 R]>> +endobj +72 0 obj +<> +endobj +73 0 obj +<> +endobj +74 0 obj +<> +endobj +75 0 obj +<> +endobj +76 0 obj +<> +endobj +77 0 obj +<> +endobj +78 0 obj +<> +endobj +79 0 obj +<> +endobj +80 0 obj +<> +endobj +81 0 obj +<> +endobj +82 0 obj +<> +endobj +83 0 obj +<> +endobj +84 0 obj +<> +endobj +85 0 obj +<> +endobj +86 0 obj +<> +endobj +87 0 obj +<> +endobj +88 0 obj +<> +endobj +89 0 obj +<> +endobj +90 0 obj +<> +endobj +91 0 obj +<> +endobj +92 0 obj +<> +endobj +93 0 obj +<> +endobj +94 0 obj +<> +endobj +95 0 obj +<> +endobj +96 0 obj +<> +endobj +97 0 obj +<> +endobj +98 0 obj +<> +endobj +99 0 obj +<> +endobj +100 0 obj +<> +endobj +101 0 obj +<> +endobj +102 0 obj +<>]/K[79 0 R 80 0 R 81 0 R 82 0 R 83 0 R 84 0 R 85 0 R 86 0 R 87 0 R 88 0 R 89 0 R 90 0 R 91 0 R 92 0 R 93 0 R 94 0 R 95 0 R 96 0 R 97 0 R 98 0 R 99 0 R 100 0 R 101 0 R]>> +endobj +103 0 obj +<> +endobj +104 0 obj +<> +endobj +105 0 obj +<> +endobj +106 0 obj +<> +endobj +107 0 obj +<> +endobj +108 0 obj +<> +endobj +109 0 obj +<> +endobj +110 0 obj +<> +endobj +111 0 obj +<><>]/K[110 0 R]>> +endobj +112 0 obj +<> +endobj +113 0 obj +<><>]/K[112 0 R]>> +endobj +114 0 obj +<><>]/K[]>> +endobj +115 0 obj +<> +endobj +116 0 obj +<><>]/K[259]/Pg 246 0 R>> +endobj +117 0 obj +<><>]/K[260]/Pg 246 0 R>> +endobj +118 0 obj +<><>]/K[261]/Pg 246 0 R>> +endobj +119 0 obj +<> +endobj +120 0 obj +<><>]/K[262]/Pg 246 0 R>> +endobj +121 0 obj +<><>]/K[263]/Pg 246 0 R>> +endobj +122 0 obj +<><>]/K[264]/Pg 246 0 R>> +endobj +123 0 obj +<> +endobj +124 0 obj +<><>]/K[265]/Pg 246 0 R>> +endobj +125 0 obj +<><>]/K[266]/Pg 246 0 R>> +endobj +126 0 obj +<><>]/K[267]/Pg 246 0 R>> +endobj +127 0 obj +<> +endobj +128 0 obj +<><>]/K[268]/Pg 246 0 R>> +endobj +129 0 obj +<><>]/K[269]/Pg 246 0 R>> +endobj +130 0 obj +<><>]/K[270]/Pg 246 0 R>> +endobj +131 0 obj +<> +endobj +132 0 obj +<> +endobj +133 0 obj +<><>]/K[132 0 R]>> +endobj +134 0 obj +<> +endobj +135 0 obj +<><>]/K[134 0 R]>> +endobj +136 0 obj +<><>]/K[273 274]/Pg 246 0 R>> +endobj +137 0 obj +<> +endobj +138 0 obj +<><>]/K[275]/Pg 246 0 R>> +endobj +139 0 obj +<><>]/K[276]/Pg 246 0 R>> +endobj +140 0 obj +<><>]/K[277]/Pg 246 0 R>> +endobj +141 0 obj +<> +endobj +142 0 obj +<>]/K[115 0 R 119 0 R 123 0 R 127 0 R 131 0 R 137 0 R 141 0 R]>> +endobj +143 0 obj +<> +endobj +144 0 obj +<> +endobj +145 0 obj +<> +endobj +146 0 obj +<> +endobj +147 0 obj +<> +endobj +148 0 obj +<> +endobj +149 0 obj +<> +endobj +150 0 obj +<> +endobj +151 0 obj +<> +endobj +152 0 obj +<> +endobj +153 0 obj +<> +endobj +154 0 obj +<> +endobj +155 0 obj +<> +endobj +156 0 obj +<> +endobj +157 0 obj +<> +endobj +158 0 obj +<> +endobj +159 0 obj +<> +endobj +160 0 obj +<> +endobj +161 0 obj +<> +endobj +162 0 obj +<> +endobj +163 0 obj +<> +endobj +164 0 obj +<> +endobj +165 0 obj +<> +endobj +166 0 obj +<> +endobj +167 0 obj +<> +endobj +168 0 obj +<> +endobj +169 0 obj +<> +endobj +170 0 obj +<> +endobj +171 0 obj +<> +endobj +172 0 obj +<> +endobj +173 0 obj +<> +endobj +174 0 obj +<> +endobj +175 0 obj +<> +endobj +176 0 obj +<> +endobj +177 0 obj +<> +endobj +178 0 obj +<> +endobj +179 0 obj +<> +endobj +180 0 obj +<> +endobj +181 0 obj +<> +endobj +182 0 obj +<> +endobj +183 0 obj +<> +endobj +184 0 obj +<><>]/Pg 247 0 R>> +endobj +185 0 obj +<> +endobj +186 0 obj +<> +endobj +187 0 obj +<> +endobj +188 0 obj +<> +endobj +189 0 obj +<> +endobj +190 0 obj +<> +endobj +191 0 obj +<> +endobj +192 0 obj +<> +endobj +193 0 obj +<> +endobj +194 0 obj +<> +endobj +195 0 obj +<> +endobj +196 0 obj +<> +endobj +197 0 obj +<> +endobj +198 0 obj +<> +endobj +199 0 obj +<> +endobj +200 0 obj +<> +endobj +201 0 obj +<> +endobj +202 0 obj +<> +endobj +203 0 obj +<> +endobj +204 0 obj +<> +endobj +205 0 obj +<> +endobj +206 0 obj +<> +endobj +207 0 obj +<> +endobj +208 0 obj +<> +endobj +209 0 obj +<> +endobj +210 0 obj +<> +endobj +211 0 obj +<> +endobj +212 0 obj +<> +endobj +213 0 obj +<> +endobj +214 0 obj +<> +endobj +215 0 obj +[/ICCBased 268 0 R] +endobj +216 0 obj +[/ICCBased 269 0 R] +endobj +217 0 obj +[245 0 R/XYZ 62.362206 729.37256 0] +endobj +218 0 obj +[245 0 R/XYZ 62.362206 590.0229 0] +endobj +219 0 obj +[246 0 R/XYZ 62.362206 733.7516 0] +endobj +220 0 obj +[246 0 R/XYZ 62.362206 342.88815 0] +endobj +221 0 obj +[247 0 R/XYZ 62.362206 789.5276 0] +endobj +222 0 obj +[247 0 R/XYZ 62.362206 546.3959 0] +endobj +223 0 obj +[247 0 R/XYZ 62.362206 426.81766 0] +endobj +224 0 obj +[247 0 R/XYZ 62.362206 335.20096 0] +endobj +225 0 obj +[248 0 R/XYZ 62.362206 411.61353 0] +endobj +226 0 obj +<>/Font<>>> +endobj +227 0 obj +<>/Font<>>> +endobj +228 0 obj +<>/Font<>>> +endobj +229 0 obj +<>/Font<>>> +endobj +230 0 obj +<> +endobj +231 0 obj +<>/FontDescriptor 232 0 R/DW 0/W[0 0 280 1 1 786 2 2 559 3 3 474 4 4 639 5 5 527 6 6 454 7 7 319 8 8 383 9 9 869 10 10 800 11 11 607 12 12 447 13 13 756 14 14 639 15 15 607 16 16 319 17 17 575 18 18 958 19 19 1189 20 21 639 22 22 319 23 23 639 24 24 607 25 25 510.99997 26 26 831 27 28 639 29 29 351 30 30 671 31 31 607 32 32 882 33 33 575 34 34 319 35 37 575 38 38 818 39 39 692 40 40 319 41 41 1092 42 42 831 43 44 447 45 45 383]>> +endobj +232 0 obj +<> +endobj +233 0 obj +<> +endobj +234 0 obj +<>/FontDescriptor 235 0 R/DW 0/W[0 0 500 1 1 556 2 2 444 3 3 394 4 4 278 5 5 500 6 6 556 7 7 333 8 8 306 9 9 500 10 10 392 11 11 389 12 12 556 13 13 722 14 14 1000 15 17 500 18 18 333 19 20 500 21 21 681 22 22 500 23 24 528 25 25 833 26 26 444 27 28 278 29 30 556 31 31 278 32 32 556 33 33 528 34 34 278 35 35 556 36 36 278 37 37 722 38 38 686 39 39 528 40 40 681 41 41 528 42 42 361 43 44 389 45 45 556 46 46 764 47 47 625 48 48 500 49 49 778 50 50 444 51 52 750 53 53 778 54 54 278 55 55 583 56 56 500 57 57 750 58 58 500 59 59 750 60 60 306 61 61 736 62 62 785 63 63 708 64 64 917 65 65 556 66 66 500 67 67 611 68 69 500 70 70 778 71 71 750 72 72 722 73 73 1000 74 74 653 75 75 1028 76 76 514]>> +endobj +235 0 obj +<> +endobj +236 0 obj +<> +endobj +237 0 obj +<>/FontDescriptor 238 0 R/DW 0/CIDToGIDMap/Identity/W[0 78 602.0508]>> +endobj +238 0 obj +<> +endobj +239 0 obj +<> +endobj +240 0 obj +<>/FontDescriptor 241 0 R/DW 0/W[0 0 500 1 1 527]>> +endobj +241 0 obj +<> +endobj +242 0 obj +<> +endobj +243 0 obj +<>/FontDescriptor 244 0 R/DW 0/CIDToGIDMap/Identity/W[0 8 602.0508]>> +endobj +244 0 obj +<> +endobj +245 0 obj +<> +endobj +246 0 obj +<> +endobj +247 0 obj +<> +endobj +248 0 obj +<> +endobj +249 0 obj +<> +stream +xœûÿÿÿÿÿîø +endstream +endobj +250 0 obj +<> +stream +xœm”ËŽ£0E÷|EÍ)½ÈæÕE‘¤,ú¡NkfMp%ƒ â±Èß�ð­$­Ñ,]WÙ·NÙÆýñq˜¯usäyøÓ§Oî›±+yž½­ãºÛ¦k6óf}‹ö j»¦ìy l¿Ý›jp\woÊ˨ù–ó¿” Ÿ+óH˜<(û¡©×ýª† /h†²5Ñ^³ªáJþ“㺿¸ë«Æ,(p\wgtÖÔSq½ã‰y]Sx Set'Ntœ|�@‘®ÊA”}—uÑÚɇk?p½7§†Bd鱕L""ï“ÏU?tWšÙžHó ‘÷NsW™3ÍnÅ~ ƶ½ðT$ùv”�¶_o‚+j&O€ï£BIÁcèëÚ²,àý~môM(±l4÷mQrW˜3;Kß÷ý-ó<ÏW“ã?ñ(Æ´ã©üSt6=XÑÒ÷ce•²*  B«R!AÅP1T‚Ì*µ*\C=[¥ÄáŪHÖp—57Xå*ƒ’ØóÄo÷TŽÌĪ`j€ï'/PàKr(áÛB�/N¡„îøRT€/É À— /øRñ_‚NàKÅ|±Ä„Døa¾ä1Ædc•c„Þ(0†pQ`T¨U�1Ä* +Œ!*W²‡2Œ‘ÄÀÉ*²‡è·’=D#P)0*tQ�Q¡7 +Œë­=šr§C:ÝÅû­(Ç®c3Ø«h¯ÀtÞ+Ã÷;Ý6í4Ë>ögpû¯Lê=ÿ ˆÚBÎ +endstream +endobj +251 0 obj +<> +stream +xœ�XiX×¶­¦­ªƒ�FºlL”T£ApBpºIŒFEÁ!jb4N4 + + +AA™A…Vhìf7ÍŒ L¢¤eTJŒc4Æ!ÑëMôÆ$×!‰LO¿]ä�{ß×8¼\sßûÞŸê¯Ï9}ÎÞ»ÖZgíV0}ú0 +…Âq~hÂôyc|¼|£Ö…ØüåA²+8ˆò« +±/£xòtà];ÛsÈ•Ïví³…}•aÎN¶gŒó« ó¯9 ±} pp·},tÊ( +NU3-$jUèì�ÐÈØðؤaÓ‡»�õó¦×XŸ±q›ã¶(&j]ÔúðØð˜Ñn‹ÂÂcÜ¢¢#ÜÂcÜ¢C×…Ç„†¸ÅE†„F»Å†…ºÍü`á"7ÿ¨ÈX·¹á«C#cBݼ¼ÜÜbBCÝÂbc7LôöŽ�[;:*z­÷š¨ÈØïuOÅxÛ~çåÿîüE^sgO÷›¿Ðotlb¬Ûš¨h·�ÐØàðu1£ÆŽQ0£ ¿üO�¾H~¯WTqbß>‹¢ìsú‚ÃKRß:‹ÅlÎÊ6çå98 ÷’”ÛRœ[dÉÏÎrp4;¨”Œ‚af´­ŠýÍf[Õ^ef²­(.jf´íŒ>Ìjæ±b©âs»Ùv¨ôQŽSV(»ú¬ï#±ƒØTöïœ'—Ê;óõ¤ÙIÎÛO·—úºö=ôRÄKF:\s\ëxZ5IïÔ×)­_b¿ßœ':/wFõvõ?„7„yôN²Æüfl—艮؀^ÊîP9UƒvÃþA'Š=tÈôÜ¥ŒŽk°<„Vh…‡Ð`$e0ýxÔ"ù+Úk©—Ë x›Žé@lÇAŽ€)Óµª÷ Öõ¾[ƒ£¬ê}hÿ6:ãxä„xùØMU +¤ˆóÍP U#ø»3.ÒáïSÕöq+ë÷ÕÔV¶ˆp ±Ô˜õQn­y�/냧hÃyAša¤yÛ€…‘Ø/é ø¤æÝ-Dˆ_�ÿ%å*vÀ- D^#H#½S¢—®®?,28¶ä˜…¨¨»å0vJQVõcd(Ó�ö¨êäùr͉ö/ý`õ²Ø¹�e…‹tbèØóy¢šéy�j ÛÀj$ÒxœÎ_Ù‹ª_ 19rUmÂ~qme“VUiKZVZq�”Ÿ nÀþ˜ƒœ)?t‘øyéШù+´R¿ç›Ó%ü²Æ%¹¡CÆÑÁôåGá0í§ptOÍ^²œGEŸ”¤U‹¦U #\�£p²ºq‹TXg )bw$QùšpnN´ªk±?¦=XÞ.<’·¡½¦,2Äd0e6ż1œ‰¯|¬ÅSÜîBا…õeÇÖX—ù¡ãÇ»Sg:ð—8A‹c[—jyÔÐ4.«ÑÜRYWÝÔ´c?´‡,:ÀFTô ƒUT«n¸:ã(æJÁW…»ò8tÓ@kB}ØG!û#r'¯É›Sœ¿å@„{_BCdÎ"ófsF%�=�S¥ýš/‡‚$q;˜ $qcqXîjXt4«+6T$7…5®o!Â5«áËx¦zC †�×R[3J2` �0Äj©‚O„mebdAåNR]ʶE‡ + 58ÐC«¢Ç}ðeôQÜD%n•í4­aõAAaaAAõa­­õõ­"mîó§1MUa6Hè!)º?w‘Fð´ ›eõÕ©� Q°=-=‰PsÏϬa³1m +�x‡ö¶NÃ!#‘x ÅÚìÇÐ+áõ c, šàÔ ½ŽéšÈa «Â9–Ãò IÑ"a:Á4IÙm’ý5ñhø}ÄSƒl²…7ÑÈõžÔKÇ�´ ÎÂY@%œ´‘ÔK¾ñ�¯Aá[…”#*=HØ%)äo\¤<�„h�.lqInÞ·@@ò6º[@Ç–ÀÓŽôí0mßN^÷Ž|€D�Ôκ«€>t.@=Ùäĵt?ZºŒ ±I‰9¹ZÈÊË'¨@;ê C «¢S Mø/IgUw!§“°¯$\“ÕØOsB·”Ÿµ.T‰¸=$^¸H=p¡Žš3=—f$k¿¡ûx·ÛqWÅ¯Žœ¹¦U¡ÖKXØ«ZCp‚¤ì^‹û4:.ŽŠQcé< tÖŸâ~* š¦•ð Ž›¶-h„¸ q‡ Úwu$¬CÃï +[ˆ @Ï·”Ðu«�UU‚ôD$�CŽr]�œP'SÉwð�>hôGÂâ÷7.%€ŒM(¦þ¡@µ$ eQq«ý³ƒ•ñSDZõTETúÒxy¨¤�¯Ëƒ5mŠÌŒâc{åû�i¶:š2¶J¨… +X}Òö +ú)gÝÀé=ìŽèb(†R(´Vœˆ2›[’�wˆ â¶øó~Fõ7èCUÈÍØè"Í“=yáõµ…{¶WzzƒUYX¡ø ¹óߘ Ú`¯UšdÁª°‰JöWÊ�©Á�Þ�ôuú†ÏPú +íwÇßÂI·;ÑI¤ý‹4ã�2T  s[„#ðqéÁòC-•íÐ-›v‡U†Ã" *¼÷b‘×!‡ÁÈ õ¿½õ¤Ð]K›ÝEX²lc`Â=oK(Œ‡÷WDØÔ™a…Ë,zë,úíöów'¼ý¼èÿç$«’?/Žï$)\û˜»�ÄoÈ 3­€P˜k-DÇï…£°_OèÔž…ÔO^ñ€Ä†½ B`„Yˆîß<˜ºÒGÿë4¦ÿ®`s7eoÝ {!»0wA_y1úö,~at“|ŸÍ-5gÕX*²*a$Ÿß)È!ƒk�n¾É¥ âBI&Þㄎ?\/=Çþ_€¬¤‹%l•RD“ú1r˜ƒý…›rÆhðŸûÔ]œ +‹×Å&hgÿ°¨¶ÇüÂþóÙÖ°Ã[›�àˆ_¿G­–öw¡ƒý–Ì·€VœÔƒÊ †ñPn6—”áfSóñÜÝ@.ŸžOÕ½-Éw{3%ȇ°ÍEòïÄ _ü)+'[à«Üÿii#ƒEˆÛë>*ú²ȘØöÇÀC´=¿«¼´lWy~Zûw�àð®§ñ‚m ‰\¨�?9¹u'Ál~_ýÑý§UÔüˆJOuVùI±yåS"ǘÖ?'2H�ªÍH¥<ͤV½Àáw{ǰq3gÀ0™Ó,ÙU%POêbö„GE&†,•V�¯Ã'ç÷�!!²y%–^~»šd§&…ÍZø¢³RŽF{MÉØ*&A¦)#eã܀ĥ@¨гí4  j´õPj,6&m2ÅÃ6òÌaÝ¢$w�9�ò”ÐWî�ÂÑø—HòD†?Q§î¶Þ¤bMë3c€Œ´%UО©×‚ÑhÈ4’!´€rXwÚ–gdƒ!8k“™èÎò•ËÀÛ{WM¢‹†`Qï"'#UX@wЫ§/›—ü óy¥ä1îxLwüûºãc6§8;ÿ¬�zIþg«úBÇI¶ë˜Ø.Ü“¯âJ  râMŸrB‡Ö°« „O¡õ£ó¿î~ �áUÔ5;LÏl¾óÄg¤Af¦~+Y±’]Ð6§ è(˜>†ÀœºÀʸöåÓQs'±Ô¸;ž×wnÞ»!`£ÿk0訊4žY9qÏ<Çœ'ž£²²òóH[{iù=ƒ ÿožG¶ó©%ìUä^±Ã ä��»Ï !à +uô�ÿ1„ ù7—.ö}Û¸÷¤(¸Þaz ïv3îg±þ +m7Èd^E+,‡±K VÚ#s�”òl¹[Ó²öÈäá” ¦¬è1U÷%íú“‡íB^¢Ž�<Ú}U°WÌ�È3mÖ§%B" ªO¬>P[Ù,ªNôÛî6~­AætRv§ÈÝšÖ5‡'‹a° C·>¸~!Ä¡*úZ(í«õ|~ž“�ž*C® ]þ¶;÷…0ì%êÔÉ#ÿ]v™˜Ù™¹™/†A¯4kŒ¦ ›a $çÅ—¥’ÁtÝCþ»K ?ˆ5°ÛP´ý™ÃÁ%O¥@¸.ç"%óA`ÌNÙEèd\‹.�lIQAÞe ¿Á �PÞì*°óÓ]@‡ƒÈ +÷þ$6t|šˆÀî¯ÊÏ­(!�TͤîJ#Ù–)¢Ž?�uÛœÄ +3šˆ +K{Ŭ·¿’ §²ûü^ƒèÔÐåb�ï³KžÎá2�Nø¡–zš5@©‹#VÌ·i¾­3�ï¢w ¾Ml÷«_š?FUPa¼¼�kÔ¤TIBg¡C>Õý²†q±@=s¶dÇgg˜ +‰XáQÍ“€-üª¸8;«(÷&”ÁÉ\R\b|RÜHÚg:tñ; ¹»¤œKbG-Gó¤‚Ë•gë› zã,¶°² ¾×aôèÉJ´Ôh>?³ p]XÐê}¡‹µPQj±¤QÅœÅñI† £ dkÑÖü��n¡VTé[±ËŠËÕGQÄùè솮Â#¹ +ƒ5èæq�:Šq°‚§�r�«lÍÛ¹G:iýÊà ±*–òÚŒ¤ °ž„WE56î©n8ü™íÎ}sÍaRÁ[ÍþÒ”¯b®AíOßà@­ðˆºfi<`š‡¸64¦íÚT × Œ óI锸¦zjUA€Îr‚¤>ƒîè�¢NîÉ%­ÑqÆ„mïlIצÂ& Ô““�·©#B'rß]�àAþµ¿ÑÁÔÑkÞ˜÷ŽnÞSÛ´û˜ǃwmÎÞ¿§¡È +· m&LÿЙ~3 ¤ÁlJ*˜ �$ÉÓxU ´â¨Ž+V|£s•U]{k*G·ãTfÝò»%tUʧäÁšªäú@q3èŒ+Èð@Ÿ´#¸rPwX4ü`UŪÚX"üª� +3|ñDxt6g/oŠH1úÆÃ\²ôÔTÔ¡ß�³WD8�öÙ¬ƒ ?zF‚MÏ2ÌDøµrež¾Ê 0{gn~[ÌǦ½€îpê\)ºnó®»*³ŠÌÄ”aÚ]šT-V—–ïÑÒˆQš0kœ(<Ð�ƒËGŽÀå;w`Ö +­p÷²=Žšµ!Pê°¼­íÜgP"¢=Wƒ,ÌÓªP±b©¤FO€'qåÑSxÔmÀùøiÂeúRddÊ/žƒëäÇñ_Ó b�ÿsž„p8ñ»;µÔojÞ˜7B¤>XŠs¸Î²I�ZáÑ>úµ&hê.Ò¹xs ÁÁ R AOT³1òð“ÞᜤìÐÛ;¤ù'Ó±t&wù.’¸•Fª€å°< ÔBžŸ~…Ž~[ûxãÏÝ£JŽ|Jùa'äßÑYù›ÕE¢Œ|‰näã@úhBÓ{ªiº\Íê÷ê{u3ÚvÄ9â23£Œ1FD‰¶ýïr¡ŽC³‘HÑ|$›“²"-™fØMdÉÌãÞž‡lAÂŽŒ"¨€ü�Ùkej°Åkk2­–{Ð Ípߦµ* ×Kòo’úzÉi'mXïÎÃMEº9YL�m�™œNRÇù0^ß³äSÝ™Ô/á{8mAæ³K/Ý.:6ü3ð`Ên*Xͦ* Õæ¬j­p#žÜ®ÛÀdJK'³ßcç›U6Í¢^t8 ¦ÁèE‡c–ßE��תèd:”²š¦jrŒ9 Fî›ói0ößø÷Ôáà²�q Ú¡rçN³r h«% ’!xMR2¡>Ô;–Î…Á@�ë¨�ôÆ%Êÿ0«H~¡¥¨wcC‡@‹ÐùC´Ó};yŸË‰�[� ‡ 0•nB5í�útÙR:†ÚQ%Ù¼932@_ḣRh9TVŠ>è]…sá1QÑTôíPã'J¼Š¾šúÉ^õß9øgË +endstream +endobj +252 0 obj +<> +stream +xœûÿ +~6Ì ð +endstream +endobj +253 0 obj +<> +stream +xœm•Ënâ@E÷þŠš…¥d‘¡_¶“!ˆ%y(D3kbŒ¥Ð¶üXð÷£î[�h4 ‚nW¹ëž*SI¼no–uûÁ7ö§¢7Ú©¯øfõ´ë’4]·Õtd?>3×\Ÿ£Ã=u}[ <Òj³ÞøfLÒtã«Ï©æsÎÿRøÐø¯„PƒVÓ0¶Ç$Mß›ñ“ïé +=Ѧf?6ã‰Ôu’¦¿¸šÖß“NÒôÑ׫öÌ ÉLjÐìµo«-�´o|ÝK%úum¨nªQTü[w]|x{F>nü¾%‹¬zê$“ˆhöƇfû]Ec×Tó‘—¾æ¾ñº:›ýÜN]÷ÉÁ$©xʾŽß³ÿ¼;2Íør*”¤¿ŽÞO˳ßOm}«¶æ¡ÛUÜïü�“¹RJ-h^–e¹ÿ‰9ûØWv}L× š+•»ET*ƒ²QÊ!v•AP9Ô#T•QP·ˆåPwP%Ô Ô”xY!ój�˜Ô{\ÐÜ(-™eŒYÜ¢C”²¨®ÁgQ]ƒÏ¬¡Àgq§Ÿ»_&·Ÿ†_g|…T>©¾Ôà³K(á[A ŸT|JR|™|9h ø +LÅ€Ï>@�/Ï/S3`4˜“FtÑc~™€g.·�ÓÁ¡g�Žp:©Nƒþp‰�3CG 8�Ô§§•9"Ó‚ÓÀ‹g�NZpfpfÁèÀhÁèð¾ÙÀhÂ�¢*¾úƒéY0Z8·`Ì$F#7�Ñ�ßÊ,Å�0bBVñ–YaDÌ�Ñámqò[ ~Ð'óD'œ¨âä}Eï8-Èfiå^pfpîdŽè« ŒF߉™#ˆ38w`t˸Xdƒ„6ée§USß³ã"� ,l«Æóe#wmžŠŸ¸ÊÏÿ‚z)ÿ¦~™® +endstream +endobj +254 0 obj +<> +stream +xœ}zwtÇ÷ïȲ´‹,D À® ½— @0¡w½cŒ� ÂÝØcË]Ò•ä^qÁEË0˜¡) :I @€Z SgÍî;k¾ß÷~ç½sžÿŸ]ÍÎܹwæÞÏýÜQWW¢P(>šî1fÚ �ý¾õY®÷ +‘ß�—:H¡… uRnDøÐ¶à:²ôw«;ª­]ëT�QXZÉí“Ö�Alñ©üp¥EWùßÏ-º¥ Q5Ñ(„Ñ«WúLZåæÕsL`P”ÞÇ7¬—Çà�ƒ†õ>~aaA¡_ Ñu@xÿÀ�ÕôþÞ>¡>¡Véûùz÷÷ [§ï2>0 l\¤·OP˜`€‡ÛXÿаÿ•áMOÿç}ϱãzÉ3{­Zå³ÊÃ?Àc¶�wÓC<}=&LŸÛO ¿Çl�©æñðõ×ûx„ùy…yx®ó õˆðóóp óñXõ?çôm’ß70 ,´?!²ž¦HÆ6 �tá¥Ò˜B�“^ªÜ\ç¶h–Þ Z4w¸•Z¬«Õ’aµ¶hq±yE�-Ýšn³ÙÒZ´T!„L“Mׯ`‘MÕ‰ò•l‰tw2MžàSrHÑÛÅ×å†ë×]_¨¨Î¨Çªwr››uhÖ§s›äö›Û“æûZx·¸Õ2 UÈG#Z“ÖúÖe­ïº/Ó*µóÚ|Úf·®�îgÝßmgµ}ýñÎv½Û�jïÑþÎ'_v¨èèÚq~§N�¼;]Æ WÅîâZ�):Ïî¼õÓ¬._uíØõ^7}÷fÝOõ˜Úã—ž#{íÕ½×—½NöîÛûdŸ×}Ëá°4é°âðaê<¬<ÜVê*Õ4vUnܨ“&Qgã$NÓßPjpHíKiZ„{Í-ºù¢ö5taïY‹…Ÿ”Êi£�Š9Áæ0¨¿�ËÙ#J’™Kd ês¹#q¾" ãÖìY¶e1ð¬M_F˜›ˆ¿ð’}± ò$!W‚öPF©Î‚ BË×쎮…»`·ß²¯ôÀášÃpêÖU,âY"—¾|Â(à5Ì+ÎNõ[¨g™¢ò6�?§”ÚQN·vÀÈøPðƒÐ¼ð"¯Çà&_@ws›­¶BÊMþƒ©™æ Ö’ oúSŽº}O[Ò�éñb"¤¤¤Äò¬ýYWŸÇÚz‹F—ÁeÒv¿Õì‘gËŒ+“>+qß~hqµÙCi¢IcuŒã6™RâbMé9ÉO™bØÚÕ«XYY�¤¿ôñù£x$í85ÅÇ1û£yí=$£¶ÄÇgœHº¬ ˆç¾ð„Ù0Ñçö,ÿÍA•ˆwÎNA¼�k.Ä J7ö#¾ã€G|»jbã�eH”~ùHZ+R‘CÒOÛ�(É�lA{1�¸dvD|÷X‰ÄEñµî]æj$͵D¼3x!’–¾/ŸÛŠÄcY€¤\Ï$$c®Áy8à€Sp`MÅŠ|Ä{õ­�ð +´zŽD=p•W9¯}´¦xÝv8Îí—iø*cË6Ú+�(÷{Ú�pœÀ§§™£EM#IU•A;¿t¿újÜ9í/ÛÛ:¸Ÿ +‘�‰žHºîsŠ´†CÒ7ÅÓ€Déœ*€C¥­£9Ðè¦B¼Ñ¨.@DåÛc‚ž ƒ¶UÀûÁBc(ðO¤S:mžcK©£&¨(88xƒ_HA`­¨a+ËéÌS·Ê(”JÝ·�ømf]þÛŽ£ËOh¤qÒBÝjXÈk_‚Kü7/�^0õ +¶¬-äµ6„Ä�æîÐgyí?NÄÝG¢ŒŠA|>:ñÊ�/ñO–ÊOº;�v@’4ÕÉü=N$Ë«‘Œóš+ÀîMް²‡†YF?C­ý{‹>رK„ÂŒÂìûÆm›¾ƒ‡pùÜ€›vÙ‘´nü§éB×!ùøÏnHºý½Ò Ý ÀÇãa#¿1?6¿$;³€ÄýØçˆ/bŸ!FžEüÝà.°�Ø`,HŽX³!6äE"@|:É”ÞH´/áH†½dK~~qî6@2ye$ q+2"Ö¶ú/×÷àµ÷œÔ¥ÑM·xú¦4bï)î¨Ú›ÉS^ýý³„¯EMÙ¾Ž˜rwêr‘ú\Ôî—–Òcºú%»£aÉÂÐ9<¼Ri¯±ÎÐç�êg â³�ñ·YDd%œ—Á"ø -Ñ¥›+³kjÖT®¦€÷üÈYkWF}«³#Ü©âõ»¤ý£µËQñ½k/’Å�ØôGúº– ^yÞËÜNò,�C¼ý•³ñý Ï‚ž …om+ +Æcdµ qqmH4Oþþ<Åà‘ $$š†F$¤‘ôšó™H£¹¡Û"þ<‚ ÖüH–0•À&qˆ¿(*3ß½_tYÐs10ÊËa�1Lžá×ÔÔïD©˜ÛoȘØäÞnÒ®9Àê- Ú÷ÉÒ‰«k/$íµC€×ü"u­VH¾ÕJÉרëL¿ÿ”P!¾;èDl8DÆz"¾K‘á]@|³6‰"p)bc–I³´ržµ—x⛂KH>Ú€øØgÅ)Î[–(~2À.øÁV¼žÓ!²)Áˆ÷êRMOY•Eü“&Eɳһ%HÚºŽø´“å˜î+åï ÍMPGm[åïo«Î#>˜ü ‘5»„øxÃï" 6¶¾‰„܈Cd‰QHWŽ#¾½¯àëYí#Z B¢x¡@¢Úø yê@¢Z3�¨†tã‘´tñï¶ÕHÚ4\Fü£™Cpp9€dLGƒIë¿ à€rk�…×s+ñžÂñ¯½žˆ¯Þ;ÿœìäY+öDÖ\à'ˆÒµ^ˆ¯Ó ¾ïqÕ$k.Å__+G¢ðo@|·¥uÇkèKšUª Y®o£KßG«5ð;}ý¢Þá~ø]þ0Ø®}% kk+® ø5@ÌиDDöp%â»Îâ¿íŠÙ-Þx6~:©BR^üIñèb$^^nH>wÞ$Ñï “C…nY1’è÷-�|RºÉ@Å+��j¢ûkÇã»T ìãás�µgÍFyß  »H§ŸTäÐbe�®£Å'Y±Z#�ù}{„â˜=Ý~æ�ò^ÃP]…:u­è2àé'jX�ˆc7 ¾+9‡H&#¾ZñÏÚ³*ÄãµNDÇsOÄçÓ=“Ý ®jtòˆçÒˆñNY†xwa/Ä+¯"iÝó(’nWG €Äßc:’OÏ­C’~ù’eƒ3‘$·¸Ï¿¤=*Ä…“«ñß½s!)±þ_OÄ¿WË'ü#'¢3Æ ˆø‰'o¶p–ítÈÚ¦®OèÔ2Úö–ûá§K«hä}íÚNRéè|®2~[ÊVàéÇgg¥™ÒÄxX°v �¥Ž À'™RâEv�‹IMÎ2 Õ’–™‘S{òO¨‚ªˆÂ5žika|·xõêÐððhà™|^™3ÒLHÔw €ÄU4¯}k¯(¨·…—…Çx�ÿ�¹Ò¶ô£o(O›ù·‹0V†ðšjpÐZ;=S­ ïÒÃ/•R7zQG[¼@2û�ÉòfžÔ�i.1¥ÈÆ›  ¯ÕÉC ØXÃyÅ¿6éÕ5pÆvNÀãnà~Ü×Ñ;Eš|—;h×±t«º:×V-÷<8¸ó/:*ƒ×°–MØCA+h–nd½|4¿¹�ÄM5ñ}f$ʆɞï$š•$­.OE·õ@¢�_‡„<¿Ã;¸`Xbô_ð·†Ënï ùøöD|8ÉÇnˆwÛU#éµ®ñ̺R$=ë–#ž©[ޤ×-‚xæá—ÍRÍ› æ„DÄ{³ß#><ƒøËvÄÇ_Æ/3ÉÞœ¸¯&HH0AÒ#ó%—T‚¤£ª% qÿ¢� øª±±�!ùØó”:{÷’ÛO~DBÏ‘(šmCB\ÛÈÑŸMÛ„Äeb6â«ëW�¸-˜H>ú´�´ðx‚D=õ$­|×#Ñ@’Ö{?â/Þ~ÀZª�(a#"›´‰K·Ä·Û‡ÉŽûŸù<â¿%~ˆ÷;]FlˆÙ�H�ô\%·•Á.Øm,•£Ô·€Xߟ"qéR‰øðR3$âÍEˆ¿<|�dX† þ:Œd¨ÍñÊçÓ‘ ¹%ñמ¨�|ñƒɘÁIÿ¯ 2Ä$56ÞÁE™×˜ÖÀð±†ÉúG¢™ý1".œ‰Dóúâk×€ø4ê¡|ªãœˆ»÷µF,®<'ï9®S¨QÒQÑ!¾iN�´Ûo@âþš i>Á°_–:¦ƒ +[B¬¼>�ÛHZ�1!²'w�4;�ø¨�O{7ªTH\n}„(½ø‰²s=bC˳¹�HÔÑ#q9ç@âšð1’æƒçñ´ýK…¤Ù¾�HÚuêŠD7q’nwož”§�4›×A4LµÅË!}·l¤· Þqi‰øJÕñÏw/ù.,O¥¡S›v³¡Ô�º\¢Þ—éÊKm:joJíè)ÛÄ!^w�o@|˪õê<¸f+…mpÊX¼c·Ð�¶K¤3¹Î�¾xоf´Àâ9oCÊú^²Á>øÑX& µ "Mæ^ÌÛ1LKVÌŠ;»¸úð„¥^ÓxxÙ”Y¨®¤Ç/Yç·Ñ¸T¦NÚŠá;8Þ4%7)öˉÄã³g. ‡Ë×~%~àªì´»o¿Mç?ÚT¦•hšAGÝwQuaz²-^L“É”9cÕÒo`& ; +´/Ü,:¸³®´´,·öÃÞM¥áü*SB DóA…Uö⢪ó#v�fºÁLÍܦ¸ÅÜhGA΂_ÓÀ׊?_+éI£ÛZPºm[yù6�ýîúÿ¼kÊ�M€WyN{‘Ž»¦[ža’áe,±yƒ7,3†È«;ŸcÛ%JÛ¸ïí³›àå.Ú5G¥éWë�\«×îu§ŠKÔ÷‚¶¯TÝ–u5À}ÕúÅÞ^€gí#‘L8ê‰dœ§S¤K¹“IÙ3…‡Z[H{ä»§Z˜µâ’1Á$Cl$Ã~v"ñúÜS Ó¹ÚÈÌ¥‚¶¯Ü½cS÷·ª•™±§„lµ¦?›ç }ˤvŽh»û«K´à¶öŸ­RWÝ¥Ìä%bãÎ;Æ<¹)ïûÍ–EpÍX$/d¢ˆt,W°ú¨ÿ1�‡�¬ó1 Yø¼9›æµ¨½I›!–}áùÑzÆ)¬‚… ógñpN¥ý‡u5¨hö‡ŽÆpÚ›åûöïü øÓ—ƳvˆëY›aˆ‡]ÿ™!Žß+)ż¬à— +:±LI]Ù\]îu$Ó¿;€$xÒ„½qgçún  ÏÓï‹ ?#+‹Oâ`DÀÌåKß77 ¾{å”bcsO0ñ)ÖÄLAÖyÖziH)õ«Ê�puŽßÖv§žRK½dæ�é ‰Àë󸦼¤ÔPK +l´°ïx3;c‡�§Uû¦ ù,„Å#éjUOÕ”<¦miÛžO™«ˆxÝOF?çzÆ/žÍÓ�]tˆ/¼Ä_º¤û ùÜD¥ N$nÛ=é~O$ngœPÈÓ0™%Š?€dÐÐ`$ã7M@2ãT*’O_#™çÞÜ› `¹ÉsåÒ°àµaËeÞ«%v[ +w(Jn*¥öô�®+Ke­V™­f¤òùy9ß ²»cLðþ“B1äûÉÞI¹Lµn\Є) QYñYå¶‚ÍPÊW‡æDm Ž[ãµkÕ1á Ô/?ÁÓ1ÒUÑw»ËwÉÛ Á¼Ôka¹-RöDµP¤�ÑËæbžëéÜÿÿIŠlTê1ò’çXÄ«gfâ³UA|bZJZΕ”ßfúu®_TPppaÐNIëVž€„¯w¦e¦óÈ ™¬êøp{©û«ótÚÃIçµ·¶¶up²­u"½>Âq�ª8êBÝŽü�dêj'’Ïó<—Ï^Y\)@–uç~ âë²êï9ïßs"iÛÁs1ð“†zõ™’väZŽ¥Öeð�.ÜŠ ã‡#½Ü¶VÂ2c°¬í—2­ûDZÎØ”¾D`½™§šõåVdš. z.¸©3¿–Ê4X“{ù çÿ«Í/à�˜C±ÃN3ïÑL»²ÍPúuÛÝð‡í<„‹Æ­À;"9Ö,>³V”*¹[ÚÂ5í¹Þù¬?o‡ÞH!‚…ÛA•OæÖÒ>ÀoQ;S“ýÅÆJÎ'>�5"Õš]†ŠM2AÓJݩ빇w÷]üÀ 6гÒëDyõ_îlP‰±)Q1‡mލÜVPR¾Ëwû¼q_Îë,0N¦Y®qË 0Q=UÛT{à{Øc”ղɰ^=Ú”³S¤¿ÑP¶�c­Åî¼¼õòÏÂ�!s¸Ñë||íÃDxP(Ríâ`]èÔÎ<,´#M[º‰*¡ÁŽœ÷×ç´×¤L‡n%D¤­ÛÀ>¦SãósóÎØ·ëPIÓ^Œ5™õ ‡Å–5V^ŸÊ˜²â`Ä$Ç )Fÿu>kùqÓ@ +SiÉžU¯:^jZ"6nã| F™Ùª€ý¶=°ö+äáÆ&Z÷‰ðüçcϘ¨BÂÿú+â˼©Hš÷îƒøÏê:0ð±†øùKËÖZØ NS–ù–>å 5U +Úá>]d§½íV»RNƒuvZ¬fü:3k!,¦)ê�¹–�m¯¦�a×üö)_�4¼ñ€^uw³y¹ØXÁùšº zé7n/Í U›¸t ë<ÓªçÓ¶‹´ô G›;LŒe?0ÏAû•J=íŠí·iÁ%¥4—µÐI'Ã9ßÁfsø¾ÆÊÙsÀ:°^´åÈ»â%ؽsÛ.žMáüãQzµØê öí²*Æ%Øöˆ“h¶î[Ķ;Ç#ží‰¸«¯ñäO$Ëš— xå…$H¿É׆íHæg~‹äÛØ9ÂeØ1µ`&¯auMARA;ÞSÒÓ]¹^ío�j™ ³ašÙßÄ;ìÜu[ÎNh!ÐBU�1÷+!Ô¡®2�3ƒ*xn)µòúPîëÄx_X!°BÕj›á¦ ayÿžTÒAÔ¦úå*^|ŽÄ½Ò€¤CA¢[h@Ò>€”—!i9ž i±ß€øæ{‚Ä}‚!,jéjÄë� ˆWæ{"Þ¹k@<»Í9£çZÖ +˜L¨f­Nõ䑈�LòO·d!wÿôÀê²($ÍÆ»ÉCY_x#Z†øX }A|ºð?¢àA¢EâKZ"ÞħHÌøè—27Ǭy +yJI7|X„Ç?�ܺ¾"´,&/«¨,êÀêÚeާzVÿW¨µ¬ÕŒž¼~�ϲ¥«Ã¢â‹òòÊ˶To½ø|›Fí^Ý0°Òý˜=ø,=v^…öÚqºJ×™æ +)“5ÅjJ‡Th*™Y²òs‹ø-5ªïVœ +º H‚}Î’Ù_"YnQ’ PO§Üüz bc’ yáD\¿Á€¤sKÏ$+â…­IH>êƒøë‚�Húß�‡ÓpõìdpY;� Ÿ¾P>kŽD¡¹‰H{�(žwEl|?- 2 ÕjMåi$—ŸhMRñÝnÏ�ñD|?M㇜ƔÕ3L&Þ¬ö¯öÛÕmdfhÏxgOˆ Ÿˆdšó"âéß–#ùrÔ@Äg‡%Ò6�‰Hú.Ê@üwY3$=íˆç¿Û ˆŸ,DçÝŸ¯ÎÛƒXÛi(byÕ4à™ŸO -xí#s‘ +C† i&y 2ëi$.Ü�à æÄXQC? @íô—ä^¯ÜáÐé%5GGÑvô :ŽNeé—lŒÈF› °Vu­Âì/6äb’ ô·¶_¨—™²ªDé gÏIs¯Ôôës¬=›ÒcóbQúŸá;ܧwìJé:ÍÑ…¨7²áóf°ÎÀW¯‰·í¥ +nwfÖa›C½Ê4Á< fÁT‹¿•××p§²6­k9¿ä¸ÑB¨^*Rk·^¥JÚ­œòõ§+Üë¨rh=þÐóEŽhUHWuÕ‡/äî„8¹>‡1AcD"¾híD|{Á€øò™'"4¬1">ü»ñÝ…µˆoÚz#q˜ Ñ�bII5ñVón(“¹ÃÍ]cû°.#×ûˆËaô–µÇRÍ6°ï¨(­ÙVæï¶úóã©’’Wר›WgÝ`в§.à þ�ÏŽ÷éçöfî|,8¸ 0Òk`š-TUÿ¤¯ôÙ3Žuë6jà”{éXAúˆÛaÍþS(p¨ýM3Ìsa.Ìl2t>÷§-Î_llË1-uaÍhgÚêÅê!hêÿ»�ª¤¡Û”Rƒô‹®ñ·)%%^�Éiìs‰¢¿±ñ—¯�¸\ÊŠÏlü\j ߸™Ó[–=o3‹m+`,þ€|þIß³C”2¸jSª§ì 3Õ‰™±t$³ðt"+i¤jGÒžÞ‚ƒ³ÃAãwð´Ùåu3/Ó‹ª ·7 ­P{!­x¡”Ú…ëèx:€¢ÞÔ› ¤Ùx6ž d™7ó¦ƒØ :^´»vgmÑ\Cu÷ÿý—ê±–ËÚôï.×/&G(î4´Ñ2½ö [ ++?Ç£W¢×FŸ ÿÈÐØdH€äŒÄ4H…ô´œþ ³âœçÏíõ^ºNÐLúßu§WçéêsÊ6é�mËáPSm戱J^ö@|ÛΉ+n—ùœ;Hz�9<ý�òÖ\ÆœÉȾ‚‰xå®P9)Ƙ” › ”7"!.—¼‘ô{7 ¼°È¾geÕRa¬Ž +__éS0 ø®]§YKX]å–Ìÿ-}ÇMÈdR¬œ{]¥¾ì:çkœ$ü.eé˜+ó§÷àÖ�SBìL.Ý´>9zCXAl^Š)ÁœØÄ'omhUá^w8|?-ß~D{‘ž¦ïu?Tœ?7ùºÙmø7ýxÆw{8¿eSBŠŠµ�’4‚ø/¯NÛ<£ŠË´¥ßmØ¿v;Vî¿ÅË·nÖͪUõÿ)"Žð'Îì»,h¯ýòó‚oD˜½löœ ~Ô,íÞO¥ý±:¬ÄüøQ_/9ôë àÜzhÿμÊB^SßàQ­ t�RúSº­cÓ7°¹R†*±Ø¸å/ ïàÖ˜g™AL´ùË{è,”˜r×ðÔðN¥²Å§'çC.¤Ùl™<�’êU¹Õ;+OȺŠ�iÆpˆ€™6?ù«C暀?^âֿ�ŽPÐæ{”OX˜Ž>~;\…Äõ§$-ÛôA¢2Ië'¿FfDf 6üTƒø¬MD6d6â‹'¿òìñûáªä˜¤¨âÄâÄô¢´<^>at¡CZ¡ R­²a¥C7Nf˜.|ŽÄeV=â«�g‘tÜñÏB>V!6n÷DÒ,ˉøj¶‰b­g$â+NNWwÄFIÎ gžéßU”Ÿ~Ã"Ÿ WÃaÛ^¡Nš*̼ƒ›^Y!’f WD’R¹…§ Fâîÿñ´±I·¼_ó¢Êõ§‰-yćú­ˆ¿uz.Sv±ˆ·o�âõêë�–ÃpŽÉ�åÑ\ W×R²‹*vQÂ[L*HN�ÍNóö„y•I×9´ó+÷ׯ&ž×þRȾÖYÍ¥±ÕÀ)9\”>çv†eþ÷–@ßhLP}>uò7ˆ5l âíHzï2 éÞÝI;‹Ië�‹‘´)4 éôô>aÊgH4§!>*w">ºjd•v”uÖ`@|êGByº ¡RWf_'hóü#C‚Ê‚«jJ¶Vˆš»áef=ZF�:Ü©ð'Ýñò‰]#M¤�tW +Ÿ…ø¿¹Çú ì¼¾Z}2÷?tv´qt�mýÉ"ÓÙ{Í»M2�=Ř¿M4Ó¬ó úR ×t n·oÖ2[,X,Óa +Xm›x푒δUJ1œ�ê#Ö“|®)-Î`LŽ]´ÂGð‡è2ÃÑøÚøÇñ[ø˜ãóvÍ/ä/Ñ¡:˜ë». ñ¼£ÚWF%ƒ±¦¤ ð3i©ÚRfÍ8 üy5í‡(Ý•Y˼ûrÕÿú�'¼†v wä®§I©»ÃýØKé‹ûk«´‡>m˜«“!T£÷>Ä÷߯G|[8 Qgæç�R�»öM¦|Ïg6ëÃF³oÙB:€ §óÄ?àÚ¶ªymtVÔÞ¥yÀ§¦YóE:‰Ûf-Ø%TU«™Æ¨šmoõµðúï¹K™±!â*C¢)�×~Ÿ°pꊡÀû±õ›éyꤋvœ©~g­r™›5Ìù�6°Zyí!k*¤mËÓV\¡É'hNB5=[JwW»Sá6ýñé˜z­$-£ º'%—NÂ5þaÿëìS�½Ö«/ÔÀZ±ñ4—²1>ÞøMzºRM#`Û¨ªðümø�‡›#n1uÏbi¥./'«T =Ôç~œ:rÄØ‰ÃEÖOÍ~r¥»é·Ü�F9}t?‘µSoL-5tËâ¤XEMj»©l˜ÒÐE×xž[�`!ó•›á’í gS4ˆæ¾J´¥|noZæ-¡ÀÁÆ«£ÁhLÚȳÀÆ“l­tXg7YC�g_ëóÕ׳“|ÄÆLnî¼Ø…²g·´4F³ÝÄ;¸Ås³�‹Ò>î¶ú&óýƒ­¶%d¤¤C:¤§Ú2ÿCz8èæˆ,ù�þ`Ò9íuI+gìk¨RýìöÞs‚öqTÂÖx^{3>ecóÚë•]˜Ä³ù®ì�ÿ;Ûýþd»ÚÇ ½[—,×aCŠ1óÄwVoDÔ?0¯½ž$Ÿ>eÿBÄC�—�ïÇZ,`."SÉÑê:÷Ÿ« åÿI÷ý7y´~'ÒkœÒ.ÇÏ +ô«RÒV®7£åâE¼'âÛD‚ÄÕW®©ôýØÉKç¸\cšAˆW¯ Zá˲ï–ó’¿ßB¢õ^�Ä­û§H¸Â|¾±€“Yµ‡r†'×Ý œˆI124Ýääõ\)<³Ùá4\7î^ã5ÒûjÅE»4µB)UÓ]…ÚlÜȲÁȧ4®àÖ'A¾yHRWù¶Á+$*î&޵àélzœ.¢gÙg b}Áû›DÖ² †KKd˜” B"æü€È¾IFdþ£¥ÃøÆOßÑá ¢#aû´¯m_-­�PУW”Ô)�Ó56cFNÈ踑¦ì]âÝ=¤U\^JªAˆÄ÷�5ˆ¸ì$â›´ÙˆÏK¿âÙ‰F_ÐÓb€ÏTþ¦ØÑÂz½ºNÙ>xqÈ׃ۥRW»{ÝýÉrÕWûBRHÃt]=†©€v8{ÌB»ÑÂØî_¸ŒÏ]›:–òLCM:íÛ.½º1Žiou¡¼xv,9ÊoäXVgï¹Â*X™aç3ÔUåeeKõ�";ÓÖÆ|ÚýFGüm¤ùlµŒóè'{hÿ=Šc´^qÉ™É<½¬¦çä-–Tkzš5�ÏçRÒ“Smü»–jCJRÄñlž+Äe$fù†–ê [Zjj:ŸÏ™Ò’S“m&‹ØàÙeu|Jb2xM=슆x&èìïâƒ9Í/áÕ }Šc/¥ð +¥ôy¶ŽvºK9ªÈ„ì¼\HŠ“Y¦éÂÚÏ–²^ԓΡÓi/:ŽÎ•¤KÃùmuª‚²üb«ÕfI…T°™­&« ²�õÖrM)&“Éü&0Ù̹1´åpêÆZSëñ5°<`¨®mc–¯*”®§QuÞu4*Â];ð횪‹K7¤Æ¥ øaÖ�ˆzÞ[�;üÀ—'¥'¥%g¤ðZÏw)fUl´)JÔzD˜r­³!ŬÚ¹~c¤×Bý”¸ÉüuIý‰à³ÓrR³ÓyM*8è÷úýòiŽ�~jWÒ×mWY'XšÒÁ&¢%Ÿûµ@N é¨ÌŒCâF+f"!Êf¼¿\t‚C:[Yx¨¢¨vŒõ¾‡zF<øŠ,ëîéžÔ'b¡�o–ÇX¹ ñææ}HÈŽˆù«&!Q4tçç²Tõê͉ׄj�ÔJx �ÔM‡¤`7AÅÍvNù•›—rIõ«Î<’ON$ ÞŠpAÒþa♫œààJà´± +vî&ˆó‡E›6-çÙüÆ'ª”Xcr,l’ƒ]ôb$-zNEd v$-¯Öñlˆldc‘Êœ’”’q–d«)ƒgÞ UbYtÆ|àcj;5„ƒpÜZcáõrQìÌ�GˆÿÞî�X_?ñÙÃWdû!!›g 6Ö D¢˜V‚ØèÃÓ/ T”FÇÖª¢Nز=��s¨7›o˜*áülÙ*KŒxTýñ鞈/»½@üGúC“Ý[‚„ì¹…ÈNßB¢Èè‚ÈS^Ã:„—ýH•RDµ¢ŽºÒ^w•uÔE—Ï¥Û ‹·_Sª_æ/¦¨‘¸>­C|Ó5Iç£}/ÞðC2avg™y5ë0’;Æ ™œO�x®&¢äËÕÆeöꦫMÜÚm[!ðú�œW¤ÉOlôáãWy"B³4ÄK›�ˆGß ˆµ#ddbüIŸ½sÙW#�,˜¼�×ü/€;]º +endstream +endobj +255 0 obj +<> +stream +xœûÿ +þ6Ò ö +endstream +endobj +256 0 obj +<> +stream +xœm•MOã0†ïùÞC$8°Ml'„*Ñ–H=ð!ŠvÏ%q»‘håãп²Ÿ) Õ½™×3óŒ­!þñ²½º¯Úwwe~&êÕ íÔ—îjõ¸ë¢8^·åttÍøä\åªst¸U]ß–ƒÕj³Þ4õÅñ¦)?¦Ê�=ÿ³,Ý¡n¾ ¾†ZMÃØ£8~«Çw«.ø BOjS¹f¬Ç“J.£8þåú¡n›[•FqüÐT«ö蛢™ÔP³—¾-·nTûº©z©¤Þ}Ý(ÕªªËQTø]w]8¼= £;nš}« ®jêÄ©”R³Ww¨‡±?©‹ÐØ¥ªÜžÈs_¹¾nêâÜì·àvêºç›TIøêš*ü�yø§ÝÑ©™~J•~}z;uNÌ~?¶ÕY¤´X¶•º]éú]spÑ]’$ÉBÝEQ,|Åâók޽ïË?»>ØÓ…ºK’y¶J£” *·(‹JQN‰åÄ$Ë<(}�ºÆ™£np> îqÞ –8 j…Ò¨5ç$ËJœYè:õH½FÁ—¯Pðiª§ðÍïQÂW „o޾% +¾9]§Âm*|R¾\bðårNø$'|Zú„o.YàË™„†/£O-÷Ç­hørºÖðeÌEÃgÈ©á3T×ðiÉ Ÿa.¾Lœðe’>Ë=hø´8á³Ðjø,ïE ´>Ÿ>rø,÷nà³¼3#|ä4ðYrá“,ðeR>Ë” |VbðYæiàˤ:|™œƒÏð– |†Yø´tŸåXø,³¶ÂÇ<-|†ê>M=ëùtf©g=ŸÎ„ÖÂg©nå}ŠSøDÉûän­ðILø˜®>Ø­ðAdá³Ë°dd›øuã·êç~+§¾wÍ–jXf~sÕ�ûÜÎ]ÛùSá'¬õ󯞋¿xBœx +endstream +endobj +257 0 obj +<> +stream +xœÝ| xTÕõïÚ¯sÎ<2™™Ìdò~2 1äAB€„@†@€ðÊ;„ðA ¤�?&-HxµFjS*1¡!¨ˆŠ©­–ªÛ¢¹6 Âds¿½Ïä>Úïþïýþßw&çÌ9û¬½Öo­½^û( 0Áj �:sé’¨«ÕªŽàÔ¢…³KÆó>ÀͰöüåEï~ÐúÙð@añ¬é…ÝÊ~3 É =‹‹gM×ê0Hî]ŠK–<9=¢'@rÔÌ/�9}÷‘Æ$ßßK¦?¶�Ý 9)Û jÁô’YŸt%~)õÎÍ K/ùÙ#?Èï/\4kaÖ›'T€AAj(ÔÃYù©EOC=@=¬Ç«·ÿÖÃ)8 XŽ«GgÑFôœ…½à…³°¾AFò&êk¡ +h4œ…*Ø-Ÿ¬"ÿ€2r .ÀøÊÈ?P&y ΢ �>�zØØ1 i€�pŠ4@9i (•Àóè%(‡zT +«p9Ôã1PïÒóð.¬‡õ°ž‡RxWr¶= —à0T@ lÇWa†×à4�}Ô7a®Å}qTÀi¨‚�°­…&XL�Ãg¬ 'ÂópvÀ ØÍšØv�kbMì:<áJ½âPcщÛ^t uÇ#á2B9Œ#��GÉÇh�¥ËÈU¨Â@¦Á\8ÇšT©±P¥¡åtšü-òáetª…«ŠC�AnA9ކӰ[J p�a#ÙHzŠ`7ì–«ô¿ŠÞ%·a-<�9B‘¨‚r:¶Ãˆ‡R(%0J¡œmÒ¡j!‰m"Ûp¹ŽJÇ}a7.BP…o»PJB/(‚pv ֡Ê@] ‹Y€^UF FÐ-Êz»ó z,ˆzkbtR·û¾FYÕ¨ƒ0ú ßò¨ú»wGÐP6ñ ;HÜÚAêŽýìÇn~–ÔmØè‚¨zäÊè#›7m`R·ac b·ø6pbttR·¼�òž˜õ sdîüi£fG=i}26ëI묬$ÀPÌ·Ñbö<P!òPä9ê�ÆÖb +)�›»ƒõbóÅæÔ[´Ím‹.¦à]LB½ŸómªåÖ7‹”§î^¦¡t +@7O�ÁB€ ¥Ò¶ÃˆNšý Ši(V`�ÃÚÒìmNë)WÒZšm®ÌÌÔ[ºÍ˜žÖ3Ön‹Í° Ø˜¸Sõó>þä‘#Ý_|tÿ>´×µ­Þüêoñò;{öM/üL̇¡��§ãh9X! Ò=a !•G¥Ö`Ù�N‘“á6»i°‹‚‚…[[šÓÒ¼B’+W®´4[¯Ù23SݶX[º³JO³Û¬86&õˆ‹�Qœ’´ìÈ‘ä…gÿñÏ·‹v ëë×=ñä“O¬[¿©õŒb¬;�¿Á¿à_ó3Ð�?~ôqÓÅ¿|¤óT~÷2µ+ÉSª'¤�§–´‹HnÛì¦!‚#osš¢¹�!Ô¶Yíéi�HÇE²E&Õ× †®~ñö¬�ÜúuëÖm çñ€ïš7��€ú '²¡^¸é�ýåbÓÇ ~ÖݽLci9˜ x0ªeòW¡.H­´GWD¯ìÒ`ß䇂h°Å¨˜FQÅÙïkKs£`Ж™ÙR¯´x—‚O[¦=ÓfÏLõ„§F¦F¥F§ÆÔ@ ªÁ5ÆÓžÀWMPMpMˆe2jDzWF¯6ÅfôèÙe$‹{j†€>Ð�pCßç~½bþö—Б#}^^ýÛwîüë[ôÄ–)'.:ZPqºo\Ntᬅ^KÞºfoáÔ×÷=þÄòž=êããÇŒIÛ¢ÛßZª±_At÷Y˜æOêÀ†NjuFÍdÀ«Ýâ°^Ìnôf7¦I±š[²›…ˆ©È팶9û §àÒ�mÃEhŸ2¥ìÜgçjyJd¿â'«Zk~6cËÞ³xZêçÓw-'„Až' 2V6)�uH©ôC¯W4øí'8ÌjT ?Ìnõé¾Ñfº¦¢¾¾û¾Å¿}Q¸\'Pëz:mß´™Â!ôÿ†Ä·aª +LUdÒ ˆÚMëE¯4,¦é�v§«±=í=0zDâY³níZÅÞ̳?ùŒg7ÿ½qù +zCØqÓÝËT¡åe�Ÿ[L®ÈÍ€U£+"2"7<"ÈhŠˆ¤N¨@'¨£Ây"¨ÒF+Ý ¶]Ã�¦ÈPF…*–|UqÄäuµ¶46{›¯ck37+¿qÍzãšÝ%—±Äßò•Í•©Ê¿c�S›Ó‰"�Ó¡ÄÆÄÅgD éŠRp2ÊèÑ3=-�¼;ªfìÊòG^ºqSócëæÎ>6nÅ7´¼gñÑÛ“öÒÌÃÉÉŽ64Ö²{åÞ£±± 3'®îŽ-‘[V=w Zb8€®¥å`ƒQžE5°‘jKƒá¤jTÐìÖ‹�z´hi¾øŽð=©·¬Èj‹‚(eK…T”nMµyÀƒX=¶Ñ0�¶Ž¶Ù'#]ˆ�ºèÚ>+ò÷×9’||íÀ¥=ÉòäþôNë:íãe«bºøb�W=MêQ((¦ááW¼ïè~Ö+üK*ºÇ¿âUOüðêo^áFŸ m?ûùî‹'ÉwOBWðç¨;°ÖÁŒÂbÉŠ…d‹EW½^Ô�Ÿ“¸� V: Pà #.US5&8W«ƒ“¤Ži(Ê%Ï(Ö�/˜5·4wxémzkMö8{’ÞZªM Ú,2W+#+4ãä€h§�<E_&I­+ñZïQ¼¶õ:cŸ÷/Ûj‰[Æý�w/Ó!2κ Ö TÚ¡Ò,âªÁî?�Ø�ý‚¤Ó÷©îZ*jÓRF�¸x_þ!‚>.®|ê©ÊMO=µéê·7¿¸zó&ùä£?6}üqÓ?ÚÍ?àãŸñ ( ‰…™,äzžN3²yòL˜`£ÁH6šŒ”QcT˜0eš¦ +Ÿl3r�9×È0ш'MšÙd4hzÖjR!åéš³[²m.Ý=Üë�U+;£Z5߇�™sÈß(¼u¥É@M‘‰Âq £Á,Ìj 1Ešã %à8– $¨±Z7s&îÉ2•L5]Ë6çiù†A¦¡æñZ�a‚i¢¹Ï!Et›k˜eZŠW°Ç´Ÿ™’ü�Á8’DÒ`iŒ4&âDÖ÷cÙÆ!Ɖƹx+6–ãUd9]EW°ŸWƒ&£É¶ôP$þ¡XŠ­;UóË=§êøíƒ/:H§y—áÜÖ²ñN .jÝ©¯ÁfzHq€ N{²4—Ac +S]ŠÂ .‚5—ªÌ\ +ÃS6Æ0!'a—QÑ%Š)Ê@È3[[š›Ól:ˆÍW\÷F8í+•úPÔ„åiª°¼1 +Ö´@Ä‚´ ܃õÔá"\†—2³�hZ0qÑ ¬„¨AZWϺª}HÚ‹eª½´¡$_�¨LTç‘9tŽ2G]NcË•åjØd˜�nCé‹T[lsºü)Œøg|ÆÆÅá-Gçù¤ÖA8w ÏÅ|<]C§�j/D ‡è@ÅðƒdO°VæFã.8©à:J†›�†Ã0£j±^̾ÒìÍ–.íŠÈ%RQ´¨G2¢mÑ(Ý‹}ˆJ¼ P ÿ EÖ×ÓiÞ”ª*’‹\r]â‡H‹â€.PäÉöwš·!Äê 7±¨h¦:Ô¡7 o:ë^q› FÖ%0Â�,; *¸¯ÑŸ¹;Ò›¬íäG¦®2ZÙ]¢äk¿™ÊD ï‹zÄék°/E�žù85…‹º•´x¾{q^e¿~›æ¾ø�gPåC/(�ôPeÃS[/}]½¤jѶ뗶TMØ|ë—›ƒC7ï¾U5^æƒ[øgø” ‚<&òkØ£ŠÂAˆwÚ’i'‰ @7½§wÎD)çø´J·õæzzEºCÍþZ¨ÉìOY�àºP¨‹}#ôMÿ:Û+î°à§?¢ …8cíB"�}­`¢‰4o¶,Î~ yчGªË@¯dÔŽH  ‘Dtià¦ñ“J<<~ÓÀ~ßí›·ÉãÙ4oßwý +6ÝÚ½94xó/om*¨Úréú¶EUKª¿¾´Uï%¼.jK�d/!Èl •þ†Jçÿ†Ð]Á`·2+JH§îFç^Bç^F§G¼3Ö–N¶mÐûZ/wÛUôö?¯ž-Ü‘\_�S|Í üؘ~†Í¿ä§'ŒÝ$Z\€‡Óó¼ø¿õˆNyÇ—:£3èù;)¼dôh�÷�| �¤Ë$ïéž°vÞüw„ž +>.9 v{¿ŽNHçÞLçÎêÔqeˆ pøúuë6n\·n=IÚ1ëÌÕ¾]¸#ùÈœ(Øoúø£Ö'ÇND½� ¢¬ c«¾»©÷føj÷õB†xâƒÍ¡ñb¯4TFVú“Ê. þ§ºž| >ó`Ån�ò€^@ùøkÔ› Ö¦kºÜ‹s€w”J}ñ½l“Ië׬ß\µaÕúúkÿ¾w쌚Ïlè¶½¤ñ‹/çoK©Ç™ç>üðܹ?Ä/y¹7,´.¹ÛžƒÚÊ)� ,¤" e�Ÿô´ŽíiZÆš@ƒHô¡j+T6Ø­F S`i~½maHwX½Â“é!©Eôï�Í©;:�:4ÙbQÕ•¿Ü½‰G‡o#ÌïÞùâm–Òznëºu[ö^þøÒßZ÷és it9Ù#û„¡3­Qp hL¬ ¹dÚ{„¢ô‰vFÐè;Ÿˆ6ïǹµ‚†¾¶i<00€Û íQäßo$‘®­½½r�ûÜ \êD¨\.w?¯×·âÉ›ü¼°É¢»¹´k"ü† EŽ ¢`��Ë–ÆT‘’å ÞkÇYÓw%€õú‚ÆûdñÃ{`?Ý£0® #ëMQ#ˆbÃæ+8¼^ÏÏóLYvBçø7d™â"<þ´Ny×Á+C¤¯ á•€x%‘h±àœÑèÚwý:/PUßy«$�Iü‚Ûh�:ô*4 ¯‚©f½¨z: [´0û ‚yÁõëŠãÖ_«*i@ÅÝË´;»Á�ì ~V¿—͇¬Õ†m¢lL3Cw%5DØ‚¯ø|ó‡ÊFÝT{ö¢ÝGìy˜ÆO¡þðžCkÇŸnl<]ðb~FBÚ†¢hGB¹¾þ>—¿Çß÷ô•¼À£t9Ý&ˆ÷8à9ªaϩČC(„i!FÅ,À•qÎwâëºÉJÙ†�¡?ðûø@tŒnákÅI-:ÎP…5�IX�WÃ�V+ õ"*ô2˜EÿJï)7§µ4§µÛ ŸgH_þ&ÊôžB™üMÖT{gUm-]ãóQtŒ\G6èêq*Õ† Pí¯€¿A%iæîj„5Õn•y�Þ;‘FáŽêi³ÆEÇÚ$z ȆÃÝ·ÏÜ…i…h<È�ñZ~~ï4 »sgKá[ùjþ8Fl lçá¸A öW¼B�b½¸µzß‘™nد„ßM°¶ÐXvÂàAO„¹™Â‚‚Cˆ+Ô­(,×j{Á¯Ú±�B5«#c„+ÆJº„[½�Þæ'ô|M€ÒòN[>*smö•+mbŒ[`ÔzõCºŸÕ²ÔéPT Beø%oÙQ”Q8hËê‡ßZ8ûÍé#ÓÄÂÞMµµµ§Qr¿Õ£VnÎðN÷´«˜vbIÿ¿·ÙãPvâá¿<}eïÊák^¹###reç +9_v¼TmC/à ´Ú½Í¶£k„Þ¸Š Í´tw¨™1©]­^Ñ€¾§q¥›n[UêkZéQJaQ;ˆ +©˜¨‰Zá¾VíÜÊŠKA¢—ÕEô²Z92¥joÉ3s?8Áoyç\œ·øÝâµeOÏÿòûd|ÛónŸìu�Î,Ž êþÁ+MŸ&%}˜?pcùÂ¥QÁ) 5oý¯x@p€°&0@O€RM…¥Òßk uWIô0J‡Ü¨Û‘õZ»™Úb¯’ÒÖGð¬Ö]gYS-RÛÚKê^øù‘Òî<�>zZ5ý½1ƒ$™nÖIJš÷�vFŸ&K[ÇáÍ­‹ðqï2AyPmëeáŠA +ÝÚ@…0�E‘œ¢,YLm‘K´/¥X[t +]Ì“ÎòDÖT{»‰%ê4> b×Käjf�Dé=«·Y¸Òœ�.ùð,>ï-dM·›jÅs¢WÒ‹]‡®0Ø“ÕNc…a¯_µYµ7¬:v›²ÃùbB`GpDœ5‚ÄD: ‘ Voc£·ù¢ЬÍíæ`½–™úºÕSÓû ›h[vó/oÌþãì¢7fì=thûÎ�»Ÿ~bbCñò?䄨Fÿæ3ï}×åLF�m›ß±wEÉâò®]_‹Šúø•r±¹)vmEÏ…5A„Á\Ooƒ¦£â&”07¥$W¡à$ÔYmpTûm0Qf 4(ÄHlf!Æà4jëî0F˜SÃuÝ yl¢Ž²é]—æ‹ÍöLñÛQ@¶µe#�+ –$#·m2„+í!ß¹`ÌÙ?Q>óõ³¨æ&Ržk}ÿÒÓ›«ŸÂ¯;J÷òb´ü¹É­YÓ_?ØzOl½öøk6Êøy™Žf×!²=ÑÁ!HBªÃî‰!¡Áfè�¦dDoØ(LØ·ùE‘Ù2"šØb3¢éèÏ.åWx#ò ð)ûG?X;õôéão ˜•ðg´³|ØT�JEPÉèynD>?ÇßãgxSd4zz/Ø @õùé(èë‰ †j£¡Ú¾Ui3Gh˜�%"�¥…u7@„=5ZO~¤µè®[Z‹ÜbÓ#�’¡@áò¤ % ôè×·ýjß×_þbíš­|(zíó[k×ny�ßäßñAøLë¥òM¿Øˆ‹x¿…+-ÜûÆ+åΚî $1޿Іۉd™W¬ÓØD—Óe @´Ç.vҀїÐïTw¥¯Z½ÙÍÂ-Š}µÔ€ äDH¦àd y½ŽOÙ˧¼Šú‘ûÁÃÙu½O�Œžòƒ½:Â\´-bGgD¨ ¡1þÑ‘]„¿Øl½ÖÖ³¾x-ÕóÇHA)X€’ÂR”5EK1¤SL9�ƒr°€)‡å(9jŽ–cÈ1æ˜FÁ(4 +�2Ž2M…©h*žjœjzžEÏâgɳôYö¬ò¬ú¬ö¬áY㳦pÀÈz€P¨´†Æ¦ãpÇÇÉqzœWŽ«Çµã†ãÆã¦A?ÆŒo*2•NeS•©êTmªALüc„ºLF“‘ÜÓÒ7»|ÞK”Ì�›óèòˆž½G�Êì=lÝ¦ŠŠM›+*6}ãÆ×_·´àk½F�îÕ{äp¼›¿ÏÏð·ùû(õD½Pj Œ¯á�óÇÐôs´ +m�>­�_ “(à)PèÉÔºv5!ˆº)VWrWtÙÙµ*ÂQ°UY¢#¬Té¢uc`RBX×( 5ÂåOÔTëEWv³+Í›Ýlõ^¹ÖRÞHk”añ�›ºs¶ù6ú�M&zñ6 r:e$áÒe“z½2Ò]Høîx›ÜôSñá?[ø×â²’‹…¨è̌³3ßzûÂñB4jϸ‡žýÞŸ®ÃùH²¤pòìóè—tá”ñ…wN $–œp¸_.FoGÖmûåQË—_²ˆ�ß%¦Pþ`äÉ�;ß3蹃Ƚ‡ÈÜ&ÎãЪñï)l0**‰`Ý (RõÌF&õÙbMf¢³EÛb7žÅ g϶~x–5µîÆ…·ñ›­™zl.»{™>ÒfßžCµ?©vnóßiæžJš=#Hfôû0mºMO³t:'×ïܱ~ýŽ�ë/|ÛÚzó[oë·ø*ÊG!üïüU^ÏÿŽ‚Q>_ÁW£Ÿ£ h=ZÍWK¹ÆÐåÒ­ótÓ0ÁªØ�A0F¹FÐ61ƒ&vÃ�ŠBSŒ +¤úé…†o× ­ÝWɽêûtÚkéÂ4£Á…‚ˆK 2Ä¡§%z¢LÒSëm°ø«þª¿‘ˆýòhŠE¶ØñÈ‚0¢Èÿ(¿¹ƒßx�5µjøÖíDïýŠÜþ3 ¸ @±&0 +½‘s² *T´X%‚@,2Y/Š´ÜWV\lNuGÛX†[¦yÈ‚²øKhôÛ¨§÷­ZZ6¼~¨ÌøDÝc%µ¸AÖé¢îÙЩ{^bM­âå2¡GÄOàzåuY£ƒx/†ØÒm8¨¦¦†Ì'y{gçݯë<Ï¥Ï�@}l@F´3=#Ú™�®/G×ñÜýû÷ï ¡üuº“-ô€…žî]»„¸ˆÅlíA¸ ̶ø.]º'fÄû)]Í $: Ä/ÙìˆN4'%gXÿÒìm´òìF«\T¢°²6^—›EêëÊcü|­î€ÕŽÕNEø–N=¢Žad_HÜÒ§ž½\Y”ÝI-«çÍ[³fÞ¼Õ•O¹×ŽyîÂ…çF?ÑåàÓ7ù%4Ù{ÎÏLÍ)Ïâ»ødôÊ>G¯ÙµkÍã»vñ–æ üæØ±oõÍÙÝÀ×ð#üU¾Âá\„>@•è ô¿ù©ˆ)¨™.'f…8�™¨?XhM°jLa`‰³ÊDï¢7ûbsš.o¤ÄÄÇÅßóþN KÈE—«5éÑ@ÓˆÙé£6å�üÅØŒÂ¡fç’Ƀ6óK}z¥itPŸœ—²{F2c¯¾¢VôÙšJ¹é-þüõœ>YY}ú�Ö×f[¾]Dæ®FW#«­ÆßRT›iuà6ëwLÄùŨJ +ˆt‹´Ã{¥£Yõ¹Žfª^Êc¹ÿ"^¦‰�Âz½Ñy+�|’³yĉ7Rküé«–KÜû ŠEŽ¡[ù¥5[·®ybÃvø5w<ÿ„ÿ£pÿö_ß𛨠=�V M‘­ó_{þù×~ÿ»—J¾‹Ä¾™Ìåý ׉üˆ◠ĤV3D6�ÙUüÍ],V¯WØ€,ᮈ³¶t½ÍkP4I ›]øž€>ŒþâÍ7Ï´®gáÞ/É»ÞôçùnTx¼-6ž‘±±Ú­¹õ}h·Âô g8ìÛoF�Òz¢-pܓ⊦kc¸Ê™K‹cqZO<?„'h†B¼‚-×Ê LU(XƒâY7%Q�Ó²H>¬ V&X�R NÐæ‘ä1ÕußÎòƳxÙW­Gñø¼SDäb¼½õWÞM¸ùùÖziÓxJý¥×ÚêŸ}"õÖÖç­?ïÕv¼³¡±- 4Àò¶|N-áᢸ³á®ƒ5èÕA§DÏC1œ‚(‡u°ÊQ-Â)ô4¡¹pJì÷¡B¨AWá¬Àš¡†C œ‚Cp m�Kð:l„r8 h ¡«èšPg`#¶Ãv¨€«pRàCØ(ß+Þ nQA¬ñFvŒ‡›ØŠƒ B¡*à5[`É9ã` +ìƒë¨Õ …‹ð¯ðÛÄC6�FªQ�FСt}ž~ÊžP¨²B¹®.U_Rÿ¦ ÑŠ´÷ �†n†¥†�ŒcOã4ã +ãncƒñSSœiŒéç¦zÓûæ®æ½æ÷Ì^¿¿,¿�°Œ±ìõ·øñ¿èËzÌ–m+¶í³kööáöö%vÐ/ 2à­€/©ŽJÇÛÎ4‰è(Üa(€Á +;Dç‘M@6`@å[ûODEÚ&Þ_×ÏDAƒïƒõ�“N×i§sAðwß¹aÀ}çÄ ß¹ ²P¶ïÜ/ -õ�[ Ø±@),„å°æÀl(†%]a&$@¤A*¤B:DÁ XQ� s` ,†%°fÁt(�nù°fB2DA˜ó! +Æ´ÓZ,¿Í‚Å0 ÁR˜…� F³`.L‡ñPQ0Ša:,€ÙrdL—ô£`,€(Xe0æÃ˜ QP¥PÓå½û錕T…P +  r¡JaŒ—ó/†9òº�,Ò¡×=Ï·=Ýöì½´‹äU]¢%>é…„K`!dAЍ5|ã—B$Ãb(…2X3a–|v‘”.À,Xƒ:Qk“¶ õï£,î Ũ0 æC),ƒ‰ùÿ$…NŒ?8³ŽÜtˆº‡çï[�’þ¿böÿ KŒú72Ïñ¡(t.® ÌÁ<ˆ‚R(ú·¼ÉFKz%’Z‡ ê´‹å½Y>¹fËYÊ‚?A§HÞ�Õ>›®aÝšÄý%P*9\ Ÿ_è³s}†R˜K|ŸÙ>Yfú�n£¹Drq¯�O‡™r\ ,ôQo£ Fë¼ë–4K®Ý‚c:YIŒÔœx¶P…ì¥0æÀtŸ|º ΄2(‘T¯KÚñ)‚90ßgÇ]Ûyì˜A¬wÁÿXæ³s1c&âÊBX¥Pe’Ïn +¥Bcs`”I~:pøñu�ÃL˜e’ŠŽÉ2iÅrÍ/ñ!#ô}¯Dmô;,|q;·eÃn�´#Î.ºîX¿‹¡X^ù!9ºµË™"ýN”¤¬¯�öª÷jÿ§¥nCNçV·3]Â{­®C¢e�’ÿh†¶ÕP$}柄º�èÔ„¥IJ%7‹%saÌ”ôô1�íx¾ÏK¶iHH.$˜Ó®�Å�%Wç8ßSÓa”JÏСƒÎ¾¨�ï{/]ae‹ïÛ¶Vþ èüœ�J¬m]SÂÏßkk:º'Ÿþú”u!t_"�þã?ÑÅX.ù-’^@ÐN¾©ŸzV`²¼�1»À\¬å6�&xvº¨ýŠÎ©À´MJ¡ÏÎV׿Ä,:^e0_~ë�H<+��í³B]ÞÙ0_JSì»¶¨“Òéœ,nŸã~|ÿ[™:û¸Â{,LHúÃü4'÷Îw?.?Ä£Žâ9“�äǽº®%ñWðWrݶ+‹Û-³mÝÜEfùü�à¸c¦eRªBù|ÌÄŘv¹ïBŒo‹º1�¬M_;Ãï‹3=6µñ*¬a~'M,…R˜óˆÍ‚Ç$κõN‡…°ÐÅÄêѦí‰Îú×yþé#ô(î‰ãb�bžŸ²]ºòáân™u/Â1?™¯ÄÜ£ÃÿÓ5+|ìüö˜Ý±êÚV”È ôµ'â’_î§(ž™ ó`º#(ëqQXÕ÷ó�ÿëÇ¥Ò3-E‹Ú‘yržQ0ÆÉyFÁ  ?Œ‘÷òa,DÁh£`<äÃ@ȃ�R/ýåq?F®Æ �/)Ž‚‡$-�Æè/iO„(I[dª#å·a�#a |6 +äy0VRc$í0†C¾œSÏ1GÂÁ@y>Xf£ú|#a”<Šñ#$/:§ã`T§YïåJPÛÎÙȃ10†øîö‡\È—ôÿbþAò|d;Ÿƒ|œö— Ê‚æx†ËoâêC0FÃ(+ñ”ú¸)ec|²äItMè €Q0&ʃaŒ“\ˆ™ÆùFŠïã¤-‹ó*¢sê|üÇ·ÏÛVÞÈûðm[Gmãþß¡Ój›û^ +<N:‡º'ùÑÕ}W<&ýÞB_\[ü½ÈÝ9{ìÈJ;çŸÝ:ùÚΙ€î…˱%÷�븪ûg=fuÔ<�s¸Š\mUr·û²ß¶ìC÷ÝzmÔ9û-”yºž .nÏJôøQÚž™ˆì_ÏÚªQ Šøro½·XΫK¦Ïõ}Zz~)Æé³-þ4*BÝ_! +^F‚ò2y.zIzÆ0]ŽcÅõ÷Uź ÿ¹Údùwø‹«‹e¹è‰°È'“}tµ×g˜ôîVÉ}Zï°>A-ë{y¨À`v'ÎE}§ç"¯sÿýµ‰÷<˜)’Gñìc�,³ð…�r_F)ö%äÏÝ?Á$_gýÞŸQ²3=Ã@é·L03Œ‡‡ ‰ÿ¢F� &Ø#áxFÃ0SÀ¦AäÂ8*;X`‡pèˆ tƒx˜ +Nè ÐzA +B<nè™�Ñ*$ʘĆ7�X˜Ý¥7í Áà‚dµlÁœ´Œy¾ã€#x5rÚ:™õCNØ9aµüPp (@þµƒ²És«üë;� ‹<÷;ôå`Öß�ü`%d7d‚4 È(éä( ,@�*Ï9†És*¯yË+È3‘ÎIëJâåä'·ÓÈwGÉ­•äÛ›•ì[N¾=AoÞ˜ÈnV’›«é�–8vc"¹á¡-qä_ߤ°Ý&ߤ�ÿÅÉuN¾N#×ä«m¤ùËÁ¬™“æú»ç=wé—ƒÉW ÙÛÈÕBòONþñ÷PöNþJ>çäÊ»M> &Ÿl#åä'ùØÉþÂÉÇNòÑ6òç?9ÙŸ9ùÓ&û““|¸’ü1‹4m2±¦,r‘“ ÙN>0’óœ¼Ïɹ'mì\y/�¼ËÉ;ÛÈÙ +7;ËÉÛœœYIÞâäMNÞàäôN?ÖÈÉ)NNrò:''6™Ø 9n& 8Ê8ùñÉìGÉVÓcGÝìØdrÌC�ºÉkœÙFê«ú³W9©«êÏên“Wvú±Ãœ¼\H’ß[ÈA;9ÀÉKÜÓJ~ÇÉ~N~k'µœ¼¸ÏÂ^L#û,ä…½6öBW²×F~ó|ûÍJò|ù5'{8yŽ“šgƒYM!yöWVöl0ù••üÒHvs²k§ÛÅÉN?²c{2ÛÁÉödR]ÕŸUo#Ûž9ʶqòÌÖÉ왣ä™ÕtëSn¶u2Ùê¡[8ù'O?åfO%O¹IU…›Uõ'›7™ØfÙd"•nVYH*ž´± +7yÒF6r²�“õœ<±ÎÆžàd��ü'k9yÜ–ËKÖp²ú1²êç+Ù*N~¾’¬Œ ?ã¤ÜBVp²Œ“¥œ”-1³2RV�Àó]b&KNÐÅv²ØCqò(' 9)]0–•n# Jº²cIIW2Ÿ“yid.'sÒHñm2û()âd'…œÌœÁfr2¬lF™ÎÉ4N¦r2e’‰M±�É…ä‘·ÈÓLìa™d"9)p� œŒçä¡Ð`öPÇÉXNÆpòàJ2š“Q2’“(‰�àdøQ2¬+šĆö"ùì,?ˆ É bC8<ÀÎ’AyAlÐQ’D°³�½È€\`'ê±Çc ¹ýýY®�äÖcðh�…õ÷'ýëÑ ��zrÌÌc!žz´Úc 9fË1“œzäñÒ~œôEI¬ïm’ÍIŸ®$‹“L[.Ë,$½»‡°ÞÃH/Nz&9XON2†‘©!¬Ç0’žÂÒ9I³å²4Nº'9X÷’BR’,%ˆ$YòQ’Ô-€%9HR=Óv³ÚX·ÒM°»�&>àf‰œ<`d¸IÎb œtå$ž“8âÌeî<ÒÅŸÄrãïÏb8‰ŽJbÑ+IT‰F"l¹,‚“pNÂBƒY'¡`e¡Á$„“`N‚8qæ2× èLb�¹Äé°2gqXIXY€ƒØm¹ÌΉ %1[.±úû3«�Xuìü-fæïOüuì,~Ff1‹Ž�ŸÙÀüŒÄ¯yS³�˜…mõ¢&NŒ†@fäÄH4+Q9QPS8aBp#· FI gV†’X ªG…ë6¡Äÿ~àš�ÿæO8üo[¬·ˆ +endstream +endobj +258 0 obj +<> +stream +xœ;ÁÁ +endstream +endobj +259 0 obj +<> +stream +xœmQ=kÃ0Ýõ+®ƒ RÛIéB ujð�âÐÎŽtv±$$yð¿/’夔’¸wïôÞÝѧSµxãꊋÕs +g´ª7 ù¾Ö„Ò�b}‡Ò9ò)k× �bäå®”ÂJKÉn=ljóå[!¯yo�ê¥án¸†Ù@ð%Gé„ �J?ÑX¡ä2Bé‡ä¹ê¼9K’¨ÉÉ(V¡ƒFHn¢\½.É–Às1 +7ëjŠ«Á:ìJÙ(X�,ÞëÈHÎØ +ë̳`l›1s4��-Ì&³¿’U¯õ ½IHŠ’‡7ñÍê!‰ ßÑØ%dè2hŒ$_{ŧ -2ÅÑêš¡©e‹d“¦iº…MQÅÖ+þÉǪkþkØÙ6ËåëK`GÜ×ùñÜ�²Þ”.L'¸ò„Äû˜µÒ¾*œ°ŸiÕ>:?”¢ÊW +endstream +endobj +260 0 obj +<> +stream +xœcd`aa`dd”ðÉLJ-*ÉÌ+-N-ÊLÓ JM/ÍI,ɹý�þ!ÓÍ#÷C–‡AŽ‹A¾»Bò°Ë<¯ý=EFBú×OVY†½ü² Œ\‚² ÿÿó(�„>ñ¨€¨W<ª ÌŒŒl|ÞŽ)ùI©ž)©y%™%•Îù•E™é% +–‘�¡‘®‘�‘‰BHFªÂY +EùY©É% +Ž¥%ùEÅz L Œ õÓ8Θ;ý»ÈÔu3VNeûÝ4�]Ž‹yÚÎnîõ\·¸oMâáý±O”¤¬‡‘Q¤§»»ä�Û4@Ä!!&FFßöÐî½?^îcìÞûCe/s7Ë�ŽŸ~:Ønÿ•ýn÷}Òw»ß“Xÿ°ýØ+ +býñ¾W}Ÿ–cý3�ýwÌ÷ý¢¿í¾Odýþ‚�¯`Ú.Æó?L™¿}Ÿ úýâwö3{VÖN”ü#õ[±©ª»zJ�ä©ßJ3'v­¬›)ùGû· è©]¤Øø¼»– +endstream +endobj +261 0 obj +<> +stream +xœû߀€ +endstream +endobj +262 0 obj +<> +stream +xœm’ÍnÂ0„ïyŠíÁh~Z„R �”-‚ª={¡–ˆmÙÎ�·¯ìMhUõ�Dßî83k›Ýí£'iŽ8šÜsØ£7­8Zok›1¶1¢mP‡WD‰²ïúXg„ÇëjSi2Æ*-.­Ä^óŸäÏJÿ¢¬[L“1ö®Â0 ¤LPIÔA…+ðaÆØ:¯Œ^@‘1ö¢åÚ41œÏòÎò�3â€NJK×9Á1úfŤ¡£ôMmÓâÃÕl*}20!•lm§È÷xV>¸+ R°!H> +stream +xœÍY p\ÕyþÎýïÙ]­,iwµ–ä‡ä]=,?ôòú…Œ�•-ÙÉ’,ù%bKÚ•%¬•ÖZɶ0;à€Ç%IJÃË1œŽ‰!JÌx ¸Ó2„¶P§Ž“R dFõÐÔiE¾îœsî>$ Ã$í¤ÚÁ{ï=ç|ÿ÷ÿþóß @2‚PÖ¶§Ïs¦ú•^؃íá�¡ÝKÊï4?€ììh¿÷‚Û h£€þlG°%P¼ïùÀú€eÁ–¤aö)`= ¿#Ô·Ïò,ûÀú)wWO[ ï¶ü`÷¡–}aÝJÿØ<Ý-¡àǹÖï¶2`ú_‡{"}x•¥ÙW, ÷õëŸY äÌôÏÙb–ÇN³£x šù¹Ìê°ûéËc…,�Í`y̆­ú4–‡w±Õœµ{õô:Ëc‹q­,Ë“£­Q$}Z1¨O£ÑŠÃ8AïÒrä3í˜ö®v ŽCÃ8�Ÿâ$žÀëÂV€ãx‹°Exš•²<|�•²fgåh¥wш×p'ð7 ì³ ¢ƒ�à-|ˆ÷p™�ð'pœ�ðþv3@¶eØâ¶æá2ëÁ61Æð&~­h+}�ÝŽs–víIí-}‡üìpYÛªíמćúv +XÜ8Žð$z é.¼KËõZ|Ž …ÐpŠ–ò£êà +˜ ïñíì,ùg8F•¸€ÿ`=nIe¥Öûùe\@pŸüØjá:i EÇ�VPò¯ßâù»foqѤ[�ÃêBÃPÊ€gøÚµ†-ú,Þ<ÄgQ�mH/Èûð‹?,.ªiØâz£ªÒD­ÚQY\TÓ´eH+w•Í^oqQU¥F‡xÁ/¨Þ1äiëð<âx$oÅ#ŽàŠb@C‡1¨wð X1Ó?M?Ë9fã­šŽÒóï�.‚ãýÑ÷GËÒ�^g�×éíÐ1¡YãƒÖÔÏÓk™ Ç}?� é(òg²°ᤀ˦9ìàÞ”9N¤%Ív;ÆG}ã£ÎòòòòE(½"P™s±oÙÒ%só +¼}º[÷æ9½ìí�Çûû7v°?gKYšñŸÆ;ÝÆEý—Æ­­Ÿÿâw¿ûÅU* ^@â#Ð`Ç+þ›Á s]㺕ëÎuf';4Ù“Èn³“½dí`÷Q ‰'Ù¬¥$>Ëž•ì¸R3dkª²¯¿sËO`‡ÿ¦æÑLAsåG㣮ò²š¦-VÛÊß¶:loËKóV=iÎeþ¢4€A+ceZ™µÌfKÓt²ëKÙ +m…u©-ÂîÕ²cÚvVK݆mŒ¼Ì˼ä%¯Öñ(Ë4Þ`�ìÛÆÅ­Fÿ�ÆEýo¯>E»Ç²ÝÆ1áëa@¿ÀGàF6ÚýËìI6«žl!�¸®S�EGéaûôpj`šNäÊδ[ô´™ÉúL¯kÎô䴔܂óNWyf¹Sù'âà*Ÿ˜“þ¶3³¼9—å°L楹…s2§×éõdLw[b!£Â¢ŠR–j¼~Æ–R¿k»q‘�bžß^ýüÑ�ÎŽ{´7“*¶_ýw6à˜ýÒÕò‘Ÿ}òäkšÝè¼+Ú.cwÐûeÎ81Ï?]$ ;¢)“ƒ´¤\—c|4ž0£WÌ|q:ææ1¯Næ36Ôpú;ß9ma+Y7[eœ3¾eœ×ß¿í³2þsf7¾oôã9›ý>‚d,ðgÚÂ=¬ìaËAXós’x›=MJ´ò£E(ýhôʨãrÙ|é»úèwŒo§ãWk·]}SÛÏGŒqãœ1n €áе_雸g(DØkÆt-Ó]ˆÂÔ4‡ÓÅSÒ�‚tw!t{Ρìox¦ýPROJØÒ=³w^aºùޤyù™sÙ”;Ï1~~t|ô#§KyîøèŠdòß—�™f�RE€Ì¯æ\V–.É_ìËÈt–°¼\ËtwÆ–ÃÄ~Ê�[èÌa*b…Ìøài¦ÿjçßï:¿cWoÓƒ÷Ÿ9eüÖøMÏ{~ÙÚ×P«Ûxöéw>--1þuõšM ·®_T¶êç'ÿ탥KØ¢ �mÍ«ƒÙBGÙúãi¯âëL‡Vú3Y(ÊØtïRýÂïK�KçΉ=Êp' ïå#ªºX´°G1›ãýóãçe!ðÅ4ÖÆ�‹Æa=Û8¬¿Ç4ö mþä�ýú®´•¿Å›,Ò_½oyô{<4~‘_²mƒ š–­!#[ì™ñ�ñ9¿$‘ÿ˜~8/ã^Ä!@pE.¶ã}¶’ía'´™Z™Ö W&iùXˆ ,Ðà€6€^fùà'R2�éI„ÛêšÁƒsæµþż&,À'浞pÍ‘ÅæµsÙ<óÚ†\Vg^'c ›×)ésÙ)ó:îÄjô Œô¢;Ñ�>x0m˜|(CÃV ÀƒUèD"èC/‚hAEð ÝhC <¨@ºàAc +" ˆ^ìA”ÀŽJq7Z° ýð  hA7vÊ™´H|:Ñ ÂèG+ºÐ‰6x@Bh‘c“qš$Š@X‡t£«Ðƒ.¾tž'6s“dA§”`1–O@ˆ®�®.þ;ír\©Ðg*&TéC+PŠRÌù{Ð�DЃ~ô¢ A¹¶W*R‚nч5 hQ…¢‘º>2bL¨.fµ"ˆ.ô`/æË8ýï¨/âhŸÒ²Ò°ž œ¯Ï4;Šÿˆ�°þ§È^Ï—øÜiª(b.žˆ Íz± ô ýK¹Ï$^H¢Å³Qawȱ é×NiE¨,ø œv9ŒYSVÙ$ÆûdÆ‹5b}ØÌxe¡­è3#,þÛiúÒf*Åì“,&æx Úä¼Â&zAÌVÜU&åþQœ›�%¹2rbm@~ ß{ІN´˜þ©lC?BEpí‹éÓŽNt™yTíVïF‰Ýo@ö验ĺu~ôÄ:Ñý«Ž!úÖ"ÞÅù2ñ}/"í*Ï”­ë±T)æ)k‘)Ô¼Ñ 5ù Qp ä½òZü–¤:†9GÌÏï™ôV¬|øê1ˆúòeú‹§yŠŠ^´S*,úÉ·7ö~×D( ~Ý +MŠz<ûÚŠëúP¡ÁÎæâýNõ¢¯6íÄïk¥Rï]èD©ä(ÖîC‰ìÂÃ(�ÔQŠÿ!ÿ®ý³ü xòoÅ€øew1ò±…˜‡eX…åÃÚAß9ƒÎž¥Ÿž¥ŸŒÑ�ÇèµW×ò×ÎÒ«kéŒ�~4H?ôÑ+¤—O§ó—wÑétú«tú�A§^Já§Æè¥zñ…Çø‹½ø†þÂÉfþÂcôÂAýäósùÉf:éןŸK' ú¾�ŽO§çž]ËŸ3è¹ákü×ôgŸ©àÏ®¥g*èé§|üé]ô”�¾gÐ_ŽÑ“cô=á¢ïÐ`}Û oô¸Afб ƒ;@ß<êæßÌ £�9øQ7=æ GÛsø£>zdyø,?bÐÃm㟥‡ê}£€?´�òëß( Ã¦ñÃ3èÁ4z`�¾nС ƒòÑÁûÓùÁÝŸN÷ Ò�ÝÛDûÛsø~Ýtð{|4�EûÚsø¾í5h�A}‘I¡ÞÝ%¼× Ý%nÏááÔ“EÝ¡³¼Û P×6:K¡ƒzWgïÚF]~}×.º»³€ß}–:ý× +¨£=‡whg{ß ö ƒ·çPÐAƒÚ j5¨åí0h{€¶~ÍÍ·ô57Ý飿boΠ-´.¾Ù M>ÚhІ¦d¾ÁAMÉÔ¸>ƒ7Òú_ŸA ª7¨n]€× ÒºÕTcÐÕéüŽAªN§ÛÇhí­9@U•é¼êU¦Óê,ªH¥Û|t«“nY™Êo1håÍÉ|e*ÝœL+Ê3ùŠA*¿)™—gRùAý¦dºÉ¯/_–Å—/§eÅ.¾,‹–.ÉâKkhÉb7_’E‹Ýä[”Å}ZTì⋲¨¬4ËŸÁË*©4‹JŠ]¼$‡Š‹œ¼ØEÅÚߟ¤-LãEN*ÖàOÒ.Hå Óhá0{ߤ/°Øù‚TZ0Ìú7ëókh^ÖÐÜü,>7Ÿ +ò³xA åÃÅó³(ÏM¹³Ý<×G^Ï3�f*N3li|†“fN›õ,7eÖP\r:|Ü9F¸¸ÃGi©[xÚJ…‹§n¡[OÉ¡iÉi|Z%§‘.n³Nã¶4²)­;·N#«ð0I·ð$n±“e˜ùÏè<‰ø0ƒ†®i)œrHK!g9±a8|”-üý‡?¡íìÿÍãÌ +endstream +endobj +264 0 obj +<> +stream +xœÅ]Ý“¹m×_Ѻ[[·§[Š¿åR±ì‡¤|©r�Þì<œTÞ”]¹‰³ÞTÊÿ}ªGÓì& 9Ý=ë—�‘† ‚à øîÇ¿ützÿþÝþõ׃~÷ÛŸNÿùÍO÷ßÿ«_xõ?ƒô ‡3˜è”ÖÞ1D•‚÷nøüó»Ïzøü×Aý|zõ«�ƒ>>½{Ôƒ‰ÃÇǹîøññçßó­õ´6÷¦ïpù´—Owùô—ÏpùŒçÏOç¿Ï‹ï§û¾©ë˜/m=.J=]~ sÏæK‹tM˜©ìå߀ZŸÛx¼ÿ��ÿöê7_ýîÕo~øðnÉHÓðŒQಢÍ*{,ûÌ`ŒÈ¾Ý¬;U¿Ô ›Û�UYX0òT÷x©�k–#–—›šÕÓï`™ÿw<ã¡a|e€CÔYAJV\§$Ñ-M¼†FÔ&*©ÿÓ:ð”[�ò�µ²>dIf´òåþÒô=T³ÈÉS¼0`äœ'Ñs«E.mS?a1�ZüÈ'šÂL½Õ1§…\™·†¯o:Æ·:ˆf­°Œ°À�Ķ}Bœ4ÌjsäÈùÑ](¹T°—æ¬GôMݲ -Õ/ÙϤ9§–-`6®ÎûÌÄ2�ÛûÝ$­¥ˆç;vŒøÀ*­xúV«Cœ¤CbP6hë·*‘áþaš„çùëE>_�¾*‚QNk�üÚ²© ®wA¶Nè%\dÁ=üž>«geÁRÚ¨³ZFHŠ$»Fø»IýÑ kM¡Ýžï‰gNaŠa–Ùˆ;¦þ/ºf½´þÌ,¡b­(N”yBllLÿ�Þ)ŒÁ+ÛóbÑ!hç^~Éó�»™p@Ø*Tv€SS¦þÄ]HJÆKJæüÕî0T°u€= Gct¶LpQoµ»°X|iè‘´ PÕ‰? ¥t–Õ7˾ï¸Úß°zå´ÐkHEò‡ZGA|aM¥© +ã`½�V¿â"Æ®Ò,2³Z´hOw$!û´v_Ë MÖëîaH;/ÇO”R%7ØÓ—ZÍÌÈ*Ø1 /:ʇfþYÝ$Ýã’²!ºº›Øqã¡™Ûš6&n\dƆ¥ÕÓð…¢òŽgV”˜Iùì7+êo›Uõ`rR‚·•º-œ Îu úü…ÊT|çTQ[Üø|Öì#�Â!�.¹ÑHl[|K)�ay8¾÷XÛ”�´Rsß5j¦!¾:á©B$£S)gD£vÆ?jüónü£Ùþž¹Ø�¥¯§ÆõÏÜ$Í~‚!d:ÎGÕ7ײ¹Ýû%�UIRÆ)Ÿ³�›�„ ©n'�Ñ}÷A+kœqi15O >5/EÃUe૳�ńъšä¯ƒÊªú®¶Q_Ü) “´ ŠåFë…öXѶ±8¦7öyYü!®¡ˆ_•¸deU +k=Kk]k4¤Ì£iEà-µY1úÊìø0Cby$k`CŒ˜z¢k…^©°0·/Æe{XËó-Ol¨L­¢ÃÆ-˜1×ä÷¨kֹڛ廙ǚ l´°&|È*ÛÂf�ÐĶS˜$tZèh}€¿˜= ^ ÞHÄ{­rôñ…}B ULZ .!T¢·6 8ž�‡ìúˆõꈧÑh äÀ$-ÐÜ:ìÌH`H˜œ%˜Ç°ÕîµÒOq‡vÌl£*I§û<¶Ç0%”[àTûsRù#[õeØ&å(©�c],ýÃ嵊ä&ó*'{샄yÞá‘*;fmÇ£é©#FšÀ²sŒ‘Ï�nèÃ/mo"³þ_žžÿôøÓçç÷ïß}üÛ_þøî·?ýí¿ÿ÷YâòÈ—?ü8èáÇÿ>hå†ÿÜðùÎσbPÑ‚þëÕ�×õ–ƒÒÑ€ö/Ò›åÒX÷"�Pfdä—¡ÙåœÄöæ¢VÙ½§?³ã^®?ë”öÚÄmýUË>ð'™'Ét9)³|ð\YÿS@‚'Åódë2ÚL<ƘÍBK»¡´œ*0Æ#cÁ§hwD’5m&œèºf®ŽÉ £ó$BqËŽt(t’‡Ãu(§tÐÏzl¿þ–ÄhPT§5�»¨kKÚâÁ¼ãƒi«¤`aq:#œ˜J�Ltáâ8Ë/ü$.üä*uÛ.|’rÇǤOÿ®ñ2L +£jñn‚JÆ›Ð1¨u¼{²YÌÂÁê;ç¸]|Ìz‹Q‚± +¬á€É)¤™…8!‡j‰Z«'H`>W|RÑëx$ïY]Mxá(· +Í?kÍ\!€¯ÉNxßL3ɤ Ç §0ælÒÕÓ†Ãn×W€ÙºÌž•6f�ÙÓ`ê( „`E-8çìó‡õ¾Ü?8«œŸ’ÈÛ¤½—'©ø6çŽkÒ¯Å1üŒKn�dšñ®A2K„!ß·ÀÑ4+)l¶âÆ(™¦¤ÊèT‘¯Û°ôY`ì +j³{2 µy�Âì°‚À‰ëß[¥]سi q ÊD?î�«ì%–®\x·´L?ÉamK>ãö$ˆ²!œÕG8, æexv’ÂxñJSÛ¹8—abÕÉHšª�·hFç]L€wÙùãeeÅ�.HG˜ÑTÍÑR3N�ÊQˆ'¦(wÊÒëð3ƒ5€Í ´Å¥Ž8ôÕ°92P2©¤XggœÍfeU‡¶´¾W›ÄØ‹�,ßg®qš +)œ“ +îàx¸ªˆº{㉭£j/]Škô ‚„Kq�Nk^ïrµ­ßïu‰¼jÆÄ1\¢b08Œo‰m¶'½v’Q øê| ^¤�¦wL;ß¶÷ÅRïí"iH]–ÆòZ]¥7¸ëóÔ…:ÔÐBÔñOå¾$º5oÙ*´f;«�œµë\˜,<8‰.¢Ö†)³MÚëùô5u2+´ #¥C¶c~…5 Ø¯Ì Ÿ™CŠ!µ)(ðΤG·dö6×С~PÁmÁ‹µ‡;ìÂJÈ!;ÎÑÔTÁÁÕH 4�›eû^]ꓸuX‡–˳S9™Ø!@«Þ—i0®š„‰.4·&Þ£‚³ÊQM£ÜGm‘"^öì”\=ÓjŸ:ž7mÊ›µÒÖº#×ú2"¦¾/œˆ¨¹+€5&ãК]º€~>¤DD6‚o’­²ßðrÍûßT­ïúm½{ɵŽcu[ʯ¶ÔxÓó„ažCöM�*á¢yƨîiiÃ1û5 õœÙP¥KÂ7Rùž€wâ2«´F[ ºî‚sæðƒðVŽOrú©·%×&8Æì•/^yH±ÔÖ'aŒžÚœ�¨'L¾¾l¹v�«9ü ›î!ENÚH§t³@ÐìÆÞÓÆš@Ѳ¹P´Ã¦g›h¡T·mï"tÌtwÐB-‚STŽdO´¸©¯9�ü~\0[>´ÿ�9\ca¨äõ�ѧ(ÆVòÑõ +\”z�óf˶R* +k“r)‡ÍŽway/ŠÑÓ6ƒdópêK•ÄQx’Ñy?ÅaŽx ã^ê�×–É€“v�H�£ØëæÄÍ\Á¤’I4 ë0eV�‚$‰Ìâ`’ +)â°’OÙ^ã"ÏìUÙ[m (foŠBu='’c­Ê.Óö–š‡)sD‡.v-@a”ÏZ»Š×t1Öl ‘Òžt��*a^O<�kO”Æyå“3G°y‹"¯z¼JÆjÿbl!¢UÁz`K1Q‘«¢ìäBd–#ü²9© &ÜtÅ¡$UØü9þ¹½6ª +sU”ÝPÂØ¾âèEn¡ù¾mÛU�É=Xe¥Á®Ì(´Õ™x�<ÍÒ˜ßD�ÅŠ®+÷¤Òm÷ðÒÛZœ^Ÿƒ ]8Bý"0Gcu,8]$ïYȇ,¬.îHˆ¬v*d »±ÏË69­±‚ tµ›|Š*¸4âŽkdÂßnÛÙªœ¼5»3™~Ø72™ŸJÙ[98e!�IöeQT.&ß“’§–Øô½QZç`÷‹ÞÔü¥ü¿@!a$£¬‡œ`'fãÛ+ psÐüBo­=±¡ ¨Æüäe„ÍÏÍÍ n߀À@"Ý_ [3ܲ�£õ‹R…Ueÿq…8|É—Êš¾ÂÆ…#›#s‹ÈPÖÇŠ¸0æØl%ð M!G�*d»ÇƒQE6•S2_bWÞ_ä- V*]ì«Úk²ט4Nï�+SÏ5 "ìP®±Zéê`Às�‰‹-FÔ»UŒxÔïòœRPö’²ÞâÎk ½$F}£1J±)BÜ >¦âÊkÀ¯×RÓÊß9ïY¥­Mê|RÚgÓ±Ho—‹ µvªKVYçGàãíALOuY;=NëÀ=ž=~hR„ìhŒë´#6p `Õ¹X�§ ëÿ¯ü;„ù†«0`q¾Âé·>®7u‘Zå +a§IÊ!lLVÖ@Ø‘\«\MÜ�îŠWÑ0Á $ã¥m²6`'ë–;lÒ™|Mrèe[�m®‹Èô6nJºÍ<(?å�{“ó÷õ0°Ùnñ}bG$áaiïÙÚÓžsYç c ô18»e�'ï+�¼ö$8>—SôiÏ�¬A{ÿñÏLÏRÚ\£µ²V{îÙœ{VÉYc#„A�{އìÌø5�¿û�I ËM?žG¹=ƨ¼µ)!B¯™Âiç‹,‡r{üKcZ cÌí„ S¼/§ÖL\…ÕQ¥ÁÝ–_4hF?—s‘fØÈ!3âÞZ�¿¸8hÇO®a×ׇ«ñ¶§Š“%ŒAà �/z«lÈ·å ‘Ã'åܘ>þf"÷Žà‰"¼wgV�&·äq%$åƒÍ/¡¡*ƒ¬è)IlˆgöRQ½ÑÑvKF/áe«’×f¿Ö±ý­éÄ-:Ž@ü Gl4‘RW[•ƒó~GÏM’ŸâÞ!ԭ“•±X Ö \h5.€S&Û´½)ÿ[ 0B£ã�v/ÿ¿ÂP­Ä|ÂOâÜù®K¸1ó ïˆËÊÅ<šn7e>áÁðNyƈ’ÝÂ_¦#–(ü„+#dÇt‹·eB&Ãbð£ƒl÷ľgC<سJy·�õ ¡[éR@“(&Ÿ—»¡ó.k“úšDwÕføËEÚ)¿òô¿ÅÓ4!ÀùÁ¿´r^ïo!3 ?^ÇvÁ;+Kà2Ô'‰ÀVGPnŒvtˆÀƒ—�qüáhwÇZêØó§£íãóáQ&½1„ ã“)Ã�gˆ0c!)£ƒ¹¹ðÞ­ „†zÚ&õ2 «h ذñ�Ï?OÇ’›N(ñ`ó|.¹9ÓP–d�4›dU´>ÜX+G¡´Cí6|\�•c‹}7cÆ8ÁbßϘâç°ýB"зÉ€þ{+F lì¬|v͈ãô$ ƒ<�7Uõþ}î$L¦'§’v~G̉!í§À +âå¦b¢Ô$?…8ŠÐ)¸Ž ñfÐ ¦ÇOéa=C¼Í3ÛLÛiè–ˆWhf›é¥FïxÓh? ;Bx%š½°ãïž1I™ï.Ì;þÍÛ +tmˆ— +2z[v$Ý/={ "Åý ßífŒdÉêÁ:euÜÓñžäì†HZ?Ãi7•G ÇÅÈØ¯` ‹ÈHÁ©à ¤½=WÖÿIHë +endstream +endobj +265 0 obj +<> +stream +xœå]Ý�7r×_1–eK[\²ø}Qw’œ � °Þ¢èÙnv³X¬îi6ÇäE³šé&«ëãǪbûöÇ?~zxóæö‡wÿüþ$ûÛ·ïß=ûÓI�äIž^«“¡€t'ïAh0îôÓ/·?ÉÓO>ÉÓŸzxööÃIž>|¾½—'%…=}¸Ÿï>>üòï¯>J)¿þùxþWJ8>dÿ“Òß8)@{éη|”ÒŒŸºrÅãø½[iAÛñn ¼ÊhB÷|9^hø¡OÓ8_T§Vh„éa¦‘mþz~Øÿøð/Ͼûðìßž}÷ûۥ¤T!)�AhpÖ%¥NA˜ª >J ƒ>Ga|˜xzþ|^§JjM>›õŠàøýR5’ü&)lாýþÓÃ^ýüpSîƒ0Ѩuºa�n=±1×°'êïn\”³¯²_‹ïµB‘Ó÷7Z‰ct£žKíé!&y+Gþ~Ÿ«©Ò™“n$¥†ll)]�í¦à¶Q^€ÁôP“™¦Òd'ÑÂvJæaï(£t2€Éä‹Dœ„ìr²dWå…Ø�I3N–�”àªÀ wózBKCÓJ5©èôèHUïJ¤M˜QÌ÷H edÍôkÅ\°¦î÷±.º1BkeÍ^-|™V–Yª97¤ôHXç‡yCƒkzB7ŒÊÕzú¶&`¤“È‚ðÚ ‘5 +}-à˜f¨ü~þÿ OmÐäP–QÜ•+Fƒü�îPtsžñ£GŠÓ#¥…s^³¾­¾ªG'¡MlF÷=zÖI jù«ÆLOnó€À< ‹Fxmƒ92˜�÷™‰A*"žlAÏVíܨHã¨8FX•PˆÒt¬} +P³³2©#@ab7è0œæV6ƒÒ¤[㺴XR$†É¯¸õË«¿¦`GkF35§™Þ +ou°gÍTgÍ�RÞ¹“ç?Œ?Iá‡Oé.q}¾Ìž +™^r&9Ò GºÓ"*v;½jÂ~ný+#Âxç¬9€‚É[5(0æxRÛúý�«ñ‡ÿªÌYzõÑ ïÀÇ#Űåó|Ó ÃžÒ•W:ˆRcÖõ¿Ã’dH,={eµÐàêìä>™üZé‚Ô":c-ÉecM”*:ôgpà�½äù¾^@`¢”´¢—ùE@&=ŸçxœRN~ÁO#$¼'Azº*%SÑR›\ôi4K&㪿§ñ§çÁÉ\t½f8gÌYÒE¿?™°Iƒ€ÃÕfVdÅÀ+hêvÓµ‚¯P®sJ‚ ¥²‡J¤ZÁ2ÐšÑØÕ�Ø�:"Yfƒ0&Zu5vî„VÏA+Å徨ŠR€v\-}<ä8?%µ¿ZÁÉó÷/È‹iÏQK†��ƒ8#€÷}.r×JA +h¦aŠ®–I$ÖF´d1g/�+H§Ë¥GI/‚÷pWöœ.W"A(éÒ”ÑÞ‚ÑJ{Œ @Ûä†?Ãùo{®�V‹Œ·dV,ÍÆw„Ö›®º® §ëÍ$Œ†ŸÁ +³û«-!í&fM±ã7(„E÷œ¢g$¼~¿¾L|Dg‚ÐÚJ{UVÀòÈ-æË{.æ�ÙNÆ/‚^ý&�”7€I†ÈÇVnɃ:st¿�p•]ŠÓ,iO91LÅ·â”Öè¾n…QÔ¶R�ܼ}‘ÏP î%lu�f�˜ãr¹íÃÁm³ Î¹e¦ç‚µþ|釩Æq˜º|²kÄGk +{u%ųn„È1\òPI#¼T®oŠÇ©ÚI¨äÎó5ãi!8å+C3‘šU^Ĩ|É+ f‰H ´�&Dh�õ,¢êÄŠƒ¨lâÃcŸ2“¹%un¹]VAûjµÕŒV·S0Èr?ús%ägÖbk˜0{7•kzL,9 +DÔÆø#…³AHŽQ쌒ƒ#y�øˆPÍia¥óº'ÛWe˜U™âxÏUù¾R–—àÍÑ Êe&`ÂÏ‘qŽŸžª� ³¦¸a‚CI)óúW”3RŠ|%¤ê¼ïã$Ÿ­Œ<øœI¦«2|r\–r7•+ð逃ÏㄳAHšƒÏ%%Ãgn £Á0”&WÔ&¨s]dUV–ÙÂïÉ!Ø¢à ¿ˆ…1è¡6͵*öLJ:·¸`ÄZ/´ÖöobãÐqÛFÖXa¢jhtÚd|ܾQ; ©^`- ëK¤^8t +èU=u$û×Åà�[2RVÚ¬ð\ b.mð€-Àû »ðñ¨Oæ‘ ç`Ròèš÷AídR»(H^z'É Å9¢TŽwÜqn ù’É´ËëójÑ¢4¯õ¦ËžP�Rڸπdá5ã,Êj!mfÃ}Ïõ�Y­…3±ïΦw·R�J…Q‘¡Ç3¹—œ5PõÄþu„9,^RÐ!M5:¥�HkWS‰�Èêi-”Ó:4ŠŠMêUOü·N«M}Zà–œŽ�«¹ U;Q«üÔÂ@V "„u:ºnˆpÄká@©Ø•ùTSjÎ� S_,"§ƒˆÒkh7 [ç›ë(ªö + Êûfè63í¬DÍ8DVºØÍ0"qn…6BË–¥k�÷‘8€BG¡�Uº³]¨’)!l6š#–ŒºeDÂ¥wF8« ë +-ÙYíe8`ÅHn}Ö2ú|ƒˆ}íhDŒÆé~öQ‚¢–R Ýú]Á)– ¨¥JF‰ÀéààúÛ½Ò)ÑTk)t´pœ¬¹þRÉ•YP"Hotßf8É5ÓpwQ§G&›»ÙMæZ“œÔ\¿mZÖš”4õ²…|â㤳+`Wª‘”d#yET¨¯ò²¡|+ õt GÍï¥hUM¹pþ:’`ãù% =âù|—uò—¸~MâŒÅ~X“œx»&NMXä'f‚yEœf0'z>0›¸nTμþ9…ŒyZ’mÜ%úÑqv«<êž²"ÚÐ�vO�°†Í ™å=Qµy:ŽÑ-§Œ8‡w=ÅAÄô* +¥è¾â ‚z0BEml»8Š^bÄ©ð9ÆíÈ¢{y8¬ËèvpÒŽ™˜:V2 +㣠WZ9� Õ‰•³oñ3*PF›bikk>"²â#e%¼¨Q´TÊzÃ(n<]é¹_+¸.:ÿ7Ùwf‰‰A(˜ªú© wjÉ4ä¦e¥ÖóúÊÑ縶�ý®¹¾Dsõìx6N»Z�‰ Û%‚7a‘,æ4 ºäD+®Ü¢z“Sÿ~;·Š34&nq6Eu.'¬/7€ñÁÐt,°ªlôoßúTDKò즉�[?9Z ³¤æ´^¯tŸŽ0·ü\¶r5õA%ƨääqåHˆ]´¥r“1Lç$Çå”LpÃ9Ѻ³CF´}/VÚvŠ\Ž_¯ØÛOÊÚšJ´k§Ö‘BÈ>_qlˆÜR›Q4´’KÖž¤�RGPÖÅ“úi£!\À&&d$:‡SжQ8o˜iÓ[F2ãèV˜-šk˜tS+sØ¥Õpù&’=G¤"Ï„}ÃPÅUµ÷åW×ÞnÍ—‚­ˆvß9åÖWB_3|òœ3ØŽzøÔàõ�Šè¶�Ë[úê wÈE;/Ö“Üé�\ÑIW®X¦ò¤‡_0}Ï1ƒÈ_Y#¬v¡³ŠM³ ›2â®y+trï}¥ÑÇÊyöè±Ò4ˆÔûÐkG«Ô΋œÌ vºþn‡ÿH4 /üio„ѱs�ÑB¼p§[IX+eç­‡9ài7ekÎ5Õ¼H”5M»b²�K•-'îä7�SÞÒ>­ˆ>×ÙŸº/S2 ¢-xПó‚Q¹¿¥cÁ¸ž«Œâ£Õ‡k»¢Xu�XžèžcùžÜà_f¼jôÚâ] µÃ¹¹#œ�ê$N‘eW.qgô¶2éüäg° Ã?‘c€æâ×®àNçík6ŒCN4².â×®üàð=Àlp=0.–ÊÏ?—š5›úY?}yÄöÓÊ£çt×7džÈEo=A´°.¢·feI•ý¨sfîg¸Bô¹Î®ƒŽVë]½·Iž”¶JÜíˆöîÂù‹/¦?R9#Òléo°þXèˆY½blz@lÈ^~ž<T¼š6á'7ÙWéÈö¼ªôž?ݼŸóM>í4Mº.Å´ã»&r§œ8ª€ÜÌ$¨\÷9 ¨–‡¿Ÿ¯ÀOQ2c¾VËb䇭¹èê´"ú)øª@uíEpðÿ�—éÙxx”döÌ€hM_KPÂ8¥Ž2Ñ|»ÓƒÝó77 pÀ�J»þ+ÈxæÞëa³×{ëtî.ßSxöô/ -Áƒ ÷Ó?Iò‹úœU©Q—#÷ô†FX¿Ÿ7¸ç[”Š:sÆ㜷(ÕJ›S†(¿þù{Äë‹Ó(Ť%ûé~ŸP &œzÍÒ£ÆVKeËw1ñŪQ.nx€}P[·†Ç­æµÁ^FJN9²ÒÜy¾�ï3ÿ½â2BÚyaœa^�½®X“?3Á.:g ÷ +¥róZ;¹ÓÃ)G¸¯0hºS×çFÎ"wí&oƒš£T)|ÅÒ¤ + +Ý6µž]Îq¦‡|¥Fÿ®¢…©&5§,i-%?²-¿;r]œœê‹Tu´sœ!Î:6X˜u§„‰…o^—\ýù&½v³€�Ó–Ž8¸”u—_[°ƒ+ÓV ã‚Únð»ñ‹üæè1¿ ‘åjɺÍóÕ›ƒ� +p †»RØå,ù9j$4„ôg[xÁÉ‘{'«AÙ»šᤌðë…÷7:!�DLd]î�ÚZj<˜Ýjö]C¶4¼×£‘z%¬+SC.3ziƒBºŒW­–á{î)¹¦ë¡zz:¦’™q¢òa“A¸ú8ÅjA\SEêª(­/EC€èŸ«Ï~Ê¥(\A�rªªûQ\û{jÂçՑ뎮ֿ=d"|¡Eóµéí?ã÷,rqÇ£�·"ø¸û¥ê#¨!aâŒ:>iÂ?<‰€#«L½-¢·~ U+xú-JæD%”7:aâ}Õ÷€ê82?—�6Îõø²2Ç2a†Ÿ¤’@Hë¢_ï¢à@¬>7ËÅÕw”¯—ï +¾¨ÜûU-÷€é¡÷6˔ʄà9Ö°ºzëcÖÀGŒ<¦á–<ͨ®Îõì ~À%j§‘ÂZçÚ.žØnË9°àò©à”˜£ñÖ]Pœ¬øLî·-÷²|Á”\ƹýª5"#›Ž +AV\+D') +ÁOöyD€WàÀðù¶rˆ¨?ñ¡BþRë¡Lfø|‡HïxÈ•ç÷ŸÿóþÓO�oÞÜ~øë¾ýþÓ_ÿç/�œ /D +§êÐw?žäéÇwÿ:hžþ÷dN?œïùå$‡7/ÁžþûÙ�—M§Á e-\i¶s ¾ñ×™ÍjÚeÍufs Ô 8{ž¤DZu:㥈v¨ÿ•MóiJ·®7Ÿ2"Ê`ì•æSCá«vé­ÀÝç RXgÓûe»Ïç†S„t„kͧAØx5ù)+¤5)sá|ùªëo¿ÿôð‡W??Ü”3ú�ÚgA¦²ùåwŠ„AݼNÙl¼ˆnÊjÛP'Yká÷Š]¾â¥dæ„Z䨩bfð{vx–;ºE•ÔðùMæ!àP€Lž� JkøÓ )ášÉmáó=¦ +š‹{¢á‹z! Äs£T¶W‹Ó#țщåùÞû·Œ¼‰Ã�g]l÷ûÜ{r¹Î…Wßq$íV.ŽþB»V¢c$βŽ�MánÅ©®Í�÷ŒP”½LØM{>©’�ã(pF-![U÷5±³IV \n¨Ô®NQ!‹GÜ8Bš<Znñå&VËjLë®B¤ó:¸òVíU3öÚ*É·ËG~¿ø¸VpâèçÙ^P®ù{´gÅmB–ˆÄJK"�ý�Æ÷ÂÿÀ+ÈZºœX2ÒNKÍѹAZ@ÇÒçàØ®¶DÐÊ*¡¢d°�¦½÷)“Œ2ÊøUæãõèRéeNnÁ¡éšì¥Ùi>.Îõ°!o~ø/Ò +ùe²Î/9ª4c +V 0¾�d¹„±JÚW»’çx€¬¶¡üm“-÷ÝÑõmËÊãüŽ +>’ ÷’©j+kÂA1>¯Ò>K«íqâÖ6Ypmò{—\£GŒ|õ5ô{þºž<^½ã8Æú½ ³Ìà~¿·ð §è.ó‹éÂÚü¡Vö�(z?—g�¦Å(ûÿ?í}�úüœ3LœÅ?ƒg«LÏŽÃxÞr$pn/4«Õ¦mÌj›1]�ž­ë3F!P#ó~Íý5—þæÇäÇ +endstream +endobj +266 0 obj +<> +stream +xœÅ]Y“9~÷¯è™õ®=ŒGÖ},‹�õ.°<ø�åo0DÁÿÿ ª»K-åUªª¶y™£[G*•Je~™’^ÿùß{úæ›×|ûÃwýæÍ·ß½}öŸƒ9èƒ><˜C´ÊEku<¤X”÷ÎÅÃOÿzý“>üô߃>ü÷§§gß¾;èû¯õÁx•ï/Õ§_ïþõ——?j­|º+ñô—Öáü;?žþ³Ó'úGmŽŸ~y.’Ž¿ßw}×Ìé;mÍù÷©Q­}÷íÜ¥kKÙ¨íùKÛUÕµ+H�í:Hb¸ûë»ß?ûþݳ?=ûþ�o_·“a¤ÉZc²g'ÃŒV��Œ_vt�¨þxš¥žb�î\VÞæ’çÙ3®å€P²oëC÷™ïÚûs¶¡¯òÐõÓ¬�-ÍåÒF2÷öÔRr®]ÿ»³ùXúf®r÷pþDnû,;}«dÉ*7ø»Y[:g‰½ô>·ÍöqÏ ¤EéœWÞFëÒ²ò¼rÌœ'u&|fÊYಛ¬¶s¹ãï[~0¦eŒ-yÿêÚ(t,±ë­VÞDŸ®ÀyÀ³3‘éîaÒø)ëÇ4/¬N“^„ЍÊM.?䀇\¬rÙ—kL¹ +gò¡Î>®¡Wý˜É Jf4JÊÝEå³+›‡‡Ôù ¼êSVÖã zò‚Œ>1Õ`Z#VE7|Ï QÄò_Í›@£|ï²#a_ï=5Ø2$FáIfÉ�Ër�^ÿáoOÿxù÷§;$6¥K™ôÑ’@èEy?«I“ŸÅúÙiºßß=ä¢JÒ1½ìG2o½Õ†Ò�mõÈ�3cukü4¼˜öË;ž„ûNÝÀM�#Ï£P…ØÝ¹‚žåÖÍ“Ðé`¢‰w ³yE¹Y˜~¼™~ü‚‹é ,`)WEÈ.'h3ºvÐp�a‚Y©)’–´Vùœ\Ú!6®eä<#—)ŸÜol²Ä”í,^槪×n‰mé ÃS0›9@Œªøq>pƒ¬- +Â!©½üCuŠû=+à N>¡4†‹ó–SÒ"?ßZkåéªóÇ+�Ù‚­ò7ÿÝ‚™Žó@üà¼Ö%—%&Ž Sç)ÕöÏ?¸½²„|¬ îÃøvkD„Cgå‹ÞeW¶ãûHÛ•h–ζdÈÅ›DËô€‚ ‹Y+_RŽ;PØsà Q;úÑͺŒZ• �óKZt¶¶ +uIýæƒ4`ý['²¾ÈÏû ãÐ9ñ½³D7zËÕ›œ�{‚¸¬Ô>ñœ©§€žXeCî6*�£5�™¾ê€�Øf]}¨BB@³ý@ž†™ d”#öž—è›å9– øÄ·Ù2jXTFPx…’$…£:öº]¡4Ht°*¦h|"ƒ”Ôû* AKq�L5&«ä]0ƒ”wù75:ü«éǯ§B˜Æ`ˆÎx¯´-Ñ]ƒá˜ÑÄ@…À6‹}“´r.¿›mGep48¾­JímåçÑÌ)AYÝi7}+Љ=@«‹š òt –ެ#‹}#k‚Ê¡˜¸›WÇ™ûYõ&Jýì‚^üL »76Då̵™¸ó±EñW2ð9ƒ€Ð*85œ/hJPÀê~òFZ­×îžÞvëæìY+‹$†Ùr »Èñ�]T÷„ä솰4qÇ•K©è>.²—ö*U²e»ñû%‚b±©Ÿî¢U:««‰p•^Ä!Žé +øTð†!’MdèšBVÊK©:e�‡¡ÃÀ?öÎÛZg£Ëœ‹lf8(H+R:½¾¯Ú$t ¯ø­ °‡1c‘V^ªålQH cQO $Z8À2d à…ƒ“F½VIk£�ŠÕ,È2Dц~úì ¹Ô^Š 28ø8  wRšÉ ,'0¡»dÇSìA¡Zd†ô�àƒe0K�´ Ó€Þà,žõvô0Ø,ÒD64(2ž#†C&z#~r­(a÷åO‘Hùd¡è ”ßl},&ÔÁœ¿¯–•É5� ´Ü6Ф 5ð1Ûv„&áCÍe‡9îL9ö(•Ü[ møë¬^V´û<^ñ ÙÁg3øÑ‰l9ªl|ðW˜žÑÇ«oúò‰4ïœ-W˜”‹Â÷/e¨ø”+:n6î·¼iqGðÓ]œNøyKCO‹i—mõˆÃB�µsß9µ3¡¨+6æ M ‘µ+ôÆe� ŽÙn§n¹n!g¸L8"!ïÿ5Çë/" "bå’r%mG¬6„3#^Aô¨u<Ø~§u5Cë-¶½IñüÝì Å. ÝÉØ—¶Sn$¼¬ˆÏ#ÝÄÙû·\V�$ò@ +Œ”"t.'•’ö›íè~;=Þ=á›ã¶pýªÎOºñLIv§G}Œ^2IãoàA[Ç4p¿­»uÇè$Õ„«N‹Q¶¤œiñ®ÓËjˆÁ¾¬-Eyãý~YÞ7ÍWU|MLÓÛª[† ‰Zâ™�Í„@ä ZJÇ åÜš +í·“=3àÔé$šKN¥äÊfç²Ã©r1øÆÉnLpQ¢z(WZÈXÄÈ7$‚à9, +=,H¤qIÅͺ\­NÍYÅhƒHL[m ’ÏÅO"Û�a×pfðø‡FNxo=®#Žœ»Y,„=úœé.U^cH0  E¥”üfÓùû3GÏÑD•BJg¬÷'É´ñǾpÕë¿þ‰Øë±Á’àž�v’˜ 5QØ[ƒBÌŠæèüOTØÕܶŒÒš@C„«öž¡+ÌŸãõg�Ûð)Ž‘§pè#-Ÿ:ðË–ÅßµØ@¾ñiOf<yh"z*Ñ�Pq�κ9ÔôüÆ’{çJ¤2bw + ç�Ì‘2@­;f=’v/‡3x1Âi¬W:G[®ÂÈÅÔg�6Œ·Ÿ•ÖÁífŸí0‚ô,UÄ€ŠINÙb¼»"»Ýirï#%�J@Z°û.Nœ0ΆÆd J¨€Nß pVQ3½`Óv8k>É<ãI�€ êšiÞçÑv +µ{¼ {mˆ…LîþE5æÚ¥sï�—wMzðË™»)“²”+> +€7¢È¼ñ@Ln~¯N˜  L�-Q™ìæ;J~_S¤Ø›Ï­QÆšâ—asXòšYb°mîø,ùªÉ­ÐŽ•uÂ�0<2y|�l Díî:²Û£®�=R'±ØÑÊ©TT]áÙ²äûk“dµîÆâ5âBÃ’èŽeªJ-­È¶‰¡œr‘£MvD�,fW÷¨’º[ K¾l¶Ê䜶gí{ðô½D=uuêtý¸÷i€ú!àת�ƒ=ßóy½Sä¨Ö1%¦‰ñTYXi˜/T¥„ž¹»VhFÈ{@É„B+tHöE‹41^èÎV¹‹™˜ï…®núò<Ãäúå*Ü ã}J %|u`dצy¢^¹N¶Š ]¸cä¨J”œe³2ÅÚ=Íw0 �èò뙹’ìŒQË� ðé³<ö pàͰæè¿Çïƒö†.@Hš6Óæ³r¹ØÍ¡ÂùêuÛú—¿k‚[{é¥@5�#h£J.Vûj‡Nqùé—M.µÉŸ@‘Â\IêÆ€®ÊæìKWpŒXj¨áé’D\9­�2Ú•æ¹¥SX†=…•ˆ ¥uVÑ¥«ÌÚIŒðÈáåÄ´=ó7{ÅŸa‰,þÉÄŠÁ|âyÄž·›‚ÀÓõª»çñ[4™·<¯ALì#q7`wÑ +¨à§6 �^Œ<38�ÉŽ+ &.C©é“ì0“bޘї Q¶ÿ$½3c�W®X5?h9=[V +¸m}ÄŠ&æ÷Û¬úE9“�sîº[qnx‹B“£ÒÁš4ÀÛA‡ðbVƒã!§åž!s¡Ù?´ž�°Kh]TÑzï÷ˆ$}L¼¿Ò«ü¾�¥{ii1 pš42Fd{õÕï×>ª:(…DÁ±kÐáèÐýb]Àÿ@ÙÂP×C~™–ñüQD‰¨~±ÅÆ‹¯èÙX­\‰Ûñæíö”J.BV[# +bn?l�2wú¿{ºd çó–oÌŽ�'Z!Š/™ö¨x%“ôŽ+B�Þ� + €;Nh¾Å1 CYÐbB•æ’†Þ2-Û•Ü�ýnª …) ªÈ6VdéJ«£r¥ìA5×*«éuølJ¶~ù©fX–IuåÞ¼¡T-l-7âΊ¾N½¨†oT²Á@ÙGÆ¤Š §‘ãQvnárC^Œˆ‡§ŠU9Ù˜Ĉ³äŽt|Ǻm™ðûKRÅ–²Gv�½~Í÷Š�~7¡ i¨Wq¨ßó�®±Îʺdì5Ö))�/ZöÝ&A¦Lâ˸(qm"a8¨Ÿqcžà +Õ Ûöž]Ö;„‰Ì²tØ î[ØîÇf)¹À«¼v;`ì¥×²šW d¾@j‚a)w²kj~¿€ÌuÞ#Gû86,7š§×Õ£ŒÒ4úµÑëk†ÖäêC掂$ô¤H¸¨�,·�L^c²2‚ð;2K{^¼rÿÇÉýzúñMýëEý‹ŸeöíU»æ<�ëõ½¼g_yé_B@\²„f™”•×1mO ¨çç… ²¶¬DƒrRÑgç(N¥Üzayq€ÅÇݪ!¯r ^™�UÔNNÕ™qGF© +„xU&žnÕZY¦xÕ2�cñ*«ŒÑ¡œ‚¹¯[ηÅ:®4q’F÷‰“ }§ü  »Û5ŸçNËÔ\0UDðC�ÖR{1vj–sŸ O¦üÖ•hUIüXz9›¬3Œ Š3!¥põ#–¤«ÍyŠ÷úœŠÞqs‰$l¨rŸ´Æ"‘ÁáýV¸¶ªHðÁôšsÔÓs‰[õ€éç”5áb¯¯a"¬¼M(`+RÀ„íq9¿ +×ÝúÜ[‘ð%ñ¾ÕÎöOe ‹Æ=*è¾æÔ°}çE/Œ§6µu EèXJ~½6\ÊÐÊ9Ìnð¬s‘®2N«hôvØâWÌKЮ™…»…£ò&[3šy�{X¶©öø#ì¥;)³›�‰eMS +±Äbè½-À¤xUÊûEýÈuSø à +÷ŒcÔhgäJBˆaBç£ +Á&7 „‹N�m�žûjA5æoªù­@ �(椴™Îjí^%0 Ù±záÊ ~b…g¡Ð•C�ß«„s ›áÞ¨c"~8yé8•1QEã÷ä…òï7š¤¼7Ñ®Cž3 übtgt, ùÐD…îŒ8h‹<íib0ÒiµUA[í&F^î/*Ötú!�AÜc§g¦u!cÍ�®€…t\dœ!ÐÏr7^N‡ÒÆ`•·3LA!¥°/U£‚�Æî†ÞQžC"Ýùá¾Èe �N›ô‹¡žSž{(8åÈ›¤lšŠÙ-U¯¸™@Ú½ûš4�Ì.žÞ®*Mü�o`Éç™/%ÌmU4i;F9`É�ýíäUŽÚ›-™š±!‘€MúìUI>§ý<8oÔE9r} +€2>@‘•¹g ú†”™¶�{ù.ê ú®>™•DRØiB*/ ­%ܮѕûagý1ÕªPQa«§n?û<€‘ö�Î…©’0tÂ6mâ} ´øx•bð¹…Öe-$]å9ÝÑaÍžc«WãdV…ëKlB‚ ,*ÝÄËraj"”ÀRDP@Gz4k¬ÇÆ7¸Î�bèçž�â»dœçd!8=VXuMHžè—Íñऄ{W†� °žS¯�ÚAUGO×-„åìeÿØÑ{«mþޯΒ +endstream +endobj +267 0 obj +<> +stream +xœ½\Y�·~ׯ­${Ç«åòfS¶Cò!_‚è-ʃWÈ�A²ÖÿGÐ3M6YÉ9œ—™Ýéf±Š¬"«¾*òî¯ÿùm÷ÕWw¿¾ýñÛ�|ýúÍ·oŸüw£6r#7·jãµ0^ké7!haœW›�ÿ¾û(7ßÈÍïwOÞ¼ßÈÍûÇ»¹QR¸Íû‡µõüõþß»þ ¥ü �?|ëå[¦o=?_þ Û[¥„1“QÓ¾á7Ë»|«úÛØ’ +ùãgéÒè­^þ~Ø~Úî@†£ðyn¾ôµŠ©ØFGð' ^5œù�ÙBŠu„ Êi»Æoo‘,™€¿«>áÌ:ñÎÂî´°@Èô�ž;Žâ»ùãnþø¢ËØ®&fÒ7ѯS{`—ÕП ýYÛƒãuhªe6wåæö–m¿hîʯ‘H-wìþýýOO¾{ÿä/O¾ûõí]¹¨Öjà&a\tþ�Z>H‹ó÷¦~9é;²_ ás^<}÷Ëo»^ÿc·mÉi&áœçÅT1· ßj{ktš ôù Ô5Ï«A,*)…óJ÷9ìNÄ^£¬ˆÞë®+–ªÕ0YH^9(Í®é€9�†­ÏÁÒÛ§¡õ�åà†S‹ÆT+-¬t>öUo&a[Ê�Öå°½ÕAHg¦h÷Ï~äÊM=S�gŽ–¬ˆz–†?û’{0qXy¿æ¼æüÄ=¸ÊìÓ–PW½©¹ê uc±tH›¬2ÂI9]ÂD×µ�çÀc´2kÎÕç´©ºÒ¨Ó0iYaòeÔúÏcñ»i°“ÁKåÿOC8aŒþü%A§Eªa­é�ôÝz§5” âô$´uòü¡|9>žªPh+œ—òœ� :ˆµ·¼ÃޏuÂØ8isÝóö²ÇeQ®7Ì®–ÖÆ)9^(£ ÃâÒQ„sàW&âÕ4;ž¬n5‰Äv 6ðìÝTÏÊî>ëô€�l¥¥mCI!þÃX¨ñöõHqZO1¯ +ÅzŒp…A˜@W ^fî±Ó×: ŒºÂ»°GTS´HŸ£«<´Öòû}ôÂùpz"Žì.lo½“³>d8 žpú!À ¤ñ‚bØFݦæv°f @ÄË÷H W�(·êCé5õ›Œ§ÃH( ðA¡Qæƒç7ÑùúvŒ¿Y£ô÷@År]­) ¸÷5ïLbRÑè{8�hã—<øü¯• Y‚l¤oÈ‚#6;#Ò«óm—Xž�!T¸oÞµ¯ +éF¶ÑZç© +êôS­÷ å‡Ñ´–ÀI ä²'uª(¥++÷òÝ�OõÍÀ>º9g…S!¥žˆDcýBayº:Ý¥Z*ãâÖ›$“Lúh¶1݈ΠöŒp^¥P‰¡±ÝW™ç�|}ÇÇbk¥O ÙÌì·ÀW÷¶u[è"zãÍü!óÇËz7æ� £+6H¡'kl¬ƒrHÍ¢š@ûÃ|)§/aܼ ì: +7Ùùºç-¨9ƾµ�ùI¸`Ï( +9ðû´-ÔÊgZ»˜5í°jƒxŸõ‰B6fBC!æYý^» [°‡hJšWDCÕ=ͺŸ‘à + �»eÅÈ@%[tUÎw�!¤v`§]}¦ž•1p­4|ÉÃ{;‰”<=¿ÛÆ{ÑKºk sMNH%ƒ´ �X¹“B;eÔ¡2àh3½×mÀÖ¸¼ø å×ëV7ãë?îm[ ÆHÖ P®º–€ã,7O±’â^¬ušÈÆCᇢVlgݲé0ôêvDíjòHvüÐë»àÅ{:vâi© Œ9’Å´^ñ4N G  "u*£pZO#«P;–»ˆ¡jTü`Åi+|´îY{^õ‡Æ´ +¼±"ëì‰CSï2÷¸–CÍåÖåŽJ")�ÁLlw†²€ ½“œŠ`�„uSQ£Ú¢åÆÁDàåô©â1…o"ëey.9rCdhmÆ{¶v=£Ñ¯Œê¥…¤B½Û—Âü2ü:ˆù#IëË7Í:A#özo ŽxŒ×ÂÆÃùÊ â.0wkz,¹ŒåžWkßH2ÉÐ5SÁ¸éì ÿsÍF®Uâ'åXP’Фÿm—‚FPÁpI-úKYv�T]îÆ�c3BÓjFìÜy•_Pz S6b süàè5„ -!e.(yª¶¤H€Rö.üÁ�.*¥ØØŸkõKÿŸš…^’P®+ÂÎ*f(™¦Í\È�H@֞ƀǑ8ÑMA?Éprœ(¥Ú®•Ú)éå�­Ø¶Ø›±ó¹´Ïã@d¬ðÖÅ%ª-jNKW—‰¬š4(üüDc5(q•rði RÀuGo@–½PúSƒßáóàXÒ`žYÔ$äÙK/y^�B¶²B¬l…ŠˆZX<`. mQáJ‰IFõ|‡"wøuOD’d_žþªa|­HÅ…Ù÷WÎ�j~iq³c@£ƒ‡ÜG%½RN…ň›8a»(µ¦t3ZûðÃ@º&­XîŠAĺjåº*ŠªÃÝtŠ­Øq(·Râ›fA’æ’†Ìa—Ã÷«cÏôbY‘á¯è *‰,’‘&N—QR%¼aÉåh…ÔÑ Øe7Qž|óFeq”é¤Êš`Ï_Úã +ñ©: × oÓÚÖ‚æ¢átžËrÿ‘õJÁ +ã´H`òyÉByH•¦±ÕI<‰Õ«)3Ø@QS@æGù9Ó×O ^›Lº!&w¬µöÑÉ%ƨô[‘Ý"¼pXÀ!W°´öÜP¹âpÝ+ªs…1ÆßKcœƒÅ_3C¦ðHùP¿:à„æ‹­jd3ESº€XsôTÀny3®eüÖ‰¦Ó³Íš9“:ãN ãJs°3@gudÐBÆWÌÔU£H/RïÔÛWf÷-5,½~~äBÂÁºF}QÅýQ—À¡ìd½JFÚrJ­MU,‹Ë» ä¼îö5©ÀÐbù–ÚBˆûx™? \¥K×3ÒÏø„ü±øÆŠÑB�Q"Lút +Õ’5{d�CùB±±î‹ðL(‘Æ^²¤Ü_ËædÍEª×¶t"NÑÝ„xU¤V� + &èõªÊ&p;¢öH2žë(»C5è`µ­‹Ý�wÏ,´LNyÄŽ¡ÇGaC�ZY9}E¾] âÜÃ$-koAãN¦³"Ž%0�\,^ßã�+Øøi¯W€ +¬Ö‘^,ÀZ¦còžu. @¬d‡R_À:Z.<_> +Jß°gFùð;wü#Œ\ÉÒçí4ÎÛDœt#©×çAö(kƒS_Ë„¶Ðy\å¡dÁ™ ØÂçÃ$¼M�À þiÔÚV­Q}Í,CÕÛŠ¥².e4¬Òt+«Nn.±Ú­‘pýá×L�:;{¢üøž¼È­§®®âïx…©ÇDlY¨Á¢w8êUˆ<ë.ûýÑDNÅð:püí*­ev2"N^êSíU”\„y�‡k`�†Æ/åZ�«ÊW¬Š€}[Y饻œ±Ø©Ú%ÞÎ{.lgSpjhSðV¨É4‘nÆV›¢¶·>u¿½•B[9§«*Bz€ƒR¯YàeýÀ´ +<"-1i~Šæ v‹"“z‡S´�}€¼¼ìmpíZF¡\ q`ȇ68)´ŒÖjµHq}?^Ó…¤ö_ñ-h»àJP©O@�'€Õn…1¿²ÝãTœ¬g— aVªAàäüù®K{p3l ¡®u°Î:)ÔäÝÉ[�my×]æ«cדJ[ ËÑ¡ïCĬ¨µâÉÖB6�¢ÙS[S< ªsñØâIâL~EÿûÆX¨cît¥Î´×!Ú&t8ű(ç6'˜îÀ…ý+IÙH±:½¸*å!©khñ±«eàN¥Ž ÛàŽÍÉóKC+Kj�*Ji.{æ¶¶¿‘ûFö2x¡‚±~‘5ݨ‡ç³~¯¾–?/®¨œYL¨©¬]þ€}µïëEÅåÛìÚÞ±"WÌF† /@÷]œ4¥›´ƒ“m BÜ k£pRE}-§¦·¶=íΑ�kHA]Ÿëæë|Œ=GŠÃNÀÞ*á[ ç¬S”Êž\ñúÙð%›À5ñþJqÁŸÛVLcÌ$¢‘þ ˜‚º¹³Àaö@ +µŽ cÅ«Ùýe +å$«ÁëäÑÿ ž^„ +endstream +endobj +268 0 obj +<> +stream +xœu�±JÃPFOŒµUªv¬DœD@¤`]\Ú +F§ëMkŠIˆ¹‘RŸB|êê&Ø¥Žn‚ऋ¸º(¸H¹rëTųüË9ð`ù� Õ¨a”&åʺ»ãî:Ùl +Œ3Ŭ�*ÞªnÔ”h)™&C|>b™û°ä‹ÈëÞìçº�«é»“æõAçívØýCÆ«+ ô€y')ð +̵Ò8+¤/<°ŠÀâa­RkpÂàØ´óA¾mWÓQ”Ihÿ㌠œ%–Álþ½E5VW~ªüdžµþX€ì)ôÏ´þ:׺öôŽb‘ˆ�k#�&¼_¤ 3÷0±÷ ØIì +endstream +endobj +269 0 obj +<> +stream +xœ}�¿KqÆ?×U–X 94%MQKS�†Nø#Ô¦óüQ vÝ÷BšË¡©hˆFk ¢ÙÆú‚ ! +¢­Õ †’‹¯ZPÏò~xx^Þ—”ç¼QÝжùµx"©¹^PñÒÏ cº!ÌåH0 + ô’0l+ϽߣÈy7½®Ó;¯×«É¥º;QŽ?V.ø_îtFÀà3LËEÆK¶)y ðëz”80eÅIPö¤Ÿkñ‰äT‹/%[Ñp” å:8ÕÁ…ü¶¼+%¿÷dбÐŒ"ÂÿG¦·™ `d_¿{Ù¹ÙÖ–gzžçm\‡Ð8rœÏSÇiœ�úµ­öþfæë ´½Ô1\íÃÈCÛóU`¨ ÕS·ô¦¥]Ù ¨ŸÃ@†oÁ½ö ãâ_± +endstream +endobj +270 0 obj +<> +endobj +271 0 obj +<> +stream +Typst 0.15.0en2026-07-06T08:35:32-03:002026-07-06T08:35:32-03:004application/pdfryCwVs21NRYeVZORaVGmEw==ryCwVs21NRYeVZORaVGmEw==proof1.7 +endstream +endobj +272 0 obj +<>/ViewerPreferences<>/Outlines 11 0 R>> +endobj +xref +0 273 +0000000000 65535 f +0000000016 00000 n +0000000093 00000 n +0000000169 00000 n +0000000255 00000 n +0000000347 00000 n +0000000429 00000 n +0000000544 00000 n +0000000626 00000 n +0000000730 00000 n +0000000844 00000 n +0000000980 00000 n +0000001047 00000 n +0000001241 00000 n +0000002267 00000 n +0000004312 00000 n +0000005154 00000 n +0000005700 00000 n +0000005771 00000 n +0000005832 00000 n +0000005899 00000 n +0000005981 00000 n +0000006054 00000 n +0000006125 00000 n +0000006207 00000 n +0000006279 00000 n +0000006363 00000 n +0000006435 00000 n +0000006553 00000 n +0000006623 00000 n +0000006693 00000 n +0000006838 00000 n +0000006906 00000 n +0000006978 00000 n +0000007096 00000 n +0000007227 00000 n +0000007295 00000 n +0000007423 00000 n +0000007495 00000 n +0000007565 00000 n +0000007635 00000 n +0000007745 00000 n +0000007813 00000 n +0000007885 00000 n +0000007955 00000 n +0000008025 00000 n +0000008095 00000 n +0000008165 00000 n +0000008235 00000 n +0000008305 00000 n +0000008375 00000 n +0000008526 00000 n +0000008598 00000 n +0000008670 00000 n +0000008767 00000 n +0000008839 00000 n +0000008909 00000 n +0000008979 00000 n +0000009049 00000 n +0000009119 00000 n +0000009189 00000 n +0000009259 00000 n +0000009329 00000 n +0000009399 00000 n +0000009469 00000 n +0000009640 00000 n +0000009710 00000 n +0000009788 00000 n +0000009929 00000 n +0000009997 00000 n +0000010129 00000 n +0000010253 00000 n +0000010371 00000 n +0000010440 00000 n +0000010511 00000 n +0000010580 00000 n +0000010649 00000 n +0000010757 00000 n +0000010845 00000 n +0000010913 00000 n +0000010981 00000 n +0000011067 00000 n +0000011153 00000 n +0000011233 00000 n +0000011319 00000 n +0000011405 00000 n +0000011485 00000 n +0000011571 00000 n +0000011660 00000 n +0000011715 00000 n +0000011783 00000 n +0000011869 00000 n +0000012009 00000 n +0000012094 00000 n +0000012235 00000 n +0000012344 00000 n +0000012485 00000 n +0000012578 00000 n +0000012679 00000 n +0000012734 00000 n +0000012907 00000 n +0000013089 00000 n +0000013215 00000 n +0000013469 00000 n +0000013542 00000 n +0000013615 00000 n +0000013717 00000 n +0000013797 00000 n +0000013870 00000 n +0000013947 00000 n +0000014049 00000 n +0000014124 00000 n +0000014245 00000 n +0000014320 00000 n +0000014441 00000 n +0000014555 00000 n +0000014635 00000 n +0000014763 00000 n +0000014891 00000 n +0000015019 00000 n +0000015099 00000 n +0000015227 00000 n +0000015355 00000 n +0000015483 00000 n +0000015563 00000 n +0000015691 00000 n +0000015819 00000 n +0000015947 00000 n +0000016027 00000 n +0000016155 00000 n +0000016283 00000 n +0000016411 00000 n +0000016491 00000 n +0000016566 00000 n +0000016687 00000 n +0000016762 00000 n +0000016883 00000 n +0000017015 00000 n +0000017095 00000 n +0000017223 00000 n +0000017351 00000 n +0000017479 00000 n +0000017559 00000 n +0000017730 00000 n +0000017841 00000 n +0000017912 00000 n +0000017983 00000 n +0000018056 00000 n +0000018128 00000 n +0000018200 00000 n +0000018272 00000 n +0000018344 00000 n +0000018416 00000 n +0000018585 00000 n +0000018657 00000 n +0000018749 00000 n +0000018821 00000 n +0000018900 00000 n +0000018972 00000 n +0000019044 00000 n +0000019116 00000 n +0000019188 00000 n +0000019260 00000 n +0000019332 00000 n +0000019404 00000 n +0000019562 00000 n +0000019663 00000 n +0000019737 00000 n +0000019809 00000 n +0000019881 00000 n +0000019992 00000 n +0000020102 00000 n +0000020177 00000 n +0000020260 00000 n +0000020334 00000 n +0000020406 00000 n +0000020478 00000 n +0000020550 00000 n +0000020622 00000 n +0000020767 00000 n +0000020841 00000 n +0000020913 00000 n +0000020985 00000 n +0000021057 00000 n +0000021130 00000 n +0000021330 00000 n +0000021403 00000 n +0000021474 00000 n +0000021545 00000 n +0000021616 00000 n +0000021688 00000 n +0000021760 00000 n +0000021832 00000 n +0000021904 00000 n +0000021976 00000 n +0000022048 00000 n +0000022235 00000 n +0000022309 00000 n +0000022381 00000 n +0000022453 00000 n +0000022525 00000 n +0000022603 00000 n +0000022724 00000 n +0000022798 00000 n +0000022870 00000 n +0000022973 00000 n +0000023047 00000 n +0000023127 00000 n +0000023201 00000 n +0000023287 00000 n +0000023359 00000 n +0000023519 00000 n +0000023591 00000 n +0000023665 00000 n +0000023756 00000 n +0000024135 00000 n +0000024172 00000 n +0000024209 00000 n +0000024262 00000 n +0000024314 00000 n +0000024366 00000 n +0000024419 00000 n +0000024471 00000 n +0000024523 00000 n +0000024576 00000 n +0000024629 00000 n +0000024682 00000 n +0000024816 00000 n +0000024950 00000 n +0000025084 00000 n +0000025218 00000 n +0000025367 00000 n +0000025944 00000 n +0000026152 00000 n +0000026304 00000 n +0000027149 00000 n +0000027360 00000 n +0000027500 00000 n +0000027716 00000 n +0000027955 00000 n +0000028115 00000 n +0000028321 00000 n +0000028534 00000 n +0000028679 00000 n +0000028899 00000 n +0000029144 00000 n +0000029272 00000 n +0000029400 00000 n +0000029528 00000 n +0000029656 00000 n +0000029739 00000 n +0000030381 00000 n +0000034852 00000 n +0000034934 00000 n +0000035714 00000 n +0000046346 00000 n +0000046428 00000 n +0000047197 00000 n +0000059607 00000 n +0000059684 00000 n +0000060115 00000 n +0000060587 00000 n +0000060666 00000 n +0000061134 00000 n +0000065576 00000 n +0000071392 00000 n +0000077480 00000 n +0000083396 00000 n +0000087336 00000 n +0000087679 00000 n +0000088086 00000 n +0000088199 00000 n +0000089272 00000 n +trailer +<> +startxref +89459 +%%EOF \ No newline at end of file diff --git a/docs/design.typ b/docs/design.typ new file mode 100644 index 00000000..382063cd --- /dev/null +++ b/docs/design.typ @@ -0,0 +1,246 @@ +#set page(margin: 2.2cm) +#set text(font: "New Computer Modern", size: 10.5pt) +#set par(justify: true) +#show heading: set block(above: 1.4em, below: 0.8em) + +#align(center)[ + #text(17pt)[*Pardes: A Text Environment*] + + #text(11pt)[design for the rewrite — 2026-07-05] +] + += What it is + +Pardes is a text environment in the acme tradition: columns of panes, each pane a +tag line plus a body; the body is a live terminal, a file, or an image. The mouse +carries meaning — left selects, middle executes, right looks. Everything on screen +is text and all text is equally alive, whether the shell printed it or the user +typed it. + +It runs in three places: the terminal (libvaxis), a native SDL3 window (the +steamdeck), and the browser (wasm + SDL3 + emscripten). The rewrite exists because +the prototype grew three parallel implementations of one program. The rewrite has +exactly one program and three thin shells. + += The shape + +Pardes is a *library*, in the way ghostty-vt is a library: you feed it bytes and +events, and you read state out of it. Every platform owns its own event loop and +its own renderer; the core owns everything the user would recognize as pardes. + +#table( + columns: (auto, 1fr), + stroke: 0.4pt, + [*core*], [layout, panes, modes, selection, click semantics, themes, text of the + UI. Pure state machine: `update(event)` mutates, `surface()` describes. No + syscalls, no rendering, no event loop.], + [*shell*], [one file per platform. Owns the event loop, translates native input + into core events, renders the core's surface, and performs the core's + requested effects (spawn a shell, write a pty, open a link).], +) + +This also collapses the prototype's *two* applications into one: the browser +build today is a separate 800-line read-only replay viewer. In the rewrite, +loading a dump of another instance is a first-class feature of the one +application, the way acme handles dumps: `pardes -l state.zon` on every +platform reconstructs the panes (terminals by replaying their raw VT streams +into fresh emulators, files and images from their bytes). The web shell embeds +a dump and leaves `spawn` unanswered. Same core, no viewer fork. + +The boundary is two data types, both plain values: + +*Event* (in): `key`, `text`, `mouse` (press/release/motion; button left, middle, +right; cell position), `wheel`, `pinch`, `resize`, and `output` (bytes a pty +produced, tagged with the pane id). A touch tap is a left press; a joystick +cursor is a motion plus buttons; the shells do this translation and nothing else +with input. One event vocabulary, three dialects translated at the door. + +*Surface* (out): a grid of cells — grapheme, fg, bg, attrs — plus a cursor and +per-pane rectangles. This is the *canonical interface*: it is literally what the +tty shell hands to vaxis, cell by cell. The SDL shells rasterize the same grid +through a glyph atlas. If it cannot be expressed in the surface, it does not +exist in pardes. (Pixel images ride along as an attachment per pane: the SDL +shells blit RGBA, the tty shell falls back to the petscii matcher, kitty +graphics when available.) + +*Effect* (out, queued): `spawn{pane, cwd}`, `write{pane, bytes}`, +`resize_pty{pane, cols, rows}`, `open_link{url}`, `read_file{path}`, +`set_clipboard`, `bell`, `quit`. The core never performs IO; it asks. This is +what makes the browser build honest instead of a fork: a wasm shell simply +answers `spawn` differently (or not at all) — the core does not know. + +Platform divergence inside the core is a comptime tag, used the way the stdlib +uses `os.tag`: + +```zig +pub const Platform = enum { tty, gui, web }; +// in look.zig: +if (platform == .web and target.kind == .url) + return .{ .open_link = target.text }; +``` + +There is one such file by design: `look.zig` holds *what a click on text means* — +expansion of the word under the click (acme's `isfilec`), path/`:line` +resolution, url detection, and the per-platform outcomes, kept adjacent so the +divergence is visible in one screenful. + += Data structures + +The whole state is one struct, sized at init, no hidden allocation after: + +```zig +Pardes + cols: []Col // col: weight + pane ids, top to bottom + panes: []Pane // slot array; id = index + active: Pane.Id + drag: Drag // none | select | move | border | scrollbar + theme: u2 // index into themes + colors_on: bool + surface: Surface // rebuilt by surface(), arena-backed + effects: Fifo(Effect) + +Pane + tag: TagLine // live prefix (mode, cwd/path) + editable tail + kind: union { term: Term, file: File, image: Image } + vweight: f32 + mode: enum { normal, insert, tty } // helix-modal; tty = raw to the pty + cursor: absolute body position // rides the scrollback, not the screen + sel: [3]Sel + line/char modal sels // per-button block sels, msel, vsel + edits: Splice // typed runs anchored to absolute rows + undo: edit snapshots // unified undo across term edits and file content + +Term = ghostty-vt Terminal + its stream (bytes in via Event.output) +File = path + bytes + line index + Syn (tree-sitter highlight bytes) +Image = decoded RGBA + petscii grid cache +``` + +Layout is arithmetic, not objects: columns are weights over the width, panes are +weights over the column. `splitBelow` shrinks only the source pane; +`absorbVWeight` gives a dying pane's weight to one sibling; an emptied column +hands its width to a neighbor. Minimal motion is the invariant: an operation on +one pane may not move panes it does not touch. + += Style + +TigerStyle, plus house rules proven in the prototype: imperative and flat; one +big `update` dispatch, not handler objects; no one-line helpers — inline the +four-line scan; assert invariants at entry (`assert(vsum > 0)`); static +allocation at init, arenas per frame. The metric is lines of code; the number +only goes down. As built, against the prototype's 12,072 lines of Zig: + +#table( + columns: (auto, auto, 1fr), + stroke: 0.4pt, + [*module*], [*lines*], [], + [core (pardes.zig + look.zig + syntax + image + dump)], [4,289], [all semantics, all platforms], + [modal.zig + petscii.zig (pure, unit-testable)], [1,410], [carried over, unchanged], + [shells (tty.zig; gui.zig = sdl native + web)], [2,768], [translate + rasterize only], + [main.zig + build.zig], [484], [three targets, codegen for queries], + [*application total*], [*7,626*], [vs 12,072 — three full backends instead of one and a half], + [snapshot harness (snapshot.zig + e2e_harness.zig)], [831], [the parity oracle, kept], +) + += Testing: the old program is the oracle + +Before the rewrite compiled, the prototype got a harness (`snapshot.zig`, the +`zig build snap` step): it forks either binary in a pty, feeds it an *event +script* (one line per input: keys, SGR mouse, resizes, sync points), and +captures the rendered grid — text, cursor, and per-cell style runs — through +its own ghostty terminal. Goldens are generated from the old binary +(`zig build snap -- --update`); the new binary must reproduce them byte for +byte (`pardes-snap pardes/zig-out/bin/pardes`). Eighteen scripts cover the +checklist in Appendix A; all pass. Determinism pins: fixed workdir paths (they +appear in tags), a controlled `$HOME` with `PS1='$ '`, `LC_ALL=C`, and a +grid-stability sync primitive instead of timing guesses. + +Three deliberate deviations surfaced by the oracle, kept after review: the +greeting `ls` waits for the shell's first output (the prototype raced bash's +startup and won only by allocator luck); dump files compare with base64 pty +history elided (it encodes prompt-redraw micro-timing, not state — the cleaned +text fields are the contract); and typed insert runs don't survive a dump +replay (they are an overlay, not pty bytes — the prototype's replay viewer had +the same semantics). + +Shell correctness (that SDL draws the grid it was given, that vaxis diffs +correctly) is out of snapshot scope and covered by each shell's single smoke +test. + += Build + +`zig build` produces three statically linked artifacts: `pardes` (vaxis), +`pardes-gui` (SDL3), `pardes.wasm` + shell page (emscripten). Same dependency +set as the prototype — ghostty, vaxis, uucode (shared config), zstbi, SDL +(castholm, lazy), zig-tree-sitter + grammars — all via `zig fetch`, wired in +`build.zig`. Codegen during build, consumed by comptime: tree-sitter +`highlights.scm` → options module; tutor text → embedded pane content. Debug +builds are incremental for the seconds-loop; release builds are the product. + += What is deliberately absent + +No render abstraction over the shells (the surface *is* the abstraction). No +config files. No plugin system. No async runtime in the core — the shells may +thread, the core is single-threaded by construction. No 9P yet — but the +library boundary is exactly where acme put the file server, and a fourth shell +could serve `Surface` and `Event` over 9P without touching the core. + += Appendix A: feature parity checklist + +From the prototype survey; every line is covered by at least one of the +eighteen event scripts in `test/snapshots/` (boot, tty, edit, scroll, modal, +look-file, look-dir, exec, tag, theme, tutor, windowops, dump, load, ttyonly, +syntax, fileedit, images). + +*Layout.* Columns by weight (≤6), panes by vweight (≤16); global topbar; +per-pane gutter (move box + scrollbar) and tag row; `splitBelow` shrinks only +the source (cursor row kept visible); dying pane's weight absorbed by one +sibling; emptied column hands width to a neighbor; border-drag resize on a +pane's own trailing edge (v and h), hover shows `╎`/`╌` glyph-only hints; +move-drag via the gutter box with preview; Alt-n new shell below, Alt-c move +pane to new column; Ctrl-w h/j/k/l directional focus; `--tty` single-pane mode. + +*Mouse.* Left: select (block, stays highlighted after drag, pins cursor, +enters normal), click clears, tag-row click enters tag edit, scrollbar +click scrolls up-to-row (right button: down), border/move drags. Middle: +execute — no-drag expands to file-ish word (alnum `.-+/:@_~`); builtin or send +to shell; does not focus. Right: look — peel `:NNN`, resolve against pane cwd +(`/proc/pid/cwd`) or file's dir; dir → shell + `ls` in source column (dedup by +cwd), file → file pane at line (dedup by path, first doc opens left column and +may evict a lone pristine shell; later docs split below the existing doc), +image ext → image pane. Middle+left chord: kept left selection appended as +trailing CLI argument. Wheel: scroll hovered pane, batched. + +*Modes.* normal: helix motions (`h j k l w b e W B E 0 $ ^ gg ge gh gl G`, +`Ctrl-d/u/f/b`, `zt zz zb`), insert entries (`i a I A o O`), `v`/`x` +selections, `d c y p u U`, Enter=look Tab=execute at cursor. insert: +click-and-type; terminals get splice runs (shift right, never overwrite; +absolute-row anchored), files get real edits. tty: raw pty forwarding +(Ctrl-key toggle, default Ctrl-b, `--tty-toggle`), mouse still usable, +promptClickMove on entry, prompts visible (hidden in the other modes via +OSC 133). `p` pastes from system clipboard (OSC 52 request/reply); yank +mirrors out via OSC 52. + +*Tag.* Live prefix (mode indicator, cwd or path) + editable tail with the +full modal editor; defaults `Del` / `Save Del`; image tags are toggle words +(`Petscii C64|Term Ascii`). Topbar: `Kill Newcol Tutor Debug Colors NextColor +Dump` — execute-only (left click inert). + +*Panes.* Terminal: ghostty-vt, 16 MiB scrollback, OSC 133 prompt semantics, +OSC 7 cwd, DSR/DA/kitty-query replies (write_pty + device_attributes — the +nushell/helix regression), greeting `ls`, auto-follow output unless +navigating. File: line-number gutter (fixed width), tree-sitter highlights +(c/cpp/zig minimal tier; 25 grammars full tier; re-highlight on edit, +visible-range first), Save, open-at-line, undo/redo. Image: zstbi decode, +kitty graphics when available, petscii matcher fallback (C64/terminal +palettes, ascii glyph set toggle). Tutor: embedded text as file pane. + +*Chrome.* Themes dark + acme-light (terminal-native vs paletted); Colors +toggles all recolor passes; Debug stats overlay; Dump writes state ZON. + +*Web (replay viewer parity).* Embedded dump; focus, border/move drags, wheel, +scrollbar, Colors/NextColor, pinch + touch (two-finger = middle), render +scale, link-look opens a new tab (new — the prototype has no web link +handling). SDL shells: stb_truetype atlas over the SDL GPU API (SPIR-V on +native, GLES3 on web), letterboxed web scaling, two-finger drag = wheel, tap += middle click, pinch, touch debug overlay, `PARDES_TEST` PPM capture and +`PARDES_TEST_GRID` text-grid capture. Joystick cursor for the steamdeck is +*new* scope — the prototype ships no gamepad input. diff --git a/docs/ideas.typ b/docs/ideas.typ new file mode 100644 index 00000000..f4faf810 --- /dev/null +++ b/docs/ideas.typ @@ -0,0 +1,13 @@ +- grep shows treesitter context around + - this could be implemented as a separate binary +- clickable file:lines show somehow (as highlights or something else) + - is line above of below middle one on the editor + - is this on the same file as open on the editor + +- clickable things for the mouse should be navigatable with the keyboard + - like if I get some search results I can just use tab to navigate them, the editor should know: + - semantic boundaries (maybe just jump to the next clickable thing?) + +- undo for everything? + - I want search results in general to be logged, that's one of the reasons why the tty is a good fit + - so it'd be cool to undo that too? -- cgit v1.3