From xheo at yahoo.fr Mon May 1 11:01:26 2006 From: xheo at yahoo.fr (Bassem Fennani) Date: Tue May 2 17:43:50 2006 Subject: [Avispa-users] help plz Message-ID: <20060501090126.4562.qmail@web26706.mail.ukl.yahoo.com> hello , i'm a new user of Avispa Tool i would be grateful if you can provide me with SET protocol Hpls specification thx --------------------------------- Faites de Yahoo! votre page d'accueil sur le web pour retrouver directement vos services pr?f?r?s : v?rifiez vos nouveaux mails, lancez vos recherches et suivez l'actualit? en temps r?el. Cliquez ici. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://carroll.ai.dist.unige.it/pipermail/avispa-users/attachments/20060501/fe27e75b/attachment-0001.htm From iwk20 at ui.edu Mon May 1 11:09:45 2006 From: iwk20 at ui.edu (Ilham Kurnia) Date: Tue May 2 17:43:50 2006 Subject: [Avispa-users] help plz In-Reply-To: <20060501090126.4562.qmail@web26706.mail.ukl.yahoo.com> References: <20060501090126.4562.qmail@web26706.mail.ukl.yahoo.com> Message-ID: <1146474586.8544.9.camel@riset-a-s1-112.riset.cs.ui.ac.id> Hi there, Found two specs at http://avispa-project.org/library/index.html : http://avispa-project.org/library/SET-purchase.html and http://avispa-project.org/library/SET-purchase-honest-payment-gateway.html The hlpsl spec for each is at the bottom half of the page. Cheers, Ilham On Mon, 2006-05-01 at 11:01 +0200, Bassem Fennani wrote: > hello , > i'm a new user of Avispa Tool > i would be grateful if you can provide me with SET protocol Hpls > specification > thx > > ______________________________________________________________________ From xheo at yahoo.fr Mon May 1 13:00:14 2006 From: xheo at yahoo.fr (Bassem Fennani) Date: Tue May 2 17:43:50 2006 Subject: [Avispa-users] about TLS Message-ID: <20060501110014.36069.qmail@web26712.mail.ukl.yahoo.com> hi , i know that the replay attack exists on TLS protocol (since the server decrypt all messages sent by the client )but it's not mentionned in TLS spec . i would like to know why. thx --------------------------------- Faites de Yahoo! votre page d'accueil sur le web pour retrouver directement vos services pr?f?r?s : v?rifiez vos nouveaux mails, lancez vos recherches et suivez l'actualit? en temps r?el. Cliquez ici. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://carroll.ai.dist.unige.it/pipermail/avispa-users/attachments/20060501/fbb7c0fe/attachment-0001.htm From iwk20 at ui.edu Mon May 1 15:14:28 2006 From: iwk20 at ui.edu (Ilham Kurnia) Date: Tue May 2 17:43:50 2006 Subject: [Avispa-users] OFMC: exponentiation support question Message-ID: <1146489269.8544.48.camel@riset-a-s1-112.riset.cs.ui.ac.id> Hi all, I have been trying to verify the authentication protocol B proposed by European Telecommunications Standard Institute and used in authentication part of Horn-Preneel UTMSPayment protocol. The protocol uses exponentiation as shown in Alice-Bob model below: U -> V: exp(g,u) V -> U: r; h2(K; r; V); Timestamp; certV where K = h1(exp(g,u),v) U -> V: {Sig_U(h3(exp(g,u); exp(g,v); r; V; Timestamp; Alpha_T); certU; Alpha_T}_K h1, h2, and h3 are hash functions; u and r are nonces, while v is the private key of V and exp(g,v) is V's public key. When I tested my complete model using OFMC as backend with sessco option on, the following message appeared. ofmc: OFMC can't see how the protocol can be executed. See manual for more information. I have reduced the HLPSL file (attached) to a model of which this behaviour is still observable. Have I used the exponentiation function incorrectly such that OFMC rejects my specification? Thank you very much for your trouble. Regards, Ilham Kurnia ------ Undergraduate Student Faculty of Computer Science University of Indonesia -------------- next part -------------- role user(U, V : agent, H1, H2, H3 : function, F : function, G : text, % Generator g Kv : message, % public key of V, from exp(g,v) Ku : public_key, % dummy for signature Kca : public_key, % Certificate authority public key Kpriv_v : text, Cert_u : {message}_inv(public_key), Snd, Rcv : channel(dy)) played_by U def= local State: nat, Random_u : text, % randomly generated number Timestamp : text, Random_r : text, Cert_v : {message}_inv(public_key), Random_u_exp : message, Session_key : text, Hash2 : message init State := 0 transition 0. State = 0 /\ Rcv(start) =|> State' := 2 /\ Random_u' := new() /\ Random_u_exp' := exp(G,Random_u') /\ Snd(Random_u_exp') 2. State = 2 /\ Rcv(Random_r'.H2(H1(exp(Kv,Random_u).Random_r').Random_r'.V).Timestamp'.{V.Kv}_inv(Kca)) =|> State' := 4 /\ Session_key' := H1(exp(Kv,Random_u).Random_r') /\ secret(Session_key',session_key,{U,V}) end role %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% role vasp(U, V : agent, H1, H2, H3 : function, Ku : public_key, Kca : public_key, % certificate authority public key Kpriv_v : text, Cert_v : {message}_inv(public_key), Snd, Rcv : channel(dy)) played_by V def= local State: nat, Random_u_exp : message, Random_r : text, Timestamp : text, Session_key : message const session_key : protocol_id init State := 1 transition 1. State = 1 /\ Rcv(Random_u_exp') =|> State' := 3 /\ Timestamp' := new() /\ Random_r' := new() /\ Session_key' := H1(exp(Random_u_exp',Kpriv_v).Random_r') /\ Snd(Random_r'.H2(Session_key'.Random_r'.V).Timestamp'.Cert_v) end role %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% role session(U, V : agent, H1, H2, H3, F : function, G, T : text, Kpriv_v : text, % V's private key Ku, Kca : public_key, Cert_u, Cert_v : {message}_inv(public_key)) def= local Su, Ru, Sv, Rv : channel(dy) composition user(U, V, H1, H2, H3, F, G, exp(G,Kpriv_v), Ku, Kca, Kpriv_v, Cert_u, Su, Ru) /\ vasp(U, V, H1, H2, H3, Ku, Kca, Kpriv_v, Cert_v, Sv, Rv) end role %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% role environment() def= const u, v, a, i : agent, h1, h2, h3, f, exp : function, g, t, kv, ki : text, ku, ka, kca, kpi : public_key intruder_knowledge = {u,v,a,i,h1,h2,h3,f,g,t,exp(g,kv),{v.exp(g,kv)}_inv(kca),{u.ku}_inv(kca),kca,ku,ki,exp(g,ki),kpi,ka} composition session(u,v,h1,h2,h3,f,g,t,kv,ku,kca,{u.ku}_inv(kca),{v.exp(g,kv)}_inv(kca)) end role %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% goal secrecy_of session_key end goal %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% environment() From jon.pettersen at hig.no Thu May 4 10:58:22 2006 From: jon.pettersen at hig.no (Jon Fredrik Pettersen) Date: Thu May 4 10:56:17 2006 Subject: [Avispa-users] (no subject) Message-ID: <4459C22E.6090005@hig.no> Hello I'am having problems compiling my avispa project. The error message I'am getting: Syntax error: Line 15, Col 1 (offset 287-290, string "init") %% Syn.Err(3): missing variable identifier My Avispa code: %Basic Access Control autentication and key establishment(ICAO standard) role alice (A, B: agent, Hash: function, K_MAC: symmetric_key, K_ENC: symmetric_key, SND, RCV: channel (dy)) played_by A def= local State : nat, Rnd_icc, K_icc, M_icc : text init State := 0 transition 0. State = 0 /\ RCV(start) =|> State' := 1 /\ Rnd_icc' := new() %Generates a nonce Rnd_icc. /\ SND(Rnd_icc') %ICC generates and responds with Rnd.icc /\ Witness(A,B,alice_bob_rnd_icc,Rnd_icc') 2. State = 2 /\ RCV ({Rnd_ifd.Rnd_icc.K_ifd}_K_ENC.M_ifd) =|> State' := 3 /\ K_icc := new() %Generate keying material. /\ M_icc := Hash (Rnd_icc.Rnd_ifd.K_icc') %Compute checksum. /\ M_icc := {M_icc'}_K_MAC %Compute checksum. /\ SND({Rnd_icc.Rnd_ifd.K_icc}_K_ENC.M_icc') /\ Witness(A,B,alice_bob_k_icc,K_icc') /\ Request(A,B,alice_bob_k_ifd,K_ifd) end role role bob (A, B: agent, Hash: function, K_MAC: symmetric_key, K_ENC: symmetric_key, SND, RCV: channel (dy)) played_by B def= local State : nat, Rnd_ifd, K_ifd, M_ifd : text init State := 1 transition % IFD sends get challenge 1. State = 1 /\ RCV(Rnd_icc) =|> %IFD recive Rnd.icc. State' := 2 /\ Rnd_ifd := new() % IFD generate nonce Rnd_ifd. /\ K_ifd := new() % IFD generate keying material K_ifd. /\ M_ifd := Hash (Rnd_ifd.Rnd_icc.K_ifd) %Compute the checksum /\ M_ifd := {M_ifd'}_K_MAC %Compute the checksum, with key K_MAC. /\ SND ({Rnd_ifd.Rnd_icc.K_ifd}_K_ENC.M_ifd) /\ Witness(B,A,alice_bob_k_ifd,K_ifd') /\ Request (B,A,alice_bob_rnd_icc,Rnd_icc) 3. State = 3 /\ RCV({Rnd_icc.Rnd.ifd.K_icc}_K_ENC.M_icc) =|> State' := 4 Request(B,A,alice_bob_k_icc,K_icc) %check the checksum M_icc of the cryptogram E_icc. %Decrypt the cryptogram E_icc. %Extract Rnd.ifd from the cryptogram, and check if ICC returned the correct value. end role role session( A,B : agent, K_ENC, K_MAC : symmetric_key, Hash : function) def= local SA, RA, SB, RB : channel(dy) composition alice(A, B, K_ENC, K_MAC, Hash, SA, RA) /\bob(B, A, K_ENC, K_MAC, Hash, SB, RB) end role role environment() def= const a, b : agent, k_enc, k_mac : symmetric_key, alice_bob_k_icc, alice_bob_k_ifd, alice_bob_rnd_icc : protocol_id, hash : function intruder_knowledge = {a, b, hash} composition session(a, b, k_enc, k_mac, hash) /\session(a, i, k_enc, k_mac, hash) /\session(i, b, k_enc, k_mac, hash) end role goal authentication_on alice_bob_k_icc authentication_on alice_bob_k_ifd authentication_on alice_bob_rnd_icc end goal environment() Regards Jon Fredrik From iwk20 at ui.edu Thu May 4 11:34:55 2006 From: iwk20 at ui.edu (Ilham Kurnia) Date: Thu May 4 11:32:56 2006 Subject: [Avispa-users] (no subject) In-Reply-To: <4459C22E.6090005@hig.no> References: <4459C22E.6090005@hig.no> Message-ID: <1146735295.11411.12.camel@riset-a-s1-112.riset.cs.ui.ac.id> Hi, I've tried compiling your specification and got a different error: %% Syntax error: Line 24, Col 31 (offset 696-697, string ":=") %% Syn.Err(16): invalid transition: missing "/\", label, action or "end role" keyword > State' := 3 /\ K_icc := new() %Generate keying material. > /\ M_icc := Hash (Rnd_icc.Rnd_ifd.K_icc') Regarding the error above, I think that you need to put a prime (') when assigning new values. If you still have that strange init error, try to redownload avispa. Maybe that will help. Ilham -- Undergraduate Student Faculty of Computer Science University of Indonesia From jon.pettersen at hig.no Thu May 4 15:56:09 2006 From: jon.pettersen at hig.no (Jon Fredrik Pettersen) Date: Thu May 4 15:54:12 2006 Subject: [Avispa-users] (no subject) Message-ID: <445A07F9.9090701@hig.no> Hello Thanks for the help! Some additional questions: I want to concatenate the variables Rnd_icc, Rnd_ifd and K_icc for input to a hash function(e.g. SHA-1) to make a new variable that is called M_icc. I have tried to accomplish this by using the command below, but it does not compile. /\ M_icc := Hash (Rnd_icc.Rnd_ifd.K_icc') Regards Jon Fredrik From Laurent.Vigneron at loria.fr Thu May 4 16:37:59 2006 From: Laurent.Vigneron at loria.fr (Laurent Vigneron) Date: Thu May 4 16:36:08 2006 Subject: [Avispa-users] (no subject) In-Reply-To: <445A07F9.9090701@hig.no> References: <445A07F9.9090701@hig.no> Message-ID: <1146753479.445a11c773648@www.loria.fr> Hi Jon Fredrik, > Some additional questions: > > I want to concatenate the variables Rnd_icc, Rnd_ifd and K_icc for > input to a hash function(e.g. SHA-1) to make a new variable that is > called M_icc. > I have tried to accomplish this by using the command below, but it does > not compile. > > > /\ M_icc := Hash (Rnd_icc.Rnd_ifd.K_icc') Did you declare all three variables Rnd_icc, Rnd_ifd and K_icc? This was not the case in the spec you sent in the previous e-mail. Note also that even when declared, this should not work, as Rnd_ifd is never learned (that is learned in a received message, RCV(... Rnd_ifd' ...), or assigned in the right-hand side of a transition, Rnd_ifd':=...). One more recommendation: do not use the word "hash" for a constant, as in the very next release this will be a keyword... ;) Laurent. From vigano at inf.ethz.ch Fri May 5 12:36:31 2006 From: vigano at inf.ethz.ch (vigano@inf.ethz.ch) Date: Fri May 5 08:03:16 2006 Subject: [Avispa-users] Final CFP: FCS-ARSPA'06 (Workshop on Foundations of Computer Security and Automated Reasoning for Security Protocol Analysis) Message-ID: <20060505103631.GA22450@inf.ethz.ch> apologies for multiple copies ****************************************** *** NEW: post-workshop Special Issue *** *** of Information and Computatation *** *** *** *** Submission page open *** ****************************************** ************************ **** **** **** FCS-ARSPA'06 **** **** **** ************************ A LICS'06 (and FLoC'06) Affiliated Workshop on FOUNDATIONS OF COMPUTER SECURITY and AUTOMATED REASONING FOR SECURITY PROTOCOL ANALYSIS Seattle, Washington, August 15-16, 2006 http://www.inf.ethz.ch/~vigano/fcs-arspa06 *********************** *** CALL FOR PAPERS *** *********************** Submission deadline: May 10, 2006 BACKGROUND, AIM AND SCOPE ========================= Computer security is an established field of computer science of both theoretical and practical significance. In recent years, there has been increasing interest in logic-based foundations for various methods in computer security, including the formal specification, analysis and design of security protocols and their applications, the formal definition of various aspects of security such as access control mechanisms, mobile code security and denial-of-service attacks, and the modeling of information flow and its application to confidentiality policies, system composition, and covert channel analysis. The workshop FCS-ARSPA'06 is the fusion of two workshops. The workshop FCS continues a tradition, initiated with the Workshops on Formal Methods and Security Protocols (FMSP) in 1998 and 1999, then with the Workshop on Formal Methods and Computer Security (FMCS) in 2000, and finally with the LICS satellite Workshop on Foundations of Computer Security (FCS) in 2002 through 2005, of bringing together formal methods and the security community. The ARSPA workshop is the third in a series of workshops on Automated Reasoning for Security Protocol Analysis, bringing together researchers and practitioners from both the security and the formal methods communities, from academia and industry, who are working on developing and applying automated reasoning techniques and tools for the formal specification and analysis of security protocols. The first two ARSPA workshops were held as satellite events of IJCAR'04 and of ICALP'05, respectively. The aim of the joint workshop FCS-ARSPA'06 is to provide a forum for continued activity in these areas, to bring computer security researchers in closer contact with the LICS community, and to give LICS attendees an opportunity to talk to experts in computer security. We thus solicit submissions of papers both on mature work and on work in progress. We are interested both in new results in theories of computer security and also in more exploratory presentations that examine open questions and raise fundamental concerns about existing theories, as well as in new results on developing and applying automated reasoning techniques and tools for the formal specification and analysis of security protocols. Possible topics include, but are not limited to: Automated reasoning techniques Access control and resource usage control Composition issues Authentication Formal specification Availability and denial of service Foundations of verification Covert channels Information flow analysis Confidentiality Language-based security Integrity and privacy Logic-based design for Intrusion detection Program transformation Malicious code Security models Mobile code Static analysis Mutual distrust Statistical methods Privacy Tools Security policies Trust management Security protocols All submissions will be peer-reviewed. Authors of accepted papers must guarantee that their paper will be presented at the workshop. SUBMISSION ========== Submissions should be at most 15 pages (a4paper, 11pt), including references, in the Springer LNCS style available at the URL http://www.springer.de/comp/lncs/authors.html The cover page should include title, names of authors, co-ordinates of the corresponding author, an abstract, and a list of keywords. It is recommended that submissions adhere to the specified format and length. Submissions that are clearly too long may be rejected immediately. Additional material intended for the referees but not for publication in the final version - for example details of proofs - may be placed in a clearly marked appendix that is not included in the page limit. Simultaneous submissions to a journal or another conference are accepted. Authors are invited to submit their papers electronically, as portable document format (pdf) or postscript (ps); please, do not send files formatted for work processing packages (e.g., Microsoft Word or Wordperfect files). The only mechanism for paper submissions is via the electronic submission web-site. IMPORTANT DATES =============== Papers due: May 10, 2006 Notification of acceptance: June 16, 2006 Final paper versions due: July 14, 2006 Workshop: August 15-16, 2006 PUBLICATION =========== Informal proceedings will be made available in electronic format and they will be distributed to all participants of the workshop. Moreover, workshop participants will be invited to submit full versions of their papers to a special issue of Information and Computation, which will be open also to non-participants, in all cases with fresh reviewing. INVITED TALKS ============= To be announced PROGRAM COMMITTEE ================= * Alessandro Armando (Universita` di Genova, Italy) * Jorge R. Cuellar (SIEMENS AG, Munich, Germany) * Anupam Datta (Stanford University, USA) * Pierpaolo Degano (Universita` di Pisa, Italy; co-chair) * Pablo Giambiagi (Swedish Institute of Computer Science, Sweden) * Virgil Gligor (University of Maryland, USA) * Roberto Gorrieri (Universita` di Bologna, Italy) * Carl A. Gunter (University of Illinois at Urbana-Champaign, USA) * Joshua Guttman (Mitre, USA) * Ralf Kuesters (Christian-Albrechts-Universitaet zu Kiel, Germany; co-chair) * Ninghui Li (Purdue University, USA) * Sjouke Mauw (University of Eindhoven, The Netherlands) * Peter Ryan (University of Newcastle, UK) * Luca Vigano` (ETH Zurich, Switzerland; co-chair) * Laurent Vigneron (INRIA-LORRAINE, Nancy, France) * Bogdan Warinschi (INRIA-LORRAINE, Nancy, France) * Steve Zdancewic (University of Pennsylvania, USA; co-chair) FCS Steering Committee: * Martin Abadi (University of California at Santa Cruz, USA) * Joshua Guttman (MITRE, USA) * John Mitchell (Stanford University, USA) * Andrei Sabelfeld (Chalmers, Sweden; chair) * Andre Scedrov (University of Pennsylvania, USA) ADDITIONAL INFORMATION ====================== Information about registration, travel, and venue can be found at the LICS'06 and FLoC'06 web-sites. For further information send an email to the workshop co-chairs at fcs-arspa06 -at- lists.inf.ethz.ch From vigano at inf.ethz.ch Mon May 8 22:38:24 2006 From: vigano at inf.ethz.ch (vigano@inf.ethz.ch) Date: Mon May 8 16:40:28 2006 Subject: [Avispa-users] FCS-ARSPA'06: deadline extension Message-ID: <20060508203824.GA3810@inf.ethz.ch> apologies for multiple copies **************************************** *** *** *** Due to several requests, the *** *** deadline is extended to May 17 *** *** *** **************************************** ************************ **** **** **** FCS-ARSPA'06 **** **** **** ************************ A LICS'06 (and FLoC'06) Affiliated Workshop on FOUNDATIONS OF COMPUTER SECURITY and AUTOMATED REASONING FOR SECURITY PROTOCOL ANALYSIS Seattle, Washington, August 15-16, 2006 http://www.inf.ethz.ch/~vigano/fcs-arspa06 *********************** *** CALL FOR PAPERS *** *********************** Submission deadline: May 17, 2006 BACKGROUND, AIM AND SCOPE ========================= Computer security is an established field of computer science of both theoretical and practical significance. In recent years, there has been increasing interest in logic-based foundations for various methods in computer security, including the formal specification, analysis and design of security protocols and their applications, the formal definition of various aspects of security such as access control mechanisms, mobile code security and denial-of-service attacks, and the modeling of information flow and its application to confidentiality policies, system composition, and covert channel analysis. The workshop FCS-ARSPA'06 is the fusion of two workshops. The workshop FCS continues a tradition, initiated with the Workshops on Formal Methods and Security Protocols (FMSP) in 1998 and 1999, then with the Workshop on Formal Methods and Computer Security (FMCS) in 2000, and finally with the LICS satellite Workshop on Foundations of Computer Security (FCS) in 2002 through 2005, of bringing together formal methods and the security community. The ARSPA workshop is the third in a series of workshops on Automated Reasoning for Security Protocol Analysis, bringing together researchers and practitioners from both the security and the formal methods communities, from academia and industry, who are working on developing and applying automated reasoning techniques and tools for the formal specification and analysis of security protocols. The first two ARSPA workshops were held as satellite events of IJCAR'04 and of ICALP'05, respectively. The aim of the joint workshop FCS-ARSPA'06 is to provide a forum for continued activity in these areas, to bring computer security researchers in closer contact with the LICS community, and to give LICS attendees an opportunity to talk to experts in computer security. We thus solicit submissions of papers both on mature work and on work in progress. We are interested both in new results in theories of computer security and also in more exploratory presentations that examine open questions and raise fundamental concerns about existing theories, as well as in new results on developing and applying automated reasoning techniques and tools for the formal specification and analysis of security protocols. Possible topics include, but are not limited to: Automated reasoning techniques Access control and resource usage control Composition issues Authentication Formal specification Availability and denial of service Foundations of verification Covert channels Information flow analysis Confidentiality Language-based security Integrity and privacy Logic-based design for Intrusion detection Program transformation Malicious code Security models Mobile code Static analysis Mutual distrust Statistical methods Privacy Tools Security policies Trust management Security protocols All submissions will be peer-reviewed. Authors of accepted papers must guarantee that their paper will be presented at the workshop. SUBMISSION ========== Submissions should be at most 15 pages (a4paper, 11pt), including references, in the Springer LNCS style available at the URL http://www.springer.de/comp/lncs/authors.html The cover page should include title, names of authors, co-ordinates of the corresponding author, an abstract, and a list of keywords. It is recommended that submissions adhere to the specified format and length. Submissions that are clearly too long may be rejected immediately. Additional material intended for the referees but not for publication in the final version - for example details of proofs - may be placed in a clearly marked appendix that is not included in the page limit. Simultaneous submissions to a journal or another conference are accepted, unless the rules for the journal or the other conference exclude such a possibility. If the paper is accepted to both FCS-ARSPA'06 and the other venue, it is the responsibility of the authors to promptly notify FCS-ARSPA'06 chairs and to acknowledge copyright holders. Authors are invited to submit their papers electronically, as portable document format (pdf) or postscript (ps); please, do not send files formatted for work processing packages (e.g., Microsoft Word or Wordperfect files). The only mechanism for paper submissions is via the electronic submission web-site. IMPORTANT DATES =============== Papers due: May 17, 2006 Notification of acceptance: June 16, 2006 Final paper versions due: July 14, 2006 Workshop: August 15-16, 2006 PUBLICATION =========== Informal proceedings will be made available in electronic format and they will be distributed to all participants of the workshop. Moreover, workshop participants will be invited to submit full versions of their papers to a special issue of Information and Computation, which will be open also to non-participants, in all cases with fresh reviewing. INVITED TALKS ============= To be announced PROGRAM COMMITTEE ================= * Alessandro Armando (Universita` di Genova, Italy) * Jorge R. Cuellar (SIEMENS AG, Munich, Germany) * Anupam Datta (Stanford University, USA) * Pierpaolo Degano (Universita` di Pisa, Italy; co-chair) * Pablo Giambiagi (Swedish Institute of Computer Science, Sweden) * Virgil Gligor (University of Maryland, USA) * Roberto Gorrieri (Universita` di Bologna, Italy) * Carl A. Gunter (University of Illinois at Urbana-Champaign, USA) * Joshua Guttman (Mitre, USA) * Ralf Kuesters (Christian-Albrechts-Universitaet zu Kiel, Germany; co-chair) * Ninghui Li (Purdue University, USA) * Sjouke Mauw (University of Eindhoven, The Netherlands) * Peter Ryan (University of Newcastle, UK) * Luca Vigano` (ETH Zurich, Switzerland; co-chair) * Laurent Vigneron (INRIA-LORRAINE, Nancy, France) * Bogdan Warinschi (INRIA-LORRAINE, Nancy, France) * Steve Zdancewic (University of Pennsylvania, USA; co-chair) FCS Steering Committee: * Martin Abadi (University of California at Santa Cruz, USA) * Joshua Guttman (MITRE, USA) * John Mitchell (Stanford University, USA) * Andrei Sabelfeld (Chalmers, Sweden; chair) * Andre Scedrov (University of Pennsylvania, USA) ADDITIONAL INFORMATION ====================== Information about registration, travel, and venue can be found at the LICS'06 and FLoC'06 web-sites. For further information send an email to the workshop co-chairs at fcs-arspa06 -at- lists.inf.ethz.ch From iwk20 at ui.edu Tue May 9 06:11:13 2006 From: iwk20 at ui.edu (Ilham Kurnia) Date: Tue May 9 00:13:39 2006 Subject: [Avispa-users] Timestamp question Message-ID: <1147147874.11411.28.camel@riset-a-s1-112.riset.cs.ui.ac.id> Hi all, I have seen several protocol models in AVISPA library that use timestamp, such as Kerberos and APOP. In those models, timestamp is always assigned with new(). The user manual states new() as creating a nonce. However, the timestamp concept is not just about giving it some random value. At the very least, the random value should be a sequence number. Could anyone be so kind to explain/refer to an article the justification of the assignment of new() to timestamp in protocol modelling in HLPSL? Sincerely yours, Ilham From David.von.Oheimb at siemens.com Tue May 9 02:17:37 2006 From: David.von.Oheimb at siemens.com (David von Oheimb) Date: Tue May 9 04:18:08 2006 Subject: [Avispa-users] Timestamp question In-Reply-To: <1147147874.11411.28.camel@riset-a-s1-112.riset.cs.ui.ac.id> References: <1147147874.11411.28.camel@riset-a-s1-112.riset.cs.ui.ac.id> Message-ID: <445FDFA1.2000805@siemens.com> Hi Ilham, > I have seen several protocol models in AVISPA library that use > timestamp, such as Kerberos and APOP. In those models, timestamp is > always assigned with new(). The user manual states new() as creating a > nonce. However, the timestamp concept is not just about giving it some > random value. At the very least, the random value should be a sequence > number. you're right, the modeling of timestamps via nonces is not really adequate. When having a closer look at the models, you will notice that the "timestamps" are used as (not much more than) placeholders. They get initialized, but if used at all, then for equality testing. The problem is that HLPSL (and in particular the backends) do not support time, and neither arithmetic. Counters can be simulated to some extent using terms like "succ(succ(succ(zero)))", as done e.g. for the tesla.hlpsl formalization. Maybe this little trick is sufficient for your purposes, too. Sincerely, David +------------------------------------------------------------------<><-+ | Dr. David von Oheimb Senior Research Scientist | | Siemens AG - CT IC 3 Phone: +49 89 636 41173 | | Otto-Hahn-Ring 6 Fax : +49 89 636 48000 | | D-81730 M?nchen, Germany EMail: David.von.Oheimb@siemens.com | | http://scd.siemens.de/db4/lookUp?tcgid=Z000ECRO http://ddvo.net/ | +----------------------------------------------------------------------+ From moedersheim at inf.ethz.ch Tue May 9 13:41:58 2006 From: moedersheim at inf.ethz.ch (Sebastian Alexander Moedersheim) Date: Tue May 9 07:44:04 2006 Subject: [Avispa-users] Timestamp question In-Reply-To: <1147147874.11411.28.camel@riset-a-s1-112.riset.cs.ui.ac.id> References: <1147147874.11411.28.camel@riset-a-s1-112.riset.cs.ui.ac.id> Message-ID: <17504.32774.346411.630489@gargle.gargle.HOWL> Hi Ilham and David, I have a slightly different view on this. Since this was an issue often discussed, let me give a brief summary. Please keep in mind that our models are abstracting away a lot of details of cryptography. From such an abstract viewpoint there is not much difference between the least significant bits of a timestamp and a nonce -- in particular they are both unpredicatable. (Though the upper bits of the timestamp are not, and they may allow dictionary attacks.) In fact, what timestamps should achieve is to limit the time window in which a message is accepted by a recipient and thus limiting the replay of messages. So what we did in AVISPA was to use *weak* authentication instead of the standard authentication as a goal: all those attacks are ignored, in which some participant merely accepts something several times, since such attacks are easily prevented by the timestamp mechanism. So we don't have to think about complicated models with precise notions of time, intervals, expiration times ... Note, however, that in such a setting even minor authentication problems (that seem negligible) may have consequences on the timestamp mechanism of the "real" protocol: e.g. in Wide-Mouth-Frog protocol, a small authentication problem leads to the possibility that the intruder keeps a session "alive" forever (and this consequence we cannot see in our model). Regards, Sebastian Ilham Kurnia writes: > Hi all, > > I have seen several protocol models in AVISPA library that use > timestamp, such as Kerberos and APOP. In those models, timestamp is > always assigned with new(). The user manual states new() as creating a > nonce. However, the timestamp concept is not just about giving it some > random value. At the very least, the random value should be a sequence > number. > > Could anyone be so kind to explain/refer to an article the justification > of the assignment of new() to timestamp in protocol modelling in HLPSL? > > Sincerely yours, > > Ilham > > _______________________________________________ > Avispa-users mailing list > Avispa-users@avispa-project.org > http://www.avispa-project.org/mailman/listinfo/avispa-users From moedersheim at inf.ethz.ch Tue May 9 19:57:18 2006 From: moedersheim at inf.ethz.ch (Sebastian Alexander Moedersheim) Date: Tue May 9 13:59:21 2006 Subject: [Avispa-users] OFMC: exponentiation support question In-Reply-To: <1146489269.8544.48.camel@riset-a-s1-112.riset.cs.ui.ac.id> References: <1146489269.8544.48.camel@riset-a-s1-112.riset.cs.ui.ac.id> Message-ID: <17504.55294.864594.763150@gargle.gargle.HOWL> Dear Ilham and Laurent, > I have been trying to verify the authentication protocol B proposed by > European Telecommunications Standard Institute and used in > authentication part of Horn-Preneel UTMSPayment protocol. > > The protocol uses exponentiation as shown in Alice-Bob model below: ... > When I tested my complete model using OFMC as backend with sessco option > on, the following message appeared. > > ofmc: OFMC can't see how the protocol can be executed. > See manual for more information. > > I have reduced the HLPSL file (attached) to a model of which this > behaviour is still observable. > > Have I used the exponentiation function incorrectly such that OFMC > rejects my specification? I have just had a look at it and I found a few minor problems (I am using a newer, not yet released version of HLPSL2IF which gives out more warnings): - exp is declared as a function in the main call. As exp is "built-in" in HLPSL, this is not allowed. - For some reason the HLPSL2IF compiler seems to have trouble with translating calling a role with a term that involves the exp function symbol, i.e. I get an error for user(..., exp(g,kv), ...) but not for user(..., g.kv, ...) [of course, this is not a mistake of yours!] - the same problem appears in the initial intruder knowledge It is quite difficult to work around this, so I would like to ask Laurent (who wrote HLPSL2IF) to maybe have a look at it. Anyway, I have attached a specification that now goes through HLPSL2IF and is executable in OFMC. (However I have removed the certificates for the user and the intruder which I couldn't work around.) Ciao, Sebastian New spec: -------------- next part -------------- A non-text attachment was scrubbed... Name: b.hlpsl Type: application/octet-stream Size: 3107 bytes Desc: not available Url : http://carroll.ai.dist.unige.it/pipermail/avispa-users/attachments/20060509/2cc87c5a/b.obj -------------- next part -------------- Original spec: role user(U, V : agent, H1, H2, H3 : function, F : function, G : text, % Generator g Kv : message, % public key of V, from exp(g,v) Ku : public_key, % dummy for signature Kca : public_key, % Certificate authority public key Kpriv_v : text, Cert_u : {message}_inv(public_key), Snd, Rcv : channel(dy)) played_by U def= local State: nat, Random_u : text, % randomly generated number Timestamp : text, Random_r : text, Cert_v : {message}_inv(public_key), Random_u_exp : message, Session_key : text, Hash2 : message init State := 0 transition 0. State = 0 /\ Rcv(start) =|> State' := 2 /\ Random_u' := new() /\ Random_u_exp' := exp(G,Random_u') /\ Snd(Random_u_exp') 2. State = 2 /\ Rcv(Random_r'.H2(H1(exp(Kv,Random_u).Random_r').Random_r'.V).Timestamp'.{V.Kv}_inv(Kca)) =|> State' := 4 /\ Session_key' := H1(exp(Kv,Random_u).Random_r') /\ secret(Session_key',session_key,{U,V}) end role %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% role vasp(U, V : agent, H1, H2, H3 : function, Ku : public_key, Kca : public_key, % certificate authority public key Kpriv_v : text, Cert_v : {message}_inv(public_key), Snd, Rcv : channel(dy)) played_by V def= local State: nat, Random_u_exp : message, Random_r : text, Timestamp : text, Session_key : message const session_key : protocol_id init State := 1 transition 1. State = 1 /\ Rcv(Random_u_exp') =|> State' := 3 /\ Timestamp' := new() /\ Random_r' := new() /\ Session_key' := H1(exp(Random_u_exp',Kpriv_v).Random_r') /\ Snd(Random_r'.H2(Session_key'.Random_r'.V).Timestamp'.Cert_v) end role %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% role session(U, V : agent, H1, H2, H3, F : function, G, T : text, Kpriv_v : text, % V's private key Ku, Kca : public_key, Cert_u, Cert_v : {message}_inv(public_key)) def= local Su, Ru, Sv, Rv : channel(dy) composition user(U, V, H1, H2, H3, F, G, exp(G,Kpriv_v), Ku, Kca, Kpriv_v, Cert_u, Su, Ru) /\ vasp(U, V, H1, H2, H3, Ku, Kca, Kpriv_v, Cert_v, Sv, Rv) end role %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% role environment() def= const u, v, a, i : agent, h1, h2, h3, f, exp : function, g, t, kv, ki : text, ku, ka, kca, kpi : public_key intruder_knowledge = {u,v,a,i,h1,h2,h3,f,g,t,exp(g,kv),{v.exp(g,kv)}_inv(kca),{u.ku}_inv(kca),kca,ku,ki,exp(g,ki),kpi,ka} composition session(u,v,h1,h2,h3,f,g,t,kv,ku,kca,{u.ku}_inv(kca),{v.exp(g,kv)}_inv(kca)) end role %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% goal secrecy_of session_key end goal %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% environment() From Krassen.Deltchev at rub.de Tue May 9 21:43:40 2006 From: Krassen.Deltchev at rub.de (Krassen Deltchev) Date: Tue May 9 15:46:30 2006 Subject: [Avispa-users] OFMC model checker Message-ID: <4460F0EC.4050602@rub.de> Cheers to you all! I'm a novice to AVISPA and i'm currently working on a project as seminar-work at my university. I must make a walkthrough ,how AVISPA works and diskuss the OFMC model checker . So,as a novice i would ask you for some hints: 1)i got the AVISPA tool as a linux binary:: --i tried to run the binary with cygwin ,but probably i need something more ,for to use the tool under windows --i'm not worried abot the OS ,cuz i can do a vmware Knoppix live OS and run the tool in it ,but i wanted to ask if there is a workaround with cygwin; you know on my laptop i have only WinXP ;(( and i don't have enough space to make a dualboot system,emulating Knoppix is as above no Problem ,but if there is a chance for easier way of running AVISPA tool under WinXP ,i would be very glad for your suggestions 2) i downloaded also the OFMC model checker for Linux and Windows,so if there is a version for OFMC for windows ,how should i implement it in the AVISPA tool? 3) i must stress and test a very cryptographic protocol using OFMC and diskuss the results :: --what kind or which protocol is worth to test with OFMC ,so i can make my seminar-work --my work should be about 20-25 pages in latex,so you can imagine its like a student project,so i really do not need to go really in depth ,but it should be make (this work) good as well,that's why i need also: 4) somekind of good manuals for using AVISPA and OFMC; i got the D. Basin, S. M?dersheim, L. Vigan?, *OFMC: A symbolic model checker for security protocols* :: http://www.avispa-project.org/papers/ofmc-jis05.pdf what other kind of white pappers could be usable for me... Many Thanks in advance! Kindest regards! Krassen Deltchev -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 3188 bytes Desc: S/MIME Cryptographic Signature Url : http://carroll.ai.dist.unige.it/pipermail/avispa-users/attachments/20060509/038b49a7/smime.bin From iwk20 at ui.edu Wed May 10 08:27:49 2006 From: iwk20 at ui.edu (Ilham Kurnia) Date: Wed May 10 02:29:59 2006 Subject: [Avispa-users] OFMC model checker In-Reply-To: <4460F0EC.4050602@rub.de> References: <4460F0EC.4050602@rub.de> Message-ID: <1147242470.19023.37.camel@riset-a-s1-112.riset.cs.ui.ac.id> Hi Krassen, With regard to number 1, I have no clue. Never tried it on Windows. Number 2: Translate your HLPSL file using hlpsl2if program to IF file, and then use it as a parameter to the ofmc program. e.g. From the avispa-1.0 main directory, execute the following: ./bin/translator/hlpsl2if yourhlpslfile.hlpsl It should produce yourhlpslfile.if in the avispa-1.0 main directory. After that, you can copy the IF specification file to Windows and run OFMC in command prompt. ofmc yourhlpslfile.if -any-options-you-need Number 4: * In the AVISPA package, there's a documentation directory (docs) which contains a tutorial (docs/tutorial/Tutorial.pdf) and a user manual (docs/user-manual/user-manual.pdf). I found the tutorial quite thorough for basic usage. The user manual should provide more details should you need them. The user manual also contains a section (S3.2) how to analyze a IF specifications using the provided backends (including OFMC). * If you need a quick background on AVISPA, this AVISPA team has written a 5 page white paper: http://www.avispa-project.org/papers/avispa-cav05.ps A list of other papers written by members of the AVISPA team can be found here: http://www.avispa-project.org/talks.html * There's also lecture notes by Duminda Wijesekera on AVISPA. http://www.ise.gmu.edu/~duminda/classes/fall05/myAvispaNew.ppt * If you need more background on the protocol verification itself, I found the slides from "Formal Methods for Information Security" course at ETH Z?rich to be excellent reading material. http://www.infsec.ethz.ch/education/ss04/Formis_Material The last half of the course talks about formal security protocol verification. * More info about the OFMC: http://www.inf.ethz.ch/personal/moedersheim/research/ofmc-doc.tgz It has two user guides, and background literature on OFMC. I hope this helps. Cheers, Ilham On Tue, 2006-05-09 at 21:43 +0200, Krassen Deltchev wrote: > Cheers to you all! > I'm a novice to AVISPA and i'm currently working on a project as > seminar-work at my university. > I must make a walkthrough ,how AVISPA works and diskuss the OFMC model > checker . > So,as a novice i would ask you for some hints: > 1)i got the AVISPA tool as a linux binary:: > --i tried to run the binary with cygwin ,but probably i need something > more ,for to use the tool under windows > --i'm not worried abot the OS ,cuz i can do a vmware Knoppix live OS and > run the tool in it ,but i wanted to ask if there is a workaround with > cygwin; > you know on my laptop i have only WinXP ;(( and i don't have enough > space to make a dualboot system,emulating Knoppix is as above no Problem > ,but if there is a chance for > easier way of running AVISPA tool under WinXP ,i would be very glad for > your suggestions > 2) i downloaded also the OFMC model checker for Linux and Windows,so if > there is a version for OFMC for windows ,how should i implement it in > the AVISPA tool? > 3) i must stress and test a very cryptographic protocol using OFMC and > diskuss the results :: > --what kind or which protocol is worth to test with OFMC ,so i can make > my seminar-work > --my work should be about 20-25 pages in latex,so you can imagine its > like a student project,so i really do not need to go really in depth > ,but it should be make (this work) good as well,that's why i need also: > 4) somekind of good manuals for using AVISPA and OFMC; > i got the D. Basin, S. M?dersheim, L. Vigan?, *OFMC: A symbolic model > checker for security protocols* :: > http://www.avispa-project.org/papers/ofmc-jis05.pdf > what other kind of white pappers could be usable for me... > Many Thanks in advance! > > Kindest regards! > > Krassen Deltchev > _______________________________________________ > Avispa-users mailing list > Avispa-users@avispa-project.org > http://www.avispa-project.org/mailman/listinfo/avispa-users From Krassen.Deltchev at rub.de Wed May 10 12:07:04 2006 From: Krassen.Deltchev at rub.de (Krassen Deltchev) Date: Wed May 10 06:09:58 2006 Subject: [Avispa-users] OFMC model checker In-Reply-To: <1147242470.19023.37.camel@riset-a-s1-112.riset.cs.ui.ac.id> References: <4460F0EC.4050602@rub.de> <1147242470.19023.37.camel@riset-a-s1-112.riset.cs.ui.ac.id> Message-ID: <4461BB48.3060301@rub.de> Hello Ilham Kurnia, i'm really greatly appreciated about what you've given to me as suggestions /links in your reply! I checked out the papers ,i think they should be more than helpful for me ;) Is it a problem ,if i write to you on your e-mail address too? Still last question ,if not annoying: anykind of suggestion ,what should i take as an example/test (crypto/internet security) protocol for the OFMC tool ? -is it odd to try to make tests with IPsec and comment the results or should i take something easier?(sorry, for the dull question ,but really have no clue how should i start ...) -as i said i need to choose one of the 38 modern cryptographic security internet protocols ,test the chosen one with OFMC,discuss the stress tests and the results... -for demonstrating the output of the AVISPA tool should i use the web-based interface: http://www.avispa-project.org/web-interface/expert.php As i said,i'm really thankful for your input! best from, krassen Ilham Kurnia schrieb: > Hi Krassen, > > With regard to number 1, I have no clue. Never tried it on Windows. > > Number 2: > Translate your HLPSL file using hlpsl2if program to IF file, and then > use it as a parameter to the ofmc program. > > e.g. From the avispa-1.0 main directory, execute the following: > > ./bin/translator/hlpsl2if yourhlpslfile.hlpsl > > It should produce yourhlpslfile.if in the avispa-1.0 main directory. > > After that, you can copy the IF specification file to Windows and > run OFMC in command prompt. > > ofmc yourhlpslfile.if -any-options-you-need > > Number 4: > * In the AVISPA package, there's a documentation directory (docs) which > contains a tutorial (docs/tutorial/Tutorial.pdf) and a user manual > (docs/user-manual/user-manual.pdf). I found the tutorial quite > thorough for basic usage. The user manual should provide more details > should you need them. The user manual also contains a section (S3.2) > how to analyze a IF specifications using the provided backends > (including OFMC). > > * If you need a quick background on AVISPA, this AVISPA team has written > a 5 page white paper: > http://www.avispa-project.org/papers/avispa-cav05.ps > > A list of other papers written by members of the AVISPA team can be > found here: > http://www.avispa-project.org/talks.html > > * There's also lecture notes by Duminda Wijesekera on AVISPA. > > http://www.ise.gmu.edu/~duminda/classes/fall05/myAvispaNew.ppt > > * If you need more background on the protocol verification itself, > I found the slides from "Formal Methods for Information Security" > course at ETH Z?rich to be excellent reading material. > > http://www.infsec.ethz.ch/education/ss04/Formis_Material > > The last half of the course talks about formal security protocol > verification. > > * More info about the OFMC: > http://www.inf.ethz.ch/personal/moedersheim/research/ofmc-doc.tgz > > It has two user guides, and background literature on OFMC. > > I hope this helps. > > Cheers, > > Ilham > > On Tue, 2006-05-09 at 21:43 +0200, Krassen Deltchev wrote: > >> Cheers to you all! >> I'm a novice to AVISPA and i'm currently working on a project as >> seminar-work at my university. >> I must make a walkthrough ,how AVISPA works and diskuss the OFMC model >> checker . >> So,as a novice i would ask you for some hints: >> 1)i got the AVISPA tool as a linux binary:: >> --i tried to run the binary with cygwin ,but probably i need something >> more ,for to use the tool under windows >> --i'm not worried abot the OS ,cuz i can do a vmware Knoppix live OS and >> run the tool in it ,but i wanted to ask if there is a workaround with >> cygwin; >> you know on my laptop i have only WinXP ;(( and i don't have enough >> space to make a dualboot system,emulating Knoppix is as above no Problem >> ,but if there is a chance for >> easier way of running AVISPA tool under WinXP ,i would be very glad for >> your suggestions >> 2) i downloaded also the OFMC model checker for Linux and Windows,so if >> there is a version for OFMC for windows ,how should i implement it in >> the AVISPA tool? >> 3) i must stress and test a very cryptographic protocol using OFMC and >> diskuss the results :: >> --what kind or which protocol is worth to test with OFMC ,so i can make >> my seminar-work >> --my work should be about 20-25 pages in latex,so you can imagine its >> like a student project,so i really do not need to go really in depth >> ,but it should be make (this work) good as well,that's why i need also: >> 4) somekind of good manuals for using AVISPA and OFMC; >> i got the D. Basin, S. M?dersheim, L. Vigan?, *OFMC: A symbolic model >> checker for security protocols* :: >> http://www.avispa-project.org/papers/ofmc-jis05.pdf >> what other kind of white pappers could be usable for me... >> Many Thanks in advance! >> >> Kindest regards! >> >> Krassen Deltchev >> _______________________________________________ >> Avispa-users mailing list >> Avispa-users@avispa-project.org >> http://www.avispa-project.org/mailman/listinfo/avispa-users >> > > -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 3188 bytes Desc: S/MIME Cryptographic Signature Url : http://carroll.ai.dist.unige.it/pipermail/avispa-users/attachments/20060510/0824542b/smime-0001.bin From xheo at yahoo.fr Thu May 11 05:59:04 2006 From: xheo at yahoo.fr (Bassem Fennani) Date: Thu May 11 00:01:02 2006 Subject: [Avispa-users] HELP PLZ :authentication with public key Message-ID: <20060511035904.44237.qmail@web26705.mail.ukl.yahoo.com> cheers tu you all, i'm new user of the avispa tool , and in my protocol i will use certificate exchange of all participants in the negociation sub protocol , my question is : how can i verify authentication(strong&weak) ,non repudiation if the messages are all encrypted with symmetric key which are themselves transported in digital envelopes the alice&bob notation is : A ->B : {M}_k . {k}_pubA . sig M is the message k symmetric key pubA the public key of A sig is signature of A --------------------------------- Faites de Yahoo! votre page d'accueil sur le web pour retrouver directement vos services pr?f?r?s : v?rifiez vos nouveaux mails, lancez vos recherches et suivez l'actualit? en temps r?el. Cliquez ici. -------------- section suivante -------------- Une pi?ce jointe HTML a ?t? enlev?e... URL: http://carroll.ai.dist.unige.it/pipermail/avispa-users/attachments/20060511/4915e1e6/attachment.htm From khaled.masmoudi at int-evry.fr Fri May 12 09:07:33 2006 From: khaled.masmoudi at int-evry.fr (Khaled Masmoudi) Date: Fri May 12 05:23:03 2006 Subject: [Avispa-users] CFP MCIS/COMSI 2006 English & Spanish Version Message-ID: <003901c67592$be79b4c0$48679f9d@micro.intevry.fr> [Please accept our apologies if you receive multiple copies of this CFP] ----------------------------------------------------------------------- CALL FOR PAPERS: MCIS/COMSI 2006 ----------------------------------------------------------------------- Mexican Conference on Informatics Security 2006 Congreso Mexicano de Seguridad Informática 2006 (International Conference approved by IEEE Computer Society) http://lssd.esimecu.ipn.mx/comsi/ November 14-17, 2006 Oaxaca, México ----------------------------------------------------------------------- Conference Aim ----------------------------------------------------------------------- The Institute of Electrical and Electronics Engineers, Puebla Section (IEEE Sección Puebla) and the Mexican Society of Electrical Communications and Electronics Engineers (AMICEE), in cooperation with the IEEE Computer Society through the Technical Committees on Security and Privacy (TCSP) and E-Commerce (TCEC), invites you to participate and join us during the MCIS/COMSI 2006. This Conference promote the development of the field of Informatics Security, on the basis of the concentration and diffusion of theoretical and practical research works on a forum to contribute to the knowledge exchange and the construction of collaboration networks between academic and research groups at Mexico and abroad. ----------------------------------------------------------------------- Submission Deadline: July 1, 2006 (electronic paper submission) ----------------------------------------------------------------------- Conference Objectives ----------------------------------------------------------------------- MCIS 2006 serves as a forum for engineers and professionals from academia, industry and research labs, for presenting recent research results in Informatics Security and Information Technologies. MCIS 2006 conference features prominent invited speakers as well as papers by top researchers in the field. MCIS 2006 will include contributed technical papers, invited papers, and panel discussions. The proceedings will be published by IEEE-CS press. Call for Papers ----------------------------------------------------------------------- MCIS 2006 is intended to provide an international forum for the discussion and presentation of original ideas, recent results and achievements by researchers, students, and system developers on issues and challenges related to Informatics Security and Information Technologies. Authors are encouraged to submit both theoretical and practical results of significance. Demonstration of new tools/applications is very desirable. The scope of the symposium includes, but is not limited to: • Algorithms and applications on Criptography • Algorithms and Studies relating to cryptographic protocols • Secure Protocols • Algorithms and applications on Steganography • Watermarking • Digital Forensics • Security Policies and models • Forensic Informatics and Hacking Forensic • Informatics Auditing • Juridical Informatics • Communications and Management Security • Web Security • E-Business • E-Government • Intrusion Detection • Authentication • Access Control Systems • Secure Data Bases • Incident Response • Education in Security Important dates ----------------------------------------------------------------------- Submission Deadline: July 1, 2006 (electronic paper submission) Notification of Acceptance: August 18, 2006 Camera Ready version due: September 30, 2006 Symposium presentation: November 14-17, 2006 in Oaxaca, Mexico IMPORTANT: ATTENDANCE BY AT LEAST ONE AUTHOR IS MANDATORY Submission Guidelines ----------------------------------------------------------------------- Papers should be written in English or Spanish and should not exceed 8 pages (single-spaced) in IEEE format. Spanish papers will not be included in IEEE Proceedings, they will be only include in AMICEE Proceedings Papers must be unpublished and must not be submitted for publication elsewhere. Authors are encouraged to submit papers in pdf or doc electronic format. Each submission must be accompanied by the following information: • A short abstract • A complete list of authors and their affiliations • A contact person for correspondence postal and e-mail addresses. General Co-Chairs: Héctor Manuel Pérez Meana, IPN-Mexico (hmpm@calmecac.esimecu.ipn.mx). IEEE Member Number: 00479535 Kazuo Ota, UEC-Japan(ota@ice.uec.ac.jp), IEEE Member Number: 41507899 Questions from authors may be directed to: Program Co-Chairs: Rubén Vázquez-Medina: ruvazquez@ipn.mx, José Alejandro Díaz Méndez ajdiaz@inaoep.mx, *Thanks in advanced Rubén Vázquez Medina IPN-Mexico http://lssd.esimecu.ipn.mx/comsi * *Spanish Version* ----------------------------------------------------------------------- SEGUNDA INVITACIÓN A PUBLICAR: MCIS/COMSI 2006 ----------------------------------------------------------------------- Mexican Conference on Informatics Security 2006 Congreso Mexicano de Seguridad Informática 2006 (Congreso Internacional aprobado por la Sociedad de Computación de IEEE) http://lssd.esimecu.ipn.mx/comsi/ 14 al 17 de Noviembre de 2006 Oaxaca, México ----------------------------------------------------------------------- Descripción del Congreso ----------------------------------------------------------------------- El IEEE Sección Puebla y la Asociación Mexicana de Ingenieros en Comunicaciones Eléctricas y Electrónicas (AMICEE), en cooperación con la Sociedad de Computación del IEEE, a través de los comités técnicos en Seguridad y Privacidad (TCSP) y el de Comercio Electrónico (TCEC) te invitan a participar en el MCIS/COMSI 2006. Este congreso promueve el desarrollo de la Seguridad Informática, con base en la concentración y difusión de trabajos de investigación teóricos y prácticos en un foro que permita contribuir al intercambio de conocimiento y la construcción de redes de colaboración entre grupos de investigadores y académicos de México y el mundo. ----------------------------------------------------------------------- Fecha límite de envío: 1 de Julio de 2006 (envío en formato electrónico) ----------------------------------------------------------------------- Objetivo del Congreso ----------------------------------------------------------------------- El MCIS/COMSI 2006 sirve como un foro para los ingenieros y profesionales de la academia, la industria y los laboratorios de investigación para presentar recientes resultados de investigación en el área de seguridad informática y las tecnologías de la información. El MCIS/COMSI 2006 es un congreso que considera prominentes conferencistas invitados, así como artículos que incluyen investigaciones de punta en el área de la seguridad informática. El MCIS/COMSI 2006 incluirá artículos técnicos, artículos invitados y paneles de discusión, así como trabajos de empresas especializadas en seguridad informática. Todos los artículos escritos en inglés serán incluidos en las memorias del congreso editadas por el IEEE-CS. Aquellos artículos presentados y aceptados en idioma español serán incluidos en las memorias del congreso avaladas por la AMICEE. Invitación a Publicar ----------------------------------------------------------------------- El MCIS/COMSI 2006 se propone como un foro internacional para la discusión y presentación de ideas originales, resultados recientes y productos del trabajo de investigadores, estudiantes, desarrolladores de sistemas y en general de profesionistas relacionados con la seguridad informática y las tecnologías de la información. Los autores deberán enviar tanto trabajos teóricos como prácticos con resultados significantes. Considérese que es deseable la demostración de nuevas herramientas y aplicaciones. En el MCIS/COMSI 2006 se consideran, sin limitarse a otras áreas las siguientes: • Algoritmos y aplicaciones en Criptografía • Algoritmos y Estudios relacionados con Protocolos Criptográficos • Protocolos Seguros • Algoritmos y aplicaciones en esteganografía • Marcas de agua • Forensia Digital • Políticas y Modelos de Seguridad • Informática Forense y Hackeo Ético • Auditoría Informática • Informática Jurídica • Comunicaciones y Administración Segura • Seguridad en el Web • E-Business • E-Gobierno • Detección de Intrusos • Autenticación • Sistemas de Control de Acceso • Seguridad en Bases de Datos • Respuesta a Incidentes • Seguridad en la Educación Fechas importantes ----------------------------------------------------------------------- Fecha límite de envío de artículos: 1 de Julio de 2006 (formato electrónico) Notificación de aceptación: 18 Agosto de 2006 Edición de memorias: 30 de Septiembre de 2006 Fecha del Congreso: 14 al 17 de Noviembre de 2006 en Oaxaca, México IMPORTANTE: ES OBLIGATORIO QUE AL MENOS UNO DE LOS AUTORES ESTE EN CONGRESO PARA LA PRESENTACIÓN DEL TRABAJO Instrucciones de Envío ----------------------------------------------------------------------- Los artículos deben estar escritos en Inglés o en Español y no debería exceder 8 páginas a espacio simple. Los artículos en Español no serán incluidos en las memorias IEEE, solamente serán incluidas en las memorias AMICEE Los artículos que se presenten no deben estar enviados para su publicación en otros congresos o revistas. Los autores deben considerar enviar sus artículos solamente en formato electrónico, pdf o doc. Para cualquier duda los autores deben dirigirse a: Comité de Programa: Rubén Vázquez-Medina: ruvazquez@ipn.mx, José Alejandro Díaz Méndez ajdiaz@inaoep.mx, Presidente de MCIS 2006: Héctor Manuel Pérez Meana (hmpm@calmecac.esimecu.ipn.mx). Kazuo Ota (ota@ice.uec.ac.jp) Cada artículo enviado debe estar en formato electrónico y debe acompañarse de la siguiente información: • Un breve resumen en español y en inglés • Una lista completa de los autores considerando su afiliación • Una persona de contacto para correspondencia postal o por correo electrónico. *Gracias por su atención Rubén Vázquez-Medina IPN-Mexico http://lssd.esimecu.ipn.mx/comsi * -------------------------------------------------------------------------- -- Khaled MASMOUDI Institut National des Télécommunications Wireless Networks and Multimedia Services Department (RS2M) 9, rue Charles Fourier - 91011 Evry Cedex Personal Page: www.masmoudi.net Tél : +33 1 60 76 42 65 Fax : +33 1 60 76 45 78 khaled.masmoudi@int-evry.fr begin 666 CFP_MCIS.pdf M)5!$1BTQ+C0-)>+CS],-"C8T-2 P(&]B:@T\/" -+TQI;F5A7!E("]#871A;&]G( TO4&%G94QA8F5L/^\^[YYQ[WOL`>!'@HY=P$-#[`UP8+/X^2%O< MAP<_0[(''?P^W;3>A=P]_6%GZLM5:*OXZ/2A;"O?/7'\1G;NB%NVC[/-L'94 M"YC)5(9U1NWF?_M*9]ZS`'\!Y,X"3!]OX.[G[FL`9U.YCVQF>OW,GW=MYMMF MMO'-W:U1\TYXOOT3/A)1H)MX0<$8W,:K0_5)_0Q/RDJHMYVG^6H1FMC*U:?L M3.I+>%9V`KV!+67#=/H^9-[H&57IHT6\K&K_B5JJ20%3M()MM5.T M`S14[3,3E#"'XF.6;JO -V3&E_[=:>=(MX;OB\Z(7:&K5#\V_"!1`18I=2W4 MOS*E9%9Q3-:&S1I18J;0_5AW048]%Z;085FO$L6DE%J)!(9=?DDI:ZAE+:&\ M7>D-"NAY#&>YEU(B2@8AA8]5LV0V<$MT>JAH[^!V'P7Z-K;WH4WM;,X_E:W;&;QL*B6"&5%M4CS M/I7UHE[&PU+[,$_)J@6:0(41]4IPA7JQ;^?3P[1G%]"3=1\:Z E3(!=/=%F7 M6'.)"[K!J*#GN;#9.*/&'J(2F/G,WWU*TI,N(Z_/+.@E')W-LG23CEX-96YD7!E("]086=E( TO4&%R96YT(#8T,B P M(%(@#2]2;W1A=&4@," -+TUE9&EA0F]X(%L@," P(#8Q,B W.3(@72 -+T-R M;W!";W@@6R P(# @-C$R(#'0@+TEM86=E0R O26UA9V5)(%T@/CX@#3X^( UE;F1O M8FH--C0X(# @;V)J#3P\( TO5'EP92 O1F]N=" -+T5N8V]D:6YG("]7:6Y! M;G-I16YC;V1I;F<@#2]"87-E1F]N=" O07)I86Q.87)R;W<@#2]&:7)S=$-H M87(@,S(@#2],87-T0VAA7!E("]4"!;("TQ.#(@+3,P-R Q,# P(#$P.#8@72 -+T9O;G1.86UE M("]!7!E("]&;VYT( TO16YC;V1I M;F<@+U=I;D%N7!E("]%;F-O M9&EN9R -+T1I9F9E7!E("]&;VYT( TO16YC;V1I;F<@-C4Q(# @ M4B -+T)A"!;("TV-C4@+3,R-2 R,# P(#$P,#8@72 -+T9O M;G1.86UE("]!2!.LRL2[0B(*8&6!_]])<=)T8$'\,C# M'2EWS5=#+H(\L3TW",/,/F6WT46Y!'MLB.>MA*YJ0JE:I%V5S:K M\BGO`&9B3MF6>Y<(V=P1OE\2?,A>N<2O``,`AUAH7 IE;F1S=')E86T-96YD M;V)J#38U-2 P(&]B:@T\/" O3&5N9W1H(#(R-R O1FEL=&5R("]&;&%T941E M8V]D92 O4W5B='EP92 O5'EP93%#(#X^( US=')E86T-"DB)8F1@861@9&3D MQP=$/Q*^LW[_P[CW^Q_F'WK?=XJ^L[JCH6YEI=$C MIW[;ZGV/W+L[M]_+\U7,^VDZZW?L#+;G7 ^X`0(,`/#O4FX*96YD7!E("]&;VYT1&5S8W)I<'1O7!E("]&;VYT1&5S8W)I M<'1O7!E("]&;VYT1&5S8W)I<'1O2 -+T9L86=S(#,R( TO4W1E M;58@,C T( TO0V%P2&5I9VAT(# @#2]82&5I9VAT(#4P," -+T%S8V5N=" Y M,38@#2]$97-C96YT("TR,3<@#2])=&%L:6-!;F=L92 P( TO1F]N=$9A;6EL M>2 H1G)A;FML:6X@1V]T:&EC($AE879Y*0TO1F]N=%-T7!E( TO1F]N M=$1E7!E("]4>7!E,2 -+T9O;G1$97-C7!E("]& M;VYT1&5S8W)I<'1O7!E("]&;VYT1&5S8W)I<'1O7!E("]47!E("]&;VYT1&5S8W)I<'1O2 -96YD;V)J#38V-R P(&]B:@U;( TO26YD M97AE9" V-C@@,"!2(#(U-2 V.3@@,"!2( U=#65N9&]B:@TV-C@@,"!O8FH- M6R -+TE#0T)A7!E("]47!E("]4"!;("TQ,S<@+3,P-R Q,# P(#$Q,#D@72 -+T9O;G1.86UE M("]!@0/T)%@;@P72@X4LT3837;R4E.Z>K]^ZD)+L=#:+19"V M1)'%8M6I4X>+S2X-1=Z*`/_YRR 4HLWK.RFTN%O\0Y59I[^I35,V1E>J,SH7 M1M\M?MO%*W%J[W[=WRWV^S!<"BGVQ[O #P(9BGTN9.2O5V24GZ(H\N%+FB0^ M?*_NO,?-=O<4)G$8!(F8[;_$XP;B$8[[!?Y_$)__ M#$0A.+X)QW<:(SP-A-+ (C^P8:*G72#T,AE]*/((=HQ:B[XY!LZTQ >;[9/(Z7 M_C*9;D[));]#EPH942IDZ"_7JQ4G0Z:PX^5BX!"%.+P*V'+[`.,/ M#_BX::I+#^;P>=?D&E<`>JQ'+JD!)G5-,5T+"?%,0I&LI+\>PTEI2*>8&&.; M_A@8D?03D:2!OPZY@G;]H=)M"P=#E]Z#[RHK2EVK7\2'OGP5\IZ=@TQ%JS7: MHK!00IX\5:J\,["0BP:HX8(E*-K!ZM.,UR\&EOE!>>SEOP`N(ZS&0,Q#<#<- M)"4FX<1,@K":!$%28=Q&+E[Y80SK,7B[O+DH!B0`@ RLKW;%3981P/.]W63N M8HK1E7'*?N&T.$EQVF=O\_%QMP60(O,@4(%%=(O4(#I\/BMQI#%#@QV $JEE M)KT7?- Y<4I-ZP!51#UKI!Z:1L.-.65HO<8_^B_Z@/"B3;8/#[/YRGM *(I/ M/4Y1AQ)_,B0IVE/C:\-[9&2EH.=WC]O-P\.]T&P=#-#\!IX:'+J0-7@SV6#C MF1ZZ,QF S6EW@=#&<80W^C_6*X5L_S=$6T/6M>K8Z([88.&;Y7S`IH/ MA0BW/?K%*/JLR=F>U_,);N/(WS+XD7#*S?;7W9:[#V4MY,AT]/-(UHPJ M-3DH-MKZ^^1QZB9Y:Q#A%-2"YPZ&R6X0T6A&0!"/5RLQVAN.)9GW!0%IB%LL MAY(.,81QZD/W3%T-(N!2SQ'CW+5,6K%*8Z(TMV2 *RY\UM ON^RK0Z&XE)G% MFD8W"09 H"[NN7L8`U'T2G1G"->;TVP>FQIZYQ'F*5$1=. ;5P`A]: RQHNF MZNC+$7IEPT#/[)CNR#'*/]O6]1O!A!P(S9&V+F3BK,.55L#>J[DQ&U2C^H .7I:(@ M7H&UHT^:C@T1HZH30Q%8WB"L5/!^:4S'H./3TGQ[T.&0]*GIC1VW``=GKAC! MAG,H?[W:GV7OSSCRWD-_+>* 69QM+E)GDC-[UYG>;!NFNCT=%A M[BG&AXSHI/DW$RR'%\]0,4\":I%C9(CS'8\R>>E2' CJ,(F 7!9<:"<.UI$M M5Q39SD9Y4@SD#JV @L"?D95UP[23.9?YM6(J5+RK10T-^>3JI8JL<(,WG=,BC+QU[B>L<^9<,9!1?IF7#73OJ H43A.*3$H7%#8T7EX MWK.&WF;K0!M.-,7@XB *)D#I4-:RPG:6)V^"7\4MEEV!#N%:[ID!KRE+V>NM M6P?#!7?MSAGS9)4$+VF.1X<^`SQUJ$+/=F+$;G7F**I0'0O&2AVPZ<9AMJW.-`.3+WG!)LB9#*]-($S@]`")>?#Q\(4[/\8K+!W(AN96' MTTXQ2L!!*4ZDH@VC3#B,/]"*)#L2T;KD$YB^W2@5ZF!P\^PK5I -)9S!=>)F MH92Q$QEB5,AP_3A>EPOAK71TTSA*$-P,,EJF*NU8VPG"HA]:;F>)$@%@:U$- ME(Z;EMG!%B5XS#3EYM'VW''J$ZP>(,\?B%_?4#')1#I^MZ7TG!M,/TX7D"_; M&GS B.(AH;SS$:U6$?LK M_G:!&INIA:^N76R+_S++4?J%']3_VO-&FG4Q?:OI%:S:!JA^W_M(D(YJ@!H9 M7Z^4*FRIN7Y6LJ@ZN#/PLO[ S:CE?/!QQCLE7>OFFYVX:KV^N#DG5.?_2];1 M0-92.E.;##*-!/(INP!$R/+/N)A<^$Y5R(15!=''#>WJ&]G;V8;M"J@@*=Q8 M%FL8#Q9O6&(:%_;CC=9,MP+VAO_E+!5`[\7 M,M3"/75&6 `'VIZVI-TS\@RJBNS1SADN+>D<,([+3O@PKC'.?H;CY$"!.,)^ MA)M5T(O@*Q3)#K_E/0[B2/(;+YITQG#,3>I'Z:CO*L=3'34(@-%D M5<29BL+4RFR[]HIQ7&>KK^YDKJ>]0^"0&.C.C5,.4U M3J6CZ*[(/X(R9[MAIIXV0EE0V7B"_>*PJC)=B.Q/AJK+C1'#/^,_5Y"/1_!!@`%-LHQ0UE M;F1S=')E86T-96YD;V)J#38W-" P(&]B:@TQ-#8R( UE;F1O8FH--CD>)7D.E$:3WC3`7#V[-D%N7@W\P,>!")FBQ7#JR!B MBW_8XM7LP[PJBLW6\Z/YQ=+S]?S)$_ ?+C;I"I\NJQ3OBIPPC&[S>$P834.+%T\T M$2L>F.>;>?7H;@E BV;(MG#K[O"WC*4Y#=W@@-U]LN?[@^>+.?NXJUCJ^",@ M+RHZ;U(\9FE%^'M:I2I^)/X7"_&GLDRPQ4,G%BFX#,,0;^[KJ"X6"RGC&LAU M[Z>K6R/9:@O/X(]'@61LN\K=W/407P9TGI?YK.?X$W.:C.KLKTJ9[' MS(MUZ=SSZ+S0"A.90C\Y\\:"8\Z-*9K/'!,J?GD!T:^SV,6-=9&]G= MLDK +C'UI67Y-_6E?'V Q3>QP9%:N$[7:45>W;"W!?%*G(1.5J?FV8UJ]PS5 M,:.FE].[44^ 5T!/.JZ6'[P6*92DU78?0DO;<5NJ3_ DW%)GK>XCFQD=\E' MY&5?S.NEU=%M7"V=-_YK--46S80.2O!F>\;NCNVF2P$8_%1\3LH\2R!C;LCT MLF?J=C=Y5>Y<@W*[,+M.W![<)*AJ?CASZPI&V;G0ZY$I\Y'BOM( M_#^VI#Y[,^IG;^YW_8\J^%IE'J1_T./P10";W-269 +84WKJM9^GL.7 \DC0 M70F%$1H=0QX6)F%(\DTS;B$2[R M`5X\Z!]6T. "E:,XA4:"VH:83@'.]\,(12F3V=TKEB."VYJ'DBP$J13 )3QL M51!.A4\SB2*U8,NM)7#811<-2R$:[-.B58-6/.S. M;;B;6LA =.!1`X]XH&JX50A7&&7 99>X;M :T]A.KCED2YN8VRYQ,S$WH"-# M"@[1MD&#)SMH'9$H0W0\C88L1F,F4=!!=ZF(0$SB.^FTMA=GJ FM.I)'?)]-$?42!+*(">)Z6D1490IN#MAVKTK0 M:0R1G48K@1D8H>,3JG3!.CBI2@\N3JK2@\N3JO3@X0&O1%QCG)9WC*75T3XQ M`$<'%31Z!-9'!>QCS0G]^FA[0KX^^D!A[M7KH4UPP%(1]AT$"]MM5T:TO5"J MGGY4QB-\F\MN#U>2J\GIC]?F"'ZJ.D<#3M7G:,"I"AT-, ?]TY;] M^OGZ^PK9A?CVXY^#^&[)A?(NM;I:WK]^O[[]^!UR;.G]_<_KP\'!TL$'D *7;YT`Z3PUN()U=6W'Y5F)0Q:2B[NMTV:\Z%S&HC;+_/PDD7> M'ZX%B'GW9H"$AQ5@*"3 \9K%]8AP7*^)%W[E![#KI 7XJ89A.";(<#829+P8 M"3)>C009;TJ"R;4[E(SP4^;U,T+/3L6EPG#R?F'\X.[Z;H,<]E5CVVPTLL8V MF5%C#8I>26.=S:"QEK_'%;-O"%X#79>U`Z>XI\UT5=.6GMV. M:3/\&,""CXKD>=[ M@]I\,4)G7!Z4*W;&FQ4\\W*K*'KJDU?#]R-]<"TB'93L80R$3<>E\6%C)L]T M4G.OPK//TY+A?,RI*PQ5HX\ M\-D&.3[/2FKE;78%C2U8.6,L-XABQKBH*:?Q2[KV`;390U5C%G [Q\RT-BN+ MVW$^CTJ&SZ.286-4,FV,2J9!R=K?XVP<=?%^D^4BKS,,-(G+FRN$>W?:>)5W MLR=PQL_S650)TK)_H\,!D^CTN&C6')M#$JJ:Y>33N/_.*84DN'<]I,QZ4;W562 MH+5!6>],F#X/2H;/@Y)A8U R;0Q*IIN:]I=."'5!2^S18Q^!_< WW'8#B=:-,9)RM5K NBD:U8%Z55IJ#L9(P_G?I MIT-V6/PZ6C+]E$@OMU5Z=/?*)_!5(M/HU$K.H96Y> MN9)J_ * M&'Y D.K3I,P:4K_)9/]-).M#$!_B38I,,D)61XQ^-/ M@/R&&+"_L>U_Y9C>?[Y>/WY]I0HYO1^/A%?-9MUNH62-EYO70%92,71U)7#S M5(ZU/A=@-2ZHSP40(OF&7D)"[0(TOB'%9%S1WFJ:^_\?.!/9U6Q*#!L*N]TV M'WXA=8)[3J] MVN-Z,[2DL"R/XT5[G&9]"7M_V@X1SZH56+Z/--< MKTNDM'HE3O@I$8ZO'1H"@M1NCY/V>IRPW^/$_1XG_HT>)V_V^#GRL(<-B#8. MTZM)ALEI6C-M,C2I,1J)7VTR;6W)JTVFG3:97K?)L-=H6U7?O=`,5=S[/D.W^*MX'I4J"$BASWJ&]MZ.=< MGG%R8JZLA=^6<7.^Q67B@J=UZ,+KA3ZY"U^,$VP['K3#9YP\C#3[''Y# MS5?=WV-&>#33SZ#YYJ3/>'?29WSSTI]\C7JY)'WFDW' Q_-N/YD-G?4GN93S M26:Z# U=)L\T&+FW,QFFZS)UAO7M>F?.<%LGSK1>YY,WT]8XW1/Y8!B_FFJ* M^D+VL*%+G8Q#Y@E[TMDXSMN][$FOQRC#^KD[PIYP]<*>M-XC"7O2S0C[>G?% M$"/="HD,3SH/R_XRHG%C9X[ 9Y^C\7QC4/EZA@J^'J.".Y-4>&>8"E_UY^O. MOH;:)X_+[ 77S]P[>L&?9N>WTC-YH=?CE/.R'J>".^-4>&><"E_,Y*]L$A+] M]#K_JMISW[+456]IY#YIM%*/"EY/48;7,Y1A9X+.&ISYR;0U/<\700@-:#= M?I527<]?.X*7$7=1CG3A00]\O^^L\?4(%7P]1 5WQJCPSB 5WAJEUVO@$1GU M-3K9,Y[TC3&R9SY;V1=U->N)*OAZI@KN3%7AG;GZ^/\"# ""> N1#65N9'-T M7!E("]44 MS<8=T/*6GQ& [#^PC%),3D"Y`T(3\MOQP=@83(^>`EQ]..T+NMJ%>N0+NCV) M( KU8-!](9[#-2ZU"SPMI0LE3!K3H=.7XXH'#&%V!LYGE'S"$(EH\F!.".12R\/SJ M4^&X\*D"RL*G"J"%3Q7@7<@8^B$4@-%W?7$;:ZZS:;A[+O7!/2Y$"C@M-0H< MEA(%GI<*!8YN0^X"MV]_X+N>XVKFMMMQM(3)&>Y#H&3KJS_)MH4^2?>%/4Y3 MC MYDDZ.NW)<7RGDQIJ5(CSZ`(6^`A:?[0Z$[7(U<%Q(G/"R]#@%T%+E%%"7 M-J> YDSS!L?1<@+N#MR.]&<^>?L2'+N;XM_W)86O]B45L-J75,!J7U(!Q=,9 M3J,%&4V.G[1]CJ+?)W:"5R,[X:N9E3BLAG;"V=3*G3S4HP\2<(L`KI>(%I^= M>Z]>C6TT54Y\L3_W<3GQSILZ9!;S>_G4QLFG'7&7ET2YSK6O]%"CX+M= M`2P&G*.MYUR!!@_L2LYW<>-63;Y1DD$[ZQ)=>0LXOR MV7IRINDY.S.Z]F# =SG--WO0B,)WW(T' M<_!1-"*"E_L^>IK/#G^E/^'HIH\FSZHJ]H/CA2HUL#HAF;WXL$D\E5CMLP<( M:/'-5CG>8+#P;A]/9!]?G-\U->YKI.:3HQ+MSRU@7QEU#)^%.W=P@V.R%>]4 MMHW&,=,O=CIMOS(,GNSS>PYDX=7!Z9@3Q3O%[>VX;!3O7, I9OM[R1G<%*O] M'RC9!4@I[Z^F#@#[/^2^&QIOLUAM*+^WO^+QM?T5[M3W?&,U3TY[CM7#3-\I M\-7^BF<%YA=^/60JW/[I>G7_C%>GNE?W*][9H*[N5[Q3V[/[%>X,[]7]BG=J M>W6_XIWBWMVO`ISIO;M?!533?TH0R!343'YPY<@GL_VU=EO/>'[.PSG=XJ+Q M!>Q,[6A[(Y$&#EW-1)RJCA$QCD8'AN,AG^BRFB9!VP]M)3/KZB32K\$6M//[ M]1D\03O+TS-VG.Y.(9^A$_16R?\%& #ZA 5'#65N9'-T?[Y>/WY]N92;/W[^?2EP-C5*.G0Z&!\7NIJLT%&GG0TF>(DGO11GBSI[ MGOA*.V]RE731)S^Q=)62S+D2DZZ3CDOEJ1D;)=WTN;,S8NIB+8&34DBQCM!5 M*:18$F:Q6B&!P-X4A8Z$CJ9622=]_4I^!P]T)G.W"Q/T2-(;ER==_358T%6? MNR:U$I)D;<;+N9W5W[)]/PJ:1'EK"?!&2Z #*>36$F@2Y= 2<*IE,E%9%!+F ML!APDN;0&' 2Y]0XV=.9R8] K0G+]*?()2N\9W9VE0%G>B:]'$]BG3H#SQRU M>CE,TJ$T\"3:*37P>:DUQ-(NE-OX-U.<."9 MM5UQP$FZ4W+@XTYSX*FY@:P/=7>H#@-(P(OL,*!N=8 H&/.NS0S#@\]P.BRH8\"3?&LCR;+LM\-M^^^03 M$7@*"?RNYP*^[;K ;X[#@M\=B,6 W9%8#& &GW[I_\ ,=J%W2!A0]7:&;3M\Z/N&\.1H#3;*]5028>1NUJC/3]M80:";M+2'0Z;."0)..VP4$ MFNF:U+I)DET^H(FJMTI/N#!/;Y& =I\U`MIO) *<9#D4`IP=CKM @),->.@# M>";RE.OQHGU<92MEHP_@9/N=`@%/,AT*/?%*4IT2`<\,'1H![WG)DV\DWL44&$".Q\XY MT[0W;B1@YZ)Q:DF+O.MMK[VO2V=N_H$3>6]=!$ZZ:]=%\"3?6Q>!L]O/K8O@ M*_G\;UT$WS[K`GRU]K,N@G=3E_7H7>-[LQ(\Z;%=%\&SZ\];%X&3<+LN@B=; M<]=%\/3R$]3UK[:0K[G?EL0`LCT/P<2 Q>#VN"TY=8D<,;A?EH*)]L$3@4^_ MHH:3@(=>@)-\IU[ ,WMKMQUXHN_0$7!FK[]L4/BMOL!7=:^:]@+.>N^P]\G[ MK;W ;^T%?FLO\('HU>T%/*JK<\H;'[/_%V `$9@#@ UE;F1S=')E86T-96YD M;V)J#38Y," P(&]B:@TQ-S0Q( UE;F1O8FH--CDQ(# @;V)J#3P\("],96YG M=&@@-# U-B O1FEL=&5R("]$0U1$96-O9&4@+U=I9'1H(#(R,B O2&5I9VAT M(#4V("]":71S4&5R0V]M<&]N96YT(#@@#2]#;VQO'B,@*"@E)2@H M,C(P,C([.SL[.SL[.SL[_\ `$0@`. #>`P$B``(1`0,1`?_$`3\```$%`0$! M`0$!``````````,``0($!08'" D*"P$``04!`0$!`0$``````````0`"`P0% M!@<("0H+$ `!! $#`@0"!0<&" 4###,!``(1`P0A$C$%05%A$R)Q@3(&%)&A ML4(C)!52P6(S-'*"T4,')9)3\.'Q8W,U%J*R@R9$DU1D1<*C=#87TE7B9?*S MA,/3=>/S1B>4I(6TE<34Y/2EM<75Y?569G:&EJ:VQM;F]C='5V=WAY>GM\?7 MY_<1``("`0($! ,$!08'!P8%-0$``A$#(3$2!$%187$B$P4R@9$4H;%"(\%2 MT? S)&+A7U5F9VAI:FML;6YO8G-T=79W>'EZ>WQ__:``P# M`0`"$0,1`#\`[]))).0I))9&=U#)LZS1T7%<*2^EV1D9$;G-8#M:U@.DD]RB M!?YH)IUTE5QVS(.1CEH+#8!O#YUU;$B/)9F;UK(QOK!B8T#]GVN.+9 M9W^T/:+&#Y"!\T1&]M=+5=;NZDL?ZTYF7@].9DXEAKL%]=9T!!;8[:>?P4>E M9>9D=1ZAA^N2 M-.W9`QKKTM5MY)8WU5S,S.Z?9DY=ILL]>RH:``-K=M''CW3_`&W)S^M973*; M#C48+*W6VL -C[+1(:"Z0T >21B;([;JO0'N["2R.G]0RF]9RNBY3A=Z%3+Z M+XVNX6N@12@5)+'^M.9EX/279>)9Z=M;V#@$$/<&&9^*CTO+S+ M^JYV$+SD85-;-N3 #VW/^E7(T= UX1X=+M5ZT[22PN@YF=F]$R,K(O)N#[F, M< !M%1(;`\XU0^LY^?A_5O'SZKR,C]";'D"#ZL;I'E.B/ ;J^M*O2_J]"DL_ MI[A>[(%6>[*K$5[H;+'D;I#@`#H0N>Z5U[J>2_#8S)%^99E659.,YH:T8["0 M; [3W?,_!(0)OP433V*2Q>IY695]8.F8=5Q9CY@M-K !_@@'"#YSJMI BJ\5 M`J26%T7K63E]6S,/):&,)H/LU^X'YK=2,2#14#:DDDDU*DER6-]=\W M+>X4=-9M8-UCW7;6,;XO>YH:!\5I6]>RV8]5U5./8;R6TM=8^H6$ION];U!:XL;9NW[P/AI"H_^.%=_P"5[/\` MMT_^03?^.%=_Y7L_[=/_`)!$1F#8`4:+M=/>%R'_CA7?^5[?^W3_Y!-_XX=W_`' 9 M_P!NG_R"7!,BJ&BK#O?5KIV7TW =B90;N%K[&N8Z018[=$0.$W2L#.QNJ]2R M[V,%6>YKV;7R6^F-H!T$RL+_`,<*[3]09KQ^E/\`Y!+_`,<*[_N S_MT_P#D M$N&9O0>I6FG@[G4.G9[>KT]8P/3ML92[&MQ[26AS"[?N:\3!!\E=P*,FHWY. M3M^T9+FO=6R=K0QH8U@<>>-2N6_\<*[_`+@,_P"W3_Y!+_QPKO\`N S_`+=/ M_D$N"9%4.RK#J]%P.M]-Q!A&NDM=>ZU]P>20U[][@&;=3&G*L6=-R\3J]_5< M`-O&8QE>3C/=LUK^C8Q^HXY!"PO_`!P[O^X#/^W3_P"02_\`'#N_[@,_[=/_ M`)!'AG9-#7=6GB]%@=-M9U'(ZMEEHR&=@T%>G9ZC#^W&^VS(QZJ&N +6UNW%SQW<[:WM 6'B?5KJ#L' M&Z=E&NJK'S#FNO8[<\G<7BMH@;>=2J?_`(X=W_2YW_`,<*[_N S_MT_P#D$O\`QP[O^X#/^W3_`.00 MX)Z:#15C7Q=3*Z%D4]1Z?G],8&NQ6EMS++20ZMPCTA(/';\BZ!<7_P".'=_W M`9_VZ?\`R"7_`(X5W_S_MT_^00]N79/$$GU,KD_J_U:W'K&)5E M?8+P\NHRG .K#7@"RJT.T@[00?'XKI\[K5QPJ*\3-;@W8K8LR[1CN98"/=L: MQ[R"8D!H\DZ0/%]?L6Z/._77I[,+/I ?ZKWL+;+#])VQT-<[^5L(:?@GLNL9 M]6>DWMVBW[78POVMDM9]%KM-0/-9?5^H#/R6N9N--3!76;/INU+WV/CN][BX MCMPC_MC&/2<3IK\0N^R7&_U1:1N+C+AMVZ2$ZC4;UI7=V?K8RS%R>HOIR,?T M0^JMF&QK?4KD!X?]$;=6=N91.NML96S(KR,9C/V=799AEK/4L=8-CW[=@_?F M0>RQNJ==P>H9&3F#I_IY>2-OJFTO#- QQ:S:!);]RGF_6#I^995>[IOZ?'I; M10YUSG-&P0QSF;!NCP0$3Z=//9-[NLX7.Z3T?*KR<:BWT+K;:[6LWWFHDANW M9#M&QJ5A?5O"JSNI.]5@MKQZ;#BY/33<,!A8P MF]S0XN.XEP:SQ5'I_5TAT[FQX$%$ T>Z+&C.CJ]SFVU M93&9++ZW,8US6#TWN$,?60WVP>P5ZZGI_3.MMZ5DXKZL16]]>WD0- =4:/:OXJ;V;T'&9T?.;2&NSNEY5C7/;.ZW'86M)+9 M(]I>%.OI&#C6_5^BVEESLVU[,TG=)=O:S9H=-DQIW5##^LEN&ZJ^NG=F-=>Z MZ]SI%GV@>Z6;8$$`I\?ZPU55]+:_$-EG2[7W"SU(]0O=O,C9I[H3:EMY_DK1 MTVWN@'J!9U7]I8K/1<+O78PG?#MVZ)($H^;U3#NLOOQ,,XMV5N%C MO4-C0'_S@8TM$;DX`_:/L5;?HLZ5;T?/SF]-I#L2RBNH.=8219(<7P_GVH^% M@X.?TMN5CXN+38_.=4UN0]P'I;=XK!W:NUCQ61B=4QZ.D9737XQL=EN8\W>H M6[36260W:?'Q1,7J^#7TIG30.RQ,=W3:>N-<]CKNFUY!.PB7& MH.,2.^G*L?M_9AU48^/Z-^/EG,JN:_1KCILV;> T1R@6]68[K7[5HQFT@V>H M_'W%S7$_S@DCATE(`Z^-JL.]?T*W*&+CU9='4,+,RF-KSJPWU:1M>75O#1W' M`WUNX_%/;UC'%]^5AX?V;)R6O:Y_J%[6>H(M+&EH^D">>$J MEK^"K#/-JQ>D9./B78K,D"JNW*+BX%YM:'[6.!]FT&!"(^OIYZ#DYU&,W=7G MMKI>^2[T7!U@8[W1VB5"SKF)E8N/7U' &5E8M8IJR/5=7-;?HM>Q@UVH+>K5 M'I-W3KZ_(&2;FOV@.`VP&!L1!*5'3O>JM'7Z]@]/Z?D6VMQ<=V(UV.!37 M8[UFE[1:[<-QT<&N&OBJ]MO2J^CX6>[IE)=DW75VM:ZP>VO;&T[C!]RK=5ZW MA=0LNR&X'I95S&U^J;2\-#0&Z,V@20(0,CJ>/=T;'Z8W&+'XSW6"_P!0F7/C M?[-O>/%(`T+O[57NZ%=/3+>DXW5VXU6W#WT]1QR7?I+"!Z+A[M-Q\/-<\3)) MXG6!PM#&ZG13TC)Z:['+W9+V6&[?&TUSL]FT^/BL^$Z(J_/11623PE"*'2_8 M73_W7_Y[O[TOV%T[]U_^>[^]>=))FK%ZO%]%_873_P!U_P#GN_O2_873_P!U M_P#GN_O7G222O7XOHO["Z?\`NO\`\]W]Z7["Z?\`NO\`\]W]Z\Z225Z_%]%_ M873_`-U_^>[^]+]A=/\`W7_Y[O[UYTDDKU^+Z+^PNG_NO_SW?WI?L+I_[K_\ M]W]Z\Z225Z_%]%_873_W7_Y[O[TOV%T_]U_^>[^]>=))*]?B^B_L+I_[K_\` M/=_>E^PNG_NO_P`]W]Z\Z225Z_%]%_873_W7_P">[^]+]A=/_=?_`)[O[UYT MDDKU^+Z+^PNG_NO_`,]W]Z7["Z?^Z_\`SW?WKSI))7K\7T7]A=/_`'7_`.>[ M^]+]A=/_`'7_`.>[^]>=))*]?B^B_L+I_P"Z_P#SW?WI?L+I_P"Z_P#SW?WK MSI))7K\7T7]A=/\`W7_Y[O[TOV%T_P#=?_GN_O7G222O7XOHO["Z?^Z__/=_ M>E^PNG_NO_SW?WKSI))7K\7T7]A=/_=?_GN_O2_873_W7_Y[O[UYTDDKU>+_ M`/_9"F5N9'-TU>!0IKT0T*- 8K"B4Q-6T2^VY-6O7_[\RR MLP]W@-UE'^?T\#DY<9E?]GONWN_<[QT;&S%BQ(@1(YPS_B!H!1H3H#'36 IZ&(_/1F-!?Z;)$-&"/D\DXM&@ M"S,G2T&A^87$;"Q8+8M(X8NEA>1RL%]I@FI!7Z;2P7ZE%54*>K0ZC[]2@(6) M:%K0&OY*`1;FL4X*>I()LC"*GRGK6=R^015FVB %//9ZF8B M(%]OZ75LFEY(&#`D)?9P/Q]0-#68JE'(C$ MUZE$W/?"&/U<@#W$E?##-ZN;_H^EZ7*YH&G9!P$`]K&O#^2QY*N4Q9 $SS4M ME9(HB@*G^-KG]CU$1P!5*D7N%;0'I)VQK_UM7^+G&G!UJH4GWZO $RW?^NUK M$EM>2-+^_9N7X+.ONWXNPG&(H>6E[&O?M'1C2T/"3E8YX7;(?[A_O_/3UW0^ MGP(T5"TBX-;E`/#C@7]C2;WFZDTHUG5:]I%0(EI\C)N':BW.)"FO:2D6JU D M6OSS];BN3\^A%5*UM(6V(,I:?(N;$SHM6Y+45K5402AVM:#O_8F;4P8#[X#0 MH5I0"=J*%I_B9L2@I=.$5ZJ6'>#WNUK\B9N&-033!G@M/^1X\@_HN0^^GC3= MM"TX9]V^N][[>L[T4KX,1PPM:,WKL61:0S 74#+TT DG9PD2-STMS 1#2T. M-_K?(O#RWQ]6/?7U"D.*/):J#"TX;GKIZPA32Z@)EW6S%F_CY@.F%+P<2=(9 M0XN78\GL9\HEU+22\:H6#^/F-%L(IBK *4.+=W&3Y6?*K9%L/U-^`GC'.N^.);>UL*XY'2VH%!C'S[P82[W\3,%C:5O[5=@! M*,EMXX&O)]G7G X\ECKJ#TX0\Q6!K)$>Q,W>?J:\;6ICJ0HX>5;;\D=S/6XN M]KSF-$0HOU8>VYJMW8^;A^S7&WA?@P\ALQ:R1KH9-_O[F8*W)255R=^(KRC3 MV]VX.<#/E*+:OIRPC7M7,;FK<7.J]^L--)IPU7TJ%*FG"6M+[HVE@7ZF7(%0 M91R[Z.O!?J9T2NRQM.Y6W.P=6\R<`.09QZ[%32M^IM0K4'NO_@("1YY<6B/' M;4A!:*L,HJ9EA^?Y;@.Y,Y8L^IGR!IHY58LF:]>-]K5VS6ETCN%"U4)0]+@1 M-RW[F;(-97JQ0$D4\TJ5GLAQ.FW;\3'D'9!K1 MNHAJSQRDAHN;<_:E(/0*CKMC":#"<6IMAEPC^ZTAO<1J%E"%,J]N+FD'ZFY"7IC'%,XJ;EPMA;0_I0A":KPG;BYM!^ MIC0DN&(-Z?-UWP,R6D&TMZK,9-5_Q,V=?&DAZ+<7.8 MV&*F?@XUUKDU7SM:0WJCC24#+ZW$S>%B"X,+$%C'5GS=S\^_.>'WYA]_FOGK M;TOS>B::3"]=?_STC[O\:^#F]MI*PHLM)Q>RU[H%%VA$;&QL),\EX-#9(2S@66UZ.QY,LXDZ9-1,=+ 6+P6IB438Q]YB9 ML9*GPOXP6,B($2-&_/_X3X !`$G;#CL*96YDP()%V@Y"!T$<(@R3N65-K'?8.(,'[T#BT MQCW/4G@],Z]Q1'R.N1^5B =Q/+06_A-&44#XT+JK*0FB'H!QJ$,-K+N"A@'M M^8ZY0=NQ'JEFG 2AQ_=(*1,-D&O,B;\P+74=:^H%N^.M8QWZ?7! M@I[$1VI)*3^Z%)JE;T&/N+ZMEKV,^4M8>@9T-76&% M;GH?A9T-8\(+M(R]&Q*K!*('OXA:):"\;R]'JMLQTS&G?J&1LBF78]XK;O^B MB6A;+L=^I+R6FXX]]Y^VXZ9C+@YQT[&7^[GI6$>'N.G8Q_[D$W#OM4]LJ1(O M.W?M(^*O58^=S@9JE5[Z;OG!AO @.YT-37T_H0E!CY.7\\F+.?T'](NB^;^P M-%] L( 8,,P394Q_21X#/\'7?#7!:#K_.IF!CD,',C0CYGO^T/Q"T(P&E-$( MS<]WED+16WHQGX)&42$=J)GB)B:_1@9./6/S*8=ZS@S M&NH229,]C4V\=VJ[*=$'G?Z^=+ML8MP:Q(30K:) M:1/#*G>G(Q:X%^_\(XW7[?3"--.8JWLZL4GA^R M0AVD00(WCJ!^&FCO8TP@0PZT:=/$YLT-!> 622"!'0I;I5U4\5"4Z MAW "EA2P6$?6H!4/Z?;$>P1B@S!N#B*Y[,K^]OKTPRN X>>PQ-W19\V6#M2' MP]B;$AF@"HWU$;CE1$V*UTC\]/Z?^7N]%TZ5Q*HU/JRS- MT1_ IR8Y?>(%PNMUNV ])%Q5"CKZX--NI^DA('^+9AT1/Z:%-:D]X6?')+,9,Y,QZ*5S!MNW.R#: MO@V-\LB 4L"SQSK\,ENI'-V4OT[0Z>?;$^2#AUG9D0'C,#MUW2&!D9GR%U%' M:*%A3?QZ=Y]?9[FJOJ'YLES=E]6Z+#JPJ=:2'PA[,QI($KX>H)3^0'^E*H=> M\JHBL=[K9*7U2!U^FS0W^J"OTRI]K,9Z0@2_>F\K-0*DYLCK$+H7!%CTT;W#KP,=^Z;4,)1P&1:+I5I U12Z4-6B%IC] M%XY-$.8(&L?')T@CFV!H5,]XV!&]UY4J%MD:G'0)<3T04(QN'U7^`.#QL=R2 MGF@+'B>^W/;=V&$@23*\L+G-.VDO;"JB9!?9B[+8JKQ$6OAJD,\WBZ6Y?C[K MZP>03K=[\JX#B%JI88*SU\8=KJNQ]PRDQQHBZSEP1ZL'=X&^6$'^XM- MEN=IM0)BE'HJ2W">KM'[#0Q,!]G0D.UH-A!+UW",KOA-FJ\VS^C=IGI>>MO> MZ3<>1''2)7&"+N PTUF$5?%KA)-6-YB1Q,;%#BYO`(W%=!;"3,IPB>;J"3K_ M)C5+>:[6^N$H7L(K1R2CHWA)!HSLI&F@HU2_%XIH![O+K%AN,@135NF%SG:C M")L!LJ?D->?J$7($.%<>9[RGY=T$4Z[U$8%"V1J=PQ5]DY5PV5=5JHYM8_WR M^3_A&NH.]&\B'&6$7-.G);QGK1K1*1[K>7&+IC$&F:_2:B1GDZE]6<"?GU16 M#*[@?@:-^2Y8&P#[2A4;P&F@?>["4?"!CAPM@WOP&Y0:Q&.H?Y>;7!E.8M!2(S><34281)K]@Q>GI9[)OY7H3[52 MCU ^4&+XS/:,^I'Q<"3[AW=ML[_?@.^6*D\?H*+K50FS@M.$_PDP`/WI>6(- M96YDBQWS&HK_L/[=TOI[9V5OSZ>Y. )3NH?Z3GGJ]LH]]\EL1%WW-O M9\_+0_L_!$KKZ-,^9SVFH$V_X_H][K$^HN0!P'_?_^F%-S!R2-Y.FW"DG9AH M6?Y9SI]H5OAGK?F82+NS:,=G> IS^-3G%9S">4*>%W"<&/_THA%%_@Y_T#^/ M`33#\;O](_Z_C7-F!;6S_3]BCG_\@KE1Q-?YW. #XE2._Y? F#YF7T#F#>%Q MS0_I\2>?Q>5QS]/,B+-X";M&DGC8N U'\4.\A3=P&+MX%M_X.^[!CXQ*HQI- M^+YQ#<_0@MW82[M7L)^SG\,.',*CO.E%ZYIJ%R[X_$WSY]TXM^:&.=77S?[< MK,J97D78O7;&-5>'KII>/FUJV932R27!*XLG39Q0=$5A0<"Q+=- M:'*(_%H MMYH>2:J8U^ %715K/K.J1F%R*.R5S$_,R9HHITJA5&W>KE"305VM"E2-TS5#990JHVP5_;O,@82YZ#S1CFXOVK&9<>E(7HC,F6Q<\H:9"441+])9-*<: MF:()9">0HW%/QHC=8FC&C$479TP43F(\)HM?44&WJMN3).,U,!#4E%[0#/K# M_6-5X+0\5YKE#!6(J *]K[M9U:44]KB9ZN%T_V 0&Y-5$SN\CM3M<66EZ&,& M5F6T:QU'7)](=KG*YN+Z%:+$C7:Y:8[%+,FWUR!7=SDYQ5=$XKO#PR$UF32J M2JK4"EJLN/]4R$I'RS>[,DRG=[MJ_YKX6&U8WKS;R0Z*>=J?D9-%N M-[VG4Y^N7WNM`Q;M\J*;4Y]FE4Y'9?M41WUV]8BJ6Z<)UFV(ZY PV V)G"AG ML$$\%TVR(1'.7D_3VGA$'/-2#:&LJZ.29$Y"032O=,6#E5Q N>VNPMJX1]-: M>776(MU>JP\<3AB;%D.AWS MW%@ZF4X-^CLW>F[02V>:FM(]T:0KIT(JUI]0P627L9BW)3D36QM? M%@J7)/+#EOP03$*F(I,^'>0>X;!DWI[!.FSD0.U<$\^.76P,'4%=314CEQ3- M<%Y3UB::G7G-Z/2DQS >A7QFRU3AK-'?E<&II=&NQ&QI-N. Q[U5#>@FF!)6Q5.]D2/LP&!GVN&FU5,KBD77QL;/S2 9;S 3JB864'R+N-$[C M?N,TO[JG\8!UPN^GK(D0NIZ83T2)EARZB,7$2K&7N>3[9!TB8UNH<)['=/LX M"NPW,6 ?0+-S,_;:3>2#&' \K';"&.#W?<#\)V#_#0/6?S$0Z*)N/C$+S?9K M6>K,Y)QOH\ Z2;L7N4I_-/V@$B#_0 M=J6]&GW6LV@D;;3GH='<37TEYMCKT6N<$_A/VO7H$SYP'KUV&_=8HNW[R#>: M/^'\`R@V]V&FO8;\MU#L/($I5B__9?6AV$I@+O>=;UBT*]QR.!!.V,TDAZV,_Y[I%]WVHS' M26/V=KB!N6C56 B+?F]@K/Y*W0\"+_DGZ>PT'P-"P*5Z G\F6<1?RPL9^X])&O:'5A#VJKC\BZN M,@^@R7P*">(3?:B1N,O= MXXT1D14;7)-(\.QE]EJ"Y\?'+!G.D?F%/I;K?23_\K1)Y]\3_-][E+2 ]&V= M;SGHN\I!:-Y*?DB.0' M:Z! QX>^ZS/\B7[<.EHW/[;*67OE6$9<5U"$1F(Y,8,UUZ5RO:38VDG^?0O/^7$)9U_9Z_V>DQ:PQ M,*XO,'>?IM\AQG$"QQ]Q?)KC!SG>XDQB[;^#7ND#NA;9"Z0>!8SE8[39)+V! M-"G4/,:>)O0OZ)6ZDIJXA/9AE_9#>+E+QOP2RKXBM9VCJ1R]832V.2I]1VI? MT]_EJ/2"%W.U]AFI]"SI&Z-WG\^+/,T8O\K?C]2AU)+4HLX7^ _I&CWNG]+W MVC3RLE,Q\AN3<&;Y6^W$R JGV=_$^+V3[[G609[_*?^DOB_N(?%P6M&L\T=B M_"7_K7R_M:/X@H[+1^39=^U2K-#]EKXZ9UA7[+6!^[#;:<8BJ17==U]%H_4\ MY]RIZZ/>O@4/BXS]9:_UL'^6^ZX6/7.Y16SL+Z)-UU$)[_4^_[S=1?H-]M#M M6*'/R'YB=V*;]3KYVSAWJO^)K.DD_\=YM0=%=9WQ\YUS'\NRRS[O+NN*EV5% M4S=Q85<61!,V/M(Z3!O&L(C@AJ05% 5A%62,8[$ZJ(BQ5$<13:?1<=I,[&,3 M&X1A&FW"I*89FD9",NEDQFEJFT2[H\Y8FXCCVUI&36\O^Y$^G?TPR,\GGE\ZU]QOY+. MZW^6.U%6&_+%9?=B3IR QQ7>&:,[K",6E8 M7(/[:Y1TTWOHUY_@_WEL%>B?L_-$Y3I*0YC2F7@1];<>P64O03J]M]$)_2[W M*7$5*>?[DE")'&77V)_CZ])W[&8U&LU.]*/!:?U,?2/'"__2:.1=_B]/8:;^('T8 M<&FJCU..!_O^U_;_!_0C]&DR`V&<'.&@'Y-U'"@WD6] `2)WAF+_Z]/8C5B MX[Z#9\$]''*,6"5"[B!:Q"CNJU%2C.A$C*/N\K$]-K-O8JQ^&_>IRXAF,4:6 M1O5*SS;7]@Z7>_;V#K=W>X>GN17KS:UN;W.KIZD%ZTTM;F]3BV?S%I=W\Y;. MK;/:&\UJ6P.BW:G,;FM7O&WMG@V;L+YAD^+=L,G3T(CUAD;%V]#HJ=_H]-9O M[$K,>F&YQ[<#$7I_Z.K0S2$V=,RC#AY=HGXX,$_]\(W+ZAO'*M30\6-SU9=. MY:NGUD74?D1?/*(>0QQ=UZS^"#$VG*UF7(&1SB7J!<1 5Y%ZJ,>M]JRI4;L1 M^ZL-:E=UB[H7\0/\[D3L0GSO>8/Z740H7KM875?K4:NK%JMK$,_'#&KTQ>>P M#-7&+&H58B'85&^QDAU1E"+%ODBQA!532,DH5*0"A045LE!Y]#'+@D#6(]^P MS)N?-3??DN?/RO59YJA9WMDYYFS/++/BA \O+O+BY_5 M0P1@=]>+WFFZ=FT@)[F^_)GJY/J`M(4[I(&:C=(-%-B>$>C%)T;S_H//*LJE^>2*,F=H.)) M;2>TRC'X#=[??G+UXZE+$[\[R03C@2'Q1$W",)&'01QF6 FF@JET45C@L_EL M^5@`#KVW6R03G!*LX.7K!>U3V$9T;%D<=3&#W15A3!H1`42[((!(_\#8H#XX MD)$583 B!E/A@#5ELR\.DK)PT)H*!R%06)"O,+_#7P3;3E=W=.A_U=Z"N3JN MC3>S5^$VK4?N; /L;8IKTJ M'"2<)U!\17!;,]+ZX6'.QTXLMH*$8UU1$QNA M"HQ00:0CV0$4HXQ/L/EML/6?(&GWPVR'&/NZ2GH5KYGE^@VA4=Q$S,1#JJ)E$:4&:L28 M'#.+1=83(LWJ7T6&<)A'Z7]*NB!](3%)MG=?-(+1:VRA[FY69G-$K*R.43:+ M-=% ,!Y(88'_BZ?P+2R(0US,(S8K"8=<=L5)I?FA)Z!H$?7GVIQV6C6AW8*< M6[^XV;[EUL#&W0L3+VO7MRO0!8_""C@XI%WHO:V]][O?[O[;>Z_ PDGM2^T: MU\\AS*NGQ03)(L]%R[HS8%X&F.DIR,X5"@1Z3;@C4$%Z298S97//50:,`<8E ML9)V*EES)9 D"SP-=<# `O6`18@8RY&D&NSV60R]EMEQZ!^ M*YIGLDKE+E.W.>H$N=O1ZP`'9,-&:L(F,Z-NRCD.(X]!)'%K"M]0`'TB% P' ML0P%$_&I!^)Q[HSH6)%(T:)Y_CPV/X(V(&@"$%;"Z!0$43 93M&,#(G8,R5IGP"R6" MGF,4,NP9'<0D1.W.2%"H$WH%)MCPY,F])QP(I@WA#H7C:(PR_ BC7/O%A0%A MEW4$C9*6+1$G"9_?AN*%;6'%S\!G6U3,7IZC#9R$S_Y>;3MN!M4,6F_9&=.=Y[[*3-;:8!2!@9# MS AS^E=R;ETU5LCN7V5MM%*K!\ *,5H,H.W^Z(9S/GF%F+H=D1YD#CJ'-0QU]%$_ATD<4P`:92,QA-H1*R%2X(8 M-E.^B(Z9%I;+#'&0T8A4<;HCX9"@.(D_-QU5N1":LJ^D.%U"V1]+!W[9`PWW MW@)!NSZF?:V-P?ROH%WKV]+WP\ZVPT>$.8],,[[][K[T[27?RR9*Q9%LVMB&:8,:* M93FE8X4&)H:DI02W`T6$#(D+<<$8QF1B1N%A&P<*)0YO&$K:!B:/F=)2,G:& MMLDPAI0R#+@P):4I):G;E% /::%0P#[WWQ.R]FZM79WV?WW?]\]$-.$DG2E3 M*"@1R@\0I4<#C1IT*9&W*@KEA'"=OXC6)&L$"*)%Y[(B$QO%>0OB(4I9/ CQ M'#LS>MAVOZB RZ.WY.:?NQ^X9>YZN@=NH!,]I&-'/J@$@1YD"H: M5P3@8?#QH7F4K*@KP(' =_]A2>5L7L?#OS/)\4""BS M9Y!^0G4F25Q#K.4J5](J<.@GJH,TH4A<&I 51Y857*FG[("FZPKJ)B8'N:JP M4@ZE_! _RAGG,L:V3/ Z$).L1!S&,CTN&_)R+,0T9FNV/5UK-Q3AG40:D\G& M<#*?L@F1LKVYP=XI$7%+J-:T01S3T) L2<3C+,XJ(%[ F'3*O;=\[%;K'^ 4 MU#@??PPSW!-R\^C[]/FQ0R(:W\2,[<",+4+KGI[%FJRFR")K461+Z!;]K^\_ M17Q+`6RWX(@*+Y 6>,G?&EA%5B'(=/).?RZPOL@H)[7D+<(>#UYW,%+6"$5Y56TSB+Q6BFL4B]S"Y.U*=8W M7.C>O'KB^JLP"=A9\%<,-U[>LN^MWA_LA2M%Y]R[OX;I)R$-O?>O1Z .F\+_ MC;V+/MB-,?9AC TR.S-5V?$N<.;LQ_1Q["J0ES M,Z]DZ+?T.91).I0;S)^6%$JWG8!BSC!9CFW'0^(VA M+-/7ZL_D$_@AOX)U\(W^#'^-:E[Q3/B(?ER5->DE:*VV6]DGO2XK"EK,< M>YL=8[)!B^@V>H"^0T^@^0/CUX[)%A6\4L]T*6WH^@"C#M,YHUS7)PFNT?L% M7NN&) .>4%*#W)"II#'<7X\?B.^:8M^@?DE_H#/QS$PL4I+2=?PQ2ZQ0"NNF MHC*CR,)Q$O$F"4BG25K42_[53L1U519=C4(&)5 <("X//7 W;7"[S\ &*($B MZ)+>>] L!I90'VM[F#L',18!K)]G^W60=$>GW3J$96BA:R@UH KH#^$=^#/< M!LDP?3Y=EE"$@N)#L9#B:(E29L?QVJ_['%WW^4 +*KJ?,RCA@11ZY//,!)P` MHKZOC]CH!%U1^S1+:R6+;#-L?MFL5ET&NGGJO+MDVRI\ZB3&(V@D9_JFUF_ M8#:!$Y<1)PS4'PLRC;TJK*9KI4YMM?X[D*LHG%9@=Q :2!.A*66F0JM-,/M( MP:0@!/L4*9#C3H[Q"&^C+.PIN01J6DOHS2R^17T+UD4UY_%.W+M6UJ;LO)0K MI-O@;VOND._B0$>U'-/0)];IM[T1UTUY[^%.(WP'#9 MW7&,CHJG;L935T(JD]MB0;?4;=VDK+X8>GF/WAOH+NJ)RM/I_,I6O=5<4M)I MKBKYTOQ[8-BY%C(6F*=TVBR!GHM&K4A$F9V(PO'HI>AP]'94XM$MT?W1=Z-2 M- 0\%XMY&[X3.QP['AN,#<6&8[=C:EUL9NSE6'=,0I%&!L8O9(K$IFN"R2TR M!Q;#=CB$98ZZ.30P_E'&%*NAD!5ZTP%'?#"-&RG'L5E?14&XSY8@1T(Y1\F5 M3DPQ^_XRZK+VFBIUQHR4D66TSG5(C'PW=!0@V@D//W0VQX^ M)8002-AB#2?9!!)L-IOO-C *.!'1P!F61D%]8=R3`-654VC=8Q.3`G#S>B < M+BP,.5)%^43U9@)*N[9EEKD/-JU_!JQ+OX!0U9>ITZM?^>T_+[[N#OW[K'L> MFI)GESZ3?J[XR8KY/UW8_Y?]VQX_L'A61\WC=>=S9[X0O4+3^ UV75))E%22 MO1D>+4#:>*6$AA$3?H4\H@EL>#843BEE^%]9#'I,B'WP-TPS,U2^JTE>)E.Y M<"(CH6#0CABF,CMC0]0&.[#+OA."RR$(62:JXLJ>XNKBI3388]NE75J5UN(! M.-)-#8I"["NRR1'T6 +U+I92=B0OE=J1?K"D,#_C%575"I)/G16O#=<]5E&N M5J=0,I70D.VPLCP+U;'K?XHIWWNPIY\NB4S^XX7H26OXDXZ=+=57W9GS%VSL M6;CRLU]N@H7P],&#L5=_5IU=OM%-+X%]%QOG'UZ&?MB,.:MZB!(E\S+)31K, M1)V^QU=H!R!$2;'45 1%>U2KL$N/^*V47J(O0[T(@4#48CT0\[H.Q(0&H72Q MSKP:0UN$/2.>VDLBF=CBU*)CJBBO+O!.79^7>5]]?_B)C=\]Z,%4?@JCMA.C5DAV9(HG MVS#/FN>LX0P%>XNV1J,O*AT*G4$!6]L+(HJ&J(,GN"\%,)7 >O*ZT+JA75*A M:3;Z8+OOD(_Z5B/2!7;I%O%U@6G5F.O,[>8A4S(C9@<-=JEAM>6A4DCGY5MM M%B/F-2C>'9%.* 9\D7:4"A@M3-Q@LJS@8=ZBL?3"8-65_4.?W3D'LQH')_R? MZFH!BNHZP^><>^_>?=][=_?N+KNKNXB(L *RRTN,[OH`C78JG?$96:5:%%"L M4*$:JU'713'):*K J&V3)L'$F!&%R 2C"8D:[1B,8XVO:D*FZ* !'S2=3CNR M]#]WEW3*<-G+['W\YWS__SW>W%!1M:()_\;R:0?.NM>+TZ+O.L]^UEO;VVHK.;Z_.U??8]S']S 4]MP__/AS0TG6J/'WZB. MUPP]A"S("7G*\\B"YSF6.VZ2!X2]:,$;"- \%F'W!> >-:6FKF !.-2Y(&5& MH-K^1;^%,^B,,9RV##*4$&<0IAWQ;"@`@2I M,10:81A*):##^9DU,2JA"4.!`N5D(]IX?*+%"D"8Q]$5\HSNROB^UFO V.3> MK7X\-#=EPZ*CZ7C[\F5;=7BZJZ$-.Y[=QQ.BM_H![UG!6$J MY]8B&NL M]=8#UMO6NPD_P7@7#4+<7W&PHLULRV> */[417LA*`!J0/P":HDQ4HH]*0:)'RLX; MEZ,<=!=S_=CW4WIDE L]\+\7CV''%&44)F[\OK-X3=',0CSA4&OT7]'G4=O^ M97]^[6O+1RQ3M9[[9COF3R8"';WFI]8<7&^A,.SXSDJ6_6 M[3V#I5U%Q8MV_GQ!X]8V^?.ANM89):6SYY1$C>EIA16[?'[JE7AGF$&O!:Q>/S*#5HQQZL(H@SJ01.$RE70SR*<&HNA@MMR$# -(D:4^A& M^@:\MA=^V/*!_QQC!F,KBC]M%$B,0A6=R#7^^44KMHIVBTFPJR,:C01;XH8M M,8L1:;141D2WQSW17>PN=6]S/W7S(]L#5H(RL:*8,$M*FU1[O72CXOLT\NF7 M8XT!_:*J>G*\;-/@.RMW_7!O[?WO9KQ\\_=MI/;\@?U#CTGMQ;?V##UF!F_V M]_=W[*+U-U %@`X/FEA %'@T[@FO,ID%"P)8ZAF6)H^0E# M!4)_'$/O_X$H*P4!BB73EM3W7JVZ$#E+?ONKLC_\<>C?S."CX??_BN*L^@^H M@#K@TF!1*L:Y5IQJFF0B#S&^H<-%UH4PX,PI7=!S:*+-6L2=@I&$W-1KW9R=J;5:R*"*LADH@L$T2+1%8C=BJQ5I!"R0/ M91KC94*5M,3SU3 02D-"30K!TRJJ>J],./0+G?EX-3/X[/4=^)_?EL/;C(!S M#>R;&^N"ODQM0#M7NU3;(-2[F]U\LB'-E6,H<-7;(@E-0J-M?\*'VB/ZEH0/ MG!U6XQ'^J)50->UPN51S>3N,5U_0(4#"LX4U:S3X+YI;F@<:)E53`!MJ'"5] M/'PK:*&72I(HB1GT;)MX0"0B'G]\;\R9Y>8 ?S0$I8RFY M>Y04H(0`)0.,,][(>N_Z]/2/HU>^Z,+!69<]31W[;P]%G[O;C]UJVP%Z/'7Y$0IP6)FI^,(L+PDCK]09L`D?(F"5- MH\&H%0Q&*:+7J=4:4=P+=]A1+='8-*M)L9U.-BS'1XVN'[1<82#P4_";&;.! MR3(H5 ;.H<)NS@/LDY0V)*%5^24[IVQ]5?[D\N7"4F=;F_7%5W82W4G,2]&^ MDU'S\D+:== 'EX!Q36A:,"W7B(EH:&;UP):L&9DDM8"ER"I(MQ93.=%$U&;H M1K593;O.2[VIPH>!@'? 1PDG9NS&Y8!>Q.8`S-VEZPL?[GG[86G&G$.]=YX< M.TC.#:VKFAFYC>_3GC<"WVV'MZO0AT%]!=O D@8".1=S='1+"(?S51QW"B,+ MYEB,6([K((R%<"K"<)C(K HQC%"'-Q("E^9ECAN)IRLX39S^[@3 M7!?'JRG6Z7;G>;V6UA0R#$1(H)&AZ$!XV) M!C$Q*M&$GYBH^- 730P/)I*@/M7X@P:3DCX0R]9S9Z>EA$ ),?I@YV3N/7/G M.^?><^;<<\^\<_V/G]GD=#Z;O+6=?B2LPHL=0ZORB-98WD]BZBC)J)AY/-H2 M6JHMIZNT3^D%3=.$D\*E#F58@F>520)8]"5*(0OP\W%;D`:B& ZF%> M=E[R%$J2AVH*(\"D(M7C98J1I\E4HY+'R\7^\7(S@&V)+U_9\K27_([9HK&H M+.3%`LR'AJL*_F">\R,$F5\O"M1:3(=B+Q:7E(44A?TD$4F7HK31U^4[XCOA MDWI$'5E7$\2C#AU56XN[!]E@G2F**1.+*716,1::3XW)U<&Q0^-CZ"W1&WB! M*/I!_%%6,O8H(96!0!UAQ[+3WUT;)UW9'XG\WN>7LA-D.'N":N1:]@I9E6T7 M<9$]R0XZ4?E58[%,BV@5K<*^+$HJ^\'H]IF[Z=0Q4 MO> \$'08\9OF!:R*=;- -ZCLU8ALZ@'MI+S47P#,,%[6L6@V"3,*P#^&,Q:B M<_R&(93FJZH1,**TM9!$"PGT]J 'ZFH:3!$F#;58(?9B0BG&'8B5(AZ,2'.1 M@J:/Y1\:5S7_N";:]2)B>GM(;P\V1/P:K*@OK@WA";'"":"#V?W+#MF/[QS: MW+RR*'OFSZEOV>1?+^T;4<_3F@->I8&=N]5/WX"9F=S?CGR9AF S&K<$7JT& M"#3F4:BH*"NIHA7F<@C6DV#]+/:&@]V6PZYQL:6E`;.*ELYA,>D^+[W"JN3+ M6&?5-2XE7#="(!K"B"$BF8G"BS!*&;I U,XU@%D(`Z*F)H@YDQ3+*^C$QFSO M8_+E4Q\/BLB'ROO25K#@,+P)4V0#.4O.T@#2&7K5H>GYQ.)(U]EU:;5++3F2 M=?F(_'V.E$_N36J]>ER=UG9J7WMTSP_>"F^S0R]ZO\PC>;OSOD":TC_0;_H: M?*=]I_,WY7_S@#1Q%]U\,#(J%VF1%FF1!#FYDN:J!3Q]F.!(&=X*+'BQ>;SA M-PL"A450#*4H_4AN07YSUQ>A6DVR=NZFWB+'4X,QF,)WII,#\0B/);B89ZVPWW64-@> MY,E^WCU@\;9$VK(3X70LF0C'>7=FV.H/1RS>E+2'D[8SS/>C] `?"F?X7HO; M5C260A&KCZ/JB&6GP]CO&[%CJ;Y81.!3U;PK:3LYPXBA:I3ECUJ]54WM72T=W0$9PW(K;_3ZHN-##WSW.A(VME%G1;E9+%P-=U<=<4;2B,\][X,1?!;8/D?;K/X4".N[G%EO MCPGY)*XEX\A$<>XTCG4ZDC:^23F6IN^Y:J&3X^Z/.[;>UI%R5YUR5C?JK+@: M=;1 ![3CW0'!N[[ ?/]W.A(QM&4(*VIA_0BBA/_*?5_CC#,IO1UF(3U M\ S(F#']4 $[,*.^B^>%.&]%MJ5U=2W1J76]QOHI*-><]/OA^WMTT5\LV7(E MVWKKN'9)?0L?/;/9_.\!`,1PH^(*96YD7!E("]%>'1'4W1A=&4@#2]302!F86QS92 -+T]0(&9A;'-E M( TO4TT@,"XP,B -+V]P(&9A;'-E( TO3U!-(#$@#3X^( UE;F1O8FH--CDW M(# @;V)J#3P\("],96YG=&@@.#VQ3YQ4_WWW8(9#@) 02 M#.6:BZ&0T "&)*2!1CAV!^$12*CLPH1-G!"G9$1 24#=EK5=HYIH7;0^5J:I MJU!;H6[CZ\%@;1LNZ/UK1L75=B]A#8U,'3"P#5,KDN]^YMD-XK.S&OWN^ M<\[W.,\OEP01Y5$OJ=2XIJEB05>JZW6BXL\A?:BE,]IU(?:8GVA^+Y%XIV77 M3J/YTZU'H3L#?KBM:TOGWA6%&XB44T3Z,UNV[FY;^LK*S403&P&MO34:.SGM M\&FBQ5A"E>T0Y/?E["/*B8"?T=ZYLZ?2_V8^^">)V'3MA-_/UK._:WMJEOO\[ MV%?X6R)UAKZ>BC&/W^O2X]&/>@V2[Q)9YVGGB!!S4F]#\P" M7WAN>HK4RR05R?@N215)'"@=93?I5TO5ZQKV8-FJK%Q.]H<\'K=4O/@MAQZ_ M%5$C)EV-D$-!C:%!ZVJUS*UV`SP,AWF_T0=NX0,/HV"'1A^Y6B1,8"FZ(9FT!KJ'ZTB+,N.BM(C(1U^Z;3/->*R+BIIKY$L M'TKT#[IH&I!J%C4E2O8'V9G#8'XBT&U+#YO;+#8D1:#<2X'E: M!&^SGK-V)SG$8_RA/L^06Q:"!F1!F7P0,Q[<\U>WF@B4Q UF$XD^0_YH;6BT MUL-OI+4$!B<")C;$9H&.99R:"O9'\^*W/,;!CAJR=W-'NEZB_1QY3\(E@U=M MOS-!BD4ZV*Z.*/L2Z# 2>UMM?_IM.^T0!=K-0#QZMUF)1( /C<:6I7?WR[IF MFU#SPR$[" AO?3@CRDR 1K,UD?JP)YV0AG4A/QMF1NM1'>'1DDA&`D$@JS38 M@N780!HMAJ1U(1-3J_G56DV)EFHW;^L)"ZQJO+%*ZEZ7:22ND!01\^*%FR71 MC,3A=5TA'@;-8"21")I&,!%)1 >MWLVFX3(3R8:&1%<@8G#?8=6@=62O6P;[ MP](5:1-;$HT%XC MQ<0O4;>F];+('U+=2C@]4MPJCW++T+BU1NP1?'11F *4VV2]01D2X''@25 *; 0F _<#VP$ MRH&JS#KFG^9]@*2VB8H=TZE>GTQ.?09UZTZJT;=1MW8`B(#O`;^#NI4!ZE:; M*5]_`/(UU.TX`MW7@3[HO1GZ;>C.6/]03^!_I8_BNIN<3A_6S+'.:4>MWVN' M:#K\6*E-HGF@E1H"!!#P`6Q9H/V,'M$JR =:!=ZGFN34OD.*=H3B^/(`K /: M"Z ;*.[XF.*8%]>.8WX2]$VJ4O- E]!XY9IU33N(<9YU3?\7Y6N=UK!6:EU3 MW^7SH2.Q`]3B>-I^,^ W^SSB$^RW;;H3*NPS;P+LB\"^?P,O89PS8MNM8+M& M(TEKM*28#;H'F D\JJ\7`UK2NJ[/HCF.>12VT69=@=T&8O4K+4;3G,NM<[:= MAVB1G#;8(-]W'<.??T2:I;DS1-O$-+@0;M"_)JUVQ_U_!7%:_A]3E-J'N< M8>5`>N?H![ M'W/@FLM`ZX3Q&@;, `<`YY%W'J *B#'KC52%MMS MUI!3>1QGH&:Y;K@^N4:X/M #3FT(=VRCZ6CMB'0)UHL?P?6_]`?5['';KH!?!GP%]C_W@N.IG,?\7 M%.=[@.O[N6#Z?KX?ZA]9_&]D MNF#G"V=P//2_40W'W8[Q,>M4]K[5CB'W7/,MX''O:EMI#OO)MN(>K^&[UEE+ M8?TX[GOT"LOU*MAU/^S[B=T?B[3]%+%E%Y'+CZQ/M0^A@UY]/CU'.X&SN8\2 MT/_1.JN]E;Y+U=-8R_G();=VE+ZJ13'_[U@W@/.QIV,9^)6P]?L8;R O^\AR M.R[[TS*[K__+>;4'176=\7/NN:]]OW=95K@+J!BWR<)NW14%V8#&:1@#01&( MKE)C??4/I9@A-L'=:A9).QJV*L%,NC)CIX[5:=:TR"+8,8]J[=2.,V9#9YP" M=MJ2:C"F8R,C\6Z_^_^[G?VG'//^=[?/:LRGY,_`*V'^6 [Q;_B MR$C]2O!D^H5I&-N4N:W(_J/,%:XJFPNX,J!47_3=TDR:KB7$@+];R*7D[8XG M]-4VD\O79G5%8TC154?FPUE=<2^B5[D&U"),H7:1@SEO9ZX(![/[`']Z40^T M7:FG/M!-D.T"G32"/A9E[M+8XO=D_@*ZL[&7H>_R(YU=YU=#^\Q,#3BDY(WM M-'[)-N"7YI/[(#NM2P/0?PC5\_^ 6,A ^W>9*_R[0+<`6J$VWU.H7HGG,YF; MRMX1:-,ZEZV)4[0ND>'V1N4AX4OST%O(!OT7=F??I)^BB_00ZGN8CF M8?CFJ(9OD440"\U0#SZEN9M8(&>W(#6M4:H:= SR_QJ(`T$\"_J^BEZ"_""_ ]N(]":$!&'J%[@)U<")T'! $10!IT-P_Z&Q[53H3?`\3!?Y_Z ME?=.]Q<,'"%#F;_9I$#)2&BD;B0Y,C["S38OCER#OX([C5':F':G2]*A=$LZ MFNY+)]/7TNJZG2T[F=#6[IV,H;2E)%)*W$VAIKZF9!/K3H02#$JX$W6)ED0T MD4Q<3(PG1"-TE,!(MK,[T:=TWTUH1\?LCCFC8PY7R5C+&#,ZYAQ(0<= RN$: M2#E1RIIB/D[=33']Y^RNNG[V]VBE+9WY4C"2+_4+ZT*Z*5;@&6`?9%13UL?RI3?VJZ7.F$MJ@/E_3 W%I&D:,0LK8LLD,HIJ\#$#R*BM+>C M4.J(%$K=,?P+[):^\;1AH4>_X"G#_&+]W'F&PB*]N\"0+^E=<_)T.RV0->Y"5) ME"1LBPLC%W8M%27#$E$B9:*$%HM2G1\GS36H9DU5TH*!KJY*^CTU*1'5)WV> MFJ2J;EW368P/-4-ODNE*8;0FR7:E&"#FZI?6-:6PDP['7/"73DSA:.S@0=>C M5G.S)R^YN69U4W)!7G/21QO=>&"8_R#*H6E*$33H M07!9YC;;QNU &N1 2T,+M4>0Q7R$9T4BJ!:3H(HU&()DL>H^F5)QAIC*J1IF M;#&20X88CW<2?N%65#E9.5E:PA4BDQ'YW?1)?(%%QOE%A;S-:F<:[LOCN/@^ M)M@JCWRY=LFJJKJ*"AN.X0J\`K\J[Y1_*W\H=^'"&[_&7-_UP>D!>IJM@+RV M'KARH-J0EQ#'8<:LUV_489U.$S>Q2/><=:V5.) 8LUH1QLB)AAE=5*^?8:S< M"*SYO2:_=]+D#Z/*ASYOV.^MG"P#96!28 H&Y@86?1,8%.8%YOI]K,W*<^QZ MP_3=S_S8T?!\>8]9/CD?/WUU%#N/R0=QK7P6+SE1-/'Z\F=K/Z_^\O:=2V_< M^2?5W5+0W5[@THX*T<90I93GS7N+'!".$U MQ@*7%Q<$JR.NLY"XE37D!DPK MU8WJK:9V$X\[$>JAQFWFXN9BDR4;^ 35 I4;T! M-+\$9/JKHOF#H4 7WZ-)\42G#\V1@B(KJ'-8AYK5AZSV8*7^6^QSZEI]+_N9 MG=?K37$U"SYIC[,672HS%7K&F1%R[H_X@EA0C7L 7<$;&7(,\-)K=ARE_)#^1+3-&E"Y0= MJT@&W?1(1E MY(=W$ #AW&F94^56YV*5R MA890U93J`"9^^BR9=>FS)+WYV7^^/_BS`_@FE8T+5PPGWK^)B[L2"(]]`>?I M!,S+CT:T&5[!;%[J\:H>C]#T&67+$',3AR%.PLD]4LR:$1=6IPB^[&!;! M$W %)AC+,*Y]"_,VYI&\@;%/3\!=^A5NA.OG[\*]>8IO8&Q4RX>G7H_/)9B- M5H<&?S@TBS7L2,BR<;NOP#= ,+-N>)U=-1G>PPGDVFY%R)IO97"$@O)UT,Y M1H4"`8H/: M\6M/]#]37JD\_K>>TQC17S1W+RQY3*EN.-U^CHXQQ:V"::[A1#0!%:*M6H/3 MZ7!8ZWU-/N+KTZP-< :LJL&?,BK(62\U24327%EA*:7*%A/O1;E>D]L[T<3# M"3=8?4DO2'"Q]R1Q))W.W'93D4GW--8WFT,Z&F'""P0(Q&.Q="1SYG4)J*PH MPR53^,(":+.H>-Q(G$ -XG*H&)0X!+3EUM!=XG<^>><$M+KQFS6[9;I_/OZ@ M97AS&=TQME);,N.I(P.;#@^IGKKR=04X5OG2AGZZ9@/>/:'K^7D[H=.7H=-6 M8*^,?&BIEGW-?M=.)"5EA]:X[!0O$V0QY>2%+4QL"[)]8<$BN5=9.BU#EHL6 MWMUNR05KD4#C'$DX,8.Z?D%#C-0!)CK7(ZPIT+#\0J UV KC-2DL*.45O?R, MI^!YG^+N!2?:CB^Z?.GB>O_^#;&Z>=\H?P+4+;!GUYW.47K^M:^/=@T M%";MN0];M!REANR'OX/]W\7'TI'NHVUWYS= I6SV;3![%7E1HQ;MX\YR+";*FK?!2[Q]LFQ1 MH-8L*%IR]0I#PD5I%-\5>%=2DF"\/OP;XO7*[<($X6$4@2#U,(H`^7$098;+ M<^#%^G"12Q7R1M/PNEGB;9DIP%_*[H' MK\WN.8_++E_!T^C'8Z[BY8TXN7K64<8<`50YSW@`LM1*;3IQ(D-*1;R?)[PD MBN=D+&MV*2SW6"$`'N6SW%EA/LLLA46QPKW<3=SN+%7%2;!'GI L#RA6,,JD M+,(B("0_QGA&E@"H5JPQFHZ.>VZA(U0]G;"A,W[D@)T3#^WJZW,_M[^UHZ4I M&)R/.3*:MI!1;&C;LJ[&11_82^86T33X.:&'N3W,HXX,=IIFFDR26\&"6^3W8XYD9ZBBJ M*QHD!8Z$WY\;2?@@)H)L10(L[K)^6>\`84:[V8.!&(GH;P"P`*8!<=D#:H%!Y]D=2D;A,XI1 MROW HDSU-"JOWKU@#):3%Q;A62?>ND_[TG_^4=/[1[#IG\V+"B]5467#IN\I M;O?J@^W;9OFCW B%U%6\+/GF04*JR@VB::#EAX-CKX7KGN^9-ZN_]Z>N&^G5 M+6V)+>G?8JVFX+%B;R%,'S4#:>X9$_K^$]1RR2$#)PM H^,"$23>R9N3)TW( MF"2\B6=Z`:"S0]<8CZ4SV.N/>S0.X2%N3- S.$JW?"D8[C,NLL^^I:P[?HIH=Y#?Z#?P7.7@Z*:RHVFV6G1[&YC#W9MIYLE^R0$!BU M%C+;PK"S:"9BZH!;<$<%;'BD`BU'Z]%/T'$T`GM9'LB%TREUK ?*Y\KL*^- M8ST>ZV>067$L"B;-8&4ACLF'@ZFU"XJJSESR75,S, %\_"NTM3BXGNY8]@)- MX%7+W_M@\;<_>C%51[9IH2/I=\BVK5O3NPSWNP\=.K1@1^=X+]Q\DUP2"9H@.E,VA-IG6'2TI8OA9F&TL&9 M(05/2]O0M/1+^--VTFEH:"E,I],IXTP^N,7G_G8E4P=/2,J']D-S3[?[=O7V MW;[=M^_]5L2_,O:>\Q#K;CY35G53Y<^5F=?_K#I/EIP3'N''SI1C%2R:_B$% MD '7(@#?:[P0XX$Z'"0S1A:0Z@YQ=S+^8)R)X=H5BPWJ1EC7C5C4T)50XN;: M)D6 3@-,*%&ULM@"$THLNZ[0"H()B<0?FACS_<['?0'9W8P>96)T^:^!?T.Q MZ-*(@+=;(O=$LA$EH?5H.S3%' ?$/0B(.\79.$4.>CQ42>P<6HAJ;V@HH%JXDD2U2(-^=FO%2]^( MCSBO'F/J&\P><%Z_Z7"B9<<_GM_O_.6BT\>LFDR\?)F_YH61;_[$N=C\^>O- M>L_26X[M>?H4UG9N9NX"/Z=U(N_=GJAQNUT3'L/PA,K*(CPP$0GYSR(.A!$W MW(Q%<%$(\4.$GD AR6W_FTAS\?JZN#QYLW'L;4LAQHL@=;UTIR93(M4FD>U" M528_]ZM;EJ_>,&J??)8]\82+W:_,.+/.HYN7FKUS=D%!F/M"?GGKJ*/_M[('XISHV\)UB31"!POBN MEQY)>%T\RJMY.]O&-/TD?.\VKK-FW:NKWFW$PEA"7=6]ZET*#R-2P_UQYIC. M@Y!:=T!_63^C*[JN>(&C??0V5^%1[Y]02A7A'.L:Q!LSL9!+!$)H:(DV'-9J M:]S(B*B72*:&UC$<5(-5LLI0)-K8U-@44L/.8\YOG(/LV'C0IY5PSU%A!A:R M9^V:X%)U!7M%[.PTK+@/5H3H9&+G.K9):P\I7J\90C C7=,`SKC"7*$0<84S M)>CUZIH*8&4*Y#A .DS3S:"B[%+-L*J:7$/(<9&XNZCBVJ/K+C\4:#HTNM%# M\CP!$Q&5N5PJ/!_.4(,R"G]'G@C$"R52O[#Q\ .G#L-"4;D#I]P+RWB!%U;? MR#RL$J9'(U%I>@M60;W/N>VET\X42SFGV51:+]$,3X ;0ZP#@76C,\4KV%L_ M*C7=07.9%IATZL5^`BLMQTJ8]%!B3<#$K7<;<=C'`W[DQMV^TK#/5\H]*L+% MA(K)+PV4>H)DFGZ_SQ_PF1RV_3YA2MM"KE*/R^-7(KA,U&V/-@2;"W:"F3<3 M^U@X`S@BB[93[*2X&52;\E17L\H*IBYWOE1[?++FR=LW'#>=K['O/?,#9>:? MSS]PQ& 5WN[8*N6YV3_RZ^;F"K=/;9HWTD9L<(2./(@))3R\VES)J;HJ&*MB M-6L)/\C*;"9EMQ9DOUR0K1"R%3'%F)?%EEKJHTJ]-@V\40X))%K%9)PK5-<` MR"8EJ?=!N@1O<[1KV1,5XS7BNY MN^3%R]*9*]"[5T<>?HVNT36Z1H)(/!QX1CQA1%EPK!ROBZ[X*!]IAZ@,96QA MUTJB&XE6@5M-]0U$C9<,V/B9MO9-'9W43;2EYXZM=])==V_[[.?H"U^\\KC6['X\=+1#_7]F*C((ZNB MQ8K6EM/9(N\"?Z'(Z[2?E0K/4 T,V\\>*_*,UBA&D>?D4SY=Y!7T=Q5Y%?R# M1=X%?K+(Z_2!\I[5T=MJM=G)S.[A=,9JS^:'TGU6.FR MU3N4LCHR^92=2>;3V4QRV.H=&TD-)/M25FO6'LG:LMO:A]%#UI[DF+4S9=FI MP70.0U+]%E3WI>Q\$O6NO78ZUY_N$_*Y6JLG:TO.ZLN.C-GIP:&\M3G=9V=S MV8'\0M6UEK5^>-B2$CFHSJ7LT51_;6M;=V=79\V\`87Y;THE1\<^R3__V[6 MTW90+US6@M/:<-<,[8;#IE%;U Z0E*2*>DS@RD4O@O`XD\QF8E-RQEQG!T4I!/0J^0;L6_-OJR4N^\M$7[BM\> M`B^^-(9ZIQQAHQR4,RI\)8796,59]\F>O#QZHKV+]J(M9/NEMGG].1+6]\BO M_KM/C,]B+F-RS""^G4??9CG2QC\Y:6G^LK,6.BU:#TN'Y3SG=>2*L\[)V8W* M&=?*4-%-G=2%MV;1#BQ<_TT8D90!9ZNT?2]DQ-I_$@W_K3'_SYY5B+3\ZS1- M<60"#9$R0'6(Q<3?1;80^59$6>3A-P._>.4>?_PB5;AEV#U^Z/RKHIZ\]:M/ M.;T*96YD[*IFU7MC4^]^?%)_9F;?I:6V]?Z??GV-WU^?5)WZ_<_/V=?7GW]S MTVUC6N;A=H,UD=?>W^.88RG9X^2\)?/IUU>"_58:*X,3]C>8-_FVG)O[XMO; MB#V51YY?N/CV5N[1+J^:,.DEGEL>'K;9F+SD]K8I5U;:-0;N>7)2;47@P\_/ MTPZUNF_-$5[H=.+EY9Z+BT^_NCK]ZIJJ4U,%6\W5)GC>>G5?J513=Q;'?V_)GI"5L,-C#5N L :0-6QAD1T$40A)" $20DC8 M!4%$!11%1(2JE3+6;71&3T6=+JYCK0[6?>K2`_4PZN@XM!;7CIT7.$>=3F>F MT^\?[_=\P"@)Z6JM=4P"P"-UJ#/2HS%%A448J0)``,*( (1 M`#)YK2XM.R$'X)+&2[!:W G\BYY>!Y!IO2),RL P\/^)+=?I#0! &3@'*)2U M:65)H91$^OQ!'&V-+%JGKWG?.8YVL0*C5:!LREGG4*C M,/%IG%?7&94X(ZDX=]6IE?4X7\79I/\W!2K4F"@T5(PE*>NKE :# M,$,FKY3I%9BD6J.3:1L!F+_SG#BFVF)XD8-%H<'!0G\?T3N%^J^;OU"FWL[3 MD\RYGD'\"V]M/^=7/0J >!:OS?JWMM(M`(RO!,#RYEN;R_L`,/&^';[XSGWX MIGDI-QAT8;Z^]?7U/FJEW,=4T#?ZGPZ_0.^\S\=TW)OR8''*,IFQRH"9ZB:O MKJHVZK%:G4RNQ(0_'>)?'?CS>7AG*J46C\C#ITRM5>'MUBK4!G6U%E-K M_U,3?V783S0_U[BX8Z\!K]@'L"[R`/*W"P#ET@!2M W?@=[T+962!S+P-=_A MWOS; +#8#L8`[O!?G 0C(./ MP0GP1W >? FN@5M@$DR#AV &/ 6O( @B00R("UE!#I KY 7Y0V(H$HJ'4J$L MJ `J@520%C)"+= *J ?JAX:A'=!NZ/?04>@$= ZZ!'T%34$/H.^@ES "TV$> M; >[P;ZP&(Z!4^ <> FL@FO@)K@37@E&!I%19#]R##F+7$$FD4?("Y2(@6=0F?0UP0&P9;@10@C2 F+""I"/:&+,$C82?B( M<(9PC3!->$HD$OE$`3&$F$0L(%80FXF]Q*W$`\3CQ$O$N\19$HED1?(B19#2 M23*2@=1%VD+:1_J,=)DT37I.II$=R/[D!'(A64ON( ^2]Y _)5\FWR._HK H MKI0P2CI%06FD]%'&*,IMZA,:C>9$ M"Z5ETM2TY;0AVN]HG].F:"_H'+HG74(OHAOIZ^@?TH_3OZ(_83 8;HQH1B'# MP%C'V,TXQ?B:\=R,:^9C)C53F+69C9@=-KML]IA)8;HR8YA+F4W,0>8AYD7F M(Q:%Y<:2L&2L5M8(ZRCK!FN6S66+V.EL#;N7O8=]CGV?0^*X<>(Y"DXGYP/. M*:1^0)>%)>!:^']UO>!&_&G&,>:)YGWF ^8OZ) M^20?X;OQI?PJ?A__(/\Z_Z6%G46,A=)BC<5^B\L6SRQM+*,ME9;=E@NMMUF?L7YDP[,)MY';=-LWQ>Z4W2-[OGVT?87]@/VG]@\OZS$W@EN^VRFW<[;[ 4B 5- GV"FZ[,]RC MW&O<1]VO>A ]Q!Z5'EL]OO2$/8,\RSU'/"]ZP5[!7FJOK5Z7O G>H=Y:[U'O M&T*Z,$98)]PKG/+A^Z3Z=/B,^SSV=?$M]-W@>];WM5^07Y7?F-\M$4>4+.H0 M'1-]Y^_I+_R$WQ#QQAKA7_'DH(30VM"WTX] 78<%AAK"#87\/%X97AN\) MO[] L$"Y8&S!W0BG"%G$CHC)2"RR)/+]R,DHQRA9U&C4-]'.T8KHG='W8CQB M*F+VQ3R.]8O5QWX4^TP2)EDF.1Z'Q"7&=<=-Q'/B<^.'X[].<$I0)>Q-F$D, M2FQ./)Y$2$I)VI!T0VHGE4MW2V>20Y*7)9].H:=DIPRG?)/JF:I//98&IR6G M;4R[O=!UH7;A>#I(EZ9O3+^3(J"(X6DPKS" MG86SB^,7;UH\7114U%5T?8E@2<.26419?]E]581JH^I!>53Y8/DC MM40]K/ZV(JEB>\6SRO3*#RM_K,JO.J A:THT1[4<;:7V=+5]=4/U)9V7KDLW M61-6LZEF1I^BWUD+U2ZI/6+@X3]3%XSNQI7&J;K(NI&ZY_5Y]8<:V W:A@N- MGHUK&N\U)33]IAEMEC>?;'%L:6^96A:S;$K+-N:VS;7IYXO)=[=3V MRO8_=?AU]'=\OR)_Q;%.N\[EG7=7)J[^ZL2I\U?;5Z&KUZHDU`6NV MK'G=K>C^HL>O9[#GAUYY[Q=K16N'UOZXKFS=1%]PW[;UQ/7:]==9)W2GD">KI\=GXN?^J!IH-BA1Z&VHB:BEJ,&HW:C MYJ16I,>E.*6IIAJFBZ;]IVZGX*A2J,2I-ZFIJARJCZL"JW6KZ:QK_UP'# [,%GP>/"7\+; MPUC#U,11Q,[%2\7(QD;&P\=!Q[_(/%$XIZ#+HO.E&Z=#J6^KEZW#K^^R&[1'MG.XH[K3O0._,\%CPY?%R M\?_RC/,9\Z?T-/3"]5#UWO9M]OOWBO@9^*CY./G'^E?ZY_MW_ ?\F/TI_;K^ M2_[<_VW__P(,`/>$\_L*96YD>/"C-_:,[\_6O#;M9OM>\.D#]U_UO>R'^(ZQ/WCC0A @ $`+HI'90IE;F1S M=')E86T-96YD;V)J#3S?B<*!4LS8VT=VY]YLEW M%H&?2Y16V[:E*33ZT@/#?N[YF&\\%6IO;GOCXL^)EM5# M?[YCR].=0EI*RTJDON,[S1T5-[:%B;(ZB=3OZ>MH&C58;[_UGO"H_X'D.2)Q M31RX\R8:/2S?>H,<@393NJJ*(:Q/5^:((;68TC%OB([1_9^#ZB!1"E$]NWF? MF>_191H!Y/-[N@!,?'91-:6)K:)7C-!/:!7IHE4<%?]EP[#I,,T7?Z)"<2$Q MUQ1_91KH2 )7@$L)#"3X*XD3W@/.`GVT!R +'W^-F]W]',&.M^@4[1@-T@OL M">JA7^"\BY#OP$F"7:4MM)^Y6 'Y:"_M8[-PBUK:23^D%ZV3GX8EE^@2FT,M M%*-GZ&?4`?E^S+J(]QDZ2!O%+['K*]CG)4@/48?X$3U%;Q*RI?Q;];[21Q]9 M7%*\:.'#10L*"_+F?W.>:ZXYQVD\.'O6`XZ9,W*GYV1/RYJ::<_XQI3TR6FI M*9-LNJ8JC H8SW7[/:U\ACO(O6:5:3>X=]5 31&GJ0ZGF5D<*(Q/X7H^IZP8 ME9=R6_X$S2JNNNR#3BRH2104*T?D2SE M::4.0 X#`;G?N*,0"=$__K!5+&J/>6>XJSA-BY'W[YRRY9R!4N*TE,_/QU%V MC+!++JT;][O(JP+#G*BH\8M[GY).M2V&)*-1G<:?&^=?[S6*=\(:2X,CGI,;(C- M/*V5,CA%R6!H+OQ6A*770P;O:FR-YTMH=S(9G5$[]XXXX7ZGTPI3PF7A8*NT MLC4D;^9I-:+=S=;M=EM66P[S1$Q/2^A^LZ)1CSP^%*Z,[^[FY?46H?KU?LLE M<'95("%*3%@O+9>:8%7 &0^/;XW?+0TS0U6.N*ECDF!"`H$GJ32D!2NP`3>: M#$YK_":FELI7#>W<'N#T8866( MELP9[QH_;/$:D5"\=!\WG; I,Y!4U_H?C[.$I$1JH@BB=ISI=,I,[.XMIT8P MO*O.'^<-:G0RJ?G8ZRX>M$]T#FB\.(YD]OS MN>[V]SN6!@Q[)LI>^G^MZ:M;[R]UC"6@_9QYALG&0M/LG"VU3F)H*IS!,VAU MTTNAE)N[Z_WC5R>3&*VA,F:R776QP(G50"])@2$ <@'P:>9]?%%\ @NTX/J=O%%,@V`K5 &N "'@56 M`EN _@3OD_/E6HR/`]^55/T;;=,_H1KM`W%:^P=5:L=ILSZ;*C0?5:@WJ4(O M!)]/%4H>(,1A;0#R?U&%+425^B+H"RBBG08U,&\6UK6)`35&;=K']*(6H._; M1NA5[4FLIR6VAZG#@@NQ M)'86:(?N;=M;XF6]0'RF]] V\/6)F!Y/Q'R..B1N0?>$[<>T0XO0&F4A\NP\ M[5#>I9_:7.(+VS[(X\HPG0!BR+$S$C)/U2'*D'Z7L6=OC?9IG/+8 M(:IA!RE/JT-L5P,Q6L1F(/^O4YHR) 93>FB/=0YB,49]B?P;!VE#$E:L$K!\ M3RP3J +J@.">M01RE12*2-S$^9(S(_4 ,/PC]5 MTG;K#A_!#IEGN!=P2LVE3J :6#5-DB+' M90W+_)?WM^XJ\^MN>MOD_O1I#WW4-2UK*TDE?;"?PL2M&0< MG<=NB\^TU\0)]09X] &K%M$+9#U*R)X@Y\8I_ BJG(OSRC6<@;J2-7$/W4 G MK?/E6,82-7(/15^1M1VGXOTD/^;;!)5]1]:^13^T:"OXV59NR%K[FE3V+-DW MQF*?S(LDC;&69'QD':('8KGE&^_1- MHMK*TT3/55]'W_VUZ+?BA3.D/_1J:K'R1_JX6NQ-]EMMA;AA^64$:]!WM1PQ M:/5;V*I_2<_*7FM[@7IPQE5KO>R[Q_['>=4'175=\?OQWGW[_04/=EG,8UT$ M9=6%75EVM9$-*@TRHXR"@KC56$51$%3\2-"@21&IT9!83-!)-/Z1UCK3/(A: MB>UH9_S#M'6T3=&F<6+J6*UM%VPFDZFUV==SG\!H_FO?S.^=\\[].N?<<\]Y M%^+T-)HZECN%8K 59$*SIM&MJ$(H0_-Y.\U!"_3]7( VZOV,J)C.UTX**[2' M/)?2=A32T :$JT"YO_C8 MOVJ=?"ZV1SLD'$ $_%7&\92_`J-Y`H_ZBI\A[BL^)_?5'NVL6 ;U]B9Z3WH9 M+90.0+T(HV?9-9"]!V-NHS2I'NB7VF6A%,[B8E0G1"'^O^1QK77K9RM'.T1/ M:H^$[X%M`)J"'+!=.P$^F"'4C]: (-"YVK_X^86QT^B@=E.<#CZ'NB3,U\>T ML,5H-EL#:\U$)O$"Q.YMD ]K&LN L7[M-_IYGHZ*^-H"1A6T7[L]5FM(@684 MJ[43+ )M):A(UP'6$&;#'!!;?,Q83'^;CL4XS^%Z+DJBK^&?8Q7\BZRBH*O0 MHEWGN9M\@M;P^F18B99)2]%+< 8B!@0^O8)FC.4^P/. _2!?"'/U?8N^S2$- MX?7B1?V?Y#R,[=/I$)DH#&%1/*7=%T^1EQ]CC'^2?AOXXN,V3CF>;/M?Y?\/ MR'7Q%$)C@!KQ)@>Y@99S@-U(^CLN!.2,46@?&,5N0 'T6P#_@J]P2#7(P1#Z M"M BQM%'@!) !V (?#<)Y#5C=1/JS@K(,\,@OP;_;Z?B6C5&S;@+OX5_C"_C M$:QA"3^#RS$R8HI'S;,FX>\\S/)*1F3T\DND='O%LVP[\MNV9 MWFW;/>T[@6_?F>EMW^EI;@6^N373V]SJ:6H!OJDET]O4X@DTS6HB?4UGF\B& MC1E>M,&Q@;R^$6_8N&=S5MO6=#F[;:OL;=OJ6;L>^+7K9>_:]1Y[H]+8TOB@ M0= :<4,CR!L:96]>PYT&TM#H6;,NW;MF7=>FK)?F>'PO`D)7!V\-C@S2P5Z/ M@&'EC6`*9CI^(MD=T1 M62Z673-D>UBVA&1CD8H]+]^6.\D^T6_+\=F?46P+ M"ZHF[YY,>W(?Y!)O]@2KVY-EE3,RK:ZT=.LQ$=L=3HO%:K,8368+DPP6*H@6 MA(DEB#"CTQ3O+(-BGVE0:,R@H*A!Z:\*8]55B2JKR]0T#'1QF1H.5)[#/8O4 M4*!2-5;5U_9C?+ .I"K9!Y>9:E78!_>7:M4U9UE][3GLXKJRL6UZNH)=6J(,ST3ZE" /UOT=Z!-YT<_GGH&:N(U\_;/Q0&] M/PX\IIP9?[:.SH&>DK2-]H))M[2-RH$9Y\8XJ]1`W$9&#$S"M=1(X$#2[J>O M65,_)@&'H M^N_=(GK$*0(&YIZ=>H>H8@TRH\WQF-4XS?BLL=TH-!AQC0%/D?!DAKM9'_N8 MT2DL)E4P^KZ()^,H)@Q+#GJ:*,->4*NTU!6+ MX6 R% P'`X!$9K2H$&]*)!(<*(']Q.E )6$&!/=T?(*5P2/7[J?>P1MQ,YY$ M7._?_^9*:B0%D:;]!/3,UO7LB,?7"[C1@!N-V&M89B!Y$LYG>"\[S$@>"[-R M1D^*.!^78*Z:A..Z7BU(5TVEOZ*$$4BMH;**8>=&XMN&@$[1-@-() MH%SU<8V+"D'IM+ +E);\$2"7.X92GYTY@QZ"MZ,#Z*KN)+?1!LI00A@5+PD"NT0Q%BXQ*J/2T)&-_70NY@: M$:/6/N1)ZV,2*DV6)H.P=BP`:@3TY5$B@1/B1%+L0+X0:]9FIQ6 23R6@D=KO]G/;@ M-$(V0H").T@IOJ77+0%\1XGU(RV%;%HJ7FRUV0Y0(9U2P2K8'%0HSJ&%M)4> MHP)U4/A)/;K0M,+48NHPP<16NXT MB"7K+;(?KWW[W8_QFT-T3;02_TZY]6@!V&L">[>*G;!3/XMGRPZ;@U5ZY8!< MG%$IU\N[9$9R+/;(3#M.`U//\E;6#>S%#T'*Z1FC,Y+F1GS[TBV."$I#69;N MXU;5>M%*O[!B*^\"7:W63-[EOTR7"W13]1W'_[___][!Z2FD^8P14C'NS!MIQ3!XI(R'>MJ:<%SD(Z#,%"WL[*! MRM SJT4'.\(4'6R#,Y'7%M%S-D0>Z7[_I)L[S7VDY[;Y/;[?S^\7"SZB`:5@ ML^4K9WO*"E:KF6J8N7F[O=#D?.Z87T'K$:[VEJS#P"N^(MD(YADAR0CF6D-J M\MTV2>&:,B,J>-PF(NDL=]LZY@,XNV?]PA5[QGP8!^^OW@9I5\[Q`;-]O0[N M.;%\86M?)OG.J2\&>J[GSC8BJE M]8'&0'.@+2#$2Q.EJ5(&<5O"1DEJ% `\1TAQ9T))*513PDI,B2L)1524,E-) M9\P1=R0<;+P#9 <01[.IS42AQ!0D1(9F:(/+< /P,]S![2D9B"PS;;M:Q+9C M%KP.6(9%R:R3%P/K8,"B)+YO055@R[$B!F?GHB3_P1?!_\_"W7VJM[OLQ=^?!\[E.8`^/>O'3GSRMW[GQD M3=\S@G/LR=R!(T.W?_=V[@),!C?<30/OW?JLOVW=3_I7?V\_KU8Y&N45UIKG M>K3.3P91]X.4BM*@R20,BK*XA)@&10\,4D3\M"PW+$:+81>"!F0&PP,V7RO_ M_/EKY=?HAJ]O=][D__E>5.,_D:.<'!UU^H,2-%G $.X3J&()6B9:F*N]1+HF M#4M,*I96"SYN-1M:K=QGLVTBX,; ?+8B`M6DB"S'HTIR@>2R^;K!UFU5B)/B M2CG-F!:-9I%CM;6<)AA=Q(C^SV$10'=E":\F.LIPZ='1"!.J0BAL1*<"XJ4" M(G#O!>CZ\?Z=B[>>^/UOCIQ9V?'#^V=VK>\6&Z);;^Y^,_?K@S5_K-T"M'/- MP9F<*3RKE9B5F3QRT&0FHLC#)AAV!0ZY34#=`%2D!&1)$IC"U@@6H-5@@>7$ M`E6F;F0..,5NRK@L4 _9?,PXL=#ZCO^G@S1Y,H[3D$M'$^ !]]R\P.K+[@Q, MA:NE.:_8<#JW]0\8S_"!X4M,PGA4LFC@L 5D'HZ%5U&V6#:)DEL4)=F")V87 MI6K1+FY:)=O%*F2%#*R+V%RRE*^BD8TZ^43"4"($R8QDBJ;5BHA8B 8;G91B M7B-:$W,93*6ATH;PC*DO-!?UWNS2OWORU20[+K?UL/3M_F-#&S&J+X8_%1:* MCY.Q,+[N1,H/*06:2P`^"L",`+"$%:"/0CVN(M\N`1;S0-R3\GSL83%KRDHA M(_:)=)X;:^F67+VNO2Y&6ES@+H>+=94)>3L[N9V-/-L<6+4D ML6?1TI%*;N LOTD6;HS\;PIG[G2\/[&(PQT=WI(W>LN(YT<,SVU=`ERE1!_# M\@7G(@U7T.JJ,F.,L/!\_9&U3SVX^(UY/ZO/_2-W/??H$^?F_?O9C#'GL=W] M2T"]`HW"_ ?V+Y\[978@ICVZ[8'7<]=@P=S3F^973B_3*Q?L6O7&Y]R;^O!% M=D[P("$C\)VZ*ZDP-([E+YH)] 7V!8X%A'JM4&F]N1$E_7 YL->+@N8Y]R M6*&2`I>4KQ2J3%"60F(B$,WG\P=,,WT^E]$@(:VC;>/LF> ML??9/[&+?78@6^Q [?:(TW-7C^P%CZ>GV,Z[QVE<6YOO20OVR,G1@>\B$2/? M0XYEH[+%X'?X!![)//&TVO\B>@34I'!MR?>O):F'QE57Q?C QFN9'M4*H,9Q MIG.$,^PI$WA_L:=LXU^I,WJD)7,`[H;IY9.DE@7],XYM@&E'__(MHS=WZ_C\ M^-)7_8[[EZ[M^,7Z`^\+%?[Y"YZ;=N/EK5-RMW+9&7ZXI*Y:-F7V`':R:C@K MT+S_BTAWW<+%EG46+*RWS9OQLD*'^!##_1TTW%V8(*0+C&)4`&?'7O,A,R5F MO_G[0C'G5#$L(<50I3G-S*V.ZK%BV02KN\=D9^@TQ 0JGZ\T6(P1;J',\]@2 M\]R25'O[(/CL)WBI"I/,""$P"E,,J1$6^5)7V.E>2%TXGWAZH'/WG7,G'X*2 M)[?T;]C]`['ASO73%W^;S36\Q:!JU\7 M:8*I:=+(FFI$8^S9G^;.#_P=O*=>_,A_=/R+CS^_9O:V.5"1._+EF>NPXK7] M8X_E_O7+9U:_QR?D\!5A[DCO]M:M^$2%">99YB;S"K/ )!(C<<)H2FE5T@J# M25[1PNA M6%[B=J<1U5P&?+.DLV5G0D\.=>[-#9ZZ+W'^3OO3.U(-3V\^=>7LNZ!"Q_M4 MN#430J\LWYS[T^$SG$'3<7)=%%S$@XJ#NLYPT5 1#4LQ*2XEI+W2( Z15HYKKT=0U:X M;(7Q_Z&\W&.;.L\P_EW._7P^-Q_[V";D'@)X35CL. &RQEL%H4W1T"AK*+5 MHPD7:0.WHP.I`[30&08=T29#ALH6BE@KJDW0/[A-K0!!QRHZ+M-:V@PE6VGI MR%C9"EN#-&?O=^P$D/;/HC@YOGS)^=[O>9[W][)6MI*M9UM9/[O"9%;&0.=6 M[_?$W="BNT3<*F+2#V.FB!$5L3@)I!$*'1L;3L=#+R# "Q2,&?5A*/2N>>$N M<%1_6/@T_$68@&I$)0BRB8!L2AV!*P;R)-O$Q0.U0H"]1?ED_6^8`$K9XHLH M6Y(17&0Y\!7E9(&6O22@JX2"6FA$^B2]"%3#DZ `^A(E"KH1 EI3F11.F(E,/Y$T%`P&WPX;;O<1-KZD]@;.\ M$)EGL_',`XACG3G#'_X4E&CR&:@19WWL`:1,06KXSI(3<@U.#&_?7K%]ZN\. M/YUP9[2<<@8KK]+V$Y=/!'[#+IZ _29AOR/@I1 :3 =WF/B"@2-L'NMB-&!H MFN*.[_0AE^^4NGR\LR97I63:0LEU^F]*7"K1:90LICA*9])'*6Q\@J;2BJ;( M6DYGKJXSA6FZAVDS]O#*G.+A9%AGS7I8[T9A/>E:L$ZC>D@QI+QE!1A:X/5Y M).,;+L%+`NVF&)Y@M!+R*<6"0"& "^!'-IYKB,2-XJLYD=&N/Q9T"-3/+VSY\;1>WBO M=I*XW&?]=6D&^CY2; :"? PVV0H\)HJ2+ A'1,GE5Y(P4\***#6+*NS4'P84 M,2E+IB"&$#Y#3;*&$-X9,L"/G"*+&WMVXI1EJZT->ZU\-_!L?%R V+@Z,FWD M^LC!$6'-[;M[Z2@JGB"A<((4S3V,*+^A.G+O%J$!";Q#B2N/*"#Y;GB6!.V5 M^E+I']]3E]?JRRB!*T:N<5D4_[[T;2&*:O!7TY5S(]^,D-L>_FO9:!D9E/&' M-G['N^&1MV&^4^4RF1^\"K>@RZJ:TYBK:8SQ,3?F15,R4YFE&:E:C36;&M8T M[-9JR>IQA>G5_*:+"N-+)L.2:HHH7U+'95.'OY-3ZG#2"=J>S5<%8=4C=M"V M@CDWY+INR X%HZ%I(5+KAIK=6K<;U;K),B]6315F0^%5+2BZ(<61S'QYS J' M3*MN6=WF.IHID7P3EQDDTLQ[4U'F0:$UR49;G(]'?LU ;>-BBT/BSXPT9B=> MOV\!:!"^$.?7<1U2.BY(?I60?<^65"G>&5D1V#DT]_&AY?;WE[_>//O:P>$I M#QWIN5'YD_K7A=^T-?A"3=+M.AG`0K' M/ZUS/ZNZJN@Y%G 9"Z@!G47YP42YGZ/01EF@F458-XJP9-@!/^N4A513SCO0 M.LT%T;[H_^?G_^7FC*_/(B,6W>P7S[?SFN&5>GNZY^7*^<,'+TY=^LK\-?M= MLGS.EUOG7SA;2-'1FV\\N3O7_%UP= =P_-\%$S&H4D\ZULF6L-<9%8@.2!=7 M9ZMSI462?$#"A LQKK'4+VUL]0YHAS2B1;550J@7"6N%/N#"B-"#-4$.Y%'8 MRFC_5I%]\-WL'];@\NMO72O<^LO6 MS>=WOK ^]LP'NS['R\?>OUKXT5$)\(5C#T!G9.X75EV*X M_F4L%_[\JTV;2MDX"EXPT9[C(."3Z>E>+&4*>$S C0)F0IE HF0:E(C64JS2 M"_1C>H<*JFI38:),#7Z/'R_2HX2W]>8AC.%W-[)P4LT+4%<>J:9>PAI($SMA M_8WO.S,>(<9X(C3QMHT!:;(('O%BWE*GU+0-+&-W^.#O&WJOJL[D*GOA3Q>6 MT='"" P\=TE7_B D\M@@,/TVH-(:=.,XY[=9:^TU]M;[7[[-5NS;;'W M2CDNKRM?);R*CB+"H1#:1$V-U\MJ&= _\\J%*K,C]GZ,_#:&Y\06Q0B)*3EE MMT*F*[,40A77J;=;[ [[25M MNW"6I?DJ\)NWBPZX_X9`>#->G9KEI@/7>Y>S'AP:4]?DY'N0#(-B^OH$T)U.)2K]:'/>\'ON,'!2C,/B,'D>AL8OI^FA5R@JX1COK%)8( MQV4)12(FY)XB2Y(N*>% @-E.L.@GWHIT(QC,2;K+W^6Y\2VO*E6AM^M?UY?J M;TLP.P6CDMZ,I*723NDS:4P2AZ1AB4A1*2EIUI")S9BY6M"0:JG+U+6JH$;5 M%3@8MB-YY(3SQ%$LFZIYW3"I9K(9`1RHC$&T`!67<)&7U_&#)P$UA#[&N9FW MHTP\9S3$Q1(\&FUBF]*&X*,P=?+K$D=RW\5%?T9)MG".#+90`$@*)0:@)E;W M])=ZO?F[*W[VE?,S!LO_]+C15QXGYJ8EC5OQZ:/8,0K#1PO_9;_J8Z,HHOB; M_;[;Z[6UV[M>"7&+M B'!5IZ+=#(84M+:0L%RH?&`[?7;7OMM=?L'<7&@)H0 M"XD08D"%^(?&/XS$Z!_*1XD18AH_`J1HHO*',2@Q8H1$-)@2:,\WF]GWWBQJSC-DFC.T)"\)"J8G7OAY$-W6N:#;]W! U!WN M`$<\N&7I?ZO B_^6YL'8[?%ZP.C)10F<&:)?%I:D31>]@I6@7'YK MS\(R==\#(C(#6X?\A"79?@CY"Q[A2W-(*1GYZNR5`5+_&7]UM(+[`GW6YV.[ M^8NHW4/PUB!>#2Y\1!5R'DV.!->0?=DPQ:&Z>"6U_))+ M- 2Q6(1JL(N2?TX%W>Z0'8)PBU$'<>N0K PI--/V@Y\OI_M77IY2Q8T1:(%S M84-MJ*CHZN\'2-/0Z%]U*_;U58R]]JECT:I5_*G1:N[C:^=?Z6U()EG$>4<< MY@+P+6ZJ%W8E,P% "[H(2!+'%681*;L(_&5^?QFB61["T*L1[8%=Q0"Y01<' M4_*UG,(L+I]A"8)QF)P6=O*OB\.8Z9<%IQ+=E1D`6A"2B<<'+P$TJ<<\CN-X MU#.;*@LI)E2":1;JYA5G\.N>&-LT2QS>\4E7*CZ2+W%7\.X0G#WATK" (U[N M.XZ;='F@)X/DCKL\A&Y>6V[<'0[^1N\F]"GX1]H,PXRNIX@\1;[FUMIT,468 M?4ZF[4BG4B1X)]$OMR;QE!24#LHSY;-*$])/CGF,#.<"YTEUAGIZ:Y?HF MXSEWKGL[HY'_1IDWGZ)_22OO.WK^`3V@!W0OB/E*CKIQ&BW0'R-'\O&5X(X/ M;]>J"X &FQPM%TL?OE-O8&; 3"P?2S<#$P14+ZVI758']0T`*YM6K5X#:]>M MW_ DP--W_O9=?Q*L[)_0)\";6$X''3D!RYDP&TI0AX50#36P'-9 &T2@%_IP MWB7X$^,J(.I11,V=@#*@`Z)@I5')\[>E@>1+]G[<^<$M2%Z^+<(%K]Z0=AS MYGF8ABUB:SD-?K1Y":81WN9EV$8*Z8D0'#AM&WG;Y@E4\P4VSX&;-VV>Q_ZX MS0O('[%Y"?EK-B_#=6&Q7M=\TV(VSJ53&K-V:Q;GT+SN[0NXU^O<74 M+;,]$L*MD3#%QXOUIIC%.#TP&1:6[6Q%J:^8N!K=7G68]200GVIW8C)H,6PKDY:6 M'P>J?1/[ZLT^.C^&:^EG<]KQVPGL:V0S+1R),TT3MUPUE:G#$M0TRM:9EA&W M5QUGJ^MC*RY&&370@*YC!7[!/VD'QMN_D MW V)]XN,__/)3'EP;B_\`96P%D3TP%DP!SG@/!A_J.^FWILK+=WM:2O>E%EY M!:8HS)V_]V[H&*V/Y-7_.C8X^K+RC/P&-AWIZ/#W`$^RP@<*96YD!+2]](X30<\5[=!)+\7L');_P@(UTI:R] "@C:8(&QI8+#U12NN MLJ:;AP[8C.!2S5WIB,_U8]:*)<*=NXG3Y+K*VA-X_1ZH<1C''X":CE##`2J9 M.* 14!9?:W&=? MB673OXA+0-',W= IVK:NWL"46DP++TQC=0S3<9TIPJ2\V#=B<(28KQ_)K#_& M/+ QEWX4O"*R+MJY&V"\)0W$*ML5$%X:?Z[IFLUC9Z=I>#(/WL.M3/SH`]R. M4"/#+1F8<.M%18MZ)R5@X4!UANM%-MJ,D M> ./M"&*/!4FTJCF'ZNS@4^[.$IWJCH9!$3DT5 MY)?;( Y*_<)%9"@@[ZMU$,P/%!"8:SF7@^[)Q"%G_09-5>*?".CE6S]/'(!W MI7,8%%CYLG?A2SVEHH_ "T?V4J-ULG# WKKMB;NRAWJ,HQ99[,N:&7V7U@Z+ MR2C^'V%99Z"2I*F:QGNZ"WKIBUC($!"+)/$2H+H7"QGGV;23_V M8G"+5BH\#\WJ<.')6&S+V4^7I8R212C.Z]EOLS^OC^^H?+3-B^R64Q]2FID: MZT'DA3%6E6$J/(Z%6G@J"H*)<\L56-VVPO? ::BB`9CQ@C260K3;BC=()O76 M'PL,#I\$>2W#>(%^?W$NRWW==%G5B7SNQE VE=/I]G>:!!E:WM=_&BHWCPRC M]TR&'((!3C]<=_CS/ M(2WE";U0/J[U8W'KX/FNX=6.S&T[J+0PH2JV8H^##%[M=2-:?&M!X$U;U-7M MG'UEAL:3W.8$?4=PB!H9]NMWG<9OH9^ZY2> M"VB6\-U]WW9"XJL$5IX(15[ D-R)83"!,Z&;HT92.&<0RZS$@*'C328^&RJ? M"<%_= .^$0LB[P<(*YJS[W0)=8[F!?X)D3R0B;^\_RN5P'ZK9]IO7[<%>5** M/;0*J:-;776X`?*,5)S:$%[7#*;<4'@1*?L>PM"5"QQ:"CB:K 3Q]^P[^;/- M>,X57@C^]\*6J?>DPK1>D%!M%KZ9)##5*+9%D8A?^@*=IQ31(-PV-QFHD_3($GT`%L8+/*-$:L=I3;E?35QE-S\7XJ.YY-T%O:@PG&= 4"Y*[UCD]2LC$/J,= M-8._Y:0J# SMTBWOC#]L((>$,X O+RXN2)EW-2FII)!WGECATST#-)!IUWU& MUC3-YDV?BMTD7Q)++QVC80(=PU!_=@=NV36FOP"M<^1=7G20\AM-VQ<5N;#K MB26=,_F491B6RPN$=7$A;IK:D$43#2$PA2"?4'.!J[H'_6R=P!I'3\UF-:W: M\02[B0&0ZU=[G^'65S"Z7#**N0N5Y&T@'@&YP>FC`BFS>QIW%JB!U-/Z?4]* M'&3&I@5%&*$P*R7K%WXFIBIH!3"Y-XQ^$K_,I\F8"9(2P=28@VIBBXE2EK7D MR!%QD6V':C(!/204IZIAZR#@8YUA`Y83+O^(S((VU&Q8I1TS+\A_AT>[O8 ^!Y4T;=&M\GW;]OE#WQ'&KUO":4<[ M.><5-9[2BVRA.!/M`S33-?PW5"RR#0S;KLG@LNW>@N>J_PG:81$SGT^'T,9H M['=#H#K.)Y.17+/K.U9WST'!%4:>0]TGWA]TP?+,[NX*,E@,`:$@MV-'\'_T M^%7Z'_.XZEB-[-V0:T:_5G#-R$_3:'/^F-.TXJ+)-5P+Z&.,YKE#W)D2QN>; M=LNAIE"%@;=4?W)CU587KJ2O$]4-K4[E0?M^<.3\3D?^6\][8#%C_N\H6^K2 MA!2!C$6LY HD'4Y"4ZOSHL$:(Q5GM3;Q1F9.WRXK,AA[(6FK,9XE]PUU8R4V MJ-BZMIYNB1"Q^P>#2QK=/7S9U M&5%#AY""U,*6L9RI-//B.C4&B2L2!%\382,:BT;,[ZNW,Q]V1]F[X>@MBZ<'W9ZP\3%?X>#N9 M4+FP@0XX64+/#XPNIA\41SY[WAC8VT^#V$D)R#CU`EP8'KGERUD[M.@01C,O9S464UY=O>*RW=@93> M(A81=%O(>1)^G.T%G `B`C-J2K:*/*6FK#K#]RAAGIR+8PD*0MY%*O95"1FB M%;GP4HXD3078S,ER1?-\+_(5? TMKV>!`"[$HYA![X@K%U'J+1)1#O=!@K^[ MV6JF/!7!Y)D$L20@EBCQ`IP8+2+7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -;909\PU8-)#>M!0;-5-=[U3?,EVB-8*96YD7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -$H,J$H-&$GNB$ MM,Z$O,F$H>6&IN>6L.0*96YD7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B - MZ'BC[D@6(H_QR(",R/7;_N>]BMTCP `'T4YH"F5N9'-T7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -(*96YD7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -$T<\DS7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - MB,UT7&/!166Q+F6M M+F.^/7*W6H.L6V7!56K(-X>J+VRE,6.F3G2T7F[)0V//,VW>B:CB"F5N9'-T M^16/'+V;#+V6]/&6O76;.5&;.-&;.,6;*,F:L,6?&-FO<"F5N9'-T7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -"*C=Z-B]B, MJ]ENF-ELD^4*96YDN.FO-8HK=:H_:"F5N9'-T M7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -9M$^9K O9IXZ8+]0>\I=@+I=8\=59L5! M:ZQ1?+$*96YD-5N]6W89)!\WBSG9FS;-8 ``P#HV3HF"F5N9'-T7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B --%ZD><*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -[1,:[D];K5 9=([9L@S M:\I1?,@*96YD*ISMNHS5DHTYDPE^$J4-[ MJ39BRD!LRCUNLTEDJU!FP#MEPU=HRT-RP3YIIT!DPC1CT2QES4IESU!MKCUN MJT!ET#EBS3ENSEJ(S59HR3=CJCMPFC]KH5)CNEN#I%V#J5-RVH^GXPIE;F1S M=')E86T-96YD;V)J#37!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -0*96YD7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B --(*96YD^/62P/F6\-F6Z,'Z;,(.?-&:M/6RX/6BG.VZ_ M,F>I,&;#,&31.6*P/H2=-WN_,6.W,F:P,F7+,63%,F7/-6C0.V['-&>J,&; M,&>M-6O+"F5N9'-T7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -, M,TZ!&)@H]:QQYDGCPH/&Z:>-P8H-4\X:`04A4A &&LH^#E*<=<(X]ZA1^FDC MB!5I9\QR;\:V70,(, #+)#FF"F5N9'-TJ,67$,V6= M,6>?,VN_,VB?,XB8,W2_,V/3,F:L,F:P,V/5,WBU,X2G,V^_,8BB,6C&,V2D M,V:A,VR_,FG-,632,66K-FZ^BJCF"F5N9'-T7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -\FT;Z-IR6G3CNVFC?L04EE7+8H>A35>`0@P``IO.Q\*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -%I>4*96YD M7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - MYHU9L(U:[LU:J\U:M U:L\U:M4U:M7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -MCMX MYDX0`\A%1@T70>IKKP3/W1(\>3]<06C+_?*9=P$"# #5QT N"F5N9'-T"F5N9'-T7!E("]83V)J96-T("]3=6)T>7!E M("]);6%G92 ^/B -9\],9K,^9K,^8]%(<\Q? MA\U8:]5*>-8*96YD3H?298+9HJ+D"F5N9'-T7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -;8V?[@_87!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -(* M96YD7!E("]83V)J96-T("]3=6)T>7!E M("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -+HSB:DS<<$V:]I= MA=<*96YD7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -9@S:7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -D*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -<7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -P,WNV,VG* M-&7.2F/0.F2Z,&VY"F5N9'-T7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -KI 9-$Z9,U4;--.ALTT@+0N9,PR97!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -"&J.H*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - M7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -:4Q7\XP?+=(EK4*96YD7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -J<97&<974<96S<96[ M<97<<93><97<<97<<97<<97;<9+@<:O&<:W$<9+B<9+2<9VW<;6U<9>Z<9/: M<97=<9; =)G7"F5N9'-T7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B --8S9<\S9LHS9KDR99XR9J R9LTR9M R9<\R9: RA9TR=\$S8],R9:PT M:*8V;=0V;=Z7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -'](ZUJ@%I#>U+/&0+T=JXP+#QHG70"*F.7>ZUKQ""# `.F5-B,*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -D*)7BZ4X:,$Q9@K->@[1':[,Q M9:TT9L P9,([;\]7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -.T,U"4>M8@Z8)?X\: YO6F*6>- M*G89MZ\V3CF'H@8-`:723QMEGC0$*@-RBPX8=R\WSCMBG'0!9%KR>9!I[4?: MESP%"# `\)@V0 IE;F1S=')E86T-96YD;V)J#3@X.2 P(&]B:@T\/" O3&5N M9W1H(#$Q." O5VED=&@@,SD@+TAE:6=H=" Q("]":71S4&5R0V]M<&]N96YT M(#@@+T-O;&]R4W!A8V4@-C8X(# @4B -+U1Y<&4@+UA/8FIE8W0@+U-U8G1Y M<&4@+TEM86=E(#X^( US=')E86T-"J2HXE-OPC5FMS-FOS!EK3IDS%QFS%EF MQSYFJSIMPCMHSS%FS4]FQD=ER31MQCQNQ3ADT"]ESSQFRE9FQ31DS3%GS#*) MJ3ENP56#J$1XMC!CT#)FRC=ESC9EO#YFJEQFREUCSU=KQ#>*IS%NI#EHPE>) MK49_R@IE;F1S=')E86T-96YD;V)J#3@Y," P(&]B:@T\/" O3&5N9W1H(#$Q M-2 O5VED=&@@,S@@+TAE:6=H=" Q("]":71S4&5R0V]M<&]N96YT(#@@+T-O M;&]R4W!A8V4@-C8X(# @4B -+U1Y<&4@+UA/8FIE8W0@+U-U8G1Y<&4@+TEM M86=E(#X^( US=')E86T-"HR1VD9MVTEHS4]MM31KFS9EL3AFRRYCQSELOE:( MI#YKP3)DJ3ADH55KNT1JS#!ES3-FSS)FMS=EKC9ERSQFQ%9FR#9FS#%FS#)C MSS)ESU!FREYDS%YERTMFS#EFS#5FRSYGS%YHQUUPREB(RS]WJ3N*G IE;F1S M=')E86T-96YD;V)J#3@Y,2 P(&]B:@T\/" O3&5N9W1H(#(X("]7:61T:" Y M("](96EG:'0@,2 O0FET7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - Z>,7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -0Z<-LU M:M,T:LTV:,XY9[P[;JQ*<\\*96YD,6"P,6/+ M-&;-.6?0.VO13GJO"F5N9'-T7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -&MKN6/``(,`-[M M->H*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - M7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -MZX\*!QUPKC[./&R><,D\\;M:TQKMAEE'3!*/6L<=H9XZ0+QL7[C3M7&J>? M-H:((".@2,8IX\:-QJUKT<61N$"C3'/N=RQ[`A!@`-L]-=4*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -+4QAJ(S8\\R9<\S9,@Q:)HPB9\R<<4R8Z4Q;;$Q:ZXS9;@R9K

7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -/TT\;H@F"4?-ZX;HMQXT80(_4L=C5I9X!6V)5> MF[3A%D" `0#@.37V"F5N9'-T@,F>G/G+ 0'/+0&JK M-V;!-&V^"F5N9'-TI,&C)-6?4/V;-"F5N M9'-T7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -D,&&D16"Y77[588G:4FK<.6W106RP M.VZS6GG(8'#97XS<38:O.G#%,FO%2VVY86S386S;4FW:.6S:1&K<2''37)*J M8);/7W7=06K;0G3I"F5N9'-TOOY2.VY68VY&UX7"5VPIE;F1S=')E86T-96YD;V)J#3DS-" P(&]B:@T\ M/" O3&5N9W1H(#$V("]7:61T:" U("](96EG:'0@,2 O0FET7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - M>MA7;-E;9LM=9M)&9;HR;*X_=+"8LLH*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - M7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -+DY;,A&>[Y%7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -#I=,*96YD7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -;,X[9L8M M97!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -Q.7#407O-F,[)"F5N9'-T7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -3L=,*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -E-&N_BJ7L"F5N9'-T7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -I\S;) S9;\T:L<*96YD7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -J.1';\TL9*XL8[(Z9KM* M9M$Z97!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - M;2&BND*96YD7!E("]83V)J96-T("]3=6)T>7!E M("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -[LO9\LR9[HN8Z4[9KI.9=-7:-1K?,(*96YD M7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -[\M<98M8+DV;,Q(?+=)=Z9%:*HR>+8Q>[@S:K="9,U)=;A)<*(_ M;+^&J-@*96YD7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -YXT9Z\V;;0*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -:5.?,0* M96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -*J.8*96YD7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -,VK(,V32 M,V7.,H.P-GO#"F5N9'-T7!E("]83V)J96-T("]3=6)T>7!E M("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -:L9?=[!2AZ4W;-A2>\T*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -LUAB7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -!/9[L^9+4\9M!%>LACCMAV?=8*96YD M7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - M@/9>%#EQ8":7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B --5)>M)4?-!P>-5*=L]GE]!\D<]C>-!+>-=(>,!7>+%W>--X M>-9R>,Y0>*Q)>:5+FJ=JA<5\D[)>D;A.?^*;LN8*96YD7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -$*96YD7!E("]83V)J96-T("]3=6)T>7!E M("]);6%G92 ^/B -9+HZ M9\TU:<8Q:<8S:\8U9<8]:=-6?-,*96YD<<=4J_WQDWWK;HM-&Z==,LZY@0Y>-,ZY9YER,F;@F<=H*N^)3()7YYTUS M+YAF7@61^>7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -4*96YDJ.VR>.&V] M-&G4-&K3-VK./&K1.6K&.FJN6&C+/FC756G00VJP-FV^/&S6.&G5-&K1-&G- M-VO0.FW'-6NH/F^M7&O/86K086O01&_9"F5N9'-T7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E M("]);6%G92 ^/B -)P]:\$U:\XR:,PU9JTW9J\X:,$Y;+/4LR"RP(K/,DR9 M93ADC5//&&><`AIHGGW>/6M<;5VXWC+X/(UK5FV;=C6Z\#!!@` MSJ\YN IE;F1S=')E86T-96YD;V)J#3$P-#(@,"!O8FH-/#P@+TQE;F=T:" Q M,C<@+U=I9'1H(#0R("](96EG:'0@,2 O0FET7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -;-VNH"F5N9'-T7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -AK)5@-0W:L0RB)XT=,$UA[:6R,X*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -J8U;;$Q9L0S9J$T:*DT:+\T:JHT:9DR:,$P9-4R9-,S9JPR9ZL^ M;]57A=!ZF[X*96YD.4<\9I9T",]-,@!@2EGH6*IYTQ2CUCD'+.",@%(J X6- PY9PAD U7 M!B3SC@`--$H_;91\'FH(T$"(F6#2+/MV;-LU@ `#`,JC.:,*96YDB:CB"F5N9'-T MT2&[)B:3I"F5N9'-T7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E M("]);6%G92 ^/B ->=4*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - M<>-2X\:)QRSBCIO%GF28>B`Z:9 M)XV*#AAGG0#*&J6>M.,4\;%^XTS3\)$8&:FG#/. M.696<2ZV[1I @ $`U5PYS0IE;F1S=')E86T-96YD;V)J#3$P-38@,"!O8FH- M/#P@+TQE;F=T:" Q,C<@+U=I9'1H(#0R("](96EG:'0@,2 O0FET7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - MK@S M@;$S:L@Q;DP=[LS@K S9,XS M9LPS9,TS:L@SA*XS;<4S9,XS9LPS9LPS9LPS9LPS8\\S=[LVB[M=A=<*96YD M7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -$P>[TU>-^!IL*2M-P*96YDN,7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -+XQ8;$O9;0Z8Z]79K=8 M9;Q2:KTP:\LP9;5-9L1"9M P9M$S9KPS9J@O9JDZ9K199M!19LTT9<\O M9\PR>KLP;*M+=[99<+=98L9)?+R'M[P*96YD^-6O3"F5N9'-T7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -AHMQ[YD6WS%N/FY=<-^\X8EYYR3SG M`8::^^8E-T!J(&RX(3GWS>O.FC><`3*LRE[[UUP""# `[.P^)@IE;F1S=')E M86T-96YD;V)J#3$P.#,@,"!O8FH-/#P@+TQE;F=T:" Q,C<@+U=I9'1H(#0R M("](96EG:'0@,2 O0FET7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - W<-DWBJLW=M(TAK8S?:PS:=,ZBN&!MLT*96YD M7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -4T:-20J^(*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -9L^J9L=N9K=29NN"9S-"9M.69L>69LLR9LLF9LN"9LM69LMN9LMF9 MLM69LNJ9LMZ9LL:9LLV9LN&9LM&9LN&9LN>9LN:9LN:9LNB9L]F9L,J9K\B9 ML]&9L^N9LN&9K]"9LN.9L^:9L]*:M>(*96YD7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -=-7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B --% M=>MT@M4*96YD0OPIE;F1S=')E86T-96YD;V)J#3$Q M,#4@,"!O8FH-/#P@+TQE;F=T:" R." O5VED=&@@.2 O2&5I9VAT(#$@+T)I M='-097)#;VUP;VYE;G0@." O0V]L;W)3<&%C92 V-C@@,"!2( TO5'EP92 O M6$]B:F5C=" O4W5B='EP92 O26UA9V4@/CX@#7-T7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -\]0=]52 M?K-1?ZX*96YD7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -KU0?-A5?;I3>[E3@.. MG^$*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -M-.>=51>M)2>[)1?L\*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -]!.>=-.>M11>M)2?;!.?,50@.(*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -=)0@]!;I; *96YD7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -DM!C M?==BD-M"?+PX7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E M("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - M7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -,Y4?--.>-10>]),>L].?MX*96YD7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -[ Y;\XT::]C<\1^?MX*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -%4CMH*96YD M7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -$];]4^=\Z2K7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E M("]);6%G92 ^/B - *96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -<<8* M96YD7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - M7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -:7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - M7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -:I':[,[;;H*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - MB[D^:+]"9M@Z=-=6A-%5:M%3:;0*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -!<:^14>7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -M4*96YD M7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -]H*96YD7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -,\_@7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -]X*96YD7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -P+V>N3&N_"F5N9'-T7!E("]83V)J96-T("]3=6)T>7!E M("]);6%G92 ^/B -X*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -PY*KYI*N MYY*NYW&5X#-FP#-JG$!RG0IE;F1S=')E86T-96YD;V)J#3$S,# @,"!O8FH- M/#P@+TQE;F=T:" W("]7:61T:" R("](96EG:'0@,2 O0FET7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -]P*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - M7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -*KS=SUC2#JC1TMC9MV#APM7ZA MSPIE;F1S=')E86T-96YD;V)J#3$S,3,@,"!O8FH-/#P@+TQE;F=T:" Q," O M5VED=&@@,R O2&5I9VAT(#$@+T)I='-097)#;VUP;VYE;G0@." O0V]L;W)3 M<&%C92 V-C@@,"!2( TO5'EP92 O6$]B:F5C=" O4W5B='EP92 O26UA9V4@ M/CX@#7-T7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -]@U?JDV=\(X:NDU M;7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -0S M9=(S;<@UAK8\<+0*96YD7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E M("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -"!; M(# @," V,3(@-SDR(%T@#2]297-O=7)C97,@,B P(%(@#3X^( UE;F1O8FH- M,B P(&]B:@T\/" -+T-O;&]R4W!A8V4@/#P@+T-S-B V-C@@,"!2("]#(TK"L5P1^]I6D4 M1H4JBR),U&J_N+@<"[49'444YE%<%VK<] N@BN),K3:+);XFN5K]N="7'V]N MKU42`8=@]641)\0Y46D6 MU$!5J3(IPJQ"0M^`MJPB-(:GVE=1)6ZO?QY$:F?@,,76 ./_ FL MU(WZ]'NDMHNW3C@O.Z]^GJ;#=Q<7W3AN0S.V>[,YANVA#_ >?H%L&Q\LHK!./SW?<\(/9?&Y4][1O)XP5&FR""#/. M]/=/]CL5N_BAXC\=N]:E$CD@#^.Z+,@!;\<-(QU *='J-PW/`CA#6#3R528H M\16C"?LN(2MP[-&7?776*ZRE*J#2ZTKTH0\\1'U"L`$&'H0V6 M$'.]#]";9E ;VK1$BD _.V35WCS0:PO!3C33-_!185"0UKH/98<=?3?,S"VW M?_&)+'17#?,XI$((3G5]S?7EU=7'WC#].B+&-E:>^#30R., MGVFE5[Q@>S[7">=;>Z8$)#$=V=*#[R6Q]55(X3LEB2G^\9@H-10!%I)I* M`8GS!>%1F5%M+)*"?B.E7!J6^9E'HUH$)(P;N!Y,OVD;SX^9$ I&.P):S#VQ M@RN]`F5/[.*3OC&Q:]',PM6P0H]0$U0'+/[ .&BC6H2*GLS.A3YQ$ & (.T$ MZF.IH"B,4S,RDG33MW]AC76T0/693C'IH1G@4F:QAV;+@ T)X"=W`X;>32+7 M$J#VJZ8SDB<^)680W[F/06AH3P[((IA,PL^WX?[X&TSP9*FOUV:PDD6XC=V' MNQ7=T?;]]!,^6UJD`]C+T/>1&9""VX;)L,4)L%EB+IR95!ZPZ1%Y7%%8I+J1 M'"8Y'?-MV R(OE0CMQ_11T)*/4I!FM<)O"Z)]R4S.VYY9?O"J!ORR3?W]59U MXH)TSC]A):(T=-B :EV5DB,^!:G\9%3NH;2Z_D9(7^(H\9=DR85*.ENP`+I$ M0D;J](:6!EQ6NUL3-IN."B,D]?#UY+6/4(*0MG$G'IC"?6SF'Y Q:V33;O&_ M5>)XS#?((O6-)4\-?BO#G^K8T\*_C.MKX83E+>%PV3J_0T%0+-$ZB1UEG>U; M>H&^Q^\#=:]V@SO6.VJG%IDMH@?#]$>W//"ZR%>?6]$Y`.>6^IG1/B,1ZZS# M++1@PI(=W$A@ZTRJ%00'2IZ/;"X-%Z"M]$W"4HZ\"K!<1$7)A>+S<<_I28XH MM?,6A'4;`EYH2=TC3>9BE6M>[- LB#ZY+7,Z8PUTAYW-D'Z-<,#;$C?Z+3T- M84F.(;;=MOMBCE#/)X>QA"4KYL9?EZSQT:NLA#L10/L\5WPS_V!X\)KMIU94 M,+RU/_+F9]IH6&/53'R/9G*\)5]8MMX(Y70B?4LX<+@G3UH5VO7 M4Z#A4].?9,QL9W0YOB7VBX-@)<_FC4?LNSVXTJ@AJ+4#=DB8.R$F?WVQ"%[B M3/#RBY6X&3<4<*9_8>>Q]O3!T;(2:O;2U%KOR>$/(CT:QD?W3,\=/?B(1,G9 MSH<_D$.5CR"#%$#C^9_!H7NAQ\[K]Y]_7W]0DY@@VGLNZV88[/]387TF1MC* M<;-M[]KS(-I9W#VF'0_U[2"B&G4F4]A*GD+!>F0N^Z-/)@9!^:+_+&9X5+LB`XB9V-!^\EG"K1+S/0QF/'=6 M[RFE,,P=PHEU'!J/NFB6@Q!8RA N7B]YD7/WI]8CUX*3XSS6IS)'4LS:%P'1 M=L,-$<(PA\\=$CZ[UQ[W0S^#5C*"OAP_Y_/NY5BH MS:B@OX)?$:4U/M.ZB"HU;OJW9E3?%A7<%GUV\53BV!:S.H]F-3[#R, M$X=7*XY$KQVRCRC7WM -1IX*O!PI]P)5-RP*E2>56NV9HG;;->S!F)"H/(:Z M[;;/YDQIWZ#A.W5PF//2PR4$VEP/]_1I_" 88+.RM]!:,2[N[&!/,TJC> (E M0N9&`Q$(V!E^:;GQKSV)C*J'P=X9T<+V/%9VLG2:WV34=8*4C*X-#Z!FW\[W M/[P@%X6V1^8[#3 ;B@YOVM U:W?MZF:R0_L6A5S3N6M42BW.FQ.Y>H1@=ID# M5^SK.HR8XI38D5DUQ@.FW%H_D_D]/9349^0S`S5Q2YE;5A;$S<7G(#5AY%FK M=Q406MQ!FM:<"D%RVA-B-<@;5K],=U2O$[VU0H%.H,N6YKA,\XZSO"9D56(9 MB'HF#CTU>8GS'=:Z3GT=>*FAI2VWA<)X1[NDBC,K$\VWHAUEFFF M1H@9+@7%CJ+),=&:JF1AZ*F@;Y.B3%^1HH"PUP_3$:T=NT0JY'T%]D,6[ M'L^SCW7+(98)%>8"D=HH<0D MW8G=E /Y"3+S49F(69C_'.CSOMH(QV[&['7/;+>]! -6ST0$D90+5"2.?[/N MP7_5R2$X&9O=H:*-GH6H-4)8N,SMM*I5%NU^D<]LAIZHW]^,=E"F[AO-DS8P M&B;T:FZ!:S.%=(!2MG -!EAF4\F#,W3 X+SS*Z,;Z2ZBRF3)BV/W9%3DL<;. M9!P[;]U2B6_;`9,G2U%7,L^"G*$P9=X)R7T:DF^Y9.57WO8[MA3#ML!E[M;';AC%W)#JR4 M+Y!!(29#UPXLJYH'X677GT;]8?_<:"[&7/ 02N'BS7"CGO*WX#XIV<".2M8D MPR$)U *7.PIN0V.*5BWA9B)1M9=-8M[":<,U"2$8>9"*,^K,+7\IG@K^5..? M%*/S"$/4'GOCS?7UM>]=`5G+$G =N)*L,)!$X_7@]1.#(9^/_1*_FQH4?D M&9P?-O14M?QM6_!?J:7R<5?\*IO4WF.Y?Y8M'%&O:][F4$T/:V0GB*NLWHH! M6[D:K80@/M)U0LB643O6-AI9D4[(ZKA/?4ESJPNV3<>C#0?;Z;A .'J-Q^;4 M;C%5Z;=RQA,_%[5D%'AEU2<7?J*8ZV?OZH>;=QA['A^^-SP\0$2@-:#ZYU\R M`5A0"CP@S :=?O!P4T-LQABW4B:G4\,12MLE]C*1&Y'$GS?-4\7D#"1;O39> MP2G_X0!39BHMH>*&N 9E>F16&LUQ>#,R>#ZCA=HU(QO.9I^ YUJ9?2R11TP* M9\=?VD84D87$H3=;'7E 2M$`5'$P&X)VI6CLIA!8);BFJ#W9M*"E.# 5WH9? M53P2N4-?Y5#2Y')&6:LT+Q'#J;3RE)FB&%[3.%[:TN.M;\3. FF;UV ME8/0>S?H@;64%K9(&2 ^:;GIC);)G/%;DXK,%\6FY1]N^'G#"UR3Z@X;V;28 M3DQOW+G:A_=[G2:D)17:(-W^GKQAJ[2IR6@S-K+A*[MI4XW/<*?NRGHPU+(,'?M*E:Y5!N5U4OR80&=1""T:WX:0W MTL "/5K.62KM1FN 1(ID\\9UBGM.R99+CB= PS?+1*M8G0"MFP"MFP"M%+94 M<TP((:YQ1X\SJKOC$![?]C?G+ZU[]XCXY"L13 M@ %W$4W\;UW\)+BW"A.RN47=U(IPR24D"O_:8F78L9=+1(< M.5[7B#Q7"R$46DVO4GF3&FWTO*>)D/^IW&M=T\JMU*,BAV/'WVHET M-4 +>3PXB-(`(9*13J ?(B^B-/73)77A)(6L2S(?BW8K>B!WD93ZO6X\'L3@ MPM*7N4B"RX#^IX>$'CBHAOR327X9C9E9,14#%^QYQ,N @^43CF[H8#F)'[>R MOBOVNK%7,-!K.QI="SI)OH+*EB8*OV6G\8+1:0\'WJLJQ9J.F:Z457]2(1=. M-!;^\V/P54+:"H8,K(C0.+VC#O^7RCG9`<(NVGRF]&!#.YQI,A<'RW&XJA] M%^"E(N9'2"M*5V#R23A],'E*7B?RO?'>Z4:[2^P@7&O^'^YY30_=@6W>5/)Q7\KUBZ[">B2NRU?#FQ=$C!DVQJXE MWW"_CU:R!_AEUSOCF7_R54> FI"R+>! :I#5+>:O/E0SDWVJ-8(A%"R75;=F=+=JGIG^7OU4[3 M-A?6BUSBXG>7NK=4I*@G\%K((^ (3%Q^_5)\A9R=<>0/Q5ZXSM&/TQI72C/, M1%\Z=>83[O>@4QJ95U]T5'U?/53<2[JBEE;X33R'TT),K1&]4[?JO\_R]T/+ MW^L7$3'(3?1FX.G;DE^AQF3:WQ3?).-OFGM-^.VE63U+LE:2T87W?2NJCRN5 MTE=RO'3%\!>M@'_(E];[=Z=[H+;]\ED4NYL9H648I#J9*BX-CER<2Z *;E#% M#SYL.3#/'<9BM<;,0^Z=V!QX#[]+3(YUY9.I][[#??^AM*0@X@A MA%?/(@LDLU34T&WP$JD?93I$3<76:>T`$RE>'\1M;NE^_T,ZANZ*,KV]:[>' MAJ<&&3ITHJ(Y0*<<&9ID9:GC@0Y=5YNM3DN5?),!;5^,MW@=S3[4DU*:_#CG MOP(W]RY(V 6W4 MG[YBD--(2[ECH\*5_$&%#_G84!_&U*7ZCB@U4[#\P,%_Y-6M_/WBNHXL1S+M M2JDVJ:1*"U,+2DOIM#?_.WO(G,AE9B11OZTN+1S_V)67,? ?HU_'_'#5Y 4,[TC%8_4(S4/\A>:L5?R[P9_ M?X="S5#5P:.H(TR6]X+H6GWY57*"LED:T]^5@7<'_=457B%YW/24B\\;(>VF M<[S]3?OLG$BN-P>5/RKLF3>\DO__&WB^\^3D^!7IV%LKX_YJT)?1/$D8>58M*H=R(98+S*NV #DSSS8=HU MD+IOH]B/0YA=+W[\@]?@,C\3#]O0BT [1F"F`4CJQV)7$B5LV<\7<&(BRS.+ MRP.\%:P&/D[@*M9!4H5$?C(X`#+(*"*T((V,0V0](A]#(G088D!RAQ1GQ>2* ML7XRO =0;>XP<$P0.LMLH)@8G3+$P'X8F"2',LR"P(8.8WI,FHPP82K^@O8) M'HASAPF7/0#K8O: ]8TEY:N(J'FP'#,[TW`T:GO3?#V".N`#=K841^!$98 ME[!QO%#E[#X\AG)IADE.^V^"2,_VWP28G>V_"3 _QW]C3!(<\5_D9Y'X#_.2 MACO%F".8GB5GD'#9Y3;P(R-<-,-$IUP^0]@S73X#QF>Z? 9,3KM\ADF/NMRF MSAP1(SC#W"L2'; M; @3`"]'KC)2EQ/6CX9A&K3<&69)/Z#/C1]$QS#I:9]/$-G9/I\`\[-]/@9F MP3D^GV".L43H8X_"BQD_`2. 6A42+KIB*%AFD#X;AOH.'.X".X/84PZ?(08T/&($HS3+Y<2X,@32!I<+)AS!!F$3$,SPPRR(3A4#*,S P3 M+6.&D9EA[#)[1Z87*:!7H+/8Q&'BY6(8R,\9)#G26$:AF6#28Z')HF/'9*=# M,T'D9X1F##'!.:&98)8S8!R9">2(?(P"/^<"R'(__P_C99;M-@S#T!WY:![V MO['2>8D&@JCTV^8^VP1(@K)^7!A()%6>*0N91)7)_J_,R)!C(L5?;R)RNB60 ML#/"H@PB[:@,,K8!%F4`"8XJD_LH60XKXJDRWH^OV9% A6FC9#L1YWNMRW"3 M92=.L0" ?"'*3I0;37;$5GZ79"=(# A]J947#6,=2)_E+78\!B8ZPC3ZF$@2 MH6CR"QO(G%(`$O;9N,NBD'2CBV)L]7=A%%*H,F.\-"FFA+HTF$JE^:9H1);. M=\E4!A!V*Z9QZP"33JL?B>/J1^2\^I&Q#; J`TBBROQ6LC"AO,'PAV12Y9GC M`"D7PNQ$O=%E1TYK'X#CUM=$/B]]0(X['XA )&E/_1J_/DUV41C]E6WA);Z5 M^BT6(*3S8W]")$]A"S]_OL5^S''C`W'>^(!<;'Q@SAM?(\518=PO6%7Y!\EO MH[_*D+\\J6W2_)(U,F$R;>^6,2V!85M?*N)_A5;(<>T#<=[[@%PL?F#.FQ\0 MMOKK_/SQVWXAR>_'U5UH,7[L28.46=+QV^-ZGS\][_7YVXN%/G^<[1]OE1X_ M9CN\SNXO3Y;MXB=32?66C S,D+(^Y!(!9%GBK6UU3_$;KS33CDL_O)[FV2VUVT$Q)-0G/Y*C1KJ;GQ/2YJ"WD.;G M=-L/FX,4$?ZCT.XC!=Y[0H'WGE!@M@LBG@B_2"%#0UXEC^#2B2>6^PN0"TL` M2(_>18DRF)V=3"+ M)W9++%HIY,H3BFF3:9LEIO,4T4G'Q\>SIW@V)2K_&G_A"$7<.T*!]XY0X+TC M%,@=,8HH!YL@(0VF$&:Q!##+-;AFCR@_]-_V!:;9SUD\`4@WS;I:0B/!V4CE M'Q..C@#BUA$`WCH"P%M'`'CEB"3#5?[QQW!'C$$+3+6'LSCBG47F8YHIU>8' M12Q^Z-00.Q/YC&"/B1>&4,2](11X;P@%WAM"@5>&.V)ETXPB%7#A"$?>.4."](Q1X[P@%9K/JJR'D/^1-9+O\D'.* M`.0\( `Y;PQ F!_"// TD\]^`.3H!R!N_0#@K1\`O/4#@'Q"]*END. 1QU3) M_-3(E&$A(G].FD^(`*819K6$0I93(X;-$JE^MYEF"C\UZ.>4"T\HXMX3"KSW MA +O/:' B_-32B5ODL9<*<4N_')^`E(GPLY"8!K5:J058/I)*TU49Q*K2H L MAJC%%@B88#.K-L!$NP"BS;C/PA-?:/1X3>;G1/>$.&JFD&R_6G(?)]F/*7:[ M[MHHIIZU442[T$8A_4:;G6FV!79I%.+M[P_UJ?[O8[S,2PGLH]/:<$!YVBY- MSP09!I#QM.>F,:V 2429\J3X[31@\DD9(,I1&4#J61E@; .LR@#2B3+M[]7: MA\DR6^-HM.ZF-'Y=/O)JGC%^,JEMVK11-(6$^6J^;-(XAL2S,HJP!\"NC$+( M`-B548QM@%T9A9!8(,JD.-SL93V)UW],NU%&,?U"F0WI;AC /XT(HXAC* `B M7 BCD'@CC&)L_7=A%)*I,'])HC3WU#>,A('8\L?PN)^4@%0BY90%D$8:)G\^ MQG[,,0%HPI\3`" 7"0`86_]5&$ B$68)W[+893.%/IBA_YZT1)HXQ%2(/?XW M8111B#!I)A-@CNL?B//Z!^1B_6LFG-<_(&S]3V&JA&%93&ET60@G81!9^M^9 MRB"2[$DVA4'DM/V1.&Y_1,[;'YGC]D>DV\9<\J\PZ;VL1I?%H?]^XL;X>#\^ M1S&>B+DJHQ"V_>6I_B^8(7-:_T@!^*\]@$Y;GT@,NV4GQ[MD=YRHML/ M*4=!`*FDMZ8B@+3IDY1,20`Y[7P@\G'G(W+>^<@$FUEU`28286;D%<;+/LII M,.3HBVFIF4*R+>8JC"**O5K"T[Z9#Y'3SD=BJI^>^KY[8_(H<'C YT^^E81. M--K!XI8GDMX!QA.-9OZM511_7^*'D/$O$HWQKY'%",II(I'?";%&-'+>_ M!LJE0IJKEP)IKIWUT4@G[;#)$V4]A=%V==A 78WY"77HHQA_4V[%V.M@J[3_"N,MY+@< M--'<9<$!])<%!S"<"PX,VQ-+;"U/'C]G=V&>E\'Z\\P*/=6-Z M7=W)M.O"3J;?U'3\O),DN*:;\CA9`WYXO@^]5;HIGT=\:ZH8=@:XIU3&',\` M(-)UD168KRNMP')3;L60DR ]_F=)F04RV>-P?6]DS-11"T#(32@5'X%*,5Z^ M^U1R1/QES9$,ET5',IZKCE B5M_J'F2\9S^A92"XMA7^+\H\#"N1)RT&&$$D-JS$06HSA2%*+3Y8I(U?8 M@/+-ZVFH$-^FM1 :JO-)L6PEK_[/N,@,/_ X)#*+3CY/J-]\DH(B,\16<0UY M6@?^>I$8XLWJ+Y5,:!B"9Y@@?\Z]?WY B8Z7T1D(D0VR?A-"BR'6$TNRQ!N7 M/LV.4"5CM@Q#R%4B+9BF(6*C,OU&,S+,#]L7*2@1/XA*[W'Z_2(->;($9NR1 M$25=ZZ:R*9C3:T.2=$68A4O+=%C3E:R %+]>12A-!X5U;_1Q*R"3[0?)RG@? M]%D9")$3L_1Y\2!4;==))WS*D$RHV0:2C3YV+D+=MFISDULY[\6 M0HC$B%;GK8)0L)_4_0QP")$NZ=5(FY-)I/36-#N*;+4I;\'8OLAE_$4 M1,JQD9 ALZ'$_[Q:(TS^S[L1+TCOC; &4',V)+_\A11D2)1<^Q4A.SN\=Q7[ MH!;)N]6_PS";4)H^77/-VN4(D2"Y=CE"Q MKER-$PL/:Y0BQT;!T.4+]W.4` M=3(:MBY'BAABZW*D;$>L78X,615;FPOB_%RSG9P6N<[HA1!QQ-;HFB&[8FMT MS1 _E#+V&#+$#GNC:ZB3IG7S:-20=R1+[IVN(4_:-JT6TA!9%+7-)(Y0O.EU M#1$[[+VN(38@ME[7$+DT6W_**U0PH:L!H:&K`:$AEAVV`:$@3QRA!H2FZ("0 M\%;9"_J;\( 4,<4^5S3$9L28*W(2UB;QO4]F>,(]<7F0S)6>_]QG0&1&S+EB M,&Q&Q/^\')L18ZX8#!D1RUQ!*+ 1,>>*`9T3A &%XUPQ('9;S+EB0$N&D"/7 MFBL&=,X0!L3.BSE7#(@$RF6N&-#YO# @XHAEKB 42:1&L8#)L12[\C1"RQ]CM";$@L_0Y084-BZ7>$_+G?$0KV@%W[ M':%HJ[2V+D)D2*Q=B! 9$FL7(E3.78A0O>A"I(@EMBY$BGABZT*@*KLW?'BB M_PX_I+PML'3A6_8OE.4(:'Y"X:(--4,VQ]:&FB&>V-M00\03>QMJB!R@>QMJ MB*3+O0TUU&[:4$-]JK3%[/"?;VID<>QMJ"&R-_8VU!!9&WL;:HA,B;T--;0L MC?5BW;M00\01J@LU12SQ=J&,;58*X@G5A9HBIEBRKWA*&OJ&(.Y MC**G@C-)1*_=55 P_*;8[?:3"AJE$2IHE$:H((.3Z&N$"AJE$2JHHQ%NIS>@ M$0$K7S@``@OWNVP=-$HC5- HC5!!!F?9UP@59)@:BDBHJ-#0N Z4)C8&:#"7 MBK2HJ(Z92'LREHJI.[Q7!C/1$8G8CA+'@;/>84:(A 9R]XN$CMDO$CK&0 F( MA.>;,",T0@<9&!$[=NH:JS!"(W2062.2V)32"(G002,D0@>-D @-Y(V0"!WD M&AJW(Q$ZJ,.'KD($;0/JF!$*H8/&*(2.&J,0.FJ,0NBH'2<"V_>ZJ/2IK4J& M=:6G$%[D.+';8M(68_#R&L;O.,O.:WJ]KD+<84BO;56,01_Z':B"_.$:Q&%' M5%2,P4/TFTD%A6.:2049V-!O)A5D($._F510,KRO_<900>G@+BE]H8 "PSE# M8;B*,@R,W@S4409*,'O=Z4$5Y0^FU6D+%"5P'*\=MD&PMRUT3+BO+71(M+0-UB[UVN.9 MCAEF0KNW-EE'Q:T4A=WC8RBD2.Q3`+P/>3>,^5U@T6QD-A=7."?._GOP MF_4JFTRQNE6RC\22WVHJ/@MRS"X\:R%NRY_SB6.'5KT2WYZ3R7]F;_F+G2_M2M&8D64)X5Q=78+ MQFQ!1RSU9@)39)TCJ-CZ,)V$UEGV9XYU`FM>J:$AF2!QQ4*B)"%;R2*RTA[N M.Y&('X>3[>O\-OY$O/0=W305^87E@+H<\@\M;!@=/_$[8>^BMCZ>'D_?TEM: M;C>M#3 ,(PD1H;$G!)6Q;, 8$J:Q#0^V8TAGTQ5&B<>3T'83QV4`0SKG-8H8 M6-6-^*1+CI/J)&4G2/&ZP`D9WMVDY5"H?)2#W$J%U6*Y+2=Y?'.LE[D2UJ0 MB^K[(3FZ_'BXVPD96V3[`>S(+C;?4\@;@S YU=\O@2HGDS8U7RQR7-#Z"YDM MJN555:^JDJ7J#RDL2\,Q*I[UHX/+'T>D#QS,RXI\K/.K[%"P3$T+AY: 6YOM M"DFGOE(+0FB!7N"4268X8I*]M 5Y+BI6F@ISK)POZ!R"Y5F4O*+U_($_0%EG MA)9APKD8U4GR(X%*I%K>N W4DX'6M)SG*ZRQ#1$^/+;7# M(.F0U$OUV*(!0<5AUDF?FK78=J9QNMG$Y7S'H[7*,9\,@4-X"A]JR(S>HOVO\BV M/Q8%78G+PXD_Y*\2.XJC^&\1LS?H8;^3,!XAJF_SY!7&:EUGW(RZ@UWJB9H M*I_K5*T?0X-2G]&R0:5T]=-^,00#5?G;2J@XRR$)'-KKIF#[FZUH3=X_WC(+ M.;C),4Z><:0JUF_6BYIRAQ2@JW3*293J^-HP0K<]]2QR[B"^5.1?=$EO^!8V M$\>:+_AEKH<4]ZT%9\B^+I"H?>/7>K>@17:-K5TM*[@'S5ZUG.^KF+ +?"0. MN#N)T]@D1_[[K+JB-6;]ZZPN[^#H)[&U(4?-=594IOD.6D5I^D,#7D+WRQ(7 M@S-:K_D./?"_TI##GGRF*W)\QTXAOE5?9R5=&;P@7M@_CORE6#E452_]K(0P M'.\N]T+8Y*+-[8^L+-2# H8VR"_-!XY$BUC&$;FEPDOV$R<5PW M&V8Y:CI@C3R?KH__E)+FF1 MEW3[[:*25Y2?*. ]Q%:+!$NMN[J*XR+B>A5;'& M!)E>/2XQN8_O6@D9.'>!O-BL'Y40#E6E7Y]&%\T53@"?[C9?&SYZ,DRA#GL MX"NV&48.57 ]OJ#'YB9?U$U3^*0@M2./DVF^/'CV9AFA_T^J@U\/7LRZ0<'\ O7<]BK!;834\H?2;%\B#L$76 'O:"Q8B(6?':\BLA\17 (Q/_(\5E) M;!\Y)F0U+T5Z;H"CPU9ZQ8#B^BJ9_S*#H8$-@6BN, 9PY5G+B8.1=%O5:U2> MWULS(?4M'.;4G6A++,+U77A'$:ZZ,<$V?W[A!G'OZ>'L/=AO61Z10"!GQVZK M`Q&'0VZ05Y1TYHS;"K*S=0X/.-*%S!XB1=]:9^26'?$23 Q(B%53?7[1.S% ME&?--CKT_3;W]ASJ2!E!:!^J=?Y'SM)@9X!Y_HCUA7-"HR%)$?K1/+M=4_D4 M*Y1K/9;/>UD^G;A )L@"&9)K]I),?#FZ82.:W5U7ATA>7#N12&6 K^&.KVT6 MI^6W!U'(J@VZH.03/!]_D<>\#*O[BG_)'TOR,A>(DA;/AQ(AAER(+[;$X2OQ M7/ I7D(N42?F,R-+KBY^7U[5V?]9KY;>N&T@?/>OX%$&8G7UUOJ4U'4`%W$: MU$DOZ86;I;<*M*0LKQ+'I_Y5'WW((>@?Z+Q(:1]&6B ^>#7DD#.&E[_\)?FCUL18%HY>>8L"UNA?XJH-[?N]"F-]Q>?]DP>Y23K M)*F81".^=BSL4V,H".L('R$'.4B!LU2-*"4[O^D[#A0LX[)V:>Y\CE&F'*@M MWP,NL-(!5!?4@\T)%+R/+NSMIA\^D!I9U#AK^.N6O9605S*O,0;/OD*[T$3@ MDY197)>,9"L.POFD<]V!JJ2 .EQ/H"K-)';3F13*5QS\T$=H01.<*=NP"@,6 MZ)A&"_FURLC61O?A6\[U",G0KF_"<6/5A5VUCYYVN'(N5*?YSF^N55^$P6+^ M+'C=]%^U$KEW6X+,TO2J5MW#*N10>$90JM/"W3@E2^1^R(:.+VU-+"[XGAE0 M:TRK.O*7D[MR\&4Z'2-*;]]$VF6-CX,`33*0YU"8;]E.^/ NO*1R0SF3B5? M"3HLT+-_L*KA6RPM""2V!(F#;"T]HBF*NSGB*?ZH5OL-RJA2;A7"L8@F,%W0 MFXOH_/R9DC7F:35?N#9R\X8[5*.VM47(2Z+_IK/>TQEY5#<%[_+-@>-FF*C/]NIZL[W"2FT\);=BT,*7O'K!G\)/ M83*/ZPPJX<'>\,3O[D6"#X4JEV!B97)*/:]:'AEJ#Q)87?('VJ2(9%=U&EH( M(0;:X08#3+]H6?_&XZ7\8G4RS&/YA-OTSE\H3,ZNI*1Y10*'4[WYM 6X7G&D MH+,1,O@'SNAAXW;N\T@`<,F6+J,@6U@:``(P!F\:ZX6&I:UW!U$^"/*0XK#J M'T&LK6;!$. ;=F'-S!E$B?;*QQHDG'4I4$XXAYU9E>ZMT\SB2/`0DH9"E@2VJ5L?+"6$I9 M$?D,I3H628W(*)/$P)8VKJ7C!1&;T?827R*1>EXV_)SB!X/=`V0\]3QE-%'6MQK_T,8I!D\E M\??3RW2<4#D,TV3/87_[X4688=PJ.=K'$58Z$QR0IHF0!4])4_'.JH4@`-1J M16F=$SKFOGX.1*Q]5\$_RGA$'6OX-XFZL44(9_ &Y1N E32IH=78?OL)55J$ MU!_UZKWX?&>U:AL?6.PI]K+R44"4N*PCHC6!$\-OC (G%P$PX@Z HX]9-5Z' M\>Z#!9%P3 `.>I8N' -3Q'3-`=)(9$N L;8?QMR!.G#0C#\R?)(Z&#(?#=FQ MD3!FYIPE`/H^^\%*G'[P1,MC(1N<:]\\\L\.;=&GG[%)$66)J MO)"./ `(P=MDJ0R!4>Z6VW:N=KRIC/ ;5DX0PS,*>%;0*!(&T@?V]@"#92X@ MN8NF.W!9%-C&C[U],@]V+-B.;[2\'&O],15>GJ.P\TJCFX&IQG@,7,H*P"RI MS]50>MZ$:C2/6CX8$QH_"QHSD7$AA/7+#4GJF]46*6>-TJ>ABHRU\7UTYM:- M2'JD>[>EJ#>]8WI%="_/6L-UZG<(#.HK%X^\:M4?V,7FT0,QW[/L&R*&Z;6R M4CYR!$Q/V3-I[S`_;*CHQ9'QG]EXV^9_Q_WDA1T4X*1A=/ MK L^F^:LZKE*5Y7%6'[ OHEHMJ,:9C/B78YU)`29S3D_F M!:GTK+,K8H0N$U*V5%=GKX\2]5%EZK."CP;^Y3.\H*H`#G*U]G218B2T1U=0 MQ]."N,LDK@$PBAJU6Q\558&/$KKU^SGTG[/)OM!A/RU X7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -K!0AM9GC.$*96YD7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -,8V M9L S>+8S=-,V?7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -\@Q=,TT:=@Z<^B$I.$*96YD7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -[9'9\HU9JTO9J:LM7[HM9;$X9[-(:]U1>]<*96YD2 ",LSR;L6T7@,(, #G M3CH("F5N9'-T7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -LTM8LDO9ZXO9K,), M<*],9:H\9+4M9+0M9:@V;;%*=K5+9K)':;HN9[DN8[A"@ZU-=L,]8=0S M;."&J.$*96YD7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -FG@8KMBPXXE^TQ M3#EGEGLSMNT:0( !`.JW.AX*96YD4V/%/F33.7'!3WFN6&:R3V6W M,&+,,F7+26:P3F?%/6O&"F5N9'-T@;"]JS99I-_6!\H`E:)!QDF7G0JWA_6N=*U M8A?00+.7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -J<[=)E!8<%5=L)3?;)29+5$9JHW9;-- M::Y3>JA59-)'8] T:M!+?=%(9LLW8[5- M@)A5:[!-8;-*>)=-B9]8?M*=I>0*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -0*96YD M7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -,] M=ZTQ=<$Q8<(N9K@N9,K X;J]1?;-2;+--?[$R:K M97!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -S-FO1"F5N9'-T7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - M:LS9L$S9IHS9KDS8LPS9J S>[$S;LHS9,\S9K\S M9L$S9-(S<;8S=Z@S;, S>Z4S:,4S99HS9JPS8\TS9<\S9] S9JLW;K^*J.8* M96YD7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -)LR8\0S9;,T9Z\W M=]$]@:F0K>$*96YD7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B --\NZ999SPRSSMEGC8;/F@R &D M!V3?-7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -C,E8:] U8[XR9[PV M:,8*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -,APG+0*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - MLY%;,)18[9(9-)!9LA09K,U9:]!9L9):;)A;\T*96YD7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - MA\)29\HU:,9&;,T* M96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -N,F/#-6VA/8JC M-6S!-FK64X&U"F5N9'-T7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -=,*96YD7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E M("]);6%G92 ^/B -L,*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -MQ6:M(Y9LXX9L1";+)9:+X*96YD7!E("]83V)J96-T("]3=6)T>7!E M("]);6%G92 ^/B ->\M?A<908\DR9LTR9LD]9LA: M9L5=9L@Z9LPU9LP[9:\X9[52BL*DPLD*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -;L%?99LQ<9,4^97!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -9LY> M9LQ09K4U:[=2?-4*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -(U?+\SAJ,R97!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E M("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -B-8*96YD7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -@N9M$X:]%AA[X*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -+HP8]4P9L$\9;-9 M:-IM?-0*96YD/4L\8MZXR+#@"U`V5-<^YWK7@$$& `Z$(V%0IE;F1S=')E86T-96YD;V)J M#3$W,B P(&]B:@T\/" O3&5N9W1H(#$Q." O5VED=&@@,SD@+TAE:6=H=" Q M("]":71S4&5R0V]M<&]N96YT(#@@+T-O;&]R4W!A8V4@-C8X(# @4B -+U1Y M<&4@+UA/8FIE8W0@+U-U8G1Y<&4@+TEM86=E(#X^( US=')E86T-"IZHY5=O MS3]FIRYCICURME>$T%1GT5)DR4IGK4AXITELQE1BTUAEO3]EPCQSPTQTPSYD MOCYFL4YFQS=EO%%JR3>$KS%JR$2!LE1OLC]AQS!FSS%FSCYFS4!FT#MET%1D MSU5FT%!FR39BK3)FJD5XQS9KTTUJW@IE;F1S=')E86T-96YD;V)J#3$W,R P M(&]B:@T\/" O3&5N9W1H(#$Q-2 O5VED=&@@,S@@+TAE:6=H=" Q("]":71S M4&5R0V]M<&]N96YT(#@@+T-O;&]R4W!A8V4@-C8X(# @4B -+U1Y<&4@+UA/ M8FIE8W0@+U-U8G1Y<&4@+TEM86=E(#X^( US=')E86T-"FF1VC-NVT9DRU-S MT#UTUCADP$YDK%ANKE>+D%.$FDEHRS9ETD.#LU2#L#]MQ3!DS3-FS3%FTSIF MP5!FJ$]FNS!FSC)ER3-HJS*%IC)OITIBPU:!M%1WODYANTIFMD%FTBYDSC=N MSE2*Q5.'K4Q^T$EFU IE;F1S=')E86T-96YD;V)J#3$W-" P(&]B:@T\/" O M3&5N9W1H(#(X("]7:61T:" Y("](96EG:'0@,2 O0FET7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -I::]M+9L(R9JDR9:DO8[,Z M;7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -']8YTKWBET&>4>,*W>B*<""4LX9)5TP2+QHG'/,N&V-F27B=4FG(.62Z36*U3X"L.76_,6//,V;.,&:_0F; 2V;( M-F:Q1V;.-6;.,F;3,V/0,V7/0F;02F/01V303V;066;01V;/.&7-2U_02&+1 M27O-5HJZ5X&V"F5N9'-T7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -[E&>;DQ9-$O8L Z M;;=1B-]$"F5N9'-T7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -:\S<[,S=ZXS9+TR9;DO8YPO9LHU:M8U M9=4*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -*LS=YLS<+,S?;HR97!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -:4Q>*LS9-HS9+[ O8[,T9] T8[@*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -<,DBX85>TP+CH`9!NGG0$A("/_L''--N/TT\:I9Z&"<)1\SKA\MW'G2N/2 MO<:)%]%ED9!ISOWVI4\!`@P`VXLUU@IE;F1S=')E86T-96YD;V)J#3(Q,B P M(&]B:@T\/" O3&5N9W1H(#$Q." O5VED=&@@,SD@+TAE:6=H=" Q("]":71S M4&5R0V]M<&]N96YT(#@@+T-O;&]R4W!A8V4@-C8X(# @4B -+U1Y<&4@+UA/ M8FIE8W0@+U-U8G1Y<&4@+TEM86=E(#X^( US=')E86T-"HJHT#5OS3%FSC)C MSS!QPS. JS-GNS-EQR]CG"]EPR]FH#)CNS-DU3-GTC%DQ2]?HR]OBC!\H3-E MSC-ETC-FS"]FL"]FJ2]CF#)EOS-FTC-CTS%WL"^)G"]WLC!CLC-MJ#-]E3-G MKB]AN"]BQR]\H3)PO3=KLPIE;F1S=')E86T-96YD;V)J#3(Q,R P(&]B:@T\ M/" O3&5N9W1H(#$Q-2 O5VED=&@@,S@@+TAE:6=H=" Q("]":71S4&5R0V]M M<&]N96YT(#@@+T-O;&]R4W!A8V4@-C8X(# @4B -+U1Y<&4@+UA/8FIE8W0@ M+U-U8G1Y<&4@+TEM86=E(#X^( US=')E86T-"FR1W3=NX3-COS-COC%DTB]T MM#!_HC-ET3-ETC-FSB]FMR]FK"]FJS)FQC-FTC-FMS-FN3%DTR]RM#!ZHC-B MTC-EUS-ERB]HFR]]JS)MR3-CI3-]GS-VL3-CQC%FM"]EG3!@M3-JL#-]KS-H MLS1GSC%FT0IE;F1S=')E86T-96YD;V)J#3(Q-" P(&]B:@T\/" O3&5N9W1H M(#,Q("]7:61T:" Q," O2&5I9VAT(#$@+T)I='-097)#;VUP;VYE;G0@." O M0V]L;W)3<&%C92 V-C@@,"!2( TO5'EP92 O6$]B:F5C=" O4W5B='EP92 O M26UA9V4@/CX@#7-T7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -JU88[589KY+9L0O9J@O::XW;+F@HMT* M96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -KLM9,E8?;5,8< R9L4N9JHV9JM28[979K56@[7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - M;(S9JHP9J@S9J]19LM79KE6 M9K(]9JHN9L O9,$O9+(O<\0O9-5"9,9:=;)+?J\O:;(O>K@O:,\V:-5097!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -L$J]VA0ZUKS MK!-&J6==*W8!N88IYXS3SB!0ZFF3]/-F.3>PH-P;9EFW02@7FRP,F63?5FO4/&Z]1VO0"F5N M9'-T7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -=!&@7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -9L%/9L,U:ZY0?+(*96YD M7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -[8Z;:5%>+Q: MDLA8?[],9-$Q9LHU9JE(9JU39LLV9- M97!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -,";JLL*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -Y-W++-7BM-6S6,V;,,V7! M,V?),(>A,G2\,V.I,F:I,6;++V3(,62Q-FR[78G6"F5N9'-T7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -[,Y=AM8*96YD"F5N9'-T7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -+7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -K0Q9=(W9;LR>)D^AZA=97!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -;<%: MB\,\<,LW:L7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - M;DQAZ8V:L=.>J@*96YD9,&7',V;1-FS93GVZ"F5N9'-T7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -L@SB:PS9\LR M9,XP8\XR97!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -1$;<]&;-I-9<)88L9:=KY4BJY&>-E> M?-4*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -(*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - M7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -J,P@J,]9+)?:]MR?-0*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -\4Y;M(T:M7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -LA8;LY+>JE(;L]):MHX:<=-A<]@BLI3<\T_:=PQ:\5 :[=< M:]=>:]M8:](Y:K,S;*TUB:]1=K]A@JA$BJY">^&1HN(*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - M@L!(@;4R:,$R:\A :[E?:]M6:]8Y:\9$:]8Y:]=$:]DY:7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -;U3:?#&I;9Y5WS# % MJ. L%I1^UBCEO'GZV=".U9$]RZWSCAHF7S NVVM<=,@X^2*(+-MKEG,[IO4: M0( !`.;+.D,*96YD7!E("]83V)J96-T("]3=6)T>7!E M("]);6%G92 ^/B -[U(=,! 9-%.9,(P;Z7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -;I=?K=*8=0Q8\DR M9K8P9;DO8KTU9\Q2><$\:\LO7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -JPS8],S9- S;KHV?ZI1 M?-(*96YD.4P(H/D\T:I9W')&@.ELH\;5V\W2#NCGW@1 MI!)H;/UFXXI=Q@F70&3]9K/LV[&MUP$"# #*V#FA"F5N9'-T7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -,D\]#&1"4<@XD`F8;I9[53SH/ M))'5&"2?-P"J@2L#,G+!!D+8$$. 4D!V^FD0F7C1+.M.;-LU@ `#`,F$.:$* M96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -ZDQ>;TS8=@S=+4R?J(O8,\N;*HO@ITS M:L8S8:$S9+\P?:4NJ@N=8DQ8;$S8]4S9-4R<;TN@9XO9\LS9LTS9LXS8M(S9J,V:\8* M96YD7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -=-$=ZXQ9)8Q9KT[9<569L-J>-8*96YD<-$R]:YASS MJ=MBEG/,J&Z+<=X1H*QARCFWRITN)?L,B_<;5V\'J8?H`I+UFXUSCD'9R 86 M[S=K.13;>AT@P #=J#GM"F5N9'-T].&O*4WZQ36>Z-&70 M+F;/,F:V+V:P26;(0&;0,6;.,V:],V:^,6;!+F2W.6[&4G^Y3FC+,F6X,&;& M+V:U26;%0&;0,6;,-V[=BJCB"F5N9'-TN.F6Y M2V/3-&;.,V;),V*T+V*Q+F7',&7/1GB[57&Q/W6P+'FN+F2N.V6N4V.X36;0 M-&3.+F3++WZS+V^Q-6G3"F5N9'-T[3'S*16:O-&6O3&;).F;22V;44&:V.V:^,6;.,V;0,6;3 M06;22632-&W/2GW)4&BQ467,.&;.2V:Y4&:K.&; +6;.-6[?BJCE"F5N9'-T M7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - M[7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - M=!">+DO7\$[;KI/>*%18LQ29K959K9+8\TV97!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -,$[B9Q/=*A"8-,V8]!19=!1:Z], M:ZHX9<-%.>+Q-7[]!8=4Z\Y,9]!-9-,]:\4*96YD M7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - M7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -)LU:,+XO;,@Q9;9"9:5-=;\^7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -;XT:,@R9K$O9L7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -H*96YD7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -*; Q=*\Q:-(X?^"%L=8*96YD7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -*TU=,DRBJ8R;=0U:MHV:[DU:YXV:\J(T:;4R M9\HQ;\LR?*4U;= V:M7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -\DYC:TR:\@Q8\LQ9LLR9LTU9]="C\ *96YD M7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E M("]);6%G92 ^/B -7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -\TT@[,WAL$*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E M("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -$*96YD7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -;5]ALL*96YD2Y IE;F1S=')E86T-96YD;V)J#30U.2 P(&]B:@T\/" O3&5N9W1H(#(X M("]7:61T:" Y("](96EG:'0@,2 O0FET7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E M("]);6%G92 ^/B -7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -1YGNE[G>H*96YD7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -\0TB;%IC=T*96YD7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -!FB]M.>L0V M;1WF-X*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -AMHU;,$T:*97A- *96YD7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -L(S9J$T:*1 ;\P*96YD7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -=8R:MDV;=X*96YD7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -$S;=XY== *96YD7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -KZ6 ML]Y1?K%.;+<[;+4*96YD7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]8 M3V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]) M;6%G92 ^/B -7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E M("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -CMU >M98D7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^ M/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3 M=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -TX"B MZ@IE;F1S=')E86T-96YD;V)J#34Y.2 P(&]B:@T\/" O3&5N9W1H(#,Q("]7 M:61T:" Q," O2&5I9VAT(#$@+T)I='-097)#;VUP;VYE;G0@." O0V]L;W)3 M<&%C92 V-C@@,"!2( TO5'EP92 O6$]B:F5C=" O4W5B='EP92 O26UA9V4@ M/CX@#7-T9K=?:# ?;R^0HRW,8FB.)"^"F5N M9'-T7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B - M7!E("]83V)J96-T("]3=6)T M>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E M("]);6%G92 ^/B -NGV>V'V>R("CW0IE;F1S=')E86T-96YD;V)J#38P." P M(&]B:@T\/" O3&5N9W1H(#,Q("]7:61T:" Q," O2&5I9VAT(#$@+T)I='-0 M97)#;VUP;VYE;G0@." O0V]L;W)3<&%C92 V-C@@,"!2( TO5'EP92 O6$]B M:F5C=" O4W5B='EP92 O26UA9V4@/CX@#7-TIO8 M?9["?9[70G*E,6:_-&W2=9S8"F5N9'-T7!E("]83V)J96-T("]3=6)T>7!E M("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G M92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -K>,L=,*96YD7!E M("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J96-T("]3=6)T>7!E("]);6%G92 ^/B -]<*96YD)K" M"F5N9'-T7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -7!E("]83V)J M96-T("]3=6)T>7!E("]);6%G92 ^/B -, Y;+-::,5=:,,* M96YD7!E("]83V)J96-T M("]3=6)T>7!E("]);6%G92 ^/B -7!E("]-971A9&%T82 O4W5B='EP92 O6$U,("],96YG M=&@@,3@W-R ^/B -G)E4WI.5&-Z:V,Y9"<@8GET97,])S$X-S&%P.D9O&%P.E1I=&QE/@H@ M(" \&UL.FQA;F<])W@M9&5F875L="<^ M36EC&%P.D%U=&AO&UL;G,Z9&,])VAT=' Z+R]P=7)L+F]R9R]D8R]E M;&5M96YT2D@ M3'1D+C$L,"H&`U4$`Q,C5&AA=W1E(%!E9 MH/ G=%O[D_7:A/8T^WSSM4G$-*9SJ10I[[1EA5M52L#FTUOO0@_LC;72.>6! M32&NCA>&I$-.)!W X ]]T?]G`CJ8>IR$R^FT'VO8?AD6"MHDPF M1PBW3S""`RTP@@*6H ,"`0("`0`P#08)*H9(AO<-`0$$!0`P@=$Q"S )!@-5 M! 83`EI!,14P$P8#500($PQ797-T97)N($-A<&4Q$C 0!@-5! <3"4-A<&4@ M5&]W;C$:,!@&`U4$"A,15&AA=W1E($-O;G-U;'1I;F%PTY-C Q,#$P,# P,#!:%PTR,#$R M,S$R,S4Y-3E:,('1,0LP"08#500&$P):03$5,!,&`U4$"!,,5V5S=&5R;B!# M87!E,1(P$ 8#500'$PE#87!E(%1O=VXQ&C 8!@-5! H3$51H87=T92!#;VYS M=6QT:6YG,2@P)@8#500+$Q]#97)T:69I8V%T:6]N(%-EE'V Q1MNIRD;"$ M7GTM#8][$M^%)74H=#I"+&,GGY5[2^]^&8<=ANJCW;G.EF0:PA1N1*Q\YH_H M30]Q'T XI@"CAWCV^92&7JWJP%YVZ]D4HUUN>GP,I4M5?P89*7^>FB;5:KLX M) AJF,>QVJ.8D?UYV^5:Q!RY`@,!``&C$S 1, \&`U4=$P$!_P0%, ,!`?\P M#08)*H9(AO<-`0$$!0`#@8$`Q^R2?D[X]9:E9V(JI/!-$6#0;XU@6&&L)KM2 M-5P(SS#[J$J6BA]B0B.,%P_TNF2<%ZQ'*=^=F%[2;&!Q7**LW'GCYVX`1Q^U M#2CH`IWDFOT3]*;9?+'XW%\C)@F1@'/0%!O>0ZF#)?+FG"\5ROZFJXH'=8L, MW5&$:^3XT2D@3'1D+C$L,"H&`U4$`Q,C5&AA=W1E(%!E M_0( "9->GIKN?9='%*E2%#T@$?Z>VT3QA!$ >9!ER M8+?[`@,!``&C@90P@9$P$@8#51T3`0'_! @P!@$!_P(!`#!#!@-5'1\$/# Z M,#B@-J TAC)H='1P.B\O8W)L+G1H87=T92YC;VTO5&AA=W1E4&5R,!PQ&C 8 M!@-5! ,3$5!R:79A=&5,86)E;#(M,3,X, T&"2J&2(;W#0$!!04``X&!`$B, MT5"#Z@LNS VC9JQG#W^OK+["%Z%#EI2=?TPAN/@V'ZHMGS8OP/0<4""3<#S] MK>%A8L/9.AE^A+&9&P#%&@N"=)XE4)1BQ]LG<52D@3'1D+C$L,"H&`U4$`Q,C5&AA=W1E(%!EP\8+@-&,!%$UMHT(FA_3UNVC3!G!@DJADB& M]PT!"0\Q6C!8, H&""J&2(;W#0,', X&""J&2(;W#0,"`@(`@# -!@@JADB& M]PT#`@(!0# '!@4K#@,"!S -!@@JADB&]PT#`@(!*# '!@4K#@,"&C *!@@J MADB&]PT"!3!X!@DK!@$$`8(W$ 0Q:S!I,&(Q"S )!@-5! 83`EI!,24P(P8# M500*$QQ4:&%W=&4@0V]N2D@3'1D+C$L,"H&`U4$`Q,C5&AA=W1E(%!E].*AZ@A+^)X#^V"8O+9CJZLFXD%'Z3G@MWS\Y:)+KTW? MI=TB+W.E%M@\T^H(%352EXQ/"T#WH3,5J Q(`V^49(G!IUT]DG>"Z[*5I\$2 M2^F2NZ3.V?^?+ ;D$3X.`TRA`6Y>*Q<;$W=^J9-/'5-G"GK\5NZ/```````` ` end From A00472021 at itesm.mx Fri May 12 20:53:59 2006 From: A00472021 at itesm.mx (=?ISO-8859-1?Q?Juan_Carlos_L=F3pez_Pimentel?=) Date: Fri May 12 14:56:12 2006 Subject: [Avispa-users] Can Avispa assume compromised session keys? In-Reply-To: <20060511035904.44237.qmail@web26705.mail.ukl.yahoo.com> References: <20060511035904.44237.qmail@web26705.mail.ukl.yahoo.com> Message-ID: <4464D9C7.2040606@itesm.mx> Hi users, I would like to know if in Avispa tool we may initially assume compromised session keys. For example, Paulson approach uses an operator called "oops" for modelling possible lost of session keys. I know that in HLPSL specification, session keys are modelled with new(), this is a random form. However, I don't know if it is possible to assume that a session key is within the intruder knowledge. For stating that I'm looking for, the following example is given: Kao Chow Authentication v.1 protocol has the following Alice&Bob notation: 1. A -> S : A, B, Na 2. S -> B : {A, B, Na, Kab}Kas, {A, B, Na, Kab}Kbs 3. B -> A : {A, B, Na, Kab}Kas, {Na}Kab, Nb 4. A -> B : {Nb}Kab where Kas is a symmetric key, Na is a nonce and Kab is a session key. I know that this protocol suffers an attack when an older session key Kab has been compromised. i.1. A -> S : A, B, Na i.2. S -> B : {A, B, Na, Kab}Kas, {A, B, Na, Kab}Kbs assume that Kab is compromised ii.1. Omitted ii.2. I(S) -> B : {A, B, Na, Kab}Kas, {A, B, Na, Kab}Kbs ii.3. B -> I(A): {A, B, Na, Kab}Kas, {Na}Kab, N'b ii.4. I(A) -> B : {N'b}Kab The result is agent B accepts Kab like a key shared with A in another different session to the orginal one, whereas the intruder knows Kab. I hope someone may help me ... Thanks a lot for your trouble ..... Juan Carlos L?pez Pimentel PhD student, ITESM-CEM, M?xico -------------- next part -------------- An HTML attachment was scrubbed... URL: http://carroll.ai.dist.unige.it/pipermail/avispa-users/attachments/20060512/31fee589/attachment.htm From xheo at yahoo.fr Sat May 13 00:24:35 2006 From: xheo at yahoo.fr (Bassem Fennani) Date: Fri May 12 18:26:30 2006 Subject: [Avispa-users] HELP :strange result Message-ID: <20060512222435.72703.qmail@web26703.mail.ukl.yahoo.com> cheers to you all , when validating my security protocol , i had the following result : % OFMC % Version of 2005/06/07 SUMMARY SAFE DETAILS BOUNDED_NUMBER_OF_SESSIONS PROTOCOL /home/bassem/pfe/avispa-1.0/testsuite/results/wset2.hlps.if GOAL as_specified BACKEND OFMC COMMENTS STATISTICS parseTime: 0.00s searchTime: 40.62s visitedNodes: 0 nodes depth: 15 plies NB : excution took about 20mn with 0 visited nodes : does it matter? is it due to an error in the protocol specification? --------------------------------- Yahoo! Mail r?invente le mail ! D?couvrez le nouveau Yahoo! Mail et son interface r?volutionnaire. -------------- section suivante -------------- Une pi?ce jointe HTML a ?t? enlev?e... URL: http://carroll.ai.dist.unige.it/pipermail/avispa-users/attachments/20060513/c6442bdc/attachment.htm From xheo at yahoo.fr Sat May 13 00:28:24 2006 From: xheo at yahoo.fr (Bassem Fennani) Date: Fri May 12 18:30:20 2006 Subject: [Avispa-users] Help please Message-ID: <20060512222824.94548.qmail@web26702.mail.ukl.yahoo.com> cheers to you all , when validating my security protocol , i had the following result : % OFMC % Version of 2005/06/07 SUMMARY SAFE DETAILS BOUNDED_NUMBER_OF_SESSIONS PROTOCOL /home/bassem/pfe/avispa-1.0/testsuite/results/wset2.hlps.if GOAL as_specified BACKEND OFMC COMMENTS STATISTICS parseTime: 0.00s searchTime: 40.62s visitedNodes: 0 nodes depth: 15 plies NB : excution took about 20mn with 0 visited nodes : does it matter? is it due to an error in the protocol specification? --------------------------------- thank you for your help --------------------------------- Faites de Yahoo! votre page d'accueil sur le web pour retrouver directement vos services pr?f?r?s : v?rifiez vos nouveaux mails, lancez vos recherches et suivez l'actualit? en temps r?el. Cliquez ici. -------------- section suivante -------------- Une pi?ce jointe HTML a ?t? enlev?e... URL: http://carroll.ai.dist.unige.it/pipermail/avispa-users/attachments/20060513/dafdc2f2/attachment.htm From Laurent.Vigneron at loria.fr Sun May 14 16:47:22 2006 From: Laurent.Vigneron at loria.fr (Laurent Vigneron) Date: Sun May 14 10:49:21 2006 Subject: [Avispa-users] Can Avispa assume compromised session keys? In-Reply-To: <4464D9C7.2040606@itesm.mx> References: <20060511035904.44237.qmail@web26705.mail.ukl.yahoo.com> <4464D9C7.2040606@itesm.mx> Message-ID: <1147618042.446742facc973@www.loria.fr> Hi Juan Carlos, In HLPSL, you can compromise a session key by adding as last step of the protocol that it is added to the intruder knowledge: State=... /\ ... =|> State':=... /\ iknows(Kab) The predicate iknows() can be used in any transition to add some knowledge to the intruder. Laurent. > Hi users, > > I would like to know if in Avispa tool we may initially assume > compromised session keys. For example, Paulson approach uses an operator > called "oops" for modelling possible lost of session keys. I know that > in HLPSL specification, session keys are modelled with new(), this is a > random form. However, I don't know if it is possible to assume that a > session key is within the intruder knowledge. > > For stating that I'm looking for, the following example is given: > > Kao Chow Authentication v.1 protocol has the following Alice&Bob notation: > 1. A -> S : A, B, Na > 2. S -> B : {A, B, Na, Kab}Kas, {A, B, Na, Kab}Kbs > 3. B -> A : {A, B, Na, Kab}Kas, {Na}Kab, Nb > 4. A -> B : {Nb}Kab > where Kas is a symmetric key, Na is a nonce and Kab is a session key. > > I know that this protocol suffers an attack when an older session key > Kab has been compromised. > i.1. A -> S : A, B, Na > i.2. S -> B : {A, B, Na, Kab}Kas, {A, B, Na, Kab}Kbs > assume that Kab is compromised > ii.1. Omitted > ii.2. I(S) -> B : {A, B, Na, Kab}Kas, {A, B, Na, Kab}Kbs > ii.3. B -> I(A): {A, B, Na, Kab}Kas, {Na}Kab, N'b > ii.4. I(A) -> B : {N'b}Kab > The result is agent B accepts Kab like a key shared with A in another > different session to the orginal one, whereas the intruder knows Kab. > > I hope someone may help me ... > > Thanks a lot for your trouble ..... > > Juan Carlos L?pez Pimentel > PhD student, ITESM-CEM, M?xico > From iwk20 at ui.edu Mon May 15 06:51:03 2006 From: iwk20 at ui.edu (Ilham Kurnia) Date: Mon May 15 00:54:59 2006 Subject: [Avispa-users] OFMC: exponentiation support question In-Reply-To: <17504.55294.864594.763150@gargle.gargle.HOWL> References: <1146489269.8544.48.camel@riset-a-s1-112.riset.cs.ui.ac.id> <17504.55294.864594.763150@gargle.gargle.HOWL> Message-ID: <1147668663.19023.112.camel@riset-a-s1-112.riset.cs.ui.ac.id> Dear Sebastian, Thank you very much for your reply. My response below is based on the HLPSL2IF given in the AVISPA package. > I have just had a look at it and I found a few minor problems (I am > using a newer, not yet released version of HLPSL2IF which gives out > more warnings): > > - exp is declared as a function in the main call. As exp is > "built-in" in HLPSL, this is not allowed. Originally, I didn't declare exp function in the environment role (I presume this is what you mean by the main call). However HLPSL2IF rejects it by throwing "unknown type of constant exp" warnings which eventually ends with a Not_found exception. By declaring the exp function as a constant in the environment role, HLPSL2IF translates the HLPSL file to IF without any warnings. > - For some reason the HLPSL2IF compiler seems to have trouble with > translating calling a role with a term that involves the exp function > symbol, i.e. I get an error for > user(..., exp(g,kv), ...) > but not for > user(..., g.kv, ...) > > [of course, this is not a mistake of yours!] > > - the same problem appears in the initial intruder knowledge I have checked the IF file produced by HLPSL2IF. It seems to generate the correct IF specification. I also managed to run the protocol using CL-AtSe (version 2.2-3, release date 8 April 2006) and get the run trace I want. Please find the revised specification attached. Best regards, Ilham -------------- next part -------------- role user(U, V : agent, H1, H2, H3 : function, F : function, G : text, % Generator g T : text, % Maximum Tick value Kv : message, % public key of V, from exp(g,v) Ku : public_key, % dummy for signature Kca : public_key, % Certificate authority public key Kpriv_v : text, Cert_u : {message}_inv(public_key), Snd, Rcv : channel(dy)) played_by U def= local State: nat, Random_u : text, % randomly generated number Timestamp : text, Random_r : text, Cert_v : {message}_inv(public_key), Session_key : message, Alpha_0 : text, Alpha_T : text, Signed_message : message.message.text.agent.text const alpha_t : protocol_id, user_vasp_alpha_t : protocol_id, session_key : protocol_id, user_vasp_session_key : protocol_id, vasp_user_session_key : protocol_id, user_vasp_signed_message : protocol_id init State := 0 transition 0. State = 0 /\ Rcv(start) =|> State' := 2 /\ Random_u' := new() /\ Snd(exp(G,Random_u')) 2. State = 2 /\ Rcv(Random_r'.H2(H1(exp(Kv,Random_u).Random_r').Random_r'.V).Timestamp'.{V.Kv}_(inv(Kca))) =|> State' := 4 /\ Alpha_0' := new() /\ Alpha_T' := F(Alpha_0,T) /\ Session_key' := H1(exp(Kv,Random_u).Random_r') /\ Signed_message' := exp(G,Random_u).Kv.Random_r'.V.Timestamp' /\ Snd({{H3(Signed_message'.Alpha_T')}_(inv(Ku)).Cert_u.Alpha_T'}_Session_key') /\ secret(Alpha_T',alpha_t,{U,V}) /\ witness(U,V,user_vasp_alpha_t,Alpha_T') /\ witness(U,V,vasp_user_session_key,Session_key') /\ witness(U,V,user_vasp_signed_message,Signed_message'.Alpha_T') /\ request(U,V,user_vasp_session_key,Session_key') /\ secret(Session_key',session_key,{U,V}) end role %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% role vasp(U, V : agent, H1, H2, H3 : function, Kv : message, Ku : public_key, Kca : public_key, % certificate authority public key Kpriv_v : text, Cert_v : {message}_inv(public_key), Snd, Rcv : channel(dy)) played_by V def= local State: nat, Random_u_exp : message, Random_r : text, Timestamp : text, Alpha_T : text, Session_key : message, Signed_message : message, Cert_u : {message}_inv(public_key) const user_vasp_session_key : protocol_id, user_vasp_alpha_t : protocol_id, vasp_user_session_key : protocol_id, user_vasp_signed_message : protocol_id init State := 1 transition 1. State = 1 /\ Rcv(Random_u_exp'.U) =|> State' := 3 /\ Timestamp' := new() /\ Random_r' := new() /\ Session_key' := H1(exp(Random_u_exp',Kpriv_v).Random_r') /\ Signed_message' := Random_u_exp'.Kv.Random_r'.V.Timestamp' /\ Snd(Random_r'.H2(Session_key'.Random_r'.V).Timestamp'.Cert_v) /\ witness(V,U,user_vasp_session_key,Session_key') 3. State = 3 /\ Rcv({{H3(Signed_message.Alpha_T')}_(inv(Ku)).{U.Ku}_(inv(Kca)).Alpha_T'}_Session_key) =|> State' := 5 /\ request(V,U,user_vasp_alpha_t,Alpha_T') /\ request(V,U,vasp_user_session_key,Session_key) /\ request(V,U,user_vasp_signed_message,Signed_message.Alpha_T') end role %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% role session(U, V : agent, H1, H2, H3, F : function, G, T : text, Kpriv_v : text, % some nonce Ku, Kca : public_key, Cert_u, Cert_v : {message}_inv(public_key)) def= local Su, Ru, Sv, Rv : channel(dy) composition user(U, V, H1, H2, H3, F, G, T, exp(G,Kpriv_v), Ku, Kca, Kpriv_v, Cert_u, Su, Ru) /\ vasp(U, V, H1, H2, H3, exp(G,Kpriv_v), Ku, Kca, Kpriv_v, Cert_v, Sv, Rv) end role %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% role environment() def= const u, v, a, i : agent, h1, h2, h3, f, exp : function, g, t, kv, ki : text, ku, ka, kca, kpi : public_key, session_key, alpha_t, user_vasp_session_key, user_vasp_alpha_t, vasp_user_session_key, user_vasp_signed_message : protocol_id intruder_knowledge = {u,v,a,h1,h2,h3,f,g,t,exp(g,kv),kca,ku,ka,ki,kpi,{i.kpi}_(inv(kca))} composition session(u,v,h1,h2,h3,f,g,t,kv,ku,kca,{u.ku}_(inv(kca)),{v.exp(g,kv)}_(inv(kca))) /\ session(a,v,h1,h2,h3,f,g,t,kv,ka,kca,{a.ka}_(inv(kca)),{v.exp(g,kv)}_(inv(kca))) /\ session(u,i,h1,h2,h3,f,g,t,ki,ku,kca,{u.ku}_(inv(kca)),{i.exp(g,ki)}_(inv(kca))) /\ session(a,i,h1,h2,h3,f,g,t,ki,ka,kca,{a.ka}_(inv(kca)),{i.exp(g,ki)}_(inv(kca))) /\ session(i,v,h1,h2,h3,f,g,t,kv,kpi,kca,{i.kpi}_(inv(kca)),{v.exp(g,kv)}_(inv(kca))) end role %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% goal % mutual authentication and agreement on session key. % a minor flaw found in authenticating user_vasp_session_key authentication_on vasp_user_session_key, user_vasp_session_key authentication_on user_vasp_alpha_t authentication_on user_vasp_signed_message secrecy_of session_key secrecy_of alpha_t end goal %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% environment() From David.von.Oheimb at siemens.com Mon May 15 11:40:23 2006 From: David.von.Oheimb at siemens.com (David von Oheimb) Date: Mon May 15 05:42:18 2006 Subject: [Avispa-users] Can Avispa assume compromised session keys? In-Reply-To: <1147618042.446742facc973@www.loria.fr> References: <20060511035904.44237.qmail@web26705.mail.ukl.yahoo.com> <4464D9C7.2040606@itesm.mx> <1147618042.446742facc973@www.loria.fr> Message-ID: <44684C87.2010509@siemens.com> Hi, Laurent Vigneron wrote: > In HLPSL, you can compromise a session key by adding as last step of the > protocol that it is added to the intruder knowledge: > State=... /\ ... =|> State':=... /\ iknows(Kab) > The predicate iknows() can be used in any transition to add some knowledge to > the intruder. Nice that this solution gives the flexibility to let the intruder learn a value from a specific point in the protocol run, even conditionally, and that the value may have been computed on-the-fly. In the very simple case that a value X is determined in advance and shall be compromised right from the beginning of the protocol run, there is an even simpler solution: just include X in the global intruder_knowledge set declared in the environment role. David Juan Carlos L?pez Pimentel wrote: >> Hi users, >> >> I would like to know if in Avispa tool we may initially assume >> compromised session keys. For example, Paulson approach uses an operator >> called "oops" for modelling possible lost of session keys. I know that >> in HLPSL specification, session keys are modelled with new(), this is a >> random form. However, I don't know if it is possible to assume that a >> session key is within the intruder knowledge. +------------------------------------------------------------------<><-+ | Dr. David von Oheimb Senior Research Scientist | | Siemens AG - CT IC 3 Phone: +49 89 636 41173 | | Otto-Hahn-Ring 6 Fax : +49 89 636 48000 | | D-81730 M?nchen, Germany EMail: David.von.Oheimb@siemens.com | | http://scd.siemens.de/db4/lookUp?tcgid=Z000ECRO http://ddvo.net/ | +----------------------------------------------------------------------+ From A00472021 at itesm.mx Mon May 15 20:21:20 2006 From: A00472021 at itesm.mx (=?ISO-8859-1?Q?Juan_Carlos_L=F3pez_Pimentel?=) Date: Mon May 15 14:23:16 2006 Subject: [Avispa-users] Can Avispa assume compromised session keys? In-Reply-To: <44684C87.2010509@siemens.com> References: <20060511035904.44237.qmail@web26705.mail.ukl.yahoo.com> <4464D9C7.2040606@itesm.mx> <1147618042.446742facc973@www.loria.fr> <44684C87.2010509@siemens.com> Message-ID: <4468C6A0.30604@itesm.mx> Thanks a lot for these solutions, I only have a pair of questions, David von Oheimb wrote: >Hi, > >Laurent Vigneron wrote: > > > >>In HLPSL, you can compromise a session key by adding as last step of the >>protocol that it is added to the intruder knowledge: >> State=... /\ ... =|> State':=... /\ iknows(Kab) >>The predicate iknows() can be used in any transition to add some knowledge to >>the intruder. >> >> > > > In this case, the intruder will learn each session key "Kab" generated with new()? >Nice that this solution gives the flexibility to let the intruder learn >a value from a specific point in the protocol run, even conditionally, >and that the value may have been computed on-the-fly. > >In the very simple case that a value X is determined in advance and >shall be compromised right from the beginning of the protocol run, >there is an even simpler solution: just include X in the global >intruder_knowledge set declared in the environment role. > > David > > In this situation: including X in the global intruder_knowledge set, could coincide that a new session key Kab originated and distributed from the trusted server to be equal with X ?, Thanks again for the soluctions... Best wishes, Juan Carlos >Juan Carlos L?pez Pimentel wrote: > > >>>Hi users, >>> >>>I would like to know if in Avispa tool we may initially assume >>>compromised session keys. For example, Paulson approach uses an operator >>>called "oops" for modelling possible lost of session keys. I know that >>>in HLPSL specification, session keys are modelled with new(), this is a >>>random form. However, I don't know if it is possible to assume that a >>>session key is within the intruder knowledge. >>> >>> > >+------------------------------------------------------------------<><-+ >| Dr. David von Oheimb Senior Research Scientist | >| Siemens AG - CT IC 3 Phone: +49 89 636 41173 | >| Otto-Hahn-Ring 6 Fax : +49 89 636 48000 | >| D-81730 M?nchen, Germany EMail: David.von.Oheimb@siemens.com | >| http://scd.siemens.de/db4/lookUp?tcgid=Z000ECRO http://ddvo.net/ | >+----------------------------------------------------------------------+ > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://carroll.ai.dist.unige.it/pipermail/avispa-users/attachments/20060515/d01e0840/attachment.htm From David.von.Oheimb at siemens.com Mon May 15 23:04:58 2006 From: David.von.Oheimb at siemens.com (David von Oheimb) Date: Mon May 15 17:06:57 2006 Subject: [Avispa-users] Can Avispa assume compromised session keys? In-Reply-To: <4468C6A0.30604@itesm.mx> References: <20060511035904.44237.qmail@web26705.mail.ukl.yahoo.com> <4464D9C7.2040606@itesm.mx> <1147618042.446742facc973@www.loria.fr> <44684C87.2010509@siemens.com> <4468C6A0.30604@itesm.mx> Message-ID: <4468ECFA.7050200@siemens.com> Hi Juan Carlos, >>> State=... /\ ... =|> State':=... /\ iknows(Kab) >> > In this case, the intruder will learn each session key "Kab" generated with new()? Yes - I guess you mean in a transition like >>> State = ... /\ ... /\ Kab' := new() =|> State':= ... /\ iknows(Kab') > In this situation: including X in the global intruder_knowledge set, > could coincide that a new session key Kab originated and distributed > from the trusted server to be equal with X ?, No - because the newly generated Kab is fresh, it is different from any other value used anywhere before (in the system run history). Best, David From Laurent.Vigneron at loria.fr Tue May 16 08:19:36 2006 From: Laurent.Vigneron at loria.fr (Laurent Vigneron) Date: Tue May 16 02:21:45 2006 Subject: [Avispa-users] Can Avispa assume compromised session keys? In-Reply-To: <4468ECFA.7050200@siemens.com> References: <20060511035904.44237.qmail@web26705.mail.ukl.yahoo.com> <4464D9C7.2040606@itesm.mx> <1147618042.446742facc973@www.loria.fr> <44684C87.2010509@siemens.com> <4468C6A0.30604@itesm.mx> <4468ECFA.7050200@siemens.com> Message-ID: <1147760376.44696ef8306be@www.loria.fr> > >>> State=... /\ ... =|> State':=... /\ iknows(Kab) > >> > > In this case, the intruder will learn each session key "Kab" generated with > new()? > > Yes - I guess you mean in a transition like > > >>> State = ... /\ ... /\ Kab' := new() > =|> State':= ... /\ iknows(Kab') Well, this is not the kind of example I was thinking about... If you compromise a fresh key in the same step as it is generated, this does not correspond to a property of short secrecy (that is a secret just for the current session). The step where the key is generated is stil something like: State=... /\ ... /\ Rcv(...) =|> State':=... /\ ... /\ Kab':=new() /\ Snd(...Kab'...) And in the very last step of the protocol (if possible in the role that has generated the key), you add the iknows() predicate: State=... /\ ... /\ Rcv(...) =|> State':=... /\ iknows(Kab) Laurent. From moedersheim at inf.ethz.ch Tue May 16 16:24:38 2006 From: moedersheim at inf.ethz.ch (Sebastian Alexander Moedersheim) Date: Tue May 16 10:26:38 2006 Subject: [Avispa-users] OFMC: exponentiation support question In-Reply-To: <1147668663.19023.112.camel@riset-a-s1-112.riset.cs.ui.ac.id> References: <1146489269.8544.48.camel@riset-a-s1-112.riset.cs.ui.ac.id> <17504.55294.864594.763150@gargle.gargle.HOWL> <1147668663.19023.112.camel@riset-a-s1-112.riset.cs.ui.ac.id> Message-ID: <17513.57510.516509.160290@gargle.gargle.HOWL> Ciao Ilham, > Originally, I didn't declare exp function in the environment role (I > presume this is what you mean by the main call). However HLPSL2IF > rejects it by throwing "unknown type of constant exp" warnings which > eventually ends with a Not_found exception. By declaring the exp > function as a constant in the environment role, HLPSL2IF translates the > HLPSL file to IF without any warnings. Yes, the older version of HLPSL2IF seems to have a bug here. Obviously you should not be declaring built-in functions. Our current internal version doesn't accept this (but, as said, has some other difficulty with your HLPSL example). I have checked it against the HLPSL2IF from AVISPA package and using the option "-untyped" with OFMC, the protocol is executable and you get an attack trace. The typing mistakes that were the trouble are the above "exp", and the declaration of "Alpha_T" as a type "text" (should be "message"). Regards, Sebastian From moedersheim at inf.ethz.ch Wed May 17 18:29:05 2006 From: moedersheim at inf.ethz.ch (Sebastian Alexander Moedersheim) Date: Wed May 17 12:30:57 2006 Subject: [Avispa-users] Help please In-Reply-To: <20060512222824.94548.qmail@web26702.mail.ukl.yahoo.com> References: <20060512222824.94548.qmail@web26702.mail.ukl.yahoo.com> Message-ID: <17515.20305.655010.315719@gargle.gargle.HOWL> Hi, > STATISTICS > parseTime: 0.00s > searchTime: 40.62s > visitedNodes: 0 nodes > depth: 15 plies > NB : excution took about 20mn > with 0 visited nodes : does it matter? > is it due to an error in the protocol specification? That output is due to a small bug: when OFMC changes the search strategy during a large search, the nodes are not longer counted. Sorry about that. Ciao, Sebastian From smimran at rocketmail.com Thu May 18 11:42:04 2006 From: smimran at rocketmail.com (Syed Muhammad Imran) Date: Thu May 18 05:43:55 2006 Subject: [Avispa-users] A quick Question In-Reply-To: <17515.20305.655010.315719@gargle.gargle.HOWL> Message-ID: <20060518094204.88961.qmail@web30704.mail.mud.yahoo.com> Dear guys, I am new in HLPSL. I have a quick question I have following assumption. Tnew=Told =|> % Comparison of Tnew and Told variable Tnew'=Told =|> % Comaprison of new value of Tnew with Told Tnew':=Told=|> % Assignment of value of Told to Tnew Please, correct me or confirm me in my concept waiting for prompt reply Regards, __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From David.von.Oheimb at siemens.com Thu May 18 11:50:41 2006 From: David.von.Oheimb at siemens.com (David von Oheimb) Date: Thu May 18 05:52:31 2006 Subject: [Avispa-users] A quick Question In-Reply-To: <20060518094204.88961.qmail@web30704.mail.mud.yahoo.com> References: <20060518094204.88961.qmail@web30704.mail.mud.yahoo.com> Message-ID: <446C4371.6070907@siemens.com> Hi Syed, > I am new in HLPSL. I have a quick question > Tnew=Told =|> > % Comparison of Tnew and Told variable correct. > > Tnew'=Told =|> > % Comparison of new value of Tnew with Told correct. > Tnew':=Told=|> > % Assignment of value of Told to Tnew This looks like an assignment, but cannot be specified on the LHS of =|> . Just move it to the RHS. Regards, David From jon.pettersen at hig.no Fri May 19 17:38:46 2006 From: jon.pettersen at hig.no (Jon Fredrik Pettersen) Date: Fri May 19 11:40:40 2006 Subject: [Avispa-users] iknows Message-ID: <446DE686.1030404@hig.no> Hi I have a question regarding the intruder knowledge function(iknows). My protocol has a symmetic key K_ENC known by A and B. I want to verify that my protocol is working, as spesified. So I tried to introduce iknows(K_ENC) into the protocol. But avispa does not find an attack trace, although the encryption key is known to the intruder. How is that possible? The goal of secrecy of K_icc and K_ifd sould also be broken, right? The protocol: role alice (A, B: agent, K_MAC: symmetric_key, K_ENC: symmetric_key, Hash : hash, SND, RCV: channel (dy)) played_by A def= local State : nat, Rnd_icc, Rnd_ifd : text (fresh), K_icc, M_icc, K_ifd, M_ifd : text init State := 0 transition 0. State = 0 /\ RCV(start) =|> State' := 1 /\ Rnd_icc' := new() /\ SND(Rnd_icc') /\ witness(A,B,alice_bob_rnd_icc,Rnd_icc') 2. State = 2 /\ RCV ({Rnd_ifd.Rnd_icc.K_ifd}_K_ENC.M_ifd) =|> State' := 3 /\ K_icc' := new() /\ secret (K_icc',k_icc,{A,B}) /\ M_icc' := Hash (Rnd_icc.Rnd_ifd.K_icc') /\ M_icc' := {M_icc'}_K_MAC /\ SND({Rnd_icc.Rnd_ifd.K_icc}_K_ENC.M_icc') /\ witness(A,B,alice_bob_k_icc,K_icc') /\ request(A,B,alice_bob_k_ifd,K_ifd) end role role bob (A, B: agent, K_MAC: symmetric_key, K_ENC: symmetric_key, Hash : hash, SND, RCV: channel (dy)) played_by B def= local State : nat, Rnd_ifd, Rnd_icc : text (fresh), K_ifd, M_ifd, K_icc, M_icc : text init State := 1 transition % IFD sends get challenge command. 1. State = 1 /\ RCV(Rnd_icc) =|> State' := 2 /\ Rnd_ifd' := new() /\ K_ifd' := new() /\ secret (K_ifd',k_ifd,{A,B}) /\ M_ifd' := Hash (Rnd_ifd.Rnd_icc.K_ifd) /\ M_ifd' := {M_ifd'}_K_MAC /\ SND ({Rnd_ifd.Rnd_icc.K_ifd}_K_ENC.M_ifd) /\ witness(B,A,alice_bob_k_ifd,K_ifd') /\ request (B,A,alice_bob_rnd_icc,Rnd_icc) 3. State = 3 /\ RCV({Rnd_icc.Rnd_ifd.K_icc}_K_ENC.M_icc) =|> State' := 4 /\ request(B,A,alice_bob_k_icc,K_icc) end role role session( A,B : agent, K_ENC, K_MAC : symmetric_key, Hash : function) def= local SA, RA, SB, RB : channel(dy) composition alice(A, B, K_ENC, K_MAC, Hash, SA, RA) /\bob(B, A, K_ENC, K_MAC, Hash, SB, RB) end role role environment() def= const a, b : agent, k_enc, k_mac : symmetric_key, alice_bob_k_icc, alice_bob_k_ifd, alice_bob_rnd_icc : protocol_id, h : hash intruder_knowledge = {a, b, h} composition session(a, b, k_enc, k_mac, h) /\session(a, i, k_enc, k_mac, h) /\session(i, b, k_enc, k_mac, h) end role goal secrecy_of k_icc, k_ifd authentication_on alice_bob_k_icc authentication_on alice_bob_k_ifd authentication_on alice_bob_rnd_icc end goal environment() From Laurent.Vigneron at loria.fr Fri May 19 17:52:37 2006 From: Laurent.Vigneron at loria.fr (Laurent Vigneron) Date: Fri May 19 11:54:28 2006 Subject: [Avispa-users] iknows In-Reply-To: <446DE686.1030404@hig.no> References: <446DE686.1030404@hig.no> Message-ID: <17517.59845.700520.604381@valhey.loria.fr> Hi Jon Fredrik, What backend did you use for this? I do not know how they all work with such iknows() predicates, but in general cl-atse works fine and should find the attack. Laurent. > I have a question regarding the intruder knowledge function(iknows). > > My protocol has a symmetic key K_ENC known by A and B. > I want to verify that my protocol is working, as spesified. > So I tried to introduce iknows(K_ENC) into the protocol. > > But avispa does not find an attack trace, although the encryption key > is known to the intruder. > > How is that possible? > > The goal of secrecy of K_icc and K_ifd sould also be broken, right? From jon.pettersen at hig.no Sun May 21 13:59:18 2006 From: jon.pettersen at hig.no (Jon Fredrik Pettersen) Date: Sun May 21 08:01:05 2006 Subject: [Avispa-users] iknows In-Reply-To: <17517.59845.700520.604381@valhey.loria.fr> References: <446DE686.1030404@hig.no> <17517.59845.700520.604381@valhey.loria.fr> Message-ID: <44705616.5060309@hig.no> Hi I have tried running the cl-atse back-end with ''iknows(K_ENC)'' both in the Alice and Bob roles. But cl-atse does not find an attack trace. Jon Fredrik Laurent Vigneron wrote: > Hi Jon Fredrik, > > What backend did you use for this? > I do not know how they all work with such iknows() predicates, but in > general cl-atse works fine and should find the attack. > > Laurent. > > > I have a question regarding the intruder knowledge function(iknows). > > > > My protocol has a symmetic key K_ENC known by A and B. > > I want to verify that my protocol is working, as spesified. > > So I tried to introduce iknows(K_ENC) into the protocol. > > > > But avispa does not find an attack trace, although the encryption key > > is known to the intruder. > > > > How is that possible? > > > > The goal of secrecy of K_icc and K_ifd sould also be broken, right? > > From moedersheim at inf.ethz.ch Mon May 22 13:12:20 2006 From: moedersheim at inf.ethz.ch (Sebastian Alexander Moedersheim) Date: Mon May 22 07:14:04 2006 Subject: [Avispa-users] iknows In-Reply-To: <446DE686.1030404@hig.no> References: <446DE686.1030404@hig.no> Message-ID: <17521.40084.547963.689909@gargle.gargle.HOWL> Hi, > I have a question regarding the intruder knowledge function(iknows). > > My protocol has a symmetic key K_ENC known by A and B. > I want to verify that my protocol is working, as spesified. > So I tried to introduce iknows(K_ENC) into the protocol. > > But avispa does not find an attack trace, although the encryption key > is known to the intruder. > > How is that possible? > > The goal of secrecy of K_icc and K_ifd sould also be broken, right? Yes, sure. But there are some mistakes in your protocol specification that prevent the protocol from being executable: - in the first transition of role bob, the value Rnd_icc should be learned from the incoming message. Thus, you should replace in this transition all occurrences of Rnd_icc with Rnd_icc' -> after this change an attack is found by the avispa tool - you should do this for other variables too, e.g. K_ifd and Rnd_ifd, otherwise you get an attack with lots of "dummy_nonce" because you are using uninitialized variables. - in role session you probably mean "bob(A,B,...)" rather than "bob(B,A,...)" - also note that you declare that all agents are using the same shared key, i.e. session(a,b,k_enc,k_mac...) session(a,i,k_enc,k_mac) etc. That's probably not what you want. - Also I have seen that you have declared a variable M_icc:text, but then assign a composed value to it. You should rather use a composed type or simply M_icc:message. (Note that the typed models in protocol analysis in general are quite different from type systems in functional programming languages.) That's all the mistakes I have spotted by looking at it, hope this is helpful. In general, my suggestion is to use the executability checks and even the step-by-step simulation of the protocol to convince yourself that your specification is what you want. Ciao, Sebastian From kchad1979 at yahoo.com Wed May 24 13:16:51 2006 From: kchad1979 at yahoo.com (Kostas Ch.) Date: Wed May 24 07:18:35 2006 Subject: [Avispa-users] Question on Needham-Schroeder protocol(Denning Sacco attack) Message-ID: <20060524111651.92122.qmail@web33408.mail.mud.yahoo.com> Hi all, As part of a research on the AVISPA tool I am trying to evaluate the Needham-Schroeder protocol with symmetric keys with the server so that I will be able to conclude if the tool finds the known Denning-Sacco attack on this protocol. My protocol specification is as such: A -> S : A,B,na S -> A : {na,B,Kab,{Kab,A}_Kbs}_Kas A -> B : {Kab,A}_Kbs B -> A : {nb}_Kab A -> B : {nb-1}_Kab where Kas and Kbs are the keys shared between A and S and B and S respectively, Kab is the generated key from the server and na,nb are nonces. I would like to ask you if there is a specific way to model the protocol so that this attack is found (using a compromised key Kab from a previous session). Here is my HLSPL file: role alice(A,B,S : agent, Kas : symmetric_key, Pred : function, Snd_SA,Rcv_SA,Snd_BA,Rcv_BA : channel(dy)) played_by A def= local State : nat, Na,Nb : text, Msg : {symmetric_key.text}_symmetric_key, Kab : symmetric_key init State := 0 transition 0. State = 0 /\ Rcv_BA(start) =|> State' := 2 /\ Na' := new() /\ Snd_SA(A.B.Na') 1. State = 2 /\ Rcv_SA({Na.B.Kab'.Msg'}_Kas) =|> State' := 4 /\ Snd_BA(Msg') /\ secret(Kab',k,{A,B,S}) 2. State = 4 /\ Rcv_BA({Nb'}_Kab) =|> State' := 6 /\ Snd_BA({Pred(Nb')}_Kab) /\ request(A,B,bob_alice_nb,Nb') end role role bob(A,B,S : agent, Kbs : symmetric_key, Pred : function, Snd_AB,Rcv_AB : channel(dy)) played_by B def= local State : nat, Na,Nb : text, Kab : symmetric_key init State := 5 transition 0. State = 5 /\ Rcv_AB({Kab'.A}_Kbs) =|> State' := 7 /\ Nb' := new() /\ Snd_AB({Nb'}_Kab') /\ witness(B,A,bob_alice_nb,Nb') end role role server(A,B,S : agent, Kas,Kbs : symmetric_key, Snd_AS,Rcv_AS : channel(dy)) played_by S def= local State : nat, Kab : symmetric_key, Na : text const k : protocol_id init State := 1 transition 1. State = 1 /\ Rcv_AS(A.B.Na') =|> State' := 3 /\ Kab' := new() /\ Snd_AS({Na'.B.Kab'.{Kab'.A}_Kbs}_Kas) /\ secret(Kab',k,{A,B,S}) end role role session(A,B,S : agent, Kas,Kbs : symmetric_key, Pred : function) def= local SSA,RSA,SBA,RBA,SAS,RAS,SAB,RAB : channel(dy) composition alice(A,B,S,Kas,Pred,SSA,RSA,SBA,RBA) /\ bob(A,B,S,Kbs,Pred,SAB,RAB) /\ server(A,B,S,Kas,Kbs,SAS,RAS) end role role environment() def= const a,b,s : agent, kas,kbs,kis : symmetric_key, pred : function, bob_alice_nb : protocol_id, %% Authentication on nonce Nb k : protocol_id %% Keep the key Kab secret intruder_knowledge = {a,b,s,pred,kis} composition session(a,b,s,kas,kbs,pred) /\ session(a,b,s,kas,kbs,pred) /\ session(i,b,s,kis,kbs,pred) /\ session(a,i,s,kas,kis,pred) end role goal authentication_on bob_alice_nb secrecy_of k end goal environment() I tried to run it both with OFMC and CL-Atse but no attack is found. Is there a problem with my specification? Any help would be very much appreciated. Best regards to all, Konstantinos Chadolias __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From kchad1979 at yahoo.com Wed May 24 13:53:50 2006 From: kchad1979 at yahoo.com (Kostas Ch.) Date: Wed May 24 07:55:33 2006 Subject: Fwd: Re: [Avispa-users] Question on Needham-Schroeder protocol(Denning Sacco attack) Message-ID: <20060524115350.78394.qmail@web33403.mail.mud.yahoo.com> Skipped content of type multipart/alternative-------------- next part -------------- An embedded message was scrubbed... From: "Kostas Ch." Subject: Re: [Avispa-users] Question on Needham-Schroeder protocol(Denning Sacco attack) Date: Wed, 24 May 2006 04:52:27 -0700 (PDT) Size: 15092 Url: http://carroll.ai.dist.unige.it/pipermail/avispa-users/attachments/20060524/4814ed60/attachment.eml From kchad1979 at yahoo.com Wed May 24 14:27:47 2006 From: kchad1979 at yahoo.com (Kostas Ch.) Date: Wed May 24 08:29:31 2006 Subject: Fwd: Re: [Avispa-users] Question on Needham-Schroeder protocol(Denning Sacco attack) In-Reply-To: <44744BC1.7080101@IRISA> Message-ID: <20060524122747.26611.qmail@web33401.mail.mud.yahoo.com> Dear Yann, an attack is indeed found but it is not correct. When bob uses the predicate witness the role B should be the first argument of the predicate witness with A being the second such as B declares he is the peer to A generating the nonce Nb for the authentication of the bob_alice_nb. A possible mistake - if any - should be somewhere else. Still I guess that Avispa should be able to find the Denning Sacco attack. Regards, Kostas Yann Glouche wrote: ok, Try this specification, I change the witness function in the bob role. And OFMC and ATSE find an attack. But I don't know if is the attack you want to find ? Yann role alice(A,B,S : agent, Kas : symmetric_key, Pred : function, Snd_SA,Rcv_SA,Snd_BA,Rcv_BA : channel(dy)) played_by A def= local State : nat, Na,Nb : text, Msg : {symmetric_key.agent}_symmetric_key, Kab : symmetric_key init State := 0 transition 0. State = 0 /\ Rcv_BA(start) =|> State' := 2 /\ Na' := new() /\ Snd_SA(A.B.Na') 1. State = 2 /\ Rcv_SA({Na.B.Kab'.Msg'}_Kas) =|> State' := 4 /\ Snd_BA(Msg') /\ secret(Kab',k,{A,B,S}) 2. State = 4 /\ Rcv_BA({Nb'}_Kab) =|> State' := 6 /\ Snd_BA({Pred(Nb')}_Kab) /\ request(A,B,bob_alice_nb,Nb') end role role bob(A,B,S : agent, Kbs : symmetric_key, Pred : function, Snd_AB,Rcv_AB : channel(dy)) played_by B def= local State : nat, Na,Nb : text, Kab : symmetric_key init State := 5 transition 0. State = 5 /\ Rcv_AB({Kab'.A}_Kbs) =|> State' := 7 /\ Nb' := new() /\ Snd_AB({Nb'}_Kab') /\ witness(A,B,bob_alice_nb,Nb') end role role server(A,B,S : agent, Kas,Kbs : symmetric_key, Snd_AS,Rcv_AS : channel(dy)) played_by S def= local State : nat, Kab : symmetric_key, Na : text const k : protocol_id init State := 1 transition 1. State = 1 /\ Rcv_AS(A.B.Na') =|> State' := 3 /\ Kab' := new() /\ Snd_AS({Na'.B.Kab'.{Kab'.A}_Kbs}_Kas) /\ secret(Kab',k,{A,B,S}) end role role session(A,B,S : agent, Kas,Kbs : symmetric_key, Pred : function) def= local SSA,RSA,SBA,RBA,SAS,RAS,SAB,RAB : channel(dy) composition alice(A,B,S,Kas,Pred,SSA,RSA,SBA,RBA) /\ bob(A,B,S,Kbs,Pred,SAB,RAB) /\ server(A,B,S,Kas,Kbs,SAS,RAS) end role role environment() def= const a,b,s : agent, kas,kbs,kis : symmetric_key, pred : function, bob_alice_nb : protocol_id, %% Authentication on nonce Nb k : protocol_id %% Keep the key Kab secret intruder_knowledge = {a,b,s,pred,kis} composition session(a,b,s,kas,kbs,pred) /\ session(a,b,s,kas,kbs,pred) /\ session(i,b,s,kis,kbs,pred) /\ session(a,i,s,kas,kis,pred) end role goal authentication_on bob_alice_nb secrecy_of k end goal environment() Kostas Ch. wrote: > > > Note: forwarded message attached. > > ------------------------------------------------------------------------ > Yahoo! Messenger with Voice. > > PC-to-Phone calls for ridiculously low rates. > ------------------------------------------------------------------------ > > Subject: > Re: [Avispa-users] Question on Needham-Schroeder protocol(Denning > Sacco attack) > From: > "Kostas Ch." > Date: > Wed, 24 May 2006 04:52:27 -0700 (PDT) > To: > Yann Glouche > > To: > Yann Glouche > > > Dear Yann, > I have changed the Msg variable to that of type message but still the > attack is not found. My specification is similar to the example 2 in > the Tutorial which should work. My main problem is if my way of > modelling the authentication goals is correct or if I have made > somewhere else a mistake. > Any more suggestions would be very helpful. Thank you for you time. > Kostas > > */Yann Glouche /* wrote: > > > Dear Kostas, > > You have a problem in your specification. In the alice role, the > type of > local variable "Msg" is Message. > I developp a tool for testinng HLPSL sp?cification. This tool produce > interactively with the user a MSC (Message Sequence Short) which > can be > seen like an "alice&bob" trace from an HLPSL specification. And your > previous specification is not correct. > > Yann > > The correction : > > role alice(A,B,S : agent, > Kas : symmetric_key, > Pred : function, > Snd_SA,Rcv_SA,Snd_BA,Rcv_BA : channel(dy)) > played_by A def= > > local > State : nat, > Na,Nb : text, > Msg : message, > Kab : symmetric_key > > init State := 0 > > transition > 0. State = 0 /\ Rcv_BA(start) =|> > State' := 2 /\ Na' := new() > /\ Snd_SA(A.B.Na') > > 1. State = 2 /\ Rcv_SA({Na.B.Kab'.Msg'}_Kas) =|> > State' := 4 /\ Snd_BA(Msg') > /\ secret(Kab',k,{A,B,S}) > > 2. State = 4 /\ Rcv_BA({Nb'}_Kab) =|> > State' := 6 /\ Snd_BA({Pred(Nb')}_Kab) > /\ request(A,B,bob_alice_nb,Nb') > > end role > > role bob(A,B,S : agent, > Kbs : symmetric_key, > Pred : function, > Snd_AB,Rcv_AB : channel(dy)) > played_by B def= > > local > State : nat, > Na,Nb : text, > Kab : symmetric_key > > init State := 5 > > transition > 0. State = 5 /\ Rcv_AB({Kab'.A}_Kbs) =|> > State' := 7 /\ Nb' := new() > /\ Snd_AB({Nb'}_Kab') > /\ witness(B,A,bob_alice_nb,Nb') > > end role > > role server(A,B,S : agent, > Kas,Kbs : symmetric_key, > Snd_AS,Rcv_AS : channel(dy)) > played_by S def= > > local > State : nat, > Kab : symmetric_key, > Na : text > > const > k : protocol_id > > init State := 1 > > transition > 1. State = 1 /\ Rcv_AS(A.B.Na') =|> > State' := 3 /\ Kab' := new() > /\ > Snd_AS({Na'.B.Kab'.{Kab'.A}_Kbs}_Kas) > /\ secret(Kab',k,{A,B,S}) > > end role > > role session(A,B,S : agent, > Kas,Kbs : symmetric_key, > Pred : function) > def= > > local > SSA,RSA,SBA,RBA,SAS,RAS,SAB,RAB : channel(dy) > > composition > alice(A,B,S,Kas,Pred,SSA,RSA,SBA,RBA) > /\ bob(A,B,S,Kbs,Pred,SAB,RAB) > /\ server(A,B,S,Kas,Kbs,SAS,RAS) > > end role > > role environment() > def= > > const > a,b,s : agent, > kas,kbs,kis : symmetric_key, > pred : function, > bob_alice_nb : protocol_id, %% Authentication on nonce Nb > k : protocol_id %% Keep the key Kab secret > intruder_knowledge = {a,b,s,pred,kis} > > composition > session(a,b,s,kas,kbs,pred) > /\ session(a,b,s,kas,kbs,pred) > /\ session(i,b,s,kis,kbs,pred) > /\ session(a,i,s,kas,kis,pred) > > end role > > goal > authentication_on bob_alice_nb > secrecy_of k > end goal > > environment() > > > Kostas Ch. wrote: > > >Hi all, > > > >As part of a research on the AVISPA tool I am trying > >to evaluate the Needham-Schroeder protocol with > >symmetric keys with the server so that I will be able > >to conclude if the tool finds the known Denning-Sacco > >attack on this protocol. My protocol specification is > >as such: > > > >A -> S : A,B,na > >S -> A : {na,B,Kab,{Kab,A}_Kbs}_Kas > >A -> B : {Kab,A}_Kbs > >B -> A : {nb}_Kab > >A -> B : {nb-1}_Kab > > > >where Kas and Kbs are the keys shared between A and S > >and B and S respectively, Kab is the generated key > >from the server and na,nb are nonces. I would like to > >ask you if there is a specific way to model the > >protocol so that this attack is found (using a > >compromised key Kab from a previous session). > > > >Here is my HLSPL file: > > > >role alice(A,B,S : agent, > > Kas : symmetric_key, > > Pred : function, > > Snd_SA,Rcv_SA,Snd_BA,Rcv_BA : channel(dy)) > >played_by A def= > > > > local > > State : nat, > > Na,Nb : text, > > Msg : {symmetric_key.text}_symmetric_key, > > Kab : symmetric_key > > > > init State := 0 > > > > transition > > 0. State = 0 /\ Rcv_BA(start) =|> > > State' := 2 /\ Na' := new() > > /\ Snd_SA(A.B.Na') > > > > 1. State = 2 /\ Rcv_SA({Na.B.Kab'.Msg'}_Kas) =|> > > State' := 4 /\ Snd_BA(Msg') > > /\ secret(Kab',k,{A,B,S}) > > > > 2. State = 4 /\ Rcv_BA({Nb'}_Kab) =|> > > State' := 6 /\ Snd_BA({Pred(Nb')}_Kab) > > /\ request(A,B,bob_alice_nb,Nb') > > > >end role > > > >role bob(A,B,S : agent, > > Kbs : symmetric_key, > > Pred : function, > > Snd_AB,Rcv_AB : channel(dy)) > >played_by B def= > > > > local > > State : nat, > > Na,Nb : text, > > Kab : symmetric_key > > > > init State := 5 > > > > transition > > 0. State = 5 /\ Rcv_AB({Kab'.A}_Kbs) =|> > > State' := 7 /\ Nb' := new() > > /\ Snd_AB({Nb'}_Kab') > > /\ witness(B,A,bob_alice_nb,Nb') > > > >end role > > > >role server(A,B,S : agent, > > Kas,Kbs : symmetric_key, > > Snd_AS,Rcv_AS : channel(dy)) > >played_by S def= > > > > local > > State : nat, > > Kab : symmetric_key, > > Na : text > > > > const > > k : protocol_id > > > > init State := 1 > > > > transition > > 1. State = 1 /\ Rcv_AS(A.B.Na') =|> > > State' := 3 /\ Kab' := new() > > /\ > >Snd_AS({Na'.B.Kab'.{Kab'.A}_Kbs}_Kas) > > /\ secret(Kab',k,{A,B,S}) > > > >end role > > > >role session(A,B,S : agent, > > Kas,Kbs : symmetric_key, > > Pred : function) > >def= > > > > local > > SSA,RSA,SBA,RBA,SAS,RAS,SAB,RAB : channel(dy) > > > > composition > > alice(A,B,S,Kas,Pred,SSA,RSA,SBA,RBA) > > /\ bob(A,B,S,Kbs,Pred,SAB,RAB) > > /\ server(A,B,S,Kas,Kbs,SAS,RAS) > > > >end role > > > >role environment() > >def= > > > > const > > a,b,s : agent, > > kas,kbs,kis : symmetric_key, > > pred : function, > > bob_alice_nb : protocol_id, %% Authentication on > >nonce Nb > > k : protocol_id %% Keep the key Kab secret > > > > intruder_knowledge = {a,b,s,pred,kis} > > > > composition > > session(a,b,s,kas,kbs,pred) > > /\ session(a,b,s,kas,kbs,pred) > > /\ session(i,b,s,kis,kbs,pred) > > /\ session(a,i,s,kas,kis,pred) > > > >end role > > > >goal > > authentication_on bob_alice_nb > > secrecy_of k > >end goal > > > >environment() > > > >I tried to run it both with OFMC and CL-Atse but no > >attack is found. Is there a problem with my > >specification? Any help would be very much > >appreciated. > > > >Best regards to all, > >Konstantinos Chadolias > > > >__________________________________________________ > >Do You Yahoo!? > >Tired of spam? Yahoo! Mail has the best spam protection around > >http://mail.yahoo.com > >_______________________________________________ > >Avispa-users mailing list > >Avispa-users@avispa-project.org > >http://www.avispa-project.org/mailman/listinfo/avispa-users > > > > > > > ------------------------------------------------------------------------ > How low will we go? Check out Yahoo! Messenger?s low PC-to-Phone call > rates. > > > > > >------------------------------------------------------------------------ > >_______________________________________________ >Avispa-users mailing list >Avispa-users@avispa-project.org >http://www.avispa-project.org/mailman/listinfo/avispa-users > > --------------------------------- Sneak preview the all-new Yahoo.com. It's not radically different. Just radically better. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://carroll.ai.dist.unige.it/pipermail/avispa-users/attachments/20060524/131aebd9/attachment-0001.htm From sonofwindforever at yahoo.com.cn Fri May 26 10:16:32 2006 From: sonofwindforever at yahoo.com.cn (=?gb2312?q?=BC=AA=B7=E6=20=C1=F5?=) Date: Fri May 26 04:18:17 2006 Subject: [Avispa-users] Can AVISPA verify Chaum's Dining Cryptographers protocol? Message-ID: <20060526081632.28977.qmail@web15607.mail.cnb.yahoo.com> Hi all, Some papers said that model checkers based on temporal logic and Dolev-Yao model can not verify Chaum's Dining Cryptographers protocol because some necessary knowledge can not be modelled. Knowledge of intruder and honest agents can be expressed using HLPSL. Can AVISPA verify Chaum's Dining Cryptographers protocol? And why? Best regards, Liu Jifeng --------------------------------- ÇÀ×¢ÑÅ»¢Ãâ·ÑÓÊÏä-3.5GÈÝÁ¿£¬20M¸½¼þ£¡ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://carroll.ai.dist.unige.it/pipermail/avispa-users/attachments/20060526/a8413efb/attachment.htm From luci.variu at gmail.com Mon May 29 14:01:01 2006 From: luci.variu at gmail.com (Lucian Variu) Date: Mon May 29 08:02:36 2006 Subject: [Avispa-users] LTL Message-ID: <7d8ff4850605290501g50ead69fw6579cadcbcb134b4@mail.gmail.com> Hello everyone, I have a question related to LTL formulas. In the user's manual the following is stated in a footnote: "LTL formulas are handled by the translator, but in the current version of the AVISPA tool, no backend does use them." Does this mean that I can use my own LTL formulas or not, I'm kind of confused about this ? Thanks you for your trouble, Lucian Variu -------------- next part -------------- An HTML attachment was scrubbed... URL: http://carroll.ai.dist.unige.it/pipermail/avispa-users/attachments/20060529/df0ed348/attachment.htm From marietam at o2.pl Mon May 29 20:48:46 2006 From: marietam at o2.pl (=?iso-8859-2?Q?Marieta?=) Date: Mon May 29 14:50:20 2006 Subject: [Avispa-users] Please help me Message-ID: <20060529184846.62D8038015@rekin11.go2.pl> Hi all!!! I am a new user of Avispa. I am on the last year at the polish Technical University. I have to make some project, that why I need to use Avispa. I have started to use Avispa but I have some problem with some operation. I want to change a little bit the Iso3 protocol, I want to add encipher operation, but when I want to do it the OMFC is saying OFMC can't see how the protocol can be executed. See manual for more information. I am going to add my project. Please let me know what is wrong, it is realy importan for me. Have a nice day Marieta %%ALICE_BOB: %% 1.A->B :{{B,K1,Na}inv(PKa),A}Kb %% 2 B->A :{{A,K2,Nb}inv(PKb),B,Na}}Ka %% HLPSL: role iso3_Init( A, B : agent, Pkas,Pkae, Pkbs, Pkbe : public_key, Snd, Rcv : channel(dy)) played_by A def= local State : nat, Na, Nb : text, K1,K2 :symmetric_key init State := 0 transition 1. State = 0 /\ Rcv(start) =|> State' := 1 /\ Na' := new() /\ K1':=new() /\ Snd({{B.K1'.Na'}_inv(Pkas).A}_Pkbe) /\witness(A,B,na,Na') /\witness(A,B,k1,K1') /\secret(K1',k1,{A,B}) 2. State = 1 /\ Rcv({{A.K2'.Nb'}_inv(Pkbs).B.Na}_Pkae) =|> State' := 2 /\ request(A,B,nb,Nb') /\ request(A,B,k2,K2') /\ secret(K2',sec_k1,{A,B}) end role %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% role iso3_Resp (B, A : agent, Pkbs,Pkbe, Pkas, Pkae : public_key, Snd, Rcv : channel(dy)) played_by B def= local State : nat, Nb, Na : text, K1,K2 :symmetric_key const sec_k2 : protocol_id init State := 0 %%knowledge(B)={A,B,Pkb,Pka} transition 1. State = 0 /\ Rcv({{B.K1'.Na'}_inv(Pkas).A}_Pkbe) =|> State' := 1 /\ Nb' := new() /\ K2' :=new() /\ Snd({{A.K2'.Nb'}_inv(Pkbs).B.Na}_Pkae) /\ request(B,A,na,Na') /\ witness(B,A,nb,Nb') /\ witness(B,A,k2,K2') /\ secret(K1',k1,{A,B}) /\ secret(K2',k2,{A,B}) end role %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% role session (A, B : agent, Pkas, Pkae, Pkbs, Pkbe : public_key ) def= local SA, RA, SB, RB: channel (dy) composition iso3_Init(A,B,Pkas,Pkae,Pkbs,Pkbe,SA,RA) /\ iso3_Resp(B,A,Pkbs,Pkbe,Pkas,Pkae,SB,RB) end role %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% role environment() def= const a, b : agent, na, nb : protocol_id, pkas, pkae, pkbs, pkbe, pkis,pkie : public_key intruder_knowledge={a,b,pkbe,pkae,pki,inv(pkis)} %%% LC: sufficient for finding the attacks composition session(a,b,pkas,pkae,pkbs,pkbe) /\ session(a,i,pkas,pkae,pkis,pkie) /\ session(i,b,pkis,pkie,pkbs,pkbe) end role %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% goal secrecy_of k1, k2 authentication_on na % addressess G1 and G2 authentication_on nb end goal environment() From iwk20 at ui.edu Mon May 29 21:31:50 2006 From: iwk20 at ui.edu (iwk20@ui.edu) Date: Mon May 29 15:36:10 2006 Subject: [Avispa-users] Please help me In-Reply-To: <20060529184846.62D8038015@rekin11.go2.pl> References: <20060529184846.62D8038015@rekin11.go2.pl> Message-ID: <20060530023150.6st8yz4si00gskok@webmail.ui.edu> Hi Marieta, I've looked into your specification. In the role iso3_Resp, try changing Snd({{A.K2'.Nb'}_inv(Pkbs).B.Na}_Pkae) to Snd({{A.K2'.Nb'}_inv(Pkbs).B.Na'}_Pkae) Beside that, in the environment role, add protocol_id k1 and k2, and in each role, add local variables na,nb,k1,k2 as protocol_id. I hope this helps. Regards, Ilham > 1. State = 0 > /\ Rcv({{B.K1'.Na'}_inv(Pkas).A}_Pkbe) > =|> > State' := 1 > /\ Nb' := new() > /\ K2' :=new() > /\ Snd({{A.K2'.Nb'}_inv(Pkbs).B.Na}_Pkae) > /\ request(B,A,na,Na') > /\ witness(B,A,nb,Nb') > /\ witness(B,A,k2,K2') > /\ secret(K1',k1,{A,B}) > /\ secret(K2',k2,{A,B}) From iwk20 at ui.edu Tue May 30 02:55:14 2006 From: iwk20 at ui.edu (Ilham Kurnia) Date: Mon May 29 20:57:01 2006 Subject: [Avispa-users] Please help me In-Reply-To: <20060529201718.2FD1137FCD@rekin11.go2.pl> References: <20060529184846.62D8038015@rekin11.go2.pl> <20060530023150.6st8yz4si00gskok@webmail.ui.edu> <20060529201718.2FD1137FCD@rekin11.go2.pl> Message-ID: <1148950514.17097.3.camel@riset-a-s1-112.riset.cs.ui.ac.id> You may want to consider rereading the tutorial. AFAIK, if you don't use Na' in your iso3_Resp role, then it will use the old Na stored in the role at the state where it is used. In your case, that old value is undefined (or unitialized). Cheers, Ilham On Mon, 2006-05-29 at 22:17 +0200, Marieta wrote: > Hi Ilham > In my country people used to say " the result depend on how many test did you make and how many failure did you make:) I have changed Na to Na' in the Init role and now the Omfc works propertly, but I am not sure if thhis "change" didn't change my protocol idea. I mean that coused (maybe) new value of Na, but I want to keep the first one from the first step of my protocol. > > Thanks again > Marieta From franziskab64 at gmx.net Tue May 30 10:27:36 2006 From: franziskab64 at gmx.net (=?iso-8859-1?Q?Franziska_B=FCndgens?=) Date: Tue May 30 04:29:11 2006 Subject: [Avispa-users] Very basic question In-Reply-To: <20060529184846.62D8038015@rekin11.go2.pl> References: <20060529184846.62D8038015@rekin11.go2.pl> Message-ID: <20060530082736.16470@gmx.net> Hi all! I have a very basic question regarding hlpsl. In the avispa user guide there is a hlpsl specification of the needham schroeder protocol. On page 33 in the role nspk there is a line i cannot make sense of. /\_{in(A.B.Ka.Kb, Instances)} This is part of the composition part. What does thios mean? I found another specification of the same protocol which is identical, execpt that the above line is missing. Also, the parameter instances is missing altogether in this other specification. What is this parameter for? Sorry for this kind of dumb question but i just cannot make sense out of that. Thanks for your help! Kind regards Franziska -- Bis zu 70% Ihrer Onlinekosten sparen: GMX SmartSurfer! Kostenlos downloaden: http://www.gmx.net/de/go/smartsurfer From paul.drielsma at inf.ethz.ch Tue May 30 10:36:27 2006 From: paul.drielsma at inf.ethz.ch (Paul Hankes Drielsma) Date: Tue May 30 04:38:03 2006 Subject: [Avispa-users] Very basic question In-Reply-To: <20060530082736.16470@gmx.net> References: <20060529184846.62D8038015@rekin11.go2.pl> <20060530082736.16470@gmx.net> Message-ID: <04168B82-BC2B-4285-AF71-99256D9E18B6@inf.ethz.ch> Hello Franziska, > /\_{in(A.B.Ka.Kb, Instances)} This is one way of specifying the sessions to be analyzed. This should be read as the parallel composition over all A.B.Ka.Kb in the set Instances, where Instances is a set of type (agent.agent.public_key.public_key) set. What follows is probably something along the lines of Alice(A,Ka,...) /\ Bob(B,Kb,...) So this says, for each pair of agents and public keys in the set Instances, instantiate one Alice role and one Bob role. This is not really deprecated, but it is rarely used these days. In general, we tend to write specifications with one role called "session" which starts a single initiator, a single responder, and perhaps other roles if they are required for a full session of the protocol. Then, rather than defining our analysis scenario by a set Instances, we simply instantiate one "session" role within the environment for each session we want to analyze. I hope this helps. Paul. On May 30, 2006, at 10:27 AM, Franziska B?ndgens wrote: > Hi all! > I have a very basic question regarding hlpsl. In the avispa user > guide there is a hlpsl specification of the needham schroeder > protocol. On page 33 in the role nspk there is a line i cannot make > sense of. > /\_{in(A.B.Ka.Kb, Instances)} > This is part of the composition part. > What does thios mean? I found another specification of the same > protocol which is identical, execpt that the above line is missing. > Also, the parameter instances is missing altogether in this other > specification. What is this parameter for? Sorry for this kind of > dumb question but i just cannot make sense out of that. Thanks for > your help! > Kind regards Franziska > -- > > > Bis zu 70% Ihrer Onlinekosten sparen: GMX SmartSurfer! > Kostenlos downloaden: http://www.gmx.net/de/go/smartsurfer > > _______________________________________________ > Avispa-users mailing list > Avispa-users@avispa-project.org > http://www.avispa-project.org/mailman/listinfo/avispa-users From franziskab64 at gmx.net Tue May 30 13:27:32 2006 From: franziskab64 at gmx.net (=?iso-8859-1?Q?Franziska_B=FCndgens?=) Date: Tue May 30 07:29:04 2006 Subject: [Avispa-users] Error message Message-ID: <20060530112732.186270@gmx.net> Hi! Sorry for the spam, but now I am facing a different problem: When trying to run my protocol with the options the computation stops after ca. 30 secs of running and produces the following error message: avispa schroeder.hlpsl --cl -atse -ns -lr //opt/avispa/bin/backends/cl.bash: line 125: 1601 killed /cl/cl-atse $_unknown If I try to run it without any options I get the following error straight away: Fail: There are not enough numbers in the state fact [PCompT "agent" [PVar "50"],PCompT "public_key" [PVar "51"],PVar "52",PCompT "agent" [PVar "57"],PCompT "agent" [PVar "58"],PCompT "public_key" [PVar "59"],PCompT "nat" [PVar "56"]] What is that supposed to mean?? I am running AVISPA under colinux with a debian distribution. I have a 1024 SWAP file and 512 MB of RAM. Am I running out of memory with the first option? But why in this case does the ofmc produce an error straight away? I attached my hlpsl file. Hope anyone can help me. Thanks a lot. Franziska -- Bis zu 70% Ihrer Onlinekosten sparen: GMX SmartSurfer! Kostenlos downloaden: http://www.gmx.net/de/go/smartsurfer -------------- next part -------------- role alice( A,B :agent, Ka, Ks :public_key, KeyRing: (agent.public_key) set, SND, RCV: channel(dy)) played_by A def= local State: nat, Na, Nb :text, Kb: public_key const na, alice_bob_nb, bob_alice_na: protocol_id init State:= 0 transition 11. State=0 /\ RCV(start) /\ in(B.Kb', KeyRing) =|> Na':=new() /\ SND({Na'.A}_Kb') /\witness(A,B,bob_alice_na,Na')/\ secret(Na',na,{A,B}) /\ State':=2 12. State=0 /\ RCV(start)/\ not(in(B.Kb', KeyRing)) =|> SND(A.B) /\ State':=1 2. State=1 /\ RCV({B.Kb'}_inv(Ks)) =|> KeyRing':= cons(B.Kb', KeyRing) /\ Na':= new() /\ SND({Na'.A}_Kb') /\ witness(A,B,bob_alice_na, Na') /\ secret(Na',na,{A,B}) /\ State':=2 3. State=2 /\ RCV({Na.Nb'}_Ka) =|> SND({Nb'}_Kb) /\ request(A,B,alice_bob_nb,Nb')/\ State':=3 end role role bob(A,B:agent, Kb, Ks: public_key, KeyRing: (agent.public_key) set, SND,RCV: channel(dy)) played_by B def= local State: nat, Na, Nb :text, Ka : public_key const nb, bob_alice_nb, alice_bob_na: protocol_id init State=0 transition 11. State=0 /\ RCV({Na'.A}_Kb) /\ in(A.Ka', KeyRing) =|> Nb':=new() /\ State':=2 /\ SND({Na'.Nb'}_Ka') /\ secret(Nb',nb,{B,A}) /\ witness(B,A,alice_bob_nb,Nb') 12. State=0 /\ RCV({Na'.A}_Ka') /\ not(in(A.Ka', KeyRing)) =|> State':=1 /\ SND(B.A) 2. State=1 /\ RCV({A.Ka'}_inv(Ks)) =|> KeyRing':=cons(A.Ka', KeyRing) /\ State'= 2/\ Nb':=new()/\ SND({Na.Nb'}_Ka')/\ secret(Nb',nb,{B,A}) /\ witness(B,A,alice_bob_nb,Nb') 3. State=2 /\ RCV({Nb}_Kb) =|> State':=3 /\ wrequest(B,A,bob_alice_na,Na) end role role server(S:agent, Ks: public_key, KeyMap: (agent.public_key) set, SND, RCV: channel(dy)) played_by S def= local A, B: agent, Kb: public_key transition 1. RCV(A'.B') /\ in(B'.Kb', KeyMap) =|> SND({B'.Kb'}_inv(Ks)) end role role session(A,B :agent, Ka, Kb, Ks : public_key, KeyRings : agent -> (agent.public_key) set) def= local SND, RCV : channel(dy) composition alice(A,B,Ka,Ks,KeyRings(A),SND,RCV) /\ bob(A,B,Kb,Ks,KeyRings(B),SND,RCV) end role role environment() def= local KeyRings: agent-> (agent.public_key) set, KeyRing: (agent.public_key) set, SND, RCV: channel(dy) const a,b,i,s :agent, ka, kb, ks, ki : public_key init KeyRings= {(a.{}), (b.{a.ka}), (i.{a.ka, b.kb})} /\ KeyRing= {a.ka, b.kb, s.ks, i.ki} intruder_knowledge={a,b,s,ka,kb,ks,ki,inv_ki} composition server(s,ks,KeyRing, SND, RCV) /\ session(a,b,ka,kb,ks,KeyRings) /\ session(i,b,ki,kb,ks,KeyRings) /\ session(a,i,ka,ki,ks,KeyRings) end role goal authentication_on alice_bob_nb weak_authentication_on bob_alice_na secrecy_of na,nb end goal environment() From rusu at irisa.fr Wed May 31 17:29:21 2006 From: rusu at irisa.fr (rusu@irisa.fr) Date: Wed May 31 11:30:52 2006 Subject: [Avispa-users] (no subject) Message-ID: <3025.131.174.32.242.1149089361.squirrel@mail.irisa.fr> Hi, I am a novice user and have a question regarding the semantics of HLPSL. Assume the following piece of code: ... local M' : message ... 1. State = 0 /\ Rcv(M') /\ M' = (a certain pattern) =|> State' := 1 /\ ... and this is the only transition at State = 1. What happens if some message is received, but the condition on the pattern is not satisfied? Some options are: - the message is disregarded (implicit self-loop at state 0) - the agent enters a state where all transitions are enabled - the agent enters a deadlock state ... I have tried to guess the behaviour using OFMC in "path mode", but with the intruder interfering it is hard to see what happens. BTW, is it possible to disable the intruder? This would simplify initial debugging/simulation, before going into verification. Thanks in advance for your help, Vlad