í«îÛvzkernel-devel-2.6.32-042stab111.7Ž­è$>èì;6í¢Ò P Êh½Æ¢i±ì¸š>ÿÿÿÐŽ­è4:ß?:Ïdèéêì %í iîÔïØñôóøöø ü(ý?þEJt+>¯l+> è+> \d+>  \+> @ú+> l@+>8+>ñn+>ɤÉÌ+> vÄ w  w< wÞ( x8 x 9 €€: ñ*>3ʽF3ÊÅG3Êì+>H4wä+>I5$Ü+>X5PY5P0\5P”+>]5ýŒ+>^7s& Úb:þd:œe:¡f:§l:©z:¿Cvzkernel-devel2.6.32042stab111.7Development package for building kernel modules to match the kernelThis package provides kernel headers and makefiles sufficient to build modules against the kernel package.Uà9ßkbuild-rh6-x32.eng.sw.ruˆ‹Parallels, Inc.GPLv2System Environment/Kernelhttp://www.kernel.org/linuxi686if [ -f /etc/sysconfig/kernel ] then . /etc/sysconfig/kernel || exit $? fi if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ] then (cd /usr/src/kernels/2.6.32-042stab111.7 && /usr/bin/find . -type f | while read f; do hardlink -c /usr/src/kernels/*.el6*.*/$f $f done) fi³.à1I 4¶4«~LzKÒ ýKŽŒ«Y [)  .õ ¾ªÆoUó¤º/± dý`‚¤-@ ·ý)WH‘U=‚îUd°ÖÖ%0+aU¦YWTº¯T>/9và8'9ØÖT=œo…Uø[T÷zÕ°V¦™T>&U ú‹†hT oÁT´[T* ]òUàœ,éW] jV ÍeT¿X,w Î èÉà}U…É øo9Ê0 0€ #+gkƒ8 ¬8V¦žYTYT 7d‚tÅU"Â6L v<#¿4hrƒßY91Α§Îsyñ9ãk /™> ÅÐ2M>6#å&ßv· “t×#E1Ê=++¤H¬cÓHvÉAHc Hl kH®bàH*—ÁŸjÉ‚M1A5 ›-W6\„¢i$5aÅ„„\d¢ à-ߎ<=A–s%d, ŠuÑøæ¥ Ù¡“cþ»rrq<B<oAAHÛˆ M#%cê׈N›Ø4«2K;5RJdÛˆC{Š&×{•º+ ™ LJÊ; m›X²W^5e†–ÔÝPVV¥¦c~=Hø¹íÇv××ÓÖßÔÍÍÐÖ ¿Õ¼0Ó(R <¼å×ÄV w..ËäÌ^H Äñ˿Ŋſ¸yU°‘ùÖ±Ká ˆý¯<Í_w2Xib•Ô… †$sTM»Ýd(äK5Q*KSY Ú^ž/šH_XÍ"U†‡q² tòd778 ˆašXk“ ŸyU„ÙHDVö#ˆŠc`ŒÎFb$é 2=³€1¾òˆ>»¥›ÌJÂÒßïs e¡ î Ô+$3 ’äÛöˆþky,e,Ç–¥ggÏÌ £–¬9ÐÊ *H`ü-ññ|¦kqqÁì߃éœ] rçŘLº gм©bcñVå+žB_|qÊ=ÐXðB)Ufaff¬fUYf QÛ¹ô<$ä :û¼‡Tê°•Pv•`8Çî½ ÏöÁê3 Í  #ä’ÚŒ!ào1!äuJx ëË"€ „ Â;¾ÔÖꊘÇQ|?k$ð 1 SäL0"˜µÄº>;ÔŸ:±,åºÏ+R&D+”3«åù š  ‰,Õ ”ÜV/åT%æñ÷¯&RÝ¢!üÞX’ X\3p :@|b%Õ› Pø®R) } Px¾¿ø t ówZ,Q å$Z”0+\œ €æÌõÝòM®éò3 ól ò¿|¥ígcÄs©úOÅ/åhóÕÛ ®ñ!¶© ïZ!÷ ëªc2 §*Re\Ï ¿ïEÕ!±ƒPÛ Ói B ;N É 2[äwõafxZf'…Ng ¯ O<g÷Žë ¸¾Šl?Á ŸvÜB+€Ü  ß¾êH†cãMeaL‚ (" »±Tõ€t» ”M šÎ” Æ!’3 ! ¿—J X aR¤aTe+ ¾‚ vhC t5虼"!!?­ï =R~ +o‚çB¥ôoS2È.`6¦E‹´ Û`T†‹e:à á úI <x ¾OVÔy`Ö<– \Y î©ÈTIÇwvæ>£’åE[cÿÿ½V#|@ª$QÂ*WO‰= C]ÊöTzÑ©•ÔHLa 0ûim ˆŸ2€ iÅ93œnŽÇL¬78bØœ,ÞŸoIBÂÚîér2Ë‘vV§Vë¡}a[%!} W Ùð¶6ŠÑ¤([kºÐW`§rçô6>No®]$q2– Œ¼ˆÃ? õúñ <.3~-æJÉ147% îæV4T(© jx‡~Ï |üì^È Ké"y—ÜKVMXÖVì¼'Õ`>£è!ýÇn‹bq\6à}>Ÿï²2+DXë}cØF1(RÜ›1›_&ü:#^¬Ñm ¹7:ìˆÑG¿ÕRªæ{_—®ÂÕvýnã2s £9P%<…²îãq% žõº$6Bµª6B o%Ú™žè’» ZTE“ôÔrè0 ¾ÁzF­ Â{èsn¨v$ªÄ‚ g7Hݽ*a¨""I¦…hYÃSí]Ã!¸ Ûpï­ÌQi- ÝÐræùÇ ûŒ*bæ¡#'ôÌøZÖ Hû²Û™‹q épÁ³Æó6f "Õ3*»Ÿ$¤y©[Òª ßÇ<ôÅqÆg}L*KÏ-˜!ó/u¢¿Já o=ýX N:. ì ŒÊLj%ჅýfÈUd;À¦2øß÷+ý‹›Ñ*±mMB±µ¤r1ÿ¤]Î4ìWpS6pR \Úv£[³^u…º 1¿ÅL)±¡úÏ8aºÍ?*Løp¾>‡&ÿD2šËt Éň; ¦´ÿ zÔG†tj®øM êÞ•œûD‚X¿Ç*V]ocˆÒdÅݵ ~ë+?ÙKzJ&" ¾OFkÍ+ÎÝ$¦\lp|1Røt :(ë¬]}0cˆOë  a¦É°£ „ßYjsØDFÚð FüÛ$¤dîBT ¹v$[} ~ 1„•Õ뚀ô¯¦½HÌ£;bê:ŒCí ¡Æ—=‘-;bsZÛVsÝE¶)u4ßÂm Œ ¨®´¤§d0jˆ ìëDÜùuEŒñW Úv‘CyÈ| „ ã>C$ûDý®¶ {C™ñCÙûÿ΀υpÓóV ñï=¸$<¦]­ï‡™ %µ¥øT18cs;$§d ãÏ ¥õ–J‰#€l PÞf‡ 7ÍÃË "2Æòæ+Êè´ÃvvøöÇ þ V1Ü š+D Ð.$Ωú/ó,@³eY#†ûRŒÆçsñ.- ó$Ù¢ç\|õ0@î$ÿÚâqÖ%g {5I ÈF, ×ÑjäYœ–Y PÙÕõ[{ ¸ŽÑ ~è9é¥íð#Áï z Ž Ç¨lÔ‡ŒBà ™á e»©èIJÛ٠Ȉ ö ¨óIý <* l/oEã” ]VBŠùª2¦¨"î" àx" å·û8ÌOK×Õ_¦½`.Ý¡&‹gOñ$Y6jõJsè ¸ 4>îo.á UåÒ³p³.<Ò [û$^a § ?z “#Á #EëÎÛ˜ ®¸ 1ž @ õeeÝhï}ÿú¼©­ÀT}7* š±j5zÍÛ CJx=‚¶ µÿu ,w!žüÀ˜ m"é\Wd…ìÛí\+ï ó ‡Aë°ç"Œ ; =4tÊ  Ò9ÜÉ Î§" (ÈÉ ^ãk°Ë r o'1µ–(vŽx;IW|¿ýèFyÑ ˆA2õ$™‚ ¤Ç+C/ C@+þg èjcB £ÿÄ Àvš*»v4Ã{)½pö1O·B&Eê¨+mϧ§Ä`lŒ5à¸o\ 2‘7‘üÖüL þN ×eé LG Õ“¥1â€cO:Ÿk§èq¹(: € yE,¡¤ C €0}(2'~ `7êƒ Ó 0Â"ަØ1Tþ—-8í0£Ç¹ W-•5û`f÷º rW¶JgnpL-†4æOÒb= ð n‡ z0çVh> i Ã#qõ’ÃAni5;Ý+À±Eê è(•Ú«)A d;E VLÞ$Ê3"keP›úX¯Ò<Vo()a`N¯ Ç t8Ü Ù  Ît*]@bø"K  v |é ì9®t °* /€Ì»_#q.L¥ „¸i¯M Âhô 'Dt š¶¨ã ©-Mgë O•³ ôÄ(€aÝ·.‹·0 W OÛ£ <2¦óP“Zd 3"Œ=Õ:É"ð*,±zŽš ™õ 0 HHÊZ2-}Õ ŽÖŸOH É“ ô#VC*Yb©prl“á SI¡„M8 ¦9•øÃ&6I¦ÍéO ž'æ êr Ö@>’‘rÕ”< ?\ï€Úú½¯l9-;w ¢Ûž2j û"²ÓMÂ"BÊ’†FìÇŽ)$ŠOŠOy,eÑ õ Ê–T<î)¼ & â<7˜ª9$aÃi m ¿ö’-“VGAö®O£ 6 «0MA ô Œ Ž Rd©·· /11' \Úi÷}&t.í ãA÷Ž zÐŒ~L¯uú7 ï99 Q7ÆT!µ' Ï™b#ƒSž2%.§ ù٠퟇5þ°À Lñ…ô7_°&ˆ3ú ¨dè%Pv<Ô ´üöž0Î0GØþ$ŽPÃQ=Z¯§ š‚üMc¦ ; æÞ·vjÁK¾U+ gî ßU|Ûe*Ü#G NL>c™0 5$Ñš›9Äô/ » (•ÚôæÝ’ ç=`UJŠ(™‹„&£ &î ð^.¾Ì¢r>éÉU6G  71ýõ~Ãh¢1 Æ0\5Ð sÆÙµ 7.'/"µ ÈT—en0Vk¢*ŽÛ(/èp½ õ@ “ÀÕzø N *[•:J… —Qì0‹mØä+b Ë׆.º-† ‹n³”N'– qž34œ<ä¨Pw(%dÊÒä*m <85’ÖLÆnà ÷óW0)èkX’Ñ­™ PmÐr »ÝWÓ oÙ Ñ™à!6œ ñ ‹ñƒë -‹Ü7C ŒeO+º%e1²kýiIf »£D øh  2†Dt/feèv¹' ! z Æ ÕËA7ôšáîz—nFÞ1O¬BÙ1°ÿƒe µ¤~c}éžb‡Þ’ 2}O@ùÛL Y¾£÷·|5!»# ´5¥ÅQBÊ1'¹¸ß!¸‚2qf K #íÕ8•1Ã&ìX \™‘¸^ Õ'¶GNHžy8fDb'] ºÏÜ} !J ¹bL T: e– €*~õ]¦Æ  ! STX} Í Ö9 É?ƒ*šŒ a/€ýrL'áF ¬Ìþô– G½“žŠ9ÿÈ Õ?Ó NP(›^ö’°ŸçÛ!©»k‘Î D+Xz å*’¨±7 ­'£Hê6! ?w¬Í ƒÿ$M*‡ {¸„Ì\^#uUîhç‡A: .©%pÔŽö=2M K Í¢c òhëŶÿW ý) « S á ¨X5PÙ1g= 9^)"£&-S¨ŒSb zd±U.Û;,6÷ p UâN3äØ#‡¸•‡Ä‡|nj¤iX=Q"µ†U Þ/™é*q6Õo)!vCg45  ù ÛZ êRÕÏ  S3:'3‰oØ aZ9 _#³UÍÙ v†íÃw¢¥f;Ÿ<' ˆ3½¬@ ‹Óìÿ E¾*óc¿1Uâœg"’.Þ™ Ї)½é8¸ÿ08|Õ)!,ÌÔh áúIÐ µì4¥,b׋ۜ—™€o}B @<«h–*½1 # kÐF ÝiH&s?Ê(J]za°'›O³^|U ìsÝ%» t´,·Ì ê¾ëB"Å8)s8Ïlkª0¸ –â 7/§X §˜BÔ¯ ¬$x™Ÿb‡Ö*e!ˆ` úì#E ¡ˆE;i‘r¡d_ÈÀA3î#[ Í—x ½%ª8&ˆ«FÆñ×)?‚;æTÆ µ`¦$D Sï7¶Æ%Iš¸ Æ z 7X; …“ËíQí=Q ¡¡5d/”Cí&0å +sÔ:†!¶)ˆ¸ Ã\_¨7 »a5R1ç , t]  »œ=e$(7¥7' >ò ¾ÿ'B)HŽÓ˜p¢NcKCdÌuK !˜‰2 ›#%AEúeM $1ñ} + ¶™zê_ç ¥ãõ!p×ò B‹a!Õ þ–à[û”û Ç  >K¢ÿ"•}÷S¶ ²3¹?'ªþ U²*fv!O‡34 Z `)X± ?ê…'tÌ ßŸ$éN\ó>gSéZ9Ú•º¬'j³FQµÆ â!%´ Ü*¬ ‡]/wÿøG§‚&}(Œ¨[u’< Ç)Lï#y"òEŸb˜Ð9 O±-û ªVXX& *î*ºu-ÛÈ& #9‡† ­³«à© «R0õÆ ³~­Ž~$’; {– lÜ ²¹°· nå çÅ­(>ŸDÜÒ í’HPq£Áüà‰žŒ5عj@ ß‹$Y 52FQI-œ¦Õ12:[ M#í:ÑS > øÂó _caó‚jÍ\fH5Wd3*¸ Úµó¯…”ÙÊ+P/ª%fB²­ $ ô9Ó¦%©5œ €ž ×$%„K oZ‰é Œ> ~Ü®AÎ'£ ½1ïSæ¡"*6tQgì\$ +˜~/Î ò6V‹—gÆ!cÑmé6}")L¢sZ(Ûy³ ÍPì„ Î ? Ý› ; zjà f1§fo• Ž¡µú Ô, .ê g º 2Ù€BÑ`Iãåw… 07Â;á W>oK\>"-W( ª'\=I~k¶‡GZ ö¢ž¤ 4øT$Ï1Š Žo) ×]ML’b‰ 3a4ò¿©) ‡*.4 ¼‹ôxð=«J‰#×&µ? ` ´µ(o`Ò +ï,  Éð8ÖÝ«Ài€4ª -ƒ ÅŸ€i!v !šªAÓÏ„ƒ¡¨' — ü¯ Âõe/-`ö‡DЗ b'Ô º¦`ˆ“t’y[veoæŸXãPr¿ë«¤(Š< “Û_Ū¶f”#“XÀ/U ­CýjT Ú™ 9÷Ëë€8XB…øà"H‡Bà[å&ÞºFOç#m}G¬®DDþ)ªDJ‰ P4ò ŒR¡L€ð«J¤p -;iAÝ/ÉU’ùY&9̦¤/• î óÕ"¿ ‚ ‹Ö&Ä.;h&J P¾Ç¯y÷E×ÔK ¤ ‡xþ¦:7T=/ K䱨° ¡ŒKU0á%ú-#0 Iêá>fL 5 5 ÝÁ3·Çö‘¯%«ü»ðQ¹ öooÂÂæ  ii) Yè+ ã` ô0'H<—x€¬ c)niÖ 40íKewJ šb¥„QäVäVÚ êu (ª+g#¾BÇ X^½5©#7N žB'ª'ªŒUU:9ô}‚, >EF{Jm×" “ Ôç¨6tÒ,É0Pc׫˜Þâ.Ò4aÈð c ['/&˜.¤z8p²òMg7Ì  ª³ b ê #5[‚ ÷¡’ÃCù í` è§§6¨uô ]ys‘þkí m{d5eIŽ’geg}‹ec°Õ©ÃT‚£=~$bÊvæ-‘–Ƕ &:Àœóº¸P¬ Û©èÊ€Y¹xý¹ÐMr)È\"±Õ½WıexJ6Ù ÃÕvÕ¶ ÚtL %µ@nL¬‚þ>P œn! UUAê9EW¦D˜k;Œv  œE¿:Ë&pjd”dddÞ8{f öÔÓ¢§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í¤¤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í¤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í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í¤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í¤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í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í¤¤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í¤¤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í¤¤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í¤¤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í¤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í¤¤¤¤¤¤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í¤¤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í¤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í¤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í¤¤¤¤¤¤¤¤¤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í¤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í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í¤¤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í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í¤¤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í¤¤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í¤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í¤¤¤¤¤¤¤¤¤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í¤¤¤¤¤¤¤¤¤¤¤¤¤í¤í¤í¤¤¤¤¤¤¤í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í¤AíAí¤¤AíAí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤AíAíAí¤Aí¤AíAí¤Aí¤AíAí¤Aí¤¤AíAí¤Uà6›Uà3£Uà3£Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3£Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà0íUà0ÑUž¾„K5¹K5¹Už¾”K5¹K5¹Už¾jUž¾nUž¾-Už¾’Už¾•Už¾›Už¾|K5¹K5¹Už¾xK5¹K5¹K5¹K5¹K5¹K5¹Už¾{K5¹K5¹K5¹K5¹K5¹K5¹K5¹Už¾VK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uà0ÑUž¾bK5¹Už¾Uà0ÑUž¾ƒK5¹Už¾{Uà0ÏUž¾ˆUž¾ˆK5¹K5¹K5¹Uà0ÑK5¹K5¹K5¹K5¹K5¹K5¹Už¾zUž¾pK5¹Už¾™Uà0ÑK5¹Uà0ÑK5¹Už¾'K5¹Už¾7K5¹K5¹Už¾ˆK5¹Už¾eK5¹K5¹K5¹Už¾vUž¾-Už¾oUž¾”Uà0ÑK5¹Už¾›Už¾‡Už¾kK5¹Už¾›K5¹K5¹K5¹Už¾>Už¾>K5¹Už¾>Už¾ˆUž¾šK5¹K5¹Už¾K5¹K5¹K5¹K5¹K5¹K5¹Už¾™K5¹K5¹Uà0ÑK5¹K5¹Už¾€Už¾…K5¹K5¹K5¹Už¾ZUž¾‰Už¾pUž¾žUž¾Uà0ÑK5¹K5¹Uà0ÑK5¹Už¾\K5¹K5¹K5¹K5¹K5¹K5¹Už¾žUž¾"Už¾)K5¹K5¹Už¾Už¾“K5¹K5¹Už¾jUž¾jK5¹Už¾hK5¹K5¹Už¾K5¹Uà0ÑUž¾žUž¾šK5¹Už¾šUž¾šUž¾_Už¾iK5¹K5¹K5¹Už¾K5¹K5¹Uà0ÑK5¹Už¾ŸK5¹Uà0ÑUž¾1K5¹Už¾žUž¾yK5¹Už¾'K5¹K5¹Už¾•K5¹Už¾•Už¾[Už¾žUž¾kUž¾“Už¾-Už¾)K5¹Už¾yK5¹Už¾}Už¾aK5¹Už¾gK5¹Už¾eK5¹K5¹K5¹K5¹K5¹Už¾bK5¹Už¾€Uà0ÑUž¾fUž¾>Uà0ÑUž¾€Už¾fK5¹K5¹K5¹Už¾jK5¹K5¹K5¹K5¹K5¹Už¾,K5¹K5¹K5¹K5¹Už¾OK5¹K5¹K5¹Už¾iK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Už¾kK5¹K5¹K5¹K5¹Už¾AK5¹K5¹K5¹Už¾\K5¹K5¹K5¹Už¾AK5¹K5¹K5¹K5¹Už¾‰K5¹K5¹K5¹Už¾)K5¹Už¾)Už¾eK5¹K5¹K5¹K5¹Uà0ÑK5¹Už¾ŽK5¹K5¹Uà0ÑUž¾•Uà0ÑUà0ÑUž¾ŠUž¾aUà0ÑUà0ÑUž¾zUž¾…K5¹Už¾jK5¹K5¹K5¹Uà0ÑUà0ÑUž¾8K5¹K5¹K5¹Uà0ÏUž¾EUž¾bUž¾Už¾žUž¾'Už¾žUà0ÑUž¾}Uà0ÑK5¹Uà0ÏK5¹K5¹K5¹K5¹K5¹K5¹K5¹Už¾ŸK5¹Už¾wK5¹Uà0ÏK5¹K5¹Už¾9Už¾9K5¹K5¹K5¹Už¾iK5¹Už¾Už¾Už¾’Už¾Uà0íUà0íUà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3£Uà3 Uà3 Uà0ÑUà0ÑUà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3£Uà0ÏK5¹K5¹Už¾„K5¹Už¾ˆUž¾oUž¾•Už¾“Už¾“K5¹K5¹Už¾K5¹K5¹Už¾‹K5¹K5¹Už¾Už¾YK5¹Uà0ÏK5¹K5¹Už¾YUž¾ˆK5¹Už¾hUà3£Uà0ÑK5¹Už¾˜Už¾˜K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uà0ÏK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Už¾ŒK5¹K5¹K5¹K5¹K5¹K5¹Už¾IK5¹K5¹K5¹K5¹K5¹K5¹Už¾yK5¹K5¹K5¹K5¹K5¹K5¹Už¾GK5¹K5¹K5¹Už¾’K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Už¾…K5¹K5¹Uà0ÑK5¹K5¹K5¹K5¹K5¹K5¹Už¾pK5¹Už¾€K5¹K5¹K5¹Už¾\K5¹K5¹Uà0ÑUà0ÑK5¹K5¹Už¾K5¹Už¾šUž¾šUž¾šK5¹K5¹K5¹K5¹Už¾…K5¹Už¾…Už¾œK5¹K5¹K5¹Už¾yUž¾“K5¹Už¾tK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Už¾“K5¹K5¹K5¹Už¾hK5¹K5¹K5¹K5¹K5¹Už¾'K5¹K5¹K5¹Uà0ÑK5¹K5¹Už¾ŠUž¾zK5¹K5¹K5¹K5¹Uà0ÑK5¹K5¹Už¾”K5¹Uà0îUà0îUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà1ƒUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà3£Uà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà1ƒUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ìUà0ÑK5¹K5¹K5¹K5¹K5¹K5¹Už¾ˆK5¹K5¹K5¹Už¾ŸK5¹K5¹Uà0ÏK5¹K5¹K5¹K5¹K5¹Už¾ˆUž¾™K5¹Už¾ˆUà0ÑK5¹K5¹K5¹Už¾ˆUà0ÏUž¾œUž¾œUž¾œUž¾K5¹Už¾WUž¾œUž¾œUž¾œUž¾œUž¾œUž¾Už¾œUž¾œUž¾œUž¾œUž¾WUž¾Už¾Už¾Už¾œUž¾œUž¾œUž¾œUž¾œUž¾œK5¹Už¾fUž¾œUà0ÏUž¾Už¾WUž¾œUž¾œUž¾œUž¾œUž¾Uà0ÏUž¾œUž¾œUž¾œUž¾Už¾Už¾WUž¾œUž¾œK5¹Uà0ÏK5¹K5¹Už¾xUà1ƒK5¹Už¾K5¹K5¹K5¹Už¾Už¾|K5¹K5¹K5¹Už¾‹K5¹Už¾œK5¹Uà0ÑUà0ÑUà0ÏK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uà0ÑK5¹K5¹K5¹K5¹Už¾zK5¹Už¾“K5¹K5¹Už¾ŠK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Už¾|K5¹Uà0ÑK5¹K5¹Už¾mUà3£K5¹Už¾uK5¹K5¹K5¹Uà0ÑK5¹K5¹K5¹Už¾ŠUà0ÏUž¾ŠUž¾ŠUž¾ŠUž¾ŠUž¾ŠUž¾ŠUž¾}K5¹Už¾’Uà0ÑUà0ÑUž¾zUž¾K5¹K5¹Už¾”Uà0ÑUà0ÑUž¾K5¹Už¾xK5¹Uà0îK5¹Už¾7Už¾kK5¹Uà0ÑK5¹Uà0ÏK5¹K5¹K5¹K5¹K5¹K5¹Uà0ÏK5¹K5¹K5¹Už¾+K5¹K5¹K5¹Uà0ÏK5¹K5¹Uà0ÑK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uà0ÑUà0ÑK5¹K5¹K5¹K5¹Už¾pUž¾zK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Už¾ƒUà0ÑUà1IUž¾uK5¹K5¹K5¹Už¾zUà0ÑK5¹K5¹K5¹Už¾‹K5¹Už¾FK5¹K5¹Už¾|Už¾Už¾Uà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUž¾ƒUž¾‡Už¾•Už¾ŒUž¾gUà0ÑK5¹K5¹K5¹K5¹K5¹Už¾K5¹K5¹Uà0ÑK5¹Uà0ÑUà0ÏUž¾ˆUž¾“Už¾Uà0ÑUž¾zK5¹K5¹K5¹K5¹K5¹K5¹K5¹Uà0ÑUž¾K5¹K5¹K5¹Už¾YK5¹Uà0ÏK5¹K5¹K5¹K5¹K5¹Už¾qUà0ÑUž¾“Uà0ÑUà0ÑUà0ÑK5¹K5¹K5¹Už¾NK5¹K5¹Už¾eK5¹Už¾&Už¾lUž¾“Už¾Už¾“Už¾)K5¹K5¹Už¾}K5¹Už¾–Už¾’K5¹K5¹Už¾nUž¾K5¹K5¹K5¹K5¹K5¹Už¾ZUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑK5¹K5¹K5¹K5¹Uà0ÏK5¹K5¹K5¹K5¹Už¾_K5¹K5¹Už¾^K5¹K5¹Už¾OUž¾K5¹Už¾uUž¾›K5¹K5¹K5¹Už¾…K5¹K5¹Uà0ÑK5¹Už¾AUž¾AUž¾8Už¾‰Už¾œK5¹Už¾ŸUž¾žUà0ÑUà0ÑUž¾|Uà0ÑUž¾pK5¹Uà0ÑK5¹Už¾€K5¹K5¹Uà0ÑUà0ÑUà0ÑK5¹Už¾_K5¹Uà0ÑK5¹K5¹K5¹Uà0ÑUà0ÑUž¾xK5¹Uà0ÑUž¾œK5¹K5¹K5¹Už¾_K5¹Už¾yK5¹Už¾~K5¹Uà0ÑUà0ÑK5¹K5¹Uà0ÑK5¹Už¾ŒUž¾„K5¹Už¾†Uà0ÑUž¾wUž¾K5¹Uà0ÑUà0ÑK5¹K5¹K5¹Už¾zK5¹K5¹Už¾zUà0ÑK5¹Uà0ÑUž¾†K5¹K5¹K5¹K5¹Uà0ÑK5¹Už¾“K5¹Uà0ÏK5¹K5¹K5¹K5¹Už¾œK5¹K5¹K5¹Už¾”K5¹K5¹Už¾^K5¹K5¹K5¹K5¹K5¹Už¾*Uà0ÑK5¹Uà0ÑUà0ÑUà0ÑUž¾{K5¹K5¹K5¹Už¾K5¹Uà0ÏUž¾}K5¹K5¹K5¹K5¹Už¾_K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Už¾.K5¹Už¾#K5¹K5¹K5¹K5¹K5¹Uà0ÑUž¾ŠUž¾K5¹K5¹K5¹K5¹Už¾dUà0ÑK5¹K5¹K5¹Už¾”K5¹K5¹K5¹K5¹K5¹Už¾œK5¹Uà0ÑUž¾‡K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Už¾QUž¾7Uà0ÑUž¾3K5¹Už¾DUž¾qUž¾qK5¹K5¹K5¹K5¹Uà0ÑUž¾zK5¹Uà0ÑK5¹Uà0ÑUà0ÏK5¹Už¾™K5¹K5¹Už¾”Už¾WUž¾|Už¾‡Už¾VUž¾šK5¹K5¹Uà0ÑK5¹K5¹Už¾’Už¾”Uà0ÑK5¹K5¹K5¹Už¾ŒUà0ÑUž¾ŸUž¾“K5¹Už¾šK5¹Už¾’K5¹K5¹K5¹Uà0ÑK5¹Už¾vK5¹K5¹K5¹K5¹K5¹Už¾jUž¾]Uà0ÏK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Už¾_K5¹Už¾“Už¾K5¹Už¾gUž¾“K5¹K5¹K5¹K5¹K5¹K5¹Už¾ŠK5¹K5¹Uà0ÑUž¾"Uà0ÑUà0ÑK5¹Uà0ÑUž¾xUž¾ŸK5¹Už¾ŸUž¾ZK5¹K5¹Už¾‰K5¹K5¹K5¹Uà0ÑK5¹Uà0ÑUž¾uK5¹Uà0ÑUž¾ZUž¾šK5¹Už¾‰Uà0ÑUž¾…Už¾˜Už¾ŸK5¹Už¾{K5¹K5¹K5¹Už¾.K5¹K5¹K5¹Už¾ŠK5¹Uà0ÑK5¹K5¹Už¾”K5¹K5¹K5¹K5¹Uà0ÑK5¹Už¾”Už¾[K5¹Už¾Uà0ÑUž¾“Už¾CUà0ÑUž¾ˆK5¹K5¹K5¹K5¹K5¹Už¾ˆK5¹Uà0ÑUà0ÑK5¹Uà0ÑK5¹Už¾qK5¹Už¾ŠK5¹Uà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUž¾Už¾|K5¹Už¾|K5¹K5¹Už¾Už¾UUà0ÑUž¾Uà0ÑUž¾`K5¹K5¹K5¹Už¾™K5¹K5¹K5¹K5¹K5¹Už¾ƒUà0ÑUà0ÑUà0ÑUà0ÑK5¹Už¾|K5¹K5¹Uà0ÑK5¹K5¹Už¾Už¾‡Už¾‡Už¾‡Uà0ÑK5¹K5¹K5¹K5¹K5¹Uà0ÑUà0ÑK5¹Uà0ÑUà0ÏK5¹Už¾”K5¹Už¾{K5¹Už¾2Uà0ÑUž¾Už¾…K5¹K5¹K5¹Už¾yUž¾ŠUž¾|K5¹Uà0ÑUž¾fUž¾[K5¹K5¹Už¾wUà0ÏK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Už¾0K5¹K5¹K5¹K5¹Už¾ŸUž¾šUž¾FK5¹Už¾K5¹K5¹K5¹K5¹K5¹Uà0ÑUž¾ƒK5¹K5¹K5¹K5¹K5¹K5¹Uà0ÏK5¹K5¹K5¹K5¹Už¾‡K5¹K5¹K5¹K5¹Už¾šK5¹Uà0ÑK5¹K5¹K5¹K5¹K5¹K5¹K5¹Uà0ÑK5¹K5¹K5¹Uà0ÑK5¹Už¾~K5¹Už¾…Už¾@K5¹K5¹K5¹Už¾“K5¹K5¹K5¹K5¹Už¾™K5¹K5¹K5¹K5¹Uà0ÑUà0ÑK5¹K5¹Uà0ÑUà0ÑUà0ÑUà0ÑK5¹K5¹Uà0ÑK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Už¾‰K5¹K5¹Už¾”Uà0ÑUž¾–K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uà0ÏK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Už¾€Uà0ÑUà0ÏUž¾}Už¾vK5¹Už¾}K5¹K5¹K5¹Už¾}K5¹Už¾{K5¹K5¹K5¹Už¾hK5¹Už¾pUž¾qK5¹K5¹Uà0ÑK5¹Už¾Už¾Už¾`Uà0ÑUà0ÑUž¾yUž¾yK5¹K5¹Už¾?K5¹Už¾Už¾wK5¹Už¾#Uà0ÑUà0ÑUà0ÑK5¹Už¾pUž¾PK5¹Už¾pK5¹K5¹Už¾‡Uà0ÑK5¹K5¹K5¹Už¾wK5¹K5¹K5¹Uà0ÑUà0ÑUž¾uK5¹K5¹Uà0ÑUà0ÑUž¾ˆUà0ÑUà0ÑK5¹K5¹K5¹Uà0ÑUà0ÑK5¹K5¹Už¾EK5¹Uà0ÏK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uà0ÏK5¹K5¹K5¹K5¹K5¹Uà0ÑK5¹Už¾QK5¹K5¹K5¹K5¹K5¹Uà0ÑUž¾AK5¹Uà0ÑK5¹Už¾YUà0ÑK5¹K5¹Už¾K5¹K5¹K5¹Už¾˜K5¹K5¹Už¾ŠK5¹Uà0ÑUž¾K5¹K5¹K5¹Uà0ÑUà0ÑK5¹K5¹K5¹Uà0ÑUž¾šK5¹K5¹K5¹K5¹Už¾”K5¹K5¹K5¹K5¹Uà0ÏK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uà0ÏUž¾™K5¹K5¹K5¹Už¾Už¾K5¹Už¾ˆUž¾ˆUž¾Už¾”K5¹Už¾K5¹Už¾Už¾K5¹Už¾”K5¹K5¹K5¹K5¹K5¹K5¹Už¾K5¹K5¹K5¹Už¾K5¹K5¹K5¹Už¾Už¾K5¹K5¹Už¾ˆUž¾_K5¹Už¾K5¹Už¾$Už¾{Už¾!K5¹Už¾‡K5¹Uà0ÑK5¹Uà0ÑUà0íUž¾Uà0ÏK5¹K5¹K5¹K5¹K5¹Uà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑK5¹Uà3 Uà0ÑK5¹Už¾}Už¾}Už¾ K5¹K5¹K5¹Už¾_K5¹Uà0ÑUž¾”K5¹Už¾AUž¾fUž¾”Už¾2Už¾uUž¾”K5¹Už¾”K5¹Už¾€K5¹Uà0ÑUà0ÑK5¹K5¹Už¾šUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑUà0ÑK5¹Už¾”K5¹Už¾Uà0ÏK5¹K5¹K5¹K5¹Už¾uUž¾ŠK5¹K5¹K5¹Uà0ÑUà0ÑUž¾šK5¹Uà0ÑUž¾„K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uà0ÏK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uà0ÏK5¹Už¾_K5¹K5¹Už¾_Už¾_Uà0ÏK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Už¾^Už¾^Už¾_K5¹K5¹Už¾_K5¹K5¹K5¹Už¾_Už¾^K5¹Už¾_K5¹K5¹K5¹Už¾_Už¾_K5¹Už¾_Už¾_Už¾_Už¾_K5¹Už¾iK5¹K5¹K5¹K5¹Už¾_K5¹K5¹Už¾_Už¾_Už¾_Už¾_Už¾_Už¾_Už¾_K5¹K5¹Už¾_Už¾_Už¾_Už¾_Už¾_Už¾_Už¾^Už¾_K5¹Uà0ÏK5¹K5¹K5¹K5¹K5¹K5¹Uà0ÑUà0ÏK5¹K5¹K5¹K5¹Uà0ÑK5¹K5¹Uà0ÑUž¾ŸK5¹K5¹K5¹K5¹Uà0ÏK5¹K5¹K5¹K5¹K5¹K5¹Už¾“Už¾uUž¾ŠUž¾‡K5¹Už¾@Už¾lK5¹Už¾XUž¾K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uà0ÑK5¹K5¹K5¹Uà0ÑUà0ÑK5¹K5¹Už¾“Už¾ŒUž¾Už¾xUž¾ŠK5¹K5¹Už¾“K5¹Už¾“K5¹K5¹K5¹Uà0ÑUž¾“Už¾ƒUà0ÑK5¹Už¾“Už¾„Uà0ÑUà0ÑUž¾ŒK5¹Uà0ÑUž¾ŸK5¹K5¹Uà0ÑK5¹Uà0ÏK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uà0ÏUž¾™Už¾kK5¹K5¹Už¾ŠK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Už¾‘K5¹Už¾“Uà0ÑUà0ÑUà0ÑK5¹K5¹Uà0ÑUà0ÏK5¹K5¹Uà0ÏK5¹Už¾’Už¾UUà0ÑUž¾EUà0ÑUà0ÑUà0ÑUž¾“Už¾\K5¹K5¹K5¹K5¹Uà0ÑK5¹K5¹K5¹Už¾—K5¹Už¾‘K5¹K5¹K5¹Už¾ŠUà0ÑUà0ÑUà0ÑK5¹K5¹Uà0ÑK5¹Už¾xUà0ÑK5¹K5¹K5¹K5¹Uà0ÑUž¾qK5¹K5¹K5¹K5¹Uà0ÏK5¹K5¹Už¾K5¹Už¾zK5¹K5¹Už¾„K5¹K5¹K5¹K5¹Už¾ŠK5¹K5¹Uà0ÑUà0ÑUž¾‘Už¾‡Uà0ÏK5¹Už¾“Už¾ŸUž¾†Už¾ŸUž¾ŸUž¾†Už¾zUž¾uK5¹Už¾„Už¾nK5¹K5¹Uà0ÑK5¹Uà0ÏK5¹K5¹K5¹Už¾{K5¹K5¹K5¹Uà0ÑK5¹K5¹Uà0ÏK5¹K5¹K5¹K5¹Už¾“Už¾ŽUž¾aUž¾Už¾|K5¹K5¹K5¹K5¹Už¾”Uà0ÏK5¹K5¹K5¹K5¹K5¹Už¾|Už¾ŠK5¹K5¹Uà0ÏUž¾mUž¾Už¾Už¾ƒUž¾K5¹Už¾ƒK5¹Už¾Už¾wUž¾K5¹Už¾Už¾mK5¹Už¾=Už¾Už¾Už¾žUž¾K5¹Už¾ƒUž¾Uà0ÏK5¹K5¹Uà0ÏUž¾BUà0ÏUž¾'Už¾]K5¹K5¹Už¾AUž¾‚Už¾]Už¾'Už¾'Už¾vUž¾dUž¾vUž¾nUž¾‹Už¾˜Už¾xUž¾‹Už¾‘Už¾Už¾rUž¾zK5¹K5¹K5¹Už¾#K5¹K5¹K5¹Už¾yUž¾yUž¾“Už¾-Už¾kUž¾•K5¹Už¾ŸUž¾ŽUž¾zUž¾žK5¹Už¾ŽK5¹K5¹K5¹Už¾mK5¹K5¹K5¹Už¾vUž¾Už¾ŽK5¹Už¾K5¹K5¹Už¾[Uà0ÑK5¹K5¹Už¾_K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Už¾ŽUà0ÑK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Už¾qK5¹Už¾ŽK5¹K5¹K5¹K5¹K5¹K5¹Už¾ŽUž¾DK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Už¾[K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uà0ÑK5¹Už¾Uà0ÑUž¾Už¾‚Už¾uUà0ÑUž¾\Už¾jUž¾qUà0ÑK5¹Už¾`Už¾1Už¾5Už¾\Už¾oUž¾•Už¾‹Už¾ŠUž¾eUž¾rUž¾\Už¾hUž¾qK5¹Už¾…Už¾hUž¾5Uà0ÑUà0ÑUž¾Uà0ÏK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Už¾šK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà9%Uà0íK5¹Uà0îUà0îUà1pUž¾kK5¹K5¹Už¾˜Už¾KUž¾OK5¹Už¾˜K5¹K5¹K5¹Uà0ÑUà9%Uà0éUà0éK5¹Uà0éK5¹Uà9%K5¹Uà9%K5¹Uà9%K5¹Uà1ƒK5¹K5¹K5¹K5¹K5¹K5¹Už¾yK5¹K5¹K5¹K5¹K5¹K5¹Uà9%K5¹K5¹K5¹Uà0ÏK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uà0ÏK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uà9%Uà0îUà0îK5¹Uà0îUà0íK5¹Uà9%K5¹K5¹Uà0íK5¹K5¹Uà0íK5¹K5¹Uà1ƒUà0íK5¹Uà0íK5¹K5¹K5¹K5¹K5¹K5¹Už¾˜K5¹Uà9%K5¹Uà9%Uà0ìUà0éK5¹Uà0êUà0ëUž¾fK5¹K5¹Uà9%Už¾K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uà0êK5¹K5¹K5¹Uà0ÏK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Už¾fK5¹K5¹K5¹Uà0êK5¹K5¹Uà0êK5¹K5¹Už¾5Uà0ÏK5¹K5¹K5¹K5¹Už¾RK5¹K5¹K5¹Uà9%Uà0íUà0íUà0îK5¹Uà0íUà0îUà0îUà0îUà0îUž¾Uà0íK5¹Už¾™Uà9%K5¹Uà9%Už¾BUà9%Už¾nK5¹Už¾Uà1ƒK5¹K5¹Uà1ƒK5¹Uà0ÏUž¾\K5¹K5¹K5¹K5¹Uà9%K5¹K5¹K5¹Uà9(K5¹Už¾@Uà9'Uà9'K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uà0ÏUž¾-K5¹Uà0ÏUž¾-Už¾-K5¹Uà0ÏK5¹K5¹K5¹Už¾-K5¹Už¾@Už¾’Uà9(K5¹Uà9'Uà9'Uà9%K5¹K5¹Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 Uà3 3b8a89c0574e30778b13900a3b8e216f1f848dca9d231f9d935887a501755e56052a2b6fbe2fb318780670a5b4082edca12b847e1378b87e03969a44d5c01891acfd74b440d965ebe90fb05e0ffad21cf8832b5292488af6d64e1730bdfd49110ae3fe0798e8560562b8be8e8ac8b213d95f38e1df0bca6a0e56e2d7728543e9560f0097fa779f91ef1ecc97379a84db43162aeb69ed1c1f4df7de0499e70e6ebb989b0161a2e6798acf9d3444b0a9bb5989d8d6e26fa74c917aa4031afff606738b72c07dd8526ede509ef1b376be67d39f84d8e361938d507a84cff2a2afc8998e552858003b01968425ec732065efe29b4b8c6bc16af5ec793db8e8e220b6d121ffda4bcd7e1f451a884e76d6613668bea38bb8813b3de8cfe7318cce0fe86135a8472e16677488ba7022579ed928752ac98ce3f6d1b157c5a3604106acf2b1f3434bf4fe37795c033b960286616d2c8cc280099007e43c65cc2dd8f2a61e4686dc67a88e4c5e62e03f185de0a2142654b05e4542cf9a0a30530e59c0479d7096956ec54cf5f1b9b0788f4a97675b9f4684daab1f6469dfa89ba4242ae7ee91e42a4378eac36658a3cec347e627fac7c690d9def22e0f5f3db46f652c1f646a99ba5da71265d213aa42bc89a7b5722e6900a1aeffa38071680822f5a3c23debca0b078fcedde5f3c851c38cae8a4e6716a1e4745a7f114f541c524ffdeab48b7d338c90699714db38e09bff2ac4fe60ea73907491a581ef0aaf7f1b83b81044d93f449dca44bfdfb1b86e181d590a46de6f7a38e0a7c7ce1aa66011158f0fa21b0ed4ebcaa5ee88249b38a4ef326c7a014e23286dcf072b48e42f22ec92bccf3b30498db68a7052e1f3a80a297b6725e711499dd5e83621a6f7c64b069d409f29d96d2a6447744e182ec07885b166075f828807256194888e34514301efe292e98170bef84e2959ff98c08d366b5e23fd3837f2a2af2d507e84ac7f6384ddb72fed3c33700a4ef3dc07d950587f0b234edbf01e697c48bac7591aaa5c34d2b418e36bc727ade5488d69e245fbd5a4eee6b0cb28d832d0f8a3f7a14fa9d36f424d46ac3f4dc156b34d073b249c79607d7356300281c1d3ee82125ad9354ff16b5f94d24acdc8e88bc02f4415041313946a5007d29fabb8fcc5f4e76e7573d5f5eb83936d20e497689f34b5e06dbbe41fd7c57a4f7d267776c24c8f4024ec14dc30472ee6746b11dc7e2c84629c0477c614e664afc9e9c9506cf4b50b8ea2aa053925f2af3c4136020c087576a01498b7868935ca0bda85787965588c0508cfe58a2a5170f36cae202d3a40cb7172df995831d020fb5716920f925c4e34e320d32d2efa7a28155de317112c83dec9dd85ec87e3e79b72890e187d034cba5d9d1fd7c57a4f7d267776c24c8f4024ec1433ec534827438452fa3dbc34c75c27759cdb569181f6a1e99d5e79a0f78ae5eda480db8bb5dcd1c926b77f452ef2ad950e72551deff5c396fd1e00293fd009ac144fd7ea46e1762cc3afdb9d8a4abd5ac93127a00055a458a7dcf9715e714f775a65f04e4f44723d3e996e1371c765c3697ddef5a7a8dbdb67fcbe8f0741e1f32d8e959feddb306bbe713874054300baf9a6917f7ea8f64c5f5055d84b781659d28aa72f0f54765fab7a2fcfa9de4fad1e493f8003e94f08380b49cd3c5ad3c2c30838a1ada9ff9caf37360646b9375fc40de47bd501b84a7e088ac9b0e78afcb563360cf893bd48ea9d73a36da3958b382ceec315fba61f2ef28b71778823efc9ada6c60f0da097ce09164ed251ccfc1e493f8003e94f08380b49cd3c5ad3c2e535c3c2d06fb03979f4f634602dcf1f84394f581ff4fc390204a238597e0a9e2d8e959feddb306bbe713874054300ba321e7ff54b7117daf93316d0133564dc4f878de6b8f86731fb49affdd7e574c6b76ca49f948f2426a1c023ddf35a0f167d5ec694fe14fbbdfb13574dbada5f220b0bde4eadc2db836b4271c1f0caa96c5697abdeb0f54888d052d4f43c5f2ded28513d3f0d19222cbdadbeb32c12d9e7426b6c98e4c972d797108c6953b52d59282214df866d82cf69891ee812a1cb60a0f77b385b6f291b8750582e4472611a2d8e959feddb306bbe713874054300baa11d36c42533228ba861cc63f9339112e6a2ee556752fd4fd8c89614eb43adf99aa297314c22cd4244310c08066610077f552f652299847e1f8f56b158a775011efb39f604ee6c3981b21a9089e44a343d16864aacabcac85cfa8ce6194b8b3b4f741fdc8057570d1b0c8ce1548e180721a0dfc426fa570f56494b9cd3ff3ba62d8e959feddb306bbe713874054300ba0fa4ed87a9485b491d0b46194b56e4a0ecbcf5dbd36a6a057143861ab3ea25da39de414944b90d85811e15d62f19665163fcad457b10b9638db3240abc0fb7a38741ec8ee295452f0f1a2fd3f382c30fccaec15fee6f50ff5c2e6820447c17209fb6a487e4cf7b1c4160a3bc9928c7a6c3f08bcd6a3c83f735818c758d0b0e54938e16af2f93216b568b07955986f74e96d9a4f16637a4504f37ed360263dd4385752920e0cc236dc45b4cc415f60ab2938e16af2f93216b568b07955986f74e92e9f2d7acb8aeabf5cddda718eb03dee69b58dde86029a89724febc17b20cb5e06973374d5fffe30bb0fa9631bee31ba77d6fab0c1259cb3e4a93e861826f6a50b843d9169a205e96818d2e083b496f60401b3445cf8d833f6a0aab5fce961f8e13b42b6c9e2caa22f26adb85ae9f39ef45692e6cf853a820212f27780d99651fd7c57a4f7d267776c24c8f4024ec14cb4ab8be332d1d6e5ac7792c75b56b860f0493ab49730063ddb6bf3da24fd68e6e74d9ab0e60ba68ac3f437f71e66774b685effa092dbb439671c7bfe74cf0f1440fe89b206c7a9d02cf70371d1989724805417874f826f074a5a31fea700680262a861ce397135ec84c8547a16bd158b4aac3f01d513a798f2d3f6fe8d0e75eed9a1e73c5b2958a9ebd356f27fc973b10257e1d41994ac446db4841cf0ffc084f361642ddf7291081addf9dbd52fa6d2d8e959feddb306bbe713874054300ba932421aa2c0acbd0d68dbbf64a393b2ee04d1c0a01304f35c4f6715d673b6125f90973c8e437e796fd5e4c5afedc3c4a1ad3a31bcd93b90afad4791fd0d256cb170a5716941e4794c63ac0a0e2cd66858cf3405b2083e184c50ab43542c87480632088efd641869735610a043dcf899597c2a655fa60bbd2643c896984051a8fe7a581167290c9e2e988699c6be3a9b6abd858e71eec02c5e68186854edbea1b98a57d8250ad3a33b0a0d1ed249411449d6b64a030b0332c27261a3a5fd7366effd2a0b2934718d1cd920773350caba56ad3d9fa2d6deb483c975822bbe4c1b5871fee2e2f51b01283078815d6c4844ffaa4993a35e4f91afbbceccaccbc896312ac41246b1e9672cf1202a1ea4952b5b1509a5b9c6e26361c62e7b4eb5bf41c4554c503972882809ee1204cce7263068259a58ccb6968f4c93a62114f0927f89712c768234eb124c8c2683cd548f5c13c42c92e8ab282cf9dff1557abb7ae0c52fc71ef153996e4b6b47727e4464d3c0cc6a83ef1cba25ba3c36992be55fa06a78495a37d7c7c27d296e5ddc807b950aeabba8cbf8ee323cb861d4ae08c03cf271fee5f003ff7e30e54f778dc8448421856fa9e05b717b245a1084c1477e01ceb57b65b0e7932fb08221429af4708b2ec8b3d2038bd8274e3032c4dd8f39ee390098708ec1576e9dee4d22f4a2d527a3f3154d304616cf55990a70852e08a8fb3f216bd7cc68cab25892a1bbbbe6664efa4e0a7311fd8539dcac1f875621d217a937d0db5ca84076a771d7b4f9081052cd187da93c394826bf9e5fefd46b032b5034548107fe5af7bcf6a7dc2dc3e05d43b44e0451cf2fd2470a50dea56d85f6dd03c1a3203ec6e0905e22e3f8f9bb1d43b44e0451cf2fd2470a50dea56d85fb3e53607d8535fb372e0169b5b3a1de883de62ef37bc579de450b559cc036bdc0deb9a94746d9e2e073dae654a07672168725dfeefa342063fd76a0f5b93a85df04396f397f206868fbbeae4fa61e9121fd7c57a4f7d267776c24c8f4024ec140eb658f7c7c5887f6dd0c522ecff4074eb6f3a8560b5d09aee9551585ff40d2e6148b2c85289e0172c60a6c97e8393991bab6cc6e4f423c7f46898c3c3e68c7f271ce45c3a70e02e48be28e8f63cca9dbc1641653f73072cbaa53c050565042ba27bc24e96e99b17f25ebaa8167e562b82b05be6faf036338842bd09f077508c2fdee25cf94c33ab3992e1de999608f425ac6b690b8bd399d83d25d6a485985b81f4358d070d4082010584780167b2acba411b3c47774b3e6d50712f96e779e037a08794a4aace78bed90aa06d14673f12318bd8a607f743cfb733a2e5004efd6cdf2f2687c3d41bf009139b1693711ba152b1fea729b4602b609601ab8defc92952ca891c1c964ecfafca4c1bb8e1410429a8ff8bb56c1f263176edabc65c0c17688bba36b2e830ab1484f382d07ded81f5077d6ed3320155cfda04626c9ddce7add2ff4d6bacd3c14e3a9e150b656d34febd8a8b09d56749c4b8430a864190b97564570a3043d6aed29ca6fdc457273210478e852febd3d018c27e4dbd1e78f5d9e46bda014e04d4287e776d1ad7bab44332cff67032acaf5b71e13da68e931ef26b822b1eaabd13925832f5d62511e2e492c0e20dc6282663d6232f423f1395e186cce435e1341d0f8c986808239b511665c65155c0e251f4a2b1cd8b007f71c289ba9d4ae69b85e53ba4f79fb52429eb4f653077ff7d4c523abedfb8fdd348f4f2c96f5a70011ad7e08028e2c2e2cfe3db377e4ef1717829c79208ace88a07287e7d0698f0bccb6532e248d5fd83aa7de2e284daf5f8a92e0a0de15739de75c1db5de12e84513381599ac64acc92d719ac4af5ea4f80cf7d3dad693d141a9b3d80bc27b5b63e28ca89a8e702e4ff96ce5fea669deca43369da58cea90e011e4c95f46778eb180c45bd2d8c5790efc025af59cd69fdde69147378efbce13cad941dcc87a6cb9a3bbefc6bb3da216bdece4c69f02b0c7720167da9ffb41c5bed7e7455214db7f8c40e10183c208a20fcc72bc5d374210e49bdf3f49252e4e39fa34646636cf244dae9e783c7015186bfabe58c4b4be1f8b0826447e70d815eb5539901f16c8882102257ec0e7e0e4311f05391a07cc4ccabe989ce9944d141f34adcda67f8dcc0b28c93cc44743e6c572b7f11e0b9d53df3c576fdf3c50ff96058cb28ca54a8c498684a2b075504427c082e6f086e215e70097a2b21df2cbebb804e2d0f7d80831ee7cbc6a9a95af9d0f2553ab14a3895e1b401748a551864d0f2553ab14a3895e1b401748a551864f4f2a1b4b06c82c187a7dcce6ede1ebae2852d74408c18a38bd66ca1a481323b3508f60a518c3ebef1cbc0ea893e2bccd41b45508072768ae7211055f4ab6f7789d4ebcaf902e2d967e4863f21207b236a04986c242b4351b7ddddd513d6bf8b374d6d16425fcee3550ac4bbdfa003d46a52ff5c5e2388c7592d326c9832a1714dfa514842fb3000979b9614e4c5bc55280dc5cce093f42405b87383e8cb0a6666866284c4f0cbc7dbd5adf953bdec6d83776c3ee2da906c4b6d8687b93747ff7df509672816d77b718f4112f37f58b110031a4859dbc3b409179049923adeab9942a38d5efdd16022c8d935b6d78490e29765913ee3164e6bcd398283490816386fa4721d8df7bf88918ed95511303a1ff7b173560ad92066b4246b68d19e2a68004c59b56258bdb30a49d5458745e58ff99efc21df126c8f3499946966cb31a91727f780b7d4a21265b6e9372e7e52fd936a9666547b0575e651488020cb299942a38d5efdd16022c8d935b6d78490b615d108613f671ec98054750b71d1ca7043b5124264ac8543d68c51a6e459591c7ee51fdcc349df3df0db17f87fe6ec3771829cd7030293e83e2fea26a30799e649712e737eaeb8dfb6eab78dafaa15999273fd41043259585cb02f75c096951674b521b20f0009c74e166054d65833c1b757635bbdad7e1f0dd9a0a5a11b7739a6ca8a5988dc4029374294a82cb252f1deeebf012c90d2e74015aa3fa52ef2262a18a5cbaab271957326ef51c8a3fa7e1731a7df786316ea6d3a56fca6ef79434cb856da8538209dcfecf2d01924417603b81a19b5447847a1563e79784f82062c46651ec9c4186ed90c149a857dde653271b2d185c6d5c23d187ab9e49d2e167f0297ea5ce72e2062f0243f2929f3295daf2e0b6610958440efcb438c50b2a8cf4fff6bc8f37db55543e1246c3120ed81fe1970b0b98b8e4e345a13ab75e5057ae0c25984bf836097d6e17930e4b6b01186bf7ef2d7f5247eeb56ed05c33bb01186bf7ef2d7f5247eeb56ed05c33b1c8efa633563b1496bd2c660cea547473c77ff9378c2b8f446f54018ff8911b63fb8b1838d0891d732f64a009cc8d12def269789e20032ec6beaac0231003e487ebfbf5c8003717d2a46ce43f72c61222b316cda0e35eb3e0796e343c0e54b4e25b5587eb1c67af50e999173b8a02559ecddb03c1464d07c055239d29de6a48ec45de43c3a9f0b76ed0a84dff1752527240803ffd1e3e96e5124053acfed8d45ead1336e374fdc92e4ab49df23204f843d413cb0e9275586c900ef4022edc9c5de4a3822982af82fbc75daf2cf7f4b15954c3106a17db056cd216011819f8753340936b60ee64d30a28d3ae1d1256f9a85ac777453b93ad3786d40abf4f9a609bc7a3ae100110db6bd3afaa53350c4b031a20a26b8e4929b6ceb07983e8f60cbafa1672905adff24a5a8512d927cc840fc17e79653592b8727ac197e83202d8485574e6a06ede932397deb00bdf065b3cde75fc56320e05e70bd43744841372989d356c495fd76412d269a9150f6f0642ae320a3d2c43cf6fce1823e78ecd3fb488128405eda38c5d23b86bf6f1cc4c86c9b207d67b936e4d47755ae4146d39dc94de3a5e44e663f0fd148ce8e45dff38af7e8e560139291161efa10a60d73a4760546a2948a98705cd8e35d8bcd54e9481136de25e7646bcb71ee45a7cd06e7a2d75dba8507ea73279f234f82596c671a4145614b9f2fa0a6bbaea47461d59583637930484dda968404d8dfd57c853185f7d8b8fa2394d44be690b393a40984b9c4302acc6f0aa5cba35a6c5d46eaae708ba2a6323c690c80c6ee4c7089d5dcb129aa836199bd5afc6796a69b437a0c708ba2a6323c690c80c6ee4c7089d5dcdd5c1a05415acf87ee90881e79649155312622a42105ea97b971ea3c207ead61b30b8ad7880c4234517fc22c7e359c64bf6a971de8b6cb122e4dd2c65ba0bee1653f30cb2b5de8a9ef5719bc44b675c8eb34810153ea63dc24d1dd61a2c36e13aa16cd36b083e238afdae374ec49618a585c6fd0c682f1007fc27c7c99820c4088ce7c8cf059c13651af41ac41bb869f3db8689df45b20140fc57d6c76a3b9aac7ea0c32626990f79fffa3c0711aaee64d4627bd03e6eabcfbf95284181693386e0b29fd6db2b341b334db28978ba1d043241c2db57a82b7044a2fdcd20a185a90aaa459a7393ba40e9ce8c91e6be36c5de67701124693cc9a99c53e899922c94dfb21232ec2625a0ff0a61f6a666ad6b26251cb92dc925429e52139238ac10c555417e55aeec9a11e29a630d22d477f1bd573eccb479e10678a588413248b931c82279f78ece3a6fbe0f1766641ca2ddcbb28a250420dcb9972f3cf6c73d85dd8c9df5f4a9897ebe0105f4b9ceb6e403fbe368adf47b3c1d1d7ad94fba35e90329ab7c3b0d849628c5de2f84a32ea0b945a3f97fe3ad349ff6955d2d7f8db19a5bc588105b2d1807975f6a975faaf9d80b37a85079da789b875d1c30ed049a963f7c69c5220bff46e59e7c3cf809bc845e9f0abcaa10105cd37e280b25735f6c7147336183345ad31318c86df900cbe46555d2d34d7a77c2decdd984d64a41c3a27d306e60f3ec844ee57e97d5b3e3e0a2d5f2d0068e6ad9ecabbd415f998aecac897de942784f5b0438f91dd594a40cffb593cec5e677a45accd5b45da171d11516dc7542fc1981457306a88492728a6589c5cf3cd69214c325c43e4cbecfcaddfa7ba5d44a3b2c62249c62b292cd886f7dda25bba0105f4de125b9cfd3c2ef72a276bc6f05354613ef165f56ac9641155ba22625c98033157778da8f10b57b7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784ded3aec8ff9d602282c47f19a05494969ab53db47f43505f0e9068a3ca621304dc17eed2d1144e37ae05b5e56d9d0cd5ced167bc00cfc009c6e69b2873fc76f43995ebb7eee5dc9cbec5e5629f376e0814e544eeb0ef14c17774208160f35e654cb47b155722d72ff4f1f164c2e2d116d7f1ef23bf25357657271b87d63aafe9fa4c841ea8ec98562355249ad6a3f53fc9e7ce091d2b529494b66adcf650829805a8f6f74246644fd8095f9ce464efc6ab59af99e0ccd075e9d56c5cd0ac8a0e563d1a56897e086477a5ea1e483fa0685783092f9eebbfa7bbf420cc7f708e978696937ff8e46eb22a22b0b9ea3c78f8ddacb79d659f673b2fa98b16ca94abd8e41963aba81292717b22cad13de718e4b92da56a7b0974611892f2b5667d6c4d4547833fa8515e93a72d6c83d5626d8d04e3531d6734b3c34790d1e45955d6eb9f7ad5216f42f8f6455a81a92ab183a48eb7051fcccfbe9e5402fc4e231d669391ec052a98f49ee3ff8df48fe50868a5eb241e28dffcf9bd6dd60510a63d93746ab04359f792e91b2e55fef4a183f89a21829d600dcff7c1cbc4f54880059b876a8f33972438c5513f12a834b5b27b5d61a91e5c1337f1b7dc7010514de494239e4f98bbf37f701b1f4879592640899aa24f98bbf37f701b1f4879592640899aa2355189d6d19965184e445ddd642ce922d59b06ce1d5a78e10f03ce86db000718e549c0e944c586be79b23040efda091454f207477d7a8af7bfc9d9a577d6c9f59079082c0135a22c9b476ab00c4ea02a9079082c0135a22c9b476ab00c4ea02aaec173413741465fff8faa86eccb4b0184c0d9d52668647535f307da9835d6a23faa5b90702b337d9b037d22249950c89a71849ce1c621264ba1fcdbed0c088730f69ce964edcd7f3e460e4d803a8692fd84bf31d3c8ace20d02b5bf45212412830d77d2a83028d440ddda6b8578b59575096f9af452d2c1073b3c9a203196ad3e3271d420a27f10a59a735d75ee0507daef86c9fcec8d7d73e2971294d4314022b8f732db1a065039e5e0510c86113efef5411e7bd0c827dbd061464e7d7b15d8cb033e9ffa4ee0e056064965b84965ab263c7bbc9504f59ac9599b3145961c9141ce580baac5a1f6054128679095dc3a8e21f657ea737c26fd00c6024ddba66e1305dddcd0b5bac49a559413cde25f0b05d0c83c22f74f425162279a9b23015b7daa5ca274dc74f13a83895cb67881d79844776ef50ae65483d61f4921382365a73d82a506a718ded84ab5af357f947a7c111fcd924cbbb6de94b3d2bda997de4fb90a3de387163bee6d71066a9d4a3e2e69656a66e9c1681120a2478855d54c446e033d73bd99e07f25acf145cea10834798fcff4a9cdbab7ed49aa0b10bbda7db7e04a4f3231f34014cd019c58826bee9225a42ebe6eca63f8a3e4e9487c1af342dbcd9ce1e2895c948203615ae6599921f7325299f76d10867ecf1fcdc29ee43c112d359b476ade7efad44670e885a3c3e41e940bf7902614a817e58a1599c56cf6550827811739091591f17abe8a5a956892bc25be5614caa5408dee2b86fd5edfe14e049794437237e1f8ba148880dd894a85682767e5fdc7ded42bb56ef8ec1a9796c39313812cc7874231ce08f046d6459a8ee8c3597edcc463ea88a171f966265e35233bc935191bc0d7245ade07865d18ce77997b19881517fa7dd706b2a681ab521a0f9746407021224d695a585f484f1a429f4088c9e4b9132849714b5eed9cd4120900ae193df199a20a6429a2f41405cb6689f28511ada1f43dfe0e4586826030c736bf6cc1a893d0d4191d13295b1c434c436091f0083f7195e0e18e457235dc5f95f24aecbfc9cf5c404542528203574aa7a9f6f1334aa02f247c3e37b55d75d6bb8576d5d17d81337adb7538b85974334e9b2f82c5514b8cca05fec8cd52aa4a8cf2c3ca259753292282aeaa1bc777ce377e09836c56af3653bb2ad4739004268a65864ec0e5424edb4addc9bd229619776472efee142c736785157134fa843daee15d96ae3d31f33f3ad3c505fe234d37b7e3556341f21bc1947b4640aeefb9bac4de0bae7defe35383d1f4be6174df49ff0ab3cd35ebc471d1075b0253fe36d830627c1feae8366b7f8ac45432ed1a2da3fcb97258dcb2189407d5f0e239280b00e6e8312f786d81670b29c476a1319d20802fc661333d1c48c8270fddc6d86661abd1d56d54835d59cd39d1b165e1f2d2defe552afbc487fe49d09ec06d846a1d0036c8fb51b13b6e17eb1c7034350c4bfa1177ae3afbc11163a41e9ae2fc0185e79560932aae780684f92be5ca92e2a182b344636b260f1b7d2e2f222e4181ad2872a7ae164283001ad8e949014b5154dc397b620c4f76be4b3dd30765746b56e722c32f8d3b8dc2bb82e8f2568b3dc87d4faa4a2c0b5ea5fc17cc37b35cd38036c931ab350ec5750bd005a80b6220b41200e5f84ffaf1a48e5b0af0ebb346b07e570eee9e4f89a37ac0a15bf9e396451f37f913d8ee154f9ba7fc8f0161c709abc578d67b3b0e3dce8c2a03a6770c08388dca547908ff10bbd90f43ec5e408344db4d1903b7156d4c2bc08ef351d9cf207f874d6a21c08ac756f5e14dd034e38cc41134d7acfb1bd499af5226b026944ff99f3842d5a3c394ad8dc7ed28daece0815289e8cf3ea736ddcc077ed5da2d14db3f8607c974d75c2d1ab18cb64bc53c284cd089d64d11556be36055eaab66531dff537170424992e419bc88e995f5eb9a2dc0a06cff2b0896a5e6a3fcf00426df53517beef61db6bc5cae3a40c9aadbdc539bf2ed6f795e7fef9bad2502eff01394ac6ddde3221bb1bd75f1bc40bb5dd51b3008aeb4a04c48e02b4472c647fd97f7002c5e288050e18d8ed4f92821b4545111f7b0a64a2bed4e9dd60782f83d1225db545bb842e51fa84292107f24b8a40b28a5609ba53baa91d93271254dda46f31bac73bc332d895bf7fff8e912f7350f9dcbb8e58c5d5e39293c225e832add117944b8e58c5d5e39293c225e832add1179449cc9ac7e614a6a6388ff7dfc7d8b71529836597c875af6ef55f5929404f115585911c57371559cb8e6c7adfc11f410c9e81c74bc7eac57808c4c31ab7f8d8b1ed8c8ace2976faee3ef0d54f727b5b783eb5ac8a3bc6a9b206f3c84f13bddb8c203e4524e73610a4b451e6b22462ae5d84c1ec7117bf3bb721efe2014353f2058e596d1f8a90a31553fc401f85aa2a17682070a0a0214059934b3e55564ab779beb717f3cfd15442811194a8399c2799fe636948dad212ccde3786e79bf14c0212b8e796616e1ddbec18eac23ab3915bb4911fe8919fd09f43ff5847fa7cef213869190d07159701e8bdc5041e403e18543a5906df7da2eeb89869d869d69891f1e45e4b69e2b6709535860ff6e2012169cfe9fa273453a5fb4ee91ae28404b9f0537d99622b54ad3fb2b7d477fddcc1a89bd21ad992d78dd8a73953740a54cd3ffabc536dc8252eb4d4c404769bf9de09441b5195bfa57dc0f3fbaf971d98002d1acf44327681d6f73bc48f4b656914b12209934aefa794ef725b8377aaaa0df6409196eba4752c3a56bead2e397a391b908d1ed9671fa0c2dda6ded887f8dd28b540251cf2d1cdaf09fb168ae2efb21a53ff208e6efd5a4cff14e4a92d77490ed5b18b3ef19749736b1fd2aa2cd121376128a3f45a73f31ffbfd81d15e4e3343a55490fe89df4a744e8cab90dfe3a044a78592ef3e92f4ed45eb64e5d757c5da1002fff814dd8e983b812c772d3f1bbe79df6371a092c679901a1fc6b00ef851cbb57eb4d32140d35bd1ca059784d1011c4a4f78f75961e6b121f3bb251c4ffc8db095107b1475536513859feed418649d59c7d6ecc3b146a569c0762038c4ad9efbedb9723d6ee0426e9a9f33d76bb340f63df3662ebcbc491ff78b6ae86707377d355db149459fa9c937106af31ca1927953bbc0b321cf2b8bdd5cfb9a5a9fe02457cff8be17f44af9714b67a73dadad7e8846dd7939e70691626446a38fac51d1937190cac1f77826216e63c8de8ba3c3831e3058f74992288aa140a59b417d1a14d961bd5675fa649b1cbb184e6ca0cd7c05ab42a703df31d09a03b144aaab57342ea78794f636c58d1e7b073b2cf41096ac1775811fd8423b8131c764d57c1c33f05f814b6c488afa08b3324f7d41918adca00cc47529ab8bfbc3487df5df9af0b50832131c73a958ea1be88ab066c2233928ebb35d4d43ae2141334812cf70f152059ceec91534ea8828f748888828c422a698d08fc3cbcc71d9a5117b6a96bf08c598ce69231b325c30481cd10360b6611d7a555f280270f3c606e68817acb135b7d2c7428bb3fbbe47bb1d2828fd413d9bb6dbdf1f4abab91dc739738c071b2cdc27c9b128f2288ea328c88eafa1291634aedc9c36463938ffb3b927eb2586fb8fd134984e9bebba1947b737c707432d19a18110d83ce3121a458071158cf6d466e049926cae43aa321d111f9fb9d9a013c9119d21b1a257c87ff838299efc9e18c1eeb4976a1003249f43e2b4e080fd316da3191ea810fe3897c6f37150ef84df06565b46d4af4b4f9cf2075896fcc94c02e56feb07086254f025db56af386eeea531b7df6d439e6499971e26b01b4331f3d044460b28ca54a4b464c97007f603adfc0b8e8cb7e7e398eb98e1abb6558a57db816fa9e2d4cd3f91335dfc8461740a0a60e501d4883dd3a1a6e027a3be6f4a5e679d2e9d90fb2847fa0ef15c2ee81dcd4ab28ded99facfb07891aba2ca5e6aa088f50968faeef3abb300ff8875384b60103dba01e0006c709705e11fbc8a1a3de632a6bd698924869a3bb7abd320de25877c0f4c875ad4f242b557c7c4c1e72e28ae552aadea1900dcd4a517d2bade305448b7325d1c964a4c71c6752b506a0e11b85ca538d661eb8aa9f4621508db4d143bdd3b7d092448ad8c8dc725078d299a987ab17d2a31b7d9f646955877bdf5c70dad0da6423cb12f673327b9c44582070fd9ee7d4df81ad74c9c4ea5f8e3cab53e1de184eb66ee33ddd11a0efd880737572415adaa72ec506cd0b0b7d0419caa831b88c2dfb5954c91431761776ed9dc5e0202cd82455e0b7de796da04d7de3b8ff8080bf0811cb7fb118740f679233cc585285387caa6d1c1fe8749e615504aa5b9865c610701d36d74dfe545a11ec266105313816c8f015630c479e9fd55fbd05571402f478f8c60db1be7ddf477acc9cd547a02c32156e915e4478fa895c7c142eb0313e92786f1b1a55817eaedad2c62f955f738a4c58c3e8bb3a9557dbb8a37e082cd039c212f0532706924a0c6012df97290ad0a706bb86646cd722faf5cb23265e5f19527c446aefca9fa106554c97857050214b78dc8947a9d17dfe850846756d790b3312c05f3eab928b15789b7eb4570579416d386cc8f284bf6c1f62e3e80c6afd41403683fd766e8ca20cb2de0010f4eb2e0d6be0e37354c0db2d7ef14623c6bdfe4a5b99ddb399a699e13684bd6fafcb5292d37ce2c87a0daada696384b671aff59e01c11a3ccab8253951ad40af9e4ad7665ecbef4a445a7d1ed99780434dc79d205d6bb3e495e0881ba3eab5713ccf9e09a67ca37452b25795e5ad2804d132613b4fafb6fe8832e33451954c177001fe3f77f74b7e468c14e571b3f47eba6dfc7409cab8da61b445f554fce8f6f365139ae26d6cc6faf8e1b1b30cd910f64fe0564e1b69e0fc7d418a04e55527cef883f45f50d0caca9092a093a04046e3c4962854d590ea0504df74be8245be7ceaef89b66fdfc0d3235cc900430ce5d9b0cc3536c5c6f883e48878a7a9b7f0b195f4b8787e75d31e654ab2a5c9e0286e8238c16a63e72367d2d34b14344de2ad3c06063c56a99f23f80767179d34b3dd99f94edf6e536aa1d1ba53792551e22f891ac8b6a06ef027dd6b653e8fa726d20cd934e3346abeb88765a72a7ea5170e0d9b6a9b12a1a0f06ed0f45e427379a34d02226f549821a226e7a180c663dbcb951263a4b438803f9ba00cf09d431a08eca08d3677ad3452f6e2e0e1f9403fcbd2dc8584fa4bfdc95ec2564c5fb73e088e7adf5470fbeccaf1ee4501badf5ec082f928b1630a1b4d8812f0015fdfc7ce3a5d34eecabc1628c3415d9be15d5856554eddcc4ad7e6862a68123f7f0f40c97a02b3b56bd6c748f0b85386fc05aec198a653232e923268b0d430a3dd60b5f5bc9a5a663ed38f2a4319cbc77b63c495995475efef2c05f30abd274d5fc20432d746cd16947a80c2bed8b8cf73d19eb65f5e39224bbab271b5685775b0624be88f66aff76507d647f638ba00fd746c0e4ba2f3eba79315d100b70a8cd7454e0828ede09dd17cd2de78d3c455549f99e82f66e3e51a9af3d87f51408b532e0894c34533147a2ffc3a7f17d6b08f4ac5693b3c58fe8dfda624450fcdfaf112ac11cafe7408996f56d09d479801048129211d73cccad388b4da650119de1966477b7e1fec30a525e2976ab582a63c31d45dc62350571613b6e1dc83d7d12c4e17bc6dcb254616e1a109407b2286288d8d8130c08fc80acc7d7f811b7d0de759499c85a159d93a9b104535c3ae2bf9c195ff5fcca43e9246655fe7bc35a8f5aef180e7ff6b28494f6579dd5bd5efe934a605b02f0a6a2407b2460b7e76aa86f5fa3920e7bf8b609dc7a0ff70e412f6253bd54d9bdab3909d4bc5c96e074508f94d9d7a4ad407681155b80f106e5054b1366dade2a29d223f17f445f939bd2808f23d4e83cf2fd31559d3cbfe2b998c3a495def0ad4e788998efd9afdbf309bf572f6536a32f0389b55f8c71c5ce8c9e69ddfcb857f84d71842034c8bff33040778529c8449e2df46edec8c15757032fbcb496cfc2c04fb4edd3509464c68d8bedef2ea9deb397576e4533850236227b4918832a8489b3a917b716a0416f54be1fb27c48f730b9dd3b5788c8af28e7164daa03aafdd0b66604f48e0458da33ac3bb3b921330678a88a1228ced618094a44c5ce88f06715c4849b1ef95ed44001d50ce3ed57d11b549994c25070a454aa12b478cfc25116ceec60c17ecd62cb7e216247f215b88ccb4624883106c434f4fb67e1a36e4a5cb60ad2e43cb62a57042411c17859519b75918411bf0e0cadf1386ae03ed27e7f048f407323cabd935c03af22238065fb614d5c35335a38cde8dd803494f099f61714a2b5d2cd87f7d9d481b972d784b1e51a53e9dc4c093f21a12d03f98d11aac0d8d8794b7e04e609ec94c6dece88957415a544c85aa1003006c627e12d9871ab84466ebeabcd9fff238cf108e0a6c58356ba8ba3d1e242ed56f3d1401b908d1ed9671fa0c2dda6ded887f8dd26d20890fa6cda2639b1176de28fc42dc6aa8543c2e785533427bbe99e30991f79095a8c9187949f1eb865115b7312f0dd7733f3bd960f7b83126bf36e1822ca525465357e0da097e923ff3e2bdca92eb517e33ea97d18f45a25bd31a8c5b50b33e48d6ce25830409fef76a10ccad62159305930acd08927da2fab03badf5b4189bcafdb0631e6bdf54d547e6f840be0097a916c49765fe43235f7f710d921202fe3baf771ed79b237b62961d8d85f462a8b523ed51a30eb1953d392e8524a098bb7bb42bea2eb64749b94789741b9d7b23be66965fe2698e58778d0caffe8c330db9acc4109d322991d1cb5bb19e48d5545d0d06e89cfb96c93c37f563dee0f723e072d84f4cbebcc69e985ba8adb2c726d78bf700355436134b2864f2a8023054b0209fa942ddb95e987925d644ad141a43f91f09758a6081b6f4cdef3c22e85c448ff62fb157eef948bcd863a61f0ac620a77e84b59538406fe75e31c0c4b5567406c40dfe0fcb6dee0c14c8cb7a5b2783c4c6949892c1e9951eeea38a9ad3b815a0083c0ae491c8109f7eaf2dc30300cb1ad8099dd2a8bbcd9b33e02f3a7156bb2af0dcebd4c023ed69d9503cadff46d30d370b26b21261b74513a0d2f99d1b6702611d23fb952cd7c1d1f26f5b8f6c45167b2904d98e4046a32838a5c4c6db37f42bae21ab525bee38ada30f0fa2cfe48daf65c06aeed708b99ca19314eb6a488f4d5f042350dab20a0513b3b99b4a804d909d886019a41c7ec9330ba3d6c1962e91ed1791da00e5b1e65d986ae0f75f35e0bda0bb832ba0665d658c9b4d2ac91e5b80b42af9ae8222b232dbb5c8c1997bd17d03ab25187421afd7ca67ec651b34e621898545b1fa8460fcf211eeee16803b9ad1623b7f643094bf24029bee0bfae791a29877202def8bd375e495b00605dcdfcb3764028a7774e4912e26236c749ec8715d254f08b099340f40ea6590aeaf201dd01a86160126e746caa15cb7a3073d519918820352a715bcf3a84f701beeeabb9f11cbbc4d68e2c681b9b334d4d523d8c345489ae9b597566d83716f4e38a29bd1f51db84301fdfcd775df6b627cc05b453366b606fc1ec010a8a18889666473f9496ab8aa64c774d7c60fb765a6ca729a301d5e6205ff53572ef3e5ba2cfc0e203d44f8b596f9e77091d09436e478d94d2b13aed363467f71cfdf4ea6486064b257882883265775579e5ccabd7ec2e1b6a7c93fd0a439386d58809b1900b81ee86139a1e1f3be1a7df4728f48075630f0ff4055b8ccc63b2620e27b12c19a6db33b7c93acfaf817f38dfa771e938d97cd34391c59a3547fbd5e1bf7dcfa0e0980964684330240647605138ce7f2e636f06539ca663c6d24344f5f9c108f0efc31a30750395d935ee411f2c509ed4430235c602a514de56e64210c4f86295e67e03f8f4e9f25ef9c7151e2bea1ef147812ff0a7da5f37cbbc905018cae3d3d22118ad8516b7c11cc732edbbbeb5326336fa274b0c8308099d5900200665ed6eae310665bad19a04b2248b24ef89c3a89ffe56bc402275567c94bf006d92e78f930a282ddf696f55f01e4374ef6f73fb97e32c8ae76441468e492e45ccd99253192937ca7d1ffa4abbdb4b975bf1e4a276685a7c34453e2723a61acfcddfc9ecd34cfae379549a98c3f3c32fefd405cd9c6553b17494c7f39b48f992e82e176a950352a17c7f05dd59fcd18482e7cfe4b9d8444a1ac9dad02095b9cc10f6fea7ab4479faefe0b1728da7c2f26676fdbebfa3e9fd1cd61a0e6051e0a11e4e7efa857af98cf2673c1e64425ebe2abb68b145c4ebcec0125f63100db18c7a082cc185e19858a48ae1bd8200ae07bb1fbce67b580c13b57c94d6eb5806b3cc5b8515a60e26d06609bd0e15360a353271445472cfe4269cbf047a6d3dc46e3564eeae64867391f27adbf2e329b0068fff98b69c79986a1b465fe28ec4aa135152f95bdb9d70db87cb618f5d0aaee826fba9d1566158a3d641b6d55ce40ac7ac2a767b28e5ec07f094c15cfbb3be2aacd0f3b353b11bd984b10e8b39226f8ad6df5b17592421c025a26152c348f6ae31a96035fbd8cddba8d16851b6fd23eaa55fa1fcf8d5eac4b3063970e69e98d4c9684a4643645640027b03ca3713077521849776ac8106f676d0cbff18f4c55a11918f83460c43f56955d48e59b8c71f0825ae7069e6147f4d35b6310ec82d2318fdf9d64fd3bfefea5c041938e9a8cfc4ef534797787072bb8830a0dfead9049a23dac89f12f1aea50bfd6448e8379d8e557335bb5a877799020551827063a2051bf532869e77b691035cb4ae51905366a204880e8cf1fcd3e61ef3cfa4127899320718a78fd852e1cbd36c3f526a598360d85106db07897c937209e63eb2a521feccf63cdcf56fae9b97662ad6132b1a49069a30e9bb8e631c373eaf541698ec543da1fe61b2c181d23b9251af7766f48558058661f3586a1a931975ccd4fe8113db731e11cc09d1aec3b774fc943bc063a47e0ee7a2f5e698065bb4bcff56cb561f4058d996736c0dae5b00697ce0db6d74fe1ac78a11cb6837b810ada7c01da740fce65f88866a6777c767263da460fc44561bcf6d275f9a9f8c7ef9374ba8c2b6f11b004839980e7f8026c7b3a591a428af0497781f311d6e14c3b19618cdcb9cb78911e136144baabd20d1e8f0cd58343173218fde4987de3243b8c7e3483ddae6211f29c2c348d7a50c18db6212ee38f036acf0c3261ce5bd11fc6f56967fd0d6c94c7c4b444166d6dce6d7f13fc00a31232d2860ff8433a9b983106e53abfdb0cf5d059ecf790bf39e447595b5d295deca44d04c70bfb2e4e8c669667e7ab5034f5c39362f23a0b91358fce099491f29deb04e4157c9b763bb3442b282297ea711c58c2cbd85eec2f255560296533bdcd816d8270f56a422da70e58e12335e23136b3eaed2d0a6018bdaa35a11dd3ae93e234fc719c4f34359d9a1f73a1ebed081b94dafe29ec6ac5f1867bb8fc802096c3d3f5e6af8fda53636c700a7827977a22abb9f2d6106fb78acb55a447eb61fc7fe0778a9b8026a25e175626640bdf3677e62df878ed830160681582f1e58eb1ba4cc2e6eb5b07fae7dc29111f5397c917c7d5e6fe8ec79693b98fd83dc41ce32aadea0c9aa10b611a15675cec9ab563a9a72d4a3317274120228fc89f52ff8aae69e81a19dbb22ae3afa5cedbd444be7216303596ec4d5050478bc7fafe68e5c39a5281fa03d112bc9e5b707cb0c1e8d60432a81960aa357169c2356ee52ec5a16f685e2f782f6abb0b8ab9f036bf586c624af9a3a2e24e92202cc21b4f1a2ba414e330f5492358cb4c9448deb30605b8b4e1a0844dd0e5cebd84eba843046de07bc267f1704792b6ebee2b9c65efbe88ac9b1f6c66b8be0c8a2ca2a9a75c7c5c2739ff4cf0ccea67b373fc14824633077a114b89fd31fffc91e6e55a5797dd67640dd032e24d49583c5e914671340ce92d9ae4cf4a0dda4cd60434c33ccf394d91f0503ead505179fa29099aa85dd02eb084d1749622383d69d11992d709069294ad4cf729daa96d9bf6550e1682cc95d02bd0b8f670000d285c6ee4ac39d44fb52bc9e9ba31e68803a64229e824cd0fd3b12e0ac812d9cc522cd1a3a3332c063a8139f1d4af8ad4b8cbeade15e0ca621ecffd6ebc62400715f0da833dd0ed451d0650be79cdd2b632e765769f3dc30abc8f89de1a000a509aadcbee6fd2a5c7ddfa50ede6de124430c723bdd86dcebb1f66990b8ef601b1a0c3ab98d3e8a2ab7b08c5e1f95ab026c00161236ee21da8c34aa36065f96dbc2dfdff619b36e6f63ebf771da817834f23275b94b82e14067f4e6aac32eeb3cf97d8187ddfce30d543559920bc7086c16517bf46910272bb389a00a387edf7f0122c54f460c9f446d89dbf4a9f5c60c38a394499858faab7d8218fa5458dfa9e1ba470ce5fac264fbe99401f4c4c44c92f988c7df771aab2ba9fe021c4415cc5f3225cd796e93e78aa4da1ec7e8f70c511ae26c40c93e1c80ac2e8f1c26a98a9db966feab933de408a48afbaa8dd671f6084febfdcddfafc0980356c323fb0b0ea5eacba08e0c78ec982c1e7340b4c41fa00886fab1b4e6097710d393fa3d6ceb42dd4edf8effbb7d882cc1c4fd5ca6efc06da2b86ce377197ea459ceb8c9dd5f135fe05dad8d5a67059a6bd1d3d5baa39a8606cb7f0b36b7ffed407a409829c9d82fe87dc4be3af4468f1dd90d9332ab69c461d573d0ba27ceda74fdd9a186b4dcdc19da93bedc88575665fe6c282252f032d28a94ded2fbfaf2d48fbe2ee5face6c4e14e4798aa49af9e9864352c6ad707741987a083b8132f20cb250c9627daaf90a7e2d80c8eb4069a4f29ca89be1e52ae730a3290743f5b907c554783603ceab8cc777a75e320b7f1f50cbcaa78efe817ba39b30637367b13e065940b19d7b82baa4eac10da42a6e33871c6c3ff70415f2fbc20ffe1df9a1750acbd371d429c9da12b0095d2ad85d104fffee44559539cbc44b10900e5af53590b408ce6d3735f623ef42c5ed80882d9447011c5c454cf07068c6365b13ef0e2752812b69b4c1fe1c7d360f64373351c0160f8e4a53d33cfb242d3c48c7eae1c525728332e1490c63de1246f5749bd861420d99c4d611e4a936b9a40b4626bae19c730e96b1376bb9750511424452f58c2953a1777a3123a7415a8217b591653245a4db2e029dbb685f25e0e09aa59624964e2b81509539f3c8e3a10c82aef9db8f588d4703a253121ebb0c6d951950e8ce17407ee566368f957d20cd6e26a058cee07156d5a0252d50e9a0d579136d5cc3a3a987ed6f796245565af54792d7c9230c9700fdc2975fe9855f19acdf4b86da8a3db51d866567ad973301c7257b168fb516a02490d5dbef54a20ec1e95b560b0cf839ec2bad24619d37d9219783d8163276bd9a03a96f6ae4e4908087213e0d87b2c439911eeb28a18777d8e7066d1b7807db2316235140ea95770e3b16d832b5287b935ef770c33832fcdecb734e1ca30e7ae990990bdf3fbcf34d364ca2805034be63fa3c7ac6fd4c1c8b3f198f49adf5b6acaac219ff969f4a43664bdd6c2db92f910b8c471bc91d7b0ce1b9a4659f9eaf0e95f7cfa4e137567f1d5066e8f0eaa6dcfc6e5259c64e002edabbcaac2acae303fc05655b6f6b2b07aac9b900379799ca207df1876668530d385a72bb4faae2c4cc4d585e3d598376f2ab71638fee92056c8d5ed697eb58ed52c9be4c6032894892939dc15c0fa8e1e3807358d78dead9e32f7b088ada2f6cb725a9ddfaaef1a5caebd7b2d5c6cf762c9241695e63496f685c07c5fbbc295eb44c267529a7beb5a2c442117d9f9c899796186725331686bea6ee018ceeb34b172781df32b1df43327090b6d7b2dc558102ceeabf87362e1fb82d7cd7a4435772ff9232d9eb65017166a10ef13e47fa2ecf922b30f9244f0c0d4b21d907acf0fcb2b179759833c172fc0082b2d3f0e298b69a7b82bcc0f156b565f2cb2676c0ed24d7edd3e93d67b6b42554fe880cfe1dfbfb615ed34bec4fd8de52820d49fff0778a63b937e3ff8518aa181f95defb25d2857826cf111c71c5e6f0400545eb4d01b6e2cb044374eea4a78760c9d622f4e27d5ffc9ed7cf5792c4483b622dec60893d0076de33c907e4e34a6e7ec571aaf34d3e647ee8736eb2a82010cc2b8194bde001a28c7a56ca66735691549e275035382b303a27f1da41849a9761e05d2fa943c8393a438291094026d4bf4b0341b414a2c71d961fd11eefeeb2bdc76558c2c1f11c019b063c6a996ca67ec2ef93fca6ee8057b3f276221ccd1941ce11f8dd9dea8d3073cca57c1e67de09c01a6bf82eadfcf182626494dc088957f0bdd33ed7d92f52c89bf8134c9f65a9f2404ce7b15b2332bfdaa70af34cb4b5709b83ae6c61de1becf3a2465eaa660eba72be35b9991ab1d4f23d122491e55605211f1899b40b925ac0363bc9e00d5ba0e763658d38f91b2b02b3f055eaa417063e95630c7a959ce134cb0ea6931e8853bc316025985192788c1f66b7faa2dfa17efdbdf1e416be2504cfa8df270149eb23a9416c276c57c0fa8576b5f0f53a7a15da07ad30517de572b410e57d2c55e0f29a7ec49d966f59370820be48bbf77ada399411e0a46f9f72ac49c9f3ce8a4bfed00eaf7a4c7c1ce846b43ed6cc4a8f62e7c23da435c9f31618c899a35bb08a1eff7a594e85be027d769116e3c909d83be1b138b8fb121bd892b575276515e01057bf49a9806fafc965625ab160bad6b06ffae41abf013788c75282f5410a18a2b99236fac429dc2820a1de39d8a97a6bd313fedbd657635c3f18e7fee9e9379046fb2916f6cf99a6ac001ff43569bb4d1abaf55ad02cd2d45f1c6ffb893bb3a1d5caf5f440488919eb598067aec64360398d7811c7e0e290b959989a62d496faa75e3ac648f80a2d1e4fbea49c14a180df4019e0e928ec8c71e204a6402503158526fd585fab256662b134b5adb0919ea23e95752a182902d022e77d2ae9fb71dbddfe00b6284c5aa9621c163bfca7fe4ce00f9de4e1bd1bb437756e421eab18584119df8ed39790db5af6337dd0014f872232ca40d706102708d06dd40a96232b3dbc61af4fae45b828a5254d87b72921942840bb5919d5561a54b90652166aa80fa7adc46abff2ea5a8b1b3227ae51f7395ce364eb7efcd5224ebce3dff55ce893130e9ec6c62d0ca7de52905ed134a722184409c62a95b63a130b161d3a9604c527a4701a6313eab70994f3f961fa986346beda13284dbdf34e53f4412ce3a5b2cd9c3eb23cbcdf4b01ceaa462307b9ea91a7f348f629d9ec0d765b9eba91700fcb860f4b9ee55f8ec5e3a7ee0e398b33d52b4d28e896d5e3223ac53c92479aed38a7e42026309e1a4c0a5a4f7555a940ba48235ac4764aaa76f2c49ee3104f2c8aa80ec7275e7663d4d07ed9f8d920d798b58e59ead0b7a3cefbe29cd83c656a81fb5673e644b91a2b1ca1f58adf463e1e1eec14395898b23b53bf12f4aaa6050375bd1aafb9d47e0ef6df496db558ba4cf239a5921e80fa926c2b02bdaf533bbc7dc37561e2bbc6288cfe9d9cd1cc239da7832f533d0907a2c4cf624645b412585d667e9415c38f8991e01aaf5ab61be67b9f6d5d8c0e0001f2108d19100a35f669144863ad4dad7d7ea06d7776ab9315c62e6a53a293b5977872f834282b0a747de334f510ab6f25a4e95b9398ec1763b2229dcdc5dd8521370e98a1b99c20fa128497805508e5789120bf0451e848b798d56c04f3835e7cbdfc9d3d5403be3a72d8593d6cd87eec1e796739b7745c75c5b21d27423e330b7ebc6ae3efaac8b1f82cfa341e38f9cb18e677fd3fa76d1806e6a888ee1f96680e0e5037057fc21e605fc9af94e8ecfeb6ec54cce1eae06f2dc4e2eadaf3ce7bd6d91cb0d132a20dc1fa9ddb6f0f292349dd55d739decc9fad2f9b1d30f241cf49250864f1ae75299d651eb399c7a9a1c9afc215d2a56f845b7b377b4cc4ecb75b18a9f1ea14c4f6ac42a870ed4e9becfa18c866501fcdeec3f3a06737b1f8a9111e77165901b67664915602a23499b9b1f75e23dfaa0b0e17a0ef033adb0baa14969dfd5129926cc5d48efff5be344dd9d90fc2eb4c61aa2a3f34b2c62a3cd1f9b2421f9b3f3721a987fa8e57f31d9f9f7a560e5f2732ea1efb7cb1210ee4d07fdf7980158978f599429d3acb2910fd105ff73072ac40e0fe694ce90b2e26fdffe1d390ba073801a68ae84446e78582df0c02469f6a7f76b683237a3bd915afc11c99d273245450731a2345e42d5f262de8c78bf645c5aaea44e92ebb0598d17ee92060162215ccc16ecaa739bb866064e07deae1ff46aaf9b4f01ae573b1a5638c63d845e1824fdf8231921bbc449caa67e509b19b44733fe68e08a86348eb901c01c830e3bc19a37b59cbef624e65f919a124abc7d9bdb13271847f8dc04912179c5c4c59818d2f550f024b76d32554ab3b5d1ad9c79d7492e35e340496030ac8940e3b6949fdb7e7a0ac8a5a8ced4ec19b16dabb6f631dd21844dfc0b9aac6565a23ee54787adf69eea470c6e30a3e134ef98236a4712ac2a60f1bcb578090586d8872c38c677df881b9fc2e5fdc06f1b48b5029b67a613ae5681023049b1644e0d83ec77b4a49e46ff9ae7c9ac36b5982c29a3e2c764f18f2fe798f804a7ddddb52e7a8566769b5e23d2d5db0c295b7445fc4a68d2785ab8ec47ea574132c0fc59b36c236931fa468f908463a1343a03a0df3a7002437868d2aef972869f3952e4b1b5f784133ca473f0de9ff5f77f3e4dfdd18945a193fc2d0bae4e9364e920fc58e365292c753b6b1e23126963a8fe5d355c5703b5e2ddeba4cff140ee7c3c80a1b4cc11cea8db21ac6cb0f4edf923d9d53adb8a9d73645579a41894058e86d7511a8dda99e196a51433c56adab2e4ed3340e7043772b7296f6088b9b82be08773105adc6e71c71cadc83afb7b5e1349cef8f99569ea2b3f23a900949ef771d816004bf17abf1decc7993f4b6f620fc98eeca0452d4d197ab3519d0fe7e9fa216b2601e20f70da151d49f24809b76f2d139d0d62b0f95b3e7a92b3d970ce65a0bd9dd7e4019ca59b703ed15fbd8b8819ca302a467e88e0449d4cff09401379bfaae0480a039b5867ab1716746c51e16baadf75a59b3f25e9a5e8d27156eaffaf6b7492c8a0b2c394854ccd28983589f46fb4bdd9ce6e085743c2529d665c6ee1eac6ecc7ee52cc7491681db00d97c8e641aab8c409aab0902464e24e77e424408cd98e25fb8d57f82022cba7b5049f9dc34fa757e3d842cca017d14fb90c7f96dbf17d02ced1f21acfd4e95b3138be05cf75b762b8d1ae1fbb6daa3c28c650e2ff4000c095436fd619d8c5302250ae0470ca6386f97def438ee914bb6dce2600a28af6e2def8b45547e371eb3dac04a4a2bd03dc63ba1a32a90355ec80c5c21a74776f4dc44f1f0236f0b568dd16d6dcc4f60521aa7366ad8109ca4c2c2d5abf3f3d73172583a53ff92d9e42faa63a2fa7d6e66d8ffe52d54864a02c005ca2c2bb98280381479bf7e8422bfce64ad866c220b7ebf7fa963a6640d9910cb03000bfe57af903990e55a132037d127093ea634ec6823bc6c5695659444b5b10a27463ba8a43619cea8adbbeea2c140cbec8867a13c17e56955286c5274fa34ca289c7675bd530a29719746441a264c7e92fdf4772818184c030067c5855d3183c047a3962de4737f3eec47709d059a7af033bdbc2378bc6f3c9006532ce6e5cb7f29fd78f3b02f9ff77d13e0d30d33a4222cb7a1fc7f372d1b13c0d3d7455eae4517631910ceb841e88a7dc4e28721875c36838bc9c300fbea2a0af03bb8cb6c26f0c9cdd9bd872e143fc30ce7cce087d7d08f370386580ba49e23480b87ee50c00805dd17e75d18fe4ace8184d94d8bb1fe1c5f89cfacfb7d7e0392d09599c3daad040c7a1155bd0bdde51bd09c616d9e84bf036af8d1edd068abe0d00c06b95ed8e74cc4c5159777df7bbec9c1c4c2cb145b71ddca7012fe6f0a4706be43b711bb3d87ce3a1576b19d18b1da6e637e35591803289c02e6fe9ec4beec0535ab0f070d9c2546b3747cd2379bc4c3a28a9ead7daf93e3e1052de7a965e34f23499ff26a575821f8198852ac4a2e2f06ac756226a73f224d6d6690a42761e64718a5f0f7e2a5d41b16b746c0b89755d8719f3f6eef78f103340b694abd760337c12494d61670151ba1394671f6261f4ffc7eaa962532f0de6b79e1d2cb8163724646c2cbb1b7d6f7dbbe58fbe66805a5438d9f82a5319fc3a03d2eb440f96602b5c4b71c01d1fae5ff812734f63c14e9e378958483a5334d54ac88301e52d39f8421805c5b24f73e5563dabe98c4ae03c8bb94ebb36cf11a9f06c6a0458e6c2dd79915b02ed88c07264f53541499bf76b64e7281a51e7683ce641ef2cacbcd3551a5340ee59679e6740c15f6fc6c6bf5e1da015b69a0bb13ea2e5d7d08f7085cd18816fe02e80972550a241e4da9bb6f7b8b88b2ddbb0ab79e07c0be0739ac54b70254f6ef0d5b681f76e9dc4344a9aba27eebbf719a9313bdcaedfcc52edc15b13eca1189b29468664006de1dccf28e1911669fab421f4f06663a798be2dc0ff2146f01b8aa59039544e2d74acc80c4e6f28e46cb7cb472e81d1a6e416c96c24fd1638f0bb6e67d4279ad8367d0b322b0433a166596cd43ec30438087ad2eaec63678a496b521b30957ee6efc976eeecf09d36454c20d67e2aa9df1b0c8d5dd43693043e98b8e6f207b21d6e2476ae5f75fc00556dfe92b480f87659aa5cddb82481ef7abd10ab0b20499c38ebbb88d22f7e53f33cdafec443ad059704900720b02c29162165b9bda34858c8425a4a3d0212e7cb6322e00b507cfc94aab29ea7cfd5a7e82a75210c0dfaac785c2c41a9d9794d3d4d1e50f3baa86c9262ec8b657c9e1050cd2c07d1f88f93478cd8982ae60e10bc2633c6b29b5eba28f54501dfd2731e80cf6e968b4c81921d2383d282dff43999a0fb5096cc86678cdd7173229277b79fc5c4d4ab463fa089b42befa23cec0e0a88e89373de2a26cc8aa4799b2d14e325726c4376bd57036b4a312a1458afb911d5e8c541abbba82fe39833a5f089c50c97150bab40d69aac731c4981956276430ba88f1770446dc0daff0e1df7ced27ef90002b047ca9659fcc5d871359643cb8916fe298fe486f105bd7d4b75ee8bd205fa90af4ca808d68c81645eb18658be6535b9a1c0e1a80dd204cf22b640900107a71216a1ecd506477d24366af270662c03177ef99012e8027774b02f7dd56bba97d290a88fc641dd6448fd91bb95a6fd27657f2c061dffdc16a1e0b64b2c67740931017eeffdc9a9ec81358583aac33d8eccb8a005af03c4259bbf8ffe4f22b34e5a5632dc0b9f221cf98488c8a2023d665534c1e477faa9fe709eff64090e756dcc43d16cd7ea583d44c0ffe15d668e88362036c1496b29e9917ca3d680ad2cf82094a65e3826f431add6d50f413b3e704002b192778e93891e215c40465a068451e96d90513ae95f0f78ca3e8f1c29cb09e9f8889864bcfbafd037ee3381b68a484e89920211b84339acc7903de1e467a26c42daecff21893c5edba64626f7aaa84bce69976a670e6c42e227a0745db5d115a34322e2a7e903ff86a85ee4bae1f3666d54504e1e0ccf42bb02a90708bce6434a369a9ddda589065b59465b864ca6cac066f8a467470eeed3d7c87a3afdc6749b86e00f12330f3fb5b7cc0936f404fe5ec125929919032d27702059c8343c34d2b5c32a8b738ea9df29dd9bba61ee17b20cb3fa4ec17d04b4f6fce3b91a7d3eb0fa2a8cf697a5cb8d4ab43f7cef5a90bce8dddca2f0e285c04404f2777352013c37b0bdda32226ed50cef7d70736d777027847f349c519edf7d64346401682aae4b3045fc2bc36ac7d15a9dd1cce96245ca8a0cf39e4db6a2da0bc575ef8c4acb6126060d2695a42412e3d5a9437b69cf1eef38ae5a0b1132d1674b6e7dc5eaf3a85097c20046597935ffe2a8973cc7f52010e0b63f47692928c4f6a07683fc2ab57ff16566bb17cf3044c6c32f840976710a77a38243e75c81ad10718ec8930b77e993d3dac27cead7f0e62a6b022457b81e2f7b10ef4550cabacac985daa4761dc4d29acb2eeb286082a022f9b6e27894056a520b2a2df87b06ae67820fb4bf34a9549e8fcf47d1b4e44bd92018c9f8f8b65d355b7cf79ec283cb7a8c3fb07579330be162a842391469955d4b0fd3faa9f6a8a6b7ccb58f78f5396a43ba2409801115243dc5a1e74f20ac68f282aec0fb7e36cebcff9f7fb97a6faa9b704aac3c563e7c71f33d19677a7d7fb065e6a80f762df8943ce277510b06aa7b5348078dfd9c717f58c8fc8453701c7edf835d493b5b38a383c79a5b4d2bb06b5303ed58f9d4bca529d1e4fcd07bd3901eaf29a9963c78b336ca7abc079eb5996a16fb07bc310d649fa56be10c75b98d137fa01abdee819d4862c8cedc05ddd5fa01a6fff8c2de296cc9731a885ffecad9670513a8b4311eee197bc0466014de62fa44e33d862a32856c6b58f76d451544746182e506719207c316bda48a8114ec1b360e72dfa07d4489f77d52f0bc719cef502148cb10c3b558cd53364d357abaa66d318b0fd7a98c32d9528bb227e8e97456c81adc3188fb1ec2c7dbde10b86d7fca3a25c4f8261a4508c64d2c30fb9b824dac4809c80789fe2c52acdb88afd8e3b8dbf5be8aa39dff6c78c90875a8308d9ec0d017fd5581099861f3ace61b9b869bee1e5c487c5a56dc68b8f9ed76e0b4ac3c33d9d7956849e89c39f907c6a711823a9e5832256202003c917b8906cf393ac7d5e684b6a6583b744ca19d1f1329d0679c4f79fe1c9cf48d79d16a0748457c6a5163659672ebde0188a2cca9bf02c0fa944374a3f7663bac0d97352348a7da93f1106a194e4fe25ae02e7efea13b0ba0bcfba69f31062d6a3e931dea4203b2c881f9b13020ac8d50b02980e619b334d013a32a4a71dc44ffd37c830da3bd82a9266c1a0a9bb13af84d0944ca321f5be2dc54abe35085fb6b679325b9b873b12b19ba23a3eac94f1ac3e612a5b542763531bf5bee898ef673a7d666a17160786b09eb56c06f759a28d2ffab7d6235aa7763204ef4a6c482222291e530267018ed0e75f2a4a24a900078c060b5ca083fc7228d742fe379a5ca1206334f9fd484b2891cc7db53bf3caebc945a954df560c04b0ef9cb90c7ddb06e4b579fdb4c4295dd131be7ae6eb3a55eca9e5fe65f9324b24e3d566e17d7589850282cf393c0ab822dbc3192e03b4ae735fa3b3f964b28e5fc1227bb6e0ff21913d60e180bb013d3f9e4d31aa68a61532dd6141c032e043a575cea6118867398aeb81a96d78e40dbb2135f6b75fdece27c09ff13037dc021c9688d0175abaa4723992f0dbf6b02f74f6e50a1f0e11032d1966b5f6d0690810157bdef0039584b4241a5bef48e1677e1e48aead532b5872332782c49cabbb38e45e5814509ba1475d08a4f5aa86fc7ee2769db723afc6da0971556f67d5cfb89238fbbcceb395b9eaafa5a1452be3ac965be1bd8727276706d59ab22075e5c693de19c05cbc2b7d35d05491da388bda7dd1706f7aa2a0a71bd6f7ae782ff07254113e48ec78581619f8c85b7d923683de5ddfce22d856c46777b50ccc54c5926e1b285cae52ae5f0a042274d71ee577473961bd6c18195881d94e997c5c7c3e08609d6894e8051d12772ce1e26f85d2d8ca6e7b047bcc80545ef9e250466cfbd6c40b445f960db419dd0ca67db87370729c269c9c2206dc550834cd21708e56db075ca76f75b2feb0fc0254df34b0defb20801d074f5b2cd0ef12aa8ab33e389a8706130685fcafa3b27700d79a1bc01f185ef55984758d31f9524a4ffdebb2aae30462220a3c9d7dd3510853f034082cdb9037d8dbf463973b44b33313515e47629bb1ae2c0bad9c97728c90f2d24b58e96beb7e19322a2184860d34723cb379580f380408130dffe39cc6b25dc697808b161126b0c72bca146d80fc1a1d8fe64431df65e9db97f5110eede5885a4def10eb89520fcd118fa870d8787d073de39f3720ea33649729907568ca60941c3092dfcb2db1b2374a84b38af860d2238f6e5502488f12ca4b3bad2f1443ac4b0b63a91bcd5dc9e243128a61bde6d074c2470c33904e2f41d66eeca2b08d737d0fb9dd1f187abedadb026107c29d427aa8e657ef409056cf400faa3739ba293d474e90fd3de33aa3b388fc4ba5cb141a586a1d51fa78c1ccdb688ea32cfbb8150ed35bffaae0ed5742e48bc1fe957d6e51ea14961c3796d1c6d55c6c6df58beb638cf4f7193f53e55a10935de8a4f3d763c313a50b2eece4a0610f4648b8c5749358daba88c6d3341ba6b7ef54f365a1987df5d28cb6eba5e806a0ae76bbd2534291f5f3c43ba9d09a33ecfe91e534871e6d2a2336a4946c2710954528f71f4ad0aef2161c145ae214b0a0813269e09dd3988d63b8667ab2c79e9b8e2a99f58f43710bbef9053d741329c00293f47f0d16e3e3a230150ec5e27101a82a4682747d91dd7fb7d0ae37a7c72ee56014e6d0d509e2efb94e97dd80706482de2219a908b6851cc6ad9652ce70f68b0ad715c450a7d0c0a5d3e8a0bedf29ca970eca977d24abbc5d5a9cbaf9a078c80c0aa1fe7a031c03d47c19e2f6edf2987c307b345cbd3576972683a13a68f93e142d9f6c61a0b557618fefeea93161f5f32e4025ce3b69c4196ad339f4f17726a328c19f2f3ce511af9601eb68c3a1ae9ebbb58a006de3c04a0885b07e1d9238467dbd3903d56716d63bae579ad0e391489d393ddfd414252a8cebce1b9d1b4e4c3a939bfb978b8c4d2b19718b47aef1e5164c96da7086168e3af51ce3103ab214757efcc1293cfcddf2d16ae36d01635d67df0735de8c7a85be549a354c079d88f5374bcab626425a94d9ca23511d34ca97c0f5fe3dfe740550e84afda849eede972b20c2804742a6485419718b9d519987895d68245ab0159276aac5ff6fd62cd114b25372c8b83ea00c3d467787979e900a8c8b7817ed91d1aad843fef848425a350b1d0bc1ba631d0165a4706ea06e06bf9f9cbddbadf6eefb716a82a5069a638433737119b755acbbaa9deee9de53cce68cd319e7f7c0802df78013ecf8005dd6ecf76e7bfe0ec45b7057caa87418a939084d1ce4376076fb1b8884a050c9dc780c6bdfb248e7335dd261150ab7c32581edb2010db29e0329524af51479ebe5286be36024c3b18d97cbb777d3c5d3e673c52980580725d47889aec9d8954ec07c963056a33aa4af9d43398b2043a5b25dd032d33e74da0b4282be2f4c19e45e349ca2e20807f2535229f8fca5f0e549bbf95eeb52a6adcb36c7cb640149b914d80779e95fedbaa4a0cc2cb21430f980fc7fb6305aa817820c3e4b579ad3018225b0e3fcd9de09cdf2626c08442ff5f4b6fb4452bc212dcc5a1aee7797f74f8d9e94139d3e8e190718f955d038adff5ebfe7f41f0c20d8dbef1fb3be23f61a1c6785e15f47174fc29962de698b1f37ef55a121be22dcdcf3df0f6918213b09ecbd48e4e30d8dbaf9516e84f0d0dd078e0818d6ef3fbb419c6616d064dea48efd0cf620087ac7a511ef2a50586c0637a8d8e7e37be74fcca5696795417acb51b2bebb0899b1a0e1cd975e1ebbb14b7658633cda94aaa55793eb180af6f859c552af301d5ad94ee48f673fb9591897d0eac12657dbea58a0960afdfb8a1d8027c402eee7fd6f903d543be3076a9247c037c849c0c4b81b83efd03393e1d093c50dfac2f125fa556f9d40f6a8ee53c8c00e23dd8e93c70a831187156b38701353e1205fafd380473fa69480fcd34e238868ff20b49826b3b88a3d9023840d8ef03395519962f647ba7c977ade180ad04bf10180c0d6a14ae8b52c37a1dff6740dc7b11dc0c34a39dec866880c24af8a136137b91b1846e8e9ae9c576eb3b7ec027ca99c301013d6c075df85a03d8f7c22d8f5839b2270d9b7e860b7cfc5c2beadb457891097ccb8af6d52a00e887b9f8449d710bfe20e8c44000d9f8f6e1d6421ffcff7bbe5ae2c695448d6fcb62479c83eb0bccefa7a0440f56f7a72b1ece230ff112915ed6bf7fe7a0b7d834e0933eeef1f58cb8b2c49857ba67787eb3cc93765e066d535f7bc038042dad92db4896db6170645613b35c939b5f0acd3bad4c44d2d19615dd0ad1e81354f6e0c58f5caace71969029530a0c9b1f2393f7e595c19cc151299255e1eff7cbc18517129d9341dfa2bc18040dbc288eebe7f3f357eab2dd657e05a851a569a7a7b446af99c28e71e1ae1ef3fe945e1949d302d9f75b0b7a09651323232941f2cbf21a497d5abb65222d10af1e192d4498a6672897c6f5bff8435bd2f70c3b5fc4ea13f40dbb7e9eab2e37d0e278412014385b30aa87a29e2861c74207a7722029b12418d39f529dfb890f8d10b73e5507b1d548814c113c84de30037940d3b903a77695210bbb4c1c8704dd01b2124533b453b109a534f8969c0d813abfa1087d78cf02ae012e33ad3f0901698434b8e406dc97a96278e4ace7b468cb6c9dee455021c64450c754d643f92bc1f572bbe96a65ad67225644ec16458bae078260da4d5c91b37b3ea60b41930c9add6e5437392d6836c8839046cda14a42f1b4b31ac636930f1f3cd887227d620415dad0ece9613791fedbcc3e0295000a850279ad796cc18ed4bda62399acbccaa99824104738e6e9e2993a07261f472ebc653a51413d52839b5e692bb29aa12d3b85cf512ef2a1e1783d84f8f705895dbc2f5c172f46d329a54a25dd5b17f80c0bfc1fc2314fe7584ec0f34db94c74b716a8afd7be7271520c339ee10e19a5c2a2152e28c6ccb08bfd21448d02cb025642a0d3a0427f6308efbcb105fbfea56809f55f48e253856546d78cf4fef8ffebe16a720bdbea14b3c0e29fdb515aaa68cb3a65dec87447c4f4bf6ebc9ab0cb7614976c54feb5b6d1d8c53831bb9b0578fbcbf554eebe2b1f9468bc7dabbd16d322e05867024ec08eae66d265d6fbaf8069cc72bfbcd1b444bf3d87b52c47c60dbb5d2c891e747f3389b54770cbc1ddfe922113990296200d4bb8402ae1911fb86487e9641bc4540ad509385ed13c42f4cbf05cf38d724eed8797ae7119f756a905c2063f8bc4d361da7cde2f52cfa24336583c831cd49b53d4a0dfa46d368f7b9997292d9cd338d670b0888d8b0cd382e489cadde3dc6c7ad965bb8125067eea7080eb067012ce543d99dfd40e2210a947d3040ebae4bb9839dabf5c72a1eb10c897d452b0ca1741ac4abcb584c1e2e9e0f71354f53283d2ba1b1d19eefb950fe5dba09c915aec09a6cfa6c01b8e7133a0845e40587195f5b572e6d4766c40a6026d2864959c797e4319bb08be4900c3409101c13208d5d31aa469396351047eb476af29ffe733098972597319acba620b501d4ce0d770a75d154331f3926981ba3b389323070279e2db40bff39ffcc2fa3c4ed9231bb70c00c1c732dd3d324626777c99c0d9a23d22ff97638f56e84d799776ab5889744bdd976efb926763aa9ae5b31f5c0ab5ecad4b0697be18b4b0eb9277d45956ffcca7514addfe4f01bfe03a958a0ffda859cfb4c2c0fc09623628352b478706a3c81376cf5192cab57acdf847e846af9f730f8af13b4da3c24946972cb0012115f025aa1609f5a43eb142b7875870aaf4444db889c4e8fe761adc1d52fe14b677cc6a991c3d91232e7b15c206c7eff5ac5ce66d9b1245f72571fa304e60bb75bd42aa33f00c38d3835dafde398ead1a7e5eaec4ff36bb1fbea718ce59fccddad59ee083f6242e6d077d3d2ebb42559d3274a9d1e8c88a24674071c9d6e91ca382dcc10e604042ee5501631f974811a94e5feddf1f5d659eed25a1ef400a00bfb1352cbc8eb06cccafb71dc6fda48e27f5c40603f0c952f7fc55ebf4ff0e6f5d0c93b1d7af18189db609138d36346e7d61349c665d40d11fb4619921fc55b02879a3c4987ebca38ac0f1e9258c263b86e6ba1bc4169aa5baeb41979acb23f6fd1459eafd68b0d46729908e8529b2eb9c9e8cfd445017462db876987d99e5da229e8020482faff03d0a90e69af573313f511561d1102ba11b6d98a18b1c23f288b5f5bae2d571c691065bcde35e2ccdbfdb6a3cc95461819e0019f146d9947cbde412675aac8539d175c8874e9103c38760f56d9338073890e214baa78742d54ae05eeea9881a8c49860318ed0e49b75c39ff051c8eb64e6040283802cc405344f0ec09c4cf7b85ffeded8657d8765ef6bc5769484144e62d8445be318217ede36d3d91e0209a3fbd444422f047ca990f126a1aa40bacc07d7d73e556d7380b0737a228101bc4fc7d89586f55b55344a5f07a9d093d5e3e34b3544f991f49de4831b9b1b8e85a7632cfc531a880be79c73c5776294f322843a9553fc45aad604d2980671415fb28c6e36b8738a23213dd6692398a30ed4d842493a2db7e67551538d032ffbda96fb6f070fdf2489d3f71b27da8174aa5abb602830161c55d0a21f27cec953e438a3cfff0ce97b0d8830e6b353c5d75f15bc600c7d60595108b7e616c30eb7f4c5f396a9f5f7ba060e7991535ebe473691d5828012f9fe40e5d3a9f03a57ab474986f3a2c8f88d1e4d715d7eac45c84d49c223edbc44a116a97d0b3e2b82e37614b2f4dd4af30be8fcaa6fd7ca44d902bd96f3ea35c4c9e02a0fbaedab698a4324501d5aaadf6c89abde574cf37fcffa85db50eaeead861bfef413e947f7423c867628d7248c8df8492de02ff7c92687cb09cc507298dc186b1b57840a4d40b50eed93a237ba0326a1bb2647f0b570c9fe39af3231f865ef2026c14a3a8b4c227d640fd14f947612a472d5102d95bd142e67309c46f4f474c403c2e6d3c6a853fcdd8a8533f4c2fa1d5feb8de9886b7f0d38c67adf1d626c9a1f58a8a16638fc6795a384db49dce3babc22ee2ef2bf2a9c1d8df05e2a9a95fd47b32785d2186ef6b9317b68456f81dd65f621ff52146e86bfc3312a9cf504650b087880ee7b0b2d8936d90d5704447ef469e05eb8dd2fb4caa389529705305c9078d7ef19b0f1b8cc5a779677d981b9d3c1042c35747065e1e61c0d99ccf184596bb5a2c9e023660ee0a8b3677c9014141cf305b35ae98cd89078de2201003706d27b70b88959dfab5745f598aa218214bf8af61d360caaddc1ea21f14177838448df1fa2f3177d79f1f58f06449e154644ec2c41a4f0d215da1d9512569d5bc3351eb2293c03ca9a755b69eb3efd1f9f24b7ff5cfc7147d89d6af1e4517671dc04bc3942f671b63e1ed7862ae380584e4f5ca1526fe787f690dbf832c66f2d134c135b846810a3ac72eb11ab25970f8adddaf497493ff5d2d913ec7e23c7841f0bd8ba3e74fd9d1b0436b929f093419dea6b837da7395e8d1fafe2a37735004326d54f890b2e641f62c0bd741c8f2c4e81c3156946c614ef3d05472428c5962574390347e7ad7da9395ae7d249ad346a53311145146691454ce1da9face74e05fb22e1d4a4b19d1888dd40dea17f4bf247ac69eddd6e38bbff53f9bdde700882825ed6ce07dbe932a8124bd8b59b50afb9fa22f7860734c34655a6f05526c3629e5a010e33977823142510d2957c8ad888e2294da1a13fbb1f8d234add4a3278befcc12ab3c94b34136fb96379085d8268005c67e1055e2f8b2350fae04fce6af309fff1845d3c06371fe29f36c1fc0b3a3f1c5477cb45d67368aa4a77d22fc92fc46a7ea31bf2967dbb577b40f4c0e9ebeb2207aaa52eacbee5891b804f4c5696bee8326f95e66ecc60f2e5fd25e243bc9e6017275ca7c0ed05ff476a6bd5823c70550412e1761eb19bfa46a1428a3a2a9dbd414e55d77d09e96f604d3d85192524b68bb6e2e87a022ebc3b68c006be2e5fa8b4e852d7aaabac1a9e3c2c8f9c7312575b142f2173944f510046e54e2cae1a425ea5c696d755732b32cb5b760cf89a6731fa5f0d461b708dcca24b75e784063043a5c3378fa3d1f232272b154141b4161b07c8865e864499fe8798c45fa923e2f21ac77ee5ccb43e7134aca39bc8afcdf7a095355133875ebd64d1061bd9daf45a7bd92c8fa2b8c86ec7ea9bd3750ec077c0c60cb61c9b2cbfbf5a3b607dd9e27b1a9e45fed1ab1e2838caac8d72fe8fb89f5a265985026a4d94aa2676b0ab65e5de52630e14ff2e9b5ff32bb4f7c3fd758c70e4dbf6389a32df74867cde393db9674d8bae3df2389518119a53ddcbe52387e64bccfc970367f18ca2aa72726072f20a6d69aef27a5b9ba90d52f4f36cdf9739b1b729219b79f6e62ccc5cf69fb0b19b66a33593f9b53656e6319be0a3a607fda9e13051f74754e789c4a3a720e0f2dd774b9585c4b39f6f18a02224f5dbcd8f17b8e1511d6542ff65fc20ec5038a3520e4d36b7c9d0f2a824d50080821f3255f5083f043dbb2050a9384aeda43d86194886e02b817e71d96ac1ff9dc334ee438a21085fada71dc863c69faadc602c0f84989dee8c8285e417777c8b5b29e41a31445f34ed6c000a997d4d909fb6127a761e03a6e611ef8ca3e04a6d4f88bbad42fa67bc2303909d774d6583e62e39929800dabd53f92724f08b972d91db1dc33460642d77b5d87194e0219e588515aa88530c926917615a606a5181dcf7f165560fad4c31becf7c06f98fb57729c3c356dfb984092338a69ef7a445de4693a0d3fc9e2f7f36e80884e05165dd73fcce1bfc35664b91c4419ff0e8ba032490ab8cdf7c8ff4a734fdea18593ecf3c1535dfb93ac5ff53eca7e46b5591faa618f64df28b6dddedbde6e262cd48d7bb75804ef27d6d1fe371f017c7891021338a72d3dcb4d36f7b9a7cedfd983324e9ffd3916e26c7d9122c185e6df4016654749ac41402708ec975b6608c3a1d5f43168f709f437b268fc80a534397db880f399bc568bcbf4363df5cf2b21eac23eaac2627e78ac66beb7088c90d70cc2543e94f5909dd9627dae7ed23e5f8e7b7b1e853cb25dd333ffe575600ad1ba8fc9848eea24afa195decfb332eb7dc0500881024890a18acc1960c8ebaa6f0176d992e3f57a4dbdaf08ada8ba5edb83917778fb4bbf13238a4ce5675074b8333b71d4731de119e6c8b2a418a5854abbfd0f9bd3472b555afb8cf9909666b7e7501ed02e5a26b7c4060cb27945b7dabaf8f2870e34aa42bc562733eaffd13fa819b6edf84d4fe5d6e466f7597605e4eafe0fe9e2f92e654ec7fdceffd0efb5a9c292af9dad4d9997c36af38e193f1fdff5a987e1bcf717a505f050164ebe88c114cd1877adbbf2ab2b158d4d4dc27322ac25fbe270fd197a86374ef51a47118d36991e086a709405e52184046e5a09c3eca64c7e7619bef517dda0c53571eb0ca66620a74548905d4838cdf037f989df31b61a6116daaf6c0dbfa24de1c56853dc11df8df22a118169830cbfd42b0c7ed79e0685091313a86e3b37acd0363b72be222c11f6807468e6a8b7f6b14bbabc5278181037ce69364191711d6db03aba7f329bd8530e4dad53147710f4b0f2afe8775ccd5bb87a0b52f8186382671e542647b0028ea30faf36b1698e8abdbe4e1dd89da2c18f43db58389dd723fd74b325b8bc548d859b3155fc3ce7bf8a9a0033bf1ae43e1bbabf7967f87996dd33a57e9f5a7e9cbbd5a1fb4c318e2bc69b464f3f059892aed9cbfa66cf4555335c056e11861f58f9fdbb8071c8a228098203a3edc84d63a9b4b7c68cc1eb42b865b4433db245a08416d110ea90118481699b2747c6cf850d0bf77ed78546c2ef697d65759b6cb5ac54edfdc66523a8d4c5e24ca36903ff3140b7a7696b65a59679815567276c9ebfb98de529cab56b4c8e1a40ef7e0a6e1b08ef56bd32d5d1b932a696c13ec1a0bc14ace64c95b38886c817a8d3f60950660be126a733b2fd493fc418c52621cc6c309fd8a1290a8204313e806d22387046e2a4cd12967a88d70b033336385eede393875cc4d7439b3e3525345a3bb6672b2bc1dbe206d61b549c8e88e2172b41797d44a23271a92b312396f0e255e6d41ef74fcfc48d1e638d515eac3e99f930be5f0e24717feb8a8bdcbdc515bf6a1e4342d62784d08ad9b3987a35a4ab8054100e5b666481120664f0aa4408a2aae04253242473d9a9bf2070cbaa2023cdac8630a1d01688d35ca8d31538cb98b6b4dda25fcb745abfb8d654447c91a906ae82cbb8154d617a07a599b4c801f6b3858fc635333876962e8f97b8e199d49b3e7c2e0237097595b86f2b7060929a502bde40448ed0769fd2f29b9868a836889a4d64e37d4e211ac10f42dd6cdf2b10f8976f132ee15ff4c2f40fda5e7abaf09cd7c6637adde5039c19afe99aa3c9ecfc5d825469d1232a41ba5133bcdae00b0e75bf973734f41560b874fedaf1df9f02ccdac95b7b3487e2f8e3c9bd67c18029d99b615db46090f42604734612cea32bfeea439960a3542ef947daf3737cad243cd29df2f393cb27c8f7a17f2530f01bacc7729d5568e620cbdaf1cd9afa850f85eede100650f780737586208a08fb9382b9845f13483f9f66ef09c0c028992a614988bbb3a24f96f2e4b38514088656ba2b1242daeb77f3a1d10fd4ddaccacec8644adac624b9f1e053ae4e31bf856b1eb18979c352696650af624916b81777886f9cf504394504c123aaa361b8ecba2add44f6e2011a4d7ec5dadf1c2642f359714301c6718f27249874c48bc4efd78944ec982d6fb6195930bcd93bc01895edc4aad9332401aa376d3afd41968b578656eb85263dd9c4419349a37609dcd8bf1c2187298acdb63169838bdc2c7e76c1ee3e85c68baacb87bc2b06ea3f88a6ddfd4b9577d2df64c58c337921f17b1a5c73d503602439b64f5b820ca18572a57b2d58f1b7e07a6f39333bf477f59865ec0d063eed24780c8b47e628c37eb29fdb7caf2373929e0e63b1281d281e440dab3fe71d78757ec08e0dd23d0570bc1ed8782583eac1ff00a675b76566f8d1a48a720c14422ac4b3be918345fb5121193adae105fc5aec28396bb99749f070d96883be9d7afdbf18e8afd145623c58f11db1203ea97dd417a80ca792d96199261fc52c93f7c6f52ef2c4d95cc85f1f0fd6ce1f0f981a1081e98e4a4689ec065902a713b06b48e8fdbafcedd29d460598c94ed749b82fcb25d7de427ab7738488f4e2621cb811cfb0ea1d0286eaab935710dcb81bab1c20ed6900fa8636df55f8a2c4266bdda38d7419b5d970f5748fcd32614ea5df418c0afa62d4047759aaf1b6efedcb05f103e38a43939b5a2f2ca8690996cae0b60594b544b740041988f3ad7f76431d4b909c11cf28f5d83031f272b0e01327b645cc3f2d9799b9420d390097451f7c0428634f7869b6b952ac76324a6a32238746f23f10f8593f2b5e6c13bbb75880bb601b348466ebcaf736ee60c3dd9f47745739ee96b57e035a2b5231524e0cac9ec6c047bb1da06c932bcb930ade67f0bc8ce4e89dc45b494ad2f86a46bbbd1926f5821c616f304e152d849e016b46f98f213af9067a267643afee3e769b9b617fe240a0a0c0922f08eeeb49f4699b57b6a8459f54f44eb904f7395153700d8f3fa4ad43ac4ae55665c70e87f8de93bdc3c41fcc6266f705d12b4125cb7869381a351175f6ae53cf3e12bebfe20dce707aa61c01b5bedd17f39641b084a91d4f384bc383e3c9b74e24e131952b37790c8d24588703cc97f1e592f910f17d672cdae90aacfca256b845490f1e2d73e8ac5f08f8446813b1cec9fa023f26eaf609709c0488a72f00c13e9aa4e378d0d5796aa485fc65f1d23b4c6417d7275fc9047b40910d980ae0432399df386109f0ad1ad4222c00d2c8a7d4a585214174fdd4c0e0bf515c7868ffc6ae0ddfb19b7eff45e89518cbc9a9df44de77fbbc9de73088739fef52050a59552c4fc94acf5dcada7ccccc944d4a516191010b6a21fe1a2defee30ecfe878d6018392341eff365829109176684f8f5443cdceb842bc66209f90f24d1751619e02a0a3ab98635c27d1909802ceff3d8827e30fd12a5d83c50d610cfccab7a5738a157ee2e3b5153f603184e4081afe3da155c00e6eb29471fbb6a3198703aaf6f377d1ade3e9b67588277e82921f1acee25a435183718f4d540c53c4b2b753bfa81c2b0f730c3c47f8042d2e7fe1d68fa3be3481e76538994c9ccb6600414204d01885aaa863591ff67e447da851e75a34516c95dde9c9e184e5d80db53730a37cd16b88ee137fcdda81de8b9f55ebd4a181c5ce725420d33e10e2d84a17c76bfc9d1409484f5ac7a112762eb2cdd1858a9a6d49da35b61d58e33ed48e81a67eacc835032cfedf0ca2cfc2547e9ac463463767bdb21b6ba8628cd444d52fe6c166fa659b23f878723e12a0d58911a7d3d89702156eb5a86c600445bd67dc9b4e7b8fddf05065ee55c34fb2e6882d19163423ce2d66e52b5e22a8fff6b226de9130954519381fe55c25a6c8163bc350887b0347fcda67779670075f55ee77855c3f7b3bbd820d9099cd1f48e0303423e7c98c55a20015a18a849bd01e902b6b74b20a53a5445b48d7a8787daaed8b97c86d4e62c9f81752afcaeb2e636bf317ea1081d95fc7a57372f7fe05f03965051c2f2597808cc343f2009c67a8147c74f3a58e425ab2575fa80143ec1d5e61a7f4871f1cdcdf278e1a72f498292a982df25de1fee495775efabd03df5b97cce7736c525e546e1832af4bd2ee801fe7b15ebcd4e4deefd96d0adcde040cd612ef165e90c7e244ea35e3e8750529d87deda6d07d738d705af2cb5adf975469fa3ff2a5b14422b02b1196f85bcdbe507cc14bd79fad419c94809c14ec7567f653357e4220a96f6c4db67d3d55fcc69371bf5e5d60c9db244039be836f4255e1acd6c09920cb6712dad46a97ab8d6f4e812e02b45584d87057dd20f5374528e682ddedcb7fbefc1a1fa28be71d455d638445451f7060ac83f11c53c690fb0c4ee192eaccab3f5a0630a3a1e6a89fb97c636702e57807548d44321a95bc1d21afc2f4efec636550cdf3e4de53d3d3832f6c14d1cb782328228de4bb9d389234980a0ff02fe3684a0748bfac4f8c051ef28ee11c343164334bda2558b7b99a90efe0f2c8ee10e22a0ac53d068565790de4be84d6b540d411028a7716ed043977a9286569b0a7c82ad1f09985ac8e3b850216ad3df17f056b2c36827e73cc5f407a7c0afb781d066a5e0b1657934cc717c0a86e3262dc878a22150e8195b693f7cfe0cbd8e7488768a76f0e6d432af02d6bda72a41cc851a0ee39df60bbbb929150479e2de4a7378044d958ab3352684db9618592696e757d1d80be6e96be949d61899db7bff3489bbb881bf048084bcc9c831d68d0f46fd9b550964831e0c73516033ed9606ca783778cca9840045da299f2a85faa0a1a6215088572fabd5d4e25f25d9d817a00523910ed475cf2f388524a566381d0ddabb5f356779969b37d4a96532a718bd25c534114439111f51449cce0e53c3ad33ef17f50a9a3cf46f62cb32fc8028d7b9cf283a5305440894d47154d8e012ff6a202e3efb301b560721ae3d585313ae2155f2a371361500b329b725577171311855164b8c698d14de42a76fc7a82eb0a7d85a867c9ca398b8d23068c068bdee7833be4a9dd199b6da270b5a5bc9d7af967c6829fb99e633829f2b2585c31c9d519755e3ab0e6f5ca9aa884ca850927f49f653c70b67edcd25ae0372b0eafb15724df814926839ee850dcd388f50fccefa92da431044950b2035218bd8df2907b320aade78ae663d7415a7c51a3bd05c0b9d29374bb4354867ea2ab5c12206136bc4101509e2a512daa37a338fbf467953f7f40f642005a8cd00425ec4fd96c85d15abd8afd455589ae7a327e283b5793ff7bf95f05c254390068a60ff3808a3123b0ac882dbd9f478d47a154f0216bdd79f5e3e4c5ec176945bb10f5414eb21bbf1910bc6a53dcef2f4519224e80a7185db2f49be88b98ba58d0f335e65b550595c66380be8459a02874675a3c862613a43de1be4c17371cf33bc22b631dbb6fa12f49672265c7906dd732b01e6afec02a9c81ea84fbad5caeb263af4434e3e482773cde3e51ad6a4944aa5499f95b7eb99e37ee8e329b4ec3702ad68ab6148aba18800a8e345fd6f5b9c0b379e449050a37840309d7406d28309bf4c1e43151ff15f238b930099f07fd71eeaf89983b3522af3e36bee5bd73207f849eff91246a1ee385ea0254d45adc0469200da2146cddbb75345959eec7de2ac51bbd327c27c0a0e7ead0dd77850606df7db263337c5e8b62dc505f64b697ec992c8aa77eb3f555a3f3b859d951de0db484df9e6f35dcfc3f190bf5f2efd219aeaa58a2e1c3b8b2b425bd74ac9c08f23e5d9540923c72c58e4fc4d70be8353e8130b107d1d6d16eff987f61b021401c089f089e544afe81ecbaf498b2529271b834d452d82af6b5a8bba619d7a06a5f798dbbe7a0f6aec23585b98298c9b162468323f1389b4a3f94c1f624d41e529c91578ccac52e5239047130009883afb34a0a5ce72dd1d0e2f13a0b8e28ddd53a6c436e3200c1f9f4dd03d3a6f89ed881d55719adac20bc002ef1fbf39aa77830cb176015f4ff83f8a763b5f35fb8dc9ad440b1dabc0170c8613f718d54030177f84452c5f8bcf48bc935ea29d292e675703d785e718e4f97f6e671d57025f60212058e12c56c9a34e3d95c785d6f2166c50db785cf46cfc79c2a66e3cb7192b5f3f945888fea54a50ac655c24677701610a5f0e4a98a9e98a415c42dd921e4ecceb21746334af904fd1e8f58935b2b4143c3cc6eb26e7db3a0dd17dbb6a04383d32223a6004676624fd372e3353bf74148ef4d0940fca0d7d949b6f116f5395c190c67ee4d7a01900f64c6a970c867aa4cb978e6040933c83ce2c75035486b6b502b0bec0f50ab854baebaaac9c86eedbc3e2876cf306892ca8cce4f7285176afc6a2768de0155bcf3c2453e8edadeedbfcf129b71b6dcfbde2c2b78561980e49d71381db7eae90896bd5ec77b4cd923f1d39f543860ac14f829ff30f2dd54f332c173885ce37dcca60eca9ba30954d20df66835212a89b9c66ed8bc760e02289454b27531a0782bc967146b2b0b30846ae03ac7319f2b4d79ac93dba37d633a0c6f443db9624741b72403cb96771796ee34d35b67a14adf325415a0e8abd414ac32b0587b7924172d948433e83ace3fae48fe92b0c67975a3bf122160c49af3d9901b4bc366c5e60741e03384265cca2e55f52f8730f2530cece03245deb189128655b29bba4cebac0ba226efec9711215ae5e4fde1de837dfd6ed506e5713b03e541a14d6c8427526f51a45f34d2a8341a63e92e47c9e5dd2871f3cad5403d9a1a4fa4f6639e1b0e931492ad342adfd0e61674492b87086b02e26f9ff5a8cf030a0fe4a1b89e35d79e7acaeab2288abb67a4ceb341c557c037d4a4cd321aa56aa8cd377e45ab1725e39cba866fe49ea40180d152b8523ecea872a6785e62a45955d7e88fda3b4d69e85cabbe21c9b184edeb5c33240909126eeb899d88ee4efd6b5c99466e281a79eddaaa14402a5268941035c4ab6322bf955678067a048269cda1a8a8038aeb657868dc512682d3ef75ff94e851e5c5d41013211d5286138cc3cc4a46703ff68cc0ba5696320d6df0db67f628f46445b06dd0218a4089cc75b26dde2cc146ac40345bc376e438071964fd3cc62ca7682945d20d24eaf64759a350631b1ec48cc4d860eab0b15c48c4b96f1ed827f49f578208d00372466279a30232fada091753cea68fb54343d4b12d0bc2955315cdf86a31baaafccd6a1ffa489d3ec766de6b40d18eb5d108dde5b9111ffba017e6e90d40d4f6eec46427c728ed7457e6021a3504810eefba90259669087c678a95cad60ff8ebf6d01f110edcc8af2419946664d2d4f9a0148db6d036b66cc0113fb5998eb253fa3a318438ecf0fe49661236a41309af60e7a0727d556a21196db88b2722b6962c8644ca0b42d9d2b771224e7997b4b7050bb068df294391abd3e1a219d18158a80063c567ef1f6d43c22fb711bba281c8f71dd90be29bdd50d66cb0c00254adfc834a240d16d05c137dc7711b90d5557bea99b9790b033b9e615a132ef946b251d91cf1342c6f58c63240ee83092279bfe1e46c7b76eb0b38c0f63e9cad8f94f1af5f82b3509358c6df2f53f72e4bc08314552bb58980da93a062b0e6eacd50c3d547974b998c77e3fb3abf8950f987e0db79a0899097c6ddfe8d4d9ae83c8a21b02e945b9446f9a38036d60db8aced4a024d1eee782e4a58e6a74c5383962e9df04f7933e39f1e0a3de6c0822d4c9e455db8e629274c5ca35dfcf6feeac8c5c4c172b96a7b6b2f6f9cd5a2b7f59d59fde0ed2a78e8b963aaace4627e5e28f7d793aa3fc9795dc263302b4e2053f112e768ecabfb7510d131e74ec29f820619a9fe0a189098222b6786ae4b6bc58f2d073f5324c3407f5a776e9f3aca5be135905545e27b0b6f2150c14def54323eb410255091defe36d67deadec6b8833ad3e9b6cca3d73017a92f360b4ae49108f36f0e6aafea1951b072908b84cf8ce12af0f87e5943e857efcdf2166e63e7f121484f85de896a3268a53ed0f869965b9ed7febd9c570722b4dfdf53d3888ccb03952d064ebb605720e1c7a17aa27d7b1b8ef4b3869e1c440395b0915c19d35d8a8f25887aa9d54d23472b6487ed424f47965ffef29baf96ddb3404ec501c224a4003538d76d3c109f9a46ded4fa8793300fdb25580a90193b0e1c33259c6f7b6f1a04778d81c7f078215055a8caeebe1d6b8073ffeac928285fdf9844e587b59a45920a74b80f751dd6e9e1bead804cbd22483eecbb75211eb37039fbe7bf1953a62acf070e703f0d7735342275400898ed2dbbec259f1899e16509487a18c563ccd7fd47e0e2360955159b13d78c3c4896ef298fea74604fa5d0fe5600f7bb0512ec84692380af5cc66e61112ae1989a371090ff4b827a8f873aaebedfc078fd6f6089466938b3deb0a20483b8c7b2c6fbe90547bbc1b6e00d96ab5c057bd3c2b02685f548e24abeeac6b2afc249857dddf257af6d4b88dbe890be87287c9dbdfe58283b2277083ec91f30eec3edc746f0594993c4c617a5d1186530591ab19bfa1fdad1354dc3530b8c3d7ff8ddd53766621dcf04fee77c1dd4efd45e32bf1c53395a0f036c1ed01dd70b43cf4980339d8f9b4b7eb618f8a18a791cdc82c0c88b7f3970483b172ca4b9314e50c030b2d15b2903f2bbda1c7fbcaafcf3f68e4f4ad791828d65a7fc414fdcab7143b12f663ad976b1d80bc9f1f5371a9e0b5a119525989ab71e739a772d46aeae9f804734c4946f9c5e47f104fc65c036f639fd47b0f90f65434ce8424f321aea7c82aadeb06f22e31f646a57561e4b534cbfa6ddad5d87a9248225972d678658017ea8c17483ddbc47e9d5bd1f7c2432893bc130fe5c4862c371123b8351f3860d36c02c961bbc133d514a0d8cfed55d1d881fe38c9ed84ed1f172c781c1fcb1d30e5a537fc1767a3da92e8a36edc377f25b3fa1d6b90c1edf00f0379a34a4e09bec5a01dd76ee5e76ccdf25769c489ada4a0d3591e6ae1815ddd0ec5ebe45c332a25251d5c51dd3ffc8461781ff2abe39a7d4ee9455ef2ab8d2e92c7fffaaedcb692bb11cec2953baf9b7f9b661c2ffdecac0ff5b49032fc551bfeb1de079ea1baccd8ae91f60a2908e783ef2da17cdf8bff1527452f259fe0415cd34095b9d3009f50efd83076df1a523a7fdff137ec001e3bc3011ee9cc152b8c136882d63ba3fec2e5046d66dc574866c6b89676f138b1b99fba480b4d34e3961c3679cf47a1f07e3d60505e45cd0fa2b75a15af9be8aaf1d72abb4d2e6e5032c46f43a4beda6f217fa44313f50354110bab9b550d9287db1e6816c91345f93ec8cdc53b5cff2055f35e770a5ea33ab66fbc518662bc8f2f914f1a4ae60af31d5e6d9fa7f9bbe008c3149a2d2363e0b995f60160c86e674ba5136486739c9f2d892de462e1ed5505efa7964cf8f973b56f8b73710f5e4f59b962642be3f5672959fdc97c7544211309b54d460f47ca2533343b8820e2e30efa4073c943a46ec5c88b997ab6dac72c00652249e7aa78b617d06af0c8277fd28213357a627342b99663d27e08bfca581741f0160822766a9880e37030c774fe49b129d20e40e8c3402c9e172b9f54ca080e2f09bb6c2341e4b22c6731c8d3d4727a41e68666bd216a048ff25e34e0e3cd7a803c9e4f8ef18ad5aecc2222912909b2c7620d3efbd745b15ccc95efdcc4a183fc569cf2fca4f1efa6e01b4e8842899db656f90d95f378a6023af2f3e2c43ff4ab1108312f22b42acfce1e51480923071113165bd4bc1f5dc1349c185d644d6509a4eda7ed40ba5031ecc8546f0a0b00d64adc4f8253cdfd864de49c97f97548cb5033326c27d91cf553d9cf35be2d4c1b16dd0b96e39787824129b083ef31659d6fd9db9ed73d1b587d4a849cb8fb7d163b4784d2e72fcf939074e61563de852c880a29570fe4b098b3969d6476a1ca3825d1cae7a3b591d36d352db3ecca24b8fae2acec6495c2d76b221d510dce21c23bcc5829d6cd035a8c82df9eaec4e2e292eea3a9cdf6ccd3b3c68c6a5174673c8c2e03ca61e924436e887324892985dbef9e05eef00187b3b4610c811a9245316da1be0ac2064b656bc9ab7cd8a8bed39bfb7fdd1984fa3c7f39b8175ce6b12bd004bdfbbe4f45338232cd15a1057e0b31344ffcb52b90f9585d94e7fa3fdc186f1d6257387261ad6a792190c93739ee4af42bb91747d78f008826795f12310abdbbc81c013d9c3c21448edd436f9f73476b0278c2f7387bf3d9d742a6cece887cef55575e43510dd8f9245899c7e31a1bc81bb4bd7e79e0727d3a49dab0d9f3b43e61d40576adbfa78947626dfcf09daedd7a872ad47ef430e6f82760535dd3390ccb06e76c4198d7d7cff10243fe753402d850b5e8cb30872fee14f7013e062802958ab030d3fc7b0481d92bece66f93419d444c31ca1f35fbc63d4ddf5094dc04bca28cef27ec4a27339a339c6e23e72c289b5b61dc7262a47dac18286925deaf5aa554272f452e3d5dec3426acf0d0463b6e6f594da7f949bea7c39b0dcb1a97e029c8284cc89b779a3e8224446fc3ebd49b46f46f3eec34c9baac4a46cbc43f7571ed3b362410c3f785bda05dfc45c33cb117d023a47235db2a4cc800ab9e1bc9ef526e786cda14234768601696a2b3a0c7a9b821b95f4721826e52e16da4bf633419d48288b2275708d1015c6a93523c561074f8839e62a78f0d91254280d77514cd2818327cdeef380647d8cd0c7d2ebd5043a54f3926724fba420cf47879963308becd1a05e43c917a15e035afc749bdd40dfb0e55a1c5f40e4ba19f958e04f0736b26eff2c13964563d16ab6b09e828fd5893b0cfcbf47890d10c2a9c1bfd38f089060047a247f00ec3e3bd8dc999ba0556c027b1d4d375e82b844f95af5072a556af606118a4eb1199e07d4d5f3cbe45181a9db6ec505ddbb405a370e5165a3d7948e7bd659981527ac4a4e0d54c2272cde9579a281ae9106b033944574f3ff1cdcaf9f58920cc07b9ed7837d799efca4ab56a784b3e4f49a44792212e87b59b21894373a36e922d5af6e5e783a1e81a695284e29dffbab96000b0bcdb0611de28779df10c4b554f851313a5933118a3b90fb9c7b10b4447437a631fd138cb3a78cec686ecb1c3ad011d6adecf5f760e55ad359b42d8cdad13b91fe929b16efb7c7bf6dbe57527b07af5c1e2e14cffa4b1d782a44a48d031857ddbc66351a894ae245214d454d0e9ae0e7a5e0b56308ce4f1b4efa3c7d6df6e2a5d328c91484447a57ff050c8237176dc3ae673a1601a0aba52da7f1f2ca08f171d916e6f53c49573a11c326285717d4de33410866eaa48da9119199a977a13ec1b4c69f9992a56ffd17ddcc3dadd6b3a0647b49cecda14b1eafac64a0bbc946f08030f57b23f0b8fac17f656c92d4509dfe86dab3d39bc9cfe5217c197bbb1c790a2dc1710c908b8c82bb1e1e9e4f9296a0772fa0820baaa1dd16aa5c758d68cdedade1d9208cda119e7c3a6ecd577a848108e77ab61d6187747786ba8bcb1a137cc26348ee86ab2cd455408e090e142d24507254a1ec732dd0157957f8beb5536b6735926776c0d31a307c2312f2adc7849f6bcf4a1e44ec12bc0e45ab7d21f22b0b4a585818de63795e051a2005372f8e711fc5478d5fb412b5edda5f81f2ae3b451af891b60fb5ff913fd74abd66197f1917feb9120f61981ab6d01ab0b32215a1a4ba9c3ff9508b2a544006bde2ae16eaa4af1ec3b569e53251a383bf3e6e27b302a5ca95794c7bdeb828c4f4ef528f9e68232910324355f3b4df5a7e7e2dc9c7c2433f790a8c86c83c2689573fe71c0bb11ca03b0738246be563330ba1a8bd02ee979d8a2d35055c9e9bf53444cf9143f7a29a944bdb59e6a6a3b5851fcfa931d7c08257c8b5925a5e41c33d2e6d7f8256f685c4ddec17e5a02d6f782bdfc75a156489c084d39af01171165bb235dde9299fbb021201b73509e49f3fb588880b19cee1f89a094a3d441cdb8089696796d826df7eae428f7436a9c75a58b2bcfb02ccd2a8016fde74cf31128d9871e0d7a1f769c5afc9e9338d600eccb520057989a39da760fbb4d720f6b0a7c9d7481e2268b8f9a188f678c76a03dac862573fdf3987ddc2845d397e74ff45df9d512a41ed71aa90da36ec4aa572e4c819cb9bf0bd5da9e900b808103b9504f8db5165e5147656ca3d588fbba4eb467e470dacf2f38ea00987d2c42e3696a62f3fd9fdfaeb68dedbb50077669153a88b95f395efaa82de73245a06ee5304b3b2ec1ef79c88d3b8cda82fc7db2d91350dddf06d893498c522868b29489062347e8c0dc293158e8993ca91252da55f3caa7502c4b385c874cd6f2b10ef73904d6f04fe58eb022c997abb4d08182538b60c223e0652a51911e018270f512795db82f9db18b9e746cdea5918b8cc0d641a1c6d8a2382f72f310480b09f6f781405765c6f92e6ef5bef1f87247810ae8ecbb20105ea6535bdb234d2453abbc3939eb56cc5754be9d1ca3be1ebb072e019a33c358e3e9e2815bbfa6be35a62df053caba89a0a3d1915aacdeb97145e985afe8fc57ef96f51b6d528a7edd27c17ec002b13358d877fb39b27243e769a6348225278e68db603780802e6574052e5a730e268f3d466ddb2a1cd391d358f7ee5944b17c347a66558f8a579c92d8f799d17276c107484779ba56c62903e7775fc95c1e36a099a2d106260831f1a389a5f4299ae1a8916c5542f32bff55d95b6e17863e3d8e6016d3f27cb1dfd0a52c8e04e756de37f271575d9f8841204cdfbf4fc36b11536a31b3b6135440ad7edb76e91d0892d749c00d1d38cc1a30d22e52f3dcb4e5468bf525677f3124bd03c5af88985b78ce1e9ea04f1bb6707c8d99c1230bc6853a60d274e1cba1991e8fc1b13a43a1054e381db78134958ae3aab8b8e8f62978f3a69c3909cc9219a30004b0fe1532d5c8b4d00e57ac4b0cade4a134ef82bdf1bc89c18e6ed8adaf4fb9a6ad950abb4c4c30576de98169bc9ad2ead20fc5b82f0b7ecda7bd0535d792269066f8f941e59218ec0bf952fb218a262085c4917c317bf35d83f6db184d8824c78cfec490517353262b728469a1fd774a64f165c3394784d5c7402be54cf2633e5b9a72fc953cb21939568134572ee17645163814debca4b79cc3432868819357360dbb25e9f6ba85dec859f6ea3ebd33ac1f4df33ccef4a71dc54e1fdefe1a299b69e189db2ccdd2d8f051238ddccbaecfcb62f5138799dc6a393d0499eeab471f090a9e0d172150388765f460d789656c2cf21b86af420033908a64bd903312f669f78c5d0b6b0a4e5a2d4c114a0a0391f443b67172f507ba8f1d44a827eb43624bde66e6dbc2b41fd8c7b09774dfe8e33e792f39067c543e9d331f14c667f192398dc072e05a157fed2d9c2287215c2af4e550cb740cd231142aff7d1381bdfcb46e2132f298717ec102709adb978078d0b30bdb99dccec853d186d934f5cee44c7038200c100b642d9c36baac7a33d3d20ba880e8bb811397c5e78142632d24d0c8ecbc00e55e0b37dfa1e4d72942be81b98e23a64613b5b4fef422a452780f3b46a3852019d6665796395a86de325e8869ea3b37b314daf2060145cd6399901e5355a54a38073db4011cab02b7c01337b662ca16f8e37c9919981ddeed92b8a359e96d4b8e40a8ba7db86cd87fe951ccbadbc9f96f4c046879d3ac882371d30c70db66bfd5ccec7d92c1466b5802ae68910e2fcd29d2b2133cf2eb2fa1034acc8bdeae464d9027e325868a19325777f04767ec01b9f39b93c54384038a5a8715e8a5b17327bdae7fd6ae5c05dc083cfcb1e010d92e89fccda7a94a368dfee9d73fc2bf9236927852d5779d3423f37033d3d4f05588bc8676474ae3b3f1b43213486e9102297177092fa5c52abffb872e658a03644735de734c92b61aef40b69a4a5268da2a0ce182b77f067ebf864f6e2434b295de7128447c54cc63a7cc91cbd2a54577fa543b9818788e871e1fcb9c7252985fb22dbbce892b462b9793958ed6835ef696132373ac13089d7deaf898092e56374a8b67bee628c3f756c78b166e1733cc3c4f5859cfeda61f12762995cb43ba07ba0ed6bae3f4446df6eca8f34f95185ad34119ede3cc805cd4a557dca451ae4128027703acacfe77f5eefc61baa94a83f634e51b05e6ec6871ba8b3bf510fbf210ab4afeb5ba0437b715f077c1cdf22dbcc031abfcda6a6cbbb7421794a06271c3292abcfdc4cb982209a6becd38865e96d9e28437c455bcd0f206db412fc5e25cd02c99c9f5c90fb05b8f84af9b7bde9699e831b9132c0df40b7b261ce1c4890fca1c2c951d515df5c5deb1e6476764787795ddde424ed88c6356dfecaecabff1d963b68337c19b87a4c31b96b21e9ecece9c6cb743bbc41d4fc9ca28950c650e024186dbe475061bbd36db757ad5b841b406553ea62301f74303dabdaa5fb7e652f59452612d2cb88e196221ca27979a38bdab98eba4ea644d6c208a88a44a9fd25a790f0c8e2c0ddc7b03a7c335c7c403d4ce0ae0442186a46cf19a7829cec950dd55895943430ce8612fb992c08c72515c29cc544fc7604d15f0f5e5e6dcda22d0d7f009d7270747c39e0e58f4fe2a3477fee25faf311654bb2b748d6ad0bc86f6b04889a6e58e5a65cdba71b863b4135c115753407a13ae0a966f39420ce37da57bf84cc55aca2bfc0dc3cebd760887703161be9b3cfce1449e52b484f5dad9ec125317ce33177cf4d0b26a08e222ec4775d85247556d478f3e46c52dfbdaa3d79885de64925903c44d928da6804889deb20a55b19df3d8f94daaa296127a18ef3da1d20ec3b5b560b704498124efe20f6d385a8023dcd47e75e7d16736bf14f489de1db3c9ef7ab504efad3a59cedbf303a1ee2e13c1a3b8ef9020f299ca73a58fe04356bdaf332b43f737fe3bb21c06b640949fb85a8e44189e8ca5c7b0b8cb744d9533bcc70e632988d69fcaa5a943ad9ab3447092b187446ecefb7814f2eb34193e2de6aa0d5e4cbc950be542a7162fede133ae04a5f9e1946b6eafa2382c641a5e9c9e54dc20bc17c4a3595f5a08f77d160873a302dcf13f23e14d91d89e0ac6b93a25a49c4485c7b03cfcb15d25da313ae34e4e82a66f719c2ac1bbec65c010aa2aacb0bf1a4401515bfbe1964daf21923fedcbae197b4e51fcbd390c73b2713f5f1d77bce4404665e5f4557e6ff5e2eddbcfbaac81e0492eebbbac8fa45ccc38271b9331de4c3379db037bb72c974c6d0dc3646f3a8d4e521c64f9d1cd8c0b5ecb6fbcc600fa2a915672345a79509c614d6d622bf1ea8a4fdd4cf9f8dc90c2e27374004c91792d78fc0e79b38bcef6eadb7faaa701f4c578986e0dfdf8746a315ff47ad05cb9ee8cd57c99c08bec7e2b616e1db7d9bb822436a11478ca5bc80fe700230b75169750e14726d5444c2a0ea90bba798f46a196a7d5639664cd3585637c1741715ff0ae44cec37f37bfb34e1bd9ed80d8b5ccc48f0d54b0c24c75652d1f1fb673d1247d1594be01a03ad25c33dce205c0b1731ffe603f936732d96a4adec5b526fcb065eb6d09b70e1a939e559e8f7398f5fceb02e744eda619460e3da89b7e8e231ae2b031b926f7dd46e6d39a6ab9573352b7414df564ccaa39997f9a3c550a18e6a1656f1bb90cb7b420010aa8bc1665fc82079addf1d41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427e3b8a89c0574e30778b13900a3b8e216f994720c479d8fedc027c7cf79c918027d41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ebdb1b1ac8f6f862b1c14eb2b2f81544ad41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ee2a973235249a098b34c84a266aa0a1e1c1c8385aad893de1d1f150db783a736610957365490cbe9e0f5eb0eeeb306f02888d2ce2354a67f39ff0d5060ba2d05a70ea53dc2b99d8807e7c98f62ae6131c18e1c878894d29676c9ab486a9a2b99fc9bb11e5d5e1f3df0ff51695a8e9d0a5e0df59474bf7d0c41ac997fca83812c2b4738b8e059ec568bada933f99db59e979bde8d3faba3d28c0680823ea72646d88df42173e6cc06d70d9d95de13ab2991f868094d850bf6043c47e6695329ddb1ec7dc66cbdc846962d6325d84e95bc56a7424910cd7f975286b63834f8f70dd6e6bd4789fab1fde3b96804b554371be8169e29c6a727a71bb7a2e74d570af0d113e5dd2aee5c9cc0914c3963b6a65d4bc7ac99595883e729f28249312057ceaf2c04bfd6b499fadfb4be8a3f9b77a771e3dc18e426ddf7cc6889be689a7a047f0b3287ae15e4ca3acf63666374f03c0f085b5f6ae1351de68279c4d163e08d9928989b9e0cb497740b6c122da1c80b7e4d355d9fb6049999949c88ca2a5e21a676d83cb9fd24ed8b3148fca0734c157dc5292aab9cbd761116ea034eab7daf1c8e25b2466f0db606722b882bae933802df6034b57a29beb73dee8ac66a7e9a329a2e6730476b66105e32b9791e6682acb8bca9f7aa23c7693581c52e1390ad0e05e3a61a6c2be1d2bbdf32f4060b07c49da5962302e468cb20bb1b90248a8d23c12aac51f62a2dc9dcab9b00be9c2b2c84219d59c39056a32abf86acaf709018c7205c887d7c48dd134fc10d1ea7d5d0f6522da6630c6dd47ca95aa9120ea5a067c852f765e4f72783cf888176e4ea44caf3292967eb451736aaa33b4717228497eb22fe22d10c8d70b0e10490f9758929213cd0f93d8c81e936854e7a5dbfcd811ecc03a16cf7db29e12e3ef9d6bc4adf67658e72f9823adf572af63020e68abb2cc7d1320525debde1c01b0cc8dfe73dc18f977da742cf616f4f7729f46af955e3cf3f4fcd95548b6f93c221612085dbaad0553a90e34425f68da6e01d43d2e0b3f8208fa429b318c97583db5213ebb7f02a228d66e4cdeee2a087e586d6dbfb6f7c085ef3ad5f421854077e0e07d6514f4e5653e6869981928b5ab9fab98860c69994267f2709a3566f6cfaefa5938c8a591133b2e78081baac6c1153dfd5d9e65e23acf78bdd5eb5966feb723a7026f80a520055389e5bff6b7df0df7cdd1f548a69460744f1c183b0c19c1e6705f2407993785b5fdabfd6aeaa2a890ca15dd8fec5e0f27aebabe5a2c244985c84fe93a5a05f784ee4869d730214ba812b2a8fb9c366bb1c3fa942abc6e137058a3e3c33b4bd7ddeeae73f7bc371d8a292e81c548dbab2d4ef97715e5e38761c199c8d7655d4e00397656d5d857dff4977410042648e6b7a1c90d64c253d3aedcf5d77be01d25e98982bb679ca8e0bbceea50b4b607196d6641fa63343d74cdf44ac8bdc1b14a60488fd64f825d9853e357b5bf96aac99efdc2b8e53c0bbbbcf04a1589970ed1190565d9fb79b7934a0b927e128f2c312b6e56ce8dc850cc87c7a5c6009df77b7cea61decf068b515317ac41dd43d5008db66f1e3cdc533fb2431191e2ced2d201f6e2996309c89a274a400b3cbcdd5115da5e7bafb1752663c4bbb732e1a58f9b38fab423f54085f0a4405f76b71a4c4c58a5216d604ea31cc6f88f2d5ed2c52f44beb307cb450a8af7dae8712f6bba62cfbbe97adb061ebaf8fab3f13db4f787212c361c7174b42f7b10b8c2375b4df6185938ee2e9936578c74ab689d1cad97c97e6190d08694ee23aee62f16dd7bcc666d6798a0bc9596295f0b3c101f3b57809bb4bad3ba62166768a291bf005d1bd30e0c071e8e2f78c7b0594339ca9a86ac5acfd971e859080b0557ea3cfa2690e3f1c300123b6c57c2cd40555b67c6e98c5fca2d32431784bf9c35e343ad860698683641df86bae0f3c30f66ee89c16f982581c9aa2ca6c9f80455473163e68870d6008325ccdddee9a55d8ed20f2d83cb9fdc100809c335c066c8a18997b07bccfc053155f5ed1cc03271575ff100d4305e597e95b4b4feba706a80506bc11caf5d4032b0f1f53ebd943c64f17dd7a45bf47d056724a1ff81b3dabf29ad76c3c0d2b48d5c6f2495dc8b4befe9383e4c162277c33c08f0e5bab97c78ce7b9a2c243006d61afde5fd31fe063d2c9677a0bd6ebe90f4519ca91ce0e810ac8b09ffa85af2d1eec2a0efae68206740142251a2dd9188a738c208f931156a723b156db33c39eb2ccdfe350e8fff05960a0bbb0fccbbbbc4d559381ce3bcdfa5af8806631208511f129fcb8998d88c093aee44e0f61a58e06c4479258492d01862a3a7fa5b5fec838be61d88cb87528232a5d0af4ce78205a482cb6272f803648c28df91952d636b5728dfa197471d5036671dc1b54848b5d395940f286766f76007cda0ba991a07904c62639aa857a979e12c61164179b1999129e86b1ed8fccd2caa34965bd5ec07c756c55f462aafd3cce9f9d9827a9fba667c396a31d0605b73d32bc33c33cc91960cddc4e1453403958bab3bd683e321a72ffa8b502b28302224e1cbd9fa6010547111f1f03c349ecb08698aad043f255434216f7498304243537cf8c7a4d2bb74d612ac573cec5c022acbd58af1dc8c1cf01c00877cb26bef664550d899950496540d21c4d0eff794a2042375e23cf7d75c8ed5d5ab5a853d0805b92c3ceebfc4cd8cdbafa97210215a310ea535a6414ae7f2b7d72c295e71823f654f470c4ce22cb4b543bccbf8fa6a44244faedaaa5ca7f45727814fb51805e063b9ffb2aab91a78df116b5c630178e507e4e48ee89d0664abe3c5ee64cbd0e839af3ab830e4f396cb90993364f94c6b85bf598ad056a0c5e3715f3662310127b3ae0379bfea7e8d11d732288d9683a5b2151fbdd3ef2e2ebe055c67995b28b7e03552e2b25c2ae285aa1f6524bacbfedeb7034d7173dc70d9365350bd5dc7c0a7dfe7506cca8d6dc70932125f315a3b6d5c6109c882c6abc36108ec5c171788eaa732e388b63038b6c2742f7652e4c128e3bab134dc51de16fe8ae3ea5b85b749478d2c012c94e185b4d7a3b7694e65cc85fd4647de30a600deb3758a7a17be41d20c49d0f0c65951a0f93a7ecf33e7a07b3ce1e0223b20b4559a0246139808e2ad82f56000b9023f930c9621f975c55f6a4694fc88ced76d4c7b3462a28ef6af722670d99c7875befc9169d2286f3e2f5c14d38887529780bc472dc2348c57aff208e2618f9be52cfdae6779ceb2e15c53c4b2fb6552bf7aa8f0cc5fc0200410320b310cb45542195bbf6a6c8bef3134e82186bbf4248c36449ad2c2845556d3c80ca25d237083066caf6ecf866514a74e41dda25a813da3faecfae41aa91290d4faf38d1e290f1c0f26ada639072c9c238e7afdb57979ece6687aaee974bda78ccbd04438b63dd8e8afbae744c0e2bab1997b4ba4e07f061cf439f62973c6e687c160002d50b2c8840964ea70b5ebf96bded7f373ca2192bbea5fb6bf0d8cd62bb982f87f5bd056a4a7d9a1a3d516293ba98fbc27c49a77d6a6b8b1695b85d4c99536c092f279940cb0592c4be9476acdca2ad5c3d791a412cb2ce7e000c7e47b7b6e697c41335d0821733fd08edac59f747ffb4a422cdcca7d02d284e610a5c34bcd78567d0a299c041cc8cf91dc9898ac033a344b3ff5831e01c962edd7adabd1a794b03623638819f3db13788858ac66a6b8ff578ac001ef81b2f0df1571baae0af7b6f045d971ef1e51f48eee095397032349cb553de252afa26b0d24d33541aaf9a7f93852a17bac2a07209f1546c64981ce36f8397f1306be45cc3ddd247f08d3b5bed5e0dd5b66166144608bb06dda1a8db95b1e07b14ec2fdb861bff4ccfc4c1ff83a8fb65eaf4c735f5891bfd9773a5fb660992e5551bead176ed8c2f7d8a8bbe9c8bba42d3238990bbde911181d37372dac663f115e8974058b9bf7a39d14d77853f0a8197e090396055383821a036e0cc1483b9ae13b1994ccc10b8a9e52cd921c70c227fa403ed8e13438aeac238f02c480b4b1befd7d150f8444fe9877aff32eac969f927a35efeebea052f28ddc83565929cb689ba69025a87c1fd612710872b9d4c49f718219adb0321b7e28273ad8936c17c855108f66e28ed0ffa9b608885bb5e1a18a306c7193987a6fdb601d0e2e65191b4fd9980bff5f060b6143968a47e85ccd010f0f54c8fd90426dbd8f8752b68bab3c25e412fca5f9feaa696056ee89436fcd310e36a99e53ddeedecce4d2a06b1e1151cefb5bd9aff77192a868d5ad8186c11672bd8bfa279ac782c53af42f995f74dd36343b01756dc08d763acdd2b18ab21e0721a73fa627e664d75b1eedb95c38f045faf491c9600528834df5db75ae1377bacebe47e47b7532eeba7894123167bdfbe033f3f1b4a1e6695b61a05a28df64869e5d2ac894c7a12ff651c7b0af1e873374e5e3eac210c28c4b9d0d750235848ee945c0f336e1d2f7999ae06fe0db7b89f73b2659e2ec4ca12c59e17c2d7484aae20d6981e832d1f84a036dc1cf493867ab4ba66de8ef7746c49e8c4ade9d91325d7a97f3dce319970efcdb1aa61f48623145117824811e23d2a6e7fb89d0fb8018945ae9390f7bb61025453896e55c8d75060f6024b776fa8f478b9536bfacd66bb68afd81f43b7ddf7ae9ddce600dfd6e6624e42b4f20fa1d4640b852d0948684d765551371beb4179e9021e1c6f2820bbfac1978c895bd84790bf57352df9d42ee840fd40aa11321144b2f8f149e75cb85e923a395fb9432be82c95a40ed647c97cc26658244d41e19958e313e478748a9cc430ddefc361dbaaede10c95b11dff6b63da7396cf8e712f62d125765ff2970c95e5e26e84df4bad7703c1a9533467499f49d20000fd527dbdf3775ff5bc07934c5fc2c2821d5507860a42da93169033293e294e57d6632b704510a5d1f1fa37b8ae991037569accad0e5b24004f536e601b14fcdfc7fb71d4bca8f6f474aae2baaa0b21d26d9b302f6f664fe8332dbf055a783efef64164efaf1531cb57d768dcf3e05a26a2091de8e14e14332d9488f07e8ad34989949b41cbf8f3bd782094eb25c6b11c399951769e1ebdc1d182e6d7ad2337a8a21a8cfde6a74502a53bf0c7f15bf99d09ef44526f0356d0cd9b1bb2d9b280a3557300b63468e8fd4e21af8eb5fec8390f9c210a3ae57ccfd33d42e1a3550e88bd9933a1936f68e55bbc72610e28349bd8cb1e6e1279569ebd5ec1fa0ee5b16f17e433d71faddc53b8829392d19f2d6c436c4dcbb09c88cad75b355775f0cd63db8a2ddd7fa307295bb55247b76bf37576042eab2a5e3c9d3ae6e908919d4c7b11f70dc100934b778a8863496d8b3efd24cde6305fde89461af7df9a083732a7672112edf929c166f18374f084a2a90e712672458b40669fc22328e67e456292b94267aef9d7869372dda37a6c23af374a812b9fc49531fb2d5f6402bded585e1bd7a25c86d9d2c4d6387334831033b398c7c5ba7137a1a780eaea944286381c83e81cc9d5dc06a20f9c85d0f0861e063f42993e80af07b89d7b625e44c9937404773c5675bc0afe8bf3fbf6d712038f5b6814378e66a549a548646ae7051506dca08d164345d35fb04cae638aec793da9abb180aed30d66dc17b8a58b0562d10d2075c5226ac9e725268460e331102b61d84151678683f51bb1cf1372034ea197fab732c070528ad7458a4b41e7426a1d273b5fa459c848642660f7b340fa6fcbd45949ad593e350166d91fc1dbf8fa3d541ff5502c7f97377dd4b90fa33f4c5968e578982bb8deae51f63c3889b5119649a64e3b21179cd7164dfd56b23a0a4d5a12dbaa654fe807c883a8a1fe04a436a6f6e0a79236b8eb13313af6e12a6063404e99b26962dd01e4f74c10396e63ef414598258a7c96f710900e80fa3de80b6833026cacd25464707fe9691342b765d23f168926b322ea266dc012f4c26d7227ed18538b67305445c0bc712f5477f61b2ffa12a2b1de0ffb9b1205c3dfe017b99340bac6412cd7c7f7730066e2fd0d23043010d52f200eb2d96aa8ab1a33b3f6ed2a564e561b29019047f0489e442d367d531d3ac2e5366a2e3beb5e10052cadb91d5d7b00d0f00fdd7e76f027e58ef7276b85b83d22730906b26488203d4ce6a95edde858cdc9fb21e75a021b00ab8098a5d73dd8e57f1a1d2ab34ee06cb4032c3247ca912ff64d136d4e4e99ad67df7ce09503608c294e910412068ffcb690fafc26306ef25186524bbbbca9274ca5a36c0eab40e43c26d929f171c680a2e35afbd06f6669abdd8ac85eab8f1b14ede72b525a6091c93b3aebb4f143a8525282ad044a5a5cfe9cb223e24d93cac95f6e7e6ef1abd4359b38ea659c1b58adcb436f891f31b84c026118783f004831fbc4b947fa6c55d34a127b2ad6053c8e68d5f5bd4c4a303e325750ca5c8ac2bb9ef3cb2fb537b2822de2d77e3d3178575c9d298edb47040f67ffa44af145502ec80889d7f83ec4a009e53b3fa27dc0d3dfe036fc90c4e3c920a29938c3d5c02724054de8caeaf146b674a77dafb8bdae719f7a9a3ecab9b8860ecb425d1fa75d4f8fa8577dcfd9d7138e60ee2008dbeb312d41d19cfc91e5986e164d716839f82c6f921b07692a676fa11f795045e612b5f4381dd7beea36c50fc688e1c7c336f1d971773912f2158b5de958a8a1c2dd785faffcc69c04b48df3622d600212918267646bff52230622f6c3cba83806d8d03bc13cdbacdef327cece4c7d74cec2d867c79a8e7f9980289fb4493c683467cb030d04ad7b178ef85c7b10884679d2d83065d25be042914523242e1ffd54327bf2925b60668216e2e92d5d03f93760150c3272fc591b3530586be03d414807451c9716482a22beae0b84229b1a6a3370e3cf71c1387b0857d34e76d514e55e3f252754890113ce880aee7ef52c44a4933435ecdbc66f6da4ccea76cf2e937ade58210661721715f6be327d14377b69b9790aaacb15e0fdae91183f734a47f3f9ce27b8c3aedc2e270251b74ad31fbc7cadb11f96868a915356c76170a555244e229cb19dae6dbcf114517f3ecd8ce97199261283101d3775b02d33094f884ec085f31c5956d46abcef4ff934364f8a0d97c82552650599a5fa7a3833203a7ed390ab12d66453bff4f5c5b98bd781cc80b3e15a89cbf67271eff207de952e6bd1f8129bf8c7172f04e28dc301ab83665ca922c0d8dc635aa2d0afe78220e98b72ac10278d44c91a4e4f1b44a91890aa0cb7f343261646c407f906632919f94adc5487b712b3da1c72c96963f1f72415317e63bd8aabdb269958d1fdf4f92e036c8d7dbb4911db7c4132c895d9e4dcbd46a20cad7f0fd1a72ccb4f0a1ad7f1bb0368d75b61cc7412e34973bc9ae6b84f1861404162c21d00e908a0dc1286c87d1ae641d93281d0cc1813e4370a20b6973b501da058830e50b32059616f6028e7819bf9e07dd429ded94fbe4d0a955bed7df4de8987fb98f476ab9142dea2a115e168b1a36bd2cf0bdeda1660ed60b95e322618a130e0b596ac86cfaccd4e01c26d62d181abd07ce4d2f9766b9f08ec4cc1d9081807e9c4654d969dc55ae9c5d6b140ca6752ce53dfe4b79a6fddff397452dd6f3df7397eb45a95948045058742d26b60e9e8a732fb4258cca348caf21d584634f5c1efe45a226ab91a9998533e79bfd6b34367404538a752cf43a918824fe74866a76b699e26343fb042e32923d5dcf0e7dabcf56295713f4011df30eea7d40fac3152c78ef54edaea5259055a018028c5786ad7a535033cf26577b190b23bfc5d4cca77553d7dff83a01e6d6d6b9ad71742b5f25c69d3986a98ff6672c8c6e48496cfe78d8ff51fabf51e10fd2549660d7cd9da86d7c1de910b20d3cc50215bee7f38bd07a5d3f42e500fec186c2e78cf7092efd524d7074546b5ae8a442e65f5510979254a52e1ac322d431b0d95abf161a54f079ea64bb13ca8c198c5b0b301cf36a221a9edc7efaa4931bd72c122ad9c2850e8acc46a250797cf42c6dbfca2fd1dd5027af079838482164ac29d8f2bda8b338d42cb89c865b312a9bb485d3d610aa9e0617ff10f169acfe2b344e3e370179001ff4bacfdf5c44eed335d51ea84dcd71551ba0d508f9ea426d87d0b184da7ab6a8cf8c35d666976b832a63fd62cec780e664a32b8449a31a8f57fe03ef07e044f63008bb76db1ca603b3f5a9804a44f6ae7f09a37ab41cc5953e03b584cd9edd5702bc8d140040206c568093df3d34c08f9b28635a6af25edf8a97e3a6303139c5d64a20b610df3553ac235225fdce9eb63ada86cd7e2f62ff522ad8a7636daad3aacd4cf2b46ef7d785cf2be108d753631a31ced807aa890e34903f77af464ac3ccc16f23a567c8812a9c52d16facec7fec137b96feb70b85f73fffd602bebfa3e4698d08c7a1531c329929339a20527ebc81fe8bed2029a8eed1ef64645275682860560c88d027e83742a3c06920bfdb745190e2a510bfc89b1c0a9418e78fef49c8eca2db8f532ff9572374cdb4ed88b12a47fb3b00a59be4e6322f51a16385860f074542bd57a09609f5e2f1f94d4a92d3a84a7a3bebbda6c2e9fef6d72b35d0d36f0ca6a2599c1740e4eb2649c71a5b69389422f118a3ec708e121fceceda596c485860c19a0785736070f4f712e76b0ea988d2b91f7b8c9e2df3f528e5a327b7db57e6062513352b860738189e765315c1f8cff839762db30094cefa87e37d30d8db5307674afbddbf5961ea4e46bffe7feaa8235caa1efb55ac03237bf55363dd43277ab539f4b3aaef2e27aa79792cf25ec5dbbfd78770f9a703ea803a828ec3d4028f0b0cbbf1b9059c9e370734be534eec741b0f4e46ee9426a0df4c56d8b70c06ddfd1db374b306c2bcd4547c77cd5ce7235f96b9627211428d06e11f03989190567769da889763cf0c76bc486866e93795274472dd11249e8cca53da81220b516c961b9fe5077acea8ccc3145d47130c0f99a9b969efddedd3fe89e32ae38824b55706a21d3a4d0fef55601270bcbf077c41db351e81e7311b785a783f5d01791238fc2f4ea247dbfb65a3e2e946f7f4715dbb3fb91f930bdbad059799ef3a77784a4a3f7379c2df831644ec3a921c64b9c3cabb9c124d07005fd3a75524f9d82c0ca867019e8607a44470e0848747b0e96533cc989695ae198e12fcedad38915202e5c859862b2264ea84d84de119190d9d8234e80922a14ffcd09540ec215a9550a31460bd3c91aa45bb608cfc7fd4565628612a8f030dd7b8d7867fde5bb5524f4878afe35e1ec612f155f03d0a73b9e374b9ccf176bb02fca9d351416799bc2d512b9fc8578df1b6794c156e767a7d301ffcc1a22c6918a1b374f2863379c071f73678daf934943130cc302ab7025046601996ed5ee92a0f6689d56c52e049a7763224043964d526faec9127a137aa310c34d1ee97109b6134c8a09298b1e2058176c96b49924ddfd4eca5030569ce5a8db44c07665b6bd176c9f1a69574671044f35c6566aa830e26066b6731ca7e1a26a575976b4a71a9794265561e01236292fba6cc2e04e1ffcf3dd08aeefeac1948a49845ed128c23bc0bb904884aab67ecf67126f33792e0602c63ca6cbb021a1d3acce07dd540017e6fae9aa765078c5ecd0490eee32d90ea15286ac82b0f28626a4d6296d03619e4c42730a86ab404e3805893ddc3e86d03e9ad0ff184581037ee1a32782336ff5f5e07cb3362e9281de6ce48f145ee738f8efe8a179fc14467e9476a76986f12d359288f567a8e389851c3fe68a547e78ade39229dc735e4f6cb88dc406f09f74a79e7fe2f8f09a2bf39d15b388c131b062529f783b4ad1f203ded3a57b92560df7bea93aff7e1924771bf32de3dddc59783e81ead3dd79fe021bdb928030fdddcd3ab4b06caa93bde896f5b01bccb21c891754e3415cbe5fca34b1fb9d9d3114b5986fc443ccc16cbc136f7ce66add562bba259177404108cf1413e725345c8682c4d379578ba760c5e5992d962c2eebf4d433c56750379bd8d67f2c4759f191fcfa88dbe621e759cc53eab4caa1ffd989d207ac0d40ce03a70cfec94d1dad8c6b1e59022b2a5210f49bcbe53cd782f07444deca4d183651026bf02cb78b55c07dfa625a314c47256a4bb2ccd320943f20bdb6e1f85c41283a488da99f55699b4d2d9d7ed70a8f19601888af5fa7b37949a957ad7764642e02d5f9a4d77a8dc4a70b9d025169c19275c42e8af578fd645efb26e513a71f976275114e863b8eb1f2d72a93b2c0bcfe0c8ecb56a7b3cc4e687da0c6a645ee36f1982df7f2a7d2eb7d7784a2636b9de30f729a6e94c5ffaf310d7d2b2d84ed6bfd98abf64d5d269c5c957f0c854a88aa75544d50d0a467d852c11e85905b36b22bd17c49fe023b8c7181745c4ef0705b4be6403b1579091bdc453e0864651f0450957c3304588470c45fbe35afae72cc7ffcc02fb97862953632e1f0c168513b9871fdef8075ec956aabda76366d90fcc2b88024b09de31177f671c55198a391eb4053b75b583abb39147b148cfe353ec18459975894802d558f2e9a0577f1b0a27266fcdf590190ef441a30dda867cd412096673bdf39c694f291d37e8b05b9dd04584f63e4f57604bd52dc0c074e32d07593d91786b2a0fdea5823d00264b749c69162d784dc74b48cb10af8dd87730bdfd449c379261d8e70076407fb663a0df422bc65a969fbc602bee8f5885d0e69a613c5ba25a5a882acac726404777c7878a58b502ab3482ebdf3b53be554f6c8ac4176d1d3dcf11f5139bc5b4fec2f161c5574514ee9d5dd589e1219eb04f1e94f22ae1831cada9248b39acea402c87b2f9d9d57fe27d5cd3cd43f4a06e2d5e94c439a5ec00c3b618547e4897cdd1f868ad597f5f02faff2f33d477b434f941d7113cef31283073ad232ceca4b1ebd5144a72f591e46650164be5bc88822729897f4fc20e561fc51e5f321079651cf246a6e91d62699ae68b29ae0f4b4168abe3db047bd242eea5ada43f9c34f666612b12718003bbc0b794694d32cbf3ed2e8ea9045ff96e12ea5527149a2885fb275c9f9f4f5039b57574af64446c2c2e5eec307b10f04041f7469cb92579e667928fcf4bdde68e63885cfd4bda21217d45a722203b7dc7b2114794b54e6e52c8c158b51da3e1e401eb812ec9b730c95c0bb5b9469b3866e74961c5b997a13ab0bc8f50d948f28cf78d885bbb020dca0ad656b42e0a3c38675a80061e21f12bcde6b84b8bdc7291751361355eaa00bc0125f48eff26222f40a7252eb0f194b4429d421c30601601fe0bab642e005de6b17850e6192aa15d6475787dc434aa381ecd40597d97dd1a7de9e3d0f3767ecdcac7ef399df456ce5866312554feb28460bbb00c9298c2c43c97dc47dd7f13e1ddc3b6d351d0de922d381915d436f2fbe61d7db6b56ca20cfff3983640cf05ea2fefdc11b622a8316a58a8be0312ab2063b318ad7467217c403a2395ce8219d68305a02820c7e6ff2709cd49c79c981e4f7fe1d85bc2a441ad685a4eee4335dfd0cbcd06f7c30f87faa7ab4e7ae86ec22b788c76aa4265a2ec6eb925999f18f9383e0a97a694ede58774d600a03e925fcb59d0d867ae725fcd8dc1d2eac96662f3bf24b7188b95f5ed6cfada9103677d28c7c2bad7c9bd3420f4a232ba467357ec0774c89a5255465143a36fe292aada3965a0c11c1d1e10a1636325461be18b9fd1d12cfcc52c981a10d5d5f9570eb5eed7299ab0b664bd2bd478799ac1546b5f948f375784a3ae5e1723388eb1df3cc8df80943dbbac14f699b5f978830e5b1fb7198ca96a37ccf5b2d292770509161e4b6d9dc46f16535c88cedd4a8af77534adf9ce0711de80ed62d7a3114514a7a1c77bd54a5f26f16842d8996ec063b0922e5788b85d541f70bad21d8eb97b73de43ecd43d2c0371736f7cc5bfd0adc1959b6d79fe916e7a20a4cf95987e62ec48607ec1c735e3ec587e21e1605e8449de64a22876d723f8ad2ad9356cb017a5e02373a30b38c69a480949f6c656f4b0df826a54fdccb3c6cc572358047fd4ec1148094bdfa4ecc522da0e56598386d9e26ae5bd7954bea9402252b2d8986fcae7b351bc9ef0afda39192c9e334fabd63ea44c46d163f39bf8dea68fc472b22f9ec4ddf0f2eb813fd5cfa947467f9c7b2cd71a48070adcb16c733a4fd4ee3452906707d283dc9c8a84e86925f265da11cde5fc7a67973c85b68265233273679f16aa129190e13e6b6d00e26fe5fde716e6d1bae73a1227f4b69c9e857b9ee673bffe1b8a8883b4b050a53c10e58487887dc4a543799c0e267dc287aeb6c5f560e9f1822eefc21ed740713be554412c1e4930c03201fbd14084d6ec1464b16f4144db5ce16c8db964528bf92b7acfea91f3a219568fd03d684883835ad3a637a0bc6e437ee79236512b2e33408759374c9d0acd19a264efcc90d3efe899a3d66ae8fc1440f5b4833da6452d6f71aa662c563584844c3762dffb6408776aa0bbd8a86cf3a690d6d35935a1e41d66ac50e1320314b780c9e4a513cd819f7df21316da759a5b2cee3fdec5f35030fda1daf3ddfdc493d0a3893c23fcc770d0b4344074dc40d07961cf23b4bff88c33e1b2719200d62872ff986b346bbbd84a5af79dcd7df6fc53075cf3aa043d070c4f651fb87fa250b922b26e6469b865ac01e65938d75ca8365b7cd561fc5bc98965d4ab652432a87ea3cf8b45de40fb1046083f474c7fa3d7cd0992902b04890475089717c3bd346b010bf151c8a75e37d8eb783482608cbc28165ea01e10d058a538a98890a53ec630fca5d04dbad26e1b90f5710813e21a0a60cfd476dbce943f3ddd014b0fb8a574811d1719a541470ffa856e53cbef1c9ec7f9f3387729d02fe7aa090e8b00500f446319114829c4d2a3425a374f934cdbda48bc01931097ea0455536e9f44d5cdc56b26701c10538785a9897979aeb7d9321b7da2de3801f474adf652b00c946acc80e4031c81b426058d779ac2572ead7eab6684fa309d77b34cb7f8e73cdd81a947d9b9ddbf74f5646fb33f6cdd97292b88adc6e56d9080dd8d6381cea2bfff745e71855e29dcc9d972710488139ad029b5e0ae3e11c98211b6f3c1b576c91ef37b8010a6079181040469c8297c3da5bafb95f3fa5dd6b94bb715c5174d8fa64f74a6b7d75d3fa7470e59e658e2f18d7eecf5f636899ac7cef5084271db4648908c62e3e73811f6aa8095107f2700f33811a315e02a9c8f1bc3fd87692faec922fd093222d79269dafd62a7a24755f0855b64c56978dfd393bc71e00a80513b2d50e8f81ccb3551a29587e8757856fa6524ec7212e4ee3a637f4d3982dca806b46e6ec81db6654bb4122688d5bf579116abf09845c6659d0ecba7f6fb8f8da1f3d3a874b38fa36f5eada1533eb6f17084074dcdc785667a7348668a924e4a7e9cb1b46d20a173beeb7887b15ed6ff77342659d0e6a63154f1e9508af8255a8b2ba4302e5b88180f676393d5f69755c02229e64fd915c2b7b40e3c5578077bd7d35bef8e0932d0eeef167f2c86b3f1e2d8c3d6bd92b35403ce4360258b22d4ae2d72dd0f3ac765ef4d3fb8e515552341c58b9ed6218ab124721e2ba18e689c27ca4e64e744268252c5a9cb3c4d701616c26756b17552322c8ebfc4a03672120bb14658d4b95a6861a368fb04f2c7432684befdc40817dc417de6204be0f5f2e6c799de96c7948e55bbdef85191d8329fe5c95aa326b0dc87071e148d68e34934925a48da5683b08d873bf324a37b7892c89013df15a4f094843b3de198f31cb8b89468b097b9efe484cab6236e233c2e7dcf63a23a4a45a736377f7d7059c7ebfa72760caf8b2580dcac6cf4e64ceca099b45d0844081ce1e31c7f959fe3bc6454514ec0453079fb4d3ed55b86497ccfd9528ccb42f647a32d86bb90e6f0be5ace1e3feb9cf03bafb078de21216bb6756ab27be0bd3330260350a4ad457450bd92366716ba79a565b23c1f1344a0ee5ea138bc0fedb3c0f98ed2845688d1acc92015456765868c5b6cb353fe66e183337057b8b334658fffc4cc54c98e7a1d4dae9c00fa26684059c7e5412c4f54c469065ab55b1ab42f48076f08957582351f942a28e3826a53d065d9fade9c883ee279870957ba938c202cff7ecc27d38b26bf50faa98e6e134bb283536b234d8a281ae36a63ff8e7c9bc4004d4f70811a5f17fa1abfdfa5824d5ffc5bb0a2de0bd6804c1b8131bd3aab487ac9123a0861761bd5de18d0cca9dbbf157137c0373ec7d016ba3dc31877d9069451b7be85f06477b952512ea0690ceed443501550018c2b2b08fa9356e09d8044c30125620949899d4a6bcae6e232ab336f494d48bc1106386fd87b321fe30890c53e0496fd46382c3b35fe59695fb22a7219099e3b0ae69f24ba61caaf9431d6911517a22be8b4f413a5d4446c661033919e7cc05d1a88643161236b238776f7a921f1e15c8963ed9c85248e4e9857d3a88b4f053bd28a9fd95f8f344389bd07029e09b125accc66c836dc120ce86402f54ec5973396792ba7fdbc62a60d3397f7debaf43ed0a9f09748a985f835a21f03c4cbd2118996a9801744eb34c27aa5ce31be852f2969f757680d60cb67f6e8ac5f607349a2207ddfd3747ffce546174c8e3c1bd11540be3f926ecb9f33048a82bd9076848db4d219b841b4f02a53fae53e7e856d945ae8cc8e7b926619baf2eb66fbe7722cf99fe8b618fc0c1ceb3056f21274eec7b597f65ee22f0fa2ef72df8c7a02fd8182bcb4b6efa216318bd4269f3d0f8f1beb75ce861d45bdc91c9e4cada3337bf4d8811c5177077b49ad2e32e5e1e9b7e15f948ccc3a36c16ad8a2ec284709195041e40dd7632bd786a5d443c26d91b2f6ba0506e1969a6bd822465e0b90206e1b4dcdf555c6b25355810001d1de4a59c37ad5f430f5835487085061a10a451d6fdfdcaf6e02c25dccdb57c26632e6b69649bb07a178187653c279a2123d9a41dfa05cdaeca926d11bf19010e34bc4ac5c1331ab3f24806879f6138eedcc63f12c47a79925586edeeba88d40f0b6470b804a3c0189cc861dbf6580c23e101f2a6d0f29f0afb40cf627015bab169314189c72c88a94d0f5eb29d7127d5d5c636ab004d449c68d00c8b04b3e357ad98f128305e611a712ebf5d73ba9bfe506429903f846553952083750763eb778454dbffb81ae239b84894315cc866e48073207f9664a85ec9fcc6ed00d2d746ab8191b80be065917c523cf099790c6b394a8f3310d30ef4d72ba8a9a2569345085888089a29551d55fa16e74cf121d45792095e51d4911731b93b39371f97b5c8c39f73fa86569e5ac02e5ca73e09a15eecd355614c46b85c5aadacd7f500b665b3a93160ff7dba8b3737f4ec59e453ed2a078cc49ad60162305b8cd28f16bc2bbc8614fa19c13650c642e2e3c6578a1d19c8521582437ffe28118954e5c994239eeb008ebdd8e3eb7cbbaab648657179a858996f485161e55b338c6aab5939ec524264dffac1566bf6f25447946bbe9d9f1d2c349bb315dc546821d99ba51c718cc0b62b61454f0733d2437a8bf3e4db849fcf9a4752267d90199399cddff5436990226785c17c908b90ccad6e8fc2f7876ebc5f83e930a5a1fcd6e259bf0aed3efb3c45b02a08451fcef4739342f01db8a86924b37b486507cf71f9f0bda718f986aff5013adb75bd6129a3f005eeeb5abaa9237a20f5feaac040902d61b2ae6d9e4b24f4deb7effd7dfbb1294887d69540efd71061fca2d398e14e97cab77654e6dd97cc2e1b0f76091a6abb614604e70317ad1061fb91ac1b45527d72a094bcd3c766dbc4351ad86c6f7ea4ed87c3cbb86f368bb17b8650c4b643fcd9ae286880ccaab235f43d2b727f9f206f28cf59e420040f33ce66daa6f9a63e23edb0b1eb607d33c0b1c0b176f824388a60c982b8b4847d3572e2472bf3971d35e309169dcc465f9618f862e4f2169b51573d45765322353ff0accd6e36e486e49bb27ed3cf8954dd81df8b448c7696baafdb42ca3472cbe8bc4c5bd6ccc0c124a926f17246c7c7ac7a20a2df8bd0822cd0e2090a08e52f781eda59568be365899fa14ef6ce4f98e56ab0a078396d98d8ae4cb4c46c731ba41303ef3e3ce8d7af03ab3ab8748a87e661b4210c970ac2ecf40aec0bbb2ee8da680adc07523a43d244b5be2353661168a0a2abd4bb43063210f1bc0b7279866e3278788701548e21296e8ca0a04adb6b619995982c9f09796106397f42089ec1dba80c8a8bab900cc6e2b44df7aa46dd2c6aa5a1968790d69ab7e3e6e85116dff041e7062bbe7cecb29710ae5f2aa1246a4bccd5d03e3e2021a70ede2981affaff0cec04050082d45c261b1879f348104a7c6d494ac6037706dd09530ea0c1faf27c23fd39794eedb46120105e44a3a844f02d654f0d69b2fb539aea81f5350ac67793b4bdcc8c06ee76f15e35dabbab7aac23284f59a1cecf763c3be1a33093153f63bb75c2dfcec691c9828d1ce4fa3d7ef36ea54dc08933918744e8f7fcdfa205859db7e65d25896b1d8d6176e4fab474eeb800971a34917a0c3363e1fdd689808a237a14404a866f2c3f0f84f3f2eb5a71afc226fb026344fc5cd936fa8ed0e494883aee09e9262e777c86e10962c4690d96ead6b396a8f72a550ef0f831a6731b525a8931716dd123ce708672eba89f9cb409443d76b9398f6c0ce36de964d3eedd2036de39f0540ca63c20a0c8648e9eccbfa96cfe99af0da8b079ea3a0bf77dd65b6317ca9b8d734c0d9f81a6003436b8c534004ba01c6d55c751aa0d924055b724b9549ae5afb9229e836e8ca5e7e71eec1ab13ce296148f44ae3620fc5d135f789a95bab33d752256707e6a40cfbe25db83e9023909754a9a844ab86181c3c7f7323ede48fe0a307c815c257bfdaf41e551f6afb196eb398f0223f0ccdcf308cd3abe1adb292b8ab908531f3c69afaea84d021de3f616a36eb53a6579399b61a836ebe57ba80bc72867d209dfab8f27d3196e19282f6772bf9e797ffad3b60da158d527b88fa73c3fad449e0bba99201e631bc303880f5011ca460d5c532aa52145cc9baf42d957b0307ae93155a97cc839a6c43ab4e71cbd9fa9dd7712d3c75bedf32bebf83da76f8c47fea528059e60c9a33becf0a5cd8c1c7762aad527fe743b6f0b048785721c7fcf2786061fdc4fc9f890ce701564b7077cf68017f1dcb5f7901a1df9dfac84a33087a1ef62c3708354f4bfb2a46e28a687daaa84695e604639be1de8f7b9405a8b7ac010e65a1609784ede70e5512362cac6af34b3f939b3125421b0c41f817f01ee26f9c8580b9ad6767bc9fd7231caef85f6b07af7328d96ad46967ee216f58559b4872a8aedaa255f944595bacd555114f14f12e8bbfd65bec80a46d5a416a3dd1f80a280f9b6541bd3599e9c7f215347dd87dd031ed4333547b44f556051b388aff1540742cee75089f70a721dac0357a757dd609d99b3eaee0c379830261ffea8803c775e9418d06e11a8f25d18a9fa22b3f534c593cdc174b36528859fd338ab6199407b731ccfc3f4a278dd4223e7549b0f560318f3e653f59b58ae2cf778acfa8467c1f91901aab8c4231d88b4c83637a8e019d76c7f3e2b84b039622432bd9dfacb0e26e9797692610e00ac5bd0a77527b52e7c7948e460f77443d16828fa25ecc092579f59fba0d162834dc3b4d5b50135f96084c662f4f735dec57c1911578217b68ed0a938b959dfff05d40d8ee7b918ca3fd9f3b544eb34b7f51dd254f668029697fe13b13c7028feb4088913d25dbb5f1a6f27da97f72299560adf18e8a9615a811c6db3d6205ab3450315aaac130d1cabac431ae503c0f8ab176448f858b7000ca71ab42131916633f5a1372a36bcc0dc8304d2a9bb6855fe5aadd00fe68bdb7364c6aadbe28948c896f1f3f20be251562cacd377394a046597a5137c7c4c7e8a87fe65160f81f34df1e220729e2a865e338df21ddcf06135a02e2117b575fb80cb8115e4ba2e9bc1c8560c848b13ac144b86bbaddf2953c31bb26b43c26374970fdf0e3dcd2895d2ea33ba86407635d17be75da8155c2bac60aeba3f8708ddeeb580d460783784e0ac460c95abcc4163fb658aace5831f9b882bbd217ba3dce357f4224d726d91423f11ed4770feeb30fbcccf8b7d570451ba2d6ed33f2987d9c5831e3260d6cf30697c05a79b983301424d4ec08206e0421d9cecabca99885feaeefba573046a26c11c1fc92067dda975311c87418680bd83ed48c0dab0bda71e9e16b5975ff2596e0eb26d61718ea0e8fcfdb598da6d074bcda6c30ba41a46e1b5155069f10d0819f91ea1d9e94d5a65e3c6aa36e59bbe6d19e8bdf977d9de88ec95fc6ef28be73e1900f343561a4474057d18917333a0b1631c46c37b0eeb0d03ce6e631d06e9e67b97befe64043cbdcec98b8d4dcfba43cd4fc8f7c1bc8c897a8dd62e618dac54192e5e669dc8603a16d622867bc83c190ef70473552564b8c6e9948fd346c75debd9dafc4f7ede0e628e41cf3c3aa9453b08fe61a4b39bfd280812b3bfae3f1aec263a73cab21f6d28dddd82b1d643813fcaa8f0fcadab2d5b60e5f3c7e38d23e1766e925032e4ea2bc21443513a785e66809a1006919b2f56178c83dd991080f9efd387e776ade05337787fcdc76d983afc4330ad1d1c3c48bb221132c4f82fbe31ffa628237c286125c8fa26e2b991749615e535eaac9cfec29890fdce5f2856a00871c801e968a31231920d997cfb2a53caf82724cda45015c6362a3c326683a1706ae86be1b078e88ccd880b09163cca4a34ae260395ca03b274bf9fe025d0635617c20353f65ed7693516c73513336d577d9d6946a278bb07ba3bdcf579bc4ca747362904d5a8197ded71a323e913f3eacd811b0fec050ced93acdabc3e88367b18ee13a6b18315185fe4a2ea950d1c939fd4c6992b75588cf2af1a8845d162d801a97d90cb52ba3413e1119eef2996e32c8138256a5123e22a6dd61d3c1926a14250ca72e33e19bc17d0e9db69540d246985cece78c1a4a6becee8cca598b1905c72be0abe235dfffe4331e8f3ca5e98422ff2d886732d89331ba7143b0a1481aced702b7e09de6344482b9ff5c8dfc7d1e11da8ae9befd4743a83513213219cbb8a9f70a7f472e017d3c0b694bdfffd1408a1ab3b1d3cdf310173ad48b1c7db27bad73b3b74c2baaaade8341655a683603257b868edf8b8a44ed1a501fee780f4641a4822eb55427b3a9d8233fb5724054659ff8593948c1f2b3c76cc1541639c0be5c93c99ef64dd6bc08eba26f3b69683a661637259e183143fe8c8a2b7ce89684263d64551be854683334e3671ad6f67c7eae3ce6864d12b7a0d24015d0773a62cec8e7e6f44a7548230537d08d0ffb42c88ff7f68dd7a1e9f87b8c04a3be860f4dd46424e59c1a7bfbc8b62c1b102fb0357d4f137edb65e8f371024a9967a211a9063a42e64434311ad7276f1d9ca8f2f88ddff270a16a8df8d28aa44a1c9043f6819f3fe3cc2c749e2a5e465a9d98ae748f1a1fadc38238b080f0924d717637270768337a73b24da7dd975cf9afcdc5e8a3c0901ffa16b8b1e666f1506b888525530a51d2fa39a2b7e64b78e442f097c98bf4cffed811473d477b619be38f2a758db490b4a045a4e2ac04ed1719a2584c03a407e3fb3caca6f1af5208a917673f1d90b55e50b9df1d235a0ccb90ae368f66ec6f816face342de592da886557356211b6e99790d1756cbe41e061b428d188e38952357ca52515cf80c5cba30df7a3496c2753182251edb258a31027be488351cf5bfb23b58b82171dafcaf5876a0b5d0f2864fddb0bc3b0714b8041b679b37d695ba24a4bb69e8947b8b29277189da74c7005965a983bc442f4f1cf8b0bf48c7f9f3f19ba1abd91998971d8cef200fcf6f236de0836bcfa0517344d473e62104c65fddb729f39912690ed453e2efe7694805f592aa4e3ed2ff3ccb8717cefe6567ddcdc8641420f341f661fbcd23d09429cbeff0e055132460ad17ac8fb3d379e4ee980cb6b641321416c63254d115ec0892d1fce7176c71cbff514541204e1d4be7ef8c1a9d21fcbac7854dc8508c5dfc2f8d84b32831323d5df696e38ca691987292ae8690f3b21d7be4a62f2001efc8cdaca25d7e47f62e9a2e45f3e4bcf8dca9725f3d727df1f771b0e66312efdc31a3be897f2cdc6ef2448ccd49e86787a67a409c229f221ecaf2897a685bc505cb91450e08ad8ff0e91474ef98acdbd4560d0d1ed39328d2008beff5290c418efb764948e37ed88a624cbdbe081141fb42baa0696cade9ff34c131853fb4c23689a4ffdfeeb62d8456bf5c264e3f0ad09e8417f84d9259e7f46d9bbbf138aa9ee7f7241892c3ec71ed9859b6089752e8031dc77ad0e9d590c1b9e7a564c0620c458cd70f5f4f9512c24669d21e2499a78984bb181f75cae83344f3d0a58e14f32897f221b72cc8b51b287817caf4203e80db3e505295849d872ddf288f9b3ae2c1f7cbb8be0e99db111997fd9f526a7ad854cc98944886964a3c89fe05b6e5bd539882c619c4d214f6b720515ac708d160f7b0772723ade227f0a1071d8c88e6eeec92d22c6489a937d74a4406b67f90bd2b6e78d91ede396119fd833ea5f64be72c20bc93a5aeb0daa61dde5b04b2724b3220d5117807459ebf559683de26f3e5a58254175d9c1717a042e99fb2577792c41de93c6549fec536261d215fa9dd85e5eecc7409c9b9bd6d5fce1f9971a53832b59e493e10f6d5a45b9be5eec05e28e3a51bd256bf591f163200176171cb084c298bf4b09738ce16910f3458e76f022d7a5f5a01a284e6f360f622dab7b3f27f46e02a52bc7d9c8dd9f1facf5df2325c14f01433be3f59f544fd8ae3a15e573e400ee27f832c012c840d4354a0a67ef7b43982dc28b12dbf94ed71f9a3b722c7f6c04b455e4710cfec005ef2f783110e5835c872d753dc6061296197abf10025e0dac49dbd6ab86669030526632d04dd1dbc91ad5eee0720c391d2bdfe6de77276e8e37531999e2f018c4a912d9085cd386af4e4d1da7c234d491ffc4b11f23df627345d02699bec20a86225b1736c63a4095ce020041fd26c1b81a3e910425e0dd58666f503de3d78f260323df1b6fe491124da30b4028ab7573a833b39f95883bf7ecfc7c8319b965bb54fd648c2ff4d17bffc4f0e9af83c679a2316834446939be3b460073ad7c2aa8d8655d6ab2ed1667e8221aafba2aaf0827075a5d157214d61075cf78f24749615d770074432202ea9939fa97b93d48ad4d7c22b53f69dbb5436e40441c9f9ad3850b51eaf68b084fa5045910857f09af87c5cf9c0e8322099b59ec3ec8ee09b241dadc8abf3ec22b516b70c5f43cd240d1ce2cc8722bc4c58f3282b60a5edc12a7e602bd52651f166599fff86c00714d222cac2a59911518385a2c2d188910755cef92bf4a728d328ffdb5c868df523a6615e365ddf24d310aac30b30e788be4fe32c05567a4caed036db5fa31b06c087107c99676a70e56f5e09300417bd09485a995983965fe752107092e518d72fa93299e973f977d1223f0b30c142ee1e9aa6037e1a6778d3558383d94f4332ac662a4f9fbe5ae0c388614e636ea74624c79a090655a894024381875c45237c4c05f9d287e402e9b1d83f349ebf4100ce435be94973f3ec1415e3ebee6e63ca4cf78059b770eebba72b9e6f183b2cf08a9a2ac45b4f42d71556bd1cb4ea7435a902059a99d8682c2fbf26b30324e6feb0405c02776bfcfa8f079491de54f07cb7a01b21e1d6f1541ae9bcb160039601f69551f282812626e6270ce7269420795e6f8c1838d15e6146d64530c5157a5e56831d4d4e279c6da108e9cb8932298102dcb8f222b671fc8adfcfb0f7120896417aa7d14d34bd37500e5d05999047d88ae3632653a474d998197dc2ecc180f7ce8f41b85491b634adf9dcaf4650d52be3b8f565a5b4f4a9e4a5c99fded72d88884bc8b426e62c9d78e55fd6842923c290e0fa6e10a19c3f1aa05d06d760ed20638afe3e12f8c095e6963adc184a0faa121b24b5298c922472851a1ed95a53537c753022de778a80aead7dbafc2a5aad2e60465e3c7d831a8f4da026151ccd86559d54c567a1d11ab10df196a2605120c6d459efa396cc42ef72857181279ce9f401d5185fe6d3962371ad08f74a2b508650c8312fa6f87a62fad08564fcf8ddea591e79e7754ae91fe45f9e4cef71ec840c628d5d2839bfe4d3943b24fdf407acf6a3204bf9dab4c286dbbb4fa432122d78be9a1f0a706849aacae2f582ecf378b60a5d1d312a10bdd6692186336cdae2acf5a435d718a67323e3c4f37827b33675d893a3efe127c06bff6508f5abf19140f4912a84f78e002bfa6c832da3399a96b3f37eb3a4c909998a684552614b81a340a94512bf63a48f0e02f2ac7c57416247428d606bf12e5a97f95fbefa48126714b9a5622b8a5ed3ecb0245feb4174ead151d681c1be619d4afffe6c1892065769df3f15b510f9ecee765f69f0e7b0fe02f538ed9a53a5f3ac136eaffac409838b6691762a888cfcacc34e1d895efef535f5d68bf937f919eb34ff266c5d42aad72a0745caa5e1b623edcfb79b9bb8eca6d2eb067938a3e4bbf94623aa8a83d783ab48723a3c05a539331d7e81720aafdc6e15bdf0468f2524bb1c63e6375786cbe2ff8d143f8e06d982f6635aedab675234e9393545a0976709294e5f4562178fb0df3e41cdfb02398b99cf74e8c03a4bb0a3271e19a25e4e91c258460bb114dbb4033b28946f99f104a9959b502e40d3af62c5b8651492df73b0f2a3bbd83191258cf676391f30398e96082f4a1070403043ec0d88caaf108ce9c88b61f10ae86634d07602aa7e1046374815f12ebdd14777a566c7b21d9d0293c9df0554b5eed5fdf0eb8a07e724077f7f1bcd23d3a3773f1dc87922cf97b3c2c9e1cd1f296eaf202fb480191f371ceb6c4315830d3326024fcef10f632c9f4d1df98e5e6af7d2a32f0050878da6ca4eb56fde349dd4235ae047273d5424cf8a9c70dcc6c53d464a8629b7d69454c020d5203688ed5139a0c29c92e2243d4c80770e843b2a75aac6b81c589d5c6a49e780da4ba8579176b86f1fab0f1fa32e8b43aee676acf0d771198fea6abf654d6e5686968099372f348fa074bf83f69f1c1b5cbc0ae1358798822c2b338043a03b650611cfa8a59ad685f18f4eb8419d38d3af21227151db26d6f437a6a4ba33b6364f6f8ce51713f9f327e2155450b144c0672d3aace747626e938eab85f5b147807298cf583dc68439bcddd00c78399aa1fa94d259e51e7d74310a35b97cfde5c1e7574228ae7941c0dfb32863bf163458fae3dde4e650df2657666ea62e4aef75c192b3e11025fe477dfcf0611d08c15d22a8a2fbd4af8ffb9b80fbfc04c02419d779fddf35b26453ec99b3e426a8c20578b21491e49b6a98d5fa352156f567e23748dc2ba3ab4eb4309d176d50a8a38820a90317bb314b7a756e14862693790b87f2624d029c389c6ff17771a0473142b88481a72d69f2ebe0fbb0f07ce06e7782fcc4b56daf14b8c973c1cf435713376a64e31ef01036828d05f479cf9765cc888e1a75d3ee4aea067772017cfbd74d80f9cd59eee6d18d473c94eab6eaf9fe820839b9c3b0c71ce82723a43584007fa5486d0de8f95ca404551becbf9272f7c425fcd0eea0bfa7ad926c919275a426f5a55900eff1f1518ab80cca6f683e9e5a924aa78a7faebf82f59db3cdb30fcf579bac2921d27f681bfaf61f2d6e0a7ec2c18a7d5a15f9d539853e5cd59acee1a016ad345150b8ec680d626a1dfc55adfc24421237a37ee3d5ea4a3b7ad911e1d121cdd471b674f60a94a4ff9faebb5b8aa651fc780f45a6698480e54c0d9143953958a9727f24cb2d8183fa218a09add94d72ebc49f6c61d2a26ce7d1b2513ebfd21cbac394f976bba28e3eacf978422d2f348ca0eff13b3b7264f6096b2cf5afcfc526ddbf91f35499271df3f084bc7b54565038b74b3e4d645707eebf74ac689af1fd21aae9566cffa33b11fe4515d52d0f218ee4db1acfbfc0d79a5902a397c2332371e3d08c1c9a549aa3a514bdc6bf178ae45f9c58f7f7d91bdc40d4cf01be2db9192d11e035ab9e38446642229b140a108c8bfd0833984690c1183415374cef725eac9f5ef9b3932f57b0a00d2848fd0bdf2466a1a6aff1f7ee963369dd50b99cbcd1f0b8f8de0c71f506afc80ddf705106e825549fd490c2fd20e4e8c9a6c836742a97a6191d6d61278e696e66629bc45909ad3198f5f83ce1fbb36af714797fc3b9cd767de4455de8b87a3f8fb19a9fd55e58c5588cf9b0f18d6dd419cc94ee7bfc8731a5a21fe5730c98d598a4da8875918a228f57880505b87465bc2ddf4ec1e2bf0c2f0a08dfe5e989778f715d62ea737c2167f19d74d57643a81ccfe163d63dd3050bb1dd0308f03a1f9cceed63b508149d0d5f924ab9282810f4a9f196784427f3f1490ad3f0ee3c4cfbbea7676a0dd7d5e9d528239a6b3ba44e1a0eb9eeaffb669e99bb5221de25f18482ed6f70db56da03c44da3dd9782c20df298d4650d3f44ac90538bb1c6d440abce67a09c50d6d361fa556faf02387c4e1f25db7337b4947dea254601ecdc06cc5cee7ccc9ae43a920361c61f778e9d9c678579bf851d26ef8674b509287bb4543b5018e3c296b432ac97a99b307550bbb3cdb0885266bfbb82ec1444ccd73d042039830da320b45e83a41534c96487948c34154efe070803d4d2ed2d862cab6536faa05794f72b45b0328421bc1c799e4395d75c67b19acff3daec2f727154c3dedf9063912983c6cba4a44cadbc6593924e6976707ac5109ac392fbc8c1078d6041e68b47435b18558837d51c94fa2e00b81fe86bec8ade4462f2e4bc554557c61db79ee92729b433f4cd22997af709afabed5cd50e577a708d2a1ab55887de763ac18f37382e30050c97867fd371cb51779d4241bb2703b577019a36278cae3aa0037762fed2f7110c46c7e45153c066820475b37e4724bac6f3a2de0e91291b2a3c805785255f2c5c1bce0eebfd75a07cfcf0f9e6c6969d1577052792eaa9002faf003ba55038df252a96bd29df90c144d867fe63fa3174885497e72cfe2cc08f5cee118fa328f5c0e6bdd675f2c18e2781e0c32da548b497141e323bf1ef7e182868a6d2ad2db607d430917014ca21631b619e39c1ecf1de1a89c7fb2b2fc7a81af0cbd2428fb35ccf49b0ef40a216f0fe58825961158fa732dd51c8ba13dd6423b21b98107226d75677edea2f2ae7b101f9d76bcaf38288a0a9060353418831e4b69a77d8c19ab44a3a022bda903f93a621b6a7a50815c87b84314919a4ec1e29dc1f1b50778253395d8783e85891583c70ca14956beafa629dbf663a3e9b201d1ce329e6240f7e3afca998d4ca3ee3e22bf0b45efa39e8afea5c753be0301e383a3865d03d5ca267971e06914d0b7ded891692be966ed2f47767a35cb315b19812007aaf4322d4662931db8633e48b0515c04594967e4498afc565292e0bd014f4518f2d9db35a71c428138e731089ef1e1a2f5075979322516c4e7af0a3661dfca06e92d233da95d0963e9501007239342910e5ce89e5e446c5d212110e8423116640f952b37295cf20eadd639a3957e97f0f9588a344cea4e824dda2ad56da81ec9bb9f869b9baa92ea8df22cbcdcd9a9eedaa8912e81ce6885618eb8361713d8053d235708b96a5771eb3b638dc3db8683593426a3f8fcbf414df9f5a205ea27715305b46befa8cebf770b122f2b957ab5e601805411a920bc10c9083ec45dfb309cb6b9fead3d78f2a4ce1dbeaa70f512a8ba454f2507c490399c162057444a37e5ad8cf6d27d7f1c18dc327beadc6fe30bc36ee9c6c13f2e6a324b9338f2f9a01ea0dc58a66cd57993ab6685749a2cf429a108b13c9b8aad453c0a4d33810f8f0eb742e0174f9db396cfc1541955b645cdf3b56fab90b74ece6bce04258ad982f67b46249e7e61bfef1d55386d2f1aba593729efb2b9be1ac26cc68f509fb5e89602ea1073a4ef51fade8c038b686744bae4bc3b6276e4e0f1b95c9217e65593220a876655c5c9618a88c97ee2ed6ba2eff928d132c16520633fa4d89c7f61745f0d02a4a434e963ab73c748132742f5a9237edace77a8e1a5424aa8bd7aa11eddcfb9817b7fa05c2301126e2c8e144d97a7d4128002f2316e94435e36cfa10e2a8964314a63d1ef0d654c9570843b994cbbb7fd1e588d4c7a8fc048493ac1dcb4049b3dd52421b65f343c6155fc492b2cd981b2db9d0094eae56e8e98068a94059b1728fd76d10a8147bf479cfb72d1b9522acb9f5a8849cbdc523edd88ed34244b6eaf854bf9655c8b683d84c06b72400bd3941adabc9adf426669109fe985e9ad1319e45d61097d3e4d3efbe718ae8663465163fa3c433388e26b22bdc60eaf298239192bcb6da785e7970cbc94a803dff9c42781928c0c0482743abac46208912aa19c579755bfbac08f52b6e7198cf8325b75f474c6dceaa0f331ff497cb2147dd20ddeef7acb894f66c3d31908575e8fc76aa85e658a11d9556002430c1b15df93a2894ac427815901f684aa542fa6ebd24cf3c82f5767980bb304da512eee38e61da5403471227ddb5350e4c28d189d9e67f145368bdeb96b8dda3ae13677ef1c1d3a8bb91b2d2529780e6f8d6914a6056175e49919906ecd3e0c8995e924562c8777e8aefb10e3383bc78b8d17a0627668a668984338c358b956165c5aa1ca8a820d93ac30cf79fe72604a32ba28260d882a7337eb4917f92e1997254fc11e4c86fde7bc61c7bbb4eaf2cce02718707bbdc50a456714873fce93ec311b133386642ab4e3ebadcacad1c8051958442351f1cdbaa8fdfb62e57008b464654bb99a75ef31fa51a0dd93195520567fdddaef302e94ea7a4c6bc71987887ffd6af2e0a53a4c863064f3a29ef87342116a1f1ad20276df20d7b55365d8c8bedc09f8c4e63f82ca74afd18bec0dde7c740775f9f4ce3e85aeba2bf6851980be77f81a1a1685b5cc990ba5df19086fa70a91cf47918e7c6dc96f2a484d9bc8f7d3367e9794b9297e292339bcad2adb25c4cc5ac74058316f9ec30b8a2174111781cda79ac83698e50b406610265097e0c28f8c31d7e7657a10ea7d4528d1dafe6107df8ef52813b3e62984786b942f7fcdd226a55868389fc89ac6226850e61eb698a73fe44058d1bf6a4de25a779f8f0a760d8042b439b72ef40add720a04daef8768969ff6999aca05101eef4744b6c2af07191e24428017244779485939d560bed33142930f8121523cf47b16c86ff182b4ced7d941513991d01fc50cce81a8c417ead90e7035c96502e37c89c8b95fa199b8382d5e11cb9a6e3ef11abcfd451f5c6f2b17e938f5c367c1f249dff41c2dfc06f914d4cea6cb22eac821e98b9c2ae41d2042cb482cb878cbbb56ebee8848bca122be0f0c30df7902a8c3e7674424bf722274da9344e1135646cfd69e799fac5ecdbfced0e8e4e10bd9d817c272fdfefd227278af6bab5360132f60bdcbd0db8367eb9c6bb4a5476b4e5980fb7d93159705468fb205197735084f235c20ea7377dc6fcc7da071645f5f5b1b3e0adbde4f46f54341861d2305ad0d691034df8596001bbd5e95651769f4e14498d203746b26467138b56c7b7de6ea951840d9936060bca5c7a3e1be469d14760f026e6668b11f1161c51b436f056238b3b571e4e46a750b09aab5d3da77a277399f43574e13c342134ac8679dae945f302294c993ac6f38eae7cc274b72ffc19d26c7eeeb3a206030911c01e5e518591586882b18ed1476f9d1a816db24dea2f1257d6ba84b0f1d8ff9ebf977f735b53345be29d88fd02b2fffc91bd8cd4dc4bd15f25b0feaa001b55e4e1d23e93e3f23ec62c6ae1b14d9d1b4d016ef7639e5ea515777dcb83b8e2c85ce392f73b80b27fe5b11d19734d38834bc18a832afd69c89ef41207ad7bc67331963695d08625215c6433c50a3b341233b4d4bb46d94508e28a0dbc4a85b2a22c31da33eb407215a68e1b7442a87804bdd797d2d2add6fcc669f46296e17def2ad09fdc3a39058f2e74206bce0eb970b7d6377694eb0e58b77c6dfb77071f93c5bda1f744a14bca2b31a894290e42d419972696a375557b1bae2fc608f87ce792624c0e732959ec03d5125e81977c73b7032a4097683f86ae98c5cd121f6226b3edec40a9a47c05868d7b48c0a6dc8018ba12b92ee801d45f00062834553d115527b723351b3cbc50ef7e9c2b9649ae94ccaa20ae839d60acc1a1130318f1db769b233000eb3a498c20a2126f3c9c07da68744c166abf67abde205c2b604ac1bad0a1a0a65bfda8185f5b9b04630766df6a49d4cb2928b8f6141c67089f5372fcfc9d55c45d607efb4e089f8876b582ea38f65cc25d7bf67d07058e48206ef62a84dbafc535cf212cf9b97f3b673a803b8592b1cf63a452deddcc8c4b5d2676c2122cf422755e9dcb8505e88457b39caf363d1581486c5cbcaa05d972b476907d15088178b67f42201515826059d0576d28ed251071d44e1e8b349d5d1255d9498b4f14be201990c8053ba526371ca5b8f9938ed7e7c8838ba6689d604d37bf489e9f46edc5400fd9c59ca624365a327f891c9f44ea8b6bc746129b6d528d528111b66bde49b71041ca1352a976d067bd0178a7eb4f0fd5aa7dae7399fa9b5470b2f701502b2283c4184318d8d351fdd07d251af6572104e851649a970744b34f323f7304591ec23a43e53f9a60344dad366b230fb2ac876eca799246e230d3ed4927be2303a4a9f2cafa2ad025fe7c3fcfe9b89aad9f6084d255dac7c16cdb73edba71b7187a6eb1979f813dba33f74dbaa900510129fe64b7719d7d29c7875784dd3d6fa95df3a7080f7b68bbd8e328c9bfdfe9c5bc37f63f299d351a37b67f81e575e16a93e50dd173ee503f406e58996fe2804f9cd1ebfb922adb7bb60b70d5db3cef5ae468ac394b3873412cfa765a9a86aebb0f8e8707d1324351028e11f229bc71da6d70b6b99db5cf18f111969cac7ced63c36d655f2fabd2f246fdc86d4a35fb6c62e5d9153ce16dba76f950d942ed834e1f457901190669ac5ab1cce96660b6674eadf41668288880458a2ded22beca7ec70e7f6e937ea733a2cf034375f29cea0dd5a836ee77f63633174d59308f9147bab17b85237c19c13cce48e3ba3dac28c4cead4feb6eae007acad93df85aeeb6ba652a7499f503f65c9194fc7665b1ea47e2c2fcf1a1f229411744eae05ed6518ed6536d7c76c512e0ca3573d57a2333ac35f7815aed8e28f9a5d0db89790c1b1f3f6e67bfae1123afeca75210eec58b90c941b7104ff332ba5c623939352c45138fe6de53293ada0675f284184c83ddf9277d62c6c9b31c21e0d97fb874786dcc07dadf58e4bc13fcd8d1930c0a3753601622664e8be6990f46c5948d9107c427800693837a23e41414055bf0bcb81b59855354f35ba0e5d43b212abfa1cf27807935168c2372a646e07e7ddcbd4ab729451d48df5fc79e441521fd248d12b43da8f1a1380a7b71281c0c86daba7fa28a9a36b2364d8e68c6a1ff9421fb50e323f59bbca1868309853bb5ae80542fe8a18cde8cf7b1150750fd7a4dad85032c714b089d96a4c7e34f19737968d3c13abccb6abc544f3f2f4d3600114210507960e895c52a12e1f5959f6d059943fd14f5fc313f0de30e26621a1bfd968d5f812809529a4c9b7cca7a4b1629779bbf604618bd090d719e5f78990335eb8bcb4af6cdd139f50903ba8e2ef74f7780b426ce29633e1fd228f5ec7fc71f5d687c718e43c6cdb368a61f83317fcbfc069e715ad689d975f742187264ee73bda939ebb8fa97901ba4029c485f1791a252bf9ec2fd90caf5b5eebac84c36813bb59c62f48e6394d59562c8e94d6bf4ae1f5c48ea934a6ec49ad82cdba1760c5662f388993facdc78e0513a8dc5d3330b8ff027e67551c3ad39e7adb77e53091211bfc98d3bf90a7bba7871acb67f30ac08966bed738b4324b9239230acc3862753b6dd7ca127520d9d14048853458c7a58d41eeea83e6afefbc51e96dae65d817d62a3cc43f0ea27adee1a023bf1f82781dbf7df12c9c57fc02fd81db42ca3ce1268bb9d475ae29a5fa00d0e342b3a1e8390569a03f3b72fbafaa84e2a74418b499a14e579da539f1f651a475899e7a048bd32654bc7a23bf92efb2af4d40fe9a96e4e1ba002640954fd0639e40b7006daa71b592226a52864f306048f6d993006eafb83e2d78d54fd63869208e41455dc15772675d00bd72c66f28a8119a76ee93260595f7994d0dba1892c70c38d3036b43c1425dc813ebaa42b27082d21dfa301edc9908173fcb081b9f433dbd229eea6bb098f3d82f26ee1b4fba293cbc70b4cd9b1a1f18696de15c614086b4b4439e8aee30b19c54504a57fd28200a288b4f77fe8cea87846b9e969cfdcb63c6805c949bb642e9575bfab5519973696df1fa49fd0a4a3ba2b7baa85b919e8ab016bc1a596401cce502c9dbd71cd848edc9ca1f858d79f2123e0afa4a2256c623d86cbac85da5de72c04f79e5a7a0d3fdfb68242e01326d70e7e426431d4742891ef8be9332fd0f2df9e22e9fa250df25c25bb41baea92fcbaa2562965e3e76d0434bb09a7f53db2e2ff261d7fff715b1eea3109f9448bc5685401011f415ee6e487585e7983fa542e66d01eef474c589a81ebbc3fc4a6391065df1f9d4275fb3ee834e4b46214e8a030f5b2deb17f3ec876ef352045536b39c82b4aa8fd5f5cab23f5d7ae05a75c63a5dabd1b897c998cd93de964f7546875b34fded14e526efb6b139b02ac0ba8630e5aefd61809f5243e7cb34a8e3b3ef8763c85e2b150b963e6f12fae0e6e4a2ffb2b8acb99f01b40ddd159b9fc113498cd268cf119eb58a78c99dd255bddd27425163b79f03541e6e0166a307d951f58a55e4c8e6586848fe35b2249eb69bbb6a7bd2bd6774ced0a596b59bba9267a7433de580cfa9fc95a5c26cff1211ed85ff33d2ab5cfdc42cc78c5a0410151a7ae06c4688a9188c4840c203c6cc3e0942410da9a1ea0a8e1ab304c88cc39be95ddd0a341c86d0b8be493a56cbf64178946fa527d09c18b84b315be4c20bfff7d3036f7104cee4bfeb51d7d7864ecd32c1429159a3b42f5590c1cbbe59e6571470228fb17b1861ab2b38e2ab40acfcb3f19d77ac0c3b1f810ec0fd7a3e6d402e985b67b2fee2f497be74822aeb46095292d6bfd1111223403916be26b89ed0e5ad9763cdadd00f591c3edb0cc3f53290013aeded2f9c05969b2a43152d5fa25b977916d754c3447c6a9c05d4816c4ad99a56502f2f31d69d1cf8c89f1302e1de74b6ba4e5ff125f3d6a8b6787e393019a7296fe3bce4f97dc848294f1b907c09f8a501686b4ce72b4633fe12b78b77fcf2c377e6fd23634abb2b143faf1925033daa4e8df9472eeaeb8483217756f7dc2a97626fc8d70647ee2903fdb3eac714232364c81c929bf3e20c5ee5088253d08ad55094bd70082225d931c8958d90723b5b74014a726db1444ee3d646c634f84ddd27b1f7d4b1609f924c172811dc155f700f5d12299867c8b49f7d5fc541ee5ebb282794b2a4e0fe616e5b83afff1965d8ec42770e98ef9a674ce2705bcab9ad308860f36ec55494cdab08c08ce3405a2e3f48b655da35bfb7ae6b87a7855295a9ab71057fa75b12d1a615729d27a454439de6331cef98acc92b38e9f06f215986d1eda4970f1679aa9d4e0971d942880441a5868c5a0516645b9f7fc191107f174693f1fde82e3a3a4e689c0446cf3f6932a8e2d295e8a6ce9a48106ae2c88f583419415d7338d6b0d02c09b155fc46af3b7476ab84a304928da23c525920e0316dc637704c08ae1e8e9ab3fcf3de2722f2d65d6ed6989f9a0e181560ff9d3bce6789c17b4801838d35817491a0d5c2f73ceb7457d8e633fbed351af7b122c820bf32fd77194fff63b61c8ad1eb558f56d3f4455beb74676aa0d870368d5266cad8ba4072a59ffd5412f2b3895f477a4f7676b05fb0f640b044b13ababaef1cfe56d32150dde11bc5ec4f01717b24aed42b9896fda17ac9037f67759a680b719f43abe6b5f14f6bc331f1625cb2f1b3f964f683e51a93731e499af2104679013b2775d581e67c31277f7f857b8a37e4210e4c52dc103642b9159993946f174c87ca58d1a12d4650cac6f4d026b98bf8734093fee0bc29e089f3aaa008e6d55e002d55c5e5fd1693737034b31a5f65c8b652578ea44f00b8ad0d0cc89be49baad123631a6993f0f119d2767d22526ec0c850b721c793bd07a31a2055b5c42178f5a9c9413aae20f1a0a81131ff0b7b6d1ec88e69d3477eff82cae23a80e0bd7a4b68fe3ce2e2621bc240eda11de687ab5b888c2ee126e359ee3f802dae8112b596cfe6d92982e25892f0b61b76f2951d2a0f6ce129a7733e76c62f52b60060cae403137152a92a71c2712a09c187c4c45afbe3fa62599f913ad54f748396303d615c139263aa8d274b96e32905d13f9696a84bfb341fd123d8d9a9fc2114afb126b84611d4b4e30fdc865112fc72be0b6f40446f35bef64a1dac4e194b39dae41a052b92c365b6bee3dbe72862653357bfb0bccd9a9b1f7cb6a83d67bddf116adefd92b71a11e8b38377787e4df86ba9f4dcb792ab79c0fbd5741b0f4ccaa3d96f830a14121ebd58dbcd2c6e434d9a946a618a4b775df963401735f1ca12e655368d7a212338aa87a7d8cfe45af868661f7794a2706692b8f9d27f060b800b291b261d25ce33511d8a4d7cee55d2a0530d783ac795a5ddeef158fe9891c7f62e101904623c5521a3b50325bf04783afacc6a95244748b0f57b8d8a6daf0f98c62df208ea9540e52e347e3f33d38be9475d9fc89b6b56f6e6d3ace9da52a842512648d2153bdd5855b0de25ae5a435ce330c40b53c8fb8033a6a260ce534c2c44e237e15d4df645657ba145522d51ea1a280f16d059f816b566c8cb888d77229ba2c5c810eeb061a4d33033162625e605a68b7db64973aa66e7f263dce53ce184811f1c2eed3d30426975fc81175cca5b1dc22c56b218deaacc4f0fd5c45dcadcdb2eb4553b9ed9d5102392333f371b79b593d8fb8929f86bb9ef30fc103b5d0df1f5d81cd7ff6da3db205807abf14bd3083d67784fade23252665e072980928d33d9c9027594b56b7feae87337fcee15184bc46e91a59160aa02cecf28f77befee9e97ad8c1ed93d3c861a6f93b59669d6d7d823987afe97dbb1796c6765684b6dfa182235dc0be2d0dd405d4075501ed2a0d054c2c0a4b618e17e475781cbfb9f8df0813bbf2d1230678d92ecc0f90702ea94804fc7ecd5018fb1a25908a18bb08ad66ed43be82f5e9bc1975bbe39d56d0e5a69a588b8fd2e91fef78743f2c7f585a16df110d11a899cd72b49b46dee369c74ec6b6a6beb7fabc1770e630ab5b18a1277b3d334bbfb7c7f96b3f00493fd76709713132e9ff4b97f662adebf7a4e38f1e7002c7c06a72cb7efe00dfcf48bfbc2ab734074669f3f62d3c92129167bddf12e4c5cb14ea097f1fb14688a3bc62ad901f7467dc4899427aeec6f98ddca64e3e45feda1c46fd682a82e73374ddd7b01f761f276759bf047b24bddeed3e0205da5b42b217041d3d8dca42f2809f951b0824c3f951e16eae380467fca23afde67e390c0d1742dc6e69f9f8ed44a59e78f6dfbcfb38040d80130cab230b6c0ca0cb5028e80d9045051da546b2188cabaaca55c92c6004eef134eac769426848afa0943cf041e3368bf597f61ac2cb5185485105b5e04feadec8bd3d93c2c592edbffda0dc21fc46f9a9cb390a1814536138c148c2b874e560f9c00f8941115fd4c7af53a54f57a913c54333a0af15f5ffd29d3fffeea0d0a6e18f0099e88c55c1d421ee51a41be9c132d1f3c88498a23e5ca9ead126ee3d82148159f25c7825a9daa915eb1717d7d3554c8625c3df1fb70abbb4d424e84d3fc4bb4590a86b6fd59b6eae6937bc23424a96767032a61e371acb8f4e77a9590038ae25181375e3ac5532a63b6b2c3f9491963daf8ed34b8aa0786d210e1812fa21fd12afd12b7b231a3a1ba867e077455fe39c3957bdb764dd5fcd57ae3a47fbc6afaab8e574dd956274d1b04526b82586cbc2f2263194f0f00a36c87b58372ee4cf02ce0a1fb1f1238b7d91d78438c9dbd176e6e4243847943edc3f7124544509b5e38a524d18d4138dae679cfac79cba8be195df70eb31f130212b72cf4982b54214f4d382843922feeebcf87655f2825f3a25af5bed4110423dea527a1df49b2c908b926e90f00f68e0b7e816ccab169d1154a23df856b904228d44a6dd5c58dc4d6f5717a63bf298e113c81944a8e23a2b48ecb2737528e3dbfa0e3d70b114325917f85e5d6c3a59c6b37b8a324862eed10c77fd3664b09e1bab37b2de1e52943619af4e577b9dc5971b505740aa528d81175a8c0a9cfd5cfb2b9927ccd0e2fdffaf5e4601fd9cd0c943c828ffcdb1032f79030f16d3cce41d47ad3bac820a798b0f7597bf913d9b15a94feb713a054426ca5a0854f54e79b6e978034222afa1736554b90f34d2b3d432b142d7abc986b0a3a65ba645819bf4e7e49558af86e0f90aba3cb421ae7c68effd2e4060d11fd177368e78a39303be457b2cde7389245392f037aa5c19794f3c412f0bfd52e8212deafe82735d53f02bf75a0f748b87ab96749807069bb0d9d115eb6e5a073d245e751c747d73658db4841d6838a721ede60e743863a4907a4446d2bdf321eb69be2d4c6ce9f03450dd966be704ae38af793e1057750e3dbbc9a22370dd7a0c49820b7cff209f6e636947e9299eb6c13d4c04e8773367fd3f6bb592abafe82cf024e4e510fefa102831beebd7c227f99952394041e22843132e319794329bc521bb3af8a410ee60415598727ff603159b66cfd8867de090b8e3ff9d7a9d5bf0806aca692816cc33b0f17f57e9adfee4e8719f09c3e33b7a5f46f72aa7ab7542a6a62351c7185b2f9a3eb4b7ee1cbcbaaf98c70fe6485864c3f4b3d6708d805a096cd029a2067830ef5f6006edca1ddfdd6c206f68fb0685666693ba1b2b1a6c296d6f2e666d9cab4c75ecf4ccfad9fa3672457c610dbbf715d74a0e803367c541f87c6a08cc2933333fa24022f1824c4f98dd85af27d9fac0ad7bd0d52248a18b2d001f2d6770e45d1c3fc785bd297d3e1421e2847ecf8d5d3579115f6d8f88bd5de74f06fb09dae00c88d767b1340f9793526c4ea82bdc936f2d5b045ba20eaa33f0440c8aa5a953250373053d152364ee5d74d7f6eb9410cf810db4d67a51b29526ece0445e14ffbb2aaba00019b12a5c065e524a2df52c20a76a04e6ab34c6cede5abedb4cda417379ca409f3677317bf228e34a00faee3d9dcfda6715b44d08fcc677ee4a58b145ece5028ff47fd0faf0b40ea4d9bd7a5c086796117fecc9199fb8554dd1cf6dc61883395c22c5b0f7d7f735ad7a9a5e4677a51411a1d8db64f647fc40685a0c928745bba2b4c022ab50f60f9f0f33cdd82bac7f3cff91fd4d185ddf3f9cbc544f8ccff6ed727f9be5f53bdf9a85a043409118b6d334f2ca3335e22bd853ee3442e02d07929d7036286320e7b9b291d91972232a070a8842bdf850b0b122218f6cf72d0726af8a93cc9b5657eb9a70b41c65427c20515f50bb2e841fdf4c17255ec2e884c9a9900fcdc1e0d3137efa2b5e977a49d0b1f412be22c64cfee1b068861bfb83f5150474931a00fc8a68621dc81cbe51a3bea63efdc8b566cfc29ea7948fd1d32d39e8d1652872534ca30946a7722fdae0c557bae4d17fcecf8650283927e19e43c6f587cb048ed95f35ee28358df708e6d24200546e80093396e0364272d1086db8711e326a60df7b458db4ea80ef2ef9cbf6f399d785a8b5c7d3c032ad7ecfb0ef08dc60e37085565919c099fd954e1651d5ddb15f0cff2a3c2b666f90f1e689a29c2f4a466c2d885369ef0adc0f1780a0c1150c2079a7c40439b8879ed7c8e67eb673cb99cdc5fc0735571dcef1b10f397c5a3460272ffa2fad24688a5aa365199e1cd08477ad6609a86ed3ba7bc4e0dd8ee0b5a6598f0013d027f94da964853d330e5a94f12eeb3e1eaceeac59008930581e0d36da6d208470c3317cf24d9bc2e277307f0170318ce01c4f3a05a822fd87083d17193444e3f487d3c4396e346cd19d331bddc283f6c868136b186b9e95b264061660e70679ec9d101072d4acd46194eb193a231b59e4450e8651036096f70572a311dcf2f94fa077f82dd5e7a507543b763e1fb07980bcbf630b8905d67ed446b9bfbfe6da727931023c2528d26575b56810263f7328e58a214a935945d4796ea5b3c6aafdd11344e9695334b8bd7d056ade9d64b25936552046baadb2dd6731d8cdd85366dc7965156e64db378a259a5f6a42f68480138ed76f517470257947319c3b4c427dbc49c1dd02b953027ff625080fd11fba633c77c2b8c5bd8f25574164df5145ba100b80b0299223552ea24f3d0c09408394341056d40cace2158748ac7561d94e99379ef1b8ace56e8b5bea91c5e1fabeb7264bf3dfdc863d2caaf25dd0df9772aa207591ba7dc074b6e024d4afc47213f69b591bdacc1c31d2ce31a7736e6776783f373b0cd50dd1360313da13208cbf09dcc76db806de94870fb377a60a103b11ad0b2e2c622935bd1f25ab61fb381f725a09ae68bab24b43ddea468988f12fa74ae25f37a2ca9565e5ec73a83b0f8f785f9167b81f3d2a242b7dbe2a915fbe05fed3eb30968f07987f4b2fa6ec1776e3f379b2be6e9c8290f77ef41ddb5f40c7fc8560c0ae9ca4ba22d4c34d8493ffc13948351c79e3cfd7b8982d5080efa18f0bc6c19448673973a065d8cb0ae17b24c16b2fe521bbe6ce3f302dce10e89ecbac72cee5d9908c19e72a472744ee4fe0cc25db2e69ea3668d86e85f2ef8f50cb234cb8d630df0041e5e9daf8c04c5ec6a511299cf38f5c2a2b7d689c60eaf1c45bbc50472d8c4560b684f360e7de0bb53aca8d024bef9445ba138e5bf38edb7217df7b51688fca7731c4d0e21f0e01c44ba3c46c2ab323d14e4ef55b60416f055c14f7b3eb6a46782d7b797abb0699dcda3bd55b8a7f87238826db60e53674725144a1d1c77defea181ef74f4c3d31685def410086f9b204961424ac25c7980cec7745e963426a6db29148d0171a6ca7930d093b634a981d8d42ac939ad3b6756bdb656ea2b251ff96ac4bd4df20d0ac2e1c32fc0e8b494fa5f86f99c5606af73a47c6ddc3c07b11f41dae96764b4da0ca7fe718e5788edd358a609dae418d2f8530cd3b0678d300e05f47818d8dfed9d3d33fff9d8d892d4b78fbf9de7ed4857764656f5db677f36db6b90770264e28bb24abb35efe892ca2a10fe1c30babc0e7acc77e7798aaf0c5497c47cb086083435d05accfc09ead2a7e2a47c437983d552405971da67084e1541f8747c30225efdcf7db93603fd3654061dc06cec9a48ac0cd8bd70fb799002575c6c6a07fa6c576dba539a0ed377bfdea6beef1e39553c65f1afdffbe7da88cd4d788a6375179a9cd894cd71229ca333161df3263e500a30017989434a8502d9651cf58baaa5435192c2f46863c76bc9d4f3793f8d0efd7c1a3cd71009435031771fee1271a9adfcc3f29cdc75f64c8b4cdd4b144b622594ebfcaf209e7900e74dafa8f75c06a162de80cd84dc6bd324b63077891ad99b295b0cc68d51babd134eb97ece194fe512a2620f673e691cb2cba7a0171216f7eec0a0d10e5d20cf279a39301e87bb3c1857439729c85085cb934cca388f3a9b2b02e61b07593a6a444344f6e79428bc647f2d253794ce20ca5c0f760bb6d4ac51451b86beb26f27e78f5261e51e8b622a6b659f7c8324e15aa5aa3f509fde6b017f9a482ebc1300ea5e51f5e5b2ac854930bdd3ad8d352359a6147462818ebfe1de2afa741c8b46345710ca054fbb36eb694ac47518c7c5f7f9e534de5bb48b4b8bfea3353bb57c21899fd7fe790cb48005768d9cc307293c78aff48f993558a0a3e665b18671e1faf4272aa29cd1afb7857c45b155dc9e12aa28eb63e006033d8443d888664cff2bf056cc5b077b420fdb72f422a625f073eb1caf64ba8f07a8fdf21f4426052438faaad298d6e1e68a9406ab7a1e61853a8cf746f182b28e3d44109fd5989cf285adf5f3336b1a66c13de4e940401557ffc007d5211260660eb691b11d9aa21f5d4f05d5438d2093433803f0fd5f58caf8bb39a66fc585c6a5466d4d2ccab0663c4b9c54834068302433566c7b4b95dba9afa051fee74e06567aba391e9b26f147933a62fd05060874899f72f7290eebfad72dcf1ab66332dbc2265430e2372e0299c4d51204964a18eaa555cd9d974ac2a3ed17af6bb6f27292448603a9f8b16bdf23f03e8f3f2b93877cd2eff810d9f1c6b7df236b9d7a013594bfb9daa2b985efad7fa3229ccb8a67a9841171148c95c85475be9b4fedd6f5bded921a138a7775dfcc7962a13cc4227f851520b717ba4b9b378c3ecb9a50afdfd6b1e4449f4a960e122e6cb90f595dab2fe8ce27bc3142e274fc2224ce83c4adea02be55f51568c6f1d7581d8ce4cd8d5500553ead6dc306f18dcbaa513cab17e23324e5f24e7f77b3f9995c666acb0018a438375929ba7e5c62aeb17bc7fd6ffb29bfb3c749f22bcfe99b067eef10c1be96277c67791bf9edb9cd4b115fd54204e6a59016f896cdf63a1c2f8bf4b58012e6da439e96bb8b43c00bc134ccc41c7d4a7a5035c511f571efa3e4d592f174de8085066d8277a73fb77518926ad4ce9081a50efe000ebc4e9352f07b6b67c3b6237e524cb7cf6314614c771e32e33ec4e7d8efac28bc6a60085d71761a73d326447af56bc8af2220bab4fca1b16757d807f8b57c6407724fa79d3cef3972588bb41019e60be35fe6892e9a3a17eabe01a125140d8c5ea5e04ee5a157f0ce58a29f49af87dcfd59f5ead931bc7008f6ca222a986a62af69aaef15a126a8e4b1b80b3ec37bbe78d74386cff5e03c6def15d42e24afe62b8a973c2468441d4946146817e83849ed8bca2c6a6b31036af2403029ea2110ecc6ab29c6ce4bc07ff693d2b849eeaef5b83696640667d513fc790ec42a8281e0a0af848d5584efaa62f9e26f8d8a01a5c377507c7387f6b0be5d41b3093e554928814e62957e28a6bcab74230a72b20a34cb8d62ae4f76099f59c24a2d30b9e3a63009f29798f2e7e6615bb8b113ce359ca8bde54a5846e7afbaaa113aa262d248f301bd129b0eeee0f02ddb349dc5da6d004063facdace808462f11f597173ab0f96a07f33145781dcdbcd0c76829fcadeb9a1d9f22aa87a21b05d54b01fdb854969341f2c95fee4f3a8f2375876b448138044d1aa5b6a4b06338b5c89bd78df47459d10c932b4375c65639191aa8d486490d66d0048d3762a27fd8b3b67b5494fb9d93605a00f5dea0a6544e9e5ef131d40f295f6fc5b582571665a81082bdcc800fa2a32635a348de688787772cdfec8cbaa5ce4bf5c5d75ff6f01137be770e3226541367c7f16cf5032a217ccef13c9cdfc0114de64bb98a30d18cdd96095a76d67a243ee8a78e83f3fcb66f0d5b882fd03d4dc681dda680a9e86b7de91655273cbf5e61454fe4619885f39901224322ae465b3276b95cd57e3115b0c067e78ae38003853deb4e6c8f6c3ef3c3b85d0d9ad4cad798897f6a491af1f5fd1d0f2a04e9ef1487a04586ba53129c8956769581e1cc1da4dbccc9665914604b823388b55970a3a56e2d62f9dbf05f5f25c525ffe454c7a93c11b6cf31c5e221d4e99e18a43f6b69e4a12fb24d46374f29b6aee43ed78301285b58a382deda0d285448111940b78bbac325015ddd9bfafa838c85f6f1ca7087cd2c91606ca796b56823caeb0753c62ffced06c3927307ec2e559f978cca4dbe797078416aea323e676ea5f196d4ea9da98a53129d50d870b18dbe43c765e3c64a2113c11f5b1acc08c5bed01984d7d3db8381914594b69fb19dbb0100790feb5c03d05fabed0cce15a6d4f5c0ff7a5cc9d94948c07c0af89b5d19b3d013d71f85fc042065a7fa421366db414ccc0196570d1bbed7e25a6e3d56c56ed8d2660d6042d8d90fef19b13bd6200d73793fe8c28bb6295efdf874f42c70d4c05ce4c613643f023eb2af49b13f91285c451674e00e421a81a57235de3e35277ab96a0db856bcc785808910f9fe5ceadff718e26c57b4b22d2c64e0b7a356a0799b5c3a5e8a9f52865a435a9353b88fb9261890202c7aa4752e24945cd8a8a3b7f38bc2a2bb4e810501b0b073993a3fa39b4a563ac15282ba1409349f5275a1f15a943b3322ddb4467ba5d79c77b44e5152f3ada19ed5a69300dbeb26feba5e22bfc14f64ae60ca1b07eefecbc7cff6161c0c06413f19aa65a9ea2b6227f552bd42126d594c536f0753e1da74cdec796cd0f3938f539b09f9a0fcdd079712b40777862cdf83fd5f833e88d9bc82018ab3973b0b7c8822c7b75b152535534e8a22f750b79c1dcdb489bccba287425f50044d0d339772e300f1547673552af136f146b8e492d3c1a7bbeee850b20b320919b075c8970159388b45143371dcbc133cbe02d37a7ce9dbf5237c83d10f2660ce379ac1c492941432a0611930fb01ea3b93d52cc181944bf293f1133eb076740623dd59e592073e9ffc18b4bc30939afeec6407f43a15106249678d3125875160568ecee93ad83942dea7f78647cdea8638758c0c3e99176112d3c936c9b1792d0f510a321740d4fbeb9facb423e894267ec5039b38f7aed191f261e96aad03a5a77a4f0bb69a1e865d1b7eec5a082c383437f8942dccdcda1fb9b1e20f9dd81235fb9bac8a87302745ab4ba05e948ebf5ae853fea04fff35d22ddb355ba0ad3fdb93358d5d8b56ff1c0c1ee52807becd4970b3dc459010f38432551975be53e3ce63d543b70fc93087986d0d93709e66a44ac68a08906ef47eaf1c707e6f99a80966407df3ab224483a9b43376129d237f0718ed096fb64c25f4e7a1721b71db0f2f4dc92ca4be7e9d4339ce58abd4f410480ebd1091e33fb2f57c1c9ef9207ed5abe8caaf0ac4c4789e9bd0b4b94435e35612e72fe95956a053a28e5990737562276f0764d7975e1f901bc9f2e31b3fe33b035d10927c443f0faa2f374c1ba6386bebe0fd7901fed6c67ff94f64bb040fc8cf40efecb842496c102c076f590b63630aeeb7ec53de068b56f5ddf59b7ddade016d7837ff8709bc3eb7e69f0d740a695077080085671d59195ab0ff66e3b86ef369f0c4f77d3af1839241074a445168ad0af94b4f5e93611cc487cb52f32b82f4b7467e498a560e2fe63af3630b3aba4e49c6b63fb964012dc0522bf48a6ee165d3579bd3bd20d66599a76dbca229b357cf27b2e501d78ccc870fbad1fd126bf8149d337719e2e4ce283dc5ce85f9f54be8cc506f6ba1bfb62e04836a120f07ef883e4062c77c4b12afba164d42cb6aa295ef4e7009f9bcea47d56d48d989f35e36167768fa664b7a1c653f60b8640ac60b8cc40dc9d34b476457c1c8f7ec2fc2b27ef6c6215a4275e891168afff912b21924e0bd2da88ee8f1688369e4e8f0932d959f81e78ddd392a7f357fb46c93cb53daa3475938a570bf0d8ef4e797699cb898180b1789f6b9d5bf053d1311d5dad4bc839a446a315c56277f4098d442ea993d85ada076bfac798859f40b7d14893b19fbc22e126151ec73dafc465a593d9173586440d59d3d7f376c0fd00070e15130b658d68a0a162ecbba06060e88a51f79d879354cf63d58c1e6908cd4a2c76b2656609cf42b550bc47806360a7b030e3e6f61a5f18b4f0bdf41f2c71c418e3a2bc01a5ce8ad1d03e6c44a1db84c66636d10ddb1046b1c6d76d22bb36f9248417d6e0d85a4351d0f40ad52accc1217f00d97b1dfc0a2586c46a349b64fd9e8e06c203b6d4bb929fb2506575b8b479236081b2cd57362460e41cf848e8dfe2d0c484c5dd81bcefc42424f05f4c6258d9cacd02b4db91b23e8e0a0b5b1b4cc738a5270382dfe508ffa2542a122c5b93060a9811554018f3812978eaefb83d1d650c70adebe85dae4e0703bb44e952392768dbfa4b44dd52ed23772ca944a3c400a561bf5f7eb51128e512645a8c8505cd3a90ec9a7d0ace0c4973b4d94ac0aa3073ccdaf5bba71fd294be52a0b15646e51ae45adb415e42088486838cb237dc619628e493aff31f0de05a60a95d71c24691f6c610391714a8cfb27a2af9990c0ba7b23170ee07621b37e792b20f9f1a1aabe24b5f83764e1ddd0747d1ee92269e02a4773a089e053da675c3b6a475976bfe15c5d99115581a149e1d3f1348790323e48a8e7ab8dfa43688e9c96859f98e8cddedd5f78e00578486c924908398175089fefa0dd5b5dbb0314812bec6db5d6060d51813ecd49d63ec382c7bd634721103f4ead71556d78046b336deec9c1bb5e91f9ccdc88b2d5138562df20e6eb3488c344f9735b51c01dc7f328b3c87a473f5b12cd05e19fcabbe53ba3d1a89f388dff841d6bd4cfaa44617db464dd177fad4bdd9a746870ce67f4dc02e792b6c92a7fc626036e4a51e0bc61bd490fee057adb56467e429f686a403b5d7941c8581d4a32e06b614eecb994436ce426459184060827119650cf9ae4e6093c41e7cd4fc4ef4b9ea6e01f18618331fa0680a452df80d6311b3748be66ae0d7f70ef1dca505a491b72467aa7462752da344aa260111e5b9bf8f42a9cf1b7eafc8d37609a5b89b141a3297d8a89c631cbb7c929f982ef32966a534e9fe07c944bf4390a2c876a0f328096a358d64f6fe4fa655ca935a4db02a8e48a27b0aeb5e46e6fa4d42c0ca76711a584a88b8abb59f0cf8b81188e6262bc7ba487e167b600d1b8dc77f93644e02158abc9219674e770c2f476b023aed43a747bb84ff801c759275e47f0606ef42055a7f3f7ba225e8a5452bc5da1d2227563637fd29095f29a500acc12694bcdf7f37da04c5dc4d78ae591518e8e957fe68c8d7b2aa723c8a064d51d1400eb0b0250702ae2cc79e87e04f3f69c51ed6e674ca33bd73f7053436df5c4836f849e864ff160e7d850aad820fcefbc26b01181bdccd396da08a38010b43090c794ff14e7299b1f303df058a24560cd164000425fbfe97dd74bc57b5c27f6a360cf620a1f6e0e798929130455a6df0dbbec064a455fb48089d18e7d1a35b4ee00d55ef4a34955f3f1f744e8c0a9d2eefd59040bcb4b127b2b740c65a136110305f2ad5b7d7bb01833fc020d4d1672eb9de71a6afb1435e5607944eba3c5ede9508e19f15c6a6c195fb904a9dfc996792de6a11ac08c51aa1e9bb6b791d04fca3d673b68c49d5a7b261e7a0b79395c9872c8feaf3546f2fd506094e37762b5e300d11fe917049a3a5c8478fd71a04ded2fc4ae1f2e07a7ab47069fcd30018c90943d27ba3cc000f6658377c59b9053b03a9f550e67a10f4213200018e104f7a5d230f848f368334612e7e22338bedf48b49d3f5e25b9ac3450a78f01ac464bc64e20a10ee3fb202273bd91d62c1f254aa61fdaa76aef1ab9b4cd93f3093a9856b138832ffb4ebc4d5ad9a40cf72902fd2e7641420bca43ec709a7895661633491260f6d1d752c360b2a4fe6983ef6103b6713f98091df67deb451fd4308bf5316e99c0ef831c78de7e225620c5f2d79aadc0c2bb6436e744eab80126f129444d7ad7e44b801d5ecb10a55b1a389278dfcbbf93b82be2ee58cc55cddf492c4fb2a6369addf4107a86b87f803258c6c779157c03c484aae2085616eedd4b53b20af8748f45b51ce212506bac9cfa574d5ad16a00a683536563d912394e876ad3a05431eeae617c1b69aa05b0a8ea1d89385dd7750b29d142fa0d9c11daa651588479baca7c431e68f2570c16868cc5f95e4a34e1b18a40ab71014c13ef8dc09560bb358dfb3b5eb80bde569cc84bf94a1b573a919dcc782dc65f447cdeb6efd3b9bff56776e1750bafd8d0b9216fe44a067eb1c3369d35f90f6e5d0ab1edefcb6c282f62d83e39eb83cb7144517bf43b66cc2cc84b2bc484ad2a82ea77b82047f0d0b6931fdf0a21ccb8a342753f7703f463916da437f48980bae27cd9052ca4b1b8d030a721a61abf54e23a0851437aa1532cbb44268bfa73eb17b49b57a7ddec92d6ab5b5d178c94f7fe2a373d2060bae09cbad1a859366527ef35169d993873af0771cf7f8a6996800707cbba913edaa2554ca949cc13c8895f001926d94e0c7507a8499fa693f73b8d89c6bdcf05983a1d68d0cc827fcb825fbea0f90ec6e17302c6886f3de5e6a66be79413ab7d0818fa350741ccc0e5f1b4c72d88fb35363239f8016fc11e521911222e0e4a32585510873c1709bfcff49aff3ab614ea4ee1012ac6f6b964a8725aab5d9b18edf25b63907e1c4be414c855a4eaa0c01842a2fecb951aae17a7e7a00871eb2977ab9af0ad38f4233042c4b5e86e04948ff81fa86ac7afb49d1d83aa3157f6c073ed90c9a671bc168bab47a00caeb44e8d0b86815b997469436b7b940b3a81f731d17bee5d79f59d7bdc58da84a7dec6716387631ed9b2116dd3c280a06196cdce5789f340fc735a4865ca6eafe0f4acb1e889cf4a501edb61f68b93d67ff9412407751bc004a0db0cf17ecacee067f3616e6b83a83ff9f48878dcd5b0f011d33d567b71945f1ffac0bf7e68f87657d8f0dc7082f540c62116fb896605adc7da062a58249c35160a93e29a58ba0df7e80995b8413be24d609dce3fff0fca4df3e68875f8cfaff3e4adb315aaa615a766037778b0f5b4f01ac979d1ea4cda40d4310d4844f0c9f9cd92b78282f49a84447a744697fd8533164931d1a6e89c0c0cbf896e68171dc6e1fe5f7a9df611c4672f9e340feefad567da7a5aa983a8be3391fa290ce00b8e37b48040be5550e591df19c3434525c7e4989d8a4b4ce378b57c6f508d26aa870516f7ee63267ffdd58dbe18cb3c60a827a5babf64d5560c01c8a3d9489c52576d0900e5c6e0df4cbca52a0e4138c72f1c247a70c300fca3b18ee15096672b885494711c83d0d7f9ffd41ff9f705c50daa8d211059c510eaa010106371b91bfa775fb6ed7df0dc4103e0ab597aea6e566d2595ec303608c0693cf9f27d455c2c56178b5d9973cbf6ccb9654b6d5ba08ee732d0d7f115f8a4f50ef56ffb02f2e4d5a12c5446d5e2490e495f5a54b71aef6f1ddc8772dbdc4b7ab1917fe3e152f0a5ec48f574780361ceea18ccbcbcd7a2aab6e63c581cc2c3f780a426796cb5f47bcb05434dd21aa461e82090791b5231befd3b2512122e78332e3a3bb651fd0580d56fa452185d2507e2b3f61b36db4b474c102fdd6d2f0f3db44f3a30cc955b01fdd772c814b40a252a96f2aac994db9e94314098e4d496d18fa33f16e74df250dc2cce079231252601d8c8414d601c4f5e677f2d89d48fac80e02c7656a433a6354ceaa982d8c4f611ff6793e943f1d101ea6972e164cc3e45d043f8e055f85a0dc565ac38c06021ab5592732aa4d89e98774fbe85eb2f155d99db804121a4e3a9d338a5757aa41941045c7f6ccc89f12f4dbffecaaddc0527f11f0ef71ee90e83c3f1764a044048d158b89cc0aa54958d5be63c867acdefd70636861526a659079cd301e7cdaf3b7d12c3f6f0fb56de5811be5406ff073d0e3a9722beb2cb947f7c1fcc7e9d6c30e23c09846eeb0a21f6a0e8aab9b001d4da6a65e88ec532fa9c5858a3f6e9189c98a705627fc013ca72f22d2d08356e0407917155c0673715f252169068654c1a22d4341278126d6fd910d4a224206645d7d927aa1c72393c796961dd6c5384180b609d1ab130c9a46e099b0c3dcb9c72dd8cfdf28dac37eedbf3a30326e46df06189959c796277c492fb3dfb48b496c0b3b2a4601711957741a7e930c5c9de2820a33fd7320b59706d6b77106eb666c80995b90313d8e4fb8ab7bba9ddc583b711f18007afaa792a7c9e7a254d227604124c14230c9604256757dfd474ca3d6c92eb8edf3f3cc9c765c0bed14461fc539908aec35dedc7a348d2ecf45c57fc869088cdc4b17fc3da380f551b7422168255eb34d2809b908903c67a793ae98570adc8a80a4fac6e3cec17be4fe3461cbd35f2c0c8a5e573b78079101b5a7caccffad47e67399d9b4ace263ad9bcb41ec9868ebf11b143869f3b1ac23918606802f311983c819a02fdc7289ffc225e39b8b44368a0b4d97e8f30249451003952cbf5fdcf2de8061c5abeca0965bfbd5a1a27350af8cf951196df642cc1695c63e68ee7ab1029f8f86dee7c4d4ef78934e4736a02e3721eda38eccf393acdb6ac3e657c899432626787118f96e45f26554924c8e553141873665dc1d7331629d1903f69c9a09cb54a7d3d261032ab9976e161f92a391cfb026b97981347b6a12de442359c68c83d0447a9bc285b9c8cae9372fee180dff341b88a431615eb8c425f5e74a8674b47d2ac476cd79f04351a8b50a7aac5a2f5b678bf0b46604ba622e5054a65c5c24bb98c84039486cb9b4437b1e0037fd988c6dba9bc203f5631a7c2febdb64b8a7ff43e2bd3950f7d700fd1aaeaf5698636668c6fc173c332cdcce16829fb0d281dc70d96fad115c560737ebdd33f94f26e4f47817fc0b87d36117294748fdf1151ce2e90dbfe6e939e453641e44ee1b67a978bbfd740c7beafab17e6d52f822fe7e44a1609ed7f1773f33e8d4ddb51f040847d908a77fb814e126106d737f0a765dcad2bd465b0a588e89b2f3b19a2bcf4df5dffeed3350b20a8fc4bd3eee5eb55500f34f036eebf475d675cc976f574f30eec70478ac5bf86c3a67d632c7d5954a4be4d8fc1699b4aadb7c28392e4b741054e71313862fe7a32d095d88284c3b65a7c9df84e63cd14bc15cc274c54dcc154a31c4dc9c622851d5f3fd0046caa1844d207bca03d3d82c20dd59b2f4f852b12011a88951940afda134c234a83d40c715fe10b3c661bc46de020333608586d4d3730071cd858669d3e7895fef7d28af6354e3804378d821ba8cbb83b3fc94d0628b6d46ab870cbccd0bc35344f15cddb268241ea0d71d8ef08d8dcab2ce4f9d2181bb3c6ea9f3f0e1fd41885892f18a631a24e7588d04c11bf4ac0be001f4b5b795b895c3f9d7f28b1f5326bdea1f16d6463cc40209a195afb2b5fb3696d048c5d7ec44b9b1e6ae9ae25b225155bec20796478184c6e468128964b7b1534900fdd5d77ebe97507f6ad375f6ecf52e94606fb08e5c5368cbfbc92512732444bd2e3c0161492c686c9059bb018aabd50f3cd81b6bc678ff16aaf7dd78b165e6324ae4335843c533d3114c2bf2a3b91cac1977cd1f013412ae03426bb6c48a55683cca1dbe7443233e8e8417c0f639250f5b6f87781cd805ca2ec88e3f43ef2a9ae1411043b81182262fe5d1e2d5e7653d554e420e46a9ef33ed0d5e78cfff6f0ddbef1efe02b6f9029b6cd59785b884619d4e9e7673210995f1240e76e2098a238fed093cbeaafe48b323006b48ba5df4342dd076e4e99ecfac2496b5955611a20a7578f1186faf5f34f72928b7753a7c6f852f04b8ed8ffbf294a52e5f76e8523b8726649023825d2de08587fedbd9ce000bee89938dc0b96abb730eff01a4ac744b40fa4ff35742a5cdc01e9028e516d80d2aabadf5329dd4f2868a91bdbb35311348cfad2bc14de6fd843eca3373cd15f30f4159abb390c9707591d5838a88557edfe693262bb995f323d4fdd35b589fae58b925f0aa4e4fc4853334f7cbfa4fae7a48446cd7e2561ecafbf09c1c548e9d9105a9e381fca3dcf1714e2ff891cbb190126dc8794dd1c33d4390245a4cc03f73efe45c5e0b63b1f3e29437f237d396195ce7493907aed3c8047e7f29c9f0e7b2b2a646169279d70f38592c57bfd5f078487d252327e0a7ab014cb1f70f273d261df85929548317c6e755eb1f4eb7871ac0d31bba16960e9b690de015b8e0467b8ec72f601a66b558061bf715325ed16cf2aab599affffcb78564c0ac3be01168179b2aa0560936872c24fd7969e8a5a6eb9da90e4bf5e983de4666185f33eb7eb58fd9479499a595cb6ab5e1776f519592d7336589c2bcbe2edc481ee67853a6549e7fc417731fac163eefe138f9e3ae5e6026a9aab4b715fd75393d7dac7471360a0783b789cf113ae36b1c5413f7b2e0901af1891482f4dedb42bac546d970fccc5946297e9f7840f27b72e880343e48a1b9bb37c9fed3dcc454f13e7a13727c6d63b1e37ef2dec72a572cd568e8805382a0d1ed471f424c1eaeec8e470cd25965eea4e5685ac96ee959673887fe9ec6b83959aa17da5366db65825f68fbbaba4d850630e5dc93739052695fd21704cb44620aa6f5a3d3e721bd0f7ace84c7ec65c114bcaefc055e2e7c22d5e7a59cd6e5b8b02417cb450b8c62b39cfd512afc175f7cd6e5e8d07ac5ee6f806afea28969b7e574d7f37ec4eeb16bff39bb7b1db886fdf245524dbcdcd778b6442fb64b998ff916a4d9c7a63cc46b177850661b6fc35de93fcdf6b48de0b8195bfdb095ca00b659a7fac94be1c8f01f50ac37a233dc0762b8fbef1c002cf68b2374cd7db7c095345359839a0e583d8ceb729756f911d507f2699357c54a40a65e4a10e1c0ec69252c9d79a16b0759595756cdde03d231670eddb70385c536af2437b78ea91373ed7237ffad9d4c2806e8004f4fbdba89d7a9ec1d404add7b5c2a40ce647c9e071e6c6c00414b81a2d72ae5b3c3d75f03e8a9544a4ce1f2578a679bda1e7399665f1d9c559e0404c140898b629aec4cba1dfb0ccced465b8acef461b90e21756e4b1df8cb86815f5d080249deb147a12b9f0dd6163f0dd362af7cab83476d77adaa2020a12d00bf7724343beb718e61aef9f8bad49ff2553dee59375572ec54fd4ccd5ec59dbc17f77ee1d2c139ff9a16bf2ced0ef3a80f68fcb042b142c63563405f83b0aef7500294026b99d87f3fa0dd6007c23a13b076f4a4c39472f06c1148ca3fd6a7a7da01d07eb5662c0b47a518156696e4bb99d7e8d3e84a8f7fc04ee309ecc905476dda9b42051078c0ee869576ead55b3a61699a5c987c01b60a283b9e0290e62268b671d433e0d742c2cb0d2156feadfc5ce4f88b637977e2acaf2de47aaaf2ba825d4001299e1db2b897b273392861d407f9bf85c1ac5e52a8eace4e3f6669ca125b1e6b0cc4bf6c14a34aabd41d6ad856416945d13aacd8144b22cecfa106fd3e3c9fa246ddbbb0e12336b1356edf80223f32731d38b77862c6eb5a571c62c72dc5ed387c78c91a17d5105820efbed83dbec0214f7a715a76621b4ea46dde359c029b90e34862e577be943435d9e0cc3f1f3415fe442a98d4da202be6900ad291d82fbd9dc768ddff58a2c089ac11e9b131c21f7f8b6805265f88d528bd93735754f9fcadc7da3c5a8aa86e12670dbf072b8bea39c5302e87bf41e9e3f5b61877b83dd3e80bf2d590fb6fd64deb29c4a46f3301766021291038c2db9b20c11a1d52a71e1865a4f0df3a1f2120061ec556b70e42865353bafbf24bebcc019a8eec73ed82418d6e0660af0cc86ac34cc74c63ff3a1933a777782e56b61b20333294b64e35a636504ff9094d7cf472be5254346fd360fc5f84a85262c1d70b0ffbe172a71fcb9edde7dc417e4cf65224bd197c81ab0c6e82c0b2fed586dde375f0f53e9f83e6846865f3b1f502f2ac9719280fd1961afa19a9034632fffbc327a66af5533ba62f39128016befda8b676b1543b0d1d3443aec6337f498c865c4650f461a9ac5ed25e63f2409b0b866fb6072dce496f01f00049344a3ecdf6c7cf1f84d463cbb9cbf745df604a5514d61126126f56187b7727f091e716e631c4a9d50d8a76399dc29f9042fd9393cefb5b1c28d954d5f669726a8ca73ebdbd62b30934b201d6a93f55afa1fcce68c92cd75b237b2208b5bda15dc5ffb9414caf3fe820e923ebb4319ecc6c12102ce805940311231496ae64a82058e9710c805efaef33d296b8994ee3307cc55b776b32f69531f0d7c1b5816c59d7510d81036d238bffdf09bcae13276db151b9b5fad63c0109b390a2e3252f5180a6669937de657802fcae23461eb8072d8b582d4f5cc573626c6886e70ac71ae8b097edc6d20feac0eb4dbe51f420c8e424557403a1fc10dfa426fe95248ac5a2db4649734449e17ae0ad961ddab6150f3f2b4bd455e657b5581b636bc1a97138cb95618cf5ad0bd31cce4b6ae1458eb5dcada48f3e0a5ef17729be4b08152646c32e95d73c7d59adcd50fb1166cd558299fe5022985d79343b7297a7dc158a9edefe9a43941e8147b90a084bb51c61402afbfb75d780f2c7aa1a763b65a79a485b6dcbdeca39cde781dd8c18d90a452f49ae74fe38c822e9196558237193bde309eed78aef7cdf2da9f6a467febfe73987faeff62febb1dbb2c1c6c13b972c91a73c05fee5414dd1cd26ac44d57f60a42d8f9000b20eacbabd1a6ecef5eee0a312a4fb7b1d3f7473722f12fd4ed0e519f0393d4eed4b4d330e9de586f0e9640dd0954a95d82d8bc72cb6028a122f8dfaa6ae2f15228a2799ab2f54aeb0efd88e02577924aa450dda0ce42d78a91994a40fb760e314592ce0d1248c8b2feb98659fb521472197ba476a4afc87bfc40ba5e17e0e133f3160bb79c192f108e7d91cc90e63ba8fa766708b5aa9944828dc4731797e286192c7ec4656b23780731eb162aa17863e37a96b604aec24221779f2e36fa894414cb5e0bd3ece11569c91e1e0a3e09847b997271d39638b1f35b04c8d56df4d6b141e019ef3edabd0c4fa8d311bc20705ee6b6b9419c364e8f2a70cdd7006a08ec5f27f2d69f60cd5bb7179820f2b5e7b70242fddc4ca8a0b89d761894ffa0ae9be139be3c1d617f3637106a20ed86fda90ee603e65aac1e1142de6da6196cb693526fdd4ea5adbe31349a0ae90d53fbbe73fe0a3e7a25527a03725d84367b38715a8f845991befcbd98679120f87d7701a86d42bc1ef28b678e262368c259c64469c22354863023f80bf977a3c00fad53150f3a995fcbf518819fef751f1095cb263d10f0744a09e98bf5b7c8bfa3e3539096d9d1fd23900d4b071aba13e70ce658d799ac211c11b835b8bb5c3b391ecd31ef885f1e4bb1676d50f6b98c4a09cfdcd01db882a0e9f6d37962dcf5a8093b50cd6c743165b344711d81f6fe31249b03d009240e8e595a984658cdb1cfd14774473f2cb16d7af6cb8541f7362c62149b5c24d6ec8619f79e08483220eec6aa9739c03c373d7b6b99f06b08f70d3277ddca223fcfd4e5bffee3a2c4cba195f3383fde86d5f53ca1e07378afa9d75488f7c87c851ac5b6a5ec9c4dc205df694fd794ef2007e070cd009feed223d1dccde195627842cda93bf219115b65ea3e448b62d66a9c35d8217227d556b99c5ebc30dc01b55dc4b8823c77ccacecb1018da255a27fdcbfa6f5957c90b4e6df4e50a9a51c6928414175ba04caf44bece1db20604aec169419bc890b845eaaac842ed5c50553144c6a0918ffe0349fcb46093474f983df5717e0b6fc58b6ff3c5ab42dd640252a76157ea4ed602e8de0f910ff130e6ec93cc0a3f03b597adf38eb249cc713e7ad58806f4c309763e3965a8def12f29e3a28c87e2014461f62c19c51c810c6eeae9cacf69cce74171331489242bcd675248f9d5585203b6a39cd436c4428cd8aa7a7d82202d20124574a47bee3af7f1050e60871cf7af447f0a33c7f839fac1cc603051530bfe2c68672a5dc2d26ea76247acb228ac32e758d86ca5fd53a87fb2e918c787cdef695f1a6bf8170a50e0eb317b6df79240681eb1cfb94e19c267098b633dca726231f7f8929655349c386476656a2018ab7639a7b094ea41d4ea05ce62ee00e65f8fdb5d8360b95d007e85b1b6ea32e2162a9184a5e6ecf930dc7b950126c3130b6583b3f4d962528415ba49574938ee1ae190b131c287047c8d0dfb7ae263ce36696ea3bd9ee878f4d32fa05fedd13758192204d0d80613facbd6c12904005785b0b941a2cf680c1f55f98668cba07efe2e9f07c43391b703f3ede9ec6efbb6765f5a124e7c2f1111eba0e7c6ec15e50307f3ae4ab18f8a1f25f73117caa7c611c54c633b4b63928d0629683716a1330e7ea349454cd8ac616600868e73bd15fa205da6cdde9ee6a1bdf90012fda145960057ea690dbcabdcb01042213c58c570ce9c37cfae64781f0f9822db7487b11e67f885f5a852989675eb57c92e639ffb0285d3af126dcdf1f46b986134d9168d3300a029b80baceb07c3cf358e6837827e8ded51f4abe8237a48ea987c7133e502fc15fe0c2765a4485ae309e46e8f870e145bcd0431c4ef430a7d526b3bef6b98a400445e7ce4f86b3717824e7a8fd02b04a75381f1da834ab645a4232624cf304b31611c4d31639089e90f635b9c370369f8b7e4f126cc04eee7aa4a00b85313be9f4b4d27eb48f3d285ff5bdce2c39b7b9c94653d6483f8f24c222cc47de6c54ca9a4c40354b1762f84ea3b3d31be75a510e7914341abbc2436bff53c2485278502984401241a6b7a79d875642763e13b1e6a95006f9874d1365160b7e8453e5ca1cada92fdb5711a836a5aacc90586554c3718d53f2a14d9d7d6ec778cb95e32670665e1d0c0ed846ee61d0cd1ca03de09770397449dcea9bbf716f23e0939947ad87709a0bdaf3da726faef2a80235617a5342e7080daee47710527399dc27399b1aa2f07e7b8d53b41db1451f68398aef6f91142a8a9da9e47d03142f731f0f651fad4fb28a04e89692678133b752f563d62fb9901bebe485c5f8a3aa0cb203d0e8cb03ed2c5ff40aa3646cb796633add1a640205e512350cfa76137f7556aaa9a3b87b93841334b40cb99a091e0e04fa9e4271e6d72e956cee41539dc82b8396672ce80290d53fdba9a89d7ca3c66fb02abd435d274af06b10c35433822025a2a97e2ae25b9b382d7573be42aa8c78a6e1e4959484260adcb3e353806c67f7c9086cc82994448e710c813c2628822ee46b7e0fdb81b1f801004536c6e142ec059261809a91fd1f71e9b9afdb0ae188afa74e075a2099cd7fa82e019666a573e9b492169cd3d41d8cd98f00b204e9800998ecf8427eb8b087b2b06074e2985c768e8bdca35797ef86e0d7eab1188fc59872e741fe15002882e4e8c4ac61d9737da3b442b56a7349ce4d06c82e13df761fa7d0dde7fc171204fd074c18ad0be090b008e34708628170c605a4ba3b3c2bae97ab592719e3679e9d0c582cb6c1debba46b20013030ef9c7c2fb6de9a11b101d578d89687dfcff94c231969dd3a6dd5383e7850a0b46e228e42452031668e47218ebcb5d2bc5d1612e4f4a6f85427ecf28cc7a66084b5a9ec6b8b236a95db3437877407f42265fa4a2726bff5a31d39db89247cef3f8c0dcf0c598d82937454036a87885186c8c555a151b186db23959d1a4b503239202e70470be1d863a524c21be6d00cf267dbbc34ad47e02f1fc8ebe6b74e3adcd77f2cf67cd100836bd291df68ac041cf48cb586ddf906b355d19e4086423201d559568572de6237689f56559f7209a6100098e98b93fbc52afcfc260675de14de9d2775c52e2435bdba4c1145f0caa0da253a9054ccaf71e08b9df8e5ed95e4ca48d005262985a984de01db7491150afb2bebb66d34ff227b3c2acdd372f0e0751825a6974ab4567e3ebc18cb6ea68d21d4263b48bbfcad2937cbd2cd89b2b38166fe6fb5b7c962e219079043a076bc957586a6179d5a61526fa2205c4b319bacde4cc68e25a74708a50d7538eb70b7f2c1bd804c39dd6f9b693ece627b824b46cd1e2aa554dad70fd9676d2e6ad7c575f3407e38320ac9a2823f759202ce10a715100b804f8279198c9eb36dc73a2b860e5a14b7caf084e4300a300a6f0eb68f3b9325d54a06cb52c487fb666f7d3e5f700a69b700020055d8ba2899d769875caa55e878310c387eab89ae7bba30f040cec9298e25a50badff3a5e30a45bd1bae802c06b437e568cda0c70f40f47a93109ebc49d8118affda77d57ede1553933a0bba8fb52065317d551d8330f41586713b0c8cd13f3d7bc1727188431d144841e215ce7b0a570943885bbf6da056db27159d67a81169daa85beece4aac02421a825e9ea0c846c4239b8d1e7c61ad3979be2c387d999515cdce59070747e7fea278c77dabb31ae6d0d1ff9bc1227be6e1802b2aabad2dbe05588cd06387eae76a0d493652680dbe82b305017db8bc41c70d0a390e67fe978160ed83b68f4d9885a170b8026a4dbfbcac7042604df807f10b86342e0a8d3cee4660254537abf36fe5132c4d2b3bbb27414dc37f2527617ca8cf838c79d2fc8e262142cf0233b947d62946715f9334b14ec258be1a98deae1d5ecd3349dc15aaa10e26bd17d2eb938cd66f6aae60ec561ece8da40acc1119da5187e75100411f3a4884c0af2da964097e872846c20ad5f0333ee99f8ccab69ae6ff0610f2156974c6ed87d5d629fdde9d646548b503825a67a7b436ad5871ef2a6bbd0322022f0f07244ec4fd5871ef2a6bbd0322022f0f07244ec4f99bc1e500e3a7c70fe1e341c7f6dc11cbe59055c81e9c00d83bd5a9137c18bd5be59055c81e9c00d83bd5a9137c18bd50c50cf197c91bee30e6453ca3fd3aafad41d8cd98f00b204e9800998ecf8427e7e81fbf7ff77852edf04aa9af62c25057e81fbf7ff77852edf04aa9af62c2505be9de2942de0a7efdb6ef017ed9ee2c6be9de2942de0a7efdb6ef017ed9ee2c698031e6e247a54a8e368a7581429f249cf19c342fd52ad3a15a15231fcff6de66aade63c500bdb95d1bab68c421e9f6b075ee531593cd2520efd768ec0afbe64c70fe2355c5b9532ed2e3c5aa81cbd01fbf9bb3ad8ab1e0852490de527a3c58e5be573fa6b523bae2a09524817eb193481b48b082b85c11cb986c76dfe088ef9084e1408f3337f6b17635403ea9f250d0b0a84f82c798e6cce384b575687f119fc754809f2996f86acd79eb94a2a7f68045ced4f694bd6c860c11a86f72c783c4ef2bf88ebeff2e3104b11f7f422b8dd5c0c85d38875debaf59c25dcc0ff11249339feacb120e3fabfefb1c321e5ef887fe8482e843fa5261d5315e4a88f792418c087cafc6fc643387c4103d4e657f4ba7114db14c0af8d533bb35e0d94c6db643fe2a01cdb80f9d04944d0633a3377e586a523a7481345140cde3bf8031763f476db7e099821fa09fae0a50fafb4dec2fe28ec8705ebc00d917f4c4bb8df61d1534a99ef2c20b33029ebd559da241689976a82aa854ef2b2b9fc3fb7e5ade741016141bf664d349437c25220c2fc949376b55503a3d5f212697b620df6c1783398934df048828d9db3160a83b072236a7e381920237b00f1cfb4eb917d9ff66a7e381920237b00f1cfb4eb917d9ff6ca7f726a686358b09a6bc3455188fb21122e97aebdbcdd5812fc2cdca0c99097f1b186abc7a482548c4e0cdd9d3625882e0bfdc0eb78ca744114b42489f077d32f2227287e2f75e33216ee326fdae4eb4b0f53ffe49aae99335a2d0a81643f176ab37e536b723f6cbe07fca073daef038b9c32a2047ba6ebac2d25d8642274c2d30a2f4fd0714ec184b5365c1782e01ce74891ce550d233ae0da469c1cfed13b72a2f3dbdf1d9fa96ff61da28269b52f9769589490ac420463d64a8b2221ab25dbf4d1cb7450bef9dbf767a6bb6417a80ce4a4ab9799d6ae89da93bb03894410a9c5ebd7285afaad856f565c2af3ced88cda9d7256db2f152645ee7f192dd368661bee7d4753618ba5489cff40571cee329d6e038d4f805c0cdfd65550cbf90cf42b3fecf6fd05bd87d3ebd3d1bf0eaaefb52a3f5ad4d766aef000ce50b31aa4602707015a9d0f62f23716264cb36e02602707015a9d0f62f23716264cb36e02501f6c971a9373a0f891b7b60328f1179084c76508698fa002ca33da5ad774a69084c76508698fa002ca33da5ad774a657a1c8798fa33e8ac01437b1d188b51bffa6108f5290188d0030024744de853ac3227e84d81e5a83dfdd28e5e6d084a06b5b4e1610159d42b062badc5add27f5b0a47fca33808712e30eb1f50001a3369bfb82166760a126b9ef0482a0ae2e9cabc3bc9b9092d2fc338f587e0bed23bf5a14a5b337499415fb6a82546de97375a4cecb764e83d360f4640f554d70903b7ee13cf245d7150105631ec0b283136f69851be952fc9cfd027f26c3eacb0f5fb8975b031b5b7ecf85dbe2196955802efd160ac482dec6a12027cbcbad879c3aeb48d1d832e01d829133e2a67fda1a0ea8557eaafb82a8ba88f50b71fc11f46a93dc3ccb45347a74ad1d27b92d4c0481e3172d2881e99659a02703e84ac190a9349345cd30f87d837a13e10476f7b63f7bfc98dc662ef88bcfc436b30da506bd129d0534362c4bdab2c077b8b29d70e8b9029022338ca06baf0316d62ea71a23ad1348d1e1397761a9932a84f401c4364753fc5038777913e110f2e9d83513c8a091f7aaf9a9672a2d2c855cf4f3a261ab19d533023c103473f7b93f44ecbc9b36c7b92b9b4199d9e3968b0ce13bf7f29ec02c2c8486ba399c5bb2ec499e9fef50b319ae9fcc1f79710cb7cafbf501180d7f8892bec4bbae538427d03574e050ab2e0742a9ee3a23f812de31c10e10be193709c6f740b4949f90f45f47dd8807d41d8cd98f00b204e9800998ecf8427e87eea4ac69e039d5ea4016c931102a7de84457654df898fd74d330d079bf9c8fd41d8cd98f00b204e9800998ecf8427e0e3c51cc065e1e16dae8548be7ac08b73fcb8b920b77f7db88328dd491cab31f2ceb59d7710fcada64f333bf8345ff2e61b664ad12737cbcb6388ff293c676151c13ae2ab0c6b93289a387dc36dfca8ecd7b2bb3682505e4703c41de084d7ee8a7d33f093e0e02cf7a37cc3151aac42b7e1995df0f8366e50a96877fe9ba8b88845484dd6fc6bd72e8c8290e6b0b07cb770b60a87e7b9134e9a1fa24e28c999183cb91918bb3d25dfc7b8658b78075d8388d97abf7a10fec2b57cb1fc04b758719736de057bff576596a9a9e80e2aba719736de057bff576596a9a9e80e2aba734b812ad954b587babd7df633beb657548b594782c2c6886cec240c57959974829df8a88358e774fecc7acf8c3e8b733188c08c39b07968ca0c2586a58185a8b53a57d655a079b505cb7ffada1212fd338465d674731bd67d0050058a30e46f906b8fe59e07e939594f64d5f9f44cc05346394c0e87701205958361b12743002502cccf2aec4fcfe3acfb3f9d1e99440e22c842d9c4f96a9ec09c42c67704647911d17a9b612a08fc71a558933e5ad9b0d6e02f77d598875dbd577db1d193e54a16f6e71d0789a727144d2770da1155042f8ff89f0593769d29050c61459ed057d85b80366b6246e66c8228508508e11257effa6c8370a229f8092c9e14f17af1c8bce6bfa83c594fd6b39592366bf72de03c80328e9a3e875d641e11349ce85d1c9d4d6c8298009b2a3aeecd684db72d5b17207a395d8a544610e7921762bd8b1c42884fa5bdbde53d64cff469374fd3e0975740eec3481da4239017709545c418537cf1891c2fcf900a521c26959541a0a97f908aabcf4957c5314042fa3a015e1e74513773b0b2ace4991635de31e679ecfa6569224e4576452e70266b5a3f767463094a205d4663b0f89373680bcf767463094a205d4663b0f89373680bc300ecb1fdcf19002e3773b47564077a265eb0e189dadac7edaa0ad15685e41720a7419178a93de5c1aa000a564363a9c5b31c89d1c8c379730375b9fc5f8b07bcf9d001049bfdf64822a412e349eb08658f3f250e4929cba2fbf96502fa106c33aa1912cfadf2169c6ce2bfee934ec7e6e4530e52c7a42ca970296b457c3af0fcafd9ab382cbe9f6633febdea978fbc6fe7f56a048c7c72b242cc63e865b099744ab4bd21dd81b758e72b7c6fd3c3a4a1a5aeb51218d6e5fd6c40051b72b8a19e87f4f9ac2e46d819ff407b1fddf23c1a2462aad4201c666bd248300bb99b45fe746d6ef428c94679627a5fba74bf6b25745cb21ef1f0acf43ef6ea98ec535ad84f707aac14d76425fb8495c8516df43c520e1904dd6d3a8b92ee2256093c41c2e6537269845624bbf1f86d8e769a330bd07ef1831434136bc09438f3c8ac75c272b53ae68151c0ed13cd7d2ded4c0db45dc98e90fc0bee185125e0653e2aebadbaac1548c0a0b967f086ee620b402fdfe55146f21a495d4f02697ae668f5a1ebe59301bddbf2bea02a986fe6991fe39fa09740a6f5da0902524462f4320691012f5174b535043834ff50e8f19131b4a16245b89b537afd476f9fe3269594c2fb65d6216ac71af588fe69b225b619c12be792e06439c7d53b823221fe4f878a8fa03ef55f5adc02476805adb0d00758b1f2a3b25e41d3f464ca409de75167125649431a2d492904950f238a809141fd07227e900dcc1eb5f930a653d237a92344502b39eb151b7e486179515883595e75a9769d73d54cbaab46ce45ed8b69693133d9dc2a02f0b627abab4524a808733dbb5f1d76e3183f45068a17a2255ee5875cd8d0e79f65c747cce35eed9516c14cb5f4fd1052b73bf8341b211488604737e12e3b87772606614f69a10b3e3945eaffef427edac4d8ed2e0ce027681d90e8b170a95b6734573dbac9f98aa49b026951f3d895f6af1d891d18560040020924712ae1ccc39fe77e8a6ac4ac7a1cfaa991548318699581c8fcb74d12c138fe340b08923f79b25a497a82634936861e55f45046adc0da02a7103694cdeac77e7c5ce248ddbce3859b93046221fe9a2c8e6cb2f1cd0de30225807901db862eb5de42e2ed6cb7bf42791a811d9dccb7c495dbc9cacc35f25b92510a30d1d73ff42a43420912444ddf0f299069d223ecc14851618d7f61a1ea14d9b69ffb299f12062d4b8a89fd9ba879235eefea32480901ea256ddc3032d9fa367a6b87960036dad23a5465402cd1f2c7fb7abadf4c0e5c56e340d83df8970f41be4ec41508802c7bec396b27d8619ab8bb648bbcc64c071db2b6ecc08e6642f384c5ec17632b567b9bb0bcf2ed5079c7c5d1afdd779eb25620183744046ac2b45744759aa63f97626dba14494abb5c843786a794b1b748a1d68a09ca410f629980409c816c3bbfe4a7d084c4e0863321ac19e82e833bca93594dbea6e87a7713c0f4a893377ff2faabed0585d0354aecb38ecabb3a2a18c16056059619fd8fa6fd5e12b1614524ea22d1c93969582a7d1100cd95d2620eb0308ea5ce8a1c9878ef36871ba8360dac8f9498d7d78ae41b7744b280839c25fc8b641f2d23d79966b516d92d3548c8bc90285c3447fedbb6cdceed3bff86591c0d7a4ea6b4dc0703aa8ceb50a2506cd3f1dca958d6ed58b3edbc85e1125bdfc5c1c7221d29325db7a57401512697eafb3ecf6b7c024c5af71e380cf0072774574fb7a397f4d3cb2277cedc892091c0a0f56e4ab975acf8c303d520bfd1f157f011b388cc8343f32cb9f64005f748df37c3a486ca35dd9dfe15e1b5bf67c367c5812402a252ea5afce8e20c7ccccaada4d42d668d88420aa47f74e75ebd843e50284b81e74de54f390d57847b62907ac4dea01e328ba5d3148d5b0417c0eba1b8cf92db4d9540bf47710dfd2b9b6f75315b7a6768621268aa85f59c0a68483fc1fa5e28ad0e48f45cf602cb9f3a3e3c8e1c495ce08d44aff81a137e91047c49c1bff8c9e28d93fe2f2387d0806ec9f1f7c12715d31e008dec7bf5b1fa863606a14cae089af56725081934eefcd43bac6646ac0b866be2cbf4340190ef8226cce638631b25c0c548aba2b0f462133285fae2db46f3c04f76bafae9ecceac1cc84b7245a60923cee8e497ae82b6f89bda2808dec4aa35c4a2299819f6cd474202360f0f944776ca63d6a59be6d3a4f10b232d693f8895dc6acaf3f2ef325cb2bcd1bb0013fedfa34b0953ac0f062711c924576d888bc4f33e59f339422eeafb87dc85c60f4e8b09b2dc05d51562c3b066239d947064145827927d21e648cd819f90fccf53fc111e25ebfe3f8e894ea8863ad0e6f4a0582e7ac4bac7fe18db019b096f7013c1d0641940f90bb4e2a04148d8853932f0281043783fccadcdc3168bc29a0f7cdf295dfc2e874df85cd06f62cf282467ae3588741a898eeb58f165d7d86157d1a4158543e6cefcb7b36113ce0b906bad203f5d0d23dfe2abb5133a6bf4527395f33e19d20538ff360b97e2fa6b086b31f2544a6c5cc35e5e3278b28d3de8dfcd4efefa7e68f7eca84885bc421aa7f6eed7a9fbf15f5f458345842daf7d58a7765f064fccb7cb76ad9c7f8493ec3ba4ef9242e1a39c59e2fca98496b59fa07abfe904fe5582f454eeea2b2b485aa235f568e8ab69e74eabbd56d81e0294cb27b208eb46b601b6507689a172999c643754004e05b0d915b6be61c1e1594c55178d35ec5ee53c91dd2d8d5248162bcad2d8be3b2cf1cbc870830d343a5eb0a520d75e7a2b64b97215d00d530693d204d77e3a1a8ccb2ce2a288f3a8601889d2cb96eeb6d8d969a55bdbd26bc405e4433721cd5eb73591c180d0f1e85fc6e9356a04e631fd557c7f53d7001f33c734d1c7369f9364947737f0e68207824d7fc1e82e4dee3e12916d352b905969b92f6027a13f300bc7637f123c5ef54f181b963606e39d26aba2c97d5531097800521b52ac764d8d0c98ad720c59e5ae06ca5c6817efad521dcb8e21359a4bb1a71e72ec0f50342023c1cf6d870a3d50a15ee4df421fc6191590f6ea9cf63b5b3c0696b517f869b6e982e7468a136aee3100b4b2301f6081daefd0784e3a3fa16b033844feb8127eae70a301b27c2afcecd385bbdac95b601a1d425505cddf069fa0cf2db7fe5f16e35e139b1d8781d354d04782e54b83c52cc149336c507a78e13cbba3e3bf279237c0846e70e11b1b4910177249bf2dc6ab14c8476ca9fefae1c250346ac6cd5f4a09950a317e6033d3a98c5e561ae5990bcc949c87a7583041c250346ac6cd5f4a09950a317e6033d1c250346ac6cd5f4a09950a317e6033d1c250346ac6cd5f4a09950a317e6033d00b2d76c39cd49f7152f846e383311307e42cf6993fe96858cf12c809331021379c62345857aff7f890fec80e70d01aca069c8544442acb954fc08bfdf7affb1dc88f085696e1f26bfd8406b7de7b8fb662f9f68d3ba852a2b61436dde9e8d5f90a1b22eec6a2cc1f55f958552c188bb83b5df5ddc66a40179af4678e0aa8eafe898244082c39b443117f7893ce0debf5a8439f4f1d75f19ef2803ab6e366bd0asm-x86rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootvzkernel-2.6.32-042stab111.7.src.rpmÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿkernel-devel-i686kernel-develkernel-devel-uname-rvzkernel-develvzkernel-devel(x86-32)     rpmlib(VersionedDependencies)/usr/bin/find/bin/shrpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(CompressedFileNames)rpmlib(PayloadIsBzip2)3.0.3-14.0.4-14.0-13.0.4-13.0.5-14.8.0Užb@U‡øÀU€ÀUx&ÀUuƒÀUg@U`kÀU\w@UQë@UKSÀU4ê@U-@U'»@UôÀU º@U.@Tý‹@TöóÀTä~ÀT×OÀTËr@TÇ}ÀTÀæ@T®q@T”@TŽÍ@T†ä@T}©ÀTk4ÀTd@T_W@T7Ê@T&@TÔÀT š@T ¥ÀTk@Tk@S÷0ÀSíö@Sä»ÀSÛ@S׌ÀSÐõ@SÆi@SÁ#@S¾€@S¶—@Sª¹ÀS©h@S¥sÀS¤"@SžÜ@SšçÀS™–@S™–@S˜DÀS˜DÀS•¡ÀS‘­@S[ÀS @S¸ÀSŒg@S‰Ä@S…ÏÀS8@S|•@S{CÀS{CÀSt¬@Sr @Sp·ÀShÎÀSg}@S_”@SW«@SOÂ@SKÍÀSF‡ÀSCäÀSB“@S=M@S9XÀS1oÀS*Ø@S&ãÀS"ï@S©@Sz@S 4@Sî@Rþ@Róy@Rë@Rç›ÀRÙ@RÏàÀR¹w@R´1@R±Ž@RªöÀR¡¼@R”@RŒ¤@Ru@RxÝÀRté@RpôÀRnQÀRnQÀRe@R[ÜÀRV–ÀRR¢@RIgÀR@-@R1¬ÀR/ ÀR)ÃÀR7ÀR”ÀRÀR ÂÀR ÀRˆ@R6ÀRå@Qÿ“ÀQûŸ@QúMÀQøü@Q÷ªÀQöY@QòdÀQîp@Qé*@Qæ‡@QÞž@QÝLÀQÚ©ÀQÒÀÀQÍzÀQɆ@QÄ@@QÁ@Q»ÀQ¸bÀQ·@Qµ¿ÀQ±Ë@Q±Ë@Q§?@Q¥íÀQŸV@Qš@Q–ÀQ–ÀQ’'@Q’'@QŠ>@Q‡›@Qƒ¦ÀQzl@QvwÀQu&@Qm=@QT0ÀQT0ÀQHS@QGÀQC @Q/FÀQ-õ@Q+R@QÑÀQ€@QÝ@Q¹ÀQh@Pý-ÀPõDÀPóó@Pê¸ÀPårÀPÒýÀPÐZÀPÏ @PÅÎÀPÀˆÀP½åÀPµüÀP¬Â@Pª@P¦*ÀP¢6@Pœð@P—ª@P‘ÀPŠ{@P…5@P@ÀPï@P~ÀP{úÀPx@Pv´ÀPv´ÀPtÀPtÀPtÀPrÀ@Pp@PnËÀPnËÀPnËÀPmz@Pmz@Pl(ÀPl(ÀPj×@Pe‘@Pe‘@Pd?ÀPaœÀP\VÀPY³ÀPWÀPPy@PIáÀPH@P@§@P?UÀP;a@P7lÀP4ÉÀP.2@P.2@P+@P*=ÀP#¦@P"TÀPÈÀPßÀPßÀPßÀPŽ@P <ÀPöÀPSÀP_@OýjÀOü@OõÀOñ@Oí˜ÀOß@OØ€ÀOÈ®ÀOÆ ÀOĺ@O¿t@O»ÀOº.@O²E@O²E@O© ÀOŸÐ@O–•ÀO’¡@O‘OÀO†ÃÀO…r@O„ ÀO}ÀO}‰@Oy”ÀOtNÀOq«ÀOpZ@Ok@Ok@OiÂÀOgÀO`ˆ@OYðÀOUü@OUü@OUü@OTªÀOOdÀON@OLÁÀOLÁÀOKp@OHÍ@OG{ÀOG{ÀOF*@OF*@OB5ÀO>A@O<ïÀO;ž@O8û@O5ÀO3µ@O2cÀOîÀObÀOÀO?@NèÀNÔÉ@NÔÉ@NÂT@N¹ÀN¹ÀN¶vÀN³ÓÀN¯ß@Nª™@N¦¤ÀN¥S@N¡^ÀNj@NšÇ@N•@N”/ÀN’Þ@NŠõ@N‰£ÀN‰£ÀNºÀNyÑÀNx€@Nw.ÀNw.ÀNs:@Nmô@Ng\ÀNch@N_sÀNWŠÀNS–@NK­@NJ[ÀNI @NEÀNCÄ@NCÄ@NBrÀNA!@N>~@N=,ÀN:‰ÀN:‰ÀN:‰ÀN98@N7æÀN6•@N5CÀN/ýÀN/ýÀN.¬@N(ÀN%qÀN +ÀN7@NŸÀNN@N ¶ÀN Â@N|@N|@NÙ@MûAÀMøžÀM÷M@Môª@MìÁ@MäØ@MÜï@MÚL@MÖWÀMÕ@MÑÀMÍ@MËËÀMÉ(ÀMÉ(ÀMÁ?ÀM¾œÀM½K@Mº¨@M¸@M¶³ÀMµb@M°@M®ÊÀM®ÊÀM­y@M¬'ÀM¬'ÀM¤>ÀM¢í@M›@M™²ÀMx@Mx@Mx@M‡=ÀMTÀMTÀMwkÀMwkÀMtÈÀMlßÀMbSÀMZjÀMY@MQ0@MOÞÀMKê@MIG@MGõÀMGõÀMD@MB¯ÀMA^@M@ ÀM>»@M>»@M:ÆÀM9u@M8#ÀM6Ò@M0:ÀM.é@M-—ÀM,F@M'@MÑ@M PÀM­ÀM\@M@Lþ!ÀLþ!ÀLû~ÀLøÛÀLö8ÀLæfÀLâr@LÛÚÀLÉeÀLÆÂÀL¾ÙÀL½ˆ@L½ˆ@L²ü@L±ªÀL¤{ÀL™ïÀLŽ@L~@@LuÀLs´@LrbÀLnn@LjyÀLi(@Le3ÀLa?@La?@L[ù@L[ù@LYV@LXÀLXÀLR¾ÀLQm@LNÊ@LMxÀLEÀLEÀL>ø@L=¦ÀL [2.6.32-504.30.3.el6]Radomir Vrbovsky [2.6.32-504.30.2.el6]Radomir Vrbovsky [2.6.32-504.30.1.el6]Radomir Vrbovsky [2.6.32-504.29.1.el6]Radomir Vrbovsky [2.6.32-504.28.1.el6]Radomir Vrbovsky [2.6.32-504.27.1.el6]Frantisek Hrbata [2.6.32-504.26.1.el6]Frantisek Hrbata [2.6.32-504.25.1.el6]Radomir Vrbovsky [2.6.32-504.24.1.el6]Radomir Vrbovsky [2.6.32-504.23.1.el6]Radomir Vrbovsky [2.6.32-504.22.1.el6]Radomir Vrbovsky [2.6.32-504.21.1.el6]Radomir Vrbovsky [2.6.32-504.20.1.el6]Radomir Vrbovsky [2.6.32-504.19.1.el6]Frantisek Hrbata [2.6.32-504.18.1.el6]Frantisek Hrbata [2.6.32-504.17.1.el6]Frantisek Hrbata [2.6.32-504.16.1.el6]Radomir Vrbovsky [2.6.32-504.15.1.el6]Radomir Vrbovsky [2.6.32-504.14.1.el6]Radomir Vrbovsky [2.6.32-504.13.1.el6]Radomir Vrbovsky [2.6.32-504.12.1.el6]Radomir Vrbovsky [2.6.32-504.11.1.el6]Radomir Vrbovsky [2.6.32-504.10.1.el6]Radomir Vrbovsky [2.6.32-504.9.1.el6]Radomir Vrbovsky [2.6.32-504.8.1.el6]Radomir Vrbovsky [2.6.32-504.7.1.el6]Radomir Vrbovsky [2.6.32-504.6.1.el6]Radomir Vrbovsky [2.6.32-504.5.1.el6]Radomir Vrbovsky [2.6.32-504.4.1.el6]Radomir Vrbovsky [2.6.32-504.3.1.el6]Radomir Vrbovsky [2.6.32-504.2.1.el6]Radomir Vrbovsky [2.6.32-504.1.1.el6]Rafael Aquini [2.6.32-504.el6]Rafael Aquini [2.6.32-503.el6]Rafael Aquini [2.6.32-502.el6]Rafael Aquini [2.6.32-501.el6]Rafael Aquini [2.6.32-500.el6]Rafael Aquini [2.6.32-499.el6]Rafael Aquini [2.6.32-498.el6]Rafael Aquini [2.6.32-497.el6]Rafael Aquini [2.6.32-496.el6]Rafael Aquini [2.6.32-495.el6]Rafael Aquini [2.6.32-494.el6]Rafael Aquini [2.6.32-493.el6]Rafael Aquini [2.6.32-492.el6]Rafael Aquini [2.6.32-491.el6]Rafael Aquini [2.6.32-490.el6]Rafael Aquini [2.6.32-489.el6]Rafael Aquini [2.6.32-488.el6]Rafael Aquini [2.6.32-487.el6]Rafael Aquini [2.6.32-486.el6]Rafael Aquini [2.6.32-485.el6]Rafael Aquini [2.6.32-484.el6]Rafael Aquini [2.6.32-483.el6]Rafael Aquini [2.6.32-482.el6]Rafael Aquini [2.6.32-481.el6]Rafael Aquini [2.6.32-480.el6]Rafael Aquini [2.6.32-479.el6]Rafael Aquini [2.6.32-478.el6]Rafael Aquini [2.6.32-477.el6]Rafael Aquini [2.6.32-476.el6]Rafael Aquini [2.6.32-475.el6]Rafael Aquini [2.6.32-474.el6]Rafael Aquini [2.6.32-473.el6]Rafael Aquini [2.6.32-472.el6]Rafael Aquini [2.6.32-471.el6]Rafael Aquini [2.6.32-470.el6]Rafael Aquini [2.6.32-469.el6]Rafael Aquini [2.6.32-468.el6]Rafael Aquini [2.6.32-467.el6]Rafael Aquini [2.6.32-466.el6]Rafael Aquini [2.6.32-465.el6]Rafael Aquini [2.6.32-464.el6]Rafael Aquini [2.6.32-463.el6]Rafael Aquini [2.6.32-462.el6]Rafael Aquini [2.6.32-461.el6]Rafael Aquini [2.6.32-460.el6]Rafael Aquini [2.6.32-459.el6]Rafael Aquini [2.6.32-458.el6]Rafael Aquini [2.6.32-457.el6]Rafael Aquini [2.6.32-456.el6]Rafael Aquini [2.6.32-455.el6]Rafael Aquini [2.6.32-454.el6]Rafael Aquini [2.6.32-453.el6]Rafael Aquini [2.6.32-452.el6]Rafael Aquini [2.6.32-451.el6]Rafael Aquini [2.6.32-450.el6]Rafael Aquini [2.6.32-449.el6]Rafael Aquini [2.6.32-448.el6]Rafael Aquini [2.6.32-447.el6]Rafael Aquini [2.6.32-446.el6]Rafael Aquini [2.6.32-445.el6]Rafael Aquini [2.6.32-444.el6]Rafael Aquini [2.6.32-443.el6]Rafael Aquini [2.6.32-442.el6]Rafael Aquini [2.6.32-441.el6]Rafael Aquini [2.6.32-440.el6]Rafael Aquini [2.6.32-439.el6]Rafael Aquini [2.6.32-438.el6]Rafael Aquini [2.6.32-437.el6]Rafael Aquini [2.6.32-436.el6]Rafael Aquini [2.6.32-435.el6]Rafael Aquini [2.6.32-434.el6]Rafael Aquini [2.6.32-433.el6]Rafael Aquini [2.6.32-432.el6]Rafael Aquini [2.6.32-431.el6]Rafael Aquini [2.6.32-430.el6]Rafael Aquini [2.6.32-429.el6]Rafael Aquini [2.6.32-428.el6]Rafael Aquini [2.6.32-427.el6]Rafael Aquini [2.6.32-426.el6]Rafael Aquini [2.6.32-425.el6]Rafael Aquini [2.6.32-424.el6]Rafael Aquini [2.6.32-423.el6]Rafael Aquini [2.6.32-422.el6]Rafael Aquini [2.6.32-421.el6]Rafael Aquini [2.6.32-420.el6]Rafael Aquini [2.6.32-419.el6]Rafael Aquini [2.6.32-418.el6]Rafael Aquini [2.6.32-417.el6]Rafael Aquini [2.6.32-416.el6]Rafael Aquini [2.6.32-415.el6]Rafael Aquini [2.6.32-414.el6]Rafael Aquini [2.6.32-413.el6]Rafael Aquini [2.6.32-412.el6]Rafael Aquini [2.6.32-411.el6]Rafael Aquini [2.6.32-410.el6]Rafael Aquini [2.6.32-409.el6]Rafael Aquini [2.6.32-408.el6]Rafael Aquini [2.6.32-407.el6]Rafael Aquini [2.6.32-406.el6]Rafael Aquini [2.6.32-405.el6]Rafael Aquini [2.6.32-404.el6]Rafael Aquini [2.6.32-403.el6]Rafael Aquini [2.6.32-402.el6]Rafael Aquini [2.6.32-401.el6]Rafael Aquini [2.6.32-400.el6]Rafael Aquini [2.6.32-399.el6]Rafael Aquini [2.6.32-398.el6]Jarod Wilson [2.6.32-397.el6]Jarod Wilson [2.6.32-396.el6]Jarod Wilson [2.6.32-395.el6]Jarod Wilson [2.6.32-394.el6]Jarod Wilson [2.6.32-393.el6]Jarod Wilson [2.6.32-392.el6]Jarod Wilson [2.6.32-391.el6]Jarod Wilson [2.6.32-390.el6]Jarod Wilson [2.6.32-389.el6]Jarod Wilson [2.6.32-388.el6]Jarod Wilson [2.6.32-387.el6]Jarod Wilson [2.6.32-386.el6]Jarod Wilson [2.6.32-385.el6]Jarod Wilson [2.6.32-384.el6]Jarod Wilson [2.6.32-383.el6]Jarod Wilson [2.6.32-382.el6]Jarod Wilson [2.6.32-381.el6]Jarod Wilson [2.6.32-380.el6]Jarod Wilson [2.6.32-379.el6]Jarod Wilson [2.6.32-378.el6]Jarod Wilson [2.6.32-377.el6]Jarod Wilson [2.6.32-376.el6]Jarod Wilson [2.6.32-375.el6]Jarod Wilson [2.6.32-374.el6]Jarod Wilson [2.6.32-373.el6]Jarod Wilson [2.6.32-372.el6]Jarod Wilson [2.6.32-371.el6]Jarod Wilson [2.6.32-370.el6]Jarod Wilson [2.6.32-369.el6]Jarod Wilson [2.6.32-368.el6]Jarod Wilson [2.6.32-367.el6]Jarod Wilson [2.6.32-366.el6]Jarod Wilson [2.6.32-365.el6]Jarod Wilson [2.6.32-364.el6]Jarod Wilson [2.6.32-363.el6]Jarod Wilson [2.6.32-362.el6]Jarod Wilson [2.6.32-361.el6]Jarod Wilson [2.6.32-360.el6]Jarod Wilson [2.6.32-359.el6]Jarod Wilson [2.6.32-358.el6]Jarod Wilson [2.6.32-357.el6]Jarod Wilson [2.6.32-356.el6]Jarod Wilson [2.6.32-355.el6]Jarod Wilson [2.6.32-354.el6]Jarod Wilson [2.6.32-353.el6]Jarod Wilson [2.6.32-352.el6]Jarod Wilson [2.6.32-351.el6]Jarod Wilson [2.6.32-350.el6]Jarod Wilson [2.6.32-349.el6]Jarod Wilson [2.6.32-348.el6]Jarod Wilson [2.6.32-347.el6]Jarod Wilson [2.6.32-346.el6]Jarod Wilson [2.6.32-345.el6]Jarod Wilson [2.6.32-344.el6]Jarod Wilson [2.6.32-343.el6]Jarod Wilson [2.6.32-342.el6]Jarod Wilson [2.6.32-341.el6]Jarod Wilson [2.6.32-340.el6]Jarod Wilson [2.6.32-339.el6]Jarod Wilson [2.6.32-338.el6]Jarod Wilson [2.6.32-337.el6]Jarod Wilson [2.6.32-336.el6]Jarod Wilson [2.6.32-335.el6]Jarod Wilson [2.6.32-334.el6]Jarod Wilson [2.6.32-333.el6]Jarod Wilson [2.6.32-332.el6]Jarod Wilson [2.6.32-331.el6]Jarod Wilson [2.6.32-330.el6]Jarod Wilson [2.6.32-329.el6]Jarod Wilson [2.6.32-328.el6]Jarod Wilson [2.6.32-327.el6]Jarod Wilson [2.6.32-326.el6]Jarod Wilson [2.6.32-325.el6]Jarod Wilson [2.6.32-324.el6]Jarod Wilson [2.6.32-323.el6]Jarod Wilson [2.6.32-322.el6]Jarod Wilson [2.6.32-321.el6]Jarod Wilson [2.6.32-320.el6]Jarod Wilson [2.6.32-319.el6]Jarod Wilson [2.6.32-318.el6]Jarod Wilson [2.6.32-317.el6]Jarod Wilson [2.6.32-316.el6]Jarod Wilson [2.6.32-315.el6]Jarod Wilson [2.6.32-314.el6]Jarod Wilson [2.6.32-313.el6]Jarod Wilson [2.6.32-312.el6]Jarod Wilson [2.6.32-311.el6]Jarod Wilson [2.6.32-310.el6]Jarod Wilson [2.6.32-309.el6]Jarod Wilson [2.6.32-308.el6]Jarod Wilson [2.6.32-307.el6]Jarod Wilson [2.6.32-306.el6]Jarod Wilson [2.6.32-305.el6]Jarod Wilson [2.6.32-304.el6]Jarod Wilson [2.6.32-303.el6]Jarod Wilson [2.6.32-302.el6]Jarod Wilson [2.6.32-301.el6]Jarod Wilson [2.6.32-300.el6]Jarod Wilson [2.6.32-299.el6]Jarod Wilson [2.6.32-298.el6]Jarod Wilson [2.6.32-297.el6]Jarod Wilson [2.6.32-296.el6]Jarod Wilson [2.6.32-295.el6]Jarod Wilson [2.6.32-294.el6]Jarod Wilson [2.6.32-293.el6]Jarod Wilson [2.6.32-292.el6]Jarod Wilson [2.6.32-291.el6]Jarod Wilson [2.6.32-290.el6]Jarod Wilson [2.6.32-289.el6]Jarod Wilson [2.6.32-288.el6]Jarod Wilson [2.6.32-287.el6]Jarod Wilson [2.6.32-286.el6]Jarod Wilson [2.6.32-285.el6]Jarod Wilson [2.6.32-284.el6]Jarod Wilson [2.6.32-283.el6]Jarod Wilson [2.6.32-282.el6]Jarod Wilson [2.6.32-281.el6]Jarod Wilson [2.6.32-280.el6]Jarod Wilson [2.6.32-279.el6]Jarod Wilson [2.6.32-278.el6]Jarod Wilson [2.6.32-277.el6]Jarod Wilson [2.6.32-276.el6]Jarod Wilson [2.6.32-275.el6]Jarod Wilson [2.6.32-274.el6]Jarod Wilson [2.6.32-273.el6]Jarod Wilson [2.6.32-272.el6]Jarod Wilson [2.6.32-271.el6]Jarod Wilson [2.6.32-270.el6]Jarod Wilson [2.6.32-269.el6]Jarod Wilson [2.6.32-268.el6]Aristeu Rozanski [2.6.32-267.el6]Aristeu Rozanski [2.6.32-266.el6]Aristeu Rozanski [2.6.32-265.el6]Aristeu Rozanski [2.6.32-264.el6]Aristeu Rozanski [2.6.32-263.el6]Aristeu Rozanski [2.6.32-262.el6]Aristeu Rozanski [2.6.32-261.el6]Aristeu Rozanski [2.6.32-260.el6]Aristeu Rozanski [2.6.32-259.el6]Aristeu Rozanski [2.6.32-258.el6]Aristeu Rozanski [2.6.32-257.el6]Aristeu Rozanski [2.6.32-256.el6]Aristeu Rozanski [2.6.32-255.el6]Aristeu Rozanski [2.6.32-254.el6]Aristeu Rozanski [2.6.32-253.el6]Aristeu Rozanski [2.6.32-252.el6]Aristeu Rozanski [2.6.32-251.el6]Aristeu Rozanski [2.6.32-250.el6]Aristeu Rozanski [2.6.32-249.el6]Aristeu Rozanski [2.6.32-248.el6]Aristeu Rozanski [2.6.32-247.el6]Aristeu Rozanski [2.6.32-246.el6]Aristeu Rozanski [2.6.32-245.el6]Aristeu Rozanski [2.6.32-244.el6]Aristeu Rozanski [2.6.32-243.el6]Aristeu Rozanski [2.6.32-242.el6]Aristeu Rozanski [2.6.32-241.el6]Aristeu Rozanski [2.6.32-240.el6]Aristeu Rozanski [2.6.32-239.el6]Aristeu Rozanski [2.6.32-238.el6]Aristeu Rozanski [2.6.32-237.el6]Aristeu Rozanski [2.6.32-236.el6]Aristeu Rozanski [2.6.32-235.el6]Aristeu Rozanski [2.6.32-234.el6]Aristeu Rozanski [2.6.32-233.el6]Aristeu Rozanski [2.6.32-232.el6]Aristeu Rozanski [2.6.32-231.el6]Aristeu Rozanski [2.6.32-230.el6]Aristeu Rozanski [2.6.32-229.el6]Aristeu Rozanski [2.6.32-228.el6]Aristeu Rozanski [2.6.32-227.el6]Aristeu Rozanski [2.6.32-226.el6]Aristeu Rozanski [2.6.32-225.el6]Aristeu Rozanski [2.6.32-224.el6]Aristeu Rozanski [2.6.32-223.el6]Aristeu Rozanski [2.6.32-222.el6]Aristeu Rozanski [2.6.32-221.el6]Aristeu Rozanski [2.6.32-220.el6]Aristeu Rozanski [2.6.32-219.el6]Aristeu Rozanski [2.6.32-218.el6]Aristeu Rozanski [2.6.32-217.el6]Aristeu Rozanski [2.6.32-216.el6]Aristeu Rozanski [2.6.32-215.el6]Aristeu Rozanski [2.6.32-214.el6]Aristeu Rozanski [2.6.32-213.el6]Aristeu Rozanski [2.6.32-212.el6]Aristeu Rozanski [2.6.32-211.el6]Aristeu Rozanski [2.6.32-210.el6]Aristeu Rozanski [2.6.32-209.el6]Aristeu Rozanski [2.6.32-208.el6]Aristeu Rozanski [2.6.32-207.el6]Aristeu Rozanski [2.6.32-206.el6]Aristeu Rozanski [2.6.32-205.el6]Kyle McMartin [2.6.32-204.el6]Kyle McMartin [2.6.32-203.el6]Aristeu Rozanski [2.6.32-202.el6]Aristeu Rozanski [2.6.32-201.el6]Aristeu Rozanski [2.6.32-200.el6]Aristeu Rozanski [2.6.32-199.el6]Kyle McMartin [2.6.32-198.el6]Aristeu Rozanski [2.6.32-197.el6]Aristeu Rozanski [2.6.32-196.el6]Aristeu Rozanski [2.6.32-195.el6]Aristeu Rozanski [2.6.32-194.el6]Aristeu Rozanski [2.6.32-193.el6]Aristeu Rozanski [2.6.32-192.el6]Kyle McMartin [2.6.32-191.el6]Aristeu Rozanski [2.6.32-190.el6]Aristeu Rozanski [2.6.32-189.el6]Kyle McMartin [2.6.32-188.el6]Kyle McMartin [2.6.32-187.el6]Aristeu Rozanski [2.6.32-186.el6]Aristeu Rozanski [2.6.32-185.el6]Aristeu Rozanski [2.6.32-184.el6]Kyle McMartin [2.6.32-183.el6]Aristeu Rozanski [2.6.32-182.el6]Kyle McMartin [2.6.32-181.el6]Aristeu Rozanski [2.6.32-180.el6]Aristeu Rozanski [2.6.32-179.el6]Kyle McMartin [2.6.32-178.el6]Aristeu Rozanski [2.6.32-177.el6]Aristeu Rozanski [2.6.32-176.el6]Kyle McMartin [2.6.32-175.el6]Aristeu Rozanski [2.6.32-174.el6]Aristeu Rozanski [2.6.32-173.el6]Kyle McMartin [2.6.32-172.el6]Kyle McMartin [2.6.32-171.el6]Kyle McMartin [2.6.32-170.el6]Aristeu Rozanski [2.6.32-169.el6]Kyle McMartin [2.6.32-168.el6]Aristeu Rozanski [2.6.32-167.el6]Kyle McMartin [2.6.32-166.el6]Aristeu Rozanski [2.6.32-165.el6]Kyle McMartin [2.6.32-164.el6]Aristeu Rozanski [2.6.32-163.el6]Aristeu Rozanski [2.6.32-162.el6]Kyle McMartin [2.6.32-161.el6]Aristeu Rozanski [2.6.32-160.el6]Aristeu Rozanski [2.6.32-159.el6]Aristeu Rozanski [2.6.32-158.el6]Aristeu Rozanski [2.6.32-157.el6]Aristeu Rozanski [2.6.32-156.el6]Aristeu Rozanski [2.6.32-155.el6]Aristeu Rozanski [2.6.32-154.el6]Aristeu Rozanski [2.6.32-153.el6]Aristeu Rozanski [2.6.32-152.el6]Aristeu Rozanski [2.6.32-151.el6]Aristeu Rozanski [2.6.32-150.el6]Aristeu Rozanski [2.6.32-149.el6]Aristeu Rozanski [2.6.32-148.el6]Aristeu Rozanski [2.6.32-147.el6]Aristeu Rozanski [2.6.32-146.el6]Aristeu Rozanski [2.6.32-145.el6]Aristeu Rozanski [2.6.32-144.el6]Aristeu Rozanski [2.6.32-143.el6]Aristeu Rozanski [2.6.32-142.el6]Aristeu Rozanski [2.6.32-141.el6]Aristeu Rozanski [2.6.32-140.el6]Aristeu Rozanski [2.6.32-139.el6]Aristeu Rozanski [2.6.32-138.el6]Aristeu Rozanski [2.6.32-137.el6]Aristeu Rozanski [2.6.32-136.el6]Aristeu Rozanski [2.6.32-135.el6]Aristeu Rozanski [2.6.32-134.el6]Aristeu Rozanski [2.6.32-133.el6]Aristeu Rozanski [2.6.32-132.el6]Aristeu Rozanski [2.6.32-131.el6]Aristeu Rozanski [2.6.32-130.el6]Aristeu Rozanski [2.6.32-129.el6]Aristeu Rozanski [2.6.32-128.el6]Aristeu Rozanski [2.6.32-127.el6]Aristeu Rozanski [2.6.32-126.el6]Aristeu Rozanski [2.6.32-125.el6]Aristeu Rozanski [2.6.32-124.el6]Aristeu Rozanski [2.6.32-123.el6]Aristeu Rozanski [2.6.32-122.el6]Aristeu Rozanski [2.6.32-121.el6]Aristeu Rozanski [2.6.32-120.el6]Aristeu Rozanski [2.6.32-119.el6]Aristeu Rozanski [2.6.32-118.el6]Aristeu Rozanski [2.6.32-117.el6]Aristeu Rozanski [2.6.32-116.el6]Aristeu Rozanski [2.6.32-115.el6]Aristeu Rozanski [2.6.32-114.el6]Aristeu Rozanski [2.6.32-113.el6]Aristeu Rozanski [2.6.32-112.el6]Aristeu Rozanski [2.6.32-111.el6]Aristeu Rozanski [2.6.32-110.el6]Aristeu Rozanski [2.6.32-109.el6]Aristeu Rozanski [2.6.32-108.el6]Aristeu Rozanski [2.6.32-107.el6]Aristeu Rozanski [2.6.32-106.el6]Aristeu Rozanski [2.6.32-105.el6]Aristeu Rozanski [2.6.32-104.el6]Aristeu Rozanski [2.6.32-103.el6]Aristeu Rozanski [2.6.32-102.el6]Aristeu Rozanski [2.6.32-101.el6]Aristeu Rozanski [2.6.32-100.el6]Aristeu Rozanski [2.6.32-99.el6]Aristeu Rozanski [2.6.32-98.el6]Aristeu Rozanski [2.6.32-97.el6]Aristeu Rozanski [2.6.32-96.el6]Aristeu Rozanski [2.6.32-95.el6]Aristeu Rozanski [2.6.32-94.el6]Aristeu Rozanski [2.6.32-93.el6]Aristeu Rozanski [2.6.32-92.el6]Aristeu Rozanski [2.6.32-91.el6]Aristeu Rozanski [2.6.32-90.el6]Aristeu Rozanski [2.6.32-89.el6]Aristeu Rozanski [2.6.32-88.el6]Aristeu Rozanski [2.6.32-87.el6]Aristeu Rozanski [2.6.32-86.el6]Aristeu Rozanski [2.6.32-85.el6]Aristeu Rozanski [2.6.32-84.el6]Aristeu Rozanski [2.6.32-83.el6]Aristeu Rozanski [2.6.32-82.el6]Aristeu Rozanski [2.6.32-81.el6]Aristeu Rozanski [2.6.32-80.el6]Aristeu Rozanski [2.6.32-79.el6]Aristeu Rozanski [2.6.32-78.el6]Aristeu Rozanski [2.6.32-77.el6]Aristeu Rozanski [2.6.32-76.el6]Aristeu Rozanski [2.6.32-75.el6]Aristeu Rozanski [2.6.32-74.el6]Aristeu Rozanski [2.6.32-73.el6]Aristeu Rozanski [2.6.32-72.el6]Aristeu Rozanski [2.6.32-71.el6]Aristeu Rozanski [2.6.32-70.el6]Aristeu Rozanski [2.6.32-69.el6]Aristeu Rozanski [2.6.32-68.el6]Aristeu Rozanski [2.6.32-67.el6]Aristeu Rozanski [2.6.32-66.el6]Aristeu Rozanski [2.6.32-65.el6]Aristeu Rozanski [2.6.32-64.el6]Aristeu Rozanski [2.6.32-63.el6]Aristeu Rozanski [2.6.32-62.el6]Aristeu Rozanski [2.6.32-61.el6]Aristeu Rozanski [2.6.32-60.el6]Aristeu Rozanski [2.6.32-59.el6]Aristeu Rozanski [2.6.32-58.el6]Aristeu Rozanski [2.6.32-57.el6]Aristeu Rozanski [2.6.32-56.el6]Aristeu Rozanski [2.6.32-55.el6]Aristeu Rozanski [2.6.32-54.el6]Aristeu Rozanski [2.6.32-53.el6]Aristeu Rozanski [2.6.32-52.el6]Aristeu Rozanski [2.6.32-51.el6]Aristeu Rozanski [2.6.32-50.el6]Aristeu Rozanski [2.6.32-49.el6]Aristeu Rozanski [2.6.32-48.el6]Aristeu Rozanski [2.6.32-47.el6]Aristeu Rozanski [2.6.32-46.el6]Aristeu Rozanski [2.6.32-45.el6]Aristeu Rozanski [2.6.32-44.el6]Aristeu Rozanski [2.6.32-43.el6]Aristeu Rozanski [2.6.32-42.el6]Aristeu Rozanski [2.6.32-41.el6]Aristeu Rozanski [2.6.32-40.el6]Aristeu Rozanski [2.6.32-39.el6]Aristeu Rozanski [2.6.32-38.el6]Aristeu Rozanski [2.6.32-37.el6]Aristeu Rozanski [2.6.32-36.el6]Aristeu Rozanski [2.6.32-35.el6]Aristeu Rozanski [2.6.32-34.el6]Aristeu Rozanski [2.6.32-33.el6]Aristeu Rozanski [2.6.32-32.el6]Aristeu Rozanski [2.6.32-31.el6]Aristeu Rozanski [2.6.32-30.el6]Aristeu Rozanski [2.6.32-29.el6]Aristeu Rozanski [2.6.32-28.el6]Aristeu Rozanski [2.6.32-27.el6]Aristeu Rozanski [2.6.32-26.el6]Aristeu Rozanski [2.6.32-25.el6]Aristeu Rozanski [2.6.32-24.el6]Aristeu Rozanski [2.6.32-23.el6]Aristeu Rozanski [2.6.32-22.el6]Aristeu Rozanski [2.6.32-21.el6]Aristeu Rozanski [2.6.32-20.el6]Aristeu Rozanski [2.6.32-19.el6]Aristeu Rozanski [2.6.32-18.el6]Aristeu Rozanski [2.6.32-17.el6]Aristeu Rozanski [2.6.32-16.el6]Aristeu Rozanski [2.6.32-15.el6]Aristeu Rozanski [2.6.32-14.el6]Aristeu Rozanski [2.6.32-13.el6]Aristeu Rozanski [2.6.32-12.el6]Aristeu Rozanski [2.6.32-11.el6]Aristeu Rozanski [2.6.32-10.el6]Aristeu Rozanski [2.6.32-9.el6]Aristeu Rozanski [2.6.32-8.el6]Aristeu Rozanski [2.6.32-7.el6]Aristeu Rozanski [2.6.32-6.el6]Aristeu Rozanski [2.6.32-5.el6]Aristeu Rozanski [2.6.32-4.el6]Aristeu Rozanski [2.6.32-3.el6]Aristeu Rozanski [2.6.32-2.el6]Aristeu Rozanski [2.6.32-1.el6]Aristeu Rozanski [2.6.32-0.54.el6]Aristeu Rozanski [2.6.32-0.53.el6]Aristeu Rozanski [2.6.32-0.52.el6]Aristeu Rozanski [2.6.32-0.51.el6]Aristeu Rozanski [2.6.32-0.50.el6]- [redhat] spec: Update dracut dependency to pull in drbg module (Frantisek Hrbata) [1241517 1241338]- [crypto] rng: Remove krng (Herbert Xu) [1233512 1226418] - [crypto] drbg: Add stdrng alias and increase priority (Herbert Xu) [1233512 1226418] - [crypto] seqiv: Move IV seeding into init function (Herbert Xu) [1233512 1226418] - [crypto] eseqiv: Move IV seeding into init function (Herbert Xu) [1233512 1226418] - [crypto] chainiv: Move IV seeding into init function (Herbert Xu) [1233512 1226418]- [net] Fix checksum features handling in netif_skb_features() (Vlad Yasevich) [1231690 1220247]- [net] gso: fix skb_segment for non-offset skb pointers (Jiri Benc) [1229586 1200533]- [fs] pipe: fix pipe corruption and iovec overrun on partial copy (Seth Jennings) [1202860 1185166] {CVE-2015-1805} - [net] ipv4: Missing sk_nulls_node_init in ping_unhash (Denys Vlasenko) [1218102 1218103] {CVE-2015-3636} - [net] conntrack: RFC5961 challenge ACK confuse conntrack LAST-ACK transition (Jesper Brouer) [1227467 1227468 1212801 1200541] - [net] tcp: Restore RFC5961-compliant behavior for SYN packets (Jesper Brouer) [1227467 1227468 1212801 1200541] - [x86] kernel: ignore NMI IOCK when in kdump kernel (Jerry Snitselaar) [1225054 1196263] - [x86] asm/entry/64: Remove a bogus 'ret_from_fork' optimization (Mateusz Guzik) [1209232 1209233] {CVE-2015-2830} - [fs] gfs2: try harder to obtain journal lock during recovery (Abhijith Das) [1222588 1110846] - [x86] perf: Add cpu_ for core_pmu (Jiri Olsa) [1219149 1188336] - [x86] mm: Linux stack ASLR implementation (Jacob Tanenbaum) [1195682 1195683] {CVE-2015-1593} - [fs] xfs: DIO write completion size updates race (Brian Foster) [1218499 1198440] - [net] ipv6: Don't reduce hop limit for an interface (Denys Vlasenko) [1208492 1208493] - [net] vlan: more careful checksum features handling (Vlad Yasevich) [1221844 1212384] - [kernel] tracing: Export tracing clock functions (Jerry Snitselaar) [1217986 1212502] - [edac] sb_edac: fix corruption/crash on imbalanced Haswell home agents (Seth Jennings) [1213468 1210148] - [netdrv] tun: Fix csum_start with VLAN acceleration (Jason Wang) [1217189 1036482] - [netdrv] tun: unbreak truncated packet signalling (Jason Wang) [1217189 1036482] - [netdrv] tuntap: hardware vlan tx support (Jason Wang) [1217189 1036482] - [vhost] vhost-net: fix handle_rx buffer size (Jason Wang) [1217189 1036482] - [netdrv] ixgbe: fix X540 Completion timeout (John Greene) [1215855 1150343] - [char] tty: drop driver reference in tty_open fail path (Mateusz Guzik) [1201893 1201894] - [netdrv] macvtap: Fix csum_start when VLAN tags are present (Vlad Yasevich) [1215914 1123697] - [netdrv] macvtap: signal truncated packets (Vlad Yasevich) [1215914 1123697] - [netdrv] macvtap: restore vlan header on user read (Vlad Yasevich) [1215914 1123697] - [netdrv] macvlan: Initialize vlan_features to turn on offload support (Vlad Yasevich) [1215914 1123697] - [netdrv] macvlan: Add support for 'always_on' offload features (Vlad Yasevich) [1215914 1123697] - [netdrv] mactap: Fix checksum errors for non-gso packets in bridge mode (Vlad Yasevich) [1215914 1123697] - [netdrv] revert "macvlan: fix checksums error when we are in bridge mode" (Vlad Yasevich) [1215914 1123697] - [net] core: Correctly set segment mac_len in skb_segment() (Vlad Yasevich) [1215914 1123697] - [net] core: generalize skb_segment() (Vlad Yasevich) [1215914 1123697] - [net] core: Add skb_headers_offset_update helper function (Vlad Yasevich) [1215914 1123697] - [netdrv] ixgbe: Correctly disable VLAN filter in promiscuous mode (Vlad Yasevich) [1215914 1123697] - [netdrv] ixgbe: remove vlan_filter_disable and enable functions (Vlad Yasevich) [1215914 1123697] - [netdrv] qlge: Fix TSO for non-accelerated vlan traffic (Vlad Yasevich) [1215914 1123697] - [netdrv] i40evf: Fix TSO and hw checksums for non-accelerated vlan packets (Vlad Yasevich) [1215914 1123697] - [netdrv] i40e: Fix TSO and hw checksums for non-accelerated vlan packets (Vlad Yasevich) [1215914 1123697] - [netdrv] ehea: Fix TSO and hw checksums with non-accelerated vlan packets (Vlad Yasevich) [1215914 1123697] - [netdrv] e1000: Fix TSO for non-accelerated vlan traffic (Vlad Yasevich) [1215914 1123697] - [kernel] ipc: sysv shared memory limited to 8TiB (George Beshers) [1224301 1171218] - [mm] hugetlb: improve page-fault scalability (Larry Woodman) [1212300 1120365] - [netdrv] hyperv: Fix the total_data_buflen in send path (Jason Wang) [1222556 1132918] - [crypto] drbg: fix maximum value checks on 32 bit systems (Herbert Xu) [1225950 1219907] - [crypto] drbg: remove configuration of fixed values (Herbert Xu) [1225950 1219907]- [netdrv] mlx4_en: current_mac isn't updated in port up (Amir Vadai) [1224383 1081667] - [netdrv] mlx4_en: Fix mac_hash database inconsistency (Amir Vadai) [1224383 1081667] - [netdrv] mlx4_en: Protect MAC address modification with the state_lock mutex (Amir Vadai) [1224383 1081667] - [netdrv] mlx4_en: Fix errors in MAC address changing when port is down (Amir Vadai) [1224383 1081667] - [netdrv] mlx4: Verify port number in __mlx4_unregister_mac (Amir Vadai) [1224383 1081667] - [netdrv] mlx4_en: Adding missing initialization of perm_addr (Amir Vadai) [1225489 1120930]- [kernel] sched: Fix clock_gettime(CLOCK_[PROCESS/THREAD]_CPUTIME_ID) monotonicity (Seth Jennings) [1219501 1140024] - [kernel] sched: Replace use of entity_key() (Larry Woodman) [1219123 1124603]- [net] ipvs: allow rescheduling of new connections when port reuse is detected (Marcelo Leitner) [1222771 1108514] - [net] ipvs: Fix reuse connection if real server is dead (Marcelo Leitner) [1222771 1108514] - [netdrv] bonding: fix locking in enslave failure path (Nikolay Aleksandrov) [1222483 1221856] - [netdrv] bonding: primary_slave & curr_active_slave are not cleaned on enslave failure (Nikolay Aleksandrov) [1222483 1221856] - [netdrv] bonding: vlans don't get deleted on enslave failure (Nikolay Aleksandrov) [1222483 1221856] - [netdrv] bonding: mc addresses don't get deleted on enslave failure (Nikolay Aleksandrov) [1222483 1221856] - [netdrv] bonding: IFF_BONDING is not stripped on enslave failure (Nikolay Aleksandrov) [1222483 1221856] - [netdrv] bonding: fix error handling if slave is busy v2 (Nikolay Aleksandrov) [1222483 1221856]- [mm] readahead: get back a sensible upper limit (Rafael Aquini) [1215755 1187940]- [x86] crypto: sha256_ssse3 - fix stack corruption with SSSE3 and AVX implementations (Herbert Xu) [1218681 1201490] - [scsi] storvsc: ring buffer failures may result in I/O freeze (Vitaly Kuznetsov) [1215754 1171676] - [scsi] storvsc: get rid of overly verbose warning messages (Vitaly Kuznetsov) [1215753 1167967] - [scsi] storvsc: NULL pointer dereference fix (Vitaly Kuznetsov) [1215753 1167967] - [netdrv] ixgbe: fix detection of SFP+ capable interfaces (John Greene) [1213664 1150343] - [x86] crypto: aesni - fix memory usage in GCM decryption (Kurt Stutsman) [1213329 1213330] {CVE-2015-3331}- [kernel] hrtimer: Prevent hrtimer_enqueue_reprogram race (Prarit Bhargava) [1211940 1136958] - [kernel] hrtimer: Preserve timer state in remove_hrtimer() (Prarit Bhargava) [1211940 1136958] - [crypto] testmgr: fix RNG return code enforcement (Herbert Xu) [1212695 1208804] - [net] netfilter: xtables: make use of caller family rather than target family (Florian Westphal) [1212057 1210697] - [net] dynticks: avoid flow_cache_flush() interrupting every core (Marcelo Leitner) [1210595 1191559] - [tools] perf: Fix race in build_id_cache__add_s() (Milos Vyletel) [1210593 1204102] - [infiniband] ipath+qib: fix dma settings (Doug Ledford) [1208621 1171803] - [fs] dcache: return -ESTALE not -EBUSY on distributed fs race (J. Bruce Fields) [1207815 1061994] - [net] neigh: Keep neighbour cache entries if number of them is small enough (Jiri Pirko) [1207352 1199856] - [x86] crypto: sha256_ssse3 - also test for BMI2 (Herbert Xu) [1204736 1201560] - [scsi] qla2xxx: fix race in handling rport deletion during recovery causes panic (Chad Dupuis) [1203544 1102902] - [redhat] configs: Enable SSSE3 acceleration by default (Herbert Xu) [1201668 1036216] - [crypto] sha512: Create module providing optimized SHA512 routines using SSSE3, AVX or AVX2 instructions (Herbert Xu) [1201668 1036216] - [crypto] sha512: Optimized SHA512 x86_64 assembly routine using AVX2 RORX instruction (Herbert Xu) [1201668 1036216] - [crypto] sha512: Optimized SHA512 x86_64 assembly routine using AVX instructions (Herbert Xu) [1201668 1036216] - [crypto] sha512: Optimized SHA512 x86_64 assembly routine using Supplemental SSE3 instructions (Herbert Xu) [1201668 1036216] - [crypto] sha512: Expose generic sha512 routine to be callable from other modules (Herbert Xu) [1201668 1036216] - [crypto] sha256: Create module providing optimized SHA256 routines using SSSE3, AVX or AVX2 instructions (Herbert Xu) [1201668 1036216] - [crypto] sha256: Optimized sha256 x86_64 routine using AVX2's RORX instructions (Herbert Xu) [1201668 1036216] - [crypto] sha256: Optimized sha256 x86_64 assembly routine with AVX instructions (Herbert Xu) [1201668 1036216] - [crypto] sha256: Optimized sha256 x86_64 assembly routine using Supplemental SSE3 instructions (Herbert Xu) [1201668 1036216] - [crypto] sha256: Expose SHA256 generic routine to be callable externally (Herbert Xu) [1201668 1036216] - [crypto] rng: RNGs must return 0 in success case (Herbert Xu) [1201669 1199230] - [fs] isofs: infinite loop in CE record entries (Jacob Tanenbaum) [1175243 1175245] {CVE-2014-9420} - [x86] vdso: ASLR bruteforce possible for vdso library (Jacob Tanenbaum) [1184896 1184897] {CVE-2014-9585} - [kernel] time: ntp: Correct TAI offset during leap second (Prarit Bhargava) [1201674 1199134] - [scsi] lpfc: correct device removal deadlock after link bounce (Rob Evers) [1211910 1194793] - [scsi] lpfc: Linux lpfc driver doesn't re-establish the link after a cable pull on LPe12002 (Rob Evers) [1211910 1194793] - [x86] switch_to(): Load TLS descriptors before switching DS and ES (Denys Vlasenko) [1177353 1177354] {CVE-2014-9419} - [net] vlan: Don't propagate flag changes on down interfaces (Jiri Pirko) [1173501 1135347] - [net] bridge: register vlan group for br ports (Jiri Pirko) [1173501 1135347] - [netdrv] tg3: Use new VLAN code (Jiri Pirko) [1173501 1135347] - [netdrv] be2net: move to new vlan model (Jiri Pirko) [1173501 1135347] - [net] vlan: mask vlan prio bits (Jiri Pirko) [1173501 1135347] - [net] vlan: don't deliver frames for unknown vlans to protocols (Jiri Pirko) [1173501 1135347] - [net] vlan: allow nested vlan_do_receive() (Jiri Pirko) [1173501 1135347] - [net] allow vlan traffic to be received under bond (Jiri Pirko) [1173501 1135347] - [net] vlan: goto another_round instead of calling __netif_receive_skb (Jiri Pirko) [1173501 1135347] - [net] bonding: fix bond_arp_rcv setting and arp validate desync state (Jiri Pirko) [1173501 1135347] - [net] bonding: remove packet cloning in recv_probe() (Jiri Pirko) [1173501 1135347] - [net] bonding: Fix LACPDU rx_dropped commit (Jiri Pirko) [1173501 1135347] - [net] bonding: don't increase rx_dropped after processing LACPDUs (Jiri Pirko) [1173501 1135347] - [net] bonding: use local function pointer of bond->recv_probe in bond_handle_frame (Jiri Pirko) [1173501 1135347] - [net] bonding: move processing of recv handlers into handle_frame() (Jiri Pirko) [1173501 1135347] - [netdrv] revert "bonding: fix bond_arp_rcv setting and arp validate desync state" (Jiri Pirko) [1173501 1135347] - [netdrv] revert "bonding: check for vlan device in bond_3ad_lacpdu_recv()" (Jiri Pirko) [1173501 1135347] - [net] vlan: Always untag vlan-tagged traffic on input (Jiri Pirko) [1173501 1135347] - [net] Make skb->skb_iif always track skb->dev (Jiri Pirko) [1173501 1135347] - [net] vlan: fix a potential memory leak (Jiri Pirko) [1173501 1135347] - [net] vlan: fix mac_len recomputation in vlan_untag() (Jiri Pirko) [1173501 1135347] - [net] vlan: reset headers on accel emulation path (Jiri Pirko) [1173501 1135347] - [net] vlan: Fix the ingress VLAN_FLAG_REORDER_HDR check (Jiri Pirko) [1173501 1135347] - [net] vlan: make non-hw-accel rx path similar to hw-accel (Jiri Pirko) [1173501 1135347] - [net] allow handlers to be processed for orig_dev (Jiri Pirko) [1173501 1135347] - [net] bonding: get netdev_rx_handler_unregister out of locks (Jiri Pirko) [1173501 1135347] - [net] bonding: fix rx_handler locking (Jiri Pirko) [1173501 1135347] - [net] introduce rx_handler results and logic around that (Jiri Pirko) [1173501 1135347] - [net] bonding: register slave pointer for rx_handler (Jiri Pirko) [1173501 1135347] - [net] bonding: COW before overwriting the destination MAC address (Jiri Pirko) [1173501 1135347] - [net] bonding: convert bonding to use rx_handler (Jiri Pirko) [1173501 1135347] - [net] openvswitch: use rx_handler_data pointer to store vport pointer (Jiri Pirko) [1173501 1135347] - [net] add a synchronize_net() in netdev_rx_handler_unregister() (Jiri Pirko) [1173501 1135347] - [net] add rx_handler data pointer (Jiri Pirko) [1173501 1135347] - [net] replace hooks in __netif_receive_skb (Jiri Pirko) [1173501 1135347] - [net] fix conflict between null_or_orig and null_or_bond (Jiri Pirko) [1173501 1135347] - [net] remove the unnecessary dance around skb_bond_should_drop (Jiri Pirko) [1173501 1135347] - [net] revert "bonding: fix receiving of dups due vlan hwaccel" (Jiri Pirko) [1173501 1135347] - [net] uninline skb_bond_should_drop() (Jiri Pirko) [1173501 1135347] - [net] bridge: Set vlan_features to allow offloads on vlans (Jiri Pirko) [1173501 1135347] - [net] bridge: convert br_features_recompute() to ndo_fix_features (Jiri Pirko) [1173501 1135347] - [net] revert "bridge: explictly tag vlan-accelerated frames destined to the host" (Jiri Pirko) [1173501 1135347] - [net] revert "fix vlan gro path" (Jiri Pirko) [1173501 1135347] - [net] revert "bridge: do not learn from exact matches" (Jiri Pirko) [1173501 1135347] - [net] revert "bridge gets duplicate packets when using vlan over bonding" (Jiri Pirko) [1173501 1135347] - [net] llc: remove noisy WARN from llc_mac_hdr_init (Jiri Pirko) [1173501 1135347] - [net] bridge: stp: ensure mac header is set (Jiri Pirko) [1173501 1135347] - [net] vlan: remove reduntant check in ndo_fix_features callback (Jiri Pirko) [1173501 1135347] - [net] vlan: enable soft features regardless of underlying device (Jiri Pirko) [1173501 1135347] - [net] vlan: don't call ndo_vlan_rx_register on hardware that doesn't have vlan support (Jiri Pirko) [1173501 1135347] - [net] vlan: Fix vlan_features propagation (Jiri Pirko) [1173501 1135347] - [net] vlan: convert VLAN devices to use ndo_fix_features() (Jiri Pirko) [1173501 1135347] - [net] revert "vlan: Avoid broken offload configuration when reorder_hdr is disabled" (Jiri Pirko) [1173501 1135347] - [net] vlan: vlan device is lockless do not transfer real_num__queues (Jiri Pirko) [1173501 1135347] - [net] vlan: consolidate 8021q tagging (Jiri Pirko) [1173501 1135347] - [net] propagate NETIF_F_HIGHDMA to vlans (Jiri Pirko) [1173501 1135347] - [net] Fix a memmove bug in dev_gro_receive() (Jiri Pirko) [1173501 1135347] - [net] vlan: remove check for headroom in vlan_dev_create (Jiri Pirko) [1173501 1135347] - [net] vlan: set hard_header_len when VLAN offload features are toggled (Jiri Pirko) [1173501 1135347] - [net] vlan: Calling vlan_hwaccel_do_receive() is always valid (Jiri Pirko) [1173501 1135347] - [net] vlan: Centralize handling of hardware acceleration (Jiri Pirko) [1173501 1135347] - [net] vlan: finish removing vlan_find_dev from public header (Jiri Pirko) [1173501 1135347] - [net] vlan: make vlan_find_dev private (Jiri Pirko) [1173501 1135347] - [net] vlan: Avoid hash table lookup to find group (Jiri Pirko) [1173501 1135347] - [net] revert "vlan: Add helper functions to manage vlans on bonds and slaves" (Jiri Pirko) [1173501 1135347] - [net] revert "bonding: assign slaves their own vlan_groups" (Jiri Pirko) [1173501 1135347] - [net] revert "bonding: fix regression on vlan module removal" (Jiri Pirko) [1173501 1135347] - [net] revert "bonding: Always add vid to new slave group" (Jiri Pirko) [1173501 1135347] - [net] revert "bonding: Fix up refcounting issues with bond/vlan config" (Jiri Pirko) [1173501 1135347] - [net] revert "8021q/vlan: filter device events on bonds" (Jiri Pirko) [1173501 1135347] - [net] vlan: Use vlan_dev_real_dev in vlan_hwaccel_do_receive (Jiri Pirko) [1173501 1135347] - [net] gro: __napi_gro_receive() optimizations (Jiri Pirko) [1173501 1135347] - [net] vlan: Rename VLAN_GROUP_ARRAY_LEN to VLAN_N_VID (Jiri Pirko) [1173501 1135347] - [net] vlan: make vlan_hwaccel_do_receive() return void (Jiri Pirko) [1173501 1135347] - [net] vlan: init_vlan should not copy slave or master flags (Jiri Pirko) [1173501 1135347] - [net] vlan: updates vlan real_num_tx_queues (Jiri Pirko) [1173501 1135347] - [net] vlan: adds vlan_dev_select_queue (Jiri Pirko) [1173501 1135347] - [net] llc: use dev_hard_header (Jiri Pirko) [1173501 1135347] - [net] vlan: support "loose binding" to the underlying network device (Jiri Pirko) [1173501 1135347] - [net] revert "net: don't set VLAN_TAG_PRESENT for VLAN 0 frames" (Jiri Pirko) [1173501 1135347] - [net] bridge: Add support for TX vlan offload (Jiri Pirko) [1173562 1146391] - [net] revert "bridge: Set vlan_features to allow offloads on vlans" (Vlad Yasevich) [1144442 1121991]- [netdrv] ixgbe: Fix memory leak in ixgbe_free_q_vector, missing rcu (John Greene) [1210901 1150343] - [netdrv] ixgbe: Fix tx_packets and tx_bytes stats not updating (John Greene) [1210901 1150343] - [netdrv] qlcnic: Fix update of ethtool stats (Chad Dupuis) [1210902 1148019]- [fs] exec: do not abuse ->cred_guard_mutex in threadgroup_lock() (Petr Oros) [1208620 1169225] - [kernel] cgroup: always lock threadgroup during migration (Petr Oros) [1208620 1169225] - [kernel] threadgroup: extend threadgroup_lock() to cover exit and exec (Petr Oros) [1208620 1169225] - [kernel] threadgroup: rename signal->threadgroup_fork_lock to ->group_rwsem (Petr Oros) [1208620 1169225]- [mm] memcg: fix crash in re-entrant cgroup_clear_css_refs() (Johannes Weiner) [1204626 1168185]- [fs] cifs: Use key_invalidate instead of the rh_key_invalidate() (Sachin Prabhu) [1203366 885899] - [fs] KEYS: Add invalidation support (Sachin Prabhu) [1203366 885899] - [infiniband] core: Prevent integer overflow in ib_umem_get address arithmetic (Doug Ledford) [1181173 1179327] {CVE-2014-8159}- [x86] fpu: shift clear_used_math() from save_i387_xstate() to handle_signal() (Oleg Nesterov) [1199900 1196262] - [x86] fpu: change save_i387_xstate() to rely on unlazy_fpu() (Oleg Nesterov) [1199900 1196262]- [fs] gfs2: Move gfs2_file_splice_write outside of #ifdef (Robert S Peterson) [1198329 1193559] - [security] keys: close race between key lookup and freeing (Radomir Vrbovsky) [1179849 1179850] {CVE-2014-9529} - [net] sctp: fix slab corruption from use after free on INIT collisions (Daniel Borkmann) [1196587 1135425] {CVE-2015-1421} - [fs] gfs2: Allocate reservation during splice_write (Robert S Peterson) [1198329 1193559] - [fs] nfs: Be less aggressive about returning delegations for open files (Steve Dickson) [1196314 1145334] - [fs] nfs: Avoid PUTROOTFH when managing leases (Benjamin Coddington) [1196313 1143013] - [crypto] testmgr: mark rfc4106(gcm(aes)) as fips_allowed (Jarod Wilson) [1194983 1185395] - [crypto] Extending the RFC4106 AES-GCM test vectors (Jarod Wilson) [1194983 1185395] - [char] raw: Return short read or 0 at end of a raw device, not EIO (Jeff Moyer) [1195747 1142314] - [scsi] hpsa: Use local workqueues instead of system workqueues - part1 (Tomas Henzl) [1193639 1134115] - [x86] kvm: vmx: invalid host cr4 handling across vm entries (Jacob Tanenbaum) [1153326 1153327] {CVE-2014-3690} - [fs] isofs: Fix unchecked printing of ER records (Radomir Vrbovsky) [1180481 1180492] {CVE-2014-9584} - [fs] bio: fix argument of __bio_add_page() for max_sectors > 0xffff (Fam Zheng) [1198428 1166763] - [media] ttusb-dec: buffer overflow in ioctl (Alexander Gordeev) [1170971 1167115] {CVE-2014-8884} - [kernel] trace: insufficient syscall number validation in perf and ftrace subsystems (Jacob Tanenbaum) [1161567 1161568] {CVE-2014-7826 CVE-2014-7825} - [fs] nfs: Fix a delegation callback race (Dave Wysochanski) [1187639 1149831] - [fs] nfs: Don't use the delegation->inode in nfs_mark_return_delegation() (Dave Wysochanski) [1187639 1149831] - [infiniband] ipoib: don't queue a work struct up twice (Doug Ledford) [1187664 1187666 1184072 1159925] - [infiniband] ipoib: make sure we reap all our ah on shutdown (Doug Ledford) [1187664 1187666 1184072 1159925] - [infiniband] ipoib: cleanup a couple debug messages (Doug Ledford) [1187664 1187666 1184072 1159925] - [infiniband] ipoib: flush the ipoib_workqueue on unregister (Doug Ledford) [1187664 1187666 1184072 1159925] - [infiniband] ipoib: fix ipoib_mcast_restart_task (Doug Ledford) [1187664 1187666 1184072 1159925] - [infiniband] ipoib: fix race between mcast_dev_flush and mcast_join (Doug Ledford) [1187664 1187666 1184072 1159925] - [infiniband] ipoib: remove unneeded locks (Doug Ledford) [1187664 1187666 1184072 1159925] - [infiniband] ipoib: don't restart our thread on ENETRESET (Doug Ledford) [1187664 1187666 1184072 1159925] - [infiniband] ipoib: Handle -ENETRESET properly in our callback (Doug Ledford) [1187664 1187666 1184072 1159925] - [infiniband] ipoib: make delayed tasks not hold up everything (Doug Ledford) [1187664 1187666 1184072 1159925] - [infiniband] ipoib: Add a helper to restart the multicast task (Doug Ledford) [1187664 1187666 1184072 1159925] - [infiniband] ipoib: fix IPOIB_MCAST_RUN flag usage (Doug Ledford) [1187664 1187666 1184072 1159925] - [infiniband] ipoib: Remove unnecessary port query (Doug Ledford) [1187664 1187666 1184072 1159925] - [x86] kvm: Avoid pagefault in kvm_lapic_sync_to_vapic (Paolo Bonzini) [1192055 1116398] - [s390] kernel: fix cpu target address of directed yield (Hendrik Brueckner) [1188339 1180061] - [mm] memcg: do not allow task about to OOM kill to bypass the limit (Johannes Weiner) [1198110 1088334] {CVE-2014-8171} - [mm] memcg: do not declare OOM from __GFP_NOFAIL allocations (Johannes Weiner) [1198110 1088334] {CVE-2014-8171} - [fs] buffer: move allocation failure loop into the allocator (Johannes Weiner) [1198110 1088334] {CVE-2014-8171} - [mm] memcg: handle non-error OOM situations more gracefully (Johannes Weiner) [1198110 1088334] {CVE-2014-8171} - [mm] memcg: do not trap chargers with full callstack on OOM (Johannes Weiner) [1198110 1088334] {CVE-2014-8171} - [mm] memcg: rework and document OOM waiting and wakeup (Johannes Weiner) [1198110 1088334] {CVE-2014-8171} - [mm] memcg: enable memcg OOM killer only for user faults (Johannes Weiner) [1198110 1088334] {CVE-2014-8171} - [x86] mm: finish user fault error path with fatal signal (Johannes Weiner) [1198110 1088334] {CVE-2014-8171} - [mm] pass userspace fault flag to generic fault handler (Johannes Weiner) [1198110 1088334] {CVE-2014-8171} - [s390] mm: do not invoke OOM killer on kernel fault OOM (Johannes Weiner) [1198110 1088334] {CVE-2014-8171} - [powerpc] mm: remove obsolete init OOM protection (Johannes Weiner) [1198110 1088334] {CVE-2014-8171} - [powerpc] mm: invoke oom-killer from remaining unconverted page fault handlers (Johannes Weiner) [1198110 1088334] {CVE-2014-8171} - [security] selinux: Permit bounded transitions under NO_NEW_PRIVS or NOSUID (Denys Vlasenko) [1104567 1104568] {CVE-2014-3215} - [security] Add PR__NO_NEW_PRIVS to prevent execve from granting privs (Denys Vlasenko) [1104567 1104568] {CVE-2014-3215}- [netdrv] ixgbe: remove CIAA/D register reads from bad VF check (John Greene) [1196312 1156061] - [pci] Make FLR and AF FLR reset warning messages different (Myron Stowe) [1192365 1184540] - [pci] Fix unaligned access in AF transaction pending test (Myron Stowe) [1192365 1184540] - [pci] Merge multi-line quoted strings (Myron Stowe) [1192365 1184540] - [pci] Wrong register used to check pending traffic (Myron Stowe) [1192365 1184540] - [pci] Add pci_wait_for_pending() -- refactor pci_wait_for_pending_transaction() (Myron Stowe) [1192365 1184540] - [pci] Use pci_wait_for_pending_transaction() instead of for loop (Myron Stowe) [1192365 1184540] - [pci] Add pci_wait_for_pending_transaction() (Myron Stowe) [1192365 1184540] - [pci] Wait for pending transactions to complete before 82599 FLR (Myron Stowe) [1192365 1184540] - [scsi] storvsc: fix a bug in storvsc limits (Vitaly Kuznetsov) [1196532 1174168]- [s390] crypto: kernel oops at insmod of the z90crypt device driver (Hendrik Brueckner) [1191916 1172137] - [sound] alsa: usb-audio: Fix crash at re-preparing the PCM stream (Jerry Snitselaar) [1192105 1167059] - [usb] ehci: bugfix: urb->hcpriv should not be NULL (Jerry Snitselaar) [1192105 1167059] - [mm] mmap: uncached vma support with writenotify (Jerry Snitselaar) [1192105 1167059] - [kernel] futex: Mention key referencing differences between shared and private futexes (Larry Woodman) [1192107 1167405] - [kernel] futex: Ensure get_futex_key_refs() always implies a barrier (Larry Woodman) [1192107 1167405]- [netdrv] enic: fix rx skb checksum (Stefan Assmann) [1189068 1115505] - [scsi] Revert "fix our current target reap infrastructure" (David Milburn) [1188941 1168072] - [scsi] Revert "dual scan thread bug fix" (David Milburn) [1188941 1168072] - [net] tcp: do not copy headers in tcp_collapse() (Alexander Duyck) [1188838 1156289] - [net] tcp: use tcp_flags in tcp_data_queue() (Alexander Duyck) [1188838 1156289] - [net] tcp: use TCP_SKB_CB(skb)->tcp_flags in input path (Alexander Duyck) [1188838 1156289] - [net] tcp: remove unused tcp_fin() parameters (Alexander Duyck) [1188838 1156289] - [net] tcp: rename tcp_skb_cb flags (Alexander Duyck) [1188838 1156289] - [net] tcp: unify tcp flag macros (Alexander Duyck) [1188838 1156289] - [net] tcp: unalias tcp_skb_cb flags and ip_dsfield (Alexander Duyck) [1188838 1156289]- [fs] splice: perform generic write checks (Eric Sandeen) [1163798 1155900] {CVE-2014-7822}- [virt] kvm: excessive pages un-pinning in kvm_iommu_map error path (Jacob Tanenbaum) [1156520 1156521] {CVE-2014-8369} - [x86] crypto: Add support for 192 & 256 bit keys to AESNI RFC4106 (Jarod Wilson) [1184332 1176211] - [block] nvme: Clear QUEUE_FLAG_STACKABLE (David Milburn) [1180555 1155715] - [net] netfilter: conntrack: disable generic tracking for known protocols (Daniel Borkmann) [1182071 1114697] {CVE-2014-8160} - [xen] pvhvm: Fix vcpu hotplugging hanging (Vitaly Kuznetsov) [1179343 1164278] - [xen] pvhvm: Don't point per_cpu(xen_vpcu, 33 and larger) to shared_info (Vitaly Kuznetsov) [1179343 1164278] - [xen] enable PVHVM VCPU placement when using more than 32 CPUs (Vitaly Kuznetsov) [1179343 1164278] - [xen] support large numbers of CPUs with vcpu info placement (Vitaly Kuznetsov) [1179343 1164278]- [netdrv] tg3: Change nvram command timeout value to 50ms (Ivan Vecera) [1182903 1176230]- [net] ipv6: increase ip6_rt_max_size to 16384 (Hannes Frederic Sowa) [1177581 1112946] - [net] ipv6: don't set DST_NOCOUNT for remotely added routes (Hannes Frederic Sowa) [1177581 1112946] - [net] ipv6: don't count addrconf generated routes against gc limit (Hannes Frederic Sowa) [1177581 1112946] - [net] ipv6: Don't put artificial limit on routing table size (Hannes Frederic Sowa) [1177581 1112946] - [scsi] bnx2fc: fix tgt spinlock locking (Maurizio Lombardi) [1179098 1079656]- [crypto] crc32c: Kill pointless CRYPTO_CRC32C_X86_64 option (Jarod Wilson) [1175509 1036212] - [crypto] testmgr: add larger crc32c test vector to test FPU path in crc32c_intel (Jarod Wilson) [1175509 1036212] - [crypto] tcrypt: Added speed test in tcrypt for crc32c (Jarod Wilson) [1175509 1036212] - [crypto] crc32c: Optimize CRC32C calculation with PCLMULQDQ instruction (Jarod Wilson) [1175509 1036212] - [crypto] crc32c: Rename crc32c-intel.c to crc32c-intel_glue.c (Jarod Wilson) [1175509 1036212]- [kernel] ipc/sem: Fully initialize sem_array before making it visible (Rik van Riel) [1172029 1165277] - [kernel] ipc/sem: synchronize semop and semctl with IPC_RMID (Rik van Riel) [1172029 1165277] - [kernel] ipc/sem: update sem_otime for all operations (Larry Woodman) [1172025 1168588] - [fs] fuse: prevent null nd panic on dentry revalidate (Brian Foster) [1172022 1162782] - [net] netfilter: ipset: timeout values corrupted on set resize (Marcelo Leitner) [1172764 1152754] - [net] netfilter: fix xt_TCPOPTSTRIP in forwarding path (Marcelo Leitner) [1172027 1135650] - [usb] ehci: Fix panic on hotplug race condition (Don Zickus) [1172024 1107010] - [usb] usb_wwan: replace release and disconnect with a port_remove hook (Stanislaw Gruszka) [1172030 1148615] - [x86] traps: stop using IST for #SS (Petr Matousek) [1172810 1172811] {CVE-2014-9322}- [fs] ext4: don't count external journal blocks as overhead (Eric Sandeen) [1168504 1163811] - [net] sctp: fix NULL pointer dereference in af->from_addr_param on malformed packet (Daniel Borkmann) [1163090 1153980] {CVE-2014-7841} - [netdrv] e100: fix typo in MDI/MDI-X eeprom check in e100_phy_init (John Greene) [1165985 1156417] - [powerpc] Add smp_mb()s to arch_spin_unlock_wait() (Gustavo Duarte) [1165986 1136224] - [powerpc] Add smp_mb() to arch_spin_is_locked() (Gustavo Duarte) [1165986 1136224] - [kernel] cpuset: PF_SPREAD_PAGE and PF_SPREAD_SLAB should be atomic flags (Aaron Tomlin) [1165002 1045310] - [documentation] cpuset: Update the cpuset flag file (Aaron Tomlin) [1165002 1045310] - [alsa] control: Make sure that id->index does not overflow (Jacob Tanenbaum) [1149140 1117312] {CVE-2014-4656} - [alsa] control: Handle numid overflow (Jacob Tanenbaum) [1149140 1117312] {CVE-2014-4656} - [s390] mm: fix SIGBUS handling (Hendrik Brueckner) [1169433 1145070] - [fs] gfs2: fix bad inode i_goal values during block allocation (Abhijith Das) [1165001 1130684] - [md] dm-thin: fix pool_io_hints to avoid looking at max_hw_sectors (Mike Snitzer) [1161420 1161421 1142773 1145230]- [fs] nfsd: don't halt scanning the DRC LRU list when there's an RC_INPROG entry (J. Bruce Fields) [1168129 1150675]- [fs] nfs: Make sure pre_change_attr is initialized correctly (Scott Mayhew) [1163214 1160042] - [usb] ehci: Fix a regression in the ISO scheduler (Gustavo Duarte) [1162072 1145805]- [s390] zcrypt: toleration of new crypto adapter hardware (Hendrik Brueckner) [1158311 1134984] - [s390] zcrypt: support for extended number of ap domains (Hendrik Brueckner) [1158311 1134984] - [md] dm-thin: fix potential for infinite loop in pool_io_hints (Mike Snitzer) [1161420 1161421 1142773 1145230]- [fs] udf: Avoid infinite loop when processing indirect ICBs (Jacob Tanenbaum) [1142319 1142320] {CVE-2014-6410} - [fs] isofs: unbound recursion when processing relocated directories (Jacob Tanenbaum) [1142268 1142269] {CVE-2014-5472 CVE-2014-5471} - [net] ipv6: delete expired route in ip6_pmtu_deliver (Hannes Frederic Sowa) [1161418 1156137] - [net] sctp: fix remote memory pressure from excessive queueing (Daniel Borkmann) [1155746 1154676] {CVE-2014-3688} - [net] sctp: fix panic on duplicate ASCONF chunks (Daniel Borkmann) [1155733 1154676] {CVE-2014-3687} - [net] sctp: fix skb_over_panic when receiving malformed ASCONF chunks (Daniel Borkmann) [1147857 1154676] {CVE-2014-3673} - [net] sctp: handle association restarts when the socket is closed (Daniel Borkmann) [1147857 1154676] - [md] dm-thin: refactor requeue_io to eliminate spinlock bouncing (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] dm-thin: optimize retry_bios_on_resume (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] dm-thin: sort the deferred cells (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] dm-thin: direct dispatch when breaking sharing (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] dm-thin: remap the bios in a cell immediately (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] dm-thin: defer whole cells rather than individual bios (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] dm-thin: factor out remap_and_issue_overwrite (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] dm-thin: performance improvement to discard processing (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] dm-thin: grab a virtual cell before looking up the mapping (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] dm-thin: implement thin_merge (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] dm: improve documentation and code clarity in dm_merge_bvec (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] dm-thin: adjust max_sectors_kb based on thinp blocksize (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] block: fix alignment_offset math that assumes io_min is a power-of-2 (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] dm-thin: throttle incoming IO (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] dm-thin: prefetch missing metadata pages (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] dm-transaction-manager: add support for prefetching blocks of metadata (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] dm-thin-metadata: change dm_thin_find_block to allow blocking, but not issuing, IO (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] dm-bio-prison: switch to using a red black tree (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] dm-bufio: evict buffers that are past the max age but retain some buffers (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] dm-bufio: switch from a huge hash table to an rbtree (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] dm-bufio: update last_accessed when relinking a buffer (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] dm-bufio: use kzalloc when allocating dm_bufio_client (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] dm-thin-metadata: do not allow the data block size to change (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] dm-thin: cleanup noflush_work to use a proper completion (Mike Snitzer) [1161420 1161421 1142773 1145230] - [md] dm-thin: fix DMERR typo in pool_status error path (Mike Snitzer) [1161420 1161421 1142773 1145230] - [fs] xfs: xlog_cil_force_lsn doesn't always wait correctly (Eric Sandeen) [1158325 1133304] - [netdrv] ixgbe: allow TXDCTL.WRTHRESH to be 1 will small ITR values (John Greene) [1158326 1132267] - [netdrv] ixgbe: Intel Change to allow itr changes without CONFIG_BQL support (John Greene) [1158326 1132267] - [video] offb: Fix setting of the pseudo-palette for >8bpp (Gerd Hoffmann) [1158328 1142450] - [video] offb: Add palette hack for qemu "standard vga" framebuffer (Gerd Hoffmann) [1158328 1142450] - [video] offb: Fix bug in calculating requested vram size (Gerd Hoffmann) [1158328 1142450] - [net] sock_queue_err_skb() dont mess with sk_forward_alloc (Jiri Benc) [1155427 1148257] - [net] guard tcp_set_keepalive() to tcp sockets (Florian Westphal) [1141744 1141746] {CVE-2012-6657} - Revert: [net] revert "bridge: Set vlan_features to allow offloads on vlans" (Vlad Yasevich) [1144442 1121991] - [x86] kvm: fix PIT timer race condition (mguzik) [1149592 1149593] {CVE-2014-3611} - [x86] kvm: vmx: handle invept and invvpid vm exits gracefull (mguzik) [1144826 1144837 1144827 1144838] {CVE-2014-3646 CVE-2014-3645}- [fs] call d_op->d_hash on last component of umount path (Abhijith Das) [1145193 1129712] - [usb] serial: memory corruption flaw (Jacob Tanenbaum) [1141401 1141402] {CVE-2014-3185} - [char] ipmi: Clear drvdata when interface is removed (Tony Camuso) [1149578 1135910] - [char] ipmi: init shadow_ipmi_smi_handlers early in ipmi_si_intf (Tony Camuso) [1149580 1139464] - [net] ipsec: update MAX_AH_AUTH_LEN to support sha512 (Herbert Xu) [1149083 1140103] - [net] revert "bridge: Set vlan_features to allow offloads on vlans" (Vlad Yasevich) [1144442 1121991] - [netdrv] virtio-net: fix big buffer receiving (Jason Wang) [1148693 1144073] - [netdrv] tg3: prevent ifup/ifdown during PCI error recovery (Ivan Vecera) [1142570 1117009]- [netdrv] revert "cxgb4: set skb->rxhash" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Use netif_set_real_num_rx/tx_queues()" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Turn on delayed ACK" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Use ULP_MODE_TCPDDP" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Debugfs dump_qp() updates" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Drop peer_abort when no endpoint found" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Detect DB FULL events and notify RDMA ULD" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Common platform specific changes for DB Drop Recovery" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: DB Drop Recovery for RDMA and LLD queues" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Add debugfs RDMA memory stats" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Add DB Overflow Avoidance" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: DB Drop Recovery for RDMA and LLD queues" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Use vmalloc() for debugfs QP dump" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Remove kfifo usage" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Include vmalloc.h for vmalloc and vfree" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: set maximal number of default RSS queues" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Remove duplicate register definitions" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Update RDMA/cxgb4 due to macro definition removal in cxgb4 driver" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Move dereference below NULL test" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Fix incorrect values for MEMWIN*_APERTURE and MEMWIN*_BASE" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Add functions to read memory via PCIE memory window" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Code cleanup to enable T4 Configuration File support" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Add support for T4 configuration file" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Add support for T4 hardwired driver configuration settings" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Don't attempt to upgrade T4 firmware when cxgb4 will end up as a slave" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Fix error handling in create_qp()" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Dynamically allocate memory in t4_memory_rw() and get_vpd_params()" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Fix build error due to missing linux/vmalloc.h include" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: allocate enough data in t4_memory_rw()" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Address various sparse warnings" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Remove unnecessary #ifdef condition" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Don't free chunk that we have failed to allocate" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Fix unable to get UP event from the LLD" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Fix initialization of SGE_CONTROL register" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: use WARN" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Chelsio FCoE offload driver submission" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: remove __dev* attributes" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Add T4 filter support" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Add LE hash collision bug fix path in LLD driver" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Fix LE hash collision bug for active open connection" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Fix LE hash collision bug for passive open connection" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Fix bug for active and passive LE hash collision path" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Use netdev_ and pr_" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Fix incorrect PFVF CMASK" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Abort connections that receive unexpected streaming mode data" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Abort connections when moving to ERROR state" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Display streaming mode error only if detected in RTS" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Keep QP referenced until TID released" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Always log async errors" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Only log rx_data warnings if cpl status is non-zero" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Fix endpoint timeout race condition" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Don't reconnect on abort for mpa_rev 1" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Don't wakeup threads for MPAv2" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Insert hwtid in pass_accept_req instead in pass_establish" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Address sparse warnings" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: "cookie" can stay in host endianness" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Fix cast warning" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Allow for backward compatibility with new VPD scheme" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Add register definations for T5" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Add macros, structures and inline functions for T5" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Initialize T5" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Dump T5 registers" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Add T5 write combining support" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Enable doorbell drop recovery only for T4 adapter" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Add T5 debugfs support" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Add T5 PCI ids" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Update driver version and description" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Disable SR-IOV support for PF4-7 for T5" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Add Support for Chelsio T5 adapter" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Turn off db coalescing when RDMA QPs are in use" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Add module_params to enable DB FC & Coalescing on T5" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Use DSGLs for fastreg and adapter memory writes for T5" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Map pbl buffers for dma if using DSGL" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Bump tcam_full stat and WR reply timeout" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Fix onchip queue support for T5" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Fix error return code in create_qp()" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Fix SQ allocation when on-chip SQ is disabled" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Fix pci_device_id structure initialization with correct PF number" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Support CPL_SGE_EGR_UPDATEs encapsulated in a CPL_FW4_MSG" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Support CPL_SGE_EGR_UPDATEs encapsulated in a CPL_FW4_MSG" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: fix error recovery when t4_fw_hello returns a positive value" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Force uninitialized state if FW_ON_ADAPTER is < FW_VERSION and we're the MASTER_PF" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Correct comparisons and calculations using skb->tail and skb-transport_header" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Do not set net_device::dev_id to VI index" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Fix stack info leak in c4iw_create_qp()" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Add routines to create and remove listening IPv6 servers" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Add CLIP support to store compressed IPv6 address" (Prarit Bhargava) [1140743] - [infiniband] revert "cma: Add IPv6 support for iWARP" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Add support for active and passive open connection with IPv6 address" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Handle newer firmware changes" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Use correct bit shift macros for vlan filter tuples" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Fix QP flush logic" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Fix accounting for unsignaled SQ WRs to deal with wrap" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Set arp error handler for PASS_ACCEPT_RPL messages" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Always do GTS write if cidx_inc == CIDXINC_MASK" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Advertise ~0ULL as max MR size" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Issue RI.FINI before closing when entering TERM" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: remove workqueue when driver registration fails" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: remove unnecessary pci_set_drvdata()" (Prarit Bhargava) [1140743] - [netdrv] revert "cgxb4: remove duplicate include in cxgb4.h" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Much cleaner implementation of is_t4()/is_t5()" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: added much cleaner implementation of is_t4()" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Add new scheme to update T4/T5 firmware" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Fix formatting of physical address" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Make _c4iw_write_mem_dma() static" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: calls skb_set_hash" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Reserve stid 0 for T4/T5 adapters" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Include TCP as protocol when creating server filters" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Assign filter server TIDs properly" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Account for stid entries properly in case of IPv6" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Add API to correctly calculate tuple fields" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: make functions static and remove dead code" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Calculate the filter server TID properly" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Server filters are supported only for IPv4" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Use cxgb4_select_ntuple to correctly calculate ntuple fields" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: allow large buffer size to have page size" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Changed FW check version to match FW binary version" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: silence shift wrapping static checker warning" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Avoid disabling PCI device for towice" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Don't retrieve stats during recovery" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Fix gcc warning on 32-bit arch" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Fix referencing freed adapter" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Add missing neigh_release in LE-Workaround path" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Use pci_enable_msix_range() instead of pci_enable_msix()" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Add support to recognize 40G links" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Print adapter VPD Part Number instead of Engineering Change field" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Allow >10G ports to have multiple queues" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: LE-Workaround is not atomic in firmware" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Query firmware for T5 ULPTX MEMWRITE DSGL capabilities" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Remove unused registers and add missing ones" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Don't assume LSO only uses SGL path in t4_eth_xmit()" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Add more PCI device ids" (Prarit Bhargava) [1140743] - [netdrv] revert "cgxb4: Stop using ethtool SPEED_* constants" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: use remove handler as shutdown handler" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Fix some small bugs in t4_sge_init_soft() when our Page Size is 64KB" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Add code to dump SGE registers when hitting idma hangs" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Rectify emitting messages about SGE Ingress DMA channels being potentially stuck" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Updates for T5 SGE's Egress Congestion Threshold" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Calculate len properly for LSO path" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Treat CPL_ERR_KEEPALV_NEG_ADVICE as negative advice" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Doorbell Drop Avoidance Bug Fixes" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Fix underflows in c4iw_create_qp()" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Fix four byte info leak in c4iw_create_cq()" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Cap CQ size at T4_MAX_IQ_SIZE" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Allow loopback connections" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Always release neigh entry" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Fix incorrect BUG_ON conditions" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Mind the sq_sig_all/sq_sig_type QP attributes" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Default peer2peer mode to 1" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Save the correct map length for fast_reg_page_lists" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Don't leak skb in c4iw_uld_rx_handler()" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Fix possible memory leak in RX_PKT processing" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Ignore read reponse type 1 CQEs" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Connect_request_upcall fixes" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Update snd_seq when sending MPA messages" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Call dev_kfree/consume_skb_any instead of kfree_skb" (Prarit Bhargava) [1140743] - [netdrv] revert "cxbg4: Remove addressof casts to same type" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Adds device ID for few more Chelsio Adapters" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: set error code on kmalloc() failure" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Lock around accept/reject downcalls" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Drop RX_DATA packets if the endpoint is gone" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: rx_data() needs to hold the ep mutex" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Disable DSGL use by default" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Use the BAR2/WC path for kernel QPs and T5 devices" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Endpoint timeout fixes" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: rmb() after reading valid gen bit" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: SQ flush fix" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Max fastreg depth depends on DSGL support" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Use pr_warn_ratelimited" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Initialize reserved fields in a FW work request" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Add missing debug stats" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Use uninitialized_var()" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Fix over-dereference when terminating" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Save the correct mac addr for hw-loopback connections in the L2T" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: use the correct max size for firmware flash" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Fix endpoint mutex deadlocks" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Force T5 connections to use TAHOE congestion control" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Only allow kernel db ringing for T4 devs" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Update Kconfig to include Chelsio T5 adapter" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Decode PCIe Gen3 link speed" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Fix memory leaks in c4iw_alloc() error paths" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Fix vlan support" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: Add missing padding at end of struct c4iw_create_cq_resp" (Prarit Bhargava) [1140743] - [infiniband] revert "cxgb4: add missing padding at end of struct c4iw_alloc_ucontext_resp" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Decode the firmware port and module type a bit more for ethtool" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Check if rx checksum offload is enabled, while reading hardware calculated checksum" (Prarit Bhargava) [1140743] - [netdrv] revert "iw_cxgb4: Allocate and use IQs specifically for indirect interrupts" (Prarit Bhargava) [1140743] - [netdrv] revert "iw_cxgb4: Choose appropriate hw mtu index and ISS for iWARP connections" (Prarit Bhargava) [1140743] - [netdrv] revert "iw_cxgb4: don't truncate the recv window size" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Change default Interrupt Holdoff Packet Count Threshold" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Fixes cxgb4 probe failure in VM when PF is exposed through PCI Passthrough" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Use FW interface to get BAR0 value" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Replaced the backdoor mechanism to access the HW memory with PCIe Window method" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Adds device ID for few more Chelsio T4 Adapters" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: remove unnecessary null test before debugfs_remove_recursive" (Prarit Bhargava) [1140743] - [netdrv] revert "iw_cxgb4: Detect Ing. Padding Boundary at run-time" (Prarit Bhargava) [1140743] - [netdrv] revert "iw_cxgb4: use firmware ord/ird resource limits" (Prarit Bhargava) [1140743] - [netdrv] revert "iw_cxgb4: display TPTE on errors" (Prarit Bhargava) [1140743] - [netdrv] revert "iw_cxgb4: work request logging feature" (Prarit Bhargava) [1140743] - [netdrv] revert "iw_cxgb4: Move common defines to cxgb4" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Add the MC1 registers to read in the interrupt handler" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Fixed incorrect check for memory operation in t4_memory_rw" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: only free allocated fls" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Fix possible race condition in cleanup" (Prarit Bhargava) [1140743] - [infiniband] revert "iw_cxgb4: fix for 64-bit integer division" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Add core T4 PCI-E SR-IOV Virtual Function hardware definitions and device communication code" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Add T4 Virtual Function Scatter-Gather Engine DMA code" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Add main T4 PCI-E SR-IOV Virtual Function driver for cxgb4vf" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Add new Makefile for T4 PCI-E SR-IOV Virtual Function driver cxgb4vf" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Stitch new T4 PCI-E SR-IOV Virtual Function driver into the build" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Remove obsolete comment about the lack of a TX Timer Callback" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Use correct shift factor for extracting the SGE DMA Ingress Padding Boundary" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: remove obsolete DECLARE_PCI_UNMAP_ADDR usage" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Implement "Unhandled Interrupts" statistic" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: fix TX Queue restart" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: fix SGE resource resource deallocation bug" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Fix off-by-one error checking for the end of the mailbox delay array" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Fix bug where we were only allocating one queue in MSI mode" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: do not use PCI resources before pci_enable_device()" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Use netif_set_real_num_rx/tx_queues()" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: make single bit signed bitfields unsigned" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: remove call to stop TX queues at load time" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: don't implement trivial (and incorrect) ndo_select_queue()" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: fix bug in Generic Receive Offload" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: fix some errors in Gather List to skb conversion" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: flesh out PCI Device ID Table" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Fail open if link_start() fails" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: add call to Firmware to reset VF State" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: minor comment/symbolic name cleanup" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: add ethtool statistics for GRO" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: fix up "Section Mismatch" compiler warning" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Advertise NETIF_F_TSO_ECN" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: fix setting unicast/multicast addresses" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Ingress Queue Entry Size needs to be 64 bytes" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: fix mailbox data/control coherency domain race" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: recover from failure in cxgb4vf_open()" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Check driver parameters in the right place" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Behave properly when CONFIG_DEBUG_FS isn't defined" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Quiesce Virtual Interfaces on shutdown" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Use defined Mailbox Timeout" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: improve Kconfig dependencies" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: do vlan cleanup" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: remove __dev* attributes" (Prarit Bhargava) [1140743] - [netdrv] revert "chelsio: Use netdev_ and pr_" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Fix extraction of cpl_rx_pkt from the response queue descriptor" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Fix VLAN extraction counter increment" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Add support for Chelsio T5 adapter" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Support CPL_SGE_EGR_UPDATEs encapsulated in a CPL_FW4_MSG" (Prarit Bhargava) [1140743] - [netdrv] revert "net: cxgb4vf: Staticize local symbols" (Prarit Bhargava) [1140743] - [netdrv] revert "net: cxgb4vf: remove unnecessary pci_set_drvdata()" (Prarit Bhargava) [1140743] - [netdrv] revert "net: cxgb4vf: use DEFINE_PCI_DEVICE_TABLE" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: added much cleaner implementation of is_t4()" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: make functions static and remove dead code" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Remove superfluous call to pci_disable_msix()" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4vf: Adds device Id for few more Chelsio adapters" (Prarit Bhargava) [1140743] - [netdrv] revert "cxgb4: Export symbols required by cxgb4i for ipv6 support and required defines" (Prarit Bhargava) [1140743] - [scsi] revert "libcxgbi: Add ipv6 api to driver" (Prarit Bhargava) [1140743] - [scsi] revert "cxgb4i: Add ipv6 code to driver, call into libcxgbi ipv6 api" (Prarit Bhargava) [1140743] - [scsi] revert "cxgb4i: Fix ipv6 build failure caught with randconfig" (Prarit Bhargava) [1140743] - [scsi] revert "cxgb4i: remove spurious use of rcu" (Prarit Bhargava) [1140743] - [scsi] revert "cxgb4i: Guard ipv6 code with a config check" (Prarit Bhargava) [1140743]- [kernel] futex: Fix errors in nested key ref-counting (Denys Vlasenko) [1094458] {CVE-2014-0205} - [fs] vfs: add missing __putname() in patch_mountpoint() (Ian Kent) [1135165] - [fs] nfs: Don't busy-wait on SIGKILL in __nfs_iocounter_wait (Benjamin Coddington) [1113269] - [netdrv] mlx4: add vlan_rx_register to the master ops (Doug Ledford) [1133506] - [infiniband] ocrdma: use right macro in query ah (Doug Ledford) [1133506] - [infiniband] ocrdma: resolve L2 address when creating user AH (Doug Ledford) [1133506] - [infiniband] ocrdma: get vlan tag from ib_qp_attrs (Doug Ledford) [1133506] - [infiniband] ocrdma: add default gid at index 0 (Doug Ledford) [1133506] - [infiniband] ocrdma: obtain sl from deivce structure (Doug Ledford) [1133506] - [infiniband] ocrdma: do not skip setting deffered_arm (Doug Ledford) [1133506] - [infiniband] ocrdma: Initialize the GID table while registering the device (Doug Ledford) [1133506] - [infiniband] ocrdma: Increase the size of STAG array in dev structure to 16K (Doug Ledford) [1133506] - [infiniband] ocrdma: Add missing adapter mailbox opcodes (Doug Ledford) [1133506] - [infiniband] ocrdma: Return proper value for max_mr_size (Doug Ledford) [1133506] - [infiniband] ocrdma: Allow only SEND opcode in case of UD QPs (Doug Ledford) [1133506] - [infiniband] ocrdma: Avoid reporting wrong completions in case of error CQEs (Doug Ledford) [1133506] - [infiniband] ocrdma: Query and initalize the PFC SL (Doug Ledford) [1133506] - [infiniband] ocrdma: Avoid posting DPP requests for RDMA READ (Doug Ledford) [1133506] - [infiniband] core: When marsheling uverbs path, clear unused fields (Amir Vadai) [1130394] - [infiniband] mlx4: Avoid executing gid task when device is being removed (Amir Vadai) [1130394] - [infiniband] mlx4: Fix lockdep splat for the iboe lock (Amir Vadai) [1130394] - [infiniband] mlx4: Get upper dev addresses as RoCE GIDs when port comes up (Amir Vadai) [1130394] - [infiniband] mlx4: Reorder steps in RoCE GID table initialization (Amir Vadai) [1130394] - [infiniband] mlx4: Don't duplicate the default RoCE GID (Amir Vadai) [1130394] - [infiniband] mlx4: Avoid null pointer dereference in mlx4_ib_scan_netdevs() (Amir Vadai) [1130394] - [netdrv] b43: fix the wrong assignment of status.freq in b43_rx() (John Greene) [1132160] - [lib] lzo: properly check for overruns (Denys Vlasenko) [1113901] {CVE-2014-4608} - [lib] lzo: Update LZO compression to current upstream version (Denys Vlasenko) [1113901] {CVE-2014-4608} - [drm] nouveau: add more checks to PRAMIN image fetching (Ben Skeggs) [1133695 1076733] - [drm] nouveau: allow non-optimus setups to load vbios from acpi (Ben Skeggs) [1133695 1076733] - [drm] nouveau: fix a potential NULL deref in the PROM shadowing function (Ben Skeggs) [1133695 1076733] - [drm] nouveau: fetch the vbios from PROM using only aligned 32-bit accesses (Ben Skeggs) [1133695 1076733] - [net] Revert "introduce netif_skb_dev_features" (Florian Westphal) [1029603] - [net] revert "ip, ipv6: handle gso skbs in forwarding path" (Florian Westphal) [1029603]- [kernel] audit: audit_log_start running on auditd should not stop (Richard Guy Briggs) [1019898] - [kernel] audit: drop audit_cmd_lock in AUDIT_USER family of cases (Richard Guy Briggs) [1019898] - [security] selinux: call WARN_ONCE() instead of calling audit_log_start() (Richard Guy Briggs) [1019898] - [crypto] drbg: fix failure of generating multiple of 2**16 bytes (Herbert Xu) [1130529] - [x86] uv: Set n_lshift based on GAM_GR_CONFIG MMR for UV3 (George Beshers) [1096981] - [fs] nfs: Close another NFSv4 recovery race (Steve Dickson) [1093922] - [fs] nfs: Refactor _nfs4_open_and_get_state to set ctx->state (Steve Dickson) [1093922] - [fs] nfs: cleanup: pass the nfs_open_context to nfs4_do_open (Steve Dickson) [1093922] - [fs] sunrpc: Handle EPIPE in xprt_connect_status (Steve Dickson) [1130619] - [fs] sunrpc: Ensure xprt_connect_status handles all potential connection errors (Steve Dickson) [1130619] - [fs] sunrpc: Ensure that we handle ENOBUFS errors correctly (Steve Dickson) [1130619] - [fs] sunrpc: Ensure call_connect_status() deals correctly with SOFTCONN tasks (Steve Dickson) [1130619] - [fs] sunrpc: Ensure that call_connect times out correctly (Steve Dickson) [1130619] - [fs] sunrpc: Handle connect errors ECONNABORTED and EHOSTUNREACH (Steve Dickson) [1130619] - [fs] sunrpc: call_connect_status should recheck bind and connect status on error (Steve Dickson) [1130619] - [fs] sunrpc: Report network/connection errors correctly for SOFTCONN rpc tasks (Steve Dickson) [1130619] - [fs] ext3: Fix fdatasync() for files with only i_size changes (Eric Sandeen) [1127023] - [fs] gfs2: Change maxlen variables to size_t (Robert S Peterson) [1126899] - [mm] hugetlb: add cond_resched_lock() in return_unused_surplus_pages() (Motohiro Kosaki) [1129085] - [mm] hugetlb: fix softlockup when a large number of hugepages are freed (Motohiro Kosaki) [1129085] - [net] fix ipv4: match prefsrc when deleting routes (Jiri Benc) [1056443] - [net] bridge: explictly tag vlan-accelerated frames destined to the host (Vlad Yasevich) [1121991] - [net] ipv4: avoid parallel route cache gc executions (Hannes Frederic Sowa) [1121228] - [net] ipv4: move route garbage collector to work queue (Hannes Frederic Sowa) [1121228] - [net] ethtool: reallow ETHTOOL_SFLAGS to set TX/RX VLAN offloads (Michal Schmidt) [1134359] - [net] tcp: tsq: fix nonagle handling (Jiri Pirko) [1134401] - [kvm] iommu: fix the third parameter of kvm_iommu_put_pages (Radomir Vrbovsky) [1131953] {CVE-2014-3601} - [s390] sysinfo: convert /proc/sysinfo to seqfile (Hendrik Brueckner) [1130987] - [s390] con3215: fix hanging console issue (Hendrik Brueckner) [1130986] - [s390] dasd: validate request size before building CCW/TCW request (Hendrik Brueckner) [1130988] - [scsi] revert "fc: ensure scan_work isn't active when freeing fc_rport" (Maurizio Lombardi) [1135888] - [edac] sb_edac: Modify H/W event reporting policy (Rui Wang) [1129067] - [alsa] control: Fix replacing user controls (Denys Vlasenko) [1117322] {CVE-2014-4654 CVE-2014-4655} - [netdrv] bnx2x: Fix RSS on big-endian (Michal Schmidt) [1119291] - [netdrv] bnx2x: Utilize FW 7.10.51 (Michal Schmidt) [1119291] - [netdrv] firmware: add bnx2x FW 7.10.51 (Michal Schmidt) [1119291] - [security] selinux: fix a problem with IPv6 traffic denials in selinux_ip_postroute() (Paul Moore) [1130082]- [md] revert "raid1: Rewrite the implementation of iobarrier" (Jes Sorensen) [1127231] - [md] revert "raid1: fix request counting bug in new 'barrier' code" (Jes Sorensen) [1127231] - [scsi] hpsa: version string change (Tomas Henzl) [1054631] - [scsi] hpsa: change doorbell reset delay to ten seconds (Tomas Henzl) [1054631] - [scsi] hpsa: add a delay to kdump path (Tomas Henzl) [1054631] - [infiniband] ipoib: No longer use flush as a parameter (Doug Ledford) [1111073] - [infiniband] ipoib: Make ipoib_mcast_stop_thread flush the workqueue (Doug Ledford) [1111073] - [infiniband] ipoib: Use dedicated workqueues per interface (Doug Ledford) [1111073] - [infiniband] ipoib: change init sequence ordering (Doug Ledford) [1111073] - [infiniband] ipoib: fix mcast_dev_flush/mcast_restart_task race (Doug Ledford) [1111073] - [infiniband] ipoib: fix MCAST_FLAG_BUSY usage (Doug Ledford) [1111073] - [infiniband] ipoib: Make the carrier_on_task race aware (Doug Ledford) [1111073] - [infiniband] ipoib: Consolidate rtnl_lock tasks in workqueue (Doug Ledford) [1111073] - [infiniband] ipoib: Avoid multicast join attempts with invalid P_key (Doug Ledford) [1111073] - [infiniband] ipoib: Avoid flushing the workqueue from worker context (Doug Ledford) [1111073] - [infiniband] ipoib: Use P_Key change event instead of P_Key polling mechanism (Doug Ledford) [1111073] - [infiniband] mlx5: Enable "block multicast loopback" for kernel consumers (Doug Ledford) [1128863] - [mm] memory-failure: support use of a dedicated thread to handle SIGBUS BUS_MCEERR_AO (Rui Wang) [1108366] - [mm] memory-failure: don't let collect_procs() skip over processes for MF_ACTION_REQUIRED (Rui Wang) [1108366] - [mm] memory-failure: send right signal code to correct thread (Rui Wang) [1108366] - [x86] mce: Pay no attention to 'F' bit in MCACOD when parsing 'UC' errors (Rui Wang) [1093437] - [x86] kvm: trace kvm_ple_window grow/shrink (Radim Krcmar) [1093208] - [x86] kvm: vmx: dynamise PLE window (Radim Krcmar) [1093208] - [x86] kvm: vmx: make PLE window per-VCPU (Radim Krcmar) [1093208] - [x86] kvm: introduce sched_in to kvm_x86_ops (Radim Krcmar) [1093208] - [virt] kvm: add kvm_arch_sched_in (Radim Krcmar) [1093208] - [fs] Add full_check test before calling add_to_tfile_check() to prevent panic in reverse_path_check_proc() (Larry Woodman) [1130730] - [perf] x86: Fix Silvermont offcore masks (Jiri Olsa) [1036335] - [perf] x86: Add model number for Avoton Silvermont (Jiri Olsa) [1036335] - [perf] x86: Add Silvermont 22nm Atom support (Jiri Olsa) [1036335] - [perf] x86: use INTEL_UEVENT_EXTRA_REG to define MSR_OFFCORE_RSP_X (Jiri Olsa) [1036335] - [perf] x86: Fix Intel shared extra MSR allocation (Jiri Olsa) [1036335] - [x86] amd: perf: Unify AMD's generic and family 15h pmus (Jiri Olsa) [1133680]- [mm] hugetlb: correct missing private flag clearing (Petr Holasek) [1127126] - [mm] hugetlb: return a reserved page to a reserved pool if failed (Petr Holasek) [1127126] - [mm] hugetlb: undo change to page mapcount in fault handler (Petr Holasek) [1127126] - [mm] hugetlb: fix subpool accounting handling (Petr Holasek) [1127126] - [mm] hugetlb: protect reserved pages when soft offlining a hugepage (Petr Holasek) [1127126] - [mm] hugetlb: decrement reserve count if VM_NORESERVE alloc page cache (Petr Holasek) [1127126] - [mm] hugetlb: remove decrement_hugepage_resv_vma() (Petr Holasek) [1127126] - [mm] hugetlb: add VM_NORESERVE check in vma_has_reserves() (Petr Holasek) [1127126] - [mm] hugetlb: do not use a page in page cache for cow optimization (Petr Holasek) [1127126] - [crypto] modsign: crypto_alloc_shash() returns an error code not NULL on failure (David Howells) [1099208] - [drm] nouveau: behave better if ioremap failed (Ben Skeggs) [1076992] - [fs] fuse: ignore entry-timeout LOOKUP_REVAL (Carlos Maiolino) [1127702] - [fs] fuse: Timeout comparison fix (Carlos Maiolino) [1127769] - [fs] ext4: verify block bitmap (Lukas Czerner) [1087584] - [fs] ext4: fix type declaration of ext4_validate_block_bitmap (Lukas Czerner) [1087584] - [fs] ext4: error out if verifying the block bitmap fails (Lukas Czerner) [1087584] - [fs] fsnotify: delay unmounting until all inode are fput (Eric Paris) [886723] - [fs] inotify: determine wd before races are possible (Eric Paris) [886723] - [fs] fsnotify: do not hold notification mutex when putting events (Eric Paris) [886723] - [fs] fsnotify: use GFP_NOFS when allocating event holders (Eric Paris) [886723] - [fs] locks: eliminate BUG() call when there's an unexpected lock on file close (Benjamin Coddington) [1113096] - [fs] gfs2: Request demote when a "try" flock fails (Robert S Peterson) [1129445] - [fs] nfsd: allow turning off nfsv3 readdir_plus (J. Bruce Fields) [1117468] - [powerpc] pseries: Fix kexec regression caused by CPPR tracking (Gustavo Duarte) [1129453] - [scsi] Fix erratic device offline during EH (Gustavo Duarte) [1126088] - [net] openvswitch: fix panic with multiple vlan headers (Jiri Benc) [1122405] - [net] ipvs: extract race fixes for sync daemon setups (Jesper Brouer) [1117536]- [scsi] cxgb4i: Guard ipv6 code with a config check (Sai Vemuri) [1122829] - [scsi] cxgb4i: remove spurious use of rcu (Sai Vemuri) [1122829] - [scsi] cxgb4i: Fix ipv6 build failure caught with randconfig (Sai Vemuri) [1122829] - [scsi] cxgb4i: Add ipv6 code to driver, call into libcxgbi ipv6 api (Sai Vemuri) [1122829] - [scsi] libcxgbi: Add ipv6 api to driver (Sai Vemuri) [1122829] - [netdrv] cxgb4: Export symbols required by cxgb4i for ipv6 support and required defines (Sai Vemuri) [1122829] - [netdrv] cxgb4vf: Adds device Id for few more Chelsio adapters (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Remove superfluous call to pci_disable_msix() (Sai Vemuri) [1112417] - [netdrv] cxgb4: make functions static and remove dead code (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: added much cleaner implementation of is_t4() (Sai Vemuri) [1112417] - [netdrv] net: cxgb4vf: use DEFINE_PCI_DEVICE_TABLE (Sai Vemuri) [1112417] - [netdrv] net: cxgb4vf: remove unnecessary pci_set_drvdata() (Sai Vemuri) [1112417] - [netdrv] net: cxgb4vf: Staticize local symbols (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Support CPL_SGE_EGR_UPDATEs encapsulated in a CPL_FW4_MSG (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Add support for Chelsio T5 adapter (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Fix VLAN extraction counter increment (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Fix extraction of cpl_rx_pkt from the response queue descriptor (Sai Vemuri) [1112417] - [netdrv] chelsio: Use netdev_ and pr_ (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: remove __dev* attributes (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: do vlan cleanup (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: improve Kconfig dependencies (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Use defined Mailbox Timeout (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Quiesce Virtual Interfaces on shutdown (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Behave properly when CONFIG_DEBUG_FS isn't defined (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Check driver parameters in the right place (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: recover from failure in cxgb4vf_open() (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: fix mailbox data/control coherency domain race (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Ingress Queue Entry Size needs to be 64 bytes (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: fix setting unicast/multicast addresses (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Advertise NETIF_F_TSO_ECN (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: fix up "Section Mismatch" compiler warning (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: add ethtool statistics for GRO (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: minor comment/symbolic name cleanup (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: add call to Firmware to reset VF State (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Fail open if link_start() fails (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: flesh out PCI Device ID Table (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: fix some errors in Gather List to skb conversion (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: fix bug in Generic Receive Offload (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: don't implement trivial (and incorrect) ndo_select_queue() (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: remove call to stop TX queues at load time (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: make single bit signed bitfields unsigned (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Use netif_set_real_num_rx/tx_queues() (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: do not use PCI resources before pci_enable_device() (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Fix bug where we were only allocating one queue in MSI mode (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Fix off-by-one error checking for the end of the mailbox delay array (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: fix SGE resource resource deallocation bug (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: fix TX Queue restart (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Implement "Unhandled Interrupts" statistic (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: remove obsolete DECLARE_PCI_UNMAP_ADDR usage (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Use correct shift factor for extracting the SGE DMA Ingress Padding Boundary (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Remove obsolete comment about the lack of a TX Timer Callback (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Stitch new T4 PCI-E SR-IOV Virtual Function driver into the build (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Add new Makefile for T4 PCI-E SR-IOV Virtual Function driver cxgb4vf (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Add main T4 PCI-E SR-IOV Virtual Function driver for cxgb4vf (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Add T4 Virtual Function Scatter-Gather Engine DMA code (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Add core T4 PCI-E SR-IOV Virtual Function hardware definitions and device communication code (Sai Vemuri) [1112417] - [infiniband] iw_cxgb4: fix for 64-bit integer division (Sai Vemuri) [1121803] - [netdrv] cxgb4: Fix possible race condition in cleanup (Sai Vemuri) [1121803] - [netdrv] cxgb4: only free allocated fls (Sai Vemuri) [1121803] - [netdrv] cxgb4: Fixed incorrect check for memory operation in t4_memory_rw (Sai Vemuri) [1121803] - [netdrv] cxgb4: Add the MC1 registers to read in the interrupt handler (Sai Vemuri) [1121803] - [netdrv] iw_cxgb4: Move common defines to cxgb4 (Sai Vemuri) [1121803] - [netdrv] iw_cxgb4: work request logging feature (Sai Vemuri) [1121803] - [netdrv] iw_cxgb4: display TPTE on errors (Sai Vemuri) [1121803] - [netdrv] iw_cxgb4: use firmware ord/ird resource limits (Sai Vemuri) [1121803] - [netdrv] iw_cxgb4: Detect Ing. Padding Boundary at run-time (Sai Vemuri) [1121803] - [netdrv] cxgb4: remove unnecessary null test before debugfs_remove_recursive (Sai Vemuri) [1121803] - [netdrv] cxgb4: Adds device ID for few more Chelsio T4 Adapters (Sai Vemuri) [1121803] - [netdrv] cxgb4: Replaced the backdoor mechanism to access the HW memory with PCIe Window method (Sai Vemuri) [1121803] - [netdrv] cxgb4: Use FW interface to get BAR0 value (Sai Vemuri) [1121803] - [netdrv] cxgb4: Fixes cxgb4 probe failure in VM when PF is exposed through PCI Passthrough (Sai Vemuri) [1121803] - [netdrv] cxgb4: Change default Interrupt Holdoff Packet Count Threshold (Sai Vemuri) [1121803] - [netdrv] iw_cxgb4: don't truncate the recv window size (Sai Vemuri) [1121803] - [netdrv] iw_cxgb4: Choose appropriate hw mtu index and ISS for iWARP connections (Sai Vemuri) [1121803] - [netdrv] iw_cxgb4: Allocate and use IQs specifically for indirect interrupts (Sai Vemuri) [1121803] - [netdrv] cxgb4: Check if rx checksum offload is enabled, while reading hardware calculated checksum (Sai Vemuri) [1121803] - [netdrv] cxgb4: Decode the firmware port and module type a bit more for ethtool (Sai Vemuri) [1121803] - [infiniband] cxgb4: add missing padding at end of struct c4iw_alloc_ucontext_resp (Sai Vemuri) [1121803] - [infiniband] cxgb4: Add missing padding at end of struct c4iw_create_cq_resp (Sai Vemuri) [1121803] - [infiniband] cxgb4: Fix vlan support (Sai Vemuri) [1121803] - [infiniband] cxgb4: Fix memory leaks in c4iw_alloc() error paths (Sai Vemuri) [1121803] - [netdrv] cxgb4: Decode PCIe Gen3 link speed (Sai Vemuri) [1121803] - [infiniband] cxgb4: Update Kconfig to include Chelsio T5 adapter (Sai Vemuri) [1121803] - [infiniband] cxgb4: Only allow kernel db ringing for T4 devs (Sai Vemuri) [1121803] - [infiniband] cxgb4: Force T5 connections to use TAHOE congestion control (Sai Vemuri) [1121803] - [infiniband] cxgb4: Fix endpoint mutex deadlocks (Sai Vemuri) [1121803] - [netdrv] cxgb4: use the correct max size for firmware flash (Sai Vemuri) [1121803] - [netdrv] cxgb4: Save the correct mac addr for hw-loopback connections in the L2T (Sai Vemuri) [1121803] - [infiniband] cxgb4: Fix over-dereference when terminating (Sai Vemuri) [1121803] - [infiniband] cxgb4: Use uninitialized_var() (Sai Vemuri) [1121803] - [infiniband] cxgb4: Add missing debug stats (Sai Vemuri) [1121803] - [infiniband] cxgb4: Initialize reserved fields in a FW work request (Sai Vemuri) [1121803] - [infiniband] cxgb4: Use pr_warn_ratelimited (Sai Vemuri) [1121803] - [infiniband] cxgb4: Max fastreg depth depends on DSGL support (Sai Vemuri) [1121803] - [infiniband] cxgb4: SQ flush fix (Sai Vemuri) [1121803] - [infiniband] cxgb4: rmb() after reading valid gen bit (Sai Vemuri) [1121803] - [infiniband] cxgb4: Endpoint timeout fixes (Sai Vemuri) [1121803] - [infiniband] cxgb4: Use the BAR2/WC path for kernel QPs and T5 devices (Sai Vemuri) [1121803] - [infiniband] cxgb4: Disable DSGL use by default (Sai Vemuri) [1121803] - [infiniband] cxgb4: rx_data() needs to hold the ep mutex (Sai Vemuri) [1121803] - [infiniband] cxgb4: Drop RX_DATA packets if the endpoint is gone (Sai Vemuri) [1121803] - [infiniband] cxgb4: Lock around accept/reject downcalls (Sai Vemuri) [1121803] - [infiniband] cxgb4: set error code on kmalloc() failure (Sai Vemuri) [1121803] - [netdrv] cxgb4: Adds device ID for few more Chelsio Adapters (Sai Vemuri) [1121803] - [netdrv] cxbg4: Remove addressof casts to same type (Sai Vemuri) [1121803] - [netdrv] cxgb4: Call dev_kfree/consume_skb_any instead of kfree_skb (Sai Vemuri) [1121803] - [infiniband] cxgb4: Update snd_seq when sending MPA messages (Sai Vemuri) [1121803] - [infiniband] cxgb4: Connect_request_upcall fixes (Sai Vemuri) [1121803] - [infiniband] cxgb4: Ignore read reponse type 1 CQEs (Sai Vemuri) [1121803] - [infiniband] cxgb4: Fix possible memory leak in RX_PKT processing (Sai Vemuri) [1121803] - [infiniband] cxgb4: Don't leak skb in c4iw_uld_rx_handler() (Sai Vemuri) [1121803] - [infiniband] cxgb4: Save the correct map length for fast_reg_page_lists (Sai Vemuri) [1121803] - [infiniband] cxgb4: Default peer2peer mode to 1 (Sai Vemuri) [1121803] - [infiniband] cxgb4: Mind the sq_sig_all/sq_sig_type QP attributes (Sai Vemuri) [1121803] - [infiniband] cxgb4: Fix incorrect BUG_ON conditions (Sai Vemuri) [1121803] - [infiniband] cxgb4: Always release neigh entry (Sai Vemuri) [1121803] - [infiniband] cxgb4: Allow loopback connections (Sai Vemuri) [1121803] - [infiniband] cxgb4: Cap CQ size at T4_MAX_IQ_SIZE (Sai Vemuri) [1121803] - [infiniband] cxgb4: Fix four byte info leak in c4iw_create_cq() (Sai Vemuri) [1121803] - [infiniband] cxgb4: Fix underflows in c4iw_create_qp() (Sai Vemuri) [1121803] - [netdrv] cxgb4: Doorbell Drop Avoidance Bug Fixes (Sai Vemuri) [1121803] - [netdrv] cxgb4: Treat CPL_ERR_KEEPALV_NEG_ADVICE as negative advice (Sai Vemuri) [1121803] - [netdrv] cxgb4: Calculate len properly for LSO path (Sai Vemuri) [1121803] - [netdrv] cxgb4: Updates for T5 SGE's Egress Congestion Threshold (Sai Vemuri) [1121803] - [netdrv] cxgb4: Rectify emitting messages about SGE Ingress DMA channels being potentially stuck (Sai Vemuri) [1121803] - [netdrv] cxgb4: Add code to dump SGE registers when hitting idma hangs (Sai Vemuri) [1121803] - [netdrv] cxgb4: Fix some small bugs in t4_sge_init_soft() when our Page Size is 64KB (Sai Vemuri) [1121803] - [netdrv] cxgb4: use remove handler as shutdown handler (Sai Vemuri) [1121803] - [netdrv] cgxb4: Stop using ethtool SPEED_* constants (Sai Vemuri) [1121803] - [netdrv] cxgb4: Add more PCI device ids (Sai Vemuri) [1121803] - [netdrv] cxgb4: Don't assume LSO only uses SGL path in t4_eth_xmit() (Sai Vemuri) [1121803] - [netdrv] cxgb4: Remove unused registers and add missing ones (Sai Vemuri) [1121803] - [netdrv] cxgb4: Query firmware for T5 ULPTX MEMWRITE DSGL capabilities (Sai Vemuri) [1121803] - [netdrv] cxgb4: LE-Workaround is not atomic in firmware (Sai Vemuri) [1121803] - [netdrv] cxgb4: Allow >10G ports to have multiple queues (Sai Vemuri) [1121803] - [netdrv] cxgb4: Print adapter VPD Part Number instead of Engineering Change field (Sai Vemuri) [1121803] - [netdrv] cxgb4: Add support to recognize 40G links (Sai Vemuri) [1121803] - [netdrv] cxgb4: Use pci_enable_msix_range() instead of pci_enable_msix() (Sai Vemuri) [1121803] - [infiniband] cxgb4: Add missing neigh_release in LE-Workaround path (Sai Vemuri) [1121803] - [netdrv] cxgb4: Fix referencing freed adapter (Sai Vemuri) [1121803] - [infiniband] cxgb4: Fix gcc warning on 32-bit arch (Sai Vemuri) [1121803] - [netdrv] cxgb4: Don't retrieve stats during recovery (Sai Vemuri) [1121803] - [netdrv] cxgb4: Avoid disabling PCI device for towice (Sai Vemuri) [1121803] - [netdrv] cxgb4: silence shift wrapping static checker warning (Sai Vemuri) [1121803] - [netdrv] cxgb4: Changed FW check version to match FW binary version (Sai Vemuri) [1121803] - [netdrv] cxgb4: allow large buffer size to have page size (Sai Vemuri) [1121803] - [infiniband] cxgb4: Use cxgb4_select_ntuple to correctly calculate ntuple fields (Sai Vemuri) [1121803] - [infiniband] cxgb4: Server filters are supported only for IPv4 (Sai Vemuri) [1121803] - [infiniband] cxgb4: Calculate the filter server TID properly (Sai Vemuri) [1121803] - [netdrv] cxgb4: make functions static and remove dead code (Sai Vemuri) [1121803] - [netdrv] cxgb4: Add API to correctly calculate tuple fields (Sai Vemuri) [1121803] - [netdrv] cxgb4: Account for stid entries properly in case of IPv6 (Sai Vemuri) [1121803] - [netdrv] cxgb4: Assign filter server TIDs properly (Sai Vemuri) [1121803] - [netdrv] cxgb4: Include TCP as protocol when creating server filters (Sai Vemuri) [1121803] - [netdrv] cxgb4: Reserve stid 0 for T4/T5 adapters (Sai Vemuri) [1121803] - [netdrv] cxgb4: calls skb_set_hash (Sai Vemuri) [1121803] - [infiniband] cxgb4: Make _c4iw_write_mem_dma() static (Sai Vemuri) [1121803] - [infiniband] cxgb4: Fix formatting of physical address (Sai Vemuri) [1121803] - [netdrv] cxgb4: Add new scheme to update T4/T5 firmware (Sai Vemuri) [1121803] - [netdrv] cxgb4: added much cleaner implementation of is_t4() (Sai Vemuri) [1121803] - [netdrv] cxgb4: Much cleaner implementation of is_t4()/is_t5() (Sai Vemuri) [1121803] - [netdrv] cgxb4: remove duplicate include in cxgb4.h (Sai Vemuri) [1121803] - [netdrv] cxgb4: remove unnecessary pci_set_drvdata() (Sai Vemuri) [1121803] - [netdrv] cxgb4: remove workqueue when driver registration fails (Sai Vemuri) [1121803] - [infiniband] cxgb4: Issue RI.FINI before closing when entering TERM (Sai Vemuri) [1121803] - [infiniband] cxgb4: Advertise ~0ULL as max MR size (Sai Vemuri) [1121803] - [infiniband] cxgb4: Always do GTS write if cidx_inc == CIDXINC_MASK (Sai Vemuri) [1121803] - [infiniband] cxgb4: Set arp error handler for PASS_ACCEPT_RPL messages (Sai Vemuri) [1121803] - [infiniband] cxgb4: Fix accounting for unsignaled SQ WRs to deal with wrap (Sai Vemuri) [1121803] - [infiniband] cxgb4: Fix QP flush logic (Sai Vemuri) [1121803] - [infiniband] cxgb4: Use correct bit shift macros for vlan filter tuples (Sai Vemuri) [1121803] - [infiniband] cxgb4: Handle newer firmware changes (Sai Vemuri) [1121803] - [infiniband] cxgb4: Add support for active and passive open connection with IPv6 address (Sai Vemuri) [1121803] - [infiniband] cma: Add IPv6 support for iWARP (Sai Vemuri) [1121803] - [netdrv] cxgb4: Add CLIP support to store compressed IPv6 address (Sai Vemuri) [1121803] - [netdrv] cxgb4: Add routines to create and remove listening IPv6 servers (Sai Vemuri) [1121803] - [infiniband] cxgb4: Fix stack info leak in c4iw_create_qp() (Sai Vemuri) [1121803] - [netdrv] cxgb4: Do not set net_device::dev_id to VI index (Sai Vemuri) [1121803] - [netdrv] cxgb4: Correct comparisons and calculations using skb->tail and skb-transport_header (Sai Vemuri) [1121803] - [netdrv] cxgb4: Force uninitialized state if FW_ON_ADAPTER is < FW_VERSION and we're the MASTER_PF (Sai Vemuri) [1121803] - [netdrv] cxgb4: fix error recovery when t4_fw_hello returns a positive value (Sai Vemuri) [1121803] - [netdrv] cxgb4: Support CPL_SGE_EGR_UPDATEs encapsulated in a CPL_FW4_MSG (Sai Vemuri) [1121803] - [netdrv] cxgb4: Support CPL_SGE_EGR_UPDATEs encapsulated in a CPL_FW4_MSG (Sai Vemuri) [1121803] - [netdrv] cxgb4: Fix pci_device_id structure initialization with correct PF number (Sai Vemuri) [1121803] - [infiniband] cxgb4: Fix SQ allocation when on-chip SQ is disabled (Sai Vemuri) [1121803] - [infiniband] cxgb4: Fix error return code in create_qp() (Sai Vemuri) [1121803] - [infiniband] cxgb4: Fix onchip queue support for T5 (Sai Vemuri) [1121803] - [infiniband] cxgb4: Bump tcam_full stat and WR reply timeout (Sai Vemuri) [1121803] - [infiniband] cxgb4: Map pbl buffers for dma if using DSGL (Sai Vemuri) [1121803] - [infiniband] cxgb4: Use DSGLs for fastreg and adapter memory writes for T5 (Sai Vemuri) [1121803] - [infiniband] cxgb4: Add module_params to enable DB FC & Coalescing on T5 (Sai Vemuri) [1121803] - [infiniband] cxgb4: Turn off db coalescing when RDMA QPs are in use (Sai Vemuri) [1121803] - [infiniband] cxgb4: Add Support for Chelsio T5 adapter (Sai Vemuri) [1121803] - [netdrv] cxgb4: Disable SR-IOV support for PF4-7 for T5 (Sai Vemuri) [1121803] - [netdrv] cxgb4: Update driver version and description (Sai Vemuri) [1121803] - [netdrv] cxgb4: Add T5 PCI ids (Sai Vemuri) [1121803] - [netdrv] cxgb4: Add T5 debugfs support (Sai Vemuri) [1121803] - [netdrv] cxgb4: Enable doorbell drop recovery only for T4 adapter (Sai Vemuri) [1121803] - [netdrv] cxgb4: Add T5 write combining support (Sai Vemuri) [1121803] - [netdrv] cxgb4: Dump T5 registers (Sai Vemuri) [1121803] - [netdrv] cxgb4: Initialize T5 (Sai Vemuri) [1121803] - [netdrv] cxgb4: Add macros, structures and inline functions for T5 (Sai Vemuri) [1121803] - [netdrv] cxgb4: Add register definations for T5 (Sai Vemuri) [1121803] - [netdrv] cxgb4: Allow for backward compatibility with new VPD scheme (Sai Vemuri) [1121803] - [infiniband] cxgb4: Fix cast warning (Sai Vemuri) [1121803] - [infiniband] cxgb4: "cookie" can stay in host endianness (Sai Vemuri) [1121803] - [infiniband] cxgb4: Address sparse warnings (Sai Vemuri) [1121803] - [infiniband] cxgb4: Insert hwtid in pass_accept_req instead in pass_establish (Sai Vemuri) [1121803] - [infiniband] cxgb4: Don't wakeup threads for MPAv2 (Sai Vemuri) [1121803] - [infiniband] cxgb4: Don't reconnect on abort for mpa_rev 1 (Sai Vemuri) [1121803] - [infiniband] cxgb4: Fix endpoint timeout race condition (Sai Vemuri) [1121803] - [infiniband] cxgb4: Only log rx_data warnings if cpl status is non-zero (Sai Vemuri) [1121803] - [infiniband] cxgb4: Always log async errors (Sai Vemuri) [1121803] - [infiniband] cxgb4: Keep QP referenced until TID released (Sai Vemuri) [1121803] - [infiniband] cxgb4: Display streaming mode error only if detected in RTS (Sai Vemuri) [1121803] - [infiniband] cxgb4: Abort connections when moving to ERROR state (Sai Vemuri) [1121803] - [infiniband] cxgb4: Abort connections that receive unexpected streaming mode data (Sai Vemuri) [1121803] - [netdrv] cxgb4: Fix incorrect PFVF CMASK (Sai Vemuri) [1121803] - [netdrv] cxgb4: Use netdev_ and pr_ (Sai Vemuri) [1121803] - [infiniband] cxgb4: Fix bug for active and passive LE hash collision path (Sai Vemuri) [1121803] - [infiniband] cxgb4: Fix LE hash collision bug for passive open connection (Sai Vemuri) [1121803] - [infiniband] cxgb4: Fix LE hash collision bug for active open connection (Sai Vemuri) [1121803] - [netdrv] cxgb4: Add LE hash collision bug fix path in LLD driver (Sai Vemuri) [1121803] - [netdrv] cxgb4: Add T4 filter support (Sai Vemuri) [1121803] - [netdrv] cxgb4: remove __dev* attributes (Sai Vemuri) [1121803] - [netdrv] cxgb4: Chelsio FCoE offload driver submission (Sai Vemuri) [1121803] - [infiniband] cxgb4: use WARN (Sai Vemuri) [1121803] - [netdrv] cxgb4: Fix initialization of SGE_CONTROL register (Sai Vemuri) [1121803] - [netdrv] cxgb4: Fix unable to get UP event from the LLD (Sai Vemuri) [1121803] - [infiniband] cxgb4: Don't free chunk that we have failed to allocate (Sai Vemuri) [1121803] - [netdrv] cxgb4: Remove unnecessary #ifdef condition (Sai Vemuri) [1121803] - [netdrv] cxgb4: Address various sparse warnings (Sai Vemuri) [1121803] - [netdrv] cxgb4: allocate enough data in t4_memory_rw() (Sai Vemuri) [1121803] - [netdrv] cxgb4: Fix build error due to missing linux/vmalloc.h include (Sai Vemuri) [1121803] - [netdrv] cxgb4: Dynamically allocate memory in t4_memory_rw() and get_vpd_params() (Sai Vemuri) [1121803] - [infiniband] cxgb4: Fix error handling in create_qp() (Sai Vemuri) [1121803] - [netdrv] cxgb4: Don't attempt to upgrade T4 firmware when cxgb4 will end up as a slave (Sai Vemuri) [1121803] - [netdrv] cxgb4: Add support for T4 hardwired driver configuration settings (Sai Vemuri) [1121803] - [netdrv] cxgb4: Add support for T4 configuration file (Sai Vemuri) [1121803] - [netdrv] cxgb4: Code cleanup to enable T4 Configuration File support (Sai Vemuri) [1121803] - [netdrv] cxgb4: Add functions to read memory via PCIE memory window (Sai Vemuri) [1121803] - [netdrv] cxgb4: Fix incorrect values for MEMWIN*_APERTURE and MEMWIN*_BASE (Sai Vemuri) [1121803] - [infiniband] cxgb4: Move dereference below NULL test (Sai Vemuri) [1121803] - [infiniband] cxgb4: Update RDMA/cxgb4 due to macro definition removal in cxgb4 driver (Sai Vemuri) [1121803] - [netdrv] cxgb4: Remove duplicate register definitions (Sai Vemuri) [1121803] - [netdrv] cxgb4: set maximal number of default RSS queues (Sai Vemuri) [1121803] - [infiniband] cxgb4: Include vmalloc.h for vmalloc and vfree (Sai Vemuri) [1121803] - [infiniband] cxgb4: Remove kfifo usage (Sai Vemuri) [1121803] - [infiniband] cxgb4: Use vmalloc() for debugfs QP dump (Sai Vemuri) [1121803] - [infiniband] cxgb4: DB Drop Recovery for RDMA and LLD queues (Sai Vemuri) [1121803] - [infiniband] cxgb4: Add DB Overflow Avoidance (Sai Vemuri) [1121803] - [infiniband] cxgb4: Add debugfs RDMA memory stats (Sai Vemuri) [1121803] - [netdrv] cxgb4: DB Drop Recovery for RDMA and LLD queues (Sai Vemuri) [1121803] - [netdrv] cxgb4: Common platform specific changes for DB Drop Recovery (Sai Vemuri) [1121803] - [netdrv] cxgb4: Detect DB FULL events and notify RDMA ULD (Sai Vemuri) [1121803] - [infiniband] cxgb4: Drop peer_abort when no endpoint found (Sai Vemuri) [1121803] - [infiniband] cxgb4: Debugfs dump_qp() updates (Sai Vemuri) [1121803] - [infiniband] cxgb4: Use ULP_MODE_TCPDDP (Sai Vemuri) [1121803] - [infiniband] cxgb4: Turn on delayed ACK (Sai Vemuri) [1121803] - [netdrv] cxgb4: Use netif_set_real_num_rx/tx_queues() (Sai Vemuri) [1121803] - [netdrv] cxgb4: set skb->rxhash (Sai Vemuri) [1121803]- [drm] i915: fix backport typo (Rob Clark) [1131218] - [net] revert: bridge: Provide VLAN registration and GRO acceleration for ports (Jiri Pirko) [1121991] - [net] revert: bridge: Correctly receive hw-accelerated vlan traffic (Jiri Pirko) [1121991] - [net] revert: vlan: Allow accelerated packets to flow through the bridge (Jiri Pirko) [1121991] - [net] ipv6: fix calculation of option len in ip6_append_data (Hannes Frederic Sowa) [1127225] - [net] ipv6: pmtudisc setting not respected with UFO/CORK (Hannes Frederic Sowa) [1127225] - [net] ipv4: fix DO and PROBE pmtu mode regarding local fragmentation with UFO/CORK (Hannes Frederic Sowa) [1127225] - [net] rtnetlink: fix VF info size (Jiri Benc) [1126761] - [scsi] fc: ensure scan_work isn't active when freeing fc_rport (Maurizio Lombardi) [1120036] - [netdrv] bnx2x: Safe bnx2x_panic_dump() (Michal Schmidt) [1121539] - [netdrv] bnx2x: Enlarge the dorq threshold for VFs (Michal Schmidt) [1123412] - [netdrv] bnx2x: Fix 1G-baseT link (Michal Schmidt) [1123412] - [netdrv] bnx2x: Fix link for KR with swapped polarity lane (Michal Schmidt) [1123412] - [md] raid: avoid data corruption during recovery of double-degraded RAID6 (Jes Sorensen) [1090423] - [perf] tools: Show better error message in case we fail to open counters due to EBUSY error (Jiri Olsa) [1103196] - [perf] tools: Add filename__read_str util function (Jiri Olsa) [1103196] - [kvm] revert "x86: increase VCPU limit to 240" (Radim Krcmar) [864242] - [virt] revert "virtio-net: initialize vlan_features" (Nikolay Aleksandrov) [1132588]- [net] ipv6: fix headroom calculation in udp6_ufo_fragment (Nikolay Aleksandrov) [1121522] - [net] udp6: Fix udp fragmentation for tunnel traffic (Nikolay Aleksandrov) [1121522] - [net] sctp: inherit auth_capable on INIT collisions (Daniel Borkmann) [1123760] {CVE-2014-5077} - [net] sctp: only warn in proc_sctp_do_alpha_beta if write (Daniel Borkmann) [1081372] - [net] sctp: fix permissions for rto_alpha and rto_beta knobs (Daniel Borkmann) [1081372] - [scsi] scsi_lib: remove the description string in scsi_io_completion() (Maurizio Lombardi) [710111] - [scsi] qla2xxx: Update version number to 8.07.00.08.06.6-k1 (Chad Dupuis) [919831 990690] - [scsi] qla2xxx: Remove restriction on starting remote device discovery on port update (Chad Dupuis) [990690] - [scsi] qla2xxx: Move mailbox failure messages to a default debug level (Chad Dupuis) [919831] - [netdrv] mlx4_core: Keep only one driver entry release mlx4_priv (Amir Vadai) [1121531] - [netdrv] be2net: fix qnq mode detection on VFs (Ivan Vecera) [1123790] - [netdrv] be2net: ignore get/set profile FW cmd failures (Ivan Vecera) [1110417] - [netdrv] be2net: use adapter->flags to track SRIOV state (Ivan Vecera) [1110417] - [netdrv] be2net: avoid SRIOV config for BE2 chip (Ivan Vecera) [1110417] - [netdrv] be2net: use be_max_vfs() macro to access max-vfs (Ivan Vecera) [1110417] - [netdrv] be2net: create optimal number of queues on SR-IOV config (Ivan Vecera) [1110417] - [netdrv] be2net: read VF's capabilities from GET_PROFILE_CONFIG cmd (Ivan Vecera) [1110417] - [netdrv] be2net: remove be_cmd_get_profile_config_mbox/mccq() variants (Ivan Vecera) [1110417] - [x86] perf: Fix AMD NB and L2I "uncore" support (Prarit Bhargava) [922929] - [x86] perf: Remove old-style NB counter support from perf_event_amd.c (Prarit Bhargava) [922929] - [x86] perf: Add support for AMD NB and L2I "uncore" counters (Prarit Bhargava) [922929] - [x86] Add cpu_has_topoext (Prarit Bhargava) [922929] - [x86] perf: Enable northbridge performance counters on AMD family 15h (Prarit Bhargava) [922929] - [x86] perf: add global get_ibs_caps() (Prarit Bhargava) [922929] - [x86] perf: Share IBS macros between perf and oprofile (Prarit Bhargava) [922929] - [x86] perf: Generalize northbridge constraints code for family 15h (Prarit Bhargava) [922929] - [x86] perf: Allow for architecture specific RDPMC indexes (Prarit Bhargava) [922929] - [x86] perf: Move MSR address offset calculation to architecture specific files (Prarit Bhargava) [922929] - [x86] perf: Use rdpmc() rather than rdmsr() when possible in the kernel (Prarit Bhargava) [922929] - [x86] Add rdpmcl() (Prarit Bhargava) [922929] - [x86] efi: Properly pre-initialize table pointers (Laszlo Ersek) [1129282] - [md] raid1, raid10: always abort recover on write error (Jes Sorensen) [1124351]- [xen] smp: Unifiy some of the PVs and PVHVM offline CPU path (Vitaly Kuznetsov) [1123370] - [xen] smp: Fix leakage of the spinlock interrupt line for every CPU online/offline (Vitaly Kuznetsov) [1123370] - [xen] disable PV spinlocks on HVM (Vitaly Kuznetsov) [1123370] - [xen] smp: initialize IPI vectors before marking CPU online (Vitaly Kuznetsov) [1123370] - [xen] Do not enable PV IPIs when vector callback not present (Vitaly Kuznetsov) [1123370] - [xen] pv on hvm support PV spinlocks and IPIs (Vitaly Kuznetsov) [1123370] - [xen] percpu: make percpu symbols in xen unique (Vitaly Kuznetsov) [1123370] - [kernel] sched: Fix possible divide by zero in avg_atom() calculation (Mateusz Guzik) [1109489] - [kernel] add div64_ul() (Mateusz Guzik) [1109489] - [kernel] sched: Move idle_balance() stats back where they were instead of at the end of the sched_domain (Larry Woodman) [1119156] - [perf] x86: ignore CondChgd bit to avoid false NMI handling (Don Zickus) [1116947] - [s390] fix restore of invalid floating-point-control (Hendrik Brueckner) [1121962] - [s390] sclp_vt220: Enable ASCII console per default (Hendrik Brueckner) [1112743] - [x86] apic: Remove noisy zero-mask warning from default_send_IPI_mask_logical() (Prarit Bhargava) [745124] - [drm] i915: lock around link status and link training (Dave Airlie) [1126640] - [drm] i915: only hook up hpd pulse for DP outputs (Dave Airlie) [1126640] - [alsa] control: Don't access controls outside of protected regions (Radomir Vrbovsky) [1117329] {CVE-2014-4653} - [md] dm-thin: set minimum_io_size to pool's data block size (Mikulas Patocka) [1121779] - [md] dm: allocate a special workqueue for deferred device removal (Mike Snitzer) [1109431] - [kernel] coredump: redefine SIGNAL_GROUP_COREDUMP to fix the conflict with SIGNAL_CLD_STOPPED (Oleg Nesterov) [1106519] - [powerpc] pseries: Track previous CPPR values to correctly EOI interrupts (Gustavo Duarte) [1089977] - [netdrv] tg3: Modify tg3_tso_bug() to handle multiple TX rings (Ivan Vecera) [1123530] - [netdrv] bna: fix performance regression (Ivan Vecera) [1121039] - [netdrv] bna: fill the magic in bnad_get_eeprom() instead of validating (Ivan Vecera) [1119123] - [netdrv] e1000e: implement 82577/579 MDI setting support (Ivan Vecera) [1105604] - [netdrv] igb: update to allow reading/setting MDI state (Ivan Vecera) [1105604] - [netdrv] e1000e: implement MDI/MDI-X control (Ivan Vecera) [1105604] - [netdrv] e1000: configure and read MDI settings (Ivan Vecera) [1105604] - [netdrv] ethtool: MDI setting support (Ivan Vecera) [1105604] - [netdrv] bna: remove use of ndo_set_multicast_list in drivers (Ivan Vecera) [1120510] - [netdrv] bna: fix vlan tag stripping and implement its toggling (Ivan Vecera) [1120510] - [netdrv] bna: convert to hw_features (Ivan Vecera) [1120510]- [powerpc] pci: Improve device hotplug initialization (Gustavo Duarte) [1084398] - [powerpc] pci: fix PCI-e devices rescan issue on powerpc platform (Gustavo Duarte) [1084398] - [powerpc] pci: Cleanup device dma setup code (Gustavo Duarte) [1084398] - [pci] Add pcibios_add_device (Gustavo Duarte) [1084398] - [pci] fix undefined reference to 'pci_fixup_final_inited' (Gustavo Duarte) [1084398] - [pci] call final fixups hot-added devices (Gustavo Duarte) [1084398] - [mm] vmscan: Fix memcg forced scan of anonymous pages (Jerome Marchand) [1124895] - [mm] try_to_unmap_cluster() should lock_page() before mlocking (Jacob Tanenbaum) [1093081] {CVE-2014-3122} - [video] fbmem: convert fb_mmap to vm_iomap_memory() helper (Jacob Tanenbaum) [1035242] {CVE-2013-2596} - [s390] add dummy io_remap_pfn_range() to asm/pgtable.h (Jacob Tanenbaum) [1035242] {CVE-2013-2596} - [mm] add vm_iomap_memory() helper function (Jacob Tanenbaum) [1035242] {CVE-2013-2596} - [hv] hv_fcopy: fix a race condition for SMP guest (Jason Wang) [1118123] - [hv] util: Fix a bug in the KVP code (Jason Wang) [1118123] - [hv] vmbus: Fix a bug in the channel callback dispatch code (Jason Wang) [1118123] - [scsi] virtio_scsi: fix memory leak on full queue condition (Fam Zheng) [1111485] - [scsi] storvsc: Correctly handle TEST_UNIT_READY failure (Jason Wang) [1120468] - [scsi] storvsc: Set srb_flags in all cases (Jason Wang) [1120468] - [scsi] storvsc: Implement a eh_timed_out handler (Jason Wang) [1120468] - [scsi] storvsc: Fix a bug in handling VMBUS protocol version (Jason Wang) [1120468] - [scsi] storvsc: Filter commands based on the storage protocol version (Jason Wang) [1120468] - [scsi] storvsc: Set cmd_per_lun to reflect value supported by the Host (Jason Wang) [1120468] - [scsi] storvsc: Change the limits to reflect the values on the host (Jason Wang) [1120468] - [fs] xfs: always do log forces via the workqueue (Eric Sandeen) [1028831] - [fs] xfs: Do background CIL flushes via a workqueue (Eric Sandeen) [1028831] - [fs] vfs: fix ELOOP error handling in path_mountpoint() (Ian Kent) [1121323] {CVE-2014-5045} - [fs] vfs: fix ref count leak in path_mountpoint() (Ian Kent) [1121323] {CVE-2014-5045} - [fs] xfs: remove xfs_itruncate_data (Brian Foster) [1113418] - [fs] xfs: split xfs_itruncate_finish (Brian Foster) [1113418] - [fs] xfs: kill xfs_itruncate_start (Brian Foster) [1113418] - [fs] xfs: factor extent map manipulations out of xfs_bmapi (Brian Foster) [1113418] - [fs] gfs2: Allow caching of glocks for flock (Robert S Peterson) [1110421] - [fs] gfs2: Allow flocks to use normal glock dq rather than dq_wait (Robert S Peterson) [1110421] - [fs] xfs: don't log dummy transaction on frozen fs (Eric Sandeen) [1076286] - [fs] ext4: set extents flag when migrating file to use extents (Eric Sandeen) [952005]- [netdrv] sfc: Add 40G link capability decoding (Nikolay Aleksandrov) [1111076] - [netdrv] sfc: Adding PCI ID for Solarflare 7000 series 40G network adapter (Nikolay Aleksandrov) [1111076] - [scsi] ibmvscsi: Add memory barriers for send / receive (Gustavo Duarte) [1099590] - [scsi] ibmvscsi: Abort init sequence during error recovery (Gustavo Duarte) [1099590] - [driver] core: fix addition of delayed probe infrastructure (Doug Ledford) [1116871] - [uapi] rdma_user_cm.h: include socket.h (Doug Ledford) [1072857] - [netdrv] bnx2x: fix set_setting for some PHYs (Michal Schmidt) [1009332] - [net] bridge: unregister rtnl message types correctly (Jiri Benc) [1114445]- [drm] nouveau: backport display fixes from upstream (Ben Skeggs) [1105194] - [drivers] platform: use always ->name for uevent (Prarit Bhargava) [1120675] - [hv] remove meaningless pr_err() in vmbus_recvpacket_raw() (Jason Wang) [1112076] - [x86] mm: fix crash when booting as a hyperv NUMA guest (Luiz Capitulino) [979364] - [powerpc] kexec: fix access to kexec_state table (Gustavo Duarte) [1118904] - [powerpc] Dynamic update cache list during suspend and resume (Gustavo Duarte) [1087793] - [netdrv] qlcnic: Initialize mailbox cmd structure to zero (Chad Dupuis) [1115438] - [netdrv] qlcnic: Fix NULL pointer dereference bug (Chad Dupuis) [1110938] - [x86] hpet: Fix bogus error check in hpet_assign_irq() (Prarit Bhargava) [1117874] - [pci] dmar: Fix return value check of create_irq() (Prarit Bhargava) [1117874] - [md] dm-thin: relax external origin size constraints (Mike Snitzer) [1030411] - [md] dm-thin: switch to an atomic_t for tracking pending new block preparations (Mike Snitzer) [1030411] - [scsi] ibmvfc: Fix for offlining devices during error recovery (Gustavo Duarte) [1108718] - [scsi] ibmvfc: Suppress ABTS if target gone (Gustavo Duarte) [1108718] - [scsi] ibmvfc: Send cancel when link is down (Gustavo Duarte) [1108718] - [scsi] ibmvfc: Support FAST_IO_FAIL in EH handlers (Gustavo Duarte) [1108718] - [scsi] ibmvfc: Properly set cancel flags when cancelling abort (Gustavo Duarte) [1108718] - [scsi] bnx2i: Update driver version to 2.7.10.1 (Maurizio Lombardi) [1120723] - [net] l2tp: don't fall back on UDP getsockopt / setsockopt (Petr Matousek) [1119462] {CVE-2014-4943}- [crypto] md5: Set statesize (Mike Snitzer) [1114137] - [crypto] hash: Fix async import on shash algorithm (Mike Snitzer) [1114137] - [crypto] drbg: Enable DRBG by default (Herbert Xu) [1105601] - [crypto] drbg: drbg_exit() can be static (Herbert Xu) [1105601] - [crypto] drbg: HMAC-SHA1 DRBG has crypto strength of 128 bits (Herbert Xu) [1105601] - [crypto] drbg: Mix a time stamp into DRBG state (Herbert Xu) [1105601] - [crypto] drbg: Select correct DRBG core for stdrng (Herbert Xu) [1105601] - [crypto] drbg: Call CTR DRBG DF function only once (Herbert Xu) [1105601] - [crypto] drbg: Fix format string for debugging statements (Herbert Xu) [1105601] - [crypto] drbg: cleanup of preprocessor macros (Herbert Xu) [1105601] - [crypto] drbg: Use Kconfig to ensure at least one RNG option is set (Herbert Xu) [1105601] - [crypto] drbg: use of kernel linked list (Herbert Xu) [1105601] - [crypto] drbg: fix memory corruption for AES192 (Herbert Xu) [1105601] - [crypto] drbg: simplify ordering of linked list in drbg_ctr_df (Herbert Xu) [1105601] - [crypto] drbg: Add DRBG test code to testmgr (Herbert Xu) [1105601] - [crypto] drbg: DRBG testmgr test vectors (Herbert Xu) [1105601] - [crypto] drbg: compile the DRBG code (Herbert Xu) [1105601] - [crypto] drbg: DRBG kernel configuration options (Herbert Xu) [1105601] - [crypto] drbg: header file for DRBG (Herbert Xu) [1105601] - [crypto] drbg: SP800-90A Deterministic Random Bit Generator (Herbert Xu) [1105601]- [crypto] fips: only panic on bad/missing crypto mod signatures (Jarod Wilson) [1105596] - [kernel] futex: avoid race between requeue and wake (Larry Woodman) [1118434] - [kernel] futex: revert back to the explicit waiter counting code (Larry Woodman) [1118434] - [kernel] futex: Avoid taking the hb->lock if there's nothing to wake up (Larry Woodman) [1118434] - [fs] epoll: do not take the nested ep->mtx on EPOLL_CTL_DEL (Larry Woodman) [1100855] - [fs] epoll: do not take global 'epmutex' for simple topologies (Larry Woodman) [1100855] - [fs] epoll: fix spurious lockdep warnings (Larry Woodman) [1100855] - [usb] ehci: fix HUB TT scheduling issue with iso transfer (Gopal) [1092967] - [usb] ehci: reorganize isochronous scheduler routine (Gopal) [1092967] - [usb] ehci: add missing frame -> microframe conversion (Gopal) [1092967] - [usb] ehci: simplify remainder computations (Gopal) [1092967] - [usb] ehci: fix audio record functionality for some Full speed sound blaster devices (Gopal) [1092967] - [usb] ehci: Respect IST when scheduling new split iTDs (Gopal) [1092967] - [usb] ehci: Minor constant fix for SCHEDULE_SLOP (Gopal) [1092967] - [scsi] ipr: Add new CCIN definition for Grand Canyon support (Gustavo Duarte) [1054284] - [scsi] ipr: Format HCAM overlay ID 0x21 (Gustavo Duarte) [1054284] - [scsi] ipr: Handle early EEH (Gustavo Duarte) [1054284] - [scsi] ipr: Add new CCIN definition for new hardware support (Gustavo Duarte) [1054284] - [scsi] ipr: Remove extended delay bit on GSCSI reads/writes ops (Gustavo Duarte) [1054284] - [scsi] ipr: increase dump size in ipr driver (Gustavo Duarte) [1054284] - [scsi] ipr: Increase msi-x interrupt vectors to 16 (Gustavo Duarte) [1054284] - [scsi] ipr: Add sereral new CCIN definitions for new adapters support (Gustavo Duarte) [1054284] - [powerpc] pseries: Add backward compatibilty to read old kernel oops-log (Gustavo Duarte) [929309] - [powerpc] pseries: Read common partition via pstore (Gustavo Duarte) [929309] - [powerpc] pseries: Read of-config partition via pstore (Gustavo Duarte) [929309] - [powerpc] pseries: Distinguish between a os-partition and non-os partition (Gustavo Duarte) [929309] - [powerpc] pseries: Read rtas partition via pstore (Gustavo Duarte) [929309] - [powerpc] pseries: Read/Write oops nvram partition via pstore (Gustavo Duarte) [929309] - [powerpc] pseries: Add version and timestamp to oops header (Gustavo Duarte) [929309] - [powerpc] pseries: Introduce generic read function to read nvram-partitions (Gustavo Duarte) [929309] - [s390] crypto: Fix aes-cbc IV corruption (Herbert Xu) [1003528] - [s390] crypto: Don't panic after crypto instruction failures (Herbert Xu) [1003528] - [s390] crypto: cleanup DES code (Herbert Xu) [1003528] - [s390] crypto: des_s390 use generic weak key check (Herbert Xu) [1003528] - [s390] crypto: remove des3_ede128 mode (Herbert Xu) [1003528] - [s390] af_iucv: correct cleanup if listen backlog is full (Hendrik Brueckner) [1112347] - [kernel] auditsc: audit_krule mask accesses need bounds checking (Denys Vlasenko) [1102705] {CVE-2014-3917} - [acpi] Fix bug when ACPI reset register is implemented in system memory (Nigel Croxon) [1102955] - [net] gro: fix deliver of trunk packets to VLAN interfaces (Marcelo Ricardo Leitner) [1112324] - [block] blk-cgroup: Accept tab as valid field delimiter (Vivek Goyal) [788580]- [kernel] utrace: force IRET path after utrace_finish_vfork() (Oleg Nesterov) [1115933] {CVE-2014-4699} - [kernel] ipc: fix race with LSMs (Paul Moore) [1115477] - [kernel] ipc: ipc_rcu_alloc() cacheline align allocation (Paul Moore) [1115477] - [kernel] ipc: ipc_schedule_free() can do vfree() directly now (Paul Moore) [1115477] - [mm] make vfree() safe to call from interrupt contexts (Paul Moore) [1115477] - [kernel] ipc: Convert ipc_immediate_free() RCU callback to kfree_rcu() (Paul Moore) [1115477] - [mm] hugetlb: ensure hugepage access is denied if hugepages are not supported (Gustavo Duarte) [1086450] - [block] rsxx: Fix possible kernel panic with invalid config (Gustavo Duarte) [1054285] - [crypto] nx: rework Kconfig (Gustavo Duarte) [1053844] - [crypto] nx: fix SHA-2 for chunks bigger than block size (Gustavo Duarte) [1053844] - [crypto] nx: fix GCM for zero length messages (Gustavo Duarte) [1053844] - [crypto] nx: fix XCBC for zero length messages (Gustavo Duarte) [1053844] - [crypto] nx: fix limits to sg lists for AES-CCM (Gustavo Duarte) [1053844] - [crypto] nx: fix limits to sg lists for AES-XCBC (Gustavo Duarte) [1053844] - [crypto] nx: fix limits to sg lists for AES-GCM (Gustavo Duarte) [1053844] - [crypto] nx: fix limits to sg lists for AES-CTR (Gustavo Duarte) [1053844] - [crypto] nx: fix limits to sg lists for AES-CBC (Gustavo Duarte) [1053844] - [crypto] nx: fix limits to sg lists for AES-ECB (Gustavo Duarte) [1053844] - [crypto] nx: add offset to nx_build_sg_lists() (Gustavo Duarte) [1053844] - [crypto] nx: fix nx-aes-gcm verification (Gustavo Duarte) [1053844] - [crypto] nx: fix concurrency issue (Gustavo Duarte) [1053844] - [crypto] nx: saves chaining value from co-processor (Gustavo Duarte) [1053844] - [crypto] nx: fix limits to sg lists for SHA-2 (Gustavo Duarte) [1053844] - [crypto] nx: fix physical addresses added to sg lists (Gustavo Duarte) [1053844] - [crypto] nx: fix typo in nx driver config option (Gustavo Duarte) [1053844] - [powerpc] pseries: Add pseries update notifier for OFDT prop changes (Gustavo Duarte) [1053844] - [netdrv] i40e: fix receive of VLAN packets (Stefan Assmann) [1113513] - [hv] Handle the case when the target file exists correctly (Jason Wang) [1102259] - [hv] Implement the file copy service (Jason Wang) [1102259] - [kernel] uuid: add uuid.h to exported header list (Jason Wang) [1102259] - [block] rename blk_get_queue to blk_get_request_queue (Mike Snitzer) [1098658] - [block] misc updates to blk_get_queue() (Mike Snitzer) [1098658] - [module] add support for soft module dependencies (Neil Horman) [968872] - [crypto] crct10dif: Simple correctness and speed test for CRCT10DIF hash (Neil Horman) [968872] - [crypto] crct10dif: Glue code to cast accelerated CRCT10DIF assembly as a crypto transform (Neil Horman) [968872] - [crypto] crct10dif: Accelerated CRC T10 DIF computation with PCLMULQDQ instruction (Neil Horman) [968872] - [crypto] crct10dif: Wrap crc_t10dif function all to use crypto transform framework (Neil Horman) [968872] - [crypto] testmgr: remove empty element from alg_test_descs (Jan Stancek) [1114983] - [block] revert "block: improve queue_should_plug() by looking at IO depths" (Jeff Moyer) [1003678] - [hv] balloon: Ensure pressure reports are posted regularly (Luiz Capitulino) [1102275] - [kvm] iommu: fix releasing unmapped page (Alex Williamson) [1110977]- [fs] sunrpc: refactor rpcauth_checkverf error returns (Scott Mayhew) [786463] - [fs] nfs: avoid expired credential keys for buffered writes (Scott Mayhew) [786463] - [fs] sunrpc: new rpc_credops to test credential expiry (Scott Mayhew) [786463] - [fs] sunrpc: don't map EKEYEXPIRED to EACCES in call_refreshresult (Scott Mayhew) [786463] - [fs] sunrpc: set gss gc_expiry to full lifetime (Scott Mayhew) [786463] - [fs] sunrpc: handle EKEYEXPIRED in call_refreshresult (Scott Mayhew) [786463] - [fs] sunrpc: Use __func__ in dprintk() in auth_gss.c (Scott Mayhew) [786463] - [fs] sunrpc: Fix machine creds in generic_create_cred and generic_match (Scott Mayhew) [786463] - [fs] sunrpc: Clean up the RPCSEC_GSS service ticket requests (Scott Mayhew) [786463] - [fs] sunrpc: Reduce switch/case indent (Scott Mayhew) [786463] - [fs] nfsd: fix minor memory leak (Scott Mayhew) [786463] - [fs] nfs: Don't mark the data cache as invalid if it has been flushed (Scott Mayhew) [1109365] - [fs] nfs: Clear NFS_INO_REVAL_PAGECACHE when we update the file size (Scott Mayhew) [1109365] - [fs] nfs: Fix cache_validity check in nfs_write_pageuptodate() (Scott Mayhew) [1109365] - [fs] vfs: plug dentry leak in mountpoint_last (Mateusz Guzik) [1114387] - [fs] nfsd: Don't hand out delegations for 30 seconds after recalling them (J. Bruce Fields) [998024] - [scsi] pm8001: Fix potential null pointer dereference and memory leak (Rich Bono) [1054927] - [scsi] pm80xx: Fix missing NULL pointer checks and memory leaks (Rich Bono) [1054927] - [scsi] pm80xx: Spinlock fix (Rich Bono) [1054927] - [scsi] pm80xx: Fixed return value issue (Rich Bono) [1054927] - [scsi] pm80xx: Removing redundant code snippets (Rich Bono) [1054927] - [scsi] pm80xx: Tasklets synchronization fix (Rich Bono) [1054927] - [scsi] pm80xx: Resetting the phy state (Rich Bono) [1054927] - [scsi] pm80xx: Fix for direct attached device (Rich Bono) [1054927] - [scsi] pm80xx: Firmware logging support (Rich Bono) [1054927] - [scsi] pm80xx: Phy settings support for motherboard controller (Rich Bono) [1054927] - [scsi] pm80xx: IButton security feature support for motherboard controllers (Rich Bono) [1054927] - [scsi] pm80xx: Print SAS address of IO failed device (Rich Bono) [1054927] - [scsi] pm80xx: 4G boundary fix (Rich Bono) [1054927] - [scsi] pm80xx: Set device state response logic fix (Rich Bono) [1054927] - [scsi] pm80xx: Display controller BIOS version (Rich Bono) [1054927] - [scsi] pm80xx: Indirect SMP request fix (Rich Bono) [1054927] - [scsi] pm80xx: Device id changes to support series 8 controllers (Rich Bono) [1054927] - [scsi] pm80xx: Fix for 32 bit compilation warning (Rich Bono) [1054927] - [security] keys: Increase root_maxkeys and root_maxbytes sizes (Steve Dickson) [1113607] - [net] ipv4: fix route cache rebuilds (Jiri Pirko) [1111631] - [net] sch_tbf: handle too small burst (Florian Westphal) [1103694] - [net] don't account for udp header size when computing seglen (Florian Westphal) [1103694] - [net] sctp: Fix sk_ack_backlog wrap-around problem (Daniel Borkmann) [1085932] {CVE-2014-4667} - [net] neigh: set nud_state to NUD_INCOMPLETE when probing router reachability (Hannes Frederic Sowa) [1110192] - [scsi] dual scan thread bug fix (David Milburn) [1079922] - [scsi] fix our current target reap infrastructure (David Milburn) [1079922] - [netdrv] sfc: Demote "MC Scheduler error" messages (Nikolay Aleksandrov) [805817] - [input] wacom: fix regression on X220 tablets (Aristeu Rozanski) [1112852] - [doc] procfs: fix incorrect formula to calculate CommitLimit value (Petr Oros) [1050174] - [netdrv] tg3: Clear NETIF_F_TSO6 flag before doing software GSO (Ivan Vecera) [1108572] - [fs] devpts: Add ctl_names back to moved proc files' ctl_tables (Prarit Bhargava) [1105533]- [drm] i915: backport fixes from upstream (Dave Airlie) [1110555] - [acpi] acpi_pad: power_saving_thread() call schedule() when need_resched is true (Tony Camuso) [831828] - [x86] apic: Plug racy xAPIC access of CPU hotplug code (Igor Mammedov) [1075145] - [x86] intel_pstate: Add CPU IDs for Broadwell processors (Steve Best) [1109389] - [x86] exec: fix leak of 32-bit libary mapping behavior to 64-bit children (Denys Vlasenko) [1064475] - [mm] memcg: fix race condition between memcg teardown and swapin (Johannes Weiner) [1001197] - [netdrv] vmxnet3: adjust ring sizes when interface is down (Neil Horman) [1079060] - [x86] kvm: expose ADX feature to guest (Don Dugger) [1097017] - [x86] kvm: expose new instruction RDSEED to guest (Don Dugger) [1097017] - [x86] cpufeature: Add the RDSEED and ADX features (Don Dugger) [1097017] - [x86] avx-512: Enable AVX-512 States Context Switch (Rui Wang) [1036233] - [x86] avx-512: AVX-512 Feature Detection (Rui Wang) [1036233] - [acpi] emca: Combine eMCA/EDAC event reporting priority (Rui Wang) [1032255] - [edac] Add an edac_report parameter to EDAC (Rui Wang) [1032255] - [x86] Export 'boot_cpu_physical_apicid' to modules (Rui Wang) [1032255] - [acpi] Fix extended error log driver to depend on CONFIG_X86_LOCAL_APIC (Rui Wang) [1032255] - [dmi] Avoid unaligned memory access in save_mem_devices() (Rui Wang) [1032255] - [acpi] Move cper.c from drivers/acpi/apei to drivers/firmware/efi (Rui Wang) [1032255] - [acpi] cper: Cleanup CPER memory error output format (Rui Wang) [1032255] - [acpi] cper: Enhance memory reporting capability (Rui Wang) [1032255] - [acpi] cper: Add UEFI 2.4 support for memory error (Rui Wang) [1032255] - [x86] mce: Add validation check before GHES error is recorded (Rui Wang) [1032255] - [dmi] Parse memory device type 17 in SMBIOS (Rui Wang) [1032255] - [dmi] Add DMI entry types to the headers (Rui Wang) [1032255] - [acpi] Extended error log driver for x86 platform (Rui Wang) [1032255] - [edac] bitops: Introduce a more generic BITMASK macro (Rui Wang) [1032255] - [acpi] cper: Update cper info (Rui Wang) [1032255] - [acpi] cper: Fix status check during error printing (Rui Wang) [1032255] - [acpi] ghes: add the needed hooks for EDAC error report (Rui Wang) [1032255] - [acpi] ghes: move structures/enum to a header file (Rui Wang) [1032255] - [lib] ratelimit: fix the return value when __ratelimit() fails to acquire the lock (Jiri Pirko) [1082772] - [lib] ratelimit: Fix/allow use in atomic contexts (Jiri Pirko) [1082772]- [fs] fuse: fix nlink after unlink (Brian Foster) [1054351] - [fs] fuse: fix fallocate vs. ftruncate race (Brian Foster) [1035422] - [fs] fuse: wait for writeback in fuse_file_fallocate() (Brian Foster) [1035422] - [fs] fuse: use list_for_each_entry() for list traversing (Brian Foster) [1035422] - [fs] fuse: readdir: check for slash in names (Brian Foster) [1035422] - [fs] fuse: hotfix truncate_pagecache() issue (Brian Foster) [1035422] - [fs] fuse: invalidate inode attributes on xattr modification (Brian Foster) [1035422] - [fs] fuse: postpone end_page_writeback() in fuse_writepage_locked() (Brian Foster) [1035422] - [fs] fuse: fix readdirplus Oops in fuse_dentry_revalidate (Brian Foster) [1035422] - [fs] fuse: allocate for_background dio requests based on io->async state (Brian Foster) [1035422] - [fs] fuse: optimize wake_up (Brian Foster) [1035422] - [fs] fuse: implement exclusive wakeup for blocked_waitq (Brian Foster) [1035422] - [fs] fuse: skip blocking on allocations of synchronous requests (Brian Foster) [1035422] - [fs] fuse: add flag fc->initialized (Brian Foster) [1035422] - [fs] fuse: make request allocations for background processing explicit (Brian Foster) [1035422] - [fs] fuse: fix hang of single threaded fuseblk filesystem (Brian Foster) [1035422] - [fs] fuse: allow control of adaptive readdirplus use (Brian Foster) [1035422] - [fs] fuse: avoid out-of-scope stack access (Brian Foster) [1035422] - [fs] fuse: Adapt readdirplus to application usage patterns (Brian Foster) [1035422] - [fs] fuse: delete dead .write_begin and .write_end aops (Brian Foster) [1035422] - [fs] fuse: separate queue for FORGET requests (Brian Foster) [1035422] - [fs] fuse: flush background queue on connection close (Brian Foster) [1035422] - [fs] fuse: support splice() reading from fuse device (Brian Foster) [1035422] - [fs] fuse: export generic_pipe_buf_*() to modules (Brian Foster) [1035422] - [fs] fuse: allow splice to move pages (Brian Foster) [1035422] - [fs] fuse: support splice() writing to fuse device (Brian Foster) [1035422] - [fs] fuse: get page reference for readpages (Brian Foster) [1035422] - [fs] bio: modify __bio_add_page to accept pages that dont start a new segment (Maurizio Lombardi) [885517] - [fs] bio: modify __bio_add_page() to accept pages that don't start a new segment (Maurizio Lombardi) [885517] - [fs] gfs2: Only wait for demote when last holder is dequeued (Robert S Peterson) [1110421] - [fs] btrfs: fix bio rw flag usage (Zach Brown) [1072112] - [fs] nfsd: notify_change needs elevated write count (Mateusz Guzik) [1105057] - [fs] cifs: ensure that srv_mutex is held when dealing with ssocket pointer (Sachin Prabhu) [1010233] - [fs] nfsv4: close needs to handle NFS4ERR_ADMIN_REVOKED (Dave Wysochanski) [1082127] - [fs] ext4: init pagevec in ext4_da_block_invalidatepages (Lukas Czerner) [876803] - [fs] ext4: Report max_batch_time option correctly (Lukas Czerner) [1100523] - [fs] ext4: fix deadlock when writing in ENOSPC conditions (Lukas Czerner) [1075780] - [fs] ext4: set b_blocknr to zero when block_validity fails (Lukas Czerner) [997894] - [fs] nfs: Use error handler on failed GETATTR with successful OPEN (Steve Dickson) [1104292] - [fs] lockd: Ensure that nlmclnt_block resets block->b_status after a server reboot (Steve Dickson) [959006] - [fs] nfs: Handle session reset before lease check (Scott Mayhew) [1090656] - [fs] ext4: Avoid underflow in ext4_trim_fs() (Lukas Czerner) [998785] - [fs] gfs2: When adding a new dir entry, inc link count if it is a subdir (Robert S Peterson) [1092083] - [fs] gfs2: Make gfs2_dir_del update link count when required (Robert S Peterson) [1092083] - [fs] gfs2: Don't use gfs2_change_nlink in link syscall (Robert S Peterson) [1092083] - [netdrv] mlx4_en: Add missing size to net_device_ops_ext structures (Amir Vadai) [1059086] - [netdrv] mlx4_en: Implement ndo_get_phys_port for VF's (Amir Vadai) [1059086]- [infiniband] usnic: fix up Kconfig items (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4: drop hpn module option (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Reset RoCE VF gids when guest driver goes down (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4: Invoke UPDATE_QP for proxy QP1 on MAC changes (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Add UPDATE_QP SRIOV wrapper support (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Fix slave id computation for single port VF (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Adjust port number in qp_attach wrapper when detaching (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: don't use napi_synchronize inside mlx4_en_netpoll (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Defer VF initialization till PF is fully initialized (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Preserve pci_dev_data after __mlx4_remove_one() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Add block multicast loopback support (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Unregister inet notifier when unloading ocrdma (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Fix warnings about pointer <-> integer casts (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Code clean-up (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Display FW version (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Query controller information (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Support non-embedded mailbox commands (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Handle CQ overrun error (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Display proper value for max_mw (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Use non-zero tag in SRQ posting (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Memory leak fix in ocrdma_dereg_mr() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Increment abi version count (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Update version string (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: ABI versioning between ocrdma and be2net (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Allow DPP QP creation (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Read ASIC_ID register to select asic_gen (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: SQ and RQ doorbell offset clean up (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: EQ full catastrophe avoidance (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Don't resolve passive side RoCE L2 address in CMA REQ handler (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Remove overload in ib_sg_dma* (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ehca: Remove ib_sg_dma_address() and ib_sg_dma_len() overloads (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ipath: Remove ib_sg_dma_address() and ib_sg_dma_len() overloads (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] qib: Remove ib_sg_dma_address() and ib_sg_dma_len() overloads (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Bump driver version to 1.3 (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Update Mellanox copyright note (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Print QP information once connection is established (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Remove struct iscsi_iser_conn (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Drain the tx cq once before looping on the rx cq (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Fix sector_t format warning (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4_core: Make buffer larger to avoid overflow warning (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4_core: Fix some indenting in mlx4_ib_add() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mad: Check and handle potential DMA mapping errors (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ehca: Returns an error on ib_copy_to_udata() failure (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mthca: Return an error on ib_copy_to_udata() failure (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: Add support for CONFIG_DEV command (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: USe one wrapper that returns -EPERM (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: pass pci_device_id.driver_data to __mlx4_init_one during reset (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4: Use actual number of PCI functions (PF + VFs) for alias GUID logic (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Fix a race condition between failing I/O and I/O completion (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Avoid that writing into "add_target" hangs due to a cable pull (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Make writing into the "add_target" sysfs attribute interruptible (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Avoid duplicate connections (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Add more logging (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Check ib_query_gid return value (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [scsi] scsi_transport_srp: Fix two kernel-doc warnings (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: Adapt num_vfs/probed_vf params for single port VF (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: Adapt code for N-Port VF (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: Add utils for N-Port VFs (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: Add data structures to support N-Ports per VF (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4_ib: Adapt code to use caps.num_ports instead of a constant (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] qib: Cleanup qib_register_observer() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] qib: Change SDMA progression mode depending on single- or multi-rail (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Publish T10-PI support to SCSI midlayer (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Implement check_protection (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [scsi] libiscsi: Add check_protection callback for transports (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Support T10-PI operations (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Initialize T10-PI resources (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Introduce pi_enable, pi_guard module parameters (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Generalize fall_to_bounce_buf routine (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Generalize iser_unmap_task_data and finalize_rdma_unaligned_sg (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Replace fastreg descriptor valid bool with indicators container (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Keep IB device attributes under iser_device (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Move fast_reg_descriptor initialization to a function (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Push the decision what memory key to use into fast_reg_mr routine (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Avoid FRWR notation, use fastreg instead (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Suppress completions for fast registration work requests (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4: Fix a sparse endianness warning (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Fix compiler warning (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] qib: Remove duplicate check in get_a_ctxt() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Remove '0x' when using pa format (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] qib: Fix memory leak of recv context when driver fails to initialize (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] qib: fixup indentation in qib_ib_rcv() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] qib: add missing braces in do_qib_user_sdma_queue_create() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] qib: Modify software pma counters to use percpu variables (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] qib: Add percpu counter replacing qib_devdata int_counter (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] qib: Fix debugfs ordering issue with multiple HCAs (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ipath: Fix potential buffer overrun in sending diag packet routine (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] qib: Fix potential buffer overrun in sending diag packet routine (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: Don't receive packets when the napi budget == 0 (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Fix wrong dump of the vxlan offloads device capability (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: Activate RoCE/SRIOV (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_ib: Fix SIDR support of for UD QPs under SRIOV/RoCE (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: Implement IP based gids support for RoCE/SRIOV (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: Add ref counting to port MAC table for RoCE (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: In RoCE allow guests to have multiple GIDS (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: For RoCE, allow slaves to set the GID entry at that slave's index (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: Adjust QP1 multiplexing for RoCE/SRIOV (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5_core: remove unreachable function call in module init (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Expose support for signature MR feature (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Collect signature error completion (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Support IB_WR_REG_SIG_MR (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Keep mlx5 MRs in a radix tree under device (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Remove MTT access mode from umr flags helper function (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Break up wqe handling into begin & finish routines (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Initialize mlx5_ib_qp signature-related members (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5: Implement create_mr and destroy_mr (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Introduce signature verbs API (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Introduce protected memory regions (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: mlx4_init_slave() shouldn't access comm channel before PF is ready (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Fix memory access error in mlx4_QUERY_DEV_CAP_wrapper() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: mlx4_en_verify_params() can be static (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: Support shutdown() interface (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] Refactor umem to use linear SG table (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Change Connect-X description in kconfig (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Use union for BlueFlame WQE (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Fix sparse warning (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Fix selftest failing on non 10G link speed (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: Replace mlx4_en_mac_to_u64() with mlx4_mac_to_u64() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Move queue stopped/waked counters to be per ring (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Pad ethernet packets smaller than 17 bytes (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Verify mlx4_en module parameters (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Fix UP limit in ieee_ets->prio_tc (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Fix bad use of dev_id (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx: Bump all Mellanox driver versions (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: Fix limiting number of IRQ's instead of RSS queues (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: Set number of RX rings in a utility function (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Fix load time panic during GID table init (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Fix traffic class shift (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Fix use after free in iser_snd_completion() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Avoid dereferencing iscsi_iser conn object when not bound to iser connection (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Fix smatch endianness error (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5: Use pci_enable_msix_range() instead of pci_enable_msix() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: Use pci_enable_msix_range() instead of pci_enable_msix() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Remove dependency on X86 (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5: Add include of because of kzalloc()/kfree() use (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] Report using RoCE IP based gids in port caps (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4: Build the port IBoE GID table properly under bonding (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4: Do IBoE GID table resets per-port (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4: Do IBoE locking earlier when initializing the GID table (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4: Move rtnl locking to the right place (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4: Make sure GID index 0 is always occupied (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4: Don't allocate range of steerable UD QPs for Ethernet-only device (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Don't set "block multicast loopback" capability (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Fix binary compatibility with libmlx5 (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Fix RC transport send queue overhead computation (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Verify reserved fields are cleared (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Remove old field for create mkey mailbox (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Abort driver cleanup if teardown hca fails (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Allow creation of QPs with zero-length work queues (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5_core: Fix PowerPC support (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5: use uintptr_t casts to work around gcc warnings (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5_core: Improve debugfs readability (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Add support for resize CQ (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Implement modify CQ (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Make sure doorbell record is visible before doorbell (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5_core: Use mlx5 core style warning (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Clear out struct before create QP command (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5_core: Fix out arg size in access_register command (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Remove unused includes of (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Fix unused variable warning (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] cma: Handle global/non-linklocal IPv6 addresses in cma_check_linklocal() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Remove unnecessary validation for port number (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Use GFP_ATOMIC under spinlock (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [scsi] scsi_transport_srp: Fix kernel-doc warnings (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [scsi] scsi_transport_srp: Fix a race condition (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [scsi] scsi_transport_srp: Block rport upon TL error even with fast_io_fail_tmo = off (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Add dependency on INET (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Move ocrdma_inetaddr_event outside of "#if CONFIG_IPV6" (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4: Add dependency INET (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] cm: Fix missing unlock on error in cm_init_qp_rtr_attr() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Make ib_addr a core IB module (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Resolve Ethernet L2 addresses when modifying QP (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Populate GID table with IP based gids (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Handle Ethernet L2 parameters for IP based GID addressing (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4: Handle Ethernet L2 parameters for IP based GID addressing (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4: Use IBoE (RoCE) IP based GIDs in the port GID table (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] cma: IBoE (RoCE) IP-based GID addressing (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4: Fix error return code (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Remove unused variable in usnic_debugfs_exit() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Set userspace/kernel ABI ver to 4 (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Advertise usNIC devices as RDMA_NODE_USNIC_UDP (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Add support for RDMA_NODE_USNIC_UDP (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Add dependency on CONFIG_INET (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Fix endianness-related warnings (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: clean up srq_res_start_move_to() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: clean up cq_res_start_move_to() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Ethernet L2 attributes in verbs/cm structures (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4: Add support for steerable IB UD QPs (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4: Add mechanism to support flow steering over IB links (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4: Enable device-managed steering support for IB ports too (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Add support for steerable IB UD QPs (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Add support for IB L2 device-managed steering (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Add flow steering support for IPoIB UD traffic (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Fix micro UAR allocator (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5_core: Remove dead code (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Remove unused code in mr.c (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Append documentation to usnic_transport.h and cleanup (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Fix typo "Ignorning" -> "Ignoring" (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Expose flows via debugfs (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Use for_each_sg instead of a for-loop (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Remove superflous parentheses (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Add RDMA_TRANSPORT_USNIC_UDP (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Add UDP support in usnic_ib_qp_grp.h, usnic_ib_qp_grp.c (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Add UDP support in u*verbs.c, u*main.c and u*util.h (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Add UDP support to usnic_transport.h, usnice_transport.c (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Add UDP support to usnic_fwd.h, usnic_fwd.c (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Update ABI and Version file for UDP support (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Port over sysfs to new usnic_fwd.h (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Port over usnic_ib_qp_grp.* to new usnic_fwd.h (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Port over main.c and verbs.c to the usnic_fwd.h (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Push all forwarding state to usnic_fwd.h & uscnic_fwd.c (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Add struct usnic_transport_spec (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Change WARN_ON to lockdep_assert_held (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] usnic: Add Cisco VIC low-level hardware driver (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Fix OCRDMA_GEN2_FAMILY macro definition (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Fix AV_VALID bit position (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Select PTP_1588_CLOCK (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] make sure the src net is infiniband when create new link (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Only cycle port if HW timestamp config changes (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Add PTP hardware clock (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: slight optimization of addr compare (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] uverbs: Check access to userspace response buffer in extended command (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] uverbs: Check input length in flow steering uverbs (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] uverbs: Set error code when fail to consume all flow_spec items (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] uverbs: Check reserved fields in create_flow (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] uverbs: Check comp_mask in destroy_flow (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] uverbs: Check reserved field in extended command header (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] uverbs: New macro to set pointers to NULL if length is 0 in INIT_UDATA() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [net] rds: prevent BUG_ON triggered on congestion update to loopback (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Check port number for validity before accessing data (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Add NAPI support for transmit side (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Ignore irrelevant hypervisor events (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Set CQE/EQE size to 64B by default (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Implement ndo_get_phys_port_id (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Expose physical port id as PF/VF capability (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Introduce nic_info new flag in QUERY_FUNC_CAP (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Rename QUERY_FUNC_CAP fields (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Remove zeroed out of explicit QUERY_FUNC_CAP fields (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: const'ify inbuf in struct ib_udata (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iwcm: Don't touch cm_id after deref in rem_ref (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Roll back round robin bitmap allocation commit for CQs, SRQs, and MPTs (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: destroy workqueue when driver fails to register (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Remove selftest TX queues empty condition (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Implement the SIOCGHWTSTAMP ioctl (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Re-enable create_flow/destroy_flow uverbs (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: extended command an improved infrastructure for uverbs commands (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Remove ib_uverbs_flow_spec structure from userspace (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Use a common header for uverbs flow_specs (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Make uverbs flow structure use names like verbs ones (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Rename 'flow' structs to match other uverbs structs (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: clarify overflow/underflow checks on ib_create/destroy_flow (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ucma: Convert use of typedef ctl_table to struct ctl_table (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Fix page shift in create CQ for userspace (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4: Fix device max capabilities check (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Fix list_del of empty list (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Remove dead code (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Encorce MR access rights rules on kernel consumers (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4: Fix endless loop in resize CQ (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ucma: Discard events for IDs not yet claimed by user space (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Add Cisco usNIC rdma node and transport types (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Report receive errors correctly (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Avoid offlining operational SCSI devices (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Remove target from list before freeing Scsi_Host structure (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Add change_queue_depth and change_queue_type support (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Make queue size configurable (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Introduce srp_alloc_req_data() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Export sgid to sysfs (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Add periodic reconnect functionality (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [scsi] scsi_transport_srp: Add periodic reconnect support (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Start timers if a transport layer error occurs (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Use SRP transport layer error recovery (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [scsi] scsi_transport_srp: Add transport layer error handling (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Keep rport as long as the IB transport layer (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Make transport layer retry count configurable (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ipath: Convert ipath_user_sdma_pin_pages() to use get_user_pages_fast() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Remove redundant check in ocrdma_build_fr() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Fix a crash in rmmod (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Silence an integer underflow warning (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5: Use enum to indicate adapter page size (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Update opt param mask for RTS2RTS (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Remove "Always false" comparison (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Remove dead code in mr.c (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5_core: Change optimal_reclaimed_pages for better performance (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5: Clear reserved area in set_hca_cap() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5: Support communicating arbitrary host page size to firmware (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5: Fix cleanup flow when DMA mapping fails (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Fix srq free in destroy qp (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Simplify mlx5_ib_destroy_srq (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Fix overflow check in IB_WR_FAST_REG_MR (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Multithreaded create MR (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Fix check of number of entries in create CQ (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] netlink: Remove superfluous RDMA_NL_GET_OP() masking (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Pass imm_data from ib_uverbs_send_wr to ib_send_wr correctly (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ipoib: Start multicast join process only on active ports (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ipoib: Add path query flushing in ipoib_ib_dev_cleanup (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ipoib: Fix usage of uninitialized multicast objects (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ipoib: Avoid flushing the driver workqueue on dev_down (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ipoib: Fix deadlock between dev_change_flags() and __ipoib_dev_flush() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ipoib: Change CM skb memory allocation to be non-atomic during init (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] ipoib: Fix crash in dev_open error flow (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Datapath structures are allocated per NUMA node (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: ICM pages are allocated on device NUMA node (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Datapath resources allocated dynamically (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Add immediate activate for VGT->VST->VGT (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Initialize all mailbox buffers to zero before use (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Add RFS support in UDP (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] cma: Set IBoE SL (user-priority) by egress map when using vlans (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Implement resource quota enforcement (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Fix quota handling in the QUERY_FUNC_CAP wrapper (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: Structures and init/teardown for VF resource quotas (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Fix checking order in MR table init (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Don't fail reg/unreg vlan for older guests (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Resource tracker for reg/unreg vlans (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Use vlan id instead of vlan index for unregistration (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Fix reg/unreg vlan/mac to conform to the firmware spec (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Fix register/unreg vlan flow (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Fix call to __mlx4_unregister_mac (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Temporarily disable create_flow/destroy_flow uverbs (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: Unused local variable in mlx4_opreq_action (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: Fix typo, move similar defs to same location (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: Clean the code to eliminate trivial build warnings (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] Remove unnecessary semicolons (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Ensure proper synchronization accessing memory (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Fix alignment of reg umr gather buffers (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Fix eq names to display nicely in /proc/interrupts (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5: Fix error code translation from firmware to driver (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Fix opt param mask according to firmware spec (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5: Fix opt param mask for sq err to rts transition (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Disable atomic operations (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5: Fix layout of struct mlx5_init_seg (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5: Keep polling to reclaim pages while any returned (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Avoid async events on invalid port number (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Decrease memory consumption of mr caches (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5: Remove checksum on command interface commands (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Fix memory leak in mlx5_ib_create_srq (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Flush cache workqueue before destroying it (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Fix send work queue size calculation (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Rename name of mlx4_en_rx_alloc members (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5: remove unused MLX5_DEBUG param in Kconfig (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Fix compiler warning about int/pointer size mismatch (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Fix redundant pointer check in dealloc flow (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Fix possible memory leak in iser_create_frwr_pool() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Fix passing wrong opcode to modify_srq (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Fill PVID in UMC case (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Add ABI versioning support (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Consider multiple SGES in case of DPP (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Fix for displaying proper link speed (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Increase STAG array size (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Dont use PD 0 for userpace CQ DB (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: FRMA code cleanup (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: For ERX2 irrespective of Qid, num_posted offset is 24 (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Fix to work with even a single MSI-X vector (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Remove the MTU check based on Ethernet MTU (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Add support for fast register work requests (FRWR) (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Create IRD queue fix (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Better checking of userspace values for receive flow steering (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4: Add receive flow steering support (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Export ib_create/destroy_flow through uverbs (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Infrastructure for extensible uverbs commands (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Add receive flow steering support (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Reduce scope of local variables in mlx4_en_xmit (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Fix handling of dma_map failure (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Notify user when TX ring in error state (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Disable global flow control when PFC enabled (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Coding style cleanup in mlx4_en_dcbnl_ieee_setpfc() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5_core: Support MANAGE_PAGES and QUERY_PAGES firmware command changes (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Fixes to XRC reference counting in uverbs (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Add locking around event dispatching on XRC target QPs (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Fix XRC QPs detection in the resource tracker (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Cache recv DB until QP moved to RTR (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Remove __packed (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Remove driver QP state machine (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Don't allow zero/invalid sgid usage (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Remove redundant dev reference (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] ocrdma: Style and redundant code cleanup (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Introduce fast memory registration model (FRWR) (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Place the fmr pool into a union in iser's IB conn struct (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Handle unaligned SG in separate function (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Generalize rdma memory registration (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Accept session->cmds_max from user space (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Restructure allocation/deallocation of connection resources (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] iser: Use proper debug level value for info prints (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: Staticize local functions (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5: remove health handler plugin (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: rename CONFIG_NET_LL_RX_POLL to CONFIG_NET_RX_BUSY_POLL (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: VFs must ignore the enable_64b_cqe_eqe module param (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Don't give VFs MAC addresses which are derived from the PF MAC (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5_core: Variable may be used uninitialized (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5_core: Implement new initialization sequence (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Fix stack info leak in mlx5_ib_alloc_ucontext() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Fix error return code in init_one() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] cma: Only call cma_save_ib_info() for CM REQs (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] cma: Fix accessing invalid private data for UD (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5: fix error return code in mlx5_alloc_uuars() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] cma: Fix gcc warning (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Respond to operation request by firmware (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5: use after free in mlx5_cmd_comp_handler() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5 core: Fix __udivdi3 when compiling for 32 bit arches (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5: Return -EFAULT instead of -EPERM (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5_core: Adjust hca_cap.uar_page_sz to conform to Connect-IB spec (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Let srp_abort() return FAST_IO_FAIL if TL offline (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] rename ll methods to busy-poll (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] rename include/net/ll_poll.h to include/net/busy_poll.h (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] uverbs: Use get_unused_fd_flags(O_CLOEXEC) instead of get_unused_fd() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx5_core: Fixes for sparse warnings (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Make profile[] static in main.c (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_core: Add HW enforcement to VF link state (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx5: Add driver for Mellanox Connect-IB adapters (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Add reserved values to enums for low-level driver use (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Bump driver version and release date (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Make HCA completion vector configurable (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Maintain a single connection per I_T nexus (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Fail I/O fast if target offline (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Skip host settle delay (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Avoid skipping srp_reset_host() after a transport error (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] srp: Fix remove_one crash due to resource exhaustion (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Remove an unnecessary test (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Fix a race between napi poll function and RX ring cleanup (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Move register_netdev() to the end of initialization function (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] core: Fix error return code in add_port() (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: Add VF link state support (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4: Add VF MAC spoof checking support (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] mlx4: use __netdev_pick_tx instead of __skb_tx_hash in mlx4_en_select_queue (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Low Latency recv statistics (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [netdrv] mlx4_en: Add Low Latency Socket (LLS) support (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] switch infiniband uverbs to anon_inodes (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] qib: Optimize CQ callbacks (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [infiniband] drivers: avoid format string in dev_set_name (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [fs] make get_unused_fd_flags() a function (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [base] drivercore: Add driver probe deferral mechanism (Doug Ledford) [1029861 1030158 1043993 1051207 1053497 1054375 1059083 1059086 1059087 1059089 1062766 1078538 696003 807078 826288] - [net] vlan: Implement vlan_dev_get_egress_qos_mask as an inline (Doug Ledford) [1051207] - [net] vlan: Provide read access to the vlan egress map (Doug Ledford) [1051207] - [net] vlan: fix a race in egress prio management (Doug Ledford) [1051207] - [net] core: Add VF link state control policy (Doug Ledford) [1059086] - [net] core: Add VF link state control (Doug Ledford) [1059086] - [net] rtnetlink: Fix VF IFLA policy (Doug Ledford) [1059086] - [net] if_link: Add additional parameter to IFLA_VF_INFO for spoof checking (Doug Ledford) [1059086] - [firmware] iwlwifi: update firmware for 7260 / 3160 devices (Stanislaw Gruszka) [1054423]- [fs] vfs: fix autofs/afs/etc magic mountpoint breakage (Frantisek Hrbata) [1079347] {CVE-2014-0203} - [kernel] sched_cpupri: Fix memory barriers for vec updates to always be in order (Daniel Bristot de Oliveira) [1079478] - [kernel] sched_cpupri: Remove the vec->lock (Daniel Bristot de Oliveira) [1079478] - [md] always set MD_RECOVERY_INTR when interrupting a reshape thread (Jes Sorensen) [1109782] - [md] always set MD_RECOVERY_INTR when aborting a reshape or other "resync" (Jes Sorensen) [1109782] - [md] avoid possible spinning md thread at shutdown (Jes Sorensen) [1109782] - [netdrv] hyperv: Add hash value into RNDIS Per-packet info (Jason Wang) [1102261] - [netdrv] hyperv: Properly handle checksum offload (Jason Wang) [1102261] - [netdrv] hyperv: Enable sendbuf mechanism on the send path (Jason Wang) [1102261] - [netdrv] hyperv: Simplify the send_completion variables (Jason Wang) [1102261] - [netdrv] hyperv: Remove recv_pkt_list and lock (Jason Wang) [1102261] - [netdrv] hyperv: Add support for virtual Receive Side Scaling vRSS (Jason Wang) [1102261] - [hv] vmbus: Implement per-CPU mapping of relid to channel (Jason Wang) [1102261] - [hv] Eliminate the channel spinlock in the callback path (Jason Wang) [1102261] - [netdrv] hyperv: Address UDP checksum issues (Jason Wang) [1102261] - [netdrv] hyperv: Negotiate suitable ndis version for offload support (Jason Wang) [1102261] - [netdrv] hyperv: Allocate memory for all possible per-pecket information (Jason Wang) [1102261] - [netdrv] hyperv: Enable large send offload (Jason Wang) [1102261] - [netdrv] hyperv: Enable send side checksum offload (Jason Wang) [1102261] - [netdrv] hyperv: Enable receive side IP checksum offload (Jason Wang) [1102261] - [netdrv] hyperv: Enable offloads on the host (Jason Wang) [1102261] - [netdrv] hyperv: Cleanup the send path (Jason Wang) [1102261] - [netdrv] hyperv: Enable scatter gather I/O (Jason Wang) [1102261] - [hv] vmbus: Increase the limit on the number of pfns we can handle (Jason Wang) [1102261] - [netdrv] hyperv: Add latest NetVSP versions to auto negotiation (Jason Wang) [1102261] - [netdrv] hyperv: Cleanup the netvsc receive callback functio (Jason Wang) [1102261] - [netdrv] hyperv: Cleanup the receive path (Jason Wang) [1102261] - [netdrv] hyperv: Get rid of the rndis_filter_packet structure (Jason Wang) [1102261] - [hv] vmbus: Support per-channel driver state (Jason Wang) [1102261] - [kernel] kthread: ensure locality of task_struct allocations (Doug Ledford) [1109975] - [kernel] kthread: make kthread_create() killable (Doug Ledford) [1109975] - [kernel] kthread: NUMA aware kthread_create_on_node() (Doug Ledford) [1109975] - [kernel] NUMA aware alloc_thread_info_node() (Doug Ledford) [1109975] - [kernel] NUMA aware alloc_task_struct_node() (Doug Ledford) [1109975] - [netdrv] sfc: use gso_max_segs and remove RHEL-specific hack (Nikolay Aleksandrov) [1021960] - [block] brd: Fix brd_lookup_page() race (Jeff Moyer) [962593] - [scsi] isci: fix needless ata reset escalation (David Milburn) [1074943] - [acpi] acpica: Add "Windows 2013" string to _OSI support (Lenny Szubowicz) [1093502] - [acpi] acpica: Add Windows8/Server2012 string for _OSI method (Lenny Szubowicz) [1093502] - [acpi] acpica: Add Vista SP2 to supported _OSI strings (Lenny Szubowicz) [1093502] - [x86] Replace left over sti/cli in ia32 audit exit code (Niels de Vos) [1105048] - [kernel] audit: Call tty_audit_push_task() outside preempt disabled (Mateusz Guzik) [1097315] - [kernel] watchdog: touch_nmi_watchdog should only touch local cpu not every one (Don Zickus) [646626] - [kernel] Fix race condition in add_memory_block that can cause kernel panic when ballooning down memory (Larry Woodman) [1102551] - [kernel] percpu: fix this_cpu_sub() subtrahend casting for unsigneds (Doug Ledford) [1105648] - [kernel] percpu: fix __this_cpu_*_return() definition (Doug Ledford) [1105648] - [kernel] percpu: Generic support for this_cpu_add, sub, dec, inc_return (Doug Ledford) [1105648] - [kernel] percpu: make alloc_percpu() handle array types (Doug Ledford) [1105648] - [kernel] this_cpu: Introduce this_cpu_ptr() and generic this_cpu_* operations (Doug Ledford) [1105648] - [net] tcp: syncookies: do not use getnstimeofday() (Florian Westphal) [1084438] - [net] tcp: syncookies: reduce mss table to four values (Florian Westphal) [1084438] - [net] tcp: syncookies: update mss tables (Florian Westphal) [1084438] - [net] tcp: syncookies: reduce cookie lifetime to 128 seconds (Florian Westphal) [1084438] - [net] rate-limit warn-bad-offload splats (Nikolay Aleksandrov) [1103683] - [net] Use device model to get driver name in skb_gso_segment() (Nikolay Aleksandrov) [1103683] - [net] openvswitch: fix use-after-free bug in netns (Flavio Leitner) [1100127] - [net] llc: Fix length check in llc_fixup_skb() (Jiri Benc) [1101053] - [net] unix socket code abuses csum_partial (Hannes Frederic Sowa) [1077296] - [net] fix wrong mac_len calculation for vlans (Nikolay Aleksandrov) [1102044] - [net] tcp: fix a timewait refcnt race (Jiri Benc) [1098048] - [net] filter: add vlan tag access (Jiri Benc) [1082097] - [net] filter: add XOR operation (Jiri Benc) [1082097] - [net] filter: add SKF_AD_RXHASH and SKF_AD_CPU (Jiri Benc) [1082097] - [net] filter: Socket filter ancilliary data access for skb->dev->type (Jiri Benc) [1082097] - [net] filter: Add SKF_AD_QUEUE instruction (Jiri Benc) [1082097] - [net] filter: ingress socket filter by mark (Jiri Benc) [1082097] - [scsi] bnx2i: Make boot_nic entry visible in the sysfs session objects (Maurizio Lombardi) [1101442] - [scsi] hpsa: update driver version to 3.4.4-1-RH1 (Tomas Henzl) [1108346] - [scsi] hpsa: add new Smart Array PCI IDs (May 2014) (Tomas Henzl) [1108346] - [scsi] hpsa: Checking for a NULL return from a kzalloc call (Tomas Henzl) [1108346]- [scsi] Add timeout to avoid infinite command retry (David Milburn) [974583] - [md] dm-thin: update discard_granularity to reflect the thin-pool blocksize (Mike Snitzer) [1108809] - [md] dm-bio-prison: implement per bucket locking in the dm_bio_prison hash table (Mike Snitzer) [1108809] - [md] dm-thin: return ENOSPC instead of EIO when error_if_no_space enabled (Mike Snitzer) [1108809] - [netdrv] i40evf: don't use RESETTING state during reinit (Stefan Assmann) [1038788] - [netdrv] i40evf: remove storm control (Stefan Assmann) [1038788] - [netdrv] i40evf: Remove reserved PCTYPE defines (Stefan Assmann) [1038788] - [netdrv] i40evf: Update check for AQ aliveness (Stefan Assmann) [1038788] - [netdrv] i40evf: Use is_multicast_ether_addr helper (Stefan Assmann) [1038788] - [netdrv] i40evf: remove usless return statements (Stefan Assmann) [1038788] - [netdrv] i40evf: Use pci_enable_msix_range() instead of pci_enable_msix() (Stefan Assmann) [1038788] - [netdrv] i40evf: control auto ITR through ethtool (Stefan Assmann) [1038788] - [netdrv] i40evf: set proper default for ITR registers (Stefan Assmann) [1038788] - [netdrv] i40evf: make ethtool_ops const (Stefan Assmann) [1038788] - [netdrv] i40evf: don't lie to ethtool (Stefan Assmann) [1038788] - [netdrv] i40evf: Use macro param for ethtool stats (Stefan Assmann) [1038788] - [netdrv] i40evf: Fix the headers and update copyright year (Stefan Assmann) [1038788] - [netdrv] i40evf: Remove unused defines (Stefan Assmann) [1038788] - [netdrv] i40evf: Update AdminQ interface (Stefan Assmann) [1038788] - [netdrv] i40evf: get rid of SET_ETHTOOL_OPS (Stefan Assmann) [1038788] - [netdrv] i40evf: enable CONFIG_I40EVF (Stefan Assmann) [1038788] - [netdrv] i40evf: fixes to get i40evf working with RHEL6.6 (Stefan Assmann) [1038788] - [netdrv] i40evf: initial commit (Stefan Assmann) [1038788] - [netdrv] i40e: relax the firmware API version check (Stefan Assmann) [1038787] - [netdrv] i40: disable FCoE for MFP modes (Stefan Assmann) [1038787] - [netdrv] i40e: add clear_pxe AdminQ request (Stefan Assmann) [1038787] - [netdrv] i40e: Clear recovery pending, if reset failed (Stefan Assmann) [1038787] - [netdrv] i40e: Change type to u32 to avoid sparse error (Stefan Assmann) [1038787] - [netdrv] i40e: remove storm control (Stefan Assmann) [1038787] - [netdrv] i40e: Use the new i40e_get_fd_cnt_all function in other places (Stefan Assmann) [1038787] - [netdrv] i40e: Report cmd->data in ETHTOOL_GRXCLSRLCNT instead of ETHTOOL_GRXCLSRULE (Stefan Assmann) [1038787] - [netdrv] i40e: Remove reserved PCTYPE defines (Stefan Assmann) [1038787] - [netdrv] i40e: Tx/Rx rings declaration (Stefan Assmann) [1038787] - [netdrv] i40e: enable descriptor prefetch for VFs (Stefan Assmann) [1038787] - [netdrv] i40e: Update check for AQ aliveness (Stefan Assmann) [1038787] - [netdrv] i40e: remove usless return statements (Stefan Assmann) [1038787] - [netdrv] i40e: fix passing wrong error code to i40e_open() (Stefan Assmann) [1038787] - [netdrv] i40e: Check PCI_IOV config to avoid compile error (Stefan Assmann) [1038787] - [netdrv] i40e: remove Tx work for ptp (Stefan Assmann) [1038787] - [netdrv] i40e: Don't disable SR-IOV when VFs are assigned (Stefan Assmann) [1038787] - [netdrv] i40e: remove hardcode of stats struct size in ethtool (Stefan Assmann) [1038787] - [netdrv] i40e: control auto ITR through ethtool (Stefan Assmann) [1038787] - [netdrv] i40e: set proper default for ITR registers (Stefan Assmann) [1038787] - [netdrv] i40e: add required include (Stefan Assmann) [1038787] - [netdrv] i40e: get rid of SET_ETHTOOL_OPS (Stefan Assmann) [1038787] - [netdrv] i40e: fix Timesync Tx interrupt handler code (Stefan Assmann) [1038787] - [netdrv] i40e: enable CONFIG_I40E (Stefan Assmann) [1038787] - [netdrv] i40e: fixes to get i40e working with RHEL6.6 (Stefan Assmann) [1038787] - [netdrv] i40e: initial commit (Stefan Assmann) [1038787] - [pci] pci_regs: Add PCI bus link speed and width defines (Stefan Assmann) [1038787] - [netdrv] veth: fix NULL dereference in veth_dellink() (Ivan Vecera) [1108641] - [netdrv] veth: fix a NULL deref in netif_carrier_off (Ivan Vecera) [1108641] - [netdrv] veth: avoid a NULL deref in veth_stats_one (Ivan Vecera) [1108641] - [scsi] lpfc: Update version for 10.2.8020.1 driver release (Rob Evers) [1109274] - [scsi] lpfc: Add iotag memory barrier (Rob Evers) [1109274] - [scsi] lpfc 10.2.8001.0: Fix ExpressLane priority setup (Rob Evers) [1109274] - [scsi] lpfc 10.2.8001.0: Fix for initializing RRQ bitmap (Rob Evers) [1109274] - [scsi] lpfc 10.2.8001.0: Fix for cleaning up stale ring flag and sp_queue_event entries (Rob Evers) [1109274]- [kernel] cred: Fix double free in prepare_usermodehelper_creds() error handling (Radomir Vrbovsky) [1087544] - [kernel] cred: Fix memory leak in error handling (Radomir Vrbovsky) [1087544] - [drm] i915: mst topology dumper in debugfs (Dave Airlie) [1074025] - [drm] i915: add DP 1.2 MST support (Dave Airlie) [1074025] - [drm] i915: check connector->encoder before using it (Dave Airlie) [1074025] - [drm] i915: split some DP modesetting code into a separate function (Dave Airlie) [1074025] - [drm] dp_helper: add Displayport multi-stream helper (Dave Airlie) [1074025] - [drm] add a path blob property (Dave Airlie) [1074025] - [drm] fb_helper: allow adding/removing connectors later (Dave Airlie) [1074025] - [drm] crtc: add interface to reinitialise the legacy mode group (Dave Airlie) [1074025] - [drm] fix memory leak around mode_group (Dave Airlie) [1074025] - [drm] i915: add some registers need for displayport MST support (Dave Airlie) [1074025] - [drm] add DP MST encoder type (Dave Airlie) [1074025] - [drm] dp_helper: add defines for DP 1.2 and MST support (Dave Airlie) [1074025] - [drm] i915: support address only i2c-over-aux transactions (Dave Airlie) [1074025] - [drm] i915: use the new drm helpers for dp i2c-over-aux (Dave Airlie) [1074025] - [drm] i915: move dp aux ch register init to aux init (Dave Airlie) [1074025] - [drm] i915: use the new drm helpers for dp aux (Dave Airlie) [1074025] - [drm] i915: move edp vdd enable/disable at a lower level in i2c-over-aux (Dave Airlie) [1074025] - [drm] i915: split edp_panel_vdd_on() for reuse (Dave Airlie) [1074025] - [drm] i915: fix order of dp aux i2c device cleanup (Dave Airlie) [1074025] - [drm] i915: add unregister callback to connector (Dave Airlie) [1074025] - [drm] i915: Enable 5.4Ghz HBR2 link rate for Displayport 1.2-capable devices (Dave Airlie) [1074025] - [drm] dp_helper: don't return EPROTO for defers (Dave Airlie) [1074025] - [drm] dp: Update comments about common i2c over dp assumptions (Dave Airlie) [1074025] - [drm] dp: let drivers specify the name of the I2C-over-AUX adapter (Dave Airlie) [1074025] - [drm] dp: Allow registering AUX channels as I2C busses (Dave Airlie) [1074025] - [drm] dp: Add DisplayPort link helpers (Dave Airlie) [1074025] - [drm] dp: Add drm_dp_dpcd_read_link_status() (Dave Airlie) [1074025] - [drm] dp: Add AUX channel infrastructure (Dave Airlie) [1074025] - [drm] dp_helper: Add DP test sink CRC definition (Dave Airlie) [1074025] - [drm] radeon: fix register typo on si (Rob Clark) [1082803] - [drm] i915: add locking to fixed panel edid probing (Rob Clark) [1082803] - [drm] upstream sync to v3.14.2 (Rob Clark) [1082803] - [drm] upstream sync to v3.13.11 (Rob Clark) [1082801] - [drm] upstream sync to v3.12.18 (Rob Clark) [1082794] - [drm] upstream sync to v3.11.10 (Rob Clark) [1082788] - [drm] upstream sync to v3.10.38 (Rob Clark) [1082786] - [netdrv] bna: Update the Driver Version to 3.2.23.0 (Ivan Vecera) [1054464] - [netdrv] bna: Firmware Patch Simplification (Ivan Vecera) [1054464] - [netdrv] bna: Embed SKB Length in TX Vector (Ivan Vecera) [1054464] - [netdrv] bna: Handle the TX Setup Failures (Ivan Vecera) [1054464] - [netdrv] bna: Add NULL Check Before Dereferencing TCB (Ivan Vecera) [1054464] - [netdrv] bna: CQ Read Fix (Ivan Vecera) [1054464] - [netdrv] bna: RX Processing and Config Changes (Ivan Vecera) [1054464] - [netdrv] bna: Enable Multi Buffer RX (Ivan Vecera) [1054464] - [netdrv] bna: RX Filter Enhancements (Ivan Vecera) [1054464] - [netdrv] bna: Fix Filter Add Del (Ivan Vecera) [1054464] - [netdrv] bna: Set Get IOC fw State (Ivan Vecera) [1054464] - [netdrv] bna: Add software timestamping support (Ivan Vecera) [1054464] - [kernel] tracing: Add BUG_ON when stack end location is over written (Aaron Tomlin) [1094831] - [netdrv] bonding: look for bridge IPs in arp monitoring (Veaceslav Falico) [704190] - [kernel] sched: free per cpu migration threads on suspend (Prarit Bhargava) [1020466] - [ata] ahci: AHCI-mode SATA patch for Intel Coleto Creek DeviceIDs (Prarit Bhargava) [1053911] - [ata] ata_piix: IDE-mode SATA patch for Intel Coleto Creek DeviceIDs (Prarit Bhargava) [1053911] - [i2c] i801: SMBus patch for Intel Coleto Creek DeviceIDs (Prarit Bhargava) [1053911] - [mfd] lpc_ich: iTCO_wdt patch for Intel Coleto Creek DeviceIDs (Prarit Bhargava) [1053911] - [firmware] efi-pstore: Make efi-pstore return a unique id (Tomoki Sekiyama) [1054513] - [firmware] efivars: Hold off deletion of sysfs entry until the scan is completed (Tomoki Sekiyama) [1054514] - [firmware] efi-pstore: Cocci spatch "memdup.spatch" (Tomoki Sekiyama) [1054514] - [firmware] efi-pstore: Read data from variable store before memcpy() (Tomoki Sekiyama) [1054514] - [firmware] efivars: efivar_entry API (Tomoki Sekiyama) [1054514] - [firmware] efivarfs: Return an error if we fail to read a variable (Tomoki Sekiyama) [1054513] - [acpi] acpica: Add a lock to the internal object reference count mechanism (Naoya Horiguchi) [1023242] - [acpi] acpica: Standardize integer output for ACPICA warnings/errors (Naoya Horiguchi) [1023242] - [acpi] acpica: Change package length error message to an info message (Naoya Horiguchi) [1023242] - [acpi] acpica: Use acpi_os_create_lock interface (Naoya Horiguchi) [1023242] - [acpi] osl: add acpi_os_create_lock interface (Naoya Horiguchi) [1023242] - [edac] mce_amd: Add MCE decoding support for Family 16h (Kim Naru) [989776] - [edac] mce_amd: Make MC2 decoding per-family (Kim Naru) [989776] - [edac] mce_amd: Dump error status (Kim Naru) [989776] - [edac] mce_amd: Report decoded error type first (Kim Naru) [989776] - [edac] mce_amd: Dump CPU f/m/s triple with the error (Kim Naru) [989776] - [edac] mce_amd: Remove functional unit references (Kim Naru) [989776] - [edac] Revert "Add error decoding support for AMD Fam16h processors" (Kim Naru) [989776] - [hv] hyperv-fb: kick off efifb early (Jason Wang) [1056676] - [hv] hyperv-fb: add support for generation 2 virtual machines (Jason Wang) [1056676] - [hv] vmbus: use resource for hyperv mmio region (Jason Wang) [1056676] - [hv] vmbus: add missing breaks (Jason Wang) [1056676] - [hv] vmbus: Extract the mmio information from DSDT (Jason Wang) [1056676] - [input] hyperv-keyboard - pass through 0xE1 prefix (Jason Wang) [1056676] - [input] add a driver to support Hyper-V synthetic keyboard (Jason Wang) [1056676] - [x86] Remove useless reinitialization of irq descriptors (Jason Wang) [1056676] - [x86] pic: Fix section mismatch in legacy pic (Jason Wang) [1056676] - [x86] pic: Probe for legacy PIC and set legacy_pic appropriately (Jason Wang) [1056676] - [x86] hyperv: Correctly guard the local APIC calibration code (Jason Wang) [1056676] - [x86] hyperv: Get the local APIC timer frequency from the hypervisor (Jason Wang) [1056676] - [x86] legacy_irq: Remove left over nr_legacy_irqs (Jason Wang) [1056676] - [x86] pic: Make use of legacy_pic abstraction (Jason Wang) [1056676] - [x86] pic: Introduce legacy_pic abstraction (Jason Wang) [1056676] - [x86] apic: Allow use of lapic timer early calibration result (Jason Wang) [1056676] - [edac] sb_edac: add support for Haswell based systems (Aristeu Rozanski) [1010484] - [edac] sb_edac: remove bogus assumption on mc ordering (Aristeu Rozanski) [1010484] - [edac] sb_edac: fix socket detection on Ivy Bridge controllers (Aristeu Rozanski) [1010484] - [edac] sb_edac: update Kconfig description (Aristeu Rozanski) [1010484] - [edac] sb_edac: search devices using product id (Aristeu Rozanski) [1010484] - [edac] sb_edac: make RIR limit retrieval per model (Aristeu Rozanski) [1010484] - [edac] sb_edac: make node id retrieval per model (Aristeu Rozanski) [1010484] - [edac] sb_edac: make memory type detection per memory controller (Aristeu Rozanski) [1010484] - [net] ip_tunnel: fix ip_tunnel_find to return NULL in case the tunnel is not there (Jiri Pirko) [1104503] - [net] ip6ip6: autoload ip6 tunnel (Hannes Frederic Sowa) [1104038] - [net] netlink: Use netlink_ns_capable to verify the permisions of netlink messages (Jiri Benc) [1094267] {CVE-2014-0181} - [net] netlink: Add variants of capable for use on netlink messages (Jiri Benc) [1094267] {CVE-2014-0181} - [net] Add file_ns_capable() helper function for open-time capability checking (Jiri Benc) [1094267] {CVE-2014-0181} - [net] security: remove the security_netlink_recv hook as it is equivalent to capable() (Jiri Benc) [1094267] {CVE-2014-0181} - [net] netlink: rename ssk to sk in struct netlink_skb_params (Jiri Benc) [1094267] {CVE-2014-0181} - [net] netlink: Make the sending netlink socket availabe in NETLINK_CB (Jiri Benc) [1094267] {CVE-2014-0181} - [net] netlink: kill loginuid/sessionid/sid members from struct netlink_skb_parms (Jiri Benc) [1094267] {CVE-2014-0181} - [net] netlink: kill eff_cap from struct netlink_skb_parms (Jiri Benc) [1094267] {CVE-2014-0181} - [net] netlink: Rename netlink_capable netlink_allowed (Jiri Benc) [1094267] {CVE-2014-0181} - [net] netlink: Fix permission check in netlink_connect() (Jiri Benc) [1094267] {CVE-2014-0181} - [net] netlink: fix possible spoofing from non-root processes (Jiri Benc) [1094267] {CVE-2014-0181} - [net] netlink: Make NETLINK_USERSOCK work again (Jiri Benc) [1094267] {CVE-2014-0181}- [netdrv] qlogic: Use time_before() (Chad Dupuis) [1054305] - [netdrv] net: get rid of SET_ETHTOOL_OPS (Chad Dupuis) [1054305] - [netdrv] qlcnic: Do not disable SR-IOV on PF unload when VFs are assigned to VMs (Chad Dupuis) [1054305] - [netdrv] qlcnic: Update version to 5.3.59 (Chad Dupuis) [1054305] - [netdrv] qlcnic: Collect firmware dump using DMA on 82xx adapters (Chad Dupuis) [1054305] - [netdrv] qlcnic: Add mac learning support to SR-IOV VF (Chad Dupuis) [1054305] - [netdrv] qlcnic: Add support to process commands in atomic context (Chad Dupuis) [1054305] - [netdrv] qlcnic: Allow SR-IOV VF probe in hypervisor (Chad Dupuis) [1054305] - [netdrv] qlcnic: Set real_num_tx_queues, real_num_rx_queues properly (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix panic while dumping TX queues on TX timeout (Chad Dupuis) [1054305] - [netdrv] qlcnic: Update version to 5.3.58 (Chad Dupuis) [1054305] - [netdrv] qlcnic: Limit vNIC support in legacy interrupt mode (Chad Dupuis) [1054305] - [netdrv] qlcnic: Add driver logs in error path (Chad Dupuis) [1054305] - [netdrv] qlcnic: Allow setting TX interrupt coalescing parameters from VF (Chad Dupuis) [1054305] - [netdrv] qlcnic: Add hwmon-sysfs interface to export board temperature (Chad Dupuis) [1054305] - [netdrv] qlcnic: Optimize MAC learning code (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix memory leak (Chad Dupuis) [1054305] - [netdrv] qlcnic: Reset firmware API lock at driver load time (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix MSI-X initialization code (Chad Dupuis) [1054305] - [netdrv] qlcnic: Do not disable SR-IOV when VFs are assigned in guest OS (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix QLogic application/driver interface for virtual NIC configuration (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix PVID configuration on eSwitch port (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix max ring count calculation (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix to send INIT_NIC_FUNC as first mailbox (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix panic due to uninitialzed delayed_work struct in use (Chad Dupuis) [1054305] - [netdrv] qlcnic: include irq.h for irq definitions (Chad Dupuis) [1054305] - [netdrv] qlcnic: Remove casts of pointer to same type (Chad Dupuis) [1054305] - [netdrv] qlcnic: Update version to 5.3.57 (Chad Dupuis) [1054305] - [netdrv] qlcnic: fix a couple off-by-one bugs (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix number of rings when we fall back from msix to legacy (Chad Dupuis) [1054305] - [netdrv] qlcnic: Allow any VLAN to be configured from VF (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix function return error check (Chad Dupuis) [1054305] - [netdrv] qlcnic: Update version to 5.3.56 (Chad Dupuis) [1054305] - [netdrv] qlcnic: Enhance semaphore lock access failure error message (Chad Dupuis) [1054305] - [netdrv] qlcnic: Allow vlan0 traffic (Chad Dupuis) [1054305] - [netdrv] qlcnic: Enhance driver message in failed state (Chad Dupuis) [1054305] - [netdrv] qlcnic: Updates to QLogic application/driver interface for virtual NIC configuration (Chad Dupuis) [1054305] - [netdrv] qlcnic: Re-factor firmware minidump template header handling (Chad Dupuis) [1054305] - [netdrv] qlcnic: Cleanup qlcnic_enable_msix() return values (Chad Dupuis) [1054305] - [netdrv] qlcnic: update version to 5.3.55 (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix loopback test failure (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix tx timeout (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix initialization of vlan list (Chad Dupuis) [1054305] - [netdrv] qlcnic: Correct off-by-one errors in bounds checks (Chad Dupuis) [1054305] - [netdrv] qlcnic: Enhance logic to calculate msix vectors (Chad Dupuis) [1054305] - [netdrv] qlcnic: Refactor interrupt coalescing code for all adapters (Chad Dupuis) [1054305] - [netdrv] qlcnic: Update poll controller code path (Chad Dupuis) [1054305] - [netdrv] qlcnic: Interrupt code cleanup (Chad Dupuis) [1054305] - [netdrv] qlcnic: Enhance Tx timeout debugging (Chad Dupuis) [1054305] - [netdrv] qlcnic: Use bool for rx_mac_learn (Chad Dupuis) [1054305] - [netdrv] qlcnic: fix sparse warnings (Chad Dupuis) [1054305] - [netdrv] qlcnic: remove unused code (Chad Dupuis) [1054305] - [netdrv] qlcnic: make local functions static (Chad Dupuis) [1054305] - [netdrv] qlcnic: Update version to 5.3.54 (Chad Dupuis) [1054305] - [netdrv] qlcnic: Enable IPv6 LRO even if IP address is not programmed (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix SR-IOV cleanup code path (Chad Dupuis) [1054305] - [netdrv] qlcnic: Enable beaconing for 83xx/84xx Series adapter (Chad Dupuis) [1054305] - [netdrv] qlcnic: Do MAC learning for SRIOV PF (Chad Dupuis) [1054305] - [netdrv] qlcnic: Turn on promiscous mode for SRIOV PF (Chad Dupuis) [1054305] - [netdrv] qlcnic: Enable VF flood bit on PF (Chad Dupuis) [1054305] - [netdrv] qlcnic: Restrict VF from configuring any VLAN mode (Chad Dupuis) [1054305] - [netdrv] qlcnic: Convert vmalloc/memset to kcalloc (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix ethtool statistics length calculation (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix bug in TX statistics (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix bug in Tx completion path (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix resource allocation for TX queues (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix loopback diagnostic test (Chad Dupuis) [1054305] - [netdrv] qlcnic: Mark functions as static in qlcnic_83xx_hw.c (Chad Dupuis) [1054305] - [netdrv] qlcnic: Mark functions as static in qlcnic_io.c (Chad Dupuis) [1054305] - [netdrv] qlcnic: update version to 5.3.53 (Chad Dupuis) [1054305] - [netdrv] qlcnic: Support for 16 virtual NIC functions (Chad Dupuis) [1054305] - [netdrv] qlcnic: VLAN enhancement for 84XX adapters (Chad Dupuis) [1054305] - [netdrv] qlcnic: Allow single Tx/Rx queue for all adapters (Chad Dupuis) [1054305] - [netdrv] qlcnic: Refactor initialize nic code path (Chad Dupuis) [1054305] - [netdrv] qlcnic: Issue INIT_NIC command only once (Chad Dupuis) [1054305] - [netdrv] qlcnic: Disable DCB operations from SR-IOV VFs (Chad Dupuis) [1054305] - [netdrv] qlcnic: Dump mailbox registers when mailbox command times out (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix mailbox processing during diagnostic test (Chad Dupuis) [1054305] - [netdrv] qlcnic: Allow firmware dump collection when auto firmware recovery is disabled (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix memory allocation (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix TSS/RSS validation for 83xx/84xx series adapter (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix TSS/RSS ring validation logic (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix diagnostic test for all adapters (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix usage of netif_tx_wake, netif_tx_stop api during link change (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix typo in printk (Chad Dupuis) [1054305] - [netdrv] qlcnic: update version to 5.3.52 (Chad Dupuis) [1054305] - [netdrv] qlcnic: Enable multiple Tx queue support for 83xx/84xx Series adapters (Chad Dupuis) [1054305] - [netdrv] qlcnic: refactor Tx/SDS ring calculation and validation in driver (Chad Dupuis) [1054305] - [netdrv] qlcnic: Enhance ethtool Statistics for Multiple Tx queue (Chad Dupuis) [1054305] - [netdrv] qlcnic: Register netdev in FAILED state for 83xx/84xx (Chad Dupuis) [1054305] - [netdrv] qlcnic: Do not read QLCNIC_FW_CAPABILITY_MORE_CAPS bit for 83xx adapter (Chad Dupuis) [1054305] - [netdrv] qlcnic: Do not force adapter to perform LRO without destination IP check (Chad Dupuis) [1054305] - [netdrv] qlcnic: remove unnecessary pci_set_drvdata() (Chad Dupuis) [1054305] - [netdrv] qlcnic: Validate Tx queue only for 82xx adapters (Chad Dupuis) [1054305] - [netdrv] qlcnic: update version to 5.3.51 (Chad Dupuis) [1054305] - [netdrv] qlcnic: Skip unknown entry type while collecting firmware dump (Chad Dupuis) [1054305] - [netdrv] qlcnic: dcb code cleanup and refactoring (Chad Dupuis) [1054305] - [netdrv] qlcnic: Remove redundant eSwitch enable commands (Chad Dupuis) [1054305] - [netdrv] qlcnic: Update ethtool standard pause settings (Chad Dupuis) [1054305] - [netdrv] qlcnic: Firmware dump collection when auto recovery is disabled (Chad Dupuis) [1054305] - [netdrv] qlcnic: Enhance ethtool to display ring indices and interrupt mask (Chad Dupuis) [1054305] - [netdrv] qlcnic: Print informational messages only once during driver load (Chad Dupuis) [1054305] - [netdrv] qlcnic: add missing destroy_workqueue() on error path in qlcnic_probe() (Chad Dupuis) [1054305] - [netdrv] qlcnic: Miscellaneous conversions to ETH_ALEN (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix SR-IOV configuration (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix register device in FAILED state for 82xx (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix VF reset recovery (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix warning reported by kbuild test robot (Chad Dupuis) [1054305] - [netdrv] qlcnic: use standard NAPI weights (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix sparse warning (Chad Dupuis) [1054305] - [netdrv] qlcnic: Convert uses of compare_ether_addr to ether_addr_equal (Chad Dupuis) [1054305] - [netdrv] qlcnic: Update version to 5.3.50 (Chad Dupuis) [1054305] - [netdrv] qlcnic: Add support for per port eswitch configuration (Chad Dupuis) [1054305] - [netdrv] qlcnic: Restructuring of qlc_83xx_fw_info structure (Chad Dupuis) [1054305] - [netdrv] qlcnic: Add AER support for 83xx adapter (Chad Dupuis) [1054305] - [netdrv] qlcnic: Add AER callback handlers (Chad Dupuis) [1054305] - [netdrv] qlcnic: Store firmware dump state in CAMRAM register (Chad Dupuis) [1054305] - [netdrv] qlcnic: Use firmware recommended dump capture mask as default (Chad Dupuis) [1054305] - [netdrv] qlcnic: Remove inline keyword (Chad Dupuis) [1054305] - [netdrv] qlcnic: Enhance PVID handling for 84xx adapters (Chad Dupuis) [1054305] - [netdrv] qlcnic: Convert dma_alloc_coherent() to dma_zalloc_coherent (Chad Dupuis) [1054305] - [netdrv] qlcnic: underflow in qlcnic_validate_max_tx_rings() (Chad Dupuis) [1054305] - [netdrv] qlcnic: Update version to 5.3.49 (Chad Dupuis) [1054305] - [netdrv] qlcnic: dcb: Add support for CEE Netlink interface (Chad Dupuis) [1054305] - [netdrv] qlcnic: dcb: Register DCB AEN handler (Chad Dupuis) [1054305] - [netdrv] qlcnic: dcb: Get DCB parameters from the adapter (Chad Dupuis) [1054305] - [netdrv] qlcnic: dcb: Query adapter DCB capabilities (Chad Dupuis) [1054305] - [netdrv] qlcnic: Update version to 5.3.48 (Chad Dupuis) [1054305] - [netdrv] qlcnic: Enable diagnostic test for multiple Tx queues (Chad Dupuis) [1054305] - [netdrv] qlcnic: Enable Tx queue changes using ethtool for 82xx Series adapter (Chad Dupuis) [1054305] - [netdrv] qlcnic: Multi Tx queue support for 82xx Series adapter (Chad Dupuis) [1054305] - [netdrv] qlcnic: Update version to 5.3.47 (Chad Dupuis) [1054305] - [netdrv] qlcnic: Add support for 84xx adapters to load firmware from file (Chad Dupuis) [1054305] - [netdrv] qlcnic: Loopback Inter Driver Communication AEN handler (Chad Dupuis) [1054305] - [netdrv] qlcnic: Add PVID support for 84xx adapters (Chad Dupuis) [1054305] - [netdrv] qlcnic: Enable support for 844X adapter (Chad Dupuis) [1054305] - [netdrv] qlcnic: Update version to 5.2.46 (Chad Dupuis) [1054305] - [netdrv] qlcnic: Dump mailbox command data when a command times out (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix driver initialization for 83xx adapters (Chad Dupuis) [1054305] - [netdrv] qlcnic: Flush mailbox command list when mailbox is not available (Chad Dupuis) [1054305] - [netdrv] qlcnic: Reinitialize mailbox data structures after firmware reset (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix diagnostic interrupt test for 83xx adapters (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix beacon state return status handling (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix set driver version command (Chad Dupuis) [1054305] - [netdrv] qlcnic: Update version to 5.2.45 (Chad Dupuis) [1054305] - [netdrv] qlcnic: Enable mailbox interface in poll mode when interrupts are not available (Chad Dupuis) [1054305] - [netdrv] qlcnic: Replace poll mode mailbox interface with interrupt based mailbox interface (Chad Dupuis) [1054305] - [netdrv] qlcnic: Interrupt based driver firmware mailbox mechanism (Chad Dupuis) [1054305] - [netdrv] qlcnic: Enhance diagnostic loopback error codes (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix for flash update failure on 83xx adapter (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix link speed and duplex display for 83xx adapter (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix link speed display for 82xx adapter (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix external loopback test (Chad Dupuis) [1054305] - [netdrv] qlcnic: Removed adapter series name from warning messages (Chad Dupuis) [1054305] - [netdrv] qlcnic: Free up memory in error path (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix ingress MAC learning (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix MAC address filter issue on 82xx adapter (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix diagnostic interrupt test for 83xx adapters (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix setting Guest VLAN (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix operation type and command type (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix initialization of work function (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix guest VLAN (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix releasing of Tx frag which was never mapped (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix dump template version mask (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix ethtool display for 83xx adapter (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix panic while setting VF's MAC address (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix multicast packet handling for PF and VF (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix NULL pointer dereference in VF probe path (Chad Dupuis) [1054305] - [netdrv] qlcnic: Set __QLCNIC_DEV_UP in adapter state before enabling interrupts (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix invalid register offset calculation (Chad Dupuis) [1054305] - [netdrv] qlcnic: Update version to 5.2.44 (Chad Dupuis) [1054305] - [netdrv] qlcnic: Add support for 83xx suspend and resume (Chad Dupuis) [1054305] - [netdrv] qlcnic: Add support for 'set driver version' in 83XX (Chad Dupuis) [1054305] - [netdrv] qlcnic: Cleanup of structure qlcnic_hardware_context (Chad Dupuis) [1054305] - [netdrv] qlcnic: Add support for PEX DMA method to read memory section of adapter dump (Chad Dupuis) [1054305] - [netdrv] qlcnic: Secondary unicast MAC address support (Chad Dupuis) [1054305] - [netdrv] qlcnic: Minimize sleep duration within loopback diagnostic test (Chad Dupuis) [1054305] - [netdrv] qlcnic: Handle qlcnic_alloc_mbx_args() failure (Chad Dupuis) [1054305] - [netdrv] qlcnic: Do not sleep while holding spinlock (Chad Dupuis) [1054305] - [netdrv] qlcnic: replace strict_strtoul() with kstrtoul() (Chad Dupuis) [1054305] - [netdrv] qlcnic: remove redundant D0 power state set (Chad Dupuis) [1054305] - [netdrv] qlcnic: Fix typo in printk (Chad Dupuis) [1054305] - [netdrv] qlcnic: Check for assigned VFs and block remove if VFs are active (Bandan Das) [1016487] - [netdrv] qlcnic: Do not disable SR-IOV when VFs are assigned to VMs (Bandan Das) [1011773] - [netdrv] benet: convert to hw_features - fixup (Ivan Vecera) [1054277] - [netdrv] be2net: re-factor MCCQ error status handling code (Ivan Vecera) [1054277] - [netdrv] be2net: support flashing new regions on Skyhawk-R (Ivan Vecera) [1054277] - [netdrv] be2net: skip multicast promiscuos setting in already set (Ivan Vecera) [1054277] - [netdrv] be2net: enable interrupts in EEH resume (Ivan Vecera) [1054277] - [netdrv] be2net: use MCCQ instead of MBOX in be_cmd_rss_config() (Ivan Vecera) [1054277] - [netdrv] be2net: include rx-compl error counter in ethtool stats (Ivan Vecera) [1054277] - [netdrv] be2net: remove unused code in be_cmd_vlan_config() (Ivan Vecera) [1054277] - [netdrv] be2net: covert vlan array to bit-map (Ivan Vecera) [1054277] - [netdrv] be2net: fix line wrap and function call indentation in be_ethtool.c (Ivan Vecera) [1054277] - [netdrv] be2net: fix function call indentation in be_cmds.c (Ivan Vecera) [1054277] - [netdrv] be2net: fix line wrap and function call indentation in be_main.c (Ivan Vecera) [1054277] - [netdrv] be2net: Support for configurable RSS hash key (Ivan Vecera) [982896 1054277] - [netdrv] ethtool: Support for configurable RSS hash key (Ivan Vecera) [982896 1054277] - [netdrv] be2net: Fix invocation of be_close() after be_clear() (Ivan Vecera) [1054277] - [netdrv] be2net: Fix to reap TX compls till HW doesn't respond for some time (Ivan Vecera) [1054277] - [netdrv] be2net: Add abi version between be2net and ocrdma (Ivan Vecera) [1054277] - [netdrv] be2net: add FW cmds needed for VxLAN offloads (Ivan Vecera) [1054277] - [netdrv] be2net: Call dev_kfree_skby_any instead of kfree_skb (Ivan Vecera) [1054277] - [netdrv] be2net: update driver version to 10.2 (Ivan Vecera) [1054277] - [netdrv] be2net: Fix vlans_added counter (Ivan Vecera) [1054277] - [netdrv] be2net: Create multiple TXQs on RSS capable multi-channel BE3-R interfaces (Ivan Vecera) [1054277] - [netdrv] be2net: fix pmac_id allocation size (Ivan Vecera) [1054277] - [netdrv] be2net: log LPVID used in multi-channel configs (Ivan Vecera) [1054277] - [netdrv] be2net: Use GET_PROFILE_CONFIG cmd for BE3-R to query max-vfs (Ivan Vecera) [1054277] - [netdrv] be2net: do external loopback test only when it is requested (Ivan Vecera) [1054277] - [netdrv] be2net: dma_sync each RX frag before passing it to the stack (Ivan Vecera) [1054277] - [netdrv] be2net: use the dma state API instead of the pci equivalents (Ivan Vecera) [1054277] - [netdrv] be2net: isolate TX workarounds not applicable to Skyhawk-R (Ivan Vecera) [1054277] - [netdrv] be2net: Fix skb double free in be_xmit_wrokarounds() failure path (Ivan Vecera) [1054277] - [netdrv] be2net: clear promiscuous bits in adapter->flags while disabling promiscuous mode (Ivan Vecera) [1054277] - [netdrv] be2net: Fix to reset transparent vlan tagging (Ivan Vecera) [1054277] - [netdrv] be2net: Use pci_enable_msix_range() instead of pci_enable_msix() (Ivan Vecera) [1054277] - [netdrv] be2net: refactor multi-channel config code for Skyhawk-R chip (Ivan Vecera) [1054277] - [netdrv] be2net: fixup log messages (Ivan Vecera) [1054277] - [netdrv] be2net: Update copyright year (Ivan Vecera) [1054277] - [netdrv] be2net: Log a kernel message when UE is detected in BE & Skyhawk (Ivan Vecera) [1054277] - [netdrv] be2net: Fix be_vlan_add/rem_vid() routines (Ivan Vecera) [1054277] - [netdrv] be2net: add dma_mapping_error() check for dma_map_page() (Ivan Vecera) [1054277] - [netdrv] be2net: update driver version to 10.0.x (Ivan Vecera) [1054277] - [netdrv] be2net: cleanup wake-on-lan code (Ivan Vecera) [1054277] - [netdrv] be2net: use GET_MAC_LIST cmd to query mac-address from a pmac-id (Ivan Vecera) [1054277] - [netdrv] be2net: do not use frag index in the RX-compl entry (Ivan Vecera) [1054277] - [netdrv] be2net: Remove "10Gbps" from driver description string (Ivan Vecera) [1054277] - [netdrv] be2net: fix incorrect setting of cmd_privileges for VFs (Ivan Vecera) [1054277] - [netdrv] be2net: do not call be_set/get_fw_log_level() on Skyhawk-R (Ivan Vecera) [1054277] - [netdrv] be2net: Log the profile-id used by FW during driver initialization (Ivan Vecera) [1054277] - [netdrv] be2net: don't set "pport" field when querying "pvid" (Ivan Vecera) [1054277] - [netdrv] be2net: set and query VEB/VEPA mode of the PF interface (Ivan Vecera) [1054277] - [netdrv] be2net: Use MCC_CREATE_EXT_V1 cmd for Skyhawk-R (Ivan Vecera) [1054277] - [netdrv] be2net: fix max_evt_qs calculation for BE3 in SR-IOV config (Ivan Vecera) [1054277] - [netdrv] be2net: disable RSS when number of RXQs is reduced to 1 via set-channels (Ivan Vecera) [1054277] - [netdrv] be2net: slight optimization of addr compare (Ivan Vecera) [1054277] - [netdrv] be2net: calls skb_set_hash (Ivan Vecera) [1054277] - [netdrv] be2net: Free/delete pmacs in be_clear() only if they exist (Ivan Vecera) [1054277] - [netdrv] be2net: Fix Lancer error recovery to distinguish FW download (Ivan Vecera) [1054277] - [netdrv] be2net: call napi_disable() for all event queues (Ivan Vecera) [1054277] - [netdrv] be2net: Avoid programming permenant MAC by BE3-R VFs (Ivan Vecera) [1054277] - [netdrv] be2net: set coalesce-wm in CQ_CREATE_V2 cmd (Ivan Vecera) [1054277] - [netdrv] be2net: Disabling and enabling interrupts in suspend and resume (Ivan Vecera) [1054277] - [netdrv] be2net: Fix unconditional enabling of Rx interface options (Ivan Vecera) [1054277] - [netdrv] be2net: Make lancer_wait_ready() static (Ivan Vecera) [1054277] - [netdrv] be2net: Remove interface type (Ivan Vecera) [1054277] - [netdrv] be2net: add support for ndo_busy_poll (Ivan Vecera) [1054277] - [netdrv] be2net: remove unnecessary pci_set_drvdata() (Ivan Vecera) [1054277] - [netdrv] be2net: Rework PCIe error report log messaging (Ivan Vecera) [1054277] - [netdrv] be2net: change the driver version number to 4.9.224.0 (Ivan Vecera) [1054277] - [netdrv] be2net: Display RoCE specific counters in ethtool -S (Ivan Vecera) [1054277] - [netdrv] be2net: Call version 2 of GET_STATS ioctl for Skyhawk-R (Ivan Vecera) [1054277] - [netdrv] be2net: add a counter for pkts dropped in xmit path (Ivan Vecera) [1054277] - [netdrv] be2net: fix adaptive interrupt coalescing (Ivan Vecera) [1054277] - [netdrv] be2net: Call be_vf_setup() even when VFs are enbaled from previous load (Ivan Vecera) [1054277] - [netdrv] be2net: Fix to display the VLAN priority for a VF (Ivan Vecera) [1054277] - [netdrv] be2net: Fix to configure VLAN priority for a VF interface (Ivan Vecera) [1054277] - [netdrv] be2net: Fix to allow VLAN configuration on VF interfaces (Ivan Vecera) [1054277] - [netdrv] be2net: Fix number of VLANs supported in UMC mode for BE3-R (Ivan Vecera) [1054277] - [netdrv] be2net: Fix VLAN promiscuous mode programming (Ivan Vecera) [1054277] - [netdrv] be2net: Fix the size of be_nic_res_desc structure (Ivan Vecera) [1054277] - [netdrv] be2net: Remove extern from function prototypes (Ivan Vecera) [1054277] - [netdrv] be2net: missing variable initialization (Ivan Vecera) [1054277] - [netdrv] be2net: Convert dma_alloc_coherent() to dma_zalloc_coherent (Ivan Vecera) [1054277] - [netdrv] be2net: Check for POST state in suspend-resume sequence (Ivan Vecera) [1054277] - [netdrv] be2net: update driver version (Ivan Vecera) [1054277] - [netdrv] be2net: Initialize "status" in be_cmd_get_die_temperature() (Ivan Vecera) [1054277] - [netdrv] be2net: fixup log msgs for async events (Ivan Vecera) [1054277] - [netdrv] be2net: Fix displaying supported speeds for BE2 (Ivan Vecera) [1054277] - [netdrv] be2net: Do not call get_die_temperature cmd for VF (Ivan Vecera) [1054277] - [netdrv] be2net: Adding more speeds reported by get_settings (Ivan Vecera) [1054277] - [netdrv] be2net: Staticize local functions (Ivan Vecera) [1054277] - [netdrv] be2net: ignore mac-addr set call for an already programmed mac-addr (Ivan Vecera) [1054277] - [netdrv] be2net: Delete secondary unicast MAC addresses during be_close (Ivan Vecera) [1054277] - [netdrv] be2net: convert to hw_features - fixup (Ivan Vecera) [1054277] - [netdrv] be2net: convert to hw_features (Ivan Vecera) [1054277]- [netdrv] sfc: fix calling of free_irq with already free vector (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: stop PIO for RHEL6 (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: get rid of SET_ETHTOOL_OPS (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: On MCDI timeout, issue an FLR and mark MCDI to fail-fast (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Call efx_set_channels() before efx->type->dimension_resources() (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Don't receive packets when the napi budget == 0 (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: check for NULL efx->ptp_data in efx_ptp_event (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Use pci_enable_msix_range() instead of pci_enable_msix() (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Add/remove blank lines to taste (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Fail self-test with -EBUSY, not -EIO, if the device is busy (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Cosmetic changes to self-test from the out-of-tree driver (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Update product naming (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Use canonical pointer type for MAC address in efx_set_mac_address() (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Rename 'use_options' variable in tso_start() to clearer 'use_opt_desc' (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Preserve rx_frm_trunc counters when resizing DMA rings (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Correct comment about number of TX queues used on EF10 (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Remove unused definitions of EF10 user-mode DMA descriptors (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Rewrite adjustment of PPS event in a clearer way (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Cache skb->data in local variable in efx_ptp_rx() (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Removed adhoc scheme to rate limit PTP event queue overflow message (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: fix build warning in ethernet/sfc/tx.c (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Use the correct maximum TX DMA ring size for SFC9100 (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Fix transposed ptp_undersize_sync_windows, ptp_oversize_sync_windows statistics (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Change efx_mcdi_reset_port to use ENTITY_RESET MC command (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: fix sparse non static symbol warning (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: calls skb_set_hash (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Fix RX drop filters for EF10 (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Add PTP counters to ethtool stats (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Changed the statistic name emerg_fetch and emerg_wait to hlb_fetch and hlb_wait (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: remove unused 'enum efx_rx_alloc_method' (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: remove unused 'refcnt' from efx_rx_page_state (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Implement efx_nic_type->filter_clear_rx() operation for EF10 (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Allow filter removal only with exactly matching priority (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Don't refer to 'stack' in filter implementation (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Change priority and flags for automatic MAC filters (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Change efx_nic_type->rx_push_indir_table() to push hash key as well (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Add more information to many warnings using WARN() and netdev_WARN() (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Remove unnecessary condition for processing the TX timestamp queue (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Don't clear timestamps in efx_ptp_rx() (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Enable PTP clock and timestamping for all functions on EF10 (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Associate primary and secondary functions of controller (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Store VPD serial number at probe time (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Add RX packet timestamping for EF10 (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Copy RX prefix into skb head area in efx_rx_mk_skb() (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: split setup of hardware timestamping into NIC-type operation (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Add support for SFC9100 timestamp format (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Tidy up PTP synchronization code (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: PTP - tidy up unused/useless variables (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Remove kernel-doc for efx_ptp_data fields not present in this version (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Initialise efx_ptp_data->phc_clock_info() from a static template (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Do not use MAC address as clock name (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Store flags from MC_CMD_DRV_ATTACH for later use (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Remove dependency of PTP on having a dedicated channel (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Split PTP multicast filter insertion/removal out of efx_ptp_start(), efx_ptp_stop() (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Return EBUSY for filter insertion on EF10, matching Falcon/Siena (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Expose NVRAM_PARTITION_TYPE_LICENSE on EF10 (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Fold efx_flush_all() into efx_stop_port() and update comments (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Map MCDI error MC_CMD_ERR_ENOTSUP to Linux EOPNOTSUPP (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Log all unexpected MCDI errors (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Add new sensor names (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Revise sensor names to be more understandable and consistent (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Report units in sensor warnings (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Correct RX dropped count for drops while interface is down (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Make initial fill of RX descriptors synchronous (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Tighten the check for RX merged completion events (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Add MC BISTs to ethtool offline self test on EF10 (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Update MCDI protocol definitions (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Poll for MCDI completion once before timeout occurs (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Refactor efx_mcdi_poll() by introducing efx_mcdi_poll_once() (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: RX buffer allocation takes prefix size into account in IP header alignment (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: remove unnecessary pci_set_drvdata() (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Implement the SIOCGHWTSTAMP ioctl (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: replace dma_set_mask() and dma_set_coherent_mask() with new helper (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Fix DMA unmapping issue with firmware assisted TSO (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Only bind to EF10 functions with the LinkCtrl and Trusted flags (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Add PM and RXDP drop counters to ethtool stats (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Add definitions for new stats counters and capability flag (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Refactor EF10 stat mask code to allow for more conditional stats (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Fix internal indices of ethtool stats for EF10 (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Add rmb() between reading stats and generation count to ensure consistency (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Increase MCDI status timeout to 250ms (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Wait for MC reboot to complete before scheduling driver reset (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Remove extern from function prototypes (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Support ARFS for IPv6 flows (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Use TX PIO for sufficiently small packets (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Introduce inline functions to simplify TX insertion (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Separate out queue-empty check from efx_nic_may_push_tx_desc() (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Allocate and link PIO buffers; map them with write-combining (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Implement firmware-assisted TSO for EF10 (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Fold tso_get_head_fragment() into tso_start() (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Add EF10 registers to register dump (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: efx_ef10_filter_update_rx_scatter() can be static (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: efx_ethtool_get_ts_info() can be static (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Reinitialise and re-validate datapath caps after MC reboot (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Clean up validation of datapath capabilities (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Reset derived rx_bad_bytes statistic when EF10 MC is rebooted (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Disable PTP on EF10 until we're ready to handle inline RX timestamps (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Minimal support for 40G link speed (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: check for allocation failure (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Update copyright banners (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Add support for Solarflare SFC9100 family (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Make efx_mcdi_init() and efx_mcdi_fini() call efx_mcdi_drv_attach() (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Allocate NVRAM partition ID range for PHY images (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Add EF10 register and structure definitions (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Extend struct efx_tx_buffer to allow pushing option descriptors (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Use a global count of active queues instead of pending drains (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Prepare for RX scatter on EF10 (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Initialise IRQ moderation for all NIC types from efx_init_eventq() (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Allow efx_nic_type->dimension_resources() to fail (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Allow event queue initialisation to fail (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Document conditions for multicast replication vs filter replacement (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Implement asynchronous MCDI requests (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Remove unnecessary use of atomic_t (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Refactor efx_mcdi_rpc_start() and efx_mcdi_copyin() (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Add support for new board sensors (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Convert dma_alloc_coherent() to dma_zalloc_coherent (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Use extended MC_CMD_SENSOR_INFO and MC_CMD_READ_SENSORS (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Return an error code when a sensor is busy (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Add support for reading packet length from prefix (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Generalise packet hash lookup to support EF10 RX prefix (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Rename EFX_PAGE_BLOCK_SIZE to EFX_VI_PAGE_SIZE and adjust comments (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Remove early call to efx_nic_type->reconfigure_mac() in efx_reset_up() (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: use MCDI epoch flag to improve MC reboot detection in the driver (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Add EF10 support for TX/RX DMA error events handling (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Add a function pointer to abstract write of host time into NIC shared memory (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: PTP MCDI requests need to initialise periph ID field (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Delegate MAC/NIC statistic description to efx_nic_type (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Remove driver-local struct ethtool_string (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Remove more left-overs from Falcon GMAC support (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Move MTD operations into efx_nic_type (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Move NIC-type-specific MTD partition date into separate structures (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Eliminate struct efx_mtd (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Rename SPI stuff to show that it is Falcon-specific (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Cleanup Falcon-arch simple MAC filter state (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Define and use MCDI_POPULATE_DWORD_<1-7> (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Add flag for stack-owned RX MAC filters (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Refactor Falcon-arch filter removal (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Make most filter operations NIC-type-specific (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Refactor Falcon-arch search limit reset (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Split Falcon-arch-specific and common filter state (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Extend and abstract efx_filter_spec to cover Huntington/EF10 (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Name the RX drop queue ID (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Rename Falcon-arch filter implementation types and functions (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Remove unused filter_flags variables and efx_farch_filter_id_flags() (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Do not assume efx_nic_type->ev_fini() is idempotent (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: EFX_WORKAROUND_ALWAYS is really specific to Falcon-architecture (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Get rid of per-NIC-type phys_addr_channels and mem_map_size (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Update and improve kernel-doc for efx_mcdi_state & efx_mcdi_iface (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Fix race in completion handling (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Add support for MCDI v2 (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Update MCDI protocol definitions for EF10 (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Translate MCDI error numbers received in events (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Move and rename Falcon/Siena common NIC operations (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Refactor queue teardown sequence to allow for EF10 flush behaviour (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Remove bogus call to efx_release_tx_buffers() (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Stop RX refill before flushing RX queues (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Limit scope of a Falcon A1 IRQ workaround (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Rework IRQ enable/disable (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Remove efx_process_channel_now() (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Rename Falcon-architecture register definitions (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Make struct efx_special_buffer less special (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Add GFP flags to efx_nic_alloc_buffer() and make most callers allow blocking (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Make MCDI independent of Siena (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Make efx_mcdi_init() call efx_mcdi_handle_assertion() (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Collect all MCDI port functions into mcdi_port.c (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Move efx_mcdi_mac_reconfigure() to siena.c and rename (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Move siena_reset_hw() and siena_map_reset_reason() into MCDI module (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Add and use MCDI_SET_QWORD() and MCDI_SET_ARRAY_QWORD() (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Ensure MCDI buffers, but not lengths, are dword aligned (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Use proper macros to declare and access MCDI arrays (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Introduce and use MCDI_CTL_SDU_LEN_MAX_V1 macro for Siena-specific code (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Fill out the set of MCDI accessors (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Rationalise MCDI buffer accessors (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Introduce and use MCDI_DECLARE_BUF macro (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Move more Falcon-specific code and definitions into falcon.c (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Move details of a Falcon bug workaround out of ethtool.c (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Use efx_mcdi_mon() to find efx_mcdi_mon structure from efx_nic (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: const-qualify source pointers for MMIO write functions (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Correct MAC filter bitfield definitions (Nikolay Aleksandrov) [1057527] - [netdrv] sfc: Make all MAC statistics consistently 64 bits wide (Nikolay Aleksandrov) [1057527]- [x86] efi: Pass a proper identity mapping in efi_call_phys_prelog (Nigel Croxon) [1044709] - [usb] usbcore: check usb device's state before sending a Set SEL control transfer (Don Zickus) [929314] - [kernel] rename cpu stop machine thread to stopper (Prarit Bhargava) [1022465] - [thermal] intel_powerclamp: Fix cstate counter detection (Steve Best) [1103371] - [thermal] intel_powerclamp: Tidy up error handling in powerclamp_init (Steve Best) [1103371] - [thermal] intel_powerclamp: Add newer CPU models (Steve Best) [1103371] - [netdrv] hyperv: Move state setting for link query (Jason Wang) [1027155] - [netdrv] hyperv: Fix the carrier status setting (Jason Wang) [1027155] - [netdrv] hyperv: Fix race between probe and open calls (Jason Wang) [1027155] - [char] ipmi: Add MODULE_ALIAS for autoloading ipmi driver on ACPI systems (Charles Rose) [825196] - [char] ipmi: Improve error messages on failed irq enable (Charles Rose) [825196] - [char] ipmi: Turn off all activity on an idle ipmi interface (Tony Camuso) [1077493] - [char] ipmi: Fix a race restarting the timer (Tony Camuso) [1098324] - [char] ipmi: Reset the KCS timeout when starting error recovery (Tony Camuso) [1085350] - [scsi] bnx2fc: Updated version to 2.4.2 (Maurizio Lombardi) [1054586] - [scsi] bnx2fc: Fixed the handling for the SCSI retry delay (Maurizio Lombardi) [1054586] - [scsi] bnx2fc: Fixed scsi_remove_target soft lockup when rmmod bnx2x (Maurizio Lombardi) [1054586] - [net] cnic: Update version to 2.5.20 and copyright year (Maurizio Lombardi) [1054561] - [net] cnic: Use proper ulp_ops for per device operations (Maurizio Lombardi) [1054561] - [net] cnic: Add a signature to indicate valid doorbell offset (Maurizio Lombardi) [1054561] - [net] cnic: Remove extern from function prototypes (Maurizio Lombardi) [1054561] - [net] cnic: Update version to 2.5.18 (Maurizio Lombardi) [1054561] - [net] cnic: Eliminate local copy of pfid (Maurizio Lombardi) [1054561] - [net] cnic: Eliminate CNIC_PORT macro and port_mode in local struct (Maurizio Lombardi) [1054561] - [net] cnic: Redefine BNX2X_HW_CID using existing bnx2x macros (Maurizio Lombardi) [1054561] - [net] cnic: Update version to 2.5.17 and copyright year (Maurizio Lombardi) [1054561] - [net] cnic: Add missing error checking for RAMROD_CMD_ID_CLOSE (Maurizio Lombardi) [1054561] - [net] cnic: Update TCP options setup for iSCSI (Maurizio Lombardi) [1054581 1054561] - [net] cnic: Reset tcp_flags during cnic_cm_create() (Maurizio Lombardi) [1054561] - [scsi] cnic: Simplify cnic_release() (Maurizio Lombardi) [1054561] - [scsi] cnic: Simplify netdev events handling (Maurizio Lombardi) [1054561] - [scsi] cnic: bnx2i: bnx2fc: Fix inconsistent use of page size (Maurizio Lombardi) [1054561] - [scsi] be2iscsi: fix bad if expression (Rob Evers) [1054371] - [scsi] be2iscsi: fix memory leak in error path (Rob Evers) [1054371] - [scsi] be2iscsi: Jump to 'free_memory' is apparently missing (Rob Evers) [1054371] - [scsi] be2iscsi: Bump driver version (Rob Evers) [1054371] - [scsi] be2iscsi: Fix destroy MCC-CQ before MCC-EQ is destroyed (Rob Evers) [1054371] - [scsi] be2iscsi: Fix memory corruption in MBX path (Rob Evers) [1054371] - [scsi] be2iscsi: Fix TCP parameters while connection offloading (Rob Evers) [1054371] - [scsi] be2iscsi: Fix interrupt Coalescing mechanism (Rob Evers) [1054371] - [scsi] be2iscsi: Fix exposing Host in sysfs after adapter initialization is complete (Rob Evers) [1054371] - [scsi] be2iscsi: Fix retreving MCCQ_WRB in non-embedded Mbox path (Rob Evers) [1054371] - [scsi] be2iscsi: Fix DMA Out of SW-IOMMU space error (Rob Evers) [1054371] - [scsi] be2iscsi: Fix scsi_cmnd leakage in driver (Rob Evers) [1054371] - [scsi] be2iscsi: Fix the session cleanup when reboot/shutdown happens (Rob Evers) [1054371] - [scsi] be2iscsi: Fix doorbell format for EQ/CQ/RQ s per SLI spec (Rob Evers) [1054371] - [scsi] be2iscsi: Fix port speed typo in driver (Rob Evers) [1054371] - [scsi] be2iscsi: Fix handling timed out MBX completion from FW (Rob Evers) [1054371] - [scsi] be2iscsi: fix memory leak in error path (Rob Evers) [1054371] - [scsi] be2iscsi: Fix SGL posting for unaligned ICD values (Rob Evers) [1054371] - [scsi] be2iscsi: Fix AER handling in driver (Rob Evers) [1054371] - [scsi] be2iscsi: Invalidate WRB in Abort/Reset Path (Rob Evers) [1054371] - [scsi] be2iscsi: Fix Insufficient Buffer Error returned in MBX Completion (Rob Evers) [1054371] - [scsi] be2iscsi: Fix log level for protocol specific logs (Rob Evers) [1054371] - [scsi] be2iscsi: Fix MSIx creation for SKH-R adapter (Rob Evers) [1054371] - [scsi] be2iscsi: Display Port Identifier for each iSCSI function (Rob Evers) [1054371] - [scsi] be2iscsi: Dispaly CID available for connection offload (Rob Evers) [1054371] - [scsi] be2iscsi: Fix chute cleanup during drivers unload (Rob Evers) [1054371] - [scsi] be2iscsi: Fix connection offload to support Dual Chute (Rob Evers) [1054371] - [scsi] be2iscsi: Fix CID allocation/freeing to support Dual chute mode (Rob Evers) [1054371] - [scsi] be2iscsi: Fix WRB_Q posting to support Dual Chute mode (Rob Evers) [1054371] - [scsi] be2iscsi: Fix SGL Initilization and posting Pages for Dual Chute (Rob Evers) [1054371] - [scsi] be2iscsi: Fix Template HDR support for Dual Chute mode (Rob Evers) [1054371] - [scsi] be2iscsi: Fix changes in ASYNC Path for SKH-R adapter (Rob Evers) [1054371] - [scsi] be2iscsi: Config parameters update for Dual Chute Support (Rob Evers) [1054371] - [scsi] be2iscsi: Fix soft lock up issue during UE or if FW taking time to respond (Rob Evers) [1054371] - [scsi] be2iscsi: Fix locking mechanism in Unsol Path (Rob Evers) [1054371] - [scsi] be2iscsi: Fix negotiated parameters upload to FW (Rob Evers) [1054371] - [scsi] be2iscsi: Fix repeated issue of MAC ADDR get IOCTL (Rob Evers) [1054371] - [scsi] be2iscsi: Fix the MCCQ count leakage (Rob Evers) [1054371] - [scsi] be2iscsi: Fix Template HDR IOCTL (Rob Evers) [1054371] - [netdrv] bnx2x: dont reload on GRO change (Michal Schmidt) [1022020 1054563 1054273] - [netdrv] bnx2x: Allow ethtool to enable/disable loopback (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: allow GRO_ENABLE_FLAG (Michal Schmidt) [1022020 1054563 1054273] - [netdrv] bnx2x: fix incorrect busy-poll backport (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: fix backport of bnx2x_low_latency_recv() (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: remove cosmetic differences from upstream (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: drop no longer necessary netdev_printk workaround (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: update MAINTAINERS for bnx2x and e-mail addresses (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Convert return 0 to return rc (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: fix build when BNX2X_SRIOV is not enabled (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: added 'likely' to fast-path skb existence (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: fix crash while ethtool -t (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Support for byte queue limits (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Memory leak during VF removal (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: include irq.h for irqreturn_t definitions (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Don't allow VFs to become promiscuous (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Don't show port statistics for VFs (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Fix failure to configure VF multicast filters (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Fix vlan credit issues for VFs (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Fix possible memory leak on iov error flow (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Remove the sriov VFOP mechanism (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Fix compilation when CONFIG_BNX2X_SRIOV is not set (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Create workqueue for IOV related tasks (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Support mng. request for driver version (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Don't receive packets when the napi budget == 0 (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Add missing bit in default Tx switching (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: save RAM in kdump kernel by disabling TPA (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: save RAM in kdump kernel by using a single queue (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: clamp num_queues to prevent passing a negative value (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Remove hidden flow control goto from BNX2X_ALLOC macros (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Use pci_enable_msix_range() instead of pci_enable_msix() (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: utilize FW 7.8.19 (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: semantic revise scheduling of sp_rtnl (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Fix bnx2x_panic_dump for VFs (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Revise IOV vlan/mac validation (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Add support in PF driver for RSC (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Semantic Validate vlan/mac changes (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Remove unnecessary internal mem config (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Remove unused iov code (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: change verbosity of some prints (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Allow VF rss on higher PFs (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Make module parameters readable (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: fix L2-GRE TCP issues (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Fix generic option settings (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: More Shutdown revisions (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Fix VF flr flow (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Don't release PCI bars on shutdown (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: fix sparse warning (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Correct default Tx switching behaviour (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: fix DMA unmapping of TSO split BDs (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: prevent WARN during driver unload (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: namespace and dead code cleanups (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: fix VLAN configuration for VFs (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: fix AFEX memory overflow (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Clean before update RSS arrives (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Correct number of MSI-X vectors for VFs (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: limit number of interrupt vectors for 57711 (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Fix KR2 work-around detection of BCM8073 (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Fix incorrect link-up report (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Fix Duplex setting for 54618se (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Fix passive DAC cable detection (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Fix 578xx-KR 1G link (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: downgrade "valid ME register value" message level (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: slight optimization of addr compare (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Fix build with SRIOV disabled (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: add VF Multicast filters support (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Add num of VFs to Management statistics (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: no error when RSS configuration fails (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: add Big-Endian ethtool comment (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Add AER support (missing bits) (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: cleanup skb_set_hash (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: calls skb_set_hash (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: populate skb->l4_rxhash (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: avoid null pointer dereference when enabling SR-IOV (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Prevent "timeout waiting for state X" (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: prevent CFC attention (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Prevent panic during DMAE timeout (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Clean the sp rtnl task upon unload (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: replace dma_set_mask() and dma_set_coherent_mask() with new helper (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: remove unnecessary pci_set_drvdata() (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Add ndo_get_phys_port_id support (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Change variable type to bool (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: skb_is_gso_v6() requires skb_is_gso() (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Add support for EXTPHY2 LED mode (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Change function prototype (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Don't disable/enable SR-IOV when loading (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Correct VF driver info (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Test nvram when interface is down (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Staticize local symbols (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Disable VF access on PF removal (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: prevent FW assert on low mem during unload (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Set NETIF_F_HIGHDMA unconditionally (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Don't pretend during register dump (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Prevent null pointer dereference on error flow (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Fix config when SR-IOV and iSCSI are enabled (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Fix Coalescing configuration (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Unlock VF-PF channel on MAC/VLAN config error (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Prevent an illegal pointer dereference during panic (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: record rx queue for LRO packets (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: prevent masked MCP parities from appearing (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: prevent masking error from cnic (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: add missing VF resource allocation during init (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Fix support for VFs on some PFs (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Prevent mistaken hangup between driver & FW (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Fix 848xx duplex settings (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: 57840 non-external loopback test fail on 1G (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Fix bnx2i and bnx2fc regressions (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Use pci_dev pm_cap (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Fix configuration of doorbell block (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Restore a call to config_init (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Add missing braces in bnx2x_link_initialize() (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: fix broken compilation with CONFIG_BNX2X_SRIOV is not set (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: VF RSS support - VF side (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: VF RSS support - PF side (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Convert dma_alloc_coherent() to dma_zalloc_coherent (Michal Schmidt) [1054563 1054273] - [netdrv] bnx2x: Revising locking scheme for MAC configuration (Michal Schmidt) [1054563 1054273] - [netdrv] firmware: add bnx2x FW 7.8.19 (Michal Schmidt) [1054563 1054273] - [net] export physical port id via sysfs (Michal Schmidt) [1098227] - [net] rtnl: export physical port id via RT netlink (Michal Schmidt) [1098227] - [net] add ndo to get id of physical port of the device (Michal Schmidt) [1098227] - [lib] vsprintf: add support of '*ph' (Michal Schmidt) [1098227]- [video] vgacon: clear buffer attributes when we load a 512 character font (Rob Clark) [1082803] - [fs] consolidate the reassignments of ->f_op in ->open() instances (Rob Clark) [1082799] - [video] fbdev: add a MIPI DSI header (Rob Clark) [1082799] - [kernel] kref: Implement kref_get_unless_zero (Rob Clark) [1082791] - [kernel] time: export ktime_get_monotonic_offset (Rob Clark) [1082787] - [kernel] sysfs: Add sysfs_add/remove_files utility functions (Rob Clark) [1082787] - [kernel] Add arch_phys_wc_add, arch_phys_wc_del to manipulate WC MTRRs if needed (Rob Clark) [1082787] - [kernel] mutex: Move ww_mutex definitions to ww_mutex.h (Rob Clark) [1082787] - [base] reservation: cross-device reservation support (Rob Clark) [1082787] - [kernel] locking-selftests: Handle unexpected failures more strictly (Rob Clark) [1082787] - [kernel] mutex: Add more w/w tests to test EDEADLK path handling (Rob Clark) [1082787] - [kernel] mutex: Add more tests to lib/locking-selftest.c (Rob Clark) [1082787] - [kernel] mutex: Add w/w tests to lib/locking-selftest.c (Rob Clark) [1082787] - [kernel] mutex: Add w/w mutex slowpath debugging (Rob Clark) [1082787] - [kernel] mutex: Add support for wound/wait style locks (Rob Clark) [1082787] - [kernel] arch: Make __mutex_fastpath_lock_retval return whether fastpath succeeded or not (Rob Clark) [1082787] - [fs] procfs: add proc_remove_subtree() (Rob Clark) [1082782] - [lib] scatterlist: sg_page_iter support sg lists w/o backing pages (Rob Clark) [1082782] - [lib] scatterlist: use page iterator in the mapping iterator (Rob Clark) [1082782] - [lib] scatterlist: add simple page iterator (Rob Clark) [1082782] - [lib] scatterlist: add sg_alloc_table_from_pages function (Rob Clark) [1082782] - [netdrv] qlge: Update version to 1.00.00.34 (Chad Dupuis) [1054333] - [netdrv] qlge: Fix ethtool statistics (Chad Dupuis) [1054333] - [netdrv] qlge: Update version to 1.00.00.33 (Chad Dupuis) [1054333] - [netdrv] qlge: Enhance nested VLAN Q-in-Q handling (Chad Dupuis) [1054333] - [netdrv] qlge: call ql_core_dump() only if dump memory was allocated (Chad Dupuis) [1054333] - [netdrv] qlge: add missing free_netdev() on error in qlge_probe() (Chad Dupuis) [1054333] - [netdrv] qlge: fix dma map leak when the last chunk is not allocated (Chad Dupuis) [1054333] - [netdrv] bnx2x: Fix kernel crash and data miscompare after EEH recovery (Michal Schmidt) [1029600] - [netdrv] bnx2x: Adapter not recovery from EEH error injection (Michal Schmidt) [1029600] - [netdrv] tg3: Override clock, link aware and link idle mode during NVRAM dump (Ivan Vecera) [1054558] - [netdrv] tg3: Update copyright and version to 3.137 (Ivan Vecera) [1054558] - [netdrv] tg3: Prevent page allocation failure during TSO workaround (Ivan Vecera) [1029192 1054558] - [netdrv] tg3: Don't modify ip header fields when doing GSO (Ivan Vecera) [1029192 1054558] - [netdrv] tg3: remove open-coded skb_cow_head (Ivan Vecera) [1054558] - [netdrv] tg3: remove empty MDIO bus reset function (Ivan Vecera) [1054558] - [netdrv] tg3: Do not include vlan acceleration features in vlan_features (Ivan Vecera) [1054558] - [netdrv] tg3: Call dev_kfree_skby_any instead of dev_kfree_skb (Ivan Vecera) [1054558] - [netdrv] tg3: Don't check undefined error bits in RXBD (Ivan Vecera) [1054558] - [netdrv] tg3: Use pci_enable_msix_range() instead of pci_enable_msix() (Ivan Vecera) [1054558] - [netdrv] tg3: Fix deadlock in tg3_change_mtu() (Ivan Vecera) [1054558] - [netdrv] tg3: cleanup an error path in tg3_phy_reset_5703_4_5() (Ivan Vecera) [1054558] - [netdrv] tg3: delete non-required instances of include linux/init.h (Ivan Vecera) [1054558] - [netdrv] tg3: Update version to 3.136 (Ivan Vecera) [1054558] - [netdrv] tg3: Set the MAC clock to the fastest speed during boot code load (Ivan Vecera) [1054558] - [netdrv] tg3: Add unicast filtering support (Ivan Vecera) [1054558] - [netdrv] tg3: Refactor __tg3_set_mac_addr() (Ivan Vecera) [1054558] - [netdrv] tg3: Initialize REG_BASE_ADDR at PCI config offset 120 to 0 (Ivan Vecera) [1054558] - [netdrv] tg3: Update version to 3.135 (Ivan Vecera) [1054558] - [netdrv] tg3: Expand multicast drop counter miscounting fix to 5762 (Ivan Vecera) [1054558] - [netdrv] tg3: Fix bit definition for the nvram Auto Power Down setting (Ivan Vecera) [1054558] - [netdrv] tg3: Add flag to disable 1G Half Duplex advertisement (Ivan Vecera) [1054558] - [netdrv] tg3: Don't add rxbds_empty to rx_over_errors (Ivan Vecera) [1054558] - [netdrv] tg3: Give up chip reset and carrier loss handling if PCI device is not present (Ivan Vecera) [1054558] - [netdrv] tg3: Implement the SIOCGHWTSTAMP ioctl (Ivan Vecera) [1054558] - [netdrv] tg3: Validate hwtstamp_config completely before applying it (Ivan Vecera) [1054558] - [netdrv] tg3: remove unnecessary pci_set_drvdata() (Ivan Vecera) [1054558] - [netdrv] tg3: Miscellaneous conversions to ETH_ALEN (Ivan Vecera) [1054558] - [netdrv] tg3: use phylib when robo switch is in use (Ivan Vecera) [1054558] - [netdrv] tg3: add support a phy at an address different than 01 (Ivan Vecera) [1054558] - [netdrv] tg3: Update version to 3.134 (Ivan Vecera) [1054558] - [netdrv] tg3: Remove unnecessary spinlock (Ivan Vecera) [1054558] - [netdrv] tg3: Appropriately classify interrupts during request_irq (Ivan Vecera) [1054558] - [netdrv] tg3: Remove redundant if check (Ivan Vecera) [1054558] - [netdrv] tg3: Remove if 0'd code (Ivan Vecera) [1054558] - [netdrv] tg3: LED in shared mode does not blink during traffic (Ivan Vecera) [1054558] - [netdrv] tg3: Add support for new 577xx device ids (Ivan Vecera) [1054558] - [netdrv] tg3: Add function tg3_phy_shdw_write() (Ivan Vecera) [1054558] - [netdrv] tg3: Use pci_dev pm_cap (Ivan Vecera) [1054558] - [netdrv] tg3: Convert dma_alloc_coherent() to dma_zalloc_coherent (Ivan Vecera) [1054558] - [netdrv] tg3: fix NULL pointer dereference in tg3_io_error_detected and tg3_io_slot_reset (Ivan Vecera) [1054558] - [netdrv] tg3: Update version to 3.133 (Ivan Vecera) [1054558] - [netdrv] tg3: Enable support for timesync gpio output (Ivan Vecera) [1054558] - [netdrv] tg3: Implement the shutdown handler (Ivan Vecera) [1054558] - [netdrv] tg3: Allow NVRAM programming when interface is down (Ivan Vecera) [1054558] - [netdrv] tg3: Fix warning from pci_disable_device() (Ivan Vecera) [1054558] - [netdrv] tg3: Fix kernel crash (Ivan Vecera) [1054558] - [netdrv] tg3: Avoid delay during MMIO access (Ivan Vecera) [1054558] - [netdrv] tg3: restore rx_dropped accounting (Ivan Vecera) [1054558] - [netdrv] tg3: Consilidate MAC loopback code (Ivan Vecera) [1054558] - [netdrv] tg3: Allow ethtool to enable/disable loopback (Ivan Vecera) [1054558] - [net] Allow ethtool to set interface in loopback mode (Ivan Vecera) [1054558] - [netdrv] tg3: convert to hw_features (Ivan Vecera) [1054558] - [netdrv] tg3: Do not use legacy PCI power management (Ivan Vecera) [1054558] - [netdrv] tg3: Remove TG3_VLAN_TAG_USED macro (Ivan Vecera) [1054558] - [netdrv] ixgbe: fix ethtool stats (Ivan Vecera) [1098515] - [netdrv] Replace u64_stats_fetch_begin_bh to u64_stats_fetch_begin_irq (Ivan Vecera) [1098515] - [netdrv] vxlan: virtual extensible lan (Ivan Vecera) [1098515] - [netdrv] ifb: convert to 64 bit stats (Ivan Vecera) [1098515] - [netdrv] ppp: make ppp_get_stats64 static (Ivan Vecera) [1098515] - [netdrv] ppp: add 64 bit stats (Ivan Vecera) [1098515] - [netdrv] slip: Use net_device_stats from struct net_device (Ivan Vecera) [1098515] - [netdrv] slip: fix get_stats() method (Ivan Vecera) [1098515] - [netdrv] veth: reduce stat overhead (Ivan Vecera) [1098515] - [netdrv] veth: fix 64bit stats on 32bit arches (Ivan Vecera) [1098515] - [netdrv] veth: convert to 64 bit statistics (Ivan Vecera) [1098515] - [netdrv] net: fix race condition in several drivers when reading stats (Ivan Vecera) [1098515] - [netdrv] virtio-net: fix a race on 32bit arches (Ivan Vecera) [1098515] - [netdrv] virtio-net: Fix panic in virtnet_remove (Ivan Vecera) [1098515] - [netdrv] virtio-net: per cpu 64 bit stats (Ivan Vecera) [1098515] - [netdrv] vmxnet3: convert to 64 bit stats interface (Ivan Vecera) [1098515] - [netdrv] xen: convert to 64 bit stats interface (Ivan Vecera) [1098515] - [netdrv] via-rhine: add 64bit statistics (Ivan Vecera) [1098515] - [netdrv] niu: support 64 bit stats interface (Ivan Vecera) [1098515] - [netdrv] r8169: add 64bit statistics (Ivan Vecera) [1098515] - [netdrv] 8139too: Add 64bit statistics (Ivan Vecera) [1098515] - [netdrv] netxen: convert to 64 bit statistics (Ivan Vecera) [1098515] - [netdrv] forcedeth: account for dropped RX frames (Ivan Vecera) [1098515] - [netdrv] forcedeth: implement ndo_get_stats64() API (Ivan Vecera) [1098515] - [netdrv] forcedeth: fix stats on hardware without extended stats support (Ivan Vecera) [1098515] - [netdrv] forcedeth: Improve stats counters (Ivan Vecera) [1098515] - [netdrv] forcedeth: remove unneeded stats updates (Ivan Vecera) [1098515] - [netdrv] vxge: fix 64 bit access on 32 bit platforms (Ivan Vecera) [1098515] - [netdrv] vxge: Implement 64bit stats (Ivan Vecera) [1098515] - [netdrv] myricom: update to 64 bit stats (Ivan Vecera) [1098515] - [netdrv] sky2: implement 64 bit stats (Ivan Vecera) [1098515] - [netdrv] ixgbevf: provide 64 bit statistics (Ivan Vecera) [1098515] - [netdrv] ixgbe: fix stats handling (Ivan Vecera) [1098515] - [netdrv] igb: fix stats handling (Ivan Vecera) [1098515] - [netdrv] e1000e: convert to stats64 (Ivan Vecera) [1098515] - [netdrv] be2net: use stats-sync to read/write 64-bit stats (Ivan Vecera) [1098515] - [netdrv] enic: update to support 64 bit stats (Ivan Vecera) [1098515] - [netdrv] cxgb4: switch to 64 bit inteface statistics (Ivan Vecera) [1098515] - [netdrv] bna: fix stats handling (Ivan Vecera) [1098515] - [netdrv] tg3: 64 bit stats on all arches (Ivan Vecera) [1098515] - [netdrv] bnx2: 64 bit stats on all arches (Ivan Vecera) [1098515] - [netdrv] b44: add 64 bit stats (Ivan Vecera) [1098515] - [netdrv] dummy: percpu stats and lockless xmit (Ivan Vecera) [1098515] - [netdrv] sfc: Implement 64-bit net device statistics on all architectures (Ivan Vecera) [1098515] - [net] bridge: 64bit rx/tx counters (Ivan Vecera) [1098515] - [net] bridge: per-cpu packet statistics (Ivan Vecera) [1098515] - [net] vlan: lockless transmit path (Ivan Vecera) [1098515] - [net] congestion notifications are not dropped packets (Ivan Vecera) [1098515] - [net] vlan: 64 bit rx counters (Ivan Vecera) [1098515] - [netdrv] macvlan: 64 bit rx counters (Ivan Vecera) [1098515] - [netdrv] loopback driver cleanup (Ivan Vecera) [1098515] - [netdrv] loopback: use u64_stats_sync infrastructure (Ivan Vecera) [1098515] - [netdrv] loopback: Implement 64bit stats on 32bit arches (Ivan Vecera) [1098515] - [net] export netdev_stats_to_stats64 (Ivan Vecera) [1098515] - [netdrv] Enable 64-bit net device statistics on 32-bit architectures (Ivan Vecera) [1098515] - [netdrv] bonding: Remove net_device_stats from bonding struct (Ivan Vecera) [1098515] - [fs] sysfs: don't panic when in different netns (Daniel Borkmann) [1034696 1020145] - [fs] cifs: Check if prefixpath starts with '\' in cifs_parse_mount_options (Sachin Prabhu) [1104268] - [fs] gfs2: Ensure workqueue is scheduled after noexp request (Robert S Peterson) [1101740] - [fs] ext3: Allow quota file use root reservation (Lukas Czerner) [1102234] - [fs] ext4: Allow quota file use root reservation (Lukas Czerner) [802214] - [fs] pipe: skip file_update_time on frozen fs (Eric Sandeen) [1093077] - [fs] ext4: fix ext4_flush_completed_IO wait semantics (Lukas Czerner) [1023141] - [fs] ext4: completed_io locking cleanup (Lukas Czerner) [1023141] - [fs] ext4: fix unwritten counter leakage (Lukas Czerner) [1023141] - [fs] ext4: give i_aiodio_unwritten a more appropriate name (Lukas Czerner) [1023141] - [fs] ext4: ext4_inode_info diet (Lukas Czerner) [1023141] - [fs] ext4: optimize locking for end_io extent conversion (Lukas Czerner) [1023141] - [fs] ext4: remove unnecessary call to waitqueue_active() (Lukas Czerner) [1023141] - [fs] ext4: Use correct locking for ext4_end_io_nolock() (Lukas Czerner) [1023141] - [fs] ext4: don't check io->flag when setting EXT4_STATE_DIO_UNWRITTEN inode state (Lukas Czerner) [1023141] - [md] dm-crypt: fix cpu hotplug crash by removing per-cpu structure (Mike Snitzer) [1076147] - [md] dm-crypt: rename struct convert_context sector field (Mike Snitzer) [1076147] - [md] dm-crypt: store crypt_config instead of dm_target struct (Mike Snitzer) [1076147] - [md] dm-crypt: move cipher data out of per_cpu struct (Mike Snitzer) [1076147] - [md] dm-crypt: rename pending field (Mike Snitzer) [1076147] - [md] dm-crypt: replace simple_strtoul (Mike Snitzer) [1076147] - [md] dm: reject trailing characters in sccanf input (Mike Snitzer) [1076147] - [md] dm-crypt: add missing error handling (Mike Snitzer) [1076147] - [md] dm-crypt: suppress endian warnings (Mike Snitzer) [1076147] - [md] dm-crypt: add loop aes iv generator (Mike Snitzer) [1076147] - [crypto] md5: Add export support (Mike Snitzer) [1076147] - [md] dm-crypt: add multi key capability (Mike Snitzer) [1076147] - [md] dm-crypt: add post iv call to iv generator (Mike Snitzer) [1076147] - [md] dm-crypt: use io thread for reads only if mempool exhausted (Mike Snitzer) [1076147] - [md] dm-crypt: scale to multiple cpus (Mike Snitzer) [1076147] - [md] dm-crypt: simplify compatible table output (Mike Snitzer) [1076147] - [md] dm-thin: add 'no_space_timeout' dm-thin-pool module param (Mike Snitzer) [1098656] - [md] dm-thin: add timeout to stop out-of-data-space mode holding IO forever (Mike Snitzer) [1098656] - [md] dm-thin: allow metadata commit if pool is in PM_OUT_OF_DATA_SPACE mode (Mike Snitzer) [1098655] - [md] dm-cache: always split discards on cache block boundaries (Mike Snitzer) [1103790] - [md] dm-cache: fix writethrough mode quiescing in cache_map (Mike Snitzer) [1103790] - [x86] efi: earlyprintk=efi,keep fix (Rui Wang) [1031867] - [x86] efi: earlyprintk off-by-one bugfix (Rui Wang) [1031867] - [x86] efi: Add EFI framebuffer earlyprintk support (Rui Wang) [1031867] - [powerpc] mm: fix ".__node_distance" undefined (David Milburn) [1091088 1020866] - [nvme] Retry failed commands with non-fatal errors (David Milburn) [1091088 1020866] - [nvme] Fix divide-by-zero in nvme_trans_io_get_num_cmds (David Milburn) [1091088 1020866] - [nvme] Add getgeo to block ops (David Milburn) [1091088 1020866] - [nvme] Start-stop nvme_thread during device add-remove (David Milburn) [1091088 1020866] - [nvme] Make I/O timeout a module parameter (David Milburn) [1091088 1020866] - [nvme] per-cpu io queues (David Milburn) [1091088 1020866] - [nvme] Replace DEFINE_PCI_DEVICE_TABLE (David Milburn) [1091088 1020866] - [nvme] IOCTL path RCU protect queue access (David Milburn) [1091088 1020866] - [nvme] RCU protected access to io queues (David Milburn) [1091088 1020866] - [nvme] Initialize device reference count earlier (David Milburn) [1091088 1020866] - [nvme] Add CONFIG_PM_SLEEP to suspend/resume functions (David Milburn) [1091088 1020866]- [kernel] futex: Always cleanup owner tid in unlock_pi (Jerome Marchand) [1104517] {CVE-2014-3153} - [kernel] futex: Make lookup_pi_state more robust (Jerome Marchand) [1104517] {CVE-2014-3153} - [kernel] futex: Validate atomic acquisition in futex_lock_pi_atomic() (Jerome Marchand) [1104517] {CVE-2014-3153} - [kernel] futex: prevent requeue pi on same futex (Jerome Marchand) [1104517] {CVE-2014-3153} - [alsa] aloop: Close races at restarting the stream (Jaroslav Kysela) [1078592] - [alsa] aloop: Export snd_pcm_constraint_mask64() (Jaroslav Kysela) [1078592] - [alsa] pcm: Warn when buffer preallocation fails (Jaroslav Kysela) [1078592] - [alsa] aloop: Add SNDRV_PCM_STATE_PAUSED case in wait_for_avail function (Jaroslav Kysela) [1078592] - [alsa] jack: Unregister input device at disconnection (Jaroslav Kysela) [1078592] - [alsa] aloop: Optimize module name check (Jaroslav Kysela) [1078592] - [alsa] pcm: Add fallthru comments (Jaroslav Kysela) [1078592] - [alsa] aloop: Fix Oops while PM resume (Jaroslav Kysela) [1078592] - [alsa] aloop: add locking to timer access (Jaroslav Kysela) [1078592] - [mmc] Fix sd/sdio/mmc initialization frequency retries (Neil Horman) [1103848] - [mmc] fix mmc_set_bus_width_ddr() call without bus-width-test cap (Neil Horman) [1103848] - [mmc] Test bus-width for old MMC devices (Neil Horman) [1103848] - [mmc] Fix printing of card DDR type (Neil Horman) [1103848] - [mmc] propagate power save/restore ops return value (Neil Horman) [1103848] - [mmc] refine DDR support (Neil Horman) [1103848] - [mmc] Fixes for Dual Data Rate support (Neil Horman) [1103848] - [mmc] MMC 4.4 DDR support (Neil Horman) [1103848] - [mmc] Make ID freq configurable (Neil Horman) [1103848] - [mmc] Add helper function to check if a card is removable (Neil Horman) [1103848] - [mmc] add erase, secure erase, trim and secure trim operations (Neil Horman) [1103848] - [mmc] only set blockaddressed for > 2GiB cards (Neil Horman) [1103848] - [mmc] recognize CSD structure (Neil Horman) [1103848] - [mmc] fix incorrect interpretation of card type bits (Neil Horman) [1103848] - [mmc] allow for MMC v4.4 (Neil Horman) [1103848] - [mmc] fix all hangs related to mmc/sd card insert/removal during suspend/resume (Neil Horman) [1103848] - [mmc] sdio: recognize io card without powercycle (Neil Horman) [1103848] - [mmc] sdio: introduce API for special power management features (Neil Horman) [1103848] - [mmc] add module parameter to set whether cards are assumed removable (Neil Horman) [1103848] - [usb] xhci: add the meaningful IRQ description if it is empty (Don Zickus) [1103370] - [usb] xhci: Kill streams URBs when the host dies (Don Zickus) [1103370] - [usb] xhci: Refactor command watchdog and fix split string (Don Zickus) [1103370] - [usb] xhci: Handle MaxPSASize == 0 (Don Zickus) [1103370] - [usb] xhci: The trb_address_map radix tree expects 1KB segment memory aligment (Don Zickus) [1103370] - [usb] xhci: xhci_mem_cleanup make sure cmd_ring_reserved_trbs really is 0 (Don Zickus) [1103370] - [usb] xhci: Remove segments from radix tree on failed insert (Don Zickus) [1103370] - [lib] radix-tree: make radix_tree_node_alloc() work correctly within interrupt (Don Zickus) [1103370] - [pci] Move Renesas PCI IDs to a better place (Don Zickus) [1103370] - [usb] xhci: For streams the dequeue ptr must be read from the stream ctx (Don Zickus) [1103370] - [usb] xhci: Set SCT field for Set TR dequeue on streams (Don Zickus) [1103370] - [usb] xhci: For streams the css flag most be read from the stream-ctx on ep stop (Don Zickus) [1103370] - [usb] xhci: Check size rather then number of streams when allocating stream ctxs (Don Zickus) [1103370] - [usb] xhci: Free streams when they are still allocated on a set_interface call (Don Zickus) [1103370] - [usb] xhci: fix usb3 streams (Don Zickus) [1103370] - [usb] xhci: make warnings greppable (Don Zickus) [1103370] - [usb] xhci: Change how we indicate a host supports Link PM (Don Zickus) [1103370] - [usb] xhci: Fix resume issues on Renesas chips in Samsung laptops (Don Zickus) [1103370] - [usb] xhci: Remove unused variable 'addr' in inc_deq() and inc_enq() (Don Zickus) [1103370] - [usb] xhci: Add quirks module option (Don Zickus) [1103370] - [usb] xhci: clarify logging in xhci_setup_device (Don Zickus) [1103370] - [usb] xhci: Limit the spurious wakeup fix only to HP machines (Don Zickus) [1103370] - [usb] xhci: replace xhci_writel() with writel() (Don Zickus) [1103370] - [usb] xhci: replace xhci_readl() with readl() (Don Zickus) [1103370] - [usb] xhci: remove conversion from generic to pci device in xhci_mem.c (Don Zickus) [1103370] - [usb] xhci: fix incorrect type in assignment in xhci_count_num_dropped_endpoints() (Don Zickus) [1103370] - [usb] xhci: fix incorrect type in assignment in xhci_count_num_new_endpoints() (Don Zickus) [1103370] - [usb] xhci: remove unnecessary check in xhci_free_stream_info() (Don Zickus) [1103370] - [usb] xhci: fix SCT_FOR_CTX(p) macro (Don Zickus) [1103370] - [usb] xhci: replace USB_MAXINTERFACES with config->desc.bNumInterface (Don Zickus) [1103370] - [usb] xhci: fix incorrect type in assignment in xhci_address_device() (Don Zickus) [1103370] - [usb] xhci: fix sparse warning in xhci-trace.h (Don Zickus) [1103370] - [usb] xhci: fix derivation of TRB's DMA address in xhci_log_event Trace Event Class (Don Zickus) [1103370] - [usb] xhci: fix incorrect type in assignment in handle_device_notification() (Don Zickus) [1103370] - [usb] xhci: convert TRB_CYCLE to le32 before using it to set Link TRB's cycle bit (Don Zickus) [1103370] - [usb] xhci: remove the unused ->address field (Don Zickus) [1103370] - [usb] xhci: kill a conditional when toggling cycle (Don Zickus) [1103370] - [usb] xhci: replace 'event' with 'cmd_comp_code' in set_deq and reset_ep handlers (Don Zickus) [1103370] - [usb] xhci: add argument 'slot_id' in stop_ep, set_deq and reset_ep cmd handlers (Don Zickus) [1103370] - [usb] xhci: replace 'xhci->cmd_ring->dequeue' with 'trb' in stop_ep cmd handler (Don Zickus) [1103370] - [usb] xhci: add variable 'cmd_type' in handle_cmd_completion() (Don Zickus) [1103370] - [usb] xhci: add variable 'cmd_trb' in handle_cmd_completion() (Don Zickus) [1103370] - [usb] xhci: add variable 'cmd_comp_code' in handle_cmd_completion() (Don Zickus) [1103370] - [usb] xhci: refactor TRB_CONFIG_EP case into function (Don Zickus) [1103370] - [usb] xhci: remove unused 'ep_ring' variable in handle_cmd_completion() (Don Zickus) [1103370] - [usb] xhci: refactor TRB_EVAL_CONTEXT case into function (Don Zickus) [1103370] - [usb] xhci: refactor TRB_NEC_GET_FW case into function (Don Zickus) [1103370] - [usb] xhci: refactor TRB_RESET_DEV case into function (Don Zickus) [1103370] - [usb] xhci: use completion event's slot id rather than dig it out of command (Don Zickus) [1103370] - [usb] xhci: refactor TRB_ADDR_DEV case into function (Don Zickus) [1103370] - [usb] xhci: refactor TRB_DISABLE_SLOT case into function (Don Zickus) [1103370] - [usb] xhci: refactor TRB_ENABLE_SLOT case into function (Don Zickus) [1103370] - [usb] xhci: rename existing Command Completion Event handlers (Don Zickus) [1103370] - [usb] xhci: remove unused argument from xhci_giveback_urb_in_irq() (Don Zickus) [1103370] - [usb] xhci: correct the usage of USB_CTRL_SET_TIMEOUT (Don Zickus) [1103370] - [usb] xhci: Staticize xhci_del_comp_mod_timer (Don Zickus) [1103370] - [usb] xhci: Set L1 device slot on USB2 LPM enable/disable (Don Zickus) [1103370] - [usb] xhci: Fix spurious wakeups after S5 on Haswell (Don Zickus) [1103370] - [usb] xhci: fix write to USB3_PSSEN and XUSB2PRM pci config registers (Don Zickus) [1103370] - [usb] xhci: quirk for extra long delay for S4 (Don Zickus) [1103370] - [usb] xhci: Don't enable/disable RWE on bus suspend/resume (Don Zickus) [1103370] - [usb] xhci: Fix race between ep halt and URB cancellation (Don Zickus) [1103370] - [usb] Fix xHCI host issues on remote wakeup (Don Zickus) [1103370] - [usb] xhci: Ensure a command structure points to the correct trb on the command ring (Don Zickus) [1103370] - [usb] xhci: Fix oops happening after address device timeout (Don Zickus) [1103370] - [usb] xhci: fix port BESL LPM capability checking (Don Zickus) [1103370] - [usb] xhci: fix dma mask setup in xhci.c (Don Zickus) [1103370] - [usb] xhci: trace debug statements related to ring expansion (Don Zickus) [1103370] - [usb] xhci: trace debug messages related to driver initialization and unload (Don Zickus) [1103370] - [usb] xhci: trace debug statements for urb cancellation (Don Zickus) [1103370] - [usb] xhci: add xhci_cmd_completion trace event (Don Zickus) [1103370] - [usb] xhci: add xhci_address_ctx trace event (Don Zickus) [1103370] - [usb] xhci: add trace for debug messages related to endpoint reset (Don Zickus) [1103370] - [usb] xhci: add trace for debug messages related to quirks (Don Zickus) [1103370] - [usb] xhci: add trace for debug messages related to changing contexts (Don Zickus) [1103370] - [usb] xhci: add traces for debug messages in xhci_address_device() (Don Zickus) [1103370] - [usb] xhci: remove CONFIG_USB_XHCI_HCD_DEBUGGING and unused code (Don Zickus) [1103370] - [usb] xhci: replace printk(KERN_DEBUG ...) (Don Zickus) [1103370] - [usb] xhci: replace xhci_info() with xhci_dbg() (Don Zickus) [1103370] - [usb] usb: Add Device Tree support to XHCI Platform driver (Don Zickus) [1103370] - [usb] xhci: add missing dma-mapping.h includes (Don Zickus) [1103370] - [usb] xhci: fix null pointer dereference on ring_doorbell_for_active_rings (Don Zickus) [1103370] - [usb] xhci: Enable XHCI_SPURIOUS_SUCCESS for all controllers with xhci 1.0 (Don Zickus) [1103370] - [usb] xhci: Mark two functions __maybe_unused (Don Zickus) [1103370] - [usb] xhci: Avoid NULL pointer deref when host dies (Don Zickus) [1103370] - [usb] xhci: Correct misplaced newlines (Don Zickus) [1103370] - [usb] xhci: Report USB 2.1 link status for L1 (Don Zickus) [1103370] - [usb] xhci: Refactor port status into a new function (Don Zickus) [1103370] - [usb] xhci: add the suspend/resume functionality (Don Zickus) [1103370] - [usb] xhci: Add missing unlocks on error paths (Don Zickus) [1103370] - [usb] xhci-plat: release mem region while removing module (Don Zickus) [1103370] - [usb] xhci: check for failed dma pool allocation (Don Zickus) [1103370] - [usb] xhci: remove BUG() in xhci_get_endpoint_type() (Don Zickus) [1103370] - [usb] xhci: Remove BUG in xhci_setup_addressable_virt_dev (Don Zickus) [1103370] - [usb] xhci: Remove BUG_ON in xhci_get_input_control_ctx (Don Zickus) [1103370] - [usb] xhci: Remove BUG_ON() in xhci_alloc_container_ctx (Don Zickus) [1103370] - [usb] xhci: add USB2 Link power management BESL support (Don Zickus) [1103370] - [usb] xhci: define port register names and use them instead of magic numbers (Don Zickus) [1103370] - [usb] xhci: check usb2 port capabilities before adding hw link PM support (Don Zickus) [1103370] - [usb] xhci-dbg: Display endpoint number and direction in context dump (Don Zickus) [1103370]- [documentation] sysctl: fix the VM knobs descritpion WRT pdflush (Jerome Marchand) [1024086] - [char] ipmi: implement shadow struct for ipmi_smi_handlers (Tony Camuso) [1063878] - [s390] af_iucv: wrong mapping of sent and confirmed skbs (Hendrik Brueckner) [1102248] - [s390] af_iucv: recvmsg problem for SOCK_STREAM sockets (Hendrik Brueckner) [1102248] - [s390] af_iucv: fix recvmsg by replacing skb_pull() function (Hendrik Brueckner) [1102248] - [scsi] qla2xxx: Update version number to 8.07.00.08.06.6-k (Chad Dupuis) [1054299] - [scsi] qla2xxx: Remove wait for online from host reset handler (Chad Dupuis) [1054299] - [scsi] qla2xxx: Do logins from a chip reset in DPC thread instead of the error handler thread (Chad Dupuis) [1054299] - [scsi] qla2xxx: Remove mapped vp index iterator macro dead code (Chad Dupuis) [1054299] - [scsi] qla2xxx: Add MBC option for fast SFP data access (Chad Dupuis) [1054299] - [scsi] qla2xxx: Fix beacon blink logic for ISP26xx/83xx (Chad Dupuis) [1054299] - [scsi] qla2xxx: Don't check for firmware hung during the reset context for ISP82XX (Chad Dupuis) [1054299] - [scsi] qla2xxx: Delay driver unload if there is any pending activity going on (Chad Dupuis) [1054299] - [scsi] qla2xxx: Clear loop_id for ports that are marked lost during fabric scanning (Chad Dupuis) [1054299] - [scsi] qla2xxx: Adjust adapter reset routine to the changes in firmware specification for ISPFx00 (Chad Dupuis) [1054299] - [scsi] qla2xxx: IOCB data should be copied to I/O mem using memcpy_toio (Chad Dupuis) [1054299] - [scsi] qla2xxx: Use proper log message for flash lock failed error (Chad Dupuis) [1054299] - [scsi] qla2xxx: Decrease pci access for response queue processing for ISPFX00 (Chad Dupuis) [1054299] - [scsi] qla2xxx: Change copyright year to 2014 in all the source files (Chad Dupuis) [1054299] - [scsi] qla2xxx: Introduce fw_dump_flag to track fw dump progress (Chad Dupuis) [1054299] - [scsi] qla2xxx: Remove unnecessary delays from fw dump code path (Chad Dupuis) [1054299] - [scsi] qla2xxx: Track the process when the ROM_LOCK failure happens (Chad Dupuis) [1054299] - [scsi] qla2xxx: Issue abort command for outstanding commands during cleanup when only firmware is alive (Chad Dupuis) [1054299] - [scsi] qla2xxx: Do not schedule reset when one is already active when receiving an invalid status handle (Chad Dupuis) [1054299] - [scsi] qla2xxx: Wait for reset completion without lock for ISPFX00 (Chad Dupuis) [1054299] - [scsi] qla2xxx: Re-sync module parameter descriptions with the code (Chad Dupuis) [1054299] - [scsi] qla2xxx: fix error handling of qla2x00_mem_alloc() (Chad Dupuis) [1054299] - [scsi] qla2xxx: Add IOCB Abort command asynchronous handling (Chad Dupuis) [1054299] - [scsi] qla2xxx: Fix Task Management command asynchronous handling (Chad Dupuis) [1054299] - [scsi] qla2xxx: Read capture firmware dump on mailbox timeout for ISP8044 and ISP82XX (Chad Dupuis) [1054299] - [scsi] qla2xxx: Simplify the ISPFX00 interrupt handler code for ISPFX00 (Chad Dupuis) [1054299] - [scsi] qla2xxx: Avoid poisoning in the response queue for ISPFX00 (Chad Dupuis) [1054299] - [scsi] qla2xxx: Remove Marker type IOCB logic for ISPFX00 (Chad Dupuis) [1054299] - [scsi] qla2xxx: Properly handle 32 bit mailbox register for ISPFX00 (Chad Dupuis) [1054299] - [scsi] qla2xxx: Enable the Flash Access Control (FAC) mailbox command (Chad Dupuis) [1054299] - [scsi] qla2xxx: Select correct request queue for error type IOCB for ISPFX00 (Chad Dupuis) [1054299] - [scsi] qla2xxx: Remove init control block related dead code for ISPFX00 (Chad Dupuis) [1054299] - [scsi] qla2xxx: Replace constant value for IOCTL IOCB abort execution status with a macro for ISPFX00 (Chad Dupuis) [1054299] - [scsi] qla2xxx: Add handling for boot indication progress AENs for ISPFX00 (Chad Dupuis) [1054299] - [scsi] qla2xxx: Add mutex around optrom calls to serialize accesses (Chad Dupuis) [1054299] - [scsi] qla2xxx: Poll during initialization for ISP25xx and ISP83xx (Chad Dupuis) [1054299] - [scsi] qla2xxx: Replace a constant with a macro definition for host->canqueue assigmnment (Chad Dupuis) [1054299] - [scsi] qla2xxx: Only complete dcbx_comp and lb_portup_comp for virtual port index 0 (Chad Dupuis) [1054299] - [scsi] qla2xxx: Use scnprintf() instead of snprintf() in the sysfs handlers (Chad Dupuis) [1054299] - [scsi] qla2xxx: Add changes to obtain ISPFX00 adapters product information in accordance with firmware update (Chad Dupuis) [1054299] - [scsi] qla2xxx: Add logic to abort BSG commands for ISPFX00 (Chad Dupuis) [1054299] - [scsi] qla2xxx: Clear RISC INT reg only for an event and not always while polling (Chad Dupuis) [1054299] - [scsi] qla2xxx: Fix undefined behavior in call to snprintf() (Chad Dupuis) [1054299] - [scsi] qla2xxx: Add BSG interface for read/write serdes register (Chad Dupuis) [1054299] - [scsi] qla2xxx: Fix issue with not displaying node name after system reboot (Chad Dupuis) [1054299] - [scsi] qla2xxx: Add BPM support for ISP25xx (Chad Dupuis) [1054299] - [scsi] qla2xxx: Correctly set mailboxes for extended init control block (Chad Dupuis) [1054299] - [scsi] qla2xxx: Disable INTx interrupt for ISP82XX (Chad Dupuis) [1054299] - [scsi] qla2xxx: Honor execute firmware failures (Chad Dupuis) [1054299] - [scsi] qla2xxx: Print proper QLAFX00 product name at probe (Chad Dupuis) [1054299] - [scsi] qla2xxx: Use standard PCIe Capability Link register field names (Chad Dupuis) [1054299] - [scsi] qla2xxx: Use pcie_is_pcie() to simplify code (Chad Dupuis) [1054299] - [scsi] qla2xxx: print MAC via pMR (Chad Dupuis) [1054299] - [scsi] qla2xxx: Correctly print out/in mailbox registers (Chad Dupuis) [1054299] - [scsi] qla2xxx: Add a new interface to update versions (Chad Dupuis) [1054299] - [scsi] qla2xxx: Select link initialization option bits from current operating mode (Chad Dupuis) [1054299] - [scsi] qla2xxx: Add loopback IDC-TIME-EXTEND aen handling support (Chad Dupuis) [1054299] - [scsi] qla2xxx: Set default critical temperature value in cases when ISPFX00 firmware doesn't provide it (Chad Dupuis) [1054299] - [scsi] qla2xxx: QLAFX00 make over temperature AEN handling informational, add log for normal temperature AEN (Chad Dupuis) [1054299] - [scsi] qla2xxx: Correct Interrupt Register offset for ISPFX00 (Chad Dupuis) [1054299] - [scsi] qla2xxx: Remove handling of Shutdown Requested AEN from qlafx00_process_aen() (Chad Dupuis) [1054299] - [scsi] qla2xxx: Send all AENs for ISPFx00 to above layers (Chad Dupuis) [1054299] - [scsi] qla2xxx: Add changes in initialization for ISPFX00 cards with BIOS (Chad Dupuis) [1054299] - [scsi] qla2xxx: Add changes to support extended IOs for ISPFX00 (Chad Dupuis) [1054299] - [scsi] qla2xxx: Add missing FCP statistics to sysfs interface (Chad Dupuis) [1054299] - [scsi] qla2xxx: Make log message that prints when a completion status requires a port down more readable (Chad Dupuis) [1054299] - [scsi] qla2xxx: Add critical temperature handling for ISPFX00 (Chad Dupuis) [1054299] - [scsi] qla2xxx: Notify ISPFX00 firmware when driver is unloaded or system is shut down (Chad Dupuis) [1054299] - [scsi] qla2xxx: Reconfigure thermal temperature (Chad Dupuis) [1054299] - [scsi] qla2xxx: Add setting of driver version string for vendor application (Chad Dupuis) [1054299] - [scsi] qla2xxx: Remove QL_DEBUG_LEVEL_17 defines from qla_nx.c (Chad Dupuis) [1054299] - [scsi] qla2xxx: Add ISPFX00 specific bus reset routine (Chad Dupuis) [1054299] - [scsi] qla2xxx: Perform warm reset every 2 minutes if firmware load fails for ISPFX00 (Chad Dupuis) [1054299] - [scsi] qla2xxx: Set factory reset recovery timeout to 10 min. for ISPFX00 (Chad Dupuis) [1054299] - [scsi] qla2xxx: Correct multiqueue offset calculations (Chad Dupuis) [1054299] - [scsi] qla2xxx: Fix incorrect test after list_for_each_entry() exits (Chad Dupuis) [1054299] - [scsi] qla2xxx: Print some variables to hexadecimal string via *phN format (Chad Dupuis) [1054299] - [scsi] qla2xxx: Fix sparse warnings in qlafx00_fxdisc_iocb function (Chad Dupuis) [1054299] - [scsi] qla2xxx: Properly set the tagging for commands (Chad Dupuis) [1054299] - [scsi] qla2xxx: Fix a memory leak in an error path of qla2x00_process_els() (Chad Dupuis) [1054299] - [scsi] qla2xxx: Remove an unused variable from qla2x00_remove_one() (Chad Dupuis) [1054299] - [scsi] qla2xxx: Fix qla2xxx_check_risc_status() (Chad Dupuis) [1054299] - [scsi] qla2xxx: Help Coverity with analyzing ct_sns_pkt initialization (Chad Dupuis) [1054299] - [scsi] qla2xxx: Remove redundant assignments (Chad Dupuis) [1054299] - [scsi] qla2xxx: Remove a dead assignment in qla24xx_build_scsi_crc_2_iocbs() (Chad Dupuis) [1054299] - [scsi] qla2xxx: Remove two superfluous tests (Chad Dupuis) [1054299] - [scsi] qla2xxx: Remove dead code in qla2x00_configure_hba() (Chad Dupuis) [1054299] - [scsi] qla2xxx: Clean up qla84xx_mgmt_cmd() (Chad Dupuis) [1054299] - [scsi] qla2xxx: Clean up qla24xx_iidma() (Chad Dupuis) [1054299] - [scsi] qla2xxx: Fix sparse warning from qla_mr.c and qla_iocb.c (Chad Dupuis) [1054299] - [scsi] qla2xxx: Do not take a second firmware dump when intentionally generating one (Chad Dupuis) [1054299] - [scsi] qla2xxx: Do not query FC statistics during chip reset (Chad Dupuis) [1054299] - [scsi] qla2xxx: Move qla2x00_free_device to the correct location (Chad Dupuis) [1054299] - [scsi] qla2xxx: Set the index in outstanding command array to NULL when cmd is aborted when the request timeout (Chad Dupuis) [1054299] - [scsi] qla2xxx: Update firmware link in Kconfig file (Chad Dupuis) [1054299] - [scsi] qla2xxx: qla2x00_sp_compl can be static (Chad Dupuis) [1054299] - [scsi] qla2xxx: fix sparse warning "large integer implicitly truncated to unsigned type" (Chad Dupuis) [1054299] - [scsi] qla2xxx: Add IS_P3P_TYPE macro (Chad Dupuis) [1054299] - [scsi] qla2xxx: Reduce the time we wait for a command to complete during SCSI error handling (Chad Dupuis) [1054299] - [scsi] qla2xxx: Avoid escalating the SCSI error handler if the command is not found in firmware (Chad Dupuis) [1054299] - [scsi] qla2xxx: Set host can_queue value based on available resources (Chad Dupuis) [1054299] - [x86] Fix stack frame warning in check_irq_vectors_for_cpu_disable() (Prarit Bhargava) [1023834] - [x86] Add check for number of available vectors before CPU down (Prarit Bhargava) [1023834] - [x86] Skip migrating IRQF_PER_CPU irqs in fixup_irqs() (Prarit Bhargava) [1023834] - [net] filter: prevent nla extensions to peek beyond the end of the message (Jiri Benc) [1096779] {CVE-2014-3144 CVE-2014-3145} - [net] increase frag hash size (Jesper Brouer) [859249] - [net] frag queue per hash bucket locking (Jesper Brouer) [859249] - [net] inet: frag: make sure forced eviction removes all frags (Jesper Brouer) [859249] - [net] fix possible deadlock in sum_frag_mem_limit (Jesper Brouer) [859249] - [net] use lib/percpu_counter API for fragmentation mem accounting (Jesper Brouer) [859249] - [net] cacheline adjust struct netns_frags for better frag performance (Jesper Brouer) [859249] - [net] frag, avoid several CPUs grabbing same frag queue during LRU evictor loop (Jesper Brouer) [859249] - [net] fix for a race condition in the inet frag code (Jesper Brouer) [859249] - [net] frag, fix race conditions in LRU list maintenance (Jesper Brouer) [859249] - [net] use the frag lru_lock to protect netns_frags.nqueues update (Jesper Brouer) [859249] - [net] kABI workaround for netns_frags LRU list lock (Jesper Brouer) [859249] - [net] frag, move LRU list maintenance outside of rwlock (Jesper Brouer) [859249] - [net] frag helper functions for mem limit tracking (Jesper Brouer) [859249] - [net] ipv6: make ip6_frag_nqueues() and ip6_frag_mem() static inline (Jesper Brouer) [859249] - [net] cacheline adjust struct inet_frag_queue (Jesper Brouer) [859249] - [net] cacheline adjust struct inet_frags for better frag performance (Jesper Brouer) [859249] - [net] ip_frag: struct inet_frags match() method returns a bool (Jesper Brouer) [859249] - [net] ipv6: unify fragment thresh handling code (Jesper Brouer) [859249] - [net] increase fragment memory usage limits (Jesper Brouer) [859249] - [net] ipv6: reassembly: replace calculated magic number with multiplication (Jesper Brouer) [859249] - [net] ipv6: reassembly: replace magic number with macro definitions (Jesper Brouer) [859249] - [net] nf_conntrack_reasm: add fast path for in-order fragments (Jesper Brouer) [859249] - [net] fragment: add fast path for in-order fragments (Jesper Brouer) [859249] - [net] ip_frag: frag_kfree_skb() cleanup (Jesper Brouer) [859249] - [net] ip_frag: Remove some atomic ops (Jesper Brouer) [859249] - [powerpc] Wire up new syscall clock_adjtime (Jiri Benc) [1099152] - [block] xen-blkfront: make blkif_io_lock spinlock per-device (Vitaly Kuznetsov) [1102879] - [x86] mce: Fix CMCI preemption bugs (Rui Wang) [916094] - [x86] cmci: Add proper detection of end of CMCI storms (Rui Wang) [916094] - [x86] mce: Fix mce_start_timer semantics (Rui Wang) [916094] - [x86] mce: Add CMCI poll mode (Rui Wang) [916094] - [x86] mce: Remove the frozen cases in the hotplug code (Rui Wang) [916094] - [x86] mce: Split timer init (Rui Wang) [916094] - [x86] mce: Add the dropped timer interval init back (Rui Wang) [916094] - [x86] mce: Fix the MCE poll timer logic (Rui Wang) [916094] - [x86] mce: Cleanup timer mess (Rui Wang) [916094] - [powercap] Add to drivers Kconfig and Makefile (Steve Best) [1036309] - [powercap] Documentation (Steve Best) [1036309] - [powercap] Fix build error with option -Werror=format-security (Steve Best) [1036309] - [powercap] Introduce Intel RAPL power capping driver (Steve Best) [1036309] - [powercap] Add class driver (Steve Best) [1036309] - [kernel] device: add RW and RO attribute macros (Steve Best) [1036309] - [kernel] sysfs: add __ATTR_RW() macro (Steve Best) [1036309] - [kernel] bitops: Introduce BIT_ULL (Steve Best) [1036309] - [input] wacom: create inputs when wireless connect (Aristeu Rozanski) [1004617] - [input] wacom: wireless monitor framework (Aristeu Rozanski) [1004617] - [input] wacom: LED is only supported through digitizer interface (Aristeu Rozanski) [1004617] - [input] wacom: isolate input registration (Aristeu Rozanski) [1004617] - [input] wacom: add support for three new Intuos Pro devices (Aristeu Rozanski) [1004617] - [input] wacom: use per-device instance of wacom_features (Aristeu Rozanski) [1004617] - [input] wacom: clean up wacom_query_tablet_data (Aristeu Rozanski) [1004617] - [input] synaptics: add min/max quirk for the ThinkPad W540 (Benjamin Tissoires) [1042514] - [input] synaptics: add min/max quirk for ThinkPad Edge E431 (Benjamin Tissoires) [1042514] - [input] synaptics: add min/max quirk for ThinkPad T431s, L440, L540, S1 Yoga and X1 (Benjamin Tissoires) [1042514] - [input] synaptics: report INPUT_PROP_TOPBUTTONPAD property (Benjamin Tissoires) [1042514] - [input] Add INPUT_PROP_TOPBUTTONPAD device property (Benjamin Tissoires) [1042514] - [input] i8042: add firmware_id support (Benjamin Tissoires) [1042514] - [input] serio: add firmware_id sysfs attribute (Benjamin Tissoires) [1042514] - [input] synaptics: add manual min/max quirk for ThinkPad X240 (Benjamin Tissoires) [1042514] - [input] synaptics: add manual min/max quirk (Benjamin Tissoires) [1042514] - [input] synaptics: initialize pointer emulation usage (Benjamin Tissoires) [1042514] - [input] synaptics: add image sensor support (Benjamin Tissoires) [1042514] - [input] synaptics: refactor initialization of abs position axes (Benjamin Tissoires) [1042514] - [input] synaptics: refactor agm packet parsing (Benjamin Tissoires) [1042514] - [input] synaptics: refactor y inversion (Benjamin Tissoires) [1042514] - [input] synaptics: fix reporting of min coordinates (Benjamin Tissoires) [1042514] - [input] synaptics: set minimum coordinates as reported by firmware (Benjamin Tissoires) [1042514] - [input] synaptics: process button bits in AGM packets (Benjamin Tissoires) [1042514] - [input] synaptics: rename set_slot to be more descriptive (Benjamin Tissoires) [1042514] - [input] synaptics: fuzz position for touchpad with reduced filtering (Benjamin Tissoires) [1042514] - [input] synaptics: set resolution for MT_POSITION_X/Y axes (Benjamin Tissoires) [1042514] - [input] synaptics: report clickpad property (Benjamin Tissoires) [1042514] - [input] synaptics: fix incorrect placement of __initconst (Benjamin Tissoires) [1042514] - [input] psmouse: do not carry DMI data around (Benjamin Tissoires) [1042514] - [dmi] add support for exact DMI matches in addition to substring matching (Rob Clark) [1042514] - [netdrv] igb: remove usless return statements (Stefan Assmann) [1038782] - [netdrv] igb: remove return statements for void functions (Stefan Assmann) [1038782] - [netdrv] igb: get rid of SET_ETHTOOL_OPS (Stefan Assmann) [1038782] - [netdrv] igb: Change memcpy to struct assignment (Stefan Assmann) [1038782] - [netdrv] igb: Replace 1/0 return values with true/false (Stefan Assmann) [1038782] - [netdrv] igb: Cleanups to remove unneeded extern declaration (Stefan Assmann) [1038782] - [netdrv] igb: Cleanups to replace deprecated DEFINE_PCI_DEVICE_TABLE (Stefan Assmann) [1038782] - [netdrv] igb: Cleanups to fix static initialization (Stefan Assmann) [1038782] - [netdrv] igb: Cleanups to fix msleep warnings (Stefan Assmann) [1038782] - [netdrv] igb: Cleanups to fix line length warnings (Stefan Assmann) [1038782] - [netdrv] igb: Cleanups to remove return parentheses (Stefan Assmann) [1038782] - [netdrv] igb: Cleanups to fix missing break in switch statements (Stefan Assmann) [1038782] - [netdrv] igb: Cleanups to fix assignment in if error (Stefan Assmann) [1038782] - [netdrv] igb: Cleanups to change comment style on license headers (Stefan Assmann) [1038782] - [netdrv] igb: Cleanups to fix for trailing statement (Stefan Assmann) [1038782] - [netdrv] igb: Cleanups to fix pointer location error (Stefan Assmann) [1038782] - [netdrv] igb: Cleanups to fix incorrect indentation (Stefan Assmann) [1038782] - [netdrv] igb: Cleanups to fix braces location warnings (Stefan Assmann) [1038782] - [netdrv] igb: Cleanups for messaging (Stefan Assmann) [1038782] - [netdrv] igb: fix message terminations (Stefan Assmann) [1038782] - [netdrv] igb: fix stats for i210 rx_fifo_errors (Stefan Assmann) [1038782] - [netdrv] igb: fix last_rx_timestamp usage (Stefan Assmann) [1038782] - [netdrv] igb: remove open-coded skb_cow_head (Stefan Assmann) [1038782] - [netdrv] igb: Convert iounmap to pci_iounmap (Stefan Assmann) [1038782] - [netdrv] igb: fix race conditions on queuing skb for HW time stamp (Stefan Assmann) [1038782] - [netdrv] igb: never generate both software and hardware timestamps (Stefan Assmann) [1038782] - [netdrv] igb: Unset IGB_FLAG_HAS_MSIX-flag when falling back to msi-only (Stefan Assmann) [1038782] - [netdrv] igb: Fix Null-pointer dereference in igb_reset_q_vector (Stefan Assmann) [1038782] - [netdrv] igb: specify phc_index of 82575 for get_ts_info (Stefan Assmann) [1038782] - [netdrv] igb: Fix memory leak in igb_get_module_eeprom() (Stefan Assmann) [1038782] - [netdrv] igb: add register rd/wr for surprise removal (Stefan Assmann) [1038782] - [netdrv] igb: implement SIOCGHWTSTAMP ioctl (Stefan Assmann) [1038782] - [netdrv] igb: Convert uses of __constant_ to (Stefan Assmann) [1038782] - [netdrv] igb: enable VLAN stripping for VMs with i350 (Stefan Assmann) [1038782] - [netdrv] igb: Add register defines needed for time sync functions (Stefan Assmann) [1038782] - [netdrv] igb: remove references to long gone command line parameters (Stefan Assmann) [1038782] - [netdrv] igb: Don't receive packets when the napi budget == 0 (Stefan Assmann) [1038782] - [netdrv] igb: Fix code comment (Stefan Assmann) [1038782] - [netdrv] igb: Fix for devices using ethtool for EEE settings (Stefan Assmann) [1038782] - [netdrv] igb: call skb_set_hash to set the hash and its type in a skbuff (Stefan Assmann) [1038782] - [netdrv] igb: fix warning if !CONFIG_IGB_HWMON (Stefan Assmann) [1038782] - [netdrv] igb: fix array size calculation (Stefan Assmann) [1038782] - [netdrv] igb: Update license text to remove FSF address and update copyright (Stefan Assmann) [1038782] - [netdrv] igb: make local functions static and remove dead code (Stefan Assmann) [1038782] - [netdrv] igb: Change to use statically allocated array for MSIx entries (Stefan Assmann) [1038782] - [netdrv] igb: Fix queue allocation method to accommodate changing during runtime (Stefan Assmann) [1038782] - [netdrv] igb: Fix for issue where values could be too high for udelay function (Stefan Assmann) [1038782] - [netdrv] igb: Start temperature sensor attribute index with 1 (Stefan Assmann) [1038782] - [netdrv] igb: Add new feature Media Auto Sense for 82580 devices only (Stefan Assmann) [1038782] - [netdrv] igb: Support ports mapped in 64-bit PCI space (Stefan Assmann) [1038782] - [netdrv] igb: Add media switching feature for i354 PHY's (Stefan Assmann) [1038782] - [netdrv] igb: Fixed Wake On LAN support (Stefan Assmann) [1038782] - [netdrv] igb: Don't let ethtool try to write to iNVM in i210/i211 (Stefan Assmann) [1038782] - [netdrv] igb: Fix master/slave mode for all m88 i354 PHY's (Stefan Assmann) [1038782] - [netdrv] igb: Miscellaneous conversions to ETH_ALEN (Stefan Assmann) [1038782] - [netdrv] igb: Avoid uninitialized advertised variable in eee_set_cur (Stefan Assmann) [1038782] - [netdrv] igb: Add ethtool support to configure number of channels (Stefan Assmann) [1038782] - [netdrv] igb: Add ethtool offline tests for i354 (Stefan Assmann) [1038782] - [netdrv] igb: Fix ethtool loopback test for 82580 copper (Stefan Assmann) [1038782] - [netdrv] igb: Remove extern from function prototypes (Stefan Assmann) [1038782] - [netdrv] igb: fix 32-bit DMA mask handling (Stefan Assmann) [1038782] - [netdrv] igb: fix up function prototypes after __dev* removals (Stefan Assmann) [1038782] - [netdrv] igb: remove __dev* attributes (Stefan Assmann) [1038782]- [documentation] vm: clarify vfs_cache_pressure description (Denys Vlasenko) [804463] - [kernel] sched_rt: Use root_domain of rt_rq not current processor (Daniel Bristot de Oliveira) [1101301] - [kernel] cgroups: fix a css_set not found bug in cgroup_attach_proc (Petr Oros) [1078263] - [virt] kvm: enable PCI multiple-segments for pass-through device (Michael S. Tsirkin) [1103471] - [kvm] x86: increase VCPU limit to 240 (Radim Krcmar) [864242] - [x86] Mark Intel Broadwell processor as supported (David Milburn) [1032351] - [x86] kvm: expose invariant tsc cpuid bit (Marcelo Tosatti) [996770] - [pci] Fix section mismatch - pcibios_scan_root() to .devinit.text:pci_scan_root_bus() (Myron Stowe) [1104384] - [net] mac80211: don't validate unchanged AP bandwidth while tracking (Stanislaw Gruszka) [1090428] - [usb] don't enable remote wakeup by default (Don Zickus) [698729] - [usb] Update USB default wakeup settings (Don Zickus) [698729] - [usb] obey the sysfs power/wakeup setting (Don Zickus) [698729] - [s390] kernel: avoid page table walk on user space access (Hendrik Brueckner) [1099146] - [s390] qeth: postpone freeing of qdio memory (Hendrik Brueckner) [1094379] - [s390] qeth: Fix retry logic in hardsetup (Hendrik Brueckner) [1094379] - [s390] qeth: Recognize return codes of ccw_device_set_online (Hendrik Brueckner) [1094379] - [s390] qdio: remove API wrappers (Hendrik Brueckner) [1094379] - [netdrv] ixgbevf: remove open-coded skb_cow_head (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: Add bit to mark work queue initialization (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: Fix rcu warnings induced by LER (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: Change ixgbe_read_reg to ixgbevf_read_reg (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: Additional adapter removal checks (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: Check for adapter removal on register writes (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: Check register reads for adapter removal (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: Make the ethtool register test use accessors (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: Use static inlines instead of macros (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: Convert uses of __constant_ to (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: Protect ixgbevf_down with __IXGBEVF_DOWN bit (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: Indicate removal state explicitly (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: delete unneeded call to pci_set_power_state (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: add check for CHECKSUM_PARTIAL when doing TSO (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: fix handling of tx checksumming (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: Use pci_enable_msix_range() instead of pci_enable_msix() (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: merge ixgbevf_tx_map and ixgbevf_tx_queue into a single function (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: redo dma mapping using the tx buffer info (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: make the first tx_buffer a repository for most of the skb info (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: add tx counters (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: remove counters for Tx/Rx checksum offload (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: move ring specific stats into ring specific structure (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: make use of the dev pointer in the ixgbevf_ring struct and remove externs (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: bump version (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: create function for all of ring init (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: Convert ring storage form pointer to an array to array of pointers (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: use pci drvdata correctly in ixgbevf_suspend() (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: set the disable state when ixgbevf_qv_disable is called (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: add DCB configuration into queue setup (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: Focus config of head, tail ntc, and ntu all into a single function (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: cleanup IXGBE_DESC_UNUSED (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: remove redundant workaround (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: Add zero_base handler to network statistics (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: add BP_EXTENDED_STATS for CONFIG_NET_RX_BUSY_POLL (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: implement CONFIG_NET_RX_BUSY_POLL (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: have clean_rx_irq return total_rx_packets cleaned (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: add ixgbevf_rx_skb (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: bump driver version (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: implement ethtool get/set coalesce (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: Adds function to set PSRTYPE register (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: Miscellaneous conversions to ETH_ALEN (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: add wait for Rx queue disable (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: cleanup redundant mailbox read failure check (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: do not print registers to dmesg in ixgbevf_get_regs (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: fix 32-bit DMA mask handling (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: Add checksum statistics counters to rings (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: Make use of NETIF_F_RXCSUM instead of keeping our own flag (Andy Gospodarek) [1038785] - [netdrv] ixgbevf: convert to ndo_fix_features (Andy Gospodarek) [1038785] - [netdrv] ixgbe: fix message terminations (Andy Gospodarek) [1038784] - [netdrv] ixgbe: clean up Rx time stamping code (Andy Gospodarek) [1038784] - [netdrv] ixgbe: remove open-coded skb_cow_head (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Add bit to mark service task initialization (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Fix rcu warnings induced by LER (Andy Gospodarek) [1038784] - [netdrv] ixgbe: fix ixgbe_check_reset_blocked() declaration (Andy Gospodarek) [1038784] - [netdrv] ixgbe: fix race conditions on queuing skb for HW time stamp (Andy Gospodarek) [1038784] - [netdrv] ixgbe: never generate both software and hardware timestamps (Andy Gospodarek) [1038784] - [netdrv] ixgbe: remove redundant if clause from PTP work (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Break recursion in case of removal (Andy Gospodarek) [1038784] - [netdrv] ixgbe: enable tx queues after link up (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Stop cacheing if the MNG FW enabled (Andy Gospodarek) [1038784] - [netdrv] ixgbe: clean up ixgbe_atr_compute_perfect_hash_82599 (Andy Gospodarek) [1038784] - [netdrv] ixgbe: use ixgbe_read_pci_cfg_word (Andy Gospodarek) [1038784] - [netdrv] ixgbe: remove unused media type (Andy Gospodarek) [1038784] - [netdrv] ixgbe: fix ixgbe_setup_mac_link_82599 autoc variables (Andy Gospodarek) [1038784] - [netdrv] ixgbe: fix ixgbe_stop_mac_link_on_d3_82599 to check mng correctly (Andy Gospodarek) [1038784] - [netdrv] ixgbe: check Core Clock Disable bit (Andy Gospodarek) [1038784] - [netdrv] ixgbe: fix errors related to protected AUTOC calls (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Convert uses of __constant_ to (Andy Gospodarek) [1038784] - [netdrv] ixgbe: add ixgbe_write_pci_cfg_word with ixgbe_removed check (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Don't receive packets when the napi budget == 0 (Andy Gospodarek) [1038784] - [netdrv] ixgbe: fix some multiline hw_dbg prints (Andy Gospodarek) [1038784] - [netdrv] ixgbe: fixup header for ixgbe_set_rxpba_82598 (Andy Gospodarek) [1038784] - [netdrv] ixgbe: add Linux NICS mailing list to contact info (Andy Gospodarek) [1038784] - [netdrv] ixgbe: move setting rx_pb_size into get_invariants (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Fix format string in ixgbe_fcoe.c (Andy Gospodarek) [1038784] - [netdrv] ixgbe: calls skb_set_hash (Andy Gospodarek) [1038784] - [netdrv] ixgbe: implement SIOCGHWTSTAMP ioctl (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Check config reads for removal (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Fix up some ethtool results when adapter is removed (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Restore hw_addr in LER recovery paths (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Add check for FW veto bit (Andy Gospodarek) [1038784] - [netdrv] ixgbe: fix bit toggled for 82599 reset fix (Andy Gospodarek) [1038784] - [netdrv] ixgbe: collect all 82599 AUTOC code in one function (Andy Gospodarek) [1038784] - [netdrv] ixgbe: fix to use correct timeout interval for memory read completion (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Add WoL support for a new device (Andy Gospodarek) [1038784] - [netdrv] ixgbe: don't use magic size number to assign ptp_caps.name (Andy Gospodarek) [1038784] - [netdrv] ixgbe: modify behavior on receiving a HW ECC error (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Use pci_enable_msix_range() instead of pci_enable_msix() (Andy Gospodarek) [1038784] - [netdrv] ixgbe: bump version number (Andy Gospodarek) [1038784] - [netdrv] ixgbe: add braces around else condition in ixgbe_qv_lock_* calls (Andy Gospodarek) [1038784] - [netdrv] ixgbe: set driver_max_VFs should be done before enabling SRIOV (Andy Gospodarek) [1038784] - [netdrv] ixgbe: define IXGBE_MAX_VFS_DRV_LIMIT macro and cleanup const 63 (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Fix incorrect logic for fixed fiber eeprom write (Andy Gospodarek) [1038784] - [netdrv] ixgbe: reinit_locked() should be called with rtnl_lock (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Clear head write-back registers on VF reset (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Force QDE via PFQDE for VFs during reset (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Additional adapter removal checks (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Check for adapter removal on register writes (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Check register reads for adapter removal (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Make ethtool register test use accessors (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Use static inlines instead of macros (Andy Gospodarek) [1038784] - [netdrv] ixbge: Protect ixgbe_down with __IXGBE_DOWN bit (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Indicate removal state explicitly (Andy Gospodarek) [1038784] - [netdrv] ixgbe: slight optimization of addr compare (Andy Gospodarek) [1038784] - [netdrv] ixgbe: fix for unused variable warning with certain config (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Start temperature sensor attribute index with 1 (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Make ixgbe_identify_qsfp_module_generic static (Andy Gospodarek) [1038784] - [netdrv] ixgbe: add warning when max_vfs is out of range (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Reduce memory consumption with larger page sizes (Andy Gospodarek) [1038784] - [netdrv] ixgbe: fix qv_lock_napi call in ixgbe_napi_disable_all (Andy Gospodarek) [1038784] - [netdrv] ixgbe: use pcie_capability_read_word() to simplify code (Andy Gospodarek) [1038784] - [netdrv] ixgbe: remove marketing names from busy poll code (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Cleanup the use of tabs and spaces (Andy Gospodarek) [1038784] - [netdrv] ixgbe: ethtool DCB registers dump for 82599 and x540 (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Remove extern from function prototypes (Andy Gospodarek) [1038784] - [netdrv] ixgbe: fix 32-bit DMA mask handling (Andy Gospodarek) [1038784] - [netdrv] ixgbe: fix ethtool reporting of supported links for SFP modules (Andy Gospodarek) [1038784] - [netdrv] ixgbe: limit setting speed to only one at a time for QSFP modules (Andy Gospodarek) [1038784] - [netdrv] ixgbe: fix ethtool loopback diagnostic with DCB enabled (Andy Gospodarek) [1038784] - [netdrv] ixgbe: fully disable hardware RSC logic when disabling RSC (Andy Gospodarek) [1038784] - [netdrv] ixgbe: add support for older QSFP active DA cables (Andy Gospodarek) [1038784] - [netdrv] ixgbe: include QSFP PHY types in ixgbe_is_sfp() (Andy Gospodarek) [1038784] - [netdrv] ixgbe: add 1Gbps support for QSFP+ (Andy Gospodarek) [1038784] - [netdrv] ixgbe: fix SFF data dumps of SFP+ modules from an offset (Andy Gospodarek) [1038784] - [netdrv] ixgbe: cleanup some log messages (Andy Gospodarek) [1038784] - [netdrv] ixgbe: zero out mailbox buffer on init (Andy Gospodarek) [1038784] - [netdrv] ixgbe: fix link test when connected to 1Gbps link partner (Andy Gospodarek) [1038784] - [netdrv] ixgbe: fix incorrect limit value in ring transverse (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Check return value on eeprom reads (Andy Gospodarek) [1038784] - [netdrv] ixgbe: disable link when adapter goes down (Andy Gospodarek) [1038784] - [netdrv] ixgbe: rename LL_EXTENDED_STATS to use queue instead of q (Andy Gospodarek) [1038784] - [netdrv] ixgbe: Update ixgbe driver to use __netdev_pick_tx in ixgbe_select_queue (Andy Gospodarek) [1038784] - [netdrv] e1000e: Out of line __ew32_prepare/__ew32 (John Greene) [1038781] - [netdrv] e1000e: Fix expand setting EEE link info to all affected parts (John Greene) [1038781] - [netdrv] e1000e: Cleanup parenthesis around return value (John Greene) [1038781] - [netdrv] e1000e: 82574/82583 TimeSync errata for SYSTIM read (John Greene) [1038781] - [netdrv] e1000e: Failure to write SHRA turns on PROMISC mode (John Greene) [1038781] - [netdrv] e1000e: Cleanup use of deprecated DEFINE_PCI_DEVICE_TABLE (John Greene) [1038781] - [netdrv] e1000e: Cleanup checkpatch extra space (John Greene) [1038781] - [netdrv] e1000e: Cleanup to fix checkpatch missing blank lines (John Greene) [1038781] - [netdrv] e1000e: Cleanup return values in ethtool (John Greene) [1038781] - [netdrv] e1000e: Restrict MDIO Slow Mode workaround to relevant parts (John Greene) [1038781] - [netdrv] e1000e: Fix issue with link flap on 82579 (John Greene) [1038781] - [netdrv] e1000e: Expand workaround for 10Mb HD throughput bug (John Greene) [1038781] - [netdrv] e1000e: Workaround for dropped packets in Gig/100 speeds on 82579 (John Greene) [1038781] - [netdrv] e1000e: fix message terminations (John Greene) [1038781] - [netdrv] e1000e: Fix no connectivity when driver loaded with cable out (John Greene) [1038781] - [netdrv] e1000e: remove redundant if clause from PTP work (John Greene) [1038781] - [netdrv] e1000e: add timeout for TX HW time stamping work (John Greene) [1038781] - [netdrv] e1000e: Fix Explicitly set Transmit Control Register (John Greene) [1038781] - [netdrv] e1000e: Fix Hardware Unit Hang (John Greene) [1038781] - [netdrv] e1000e: Fix SHRA register access for 82579 (John Greene) [1038781] - [netdrv] e1000e: Fix ethtool offline tests for 82579 parts (John Greene) [1038781] - [netdrv] e1000e: Fix not generating an error on invalid load parameter (John Greene) [1038781] - [netdrv] e1000e: Add missing branding strings in ich8lan.c (John Greene) [1038781] - [netdrv] e1000e: Cleanup - Update GPL header and Copyright (John Greene) [1038781] - [netdrv] e1000e: Fix 82579 sets LPI too early (John Greene) [1038781] - [netdrv] e1000e: Resolve issues with Management Engine briefly blocking PHY resets (John Greene) [1038781] - [netdrv] e1000e: PTP lock in e1000e_phc_adjustfreq (John Greene) [1038781] - [netdrv] e1000e: fix maybe-unitialized variable compiler warning (John Greene) [1038781] - [netdrv] e1000e: fix compiler warnings (John Greene) [1038781] - [netdrv] e1000e: fix overrun of PHY RAR array (John Greene) [1038781] - [netdrv] e1000e: cleanup boolean comparison to true (John Greene) [1038781] - [netdrv] e1000e: balance semaphore put/get for 82573 (John Greene) [1038781] - [netdrv] e1000e: resolve checkpatch JIFFIES_COMPARISON warning (John Greene) [1038781] - [netdrv] e1000e: Avoid kernel crash during shutdown (John Greene) [1038781] - [cciss] touch version string (Tomas Henzl) [1052275] - [cciss] Fallback to MSI rather than to INTx if MSI-X failed (Tomas Henzl) [1052275] - [cciss] drivers/block/cciss.c:cciss_init_one(): use proper errnos (Tomas Henzl) [1052275] - [cciss] Adds simple mode functionality (Tomas Henzl) [1052275] - [cciss] add cciss_allow_hpsa module parameter (Tomas Henzl) [1052275] - [cciss] bug fix to prevent cciss from loading in kdump crash kernel (Tomas Henzl) [1052275] - [cciss] add transport mode attribute to sys (Tomas Henzl) [1052275] - [cciss] fix flush cache transfer length (Tomas Henzl) [1052275] - [cciss] Inform controller we are using 32-bit tags (Tomas Henzl) [1052275] - [cciss] fix invalid use of sizeof in cciss_find_cfgtables() (Tomas Henzl) [1052275] - [cciss] set max scatter gather entries to 32 on P600 (Tomas Henzl) [1052275] - [cciss] The Windows driver .inf disables ASPM on all cciss devices. Do the same (Tomas Henzl) [1052275] - [cciss] auto engage SCSI mid layer at driver load time (Tomas Henzl) [1052275] - [cciss] return 0 from driver probe function on success, not 1 (Tomas Henzl) [1052275] - [cciss] add readl after writel in interrupt mask setting code (Tomas Henzl) [1052275] - [cciss] Fix scsi tape io with more than 255 scatter gather elements (Tomas Henzl) [1052275] - [cciss] Initialize scsi host max_sectors for tape drive support (Tomas Henzl) [1052275] - [cciss] fix missed command status value CMD_UNABORTABLE (Tomas Henzl) [1052275] - [cciss] fix incorrect scsi status reporting (Tomas Henzl) [1052275] - [scsi] mpt2sas: Don't disable device twice at suspend (Tomas Henzl) [1059137] - [scsi] mpt2sas: Remove phys on topology change (Tomas Henzl) [1059137] - [scsi] mpt2sas: Bump driver version to v16.100.00.00 (Tomas Henzl) [1059137] - [scsi] mpt2sas: Fix for kernel panic when driver loads with HBA connected to non LUN 0 configured expander (Tomas Henzl) [1059137] - [scsi] mpt2sas: when Async scanning is enabled then while scanning, devices are removed but their transport layer entries are not removed (Tomas Henzl) [1059137] - [scsi] mpt2sas: Infinite loop can occur if MPI2_IOCSTATUS_CONFIG_INVALID_PAGE is not returned (Tomas Henzl) [1059137] - [scsi] mpt2sas: The copyright in driver sources is updated for the year 2013 (Tomas Henzl) [1059137] - [scsi] mpt2sas: MPI2 Rev X (2.00.16) specifications (Tomas Henzl) [1059137] - [scsi] mpt2sas: Change in MPI2_RAID_ACTION_SYSTEM_SHUTDOWN_INITIATED notification methodology (Tomas Henzl) [1059137] - [scsi] mpt2sas: Null pointer deference possibility in mpt2sas_ctl_event_callback function (Tomas Henzl) [1059137] - [scsi] mpt2sas: fix cleanup on controller resource mapping failure (Tomas Henzl) [1059137]- [block] floppy: don't write kernel-only members to FDRAWCMD ioctl output (Denys Vlasenko) [1094310] {CVE-2014-1738} - [block] floppy: ignore kernel-only members in FDRAWCMD ioctl input (Denys Vlasenko) [1094310] {CVE-2014-1737} - [kbuild] Remove export of trace_clock.h (Prarit Bhargava) [1092110] - [kbuild] asm-generic support (Prarit Bhargava) [1092110] - [kbuild] headers_check: recursively search for linux/types.h inclusion (Prarit Bhargava) [1092110] - [netdrv] bonding: add an option to fail when any of arp_ip_target is inaccessible (Veaceslav Falico) [975493] - [netdrv] bonding: don't trust arp requests unless active slave really works (Veaceslav Falico) [975493] - [netdrv] bonding: don't add duplicate targets to arp_ip_target (Veaceslav Falico) [975493] - [netdrv] bonding: arp_ip_count and arp_targets can be wrong (Veaceslav Falico) [975493] - [netdrv] bonding: make arp_ip_target parameter checks consistent with sysfs (Veaceslav Falico) [975493] - [netdrv] bonding: add helper function bond_get_targets_ip() (Veaceslav Falico) [975493] - [netdrv] netxen: Update version to 4.0.82 (Veaceslav Falico) [1054332] - [netdrv] netxen: Correct off-by-one errors in bounds checks (Veaceslav Falico) [1054332] - [netdrv] netxen: Print ULA information (Veaceslav Falico) [1054332] - [netdrv] netxen: Remove extern from function prototypes (Veaceslav Falico) [1054332] - [netdrv] netxen: Update version to 4.0.81 (Veaceslav Falico) [1054332] - [netdrv] netxen: Convert mac address uses of 6 to ETH_ALEN (Veaceslav Falico) [1054332] - [netdrv] netxen: Avoid mixed mode interrupts (Veaceslav Falico) [1054332] - [netdrv] netxen: netxen_setup_intr() function code cleanup (Veaceslav Falico) [1054332] - [netdrv] netxen: Log proper error message in case of mismatched adapter type (Veaceslav Falico) [1054332] - [netdrv] netxen: Log driver version with firmware version (Veaceslav Falico) [1054332] - [netdrv] netxen: replace ip_fast_csum with csum_replace2 (Veaceslav Falico) [1054332] - [netdrv] netxen: fix off by one bug in netxen_release_tx_buffer() (Veaceslav Falico) [1054332] - [netdrv] netxen: remove __dev* attributes (Veaceslav Falico) [1054332] - [netdrv] netxen: Fixed a coding style issue in netxen_nic_ethtool.c (Veaceslav Falico) [1054332] - [netdrv] netxen: explicity handle pause autoneg parameter (Veaceslav Falico) [1054332] - [netdrv] enic: Use pci_enable_msix_range() instead of pci_enable_msix() (Stefan Assmann) [1024064] - [netdrv] enic: Fix 64 bit divide on 32bit system (Stefan Assmann) [1024064] - [netdrv] enic: Add support for adaptive interrupt coalescing (Stefan Assmann) [1024064] - [netdrv] enic: get rid of SET_ETHTOOL_OPS (Stefan Assmann) [1024064] - [netdrv] enic: include irq.h for irqreturn_t definitions (Stefan Assmann) [1024064] - [netdrv] enic: Call dev_kfree_skb_any instead of dev_kfree_skb (Stefan Assmann) [1024064] - [netdrv] enic: Don't receive packets when the napi budget == 0 (Stefan Assmann) [1024064] - [netdrv] enic: slight optimization of addr compare (Stefan Assmann) [1024064] - [netdrv] enic: cisco-enic calls skb_set_hash (Stefan Assmann) [1024064] - [netdrv] enic: remove unnecessary pci_set_drvdata() (Stefan Assmann) [1024064] - [netdrv] enic: update enic maintainers and driver (Stefan Assmann) [1024064] - [netdrv] enic: Exposing symbols for Cisco's low latency driver (Stefan Assmann) [1024064] - [netdrv] enic: Try DMA 64 first, then failover to DMA (Stefan Assmann) [1024064] - [netdrv] enic: record q_number and rss_hash for skb (Stefan Assmann) [1024064] - [netdrv] enic: Add multi tx support for enic (Stefan Assmann) [1024064] - [netdrv] enic: Generate notification of hardware crash (Stefan Assmann) [1024064] - [netdrv] enic: Add an interface for USNIC to interact with firmware (Stefan Assmann) [1024064] - [netdrv] enic: Adding support for Cisco Low Latency NIC (Stefan Assmann) [1024064] - [netdrv] enic: Move ethtool code to a separate file (Stefan Assmann) [1024064] - [netdrv] igbvf: remove usless return statements (Stefan Assmann) [1038783] - [netdrv] igbvf: get rid of SET_ETHTOOL_OPS (Stefan Assmann) [1038783] - [netdrv] igbvf: remove open-coded skb_cow_head (Stefan Assmann) [1038783] - [netdrv] igbvf: Convert uses of __constant_ to (Stefan Assmann) [1038783] - [netdrv] igbvf: slight optimization of addr compare (Stefan Assmann) [1038783] - [netdrv] igbvf: add missing iounmap() on error in igbvf_probe() (Stefan Assmann) [1038783] - [netdrv] igbvf: integer wrapping bug setting the mtu (Stefan Assmann) [1038783] - [netdrv] igbvf: Miscellaneous conversions to ETH_ALEN (Stefan Assmann) [1038783] - [netdrv] igbvf: Remove extern from function prototypes (Stefan Assmann) [1038783] - [netdrv] igbvf: fix 32-bit DMA mask handling (Stefan Assmann) [1038783] - [netdrv] igbvf: use __GFP_ZERO instead of memset() (Stefan Assmann) [1038783] - [kernel] mutex: Unlock the mutex without the wait_lock (Larry Woodman) [1100855] - [kernel] mutex: Do not unnecessarily deal with waiters (Larry Woodman) [1100855] - [kernel] mutex: Introduce cancelable MCS lock for adaptive spinning (Larry Woodman) [1100855] - [kernel] mutex: Modify the way optimistic spinners are queued (Larry Woodman) [1100855] - [kernel] mutex: Queue mutex spinners with MCS lock to reduce cacheline contention (Larry Woodman) [1100855] - [kernel] mutex: Make more scalable & Back out architecture specific check (Larry Woodman) [1100855] - [kernel] sched: Periodically decay max cost of idle balance (Larry Woodman) [1100855] - [kernel] sched: Consider max cost of idle balance per sched domain (Larry Woodman) [1100855] - [kernel] sched: Reduce overestimating rq->avg_idle (Larry Woodman) [1100855] - [kernel] futex: Increase hash table size for better performance (Larry Woodman) [1100855] - [fs] epoll: optimize EPOLL_CTL_DEL using rcu (Larry Woodman) [1100855] - [scsi] virtio-scsi: Skip setting affinity on uninitialized vq (Jason Wang) [1098309] - [scsi] virtio-scsi: Fix hotcpu_notifier use-after-free with virtscsi_freeze (Jason Wang) [1098309] - [scsi] virtio-scsi: Fix virtqueue affinity setup (Jason Wang) [1098309] - [scsi] virtio-scsi: reset virtqueue affinity when doing cpu hotplug (Jason Wang) [1098309] - [scsi] virtio-scsi: introduce multiqueue support (Jason Wang) [1098309] - [scsi] virtio-scsi: push vq lock/unlock into virtscsi_vq_done (Jason Wang) [1098309] - [scsi] virtio-scsi: pass struct virtio_scsi to virtqueue completion function (Jason Wang) [1098309] - [scsi] virtio-scsi: redo allocation of target data (Jason Wang) [1098309] - [i2c] i801: Add Device IDs for Intel Wildcat Point-LP PCH (David Milburn) [922970] - [ata] ahci: Add Device IDs for Intel Wildcat Point-LP (David Milburn) [922970] - [mfd] lpc_ich: Add Device IDs for Intel Wildcat Point-LP PCH (David Milburn) [922970] - [hda] alsa: Add Device IDs for Intel Wildcat Point-LP PCH (David Milburn) [922970] - [scsi] qla4xxx: 5.03.00.00.06.06-k0 (Chad Dupuis) [1053365] - [scsi] qla4xxx: remove pci id for ISP8042 (Chad Dupuis) [1053365] - [scsi] libiscsi: Add local_ipaddr parameter in iscsi_conn struct (Chad Dupuis) [1053365] - [scsi] IB/iser: Add Discovery support (Chad Dupuis) [1053365] - [scsi] scsi_transport_iscsi: Export ISCSI_PARAM_LOCAL_IPADDR attr for iscsi_connection (Chad Dupuis) [1053365] - [scsi] scsi_transport_iscsi: Add host statistics support (Chad Dupuis) [1053365] - [scsi] iscsi_transport: Additional parameters for network settings (Chad Dupuis) [1053365] - [scsi] iscsi_transport: Remove net param enum values (Chad Dupuis) [1053365] - [scsi] scsi_transport_iscsi: Add support to set CHAP entries (Chad Dupuis) [1053365] - [scsi] qla4xxx: Fix smatch warning in func qla4xxx_conn_get_param (Chad Dupuis) [1053365] - [scsi] qla4xxx: Fix smatch warning in func qla4xxx_get_ep_param (Chad Dupuis) [1053365] - [scsi] qla4xxx: Fix memory leak for ha->saved_acb (Chad Dupuis) [1053365] - [scsi] qla4xxx: Export sysfs DDBs from DPC handler (Chad Dupuis) [1053365] - [scsi] qla4xxx: Disable INTx interrupt for ISP82XX (Chad Dupuis) [1053365] - [scsi] qla4xxx: Fix memory leak in func qla4_84xx_config_acb() (Chad Dupuis) [1053365] - [scsi] qla4xxx: Initialize hardware queue for ISP40XX (Chad Dupuis) [1053365] - [scsi] qla4xxx: Check for correct return status (Chad Dupuis) [1053365] - [scsi] qla4xxx: Move qla4_8xxx_ms_mem_write_128b to ql4_nx.c (Chad Dupuis) [1053365] - [scsi] qla4xxx: Added PEX DMA Support for ISP8022 Adapter (Chad Dupuis) [1053365] - [scsi] qla4xxx: Added new opcodes for 84XX Minidump template (Chad Dupuis) [1053365] - [scsi] qla4xxx: Add support of 0xFF capture mask for minidump (Chad Dupuis) [1053365] - [scsi] qla4xxx: Change default capture to firmware defined capture mask (Chad Dupuis) [1053365] - [scsi] qla4xxx: Do not wait for IO completion, after issuing stop_firmware (Chad Dupuis) [1053365] - [scsi] qla4xxx: Fix sparse warnings (Chad Dupuis) [1053365] - [scsi] qla4xxx: Handle IPv6 AEN notifications (Chad Dupuis) [1053365] - [scsi] qla4xxx: Update print statements in func qla4xxx_do_dpc() (Chad Dupuis) [1053365] - [scsi] qla4xxx: Update print statements in func qla4xxx_eh_abort() (Chad Dupuis) [1053365] - [scsi] qla4xxx: Update print statements in qla4xxx_mailbox_command() (Chad Dupuis) [1053365] - [scsi] qla4xxx: Updated print for device login, logout path (Chad Dupuis) [1053365] - [scsi] qla4xxx: Remove unused code from qla4xxx_set_ifcb() (Chad Dupuis) [1053365] - [scsi] qla4xxx: Fix failure of mbox 0x31 (Chad Dupuis) [1053365] - [scsi] qla4xxx: Reduce rom-lock contention during reset recovery (Chad Dupuis) [1053365] - [scsi] qla4xxx: Driver not able to collect minidump for ISP84xx (Chad Dupuis) [1053365] - [scsi] qla4xxx: Fix pending IO completion in reset path before initiating chip reset (Chad Dupuis) [1053365] - [scsi] qla4xxx: Fix processing response queue during probe (Chad Dupuis) [1053365] - [scsi] qla4xxx: Fix failure of IDC Time Extend mailbox command (Chad Dupuis) [1053365] - [scsi] qla4xxx: Clear DDB index map upon connection close failure (Chad Dupuis) [1053365] - [scsi] qla4xxx: Return correct error status from func qla4xxx_request_irqs() (Chad Dupuis) [1053365] - [scsi] qla4xxx: Fixed AER reset sequence for ISP83xx/ISP84xx (Chad Dupuis) [1053365] - [scsi] qla4xxx: Correctly handle msleep_interruptible (Chad Dupuis) [1053365] - [scsi] qla4xxx: Rename ACB_STATE macros with IP_ADDRSTATE macros (Chad Dupuis) [1053365] - [scsi] qla4xxx: Improve loopback failure messages (Chad Dupuis) [1053365] - [scsi] qla4xxx: Use IDC_CTRL bit1 directly instead of AF_83XX_NO_FWDUMP flag (Chad Dupuis) [1053365] - [scsi] qla4xxx: Fix comments in code (Chad Dupuis) [1053365] - [scsi] qla4xxx: Print WARN_ONCE() if iSCSI function presence bit removed (Chad Dupuis) [1053365] - [scsi] qla4xxx: ISP8xxx: Correct retry of adapter initialization (Chad Dupuis) [1053365] - [scsi] qla4xxx: treewide: fix comments and printk msgs (Chad Dupuis) [1053365] - [scsi] qla4xxx: Recreate chap data list during get chap operation (Chad Dupuis) [1053365] - [scsi] qla4xxx: Add support for ISCSI_PARAM_LOCAL_IPADDR sysfs attr (Chad Dupuis) [1053365] - [scsi] qla4xxx: Add host statistics support (Chad Dupuis) [1053365] - [scsi] qla4xxx: Added support for Diagnostics MBOX command (Chad Dupuis) [1053365] - [scsi] qla4xxx: overflow in qla4xxx_set_chap_entry() (Chad Dupuis) [1053365] - [scsi] qla4xxx: Add support for additional network parameters settings (Chad Dupuis) [1053365] - [scsi] qla4xxx: Add support to get CHAP details for flash target session (Chad Dupuis) [1053365] - [scsi] qla4xxx: Add support to set CHAP entries (Chad Dupuis) [1053365] - [scsi] qla4xxx: Use offset based on adapter type to set CHAP entry in flash (Chad Dupuis) [1053365] - [scsi] qla4xxx: Populate local CHAP credentials for flash target sessions (Chad Dupuis) [1053365] - [scsi] qla4xxx: correctly update session discovery_parent_idx (Chad Dupuis) [1053365] - [scsi] remove unnecessary pci_set_drvdata() (Chad Dupuis) [1053365] - [scsi] qla4xxx: Return error if minidump data collection fails (Chad Dupuis) [1053365] - [scsi] qla4xxx: Fix the minidump data collection check in for loop (Chad Dupuis) [1053365] - [scsi] qla4xxx: Add pex-dma support for capturing minidump (Chad Dupuis) [1053365] - [scsi] qla4xxx: Update Copyright header (Chad Dupuis) [1053365] - [scsi] qla4xxx: Implementation of ACB configuration during Loopback for ISP8042 (Chad Dupuis) [1053365] - [scsi] qla4xxx: Added support for ISP8042 (Chad Dupuis) [1053365] - [net] bridge: add empty br_mdb_init() and br_mdb_uninit() definitions (Vlad Yasevich) [1097915] - [net] bridge: Correctly unregister MDB rtnetlink handlers (Vlad Yasevich) [1097915] - [net] rds: prevent dereference of a NULL device in rds_iw_laddr_check (Radomir Vrbovsky) [1083277] {CVE-2014-2678} - [netdrv] bnx2x: convert to hw_features (Michal Schmidt) [1029841] - [netdrv] bnx2x: drop two RHEL-specific hacks that cancel each other (Michal Schmidt) [1020367] - [netdrv] virtio-net: Set RXCSUM feature if GUEST_CSUM is available (Michal Schmidt) [1029841] - [netdrv] virtio_net: convert to hw_features (Michal Schmidt) [1029841] - [netdrv] veth: features fixup (Michal Schmidt) [1029841] - [netdrv] veth: convert to hw_features (Michal Schmidt) [1029841] - [net] loopback: convert to hw_features (Michal Schmidt) [1029841] - [net] warn if mixing ndo features with legacy ops (Michal Schmidt) [1029841] - [net] ethtool: fix copy&paste errors in __ethtool_get_one_feature_actor (Michal Schmidt) [1029841] - [net] ethtool: __ethtool_set_sg: check for function pointer before using it (Michal Schmidt) [1029841] - [net] ethtool: wanted_features hack for legacy drivers (Michal Schmidt) [1029841] - [net] ethtool: allow ETHTOOL_GSSET_INFO for users (Michal Schmidt) [1029841] - [net] remove NETIF_F_ALL_TX_OFFLOADS (Michal Schmidt) [1029841] - [documentation] net: Add documentation for netdev features handling (Michal Schmidt) [1029841] - [net] allow user to change NETIF_F_HIGHDMA (Michal Schmidt) [1029841] - [net] fix ETHTOOL_SFEATURES compatibility with old ethtool_ops.set_flags (Michal Schmidt) [1029841] - [net] ethtool: add two missing netdev_features_strings (Michal Schmidt) [1029841] - [net] ethtool: fix IPV6 checksum feature name string (Michal Schmidt) [1029841] - [net] Change netdev_fix_features messages loglevel to debug (Michal Schmidt) [1029841] - [net] Change netdev_fix_features messages loglevel (Michal Schmidt) [1029841] - [net] make WARN_ON in dev_disable_lro() useful (Michal Schmidt) [1029841] - [net] fix hw_features ethtool_ops->set_flags compatibility (Michal Schmidt) [1029841] - [net] add RTNL_ASSERT in __netdev_update_features() (Michal Schmidt) [1029841] - [net] Call netdev_features_change() from netdev_update_features() (Michal Schmidt) [1029841] - [net] Fix dev dev_ethtool_get_rx_csum() for forced NETIF_F_RXCSUM (Michal Schmidt) [1029841] - [net] implement dev_disable_lro() hw_features compatibility (Michal Schmidt) [1029841] - [net] Implement SFEATURES compatibility for not updated drivers (Michal Schmidt) [1029841] - [net] Fix ETHTOOL_GFEATURES compatibility (Michal Schmidt) [1029841] - [net] avoid initial "Features changed" message (Michal Schmidt) [1029841] - [net] fix "unregistered net_device: Features changed" message (Michal Schmidt) [1029841] - [net] introduce NETIF_F_RXCSUM (Michal Schmidt) [1029841] - [net] use ndo_fix_features for ethtool_ops->set_flags (Michal Schmidt) [1029841] - [net] ethtool: use ndo_fix_features for offload setting (Michal Schmidt) [1029841] - [net] add accessors to hw_features (Michal Schmidt) [1029841] - [net] Introduce new feature setting ops (Michal Schmidt) [1029841] - [net] ethtool: factorize get/set_one_feature (Michal Schmidt) [1029841] - [net] ethtool: factorize ethtool_get_strings() and ethtool_get_sset_count() (Michal Schmidt) [1029841] - [net] ethtool: Use noinline_for_stack (Michal Schmidt) [1029841] - [net] ethtool: Add direct access to ops->get_sset_count follow-up (Michal Schmidt) [1029841] - [net] ethtool: Add direct access to ops->get_sset_count (Michal Schmidt) [1029841] - [net] ethtool: enable GSO and GRO by default (Michal Schmidt) [1029841] - [net] ethtool: reduce stack usage (Michal Schmidt) [1029841] - [net] reduce and unify printk level in netdev_fix_features() (Michal Schmidt) [1029841] - [net] Move check of checksum features to netdev_fix_features() (Michal Schmidt) [1029841] - [netdrv] Fix too optimistic NETIF_F_HW_CSUM features (Michal Schmidt) [1029841] - [net] netdevice: use __printf attribute (Michal Schmidt) [1029841] - [net] netdevice: Convert netdev_ logging macros to functions (Michal Schmidt) [1029841] - [drivers] use __printf not __attribute__((format(printf, ...))) (Michal Schmidt) [1029841] - [drivers] core: Convert dev_ logging macros to functions (Michal Schmidt) [1029841] - [scsi] Remove warnings after vsprintf pV introducation (Michal Schmidt) [1029841] - [scsi] fix warning zero-length gnu_printf format string (Michal Schmidt) [1029841] - [net] netfilter: ctnetlink: don't add null bindings if no nat requested (Florian Westphal) [1089562] - [net] netfilter: ctnetlink: force null nat binding on insert (Florian Westphal) [1089562] - [net] netfilter: nf_nat: move alloc_null_binding to nf_nat_core.c (Florian Westphal) [1089562] - [net] netfilter: nf_conntrack: don't release a conntrack with non-zero refcnt (Florian Westphal) [1089562] - [net] netfilter: ctnetlink: fix soft lockup when netlink adds new entries (Florian Westphal) [1089562] - [net] netfilter: nf_conntrack: fix RCU race in nf_conntrack_find_get (Florian Westphal) [1089562] - [drivers] Ensure drvdata = NULL when no driver is bound (John Greene) [1056266] - [pci] msi: Add pci_enable_msi_range() and pci_enable_msix_range() (John Greene) [1056266] - [net] Add netdev interfaces for recording sends/comp (John Greene) [1056266] - [net] net_tstamp: Add SIOCGHWTSTAMP ioctl to match SIOCSHWTSTAMP (John Greene) [1056266] - [net] Add function to set the rxhash (John Greene) [1056266] - [kernel] dma-api: provide a helper to set both DMA and coherent DMA masks (John Greene) [1056266]- [perf] evsel: Synthesize PERF_SAMPLE_TRANSACTION (Jiri Olsa) [1101039] - [perf] test: Update "sample parsing" test for PERF_SAMPLE_TRANSACTION (Jiri Olsa) [1101039] - [perf] evsel: Add missing overflow check for TRANSACTION (Jiri Olsa) [1101039] - [perf] test: Consider PERF_SAMPLE_TRANSACTION in the "sample parsing" test (Jiri Olsa) [1101039] - [perf] test: Clarify the "sample parsing" test entry (Jiri Olsa) [1101039] - [perf] test: Update command line callchain attribute tests (Jiri Olsa) [1101039] - [perf] tools: Fixup mmap event consumption (Jiri Olsa) [1101039] - [perf] top: Split -G and --call-graph (Jiri Olsa) [1101039] - [perf] record: Split -g and --call-graph (Jiri Olsa) [1101039] - [perf] hists: Add color overhead for stdio output buffer (Jiri Olsa) [1101039] - [perf] tools: Fix up /proc/PID/maps parsing (Jiri Olsa) [1101039] - [perf] script: Fix mem leak due to missing Py_DECREFs on dict entries (Jiri Olsa) [1101039] - [perf] Disable PERF_RECORD_MMAP2 support (Jiri Olsa) [1101039] - [perf] script: Fix build error on Fedora 12 (Jiri Olsa) [1101039] - [perf] probe: Fix to initialize fname always before use it (Jiri Olsa) [1101039] - [perf] session: Fix infinite loop on invalid perf.data file (Jiri Olsa) [1101039] - [perf] tools: Fix installation of libexec components (Jiri Olsa) [1101039] - [perf] probe: Fix to find line information for probe list (Jiri Olsa) [1101039] - [perf] tools: Fix libaudit test (Jiri Olsa) [1101039] - [perf] stat: Set child_pid after perf_evlist__prepare_workload() (Jiri Olsa) [1101039] - [perf] tools: Add default handler for mmap2 events (Jiri Olsa) [1101039] - [perf] revert "symbols: Demangle cloned functions" (Jiri Olsa) [1101039] - [perf] symbols: Demangle cloned functions (Jiri Olsa) [1101039] - [perf] machine: Fix path unpopulated in machine__create_modules() (Jiri Olsa) [1101039] - [perf] tools: Explicitly add libdl dependency (Jiri Olsa) [1101039] - [perf] probe: Fix probing symbols with optimization suffix (Jiri Olsa) [1101039] - [perf] trace: Add mmap2 handler (Jiri Olsa) [1101039] - [perf] tools: Uninclude linux/magic.h in debugfs.c (Jiri Olsa) [1101039] - [perf] tools: Fix old GCC build error in trace-event-parse.c::parse_proc_kallsyms() (Jiri Olsa) [1101039] - [perf] probe: Fix finder to find lines of given function (Jiri Olsa) [1101039] - [perf] session: Check for SIGINT in more loops (Jiri Olsa) [1101039] - [perf] tools: Fix compile with libelf without get_phdrnum (Jiri Olsa) [1101039] - [perf] tools: Fix buildid cache handling of kallsyms with kcore (Jiri Olsa) [1101039] - [perf] annotate: Fix objdump line parsing offset validation (Jiri Olsa) [1101039] - [perf] tools: Fill in new definitions for madvise()/mmap() flags (Jiri Olsa) [1101039] - [perf] tools: Sharpen the libaudit dependencies test (Jiri Olsa) [1101039] - [perf] tools: Add attr->mmap2 support (Jiri Olsa) [1101039] - [perf] Add attr->mmap2 attribute to an event (Jiri Olsa) [1101039] - [perf] kvm: Fix sample_type manipulation (Jiri Olsa) [1101039] - [perf] evlist: Fix id pos in perf_evlist__open() (Jiri Olsa) [1101039] - [perf] trace: Handle perf.data files with no tracepoints (Jiri Olsa) [1101039] - [perf] session: Separate progress bar update when processing events (Jiri Olsa) [1101039] - [perf] trace: Check if MAP_32BIT is defined (Jiri Olsa) [1101039] - [perf] hists: Fix formatting of long symbol names (Jiri Olsa) [1101039] - [perf] evlist: Fix parsing with no sample_id_all bit set (Jiri Olsa) [1101039] - [perf] tools: Add test for parsing with no sample_id_all bit (Jiri Olsa) [1101039] - [perf] trace: Check control+C more often (Jiri Olsa) [1101039] - [perf] trace: Tell arg formatters the arg index (Jiri Olsa) [1101039] - [perf] trace: Add beautifier for open's flags arg (Jiri Olsa) [1101039] - [perf] trace: Add beautifier for lseek's whence arg (Jiri Olsa) [1101039] - [perf] tools: Fix symbol offset computation for some dsos (Jiri Olsa) [1101039] - [perf] list: Skip unsupported events (Jiri Olsa) [1101039] - [perf] tests: Add 'keep tracking' test (Jiri Olsa) [1101039] - [perf] tools: Add support for PERF_COUNT_SW_DUMMY (Jiri Olsa) [1101039] - [perf] trace: Add beautifier for futex 'operation' parm (Jiri Olsa) [1101039] - [perf] trace: Allow syscall arg formatters to mask args (Jiri Olsa) [1101039] - [perf] trace: Handle missing HUGEPAGE defines (Jiri Olsa) [1101039] - [perf] trace: Honor target pid / tid options when analyzing a file (Jiri Olsa) [1101039] - [perf] trace: Add option to analyze events in a file versus live (Jiri Olsa) [1101039] - [perf] evlist: Add tracepoint lookup by name (Jiri Olsa) [1101039] - [perf] tests: Add a sample parsing test (Jiri Olsa) [1101039] - [perf] tools: Add a function to calculate sample event size (Jiri Olsa) [1101039] - [perf] tools: Expand perf_event__synthesize_sample() (Jiri Olsa) [1101039] - [perf] tools: Add missing 'abi' member to 'struct regs_dump' (Jiri Olsa) [1101039] - [perf] tools: Add support for PERF_SAMPLE_IDENTIFIER (Jiri Olsa) [1101039] - [perf] evlist: Move perf_evlist__config() to a new source file (Jiri Olsa) [1101039] - [perf] tools: Remove references to struct ip_event (Jiri Olsa) [1101039] - [perf] callchain: Remove unnecessary validation (Jiri Olsa) [1101039] - [perf] evsel: Tidy up sample parsing overflow checking (Jiri Olsa) [1101039] - [perf] tools: change machine__findnew_thread() to set thread pid (Jiri Olsa) [1101039] - [perf] traceevent: Fixup jobserver setup (Jiri Olsa) [1101039] - [perf] tools: Add pid to struct thread (Jiri Olsa) [1101039] - [perf] trace: Add beautifier for madvise behaviour/advice parm (Jiri Olsa) [1101039] - [perf] trace: Add beautifier for mmap flags parm (Jiri Olsa) [1101039] - [perf] trace: Add beautifier for mmap prot parm (Jiri Olsa) [1101039] - [perf] trace: Allow overiding the formatting of syscall fields (Jiri Olsa) [1101039] - [perf] trace: Add aliases to remaining syscalls of the sys_enter_newfoo (Jiri Olsa) [1101039] - [perf] trace: Allow printing syscall return values in hex (Jiri Olsa) [1101039] - [perf] trace: Simplify sys_exit return printing (Jiri Olsa) [1101039] - [perf] trace: Introduce syscall arg formatters (Jiri Olsa) [1101039] - [perf] trace: Hide sys_exit messages about syscall id = -1 (Jiri Olsa) [1101039] - [perf] trace: Add --verbose option (Jiri Olsa) [1101039] - [perf] trace: Support ! in -e expressions (Jiri Olsa) [1101039] - [perf] tools: Don't install scripting files files when disabled (Jiri Olsa) [1101039] - [perf] tools: Sample after exit loses thread correlation (Jiri Olsa) [1101039] - [perf] trace: Make command line arguments consistent with perf-record (Jiri Olsa) [1101039] - [perf] trace: Implement -o/--output filename (Jiri Olsa) [1101039] - [perf] tools: Try to increase the file descriptor limits on EMFILE (Jiri Olsa) [1101039] - [perf] kvm: Remove force option to cmd_record (Jiri Olsa) [1101039] - [perf] trace: Allow specifying which syscalls to trace (Jiri Olsa) [1101039] - [perf] tools: Improve robustness of topology parsing code (Jiri Olsa) [1101039] - [perf] tests: Fix compile failure on do_sort_something (Jiri Olsa) [1101039] - [perf] tools: Remove filter parameter of thread__find_addr_map() (Jiri Olsa) [1101039] - [perf] tools: Remove filter parameter of thread__find_addr_location() (Jiri Olsa) [1101039] - [perf] tools: Remove filter parameter of perf_event__preprocess_sample() (Jiri Olsa) [1101039] - [perf] annotate: Set the machines symbol filter (Jiri Olsa) [1101039] - [perf] mem: Remove unused symbol filter member (Jiri Olsa) [1101039] - [perf] report: Set the machines symbol filter (Jiri Olsa) [1101039] - [perf] top: Set the machines symbol filter (Jiri Olsa) [1101039] - [perf] machine: Add symbol filter to struct machine (Jiri Olsa) [1101039] - [perf] session: Change perf_session__has_traces to actually check for tracepoints (Jiri Olsa) [1101039] - [perf] evsel: Add option to limit stack depth in callchain dumps (Jiri Olsa) [1101039] - [perf] evsel: Add option to print stack trace on single line (Jiri Olsa) [1101039] - [perf] tool: Simplify options to perf_evsel__print_ip (Jiri Olsa) [1101039] - [perf] sched: Remove sched_process_fork tracepoint (Jiri Olsa) [1101039] - [perf] sched: Remove sched_process_exit tracepoint (Jiri Olsa) [1101039] - [perf] sched: Remove thread lookup in sample handler (Jiri Olsa) [1101039] - [perf] sched: Simplify arguments to read_events (Jiri Olsa) [1101039] - [perf] kvm: Update documentation with live command (Jiri Olsa) [1101039] - [perf] kvm: Option to print events that exceed a duration (Jiri Olsa) [1101039] - [perf] revert "tools: Fix for cross build" (Jiri Olsa) [1101039] - [perf] machine: Do not require /lib/modules/* on a guest (Jiri Olsa) [1101039] - [perf] tests: Add tests of new pinned modifier (Jiri Olsa) [1101039] - [perf] tools: Add support for pinned modifier (Jiri Olsa) [1101039] - [perf] gtk: Fix segmentation fault on perf_hpp__for_each_format loop (Jiri Olsa) [1101039] - [perf] report: Add option to analyze specific VM (Jiri Olsa) [1101039] - [perf] kvm: Add min and max stats to display (Jiri Olsa) [1101039] - [perf] kvm: Add live mode (Jiri Olsa) [1101039] - [perf] session: Export queue_event function (Jiri Olsa) [1101039] - [perf] annotate: Fix typo (Jiri Olsa) [1101039] - [perf] annotate: Improve description of '?' hotkey (Jiri Olsa) [1101039] - [perf] annotate: Add call target name if it is missing (Jiri Olsa) [1101039] - [perf] annotate: Remove nop at end of annotation (Jiri Olsa) [1101039] - [perf] annotate: Put dso name in symbol annotation title (Jiri Olsa) [1101039] - [perf] annotate: Allow disassembly using /proc/kcore (Jiri Olsa) [1101039] - [perf] tests: Add kcore to the object code reading test (Jiri Olsa) [1101039] - [perf] tests: Adjust the vmlinux symtab matches kallsyms test again (Jiri Olsa) [1101039] - [perf] symbols: Add support for reading from /proc/kcore (Jiri Olsa) [1101039] - [perf] tools: Make it possible to read object code from kernel modules (Jiri Olsa) [1101039] - [perf] tests: Adjust the vmlinux symtab matches kallsyms test (Jiri Olsa) [1101039] - [perf] tools: Make it possible to read object code from vmlinux (Jiri Olsa) [1101039] - [perf] symbols: Load kernel maps before using (Jiri Olsa) [1101039] - [perf] tests: Add test for reading object code (Jiri Olsa) [1101039] - [perf] symbols: avoid SyS kernel syscall aliases (Jiri Olsa) [1101039] - [perf] stat: Flush output after each line in interval mode (Jiri Olsa) [1101039] - [perf] evlist: Remove obsolete dummy execve (Jiri Olsa) [1101039] - [perf] kvm: Split out tracepoints from record args (Jiri Olsa) [1101039] - [perf] session: Export a few functions for event processing (Jiri Olsa) [1101039] - [perf] stats: Add max and min stats (Jiri Olsa) [1101039] - [perf] top: move CONSOLE_CLEAR to header file (Jiri Olsa) [1101039] - [perf] util: Add parse_nsec_time() function (Jiri Olsa) [1101039] - [perf] python: Remove duplicate TID bit from mask (Jiri Olsa) [1101039] - [perf] trace: Beautify 'connect' result (Jiri Olsa) [1101039] - [perf] evsel: Actually show symbol offset in stack trace when requested (Jiri Olsa) [1101039] - [perf] tests: Add parse events tests for leader sampling (Jiri Olsa) [1101039] - [perf] tests: Add attr record group sampling test (Jiri Olsa) [1101039] - [perf] tools: Add 'S' event/group modifier to read sample value (Jiri Olsa) [1101039] - [perf] tests: Add broken install-* tests into tests/make (Jiri Olsa) [1101039] - [perf] tests: Add 'make install/install-bin' tests into tests/make (Jiri Olsa) [1101039] - [perf] tests: Add DESTDIR=TMP_DEST tests/make variable (Jiri Olsa) [1101039] - [perf] tests: Rename TMP to TMP_O tests/make variable (Jiri Olsa) [1101039] - [perf] tests: Run ctags/cscope make tests only with needed binaries (Jiri Olsa) [1101039] - [perf] tools: Fix build with perl 5.18 (Jiri Olsa) [1101039] - [perf] tools: Support callchain sorting based on addresses (Jiri Olsa) [1101039] - [perf] evsel: Handle ENODEV on default cycles event (Jiri Olsa) [1101039] - [perf] script: Fix named threads support (Jiri Olsa) [1101039] - [perf] header: Recognize version number for perf data file (Jiri Olsa) [1101039] - [perf] header: Introduce feat_offset into perf_header (Jiri Olsa) [1101039] - [perf] header: Remove attr_offset from perf_header (Jiri Olsa) [1101039] - [perf] header: Remove data_offset seek as it's not needed (Jiri Olsa) [1101039] - [perf] session: Use session->fd instead of passing fd as argument (Jiri Olsa) [1101039] - [perf] symbols: Do not apply symfs for an absolute vmlinux path (Jiri Olsa) [1101039] - [perf] tools: Fix 'make tools/perf' (Jiri Olsa) [1101039] - [perf] tools: Remove event types framework completely (Jiri Olsa) [1101039] - [perf] record: Remove event types pushing (Jiri Olsa) [1101039] - [perf] tools: Remove event types from perf data file (Jiri Olsa) [1101039] - [perf] timechart: Remove event types framework only user (Jiri Olsa) [1101039] - [perf] timechart: Use traceevent lib event-parse.h include (Jiri Olsa) [1101039] - [perf] tools: Move hist_entry__period_snprintf into stdio code (Jiri Olsa) [1101039] - [perf] diff: Add generic order option for compute sorting (Jiri Olsa) [1101039] - [perf] diff: Making compute functions static (Jiri Olsa) [1101039] - [perf] diff: Update perf diff documentation for multiple data comparison (Jiri Olsa) [1101039] - [perf] diff: Change diff command to work over multiple data files (Jiri Olsa) [1101039] - [perf] diff: Move columns into struct data__file (Jiri Olsa) [1101039] - [perf] diff: Move diff related columns into diff command (Jiri Olsa) [1101039] - [perf] diff: Display data file info ahead of the diff output (Jiri Olsa) [1101039] - [perf] hists: Marking dummy hists entries (Jiri Olsa) [1101039] - [perf] diff: Switching the base hists to be pairs head (Jiri Olsa) [1101039] - [perf] diff: Introducing diff_data object to hold files (Jiri Olsa) [1101039] - [perf] tools: Centralize default columns init in perf_hpp__init (Jiri Olsa) [1101039] - [perf] tools: Add struct perf_hpp_fmt into hpp callbacks (Jiri Olsa) [1101039] - [perf] top: Add option to collapse undesired parts of call graph (Jiri Olsa) [1101039] - [perf] tools: Default to cpu// for events v5 (Jiri Olsa) [1101039] - [perf] tools: struct thread has a tid not a pid (Jiri Olsa) [1101039] - [perf] tools: Validate perf event header size (Jiri Olsa) [1101039] - [perf] evlist: Tidy duplicated munmap code (Jiri Olsa) [1101039] - [perf] tools: Add const specifier to perf_pmu__find name parameter (Jiri Olsa) [1101039] - [perf] inject: Add missing 'finished_round' (Jiri Olsa) [1101039] - [perf] hists: Set rules hint for the hist browser (Jiri Olsa) [1101039] - [perf] hists: Add a double-click handler for callchains (Jiri Olsa) [1101039] - [perf] hists: Make column headers resizable (Jiri Olsa) [1101039] - [perf] hists: Display callchain overhead also (Jiri Olsa) [1101039] - [perf] hists: Add support for callchains (Jiri Olsa) [1101039] - [perf] hists: Use GtkTreeStore instead of GtkListStore (Jiri Olsa) [1101039] - [perf] sched: Move struct perf_sched definition out of cmd_sched() (Jiri Olsa) [1101039] - [perf] util: Remove unused enum and macro in trace-event.h (Jiri Olsa) [1101039] - [perf] util: No need to call read_trace_init() in tracing_data_header() (Jiri Olsa) [1101039] - [perf] util: Rename read_*() functions in trace-event-info.c (Jiri Olsa) [1101039] - [perf] script: Adopt latency_format variable (Jiri Olsa) [1101039] - [perf] util: Get rid of unused header_page_* variables (Jiri Olsa) [1101039] - [perf] util: Parse header_page to get proper long size (Jiri Olsa) [1101039] - [perf] util: Skip reading header_event file (Jiri Olsa) [1101039] - [perf] util: Make file/host_bigendian variable local (Jiri Olsa) [1101039] - [perf] util: Save long size of traced system (Jiri Olsa) [1101039] - [perf] util: Save page size in a trace file to pevent (Jiri Olsa) [1101039] - [perf] traceevent: Port kbuffer parser routines (Jiri Olsa) [1101039] - [perf] traceevent: Add page_size field to pevent (Jiri Olsa) [1101039] - [perf] traceevent: Add trace_seq_reset() (Jiri Olsa) [1101039] - [perf] traceevent: Add const qualifier to string arguments (Jiri Olsa) [1101039] - [perf] traceevent: Get rid of unused gui target (Jiri Olsa) [1101039] - [perf] traceevent: Remove unused install targets (Jiri Olsa) [1101039] - [perf] events: Demystify memory allocations (Jiri Olsa) [1101039] - [perf] tests: Make terms a stack variable in test_term (Jiri Olsa) [1101039] - [perf] tools: Don't free list head in parse_events__free_terms (Jiri Olsa) [1101039] - [perf] evlist: Fix use of uninitialized variable (Jiri Olsa) [1101039] - [perf] report: Fix perf_session__delete removal (Jiri Olsa) [1101039] - [perf] tools: Do not elide parent symbol column (Jiri Olsa) [1101039] - [perf] util: Use evsel->name to get tracepoint_paths (Jiri Olsa) [1101039] - [perf] util: Move debugfs/tracing helper functions to util.c (Jiri Olsa) [1101039] - [perf] tools: Remove callchain_cursor_reset call (Jiri Olsa) [1101039] - [perf] tools: Add methods for setting/retrieving priv element of thread struct (Jiri Olsa) [1101039] - [perf] tools: Use default include path notation for libtraceevent headers (Jiri Olsa) [1101039] - [perf] tests: Make TEST_ASSERT_VAL global (Jiri Olsa) [1101039] - [perf] tests: Omit end of the symbol check failure for test 1 (Jiri Olsa) [1101039] - [perf] tools: Remove cwd from perf_session struct (Jiri Olsa) [1101039] - [perf] top: Add --objdump option (Jiri Olsa) [1101039] - [perf] tools: Rename cpu_map__all() to cpu_map__empty() (Jiri Olsa) [1101039] - [perf] Remove the 'match' callback for auxiliary events processing (Jiri Olsa) [1101039] - [perf] Factor out auxiliary events notification (Jiri Olsa) [1101039] - [perf] Fix EXIT event notification (Jiri Olsa) [1101039] - [perf] events: Protect access via task_subsys_state_check() (Jiri Olsa) [1101039] - [perf] Clarify perf_cpu_context::active_pmu usage by renaming it to perf_cpu_context::unique_pmu (Jiri Olsa) [1101039] - [perf] Add a dummy software event to keep tracking (Jiri Olsa) [1101039] - [perf] tools: Add support for record transaction flags (Jiri Olsa) [829875] - [perf] record: Add abort_tx, no_tx, in_tx branch filter options to perf record -j (Jiri Olsa) [829875] - [perf] tools: Support sorting by in_tx or abort branch flags (Jiri Olsa) [829875] - [perf] stat: Add perf stat --transaction (Jiri Olsa) [829875] - [perf] tools: Fix sorting for 64bit entries (Jiri Olsa) [829875] - [perf] stat: Add support for --initial-delay option (Jiri Olsa) [829875] - [perf] evsel: Add support for enabling counters (Jiri Olsa) [829875] - [perf] evsel: Add PERF_SAMPLE_READ sample related processing (Jiri Olsa) [829875] - [perf] evlist: Add perf_evlist__id2sid method to get event ID related data (Jiri Olsa) [829875] - [perf] evlist: Fix event ID retrieval for group format read case (Jiri Olsa) [829875] - [perf] tools: Add support for parsing PERF_SAMPLE_READ sample type (Jiri Olsa) [829875] - [perf] evlist: Use PERF_EVENT_IOC_ID perf ioctl to read event id (Jiri Olsa) [829875] - [perf] tools: Move weight back to common sort keys (Jiri Olsa) [829875] - [perf] list: List kernel supplied event aliases (Jiri Olsa) [829875] - [perf] Fix UAPI export of PERF_EVENT_IOC_ID (Jiri Olsa) [829875] - [perf] Add PERF_EVENT_IOC_ID ioctl to return event ID (Jiri Olsa) [829875] - [perf] fix Haswell precise store data source encoding (Jiri Olsa) [829875] - [perf] x86: Suppress duplicated abort LBR records (Jiri Olsa) [829875] - [perf] x86: Add Haswell specific transaction flag reporting (Jiri Olsa) [829875] - [perf] Add generic transaction flags (Jiri Olsa) [829875] - [perf] make events stream always parsable (Jiri Olsa) [829875] - [perf] Update perf_event_type documentation (Jiri Olsa) [829875] - [perf] x86: Clean up EVENT_ATTR_STR() muck (Jiri Olsa) [829875] - [perf] x86: Clean-up/reduce PEBS code (Jiri Olsa) [829875] - [perf] x86: Clean up checkpoint-interrupt bits (Jiri Olsa) [829875] - [perf] x86: Add Haswell TSX event aliases (Jiri Olsa) [829875] - [perf] x86: Report TSX transaction abort cost as weight (Jiri Olsa) [829875] - [perf] x86: Avoid checkpointed counters causing excessive TSX aborts (Jiri Olsa) [829875] - [perf] x86: Add Haswell ULT model number used in Macbook Air and other systems (Jiri Olsa) [829875] - [perf] x86: Support full width counting (Jiri Olsa) [829875] - [perf] x86: Add mem-loads/stores support for Haswell (Jiri Olsa) [829875] - [perf] x86: Support Haswell/v4 LBR format (Jiri Olsa) [829875] - [perf] x86: Move NMI clearing to end of PMI handler (Jiri Olsa) [829875] - [perf] x86: Add Haswell PEBS support (Jiri Olsa) [829875] - [perf] x86: Add simple Haswell PMU support (Jiri Olsa) [829875] - [perf] x86: Add Haswell PEBS record support (Jiri Olsa) [829875] - [perf] x86: Don't assume there can be only 4 PEBS events (Jiri Olsa) [829875] - [perf] x86: Fix uninitialized pt_regs in intel_pmu_drain_bts_buffer() (Jiri Olsa) [829875] - [perf] x86: fix wrmsr_on_cpu() warning on suspend/resume (Jiri Olsa) [829875] - [perf] x86: fix kernel crash with PEBS/BTS after suspend/resume (Jiri Olsa) [829875] - [perf] x86: Move Intel specific code to intel_pmu_init() (Jiri Olsa) [829875] - [perf] x86: Rename Intel specific macros (Jiri Olsa) [829875] - [perf] Export perf_assign_events() (Jiri Olsa) [829875]- [scsi] aacraid: kdump fix (Rich Bono) [1054925] - [scsi] aacraid: prevent invalid pointer dereference (Rich Bono) [1054925] - [scsi] aacraid: avoid parsing names as kthread_run() format strings (Rich Bono) [1054925] - [scsi] aacraid: suppress two GCC warnings (Rich Bono) [1054925] - [scsi] aacraid: SCSI dma mapping failure case handling (Rich Bono) [1054925] - [scsi] aacraid: fix mem leak in aac_send_raw_srb() (Rich Bono) [1054925] - [scsi] megaraid_sas: Version and Changelog update (Tomas Henzl) [1059073] - [scsi] megaraid_sas: Add Dell PowerEdge VRTX SR-IOV VF support (Tomas Henzl) [1059073] - [scsi] megaraid_sas: Return leaked MPT frames to MPT frame pool (Tomas Henzl) [1059073] - [scsi] megaraid_sas: Fix megasas_ioc_init_fusion (Tomas Henzl) [1059073] - [scsi] megaraid_sas: Load correct raid context ti