├── LICENSE ├── README.md ├── item_recommendation ├── main.py ├── ml-100k │ ├── dis-train.txt │ ├── dis_log.txt │ ├── gan_generator.pkl │ ├── gen_log.txt │ ├── model_dns_ori.pkl │ ├── movielens-100k-test.txt │ └── movielens-100k-train.txt ├── models.py └── utils.py └── ltr-gan ├── eval ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-35.pyc │ ├── map.cpython-35.pyc │ ├── mrr.cpython-35.pyc │ ├── ndcg.cpython-35.pyc │ └── precision.cpython-35.pyc ├── map.py ├── mrr.py ├── ndcg.py └── precision.py ├── main.py └── models.py /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Wang Hao 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # IRGAN-pytorch 2 | The pytorch implementation of IRGAN 3 | -------------------------------------------------------------------------------- /item_recommendation/main.py: -------------------------------------------------------------------------------- 1 | import os 2 | import time 3 | import random 4 | import numpy as np 5 | import torch 6 | import torch.nn as nn 7 | import torch.nn.parallel 8 | import torch.optim 9 | import torch.utils.data 10 | import torchvision.transforms as transforms 11 | import torchvision.datasets as datasets 12 | import torchvision.models as models 13 | import torch.backends.cudnn as cudnn 14 | from tqdm import tqdm 15 | import pdb 16 | import pickle 17 | import torch.nn.functional as F 18 | from models import * 19 | import utils as ut 20 | import multiprocessing 21 | 22 | 23 | cores = multiprocessing.cpu_count() 24 | 25 | ######################################################################################### 26 | # Hyper-parameters 27 | ######################################################################################### 28 | EMB_DIM = 5 29 | USER_NUM = 943 30 | ITEM_NUM = 1683 31 | BATCH_SIZE = 16 32 | INIT_DELTA = 0.05 33 | 34 | all_items = set(range(ITEM_NUM)) 35 | workdir = 'ml-100k/' 36 | DIS_TRAIN_FILE = workdir + 'dis-train.txt' 37 | os.environ['CUDA_VISIBLE_DEVICES']='0' 38 | device = [0] 39 | 40 | ######################################################################################### 41 | # Load data 42 | ######################################################################################### 43 | user_pos_train = {} 44 | with open(workdir + 'movielens-100k-train.txt')as fin: 45 | for line in fin: 46 | line = line.split() 47 | uid = int(line[0]) 48 | iid = int(line[1]) 49 | r = float(line[2]) 50 | if r > 3.99: 51 | if uid in user_pos_train: 52 | user_pos_train[uid].append(iid) 53 | else: 54 | user_pos_train[uid] = [iid] 55 | 56 | user_pos_test = {} 57 | with open(workdir + 'movielens-100k-test.txt')as fin: 58 | for line in fin: 59 | line = line.split() 60 | uid = int(line[0]) 61 | iid = int(line[1]) 62 | r = float(line[2]) 63 | if r > 3.99: 64 | if uid in user_pos_test: 65 | user_pos_test[uid].append(iid) 66 | else: 67 | user_pos_test[uid] = [iid] 68 | 69 | # all_users = user_pos_train.keys() 70 | # all_users.sort() 71 | 72 | print("load model...") 73 | with open("ml-100k/model_dns_ori.pkl", "rb") as f: 74 | param = pickle.load(f, encoding='latin1') 75 | 76 | with torch.cuda.device(device[0]): 77 | 78 | G_user_embeddings = torch.autograd.Variable(torch.tensor(param[0]).cuda(), requires_grad=True) 79 | G_item_embeddings = torch.autograd.Variable(torch.tensor(param[1]).cuda(), requires_grad=True) 80 | G_item_bias = torch.autograd.Variable(torch.tensor(param[2]).cuda(), requires_grad=True) 81 | 82 | D_user_embeddings = torch.autograd.Variable((torch.ones(USER_NUM, EMB_DIM)).cuda(), requires_grad=True) 83 | D_item_embeddings = torch.autograd.Variable((torch.ones(ITEM_NUM, EMB_DIM)).cuda(), requires_grad=True) 84 | D_item_bias = torch.autograd.Variable((torch.zeros(ITEM_NUM)).cuda(), requires_grad=True) 85 | 86 | criterion = torch.nn.DataParallel(L2Loss(), device_ids=device) 87 | criterion.cuda() 88 | 89 | DG_init = [D_user_embeddings, D_item_embeddings] 90 | for params in DG_init: 91 | torch.nn.init.uniform_(params, a=0.05, b=-0.05) 92 | 93 | generator = torch.nn.DataParallel(Generator(G_user_embeddings, G_item_embeddings, G_item_bias), device_ids=device) 94 | generator.cuda() 95 | discriminator = torch.nn.DataParallel(Discriminator(D_user_embeddings, D_item_embeddings, D_item_bias), device_ids=device) 96 | discriminator.cuda() 97 | 98 | G_params = list(generator.parameters()) + [G_user_embeddings, G_item_embeddings, G_item_bias] 99 | optimizer_G = torch.optim.SGD(G_params, lr = 0.001, momentum=0.9) 100 | D_params = list(discriminator.parameters()) + [D_user_embeddings, D_item_embeddings, D_item_bias] 101 | optimizer_D = torch.optim.SGD(D_params, lr = 0.001, momentum=0.9) 102 | lamda=0.1 / BATCH_SIZE 103 | 104 | def dcg_at_k(r, k): 105 | r = np.asfarray(r)[:k] 106 | return np.sum(r / np.log2(np.arange(2, r.size + 2))) 107 | 108 | 109 | def ndcg_at_k(r, k): 110 | dcg_max = dcg_at_k(sorted(r, reverse=True), k) 111 | if not dcg_max: 112 | return 0. 113 | return dcg_at_k(r, k) / dcg_max 114 | 115 | def simple_test_one_user(x): 116 | # import pdb; pdb.set_trace() 117 | rating = x[0] 118 | u = x[1] 119 | 120 | test_items = list(all_items - set(user_pos_train[u])) 121 | item_score = [] 122 | for i in test_items: 123 | item_score.append((i, rating[i])) 124 | 125 | item_score = sorted(item_score, key=lambda x: x[1]) 126 | item_score.reverse() 127 | item_sort = [x[0] for x in item_score] 128 | 129 | r = [] 130 | for i in item_sort: 131 | if i in user_pos_test[u]: 132 | r.append(1) 133 | else: 134 | r.append(0) 135 | 136 | p_3 = np.mean(r[:3]) 137 | p_5 = np.mean(r[:5]) 138 | p_10 = np.mean(r[:10]) 139 | ndcg_3 = ndcg_at_k(r, 3) 140 | ndcg_5 = ndcg_at_k(r, 5) 141 | ndcg_10 = ndcg_at_k(r, 10) 142 | 143 | return np.array([p_3, p_5, p_10, ndcg_3, ndcg_5, ndcg_10]) 144 | 145 | def simple_test(model): 146 | result = np.array([0.] * 6) 147 | pool = multiprocessing.Pool(cores) 148 | batch_size = 128 149 | test_users = list(user_pos_test.keys()) 150 | test_user_num = len(test_users) 151 | index = 0 152 | while True: 153 | if index >= test_user_num: 154 | break 155 | user_batch = test_users[index:index + batch_size] 156 | index += batch_size 157 | 158 | user_batch_rating = generator.module.all_rating(user_batch) 159 | user_batch_rating = user_batch_rating.detach_().cpu().numpy() 160 | 161 | user_batch_rating_uid = zip(user_batch_rating, user_batch) 162 | batch_result = pool.map(simple_test_one_user, user_batch_rating_uid) 163 | for re in batch_result: 164 | result += re 165 | 166 | pool.close() 167 | ret = result / test_user_num 168 | ret = list(ret) 169 | return ret 170 | 171 | def generate_for_d(model, filename): 172 | data = [] 173 | 174 | for u in user_pos_train: 175 | pos = user_pos_train[u] 176 | 177 | rating = generator.module.all_rating(u) 178 | rating = rating.detach_().cpu().numpy() 179 | 180 | rating = np.array(rating) / 0.2 # Temperature 181 | exp_rating = np.exp(rating) 182 | prob = exp_rating / np.sum(exp_rating) 183 | 184 | neg = np.random.choice(np.arange(ITEM_NUM), size=len(pos), p=prob.reshape(-1,)) 185 | for i in range(len(pos)): 186 | data.append(str(u) + '\t' + str(pos[i]) + '\t' + str(neg[i])) 187 | 188 | with open(filename, 'w')as fout: 189 | fout.write('\n'.join(data)) 190 | 191 | dis_log = open(workdir + 'dis_log.txt', 'w') 192 | gen_log = open(workdir + 'gen_log.txt', 'w') 193 | 194 | def main(): 195 | 196 | best = 0. 197 | gen_log = open(workdir + 'gen_log.txt', 'w') 198 | for epoch in range(15): 199 | if epoch >= 0: 200 | for d_epoch in range(100): 201 | if d_epoch % 5 == 0: 202 | generate_for_d(generator, DIS_TRAIN_FILE) 203 | train_size = ut.file_len(DIS_TRAIN_FILE) 204 | index = 1 205 | while True: 206 | if index > train_size: 207 | break 208 | if index + BATCH_SIZE <= train_size + 1: 209 | input_user, input_item, input_label = ut.get_batch_data(DIS_TRAIN_FILE, index, BATCH_SIZE) 210 | else: 211 | input_user, input_item, input_label = ut.get_batch_data(DIS_TRAIN_FILE, index, 212 | train_size - index + 1) 213 | index += BATCH_SIZE 214 | # pre_logits = discriminator.module.pre_logits(input_user, input_item) 215 | D_loss = discriminator(input_user, input_item, torch.tensor(input_label)) \ 216 | + lamda * (criterion(D_user_embeddings) + criterion(D_item_embeddings) + criterion(D_item_bias)) 217 | 218 | optimizer_D.zero_grad() 219 | D_loss.backward() 220 | optimizer_D.step() 221 | print("\r[D Epoch %d/%d] [loss: %f]" %(d_epoch, 100, D_loss.item())) 222 | 223 | for g_epoch in range(50): 224 | for u in user_pos_train: 225 | sample_lambda = 0.2 226 | pos = user_pos_train[u] 227 | rating = generator.module.all_logits(u) 228 | rating = rating.detach_().cpu().numpy() 229 | 230 | exp_rating = np.exp(rating) 231 | prob = exp_rating / np.sum(exp_rating) # prob is generator distribution p_\theta 232 | 233 | pn = (1 - sample_lambda) * prob 234 | pn[pos] += sample_lambda * 1.0 / len(pos) 235 | # Now, pn is the Pn in importance sampling, prob is generator distribution p_\theta 236 | 237 | sample = np.random.choice(np.arange(ITEM_NUM), 2 * len(pos), p=pn) 238 | ########################################################################### 239 | # Get reward and adapt it with importance sampling 240 | ########################################################################### 241 | reward = discriminator.module.get_reward(u, sample) 242 | reward = reward.detach_().cpu().numpy() * prob[sample] / pn[sample] 243 | ########################################################################### 244 | # Update G 245 | ########################################################################### 246 | with torch.cuda.device(device[0]): 247 | G_loss = generator(u, torch.tensor(sample), torch.tensor(reward)) 248 | optimizer_G.zero_grad() 249 | G_loss.backward() 250 | optimizer_G.step() 251 | print("\r[G Epoch %d/%d] [loss: %f]" %(g_epoch, 50, G_loss.item())) 252 | result = simple_test(generator) 253 | print("epoch ", epoch, "gen: ", result) 254 | buf = '\t'.join([str(x) for x in result]) 255 | gen_log.write(str(epoch) + '\t' + buf + '\n') 256 | gen_log.flush() 257 | 258 | gen_log.close() 259 | 260 | if __name__ == '__main__': 261 | main() -------------------------------------------------------------------------------- /item_recommendation/ml-100k/dis_log.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hwang1996/IRGAN-pytorch/b00825958cec2095916d13be85dfcb24eb239f75/item_recommendation/ml-100k/dis_log.txt -------------------------------------------------------------------------------- /item_recommendation/ml-100k/gen_log.txt: -------------------------------------------------------------------------------- 1 | 0 0.3845029239766085 0.34912280701754367 0.29758771929824507 0.39806836729488826 0.3757710068937478 0.3523675349782979 2 | 0 0.3852339181286554 0.34999999999999976 0.2980263157894732 0.3995017145972703 0.37714006402099165 0.35280310449001706 3 | 0 0.38304093567251496 0.3499999999999997 0.2986842105263153 0.3987176697312169 0.37776255421618543 0.3540111740412319 4 | 0 0.38230994152046816 0.3499999999999997 0.2991228070175433 0.39896274487837136 0.3783054103767733 0.3548202225268606 5 | 0 0.3837719298245617 0.35043859649122777 0.2995614035087714 0.3994596630918558 0.37831509166280797 0.35496304412809565 6 | 0 0.38596491228070207 0.3513157894736839 0.3015350877192977 0.4015179031182715 0.3793519315123323 0.35663059480048165 7 | 0 0.39035087719298267 0.35131578947368386 0.30263157894736775 0.40527897530651863 0.3802133961437224 0.3582495806266126 8 | 0 0.3932748538011699 0.35175438596491193 0.3026315789473678 0.4072024729032095 0.3805920997750988 0.35844905951526873 9 | 0 0.3947368421052635 0.3535087719298243 0.3035087719298239 0.4082315929164173 0.38188959617060986 0.35939176658385247 10 | 0 0.3954678362573102 0.35482456140350843 0.3041666666666661 0.4087691610050759 0.3828513264490167 0.3601622304770135 11 | 0 0.39766081871345055 0.35833333333333306 0.30438596491228004 0.4097982810182836 0.38500623031088554 0.36024201411153445 12 | 0 0.3991228070175443 0.3587719298245611 0.304166666666666 0.41134196103809534 0.38577523211043535 0.3605922300602126 13 | 0 0.399853801169591 0.36008771929824535 0.304605263157894 0.411966853762129 0.3867898145498484 0.361102200250789 14 | 0 0.400584795321638 0.36140350877192956 0.3052631578947362 0.4122363386215785 0.3875926341804415 0.3615493661402419 15 | 0 0.4013157894736848 0.3627192982456137 0.30460526315789405 0.41277530834047743 0.38852502788896176 0.36130247957229505 16 | 0 0.4013157894736848 0.36228070175438576 0.3054824561403503 0.4132898683470814 0.38863394129454787 0.3622686461527975 17 | 0 0.4013157894736846 0.3627192982456138 0.3063596491228064 0.41291005077020215 0.3884255855272264 0.3627914942476504 18 | 0 0.40204678362573154 0.364035087719298 0.3089912280701749 0.4142499641141256 0.38989873007176906 0.36559561078725367 19 | 0 0.4042397660818718 0.36447368421052606 0.309210526315789 0.41666361200512525 0.3910279038302273 0.36657218444330664 20 | 0 0.4013157894736846 0.36359649122806986 0.31008771929824513 0.41474011440843433 0.3905268476352975 0.36729277165498575 21 | 0 0.399853801169591 0.3627192982456137 0.31052631578947315 0.41472181401922276 0.39078160064454215 0.3681852005601372 22 | 0 0.4042397660818717 0.3649122807017541 0.31184210526315737 0.41856880921260453 0.3931917354681534 0.36972496461927823 23 | 0 0.4078947368421055 0.3657894736842102 0.31206140350877143 0.42062704923902017 0.3934532693572583 0.3699578449014939 24 | 0 0.4049707602339184 0.3675438596491224 0.31206140350877143 0.41961482798478333 0.3951623658460422 0.3704046039059788 25 | 0 0.4057017543859652 0.3675438596491225 0.31206140350877143 0.4205092055682664 0.39542816364074707 0.37060973512089584 26 | 0 0.40643274853801203 0.3671052631578944 0.3118421052631574 0.4216486582989039 0.39554107035948544 0.37076440605427446 27 | 0 0.4049707602339184 0.36885964912280683 0.31206140350877143 0.42076039003850424 0.3969912417561057 0.3713862253323462 28 | 0 0.4020467836257313 0.36842105263157876 0.31249999999999956 0.4190880769120514 0.396868741109019 0.37212160155626084 29 | 0 0.40131578947368457 0.3692982456140348 0.31359649122806965 0.4185735169054474 0.39739264111391054 0.3728653782432575 30 | 0 0.40570175438596523 0.37105263157894697 0.3151315789473679 0.42228576966910447 0.39920676990514586 0.37453036939990525 31 | 0 0.40789473684210553 0.37105263157894697 0.31578947368420995 0.42396419211864095 0.3993406601891901 0.3749537537990981 32 | 0 0.4100877192982459 0.37105263157894697 0.3164473684210521 0.42678206729881485 0.40071646957298834 0.376720498196676 33 | 0 0.4108187134502926 0.37192982456140306 0.3151315789473679 0.4266717345813851 0.4009461964701683 0.37560276250759134 34 | 0 0.4115497076023394 0.3714912280701751 0.31578947368421 0.42745577944743834 0.4009949929187394 0.3760136709290532 35 | 0 0.4115497076023394 0.3723684210526313 0.3171052631578943 0.42821541460119655 0.4021938631729082 0.3773341051263001 36 | 0 0.4115497076023395 0.3741228070175436 0.31622807017543814 0.4270945136608313 0.40241708749827243 0.37583948563640585 37 | 0 0.410087719298246 0.3754385964912278 0.31710526315789433 0.4251710160641404 0.40256828399348327 0.3760586017266242 38 | 0 0.4078947368421056 0.37675438596491206 0.31732456140350845 0.4246320463452415 0.4041333031228599 0.37670526243387414 39 | 0 0.40935672514619914 0.37850877192982424 0.3162280701754381 0.42449730391551693 0.40443109482859335 0.3752824414375912 40 | 0 0.40935672514619914 0.37850877192982413 0.3166666666666662 0.42398274390891294 0.40385303383155446 0.37520347994404635 41 | 0 0.40789473684210553 0.37850877192982413 0.3157894736842099 0.4222613599568092 0.40353711259603997 0.37445507201654665 42 | 0 0.40862573099415234 0.37807017543859606 0.316228070175438 0.4222139421624596 0.40274066002545283 0.3742878940645624 43 | 0 0.4042397660818716 0.37675438596491156 0.315570175438596 0.41961673241714503 0.40172647917091703 0.37371491967471554 44 | 0 0.40643274853801203 0.3767543859649117 0.315570175438596 0.4216749724435606 0.4020311471304872 0.37385515439213113 45 | 0 0.4049707602339184 0.37456140350877126 0.3164473684210521 0.42111910396569074 0.4008803751518116 0.3744249696373274 46 | 0 0.40423976608187157 0.3754385964912273 0.3179824561403505 0.4216336639722946 0.40210284979466226 0.375813440262946 47 | 0 0.4042397660818715 0.37368421052631506 0.3179824561403505 0.4230426015623817 0.4012791941295739 0.37627653289148316 48 | 0 0.40350877192982476 0.3723684210526308 0.31820175438596465 0.423471238563851 0.40103725487731745 0.37668183511094444 49 | 0 0.40497076023391837 0.37105263157894675 0.31820175438596465 0.42168248339688463 0.39837101161141214 0.37540970701399345 50 | 0 0.406432748538012 0.3710526315789468 0.3184210526315786 0.4245247682893537 0.39971936598209923 0.3762940216822003 51 | -------------------------------------------------------------------------------- /item_recommendation/ml-100k/model_dns_ori.pkl: -------------------------------------------------------------------------------- 1 | (lp1 2 | cnumpy.core.multiarray 3 | _reconstruct 4 | p2 5 | (cnumpy 6 | ndarray 7 | p3 8 | (I0 9 | tS'b' 10 | tRp4 11 | (I1 12 | (I943 13 | I5 14 | tcnumpy 15 | dtype 16 | p5 17 | (S'f4' 18 | I0 19 | I1 20 | tRp6 21 | (I3 22 | S'<' 23 | NNNI-1 24 | I-1 25 | I0 26 | tbI00 27 | S'Cj\xb3=\x1e\xcc\xf8\xbdJ\x92S\xbe7f\x87=\x9d\x89\x1d=\xa43\x12\xbfsZ9\xbd\x85\xee\n>\xf1\xd1\xb8>\xc1\x0f\xe0>a\xbf\xa0\xbe\xf6\xa8\xb4\xbe\xf49\x17?\r\x16\xd5\xbd\x17e\x86>\xf3\x97\xbe\xbeG\xfc\xad\xbe\x18G\x0f?\xb4\n2\xbe[\x0e.>o$\xef=\xf5\xfa,;\x15\xdcR\xbe\x0b\xdbx\xbe\xe0\x7fR\xbe\xfex\x8f>Qp\xdd=%D\xd0=\xc8\xe5\xb0\xd0\xc7a\x0f=\xbb\x02R\xbc\xbe\xea\xc5<\x80B\xab\xbd\xe0\xd5S>\xe9]\xe6\xed9q=\x87\xde\xda=\xa9oE>|\xa1\x18>\xb5\x82d\xbd\x021\xce\xba\xe4\xb2\x1e>\xdb\xf30>M\xea8\xbeO\xae\xff=\x9e<\x7f< g\xa8\xbb\xefl\xf3\xbc\x9ck\xa7\xbe\x1c\xe3\x1e=\x9c\xa4E>0.\x08<\xa7\x01l;H\x08,>$\x16\x84\xbd\xeb4x\xbd\xff\x9ei=\xd4g@>\x97^\x14\xbf\x13\x8a\x07>&\x89\x1e>L,\xbe>YjY>\xfbC\xcf=\xe6\x06!=\x07\x15\x02\xbe\x13\x96\'\xbd\xe5\xec\x01\xben@\xc4\xbe\xe1-Q\xbe\x9d\x95\\\xbe\xaeM\x8d>\x9e<"?2\xbc\x90>fI\x9f=1<\x97=\xb8V\xcf>\n\xa4\xb0<\xa9 \x17\xbd]\x88\x8f\xbd\x82\xffE>\xe4\x06\x04>\xc2\xf89=\x03\xaf\x83\xbe\xd5X\xc2>G\xb57\xbd,\xafR\xbe\xa0\xf8\xab\xbe\xff\x83\x9f\xbd\xd1\x9b*\xbe\xe4\t\x0f\xbe5\xc7s\xbd\x98X\xc6>\x98\xa2\x0c>\xab\x15\xe1\xbd\x93\x19K\xbe\x0e&\x9d\xbeO"\t\xbe\x17\xe3H>\xfb\x19\xaa\xbd\xe9#7\xbe\xe0#\x12>RW\xec;\x81\xd0\x81=\xab\rI\xbed\xc8G\xbe\x16U\x03\xbc\x81_>\xbd\xd1\xaft>O\x13\x1c>\n\x9fR\xbd%\x92\x88\xbd\xe3\xde\x17\xbe\xae\xff\x0c\xbf\xfa\x07\xbf\xbd\xb1\xfdA>\xcdV\xd1<\xc1\xa7\xcf>R%>\xbex\x96\xf1\xbd\xa4\xc8\x99\xbd\x930\xef=\xcb\x96\x95>\x06 \x1d>\x8c7\x11\xbd%#\x94\xbdS\xf3\xda\xbe\xdb\xdc\x06\xbeR\xeef>R\xd8G\xbe`\xfd\xc9>q\xe3\xea=1\x01o>\x93\xf0{\xbeI\x8f\xf5\xbd\x9b\xeb\xb7>VA\xce\xbd\xe3\xa6\xa5\xbd\xbd}e>`\xfc\xad\xbd\xa4s\xb1>\xfe/ =\xae\xb5\x93>\xa0(\x13\xbf}\xc0\x02\xbe;[I\xbe\xc2b\x17\xbe-\xf3\xdc>K\xd2\x1d\xbf\x1cG0\xbe*\xff.?p\x8d\xe4\xbe\x03\x95F>\xce\x05\x8f\xbe\x92\x93M\xbeZ\xa1\xe4>\xf9\xf7\xf9=\xa7\xd3\x1f>\xce\xe4*\xbf\x04\xa3M\xbd\xa7% ?\x86\xba\\\xbe\xa1\x07P>\xf1\x0e\xd5\xbe\xee\xf6\x05\xbe\x9b\xaa\xb6>\xac\x8b\x12\xbe\x13\xb1(>B\x8c\xc2=v\xa9R\xbd\x85\xb9\x91\xbepU\x1d\xbf\x81\x0cu\xbe\x9b\xd0\xab\xbe\x80\xb0K=\xd0F\xce=\x9e/R\xbche\x8b\xbefI*\xbf\xb7lR\xbe\x9a\xe0\'?\xebr;\xbd\x98y\xb1>\x84\xc6U\xbe\n\x85\x98\xbeK`\xea>\x87\x8d\x94>d%\x89>k\x82!?\x19uc\xbd\x05\x8b\xee\xbd? \x08\xbe*\x9d8\xbd\xd4\xa7>\xbe\xf6\xc1l>\x9fR\x1f\xbe\x85Q5\xbd{\t\xb2\xbe!\xa9U\xbe\xd0\x98\xb5=\x08\x0b\xb6\xbd\xe5\x05\xf1=\x7f\xebd\xbe\x19\xab.>\x08:\xd6=D\xd4\x16\xbdl\x941\xbe\xc9\xe7\x07\xbeN\x06\x17\xbfJ\x9d\x82>X)\xb2\xbe\xb65\xcd\x89p\xa9=\x94w\xb5>\x9f#\x08\xbf~\x7f\xcb\xbe(HD?5A\x11>l\xc1\xd0>\xa2\x7f\x19?\xc2X\xe7=\x1dEu>"%\x13>\xfas\xef<\xf2\x91\xc4=\x02Q\xbb\xbe\xe7\xac\x11\xbe\xbaT)>\x07h,>\xef\x98\xb1\xbe\xdf\xb1\xc9\xbe\x9c\x18l=\xc4\xd1\x1d>\x96\x93\x03?\xd8\xbeg>\x84@\xd0=\xb2\x8dy\xbe\xe3\x11e\xbeU\xba\xc2\xbe\xf5r\xcb\xbe\xf6F\xbd=!\xefm\xbe\x9d !>\xf6\x9cq>\xb2\xcd\xd4\xbe\xad-M>&>\xe2\xbe\x7f4\x80\xbe\r\x15\x17\xbd\xc2\xae \xbf\r5\x82\xbd?\x9d\x85=\x9e\xee\x87\xbeX\xff\x9b>\xbdbo\xbd\xe7\x1bM>\xc7.\xaf\xbeV\'\xc8\xbe/\x99\xb8\xbe\xc2\nB\xbd\xa9\xbe\x94;\xd6\xf9#\xbeu\x8f\x96\xbe\xf6x\x89\xbe\xe5w\x05\xbfb\x1ay>0P\x92\xbe\xcb\xaa;\xbee\xd6\xc7=+\xbe)>\xd1r\x05\xbez\x0e\xbc\xbd\xae\x1c\n>"+\xd3=$\x8a\x8a>8\x06\xee\xbb\xe6\xa1X\xbd\xc3\x1d#=\xd2\xd4\xa4=a\xf7|>!\xa3N>r#\x88=\xb4\xb78\xbd\xab\t\x93\xbcl\x14(\xbf^\x87\xd0\xbd\xd2\x07"?\xfe\xde\xe0\xbd\x1e\x01M>\xf4\x08\x1f>^c\xa0\xbb\xf4\xd9g\xbe\x02\xd4\xe1=|j\x87\xba7\t\xe3\xbeZ\x8f\xbe\xbd\t=\x80\xbc4\xbc\xc7>i\xd8\x0c?\x01\x17g>\x07\xd6\xa5\xbd{\x8d\xac\xbd\xb1\xae\x1a\xbe\x1d\x90\x0f\xbe0|\xa9\xbd\xf4\xeb.>xg\x8f\xbdt}\x1d>;=\x94\xbe\x0e\xf1\t\xbf\xc2\xdf\x8b\xbc\x9e\xf3"\xbe\xceE <\x7f\x05\xad>\x93l\x15\xbfx\x14\x9c=T\n\xbf\xbe\xf4\xe0\x12\xbe\xee\xdf!>\xd9\x0e\xef\xbe\x05\xae\x96\xbd%\xaa\xe6\xbd\x16\xc9\x97>.\xd8\xf2>\x9aY\xfe\xbd\xd9\xf9C\xbe\x9cS\x13\xber\x1d\x18\xbed+1>\x88=;\xb9\x06\xea\xd3=\x14\x86\xe6\xbc\xb4\xf7\x1f\xbe\xf2W\xba\xbe:ru>\xba+\x02<\x93\xa5*\xbd\x0e\xc8\x83>q\xe2H>b\xd0!=5}\x18>\xa7\x1a\xcb\xbd\xc8\xc2\x92=\xc4*\xa3<\x18\x16\xad> \xb9\x91\xbe\x9c\xc1\xfb<\x9d\x91z>P\x9c\x89>\xb6\x99"\xbf\x88\x17\x93\xbe\xed\xeb\x06?&{d\xbd\x95\x15\xf3>\xdd\xef\xaf\xbeT\x99<>\x07\xaa\x96\xbe 8\xc1<\x150\x05>\x1c\xd9V>\xeb^^\xbe\x90\xb2\xf9\xbd\xf2\xa2\x00>\x88\x8a\x8d>\xf1\xc7\xab>\xb8\x90*\xbe\x85\xb9\x1c\xbea\x11\t\xbeL_\xd9=\x07>\x1f\xbfP?\x8c\xbdlJ\x84<\x08\x8e\xf6\xbcv{\x95>\x88d\xc0\xbe\xc5OG\xbe\xd4\xc8*> }\xe0>\xd8\x9d\xaf>StZ=\x1bE\'\xbd\xb0V\xb2=\xff%[>eE\xbc=\xf7T\xbf\xbe\xca\x80\x86=\x1b\x96\xd9\xbe\x99\xe4\xb8=\xd5\x07\xbb=\xed\x024>H\x92m>\xa8\xe5\x03\xbdeH\x81>\x1f\x0bW\xbdx\xb2@\xbe\xf6\xd0\x93>\xac\xd4\xe9\xbd8\xc9\xb0\xbc\xc3\xbc\xaa\xbe\xec\x9c\xe5\xbe\x93y<>\xb6!\x13\xbeC\x18\x01>\x982\xf2=\xfc\xf9\xa3>#sC>p\xac\n>\xc7kJ>\xe9\x8b\xab\xbd\xca=\xb6\xbe\xf7|\\\xbew+\xf8>T(\x0b>\xf4\x03a>\xa1=\xb5<(\x19->{{\xc8\xbd\xc6\xad\xc7\xbd\'a,\xbe^\xa2\xce\xbe\x8b\x16N\xbeY\x17\x1e?P\xd8\x1b>\x1b\xcdY>Rf\xc3\xbe-\xe15<`,C\xbe\xc1\xff\n>#\x05\xb1=DF\x84>3\xe4\x89=`Zh>\xc1\x85\xa7>\xc8P\xc4=\xb9\x14\x81>\xe9\xde\x02>\xab\xd3\x80>\xeeCM\xbe\x14\xff\xf5\xbd6\x89H\xbc0H\x04\xbe\x9a\xc1Z\xbe.\xe4\x07\xbdC\xa4\x1f<\xe5\xd4\x94\xbe$D#\xba\x91\xd7\xc4\xbdc\xfe\xae>\xe9\x01\x85>F\xaa?>\x12u?\xbe\xfcw\xb2\xbd\x10.Y=;\xb4\x03\xbc\x81I\x0c>\xb3\xa2\x05>g\x9e\xd5;\xdd\xd8:=\xd2\x01\x86\xbe$[\x07?\x92[\xb8\xbd\xd6\xc2~\xbe\x953h\xbefK\xdb\xbdKx\xf3>F\xd4^<(\xc1B\xbe\xe0\x18&\xbeH+<\xbe\xa2\xff\xcd>\xd7\x04,>\'N\x0f<\x7f\x08?>\xe9Xr\xbd\x19T\xa7\xbe\xbb\x94\xd5\xbc\xf8\xd0\x16\xbey\xcbW\xbe\xaa\xab\x83=\xb5\' \xbf}^m\xbeN\xfdf?\x15\x05\xc2\xbd\n\xb3B>`AK\xbf\xc1\xdf\x97>\x84\xf8\xaa\xbeN\x8ay\xbe\\|\xbe=.\xdf\x18=\x93J;\xde\xe9\x99=5\x08\x90>q@\n\xbf\xa8_\xc5\xbed\x04)?\xc6B;<\xdf\n\xee>\xe7)}=\x8c\xb3V=(\xc7\xd2\xbd\xf0X\x89>d\xaa\x06\xbc\xdd\x8bl\xbem\xfe\x8e\xbe@\x9d\xb5>\xbc\xa2\xbb=\xbeNX>\xf5(\xc2\xbe,\xb7\xe1\xbch\x07}\xbd3\x0b\xfc=%}\xa1>C\x84\xc1\xbd-\x90\x0f\xbd\x93[\x94\xbe3\xca\x92\xbeM$\xb1\xbe\x8f^\x8b\xbe\x89\xed\xf6\xbd\xb1Bg>\x82\x11)\xbe\x14\xf4\x9f\xbe\xea\xcb\x02\xbf%\xa2\x9a\xbe\xe1[=?U<\x1b>\xc4\x9a\xb3>\xa6\xc7\x0c\xbf\\\x00\x82\xbe\xf5jp?\xee\xac2\xbe\xf6\x8c6>\xe0\xfe\xe8\xbe\x9a\xee\xe4\xbd)\x87q>A\xe1\xc6\xbdR&\xc3>\xf8Y(?\xf7xl\xbd\xf5\xa3\xae\xbd%G\xc8\xbd\xc9TSr\xce\xf8\xbd\xbf\xf8[\xberq}\xbd\x1c\x08\xb6>\x91\xcaW\xbd+F\xed\xbd\x95,\x1a>\x12\xd9\xc4=z\x89n>\x10\x9cQ<\x1a\xdfK\xbe\xf9*\x83\xbe\xd6M\xd1\xbeE\xf4\xaa\xbd\xb2c}>2,~\xbe[\xaf\xd6\xbdP\x86:\xbe\x1f\xe0r>\xc9L\xae\xbe\x9b]\x0c\xbd\x01\x07\xbf\xbaS\xd0\xcf\xbdv\xc9\xf6=t\x07\x05\xbfo\xa0[>-\xe6Z\xbe\x88d\xfe<`\xbb1>\xbb#\x99\xbd\xc1\x7fK=\xf7\xab\x0b=H\x9b\x04>\x8b\xdd0>\xf4\x06\x10>\x0c\x9b\x9b\xbc\x19>\x05>;\x00\x94>\xab\x9f~\xbc\xba|\xbc>\x06\xf7\xfa;\xf8\x1b->\xd7\xb5\xaa>\x96\x8f\xb2>\x0eM\x96>\xd1\xf3\xd5\xbd\xaeM\xbc\xbe\x06Bx\xbeJ\x92\x11\xbeLV\x0b\xbd\xf4\xb3\xf9<\x8e\xa1T?\xad\xb5\x03<\xf1"\x0f>\x1d\xb9\x8a\xbe\xfe#\xb0<\x88=\x17>\x86\xba\xde\xbe\xeci\xe3\xbdJ\xb6\x10\xbd\x9fF;>\x90p\xd5;:\x8e\x12>\x1a`\x83\xbe\x13\xf7\x8f\xbe(\x87\x8f\xbe\xa0\xea\xef>\xd3\x94\xa7>\xf9\xb7\xb4>Q\xcc\xa0\xbe\xda\xe0\xa8\xbd\x88\xe7,=\x91\x920\xbe\xe34\x84\xbd\xd9\xab\x94\xbe\xda\xef<\xbe\xb2\xae\x8b\xbcw\x83\x0b?\xd4\xc5\x05?\xd2\xe9\x8a>\x92\x92\x85\xbd\x11]V\xbd\xdc\xfb\x98>\x0c/\xaf>D\x16\xd9\xbe\x86=c\xa5u>)v\'\xbf\x9b\xf1\xa9\xbc\xd9{\x13?; \x8b\xbe_X\x06>\x149A>\xa5b\x89\xbe\xcc\x98G<\n\xb1:\xbenY}\xbd\x0bVw\xbe\x12\xaa"\xbd\xefR\xeb\xbc\x80t\t?\x19\xf6\xcf>\x9d\xdf\x98\xbe\xaf#\x9d>\t/T\xbe\xd5y\x01\xbf\x0c4t\xbe\x8ey\xc3=\xd72\xf5=\xc4\x14\xf8\xbd\xe8\xcb\xe1=4r1>\xb3\xe5\xb9\xbeFS\'\xbeJ\xe6\xd2\xbd\xf5Wr>*\xdb\xd9>\x86q\xd0\xbeg\xf0\x8d\xbei*6?PVz>:t\xd5> \xd03\xbfL\xf8\xdb>\x96\xa72\xbegE\xec\xbdx\x9a\xa8>]\xe1\x82=\x1f\xbb\xb9\xbe\xea \xf4\xbb\xe6\xe4\xcf\xbb\xf1\x9a\x99>\x17\xeb;\xbf\xc2\xc3T\xbel\x10h?%\xc6\x98\xbe6S\x89>w\x10%<\x0c\xb3\x0c\xbd\x9d\xc3t\xbd\r!$>3=\xc5=\x11%+\xbe\xbe\xcd\xd4\xbdA\xed`\x0b\xf7\x08\xbf\x0c,\x97\xbef\x93S? \x8ag>t>\xc5>\x15}\xc0>/t\xd2=\x1foG\xbe\x02U\x11\xbe\xb7gc\xbe[\xaa\xe1\xbe\x90\xb1\xe1\xbeo\xca8?j\xbaK>\x0e@\xfd>\xf1\xc6\xe2\xbe\xa80-\xbe\xdd\x13_\xbd\x00\xf5+>\x00\xc3\xf2>\x08BR>\x80` >E\xec\x17=\xbd\x7f\x9c>F\x075\xbd\xc0\xa7\xb8\xbe~\x0eN>\xd4\xdeR\xbd+\x16t>\xf3*\xc8\xbe\xbb\x15\r>\x94Q!\xbe@\xbc\xbd\xbdRw\x82>k\x81\x1a>\x11*\'>7\x96\xdd>\xa0\xd0B=i4\xa3=P\xa3(>\xa1\xa29>\xae\x94\x00\xbf\x95\xf8\x8e\xbd\x91\xee4=\xbe\x12\xa1=y,\xd0>g\xd3\x00<_ j\xbd\x9c%\x85\xbej\x99\x00\xbd\\&\x8c=\xdb\xc1\x1f\xbf\xb1\xbcZ>\xd7\x14!\xbet\x85\xfa\xbd\xb4\xc7\x87>P\xff\xd7;\xa0u\x18\xbe\xb3a\x8c\xbe0Y\x1d=\xc2\x13\xdc>S\xb7E\xbeIqE\xbe\xd9&\xc3>\xef\x84\xdc\xbcy2@=\rA\x9a\xbe\xe4\xf2\xad\xb9\n\xb6\xbe\xbe\xb6\\\x0e\xbe)RF=_\x9ej\xbe\xe9>*\xbe\x84B\x00?\xdd5 =\xa4\xe9,>\xa6\xd6\x18\xbf\xd0\xc5E>\xf9\xbf^=~^)\xbe%t\x96>\xb9\xcb";D\x96\xba<\xca\x90\xd3;\xa8H\xd4\xbdF\x95\xb3\xbdS\xd5\xe3\xbe\xbb\x96\x0f\xbe2\xa4\x17?\xa2/\x06\xbe\xe8\xe3#>Z\xfaO>\xd4\'\xe7=JF\xac=s\x01\x9d>V\xe9\x1b\xbd\xf1\x19K\xbf\xe6`\xad>\xe5\x9fI\xbe\xf4\xc9\xde\xbdpN\x0f>i\xb2\xa9=9\t\xe2=\xa70\xdc>\x90\x88M=\xddZ_=~E\x1d\xbf\xa7\xaa\xfcD?\x07\x01\x91\xbe\'\x972>\xe4\x96\x00\xbf}\x16\xd5\xbe\x087Y?\x1a\x95\xb8=.K\xbb>i\xb8\x0e>\x92\x8c\x0b\xbe\xc7\x0ei<\xd5\x98\xaa>/\xeb\x88>~\x07\xe7\xbe\xc1\x7f\xd1\xbe&%\\?\xfc\xf9*=\xd6\xf1\xa4>\xedrv\xbeX3\x06=\x1dC6\xbd\x14\xb6\xa0>\xe4\xd1$\xbekr\x98>\x86\xb1\xb7=\xda\x81\x04\xbeZY\xf6\xbdc\x84\x81\xbeL.\xde\xbe/\xea\x94\xbe\x99\xdb\xea\xbd\xd8\xf5\x94=\x89\xf6\xfc>\xd0\xdcr>\xb5#\xa6\xbe|\xd7\x8d\xbd\x12\xdcb\xbe\xe2\xd3\xf9=\xaf\xbf\x14\xbeW.;<\xf5:\xf3\xbd?\xdd\xd0\xbdK\xf2A\xbe\xa8G \xbf\x83\x15R\xbe\xdf/0?{\x88\\\xbe\x10\xe6\x8b>\xe5\xfa\x83\xbcr\xe2\r\xbe\xd6\x92\x98\xbd\x1c\x93 =\x93\xd8y\xbeC\xda)\xbfO\x0c\x94>l\x03\xa5\xbd\x10\xb9\xd4<$\xde\xd1=p\x90+\xbem\xae\x96>\x17\xc0P\xbe\xf0\xaa\xe7=\xbc\x0f\x91;\xd1x\xb4=\x00\x16\x02>\xc0\x9bj\xbdcS?\xbe\x03\xf1\x91\xbeh\xf2\xe2=&S\xa1=\x8b\x04\x06=\x93#\xbe>\xb6]\xdd\xb8s\x80>}\xe38\xbe\x1ax\xc5\xbc\x8b\xe9\xb7=\xba3C\xbe\xd2\xaf\xf0\xbd+\xbck>\x1c\xb7\xd0\xbdc\xa9\x03R\x80A\xbeZ\xf7\x04=pp\xe6=\x92J\x0f\xbd\xe6r\xcb\xbd\xdc\x7f\xed\xbd\xf3\x05\x86> /\xc3=\x10md<\x8a}\x99>\xf6\x8f\x15\xbcc~/\xbf\t\xc0\xce\xbb\x0f8\xec=-{\xb6\xbdI_\xcb>\xe06\xf2\xbeT`\xa4\xbe\xc0\xbd[?%0\x06=W\xd5\x82>E\xe9\xa2\xbe9ua;X\xc4T\xbe9\xe3\x87>\x04\xe6\xdb>l\x10\x97\xbe\x1eWD=\xfd\x03=>\xac\xc9Y\xb9 \x9ae=\x18\xb9\xb8>\x9aZ(>\xbe%\xcd\xbc\x84\x15D=N\x89s\xbd"\x80e=\xe3\xbei;\tE\xe6=\tRx>\x9b\xf9\x02>\x9a\x13,\xbe]\x8a\x8c\xbdQ\x18\xf6\xbdw\xf3\xab>\xb2Qh>L\t\xb6\xbc\x0bV\xe2;E\xb45>\x91\x82\xe6\xbe}\x04\xaf\xbeb=\xa1>\xd8y\xfa\xbdk]\x82\xbe%\x11\x8b\xbd\xf8\x9b\xfc\xbdM\xad\xa6\xbe\xd6\x91|\xbe\xechz\xbd\xa4n\xce>4\x8f\x17?\xde\xc3?\xbc\x0b:\x1b>\xed\xcf\xa6\xbd\xd9\x1a8\xbe\x9e\x9f\x9b\xbe\xfa\xd1]>\x18\xc4w\xbe\xd5\x96\xa0\xbd=\xe1!=\x97\x86\x1a>\xc9\xb4\x88\xbd\xe6b\xf3\xbd\xce`\xcb=\xc5\xdd\xf2\xbd\x19\xa8\xf0<\x7f\xa9\r\xbfz\xdd\xee<\xbf\xc5\xa4\xbd\x10^\xb0\xbc\x1aW\x93>?\x1f5\xbekN\x99\xbela\xe5>2(\xba>]f\x95>=\xc2\xfe\xbe\xb7>\x1b\xbe\xe7\xa6\xef>\x0b6==\x94\xc2V>9F\t\xbf\xfbck\xbe\xf1\x9b8?\xcc\xe4)\xbd\x9e\x93\x9b>\x86=\x1d>\xed\xb0\xeb=\x18q\x1c=\xaa\x95 >\xeb6\xd3\xbc\x8d\xb9\x10\xbe\xe6\xe6!>K\x90T>d\xcb\xbdTg\xa4>H\xcbO>\xb5\xf2i=\xa9\x85\x03=A)\xb0\xbdn\xf6)\xbe\xed$E>X\x96\xa1>\xdfX,>\xca\x0f\r=\xea\xdc\x04\xbe\x86J:>\xef\xba\xed\xbd1\xd4\xe1;R\x98\x97>\xf0\x7f\xd7\xbc\x14{\x03>\x8f{\xe5<\xa5\x1a\x0e\xbe$6_\xbd\t\xeb\x16>\xfcu\xcd>\\\xcd\x16\xbe3\x0f\xef\xbdN]\x93=\xddf\x1e>\x1eB\x99>\xb5\xed\xa1=\xacD2\xbd\x8e\x84y\xbe\x93\xf2\x8a\xbeN\xf6\xee<\xa6\x03U\xbe\xb9\x1cc\xbe\xa6/\'\xbd\xe6R\xc3<\xb7\xb9\x95\xbd~,\xca\xbd\x07\xc9\'\xbe\xe2B\x01\xbf1h\x95\xbev\x8f\x00?r\xd4\x17\xbe=\xac~\xbc\xd9S\x1e\xbc\xe8u\xe6=\'8\x13\xbd\x84rX\xbe\x05\xf22>X\x80p>\x9b\xa28>b\x1c-\xbf\xd5\x03`\xbeK\x9a\x18?jN\x9c=o\x8a\xb5>xrd\xbd"![\xbe<}|\xbe\x7f\xa1\x8a\xbej\x011=\xea\x1fN\xbd\x02\x05X\xbd\xb9f/\xbe\xe0Fr\xbe\xe3\xb1L\xbe\x02}\xf0\xbeV"5>\x8c\x91\x80=\x17\xa8\'\xbe\x96K\xf4\xbd\xd2\x0f_\xbe\xea\x1c\xf2=\xd8l=>,\xbb\x1e\xf1\x8e\x99>L\'\xbe>\xe8\xb4|>\xfe\\\xfa\xbc{\xc6\xee=9\x14\x98\xbdi&S\xbe\xa8J\x95=\xfe\x1b\x1c>V\xc0\x89\xbe\x7fs\xe7\xbd\x0f ~\xbe\xd9{\x0f?\xa3/\x12?\xd2\x07u\xbey\x9c-\xbd\x12(\x1c>\x95\xfe\x03>v22>\x05h\xa4\xbe\x8b\xd0\xb4\xbeP\x8c\x1f?\xdfJ\x18>\xcez\x87>\xb8k}<%\x82v>\xb3\x1f\xc7\xbd\xcf\x81\xdb\xbc||\xcc\xbe\xe0\\"\xbfE\xc7\xfc=\x9fW\x8d=\x13\'A\xbd\xeb`\xf5=\x05y\xd9=\xe2\xfa\xe5\xbd\xc9Y\xde=\xf1\x85N>\xbf-n=_\xd6\x89>\xa9\xbeI>~<\xc1<\x16R\x8b>B2\xad\xbdm\xc7\x92>ot}>\xe1\xf2`>\xc3\x17m>\xab\x80\x1d>\xe4\xb8\x92>"o\x85\xbc\xb0Tb=\xf8e_>\x8e`\x8d\xbb\x87\x9e\xeb=\x99\xff8>\x8b\xc2\xcb=\xf8\xab\x92=\xf4\x02\x1c\xbe\x9a\x9c\x17?%f\xa4=\xd6\x01\x16\xbc\x04\xdbb>\x1cw\xf2=UW"\xbfqN\x01>#|M=\xc4F\xa4\xbd-\x93/>\xf0Z\x99><\xcfw\xbd\x95\xa7\x82<\x13\xad\xb4>J\x97,>\x92}\x10\xbf\x9f\xb4\xb1\xbe\x8f\xceZ?\x96M\xe0=\t\x8c\xe0>C\x0b$\xbf\x94Oo\xbe\xbbs\x12?\x84y\xb4\xbbF\xf3\xbd>yQ\x10\xbfZ\x8e\xa6<\xac\xe5\x86=\xaal|>\x1fBK>\x9dm\x85\xbd\x98\x1f\x07<0\xa2\xab\xbd6&\x06?\x15\xb4}=\xe3\xdd"\xbdKLJ\xbeP\xc1>\xbe\x882\x19>N<\xef\xbdj\xe9\x1d\xbf\x92\xdc2>w\xbb\xec=\xbfA5\xbe\xfc\xb7\x08>\xcby\xa7=RjI\xbe|h#\xbe\x1cM\x05\xbe\xb8\xdc\xba<\xab\xe0\x9b\xbe2L\xbf\xbd\x87`\x9a=rz\x9f\xba{\x9c\xf6=\xa4\xf7\x97>3\xa6\xef\xbd\x8eKG\xbe\x1b~\xbf\xbe\x1b\xb2/\xbe\x8f9\xe0=\xff\x8f-\xbe`\xd0X\xbe\xcb;\x96\xbd\x83R\xd8=0\xef\xda\xbd\xbe\xb4G\xbe8\xec;\xbd\xbc^F\xbd\x1dm\xcf=.\xe5\xb3\xbe1f`>\x0e\xe61\xbe\xaf\xb8\x9f\xba\x8cF\x96=\x90\xe0\xa0\xben\xa3?\xbe+\xe7F\xbe\xae\xd0\xe1>fQ\x19?\x98\x98\x04\xbd}\xc3\xd7=\xdd\xb5\xbb=\x08\xcc*\xbd.\xac\x1c\xbe[P\x86=6j>>9d}\xbdCqc\xbe\x1e\xf7\x03\xbf\x8d^g\xbe\x06*=\xbe\xde\xb7\x8c\xbb\xbb\xcc\x8b\xbe\x89.\x11>=\x9b\x80\xbe\x08{%>\xd8s\xd7\xbd\x05\x17u\xbe\x9f\x82\xd6\xbd~\xdfx\xbe\x93g/\xbe\xda\xd1\x98;\x16&\x11?)\xf0\xa0>\x00\x805\xbf\xb0\x9cC\xbdf~\r?|Y\xb2\xbd\xfd\x00j>^.\xd2\xbc\xe2\x9fn\xbd\xe9\x17\x18\xbe<\xf7`\xbdYc\x14>X\xe3\xb2\xbe\xb6\xaeG\xbe:\x91\x13?"\x9eR\xbe\xbf<.>\xaf\xdc=\xbfR\xf7K=\xe8\x17\xf3>\x8a\xade\xbe~\xb9&>&\x84R<\x14E8\xbc6\xb0v\xbb\xc3\x89\x90>\xc0\xbf\xb0\xbe\x15\xd5z>\xd5\x1et>\xd5I*>\x8cf\\\xbdJJW\xbe(\xe5\xe5=\xc8#$\xbeh\x9a\xd7\xbd\xf3\xd0\xa7=\xd6\xf7\x94>\xe0\x93D\xbf\xc9\xc6)>\x1b6w\xbe\x1b\xc3L\xbe\n\xf6\xa1>\xe1\xf0\x99\xbe&\x89\x16\xbe\xda\x92\x96=}\x04 ?\x1aR\x1b?\xba\x02\x8d>L\xb5b\xbe\xf6\xc8\x82\xbe\xd7\xe4\x90\xbe\x82\'\xe3\xbd\xbfH$>\x9c\xd4O\xbeh\x17E\xbe\xd3\x86\x17\xbe\x0c\xca\xfb=\x82:\xba>\x15\xcbZ\xbd\x9eNg=eP{>\x13mg>\x93\x9a\xee\xbd(|=\xbed\x19\x15\xbeIA\xde=\x18\x94\xa2<\xff\n\x81>yQ\xc8=\xf8\xba\x17>\x9dVC>l\xa3f\xbd\xb4\xae\x19?4~\xf3:\x9b\xf6\xfc\xbd\xf5\xedJ\xbe\x92\x0f\xf6\xbd\xb4\xa2\xc7\xbeD\xfc\xcb\xbe9\x06A?\x19\x01\xdf=\xd7\xd6\x91>\x94\xcb\xcc\xbe\xb4O\x85>\xdf\x16C\xbe8\x06\xd7=Y\x86\xc9=0G\xb6\xbc\xef2V>i\xe2\x0b\xbe4s\xae\xbeZ\xe4\x93\xbe\xf8O\xc9:\xfb\x1dv\xbeA\xa8\xdb\xbd|\xf3\x1c\xbe\xa3\xcc\xb1=\xf7\xf8\x0c\xbf\x98:\xa1=\xcc;\xc2\xbe: \xd3=\x80\xe1\xd4>Q=\xd9\xbe\x954>\xbeO1\x1b?\x95\x00\x95=\xa5\x88\x9f>\x843\x85\xbd\xda\x05\xb4\xbd\x16\x13\xe9\xbc\xfd\x19\x17<\xd6\xbd\xa7=\x8a\x10\x15\xbe\x81\x8a\xce\xbc\x0e\xa0k\xbd\xe9>\xf5=\x1fZ\x8b\xbebV>\xbf\x8fg\x18\xbe\xbf\xecI?\xdf\xbad\xbe\xee:q>\x03\xda\x96\xbe\x95\xe6\xae\xben_\xb3>\xba\x85\xb0=\xff\x9e\x8f>p\x00\xae=-V\xc4<\xbcN+\xbe\xaa\xb8\x9f\xbdi\xa9+\xbe\xef\xf7\xce\xbe\xc4\x8c\xf7\xbeoU_?E\xca6>J\xc1\xb0>\xdf\x99\x14\xbc\xf8U\xba\xbd\xcb\x8d\xa4>\xc5L\x9b\xbd!\xefc>zt\xc4\xbdB_i\xbe\xb0yi\xbd\x86G\x1c>\xcb\xfa\xd2\xbdg\xcf\x9d\xbe\xb1\xdb\xb8\xbc\xefid\xbeb\x84\x9b\xbd\xbcH\x15>\xfe-k>n)}\xe3\x0c)=v0\x00>\xe3\x8a\x00\xbfb\xc9\x99=p\x99\x89\xbe\n\xb5k\xbe\xcb\xbd\xaa=\xbeZ\xe1;\x7f\xdf\x9b>\x88t\x1a\xbe\xf3\x83V\xbe\x94\xa2\xe6\xbeQ\x8e\xa8\xbd\xfd\xf9#\xbeM4\x9a\xbe\x18\x92\xdb\xbd\x18\xc1\xdd\xbdn\xb27>Yb==\x00\x1e\xdd\xbd\x89,\x05\xbd\x91h\xf2=\xaf:\x9f>FC*\xbd\xb0N\x91=\xca0\xe5=\x16\xf8\x9a=\xd2\xb6\x12\xbf{1@\xbdgZO=\x1cT\xc7\xbd\xe5\x9f\xb6>Y\xd7>;\xc4&\xa7<9\xc6\x0f\xbe\xac(j=cl\xb4\xbe#K\x00=#\xd2\xe0<\x9e\xe29\xbd\xa6kM>\xa45\x95>q\x7f\xd3\x1e\x0e\xa3>H\xda\x12\xbb\xcdD\x04\xbd\x12\xf5#\xbe\xc42E>8\x8f \xbd\xff\xc3\xc9=\x935\x8e>P\xde\x15>4k\xeb\xbe\xec\xe8c\xbd\xd2*&>\x86\xac0\xbex\xdfp>\x0f\x1bO\xbe\xb4\x8f\xc8;u\xe9Z\xbe\xd2\xa2\x87\xbej\xb2\xb6\xbd\xd7\x86\xcc\xbeK\x7f\x06\xbe\xd0\xfc\xc1>\x82\'\x96\xbd\xcf\xdf\x1e>@\x05[=\x99\x92$\xbe\x14\x862\xbeajY=\xcf\x9dN=fJE\xbfB)\xde=\xb4\x85R>=\xdb\xfb\xbds\xd6\x84=\\v\xc3=[\xbe\x1c\xbe\xc2V\x17=\xf9\xa2\xa1>\xa8\xe9\x92=_i\xcd\xbeh>$\xbd\x98MQ\xbd\xb53\xde>|\x7f\xd0>\x17\xe7\x88=\x89\xa1\xb5=\xb7[\x1b\xbe#T\xc5\xbd\x1f\xdby\xbe\xe0\x00\x98>7|\x06\xbd"o\xcf\xbd\x0f\xc2y\xbc\xed\xa8\xce\xbc+\xcc\xec\xbe\x01\xedd\xbe_\x1b ?\x82Db;\x1f|\xb1>\xc0\xfcq\xbdWP\xa6\xbd\x0cG\xca\xbdSQ2=h\x12\xda=`\x97\xaf=V\xdd\xcc=\xc0>\xad==\xd8\xa2=\x9c\xb5\xb0\xbe\tT\xa4>S\xdf\xaa>\x0f\x0fG>l\x15\x83>\xf7s\xbf=\xae\xa4\x9f>\x92\xcc\x8f>J\xfe\x05>bQ\x0c\xbeA\t>\xbdb\xb1\xcf\xbe\'\xf96>\x84\xc5.\xbe&\xe9\x94=\xf7!b\xbeD\xce#>\xe2]g\xbe,\xbdg\xbd\x83\x93\x10>7\xf3\x13>z*a=\xad\x7f\xe0<\xa0\x1a\xd2=-\xcb\x0c?\xcc\xc4\t=\x1c\xdd\xfa\xbeG\xff:\xbeH\x1b\n?\x90\x8f\x9b\xbe\xdd?6>\xbb\xab\x8f\xbd\x12\xf5g=\xc7\xcd\x1e=\x04%=>b\xe2.\xbe\x11r\x04\xbf\x1e\x80\x90\xbe\n\x175?$\x8a\x18=\x93\x81\x9c>=\x9c \xbe$s\xe1\xbd\'=/\xbe\x048\xbe\xbe\xe3[\x0c\xbe"v\xd9>/\x12P>\x02\xa5#>\xf9\x06\xc9>aD\x1d>\xa9\x0e\xa2> P\xe6\xbd]\x1bp=l\x95$=\t(\x98>1\xbf0\xbdb\xa8\x87\xbe\xd5\x8b\x85\xbe>x\x05\xbe\xeaG\x90>j \x1a\xbf\xe1\x0b\xa1\xbd\xee\xff\x0f>\x1e\x04\x0c\xbd\xa5\xec\xd5>y9\xb8>\xf5\x97\xbc=\xcc\x16\x16>q\x11\'>a\xfd#>\nR\xe2>\xab&\x8a>ou\n>\xee\xda\x08\xbe+^,\xbe\xf0uU>z\xc3p\xbe\xcd\x90\x10\xbe\tE\xfd=\xbc3+=#\xb7\xee\xbd#-\xc5:\xc4#\x1e>\xba\xc7\xdc\xbc\x03\x0f\x99\xbd\xd8z\xa0<\x8f\x0bt\xbd\x90w\xdb=\x90@(>0k\xfe\xbd\xbblz>\x8a\xd9.\xbeY\xc2\xb6<&O\x92\xbe\x13e\xa1\xbc\xb6\xac\x98\xbe\xd5$\x89>2\xbcq>l\xd8n>%\x0b\xb8\xbeOo\xbd=5\xcb\xad\xbd\xa4\xc5\xe8\xbe\xa7\x88\xfc<\xe2\xf6\x8a>\xa8\xf2\xbd={\xfb\xb0=f\xb6\xaa<\x82\xe5\xdc<\x19Q\xed=`\x1f\xef\xbd\xe3\xb0`<\xe3-A>\xf4\xde\x18>\x8dH"\xbf#\x0b7\xbe&\xba=?\xb9\x17"\xbe\x0b\x1f\x98>\'\xfbx\xbe\xd0\xfbz\xbd\xe6F\xc0\xbe-\x9ca/\xe1\x0b\xbe)\xbac\xbe\x8eJ\x03\xbe\x99\xe9\xc7>3\xc6\xc5=fo\x8e>5z\xc8>\xd07i>\xd1U\xc5>*\xa7\xc4\xbc\x9f\xb7+\xbdf\'{=\xddV\xed=\x97\xa6<\xbd\x05W\x9d>\x9e\x8d:=\xf1\xbc\xdb=A>\xe5\xbe\xba\xf0\x7f\xbe\x8d\x13B\xbe\x02\x19\xeb>\rST\xbe\x87\x1fO>\x8b\xca\x0c>*o\xac\xbd\x91\x07\xe8\xbc\x19\xb3\xa4>\x8b\xc9Q>7fR>\xef\xcf\t\xbe\xbc.\xde\xbd\xaa"\x07>\n\xf0\x93=,\x8c\x1c=)\xcb\xc7\xbd\xb4\xc4<\xbd\x07\x9f\x87>\xf5>\x0e>\xfe\xe1\x8f\xbd\x9c\xd3\x1a\xbe\x0b\xef:\xbe\xf3\x123>\xcf\xe9\xe9\xbc\xe1\xb7\x0c>;\xf6\x8d\xbd\x12\xe6\xe6\xbd\xf8\x88\xce\xbe3U$\xbeuL\xc1\xbdJ\xc9\r<\x80I\x94\xbe,:\xa1\xbe\x9c\xf3\x89\xbd\x93\xd2.\xbf@l\xcb>\xf4I\x91\xbeQ`\xc8\xbd\xdc;\x18>&I\xc7\xbe\xccD\xbc=\xd2\xf6\x85\xbe\n\x8b\xa2>\x8ea\xe6>\xd6\xf3\x1c?\x98\xa1B>\x1a\xe9\xdc\xbb\x9d\xa7\xa9\xbdmx\xc9\xbdB\xae\x16\xbf\xb2\xfb\xed\xbds\xda`?\x16\x9ff\xbe"\xba\x10>\x02@\x8a>\xbc\xb0`\xbe\x15m\x86\xbe\x10\xc7\x8b\xbe#vI\xbd\x15\xf0 \xbf\x14\xa4\x99\xbeJ\xeci?\xf3j\x12\xbe\x05X\x9a>\xec\x13\xfd\xbcI\xdb\xdf\xbd\xdb\xc0\xf7=\x1d\xdb\x06?\xa7c\x03>\xaa6\xc9\xbe\xdfX|\xbe\x00s\x07?\xf9r\xbb\xbb\x8fr_>\xbc\xa2\x16\xbf\xce\x05\x84\xbeD\xe5P?\x17\xf9\x19\xbe\xb1\xe0\\>Ih\x1c\xbfj\x18\x86>-On\xbe\xc3\x88\xb0\xc4\xa8\xe8<\xd4\x86\x05\xbe\x99F\xad=\x9d\xe8\xc9>\xe0\xe3d>c\xf5\xd2\xbe\xd1#\xa7;\xbb)7\xbe\xde\xf0\xc0\xbd\xf6\xacs>gA\xad=im\x86=,\x04\r=uj\x9a>\xf7P\x83>\xabsp>\xcc4\x8e<\xa1\xf5\xef;\xe8e\xae>\x9d\xb7s=\xcas\x1d\xbf\xa36B\xbe\xfd\xad_?\xd71O\xbeQ\xd1c>\x9d\x14\xa9=F\xaa7\xbe\x96\xc2.\xbes\x85\xd5\xbd\\\xaby;\x0c1\xfb\xbe:c\xdd\xbdI\xb2\x00?\xe3\\#\xbc\xf0\x1a\xa1>\xfcy\xf8\xben\xf9^\xbe\xfc\xd3t>%\x1d\x05>\xea1\xa4>]X\x0c=tD\x95\xbe;\x87\x08\xbd\xfe\xb7\xae\xbe\x8c\xd4->\xb0\xc0\x88=\xb3\x9a\xb3\xbeqO\x95<\'\xdb\x9d\xbe\xf5\xb7K>\xeb\xf8\xce;\x10\x14\x8e\xbe\xc5\x8f\x04\xbeu\x00\x94\xbe,(\x12>\xf9\xf6\xcf\xbb6\xfb\xa5\xbe\x9f6\x8b>)\xd2\xd8\xbc\xd9?\x01>\x9a\xef\xb8>\x1b\xbf\x00>\xefp8>"\x0c!=\xf6O\xa5=\xb0_\xae>\xd65\xa5=1\xa4\xfa\xbd\x0e\xa3M\xbej$\xc2\xbe\x81\x15\xaf\xbd\xb6\xdf\x0e\xbe\xa8C\x10>\x14%c\xbe\xa1<]>\xc0\xed\xbe=\xe2\x07\xac::\xfc\x15\xbd\x032\xe3=\xab\x84\xd6\xbe\xb6\x8c\xcf\xbd\xacB\x10=\xdcwF\xbe\xfbRi\xbe\xee\xf3\xdb\xbd\xa7\xa8%>\x0e\xf8\xcf\xbdn\xe2\x18>(i\x8e\xbe\x05\xb4\xe3=\xc9\xa7\x98>\x9anP\xbcO\x8f\xd2\xbd8\xfd\x8a>\xe0\x1d\x18>\x16\x11\x01\xbe\xc6\xcf,\xbe,LG>\xba\x90;\xbe:m\x9e=\xec\xb7D\xbb^\xd2\xfb\xbaE\x8a\x16\xbe\xb9\x7f\xb5=\x1f{n\xbe=\xea\x98>x\x9a\x14\xbdG\xd4\xb7\xbd:j\x8b<\xf0\xf2\xcd\xbd\x94\x9f\x0b>VZ\x88\xbd\x18\x10&>\xe2iA>\x9f\x94]\xbac\xd4\t>\xe5\xf6\xc0=\xc6\x19\x9b=p\xf5`>\x84\xd6\x84=(U\xb6>\x8eV\xb9\xbc0R\xfd\xbc\xca\xf7\xaf=\xeeA\x80>6\xde\xa9>]*>=\n\x0e\x8b>\xbfSz>\tT|>\xb5\xa6!\xbf\x1c*S\xbe/@W?e\xa7$\xbe\xfdF\x8a>]\xc3\xcd>\xe5\xd5B\xbd\x08D\xc4=\xb4\x9c\xf2=\xf2\xc5\xa2>4\xfd\xf6\xbe\x81\xb3Q>\x92Y]\xbed\xcf\x9a\xbe\xe9\xb6M>\xf8\xfc\x80>\x107@\xbea{\x7f\xbeX\r\xdd\xbdq\x991>\xf4\xb8\r\xbfHUo\xbd\xeb\xb5V>z~\xa1\xbea\xd8/>\xf6\xc4\xbb>\xa4\xdfI>\x86g\xb5=\xc2V\x0e>L\xc6\x08=\x04\x96\x0b\xbf\xf5_\x11=^dw>\x96\x10\xa2>v\x7f\xba>\x1fZ\xac>\x12\xb6\r>\x15o\x8e<&^\xa2<\xba\xb9\xf6<@>\xa0\x10\xf9\xb4=G~g>\xfe{\x8f\xbe\xe1[\x19=pJ\x9a<*\x1a\xe5\xbd\x0f\xd4\x1a\xbeH\x1b\x87;+*\xcf\xbd\x82\xaa\x92\xbe\xc0\x88\xcc\xbe\xc8T\xa7\xbe\xe6\xe3\x0e\xbeH\x04\xc9:1\xb1\x18=4`9\xbd\x1f\xa4D\xbd\xd81P\xbf\xe2\x81\xb6>\xf3R8\xbe/U\xb7\xbe\xff\xfd2>p8z>f[\x7f\xbd\xc9\x10\x9a=\x94\x1f\t\xbd\xe2\xbcW>\x07H\xb5>#l\x9f> \x19\x9e=|+\xa0\xbc\x05\x94\x86\xbe\xd3\x10%\xbe\xd5z)\xbe\xe4.\xae\xbd\xff\xdb^\xbd\xc1\x06\x12\xbe\x90o$\xbf\x11\xd4M\xbeZ48?M\x8f\x8a\xbd\xc0\xd2\xa5>\xc3F\xb2=p?\n>6\xf2\x0e>\xfe@q>X,\xfc\xbdDW7\xbe`\x15\xaa=\xf1\xf9|\xbe\xfd\xd2\x0e>9G\x80>\xa1\xe6\x18\xbf\xec#\xb0>\x90+\xcd\xbe\xae\xe7\t\xbe\x0c\xfb\x9b>A\x05\x0c\xbf{\xf5\x06\xbep\x85D?\xb1\x9fv\xbe\xbal\x0f="=\xdf=\xaf\x9c\xc1\xbd\x1e\x86\xf8F\x8a\x8d=\xceq\x95\xbd\x17\x94\xa3=\x1c\xb4!>M\xf2[>3\xbc\x15\xbc.\xad\xc2\xbc\x07"\x95\xbd\xe3\\\xe7\xbd\x85\xd9\x12\xbf\xacO\xb4\xbe$\xfbP?\xf2\xc8[\xbdS#\xa1>\xf1\xc2\xea>a3\xcd=!\x92C=\xda\xc4\x90>i\xe4>>[%\x0f\xbfzoR\xbe\xedd[?\xa5\xc7Y\xa4\xba\xe0=\xd9\x18Q=c\xaf)\xbe\x1f\xc7\xc4\xbdW\x8f\xba\xbe\x16\x84\xd8=Y\xa4\xe6\xbd\x10\'k\xbe\x15T+\xbe\x18\xc0\xc6<\x00\t\x0c\xbf\x01\xf7G={\xfe\xd7)I\xc6>\x8fD\xfe\xbe\xd8x\xd7\xbe\xff;9?\xdd\x8f/\xbe\xa3\xe8\x95>\xc4\xb2\x13>jN\xb4=\xfdW\x98>\x98\x1e\x00\xbe\xab#\xc8;\xafiB\xbeu\xe4F\xbd\xf29\n\xbd1\x94\n=@\xbb)\xbe\xe6\x9b\x14=\x07\xc0\xe2\xbd,\x02\xce\xbdy\xfbJ\xbd\xf8]\xa2\xbd\x80]\x17\xbf\xf8\x83Z\xbe\xbb\x8b\xdb>\\\xa3g\xbe.\xf9q>\x02+H;\xb4\x94\x0e>K\x0b\x04>\x03 \x8b>\xf9\xb4\x18>\xef\xfc\xf9<\x1a*E\xbe\xae?\x8a=_\xa9 ?\x97Q\x03?\xf2\x0e\x98>\xb5\x87\x8c\xbd4u\x1f\xbdl\xd9\x87\xbe\xc1\x94\xa2=65\x1a\xbe\x9f\xd7T\xbe\xaaX$\xbe\xd3\x8a\x1c\xbd\xd3[\xb9>E\xc5\xec\xbe$L\x11\xbe\xb9[\xce>\x9b\x9a\xe8=\xdd5\xe7>$t\xe9\xbe\x9b\xc4\xf9=\x9c\x10\xc8>\xac\xc2c>\xbdU\x8e>mF\tH\xbf\xa5>\xcf\xac\xcb=\xca\xda\xfa=\xeb\xef\xdf\xbe\xe2\x0e\x8c\xbe\xb9o-?\x13\x9b<\xbc$\x91\\>\x11\xaf\x05\xbfC\xd8\x8b\xbe\x1a\xdf_?1^\xec\xbd\xe9=E>\x92f\xa2>\x03\xdet\xbcv\x80B\xbex\xdaR\xbc\xae9\x82\xbb\xbf\xeag\xbd9\xc6\xa0\xbd\xa4\xca6\xbd\xa0\xee\x93=D\xfd\x88>`r7\xbfAo\x95\xbbU\x1f2?7\xa90\xbe\x13\xfaT>\xd2?>\xbf\x1d\xdf\x8d<]\xfa\x83\xbe\x7f\xc1(\xbe_\xbf\xbb>\xa4\x9cj=\xf6\x03 \xbe\xd7 \xb8=\xeap\x8f>\xc2^\xae>\xa5\xd1+\xbf;&\xb3>0\xb8\xa8\xbe\xf5\xb8\x04\xbdpo\xeb=\xd1\xc8\x80=\xafs7\xbe\x92\xc3-\xbe2\xae\x8f\xbe\xe9\xce\xd5\xbd\xd9\xc9\xf3\xbd/\x848\xbe\x9a\xa19\xbd\x05\x00\xd7\xbcq\xc1\xc6\xbd\xd1\xcfb>{\x8c$=\xd3z\x94\xbcs\xc9\x86>]\xc0\xec\xbd\xc4\x0c6\xbfm\xdd\xc5>\xd9T\x01\xbem\x9f\xd0;\xc7\x1c+>}\xa9\xfb\xbe\xbb\x1c\xb0\xbd8\x97!\xbe\xca\xfd\xe6=\xbaU\xdc>\xd01^\xbe\xb6/\x8b\xbe\x07\xee\xdc>9\xbd\xa0>:c\xeb=P\xfe(\xbf\xa2.\xd1=\x8f=~\xfb\xc9\x0f>\x17\x8c\xbd\xbe)\x00\xa8\xbew\xb3\xb9\xbe\xa7\xe2 =\x07W\x1d\xbf\xcbM{\xbe4\xdb$?\xf5Ie\xbeC\x01\x95>\xe8)\x05\xbfy\xa0\xd1\xbd\xbc\x8b\xf0>\xff\x11q>=\x7f\xb0>:\x9a\x19\xbd\xb5\x84\x8c\xbe\x95\xad\xfd\xbd\xe7`\x14\xbe>\x0fp=\xdbz\xe9\xbe\xece\x80\xbeQ\xdaC?\xc7\x95\xba=:\x04\xb7>k\xbc0\xbd\x8a\x05\x89\xbcj\x1ex\xbe\xfd\xf41\xbe\xffZ\xb6=\x89\xd3\xa7\xbe\x08\x17\xf0\xbe\x87\xa8@?\xba\xc3+>\xfdh\x93>\xb2\xd3B\xbdV\x91F\xbe\x1ao=\xbe-z\xe6>\xbe\xfa\xe0>\xdf\xaa\x92=b\x9fL>\xb4\x82!>\xdeu\xa3=Y}1\xbe\xb6\xdf\x06\xbft.6\xbe\xc7;S?\x9ew\xa8\xbe\x15\xa8V>\xb3\x91\x94>\x8e\x91\'>\x83F\x9b<\xa5\x1b\xe1=/\xca\x80\xbd7\x1c\x95\xbd\xa5}j\xbe\xac\x0e\x9c\xbe\xb7nR\xbe\x9c\x18W\x1a\x8c\x90\xbdp\xb3f\xbe\x95k\xd7\xbdr\x03P\xd5\xac\n\xbe\x08\x84p\xbd\xa3%&=w\x10\x06>y\x1f\xd6=p\x0c?<\xe1\xcb\x81\xbe\xac\xe3#\xbdQ\x86\x95\xbe1\xcf >\x1cq4\xbc\x8dE\xb5\xbd\xbf\x03\x8b>V\xfd\x8f>Y%\xf1\xbe\xdf\xec\x96>Q\xeb\x98;\xa2\xaeU\xbeB\xad\xa6=\xd3\xc9\xb7\xbe\xe6\x9aZ\xbe\x17+C=\x02\xe2\xe4>3\xe2\x14?GU\xd5\xbeN\x1dC\xbes\xd7\xf1>j\x95]>\x15\xc3\xd0>e\x04\n\xbf"a\x0f\xbd\xff\x14\x16?RWk\xbe\xa2p\x00>{\xcc\xf6\xbe$\xa3\xd5\xbd\xe2\xd6\xfe\xba\xbc:\xc7>\x11\xa5\xda>\xf0|\xa9\xbed\x19i\xbb\xd2\xa3\xe0>\xb2\xcd\x99\xbdd\x1f\x91>\xb2\x94U>\xf8\xfc\xc6=x\x16\x8f\xbc\xa3\x08">^P\x16=\xf2\x9e\xdf\xbd5\x8a\xa7\xbe\x9b\xf3\x82=9\x06\xb7\xbe8\xe7\x91;\xb2\x96\xbe\xbe=\xab\x9d\xbe\xed[\x85\xbe\x11\xca\r=\xc5X\x0f?\n\x99\x19>\xa5\xecZ\xbd\xd1\x03\x87\xbe\x18\xe4->J\xcdQ\x95?\x8a>m\xce\x8f>\xd4\x9e\x91>\xbcH\xec=l"\x05\xbf\x8b\xef\x81\xbc= \x9c\xbeI66>\x02A\xec>\xf3k\x92\xbe\xf4\xf4A>\x0b\x89\xa8\xbd\x1d\xcd\xea\xba\x9f\xf8\xd7\xbeG;\x19\xbe\x02\xeb\xf5\xbc\x84~.\xbe\xee\xe0\xbe\xbe\xd0\xd8\xa3\xbe\xf6Z\x99\xbe\xd0"\x8f\xbeHf\x81\xbe7\x9d\xf3>?X1?\x1c\x12\xdf>4\x84G>\x0b\xaa\xb6<\x99\xf2\xc9=\xa5\xdd(<\x11\x12\x8c\xbe\x8c\xb7\xa0\xbe9\xec\x07?1\xedc>\xd2VR>\x06\xdb\xf5\xbb\x18\x00N\xbe\x1a\xbe\x9e<\x8f\xcb\xa4\xbd\x8e\xa9\x86\xbec\x96\x06\xbfj\xe9\x83>6r\xc7\xbd\xd4\x07\xa5>\x84-.\xbe\x98\x13|\xbcZ\xc7\x01\xbe\xd12f\xbe\xa4\x14\x9e=\xa8\x80\xd6\xbc\xeb\x16Z>\xa6\xcbM=\x98\x85\xc3\xbd\xce\xc37\xbeE\\\xfe\xbd\x83\x8c\xb2>\xa0Z\xd4<\r@\x97=\xf0~\xb1=\xadau=\xc9\xd6\\>\x1a\xf3H>\xae\r\xa6=\ry\xf5=g0\xde\xbd\xcf\r"\xbf\xc4iF\xbc\x1b\xe9\xc1>e8\xfa\xbd\x897~>sj\xb3\xbe\xd9\xd3\x1e>\xf41E\xbe\xd6b\xd7<\xea\x8e\xd9\xbc\xc9\xc3k\xbd/$\xca=\xbb(Y\xbeF\xbb\x9a\xbe\x88h\xd8\xbe\x14\xbf\xb8\xbe?=\xb3\xbe\xb2\xf3%?+\x06o>\xe0\xf1\xca>\x16\xf7\xd3\xbe\xb6\x01\xb5\xbd\x08\x00\t\xbe\xdd\xf0\xa1>\x02\x94\x03?\'\xb1#\xbe\xd39\x8b;\x12`B\xbe\xdc\xfer\xbecn\xa7\xbe&6->\xbb\xae5>\xb8\xa2\x86=\xcc\xa8A\xbe\xfd>\x81\xbe\xc8y\xfe\xbe\x06\xdd\xa0\xbe\xcf\x14t?\xdfV\xa3\xbewZW>\xa0%]\xbe$\x8b\xa2\xbe\xc9\xb4\xb4\xbe\xeb\xfbw=\xfbw\x05?)\xb8\r\xbdR\x8b2\xben\\\xb2\xbb\xb0\xbd\xc8>\x03S\x08?Y\x91\xa0>Sg\n=K`\x89=\xca\xfc\x99>\r\xe6\x82>d\n\xe3\xbc\xa1\x9ap\xbd$|(\xbe\xc6\xa8\xa3\xbe[H2\xbd\xf4"\xfa\xbc6\xa3\x86>\xdc\x81:\xbd\x88P\xa2=w\x13\x08\xbc/:\xd6=_\xc6\x04\xbc\x92\xa4\x1b\xbe\x0c\xd3x\xbex\x89\xa8\xbe\t\xa3*>\xe3\xe8v\xbe\x1b\xb8g\xbe\xb65\xfb\xbd\xb74\xe5\xbd\xe2S\xd4\xbc\xf7\x85b\xbe \xbb\xa1\xbe\x08\xa1\x87\xbe\xc3\xfdG\xbe\xb4*\xe8>\xe8\xe7\x02\xbe\x854\x8d\xbd\xc0\xc3Q=5\x04\xae>O\xd7->\xcaG\x8b<\xa2\x9b\x80>\x94\xb8T=\xef\xf3\xc9<\xc6\xdc\x19\xbc\x1bL\xa4\xbd\x9dL \xbeZ\x8d;>\xdfm\x1c>\x7f\'\xef\xbe\xdec\x91\xbd\x91L\xd6\xbe\x9eI\xfa\xbc\xabA\r?d?\x19\xbf$\xa2D\xbe:k7?Z\x01\xfc\xbeQ\x0fg>>D/>`\xfbQ<*\xff\xaa\xbb\xc6"\x98>u`Z\xbc\xc0F\xf9\xbd\xf1_\xeb=\xfb!\r=p\xfc\x1fF\xed\xeb=/\xb72\xbe\x85\x91\xd3\xbe\r\xec\xa3>9\x9e\xec=D\x85/=\x0b\xd4\x8b\xbeK\x8d\xaa\xbeU\x15&\xbf\xe4\x93_\xbc\xe6\x97\x13?\x17\xf0\xca\xbeN\xb66>\x08\xcd\xc5>\xc6\xc2\xb5\xbdV\x9f\x06\xbe\xd5c\x14\xbdX\'\xb7\xbd\x81#\x8f\xbe`w\x9b\xbd\xbc\xf9\xd5>i\x0cE\xbe\r\xf3 >\t\xf7>\xbf\x84\xc9V\xbd\xc5\xd2\x8b\x91\x10\xbf\xad&\x8e\xbe\xe3\xc54?3\xf7\x96\xbe0\xfez>\x97\xd4\xef=)"@\xbe\xd6w@\xbd\xc9\xa1k\xbd\xb8\xb4\x0c=\xf8\xc9\xe5\xbe\x9e\xe0\xaf>\t\x9e\x83\xbex\x9c\xc3\xber\xcbb\xbd2\x8e\xef=b\x82\xfd\xbd&h\xc0\xbd\xec\xef\xd7;\xb1\rz\xbeP\xc2\x15\xbf\xfbu\x81\xbe\x03\xd2F?\xcc\xb5\x8d\xbe\x84\xad2>_\xbb@\xb4\x8f\x88=\xa1\x11\x13\xbf\x07\xaaC>\xa6\xe9\x18\xbdnC\x1d\xbdy\xd9\x04>\xc3\xdd\x1b\xbf V\xac>\xdc\xfc\xef\xbe]8%<]H\xc6>\xfbL\x8a\xbe\x04\xaa\t\xbf\x9d\xff\x01?UV\xc5\xbdFW\xc4=3.\x0e\xbf*\xa5\x17\xbe:]\x11?7\x95\x9b>\xeb`\xad>\xb1\x85\xdd=\xe5r\x92\xbe\xb9\xd7\xae\xbe\x1a1\xcc\xbe\xf4~\x1a\xbe\xfa\xa9\x15?f+\xb5<\xd7AD=#\xd9l<\x8c\x82\x17>$*\xd1\xbd\xf0\x8f\x1e<\x19)\x01=\xbf\x9c\xc3>\xc8`\xfb\xbd\x98\x82\x9d>\xe2@\x95=\xda\x07\xb6=s\xa5\xff=\xca\x16\xe9=\xb6L3\xbf\xe1\x1c0>\x8b\xa8k\xber#\xdd\xbc\x99`h>\xeb\xf5\xf7\xbe\xb2\xac&\xbeO)\x0e\xbd\xb8\xfe\xf5=k\x07\xef>\xa0W\xec>\x94"B\xbc$\xe6\xa5\xbd\x83d\xed=FY\xc3=\xb2\xe1C>\x9d\x17\x89=\xe4\xc5\xb2\xbcg\x93\x06\xbePjQ\xbe\x01\xfe\x1b\xbf\n\x98E\xbe\xa1:d?\xb1D\x8a\xbe\xbc\xe8\x94>\xd2\x16h<\xcbP\'>\x07\xf9\x02\xbd\xb0X\xff=8$\xab\xbd\xadk\x14\xbf\xcdX\xff\xbd\x7f\x81T?\xd0T\x86\xbd\xd5rX>\xa4\xde,\xbeo:+\xbc\xbbs\xa2=xB\xcc\xbd\x8d\x02\xf6\xbd\x89\x0bx\xbdzi\x87>\xde,G\xbd\x07]\x7f\xbd3\xa5\x7f\xbe\x82\x84&\xbf \\}>\xf7|\x9e\xbe\xdeBb\xbe\xa6\xeb\xd6>{\xaf\x81>\x16V\xef==k1\xbc3\xed\xa6>\x1f\xb7+=\xba2\x11>\xc5\xd6\\>W\x1a\x83\xbd\x85\xa2\x8c\xbdg\xc6\xd9\xbe\x82[\xb5>: \x9a\xbb\xb5k%>j^\x94>\x8bJ\x97>\'\xd8\xe8>\x18\xe3\x82\xbcM\x81~\xbe\xf1\xf5\x14\xbe\xd7\x1a\x82\xbez>\x8e==P7W\xef\xf0>j\xcd.=\x089\r\xbf\xb3\x9b\xd2\xbb\xb5B\xfd\xbd\xbd%\xfd\xbc\xc9\x88\xb6>P\'\xf1\xbd/6!>xLx\xbd\xdf\xa3\x97<2D\xde\xbei\x95h>:\x873\xbd\x16\xbb.\xbe\x99\x93\xd9\xbc(6\x00\xbek\xb2\xbc>\xadG\'\xbd\x14B\x9b\xbd0\xa2\x96=\xe1lL\xbd\x917\x05\xbf\xdc\x94\x80\xbe\xf3uE?\x12\x19\xe2:\xd7\xe7\xb4>\xd4\xec^\xbbI\x0b\xec=\x0f\x9c:\xbe\xb5\xfd\xe7\xbed\xa5\xf1\xbe\x1f{W\xbe\xe0\xd5\xdb\xbd\xf5\xab\xf6<\x11\x81\x9b\xbev\xca\x08>\x92\x8f\x0c\xbf\xc1\xcf\xb1\xbe\x8b\x05j?x\x82\xf3\xbc\xe2\x8b\x8b>\xf1\xa6\xa9\xbe"\x08h=r\xbfQ=\x1aT\x93\xbe\xba\xe6\x93>\xdb\x05\x19\xbf\x9f(s>\xa4\xf08\xbe\x04r[\xbe\xb0\xc2;>f\x9a;\xbf\xc8y\'>\xec\xb7C>\xec\xfe\x99\xbe?\x01\x97=7D\xda\xbd?\xc1\xdd\xbd\xb4\xe4\xad\xbd\x95\x1d\x97\xbeJ|\xff\xbd\xaat!\xbf\x82\xb5\x05>6\xa4\xd8;\x94\\\x16=\xb3\xc4\x8a>8 \x07?\x98\x19\xad>/\x81O>N\xb5\x00>\x17\t\xfa=\x02\xfe\xb1\xbd3j:>\xf7M/\xbe\xb0\x83\x8e\xbd\xc5Y\xb4\xbem\x02\x8d\xbe.\x053=x\x11\xd5\xbd\x15D0<\x1ath>\x89\xdf\x9a>\xfb\xdcx\xbc=O\x9f>\x92\x8f.>\x1d\xaeB>\xfb\xcf\xbc\xbd\x97\xac`\xbee\xe8L>\x1b\xd3\\\xbd+\x00X>\xa0r\x87\xbe\x12a\xf5\xbd\xd9I\x10\xbe\x9f\xeeK?\x08=%?\xc1\xd7\x8e>)\x94.<\x9b\xcb\xf9=\\\xc1\xd1\xbd$\xc5\x8e\xbd\xdaT+<@G!\xbd\xdd\xc9\xd0<\x04 \xbe<\xd8\xb1\x86>\xa1&\xff>\xd7\xdd\\\xbd\xb7a\xf9<\x94\xd7\xc3=w=|>\x90\x16O>\xb5\xb1\x19>5\xeb\xa2<\x94\xda\t=\xe86\x88\xbeuQ\x99\xbe\xfdD\xc8=\xb2y\xe8\xbd q\xaa\xbdZ(t\xbe\\~*\xbf\xa5\x07\xed=F\x1c\x10> NX\xbeJ\x8e!>\x13o\x15>yz\xde\xbd\xda\x04X=\xe4{#?\xcf6\xfd=*\x86\x8b>1\xb8\xee\xbbj\xe1\xc1\xbd\xe9\x85&>>u\x94\xbd\xaa\xf6\x02?9\x83\x90=\xa8B\xdf=\xa0\x0b%=^G\xc4>\x9e\xe1\xb8>T_\x0e>#w~>\xc8U\xb0>\xef\x12[>1M\x10\xbf\x91\xea\xe4=\x05!\x19\xbe4\xe6\x8b>\x8c|\xc3>w|\xc4\xbe\'\xd4\xbb\xbe\xf3t5?\xe8\x811>VX\xdf>\x86!\xbd>9\xbb+=\x1e\xe4\x8b\xbd\xcb\x06)>\x8a\xc9W=\xc7\xcf\xe5\xbe9\x08\x97\xbd\x86K\x15>$n\xff>\xb5t\x04?uz\xc5>\x16\xad=>\xabV\xd2=\xaf\x89\x1b>RG\xdd=V\xe5\xdb\xbe\x18\xbc\xd7\xbeg\x0cA?\x86\x89:>!\xb6\x94>B\x1f\x1c?\xca\xb4\x18=$):\xbe\xf9 \x02\xbe\x97)\xad\xbej\xed\x95\xbe\x15\x14K>Oo\xba\xbe\xebX<=\xe6`\xd6=\xec\xf2\xcd\xbd\xad\xb6\x90=\xa8\x15J\xbeNz\x11\xbeA\x0f\xdb\xbe\xcb\x011\xbf\xcdL\x8f<\nH\xfa=\x8d\xfc\x88\xbe]D\xfe=\xdd04\xbc\x9c<\xcc=\xb5\x89\x85<\xf4\x14y=\xc0\x95\x1e\xbe\\"\x1c\xbf\x1f\xde\xf5<=F2\xbd2I\x8e\xbeE)`>\n\xbc\x0c\xbel\x00\x1e\xbe\x9e\xf5\x9a\xbef\x8a\xb1>\x15\x04\x17?\x9c0\xe3\xbeH\xf1`\xbe1\xb4#\xbe\xe94F<\x12\xb0\xe0>\xc9\xd0~>)j\x08\xbe0\xe1\xb9<\'i\x91=\x0c\xb6\x80>\xfe\x7f[\xbe\x81<\xcf;<>\xe3\xbd\xc3w\xad\xbe5\xfcs\xbe@Vd\xbc\xc5\x16O\xbc9N\x9c=\xac\x14/?E\x88m>bS\x8f\xbd\xbc\xa5\x0f\xbe\xd3\x06\x92\xbe\xdf\x1d\xe7\xbe7Rj\xbe\xfd\xa9\x04\xbf\x81\x97\xa0\xbe0\xa3V?\xc2\x19=\xbe5\xb9\x85>\xc0\x87q\xbe\xe0\xef\xa1\xbc,\xfc\'\xbdis\x96<+\x13\xc2\xbe\x89\xf0$\xbf\x12\xd9\x8e\xbd\xa8yq?\x1f\x85\xbc\xbe\x1d\xd7\xe9=\xa0\xa7\x8c\xbe/8\xa4\xbd\xce\xd9\x93\xbe%\x972?\xc9\xd8\'?Q\x0e\x18>\x08\x9c\x8a\xbb\xa1\xe5\x05\xbd?>\xe7>E\xde\x9e=x\xe0\xdb9\xa0Bf\xbe\xee\xd8\xea\xbd\xd5d\xda<\x87u\x8d>\xaa\xea%\xbe\xf1\xa3\xf2=\x90F\x02\xbe\xf4\n]=\xd2\xce\x98\xbeA{\x9e\xbd\xd8\x8d\xb2=\xf4\xe7\xa6="\xde\xaa>\xc2\x9a\xaa>h\x08\xd4\xbe4\xe9\xea\xbd+z\x9c\xbe\x9b\xa48>$\xd5\xf6>\xca\x85>\xbfc\x9fN;QX\xf3>\x06\xd6\x97\xbeYX;>;?\x1c\xbf2\x02\x01>\x9br6\xbd\xe4\xae\xb9\xbc\x14\xd0R>Hx\n\xbf\x19\xd0\xf4\xbdn\x186?/\xf4\x16\xbe\xe8\xf4\xe0=>\x08&\xbf\xe4\x90\xa6>\x93\xbf\xc4\xbd!\x0f\xa2\xbc=\xee\x18>Ee\x83>"\xf5~\xbd\xa5m\xcf\xbdB\xa5\xd6\xbe[2a\xbef9@>\xa02\xfe\xbbT\xab\xff\xbd\xb5\x89\x8b\xbd(\x1d\x13<&M\x1b\xbfXS]>\xb7\xcb=\xbcZ0f\xbe\x86\xd2\xd9=\xf0\xa2\xea\xb7\x1c!\x83\xbbQ\xe9\x90\xbb\xfc\xa6\xbe\xbe\x9fk\xb7\xbd\x9c\xf4]=\x14\xe4)\xbec8\x86\xbd(\xfa\x9a\xbd8&G>\\]\xb0\xbc\x80%6=(S\x17=^\xb05>y-)>\x90 \xec\xbc\x07\xe7H=\xea:\x94\xbe\x91\xd44\xbe\xfb\x13\x14\xbe\xe8o\x9e>x\x0e\x8f=\x17\r\xd9=\xdd7\x07?\xb4P~>F\xf2\xe3=:\x837\xbd\xcc\x1b\n>F\x85\x86>O\xf4\xed\xbc\x8b\x83\x03\xbf\xf13:\xbd\x90\xa7k>\xadp_>\xbeT\x85>\xfcU\xc5=\xef\xf3\xbf=N\xea\xd4=\x0e\x95\x9a=\xd5\xae:\xbe\xd1\x19\xe3\xbe\x9d\xab\xfd\xbe\x8b\xe5e?\xdekw<\x0eT\x96>Qr\xd6\xbe\xf6\x19\x95>\xe7c5\xbd_\xea\x0e>\xc4\x054>\x96L\xf5=\x11\xbc?=TT\xfd=\x08\x90\xd6=/\x13\x04>\x07+\x16\xbf\x81\'|>Z\xb2\xa3\xbe\xfcH\xb3=\xc3u\xba>\x81\x13\x80>\x88B\xfc\xbc\xb0\xcd\x12>}\xeb\xb8>\xba\xe4\x92=\xc9\xd6\x16\xbf-]\x8f\xbe\x0e7g?\x93\xdc\xcc\xbd\x1e\\\x8a>m\x1f\xc7>\x0b\rw\xbd\x9eA\xf1=jSb\xbd\x9ed\xaf>b\x93<>\x10/\xb4=\x1d\xda(\xbeYO\xf5\xbd*\xcb\xa2\xbe\xee\xc50\xbeC1\x89\xbd\x83\xde[\xbd\x07\x0f\x05\xbfj\xde\x0f\xbeh\xd9\xb7\xbe\xb3\xf5\x02>uW\x95\xbd\xf4\xdad\xbd\xd3\xabs\xbe>\xafu\xben\xe7\x19\xbe#g>\xbe4\x1d\x82\xbe\xbb\x8e\x93\xbd\\\xec >5\xad\x84\xbd\xfa\xbc\x86\xbeO\xa30\xbe\x1c\xf6%\xbe\xdf?\x0e=C\xf0\x9d>\x89\xec\x8f\xbd\xbd\xb1B=+\x05l\xbey\xdb\x14\xbf\xc6\x0f\x02\xbe\xcc\xf5\x07<\xcc\xdb\x04>h\xcb\xfd>|g\x91>\xeb{!\xbc\xa6\x1c\x88\xbd\xbb\x9f\xba\xbc\xd8\xb9g\xbc*s\xe7\xbe\x0e\xe0\xbd\xbe\x86\x01%?\x11]\x05>\xadY\xe5>\x11$i>\xde\xc3\xd1\xbd\xbd\xf8\xef;r\xdcG\xbe\xe7\xe8\xce<\n(\xfe\xbe\x02\xeaV\xbe\xfb\x846?\xc2\x9b\xf5\xbd\x02\xb8R>\xc7x\xc5=\x1cJ\xbe\xbd\xa2\x11.\xbd\xd0\x9d\x8f9\xb7 A\xbd\xa34\x06\xbf\x8b\xf6\\>\xe1[N\xbe\x93\xe9J\xbe\xd7\xab\x9b=\xae\x8a\x15\xbf\xd2\x95\xa0\xbe\xa3\xdad?K\xbb\x84\xbd\xad\xa3\x8b>\xc3\x02\x8a>\x99M\x90=0v\x1c\xbe\x19*X\xbe\xe1\xfe\xee\xbe\x88I\xaf\xbd\x0c\x98\x8d=\x97\x9b\x9c\xbd\x93\x9d\xc7\xbe\x98T\x9d\xbe\xe4\xcc\x1d\xbfS\xe7\xfc=\xde\x98O\xbe\xe1?\xb1<\x93\x91\xfe>\xcf<\x07\xbfp\xa8\xac\xbe(\r\xf7>\xf8U\x8a;\xe3\xe9\xd1>H\xd8\x0f\xbf\xe9\xafD>\xdaD\xba\xbdF\x90\n=\xd7\xddi>\xf3@\x00\xbf\xce7\x18>\x1a\xcd\x13\xbdJR\x82=\x00SC>\xa7TS>\xc3ff=\xbaw\xab\xbe\xe8K\x04\xbf\xd7\xb5\x82\xbe+\x9cD>\t\x8e\x05>QQV>\xe4\xfa\x11?l\xeeP=\x98\xd8\x04>\xdc\xf5\x8b\xbenw\n\xbd@#\t\xbep`\t\xbe-\x15\xd9>]\xd7\x91\xbc\x89\xe8!>(\xb4\x86>\xfe\x92\x8a>\xb2k\xa0\xbe\x1e\xc8\x02>\\y\xe9\xbd\xe92b\xad\x90t\xbd\xf3\xbb\'\xbe\xeeW\xf5\xbd\xe0\x03j\xbd\x11\xc5!\xbf\xaa\x19w>\x9dh\xf0=s\x9e\x8b\xbeVi\x89>\xbd\xea\x0c?\x16\xe2\x02\xbeA4\xc2\xbcd\xc8\xf5\xb9\xe1\xa0\xac=\x14{\xe2\xbe\xc6\xadi\xbe+N\x14?\xb3\xca\xbe<\x14\xeaQ>\x1d\xf4\xdf\xbdrg\x92>\xc4\xc1[\xbc+}\x07\xbe\x9d\xc2\xaf\xbe:\x04\xd2=\xc1\x1b%>\xe6G\xfc\xbde\xe5\x9d\xbeEb\x95\xbe/\x95\x15\xbfh\rd>@\x8e\xd9\xbe\xbe*s\xbeD\xd2\n>wb\xe8>];j>\xbeB\x9a=\xb5\xfc:\xbe]b\xdf\xbd\xf4f\x8b\xbe\xdd\xb9\x91\xbe)\x1b\xdd>\x881\xf2>"\x83 ?@\xce"\xbf\xb6VH=9\x85\xe5>\xf1\x17\'\xbe\xbc)r=\xf2\x80}=\x96a\xb7<\xec[\x9b;\xd8\xaf\x96\xbe\x9c\xe0\x90\xbd]\xa1J\xbe\xf4*W=e\x85#\xbe\xf9\n\xcf\xbc\xef\x7f\x8c\xbe\xb7\x04?>d\xf4\x06\xbe(\xe6\n>y!_>\xbb\xcd>>\x0f\xd59\xbe\x05\x10\xa5\xbe\xf8\xb7\x1c?\x0b\t->+\xc0\x8d>\x98\x1b\t\xbf\xfc/!\xbe\xe7\xe6\x7f=\xcf\x96k>z\xb6\xe8>`\x8e\x18>|\x93S\xbd\x95,{\xbe\xc7"\x85=\xa28[>\xb7=\xb7>\xbeV\xb0=\xa7>\x0f>L\x97t\xbd\xfd\xdc\xb0\xbd\xc4\xf6?>\xd3\xed\x1f\xbd.\xba\x9d=\x9a\x8e\x01\xbe`y\xbb\xbd\xfd\xc7p>\x92\xa1\x83=\x07\xed\xba\xbd\x10m\x12\xbd\xd3\x9af\xbe[hd\xbe\xe9\xb1\x0e\xbe,\xf6\t\xbe\x04\xc8\xe1>/\x89\n?9\xbdV\xbe\xf1i\xe7\xbc\x9e\xef\x83\xbd\x08PA\xbeA\x020>\x9b\xd6\xe1>\xff\xf2P<\xe65\x01\xbcq\xf9\xf7=\x81\xc0\x15=\xd0\xe9J\xbe\xbb\x1a\xa2=\xfbD,\xbe7\xb2\xf5\xbc\xb0\xd9\xd9<\r\xb9\x02?\xc1\xe6M=\x8c\xae\x02>l\xfb\xf8=\xe0\x16_>\x9a\xd2\xf1=SI\xb0\xbdE\xef\r>B\xdd\xc7>QLP=\x88E\xf3\xben\xe2\x82\xbe\x89\xdf\xea>\x16\x9cP\xbd\xc6\x1a7>\x06{Q>b\xfa\xa2=\xa8|\x18>\x7fm\x9b=\x05\xebS>\xde\r\xc0>\x1d\x14\x8e>\xff\xce7>\x11I\x00\xbd}0\x9d\xbd\x0c\xd3+\xbe\xe4\xc1\xa8\xbcb\xe5\x8e\xbe\x7f\xf9\xdf\xbe*\x936\xbe\xba\x08\xe6\xbeQ\x94\xe7=\x0e\xfb\x9c\xbb\x01\xd7I>\xd6\x07p>\xe7\xd4\xe9\xbe\x0c\xe5\xab\xbeoga?q\x7fg;\xc4Tn>\xf7\xedI\xbf\xadf\xae>P\x06^\xbeP\x1f$\xbe;&\xdb=\xc7\\\xa5\xbd\xe1\xb3\x9e\xbe)\xf4\xf5>\xfe\xc1\xf3>\xae\xad\x07>a\xa2\x90\xbeoD\n\xbd\xbc\\\xa0>\xc72/\xbe\xcb\t\xa4m\xe4\x08\xbf\xb7\x06\xad=\xa7|\x17\xbeai<\xbd\xa6\xe3\x9f>\\\xe8\xcd=\xae\x07\xcf\xbd\xe8\x115<\xe2\tE\xbdh\xb0\x12\xbe#N\x88\xbe\xdc\x9a8\xbd\x19\x04\x83\xbeA%\x87>\xcc\xf9\xa0>\x84\x84\xeb\xbe_<&\xbe\x1b,\x1c?\x9f\x8c\t>\xceIK>\x10\x8dx\xbb\xa2\x1b0\xbe\x8c\xcdm\xbe@Y|\xbe\x01\xc1\x12\xbeL\x11\xbd\xbd\xe8\xca\x95\xbe\xa3\xe1\t?\x13v\x8a=FQ\x1e>I|B\xbe^Q]>\x82\xc6\x84\xbe\xae\x81I;:\xef\xa8\xbe\x00Q\xd7\xbb\xcd\xe0H\xbd\x804\xff;\x00\x0b\x86\xbc!\xd6#=T\xd2\x12?x\xb7Q\xbdVLR\xbdu\xeb\xab\xbd\xb3\xc7\x8b\xbd`7\x14\xbfoU\xa0\xbeto;?\xb0\xab\xaf\xbd\xd1I\xa3>\xb9\x04\xc2\xbe\xfbE/\xbe\xf6\xb2P?\x98\x18\x8a\xbe7\xde\x9c=\xc4\x8e:\xbf,\x98\xf3=x\x94\x9b\xbeHT\xc3\xbe\xcaTp>+\xb3\xe5=\xbc\x17\xa6=#\xc97\xbe\x81\x17\x96\xbd\x81\xea(\xbe mq>M\xa9(>\xaf?\xbd=~C\x97<\xdd9\x99\xbdt&\x94\xbe\xbf\x14\xf8=\xa4\x86\xfb\xbd\x1ew\xc4\xbcg\xdb\xf8=\x1e\x07}>:26=\xb2\x93\xdc\xbc)@\xa6\xbcJ\xfch\xbd^\xfb\xe4>Tq\xb3>]\xf7\xa2=\x1aT\x18\xbd\x92\x91o\xbe~G\xcd\xbe<\x9e\xe5\xbe\xf1\xef%?\xe7$\x01\xbd\x91\xc7\x8f>D\xb1\x05\xbe\xb5K\x84\xbe\x93|\x17?\xc05j>\x16W\x12\xbf\xfe\x05\xc4\xbc\x06=\xc5\xbbN\x89t\xbd\'\xb0\xd0>\xba\xc0&>\x15P\x16>-\x15\xc5=n\xc1\x86\xba>h\x86\xbd\xc2\xe2\x87\xbe\x06k\x0f\xbe\xf1w\x8f\xbdj\xd8n>R\xb0\xf9>\xb6,\x8b>t\x86\xb3\xbb\xbep\x8b\xbe,o7\xbe\xfe\x11\xb3\xbe\x03\x03\r\xbfU\x9f\x1b\xbe\x1b\xaa\xff>\xb0\xb6h>\x03\xa7\xb2>I\xa6\xa9\xbe\x001\xbe=\xb8iS>F)\xd8\xbe\x08\x01X\xbe\xee\x080\xbfA4X>\x03\xe2\xbd\xbe\x0c!\x00\xbe\xac\\\x8a>ep\xc4>Z\x99\x14>\xd4q\xc0>\xf74\xcb=MM\x08>M\xd6\xad\xbe\xea\xde\x87>\xd4\x83\x87\xbe\xc9\nf\xbeo5\xc2\xbe\x92!B\xbfyZa>\xb4\xe4N\xbe\xeftc\xbe\xdd\xbc\x1e>\xc3\x89\xf9;b/\xbe\xbc\xd1\n\xbc=\xe7?\x18?\x85j->\xd4\xb9:\xbfj\x14\x96>F8\xe3\xbd\xc0lx\xbc\x8d\x13%>;\x84\x8b<\x87\xe5\x83\xbdAV\xa5\xbe~\'\xd3\xbe\xe1\xb4\x15\xbe\xa5\xf0\xb0>,\xd8\x00\xbe\xcf,a=%\x9d\x00\xbd\xda\xe7\x9d=V\xfe\xc7\xbc\xea\xab\x06\xbe@\x8e\x90=\xafZ\xb1>D1\x82\xbe\xa1\x9fa\xbe\xee\xe6\x9f<\\\xb9\x92\xbb\xc9\xed\x1b>8\x81\'\xbf\xf1\xf0\xf1\xbe\x0b\xb2\xb2\xbe\x96\xc9o?\x18\xcb\x9d=\x87\xa4\xac>6UL\xbf\x7fB\x80>TXk\xbe\xa0\xc0\xda\xbe;H\x12>k\x86\x8d<\x19\x90\x15\xbe\xc41\xc3\xbev\x06\x88\xbe\'\x98X\xbeq\xd5\xa1>\xde\xb4\xa1>Vv\x1b\xbb\x0f\xe9\xc4=Y\xa1\x9a\xbe\xba\xfc\x1e\xbfC;\x1a=\x83\xe1\xad<\x94X\x87\xbc\x14K\xc0>bJM\xbf\x00M\x0c?\xb7\x84\x8a\xbea\xd6b\xbe\xf0E\x11>\x89\xb8\x90=K>)>4\xb3\x1d\xbd\xe0\xf1@>&bp\xbe%\x9a\xd4\xbe%\x87\xf9\xbeKLT?\xf6\xe0G>My\x8b>6\x89\xb3\xbd\xbdh\x9f=\xaeI\x18= \xe0Q\xbb\xc5\xe2\x8e\xbeH\x06(\xbfV\xa4T>\xfa\xddh\xbd&O8\xbd,\xde\xc4>h-\xbd\xbc\xfar\xef;R|\xab\xbd7\x08\x86\xbed\\:\xbe\xadB)\xbfXG\x99\xbe\xc0\xb0p?\xc3\xb1N\xbe+\xc3\x82>\x92\x0f\'\xbf:\xa2\x04=\xcc\xbd\xe1>p8\t\xbd\x97\x11\xab>\x92\t\x11\xbfJ\xd9\xd2=\xba`,=\x8f\xd9\x83\xbd\xafI\xca=\xcdu\xb4=/S\x0f\xbdBE\xee\xbdr)\x98\xbe\x0c\xd6\x92\xbe\xb5\x02\x1b\xbf\xf5t(>;>\x11\xbe\xf8h\x07>"\x0e\xb8>\x16\xeb\x1b\xbf\xeer\x82\xbdcv#?\x08$y\xbe\xeb\xfb(>\xd5& \xbf\xc4q\x8f\xbc\xb15m\xbe\xdd\xb4\xd0\xbd\\L\x93>\xb5cu>:\xbc\x87>\x8d\x8f\xb9=9\xe3\x9e>\xa3\x12\x98\xbej\xb1 \xbft\xae\xda\xbd\xb14O?\x9cF\x92\xbdek\x89>\x87f\x9c\xbe\x93$\x0e\xbeq\xc1A\xbe\x86z\x00?\x8d\x9a\x16?\x9c6\x8c<\xe7\xe9\xaa>\xf3\xbcT=[\xe6\x06>5\x8e\x81\xbe\x07\xb8\x08\xbf\xac\xdd\x88\xbd\xf6\x8a-=G\xa1z>,Q\xef>\x90vs\xbe\x1e\xdf\xb6\xbd\xe9c\x8a\xbd\xc7\xf4x>\xd2\x18\xdd>m\x91\xce>E<\x9d\xbe\x82\x9fN\xbe\x05g\x97\xbc\x1a\xc2s>?\xf7\xac>\xe8,\x8a<\x8e\x83_\xbe\x96X\x9d\xbe\xa8\xc9\x87\xbe\x97\x1fA>\xbd\xe4\x91\xbd\x1f\x9a\x07>\x18\n)\xbe5\x03G\xbe\xb2\x0b&\xbf\xe5\xbd]\xbeP\xcf\x18?\x03\xde\n>Yt\xd5>:\xd9\x00>\x15\xbb\x1f>\xf37\x1c\xbd\xc3\x9a\xa5A#\xfa>\x8a\x8d\xff\xbe\x14q\\\xbe\x9f!\x97>A9\\>\x186\xf2>t:5>\x85\xe5Y\xbdz1\xf6\xbb\xe5\xc6s=Vw\xa7>\x16\xeb\xfa=\xbf^%\xbc\x9fP\xf1\xbc\x9a\xc9\xfb=}]\x80>\xd5@\x0e>J\xf4B\xbd\xfcC\xb6\xbe\xe71\x13\xbf\xd2\xbe\xe8\xbe\xbeS\xaf>A\x98w=\xe8\xda\x9b=\xb7\xff\xbe=\xee\xad\x8c=\xc5%\xab>\x93\x93\x8d;<\xe4\xa9\xbd_A$\xbe\xa8K\xa9\xbd\x83\x08:>.\xd5:>9]Z\xbd\xcd\x02I\xbes\xbf\xa7\xbe\xdfa\x1b\xbfs2\xaa\xbe\xf9&k?F\xe4\x88\xbbc\xf7\xa8>\xe2\xd8_=Y1\xde\xbb\xa1\xcf\xdc\xbclGX\xbb\x08f\x94\xbe\xe4\xa3\xcc\xbe\t7\xd7\xbe`RW?\xf3\xb5\x94\xbd\xce\x15O>\xcb\xa7o>\xb3\xad\xc8=\xc5\xb3\xa5>\xed\xd6\x8a<\xdc\x01\xb5\xbd\x9d]\x0c\xbf\x11qk>\xcb\xf8z\xbeH\x19\xe2=\x11\x82\xad>5\x80&\xbf\x03A\x14\xbe\xc1)f?\xc5\xe4Z\xbd\\9\x9b>6\xaf\x0b\xbe8\xe2\x00\xbd\xb3B \xbe\xa0\x04\x11=!\xe0\t\xbeQ\x82\xbf\xf3\xe6\x8c\xbdF<\x90\xbeH\xea\xdf=&\xb0\xd0\xbe\x8b(+>\xd2\xca\x9e=R\x8b\x83\xbd\x9b\x895\xbe\x1f\x9a \xbf`\x0c\x94>M\xfdS\xbe\xe4\'\xb2\xbd\xea\xaba>\xd1&r\xbeX\xe56\xbe7Y\x18>\t\xf6->\xf3\xb7x>R\xb8=>\x8b\x17_\xbd/\xf0\x17\xbes\x137>\x1cM\x10\xbd\x10@|\xbe\x10}d>\x94\xdc\\\xbe\xcd%\xbc\xaa\x02\r?\xa8T\x01>\xcf\xa0\xe5=s\xd1\xa0\xbc\t\xe7\x1e=\x9a\x17A>6\x0b\x16>\xc9\x85.>T\xa6B=\xe29\xb2\xbb\xb3\xf2\x19\xbf\x91W\x12>\x0f,\xa5\xba\xdd\xdf\xa8=\xea\xbd->Y\xf0&\xbf\xd5\xeb\x8b>\xb3\xc3{\xbe\xc4\x02Q<\x87\t\x07>\x892\x1d\xbfun\xa5<\x881\x02\xbe=\xe5.=\x82h\xd9>\x8e\xddf\xbe=Fg=.\x94\x84\xbd\xf7\x0e\x83>\xb4\xdfT\xbez\xe6(\xbf\xcd\xf3K\xbe\x83\x9d\x87?H\x81\x9f\xbe\xc2\x96~>\x94\x89\x8b>d\xc2\x80\xbe\xedt]\xbe\xd8@\xdb=\xb7\x8d\x19>\xcd\xf4\xd9>\x8b7\x1c\xbc\xff\xfa\x13\xbd\xaf\x90r\xbeV\xfa]\xbdH\xe0\x0e\xbf.d\xbf\xbe\x07*n?\xae\xf3m\xbd\xe9\xa1\xab>\x9f\x01\xea>\xc8\xe2\xd6;\x88?\x80\xbd\xb4\xfa\xc9\xbdi1M=\xa8\xd2\x8a=N\xe0\xfe\xbc\x10\xe7I\xbd\xe4\x96C=\xb2\x18_<)\xae\xa3>iEF\xbe\xe7\xe3w\xbe\x9b\x90\x94\xbe,\xa9L\xbe\xfd\xce&\xbf\x17\xf4\xad>\xe8\xebw\xbe{\xb7\x13\xbe\xaf\xb6\xb6\xbc\xe8\xe5g>\x8c\x9aS>\xf0[\x01>T\xb8\xff\xbc\x00\x1f\xbf\xbe\xfc\xe4\xcc>h\x15\x85\xbde\xed\xe7;\xb4V\xff\xbdD7\x80\xbbP\xb8\x06\xbf\xc2\x1e/\xbe\x83\xcf@?\xd2"P\xbe\xe9F^>\xd7\x82\xf3\xbe\'/\x9d\xbe\x040K?_\x9d\x7f\xbe\xb2\x1f\x85>2\xc0\x16\xbf\xc0\x07\xa4\xbeV\x9e\x88?\xbc\xc6[\xbe\xe6z\x8e>\x04\xee\xce=\x8aY\x1c\xbd\xbcd\x95\xbdF\xc4Y\xbe\x87\xd7d\xbe\xb1\x9e%>y\xa2D>b\x1bC\xbeUBs\xbd|B\xa7\xbe\n\xd9\x18\xbf\x93\x89\x91\xbe\xff\xa8s?\x9c\xd2F\xbe\\\xbd:>\xdb\xc2\x15>\x01\x11\xd3=\xae\xca\xd8=#\x15\xa0\xbd~-\x13=\xcf6\x98\xbe\xbccU\xbe\xec\xd2\xe9\xbe\x7f\x05~>\xc5\xd2!?\xba\x8f\x00\xbe\x19/\xa0\xbd5]\x8e\xbei\x8e\xf4\xbd\xbc\xb4\x13\xbem/\x0c\xbf#\xaf\xb1\xbd\xfcC\x1a?\x96\xdd\x89=\xba%|>\x19\x17\xe8\xbe\xa0\xa8O=0D\xe9\xbe\xf1\x0b\x0e>\x1c\xa7\xdc>""\x04\xbfvk\x1d\xbdZ\x80\xe8\xbe\xbd\xf0\n\xbe\xd7[\xe8>\x8aDS\xbe\xa9u\x15\xbe\x16F}\xbe\xef[\xd1>Mv\xf5>\xa8\xd1\x10>\x05\xd57\xbe\xd8\xd2|\xbe\xe0\xc6\xcc\xbdB\x859\xbd&z\xa0\xbd\xdf\xa3\x1c>l\x98T\xbc\xfe\xd59\xbeCw\xb7\xbe>\x7fx\xbeJ\xde\x9b=\xc2l8\xbe\xef\xbb\x8f\xbdT\'T\xbd\x91_\x81\xbe\x06\xe6R>U\x13\xa4\xbc09v\xbc-\x9b\xbe\xbe\xba\x99d\xfd\xd0]>\xda>%>\x1b\x82+\xbfN\xef\x82>\x8c\x8e\x0e\xbeiy\x8c\xbd\xfd\x15\x05>\x8e\xf1*\xbf&\x83\x96\xbe\x91\xa2\\?\x92\x15\xc1\xbe.(\x81>\xbb\xe0\x97\xbd\xb2o\x0c\xbe\xef\\\x9f>\xbco\xd1\xbezNO>\x8f$\xf0\xbe\x1bC\xbb\xbe\x92\x80Y?\x8d!\x87>\xcf\x8b\xc6>pcm>Sv\x10>v\xfc\x12\xbe\xf5\xfe\xc3\xbeb\xceI\xbe>B\x06>D\xcam\xbeR\x93\xed\xbd1\xcb\xa78\xb9\xb3\xbd\x96\xc8m\xbe\x1d0\xd7\xbd\x86n\xae\xbd\xc4$7\xbc\xfaD\x89>g\xf9\x95\xbdE\x9fo\xbeg\xfd\xc2\xbe\x9e\xc6\x1b\xbf"\xa5\x8d\xbe\x8c\xbfX?\x1d\xf5\x10\xbe%\xac\xb2>\xbfA$\xbf\xdf=\x88\xbe\xf2\xa4f?\xf0\x15\x86\xbd\xb9D\xba>-R\x1e\xbf\x8b\x0c\xc4\xbd\x007I?oU?\xbe\xe0\nj>\xe2:\x1d\xbfa\x1f\x8e\xbd\t#H?KJ9\xbe\xa3\xd1g>?\xebG\xbf\xac\xd47\xbd\x1d\xbeR?\xf2\xf3\xe9\xbe\x1f\n#>\x06q\x1c\xbf\x0b\xa3i\xbe\x97\xb4_?\xa1f*\xbe\x8b\x9aa>\xa2\x16\xab\xbd3\x90m\xbe\xd6G\xe9\xbd\xef\xace\xbeZoB>\x8c\xd3r>\x16j8>2\x8f\xa9\xbdh\x07`\xbd9t\xc0\xbe\xe4\xa6\x1d\xbf\xa5\x1e\x1c\xbd\xc7\xd5U?=\x02\xf4\xbev\xeb$>\xd4\x8b\x14\xbf\x82K\x85\xbd6\x8c\x16\xbd\xad\x82\x8a\xbe\x18\xa1\xa7>\x84\xed\x19\xbf\x04X\xa4\xbe#\x85Y?\xf0"\xa9\xbd\xa9\x9e\xb2>n\xd7\x9e\xbeE\xf6\xb6\xbe\xa5\xfc\xcc>^OV>\xb7/\xa7>i\x03\x1d\xbf\xe4\xab\x8b\xbe\xea\xc50?\x85I\xbb\xbd~\xc1\xb6>\r\x97\xad\xbd\x0e\x07\x90> \xc7/\xbed_\x1c>\xfd\x0e\xef\xbdn\xb1\x82\xbe&/\x9c\xbd\xbe\xb2J\xbdW\x98\xfa\xba\xbc\x0e\xfe\xbc\x06r\x94>\xad\xfe\xf0\xbd\xfb\xbb\x8b\xbe\x9f\x05\x89\xbd:\xbd:\xbe\xaal\xbb\xbe]U\xdd\xbd|\x9a\xaf>:\x12\x96\xbd\xe7\xdfO>\xf3J\x02\xbf\xb5f\xa3>+4(\xbe\xc2)\xa5\xbe\xf9\xa4\x91>\xaeT\x8b<\xb5\x7f\xfa\xbda\xfa3\xbdz\xc0\xf9\xbe\xf9\x8d\x8b\xbe\x0c\x1f\x1c\xbf\x83\x95\x7f\xbeI\xe9(?\xd7}\xa7\xbc\x10\x06\xb6>W\x89\xbf\xbd\xe4{\xf7\xbe\xb6\xd1\x84>!\xb4\xd3>rJ\xab>\xd4Q-\xbd<\xd4K\xbd\xb5\xc4\xa6\xbd\xb5\'\x01?V\x11\xaa>U\xadY>\x98RY>\x8a\xfe\xc5<\xce\xa5\x11\xbe\xc9\xea\xa1\xbeG\xc2h\xbe\x99%\xec\xbd\xa9\xc7\xa0=\xd4$A\xbe\x84C\x90=\x07JC\xbf\xd4\xd7\x00\xba\xf3\x1e\xde>\xaa7n\xbe\xc3O&>\x8d\x16\xc0>\x852A\xbe\xb5\r\x85\xbdn\x15!\xbe\xb3\xdc\xb0>\xdc\xa2\x1f\xbf\x1f\x1a\xbe\xbd\xe3~\xfc=r\x85\x88\xbd\xea\xf1\xdd>{\xeaQ>\x17\xf1!>p\xe7C=z\xc8\x00>\xa4\xef\xc9\xbd\x93\xa5\xdd>\x1eM\xab\xbb\xcbTK>\xa6\x85\xba=\xfb\xd4\x03>;6\x15\xbf~\xc2\x0c>\xf1\xf3\x02\xbd\x16\xa2\xe8>\xe2/\x81>\xd3\xd3\x80\xbd_$\x00\xbd\x9a\xd7\xcd\xbd\xca\x07z=\x06/N\xbd(\xad\xe9\xbe\x84\xc1U:<8"\xbe0\xbc\x10==\xd9\xe5>!\x08\x03?2\xa5\x15>\x1cv\xaa=)8?>\xcb\xf5J=\x8f+\x18\xbf\x92y"\xbe\xfb\xf4l?\xb9\xceM\xbe\x8b\xb4s>\x0f\xe1\xbd\xbe2\xd7\xf2\xbei\xb3I?A\xc8\x81=\x9e\xbd\x9e>]NC>b\x1f\x1d\xbez\xff\xe9=\x86\xc5\xd9\xbe\xf4\xe2\xbf=7 8\xbc\xee\x9c\xc7\xbd\xc7=\x85\xbe\x9a:\xf0\xbc\x86\xe0\x97\xbe^\\\xc1\xbe(\xb8\xa2\xbe\n\x9c&?\xd9\xcbE>&\x05j>/c\xf6>\x02\x80\xd9<\x11e\xda1m7>\x08\xc4\xe8<\xf8\xe4\xe7=\xcds2\xbeP\x05+\xbe\x1c\xacH>,\x11\xe4\xbd\xa6g\x91\xbd;\x8fH\xbe?\xbc\xd1=Z\xcf\x91>\x17T\x11\xbd\xeeY$\xbe\xc8\xc1\x08\xbfO\x91\xf3\xbd\xc8y\x0b\xbe\\\x8b\x82<^5&\xbe\xb5\x08\x00>\x98}\xc2\xbe\xfa\xadP>\x8f\x05\x87\xbe\x19\xdb\x1c\xbeB\xb7\x18>\xf4\xe7\x07\xbf\xe2\xd45\xbe\xba\xc1N?\x86\xd6\x8c\xbeY\x9f\x84>\x0b\x01d>T\x8b@\xbd>G\x90\xbd\xdd{&>\xc0\x89\x87>a\xf9\x86>\xee\x02`\xbd\x95\xa1\xf5=\xd4P\xf8>B\x96\x95>B\xf61\xbf>\xc1[\xbe\xe2\x8ar?\x1a\x94\xa2\xbdk\x88\x90>z\xce\xc4\xbe\xf9| \xbe\xc3>\x1b>\x02U\x04?C,\xd8>A\xaa\x9e\xbe=\x97\x0c\xbe\x18\x93\xc0>\x82M!>{s\xca>\xf4\xfc\xf4\xbe\xdc\xc3\xb2\xbd\xe9\x94\x97\xbe\x10\xb6J>\xf0\xdd\x8e>\x12P0\xbe\x04\xa63\xbeD\x8a\xa3>\xf1\xfa\x86>3\x8e\xb2=\x1a\x1f\x10\xbe[-\xfd\xbd\x01-:>\xe7#??/\x82\t>\x9a\xf8h>r?\xd1=\xa6\xf0\r\xbe\xd5\x1fZ\xbe5d\xaa\xbcd\xa5\x02\xbf\x8a\xd3\xe6\xbeb\xd4s?\xfc\xb6\xf0\xbd1\x1f\x82>\xc4\x0c\x1d=\x91E\x03=\x00\xa3r\xbeG\xfe$\xbe\x82C\x85\xbe$yy\xbe\x9b\x83\x9c\xbeD\x9c2\xbe\x81\x16\x05>Mb\xf6>\xe5>\x93\xbe\xdc\x19\xad\xbe\x9e>6?\xca7\xa6>\x8fd\x97>\x84 \x8d>f\xe4,\xbd"\xe1\x97\xbd\xf6U9\xbe\x9a/\xa7\xbc\x17\x02\xaa>3\xd01\xbe\xf7\'G\xbe\xe1\xac\xde\xbdQ\xa3\x1a>\xe46\xa6\xbe\xaf\xd3\xa1\xbd>\xfa.\xbe%*V>\x10E\xca>O1\xa4>\x01\xaf\xa7\xbd*%-\xbd\x0b\xad<=s\xfd\xb9=9>\xde\xbd\xd3\xd9\xbf\xbdX\xcc >A}\xa4\xbe\xf8Ar\xbd[3=\xbf8\x03\xc2>\xb4\x9aO<\xdf\xbat\xbe}\xa5(>\xc6\xdb9\xbfj\x8d\xfe\xbc\x89O-?\xd3\xa0a\xbe\xf3n0>\xc6\x87\xec<\x14e4\xbe\x19\x83\xe5=\x8co\n?\x0c\xb6\t?\x87\x11\xb1>w\xef\x04\xbe!/\xe6=\xda\xc1a=\xefk\xd0=\xfb\xc4[>6\xbc\x91=\xdb\xcc\xd6=\xd7\xcfb>\x06\x90\xcc=_E\r\xbe\x03`\xda\xbd\x96W~=\xaf\xea7>\xf2\xe5\n\xbeH\x8fS>X\x0f\x06>\'\xf0u={\xc8\xd8>\x17\xaf\x8c\xbd\x9f\x015\xbf\xc0I\xa8>\x84\xd2\xaf\xbeu\x00\xb9\xbd\xc6`\x1c>\xb8$\x04\xbeI\x9a\x1f\xbe\x97\xd75\xbeF\xa0X\xbe\x07p\x04=Fx?>\xca&\x84>\xcd*\xc0\xbd\xb4fD\xbe\xd0\xbc\xec\xbd\x1c\x96\xf4=W\x0e\x81>$\xeeU\xbeb\xafq\xbe\xf3Q\xc6\xbe$\xad%>M\xe4\x00\xbeE\x88\n\xbd!A\x0c>\xd3\x00\xc3=<\xec\x16<\xacd=\xbe\x94i$=-\x0f%?\xe4\x13\xb8>#\xf05\xbe\xba\x0cC>JhC\xbe\xbc;\x10\xbc\x19:\xea\xbe\xa7\t`>%;}\xbe\xc3I\x9d\xbe:\xfeN\xbeb\x02\xeb\xbc\xfa\xa8f\xbe)\x86\xd4=\xbd{Z\xbe?v\xf2\xbd\xa2\xa4t\xbe^\xc0\xa7\xbd\x9dM\xde<\xc7\xe0]\xbdu\xb0\x9c>\xf9\xc6\xf4=\xf4\xde\x83>R\n\xed\xbd8\x8cT\xbe}T\xbc\xbd#\xff}=\xa2\x91\xfc><\xd9\x1d>\x16\x8am=\x19\xc8\xa7\xbd\x95w\x85\xbb\x07R\x18\xbf\xde9\xe5>\xa4\xdd\x82\xbe\x02-T>\x15\'s><\xe7n>yNR>\x88,\x0b\xbe\xa6\x004\xbe\x06:\x81\xbe\xab\xbf\xba\xbe\xde"\xa1=\xa5\xe5\xe1\xbe\x95A\x94\xbe\x95\xaa\xc7\xbc\xaa\x1aj\xbeRm\x84\xbe\xfeSq>\x04O\xf8>\x0fU\xb0>\xae\xc5\x0b\xbf\xf9V\xae=\xe4\xb4\x99\xbd\x05\xe4\xe3=G\xd5;>\x12\xd6P>=RR\xb4\xde\x0c\xbe\xab\xe3\x88\xbe\x12f\x93\xbe\x9e\xe8\xf4\xbe\x18*\xbf\xbeh\x08M?\x9d\xf8\xd3\xbc\xd9\xf6\xa0>(\xb3\xf5=\x11v\xeb=\xfe\xe22\xbe`\xe4J\xbd=\xff\x8c\xbe\x10\xc2\xf9=\xc2\xa4/>\xed\xfb\xb8=\x1e\x971>\xe8J\xa9>\xec\x7f\xf9\xbd\x00\x03\x88>\xf9\xf0\xd1\xbd\xc8\x19(\xbew\xbb\xec\xbe\x12\x1c\x8e=|&\x93=\xb6$\x0b=W|\x8a\xbc\x07.\x06\xbe\x84\xe0z>#\x87\r\xbe\xfd\xf5\t\xbe\xc5\xb1C\xbd\xd6T\\>)z\x00\xbf\x1c\x17 >9_\xb1\xaa\xb2w\xbe\xf6\xea\x07\xbf(\xab\xef\xbd\xadBq=\xb4\x97\xf3=\xa4\t\x05?\x1c\x01\xf7\xbec\x0c\xa4=\xfa;z\xbe\x1f\xf4\xac>\xd9W\xee>$\xc8\xfb\xbeyhL>1\x85\xb2\xbd\xcc\n\xb5=}\x15\xb4<\xf2\x1c\xa7>Os\x01>\xa3\x7f\x9c\xbaInx\xc8 \x1b?J\xa9X>#\x91\xf3\xbd1\x85\xa6=\xdc\xf4L\xbew@0\xbe\xdc\x9f9>f.\xba>\x86\xc4Q=\xc9\x85\x9a<\x01\x00\x91=o\xd7H\xbe\x0c\x98\xc7>o%g>\xc8\x0e\x84=\x1d`k>\xfdMO\xbeU\x94\x99>y\x14F\xbe\x0f#\x19\xbe\xec\xeb\xfc\xbd\xd5\xf0\x91\xbd~F\xd0\xbd1NM=$\xb8\x94=\xe0\x96B>\x1cn|\xbe\xb4\xf4\xdf\xbeY*\xbf\xbey\xbd>?\xba,\xa7=\x12\x14\xb1>\xe1a\x94>\x99\xc6{\xbei\xddV\xbe\x91\xc7.>\xa9\x925=,x\x05\xbf\xf9\xf0\x9c=\xad)\xae\xbe\xb3(\xa1>|C\xf4>\x1e\x87\xff=\xbbG\xad<\x86\xac\x94=+6\x1f?\xf3\xe4\x92\xbbp@\xcc\xbe\xe1\xfd\x8d\xbd\xea\xcb\x8b:\x89\xe8\xd5=\x8e0\x14>\x94_\xf5\xbe]\x8e\xca\xbe`\x1fH?>\xaf\xe9\xbd\x84\x1f\xa0>3\x91\x89\xbe\xcb\xa6\x90>+\xf4\xc6<(R%\xbe0\x9b\xd1\xbe \x84\x04\xbe\xd5\xb8\x12<)\x00?\xbe\xe5\x81\x1e\xbe\xd1\xf8\x9d\xbeO\x03\x0e\xbf\xff\x9fD>e\xb7\xa7\xbeB\x8b2\xbe[^\xb1>j}\x13>\xd3\xe8\r>\x92\xd8\xcb\xbd\xbd\xe9}=\x1as\xbc\xbdN\x18J\xbe\x1c\xd9\x1f\xbep\xa6\xa4>\xe0F\x81\xbe\xa50$>\x8f\xcf\x0e\xbf%\xbc\xb3\xbeKZC?kv\'>\\7\xe7>\xec)\xd4\xbe\xd9\x9d;>7\xa5R\xbe\x06\x13<\xbe\xe2c\xa0\xbeF\x93\xb9=\xd8\x91\x02\xbe]\xc5\xb6=Wh\xbd=\x90\xcc\xa4=4\x16\x10?\xc0\xa2e=\xce\x9a\xa5\xbd\x0b\x96\x02\xbe\xb8\x8f\x8a<\x1b\xd8\xb4\xbef\x08.>\x93j\x8b\xbd]\xae\xc8>0Ik>\xab%\t\xbf\x1a>\xad\xbd\xaf\x1f\xc6>[\xe7z>KX\xad>\x1fi\x1b?\xb7\xb4\xb7>\xea\xb9#>^ \xd5=\xafo\xf4=\xc2\xf9\xf5>R\xcc\xac\xbd\xaa%t\xbe\xd3^\x90\xbe\xc5\xa0\x91\xbd\xa9{)>1\xad\x8a=\x07\x91\x87=\xa3\x0b\xb2=\xb029\xbe\xd1\x9fO\xbf`c\x02?\x04\x90\x8d\xbe\xbej\x88\xbd\xc9s$>:\x87\xdc\xbe\xfc\xa1\x0e\xbe\xe4\x8dz\xbe\xc3\xa4\xaa>_\xb9\xe8>\x9e\xd7\xc4\xbe\xa1\xecf\xbd\xb4\xde\x97\xbc\xbc_\x03?\x07\x16\xfe>wb\x1c\xbfh\xd2b>M\xda\x82\xbeN\xea\xc8\xbdM\x9c\x8e>\xa3\xf0/\xbf\xf1\xae\xf1>p\xb4v\xbe\xe4\x8f\xef<\xb6\xb6u>p\xd7\xe7<\x8b\x94\x84\xbd\xe6R(>\xf3=\x8e\xbc\xb2\x1eF\xbd\xaf\x12\x15\xbfE=\xd9\xbc\x00y\xaf\xbeGMF\xbd\xfe\x00\xb0>J[\xee=\\X3>\xd2\xd0\xad>\x18\x03u=[.\xf4\xbd\xcc\x9e+:\xa9\xfb\x8b\xbd[}\x9e\xbeB\xd5\xb0\xbe\x9f\x0eL\xbe' 28 | tbag2 29 | (g3 30 | (I0 31 | tS'b' 32 | tRp7 33 | (I1 34 | (I1683 35 | I5 36 | tg6 37 | I00 38 | S'\x89\xe6\x9c\xbe\x11^\x10>"+\xa4\xbe\x8e\x15\xcb\xbd\x01\xc6\x01\xbd\x1b\x1b=\xbd[Dj;\x1b\x8d;\xbdp&\x1a\xbevwE\xbe\x96E\x04\xbe\xcf\xc3\x9c\xbd\x08\xf2\x13\xbev{\xa5\xbce%\xb9=D\xac\x03>;\x08\x01\xbe\x16\x83\xdf\xbd\x1d\x80\xda\xbc\x1c\x01\xce\xbd\xccn\xa9\xbd!\xb6\x00\xbd9\x9d\xa2\xbc\xbe\xf3\xb2\xbdd=\x94\xbcZ\xa7r\xbdW\xd2\xe7\xbc\xf29Z\xbd\xee\x89#>-\xb5\x1a>\xce4\xc8\xbd\x12\'\xc0\xbd\x8ad\x8a\xbe=+\n\xbe\xd1\x82\x8e>j\xe8&=\xe8+#=\xd8\x02 \xbd\xe4\xb5\xc6=\x0f\x19&\xbe\xdbS\xa0\xbdt+\xb8<\xb8\xc2\xc7\xbd<`\x87>\xe4\x1er>\xd0Na<\xc8\x13\x07\xbdJ\x8a\xb2\xbc\xd0\x94v>\xea\x9eV>\xe11\xb3=3\xec;\xbe\x95I6\xbe|\xa8f\xbeD\xf7#\xbd\x11iD>\x87KK\xbe6\xf0\xaf\xbdF\xd4\xb5\xbd\x87\xf8l=9{\xb9\xbd\x10\xa0\x11\xbd\xd7D&\xbe\x1d|M>\x97i\x8a>\x14\xab\x9d\xbdP\xaa"\xbdX|\x14\xbd\xd8\x94\xf4>\xacF\x93>>\xb5\xcd\xbe2\xfc\x95>\xbb\x07?\xbe\x90Q\xdd=\xa4\x9dL\xbc]\x10\xb2\xbd\x9a\x03@\xbd\xfc\x08\x82\xbc\xa7S.>^2W=\xdb{-\xbb?8`\xbe\xd3\x08\xe0\xbd!\x9d\x0f\xbe\x0eCd=q\xb1f\xbc\x05\xef\xdf\xbc\xc5d;\xbc\xbf<\xb7<\xd4\xf1\xaa=N0\x14\xbet9\xa8\xbd\x81\xa0)\xbd\xf5;\xad>\xff\x11{>\xc7$\x9c\xbdx\xd5i\xbd\xa3\xe8\x95\xbd\xed\\\x91>\xfc\xe6\x19>\xc6\xf3\x0b\xbeW\x9b6=8\x11\x1f\xbd\x88\xa1\xea\xbb\xe9\xc9F\xbd\x0b\xeb\xe4=\xff\xa8+<\x16\xe9\x01\xbe\xea\xc6\x7f\xbe\xb6D\xa3\xbe\xaev\xbb>4i\xd4\xbc\xb7i\xe7;\x9d\x96\xbe<\x9a\x80d>\x8e\xb6\x05\xbe\xb0\x8a\x1a\xbe>\xff\x81\xbe\xc3\x82\x1c\xbeR\xf8\x97=B\x0c\x9f\xbe1\x9d\xf4=iMP\xbe/\x96\x01>\x1d\xde\r>y\x82\xd0\xbb\x86\xf2\xcc\xbd\x97\xe4\xef\xbbsj\xda=\xd9\xd9u\xbc\xa8T\x83\xbd\xd0\x89\xc5\xbc\x0e\xe7\x00\xbd\xc8\x97\xfc\xbdy\xb8\x01\xbda\xcd\xca=49\xd8=\xf6e\xbd\xbd\xe0\xc6\xda\xbd\xca\xd1\xae\xbe\x13T\xf5\xbdpa\xa2:n\xb7w\xbds3\xb7\xbd\x0e\xf0\x06\xbe\xeb\xc3\xb2=\xcf\xe2{\xbb\xea\x88\x9c<\xf6\x93&>\x82\x07\x13>\xe1o\t\xbc\xdf\x95&=\xbbK[\xbdtjB\xbe4\xa7+\xbe\x92XP>\x0f\xb3\x13\xbe\xde\x1a\x87\x15\xeat;;9N\xbeI\x0f\xb8\xbd\x8bg-\xbet\x1dB\xbc"\xb7\x86\xbd\xd8\xfbF\xbd\x12.\xca;\xd5\xed!\xbd\x02m\xb0<\xe5`\xeb\xbd3\xaf\xec<\xc4UP=\xc5z\x9a; \xed\x88\xbd\x85\xe9\xe8\xbd*6\x1e=2\x91d<<\xd9\xc4=\xa6\x1dO\xbc\xda\xca\xb0;H\xc7%\xbdV8\x08=^\x19\xc5<=@\xea=.\x912\xbe\xb4\x83\r=\xa3_I\xbdZ\xb0\xa1\xbd#\xb8S\xbeG\x1e\x08=Q\xc1\xbd\xbd\xd4\xbcf\xbd\xcby\x9c\xbc\xf4\xbbj=4I\xf1\xbd\xb4\xadZ\xbd\xfaW\x9a<\xbd\xfa\x10>\x13\xba2\xbeP\x9a\xe8\xbd\xfdN\x8a\xbd]p\x0e\xbd\xfc@D\xbdtt?\xbdN\x9f\xeb=\xe7\x10\x88\xbe\xa7\xa9g\xbe\xa3Hi\xbd\xbb\x17\t=\x0e\xe8\x8d\xbd\xf5N\x93+\x85m\xbb\xe4\xb3(;\x18\x98\x99>\x1d\x02\xe5=C\x97\xcd=\xb9\xa9\x00\xbe\xa0\xe8\x11<\xf3tD=\x18u\xc1=\x89\xf7?>\xf9\xde\x07\xbe\x1e\xf8\x91\xbdL\xaex=\xb9\xd8\xc1=9\xe6e>\xc07\x83\xbd\xf96(\xbd$\x7f\xd3=GO%\x8d\xbd6*@=\x8d4\xc1\xbc\x82nb={9\xe7\xbd"a3\xbd\x89\xc8\x83=\xed\x99m\xbe\x88\xbf$\xbe\x7f\xfa\xa3\xbdm\x17N\xbd\xa3x\x03\xbd@/\xec[\x86\x1b<\n\xf0\xd9<[\xd4[>\x05\x97/\xbb\x86\x9b\xb1=\xed=p\xbe;\xcf\xa2\xbd<\x0c:\xbe\x1dU\xc6=~?O\xbd"\xf3\x1d=\xc3\x9a\xa7:\x93\xd7\xda\xbd=\xb5\x17\xbe\xc6\x9c\xf6=!\x9dM\xbe`\xed\xe5\xbd6l\xfc\xbdq\x02\x85=\xad\xa8\x9e>\xed0 \xbe\xbe\xc5D\xbe?\xef\xdf\xbd\xa0<&\xbd\xb3\xbf_\xbc\x04\x98\x7f\xbd\xdfd\x8d<\xfe\xd3\x1d>\xb1\xdf\xc3\x00\xbfS\xbd\xff\xe2\x92\xbd\xc5\x1b\xcd<\x17\x1fp\xbd\x95V:>\xca3\xe1\xbd\x81\xfaF\xba\x12\xd7M> \xba6>\xa2\xdb\xb5=!\x10\xd8\xbd\xaa\x96\xd1\xbb\xca\xaa\\>\x9d\xc0\xf9=\x15z\xca=\xd9\x85\xe4\xbd\xc0d\xbc\xbc\xb2~>>\xc3\xe4%>\xce\x15o\xbdR\r\xe8\xbc\xb3\x13H\xbc\xa1\xcec\xbe\x14\xdb\x18\xbe\x02y\x89\xbd\x07\x02\x01>\x0fs)<^B\x96\xbd-(S\xbek\xb7T>\xe5\xf3\xcf\xbc\xe2* \xbe\x0b&\x9b\xbd\x07\x17\xe9\xbd?\xe2\x9f;\xb3+S\xbd\xee\xce\xd0\xbcC\x04!>\x870\xa2\xbd\xd9\xaet\xbd\xb5T\xf2=\x1b\xef\x9e<\xdaB\xdf<\x9c\xfc\xb6\xbe\xe9\xe5\xd6\xbd\x83x\xbc\xbd+]\x99\xbd\xf8=\xb3\xbd&;,\xbeE -\xac\xbb\xd3=:q\xcd\xbd\x83\xca\x9e\xbdrC\xab\xbe\xc6\xd13=)P\xc1\xbc\xca\xd8\x99\xbc@gU>+\x86\xca\xbd\x04\xba\x95\xbd1\x16$>\x1cx\x9c\xbd\x92\xcf\xf3\xbcH\x03\xb0\xbep{\xb1\xbd\xa3&`\xbd\xc9\xa3\x1a\xbc\xba\xd4\xaa\xbb\xcd^ \xbe_3\x8e\xbd\xd5\n\xc6<\xe5\xda\x8f\xbc/\xe5\x86\xbd&_\x86\xbe\xdb\xaa\xf1<\x94\xa7\x06\xbdMu%=\xe9\xe6\xe3\xbb\x17\xcb\xef=\xe2PN\xbdt\xf3\x1d\xbdX\xee|\xbci\x0fh<\x98\xa8@<\x1e\xb1\x0f<\xa2\xe9$\xbc\xfa\x14\xd1\xbc\xc3*\xbf\xbc\t\xab\xbf\xbb\x01\xc6\x8d\xbd\xa3\x82\xf6<\xe7hW\xbc7+\xa8\xbb\xf5\x0e\x0e\xbem\x1e6\xbe)\xa2\x07=,\xff\xff<\xa4\x1e\x8a=\xc8S\x10\xbe\x8f\x12\'>\xf0\x95,<@\x04\x14\xbeGQ`\xbe\x00\xc6\xb8\xbe\xdb\x0cK\xbd\x1a\xe3D\xbd_c\xd9;\x92g6\xbb\xdf\x14\xbf\xbc8\x03?>A\x9e\x1e\xbe\x9bd\xd0\xbd\x8d\x1c\xb0;\xdbNP=\xcf\xb6\xc9;.2a=\x86\xf5\xff\xbdazX\xbeM\xd7\xb9\xbe]\x01\x03>W\xe5\x07;M\x0f\xff\xbc\x1e9t>\xf3\xb6\x1b\xbeZ\x93\xab\xbd\x80\xae\x19<\xca\xe1\x07<\xf2\xeeJ\xbc\x1b[\x86\xbd\xabFQ\xbc0?C\xbd\x0c\xfb,<8\xd6\xcf\xbc<\xde3\xbc{2\x13>\x05\xdf\x0c\xbd\x92X\x81<\x06\xf5\xb4>\x18T\x9c\xb8=\xbc\x94=} \xbe\xbb\xf6{i\xbdI?\x01\xbd\xc8\xfe\xc0\xbd>gZ=\xa5\x81\xe0=\xc2\xe5L;\x95\x05@=\xf97\xb3\xbe\x95E\xdb>\x18\xd7\xfb\xbc\xbe\xe5\xbe\xbd\xdbNW\xbe\x12\x03/\xbc\x9d0\xa8\xbd@\x06\x0f\xbe\x8b/\n\xbeD>V=,\'\xfd\xbd\xfd\xbd\n>\x98\x8b\xa3\xbd\xd5Z\xee\xbdb)\x86\xbdP#\xe8\xbd\xcd\xdd\x12>\x96\x06s\xbe\xb5\xbd\x04\xbe\xdfK#\xbe\x06\xcc\xa5=\x13\x1c\xb5\xbd:2K\xbe\x08g4\xbe2\xb48>\xa5\x14\xab>PI\xe1\xbcp\x05k=\xec9\x9b\xbb\xc1\xcc\x95\xbd\xf2\'T\xbe\xf2\x00\x96\xbd4w\xd8;\xdb\xa5\x0e\xbe\xf5\xff\x9e\xbdK3\xa9\xbeB\x05\r>$\x84F\xbdo\x0f.\xbe\x90\x81\xbc\xbe8\xd5\x86\xbe\xe6\x83\xda=\xfe\xab\x8e=V \xea\xbcQ\xa27=\xa7Y\x8d\xbe\xfe\xa0\xb1>\x96e\xe0\xbb\xe1\x92\x11\xbe\xb7\x15#\xbe\x07u=\xbe\xdd\x8e\x03>h8\xef=\xfb\x00A<\xc4\xf6\x8e<\xd1\x8dH\xbe\xc66\xbc\xbd\xd7\x13\xc5\xbc:\xf2(\xbe\xcc\xdbK>R\x8d\xc6>\xbe>-<\xb3[\x9c\xbd\xa1\xd9:\xbdY\xdc\x11\xbe\xf4#\x9f\xbd\x16\x81\xc9\xbd\x1as\x9c\xbd\x0bU\x10\xbd\xa4\xd6\r>\t\x1c\x0c\xbe\xafE\xa1=\xaa\xf7\x07\xbd\xa4K\xba=\x96\xb52=,0~\xbdD\xdeF\xbd"\xb3\xe1\xbd\xa8S\x0f=\x10\xbe\xff=\xd3x\xce\xbd;\n\xe6\xbd\xee\x80X\xbe\xf0\x8b\x03\xbe\xff\x0b\xa7=`\xaa\xfa\xbd\xdf)\x01=\xb4\xb4r=:\x84\xa0=z\x16*\xbe\xbc \xa4\xbe\xbdV\x10>z\x10]\xbe\xbd\x88\xef=y\xa3\xba\xbbJ\x0b\xea\xbd\x10\xf4\xdak^\x90>\xb6\x82\xee\xbe\xe0\x1cK>0/\xa6\xbe\x1b~\x83\xbe\xf9*\xc6;X^\xd2\xbe\x98)\xa7>2\xe5r\xbe\x90\xe4u\xbe\xbc\xa6\xbb\xbc\xfc\x113\xbb\x13\x9c\x0c=A\xbc+\xbb ?\xc3\xef\xf1}\xbeb\xa7\x84\xbe\'\x18\x03\xbeZ\xbe\xa9\xbd\x9bAs\xbd\xad\xd7\xbb\xbd\x80\xe5\x9a\xbc \xfe\xbf=\'\xf0:\xbec\x01\xa6\xbdr\x81\x17\xbe\x18G\xdc\xbd\x93W\xd2=\xf6\xf6v\xbd\xc3w\xa9\xbd+\xf6\xf4\xbd\x19\x19\x8b>\xe2|\xa5>M\xe7\xba\xbe2\x86>>\xed\xca6\xbew\xf6\x8f\xbd;\x7f\x08\xbd\xad\xa2\x9b\xbe \x87[>\x83\xab\xc1\xbd\xd0\xb5 >g4.>\xb3\x18\xbd=\x1bT[\xbc\xa4\xe5\xd4\xbd\xe1~\xd5<\x9f\x07\x85>\xa9\xee\xfc\xbc\xb3\xed\x10\xbe\xe5\x03\xe5\xbd\xe1\xfe\xf4\xbdjI\x91\xbc\x9c\xfc\xff\xbd\xba\x8a\x96\xbd\xd8hW\xbet\xe1\xea=\xce\xcb\xce>\xefS\x0c\xbd\xd8\x03\xc8:S\xbcj<\xe1\xa0\xf6<\xf1l\xc7=\xfd\xf7\x18>Sv\x92=h#\xa7=\xc9H\x0c>\x80\xa4\x01\xbd\x85\x13\x7f>1\x91\xf4=\xf2\xd6\xab\xf4\xa0P>\xf8\xd1\x9c=q\xf9\xb1=\x02\xc6!\xbe\xcb\xe3\xe8>\xca\xd1\x91=\'\x19\x99=T\x1f\x1d>\xe4\xcc\xf8=\x8d9\xbe>\x01\x90&="\xe7\xbf;\x80;#\xbd\\\xcf\x85;2]S>\xad/P>\x9e\x87\r>\xfb\xf1\xd2;\x0e\x93T\xbd\xc7\xccP=\xb0\xdb\x07\xbe\xe0\xa6\x0e\xbeC}\xd7>#|\x89>\xb1d\x1e\xbeT\x90\x0f=\xf4\xf9\xbd;\xf5$\x99;\xa3\xfb\xca\xbd\x13\x84l\xbd\xa9\xb5\xe2\xbe\xd0\xab\xf5=-\x91\x08>\xee\xb1K=\x81A\x82\xbd\x9f\xdc\xe9\xbd\xcb\xcf\xd7\xbd\xb5z=\xbdcT\xe7<\x80\xb2\xea=\x9e\xe3\x1d\xbe-@\x84<\xe4\xa7\x03>\xcc]3\xbd@[\xa2=X\xf1\xa2\xbe\x8cE\xe9=\x9d\xc6\x06\xbe\xbf\x888\xbe\xa05l\xbe+K\x18\xbe\x18H\x93\xbdq{\xea\xbc~\xcc\xb5:Q\x81\x92\xbdJ\x90)\xbd<\x1a\\\xbdt\xad\xa8\xbd\x19Hi\xbc\x0c\xc3\xa0=+\xbe\x9a=A\xe2\x92\xbe\xce\xc0\xa6<\xb1\xe33\xbeM7\xa7\xbd\x93y\n>\nu\x89\xbe\xc2\xffT>\x17\\\xe1\xbdUu\xad\xbd\x9fr\xa1=\xd7\xc44\xbdd\xcb\xd7\xbdfY \xbdQ7\xfc=C_+>\t\xae\x01\xbe\xf9\xda\'\xbe7N\x83\xbe\xc3\xde\x04<\xf3\xb3\x8f>\xb0\xb09\xbe\x03g\x02\xaer\x84<+"\x8e<\x1f\x8fu=\x8e\x0b:=\xb6\x94X>C\xc7\x16=\xe1$1\xbd\x15\xbf\\=H\xcd\xe2\xbd\xbdQa>\x87\xc1\x0b\xbe2N\xbf\xbd\xce\xd8n=\xd8\xc5\x86\xbb\xa5\x14@\xbe\xf0\x95]\xbc\x8fIG<\xa9\x8d$>\xca5k\xbe\x9c\xd9\x14>\xb3Wx\xbe7\x16n\xbe\x81\x13F\xbe\x19m\xc1=p\xc0\xec=l\x16\x99\xbd\x87\x8b\x06\xbe\x17\xb0\x8a\xbd\xe6\xec\x97<@\xde\xd6\xbc`\xb8\x10\xbd\xe6eL\xbd\x99Rxf\xc5k\xbd\xe6\x83\xba=.n\x91=\x9bmR=\xeb\xf2~=\x9f\x9al\xbdu\xd6\x9c\xbc*\xe8\x04\xbd\xdf\xb6\xb8\xbdf\x95=\xbe\xe4\x07#\xbe\xb5\x8ba=R\xbc\x13=\x00\x8c\x95=xs\x8c>\xcc\x8c\x93=\xae\x10B=\xd0Qw<\xad\xeb\xc7=\x81\xd1\x9d>\xe7~\xc4<\x8f\xddA\xbd\xee\xfb\xa3<\x9f\x91)=7\x08V=z\x94*\xbd5\xcc\x97>\xccB\xed\xbc\xd5%$\xbe\x15\x91\xb8\xbd\xf9\x1bx\xbep\x07\x15>\xd1\x8e\x9c\xbdD\xfc\x8e\xbd)\x82h=\x95\x1d5=\x88D]>\xc8N\x9b\xbcI\xd4\x86=X\x94\xd9>\xdc~\xcc=|\x1c\xf0=V\x13?\xbe\xfcY\xa0\xbd[U\x0c>\xe1U\x04>\x89\x03\x8b>09\x8d|\x1f\xbc\xbc\x06\x92\x12\xbe,K\xfd\xbd\xc4\x1a\xa2\xbe\x9f\xa2\xd1>j\x08\xe3=\xe4\x01J\xbei\xee\x80\xbep\x84\xbb\xbea\x92\xb9>\xc5\\\x04\xbe\xdb\'d\xbd\rtn\xbd7P\x12>\xb1Q\x9c>\xc8P\x9c\xbdi\xed\x0b\xbe\x05\xd8\x96\xbe\x15\x86!\xbe\xc3\xf3O>\xc1o\xd4<\xa8\xab\x9f\xbb\x88\x1b[\xbe\t\x8a\xb1\xbc#\r\x87>)\xf3\xce=\x05DW=)3\xdf=\xb9Q\x13=\xff5\xaf>gW\n\xbe\xd4\xe6\x8c\xbd@\x07\xdd<\xe1\xa7\x15>\xd9\xd3\xcd>\x8bZ\xc9\xbb@\x81\xa2\xbc\xf3\xac\x9d\xbc\x05\xde\xb7=\x88\xf9:\xbe\x00\x1c\xf0=8\x9c\x8f\xbe7\xd5\x85\xbe\xbfY\x1a\xbe\xd4\xb6\xaf>\x7f\xdb\xe0\xbd\x0bo\xb9\xbd\x14)\x01\xbe\xc0\x9d\xe7=\xb9\xee\xbd>\xf6\xda\x1d\xbd.\xe5\x00\xbe(f\x98\xbe\x88\x0e\xc8\xbd\xe0iv=G\x03Y\xbey-\xf3\xbd\x04,\\\xbeWLO\xbd\x97\x98\xbf>B\x81\x8c=\xf4\t\x8a<(\xc5\xba\xbc V\xa7=a14>/G\x83\xbd\xa5\xa1\x10\xbec\x13\x16\xbe>\xc6)\xbe5\x90\xaf>\xe4\xad\xdd\xbc\xc4\x01\xf8\xbcZ\xa2\xec\xbd=\xe0\xa5=0\xd1J>\xcb\x96\xd9\xbd\xbd\xa8\t\xbe\xd8HB\xbe\xcc]\x80=\xee\xb26=G\x80\x94\xbd\xb6\x86J\xbd\x922\xa6=\x9d\xea\xe6\xbc\xd0\x89|>~\xbc\xcb;\xefp\xf1:\x85\xbb\x84>7\xb1\x88;\x0c\x0e\xb7>\xfc\xfa?=\x08\x14j\xbd\xa3\xae\x12=\xf8\xcb\xce\xbd\xf2\xf1\x9a>;\xd9.\xbd\xc4\xec\xc6\xba\x97\x8b\x9b=s\xe0G>\xf5\xa0<>\xe3\xfbc=(\x91\x97\xc5\xe3\x0c>\xdb\xe5;=E\xe1\xfa:\xf2\x95\xbcD\xf1Q\xb9=\x15M\x82\xbd\xb2\x1c)\xbd\xb6a\x86\xbe\xa4\xe4\xc3>\x84\x84\xcf=\xe2\x8c\xbb=\xb5.:>S0d<\x86\xb4:>\xf0h\xf8\xbd\xd9\xe8;\xbd\xc7\xd6I=*\x10\xbb=\xbcv\xb9>/\xccX>=X\xe2=\x8b\x0f\xeb\xb9\x1dOU<\x85\xea;>\x8fF\xb8\xbd\xf98\xbb\xbd?\x9f\x0b\xbe\xff\xbe:\xbd\xd7\x7f\x80<\x01\x93O\xbe\xfe\xae\xb2\xbd\x99\xde\x12\xbek\x1d\xb8=\xd8\xce\t>I\x0b5=\xa8\xe4\xcd\xbd\x7f\xcc\xd3\xbd%\xd9\xb3\xbe\x8a\xd7\\>\xcfpO\xbbyT\x1e\xbdY\xdc\xab\xbd\xf1x\x16\xbd\x93\xedC>\xd9\x18\xd8=c\x8e\r\xbeG\x17\xb3\xbd\xb2\xe5\xb6\xbe}3\x96>8\x88D>\xc2_\xe4=\xf0\xb3\xfb\xbd\xed|T;\xa2\xf5\x07=\r\x95\x9f\xbdNT\xf3\xbd\xfd8\xb2\xbd\x82\x8c\x02=\x85\xe3\xae=\xf2\xf1\x99:t3\\=n\x96>>\x14:Z\xb9\xf99u>\xcc\xf1R=Y\xa3~\xbc\xff\x90\xb4\xbc\xfb\x8e\xf1\xbd\xe9\xdb\xb4>]b\xe6\xbd\xb2\'\x8e\xbdNn\x0f=o\xe0o=\x08\xa4 >`DC=\x8c-=\xbei\x1bi\xbeg\xdc\xb2\xbe\xa9\xcb\xa0>`\xdc\xf9=\xffV\x8c\x9f\xf6\x87\xbb\x87\x9aH=\xdb\x1d~>\xe1\xef\xeb=\xd0\x98<>\xc6\x8a\x8b<\xdf\xd2\x9b=\xc6J\xc6>JH\xdc\xba>\xb3\x9a=\xd6]\x85\xbd\\E\xa5\xbd\xfb\x9f\xd8\xba%w\xa3\xbd\x11\x9f\xb5=\x98\xfa\xa0=}\'\x0e<})\xd6\xba\x8a\xa9\x82\xbe\x18e|>\xc4\xbb\x8b<(\xff\x8f\xbd\xadB\x97=\x19\x87p\xbe\x18NB\xbc\xde\xe5+\xbe\xb1\x1f\xcc\xbdR\xc4\xcc\xbd\xbc\xe7R\xbdt\xf8\x14=)\x8fy\xbdd`\x83\xbd*\x0c\x03\xbe\xd9\x81\x94\xbd\xb8\x10\xd9\xbc\x15\xc9\x1d\xbe\xba-D\xbd\xec\xd82\xbe\xb7\xbe\x9e\xbck\x01n\xbe_H4>\x00\xfe\x05\xbd\xc8N\n>BY!\xbd\xe7\xaf+\xbdWO!\xbdct\x89\xbdr\x9a\xab>Qes>J\x1f^\xber\x93!>E\x028\xbeQ\xae\x8f\xbe\xcc\xa3\\\xbdd\xd5\x1c>\x93t\xd8\xbd-\xba\xbe\xbd\xb2\xbc\xd4==h\x91=H\xdfQ\xbd\xf3\x82\xaa\xbd\xedjk\xbd6JP>\x10\xe9D>,0Q\xbe\xf7\xcd&>\x0e\x0fX\xbd\\\xe1J=\xfc\x9d\xd8\xbd\x94\xe8\xa2<\x0b\x9bA\xbd\xc7\x04q\xbd.\x1b\xae\xbe\x93H1\xbe\x19\x1e\t=\xbevQ=h\x80l\xbd\xcfT\x83\xbeP\xbbi\xbe.\xcf\r>\x02\x99/=\x9fi\xc3\xbd\xe3\x12\x90\xbe\x1d\xd8\x89\xbe?[F\xbc^\x05l=\xea\x9c\x99\xbb\xb9\xc1+\xbeJy>\xbe\x13\x96\x10=C\xbe\x0b>]O\xa0\xbd\x1d\x13\x97\xbe\x19\x14\x8a\xbe\xb9\xd6\xab\xbdZ\xb5\x16\xbd\xed\x88-\xbd\x9b\x9f\x95\xbd\xd3k\xd1\xbd\xb9\x8d\x84\xbdp\x86\xcf\xbdm\xa0\xd6\xbd@\xb6\x16\xbe7-\xd9\xbd\x14\x14\x90<\xa6\xb8\x90\xbd1\xc5\xa7\xbd;\x89\x97\xbe\x9e\xb2\xff\xbd\xca\xe1s>\x1f\x88i\xbd\xab\x19\x92\xbd\xf4\xcf\x14\xbe\xf9\xc3\x9b\xbd/|\x03\xbeF\xac\xbf\xbc\xcf\x19\x1a\xbeh|o\xbd?\xde >\xc9S\x11\xbexO\xad\xbd&k\x19\xbd:\x02\x02>^\xb8\xe8=\xef"\xe2\xbe\xfe\xda3>\x0e\x1ap\xbe\x03\x0e:\xbc36\xc7=8s\x9c>v^)\xbd0\xde\xbd\xbd\x18\x16\xed=\x9d\xd9)=9\xfe\x9f\xbcO\xb4\x86\xbdx\xcb\xc9\xbd\xe1\xd7\xe5\xbd\xcb\xe0^\xbeD\x8b\xad\xbd8\xe7\xc2\xbdqk*\xbe{\xa9-\xbed\xe3\x17>\x8d\x86\x1d\xbcGL\xe1\xbdm\x8c\x98\xbdW]\x82\xbd\xc7Z\xeb\xbd\xb9\xb4]\xbem\xb9?\xbe\xd62\xad>\xd4\x1b\xad>\x8a\x84|>>9F\xbe;>\x13>\xca\x80:>\xd5\x91\xfd\xbd#oL\xbc\xba\xc2\x19\xbeT\x98\xef\xbb\x93m\xae\xbc4\xa4\x07>8\xfd\x14>@\xc0\xc0\xben\xb2Y\xbb:\x00\xbb>`\xa3\xfa\xbd\xa5H\xc9=\xdf9,\xbe\xc1\x18J\xbe\x01\xa0\x02\xbe\xef\x84\xf6=t\xda\x8b>F"\xb0\xbd\x05\xe6\xc9;\x07Y)=k\xe9\xe6\x89\xea\x0f\xbe\x96y\x08\xbe4\xc4;\xbe\x87\xdb\xa6\xbdm\'\x9a=2$#\xbe\x02\xa5\x89\xbdC\xd0\x14\xbeu\xa2Q\xbej\x8a\xc4=\xb1\x8d\x87\xbd\xc0\xae\x0b\xbe:\x074\xbd\xb9\xc4s>\x04)\xa2=\xabH.\xbe\xf1\xf5\x1c>Exk\xbd]\xc3\xc0\xbd\x18\x90\xef<\x1a\xb5\x85\xbd\xda\x9c\x82\xbd/\x98\xbd\xbd\xfe\xd3\xf0=\x16\xac;>\xc5n\xc3\xbd?\x11\x15=DKC:\x0f\x17k\xbdOIa\xbd\xcfT\xb0\xbeg\xc2\x14>\x12\xfc\xb2\xbd}\xf1\xbd<\xbf\xc8\xb1=\xe2%\x9e\xbcTY\x9b\xbd\x10_C\xbd\xd1u\xe8=_\xb1\xb0=\x7f\xd2\xc5\xbe\xe21\n>E2[\xbe\x8a\xfa\xf6\xbd#\xdaM=\x85\xbe\xf5\xbe\x89y\xf8\xbd\xa5cW>\x9a[\xb4\xbda\xdcF>S\xfcf\xbe\xc67C\xba|!\x86>x\xdf\xd3\xbd\xe1\xea\xc7\xbc\rC\x10\xbe\xccf\x01\xbea\xadP>\x19\x1e1\xbe(/\x84=%u\xba\xbd\x14I7=\xfc\x0b\x92=?\xdd5=\xf5\x8c\xe3<\xdc\x19\xcb\xbd\x9cO\x80\xbe\xa6OE>\xf5\x0f\x89=\xcaK)>\xe5I\x15\xbd\xf0\x00\x19\xbe[\xa6\xab=r\xc42<\x975z\xbc\xe0\\\xf9\xbd:\xc8\xcd\xbc\x84\x94\xa4>\xc4\xa5B\xbe\x89\x98\xc8=\x829\xfc=\xed\x01\xab<\xfbF5\xbe\xc3\xc4|\xbe\xee\xf4\x94\xbe\x83\x1d\x9c\xbd\x9a.\xa7\xbd\xf3\xf3\xf8=\xee\x91\x91\xbc\xe5\xa9\x03\xbd*\xa0Q\xbd\xcf\x16=\xbd\x89lG\xbc\xe1\x84\x03\xbc\xa5\xa7\xb6=\xe1\xf6U\xbe\x8d\xe5\xbc\xbe(\xb8B>\xad#\x05=h\xf2\x8d>\xbe\xe4\x8c\xbe\xa6\x8c]\xbeI\xe4\xc4>\xce\x8dP>O\x8d\x9a>\xa1\xdf{\xbe\x89\x8d\x1e\xbe\xf6\x94\xd3>\xe5\x13O\xbdLW\x15>nH~\xbe~\xaeI\xbe2\x84\xdc>\xe8\xf0\x95\xbe\x1a\xbb\xd3=\xd2"\xaf\xbe\x16\x1bU\xbeL6\x12?\xad\xb9{\xbd^\xf7\x1d>xUO\xbe>W\xd9\xbdK^\x92\xbe\xd4\xd3\x06\xbeR\x11\x8e>\x03\xde\x9e\xbe\xa0\xea\x84>\xa6\xa3\x9d\xbds\xf1l=\x07j\x0c\xbeYO\x83\xbe\xf1\xd9\x03>\\\x1b\x12\xbd\xd4,\xde>\xaa\x0b\xcf=\xaf\x95R\xbeu:9\xbd\xf8\xadS\xbe\xcf\xfb=>%\x84\xc3>\xbc*\x97\xbd\x9b\xc4X\xbdb\x83\x98\xbc\xf5\xee\x01>Zgv=h\xc4|\xbe$\xfb\x13>\xf4\x1a\x9e\xbb\x9dC\xf3=e\xd7\x84\xbd\xeb9\x0b\xbd\xf0\x86\xc1\xbceX\x9a<\xd9$\x88=\x8d%P=\x18\xccx\xbe-\xa25>\xec\xf1\x1c\xbd\x97\x19\xac=\xb8R\x1f\xbd\x82\xb0Y\xbecT\x0f>k\xdc\x9f\xbd\x0e\xf7\x9b\xbc\x0b\x9e\x82=\x1e4\xbf\xbe\x83\x90L>\xca\xc4K\xbe\xb04\xba\xbdm\xbb\xf2=|\xcbk\xbem\x1b\xa5=\xacI-\xbd\x15\xd1\xbe>\xd6\xc7\xa8=Jj\x90\xbe\x08(\x15>\x11qW\xbeVrs\xce>\xb8?\xaf\xbe\xf4\x9f\xfa\xbd\xe6\r\xbf>+c\xa1>:\xff\xd0>l`;\xben\xee\xb0\xbc+\xfe\xee\xbd\xb3\x85A>\xcf^7>\xa7\x98\xee\xbe\x13Q=\xbeD\x18G>\xd0e\x94\xbe\x94\xe0E>\xc0\xd9\xa0\xbe\x04NT\xbdWcZ>\xa6<\xa3=\x83\xba\xeb=\xf1m\xd8\xbd\x9f@=<\xec`\x7f\xbd\xa0\x84\xea\xbca\x83\x83=\xedHj\xbe\xab75>N\xa7\xc3\xbd@\x18\x00\xbew\xfc\xe3=8U\x89\xbe1\x93\xc6\xbd\xab\xc3\xd6>\x02m\x1d\xbd\x93\x00 >\xa5V\x84\xbe%\x83\xb3\xbd9$J\xbe\x8d\x1a(=\xb1\xd3\xb6>\x0f.\x10\xbf\xd2\xa8\xca=\x14><\xbe\xab\xe3s=<\xd8A\xbe\xc9PM=\xbf\x12\xef\xba\xa8E0\xbd\xc8,\x1a>\xe2\x1d\x8a4>*\xde\x97\xbe\x93\xfc|\xbcmU\x13\xbe\xc2\xfb\x17\xbe\'fh>8\xdf\\\xbd(\xc9\xe1\xbdxuD>\xb9o\xec\xbd\xed\xcf\x13>\xa5\xd8\x1f\xbf\xb6/\x0b=\x10C\xf9>\x83\xe2*\xbe\':\x1f>\xdf\xfb\xa9\xbe\xec\x17\xb3\xbdQ9\xb9>\xbe\x11B=\x9a\xd1\xf4=U\x1bm\xbe\xfb\x9f\x94\xbe\xac\xf3\x0f?\xba_\xb1=\x17\xd0\xc1>\x1dd\x15\xbe\xaf\x8dv\xbe\xe6.\xcf>\x1a\x91,>\xd0\xb3V>dT\x9e\xbe\xacmV\xbd\xc7\x12\xf0>\xf7\x94\x9a;\xbb\\\xed=O\x18\x0e\xbe\xe7\xf3r\xben_\xa6>\x04\xa8&>\xf8\xa5&>\xc8Y5\xbe[HB\xbe\xf0\xed\xd4>\xacB\x94>q\x80\xdd=|-\xb2\xbeW3?\xbe\xd2\x8e\x02?9\xb6i\xbeD\x9bG>\xd3\x9e\xf6\xbdJ\x0b5;\xf7\x10@>Fy\x82=(\x96\x85=\x8b\xb4\xbe\xbd\xb0\xc3\x08<\\\xd6->\x9b\xda\x14\xbe}J`\xf8\x12M>U\xd4\x00>\xeaQ\x1c\xbe\x9c\xc2\xb3\xbd\xec\xe5\x91>q\xb9\xb1=\xee\x80\x00=\xca(\x06\xbf\xf4w\xc1\xbd\x19,\xee>\x9d\xcf\x0e\xbes\xc7\xed=\xf2\xca=\xbc\xd0=-\xbdj\x00\x96\xbc\xcde\xc2<\xe1\xad\xeb<\xb9\xab\x8c\xbe\xdf\ru\xbe\x86E!?\x1d\xccO\xbcM\n\xf0=\xe4`U\xbe/\xcfW\xbe\xac\xfb\x03?\xe0\x87\xaa:\xd5\xa5\xcd=\x8b*\x03>tz\x00\xbeN\xec\x08\xbd\x8e\x16K=\x97\x99\xd5\xbc\xe8%d>\x9d\xbaB<\xea\xba\xa8\xbd\x85<\x84=\xc1\xde&\xbeK\x00\x19\xbe\x95*!\xbeW\xf5\x85>\xe0\x9eo>\xb3rR>c\xac3=OK\x1d\xbe\\\x1b\x0e=\xbd\xff\xda\xbc\x07\xda2>\x0c\x14M\xbe3\x9e\x0e\xbe\xeaL\x9a>>\x831=\xca\xbc\x04>L\x8a\x8f\xbe\x82\xa8\xf9=FV\xb3>l\t\x18\xbe Q\xdf=\x021\xd1\xbep\x89\xa7=\x8c\xc2\x90>5\r\x89\xbe\xd7\x9d3>\xc2S\xe0\xbd4\x7f\x8f\xbe\x9f\'\x1f>\xbb\xb3\xb1rP\x19\xbe\x81W+\xbd\xd8y,=\x99\xfdQ\xbd,\x8d)>D\xb9\xbc\xbe(4\x8a\xbd\x10\x91\xf5>Q\xb0P\xbe\xe7\x9c\xe4=Oi?\xbe\xe0\x06\xa5\xbe29\x00?\x9b\xcf/\xbd\xeeWP>\x08\xe2\xf3\xbe\x81\x84\x9e\xbc\xf9f\xe9>\xa1|{\xbe\xaf\xbe\xbf=\xe4`\x04\xbe\xa2m\xaf\xbd\x12eL>\xe4*\xf4\xbd\xa0h\xee\xd8H#\xbe\x0cf1>\x13\x94\xac\xbe\xe5t\xc6\xbdF\x1d\x06?]\xf6P\xbeg\xbbp=M\x9b\xf3\xbeo\xc5\xfa\xbd\x01\xad\xda>W\\}\xbe\xec n>\x91\x13\xbd\xbd\x8a\x8c\xe8\xbd\xfa\xc6">C\xcf\x98\xbd%\xf1\x05>L\xbb\x8f\xbd\xed^\x07\xbeU\xa0\xad=$L\xcb\xbd\x12IW=\xe0#Q\xbdE\xd8K\xbe~\xf4\xf0=\x8c\x00\xf8\xbc\x8a\xc8\xfa\xbb\xb6\xf6\xc1\xbc\xb8\xaf\xdf\xbd\xa2\x88u=\xf1\xec\x99=\xd0\xfd\xac=&\xc6\xf4\xbd\x1c\xdcO\xbdP\xe3\x15>\xa4\xc6\xe3\xbd\xec\xa9\x19=\x8f\xe5\xcb\xbd5Q%\xbd% 1>nW\xce;\xa1\xcd\x1f\xbb\x03\xae\xa2\xbe\t\xe6\xa2\xbe\t\xc9\xd8>\x8a\xe7\r=q$\x9c>\xfc4P\xbdT\x15\x15\xbdi\xd2/>15+\xbc\x9e\xc91<`\xf7\xcf\xbd${F\xbd\xcb\xe0\xd5=\x83\xcb\xbf\xbd$\xfe\x84=\xeb.m\xbe#N\x19\xbe\x95c\x9a>z\x93T\xbeA\\\xb6=\x96\xc9\xb4\xbd\x14%i\xbe\xcf\xe6\xd6>\xbaQ\xe2<\xd6n\xf6=b\xe4\xd6\xbd\x95\xd43\xbemk\x8b>y\xb9\x80=\x95Y\xcd=\x8c\x0e\x14\xbeh\xe1\xaf\xbe\xe0\xd8\xd9>Ddj\xbe\xb9\xedl\xbe_\xf5\x01?\x92\xb4\xa3<\x8dh\xd1=\x10m\xdb\xbd\x14\xae \xbe\xa2\x1e\x06>f\xaaj\xbd\x892e\xbb\x00\x8d\xc0\xbd\xc3\x1b\x8f\xbd\xae\x8bq>C\x92\xd6\xbd0\x8f\x02\xbd\xe2e\xb8\xbd\xe2T7\xbe\x8a\x1do>\xd7\xae\x91\xbd\xfc\xc1\xf7<\xef\xb3\xeb\xbc\xe7\xbfB\xbej1\xd9=w\xde\x91\xbd\xf0\xdeu\xbc$\xf7X\xbd\x88\xba\n\xbe\xb3\xe3\x9a=\\\n\x16\xbdDF\x1c=v\x07\x17\xbd\x8b \xd8\xbd\x88\xcb\xf0=\xf5)\xe1\xbc%\x10m<\xe9W\x1a\xbe\xc9-\xe7\xbd\x9f\xe3D>\xb2T\x1d\xbd\x9f\x1b|<\xd6g\xa3\xbd\x81x\xed\xbd\x9c\x16\x10>\xde%\x90\xbd\xdb\xc1\x01=\x90\xb8\xab\xbd\xf9pg=\x15\xb1%<\x9e\xf4\xa9\xbb\x856\'\xbe\x13\xa7\xca>\xffE\x04=\x9bd\xab<9\xee =x5R<\xe0\xb2O\xbepe\x0c\xbe\xca($>!\xd1W\xbe\xe9+\xbf=\xf8\t\x9d;n7\xc6\xbd\x92\xd4K><\xd5\x8b\xbd\xf4\x7f>\xbd;\xebE\xbd\xa5/\xdb\xbd\xf3B\xf8=\xad\x94\x05\xbd\x15\x0f\x96<\xd9\xa6N\xbd\x90\x9b\xdc\xbd\x89\x99\x02>\x07P\x11=l\x9d\xc8;D\xe8\x8f\xbdz\x16\x8a\xbd%H\xde=\x12_\x8e\xbdK\x0f\xad<\xfc\xe8\xb6\xbd\xf0\x93\x89<:\x0c9\xbc\xb2&\xf9\xbd{j\x9a=\xd3\xcd\x9d\xbd\xaa\xd1%\xbd\xb4\xf6G\xbb\x8d\x80\x13=\x1a\xbb\xb8\xbc8q\xba\xbdk\xe1\x1b\xbd\xd5\xd5\x01\xbdk\x15\x0e\xbc)\xd2\xc8\xbd\x9fV\x01\xbe\xff\x83\x02\xbd\xb9\x90\x8b<\x01\x1a.<\xa4D\xdb\xbd\xaa\x87\t\xbc\x07,\x85\xbd\xe8\xd1\xc0\xbd\x8a\xf0;=>Z\n\xbe\xe0\xf2\xfe\xbd\xd5\xd4\xf3;\x84\xef\x8d\xbc)\x1a\xb6<\x82\xda\x8d\xbdR\xef\n\xbe\'\x95\xb6=+\xe5\x8e\xbd]\x99\xba\xbc\x90Wd=me\x11\xbe\xac4\x9f=\xfa#\x91\xbd\xc6\xb4\x94\xbc\xdfUD=\xe9\xe3#\xbd\x8cJE=\x9a\x9b\x14=)~0>\x84v\xa2\xbd\x08\xde1\xbd\xb5\xe1\xed\xbd\xd57\xcf\xbc\x1d\xb8\x87=\xd9\xdd\x9b\xbcG{\xba\xbd\xa9\x08N\xbd`{\\\xbc\x03\xc3\x93\xbd\x1ag\xda\xbc\x8a%\xf8\xbd\x9b\xf7<=":\xa8\xbc\x82^\x01\xbd\xbdl1\xbd\xde2\xe5\xbd\xd9/\x86;\x9f5\xd2<(\x04T\xbd\x89\xf3\x17\xbd\x11F\x92\xbd\xb4\xfa\xbe\xbb\xeb\x97\xb6<\xdc\x15T<\xadU\x17\xbd\x97\xeb\xff\xbd\xdd:e=\x95\xe5\xe1\xbcb\x7fS\xbdA\xca\x84\xbd\x0f\xe3\x1a\xbdz\x07\xfd=\x1e\xd1T=\x85\xc9v=\x0f\xa8|\xbe~v\x98\xbd\x83`w\xbd\xb7F+\xb2\x08N\xbdLs\xc0<\\Z\x15\xbe\xe6e\xa0\xbbS;\x81>tQ1=\xa6\x03\xe0\xbd\xf4\xfbh<\xf5\x8f\x0e\x17u\xb8<\xc5\xd7^\xbd\xaf\xb1\xc3\xbd\xf1\xcf\x0c:\xcc\xf8^\xbc\xbf\xd5!\xbd\xa7F\x91\xbd\xc2|\x0b=\xd0f\x07=^1\x94=\xc6\xe1Q\xbd\x94x\xfa\xbc\xc0\x9b\xcd\xbcp~\x95<\x86}\x98;~_V==zq\xbd\xf8\\\xac<\xc4\x90\x10=\x88d\x9f\xbd9\xd2\xb3\xbd\x826\xeb\xbd\xc1=Y\xbc\xd7\xf7\xb9;p\xcb\x85;\x7f\x8c]\xbe\xae\xc7\xa0\xbd\x1d\xbf\x04>-)>\xbd\xa71\xad\xbc7\xc6\xbb\xbe\xb2\xfay\xbd\xbde\x91\xbd\x92o\x88<\xb5\x1aK;V\xc7*\xbd\xa1\x0c\xf1\xbdb\x16\xa4\xbd\xb1\xb2\xe1\xbc\xf6\xf5F<\xd1&\xfd\xbd\xde\xae\x1a;\xb4\x06\r\xbe\xac\x80\x97\xbc\xc9\xb6\xa2<\xa6ms=\'\x844\xbd\xcbRX\xbd#\x13*=\xad\xb6m<\x15\x8a\x1e\xbd\xaf\xa8\xc9\xbd\xed,\xd9\xbc%\xc5\xe9\xe6iA\xbe}4?\xbeL\xa7\x1e=\xc0mW\xbd\x07\xc7\xe7;L\x03\xdb;>.*\xbd\xaa\x03\x10\xba\\6\xb8\xbd\xe5D\xd1;+l1;\x13z@=\x7f\x82Q\xbd@\xd4\x89\xb8\x94\xd5\xff\xbdh\xe43\xbeF\xa7\x04>+I+>\xe2C9\xbe\xf1\xfe">%\xa2\x8e\xbd\xcb\xcc\xf8:xL,\xbd5\xe86\xbe\x97W\xe5\xbd\xd9?U\xbe\xf1\xbc\xc9\xbd\xff5\x1c>\xca\x8eX\xbe`\rj=\xdd\xb4\x0f\xbe\x81:H\xbd\xbeFy=n-\xc2\xbd\xde\xe6!\xbd\xd4WL\xbd\x811\xff\xbb\x97*y=p\x81b\xbb\xf9\x03\xae\xbd\x1b\x12T;\x04\x16,\xbe7\xce\xa5=\xff\xcd\xd3=\xcftc=\xd1\xdc\xce=\xf5\x8c_<\xbe\xb6P=\xdf\xc9\xbd\xbd\x07\xcaX\xbd\xf0\xda\xa6<\xa73M=\xc1Q\x94\xbd\x00\x16\xa9\xbc&Tt=\x8b\xe5\xe2;\xfa\x03\x8d=B+\x07\xbeiH\xa6\xbdj\xae\xd0;\x15/R=ND\xb1=a\x80P\xbes\xff,\xbd\xcb\xdbv=N\x96\x1b\xbd\x9ax\xcd<\xe49H\xbe\x8d\xf7\xbf=\xfb\xf9\xfa=B\xdb\x00=\xe0\xcd\xc8<*\xf2n\xbev\xd3z\xbd!\xf9\xe2\xbcJ\xe6\x0b\xbd\x9a\xfb5=ex\x16\xbe\x15{w\xbd\xe1\xce\xdb\xbdM\xb9\xa5\xbd\xe4 `=\xe6\x1c\x0c\xbel\xe4\xaa\xbd\xc6\xd86=>\x93\x95\xbb~\x1f\xafJ-\xfe=\x9d:"\xbd<\xaf\xc3\xbcBV\xa1\xbe\xdfQc\xbcS\x8c*;\xb6K1=\xbc\xf3\xa5\xbcru\xcb;\xcc\xee\xb7=\xc5\xd5)\xbe\xdc\xa4o\xbdOVw=\x9a\xc6\x17<\xb2\xc5\xaf\xbduJ_\xbd\xc4\r\x89\xbd9?\x80\xbdJ;\x14\xbcIW\x9f>\x98#\x1e>\x8a\xe0\x9d=E\x14\x1a>\x98\xf9\x9f\xbd \x92\x83>\x80\x18\xa1\xbd\x9f\x18\xe1\xbc\x1d\xae\x1d>\x1d_\xcb<\xbaOf>\xe1s$>\x88\'\xc7=\t\xc1I\xbd\xe4\x95\x88<\xb8RW>\xdc\xb8\xe0=!\xcc+=\xd6\x1a1<4\xd7W=\x16{f=\xaa\xd5\xa2\xbd\x84Q\xae\xbd\x1f\xa0\x84\xbe\x0e\xb4%\xbeVH\x0e>.x\xa2=9Tg<\n\x84\xd7<\x0f\x04\xe1\xbdA\xa0\xf0=\xc7G)\xbeg\x8c\x93\xbd\xca*\x13(T\xde=m\x8e\x80=\x9e\xed\x0b\xbe\xd5\xa5&<0\xb1\x88>k\xcb:>za\x99=\x9b\xc3\x16=\xa9S\x93\xbd]\x15\x93=\r\xb5f\xbd\x0b\x89\x85\xbc\x15\xd9\xbf\xbd\x1e\x10=;\x08g\xc8;i:\xa8<\xa9\xd8^\xbb\xbeC\x05<\xb2\nI<~\x0cx\xbbs\xf9\r\xbd\xec\x14\x1f=q\t\x0e\xbdb\xb7\x8f;DB\xb9\xbc\xe7\xf0\xb5\xbb`\xf3\xee<\xf8\xbf\x00:\xd9\xf7\xde\xbb\xf3\x0b\x86<_\xf8\xcc\xbc\x8f\x8d1=\x87`\x9e\xbc\xc1\xb6\xfc=\xea\x95=\xbd\x1f)\x04\xbd\x89\x82p\xbc,<$\xbd\x83\xd5\x9a<\xab\xe5}\xbc$\x0b\xaf<\x02\xba9<\xf3\x007:@\xbc\x1f=\x93\xd0v>\x9e\x11t=e\xbc\x8e=\xf3\x18Y\xbc\x9a\x12\xee\xbb\xce\xb9\xa5\xbb\xc4D3\xbde"T=\xdc\xe3\xae\xbd\xcaV\xa0=\x83\x9e\x81=\x1b\xd1\xb2\xbc\x9a\x9e\x87=\xf2\xd0\xec\xbd\xda\x8dg=\xb2\xf2\x0c\xbd\xf1\x01\xe1\xbc\x99\xae\xf7]/\xb7\xbdn_\xa0=\x8f\x1c\xf3\xbc8\xc2\xfa=\xa8f{=@\xf9\xba\xbd\xf2\xa1#=B\xc4W\xbdC\x17\x81\xbbx\x10\x0c>?\xc9\xce=\x1cM\r\xbe>\xe5p\xbd[h\xde=\x86\x1c\x9e=\x7f~R>\xd2\xc1\x8c\xbb\x06\xf1\x03=\xcc\x83\xbb>\xec\xadU=\xfe\x9d\xe7\x11\xdb\xed<-j\x8f\xbb:\xe3\x8a\xbd3\xcb^<\x1e\x14\xed=\xbe\x16\xc7=\x08\x99[\xbd;H\x07>|#\x1f=\xae\x8c\'=\xb6\xe7\x88\xbe\xa8\xc8c=\r\xd0\xa2\xbc\xcb\x02\xad\xbc67U=\x10\xad\xe0=&\xc5\xe0<\xbd\xcd:\xbd\xed"k\xbd\xf6\x03a\xbb\xc9\xe7\xb6=a\x07\x04\xbd\xac\x1c\xfb<\'m\x1b=\xdf\xa5\xdf\xbc\x19\x9d\x06\xbe\x9e\xb9\xa6=\xac\xf1\xe4\xbdN\x17\x86\xbd?\rx=\xc22\xbe=~\xbe\x9a\xbc\xbd\x84\xe2\xbc\x92p\xf4\xbd\x98\xb0\x07\xbe3\x808\xbe3\t\xc9\xbe\xb9\x02M>\xd7\x98Z\xbe\x80?\xa7\xbd\x80\x97\xe0=\x85\xb6;\xbe\xcc\xf2\x14>\xb5\x1d\xa9\xbd#\x91\x15\xbe\xff\xa5\x9d\xbdhK\xc8\xbd\x04y\xdc5\x975=\x98\xe9\xc6Jn\x01\xbes>e\xbe;\x94\x86\xberV\x03>_9\xcb>\x0b\xd8\xa0\xbeTVu>\x14}\xbf\xbd\xb4|\xe6=\xa2T\x82=\xa4\x94;\xbe\xd3f\xea=\xe1\x1f\x80\xbd\x88|\xec<\x1e6\xf5\xbcd\xf8p>1\x8aD>\x0e\x1b\x11>\xda\x98\xfb=+y\xcc<\xc5\xea\xc4>\xd9\xf3\t>\x1e\x9c\xf6=\xee\x0c\xc0=\xdbR\x9a=\t|\xbd>\xdeh\n>^\xc7\xe6=\xfb4y=\xf70\x11=\xb8<\'>\xa1\xa6\x13>\x0f~!>\xf0\xabQ=\xab\'&=/\xa1\x88>o`\xff=\xb9F\x12>O\xff\x12>\xda\xca\x9e=\xe0\xdd\xe4>\xaa\xf9\x1d>L\xa6;=\x1e#\x8e=2\x14I\xbc\xaf\x8d\xb5>\xf7\xc13>\xbfI\xd8=\x00\x14\x96=\xbc\xff\xac=\x1e\xdc\xce=h\xaf+>\xea\xcd\xc0=T\x18\x16>#4l\xbe\xdb\x028=.\xf6\x0c>\x9f\xc6\xe0=\xa9\xe4\x07>\x9a6p\xbdiF\xbb=,\xb9\xf2=P_\xee=\xfcim>\x86\xca\x88\xbcl\x9e4>\xdc3\xcd=\x07\x9e#>\xc9\xe3P>\xbdN\x16>K\xfb?>\x8c\x1b\x17>\xdd)\xf1=\xca\x83\xa2=\xbfm"=-\xc2\x17>\xe4TZ>j]<>\xd1f`=\xcc\xb3\xe6<\xf1\x11\xe8=-\x818>hZ\xf3=)\x1d =\xeb\x130<}\xf6\x10>\xfb\xb7\xa7=\x93\x9a\xda=!\x95\x89=K\xdf\x10>lm;>\x0f\xd7\x12>\x97}.>\xf6G\x00> \x80\xb2=^i\n>\xc5g\xc4=\x00W\x02>\xfcL\xb1=1\x0c\x14=5\x0c\x97=\xc3\xa0>>>\x84\xea=QM\xd7<\x12\xe9\x97\xbd\xb39p>\xb3,U>\nr\'=\xbe\xd4\x81<\x82\xe8x\xbe\xf5\xef,>\x93\xe6\x12>\xc2\x98\xcd=\xdau\xa2=\xe4\xad\x90=\xc0\x11\xa2>\xd1\xc99>8\x90\xb0=\x16\x06\xb3=\xa5w\xc2\xbbtv">\xf2\xd4\xd6=\xe52\xc8=\xe8\xe4L>\x0e\xbe\x08=\x83?\xd6\xbc\xbd\xcf\x86=\x9b/{=2\xf1#=\x84\x04\x8f\xbdj\x02\xac\xbc\xc66P=L\xed\xac:\xd8M#=l!\x0b\xbeJ\x17\x9e=q\xed\xec<\x0bW\'=\x1a\xffj=MYZ=\x92*\xb1=\x00bB=\x95\x97\x9e=<\x18\xbc<\x93K\x93=\x04\xeaz>\xd5\xb6\xb8=\x81\xc7\xc3=\x12\xa1\x86=\xdd\n\x94=-\'N>.\xf6\xf5=d\xd6\xd3=y\xb9\xc8=\x1e\x81\xa6=\xa7\'7>\xc2\xec\xe2=\x85\x93\xb6=\t\xcdn=@\x03|=\xbd\x9ds>T\x84\xd5=G\xa3\x99=#\x84L>\xac{\x8c=\x9c\xa9X\xbe\xd5?\xab\xbd\xf2\x9a3\xbeE\'\x80=\x86\x94\xc2>\xa2\x10\xba=\t\xb5S\xbc\x0fW\xbb\xbc\xe9\x11\x90>-\xb95<\xef0\x94>/ &>\xca\xad\t>\xa0\xe0\xa4<~V*\xbd\xa5F\xa4>.\x8a;>\x87\xb4\x05>\x0e}\x80=D8\xed<\xd2;\xec=\xa9\x17\xb9\xbd0{\xb0<\xec\x078>[\x0b\xf7=?\x11\x87>\xa0\x06,=\xb9|\xe0=\xfc\xb4\n>\x11\xde,>\x8cC\xa4>Y\xddd=\xd0/\xa8=\x17,`>\x868F>A\xd1F=\x92z\x8f=\xc1\x84\x1b=\xdd\xd1\xda=\x11\xd7Z>\xcd\xec\xe9=\x86\x1c\xf0<\x86\xc9\xbb=\r\xe5\xb9=wl\x02=\x18\x04_>\x95&f=\xe7\x90\x90=y\xd3\x11>M\x04\xef=q\xae*>\n\xc2\xcd\xbd\xc6$#\xbc\xb6)\x8d\xbc/\xa4\xa5=s\xfd\x97>\xd6\x94/>\xe4\x8e&>F=K=f2\xbc=\xc0U">\xdf\x0e;>ue(>\xcet\xec\xbc\xb8 >\xbdD\xc5\x89>\xc7\xcf\xd5=\xdc\x0fb=O\xe1}=\xd2\x89\x7f=-\x91M=\xcc\xbf\xc0\xbd\xfa\x04\xac\xba5\xd1\x91=\xe3\x82\xf9=\xf8\xa6\x98>\xa1R\xf6=}Y\x96=\x1cf\xcd\xbc\xc6\x1b\x84;\x9f&\x02>:[\xe8=y\x8b\xc6=M\xe2\xac<\xb9k\xd6=@^\x81>v\'\x11>}\xa4\xe2=\x8dy7=+\xe4\x0c>\x83\x9d)>"\xb6\x0e>\xcc\x17L=\xddL\xd8\xbd\x82@\xf8\xbd\x88\x9bS>\xff\x89\x90=\xfa\x1bX=\r\xf6\xad=\x89H\xd9\xbd\xd2\xb7\x93>\xaf>\x9b=$\x8d\xaf=z\x8a\xfb=\xa9\xd3\x91=K\xe9Y>\x9c\xbaL=\xd8\x80\x8d=\xc09^>\x0fx\x0e>\x95M\x8b>\x9e\xd6\xf2=\xf2\x9f\xad=m\xdb\xac=\xb1\x0e\xdc=yP\xc0=,\x13\x11\xbd\xf3\xf7\xde\xbc\x7fGo>\xf1n\xd7<\x94\xc7\x85\xbdS\xd1\x0b\xbdC}K\xbb(\xc2\xd5<\xdd<\x9e={r5\xbd\x12\xf5\x89\xbd+\xfb\x04=W\xeb\x07>\xe9m>=\xc4&t\xbd\xf6\xf5\xef\xbd\xee\xd8\xc4\xbb=I\xac=\x99\xe9\x1d=\xff\x8c$\xbeph\xb1\xbb\xc6m+\xbdY\xe6\xa9=uT\x87=\x10\x8f\x19\xbd[\xe7\x9f\xbd\xa4n\x8a\x8b\xd5\x9d=dP\xe1:\r\xf0\xcb\xbd\x1e\x86\x9b;\x11^\xb5=\xc1a\x06=\xabH\x90\xbe\xf7\xf2F;\xf7p\xa6>i\xa3\xcf\xbd\x8d\x01\x07=\xe25\x16\xbd\x13c@\xbdq\x0f\x17>N\x08\xb5\xbc\x02.5\xbd\xcd\xbb~\xbd7\x91&\xbd\xb0\xaa\x96<\xf5%7\xbb\x8e\xf2\x0c\xbd# \x9e\xbd\xd4\x11s\xbd\x8aY8\xbd\xd0T\xcc\xbd\x9d\xd1<\xbdcN\xfa\xbd\xbf]!=\xe1\xcdu\xbc\x0f\xe9\xa1=x\xff\x19\xbe\x8b\x95\xc2\xbci\x1e/=\xccp\xd4<\x96\xd4\x9b=o\x0f\x0f=jE\x14\xbe\xda\ro\xbdl=\xcb\xbd\xfec\x85;\xd2K\x81>\x9a\x94\x13\xbdB\x02\x8d<\xf2\x13\xc2\xb8\xa1J\xbeu\xd0\x0e\xbe\xc8`\xcd=\xe1\ng\xbd\xff\x91&\xbe\xe9\xfc\xed\xbd@\xb6\x03>\x93\xcaf>\xf6\x86\xf3\xbc\xcf\xf07\xbc\xf0\t\x07=\x86\xca\x9c\xbc\tG\x19=\x99,`\xbb.+\xdd\xbc\xd6I\xd3\xbc\xd5f\xe9<\xb1=\xce\xbd`\xf42<\xdd\x05\xc2\xbd\xc4X\xa3\xbd\xc80\x8f\xbe\xd8)\xd5\xbd\xd2\x94\xa7\xbc\xe7\xa6\x11\xbd\xe7G\x93;\xaf\x9c\xa1\xbd\xc0J\x0e=\xd7M\x04\xbd\xf3\xd6>;X\x0b\x04=\xd1H~\xbd\xa2\x1d*\xbd\xd1X\x1b\xbe\xba\xff[;l\xc7\xc2\xbb\x8a\xdd\xe9=C\x11C\xbea|d\xbd\xb6\xc3\x1d\xbb\xf5^\x16<\x8d9\'\xbe+5\xce\xbd-\xf0\xa7\xbd)\xf2\x14\xbd\x82\x9d\xa2<\x0c\t\xc6\xbc\x89=\x8d< f\xd6\xbc\xa3\r\xb2\xbd|x\n<\xde\x04\x93<\xb24I=\xdd\xf4U\xbd\x9e\xb2\x18\xbdH&A\xba\xaem\xe6=\x00\\]<\x12y\xfa=\x9c\xf9\x07\xbe}\xdf:\xbc-g\x97=\xfe\xe5=>\xa1Hz\xbd\xae\xe8\n\xbe7uU\xbd\xed\xb3\x04\xbe\x841\xa4\xbd\xdcn\x18\xbe\xc4\xe6\x04=l/\xcd9`\xa3\xdb9\xa4\xc8\xd3\xbd>P-\xbd\x0f\xf1\x93\xbd\x13\x80L;;\xae\x8d\xbd\xf6\xce\xba\xbc\xe5:\x8f\xbd\x92\x08E\xbd\xb7\xe8\x8a\xbd\x0f\xd2x\xbd\xf2\x19\xd8\xbc4`\x8a\xbd_y|\xbc@\xb8\xa1<\xeb<=\xbd\x14P\xb1\x9b,\xb32\xbe5t\x99E\xbd5\xb9\xc1\xbc\xa9\x88\x83d\x1e\xf8\xbc\xb2`\xdc;,4\x05=\xf1x/;8\x0e\xf5<>5\xad\xbc\x94\xeb\xbd\xbc\xe8\xea\xcb\xbc\xda<}=\xe5\x13M=m\xce\x07\xbdu+\xd8\xbc~V\xd1\xbba\x9ao<\xd6\xb0\xb3\xbc\x12P8\xbe\xb4\x8c\xc7==|u\xbd\x9dHh\xbd\xb6>\xb5=\xb8\xeac\xbe\xa7\xb9\xf6=S#\x98\xbd\x90\xe6\x07\xbc2{J\xbd\x0fT\xab\xbe^\x9dX>\x18\xc7\x01\xbe\x90ts\xbe\xc8\x96@<\x8d\xe3\x94\xbc\xee\xba.\xbdh\n\xf0\xb9\xfb\xfd\r<\xa6\xcb\xc3\xbc\xfc\xb7\xd6;\xd4\xa0<\xbc}I;<\xe4\xc7\xde\xbc\xce^\xc1;\xe4\xd6\xd0\xbc\xa5a\xb9\xbc\x1a\x12\xeb\xeb*\xdc=\xdd\xd1\r=\xeb\x90\xe9<\xd5\x8e\xd2>\x0f)\xb9=\xa5\t\x98=N\xb0H=\x93H\xaa=\xdb%=>\xbc\xf2`>\x8b\x1a_>\xf0\xaf\x01>7\x90E=\x85\x95\x06=\xdd\xf7\x02>\xbdX\xf0=\x80\x15|=\x1e\xf6\x1c\xf4\xfc\x1d>\x9e\xcf,>}\x90E>b!I=\xa5wU>x\x8d\x1f>V\xc63>\xa3\x1d\xdd=\xda\x8c\t>1r\xcb=\xdeV\x8b=j\x80\x9d=\xc8#]\xbb\xa4\x9a$=\x1f\xe61=l\xf5\x9f=\x01Jt=\x10o\x97=C \x82\xbd\x82f\xcd=\xdf\x8b#>\x88X->\xe0\x91*>\xb6\xae\xed\xba\x89H2>g\xe8\x17>\xd0\xa3\x14>A\xb9\r=\xbd\xff\xf3=\r\xf3\x83=H\xd4\x11>B\xfc\xeb=\xa7\xb3n\xba\xd4\xc2\xf8\xbb\xddj\x99=\x94U\xf6=\r\xa9\xe5=\xc0\xbb\x88;\xb9\x1fX=\x98\xe3\x9e=\xfb\x19\xd7=q\xd7\xcf=\x9c9\xc4="\xaeI\xbch\x9f<>\x0c\xa8\x13>\x19]\xe8=\xd6l~=\x989\xb9=RP\x96=H\x18W=\xf0\x81Z=P\xad\xb7\xbc5\x97\xa1=\xc9\x95\x96=HX\xf3=\x8d@\xe6=\xd6\x050=]\'\xfd=\x94!\t;\xa0\xaf\xe9=\xe2c\x8f=\xee\xf6\x8c=\x00\x14\xba=\x1cA\x0e\xbe6\x00\xbe=\x18\xbb\xaa\xbd\xd4\xdb\x1a\xbd\x97\xb0\xef=\xab\x95\xb4\xbd\xcb\xaf\x19=KbP=\x1e5\x0c=\xb6y\xe5\xbb\x8c6\xe2\xbc\xe7\xea\xb1\xbc\x9e;7=7V\xab<\xfcv\x8a\xbcfQ\x9a\xbd\xa0t\xef6\xf7\xd2\x83=\xa5\xf8\x8a=\xaf \x10\xbe\xe8\xc8,\xbejea<\xf9p\x93\xbce\x9d\xac<\x11\xa9)\xbe\x8f\x0c\xec\xbc\xa3`]\xbc\xf7\xc7\x04=\xfd\x8a\x00\xbd\xe5\xf8k<\x8a\xc9\x94\xbd\x10Y\x97\xbc\xd0VJ\xbd\x12\xa2\xe4\xbcO_\xe1\xbde\x13\x1f=\x01\xf7\xcb<\x1d\xec3\xbc \xb8\xd7\xbcI\xf5\x9d<\\E\xac\xbd/\x8d\xa3#;\x9c<\x01\x14\xfe;\x98\x83\x92\xc5\xde3\xbd\x0bsv\xbcZ\x19\x8a=\n|^=\x18\xef\x90<\xf3?\x97\xbcWU\x11>\x80K\x15<7o\x9e\xbc\xaem\xe4=\x80V\x0c>\x11\xdd\x89=\'\x17A>\x16\xcfJ=\xa6N4=>\tH>w\xc9f=\x1d\x84+=P\xb9\xc7\xbd\x8a\x89\x95\xbb\x1fp_\xbd_\x98;<*\xc9\xc5=\x13\xfbi=\xa0\x0fR<\xdf\x1b\x9b\xbdZ^i\xbb\xa4l\xc4\xbdd\xce\x1e>\x92\xfe\xf8\xbb\x91\x00\xee\xbc\xa5\x96\x8d\xe0\x8ct\xbc\xf7\xe8\xa8=\x0c\xc0*\xbc\t\xe7\xfc\xba*:Y>\xef\xde\xc8=ow\xbc=\xecU\xe6\xbdsS,\xbd\xa8\xd6\x95=U\'\xd9=\x95\'?>2-\x9c=\x80\x0e\xb2=\x1f\x95\x98\xbb\xac\r<>I"5>SP\xe8\xbct\x1d\xdc\xe9\xbeT=J\x8d\xce=\x85\x1d\x88\xbd\x18\xf2\x1d>m\xc7k>\xb6\x83\xad=\x06\x1b\xa4=\\P\xe9=m[\xfd=[`\x1f>6\xd0.>\x93 \x06>\x8f2\xbe=\r\x9a\x04\xbd\xe9.\x8d=H\xcf\x89=z\x08\xf1<\xf42F\xbc\x86\xd4\xa7=7D\x1e>/\xb4\xdf<5\xd3\x08>j\xa0t=\xf2v\xa1=`\x1d\x00>\xf4\xc0\x94\xbc\xf7\x0f/\xbd\xfd\xbav\xbd\xe0i\xeb\xbd\xb2\r\x86=z\x170\xbe\x83\x8dd\xbd\xe6\xe2\xc1=\x10\xd5\x94=\xa1~9>\x81\xdar<-\x16\xe1=\xa3\x12\xa5<\x0c\xb1e>\xd5R\xbc>\x82\x14\xde=!#\x18>\x15W\xf0=>\xb3U> \xb6\x04>pg\xff\xbcw\x91\x91\xbd\xb9lX\xbd8\xd2 \xbej\xe22>\xc5\xac\x03\xbd\xb1u\x95=\x03X\x91=\xbf\x1fK>ZB\xc5>=\xbf\xc9=D\x87\x17>\xf8\xfbH<\xd0\x102>"\xd7\n\xbda\xe7\x0f\xbe\xf6\xf8V\xbd\xa9|\xa4\xbc\xb9\xa8\xab\xbd\xc9\xffd>\xa8?\t>\x10\x00X=%/\x87=6\x10\x89\xbd\xbe\x84\x17=?\xae:=p\xf3\x94\xeb\xdcp\xbe6\x9f\x8d>/\\E>h\xa5Q>\xa7\xd8\xd9=\xe6\xa7\x96=|l\x97\xbc\xcf\xc5\x8e=+\x03\xb3=\xa3\x8a\xfc;\xe9"\x17\xbe\xae\xb7\x90>\x19\x04\'>\xcf8\xd3=\xfc\xc4\xe8=\xbd\xaaK=,2\xb4=\xd2\x89\xda\xba%J\xef<\xefF\x9f=L}\xac=\x04[v\xbc[\xf1b\xbd\xf5\x7f3<>\xd8\xe5\xbd{\x8f\xcd;.Q\x05\xbd\xb6\xa9\xc8:]\xfc\xd9<\xc4\x9e\x88<\xea\x81\xf5<\x0e&$\xbd\xa0z\xf6\xbc\x83a\x0e=\x1bb\xdb\xbc\xf5\x9f\x04\xbd\x02\x12\x94\xbb\xde9\x88\xbc\x03;"=\x97sI\xbc7]\x9c=\xe8\xad\xb8\xbcK@\xc7\xbcC \xcf\xd0\xfe\x9b\xbc\xdb\x97\xa9\xbd\xc4F\x15;\x94\x8f\x84\xbd\xd5\xde\x1f=\x0b@o=\x031*=\xd5\xf7I=\x98\xbf\x8a=\xbbG\x8c\xbc6\x89\x1b<\xc0w\xb1\xbb\xc3\xed\x13=\xfe\x87\x80\xbd@\xef\x8b=\x19\x99@>\x03a\x03\xbd)\x11\x9a=T\xeeB\xbd\x9b\x9dd>\x0cc\x1d\xbe8-\x1e=\xb5\xc8,\xbd;\xbeP>-#\xc8=!d:<\x16\x80\xe2\xbc\xb0\xed&\xbb\xb0\x9e\x06=D\xcd\xd5\xbc\x95Z\x8f\xbeQ\x0e5<\xbb\xee\xd3>\xaa\x1e\x96\xbe!\xce\xae=\xefv9=\xc9\xa2a\xbc\x95\xf4\x86\xbc{\xde*\xbe1pv\xbc\x0eW\xa4\xbd*\xfe\xca\xbd?\x0f\xdc=\xa7\x88\xba\xbdk\x0cR\xba\xcc\xee\xca\xbd\xfc:,\xbd\xba\x87\xca=|rS\xbc\xa56\xa1<\xfe\x00\x8d\xbe5\x00\x8c\xbd[\xb3\xce>\x0e\x13l\xbe\xd8\x10e=)\'\x93\xbd\xc6\xe7\x13\xbd+I\xd2=\xe2\x99\xd8\xbcXWN=\xd9\xf5\xa4=\xae\xe5;=r\x91\x86\xbc\x86r\x12\xbe\xe2\x8eg\xbe\x9cf\xa5\xbe\xcc+j>\x9a\x7f\x0e\xbe\x00\x91\x1d\xbeR?z=V\x8d7\xbdC\x94,\xbd\x8d\x93-\xbd\xa3\xc0\xeb<\xcc\x91\x84\xbcRO\xfd\xbd4\x95\x8e=>\x1a{=\x14\xdd\xd4\xbd\xa8\xf3\xa9=(\xed\xd0\xbd_\xe1b\xbcUK\xa8=\x8b\xc4E\xbd6\x7f\x02=\xe6cN\xbe{}w\xbb\x93\x1dK>\xbe\n\x08\xbeh\xd7\xed<\x0f\t\xb3\xbe\xa3_)\xbe\xb6\xc1\x06?B\xef\x0f<\xb8F\x18>\x1b#T\xbd\xb3\x8e\xc6\xbd`\xa4\t>m9x\xbd\xff\xfa*=K\x103\xbc\x9b\xc1\xe1=\x87Ro<[U\x04=!u\x88\xbe0Z\x7f=!\xfc\xa6\xbdh/\xda\xbc\xb2\x08\xb1\xbdlm}=&y\xb9\xbcm\x11\xcd\xbc\xc7|\x89\xbb\xe47\x82>\x91x\x06\xbdA\x17/\xbd2\xc4\xe4\xbd\xa74\x9b\xbb@\\\x80\xbc\xdb\'*=\x02\xbc$\xbe\x02\xb6\xe4=\xa8\x14\xc6\xbd%\xf9\xd4<\xaa\xc75>\xf0\xb7\xef;\xfc?\xb2\xbdt\x87\xaa8\xa07!=\xf1YO\xba\xcb\xbc>\xbd\xddo\xad\xbdM\xa6\xd1\x89\xad\x96=p\xc2,>\xce\xe2\x83\xbeA\xdc\x08\xbc\x11Vt\xbc\xec\x01==[\xf6Z=\xc3\xabg=\x04J\x0f\xb9\xa3|0<5\x1c-=\xb7\xe6\x02=\x9f\xba\xb4\x0e2_>*_\xfd=~r\x85=\x92\x99\x8b\xbd\x16s\x02\xbd\x8c\xa7\x08=d\xbd\xd4;\x1a\xf7\xda<\xe8\x1f\x11<\x82\x7fK=mC\xf4<*]\x98=\x11H\xcc>(\x8c\xa1\xbc\x11E\x15>\xab\xbf\x81=R\x03\x0e=\x98\x0e\x17>`\xfb\xd1r\xf0k=\x13@\xe1\xbc;\x0b-\xbe\x04V\xb3\xbd\xd2\x9c\x0e\xb4o\xb2\xbc\xc5\x01\x97=\xedl\x0f\xbe\xe4X\xc1\xbck\xff\x95=\x9b5\x8e\xbc\xf0\xea\x82\xbdA\xa1\x8d\xbd\xff\x94\x95<\xcd\xed\x1a>\xf7U\xbc\xbdoha\xbe\xe0x\xa3>\xafc\xa5\xbd\xdeO\xba\xbd\xbcU\x0f>\x93\xd9\xbf\xbc\xd7\xe7\xa5\xbd\x825\xc1\xbc\x05pY=\x87\xc1o=[\x89\xf5\xbc=\xf9N\xbd/\x17k\xbc0\xd2\xd2;.WJ=\x97\xff\x1e\xbe\xda\xa7\x14=\x87\x86\xac\xbaU\x9f\xaa\xbc\x90\x9c\x85\xbe\xce-\x10\xbcS26\xbe\x9b\x06\xb7\xbd\xbb4\xfd\xbce\x88\x9b\xbc3\xec\xe8\xbds\xbb\x00\xbd\x1b*\x03\xbdJ\x94\xa1=9p\xf5\xbc\xcf\xef\xe0\xbd\xb2\xa6\xaf\xbc\x0b\xd0\x9c;\xeb7\xf4=N\xcc\xbf\xbd\x15\x9by\xbd\x11[\x8b=\x98\xa8Z<>\xc0.>/\x8a\xf6\xbdj\xf7\xcd\xbd\x9d\xa0\xde<\xaa|\x19<\x8cL\x08=\x8e\x93\x82\xbd\xc1Hr\xbd\xb6\xb7#<1\x02\x0f\xbc\xff\xc1\xe8<\x16L,=\x82:\x05\xbc\xff\xb6\x03\xbe\xe6\x18\xb6\xbc\x87\xee\xca=\x83\x9b\xc9\xbd0\xad\xc0\xbdx\x82\xd2\xba\xd9\xf7j<\x9bR\xbdj=\x86\xc5)\xbe\x18\x83\x02\xbct\xaa\xf8<\xe9"\n>\x8cb1\xbe\n\x82\x8a\xbb\x15g+= m\x8b\xbc6\x0b9\xbb\x18i\x9a\xbe \xb7\xa8\xbcZ\xfcM\xbd\xc0\xc4\x9d<~\xdb\x19=\x0b\xf3\xca<\x1e\xd0\xa0\xbd\x97X\xa3\xbd\xa1\x1a@=\xda\x9aF=\x9c\xcb\xde\xbd9\x84\x8f=\xb77.\xbd4\xf3\xee\xbc`\xe6\xf4=\x11\xb2q\xbe\x07\xda\x0e\xbc\xf9\x19\xee\xbc\xf2*m=\x9b\xb1\x8c>\x8a\xa9\xb2\xbdG\xa49=\x03\x936\xbd\xbbP9<\xd9\xea/=\xb9e\x94<\x9c\x1d\x83\xbd\xd9f\xa3\xbd(/L=\x91\x9e\x9c=\xd2t\t\xbe\x99\xf1\x1f\xbe\xfc\x99~=\xf8\xc0\xb7\xbc\xa0\n\x87\xbd#1\x98\xbe\x05\xe1-\xbe\xde\xbf\xee=m#\xbb\xbc\xae\xcdo>\x0e\x82\x1e=!E\xec\xbd\xad|\xa1\xbd\xef\x05\x04\xbe\x131\x80<\x13\xda\x1a>\x0f\x90\xcb\xbe\xab\xe1N>\xed3;\xbe\xd2}\xe7\xbd\x8d\xc4\x8a\xbb\xd2\x9f\x92\xbd\x14\xf9\xa3\xbd\xb7\x12\xd5<\xf0\x99.\xbd\x04\xd4\xd6\xbc\xcb\xd1K\xbe{\'$<\xcc\xe6\xb0\xbdc\x9d^>\xd4\xf6:>\xe2\x8e\xcb<\x06\x97\xf1<\xfeJ\x1d=}\x9f7<\xf82\xf0=W\xee(\xbd\xfe\xca\x9e\xbd\xe0],\xbd\x0c\xc7\x12\xbeO\xca\x14\xbeC\x17\x1d\xbd\xfb\x9f\xb1\xbdt\xe5\x02\xbdF\xb5\xb7=\x7f\xd0\x01\xbe\x8e\x87\xe7\xbe\xa0\xff\x86=[\x85h>\xbf\\\x86\xbe\x18\xf07=\xd4\xd8\xec\xbd\x14\xba\xae\xbdGW\xbe>>\t\xd3\xbd1\x08\x0f\xbc\x84\x01\x81\xbe\x87^h\xbeM\xa3\xf8>\xb0\xd5\xa3B\xae\x93\xbe\xcb\x9a\x03\xbe9\xa1\xb9>(\xc7X\xbeo\xd9@=p=\x9d\xbdy(E\xbe]e?>j\x10[\xbd\x96\x16U=\x044\x93\xbc\x8e\xc3\xca\xbd\xbe"\x07=w-\x83>\x1c\x0c\xaa=b?\xfd\xbd\xdb\xce\x98\xbd \x0f\x7f>\x8a\xbb\x80\xbc\x02\x9f\x1f=\xe8B\xb4\xbdf\xdf\x98=)ZY<\xc9\x0f\n\xbd\x9d\xf6U\xbemN\x99\xbe\xaf}\x91>\xb4\xf3\x00\xbe\xf7\xbd\x96<\xd4I\xf6\xbc\x8b\xf7\x8d\xbd[\x85\xa5=\x06\xc9;=!\xa8>\xbd\xbd\xcf=\xbd4Q[\xbd\xb1o\xf4\xbcXt\x16=\x03VQ\xbd=\xe4d=\xa5cZ\xbd\x86\xe4\x12\xbccV\xb2<\xc9\xd9\x18<"\xc4U=\xeb1\xb1\xbd3\xa66<\x02\x03\xe5\xbb\x1e^\x86\xbd\xaeN\xb8<\x99\xc9\xa8\xbd\x9b\x12\x8e\xbd\xba\xe1x\xc3:\x8d\xbexn\x86\xbc\xa6\xa7t\xbeIA2\xbe\x94\x8f\xd1=@>\xeb\xbd&\xbdm=\xe8\xf9\xe1\xbc\x85k\x8f=D\xce.<\x13?\xc4\xbd\x03\x9c\xbd\xbds50\xbc?,\xb5<\xf0\x1eB\xbd%S\x9f\xbd\xe0\x13\x04\xbd!3\xa6\xbc>\xa2y=+\\\xad=jY|;`\x98\x11\xbd\xd2\xd4q\xbd6\x12\xc9<\xd9\xc41=\xeen\r\xbew9\x94<8Zg\xbd\xb2K<\xbd\xd1\x90\x1e=\xb7\xd8\xbe;&\x9fq\xbc\r\xf0-\xbd:)\x81;\x1a\xba\x8b<-\x98\x18=\x16W\xcf\xbc\xdd\xdf3=W<\x05\xbeAx\xe2\xbd\x86\xab\x9c\xbd\xdc\x97\xa5=\xf5\xc6\xe0\xbd\xd5\x8b\xf3\xbd\x01\xf7\x12\xbd\x11*\xb7<\xe1\x18\xb7\xbd g\xa0\xbcpB\xa9\xbc\x94ff=X\xa62\xbc\x9c\x9a\n=\xee\x10\xef=Rw8\xbd\xcecW=\xa5D3>\xbd\xbd\x1c\x8dgE\xbe\xc9a\t\xbe^W\xd7\xb0\xf2\xff\xbd\\\xbc-<\xc5|(=hB\xaa=\xbb!\xd5\xbdly\xbe\xbd\xf6\xda\x0c\xbcp\xb3\xa2\xbd\x9aO)>\x03\xeaT>\xc11\x9a\xbb\x0eLB\xbc\xd6\x8d\xd79\x02\xf4\x9a;\xa0\x82\x9c<\x0f\xe9\xa3\xbe\xb9\xf2I>P\xa27\xbd\xe8\xb9\r=\x02#\x8e\xbd6}\x92\xbd\xee\xfd[\xbd\xb0y\x8c<\xd8\x92\x85\xbd\xa3`\xa9<\xd0L0\xbd\xda\xda\x84\xbc\x8b\xa9\xb3;"\xd8\xf3;\x12`v\xbc\x11\xfft\xbd\xbb\xcf?\xbd\xd0\xee)\xbd\xe9|)=\xc6\x98\xaa=\xd6^\x92\xbdX\x96\x91\xbc\xb1\x9e\x02\xbd\xb1\x81\x85\xcc\x1f\x91\xbd\xb5\x95m\xbd\xd2\x06\x06>a\t\x95\xbd<\x055\xbd\x08\xec>\xbd2\xe5+\xbd\xb4\x1e\x9a=U\xc6\r\xbe\x95\x91\x0b=oo\xf3\xbd\\o\xf2\xbd\xbe\xfc\x00>\xcc\xe7\x12\xbe`\x94u=\xae\xf4\x03=`\xf5\xe9\xbc\xbbI\x05\xbd\xcfzE\xbe\xea_(=Pt\x1c\xbc\x12\xb3\xb4\xbd\xc1O\xe4;]h\xc2\xbd\xaa\xbd\x9d=\x15\xa9\xe6$\x9e<7\xd9\x8d<\x92q\xe8=F\xd5\xf6=4x\xd5=?L\\=d\xb9\xa6=\x83\xeb\x17>\x873\xe3=\x00a\xcd=\xa5\xbak\xbc:\xce\x80=7\x0f\xf6=E\xe8\x07>=z\'\xbc\xe7@@\xbd\xfb\xb8\x80\xbd|\xa9\xa4<=\xcf\xb2<*t\x86=I\'\xae\xbc\x11\xf5\xea\xbd\xd2:\x0f=\x06\xd7\x06<\xe3\xf5u<\x99{+\xbd~\x8c\xd2\xbd\xff\xb4P=\x1bA\xb7\xbc/A\xa3\xbd\xa5\xc6\xaf=\x8b3\x01\xbe\xbc1\x1e>\x8d\xc0\xcb\xbc\x17\xe0$\xbe!P\xa6=\x8eb\xd6\xbc\xdb\x13\x05=\x8fc\x94=\xc0\xdd==\x14\xaa\xa6\xbc\xc5\xbb>\xbd;\xf5\x10\xbd\x9b3\x88:\xa8M\x86=6:\x8a\xbb\x89\x99<\xbd|Rl\xbd\x1b\xbb\x00\xbe\x94\xcb\xb0\xbbV\xdaA>_\xb0\x82\xbe0\xf5\x17>\'\x1b\xe5\xbd\xe4\xcf\x9b==yk;>\x1fd\xbed#\xcb=\xaf\xaa\x86\xbcMs\xa7=\x94C\xd1;9K\xaa\xbc\xf78#\xbd\xfe[\x07\xbd\xbe@I>\xf3^O>t\x8c~<\xbf\xc1 =P\xa0\xca=\xc2\xa8}=\xcb\x9b\xc4<\x17\xb4h\xbd\xb5v\xd1\xbc_3G\xba\xa3D\xf1\xbd\xcc\xac4\xbc\x80\x023\xbc\xe8\xaaV=*\x9d\xae=\xcf\xd7\x08=)\r{=Q\x16\x8b<\x0e\xe1\'\xbd\x94\xdb\n=\xcf\x8cL<\x1e\x89\xf8=\xb1\xf3$\xbd[\x8d\x87<\xf2F\xa4\xbb\x91\x03\x02=`z =e\x85\xa0\xbb\x1d\x8c\xdd\xbd\xcd\xc9j\xbc7\x0c[\xbd\x90B\x07>\x02\xda\xd3\x9fz\xbdK\xb0A>\x1a*\t>@Y\x8d:\x95\x06\xd9=\x92+J>^w\xf0=?C&=\xbaE\xd2\xbd\xd2*\x87\xbd\x8c\xc9\xf4=M\x9f\xac<\x0c\xef\x0e\xbd\xfe)A<\x1c\xb2\xa6<|)\xf28\x06\xb4`\xbc\x9b\xe8\xd9;\xeap\xaa:Y\xb8\x0f=4i\x04\xbc\x89H\x04\x02\xefp>\x15\xcdv=Kc\x14\xbe\x8d\x9f\x0f>\xa7\\\xbb\xbdd\x05\xf3<\x0e$o=\xacc\xa2<\xe0LG\xbd\xfb\t\x9f=\x9a\xbd\xd1=N\xfc\x05=2K\x9c\xbea\xb4\x91>\xe7f\xd1\xbd\xb6\xe9\x16\xbd\xc1\x90[=\x94\xcdn\xbc\xcc\x15\x99\xbc\xd2l\x7f=\xf6\n?=\xd0\x16\x84=,\xb2\xde<\xa5\xcc.\xbd4\x17\x19=6\xe0\xaa\xbb\n\x95\xf6=\x133\xb4\xbdp\xafu<\x864\x82<3\xb9\t=\xc7\x8d\xe3;\xadz\xa4\xbd\xcc\xf5\xd7\xbc\xcc\'\x05;\x02A\x92<\xb4\xda\xda=\xbb\x1c\xc9\xbd\x84\x1bC=B\xc4\xcd;`\xff\xc0\xbcC\xe8k=\xa1J\xb2\xbd\xd5\xa2\x89\xbd\x9c\xfa\x84=\x16\xce\x9d\xbd\xb5H\xf0=3\xbaj\xbe\x03\xbd\xdc=\x90~\x93>?\xcf\xf9\xbd8|\x1a=c\xf0\xca\xbd;\xbe\'\xbeT\x81#>y\x19\x92=W\xfeO=h\x91H\xbd\x0e\x16\xb4\xbd\xd2\xab#=\xa0\x12\xa2\xbbS\xb5\xcf=\x9fu\xaf\xbd\xfb<\x8c\xbd\x92x\xa2=R\x1e\xa7\xbd\xaf^\x9c=)O\xee\xbd\xcd.I<}\xeaI>\x87\x13\x96\xbdX\xb7\x04\xbc2h\xde\xbd\x01<\xb3\xbc\xff+\xf3=?\x1b#;\x1bH\xbe}\xc4\x9d=O\x8e\x06\xbe7S\x0b\xbd\x8a,&>\xa8\xbf\x01\xbc[\xd6\xa9=vF\n\xbeu\x85;\xbd\xfd\n_>O2\xf4\xbd\xa6\xef[=\xc0B\x96\xbd\xe1\xcc\x18\xbeH\x95t>\x8be\xf4\xbb\xedb\x89=X\x87d\xbd\x13\xe3\x1a\xben\xa4\xe6=\xacS\xf2=\xde\x0b]\xbbbS&\xbc\xd1\xd2\xae\xbd\xe6\xdb\x84=\xfa\x1a\x9c=9\x0e\x16<<\x91\xf0\xbc\x9f!A\xbdL\x10\x11>\x92m\x94\xbd\xfa\xbaE\xbc\xf1q\x8e\xbd\xfa\xf7\xdf\xbd\xfa\xfd#>6-I\xbdJ\xa2\xd9=\x9eY\x1c\xbe\x82\xe4P\xbe\x1f:\xa0>\n\x8f\xa8=B\x87\x07>\x0c\xb0\x16\xbe\x90\xe8\xab\xbc\xa4?\x05>\xe1\xc8\x15=\xe1\x8b\xe4<)+\xa2\xbdh\x05e\xbd\x94\xe9:=2\xa1\x03>\x04\xfb\xa9=o\xc2\xb7\xbd\xfbM\x90\xbd"b\xdb=\x8eq\x82\xbdB\xfep\xbc\x9e\xd0C\xbd6@\xcf\xbc\xed\xdc\x8a=\x8d\xa3\xbc\xbc\x07\xdc;=\xb6\xde\xde\xbd|\x98\t=\x97\x1c@>p\xad\xba\xbd3lF\xfdYs\xbe\x17\x18\xa8=\x96\x07\xe6\xbb\xbb\x1bT\xbe\x88\xe3S>\x87{\xd3=\xa8\x12\xa0=\r\xfd-\xbb\xd5<\xf1<\x8a#\xdbe\x9e>6\x94c=P\xc3A=\xe0\xf6\x81\xbd\x08\xc6\xa9\xbd\xc8nW=@WJ:\xe6\x00.=\xf6\x96I\xbd\x9f\xec\x16\xbe\x12(i>z\x14\xae=\x8a\x8d|=\xdd\x8e\x96\xbd\xa3w\xfd\xba\x9d,\x86\xbb\xd29(=\xa9\xc8<\xbd,1\x89\xbe\xf1E\x0b>P\xbe\xfe=\xc4\x1a\x82=\xdc\x1bo\xbd\x97f\xc8\xbdB\xac\x8d=bo\xec=\xf5\x86\x18=\xac\x1e\xec\xbd\xba\xf1F=\x00\xbe\x14>5\xf9\x9f\xbc\xfa\xb8\x88=*\xb0\\\xbd\xd9\x9c9\xbe\xc5\x01\xdf=\xccD\xdb=\x0e(\xce<8\xe3\xa2\xbc>O\xfc\xbc\xc0r\xee<\xfa\xa6\x82\xbc|X\x02=\x08d\x93\xbd\xb6z\x1c\xbe\x19>\x08>@\x86\x05\xbe\xf6\xac\xeb\x84\x80\xfc\xbc\xa3\x06\xe0\xbc\xfe\x15\xf5;L\xde(< \xdc\xa2=\xfe:\t\xbd\x88\xf0\x97\xbd\x8b\xd6\xf9<\xc0\xf9z>K\xfa\x00\xbd\xb8\x06\xee\xbc\x16\xaa\x8e\xbdv\x82\x93\xbd\xe64\x87=5\xfe\x1e>O\xd2J=\xe6>[<\x0f\xde\x0c>h\x15|>i\xce[=\xe3u,\xbe\xb5\x8b\xaf=\xafm\xb3\xbd3\xc3\x97;"\xa8\x86=\xd8\x17\xfc\xbd\x16\xe3\xcf=Wa\xd1\xbc\x06Bp\xbd\xb4\x8e7=\x87|S\xbe\xfd\x06)>\xf1\x1c\xaa\xbd6\xe8\x92\xbd\x1f\xbd\xd3<\xf4w\x07\xbe\n7|\xbc\xf1\x17@\xbc\xc0\x0e\t>\x90\xb6\x96=\xc5\x8aA\xbe\x9d\xae\x9b=\xf5\xf1\xf1\xbd\xac\xded\xbd\xc8Cs\xbd\xff\xee\xec\xbd\xea\x98\x83\x15\x86\x12<\xb5#\x95\xbc\x83\xc7\x00\xbe\xaa\x8d\xb4\xbcK\x9bx\xbdD\x86\x06\xbdO\xee%\xbd\xd4\xc7\xa8=.>\\\xber\x1d\x0c>\x8e\x05X\xbck&\xef=8\xe4?\xbd\xd9k\xa6\xbd%_K\xbc\x17\xda(\xbc\xb1\x0b\xcd=j\x1d\xa4<\xd9\xbb\xd7\xbd\xc3\xbe6\xbc)\xd9\xa3\xbcR\xd8C>\x97\x19\x06>\x8f\xaa0\xbeIj=\xbd\xaeCq>\xfbkc=\x06\x83\x9c=&\x1a\xb7\xbd\xa8c\xfa\xbb\xf9\x81\x10>@\xeb\xa6\xbd6T\x97\xbc\xf1I\x87\xbd*\xc6\x03\xbdU\xa2F\xbdq\xf4\xc6\xbcR\x1c\xc0\xbd\x9c\xe1\xa9\xbd\x85\xbb\xca\xbc\t\x0c\x13;-D\xab\xbde\x17T\xbdz\x86\xf2\xbd\x132\xa8\xbd\x89\xbd\x0b\xbc\xe5a\x8b=\x82F-\xbeTI\xd1\xbc\xd3\xa5s\xbc\x07\xfc\x00=\x1aW\x9e=\xf8\x8c%\xbd\xafg\xd0\xbc}\xe5\x19\xbej4\x9e\xbd\xafm\xa6\xbdv\x9d\x7f=\xe5\x8c\x19\xbe\xe7;#\xba\xe3\xf8\xea$\x89\xf2\xbd<\xcf\x99\xbdE\xf9\xb6\xfe\x1a\xad\xbc/\x1a\xa8=\x15\xa3\x12=\xfa\xd9\t<"\xa9p\xbd0w<\xbdh$\x9d\xbdj\xaa\x0b\xbe\xac\xf4\x8d<\x8c\xbd\x06>\x14\xbeG\xbd\xd39\t<\xe4G\x97\xbb\x96\xf52>,\xa5(:\xbci\x93\xbbb\xdb1\xbc\x8b\x0e\x85=/\xad}=\x9eh\x9b;\xd4\x06\xbe\xbc\xd4r\xb2\xbdg\xb08\xbdi\x15\xf7=\\\x90/=O\xaa\x9d=\x06f\x14\xbcM\xf5+=3\x96\x07>Of\x83;\xee\xd0\x12\xbd\xac:\x029l!};gF\x06=j\xb7\x1f\xbc0I\xc5\xbc\x1f\x07\x15\xbeU\t\x86=\xdf\xf0W>\xdf\xf8v\xbc"\x18\x1fX\xe5<\xe4\xf8\x10>\x9a?~\xbc\xcb-<\xbc\x13R\x15\xbd\x1c\xa7M="G\x1a>\xfaL\xc7<\xa6\x03\x9e=E\xbd\x18\xbd\xf7\xd3\xaa\xbcL\xfb\xba=\xcc\x93\x95=\xb8\xa4\x9e\xbc)FT;I7\xfc<\xe6^q=\xb8*\x91=)9\x8a\xbc\x94\x9b7=\xab\xfa\xae=qw\x10>\xfc\r\x92\xbb_\x10\xb7\xbd\xe1{.=jB\x85<5r\xd1=\xcd\xf8\xc1\xbd\xd1=\x00\xbcx\xce\xe4=^\x9b\xce=\x0eR\xcb<\xaf{\x18=\n\xec\x94\x1f\xde\x82=\xb5*\\<2\x93\x84\xbd\xad_V=\xd8Gs>{\xb44=\x06\xb9\x1f\xbd\xfa\xea\x86\xbcc6\x80;\xc3\x1b\xfb=\x97|\x00\xc0\x88\x13\xbc\xab/\xab\xbd{\xe1\x80=\x1d4\x02\xbe:\xb1\x90=\xac= \xbd4\x0fj\xbd\x0c\xd4\xd2=\xfb\xceh\xbc\x9e\x0ca\xbc *\xa0\xbcc\x91\xda\xbc\x83\x19\x1d=\xd6\xb6\xa2\xbd\x80\x9e[=\x9a*H<\xef\x06\xbc\xbd\xef\xcd\x91=&\x99\xc4\xbd\x8c\xfb\xa7=\x85\x0c$\xbd\xf9\'\x19=\x00\x99\xe4=\xf2\x95>\xbd\xa339\xbcO\x01\xd7\xba\x96\xe1\x17\xbd\xf2\x17\xcc=\x02\'\xac\xbd\xc0\xa7\x1f\xbdH\xc0\xb3\xbc>r\x1c=kXr=)\xe3\xa0\xbc\xe4\xccq<\xb1 \xca\xbb\xd9\xc1+ a0\xbe\xad\x87\xb9=\xab\x9b\x9a\xbd*\xbbY=v\xd9\xb2\xbd\xb7\x8d\x88<\xac\xe5(>\x01u\xa2\xbd\xb4\xe4\xca=a&\x11\xbdqJ\xd0\xbd\x85]\xc2=\x0f\xb3\xd7\xbci\x12"\xbdT^\xf4\xbc\x88+\x10\xbd\x0c\xa6+<\xdb\x9c\r\xbe\xec\x0f\x00>Et\xd9<\x019\xee\xbd\xc5M`=\x0be\xc7\xbdd\xac,<\xee\x0f\xbb=~V\x97<\xf8\x0b9=h\'\xe8\xbd\xd2Z\x0e;\xff\xca4>\xc3\xf1\xd5=\xc7\x01\x08=>\xae\x89\xbdg\x0b\xa2\xbd\xf7\xf4\xa8=ms\x03=q7\xc1<\xfb\xceX\xbd\x9fw]\xbdX\x01\x169\xcd\x06\xae\xbc\xb7\x11L=~\xb8\x7f\xbe\xed\xac\x94=\xa4\'\xa7\xbd\x8cl\xbe\xb9|\x03Z;\xb5\xae\x83\xbd\xeaR\xe7\xbc\x83\x01~\xbd\xd1\xe8\x0f=}H\xf6=Z\xef\xf2\xbdJ>\x19\xbe\x9f\xf8\xfa=\x95\xd6\xae=\x1b\x0c0=\xf6\x05\x18\xbek^\xd3\xba"\x8a\xe8<\x0b;\xa3=7C\xec\xbd\x86Y\x02\xbd"\x00{\xbd/\x10O<\xac\xe3\x15<\xd7\x1fJ=*\x9d\xcf\xbcB\xb6\x93\xbd\xaa\xd1\xd8\xbb\x9c.\x80<\xdb\xc8A=j8\xa7\xbd\xd6Kj<\xe9\xb1\xed<\x08\x02\x90\xbb\xe7\xaa+<\xd8%@\xbd"8\x03\xbdht\xe7;\xd9\x9d\xb9;\xb2\x8e\xfc<\x12\xdc\x85\xbd\xfe\xfd\x93\xbch\xbb\x9b<\xad\x92\xfd\xbb:\xec\x14=\xc0G\xc1\xbd\xdf\xed\xe4\xbc\x9f\t\x89<\xf13\xb1\xbd%\xf51\xbd\xfc0\xda\xbcP\xb5\x07=z\xfdD<\xc6\x82\x89\xbdVK\xa0;M\xf5\xa3\xbcY\xe8\x8b\xbc\xfb?+=\x90\xa1X\xbd\xea\xf1\xa5<\xe6\xc4\x08<\xb0)\xee\xbd\x84\xe2h<\x9a{D>Yv\xbd==%\xdf\xbcj\xa3k\xbd\xab}z<\xde\xee\xc9=\x11\x14\xe2=\xb0{\xa8\xbdO\xa1\x03\xbe\xd3Q\x8b\xbd\x86\x90->2A\xee=\x07\xefG\xbd\xe9\xd4\xee\xbd\xe1\x8b\xbd\xbd^\x8c\xe5=#\x9e\x1f>\x84\x8bp\xbd\xce\xc7\x89\xbd\x9a\x14\xa3\xbdg\x98Y>*\xf6\'>g\xc9{\xbd>F\x1c\xbe\x9b\xd3\xb8\xbd\x9b\xaf\xc2=j{\x15>+{\x07\xbe\x83Ax\xbdS\xb8!\xbeXOF=\x91\x0cR>-\x82j\xbeu\x1e\x82\xbd\xfc\xa1\x1f\xbei\xa6\xf2\xbc\x82\x97I>\r\xfc\xd4\xbd\x8f\x1a\xb4<\xc1y$\xbc\x91\x83\xac\xbbC<,=\x1f\x803\xbe\xc5\xa8\x85\xbd\x88\x03\xbe\xbd\xe7Es=iQ\xbc=\xda\xeam\xbdyr\xc8<\x12\x92,\xbd\xd9\x86(=\xc4\xfa#=f\x7f\x90\xbe\xbc\xc0\x95=.\xb5\x96\xbd\xe8%\x15\xbe\x1c?\x0e\xbdy\xf2o;\x01\xf6\x8a\xbd\xcco\x81\xbde\xfa$<\x84t7>\x84A\x83\xbbb\xcbg\xbd\xeb\x05\xbc<\xcd3\xc6=\xb2\xc0a\xbc5O\x11=\x1et\xb8\xbd&\xc59=\x93!\xba\xbd[\x0f\x04>9\x8f1=.\x0c\xee==/\xd2=;\xba\xbe=\xbc\xda\xcc<\xbdq\x0f>9\x92\xa4\xbb\xcc\xaa\x8d=\x9d\xdd\x80=\x88\x8d$>c\xa27\xbd#F\xce\xbd+\xb7\x8d=N_\x03=\t\xc5\x9d=\xab\x0e\xd5\xbd\x1c\x1f\xec=\xd9\xb4\xdb\xbcE&\x19\xbc\x99\x08\xb1=\xa0)\xaa\xbd.\x8f\xb0\xbd\xdb[\x18>\x12\xf1\xcf=\xc0\x06\x1e\xbdo\x8e\x14\xbd\n\xee\x86;\xff\r\r>c\xc9\xf0\xbd\xcd\x9b\xaa=h\x1e\x8e\xbd\xf2\xaf\x89\xbc\x81\xfc"=B\xe6\x13\xbb\xfe\x8e\t=\xad];\xbd4\xef\xb9\xbc\xa3ps<\x83\x13~:\x96wk=\x919\x8d\xbe,Md>\xc8\xc9\xbf\xbd\x1d\x94\x9e\xbd\x0c\x8fD\xbd\xcf\xe5\xc9\xbd\x17\xf8\x87\xbc\xe0\xd9\x95\xbc\xff\xb4Z\xbd\x80%\x7f\xbd\\w\x9d\xbd\xb8\x0f<\xbc\x1c=5\x0cev\xbdb\xfc<\xbd\xa0\xa2\xf9<\xa3\x11\x02\xbe\x15\xf8\xdf\xbc\xdcf\x9d\xbd%G\x86=\x0f\xd7\xb4=c\r\xc0\xbd\xf4\xf9\n=p\t\x83T\x11\xe4=\xb2\xab\x87=,\x19\xd2\xbcQ\x9f.\xbe#a\xfa=mR\x1b\xbd\xd4\x83]\x19\xbe|\x87\x04\xbe\xb4?\xcc=\xd7~\xae\xbd\x93\xf7\xe8\xbb\xc7\xfe\xa1=\xbcH\x0b\xbevk\xc6\xbcs\x8f\x0f<\x0b\xb9!=\xd9\x04\xdb\xbd\xce\xa9\xc3\xbc\xc7Di\xbd\x14\x17\x11<\x1b\x85\xf5\xbc\x99vP=\x8d\xeao\xbdl\x95\x9e\xbdW`b\xbc\x7f\x87g=\x00\x11\xb0\xbb:\x0f\xd1\xbdhW\x9d\xbd\x0e_%:\xca\xf3@;\xb4\xf8\x17\xbd!\x19\xc9\xbd\xb7\xc1X\xbd\xbd\x98\xbc\xbd\xac\x15\xdb\xbc\x19\xe4\xcb=j\'\xa6\xbdO\xa8k=0\x1d\x9f\xbc#\x0c\x81=>\xd2\xbb\xbb\xf0\xce\r\xbe\x80\x15\x85=\xc2\xefV\xbb3\xa9R=\x1f\x85\x17=\xf7\x84\x81\xbc\xdd^\xa8\xbe\xf3l~>-\x9f\xd0=\xd73\t=\xa1\xbf<\xbd\x8c\xd3\xaa=zgF=\x8e\xfa\x8f=\x9f\xb1\xf0\xbcS\xfe\xc7=\xac\x10\xa1=)qA>L\xab\x07=,\xa7\'=~\x94d=g^c\xbd\xaeu\xe4\x9d\xbdw\xbd\xc8\x86g\xbdF\x02\xb5;(\xd13>\xe4\xe9\xb8=XX"\xbc\xe4\xb1\xcc\xbdA\xef\xb1\xbc#\x1c5=qIx=t\xac\xc2=\xddB\xd9\xbdt\xac\x89\xbd\x86\x93\x94=\xbbq\t>ZKx\xbc~\x14\xb8\xbd\xa9o@\xbd\xd5\x88\x8a\t\x1e\xd3\xbd\xff\x8b\x01\xbe\xb0\xde\xf3\xbc\xbc\x01\x86=\x87\x84\x9d\xbd\xc2`H\xbd\xb1JU\xbdI\xf8\xb8<\xe2G\xac=Q\xd2\xa6\xbc\xd1\xc6\x00<\x0cl6\xbd\xe2G\x04=\xba&\x08=p~H7\xb1\x84\x81\xbdk`\x07\xbe\x15\xc7\x9a\xbd\x8d],<\xa0\x1f$;\xd8\xd8\x0b\xbe\xaa1\x1b=,\xd8\x00=\x1a#\x18=\n9\x12\xbe\xf2\xc2+\xbd~v\x9b\xbc\x83#d\xba\xd3\x1cp\xbd\x0b\xd0\x80\xbc\xa1\x18$\xbd\xfe\x15\x11\xbev\x96&<:R\xb5=\xf6\x03\x87=\x8d\x8a\x93\xbc_\x0e}\xbd\xc6z\x14<_\x0fa \x87=I\xa5b;\x828\x8a\xbd\x13\xf5\x89;Y\xe5\x87\xbcI\x05\x9e=\x9d\x92\x03>I\x02\xb9\xbd\x8d04\xbd3p\x95\xbcH\xdb\xc0= v\xd1:\x9b\x02\xdb\xbd\x1d?\xb7<\xfe\xc3\x88\xbd\x91\xf3)\xbd\xd4\x03\x83<\xb50\x8f\xbdg\x02,T\x01?=+\x81\xb9\xbd\x8f"5\xbd\xa9U\xf7<9,\xc1=@\x9e\xbe\xbcfT\x9c\xbc\xed\x14\x17\xbc)\xbb\x1f>\xce\xc9\'\xbb\xf8\n[<@\x9a\xe9\xbb\x1a\xf2\x11<\x08\x9e\xaa\xbc\x9f\x82\xa7<\xb3\xd9\x1a=`\xec\xa0\xbd<\xbc/\xbc\x91\xbb\x15>\xc0!\x99<\xcc&\xd4\xbd\x1e\xac!=^\xadM=\xab\x86\xaf\xbc\x1e!\xef\xbc\xdd78\xbd\xe7\xb5v\xbc\xe8\x1b\x88=#\xd4_=\xf5,\x9b\xbdQ\x94\xe3\xbc\xe8g%=W\x83U=[e\xc3\xbc\x15a\x05;\xc8\xb9\x94\xbd\xd9\x89\x93;{\xd9\xa5=\x8d\xeb\x98\xbc\x806o\xbd\x00R\xa8\xbb&4\x10<5\'\xc4<\xdf\xc3\xf3\xb0l\x02<\xcf\'\x12\xbd\xb5\xb0G=\xa3&\x96<\x12>\xa9;\x00z\x88<\xc6\x94\xa2\xbd\xbae\xe4\xbb\xd2)\xbf\xbb\xf7\xef\x85=@I\x97<\x82w\x88\xbb\xc1M\x00\xbe\xddw\xb3\xbc2\xeb(=\xa1\xaf4\xbc\xf0\'\xe0\xbd2Qb\xbd\xbc\x9e\xcd;\xbe\xa3\x02>\xca;#\xben\xb1\x82\xbdM\xaa\x02;\x84s\xc6\xba@\xc9\xba=O{\xe8<\x874\xfe\xbb\x1d\x96\x8f=\xf6\x97\x8f= n\x1f>\xfb\x0f\xc6=\xcc\x90\xf9\xbc\xbfi\x00=\xf5\x8b\xf3<\xd11\x83;1\xd4\x0b=\xe8r\x89;\xb3\xa67s\x972>\xc3\xe7,/\na\xbd\xd9v\xb7\xbc\xa9+\x1e\xbcw"\xf1\xbd\x03\xbc\x9d\xbd\xc92\x10;\x16\x92\r>$;\x8f\xbd\xabX\xd9\xbdM\xd1\xff\xbdE7\x11>\x803\x01>j\x07\x1a\xbd^\xc6\xdd\xbb\xd0\xa4g\xbdt[\'=\xbb\x95)=X\x82J=\x01 \xe2\xbd\xadHJ=\xe1\x9f\x84=:\xb0\x1b>mS\xdb\xbd`B\x94\xbcI\xe71\xbd\x89\x88\x18=b\x87\x89=\xb0\x90n\xbd-\xd6\x86\xbd\xa6?\x82\xbb\x9b\xda\x88=TvC\xbc\x90@\xa1\xbc|\xf4\\\xbd\xdb\x1d\x8d\xbd\x19\xda\x11=\xe0A\xed=\xb2m_\xbd\\h\x16\xbd\xfa\x08G<\xaa\x94\x9f\xbc\xcd\xb3\xb9\xbc\xdc\xcd\xb4\xbd\x1a\x97\x1b;\x1f\x0f\xb0<\x060x=}3\x1c\xbd0/\xef\xbd\x05@1\xbdp\xbd,<\xf6\xdd\xfc=%\xeeX=[\x07\x13\xbd\x80\xa1\x08=\x96Q\xe4<\xc0\xc8\xe4;\x93\x84\xc8;{\x83\xc3\xbd\xa0\x8e\xcd\xbdw\x93\xcf\xbc\x93Z^\xbd\rg\xa3\xbc\xcf\x97\x85\xbdq\x90\xe8\xbbr\x98\xbe;\xb32\xdf<\x14e\x02\xbc\xebF!\xbd\x0e"\xd4\xbc\x1ev\x0b=\x96\x18\xbd<\xe2)\x17\xbc\x07{j\xbd9\x85\xd3\xbd\x1a\x16\xf9\xbd\x1d\xea\xb8=\xfejj>\x0bw\'\xbc\x81\xd7\xf4\xbd\x91\xc5\'\xbd\x01\x10\xeb;\xbe\xa4@>\xbd\x15g\xbd\\\xc40\xbd\x8f\xdb\xe7\xbb\xcfW\xa7\xbcz<\x89=\xda\x8a\xce\xbd\x9b\xd7"\x9a\'8\xbd=\x1e\x91\xbc]\xac}<\xb5\x8f!>\xf9\xb5\x80=4\x95G\xba\xc8R5;4y7<\x91\\\xd0<\xb3\xaa\xc3;\x86\x8b\xba\xbd\x80\x8e\x1b\xbcl\xe4$\xbd\xb3[\x94\xbcS\x0f\x18=PP\x9a\xbbU\xd4\x8d\xbb$\x98\x11=\x10{\xee=B@\x03>\xb7\r\xa1< \x15\xa2\xbd\x0e\xdc\xfd<\xe4d\xa0<>p\xb3=\x92`\xd6\xbd\xefr\xb1\xbdN07\xbcH\x99\x1f>\x80\xb9\x97\xbb\x1a\xbc\xe2\xbc\xac\xd3\x8c\xbc\x97Ah;\x961\xab=\x84\x93\xa99K\x1c\x1b\xbdJ\xb2n<\x98\x81\xce<\xa5X\x04=r\x90\x16=\x0bX\x07\xbe\x9e\xb2\t\xbd\x1c\n\xd8\xbc]\x984>\x83\xc3+=)X:\xbdiz\xc1<\x1cP9=\xba\x97\x0c=\x07S\xdd\xbc\x837\x1b\xbd\xcd\xec\x88<6\xfe\r=j\x80P\xba\x8c\xefS\xbc\xb63c\xbd\xc2\x08\xb3<\xaal\xa9\x91\x03\x7f=\xa0`\xc3\xbb{\x01\x99=\xd5\xf4\xe6=\x9e\x1f\x90=\xe7\xc6F;\x1b3^\xbd\xcc\\w=L\x9e!=\xd4\x90==\rt\xd3;\x1d\xde\xf1\xbc1\xb7\xa4\xbd2f\\<\xc9X\xd5=\x92\x94!=[\xbew\xbd(.R\xbd\xf0\xaf?=,L\xf2<\xa0\xb6\xb1<"\x9d|\xbd\xf7\xbf\x02\xbe\xac\x06\x0b>-\xb0\x83=CT8=\x1c\xaa\xd2\xbd\xa9\xeb\x88;k]x<\xb0\xb1\x9b;\xca\xe3\xb6<\xa4=\xb5\xbd\xbd9\x14\xbd\x94Y\r=]\xc4M=\xb7WE\xbd\x12\x9f\xd8\xbc\x85\xec\xbd<\xa3\xb3_\xa7\xbc\x1cje\xbb\xca\xee\xc1;nG\xa996@2=)\xad4\xbd\xc6\xb0\xf3\xbc\x1eQ\xb5<\xa6\xe4\xa9\xbc\xf8c2\xbd\xfd\xf6\r\xbd75}\xbd\x99\xb4\xdc\xbc\xd9\xc9\xee;\xfe\xfc\xbf=\x00\xcej\xbd8\xa48=s\x83\xf9<\xb2\xbdt\xba\xf7\x96"\xbd\xb6\xef\t\xbd\x87\xc1\xfc\xbc\xed=\x91<\xb8\xbc\xee<~\xb5\xda\xbc\xdc\xa45\xb9\x19=\xe7\xbd\x9e\xe16\xbd#\x1a\x11\xbd\xf8\x1dT>\x18\xdai\xbd\x1b\r\x95\xbd\xa7\x0c\xe4;\xe0/\xff\xbb\xf4\xf0\x96\xbc*8\x9c\xbd~\x02\x02\xbdOj\x18=\xcd\xa8\xcb<\xea\xe8\x9b\xbc@\xb8\xeb\xbd\x9eE\x0b>\xa3t\x91\x00\xee1=\xdd\xd6\xc6<\xad\x9c+\xbdzJ0=,\xeb\xee=\xe1\xad\x90=\xdb\x08\x9a\xb8\xe1\x19V;$\x93\xbc\xbc\xect\x97\xbb\nt\x98=)\xc0\xab=\xf1\x10\xe2<\xdc\xacC\xbdW\xe5s\xbc~Q\xfe\xbb/\xe9\xdd=\xe4y\xac=-r\x81=@\xf9\x87=\x0cA\xfd=A\xeb\xba=\xff#\x02=\xc3\xeb\xb8=u\xd9\xf1=Az\x11>\xa9\x98\x9a==f\x95=\xf0\xc9\xc9=\xc9\xbaq=\xd6\x0b\xaa=\xd6\xb8==\xa2\xd07=C/>\xbd\x0b\x8e{\xbcA\x87H<\xa1\x0cB=o\x9a\x02=\xea\xb9p\xbd\xbc\xdf\xd8\xbc\x94v\x13<\x02I~<\x8c\x8c\x04\xbd3\xfa\x15\xbd!\x88\x8d\xbd&\xa9\x06\xbcW3\xab;\x8b\xb6\xad<\x91\xf7\xba\xbd\xb3\xf5d\xbc\x82\xeb\xf6\xbcD\xf5H\xbc\x97\xf4\xb0\xbd\x02\xe6\xc2\xbdm\x1dV\xbdn{\x1e\xbd\xb4U+\xbc\x7f\x81\x9c\xbc\x08\xfb\xde\xbc\xee~\x9f\xbd\x91\xa2\x82<\xa2\xfa\xfb=\x19\x90\xbb;\xb3\x8a\xef\xbc\xc4X\x15\xbd\'\xe9\t=?z.\xbd\xee\xd8\xa1=r\xab\xd9\xbc\x98\x97\xb5:\xa34\x81EI\xbd\xbd\x10\x97w\xbd\xef\x1ei\xbd\xff\x831\xbc4h\xfc;\xf3\xb8\xd5<"z\xb3\xbcL\xa6\xaf\xbb\xf6"\x04\xbd\xce\xa0\xd2\xbcD\xb1\x89\xbc\xfe,\x8d\xbd\x95\xcb0=v\xfb\x8c;\xe0r!\xb4\x9f\xf7<&\xe2\x12\xbd\xde\xb5\x1f\xbd}=.=\xd3\xb6\xb5\xbdW\x948\xbd\x1a\xb9\x9d\xbb\xf36\xa0\xba\x1f\xdb\x13=J\x1a\xd2<\x13\xba\\<\xa5:X\xbdJ\x8c\xa9=\xdd\xcd\x0c\xbd\xcd\x98\x0b\xbd\xb3\x0f\x05=jrS<\xbaI.\xbb\xd3>\xcf\xbd\xea\'\xcc\xbc.J\xc5<<\xa3T=\x98\t\x82=!N-\xbd\x0e\xddt\xbd\xda\x8c\xdf=\x90\x82\x19\xc2\x8f\x99\xbd\xef\xa9(:<\xb8\xc0\xbd\xfbE\x80=\x18XM<\x1a\xd1w\xbd\x896\x9e=\xaa\xe7\x83\xbd\xee{\x01\xbdH\xae\x86\xbc0\xe2I\xbd\x14A\xc1=\xe2\x1f6<\x82\xd4\xda<\xe3\xc9"=4\xe2\xca<\t\xfc\xe8<\xae)\x17\xbb\x81\x90\x16=)\xbe\x0e={\x84 <\x95J\x1b=\xd8YG\xbd\x04^\n\xbd\xbe\xcc\n=*(v\xbb\x0ck\x94\xbc\xb80\xd6\xbdt\xb2\xdb<\xdc\xfa\x1b=\x18\x86\xe6;\xcf\x8e\x18\xbdP\xda\x96;\xc6\xc4\x1c<\x94\x82\x12\xbd\xa5\x0f\xf4<\xc4\xfb\x17=\xc8\x06\x91\xbd\xaa\x97)\xbdg\xc8H\xd9y\x00>W\xb8\xb6<\x0b \x8e\xbdWq\x9c;\xf0\xf8\xaa<"\xba\x00>\xba\x19\xdb\xbd\xee]\x86;\xe0{.\xba\x8b\x04E=\xe76m\xbc\xbcT\xa6\xba\xa1i\xa3<>Lf<*\xae\x9b<\\Q\xae\xbc\xed;h\xbd}\xd7\xaa\xbd\xfe\xbc&=\x96l\xeb=\x07\xf4\x97=\xda\xd3P;v\xea\xf7:\xd9l\x08\xbd\xa2\x81\xa3\xbc\x05\x003=\xeah\x08\xbd\xd2\xcb?\xbb\xa1\x89\xeb\xbc\x9a|\xfd\xbdT\xbb\x8b[\x14=k~G\xbd\xc7M\xec\x15B\x99;(\xda6=\xe8Y\x9a<^\x9ed={\x7f\x80=j\x80\xdf=\xbb\x9e\xc4=M\x0e6\xbd\xb0\xa7\xae\xbd>\xe3f=\x8du"=`\xc8\xdb7\xbf\xae\x8d==\x89\x1a\xbd(\x84\xda\xbbe\xbdb=N\tC\xbd\xa0\xe6\x96\xbb/\x1b\xb4\xbd0\x1c\xf8\xbd\xe3\x14\x9d=\xa3&\x9d\xbc\x1cT\x18<\xac\r\x83\xbd\x8b5\x8f\xbd\xb7t\xa5;^\xdb\x14>A\x9c-\xbc\xaa\xb6\xc8\xbd\xf4\xe6\x1a\xbd\xb1\xa1\x9f\xbb\xe0cl=\\\xdaC<\x0c0\xaa\xbd\xfaZ\xa3;,B\xd8;\x1a\xb6";4;\x0c\xba\x0c\xdc\xb5\xbd\x9cC\x89\xbb\x89&a\xbc\xf5gS=@9\xca\x03\x06\x84\xbc\xf33\x84\xbc\xcd(\x97\xbd\xbaH\x1e\xbd \xccE>\x1a\x04\x19\xbd$\x98\xa2;\xbd\x97\xeb\xbc\xe9\n#\xbe\xe0\xc8c=\x00\x90\x19\xb7\xba\xcf\xb0\xbb\xe9\x018\xbdH\x17\xf2\xbd\xf0$N>|\xfaD=\xa2\x87n=\x83\xc0\xce\xbdg?\x99<\x8a\r1=a"\xbf=I\x88\xaa\xbd\x96\x08\x07=R6K=,\xf0\xcd=z7\xf8<\x1cd\x01>\xccz\x03\xbdD\x1f\x1d=\x85\x88B=\x16!K=\xe0K\x92<\x1aw\xf5\xbdJy\x03=\x18^\xbd<(\x83\xbc=xE\x85\xbdX\x97\x85\xbd{{\xfc\xbc\x8e\xa7W\xbce@\x15=CX\x02<\xe0\xf6\xf0\xbc\xb3\xdbL\xbc]\x8a\x99=\x932\xa4<\xbc\xeej<\xb5_4\xbd\xc4B\x1dC<\xe1\xd7E\xbd\xf4\xec&\xbcv\xa7(<\xb5\xbb\xc2\xbb\x1c\xd8r=\xbe\xa9$\xbd\xbbM\x93\xbc\x95\xb0\x0f=A\xee\xd7:\x10"\xed\xbc\xbc\xe3\xed<\xc5\x9c\x19=\x01h\x05\xbd\xc2x\xab<\xfe\xb0\t=\x17\xd2X\xbc\x07\x06\xcf\xbbP\xc7&\xbc\x17\xc3H<\xc8\x06~\xbb0\x9d\xca\xbc?\x08\t\xbdB\x0bg\xba\x7fw\x0f=\xcb\xe9\xf8;\xc8h(\xbd\xce\xcdu\xbc}D\xd6\xbc\xe6O$=9mkw\x91\x17>\xed\xeci\xbc\x94\xc0\xa4<\x05\xfe\xe1\xbcQ\x87\x8b<\xec\x17\xc4\xbc\xe6\xb7\x9f\xbc5\x96g\xbd\xc8\x06/=w\xcd\n=\x8c\x8c\x10=e\x9e\x9d;7\x82\xa2<\x99\xfd\xe4\xbc\x082\xb5:@\xa3\xa6<\xa0\xc1\x80\xbd\xb7\x91d\xbd\xa0\x08\n\xbe\x05+\xc3=Xg\xac=n(\xf4\xbc\x0f\xca7<\x93V\xb5\xbc\xbe\x04\xf4;TZ =\xc1\x00\x16\xbd\x04\xfe^\xbc\xd6\x83\x9b\xbc\xccZ\xf1<\x98\xe4\xaf\xec*#<\t\xa8\x1f=\xdft\xc1\xbc\xc0\xc9%\xbd=\xc42=\x11i\x92<\xda\x95\x8f\xbc\xdd\xe6\x87\xbc\x13\xaf\n=\x9c\xc2\x08\xbd\xaf\xd3\xac\xbd\xa5\xa2\x16\xbc\x0es\':_\xd5h=0\x9e\x8e=d\xd6\xf2\xbc\x17#\xa9\xbdd\xa4s\xbcB\x08g<" \x9c=\xb3\xb1\x1e\xbd\xcc}lE,\x92\xbd1\xfaU\xbd\x1aD\xe8p\x85\xc6;,\xc7\xcf\xbcW4p\xbc\xcd\xfd\xf4\xbc\x86\xda\x14<)\xec-\xbd\x1a\xa9\xdf:\x9aF{<\xd0\xd9\x0b=(\xb2\xcc\xbc\x1aLG\xbd\x9e\x88j\xbd\xef\xcc)\xbdr]\x9c=\xe7)\xaa=5\x1e\xc8\xbc\x12!\xc4\xbc\xad\x95+=\x01S\xff\xbcL\x00p;s%\xcf\xbd\x89\x8ax\xbdM\x94\xf0\xbc\xf4\xb2\xed=B\xf6\xc3=\xae\x07!\xbd\x9c\xb5\xc7<\x8c2n\xbb\xf4\xa7\x00=R\xe3\x82\xb8h\x17\xbd-\xa9 \xbdz/\x06=\xf2x\xaa\xbc\xa4l\xa7;"\xd8\x94\xbdN\xa72<\x86\x1fU\xbc\xc3\x88\xa2\xbb\x92\x82\x05\xbc\x04\xfc\xd9S\x82X\xbc\xdbi#\xbd\xfcf\xee\xba\xbaH\xb2<\x96\xbbN\xbc\x87\x8a\x17\xbd\xdag\xee\xbc\x8ew\'=\x1c\xa3\x829\xebA\x87=\n\xcf\xa8\xbd\xac\x1ck={\xeb\x96<95\xb6\xbc\xc7v\x8b\xbd\xf4{!\xbdK\xd5b\xa2\xe8z<\xde\x18Z=8\x12P\xbd\xd4\x8aB\xbd\x06\xec\x05<\xfeb\xdd=\x8c\xa4\xc5\xc6g\xbd\x95\xff\x8f=\xee\xaa\xd8\xbc\xac\xe2Z;(7\x80\xbd-\x99\xe5\xbcT\xb5\x0e<}\xb9\x19=Q[c\xbbk\xf6B\xbd\xd5\xd4\xcf;j\xfa\r=\x8a\x88K=I\xc4\x9c<\xc9\xcb_\xbd\xf9\x13\x01\xbd!\x03\r=kl\xa6=x\xc4\xa5\xbb%\x1c\x90<\x8a\x88\r=\x87\x12\xa0:\x8c)\x17\xbd\x91\x91\xe5<"W\x11\xbb\xdbY\x88\xbc\xfb\x9e\x1b\xbd\x9dp\xbb=\xcb\xca\xa8=ic|\xbd\x98/\xc5\xbc\xe8\xb1e:n\xe3&=\xa0x\xdd=\xeb\xa8~\xbd\xdbDS\xbc\xb2\x02\x18=x\xd87=>\xdfA\xbc\xca\xd8\x9f\xbc\x9d\xba\x9a\xbc|M\xd8\xbc5k!=\xadK\x08\xbc\x9c\xdb\x1e\xbc\xa5\xff\xfb\xbc/\xb9 \xbb\xe9\x97\x94<\xaf\xcf\xd0\xbc\xaf\xa1\xad\xbd~\x86w=\x7f\xac==\xd6\n\x97\xbbI\xcb\x86\xbd\xb9d\xa8\xbdC\x9b\x80\xbc\xd1\xca5\xbcA\x95\xea\xbc\xf3\x1d\x19\xbd\xfe\xf09=\xc1\'\x1c\xbc\xe2\x85\x01=\xa1\xa1\r;6(\xfa:\xe4R\xba; \xfe\xbc<\xa3\x15\x0b=r\x02\xd1,\xbdJ\xee\x9c\xbc\xfc\xd5\x03=\x9do\xcd<@b\x03\xbc5\x13S\xbcu\x8d\xaf\xbdm\xef\xd0=\x81}k\xbd\x89\xba\x8b\xbc\xd3\x9f\xed\xbc\x14W\xd6\xbc\xad\x9dz\xbc\xf0\x14\x9d\xbc\xecb\xdd9v\xec\x84\xbcfx\xed\xbc|\xd0M\xbc$\t\x86<\xbc&\xc9;\x1cY\'\xbd\x93\xc8H\xbe\xf5\xbf\xc4=\xebs\xa0\xbc\x95\xd9\xff\x1e\xd7\x9b\xbc\xdc\x05\x08<\xf0\xf9\xea\x8b5\x15>\x1dt->\x82\x12s=\x81\x896=Y\x14\xc0\xbc\x17\xf7f=\x0b\xa8\x93=\xf1\xc0s=i\xd6\x8b=W\x1c:\x98=\x0fG\xba\xbcRD\xf9;\x83N\x03=\xfc\xc9\x8f\xbc\x1dC\xa8\xbbI)U=\xd3N\xd6<\x1126=\xd2C\x84\xbc\xad\x90\xf1=$\xcd\x9a\xbcv\x9b\x0f=\xacT\x05<\x8f\xf1H<\x9d\xb3m\xbc\x1b\x91\xec;p\xb6c\xbc\xcc\x87\xb3\xa8\xd5Y\xbd\xd8\xd0\x07\xbd\xb1>\xb9\xbd\xe8cE\xbd\x8c\xe9\xebW\xbd\x95\xae\xbc\xbc\xa8\xd3\xcc<\x8f\xa3\x16>V\xc2$=\xd7\xcd\xd8\xbdq"\xbd\xbb\xdel@=q\x0b9=\xbeJ\xdb\xbd\xf777\xbd}wX\xbc\x1f3\x80<\xdd9\xe3:\xdd\xbbm=\xe7P\x0e\xbd\x88\xfe\xb6\xbd8w\x84;#\xc4\x1c\xbc\xa9\xe5\x04=\xad\xb6\xa7\xbdH\xbeg\xbc\xf5\x05\xa6=c\xbd+\xbd\xe3\x92\xd0\xbc\x1b\x18@\xbdtS\xf6\xbc\xf2\x84\x80\xbd((}\xbd\xc4m#\xbd\x19\x06)\xbd\xf5u\xa4\xbc\x18%\x87<\xbd\xdcp<-&?=f\xb1\xd7\xbcC\x7f\xd4\xbbd\x07H\xbaW%\x13=:\xc3\xb5\xbc\x10EN;\xe6\x17\x9d\xbc\x12%\xc4\xbb\x14\x96F<\x81N\xabZ\x08<\xc45\x08<%5[=\x96_P\xbb\xdb\x1e\x87\xbb[\x88\xd1\xbb\xae\x9b8\xbc!)!=\x0f$_\xbcL9`\xbc\xc3\x1a\x83\xbc\xb6\x9e\x86<\xcc\\\xd2<\xf2V\x14\xbc*\x8b5\xbd\x02\xb0\xaf\xbb\x17\xe4\xb8\xba\xe9\x1b\xa2\xbc\xca\xed\xed\xbc?\x90\xc4<6\n)=K\x1cC<,,,\xbc5;\xa3\xbd\x9b(;\xbd\xa4\xb5\x9b\xbc\xa7r\x06\xba\xa9R)<\xec\x9d7\xbc$q\x08\xbd\x1d\xe7\xf9<\x98\xee<=i\x15\xd6<\xcd \xa8\xbcB,\xc9\xbc=$E;\xbc\xa2\xeb<\xf35\x7f\xbc&\x8d\x85\xbc\xa6C\xb7\xbb\xa1\x0c\xfd<,"\x92\xbbpk\xcf=\xb4\xd5\x96\xbaGO\xec\xbcw\xf7\xb2<6a\xb0\xbc\xfdvS=\xe3\xa8Y\xbd9WF\xbd\xbe\xb6^=\xef\x15N>\x16\x07\xd8=\x7f!9\xbd\x11\xa2\x0c\xbdb\xd9&;\xee\xd5\xde;\xff_.<\x00\x1e\xd2\xbd\x0cm\xf6<\xc9\x07[=\xb3\xd0\xd1=Q\xac\xec\xbd\xc0\x02P\xbd\x85\xee\xa6\xbd\xe6\x13j=\x03U\x95=\xb8P\xb2<\x14~\x16;\xe2\x9a\xb7\xbcA$j\xbb\xb5\x01+-\xa6\x94=R\x99\xa7=\x89\xe9R=\xe6\xf8b=\xa1^\x13>x@(>&U\xc4\xbb\x10\xee\xd59\xb9u\x07\xbd\x05\xdc\x18;.Z\xc7\x9c9\xab\x87;=\xc6\x8eg\xbd\x18\xca\xd4<@O\'=\x878X=\xf0\x1c\xd0\xa2M\xbc,u\x82<`\xa3L\xbc\x11u\x81;\xe3x\xe9\xbd\x1f\xaeL<\x0734\xbb\x92\xda5=>\xce\xf2\xbc\x86\x94\x11\xbdN\xba\x16\xbd\xcb\x9d\x12=\t\xed\x03<\xec@E\xbc\xd3\xcf\r\xbb\x04\xfc\x15<\x1e9D\xbcL\xf6\xf2<\x9e\x0b\x90<\xe6\x194\xbd\xce\xed\x91\xba\xcaj\x0b\xbd)\xf9\xc0<\xaf=\xbd\xbb\xe6\xfc\xf8\xbaol\xdd\xbc\xf2\xcfz=\xceZ\xe4\xc7`\x15\xbd\xc1|j\xbdG\x9fQ<\xc5\xc7L=\xa4\xd9@=\xb4\xf1\xc9\xba\'\x01\x17\xbdY\xdd#\xba\xa1\xff\x10=&TX=F1\x96\xbd\xbd\xf6>\xbd\xef\xb2\x80=7dU\xbd\xbb\xed\xe2<\x7f\xd6\x82\xbc\x83\x02|\xbc\xf0g1=\x96@B<\xf7H\xa4;`\x83\xe2;\xd2\xbd\x9b\xbd-\xd2W\xbd\xe2\xf70=\xed\x16\xb0=\xe7-[\xbc0\xda\t\xbd\xb1\x14\x99\xbc\x9bn\x0c=\xdc\xc3\xa7\xbb\xd3Y\xb1\xbdn\xc7\x8a<\xbe$d:\xd5\xc3\xde;\xab\xb3%\xbd\xd2v\xf9\xbb\x05R\x9f\xcd\xd5=\x86v\x04>\xe2\x8b\xc4\xbcP\x88\xdd\xbc\xd7\xe9\t=>\xbfk\xba-\xecv\xbclI\x9e\xbc\x87f\x86\xbd\xf9}\xf7\x96\x9c\x11>>$\x88\xbc\xb7\xaf`<\xaf\xea\xa6<\x01V\xe0\xbc\xc5\x9d"<\x07\x96\x16\xbd\xa7\xefS\xbdh\x03Y=\xc0\xcd\xb9=\t\x1b\x9d=)`\x93\xbc\x85\x90\xf7\xbc\xa8\xe8e\xbc\xf5H\x9a\x10=\xf0\xe4\xb69\xe0d\xd1\xbc&B\xd8\xba\x8a\xef\xa8\xbc.\x054=\xd3\x85\xc3\xbc\x98*\xa9\xbd\x03\xaf\xcf=\x06\xf7\x83=m\xc2Y=\xf2]\x82\xbco\x8e\xf5<\x1f\x12\xdd\x99\xb4\x87\xbd\xa9\x00\x15;\xc1\x1c\x9e\xbc\xc3K\x07\xbd\xd0P%>\xbe\'\x82\xbd\r\xba\xd8\xbck\xf9\xb2<\x9f\xd7<\xbd\xa6m\x82\xbcp\xa8\xe0\xbaM\xbf\xb2\xbc\x1a\xcbo\xbc\n}\x81=\x82\x98\x9b<\x96\x1a\x9c\xbd\xe4\x0c\x95;\x17\xd3\x16\xbd{\x16\xc7\xbc\xa4|\x84\xbc\x8e\xb1J=\x06\xc4f=\xcao\xcb\xbc\x83\x8d\x1b\xbe\x139\x86=\x96g\x0b\xbc\xbest\xbb\xc4\xf0\xb1\xbc\x8c^\x0f\xbd<\xd6\xdf<\xdf\x14\xee\xbc=\x12\x9a;\xfap\xc8\xbc\xf5\xdf\x03<\x90\xff\xdb;\x7f\xce\xed<\xd1Hw\xbcvIB\xbe\xce\xb3\x00>\x9c20=\x1f\xca\xb8\xbd\x94n\xe2\xbc\x0e@O\xbb\x9dK\xdd<\x93\xa3\x8b\xbc\xe7.\x98<\xa9\xe3\xbe<\xb8J\x8e:| o\xbd\r\x99\x95<\x87\xde\x11>5M}=jm\xea\xbcT\xf2\x89\xbd\xc6u\xa5<\xffx\xae=\x11v\xbc=F\x82>\xbdm\xad\xcb;\x01\xe0\xfc\xbcr\xde\xab:Hu\x97\xbb\x8e\\\x8e\xbd\xe4\xc9\xa6\xbc\xa9\xe2\xcc=\xf7yq\xbc\x8a<\x16=\xe4\xf2\x81;By\xc8\xba!a\x80;\x8f\x88\xd7;\x98\xf1\x90\xbb\xe2\xc2\xf8;vJ\x8e9\x0f\n\xa1\xbcF,\xb9\xbb\xbc+\xb5\xbcA\xb4#\xbdB\x14\xa3\xbd\xf4\xf3\xa7=azB>\xb0\xc8\xf8;(\x05\x13\xbdq\xc1x\xbd=75\xbc0s\x18;*\x8c^=\xb9\xca,\xbc\xa7y\xe0\xb9\x9a\xbc\x0f\xbd%\xd6\xd9\xbc\x04Z4= \x9c\x93\xbc\xdc\x05t\xbd\xb2\xc2.=\xed\xe8^=\xa0\xdd$=t\xdb\x1e<\xb6\xec\x92<\x1eT+;C\xffD<\xa1\xfb\x10<&\xf7\x83:\xb8\xb4\x9b\xbb\xd8\t\x0c;\x8d`\x9e<\x867\xd8=\xd7X\x02>]\xf2\xdd<\xa8\xce-;7E\x18\xbd\x9a\x82\xa7\xbc\xee\xe4\x1b;k\x03[\xbbM\xdd\x0e\xbd+j\x927* =D\x85s\xbdBD\\\xbc\xb9%\xe6<\x11\xe0\xf6<\x17\xf2\xbd\xbb{&\x96<&,\xf0<\xc0\x8ex\xb9n\xeb\xbb\xbc6\x90\xa8\xbc4i\x91\xbc\x1bBm\xbd\x15mm=M)%=l\xfc7=\x1c\xbfP\xbc\xc4L\x05\xbegkf=(\x0e\xc7=xl\xa6=\xf1M\xd7\xbc\xeb\xe2\x0e;\xaa\xef\x81\xbco;@\xbb|\xe0\x97\xbc\xcfT\x0f\xbd \xb4>\xbd\x9c4\xd7<[\xd4\x8d\xbbA\x81\xb3\xbc\xdbE\x06\xbbz"\x0e\xbd5\xce]\xbc\xb68\xee\xbc8\x8d1\xd3\x10`\xc3=\x95&\xcd\xbc\x89H\x0e=%\x0f\x7f\xbc_T\xf5;\xf5a/=\x96(8\xbd\x9e{\xc4;:\x9e\x89<\xdf\xaf\x1a=\x08\xcb\x01=5\x0c\xc0\xbc\t\xdb\xa7I\xbc\x1a\xd2u\xbc\'\x07C\xbd\xea\xc4\x89\xbc\x9a\xdb\x9d\xbcr\xe1<;\x98y\xc1\xbc\xbf\xda\x89\xbc=\xa2\x83\x13\xbc.\x9c\xf5\x87\xee\xe6\xbd\xce~w\xbe#\x04\x19>\xa3 ~\xbd\x90\xba\x1a\xbez/\xa0>\x94bX>\xe2n\n>\xbaj\x8b\xbc2\xcac>\xa9\xf6K>\xd9\x02D\xbeB}\xce<\xaa\x14\x92>\x96?\xf8\xbd\x8b!\x94\xbe\xed\xa3D\xbe[_\\\xbeaj\xee\xbd\xe3C\r\xbe\x15\x91A>hQn=J\xf8\xa2=\x0f(\t>(80\xbe\xd58^\xbe\x95\xc9.>~\x86\x1e\xbe\x11\xc7@\xbe+\xac\x91\xbe@\x85\xf3\xbd\x93T\x93\xbdZ\tA\xbe\x887L\xbe\xc9\xc4P\xbe\xb05K\xbev\xed\xd0\xbd\xca\xab\xe9\xbd\xdd\x04\xf7\xbd\xef\xf1\x1a\xbeZ\x04\xc3=O\x96&\xbeOi\x8f\xbd\x99W\xde\xbbi0g\xbe8\x04\x82\xbe\x9fQ\xcb=\x95\xec\xb5\xbdE\xbey?\n\x89i\xbeT\xa6\x19\xbd\x1b\xee>\xbe\x93\xcf\xc1\xbd\xb1\xd7\x85\xbe\x14"\xbe>\x8f\x1e9\xbe\xdbB:>\xe6\xa8\\\xbb\x85\xbfg\xbe\x99\x03V\xbd\xfc\x1ch\xbe\x1a\x9c\xcf\xbd\xe3\xeb\x9a>\x1e$\xa1=\x98\xb4\xbe=)$\xcf\xbd\xc0\x04+\xbc\x86\xee\x97>\x98\xea\x82<>\xafk<_\xda\x91\xbe\x02XL\xbe\xe7\xf2I\xbe\t)+\xbeA\x9c\x0f\xbe\x96\x97"\xbd.\x1cI\xbe\xe2\xef\xab>5 /\xbe\x02\xd7\x06\xbc\xe3^c=I~\x8a\xbd\xf5\xb3:\xbe\x86#\x85\xbe]\xfd\xc3\xbd\x96\x8f\xaf\xbd\xb3e\x83\xbd9\xda\x93>\x98\xf2\x12\xbeD\x15\xde=$\xa8\xa3<\x9a!F\xbc\x07@\x83\xbe0`Y>\xbe\x8d\x8d>ui\xa2=V\xdc\x12?NP\x8e=8?\x1e?\x9a\x08@\xbeuQ\x0b\xbe\xdd\xd5`\xbeY\xf6U\xbe!\x8eQ\xbe\xe8\x81\x12\xbe\x1f0\xf3\xbd\xab0\x15\xbe\xcfS\x80\xbe\xbcMI\xbe\x06\x93\x8c=a^S\xbe\xac\x042\xbe\x08,\xee\xbd\xc3H&\xbe\x9c\xce2=\x8d\x11o>Yr\x98;\x1268\xbeL@-\xbe\xee.\x96>\xe2\xe3\x02\xbeC\xe6\xe7\xbcN\xa7\x95<\x90\xf2\xfa\xbd)\xf5\x04\xbdj\x81\t?j\xb1\x08\xbe\x81\xefM=\x98$\'\xbeP\xeeK\xbe\x98\x17)>r\xb5\xa8\xbd(c\x02>\x8bL\xe5=\xb1\x08#\xbcU{\'>\x9d\x8dY\xbe\xb6|2\xbe\x9c\x8d\xe1\xbd\xa9G[\xbec\x9d\x0c\xbe\x86m\x9e=\xfc75=\xa2A\x1d\xbe|7G\xbe\x06\xe6\x10\xbe\xd9\xa7\xd6\xbd\x9b9(\xbe\xfbix\xbeMU\x1e>\x7f;\xf4\xbd\x1apr=G\xe5\xa0=\xaf)\xed\xbd\xb3D\'\xbe\x06R\xe4\xbc\xc0\xfa1\xbe\xc0\x9aI\xbey6\xa9\xbdU\xf6\x07\xbd\x9bp*\xbe\xd3\x9e6\xbeF:W\xbe#y\x0f\xbe,VS\xbe\xec\xa8C\xbe\xbd\xd1\x85>\x03\xd5\xe4\xbd\xb8\x0c\xe4\xbd\xf3\tS\xbdPX\xed>A\xdd\xa4>\x9ed!?\xee\xc9\x95\xbd\xb2\xd5\x8d>\xfe\xcc\xfe\xbdq\x95\xaa=\x9d\x91\xcf=\xf3\xcd\x0b>\xe3\xff\x08?\xc91\xd6=\xde\xe9\xa3>\xed\x04\xdb\xbc!\xe3]>W\x0fB=\x18\xd9\x06>O\x0bG\xbe\xda\xd9D\xbd\x8bT\t>\x00\xf3\x8a>\xe6\xd6?\xbe\xcd\x8d^=:k\xc6=\xb9\x07\x98>\x9a\x0e1>\x88\xf8\x18>\xe2\\\xa9\xbdO\xc8\x9b<\x86\x07\r>\x8f\x0e}\xbe\x14\n\x16>\xbc\xdd\x15\xbe\x8b\x1c\x8c>\xfc\xee7\xbe)\x02\x04\xbe\xba\x08g\xbe\x94x\xb1\xbb\xa9)\x03>\xf6\xe4\x9b>\xa6Y8\xbbQ\xe3h\xbe\xec\xe5\x1c>\r\xfb\x97\xbe\xd0\x8c\xcc\xbcj\xe5->\x17xa\xbe\x96\xa7V\xbe\x8fX\x80\xbe\x87\xea\xdc\xbdIi\x1c\xbd&\xa6T>\x95\x08S\xbe\x89Q\x19\xbe\xc3\xe9v\xbe?\x15\x02<\t\xc5\xb6\xbd\xf4\x0c\xb8<\xd2\x92O\xbd%\x9b\xc6=o\xdcf\xbe\x00\xd7\xcc\xbd\xc4\x11G\xbe&\xb3\xa4<\xcb6\x89\xbe\r\xc6\x05\xbe\xc8J\x85>\x84\xe4[>FV\xd2<\x8d\xf5w\xbe&X\x94\xbe\xd6\x13\x06=`\x11\x01\xbe\xce(\xfa\xbdrb\xa5\xbd\xed\xcc7\xbe\xbd\xb2F\xbe\x85)_\xbe\x19\xaft\xbdB\x1f3>v\xc6\x01\xbe\x1d\xeaa\xbd\x9c\x8d=\xbe\xb7\x98Z\xbe\xf0\xed\x16=\x17\x1f)\xbe\xaags>\xbbR\xce>\x0f\x0b\xbc\xbdJn\r\xbe,\x92%\xbe\xdb\x1b/\xbe\x0c]x\x10\xbe\xa9\x96L=\x08\xf0\xbd<^\xe8C>\xafz\n\xbe\\\xbeB>\\\xc29<\xf5\xb23\xbe.\x0c\x0b\xbe"\xc7/\xbeI\x9b\x82\xbea(\x1a\xbe\x8c\x06S>E\xc25\xbem\x8a\xa3=\x0b\xae\x99<\x1e\x8b\xa5>\xf2\xbb\x82\xbe\xa8\x93\x10>\xab\x1cP\xbeaN\x80\xbd\xc5\xce0\xbdC$[\xbe\x06Q<\xbe\x961I>\x18\xed\xc3\xbd<\x9c9\xbe\xf0\xe8M\xbd\xac\x02\x8b<\xf7P\x1d\xbe\x1b\xc2^>=\x08,\xbe(UA>\x84C\xd2\xbd\xb2\xb8$\xbe\xb8\x11\xa8\xbd\xf3\x9cb\xbb\xde\xa7\xb6\xbd\n\x9a \xbe\xd4`:\xbe\x85\xab\xdd\xbd\xcaJ\xc2\xbd\xf2N\x0b\xbe \xc6k>WjU\xbeM\x8d\xe5\xbd\x8b4\x01>\xf1\x8a\x17=\x84]\xa5>\xb5\x0e\xfc;"\xf63\xbe{\xc6;\xbe\xf9r8\xbet2\x1b\xbc\xbf\xc6\xad\xbd)\xcd\xa0\xbd|9|\xbd\xba\xec\x97\xbc8L\xd4\xbd\'|O\xbe\x9a\xdb\x19\xbeG/-\xbe\xce\xdfb\xbci\xb29>\x00O\x82\xbe\xa0\x9cA\xbe\xf1u+\xbe\xf0\x11-\xbed\xc9\x03\xbel\xbb>\xbe\'\xbb\xd1=\xb1\xddB\xbe\xc6\xbd\x1c\xbeG\xf2o\xbd\'\xc7\x10\xbe\xac\xf3\xc0\xbd\xae\xa2\x81=\xa0\x7f\xe7;\xe7\xaa8\xbe\xb1VG\xbe\xcf\xd8r\xbe\x14\x06<\xbe}p-\xbe;(J\xbe\xf1\xe3c\xbe\xdc\'\x16\xbe\x9e\n-\xbe9\xc2}>,\xd4\xd4\xbd\x8eMI\xbek(F\xbe\xc1\x89E\xbeE\xe0\x17\xbe1\xfe\x1d\xbeH\xc72\xbe\x11\x07<\xbe\xc3\xdc\x18\xbe).\xfd=k)M\xbe\x14E \xbe\xea\x88N\xbe2?\xa6\xbd\x04\xcf\x0e\xbei`#\xbe\xfbtU\xbe\xdc\xd6C\xbe.\xcb7\xbe\xe3ti\xbeO\x9e\x1b\xbe\xe3\xb8\r\xbe\x98"K\xbe\xff\xaa\xe0\xbd\xfb\xdck\xbeE\x87O\xbe\xf3|\x1f\xbe\xd0sH\xbdU\x99\x19\xbef>6\xbe\xd5\xb0A\xbe?\x14\x89\xbe\xd9\xff8\xbe,h6\xbe\xc3bU\xbe\xff\xb7\xb2=\xa4\xbd)\xbe\xec\x9f\x19\xbe\xb4\xca8\xbe\xc2\x1d@\xbeN\x181\xbeW\xa8P\xbeb\xddM\xbel~\x0b\xbe\xac\x08\x0f\xbe=\xef-=q\xff:\xbe!\xd6\x92=\x85h1\xbe\x88\xc3\'\xbe\x83\xff/>\xddE\xd3\xbdQP\x89\xbeX\xcb6\xbdI\xb3{\xbe\x08\x9b\x0e\xbe\x00H@\xbe\x17\xb2%\xbe\xaa\xe89\xbe\xd6t6\xbe7?\x82\xbe(2U=Y&\xcf\xbd\x98\x03:\xbe\xba\x1fD\xbe\xe5\x00\x14>\t\\^\xbe\x0e\xbfu\xbe\x15\xa6W\xbe\x0b\x06\xfe=\xef\xbf\xba=\x8dU5\xbe\x9f\xccr\xbe\x9eE\x8c\xbd\xeaF\xd0\xbd\xbd&5\xbe\x92\xeaf\xbd\xe9^_\xbd\x97zZ\xbe\xf4\xcac\xbe\xcc\xf5c\xbe\x94\x08_\xbeD\xe3H\xbe\xe8S$\xbe\x0e\xbfc\xbe\x9e\x9a\xces\xbca\xbe8\xf9I\xbe\xd3o\t\xbe\xd9"]\xbe\xe8,\x05\xbe\xe4q=\xbe\xe9\x9b\n\xbe\'B\xbe\xbdd\xc2\x1c>6R\xcf\xbd\xaf\x07\xa2\xbci\x8fT=\xc8}5>\x94\x8b\x1b\xbd\x14\xcf%\xbe\xe04\x14\xbec\xd0$=B\x1fK>%\x80\xae\xbd$M\xa8\xbc\x04Fa>\x10\x7f?\xbd#K\xad<\xb7\\{\xbd\xb5\t$\xbeK,\x15\xbe\x9d\xe0V\xbe\xabE\xa5\xbd\xe9^\x82\xbd\x99\x87`\xbe,\xef\xf8\xbd\x90=V\xbe:\x94\xf4\xbd\x90\xf16>\x97\x8a\xdc\xbc\x1a{\x90\xbd\xdb<<\xbd\x96\x89#\xbe\xeb\xe2@\xbe\xa3b\xf7\xbd\x88=7\xbexl\x19\xbeL\xd4\xf4\xbc@r^\xbeD\xb3\x18<\xf7\x02\xdc\xbd\xd6\x93$=O\xf8\xc9=\xbf\xf7Y=\xfc\xd5V\xbeX.\x82\xbeG\x9c\xc7\xbd\xe44\xa9=W-s\xbeG\x0c)\xbeh\x1d^\xbeU\xf0<\xbe2\x8e8\xbe\xef\xc93=\xf2,C\xber}\xfd=9\x0cO\xbe\xab\xeb\x86\xbc\x88b\xac=\xce:\xe7\xbbZ,\xb0=\x87\x12/\xbe\x92\xd0\xab\xbc\x87\xc2L\xbe\x0fC\x04\xbeps:\xbe)\x83=\xbe\x05\x8e\xd2\xbd5JD\xbeZZ\x13\xbe\x99\t\xfc\xbd\xef\xd8H\xbe\xbc&-\xbe\x95sG\xbe|e?\xbe \x87\x1f\xbeN$\xea\xbdH\nY\xbe<\xfd\x1d\xbe3\x10U\xber\x15U\xbe#\xdf^\xbe\xc4\xb2s\xbeN\xbbC\xbe\xb5u\x18\xbe"\x9d\xdb\xbd\xe4^Y\xben\x13A\xbe\xb8*O\xbe\xce\x8e \xbe\x10\xff\xa4\xbd6\xdd\xa3\xbd\xa8\x9aP\xbe\xeb\x17\x1e\xbe\xc4jB\xbe\xf6e>\xbe\x8f\x804\xbet\xfe&\xbec\x7f\x0c>\xfa\x022\xbe\xb2\xd7\x88=k\xba+\xbe\'p\x1a\xbe\xc4]4\xbe\x1aC?\xbe\xcfm.\xbe\x1d\xbcC\xbe\xdc\xe2;\xbe\x13\x10{\xbe\x15\xd0%\xbe\x1bR\xe6\xbd!pF\xbeF\xed\xd6\xbd\xd5\xc33\xbey\xd9\x8b\xben\x00o\xbe\xdc\x1f\x85\xbc\x8b:J\xbed\x183\xbeXz&\xbe[\xcb\x10>\xe31\x07\xbe\xd4{>\xbe% \\\xbe\x9b\xd9G\xbe\x86\x039\xbe[\x92[\xbe=U\x0b\xbe\xf9g\x89\xbe\x08\x1a2\\ \x89\xbc5\x0e6\xbe\xae\xaa\x02\xbe\xd0e2\xbe\xf37b\xbe\x1e\x95F\xbe\xc0\xb8P\xbel\x83\x0b\xbe\xa6%\xee\xbd)\xbf\x0c\xbe\xc4\x80]\xbe9\xae\x93\xbd\xa0RS\xbe\x94\xcb<\xbe\n\xda:\xbe2e\x81\xbe\xd9\x86d\xbe[\x85B\xbe\xd8=H\xbe\xed\xb7U\xbe\x10\x8a(\xbe?\xa22\xbe|\xd0u\xbe8\xe6\xd5\xbd0\x01 \xbe\xd7N\x87\xbd\xde\xee\x06\xbe\x10w\x19\xbe\x1f\xe1\x9f\xbdp\xc3T\xbe\xc6\xe1\x1b\xbe_R,\xbeW\xa2\x85\xbeD\xf9\x14\xbe\x01\xdb\t\xbeg\x8a\xcb\xbd8=\xb2\xbdL\x97\xf1\xbdWz \xbd\x91\xfb@\xbe|o3\xbei-#\xbe\xa1\xd41\xbeH\\\x00\xbdP\xf2T\xbdB\'K\xbe\xf1\xd5b\xbe@\xfa\xdf=\xa9\x14N\xbe\xcep2\xbe\xea\x81\xbd*>\xbe\xae\xc69\xbeA\xd4\xbe\xbd\xc4f3\xbd\xa4\x1c3\xbe&d\xbe\xbdt\x02\xa7\xbb\xd0\x10\xb3\xbd\xab\xa4B\xbe[\xfd\x02\xbe\x89B\x80\xbe\x05\xc13\xbeZ\xa7\x92;\xc0\xaf:\xbe\xa2X"\xbe\x19\xb4\x16\xbe\x84I\x19\xbe\xf0\xba*\xbeF\x91N\xbd"`Z\xbe;RR\xbd\x82k\x02\xbd\xf9\xe9C\xbe\xbe{\x89\xbc\xd5\xb0b\xbeNt\x94\xbe=\xa03\xbek\x005\xbe\xe8\\\x90\xbe_M+\xbe5\xb0\r\xbe[\x9a\x19\xbe\xca\xeeE\xbe\xb2\x16"\xbe\xa4li\xbeEU\x1d\xbe\rv@\xbev{N\xbe*\xfdB\xbe\xff\x00-\xbe\xfaF\xb5\xbd\x1b\xa0%\xbeY\x86\x8a\xbe.,\x15\xbe\x19\xc5"\xbey\xa8H=\xee\xfe?\xbeG_E\xbe\x1eh!>\x9d\x1fG\xbdU\x01#\xbe\xa26,\xbe@/P=\xc6\xf7\xbf\xbd\xfe\xf8\xf7\xbd\xba:)>~\xb6@\xbe\xae\xc6*\xbej\x8d)\xbe5\x03%\xber\xee\x19\xbb\xa5:\x06>o\xf8\x1e\xbe\xde\x82\x0f\xbeC\x1d`=\xbf\xe9(\xbe\xd2\xa5]\xbe\x8d\xc4\xf6\xbd\x1f\xbc\xd7\xbd\xf1\xee<\xbe\x05=R\xbe\xae\x08C\xbe@*6\xbeB\x9c3\xbe\xe7\xd3\xd7\xbd\xfe\xb4\xaa\xbc\xca\xd9\x19\xbe\x11\x03\x1c\xbe\xc2e1\xbec\xbeI\xbe\x1a*@\xbe\x81\xa4(\xbe\xbf\x9e\x19\xbe\x82\xe1\x14\xbe\xfc7]\xbe.\xf9\t\xbe\x05\r=\xbeE\xbd\x1a\xbe<\x90&\xbe\x0c\xe8U\xbe\xb4\xedY\xbeb\xaf\x1e\xbe\xad\x92>\xbeB\xf9\xcf\xbd\x10\x90\xa0\xbd9UA\xbem\xd3J\xbe?\xb3|\xbe6\x9b \xbe\xf3<4\xbe\xbc8%\xbeY\xf1`\xbeq\xf0o\xbe\xf6\xd7\x08\xbe\x18\xc9F\xbe/ib\xbe\x07\x1f3\xbe\x9eo\x00\xbe"\xceV\xbe\n\x91@\xbe\x9e\xef$\xbeZ-L\xbe\xeb48\xbeE+5\xbe\x02-b\xbe%\xfb\x1f\xbe\x9d\x05`\xbe\xe1\xaeB\xbe0!\x05\xbe|\x11I\xbe{+7\xbe,\xef-\xbe\xae([\xbe\xb4\xee,\xbe\xa8z(\xbek\x9d/\xbe\xb3\x8e\n\xbe\xb8\xda`\xbe/b\xbe#\x90$\xbe\xfd\x98M\xbe1\x7f\xf1\xbd\xda\xf0-\xbe\xeeN[\xbe2\xa0&\xbej\xb3O\xbe 3B\xbe\x1a\xfeO\xbe\xbf\xb7&\xbet\x93U\xbe}\x1b!\xbe\xfc\x8e8\xbe\x89\xa5n\xbe\xcd\xd7f=\xd8\x86"\xbe}\xf8\xd9\xbd}:S\xbe\x81\x94\x18\xbeo5:\xbe\xc2\xefC\xbe\t\xd0[\xbe\r\xcb1\xbeh\x95N\xbe\x07\x88\xd6\xbd\xd42R\xben\xf5`\xbe.+i\xbe\x8cTB\xbe1I;\xbel\xbeu\xbe\xb0\x1d:\xbe\x05\xf5\x10\xbe\xbf>\xf5\xbd\x17\x89\x16\xbel\xfb\x86\xbd\x12|6\xbe\x8e~J\xbe\xe1\x10%\xbe\x80\xcad\xbeq\xa2\x1c\xbetbC\xbeWY\x15\xbe\xd6\xc3\x1c\xbe\xd9B4\xbe4\x9d$\xbe\xe1\x9d(\xbe\xfb\xf96\xbeq\xaaf\xbdV\xdb\x1c\xbe2\xb5+\xbeN|0\xbe\xb2=:\xbe\x89\x883\xbe\x7f\x83Z\xbe}\xde)\xbe/\xac\xc1\xbdt\xe1-\xbe\xd0\x1bL\xbe\x17\x8c,\xbeqyC\xbed\xde"\xbe\xa5\xb8^\xbeV\\M\xbe\xcf\x93\x1e\xbe\xc7\xd4R\xbe)\xe1d\xbek\x9b\x1c\xbe\x9f=1\xbe\xb1\x8a\x1f\xbe\x99\x8e:\xbe\x02\xe6\x14\xbe\xbb\xf4P\xber\x00%\xbe\xf9\x01)\xbe\x11\xc3K\xbe\\\x8eV\xbe\x8e\xb9U\xbe \x915\xbe\xb8\x90R\xbe\x0cD^\xbe\xa519\xbe\x08-F\xbe\xaaEK\xbe\x8c\x9c1\xbe\xab\x04)\xbe*&\'\xbe\x8dp*\xbe(A\xc0<\xce 8\xbe\x15\x8b\xe7\xbd[mt\xbe:8\x10\xbeWM\x04\xbe\x06\x860\xbeJy1\xbe4\xceL\xbe\x06\xffm\xbdd\x07D\xbe\x16\xfa"\xbe\x8aE*\xbeJ\xeb]\xbe\xf5f;\xbe.\xe5$\xbe\r\xf6G\xbez\xf4\x15\xbe\t\xae\x03\xbe\x12\xafC\xbeHe\xc5\xbd\xf4NV\xbe\x1d\x01Q\xbe\xf3*\xbc\xbd\n\x8d\xfb\xbd\x8a\xbe\x1b\xbe\x952\xf7\xbdg\x85\xfd\xbd<\xc7$\xbe\x97\xb0-\xbe\xe8y\\\xbe(\x03B\xbe\x89\xecM\xbe\x81\x94\x0b\xbe\xd3\xeb;\xbe\xae&#\xbeR\xbeQ\xbe\xedXw\xbe\xc8\xb6Z\xbe\x10\xa5@\xbe\x00\xf3h\xbe\r\xe9-\xbe\xec\xdb.\xbe\x1c\x1c!\xbe\xc1\xb8\x97\xbd\xc1\x11J\xbe\xa138\xbefgc\xbe }N\xbe\xcb\x8a \xbe\xc4\x19j\xbc\x96~<\xbe%\x86\x11\xbe\xc4\xbd!\xbe)i:\xbe\x93\xdf \xbev\x8d!\xbe\xfbJb\xbe\x08\xa0\x1b\xbe\xca,6\xbe\xe5\x8b7\xbeN?4\xbe\xe3\x03Y\xbe\xf9;A\xbe\x12{m\xbe#\xba&\xbe\x96C;\xbe\x951B\xbeWVe\xbe\n92\xbeP\x06(\xbep\xd6?\xbe\x99\xc4>\xbe\x1c\x1a?\xbe\xc3\xe9\x95\xbd\xe8\x91G\xbeJ\x8a\x1f\xbe\xe1bI\xbe\x8e\x11F\xbe\x96G@\xbeN\xa7=\xbe\xe84:\xbe3\r<\xbe"SQ\xbeT}F\xbe\xe4\xfa2\xbe\xc2\xa2\x12\xbe\x1c\x89L\xbe\xf77\x0c\xben\xd8\x1d\xbena\xb6\xbd\xa2]U\xbeY\xc2o\xbe\x8c\xdc\xb2\xba\x936A\xbeV#\xb2\xbdf\x9e9\xbe.Ns\xbeO\xb5D\xbe\xc7\x87\x1f\xbee_W\xbeq\xcb-\xbe\x95N\n\xbe\x15\xabd\xbeY7.\xbe\xc8\n:\xbe\xec\xb8V\xbe\x83V<\xbe\x9b`9\xbe.\xd0w\xbd\x06\xc3L\xbe\xa18%\xbe{\xe0G\xbe*\xcag\xbeS\x0e/\xbe\x18\x90C\xbe\r@\xc0\xbd\x88v4\xbe\xd7pC\xbe\x90_?\xbeO\xd3f=,~<\xbe2\x97\xfb\xbd\x0b\xf7>\xbe\x05\x84S\xbe\x0140\xbe(#0\xbe\x9f\x90\xf0\xbd\x03\x9cb\xbe{\x14\xe0\xbdK\x9eD\xbe\xd4\x98\xce\xbd,\x03J\xbe\xb4 =\xbe<-c\xbe\x82ng\xbe_>D\xbe\xf4\x13/\xber[;\xbegw\x1f\xbe-\x7f"\xbe\x0b\xdb!\xbe\x1c\xa8\x1a\xbeaBT\xbe\xe9\xa8\xfe\xbdn/Q\xbes?\x8a\xbe\xcc\xf3D\xbe\xce\xfc"\xbe\xa3\x007\xbe%xY\xbe\xca\xe5\x08\xbeR\xe9>\xbeeM2\xbe\xab\xd0u\xbdq\xf1\x80\xbe\x06w7\xbel\x80b\xbe\x96\xb04\xbe\x8c\tW\xbe\xb2|8\xbef\x81W\xbewm?\xbe5sf\xbe\xa09_\xbe\xd5\x1a\x0c\xbe\x9bjG\xbe\x81\x968\xben\xd7P\xbe\xeb\xdd4\xbe~tM\xbe6\x83;\xbe\x16\x9e$\xbe\xa2\xff\x81\xbe~\x1aL\xbe\xf1\x939\xbe\xeewZ\xbe\xa7gg\xbe\x02b>\xbe\x8f\t(\xbe\xbcz/\xbe\xd9\xc2e\xbe\xfa\xd0\x8c\xbe\xd4\x92M\xbe\xa8\x117\xbe\x85\x13]\xbe\xbfH<\xbeKmX\xbe{y\x1f\xbe\'\xe8s\xbe\xa2\x08Y\xbe;\x88b\xbe\xcb\xc94\xbe|\x10,\xbeec4\xbeK\xc3\'\xbe\xd8\x17\x12\xbe\xac\xc1Z\xbe\xe1\x1e.\xbe9\x8c\xed\xbd\x1b\x86\xdb\xbdL~\x1c\xbe\x03\xdf8\xben\x86F\xbe\xe4ID\xbe.\xben\x8a2\xbe#\x06.\xbeS{9\xbe\xc1\xed%\xbe?\xe9Z\xbe\x15x2\xbe\xe9J?\xbe\x01%-\xbe\xd5\xeaD\xbeZA6\xbeAiY\xbe\xa5\xabY\xbe<\xa14\xbe#\xa4M\xbep}B\xbe#\xf6a\xbe$\xa5%\xbe\xf3\xd6>\xbe\xa1-\xff\xbd\xa6_(\xbe/\x8ej\xbe\xad\x1b\x03\xbe\xd0\x916\xbe\x9a\xe4=\xbe\x00\x05`\xbe\xf1}\\\xbeMZ2\xbe\xcdKM\xbeoh=\xbe\x1d\xd3\x1a\xbe3b6\xbe\xd0BV\xbe\x97\xc78\xbe_)d\xbe\x9b\x05^\xbe\xa4\x0e9\xbe)jA\xbe\xcbW\x0f\xbe\xe9\x0c1\xbe\r\xd4)\xbe:\xb3C\xbe>u:\xbe#\xb3C\xbe\x06%>\xbe\xe2\xf2A\xbe\xc5\x89.\xbe\xa6"?\xbe\x1a\xe3/\xbeR\x04e\xbe\x98DC\xbe\x11\xa7M\xbe8\xf1T\xbe+y;\xbe\x8e\x90C\xbe\xa0\x00V\xbe\x03-^\xbe\x0fXS\xbe\xe6\x08:\xbe\x98\x9b4\xbe\xf9\tA\xbe4&=\xbe\xb4\xfe+\xbe\xff`M\xbe\xb7\xc7!\xbe\xdc\x06O\xbe\xfa8M\xbe\x11_`\xbe\xd7\xec@\xbe\xd8\xabW\xbe-\x87W\xbe8CO\xbe\x02\x1c1\xbeyxK\xbe\x87\xa86\xbe\x1e=m\xbeJ\xe46\xbe\xeb%>\xbe^\x857\xbe\x00YM\xbe0_"\xbe!\x93A\xbe\x0f\xb3<\xbeDc^\xbem\xaeM\xbe,\x14@\xbe\x9a\x845\xbeG\x1a\x0e\xbe\xc8Y\x12\xbeV\x99"\xbe\xff\x9d;\xbe?\xd36\xbe;\x00J\xbe\x05\xb0w\xbe\x9bY[\xbe\xd2\xfd@\xbeO\xf09\xbe4\xf0`\xbe\x0f\x95F\xbe\x0c\x1a_\xbe\xb0\xc8j\xbe\x0f\xe6B\xbe\x92\xe0Q\xbe\x10\xe61\xbe\x19BO\xbe\'\xd5K\xbe\x06\x0er\xbe\x92\xb7I\xbe\xcbIA\xbe\x95EI\xbe3[_\xbeCjl\xbeGy8\xbe\x10w\\\xbe;Q1\xbe\xd0\xb88\xbe\xa5\xd4m\xbe\x7f\xe3c\xbe\x14$D\xbem0?\xbe8ed\xbe\x9f\xe5?\xbe\xe0\x96X\xbe\xa0\x07C\xbe\xda.m\xbef\xd5W\xbe\xaa\xe8\\\xbe\xc4Y[\xbe\x80\xb6/\xbe\xc1D^\xbe\xfa\x12=\xbeL`>\xbeS\xba@\xbe\x98!&\xbe\xae\xf7>\xbe\xcav2\xbe&\x1e@\xbe\xa2\x13J\xbe\xdch3\xbe\xe3V>\xbe\x95\x1a`\xbe\x16\xbeC\xafa\xbe\xa4QK\xbe\x9b\xd9[\xbe\x16\xd7X\xbe[\xe1c\xbel\xado\xbe\xebua\xbe\x18\xc0^\xbe\xa9]V\xbe\xc4(]\xbe\x95\x85G\xbe-\x87V\xbeD\x1cg\xbe\xf2\x0e4\xbe\xc2\x84e\xbe5=h\xbe\xc9\xc0b\xbe\xdf\x98_\xbe\xe6\x9fp\xbe@\x1cW\xbe\x93\xf4r\xbeZ\xfa2\xbe\x90)D\xbeJ\x17W\xbe|~7\xbe\xad\xd0k\xbe$O`\xbe\xc0\x90K\xbe\x91\x06S\xbe\xac\x04c\xbe\x9d5m\xbe\x15\xe9\\\xbe\xee\xf8[\xbe\xfbqJ\xbeT\x915\xbe\xf3\xf6[\xbe\x9d\x88^\xbe\x14\xf4S\xbe\xce\xa8Q\xbeG\xf5i\xbe\xedZY\xbe\x08\x8b#\xbe\xbb\xea]\xbe\xc4\x1fg\xbe%mY\xbe\xcc&X\xbe2\x8cF\xbe\xff\xc4L\xbe\x16\x95X\xbeJ\xa5M\xbe]\xa1y\xbe\xf1>1\xbe\x9fyS\xbe\x1b\xd1W\xbe\x144$\xbe\xf9|O\xbe\xe0sZ\xbe_\xd5D\xbeq\x073\xbe\xe7\x9aX\xbe\xff@5\xbe\xc8\xbb\\\xbe?\xdf,\xbe\x1c\xc7S\xbe\x83\xa8;\xbe\xc2IK\xbe\xff\xdc5\xbe)\x9b8\xbe-\xdc@\xbe\x81Tq\xbem\xc4;\xbe\xd5]6\xbe\x16^B\xbe\xe2\xd6Y\xbe\xf6\x0fa\xbes\x15O\xbe}X\xbeD^e\xbe\xf1\x0fL\xbe\xad\x1be\xbe8\x96{\xbeb\x13a\xbe\xf4p>\xbe$\xa2g\xbe\x94\xaai\xbe1w0\xbe\xf1)\\\xbe:\x86b\xbe{JF\xbe\xae\xcdR\xbe\x8a#g\xbeB8^\xbe\xa1+3\xbe9eC\xbe\xe7\x1f5\xbe\x82\x9dB\xbe\x05n@\xbe\t\xf9E\xbe\xdfl@\xbe\xe7\xf9E\xbe\xe1\xf7>\xbe\x8f5@\xbe\xa5\xbe\xdb\xb1d\xbe"\x163\xbe\xef\x01g\xbe\xb6\xbeG\x97Q\xbe\x13Bh\xbee;E\xbe\xb1Rf\xbe]\xd9\x89\xbe\x926G\xbe\xca\x967\xbe-\xe2|\xbe\x9e\x8fB\xbe\xfe\x9fc\xbeh3k\xbe\xa2\xa3Z\xbe\xa7/g\xbe 8=\xbeF\x1fE\xbeF\xe9V\xbe\x9eqT\xbe#nU\xbe\xf8jU\xbe\xc9\xe0:\xbe\nje\xbe\xceaT\xbe\t\xf1`\xbe?#T\xbe\x12\xdfX\xbe\xc4\xf0R\xbes\xb7a\xbe\x7f\x11*\xbe\xe3\xb0g\xbe@\x19g\xbe,DQ\xbeM[m\xbe\xc2\xde[\xbe\x15\x85g\xbe\x03\xea^\xbebY[\xbe0{j\xbei\x0b_\xbeg\x86j\xbe\xf3~Y\xbe\xd5\xbb^\xbe\xeeg^\xbe\x1c\x1eU\xbe\x9a)h\xbe\xd8\xe3`\xbe\x8cix\xbe\x8d_d\xbe' 49 | tba. -------------------------------------------------------------------------------- /item_recommendation/models.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: UTF-8 -*- 3 | import torch.nn as nn 4 | import torch.nn.functional as F 5 | import torch 6 | # import torchwordemb 7 | import torchvision.models as models 8 | import pdb 9 | 10 | 11 | class L2Loss(nn.Module): 12 | def __init__(self): 13 | super(L2Loss, self).__init__() 14 | self.loss = nn.MSELoss() 15 | self.register_buffer('target', torch.tensor(0.0)) 16 | 17 | def get_target_tensor(self, input): 18 | target_tensor = self.target 19 | 20 | return target_tensor.expand_as(input) 21 | 22 | def __call__(self, input): 23 | target_tensor = self.get_target_tensor(input) 24 | return self.loss(input, target_tensor) 25 | 26 | 27 | class Generator(nn.Module): 28 | """docstring for GEN""" 29 | def __init__(self, G_user_embeddings, G_item_embeddings, G_item_bias): 30 | super(Generator, self).__init__() 31 | self.G_user_embeddings = G_user_embeddings 32 | self.G_item_embeddings= G_item_embeddings 33 | self.G_item_bias = G_item_bias 34 | 35 | def all_rating(self, user_index): 36 | u_embedding = self.G_user_embeddings[user_index, :] 37 | item_embeddings = self.G_item_embeddings 38 | 39 | all_rating = torch.mm(u_embedding.view(-1, 5), item_embeddings.t()) + self.G_item_bias 40 | return all_rating 41 | 42 | def all_logits(self, user_index): 43 | u_embedding = self.G_user_embeddings[user_index] 44 | item_embeddings = self.G_item_embeddings 45 | G_item_bias = self.G_item_bias 46 | 47 | score = torch.sum(u_embedding*item_embeddings, 1) + G_item_bias 48 | return score 49 | 50 | def forward(self, user_index, sample, reward): 51 | u_embedding = self.G_user_embeddings[user_index] 52 | item_embeddings = self.G_item_embeddings[sample, :] 53 | G_item_bias = self.G_item_bias[sample] 54 | 55 | softmax_score = F.softmax(self.all_logits(user_index).view(1, -1), -1) 56 | gan_prob = torch.gather(softmax_score.view(-1), 0, sample.long()).clamp(min=1e-8) 57 | loss = -torch.mean(torch.log(gan_prob) * reward) 58 | 59 | return loss 60 | 61 | 62 | class Discriminator(nn.Module): 63 | def __init__(self, D_user_embeddings, D_item_embeddings, D_item_bias): 64 | super(Discriminator, self).__init__() 65 | self.D_user_embeddings = D_user_embeddings 66 | self.D_item_embeddings = D_item_embeddings 67 | self.D_item_bias = D_item_bias 68 | 69 | def pre_logits(self, input_user, input_item): 70 | u_embedding = self.D_user_embeddings[input_user, :] 71 | item_embeddings = self.D_item_embeddings[input_item, :] 72 | D_item_bias = self.D_item_bias[input_item] 73 | 74 | score = torch.sum(u_embedding*item_embeddings, 1) + D_item_bias 75 | return score 76 | 77 | def forward(self, input_user, input_item, pred_data_label): 78 | loss = F.binary_cross_entropy_with_logits(self.pre_logits(input_user, input_item), pred_data_label.float()) 79 | return loss 80 | 81 | def get_reward(self, user_index, sample): 82 | u_embedding = self.D_user_embeddings[user_index, :] 83 | item_embeddings = self.D_item_embeddings[sample, :] 84 | D_item_bias = self.D_item_bias[sample] 85 | 86 | reward_logits = torch.sum(u_embedding*item_embeddings, 1) + D_item_bias 87 | reward = 2 * (torch.sigmoid(reward_logits) - 0.5) 88 | return reward 89 | 90 | 91 | 92 | 93 | -------------------------------------------------------------------------------- /item_recommendation/utils.py: -------------------------------------------------------------------------------- 1 | import linecache 2 | import numpy as np 3 | 4 | 5 | def file_len(fname): 6 | with open(fname) as f: 7 | for i, l in enumerate(f): 8 | pass 9 | return i + 1 10 | 11 | 12 | # Get batch data from training set 13 | def get_batch_data(file, index, size): # 1,5->1,2,3,4,5 14 | user = [] 15 | item = [] 16 | label = [] 17 | for i in range(index, index + size): 18 | line = linecache.getline(file, i) 19 | line = line.strip() 20 | line = line.split() 21 | user.append(int(line[0])) 22 | user.append(int(line[0])) 23 | item.append(int(line[1])) 24 | item.append(int(line[2])) 25 | label.append(1.) 26 | label.append(0.) 27 | return user, item, label 28 | 29 | 30 | def precision_at_k(r, k): 31 | """Score is precision @ k 32 | Relevance is binary (nonzero is relevant). 33 | Returns: 34 | Precision @ k 35 | Raises: 36 | ValueError: len(r) must be >= k 37 | """ 38 | assert k >= 1 39 | r = np.asarray(r)[:k] 40 | return np.mean(r) 41 | 42 | 43 | def average_precision(r): 44 | """Score is average precision (area under PR curve) 45 | Relevance is binary (nonzero is relevant). 46 | Returns: 47 | Average precision 48 | """ 49 | r = np.asarray(r) 50 | out = [precision_at_k(r, k + 1) for k in range(r.size) if r[k]] 51 | if not out: 52 | return 0. 53 | return np.mean(out) 54 | 55 | 56 | def mean_average_precision(rs): 57 | """Score is mean average precision 58 | Relevance is binary (nonzero is relevant). 59 | Returns: 60 | Mean average precision 61 | """ 62 | return np.mean([average_precision(r) for r in rs]) 63 | 64 | 65 | def dcg_at_k(r, k, method=1): 66 | """Score is discounted cumulative gain (dcg) 67 | Relevance is positive real values. Can use binary 68 | as the previous methods. 69 | Returns: 70 | Discounted cumulative gain 71 | """ 72 | r = np.asfarray(r)[:k] 73 | if r.size: 74 | if method == 0: 75 | return r[0] + np.sum(r[1:] / np.log2(np.arange(2, r.size + 1))) 76 | elif method == 1: 77 | return np.sum(r / np.log2(np.arange(2, r.size + 2))) 78 | else: 79 | raise ValueError('method must be 0 or 1.') 80 | return 0. 81 | 82 | 83 | def ndcg_at_k(r, k, method=1): 84 | """Score is normalized discounted cumulative gain (ndcg) 85 | Relevance is positive real values. Can use binary 86 | as the previous methods. 87 | Returns: 88 | Normalized discounted cumulative gain 89 | """ 90 | dcg_max = dcg_at_k(sorted(r, reverse=True), k, method) 91 | if not dcg_max: 92 | return 0. 93 | return dcg_at_k(r, k, method) / dcg_max 94 | 95 | 96 | def recall_at_k(r, k, all_pos_num): 97 | r = np.asfarray(r)[:k] 98 | return np.sum(r) / all_pos_num 99 | 100 | 101 | def F1(pre, rec): 102 | if pre + rec > 0: 103 | return (2.0 * pre * rec) / (pre + rec) 104 | else: 105 | return 0. 106 | -------------------------------------------------------------------------------- /ltr-gan/eval/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hwang1996/IRGAN-pytorch/b00825958cec2095916d13be85dfcb24eb239f75/ltr-gan/eval/__init__.py -------------------------------------------------------------------------------- /ltr-gan/eval/__pycache__/__init__.cpython-35.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hwang1996/IRGAN-pytorch/b00825958cec2095916d13be85dfcb24eb239f75/ltr-gan/eval/__pycache__/__init__.cpython-35.pyc -------------------------------------------------------------------------------- /ltr-gan/eval/__pycache__/map.cpython-35.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hwang1996/IRGAN-pytorch/b00825958cec2095916d13be85dfcb24eb239f75/ltr-gan/eval/__pycache__/map.cpython-35.pyc -------------------------------------------------------------------------------- /ltr-gan/eval/__pycache__/mrr.cpython-35.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hwang1996/IRGAN-pytorch/b00825958cec2095916d13be85dfcb24eb239f75/ltr-gan/eval/__pycache__/mrr.cpython-35.pyc -------------------------------------------------------------------------------- /ltr-gan/eval/__pycache__/ndcg.cpython-35.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hwang1996/IRGAN-pytorch/b00825958cec2095916d13be85dfcb24eb239f75/ltr-gan/eval/__pycache__/ndcg.cpython-35.pyc -------------------------------------------------------------------------------- /ltr-gan/eval/__pycache__/precision.cpython-35.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hwang1996/IRGAN-pytorch/b00825958cec2095916d13be85dfcb24eb239f75/ltr-gan/eval/__pycache__/precision.cpython-35.pyc -------------------------------------------------------------------------------- /ltr-gan/eval/map.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | def precision_at_k(r, k): 4 | assert k >= 1 5 | r = np.asarray(r)[:k] 6 | return np.mean(r) 7 | 8 | 9 | def average_precision(r): 10 | r = np.asarray(r) 11 | out = [precision_at_k(r, k + 1) for k in range(r.size) if r[k]] 12 | if not out: 13 | return 0. 14 | return np.mean(out) 15 | 16 | 17 | def MAP(sess, model, query_pos_test, query_pos_train, query_url_feature): 18 | rs = [] 19 | for query in query_pos_test.keys(): 20 | pos_set = set(query_pos_test[query]) 21 | pred_list = list(set(query_url_feature[query].keys()) - set(query_pos_train.get(query, []))) 22 | 23 | pred_list_feature = [query_url_feature[query][url] for url in pred_list] 24 | pred_list_feature = np.asarray(pred_list_feature) 25 | pred_list_score = sess.run(model.pred_score, feed_dict={model.pred_data: pred_list_feature}) 26 | pred_url_score = zip(pred_list, pred_list_score) 27 | pred_url_score = sorted(pred_url_score, key=lambda x: x[1], reverse=True) 28 | 29 | r = [0.0] * len(pred_list_score) 30 | for i in range(0, len(pred_list_score)): 31 | (url, score) = pred_url_score[i] 32 | if url in pos_set: 33 | r[i] = 1.0 34 | rs.append(r) 35 | 36 | return np.mean([average_precision(r) for r in rs]) 37 | 38 | 39 | def MAP_user(sess, model, query_pos_test, query_pos_train, query_url_feature): 40 | rs = [] 41 | query_test_list = sorted(query_pos_test.keys()) 42 | for query in query_test_list: 43 | pos_set = set(query_pos_test[query]) 44 | pred_list = list(set(query_url_feature[query].keys()) - set(query_pos_train.get(query, []))) 45 | 46 | pred_list_feature = [query_url_feature[query][url] for url in pred_list] 47 | pred_list_feature = np.asarray(pred_list_feature) 48 | pred_list_score = sess.run(model.pred_score, feed_dict={model.pred_data: pred_list_feature}) 49 | pred_url_score = zip(pred_list, pred_list_score) 50 | pred_url_score = sorted(pred_url_score, key=lambda x: x[1], reverse=True) 51 | 52 | r = [0.0] * len(pred_list_score) 53 | for i in range(0, len(pred_list_score)): 54 | (url, score) = pred_url_score[i] 55 | if url in pos_set: 56 | r[i] = 1.0 57 | rs.append(r) 58 | 59 | return [average_precision(r) for r in rs] -------------------------------------------------------------------------------- /ltr-gan/eval/mrr.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | def cal_mrr(r): 4 | num = 1 5 | for i in r: 6 | if i: 7 | break 8 | num += 1 9 | return 1. / num 10 | 11 | 12 | def MRR(sess, model, query_pos_test, query_pos_train, query_url_feature): 13 | rs = [] 14 | for query in query_pos_test.keys(): 15 | pos_set = set(query_pos_test[query]) 16 | pred_list = list(set(query_url_feature[query].keys()) - set(query_pos_train.get(query, []))) 17 | 18 | pred_list_feature = [query_url_feature[query][url] for url in pred_list] 19 | pred_list_feature = np.asarray(pred_list_feature) 20 | pred_list_score = sess.run(model.pred_score, feed_dict={model.pred_data: pred_list_feature}) 21 | pred_url_score = zip(pred_list, pred_list_score) 22 | pred_url_score = sorted(pred_url_score, key=lambda x: x[1], reverse=True) 23 | 24 | r = [0.0] * len(pred_list_score) 25 | for i in range(0, len(pred_list_score)): 26 | (url, score) = pred_url_score[i] 27 | if url in pos_set: 28 | r[i] = 1.0 29 | rs.append(r) 30 | 31 | return np.mean([cal_mrr(r) for r in rs]) 32 | 33 | 34 | def MRR_user(sess, model, query_pos_test, query_pos_train, query_url_feature): 35 | rs = [] 36 | query_test_list = sorted(query_pos_test.keys()) 37 | for query in query_test_list: 38 | pos_set = set(query_pos_test[query]) 39 | pred_list = list(set(query_url_feature[query].keys()) - set(query_pos_train.get(query, []))) 40 | 41 | pred_list_feature = [query_url_feature[query][url] for url in pred_list] 42 | pred_list_feature = np.asarray(pred_list_feature) 43 | pred_list_score = sess.run(model.pred_score, feed_dict={model.pred_data: pred_list_feature}) 44 | pred_url_score = zip(pred_list, pred_list_score) 45 | pred_url_score = sorted(pred_url_score, key=lambda x: x[1], reverse=True) 46 | 47 | r = [0.0] * len(pred_list_score) 48 | for i in range(0, len(pred_list_score)): 49 | (url, score) = pred_url_score[i] 50 | if url in pos_set: 51 | r[i] = 1.0 52 | rs.append(r) 53 | 54 | return [cal_mrr(r) for r in rs] -------------------------------------------------------------------------------- /ltr-gan/eval/ndcg.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import torch 3 | 4 | def ndcg_at_k(device, generator, query_pos_test, query_pos_train, query_url_feature, k=5): 5 | ndcg = 0.0 6 | cnt = 0 7 | for query in query_pos_test.keys(): 8 | pos_set = set(query_pos_test[query]) 9 | pred_list = list(set(query_url_feature[query].keys()) - set(query_pos_train.get(query, []))) 10 | if len(pred_list) < k: 11 | continue 12 | 13 | pred_list_feature = [query_url_feature[query][url] for url in pred_list] 14 | pred_list_feature = np.asarray(pred_list_feature) 15 | with torch.cuda.device(device[0]): 16 | pred_list_score = generator.module.pred_score(torch.tensor(pred_list_feature).cuda()) 17 | pred_list_score = pred_list_score.detach().cpu().numpy() 18 | pred_url_score = zip(pred_list, pred_list_score) 19 | pred_url_score = sorted(pred_url_score, key=lambda x: x[1], reverse=True) 20 | 21 | dcg = 0.0 22 | for i in range(0, k): 23 | (url, score) = pred_url_score[i] 24 | if url in pos_set: 25 | dcg += (1 / np.log2(i + 2)) 26 | n = len(pos_set) if len(pos_set) < k else k 27 | idcg = np.sum(np.ones(n) / np.log2(np.arange(2, n + 2))) 28 | 29 | ndcg += (dcg / idcg) 30 | cnt += 1 31 | 32 | return ndcg / float(cnt) 33 | 34 | 35 | def ndcg_at_k_user(sess, model, query_pos_test, query_pos_train, query_url_feature, k=5): 36 | ndcg_list = [] 37 | query_test_list = sorted(query_pos_test.keys()) 38 | for query in query_test_list: 39 | pos_set = set(query_pos_test[query]) 40 | pred_list = list(set(query_url_feature[query].keys()) - set(query_pos_train.get(query, []))) 41 | if len(pred_list) < k: 42 | continue 43 | 44 | pred_list_feature = [query_url_feature[query][url] for url in pred_list] 45 | pred_list_feature = np.asarray(pred_list_feature) 46 | pred_list_score = sess.run(model.pred_score, feed_dict={model.pred_data: pred_list_feature}) 47 | pred_url_score = zip(pred_list, pred_list_score) 48 | pred_url_score = sorted(pred_url_score, key=lambda x: x[1], reverse=True) 49 | 50 | dcg = 0.0 51 | for i in range(0, k): 52 | (url, score) = pred_url_score[i] 53 | if url in pos_set: 54 | dcg += (1 / np.log2(i + 2)) 55 | n = len(pos_set) if len(pos_set) < k else k 56 | idcg = np.sum(np.ones(n) / np.log2(np.arange(2, n + 2))) 57 | 58 | ndcg_list.append(dcg / idcg) 59 | 60 | return ndcg_list -------------------------------------------------------------------------------- /ltr-gan/eval/precision.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import torch 3 | 4 | 5 | def precision_at_k(device, generator, query_pos_test, query_pos_train, query_url_feature, k=5): 6 | p = 0.0 7 | cnt = 0 8 | for query in query_pos_test.keys(): 9 | pos_set = set(query_pos_test[query]) 10 | pred_list = list(set(query_url_feature[query].keys()) - set(query_pos_train.get(query, []))) 11 | if len(pred_list) < k: 12 | continue 13 | 14 | pred_list_feature = [query_url_feature[query][url] for url in pred_list] 15 | pred_list_feature = np.asarray(pred_list_feature) 16 | with torch.cuda.device(device[0]): 17 | pred_list_score = generator.module.pred_score(torch.tensor(pred_list_feature).cuda()) 18 | pred_list_score = pred_list_score.detach().cpu().numpy() 19 | pred_url_score = zip(pred_list, pred_list_score) 20 | pred_url_score = sorted(pred_url_score, key=lambda x: x[1], reverse=True) 21 | 22 | num = 0.0 23 | for i in range(0, k): 24 | (url, score) = pred_url_score[i] 25 | if url in pos_set: 26 | num += 1.0 27 | num /= (k * 1.0) 28 | 29 | p += num 30 | cnt += 1 31 | 32 | return p / float(cnt) 33 | 34 | 35 | def precision_at_k_user(device, generator, query_pos_test, query_pos_train, query_url_feature, k=5): 36 | p_list = [] 37 | query_test_list = sorted(query_pos_test.keys()) 38 | for query in query_test_list: 39 | pos_set = set(query_pos_test[query]) 40 | pred_list = list(set(query_url_feature[query].keys()) - set(query_pos_train.get(query, []))) 41 | if len(pred_list) < k: 42 | continue 43 | 44 | pred_list_feature = [query_url_feature[query][url] for url in pred_list] 45 | pred_list_feature = np.asarray(pred_list_feature) 46 | with torch.cuda.device(device[0]): 47 | pred_list_score = generator.module.pred_score(torch.tensor(pred_list_feature).cuda()) 48 | pred_list_score = pred_list_score.detach().cpu().numpy() 49 | pred_url_score = zip(pred_list, pred_list_score) 50 | pred_url_score = sorted(pred_url_score, key=lambda x: x[1], reverse=True) 51 | 52 | num = 0.0 53 | for i in range(0, k): 54 | (url, score) = pred_url_score[i] 55 | if url in pos_set: 56 | num += 1.0 57 | num /= (k * 1.0) 58 | 59 | p_list.append(num) 60 | 61 | return p_list -------------------------------------------------------------------------------- /ltr-gan/main.py: -------------------------------------------------------------------------------- 1 | import os 2 | import time 3 | import random 4 | import numpy as np 5 | import torch 6 | import torch.nn as nn 7 | import torch.nn.parallel 8 | import torch.optim 9 | import torch.utils.data 10 | import torchvision.transforms as transforms 11 | import torchvision.datasets as datasets 12 | import torchvision.models as models 13 | import torch.backends.cudnn as cudnn 14 | from tqdm import tqdm 15 | import pdb 16 | import torch.nn.functional as F 17 | from models import * 18 | import utils as ut 19 | from eval.precision import precision_at_k 20 | from eval.ndcg import ndcg_at_k 21 | from eval.map import MAP 22 | from eval.mrr import MRR 23 | 24 | # ============================================================================= 25 | device = [6] 26 | FEATURE_SIZE = 46 27 | HIDDEN_SIZE = 46 28 | BATCH_SIZE = 8 29 | WEIGHT_DECAY = 0.01 30 | D_LEARNING_RATE = 0.001 31 | G_LEARNING_RATE = 0.001 32 | TEMPERATURE = 0.2 33 | LAMBDA = 0.5 34 | os.makedirs('saved_models', exist_ok=True) 35 | # torch.cuda.synchronize() 36 | # os.environ["CUDA_VISIBLE_DEVICES"] = "7" 37 | # ============================================================================= 38 | with torch.cuda.device(device[0]): 39 | # models 40 | 41 | G_w1 = torch.autograd.Variable((torch.ones(FEATURE_SIZE, HIDDEN_SIZE)).cuda(), requires_grad=True) 42 | G_w2 = torch.autograd.Variable((torch.ones(HIDDEN_SIZE, 1)).cuda(), requires_grad=True) 43 | G_b1 = torch.autograd.Variable(torch.zeros(HIDDEN_SIZE).cuda(), requires_grad=True) 44 | G_b2 = torch.autograd.Variable(torch.zeros(1).cuda(), requires_grad=True) 45 | 46 | # the hyperparameter in D 47 | D_w1 = torch.autograd.Variable((torch.ones(FEATURE_SIZE, HIDDEN_SIZE)).cuda(), requires_grad=True) 48 | D_w2 = torch.autograd.Variable((torch.ones(HIDDEN_SIZE, 1)).cuda(), requires_grad=True) 49 | D_b1 = torch.autograd.Variable(torch.zeros(HIDDEN_SIZE).cuda(), requires_grad=True) 50 | D_b2 = torch.autograd.Variable(torch.zeros(1).cuda(), requires_grad=True) 51 | 52 | criterion = torch.nn.DataParallel(L2Loss(), device_ids=device) 53 | criterion.cuda() 54 | 55 | DG_init = [G_w1, G_w2, D_w1, D_w2] 56 | for param in DG_init: 57 | torch.nn.init.normal_(param, mean=0, std=0.1) 58 | 59 | generator = torch.nn.DataParallel(GEN(G_w1, G_w2, G_b1, G_b2, TEMPERATURE), device_ids=device) 60 | generator.cuda() 61 | discriminator = torch.nn.DataParallel(DIS(D_w1, D_w2, D_b1, D_b2), device_ids=device) 62 | discriminator.cuda() 63 | 64 | DG_param = [G_w1, G_w2, G_b1, G_b2, D_w1, D_w2, D_b1, D_b2] 65 | 66 | G_params = list(generator.parameters()) + [G_w1, G_w2, G_b1, G_b2] 67 | optimizer_G = torch.optim.SGD(G_params, lr = G_LEARNING_RATE, momentum=0.9) 68 | D_params = list(discriminator.parameters()) + [D_w1, D_w2, D_b1, D_b2] 69 | optimizer_D = torch.optim.SGD(D_params, lr = D_LEARNING_RATE, momentum=0.9) 70 | 71 | workdir = 'MQ2008-semi' 72 | DIS_TRAIN_FILE = workdir + '/run-train-gan-1.txt' 73 | GAN_MODEL_BEST_FILE = workdir + '/gan_best_nn.model' 74 | 75 | 76 | query_url_feature, query_url_index, query_index_url =\ 77 | ut.load_all_query_url_feature(workdir + '/Large_norm.txt', FEATURE_SIZE) 78 | query_pos_train = ut.get_query_pos(workdir + '/train.txt') 79 | query_pos_test = ut.get_query_pos(workdir + '/test.txt') 80 | 81 | def generate_for_d(filename): 82 | data = [] 83 | print('negative sampling for d using g ...') 84 | for query in query_pos_train: 85 | pos_list = query_pos_train[query] 86 | all_list = query_index_url[query] 87 | candidate_list = all_list 88 | 89 | candidate_list_feature = [query_url_feature[query][url] for url in candidate_list] 90 | candidate_list_feature = np.asarray(candidate_list_feature) 91 | with torch.cuda.device(device[0]): 92 | candidate_list_score = generator.module.pred_score(torch.tensor(candidate_list_feature).cuda()) 93 | # softmax for candidate 94 | candidate_list_score = candidate_list_score.detach().cpu().numpy() 95 | exp_rating = np.exp(candidate_list_score - np.max(candidate_list_score)) 96 | prob = exp_rating / np.sum(exp_rating) 97 | 98 | neg_list = np.random.choice(candidate_list, size=[len(pos_list)], p=prob.reshape(-1,)) 99 | 100 | for i in range(len(pos_list)): 101 | data.append((query, pos_list[i], neg_list[i])) 102 | 103 | random.shuffle(data) 104 | with open(filename, 'w') as fout: 105 | for (q, pos, neg) in data: 106 | fout.write(','.join([str(f) for f in query_url_feature[q][pos]]) 107 | + '\t' 108 | + ','.join([str(f) for f in query_url_feature[q][neg]]) + '\n') 109 | fout.flush() 110 | 111 | 112 | def main(): 113 | p_best_val = 0.0 114 | ndcg_best_val = 0.0 115 | 116 | for epoch in range(30): 117 | if epoch >= 0: 118 | print('Training D ...') 119 | for d_epoch in range(100): 120 | if d_epoch % 30 == 0: 121 | generate_for_d(DIS_TRAIN_FILE) 122 | train_size = ut.file_len(DIS_TRAIN_FILE) 123 | 124 | index = 1 125 | while True: 126 | if index > train_size: 127 | break 128 | if index + BATCH_SIZE <= train_size + 1: 129 | input_pos, input_neg = ut.get_batch_data(DIS_TRAIN_FILE, index, BATCH_SIZE) 130 | else: 131 | input_pos, input_neg = ut.get_batch_data(DIS_TRAIN_FILE, index, train_size - index + 1) 132 | index += BATCH_SIZE 133 | 134 | pred_data = [] 135 | pred_data.extend(input_pos) 136 | pred_data.extend(input_neg) 137 | pred_data = np.asarray(pred_data) 138 | 139 | pred_data_label = [1.0] * len(input_pos) 140 | pred_data_label.extend([0.0] * len(input_neg)) 141 | pred_data_label = np.asarray(pred_data_label) 142 | 143 | loss_d = discriminator(torch.tensor(pred_data), torch.tensor(pred_data_label)) \ 144 | + WEIGHT_DECAY * (criterion(D_w1) + criterion(D_w2) 145 | + criterion(D_b1) + criterion(D_b2)) 146 | optimizer_D.zero_grad() 147 | loss_d.backward() 148 | optimizer_D.step() 149 | print("\r[D Epoch %d/%d] [loss: %f]" %(d_epoch, 100, loss_d.item())) 150 | 151 | print('Training G ...') 152 | for g_epoch in range(30): 153 | num = 0 154 | for query in query_pos_train.keys(): 155 | pos_list = query_pos_train[query] 156 | pos_set = set(pos_list) 157 | all_list = query_index_url[query] 158 | 159 | all_list_feature = [query_url_feature[query][url] for url in all_list] 160 | all_list_feature = np.asarray(all_list_feature) 161 | # pdb.set_trace() 162 | with torch.cuda.device(device[0]): 163 | all_list_score = generator.module.pred_score(torch.tensor(all_list_feature).cuda()) 164 | all_list_score = all_list_score.detach().cpu().numpy() 165 | # softmax for all 166 | exp_rating = np.exp(all_list_score - np.max(all_list_score)) 167 | prob = exp_rating / np.sum(exp_rating) 168 | 169 | prob_IS = prob * (1.0 - LAMBDA) 170 | 171 | for i in range(len(all_list)): 172 | if all_list[i] in pos_set: 173 | prob_IS[i] += (LAMBDA / (1.0 * len(pos_list))) 174 | # pdb.set_trace() 175 | choose_index = np.random.choice(np.arange(len(all_list)), [5 * len(pos_list)], p=prob_IS.reshape(-1,)) 176 | choose_list = np.array(all_list)[choose_index] 177 | choose_feature = [query_url_feature[query][url] for url in choose_list] 178 | choose_IS = np.array(prob)[choose_index] / np.array(prob_IS)[choose_index] 179 | 180 | choose_index = np.asarray(choose_index) 181 | choose_feature = np.asarray(choose_feature) 182 | choose_IS = np.asarray(choose_IS) 183 | with torch.cuda.device(device[0]): 184 | choose_reward = discriminator.module.get_reward(torch.tensor(choose_feature).cuda()) 185 | choose_reward.detach_() 186 | 187 | loss_g = generator(torch.tensor(all_list_feature).cuda(), torch.tensor(choose_index), choose_reward, torch.tensor(choose_IS)) \ 188 | + WEIGHT_DECAY * (criterion(G_w1) + criterion(G_w2) 189 | + criterion(G_b1) + criterion(G_b2)) 190 | # pdb.set_trace() 191 | 192 | optimizer_G.zero_grad() 193 | loss_g.backward() 194 | optimizer_G.step() 195 | num += 1 196 | # if num == 200: 197 | # pdb.set_trace() 198 | print("\r[G Epoch %d/%d] [loss: %f]" %(g_epoch, 30, loss_g.item())) 199 | # pdb.set_trace() 200 | p_5 = precision_at_k(device, generator, query_pos_test, query_pos_train, query_url_feature, k=5) 201 | ndcg_5 = ndcg_at_k(device, generator, query_pos_test, query_pos_train, query_url_feature, k=5) 202 | 203 | if p_5 > p_best_val: 204 | p_best_val = p_5 205 | ndcg_best_val = ndcg_5 206 | print("Best:", "gen p@5 ", p_5, "gen ndcg@5 ", ndcg_5) 207 | elif p_5 == p_best_val: 208 | if ndcg_5 > ndcg_best_val: 209 | ndcg_best_val = ndcg_5 210 | print("Best:", "gen p@5 ", p_5, "gen ndcg@5 ", ndcg_5) 211 | #validation 212 | # p_5 = precision_at_k(val_loader, 5) 213 | # if p_5 > p_best_val: 214 | # p_best_val = p_5 215 | # print("Best:", "gen p@5 ", p_5) 216 | # torch.save(recipe_emb.state_dict(), 'saved_models/recipe_emb_%d_%.3f.pth' % (epoch, p_5)) 217 | # param_num = 1 218 | # for param in DG_param: 219 | # torch.save(param, 'saved_models/param%d_%d_%.3f.pt' % (param_num, epoch, p_5)) 220 | # param_num += 1 221 | p_1_best = precision_at_k(device, generator, query_pos_test, query_pos_train, query_url_feature, k=1) 222 | p_3_best = precision_at_k(device, generator, query_pos_test, query_pos_train, query_url_feature, k=3) 223 | p_5_best = precision_at_k(device, generator, query_pos_test, query_pos_train, query_url_feature, k=5) 224 | p_10_best = precision_at_k(device, generator, query_pos_test, query_pos_train, query_url_feature, k=10) 225 | 226 | ndcg_1_best = ndcg_at_k(device, generator, query_pos_test, query_pos_train, query_url_feature, k=1) 227 | ndcg_3_best = ndcg_at_k(device, generator, query_pos_test, query_pos_train, query_url_feature, k=3) 228 | ndcg_5_best = ndcg_at_k(device, generator, query_pos_test, query_pos_train, query_url_feature, k=5) 229 | ndcg_10_best = ndcg_at_k(device, generator, query_pos_test, query_pos_train, query_url_feature, k=10) 230 | 231 | # map_best = MAP(sess, generator, query_pos_test, query_pos_train, query_url_feature) 232 | # mrr_best = MRR(sess, generator, query_pos_test, query_pos_train, query_url_feature) 233 | 234 | print("Best ", "p@1 ", p_1_best, "p@3 ", p_3_best, "p@5 ", p_5_best, "p@10 ", p_10_best) 235 | print("Best ", "ndcg@1 ", ndcg_1_best, "ndcg@3 ", ndcg_3_best, "ndcg@5 ", ndcg_5_best, "p@10 ", ndcg_10_best) 236 | # print("Best MAP ", map_best) 237 | # print("Best MRR ", mrr_best) 238 | if __name__ == '__main__': 239 | main() -------------------------------------------------------------------------------- /ltr-gan/models.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: UTF-8 -*- 3 | import torch.nn as nn 4 | import torch.nn.functional as F 5 | import torch 6 | import torchwordemb 7 | import torchvision.models as models 8 | import pdb 9 | 10 | 11 | class L2Loss(nn.Module): 12 | def __init__(self): 13 | super(L2Loss, self).__init__() 14 | self.loss = nn.MSELoss() 15 | self.register_buffer('target', torch.tensor(0.0)) 16 | 17 | def get_target_tensor(self, input): 18 | target_tensor = self.target 19 | 20 | return target_tensor.expand_as(input) 21 | 22 | def __call__(self, input): 23 | target_tensor = self.get_target_tensor(input) 24 | return self.loss(input, target_tensor) 25 | 26 | 27 | class GEN(nn.Module): 28 | """docstring for GEN""" 29 | def __init__(self, G_w1, G_w2, G_b1, G_b2, temperature): 30 | super(GEN, self).__init__() 31 | self.G_w1 = G_w1 32 | self.G_w2 = G_w2 33 | self.G_b1 = G_b1 34 | self.G_b2 = G_b2 35 | self.temperature = temperature 36 | # self.softmax = torch.nn.Softmax() 37 | 38 | def pred_score(self, pred_data): 39 | self.score = (torch.mm(torch.tanh(torch.mm(pred_data.float(), self.G_w1.float()) + self.G_b1), self.G_w2) + self.G_b2) / self.temperature 40 | return self.score 41 | 42 | def forward(self, pred_data, sample_index, reward, important_sampling): 43 | softmax_score = F.softmax(self.pred_score(pred_data).view(1, -1), -1) 44 | gan_prob = torch.gather(softmax_score.view(-1), 0, sample_index.long()).clamp(min=1e-8) 45 | loss = -torch.mean(torch.log(gan_prob) * reward.view(-1) * important_sampling.view(-1)) 46 | # if torch.isnan(loss): 47 | # pdb.set_trace() 48 | # loss = -torch.mean(torch.log(gan_prob) * reward * important_sampling) 49 | return loss 50 | 51 | 52 | class DIS(nn.Module): 53 | def __init__(self, D_w1, D_w2, D_b1, D_b2): 54 | super(DIS, self).__init__() 55 | self.D_w1 = D_w1 56 | self.D_w2 = D_w2 57 | self.D_b1 = D_b1 58 | self.D_b2 = D_b2 59 | 60 | def pred_score(self, pred_data): 61 | self.score = torch.mm(torch.tanh(torch.mm(pred_data.float(), self.D_w1.float()) + self.D_b1), self.D_w2) + self.D_b2 62 | return self.score 63 | 64 | def forward(self, pred_data, pred_data_label): 65 | # pdb.set_trace() 66 | loss = torch.mean(F.binary_cross_entropy_with_logits(self.pred_score(pred_data), pred_data_label.view(-1, 1).float())) 67 | return loss 68 | 69 | def get_reward(self, pred_data): 70 | reward = (torch.sigmoid(self.pred_score(pred_data)) - 0.5) * 2 71 | return reward 72 | --------------------------------------------------------------------------------