í«îÛvzkernel-debug-devel-2.6.32-042stab107.1Ž­è$>èìÿÿÿÐŽ­è49þê?9þÚdèéêì +í uîèïìñüóöø ü0ýGþMR„+°ø+ 2+ _l+  à+ M+ yD+'¸+É+ÛÚÜ+ Št Šô ‹ ‹²( ‹Ú8 ‹à 9 ” : 1 >3tF3t‰G3t¤+H4#+I4ÑŒ+X4ý,Y4ýD\4ýÐ+]5¬D+^7$ã ûb9þ d9þ§e9þ¬f9þ²l9þ´z9þÊCvzkernel-debug-devel2.6.32042stab107.1Development package for building kernel modules to match the debug kernelThis package provides kernel headers and makefiles sufficient to build modules against the debug kernel package.U^9kbuild-rh6-x32‰Þ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-042stab107.1.debug && /usr/bin/find . -type f | while read f; do hardlink -c /usr/src/kernels/*.el6*.*/$f $f done) fi´à5I FIá.~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\1ü :@|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Ôf] ¬Ÿ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žu õ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'g `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+ñ¥ „¸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ì3Ž)$ŠOŠOy,eÑ > Ê–T<î)¼ & â<‚˜ª9$aÃi m ¿ö’-“GAö®O£ 6 «0MA ô Œ Ž Rd©·· /11' \Ñi÷}&t.í ãA÷Ž zÐŒ~L¯uú7 ï99 Q7ÆT!µ' Ï™b#ƒSž2%.§ ù٠퟇5þ°À Lñ…ô7_°'I3ú sdè%Pv<Ô ´üöž0Î0GØþ$ŽPÃPÛ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 Œ_Ú+º%e1²kýiIf »£D øh  2†Dt/feè¹' ! 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 ¬Ìþô– H “žŠ9ÿÈ Õ?Ó NP(›^ö’°Ÿç^!©»k‘Î D+Xz å*’¨±7 ­'£Hê6! ?w¬Í ƒÿ$M*‡ {¸„Ì\^#uUîhç‡A: .©%pÔŽö=2M K Í¢c òhëm¶ÿW ý) « S á ¨X5PÙ1g= 9^)"£&-S¨ŒSb zd±U.Û;,6÷ p UâN3äØ#‡¸•‡Ä‡|nj¤iX=Q"µ5U Þ/™é*q6Õo)!vCg45  ù ÛZ êRÕÏ  S3:'3‰kî aZ9 _#³UÍ% v†íÃw¢¥f;Ÿ<' ˆ3½¬@ ‹Óìÿ E¾*ócö1Uâœg"’.Þ™ Ї)½é8¸ÿ08|Õ)!,ÌÔh áúIÐ µì4¥,b׋ۜ—™€o}B @<«h–*½1 # kÐF Ý»H&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¢NcOCdÌ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í¤¤Aí¤Aí¤AíAí¤¤¤Aí¤Aí¤Aí¤AíAíAí¤Aí¤AíAí¤¤AíAí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤AíAíAí¤Aí¤AíAí¤Aí¤AíAí¤Aí¤¤AíAí¤UZÒUZÉUZÈUZÆUZÂUZÈUZÈUZÄUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÃUZÃUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÃUZÃUZÃUZÃUZÃUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÃUZÃUZÃUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÃUZÃUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÃUZÃUZÄUZÄUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÄUZÄUZÄUZÄUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÃUZÄUZÄUZÄUZÄUZÃUZÃUZÃUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÂUZÂUZÂUZÂUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÂUZÂUZÂUZÂUZÂUZÂUZÃUZÃUZÃUZÃUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÃUZÃUZÃUZÂUZÃUZÃUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÃUZÃUZÃUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÃUZÃUZÃUZÃUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÉUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUWáUT¿TÎS)K5¹K5¹TÎS4K5¹K5¹TÎSTÎSTÎS TÎS3TÎS5TÎS8TÎS#K5¹K5¹TÎS K5¹K5¹K5¹K5¹K5¹K5¹TÎS#K5¹K5¹K5¹K5¹K5¹K5¹K5¹TÎSK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹UT¿TÎSK5¹TÎS/UT¿TÎS(K5¹TÎS#UT¾TÎS+TÎS+K5¹K5¹K5¹TÎS1K5¹K5¹K5¹K5¹K5¹K5¹TÎS"TÎSK5¹TÎS6UT¿K5¹UT¿K5¹TÎS K5¹TÎS K5¹K5¹TÎS+K5¹TÎSK5¹K5¹K5¹TÎS TÎS TÎSTÎS4UT¿K5¹TÎS8TÎS+TÎSK5¹TÎS8K5¹K5¹K5¹TÎS TÎS K5¹TÎS TÎS+TÎS7K5¹K5¹TÎS1K5¹K5¹K5¹K5¹K5¹K5¹TÎS6K5¹K5¹UT¿K5¹K5¹TÎS&TÎS)K5¹K5¹K5¹TÎSTÎS,TÎSTÎS:TÎS1K5¹K5¹K5¹UT¿K5¹TÎSK5¹K5¹K5¹K5¹K5¹K5¹TÎS:TÎS TÎS K5¹K5¹TÎSTÎS3K5¹K5¹TÎSTÎSK5¹TÎSK5¹K5¹TÎS1K5¹UT¿TÎS:TÎS7K5¹TÎS7TÎS7TÎSTÎSK5¹K5¹K5¹TÎS:K5¹K5¹K5¹K5¹TÎS;K5¹UT¿TÎS K5¹TÎS:TÎS!K5¹TÎS K5¹K5¹TÎS5K5¹TÎS5TÎSTÎS:TÎSTÎS4TÎS TÎS K5¹TÎS!K5¹TÎS$TÎSK5¹TÎSK5¹TÎSK5¹K5¹K5¹K5¹K5¹TÎSK5¹TÎS'UT¿TÎSTÎS UT¿TÎS'TÎSK5¹K5¹K5¹TÎSK5¹K5¹K5¹K5¹K5¹TÎS K5¹K5¹K5¹K5¹TÎSK5¹K5¹K5¹TÎSK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹TÎSK5¹K5¹K5¹K5¹TÎS K5¹K5¹K5¹TÎSK5¹K5¹K5¹TÎS K5¹K5¹K5¹K5¹TÎS,K5¹K5¹K5¹TÎS K5¹TÎS TÎSK5¹K5¹K5¹K5¹UT¿K5¹TÎS0K5¹K5¹UT¿TÎS5UT¿UT¿TÎS-TÎSUT¿UT¿TÎS"TÎS*K5¹TÎSK5¹K5¹K5¹UT¿UT¿TÎS K5¹K5¹K5¹UT¾TÎSTÎSTÎS1TÎS:TÎS TÎS:UT¿TÎS$UT¿K5¹UT¾K5¹K5¹K5¹K5¹K5¹K5¹K5¹TÎS;K5¹TÎS K5¹UT¾K5¹K5¹TÎS TÎS K5¹K5¹K5¹TÎSK5¹TÎS/TÎS/TÎS3TÎS9UWáUWáUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÃUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÆUZÄUZÅUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÅUZÅUZÅUZÅUZÅUZÆUZÆUZÆUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÆUZÆUZÄUZÄUZÄUZÅUZÅUZÅUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÆUZÆUZÆUZÅUZÅUZÅUZÄUZÄUZÄUZÅUZÅUZÅUZÆUZÆUZÆUZÅUZÅUZÆUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÆUZÅUZÅUZÅUZÅUZÅUZÆUZÆUZÆUZÅUZÅUZÅUZÅUZÅUZÅUZÆUZÆUZÅUZÅUZÅUZÅUZÅUZÆUZÆUZÆUZÆUZÆUZÆUZÅUZÅUZÅUZÆUZÆUZÆUZÆUZÆUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÅUZÅUZÅUZÅUZÅUZÅUZÆUZÆUZÆUZÅUZÅUZÅUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÅUZÅUZÅUZÅUZÅUZÅUZÄUZÄUZÄUZÆUZÆUZÆUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÄUZÄUZÄUZÆUZÆUZÆUZÆUZÆUZÆUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÅUZÅUZÄUZÄUZÄUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÄUZÄUZÄUZÄUZÄUZÄUZÅUZÅUZÅUZÄUZÄUZÅUZÄUZÄUZÄUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÄUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÅUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÄUZÄUZÄUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÇUZÆUZÆUZÆUZÆUZÇUZÇUZÇUZÇUZÇUZÆUZÆUZÆUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÉUZÇUZÇUT¿UT¿UZÇUZÇUZÇUZÆUZÆUZÆUZÆUZÆUZÆUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÆUZÆUZÆUZÇUZÇUZÇUZÆUZÆUZÆUZÇUZÇUZÇUZÆUZÆUZÆUZÆUZÆUZÇUZÇUZÇUZÆUZÆUZÆUZÆUZÆUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÆUZÆUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÇUZÇUZÇUZÆUZÆUZÆUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZËUT¾K5¹K5¹TÎS)K5¹TÎS+TÎSTÎS5TÎS3TÎS3K5¹K5¹TÎS9K5¹K5¹TÎS.K5¹K5¹TÎS9TÎSK5¹UT¾K5¹K5¹TÎSTÎS+K5¹TÎSUZËUT¿K5¹TÎS6TÎS6K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹UT¾K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹TÎS/K5¹K5¹K5¹K5¹K5¹K5¹TÎSK5¹K5¹K5¹K5¹K5¹K5¹TÎS"K5¹K5¹K5¹K5¹K5¹K5¹TÎSK5¹K5¹K5¹TÎS3K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹TÎS)K5¹K5¹UT¿K5¹K5¹K5¹K5¹K5¹K5¹TÎSK5¹TÎS'K5¹K5¹K5¹TÎSK5¹K5¹UT¿UT¿K5¹K5¹TÎSK5¹TÎS7TÎS7TÎS7K5¹K5¹K5¹K5¹TÎS)K5¹TÎS)TÎS9K5¹K5¹K5¹TÎS!TÎS4K5¹TÎSK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹TÎS4K5¹K5¹K5¹TÎSK5¹K5¹K5¹K5¹K5¹TÎS K5¹K5¹K5¹UT¿K5¹K5¹TÎS-TÎS"K5¹K5¹K5¹K5¹UT¿K5¹K5¹TÎS4K5¹UWãUWãUT¿UT¿UT¿UT¿UT¿UT¿UT¿UT¿UT¿UT¿UT¿UT¿UT¿UT¿UT¿UT¿UT¿UXxUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUZËUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUXxUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUWáUT¿K5¹K5¹K5¹K5¹K5¹K5¹TÎS+K5¹K5¹K5¹TÎS:K5¹K5¹UT¾K5¹K5¹K5¹K5¹K5¹TÎS+TÎS6K5¹TÎS+UT¿K5¹K5¹K5¹TÎS+UT¾TÎS8TÎS8TÎS8TÎS2K5¹TÎSTÎS8TÎS8TÎS8TÎS8TÎS8TÎS2TÎS8TÎS8TÎS8TÎS8TÎSTÎS2TÎS2TÎS2TÎS8TÎS8TÎS8TÎS8TÎS8TÎS8K5¹TÎSTÎS8UT¾TÎSTÎSTÎS8TÎS8TÎS8TÎS8TÎS2UT¾TÎS8TÎS8TÎS8TÎS2TÎS2TÎSTÎS8TÎS8K5¹UT¾K5¹K5¹TÎS!UXxK5¹TÎS:K5¹K5¹K5¹TÎS9TÎS$K5¹K5¹K5¹TÎS.K5¹TÎS8K5¹UT¿UT¿UT¾K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹UT¿K5¹K5¹K5¹K5¹TÎS"K5¹TÎS3K5¹K5¹TÎS-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¹TÎS#K5¹UT¿K5¹K5¹TÎSUZÈK5¹TÎSK5¹K5¹K5¹UT¿K5¹K5¹K5¹TÎS-UT¾TÎS-TÎS-TÎS-TÎS-TÎS-TÎS-TÎS$K5¹TÎS2UT¿UT¿TÎS"TÎS9K5¹K5¹TÎS4UT¿UT¿TÎS1K5¹TÎS!K5¹UWãK5¹TÎS TÎSK5¹UT¿K5¹UT¾K5¹K5¹K5¹K5¹K5¹K5¹UT¾K5¹K5¹K5¹TÎS K5¹K5¹K5¹UT¾K5¹K5¹UT¿K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹UT¿UT¿K5¹K5¹K5¹K5¹TÎSTÎS"K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹TÎS(UT¿UXBTÎSK5¹K5¹K5¹TÎS"UT¿K5¹K5¹K5¹TÎS-K5¹TÎSK5¹K5¹TÎS#TÎS0TÎS9UT¿UT¿UT¿UT¿UT¿TÎS(TÎS+TÎS4TÎS.TÎSUT¿K5¹K5¹K5¹K5¹K5¹TÎS:K5¹K5¹UT¿K5¹UT¿UT¾TÎS+TÎS4TÎSUT¿TÎS"K5¹K5¹K5¹K5¹K5¹K5¹K5¹UT¿TÎS1K5¹K5¹K5¹TÎSK5¹UT¾K5¹K5¹K5¹K5¹K5¹TÎSUT¿TÎS3UT¿UT¿UT¿K5¹K5¹K5¹TÎSK5¹K5¹TÎSK5¹TÎS TÎSTÎS3TÎS/TÎS3TÎS K5¹K5¹TÎS$K5¹TÎS5TÎS3K5¹K5¹TÎSTÎS9K5¹K5¹K5¹K5¹K5¹TÎSUT¿UT¿UT¿UT¿UT¿K5¹K5¹K5¹K5¹UT¾K5¹K5¹K5¹K5¹TÎSK5¹K5¹TÎSK5¹K5¹TÎSTÎS9K5¹TÎSTÎS8K5¹K5¹K5¹TÎS)K5¹K5¹UT¿K5¹TÎS TÎS TÎS TÎS,TÎS9K5¹TÎS1TÎS:UT¿UT¿TÎS#UT¿TÎSK5¹UT¿K5¹TÎS&K5¹K5¹UT¿UT¿UT¿K5¹TÎSK5¹UT¿K5¹K5¹K5¹UT¿UT¿TÎS!K5¹UT¿TÎS9K5¹K5¹K5¹TÎSK5¹TÎS"K5¹TÎS%K5¹UT¿UT¿K5¹K5¹UT¿K5¹TÎS.TÎS)K5¹TÎS*UT¿TÎS TÎS2K5¹UT¿UT¿K5¹K5¹K5¹TÎS"K5¹K5¹TÎS"UT¿K5¹UT¿TÎS*K5¹K5¹K5¹K5¹UT¿K5¹TÎS4K5¹UT¾K5¹K5¹K5¹K5¹TÎS8K5¹K5¹K5¹TÎS4K5¹K5¹TÎSK5¹K5¹K5¹K5¹K5¹TÎS UT¿K5¹UT¿UT¿UT¿TÎS#K5¹K5¹K5¹TÎS:K5¹UT¾TÎS$K5¹K5¹K5¹K5¹TÎSK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹TÎS K5¹TÎS K5¹K5¹K5¹K5¹K5¹UT¿TÎS-TÎS1K5¹K5¹K5¹K5¹TÎSUT¿K5¹K5¹K5¹TÎS4K5¹K5¹K5¹K5¹K5¹TÎS9K5¹UT¿TÎS*K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹TÎSTÎS UT¿TÎS K5¹TÎSTÎSTÎSK5¹K5¹K5¹K5¹UT¿TÎS"K5¹UT¿K5¹UT¿UT¾K5¹TÎS6K5¹K5¹TÎS4TÎSTÎS$TÎS+TÎSTÎS7K5¹K5¹UT¿K5¹K5¹TÎS3TÎS4UT¿K5¹K5¹K5¹TÎS.UT¿TÎS+TÎS3K5¹TÎS7K5¹TÎS3K5¹K5¹K5¹UT¿K5¹TÎS K5¹K5¹K5¹K5¹K5¹TÎSTÎSUT¾K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹TÎSK5¹TÎS3TÎS0K5¹TÎSTÎS4K5¹K5¹K5¹K5¹K5¹K5¹TÎS-K5¹K5¹UT¿TÎS UT¿UT¿K5¹UT¿TÎS!TÎS)K5¹TÎS!TÎSK5¹K5¹TÎS,K5¹K5¹K5¹UT¿K5¹UT¿TÎSK5¹UT¿TÎSTÎS7K5¹TÎS,UT¿TÎS*TÎS6TÎS:K5¹TÎS#K5¹K5¹K5¹TÎS K5¹K5¹K5¹TÎS-K5¹UT¿K5¹K5¹TÎS4K5¹K5¹K5¹K5¹UT¿K5¹TÎS4TÎSK5¹TÎS K5¹TÎS4K5¹UT¿UT¿K5¹UT¿K5¹K5¹K5¹K5¹TÎS1K5¹TÎS'K5¹UT¿TÎS K5¹K5¹K5¹K5¹K5¹TÎSUT¿K5¹K5¹TÎS:K5¹K5¹K5¹K5¹K5¹K5¹TÎS K5¹K5¹K5¹TÎS+UT¿TÎSTÎS-TÎS!K5¹K5¹K5¹UT¾K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹TÎS+K5¹K5¹UT¾K5¹K5¹K5¹K5¹K5¹TÎS3TÎS3K5¹K5¹K5¹K5¹UT¾K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹UT¾K5¹K5¹K5¹K5¹TÎS K5¹K5¹K5¹K5¹K5¹K5¹K5¹TÎS&TÎS,K5¹TÎS(UT¾TÎS9TÎS9TÎS9K5¹TÎS9TÎS9TÎS1UT¾TÎS9TÎS9TÎS9TÎS9TÎS9TÎS9TÎS9UT¿UT¿UT¿UT¿UT¾TÎS6TÎS6TÎS6TÎS6TÎS6TÎS6TÎSTÎS6TÎSK5¹UT¿K5¹K5¹K5¹TÎS#UT¿UT¿TÎS6TÎSUT¿K5¹TÎS#UT¿K5¹K5¹TÎS!K5¹TÎS)UT¿TÎSUT¾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¹TÎS,TÎS7TÎS7K5¹K5¹K5¹TÎSK5¹UT¿K5¹K5¹K5¹K5¹K5¹K5¹K5¹TÎS2UT¿K5¹TÎS5UT¿UT¿UT¿TÎSUT¾TÎSTÎS)TÎS;TÎSTÎSTÎSTÎSTÎSTÎSK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹TÎS.TÎSK5¹K5¹K5¹UT¿K5¹K5¹TÎSTÎS(UT¿TÎSTÎSK5¹UT¿K5¹K5¹K5¹UT¿K5¹TÎS*K5¹K5¹K5¹K5¹TÎSK5¹K5¹K5¹K5¹UT¿UT¿K5¹K5¹K5¹UT¿K5¹K5¹K5¹K5¹K5¹UT¿K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹UT¿K5¹TÎSK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹UT¿K5¹K5¹UT¿K5¹UT¾TÎS+K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹UT¿K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹UT¿K5¹K5¹K5¹K5¹K5¹UT¿UT¿K5¹UT¿K5¹UT¿K5¹K5¹TÎS+K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹UT¿K5¹TÎS8TÎS3K5¹K5¹K5¹K5¹UT¿K5¹K5¹UT¿K5¹UT¿TÎS TÎS(UT¿TÎS&TÎS4TÎSUT¿K5¹K5¹K5¹UT¿TÎS'UT¿TÎS K5¹K5¹TÎS-K5¹TÎS)UT¿TÎSTÎSUT¿K5¹UT¿K5¹TÎSTÎS6K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹UT¿TÎS3K5¹K5¹K5¹UT¿K5¹TÎS(TÎS(UT¿UT¿K5¹K5¹K5¹K5¹K5¹K5¹TÎSTÎSTÎSTÎS:TÎS1UT¿TÎS9TÎS.K5¹K5¹TÎS9TÎS1TÎS UT¿TÎS4TÎS UT¿TÎS+K5¹K5¹K5¹K5¹K5¹TÎS+K5¹UT¿UT¿K5¹UT¿K5¹TÎSK5¹TÎS-K5¹UT¿UT¿UT¿UT¿UT¿UT¿TÎS/TÎS#K5¹TÎS#K5¹K5¹TÎS'TÎSUT¿TÎS&UT¿TÎSK5¹K5¹K5¹TÎS6K5¹K5¹K5¹K5¹K5¹TÎS(UT¿UT¿UT¿UT¿K5¹TÎS#K5¹K5¹UT¿K5¹K5¹TÎS:TÎS+TÎS+TÎS+UT¿K5¹K5¹K5¹K5¹K5¹UT¿UT¿K5¹UT¿UT¾K5¹TÎS4K5¹TÎS"K5¹TÎS UT¿TÎS2TÎS)K5¹K5¹K5¹TÎS!TÎS-TÎS#K5¹UT¿TÎSTÎSK5¹K5¹TÎS UT¾K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹TÎS K5¹K5¹K5¹K5¹TÎSTÎS7TÎSK5¹TÎSK5¹K5¹K5¹K5¹K5¹UT¿TÎS(K5¹K5¹K5¹K5¹K5¹K5¹UT¾K5¹K5¹K5¹K5¹TÎS*K5¹K5¹K5¹K5¹TÎS7K5¹UT¿K5¹K5¹K5¹K5¹K5¹K5¹K5¹UT¿K5¹K5¹K5¹UT¿K5¹TÎS%K5¹TÎS*TÎS K5¹K5¹K5¹TÎS3K5¹K5¹K5¹K5¹TÎS6K5¹K5¹K5¹K5¹UT¿UT¿K5¹K5¹UT¿UT¿UT¿UT¿K5¹K5¹UT¿K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹TÎS,K5¹K5¹TÎS4UT¿TÎS5K5¹K5¹K5¹K5¹K5¹K5¹K5¹UT¾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¹TÎS&TÎS1UT¾TÎS$TÎSK5¹TÎS$K5¹K5¹K5¹TÎS$K5¹TÎS#K5¹K5¹K5¹TÎSK5¹TÎSTÎSK5¹K5¹UT¿K5¹TÎS:TÎS:TÎSUT¿UT¿TÎS!TÎS!K5¹K5¹TÎS K5¹TÎS/TÎS K5¹TÎS UT¿UT¿UT¿K5¹TÎSTÎSK5¹TÎSK5¹K5¹TÎS+UT¿K5¹K5¹K5¹TÎS K5¹K5¹K5¹UT¿UT¿TÎSK5¹K5¹UT¿UT¿TÎS+UT¿K5¹K5¹K5¹UT¿UT¿K5¹K5¹TÎSK5¹UT¾K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹UT¾K5¹K5¹K5¹K5¹K5¹UT¿K5¹TÎSK5¹K5¹K5¹K5¹K5¹UT¿TÎS K5¹UT¿K5¹TÎSUT¿K5¹K5¹TÎS&K5¹K5¹K5¹TÎS5K5¹K5¹TÎS-K5¹UT¿TÎS1K5¹K5¹K5¹UT¿UT¿K5¹K5¹K5¹UT¿TÎS7K5¹K5¹K5¹K5¹TÎS4K5¹K5¹K5¹K5¹UT¾K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹UT¾TÎS6K5¹K5¹K5¹TÎS'TÎS'K5¹TÎS+TÎS+TÎS1TÎS4K5¹TÎS'K5¹TÎS'TÎS'K5¹TÎS4K5¹K5¹K5¹K5¹K5¹K5¹TÎS'K5¹K5¹K5¹TÎS'K5¹K5¹K5¹TÎS'TÎS'K5¹K5¹TÎS+TÎSK5¹TÎS'K5¹TÎS TÎS#TÎS K5¹TÎS+K5¹UT¿K5¹UT¿UWâTÎS:UT¾K5¹K5¹K5¹K5¹K5¹UT¿UT¿UT¿UT¿UT¿UT¿UT¿K5¹UZÆUT¿K5¹TÎS$TÎS$TÎSK5¹K5¹K5¹TÎSK5¹UT¿TÎS4K5¹TÎS TÎSTÎS4TÎS TÎSTÎS4K5¹TÎS4K5¹TÎS'K5¹UT¿UT¿K5¹K5¹TÎS7UT¿UT¿UT¿UT¿UT¿UT¿UT¿UT¿UT¿UT¿UT¿UT¿UT¿K5¹TÎS4K5¹TÎS&UT¾K5¹K5¹K5¹K5¹TÎSTÎS-K5¹K5¹K5¹UT¿UT¿TÎS7K5¹UT¿TÎS)K5¹K5¹K5¹K5¹K5¹K5¹K5¹UT¾K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹UT¾K5¹TÎSK5¹K5¹TÎSTÎSUT¾K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹TÎSTÎSTÎSK5¹K5¹TÎSK5¹K5¹K5¹TÎSTÎSK5¹TÎSK5¹K5¹K5¹TÎSTÎSK5¹TÎSTÎSTÎSTÎSK5¹TÎSK5¹K5¹K5¹K5¹TÎSK5¹K5¹TÎSTÎSTÎSTÎSTÎSTÎSTÎSK5¹K5¹TÎSTÎSTÎSTÎSTÎSTÎSTÎSTÎSK5¹UT¾K5¹K5¹K5¹K5¹K5¹K5¹UT¿UT¾K5¹K5¹K5¹K5¹UT¿K5¹K5¹UT¿TÎS;K5¹K5¹K5¹K5¹UT¾K5¹K5¹K5¹K5¹K5¹K5¹TÎS4TÎSTÎS-TÎS+K5¹TÎS TÎSK5¹TÎSTÎS1K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹UT¿K5¹K5¹K5¹UT¿UT¿K5¹K5¹TÎS3TÎS.TÎS1TÎS!TÎS-K5¹K5¹TÎS3K5¹TÎS4K5¹K5¹K5¹UT¿TÎS4TÎS(UT¿K5¹TÎS3TÎS)UT¿UT¿TÎS.K5¹UT¿TÎS.K5¹K5¹UT¿K5¹UT¾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¹UT¾TÎS6TÎSK5¹K5¹TÎS-K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹TÎS2K5¹TÎS3UT¿UT¿UT¿K5¹K5¹UT¿UT¾K5¹K5¹UT¾K5¹TÎS2TÎSUT¿TÎSUT¿UT¿UT¿TÎS3TÎSK5¹K5¹K5¹K5¹UT¿K5¹K5¹K5¹TÎS5K5¹TÎS2K5¹K5¹K5¹TÎS-UT¿UT¿UT¿K5¹K5¹UT¿K5¹TÎS!UT¿K5¹K5¹K5¹K5¹UT¿TÎSK5¹K5¹K5¹K5¹UT¾K5¹K5¹TÎS2K5¹TÎS"K5¹K5¹TÎS)K5¹K5¹K5¹K5¹TÎS-K5¹K5¹UT¿UT¿TÎS2TÎS+UT¾K5¹TÎS3TÎS;TÎS*TÎS;TÎS;TÎS*TÎS"TÎSK5¹TÎS)TÎSK5¹K5¹UT¿K5¹UT¾K5¹K5¹K5¹TÎS#K5¹K5¹K5¹UT¿K5¹K5¹UT¾K5¹K5¹K5¹K5¹TÎS4TÎS0TÎSTÎS2TÎS$K5¹K5¹K5¹K5¹TÎS4UT¾K5¹K5¹K5¹K5¹K5¹TÎS#TÎS-K5¹K5¹UT¾TÎSTÎS1TÎS9TÎS(TÎS9K5¹TÎS(K5¹TÎS9TÎS TÎS9K5¹TÎS9TÎSK5¹TÎS TÎS9TÎS9TÎS;TÎS1K5¹TÎS)TÎS:UT¾K5¹K5¹UT¾TÎS UT¾TÎS TÎSK5¹K5¹TÎS TÎS(TÎSTÎS TÎS TÎS TÎSTÎS TÎSTÎS-TÎS5TÎS!TÎS-TÎS2TÎS9TÎSTÎS"K5¹K5¹K5¹TÎS K5¹K5¹K5¹TÎS!TÎS!TÎS3TÎS TÎSTÎS5K5¹TÎS9TÎS0TÎS"TÎS:K5¹TÎS0K5¹K5¹K5¹TÎSK5¹K5¹K5¹TÎS TÎS9TÎS0K5¹TÎS9K5¹K5¹TÎSUT¿K5¹K5¹TÎSK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹TÎS0UT¿K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹TÎSK5¹TÎS0K5¹K5¹K5¹K5¹K5¹K5¹TÎS0TÎS 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¹TÎSK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹UT¿K5¹TÎS1UT¿TÎS/TÎS(TÎSUT¿TÎSTÎSTÎSUT¿K5¹TÎSTÎS TÎS TÎSTÎSTÎS4TÎS.TÎS-TÎSTÎSTÎSTÎSTÎSK5¹TÎS*TÎSTÎS UT¿UT¿TÎS/UT¾K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹TÎS7K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹UZÈUZÈUZÈUZÈUZÈUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÆUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÂUZÄUZÄUZÄUZÄUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÇUZÇUZÇUZÈUZÈUZÇUZÇUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÇUZÇUZÇUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÇUZÇUZÇUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇU]dUWâK5¹UWâUWâUXfTÎSK5¹K5¹TÎS6TÎSTÎSK5¹TÎS6K5¹K5¹K5¹UT¿U]dUWÝUWÝK5¹UWÝK5¹U]dK5¹U]dK5¹U]dK5¹UXxK5¹K5¹K5¹K5¹K5¹K5¹TÎS"K5¹K5¹K5¹K5¹K5¹K5¹U]dK5¹K5¹K5¹UT¾K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹UT¾K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹U]dUWâUWâK5¹UWâUWâK5¹U]dK5¹K5¹UWâK5¹K5¹UWâK5¹K5¹UXyUWâK5¹UWâK5¹K5¹K5¹K5¹K5¹K5¹TÎS6K5¹U]dK5¹U]dUWàUWÝK5¹UWÞUWßTÎSK5¹K5¹U]dTÎSK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹UWÞK5¹K5¹K5¹UT¾K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹TÎSK5¹K5¹K5¹UWÞK5¹K5¹UWÞK5¹K5¹TÎS UT¾K5¹K5¹K5¹K5¹TÎSK5¹K5¹K5¹U]dUWâUWâUWâK5¹UWâUWâUWâUWâUWâTÎSUWâK5¹TÎS6U]dK5¹U]dTÎS U]dTÎSK5¹TÎSUXyK5¹K5¹UXyK5¹UT¾TÎSK5¹K5¹K5¹K5¹U]dK5¹K5¹K5¹U]mK5¹TÎS U]lU]lK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹UT¾TÎS K5¹UT¾TÎS TÎS K5¹UT¾K5¹K5¹K5¹TÎS K5¹TÎS TÎS2U]mK5¹U]lU]lU]dK5¹K5¹UZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÇUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÈUZÆUZÆUZÆUZÂUZÂUZÂ88ac7fa78f666abbf30476a139c0bce08e3b0adc85edd428823f020bb97fbcf8052a2b6fbe2fb318780670a5b4082edc9632a8efb0f8e6c31cf54cfefaf32154c16ca7dd7474219960dc5e38670aeed2f8832b5292488af6d64e1730bdfd49110ae3fe0798e8560562b8be8e8ac8b213d95f38e1df0bca6a0e56e2d7728543e9560f0097fa779f91ef1ecc97379a84db43162aeb69ed1c1f4df7de0499e70e6ebb989b0161a2e6798acf9d3444b0a9bb5989d8d6e26fa74c917aa4031afff606738b72c07dd8526ede509ef1b376be67d39f84d8e361938d507a84cff2a2afc8998e552858003b01968425ec732065efe29b4b8c6bc16af5ec793db8e8e220b6d121ffda4bcd7e1f451a884e76d6613668bea38bb8813b3de8cfe7318cce0fe86135a8472e16677488ba7022579ed928752ac98ce3f6d1b157c5a3604106acf2b1f3434bf4fe37795c033b960286616d2c8cc280099007e43c65cc2dd8f2a61e4686dc67a88e4c5e62e03f185de0a2142654b05e4542cf9a0a30530e59c0479d7096956ec54cf5f1b9b0788f4a97675b9f4684daab1f6469dfa89ba4242ae7ee91e42a4378eac36658a3cec347e627fac7c690d9def22e0f5f3db46f652c1f646a99ba5da71265d213aa42bc89a7b5722e6900a1aeffa38071680822f5a3c23debca0b078fcedde5f3c851c38cae8a4e6716a1e4745a7f114f541c524ffdeab48b7d338c90699714db38e09bff2ac4fe60ea73907491a581ef0aaf7f1b83b81044d93f449dca44bfdfb1b86e181d590a46de6f7a38e0a7c7ce1aa66011158f0fa21b0ed4ebcaa5ee88249b38a4ef326c7a014e23286dcf072b48e42f22ec92bccf3b30498db68a7052e1f3a80a297b6725e711499dd5e83621a6f7c64b069d409f29d96d2a6447744e182ec07885b166075f828807256194888e34514301efe292e98170bef84e2959ff98c08d366b5e23fd3837f2a2af2d507e84ac7f6384ddb72fed3c33700a4ef3dc07d950587f0b234edbf01e697c48bac7591aaa5c34d2b418e36bc727ade5488d69e245fbd5a4eee6b0cb28d832d0f8a3f7a14fa9d36f424d46ac3f4dc156b34d073b249c79607d7356300281c1d3ee82125ad9354ff16b5f94d24acdc8e88bc02f4415041313946a5007d29fabb8fcc5f4e76e7573d5f5eb83936d20e497689f34b5e06dbbe41fd7c57a4f7d267776c24c8f4024ec14dc30472ee6746b11dc7e2c84629c0477c614e664afc9e9c9506cf4b50b8ea2aa053925f2af3c4136020c087576a01498b7868935ca0bda85787965588c0508cfe58a2a5170f36cae202d3a40cb7172df995831d020fb5716920f925c4e34e320d32d2efa7a28155de317112c83dec9dd85ec87e3e79b72890e187d034cba5d9d1fd7c57a4f7d267776c24c8f4024ec1433ec534827438452fa3dbc34c75c27759cdb569181f6a1e99d5e79a0f78ae5eda480db8bb5dcd1c926b77f452ef2ad950e72551deff5c396fd1e00293fd009ac144fd7ea46e1762cc3afdb9d8a4abd5ac93127a00055a458a7dcf9715e714f775a65f04e4f44723d3e996e1371c765c3697ddef5a7a8dbdb67fcbe8f0741e1f32d8e959feddb306bbe713874054300baf9a6917f7ea8f64c5f5055d84b781659d28aa72f0f54765fab7a2fcfa9de4fad1e493f8003e94f08380b49cd3c5ad3c2c30838a1ada9ff9caf37360646b9375fc40de47bd501b84a7e088ac9b0e78afcb563360cf893bd48ea9d73a36da3958b382ceec315fba61f2ef28b71778823efc9ada6c60f0da097ce09164ed251ccfc1e493f8003e94f08380b49cd3c5ad3c2e535c3c2d06fb03979f4f634602dcf1f84394f581ff4fc390204a238597e0a9e2d8e959feddb306bbe713874054300ba321e7ff54b7117daf93316d0133564dc4f878de6b8f86731fb49affdd7e574c6b76ca49f948f2426a1c023ddf35a0f167d5ec694fe14fbbdfb13574dbada5f220b0bde4eadc2db836b4271c1f0caa96c5697abdeb0f54888d052d4f43c5f2ded28513d3f0d19222cbdadbeb32c12d9e7426b6c98e4c972d797108c6953b52d59282214df866d82cf69891ee812a1cb60a0f77b385b6f291b8750582e4472611a2d8e959feddb306bbe713874054300baa11d36c42533228ba861cc63f9339112e6a2ee556752fd4fd8c89614eb43adf99aa297314c22cd4244310c08066610077f552f652299847e1f8f56b158a775011efb39f604ee6c3981b21a9089e44a343d16864aacabcac85cfa8ce6194b8b3b4f741fdc8057570d1b0c8ce1548e180721a0dfc426fa570f56494b9cd3ff3ba62d8e959feddb306bbe713874054300ba0fa4ed87a9485b491d0b46194b56e4a0ecbcf5dbd36a6a057143861ab3ea25da39de414944b90d85811e15d62f19665163fcad457b10b9638db3240abc0fb7a38741ec8ee295452f0f1a2fd3f382c30fccaec15fee6f50ff5c2e6820447c17209fb6a487e4cf7b1c4160a3bc9928c7a6c3f08bcd6a3c83f735818c758d0b0e54938e16af2f93216b568b07955986f74e96d9a4f16637a4504f37ed360263dd4385752920e0cc236dc45b4cc415f60ab2938e16af2f93216b568b07955986f74e92e9f2d7acb8aeabf5cddda718eb03dee69b58dde86029a89724febc17b20cb5e06973374d5fffe30bb0fa9631bee31ba77d6fab0c1259cb3e4a93e861826f6a50b843d9169a205e96818d2e083b496f60401b3445cf8d833f6a0aab5fce961f8e13b42b6c9e2caa22f26adb85ae9f39ef45692e6cf853a820212f27780d99651fd7c57a4f7d267776c24c8f4024ec14cb4ab8be332d1d6e5ac7792c75b56b860f0493ab49730063ddb6bf3da24fd68e6e74d9ab0e60ba68ac3f437f71e66774b685effa092dbb439671c7bfe74cf0f1440fe89b206c7a9d02cf70371d1989724805417874f826f074a5a31fea700680262a861ce397135ec84c8547a16bd158b4aac3f01d513a798f2d3f6fe8d0e75eed9a1e73c5b2958a9ebd356f27fc973b10257e1d41994ac446db4841cf0ffc084f361642ddf7291081addf9dbd52fa6d2d8e959feddb306bbe713874054300ba932421aa2c0acbd0d68dbbf64a393b2ee04d1c0a01304f35c4f6715d673b6125f90973c8e437e796fd5e4c5afedc3c4a1ad3a31bcd93b90afad4791fd0d256cb170a5716941e4794c63ac0a0e2cd66858cf3405b2083e184c50ab43542c87480632088efd641869735610a043dcf899597c2a655fa60bbd2643c896984051a8fe7a581167290c9e2e988699c6be3a9b6abd858e71eec02c5e68186854edbea1b98a57d8250ad3a33b0a0d1ed249411449d6b64a030b0332c27261a3a5fd7366effd2a0b2934718d1cd920773350caba56ad3d9fa2d6deb483c975822bbe4c1b5871fee2e2f51b01283078815d6c4844ffaa4993a35e4f91afbbceccaccbc896312ac41246b1e9672cf1202a1ea4952b5b1509a5b9c6e26361c62e7b4eb5bf41c4554c503972882809ee1204cce7263068259a58ccb6968f4c93a62114f0927f89712c768234eb124c8c2683cd548f5c13c42c92e8ab282cf9dff1557abb7ae0c52fc71ef153996e4b6b47727e4464d3c0cc6a83ef1cba25ba3c36992be55fa06a78495a37d7c7c27d296e5ddc807b950aeabba8cbf8ee323cb861d4ae08c03cf271fee5f003ff7e30e54f778dc8448421856fa9e05b717b245a1084c1477e01ceb57b65b0e7932fb08221429af4708b2ec8b3d2038bd8274e3032c4dd8f39ee390098708ec1576e9dee4d22f4a2d527a3f3154d304616cf55990a70852e08a8fb3f216bd7cc68cab25892a1bbbbe6664efa4e0a7311fd8539dcac1f875621d217a937d0db5ca84076a771d7b4f9081052cd187da93c394826bf9e5fefd46b032b5034548107fe5af7bcf6a7dc2dc3e05d43b44e0451cf2fd2470a50dea56d85f6dd03c1a3203ec6e0905e22e3f8f9bb1d43b44e0451cf2fd2470a50dea56d85fb3e53607d8535fb372e0169b5b3a1de883de62ef37bc579de450b559cc036bdc0deb9a94746d9e2e073dae654a07672168725dfeefa342063fd76a0f5b93a85df04396f397f206868fbbeae4fa61e9121fd7c57a4f7d267776c24c8f4024ec140eb658f7c7c5887f6dd0c522ecff4074eb6f3a8560b5d09aee9551585ff40d2e6148b2c85289e0172c60a6c97e8393991bab6cc6e4f423c7f46898c3c3e68c7f271ce45c3a70e02e48be28e8f63cca9dbc1641653f73072cbaa53c050565042ba27bc24e96e99b17f25ebaa8167e562b82b05be6faf036338842bd09f077508c2fdee25cf94c33ab3992e1de999608f425ac6b690b8bd399d83d25d6a485985b81f4358d070d4082010584780167b2acba411b3c47774b3e6d50712f96e779e037a08794a4aace78bed90aa06d14673f12318bd8a607f743cfb733a2e5004efd6cdf2f2687c3d41bf009139b1693711ba152b1fea729b4602b609601ab8defc92952ca891c1c964ecfafca4c1bb8e1410429a8ff8bb56c1f263176edabc65c0c17688bba36b2e830ab1484f382d07ded81f5077d6ed3320155cfda04626c9ddce7add2ff4d6bacd3c14e3a9e150b656d34febd8a8b09d56749c4b8430a864190b97564570a3043d6aed29ca6fdc457273210478e852febd3d018c27e4dbd1e78f5d9e46bda014e04d4287e776d1ad7bab44332cff67032acaf5b71e13da68e931ef26b822b1eaabd13925832f5d62511e2e492c0e20dc6282663d6232f423f1395e186cce435e1341d0f8c986808239b511665c65155c0e251f4a2b1cd8b007f71c289ba9d4ae69b85e53ba4f79fb52429eb4f653077ff7d4c523abedfb8fdd348f4f2c96f5a70011ad7e08028e2c2e2cfe3db377e4ef1717829c79208ace88a07287e7d0698f0bccb6532e248d5fd83aa7de2e284daf5f8a92e0a0de15739de75c1db5de12e84513381599ac64acc92d719ac4af5ea4f80cf7d3dad693d141a9b3d80bc27b5b63e28ca89a8e702e4ff96ce5fea669deca43369da58cea90e011e4c95f46778eb180c45bd2d8c5790efc025af59cd69fdde69147378efbce13cad941dcc87a6cb9a3bbefc6bb3da216bdece4c69f02b0c7720167da9ffb41c5bed7e7455214db7f8c40e10183c208a20fcc72bc5d374210e49bdf3f49252e4e39fa34646636cf244dae9e783c7015186bfabe58c4b4be1f8b0826447e70d815eb5539901f16c8882102257ec0e7e0e4311f05391a07cc4ccabe989ce9944d141f34adcda67f8dcc0b28c93cc44743e6c572b7f11e0b9d53df3c576fdf3c50ff96058cb28ca54a8c498684a2b075504427c082e6f086e215e70097a2b21df2cbebb804e2d0f7d80831ee7cbc6a9a95af9d0f2553ab14a3895e1b401748a551864d0f2553ab14a3895e1b401748a551864f4f2a1b4b06c82c187a7dcce6ede1ebae2852d74408c18a38bd66ca1a481323b3508f60a518c3ebef1cbc0ea893e2bccd41b45508072768ae7211055f4ab6f7789d4ebcaf902e2d967e4863f21207b236a04986c242b4351b7ddddd513d6bf8b374d6d16425fcee3550ac4bbdfa003d46a52ff5c5e2388c7592d326c9832a1714dfa514842fb3000979b9614e4c5bc55280dc5cce093f42405b87383e8cb0a6666866284c4f0cbc7dbd5adf953bdec6d83776c3ee2da906c4b6d8687b93747ff7df509672816d77b718f4112f37f58b110031a4859dbc3b409179049923adeab9942a38d5efdd16022c8d935b6d78490e29765913ee3164e6bcd398283490816386fa4721d8df7bf88918ed95511303a1ff7b173560ad92066b4246b68d19e2a68004c59b56258bdb30a49d5458745e58ff99efc21df126c8f3499946966cb31a91727f780b7d4a21265b6e9372e7e52fd936a9666547b0575e651488020cb299942a38d5efdd16022c8d935b6d78490b615d108613f671ec98054750b71d1ca7043b5124264ac8543d68c51a6e459591c7ee51fdcc349df3df0db17f87fe6ec3771829cd7030293e83e2fea26a30799e649712e737eaeb8dfb6eab78dafaa15999273fd41043259585cb02f75c096951674b521b20f0009c74e166054d65833c1b757635bbdad7e1f0dd9a0a5a11b7739a6ca8a5988dc4029374294a82cb252f1deeebf012c90d2e74015aa3fa52ef2262a18a5cbaab271957326ef51c8a3fa7e1731a7df786316ea6d3a56fca6ef79434cb856da8538209dcfecf2d01924417603b81a19b5447847a1563e79784f82062c46651ec9c4186ed90c149a857dde653271b2d185c6d5c23d187ab9e49d2e167f0297ea5ce72e2062f0243f2929f3295daf2e0b6610958440efcb438c50b2a8cf4fff6bc8f37db55543e1246c3120ed81fe1970b0b98b8e4e345a13ab75e5057ae0c25984bf836097d6e17930e4b6b01186bf7ef2d7f5247eeb56ed05c33bb01186bf7ef2d7f5247eeb56ed05c33b1c8efa633563b1496bd2c660cea547473c77ff9378c2b8f446f54018ff8911b63fb8b1838d0891d732f64a009cc8d12def269789e20032ec6beaac0231003e487ebfbf5c8003717d2a46ce43f72c61222b316cda0e35eb3e0796e343c0e54b4e25b5587eb1c67af50e999173b8a02559ecddb03c1464d07c055239d29de6a48ec45de43c3a9f0b76ed0a84dff1752527240803ffd1e3e96e5124053acfed8d45ead1336e374fdc92e4ab49df23204f843d413cb0e9275586c900ef4022edc9c5de4a3822982af82fbc75daf2cf7f4b15954c3106a17db056cd216011819f8753340936b60ee64d30a28d3ae1d1256f9a85ac777453b93ad3786d40abf4f9a609bc7a3ae100110db6bd3afaa53350c4b031a20a26b8e4929b6ceb07983e8f60cbafa1672905adff24a5a8512d927cc840fc17e79653592b8727ac197e83202d8485574e6a06ede932397deb00bdf065b3cde75fc56320e05e70bd43744841372989d356c495fd76412d269a9150f6f0642ae320a3d2c43cf6fce1823e78ecd3fb488128405eda38c5d23b86bf6f1cc4c86c9b207d67b936e4d47755ae4146d39dc94de3a5e44e663f0fd148ce8e45dff38af7e8e560139291161efa10a60d73a4760546a2948a98705cd8e35d8bcd54e9481136de25e7646bcb71ee45a7cd06e7a2d75dba8507ea73279f234f82596c671a4145614b9f2fa0a6bbaea47461d59583637930484dda968404d8dfd57c853185f7d8b8fa2394d44be690b393a40984b9c4302acc6f0aa5cba35a6c5d46eaae708ba2a6323c690c80c6ee4c7089d5dcb129aa836199bd5afc6796a69b437a0c708ba2a6323c690c80c6ee4c7089d5dcdd5c1a05415acf87ee90881e79649155312622a42105ea97b971ea3c207ead61b30b8ad7880c4234517fc22c7e359c64bf6a971de8b6cb122e4dd2c65ba0bee1653f30cb2b5de8a9ef5719bc44b675c8eb34810153ea63dc24d1dd61a2c36e13aa16cd36b083e238afdae374ec49618a585c6fd0c682f1007fc27c7c99820c4088ce7c8cf059c13651af41ac41bb869f3db8689df45b20140fc57d6c76a3b9aac7ea0c32626990f79fffa3c0711aaee64d4627bd03e6eabcfbf95284181693386e0b29fd6db2b341b334db28978ba1d043241c2db57a82b7044a2fdcd20a185a90aaa459a7393ba40e9ce8c91e6be36c5de67701124693cc9a99c53e899922c94dfb21232ec2625a0ff0a61f6a666ad6b26251cb92dc925429e52139238ac10c555417e55aeec9a11e29a630d22d477f1bd573eccb479e10678a588413248b931c82279f78ece3a6fbe0f1766641ca2ddcbb28a250420dcb9972f3cf6c73d85dd8c9df5f4a9897ebe0105f4b9ceb6e403fbe368adf47b3c1d1d7ad94fba35e90329ab7c3b0d849628c5de2f84a32ea0b945a3f97fe3ad349ff6955d2d7f8db19a5bc588105b2d1807975f6a975faaf9d80b37a85079da789b875d1c30ed049a963f7c69c5220bff46e59e7c3cf809bc845e9f0abcaa10105cd37e280b25735f6c7147336183345ad31318c86df900cbe46555d2d34d7a77c2decdd984d64a41c3a27d306e60f3ec844ee57e97d5b3e3e0a2d5f2d0068e6ad9ecabbd415f998aecac897de942784f5b0438f91dd594a40cffb593cec5e677a45accd5b45da171d11516dc7542fc1981457306a88492728a6589c5cf3cd69214c325c43e4cbecfcaddfa7ba5d44a3b2c62249c62b292cd886f7dda25bba0105f4de125b9cfd3c2ef72a276bc6f05354613ef165f56ac9641155ba22625c98033157778da8f10b57b7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784ded3aec8ff9d602282c47f19a05494969ab53db47f43505f0e9068a3ca621304dc17eed2d1144e37ae05b5e56d9d0cd5ced167bc00cfc009c6e69b2873fc76f43995ebb7eee5dc9cbec5e5629f376e0814e544eeb0ef14c17774208160f35e654cb47b155722d72ff4f1f164c2e2d116d7f1ef23bf25357657271b87d63aafe9fa4c841ea8ec98562355249ad6a3f53fc9e7ce091d2b529494b66adcf650829805a8f6f74246644fd8095f9ce464efc6ab59af99e0ccd075e9d56c5cd0ac8a0e563d1a56897e086477a5ea1e483fa0685783092f9eebbfa7bbf420cc7f708e978696937ff8e46eb22a22b0b9ea3c78f8ddacb79d659f673b2fa98b16ca94abd8e41963aba81292717b22cad13de718e4b92da56a7b0974611892f2b5667d6c4d4547833fa8515e93a72d6c83d5626d8d04e3531d6734b3c34790d1e45955d6eb9f7ad5216f42f8f6455a81a92ab183a48eb7051fcccfbe9e5402fc4e231d669391ec052a98f49ee3ff8df48fe50868a5eb241e28dffcf9bd6dd60510a63d93746ab04359f792e91b2e55fef4a183f89a21829d600dcff7c1cbc4f54880059b876a8f33972438c5513f12a834b5b27b5d61a91e5c1337f1b7dc7010514de494239e4f98bbf37f701b1f4879592640899aa24f98bbf37f701b1f4879592640899aa2355189d6d19965184e445ddd642ce922d59b06ce1d5a78e10f03ce86db000718e549c0e944c586be79b23040efda091454f207477d7a8af7bfc9d9a577d6c9f59079082c0135a22c9b476ab00c4ea02a9079082c0135a22c9b476ab00c4ea02aaec173413741465fff8faa86eccb4b0184c0d9d52668647535f307da9835d6a23faa5b90702b337d9b037d22249950c89a71849ce1c621264ba1fcdbed0c088730f69ce964edcd7f3e460e4d803a8692fd84bf31d3c8ace20d02b5bf45212412830d77d2a83028d440ddda6b8578b59575096f9af452d2c1073b3c9a203196ad3e3271d420a27f10a59a735d75ee0507daef86c9fcec8d7d73e2971294d4314022b8f732db1a065039e5e0510c86113efef5411e7bd0c827dbd061464e7d7b15d8cb033e9ffa4ee0e056064965b84965ab263c7bbc9504f59ac9599b3145961c9141ce580baac5a1f6054128679095dc3a8e21f657ea737c26fd00c6024ddba66e1305dddcd0b5bac49a559413cde25f0b05d0c83c22f74f425162279a9b23015b7daa5ca274dc74f13a83895cb67881d79844776ef50ae65483d61f4921382365a73d82a506a718ded84ab5af357f947a7c111fcd924cbbb6de94b3d2bda997de4fb90a3de387163bee6d71066a9d4a3e2e69656a66e9c1681120a2478855d54c446e033d73bd99e07f25acf145cea10834798fcff4a9cdbab7ed49aa0b10bbda7db7e04a4f3231f34014cd019c58826bee9225a42ebe6eca63f8a3e4e9487c1af342dbcd9ce1e2895c948203615ae6599921f7325299f76d10867ecf1fcdc29ee43c112d359b476ade7efad44670e885a3c3e41e940bf7902614a817e58a1599c56cf6550827811739091591f17abe8a5a956892bc25be5614caa5408dee2b86fd5edfe14e049794437237e1f8ba148880dd894a85682767e5fdc7ded42bb56ef8ec1a9796c39313812cc7874231ce08f046d6459a8ee8c3597edcc463ea88a171f966265e35233bc935191bc0d7245ade07865d18ce77997b19881517fa7dd706b2a681ab521a0f9746407021224d695a585f484f1a429f4088c9e4b9132849714b5eed9cd4120900ae193df199a20a6429a2f41405cb6689f28511ada1f43dfe0e4586826030c736bf6cc1a893d0d4191d13295b1c434c436091f0083f7195e0e18e457235dc5f95f24aecbfc9cf5c404542528203574aa7a9f6f1334aa02f247c3e37b55d75d6bb8576d5d17d81337adb7538b85974334e9b2f82c5514b8cca05fec8cd52aa4a8cf2c3ca259753292282aeaa1bc777ce377e09836c56af3653bb2ad4739004268a65864ec0e5424edb4addc9bd229619776472efee142c736785157134fa843daee15d96ae3d31f33f3ad3c505fe234d37b7e3556341f21bc1947b4640aeefb9bac4de0bae7defe35383d1f4be6174df49ff0ab3cd35ebc471d1075b0253fe36d830627c1feae8366b7f8ac45432ed1a2da3fcb97258dcb2189407d5f0e239280b00e6e8312f786d81670b29c476a1319d20802fc661333d1c48c8270fddc6d86661abd1d56d54835d59cd39d1b165e1f2d2defe552afbc487fe49d09ec06d846a1d0036c8fb51b13b6e17eb1c7034350c4bfa1177ae3afbc11163a41e9ae2fc0185e79560932aae780684f92be5ca92e2a182b344636b260f1b7d2e2f222e4181ad2872a7ae164283001ad8e949014b5154dc397b620c4f76be4b3dd30765746b56e722c32f8d3b8dc2bb82e8f2568b3dc87d4faa4a2c0b5ea5fc17cc37b35cd38036c931ab350ec5750bd005a80b6220b41200e5f84ffaf1a48e5b0af0ebb346b07e570eee9e4f89a37ac0a15bf9e396451f37f913d8ee154f9ba7fc8f0161c709abc578d67b3b0e3dce8c2a03a6770c08388dca547908ff10bbd90f43ec5e408344db4d1903b7156d4c2bc08ef351d9cf207f874d6a21c08ac756f5e14dd034e38cc41134d7acfb1bd499af5226b026944ff99f3842d5a3c394ad8dc7ed28daece0815289e8cf3ea736ddcc077ed5da2d14db3f8607c974d75c2d1ab18cb64bc53c284cd089d64d11556be36055eaab66531dff537170424992e419bc88e995f5eb9a2dc0a06cff2b0896a5e6a3fcf00426df53517beef61db6bc5cae3a40c9aadbdc539bf2ed6f795e7fef9bad2502eff01394ac6ddde3221bb1bd75f1bc40bb5dd51b3008aeb4a04c48e02b4472c647fd97f7002c5e288050e18d8ed4f92821b4545111f7b0a64a2bed4e9dd60782f83d1225db545bb842e51fa84292107f24b8a40b28a5609ba53baa91d93271254dda46f31bac73bc332d895bf7fff8e912f7350f9dcbb8e58c5d5e39293c225e832add117944b8e58c5d5e39293c225e832add1179449cc9ac7e614a6a6388ff7dfc7d8b71529836597c875af6ef55f5929404f115585911c57371559cb8e6c7adfc11f410c9e81c74bc7eac57808c4c31ab7f8d8b1ed8c8ace2976faee3ef0d54f727b5b783eb5ac8a3bc6a9b206f3c84f13bddb8c203e4524e73610a4b451e6b22462ae5d84c1ec7117bf3bb721efe2014353f2058e596d1f8a90a31553fc401f85aa2a17682070a0a0214059934b3e55564ab779beb717f3cfd15442811194a8399c2799fe636948dad212ccde3786e79bf14c0212b8e796616e1ddbec18eac23ab3915bb4911fe8919fd09f43ff5847fa7cef213869190d07159701e8bdc5041e403e18543a5906df7da2eeb89869d869d69891f1e45e4b69e2b6709535860ff6e2012169cfe9fa273453a5fb4ee91ae28404b9f0537d99622b54ad3fb2b7d477fddcc1a89bd21ad992d78dd8a73953740a54cd3ffabc536dc8252eb4d4c404769bf9de09441b5195bfa57dc0f3fbaf971d98002d1acf44327681d6f73bc48f4b656914b12209934aefa794ef725b8377aaaa0df6409196eba4752c3a56bead2e397a391b908d1ed9671fa0c2dda6ded887f8dd28b540251cf2d1cdaf09fb168ae2efb21a53ff208e6efd5a4cff14e4a92d77490ed5b18b3ef19749736b1fd2aa2cd121376128a3f45a73f31ffbfd81d15e4e3343a55490fe89df4a744e8cab90dfe3a044a78592ef3e92f4ed45eb64e5d757c5da1002fff814dd8e983b812c772d3f1bbe79df6371a092c679901a1fc6b00ef851cbb57eb4d32140d35bd1ca059784d1011c4a4f78f75961e6b121f3bb251c4ffc8db095107b1475536513859feed418649d59c7d6ecc3b146a569c0762038c4ad9efbedb9723d6ee0426e9a9f33d76bb340f63df3662ebcbc491ff78b6ae86707377d355db149459fa9c937106af31ca1927953bbc0b321cf2b8bdd5cfb9a5a9fe02457cff8be17f44af9714b67a73dadad7e8846dd7939e70691626446a38fac51d1937190cac1f77826216e63c8de8ba3c3831e3058f74992288aa140a59b417d1a14d961bd5675fa649b1cbb184e6ca0cd7c05ab42a703df31d09a03b144aaab57342ea78794f636c58d1e7b073b2cf41096ac1775811fd8423b8131c764d57c1c33f05f814b6c488afa08b3324f7d41918adca00cc47529ab8bfbc3487df5df9af0b50832131c73a958ea1be88ab066c2233928ebb35d4d43ae2141334812cf70f152059ceec91534ea8828f748888828c422a698d08fc3cbcc71d9a5117b6a96bf08c598ce69231b325c30481cd10360b6611d7a555f280270f3c606e68817acb135b7d2c7428bb3fbbe47bb1d2828fd413d9bb6dbdf1f4abab91dc739738c071b2cdc27c9b128f2288ea328c88eafa1291634aedc9c36463938ffb3b927eb2586fb8fd134984e9bebba1947b737c707432d19a18110d83ce3121a458071158cf6d466e049926cae43aa321d111f9fb9d9a013c9119d21b1a257c87ff838299efc9e18c1eeb4976a1003249f43e2b4e080fd316da3191ea810fe3897c6f37150ef84df06565b46d4af4b4f9cf2075896fcc94c02e56feb07086254f025db56af386eeea531b7df6d439e6499971e26b01b4331f3d044460b28ca54a4b464c97007f603adfc0b8e8cb7e7e398eb98e1abb6558a57db816fa9e2d4cd3f91335dfc8461740a0a60e501d4883dd3a1a6e027a3be6f4a5e679d2e9d90fb2847fa0ef15c2ee81dcd4ab28ded99facfb07891aba2ca5e6aa088f50968faeef3abb300ff8875384b60103dba01e0006c709705e11fbc8a1a3de632a6bd698924869a3bb7abd320de25877c0f4c875ad4f242b557c7c4c1e72e28ae552aadea1900dcd4a517d2bade305448b7325d1c964a4c71c6752b506a0e11b85ca538d661eb8aa9f4621508db4d143bdd3b7d092448ad8c8dc725078d299a987ab17d2a31b7d9f646955877bdf5c70dad0da6423cb12f673327b9c44582070fd9ee7d4df81ad74c9c4ea5f8e3cab53e1de184eb66ee33ddd11a0efd880737572415adaa72ec506cd0b0b7d0419caa831b88c2dfb5954c91431761776ed9dc5e0202cd82455e0b7de796da04d7de3b8ff8080bf0811cb7fb118740f679233cc585285387caa6d1c1fe8749e615504aa5b9865c610701d36d74dfe545a11ec266105313816c8f015630c479e9fd55fbd05571402f478f8c60db1be7ddf477acc9cd547a02c32156e915e4478fa895c7c142eb0313e92786f1b1a55817eaedad2c62f955f738a4c58c3e8bb3a9557dbb8a37e082cd039c212f0532706924a0c6012df97290ad0a706bb86646cd722faf5cb23265e5f19527c446aefca9fa106554c97857050214b78dc8947a9d17dfe850846756d790b3312c05f3eab928b15789b7eb4570579416d386cc8f284bf6c1f62e3e80c6afd41403683fd766e8ca20cb2de0010f4eb2e0d6be0e37354c0db2d7ef14623c6bdfe4a5b99ddb399a699e13684bd6fafcb5292d37ce2c87a0daada696384b671aff59e01c11a3ccab8253951ad40af9e4ad7665ecbef4a445a7d1ed99780434dc79d205d6bb3e495e0881ba3eab5713ccf9e09a67ca37452b25795e5ad2804d132613b4fafb6fe8832e33451954c177001fe3f77f74b7e468c14e571b3f47eba6dfc7409cab8da61b445f554fce8f6f365139ae26d6cc6faf8e1b1b30cd910f64fe0564e1b69e0fc7d418a04e55527cef883f45f50d0caca9092a093a04046e3c4962854d590ea0504df74be8245be7ceaef89b66fdfc0d3235cc900430ce5d9b0cc3536c5c6f883e48878a7a9b7f0b195f4b8787e75d31e654ab2a5c9e0286e8238c16a63e72367d2d34b14344de2ad3c06063c56a99f23f80767179d34b3dd99f94edf6e536aa1d1ba53792551e22f891ac8b6a06ef027dd6b653e8fa726d20cd934e3346abeb88765a72a7ea5170e0d9b6a9b12a1a0f06ed0f45e427379a34d02226f549821a226e7a180c663dbcb951263a4b438803f9ba00cf09d431a08eca08d3677ad3452f6e2e0e1f9403fcbd2dc8584fa4bfdc95ec2564c5fb73e088e7adf5470fbeccaf1ee4501badf5ec082f928b1630a1b4d8812f0015fdfc7ce3a5d34eecabc1628c3415d9be15d5856554eddcc4ad7e6862a68123f7f0f40c97a02b3b56bd6c748f0b85386fc05aec198a653232e923268b0d430a3dd60b5f5bc9a5a663ed38f2a4319cbc77b63c495995475efef2c05f30abd274d5fc20432d746cd16947a80c2bed8b8cf73d19eb65f5e39224bbab271b5685775b0624be88f66aff76507d647f638ba00fd746c0e4ba2f3eba79315d100b70a8cd7454e0828ede09dd17cd2de78d3c455549f99e82f66e3e51a9af3d87f51408b532e0894c34533147a2ffc3a7f17d6b08f4ac5693b3c58fe8dfda624450fcdfaf112ac11cafe7408996f56d09d479801048129211d73cccad388b4da650119de1966477b7e1fec30a525e2976ab582a63c31d45dc62350571613b6e1dc83d7d12c4e17bc6dcb254616e1a109407b2286288d8d8130c08fc80acc7d7f811b7d0de759499c85a159d93a9b104535c3ae2bf9c195ff5fcca43e9246655fe7bc35a8f5aef180e7ff6b28494f6579dd5bd5efe934a605b02f0a6a2407b2460b7e76aa86f5fa3920e7bf8b609dc7a0ff70e412f6253bd54d9bdab3909d4bc5c96e074508f94d9d7a4ad407681155b80f106e5054b1366dade2a29d223f17f445f939bd2808f23d4e83cf2fd31559d3cbfe2b998c3a495def0ad4e788998efd9afdbf309bf572f6536a32f0389b55f8c71c5ce8c9e69ddfcb857f84d71842034c8bff33040778529c8449e2df46edec8c15757032fbcb496cfc2c04fb4edd3509464c68d8bedef2ea9deb397576e4533850236227b4918832a8489b3a917b716a0416f54be1fb27c48f730b9dd3b5788c8af28e7164daa03aafdd0b66604f48e0458da33ac3bb3b921330678a88a1228ced618094a44c5ce88f06715c4849b1ef95ed44001d50ce3ed57d11b549994c25070a454aa12b478cfc25116ceec60c17ecd62cb7e216247f215b88ccb4624883106c434f4fb67e1a36e4a5cb60ad2e43cb62a57042411c17859519b75918411bf0e0cadf1386ae03ed27e7f048f407323cabd935c03af22238065fb614d5c35335a38cde8dd803494f099f61714a2b5d2cd87f7d9d481b972d784b1e51a53e9dc4c093f21a12d03f98d11aac0d8d8794b7e04e609ec94c6dece88957415a544c85aa1003006c627e12d9871ab84466ebeabcd9fff238cf108e0a6c58356ba8ba3d1e242ed56f3d1401b908d1ed9671fa0c2dda6ded887f8dd26d20890fa6cda2639b1176de28fc42dc6aa8543c2e785533427bbe99e30991f79095a8c9187949f1eb865115b7312f0dd7733f3bd960f7b83126bf36e1822ca525465357e0da097e923ff3e2bdca92eb517e33ea97d18f45a25bd31a8c5b50b33e48d6ce25830409fef76a10ccad62159305930acd08927da2fab03badf5b4189bcafdb0631e6bdf54d547e6f840be0097a916c49765fe43235f7f710d921202fe3baf771ed79b237b62961d8d85f462a8b523ed51a30eb1953d392e8524a098bb7bb42bea2eb64749b94789741b9d7b23be66965fe2698e58778d0caffe8c330db9acc4109d322991d1cb5bb19e48d5545d0d06e89cfb96c93c37f563dee0f723e072d84f4cbebcc69e985ba8adb2c726d78bf700355436134b2864f2a8023054b0209fa942ddb95e987925d644ad141a43f91f09758a6081b6f4cdef3c22e85c448ff62fb157eef948bcd863a61f0ac620a77e84b59538406fe75e31c0c4b5567406c40dfe0fcb6dee0c14c8cb7a5b2783c4c6949892c1e9951eeea38a9ad3b815a0083c0ae491c8109f7eaf2dc30300cb1ad8099dd2a8bbcd9b33e02f3a7156bb2af0dcebd4c023ed69d9503cadff46d30d370b26b21261b74513a0d2f99d1b6702611d23fb952cd7c1d1f26f5b8f6c45167b2904d98e4046a32838a5c4c6db37f42bae21ab525bee38ada30f0fa2cfe48daf65c06aeed708b99ca19314eb6a488f4d5f042350dab20a0513b3b99b4a804d909d886019a41c7ec9330ba3d6c1962e91ed1791da00e5b1e65d986ae072593427a16507cf5053a84e747730b72ac91e5b80b42af9ae8222b232dbb5c8c1997bd17d03ab25187421afd7ca67ec651b34e621898545b1fa8460fcf211eeee16803b9ad1623b7f643094bf24029bee0bfae791a29877202def8bd375e495b00605dcdfcb3764028a7774e4912e26236c749ec8715d254f08b099340f40ea6590aeaf201dd01a86160126e746caa15cb7a3073d519918820352a715bcf3a84f701beeeabb9f11cbbc4d68e2c681b9b334d4d523d8c345489ae9b597566d83716f4e38a29bd1f51db84301fdfcd775df6b627cc05b453366b606fc1ec010a8a18889666473f9496ab8aa64c774d7c60fb765a6ca729a301d5e6205ff53572ef3e5ba2cfc0e203d44f8b596f9e77091d09436e478d94d2b13aed363467f71cfdf4ea6486064b257882883265775579e5ccabd7ec2e1b6a7c93fd0a439386d58809b1900b81ee86139a1e1f3be1a7df4728f48075630f0ff4055b8ccc63b2620e27b12c19a6db33b7c93acfaf817f38dfa771e938d97cd34391c59a3547fbd5e1bf7dcfa0e0980964684330240647605138ce7f2e636f06539ca663c6d24344f5f9c108f0efc31a30750395d935ee411f2c509ed4430235c602a514de56e64210c4f86295e67e03f8f4e9f25ef9c7151e2bea1ef147812ff0a7da5f37cbbc905018cae3d3d22118ad8516b7c11cc732edbbbeb5326336fa274b0c8308099d5900200665ed6eae310665bad19a04b2248b24ef89c3a89ffe56bc402275567c94bf006d92e78f930a282ddf696f55f01e4374ef6f73fb97e32c8ae76441468e492e45ccd99253192937ca7d1ffa4abbdb4b975bf1e4a276685a7c34453e2723a61acfcddfc9ecd34cfae379549a98c3f3c32fefd405cd9c6553b17494c7f39b48f992e82e176a950352a17c7f05dd59fcd18482e7cfe4b9d8444a1ac9dad02095b9cc10f6fea7ab4479faefe0b1728da7c2f26676fdbebfa3e9fd1cd61a0e6051e0a11e4e7efa857af98cf2673c1e64425b6f9cbfad0e3d88bf42d6754ff32425a18c7a082cc185e19858a48ae1bd8200ae07bb1fbce67b580c13b57c94d6eb5806b3cc5b8515a60e26d06609bd0e15360a353271445472cfe4269cbf047a6d3dc46e3564eeae64867391f27adbf2e329b0068fff98b69c79986a1b465fe28ec4aa135152f95bdb9d70db87cb618f5d0aaee826fba9d1566158a3d641b6d55ce407f8991e1fe514f98ea20af0643c645aae2aacd0f3b353b11bd984b10e8b39226f8ad6df5b17592421c025a26152c348f6ae31a96035fbd8cddba8d16851b6fd23eaa55fa1fcf8d5eac4b3063970e69e98d4c9684a4643645640027b03ca3713077521849776ac8106f676d0cbff18f4c55a11918f83460c43f56955d48e59b8c71f0825ae7069e6147f4d35b6310ec82d2318fdf9d64fd3bfefea5c041938e9a8cfc4ef534797787072bb8830a0dfead9049a23dac89f12f1aea50bfd6448e8379d8e557335bb5a877799020551827063a2051bf532869e77b691035cb4ae51905366a204880e8cf1fcd3e61ef3cfa4127899320718a78fd852e1cbd36c3f526a598360d85106db07897c937209e63eb2a521feccf63cdcf56fae9b97662ad6132b1a49069a30e9bb8e631c373eaf541698ec543da1fe61b2c181d23b9251af7766f48558058661f3586a1a931975ccd4fe8113db731e11cc09d1aec3b774fc943bc063a47e0ee7a2f5e698065bb4bcff56cb561f4058d996736c0dae5b00697ce0db6d74fe1ac78a11cb6837b810ada7c01da740fce65f88866a6777c767263da460fc44561bcf6d275f9a9f8c7ef9374ba8c2b6f11b004839980e7f8026c7b3a591a428af0497781f311d6e14c3b19618cdcb9cb78911e136144baabd20d1e8f0cd58343173218fde4987de3243b8c7e3483ddae6211f29c2c348d7a50c18db6212ee38f036acf0c3261ce5bd11fc6f56967fd0d6c94c7c4b444166d6dce6d7f13fc00a31232d2860ff8433a9b983106e53abfdb0cf5d059ecf790bf39e447595b5d295deca44d04c70bfb2e4e8c669667e7ab5034f5c39362f23a0b91358fce099491f29deb04e4157c9b763bb3442b282297ea711c58c2cbd85eec2f255560296533bdcd816d8270f56a422da70e58e12335e23136b3eaed2d0a6018bdaa35a11dd3ae93e234fc719c4f34359d9a1f73a1ebed081b94dafe29ec6ac5f1867bb8fc802096c3d3f5e6af8fda53636c700a7827977a22abb9f2d6106fb78acb55a447eb61fc7fe0778a9b8026a25e175626640bdf3677e62df878ed830160681582f1e58eb1ba4cc2e6eb5b07fae7dc29111f5397c917c7d5e6fe8ec79693b98fd83dc41ce32aadea0c9aa10b611a15675cec9ab563a9a72d4a3317274120228fc89f52ff8aae69e81a19dbb22ae3afa5cedbd444be7216303596ec4d5050478bc7fafe68e5c39a5281fa03d112bc9e5b707cb0c1e8d60432a81960aa357169c2356ee52ec5a16f685e2f782f6abb0b8ab9f036bf586c624af9a3a2e24e92202cc21b4f1a2ba414e330f5492358cb4c9448deb30605b8b4e1a0844dd0e5cebd84eba843046de07bc267f1704792b6ebee2b9c65efbe88ac9b1f6c66b8be0c8a2ca2a9a75c7c5c2739ff4cf0ccea67b373fc14824633077a114b89fd31fffc91e6e55a5797dd67640dd032e24d49583c5e914671340ce92d9ae4cf4a0dda4cd60434c33ccf394d91f0503ead505179fa29099aa85dd02eb084d1749622383d69d11992d709069294ad4cf729daa96d9bf6550e1682cc95d02bd0b8f670000d285c6ee4ac39d44fb52bc9e9ba31e68803c6bcdc4c3fc04a6658aa32827b2a13402cd1a3a3332c063a8139f1d4af8ad4b8cbeade15e0ca621ecffd6ebc62400715f0da833dd0ed451d0650be79cdd2b632e765769f3dc30abc8f89de1a000a509aadcbee6fd2a5c7ddfa50ede6de124430c723bdd86dcebb1f66990b8ef601b1a0c3ab98d3e8a2ab7b08c5e1f95ab026c00161236ee21da8c34aa36065f96dbc2dfdff619b36e6f63ebf771da817834f23275b94b82e14067f4e6aac32eeb3cf97d8187ddfce30d543559920bc7086c16517bf46910272bb389a00a387edf7f0122c54f460c9f446d89dbf4a9f5c60c38a394499858faab7d8218fa5458dfa9e1ba470ce5fac264fbe99401f4c4c44c92f988c7df771aab2ba9fe021c4415cc5f3225cd796e93e78aa4da1ec7e8f70c511ae26c40c93e1c80ac2e8f1c26a98a9db966feab933de408a48afbaa8dd671f6084febfdcddfafc0980356c323fb0b0ea5eacba08e0c78ec982c1e7340b4c41fa00886fab1b4e6097710d393fa3d6ceb42dd4edf8effbb7d882cc1c4fd5ca6efc06da2b86ce377197ea459ceb8c9dd5f135fe05dad8d5a67059a6bd1d3d5baa39a8606cb7f0b36b7ffed407a409829c9d82fe87dc4be3af4468f1dd90d9332ab69c461d573d0ba27ceda74fdd9a186b4dcdc19da93bedc88575665fe6c282252f032d28a94ded2fbfaf2d48fbe2ee5face6c4e14e4798aa49af9e9864352c6ad707741987a083b8132f20cb250c9627daaf90a7e2d80c8eb4069a4f29ca89be1e52ae730a3290743f5b907c554783603ceab8cc777a75e320b7f1f50cbcaa78efe817ba39b30637367b13e065940b19d7b82baa4eac10da42a6e33871c6c3ff70415f2fbc20ffe1df9a1750acbd371d429c9da12b0095d2ad85d104fffee44559539cbc44b10900e5af53590b408ce6d3735f623ef42c5ed80882d9447011c5c454cf07068c6365b13ef0e2752812b69b810a4732ae375b498f4dff79d83426233d33cfb242d3c48c7eae1c525728332e1490c63de1246f5749bd861420d99c4d611e4a936b9a40b4626bae19c730e96b1376bb9750511424452f58c2953a1777a3123a7415a8217b591653245a4db2e029dbb685f25e0e09aa59624964e2b81509539f3c8e3a10c82aef9db8f588d4703a253121ebb0c6d951950e8ce17407ee566368f957d20cd6e26a058cee07156d5a0252d50e9a0d579136d5cc3a3a987ed6f796245565af54792d7c9230c9700fdc2975fe9855f19acdf4b86da8a3db51d866567ad973301c7257b168fb516a02490d5dbef54a20ec1e95b560b0cf839ec2bad24619d37d9219783d8163276bd9a03a96f6ae4e4908087213e0d87b2c439911eeb28a18777d8e7066d1b7807db2316235140ea95770e3b16d832b5287b935ef770c33832fcdecb734e1ca30e7ae990990bdf3fbcf34d364ca2805034be63fa3c7ac6fd4c1c8b3f198f49adf5b6acaac219ff969f4a43664bdd6c2db92f910b8c471bc91d7b0ce1b9a4659f9eaf0e95f7cfa4e137567f1d5066e8f0eaa6dcfc6e5259c64e002edabbcaac2acae303fc05655b6f6b2b07aac9b900379799ca207df1876668530d385a72bb4faae2c4cc4d585e3d598376f2ab71638fee92056c8d5ed697eb58ed52c9be4c6032894892939dc15c0fa8e1e3807358d78dead9e32f7b088ada2f6cb725a9ddfaaef1a5caebd7b2d5c6cf762c9241695e63496f685c07c5fbbc295eb44c267529a7beb5a2c442117d9f9c899796186725331686bea6ee018ceeb34b172781df32b1df43327090b6d7b2dc558102ceeabf87362e1fb82d7cd7a4435772ff9232d9eb65017166a10ef13e47fa2ecf922b30f9244f0c0d4b21d907acf0fcb2b179759833c172fc0082b2d3f0e298b69a7b82bcc0f156b565f2cb2676c0ed24d7edd3e93d67b6b42554fe880cfe1dfbfb615ed34bec4fd8de52820d49fff0778a63b937e3ff8518aa181f95defb25d2857826cf111c71c5e6f0400545eb4d01b6e2cb044374eea4a78760c9d622f4e27d5ffc9ed7cf5792c4483b622dec60893d0076de33c907e4e34a6e7ec571aaf34d3e647ee8736eb2a82010cc2b8194bde001a28c7a56ca66735691549e275035382b303a27f1da41849a9761e05d2fa943c8393a438291094026d4bf4b0341b414a2c71d961fd11eefeeb2bdc76558c2c1f11c019b063c6a996ca67ec2ef93fca6ee8057b3f276221ccd1941ce11f8dd9dea8d3073cca57c1e67de09c01a6bf82eadfcf182626494dc088957f0bdd33ed7d92f52c89bf8134c9f65a9f2404ce7b15b2332bfdaa70af34cb4b5709b83ae6c61de1becf3a2465eaa660eba72be35b9991ab1d4f23d122491e55605211f1899b40b925ac0363bc9e00d5ba0e763658d38f91b2b02b3f055eaa417063e95630c7a959ce134cb0ea6931e8853bc316025985192788c1f66b7faa2dfa17efdbdf1e416be2504cfa8df270149eb23a9416c276c57c0fa8576b5f0f53a7a15da07ad30517de572b410e57d2c55e0f29a7ec49d966f59370820be48bbf77ada399411e0a46f9f72ac49c9f3ce8a4bfed00eaf7a4c7c1ce846b43ed6cc4a8f62e7c23da435c9f31618c899a35bb08a1eff7a594e85be027d769116e3c909d83be1b138b8fb121bd892b575276515e01057bf49a9806fafc965625ab160bad6b06ffae41abf013788c75282f5410a18a2b99236fac429dc2820a1de39d8a97a6bd313fedbd657635c3f18e7fee9e9379046fb2916f6cf99a6ac001ff43569bb4d1abaf55ad02cd2d45f1c6ffb893bb3a1d5caf5f440488919eb598067aec64360398d7811c7e0e290b959989a62d496faa75e3ac648f80a2d1e4fbea49c14a180df4019e0e928ec8c71e204a6402503158526fd585fab256662b134b5adb0919ea23e95752a182902d022e77d2ae9fb71dbddfe00b6284c5aa9621c163bfca7fe4ce00f9de4e1bd1bb437756e421eab18584119df8ed39790db5af6337dd0014f872232ca40d706102708d06dd40a96232b3dbc61af4fae45b828a5254d87b72921942840bb5919d5561a54b90652166aa80fa7adc46abff2ea5a8b1b3227ae51f7395ce364eb7efcd5224ebce3dff55ce893130e9ec6c62d0ca7de52905ed134a722184409c62a95b63a130b161d3a9604c527a4701a6313eab70994f3f961fa986346beda13284dbdf34e53f4412ce3a5b2cd9c3eb23cbcdf4b01ceaa462307b9ea91a7f348f629d9ec0d765b9eba91700fcb860f4b9ee55f8ec5e3a7ee0e398b33d52b4d28e896d5e3223ac53c92479aed38a7e42026309e1a4c0a5a4f7555a940ba48235ac4764aaa76f2c49ee3104f2c8aa80ec7275e7663d4d07ed9f8d920d798b58e59ead0b7a3cefbe29cd83c656a81fb5673e644b91a2b1ca1f58adf463e1e1eec14395898b23b53bf12f4aaa6050375bd1aafb9d47e0ef6df496db558ba4cf239a5921e80fa926c2b02bdaf533bbc7dc37561e2bbc6288cfe9d9cd1cc239da7832f533d0907a2c4cf624645b412585d667e9415c38f8991e01aaf5ab61be67b9f6d5d8c0e0001f2108d19100a35f669144863ad4dad7d7ea06d7776ab9315c62e6a53a293b5977872f834282b0a747de334f510ab6f25a4e95b9398ec1763b2229dcdc5dd8521370e98a1b99c20fa128497805508e5789120bf0451e848b798d56c04f3835e7cbdfc9d3d5403be3a72d8593d6cd87eec1e796739b7745c75c5b21d27423e330b7ebc6ae3efaac8b1f82cfa341e38f9cb18e677fd3fa76d1806e6a888ee1f96680e0e5037057fc21e605fc9af94e8ecfeb6ec54cce1eae06f2dc4e2eadaf3ce7bd6d91cb0d132a20dc1fa9ddb6f0f292349dd55d739decc9fad2f9b1d30f241cf49250864f1ae75299d651eb399c7a9a1c9afc215d2a56f845b7b377b4cc4ecb75b18a9f1ea14c4f6ac42a870ed4e9becfa18c866501fcdeec3f3a06737b1f8a9111e77165901b67664915602a23499b9b1f75e23dfaa0b0e17a0ef033adb0baa14969dfd5129926cc5d48efff5be344dd9d90fc2eb4c61aa2a3f34b2c62a3cd1f9b2421f9b3f3721a987fa8e57f31d9f9f7a560e5f2732ea1efb7cb1210ee4d07fdf7980158978f599429d3acb2910fd105ff73072ac40e0fe694ce90b2e26fdffe1d390ba073801a68ae84446e78582df0c02469f6a7f76b683237a3bd915afc11c99d273245450731a2345e42d5f262de8c78bf645c5aaea44e92ebb0598d17ee92060162215ccc16ecaa739bb866064e07deae1ff46aaf9b4f01ae573b1a5638c63d845e1824fdf8231921bbc449caa67e509b19b44733fe68e08a86348eb901c01c830e3bc19a37b59cbef624e65f919a124abc7d9bdb13271847f8dc04912179c5c4c59818d2f550f024b76d32554ab3b5d1ad9c79d7492e35e340496030ac8940e3b6949fdb7e7a0ac8a5a8ced4ec19b16dabb6f631dd21844dfc0b9aac6565a23ee54787adf69eea470c6e30a3e134ef98236a4712ac2a60f1bcb578090586d8872c38c677df881b9fc2e5fdc06f1b48b5029b67a613ae5681023049b1644e0d83ec77b4a49e46ff9ae7c9ac36b5982c29a3e2c764f18f2fe798f804a7ddddb52e7a8566769b5e23d2d5db0c295b7445fc4a68d2785ab8ec47ea574132c0fc59b36c236931fa468f908463a1343a03a0df3a7002437868d2aef972869f3952e4b1b5f784133ca473f0de9ff5f77f3e4dfdd18945a193fc2d0bae4e9364e920fc58e365292c753b6b1e23126963a8fe5d355c5703b5e2ddeba4cff140ee7c3c80a1b4cc11cea8db21ac6cb0f4edf923d9d53adb8a9d73645579a41894058e86d7511a8dda99e196a51433c56adab2e4ed3340e7043772b7296f6088b9b82be08773105adc6e71c71cadc83afb7b5e1349cef8f99569ea2b3f23a900949ef771d816004bf17abf1decc7993f4b6f620fc98eeca0452d4d197ab3519d0fe7e9fa216b2601e20f70da151d49f24809b76f2d139d0d62b0f95b3e7a92b3d970ce65a0bd9dd7e4019ca59b703ed15fbd8b8819ca302a467e88e0449d4cff09401379bfaae0480a039b5867ab1716746c51e16baadf75a59b3f25e9a5e8d27156eaffaf6b7492c8a0b2c394854ccd28983589f46fb4bdd9ce6e085743c2529d665c6ee1eac6ecc7ee52cc7491681db00d97c8e641aab8c409aab0902464e24e77e424408cd98e25fb8d57f82022cba7b5049f9dc34fa757e3d842cca017d14fb90c7f96dbf17d02ced1f21acfd4e95b3138be05cf75b762b8d1ae1fbb6daa3c28c650e2ff4000c095436fd619d8c5302250ae0470ca6386f97def438ee914bb6dce2600a28af6e2def8b45547e371eb3dac04a4a2bd03dc63ba1a32a90355ec80c5c21a74776f4dc44f1f0236f0b568dd16d6dcc4f60521aa7366ad8109ca4c2c2d5abf3f3d73172583a53ff92d9e42faa63a2fa7d6e66d8ffe52d54864a02c005ca2c2bb98280381479bf7e8422bfce64ad866c220b7ebf7fa963a6640d9910cb03000bfe57af903990e55a10d5d8d766b59ccf5261ff3f4184b900659444b5b10a27463ba8a43619cea8adb8c4298a4a9a7f5d8ba53e9269226a355d120dd0613e51f32051bf941244fb6579d8fe79763a4e365acfe03eed0cf7d3e7c5855d3183c047a3962de4737f3eec47709d059a7af033bdbc2378bc6f3c9006532ce6e5cb7f29fd78f3b02f9ff77d13e0d30d33a4222cb7a1fc7f372d1b13c0d3d7455eae4517631910ceb841e88a7dc4e28721875c36838bc9c300fbea2a0af03bb8cb6c26f0c9cdd9bd872e143fc30ce7cce087d7d08f370386580ba49e23480b87ee50c00805dd17e75d18fe4ace8184d94d8bb1fe1c5f89cfacfb7d7e0392d09599c3daad040c7a1155bd0bdde51bd09c616d9e84bf036af8d1edd068abe0d00c06b95ed8e74cc4c5159777df7bbec9c1c4c2cb145b71ddca7012fe6f0a4706be43b711bb3d87ce3a1576b19d18b1da6e637e35591803289c02e6fe9ec4beec0535ab0f070d9c2546b3747cd2379bc4c3a28a9ead7daf93e3e1052de7a965e34f23499ff26a575821f8198852ac4a2e2f06ac756226a73f224d6d6690a42761e64718a5f0f7e2a5d41b16b746c0b89755d8719f3f6eef78f103340b694abd760337c12494d61670151ba1394671f6261f4ffc7eaa962532f0de6b79e1d2cb8163724646c2cbb1b7d6f7dbbe58fbe66805a5438d9f82a5319fc3a03d2eb440f96602b5c4b71c01d1fae5ff812734f63c14e9e378958483a5334d54ac88301e52d39f8421805c5b24f73e5563dabe98c4ae03c8bb94ebb36cf11a9f06c6a0458e6c2dd79915b02ed88c07264f53541499bf76b64e7281a51e7683ce641ef2cacbcd3551a5340ee59679e6740c15f6fc6c6bf5e1da015b69a0bb13ea2e5d7d08f7085cd18816fe02e80972550a241e4da9bb6f7b8b88b2ddbb0ab79e07c0be0739ac54b70254f6ef0d5b681f76e9dc4344a9aba27eebbf719a9313bdcaedfcc52edc15b13eca1189b29468664006de1dccf28e1911669fab421f4f06663a798be2dc0ff2146f01b8aa59039544e2d74acc80c4e6f28e46cb7cb472e81d1a6e416c96c24fd1638f0bb6e67d4279ad8367d0b322b0433a166596cd43ec30438087ad2eaec63678a496b521b30957ee6efc976eeecf09d36454c20d67e2aa9df1b0c8d5dd43693043e98b8e6f207b21d6e2476ae5f75fc00556dfe92b480f87659aa5cddb82481ef7abd10ab0b20499c38ebbb88d22f7e53f33cdafec443ad059704900720b02c29162165b9bda34858c8425a4a3d0212e7cb6322e00b507cfc94aab29ea7cfd5a7e82a75210c0dfaac785c2c41a9d9794d3d4d1e50f3baa86c9262ec8b657c9e1050cd2c07d1f88f93478cd8982ae60e10bc2633c6b29b5eba28f54501dfd2731e80cf6e968b4c81921d2383d282dff43999a0fb5096cc86678cdd7173229277b79fc5c4d4ab463fa089b42befa23cec0e0a88e89373de2a26cc8aa4799b2d14e325726c4376bd57036b4a312a1458afb911d5e8c541abbba82fe39833a5f089c50c97150bab40d69aac731c4981956276430ba88f1770446dc0daff0e1df7ced27ef90002b047ca9659fcc5d871359643cb8916fe298fe486f105bd7d4b75ee8bd205fa90af4ca808d68c81645eb18658be6535b9a1c0e1a80dd204cf22b640900107a71216a1ecd506477d24366af270662c03177ef99012e8027774b02f7dd56bba97d290a88fc641dd6448fd91bb95a6fd27657f2c061dffdc16a1e0b64b2c67740931017eeffdc9a9ec81358583aac33d8eccb8a005af03c4259bbf8ffe4f22b34e5a5632dc0b9f221cf98488c8a2023d665534c1e477faa9fe709eff64090e756dcc43d16cd7ea583d44c0ffe15d668e88362036c1496b29e9917ca3d680ad2cf82094a65e3826f431add6d50f413b3e704002b192778e93891e215c40465a068451e96d90513ae95f0f78ca3e8f1c29cb09e9f8889864bcfbafd037ee3381b68a484e89920211b84339acc7903de1e467a26c42daecff21893c5edba64626f7aaa84bce69976a670e6c42e227a0745db5d115a34322e2a7e903ff86a85ee4bae1f3666d54504e1e0ccf42bb02a90708bce6434a369a9ddda589065b59465b864ca6cac066f8a467470eeed3d7c87a3afdc6749b86e00f12330f3fb5b7cc0936f404fe5ec125929919032d27702059c8343c34d2b5c32a8b738ea9df29dd9bba61ee17b20cb3fa4ec17d04b4f6fce3b91a7d3eb0fa2a8cf697a5cb8d4ab43f7cef5a90bce8dddca2f0e285c04404f2777352013c37b0bdda32226ed50cef7d70736d777027847f349c519edf7d64346401682aae4b3045fc2bc36ac7d15a9dd1cce96245ca8a0cf39e4db6a2da0bc575ef8c4acb6126060d2695a42412e3d5a9437b69cf1eef38ae5a0b1132d1674b6e7dc5eaf3a85097c20046597935ffe2a8973cc7f52010e0b63f47692928c4f6a07683fc2ab57ff16566bb17cf3044c6c32f840976710a77a38243e75c81ad10718ec8930b77e993d3dac27cead7f0e62a6b022457b81e2f7b10ef4550cabacac985daa4761dc4d29acb2eeb286082a022f9b6e27894056a520b2a2df87b06ae67820fb4bf34a9549e8fcf47d1b4e44bd92018c9f8f8b65d355b7cf79ec283cb7a8c3fb07579330be162a842391469955d4b0fd3faa9f6a8a6b7ccb58f78f5396a43ba2409801115243dc5a1e74f20ac68f282aec0fb7e36cebcff9f7fb97a6faa9b704aac3c563e7c71f33d19677a7d7fb065e6a80f762df8943ce277510b06aa7b5348078dfd9c717f58c8fc8453701c7edf835d493b5b38a383c79a5b4d2bb06b5303ed58f9d4bca529d1e4fcd07bd3901eaf29a9963c78b336ca7abc079eb5996a16fb07bc310d649fa56be10c75b98d137fa01abdee819d4862c8cedc05ddd5fa01a6fff8c2de296cc9731a885ffecad9670513a8b4311eee197bc0466014de62fa44e33d862a32856c6b58f76d451544746182e506719207c316bda48a8114ec1b360e72dfa07d4489f77d52f0bc719cef502148cb10c3b558cd53364d357abaa66d318b0fd7a98c32d9528bb227e8e97456c81adc3188fb1ec2c7dbde10b86d7fca3a25c4f8261a4508c64d2c30fb9b824dac4809c80789fe2c52acdb88afd8e3b8dbf5be8aa39dff6c78c90875a8308d9ec0d017fd5581099861f3ace61b9b869bee1e5c487c5a56dc68b8f9ed76e0b4ac3c33d9d7956849e89c39f907c6a711823a9e5832256202003c917b8906cf393ac7d5e684b6a6583b744ca19d1f1329d0679c4f79fe1c9cf48d79d16a0748457c6a5163659672ebde0188a2cca9bf02c0fa944374a3f7663bac0d97352348a7da93f1106a194e4fe25ae02e7efea13b0ba0bcfba69f31062d6a3e931dea4203b2c881f9b13020ac8d50b02980e619b334d013a32a4a71dc44ffd37c830da3bd82a9266c1a0a9bb13af84d0944ca321f5be2dc54abe35085fb6b679325b9b873b12b19ba23a3eac94f1ac3e612a5b542763531bf5bee898ef673a7d666a17160786b09eb56c06f759a28d2ffab7d6235aa7763204ef4a6c482222291e530267018ed0e75f2a4a24a900078c060b5ca083fc7228d742fe379a5ca1206334f9fd484b2891cc7db53bf3caebc945a954df560c04b0ef9cb90c7ddb06e4b579fdb4c4295dd131be7ae6eb3a55eca9e5fe65f9324b24e3d566e17d7589850282cf393c0ab822dbc3192e03b4ae735fa3b3f964b28e5fc1227bb6e0ff21913d60e180bb013d3f9e4d31aa68a61532dd6141c032e043a575cea6118867398aeb81a96d78e40dbb2135f6b75fdece27c09ff13037dc021c9688d0175abaa4723992f0dbf6b02f74f6e50a1f0e11032d1966b5f6d0690810157bdef0039584b4241a5bef48e1677e1e48aead532b5872332782c49cabbb38e45e5814509ba1475d08a4f5aa86fc7ee2769db723afc6da0971556f67d5cfb89238fbbcceb395b9eaafa5a1452be3ac965be1bd8727276706d59ab22075e5c693de19c05cbc2b7d35d05491da388bda7dd1706f7aa2a0a71bd6f7ae782ff07254113e48ec78581619f8c85b7d923683de5ddfce22d856c46777b50ccc54c5926e1b285cae52ae5f0a042274d71ee577473961bd6c18195881d94e997c5c7c3e08609d6894e8051d12772ce1e26f85d2d8ca6e7b047bcc80545ef9e250466cfbd6c40b445f960db419dd0ca67db87370729c269c9c2206dc550834cd21708e56db075ca76f75b2feb0fc0254df34b0defb20801d074f5b2cd0ef12aa8ab33e389a8706130685fcafa3b27700d79a1bc01f185ef55984758d31f9524a4ffdebb2aae30462220a3c9d7dd3510853f034082cdb9037d8dbf463973b44b33313515e47629bb1ae2c0bad9c97728c90f2d24b58e96beb7e19322a2184860d34723cb379580f380408130dffe39cc6b25dc697808b161126b0c72bca146d80fc1a1d8fe64431df65e9db97f5110eede5885a4def10eb89520fcd118fa870d8787d073de39f3720ea33649729907568ca60941c3092dfcb2db1b2374a84b38af860d2238f6e5502488f12ca4b3bad2f1443ac4b0b63a91bcd5dc9e243128a61bde6d074c2470c33904e2f41d66eeca2b08d737d0fb9dd1f187abedadb026107c29d427aa8e657ef409056cf400faa3739ba293d474e90fd3de33aa3b388fc4ba5cb141a586a1d51fa78c1ccdb688ea32cfbb8150ed35bffaae0ed5742e48bc1fe957d6e51ea14961c3796d1c6d55c6c6df58beb638cf4f7193f53e55a10935de8a4f3d763c313a50b2eece4a0610f4648b8c5749358daba88c6d3341ba6b7ef54f365a1987df5d28cb6eba5e806a0ae76bbd2534291f5f3c43ba9d09a33ecfe91e534871e6d2a2336a4946c2710954528f71f4ad0aef2161c145ae214b0a0813269e09dd3988d63b8667ab2c79e9b8e2a99f58f43710bbef9053d741329c00293f47f0d16e3e3a230150ec5e27101a82a4682747d91dd7fb7d0ae37a7c72ee56014e6d0d509e2efb94e97dd80706482de2219a908b6851cc6ad9652ce70f68b0ad715c450a7d0c0a5d3e8a0bedf29ca970eca977d24abbc5d5a9cbaf9a078c80c0aa1fe7a031c03d47c19e2f6edf2987c307b345cbd3576972683a13a68f93e142d9f6c61a0b557618fefeea93161f5f32e4025ce3b69c4196ad339f4f17726a328c19f2f3ce511af9601eb68c3a1ae9ebbb58a006de3c04a0885b07e1d9238467dbd3903d56716d63bae579ad0e391489d393ddfd414252a8cebce1b9d1b4e4c3a939bfb978b8c4d2b19718b47aef1e5164c96da7086168e3af51ce3103ab214757efcc1293cfcddf2d16ae36d01635d67df0735de8c7a85be549a354c079d88f5374bcab626425a94d9ca23511d34ca97c0f5fe3dfe740550e84afda849eede972b20c2804742a6485419718b9d519987895d68245ab0159276aac5ff6fd62cd114b25372c8b83ea00c3d467787979e900a8c8b7817ed91d1aad843fef848425a350b1d0bc1ba631d0165a4706ea06e06bf9f9cbddbadf6eefb716a82a5069a638433737119b755acbbaa9deee9de53cce68cd319e7f7c0802df78013ecf8005dd6ecf76e7bfe0ec45b7057caa87418a939084d1ce4376076fb1b8884a050c9dc780c6bdfb248e7335dd261150ab7c32581edb2010db29e0329524af51479ebe5286be36024c3b18d97cbb777d3c5d3e673c52980580725d47889aec9d8954ec07c963056a33aa4af9d43398b2043a5b25dd032d33e74da0b4282be2f4c19e45e349ca2e20807f2535229f8fca5f0e549bbf95eeb52a6adcb36c7cb640149b914d80779e95fedbaa4a0cc2cb21430f980fc7fb6305aa817820c3e4b579ad3018225b0e3fcd9de09cdf2626c08442ff5f4b6fb4452bc212dcc5a1aee7797f74f8d9e94139d3e8e190718f955d038adff5ebfe7f41f0c20d8dbef1fb3be23f61a1c6785e15f47174fc29962de698b1f37ef55a121be22dcdcf3df0f6918213b09ecbd48e4e30d8dbaf9516e84f0d0dd078e0818d6ef3fbb419c6616d064dea48efd0cf620087ac7a511ef2a50586c0637a8d8e7e37be74fcca5696795417acb51b2bebb0899b1a0e1cd975e1ebbb14b7658633cda94aaa55793eb180af6f859c552af301d5ad94ee48f673fb9591897d0eac12657dbea58a0960afdfb8a1d8027c402eee7fd6f903d543be3076a9247c037c849c0c4b81b83efd03393e1d093c50dfac2f125fa556f9d40f6a8ee53c8c00e23dd8e93c70a831187156b38701353e1205fafd380473fa69480fcd34e238868ff20b49826b3b88a3d9023840d8ef03395519962f647ba7c977ade180ad04bf10180c0d6a14ae8b52c37a1dff6740dc7b11dc0c34a39dec866880c24af8a136137b91b1846e8e9ae9c576eb3b7ec027ca99c301013d6c075df85a03d8f7c22d8f5839b2270d9b7e860b7cfc5c2beadb457891097ccb8af6d52a00e887b9f8449d710bfe20e8c44000d9f8f6e1d6421ffcff7bbe5ae2c695448d6fcb62479c83eb0bccefa7a0440f56f7a72b1ece230ff112915ed6bf7fe7a0b7d834e0933eeef1f58cb8b2c49857ba67787eb3cc93765e066d535f7bc038042dad92db4896db6170645613b35c939b5f0acd3bad4c44d2d19615dd0ad1e81354f6e0c58f5caace71969029530a0c9b1f2393f7e595c19cc151299255e1eff7cbc18517129d9341dfa2bc18040dbc288eebe7f3f357eab2dd657e05a851a569a7a7b446af99c28e71e1ae1ef3fe945e1949d302d9f75b0b7a09651323232941f2cbf21a497d5abb65222d10af1e192d4498a6672897c6f5bff8435bd2f70c3b5fc4ea13f40dbb7e9eab2e37d0e278412014385b30aa87a29e2861c74207a7722029b12418d39f529dfb890f8d10b73e5507b1d548814c113c84de30037940d3b903a77695210bbb4c1c8704dd01b2124533b453b109a534f8969c0d813abfa1087d78cf02ae012e33ad3f0901698434b8e406dc97a96278e4ace7b468cb6c9dee455021c64450c754d643f92bc1f572bbe96a65ad67225644ec16458bae078260da4d5c91b37b3ea60b41930c9add6e5437392d6836c8839046cda14a42f1b4b31ac636930f1f3cd887227d620415dad0ece9613791fedbcc3e0295000a850279ad796cc18ed4bda62399acbccaa99824104738e6e9e2993a07261f472ebc653a51413d52839b5e692bb29aa12d3b85cf512ef2a1e1783d84f8f705895dbc2f5c172f46d329a54a25dd5b17f80c0bfc1fc2314fe7584ec0f34db94c74b716a8afd7be7271520c339ee10e19a5c2a2152e28c6ccb08bfd21448d02cb025642a0d3a0427f6308efbcb105fbfea56809f55f48e253856546d78cf4fef8ffebe16a720bdbea14b3c0e29fdb515aaa68cb3a65dec87447c4f4bf6ebc9ab0cb7614976c54feb5b6d1d8c53831bb9b0578fbcbf554eebe2b1f9468bc7dabbd16d322e05867024ec08eae66d265d6fbaf8069cc72bfbcd1b444bf3d87b52c47c60dbb5d2c891e747f3389b54770cbc1ddfe922113990296200d4bb8402ae1911fb86487e9641bc4540ad509385ed13c42f4cbf05cf38d724eed8797ae7119f756a905c2063f8bc4d361da7cde2f52cfa24336583c831cd49b53d4a0dfa46d368f7b9997292d9cd338d670b0888d8b0cd382e489cadde3dc6c7ad965bb8125067eea7080eb067012ce543d99dfd40e2210a947d3040ebae4bb9839dabf5c72a1eb10c897d452b0ca1741ac4abcb584c1e2e9e0f71354f53283d2ba1b1d19eefb950fe5dba09c915aec09a6cfa6c01b8e7133a0845e40587195f5b572e6d4766c40a6026d2864959c797e4319bb08be4900c3409101c13208d5d31aa469396351047eb476af29ffe733098972597319acba620b501d4ce0d770a75d154331f3926981ba3b389323070279e2db40bff39ffcc2fa3c4ed9231bb70c00c1c732dd3d324626777c99c0d9a23d22ff97638f56e84d799776ab5889744bdd976efb926763aa9ae5b31f5c0ab5ecad4b0697be18b4b0eb9277d45956ffcca7514addfe4f01bfe03a958a0ffda859cfb4c2c0fc09623628352b478706a3c81376cf5192cab57acdf847e846af9f730f8af13b4da3c24946972cb0012115f025aa1609f5a43eb142b7875870aaf4444db889c4e8fe761adc1d52fe14b677cc6a991c3d91232e7b15c206c7eff5ac5ce66d9b1245f72571fa304e60bb75bd42aa33f00c38d3835dafde398ead1a7e5eaec4ff36bb1fbea718ce59fccddad59ee083f6242e6d077d3d2ebb42559d3274a9d1e8c88a24674071c9d6e91ca382dcc10e604042ee5501631f974811a94e5feddf1f5d659eed25a1ef400a00bfb1352cbc8eb06cccafb71dc6fda48e27f5c40603f0c952f7fc55ebf4ff0e6f5d0c93b1d7af18189db609138d36346e7d61349c665d40d11fb4619921fc55b02879a3c4987ebca38ac0f1e9258c263b86e6ba1bc4169aa5baeb41979acb23f6fd1459eafd68b0d46729908e8529b2eb9c9e8cfd445017462db876987d99e5da229e8020482faff03d0a90e69af573313f511561d1102ba11b6d98a18b1c23f288b5f5bae2d571c691065bcde35e2ccdbfdb6a3cc95461819e0019f146d9947cbde412675aac8539d175c8874e9103c38760f56d9338073890e214baa78742d54ae05eeea9881a8c49860318ed0e49b75c39ff051c8eb64e6040283802cc405344f0ec09c4cf7b85ffeded8657d8765ef6bc5769484144e62d8445be318217ede36d3d91e0209a3fbd444422f047ca990f126a1aa40bacc07d7d73e556d7380b0737a228101bc4fc7d89586f55b55344a5f07a9d093d5e3e34b3544f991f49de4831b9b1b8e85a7632cfc531a880be79c73c5776294f322843a9553fc45aad604d2980671415fb28c6e36b8738a23213dd6692398a30ed4d842493a2db7e67551538d032ffbda96fb6f070fdf2489d3f71b27da8174aa5abb602830161c55d0a21f27cec953e438a3cfff0ce97b0d8830e6b353c5d75f15bc600c7d60595108b7e616c30eb7f4c5f396a9f5f7ba060e7991535ebe473691d5828012f9fe40e5d3a9f03a57ab474986f3a2c8f88d1e4d715d7eac45c84d49c223edbc44a116a97d0b3e2b82e37614b2f4dd4af30be8fcaa6fd7ca44d902bd96f3ea35c4c9e02a0fbaedab698a4324501d5aaadf6c89abde574cf37fcffa85db50eaeead861bfef413e947f7423c867628d7248c8df8492de02ff7c92687cb09cc507298dc186b1b57840a4d40b50eed93a237ba0326a1bb2647f0b570c9fe39af3231f865ef2026c14a3a8b4c227d640fd14f947612a472d5102d95bd142e67309c46f4f474c403c2e6d3c6a853fcdd8a8533f4c2fa1d5feb8de9886b7f0d38c67adf1d626c9a1f58a8a16638fc6795a384db49dce3babc22ee2ef2bf2a9c1d8df05e2a9a95fd47b32785d2186ef6b9317b68456f81dd65f621ff52146e86bfc3312a9cf504650b087880ee7b0b2d8936d90d5704447ef469e05eb8dd2fb4caa389529705305c9078d7ef19b0f1b8cc5a779677d981b9d3c1042c35747065e1e61c0d99ccf184596bb5a2c9e023660ee0a8b3677c9014141cf305b35ae98cd89078de2201003706d27b70b88959dfab5745f598aa218214bf8af61d360caaddc1ea21f14177838448df1fa2f3177d79f1f58f06449e154644ec2c41a4f0d215da1d9512569d5bc3351eb2293c03ca9a755b69eb3efd1f9f24b7ff5cfc7147d89d6af1e4517671dc04bc3942f671b63e1ed7862ae380584e4f5ca1526fe787f690dbf832c66f2d134c135b846810a3ac72eb11ab25970f8adddaf497493ff5d2d913ec7e23c7841f0bd8ba3e74fd9d1b0436b929f093419dea6b837da7395e8d1fafe2a37735004326d54f890b2e641f62c0bd741c8f2c4e81c3156946c614ef3d05472428c5962574390347e7ad7da9395ae7d249ad346a53311145146691454ce1da9face74e05fb22e1d4a4b19d1888dd40dea17f4bf247ac69eddd6e38bbff53f9bdde700882825ed6ce07dbe932a8124bd8b59b50afb9fa22f7860734c34655a6f05526c3629e5a010e33977823142510d2957c8ad888e2294da1a13fbb1f8d234add4a3278befcc12ab3c94b34136fb96379085d8268005c67e1055e2f8b2350fae04fce6af309fff1845d3c06371fe29f36c1fc0b3a3f1c5477cb45d67368aa4a77d22fc92fc46a7ea31bf2967dbb577b40f4c0e9ebeb2207aaa52eacbee5891b804f4c5696bee8326f95e66ecc60f2e5fd25e243bc9e6017275ca7c0ed05ff476a6bd5823c70550412e1761eb19bfa46a1428a3a2a9dbd414e55d77d09e96f604d3d85192524b68bb6e2e87a022ebc3b68c006be2e5fa8b4e852d7aaabac1a9e3c2c8f9c7312575b142f2173944f510046e54e2cae1a425ea5c696d755732b32cb5b760cf89a6731fa5f0d461b708dcca24b75e784063043a5c3378fa3d1f232272b154141b4161b07c8865e864499fe8798c45fa923e2f21ac77ee5ccb43e7134aca39bc8afcdf7a095355133875ebd64d1061bd9daf45a7bd92c8fa2b8c86ec7ea9bd3750ec077c0c60cb61c9b2cbfbf5a3b607dd9e27b1a9e45fed1ab1e2838caac8d72fe8fb89f5a265985026a4d94aa2676b0ab65e5de52630e14ff2e9b5ff32bb4f7c3fd758c70e4dbf6389a32df74867cde393db9674d8bae3df2389518119a53ddcbe52387e64bccfc970367f18ca2aa72726072f20a6d69aef27a5b9ba90d52f4f36cdf9739b1b729219b79f6e62ccc5cf69fb0b19b66a33593f9b53656e6319be0a3a607fda9e13051f74754e789c4a3a720e0f2dd774b9585c4b39f6f18a02224f5dbcd8f17b8e1511d6542ff65fc20ec5038a3520e4d36b7c9d0f2a824d50080821f3255f5083f043dbb2050a9384aeda43d86194886e02b817e71d96ac1ff9dc334ee438a21085fada71dc863c69faadc602c0f84989dee8c8285e417777c8b5b29e41a31445f34ed6c000a997d4d909fb6127a761e03a6e611ef8ca3e04a6d4f88bbad42fa67bc2303909d774d6583e62e39929800dabd53f92724f08b972d91db1dc33460642d77b5d87194e0219e588515aa88530c926917615a606a5181dcf7f165560fad4c31becf7c06f98fb57729c3c356dfb984092338a69ef7a445de4693a0d3fc9e2f7f36e80884e05165dd73fcce1bfc35664b91c4419ff0e8ba032490ab8cdf7c8ff4a734fdea18593ecf3c1535dfb93ac5ff53eca7e46b5591faa618f64df28b6dddedbde6e262cd48d7bb75804ef27d6d1fe371f017c7891021338a72d3dcb4d36f7b9a7cedfd983324e9ffd3916e26c7d9122c185e6df4016654749ac41402708ec975b6608c3a1d5f43168f709f437b268fc80a534397db880f399bc568bcbf4363df5cf2b21eac23eaac2627e78ac66beb7088c90d70cc2543e94f5909dd9627dae7ed23e5f8e7b7b1e853cb25dd333ffe575600ad1ba8fc9848eea24afa195decfb332eb7dc0500881024890a18acc1960c8ebaa6f0176d992e3f57a4dbdaf08ada8ba5edb83917778fb4bbf13238a4ce5675074b8333b71d4731de119e6c8b2a418a5854abbfd0f9bd3472b555afb8cf9909666b7e7501ed02e5a26b7c4060cb27945b7dabaf8f2870e34aa42bc562733eaffd13fa819b6edf84d4fe5d6e466f7597605e4eafe0fe9e2f92e654ec7fdceffd0efb5a9c292af9dad4d9997c36af38e193f1fdff5a987e1bcf717a505f050164ebe88c114cd1877adbbf2ab2b158d4d4dc27322ac25fbe270fd197a86374ef51a47118d36991e086a709405e52184046e5a09c3eca64c7e7619bef517dda0c53571eb0ca66620a74548905d4838cdf037f989df31b61a6116daaf6c0dbfa24de1c56853dc11df8df22a118169830cbfd42b0c7ed79e0685091313a86e3b37acd0363b72be222c11f6807468e6a8b7f6b14bbabc5278181037ce69364191711d6db03aba7f329bd8530e4dad53147710f4b0f2afe8775ccd5bb87a0b52f8186382671e542647b0028ea30faf36b1698e8abdbe4e1dd89da2c18f43db58389dd723fd74b325b8bc548d859b3155fc3ce7bf8a9a0033bf1ae43e1bbabf7967f87996dd33a57e9f5a7e9cbbd5a1fb4c318e2bc69b464f3f059892aed9cbfa66cf4555335c056e11861f58f9fdbb8071c8a228098203a3edc84d63a9b4b7c68cc1eb42b865b4433db245a08416d110ea90118481699b2747c6cf850d0bf77ed78546c2ef697d65759b6cb5ac54edfdc66523a8d4c5e24ca36903ff3140b7a7696b65a59679815567276c9ebfb98de529cab56b4c8e1a40ef7e0a6e1b08ef56bd32d5d1b932a696c13ec1a0bc14ace64c95b38886c817a8d3f60950660be126a733b2fd493fc418c52621cc6c309fd8a1290a8204313e806d22387046e2a4cd12967a88d70b033336385eede393875cc4d7439b3e3525345a3bb6672b2bc1dbe206d61b549c8e88e2172b41797d44a23271a92b312396f0e255e6d41ef74fcfc48d1e638d515eac3e99f930be5f0e24717feb8a8bdcbdc515bf6a1e4342d62784d08ad9b3987a35a4ab8054100e5b666481120664f0aa4408a2aae04253242473d9a9bf2070cbaa2023cdac8630a1d01688d35ca8d31538cb98b6b4dda25fcb745abfb8d654447c91a906ae82cbb8154d617a07a599b4c801f6b3858fc635333876962e8f97b8e199d49b3e7c2e0237097595b86f2b7060929a502bde40448ed0769fd2f29b9868a836889a4d64e37d4e211ac10f42dd6cdf2b10f8976f132ee15ff4c2f40fda5e7abaf09cd7c6637adde5039c19afe99aa3c9ecfc5d825469d1232a41ba5133bcdae00b0e75bf973734f41560b874fedaf1df9f02ccdac95b7b3487e2f8e3c9bd67c18029d99b615db46090f42604734612cea32bfeea439960a3542ef947daf3737cad243cd29df2f393cb27c8f7a17f2530f01bacc7729d5568e620cbdaf1cd9afa850f85eede100650f780737586208a08fb9382b9845f13483f9f66ef09c0c028992a614988bbb3a24f96f2e4b38514088656ba2b1242daeb77f3a1d10fd4ddaccacec8644adac624b9f1e053ae4e31bf856b1eb18979c352696650af624916b81777886f9cf504394504c123aaa361b8ecba2add44f6e2011a4d7ec5dadf1c2642f359714301c6718f27249874c48bc4efd78944ec982d6fb6195930bcd93bc01895edc4aad9332401aa376d3afd41968b578656eb85263dd9c4419349a37609dcd8bf1c2187298acdb63169838bdc2c7e76c1ee3e85c68baacb87bc2b06ea3f88a6ddfd4b9577d2df64c58c337921f17b1a5c73d503602439b64f5b820ca18572a57b2d58f1b7e07a6f39333bf477f59865ec0d063eed24780c8b47e628c37eb29fdb7caf2373929e0e63b1281d281e440dab3fe71d78757ec08e0dd23d0570bc1ed8782583eac1ff00a675b76566f8d1a48a720c14422ac4b3be918345fb5121193adae105fc5aec28396bb99749f070d96883be9d7afdbf18e8afd145623c58f11db1203ea97dd417a80ca792d96199261fc52c93f7c6f52ef2c4d95cc85f1f0fd6ce1f0f981a1081e98e4a4689ec065902a713b06b48e8fdbafcedd29d460598c94ed749b82fcb25d7de427ab7738488f4e2621cb811cfb0ea1d0286eaab935710dcb81bab1c20ed6900fa8636df55f8a2c4266bdda38d7419b5d970f5748fcd32614ea5df418c0afa62d4047759aaf1b6efedcb05f103e38a43939b5a2f2ca8690996cae0b60594b544b740041988f3ad7f76431d4b909c11cf28f5d83031f272b0e01327b645cc3f2d9799b9420d390097451f7c0428634f7869b6b952ac76324a6a32238746f23f10f8593f2b5e6c13bbb75880bb601b348466ebcaf736ee60c3dd9f47745739ee96b57e035a2b5231524e0cac9ec6c047bb1da06c932bcb930ade67f0bc8ce4e89dc45b494ad2f86a46bbbd1926f5821c616f304e152d849e016b46f98f213af9067a267643afee3e769b9b617fe240a0a0c0922f08eeeb49f4699b57b6a8459f54f44eb904f7395153700d8f3fa4ad43ac4ae55665c70e87f8de93bdc3c41fcc6266f705d12b4125cb7869381a351175f6ae53cf3e12bebfe20dce707aa61c01b5bedd17f39641b084a91d4f384bc383e3c9b74e24e131952b37790c8d24588703cc97f1e592f910f17d672cdae90aacfca256b845490f1e2d73e8ac5f08f8446813b1cec9fa023f26eaf609709c0488a72f00c13e9aa4e378d0d5796aa485fc65f1d23b4c6417d7275fc9047b40910d980ae0432399df386109f0ad1ad4222c00d2c8a7d4a585214174fdd4c0e0bf515c7868ffc6ae0ddfb19b7eff45e89518cbc9a9df44de77fbbc9de73088739fef52050a59552c4fc94acf5dcada7ccccc944d4a516191010b6a21fe1a2defee30ecfe878d6018392341eff365829109176684f8f5443cdceb842bc66209f90f24d1751619e02a0a3ab98635c27d1909802ceff3d8827e30fd12a5d83c50d610cfccab7a5738a157ee2e3b5153f603184e4081afe3da155c00e6eb29471fbb6a3198703aaf6f377d1ade3e9b67588277e82921f1acee25a435183718f4d540c53c4b2b753bfa81c2b0f730c3c47f8042d2e7fe1d68fa3be3481e76538994c9ccb6600414204d01885aaa863591ff67e447da851e75a34516c95dde9c9e184e5d80db53730a37cd16b88ee137fcdda81de8b9f55ebd4a181c5ce725420d33e10e2d84a17c76bfc9d1409484f5ac7a112762eb2cdd1858a9a6d49da35b61d58e33ed48e81a67eacc835032cfedf0ca2cfc2547e9ac463463767bdb21b6ba8628cd444d52fe6c166fa659b23f878723e12a0d58911a7d3d89702156eb5a86c600445bd67dc9b4e7b8fddf05065ee55c34fb2e6882d19163423ce2d66e52b5e22a8fff6b226de9130954519381fe55c25a6c8163bc350887b0347fcda67779670075f55ee77855c3f7b3bbd820d9099cd1f48e0303423e7c98c55a20015a18a849bd01e902b6b74b20a53a5445b48d7a8787daaed8b97c86d4e62c9f81752afcaeb2e636bf317ea1081d95fc7a57372f7fe05f03965051c2f2597808cc343f2009c67a8147c74f3a58e425ab2575fa80143ec1d5e61a7f4871f1cdcdf278e1a72f498292a982df25de1fee495775efabd03df5b97cce7736c525e546e1832af4bd2ee801fe7b15ebcd4e4deefd96d0adcde040cd612ef165e90c7e244ea35e3e8750529d87deda6d07d738d705af2cb5adf975469fa3ff2a5b14422b02b1196f85bcdbe507cc14bd79fad419c94809c14ec7567f653357e4220a96f6c4db67d3d55fcc69371bf5e5d60c9db244039be836f4255e1acd6c09920cb6712dad46a97ab8d6f4e812e02b45584d87057dd20f5374528e682ddedcb7fbefc1a1fa28be71d455d638445451f7060ac83f11c53c690fb0c4ee192eaccab3f5a0630a3a1e6a89fb97c636702e57807548d44321a95bc1d21afc2f4efec636550cdf3e4de53d3d3832f6c14d1cb782328228de4bb9d389234980a0ff02fe3684a0748bfac4f8c051ef28ee11c343164334bda2558b7b99a90efe0f2c8ee10e22a0ac53d068565790de4be84d6b540d411028a7716ed043977a9286569b0a7c82ad1f09985ac8e3b850216ad3df17f056b2c36827e73cc5f407a7c0afb781d066a5e0b1657934cc717c0a86e3262dc878a22150e8195b693f7cfe0cbd8e7488768a76f0e6d432af02d6bda72a41cc851a0ee39df60bbbb929150479e2de4a7378044d958ab3352684db9618592696e757d1d80be6e96be949d61899db7bff3489bbb881bf048084bcc9c831d68d0f46fd9b550964831e0c73516033ed9606ca783778cca9840045da299f2a85faa0a1a6215088572fabd5d4e25f25d9d817a00523910ed475cf2f388524a566381d0ddabb5f356779969b37d4a96532a718bd25c534114439111f51449cce0e53c3ad33ef17f50a9a3cf46f62cb32fc8028d7b9cf283a5305440894d47154d8e012ff6a202e3efb301b560721ae3d585313ae2155f2a371361500b329b725577171311855164b8c698d14de42a76fc7a82eb0a7d85a867c9ca398b8d23068c068bdee7833be4a9dd199b6da270b5a5bc9d7af967c6829fb99e633829f2b2585c31c9d519755e3ab0e6f5ca9aa884ca850927f49f653c70b67edcd25ae0372b0eafb15724df814926839ee850dcd388f50fccefa92da431044950b2035218bd8df2907b320aade78ae663d7415a7c51a3bd05c0b9d29374bb4354867ea2ab5c12206136bc4101509e2a512daa37a338fbf467953f7f40f642005a8cd00425ec4fd96c85d15abd8afd455589ae7a327e283b5793ff7bf95f05c254390068a60ff3808a3123b0ac882dbd9f478d47a154f0216bdd79f5e3e4c5ec176945bb10f5414eb21bbf1910bc6a53dcef2f4519224e80a7185db2f49be88b98ba58d0f335e65b550595c66380be8459a02874675a3c862613a43de1be4c17371cf33bc22b631dbb6fa12f49672265c7906dd732b01e6afec02a9c81ea84fbad5caeb263af4434e3e482773cde3e51ad6a4944aa5499f95b7eb99e37ee8e329b4ec3702ad68ab6148aba18800a8e345fd6f5b9c0b379e449050a37840309d7406d28309bf4c1e43151ff15f238b930099f07fd71eeaf89983b3522af3e36bee5bd73207f849eff91246a1ee385ea0254d45adc0469200da2146cddbb75345959eec7de2ac51bbd327c27c0a0e7ead0dd77850606df7db263337c5e8b62dc505f64b697ec992c8aa77eb3f555a3f3b859d951de0db484df9e6f35dcfc3f190bf5f2efd219aeaa58a2e1c3b8b2b425bd74ac9c08f23e5d9540923c72c58e4fc4d70be8353e8130b107d1d6d16eff987f61b021401c089f089e544afe81ecbaf498b2529271b834d452d82af6b5a8bba619d7a06a5f798dbbe7a0f6aec23585b98298c9b162468323f1389b4a3f94c1f624d41e529c91578ccac52e5239047130009883afb34a0a5ce72dd1d0e2f13a0b8e28ddd53a6c436e3200c1f9f4dd03d3a6f89ed881d55719adac20bc002ef1fbf39aa77830cb176015f4ff83f8a763b5f35fb8dc9ad440b1dabc0170c8613f718d54030177f84452c5f8bcf48bc935ea29d292e675703d785e718e4f97f6e671d57025f60212058e12c56c9a34e3d95c785d6f2166c50db785cf46cfc79c2a66e3cb7192b5f3f945888fea54a50ac655c24677701610a5f0e4a98a9e98a415c42dd921e4ecceb21746334af904fd1e8f58935b2b4143c3cc6eb26e7db3a0dd17dbb6a04383d32223a6004676624fd372e3353bf74148ef4d0940fca0d7d949b6f116f5395c190c67ee4d7a01900f64c6a970c867aa4cb978e6040933c83ce2c75035486b6b502b0bec0f50ab854baebaaac9c86eedbc3e2876cf306892ca8cce4f7285176afc6a2768de0155bcf3c2453e8edadeedbfcf129b71b6dcfbde2c2b78561980e49d71381db7eae90896bd5ec77b4cd923f1d39f543860ac14f829ff30f2dd54f332c173885ce37dcca60eca9ba30954d20df66835212a89b9c66ed8bc760e02289454b27531a0782bc967146b2b0b30846ae03ac7319f2b4d79ac93dba37d633a0c6f443db9624741b72403cb96771796ee34d35b67a14adf325415a0e8abd414ac32b0587b7924172d948433e83ace3fae48fe92b0c67975a3bf122160c49af3d9901b4bc366c5e60741e03384265cca2e55f52f8730f2530cece03245deb189128655b29bba4cebac0ba226efec9711215ae5e4fde1de837dfd6ed506e5713b03e541a14d6c8427526f51a45f34d2a8341a63e92e47c9e5dd2871f3cad5403d9a1a4fa4f6639e1b0e931492ad342adfd0e61674492b87086b02e26f9ff5a8cf030a0fe4a1b89e35d79e7acaeab2288abb67a4ceb341c557c037d4a4cd321aa56aa8cd377e45ab1725e39cba866fe49ea40180d152b8523ecea872a6785e62a45955d7e88fda3b4d69e85cabbe21c9b184edeb5c33240909126eeb899d88ee4efd6b5c99466e281a79eddaaa14402a5268941035c4ab6322bf955678067a048269cda1a8a8038aeb657868dc512682d3ef75ff94e851e5c5d41013211d5286138cc3cc4a46703ff68cc0ba5696320d6df0db67f628f46445b06dd0218a4089cc75b26dde2cc146ac40345bc376e438071964fd3cc62ca7682945d20d24eaf64759a350631b1ec48cc4d860eab0b15c48c4b96f1ed827f49f578208d00372466279a30232fada091753cea68fb54343d4b12d0bc2955315cdf86a31baaafccd6a1ffa489d3ec766de6b40d18eb5d108dde5b9111ffba017e6e90d40d4f6eec46427c728ed7457e6021a3504810eefba90259669087c678a95cad60ff8ebf6d01f110edcc8af2419946664d2d4f9a0148db6d036b66cc0113fb5998eb253fa3a318438ecf0fe49661236a41309af60e7a0727d556a21196db88b2722b6962c8644ca0b42d9d2b771224e7997b4b7050bb068df294391abd3e1a219d18158a80063c567ef1f6d43c22fb711bba281c8f71dd90be29bdd50d66cb0c00254adfc834a240d16d05c137dc7711b90d5557bea99b9790b033b9e615a132ef946b251d91cf1342c6f58c63240ee83092279bfe1e46c7b76eb0b38c0f63e9cad8f94f1af5f82b3509358c6df2f53f72e4bc08314552bb58980da93a062b0e6eacd50c3d547974b998c77e3fb3abf8950f987e0db79a0899097c6ddfe8d4d9ae83c8a21b02e945b9446f9a38036d60db8aced4a024d1eee782e4a58e6a74c5383962e9df04f7933e39f1e0a3de6c0822d4c9e455db8e629274c5ca35dfcf6feeac8c5c4c172b96a7b6b2f6f9cd5a2b7f59d59fde0ed2a78e8b963aaace4627e5e28f7d793aa3fc9795dc263302b4e2053f112e768ecabfb7510d131e74ec29f820619a9fe0a189098222b6786ae4b6bc58f2d073f5324c3407f5a776e9f3aca5be135905545e27b0b6f2150c14def54323eb410255091defe36d67deadec6b8833ad3e9b6cca3d73017a92f360b4ae49108f36f0e6aafea1951b072908b84cf8ce12af0f87e5943e857efcdf2166e63e7f121484f85de896a3268a53ed0f869965b9ed7febd9c570722b4dfdf53d3888ccb03952d064ebb605720e1c7a17aa27d7b1b8ef4b3869e1c440395b0915c19d35d8a8f25887aa9d54d23472b6487ed424f47965ffef29baf96ddb3404ec501c224a4003538d76d3c109f9a46ded4fa8793300fdb25580a90193b0e1c33259c6f7b6f1a04778d81c7f078215055a8caeebe1d6b8073ffeac928285fdf9844e587b59a45920a74b80f751dd6e9e1bead804cbd22483eecbb75211eb37039fbe7bf1953a62acf070e703f0d7735342275400898ed2dbbec259f1899e16509487a18c563ccd7fd47e0e2360955159b13d78c3c4896ef298fea74604fa5d0fe5600f7bb0512ec84692380af5cc66e61112ae1989a371090ff4b827a8f873aaebedfc078fd6f6089466938b3deb0a20483b8c7b2c6fbe90547bbc1b6e00d96ab5c057bd3c2b02685f548e24abeeac6b2afc249857dddf257af6d4b88dbe890be87287c9dbdfe58283b2277083ec91f30eec3edc746f0594993c4c617a5d1186530591ab19bfa1fdad1354dc3530b8c3d7ff8ddd53766621dcf04fee77c1dd4efd45e32bf1c53395a0f036c1ed01dd70b43cf4980339d8f9b4b7eb618f8a18a791cdc82c0c88b7f3970483b172ca4b9314e50c030b2d15b2903f2bbda1c7fbcaafcf3f68e4f4ad791828d65a7fc414fdcab7143b12f663ad976b1d80bc9f1f5371a9e0b5a119525989ab71e739a772d46aeae9f804734c4946f9c5e47f104fc65c036f639fd47b0f90f65434ce8424f321aea7c82aadeb06f22e31f646a57561e4b534cbfa6ddad5d87a9248225972d678658017ea8c17483ddbc47e9d5bd1f7c2432893bc130fe5c4862c371123b8351f3860d36c02c961bbc133d514a0d8cfed55d1d881fe38c9ed84ed1f172c781c1fcb1d30e5a537fc1767a3da92e8a36edc377f25b3fa1d6b90c1edf00f0379a34a4e09bec5a01dd76ee5e76ccdf25769c489ada4a0d3591e6ae1815ddd0ec5ebe45c332a25251d5c51dd3ffc8461781ff2abe39a7d4ee9455ef2ab8d2e92c7fffaaedcb692bb11cec2953baf9b7f9b661c2ffdecac0ff5b49032fc551bfeb1de079ea1baccd8ae91f60a2908e783ef2da17cdf8bff1527452f259fe0415cd34095b9d3009f50efd83076df1a523a7fdff137ec001e3bc3011ee9cc152b8c136882d63ba3fec2e5046d66dc574866c6b89676f138b1b99fba480b4d34e3961c3679cf47a1f07e3d60505e45cd0fa2b75a15af9be8aaf1d72abb4d2e6e5032c46f43a4beda6f217fa44313f50354110bab9b550d9287db1e6816c91345f93ec8cdc53b5cff2055f35e770a5ea33ab66fbc518662bc8f2f914f1a4ae60af31d5e6d9fa7f9bbe008c3149a2d2363e0b995f60160c86e674ba5136486739c9f2d892de462e1ed5505efa7964cf8f973b56f8b73710f5e4f59b962642be3f5672959fdc97c7544211309b54d460f47ca2533343b8820e2e30efa4073c943a46ec5c88b997ab6dac72c00652249e7aa78b617d06af0c8277fd28213357a627342b99663d27e08bfca581741f0160822766a9880e37030c774fe49b129d20e40e8c3402c9e172b9f54ca080e2f09bb6c2341e4b22c6731c8d3d4727a41e68666bd216a048ff25e34e0e3cd7a803c9e4f8ef18ad5aecc2222912909b2c7620d3efbd745b15ccc95efdcc4a183fc569cf2fca4f1efa6e01b4e8842899db656f90d95f378a6023af2f3e2c43ff4ab1108312f22b42acfce1e51480923071113165bd4bc1f5dc1349c185d644d6509a4eda7ed40ba5031ecc8546f0a0b00d64adc4f8253cdfd864de49c97f97548cb5033326c27d91cf553d9cf35be2d4c1b16dd0b96e39787824129b083ef31659d6fd9db9ed73d1b587d4a849cb8fb7d163b4784d2e72fcf939074e61563de852c880a29570fe4b098b3969d6476a1ca3825d1cae7a3b591d36d352db3ecca24b8fae2acec6495c2d76b221d510dce21c23bcc5829d6cd035a8c82df9eaec4e2e292eea3a9cdf6ccd3b3c68c6a5174673c8c2e03ca61e924436e887324892985dbef9e05eef00187b3b4610c811a9245316da1be0ac2064b656bc9ab7cd8a8bed39bfb7fdd1984fa3c7f39b8175ce6b12bd004bdfbbe4f45338232cd15a1057e0b31344ffcb52b90f9585d94e7fa3fdc186f1d6257387261ad6a792190c93739ee4af42bb91747d78f008826795f12310abdbbc81c013d9c3c21448edd436f9f73476b0278c2f7387bf3d9d742a6cece887cef55575e43510dd8f9245899c7e31a1bc81bb4bd7e79e0727d3a49dab0d9f3b43e61d40576adbfa78947626dfcf09daedd7a872ad47ef430e6f82760535dd3390ccb06e76c4198d7d7cff10243fe753402d850b5e8cb30872fee14f7013e062802958ab030d3fc7b0481d92bece66f93419d444c31ca1f35fbc63d4ddf5094dc04bca28cef27ec4a27339a339c6e23e72c289b5b61dc7262a47dac18286925deaf5aa554272f452e3d5dec3426acf0d0463b6e6f594da7f949bea7c39b0dcb1a97e029c8284cc89b779a3e8224446fc3ebd49b46f46f3eec34c9baac4a46cbc43f7571ed3b362410c3f785bda05dfc45c33cb117d023a47235db2a4cc800ab9e1bc9ef526e786cda14234768601696a2b3a0c7a9b821b95f4721826e52e16da4bf633419d48288b2275708d1015c6a93523c561074f8839e62a78f0d91254280d77514cd2818327cdeef380647d8cd0c7d2ebd5043a54f3926724fba420cf47879963308becd1a05e43c917a15e035afc749bdd40dfb0e55a1c5f40e4ba19f958e04f0736b26eff2c13964563d16ab6b09e828fd5893b0cfcbf47890d10c2a9c1bfd38f089060047a247f00ec3e3bd8dc999ba0556c027b1d4d375e82b844f95af5072a556af606118a4eb1199e07d4d5f3cbe45181a9db6ec505ddbb405a370e5165a3d7948e7bd659981527ac4a4e0d54c2272cde9579a281ae9106b033944574f3ff1cdcaf9f58920cc07b9ed7837d799efca4ab56a784b3e4f49a44792212e87b59b21894373a36e922d5af6e5e783a1e81a695284e29dffbab96000b0bcdb0611de28779df10c4b554f851313a5933118a3b90fb9c7b10b4447437a631fd138cb3a78cec686ecb1c3ad011d6adecf5f760e55ad359b42d8cdad13b91fe929b16efb7c7bf6dbe57527b07af5c1e2e14cffa4b1d782a44a48d031857ddbc66351a894ae245214d454d0e9ae0e7a5e0b56308ce4f1b4efa3c7d6df6e2a5d328c91484447a57ff050c8237176dc3ae673a1601a0aba52da7f1f2ca08f171d916e6f53c49573a11c326285717d4de33410866eaa48da9119199a977a13ec1b4c69f9992a56ffd17ddcc3dadd6b3a0647b49cecda14b1eafac64a0bbc946f08030f57b23f0b8fac17f656c92d4509dfe86dab3d39bc9cfe5217c197bbb1c790a2dc1710c908b8c82bb1e1e9e4f9296a0772fa0820baaa1dd16aa5c758d68cdedade1d9208cda119e7c3a6ecd577a848108e77ab61d6187747786ba8bcb1a137cc26348ee86ab2cd455408e090e142d24507254a1ec732dd0157957f8beb5536b6735926776c0d31a307c2312f2adc7849f6bcf4a1e44ec12bc0e45ab7d21f22b0b4a585818de63795e051a2005372f8e711fc5478d5fb412b5edda5f81f2ae3b451af891b60fb5ff913fd74abd66197f1917feb9120f61981ab6d01ab0b32215a1a4ba9c3ff9508b2a544006bde2ae16eaa4af1ec3b569e53251a383bf3e6e27b302a5ca95794c7bdeb828c4f4ef528f9e68232910324355f3b4df5a7e7e2dc9c7c2433f790a8c86c83c2689573fe71c0bb11ca03b0738246be563330ba1a8bd02ee979d8a2d35055c9e9bf53444cf9143f7a29a944bdb59e6a6a3b5851fcfa931d7c08257c8b5925a5e41c33d2e6d7f8256f685c4ddec17e5a02d6f782bdfc75a156489c084d39af01171165bb235dde9299fbb021201b73509e49f3fb588880b19cee1f89a094a3d441cdb8089696796d826df7eae428f7436a9c75a58b2bcfb02ccd2a8016fde74cf31128d9871e0d7a1f769c5afc9e9338d600eccb520057989a39da760fbb4d720f6b0a7c9d7481e2268b8f9a188f678c76a03dac862573fdf3987ddc2845d397e74ff45df9d512a41ed71aa90da36ec4aa572e4c819cb9bf0bd5da9e900b808103b9504f8db5165e5147656ca3d588fbba4eb467e470dacf2f38ea00987d2c42e3696a62f3fd9fdfaeb68dedbb50077669153a88b95f395efaa82de73245a06ee5304b3b2ec1ef79c88d3b8cda82fc7db2d91350dddf06d893498c522868b29489062347e8c0dc293158e8993ca91252da55f3caa7502c4b385c874cd6f2b10ef73904d6f04fe58eb022c997abb4d08182538b60c223e0652a51911e018270f512795db82f9db18b9e746cdea5918b8cc0d641a1c6d8a2382f72f310480b09f6f781405765c6f92e6ef5bef1f87247810ae8ecbb20105ea6535bdb234d2453abbc3939eb56cc5754be9d1ca3be1ebb072e019a33c358e3e9e2815bbfa6be35a62df053caba89a0a3d1915aacdeb97145e985afe8fc57ef96f51b6d528a7edd27c17ec002b13358d877fb39b27243e769a6348225278e68db603780802e6574052e5a730e268f3d466ddb2a1cd391d358f7ee5944b17c347a66558f8a579c92d8f799d17276c107484779ba56c62903e7775fc95c1e36a099a2d106260831f1a389a5f4299ae1a8916c5542f32bff55d95b6e17863e3d8e6016d3f27cb1dfd0a52c8e04e756de37f271575d9f8841204cdfbf4fc36b11536a31b3b6135440ad7edb76e91d0892d749c00d1d38cc1a30d22e52f3dcb4e5468bf525677f3124bd03c5af88985b78ce1e9ea04f1bb6707c8d99c1230bc6853a60d274e1cba1991e8fc1b13a43a1054e381db78134958ae3aab8b8e8f62978f3a69c3909cc9219a30004b0fe1532d5c8b4d00e57ac4b0cade4a134ef82bdf1bc89c18e6ed8adaf4fb9a6ad950abb4c4c30576de98169bc9ad2ead20fc5b82f0b7ecda7bd0535d792269066f8f941e59218ec0bf952fb218a262085c4917c317bf35d83f6db184d8824c78cfec490517353262b728469a1fd774a64f165c3394784d5c7402be54cf2633e5b9a72fc953cb21939568134572ee17645163814debca4b79cc3432868819357360dbb25e9f6ba85dec859f6ea3ebd33ac1f4df33ccef4a71dc54e1fdefe1a299b69e189db2ccdd2d8f051238ddccbaecfcb62f5138799dc6a393d0499eeab471f090a9e0d172150388765f460d789656c2cf21b86af420033908a64bd903312f669f78c5d0b6b0a4e5a2d4c114a0a0391f443b67172f507ba8f1d44a827eb43624bde66e6dbc2b41fd8c7b09774dfe8e33e792f39067c543e9d331f14c667f192398dc072e05a157fed2d9c2287215c2af4e550cb740cd231142aff7d1381bdfcb46e2132f298717ec102709adb978078d0b30bdb99dccec853d186d934f5cee44c7038200c100b642d9c36baac7a33d3d20ba880e8bb811397c5e78142632d24d0c8ecbc00e55e0b37dfa1e4d72942be81b98e23a64613b5b4fef422a452780f3b46a3852019d6665796395a86de325e8869ea3b37b314daf2060145cd6399901e5355a54a38073db4011cab02b7c01337b662ca16f8e37c9919981ddeed92b8a359e96d4b8e40a8ba7db86cd87fe951ccbadbc9f96f4c046879d3ac882371d30c70db66bfd5ccec7d92c1466b5802ae68910e2fcd29d2b2133cf2eb2fa1034acc8bdeae464d9027e325868a19325777f04767ec01b9f39b93c54384038a5a8715e8a5b17327bdae7fd6ae5c05dc083cfcb1e010d92e89fccda7a94a368dfee9d73fc2bf9236927852d5779d3423f37033d3d4f05588bc8676474ae3b3f1b43213486e9102297177092fa5c52abffb872e658a03644735de734c92b61aef40b69a4a5268da2a0ce182b77f067ebf864f6e2434b295de7128447c54cc63a7cc91cbd2a54577fa543b9818788e871e1fcb9c7252985fb22dbbce892b462b9793958ed6835ef696132373ac13089d7deaf898092e56374a8b67bee628c3f756c78b166e1733cc3c4f5859cfeda61f12762995cb43ba07ba0ed6bae3f4446df6eca8f34f95185ad34119ede3cc805cd4a557dca451ae4128027703acacfe77f5eefc61baa94a83f634e51b05e6ec6871ba8b3bf510fbf210ab4afeb5ba0437b715f077c1cdf22dbcc031abfcda6a6cbbb7421794a06271c3292abcfdc4cb982209a6becd38865e96d9e28437c455bcd0f206db412fc5e25cd02c99c9f5c90fb05b8f84af9b7bde9699e831b9132c0df40b7b261ce1c4890fca1c2c951d515df5c5deb1e6476764787795ddde424ed88c6356dfecaecabff1d963b68337c19b87a4c31b96b21e9ecece9c6cb743bbc41d4fc9ca28950c650e024186dbe475061bbd36db757ad5b841b406553ea62301f74303dabdaa5fb7e652f59452612d2cb88e196221ca27979a38bdab98eba4ea644d6c208a88a44a9fd25a790f0c8e2c0ddc7b03a7c335c7c403d4ce0ae0442186a46cf19a7829cec950dd55895943430ce8612fb992c08c72515c29cc544fc7604d15f0f5e5e6dcda22d0d7f009d7270747c39e0e58f4fe2a3477fee25faf311654bb2b748d6ad0bc86f6b04889a6e58e5a65cdba71b863b4135c115753407a13ae0a966f39420ce37da57bf84cc55aca2bfc0dc3cebd760887703161be9b3cfce1449e52b484f5dad9ec125317ce33177cf4d0b26a08e222ec4775d85247556d478f3e46c52dfbdaa3d79885de64925903c44d928da6804889deb20a55b19df3d8f94daaa296127a18ef3da1d20ec3b5b560b704498124efe20f6d385a8023dcd47e75e7d16736bf14f489de1db3c9ef7ab504efad3a59cedbf303a1ee2e13c1a3b8ef9020f299ca73a58fe04356bdaf332b43f737fe3bb21c06b640949fb85a8e44189e8ca5c7b0b8cb744d9533bcc70e632988d69fcaa5a943ad9ab3447092b187446ecefb7814f2eb34193e2de6aa0d5e4cbc950be542a7162fede133ae04a5f9e1946b6eafa2382c641a5e9c9e54dc20bc17c4a3595f5a08f77d160873a302dcf13f23e14d91d89e0ac6b93a25a49c4485c7b03cfcb15d25da313ae34e4e82a66f719c2ac1bbec65c010aa2aacb0bf1a4401515bfbe1964daf21923fedcbae197b4e51fcbd390c73b2713f5f1d77bce4404665e5f4557e6ff5e2eddbcfbaac81e0492eebbbac8fa45ccc38271b9331de4c3379db037bb72c974c6d0dc3646f3a8d4e521c64f9d1cd8c0b5ecb6fbcc600fa2a915672345a79509c614d6d622bf1ea8a4fdd4cf9f8dc90c2e27374004c91792d78fc0e79b38bcef6eadb7faaa701f4c578986e0dfdf8746a315ff47ad05cb9ee8cd57c99c08bec7e2b616e1db7d9bb822436a11478ca5bc80fe700230b75169750e14726d5444c2a0ea90bba798f46a196a7d5639664cd3585637c1741715ff0ae44cec37f37bfb34e1bd9ed80d8b5ccc48f0d54b0c24c75652d1f1fb673d1247d1594be01a03ad25c33dce205c0b1731ffe603f936732d96a4adec5b526fcb065eb6d09b70e1a939e559e8f7398f5fceb02e744eda619460e3da89b7e8e231ae2b031b926f7dd46e6d39a6ab9573352b7414df564ccaa39997f9a3c550a18e6a1656f1bb90cb7b420010aa8bc1665fc82079addf1d41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427e88ac7fa78f666abbf30476a139c0bce00856aaed73670db8fe03b832e27ecf94d41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427e8626020ef292c578b6a2d1f33d3a8491d41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ee2a973235249a098b34c84a266aa0a1e1c1c8385aad893de1d1f150db783a736610957365490cbe9e0f5eb0eeeb306f02888d2ce2354a67f39ff0d5060ba2d05a70ea53dc2b99d8807e7c98f62ae6131c18e1c878894d29676c9ab486a9a2b99fc9bb11e5d5e1f3df0ff51695a8e9d0a5e0df59474bf7d0c41ac997fca83812c2b4738b8e059ec568bada933f99db59e979bde8d3faba3d28c0680823ea726466fed991b9acc04cd6a35ef72db0f261191f868094d850bf6043c47e6695329ddb1ec7dc66cbdc846962d6325d84e95bc56a7424910cd7f975286b63834f8f70dd6e6bd4789fab1fde3b96804b554371be8169e29c6a727a71bb7a2e74d570af0d113e5dd2aee5c9cc0914c3963b6a65d4bc7ac99595883e729f28249312057ceaf2c04bfd6b499fadfb4be8a3f9b77a771e3dc18e426ddf7cc6889be689a7a047f0b3287ae15e4ca3acf63666374f03c0f085b5f6ae1351de68279c4d163e08da379f36734dbb805bf55675f05bc80cc7e4d355d9fb6049999949c88ca2a5e21a676d83cb9fd24ed8b3148fca0734c157dc5292aab9cbd761116ea034eab7daf1c8e25b2466f0db606722b882bae933802df6034b57a29beb73dee8ac66a7e9a329a2e6730476b66105e32b9791e6682acb8bca9f7aa23c7693581c52e1390ad0e05e3a61a6c2be1d2bbdf32f4060b07c49da5962302e468cb20bb1b90248a8d23c12aac51f62a2dc9dcab9b00be9c2b2c84219d59c39056a32abf86acaf709018c7205c887d7c48dd134fc10d1ea7d5d0f6522da6630c6dd47ca95aa9120ea5a067c852f765e4f72783cf888176e4ea44caf3292967eb451736aaa33b4717228497eb22fe22d10c8d70b0e10490f9758929213cd0f93d8c81e936854e7a5dbfcd811ecc03a16cf7db29e12e3ef9d6bc4adf67658e72f9823adf572af63020e68abb2cc7d1320525debde1c01b0cc8dfe73dc18f977da742cf616f4f7729f46af955e3cf3f4fcd95548b6f93c221612085dbaad0553a90e34425f68da6e01d43d2e0b3f8208fa429b318c97583db5213ebb7f02a228d66e4cdeee2a087e586d6dbfb6f7c085ef3ad5f421854077e0e07d6514f4e5653e6869981928b5ab9fab98860c69994267f2709a3566f6cfaefa5938c8a591133b2e78081baac6c1153dfd5d9e65e23acf78bdd5eb5966feb723a7026f80a520055389e5bff6b7df0df7cdd1f548a69460744f1c183b0c19c1e6705f2407993785b5fdabfd6aeaa2a890ca15dd8fec5e0f27aebabe5a2c244985c84fe93a5a05f784ee4869d730214ba812b2a8fb9c366bb1c3fa942abc6e137058a3e3c33b4bd7ddeeae73f7bc371d8a292e81c548dbab2d4ef97715e5e38761c199c8d7655d4e00397656d5d857dff4977410042648e6b7a1c90d64c253d3aedcf5d77be01d25e98982bb679ca8e0bbceea50b4b607196d6641fa63343d74cdf44ac8bdc1b14a60488fd64f825d9853e357b5bf96aac99efdc2b8e53c0bbbbcf04a1589970ed1190565d9fb79b7934a0b927e128f2c312b6e56ce8dc850cc87c7a5c6009df77b7cea61decf068b515317ac41dd43d5008db66f1e3cdc533fb2431191e2ced2d201f6e2996309c89a274a400b3cbcdd5115da5e7bafb1752663c4bbb732e1a58f9b38fab423f54085f0a4405f76b71a4c4c58a5216d604ea31cc6f88f2d5ed2c52f44beb307cb450a8af7dae8712f6bba62cfbbe97adb061ebaf8fab3f13db4f787212c361c7174b42f7b10b8c2375b4df6185938ee2e9936578c74ab689d1cad97c97e6190d08694ee23aee62f16dd7bcc666d6798a0bc9596295f0b3c101f3b57809bb4bad3ba62166768a291bf005d1bd30e0c071e8e2f78c7b0594339ca9a86ac5acfd971e859080b0557ea3cfa2690e3f1c300123b6c57c2cd40555b67c6e98c5fca2d32431784bf9c35e343ad860698683641df86bae0f3c30f66ee89c16f982581c9aa2ca6c9f80455473163e68870d6008325ccdddee9a55d8ed20f2d83cb9fdc100809c335c066c8a18997b07bccfc053155f5ed1cc03271575ff100d4305e597e95b4b4feba706a80506bc11caf5d4032b0f1f53ebd943c64f17dd7a45bf47d056724a1ff81b3dabf29ad76c3c0d2b48d5c6f2495dc8b4befe9383e4c162277c33c08f0e5bab97c78ce7b9a2c243006d61afde5fd31fe063d2c9677a0bd6ebe90f4519ca91ce0e810ac8b09ffa85af2d1eec2a0efae68206740142251a2dd9188a738c208f931156a723b156db33c39eb2ccdfe350e8fff05960a0bbb0fccbbbbc4d559381ce3bcdfa5af8806631208511f129fcb8998d88c093aee44e0f61a58e06c4479258492d01862a3a7fa5b5fec838be61d88cb87528232a5d0af4ce78205a482cb6272f803648c28df91952d636b5728dfa197471d5036671dc1b54848b5d395940f286766f76007cda0ba991a07904c62639aa857a979e12c61164179b1999129e86b1ed8fccd2caa34965bd5ec07c756c55f462aafd3cce9f9d9827a9fba667c396a31d0605b73d32bc33c33cc91960cddc4e1453403958bab3bd683e321a72ffa8b502b28302224e1cbd9fa6010547111f1f03c349ecb08698aad043f255434216f7498304243537cf8c7a4d2bb74d612ac573cec5c022acbd58af1dc8c1cf01c00877cb26bef664550d899950496540d21c4d0eff794a2042375e23cf7d75c8ed5d5ab5a853d0805b92c3ceebfc4cd8cdbafa97210215a310ea535a6414ae7f2b7d72c295e71823f654f470c4ce22cb4b543bccbf8fa6a44244faedaaa5ca7f45727814fb51805e063b9ffb2aab91a78df116b5c630178e507e4e48ee89d0664abe3c5ee64cbd0e839af3ab830e4f396cb90993364f94c6b85bf598ad056a0c5e3715f3662310127b3ae0379bfea7e8d11d732288d9683a5b2151fbdd3ef2e2ebe055c67995b28b7e03552e2b25c2ae285aa1f6524bacbfedeb7034d7173dc70d9365350bd5dc7c0a7dfe7506cca8d6dc70932125f315a3b6d5c6109c882c6abc36108ec5c171788eaa732e388b63038b6c2742f7652e4c128e3bab134dc51de16fe8ae3ea5b85b749478d2c012c94e185b4d7a3b7694e65cc85fd4647de30a600deb3758a7a17be41d20c49d0f0c65951a0f93a7ecf33e7a07b3ce1e0223b20b4559a0246139808e2ad82f56000b9023f930c9621f975c55f6a4694fc88ced76d4c7b3462a28ef6af722670d99c7875befc9169d2286f3e2f5c14d38887529780bc472dc2348c57aff208e2618f9be08e0b2fdb0a5af6129f69323b3afc2a9f7aa8f0cc5fc0200410320b310cb45542195bbf6a6c8bef3134e82186bbf4248c36449ad2c2845556d3c80ca25d237083066caf6ecf866514a74e41dda25a813da3faecfae41aa91290d4faf38d1e290f1c0f26ada639072c9c238e7afdb57979ece6687aaee974bda78ccbd04438b63dd8e8afbae744c0e2bab1997b4ba4e07f061cf439f62973c6e687c160002d50b2c8840964ea70b5ebf96bded7f373ca2192bbea5fb6bf0d8cd62bb982f87f5bd056a4a7d9a1a3d516293ba98fbc27c49a77d6a6b8b1695b85d4c99536c092f279940cb0592c4be9476acdca2ad5c3d791a412cb2ce7e000c7e47b7b6e697c41335d0821733fd08edac59f747ffb4a422cdcca7d02d284e610a5c34bcd78567d0a299c041cc8cf91dc9898ac033a344b3ff5831e01c962edd7adabd1a794b03623638819f3db13788858ac66a6b8ff578ac001ef81b2f0df1571baae0af7b6f045d971ef1e51f48eee095397032349cb553de252afa26b0d24d33541aaf9a7f93852a17bac2a07209f1546c64981ce36f8397f1306be45cc3ddd247f08d3b5bed5e0dd5b66166144608bb06dda1a8db95369ad9ba251633c3aaeaff5b05caf0e2a8fb65eaf4c735f5891bfd9773a5fb660992e5551bead176ed8c2f7d8a8bbe9c8bba42d3238990bbde911181d37372dac663f115e8974058b9bf7a39d14d77853f0a8197e090396055383821a036e0cc1483b9ae13b1994ccc10b8a9e52cd921c70c227fa403ed8e13438aeac238f02c480b4b1befd7d150f8444fe9877aff32eac969f927a35efeebea052f28ddc83565929cb689ba69025a87c1fd612710872b9d4c49f718219adb0321b7e28273ad8936c17c855108f66e28ed0ffa9b608885bb5e1a18a306c7193987a6fdb601d0e2e65191b4fd9980bff5f060b6143968a47e85ccd010f0f54c8fd90426dbd8f8752b68bab3c25e412fca5f9feaa696056ee89436fcd310e36a99e53ddeedecce4d2a06b1e1151cefb5bd9aff77192a868d5ad8186c11672bd8bfa279ac782c53af42f995f74dd36343b01756dc08d763acdd2b18ab21e0721a73fa627e664d75b1eedb95c38f045faf491c9600528834df5db75ae1377bacebe47e47b7532eeba7894123167bdfbe033f3f1b4a1e6695b61a05a28df64869e5d2ac894c7a12ff651c7b0af1e873374e5e3eac210c28c4b9d0d750235848ee945c0f336e1d2f7999ae06fe0db7b89f73b2659e2ec4ca12c59e17c2d7484aae20d6981e832d1f84a036dc1cf493867ab4ba66de8ef7746c49e8c4ade9d91325d7a97f3dce319970efcdb1aa61f48623145117824811e23d2a6e7fb89d0fb8018945ae9390f7bb61025453896e55c8d75060f6024b776fa8f478b9536bfacd66bb68afd81f43b7ddf7ae9ddce600dfd6e6624e42b4f20fa1d4640b852d0948684d765551371beb4179e9021e1c6f2820bbfac1978c895bd84790bf57352df9d42ee840fd40aa11321144b2f8f149e75cb85e923a395fb9432be82c95a40ed647c97cc26658244d41e19958e313e478748a9cc430ddefc361dbaaede10c95b11dff6b63da7396cf8e712f62d125765ff2970c95e5e26e84df4bad7703c1a9533467499f49d20000fd527dbdf3775ff5bc07934c5fc2c2821d5507860a42da93169033293e294e57d6632b704510a5d1f1fa37b8ae991037569accad0e5b24004f536e601b14fcdfc7fb71d4bca8f6f474aae2baaa0b21d26d9b302f6f664fe8332dbf055a783efef64164efaf1531cb57d768dcf3e05a26a2091de8e14e14332d9488f07e8ad34989949b41cbf8f3bd782094eb25c6b11c399951769e1ebdc1d182e6d7ad2337a8a21a8cfde6a74502a53bf0c7f15bf99d098a28d057b999cc86ccbb092af6d473d37300b63468e8fd4e21af8eb5fec8390f9c210a3ae57ccfd33d42e1a3550e88bd9933a1936f68e55bbc72610e28349bd8cb1e6e1279569ebd5ec1fa0ee5b16f17e433d71faddc53b8829392d19f2d6c436c4dcbb09c88cad75b355775f0cd63db8a2ddd7fa307295bb55247b76bf37576042eab2a5e3c9d3ae6e908919d4c7b11f70dc100934b778a8863496d8b3efd24cde6305fde89461af7df9a083732a7672112edf929c166f18374f084a2a90e712672458b40669fc22328e67e456292b94267aef9d7869372dda37a6c23af374a812b9fc49531fb2d5f6402bded585e1bd7a25c86d9d2c4d6387334831033b398c7c5ba7137a1a780eaea944286381c83e81cc9d5dc06a20f9c85d0f0861e063fdff82f7ee4cb402a8aaf1e681234aaa4773c5675bc0afe8bf3fbf6d712038f5b6814378e66a549a548646ae7051506dca08d164345d35fb04cae638aec793da9abb180aed30d66dc17b8a58b0562d10d2075c5226ac9e725268460e331102b61d84151678683f51bb1cf1372034ea197fab732c070528ad7458a4b41e7426a1d273b5fa459c848642660f7b340fa6fcbd45949ad593e350166d91fc1dbf8fa3d541ff5502c7f97377dd4b90fa33f4c5968e578982bb8deae51f63c3889b5119649a64e3b21179cd7164dfd56b23a0a4d5a12dbaa654fe807c883a8a1fe04a436a6f6e0a79236b8eb13313af6e12a6063404e99b26962dd01e4f74c10396e63ef414598258a7c96f710900e80fa3de80b6833026cacd25464707fe9691342b765d23f168926b322ea266dc012f4c26d7227ed18538b67305445c0bc712f5477f61b2ffa12a2b1de0ffb9b1205c3dfe017b99340bac6412cd7c7f7730066e2fd0d23043010d52f200eb2d96aa8ab1a33b3f6ed2a564e561b29019047f0489e442d367d531d3ac2e5366a2e3beb5e10052cadb91d5d7b00d0f00fdd7e76f027e58ef7276b85b83d22730906b26488203d4ce6a95edde858cdc9fb21e75a021b00ab8098a5d73dd8e57f1a1d2ab34ee06cb4032c3247ca912ff64d136d4e4e99ad67df7ce09503608c294e910412068ffcb690fafc26306ef25186524bbbbca9274ca5a36c0eab40e43c26d929f171c680a2e35afbd06f6669abdd8ac85eab8f1b14ede72b525a6091c93b3aebb4f143a8525282ad044a5a5cfe9cb223e24d93cac95f6e7e6ef1abd4359b38ea659c1b58adcb436f891f31b84c026118783f004831fbc4b947fa6c55d34a127b2ad6053c8e68d5f5bd4c4a303e325750ca5c8ac2bb9ef3cb2fb537b2822de2d77e3d3178575c9d298edb47040f67ffa44af145502ec80889d7f83ec4a009e53b3fa27dc0d3dfe036fc90c4e3c920a29938c3d5c02724054de8caeaf146b674a77dafb8bdae719f7a9a3ecab9b8860ecb425d1fa75d4f8fa8577dcfd9d7138e60ee2008dbeb312d41d19cfc91e5986e164d716839f82c6f921b07692a676fa11f795045e612b5f4381dd7beea36c50fc688e1c7c336f1d971773912f2158b5de958a8a1c2dd785faffcc69c04b48df3622d600212918267646bff52230622f6c3cba83806d8d03bc13cdbacdef327cece4c7d74cec2d867c79a8e7f9980289fb4493c683467cb030d04ad7b178ef85c7b10884679d2d83065d25be042914523242e1ffd54327bf2925b60668216e2e92d5d03f93760150c3272fc591b3530586be03d414807451c9716482a22beae0b84229b1a6a3370e3cf71c1387b0857d34e76d514e55e3f252754890113ce880aee7ef52c44a4933435ecdbc66f6da4ccea76cf2e937ade58210661721715f6be327d14377b69b9790aaacb15e0fdae91183f734a47f3f9ce27b8c3aedc2e270251b74ad31fbc7cadb11f96868a915356c76170a555244e229cb19dae6dbcf114517f3ecd8ce97199261283101d3775b02d33094f884ec085f31c5956d46abcef4ff934364f8a0d97c82552650599a5fa7a3833203a7ed390ab12d66453bff4f5c5b98bd781cc80b3e15a89cbf67271eff207de952e6bd1f8129bf8c7172f04e28dc301ab83665ca922c0d8dc635aa2d0afe78220e98b72ac10278d44c91a4e4f1b44a91890aa0cb7f343261646c407f906632919f94adc5487b712b3da1c72c96963f1f72415317e63bd8aabdb269958d1fdf4f92e036c8d7dbb4911db7c4132c895d9e4dcbd46a20cad7f0fd1a72ccb4f0a1ad7f1bb0368d75b61cc7412e34973bc9ae6b84f1861404162c21d00e908a0dc1286c87d1ae641d93281d0cc1813e4370a20b6973b501da058830e50b32059616f6028e7819bf9e07dd429ded94fbe4d0a955bed7df4de8987fb98f476ab9142dea2a115e168b1a36bd2cf0bdeda1660ed60b95e322618a130e0b596ac86cfaccd4e01c26d62d181abd07ce4d2f9766b9f08ec4cc1d9081807e9c4654d969dc55ae9c5d6b140ca6752ce53dfe4b79a6fddff397452dd6f3df7397eb45a95948045058742d26b60e9e8a732fb4258cca348caf21d584634f5c1efe45a226ab91a9998533e79bfd6b34367404538a752cf43a918824fe74866a76b699e26343fb042e32923d5dcf0e7dabcf56295713f4011df30eea7d40fac3152c78ef54edaea5259055a018028c5786ad7a535033cf26577b190b23bfc5d4cca77553d7dff83a01e6d6d6b9ad71742b5f25c69d3986a98ff6672c8c6e48496cfe78d8ff51fabf51e10fd2549660d7cd9da86d7c1de910b20d3cc50215bee7f38bd07a5d3f42e500fec186c2e78cf7092efd524d7074546b5ae8a442e65f5510979254a52e1ac322d431b0d95abf161a54f079ea64bb13ca8c198c5b0b301cf36a221a9edc7efaa4931bd72c122ad9c2850e8acc46a250797cf42c6dbfca2fd1dd5027af079838482164ac29d8f2bda8b338d42cb89c865b312a9bb485d3d610aa9e0617ff10f169acfe2b344e3e370179001ff4bacfdf5c44eed335d51ea84dcd71551ba0d508f9ea426d87d0b184da7ab6a8cf8c35d666976b832a63fd62cec780e664a32b8449a31a8f57fe03ef07e044f63008bb76db1ca603b3f5a9804a44f6ae7f09a37ab41cc5953e03b584cd9edd5702bc8d1400402064b0c6ab275297c6cf80b8d42e73e98f4f8a97e3a6303139c5d64a20b610df3553ac235225fdce9eb63ada86cd7e2f62ff522ad8a7636daad3aacd4cf2b46ef7d785cf2be108d753631a31ced807aa890e34903f77af464ac3ccc16f23a567c8812a9c52d16facec7fec137b96feb70b85f73fffd602bebfa3e4698d08c7a1531c329929339a20527ebc81fe8bed2029a8eed1ef64645275682860560c88d027e83742a3c06920bfdb745190e2a510bfc89b1c0a9418e78fef49c8eca2db8f532ff9572374cdb4ed88b12a47fb3b00a59be4e6322f51a16385860f074542bd57a09609f5e2f1f94d4a92d3a84a7a3bebbda6c2e9fef6d72b35d0d36f0ca6a2599c1740e4eb2649c71a5b69389422f118a3ec708e121fceceda596c485860c19a0785736070f4f712e76b0ea988d2b91f7b8c9e2df3f528e5a327b7db57e6062513352b860738189e765315c1f8cff839762db30094cefa87e37d30d8db5307674afbddbf5961ea4e46bffe7feaa8235caa1efb55ac03237bf55363dd43277ab539f4b3aaef2e27aa79792cf25ec5dbbfd78770f9a703ea803a828ec3d4028f0b0cbbf1b9059c9e370734be534eec741b0f4e46ee9426a0df4c56d8b70c06ddfd1db374b306c2bcd4547c77cd5ce7235f96b9627211428d06e11f03989190567769da889763cf0c76bc486866e93795274472dd11249e8cca53da81220b516c961b9fe5077acea8ccc3145d47130c0f99a9b969efddedd3fe89e32ae38824b55706a21d3a4d0fef55601270bcbf077c41db351e81e7311b785a783f5d01791238fc2f4ea247dbfb65a3e2e946f7f4715dbb3fb91f930bdbad059799ef3a77784a4a3f7379c2df831644ec3a921c64b9c3c2825e6ca89a67f96463f7f55f84b14b1867019e8607a44470e0848747b0e96533cc989695ae198e12fcedad38915202e5c859862b2264ea84d84de119190d9d8234e80922a14ffcd09540ec215a9550a31460bd3c91aa45bb608cfc7fd4565628612a8f030dd7b8d7867fde5bb5524f4878afe35e1ec612f155f03d0a73b9e374b9ccf176bb02fca9d351416799bc2d512b9fc8578df1b6794c156e767a7d301ffcc1a22c6918a1b374f2863379c071f73678daf934943130cc302ab7025046601996ed5ee92a0f6689d56c52e049a7763224043964d526faec9127a137aa310c34d1ee97109b6134c8a09298b1e2058176c96b49924ddfd4eca5030569ce5a8db44c07665b6bd176c9f1a69574671044f35c6566aa830e26066b6731ca7e1a26a575976b4a71a9794265561e01236292fba6cc2e04e1ffcf3dd08aeefeac1948a49845ed128c23bc0bb904884aab67ecf67126f33792e0602c63ca6cbb021a1d3acce07dd540017e6fae9aa765078c5ecd0490eee32d90ea15286ac82b0f28626a4d6296d03619e4c42730a86ab404e3805893ddc3e86d03e9ad0ff184581037ee1a32782336ff5f5e07cb3362e9281de6ce48f145ee738f8efe8a179fc14467e9476a76986f12d359288f567a8e389851c3fe68a547e78ade39229dc735e4f6cb88dc406f09f74a79e7fe2f8f09a2bf39d15b388c131b062529f783b4ad1f203ded3a57b92560df7bea93aff7e1924771bf32de3dddc59783e81ead3dd79fe021bdb928030fdddcd3ab4b06caa93bde896f5b01bccb21c891754e3415cbe5fca34b1fb9d9d3114b5986fc443ccc16cbc136f7ce66add562bba259177404108cf1413e725345c8682c4d379578ba760c5e5992d962c2eebf4d433c56750379bd8d67f2c4759f191fcfa88dbe621e759cc53eab4caa1ffd989d207ac0d40ce03a70cfec94d1dad8c6b1e59022b2a5210f49bcbe53cd782f07444deca4d183651026bf02cb78b55c07dfa625a314c47256a4bb2ccd320943f20bdb6e1f85c41283a488da99f55699b4d2d9d7ed70a8f19601888af5fa7b37949a957ad7764642e02d5f9a4d77a8dc4a70b9d025169c19275c42e8af578fd645efb26e513a71f976275114e863b8eb1f2d72a93b2c0bcfe0c8ecb56a7b3cc4e687da0c6a645ee36f1982df7f2a7d2eb7d7784a2636b9de30f729a6e94c5ffaf310d7d2b2d84ed6bfd98abf64d5d269c5c957f0c854a88aa75544d50d0a467d852c11e85905b36b22bd17c49fe023b8c7181745c4ef0705b4be6403b1579091bdc453e0864651f0450957c3304588470c45fbe35afae72cc7ffcc02fb97862953632e1f0c168513b9871fdef8075ec956aabda76366d90fcc2b88024b09de31177f671c55198a391eb4053b75b583abb39147b148cfe353ec18459975894802d558f2e9a0577f1b0a27266fcdf590190ef441a30dda867cd412096673bdf39c694f291d37e8b05b9dd04584f63e4f57604bd52dc0c074e32d07593d91786b2a0fdea5823d00264b749c69162d784dc74b48cb10af8dd87730bdfd449c379261d8e70076407fb663a0df422bc65a969fbc602bee8f5885d0e69a613c5ba25a5a882acac726404777c7878a58b502ab3482ebdf3b53be554f6c8ac4176d1d3dcf11f5139bc5b4fec2f161c5574514ee9d5dd589e1219eb04f1e94f22ae1831cada9248b39acea402c87b2f9d9d57fe27d5cd3cd43f4a06e2d5e94c439a5ec00c3b618547e4897cdd1f868ad597f5f02faff2f33d477b434f941d7113cef31283073ad232ceca4b1ebd5144a72f591e46650164be5bc88822729897f4fc20e561fc51e5f321079651cf246a6e91d62699ae68b29ae0f4b4168abe3db047bd242eea5ada43f9c34f666612b12718003bbc0b794694d32cbf3ed2e8ea9045ff96e12ea5527149a2885fb275c9f9f4f5039b57574af64446c2c2e5eec307b10f04041f7469cb92579e667928fcf4bdde68e63885cfd4bda21217d45a722203b7dc7b2114794b54e6e52c8c158b51da3e1e401eb812ec9b730c95c0bb5b9469b3866e74961c5b997a13ab0bc8f50d948f28cf78d885bbb020dca0ad656b42e0a3c38675a80061e21f12bcde6b84b8bdc7291751361355eaa00bc0125f48eff26222f40a7252eb0f194b4429d421c30601601fe0bab642e005de6b17850e6192aa15d6475787dc434aa381ecd40597d97dd1a7de9e3d0f3767ecdcac7ef399df456ce5866312554feb28460bbb00c9298c2c43c97dc47dd7f13e1ddc3b6d351d0de922d381915d436f2fbe61d7db6b56ca20cfff3983640cf05ea2fe026de0d3c2c1b42dfe84af894457a824318ad7467217c403a2395ce8219d68305a02820c7e6ff2709cd49c79c981e4f7fe1d85bc2a441ad685a4eee4335dfd0cbcd06f7c30f87faa7ab4e7ae86ec22b788c76aa4265a2ec6eb925999f18f9383e0a97a694ede58774d600a03e925fcb59d0d867ae725fcd8dc1d2eac96662f3bf24b7188b95f5ed6cfada9103677d28c7c2bad7c9bd3420f4a232ba467357ec0774c89a5255465143a36fe292aada3965a0c11c1d1e10a1636325461be18b9fde9a7d87a52cdcaa484457ccf64b69e7a7299ab0b664bd2bd478799ac1546b5f948f375784a3ae5e1723388eb1df3cc8df80943dbbac14f699b5f978830e5b1fb7198ca96a37ccf5b2d292770509161e4b6d9dc46f16535c88cedd4a8af77534adf9ce0711de80ed62d7a3114514a7a1c77bd54a5f26f16842d8996ec063b0922e5788b85d541f70bad21d8eb97b73de43ecd43d2c0371736f7cc5bfd0adc1959b6d79fe916e7a20a4cf95987e62ec48607ec1c735e3ec587e21e1605e8449de6f3acec0ed1cec9b496e6cba9d2716e39373a30b38c69a480949f6c656f4b0df826a54fdccb3c6cc572358047fd4ec1148094bdfa4ecc522da0e56598386d9e26ae5bd7954bea9402252b2d8986fcae7b351bc9ef0afda39192c9e334fabd63ea44c46d163f39bf8dea68fc472b22f9ec4ddf0f2eb813fd5cfa947467f9c7b2cd71a48070adcb16c733a4fd4ee3452906707d283dc9c8a84e86925f265da11cde5fc7a67973c85b68265233273679f16aa129190e13e6b6d00e26fe5fde716e6d1bae73a1227f4b69c9e857b9ee673bffead3e42be1083a50f721b9f36c5937074a543799c0e267dc287aeb6c5f560e9f1822eefc21ed740713be554412c1e4930c03201fbd14084d6ec1464b16f4144db5ce16c8db964528bf92b7acfea91f3a219568fd03d684883835ad3a637a0bc6e437ee79236512b2e33408759374c9d0acd19a264efcc90d3efe899a3d66ae8fc1440f5b4833da6452d6f71aa662c563584844c3762dffb6408776aa0bbd8a86cf3a690d6d35935a1e41d66ac50e1320314b780c9e4a513cd819f7df21316da759a5b2cee3fdec5f35030fda1daf3ddfdc493d0a3893c23fcc770d0b4344074dc40d07961cf23b4bff88c33e1b2719200d62872ff986b346bbbd84a5af79dcd7df6fc53075cf3aa043d070c4f651fb87fa250b922b26e6469b865ac01e65938d75ca8365b7cd561fc5bc98965d4ab652432a87ea3cf8b45de40fb1046083f474c7fa3d7cd0992902b04890475089717c3bd346b010bf151c8a75e37d8eb783482608cbc28165ea01e10d058a538a98890a53ec630fca5d04dbad26e1b90f5710813e21a0a60cfd476dbce943f3ddd014b0fb8a574811d1719a541470ffa856e52d40344f25cd74cc561c255a6fb36fb3e8b00500f446319114829c4d2a3425a374f934cdbda48bc01931097ea0455536e9f44d5cdc56b26701c10538785a9897979aeb7d9321b7da2de3801f474adf652b00c946acc80e4031c81b426058d779ac2572ead7eab6684fa309d77b34cb7f8e73cdd81a947d9b9ddbf74f5646fb33f6cdd97292b88adc6e56d9080dd8d6381cea2bfff745e71855e29dcc9d972710488139ad029b5e0ae3e11c98211b6f3c1b576c91ef37b8010a6079181040469c8297c3da5bafb95f3fa5dd6b94bb715c5174d8fa64f74a6b7d75d3fa7470e59e658e2f18d7eecf5f636899ac7cef5084271db4648908c62e3e73811f6aa8095107f2700f33811a315e02a9c8f1bc3fd87692faec922fd093222d79269dafd62a7a24755f0855b64c56978dfd393bc71e00a80513b2d50e8f81ccb3551a29587e8757856fa6524ec7212e4ee3a637f4d3982dca806b46e6ec81db6654bb4122688d5bf579116abf09845c6659d0ecba7f6fb8f8da1f3d3a874b38fa36f5eada1533eb6f17084074dcdc785667a7348668a924e4a7e9cb1b46d20a173beeb7887b15ed6ff77342659d0e6a63154f1e9508af8255a8b2ba4302e5b88180f676393d5f69755c02229e64fd915c2b7b40e3c5578077bd7d35bef8e0932d0eeef167f2c86b3f1e2d8c3d6bd92b35403ce4360258b22d4ae2d72dd0f3ac765ef4d3fb8e515552341c58b9ed6218ab124721e2ba18e689c27ca4e64e744268252c5a9cb3c4d701616c26756b17552322c8ebfc4a03672120bb14658d4b95a6861a368fb04f2c7432684befdc40817dc417de6204be0f5f2e6c799de96c7948e55bbdef85191d8329fe5c95aa326b0dc87071e148d68e34934925a48da5683b08d873bf324a37b7892c89013df15a4f094843b3de198f31cb8b89468b097b9efe484cab6236e233c2e7dcf63a23a4a45a736377f7d7059c7ebfa72760caf8b2580dcac6cf4e64ceca099b45d0844081ce1e31c7f959fe3bc6454514ec0453079fb4d3ed55b86497ccfd9528ccb42f647a32d86bb90e6f0be5ace1e3feb9cf03bafb078de21216bb6756ab27be0bd3330260350a4ad457450bd92366716ba79a565b23c1f1344a0ee5ea138bc0fedb3c0f98ed2845688d1acc92015456765868c5b6cb353fe66e183337057b8b334658fffc4cc54c98e7a1d4dae9c00fa26684059c7e5412c4f54c469065ab55b1ab42f48076f089bc308e4b4b8bec8f368bb2f931bd01b7e9c883ee279870957ba938c202cff7ec022433a951affb7756da1ee68720ace8b234d8a281ae36a63ff8e7c9bc4004d4f70811a5f17fa1abfdfa5824d5ffc5bb0a2de0bd6804c1b8131bd3aab487ac9123a0861761bd5de18d0cca9dbbf157137c0373ec7d016ba3dc31877d9069451b7be85f06477b952512ea0690ceed443501550018c2b2b08fa9356e09d8044c30125620949899d4a6bcae6e232ab336f494d48bc1106386fd87b321fe30890c53e0496fd46382c3b35fe59695fb22a7219099e3b0ae69f24ba61caaf9431d6911517a22be8b4f413a5d4446c661033919e7cc05d1a88643161236b238776f7a921f1e15c8963ed9c85248e4e9857d3a88b4f053bd28a9fd95f8f344389bd07029e09b125accc66c836dc120ce86402f54ec5973396792ba7fdbc62a60d3397f7debaf43ed0a9f09748a985f835a21f03c4cbd2118996a9801744eb34c27aa5ce31be852f2969f757680d60cb67f6e8ac5a995638431cc1d5f298defc23e105b8ee3c1bd11540be3f926ecb9f33048a82bd9076848db4d219b841b4f02a53fae53e7e856d945ae8cc8e7b926619baf2eb66fbe7722cf99fe8b618fc0c1ceb3056f21274eec7b597f65ee22f0fa2ef72df8c7a02fd8182bcb4b6efa216318bd4269f3d0f8f1beb75ce861d45bdc91c9e4cada3337bf4d8811c5177077b49ad2e32e5e1e9b7e15f948ccc3a36c16ad8a2ec284709195041e40dd7632bd786a5d443c26d91b2f6ba0506e1969a6bd822465e0b90206e1b4dcdf555c6b25355810001d1de4a59c37ad5f430f5835487085061a10a451d6fdfdcaf6e02c25dccdb57c26632e6b69649bb07a178187653c279a2123d9a41dfa05cdaeca926d11bf19010e34bc4ac5c1331ab3f24806879f6138eedcc63f12c47a79925586edeeba88d40f0b6470b804a3c0189cc861dbf6580c23e101f2a6d0f29f0afb40cf627015bab169314189c72c88a94d0f5eb29d7127d5d5c636ab004d449c68d00c8b04b3e357ad98f128305e611a712ebf5d73ba9bfe506429903f846553952083750763eb778454dbffb81ae239b84894315cc866e48073207f9664a85ec9fcc6ed00d2d746ab8191b80be065917c523cf099790c6b394a8f3310d30ef4d72ba8a9a2569345085888089a29551d55fa16e74cf121d45792095e51d4911731b93b39371f97b5c8c39f73fa86569e5ac02e5ca73e09a15eecd355614c46b85c5aadacd7f500b665b3a93160ff7dba8b3737f4ec59e453ed2a078cc49ad60162305b8cd28f16bc2bbc8614fa19c13650c642e2e3c6578a1d19c8521582437ffe28118954e5c994239eeb008ebdd8e3eb7cbbaab648657179a858996f485161e55b338c6aab5939ec524264dffac1566bf6f25447946bbe9d9f1d2c349bb315dc546821d99ba51c718cc0b62b61454f0733d2437a8bf3e4db849fcf9a4752267d90199399cddff5436990226785c17c908b90ccad6e8fc2f7876ebc5f83e930a5a1fcd6e259bf0aed3efb3c45b02a08451fcef4739342f01db8a86924b37b486507cf71f9f0bda718f986aff5013adb75bd6129a3f005eeeb5abaa9237a20f5feaac040902d61b2ae6d9e4b24f4deb7effd7dfbb1294887d69540efd71061fca2d398e14e97cab77654e6dd97cc2e1b0f76091a6abb614604e70317ad1061fb91ac1b45527d72a094bcd3c766dbc4351ad86c6f7ea4ed87c3cbb86f368bb17b8650c4b643fcd9ae286880ccaab235f43d2b727f9f206f28cf59e420040f33ce66daa6f9a63e23edb0b1eb607d33c0b1c0b176f824388a60c982b8b4847d3572e2472bf3971d35e309169dcc465f9618f862e4f2169b51573d45765322353ff0accd6e36e486e49bb27ed3cf8954dd81df8b448c7696baafdb42ca3472cbe8bc4c5bd6ccc0c124a94bb6f5c1ff84d4e02c6155a7d7433842e2090a08e52f781eda59568be365899fa14ef6ce4f98e56ab0a078396d98d8ae4cb4c46c731ba41303ef3e3ce8d7af03ab3ab8748a87e661b4210c970ac2ecf40aec0bbb2ee8da680adc07523a43d244b5be2353661168a0a2abd4bb43063210f1bc0b7279866e3278788701548e21296e8ca0a04adb6b619995982c9f09796106397f42089ec1dba80c8a8bab900cc6e2b44df7aa46dd2c6aa5a1968790d69ab7e3e6e85116dff041e7062bbe7cecb29710ae5f2aa1246a4bccd5d03e3e2021a70ede2981affaff0cec04050082d45c261b1879f348104a7c6d494ac6037706dd09530ea0c1faf27c23fd39794eedb46120105e44a3a844f02d654f0d69b2fb539aea81f5350ac67793b4bdcc8c06ee76f15e35dabbab7aac23284f59a1cecf763c3be1a33093153f63bb75c2dfcec691c9828d1ce4fa3d7ef36ea54dc08933918744e8f7fcdfa205859db7e65d25896b1d8d6176e4fab474eeb800971a34917a0c3363e1fdd689808a237a14404a866f2c3f0f84f3f2eb5a71afc226fb026344fc5cd936fa8ed0e494883aee09e9262e777c86e10962c4690d96ead6b396a8f72a550ef0f831a6731b525a8931716dd123ce708672eba89f9cb409443d76b9398f6c0ce36de964d3eedd2036de39f0540ca63c20a0c8648e9eccbfa96cfe99af0da8b079ea3a0bf77dd65b6317ca9b8d734c0d9f81a6003436b8c534004ba01c6d55c751aa0d924055b724b9549ae5afb9229e836e8ca5e7e71eec1ab13ce296148f44ae3620fc5d135f789a95bab33d752256707e6a40cfbe25db83e9023909754a9a844ab86181c3c7f7323ede48fe0a307c815c257bfdaf41e551f6afb196eb398f0223f0ccdcf308cd3abe1adb292b8ab908531f3c69afaea84d021de3f616a36eb53a6579399b61a836ebe57ba80bc72867d209dfab8f27d3196e19282f6772bf9e797ffad3b60da158d527b88fa73c3fad449e0bba99201e631bc303880f5011ca460d5c532aa52145cc9baf42d957b0307ae93155a97cc839a6c43ab4e71cbd9fa9dd7712d3c75bedf32bebf83da76f8c47fea528059e60c9a33becf0a5cd8c1c7762aad527fe743b6f0b048785721c7fcf2786061fdc4fc9f890ce701564b7077cf68017f1dcb5f7901a1df9dfac84a33087a1ef62c3708354f4bfb2a46e28a687daaa84695e604639be1de8f7b9405a8b7ac010e65a1609784ede70e5512362cac6af34b3f939b3125421b0c41f817f01ee26f9c8580b9ad6767bc9fd7231caef85f6b07af7328d96ad46967ee216f58559b4872a8aedaa255f944595bacd555114f14f12e8bbfd65bec80a46d5a416a3dd1f80a280f9b6541bd3599e9c7f215347dd87dd031ed4333547b44f556051b388aff1540742cee75089f70a721dac0357a757dd609d99b3eaee0c379830261ffea8803c775e9418d06e11a8f25d18a9fa22b3f534c593cdc174b36528859fd338ab6199407b731ccfc3f4a278dd4223e7549b0f560318f3e653f59b58ae2cf778acfa8467c1f91901aaa1dc1ce8b4004273e6c17b84d21e60b72b84b039622432bd9dfacb0e26e9797692610e00ac5bd0a77527b52e7c7948e460f77443d16828fa25ecc092579f59fba0d162834dc3b4d5b50135f96084c662f4f735dec57c1911578217b68ed0a938b959dfff05d40d8ee7b918ca3fd9f3b544eb34b7f51dd254f668029697fe13b13c7028feb4088913d25dbb5f1a6f27da97f72299560adf18e8a9615a811c6db3d6205ab3450315aaac130d1cabac431ae503c0f8ab176448f858b7000ca71ab42131916633f5a1372a36bcc0dc8304d2a9bb6855fe5aadd00fe68bdb7364c6aadbe28948c896f1f3f20be251562cacd377394a046597a5137c7c4c7e8a87fe65160f81f34df1e220729e2a865e338df21ddcf06135a02e2117b575fb80cb8115e4ba2e9bc1c8560c848b13ac144b86bbaddf2953c31bb26b43c26374970fdf0e3dcd2895d2ea33ba86407635d17be75da8155c2bac60aeba3f8708ddeeb580d460783784e0ac460c95abcc4163fb658aace5831f9b882bbd217ba3dce357f4224d726d91423f11ed4770feeb30fbcccf8b7d570451ba2d6ed33f2987d9c5831e3260d6cf30697c05a79b983301424d4ec08206e0421d9cecabca99885feaeefba573046a26c11c1fc92067dda975311c87418680bd83ed48c0dab0bda71e9e16b5975ff2596e0eb26d61718ea0e8fcfdb598da6d074bcda6c30ba41a46e1b5155069f10d0819f91ea1d9e94d5a65e3c6aa36e59bbe6d19e8bdf977d9de88ec95fc6ef28be73e1900f343561a4474057d18917333a0b1631c46c37b0eeb0d03ce6e631d06e9e67b97befe64043cbdcec98b8d4dcfba43cd4fc8f7c1bc8c897a8dd62e618dac54192e5e669dc8603a16d622867bc83c190ef70473552564b8c6e9948fd346c75debd9dafc4f7ede0e628e41cf3c3aa9453b08fe61a4b39bfd280812b3bfae3f1aec263a73cab21f6d28dddd82b1d643813fcaa8f0fcadab2d5b60e5f3c7e38d23e1766e925032e4ea2bc21443513a785e66809a1006919b2f56178c83dd991080f9efd387e776ade05337787fcdc76d983afc4330ad1d1c3c48bb221132c4f82fbe31ffa628237c286125c8fa26e2b991749615e535eaac9cfec29890fdce5f2856a00871c801e968a31231920d997cfb2a53caf82724cda45015c6362a3c326683a1706ae86be1b078e88ccd880b09163cca4a34ae260395ca03b274bf9fe025d0635617c20353f65ed7693516c73513336d577d9d6946a278bb07ba3bdcf579bc4ca747362904d5a8197ded71a323e913f3eacd811b0fec050ced93acdabc3e88367b18ee13a6b18315185fe4a2ea950d1c939fd4c6992b75588cf2af1a8845d162d801a97d90cb52ba3413e1119eef2996e32c8138256a5123e22a6dd61d3c1926a14250ca72e33e19bc17d0e9db69540d246985cece78c1a4a6becee8cca598b1905c72be0abe235dfffe4331e8f3ca5e98422ff2d886732d89331ba7143b0a1481aced702b7e09de6344482b9ff5c8dfc7d1e11da8ae9befd4743a83513213219cbb8a9f70a7f472e017d3c0b694bdfffd1408a1ab3b1d3cdf310173ad48b1c7db27bad73b3b74c2baaaade8341655a683603257b868edf8b8a44ed1a501fee780f4641a4822eb55427b3a9d8233fb5724054659ff8593948c1f2b3c76cc1541639c0be5c93c99ef64dd6bc08eba26f3b69683a661637259e183143fe8c8a2b7ce89684263d64551be854683334e3671ad6f67c7eae3ce6864d12b7a0d24015d0773a62cec8e7e6f44a7548230537d08d0ffb42c88ff7f68dd7a1e9f87b8c04a3be860f4dd46424e59c1a7bfbc8b62c1b102fb0357d4f137edb65e8f371024a9967a211a9063a42e64434311ad7276f1d9ca8f2f88ddff270a16a8df8d28aa44a1c9043f6819f3fe3cc2c749e2a5e465a9d98ae748f1a1fa861b1c0befe90d4860f9872d5915e239a73b24da7dd975cf9afcdc5e8a3c0901ffa16b8b1e666f1506b888525530a51d2fa39a2b7e64b78e442f097c98bf4cffed811473d477b619be38f2a758db490b4a045a4e2ac04ed1719a2584c03a407e3fb3caca6f1af5208a917673f1d90b55e50b9df1d235a0ccb90ae368f66ec6f816face342de592da886557356211b6e99790d1756cbe41e061b428d188e38952357ca52515cf80c5cba30df7a3496c2753182251edb258a31027be488351cf5bfb23b58b82171dafcaf5876a0b5d0f2864fddb0bc3b0714b8041b679b37d695ba24a4bb69e8947b8b29277189da74c7005965a983bc442f4f1cf8b0bf48c7f9f3f19ba1abd91998971d8cef200fcf6f236de0836bcfa0517344d473e62104c65fddb729f39912690ed453e2efe7694805f592aa4e3ed2ff3ccb8717cefe6567ddcdc8641420f341f661fbcd23d09429cbeff0e055132460ad17ac8fb3d379e4ee980cb6b641321416c63254d115ec0892d1fce7176c71cbff514541204e1d4be7ef8c1a9d21fcbac7854dc8508c5dfc2f8d84b32831323d5df696e38ca691987b151928c04400925bdf4e4013c838da8daca25d7e47f62e9a2e45f3e4bcf8dca9725f3d727df1f771b0e66312efdc31a3be897f2cdc6ef2448ccd49e86787a67a409c229f221ecaf2897a685bc505cb91450e08ad8ff0e91474ef98acdbd4560d0d1ed39328d2008beff5290c418efb764948e37ed88a624cbdbe081141fb42baa0696cade9ff34c131853fb4c23689a4ffdfeeb62d8456bf5c264e3f0ad09e8417f84d9259e7f46d9bbbf138aa9ee7f7241892c3ec71ed9859b6089752e8031dc77ad0e9d590c1b9e7a564c0620c458cd70f5f4f9512c24669d21e2499a78984bb181f75cae83344f3d0a58e14f32897f221b72cc8b51b287817caf4203e80db3e505295849d872ddf288f9b3ae2c1f7cbb8be0e99db111997fd9f526a7ad854cc98944886964a3c89fe05b6e5bd539882c619c4d214f6b720515ac708d160f7b0772723ade227f0a1071d8c88e6eeec92d22c6489a937d74a4406b67f90bd2b6e78d91ede396119fd833ea5f64be72c20bc93a5aeb0daa61dde5b04b2724b3220d5117807459ebf559683de26f3e5a58254175d9c1717a042e99fb2577792c41de93c6549fec536261d215fa9dd85e5eecc7409c9b9bd6d5fce1f9971a53832b59e493e10f6d5a45b9be5eec05e28e3a51bd256bf591f163200176171cb084c298bf4b09738ce16910f3458e76f022d7a5f5a01a284e6f360f622dab7b3f27f46e02a52bc7d9c8dd9f1facf5df2325c14f01433be3f59f544fd8ae3a15e573e400ee27f832c012c840d4354a0a67ef7b43982dc28b12dbf94ed71f9a3b722c7f6c04b455e4710cfec005ef2f783110e5835c872d753dc6061296197abf10025e0dac49dbd6ab86669030526632d04dd1dbc91ad5eee0720c391d2bdfe6de77276e8e37531999e2f018c4a912d9085cd386af4e4d1da7c234d491ffc4b11f23df627345d02699bec20a86225b1736c63a4095ce020041fd26c1b81a3e910425e0dd58666f503de3d78f260323df1b6fe491124da30b4028ab7573a833b39f95883bf7ecfc7c8319b965bb54fd648c2ff4d17bffc4f0e9af83c679a2316834446939be3b460073ad7c2aa8d8655d6ab2ed1667e8221aafba2aaf0827075a5d157214d61075cf78f24749615d770074432202ea9939fa97b93d48ad4d7c22b53f69dbb5436e40441c9f9ad3850b51eaf68b084fa5045910857f09af87c5cf9c0e8322099b59ec3ec8ee09b241dadc8abf3ec22b516b70c5f43cd240d1ce2cc8722bc4c58f3282b60a5edc12a7e602bd52651f166599fff86c00714d222cac2a59911518385a2c2d188910755cef92bf4a728d328ffdb5c868df523a6615e365ddf24d310aac30b30e788be4fe32c05567a4caed036db5fa31b06c087107c99676a70e56f5e09300417bd09485a995983965fe752107092e518d72fa93299e973f977d1223f0b30c142ee1e9aa6037e1a6778d3558383d94f4332ac662a4f9fbe5ae0c388614e636ea74624c79a090655a894024381875c45237c4c05f9d287e402e9b1d83f349ebf4100ce435be94973f3ec1415e3ebee6e63ca4cf78059b770eebba72b9e6f183b2cf08a9a2ac45b4f42d71556bd1cb4ea7435a902059a99d8682c2fbf26b30324e6feb0405c02776bfcfa8f079491de54f07cb7a01b21e1d6f1541ae9bcb160039601f69551f282812626e6270ce7269420795e6f8c1838d15e6146d64530c5157a5e56831d4d4e279c6da108e9cb8932298102dcb8f222b671fc8adfcfb0f7120896417aa7d14d34bd37500e5d05999047d88ae3632653a474d998197dc2ecc180f7ce8f41b85491b634adf9dcaf4650d52be3b8f565a5b4f4a9e4a5c99fded72d88884bc8b426e62c9d78e55fd6842923c290e0fa6e10a19c3f1aa05d06d760ed20638afe3e12f8c095e6963adc184a0faa121b24b5298c922472851a1ed95a53537c753022de778a80aead7dbafc2a5aad2e60465e3c7d831a8f4da026151ccd86559d54c567a1d11ab10df196a2605120c6d459efa396cc42ef72857181279ce9f401d5185fe6d3962371ad08f74a2b508650c8312fa6f87a62fad08564fcf8ddea591e79e7754ae91fe45f9e4cef71ec840c628d5d2839bfe4d3943b24fdf407acf6a3204bf9dab4c286dbbb4fa432122d78be9a1f0a706849aacae2f582ecf378b60a5d1d312a10bdd6692186336cdae2acf5a435d718a67323e3c4f37827b33675d893a3efe127c06bff6508f5abf19140f4912a84f78e002bfa6c832da3399a96b3f37eb3a4c909998a684552614b81a340a94512bf63a48f0e02f2ac7c57416247428d606bf12e5a97f95fbefa48126714b9a5622b8a5ed3ecb0245feb4174ead151d681c1be619d4afffe6c1892065769df3f15b510f9ecee765f69f0e7b0fe02f538ed9a53a5f3ac136eaffac409838b6691762a888cfcacc34e1d895efef535f5d68bf937f919eb34ff266c5d42aad72a0745caa5e1b623edcfb79b9bb8eca6d2eb067938a3e4bbf94623aa8a83d783ab48723a3c05a539331d7e81720aafdc6e15bdf0468f2524bb1c63e6375786cbe2ff8d143f8e06d982f6635aedab675234e9393545a0976709294e5f4562178fb0df3e41cdfb02398b99cf74e8c03a4bb0a3271e19a25e4e91c258460bb114dbb4033b28946f99f104a9959b502e40d3af62c5b8651492df73b0f2a3bbd83191258cf676391f30398e96082f4a1070403043ec0d88caaf108ce9c88b61f10ae86634d07602aa7e1046374815f12ebdd14777a566c7b21d9d0293c9df0554b5eed5fdf0eb8a07e724077f7f1bcd23d3a3773f1dc87922cf97b3c2c9e1cd1f296eaf202fb480191f371ceb6c4315830d3326024fcef10f632c9f4d1df98e5e6af7d2a32f0050878da6ca4eb56fde349dd4235ae047273d5424cf8a9c70dcc6c53d464a8629b7d69454c020d5203688ed5139a0c29c92e2243d4c80770e843b2a75aac6b81c589d5c6a49e780da4ba8579176b86f1fab0f1fa32e8b43aee676acf0d771198fea6abf654d6e5686968099372f348fa074bf83f69f1c1b5cbc0ae1358798822c2b338043a03b650611cfa8a59ad685f18f4eb8419d38d3af21227151db26d6f437a6a4ba33b6364f6f8ce51713f9f327e2155450b144c0672d3aace747626e938eab85f5b147807298cf583dc68439bcddd00c78399aa1fa94d259e51e7d74310a35b97cfde5c1e7574228ae7941c0dfb32863bf163458fae3dde4e650df2657666ea62e4aef75c192b3e11025fe477dfcf0611d08c15d22a8a2fbd4af8ffb9b80fbfc04c02419d779fddf35b26453ec99b3e426a8c20578b21491e49b6a98d5fa352156f567e23748dc2ba3ab4eb4309d176d50a8a38820a90317bb314b7a756e14862693790b87f2624d029c389c6ff17771a0473142b88481a72d69f2ebe0fbb0f07ce06e7782fcc4b56daf14b8c973c1cf435713376a64e31ef01036828d05f479cf9765cc888e1a75d3ee4aea067772017cfbd74d80f9cd59eee6d18d473c94eab6eaf9fe820839b9c3b0c71ce82723a43584007fa5486d0de8f95ca404551becbf9272f7c425fcd0eea0bfa7ad926c919275a426f5a55900eff1f1518ab80cca6f683e9e5a924aa78a7faebf82f59db3cdb30fcf579bac2921d27f681bfaf61f2d6e0a7ec2c18a7d5a15f9d539853e5cd59acee1a016ad345150b8ec680d626a1dfc55adfc24421237a37ee3d5ea4a3b7ad911e1d121cdd471b674f60a94a4ff9faebb5b8aa651fc780f45a6698480e54c0d9143953958a9727f24cb2df62b083a0e2232389783e866f075b192a26ce7d1b2513ebfd21cbac394f976bba28e3eacf978422d2f348ca0eff13b3b7264f6096b2cf5afcfc526ddbf91f35499271df3f084bc7b54565038b74b3e4d645707eebf74ac689af1fd21aae9566cffa33b11fe4515d52d0f218ee4db1acfbfc0d79a5902a397c2332371e3d08c1c9a549aa3a514bdc6bf178ae45f9c58f7f7d91bdc40d4cf01be2db9192d11e035ab9e38446642229b140a108c8bfd0833984690c1183415374cef725eac9f5ef9b3932f57b0a00d2848fd0bdf2466a1a6aff1f7ee963369dd50b99cbcd1f0b8f8de0c71f506afc80ddf705106e825549fd490c2fd20e4e8c9a6c836742a97a6191d6d61278e696e66629bc45909ad3198f5f83ce1fbb36af714797fc3b9cd767de4455de8b87a3f8fb19a9fd55e58c55575dd02c3b689a6552123121ed3218b95a21fe5730c98d598a4da8875918a228f57880505b87465bc2ddf4ec1e2bf0c2f0a08dfe5e989778f715d62ea737c2167f19d74d57643a81ccfe163d63dd3050bb1dd0308f03a1f9cceed63b508149d0d5f924ab9282810f4a9f196784427f3f1490ad3f0ee3c4cfbbea7676a0dd7d5e9d528239a6b3ba44e1a0eb9eeaffb669e99bb5221de25f18482ed6f70db56da03c44da3dd9782c20df298d4650d3f44ac90538bb1c6d440abce67a09c50d6d361fa556faf02387c4e1f25db7337b4947dea254601ecdc06cc5cee7ccc9ae43a920361c61f778e9d9c678579bf851d26ef8674b509287bb4543b5018e3c296b432ac97a99b307550bbb3cdb0885266bfbb82ec1444ccd73d042039830da320b45e83a41534c96487948c34154efe070803d4d2ed2d862cab6536faa05794f72b45b0328421bc1c799e4395d75c67b19acff3daec2f727154c3dedf9063912983c6cba4a44cadbc6593924e6976707ac5109ac392fbc8c1078d6041e68b47435b18558837d51c94fa2e00b81fe86bec8ade4462f2e4bc554557c61db79ee92729b433f4cd22997af709afabed5cd50e577a708d2a1ab55887de763ac18f37382e30050c97867fd371cb51779d4241bb2703b577019a36278cae3aa0037762fed2f7110c46c7e45153c066820475b37e4724bac6f3a2de0e91291b2a3c805785255f2c5c1bce0eebfd75a07cfcf0f9e6c6969d1577052792eaa9002faf003ba55038df252a96bd29df90c144d867fe63fa3174885497e72cfe2cc08f5cee118fa328f5c0e6bdd675f2c18e2781e0c32da548b497141e323bf1ef7e182868a6d2ad2db607d430917014ca21631b619e39c1ecf1de1a89c7fb2b2fc7a81af0cbd2428fb35ccf49b0ef40a216f0fe58825961158fa732dd51c8ba13dd6423b21b98107226d75677edea2f2ae7b101f9d76bcaf38288a0a9060353418831e4b69a77d8c19ab44a3a022bda903f93a621b6a7a50815c87b84314919a4ec1e29dc1f1b50778253395d8783e85891583c70ca14956beafa629dbf663a3e9b201d1ce329e6240f7e3afca998d4ca3ee3e22bf0b45efa39e8afea5c753be0301e383a3865d03d5ca267971e06914d0b7ded891692be966ed2f47767a35cb315b19812007aaf4322d4662931db8633e48b0515c04594967e4498afc565292e0bd014f4518f2d9db35a71c428138e731089ef1e1a2f5075979322516c4e7af0a3661dfca06e92d233da95d0963e9501007239342910e5ce89e5e446c5d212110e8423116640f952b37295cf20eadd639a3957e97f0f9588a344cea4e824dda2ad56da81ec9bb9fd549df03a64fd993b80bbd3ade533967912e81ce6885618eb8361713d8053d235708b96a5771eb3b638dc3db8683593426a3f8fcbf414df9f5a205ea27715305b46befa8cebf770b122f2b957ab5e601805411a920bc10c9083ec45dfb309cb6b9fead3d78f2a4ce1dbeaa70f512a8ba454f2507c490399c162057444a37e5ad8cf6d27d7f1c18dc327beadc6fe30bc36ee9c6c13f2e6a324b9338f2f9a01ea0dc58a66cd57993ab6685749a2cf429a108b13c9b8aad453c0a4d33810f8f0eb742e0174f9db396cfc1541955b645cdf3b56fab90b74ece6bce04258ad982f67b46249e7e61bfef1d55386d2f1aba593729efb2b9be1ac26cc68f509fb5e89602ea1073a4ef51fade8c038b686744bae4bc3b6276e4e0f1b95c9217e65593220a876655c5c9618a88c97ee2ed6ba2eff928d132c16520633fa4d89c7f61745f0d02a4a434e963ab73c748132742f5a9237edace77a8e1a5424aa8bd7aa11eddcfb9817b7fa05c2301126e2c8e144d97a7d4128002f2316e94435e36cfa10e2a8964314a63d1ef0d654c9570843b994cbbb7fd1e588d4c7a8fc048493ac1dcb4049b3dd52421b65f343c6155fc492b2cd981b2db9d0094eae56e8e98068a94059b1728fd76d10a8147bf479cfb72d1b9522acb9f5a8849cbdc523edd88ed34244b6eaf854bf9655c8b683d84c06b72400bd3941adabc9adf426669109fe985e9ad1319e45d61097d3e4d3efbe718ae8663465163fa3c433388e26b22bdc60eaf298239192bcb6da785e7970cbc94a803dff9c42781928c0c0482743abac46208912aa19c579755bfbac08f52b6e7198cf8325b75f474c6dceaa0f331ff497cb2147dd20ddeef7acb894f66c3d31908575e8fc76aa85e658a11d9556002430c1b15df93a2894ac427815901f684aa542fa6ebd24cf3c82f5767980bb304da512eee38e61da5403471227ddb5350e4c28d189d9e67f145368bdeb96b8dda3ae13677ef1c1d3a8bb91b2d2529780e6f8d6914a6056175e49919906ecd3e0c8995e924562c8777e8aefb10e3383bc78b8d17a0627668a668984338c358b956165c5aa1ca8a820d93ac30cf79fe72604a32ba28260d882a7337eb4917f92e1997254fc11e4c86fde7bc61c7bbb4eaf2cce02718707bbdc50a456714873fce93ec311b133386642ab4e3ebadcacad1c8051958442351f1cdbaa8fdfb62e57008b464654bb99a75ef31fa51a0dd93195520567fdddaef302e94ea7a4c6bc71987887ffd6af2e0a53a4c863064f3a29ef87342116a1f1ad20276df20d7b55365d8c8bedc09f8c4e63f82ca74afd18bec0dde7c7407a15958e7fbcc30bc5998d78e24a35a1f1a1a1685b5cc990ba5df19086fa70a91cf47918e7c6dc96f2a484d9bc8f7d3367e9794b9297e292339bcad2adb25c4cc5ac74058316f9ec30b8a2174111781cda79ac83698e50b406610265097e0c28f8c31d7e7657a10ea7d4528d1dafe6107df8ef52813b3e62984786b942f7fcdd226a55868389fc89ac6226850e61eb698a73fe44058d1bf6a4de25a779f8f0a760d8042b439b72ef40add720a04daef8768969ff6999aca05101eef4744b6c2af07191e24428017244779485939d560bed33142930f8121523cf47b16c86ff182b4ced7d941513991d01fc50cce81a8c417ead90e7035c96502e37c89c8b95fa199b8382d5e11cb9a6e3ef11abcfd451f5c6f2b17e938f5c367c1f249dff41c2dfc06f914d4cea6cb22eac821e98b9c2ae41d2042cb482cb878cbbb56ebee8848bca122be0f0c30df7902a8c3e7674424bf722274da9344e1135646cfd69e799fac5ecdbfced0e8e4e10bd9d817c272fdfefd227278af6bab5360132f60bdcbd0db8367eb9c6bb4a5476b4e5980fb7d93159705468fb205197735084f235c20ea7377dc6fcc7da071645f5f5b1b3e0adbde4f46f54341861d2305ad0d691034df8596001bbd5e95651769f4e14498d2034accf33107a77af6dbfdf9d9f1835875936060bca5c7a3e1be469d14760f026e6668b11f1161c51b436f056238b3b571e4e46a750b09aab5d3da77a277399f43574e13c342134ac8679dae945f302294c993ac6f38eae7cc274b72ffc19d26c7eeeb3a206030911c01e5e518591586882b18ed1476f9d1a816db24dea2f1257d67e98a6cafca9594a5941117d05d949329d88fd02b2fffc91bd8cd4dc4bd15f25b0feaa001b55e4e1d23e93e3f23ec62c6ae1b14d9d1b4d016ef7639e5ea515777dcb83b8e2c85ce392f73b80b27fe5b11d19734d38834bc18a832afd69c89ef41207ad7bc67331963695d08625215c6433c50a3b341233b4d4bb46d94508e28a0dbc4a85b2a22c31da33eb407215a68e1b7442a87804bdd797d2d2add6fcc669f46296e17def2ad09fdc3a39058f2e74206bce0eb970b7d6377694eb0e58b77c6dfb77071f93c5bda1f744a14bca2b31a894290e42d419972696a375557b1bae2fc608f87ce792624c0e732959ec03d5125e81977c73b7032a4097683f86ae98c5cd121f6226b3edec40a9a47c05868d7b48c0a6dc8018ba12b92ee801d45f00062834553d115527b723351b3cbc50ef7e9c2b9649ae94ccaa20ae839d60acc1a1130318f1db769b233000eb3a498c20a2126f3c9c07da68744c166abf67abde205c2b604ac1bad0a1a0a65bfda8185f5b9b04630766df6a49d4cb2928b8f6141c67089f5372fcfc9d55c45d607efb4e089f8876b582ea38f65cc25d7bf67d07058e48206ef62a84dbafc535cf212cf9b97f3b673a803b8592b1cf63a452dedc400f3482bbbf56681211028f2d7cdee505e88457b39caf363d1581486c5cbcaa05d972b476907d15088178b67f42201515826059d0576d28ed251071d44e1e8b349d5d1255d9498b4f14be201990c8053ba526371ca5b8f9938ed7e7c8838ba6689d604d37bf489e9f46edc5400fd9c59ca624365a327f891c9f44ea8b6bc746129b6d528d528111b66bde49b71041ca1352a976d067bd0178a7eb4f0fd5aa7dae7399fa9b5470b2f701502b2283c4184318d8d351fdd07d251af6572104e851649a970744b34f323f7304591ec23a43e53f9a60344dad366b230fb2ac876eca799246e230d3ed4927be2303a4a9f2cafa2ad025fe7c3fcfe9b89aad9f6084d255dac7c16cdb73edba71b7187a6eb1979f813dba33f74dbaa900510129fe64b7719d7d29c7875784dd3d6fa95df3a7080f7b68bbd8e328c9bfdfe9c5bc37f63f299d351a37b67f81e575e16a93e50dd173ee503f406e58996fe2804f9cd1ebfb922adb7bb60b70d5db3cef5ae468ac394b3873412cfa765a9a86aebb0f8e8707d1324351028e11f229bc71da6d70b6b99db5cf18f111969cac7ced63c36d655f2fabd2f246fdc86d4a35fb6c62e5d9153ce16dba76f950d942ed834e1f457901190669ac5ab1cce96660b6674eadf41668288880458a2ded22beca7ec70e7f6e937ea733a2cf034375f29cea0dd5a836ee77f63633174d59308f9147bab17b85237c19c13cce48e3ba3dac28c4cead4feb6eae007acad93df85aeeb6ba652a7499f503f65c9194fc7665b1ea47e2c2fcf1a1f229411744eae05ed6518ed6536d7c76c512e0ca3573d57a2333ac35f7815aed8e28f9a5d0db89790c1b1f3f6e67bfae1123afeca75210eec58b90c941b7104ff332ba5c623939352c45138fe6de53293ada0675f284184c83ddf9277d62c6c9b31c21e0d97fb874786dcc07dadf58e4bc13fcd8d1930c0a3753601622664e8be6990f46c5948d9107c427800693837a23e41414055bf0bcb81b59855354f35ba0e5d43b212abfa1cf27807935168c2372a646e07e7ddcbd4ab729451d48df5fc79e441521fd248d12b43da8f1a1380a7b71281c0c86daba7fa28a9a36b2364d8e68c6a1ff9421fb50e323f59bbca1868309853bb5ae80542fe8a18cde8cf7b1150750fd7a4dad85032c714b089d96a4c7e34f19737968d3c13abccb6abc544f3f2f4d3600114210507960e895c52a12e1f5959f6d059943fd14f5fc313f0de30e26621a1bfd968d5f812809529a4c9b7cca7a4b1629779bbf604618bd090d719e5f78990335eb8bcb4af6cdd139f50903ba8e2ef74f7780b426ce296333adc06e22d675d517a1cc923482e2311db368a61f83317fcbfc069e715ad689d975f742187264ee73bda939ebb8fa97901ba4029c485f1791a252bf9ec2fd90caf5b5eebac84c36813bb59c62f48e6394d59562c8e94d6bf4ae1f5c48ea934a6ec49ad82cdba1760c5662f388993facdc78e0513a8dc5d3330b8ff027e67551c3ad39e7adb77e53091211bfc98d3bf90a7bba7871acb67f30ac08966bed738b4324b9239230acc3862753b6dd7ca127520d9d14048853458c7a58d41eeea83e6afefbc51e96dae65d817d62a3cc43f0ea27adee1a023bf1f82781dbf7df12c9c57fc02fd81db42ca3ce1268bb9d475ae29a5fa00d0e342b3a1e8390569a03f3b72fbafaa84e2a74418b499a14e579da539f1f651a475899e7a048bd32654bc7a23bf92efb2af4d40fe9a96e4e1ba002640954fd0639e40b7006daa71b592226a52864f306048f6d993006eafb83e2d78d54fd63869208e41455dc15772675d00bd72c66f28a8119a76ee93260595f7994d0dba1892c70c38d3036b43c1425dc813ebaa42b27082d21dfa301edc9908173fcb081b9f433dbd229eea6bb098f3d82f26ee1b4fba293cbc70b4cd9b1a1f18696de15c614086b4b4439e8aee30b19c54504a57fd28200a288b4f77fe8cea87846b9e969cfdcb63c6805c949bb642e9575bfab5519973696df1fa49fd0a4a3ba2b7baa85b919e8ab016bc1a596401cce502c9dbd71cd848edc9ca1f858d79f2123e0afa4a2256c623d86cbac85da5de72c04f79e5a7a0d3fdfb68242e01326d70e7e426431d4742891ef8be9332fd0f2df9e22e9fa250df25c25bb41baea92fcbaa2562965e3e76d0434bb09a7f53db2e2ff261d7fff715b1eea3109f9448bc5685401011f415ee6e487585e7983fa542e66d01eef474c589a81ebbc3fc4a6391065df1f9d4275fb3ee834e4b46214e8a030f5b2deb17f3ec876ef352045536b39c82b4aa8fd5f5cab23f5d7ae05a75c63a5dabd1b897c998cd93de964f7546875b34fded14e526efb6b139b02ac0ba8630e5aefd61809f5243e7cb34a8e3b3ef8763c85e2b150b963e6f12fae0e6e4a2ffb2b8acb99f01b40ddd159b9fc113498cd268cf119eb58a78c99dd255bddd27425163b79f03541e6e0166a307d951f58a55e4c8e6586848fe35b2249eb69bbb6a7bd2bd6774ced0a596b59bba9267a7433de580cfa9fc95a5c26cff1211ed85ff33d2ab5cfdc42cc78c5a0410151a7ae06c4688a9188c4840c203c6cc3e0942410da9a1ea0a8e1ab304c88cc39be95ddd0a341c86d0b8be493a56cbf64178946fa527d09c18b84b315be4c20bfff7d3036f7104cee4bfeb51d7d7864ecd32c1429159a3b42f5590c1cbbe59e6571470228fb17b1861ab2b38e2ab40acfcb3f19d77ac0c3b1f810ec0fd7a3e6d402e985b67b2fee2f497be74822aeb460952ad9763cdadd00f591c3edb0cc3f53290013aeded2f9c05969b2a43152d5fa25b977916d754c3447c6a9c05d4816c4ad99a56502f2f31d69d1cf8c89f1302e1de74b6ba4e5ff125f3d6a8b6787e393019a7296fe3bce4f97dc848294f1b907c09f8a501686b4ce72b4633fe12b78b77fcf2c377e6fd23634abb2b143faf1925033daa4e8df9472eeaeb8483217756f7dc2a97626fc8d70647ee2903fdb3eac714232364c81c929bf3e20c5ee5088253d08ad55094bd70082225d931c8958d90723b5b74014a726db1444ee3d646c634f84ddd27b1f7d4b1609f924c172811dc155f700f5d12299867c8b49f7d5fc541ee5ebb282794b2a4e0fe616e5b83afff1965d8ec42770e98ef9a674ce2705bcab9ad308860f36ec55494cdab08c08ce3405a2e3f48b655da35bfb7ae6b87a7855295a9ab71057fa75b12d1a615729d27a454439de6331cef98acc92b38e9f06f215986d1eda4970f1679aa9d4e0971d942880441a5868c5a0516645b9f7fc191107f174693f1fde82e3a3a4e689c0446cf3f6932a8e2d295e8a6ce9a48106ae2c88f583419415d7338d6b0d02c09b155fc46af3b7476ab84a304928da23c525920e0316dc637704c08ae1e8e9ab3fcf3de2722f2d65d6ed6989f9a0e181560ff9d3bce6789c17b4801838d35817491a0d5c2f73ceb7457d8e633fbed351af7b122c820bf32fd77194fff63b61c8ad1eb558f56d3f4455beb74676aa0d870368d5266cad8ba4072a59ffd5412f2b3895f477a4f7676b05fb0f640b044b13ababaef1cfe56d32150dde11bc5ec4f01717b24aed42b9896fda17ac9037f67759a680b719f43abe6b5f14f6bc331f1625cb2f1b3f964f683e51a93731e499af2104679013b2775d581e67c31277f7f857b8a37e4210e4c52dc103642b9159993946f174c87ca58d1a12d4650cac6f4d026b98bf8734093fee0bc29e089f3aaa008e6d55e002d55c5e5fd1693737034b31a5f65c8b652578ea44f00b8ad0d0cc89be49baad123631a6993f0f119d2767d22526ec0c850b721c793bd07a31a2055b5c42178f5a9c9413aae20f1a0a81131ff0b7b6d1ec88e69d3477eff82cae23a80e0bd7a4b68fe3ce2e2621bc240eda11de687ab5b888c2ee126e359ee3f802dae8112b596cfe6d92982e25892f0b61b76f2951d2a0f6ce129a7733e76c62f52b60060cae403137152a92a71c2712a09c187c4c45afbe3fa62599f913ad54f748396303d615c139263aa8d274b96e32905d13f9696a84bfb341fd123d8d9a9fc2114afb126b84611d4b4e30fdc865112fc72be741a2b92a9b55a0bfc1fb7800ac895f6e41a052b92c365b6bee3dbe72862653357bfb0bccd9a9b1f7cb6a83d67bddf116adefd92b71a11e8b38377787e4df86ba9f4dcb792ab79c0fbd5741b0f4ccaa3d96f830a14121ebd58dbcd2c6e434d9a946a618a4b775df963401735f1ca12e655368d7a212338aa87a7d8cfe45af868661f7794a2706692b8f9d27f060b800b291b261d25ce33511d8a4d7cee55d2a0530d783ac795a5ddeef158fe9891c7f62e101904623c5521a3b50325bf04783afacc6a95244748b0f57b8d8a6daf0f98c62df208ea9540e52e347e3f33d38be9475d9fc89b6b56f6e6d3ace9da52a842512648d2153bdd5855b0de25ae5a435ce330c40b53c8fb8033a6a260ce534c2c44e237e15d4df645657ba145522d51ea1a280f16d059f816b566c8cb888d77229ba2c5c810eeb061a4d33033162625e605a68b7db64973aa66e7f263dce53ce184811f1c2eed3d30426975fc81175cca5b1dc22c56b218deaacc4f0fd5c45dcadcdb2eb4553b9ed9d5102392333f371b79b593d8fb8929f86bb9ef30fc103b5d0df1f5d81cd7ff6da3db205807abf14bd3083d67784fade23252665e072980928d33d9c9027594b56b7feae87337fcee15184bc46e91a59160aa02cecf28f77befee9e97ad8c1ed93d3c861a6f93b59669d6d7d823987afe97dbb1796c6765684b6dfa182235dc0be2d0dd405d4075501ed2a0d054c2c0a4b618e17e475781cbfb9f8df0813bbf2d1230678d92ecc0f90702ea94804fc7ecd5018fb1a25908a18bb08ad66ed43be82f5e9bc1975bbe39d56d0e5a69a588b8fd2e91fef78743f2c7f585a16df110d11a899cd72b49b46dee369c74ec6b6a6beb7fabc1770e630ab5b18a1277b3d334bbfb7c7f96b3f00493fd76709713132e9ff4b97f662adebf7a4e38f1e7002c7c06a72cb7efe00dfcf48bfbc2ab734074669f3f62d3c92129167bddf12e4c5cb14ea097f1fb14688a3bc62ad901f7467dc4899427aeec6f98ddca64e3e45feda1c46fd682a82e73374ddd7b01f761f276759bf047b24bddeed3e0205da5b42b217041d3d8dca42f2809f951b0824c3f951e16eae380467fca23afde67e390c0d1742dc6e69f9f8ed44a59e78f6dfbcfb38040d80130cab230b6c0ca0cb5028e80d9045051da546b2188cabaaca55c92c6004eef134eac769426848afa0943cf041e3368bf597f61ac2cb5185485105b5e04feadec8bd3d93c2c592edbffda0dc21fc46f9a9cb390a1814536138c148c2b874e560f9c00f8941115fd4c7af53a54f57a913c54333a0af15f5ffd29d3fffeea0d0a6e18f0099e88c55c1d421ee51a41be9c132d1f3c88498a23e5ca9ead126ee3d82148159f25c7825a9daa915eb1717d7d3554c8625c3df1fb70abbb4d424e84d3fc4bb4590a86b6fd59b6eae6937bc23424a96767032a61e371acb8f4e77a9590038ae25181375e3ac5532a63b6b2c3f9491963daf8ed34b8aa0786d210e1812fa21fd12afd12b7b231a3a1ba867e077455fe39c3957bdb764dd5fcd57ae3a47fbc6afaab8e574dd956274d1b04526b82586cbc2f2263194f0f00a36c87b58372ee4cf02ce0a1fb1f1238b7d91d78438c9dbd176e6e1f7cdb54445f007dc72ab2fefccc44ea24d18d4138dae679cfac79cba8be195df70eb31f130212b72cf4982b54214f4d382843922feeebcf87655f2825f3a25af5bed4110423dea527a1df49b2c908b926e90f00f68e0b7e816ccab169d1154a23df856b904228d44a6dd5c58dc4d6f5717a63bf298e113c81944a8e23a2b48ecb2737528e3dbfa0e3d70b114325917f85e5d6c3a59c6b37b8a324862eed10c77fd3664b09e1bab37b2de1e52943619af4e577b9dc5971b505740aa528d81175a8c0a9cfd5cfb2b9927ccd0e2fdffaf5e4601fd9cd0c943c828ffcdb1032f79030f16d3cce41d47ad3bac820a798b0f7597bf913d9b15a94feb713a054426ca5a0854f54e79b6e978034222afa1736554b90f34d2b3d432b142d7abc986b0a3a65ba645819bf4e7e49558af86e0f90aba3cb421ae7c68effd2e4060d11fd177368e78a39303be457b2cde7389245392f037aa5c19794f3c412f0bfd52e8212deafe82735d53f02bf75a0f748b87ab96749807069bb0d9d115eb6e5a073d245e751c747d73658db4841d6838a721ede60e743863a4907a4446d2bdf321eb69be2d4c6ce9f03450dd966be704ae38af793e1057750e3dbbc9a22370dd7a0c49820b7cff209f6e636947e9299eb6c13d4c04e8773367fd3f6bb592abafe82cf024e4e510fefa102831beebd7c227f99952394041e22843132e319794329bc521bb3af8a410ee60415598727ff603159b66cfd8867de090b8e3ff9d7a9d5bf0806aca692816cc33b0f17f57e9adfee4e8719f09c3e33b7a5f46f72aa7ab7542a6a62351c7185b2f9a3eb4b7ee1cbcbaaf98c70fe6485864c3f4b3d6708d805a096cd029a2067830ef5f6006edca1ddfdd6c206f68fb0685666693ba1b2b1a6c296d6f2e666d9cab4c75ecf4ccfad9fa3672457c610dbbf715d74a0e803367c541f87c6a08cc2933333fa24022f1824c4f98dd85af27d9fac0ad7bd0d52248a18b2d001f2d6770e45d1c3fc785bd297d3e1421e2847ecf8d5d3579115f6d8f88bd5de74f06fb09dae00c88d767b1340f9793526c4ea82bdc936f2d5b045ba20eaa33f0440c8aa5a953250373053d152364ee5d74d7f6eb9410cf810db4d67a51b29526ece0445e14ffbb2aaba00019b12a5c065e524a2df52c20a76a04e6ab34c6cede5abedb4cda417379ca409f3677317bf228e34a00faee3d9dcfda6715b44d08fcc677ee4a58b145ece5028ff47fd0faf0b40ea4d9bd7a5c086796117fecc9199fb8554dd1cf6dc61883395c22c5b0f7d7f735ad7a9a5e4677a51411a1d8db64f647fc40685a0c928745bba2b4c022ab50f60f9f0f33cdd82bac7f3cff91fd4d185ddf3f9cbc544f8ccff6ed727f9be5f53bdf9a85a043409118b6d334f2ca3335e22bd853ee3442e02d07929d7036286320e7b9b291d91972232a070a8842bdf850b0b122218f6cf72d0726af8a93cc9b5657eb9a70b41c65427c20515f50bb2e841fdf4c17255ec2e884c9a9900fcdc1e0d3137efa2b5e977a49d0b1f412be22c64cfee1b068861bfb83f5150474931a00fc8a68621dc81cbe51a3bea63efdc8b566cfc29ea7948fd1d32d39e8d1652872534ca30946a7722fdae0c557bae4d17fcecf8650283927e19e43c6f587cb048ed95f35ee28358df708e6d24200546e80093396e0364272d1086db8711e326a60df7b458db4ea80ef2ef9cbf6f399d785a8b5c7d3c032ad7ecfb0ef08dc60e37085565919c099fd954e1651d5ddb15f0cff2a3c2b666f90f1e689a29c2f4a466c2d885369ef0adc0f1780a0c1150c2079a7c40439b8879ed7c8e67eb673cb99cdc5fc0735571dcef1b10f397c5a3460272ffa2fad24688a5aa365199e1cd08477ad6609a86ed3ba7bc4e0dd8ee0b5a6598f0013d027f94da964853d330e5a94f12eeb3e1eaceeac59008930581e0d36da6d208470c3317cf24d9bc2e277307f0170318ce01c4f3a05a822fd87083d17193444e3f487d3c4396e346cd19d331bddc283f6c868136b186b9e95b264061660e70679ec9d101072d4acd46194eb193a231b59e4450e8651036096f70572a311dcf2f94fa077f82dd5e7a507543b763e1fb07980bcbf630b8905d67ed446b9bfbfe6da727931023c2528d26575b56810263f7328e58a214a935945d4796ea5b3c6aafdd11344e9695334b8bd7d056ade9d64b25936552046baadb2dd6731d8cdd85366dc7965156e64db378a259a5f6a42f68480138ed76f517470257947319c3b4c427dbc49c1dd02b953027ff625080fd11fba633c77c2b8c5bd8f25574164df5145ba100b80b0299223552ea24f3d0c09408394341056d40cace2158748ac7561d94e99379ef1b8ace56e8b5bea91c5e1fabeb7264bf3dfdc863d2caaf25dd0df9772aa207591ba7dc074b6e024d4afc47213f69b591bdacc1c31d2ce31a7736e6776783f373b0cd50dd1360313da13208cbf09dcc76db806de94870fb377a60a103b11ad0b2e2c622935bd1f25ab61fb381f725a09ae68bab24b43ddea468988f12fa74ae25f37a2ca9565e5ec73a83b0f8f785f9167b81f3d2a242b7dbe2a915fbe05fed3eb30968f07987f4b2fa6ec1776e3f379b2be6e9c8290f77ef41ddb5f40c7fc8560c0ae9ca4ba22d4c34d8493ffc13948351c79e3cfd7b8982d5080efa18f0bc6c19448673973a065d8cb0ae17b24c16b2fe521bbe6ce3f302dce10e89ecbac72cee5d9908c19e72a472744ee4fe0cc25db2e69ea3668d86e85f2ef8f50cb234cb8d630df0041e5e9daf8c04c5ec6a511299cf38f5c2a2b7d689c60eaf1c45bbc50472d8c4560b684f360e7de0bb53aca8d024bef9445ba138e5bf38edb7217df7b51688fca7731c4d0e21f0e01c44ba3c46c2ab323d14e4ef55b60416f055c14f7b3eb6a46782d7b797abb0699dcda3bd55b8a7f87238826db60e53674725144a1d1c77defea181ef74f4c3d31685def410086f9b204961424ac25c7980cec7745e963426a6db29148d0171a6ca7930d093b634a981d8d42ac939ad3b6756bdb656ea2b251ff96ac4bd4df20d0ac2e1c32fc0e8b494fa5f86f99c5606af73a47c6ddc3c07b11f41dae96764b4da0ca7fe718e5788edd358a609dae418d2f8530cd3b0678d300e05f47818d8dfed9d3d33fff9d8d892d4b78fbf9de7ed4857764656f5db677f36db6b90770264e28bb24abb35efe892ca2a10fe1c30babc0e7acc77e7798aaf0c5497c47cb086083435d05accfc09ead2a7e2a47c437983d552405971da67084e1541f8747c30225efdcf7db93603fd3654061dc06cec9a48ac0cd8bd70fb799002575c6c6a07fa6c576dba539a0ed377bfdea6beef1e39553c65f1afdffbe7da88cd4d788a6375179a9cd894cd71229ca333161df3263e500a30017989434a8502d9651cf58baaa5435192c2f46863c76bc9d4f3793f8d0efd7c1a3cd71009435031771fee1271a9adfcc3f29cdc75f64c8b4cdd4b144b622594ebfcaf209e7900e74dafa8f75c06a162de80cd84dc6bd324b63077891ad99b295b0cc68d51babd134eb97ece194fe512a2620f673e691cb2cba7a0171216f7eec0a0d10e5d20cf279a39301e87bb3c1857439729c85085cb934cca388f3a9b2b02e61b07593a6a444344f6e79428bc647f2d253794ce20ca5c0f760bb6d4ac51451b86beb26f27e78f5261e51e8b622a6b659f7c8324e15aa5aa3f509fde6b017f9a482ebc1300ea5e51f5e5b2ac854930bdd3ad8d352359a6147462818ebfe1de2afa741c8b46345710ca054fbb36eb694ac47518c7c5f7f9e534de5bb48b4b8bfea3353bb57c21899fd7fe790cb48005768d9cc307293c78aff48f993558a0a3e665b18671e1faf4272aa29cd1afb7857c45b155dc9e12aa28eb63e006033d8443d888664cff2bf056cc5b077b420fdb72f422a625f073eb1caf64ba8f07a8fdf21f4426052438faaad298d6e1e68a9406ab7a1e61853a8cf746f182b28e3d44109fd5989cf285adf5f3336b1a66c13de4e940401557ffc007d5211260660eb691b11d9aa21f5d4f05d5438d2093433803f0fd5f58caf8bb39a66fc585c6a5466d4d2ccab0663c4b9c54834068302433566c7b4b95dba9afa051fee74e06567aba391e9b26f147933a62fd05060874899f72f7290eebfad72dcf1ab66332dbc2265430e2372e0299c4d51204964a18eaa555cd9d974ac2a3ed17af6bb6f27292448603a9f8b16bdf23f03e8f3f2b93877cd2eff810d9f1c6b7df236b9d7a013594bfb9daa2b985efad7fa3229ccb8a67a9841171148c95c85475be9b4fedd6f5bded921a138a7775dfcc7962a13cc4227f851520b717ba4b9b378c3ecb9a50afdfd6b1e4449f4a960e122e6cb90f595dab2fe8ce27bc3142e274fc2224ce83c4adea02be55f51568c6f1d7581d8ce4cd8d5500553ead6dc306f18dcbaa513cab17e23324e5f24e7f77b3f9995c666acb0018a438375929ba7e5c62aeb17bc7fd6ffb29bfb3c749f22bcfe99b067eef10c1be96277c67791bf9edb9cd4b115fd54204e6a59016f896cdf63a1c2f8bf4b58012e6da439e96bb8b43c00bc134ccc41c7d4a7a5035c511f571efa3e4d592f174de8085066d8277a73fb77518926ad4ce9081a50efe000ebc4e9352f07b6b67c3b6237e524cb7cf6314614c771e32e33ec4e7d8efac28bc6a60085d71761a73d326447af56bc8af2220bab4fca1b16757d807f8b57c6407724fa79d3cef3972588bb41019e60be35fe6892e9a3a17eabe01a125140d8c5ea5e04ee5a157f0ce58a29f49af87dcfd59f5ead931bc7008f6ca222a986a62af69aaef15a126a8e4b1b80b3ec37bbe78d74386cff5e03c6def15d42e24afe62b8a973c2468441d4946146817e83849ed8bca2c6a6b31036af2403029ea2110ecc6ab29c6ce4bc07ff693d2b849eeaef5b83696640667d513fc790ec42a8281e0a0af848d5584efaa62f9e26f8d8a01a5c377507c7387f6b0be5d41b3093e554928814e62957e28a6bcab74230a72b20a34cb8d62ae4f76099f59c24a2d30b9e3a63009f29798f2e7e6615bb8b113ce359ca8bde54a5846e7afbaaa113aa262d248f301bd129b0eeee0f02ddb349dc5da6d004063facdace808462f11f597173ab0f96a07f33145781dcdbcd0c76829fcadeb9a1d9f22aa87a21b05d54b01fdb854969341f2c95fee4f3a8f2375876b448138044d1aa5b6a4b06338b5c89bd78df47459d10c932b4375c65639191aa8d486490d66d0048d3762a27fd8b3b6c49a48b0fac0042efd4de1630f811f215ef131d40f295f6fc5b582571665a81082bdcc800fa2a32635a348de688787772cdfec8cbaa5ce4bf5c5d75ff6f01137be770e3226541367c7f16cf5032a217ccef13c9cdfc0114de64bb98a30d18cdd96095a76d67a243ee8a78e83f3fcb66f0d5b882fd03d4dc681dda680a9e86b7de91655273cbf5e61454fe4619885f39901224322ae465b3276b95cd57e3115b0c067e78ae38003853deb4e6c8f6c3ef3c3b85d0d9ad4cad798897f6a491af1f5fd1d0f2a04e9ef1487a04586ba53129c8956769581e1cc1da4dbccc9665914604b823388b55970a3a56e2d62f9dbf05f5f25c525ffe454c7a93c11b6cf31c5e221d4e99e18a43f6b69e4a12fb24d46374f29b6aee43ed78301285b58a382deda0d285448111940b78bbac325015ddd9bfafa838c85f6f1ca7087cd2c91606ca796b56823caeb0753c62ffced06c3927307ec2e559f978cca4dbe797078416aea323e676ea5f196d4ea9da98a53129d50d870b18dbe43c765e3c64a2113c11f5b1acc08c5bed01984d7d3db8381914594b69fb19dbb0100790feb5c03d05fabed0cce15a6d4f5c0ff7a5cc9d94948c07c0af89b5d19b3d013d71f85fc042065a7fa421366db414ccc0196570d1bbed7e25a6e3d56c56ed8d2660d6042d8d90fef19b13bd6200d73793fe8c28bb6295efdf874f42c70d4c05ce4c613643f023eb2af49b13f91285c451674e00e421a81a57235de3e35277ab96a0db856bcc785808910f9fe5ceadff718e26c57b4b22d2c64e0b7a356a0799b5c3a5e8a9f52865a435a9353b88fb9261890202c7aa4752e24945cd8a8a3b7f38bc2a2bb4e810501b0b073993a3fa39b4a563ac15282ba1409349f5275a1f15a943b3322ddb4467ba5d79c77b44e5152f3ada19ed5a69300dbeb26feba5e22bfc14f64ae60ca1b07eefecbc7cff6161c0c06413f19aa65a9ea2b6227f552bd42126d594c536f0753e1da74cdec796cd0f3938f539b09f9a0fcdd079712b40777862cdf83fd5f833e88d9bc82018ab3973b0b7c8822c7b75b152535534e8a22f750b79c1dcdb489bccba287425f50044d0d339772e300f1547673552af136f146b8e492d3c1a7bbeee850b20b320919b075c8970159388b45143371dcbc133cbe02d37a7ce9dbf5237c83d10f2660ce379ac1c492941432a0611930fb01ea3b93d52cc181944bf293f1133eb076740623dd59e592073e9ffc18b4bc30939afeec6407f43a15106249678d3125875160568ecee93ad83942dea7f78647cdea8638758c0c3e99176112d3c936c9b1792d0f510a321740d4fbeb9facb423e894267ec5039b38f7aed191f261e96aad03a5a77a4f0bb69a1e865d1b7eec5a082c383437f8942dccdcda1fb9b1e20f9dd81235fb9bac8a87302745ab4ba05e948ebf5ae853fea04fff35d22ddb355ba0ad3fdb93358d5d8b56ff1c0c1ee52807becd4970b3dc459010f38432551975be53e3ce63d543b70fc93087986d0d93709e66a44ac68a08906ef47eaf1c707e6f99a80966407df3ab224483a9b43376129d237f0718ed096fb64c25f4e7a1721b71db0f2f4dc92ca4be7e9d4339ce58abd4f410480ebd1091e33fb2f57c1c9ef9207ed5abe8caaf0ac4c4789e9bd0b4b94435e35612e72fe95956a053a28e5990737562276f0764d7975e1f901bc9f2e31b3fe33b035d10927c443f0faa2f374c1ba6386bebe0fd7901fed6c67ff94f64bb040fc8cf40efecb842496c102c076f590b63630aeeb7ec53de068b56f5ddf59b7ddade016d7837ff8709bc3eb7e69f0d740a695077080085671d59195ab0ff66e3b86ef369f0c4f77d3af1839241074a445168ad0af94b4f5e93611cc487cb52f32b82f4b7467e498a560e2fe63af3630b3aba4e49c6b63fb964012dc0522bf48a6ee165d3579bd3bd20d66599a76dbca229b357cf27b2e501d78ccc870fbad1fd126bf8149d337719e2e4ce283dc5ce85f9f54be8cc506f6ba1bfb62e04836a120f07ef883e4062c77c4b12afba164d42cb6aa295ef4e7009f9bcea47d56d48d989f35e36167768fa664b7a1c653f60b8640ac60b8cc40dc9d34b476457c1c8f7ec2fc2b27ef6c6215a4275e891168afff912b21924e0bd2da88ee8f1688369e4e8f0932d959f81e78ddd392a7f357fb46c93cb53daa3475938a570bf0d8ef4e797699cb898180b1789f6b9d5bf053d1311d5dad4bc839a446a315c56277f4098d442ea993d85ada076bfac798859f40b7d14893b19fbc22e126151ec73dafc465a593d9173586440d59d3d7f376c0fd00070e15130b658d68a0a162ecbba06060e88a51f79d879354cf63d58c1e6908cd4a2c76b2656609cf42b550bc47806360a7b030e3e6f61a5f18b4f0bdf41f2c71c418e3a2bc01a5ce8ad1d03e6c44a1db84c66636d10ddb1046b1c6d76d22bb36f9248417d6e0d85a4351d0f40ad52accc1217f00d97b1dfc0a2586c46a349b64fd9e8e06c203b6d4bb929fb2506575b8b479236081b2cd57362460e41cf848e8dfe2d0c484c5dd81bcefc42424f05f4c6258d9cacd02b4db91b23e8e0a0b5b1b4cc738a5270382dfe508ffa2542a122c5b93060a9811554018f3812978eaefb83d1d650c70adebe85dae4e0703bb44e952392768dbfa4b44dd52ed23772ca944a3c400a561bf5f7eb51128e512645a8c8505cd3a90ec9a7d0ace0c4973b4d94ac0aa3073ccdaf5bba71fd294be52a0b15646e51ae45adb415e42088486838cb237dc619628e493aff31f0de05a60a95d71c24691f6c610391714a8cfb27a2af9990c0ba7b23170ee07621b37e792b20f9f1a1aabe24b5f83764e1ddd0747d1ee92269e02a4773a089e053da675c3b6a475976bfe15c5d99115581a149e1d3f1348790323e48a8e7ab8dfa43688e9c96859f98e8cddedd5f78e00578486c924908398175089fefa0dd5b5dbb0314812bec6db5d6060d51813ecd49d63ec382c7bd634721103f4ead71556d78046b336deec9c1bb5e91f9ccdc88b2d5138562df20e6eb3488c344f9735b51c01dc7f328b3c87a473f5b12cd05e19fcabbe53ba3d1a89f388dff841d6bd4cfaa44617db464dd177fad4bdd9a746870ce67f4dc02e792b6c92a7fc626036e4a51e0bc61bd490fee057adb56467e429f686a403b5d7941c8581d4a32e06b614eecb994436ce426459184060827119650cf9ae4e6093c41e7cd4fc4ef4b9ea6e01f18618331fa0680a452df80d6311b3748be66ae0d7f70ef1dca505a491b72467aa7462752da344aa260111e5b9bf8f42a9cf1b7eafc8d37609a5b89b141a3297d8a89c631cbb7c929f982ef32966a534e9fe07c944bf4390a2c876a0f328096a358d64f6fe4fa655ca935a4db0282eedbe29aa7dd8490ef283f01695d6a11a584a88b8abb59f0cf8b81188e6262bc7ba487e167b600d1b8dc77f93644e02158abc9219674e770c2f476b023aed43a747bb84ff801c759275e47f0606ef42055a7f3f7ba225e8a5452bc5da1d2227563637fd29095f29a500acc12694bcdf7f37da04c5dc4d78ae591518e8e957fe68c8d7b2aa723c8a064d51d1400eb0b0250702ae2cc79e87e04f3f69c51ed6e674ca33bd73f7053436df5c4836f849e864ff160e7d850aad820fcefbc26b01181bdccd396da08a38010b43090c794ff14e7299b1f303df058a24560cd164000425fbfe97dd74bc57b5c27f6a360cf620a1f6e0e798929130455a6df0dbbec064a455fb48089d18e7d1a35b4ee00d55ef4a34955f3f1f744e8c0a9d2eefd59040bcb4b127b2b740c65a136110305f2ad5b7d7bb01833fc020d4d1672eb9de71a6afb1435e5607944eba3c5ede9508e19f15c6a6c195fb904a9dfc996792de6a11ac08c51aa1e9bb6b791d04fca3d673b68c49d5a7b261e7a0b79395c9872c8feaf3546f2fd506094e37762b5e300d11fe917049a3a5c8478fd71a04ded2fc4ae1f2e07a7ab47069fcd30018c90943d27ba3cc000f6658377c59b9053b03a9f550e67a10f4213200018e104f7a5d230f848f368334612e7e22338bedf48b49d3f5e25b9ac3450a78f01ac464bc64e20a10ee3fb202273bd91d62c1f254aa61fdaa76aef1ab9b4cd93f3093a9856b138832ffb4ebc4d5ad9a40cf72902fd2e7641420bca43ec709a7895661633491260f6d1d752c360b2a4fe6983ef6103b6713f98091df67deb451fd4308bf5316e99c0ef831c78de7e225620c5f2d79aadc0c2bb6436e744eab80126f129444d7ad7e44b801d5ecb10a55b1a389278dfcbbf93b82be2ee58cc55cddf492c4fb2a6369addf4107a86b87f803258c6c779157c03c484aae2085616eedd4b53b20af8748f45b51ce212506bac9cfa574d5ad16a00a683536563d912394e876ad3a05431eeae617c1b69aa05b0a8ea1d89385dd7750b29d142fa0d9c11daa651588479baca7c431e68f2570c16868cc5f95e4a34e1b18a40ab71014c13ef8dc09560bb358dfb3b5eb80bde569cc84bf94a1b573a919dcc782dc65f447cdeb6efd3b9bff56776e1750bafd8d0b9216fe44a067eb1c3369d35f90f6e5d0ab1edefcb6c282f62d83e39eb83cb7144517bf43b66cc2cc84b2bc484ad2a82ea77b82047f0d0b6931fdf0a21ccb8a342753f7703f463916da437f48980bae27cd9052ca4b1b8d030a721a61abf54e23a0851437aa1532cbb44268bfa73eb17b49b57a7ddec92d6ab5b5d178c94f7fe2a373d2060bae09cbad1a859366527ef35169d993873af0771cf7f8a6996800707cbba913edaa2554ca949cc13c8895f001926d94e0c7507a8499fa693f73b8d89c6bdcf05983a1d68d0cc827fcb825fbea0f90ec6e17302c6886f3de5e6a66be79413ab7d0818fa350741ccc0e5f1b4c72d88fb35363239f8016fc11e521911222e0e4a32585510873c1709bfcff49aff3ab614ea4ee1012ac6f6b964a8725aab5d9b18edf25b63907e1c4be414c855a4eaa0c01842a2fecb951aae17a7e7a00871eb2977ab9af0ad38f4233042c4b5e86e04948ff81fa86ac7afb49d1d83aa3157f6c073ed90c9a671bc168bab47a00caeb44e8d0b86815b997469436b7b940b3a81f731d17bee5d79f59d7bdc58da84a7dec6716387631ed9b2116dd3c280a06196cdce5789f340fc735a4865ca6eafe0f4acb1e889cf4a501edb61f68b93d67ff9412407751bc004a0db0cf17ecacee067f3616e6b83a83ff9f48878dcd5b0f011d33d567b71945f1ffac0bf7e68f87657d8f0dc7082f540c62116fb896605adc7da062a58249c35160a93e29a58ba0df7e80995b8413be24d609dce3fff0fca4df3e68875f8cfaff3e4adb315aaa615a766037778b0f5a2d11c115f80cb955df52e213836f0d9c9f9cd92b78282f49a84447a744697fd8533164931d1a6e89c0c0cbf896e68171dc6e1fe5f7a9df611c4672f9e340feefad567da7a5aa983a8be3391fa290ce00b8e37b48040be5550e591df19c3434525c7e4989d8a4b4ce378b57c6f508d26aa870516f7ee63267ffdd58dbe18cb3c60a827a5babf64d5560c01c8a3d9489c52576d0900e5c6e0df4cbca52a0e4138c72f1c247a70c300fca3b18ee15096672b885494711c83d0d7f9ffd41ff9f705c50daa8d211059c510eaa010106371b91bfa775fb6ed7df0dc4103e0ab597aea6e566d2595ec303608c0693cf9f27d455c2c56178b5d9973cbf6ccb9654b6d5ba08ee732d0d7f115f8a4f50ef56ffb02f2e4d5a12c5446d5e2490e495f5a54b71aef6f1ddc8772dbdc4b7ab1917fe3e152f0a5ec48f574780361ceea18ccbcbcd7a2aab6e63c581cc2c3f780a426796cb5f47bcb05434dd21aa461e82090791b5231befd3b2512122e78332e3a3bb651fd0580d56fa452185d2507e2b3f61b36db4b474c102fdd6d2f0f3db44f3a30cc955b01fdd772c814b40a252a96f2aac994db9e94314098e4d496d18fa33f16e74df250dc2cce079231252601d8c8414d601c4f5e677f2d89d48fac80e02c7656a433a6354ceaa982d8c4f611ff6793e943f1d101ea6972e164cc3e45d043f8e055f85a0dc565ac38c06021ab5592732aa4d89e98774fbe85eb2f155d99db804121a4e3a9d338a5757aa41941045c7f6ccc89f12f4dbffecaaddc0527f11f0ef71ee90e83c3f1764a044048d158b89cc0aa54958d5be63c867acdefd70636861526a659079cd301e7cdaf3b7d12c3f6f0fb56de5811be5406ff073d0e3a9722beb2cb947f7c1fcc7e9d6c30e23c09846eeb0a21f6a0e8aab9b001d4da6a65e88ec532fa9c5858a3f6e9189c98a705627fc013ca72f22d2d08356e0407917155c0673715f252169068654c1a22d4341278126d6fd910d4a224206645d7d927aa1c72393c796961dd6c5384180b609d1ab130c9a46e099b0c3dcb9c72dd8cfdf28dac37eedbf3a30326e46df06189959c796277c492fb3dfb48b496c0b3b2a4601711957741a7e930c5c9de2820a33fd7320b59706d6b77106eb666c80995b90313d8e4fb8ab7bba9ddc583b711f18007afaa792a7c9e7a254d227604124c14230c9604256757dfd474ca3d6c92eb8edf3f3cc9c765c0bed14461fc539908aec35dedc7a348d2ecf45c57fc869088cdc4b17fc3da380f551b7422168255eb34d2809b908903c67a793ae98570adc8a80a4fac6e3cec17be4fe3461cbd35f2c0c8a5e573b78079101b5a7caccffad47e67399d9b4ace263ad9bcb41ec9868ebf11b143869f3b1ac23918606802f311983c819a02fdc7289ffc225e39b8b44368a0b4d97e8f30249451003952cbf5fdcf2de8061c5abeca0965bfbd5a1a27350af8cf951196df642cc1695c63e68ee7ab1029f8f86dee7c4d4ef78934e4736a02e3721eda38eccf393acdb6ac3e657c899432626787118f96e45f26554924c8e553141873665dc1d7331629d1903f69c9a09cb54a7d3d261032ab9976e161f92a391cfb026b97981347b6a12de442359c68c83d0447a9bc285b9c8cae9372fee180dff341b88a431615eb8c425f5e74a8674b47d2ac476cd79f04351a8b50a7aac5a2f5b678bf0b46604ba622e5054a65c5c24bb98c84039486cb9b4437b1e0037fd988c6dba9bc203f5631a7c2febdb64b8a7ff43e2bd3950f7d700fd1aaeaf5698636668c6fc173c332cdcce16829fb0d281dc70d96fad115c560737ebdd33f94f26e4f47817fc0b87d36117294748fdf1151ce2e90dbfe6e939e453641e44ee1b67a978bbfd740c7beafab17e6d52f822fe7e44a1609ed7f1773f33e8d4ddb51f040847d908a77fb814e126106d737f0a765dcad2bd465b0a588e89b2f3b19a2bcf4df5dffeed3350b20a8fc4bd3eee5eb55500f34f036eebf475d675cc976f574f30eec70478ac5bf86c3a67d632c7d5954a4be4d8fc1699b4aadb7c28392e4b741054e71313862fe7a32d095d88284c3b65a7c9df84e63cd14bc15cc274c54dcc154a31c4dc9c622851d5f3fd0046caa1844d207bca03d3d82c20dd59b2f4f852b12011a88951940afda134c234a83d40c715fe10b3c661bc46de020333608586d4d3730071cd858669d3e7895fef7d28af6354e3804378d821ba8cbb83b3fc94d0628b6d46ab870cbccd0bc35344f15cddb268241ea0d71d8ef08d8dcab2ce4f9d2181bb3c6ea9f3f0e1fd41885892f18a631a24e7588d04c11bf4ac0be001f4b5b795b895c3f9d7f28b1f5326bdea1f16d6463cc40209a195afb2b5fb3696d048c5d7ec44b9b1e6ae9ae25b225155bec20796478184c6e468128964b7b1534900fdd5d77ebe97507f6ad375f6ecf52e94606fb08e5c5368cbfbc92512732444bd2e3c0161492c686c9059bb018aabd50f3cd81b6bc678ff16aaf7dd78b165e6324ae4335843c533d3114c2bf2a3b91cac1977cd1f013412ae03426bb6c48a55683cca1dbe7443233e8e8417c0f639250f5b6f87781cd805ca2ec88e3f43ef2a9ae1411043b81182262fe5d1e2d5e7653d554e420e46a9ef33ed0d5e78cfff6f0ddbef1efe02b6f9029b6cd59785b884619d4e9e7673210995f1240e76e2098a238fed093cbeaafe48b323006b48ba5df4342dd076e4e99ecfac2496b5955611a20a7578f1186faf5f34f72928b7753a7c6f852f04b8ed8ffbf294a52e5f76e8523b8726649023825d2de08587fedbd9ce000bee89938dc0b96abb730eff01a4ac744b40fa4ff35742a5cdc01e9028e516d80d2aabadf5329dd4f2868a91bdbb35311348cfad2bc14de6fd843eca3373cd15f30f4159abb390c9707591d5838a88557edfe693262bb995f323d4fdd35b589fae58b925f0aa4e4fc4853334f7cbfa4fae7a48446cd7e2561ecafbf09c1c548e9d9105a9e381fca3dcf1714e2ff891cbb190126dc8794dd1c33d4390245a4cc03f73efe45c5e0b63b1f3e29437f237d396195ce7493907aed3c8047e7f29c9f0e7b2b2a646169279d70f38592c57bfd5f078487d252327e0a7ab014cb1f70f273d261df85929548317c6e755eb1f4eb7871ac0d31bba16960e9b690de015b8e0467b8ec72f601a66b558061bf715325ed16cf2aab599affffcb78564c0ac3be01168179b2aa0560936872c24fd7969e8a5a6eb9da90e4bf5e983de4666185f33eb7eb58fd9479499a595cb6ab5e1776f519592d7336589c2bcbe2edc481ee67853a6549e7fc417731fac163eefe138f9e3ae5e6026a9aab4b715fd75393d7dac7471360a0783b789cf113ae36b1c5413f7b2e0901af1891482f4dedb42bac546d970fccc5946297e9f7840f27b72e880343e48a1b9bb37c9fed3dcc454f13e7a13727c6d63b1e37ef2dec72a572cd568e8805382a0d1ed471f424c1eaeec8e470cd25965eea4e5685ac96ee959673887fe9ec6b83959aa17da5366db65825f68fbbaba4d850630e5dc93739052695fd21704cb44620aa6f5a3d3e721bd0f7ace84c7ec65c114bcaefc055e2e7c22d5e7a59cd6e5b8b02417cb450b8c62b39cfd512afc175f7cd6e5e8d07ac5ee6f806afea28969b7e574d7f37ec4eeb16bff39bb7b1db886fdf245524dbcdcd778b6442fb64b998ff916a4d9c7a63cc46b177850661b6fc35de93fcdf6b48de0b8195bfdb095ca00b659a7fac94be1c8f01f50ac37a233dc0762b8fbef1c002cf68b2374cd7db7c095345359839a0e583d8ceb729756f911d507f2699357c54a40a65e4a10e1c0ec69252c9d79a16b0759595756cdde03d231670eddb70385c536af2437b78ea91373ed7237ffad9d4c2806e8004f4fbdba89d7a9ec1d404add7b5c2a40ce647c9e071e6c6c00414b81a2d72ae5b3c3d75f03e8a9544a4ce1f2578a679bda1e7399665f1d9c559e0404c140898b629aec4cba1dfb0ccced465b8acef461b90e21756e4b1df8cb86815f5d080249deb147a12b9f0dd6163f0dd362af7cab83476d77adaa2020a12d00bf7724343beb718e61aef9f8bad49ff2553dee59375572ec54fd4ccd5ec59dbc17f77ee1d2c139ff9a16bf2ced0ef3a80f68fcb042b142c63563405f83b0aef7500294026b99d87f3fa0dd6007c23a13b076f4a4c39472f06c1148ca3fd6a7a7da01d07eb5662c0b47a518156696e4bb99d7e8d3e84a8f7fc04ee309ecc905476dda9b42051078c0ee869576ead55b3a61699a5c987c01b60a283b9e0290e62268b671d433e0d742c2cb0d2156feadfc5ce4f88b637977e2acaf2de47aaaf2ba825d4001299e1db2b897b273392861d407f9bf85c1ac5e52a8eace4e3f6669ca125b1e6b0cc4bf6c14a34aabd41d6ad856416945d13aacd8144b22cecfa106fd3e3c9fa246ddbbb0e12336b1356edf80223f32731d38b77862c6eb5a571c62c72dc5ed387c78c91a17d5105820efbed83dbec0214f7a715a76621b4ea46dde359c029b90e34862e577be943435d9e0cc3f1f3415fe442a98d4da202be6900ad291d82fbd9dc768ddff58a2c089ac11e9b131c21f7f8b6805265f88d528bd93735754f9fcadc7da3c5a8aa86e12670dbf072b8bea39c5302e87bf41e9e3f5b61877b83dd3e80bf2d590fb6fd64deb29c4a46f3301766021291038c2db9b20c11a1d52a71e1865a4f0df3a1f2120061ec556b70e42865353bafbf24bebcc019a8eec73ed82418d6e0660af0cc86ac34cc74c63ff3a1933a777782e56b61b20333294b64e35a636504ff9094d7cf472be5254346fd360fc5f84a85262c1d70b0ffbe172a71fcb9edde7dc417e4cf65224bd197c81ab0c6e82c0b2fed586dde375f0f53e9f83e6846865f3b1f502f2ac9719280fd1961afa19a9034632fffbc327a66af5533ba62f39128016befda8b676b1543b0d1d3443aec6337f498c865c4650f461a9ac5ed25e63f2409b0b866fb6072dce496f01f00049344a3ecdf6c7cf1f84d463cbb9cbf745df604a5514d61126126f56187b7727f091e716e631c4a9d50d8a76399dc29f9042fd9393cefb5b1c28d954d5f669726a8ca73ebdbd62b30934b201d6a93f55afa1fcce68c92cd75b237b2208b5bda15dc5ffb9414caf3fe820e923ebb4319ecc6c12102ce805940311231496ae64a82058e9710c805efaef33d296b8994ee3307cc55b776b32f69531f0d7c1b5816c59d7510d81036d238bffdf09bcae13276db151b9b5fad63c0109b390a2e3252f5180a6669937de657802fcae23461eb8072d8b582d4f5cc573626c6886e70ac71ae8b097edc6d20feac0eb4dbe51f420c8e424557403a1fc10dfa426fe95248ac5a2db4649734449e17ae0ad961ddab6150f3f2b4bd455e657b5581b636bc1a97138cb95618cf5ad0bd31cce4b6ae1458eb5dcada48f3e0a5ef17729be4b08152646c32e95d73c7d59adcd50fb1166cd558299fe5022985d79343b7297a7dc158a9edefe9a43941e8147b90a084bb51c61402afbfb75d780f2c7aa1a763b65a79a485b6dcbdeca39cde781dd8c18d90a452f49ae74fe38c822e9196558237193bde309eed78aef7cdf2da9f6a467febfe73987faeff62febb1dbb2c1c6c13b972c91a73c05fee5414dd1cd26ac44d57f60a42d8f9000b20eacbabd1a6ecef5eee0a312a4fb7b1d3f7473722f12fd4ed0e519f0393d4eed4b4d330e9de586f0e9640dd0954a95d82d8bc72cb6028a122f8dfaa6ae2f15228a2799ab2f54aeb0efd88e02577924aa450dda0ce42d78a91994a40fb760e314592ce0d1248c8b2feb98659fb521472197ba476a4afc87bfc40ba5e17e0e133f3160bb79c192f108e7d91cc90e63ba8fa766708b5aa9944828dc4731797e286192c7ec4656b23780731eb162aa17863e37a96b604aec24221779f2e36fa894414cb5e0bd3ece11569c91e1e0a3e09847b997271d39638b1f35b04c8d56df4d6b141e019ef3edabd0c4fa8d311bc20705ee6b6b9419c364e8f2a70cdd7006a08ec5f27f2d69f60cd5bb7179820f2b5e7b70242fddc4ca8a0b89d761894ffa0ae9be139be3c1d617f3637106a20ed86fda90ee603e65aac1e1142de6da6196cb693526fdd4ea5adbe31349a0ae90d53fbbe73fe0a3e7a25527a03725d84367b38715a8f845991befcbd98679120f87d7701a86d42bc1ef28b678e262368c259c64469c22354863023f80bf977a3c00fad53150f3a995fcbf518819fef751f1095cb263d10f0744a09e98bf5b7c8bfa3e3539096d9d1fd23900d4b071aba13e70ce658d799ac211c11b835b8bb5c3b391ecd31ef885f1e4bb1676d50f6b98c4a09cfdcd01db882a0e9f6d37962dcf5a8093b50cd6c743165b344711d81f6fe31249b03d009240e8e595a984658cdb1cfd14774473f2cb16d7af6cb8541f7362c62149b5c24d6ec8619f79e08483220eec6aa9739c03c373d7b6b99f06b08f70d3277ddca223fcfd4e5bffee3a2c4cba195f3383fde86d5f53ca1e07378afa9d75488f7c87c851ac5b6a5ec9c4dc205df694fd794ef2007e070cd009feed223d1dccde195627842cda93bf219115b65ea3e448b62d66a9c35d8217227d556b99c5ebc30dc01b55dc4b8823c77ccacecb1018da255a27fdcbfa6f5957c90b4e6df4e50a9a51c6928414175ba04caf44bece1db20604aec169419bc890b845eaaac842ed5c50553144c6a0918ffe0349fcb46093474f983df5717e0b6fc58b6ff3c5ab42dd640252a76157ea4ed602e8de0f910ff130e6ec93cc0a3f03b597adf38eb249cc713e7ad58806f4c309763e3965a8def12f29e3a28c87e2014461f62c19c51c810c6eeae9cacf69cce74171331489242bcd675248f9d5585203b6a39cd436c4428cd8aa7a7d82202d20124574a47bee3af7f1050e60871cf7af447f0a33c7f839fac1cc603051530bfe2c68672a5dc2d26ea76247acb228ac32e758d86ca5fd53a87fb2e918c787cdef695f1a6bf8170a50e0eb317b6df79240681eb1cfb94e19c267098b633dca726231f7f8929655349c386476656a2018ab7639a7b094ea41d4ea05ce62ee00e65f8fdb5d8360b95d007e85b1b6ea32e2162a9184a5e6ecf930dc7b950126c3130b6583b3f4d962528415ba49574938ee1ae190b131c287047c8d0dfb7ae263ce36696ea3bd9ee878f4d32fa05fedd13758192204d0d80613facbd6c12904005785b0b941a2cf680c1f55f98668cba07efe2e9f07c43391b703f3ede9ec6efbb6765f5a124e7c2f1111eba0e7c6ec15e50307f3ae4ab18f8a1f25f73117caa7c611c54c633b4b63928d0629683716a1330e7ea349454cd8ac616600868e73bd15fa205da6cdde9ee6a1bdf90012fda145960057ea690dbcabdcb01042213c58c570ce9c37cfae64781f0f9822db7487b11e67f885f5a852989675eb57c92e639ffb0285d3af126dcdf1f46b986134d9168d3300a029b80baceb07c3cf358e6837827e8ded51f4abe8237a48ea987c7133e502fc15fe0c2765a4485ae309e46e8f870e145bcd0431c4ef430a7d526b3bef6b98a400445e7ce4f86b3717824e7a8fd02b04a75381f1da834ab645a4232624cf304b31611c4d31639089e90f635b9c370369f8b7e4f126cc04eee7aa4a00b85313be9f4b4d27eb48f3d285ff5bdce2c39b7b9c94653d6483f8f24c222cc47de6c54ca9a4c40354b1762f84ea3b3d31be75a510e7914341abbc2436bff53c2485278502984401241a6b7a79d875642763e13b1e6a95006f9874d1365160b7e8453e5ca1cada92fdb5711a836a5aacc90586554c3718d53f2a14d9d7d6ec778cb95e32670665e1d0c0ed846ee61d0cd1ca03de09770397449dcea9bbf716f23e0939947ad87709a0bdaf3da726faef2a80235617a5342e7080daee47710527399dc27399b1aa2f07e7b8d53b41db1451f68398aef6f91142a8a9da9e47d03142f731f0f651fad4fb28a04e89692678133b752f563d62fb9901bebe485c5f8a3aa0cb203d0e8cb03ed2c5ff40aa3646cb796633add1a640205e512350cfa76137f7556aaa9a3b87b93841334b40cb99a091e0e04fa9e4271e6d72e956cee41539dc82b8396672ce80290d53fdba9a89d7ca3c66fb02abd435d274af06b10c35433822025a2a97e2ae25b9b382d7573be42aa8c78a6e1e4959484260adcb3e353806c67f7c9086cc82994448e710c813c2628822ee46b7e0fdb81b1f801004536c6e142ec059261809a91fd1f71e9b9afdb0ae188afa74e075a2099cd7fa82e019666a573e9b492169cd3d41d8cd98f00b204e9800998ecf8427eb8b087b2b06074e2985c768e8bdca35797ef86e0d7eab1188fc59872e741fe15002882e4e8c4ac61d9737da3b442b56a7349ce4d06c82e13df761fa7d0dde7fc171204fd074c18ad0be090b008e34708628170c605a4ba3b3c2bae97ab592719e3679e9d0c582cb6c1debba46b20013030ef9c7c2fb6de9a11b101d578d89687dfcff94c231969dd3a6dd5383e7850a0b46e228e42452031668e47218ebcb5d2bc5d1612e4f4a6f85427ecf28cc7a66084b5a9ec6b8b236a95db3437877407f42265fa4a2726bff5a31d39db89247cef3f8c0dcf0c598d82937454036a87885186c8c555a151b186db23959d1a4b503239202e70470be1d863a524c21be6d00cf267dbbc34ad47e02f1fc8ebe6b74e3adcd77f2cf67cd100836bd291df68ac041cf48cb586ddf906b355d19e4086423201d559568572de6237689f56559f7209a6100098e98b93fbc52afcfc260675de14de9d2775c52e2435bdba4c1145f0caa0da253a9054ccaf71e08b9df8e5ed95e4ca48d005262985a984de01db7491150afb2bebb66d34ff227b3c2acdd372f0e0751825a6974ab4567e3ebc18cb6ea68d21d4263b48bbfcad2937cbd2cd89b2b38166fe6fb5b7c962e219079043a076bc957586a6179d5a61526fa2205c4b319bacde4cc68e25a74708a50d7538eb70b7f2c1bd804c39dd6f9b693ece627b824b46cd1e2aa554dad70fd9676d2e6ad7c575f3407e38320ac9a2823f759202ce10a715100b804f8279198c9eb36dc73a2b860e5a14b7caf084e4300a300a6f0eb68f3b9325d54a06cb52c487fb666f7d3e5f700a69b700020055d8ba2899d769875caa55e878310c387eab89ae7bba30f040cec9298e25a50badff3a5e30a45bd1bae802c06b437e568cda0c70f40f47a93109ebc49d8118affda77d57ede1553933a0bba8fb52065317d551d8330f41586713b0c8cd13f3d7bc1727188431d144841e215ce7b0a570943885bbf6da056db27159d67a81169daa85beece4aac02421a825e9ea0c846c4239b8d1e7c61ad3979be2c387d999515cdce59070747e7fea278c77dabb31ae6d0d1ff9bc1227be6e1802b2aabad2dbe05588cd06387eae76a0d493652680dbe82b305017db8bc41c70d0a390e67fe978160ed83b68f4d9885a170b8026a4dbfbcac7042604df807f10b86342e0a8d3cee4660254537abf36fe5132c4d2b3bbb27414dc37f2527617ca8cf838c79d2fc8e262142cf0233b947d62946715f9334b14ec258be1a98deae1d5ecd3349dc15aaa10e26bd17d2eb938cd66f6aae60ec561ece8da40acc1119da5187e75100411f3a4884c0af2da964097e872846c20ad5f0333ee99f8ccab69ae6ff0610f2156974c6ed87d5d629fdde9d646548b503825a67a7b436ad5871ef2a6bbd0322022f0f07244ec4fd5871ef2a6bbd0322022f0f07244ec4f99bc1e500e3a7c70fe1e341c7f6dc11cbe59055c81e9c00d83bd5a9137c18bd5be59055c81e9c00d83bd5a9137c18bd50c50cf197c91bee30e6453ca3fd3aafad41d8cd98f00b204e9800998ecf8427e7e81fbf7ff77852edf04aa9af62c25057e81fbf7ff77852edf04aa9af62c2505be9de2942de0a7efdb6ef017ed9ee2c6be9de2942de0a7efdb6ef017ed9ee2c698031e6e247a54a8e368a7581429f249cf19c342fd52ad3a15a15231fcff6de66aade63c500bdb95d1bab68c421e9f6b075ee531593cd2520efd768ec0afbe64c70fe2355c5b9532ed2e3c5aa81cbd01fbf9bb3ad8ab1e0852490de527a3c58e5be573fa6b523bae2a09524817eb193481b48b082b85c11cb986c76dfe088ef9084e1408f3337f6b17635403ea9f250d0b0a84f82c798e6cce384b575687f119fc754809f2996f86acd79eb94a2a7f68045ced4f694bd6c860c11a86f72c783c4ef2bf88ebeff2e3104b11f7f422b8dd5c0c85d38875debaf59c25dcc0ff11249339feacb120e3fabfefb1c321e5ef887fe8482e843fa5261d5315e4a88f792418c087cafc6fc643387c4103d4e657f4ba7114db14c0af8d533bb35e0d94c6db643fe2a01cdb80f9d04944d0633a3377e586a523a7481345140cde3bf8031763f476db7e099821fa09fae0a50fafb4dec2fe28ec8705ebc00d917f4c4bb8df61d1534a99ef2c20b33029ebd559da241689976a82aa854ef2b2b9fc3fb7e5ade741016141bf664d349437c25220c2fc949376b55503a3d5f212697b620df6c1783398934df048828d9db3160a83b072236a7e381920237b00f1cfb4eb917d9ff66a7e381920237b00f1cfb4eb917d9ff6ca7f726a686358b09a6bc3455188fb21122e97aebdbcdd5812fc2cdca0c99097f1b186abc7a482548c4e0cdd9d3625882e0bfdc0eb78ca744114b42489f077d32f2227287e2f75e33216ee326fdae4eb4b0f53ffe49aae99335a2d0a81643f176ab37e536b723f6cbe07fca073daef038b9c32a2047ba6ebac2d25d8642274c2d30a2f4fd0714ec184b5365c1782e01ce74891ce550d233ae0da469c1cfed13b72a2f3dbdf1d9fa96ff61da28269b52f9769589490ac420463d64a8b2221ab25dbf4d1cb7450bef9dbf767a6bb6417a80ce4a4ab9799d6ae89da93bb03894410a9c5ebd7285afaad856f565c2af3ced88cda9d7256db2f152645ee7f192dd368661bee7d4753618ba5489cff40571cee329d6e038d4f805c0cdfd65550cbf90cf42b3fecf6fd05bd87d3ebd3d1bf0eaaefb52a3f5ad4d766aef000ce50b31aa4602707015a9d0f62f23716264cb36e02602707015a9d0f62f23716264cb36e02501f6c971a9373a0f891b7b60328f1179084c76508698fa002ca33da5ad774a69084c76508698fa002ca33da5ad774a657a1c8798fa33e8ac01437b1d188b51bffa6108f5290188d0030024744de853ac3227e84d81e5a83dfdd28e5e6d084a06b5b4e1610159d42b062badc5add27f5b0a47fca33808712e30eb1f50001a3369bfb82166760a126b9ef0482a0ae2e9cabc3bc9b9092d2fc338f587e0bed23bf5a14a5b337499415fb6a82546de97375a4cecb764e83d360f4640f554d70903b7ee13cf245d7150105631ec0b283136f69851be952fc9cfd027f26c3eacb0f5f1b33add69235d44e2fb146a87ea8fd5dfd160ac482dec6a12027cbcbad879c3aeb48d1d832e01d829133e2a67fda1a0ea8557eaafb82a8ba88f50b71fc11f46a93dc3ccb45347a74ad1d27b92d4c0481e3172d2881e99659a02703e84ac190a9349345cd30f87d837a13e10476f7b63f7bfc98dc662ef88bcfc436b30da506bd129d0534362c4bdab2c077b8b29d70e8b9029022338ca06baf0316d62ea71a23ad1348d1e1397761a9932a84f401c4364753fc5038777913e110f2e9d83513c8a091f7aaf9a9672a2d2c855cf4f3a261ab19d533023c103473f7b93f44ecbc9b36c7b92b9b4199d9e3968b0ce13bf7f29ec02c2c8486ba399c5bb2ec499e9fef50b319ae9fcc1f79710cb7cafbf501180d7f8892bec4bbae538427d03574e050ab2e0742a9ee3a23f812de31c10e10be193709c6f740b4949f90f45f47dd8807d41d8cd98f00b204e9800998ecf8427e87eea4ac69e039d5ea4016c931102a7de84457654df898fd74d330d079bf9c8fd41d8cd98f00b204e9800998ecf8427e0e3c51cc065e1e16dae8548be7ac08b73fcb8b920b77f7db88328dd491cab31f2ceb59d7710fcada64f333bf8345ff2e61b664ad12737cbcb6388ff293c676151c13ae2ab0c6b93289a387dc36dfca8ecd7b2bb3682505e4703c41de084d7ee8a7d33f093e0e02cf7a37cc3151aac42b7e1995df0f8366e50a96877fe9ba8b88845484dd6fc6bd72e8c8290e6b0b07cb770b60a87e7b9134e9a1fa24e28c999183cb91918bb3d25dfc7b8658b78075d8388d97abf7a10fec2b57cb1fc04b7587b4bc7ae8cc2aff167c1a1550aecf2206b4bc7ae8cc2aff167c1a1550aecf220634b812ad954b587babd7df633beb657548b594782c2c6886cec240c57959974829df8a88358e774fecc7acf8c3e8b733188c08c39b07968ca0c2586a58185a8b53a57d655a079b505cb7ffada1212fd338465d674731bd67d0050058a30e46f906b8fe59e07e939594f64d5f9f44cc05346394c0e87701205958361b12743002502cccf2aec4fcfe3acfb3f9d1e99440e22c842d9c4f96a9ec09c42c67704647911d17a9b612a08fc71a558933e5ad9b0d6e02f77d598875dbd577db1d193e54a16f6e71d0789a727144d2770da1155042f8ff89f0593769d29050c61459ed057d85b80366b6246e66c8228508508e11257effa6c8370a229f8092c9e14f17af1c8bce6bfa83c594fd6b39592366bf72de03c80328e9a3e875d641e11349ce85d1c9d4d6c8298009b2a3aeecd684db72d5b17207a395d8a544610e7921762bd8b1c42884fa5bdbde53d64cff469374fd3e0975740eec3481da4239017709545c418537cf1891c2fcf900a521c26959541a0a97f908aabcf4957c5314042fa3a015e1e74513773b0b2ace4991635de31e679ecfa6569224e4576452e70266b5a3be71c19897bb3267ec8ed59b8c88b03fbe71c19897bb3267ec8ed59b8c88b03f300ecb1fdcf19002e3773b47564077a265eb0e189dadac7edaa0ad15685e41720a7419178a93de5c1aa000a564363a9c5b31c89d1c8c379730375b9fc5f8b07bcf9d001049bfdf64822a412e349eb08658f3f250e4929cba2fbf96502fa106c33aa1912cfadf2169c6ce2bfee934ec7e6e4530e52c7a42ca970296b457c3af0fcafd9ab382cbe9f6633febdea978fbc6fe7f56a048c7c72b242cc63e865b099744ab4bd21dd81b758e72b7c6fd3c3a4a1a5aeb51218d6e5fd6c40051b72b8a19e87f4f9ac2e46d819ff407b1fddf23c1a2462aad4201c666bd248300bb99b45fe746d6ef428c94679627a5fba74bf6b25745cb21ef1f0acf43ef6ea98ec535ad84f707aac14d76425fb8495c8516df43c520e1904dd6d3a8b92ee2256093c41c2e6537269845624bbf1f86d8e769a330bd07ef1831434136bc09438f3c8ac75c272b53ae68151c0ed13cd7d2ded4c0db45dc98e90fc0bee185125e0653e2aebadbaac1548c0a0b967f086ee620b402fdfe55146f21a495d4f02697ae668f5a1ebe59301bddbf2bea02a986fe6991fe39fa09740a6f5da0902524462f4320691012f5174b535043834ff50e8f19131b4a16245b89b537afd476f9fe3269594c2fb65d6216ac71af588fe69b225b619c12be792e06439c7d53b823221fe4f878a8fa03ef55f5adc02476805adb0d00758b1f2a3b25e41d3f464ca409de75167125649431a2d492904950f238a809141fd07227e900dcc1eb5f930a653d237a92344502b39eb151b7e486179515883595e75a9769d73d54cbaab46ce45ed8b69693133d9dc2a02f0b627abab4524a808733dbb5f1d76e3183f45068a17a2255ee5875cd8d0e79f65c747cce35eed9516c14cb5f4fd1052b73bf8341b211488604737e12e3b87772606614f69a10b3e3945eaffef427edac4d8ed2e0ce027681d90e8b170a95b6734573dbac9f98aa49b026951f3d895f6af1d891d18560040020924712ae1ccc39fe77e8a6ac4ac7a1cfaa991548318699581c8fcb74d12c138fe340b08923f79b25a497a82634936861e55f45046adc0da02a7103694cdeac77e7c5ce248ddbce3859b93046221fe9a2c8e6cb2f1cd0de30225807901db862eb5de42e2ed6cb7bf42791a811d9dccb7c495dbc9cacc35f25b92510a30d1d73ff42a43420912444ddf0f299069d223ecc14851618d7f61a1ea14d9b69ffb299f12062d4b8a89fd9ba879235eefea32480901ea256ddc3032d9fa367a6b87960036dad23a5465402cd1f2c7fb7abadf4c0e5c56e340d83df8970f41be4ec41508802c7bec396b27d8619ab8bb648bbcc64c071db2b6ecc08e6642f384c5ec17632b567b9bb0bcf2ed5079c7c5d1afdd779eb25620183744046ac2b45744759aa63f97626dba14494abb5c843786a794b1b748a1d68a09ca410f629980409c816c3bbfe4a7d084c4e0863321ac19e82e833bca93594dbea6e87a7713c0f4a893377ff2faabed0585d0354aecb38ecabb3a2a18c16056059619fd8fa6fd5e12b1614524ea22d1c93969582a7d1100cd95d2620eb0308ea5ce8a1c9878ef36871ba8360dac8f9498d7d78ae41b7744b280839c25fc8b641f2d23d79966b516d92d3548c8bc90285c3447fedbb6cdceed3bff86591c0d7a4ea6b4dc0703aa8ceb50a2506cd3f1dca958d6ed58b3edbc85e1125bdfc5c1c7221d29325db7a57401512697eafb3ecf6b7c024c5af71e380cf0072774574fb7a397f4d3cb2277cedc892091c0a0f56e4ab975acf8c303d520bfd1f157f011b388cc8343f32cb9f64005f748df37c3a486ca35dd9dfe15e1b5bf67c367c5812402a252ea5afce8e20c7ccccaada4d42d668d88420aa47f74e75ebd843e50284b81e74de54f390d57847b62907ac4dea01e328ba5d3148d5b0417c0eba1b8cf92db4d9540bf47710dfd2b9b6f75315b7a6768621268aa85f59c0a68483fc1fa5e28ad0e48f45cf602cb9f3a3e3c8e1c495ce08d44aff81a137e91047c49c1bff8c9e28d93fe2f2387d0806ec9f1f7c12715d31e008dec7bf5b1fa863606a14cae089af56725081934eefcd43bac6646ac0b866be2cbf4340190ef8226cce638631b25c0c548aba2b0f462133285fae2db46f3c04f76bafae9ecceac1cc84b7245a60923cee8e497ae82b6f89bda2808dec4aa35c4a2299819f6cd474202360f0f944776ca63d6a59be6d3a4f10b232d693f8895dc6acaf3f2ef325cb2bcd1bb0013fedfa34b0953ac0f062711c924576d888bc4f33e59f339422eeafb87dc85c60f4e8b09b2dc05d51562c3b066239d947064145827927d21e648cd819f90fccf53fc111e25ebfe3f8e894ea8863ad0e6f4a0582e7ac4bac7fe18db019b096f7013c1d0641940f90bb4e2a04148d8853932f0281043783fccadcdc3168bc29a0f7cdf295dfc2e874df85cd06f62cf282467ae3588741a898eeb58f165d7d86157d1a4158543e6cefcb7b36113ce0b906bad203f5d0d23dfe2abb5133a6bf4527395f33e19d20538ff360b97e2fa6b086b31f2544a6c5cc35e5e3278b28d3de8dfcd4efefa7e68f7eca84885bc421aa7f6eed7a9fbf15f5f458345842daf7d58a7765f064fccb7cb76ad9c7f8493ec3ba4ef9242e1a39c59e2fca98496b59fa07abfe904fe5582f454eeea2b2b485aa235f568e8ab69e74eabbd56d81e0294cb27b208eb46b601b6507689a172999c643754004e05b0d915b6be61c1e1594c55178d35ec5ee53c91dd2d8d5248162bcad2d8be3b2cf1cbc870830d343a5eb0a520d75e7a2b64b97215d00d530693d204d77e3a1a8ccb2ce2a288f3a8601889d2cb96eeb6d8d969a55bdbd26bc405e4433721cd5eb73591c180d0f1e85fc6e9356a04e631fd557c7f53d7001f33c734d1c7369f9364947737f0e68207824d7fc1e82e4dee3e12916d352b905969b92f6027a13f300bc7637f123c5ef54f181b963606e39d26aba2c97d5531097800521b52ac764d8d0c98ad720c59e5ae06ca5c6817efad521dcb8e21359a4bb1a71e72ec0f50342023c1cf6d870a3d50a15ee4df421fc6191590f6ea9cf63b5b3c0696b517f869b6e982e7468a136aee3100b4b2301f6081daefd0784e3a3fa16b033844feb8127eae70a301b27c2afcecd385bbdac95b601a1d425505cddf069fa0cf2db7fe5f16e35e139b1d8781d354d04782e54b83c52cc149336c507a78e13cbba3e3bf279237c0846e70e11b1b4910177249bf2dc6ab14c8476ca9fefae1c250346ac6cd5f4a09950a317e6033d3a98c5e561ae5990bcc949c87a7583041c250346ac6cd5f4a09950a317e6033d1c250346ac6cd5f4a09950a317e6033d1c250346ac6cd5f4a09950a317e6033d00b2d76c39cd49f7152f846e383311307e42cf6993fe96858cf12c809331021379c62345857aff7f890fec80e70d01aca069c8544442acb954fc08bfdf7affb1dc88f085696e1f26bfd8406b7de7b8fb662f9f68d3ba852a2b61436dde9e8d5f90a1b22eec6a2cc1f55f958552c188bb83b5df5ddc66a40179af4678e0aa8eafe898244082c39b443117f7893ce0debf5a8439f4f1d75f19ef2803ab6e366bd0asm-x86rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootvzkernel-2.6.32-042stab107.1.src.rpmÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿkernel-debug-devel-i686kernel-devel-i686kernel-develkernel-devel-uname-rvzkernel-debug-develvzkernel-debug-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.0TÎ@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.12.2.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]- [infiniband] core: Prevent integer overflow in ib_umem_get address arithmetic (Doug Ledford) [1181173 1179327] {CVE-2014-8159}- [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 timeout (Tomas Henzl) [1059073] - [scsi] megaraid_sas: Performance boost fixes (Tomas Henzl) [1059073] - [scsi] megaraid_sas: Set 32-bit DMA mask (Tomas Henzl) [1059073] - [scsi] megaraid_sas: Big endian code related fixes (Tomas Henzl) [1059073] - [scsi] megaraid_sas: Don't wait forever for non-IOCTL DCMDs (Tomas Henzl) [1059073] - [scsi] megaraid_sas: check return value for megasas_get_pd_list() (Tomas Henzl) [1059073] - [scsi] megaraid_sas_fusion: Return correct error value in megasas_get_ld_map_info() (Tomas Henzl) [1059073] - [scsi] megaraid_sas_fusion: correctly pass queue info pointer (Tomas Henzl) [1059073] - [scsi] megaraid: missing bounds check in mimd_to_kioc() (Tomas Henzl) [1059073] - [scsi] megaraid: Use resource_size_t for PCI resources, not long (Tomas Henzl) [1059073] - [scsi] megaraid_sas: fixes for few endianess issues (Tomas Henzl) [1059073] - [scsi] megaraid_sas: addded support for big endian architecture (Tomas Henzl) [1059073] - [scsi] megaraid_sas: fix a bug for 64 bit arches (Tomas Henzl) [1059073] - [scsi] megaraid_sas: fix memory leak if SGL has zero length entries (Tomas Henzl) [1059073] - [scsi] megaraid: minor cut and paste error fixed (Tomas Henzl) [1059073] - [scsi] megaraid_sas: release lock on error path (Tomas Henzl) [1059073] - [scsi] megaraid_sas: Use correct #define for MSI-X capability (Tomas Henzl) [1059073] - [scsi] megaraid_sas: combine kmalloc+memset into kzalloc (Tomas Henzl) [1059073] - [target] tcm_fc: Fix use-after-free of ft_tpg (Andy Grover) [1084646] - [scsi] Set the minimum valid value of 'eh_deadline' as 0 (Ewan Milne) [987789] - [scsi] Unlock accesses to eh_deadline (Ewan Milne) [987789] - [scsi] scsi_error: Escalate to LUN reset if abort fails (Ewan Milne) [987789] - [scsi] Adjust eh_deadline changes to match final upstream version (Ewan Milne) [987789] - [scsi] Generate uevents on certain unit attention codes (Ewan Milne) [741163] - [scsi] lpfc: Update lpfc version for 10.2.8020.0 driver release (Rob Evers) [1054369] - [scsi] lpfc: Fixed unused variable in lpfc_scsi_cmd_iocb_cmpl (Rob Evers) [1054369] - [scsi] lpfc 10.2.8000.0: Update Copyright on changed files from 8.3.45 patches (Rob Evers) [1054369] - [scsi] lpfc 10.2.8000.0: Update Copyright on changed files (Rob Evers) [1054369] - [scsi] lpfc 10.2.8000.0: Fixed locking for scsi task management commands (Rob Evers) [1054369] - [scsi] lpfc 10.2.8000.0: Convert runtime references to old xlane cfg param to fof cfg param (Rob Evers) [1054369] - [scsi] lpfc 10.2.8000.0: Fix FW dump using sysfs (Rob Evers) [1054369] - [scsi] lpfc 10.2.8000.0: Fix SLI4 s abort loop to process all FCP rings and under ring_lock (Rob Evers) [1054369] - [scsi] lpfc 10.2.8000.0: Fixed kernel panic in lpfc_abort_handler (Rob Evers) [1054369] - [scsi] lpfc 10.2.8000.0: Fix locking for postbufq when freeing (Rob Evers) [1054369] - [scsi] lpfc 10.2.8000.0: Fix locking for lpfc_hba_down_post (Rob Evers) [1054369] - [scsi] lpfc 10.2.8000.0: Fix dynamic transitions of FirstBurst from on to off (Rob Evers) [1054369] - [scsi] lpfc 8.3.45: Fixed crash during driver unload (Rob Evers) [1054369] - [scsi] lpfc 8.3.45: Fixed driver error messages after firmware download (Rob Evers) [1054369] - [scsi] lpfc 8.3.45: Fixed missing initialization for task management IOCBs (Rob Evers) [1054369] - [scsi] lpfc 8.3.45: Fix sysfs buffer overrun in read of lpfc_fcp_cpu_map for 128 CPUs (Rob Evers) [1054369] - [scsi] lpfc 8.3.45: Incorporate changes to use reason in change_queue_depth function (Rob Evers) [1054369] - [scsi] lpfc 8.3.45: Incorporated support of a low-latency io path (Rob Evers) [1054369] - [scsi] lpfc 8.3.45: Added dport mailbox pass through support (Rob Evers) [1054369] - [scsi] lpfc 8.3.44: Fixed unassigned variable in ELS timeout message (Rob Evers) [1054369] - [scsi] lpfc 8.3.44: Fixed incorrect allocation of iDiags directories/files in debugfs (Rob Evers) [1054369] - [scsi] lpfc 8.3.44: Fix Crash in lpfc_els_timeout_handler (Rob Evers) [1054369] - [scsi] lpfc 8.3.44: Fixed stopped FCF discovery on failed FCF record read (Rob Evers) [1054369] - [scsi] lpfc 8.3.44: Fixed IO hang when in msi mode (Rob Evers) [1054369] - [scsi] lpfc: Fix wrong assignment in lpfc_debugfs.c (Rob Evers) [1054369] - [scsi] lpfc: Fix typo on NULL assignment (Rob Evers) [1054369] - [scsi] lpfc 8.3.43: Fixed not processing task management IOCB response status (Rob Evers) [1054369] - [scsi] lpfc 8.3.43: Fixed invalid Total_Data_Placed value received for els and ct command responses (Rob Evers) [1054369] - [scsi] lpfc 8.3.43: Fixed invalid fcp_rsp length fir FCP_ICMND (Rob Evers) [1054369] - [scsi] lpfc 8.3.43: Fixed invalid mailbox timeouts (Rob Evers) [1054369] - [scsi] lpfc 8.3.43: Fix crash after xri limit is reached (Rob Evers) [1054369] - [scsi] lpfc 8.3.42: Fix driver's abort loop functionality to skip IOs already getting aborted (Rob Evers) [1054369] - [scsi] lpfc 8.3.42: Fix WARN_ON when driver unloads (Rob Evers) [1054369] - [scsi] lpfc 8.3.42: Avoided making pci bar ioremap call during dual-chute WQ/RQ pci bar selection (Rob Evers) [1054369] - [scsi] lpfc 8.3.42: Fixed driver iocbq structure's iocb_flag field running out of space (Rob Evers) [1054369] - [scsi] lpfc 8.3.42: Fix crash on driver load due to cpu affinity logic (Rob Evers) [1054369] - [scsi] lpfc 8.3.42: Fixed logging format of setting driver sysfs attributes hard to interpret (Rob Evers) [1054369] - [scsi] lpfc 8.3.42: Fixed back to back RSCNs discovery failure (Rob Evers) [1054369] - [scsi] lpfc 8.3.42: Fixed race condition between BSG I/O dispatch and timeout handling (Rob Evers) [1054369] - [scsi] lpfc 8.3.42: Back out data count, (residual fcfi_parm) fix for bad target (Rob Evers) [1054369] - [scsi] lpfc 8.3.42: Fixed mailbox memory leak (Rob Evers) [1054369] - [scsi] lpfc 8.3.42: Fix random errors using first burst (Rob Evers) [1054369] - [scsi] lpfc 8.3.42: Fixed not able to log informational messages at early stage of driver init time (Rob Evers) [1054369] - [scsi] lpfc 8.3.42: Fixed using unsafe linked list macro for walking and deleting linked list (Rob Evers) [1054369] - [scsi] lpfc 8.3.41: Update copyrights for 8.3.41 modifications (Rob Evers) [1054369] - [scsi] lpfc 8.3.41: Fixed the format of some log message fields (Rob Evers) [1054369] - [scsi] lpfc 8.3.41: Add first burst support to driver (Rob Evers) [1054369] - [scsi] lpfc 8.3.41: Fixed not able to perform PCI function reset when board was not in online mode (Rob Evers) [1054369] - [scsi] lpfc 8.3.41: Fixed failure in setting SLI3 board mode (Rob Evers) [1054369] - [scsi] lpfc 8.3.41: Fixed SLI3 failing FCP write on check-condition no-sense with residual zero (Rob Evers) [1054369] - [scsi] lpfc 8.3.41: Fixed support for 128 byte WQEs (Rob Evers) [1054369] - [scsi] lpfc 8.3.41: Ensure driver properly zeros unused fields in SLI4 mailbox commands (Rob Evers) [1054369] - [scsi] lpfc 8.3.41: Fixed max value of lpfc_lun_queue_depth (Rob Evers) [1054369] - [scsi] lpfc 8.3.41: Fixed Receive Queue varied frame size handling (Rob Evers) [1054369] - [scsi] lpfc 8.3.41: Fix mailbox byteswap issue on PPC (Rob Evers) [1054369] - [scsi] lpfc 8.3.41: Fixed freeing of iocb when internal loopback times out (Rob Evers) [1054369] - [scsi] hpsa: version string change (Tomas Henzl) [1052272] - [scsi] hpsa: fix handling of hpsa_volume_offline return value (Tomas Henzl) [1052272] - [scsi] hpsa: return -ENOMEM not -1 on kzalloc failure in hpsa_get_device_id (Tomas Henzl) [1052272] - [scsi] hpsa: fix bad comparison of signed with unsigned in hpsa_update_scsi_devices (Tomas Henzl) [1052272] - [scsi] hpsa: do not ignore failure of sense controller parameters command (Tomas Henzl) [1052272] - [scsi] hpsa: fix memory leak in hpsa_hba_mode_enabled (Tomas Henzl) [1052272] - [scsi] hpsa: fix bad endif placement in RAID 5 mapper code (Tomas Henzl) [1052272] - [scsi] hpsa: Do not zero fields of ioaccel2 command structure twice (Tomas Henzl) [1052272] - [scsi] hpsa: Add hba mode to the hpsa driver (Tomas Henzl) [1052272] - [scsi] hpsa: remove unused struct request from CommandList (Tomas Henzl) [1052272] - [scsi] hpsa: increase the probability of a reported success after a device reset (Tomas Henzl) [1052272] - [scsi] hpsa: bring format-in-progress drives online when ready (Tomas Henzl) [1052272] - [scsi] hpsa: remove unused kthread.h header (Tomas Henzl) [1052272] - [scsi] hpsa: fixup MSI-X registration (Tomas Henzl) [1052272] - [scsi] hpsa: Add support for a few HP Storage controllers (Tomas Henzl) [1052272] - [scsi] hpsa: add HP/3PAR vendor id to pci_ids.h (Tomas Henzl) [1052272] - [scsi] hpsa: add sysfs debug switch for raid map debugging messages (Tomas Henzl) [1052272] - [scsi] hpsa: improve error messages for driver initiated commands (Tomas Henzl) [1052272] - [scsi] hpsa: only do device rescan for certain events (Tomas Henzl) [1052272] - [scsi] hpsa: when switching out of accel mode await only accel command completions (Tomas Henzl) [1052272] - [scsi] hpsa: add controller base data-at-rest encryption compatibility ioaccel2 (Tomas Henzl) [1052272] - [scsi] hpsa: update source file copyrights (Tomas Henzl) [1052272] - [scsi] hpsa: retry certain ioaccel error cases on the RAID path (Tomas Henzl) [1052272] - [scsi] hpsa: do not inquire for unsupported ioaccel status vpd page (Tomas Henzl) [1052272] - [scsi] hpsa: allow VPD page zero to be queried (Tomas Henzl) [1052272] - [scsi] hpsa: rescan devices on ioaccel2 error (Tomas Henzl) [1052272] - [scsi] hpsa: allow user to disable accelerated i/o path (Tomas Henzl) [1052272] - [scsi] hpsa: complete the ioaccel raidmap code (Tomas Henzl) [1052272] - [scsi] hpsa: make device update copy the raid map also (Tomas Henzl) [1052272] - [scsi] hpsa: add task management for ioaccel mode 2 (Tomas Henzl) [1052272] - [scsi] hpsa: teach hpsa_device_reset to do either target or lun reset (Tomas Henzl) [1052272] - [scsi] hpsa: get ioaccel mode 2 i/o working (Tomas Henzl) [1052272] - [scsi] hpsa: fix NULL dereference in hpsa_put_ctlr_into_performant_mode() (Tomas Henzl) [1052272] - [scsi] hpsa: initialize controller to perform io accelerator mode 2 (Tomas Henzl) [1052272] - [scsi] hpsa: get physical device handles for io accel mode 2 as well as mode 1 (Tomas Henzl) [1052272] - [scsi] hpsa: do ioaccel mode 2 resource allocations (Tomas Henzl) [1052272] - [scsi] hpsa: Acknowledge controller events in ioaccell mode 2 as well as mode 1 (Tomas Henzl) [1052272] - [scsi] hpsa: add ioaccel mode 2 structure definitions (Tomas Henzl) [1052272] - [scsi] hpsa: complain if physical or logical aborts are not supported (Tomas Henzl) [1052272] - [scsi] hpsa: add hp_ssd_smart_path_enabled sysfs attribute (Tomas Henzl) [1052272] - [scsi] hpsa: do not rescan controllers known to be locked up (Tomas Henzl) [1052272] - [scsi] hpsa: poll controller to detect device change event (Tomas Henzl) [1052272] - [scsi] hpsa: update raid offload status on device rescan (Tomas Henzl) [1052272] - [scsi] hpsa: add ioaccell mode 1 RAID offload support (Tomas Henzl) [1052272] - [scsi] hpsa: fix task management for mode-1 ioaccell path (Tomas Henzl) [1052272] - [scsi] hpsa: only allow REQ_TYPE_FS to use fast path (Tomas Henzl) [1052272] - [scsi] hpsa: add support for 'fastpath' i/o (Tomas Henzl) [1052272] - [scsi] hpsa: mark last scatter gather element as the last (Tomas Henzl) [1052272] - [scsi] hpsa: use extended report luns command for HP SSD SmartPath (Tomas Henzl) [1052272] - [scsi] hpsa: allow SCSI mid layer to handle unit attention (Tomas Henzl) [1052272] - [scsi] hpsa: do not require board "not ready" status after hard reset (Tomas Henzl) [1052272] - [scsi] hpsa: enable unit attention reporting (Tomas Henzl) [1052272] - [scsi] hpsa: rename scsi prefetch field (Tomas Henzl) [1052272] - [scsi] hpsa: use workqueue instead of kernel thread for lockup detection (Tomas Henzl) [1052272] - [scsi] hpsa: remove P822se PCI ID (Tomas Henzl) [1052272] - [scsi] hpsa: prevent stalled i/o (Tomas Henzl) [1052272] - [scsi] hpsa: cap CCISS_PASSTHRU at 20 concurrent commands (Tomas Henzl) [1052272] - [scsi] hpsa: add MSA 2040 to list of external target devices (Tomas Henzl) [1052272] - [scsi] hpsa: fix memory leak in CCISS_BIG_PASSTHRU ioctl (Tomas Henzl) [1052272] - [scsi] hpsa: remove unneeded include of seq_file.h (Tomas Henzl) [1052272] - [scsi] hpsa: add 5 second delay after doorbell reset (Tomas Henzl) [1052272] - [scsi] hpsa: do not attempt to flush the cache on locked up controllers (Tomas Henzl) [1052272] - [scsi] hpsa: return 0 from driver probe function on success, not 1 (Tomas Henzl) [1052272] - [scsi] hpsa: do not discard scsi status on aborted commands (Tomas Henzl) [1052272] - [scsi] hpsa: fix warning with smp_processor_id() in preemptible (Tomas Henzl) [1052272] - [scsi] hpsa: check for dma_mapping_error in hpsa_passthru ioctls (Tomas Henzl) [1052272] - [scsi] hpsa: reorganize error handling in hpsa_passthru_ioctl (Tomas Henzl) [1052272] - [scsi] hpsa: check for dma_mapping_error in hpsa_map_sg_chain_block (Tomas Henzl) [1052272] - [scsi] hpsa: Check for dma_mapping_error for all code paths using fill_cmd (Tomas Henzl) [1052272] - [scsi] hpsa: Check for dma_mapping_error in hpsa_map_one (Tomas Henzl) [1052272] - [scsi] bfa: Driver version upgrade to 3.2.23.0 (Chad Dupuis) [1054461] - [scsi] bfa: Fix smatch warnings (Chad Dupuis) [1054461] - [scsi] bfa: change FC_ELS_TOV to 20sec (Chad Dupuis) [1054461] - [scsi] bfa: Observed auto D-port mode instead of manual (Chad Dupuis) [1054461] - [scsi] bfa: Fix for bcu or hcm faa query hang (Chad Dupuis) [1054461] - [scsi] bfa: LUN discovery issue in direct attach mode (Chad Dupuis) [1054461] - [scsi] bfa: Register port with SCSI even on port init failure (Chad Dupuis) [1054461] - [scsi] bfa: Firmware patch simplification (Chad Dupuis) [1054461]- [scsi] Ensure medium access timeout counter resets (David Jeffery) [1036884] - [scsi] Fix error handling when no ULD is attached (David Jeffery) [1036884] - [scsi] Handle disk devices which can not process medium access commands (David Jeffery) [1036884] - [hv] vmbus: Negotiate version 3.0 when running on ws2012r2 hosts (Jason Wang) [1071723] - [hv] vmbus: Don't timeout during the initial connection with host (Jason Wang) [1071723] - [hv] vmbus: Specify the target CPU that should receive notification (Jason Wang) [1071723] - [hv] make "monitor_pages" a "real" pointer array (Jason Wang) [1071723] - [hv] vmbus: Fix a bug in channel rescind code (Jason Wang) [1071723] - [hv] Fix wrong check for synic_event_page (Jason Wang) [1071723] - [hv] vmbus: fix vmbus_recvpacket_raw() return code (Jason Wang) [1071723] - [hv] vmbus: Terminate vmbus version negotiation on timeout (Jason Wang) [1071723] - [hv] vmbus: Do not attempt to negoatiate a new version prematurely (Jason Wang) [1071723] - [hv] vmbus: Fix a bug in the handling of channel offers (Jason Wang) [1071723] - [x86] pci: Clean up and mark early_root_info_init() as deprecated (Myron Stowe) [1040440] - [x86] pci: Stop enabling ECS for AMD CPUs after Fam16h (Myron Stowe) [1040440] - [x86] pci: Work around AMD Fam15h BIOSes that fail to provide _PXM (Myron Stowe) [1040440] - [x86] pci: Warn if we have to "guess" host bridge node information (Myron Stowe) [1040440] - [x86] acpi: Use __weak, not the gcc-specific version (Myron Stowe) [1040440] - [x86] acpi: Make __acpi_map_pxm_to_node(), acpi_get_pxm() static (Myron Stowe) [1040440] - [x86] acpi: Simplify acpi_get_node() style (Myron Stowe) [1040440] - [x86] acpi: Fix acpi_get_node() prototype (Myron Stowe) [1040440] - [x86] pci: Remove acpi_get_pxm() usage (Myron Stowe) [1040440] - [x86] pci: Use NUMA_NO_NODE, not -1, for unknown node (Myron Stowe) [1040440] - [x86] pci: Remove unnecessary &pci_root_infos list_empty() check (Myron Stowe) [1040440] - [x86] pci: Remove mp_bus_to_node(), set_mp_bus_to_node(), get_mp_bus_to_node() (Myron Stowe) [1040440] - [x86] pci: Use x86_pci_root_bus_node() instead of get_mp_bus_to_node() (Myron Stowe) [1040440] - [x86] pci: Add x86_pci_root_bus_node() to look up NUMA node from PCI bus (Myron Stowe) [1040440] - [x86] pci: Drop return value of pcibios_scan_root() (Myron Stowe) [1040440] - [x86] pci: Merge pci_scan_bus_on_node() into pcibios_scan_root() (Myron Stowe) [1040440] - [x86] pci: Use pcibios_scan_root() instead of pci_scan_bus_on_node() (Myron Stowe) [1040440] - [x86] pci: Use pcibios_scan_root() instead of pci_scan_bus_with_sysdata() (Myron Stowe) [1040440] - [x86] pci: Drop pcibios_scan_root() check for bus already scanned (Myron Stowe) [1040440] - [x86] pci: Drop "__" prefix on __pci_enable_device_flags() (Myron Stowe) [1040440] - [x86] pci: Use "unsigned long" for __pci_enable_device_flags to match ioport.h (Myron Stowe) [1040440] - [x86] pci: Remove unused pci_root_bus (Myron Stowe) [1040440] - [x86] pci: put busn resource in pci_root_info for native host bridge drivers (Myron Stowe) [1040440] - [x86] pci: build amd_bus.o only when CONFIG_AMD_NB=y (Myron Stowe) [1040440] - [x86] pci: amd: factor out MMCONFIG discovery (Myron Stowe) [1040440] - [x86] pci: Kill misleading message about enablement of IO access to PCI ECS (Myron Stowe) [1040440] - [x86] Adjust section placement in AMD northbridge related code (Myron Stowe) [1040440] - [x86] Use PCI method for enabling AMD extended config space before MSR method (Myron Stowe) [1040440] - [x86] pnp: work around Dell 1536/1546 BIOS MMCONFIG bug that breaks USB (Myron Stowe) [1040440] - [fs] proc: Assure /proc/meminfo legacy backwards compatibility when adding new statistics (Rafael Aquini) [1032702] - [kvm] mmu: fix incorrect check of guest cr4 bits (Bandan Das) [1007164] - [kernel] Fix BUG() upon security_cred_alloc_blank() failure (Eric Paris) [717904]- [fs] nfs: Fix calls to drop_nlink() (Steve Dickson) [1093819] - [fs] xfs: fix directory readahead offset off-by-one (Eric Sandeen) [1093820] - [fs] btrfs: don't oops on mount failure due to unsupported features (Eric Sandeen) [889471] - [fs] gfs2: check NULL return value in gfs2_ok_to_move (Abhijith Das) [1060246] - [fs] gfs2: avoid locking while unfreezing fs (Benjamin Marzinski) [1056625] - [fs] nfsd: Change name of extended attribute containing junction (J. Bruce Fields) [1024034] - [fs] nfsd: Add a cache for fs_locations information (J. Bruce Fields) [1024034] - [fs] ext4: include journal blocks in df overhead calcs (Lukas Czerner) [1003476] - [fs] ext4: add mmp fs freeze protection (Eric Sandeen) [1012412] - [fs] ext4: MMP: kmmpd should use nodename from init_uts_ns.name, not sysname (Eric Sandeen) [1012412] - [fs] ext4: MMP: fix error message rate-limiting logic in kmmpd (Eric Sandeen) [1012412] - [fs] ext4: Fix comparison endianness problem in MMP initialization (Eric Sandeen) [1012412] - [fs] ext4: Fix endianness bug when reading the MMP block (Eric Sandeen) [1012412] - [fs] ext4: add support for multiple mount protection (Eric Sandeen) [1012412] - [block] mtip32xx: mtip_async_complete() bug fixes (David Milburn) [1059099] - [block] mtip32xx: Unmap the DMA segments before completing the IO request (David Milburn) [1059099] - [block] mtip32xx: Set queue bounce limit (David Milburn) [1059099] - [block] mtip32xx: Correctly handle security locked condition (David Milburn) [1059099] - [block] mtip32xx: Make SGL container per-command to eliminate high order dma allocation (David Milburn) [1059099] - [block] mtip32xx: Correctly handle bio->bi_idx != 0 conditions (David Milburn) [1059099] - [block] mtip32xx: Fix NULL pointer dereference during module unload (David Milburn) [1059099] - [block] mtip32xx: Add SRSI support (David Milburn) [980257] - [netdrv] forcedeth: run loopback test only on chipsets that support it (Ivan Vecera) [1030782] - [scsi] libfc: don't exch_done() on invalid sequence ptr (Mateusz Guzik) [1065162] - [security] selinux: fix selinuxfs policy file on big endian systems (Eric Paris) [739866] - [drm] nouveau: fix nasty bug which can clobber SOR0's clock setup (Ben Skeggs) [1095796] - [s390] crypto: fix aes, des ctr mode concurrency finding (Hendrik Brueckner) [1096328] - [s390] add support to start the kernel in 64 bit mode (Hendrik Brueckner) [1053826]- [i2c] i2c-ismt: support I2C_SMBUS_I2C_BLOCK_DATA transaction type (Neil Horman) [1030646] - [kernel] kthread_worker: reimplement flush_kthread_work() to allow freeing the work item being executed (David Milburn) [1091083] - [kernel] kthread_worker: reorganize to prepare for flush_kthread_work() reimplementation (David Milburn) [1091083] - [s390] cio: fix unlocked access of global bitmap (Hendrik Brueckner) [1094381] - [s390] css: stop stsch loop after cc 3 (Hendrik Brueckner) [1094381] - [x86] intel_pstate: Use del_timer_sync in intel_pstate_cpu_stop (Prarit Bhargava) [1038318] - [x86] intel_pstate: Set core to min P state during core offline (Prarit Bhargava) [1038318] - [x86] intel_pstate: fix pid_reset to use fixed point values (Prarit Bhargava) [1038318] - [x86] intel_pstate: remove unneeded sample buffers (Prarit Bhargava) [1038318] - [x86] intel_pstate: Change busy calculation to use fixed point math (Prarit Bhargava) [1038318] - [x86] intel_pstate: Add support for Baytrail turbo P states (Prarit Bhargava) [1038318] - [x86] intel_pstate: Use LFM bus ratio as min ratio/P state (Prarit Bhargava) [1038318] - [x86] intel_pstate: Remove energy reporting from pstate_sample tracepoint (Prarit Bhargava) [1038318] - [x86] intel_pstate: Take core C0 time into account for core busy calculation (Prarit Bhargava) [1038318] - [x86] intel_pstate: Add trace point to report internal state (Prarit Bhargava) [1038318] - [x86] intel_pstate: Add X86_FEATURE_APERFMPERF to cpu match parameters (Prarit Bhargava) [1038318] - [x86] intel_pstate: Fail initialization if P-state information is missing (Prarit Bhargava) [1038318] - [x86] intel_pstate: Remove periodic P state boost (Prarit Bhargava) [1038318] - [x86] intel_pstate: Add setting voltage value for baytrail P states (Prarit Bhargava) [1038318] - [x86] intel_pstate: skip the driver if ACPI has power mgmt option (Prarit Bhargava) [1038318] - [x86] intel_pstate: Add static decl