í«îÛllvm17-devel-17.0.6-150600.3.2.1Ž­è<>,èêìdX‰fĐËźpŻž9Û|‚”­©;›ü$:}}S!ÛśȘS—»;žÆÏM@ïVh듄wĐżłŠȘí”=Ä…䝰ŃUĂȘžKԏ`Ží€ÌLá#±Ÿ«ŰžȘn"ătô3ZĆżŽÏ‹ƒł|Ș„J”zDB0ffŚùS:S–4^ŠU†5ê3„„E[.KÄűJS©ć·êǖ{b}<ĄUš;p8Œ%êM[TюQpù7 4RŸŁ·ùÁ_ÊÇćTJčÚ]~„ÇĆ TÇÁ™:ÆLŒ"~MSŒ™…Î4ű€ńÓQSąú=9ŠÛž‹°ĄÔ”ęúÿ­*Ź3“í73ŽF$őŃ«vhŸń@%Łòëâ*8 Í>ÿÿÿÀŽ­èC9 ?8üdèéêì #í 9î°ïŽńÀòÄóĘöțś&ű <ü\ęrțx€ó!Ló 12ó Aó `äó Jó RHóró™ÓóÁ’Ážóá„áà)â„)æ±)çççN(ç_8çhÌ9ê˜Ì:ûCÌ>ÛÌ@ÛÛFÛêGÜóHûĐóIœóX#Y#š\#èó]CŽó^ĆésbÔ%cÔÎdŐOeŐTfŐWlŐYuŐlóvő8wűLóxóy7ä.z8œ“8ŹÆ8°ä8¶ć8űCllvm17-devel17.0.6150600.3.2.1Header Files for LLVMThis package contains library and header files needed to develop new native programs that use the LLVM infrastructure.fĐËźh04-armsrv1ôdSUSE Linux Enterprise 15SUSE LLC Apache-2.0 WITH LLVM-exception AND NCSAhttps://www.suse.com/Development/Libraries/C and C++https://www.llvm.org/linuxaarch64 À@ˆ – 3 §t ŒÚ§ÖŠž ㌠ț™”&Ž($îÀžÁ%  ć/XÔ{É Äu u4PŚH4æ4m—*¶bl.„Hw§À€9s ù‹ˆR‡Ò S&Xv ­ÜÆF’Č ]=;&ìŒȘdž8r D& șą"“ Š~b ~; "Mä|$ :BX1#Ì Đe  ż ¶¶9ä„ŐB©6Ÿ? n3 \$(( °i'r %Ćsi„7e3KQ Q& ęIŸé ‹di’ D Ö 0ă ÛÍü” Ź#9Q Ź ]:ôE86—2JO" „F”3Ó sÈ V­IÿWr5™°͇? Ç•  ’Ę ń`ZÔQ±*ńČÖ› ‹^!8‰ą·&YÜ­™ÖùU ă+>ń ÜF#içd[”a îUŚÆ#Ókè)Švf [î/R9Ę. PR„Ù:ÓŰ<bŚVEeq` òg‹ c ;'öÿ –2 šfNÒ€-È) Ș~ Â4æˆA[/æÀ ó!§ Zà¶vÙÄÜ Ę Ì m G „'ŸŠÜ} ŽFšd·)ń+Ż,ü6À!>ÙŸD%z&c&I-/f\. č”Ă& '&œqoŻEĐoP+ 5?ć9 ›îV‚!RɃW ]%€„q*",™ćB› O :z—T“ & ›9HuÎ<„ę+Ł6·Rß7’¶–`kÀÛ5“ 5c&ț#/Nè…Ćš?5îÆG?Țú"3š óÖˆ#žN»>P%w ŃÂÁ  kDB Đ5’>-H‰/Ê  "ï > łYj#Ž Ńê Fnœ%Ló&IWw Bo tH ±§ `xMf• IŃ_`uT •(ő¶ ßč2n+E ó XAjă *#Ć'áÁ}ńo5Ïtÿ Ź+ŒŠg– .í(CBś • ż Ä œrĂ dA…~š U z dG0à7„Æ-žŹ^«É $s[d8Ÿ ^ ô2ä#ÏR4/{' '$ Ç ! [0; k-\WD +ïwČE v)5!$Ț σ$WOH›8Ő„ŸZèvÉdW(9­&ÓdmŠexž€ ÊŽ,cì…HçmÈÁęĐ«QĂ \(tja DĄ ‰ù·lj“ÉŚ5p'rźf€€ T \L Jó[ đĆ*N #ò/źöwÉ č Ș _” ,Æ:&8‘ƒê ôœÇ™=ÍÒƒuˆȚ—ŒìQrAm<ZŽ@ƒ¶îx–M=$xź —Ôó ÙĄ|)ÏG„âgQTià5Čé+k §ș0ÁÒ8{iH% ß&ăi(8p3·+c{WR9û_|C"n úû ú4,ą‚ ­2/ č · JŚ Ő "!Ô4šMî±Q7ÆSÉ Ê-V* éŰÌ$ƒ.Jőńs)ƒŸé ±?őaÖń&ìn/Ő |¶$–¶ wÄ *qÛ˜€ˆ5h!ĘuÎ;s$>—a)l ìS-@!èîû@𹞎%„Ê %șŹÍ  ÄÇ*o3œj}6ß#ș Ê)8 Æ ›d â”éŁÍdn4S|XRząL ’ź© Ú0– Ś’ C öL€‰·ÁËțÄ"Ęc &}ąVhDÚ?8És"”4zs)i{Ís"üﶄ0W[é+{ÿăĄ4cĆNínĘ­жK°‡FȆž úŒ.>}(?öG9OQs] Ź(;ćœE,ÿY:Ë J đH:ï%”?*TĘ,ą.Š,tyGę Č4%Śqì3ć?i / …ìÏĐájŠ ’"ï2/ÿTS őxÙŽ/"g)„qI%8ă Ÿ$ç bG Ź«.ĄN? ey&ì0 èȚ T č“ % ‡±„ŸÇFdZEŽ°% OSTf /$îœ?ŃațœVïMhPôÉ»f *$ŠÜ%«Jl'/+­W].ą}äQă<ürÌß—Dcț Ê]Ą m ò—ż©+8#Z ÖĆƒ Čč —Œ … ÍÌ Ž ÄÉŻ( K Eä@G À«ÌűHB3Eû.Û ’țjN d — üJ Œr© :ą š^ș4SUÙłœ` ©șŸ_—Q3AԏŽ:l%ÓččS«Ą…X ï>"· Ÿ.>ˆÍŐ $ÚTù€«9čŠ Œ5ź$—}û‡!S ŽŽ8ń:Œ€o’'ÿ&țB ;S#'ž T Gű&gL,őâ6ú*ș/ s(V0˜Ò!c$b«ń«†„jĂ € 5RôW C”Û8ˆ3BÔw>ü܇‹ e • » G3JN&‘ $S]VVŻ.”C«U\ &‘f­ ò$i[ę1ç)+b(XĄ Čnryì€Z z ÇÌy‹ż3 ,!Lú š5Y%æ2ryŠn6ôXVŹ ”19#ï6±Ž6·Áì-č {çä 7& ‡6<ž'a>ź…áőőmkrÜq5 <$íW!łÇEŽ/ł ß „ Ò }Ó_C Û+.>!ź#&N›WÆ–'ŹG?&]ŸÌ"%č,ŁĄÇ5Ÿ ( ä ‰zŽz J ÿNAT†z«flôŹL/Ïú lŰ «jŽÊ% ( œ$Ź Ń;”›=m ? ,ĄZąÖ•ù› vlˆBÈ ž$k:f ‹IÂœ“䯑#Ń 90LœÆ4Q&v R("S? ș;-ÀP-HƒDfb@Sq!VC!*"k˜ń ‹֟ÂvèŠÓ,ÂÊ$:G_RÎ{7” tsú !0ÛVșu{7"dȘńËȘc–U>ŁE1𣠊,&%¶ A ‹ !Lâ,G łù*iÁ·ì!@Ú$kčțknç‚(Ÿ ïT· ] w (Š)•,ò9 †˜‘ÒtĂ À$ ™ B,…ƒÌ" *"ŽË«S7‹Q‡ŹÄł¶bé!ËÀ4#U%lȚI{i[5kG81ßr…•űáiȘc Lʧ]§ äjXÈŒ)~ę8xÙ !ÓĘ ) ùV }yp˜3Ì 5PŚz@»,„ ïH!ß/)L‹ûĐEÍ ïłÌČŚS †<Œ^,&Y jlœ/ÇR ç ù™Š ß·”7ÏC ȘD/ )B\'짌!Tź ’ –-ò(ś/œƒĘ+/ÄŠ„V" zšMoĄĆËŠÇűż%T1 C\DH“Q  ‹ žItŒRńá ±5 ęŻÖ  żć :«jÉ țxésr4QoP~ż4qŠ7-e=¶9•d"è˜č†b  3ć;%0Đ•ííAíA큀€€€€€€€€€€€€€€€€€€€€€€€A큀€€€A큀€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€A큀€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€A큀€€€€€€€€A큀€€€€A큀€€€€€€€A큀€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€A큀€€€€€€A큀€€€A큀€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€A큀€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€A큀€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€A큀€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€A큀€€€€€€€A큀€€€A큀€€€€A큀€€AíA큀€€€A큀€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€A큀€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€A큀€€€€€€€€€€€€€AíA큀€€€€€€€€€€€€€€A큀€€€A큀€€€€A큀A큀€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€A큀€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€A큀€€€€€A큀€€€A큀€€€€€€€A큀€€€A큀€€€€€€€€€€€€€€€€€€€€€€€€€€€€€A큀€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€A큀€€€€€€€€€€€€€€A큀€€€€€€€€€€€€€A큀AíA큀A큀A큀A큀€€A큀€€€€€€€€€A큀€€€€€A큀€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€A큀A큀€A큀€€A큀€€€A큀€€€A큀€€A큀€A큀€€€€€€€€€€€€€€€€€€€€A큀€€€€€€€€€€€€€€€€€€€€€€€A큀€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€A큀€€€A큀€€€€€€€€€€A큀€€€€€€€€€AíA큀€€€A큀€A큀€€€A큀€A큀€A큀€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€A큀€€€€€€€€€€€€€€€€€A큀€€€€€€€€€€A큀€€€AíA큀€€€€€€€€€€€€€€€€€€A큀€€€€€€€€€€€A큀€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€A큀€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€AíA큀€€€€€€€€€€€€€€€€€€€€€€€€€€A큀€€€€€€€€€€€€€A큀€€€€€€€€€€A큀€€A큀€€€€€€€€€€€€€€A큀€€€€€€€€€€€€€€€AíA큀€A큀A큀€A큀€€€€€€€€€€AíA큀A큀AíA큀€A큀€€€€A큀€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€A큀€A큀€€€€€€€€€€€€€€€€€€€€€€A큀€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€A큀€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€A큀€€€€€A큀€A큀A큀€€A큀€€€€€€€€€€€€€€€€€A큀€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ĄÿĄÿĄÿĄÿA큀€€€fĐĆIfĐĆJfĐĆEfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfЛYfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEfКÿfКÿfКÿfКÿfКÿfКÿfКÿfКÿfĐĆEeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLfĐĆEfĐĆEeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLfĐĆEfĐĆEeeȘLfĐĆEeeȘLfĐĆEeeȘLfĐĆEfЛ\fЛ\eeȘLfĐĆEfЛ\fЛ\eeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfЛYeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfЛZfЛZeeȘLeeȘLeeȘLfЛZeeȘLfЛZeeȘLfЛ[eeȘLfЛ[eeȘLfЛ[eeȘLfЛ[eeȘLeeȘLfЛ[eeȘLfЛ\eeȘLfЛ\eeȘLfЛ\eeȘLfЛ\fЛ\eeȘLeeȘLeeȘLfЛ\fЛ\eeȘLeeȘLfЛ\eeȘLeeȘLfЛ\eeȘLfЛ]eeȘLfЛ]eeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLfĐĆEeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEfĐĆEeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLfĐĆEeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLfĐĆEfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfБUeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfЛeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfЛ6eeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfЛ^eeȘLeeȘLfБUeeȘLeeȘLfĐĆEfĐĆEeeȘLeeȘLfĐĆEeeȘLfĐĆEeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEfĐĆEeeȘLfĐĆEeeȘLfĐĆEfĐĆEeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLfĐĆEeeȘLfĐĆEeeȘLeeȘLeeȘLfĐĆEeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfĐĆGfĐĆGfБUeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLeeȘLfБUeeȘLeeȘLeeȘLeeȘLfЛfЛfЛeeȘLfĐĆGfЛ'eeȘLeeȘLeeȘLeeȘLfБUeeȘLeeȘLeeȘLeeȘLfĐĆDfĐĆ?fĐĆ?fĐĆDfĐ˞eeȘLeeȘLfĐĆFfĐĆF000adfcd7fe2bbe989b9920383c8cc53b43dde880a74c1b925f765204b7751adc5d69bd26f36ba01b97e1d400c6262ce406c03e2506f9cde47fa18090de1277dbb3805c5c657bfeee4cf2254dc696b73ae0036a6ecc2c36fb027cb34f2c4652e42a37dc1e08716d41ba49f1101fea092df87d3132d4ac9b5377869241dc17be8efb0e77bbeea499bcde27f08e88aab8bf579b9562dd85f5032d7f5baf1f56543062d18f2baf76c75a10bb06b94e013b96b80b3aa2d38671174cf0f6169f1e7f304b2298c500ce5a73dd9ff588594296d9f49ce3ec275d268c67207f6b1a3cef7443a1142ba0ec4bf930b07b593ad95208ae954b7eb936894300ead8729770be79a75988ceec69548761951197a592c2fb1a5d8d8376e48dcc42ae099005ca759dc0131614ca423510877f1605ae79cc33e3c02bed067e021cf7f46576643c7aee5ec07395ffffaa8e4ff779f8fb3727bc465a5b3ac427bd734a4ff5254ba132bb74f03d648988a2ef87a4fa138dfcb956ba61b92efd8cafb2f627909aa5390bf396e2b569d09f2d5c6496b944a150e0c6b203bb1e801dafa77a867e19b7e5e9db6bccd5eb3602effbb5eaa10b7ac689d07ef6fc39c9dd28d455dc491168c7c2826204056226f5716e260a82b49f70a0b80f384d10535fb945e4f4e80bbd121fb2fdcf3619c57d9cd7916ae1530045e4c85866613daf44759807dada94449f8571c42f76f105c010ee5e0a5a0736aa44a8ef9ace086fd671cdd2617208183c4682c36bd2a9e3b6b91a572df059c91d3be29b5260af54a0e910073c3a24c0a2e2757763b783c583a8088b81ce4713d317296d0853e866488e9838e5317908ba8526884a9dd5dea47c8f2f24dfd128c30386759db3a2426e2ca2c066fa418efed311d4ba5f7309ab339fbebc45f450fc7a0cd0cbbaa9e82e1cfcd6dfd528845040d0fa4ed35623bfda2652b9e9688577e33d8c23a7196c5dacf8fdece67d2fdfe098f4595fd831557ea13d73a311995b21f9c01cb8095e7f6cc39bbe48af9166f0c2de85db306cdf6a2caf1790b30c9130bf6f1b5078902d65f9af1e9ffe8d843b885795c3910155218473b79bccf42d85b4a17e5dbaaeec5afb8f94a8d1974ddb0929cdddf7e61bc522feefb6db5f0086407d6dc07345290169c72170e58684229fbbb1da352df793703e6579bafc5541d6c9f4e752af4330dfc82ce2bd76e8bf07434f39bfb354e634d8dad5021a37bccf7213fa1a4eff98f7c480bd3c18002752f763c827d0da50135aa9fe846896554c0307b7b75d3edef9614cf0636daed17e9fc2f15bf371966799309ddaf3510b0dae412d52ed7093adab2369c2aea61e31c5d7cb32377840c4756ef15a0f368db41d6e9175fec5e7e8e5ae00ac9e33c7d77c30c7588df8140e38107b58c76cba56b74396ba9ff4c7a1a8c1eef8be39703b5c7460c01ea91b09053b91ba1e22629beb7c7ed4d0b9ae4a817149b07c78b380f42ca0a170c6fc4e782a57932aa408af93c65a6d95e7ac490bee344120b7c5d8fbc71d900bf7e5601bebbcae22f96bf817098ba55f729e87bb857857beae0154f0bd96a5167a70c8fd7328c34e1239f76eb96134d9e0e62fbbdabd1409f1880478e00d5ec0ac391038ebe8c6b7db0e5fb70c25b3c0b2a58c71e734a027a94b3ea20a9e7ae4a27972f56be271e5ca18f9e451642ceec54ea7e7d1a0af7ff3c3d7c905583eabb5b7ad358f0e6ffd9afcb908d67c880c098b4e45e05ca3d349ca3f94d15afce7c97ae9f26fafefd07573e402836d047a4b64bd15b5830cc638d024bfc6b4a349b1e17dfb37fd6f088e42b767a97aa8688f604c9e7145c839b29fb2fc4d901279a36cc13da92eb70d39f37b0b05f82eede1ea6adf37f1dd96a69c0465e81c725037027d0f5bccf015a85ca145ca57e0a20931d5a5c222c78270fea03c59c35804f63ff28c2aa52635b35a2c10ba27b2fa4ab929b67a5e683ad15d70a9ca99f7a50efae129173fdb815ece8419b3bf0cc3db1e3cb0ba8cc9c76d097d07da9faa61fbae771339293ec3fa6b976189485ed688609460f73cab7e749cd01662de5aa6857010b9cf645bba6f3ce90a788162630d1a2e7819742c877342db5cd3e378b234e82da9d30dd3603ffb0c297b840fb345a53950485b69d1bc22ff59f3958d547a9eed465d55bf89445d228cb78d075875b390f249c8a6bf5abce118a5a786aa4b10b3e342cd031e1c8cadacdf54978e95da952d8dfa9ae3e1f0746496134786da6dd02b0ecaef93fcd76a72610dc34cd10cb9b6188f0f03eca64606fe0501f55abfc295fe498a2139dbc1c0295ea7364bd1ae1c3c6c090fba38c3c8a48a62893cbe9cbd7a7d8db90c48db1bb6edb2a3532ebf6c510475e254a91aeae840c9b12ba058c9ca7935372354f5f0877e06e3cb3eab71a53e54870d12d6618585a426f0005fb1032817d170abd6953a63e0c05e951773211d8e76483f584c729bb898572298441e1171448f82db5f6f44d9df0533168793871999da733a717c9d684a5049d13e108a762aa7cc7b2d999abb841ca533c6e60cbdaaed59d683661b5f68bc1bef9cb78d159dbc3ebe67f0d5f6ba42693f418ca9aab8417c9971177d3da960cdc34ba3fb55e547553e0ff5ea52e5b67358ca26e01353e3e9a82844aad818de3d72d8b0ace25a90b153bf1bbc73982d631b42b99f5f012b9c515fdcaa91ace8f4c55dccb14d2842d806c2af3d3d6910139b61375bf7ab3d6e8984f09102bb3b854d5dd69a80b1357c4c8cbcbb98a27bd3d293532fce2e687a4192b7ee834fe6bd0f0f22330827af9da348c69dc9662e533ed5c5ffed49834a77b281c0ad177c66c783bfabce8582cb5ee600951ac0b3cc6c90b9cd0b469a93b642712dc90dfa9d1b129f3729836721734d1e762b0c9d6248d890c6c396c266c415570b1d1f68196159141d4940f1a5533bdefeec5add1bd99ea0fc33c14023c2887f80349ccf153ed0211634624d716128b0cd91177e74dfdef95a2985407ee6d29221a07e714af2aa5055fcfce11da61a518489a040bf0a7678a85331b2e69b6a018b961d427b9be27b5240eab04666083903376c1f0d85129df0765b5a7cda18cc0336d7e21059086254ab4b03e47d62691c96926624208304c281a654bebb7c1b9a0e42a6cd9f15c2ee48a21b2ec6c5f5d2ab753fb8644c62aed85c07dd3b001195a6ffb22aff7391e5493a95ed32a4569dad0433ece8b9b4daeea6b29176a64b01f23498ff10be3d155b0aa804b9454cd6bf9adba9af2621a8de5490c756d0ef3499020623635094742d47d22c81b5ba5180d2bd53a53a4ae36bbcec2b70e9f791290dfa03927973811b14743f15076244a64aa101d58a8ea5028cd2cae9061c906d7e39f0390d0ca4c9971246b48c0bee2f3bc043bd8fab3df6c88585eb7d416932a7d7611d989d333b5229985372a0c829cf68a1f65d16ce2449b42b0dce6120fd2c5b5df9499be8fd4ef98abd94870da54cd801eefb25fde13521c09944d8d867d96e76602347dc7a1626b2ab92ec790e75cad9734a343e23770ea407bb73cc39121f987aa00190bfd32d3bdf44b78a84632641dc54c4965dfc64b0561eaceb5949e55fdcf056efc29c043d7987c42e5ecff7161fafe9cddfa2fb19ff961b186af6fa53807a502b4b815bef6c789ff83c561ac3fd0ffc5c858bb4cba9f771d9c90da2c95acb069422f37c5c4d16bcc2b454b62b96596cfbaf42aed1edf172d4a3b83ad759c04ebbd8dfdce4db199491d5e8b101aedb18a92f5737ca48572f1945f8e5775ebf15b14c8d2aa57dee7577817842ab7e2267bf3d526fcd6ed0e916ed1dc59252f244e8a7005a7e55956da363279caf48aa41a5d25cc4e2492cd4b13c9fb5abc28bbf4f24d18fa8975822011193e0c6a9c8c4d647cfeecb2d256cae1b84199c66301ef8808852aea078f3f8babdd2e1f1035ac12ccd1687965418cd09f812b3201436e76896aa3e18bae02a9c600c99dac86f2e2ed91641dcfd85700aee0bfab210ff3c25e7a137d3b31b29ba89c957b3a10c6f25e6be053deff2b53689435d88869cca47b06183d213602a299fc76b73941af41fcf0c2a07ca9f3b4a4abf0159437636e93d399a8d59d240a5dfc296a69d0c1b6f0f1f33a54c1005d1f7557c9509d370cf2a09dc9c07d157e9ad0a6e0619b60fff1738c5d94ec7e8ffb3b68a39dc14f94d153cc8f05a4ebbc1c7ba206bbf397ed6a70e35e9667d1e5d4b61ff78d9cac49e0998d61dba6f51abfbca2ab211e1ae7ea6b9f9434b0f7d0baad29c5d0ce41a03c65d6b2c917dfb5cd81856b9006e16928ece8411eb5a275b6642da1a87d7138e4893fe4f8193daf1c5d7fcd06fc5f0ae7721f59329d0dc0b5ea3fc2d98f985f0ced6899a43d36ec6aac09c734f9123856d98bbc1a7e134c212a9e04c1590211c7b9da3f34043f7e32ed2a518fabb4608e3614a693f881dda112569f1048080cd5e025cc823d1e280e11c00312642614ebd338d421d39428810b1c1591200e8eb46673c4852985556231623dff9704b469fa3b4fd88943ef365d707cde3c84f49f1d84f891a6015da000141d3a3e75fa79a0cc0275ac2c2735fe7c3363608c74e6fdcb7a5f0bd5cf512596e7b5352b791666f8b0c1994d51c3506ffe60e46765d90515f21cae56540e8ab025c3d0cd832bb0b1bc801b8eaee5890012dcee45b9e17a7ca9c2d2380fc7755a15b52f452cba41e404868dc2f5b39cb45974f6381cb5d730a288588df0e3ae907aab4cd38fc88101eea02238ff172cefc17d3824dcbcc83dc2ed27adce8df58cda2deb59899550307508f9a4705bc11ba6ba1e810a57374e38de3db132d85db3eb6610b0e1eae111804aefd57524cbdb35345a43c7954707df461785ab9d212a4a3a1b29145e9ba628c3e5c28889e8fced28ec37a3799cadfdeb2dc27a2ca41b8a6d5be081fed5e82ab4f8a1d9e96d1742f6b0846b7da1915f73d2542e055a9271f064095861b427018dc8a7e1e33d484b120ab457e9390eff5f860c2541796e83401c72df3a4a5a6b6c1c9963f1fad52d27b5a52fbac14326cd339cb7c9d655b921241c7fd4250a3a63109367631cbc496ff6ba9ad3d4dc0bff147467677bdd616d2d712006d22d57457d1122421b4138ef55b4cabb15beb22180c0fc19bc47c499c40d3f17ab1f3222d965a2c8f19d61fddfb715390f8c47b30be670a2f5006ad4a93f88e8e32570b143a550d10c45f7b747ada940df61bd81493efb2673f76cb62ded6241a83a2dcfbca5d11e7e8053ac319cc9289a0a6e7dbe2cfebf97a03b0336d53fde33e20c2adf2a3045e0dd1793685359334aff03f37951ad8fdb8d5bfb30344c25b3532d6d1f1e5f37a700c8b14e8e6436ea919e412085f9a633814a70c83adca608d81180ec4821b800503ffc15bd198b38af59673425e2d4b36a85d7bc0a5e596a9930ef54d73457e2f89c1e0b4f57bf6fec8316acaef36b11f22458c074a342627ccc4606a2fcd6c697dc81e2d0f7004d4676478f00bf5684d6031ca517e399c5bde82d2e73379b927a2be4e639273668b32c25edf036de5601faa36ca5391061bd6f8de83a3d640908cb04100247f58287f2b72b5d943baff781b3ecdf7a300812ad95061c6575e7d066f8308f3a13ff8287960c04cae2fb6b90e44b4454e6ea58d524d4e33a22c542e7a78eb5c2bd8be213190955bc0b6de602f9a10b346d860068b6ace291cb6e05921aa29c7ef7f154a73347f71c8ec50e5646fa6fdeb1af87fff80cef453de225c3ee0b4c5fa65181d9250a16bf3770318a5192da92a53accbb2ed1db4f86ff1c27161c14343742c6488bd99c04864b687146a84cd564ec891be104679c61c1c3ddf856bfd6a3ee50be114458140a4bd01fc0ef4ecf169fc461df32996f7ea95216234d67d618b5e0759213586e0463a4381aeeb1e8981730ef81340df165fb1740def073650aa981bab6ac6275d0296e4b4eb890413a541807b879ca918ffe96c3075a70bcea0d8891ea79bd04e8a98185d0f77504ce017ee9165d325947626401b1e8b930402feb92c8ad541193a678a668447a8b46489378513e3699313bd42aed39e1be5765240f10db2a53b0ebdb6da34c67b2641b17f14bf212c68358c1fce91812465ebe60fd224af8afdbf7400fb52f833db733ac29019fc7fec51cd1fed33ce4de0d75bd81aca443e02e58d47cc03d0e56684402ec7fbef1ae083c1919d0d8962a88b6515171fe3f1453d37909671fdc623fba25af4b0b9724588d82b48edac0e15a5d23f8bfe1cd729eb8fbdab52f56d3b9a9acb80c1b42285c5565f29ae34b547ea63f4b84c770d4f5fb257beca5a4020e02561fb2de2b5dc792c77c5d7e40b17ef6531f621e12570d52628e0dd9b696b29d9442dac76dfa8aaaf5d3113cb85471f3edd54378efe768f3ae049c883315d42fdc7b2963ed9c37ff951623e1372cb72bd09f5aa288e481f759bb023aa549dffc801cd03fbe0f88d7f30cdaa1b4975c1c47cb982b849ac0e3b88af7f48582cee2cb8e7f34f2ea52dad01334e8e26f372387bb2f97de5dc37d359dee09ab9e1ac990b638be3b4a0597246161d96662c2c6a8fe9980a8ae4c31f599daa9f351b53f94b9da1fefd1fd81110aef73e4a208e774772c8a552e2d2fd71463c297fb42d1e721e97a9137c38fdbcb79788c7ff8e7ac594a435c70c306cae911b0b65a0ec43b28811ce0ba12cb7f43be9badf218017b8114a46b55a7aef7ea183150c8fe8a8cfbf0cbcec5b0229d93605620519f171df156590e52006a02adf37d42eb2354dbb8a67b53bf69aade9ea454fe99b058da2d76b604e91df26b61c203d61663c389868bb840dcbbb3cf6d71276e80974a17d5ba9ed139fbd10895866a083d1eb8a2c910bff5499ddad28ddad37cc0c384dd94995126ba21774c565ecd8667bef265cd18bf8631f391f26de14323faeb6a249debcb3838c38f5ab12b1a79abc8d23d35b3275ce18aa79fcd6fb6c406246fa6951dc1c79253abc7a2ca029fc8a758fb1db0dd7cd20577f14f00b444dbab052862562039ef12034379410d3e79d192baa93eb0a51c2ee84d3589e189c046964155b05c4a311c014d2a3fa0bbac45b18183377ad16d7799a2330126e4ee7d05d3f0b5522bc1b4d25b173ca06cc3aea3a97be11fac4242b66e9edc209e00b346bb9eb9b23a606cf0f9ec5e4c14bfbc6086b3cb379dee38b38eea019edde85d0a1d68807df677b61ab54f05f1f0eda014aaa9b134bd68bccb60855eb155fd36fe00fe875483bf01d7e2c198466c33274d899964247da9be0d35bdf785cd90e54acba21ade1eb1a9548435e6b42028335e1c418f70010b6086e9e463741b73c78369d5d9a873f37e144ab75567a8c08f2b90404a02da63310e692b8c09d97a8c29008e93fb1df7b2d55c0e2d7282b5e4aa563c513680a9721788a76eae9244922f2ef13f278464a1f49e91ffedff8dfe251b5c6749b164db122c0ea5fba57ceb603f8460136fe7c1386c46e54fbf2acd75dc4414264c0c621679a0404f47153d32c2042e1ae4b63bf2f2f194f99ed0728e05e18e6ac1c80f2161b5dff79b0edccf3bf35e11c7e10df6509d46bc06719b00d0bc040c21bffbcecd408c6cd4ff8bf84eeebb858be02f7b84f87b4060ae888ae3cdb7d4af749e29a979c2f2dbb3c01a206d2fc0bfb669d6d0de66a1e53a66fbb67b37d1923fd69620292d10d87b746eb70a0444aee364bd193f86d95410e1b949f436a345ce11f32aac595132899011bbc351022ef6b63603c65caa24c2bb6c7b1590d9cfd45a187baf466c729bf799149341d34d829bf541f79007650a229240d316ed48183d141f31cb6b521991a30b036a338dc05eb297e1606c51fe539742beea5681c04f032be669846a6282da246b8d5aba1bcb3e1731c3ff06e4d137ec077d4c75f77551d8d4cffd42ea83f56c90ecfe137b1dc38ec3072452a83eb74d2ab53d7bf83605bb05242816c8f9278d8a4e8e102c00f5b16c78c7cacef44d961a0795e661da2b9e29763ab6215defe622f911ff9b5f9a8525a6cce831bb7b2dc4e0c2679bc93d7bc149c38e10c0ef4c2b1392e879de23ce18704a7c55bd0baa2477e7099ed65a3a1ef0498b21a12618bb3655ecc4989aedbe8cb5a721360cb743a19808ea1979bebf0bb8534d13de4e81af694c56c446d751de4b0f1531b4d972625ba181532d62a0e323dbe0357a58e071f516631701caa62ee657f5ff207910593df70f192d7f738676516ebba78b6c2a8cfa89ec6f312d5f01977108395d4d9d99d0bac2847e54d1ace0c89d5849180c344ba69334c16da9cc908485c356335747c2cd73b1986fb18d7d78f512939409a7c7ad2d2d5c0a354045e0df622ce42d4b8cbf11f5f5152ee9f0fa56c8a9e540a89a69aa37db17297082d6eb5c4c50b4cee42e33e20e31352ba90baf9975d55869559f0c8fbf0296a9ecde32f4e29ed31ee688d10f677c3d39c3fd7f32ec8db3c9db190f785ddd386b924d21b8e6d78c7256bd1c821b44b249c3bee138752a5af288c184705fc8d436fdbeb678394a88f361c6759ed2e8c239c5c9ad6b39b79f5f4a3a62487248537e700447221200e6f8c6c9c34a5386cf4c801570d9228a2db7246fed4bba1b8016a9d1b8e8061b391a16679a7e92b1a1f09388597204d13be43154d0d23671a50e6f1a1cb41090228e65a9822bf176a249279a0579f704452e746a403598e4e5db884f7fac9fd207ec30f2351893cb2e0834d07009ee3f143197f381ad87f1b9c0d05b97e834f6caa6f5af4afc016b331c6beb407133f71c01882dbf93ba2387e8b1104f45115dd562c43c1b2abcce971b3c68bb7b9302fdb0218137b29bf9a883f9f027ba6d8a437c3fc82199d6e759ec3199b409b89ec1cb1c8ac5ff4f0415830a3cb652da68b0c77b911ebf8ff8a14d72e6b78a93156c3fa1f422e416ee0b922ac554e63ee173ea3467475a95ec8b26caad9f55aacfa5117246697d068fe2c31b43eca9a527444c3f2f1a0ba8830710701cc268f9a104835bfb14663a839ad8325cb735c8738a7add241f00e7e9c8b5dbd153377ef688b8002f0c77702d0e55384ff740f292f7adfb63bbbcbfa634ec4ac8e7ac4f1d150a3e88170987e97a571e40bf5d25aaa486d7ba6f86b3031276e671e5f85ba5d2457b3d7e6879abfda4e35d24537e00c57af935bb99a7e4c5af982a5f3e4d471651888dd0bb249502711df9b10e9b170d59e67f48f3500aaf77d6c9e88858cb340ac6869f6863c304a5fb88a7f60ced3fbac61fb6fa42657405408c0353a33d65987ac08cf08e55784df1455ed8e40459226bdccd402c28612123eab645c7fc767a3ef7b32bfacefd6b6b6dcda7158360d12f41b0197525c4f8019125559d4c427d634130f7e0026f6d1415dc80068b266e9da34ca05a36d58dbc97dbf770a6e57700c3301c1aa70496eebf6293b735750c472f66987238b0bed573c14d9614bb884c980519afa6c7eaa5c4854321265790786fb0badd954141d022c170370896224fcfdd7fcff7e2eb6bc6fabe009b2582689338d9b53999c524e5dc2ac81816803a12983cba2f24129358d098c63dbdc9d61066492796c793da1607fde2a479869c1425f20f10599bf92011bda41e59c9312c630f3cb5ef19171f7d4f200f18131f5bb382dc44a7d10f7fcc924ce4c93e5f245223d4e61bb10a4341999128db9420e1eb8b5b61087d633a129488e6bd4c6b52502f6736b7280c342224638ec783034663c95ddba80b336b4f004b16de2483263281e4cccaf1ed5db3f37088c2cd1c9b9eaf76ecef2313b567f4646ad19ad21e3e5b1e92019391867e47f761b751f16931fc4a0e85f3ee8d5ed0376624109404f6c7cda8a182307d3b4b46dcc189fa7e27fb5883710105768177947cd66954e43683b925b7f23327ba6cb29035a587c948497e7f1b91b962ac34748caf3436cc10e6ec2923720dc4372d839a40e5c79d812f6186256211dca7a8b2ccb8db25d677122190298a44616c281d7adbdeddd834ff89595f9b208c56f2971201d55a003ca06f8be6d7a6b1929357638181f90909f75c675030301cf21b0da7b2cd0cdb152eb89b9ca0e33429e609f15ca33b7445fa0709871a80c1e3b5c34f6cd1d5c79cc60cc60081154b2843d6c8136ed66991691c1c8de876f9481bc793bd5b73b0bf653e2afbd5a552dbb68281c823306dc24ccf72dc5d4af410d2f30b58b70d5eb64587dd849322aa4ca98f1f813ee59d95361876501a2f1834f0c81e9da02cbfc8685b457d123fc414f8f05ea0eda90f503c13e346031968658925826def2216fc28ca366694d2772dadb5f725229c765ba50c633f1342ac1f1b448499aa76d31404e4d8a76e7b94d628b7876787cfda6e8e9fb91f13f9beb51a96a8c5d25944ef1431784eac1a3769da6f95052612cafd00481cc7648ecd8e6f2e9cabb778a0f9e20937e0d19dffa4ee56336ccd6ca51716c05d6b520170d7aedf917e455743edc163e66b2a51d79ee0d38caac25f9e10ba30fe06877d3026901c2113b6d08e67f07f13083533605c7bb2de07a2ea63e3f4462774fbaf803b8d10f4e6b65c547b5f4f003cbb30084672b4c32935fd84250d7ca36352c52b844a7a60928ddd9b3167a413da9e5b2c112c9651b064bf9e1da8c0eedae8d48445f5facfdba98581637095c6c84870c3b8113037e22897b76455dde4a939f7a83a5598b2acf69901a770c4a0bd16813613440275739eaa6eec9f3b87d76bd2635f7f9872b4bb19e069657e5af94b42387a22b04f3f26b7549935ad2f864cf987413d844523a7c4958105cc5200eecf2e9308c594c4d74d2a50a54767af5c1bb817c6dd7014c02d374d2b56080e21ba86ce8834053e6133415bf183d116c7316e82e6d8e97756e78103afb3aec43b3cc5ab282c4fa91a7d42970cc918f75de9a22429dd0b6389b19856263dee1797cf3053fc07c45a0c4d29fca2a5d8546526013c7cdeb294611aef585e80ffeaf540b40ba28cda2298fdbb5ecaeb29467174081eb29f12f13385c8a1224bf1f4fa70bf3f5c919fb6ce702354e72e502f0a205eca2e642ed0abf3cfbf4217e4f029104bf275fe769b999b2d4ce50ffb7f98f7211e7443a293658617f67a72d789df50d23844de1964d30332e492dd306304feea8ceb8c57a3a2b6a928523dc1854dff496ea8a8890517ebd7c0c67150c8f7b2d6810f4c6be867787d40a71b4a5dda9fc03d493c27a9666b95a5b0501129ce034ad4f271b449d2b3403cc3cb3efda8215e4d1e9a9b4b5292f843259a56b613aa9d947ce13f7bf64a8bc69552cd034fb22644659dff2cc4a272eab332c1f6a6282e2fb971683c28cb7cb9c8aec6cde96dbf9686d9dccb1ac1a3f43042eeaa1e23ee5ae25cf99bcaebd443dffc016a3839fe0730fab73047fe89933cf59b2d8b59c269c90a1403ee4167b4d47e0227edb6d5ca14b5de737499c79c154b3244063e81d465bbc9127456a4fb47694c26066e292cb39103377ce149d8d58c69b33dce0dc8a8067d5869c2cba9ddfc79bf2dfff3fb89e533a0fbed848f65ee478681dde7029661b5070b28e60268a60e2a70163d52d3555bd3f45a5cb79d71c5637a6230958f6ce8bcc2d4b9be40309e61ebf1a8c7db623a9bce2cda4adde51e9e4d55973000db526e2ee4fe57cfb02a8315c1e2e32d654c34db5c74b27017f62312b1b771aeb034b6a10ee58350247679ab4907732fe4af427787f0081002834a807f89ac83477bb44f98659e9c9b47dba162e92123b5996fbe9ed12948b56bd8bb982ff91f4e9c6fbfc0b85b60fb224222582fe72e974e74ba4da7867c16d86decbc5194e77b70e83b8915a58eee7b3b2c4b699d545dc77140837a71cf7a4d760fd8c723906725f7894a7a058506a6cfa59661d73fe65d1f412c938d364f037c035efe2f4bf5a0dbaa2a1226ad0549e638c486fad1b6f303dcd43db978564dbec68b45abeea10bdd73898d93009f6bdd4c55691c4f2dad18fcfa478d59578aed87cfdec5e327f2bab32dcfe92590656224b2fd336b27ca756b0646d83e71e31e9312550839f10bb0b56b8bbd675dfae5a10d3029cd9f848a4f5c04e9f8a422cc133976255622600cae5dbf99790f433784ff86e9d05ef604e03d192dbc1485232976cfbbd2d43932c8bda3a4f8319c95351eacf6cfd4241eee8b9b8d7069c297a7bc21d2dfc6e44dd90a01820b10a1b7b7b9f49dacd5d55a647dfa550f5f5e3a6108f010342f58a9549e9fda3dda4912abc77db213e6de079a651308d92c898099075bdb04cbd91ecffbb65b16a7ebe0a6c1184f8105da42948be1b0fc3b8937f992bf22328834293e2d81966bde80ff02eaf506892503ac409502873bc18c1b8f0f46cf0d08291535e342e2ef703841b94c7bd60fd3a576a17e1d867a438fa471e55184f870c842783f99384c6884d3b50f17380131e01299f5177383279d2337b09d5b0551943b7d257c6010dd62bff19013ac467b0f81f86281fe6c968b21e39746808bc00cc51ac68a8f3b26dd7f757bac7c8aba5c0763b6e1593001043dfc2e734f9640b7f5d130a1fe21e5118bcd60d43a44610b62ce5c365037683f57d69e40370429bb46a0cb3cf4229f037efc4a74bc6aa83c87b35cac42a5969bb2ba2c8634831b4f222c4de90c1c4471c0430f277b13c9b0c597a926cee2b1726f48535fd87c2a93e9734b9ba5c29bc46655eec0bcdf3826fc3ce0adf683fd6bb4b7dd11413b44d1d2c513716a515b4a17c909ee1094bab520ef380924915fc24257270564c746990b6fc813b5f0d90fb9366d468c12184706a54dd9e32158bf58d98205a1cff9492a41d3cf54f1bfd7dc8d25f36deb5ba91ce5e4dc413f378e9141bf25a2895c580b02231939bc9a081edba304b23604c39e7fb2139586d34ab928cffeee246c5e1cf542849aff17f3ea7b9f96383d1aad46c9a0639506326078a740ca452e5f19bb2660527dcf846153355659fe635c8c581b9d644a59f60c7594b43649130f14e3b89a623ac3ff0092c7ac5696842e0918b5c7712c30bcd24917d957d4dac3c6493b63bdaf45cc807901c30d1821127dd41c2eb5fd32e3e60e22c7c8840b1e9498dc1d33a7fc4c70535f8c2e0be2baa263d492376ba5703538a0b845a3a02920874db113739f803b3d54e1c93ea75ef8e9422be2b08b02f35329aa6be9329a415a24d3b02bdcc925bdc0757bbcc0f9a0ea9a5a652540d5de8fe5189afc6c800f865867c19820ba9962f3538636bb3d4689893afec4946c31e249cf09ec94ddbc79357ebd0302ea1288a6d5d5d68a345a8f27a617c231aba126fe377c4cea5e556c6e3ca0ff835bdd51ee376a5d2c7e4b45866d4a0bb45b1307c332fc417586a081af268d6cdaefa5c708c02b9d9fc7e59b7254492f0012da9159f16f99da49f22f118a7c380281bb41e035258d5bf08e3d6f06f56bd32cbf31959738ec6e7bf29eef0fc96810d4076276ee3c89613f6b24aaa2655aec110624e5d91e3c70dd9f66f62f780237d24ba3c1efb12909c2b5ebb4c6a32c23db3f358efbb1f4cddf7d238798599aef43c85d045eb4a762419e3a7d027ae58309567b0ae3c221c65fde1a2b6e9a06acbab82a1b5372d172e72928cb43410ea2916617f12ea9a8c5f72955a66e158ebb53ce0f7df205c2a7cfa985f66bf21b5e82f04380abf1397c36f847ad8771a040b10f243411e4adbb375c4176031aa478e0066bd77d4c7510a49e1461fde6386de15bd5d0ec9174beb2d038a776d250bdac288945794ab299ba57aeb24e7282672da11d7a6baa1d2952f8c4c9a43ecbcdbe0281a9e76e34e92e82481c2ab29218c14b34b5792312c31e1690f321e4e97db22866b11fea9cc51eff9a665d84d6510edd731ef219213169c00ae30444290a79312e96541e0ade2e80f39d7c5a5531e935c0fb3cac730d7ccb53214b776bb422dc558281524d4b76c714a0d8eed9d07df51524102ba4329d1b48443765c971be02ba58b2b93520865875f1afe57ff59e0bfea2e9172f7ee6e761ada224a124f1bfe8694c70e693fbc3059ec79030bad23cfbd4604e0488df09fbf98c115666df2d1c1af830af38944814fac598070163e103ef267d977f197305993fe83731422a189925550626329ada381b7414b08b4c069efaaadd6d70028e2fdce73b7fc9d87c0c3d8e360e310e8d0cbeaca44d86e215beda1f9048df8d7157e1498bec3251ef286eba1ce020b7eea2751bd3553fdc8e50609629eafd679f0de8effc9939576ab10458fc18b0743927baa6ba88b301eedd1a44149305d5c47c2cc565b997525a193d4f073d523b5bb768d88b752e9261f32381001d5927fb51e383f46449bbb2e9de960d693d71e95d622c4193929dbf00e1d8a55bc854d1082bd2ad5d7f0a4a1d28b318261e52a99a87fa7a0c0a79cb63abe17bdf175415a2f7ba7760ee0c389041b3595007a62e31314d3913cd7f8e1ffee6b5469756d08b0606a5689d05892b0233205004e24f6c75f915dda9b75577fba3eed2e9accd0b867c648ab60cdb1d7b199e81fddb763f2d2bec697165e9a5ab129e2c0fd569012bbd4b075a6c77a039633625147ab844c03bfe823d2eed86104ea2c6c0d49342e2b8ca9e510e92e71fb4f8b28f5c896b67097d8e582116909bc474f391c486b054f08b8bfb21147522fbc07631258c70e0efb4bbd5c9c3847439655358db824c56bb6267a4d7361206889691ad5c910ac7e475adc7fb57b43a3ff6c811f316d08105c8c40eac8fda32e8081cf95d2e8edc429a9f17dbc9995dde141988d9282893c3ac67b1213033ec3356660640bf69e77fe9e520a203f48d5ae90ff267f6b7ee9e261e39bb7c92e5624ea4d6b44c6184173f20eff55fb03b4e6f90994817325c7600853128cfad907733284d6c07e8e211d364e69f5bdc57cdf736840ab0d8e56f2ded9e9b128472cdf8e0ab4ed17a85f25e50103bf321a6db4305de528d704b8208179d3c7e75b777c9972ffa40e21eaafecd6a67f5004176c96b5b7107a9dda6665c6901a10a9806ec43c98941a8627cc7cce76477e8cd02973296790327fe04f304647f30ccf478a10d4132eaf8341a1a519d05d1651c07b6f027941f02aea7bcba97b8a0f947e06e405938e597a8beea64440721b712067b0949a2952950990ae73e3a6e2766cd6555e4cdc34c7000df09f8682f00a55cc214e954bf0db9124d4b432e401ac67b97059b19c431d4abcf28925c29160710e0df806a4b2790530a29512c42be7adb5971ee8d2ec65dc06d0e1fd89d79974a86f93540538889ffd1675f301dc0518cf5a2d4bcb00254afba2b98f9c6825a23a7a3d64a44f523429007127adb6832c3e3069712f99fc85619bcc6fa42baa5a1d9ee59f0902dfdbece6e8b88e0ffeb877f47a56b4c23e4a4d952072a0d24c399e94aaaafd86c72285eb787ffaccdfc8165ed7c1d6fac5f69d1f9401a2a7f178ce67abb1b8f94f0048099addecc4eff44cfe54464995f3a44367df3f5628c5c8f732388a8a9099207bdc8daa72caf82d74514ceffe1168799e6865e584acce37ce27dee103fdf90ceb65968a01a593aaf9b4907a4e5e971f47647aa4d766d9943b01b376be66e8d7b86a6f7f4d308779fbe9c6d9a35283678b8128fb25e98ed2ad616904e527100f60eff65661da4ae401b1256605e87cd3565433c813849f9ea00b8cab9f1e1c4fbf8e634da09416be11d446eaadb3aed8e2b407b5323ee527f8b94d576f4958e98f89e76c15e6d1a5057520320cbe465def7c6aed963cf5fc64d9e1f26c29eeb35d1573af84fe88e867363a72ebcfc001527d5569aa2efd3319afc956e9571d42fffa8b08d0f2bf3695e8046cf5af76ad9bf25c6829466d270718e5c265354816155e7db56b099038d18bca5f1280d68fd31b9597fec818c965721394a40330e4731781012c545940c531b50648dc0e79cc61a0b70f4780dce24003ed477aec71f3887c3e09cbe33845c28cc9037b03fc35df1ec8777fe5658173ce557e8566ae09769e3af42b1ca8f05baddb5b9337bdccbcf8a771d99fce8044e562bc04a5a46b887a6df3e50de63b1dbc6c34b5285aad4ee95584fe79a22d7c98779dd0cfda7735fdeaa4f4cd1fc8fd5068ecfc829143d6247615241cd8898e0e22c9fc3383793d7e9a089384977e2a18285d8ab0404e13be8e3154af279482a9be885a9163626f685401cc082e98b7f32f894a3d1a5b1dc857dcb9b8769e2583b579fb69fc065ba8e1183e7531c73a37a0720edc471efd03999075829f01f381431d969ec4c4a11eb0a7b2f6ec5a5e91bebb4ee6774f4764b05f154a8dc39d25eb1f13f1ff64f40d4d5c8bfd4cc7a3498f535ba011199a1ebc900df2f551480eb8c02cf24f354b2d7e0b7380e291f2d52f0eac31a506aaf235068affaee1d9705200d60e5a0ef058ed0be41065e47359b8a034db4f06fb551d0408c1b2a29d3c5acbad7710b9e03e84ddf445bfa070b8948ac29aedc5e98ee0f47f083f40ae560c5dada2a1947b4dafa2d67559900ddb5ab342883f3cfce219e109e8f51409b46418053d72833288322a1c48380586ea4fd751aabdfd93424a4309e8ec03778fdfa1bc1c383f04160b547b6bbe5342625c807344e2ac8734c3335a0ffae96f07ce8a097e4c6316185bf6992db629fedb229858c7bf432a5a45018cee60a64df0a22aecab65d7de557f329210cbef14b4c08274eee46a7cad3d8a2f7576c3e9aca07869555ac25ec086608e4860abad1c6859c034aad957847bb86369f5170e0dfb9c45ec68e7c03ed9e87f085f3ef7cc23d53090266eba955a99870de87aeec64e6238c1784ed1150c56df9f4fbdd1bd611379e0eb8e2e52735edde4cdc4b42cce725aa3b053a85b1e320bc2bb5ff38f7f5219c45aefe82569be037824e7f2ca22457e33254ebe3f5f70de5bd66afb3d7c1be8263005783a22ea29a01a65bece91858788d88a1cd7c60ef48d6da25a301b216933053a37f6a1e7fe59c585693fe81b715895ca3c5de7c9f517a7af298f5d633630c338993e7f6a29126e0f519bb7e201b98ecb3153c72dd5a803e475a2e01bc7fd931bd61daa531812d587fe955f3b94174028d81f94accf5dd274541ab56b225f60f2d52cf09555859695806d721349b759df4f398fb4590263c6ffdd7f94b37be1a4c6c73ef9edcee23452bef14aae3955671f7ca8a4ab1a5681153d2a0a3026ad51707a80fa24239317f1804982687f6d1817bdf5b9a5a88244f4c904734815a8c70cf51e418ccba5816d153a63545dc61b861d2f879e966fb05676e00607d9cfe6b6b79c91cb89bfddaf54b61673fe3db762744e7ba925112f690793f109a02d7b0851fe4b9a81ba6ff75de522ef580c427065b978c731fbda5dc90d879a61f98b9e20e10c8aa33c79a6aaeaabd00a07ed2d34fbc9975ec35880a52ece56ea344fe7e14e223db4cbd2d52c69584a5670a3e819c78f2eea761546d6eeedcea089ad2c917f2647d7244494b71a5fec1d2a0a2987556b0fbc523bfc309ae769808a3d77231ec2d1d1d654eea329ab5d0cc2850d3f17e947ce08513c296064e208ead1a12148943a4c46867636dde3a1a4446d76b289cbcd58f1e30029ecec4410fb05e72038bdd86d35e4708a79bc7671646093402a769b9ddfa28297311106b934cf4f388b89beb23bc320ca6613cd4b72c34bfa23ca5757cfab741722cb440a5333c20dbeed5159ccd5d67be7b999864001cefc1525ea9bbded3fe463469838238c38007d6ed094881cb77a59d7a211f76b333f5d16bfe614d22fbaa7fd872e98b4e11811a10dbf3ce7a726184025ec090e3ab62f638a5b7773f7bdecf65cc6f0457d122b4673e2ea066aed41b1acba585ea33f7828c190a9040ced75b736e7a11880bbbcb76fe67e660ea700a193219922de26441f0004c2b6cf48a64ae5f2cd82ec882439996d77e6d7347e12ca3cb788e12d4ac565ac14d38868e1214ceaa3aea9ca9ca2ec2d24d5ecfcd3504af3fd4ce357547832cb8675ae61993de5dcef8ff2e40c816edf34225f80197f238351f61cb64c3d4ddac5b05b5760d0f6961c89ae90e05a8ed16bd40263bb1019217d1065bc47e4a9da08a6f7d5b235b83a67688dcb3bc34216f0ed42930ff93f67d06788101964979ee95b891e7aa9cb370dec9ad3bcb7cdf3b5fed7619620f8f90e2fb21ee647c0b662e36eacfdb88f23a480e4ae42c79d2ea8f964176ac3a973d0d99b46679235db5ae1eeb77e356c8ad705e516147abdcf192b4e3ed284f3ed914d03aef7d8384974ea6566c3680258b6130a81fc5652e8cd57065e5837d526219bfcf810dbbd3f8fe3fa2d03a8b3617118591fa8650a3fb4fac01058a01926297a5fda01fff669b65beea7c3804b1c0f9621148d94b2db9779987b9a635d5c3209d3e7c829ea0198bde3925dee345e36305e389af33df86152319fcf169b4e01e8455701d285bae51c1922de8185a1dbeb1a8e51c3eca26b604e6dedcd7270481cf635f6855bd196aa585e7eb0c3f33fd56cc975cd485a0ac713af291689bf979c156af7ce1082e304f452c74be22089815a325e67772e3f0592b4e08d10cfa9725e0b1575af780aaaaab1fbcff50ee398579a6e8bcae6eafcf03717b2110ea7da645ec0929aee9eb6e3a71a7411fbecf8a4c1d8531e0a602de47fb89613dba350c3d7c81bcbf755b6f0d2aced324d0b1948fe577eef28ecbffeb04202f2ab0c10f29eac0da7abb50b2353ec738476d144cfab7270a8a352072071ab249a2f4722a5f29d22641df53baf06b4cb03db6efbda3b5b943e6eb1bc90936c15f391fd591d149300e35d97af100b3564c0e78b3701149e231d5541f791712e649d61f016bf5293b31e6ef05c8f8a156b1e103bfe1c04b7613c177cd5c9dd8ba0bfb9f6d11b3b2915e7a969dca6f64bcc7a5a7d60e99e5210c780a418e32dfed01b52d82ce2d2d81350cb13b702bb87772e9524c2b1322b448fb7432425f68976b69aa0b0b298998cdd92cfb6698aa844f89328565fac982338c4e854a6a7e8b2a96414c85c791f7b9439d3bbb7631cf793a88f4181f4e4c22973849da922032d76a0edd3a432602c20740a555d22cf21d9b69c47eed13e5013f170d7f725b2c1d770fd7c654b76d8bcb4fa871c129e70c4bf9e9bdfac7ef7ae62924e8cedc9a8348ee2b194171ba59805fdb0052609e952dd8bd2c10a9b8c16fea99e11d07fc267ff80a0b70381aa68c5a7bde419468c02273fef305236b79dd7459102f0cae8f6810a6c735a8b019fbde95d6f5c5d02da5c6b1514a546224874987059b85eab1e0f239278bb6b5a7eb656911b7417a56228c869fbb78259b888f9de4dc4491ab31bd259782f60f4990ae53ab0d2096a84b182de471e1222f6ea68e8f7e46205d49f239419bf0d089072da8f98cf14f7bce2c450d618c571e5cf33c84cb9dd345e1b56d23ab3b1a316e63e36d94afaec8484fa97dcf0ee190509c54951819c497af630a3663b34ed8ec7482c521c0722cff8b39cc0e5e55bf09653740b76ec2193d00d9c9ff01398e941187eeb5e35461499407ad29536d2b8d0f18781621c3f82d1f9af141d3e7d4eca3aff12e6920d6e87214745f07e608cfbd5a2739164d474a58675bb4bba28479236566c86cc4728ab8307904faaecd32dfc0f5973912000e34b11b574dd100ce8b1639dd2bb0f2d7fa219ef8107316fe35e74572f9511a38e5f909a7692ee28c4efc791c3864020ebfbb24a38fbf65760f65a75093e01e7caf623bf09ac8c029956abc1c51c5a4afb895ab42cb00e2224f50aa0831508a364beac1e91f77e66e807964f180294292f004fa9fed39f963b600257cc693c2c8fbea0cb17a84e3b1ec2f16d6373a9b5387c42ab28cdb9faaeb8ebacecdecf3645b0699cd514f483d1658089f5f2c319a8ef716612fc1b57ecaf2d4898401c13960cc4f971893451e01e2b79d74cbd21b5bded4e239d7c7319d59ad4ef2be95db54892abbf55f2ee2988df31d757d60bf4ca3dfb2daea607608acfe5c27b5acd4158219f25b35dd2de5532a8134bc82fa6ebd2e309a5f8999975fada0d7bd021d9c296855311c7b02c18df22a2ba38e2be8c000cb33a50c16953ceb612167868f3fcc1ca6f6a3a2789ca7a3586660eb647b9a40681a44dc1801df9449b251c33b596d7211ca20e81b03f58688a3fa0a7a7ab6f022a7667f3ea5b659e5f6da2d980d41e090cf706017fe24f731fd991cf8cc4970405b8f5367fe8f26d235381ede147bfa8449ec35dbb72cb653d4ef26748060e1aafb22919a4e7f8710351a56c52ece1b7954cca6da6068a44677bedb1188d56c06a7df869b882041600ffd6d0b8a6f8343ff3928a150690268f10bde7f43d10bf584a68a774fe8573d45a5baeb69b2b756c00b69eed1387b84b767b664b02515c60dbc3e8576343d0a579c40c15adda271e7069bea3d2c377df319327a657195113fe06000653bbd1d3a3fe18dd311929cb83dcdb40bf1af719696ff874052e0fc6c73975cb5a3a93d413242fdb60921560403cdb602643b047a8cd3b5699a50b0c88dad56b67566c601428c5d9f532653633a3a853cb49261894dc77c3dd74c6c803b83d3f3fbd179c7bf1824831dc30613f9823123689dedf39a82d67d9032f4b6827134d934aebb15cf3dc9e63ec8a1251e54eb2c9bb258cc15825262a09838cb97d8c6740e299b9d95f5b32677167bdfc294fbcd6364676c75cc9c2581b8913c83cd1eec0308fc2a715ee03a58a48ceea465486bba96f31232bc5b42657b5c5eea331bfacc524a6f6abfe6247d1c33b7888019ae1e820e70133b822b53e6ab087ca64d2d91f03e89b4326712dbe74ebd1c1d4959c0b7d6d412d8e244a0fd71ff7c0a1a9b0de88aca19fe4cd157a4cdcedd8d7a5437d7f59410c24d175210c7e8dda11e28f466efa36ec887b0a687375d972432058b881e6e72d159cf31236a9dce87978adadcadca70ad2e4fadd5f36d01c99eee270e35459982748cf319a1e674fe10c0b145b2ea196cc1a02c7220a4c1a00e000267eb64df8d5519a9677507af6db71265358dc2b05967d213bf82a9ef30b2ab47e5f84a674cc6f922eb9605bbc09e3f70deb766321c0685314f5d78b8e7d1b7e0316887f99c5919d169b7849dbca122fc17c635a1cd42479e3416427fcc8822f700587cd5618ea75ab86b7a6ba48fb3069d68db64aa0035f1454a1c83db70602b10cfee403d8a0ea3b916e218bbe312f28fca8aff5fb7b1fa0076fe052ebadb0c5e5f8c1aba030d37ea094784768539c03ee777bd0d02f15514812cc81e9f40e30e66f34ef5d74230e984ff9312fe13096018f175854ab14cd25fc3bc3bf8fb1fb83ab03ede4dfdcb9f5010e0ecc2124d618f90e87843afd25cbd7621d978177b670e051b1970301372cc61f596f442a68286ba7eee3a4b825ed8be5bf116c0299605e83bebbeca3f7da54cb38efffa7fa84c5c2be007e0406c9a0886ca90f52a6d87184e5b80f700190b34d1e0a8c7967342c9b5c2882cdb259d68a30bd98079e59285e9e31b996bbb4afd0fe3f2c8b4c493d5e095ceef11a83dd0660f7d6bff4d66ea7233b765b786498292c852ef8aa4ed3157dc357acb8d13e437ec7053003a6ab16aa0e4c12d48b0c6d7c9e57d4fb752385de58b594bbc1a3238c03709a6ba82ea7138b54abdcd2259ecf320002c10e4c2cfab337bdef7f3327d7510770da802bdb10dc92dc4da3645911c28353c6c4f34bf097826a7b25a0da6cd969d09ad136dface390e994b8a4d3db8646d03b67c1f55574d0272b011fc86ecb07373e2c215aa971805c2c3bddc4818fa7a351550a4b9278708f276cc6affecbfb7bd7d480b181ac9755ac89ef6f8e1ee881bafd9cd2f573e491acd6bf5b1203c65f5c0b8863b62b38c950b2496f23c59c641cb084e98c8fc6538dddf1a4c938bfc3c3cbfa567375240d113b850a0814fc06ed48a8493ab461bdf21be9b591ed00c24ae9ae22b06afe301062cce899df6d47969c4903790cadcbf07627873b32d0830f5feb0e7d39fdf49d347e525f145f751184ad689cf65bc1c85f1f3e79c4a579209fb736fdab87e0c3c06fed489da9d9519927344cfd485f4335a9ab5836d2e6c0ef084b795a677737332b00b670495500010e1ef1ad20f24159b18e44e5ed83d097753af7af77845decb99971f737f14d3585407e71213048c28788fbab91146fb3cab29da8f311e7fb0e338897aa0c252f0855961aa863b6ccd2a66e5251b59473796f7f7cc64c20dee0bfd591e7bdd65f60139ea9aabf746d7bb070ccc8b53772b9a8719efde3b4d74e027996b16b2aab35e0e2af0eb0a13decb64ab1a997d0a35ff60ce15c3be112d6167e2a93bdeaf8ffde9f4c68b5032b746f2c327e02d58e32edcbdef8177f37ea2f794bba1088d1ad89b7db816addc480c83c1f544a49c4606b3ed2b1fecac25fc7e1d267c0c573f42a27da141abc7a17b72ca21a68d4a4c68ba8d1a5255166fa8130a866bde5216d987074e0e3ac911a21bd60be57d8f550ebd566b9aec1c1be7512c0a0238128c79d0ea74bf39a75c9e147db7379f863cbfa0424b38cf491322d2ec4943abaa380cf89e8d1a000371d5181f131f287bc86941ac21ceec49f3f9f9d6aee9d3a525435668f5ed9badae8a32503811c0ccf596a817d080fd70718a0af7435f95da5815c5f424d08fd02d12f6a168f12bed52a58bda72a6ba38e452002aeabfd831879326d81f5f57e97b1c773c0143c2f60446794ecde9b3a5abdc834d35b0df6d375d9ef382cfaf3adbc08acf261f31c0e3b5f5c14d5580163a6afea0fe577727fb52fc668a4d95005169ebb225d64ee006b894e6266f0bd179cd792f74e656a49dd430984313b22f5f11867c2b768b4ddfcc4d1602cb0f635681c26137089c047ef7d2ae0620c229226dc0e4edcd39964cb45de24be6249fcc5403fa63e5f2e9788bc27b04a45652de7015e76a8826c06f4870add30c38e42c053b3813fe39b5f2a24749449397bb4f457a1a8ba16b37b53eeed525b43798ad0de9805c67d0b1294a39abd4bc0319de3c227b7a6c5f5138980d7e7f4f01d4cd5ab44a490f607bbabeb354ba54f397f204dadf0eda4394d99dc403beab8c73a50569f8b6a57291b99ae3026ab21841b9d77a4ef5ff5d020b2baca1a83a14ac94cda2d1060569d34c76731eddfa3bca6303a45ea99c0e83d3a92f80487939890867e5a6a626e915fc53d199259f84f2a878cd2dc619a2efaab447303ccfcc954352a0a17c86a997e68c9d581511f00c0d2c2b1a4d0169f50fa3ca7ddc7c1b0dae2a6defa01b4030589b0d5391bb42e48d01ea1fc1528ee1f86f1036bee8c5f43b19142031e4d0a9789c5e20eaa914ae39973eb8895cd32b08fed005a62beb4c6b7e385e6f466de9a5527828c720fa4bb71fc7bbeabb230a7726f7f4fbc70a747212a49312dc5e8a3cc42238ab758c284af9a29b55cda0d0cefe313e2664e6511c339413daafe4bacd2a750acd2c277625a205fe66a6552054f4d84d9799a59bfcdad40053469a1322fae57b80a72d6e91dcbd7491bbe8b3de819367d4dc96a28680681de21d1e02addeca37741a6f1a522c51bef7e4602d6326d06bd7607718b7145e37a1eab87660d6f061b1513bb4261370b9157f99f014125c08909eb79bc7cc8de49185f036078d69c5db6385b95aa5f31e45b05fc9801ad8fa3859ce0ca789a15407cbf87d192411cba8a3ca9e5cbc7796b3f24e98f25fea295dc4ea1d84072907313f184346f8d9570dda7c5172ee3dd188f021e90b3c53690e5594856baaefa83f59c8e022b5f41495ffc42d614f80cca1547264133dfc863470a57642879eee29492fa6794e5c2bbe08e7f80cd4d2cbdb5101a67a01657b28c5fa2507e410205cb432ef99486deb922e402629cea093a56ba905a6e666d8867b45a94c0f3a5405551b316c893a54a5aa36482efba52dea852f03c1201796312a675b59a41dc7cf019c41a1b3fd5e14238a5fd4fabd40c03bc630ccc51d624b461f974d45cf77beacf4f47a5e41cda6df9fedd5adc2785eec0872842d536338245d19282720e7d7c4c1dbbe8735875975609b90129171cecefaf09c220ef62911a5b7a8bd6ff9fdb3de6e80894fa87fa685093938b47b446b77eb1e12de546f14ba664ffabd1b4bd0a5ad1b7a29980fe0905171d5be0b47308798ba7dbc3760556c571d46f5ba8e953082e21276d2894f380b87d1dcdd3b02e8f846c7f8d7d674e68be23be8cd0b349d58059fc6fca75493652c88725722c9fe108dd391b6f6b67ef828af0622f3c8348ea313df1fbea8d81decb9d2545fb0bc231b9abc8e942d5fe05f7d7422d164df51769f1efd2f3eca2b021882cbaaa73ed9c29309d7ce3bbfde1b2a5a5337763d785d30b21bdaf7caa55e7c1ae5ed0a96396b20b5d0984bcaf9b0de0420b6bb65075f89e39898b9653164b3e452912cf7ea17c2dcfcaa542287b23ff01a183c6604392c84ffc1181d6307c8a97d2be4bcb968078f4e214a9ba4158947287c967f0587be4cbf14005404798617b43ee0734b928a59c96995e1c4633e24d7d6e2706aeba6c048f4489dbfae873e67955d5d491155bc2db6cc904871ebe59d5ab160ca3a1a0b8525101f9316d76c363dd424e6b625353b5b5fc4589b3056cf40f069e4ff41e0e1fef93f06405bdbde7b1c9c0cd044e49c9a30c016448c9bfc7b5a14a6c2ca0509afc6a400dee8e92a4ee7d7f86719faf9b3ec9f26ea40d56713a22cc89e525171d49b0adddecde9c8b06cf92d07189c4f98305d3b5f22b92fc29803d0b1f7b688a32516aabee186a6b0af039efebb9db13c7b67fb951b716de9dd4a95fbf66c519738dcd1403c76a8d99a3220600fce8ad4627728d24c299371d4ef48dd36694eb77fa5280d9b5ce64b690646a01377462a95574514e1ac2aa124c2dcacacfc123cd031d0c4c64fcba6aabd4026f72fbc6f7d3d97922740882febc51b8494a85c380fd2733b90e31604a2fe694f9f640733eb91f0ddf881dcf0b0ca6310bee23dec9c8ff54e3fed6fe4a718e00ca649941f703258849f6ecdab29e90fed48737031b4d75ee7c4b791dc886d120fd5575dc927d9857dd2ea7d69e4b1491d0f28b61782530e6ab4a58ca375ca2a0eed389b40e5bfc018234276ba5401bf0f8e49a4a01d9aec0e97d8fcb41ebafde7c94e217d5b8bf817198d96d0a4314fc427fe7740422796c568373bc415c842e64fffb1196949dc851000e68a96d50ef571b207d8c63a1ee758918c572a169f326259b3238ad349c222bed12f3ce6b8fcb55cb7d57436a65bdb0439ee235c15bb1acfd9341257a01a6f89b43292ee6cafcd6c21e6932fdabfe75b6eb5475d48f9bbdfd8a0f6dd47e1419352290aae7541146c60d73762f8eb978c72df88942741f9b351a2c249a8922b7aee89e4cf7c78fb0cd7e8df9a8d3df9068657e47ff34631ea382995d25c49a548c232e28254ceb23bf58d7ccdb2dd579f698e6a444ae22b3a15fd769cfea89e05c73e131dbbe1250dd8e0c705456e6badc3e80eb33696affaa35acc972b388b779eb33235fbce226d1fb882e244b087523353c718dcf665a81b4919c2bf6f3e5067ab6fda614a5878b0d517bbfbbcc9bf901ed0805f8b90dcc6a80f7449e76dc3cb1e4a847925fcce3a615dd4747c8eaa16c2570a3a6f5a0c743c1a40d11ef77045c50bd50eaeea858173f1eedc1dbad1dcbffd860e04eb9bf8a4213000687dd770bb0cd63399d8e99c4ac0409cbfc50fc1d156e59f6e859accecd4cdc209a17dcd2e4933e0c85a6a177ce30d4c506cd13e3db8fa8b43aa1bf2b7bcefd5d0117dfcbbdd405d8d760555d77f019f8f3cc71fc364f41812282243009eb0c22a978414771de2484cd12974590a8e1c420cd0d071dfa5b4bf8beea15aa3e3879e7904e1c3dcf3f18fba1ccc79182c6207f6466143b51ae2aa2e526ed9d396e78622dd2eb0a582b52f08bc28cb60a45ec95ecf938737a4017865d131efce4cc5d35d4c956b92f03726eead2b337d780ee93037bf10d3e629d354e589d6b6f35dc21003d50f790bb433435989ef1534dcfb3f36208c6d81d2aeaa7fc5bb67398493ac68c551770ea13f109922e5da4ef167bb2f0736ae4a6b1b1b471db920fb17bc42af109be4978b90e12dfafc16595c2a4b190f9d6e350a3c3ed05ba66c2a749b738165b7e4fc2e683cab9b01632f94c8fefe8dc3438761e46ad86101d40e0c1f5b4907c51517727c44423b7f7c4701c3f8225efa3616b7d035d8f904cf21213acafc2daba62b31f867e55e1f9a874f2340a6da326585db63a4fdda6ed224c8c98f48708272273562ff9607e8383a36f5f2c4578dce0f9b7ebf9b6282a6401d2c96b448e5b458a09baffe25c13469b84fc083b5fe486f66f0ace8196fc87aa9e55cafd7330b5239dc8c1035256a7c7979563af18223ce955857c2fba83eee93a6ec7482b24645c799805f425e2adb05687c539f0320b62730b3afad849a4b6352df8761b44ac171b7e2ecc36403a30f00082a8a66bd8337ce26e96a47c8367f023cf53ba3e7b8057a39997dd239892d1425e2ea26ad188099b8fab69fe0f7db34454c62f578d5e8e09ddfbae10142f43eb3af4fcb9057e9e3bf54725c3c82107862b82fc69eb36790a6372eb9765509de3d4a8a1ed18c8a2bff101bda36ac5f8a66973f17ce932cebe53697ed951007a3ee0cf03551d428bf2644b9b101cb4ed035beda254cadf43e97270a56dffa48b9cb0ec74770880d5d95f844d087ecfba73bf6e357c0ac5202b6a949314c927ad6d33351652e7d86e0b895e54adb0e712411aca3fd44df4a963f384f01a45373110b30924c5c95ddc5bc532a3c63ae68ef4411c7dabea7f6806658b0e41dc2248fbaf2f1268c842f14b9abdded7ff13eaecfa54c4296ff678b2e0b53557c0a65610ab46bc17f2c020fa150cfc7399f7d3e1c8ae5c16b2b3a8df7d68753bbb22b6a152821a06f19df5da468d29e6aa16ce4284c342c85a913be605e4fabe3eaf6f6001599a658e4504bd5f3ba8d58152bf5106481a2f073f77bcc61f151635d5595f91d1d195e0c78007ac58c1b93b273b7086d067ac3c37f8ed0979a063b18f9bb81df7ee98a8d7a2fe1099eaf72af8af60d8393cc4cc31bcad9143ce8c9b06aef0de57174c27c8f9e21b5ed39df2b713640ac539e06b54864587cf0e8a0a3fe1dd9bd5554016147358594fe44ca0833d461eb752801488b15ca00b0ebfb7bf0d7aacea2f9dd291321f137da71859e28d4641ff5e3093e8f31dfec00098be98a225067406e280a6dbd4bb601811a3f1e5b5c47e10108b890471ce5c4123f22cde54a612a230fe6bab049224f165ddf04483c2acc0786b0fbb045ecde80b093edf9f25be25f8b43907e02d94065829e161f97026d23f2fc6cab68d73cccfc83b60055a37ba2f5497038e8b157ec0f22ea2c87324e13a45aa71dc21dfea8ed3246d6dcc594a588f9a1eba2751c25e0cb1797e9e0f22453d994003854a60a95c4220c770cfb19b88a7e235b3e623e44c35aa4ca219ce95a651463017040256c8675610731f325a23ec7f4c64f0e02e73cf8626b6d85a0f1454217901f31dedf4a9be145acc5ba21c100bad3d2a72f498d99d9183054c672c268c945ff658fe51dcb2f4fc58f95870482ab8f522b5e8b8bc04f84496fa9e26c185e7f759778caf819aabfb115ae743a0e17cd4a8d12ade8a88022c4320a998d136e350b2599d9a0498bad9d3c0f1d09ef73a47f95dc7a3b8605724a04d3e7f48d31ec6a4467a577bf20f8c2b088267d919ba136a955ab1ae9f35743303ec132c16b4f10f59ed8fa638f59e8c62997428d04f5b2130ce1e60d4c633949319aae7499ab4939596b9bcc84d95b7a8efefcaebecf1b45de2c760c24091e20f348b097c286072325342ad8218d021f5e256b874b0a8d5d70d512719c87161c6cd3d34821d23d1b4770b517d59ba19b28db34bb3fde49c54b4633249b1c9b1033db51e88035016ae10f4e80af0e19f98cf879acb39bbdb7d3cf6f71367413cf63d31c31ae70580efc75b15d9a0d3da8fb65209136321e51f31871c362071ab3a4679d6c386541def1bd5f73de9c0ee92fde958b26e2c2c20e780c46441a28b7b4b262e6a031bc24cb1080eb9da6ea30867bed367f280d726a811c6e05c8b03831ef6db05701a75502d481fbd640761308f08ab7e070470db8f791ee57093dc2130a6a9e22b494a66768880521073ed340bfeabfb6bcc27a77e18f3c613c5930d0528c37fb95a67f2d44282878f9d5b59cec5e3b32ab274ae0675bdd2bfce1d0482a310f5fc064e71187dff45c99a157149560ffd6d42d003244d10944dcf1791fb64ba9e2d38622b4317986e4c6ba1207be210ec71feca337f806e3eaa076887721b4799cec5fd59fc62b96218a10c2d44165e53671a4f9518e8980c582372d86cd27a20737af025dd3dbb00cb87fc99e5c5eec355429ccc5f7c25bb60c89f18d52d937b15a52030726f98f6fed3ec18ed27aec834e85f7558f6b6d390a24d03330948f69ffdc542d146e085da12df2e4d1e6093519156c55b50f37357ec00ad89e28454b45b9c939ca975f45d2bbd1862c5014be88ac0dd7bdcc20e7540e90b1ee75361b1c7182c856dbde653e8bb3c17bb999de2eeeb7edba4c9cf3f30952309b8609c4976a99a68efc105a08bdc3ce1e4dbef7534b8f045395668500cef0fdf2a926ace1c4d776fe96e2e645c458d836e93fbfd289365c85c03e37656d0d80de2be5ddff8a0d7db75f753df209676e560f6a1ee955fe86072eee6a95869f61c078c5f032546ff6ef3c65f889ae8c15ec476f4287c6b6f49ef9d5bfc95ab09e5c9680ab9773edb3eab69a4e5f7b7fcc8473bc0cb745fee6b25e29cd7ec5a9e3cfde87fbbdaa40c4866ba4d41161d0ae2af6c1f02af8d2a9fff595b37c36be6cc14cc5c414441736b164737391f56daddef6107a042cdd15c75e31b401f7c551c0ba903c803dc65fbb1a07f8f09f4e9d03ffceb85ee8178e564a874d339d9466fec3cab18d0b49751f7157b9dbf3952870864cc8d69e121409a5ab0b317640715419f6bb7509d18f26e36394cbc815ad8680255ba9ccb575c5a5dd6d92d6f79fb4866473a05bb93094f85304c3fe14a4099cab76c7580d18e6a3550b3cd1aa2d5a458aa2e844261894cc0aa2b32afe6fb5208ddd500133beca53ebb0f6de8837e49c4f52d9d30803627368d4536aa45b90b928f90b9621d323d671f6d409cee7c578abc9fd6466f919432fd1a2fa92edf342120ed1a84c73ac62c0a6a87c2c94711957025f57c20855a4b14665de9af07c6cafb5acf2461177b1e744d8770903f02ef603e63b14d8fc68fdf5d77f923b01fca4e6d21ce06c1623433028a78499bdbd2b02f1e77e1c2949babab9ec09f59317d9f28ea02237c684cb32a70986fa1a45a4ae468ad197c2f5d53f98072c32fa5e8720796973ae97f44cab393827258c7c53a18faf283a9f1cead9798571b281ec355b6599b8911bc6cf0171d6ac02263074abdbaeb37977cf82671c06277c1dcb1336f702183891a7be7e57e525dad6ddff4df5b2779a5d9a725c1dcaec68e8958c87ec896afc975d73b0864109133190ce6f77f2c0b324c345454c29b4c57c48416fddc05775af457914cbecf9f757c9c85acd3349a9a16efdd6808607ff1a23c9ca65a4d1cf3ce80eab9588c27df211d643034d55898860cc7f62c6abf3f49a6d5f95fd4892f7fced936436306e14ee8334c75707238af79d6dd0b0fa846fefab30f48e8016ba2de6bf1e51e7756dd7c80cd23e3d64fef208afa7fb5cee0ec840483bde4eaa1aeeea429b58cff717a0a5c7de9c8611674032c39614371838f4b1854741827aabdf65a849e8a12bddd693375c47aed63c2e6a3648617870fb3476855af1f7183d78d78b08735f019a12f56c08797d7e02817016185973cf604d460f779276f1a08780823ecd86b35ed8e55ffcdc793eb50339bccc62796ca2f60df4aaa545cddcff011bf675439fecb33c218c0b896e6e59ea6534320d862c6308af3d13ae0d8a27fe7cd2175e8042bdf84de90d1b75041389bd61d91c08179723c4f9fa08ea1f3bfbeecc3708c3af9f4da8c0b65d0f57e361e34c7f1d71ec54a93a5a9e0105b7099a76f58defa325e6ee80e72e3f24b36ab5193930f38d20397eb45987cef886d29b74b34abe2756a53a6e0e79ee693cd32d3a70a0510eb4599ce2c300fb9b4c06e22d1e3a00db3168b62ebf0139a8ad082b90ce148490fe9f8ef502e6490d6454232028da8ee5596f4e7e30f7eac16c7ca85106af705046ba4af339f52cff13839d7ad392caa48b579b116ff8d29ba4367825c3f036fbef8ce02133d8f928c8ddb72341783d48599936c2926d2c770eb4a54922aa7de9b04a39ee70f3d028e0fba4d82695796b8f4c634bf5cc3f22b210a53965d37757415fdf2ad8151c5e51003f84b0604b3a539667aa03820d925645c753ccf1f4832283cbf767a05f63a013f524d44f324f9c4d631843452d9db3f6e14284aa3b2c35a08d24fd548ecb50bd6a38ee6fb96ae038da4b7174b2580fdebf2f62c714faf7d9cf447d55fb2bc5b8c7c3ba39e4881599343da03c16a5e38d6431a489d9d1c6a1680ca0a0cb2411f6b31d2dbc425f2224bed8bee2f6bfb9765c1a1b25c4115b03e103f3ff38ad37193cc61b9ea4f071e75f276ab6838ea4e72a73787cd5578ed7ff44aefc683b91a1a31039e12bbb451ac3e24330956189a2508ae9b2c7ccf816205aef836924e9401410111a8f22b5ac31ced53d07be6435e5c0b42fd5311e7830a27511a7f778afc3f237b4111dffe1c507010baf75400f23af9f3f898bffc002f71e16a106208171d592563b2de2e9b2f783f2e0d066fdb75e6b7a4da9a85ec1e1dc687117af7b3b164560615504e57ab616925fcfdebf3e760163c8e94d87c21e2e6a8d5190f3ce74e3fc61934d8f0ec9eb7d258859b066e9e457345ab899435ad25b4fc20582baf151d1fd3e925dfa64a09bfd37244dcf124bcd900f4516c0568aed3c031b8b6ea7ad97858568200ed5d2173a1871928238f5aa6ed0c5f746ef08e29ab63778688826d1fcb5b54f62129e41632729cd6c137fd0027494c6e1198d305ae71971284be007687692adff82a0652d22d77a3825bdc0f00f3468bf27d286226c192b61f69b10c150e6ce2ab8d41593c900c160d9236ad8ce2af53891217738a594fc718beb69462e06c52c17a91d7701679e5e130294474b621c2a20204dcdc8d04bb2eec148f9d5bb2e25c36538d9d04ea92c9ffd849c92713e978ef059dd3d95a400b63cac6c66cd4b796ebb6b26daa3582e52ebb40df50736480ebc9bba353aa63b95dcdbace018dd7dd37bebc4b224bdb36d17d522f4e0d29e121f48131353f4273dc14e70b096bd2e5f7701beba79922d2fb8af0b58c349a55075d6e63933b297f038a7600e34d2d83a05175c7da7cb41ebf8acf8a82e9b14d6f5f74539fdec754c1a4216faeefe2777cf828febb63ac9d931742ff179588516fb64aaeea6710030f1166b1c81454f99d89f762fcf2574ed782e568b3446bdcf531fabe5a4a88cae8514940edd71f350bdc58487cf2a8b0ec6a8429c207bfdff85088094c4e64672ff4f04cbd1515ceb113784a57118c12864e0e1dab747b38a864c0eca741fe0dad8ab3b5dbe2fc6dbd205b841f4aea09323a7866d14d03aaebf9ab5d50995a184e029e166eec8d274c23a130ba02310e785c5f8a55d545e1d60f846ed75e2d25130bff0666a5b87dc76dc996f1ca258b0e719fcf736f17bbb63ba3cbceec2d08f19db4a38ed9ec7303a087b1b4c590105ce1cd3cc37824487e14184115f63337a7561bbecdaf53e1d1a77a3b99b4ad05166d2f29dcae6bdcf22ce1e2cf563e8d20c7fc86bd43256633c6026ad01d6694ebc8542bdfd3faf47181a0af47a6b4682b927037676520c2fc7f5a90db7856acd8f072406215383a12d24908c8d6baa3fdb5cbd22819e4c1985fe7f2933539b9eaadc8e4fdfff2134f62713fc3f12c3192456fa85973d713b3ccba6ba5b8bbd9a95c679eca025fc97b4c89c803affe6ec2110df7bf7bf453ee6690cc523327c320abbc0fc7fe1de80946d1b9a84cde7ca056f1da39f1f8031e4bc191c4875a9cb089ffeb438ef742f41d7ecc9cb248a78dbfc1801248eeb94ef768582e89ba7a4f4d5b2a1392cd7520943abfe9476b2e58fb3fbb523e7d9f5ef0d42752e7e72a631b3a62c0fcd714cc577a573e0d9e0baea518eac77612763f940381c18777ec01ab26d103988927246063bafd0a8e1257a263308496a5be44fefa671c554919c0d45cc28c56011ae1d628f14327ca575d790c3809d304d48c2414403d694b350570410d1524abfe75a25c2ecd923b2c645f922d684e4728388015f40315feebe4ea6d62b8839c227c70b78ac88184701877feaec52177c24f9f33d6f3955ece2e42456c499fce5d9f934bab56b95361709a32b03011e826d1a578d0380b64cd915fa8dc3bc69ac47747395c71175ae72f0b41733d30ed7114033fda1cdb0e2a53a211f9e27b76473da12df3eae11b45ff9f0363c103ead2d4f9c1d6690c212171f945d83e1824e4ad673914e6f79f480c2653d52a936514f812273350e4608adc7fa8ff2620e9b5201a9fd630df41943b51c91c7ea888cd49e7b2d1a999107b3bb719a8e30a2f50e7f294ec38939e266cc6aef6ada74e561632d0b2e945849b5b6984f53f9ef0180324eaf246db307b926ec2612cb540feb4295235ecc85ca6260d9891d51240e696e0d6fcd7e085a07c18a50e3dcc07662b36fbb729323c02172a5bbeddddb40cf2c7c2dfabcb7fc56aef26b14731e3760b8666be89f92506a8effdfdfb89dd69f9ba65b97e109fe2af503bf4963bc7986055ecb6c83649b3d71ce6ee6a1d9560c75c373b461dc5b708df5c3199eac36e9800f99fb27b71a09df2a8638bc7617762eb636522f62da43a3b5852497dcaa3e4a6edba31e2245dd5e81d34787592f378e13a0151017cfcd902f8af4651e8a90a6812c24a899197c41ff229c59375e4cb046da34944c08e6423c5f18690aeff366482abe783675f96ae952b45f29911912299292b89d543b82dbb42b4f2955b446ade148a60b4819fa98c64489e988da9bdd4e649f73fabfaa962a27f1f1b25b3437d5949309f8bb5dc8aa41e438d5fd2a920d05a6bb8a24cd68c8198734db0a3d6ba119a78c0911433185c93e1c1da3b0c164404dce6a592e392ca2fc7328850a9cfd72600f8e61644b5b87f7918bd2a4b0b8383f8d7d58bba61073b7c86a075ca50e241b6f2fa0f461512d664c2e17cca56611689884be10257da256a0223d6443f2ae582b81810822d1e3d8550ce5e44423048f45e944998e2da65897f16a60b80c3e7220c58b99b6908d8bfdaa3672c08d93594e5ceeef6f430af92b36aa0d682fbd54ae6727e50aa77fbfbe6859ccc186a71b0b57dc68fec8d1fb9bd231345e9451c26306769f88c9488d6059170d8007891f275eb118d6cebd1ea16ca710878dbb609a4edb1fd811837acbd083d57ce204dbf402ccac3ee0e7ed3c3886036b277573407d0cf1cb25ba750e4f034738d73ddf40e0212ec00ede12711bbaeeb0fc9b4c134b974ac62e339b2f86cc36aa00b59540c953d0a5fa344dfb9195791986e1942f0d04f4ed44765efbbf2dd1b1ca31d0976a76149fa9a59e1bd825672e2a72ea2c4861885f73db480dcbc7d09cb041024bc0836c56c6216845cd3c2c25e144a1c2ca7fd26d5cf0711c91449f12aaaeda26a99e8eac2815f99233b9746e4183bbb1828888ada3b9785f1d05adb290efd62427c8a911fe1094003ccd073a792ca4ae95a2bfd3ce4e4a25070a19a1841822ff07c565a46d2853cee0380691ef4fcbe1efe872b1901a8dfc40a43d8134000857a33c09e661b07f918d27053c84b546af9d1f9434d8c415d0a1367dd7b602e3c3e67288ef0278e948a7736b6dd70462d5d236c895e6f5b14ee99732694a09617724d0b8635e87b756917e91278ae4a3d69ad80adfd6501020ba109a731c1ae25893d00fd1c8d291a7971df19e7bda1f8444120a2d4b3eef9e6c7fcfa465dbf3338643fca1223a09a87cdf39f9452a259859646f5be2ae0e4d2f5261ddb62dc1b9887d79271db30b248ca1b1441f0f16e178d2dede47a9303850c412b43c3026d8bb3bfb84a51ea4ffdd29e0087acd1b032617637f3440fe4d59d33c1bc920ceec1f1580c87591be760f9ceb6d34aa3ed32d0bd9e8d979015e09b8b770fa53cf50378e59eac984ac02dfb104cec66407371ed3f36df10347682703e08946c5cbf27d9e594f89763e1b56692ff422f07a06fe0f4cc57cfbc0bf36d7f81e343cee5a066d0ae744c744674f5d43c70006112a685ec0a05779fe722367f707ab44ddd6a8003dc0d22d09c6b7e90c852b153fcfe1cf29df8e88442ec1c29b9b8eba09fb93f1b857f048fcd15e050a220e6123e2ef233deb4a84abee1284901a5aaa83fe281f0e0987aaac2244ea9f352039f362c4f240d8aef19f15fa18547e098810becdc6b969b29e722d5cdfebe323f410070e6c79387c3fe79f78a1e03165ec68a2d7e22fd7ef7d315fbaacdd21b7041fa7888dc9da173a09f2d5ffa98a768cc655cc40d594849efd3cfe6df3eba135d5d9e01ff8befdf0e930f3b2f101cc595274c92cd99e4e317ba49f63ac8c029fad9e17426bac12bd8878506fc9bdacd5a6d41de604732832396dcdbe37e282f4cf4727202d7a20708b25ff1dce1c51924806ba415492ff979845e8917fd985e073c954d31d45b6a5e041dc134b6cdc4c041902ac17cccf20ab66feb268221fe8117572962043031f7258b8992191b66222ef2299c7c3be0545a11ab98e4225b877a5050ad528696c99177f0e6a2ae4fa92e3719748bf130f6bb9c0ac1880615fd6beaa1893b1c3f44df9d5ac585357e79e7c9f45a97a8f7faf8860c62d077f5756b860f9abe0c225ada486b512eab5de9e10b28e958736cdd3850d1dce4e432df3ab5e43b3e982cd64ffeaf41258c3547dd07c6e3aa9719ce8a3ce7e3593e8aa5142aaf98d48ff8eb76037842f1c7317e635e978d8dfa68da76a6eae2c839ba9f3895be7d2e4991c29c908c5fc060bc3040a8b6a65c49900eb5a018d27e8dfb7d771aab4226a525365ba8b45163121384550e3fcc8187fcff426ee21f50a2fae7c84ddba3697eff323cf73ff986e7f478b022a565c120d7d23d484814b73eb9e27508c5e405b34f4f0a0eb5c6d0b1b4fb98f57245bdd65a15221537481d313191ea62f87df4f32d393d5d9b695952efdbfb56c026463e703f03325e65b62245a907e8404100daae6fc91b3a3cafa95189e1d611fea134a5fe59dbf0bf776d94ed263369449fff66bcac6ae0fafe8d92726d134e8acc34399eb500e97c29238d5519ed41691094c2979f49c8723e03e1b5a757b61ba1204d692b0b0490e4a530d7cbef9fb39803b04fc89834a568af6565db06730e692a60827cc4162a2a5f043e2b6580536f3b6cb332326ff2f4efd2ddf4a2e09b630edf06057d7eff424de0b3d54f691998bc6735f3a2567fbe2733422fd41f63ee4ebb7782c74c772b8ceddf5657740b96b0e6d6581ef0025337c5638623389cc5c68c5c520c767ad6624998b591a9bff15b5e15314bd2f2a20885ac3a3083fc4501f1e8c450f9a06dde1861e9522c11f8dfa353499b2938c83e8af41b6a4343e306ce705587f5264e2d774b9c78e2390f060feefdd3e609d07e06c5ec629a85b3e87eb361567ca04bba76f8e7f94d4241f4a97c790d7dd80e1d902c9ee8a3022da87d193b72e4af15e26455cc865860e392ab1061e507bdb912ca6fe68914c83619f6160a95ca5782cc537bcf0a7b705ae205bf46bf060bfddc3da65eaca778c7356959f2bbf92be5907d5a806f4f2ce7a3866cccdd766d674f1e859023b09c8e1e3d4942051661e3d32f68cbe29e891937a0a81ea106aaf1ceaf0e5166c03a16b973e17a415388c27547b3f065b04c52b2f93745861c83ee7c05caf7d47a3565891f5084f2607be74aa0816f7706e37a0d024e0480be84304363aa0d1ddecda9ae8b970e94a53a9137671107546fa92713b4e369995bfa92d21c21a68a7fad6d6c520961dddba58a2d1063bdee373e9bb319c61ed4e0cd01ee265f3eef27c812b29fb5864a40b9aa991b9b3a11f5c96b74102a02e8ccf194499840daf5329dbd575a8b8de8d9e89311666e4ad98fd0e3e06041eb0d16a4c681edd991ce408cbcdc5f07acce2fbd760f1ca69285fc2fa674a64e665518a00dbf0a5ec3e3c5972131f03ffc3e32f3c42c0ff7d0f5290c667efb01f2605292ac45c21f1204d2f7174a87f30efc19d3421b6dc86206c34c607dfaf86e0c4abe0d40b80822bf5ded19478ee6e10bdb195eee7efdad13b326c946656fac17046b2013f3ee16b8a52ccc35668c73dae0a7d11fccb565e356995a29a0b697ca991fc4916b773fd361999efccdbff0e95e982fcb0c418cd1343e03c79cc02e007e490289b843199d3ec4078ee8736c352b61d794352bc181226f9ba1c22fe3ba1f51cc690d2b2adc03882224f137421c51109d812f5d5486e7638b947d2637cae4bcfafc85e5ae396528cb25b8e1d0bd675afc2545fefe25fdb968561f7723f9a0704870de315156c711066f4e8ae780ffc4ddf1df99102dfe88ff0c8258db137288d0bf8835590951273c2421ced4814d0a2de8710871a61ddf3618dd39eea744d745bafc11ce1b9eff58c614e048bd84a1243bd7890e49c5872d17bc6ae1dfc79a7c2f2499f7af768b9ded367e0198753150f9d48a2a1c6a81582bb0af95c1f059ad5ba3be45fe50248403eff8cb3f0fa4c153f758ea7f83ebe4b4b6bef35acfc664b1b2c929508ca300578bb42850c8f3452914fce259185afc3e3d73ba8204e9cc0690708941b816c68365f660c34bdfd053f0f2a00a7542021b26f9d2e4cb84e517e2ca5beeb9fbf38fc83394d8a041efdbdd79f7ca2f230302d46fd2614e274d801e5a343ddfd10d8a4fd4be67f68311ca7c8b59838525799a824f3d700a1b3eac9823bcdf507eb5680184bdb0db919005a29ab74db208abd52fbeb26123f23d11a1aa9b5f9b4db2505a503b2092fa0a641decff3b887fa5c83ce92063a71ff1bb9fa3845b006a566a2a279e02453ffbc5e7b55e37f5bbed549ddb21037eeb84cc6340ae65f203ae9323b3305e5a4aefde3c0ca7ce00e4828ebd5a125e27008375b99e6dd3a3153f3463e933923325b783c76a243745632a3fc3d40eafca48d9827d60e941c36c0ccdb14b391a60328bf5dbd67f1cfdd2451b83565d885426e7e760898346b0a051f783e206f0f0aa608408d3a745c16bdc0dbd68df5da3ba48e685067143ca9dc22ad699612b3605dc1a8a9c78320c1193b4ab66d1cbb39489092afac10a4be160ac20895c2194155b449400a50ad73126b5b31cd01c448f8230c8f66779bdef9c49a8dc9e5261b61448709ccc5441f74ee306831c4870bec1029171f2fab459aa6660eef9ccdc719624258e64e3fb65787d08ed06164952a0c1c5a447e7415a63a13fb97f2e4e7c9299946431da5417263a309c4e646aa6d7a4041e86539919b2aa04864a61102f9166ce92701ff8266500eae080248c350c87bbf7bc462ea8e17c574137cc4a62f146f7c6bf4aa25563df001feca5d8e235cbd537fcce536b3d4984c087da65a63dee43c9e7b40ecccc98046c5f55a1b01f3252a2a3fbfad47d7d9abb854a7cc73bddeacc5c45604f5ae440d0fdc24a6949beee27b566ab0da3d5d404a3ef98636c331db333ec57d4322effb6404a2bb0627d1fdf97108289b21409cff09e3f5ddc840a8d2179530af1c282da199f9f08ebfb2c9c655cac9896f74d2b288ce288897b197dd97a37e1669768640d55fc7b34a78da7e10fd37449e49cf61373541918c06dcad35a72ec57c901e517044587858e7099b7a372313171a96a3eb84f6920b580c313c55c44a305f99fab5071c7c1a02ddcacd6ffee5a904b71702efe34975d98f868945298663be0ab8ad8e62270c614a6bb92af0aa5f5825f3c20b0d30d75161bc504519eaca4d2bbba96c54a33f685eafa21a73c7a527bb2e09d085186f0dd78271fe494e4c1bd7dbfcc7fc50d392261c88ebf5d285261fe8c3986c82a23fd6d8f18b07478c212a2d98ff4a1eb959ffa6f44156b368da00454424abdc01276c949e912145bd121da46aa970237ae3b4ce51b5d601cec33df42e794e44e2db3bed470b299d2c3681249124505ea4f5b23fa5b170a9e2c4e3639a83572934df95aea302799a65500cd3de96b24431e417ac81e6198455e0f9e11ec1c602d42cacfcb9eccb41c33eb34207532beb52f3dba829a3cb374a9d4df710a39459c3d3efc571fe7e743ef3053f815b49af42e838b1ec164af1b1b270ff008ade0de13ac5374526a4044aa314097c7e740e7cda8a846beb73934c8b2bfaddcee606fe5b53d637a0a7980bb7524ca9b146c70cd90bbb5e83ba5f513944d2930a6d4f85a6a4d4f5c93423a4ecbb9f1affa35645034fafc27c2ef67fc0d6508a21b2a26f6a322a730cfe03fb791205e0822bc636372876d9897682dac360ca44e338a1449b7a50a2fd2d5149521518f3f4bdd1707a3a50b3b99a84c16dd9d2283b8e926c256d41caeb420a5651bed40c703022af934dd3748c58b178461a52a20c9a0fe44e97e4fd1bc5ab92baf76dbbcbca8dc505c534770f3aca15ab15a66571de0ee39e254c0cb2ac3a57b9db5ad69be06b02b3e79dacb1255b0aee870252589c7f60d25ee1d7b1f42705307a120f23800dcd273846003b5d3bd6514715dc52d20fe53cff00a3ed0b3ab9fc4d81d350235a736506f6274808dae0dbb129379894cf7ad3ecf74c47a0776a80bde83da5ca79fc29361945375d6b82d7c66d30fc44ba0e4adf53e2ea84b77182b058e390337c8e6b7b952bcda75c7bd4ca96129c388576e2adb9c98b576caf1cfbd95009b33ccf27ea0befb7d3334b9c6ec9029cf7be8f1494c2f840ddcd6436389ead1d8203cf9e47a3d937ee108f754745a2bd4e599f9cc8a2ecb78f792df0ac3d506450b4101b83c6ca05f562c0166d1809d3a4c0ce47069b568907801a29a6af9c2b7be093014366b6593d28cf13d9e7d0d7da65c8a39fd814e01a3c4fd0980ceeabdf3bde392dad288313ea9e1df510236377b9d8fb8d5721c2d07906a50c9a95d27986f737630a3b2a365575e69f260d4b8946c0d8e817e737c215420bd7f1d2aa0277fbd3652f340f2f0660eacf31bfb080b613c88485cae6b4e9d48c00eafc9d90fad2e305fa119e8a9ea9196d851aa4a40918d308ae7191f8421333543ff8f52eaa781521d3e99f6c394990e07a60d5df05e418d0461654276063122948998ff6b9cfac54ea6ae7b0f56a3316d292e42f31bc1bd70d69c67036d693074dfb2126dead6e17367ce8f6792ba15e6589e179743489fa013e66d999fed6feccf6c1d25c578db884c44522088505123cdccfcd024f0b6fee56d0b7cf5912b5d6a1296a5ed17a3349ade28a253b197f31b0df503246495e40225d0a8fabb8002464c07f7f93a9707b0efe670a2ddcdea0f35acda5d247ba87c074eeed5c8b44caa5225c9a20118137495ae2d8baa6dc542b5af8e2d1d9293dc45b72237128848af657308c97aaf65cc51153b901e6dd8763edc283c9156db54b85265421a4797712929778b7e4b03fa16511d1e91832c4ae5a9a71c5899f4a86b037b5a00d2a84861b30d1c50a310ce0e88ceb09c75b93dd10f7b707836f1b975734bc2c756a4c3943d660eff7a1ce14eee6ba1ff73162d9e41d20c4b8e808a69c217706099d54870d914cc54df1b18611094a3856233e7938b981590b2c0abd67b91f6354043298bfe4e0fa98f9a44828481e03e75ff8d9fc4f6b25d226e272311be91f5c9f04bb3a5cbd9072eb339b0c77d00a79b263c993a6d67a0fac80a4a5b63d9566f4a35cc0871e52102d93320857e919f40686a7114c4e10c4b933893510c40f0988b58a4925318540558b96140065a10f576e2af41b8ad81e5bd329101607e532604fa6fd41b1beeb0bb6bd057a19547955c3ef596e96b91b37ccf248dc6be1eaf5a855ed4b739b8a3a464ec67ddbd8d886ff93851a0b85b626c5a936fca77a286042e7d3c1098d68503d06f691b9650e4aacf91d940efa19e16c09f38b15e6ca99efe86ad342c3cc183be958149e3df83eacddf7fa0c42dff4590433b7f34902f50105e04d5ed182e757a17a5005bce41a04e2db2c096c753df3bf49b9bc872e54223721cb35c447c4417512d2c2fd7fe38c3ce7bfd8d865f560e145905e210c29f3ac14bb4bde01bd0263c0c453cf6f495746466caf66dc2b93b60fd6ddfbdc6dc53a1b7cb7c1db678316b6bdf7097e9e6ad7ae667292474febe8a10fed6457ad931c260551ac79457820fdf125a91f77ed0af90d802f810a467945c7d723e97988c5e37c199dfe57969f43393493bb2fbe08d007dec5f2bb0b979bc9f6d86d2aecef176a12411f09ab2baa189fd59610c545f216b8b73faf0c9775fd0e59b70e7cf36f7665d3f1094f882548f42fc90a19c0e39e6f8406b57aabb681f5ff760c5e197a0738d51e2a0bc54ecdfa8c2cd4c7248f71dbf2a4ac9a38a4ed0fbce4bd2f926b977e8bf2c5ad25aff92b9ebefbb22a42049946c263f75c712dd4bde2fbe0cc6b793ca7a59e26e2a606ffaa6d6331a0611cd167d148cc539dc189529526e464f51439fe7e6ebb53728f013618f2363b18d35d52f2832499df3d76d8df1516e1debc0972429cea1b2562dcaa3386e2d98c33c54fec95d0208b1426459d7ba53607a322217cb644376b271e3cbe85e65a32394208f2754bf45d3e0562e9fd68839af48dcb047881d99f911a90a897da51cbb620b1d1f4dc396828f31fbb9748c7c8aef6f36c9d4fbde77e60288fae8469c392943d00b5eee599855997ba40bdc44fcfc5bb5c0fe9346cb03d2eb18535d20ecbdbdf6e7cd082e40674ea46b7f60c154f1bc9bdf6e26f433fd4c72012cce2848e5b5b0301881f2b8e295ef9b94e50fec96c27c49a0131577686176c00e020cf14f67382ecb848386ab37d3626131fdbb10340b9e21cb7324ce5423353c38654cd65743e8d3cda236cf54df1645cd31be319895505f3b8f18abfd4237a25c6275e13dceaf5db4a9b6220253b04dbf9d1d416e9a8f06b5d6bcd1cfa0b5931960fee16cc9897d17ff8b16be876eba1396047c158236a660f67e6e43ca373ffc45f29c585c494df441a4be8e7d62a870c0d15c6ef1be82c9d00eb6719ec30d1abdbbff7c4d58e5ba2c73cc2e2b86ff564399604f6c3589d71e48cc39ff17f2fcfa1aabf8eb65436efb2432c7d44f796dc4e4f92353290bc66956126766ef1be88401d0893cfaf239f15c9d6fea7f6d0ba6a4fa81e50db40f2fc979f916ece6861dd58876c95d800d605eee9d1e6701bec2da7ccc3a4e5246e21f4396f5093a96ed3f6b4216bc73029ae3f042a8d7df493a166937cdf3e21ddde52c80db119e4744e829627b7b2dad68f1101b480ba9a7c0905f2409fbdab2f23c61cddb78506a2d0fa31e4cb51c32ea16b47503a065b39818098a06233c4d610baedebe7c4b0879db1ab8e6e520482286044c639263df57833e9f8a60450b9cd301695d6894c933903b211534b19a406119b5efd52103aa130c1054c8c9b63f214b93bee92f5424409c9c63708049cd3e476f4f4589aae0611f743b168eaceae0a900b6236a8a46a13ee4e8daabd44598e4865dfb51b5bb041a74320e0bb0688112cd64db597274721830a063fd9cb0f8cc8562b00f5c36f9c58b8453151ba75b5dec2894a7cad91a1b0340a02525ae76cbab1814902eb57da56652a726158368f475e3d1aab3518f610257cb83d81eccee9a9a5b359fecbf351e56bd8b08831ecf5ba02b5403393420a9cf254b8b25599f987a764792d69a7045678ab63e87f735f92474f38633cd586fca80698ced49edf2d13ca435b51130bdab9bfe4bd7a3ed898c765c1d312aad1514ef1c3ae0cd48ac6917469f7adb73cd07f72bf6cd90eb81f1373823d6cdc1e45ef951b116611fb8951746a7f2ff7d90187a939ee33c8fce8bd5500b70331e717a363d1e51bfb3d0cd5688551502075b17524b943b2c89f98bf7ec73f183582421477ac68f9e6a1e1a1c1657a887de699bfb30b5326c21443d6a81cb090605c1bfc72b62b57a6f43dee5d77434e4b7f2c2a8a611e27d094d84cab3eeaae10e8f18891757634367cad2a44677e34bb4a795e9a4cee9b72c31cb98ff9020f840b61d6e43b150d100e20891cc5b03bc5262161f907a763661ff9a50822b14714fac8a54af0c20ac1ed19e88200939b8c6158910b7a1578c91c34ab97d28e30f9c057b0a7348f592005b940850f3f582bd502bc4320d1574dad762dc598ea4e348676be5f9c91e5d0c57b5e0041d5ecdbac4ea734bd43b976bfcba7e56c17660097d8a3fa76a0c84c5a4e9dec289740100efdbe8a191274a3e033e3882b0c98f72234a7c72ee0d5447777d0a04757e76857ee43ddc78dff3699dcd6b3e1d444ae023625b76cf3ec9a9dbd8beed81a8f9bb542d3ba655713507fde884cc7145511e7818fea85e238f76651484c6d9f32ea544152a8dca2a4500e03b202525268a20eaeb39bab5519056e7ec922292d215c693234a0a600e8a909dd40f05477a857a479283e26b39d01abd9d8dd51124a30934946cad629ff83f921ecaaaa546ca71ace107150de3818d39647da5df3e1aaa7195d8a732dfe8075de53ab8ef4f1109b6c92e6e7bc5c6aa87ee6aa2c5be6036622eebab9769010fdf54fc4f9c9363c6164c75f9c03450d82d9c53548231c15a91bbffca2e11845a4c8019e0149e7a44c8f89b128b3dafe659bbd78dc3a0f1feb9017aa17b5e0bcd2bfc0b8d843360257b9a103355d5828bb100120c4e9078a125bd23999a8c2b037c0662c6e1526f30c55e61e1b8e8488a77e8e93b7501698320c2d4eda9c4f7cb01a8d607896f8d0f460b68ef8ae57c86eb2b3de7092bf307e652b147c680ddbc9b6c5d203f68023c31b2cc5ab4ad62180eb08961ea7740b43ead470721dd9ca9caad2cefca6817c494a09f97683c44fb645f01d8b59606657b9ea9c107c678f632b2c29b520dd23b0e20eb0e059aade6fce57cb3120201b392096f4fe6641d0daaab6ac564e62a7f48553183b27cdea09299f2d7ad0abafc88135837bb48f1afa034c4d3a6ed8f857521a474239aed6c3bb0baf5400ccbdab00c8019ba4351193ca8be67afcfbcf0a0d6c5de060c7e7beb2f02c9ddfe777e8cbf29034f724a248e8514eb4553934c5450fcc8fa029e6e57641532aeb70e83084065ca6a62e9d38a889d7acfe9e56b868fe3b429597ea36f02ab8696e8e9a520ee7c59df0d109e73e42fd11ae7a9c36762ed043a9bb821be20aa15dc6228fd0c9d5388a83d38e986c3dc3628e38b73984608aa7214dcdd0fbf5900fe3a4b5526e02ed6f6b779b3160534d35cb7d9792e3237dee31ee81926ecf97b465e1d4f5d268398bc7476cd6479411cb08ff90382b3ec582901d7b281624e26d925e23cec6c4be8cc746f8d0c20f364b72f1c36842eb27b88e1f1977a12d8fb9578b6ae7fe1ed1df5a5d1c1ac245ede6ce776b89b11ae47be94cd67b7eff36e62b7af1f0d3e238b027fb17944b43e455c33c92586180d360a76735da5646811ba50153046771edb5179d6c39e48532f938935617c00a8923cc91e69413ae20a52fce7fae8a6c6580c7a09d74b8955cb0f0328b278ce56250668afa34e4268c6ba00022b58ee433919eaf28b47d765ee3a0c263984934503f56456a79724212e1b4286189d4fe6216fd465d4af38ead6e727a52038c9106f173d32d53e0c847a41521244634631854e5096e71f0623c4eaa3ab3803286bd72394fc1e938b95c289daeafa87de41e137557f1837be8a854a858354850c8461d0586affce899cc090124a386b92893df7d64eec2a3373c02684a2ac8164af3af3f517c87ae9fcf22bdd697d1c4b67319874e7db5e360685295fd932cb4a15c2df16edc3a2741a410ac7f794085afe672d924d7abb67cfa1d826eea9ccc2fc14f541651b173002a171b940f1d25f5262918b4f8eaf0d68e8fa9665809c9e07aa502a4510f43b0b8976abdba4ef4e3d9d718d95b8aa241ed5a516be7b2221990bbfca2a8cde204faa16b857b42aa9ced6d3ffb33b5e3f31a3816f64fc8eb2f7c60a990bbfd243cbe44bcb0a76d69c5e3bcfa83cac8ce73c5a7aa4f418da0405c7ac9a704a181cb17a6ba192a530582695a73dc56007b89ea0aae4148618412213ec8781b87749fe8659d991be6a4af65698dfb24c98db46ce2d787af7ec1677f6157988c88cae8b780affec7097b44d9600a4ce41a7c13f5d378544311d844c2a7eb79c9c4cfcfdbaf77576347d6f05697852030ce638a44bdf8cfdac8c173445632cbe256b922edd12feaf52e3e7d74936e101b420a395ecf4de46360121bacabdc937f7df25cbaa8062dfab913b28eaf428dd75f3cef2eb465d08c238919be842356e20e3d1d1a2e45cf1921493e28ac71e8b81af4039f3baf19ca365e57d28de80618f74cc73ca5223f546991d2266042f17f00259ab2ad1c5faf56c5463900a35708f33a911d0536ac2625d53ea8a695d3caf83a4712459e95f6f98eed9daed63f328772ada006b73292bfe5c40dbc8a2077a9373f86f6e231e20be4c4ae125994220cd6b23f44c25d600111faebe5c5b64c1d17675c4a1ebf334c2696589f47e57af6ed4329d69f6f47b2d833ef16ba96fbe971041b48c55cfd7be4359c4dcd178bb92062500497f5bbb4cd29c3ea140a4ec27d4a46c54a3fef830062040b3ee65d4777e4b2beb733f1a86362148e5f02c4bd7428064fc6a4123471e7e4ecba32cc22a5ec80cc235f3c0cd887476f3defe956c4ff359a8fdfe25bff664e7050abf670b7fc538ad1264a844a5bb678115096e994f54de81086345b20e820f0d79524f4f960f4263f2d57d00c12d6587ec294cb13b6ef4f6df55159537babe10a3a0dc122d3da3e934ebbee319866ddf207aac99c242078fdcfc8ce656a5b15a3f468a8985fe2fd0c86f15c669799e63e784798413a3e083107bcd178466c276491223900b6a60c9c3bda2163cb8c05899829b48975af6415ca078cc16f39c7c1cd151f327dd96a2c5ebff1f8a17f4201108cbeacb31746ab353afc606f15b866e21f8e96e8ae71f07ec41f1a0cfa4ea4542463edb3186b9b24644f2029b3565908ffda3a1ac08bfe2945899ca83a982b58c251c77da0c1c55b5c0ba1862d8fdf6a95f2c77fc0dd54658e345f691098a8a6244da25fe268d91d64a06c59c7bb65c016ab83b5965a29a635d09519e87344f621e57a55a42750aa71f99f373d9ff309fba4d793e77b020852ec0d22ca33e98ce84bcdc578e6b89f3dae7da1b63bd03b57dbeb1aa61d6b3f84b009e1d0d818fc876ddcadd69d926836f0d4d153c0fa177b322723a295807221bb0a8b3ded934681a3498f9981e7229ed23a1da4e76d6c45b59d0a1a1eedc65731c4f10fb466ba199392b2597f3a722c822469a26326f3bfd4acd83b6c67b93b84e6ac0597479f12af6185b90efcd0feb098bd13c60f49976f7ef6c9de931b65e20fdc3a6d98f7af51318a97c6dcbbd2e3afe05f78c6008e737cfe29d481cb8f35a3ce2e587095e6da92b0f4605b7dbe9c1feff6c963711e8f6cbfc54738ee2ae992cbb261bb0259c96a1ec9c31c06c3fab75ade201f04cc38b0553dd72f03340ac75bb141f05bb59109e91b151b40e38c85923e57eba6e2abeab00686a7fa3b8af08b8117d6c150c8190971d69becd60628d9843b92de0c9fc1e9248a383fb5302812bef8e6f13e319b05ccb9f2df6dc197880195e8f51ae297a954a632eb268ea6a83fdd4a07a06f987d100ea2da58d8a3fc113b59fb2346f7d6ac70f3fc645b6c40e5267e0d647b9c47d03686f358629e671f66639ec7fe6e23e73776922cfe14ccb3e7e580f91f0b8fcd1560d3256762e8e2dd1e2b7f76753ec8791e2e055a65abd55df9ead5bb9188e2555cfc68f42a6ab56642ad807376dcad9b5dae44603e60a7383396b3a9652c5f0ebaa1f31d74b752eeae37b2efe822667adfdd072db1c14b51b9d08809ba6f379bfdc0a2e1d2be020634afb531b78953fc4a95de55a136cc3bc35d63932515eecf1d5db669ac845446e2951f1e0675f927ee241b378368a05518edf4309edbb58867b9a4e40325e72101834af6b81b1a4c1456d9b65b26d4177ace4f2b6608f7f7f75d81cf27aa44b129887c92769ac85e01aa70d44c4bfa78dc1c9259c107201365f3bc9a2b03d0bda42f9164ab6b98a8bbc9a8b91e8d0068281bbda839d7b4033b3b32b4c679514f2c088f90ac42ab485060efaa77ef500af20d7d1073449d863945ef70c5b07f50d611e44bc5f336c533810c3ea762e0eadc8ba14aa45f1ca2325a9952e5557f0226f2a22bcffbd00b351ed248b68529442ad382fd07ef1c6d36d1de8979138ac757b4f6b4c12dcf73afb9edd2a5bab032eee2a4482ac9a2769cdbca5aafa3a1b96bc9d9912d868331ade3fbbcf3bb81f2bbdc5a1aae00f212be3c0224a0b6741bcb7fd431a62ccf0646109930626ade39ac0179699b3d6bdb8631e62cb955b3676f39d034423c015cf39b2adf3f72a07ebfe96064825d0a2cd1233f0b0056a554ca68159c03c299ec29d34af952580bba14e10b17e72f884459b0e0c48e763a3c0615a4996884806c71b40359bfef5d72ef5f645f73afce680b74d0b3cc0f0a29e1c6dc36e53c66ae9d31e578d6bbdd7571bbf61f348bf6e4daae7b50960d0dfa1985969f1bab96003c3da744f655ddaad657e573c9f279939d4a89b914d0e348b627efdeb4d64b153a1415e743235fbd00201655a0519b284f00dd350dbaf7db6cbf4afc252d8b98ee17175088aa20b0da3f5ae1d73db85177724d4a3851c1459279648210b08a2b1aa099003c2ddffc0dddfb4ef4b43c82a3242ed69c8319e103b8ebca246c1ef05b5fb6d8c1ac3618b9a92d35d560030c07a7067def62c9f00c5c3117395676f0f8a00b41fad18157e1442e3ebd410aeec13ba43d10d442a0b3923aeabb0799b8f58e977afc246c7e3c53ac64098c463868480cc4f02a5c7451da30cc5f8c603041d74a353232cda6d34a4793156a00c2577a4a752be525a96c901877136498addc4e8a597702908ffe6bf104fdd280854fe1a198dcb4251b3d77380b848141b4c3c663ff7009c947832865314dab07dc9e0210aff507b6a308b9afcc3a047f01372f0b37a039223f862499b879dc1f455e8dddd8138953317f81717131d3b17ae0c0adff98eba58656591cd0ba54a88e1f5833acbadc07445012a64e0124d71773130dc0f42299f373d20ab488a530285a614380d1a957cce91792fced37f920d4bd4efdedb191a9c14817bd1e91cc06c89edd75294614228b39c26f69a4003ec18cadb706e67cacf9f18306bfb2794b4c35e20a2cdb93ff9da58e372cecdec81a17f1ebf4bfdc09dd1bab762c4ab83adfc730273545e93443fc913478da1a759920d0c77499a38779c73c113be4bc22ed5636300c737001c4b06b634a0126bd5723b84ef5774f5b72f82b1f46967cc8a1737f1b10f2db761e5530e48fb4e9a0de9cff643476940d66a1daf57ddb490ebcd8b83d110fbcbce68d6967ed4196e334e2a0be72a50108b9a0c53bae9047648ea20a21707582e57bbe0655f79349cd8a7bf1b4839b98fc67430e7dceac8928bc2627f3b41d8cb03870e8480a14deb5e2723bcda5ecc20263edc9f032389ea0ec1d667e6d73f3c781dee7ade96fca261b14a1005e021a882684010d7fd8d507f4d8ea8f25f009c253ded65a186a6f76b4180d7d5aa7b9d2c0dd85d2eb259fba91caeec592e166235edeb37155d6d7b2c904da1630423334ecc99a137521d903ca45f51a221ef618bfd001e2e1748b9486b31d34fc9543cd5cf98e73ea08db6710642b4df3d947ad75dfdcf36436e6193d3aa9885ef9b2874fa44735fff825c15fa6f98bdd28a8dd8383d2f560b11c9b45c05c60c26b1534239c3b5d4dd5d92e39cb66bc69e137530d5be9339cbb98cd5d4338e52a5b1ed43d9dfd136b91959874712a633add246ec5bcc02424de50bd2bba4ac95dde0dca7514e55cf782715e6117a401f5d66971eb60ebb1b91b428f86796b8e80f06133231e4bbd489ff677c4388b6ea6b9ea2667b76bc69dd8071546e540551a31d2798b96769a1653f0fa2ce77152131a772ac75b9dc4a0da2a1d36cca69e7848fdeda2a65b784d92bbf405e2adad3ff18a033716e723ec25f9b2134d5aed678be20302ccc4afd13e3543d4f5a0c0d3561e2f9dafc57b35243e4bad3c8ce1fbbb8253d9570bbc000cb95e8ed6d6c1983545c2ecf70ac256a4f1fa86ab16298c0ca1fe23a5e28dacde8559c1c00bae7f4c24badc6ad6a19607edc9d533e1f7a03d45f77736d66f04f1d11f568e4a89721c2208e4cbfb7675823286f6fa2890e0f244d03c5780e9ac68e604363900fa9c75201374c80dfe70c6ed36a4d8f1740240914c82e41801ca02e7ea94fddced509ff40ad0f538335c7c84d993be442021acd317794b46f05825409a484804d3244394db7938991fec84418c08ad62473f668adbd746d98e440f0089d824ca06908d8ddb8a2eed9a839b2437a604921d429ff137e657d729c60c37bdbbf00b4e894764d4a735ce91757e3e24b847f2c5257d0681f602049fabf84ef9cd5953cd78be2303415afb3180fa134c68ffd39411d13ccdfb544378ca25bb7d54654d2fba74b78839e3ec9f35e36c5fcd5ccd14fe6ac7f617283f1171d6e75fa7ff0fb4d86cc19dc44bda8c901a29ca7b9faf6551caad01dfa1de5b7bba5117cb1e3bc4b3caf146ba495fd5533c2b716440e0e97a8f28364de97ff42c1d8121d69713e0e9c6b75724c89ae6ce39e33de34f71ae5c08bd77024c9d08745da0f7b6964fa88e3d3fee9fc9f765967e0599a962eb9a6d855796d78e5d41cf617d32179bd13d27b772a3a80a7ab4f775f4e07fe095f348d888c57bc0aa6766f98d4d79e03791efcae603d498d117a5180d0f59142a1d0065ecb5f33bf3f5ac6a14559e0055419b9755f2c4c9eacae4e94c67a7d76f4115df7a76cc313e6762b5b3c700691a31d90b4c576626bc2c944af9d411d74131c5cd47e4944610915500f828b8a3223624f9cd382e91d669c95e763d0aa0aa8f7965626ec5638abafa1990e839df1f74e3a50e1addcd691d9b612afab1f35a95c522367433dcc74053fa096a3d2609800366390a3ee896ca14b130d4293a32ef6016e89583726baf20f56ecf734e268e6e8d1683f653451c8fdb21758b13616d035390c23b8ca072f127589734fef745486acdcc3ebf65ffdf778ac76d01c5f4510fff19a89578c42410704bdcd9794d2ffeaf64c03eb4be9d09abdc5ab46f9516aa6167a54e98932868bde00b854028c01f852cb8d17804a8f4f96ba0054797946e6b2168e2565374186ee990a27a72c7634cb4b064c5386a4c480aa7e63fbcabf526dd95d0b94fe58f3c50cef11932f084500eab34cec34768b7eceea6459032bf2b68660a59a8c5b8ae628994fda80f87d04b296ce78c93ede7441c5aef9632003215aa03da1a462a61cd0a344f92efbd69ddf252ff1fdb36d05d2089fbb458d32cc88a4dc54bc4cc9c427b4c9a248bbfff583ba073e647cd9ff9e64d3631814864b800ca2b64127ca42eee498d58f93ef418a471a486b28f3b25d08bc23b1c6a2266b5285b28085f96fa13af366db8dc99d4195a23e9e6e1b85e2a81628d891a8dc26458153cd1c4b2cd30084f5d295bed775a2ea7df609cdb1fc546e27391a7b339494ebf613f21d9f6e90e09112dd0eed1f179030938f8cf0b0d281d95426cd161383adbbcf0e72a6abefcafaf54a4657bd913cd4f9936efbe38bfc24ae09e65a795786705424c792db200ab45180f881b00f898602d8cdb240de11278e8b8f3f7656647f706161f0887e5ed36391bfd079c5db4a046d93a545545a7de6277ec86eb5865ea0739e5a9e58306d018ee353e70f248f6362152fb1cd6a79bfa4478e4d4cd192ce205cfbe7ea99df0cbebd72ad54b9c5acf85fca9a1ed0be3eb25623698c8a2b8f24a7e17ab2a98a9758e7980d6241a7e946713e75acd14aff4a992c8da8ea1716a39e06709a745476cd92325b347393eb0e7b2689cb4586fbb03f71984d224aa4d93956d931945699e6e95c27668b721fc714c6a3ecd58e9d7090556b36e923ef42acb973523e00d192444b1f5e17cc264ba6dfd2e96e61dce8c2c8ef7165a66dec044965b38118544bcae009ebf227ec562c0af21097550d3b3b9a951c6e3b12b7d4592cc0361089fda337e2fe4dc40016bfaebda0a0c2796a4ff595922473c3d494733dd4ed6089d75e8e9fe31237605204db1804123d623bb371d176ab95c28a2b2a054151cc52e98906980f42707b778007dfcdd3b8a6a4feeab964593f9986a8ae9cf21bb1e946e9c6a4a3bff7113e2818c71eb8426203de1f5f043789d2f5a8d6cd4bf10a9eecd12cd637baf908bbc303b2ed8bf9e7cb1c1be08ea304ef7c9f72cbd4953143b85507fbadd17775534af3d428202afed4db682e913cd26d89885ca7d101c1d8f3281cfaf8e5cf6c8d205ec6447ecfab04268e23b604032a0a75c5520ac393e9f63cff2ed84e5fc95e571be1e24c7820508bc7abea772e583b817f79e54f4b7909f321dfbccd6580bf472be5d958fd123bc4e4e9bf16b261d28918fb07f62311a7eeb2ff86590ff0bec9092fc7448b56a1c15a6a65be216cfaea00879b7b3c7a0f684498ffcf4813f35bb5686a7c770c8f845ea9cfae8d2b5f2c81dda329c73bd0efb0dcc617a925852b1da00d456a6fe18dc17fb9717b1658e7f91d46c4c9a5da2d8c084a803d0c7ddddaf28ed55b7046ffe4cb9898d12769a315ec31130cddd2ead208700aeee9defa448060966679fe1751afd76095c7d20e2884a7d03a7acf24c81c514bd64f33d1f30243bc9e89eb2427b7d407a12b520b423b3ab032759541d110a092ec5caa7fa211ce469549ff091c9e87beed06d5624ffa0fdef77dac00db87bc031106e81b5e3277bd1575105e8817528ab87b920d6defd7ab98fae98df0f87533aadd52e715bd2e1be457f357cf653a60ef915ad8a0a9ebf50465685b39b730890b111def01f968bff118df9fde86ba6abe3370381a8c9d38b0aa0b60665555736a57ffc18273d99a7cc813e31554efd6df5f2e9c084bfa278962a34740d717c050740b9ca5f692a80a17e63b99211436d00b7ebcdc83be6a3eccbd7a11d14626561faa2609556a6e50ec430d8b381bad7726b75d043354899b03a4c3e001e59cb690fa8cc419cccf262765f6e228f48917a496f1148d579c118e015dc0cb5616ed6c8ac5a8fa477b759da8ed3ca380ac1bad58d4744b5f67f464f2462919303bd679d158ec787ff0f8d9e131ac4c4177fe0a0a6240716c255963e36db6b0c6240e9ff39eee0390e1b4c0fa72653c304695b3458ebfde0145ebf360d9023b9afe58b25bf413c6820705637caa227a2c7962a0cfbc130dee941d30e1d2148277e14aeebf983f30d8d0b080442f8639c18377c39593fd83654279dad0e936ed611c16e1a48d89b9e5efc48dbd7a2485423a5c9b68d70f7edc6d43515b5f02e61cb22256459523345bdbc4f62c632d9da7a6e5bbce059e99d45d66a046e6bc788fa617f221d75a8adb22c1f17ea3528c1ba05ba6b66f225096d9532ba3409c7e802b304ef9322581a006a01ba6747b18fffca945ed8f34aa017ce98f0bdac10bc9cbbd0d9cf951d498d8b44c1b3930758b8bbbb6e7ebd80b9234283b4ef3328b47b463179183725cd7c38c7e9a71e8da343692b8705db9cf8433650b43eb0b1fbce17004d18ece261aa42f0d45fad6ad5da3f1bad8b538b5a7792e0cc5ab76a7fa23612b4114f146674527a827d5c293cf72635f0af7648c38d07d0e3515e8df1a8d978be7ca8a4ba57cc497a99e2d2a5e44736a6bdbae81cf041b90941b407be1b4d6a192afbd4ca3da4a2be1b857a781bf8b89505f37be6205366ddc068ca30b6c3198b4db79acf910d3e0e512a277f2503d0c789d574b3f8da72945158518061dc67cc52224ed5dfb5746b6b6a46a25add37bc02f818979d4eeed813c958b57b1aadd5586ff625a20585acca15706d7732fb08ba65c90d8010bf947a53e7f37e1a8ee950ebbdca76625d0112e8125571c014f0dfd76fbbbe929e52e53a76479bbd5a9de29e8df3d6ff700d69b2c2349d57ed28a1e59882f082d18c5bc1c730889cee3c9ea6114430781aa69ed012fc84ffff2cc9cf1b5f622e84d96e7a7c88477ba621d3c97ac5a128d70bc3888d5cb099ecb7fd62e639c6455a6fe0bdeb791e6279a2c3935446943443f66b71642d3ee3d5fa8819043a2fe3444bcd90db9a0e934de0e6703175d574f8713c166f867dee2e58bcad17bf0b97b8770d8755da93288111e53baab8e2ddadc74870f911e402696cc0b53cc2a6a089dd5657fe911d8725033b5b8fb99933ee011e40fa157f93f4da5f308725de2c312e7cc7b0803cd341586691a74e252cd9771fcdb18a6aebfe1b3d9d0816528a96a21a090bca46f8af26fe8c35e7d5cb61bba8961db098aea5676134fcf699a6d3e1634439530b99c321007f2f7f512e3c326fa07b43d22e97780d106eec92d627fdca9cbe9221109088ea900840c35bc9993770e4f24c9c562078c91503d1e32761b8df9a5a8833f729b66fc2620a52ee63df4058764d9be086c6644ce97af33a4d9107734549b06caae3ebab68260106e0c13c89f5b9dcb7b68f0d6940516816302c9dd637e785b19ebeec2524e30344c7da5fd1f2e828cfbc706e1d85a7a37c1dfda9fd8f7385868ccc28c29f620033d9c258c7e9c54490c28bb781faf466fb488bdb9841c070c427a825a92da0efd777776b975c19de558a534fa05b21112537a8f5a60cb5f589ea49ebf822fc530130afa566857b81b47d067bd349193d170668ca3335bf6c6b1367b110600324a4866b63cbf376f26fc4325d2f230e12b555330d418e9e6432563caee2dc880642f72053ff0961b3f127ea4c42c407c5b4e6051c6969d5daac85c3d811f9d8ecabfbef3469353dfe00301fc7e4c845b03f52baf56f246f7aebf0b95f07ea3e0ee8d3ca753e85fc9bd19f4aa94082ed6eb09db31a41d224565b801cc76e4712f63340d2f81d374419c13b40ad3dc7742e5853dac04817c7d968ad70de4d126b9e7f150d672bcd01fc21d5134712ffd4f7ec4a8388c40005563a739a21e5a67560fe93ed30d999d3deb35364ab4995392e8166e3ab8359d641fa71e9c09531c8dc2cf9929f2294aa3b323199d6beba39e9a64eed672a5aff02bd866acc916a32552dffa004564760b0871389c4a3711d307111f01794650332e17b52577d6023acfe791aab945bb598b9377c7f71db60da28be1a9cf642c52ec7c3c33a572465f1fd6cc251cb36a446354b4febd211f9f1efd3cae15c2f2b105a24a126a0f14401ba916e65e864be316410796f1fa107f5c5cb1c1b0fe566cef1c5b1364559110287a3cccab4aa843e71d7bcfc8ad50e4a381b90052348e1d3a69bcd9f3f102afe522a0527ee86ba987e9548fc05b772d392b86803dc70f3f07679ffab0ff61f8d74ce38cd980bc52199a4860e001d96a0e2fb14d8d5a4e5288af5cafed53747f29da13c9741cee90b7627892f452d7f132544cb0e4960299776653b7d756f4ba2b465ece6e0537a4a7f43810dd840e027597229a18dab44550ea6637a2562b6e18a4a3811d1783e16595c7adf7268cf9317ab62fa4956a9c6fd215ba3110dc225280421ac765be97d940e0b07e07799b85533dbd57db6b877718a1ae489c3500f2767892d587fa9c820a37a2d624429e3ec4b5d644225328077f724cd55512c6dcf43f9d32595c935df3da7ff8975f4e7ae2b8e205737050ba532b2e0442c596e88b0ad91530403598eb4772a13ede84c198981e42c970e5d172aab8382fc3ce06d1cbc3c6f8c2b87a20f1cd6a710e532307a4bc818da04b55a09baa2128600d00871abaa1313359151ec2f67e27248ba08429facd14932c6406fe8094678c40b26cda6fadaf5b51c0484067b537e6faccc75f1683322bbdcdd38d8a76e52e59e5d4b9b742db342c09601821a6493eca6df6d08c6d9fc9518b9adfb0e8c4f384b851e0fa1ce983c17ae5ef304b2a40ed9a6937db89a673c5f2d6f721448460e21f601e14a27f5c373ec91d6618fdde0a75585ef642cffb62da0941b2e2fe03a7fb5172b3172f7fd2e83a63365c4d9dc3bd1d0b4dc3f6fd27787d5ad833f6fad94e973923c648d1dd5e3609c2eec4e42b087841bee052932d8cb5b526abe7aa96cd58f7ce9244e4ed93551ca03de4c6831349a642a32cd1b4e1d6af9df3494d3a1da98a7f6bb092d308fa9724f42e372b126472a193173c35778220028bec91da33d555c0106c67bf1cac6eb6532d0ef610bc7efd3b9cbd6ccd3b5db4f63a5ca0ec4432091a20052d70dd5f8bf2750283f5f1ea6445f6b1f659f3041b4fb122243028f93776a1cc799191d06d997e8088d72fa7ef855652302ed9d90aac087004dd516735994f4d63becfe0df9b256e63c75ca9a888a397e2d813e60fbacc1c4bde8c1324eeb6a3eebaec4d830e23a332417df1f9875efc856ddef3208948f694960228920ace4e90c98b926e1917b96cccb85e3ed28bf672578d95676bb1a4a01628dca862a6d54f4bbcd83ece95167373a88e3304d6e3239ccfa953e0550ba2802514f555032b07492999dae486abc38df31925d295d837a310b8d0acf73cdff4e49e02984441e45326709c82c9f152e43441051a72858de6178885d7e6e155cb4ee19f65afa3ccc7b3548c4b8fa4415aaa6d7372ba86b440d9357d797f895fc42b5053d3e97a73c88de3f26cfab159be1ea47255d21d1d6d87d3741c1b3528670c7af490fd0ea11aebda4cd61c4c66fd6631922f4b440854929e45b30fdb2caa924bdbca82c986976bde62d84b7944e6da333338842d9f41fc8a6e2cc6267f7ea30f553515d40d83871cd73ff1397d180e93f301b3036ddd55f9839dc14f8db212885ccbf3ebc1e0c48ed46451c8cd4e7934a15ff124dc721d2cb60d3ac88efd0c833b52cb6b1f2f08b497254ac6105bed9fc3725bab54d84cfed3c5fdd9e5c4770a55fb6d9f4ef7a0a67a0f719b700dedd67ffb6fe3773715f5d925966a3e9dcdfc2457be97c800dcc33eeec4ec23edbcd65ae52548839988e128aebffc1be46113b4f5eb3568c72d4086111b93d0865c6697e3ad5152f13bba7d5d37e51a845f445c25d0976872490f03082ebb836fb3e2351538713c74a0df89257138b3c95a302d1f6ee887a4f82c6e8fb37dfed775a507fdbccd7cd065a18f56f27f99759ae764d1d76fc91d168ffef9fa196938511cb8c0b2f829efee49d7327543729c5177dec5012f16bb0fb4aa42d04a91b0a90a5e404600428d0e9494dabf422f65c235656cd7f812345be81e99f8a2fb6519aa9dc162812c1843921a4781569ab572fa486764583f5fb8c4a40b477ed26665a3d9a0206a678ac1f81dc3891651dbd2fa3a72224a5e9bc6f9ca4c96aef02e1324106d28584b9fcc4b7fe4d6cf809cee5858b3e9447529bee80e8e4de34aeac0c38c671f7789be0bc3c89b00d49e568f5d5ccd8c7e6b01d2d1cb9303b2e2f1bff6d24f27a5589aad0a0b75d17516a4a8ff75c767fd09bb5657f641af682979e8c6ca894d12963d93e9ca5cb8ffd3b889424333e48d3798f56be7b83fd0f8fd405ede949efbd7158f7e4afd890b9194a99dc4772951681ed528f6e946c86e7018f4bdfdad369def46ec01bf9edab18c91b2985ca68eaa7c6a7cf61e00780ae564f13233b3f36d3711f73b24118e7416a458f6e63a035a9b5793101f365d8fd436799846357132e22db58cb889b19bdd41bedb46c6c578858a9f4f7dcd11debcb8c3853f2c904752dd46fe01ed294140e31f1dd994c96b4a57cb190e323553c3e5bb3d82660aa245cb223b950b470996a208ec6042ebb5cc4928b83cc079fb83db3caa713e7224aa001b5462d32c7fd69d8fa3f707b040feea3a86e42215b7b8638143224147ee85e013b0e7bbe99c37c6bdcd25e85c9db72ad46924dbfb22d4bf367959ef9185104fcd9f4b0e2f2ea66502a10b8d4836e01ff06ebde39a67c7b9405739b1da5ce9e0d319bae59dda87ade8256d21bb5af055ac61d1f5d4baf658f90d3e81bf6f59c7a3486f4f196c6b7a4f9ff7ae7e733348481cb9111eebdcdc081a32a485b8b88d520cf7d34cd2a0906bc70937a5b7ba67a16b422a7098011f31f337dc15a21be37b82a405ce17c23cc768b4f0ae4a126ea22cd33e5c1e679e2df5e2e52280ae8c2b3a9c312533de793c34fcf735d7c577c5fbca8bc8d02cd9fe206f495269e5d4be35388d70c6941227cb31626f3a80b2abb27de90fdc45b55108050b3259e4e3051a77d9c83697423f35d6db7f6c3d682d52c7bd11a8f8f2f50b6c97c736df3b3382228cd25fb1c4d62e8e0bf9c0d764f17dc9450bdbf5e6186a3275ffaffc4cd9f9c08207a98a78df3e86fbde13899969f8e41bea3666f486b6846c4ac381b665c03bff79873cafd1c94f4bc938ed135cf87268aecf1baa326613274b255227618482e6336a4f14638417a44c1b7449f1b147fbfbbbd8c7f66a93cb5d178853ed81e3c5aa7efac3cba0d475e516a24ed2485270ee04267d1eb21fb6a7e8b3ea2e11d116eb3b273453f0c5743e027a8f000bcdfbb029fb241e6bf8a246360485096c0961834ee7b5734a8be8414bc98b9f827f239914f4e9132c6d986f03ad2ad1471efa36476ff8a1b7d7feb57ffd99b2fb2f29ecb04fa6f5af69f4bbde0666e3b25cbec15fcddc2afc7205e54acd676e53b81b7d511dacefc8350e6b52d3cdafa2ff19185da51afb181c3bf05a6a6020bc43b29b14ca046420229a3a957d9e60667aa6736e6dd8c80845d7dd6fecf7f8c3f88b1153b592271cb64560da72fedaa2989e5aaff79f24a5a4ee52c40ac24c278082b9344a0903693e71c75687fe9b5e1354b8f84c4148022dc07e22ef15f8704291e994c0748fbcd57f0968fa4e494568d579ae18426221760ed706b15e4d53201ee699f1690a586e7142d2b53dbdfba0d3e52063ac929bae6740482960fa292fa92829241dde29632b234df78018fb9d55df72430c2fbb6cf29ab08e9cc64fe498ecfc0138822144ff4b5ca0d6d434eb312afabab42e6953d8c99ff978ac532bb2a6631d22085b66d7aa7e4f28606cfa54d56828ec22e673500a0c24b9e522f78394ab4dbf1a4927f3972b7b320dcf564cd67ab628dee22563295582f49f081dbd1e50f1c2ebf616128cdeb3fd8d78df5455605561fc5c8d810fa5a42c7818bdb6bf1df5713e1bf1c551387083e0a014f970f58d6d414cd7a51db240f4c38522b460db92968e55462a3fd7767ecaff21c6eab440700b5102c0f4363b0af809d3026d9f0e8c042d02232d7c40c465de7bd343a169eaf32672cf2862b3833c6ede90e6b456d30463aabe549bfaddc6c634111c0a4c3ac27fe2d54e808b4557c08283da6eb9e07db5e49c19c777aa2a4388509057e1e35342f8dbc155aa8f2baeb4de5ff65fefc30df08c40f88c5cada3f834b3b7ff2ea5c6054d4027f9213729498e7ded5937061fb799568e99ce2099d8aab46faad50543f71747b37e8d1316dbcb349504fb254c89d4c69edcad3214f25e1a68e6b3e620f91739f5240f363015eccae83d02f4c568028d6e37f1eef638cbd3121749c7658edc4164dfefcdcafe7e697501f47b34106beab1c58f512c29cc3da73e044c7496022048917206771246aa8969222fec859afd2273994c2baacfea83326a2c91507a3d8a4a1796b351edd0ece3bab69d6b3f7783314a73c2f7d9cdfcdee35463d18adbd77f7f47f9b6c6b0e4815b88f7522038e220851e893f34512a591bd4294f083b56bf9f4242ca4cfbc6b9fb28a05d66b4ab627775d27c2165087d6911ba84b63d410535e55308ad1b4cf6d684e0f40467f7d76766cf084294b43155a73ef2e158e8dfeb78611104e36293e89ce016958ed18c44a288db4e1df954be0c44451ea265c18d27228af64eac11fcf6b6929d187559942d244bcc6b2273da1834557df8c8150e78ac323eac0cfb92e7b5f58501f6444e071221eb5992fc23207f84d6a6cf95ae599c39a77e46f4fd55f77438127cddf8db63a82e5701b1e5e545bafd57e19a522f9b391fa9e65d967b4a3973f9063f03480719d822e9bd662d8e099471d8451d09922383960013c99208cfee07f3e31d8d7bbdeba41d5181c9197bd40e1404a1df7c9b503cc2825446cb5b766ea5a3ea060919846bcf190bde03d8562b68979d290836ef1d4695a7dcefb00ff23bdbeae9f1a279fe07e20f2452e673338c224f35131d83f3125be1a34e107518fe6a8ff2812655755559f54bb5653ad4ee0923937ddfe1bf9d0ab0fff2d93832dec1ad30eeb8ffaec00fcf82d6ba0532b9f4cac004e799b2770227b9d46d397381c1fe71a13fd272ce2485de4a82ec62020d20287bf202b7da32fa74752234cbd443a718724c50352db7adebdde5467391006d1eba0886173e3216bd33b23c0df6616941744fd9de7d5fd2f82366a2e59ff98887c488f02664b1460b9b9cf02e9f35c24fb7665b97e22c016bccd223bf9c0f590ea3fd70066f58d0ee842a94abd88f293c9ba1d31e98f149cb95e0c7f933610c160d35e5007ebe1f568c670f2563c9661c5a0553449741a75949b53e3843da007c1152024870a74a9b856ed822ce961c6c07f20f57fba53970f51db0396ba134414258e11d70f6cfe44ffc3d2b3137bbdb08608bc1adde06e5772a13cc4ddb56a5de9d37fca7ad5dab55fba43bfaa22edf9d66f3be39ec1f6a0980605b83e45a6e420218c2d17326710f2762deaf223ed0a43820e5f427936cce736751c465ee5d0cc5d71eafb6523ea2b1951bb512d82709f82ea8f1717326165283b1e13a8a71a4598540a02d2ee5c2b6bafbc9c02a6541905b0ed4c3856dfca20a44d23817ba691afa05c1636e8bcf4a40900419359609b9dd23d304064f3d62659e7531799f57c138b5bc45875a8d6fd8cba0dd35c2f342ce91c2dd52a42949bd39a1027aafd3805518ca8cf34f1436d2819883183ba9062a9f860936dbdbea056812852f4bf613aa3dc6a0a4ef9ad8932b3de25dbc1d57814bdbd2d012df0337dade3b2f4a471d7248fcf5967249ae6f2cbe6fe22412347f403ae40e67eddee558ce5b9443211b79ed4ca4214cc1ebe060173f2cc3be824e7ef6653b387e974d497ef0e7407d6043edc865a4dc3f2a08bb14883d513ad55d87cb70ef060b526641fe4fa5d7a563fe0746617630ebd429ea728eeb63b3936d686db51014a70be4f38d5d77ff3a527e1409b3ecaca2f2b40d90d50ee256e11239790420bad2af21580b1680b89697e756468ca57a7f1c378e495dbda27232860610b7e17c1dabd58fa9ac6e671e40637411082133f849576a4520b739c79190f554d72573846ce814153ff9a654ca4b37c3d705667240162038db8882de66156d66b71a7d7192064cec337f9c34df68029fb86b9cec7999bbee61654a2413c53f30092ee55c1c4756c0dea1b45048fa0d733aa3b1b5bd2d5f8ff295eed425aeb44008715aab955b5c60fe02392e6f791cb82016b8bade53068e337d023fe18e0d8032c9ac46ee3a6206a01d30e48213682cc03657b67cde425899f3593efd07717196420d4a343a0d0a7a24246c4b86e05798b8e947134d216d38f56dbf748bde1ee8c2b1dc97c15ec6991c029dd2efa6c889a311e65311dc2d40cf1f3b3f0199bf110d97a7224f923bcea6115c41278f29f08aff4280fe96df39713b6363981c92b3d850ae2da88a02fcd58061dca18c0373a8f211495cb1ad8f7db956620e531fdf705b76f040220f4f33acbe058c733716fda7b681e6b71294eb96cb5ab8dcb5a6bbb7adb88ce6081211f1749be799cdb4041f43585d5df9e17ae753bcf67a2762cbc1d986c3d4ddf1b9c021450844d1ff54b4bbff0bc01fb75844fa58d431dc9a6fda45e7f214429a6f9c64f5ade1f372beb02a2ac1c082ed59d8f507b7ba47df8bd3265f46f3987ecbdaf18ddc71c7ba8540e8c4e8d47929b4fd885ed4c31c862d73cbb59e4ff22f420642fc6b7da786e784ec80f40ac842e34ab2f4efc2c6b45cb8da1446ebc80678d1c234657a377dd91377f104f9be63e3458e79738662b8d7d926b6bd50ed1b3698da81a345d0c71b5256c399c589cba77cb4414402e8f4e95de46ee687681b76fe5f39f5fad4f61f88a0e0b88f1783092789d14038e3e681ade5ce204731f6db6cae1c6717ad2333fc10a7af91c19b11a61e87a2eab34dbf241ab969c38a7a1c1e201ca2608dc0270149da81b83df5af6ae385c83eaf9f5885c40d19b7ed0133edb6e95cb435777b87cfa66f4acb1684323d1a7ecfd7b7aab616a3e5f0d32a98605d1eb12a70d0661d06177b2b8db36ed62e53cc9865ff8158f868044a478fddd670d69299b20cb3c216f789681326e48bc9af50bac3f39f441f53825374f1f68c6289454e3ef788df04cbf99cea31375968522ddbbb6cadb1f25770700d3f5bd6de7a10f15f8156f3e89ba24975f4c4e0bfc39f70299976fd4c8e1453720b782886eca0c26055f3e981b2d02a1b901755e436ccf1683e25e77c1a378274d2c6047359465a5894a27a15d0a58350a977ef2d04e2da03b3079129de3729fc7e94bc096752fe66d759714cd42b29f86a37ef98b459abdcbb157eb3083021ed4577b9962acb7e3af402b995209bceb85fd4c9e4aeae09092cbb3d3e1fd447c1d1de438f7b69e9cdaac9698ca2b9bc89e47d157442b353f5dadb1801ff05fab119e4a57352c22a33655c6b9b41252b03c7c6bf8cca4076b0b8bf12bf3daa914ba86cd958a7786a3d40dd1521130387571d70886bafeda5d85739ec4104e0f1b47c57ea6ddc682d49a8813289bfa72b8bc3cf11cc90df1c155e09a9fd063f226e01507207444743a6f0a4ee76e2fae51bd7eb29428b3c4a5697b8a7fb20de42b50a2e4fb3060b9046e7f893c84f22dddbb774b8c918e04754855aea63ed98d9a947a88643480fb395970ee95229653283c7e183d112f96466a5c04a2d94673b2af4b08799b686cda7424e785df310ce307cd0d4a77c11b455dd1667c440ef0c24eaeb6e71169fabf2903ced17f790b2bf9a6b38c6e69cb0c2e05542d5e552b83b92b3c26deb9b5ca98a1db95f096deea09aff8b5bfb2495440cb00a69009ba6e745c7b5ed42bff66d96987f4eadd1cd64543fe1051b93b37285f2a5e8c16db3cf6bab162074ee2990229a0472b4f32cc3169d49b33c47eaa1e5d11fe63ec2b1a5b0701a777f5a443f3e27e430e9f2da0c6bffef14a409b55859bcd50a99a99f844df7798bb47aa9e407772cc2d060e3ad9bc6f750cd5a311ca5a995a64a457dd484e077ccf1e34e367a1bf264abf72680fd97ca0e2f6f88203998abde0c8c5ea18647c0fe9dfe9164620ed189fc013f0c2fa829fd72b076a5bc3dd3f8f70bf7365ffc29e82835ff47c35dfa273f7701fb25ada464bdd99510599bf4825f2bbdc46f446df863d41ec03f314aa618e2f6eb69c11ac963cb8a168fc4ccf0406bb5ea2dc5e4ea3decf2d4faf2d3a8e61734a394633d72b2cd9c60a03f4da248438de5d4d771abe89e43d5a454970f0b5ccdf6cf5a9a20732a0e2dfa366e0ebefbfff7391bfc51286ce1620f43fc134e2074ad485ec8946f9d69494cc77d171205fb0d9eb182f093abbeff8988f89032801444369869e23008bd586422c881860feff8f5bc57f4766f8447eff397947691754eb8ddab627b58da8571c469125110a086e4edb999dae4e8e9f8aacfa604a845b904e459b5eafd29327e64dbaf6e2f19328384fea942ae907341e345cf4c05c3103851f32919c61ec0c5661fbd575b08a270b99639aacc56f56773218f2d72b54039eda683b5329c02a30518a0a08d962475f0ad091e703154dbae0637705d24c13cea074c668cb84cd0355a6f964c36966c3b693cb58d18a178e3f05e1ccd8462a14bfbfe777e3256955ee0ec4f2d4407ff5f97f255c63da8263ed68926c3f21a342322b7300f407382fb89f3ce1f5973a6c4ddeb9a6e4bac3c495725236cccc9f7f5cb082b556f390cb44937cdfb3157908ebc0aeec18508fbf2e44535a3ec416e3e0c1f82433e7097f3d6957cf205c181c86daca4e8b4fbfdacacaf126cd5b8a1dad59a9f83b4c34424952944a4cd98bf9d511b20aff01166cea78556ea1a8324f21684035298ec159e84f25a5c9dde89ad6ef352f0d2a176aea520b397a01987270aeb4dc2cf393f4c0a37ffd40e416f1cce0e50a57d6e611182c0ad9966c14dc04c0fd262193146465f8de9361c84252c4959a48eb63e1d04224da7879faa2522b6b74f9d46f8020e540d93e26f1693d485ada587dada7014fb22c38912729fc1e9b2c8569c407d0e1dd9691ec955d872c56cc4cdab26b4fda620b02ad90db20c28f0937f84b07d68f90f513e067c3f4518e096514cab82051b98ea37351a7a4e3e1c3c9b11cf2c31f6d33ebd993a62f9710257387882114a01b63bbecb3ce7816159a0f5b89193b6c0a3a01df860e1076d71c0d4601e8f9d178c73e2d7908cf09ed303705a344f5fbbef08039b62273a5acabf209fbfa9bf12a89fc97be90eb0ce33abd4768f348845fcb323db35aa3027860586b8a1e780907ca6cb2aaccb727ef9cd4a4d02b88f25d366e422d17c81c889d0685a9720e261e7e23032a68093eaac0635d9976053799b022d8389b06ac0bbf4f76e4ec808639d55c19b1506e5578309e717f5293fa47f58b5325df34a9038dd9199e5092cb14ed58edcdbddc344ecb37878679c8850e3a05587a92d80b3a5eddd68861063101681d17f72f09bd91d3707b9cc2f83e26fe742bb7aab1c5f47951cf276c6c2301d54c5334e936298173b752f65fa693ce7807179af41d818cdba55d5d44b1e0cf3ce7e4a87615e7e11646aec1039a0392bcbb7dde3e25ccfa8fd021f66fde68de75bb2176e24d452b6212a338ee80a092e84eb6dae629141629631019a52434be27e1e2fcdaba7ef7af9f920bca0a39f830f5333feb84556a3150c28c1cf6fd9e3f8c050641c4de4b990beb5fef6d201c3e150e634c6224a05331c39979a2aa37ddd80be5b5bcc57c7ccd50a335297fddc82b883b67d1a95d05930a35578fabb62dec48af0992e5e54535a3e969cffa438634567d93474e5ceac988a5646849802ed528d257d2266b07d9196cc07522d40b86a2a2ea028f384835952b759d624e884489c270affc22a91cf643e9ef45490189dd75b1191cd09c680518827cc5e39326719239001748c428bbc770f839d2889ae94e7663afafc2517d76fe1d5fcf08cc5706020959fd1ef64453621d451681f75b2ed0f1a12478d6f29284d4e69c681f989c3ccac85615cb3b1461fa93b0bb3879f9aaa4646e13576bcdb3d94fd52771de11a4cd52ec4a3ea539d8e618330f0ca63afd6969241d19885ba5cbccb039fb1842b053e293546c0210f7ba57a3f5a9f0df9e513f494e1e46ee83ee545548b64b2f6281eaab3f4a764dd239452ca3b2e9857c2330361a5ae6b3a1da4c81512e567179bdc2fcb3447467522125e96f21f25899288d07918fea96e6730e205abb97a3ceff2d516e7507776edfe6ee66f245fe8c0958ec84bcf25077ae270a8a65c72ee8a1e0de2e2a31a25cb161ab66b1b0101f9dc5451fcb02b676af3a02abe3a4907886063a8b669fc037545ea5f55ee83295a67a31a1677865cebec65a9e2bb54260d17b46be24327ed686d82c93e5bcac232848b04b2f7ce0c6b1fd49f623ed53e8d15874e3bc872c9d3ad1c954cc810c410d5be6f23ec965dc584853418cd8522bb05c3c08ac528c3c2f668bb43070dc28c311981c15be819c1b4b342c6d4ad50d73b38ffb4af45cbead9e8a562beac318d417d1d125c0b0630b1858c421271677187b23b1d7c40a8f3a1f7c3c56f4a4f5820cc07d7c2b28dfb9043799db9c4787c070093eeecf2c9145ac82baa101f7622a9ec8bc6f4ece842443a422a288157c1f99aa1ea8a18e5be7c3018953b98bae592fb0f20147bea8ba00190c6785edf4f51c5d69489b472eb7f4cc3e11bde148e54f2c332c65ddf821c06f7eb7b1d6cfe6057396a428824ffc417f9814f0aa22cf7f898a505cc89270dfd016032ab3f8fb5c82e6f19c08bb61a2804e03c05875ddf0c8c87eabd8635dbf06b44ddbe403c3fb5b2524e1ea431c4ccf067f95e4ae3b9a0218e9f9cfb994206a6f7aac4958d625fc519ace4ffcc5ab75693ba0f0ad238660c32aba01a68d0823ba5abb794f4ca7d083597bd6deb0916367270a8f942777c0e68bc80d88d98c149897963f36cd59bd179384b294a1fb427f8130218413e08d0014850639da1ae8b9b845369875b4ce1e83ff95e703fb1bbb3562e5edb57d2e5cc74b571eca8caf00d89ab05caeaf4c15a2a253e8f166cd8b6704eb0e88c73e2ba4ac82957ed214dfd78ee607edecbde0f7db33ac84eb21975311b53711dd77b470c863ef5f7c4a40b043c813d3584ab7f634d8ba21ed00b2b3d9533f7e322e8a7574378c57279913c1e36b1d4128d77329ab9b1abae3820195c964155f4751b70c6f21b054a0510daef7eaae3a55ce52a2c5ae3cdbc6486ac141aa6265e212b612a8d6e66954a0c5daed2a887f5f060a64914204503cd6e03fb2e86dacbc493cdb70318f58e232232facbb997b4377c0728e775c061b4fd86729d1622bcf3b7881c7f3464b145f3d406a8f10614595d0ef130921a65a17d672f2865c0b32d8e63ad954cec2414144904fa6e1ecaa5b5860c4d6342c8e5c09da97ab4f2a9fa1515e2f417cc3fc72de06d3aabcda28fe9f7534239e0ed54a15b9a3c186151814d5c4f0148f9e5bd137db40f03474585019e3509040ec087e0b4f0d5ad4165792c1aa1e680d58b8900d5623611c1eee22ba0d3be0d956bc38ffc526d6c714bc9ebcc9f20dc08161d03d805af8897e8495881d24a40a06f33b8883ffe66f057ba91f7ce84e9517a8644b9ca92c01d2d407b1ac04b38fa15bdc1c4790f2cb0b4b2737e67d43dbafbb713fb27f2497c7db275d19a7b78f3689866fe6bdc3b1bbff2f71dc5257b84b4ea5ffecc4fdd069a664d695086faedf011d17cd0902512b19d8a3180d20b862ed0984acbb02e1af7fa02580cba74ca057b74c9b73dc5901c21a7be963b37d05771f2964b368c4bce04d0983301465cc9269caf89c04c6ece1667c2ca7334cf3dfe9dcd1e3fd2b0d8084800e31035795828745eed6541d7c1e253fb1980c57e845de161aeb75bc1a25aeb69292599a3eb0e06b848b0e71d617e733e8448aeb65256ec300e4f46a505d219ae9313bbf9d7b008f48bb3de038eee1cb481847daa10f78f413b4a1522fadfe099037ff3daf42cf0aeb833e7e303edcac02be9ec8cc8c3a4e38232ee1a8faa14c1842ffe0d9834f9fc9f6e319890263ea7bd70ea55fd91758920cebd6f0297b0dd3c5e20c25529c43eede54de73d5d8c88797d88fa86c3a6bebb0e5cb39891abd690fac5ab77e337311faa0198f1166eb4dc5c8edcf5cf07ee1227bde80cb70ecdbcbc1fee4b80d83d96dfa16f7a1169c9518ba0ddc0c3a91eeb4edfa4e72fe4eb45bed605f789a978602d4081cc17f529d0e138a387c2e04c0bea018b8602f3c5d3f496a118154cbc326a78b9400065bfc5830a57fdcdaf808286d4ac35d8a9e324aa77b724149d72000be305efef43d3e9f16f5d59777056bc12431258994869482d2ac35eb4b4a5630b50a35372583d327981753bd4167100970a3752d24b4466480b4f0ca6bd26797107a90ff812b8402e670053e1b085d61ba3ca0deee59989ee0b4de2f65b4df75d41586de623959638d386a6389e29584e17fbe85d7079b8fd6fcfde78b273e3f6f6e9582b72b737b7287e47a5eb31c329f35eb8e90a8a7845764bb50da1daab4c3aaf9d25844475f6b1c211336008dbbb0ed4d7c0286ee3dd9a1d1a8a4a6ea8f2c82a0547db02e5b3e2c3779e1c913a101bc87765c3b65b3466c9137881974917f0c2495ab38a4718a4bf140d58d47ec12594e0125d40d10f3cb17d4b5bc566ee6c30512cd90b8d1c910d5c79131410b22a9908a7aa9cbc1e5473735406e0495f8983da62bca4926b4b21881a29020c4d1a4ed8a3cf552b2b433aec72d414d36888c0cd88dc4111ad7a2086bfa2b6a308ef0b1184fe60a4dc5baabc886b06dc6ada7ff7761fbd0b219756737494e426ee4ef8881f871639ee6025280f2412c31afe2e87ae70075d14b6d782e20e58f422003ac362ba751d7919d047d4bba7a3eefcfe23abbd17abd2bf86969efd22d05f5d0c29bc057da9b29b88bcb99d60624239ea4afd83cb2e87fa2d6d44dd3b2143759d7445f04e106ab48441719916892af344696c2b5564f0749d31eba30d7e8bec4c33d70843c3f13a950f3b4a37b73d7206281849f83f14a2fd19c60f5b493df7b83133fd1d9e909ff9ef5483ccfe6cfa40bfc13cf80668d95c299c34318425ea23ec950b5ba9f127de5f5251e708129338268b33a50f6f801c1d8468d7343a6696b931e33d88cf2bb74b788cc5d32aebd9e2d8c9ffc56926931a243b4658b716f31e5b6811c688234128cea4b9d549be8c3f6d26cb22a60e0a68cd4b6fe98c9d5258d0903589c8704f07a5eb7746302de6511b7f63278d782f7a03126a2d86c26459ff2db4629054259f2ea275a4fe158e90d84bbab69183da3aeaad486133204b9be0aff49031448a1a6f789330da58a966e5c470ba673e9ea3bd644ed2d74eea7ad0cb27018f3f94dad3fa519fda7236ccd7ff1f1564d624c9fdcfbc769743c7ab20656777432f969ee787677301008898253840c6235828ad62eac1a05e7fba505b3e61d27d3495f79f9b851d9b7233017e690aea3974542ca9407fb34218b2254dfc2b760b34fbc243935a8887a3ba26fb5be4634b1ecc87378a3d5f7c309f49e478f0031b0fb8459e875ed7f1bdc246429c4e413418982aa50339b5995fa5b99668dc6db4bd4a374dfd56143e1020257da2708e4313295454c01ec8a86ed26532d039b4c27b37dd3502da5c67b5f832f445216d304d4f26a81371348a74081313c0cb758ea16d639fe2808655227098f2ba55c5cdeac3821892d7384b3b6cce05be02fcabc7deaa6b810af0425aea1f00fa33c1f896a736d9df9f92c71d3953c9c34e3375bf2528e04f8cfc59bebfcbd4aa2cfbb45d75f56c958ee772efd43c250fcce533345ebc6fac67205702199b5a640fb0a56747df08c4e06da970c873df91a0217317ec08bee8c5349c9eeb9f46c802546707a435087ba75aca98543fcfbb1d03121be4798e6f6f84bf71e8d882ba58570f7d638c343448e1b6fb290455bb6efdf4356f313fd62be307d725edad5e6ffb76e48f4f7ae46f29709b7884a4746e59cb5e2601cfbea94da59d1625659d7ae797338961b5795b6f753f76d5736220e9b5da00b8e8278ae6f131403447701c70e7cbeb19572bb56f04117ae6ba6b31f3b87e8a29e9283fcc88a4ec445fe673da441633be0be572c20136d9b7fdf700ce0db4acf3db6e88d24cb404ca319f68bb89c16e963bbb31f82b5000099e697359f7abf3eba9266feaf56506ff7cc87f5ad98b79716091ec2a7ef1cb28e4afc5775439fd3610fdf2caa963decc75c5806daea912d352272fd7b20e632290211d64c421a6b2b78daccad2479be1bbc7acdff030b78963d9c29299e6b7eeca3a684aafc69f102e6a803ba591d0dcea99865838aabe729f6def6770e1c5652e569c6e62f3daf5b57b1ba9425be9eb7534075ddd8c8f1774bede9903e698dc4e3ce8a7c0132f2940797b332b1f6fbdc88f02803692dfb50dfd9aabbff8fee4ea8dfbcc881e95acac83c32061a9e17eefe4028d1b62a3ee2746d6e1dc44805d3bcee7cbd41cc073514122a30d370cb7e24da03d893eec79925797c830653b430b305e0f798418d26e49db6d761d9c1d0b1829f4873429171ae9d6501855d6e10ec66fac96a50cbe281e256edbd38ecdc866442f1f91b3da04821228cc8682b2080320a4f63d64e265499063bcea3c0f25266901b038a5edd73b19e849c2049d6bf39dbadf39e0ecf578ef2efd7e89a0ef8aec246983249658c880f5634a3c89ddc4f92ac7b395084d5c864a08b32a71a6325186f424d8a78fb7cf6a35bd1817bf508510f4ee07c5a0c8e908be005879f9cc145d8056a3ca1fd2d3a528742ac09a8871520af7fa122db895cb613a694bfe1a33ad6bce11e6d0f3eee4b6e04f455ded85eecf4621488a3316836f1d4621cc177fc6ef457cb3a9f0148a528548b72dd404ae0ae006dab8796409ee84c7535a010225f0024217f2f783a7a03af4f5dee6a9b8f881d6dccce2a649201155079052403553bab4fa9f7de92a97cd5642ba4e628b3475518f0ab1e7614946fbf92589f9a403391d3db28fe4fd07d57ffb1720226575ae61ff9a2490dfa1ccaf13cc0c6f9221b2c0b2746ab25bf5608be43f36c243bd4bf6080d528f76628327eb31094050adf1a49d4df7e27041a1a9cd0786e6b0a0ad1cdbb69f33250da2ea51e11720605281d74c2cdcaba487335fe7eb115486feb2b4d906d70a44d241fcf925d76b06cb777efbb8819739e5024393aa40d41708ae7b2258a3183f229affd4a5efc663167e3af310ee10dde135aa76dcceac5e0239e2d53f1b4ac4bdd0821618897feaaa727a9b1feb0ae6a201eae037cf389e7a22dad1bd78546ffd292d394068e45a18fc2babc80771577aeafa50a7f7bf263a41e57458ccbd3a9d18da092973513a66f648173b97bb56bb8bf8c5b0c55417d8487b992db9cf4f905f587b0db57cc43cabdef0cf1bc56a5003cf15cabb467be33d5b6fc22fd237b01d81238a43c231af8e53ce06bbca1323ef87549c832f2ed5f17943df0d70e19719a64a89d77728e72b58d09aa55333a8b2b368f05acf0042a74c20d19566c4f9aae19eb3123e3fd7b0b8dc465cdf037806ed00cf0fef2fff47602083ee35a9e3e2d7bb83a57c1a1c5b73e20438f2c2c6b658d27fb184ab953df0ef8f8c3105945a5722ab08a21688ac33cf77884b54740510f29ccc98a7a5aaf28896962c14baf52763eed6a62aba3c9300a2c4c531667a9fb751bd74c4b8b8700786d1887818b7b682883136fdfc3625f18be2cf1045c5e0a8e1db58eff1af3204efdea16c996e0378df2f508cd0acbb04959dd83a6f0aa1bcb90fc49caaa203319bba75118f559417344b81f1f83d20f9c2781459eff7f7ab78ae3c35da7d487bd9e1b876750dc57d3e70fb3345bdbb2f15934dda3c7eaff661742efe4fcb7ef73f4ec0a878e6347af838e3ff807db99113db6fb6662757ff3247c5957bcff4d4278b13a25546759e389d3ec11256c96f8a9afb66bd650553f2cdb8a2b8a17ad447d7b16158a58542220788458ee6345a8ddda6183213ac6f75db8b8b1ae68508ee548d2221cab4a488e030d7b21d11f85282c5444adab2cbf10dec8341193cad625cd6952857bfb7a6fa80dd92876d7acbec6f8469bf44fb5640ed2fa9c61a3cd3ccc8342462a583c8aee4a64d448ed615d6c55d0ad011f7f347822aac6d7e8dd544c45f60e22ca9d30f26ff73ed1b7a0f313e537b87dac7b70112fef6e3129146350298f9c4c9b8d6e8a9d2ce2344a14c39722e316645d09fe1b8e7dcefe1703680f2ed07428e8f3a076c5c8eb2860b3d9d75593abe897f6da7088764ec5060a92772d220a91a4cba5f2cd303e26a467f7c9153bb2730c50581a17d6cc681f0614d7a2fff9252dbe13e7dab061ac1a261d3e77193c9829cc317214802c4a0fb47839bbbf9048a3396c3420ba896c1b025a97817c26fcd6992bada6767ff2649780b1024795430900af75871d82545d38b81c6146f1222a17b4e9a93f65fd2cbaf8fd86e1ffe22d1d78518d38eb0a8511baf709372ed622b8e656a4f1f276c8c27b38fd00982bd54e716eeb7894c155354e958284b94e23ee7d857ed038eb81d0fdbc7ccbb7a44439d8da2ca7a424f72fa307afe4b0f5b9f0a0b0af1d3733e5f6e6a0d9ab56296e6eb42d540c7827da35686f36f3366ec28ec3812ad30dc242e468a6661d0209881347d54f5efd9a76e1b128868fdcaf244b7fb73696ae2ccf4face59ce89c06f890eaa441873762aa890c867bbe34f411c40afc95241e7747be41dadaa3e41f92c2d42ffdd6788ad3f16e4cf6d0368634e3564f98e7d44095c1ca6598e1a1e9f822cdad68c0b94460bd10abc52b4235b2f73eda35b4edf5842d8b978b2ef74c0e5375376ae835a08e844a6fec9359341d546c3411eea93625113e416dec2fda41cf194ef9dc11b7b54c22e490c498ebee8603a807d973faa4766d5d2efbf091bad702821b236f5448e84e0335e2bfb7abe4dea22064d30008dbbf0f87e34a52b79a196b840a998b63ae8c8adeb0260c16de43051d3a5d4569c54aa3e6366da6c79f6e1fe29af4087b37211b498e23c4e056c980ef294b5b0b9caf5273f7166d12eec238225434721587ec040870effdda7acdc42f573e878827347d3b6598f0dfb1bc073b49e626d30b31e48a5914edc632ed5738e1cf8465dfaff993006d0fe4c724556ff3951158d28e00425ba4a30dddcf44b7bb4e6159c2da0ad93a03f5a73b1379af590a4ee829c43a012f5d59a190b6dd460dbcc641551af94d5eabe7c1543cfc661a5235450f9396c8986ce87b0cfc3baa0318a60ecde6f55d187e216874fb1a31b0c7d1a9b5a4579d100eb68ee3cca0b0ad9330b364501d265b03fcbae8a97eb537fcae3ffc951e009ee50646a2cd4a1324a86a42c373a3c6bad33c08e514e4dc441794be0ed28d84bbe6e92eedd0d750e71feee8db2f40c63ec8f00bbf1ebfdfd0ddce743332cfaf7bdecb66e86a1f1f9f230ab8e96a72aac6c30b70baa148f04698832e6c3dcfb071810018f1bd67c7e5635659238328e88e8718b81ed93c473b9ebc6e42b9fd79bdd6b9f715283858a2e13bb24eca6e01da574cfdab9e24d9e9ad8acdce694e946074ca50c11156de5d65c22ff68bcbb5283f4051aeb1049784b03436c9353786186d1b747827ad00666704fad47e445ecfe2f65bfd7a5712f367c4a430ed99930a7c06d8d481523ab2a8153c6ab1a81ab28523c8a44705d51f9719e0ab0f8e704ec689a883b64e056cb5b9adfdc2200986b670d7b5abc42841be80a429613d3718399c270e398b5d9ba100d338565a271c92d0d4ebbe645a3a75cbef6f2f37209d48fb903bbef655456f874a7d41ae59733cfaf3a498a5ecd1a9e7a9ec64d8290d18ca5f9d74c4563c21be4136cd9c9435dabc604995e2e86d23dba4375c06a9e065a3fe1276c94234e1ca569abcbd29dad505ab596544129b79cfe1ac4c5e06370a8c84780bcf3ec3cf31b41deb642e2acc09ae465725065142496aa96727932f2bc03378c7385dc69a8538211020f34db1902d1c24b608688531d750a8aa2fa1e30b3a60ad1851f3ab9a4f3c2e28dcb957d6b5ec832b8aa0bcbabc8960c89080f03b68313dd178bc089a34df7bc4faf9f34798f226c9dd61a49cbc5909b9118deab475fe4ae862f0f20a5a9b3aaad4d8669d32d2910e4aed74d9b4a015b6968641d1c0cd62872857008640c76d3885b91a613320ad5cc4a3fc30147b8ad7a7825c92c8a265d718cb553456e4f930cc8f8543790e0bbb1f7a8dcd76cf02269415824fd806477c3a944dbf9da316384be3e2b540b7f460275c3897bd9508c6c03202c8752f2938454ffb07f519b7058f1c214982433c26716d2781437dacfd8dc405d935fe47301dc403a615cb7da49203bb2a1ef19774ab4d65df8a23367bb9ccbdeacf4974b13fe616ab5d814fbfe5ac166ef66cda1fde7c6261cd974ca34cdc7c1048578c3a9792ed3f7688c32cd0970f994710b2ab9f27073ec8ad83170131e0c9529d2c81411d1c36050a54e42000c8b4f7c538c38fe73bcf7bd3525597639343d060e9a90598ba13455fdef2a6bbe719939ccabf240f6734003cac96fc60ceece5ac7b9cd308d37f692d945cf1c1e45aa11b5056ffcf1516bb2ebd348c637b9ef9ee80dffff0ebeb25951c4870c50dd69cfe50fc72f0141269face101ff9c3cc6d92142e81be8fce0ca858cbd790468bdd2bcc4f759dd5bb506546efd99cd6384737e01d1b1c0387e2180c4677012d34db0bf9173aececf0cc4d91879771b4fe8930129563b7dedacd3226ba05459ed1a1b75931b73ce2065e406a683d50ce2cfe32f9a48e8ef93617965fec6dc0c72abf13c662cb02ac11499787eae829076494e37c86b6633fab5556075333749a7a7ef0b6ec4e1cba7a2242e53d81e9ad5f10110d9dc02ae2e2bcd6fccb7e435670b7e6691ee2b33145c803ca56ec819ab6c3e8aba06bd61ad67e7b6fd1aec80c57b22d6c8a9eaff8d1ab3e05509f10f8cf7954b736c9cdf79f5aa2336b5ebad4d4501f45b71dc5ec50e5d4e139ea58a1c7d12d800cc000b18a6d994d371f827a1fb829ad894ba8d2682d42881542d995e62400c49d92e1f640c5625499edfa77a1c4a8ce52121fa0450e5314af885054fb0344129a5b0d51e1b2014e9b489ac1e07042f7392ca5f99af968d41cb631bfe6dff9669ce6904917be61d710d412b817154cceb168626d8610bf9e4f339c96fc1979b4d1f6ec2d3e2ded73ebaba512fc732e2792ddfd19feb2ab66ef93e917809080b06f494f4e2300e34dcebffd4350e92e68e56780939e0adbb53fe597bf03fd8dbde093098a2d19319fb9386d2804fbc4c3f2f0eb7c539774d4b134ff4d8396484d60df538e0dfb14125cf13a0cecf206e1ba570b2c53c5da4f6406c6459f141f6ea102d26840a3306057fe6870304b1c2fbf5274a3c03f9da4b08a75e244c695b5c10d11e1dee15f8d696c563076740b86634aaa4fa90e64456a7da40b600d20e9c0b0339ef829ca7a6a6df08c2bc1a970507a275785d415cf255b78f9534d6dfac0f04ba5d571d3686da9ecb788252c4898d9c53cd383163a0e8c6d4d3b5b0e8df4c2411674e599ae3e3d8c5a08d94b74e175356bba42e05f9e28d68c5376eb86c3cf4e4197e8692c6cc08834f23adf4c42ed606214997d877196c1addca4361dff5a879c014d8f82ea7186464a6bbf87eb31643a624cfd0eca55fec3306e7d3b3ca61aa0a417ea7048dea43831e19c31167e44cfa2453d50b58294ab70b2b95da4adac540503cba0c9998918b8e2709bf2a7050b23553b3d662f3457ed47cc3cc3e4e5fd3291996ed2c6c07c7b069030578d14f820c3f65a92ac2cb172b9709b11772ac6a0d48a2b0450399c2ef330e78ce0cd90209710d262cc1724f2e064c26d6067fc414d5d566387909706f3fc336d4889fca5da4599979db3b6aa16d575a84c2d96ff8785471fec7fc16194504d4b0a1a11a3dfabc7da5f304f311cbcffef90dc0750fb16f6b87c0d422de4ced0add14988fc3e4868dbbd4b3f40978f0cf313287ca5891ce65ddb648160201f8230accf908ea67aa11c2911a4f38f617a89a1e1698808df574c01b936b9b5f1fb1970e9d6ba56bbe964f79c91f9df68a645733cd09f97fb02239b5cedd61befa708f267d99865a6dfa6d0f0f9a7f4b246e533800229cb0c53940b21210d37a2ef4b2c986fd463db64b6ae60e705d326126d8db3044b5a80cc4f983c27266b33acc97697c9277541a5b02f833cb7e218364392cef27014dcac8c75debf6eaecb485f3a2e1ba660571c5a9d55b6d7acc63879d545eb83eda37e75cb1471371c2748df64a581f7835f10208bca161bad5e3f21d122fd39f8d3c1fa85a17beb085a86e2de42d07c8771d3de907d4ca5df317e0854c21424d4a5ce986dab18e8caf035b8895653d891dd2b4fcb9a5f541858c13909eaf8b7ca898925bd2fa7d2aa85b3970eca43002945bc3ff2e7a319a2ad1b3ea0e2851bf208f09d3ac84b1449c88780e92c320205f5a89207c67071abbe5ef29f9e033c06505cb05ff0d08ff6a81e85cbfb4ba8da092eb0100c5f471897f1d8dc070ebfb2a4700cd04d1c4fb96828f32f98184e66f85cbad900da8a5347db3007984401a1f4584331452c8ae6eb35b9045211540f96138634d440cbf6e33acbb453a5c829f702e381bdf410c52038a133cdef1956a9fb33e6053af04321562fb9cd05a9ef11418dd8ca02e405544e2f741d564dc2c3a95bd3a5947b78e67a67809fe8f7797c1f9406eb299553bb861f01e33b8de08cd267e973b0b14179ddd087af408649d2a922f9f0d6f0cb5cffe28056711b91a57661bd891cd6469d083ba5ded2f9ce61a5ab352a0528d4c85360e306cdcf756f75924af6872dc3dc27bf681f2fa2b60545654066283b5736f2d59e573b06927129f3b106a93057ee170bfe044ec955be4b517e52be579870420d0bfe5d57dfa232ddcd28fecd65d46d8ff110b8b7783a5ee842df0bae1f8a40d1a4c330da2ac33bfb62f18539f76f08e4ac199d8e4e373d4ee397df7e58e16ad99e992d33c1cfd45a2cbf125efa1a3b42cc2fcf1143b554e749787b0bef53cffda0ed567f49c4ad746da8e25e23817472ed6f3a4082864a05658cfba6d6dd48fea2ed8d987333282667d510badaaf080ff9f2cae460c5dd14c38308272f4751b087f0278691b07f75732733cbd32d29b0b3b8febdcf0e5f9156cbb354ea7957a66384c270c7a2f838bae5b1be949a6bb17523a7ed884ea7a04107d31f53d28fe5ce48f73362c4cd2ec58e35ff4342f77784cd0f6391dadb4e65aaa84da333d12200642dc9487983157e3606315b3930b8ee0908eac4eb86a14d233acfad615a025a362bbbe8ad5ef013091c7442990f969e1221de116fefe77cf135ce7c94f891b48e0d5a0dcc00428b599ea400e71f581cf979d9c3de1158a5346fdae77141d7796e97bb0c88afd18d463e6a141407a8157c6e189d89285e0ef45ecf3beee4050f2de51517279ee2e372c86cd86ef288522ff9f29e126a289a2611be495167988277d3e9034903f16ebf691104a62ead035a90648cad10bc4affabe6ed6440e4d5418434bd9729e9475dce04536201697ad1b905bf8bd878710b451b9c2df460aad39b01954c9820a5d248f6421de13b3d31afa88120d6fbf25f5439e04e6465c963a93519150564071e29f85987b142c23641dab491f0d6d7587f30ae35d8e52a41735cf25aef4e06eabe637d135e04529c4a731a8e8d72cabf75c223574723f92bf382149311de7eb8de4064bae4f13400503494269cf96a6520fb1173f93ea556f4da613d241430183d6edf41af02f58e31af135aa87b207d770ef7718f3aa50d7e604d323fdecc0320573f0528dcb64d6ea018727a8ac471af69c92340e5b0a71a29cd65cc5225821a2c25c63b8f537083a6f9aa51ccc39aa9e249eed1d28d51ab3b1a7de02ddeecdb64415546ef79ba11f1cb822bf5e0728558edcf4c6224890589fa8355d358308fc4000afdd220ae97d96ed5b0f6482fe9cfd241970883b294986c4526ebc9d3614b7155945622d9128bb19ca4fc0e0a0e5bb9fc6588364f69fe516e037fcdd7e09c3321164cca0987bb72818c0de528064de498aea6170f1fa3cdfea20af2cbdff03358ef84835f973063341f21bbb18fac15ee5e832b91151dab42e23ec6c945d66602945c1da099f76df4e029425641e0372824959d29c0492c768c06aa2d286aa7fae798ad4e295b9665cb52d7732cac53dec65795337c72bdc16fa435f6f44d500a230dcfa83ae0f806a8790c5f354e1e24665cd87e02e0b23910e69654ce3869db03e2e635cbdcaebe502e79e66853a57bf69c818ec7ae1a209e52ac9f62aeab99b10caa936240e6adb584bc2661b31eb096409409adaf734e822d3c9bf27444cdfeacb270b94279d9ebdb1a854763adb123aeeee73865eb76fb5f831c3fc877db7b43d091cf1b800c634cb2ead84447fe8179061803e120c80206dea0becf142dfdb42c0632081ce6e239ee307dab8b25aa3038b7813e87feb6c8a33f2d80f612ceee9936b0e17facb265e6df1d086f6f812023b92118316052cf60b60fd798c59e1147eea499b2a11cf9c009251b34b14bb6b0458bcf02dbf647046f04a3b8373324ca66d5a89bf482388d03f9518e033e4c8d43674778a07a2299d33bfdad6b6d90fe436864d44393009e12f110dd1d94c9624ef70009cd82bc0a081286be6bd6661808c201b0ba79748f4a524a8d5c761e7c53c660426143735c755875b5f78af8a4bccd818e4eb350ba07bd3cf0047902f6c54ec72f31c1a91a176fd496423f2331a53b0b25f11f3a6a5f9949a60e0e75634ac390a4d1f44d1e3cee139c2a3c095b9276609335551259be32dd0afe8cf155bb878954907fe29a6e3ac46596c0e311ca4a73ff5a5932a27e8a9804a0b6ff985a60417f30aa901096b66088c8118d0287dd4b178b32e83a21e4cba7e05b451a6718464f26b25d135dd10efb0c0cbca6d78d390e677c4a23326b1a7f508fb7380c998be657a784a8812df91a670b2402ae45ff9107d20110866c626fea20f9be145e07771a90dd2077dd4b9ae24b353c8dc584d738a28f2edf6c8bf6eb57e4a347710478cc8a5d3fd6462466d6f0a8416ba2e68eb9c6f7263b3e1b07fcb679ed64835d790134ca78b9d9877b45cf8dd5740bd3ee7daeb29e06d6f89f4577f0ede3fdaf18192bdce9350188326af457484e85ac90ba7dd96149e45c2dc45fc52cc710f4a42dd7a6f234346fbd486b5bb13b894299f6591ca81d8f56bff936a3939a593db844ca28b8a53c0396db186e347e029dbd01874ab982ed2cf2569deb6868add5550548dab4fd51794387f1eb1ece4cdb6b8cccbb0c4a9c189884564762dcebada478df545c27e524de059bd534ca9fd1268080a89af85a41f1df954fa55b7cc5ad00b32ffda45dc9bfcade91d796d004a9dea1aa27423c5bcabd055d691ce3ee0dee3627619bdc78e36d0951f5273d4e5e022fd8f9fe0522e1365ef19b16d1f3f51587d9f01fefbe96981c0f10f5cc09b9571dcdcbadda7e922d1ce8d9473c85bf0474ca0b01c455c0d92bd01af3143e014e42f02519f62a8e884755a9291d550f32405d12401a8c51b1c3904129553b60c7f8469fa15b87c0f6cf3a6b9ca3693b6bee4443efd13abafc9de750c3338a1472892ae4a1b94077e1bcf226a3ee3f9b7d0b4552ef6e3d2020751b4e580c7fb47cadedd8c5a513c67ed81c07f9dd8b4a625498acdc3954b1f97f116360146df6d7dd25926d9162fc8354c2ab02f6c9e8de4ebcb891870203d6f83d2c7f7df13ddbf9a462fd9dfae57a1ce5bdbbb178775eac92553142c331d188bd5f3378c836d3542afe73f5a904ebbbe77457636126ebbaaea55ed5289f6ba40a0ffa781faa0e31a3ddf768a0ebb781d6076b1426918e13fe5f4ededdcb0ed8c48dc94f36d06039919edc07ee23e3d1365c78b5e3da6cda4c817b6d68d6190c72138bbb8c5746713875d788900a22abad2f05f9bc64b9b4e0f3d14cc50848264e844237cf3a65e03026d9c52173a7c5752344c4e277479b6a899bfa2d4adec1c8d9fa178037e63303efd3fb72a0fb221c44bacbf3dbcab0e17ff2d74d98391ae97f355864482ab386c471cf39a9938eb3a5b45075683cb6b429be1f476f827310459f855aeabf3352167dfc2eade88d73587b7dd22e26b6420a00162bdb1a873ba91c1a8a886b24eb393a51062548cf86c1e4c61a35201ba6cb41162604c735d329be869789b06befe0b10ee4db35fbb12ff010651d794f71e1f516478ae1abbe2d0eb541313a8b149b7cfd6da206955aaab2ea4dd24b6bcea4a51c7c0ed4ce98ee3e1ad4aae26f04784c3ad71b521f7daaeae4fd4c64a37ea13fdcac0f2456552a120dcd6f20d0e6b1b866fa87dca0b83e4dc83d760032392cc4daacf0556e1cba3cc300d83473fc0dc50c292d2211af29f48c3f3beb975ff85c6f8a2dd40a66649410fe16951ad319770d169cbfd70b1147b9ef75757e9163830b95aa8554bab77289c7cffa627eb8ae2295e11040bfa1117ae21356f5a0672b66a0caa0fb5a3095ef7f39a4d7b062343cf0fed5b105ca5770ccb55297c833bdfe127911467b628acb95a0904ebcda42afff3d106045f2e5c6da62e47d3b25547de854c59d3286cce9946066eb36f20c453fdddad7fc344e8e2fbd2f5242e99588c6d1e788f2e424c0c5f80988cafbc621c3b86d2d0c794f51deb8fc0293651585a20119da4981e92821c32519e720cf961bfa5ea28bef0c5e170fdad5e676364729f5f5c12c3b132c7186cacd244362572b0daadb87a577c1552c3cb48ab32221a49ce08fba63756e28d0f7755ffe77c372c719e6d8e083538637c4bdf58492016cd975907060159c1181497933da171dec868088b3f6c3c3724618a5c02bb72a37cbd85a9111ff073e34b83579fb9b333edd6369fd71c3b894b62d18d12afff317716ba0cbaf0e8f983d6505925c47824af54b33663aa674d4eee68da16382b53e85d065316a32797f364529dbe985ebd6220bf23c1210b5698cb4bce50e0d3a1703b5c9666d90c0392d4de8be03c2d67d4bc9e29fafb49ccfcb2080da7980d7dfb3a08ddc26fcfe855b4e50fc4922666bf7bd7a8b4d0557f6f1e787df76788d85ac6c8cf46f6e7141825bf7ebe1247980731440b5d462787c8b8228134af96735052818b150124d1cadaeec3ea0d416bb1e7f3450bba3b736aa8b62d0e1ddcd47cb6dc4eb81f56923580b3e4de2409f3c3d69d4f71872f5a4046ac8977f35e447215d95f5fb9d052ce4326607d5c08135ed0de277a2d2220156dc91342d89745825d9b86e451c6af2cedc13290db69b5ade9b47f16e45b9cba40d493bdf755b2ec9162dc7fc6bae3065b8acf9bc6fb735f9b55e5ed7df742b17d7129c3b48dc641ad43817e4121ee15eaf24e41e39170d85b34caaf12054f4f9585fb61ecd079c096ecdbc18d867173ff67b0d0341754dce4738d12471eba9bb0c919207cb7e79267fefbb0697b982e24c77a9e532524581f41568a3fb92bfcb28b5ad319e45bfd5c151bea2697e24e3380b574db6f1b4bf2f615f7286d866fddeebf2ddb5694961929dc3cb890a5daf125736a75518ff3b073cf34061d30d8ac8106a337e7390626c7b63d531a52c1c82b92b8eca4cf485c260e2c9a601894cbcffbef2c6795e6654bff73f193ea318c1b9d0e9e37b894f55b777e51a1a906f0fe531d8e82ef2362fb838ea8ce77269b07e9dff3d78d124aafd9b0741d5c7f785c71bf40189ab8db29a065ebb23351642e0ef80cf1e8d40555b5e0f08fa55badadb2dd613d36aed63a43b7f03e025f9812e2e5007f793959fcf92537ea5b5fe44fbe8dac9f111723d8f467d16f4fbc4489bf1970c3b59fd2ca07a174754e3579f3a84e527b0e7c14a7a7bcadfcf8f97dac05aed7af8fecb8bfcc731d0c0dbd9187ad1bf1128a74de383b668b001724dd560957610aa47685ca3e0314c7605cffefcb5b3ba3f78c30121973835447fd7e8ae4a9c4916ee1169bcfbe9bf3576e502127eb93a9e671c52e9b225a35874b9631306bb8c1c1ddb0c24e549b443664c79321de9751f310415c01c90355a2894006981253edda7b8140ff05bd7e134ef77b4277a0e0a6a6cfddfba336920156503472f124b9af4cdee1ce78ff32d2a9ea32d63e5ef189fc10907833bc350bd3f5a89fdc6f667a7335ce14b46146852af4f01291f79676a0d9cbe4d48e23967dae691a2088317b05db2e61ac3a719f463ab0826b60edb5187c230b23b119ec890b12e52b825b3e6d0eafd0170709f3e2d4790b25e554f506c8a3ffcbd08b37b387596aa36d83d14cf8a45ee30718643330deb3ce25b9316ea10b30f436ff92d0d48871453cd2a93d7c8a8bd68df10e724fb683d7798c03240646b72a55cc2bec032e2582ee67a7d3ba39197653d80c736bdf5c2f2f761cb09469e3869913f19613b91361e5169fdc47577121b0f20b341cf296c91c1fb13ef4ad930fbcb67cbeb8f781747dadbfa187d20c8dfac17a153cff7d47b5d0e8149710983396f8b62d39548b24a1952da668085890672c036e62407b4a5c7656ee1009fc3e779fb050dda9b91d9afa91285b96a7153b3fb47a1afdd246d23aa04d233c04f9c0ff8ae08b8058447190ecad8166b760106a4e50c55c0207b04074a6077acae0f75518f89545ada8e2f2403e419be5575c4ff0338a15bd2cdd8784b5def9aa35d370665a3e81ecd5a4cf662e0bb132e250d3bf99ed229c240f44ea7623832aa74879f7f3cb4190c9799002bf417021a9fe05139d7190c09f728598c10fcf6c541663d2fa70b1883aabf46f440fb1e7900ce081ae1724242ab1f860bf8b39f3885d01a773ead932756bd0cbe5914eb8d9de3a34f153aaee1cb81bbb5e4ac40e1b719b10fc036abb95f71537ee8eb0da01a7f51746d239907dea896c7e0e162d166873933d17a525bf5f472ccf9baa276f2b3d8f33b0e3fffe19dc24f7aefd817a2616858bc408f01d25c27509d50146947f207c07845e9dad96066603ed184a3c896d56718622e7e4dab200e4908d5d615ffad3c93631bb3e524eaa7a869241e66841815be04841165a0b359dd7da0288f07a90905c06ceb0cdf0cf0b92302fb052d7905cbe6105d115134a5e44d978d5a6152ae488d8770d3dad8ec3b07edad0dcc678149cd821cffb064f7ab75b27f2e23c9d4bc2e9eb0ad54b5eca0b76440bf9086b21e04e4386a380a1aef8c50a3fb006afc4c22a86df816d04b0c0a4310c7c6964b6057ab9c12405e88e81fdff108df25aaed866b986dedc8fcece4baa8f545909a8a116e9a297502dba45f2271c16c1712f936ea825305c44fc3c61e13af4ee70ecd4ffd4cfc300384126aa58236f236a106c683ae6c8c29256210033bcf53c6b0afe239b013b6b0ec8f95c2bd251aeacf93b78e66abfbd783665f0f9ae928ec1436cdae5c4b12a022a41ef2f1d781efecdf2a3201d79eb911c7be701677dcd0e7decb84be943722a329f8c23c1871a4e9aaad9b7678098be55f779621428c6cf0b2591af3bc4752e2e4cd8056c6986fcac6475b5b55e6416e79cb9225d48caa0aebd452a67d2f3b5cf1f909d7ce6473942b2854685bcc5e843b4cf1f92c0e89a142a79bf0008d622083ceafbd3f64c21b086c6e7fa269267f4ed4cf6294b185cbff8b7df233ae71eb1207033efcc5de6005a922f15f558d26573d01305b2c0b3c26f0930ea073ed0c12518534d23e382b9b1e72f2adf830fdb0e39446170b7ceda02902a71047331744a414f04bfd8ecaccea1b8fa09b0258f8d303113a1e093f9e3f518f2ff9dc7e33365196c514ad8d94d4ac432d05f73b91a4c4d3a7840568cc6893ea828d93aef83d146e4c4d009b7aa7f1f38e830b779228a2f0a2fc48c2a7775e2dcecea06b8f7f01e8fd14bf43a26d32c96d73a64c47c9d72c7624684207391a61022710d86026dfd62bc63a91dc59058f6edc985eab111625261a4be62f6f83d907a05816bc031d981dd2b332a8453f0ada368c032d6039d5ce3846e3ebadb0ecbbf4916a4db5de27ffb29d98c6ae191ceb95e673566333ea776912fe487e458abae877533116c62c53be66c32bbaa0cca0989f57aa32844c6fddd65c583ce10e4f14014118e537b4faffb1408563076a2f60b53c7d7b27d184702f57eaa4e90ef779efa56e10f1868b81b3d68e65ccd99b84b8efde714abdf73c8e1e9eb2cce6dc0391f42c6b7af9912ab5eed947c2d2805023be21a00d7b2f9ca8c44bea21a33e75b5eb46d8c7ab4676571a7546a3cb71dc2d1c6f153b9b459bff63118718ad3eceb8c8079f2948151eb5cba9faaa82ee9fd9acd63ff1341149eb54d74ed1871621847bc67f5373bf7e179e28efb93b86bdadb05981fbf693414253385c6d061b79a1d8f171b68986a1a98c33b3511821844e66905e9186511154131a7aad43948393b4dcd42934bee762308a3387db068c5136c21eb01018e960fe4c235f093af404fae7ad02196944b0be02151b712063e4eea89c176bc92b4e472fe9f7e03901eb247dcb433bfc986c276f27bbe21585d85fb4fcd3257df5c3bbc33a278c03fdf46e295d6e6733b2eefd15199f6381bbb7331933f7bc50d8c183775dc7cefdbc1cdd97c436b69f6ed491b60b79cba39b161b6ee238ee8e28e45226664bd068cb3beb8665ed308c032caf122f753c4763b96dc12df1098839ba3a4e20f1ff20819d3325908a3ddecc1331c97452a62eccefa6ac042fc39aeabc8ff769d5c222e86474650e9620ca506022c7a122c9934b51dea31b03a8942ea4ea923d345ce507c387668848bdd7a9640e9234e9ab59b7424abe979900a59c37f8bdb4263fce691ecc5b326117102e124878a187cc922e4aa12357fd69a13702f170aa8ecb4955bc924db54333660da31af82b40681cbad00dd23833e31dd365cabf7aa70d2d97dd2ac597d44862be4ba22a045a6a04abfbe8791fc7c4f951907f355475b9ab135b1e2c3f44ca7fd744d0232940cdf0686ffc8ec418217393e012d228e402718c8c2ef3eb3bccc70fd54ccec14f9b0d88a46abfeb83318097655c0f37fa879b036035e538c8c95721073cee492093fa6b19c88c9e04fb288fc16acc27eaf81d76a82c8f25cd1064e2b2cd6d90ce12c3f1eb7df00801e3ec6c8e130cfd25efdc0aa5e5c62db6d480b4a89f60a075effb4275ab878c3d64497eafb437fbc7d253a6f5676fe0ade7ce3d20fe7106cd581d540508d29978eb2af7165b82f3a0c10550006d5d6278e1de38af4541cd0fc64bb382009098c5cfcdaafe3dfe8e8fdf9d443ff693836ac7ebee3248e73b4b8cc702342f4803bbacf449ee99e49538e5e1f32033672f53ad9ae612bd07c20487ab726276ef6126801f1b31f15ac1007ef7ef59f937bbdd7a2e8af741fc7380cbe617cabfd8508f4380f7813ee3c8d268f7455165a263981d786e6fe8c194ee8d8884913445ec09b90be1090b3954ce54933463c632a8becf6e5c63bace79aca5fa00c4b143b65dcb27b6aaca6c55b9779e0afe178d4cd96835a25dc308538ac45b8d6dba886f77d91d29f49a00cb4aa89923107260fa698515d4f4aa954d77b574ffa3f6d16e5b3889fae4715612fc4abc563c9a1c13df26c13262a009c88dc0d07c7b67765d37ea659474815255ea19985713a2670f389c26df1384412039effe267c11b69634b52402b953ba0b0be51c7c21a2dec09ebaeac4bf753612b0494b7ee18323da46b2b57c78290ffd2c35f97435599adeef66d90fd9303ac2f3b8da38a486543faa7a632ea54c5bec74ad70a1b7e8319ae89db1f5047eb27e03a7123a8fb462d135ac909330238e965e170baf5871d6469447540e3f60a6d915b77cb292e79838597198d0be5d9eb435e066fe0c35224143cd3a52d0ba83a4e1c2c4b6ff9634de42dddde2861f0cb4b395bbd5545086a64982a35b09f3b92feba1d52e9e9f4b2710b88745995d3698cd3e29d3e2a8b316b8c71c7afffec210180c2a807b97fddfb8880270d1fe6df3d4341b292369b13be4c4b3de1c7dd87bc9f79d3aa25eb80a632d742e20da44a8c203ad4829fb3742217c9845fb348eb74673f18461f15881827ff158396d7a52fa2c815dd3edd111ce2b9c2d261a73db7e1da3ca11dbe09f8ff4adc6a13db4b57e984a74e4e34d66f9b6ee74b5704646c96a68500baeffe335a614d4c137c23ffe819dd6a3535caeb37061796dd9f0c1fa51c35935148201e95ea9446e20862c77175b16714f60427616b1df6c80b7d704751282e01de802e67126844d0f9fd4e9808ca42c4bb336f69298e28850780a265cc5aa6a1374ba52e7ec4cd16dae15a340a9b88a6cafe65cfbc232674aa211a382edce42e36d5cb7aebfb0c330b49e34e6c1c294dab7559e19adf0154dc881c01f1b7f46d45a7a050e8fca66138dd50b8fe44fb7a0e3734634a8f7cc88f7102925508d7edfa03d7302bf9e88aa4d6a9fb6b57110f2abeddfce67e619c32ecf65bd1939489144c6827220c922aa7d5f20f662cdcb3156128baaa17879ce8119d205b807d7b922d7ee0a2d53e796b391d6db590b8aa278ed8314d14b23a141d8ad70215f75a3bfb0e8cb7146e19ff63d9cebaf106f80e0f2f95675fe5295ee8ce2168331b91a1882743ad41bd42490ceee3202170e926e1394aabe5bd51361e3d12aa4dde2d1415af3fe1f1ada89b430e30adaa8ada7089c3f4be38e3093138a3b863ebd7d63b97c5a2d98ff1d79b6461342e4cc6f86272d5f2ec59955879f7f979e080e04df506a12d4110b5203b73837d0ee158979941d664424a3908962265519522a2feb67bf7214cebe8b56053484104a0c76aec37a7874bd9b9ded7d4a8799ccae32540ce20561468f9c2757a9674eb6f0b403aab29be9dd7c6f7cbec0fdebe8f10ced2ef208fe3ee67bd05a550fe5585d5419ab7afe34dc6e401a2dbd99551eb37ff610d93a2020251c7d9057058e74a2f03e9d8b5b22b3eccaa655ac34eae93bafbfeb5c75d6b848b857210b11bbc59c303cbca973c4ed149b30946f97f3ef8efcf46bae7cb559489016e1d96b36d1494e119f7a6c1d6dc4b64f341f3d0ae9a856c2fa612c8e668e347be678e62e7132a697c6f2f13e2f79453fb90577f573e97b4c3f2e76772e75ec9a6e4b0019d5de31657999de0ccc986b32dd7b0ca694168f37a5c3757078419dde3f2869f60d47fe7238f6828529adc7be610c2c77454f9f0626c405876922e98f7afddda8788146eaf464f7f6070f30dda54eb6459305b3e8a909420efab40f0a391717eec4c4d79b0455eb3dac957bef7262c8717f64ba9b4760daca0f615b02aa9956de4a046dbd3d87eb514f674b4f1717fef899d0c84c252377ae302d3c04683647ab88f15262587ae101dd572f7bfe7a366dde6c255fe656940f002c26a89bfb6d6aeff5c9665c8da53a59fe51a8defde51edd8db78158e8db53e9b44dda36bca163d7c75bcd9694feb57367c962b88a7023cc120a0338383ffc6b2f57cabf385bdac89778dfb7d38bd0c967cc90d4fce835e4b36a59639f32b9d2b5c598381d9b8f3ca9c328786746eea9b3f3b51c38ee078af3c87cdbfe0735cb4781551f5d535f90a113021096102cf8c5fedb98cb0e18c6e2a634f384aab15597a69ad498f27a5cb89ad1322240382c99f41df5a6606d325c94a66b6126fe8d12d112e6c1579bac18bd2bb1472ff3dd2ed996f1a9245fdbc4573832955f5580ddfc14cf0d580bde5ad6a8c40917047745fc5ca676f5fa1d488d96a9d64a0c999c72d1b1ac680b71cdf1707e5dca49e603bb710e203d9d4d4b1549aba64f6094b98996ec904fb579be270cd66148d246225f004eef5ce2e299f7878494c5b5d32764a8af52cd0bafba5ac24dc28c7240d7011518d740aaad79524e987ab7b4df35f740feb64a341aaeafbbed52073a0659ee54461b3642a6c9489d83da33b54357e6f41817e83da114460f29a98050810decc3d76784664c84a3e2359bd29c402bae8a874a4b2182cc9ecd7faeeb82c8e726e3db541bafcb415bfb70508a2b0d9f27ee84d7b3dc309d3c971dfb79bada0a3a0e1cff56ee512bba05b9f6ac72e1ad2cdd356cd99cffbb8fba80cd28562d79873a3c06d52aab30d7aea1c930560778b936a65540fe49ca6ca76859c4de1223f4cff16c374dfbf2470c8db4ef3a70859e5864d2288facba62e0536ba24428c7e928e1dde212709a2d5be4dc6d641cf9f739c42a928f52d444dfd430f707c655f7d38447d92ffc71e54be837b7e38aaef8b74028f5ee6a2be9d54ad092aa1178f46c2ba90919c9241585e78df4b4006a89ad16eb5c0f0c3826be7794a19555966f6a6af2a8b426c6073fd4024069a0110c9badfa1b368a630e22a4fd5b13a4c9468cc4bab8ab4012fb0de9dd3cacde5a1bc26d64f432a8e04ac3f99249b3fa8129b1a94924d51350d1740767a03ad5bfa74da5307d264a51a0bf2634c09461bf3d8fef0d28a4bd97562eba71ad916877014d697d0b8cad1311390466985a992402b639d623907dcf3d8c3683f9fd37f4566549b61dfe06be235db963859b3c9d5e0c133612c3aaabeb0196c17f7d6e3a66385530b7cbc102bc07db1d5d1955277e3e2832e0dba83b0a84b673ebdfad3c75125aebdabbd599cb80ecd5c9491f0c3bf9996c4cbb4437fe805a9a5e07aca81816f7af9e88d49195ac50155a98069e8ba8db4099973bc9891f4d3c2f57e6deef3a324b61e6a599d421351065c1bd5aef6a1a57c7d38b1f7ccc603c388605f0fa7a4991c88d3cff98cd1cf5d2f0bd9fbf4a3af0177c7a0a37277b4335cc19923ed47d3b25237009ef66de60b44a8bada3ad5219cf67a7a415fac72479d060abf71685f2f99da1df90fcc11b1ce302b06172d7e9628033b90541634add4fd3608ada0527e9c0f8e5ea9cfb6ac02306efa33f62fd1366dab5fb343a7fc6f0fe22d2998b0c8d85c1057d742e597985c7d4e6320b015a9139385cff4cbae06ffc0ebe89afee004b1d853b4e8fd0406ea4b2dcb3c5264cf52e8f80eed0ba8236c3d39c2b913eaf1516d40c9450d1dde8cc20d3b1112fd2ad923959c933f9f3eeabef48870ca9libLLVM.so.17libLLVMTableGen.so.17libLTO.so.17libRemarks.so.17€€rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootllvm17-17.0.6-150600.3.2.1.src.rpmÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿcmake(LLVM)cmake(LLVM-)libLTO.sollvm-devel-providerllvm17-develllvm17-devel(aarch-64)@@@@@@@@@@@@@@@@@@@@@@@@@@    /sbin/ldconfig/sbin/ldconfigld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libLLVM17libLTO17libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.32)(64bit)libc.so.6(GLIBC_2.33)(64bit)libc.so.6(GLIBC_2.34)(64bit)libc.so.6(GLIBC_2.36)(64bit)libgcc_s.so.1()(64bit)libgcc_s.so.1(GCC_3.0)(64bit)libgcc_s.so.1(GCC_3.3)(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.17)(64bit)libomp17-devellibstdc++-devellibstdc++.so.6()(64bit)libstdc++.so.6(CXXABI_1.3)(64bit)libstdc++.so.6(CXXABI_1.3.11)(64bit)libstdc++.so.6(CXXABI_1.3.5)(64bit)libstdc++.so.6(GLIBCXX_3.4)(64bit)libstdc++.so.6(GLIBCXX_3.4.11)(64bit)libstdc++.so.6(GLIBCXX_3.4.14)(64bit)libstdc++.so.6(GLIBCXX_3.4.15)(64bit)libstdc++.so.6(GLIBCXX_3.4.18)(64bit)libstdc++.so.6(GLIBCXX_3.4.20)(64bit)libstdc++.so.6(GLIBCXX_3.4.21)(64bit)libtinfo.so.6()(64bit)libtinfo.so.6(NCURSES6_TINFO_5.0.19991023)(64bit)libtoolllvm17llvm17-goldllvm17-polly-develpkgconfigrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)17.0.617.0.617.0.63.0.4-14.6.0-14.0-15.2-1cmake(LLVM)libLTO.sollvm-devel-providerllvm5llvm717.0.617.0.64.14.3e„(Àehy@eX§@eGƒÀe1@e!H@e @dŠę@d{+@ddÁÀdW’ÀdBzÀd>†@d7îÀd.Ž@d§Àd m@d Ê@c™@cŒ‹ÀctĐÀcgĄÀcZrÀc< @c,N@c*üÀc@c6@cAÀc”ÀcÁ@bś’@bóÀbòL@bÂÖ@b«@b’Àbm$Àbe;ÀbIŒ@bIŒ@b$ą@bÛÀb •Àb D@b[@aûĂÀaśÏ@aéNÀaœÍ@aŽW@a(@a(@aXIÀaEÔÀ`é‹À`ȚÿÀ`À`y|@`)À_ùšÀ_őŠ@_ïÀ_ŚSÀ_»€@_ŻÆÀ_”@_À_"¶@_*@_ û@^ńîÀ^yö@^x€À^hÒÀ^cŒÀ^=Q@^;ÿÀ^9\À^8 @^1sÀ^.ĐÀ^țÀ^žÀ^Ä@^!@^,À]ü·À]èń@]èń@]æN@]ÀÀ]č{@]ȘúÀ]€c@]K@]‡b@]‡b@]]2@]VšÀ]3@]@]ŻÀ]Ò@]ĘÀ\Ű À\ÀOÀ\–À\ÙÀ\†MÀ\„ü@\u*@\iLÀ\=Ë@\-suse-linux as implicitly GNU. Without this we would get library calls for fused-multiply-add even if it's available in hardware. - Add openmp-drop-rpath.patch: backport revert of adding RUNPATH to openmp executables. (boo#1206837)- update constraints to exclude workers with very slow CPU- Update to version 15.0.7. * This release contains bug-fixes for the LLVM 15.0.0 release. This release is API and ABI compatible with 15.0.0. - Rebase llvm-do-not-install-static-libraries.patch. - Build stage 2 with -fno-plt on x86_64: since building with - Wl,-z,now the PLT stubs are basically dead code, so eliminating the indirection reduces the number of branches and improves code locality for the quite frequent cross-DSO calls. - Add llvm-workaround-superfluous-branches.patch: hints LLVM to eliminate branches until gh#llvm/llvm-project#28804 is solved.- Update to version 15.0.6. * This release contains bug-fixes for the LLVM 15.0.0 release. This release is API and ABI compatible with 15.0.0. - Rebase llvm-do-not-install-static-libraries.patch.- Update to version 15.0.5. * This release contains bug-fixes for the LLVM 15.0.0 release. This release is API and ABI compatible with 15.0.0. - Remove obsolete lldb-swig-4.1.0-build-fix.patch. - Rebase llvm-do-not-install-static-libraries.patch.- Update to version 15.0.4. * This release contains bug-fixes for the LLVM 15.0.0 release. This release is API and ABI compatible with 15.0.0. - Rebase llvm-do-not-install-static-libraries.patch.- Update to version 15.0.3. * This release contains bug-fixes for the LLVM 15.0.0 release. This release is API and ABI compatible with 15.0.0. - Add llvm-armv7-fix-vector-compare-with-zero-lowering.patch: Fix lowering of non-canonical vector comparison with zero on armv7, preventing a crash (boo#1204267, gh#llvm/llvm-project#58514). - Add lldb-swig-4.1.0-build-fix.patch: Fix build with Swig 4.1.0. - Rebase llvm-do-not-install-static-libraries.patch.- Update to version 15.0.2. * This release contains bug-fixes for the LLVM 15.0.0 release. This release is API and ABI compatible with 15.0.0. - Rebase llvm-do-not-install-static-libraries.patch.- Update to version 15.0.1. * This release contains bug-fixes for the LLVM 15.0.0 release. This release is API and ABI compatible with 15.0.0. - Rebase llvm-do-not-install-static-libraries.patch.- Always drop -gnu from triple for consistency. Patch a test that was looking for -linux- in clang-test-xfail-gnuless-triple.patch.- Use correct LLVM_HOST_TRIPLE for riscv64- Update to version 15.0.0. * For details, see the release notes: - https://releases.llvm.org/15.0.0/docs/ReleaseNotes.html - https://releases.llvm.org/15.0.0/tools/clang/docs/ReleaseNotes.html - https://releases.llvm.org/15.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html - https://releases.llvm.org/15.0.0/projects/libcxx/docs/ReleaseNotes.html - https://releases.llvm.org/15.0.0/tools/lld/docs/ReleaseNotes.html * New LLVM tools: - llvm-debuginfod: Provides debug info to remote hosts. - llvm-dwarfutil: Can copy and manipulate debug info. - llvm-remark-size-diff: Compute diff between remark files. * New Clang tools: - clang-offload-packager: Bundle multiple objects into single fat binaries including offload code. - clang-pseudo: Approximate heuristic parser for C++. - Rebase patches: * check-no-llvm-exegesis.patch * link-clang-tools-extra-shared.patch * lld-default-sha1.patch * llvm-do-not-install-static-libraries.patch * lto-disable-cache.patch - Drop patches that have landed upstream: * clang-repl-private-deps.patch * llvm-glibc-2-36.patch * llvm-scev-fix-isImpliedViaMerge.patch - Drop llvm-lifetime-for-rust.patch: this is now solved via attributes and LLVM doesn't need a hardcoded list of allocation functions anymore. - Add llvm-link-atomic.patch to fix build on ppc. - Add libcxx-test-library-path.patch to fix libc++ tests failing without RUNPATH on libc++.so. - Add libcxxabi-fix-armv7-test.patch to fix tests on armv7l. - Thanks to Andreas Schwab for most of the rebasing!- Make sure we keep -DNDEBUG. At some point %{optflags} must have lost it, perhaps because CMake usually adds it on top. So when overriding CMAKE_{C,CXX}_FLAGS_RELWITHDEBINFO, we make sure to take over the other flags. We drop LLVM_ENABLE_ASSERTIONS=OFF, because that's the default anyway and hasn't helped here. - Add llvm-scev-fix-isImpliedViaMerge.patch: fixes a miscompilation caused by mixing up values of the current and previous iteration. (See gh#llvm/llvm-project#56242.)- Add llvm-lifetime-for-rust.patch to have Rust memory management functions considered as lifetime markers. This should aid dead store elimination to dynamically allocated memory in Rust code.- Don't declare python3-clang as noarch: Python packages are installed into %{_libdir}.- Use black RPM macro magic to deduplicate binary lists. This should have no effect on the generated RPM but shaves ~400 lines off the specfile and hopefully makes future maintenance easier.- Add WebAssembly support for all architectures.- Add llvm-glibc-2-36.patch in order to address boo#1202215.- Update to version 14.0.6. * This release contains bug-fixes for the LLVM 14.0.0 release. This release is API and ABI compatible with 14.0.0. - Rebase llvm-do-not-install-static-libraries.patch.- Update to version 14.0.5. * This release contains bug-fixes for the LLVM 14.0.0 release. This release is API and ABI compatible with 14.0.0. - Rebase llvm-do-not-install-static-libraries.patch.- Update to version 14.0.4. * This release contains bug-fixes for the LLVM 14.0.0 release. This release is API and ABI compatible with 14.0.0. - Don't use gold for linking anymore: on s390x we use ld.bfd with LLVMgold.so, on ppc64 we disable ThinLTO for now. - Using ld.bfd on s390x exposed an issue with the existing llvm_build_tablegen_component_as_shared_library.patch: linking llvm-tblgen with libLLVM.so means we also have to link libraries used for that (like LLVMTableGenGlobalISel) with libLLVM.so. - Rewrite summary and description for llvm-gold to point out that it can also be used with ld.bfd, recommend with binutils. - Prefer RPM macros over shell scripting, so that we can better inspect the build script with substitutions in place. - More memory for stage 1 build jobs due to recent OOMs. - Add %_libclang_sonum RPM macro to llvm-devel, since that might now diverge from %_llvm_sonum. - Rebase llvm-do-not-install-static-libraries.patch.- Update to version 14.0.3. * This release contains bug-fixes for the LLVM 14.0.0 release. This release is API and ABI compatible with 14.0.0. - Rebase llvm-do-not-install-static-libraries.patch. - Use ThinLTO with lld on i586.- Update to version 14.0.1. * This release contains bug-fixes for the LLVM 14.0.0 release. This release is API and ABI compatible with 14.0.0. - Rebase llvm-do-not-install-static-libraries.patch. - Drop obsolete patches: * PPCISelLowering-Avoid-emitting-calls-to-__multi3.patch - Don't override default linker flags. (We were losing -Wl,-z,now.)- Update to version 14.0.0. * For details, see the release notes: - https://releases.llvm.org/14.0.0/docs/ReleaseNotes.html - https://releases.llvm.org/14.0.0/tools/clang/docs/ReleaseNotes.html - https://releases.llvm.org/14.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html - https://releases.llvm.org/14.0.0/projects/libcxx/docs/ReleaseNotes.html - https://releases.llvm.org/14.0.0/tools/lld/docs/ReleaseNotes.html * New LLVM tools: - llvm-debuginfod-find: Tool to fetch debuginfod artifacts. - llvm-tli-checker: LLVM TargetLibraryInfo versus SDK checker. * New Clang tools: - clang-linker-wrapper: A wrapper utility over the host linker. - clang-nvlink-wrapper: A wrapper tool over nvlink program. - Add clang-repl-private-deps.patch to make link dependencies of clang-repl private, otherwise CMake can't install. - Add PPCISelLowering-Avoid-emitting-calls-to-__multi3.patch to fix build on PowerPC (32-bit). - Drop llvm-exegesis-link-dylib.patch, instead we don't build llvm-exegesis anymore and add check-no-llvm-exegesis.patch to disable the corresponding tests. - Rebase patches: * lldb-cmake.patch * llvm-do-not-install-static-libraries.patch * llvm-normally-versioned-libllvm.patch - Drop patches that have landed upstream: * llvm-update-extract-section-script.patch- Split up Clang libraries: libclang.so is no longer so-versioned alongside LLVM but will stay at libclang.so.13 for now. So we put it into a separate package from libclang-cpp.so. Since we can't have multiple LLVM versions generate the same package, we prefix it for the non-default LLVM with a mechanism inspired by the GCC packaging. - Patch exported clang/ClangTargets-relwithdebinfo.cmake to refer to libclang only by soname, because the installed library might be newer than the one originally build with the package. - Use the same mechanism to for libc++ and package Clang scripts only for the default version. This means we'll no longer have to touch the package when a new major version comes out. - Make sure we properly clean up the clang scripts if we're not packaging them. - Let python3-clang use libclang.so.XX, which means we can always build it and makes it depend on libclang instead of clang-devel. - Fix some rpmlint issues: we don't need explicit library dependencies that are detected automatically, and we add proper library dependencies to the *-devel packages. - Merge llvm-LTO-devel into llvm-devel. That's where the header files already are, and they are hard to separate. - Let llvm-polly-devel depend on llvm-devel. - Remove libLTO and *-devel packages from baselibs, they don't seem to be needed. We mostly need libLLVM and maybe libclang-cpp. - Consistently set host triple as *-suse-linux-gnu*. - Only suggest documentation packages.- Fix armv6hl cpu architecture typo.- Let clang-devel accept a newer version of clang-tools: we don't keep multiple versions of the latter.- AND instead of OR in License tag after sr#954337.- More conflicts for addition to Leap: clang-tools conflicts with llvm9 because that doesn't have the move of hmaptool yet, and llvm13-devel with llvm{5,7} as they used to have FileCheck.1.gz.- Add SUSE_Backports_policy-SLE_conflict to rpmlintrc, we're deliberately conflicting with SLE here to offer a newer version than what SUSE wants to support. (https://code.opensuse.org/leap/features/issue/55)- Update to version 13.0.1. * This release contains bug-fixes for the LLVM 13.0.0 release. This release is API and ABI compatible with 13.0.0. - Rebase llvm-do-not-install-static-libraries.patch. - Drop obsolete patches: * llvm-fix-building-with-GCC-12.patch - Drop RUNPATH from packaged binaries, instead set LD_LIBRARY_PATH for building and testing to simulate behavior of actual package.- Update constraints for riscv64- Add support for experimental targets and enable the M68k backend - Add patch to fix testsuite after enabling the M68k backend + llvm-update-extract-section-script.patch- BuildRequires: python-rpm-macros to fix Leap 15.3 build. - More memory for GCC compile jobs.- Add FileCheck into the devel package, as is required for testing Rust (boo#1192629)- Let clang recommend gcc and glibc-devel as we need both for building executables. No hard requirement because Clang can be used as a frontend only. (boo#1191587) - Set minimal CMake version required.- Backport llvm-fix-building-with-GCC-12.patch in order to fix building with GCC 12.- Update to version 13.0.0. * For details, see the release notes: - https://releases.llvm.org/13.0.0/docs/ReleaseNotes.html - https://releases.llvm.org/13.0.0/tools/clang/docs/ReleaseNotes.html - https://releases.llvm.org/13.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html - https://releases.llvm.org/13.0.0/projects/libcxx/docs/ReleaseNotes.html - https://releases.llvm.org/13.0.0/tools/lld/docs/ReleaseNotes.html * New LLVM tools: - llvm-otool: Mach-O object file displaying tool. - llvm-sim: LLVM IR Similarity Visualizer. - llvm-tapi-diff: Diff tool for tbd files. - llvm-windres: Tool to manipulate Windows resources. * llvm-elfabi was removed. * New Clang tools: - clang-repl, an interactive interpreter for C/C++. - intercept-build, analyze-build: the former intercepts build commands to build a compilation database, the latter runs the static analyzer over all translation units. - scan-build-py: Python reimplementation of scan-build. - Rebase patches: * link-clang-shared.patch * llvm-do-not-install-static-libraries.patch * llvm-exegesis-link-dylib.patch - Drop patches that have landed upstream: * tablegen-test-link-static.patch - Run tests on more architectures, disable those that seem to hang. Don't run libcxx tests at all anymore because they take so long. - Relax constraints so that we can build on more machines.- Set CMAKE_LINKER to workaround CMake wanting to use lld just because we're using clang as compiler. Fixes build on aarch64. (https://bugs.llvm.org/show_bug.cgi?id=51115)- Update to version 12.0.1. * This release contains bug-fixes for the LLVM 12.0.0 release. This release is API and ABI compatible with 12.0.0. - Rebase llvm-do-not-install-static-libraries.patch. - Drop obsolete patches: * clangd-cmake-non-standard-layout.patch * compiler-rt-Remove-cyclades-inclusion-in-sanitizer.patch * lld-no-version-on-undefined-weak-lazy-symbols.patch- Add compiler-rt-Remove-cyclades-inclusion-in-sanitizer.patch: Fix build with linux-glibc-devel 5.13.- Set memory limits for DWZ to 4x.- Update to version 12.0.0. * For details, see the release notes: - https://releases.llvm.org/12.0.0/docs/ReleaseNotes.html - https://releases.llvm.org/12.0.0/tools/clang/docs/ReleaseNotes.html - https://releases.llvm.org/12.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html - https://releases.llvm.org/12.0.0/projects/libcxx/docs/ReleaseNotes.html - https://releases.llvm.org/12.0.0/tools/lld/docs/ReleaseNotes.html - Rebase patches: * assume-opensuse.patch * lldb-cmake.patch * llvm-better-detect-64bit-atomics-support.patch * llvm-do-not-install-static-libraries.patch * llvm_build_tablegen_component_as_shared_library.patch - Drop patches that have landed upstream: * Fix-missing-include.patch - Always use ld.bfd for stage 1, use lld for stage 2 where we use ThinLTO and where it's supported, gold where lld doesn't work, and ld.bfd where we don't use ThinLTO. (boo#1181621) - Add lld-no-version-on-undefined-weak-lazy-symbols.patch to fix a bug in lld that made libLLVM.so contain a corrupt symbol version. - Add clangd-cmake-non-standard-layout.patch to fix build in our non-monorepo layout.- Don't use gold and ThinLTO on ppc64le because of boo#1181621. - Fix-missing-include.patch: fix build with GCC 11. (boo#1181875) - CMake-Look-up-target-subcomponents-in-LLVM_AVAILABLE_LIBS.patch: Fix target component lookup. (boo#1180748)- Update to version 11.0.1. * This release contains bug-fixes for the LLVM 11.0.0 release. This release is API and ABI compatible with 11.0.0. - Rebase llvm-do-not-install-static-libraries.patch. - Drop obsolete compiler-rt-dont-compile-assembly-files-as-c.patch. - Make documentation tarballs more reproducible.- Increase required RAM for aarch64- Move BFD plugins to %{_libdir}- polly-pthread.patch: Remove, std::call_once no longer needs libpthread- Add compiler-rt-dont-compile-assembly-files-as-c.patch to fix build failure with newer CMake versions.- Let CMake files in {llvm,clang}X-devel refer to the versioned binaries that come with the package instead of the symlink managed by update-alternatives. (boo#1178513)- Disable ThinLTO on aarch64 because of hangs. (boo#1178070) - Enable ThinLTO on ppc64 and ppc64le, the internal error is gone.- Update to version 11.0.0. * For details, see the release notes: - https://releases.llvm.org/11.0.0/docs/ReleaseNotes.html - https://releases.llvm.org/11.0.0/tools/clang/docs/ReleaseNotes.html - https://releases.llvm.org/11.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html - https://releases.llvm.org/11.0.0/projects/libcxx/docs/ReleaseNotes.html - https://releases.llvm.org/11.0.0/tools/lld/docs/ReleaseNotes.html * New LLVM tools: llvm-gsymutil, llvm-ml. * clang-import-test was removed. - Drop obsolete patches: * clang-ignore-stack-clash-protector.patch * fix-atomics-test.patch * restore-llvm10-abi.patch - Rebase patches: * clang-resourcedirs.patch * default-to-i586.patch * link-clang-shared.patch * link-clang-tools-extra-shared.patch * lldb-cmake.patch * llvm-do-not-install-static-libraries.patch * lto-disable-cache.patch - Add llvm-exegesis-link-dylib.patch: link llvm-exegesis with libLLVM.so, the advanced functionality is not available anyway. - Remove -fstack-clash-protection on architectures where it isn't actually supported, because that prevents feature detection. - Make sure we also build AttributeReference for the documentation. This requires building via CMake. Also shorten the paths.- Add ld.lld as an alternative for ld. (boo#1174656)- Update to version 10.0.1. * This release contains bug-fixes for the LLVM 10.0.0 release. This release is API and ABI compatible with 10.0.0. - Rebase llvm-do-not-install-static-libraries.patch. - Replace ValueLattice-Add-new-state-for-undef-constants.patch, which landed upstream in a modified version, by restore-llvm10-abi.patch that resets the ABI to our 10.0.0. - Rewrite lld-default-sha1.patch to be version-independent. - Set flags consistently, so that we don't lose -DNDEBUG on 32-bit architectures. Also we don't need the opt flags twice. This leads to a significant reduction in binary sizes on 32-bit arches. - Make it easier to package release candidates. - Enable most tests on 32-bit ARM, but not for libcxx. - Add fix-atomics-test.patch for architectures where native atomics are not available. - Lower build constraints for riscv64 a bit to allow building on more workers. - Allow more compile jobs in stage 2.- Factor out computation of the number of jobs into a macro. - Choose mem_per_compile_job dependent on build stage, let stage 1 on x86_64 use more memory. - More generous memory allocation on riscv64.- Add lld-default-sha1.patch to make lld generate SHA1 build-ids by default, otherwise our tools cannot process the debuginfo.- Update to version 10.0.0. * For details, see the release notes: - https://releases.llvm.org/10.0.0/docs/ReleaseNotes.html - https://releases.llvm.org/10.0.0/tools/clang/docs/ReleaseNotes.html - https://releases.llvm.org/10.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html - https://releases.llvm.org/10.0.0/projects/libcxx/docs/ReleaseNotes.html - https://releases.llvm.org/10.0.0/tools/lld/docs/ReleaseNotes.html * New LLVM tools: llvm-ifs, llvm-install-name-tool, llvm-reduce. * New Clang tools: clang-move, clang-offload-wrapper, pp-trace. * lldb-mi moved to a separate project and is no longer available. - Dropped obsolete patches: * clang-fix-powerpc-triplet.patch * clang-riscv64-rv64gc.diff * compiler-rt-move-fdp.patch * compiler-rt-sanitizer-ipc-perm.patch * D60657-riscv-pcrel_lo.diff * gwp-asan-lto.patch * libcxx-tests-linux-distribution.patch * link-lldb-shared.patch * llvm-riscv64-fix-cffi.diff * openmp-export-fini.patch * riscv-eh-frame-fixup.patch * riscv64-suse-linux.patch - Rebased patches: * assume-opensuse.patch * link-clang-tools-extra-shared.patch * lldb-cmake.patch * llvm_build_tablegen_component_as_shared_library.patch * llvm-do-not-install-static-libraries.patch * llvm-remove-clang-only-flags.patch * lto-disable-cache.patch * polly-pthread.patch * tests-use-python3.patch - Add tablegen-test-link-static.patch: fix TableGenTests. - Add ValueLattice-Add-new-state-for-undef-constants.patch: fix miscompilation on ppc64/s390x that was leading to test crashes. - Enable ThinLTO on aarch64. - Disable ThinLTO on ppc64le due to internal error in gold. - Delete object files and static libraries from build tree in %install already, because debuginfo extraction happens after that. If we do it after %check, we run out of disk space. - Run tests "manually", because we've already removed many targets. - Don't build unit tests, because some of them are now statically linked, which is very expensive with LTO. Also unit tests are probably not very interesting on the distribution level, we don't expect them to perform different than in upstream. The relevant upstream change for this is https://reviews.llvm.org/D54439. - Drop %if for openSUSE 13.2.- Remove conflicts of clang-tools with {clang,llvm}{7,8}: the relevant binaries have been removed from those packages. This allows having clang-tools together with older versions of llvm. For a smooth installation we add OrderWithRequires dependencies. - Fix typos in (still inactive) !%{with clang_scripts} part.- Require clang-tools for clangX-devel.- Move all clang-related scripts (including those originally in clangX-checker), hmaptool and clang-doc into a common unversioned subpackage clang-tools, like python3-clang. The scripts reference the unversioned executables, so allowing multiple versions via update-alternatives would be misleading. The clang-doc executable will come with assets in Clang 10, so we have to take it out of update-alternatives as well. This should be the proper solution to boo#1161873. - Include run-find-all-symbols script in clang-tools. - Remove metadata for clangX-include-fixer subpackage that never had any files and thus wasn't released as rpm. There are so many clang binaries that packaging them separately doesn't scale. - Fix lldb version string, adapt lldb-cmake.patch (boo#1165517). - Remove unneccesary libtool dependency. - Don't let clang depend on libc++, we link it with libstdc++. - Recommend gold plugin if clang and gold are installed.- Add vim-plugin-llvm Conflicts to clang subpackage which now contains files formerly in llvmN-vim-plugins, conflicting with packages from older llvm releases.- Add back emacs-llvm Provides and Conflicts to clang subpackage originally in llvm-emacs-plugins to properly conflict with llvm-emacs-plugins from older llvm releases.- Add clang5-devel to clang9-doc conflicts.- Add compiler-rt-sanitizer-ipc-perm.patch: Fix sanitizer-common build with glibc 2.31.- Move clang-{format,include-fixer,rename}.{el,py} files from llvm-*-plugins to clang package. (boo#1161873) - Drop the now empty llvm-emacs-plugins package.- Add polly and lld build conditionals, remove excessive Requires to clang from docs. Fix conditional for libc++ use. [jsc#SLE-7400, jsc#SLE-7614, jsc#SLE-7452, jsc#SLE-8920, jsc#SLE-7390, jsc#SLE-7587]- Undo spec-cleaner changes that we don't want. * Reintroduce blank lines in configuration. * Use packageand syntax that works for older versions of RPM. * Don't use %{_bindir} on left-hand side of sed replacements.- riscv-eh-frame-fixup.patch: Remove changesets that alter the libLLVM ABI- Add upstream patch to export compiler-rt FuzzedDataProvider header, required by Envoy 1.12.2: * compiler-rt-move-fdp.patch- riscv-eh-frame-fixup.patch: Fix handling of .eh_frame on RISC-V - polly-pthread.patch: Add missing -lpthread- Enable support for riscv64 - clang-riscv64-rv64gc.diff, riscv64-suse-linux.patch, llvm-riscv64-fix-cffi.diff, D60657-riscv-pcrel_lo.diff: Backports from master- Update to version 9.0.1. * This release contains bug-fixes for the LLVM 9.0.0 release. This release is API and ABI compatible with 9.0.0. - Drop patches that have landed upstream: * dont-install-example-analyzer-plugins.patch * fix-module-test.patch * llvm-add-missing-include.patch - Drop set-revision.patch, don't provide revision number in clang. The upstream repository has moved from Subversion to git, so the revision number is just a hash, which limits its usefulness. - Rebase llvm-do-not-install-static-libraries.patch.- Modify libcxx-tests-linux-distribution.patch to remove dependency on python-distro again: we don't have expected failures.- Add llvm-add-missing-include.patch in order to fix boo#1158367.- Add gwp-asan-lto.patch: Make sure there are no LLVM IR files in static libraries that we package. - Add libcxx-tests-linux-distribution.patch (boo#1158293): Replace platform.linux_distribution by distro.linux_distribution. - Make documentation packages noarch.- Add openmp-export-fini.patch: Export termination function for libomp.so, solves boo#1155108. - Remove flaky test case in libcxx.- Fix typo, BOLL -> BOOL- Let new {llvm,clang}*-doc packages "Conflict" with older devel packages, which they were split from. - Let doc packages conflict with older versions of themselves.- (Build)Require only python3-base instead of full python3 package, the additional modules are not required. Helps shortening the build dependency chain. - Remove python3-* requires from lldb9 subpackage, and add it to the bindings/pretty-printer subpackage (python3-lldb9). - Add python3-base Requires to python3-clang subpackage- Add dont-install-example-analyzer-plugins.patch: Remove example analyzer plugins from install targets instead of deleting them. - Add fix-module-test.patch: fix test instead of deleting it. - Don't build static libc++ (with ThinLTO that's not useful anyway). - Don't build libc++experimental. - Don't package libc++abi.so with libc++-devel, it's already contained in the (required) libc++abi-devel. - Be more specific about files in libc++-devel.- Update to version 9.0.0. * For details, see the release notes: - https://releases.llvm.org/9.0.0/docs/ReleaseNotes.html - https://releases.llvm.org/9.0.0/tools/clang/docs/ReleaseNotes.html - https://releases.llvm.org/9.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html - https://releases.llvm.org/9.0.0/projects/libcxx/docs/ReleaseNotes.html - https://releases.llvm.org/9.0.0/tools/lld/docs/ReleaseNotes.html - Change License to "Apache-2.0 WITH LLVM-exception OR NCSA". (https://llvm.org/foundation/relicensing/) - Allow building with ThinLTO and enable it on some architectures. - Disable LTO cache in lto-disable-cache.patch. - Unset MALLOC_CHECK_ for compilation to mitigate lock contention. - No debug info for ppc like for the other 32-bit targets. - Clean up _constraints: same constraints for 32-bit targets. - Don't use BUILD_SHARED_LIBS for Clang anymore, since the newly available libclang-cpp.so should expose the full C++ API. - Link tools with libclang-cpp.so by using CLANG_LINK_CLANG_DYLIB, similar to LLVM_BUILD_LLVM_DYLIB for libLLVM.so. - Remove obsolete n_clang_allow_BUILD_SHARED_LIBRARY.patch. - Add link-clang-shared.patch to link more clang targets with libclang-cpp.so, especially libclang.so. - Add link-clang-tools-extra-shared.patch, link-lldb-shared.patch: link targets in clang-tools-extra and lldb with libclang-cpp.so. - Simplify llvm-do-not-install-static-libraries.patch, also handle Clang, for which we now get static libraries. - Package documentation for llvm and clang separately, recommend them for the main package: they are not required for development, but actually useful for working with the non-devel packages. - Recommend editor plugins not just for llvm-devel. - Recommend libstdc++ for Clang again. - Move diagtool from llvm to clang subpackage. - Properly distinguish between %{_relver} and %{version}. - Drop aarch64-disable-memorytest.patch and reactivate test. - Rebase clang-resourcedirs.patch. - Rebase llvm-normally-versioned-libllvm.patch. - Rebase llvm-remove-clang-only-flags.patch. - Rebase llvm_build_tablegen_component_as_shared_library.patch. - Rebase set-revision.patch. - Increase disk space for build.- Make lldb recommend python3-lldb (it contains pretty printers).- Use python3 shebangs everywhere (boo#1146533). - Drop obsolete opt-viewer-Do-not-require-python-2.patch.- Remove unneccesary dependencies: * groff, bison and flex don't seem to be used. * jsoncpp is no longer used since r338461. * Move some BuildRequires to subpackages. * Don't recommend scan-{build,view} in clang (boo#1145444). * Devel packages are only required in other devel packages, when their headers are included in the installed headers. - Add versions to Provides/Conflicts except for files. - Remove unused (since r268685) CMake flags LLVM_ENABLE_TIMESTAMPS. - Fix installation of opt-viewer files when python3-clang is no longer built.- Update to version 8.0.1. * This release contains bug-fixes for the LLVM 8.0.0 release. This release is API and ABI compatible with 8.0.0. - Don't run LLVM tests on ppc at all because of sporadic hangs.- Increase RAM for armv6/7 to avoid OOM and be scheduled on fast worker- Use the documented LLVM_ENABLE_RTTI to enable RTTI instead of LLVM_REQUIRES_RTTI, which "is an internal flag that individual targets can use to force RTTI". (boo#1139584) - Drop obsolete llvm-build-tests-with-rtti.patch.- Exclude riscv64 for now since it fails to build.- Change some groups: * put libraries in System/Libraries, * devel packages in Development/Libraries, * clang in Development/Languages/C and C++, * the gold plugin in Development/Tools/Building. - Add some URLs, use https:// when possible. - Remove unneeded devel dependencies. - Only suggest a C++ standard library for clang. It's also a C compiler and needs no C++ library when only used as such. - Fix Supplements for editor plugins. - Fix some rpmlint issues: * Reword summary and description for Polly. * Fix /usr/bin/env shebangs. * Remove executable bit where not needed. * Move bash completion to /usr. * Remove hard dependency of libclang8 to libstdc++-devel. - Make rpm macros work properly. - Remove sources from documentation. - Run %fdupes on the right directories. - Enable tests for libcxx. - Reduce memory requirements for compile jobs depending on arch.- Avoid relocation overflow on ppc by not building GPU backends. - Update baselibs.conf.- Disable LTO (boo#1133254).- Fix packaging on ppc: the sanitizers aren't available there, so the directories /usr/lib/clang/*/{lib,share} are missing. - Package LLVMgold even when we don't use gold for linking. It's promised in /usr/lib/cmake/llvm/LLVMExports.cmake. - Unignore test failures on PowerPC64 architectures. The failures in ppc are unrelated to AMDGPU, so we remove that remark. - Fix dependencies: the gold plugin shouldn't depend on llvm-devel. libc++abi-devel should depend on libc++abi. - Fix typo.- Enable libc++ on ARM (Needed for tensorflow)- Update to 8.0.0 * For details, see the release notes: https://llvm.org/releases/8.0.0/docs/ReleaseNotes.html https://llvm.org/releases/8.0.0/tools/clang/docs/ReleaseNotes.html https://llvm.org/releases/8.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html https://llvm.org/releases/8.0.0/tools/lld/docs/ReleaseNotes.html - Drop llvm-unittests-Don-t-install-TestPlugin.so.patch, llvm-drop-llvm-optional-clang-specific-optimization.patch, llvm-D51108.patch, llvm-Ensure-that-variant-part-discriminator-is-read-by-Me.patch, llvm-test-Fix-Assembler-debug-info.ll.patch * Already included upstream - Add 0001-CMake-Add-install-targets-for-utilities-to-LLVM-expo.patch- Remove -fno-strict-aliasing, which upstream doesn't use any more since r245304 in 2015. (http://reviews.llvm.org/D12036) It's probably also not needed for modern versions of GCC. It was enabled in r105644 because of some bugs there. - Add a clang-%{_sonum} symlink, which is referenced by /usr/lib64/cmake/clang/ClangTargets.cmake (boo#1120098) - Package clang builtin headers with libclang. The library is basically unusable without the builtin headers. Currently consumers of libclang have to require clang as well, although only the headers are needed.- llvm-Ensure-that-variant-part-discriminator-is-read-by-Me.patch, llvm-test-Fix-Assembler-debug-info.ll.patch * Fix crash in rustc (boo#1126907)- Allow use of Gold linker to be conditional - Disable Gold linker on ppc + LLVM currently doesn't build with Gold on ppc- Readd clang-7 and clang++-7 symlinks * Fixes uses of clang-devel (boo#1120098)- Update to llvm 7.0.1 * This release contains bug-fixes for the LLVM 7.0.0 release. This release is API and ABI compatible with 7.0.0.- enable gold unconditionally like with llvm6 and older - reenable openmp support again for aarch64 (like it was already in llvm6)- Use %license macro - Use upstream-recommended %{_rpmconfigdir}/macros.d directory for the rpm macros.- Remove ppc from Exclude field in spec file - Allow use of Gold linker to be conditional - Disable Gold linker on ppc - Add patch to fix SUSE GNU triplet on ppc * clang-fix-powerpc-triplet.patch - Add patch from upstream to fix ABI issue on ppc * llvm-D51108.patch - Limit list of enabled targets on ppc * PowerPC;AMDGPU;BPF;NVPTX - Ignore testsuite failures on ppc- llvm-drop-llvm-optional-clang-specific-optimization.patch * Fix ABI incompatibility when libLLVM (built with clang) is linked to a program build with gcc. (boo#1119092)- opt-viewer-Find-style-css-in-usr-share.patch * Make sure opt-viewer installed in /usr/bin can find resources from /usr/share/opt-viewer. (boo#1112730)- llvm-unittests-Don-t-install-TestPlugin.so.patch * It is only used for testing and is causing failures when processing LLVMExports.cmake.- Update to llvm 7.0.0 * For details, see the release notes: https://llvm.org/releases/7.0.0/docs/ReleaseNotes.html https://llvm.org/releases/7.0.0/tools/clang/docs/ReleaseNotes.html https://llvm.org/releases/7.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html https://llvm.org/releases/7.0.0/tools/lld/docs/ReleaseNotes.html - Remove no longer needed patches: * llvm6-fix-gdb-index-crash.patch * lldb-fix-build-with-python-3.7.patch * lldb-add-pthread-dl-libs.patch * polly-cmake-Trust-pkg-config-in-FindJsoncpp.patch - Add tests-use-python3.patch * Prevents tests from failing because of missing python 2. - Add llvm-better-detect-64bit-atomics-support.patch * Fixes build on i586.- Updated llvm-remove-clang-only-flags.patch - Exclude also "-Werror=unguarded-availability-new" (bsc#1106000)- Update to llvm 6.0.1 * This release contains bug-fixes for the LLVM 6.0.0 release. It is API and ABI compatible with 6.0.0. - Remove no longer needed llvm6-fix-InstCombine.patch - Add lldb-fix-build-with-python-3.7.patch * Fix build with python 3.7- llvm6-fix-gdb-index-crash.patch * From upstream, fix lld --gdb-index crash.- Do not requires gcc6 for older sle versions. * llvm6 is not built on <= 12 SP3 and this was preventing build on 12 SP4.- llvm_build_tablegen_component_as_shared_library.patch * Build TableGen component as its own shared library because it is not included in the libLLVM library and is needed for ldc. (bsc#1086445)- Add patch llvm6-fix-InstCombine.patch to fix InstCombine init * Will be fixed in 6.0.1 release- Do not build stage1 with debug info. It was accidentally added with the use of %optflags. This should fix out of memory errors on 32bit architectures and speed up build everywhere else. (bsc#1092697)- llvm-build-tests-with-rtti.patch * Fixes build failure with gcc 8. (bnc#1087136)- Do not export Polly static libraries which we do not distribute. * Updated llvm-do-not-install-static-libraries.patch - Use external jsoncpp instead of the bundled one. * Added polly-cmake-Trust-pkg-config-in-FindJsoncpp.patch - llvm6-devel must require llvm6-polly-devel * Files in llvm6-devel reference Polly.- Update to llvm 6.0.0 * Added polly * Notable changes: - Retpoline Spectre variant 2 mitigation - GlobalISel by default for AArch64 at -O0 - improved scheduling on several x86 micro-architectures - Clang defaults to -std=gnu++14 instead of -std=gnu++98 - support for some upcoming C++2a features - improved optimizations, new compiler warnings, many bug fixes, and more. - Use alternatives for clang's bash autocomplete to prevent conflicts with other versions.- Remove liblldb5 and lldb5-devel from baselibs.conf. They are only build for x86_64, so no point having them in baselibs.conf.- Use %optflags, except for FORTIFY_SOURCE which is not compatible with compiler-rt. - Exclude static libraries differently. * Drop llvm-split-static-library-exports-into-their-own-export-file.diff * Drop clang-split-static-library-exports-into-their-own-export-file.diff * Update llvm-do-not-install-static-libraries.patch to not use EXCLUDE_FROM_ALL which is not available in cmake 3.5. - This fixes build on SLE12. - Do not force gcc6 on OpenSUSE - fixes build. - Reduce the amount of concurent link jobs by increasing their memory requirement - to reduce stalls in OBS.- Cleanup %ifarch conditions, remove targets unintentionally added to s390/s390x. (bnc#1078436)- Limit the amount of parallel link jobs, but no longer limit compile jobs. This should prevent running out of memory during linking while not longer slowing down compilation. - Remove build dependency on procps- Reduce disk size requirement to 30GB in _constraints. We no longer need that much since we stopped building static libraries.- n_clang_allow_BUILD_SHARED_LIBRARY.patch * Allow buildling clang with BUILD_SHARED_LIBRARY while the rest is built with LLVM_LINK_LLVM_DYLIB. (bnc#1065464) - Remove clang-devel-static.- Place gold plugin to the right directory. (bnc#1073210) * It must be in /usr/lib/bfd-plugins on all architectures. * Remove llvm5-gold from baselibs.conf - nothing needs a 32bit version of it and it would now conflict with the 64bit one. - Reduce _constraints requirements on 32bit architectures. * Since we had to disable debuginfo on them, they require much less.- ignore make check error for PowerPC as bypass https://bugs.llvm.org/show_bug.cgi?id=35871- disable debuginfo build for ARM as well- Delete intermediate files during build to reduce total disk usage (bnc#1074625)- Update to llvm 5.0.1 * This release contains bug-fixes for the LLVM 5.0.0 release. * This release is API and ABI compatible with 5.0.0. - llvm-do-not-install-static-libraries.patch * Updated.- Increase minimum memory and disk sizes required for building in _constraints.- Rename python3-lldb to python3-lldb5 so it can work with llvm meta package.- Rename python packages to follow naming conventions. - Remove unnecessary dependencies on python3. - Make opt-viewer not require python2. * opt-viewer-Do-not-require-python-2.patch- Switch to python3. - Fix %check tests when used with python3. * Define LANG=C.UTF-8 when running the tests. - Add explicit Provides/Conflicts to llvm5-devel, clang5-devel-static and lldb5-devel. * These are required to be validated by obs repo-checker.- Use LLVM_OPTIMIZED_TABLEGEN to speed up build. (bnc#1064786) - Fix files of lldb4 to work correctly with update-alternatives. - Remove Conflicts clang(LLDB) from lldb4-devel - it does not exist. It would be provided automatically, but no such cmake file is installed. - llvm-do-not-install-static-libraries.patch * Do not install static libraries instead of installing them and deleting after. * Reduces disk usage during build. (bnc#1064786) - Do not build unnecessary parts during stage1. * Speeds up build a bit. (bnc#1064786)- Updated baselibs.conf to reference version 5 packages. - Deleted rogue llvm5.spec.r29 file. - Deleted arm_suse_support.diff, llvm-add_a_LLVM_USE_LINKER.patch, libsanitizer.patch. - No longer used, applied already in the source.- llvm-normally-versioned-libllvm.patch * Change libLLVM naming scheme to match our naming guidelines. * The reasons for the original naming scheme are no longer valid, more details in the patch.- Disable all thread related tests in libcxx. Many of them use timeouts to detect failure. They can fail randomly if the machine is under heavy load (happens often in OBS).- Drop llvm5-devel-static. llvm5-devel contains shared library with the same content.- Increase disk space requirement in _constraints to 45GB. Otherwise the build gets stuck in random places. - Skip build of lldb5 python on distributions with swig < 3.0.11- Copy from llvm4. - Update to llvm 5.0.0.- Use LLVM_BUILD_LLVM_DYLIB instead of BUILD_SHARED_LIBS to build single libLLVM library. This is the recommended way. The old way was causing various issues. * llvm-split-static-library-exports-into-their-own-export-file.diff * clang-split-static-library-exports-into-their-own-export-file.diff (bnc#1049703) - Add lld, linker for Clang/LLVM (sr#517692) - Include clang++-MAJOR.MINOR symbolic link (bnc#1012260) - Remove unnecessary dependency on flex and bison. - Make sure all binaries are managed by update-alternatives - Add llvm-add_a_LLVM_USE_LINKER.patch and link using gold to prevent memory exhaustion on some build machines. - Reduce debuginfo on x86 architecture. LLVM libraries are so big that they exhaust all memory on 32 bit machine if linked with full debuginfo. - Speed up build by skipping parts that are not required in stage1. - Build lldb in-tree as one of the llvm tools.- clang-ignore-stack-clash-protector.patch: ignore -fstack-clash-protection for now.- xlocale.patch: don't use obsolete - libsanitizer.patch: fix use of undocumented types- build fixes for armv6 (skip testsuite as it requires 64bit, set the list of targets to include ARM and remove triplet hack)- Include provides and conflics in baselibs.conf for llvm4-devel, clang4-devel, llvm4-LTO-devel, and llvm4-gold.- Update to version 4.0.1 * Minor bugfixes- Use gcc6 only for SLE boo#1041469- Package libLLVMFuzzer- readd arm_suse_support.diff which was accidentally removed in the 4.0.0 update- Enable AMDGPU and NVPTX targets everywhere except for S/390. The AMDGPU target is needed for Mesa Clover (sr#485802).- Use gcc6 on SLE12- Package license & credits- Update to version 4.0.0 * See + http://releases.llvm.org/4.0.0/docs/ReleaseNotes.html and + http://releases.llvm.org/4.0.0/tools/clang/docs/ReleaseNotes.html + http://releases.llvm.org/4.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html - Drop the following patches, fixed upstream: amdgpu_revert_r280589.patch arm_suse_support.diff clang-fix-substitutions-abi_tag.patch clang-incomplete-field-types.patch glibc-2.24-libcxx.patch llvm-install-CheckAtomic.patch revert-cmake-soname.patch- Enable BPF for all arches bsc#1026191- libc++ must depend on libc++abi- Stop using otherproviders() due to an rpm parser bug, use self-conflicts instead as suggested by mls.- Add amdgpu_revert_r280589.patch to fix an amdgpu regression bsc#1021577- Require LLVMgold and libLTO in llvm-devel, otherwise we get in CMake: The imported target "LLVMgold" references the file "/usr/lib64/LLVMgold.so" but this file does not exist. This happens when requiring llvm3_9-devel directly, not llvm-devel.- Update to version 3.9.1 * See: + http://llvm.org/releases/3.9.1/docs/ReleaseNotes.html + http://llvm.org/releases/3.9.1/tools/clang/docs/ReleaseNotes.html + http://llvm.org/releases/3.9.1/tools/clang/tools/extra/docs/ReleaseNotes.html- Update to version 3.9.0 * Clang now supports the G++ abi_tag attribute. * Clang will no longer pass --build-id by default to the linker. * Improved C++1z support in Clang. * Clang now has support for all OpenCL 2.0 features. * Added support for all non-offloading features from OpenMP 4.5, * The static analyzer now checks for incorrect usage of MPI APIs in C and C++. * LLVM no longer does inter-procedural analysis and optimization (except inlining) on functions with comdat linkage. * LLVM now supports the Intel CPUs Skylake Server with AVX512 (-march=skylake-avx512) and Knights Landing (-march=knl). * More at: + http://llvm.org/releases/3.9.0/docs/ReleaseNotes.html + http://llvm.org/releases/3.9.0/tools/clang/docs/ReleaseNotes.html + http://llvm.org/releases/3.9.0/tools/clang/tools/extra/docs/ReleaseNotes.html * Fix the following patches: + arm_suse_support.diff + assume-opensuse.patch + clang-resourcedirs.patch + default-to-i586.patch + glibc-2.23-libcxx.patch + glibc-2.24-libcxx.patch + lldb-add-pthread-dl-libs.patch + lldb-cmake.patch + llvm-fix-find-gcc5-install.patch + llvm-remove-clang-only-flags.patch + revert-cmake-soname.patch + set-revision.patch * Remove upstream-included patch: + llvm-nonvoid-return.patch * Remove patch for removed files: + glibc-2.23-libcxx.patch - Backport upstream patches: * clang-fix-substitutions-abi_tag.patch * clang-incomplete-field-types.patch * llvm-install-CheckAtomic.patch - Add clang%{_sonum}-include-fixer subpackage and associated libfindAllSymbols%{_sonum} and libfindAllSymbols%{_sonum}-devel subpackages. - Add sanstats to llvm binary list.- Change update-alternatives to use %postun instead of %preun, which is now what Factory maintainers are requesting. - Use the minor version to set the update-alternatives priority so the most recent version of the LLVM, Clang, and LLDB are used by default. - Add LLVM rpm macros so downstream packages can have some idea how LLVM was built.- Rename libomp to make it possible to have multiple versions available.- Split the old llvm package into this version-specific package and a wrapper package. - Implement update-alternatives to allow parallel installation of many of the subpackages. - Rename subpackages that can be parallel-installed to a version-specific name based on the associated shared library's current .so number. - Various fixes to support the above changes.- Sort a bit with spec-cleaner - Remove the latest switch for now, things should be either coinstallable or not, we don't need to bother around with compilation like this- Update to llvm 3.8.1 * See http://llvm.org/releases/3.8.1/docs/ReleaseNotes.html and http://llvm.org/releases/3.8.1/tools/docs/ReleaseNotes.html - Use versioned libLLVM (to libLLVM3_8) and libclang (to libclang3_8) - Change versioning of liblldb3_8 to liblldb-3_8 and use a variable to control the name instead of hard-coding it. - Use bcond_with and bcond_without to enable/disable build options instead of hard-coding them. - Put buildrequires as requires in -devel packages to avoid linker errors when building packages against the -devel packages. - Add ffi support (disabled by default). - Add oprofile support (disabled by default). - Add valgrind support (disabled by default). - Link cmake files to the normal cmake file directory to allow autodetection of cmake interfaces. - Remove unused lldb components from main spec file. - Split llvm python bindings into own subpackage. - Split emacs plugin into own subpackage - Move additional vim plugins into vim plugins package - Split libc++, libLTO, LLVMgold, libomp, clang-chekers into own subpackages - Make python-clang, llvm-vim-plugins, and llvm-emacs-plugins noarch since they aren't architecture-specific. - Make packages besides llvm, llvm-clang, and the shared libraries conflict with other versions. This will be important when multiple LLVM versions are supported. - Various spec file cleanups - Rebase patches: * arm_suse_support.diff * assume-opensuse.patch * clang-resourcedirs.patch * default-to-i586.patch * glibc-2.23-libcxx.patch * glibc-2.24-libcxx.patch * lldb-add-pthread-dl-libs.patch * lldb-cmake.patch * llvm-fix-find-gcc5-install.patch * llvm-nonvoid-return.patch * llvm-remove-clang-only-flags.patch * revert-cmake-soname.patch * set-revision.patch- Start conversion to use cmake macros with now introduced compatibility for ninja - Reduce number of threads if we don't have enough memory - Add patch for the nonvoid returns: * llvm-nonvoid-return.patch- for ppc64le set memory to 4GB in _constraints file (failure in Factory:PowerPC)- glibc-2.24-libcxx.patch: fix libcxx testsuite for glibc 2.24- Build LLDB separated from LLVM. - Re-enable python bindings for the LLDB API.- Disable libcxx/lldb/openmp for SLE fate#319582- Update rpmlintrc to whitelist libLTO.so- Re-enable glibc-2.23 patch for Tumbleweed- fix arm_suse_support.diff for armv6hl - adjust compile flags for llvm on armv6hl (fixes Mesa build)- Update llvm-remove-clang-only-flags.patch to remove - Wcovered-switch-default flag for gcc compatibility.- Use gcc for stage1 bootstrap - Add back libstdc++-devel dependency for clang since libc++ is only available for x86-64 atm.- Comment out glibc-2.23-libcxx.patch until glibc 2.23 actually hits the Factory.- Update to llvm 3.8.0 * See http://llvm.org/releases/3.8.0/docs/ReleaseNotes.html and http://llvm.org/releases/3.8.0/tools/clang/docs/ReleaseNotes.html - Fold lldb build into llvm and disable python support - Drop clang-disable-ada-extension.patch, libcxxabi-exceptions.patch and cmake-host-triple.patch - Add revert-cmake-soname.patch to fix soname handling- Add glibc-2.23-libcxx.patch to fix test failures with glibc 2.23- Remove FFI support because its fragile- Enable OpenMP for x86, x86_64, ppc64 and ppc64le- Enable all targets on x86, x86_64- Update to version 3.7.0 * See http://llvm.org/releases/3.7.0/docs/ReleaseNotes.html - Merge aarch64-suse-support.patch into arm_suse_support.diff - Refresh arm_suse_support.diff, llvm-fix-find-gcc5-install.patch - Remove llvm-fix-parsearmarch.patch, upstream.- fix build on s390x (one typo in ifarch and one change in filelist)- Update to version 3.6.1 * No changelog upstream- Add llvm-fix-parsearmarch.patch to fix parsing armv{6,7}hl archs.- Update to version 3.6.0 * See http://llvm.org/releases/3.6.0/docs/ReleaseNotes.html - Add python-xml dependency for regression tests - Removed the following patches, fixed upstream: * arm-remove-xfails.diff * libcxx-libdir.patch * llvm-config-lib64.patch * llvm-fix-intrusiverefcntptr.patch- Add llvm-fix-intrusiverefcntptr.patch to fix build of LLVM tools with GCC 5. - Add llvm-fix-find-gcc5-install.patch to properly find installed GCC 5.- Add a gcc dependency for clang, this is heavyweight but we need libgcc_s which comes with the gcc package (bnc#893359)- Conditionalize libcxx{abi} build on build_libcxx variable - Turn libc++.so into an ldscript so it links to libc++abi automatically.- fix constraints for armv6l/armv7l (there is no 4GB RAM on 32bit)/sbin/ldconfig/sbin/ldconfigh04-armsrv1 1724959662  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄąŁ€„Š§š©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚßàáâăäćæçèéêëìíîïđńòóôőöśűùúûüęțÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄąŁ€„Š§š©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚßàáâăäćæçèéêëìíîïđńòóôőöśűùúûüęțÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄąŁ€„Š§š©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚßàáâăäćæçèéêëìíîïđńòóôőöśűùúûüęțÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄąŁ€„Š§š©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚßàáâăäćæçèéêëìíîïđńòóôőöśűùúûüęțÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄąŁ€„Š§š©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚßàáâăäćæçèéêëìíîïđńòóôőöśűùúûüęțÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄąŁ€„Š§š©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚßàáâăäćæçèéêëìíîïđńòóôőöśűùúûüęțÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄąŁ€„Š§š©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚßàáâăäćæçèéêëìíîïđńòóôőöśűùúûüęțÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄąŁ€„Š§š©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚßàáâăäćæçèéêëìíîïđńòó€€17.0.617.0.617.0.617.0.6-150600.3.2.117.0.6-150600.3.2.1        !!!!!!""""########$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''''&&&&&((((((((&&$$$$)*+*,*-*...*//////////00000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111234445555566667889999999999999999999999::::999999999999999999999;;;;;;;;999999999999999999999999999999999999999<<<<<======<<<<<<>>>>>>>><<?@@???AA?BB???CC?DDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFGGGGGGHHHHIJJJIIIIIIIIIIIIIIIIKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNOLLLLLLLLLLLLLLLLLLLLLLLLLLLPLLLLLLLLLLLLLQQQQQQQQQQQRRRRSSSSRRRRRRRRRRRTTTTTTTTTTTTTTTTUVVUWUXXYYYYYYYYYYYZ[Z\]^]]_____]]`````````````````````````````````````````]aa]]bbbbbbbbbbbbbbbbbbbbb]]]ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc]]dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd]]eeeeeffghhhiiiiiiiiiiiiiiiiijklllllllllllllllllllllllllllllllllllllllllmnompqqrrFileCheckllvm-configllvmllvm-cAnalysis.hBitReader.hBitWriter.hComdat.hCore.hDataTypes.hDebugInfo.hDeprecated.hDisassembler.hDisassemblerTypes.hError.hErrorHandling.hExecutionEngine.hExternC.hIRReader.hLLJIT.hLinker.hObject.hOrc.hOrcEE.hRemarks.hSupport.hTarget.hTargetMachine.hTransformsPassBuilder.hTypes.hblake3.hlto.hADTADL.hAPFixedPoint.hAPFloat.hAPInt.hAPSInt.hAddressRanges.hAllocatorList.hAny.hArrayRef.hBitVector.hBitfields.hBitmaskEnum.hBreadthFirstIterator.hCachedHashString.hCoalescingBitVector.hCombinationGenerator.hConcurrentHashtable.hDAGDeltaAlgorithm.hDeltaAlgorithm.hDenseMap.hDenseMapInfo.hDenseMapInfoVariant.hDenseSet.hDepthFirstIterator.hDirectedGraph.hEnumeratedArray.hEpochTracker.hEquivalenceClasses.hFloatingPointMode.hFoldingSet.hFunctionExtras.hGenericCycleImpl.hGenericCycleInfo.hGenericSSAContext.hGenericUniformityImpl.hGenericUniformityInfo.hGraphTraits.hHashing.hImmutableList.hImmutableMap.hImmutableSet.hIndexedMap.hIntEqClasses.hIntervalMap.hIntervalTree.hIntrusiveRefCntPtr.hMapVector.hPackedVector.hPointerEmbeddedInt.hPointerIntPair.hPointerSumType.hPointerUnion.hPostOrderIterator.hPriorityQueue.hPriorityWorklist.hSCCIterator.hSTLExtras.hSTLForwardCompat.hSTLFunctionalExtras.hScopeExit.hScopedHashTable.hSequence.hSetOperations.hSetVector.hSmallBitVector.hSmallPtrSet.hSmallSet.hSmallString.hSmallVector.hSmallVectorExtras.hSparseBitVector.hSparseMultiSet.hSparseSet.hStatistic.hStringExtras.hStringMap.hStringMapEntry.hStringRef.hStringSet.hStringSwitch.hTinyPtrVector.hTwine.hTypeSwitch.hUniformity.hUniqueVector.hbit.hedit_distance.hfallible_iterator.hidentity.hilist.hilist_base.hilist_iterator.hilist_node.hilist_node_base.hilist_node_options.hiterator.hiterator_range.hsimple_ilist.hAnalysisAliasAnalysis.hAliasAnalysisEvaluator.hAliasSetTracker.hAssumeBundleQueries.hAssumptionCache.hBasicAliasAnalysis.hBlockFrequencyInfo.hBlockFrequencyInfoImpl.hBranchProbabilityInfo.hCFG.hCFGPrinter.hCFGSCCPrinter.hCGSCCPassManager.hCallGraph.hCallGraphSCCPass.hCallPrinter.hCaptureTracking.hCmpInstAnalysis.hCodeMetrics.hConstantFolding.hConstraintSystem.hCostModel.hCycleAnalysis.hDDG.hDDGPrinter.hDOTGraphTraitsPass.hDelinearization.hDemandedBits.hDependenceAnalysis.hDependenceGraphBuilder.hDomPrinter.hDomTreeUpdater.hDominanceFrontier.hDominanceFrontierImpl.hEHUtils.hFunctionPropertiesAnalysis.hGlobalsModRef.hGuardUtils.hHeatUtils.hIRSimilarityIdentifier.hIVDescriptors.hIVUsers.hIndirectCallPromotionAnalysis.hIndirectCallVisitor.hInlineAdvisor.hInlineCost.hInlineModelFeatureMaps.hInlineOrder.hInlineSizeEstimatorAnalysis.hInstCount.hInstSimplifyFolder.hInstructionPrecedenceTracking.hInstructionSimplify.hInteractiveModelRunner.hInterval.hIntervalIterator.hIntervalPartition.hIteratedDominanceFrontier.hLazyBlockFrequencyInfo.hLazyBranchProbabilityInfo.hLazyCallGraph.hLazyValueInfo.hLint.hLoads.hLoopAccessAnalysis.hLoopAnalysisManager.hLoopCacheAnalysis.hLoopInfo.hLoopIterator.hLoopNestAnalysis.hLoopPass.hLoopUnrollAnalyzer.hMLInlineAdvisor.hMLModelRunner.hMemDerefPrinter.hMemoryBuiltins.hMemoryDependenceAnalysis.hMemoryLocation.hMemoryProfileInfo.hMemorySSA.hMemorySSAUpdater.hModelUnderTrainingRunner.hModuleDebugInfoPrinter.hModuleSummaryAnalysis.hMustExecute.hNoInferenceModelRunner.hObjCARCAliasAnalysis.hObjCARCAnalysisUtils.hObjCARCInstKind.hObjCARCUtil.hOptimizationRemarkEmitter.hOverflowInstAnalysis.hPHITransAddr.hPasses.hPhiValues.hPostDominators.hProfileSummaryInfo.hPtrUseVisitor.hRegionInfo.hRegionInfoImpl.hRegionIterator.hRegionPass.hRegionPrinter.hReleaseModeModelRunner.hReplayInlineAdvisor.hScalarEvolution.hScalarEvolutionAliasAnalysis.hScalarEvolutionDivision.hScalarEvolutionExpressions.hScalarEvolutionNormalization.hScalarFuncs.defScopedNoAliasAA.hSparsePropagation.hStackLifetime.hStackSafetyAnalysis.hSyntheticCountsUtils.hTargetFolder.hTargetLibraryInfo.defTargetLibraryInfo.hTargetTransformInfo.hTargetTransformInfoImpl.hTensorSpec.hTrace.hTypeBasedAliasAnalysis.hTypeMetadataUtils.hUniformityAnalysis.hUtilsImportedFunctionsInliningStatistics.hLocal.hTFUtils.hTrainingLogger.hValueLattice.hValueLatticeUtils.hValueTracking.hVecFuncs.defVectorUtils.hAsmParserLLLexer.hLLParser.hLLToken.hParser.hSlotMapping.hBinaryFormatAMDGPUMetadataVerifier.hCOFF.hDXContainer.hDXContainerConstants.defDwarf.defDwarf.hDynamicTags.defELF.hELFRelocsAArch64.defAMDGPU.defARC.defARM.defAVR.defBPF.defCSKY.defHexagon.defLanai.defLoongArch.defM68k.defMSP430.defMips.defPowerPC.defPowerPC64.defRISCV.defSparc.defSystemZ.defVE.defXtensa.defi386.defx86_64.defGOFF.hMachO.defMachO.hMagic.hMinidump.hMinidumpConstants.defMsgPack.defMsgPack.hMsgPackDocument.hMsgPackReader.hMsgPackWriter.hSwift.defSwift.hWasm.hWasmRelocs.defWasmTraits.hXCOFF.hBitcodeBitcodeAnalyzer.hBitcodeCommon.hBitcodeConvenience.hBitcodeReader.hBitcodeWriter.hBitcodeWriterPass.hLLVMBitCodes.hBitstreamBitCodeEnums.hBitCodes.hBitstreamReader.hBitstreamWriter.hCodeGenAccelTable.hAnalysis.hAntiDepBreaker.hAsmPrinter.hAsmPrinterHandler.hAssignmentTrackingAnalysis.hAtomicExpandUtils.hBasicBlockSectionUtils.hBasicBlockSectionsProfileReader.hBasicTTIImpl.hByteProvider.hCFIFixup.hCSEConfigBase.hCalcSpillWeights.hCallingConvLower.hCodeGenCommonISel.hCodeGenPassBuilder.hCommandFlags.hComplexDeinterleavingPass.hCostTable.hDAGCombine.hDFAPacketizer.hDIE.hDIEValue.defDbgEntityHistoryCalculator.hDebugHandlerBase.hDetectDeadLanes.hDwarfStringPoolEntry.hEdgeBundles.hExecutionDomainFix.hExpandReductions.hExpandVectorPredication.hFastISel.hFaultMaps.hFunctionLoweringInfo.hGCMetadata.hGCMetadataPrinter.hGenVT.incGlobalISelCSEInfo.hCSEMIRBuilder.hCallLowering.hCombiner.hCombinerHelper.hCombinerInfo.hGIMatchTableExecutor.hGIMatchTableExecutorImpl.hGISelChangeObserver.hGISelKnownBits.hGISelWorkList.hGenericMachineInstrs.hIRTranslator.hInlineAsmLowering.hInstructionSelect.hInstructionSelector.hLegacyLegalizerInfo.hLegalizationArtifactCombiner.hLegalizer.hLegalizerHelper.hLegalizerInfo.hLoadStoreOpt.hLocalizer.hLostDebugLocObserver.hMIPatternMatch.hMachineIRBuilder.hRegBankSelect.hUtils.hHardwareLoops.hISDOpcodes.hIndirectThunks.hIntrinsicLowering.hLatencyPriorityQueue.hLazyMachineBlockFrequencyInfo.hLexicalScopes.hLinkAllAsmWriterComponents.hLinkAllCodegenComponents.hLiveInterval.hLiveIntervalCalc.hLiveIntervalUnion.hLiveIntervals.hLivePhysRegs.hLiveRangeCalc.hLiveRangeEdit.hLiveRegMatrix.hLiveRegUnits.hLiveStacks.hLiveVariables.hLoopTraversal.hLowLevelType.hLowLevelTypeUtils.hMBFIWrapper.hMIRFSDiscriminator.hMIRFormatter.hMIRParserMIParser.hMIRParser.hMIRPrinter.hMIRSampleProfile.hMIRYamlMapping.hMachORelocation.hMachineBasicBlock.hMachineBlockFrequencyInfo.hMachineBranchProbabilityInfo.hMachineCFGPrinter.hMachineCombinerPattern.hMachineConstantPool.hMachineCycleAnalysis.hMachineDominanceFrontier.hMachineDominators.hMachineFrameInfo.hMachineFunction.hMachineFunctionPass.hMachineInstr.hMachineInstrBuilder.hMachineInstrBundle.hMachineInstrBundleIterator.hMachineJumpTableInfo.hMachineLoopInfo.hMachineLoopUtils.hMachineMemOperand.hMachineModuleInfo.hMachineModuleInfoImpls.hMachineModuleSlotTracker.hMachineOperand.hMachineOptimizationRemarkEmitter.hMachineOutliner.hMachinePassManager.hMachinePassRegistry.defMachinePassRegistry.hMachinePipeliner.hMachinePostDominators.hMachineRegionInfo.hMachineRegisterInfo.hMachineSSAContext.hMachineSSAUpdater.hMachineScheduler.hMachineSizeOpts.hMachineStableHash.hMachineTraceMetrics.hMachineUniformityAnalysis.hMachineValueType.hMacroFusion.hModuloSchedule.hMultiHazardRecognizer.hNonRelocatableStringpool.hPBQPCostAllocator.hGraph.hMath.hReductionRules.hSolution.hPBQPRAConstraint.hParallelCG.hPasses.hPreISelIntrinsicLowering.hPseudoSourceValue.hRDFGraph.hRDFLiveness.hRDFRegisters.hReachingDefAnalysis.hRegAllocCommon.hRegAllocPBQP.hRegAllocRegistry.hRegister.hRegisterBank.hRegisterBankInfo.hRegisterClassInfo.hRegisterPressure.hRegisterScavenging.hRegisterUsageInfo.hReplaceWithVeclib.hResourcePriorityQueue.hRuntimeLibcalls.hSDNodeProperties.tdScheduleDAG.hScheduleDAGInstrs.hScheduleDAGMutation.hScheduleDFS.hScheduleHazardRecognizer.hSchedulerRegistry.hScoreboardHazardRecognizer.hSelectionDAG.hSelectionDAGAddressAnalysis.hSelectionDAGISel.hSelectionDAGNodes.hSelectionDAGTargetInfo.hSlotIndexes.hSpiller.hStableHashing.hStackMaps.hStackProtector.hSwiftErrorValueTracking.hSwitchLoweringUtils.hTailDuplicator.hTargetCallingConv.hTargetFrameLowering.hTargetInstrInfo.hTargetLowering.hTargetLoweringObjectFileImpl.hTargetOpcodes.hTargetPassConfig.hTargetRegisterInfo.hTargetSchedule.hTargetSubtargetInfo.hTileShapeInfo.hTypePromotion.hUnreachableBlockElim.hVLIWMachineScheduler.hValueTypes.hValueTypes.tdVirtRegMap.hWasmAddressSpaces.hWasmEHFuncInfo.hWinEHFuncInfo.hConfigAsmParsers.defAsmPrinters.defDisassemblers.defTargetExegesis.defTargetMCAs.defTargets.defabi-breaking.hllvm-config.hDWARFLinkerDWARFLinker.hDWARFLinkerCompileUnit.hDWARFLinkerDeclContext.hDWARFStreamer.hDWARFLinkerParallelAddressesMap.hDWARFFile.hDWARFLinker.hStringPool.hStringTable.hDWPDWP.hDWPError.hDWPStringPool.hDebugInfoBTFBTF.defBTF.hBTFContext.hBTFParser.hCodeViewAppendingTypeTableBuilder.hCVRecord.hCVSymbolVisitor.hCVTypeVisitor.hCodeView.hCodeViewError.hCodeViewRecordIO.hCodeViewRegisters.defCodeViewSymbols.defCodeViewTypes.defContinuationRecordBuilder.hDebugChecksumsSubsection.hDebugCrossExSubsection.hDebugCrossImpSubsection.hDebugFrameDataSubsection.hDebugInlineeLinesSubsection.hDebugLinesSubsection.hDebugStringTableSubsection.hDebugSubsection.hDebugSubsectionRecord.hDebugSubsectionVisitor.hDebugSymbolRVASubsection.hDebugSymbolsSubsection.hDebugUnknownSubsection.hEnumTables.hFormatters.hFunctionId.hGUID.hGlobalTypeTableBuilder.hLazyRandomTypeCollection.hLine.hMergingTypeTableBuilder.hRecordName.hRecordSerialization.hSimpleTypeSerializer.hStringsAndChecksums.hSymbolDeserializer.hSymbolDumpDelegate.hSymbolDumper.hSymbolRecord.hSymbolRecordHelpers.hSymbolRecordMapping.hSymbolSerializer.hSymbolVisitorCallbackPipeline.hSymbolVisitorCallbacks.hSymbolVisitorDelegate.hTypeCollection.hTypeDeserializer.hTypeDumpVisitor.hTypeHashing.hTypeIndex.hTypeIndexDiscovery.hTypeRecord.hTypeRecordHelpers.hTypeRecordMapping.hTypeStreamMerger.hTypeSymbolEmitter.hTypeTableCollection.hTypeVisitorCallbackPipeline.hTypeVisitorCallbacks.hDIContext.hDWARFDWARFAbbreviationDeclaration.hDWARFAcceleratorTable.hDWARFAddressRange.hDWARFAttribute.hDWARFCompileUnit.hDWARFContext.hDWARFDataExtractor.hDWARFDebugAbbrev.hDWARFDebugAddr.hDWARFDebugArangeSet.hDWARFDebugAranges.hDWARFDebugFrame.hDWARFDebugInfoEntry.hDWARFDebugLine.hDWARFDebugLoc.hDWARFDebugMacro.hDWARFDebugPubTable.hDWARFDebugRangeList.hDWARFDebugRnglists.hDWARFDie.hDWARFExpression.hDWARFFormValue.hDWARFGdbIndex.hDWARFListTable.hDWARFLocationExpression.hDWARFObject.hDWARFRelocMap.hDWARFSection.hDWARFTypePrinter.hDWARFTypeUnit.hDWARFUnit.hDWARFUnitIndex.hDWARFVerifier.hGSYMDwarfTransformer.hExtractRanges.hFileEntry.hFileWriter.hFunctionInfo.hGsymCreator.hGsymReader.hHeader.hInlineInfo.hLineEntry.hLineTable.hLookupResult.hObjectFileTransformer.hStringTable.hLogicalViewCoreLVCompare.hLVElement.hLVLine.hLVLocation.hLVObject.hLVOptions.hLVRange.hLVReader.hLVScope.hLVSort.hLVStringPool.hLVSupport.hLVSymbol.hLVType.hLVReaderHandler.hReadersLVBinaryReader.hLVCodeViewReader.hLVCodeViewVisitor.hLVELFReader.hMSFIMSFFile.hMSFBuilder.hMSFCommon.hMSFError.hMappedBlockStream.hPDBConcreteSymbolEnumerator.hDIADIADataStream.hDIAEnumDebugStreams.hDIAEnumFrameData.hDIAEnumInjectedSources.hDIAEnumLineNumbers.hDIAEnumSectionContribs.hDIAEnumSourceFiles.hDIAEnumSymbols.hDIAEnumTables.hDIAError.hDIAFrameData.hDIAInjectedSource.hDIALineNumber.hDIARawSymbol.hDIASectionContrib.hDIASession.hDIASourceFile.hDIASupport.hDIATable.hDIAUtils.hGenericError.hIPDBDataStream.hIPDBEnumChildren.hIPDBFrameData.hIPDBInjectedSource.hIPDBLineNumber.hIPDBRawSymbol.hIPDBSectionContrib.hIPDBSession.hIPDBSourceFile.hIPDBTable.hNativeDbiModuleDescriptor.hDbiModuleDescriptorBuilder.hDbiModuleList.hDbiStream.hDbiStreamBuilder.hEnumTables.hFormatUtil.hFormatters.hGSIStreamBuilder.hGlobalsStream.hHash.hHashTable.hISectionContribVisitor.hInfoStream.hInfoStreamBuilder.hInjectedSourceStream.hInputFile.hLinePrinter.hModuleDebugStream.hNamedStreamMap.hNativeCompilandSymbol.hNativeEnumGlobals.hNativeEnumInjectedSources.hNativeEnumLineNumbers.hNativeEnumModules.hNativeEnumSymbols.hNativeEnumTypes.hNativeExeSymbol.hNativeFunctionSymbol.hNativeInlineSiteSymbol.hNativeLineNumber.hNativePublicSymbol.hNativeRawSymbol.hNativeSession.hNativeSourceFile.hNativeSymbolEnumerator.hNativeTypeArray.hNativeTypeBuiltin.hNativeTypeEnum.hNativeTypeFunctionSig.hNativeTypePointer.hNativeTypeTypedef.hNativeTypeUDT.hNativeTypeVTShape.hPDBFile.hPDBFileBuilder.hPDBStringTable.hPDBStringTableBuilder.hPublicsStream.hRawConstants.hRawError.hRawTypes.hSymbolCache.hSymbolStream.hTpiHashing.hTpiStream.hTpiStreamBuilder.hPDB.hPDBContext.hPDBExtras.hPDBSymDumper.hPDBSymbol.hPDBSymbolAnnotation.hPDBSymbolBlock.hPDBSymbolCompiland.hPDBSymbolCompilandDetails.hPDBSymbolCompilandEnv.hPDBSymbolCustom.hPDBSymbolData.hPDBSymbolExe.hPDBSymbolFunc.hPDBSymbolFuncDebugEnd.hPDBSymbolFuncDebugStart.hPDBSymbolLabel.hPDBSymbolPublicSymbol.hPDBSymbolThunk.hPDBSymbolTypeArray.hPDBSymbolTypeBaseClass.hPDBSymbolTypeBuiltin.hPDBSymbolTypeCustom.hPDBSymbolTypeDimension.hPDBSymbolTypeEnum.hPDBSymbolTypeFriend.hPDBSymbolTypeFunctionArg.hPDBSymbolTypeFunctionSig.hPDBSymbolTypeManaged.hPDBSymbolTypePointer.hPDBSymbolTypeTypedef.hPDBSymbolTypeUDT.hPDBSymbolTypeVTable.hPDBSymbolTypeVTableShape.hPDBSymbolUnknown.hPDBSymbolUsingNamespace.hPDBTypes.hUDTLayout.hSymbolizeDIPrinter.hMarkup.hMarkupFilter.hSymbolizableModule.hSymbolizableObjectFile.hSymbolize.hDebuginfodBuildIDFetcher.hDebuginfod.hHTTPClient.hHTTPServer.hDemangleDemangle.hDemangleConfig.hItaniumDemangle.hItaniumNodes.defMicrosoftDemangle.hMicrosoftDemangleNodes.hStringViewExtras.hUtility.hExecutionEngineExecutionEngine.hGenericValue.hInterpreter.hJITEventListener.hJITLinkCOFF.hCOFF_x86_64.hDWARFRecordSectionSplitter.hEHFrameSupport.hELF.hELF_aarch32.hELF_aarch64.hELF_i386.hELF_loongarch.hELF_ppc64.hELF_riscv.hELF_x86_64.hJITLink.hJITLinkDylib.hJITLinkMemoryManager.hMachO.hMachO_arm64.hMachO_x86_64.hTableManager.haarch32.haarch64.hi386.hloongarch.hppc64.hriscv.hx86_64.hJITSymbol.hMCJIT.hOProfileWrapper.hObjectCache.hOrcCOFFPlatform.hCOFFVCRuntimeSupport.hCompileOnDemandLayer.hCompileUtils.hCore.hDebugObjectManagerPlugin.hDebugUtils.hDebuggerSupportPlugin.hELFNixPlatform.hEPCDebugObjectRegistrar.hEPCDynamicLibrarySearchGenerator.hEPCEHFrameRegistrar.hEPCGenericDylibManager.hEPCGenericJITLinkMemoryManager.hEPCGenericMemoryAccess.hEPCGenericRTDyldMemoryManager.hEPCIndirectionUtils.hExecutionUtils.hExecutorProcessControl.hIRCompileLayer.hIRTransformLayer.hIndirectionUtils.hJITTargetMachineBuilder.hLLJIT.hLayer.hLazyReexports.hLookupAndRecordAddrs.hMachOPlatform.hMangling.hMapperJITLinkMemoryManager.hMemoryMapper.hObjectFileInterface.hObjectLinkingLayer.hObjectTransformLayer.hOrcABISupport.hRTDyldObjectLinkingLayer.hSharedAllocationActions.hExecutorAddress.hExecutorSymbolDef.hMemoryFlags.hObjectFormats.hOrcError.hOrcRTBridge.hSimplePackedSerialization.hSimpleRemoteEPCUtils.hTargetProcessControlTypes.hWrapperFunctionUtils.hSimpleRemoteEPC.hSpeculateAnalyses.hSpeculation.hSymbolStringPool.hTargetProcessExecutorBootstrapService.hExecutorSharedMemoryMapperService.hJITLoaderGDB.hRegisterEHFrames.hSimpleExecutorDylibManager.hSimpleExecutorMemoryManager.hSimpleRemoteEPCServer.hTargetExecutionUtils.hTaskDispatch.hThreadSafeModule.hRTDyldMemoryManager.hRuntimeDyld.hRuntimeDyldChecker.hSectionMemoryManager.hFileCheckFileCheck.hFrontendDebugOptions.hDirectiveDirectiveBase.tdHLSLHLSLResource.hOpenACCACC.h.incACC.incACC.tdOpenMPOMP.h.incOMP.incOMP.tdOMPAssume.hOMPConstants.hOMPContext.hOMPDeviceConstants.hOMPGridValues.hOMPIRBuilder.hOMPKinds.defFuzzMutateFuzzerCLI.hIRMutator.hOpDescriptor.hOperations.hRandom.hRandomIRBuilder.hIRAbstractCallSite.hArgument.hAssemblyAnnotationWriter.hAssumptions.hAttributeMask.hAttributes.hAttributes.incAttributes.tdAutoUpgrade.hBasicBlock.hBuiltinGCs.hCFG.hCallingConv.hComdat.hConstant.hConstantFold.hConstantFolder.hConstantRange.hConstants.hConstrainedOps.defCycleInfo.hDIBuilder.hDataLayout.hDebugInfo.hDebugInfoFlags.defDebugInfoMetadata.hDebugLoc.hDerivedTypes.hDerivedUser.hDiagnosticHandler.hDiagnosticInfo.hDiagnosticPrinter.hDominators.hEHPersonalities.hFMF.hFPEnv.hFixedMetadataKinds.defFixedPointBuilder.hFunction.hGCStrategy.hGVMaterializer.hGetElementPtrTypeIterator.hGlobalAlias.hGlobalIFunc.hGlobalObject.hGlobalValue.hGlobalVariable.hIRBuilder.hIRBuilderFolder.hIRPrintingPasses.hInlineAsm.hInstIterator.hInstVisitor.hInstrTypes.hInstruction.defInstruction.hInstructions.hIntrinsicEnums.incIntrinsicImpl.incIntrinsicInst.hIntrinsics.hIntrinsics.tdIntrinsicsAArch64.hIntrinsicsAArch64.tdIntrinsicsAMDGPU.hIntrinsicsAMDGPU.tdIntrinsicsARM.hIntrinsicsARM.tdIntrinsicsBPF.hIntrinsicsBPF.tdIntrinsicsDirectX.hIntrinsicsDirectX.tdIntrinsicsHexagon.hIntrinsicsHexagon.tdIntrinsicsHexagonDep.tdIntrinsicsLoongArch.hIntrinsicsLoongArch.tdIntrinsicsMips.hIntrinsicsMips.tdIntrinsicsNVPTX.hIntrinsicsNVVM.tdIntrinsicsPowerPC.hIntrinsicsPowerPC.tdIntrinsicsR600.hIntrinsicsRISCV.hIntrinsicsRISCV.tdIntrinsicsRISCVXTHead.tdIntrinsicsRISCVXsf.tdIntrinsicsS390.hIntrinsicsSPIRV.hIntrinsicsSPIRV.tdIntrinsicsSystemZ.tdIntrinsicsVE.hIntrinsicsVE.tdIntrinsicsVEVL.gen.tdIntrinsicsWebAssembly.hIntrinsicsWebAssembly.tdIntrinsicsX86.hIntrinsicsX86.tdIntrinsicsXCore.hIntrinsicsXCore.tdLLVMContext.hLLVMRemarkStreamer.hLegacyPassManager.hLegacyPassManagers.hLegacyPassNameParser.hMDBuilder.hMangler.hMatrixBuilder.hMetadata.defMetadata.hModule.hModuleSlotTracker.hModuleSummaryIndex.hModuleSummaryIndexYAML.hNoFolder.hOperandTraits.hOperator.hOptBisect.hPassInstrumentation.hPassManager.hPassManagerImpl.hPassManagerInternal.hPassTimingInfo.hPatternMatch.hPredIteratorCache.hPrintPasses.hProfDataUtils.hProfileSummary.hPseudoProbe.hReplaceConstant.hRuntimeLibcalls.defSSAContext.hSafepointIRVerifier.hStatepoint.hStructuralHash.hSymbolTableListTraits.hTrackingMDRef.hType.hTypeFinder.hTypedPointerType.hUse.hUseListOrder.hUser.hVPIntrinsics.defValue.defValue.hValueHandle.hValueMap.hValueSymbolTable.hVectorBuilder.hVerifier.hIRPrinterIRPrintingPasses.hIRReaderIRReader.hInitializePasses.hInterfaceStubELFObjHandler.hIFSHandler.hIFSStub.hLTOConfig.hLTO.hLTOBackend.hSummaryBasedOptimizations.hlegacyLTOCodeGenerator.hLTOModule.hThinLTOCodeGenerator.hUpdateCompilerUsed.hLineEditorLineEditor.hLinkAllIR.hLinkAllPasses.hLinkerIRMover.hLinker.hMCConstantPools.hDXContainerPSVInfo.hLaneBitmask.hMCAsmBackend.hMCAsmInfo.hMCAsmInfoCOFF.hMCAsmInfoDarwin.hMCAsmInfoELF.hMCAsmInfoGOFF.hMCAsmInfoWasm.hMCAsmInfoXCOFF.hMCAsmLayout.hMCAsmMacro.hMCAssembler.hMCCodeEmitter.hMCCodeView.hMCContext.hMCDXContainerStreamer.hMCDXContainerWriter.hMCDecoderOps.hMCDirectives.hMCDisassemblerMCDisassembler.hMCExternalSymbolizer.hMCRelocationInfo.hMCSymbolizer.hMCDwarf.hMCELFObjectWriter.hMCELFStreamer.hMCExpr.hMCFixup.hMCFixupKindInfo.hMCFragment.hMCInst.hMCInstBuilder.hMCInstPrinter.hMCInstrAnalysis.hMCInstrDesc.hMCInstrInfo.hMCInstrItineraries.hMCLabel.hMCLinkerOptimizationHint.hMCMachObjectWriter.hMCObjectFileInfo.hMCObjectStreamer.hMCObjectWriter.hMCParserAsmCond.hAsmLexer.hMCAsmLexer.hMCAsmParser.hMCAsmParserExtension.hMCAsmParserUtils.hMCParsedAsmOperand.hMCTargetAsmParser.hMCPseudoProbe.hMCRegister.hMCRegisterInfo.hMCSPIRVObjectWriter.hMCSPIRVStreamer.hMCSchedule.hMCSection.hMCSectionCOFF.hMCSectionDXContainer.hMCSectionELF.hMCSectionGOFF.hMCSectionMachO.hMCSectionSPIRV.hMCSectionWasm.hMCSectionXCOFF.hMCStreamer.hMCSubtargetInfo.hMCSymbol.hMCSymbolCOFF.hMCSymbolELF.hMCSymbolGOFF.hMCSymbolMachO.hMCSymbolWasm.hMCSymbolXCOFF.hMCTargetOptions.hMCTargetOptionsCommandFlags.hMCValue.hMCWasmObjectWriter.hMCWasmStreamer.hMCWin64EH.hMCWinCOFFObjectWriter.hMCWinCOFFStreamer.hMCWinEH.hMCXCOFFObjectWriter.hMCXCOFFStreamer.hMachineLocation.hSectionKind.hStringTableBuilder.hTargetRegistry.hMCACodeEmitter.hContext.hCustomBehaviour.hHWEventListener.hHardwareUnitsHardwareUnit.hLSUnit.hRegisterFile.hResourceManager.hRetireControlUnit.hScheduler.hIncrementalSourceMgr.hInstrBuilder.hInstruction.hPipeline.hSourceMgr.hStagesDispatchStage.hEntryStage.hExecuteStage.hInOrderIssueStage.hInstructionTables.hMicroOpQueueStage.hRetireStage.hStage.hSupport.hView.hObjCopyCOFFCOFFConfig.hCOFFObjcopy.hCommonConfig.hConfigManager.hELFELFConfig.hELFObjcopy.hMachOMachOConfig.hMachOObjcopy.hMultiFormatConfig.hObjCopy.hXCOFFXCOFFConfig.hXCOFFObjcopy.hwasmWasmConfig.hWasmObjcopy.hObjectArchive.hArchiveWriter.hBinary.hBuildID.hCOFF.hCOFFImportFile.hCOFFModuleDefinition.hCVDebugRecord.hDXContainer.hDecompressor.hELF.hELFObjectFile.hELFTypes.hError.hFaultMapParser.hGOFF.hGOFFObjectFile.hIRObjectFile.hIRSymtab.hMachO.hMachOUniversal.hMachOUniversalWriter.hMinidump.hModuleSymbolTable.hObjectFile.hOffloadBinary.hRelocationResolver.hStackMapParser.hSymbolSize.hSymbolicFile.hTapiFile.hTapiUniversal.hWasm.hWindowsMachineFlag.hWindowsResource.hXCOFFObjectFile.hObjectYAMLArchiveYAML.hCOFFYAML.hCodeViewYAMLDebugSections.hCodeViewYAMLSymbols.hCodeViewYAMLTypeHashing.hCodeViewYAMLTypes.hDWARFEmitter.hDWARFYAML.hDXContainerYAML.hELFYAML.hMachOYAML.hMinidumpYAML.hObjectYAML.hOffloadYAML.hWasmYAML.hXCOFFYAML.hYAML.hyaml2obj.hOptionArg.hArgList.hOptParser.tdOptSpecifier.hOptTable.hOption.hPass.hPassAnalysisSupport.hPassInfo.hPassRegistry.hPassSupport.hPassesOptimizationLevel.hPassBuilder.hPassPlugin.hStandardInstrumentations.hProfileDataCoverageCoverageMapping.hCoverageMappingReader.hCoverageMappingWriter.hGCOV.hInstrProf.hInstrProfCorrelator.hInstrProfData.incInstrProfReader.hInstrProfWriter.hItaniumManglingCanonicalizer.hMIBEntryDef.incMemProf.hMemProfData.incProfileCommon.hRawMemProfReader.hSampleProf.hSampleProfReader.hSampleProfWriter.hSymbolRemappingReader.hRemarksBitstreamRemarkContainer.hBitstreamRemarkParser.hBitstreamRemarkSerializer.hHotnessThresholdParser.hRemark.hRemarkFormat.hRemarkLinker.hRemarkParser.hRemarkSerializer.hRemarkStreamer.hRemarkStringTable.hYAMLRemarkSerializer.hSupportAMDGPUMetadata.hAMDHSAKernelDescriptor.hARMAttributeParser.hARMBuildAttributes.hARMEHABI.hARMWinEH.hAlignOf.hAlignment.hAllocator.hAllocatorBase.hArrayRecycler.hAtomic.hAtomicOrdering.hAutoConvert.hAutomaton.hBCD.hBLAKE3.hBalancedPartitioning.hBase64.hBinaryByteStream.hBinaryItemStream.hBinaryStream.hBinaryStreamArray.hBinaryStreamError.hBinaryStreamReader.hBinaryStreamRef.hBinaryStreamWriter.hBlockFrequency.hBranchProbability.hBuryPointer.hCBindingWrapping.hCFGDiff.hCFGUpdate.hCOM.hCRC.hCSKYAttributeParser.hCSKYAttributes.hCachePruning.hCaching.hCapacity.hCasting.hCheckedArithmetic.hChrono.hCodeGen.hCodeGenCoverage.hCommandLine.hCompiler.hCompression.hConvertEBCDIC.hConvertUTF.hCrashRecoveryContext.hDJB.hDOTGraphTraits.hDXILOperationCommon.hDataExtractor.hDataTypes.hDebug.hDebugCounter.hDiscriminator.hDivisionByConstantInfo.hDuration.hDynamicLibrary.hELFAttributeParser.hELFAttributes.hEndian.hEndianStream.hErrc.hErrno.hError.hErrorHandling.hErrorOr.hExitCodes.hExtensibleRTTI.hExtension.defFileCollector.hFileOutputBuffer.hFileSystemFileSystem.hUniqueID.hFileUtilities.hFormat.hFormatAdapters.hFormatCommon.hFormatProviders.hFormatVariadic.hFormatVariadicDetails.hFormattedStream.hGenericDomTree.hGenericDomTreeConstruction.hGenericIteratedDominanceFrontier.hGenericLoopInfo.hGenericLoopInfoImpl.hGlobPattern.hGraphWriter.hHashBuilder.hHost.hInitLLVM.hInstructionCost.hJSON.hKnownBits.hLEB128.hLICENSE.TXTLLVMDriver.hLineIterator.hLocale.hLockFileManager.hMD5.hMSP430AttributeParser.hMSP430Attributes.hMSVCErrorWorkarounds.hManagedStatic.hMathExtras.hMemAlloc.hMemory.hMemoryBuffer.hMemoryBufferRef.hMipsABIFlags.hModRef.hMutex.hNativeFormatting.hOnDiskHashTable.hOptimizedStructLayout.hPGOOptions.hParallel.hPath.hPerThreadBumpPtrAllocator.hPluginLoader.hPointerLikeTypeTraits.hPrettyStackTrace.hPrintable.hProcess.hProgram.hRISCVAttributeParser.hRISCVAttributes.hRISCVISAInfo.hRWMutex.hRandomNumberGenerator.hRecycler.hRecyclingAllocator.hRegex.hRegistry.hReverseIteration.hSHA1.hSHA256.hSMLoc.hSMTAPI.hSaveAndRestore.hScaledNumber.hScopedPrinter.hSignals.hSignposts.hSmallVectorMemoryBuffer.hSolarissysregset.hSourceMgr.hSpecialCaseList.hStringSaver.hSuffixTree.hSuffixTreeNode.hSwapByteOrder.hSystemUtils.hTarWriter.hTargetOpcodes.defTargetSelect.hThreadPool.hThreading.hTimeProfiler.hTimer.hToolOutputFile.hTrailingObjects.hTypeName.hTypeSize.hUnicode.hUnicodeCharRanges.hVCSRevision.hValgrind.hVersionTuple.hVirtualFileSystem.hWatchdog.hWin64EH.hWindowsWindowsSupport.hWindowsError.hWithColor.hX86DisassemblerDecoderCommon.hX86FoldTablesUtils.hYAMLParser.hYAMLTraits.hcircular_raw_ostream.hraw_os_ostream.hraw_ostream.hraw_sha1_ostream.hthread.htype_traits.hxxhash.hTableGenAutomaton.tdDirectiveEmitter.hError.hMain.hParser.hRecord.hSearchableTable.tdSetTheory.hStringMatcher.hStringToOffsetTable.hTableGenBackend.hTargetCGPassBuilderOption.hCodeGenCWrappers.hGenericOpcodes.tdGlobalISelCombine.tdRegisterBank.tdSelectionDAGCompat.tdTarget.tdTarget.tdTargetCallingConv.tdTargetInstrPredicate.tdTargetIntrinsicInfo.hTargetItinerary.tdTargetLoweringObjectFile.hTargetMachine.hTargetOptions.hTargetPfmCounters.tdTargetSchedule.tdTargetSelectionDAG.tdTargetParserAArch64TargetParser.hARMTargetParser.defARMTargetParser.hARMTargetParserCommon.hCSKYTargetParser.defCSKYTargetParser.hHost.hLoongArchTargetParser.defLoongArchTargetParser.hRISCVTargetParser.hRISCVTargetParserDef.incSubtargetFeature.hTargetParser.hTriple.hX86TargetParser.defX86TargetParser.hTestingADTStringMap.hStringMapEntry.hAnnotationsAnnotations.hSupportError.hSupportHelpers.hTextAPIArchitecture.defArchitecture.hArchitectureSet.hInterfaceFile.hPackedVersion.hPlatform.hSymbol.hSymbolSet.hTarget.hTextAPIReader.hTextAPIWriter.hToolDriversllvm-dlltoolDlltoolDriver.hllvm-libLibDriver.hTransformsAggressiveInstCombineAggressiveInstCombine.hCFGuard.hCoroutinesCoroCleanup.hCoroConditionalWrapper.hCoroEarly.hCoroElide.hCoroSplit.hIPOIPO.hAlwaysInliner.hAnnotation2Metadata.hArgumentPromotion.hAttributor.hBlockExtractor.hCalledValuePropagation.hConstantMerge.hCrossDSOCFI.hDeadArgumentElimination.hElimAvailExtern.hEmbedBitcodePass.hExtractGV.hForceFunctionAttrs.hFunctionAttrs.hFunctionImport.hFunctionSpecialization.hGlobalDCE.hGlobalOpt.hGlobalSplit.hHotColdSplitting.hIROutliner.hInferFunctionAttrs.hInliner.hInternalize.hLoopExtractor.hLowerTypeTests.hMemProfContextDisambiguation.hMergeFunctions.hModuleInliner.hOpenMPOpt.hPartialInlining.hProfiledCallGraph.hSCCP.hSampleContextTracker.hSampleProfile.hSampleProfileProbe.hStripDeadPrototypes.hStripSymbols.hSyntheticCountsPropagation.hThinLTOBitcodeWriter.hWholeProgramDevirt.hInstCombineInstCombine.hInstCombiner.hInstrumentationInstrumentation.hAddressSanitizer.hAddressSanitizerCommon.hAddressSanitizerOptions.hBlockCoverageInference.hBoundsChecking.hCFGMST.hCGProfile.hControlHeightReduction.hDataFlowSanitizer.hGCOVProfiler.hHWAddressSanitizer.hInstrOrderFile.hInstrProfiling.hKCFI.hMemProfiler.hMemorySanitizer.hPGOInstrumentation.hPoisonChecking.hSanitizerBinaryMetadata.hSanitizerCoverage.hThreadSanitizer.hObjCARC.hScalarScalar.hADCE.hAlignmentFromAssumptions.hAnnotationRemarks.hBDCE.hCallSiteSplitting.hConstantHoisting.hConstraintElimination.hCorrelatedValuePropagation.hDCE.hDFAJumpThreading.hDeadStoreElimination.hDivRemPairs.hEarlyCSE.hFlattenCFG.hFloat2Int.hGVN.hGVNExpression.hGuardWidening.hIVUsersPrinter.hIndVarSimplify.hInductiveRangeCheckElimination.hInferAddressSpaces.hInstSimplifyPass.hJumpThreading.hLICM.hLoopAccessAnalysisPrinter.hLoopBoundSplit.hLoopDataPrefetch.hLoopDeletion.hLoopDistribute.hLoopFlatten.hLoopFuse.hLoopIdiomRecognize.hLoopInstSimplify.hLoopInterchange.hLoopLoadElimination.hLoopPassManager.hLoopPredication.hLoopReroll.hLoopRotation.hLoopSimplifyCFG.hLoopSink.hLoopStrengthReduce.hLoopUnrollAndJamPass.hLoopUnrollPass.hLoopVersioningLICM.hLowerAtomicPass.hLowerConstantIntrinsics.hLowerExpectIntrinsic.hLowerGuardIntrinsic.hLowerMatrixIntrinsics.hLowerWidenableCondition.hMakeGuardsExplicit.hMemCpyOptimizer.hMergeICmps.hMergedLoadStoreMotion.hNaryReassociate.hNewGVN.hPartiallyInlineLibCalls.hPlaceSafepoints.hReassociate.hReg2Mem.hRewriteStatepointsForGC.hSCCP.hSROA.hScalarizeMaskedMemIntrin.hScalarizer.hSeparateConstOffsetFromGEP.hSimpleLoopUnswitch.hSimplifyCFG.hSink.hSpeculativeExecution.hStraightLineStrengthReduce.hStructurizeCFG.hTLSVariableHoist.hTailRecursionElimination.hWarnMissedTransforms.hUtilsUtils.hAMDGPUEmitPrintf.hASanStackFrameLayout.hAddDiscriminators.hAssumeBundleBuilder.hBasicBlockUtils.hBreakCriticalEdges.hBuildLibCalls.hBypassSlowDivision.hCallGraphUpdater.hCallPromotionUtils.hCanonicalizeAliases.hCanonicalizeFreezeInLoops.hCloning.hCodeExtractor.hCodeLayout.hCodeMoverUtils.hCountVisits.hCtorUtils.hDebugify.hEntryExitInstrumenter.hEscapeEnumerator.hEvaluator.hFixIrreducible.hFunctionComparator.hFunctionImportUtils.hGlobalStatus.hGuardUtils.hHelloWorld.hInjectTLIMappings.hInstructionNamer.hInstructionWorklist.hIntegerDivision.hLCSSA.hLibCallsShrinkWrap.hLocal.hLoopPeel.hLoopRotationUtils.hLoopSimplify.hLoopUtils.hLoopVersioning.hLowerAtomic.hLowerGlobalDtors.hLowerIFunc.hLowerInvoke.hLowerMemIntrinsics.hLowerSwitch.hMatrixUtils.hMem2Reg.hMemoryOpRemark.hMemoryTaggingSupport.hMetaRenamer.hMisExpect.hModuleUtils.hMoveAutoInit.hNameAnonGlobals.hPredicateInfo.hPromoteMemToReg.hRelLookupTableConverter.hSCCPSolver.hSSAUpdater.hSSAUpdaterBulk.hSSAUpdaterImpl.hSampleProfileInference.hSampleProfileLoaderBaseImpl.hSampleProfileLoaderBaseUtil.hSanitizerStats.hScalarEvolutionExpander.hSimplifyCFGOptions.hSimplifyIndVar.hSimplifyLibCalls.hSizeOpts.hSplitModule.hStripGCRelocates.hStripNonLineTableDebugInfo.hSymbolRewriter.hUnifyFunctionExitNodes.hUnifyLoopExits.hUnrollLoop.hVNCoercion.hValueMapper.hVectorizeVectorize.hLoadStoreVectorizer.hLoopVectorizationLegality.hLoopVectorize.hSLPVectorizer.hVectorCombine.hWindowsDriverMSVCPaths.hMSVCSetupApi.hWindowsManifestWindowsManifestMerger.hWindowsResourceResourceProcessor.hResourceScriptToken.hResourceScriptTokenList.hXRayBlockIndexer.hBlockPrinter.hBlockVerifier.hFDRLogBuilder.hFDRRecordConsumer.hFDRRecordProducer.hFDRRecords.hFDRTraceExpander.hFDRTraceWriter.hFileHeaderReader.hGraph.hInstrumentationMap.hProfile.hRecordPrinter.hTrace.hXRayRecord.hYAMLXRayRecord.hmacros.llvmllvmAddLLVM.cmakeAddOCaml.cmakeAddSphinxTarget.cmakeCheckAtomic.cmakeCheckCompilerVersion.cmakeCheckProblematicConfigurations.cmakeChooseMSVCCRT.cmakeCoverageReport.cmakeCrossCompile.cmakeDetermineGCCCompatible.cmakeFindFFI.cmakeFindLibEdit.cmakeFindLibpfm.cmakeFindOCaml.cmakeFindSphinx.cmakeFindTerminfo.cmakeFindZ3.cmakeFindzstd.cmakeGenerateVersionFromVCS.cmakeGetErrcMessages.cmakeGetLibraryName.cmakeHandleLLVMOptions.cmakeHandleLLVMStdlib.cmakeLLVM-Build.cmakeLLVM-Config.cmakeLLVMCheckLinkerFlag.cmakeLLVMConfig.cmakeLLVMConfigExtensions.cmakeLLVMConfigVersion.cmakeLLVMDistributionSupport.cmakeLLVMExports-relwithdebinfo.cmakeLLVMExports.cmakeLLVMExternalProjectUtils.cmakeLLVMInstallSymlink.cmakeLLVMProcessSources.cmakeSetTargetTriple.cmakeTableGen.cmakeTensorFlowCompile.cmakeUseLibtool.cmakeVersionFromVCS.cmakellvm-driver-template.cpp.inlibLLVM.solibLLVMTableGen.solibLTO.solibRemarks.sollvm17-develCREDITS.TXTLICENSE.TXTFileCheck.1.gzllvm-config.1.gz/usr/bin//usr/include//usr/include/llvm-c//usr/include/llvm-c/Transforms//usr/include/llvm//usr/include/llvm/ADT//usr/include/llvm/Analysis//usr/include/llvm/Analysis/Utils//usr/include/llvm/AsmParser//usr/include/llvm/BinaryFormat//usr/include/llvm/BinaryFormat/ELFRelocs//usr/include/llvm/Bitcode//usr/include/llvm/Bitstream//usr/include/llvm/CodeGen//usr/include/llvm/CodeGen/GlobalISel//usr/include/llvm/CodeGen/MIRParser//usr/include/llvm/CodeGen/PBQP//usr/include/llvm/Config//usr/include/llvm/DWARFLinker//usr/include/llvm/DWARFLinkerParallel//usr/include/llvm/DWP//usr/include/llvm/DebugInfo//usr/include/llvm/DebugInfo/BTF//usr/include/llvm/DebugInfo/CodeView//usr/include/llvm/DebugInfo/DWARF//usr/include/llvm/DebugInfo/GSYM//usr/include/llvm/DebugInfo/LogicalView//usr/include/llvm/DebugInfo/LogicalView/Core//usr/include/llvm/DebugInfo/LogicalView/Readers//usr/include/llvm/DebugInfo/MSF//usr/include/llvm/DebugInfo/PDB//usr/include/llvm/DebugInfo/PDB/DIA//usr/include/llvm/DebugInfo/PDB/Native//usr/include/llvm/DebugInfo/Symbolize//usr/include/llvm/Debuginfod//usr/include/llvm/Demangle//usr/include/llvm/ExecutionEngine//usr/include/llvm/ExecutionEngine/JITLink//usr/include/llvm/ExecutionEngine/Orc//usr/include/llvm/ExecutionEngine/Orc/Shared//usr/include/llvm/ExecutionEngine/Orc/TargetProcess//usr/include/llvm/FileCheck//usr/include/llvm/Frontend//usr/include/llvm/Frontend/Debug//usr/include/llvm/Frontend/Directive//usr/include/llvm/Frontend/HLSL//usr/include/llvm/Frontend/OpenACC//usr/include/llvm/Frontend/OpenMP//usr/include/llvm/FuzzMutate//usr/include/llvm/IR//usr/include/llvm/IRPrinter//usr/include/llvm/IRReader//usr/include/llvm/InterfaceStub//usr/include/llvm/LTO//usr/include/llvm/LTO/legacy//usr/include/llvm/LineEditor//usr/include/llvm/Linker//usr/include/llvm/MC//usr/include/llvm/MC/MCDisassembler//usr/include/llvm/MC/MCParser//usr/include/llvm/MCA//usr/include/llvm/MCA/HardwareUnits//usr/include/llvm/MCA/Stages//usr/include/llvm/ObjCopy//usr/include/llvm/ObjCopy/COFF//usr/include/llvm/ObjCopy/ELF//usr/include/llvm/ObjCopy/MachO//usr/include/llvm/ObjCopy/XCOFF//usr/include/llvm/ObjCopy/wasm//usr/include/llvm/Object//usr/include/llvm/ObjectYAML//usr/include/llvm/Option//usr/include/llvm/Passes//usr/include/llvm/ProfileData//usr/include/llvm/ProfileData/Coverage//usr/include/llvm/Remarks//usr/include/llvm/Support//usr/include/llvm/Support/FileSystem//usr/include/llvm/Support/Solaris//usr/include/llvm/Support/Solaris/sys//usr/include/llvm/Support/Windows//usr/include/llvm/TableGen//usr/include/llvm/Target//usr/include/llvm/Target/GlobalISel//usr/include/llvm/TargetParser//usr/include/llvm/Testing//usr/include/llvm/Testing/ADT//usr/include/llvm/Testing/Annotations//usr/include/llvm/Testing/Support//usr/include/llvm/TextAPI//usr/include/llvm/ToolDrivers//usr/include/llvm/ToolDrivers/llvm-dlltool//usr/include/llvm/ToolDrivers/llvm-lib//usr/include/llvm/Transforms//usr/include/llvm/Transforms/AggressiveInstCombine//usr/include/llvm/Transforms/Coroutines//usr/include/llvm/Transforms/IPO//usr/include/llvm/Transforms/InstCombine//usr/include/llvm/Transforms/Instrumentation//usr/include/llvm/Transforms/Scalar//usr/include/llvm/Transforms/Utils//usr/include/llvm/Transforms/Vectorize//usr/include/llvm/WindowsDriver//usr/include/llvm/WindowsManifest//usr/include/llvm/WindowsResource//usr/include/llvm/XRay//usr/lib/rpm/macros.d//usr/lib64/cmake//usr/lib64/cmake/llvm//usr/lib64//usr/lib64//usr/lib64//usr/share/licenses//usr/share/licenses/llvm17-devel//usr/share/man/man1/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:35422/SUSE_SLE-15-SP6_Update/5d90d0d45cc9858804a5d7529a7d9123-llvm17.SUSE_SLE-15-SP6_Updatedrpmxz5aarch64-suse-linux     ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=f4fcde10858de11a809ecbb242dbcbddbf6f7d8d, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=b5552e99cf81f4fe125d86c4a778193116a3ef76, strippeddirectoryC source, ASCII textC++ source, ASCII textC++ source, UTF-8 Unicode (with BOM) textC++ source, UTF-8 Unicode textASCII textC source, UTF-8 Unicode textC source, ASCII text, with very long linesASCII text, with very long linesASCII text, with no line terminatorstroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)*,RRRRRRRRRRR RRRR R R RRRRR RRRRRRRRRRRRRR R RRRRRPPPPŚ>Dyő‘§țœ1țNJ utf-83e91cabfeb4412da76ab4e07dcdc6d2d3fcca8b78179bca564c00a87f7faae09?ÿÿûĐę7zXZ áû Ą!t/ćŁà5Ș&Č]"ÌkÀ%ŒBz"üÒùú30k±ÍR㔑)!kâ§ËíűÍTÓ ĄFś íkdrZ*čІ[m›`űÉ]SCżˆó#Ű:ï…pNÎjàđŒ\<ź1ÍÔàt‹‡I{ŻUČìBêÀÚĆßìőᚳ¶ûï ±ő>WƔËሙíû”‹yEQŠN2îÀò.0ȘQícŽÍlœkC Žëć|ƒșùÛő™ê€9È}RĂ$ő(Ń{ó»ˆccüoàŚW'&<2TÛó—ß  i8.€[PĄÏ !áwì`Śr°čĄ©?3_!ií5ÊțŽ-=Á èș·…\\{m”ÚșF qBD‡Ÿ딚VÙÚv„E;ĄD‚ïŸĐÒ7o©«0ôZŒQÄ)šV§FæA-‚ ązÖ`"/éáKËÉüPŒŃíÁДÏĆ>lFńßÖĆő;… Û‡žN]Â4Ćò” o„!fÊÊ<ê‹ÖžéRˆÙslŚȚŽŹF;@(\/kdìąDV#uaL›BuPd~Ùaöțf՝¶ZÄYŐC!æ~Đ ąBÌ^ÔŽH—RçQc&`Ruč‹[ÌăɎźA›Ü#Áˆș"Â;_” æ֜ëË‘Ô—=ąŒu]XàČĆÁ°dZj%1<ÿÁ{âÇŻ[ź €ˆ3©0[$Ç8/–x#NJ-&Á~4żU\Ńù% æsł$RkĐĄô<òH -Œˆ<"vQVdőыƒFGô«D0_ÛÍ:SÜŻo_RnZ”}«UŻ„jé‚ÏX:Ś50tŹ>čc$@Šžë8€X7ćZà|ăŠnhÂIƒÆ9s”p5òŃ|Č€†łűákhú+ő[}»€»ár0‰đÈLƒ3$푬îSü;”ĆHËr~;$(ź› c5šjm8œdƒÇț$3ŚägƒĘëPOČAçàèzτ«G«ćŸśő.ÓÚèŰșÁ)ńʍ§Ł­ˆ%JOzńûÍE4ÀN/YÎȚEOê.fö\C,"–ßÂŽt?«óžœSœ_žUÄ&i˜K<8qÔY4ܔădDëŽy+èőŒqŠæ" l¶dËb˜ĐBî•'§·ă••D™Ú1ŽŐç‰W,@OM{ČA?6˜€śęŰćJmò©é>@żÂżD>a@€àŒ. KŸ{Ș‡e·=ÎÜĘ+X2À8àa ‘]Eüőń‹;çìrȚ:apHžžúÒp)€†N4áœÿŰőIhr]+ćÆ»LÂ;ہ;čę?f­·xŹhĂà†œFün„ +ëü-ô ƒvq}Ž MÂźŰS¶ˆ5 }őÆ1gï€ÈŁÇûëÿsHțSìÖÒ'Œ=I8M‚„ÆMwÒńšĂeĄɝháőś…,rC,AG]=xŹ ź8txçT.™”žąÌÿ{T]MÙ%ÒaÙ9­b•CĘbeÿ¶F`mń0öwçŰÀ[Ț ü§ĆBLđ?Š>ÚzĂ&͆ś*ŹŽNösż§ó|~.=–êą<Ÿš’Ÿ&ă«ÖfYźk^œéo#­°Ńƒàtšdâó»ŚKQ<{žRĂ@’ćŹRź4/ïìSB­Ż&sžmâG ńż`mÀ.­EÒ+$FMܘ!őƒœíń%ÚìŁÀGŸÊ_‘hŻńO„ŽpŠÈŁJ5Ô,TNęfÂœĆ‘Bî ąÈÚ`Ê; œ6,+™kù?6€†dłï=›zŠtÁĄ…„â(Ô@<`ËyP“€ô±S8†Ï F"ž Ÿzę[Șòz „Ï î0ĆÀ?ÄÇŸőT‰f`àńpDJ~;€ËÖd|é“CÏŠZÔ9K¶çÜšmŁ@…Æ7ÛOYúŰü“)Îšțü2Ńć—9 • ŸW^ô€Uš_R?ÍXM«É5ëj˜·æ‘«öë:í'Q7Ł:ż7ćY8ÇY§4ĂìŻ}Ăs|ËźÂ͕ÎȚ—u3RęÌÿȚšŒ7șìjȇœŃ+6ŁYh‰C BIźÎ„ùàn4š]ț“lŸ!“șšÛš.­0á‚91I%ÍTFf^x™“O ùU>0Šé%':<"ÖF™Æ§è âÂ㍁BK†hĘ°m7wž'bŸg€Öi$Yùïöąœ™0š+g•{í»æ1Æÿ‰ ¶9Ł[j˜y ;”zéw­ź•"!Í+ÛVAČč~țW*im^ŠÓßœú'œß$DšxĂ-°™DÌv͘­uÇòć•R2"Ćd:4EDäœșŠZû§ìs'Ń^‹’ˆdÜ7'čr!ClăŽčžF‘Šș(?aE5[êFĆÚ}ÂȘŰH܀*-rLó3Ą…/u–SaAÖŰBZ‘jSȘ‚”r¶ ˜Sux%,čAąßđu:Ț;Tû†3ìœ; ÇbüÖĆœĆqYű©°§­3>œöbÊË֚ˆŒśÄ%ç ‡ąÚߑŠűÂNĄ5/ŠùÀk–vöç=»Wö?ĘlđŐêpdȶâtÚÛË3J”͈”€Óïcń nSëä}ăvŸ%;˜úóp„țXŁÆÔô–€œ!\ŚoÄż0(ۖ.”ź“ÀuG›{·UNEœ­MrGHő@ĄÏÂ%^4—¶W§śnŸëȘŰ2qÄ~îËóƒLźn⊚eà=&œV2%ęhêWz=œÙEOŃŠęcOŽ9ÁöTRN/œ<Š.©î<ĄéER4B”]…QSĆuŠ‚8wnuW…țŰ­`ŹÊIû_Ș'^O†À8{ÂÓ _­Èûń'š0– bŰ?‚ˆeŽuĐôŒ_°èçCózHČĘj{\„0n+ֆë$EM^U@źUŁi”ßț ć2ߏzŸĄD >ïyö¶ÓÚKu‘$Iڋ({X¶i1_Ô1h—î^ę––Û s‚ÓĆčÜKa%+~wûv:ôĐìíŠĐIYs)ê*”4RŹÒUÚ ô{ê ?bśrš™”“”m,đÚ?5ÁM?PăŸhë(œ‚ZČh;čćđĆ"(eX6Òaș$JÚC%c†P”r %w&5qn§Ë\qòæ0HÈPHȘVÁXLŃäÌű琄>knđ”Ædíž|–\‘Òčì«ÖI4”•ĄĄ›iQv‡u`G`ÊCkżSwaŻ»+a„ȓÈĘ/-晚}yöűIȘț_}Jü@lČźÈÍM€Żćőf$Ś/MGáò}zćȶdûâD°—yùâÇđ”űÙę‚WŠęĄśM==⠳Յcăç9JyWŽ©Oëšą[ž0ŠŽrĐ0 BnUywk_$ź‚'Ł:P—TĂ]Č_/ÁBłŸÚÖÉûĄáÖ?քăûÒ8‘Y9›„őìr“ÈÍŻÿKÇBR|„~ÔÒäҟ/Š™Ë«żđáy=‚äWš `Eß śÈžGD>€tMUßUJĄ_ŹŐo3OŻÌÙăőÚLÏ;”!(|x‚§b|ž3ŸIDŁUuž?‰Ș]+ÈÔśőƒ‹•%†ÿ€Fk Ô±sò Fcò-e€șĆX‚żżcJŐ ŽŻ\rKLSŚù† SÄûœŻ‘A+ÀcpŁŠyÄĆŚvÔ&ŐŹÀŁ!VÈÆŠ—đe–š ìÿZ°zSéĘM*^űF6ˆÿd‹è§_ÖD„‘#Òpïš6[Œ…ŚDWĄâ$ĄFL‹ _/șćAž/(źż# ­ikn7ćü9:fŃSHȚt•šn‡rˆŸÉŸșűőBéàaŹőKöȘ{J0šŁq`Œ”ńŻ.śÌș_“(BźLܧ&©'QöńÄçQ8VR+@^Ț&jH‰`ä 8ąœŃí9]Ź)?·I›D˜ó«~Ę‹WÉ•Æè>:ž:Tf‚:\bê?&ęW˜ÏĄŽ…‚æf­nűÖi\VR8G BìWCè@čÚQ^‚œyùń#V)%ęç)”YUԔóąXgÆ{S ’<ŁeRxÎčȚ>lĐnZe\>ÙûÏąŸ;ńr,Œ0ŽfòYœÜÔri‹‘\†X[œKÖacêȚ|&™Żźî«çČ5á„őĄ„ æ7Çkä>:G—ć —°-ËĂ«nČčŸĘŠ‘æă§hˆ”æˆD“:Đ/Rűf¶Śfź@ęĆŁÇRÙPbe©"Z7».ÌŠALfeR FŰœć#¶ú*ʅZÂYЅHÔ5î!ŰÁ䆭]ï#łCúSˆÙ”fÿbńȘN$ĘτqʶĆÏ|E‡Eeț…Í‹`­'ș*!è]ŸՄđ`xh±ÉŠük 6Ÿc˜?g 3l„Û-‹ŠȚűęo°bóŰdś›|î’À~]Ö ‡QÆZȚÌŹ-Ł ÀŻĄŰ7jÆí_€ƒćŁtJ*yròĆèË„˜ÉĐe€íšgŒôüHcL\ŠPŠ_°1ńđûEZYj(C üć;Ńjà_ÂÉą±˜ŰŚæeđŁb,Òż^€§)ŠôčP*BwNFÇNO—š‡Ì”© iĐÀq șßââOJcú” đțĆȚ*ș’ȚNŁç<nęœÇ)ˏJd‰ń­rŰOđŸl†ăûê w0•u 0/D >’ŸÁ€ÇÁ8 łâÙ"2„ă"śőìőa;äxS\$CЊĂâ§rŚy”NCö…MÊ H{cì!“­€­WiÉiĄ¶ČÏ4aÀ'?#æ±éĄžù.doùÊó<šZqȘÍ8Iÿz§ úĆ˒§Ź°–íûQeb€|mb€łĘț±W#ÁȚ»ëĘ°XČ=XńŸNìÌ8žšôze§đ\YłáđsÖÀË: ČOAâÈ—ß,F{üj1Ùà ûțÉŠ©ĐÖâÁI‹kă™ÎűœeŸS™MÇۃ›Æî}Žÿž€ÉIă4‹vÏÚf– _€ĘA-`üûî1ŐĚ K ,ÔKbÍ.Ÿ'zĂku‚}~JÌ᳧f2C%úJ”Ÿ•7Č0k;žÊrĐV­›4ąKN!cćo€+jpJùÀ!@aßdÿ}ŽÊ€âzé) Žj”+%† KŒ,íčÏëžÍÏŹà“q«iہæù:Č`ÔmwO|”J°HƒÍ‹YĘgęŸ±ŸÏN )mŻO{ź\ä­vsgŃrŠæi-ö(éné)«Űç'g+çfkŸ'ćvÙHú\û¶?ÙŹ7XŐ~)íûÜVĐ%Ȅę8„#e˜`51ÛŒ Ít»òö Q'%:Eƒ |ÂgóțUQ9cÜ·4éËU’Y`ż°őu8ëèôÀ”KÍ°Ï* N’Hۈ–‘‰«òĆĂHi(Ń^?%CXd§ísŠ>ƒyÄ38tù…ÄêYmhĐnfó©Ÿ HŽäŚÏéUßÇIIçîgÆ !Ć:Ż¶Ő'ž·dÏ)m*6†ĘĐ&êjgń&fu€Ä€Œ,·…í1­lì/úL "„ÒșŒ5đ> țÌńÈü`V@ÀEU曓tP‚·șEÛĂàŠÏ1§|•đá'+Ębęąs~~~±Íđ8æ>Đá+ČcŹ‚Łz+ŒB ÁÊqæ|\^àwĄąrà _șQV~ á"±dŠjÀU#~JüQVg^·‚±ZžsÇyC€”Sű{6lągĂôq]űKă¶ÄÍÿ›(ä`{UŽŠÄ€C€R°Ûç‚Ï„ș[8œ0^ì2p{;QŽ6éÛ;VCłÎ"șÀ‹È©ÂœŻ-„yŒçÙńń—Òś‡dŚČ%ăæubGNU‰Æż&8ŁșÀ7Ńâ lòĆÄFőPæÚńînćöțtŒțŻ5ȚÌɐĂçîJ­ ”‡üÛ‡UąŰWüŽ\bő”~«0\beą§à‘Œ±P—žŸg‚54-ÎÆYsûŽż„äy€ÏUŸ=P\ț@ôœh <Ž–NfÙô˜±DE—YąS7ì‚Ś>$fTäËg8”f”%kŁjEüŒà°wÎ;*t"köęÀOÔ.s-ZáČô:ÔÈ'Ń °±…­‰`T‹ÆȘù”rœD—oËŸÏe(B»§ΟQ©LÄٔŚžN/ _Ö”I p$¶Ê[ àìÁÒ+p}CDJuž,‰Sœ=p)}ŃëEaĄćŠ<đ”0d0lI5ì*_±șȘÉlmM[‘Č2Zíșșòv#cjȚ9;&5êߣš:Ț]7é?äZeXÚW(^vR\Ç;fÇ à IŸ1AYÄŹ& ÍvŠ?Ü©»ÔEŚîU=êá ©… A­=˜Őp芧Âa§rú~SŠŹ;6fšžÓlCFÒŃïIH€ŹđmàP*p ÔbËùëÛüÇș‹ôŚskWÀuì™›Da«ëš_zçKT°•ȘžzSN3g|ĘÓtq^`èE@Úę©òŹÙ”™FXź) źó™$IÆŒË̝vMŠńë1Œ%śùšÔBȘ—sšÄűPL˜@€Ší={Tæ>.…ÁœÓÜÄeKuïîjóÿ•§c±ÜŻt8jžÏ{ĂłŃ҆ÄDiôdŸ#€ü$=ĂI#'—b|œ*‚TÔŐRÂ1šŽÏn€7űî'ć GëŽf3HXš‘rŒ-ÌÄÒüÓÀ‰”»Ćîă”>PŹ!ïHE—ò€‡…E% L;ŸiąRq†ŸmKhá&».ÚĘ簂L PĄ€B3ѝKO|+>\֍óëđJ žÂóę}‰C«àہ:àó$ù6< 1z«^2ĄìÍÌfÓÖ+ŚîüòMl rÁÔwÉ:șPÏûŸ„ƒh•rŐÙÚŸŸÊ•O./d’)Žš=*/ț‹û>7*ß#ŚÆö^ȘR.-ȚâÎșŻézżA‹è5ÓE„‰țM/»óÚWśRąăŰXƒș—»uòŸŃ?șMž ĂT]^áĐfŻ„„ßÆï»Ț=Ü p»Üö­^œ€ŹëdƒÉ^*žÊÂÚĄÈ%‚ÎΞœ°-@ÏhóŽF^%Dăæ—¶Mbx‰ÂłF;±ár•hlܗgòô5_Œ±îT§œÆš/gĐ„„ŽNb6Đ|ä?]7Ì'…oiMç#čì'™-ŒAîùłÙóI–“ȚőGk û„TèRDXQ“}“:ÎÁ7Ò&}dè8œ·±hy!DE>ćÄÍd^GNù8–x#l{lx]QŹńš!«·ƒ+žS/æ#Ÿp\Àd·ŸR?ȘoĂim^KłŠqš1Až #ăŽy»Ą™źà»G{’)ä€CŽŰä“/‰2JîÒWćŠőš„pægX~\zęËyi-PuęqŚ2Ș¶)‡Œ? Ł|–'ŸČ?TŽÎGi08äZ  Q9‘Șáțüf۞hlW$6Tž  Ńۃ2Ę?űû™öŒ śÇ—ń€Kó`;䜒ß9ßšúDŁ'îâlłŁÄe9Ź<üćcîu,žiQÄh3ÈŸœ°?Š#U·@ô±¶źĂŃ°$aW€Ì,iś#€|jÜ.34PwĘ]űఐ7Ÿ Öi ŠÙI ±CX(^Vi‘!ŒQ UŁžƒ © L‡À<°&żßg<ÄFŸŠ y§@ˆą5q=„ćÌł_Zșźv)SϘÚxz ›ˆž$ü!òLŠVÜcŚĄ,D–â:@Ăhe_“œ~ |©€éx‡kśûy»,ș^ű žûșÉ6Â^Æ8‘îmrl?ĐéÄąă°Ë.H ÖźńKÒ\Qš‚Č—;Cö€”C+-Ć“;70Š'ǟăŠ=ò rÇ”áDR­WĐŹ?*R –eöŸ3°4 èËbÁźš8Ë€.Ì,ŹÆ§ä9§wy”ëŹÚäÏ„|?5 ï ?PSbĂâș•Ą+ZKć”çŽ_±Ÿ’ĂÂTr“Ćî#öUGwÀžŸÙűĂŸ°$aU[VŽVü” Z0őčx±ÄÆęj‚˜F»Dhó<™0đƋrő$ì…țČCŻes‹ÏÆbńD?sr “D!ù j‰)>Tńü§Ź8ÿ1æćÊDĐíÌĘF1!Żë^JÄr!Č1Q!žțžOÁ'KąùœÆY‹?–‹Š?H—•}Œ€Kș€śÁ‰œ ÖД ™…g.ÌΚ@ž_śH;8ąę[QŠčÈĂìTłDșUyUő#ÎJîes °ÌȚ5Ùf~û'ȘIܱɧ•„_ÛXêI—›4'é^ïôš͑‹•¶ŚKű;DR_‡ÿș ÒÙoADęóĄcŻ}bÿ5ț1†1QB5R6rS>Bn.Ń]™\B”Eßà~"-C-~š_5††2’*{Î?x5Oűę!0\ê‰}§~ ó Pąj;‡Wę]&Z1zgÈđÜć\î# ±rČSv•tăć–7ɇŁŽ~űă~ɈqK^EäGÎÔŸŃœkæ"”—©đj]3œ­ȘWŰíìH™MnòkRŻS‘Y“[]ÛgöœÔ§”rÏ}žÒĄíôű‘Q@Џ;P™)Oʟ)Ą4ĂLŸq’ïÆó_&/p8O™ôŠL.ŻŒÄᗹZR2ÄŒ?ČAD°âœ°jT»x!…»Œ_Ș8„t‰5jv©–ĆpšÏéÀ 0ÿäŹBû5^dÎmì˜ż,·(òRlW_‘˜YŰ8òeüü)œ™”Ù”/- §’†æ`ZŐìĘòÓÇ}"B>ƒšŐìCQ#Œa„–Mù_Ćs~čâÔ8Ìț·Wą Š ŽYoŃâéæË͎Ÿì^b?‚7yMY WӛEüÛr0€{jQŽrÒw·Ć3SLxŰlˆčÖIôFž"Íá!„8wàW‘a0Ă·eĆb„ł_‡æăƟ>p]Tn.Ąh˜1 WÜÛćűŒ…¶‹&5*Ș~[eäj„ș@EŰ(wÔ^ôĐŁ˜Š­ìő‡”É”ípGŁ îv‘çUUÂ}r3Ž5­Çù}f€Ë§è9ù$«^4Ò4˟T!ƒ›jNfP±Ț55Œ ¶”JÓYŰ[4• -â{ćà\ȘæéÖ *Ș¶çá虰ŒUUÚK‰ű°«źEđĐđ/ÙsŸëą‰ž,LJ^»&d=ŠÜ—M”˜Ń-š•ŠËj 6>‰ÒHŹúÚŐëo#R|mš¶ä|Âó#[ÎIÔˋ‰ Ą·:ž}_”îÖgaŽŠ»`ĂHĘRŒ#Á§q”û>Îò`ö'Ëîh<-á(ńIΆ§cż`˜áÆzïà¶ù | ›ÿŸżpƒ6DÚÓOÆÌă9”«”ńŚđ©ÈŚK†WßŐŹĄvX€֙ĘôZ†ÊKvč.XKgg}Aœ–Âpțüÿr#wœÁël_Aúßž>­đŰ3Ž1ąh§'#Fa¶Qśü zgă„À.€ÄÎȘ€Çá; ::•JÏԅœ‰8 -’LT, 15~Îćęí )ąâ‹çžŰï…Uàè2ÿźß ĐČæaŹŃș]Úͧ0*ŒYô-±À Œ)Îj;"qšŒÍɃÊ KÉÿŒS#Œ~z[ršű›ž^ó4ê㌠rù ±ÆäœWÀvȝQö3{LBæ\^†Z(8śüÇpĂśàŚÖÌ6<êŒ!4fj ‘F%Ń ϔûö듘rŠ#+c,{ƒŠ~‚çțžNYÍÿ,ë@ŒnLÒršIzîy‚»ÒYGŽû/Éú›= #@”‡o ejuWj”z§É·¶Äč['Ś‘Ûydq.-`‘ßšŹ4ęÂL@èÙ&ą„ù„Awőźq`2nÇkńù­»ń0ƕÛE;$ê w#+€ÊŒpőü)}ÂCۇû7 ’ÆMIkUæB ['M8tk·ż@mÇŚ§€ËrŐżSːŽ\ì>·žÍdĘÀúčqȘ đÎüùz!7Sﶻä~î ˜(Æș;]Wôí°Çn)à• Ą„I3ń șHęáît9!,[CĐfï ÓcĘńÀ>g ÔécYr™çcd™ò 4­Dg!ĄŃÀôqągëòïŽÉ° ÉÆQ=ÉŽ‡őJšl MÂ5Đ"8çHăî&öśč Čc­êÇiŒÖÊbź»¶z@‹ *Ś ;ŠŻnŚc^NGF>îòÀ»Dû̧Ë0Żrł™ž”ĆŃČ}ÂìV?íˆćŠ]Ÿt-șœfút]m[ęv Ü|Yőa{ìŃn:Ј’j0òÓSŚäfKŁKu«ìò!#Ô.oÛ'wűÈ'ŠFǖÄl ”„ŠŸ†æŸiƒAęïÆšŁö0ÎežćûĄˆ“óæîH5ô=ź”;„ŻÉÍpAÁ‰Œ;ęN]zNoÜ@ÆQŒę FÛœ8Ÿá7Ȏ–àƒíȘń(Us"vy/č"f`šĆ9¶šwŠ©+‘Ú őŸXkÚăI«-RA”˜=oąA& ĄT™]’A[Ÿ&€h=ÍÄéYÌÜ6œˆäVŁJA]>ûXDUX%t‡vGé?Ï0Ą »aĄY‚Dì”XżBü>ŹBÀ»«ÇgńÀ]űÛœR?wĆ@ü֟Eu°ßFE{Ćá1qEÔcÚ(hnć@MhŒ­dÜѱxőđ6ӌ)o…ŸìĘś»ëóS=ăú}sC*"Śÿë rmyĄ­nčm„ž9._»fÍ-3œYq8ꁌS‘nlǜ~8aÔa2RzŠÂTŹšÿŹ‹{~7Cëäm”q^8æœMGtźÊ(LƒńÜOąÏ ‚zGÂ\aÂË ÁŃ.čápfĐĄCéșzŽ°•h3Č€ É@Hœ'źÇ‹%]sœˆYî(č›;Đ‡§š‰",Ł– Ìźúï·Á@ȚûœÿȚfDf‹]‚=tź B@E°œ»OëRM̘AJÀ“áÒè-©S«ÏOHUїBÁ·ZŸÍtÉ4]V4ËÊìĂök»Ú¶‘vŽÜ l-c斶:gAŐAì+‚ Č5#"58(˜«p|«ržOKŻLâœłéXBF„Æ~^D†‡>‚Ł-€xD-Ș UÊ=ńjű„‚açÛŁŽ!i#j Â<üln~űä1ÇżL ȚÆÖ§ ‰KežÈłÒۈ`Yžș„/Żn’#Ő(Š3·Eż0©ĄŸÓZÊÒó słśł/Jô ŃÄŠ%#„AueÚu‘ «‘-úvŐPă !€žZvé„Œț“Ü[ć:~ϊăÇ}ŰâʖEĂźżȚŻțD(ű“ô—n^ŸöÄCȈfŚ.ȚÓÔŁÏÎęN 1ő-ÀÂČȚzłIŐ0ö™úŸt#ۂOteg1»ˆeÄ!çá}ăjx’ŠŠtäsŐŸeŸSŠÍĂöiŹ04ÂĄÚ­_pečíAá}Ș5ŚŐoA8ŽHűb–qÔE!ë±ˆiP)ËÂŁáK㠂Üq‰à_k€XĐ šĘ”7s•yZ|ŸMÉ>q7cjăĂĄ}ŒüΟOż|'”Șv ÿŒâČ?™$™‰üïւPzšfC놻ę|FR‰ïaj ŸCșÎÎÇŒk+ąh8*ęĄ ŃńBĆïŽ2±ËZîÜæÉOâĂ,ç5Sè#lżWÿĆŃF‡ù;EgYÁΕ s‚’ŹśˆÍćĘl¶ćÿŸjIžé€‡ș,Úă#ò€ü …òĐcü̅=őČ«ŠÉ˒Ń{LÁ—~‰Ïmș ÆĐí€!Eț⌱HìG^ê#ˆ™{­ÊțÿĆEBŽ:Ÿ–œÊw@!ìRìRŐ&áćzę äD8Ko럙Żp{”/aßa5}Í…Yć9’m—đ1m»:C«[­Őyș΃2lÔPV(ČłśĆ4kÛ;ôkQ}›4%šXEQ%É%ĐĘ­v0›‘ëPĂ}ËƱvx—”FÌ3Î)âæM«k Ă}¶éß YZ